@code-yeongyu/senpi 2026.10.18-1 → 2026.10.19
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 +29 -0
- package/dist/bundle/chunks/{anthropic-messages-3CFTFCKV.js → anthropic-messages-EMTBHJMM.js} +2 -2
- package/dist/bundle/chunks/{args-SJWMIH2H.js → args-LWR7VFKS.js} +1 -1
- package/dist/bundle/chunks/{chunk-IRKZ6FVC.js → chunk-35M5MVUZ.js} +149 -145
- package/dist/bundle/chunks/chunk-3DNYAO3P.js +2 -0
- package/dist/bundle/chunks/{chunk-T2BEB5SO.js → chunk-7QPFFAJT.js} +1 -1
- package/dist/bundle/chunks/{chunk-4RUVN7K3.js → chunk-BOCN744P.js} +1 -1
- package/dist/bundle/chunks/{chunk-DDHBG2HU.js → chunk-FM7NDZR5.js} +1 -1
- package/dist/bundle/chunks/{chunk-OMY4EC25.js → chunk-FSENE7JK.js} +2 -2
- package/dist/bundle/chunks/{chunk-Z2LCTXS2.js → chunk-G7LLAQXI.js} +3 -3
- package/dist/bundle/chunks/{chunk-NRHOGI4Z.js → chunk-IM6ZWYTW.js} +2 -2
- package/dist/bundle/chunks/{chunk-MLKYJIUK.js → chunk-KM4FMQII.js} +1 -1
- package/dist/bundle/chunks/{chunk-OOWML2KE.js → chunk-PMGEQYEP.js} +2 -2
- package/dist/bundle/chunks/chunk-QGJLZ6BI.js +2 -0
- package/dist/bundle/chunks/{chunk-6EXDMO4S.js → chunk-QJ6MUFXY.js} +1 -1
- package/dist/bundle/chunks/{chunk-FZTO2ICI.js → chunk-QRGAMVEE.js} +1 -1
- package/dist/bundle/chunks/{chunk-3QVP3ZVI.js → chunk-QXEWAKXA.js} +1 -1
- package/dist/bundle/chunks/{chunk-UUMKAA7S.js → chunk-RL5QMGQD.js} +9 -9
- package/dist/bundle/chunks/chunk-T36LJ6MW.js +3 -0
- package/dist/bundle/chunks/{chunk-GAHIHXVE.js → chunk-VEKNDMUA.js} +1 -1
- package/dist/bundle/chunks/{chunk-TFXUF2IL.js → chunk-VPV7ADF3.js} +1 -1
- package/dist/bundle/chunks/{chunk-RELAITQ7.js → chunk-X6TWPBI6.js} +1 -1
- package/dist/bundle/chunks/{chunk-PKDWFVE4.js → chunk-YUMRZIKJ.js} +6 -6
- package/dist/bundle/chunks/chunk-ZPSJQHDK.js +395 -0
- package/dist/bundle/chunks/{cli-main-JCSB54VT.js → cli-main-EABMHWFV.js} +1 -1
- package/dist/bundle/chunks/{help-fast-path-FVPGRSYA.js → help-fast-path-BYWJN6YX.js} +1 -1
- package/dist/bundle/chunks/{host-command-X2ZZFTME.js → host-command-5T34JLBP.js} +1 -1
- package/dist/bundle/chunks/{host-lifecycle-OKWTQFUJ.js → host-lifecycle-GSRIQP6Z.js} +1 -1
- package/dist/bundle/chunks/host-lifecycle.js +1 -1
- package/dist/bundle/chunks/{host-session-command-HKJKOAVS.js → host-session-command-LF6JODPX.js} +1 -1
- package/dist/bundle/chunks/{interactive-mode-GJERAFGV.js → interactive-mode-GMWHBIUC.js} +1 -1
- package/dist/bundle/chunks/{list-tips-AWDAUHF2.js → list-tips-VSWED3PT.js} +1 -1
- package/dist/bundle/chunks/{multi-session-host-JWMGLKAG.js → multi-session-host-3J7STKGD.js} +4 -4
- package/dist/bundle/chunks/{openai-codex-responses-RLYFSLK6.js → openai-codex-responses-7YOBPZ2N.js} +1 -1
- package/dist/bundle/chunks/{openai-completions-OWNSXMTD.js → openai-completions-HSZPYXEA.js} +1 -1
- package/dist/bundle/chunks/{package-manager-cli-FSVS2ND2.js → package-manager-cli-LWQZSWKL.js} +1 -1
- package/dist/bundle/chunks/{rotation-stream-M6QV2MMB.js → rotation-stream-QRRWL73X.js} +1 -1
- package/dist/bundle/chunks/{rpc-mode-TPG3J3ZJ.js → rpc-mode-6LSWRKXR.js} +1 -1
- package/dist/bundle/chunks/{schedule-command-PAVLVMWL.js → schedule-command-7CXMW4WK.js} +1 -1
- package/dist/bundle/chunks/{session-control-endpoint-NSMRMKKK.js → session-control-endpoint-E265WAIQ.js} +1 -1
- package/dist/bundle/chunks/{session-picker-UV6IVWJY.js → session-picker-XRB3LP5W.js} +1 -1
- package/dist/bundle/chunks/session-worker.js +298 -293
- package/dist/bundle/cli.js +2 -2
- package/dist/bundle/index.js +1 -1
- package/dist/bundle/rpc-entry.js +1 -1
- package/dist/bundle/runtime-manifest.json +1 -1
- package/dist/core/agent-run-continuation.d.ts +24 -0
- package/dist/core/agent-run-continuation.js +57 -0
- package/dist/core/agent-session.d.ts +38 -1
- package/dist/core/agent-session.js +122 -13
- package/dist/core/extension-handler-stall-report.d.ts +11 -0
- package/dist/core/extension-handler-stall-report.js +26 -0
- package/dist/core/extensions/builtin/anthropic-subscription/account-command.js +1 -0
- package/dist/core/extensions/builtin/anthropic-subscription/affinity.d.ts +13 -1
- package/dist/core/extensions/builtin/anthropic-subscription/affinity.js +15 -4
- package/dist/core/extensions/builtin/anthropic-subscription/auth-lane.js +2 -0
- package/dist/core/extensions/builtin/anthropic-subscription/failover.d.ts +2 -0
- package/dist/core/extensions/builtin/anthropic-subscription/failover.js +3 -2
- package/dist/core/extensions/builtin/anthropic-subscription/guidance.d.ts +8 -0
- package/dist/core/extensions/builtin/anthropic-subscription/guidance.js +29 -0
- package/dist/core/extensions/builtin/anthropic-subscription/settings.d.ts +2 -0
- package/dist/core/extensions/builtin/anthropic-subscription/settings.js +4 -0
- package/dist/core/extensions/builtin/anthropic-subscription/stream-guidance.js +4 -2
- package/dist/core/extensions/handler-budget.d.ts +84 -0
- package/dist/core/extensions/handler-budget.js +136 -0
- package/dist/core/extensions/runner.d.ts +23 -0
- package/dist/core/extensions/runner.js +184 -99
- package/dist/core/footer-data-provider.js +2 -1
- package/dist/core/keybindings.d.ts +1 -1
- package/dist/core/keybindings.js +3 -2
- package/dist/core/pending-input-journal.d.ts +6 -1
- package/dist/core/pending-input-journal.js +90 -34
- package/dist/core/pending-input-public.d.ts +11 -0
- package/dist/core/pending-input-public.js +10 -0
- package/dist/core/pending-input-session-port.d.ts +15 -0
- package/dist/core/pending-input-session-port.js +93 -0
- package/dist/core/pending-input-session.d.ts +108 -0
- package/dist/core/pending-input-session.js +220 -0
- package/dist/core/pending-input-store.d.ts +32 -1
- package/dist/core/pending-input-store.js +74 -26
- package/dist/core/pending-input-types.d.ts +25 -4
- package/dist/core/pending-input.js +36 -18
- package/dist/core/session-entry-file.js +1 -0
- package/dist/core/session-log.js +1 -1
- package/dist/core/session-manager.d.ts +1 -0
- package/dist/core/session-manager.js +5 -1
- package/dist/core/session-move/bundle.d.ts +39 -0
- package/dist/core/session-move/bundle.js +108 -0
- package/dist/core/session-move/export.d.ts +18 -0
- package/dist/core/session-move/export.js +83 -0
- package/dist/core/session-move/finish.d.ts +24 -0
- package/dist/core/session-move/finish.js +81 -0
- package/dist/core/session-move/import.d.ts +32 -0
- package/dist/core/session-move/import.js +124 -0
- package/dist/core/session-move/move-ledger.d.ts +47 -0
- package/dist/core/session-move/move-ledger.js +151 -0
- package/dist/core/session-move/ownership.d.ts +61 -0
- package/dist/core/session-move/ownership.js +89 -0
- package/dist/core/session-move/requeue.d.ts +8 -0
- package/dist/core/session-move/requeue.js +18 -0
- package/dist/core/session-move/write-guard.d.ts +22 -0
- package/dist/core/session-move/write-guard.js +44 -0
- package/dist/core/settings-manager.d.ts +13 -0
- package/dist/core/settings-manager.js +17 -0
- package/dist/core/turn-deadline.d.ts +2 -0
- package/dist/core/turn-deadline.js +10 -3
- package/dist/modes/interactive/components/ask-user-async-widget.d.ts +7 -0
- package/dist/modes/interactive/components/ask-user-async-widget.js +20 -6
- package/dist/modes/rpc/connection-handler.js +3 -0
- package/dist/modes/rpc/effect-commands.js +3 -4
- package/dist/modes/rpc/host-observe-request.js +1 -0
- package/dist/modes/rpc/rpc-client.d.ts +10 -0
- package/dist/modes/rpc/rpc-client.js +11 -0
- package/dist/modes/rpc/rpc-input-validation.js +8 -0
- package/dist/modes/rpc/rpc-types.d.ts +25 -1
- package/dist/modes/rpc/session-command-activity.js +1 -0
- package/dist/modes/rpc/session-control-actions-data.js +17 -8
- package/dist/modes/rpc/session-held.js +1 -0
- package/dist/modes/rpc/session-release.js +16 -1
- package/dist/modes/rpc/tool-child/admission.d.ts +42 -0
- package/dist/modes/rpc/tool-child/admission.js +81 -0
- package/dist/modes/rpc/tool-child/admission.test.d.ts +2 -0
- package/dist/modes/rpc/tool-child/admission.test.js +166 -0
- package/dist/modes/rpc/tool-child/codec.d.ts +21 -0
- package/dist/modes/rpc/tool-child/codec.js +137 -0
- package/dist/modes/rpc/tool-child/codec.test.d.ts +2 -0
- package/dist/modes/rpc/tool-child/codec.test.js +234 -0
- package/dist/modes/rpc/tool-child/context.d.ts +42 -0
- package/dist/modes/rpc/tool-child/context.js +23 -0
- package/dist/modes/rpc/tool-child/flow-control.d.ts +24 -0
- package/dist/modes/rpc/tool-child/flow-control.js +80 -0
- package/dist/modes/rpc/tool-child/payload-ref-paths.d.ts +9 -0
- package/dist/modes/rpc/tool-child/payload-ref-paths.js +45 -0
- package/dist/modes/rpc/tool-child/payload-ref.d.ts +58 -0
- package/dist/modes/rpc/tool-child/payload-ref.js +166 -0
- package/dist/modes/rpc/tool-child/payload-ref.test.d.ts +2 -0
- package/dist/modes/rpc/tool-child/payload-ref.test.js +254 -0
- package/dist/modes/rpc/tool-child/payload-wire.d.ts +13 -0
- package/dist/modes/rpc/tool-child/payload-wire.js +22 -0
- package/dist/modes/rpc/tool-child/protocol-guard.d.ts +9 -0
- package/dist/modes/rpc/tool-child/protocol-guard.js +128 -0
- package/dist/modes/rpc/tool-child/protocol.d.ts +192 -0
- package/dist/modes/rpc/tool-child/protocol.js +54 -0
- package/dist/utils/wsl.d.ts +2 -2
- package/dist/utils/wsl.js +4 -4
- package/docs/providers.md +2 -0
- package/docs/rpc.md +16 -2
- package/docs/settings.md +1 -0
- package/docs/terminal-setup.md +2 -0
- package/package.json +10 -6
- package/dist/bundle/chunks/chunk-COJK5FDH.js +0 -2
- package/dist/bundle/chunks/chunk-IDXW4FAO.js +0 -2
- package/dist/bundle/chunks/chunk-PFNBY43W.js +0 -2
- package/dist/bundle/chunks/chunk-QBD4LY7D.js +0 -395
|
@@ -1,395 +0,0 @@
|
|
|
1
|
-
import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url); { const __piWorkerThreads = require("node:worker_threads"); if (typeof __piWorkerThreads.markAsUncloneable !== "function") { __piWorkerThreads.markAsUncloneable = () => {}; } }
|
|
2
|
-
import{DEFAULT_SUMMARIZATION_IDLE_TIMEOUT_MS,RPC_ERROR_CONTEXT_BUDGET,RPC_ERROR_EFFECT_ID_CONFLICT,RPC_ERROR_INVALID_ARGUMENT,RPC_ERROR_MODEL_NOT_FOUND,RPC_ERROR_PROVIDER_UNAVAILABLE,RPC_ERROR_TRANSCRIPT_UNREADABLE,SUMMARIZATION_MAX_DURATION_PER_TOKEN_MS,SUMMARIZATION_TOTAL_BUDGET_MS,clientMessageIdentity,clientMessageIdentitySchema,consumeStreamWithIdleTimeout,isAbortGraceInRange,readClientMessageIdentity,summarizationMaxDurationMs}from"./chunk-MF57DS3V.js";import{KIMI_CODE_RETRY_PROFILE,getLanguageFromPath,highlightCode,watchWithErrorHandler}from"./chunk-FZTO2ICI.js";import{buildSessionProjection,convertToLlm,createBranchSummaryMessage,createCompactionSummaryMessage,createCustomMessage,inheritSessionContextEntryId,isContextExcludedCustomMessage,sessionEntryToContextMessages}from"./chunk-PKDWFVE4.js";import{ProjectTrustStore}from"./chunk-OJPUDLM2.js";import{Box,Container,Spacer,Text}from"./chunk-UUMKAA7S.js";import{parseOpenAIImageOutputOptions,parseOpenAIImageSize}from"./chunk-HB35RBP4.js";import{external_exports}from"./chunk-KUPQO7MC.js";import{AssistantMessageFrameEncoder,CURSOR_MODEL_CAPABILITIES,StringEnum,TOOL_RESULT_PLACEHOLDER,clearApiProviders,composeShellCommand,copyCursorExecResolved,create,createFauxCore,createXtmlRecoveryStreamParser,cursorOverflowCompactionSettings,deriveCursorVariantAliases,dropFailedAssistantTurns,envApiKeyAuth,fauxAssistantMessage,fauxOverflowError,fauxProvider,fauxText,fauxThinking,fauxToolCall,fileDesc,fromBinary,getApiProvider,getApiProviders,getCursorBaseIdForVariant,getCursorCapabilityForBase,getCursorVariantAlias,getOverflowPatterns,getProtocol,getRegisteredFauxProvider,getToolCallFormat,hasKimiTextToolCallRecovery,hasVisibleAssistantContent,hasVisibleText,isClassifierRefusal,isContextOverflow,isCursorExecResolved,isCursorPayloadResourceExhausted,isCursorQuotaResourceExhausted,isCursorZeroTokenResourceExhausted,isRecoverableLength,kCursorExecResolved,lazyOAuth,measureCursorHistorySerializedBytes,measureCursorModelInputSerializedBytes,messageDesc,modelSupportsAssistantPrefill,normalizeCursorCatalog,omitUndefinedArgs,parseCursorVariantId,parseEndpointReasoningEfforts,piLimit,piLsPath,piReadArgs,piTimeout,reduceAssistantMessageFrames,registerApiProvider,registerBuiltinApiProvider,registerPromptCacheWarmer,renderCursorCliModelString,repairOrphanedToolResults,resolveCursorSelectionDescriptor,shouldRecoverTextToolCalls,shouldRetryOverflowWithoutCompact,shouldSkipProviderFallbackForCursorZeroRe,toBinary,transformContext,unregisterApiProviders,validateToolArguments,validateToolCall,warmPromptCache,wrapStreamWithInvokeRecovery,wrapStreamWithModelRecovery,wrapStreamWithToolCallMiddleware}from"./chunk-OOWML2KE.js";import{extractChatGptSubscriptionAccountId,getWireIdentity,setWireIdentity,uuidv7}from"./chunk-2VZJTDUX.js";import{supportsAllowedToolChoice}from"./chunk-COH5F7QV.js";import{hasCredentialHeaders,hasHeader,isCredentialHeaderName}from"./chunk-RFB5CBW7.js";import{CONTEXT_PROVENANCE_FIELD,contextProvenanceFingerprint,convertResponsesMessages,copyContextProvenance,getContextProvenance,isOpenAIResponsesPromptCacheModel}from"./chunk-AUZXSLZN.js";import{realpathWithoutOpenStrict}from"./chunk-G3ZEPNGM.js";import{typebox_exports}from"./chunk-RBCQOIAD.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,BILLING_INCOMPLETE_DIAGNOSTIC,SERVER_FALLBACK_ABORTED_DIAGNOSTIC,apiKeyEnvProviders,applyServerFallbackAbort,applyServerFallbackContinuation,findEnvKeys,getApiKeyEnvVars,getEnvApiKey,parseServerFallbackReceipt,parseStickyFallbackReceipt,providerCredentialEnvNames,sanitizeAnthropicToolPairs,serverFallbackRefusalExplanation}from"./chunk-COJK5FDH.js";import{cleanupSessionResources,processSingleton,registerSessionResourceCleanup}from"./chunk-WHPDEDCC.js";import{normalizeToolParametersForOpenAICompat}from"./chunk-RUGYFYH7.js";import{PROMPT_CACHE_TTL_LONG_SECONDS,PROMPT_CACHE_TTL_OPENAI_EXTENDED_SECONDS,PROMPT_CACHE_TTL_SHORT_SECONDS,isAnthropicApiBaseUrl,resolvePromptCacheLifetime,resolvePromptCacheTtlSeconds}from"./chunk-PFNBY43W.js";import{GITHUB_COPILOT_REJECTED_TOKEN_STATUSES}from"./chunk-KRNXUTZJ.js";import{PROVIDER_DIAGNOSTIC_MAX_BYTES,readProviderDiagnostic,sanitizeProviderDiagnostic}from"./chunk-UAQW2T7G.js";import{getProviderEnvValue}from"./chunk-5ROMKDLK.js";import{parseJsonWithRepair,parseStreamingJson,repairJson}from"./chunk-3W47LTXQ.js";import{estimateContextTokens,isVideoMimeType}from"./chunk-WQLMQGOW.js";import{ACCOUNT_LIMIT_NEXT_STEP_LEAD,ANTHROPIC_THIRD_PARTY_BILLING_MARKER,DEFAULT_MAX_AGENT_RETRY_DELAY_MS,EMPTY_RESPONSE_ERROR,EMPTY_TOOL_USE_ERROR,FORWARDED_EMPTY_RESPONSE_ERROR,FORWARDED_EMPTY_TOOL_USE_ERROR,InMemoryCredentialStore,InMemoryModelsStore,LEGACY_PROVIDER_IDS,ModelsError,OAUTH_REFRESH_UNAVAILABLE_DIAGNOSTIC,OAuthTokenEndpointError,PROVIDER_NOT_CONFIGURED_PREFIX,PROVIDER_REQUEST_ID_MARKER,TURN_RETRY_SUPPRESSION_PREFIX,USAGE_LIMIT_EXHAUSTION,calculateCost,clampThinkingLevel,classifyErrorMessage,collapseSystemMessages,contentText,costCardAt,createInitialSystemMessage,createModels,createProvider,declarationsEqual,defaultProviderAuthContext,describeProviderFailureForUser,describeProviderStallForUser,describeReplacedInstall,flattenChatModelCatalog,flattenClassifierModelCatalog,flattenImageModelCatalog,formatProviderRequestId,formatStallDuration,getCurrentSystemMessage,getCurrentSystemPrompt,getCurrentTools,getDeclaredTools,getInitialSystemMessage,getModelType,getSupportedThinkingLevels,getSystemMessageText,getToolStateChanges,hasApi,hasNonAdditiveToolChanges,hasToolRedefinitions,inferOpenAIThinkingLevelMap,inferThinkingLevelMap,isAnthropicThirdPartyBillingMessage,isLegacyProviderId,isModelType,isProviderStreamStallError,isProviderTimeoutError,isQuotaExhaustionMessage,isRetryableAssistantError,isRetryableErrorMessage,lazyApi,lazyStream,legacyProviderIdRejection,legacyProviderIdsFor,modelsAreEqual,normalizeContext,normalizeModelRef,normalizeProviderId,providerNotConfiguredMessage,readByProviderId,renderSystemMessageUpdate,resolveTranscript,resolveTranscriptTools,retryAssistantCall,retryDelayMs,retryTransientCall,stripProviderRequestIds,stripTurnRetrySuppressionPrefix,supportsConfigurationUpdate,supportsMax,supportsXhigh,toToolDeclaration,withoutInitialSystemMessage}from"./chunk-LAWS3FYQ.js";import{AssistantMessageEventStream,EventStream,appendAssistantMessageDiagnostic,createAssistantMessageDiagnostic,createAssistantMessageEventStream,extractDiagnosticError,formatThrownValue}from"./chunk-DMI55M2N.js";import{__export}from"./chunk-IKOFCODM.js";var DEFAULT_IDEAL_COMPACTION_SETTINGS={graceBandEnabled:!0,toolAdmissionEnabled:!0,reminderEnabled:!0,reserveScalingEnabled:!0};var DEFAULT_COMPACTION_SETTINGS={enabled:!0,reserveTokens:16384,keepRecentTokens:2e4,speculativeEnabled:!0,speculativeFraction:.75,speculativeCooldownMs:3e4,restorationEnabled:!0,restorationMaxItems:10,restorationMaxTokensPerItem:5e3,restorationMaxTotalTokens:5e4,restorationContextRatio:.15,idleCompactionEnabled:!0,...DEFAULT_IDEAL_COMPACTION_SETTINGS};import{realpath}from"node:fs/promises";import{resolve}from"node:path";var RESOLUTION_TIMED_OUT=Symbol("resolution-timed-out");function isMissingPathError(error){return typeof error=="object"&&error!==null&&"code"in error&&(error.code==="ENOENT"||error.code==="ENOTDIR")}async function withResolutionDeadline(operation,timeoutMs=2e3){operation.catch(()=>{});let timer,deadline=new Promise(resolveDeadline=>{timer=setTimeout(()=>resolveDeadline(RESOLUTION_TIMED_OUT),timeoutMs),timer.unref?.()});try{return await Promise.race([operation,deadline])}finally{timer&&clearTimeout(timer)}}function foldPathForCaseInsensitiveFilesystem(filePath){return process.platform==="linux"?filePath:filePath.normalize("NFC").toLowerCase()}var fileMutationQueues=new Map,registrationQueue=Promise.resolve();async function getMutationQueueKey(filePath){let resolvedPath=resolve(filePath),canonicalPath=await withResolutionDeadline(realpath(resolvedPath)).catch(error=>{if(isMissingPathError(error))return resolvedPath;throw error}),identity=canonicalPath===RESOLUTION_TIMED_OUT?realpathWithoutOpenStrict(resolvedPath):canonicalPath;return foldPathForCaseInsensitiveFilesystem(identity)}async function withFileMutationQueue(filePath,fn){let registration=registrationQueue.then(async()=>{let key2=await getMutationQueueKey(filePath),currentQueue2=fileMutationQueues.get(key2)??Promise.resolve(),releaseNext2,nextQueue=new Promise(resolveQueue=>{releaseNext2=resolveQueue}),chainedQueue2=currentQueue2.then(()=>nextQueue);return fileMutationQueues.set(key2,chainedQueue2),{key:key2,currentQueue:currentQueue2,chainedQueue:chainedQueue2,releaseNext:releaseNext2}});registrationQueue=registration.then(()=>{},()=>{});let{key,currentQueue,chainedQueue,releaseNext}=await registration;await currentQueue;try{return await fn()}finally{releaseNext(),fileMutationQueues.get(key)===chainedQueue&&fileMutationQueues.delete(key)}}var SESSION_CONTROL_DELIVERY_TYPE="session_control_delivery";function sessionControlSenderOf(details){if(!isSessionControlDeliveryDetails(details)||typeof details.sender!="object"||details.sender===null)return;let sender={...details.sender},optional=key=>typeof sender[key]=="string"?{[key]:sender[key]}:{};if(sender.kind==="agent"&&typeof sender.session_id=="string")return{kind:"agent",session_id:sender.session_id,...optional("name")};if(sender.kind==="command_line")return{kind:"command_line",...optional("user")};if(sender.kind==="external"&&typeof sender.platform=="string")return{kind:"external",platform:sender.platform,...optional("author")}}function isSessionControlDeliveryDetails(value){return typeof value!="object"||value===null||!("delivery_id"in value)||typeof value.delivery_id!="string"||!("source"in value)||value.source!=="session_control"?!1:"deliverAs"in value&&(value.deliverAs==="steer"||value.deliverAs==="followUp")}function normalizeToolExposure(definition){let exposure=toForkToolExposure(definition.exposure);return{exposure,searchText:exposure==="search"?definition.searchText:void 0,searchKeywords:definition.searchKeywords??[],searchGroup:definition.searchGroup,allowLazyActivation:definition.allowLazyActivation!==!1}}function toForkToolExposure(exposure){switch(exposure){case"search":case"deferred":return"search";case"eval":case"codemode":return"eval";case"model-only":case"hidden":return exposure;case"direct":case void 0:return"direct"}}function defineTool(tool){return tool}function isBashToolResult(e){return e.toolName==="bash"}function isPowerShellToolResult(e){return e.toolName==="powershell"}function isReadToolResult(e){return e.toolName==="read"}function isEditToolResult(e){return e.toolName==="edit"}function isWriteToolResult(e){return e.toolName==="write"}function isGrepToolResult(e){return e.toolName==="grep"}function isFindToolResult(e){return e.toolName==="find"}function isLsToolResult(e){return e.toolName==="ls"}function isToolCallEventType(toolName,event){return event.toolName===toolName}var EMPTY_SESSION_CONTEXT=Object.freeze({}),DEFAULT_EXTENSION_SESSION_PROFILE=Object.freeze({sessionKind:"interactive",sessionContext:EMPTY_SESSION_CONTEXT}),ExecuteToolError=class extends Error{constructor(code,toolName,message,activeTools){super(message),this.name="ExecuteToolError",this.code=code,this.toolName=toolName,this.activeTools=activeTools}},RUNTIME_EXTENSION_PATH="<runtime>";import{mkdir,rename,rm,unlink,writeFile}from"node:fs/promises";import path3 from"node:path";function normalizePatchText(patchText){return patchText.replace(/\r\n/g,`
|
|
3
|
-
`).replace(/\r/g,`
|
|
4
|
-
`)}function stripHeredoc(input){let heredocMatch=input.match(/^(?:cat\s+)?<<['"]?(\w+)['"]?\s*\n([\s\S]*?)\n\1\s*$/);return heredocMatch?heredocMatch[2]??input:input}var FILE_HEADER_MARKERS=[["add","*** Add File: "],["delete","*** Delete File: "],["update","*** Update File: "]],MOVE_TO_MARKER="*** Move to: ";function parseFileHeader(line){let trimmed=line.trim();for(let[kind,marker]of FILE_HEADER_MARKERS)if(trimmed.startsWith(marker))return{kind,path:trimmed.slice(marker.length)}}function parseMoveTo(line){let trimmed=line.trimEnd();return trimmed.startsWith(MOVE_TO_MARKER)?trimmed.slice(MOVE_TO_MARKER.length):void 0}function extractPatchedPaths(patchText){return stripHeredoc(normalizePatchText(patchText)).split(`
|
|
5
|
-
`).flatMap(line=>{let path4=parseFileHeader(line)?.path??parseMoveTo(line.trimStart());return path4===void 0?[]:[path4]})}var BEGIN_PATCH_MARKER="*** Begin Patch",END_PATCH_MARKER="*** End Patch",EOF_MARKER="*** End of File";function parseAddHunk(lines,filePath,index,endIndex){let contentLines=[],nextIndex=index+1;for(;nextIndex<endIndex;){let nextLine=lines[nextIndex]??"";if(nextLine.trim().startsWith("*** "))break;if(!nextLine.startsWith("+"))throw new Error("Invalid patch format: Add File lines must start with '+'");contentLines.push(nextLine.slice(1)),nextIndex++}let content=contentLines.length===0?"":`${contentLines.join(`
|
|
6
|
-
`)}
|
|
7
|
-
`;return[{type:"add",filePath,content},nextIndex]}function collectChangeContexts(lines,index,endIndex){let changeContexts=[],nextIndex=index;for(;nextIndex<endIndex;){let contextLine=lines[nextIndex]??"";if(contextLine==="@@"){nextIndex++;continue}if(contextLine.startsWith("@@ ")){changeContexts.push(contextLine.slice(3)),nextIndex++;continue}break}return[changeContexts,nextIndex]}function parseChunkLines(lines,index,endIndex){let oldLines=[],newLines=[],addedCount=0,removedCount=0,contextLineIndices=[],isEndOfFile=!1,parsedLines=0,nextIndex=index;for(;nextIndex<endIndex;){let hunkLine=lines[nextIndex]??"";if(hunkLine===EOF_MARKER){if(parsedLines===0)throw new Error("Update hunk does not contain any lines");isEndOfFile=!0,nextIndex++;break}if(hunkLine.startsWith("@@")||hunkLine.startsWith("*** "))break;let prefix=hunkLine[0],value=hunkLine.slice(1);if(prefix===void 0)contextLineIndices.push([oldLines.length,newLines.length]),oldLines.push(""),newLines.push("");else if(prefix===" ")contextLineIndices.push([oldLines.length,newLines.length]),oldLines.push(value),newLines.push(value);else if(prefix==="-")oldLines.push(value),removedCount++;else if(prefix==="+")newLines.push(value),addedCount++;else{if(parsedLines>0)break;throw new Error(`Unexpected line found in update hunk: '${hunkLine}'. Every line should start with ' ' (context line), '+' (added line), or '-' (removed line)`)}parsedLines++,nextIndex++}if(parsedLines===0)throw new Error("Update hunk does not contain any lines");return[{oldLines,newLines,contextLineIndices,isEndOfFile,addedCount,removedCount},nextIndex]}function parseUpdateHunk(lines,filePath,index,endIndex){let nextIndex=index+1,movePath=parseMoveTo(lines[nextIndex]??"");movePath!==void 0&&nextIndex++;let chunks=[];for(;nextIndex<endIndex;){let nextLine=lines[nextIndex]??"";if(nextLine.trim()===""){nextIndex++;continue}if(nextLine.startsWith("*** "))break;if(!nextLine.startsWith("@@")&&chunks.length>0)throw new Error(`Expected update hunk to start with a @@ context marker, got: '${nextLine}'`);let contextResult=nextLine.startsWith("@@")?collectChangeContexts(lines,nextIndex,endIndex):[[],nextIndex],[changeContexts,afterContexts]=contextResult,[chunk,afterChunk]=parseChunkLines(lines,afterContexts,endIndex);chunks.push({changeContexts,...chunk}),nextIndex=afterChunk}if(chunks.length===0&&!movePath)throw new Error(`Update file hunk for path '${filePath}' is empty`);return[{type:"update",filePath,movePath,chunks},nextIndex]}function parsePatch(patchText){let lines=stripHeredoc(normalizePatchText(patchText).trim()).trim().split(`
|
|
8
|
-
`),endIndex=lines[lines.length-1]?.trim()===END_PATCH_MARKER?lines.length-1:-1;if(lines[0]?.trim()!==BEGIN_PATCH_MARKER||endIndex<0)throw new Error("Invalid patch format: expected *** Begin Patch ... *** End Patch envelope");let hunks=[],index=1;for(;index<endIndex;){let line=(lines[index]??"").trim();if(line===""){index++;continue}let header=parseFileHeader(line);if(header?.kind==="add"){let[hunk,nextIndex]=parseAddHunk(lines,header.path,index,endIndex);hunks.push(hunk),index=nextIndex;continue}if(header?.kind==="delete"){hunks.push({type:"delete",filePath:header.path}),index++;continue}if(header?.kind==="update"){let[hunk,nextIndex]=parseUpdateHunk(lines,header.path,index,endIndex);hunks.push(hunk),index=nextIndex;continue}throw new Error(`'${line}' is not a valid hunk header. Valid hunk headers: '*** Add File: {path}', '*** Delete File: {path}', '*** Update File: {path}'`)}return hunks}function replacementsAroundContext(start,oldLength,newLines,contextLineIndices){let replacements=[],oldStart=0,newStart=0;for(let[oldContext,newContext]of contextLineIndices){if(oldContext>=oldLength||newContext>=newLines.length)break;(oldStart!==oldContext||newStart!==newContext)&&replacements.push({start:start+oldStart,oldLength:oldContext-oldStart,newLines:newLines.slice(newStart,newContext)}),oldStart=oldContext+1,newStart=newContext+1}return(oldStart!==oldLength||newStart!==newLines.length)&&replacements.push({start:start+oldStart,oldLength:oldLength-oldStart,newLines:newLines.slice(newStart)}),replacements}var SourceText=class _SourceText{constructor(lines,preferredEnding){this.lines=lines,this.preferredEnding=preferredEnding}static parse(content){let lines=[],preferredEnding,lineStart=0;for(let cursor=0;cursor<content.length;cursor++){let character=content[cursor];if(character!==`
|
|
9
|
-
`&&character!=="\r")continue;let ending=character==="\r"&&content[cursor+1]===`
|
|
10
|
-
`?`\r
|
|
11
|
-
`:character;preferredEnding??=ending,lines.push({text:content.slice(lineStart,cursor),ending}),cursor+=ending.length-1,lineStart=cursor+1}return lineStart<content.length&&lines.push({text:content.slice(lineStart),ending:void 0}),new _SourceText(lines,preferredEnding??`
|
|
12
|
-
`)}get texts(){return this.lines.map(line=>line.text)}replace(replacements){let next=[],sourceIndex=0;for(let{start,oldLength,newLines}of[...replacements].sort((left,right)=>left.start-right.start))next.push(...this.lines.slice(sourceIndex,start)),next.push(...newLines.map(text=>({text,ending:this.preferredEnding}))),sourceIndex=start+oldLength;return next.push(...this.lines.slice(sourceIndex)),next.map(line=>line.text+(line.ending??this.preferredEnding)).join("")}};function normalizeSeekLine(line){return line.trim().replace(/[‐‑‒–—―−]/g,"-").replace(/[‘’‚‛]/g,"'").replace(/[“”„‟]/g,'"').replace(/[\u00A0\u2002-\u200A\u202F\u205F\u3000]/g," ")}function seekSequenceWithFuzz(lines,pattern,start,eof){if(pattern.length===0)return{index:start,fuzz:0};if(pattern.length>lines.length)return;let searchStart=eof&&lines.length>=pattern.length?lines.length-pattern.length:start,lastStart=lines.length-pattern.length,matches=(index,compare)=>{for(let patternIndex=0;patternIndex<pattern.length;patternIndex++){let line=lines[index+patternIndex],expected=pattern[patternIndex];if(line===void 0||expected===void 0||!compare(line,expected))return!1}return!0};for(let index=searchStart;index<=lastStart;index++)if(matches(index,(line,expected)=>line===expected))return{index,fuzz:0};for(let index=searchStart;index<=lastStart;index++)if(matches(index,(line,expected)=>line.trimEnd()===expected.trimEnd()))return{index,fuzz:1};for(let index=searchStart;index<=lastStart;index++)if(matches(index,(line,expected)=>line.trim()===expected.trim()))return{index,fuzz:100};for(let index=searchStart;index<=lastStart;index++)if(matches(index,(line,expected)=>normalizeSeekLine(line)===normalizeSeekLine(expected)))return{index,fuzz:1e4}}function replaceChunks(content,filePath,chunks){let source=SourceText.parse(content),originalLines=source.texts,replacements=[],lineIndex=0,fuzz=0;for(let chunk of chunks){for(let changeContext of chunk.changeContexts){let contextIndex=seekSequenceWithFuzz(originalLines,[changeContext],lineIndex,!1);if(contextIndex===void 0)throw new Error(`Failed to find context '${changeContext}' in ${filePath}`);fuzz+=contextIndex.fuzz,lineIndex=contextIndex.index+1}if(chunk.oldLines.length===0){let insertionIndex=originalLines[originalLines.length-1]===""?originalLines.length-1:originalLines.length;replacements.push({start:insertionIndex,oldLength:0,newLines:chunk.newLines});continue}let pattern=chunk.oldLines,newLines=chunk.newLines,foundAt=seekSequenceWithFuzz(originalLines,pattern,lineIndex,chunk.isEndOfFile);if(foundAt===void 0&&pattern[pattern.length-1]===""&&(pattern=pattern.slice(0,-1),newLines[newLines.length-1]===""&&(newLines=newLines.slice(0,-1)),foundAt=seekSequenceWithFuzz(originalLines,pattern,lineIndex,chunk.isEndOfFile)),foundAt===void 0)throw new Error(`Failed to find expected lines in ${filePath}:
|
|
13
|
-
${chunk.oldLines.join(`
|
|
14
|
-
`)}`);fuzz+=foundAt.fuzz,replacements.push(...replacementsAroundContext(foundAt.index,pattern.length,newLines,chunk.contextLineIndices)),lineIndex=foundAt.index+pattern.length}return{content:source.replace(replacements),fuzz}}import{readFile}from"node:fs/promises";var Diff=class{diff(oldStr,newStr,options={}){let callback;typeof options=="function"?(callback=options,options={}):"callback"in options&&(callback=options.callback);let oldString=this.castInput(oldStr,options),newString=this.castInput(newStr,options),oldTokens=this.removeEmpty(this.tokenize(oldString,options)),newTokens=this.removeEmpty(this.tokenize(newString,options));return this.diffWithOptionsObj(oldTokens,newTokens,options,callback)}diffWithOptionsObj(oldTokens,newTokens,options,callback){var _a;let done=value=>{if(value=this.postProcess(value,options),callback){setTimeout(function(){callback(value)},0);return}else return value},newLen=newTokens.length,oldLen=oldTokens.length,editLength=1,maxEditLength=newLen+oldLen;options.maxEditLength!=null&&(maxEditLength=Math.min(maxEditLength,options.maxEditLength));let maxExecutionTime=(_a=options.timeout)!==null&&_a!==void 0?_a:1/0,abortAfterTimestamp=Date.now()+maxExecutionTime,bestPath=[{oldPos:-1,lastComponent:void 0}],newPos=this.extractCommon(bestPath[0],newTokens,oldTokens,0,options);if(bestPath[0].oldPos+1>=oldLen&&newPos+1>=newLen)return done(this.buildValues(bestPath[0].lastComponent,newTokens,oldTokens));let minDiagonalToConsider=-1/0,maxDiagonalToConsider=1/0,execEditLength=()=>{for(let diagonalPath=Math.max(minDiagonalToConsider,-editLength);diagonalPath<=Math.min(maxDiagonalToConsider,editLength);diagonalPath+=2){let basePath,removePath=bestPath[diagonalPath-1],addPath=bestPath[diagonalPath+1];removePath&&(bestPath[diagonalPath-1]=void 0);let canAdd=!1;if(addPath){let addPathNewPos=addPath.oldPos-diagonalPath;canAdd=addPath&&0<=addPathNewPos&&addPathNewPos<newLen}let canRemove=removePath&&removePath.oldPos+1<oldLen;if(!canAdd&&!canRemove){bestPath[diagonalPath]=void 0;continue}if(!canRemove||canAdd&&removePath.oldPos<addPath.oldPos?basePath=this.addToPath(addPath,!0,!1,0,options):basePath=this.addToPath(removePath,!1,!0,1,options),newPos=this.extractCommon(basePath,newTokens,oldTokens,diagonalPath,options),basePath.oldPos+1>=oldLen&&newPos+1>=newLen)return done(this.buildValues(basePath.lastComponent,newTokens,oldTokens))||!0;bestPath[diagonalPath]=basePath,basePath.oldPos+1>=oldLen&&(maxDiagonalToConsider=Math.min(maxDiagonalToConsider,diagonalPath-1)),newPos+1>=newLen&&(minDiagonalToConsider=Math.max(minDiagonalToConsider,diagonalPath+1))}editLength++};if(callback)(function exec(){setTimeout(function(){if(editLength>maxEditLength||Date.now()>abortAfterTimestamp)return callback(void 0);execEditLength()||exec()},0)})();else for(;editLength<=maxEditLength&&Date.now()<=abortAfterTimestamp;){let ret=execEditLength();if(ret)return ret}}addToPath(path4,added,removed,oldPosInc,options){let last=path4.lastComponent;return last&&!options.oneChangePerToken&&last.added===added&&last.removed===removed?{oldPos:path4.oldPos+oldPosInc,lastComponent:{count:last.count+1,added,removed,previousComponent:last.previousComponent}}:{oldPos:path4.oldPos+oldPosInc,lastComponent:{count:1,added,removed,previousComponent:last}}}extractCommon(basePath,newTokens,oldTokens,diagonalPath,options){let newLen=newTokens.length,oldLen=oldTokens.length,oldPos=basePath.oldPos,newPos=oldPos-diagonalPath,commonCount=0;for(;newPos+1<newLen&&oldPos+1<oldLen&&this.equals(oldTokens[oldPos+1],newTokens[newPos+1],options);)newPos++,oldPos++,commonCount++,options.oneChangePerToken&&(basePath.lastComponent={count:1,previousComponent:basePath.lastComponent,added:!1,removed:!1});return commonCount&&!options.oneChangePerToken&&(basePath.lastComponent={count:commonCount,previousComponent:basePath.lastComponent,added:!1,removed:!1}),basePath.oldPos=oldPos,newPos}equals(left,right,options){return options.comparator?options.comparator(left,right):left===right||!!options.ignoreCase&&left.toLowerCase()===right.toLowerCase()}removeEmpty(array){let ret=[];for(let i=0;i<array.length;i++)array[i]&&ret.push(array[i]);return ret}castInput(value,options){return value}tokenize(value,options){return Array.from(value)}join(chars){return chars.join("")}postProcess(changeObjects,options){return changeObjects}get useLongestToken(){return!1}buildValues(lastComponent,newTokens,oldTokens){let components=[],nextComponent;for(;lastComponent;)components.push(lastComponent),nextComponent=lastComponent.previousComponent,delete lastComponent.previousComponent,lastComponent=nextComponent;components.reverse();let componentLen=components.length,componentPos=0,newPos=0,oldPos=0;for(;componentPos<componentLen;componentPos++){let component=components[componentPos];if(component.removed)component.value=this.join(oldTokens.slice(oldPos,oldPos+component.count)),oldPos+=component.count;else{if(!component.added&&this.useLongestToken){let value=newTokens.slice(newPos,newPos+component.count);value=value.map(function(value2,i){let oldValue=oldTokens[oldPos+i];return oldValue.length>value2.length?oldValue:value2}),component.value=this.join(value)}else component.value=this.join(newTokens.slice(newPos,newPos+component.count));newPos+=component.count,component.added||(oldPos+=component.count)}}return components}};function longestCommonPrefix(str1,str2){let i;for(i=0;i<str1.length&&i<str2.length;i++)if(str1[i]!=str2[i])return str1.slice(0,i);return str1.slice(0,i)}function longestCommonSuffix(str1,str2){let i;if(!str1||!str2||str1[str1.length-1]!=str2[str2.length-1])return"";for(i=0;i<str1.length&&i<str2.length;i++)if(str1[str1.length-(i+1)]!=str2[str2.length-(i+1)])return str1.slice(-i);return str1.slice(-i)}function replacePrefix(string,oldPrefix,newPrefix){if(string.slice(0,oldPrefix.length)!=oldPrefix)throw Error(`string ${JSON.stringify(string)} doesn't start with prefix ${JSON.stringify(oldPrefix)}; this is a bug`);return newPrefix+string.slice(oldPrefix.length)}function replaceSuffix(string,oldSuffix,newSuffix){if(!oldSuffix)return string+newSuffix;if(string.slice(-oldSuffix.length)!=oldSuffix)throw Error(`string ${JSON.stringify(string)} doesn't end with suffix ${JSON.stringify(oldSuffix)}; this is a bug`);return string.slice(0,-oldSuffix.length)+newSuffix}function removePrefix(string,oldPrefix){return replacePrefix(string,oldPrefix,"")}function removeSuffix(string,oldSuffix){return replaceSuffix(string,oldSuffix,"")}function maximumOverlap(string1,string2){return string2.slice(0,overlapCount(string1,string2))}function overlapCount(a,b){let startA=0;a.length>b.length&&(startA=a.length-b.length);let endB=b.length;a.length<b.length&&(endB=a.length);let map=Array(endB),k=0;map[0]=0;for(let j=1;j<endB;j++){for(b[j]==b[k]?map[j]=map[k]:map[j]=k;k>0&&b[j]!=b[k];)k=map[k];b[j]==b[k]&&k++}k=0;for(let i=startA;i<a.length;i++){for(;k>0&&a[i]!=b[k];)k=map[k];a[i]==b[k]&&k++}return k}function segment(string,segmenter){let parts=[];for(let segmentObj of Array.from(segmenter.segment(string))){let segment2=segmentObj.segment;parts.length&&/\s/.test(parts[parts.length-1])&&/\s/.test(segment2)?parts[parts.length-1]+=segment2:parts.push(segment2)}return parts}function trailingWs(string,segmenter){if(segmenter)return leadingAndTrailingWs(string,segmenter)[1];let i;for(i=string.length-1;i>=0&&string[i].match(/\s/);i--);return string.substring(i+1)}function leadingWs(string,segmenter){if(segmenter)return leadingAndTrailingWs(string,segmenter)[0];let match=string.match(/^\s*/);return match?match[0]:""}function leadingAndTrailingWs(string,segmenter){if(!segmenter)return[leadingWs(string),trailingWs(string)];if(segmenter.resolvedOptions().granularity!="word")throw new Error('The segmenter passed must have a granularity of "word"');let segments=segment(string,segmenter),firstSeg=segments[0],lastSeg=segments[segments.length-1],head=/\s/.test(firstSeg)?firstSeg:"",tail=/\s/.test(lastSeg)?lastSeg:"";return[head,tail]}var extendedWordChars="a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}",tokenizeIncludingWhitespace=new RegExp(`[${extendedWordChars}]+|\\s+|[^${extendedWordChars}]`,"ug"),WordDiff=class extends Diff{equals(left,right,options){return options.ignoreCase&&(left=left.toLowerCase(),right=right.toLowerCase()),left.trim()===right.trim()}tokenize(value,options={}){let parts;if(options.intlSegmenter){let segmenter=options.intlSegmenter;if(segmenter.resolvedOptions().granularity!="word")throw new Error('The segmenter passed must have a granularity of "word"');parts=segment(value,segmenter)}else parts=value.match(tokenizeIncludingWhitespace)||[];let tokens=[],prevPart=null;return parts.forEach(part=>{/\s/.test(part)?prevPart==null?tokens.push(part):tokens.push(tokens.pop()+part):prevPart!=null&&/\s/.test(prevPart)?tokens[tokens.length-1]==prevPart?tokens.push(tokens.pop()+part):tokens.push(prevPart+part):tokens.push(part),prevPart=part}),tokens}join(tokens){return tokens.map((token,i)=>i==0?token:token.replace(/^\s+/,"")).join("")}postProcess(changes,options){if(!changes||options.oneChangePerToken)return changes;let lastKeep=null,insertion=null,deletion=null;return changes.forEach(change=>{change.added?insertion=change:change.removed?deletion=change:((insertion||deletion)&&dedupeWhitespaceInChangeObjects(lastKeep,deletion,insertion,change,options.intlSegmenter),lastKeep=change,insertion=null,deletion=null)}),(insertion||deletion)&&dedupeWhitespaceInChangeObjects(lastKeep,deletion,insertion,null,options.intlSegmenter),changes}},wordDiff=new WordDiff;function diffWords(oldStr,newStr,options){return options?.ignoreWhitespace!=null&&!options.ignoreWhitespace?diffWordsWithSpace(oldStr,newStr,options):wordDiff.diff(oldStr,newStr,options)}function dedupeWhitespaceInChangeObjects(startKeep,deletion,insertion,endKeep,segmenter){if(deletion&&insertion){let[oldWsPrefix,oldWsSuffix]=leadingAndTrailingWs(deletion.value,segmenter),[newWsPrefix,newWsSuffix]=leadingAndTrailingWs(insertion.value,segmenter);if(startKeep){let commonWsPrefix=longestCommonPrefix(oldWsPrefix,newWsPrefix);startKeep.value=replaceSuffix(startKeep.value,newWsPrefix,commonWsPrefix),deletion.value=removePrefix(deletion.value,commonWsPrefix),insertion.value=removePrefix(insertion.value,commonWsPrefix)}if(endKeep){let commonWsSuffix=longestCommonSuffix(oldWsSuffix,newWsSuffix);endKeep.value=replacePrefix(endKeep.value,newWsSuffix,commonWsSuffix),deletion.value=removeSuffix(deletion.value,commonWsSuffix),insertion.value=removeSuffix(insertion.value,commonWsSuffix)}}else if(insertion){if(startKeep){let ws=leadingWs(insertion.value,segmenter);insertion.value=insertion.value.substring(ws.length)}if(endKeep){let ws=leadingWs(endKeep.value,segmenter);endKeep.value=endKeep.value.substring(ws.length)}}else if(startKeep&&endKeep){let newWsFull=leadingWs(endKeep.value,segmenter),[delWsStart,delWsEnd]=leadingAndTrailingWs(deletion.value,segmenter),newWsStart=longestCommonPrefix(newWsFull,delWsStart);deletion.value=removePrefix(deletion.value,newWsStart);let newWsEnd=longestCommonSuffix(removePrefix(newWsFull,newWsStart),delWsEnd);deletion.value=removeSuffix(deletion.value,newWsEnd),endKeep.value=replacePrefix(endKeep.value,newWsFull,newWsEnd),startKeep.value=replaceSuffix(startKeep.value,newWsFull,newWsFull.slice(0,newWsFull.length-newWsEnd.length))}else if(endKeep){let endKeepWsPrefix=leadingWs(endKeep.value,segmenter),deletionWsSuffix=trailingWs(deletion.value,segmenter),overlap=maximumOverlap(deletionWsSuffix,endKeepWsPrefix);deletion.value=removeSuffix(deletion.value,overlap)}else if(startKeep){let startKeepWsSuffix=trailingWs(startKeep.value,segmenter),deletionWsPrefix=leadingWs(deletion.value,segmenter),overlap=maximumOverlap(startKeepWsSuffix,deletionWsPrefix);deletion.value=removePrefix(deletion.value,overlap)}}var WordsWithSpaceDiff=class extends Diff{tokenize(value){let regex=new RegExp(`(\\r?\\n)|[${extendedWordChars}]+|[^\\S\\n\\r]+|[^${extendedWordChars}]`,"ug");return value.match(regex)||[]}},wordsWithSpaceDiff=new WordsWithSpaceDiff;function diffWordsWithSpace(oldStr,newStr,options){return wordsWithSpaceDiff.diff(oldStr,newStr,options)}var LineDiff=class extends Diff{constructor(){super(...arguments),this.tokenize=tokenize}equals(left,right,options){return options.ignoreWhitespace?((!options.newlineIsToken||!left.includes(`
|
|
15
|
-
`))&&(left=left.trim()),(!options.newlineIsToken||!right.includes(`
|
|
16
|
-
`))&&(right=right.trim())):options.ignoreNewlineAtEof&&!options.newlineIsToken&&(left.endsWith(`
|
|
17
|
-
`)&&(left=left.slice(0,-1)),right.endsWith(`
|
|
18
|
-
`)&&(right=right.slice(0,-1))),super.equals(left,right,options)}},lineDiff=new LineDiff;function diffLines(oldStr,newStr,options){return lineDiff.diff(oldStr,newStr,options)}function tokenize(value,options){options.stripTrailingCr&&(value=value.replace(/\r\n/g,`
|
|
19
|
-
`));let retLines=[],linesAndNewlines=value.split(/(\n|\r\n)/);linesAndNewlines[linesAndNewlines.length-1]||linesAndNewlines.pop();for(let i=0;i<linesAndNewlines.length;i++){let line=linesAndNewlines[i];i%2&&!options.newlineIsToken?retLines[retLines.length-1]+=line:retLines.push(line)}return retLines}function needsQuoting(s){for(let i=0;i<s.length;i++)if(s[i]<" "||s[i]>"~"||s[i]==='"'||s[i]==="\\")return!0;return!1}function quoteFileNameIfNeeded(s){if(!needsQuoting(s))return s;let result='"',bytes=new TextEncoder().encode(s),i=0;for(;i<bytes.length;){let b=bytes[i];b===7?result+="\\a":b===8?result+="\\b":b===9?result+="\\t":b===10?result+="\\n":b===11?result+="\\v":b===12?result+="\\f":b===13?result+="\\r":b===34?result+='\\"':b===92?result+="\\\\":b>=32&&b<=126?result+=String.fromCharCode(b):result+="\\"+b.toString(8).padStart(3,"0"),i++}return result+='"',result}var INCLUDE_HEADERS={includeIndex:!0,includeUnderline:!0,includeFileHeaders:!0},FILE_HEADERS_ONLY={includeIndex:!1,includeUnderline:!1,includeFileHeaders:!0};function structuredPatch(oldFileName,newFileName,oldStr,newStr,oldHeader,newHeader,options){let optionsObj;options?typeof options=="function"?optionsObj={callback:options}:optionsObj=options:optionsObj={},typeof optionsObj.context>"u"&&(optionsObj.context=4);let context=optionsObj.context;if(optionsObj.newlineIsToken)throw new Error("newlineIsToken may not be used with patch-generation functions, only with diffing functions");if(optionsObj.callback){let{callback}=optionsObj;diffLines(oldStr,newStr,Object.assign(Object.assign({},optionsObj),{callback:diff=>{let patch=diffLinesResultToPatch(diff);callback(patch)}}))}else return diffLinesResultToPatch(diffLines(oldStr,newStr,optionsObj));function diffLinesResultToPatch(diff){if(!diff)return;diff.push({value:"",lines:[]});function contextLines(lines){return lines.map(function(entry){return" "+entry})}let hunks=[],oldRangeStart=0,newRangeStart=0,curRange=[],oldLine=1,newLine=1;for(let i=0;i<diff.length;i++){let current=diff[i],lines=current.lines||splitLines(current.value);if(current.lines=lines,current.added||current.removed){if(!oldRangeStart){let prev=diff[i-1];oldRangeStart=oldLine,newRangeStart=newLine,prev&&(curRange=context>0?contextLines(prev.lines.slice(-context)):[],oldRangeStart-=curRange.length,newRangeStart-=curRange.length)}for(let line of lines)curRange.push((current.added?"+":"-")+line);current.added?newLine+=lines.length:oldLine+=lines.length}else{if(oldRangeStart)if(lines.length<=context*2&&i<diff.length-2)for(let line of contextLines(lines))curRange.push(line);else{let contextSize=Math.min(lines.length,context);for(let line of contextLines(lines.slice(0,contextSize)))curRange.push(line);let hunk={oldStart:oldRangeStart,oldLines:oldLine-oldRangeStart+contextSize,newStart:newRangeStart,newLines:newLine-newRangeStart+contextSize,lines:curRange};hunks.push(hunk),oldRangeStart=0,newRangeStart=0,curRange=[]}oldLine+=lines.length,newLine+=lines.length}}for(let hunk of hunks)for(let i=0;i<hunk.lines.length;i++)hunk.lines[i].endsWith(`
|
|
20
|
-
`)?hunk.lines[i]=hunk.lines[i].slice(0,-1):(hunk.lines.splice(i+1,0,"\"),i++);return{oldFileName,newFileName,oldHeader,newHeader,hunks}}}function formatPatch(patch,headerOptions){var _a,_b,_c,_d,_e,_f;if(headerOptions||(headerOptions=INCLUDE_HEADERS),Array.isArray(patch)){if(patch.length>1&&!headerOptions.includeFileHeaders&&!patch.every(p=>p.isGit))throw new Error("Cannot omit file headers on a multi-file patch. (The result would be unparseable; how would a tool trying to apply the patch know which changes are to which file?)");return patch.map(p=>formatPatch(p,headerOptions)).join(`
|
|
21
|
-
`)}let ret=[];if(patch.isGit){if(headerOptions=INCLUDE_HEADERS,!patch.oldFileName)throw new Error("oldFileName must be specified for Git patches");if(!patch.newFileName)throw new Error("newFileName must be specified for Git patches");let gitOldName=patch.oldFileName,gitNewName=patch.newFileName;patch.isCreate&&gitOldName==="/dev/null"?gitOldName=gitNewName.replace(/^b\//,"a/"):patch.isDelete&&gitNewName==="/dev/null"&&(gitNewName=gitOldName.replace(/^a\//,"b/")),ret.push("diff --git "+quoteFileNameIfNeeded(gitOldName)+" "+quoteFileNameIfNeeded(gitNewName)),patch.isDelete&&ret.push("deleted file mode "+((_a=patch.oldMode)!==null&&_a!==void 0?_a:"100644")),patch.isCreate&&ret.push("new file mode "+((_b=patch.newMode)!==null&&_b!==void 0?_b:"100644")),patch.oldMode&&patch.newMode&&!patch.isDelete&&!patch.isCreate&&(ret.push("old mode "+patch.oldMode),ret.push("new mode "+patch.newMode)),patch.isRename&&(ret.push("rename from "+quoteFileNameIfNeeded(((_c=patch.oldFileName)!==null&&_c!==void 0?_c:"").replace(/^a\//,""))),ret.push("rename to "+quoteFileNameIfNeeded(((_d=patch.newFileName)!==null&&_d!==void 0?_d:"").replace(/^b\//,"")))),patch.isCopy&&(ret.push("copy from "+quoteFileNameIfNeeded(((_e=patch.oldFileName)!==null&&_e!==void 0?_e:"").replace(/^a\//,""))),ret.push("copy to "+quoteFileNameIfNeeded(((_f=patch.newFileName)!==null&&_f!==void 0?_f:"").replace(/^b\//,""))))}else headerOptions.includeIndex&&patch.oldFileName==patch.newFileName&&patch.oldFileName!==void 0&&ret.push("Index: "+patch.oldFileName),headerOptions.includeUnderline&&ret.push("===================================================================");let hasHunks=patch.hunks.length>0;headerOptions.includeFileHeaders&&patch.oldFileName!==void 0&&patch.newFileName!==void 0&&(!patch.isGit||hasHunks)&&(ret.push("--- "+quoteFileNameIfNeeded(patch.oldFileName)+(patch.oldHeader?" "+patch.oldHeader:"")),ret.push("+++ "+quoteFileNameIfNeeded(patch.newFileName)+(patch.newHeader?" "+patch.newHeader:"")));for(let i=0;i<patch.hunks.length;i++){let hunk=patch.hunks[i],oldStart=hunk.oldLines===0?hunk.oldStart-1:hunk.oldStart,newStart=hunk.newLines===0?hunk.newStart-1:hunk.newStart;ret.push("@@ -"+oldStart+","+hunk.oldLines+" +"+newStart+","+hunk.newLines+" @@");for(let line of hunk.lines)ret.push(line)}return ret.join(`
|
|
22
|
-
`)+`
|
|
23
|
-
`}function createTwoFilesPatch(oldFileName,newFileName,oldStr,newStr,oldHeader,newHeader,options){if(typeof options=="function"&&(options={callback:options}),options?.callback){let{callback}=options;structuredPatch(oldFileName,newFileName,oldStr,newStr,oldHeader,newHeader,Object.assign(Object.assign({},options),{callback:patchObj=>{callback(patchObj?formatPatch(patchObj,options.headerOptions):void 0)}}))}else{let patchObj=structuredPatch(oldFileName,newFileName,oldStr,newStr,oldHeader,newHeader,options);return patchObj?formatPatch(patchObj,options?.headerOptions):void 0}}function splitLines(text){let hasTrailingNl=text.endsWith(`
|
|
24
|
-
`),result=text.split(`
|
|
25
|
-
`).map(line=>line+`
|
|
26
|
-
`);return hasTrailingNl?result.pop():result.push(result.pop().slice(0,-1)),result}function createUnifiedPatch(oldPath,newPath,oldContent,newContent,contextLines=4){return createTwoFilesPatch(oldPath,newPath,oldContent,newContent,void 0,void 0,{context:contextLines,headerOptions:FILE_HEADERS_ONLY})}function createPatchDiff(oldContent,newContent){let parts=diffLines(oldContent,newContent),oldLines=oldContent.split(`
|
|
27
|
-
`),newLines=newContent.split(`
|
|
28
|
-
`),lineNumWidth=String(Math.max(oldLines.length,newLines.length)).length,output=[],oldLineNum=1,newLineNum=1,added=0,removed=0;for(let part of parts){let rawLines=part.value.split(`
|
|
29
|
-
`);rawLines[rawLines.length-1]===""&&rawLines.pop();for(let line of rawLines){if(part.added){output.push(`+${String(newLineNum).padStart(lineNumWidth," ")} ${line}`),newLineNum++,added++;continue}if(part.removed){output.push(`-${String(oldLineNum).padStart(lineNumWidth," ")} ${line}`),oldLineNum++,removed++;continue}output.push(` ${String(oldLineNum).padStart(lineNumWidth," ")} ${line}`),oldLineNum++,newLineNum++}}return{diff:output.join(`
|
|
30
|
-
`),added,removed}}import path from"node:path";function parseRenderableDiffLine(line){let match=line.match(/^([+\- ])(\s*\d*)\s(.*)$/);if(!match)return{kind:"meta",text:line};let sign=match[1],lineNumber=match[2];if(sign!=="+"&&sign!=="-"&&sign!==" "||lineNumber===void 0)return{kind:"meta",text:line};let content=match[3]??"";return sign==="+"?{content,kind:"added",lineNumber,sign}:sign==="-"?{content,kind:"removed",lineNumber,sign}:{content,kind:"context",lineNumber,sign}}function replaceTabs(text){return text.replace(/\t/g," ")}function highlightDiffContent(content,filePath){let plainContent=replaceTabs(content);if(!filePath)return plainContent;let language=getLanguageFromPath(filePath);try{return highlightCode(plainContent,language)[0]??plainContent}catch{return plainContent}}function renderInlineDiff(oldContent,newContent,theme){let parts=diffWords(replaceTabs(oldContent),replaceTabs(newContent)),added="",removed="",firstAdded=!0,firstRemoved=!0;for(let part of parts){if(part.added){let value=part.value;if(firstAdded){let leadingWhitespace=value.match(/^(\s*)/)?.[1]??"";added+=leadingWhitespace,value=value.slice(leadingWhitespace.length),firstAdded=!1}value&&(added+=theme.inverse(value));continue}if(part.removed){let value=part.value;if(firstRemoved){let leadingWhitespace=value.match(/^(\s*)/)?.[1]??"";removed+=leadingWhitespace,value=value.slice(leadingWhitespace.length),firstRemoved=!1}value&&(removed+=theme.inverse(value));continue}added+=part.value,removed+=part.value}return{added,removed}}function renderToolDiffLine(line,filePath,theme,contentOverride){let lineNumber=theme.fg("muted",line.lineNumber);if(line.kind==="context")return`${theme.fg("toolDiffContext",line.sign)}${lineNumber} ${highlightDiffContent(line.content,filePath)}`;let diffColor=line.kind==="added"?"toolDiffAdded":"toolDiffRemoved",background=line.kind==="added"?"toolSuccessBg":"toolErrorBg",content=contentOverride===void 0?highlightDiffContent(line.content,filePath):theme.fg(diffColor,replaceTabs(contentOverride)),rendered=`${theme.fg(diffColor,line.sign)}${lineNumber} ${content}`;return theme.bg(background,rendered)}function countDiffChanges(diffText){let added=0,removed=0;for(let line of diffText.split(`
|
|
31
|
-
`))line.startsWith("+++")||line.startsWith("---")||(line.startsWith("+")?added++:line.startsWith("-")&&removed++);return{added,removed}}function renderToolDiff(diffText,options){let parsedLines=diffText.split(`
|
|
32
|
-
`).map(parseRenderableDiffLine),rendered=[],index=0;for(;index<parsedLines.length;){let line=parsedLines[index];if(!line){index++;continue}if(line.kind!=="removed"){rendered.push(line.kind==="meta"?options.theme.fg("toolDiffContext",line.text):renderToolDiffLine(line,options.filePath,options.theme)),index++;continue}let removedLines=[];for(;parsedLines[index]?.kind==="removed";){let removedLine=parsedLines[index];removedLine?.kind==="removed"&&removedLines.push(removedLine),index++}let addedLines=[];for(;parsedLines[index]?.kind==="added";){let addedLine=parsedLines[index];addedLine?.kind==="added"&&addedLines.push(addedLine),index++}let pairedCount=Math.min(removedLines.length,addedLines.length);for(let pairIndex=0;pairIndex<pairedCount;pairIndex++){let removedLine=removedLines[pairIndex],addedLine=addedLines[pairIndex];if(!removedLine||!addedLine)continue;let inline=renderInlineDiff(removedLine.content,addedLine.content,options.theme);rendered.push(renderToolDiffLine(removedLine,options.filePath,options.theme,inline.removed)),rendered.push(renderToolDiffLine(addedLine,options.filePath,options.theme,inline.added))}for(let removedLine of removedLines.slice(pairedCount))rendered.push(renderToolDiffLine(removedLine,options.filePath,options.theme));for(let addedLine of addedLines.slice(pairedCount))rendered.push(renderToolDiffLine(addedLine,options.filePath,options.theme))}return rendered.join(`
|
|
33
|
-
`)}var PATCH_PREVIEW_MAX_LINES=16,PATCH_PREVIEW_MAX_CHARS=4e3,PATCH_PREVIEW_HEAD_LINES=8,PATCH_PREVIEW_TAIL_LINES=PATCH_PREVIEW_MAX_LINES-PATCH_PREVIEW_HEAD_LINES-1,PATCH_PREVIEW_TRUNCATION_MARKER="\u2026",applyPatchRenderStates=new Map;function isChangedPreviewLine(line){return/^[+-]\s*\d+\s/.test(line)}function countWindowLines(lines,start,end){return end-start+(start>0?1:0)+(end<lines.length?1:0)}function formatPreviewWindow(lines,start,end){let previewLines=lines.slice(start,end);return start>0&&previewLines.unshift("\u2026"),end<lines.length&&previewLines.push("\u2026"),previewLines.join(`
|
|
34
|
-
`)}function createChangedHunkPreview(lines){let firstChangedLine=lines.findIndex(isChangedPreviewLine);if(firstChangedLine===-1)return;let start=firstChangedLine,end=firstChangedLine+1;for(;end<lines.length;){let line=lines[end];if(line===void 0||!isChangedPreviewLine(line))break;end++}let changedHunkEnd=end;for(;end>start&&countWindowLines(lines,start,end)>PATCH_PREVIEW_MAX_LINES;)end--;for(;countWindowLines(lines,start,end)<PATCH_PREVIEW_MAX_LINES;){let canAddBefore=start>0,canAddAfter=end<lines.length;if(!canAddBefore&&!canAddAfter)break;let beforeContextLines=firstChangedLine-start,afterContextLines=end-changedHunkEnd;canAddBefore&&(!canAddAfter||beforeContextLines<=afterContextLines)?start--:end++}return formatPreviewWindow(lines,start,end)}function formatLineCountSummary(added,removed){return`(+${added} -${removed})`}function formatPatchFileSummary(file){return file.binary?"(binary)":formatLineCountSummary(file.added,file.removed)}function countLines(text){if(text.length===0)return 0;let lines=1;for(let index=0;index<text.length;index++)text.charCodeAt(index)===10&&(lines+=1);return lines}function enforcePreviewCharLimit(preview){return preview.length<=PATCH_PREVIEW_MAX_CHARS?preview:`${preview.slice(0,PATCH_PREVIEW_MAX_CHARS-PATCH_PREVIEW_TRUNCATION_MARKER.length).trimEnd()}${PATCH_PREVIEW_TRUNCATION_MARKER}`}function truncatePreview(text){if(text.length<=PATCH_PREVIEW_MAX_CHARS&&countLines(text)<=PATCH_PREVIEW_MAX_LINES)return text;let lines=text.split(`
|
|
35
|
-
`),preview=createChangedHunkPreview(lines)??[...lines.slice(0,PATCH_PREVIEW_HEAD_LINES),"\u2026",...lines.slice(-PATCH_PREVIEW_TAIL_LINES)].join(`
|
|
36
|
-
`);return enforcePreviewCharLimit(preview)}function displayPath(filePath,cwd){if(!path.isAbsolute(filePath))return filePath;let absoluteCwd=path.resolve(cwd),relativePath=path.relative(absoluteCwd,filePath);return relativePath===""||!relativePath.startsWith(`..${path.sep}`)&&relativePath!==".."&&!path.isAbsolute(relativePath)?relativePath||".":filePath}function formatPatchFilePath(file,cwd=process.cwd()){let filePath=displayPath(file.filePath,cwd);return file.movePath?`${filePath} \u2192 ${displayPath(file.movePath,cwd)}`:filePath}function formatPatchOperation(operation){return operation==="add"?"Added":operation==="delete"?"Deleted":"Edited"}function formatPatchPreview(preview,cwd=process.cwd(),expanded=!0){let lines=[];if(preview.files.length===1){let file=preview.files[0];return file&&(lines.push(`\u2022 ${formatPatchOperation(file.operation)} ${formatPatchFilePath(file,cwd)} ${formatPatchFileSummary(file)}`),expanded&&file.diff&&lines.push(...truncatePreview(file.diff).split(`
|
|
37
|
-
`).map(line=>` ${line}`))),lines.join(`
|
|
38
|
-
`)}let noun=preview.files.length===1?"file":"files";lines.push(`\u2022 Edited ${preview.files.length} ${noun} ${formatLineCountSummary(preview.added,preview.removed)}`);for(let file of preview.files)lines.push(` \u2514 ${formatPatchFilePath(file,cwd)} ${formatPatchFileSummary(file)}`),expanded&&file.diff&&lines.push(...truncatePreview(file.diff).split(`
|
|
39
|
-
`).map(line=>` ${line}`));return lines.join(`
|
|
40
|
-
`)}function formatInFlightCallText(patchText){let paths=extractPatchedPaths(patchText);if(paths.length===0)return"Patching";let noun=paths.length===1?"file":"files";return`Patching${paths.length>1?` (${paths.length} ${noun})`:""}: ${paths.join(", ")}`}function getApplyPatchRenderState(toolCallId,cwd,patchText){let existing=applyPatchRenderStates.get(toolCallId);if(existing&&existing.cwd===cwd&&existing.patchText===patchText)return existing;let callText=formatInFlightCallText(patchText),collapsed="",expanded="";try{let hunks=parsePatch(patchText);if(hunks.length>0){let preview={files:hunks.map(hunk=>({filePath:hunk.filePath,movePath:hunk.type==="update"?hunk.movePath:void 0,operation:hunk.type,diff:"",added:0,removed:0})),added:0,removed:0};collapsed=formatPatchPreview(preview,cwd,!1),expanded=formatPatchPreview(preview,cwd,!0)}}catch{}let nextState={...existing,cwd,patchText,callText,collapsed,expanded};return applyPatchRenderStates.set(toolCallId,nextState),nextState}function renderPatchPreview(preview,cwd,theme,expanded){if(expanded)try{let renderFile=(file,headerPrefix)=>{let header=`\u2022 ${formatPatchOperation(file.operation)} ${formatPatchFilePath(file,cwd)} ${formatPatchFileSummary(file)}`;if(!file.diff)return headerPrefix.length>0?`${headerPrefix}${formatPatchFilePath(file,cwd)} ${formatPatchFileSummary(file)}`:header;let renderedDiff=renderToolDiff(truncatePreview(file.diff),{filePath:file.movePath??file.filePath,theme});return headerPrefix.length>0?`${`${headerPrefix}${formatPatchFilePath(file,cwd)} ${formatPatchFileSummary(file)}`}
|
|
41
|
-
${renderedDiff.split(`
|
|
42
|
-
`).map(line=>` ${line}`).join(`
|
|
43
|
-
`)}`:`${header}
|
|
44
|
-
${renderedDiff}`};if(preview.files.length===1){let file=preview.files[0];return file?renderFile(file,""):""}let noun=preview.files.length===1?"file":"files",renderedFiles=preview.files.map(file=>renderFile(file," \u2514 ")).join(`
|
|
45
|
-
`);if(renderedFiles.length>0)return`\u2022 Edited ${preview.files.length} ${noun} ${formatLineCountSummary(preview.added,preview.removed)}
|
|
46
|
-
${renderedFiles}`}catch{}return formatPatchPreview(preview,cwd,expanded).split(`
|
|
47
|
-
`).map(line=>renderPatchLine(line,theme)).join(`
|
|
48
|
-
`)}function formatPendingPatchPaths(patchText){let paths=extractPatchedPaths(patchText);return paths.length===0?"Applying patch...":`Applying patch...
|
|
49
|
-
${paths.map(filePath=>`\u2022 ${filePath}`).join(`
|
|
50
|
-
`)}`}function renderPatchLine(line,theme){let trimmed=line.trimStart();return trimmed.startsWith("+")?theme.fg("toolDiffAdded",line):trimmed.startsWith("-")?theme.fg("toolDiffRemoved",line):trimmed.startsWith("\u2022")?theme.fg("toolTitle",theme.bold(line)):trimmed.startsWith("\u2514")?theme.fg("accent",line):theme.fg("toolDiffContext",line)}import path2 from"node:path";function resolvePatchPath(cwd,filePath){return path2.resolve(cwd,filePath)}async function readPatchFileSnapshot(absolutePath){try{let bytes=await readFile(absolutePath);if(bytes.includes(0))return{exists:!0,content:"",binary:!0,bytes};try{return{exists:!0,content:new TextDecoder("utf-8",{fatal:!0}).decode(bytes)}}catch{return{exists:!0,content:"",binary:!0,bytes}}}catch(error){if(error&&typeof error=="object"&&"code"in error&&error.code==="ENOENT")return{exists:!1,content:""};throw error}}function createMovePatch(input){let{hunk,oldContent,newContent,moveDestination}=input;if(!hunk.movePath||hunk.movePath===hunk.filePath)return createUnifiedPatch(hunk.filePath,hunk.movePath??hunk.filePath,oldContent,newContent);let sourcePatch=createUnifiedPatch(`a/${hunk.filePath}`,"/dev/null",oldContent,""),destinationPatch=moveDestination?.exists?moveDestination.content===newContent?"":createUnifiedPatch(`a/${hunk.movePath}`,`b/${hunk.movePath}`,moveDestination.content,newContent):createUnifiedPatch("/dev/null",`b/${hunk.movePath}`,"",newContent);return`${sourcePatch}${destinationPatch}`}function buildPatchPreviewFile(input){let{hunk,source,newContent,moveDestination}=input;if(source.binary||moveDestination?.binary)return{filePath:hunk.filePath,...hunk.type==="update"&&hunk.movePath?{movePath:hunk.movePath}:{},operation:hunk.type==="add"&&source.exists?"update":hunk.type,binary:!0,diff:"",added:0,removed:0};switch(hunk.type){case"add":{let operation=source.exists?"update":"add";return{filePath:hunk.filePath,operation,patch:createUnifiedPatch(operation==="add"?"/dev/null":hunk.filePath,hunk.filePath,source.content,newContent),...createPatchDiff(source.content,newContent)}}case"delete":return{filePath:hunk.filePath,operation:"delete",patch:createUnifiedPatch(hunk.filePath,"/dev/null",source.content,""),...createPatchDiff(source.content,"")};case"update":return{filePath:hunk.filePath,movePath:hunk.movePath,operation:"update",patch:createMovePatch({hunk,oldContent:source.content,newContent,moveDestination}),...createPatchDiff(source.content,newContent)};default:return hunk}}async function createPatchPreviewFile(cwd,hunk){let absolutePath=resolvePatchPath(cwd,hunk.filePath);switch(hunk.type){case"add":{let source=await readPatchFileSnapshot(absolutePath);return buildPatchPreviewFile({hunk,source,newContent:hunk.content})}case"delete":{let source=await readPatchFileSnapshot(absolutePath);return buildPatchPreviewFile({hunk,source,newContent:""})}case"update":{let source=await readPatchFileSnapshot(absolutePath),moveDestination=hunk.movePath&&hunk.movePath!==hunk.filePath?await readPatchFileSnapshot(resolvePatchPath(cwd,hunk.movePath)):void 0;if(source.binary||moveDestination?.binary)return buildPatchPreviewFile({hunk,source,newContent:"",...moveDestination?{moveDestination}:{}});let newContent=hunk.chunks.length===0?source.content:replaceChunks(source.content,hunk.filePath,hunk.chunks).content;return buildPatchPreviewFile({hunk,source,newContent,...moveDestination?{moveDestination}:{}})}default:return hunk}}function hasPreviewChange(file){return file.binary===!0||file.operation!=="update"||file.movePath!==void 0||file.diff.trim().length>0}async function createPatchPreview(cwd,hunks){let files=[];for(let hunk of hunks)try{files.push(await createPatchPreviewFile(cwd,hunk))}catch(error){if(error instanceof Error)continue;throw error}return{files,added:files.reduce((sum,file)=>sum+file.added,0),removed:files.reduce((sum,file)=>sum+file.removed,0)}}async function createPendingPatchUpdate(cwd,patchText,progress,previewOverride){let title=progress?`Applying patch (${progress.applied+progress.failed}/${progress.total})...`:"Applying patch...";if(previewOverride)return{text:`${title}
|
|
51
|
-
${formatPatchPreview(previewOverride)}`,details:{preview:previewOverride,progress}};try{let hunks=parsePatch(patchText);if(hunks.length===0)return{text:title,details:progress?{progress}:void 0};let preview=await createPatchPreview(cwd,hunks);if(preview.files.some(hasPreviewChange))return{text:`${title}
|
|
52
|
-
${formatPatchPreview(preview)}`,details:{preview,progress}}}catch{return{text:progress?title:formatPendingPatchPaths(patchText),details:progress?{progress}:void 0}}return{text:progress?title:formatPendingPatchPaths(patchText),details:progress?{progress}:void 0}}function isRereadCandidate(failure){return failure.code===void 0}function createRecoveryInstructions(result){let mustReadFiles=[...new Set(result.failures.filter(isRereadCandidate).map(failure=>failure.filePath))],mustReadFileSet=new Set(mustReadFiles),failedFileSet=new Set(result.failures.map(failure=>failure.filePath)),mustNotReadFiles=[...new Set(result.appliedFiles.filter(filePath=>!mustReadFileSet.has(filePath)))];return{mustReadFiles,mustNotReadFiles,failedFiles:[...failedFileSet]}}function buildPartialFailureText(result){let failureLines=result.failures.map(failure=>`- ${failure.filePath} (${failure.operation}): ${failure.message}`),mustReadFiles=result.recoveryInstructions.mustReadFiles,mustReadText=mustReadFiles.join(" and ");return[result.hasPartialSuccess?"apply_patch partially failed.":"apply_patch failed.","Failed:",...failureLines,mustReadFiles.length>0?`Recovery: MUST read ${mustReadText} before retrying.`:"",result.appliedFiles.length>0?"Earlier file actions in this patch were already applied.":"No file actions were applied.",result.recoveryInstructions.mustNotReadFiles.length>0?"Recovery: MUST NOT reread other files from this patch unless a specific dependency requires it.":""].filter(line=>line.length>0).join(`
|
|
53
|
-
`)}var ATOMIC_WRITE_OPERATIONS={writeFile,rename,unlink};async function notifyApplyPatchProgress(onProgress,progress){try{await onProgress?.(progress)}catch{}}function hasErrorCode(error,code){return!!(error&&typeof error=="object"&&"code"in error&&error.code===code)}function extractErrorCode(error){if(error&&typeof error=="object"&&"code"in error&&typeof error.code=="string")return error.code}function compactApplyPatchResult(result){return{...result,details:{...result.details,appliedOperations:result.details.appliedOperations.map(({operationIndex,preview})=>{let{diff:_diff,patch:_patch,...metadata}=preview;return{operationIndex,preview:{...metadata,diff:""}}})}}}async function writeFileAtomic(absPath,content,operations=ATOMIC_WRITE_OPERATIONS){let tempPath=`${absPath}.tmp.${process.pid}.${Math.random().toString(16).slice(2)}`;await operations.writeFile(tempPath,content,"utf-8");try{await operations.rename(tempPath,absPath)}catch(error){if(!hasErrorCode(error,"EEXIST"))throw error;await operations.unlink(absPath),await operations.rename(tempPath,absPath)}}async function writeBinaryFileAtomic(absPath,content){let tempPath=`${absPath}.tmp.${process.pid}.${Math.random().toString(16).slice(2)}`;await writeFile(tempPath,content);try{await rename(tempPath,absPath)}catch(error){if(!hasErrorCode(error,"EEXIST"))throw error;await unlink(absPath),await rename(tempPath,absPath)}}async function applySingleHunk(cwd,hunk){let absolutePath=resolvePatchPath(cwd,hunk.filePath),mutationPaths=hunk.type==="update"&&hunk.movePath?[absolutePath,resolvePatchPath(cwd,hunk.movePath)]:[absolutePath];return withPatchMutationQueues(mutationPaths,async()=>{if(hunk.type==="add"){let source2=await readPatchFileSnapshot(absolutePath),preview2=buildPatchPreviewFile({hunk,source:source2,newContent:hunk.content});return await mkdir(path3.dirname(absolutePath),{recursive:!0}),await writeFileAtomic(absolutePath,hunk.content),{summary:`add: ${hunk.filePath}`,appliedFile:hunk.filePath,fuzz:0,preview:preview2}}if(hunk.type==="delete"){let source2=await readPatchFileSnapshot(absolutePath),preview2=buildPatchPreviewFile({hunk,source:source2,newContent:""});return await rm(absolutePath),{summary:`delete: ${hunk.filePath}`,appliedFile:hunk.filePath,fuzz:0,preview:preview2}}let source=await readPatchFileSnapshot(absolutePath);if(!source.exists){let error=new Error(`ENOENT: no such file or directory, open '${absolutePath}'`);throw error.code="ENOENT",error}let absoluteMovePath=hunk.movePath?resolvePatchPath(cwd,hunk.movePath):void 0,moveDestination=absoluteMovePath&&absoluteMovePath!==absolutePath?await readPatchFileSnapshot(absoluteMovePath):void 0;if(source.binary){if(hunk.chunks.length>0)throw new Error(`apply_patch cannot apply text hunks to binary file: ${hunk.filePath}`);if(!hunk.movePath||!absoluteMovePath||!source.bytes)throw new Error(`apply_patch cannot update binary file without a move destination: ${hunk.filePath}`);let preview2=buildPatchPreviewFile({hunk,source,newContent:"",...moveDestination?{moveDestination}:{}});return await mkdir(path3.dirname(absoluteMovePath),{recursive:!0}),await writeBinaryFileAtomic(absoluteMovePath,source.bytes),absoluteMovePath!==absolutePath&&await rm(absolutePath),{summary:`move: ${hunk.filePath} -> ${hunk.movePath}`,appliedFile:hunk.movePath,fuzz:0,preview:preview2}}let chunkResult=hunk.chunks.length===0?{content:source.content,fuzz:0}:replaceChunks(source.content,hunk.filePath,hunk.chunks);if(hunk.movePath&&absoluteMovePath){let preview2=buildPatchPreviewFile({hunk,source,newContent:chunkResult.content,...moveDestination?{moveDestination}:{}});return await mkdir(path3.dirname(absoluteMovePath),{recursive:!0}),await writeFileAtomic(absoluteMovePath,chunkResult.content),absoluteMovePath!==absolutePath&&await rm(absolutePath),{summary:`move: ${hunk.filePath} -> ${hunk.movePath}`,appliedFile:hunk.movePath,fuzz:chunkResult.fuzz,preview:preview2}}let preview=buildPatchPreviewFile({hunk,source,newContent:chunkResult.content});return await writeFileAtomic(absolutePath,chunkResult.content),{summary:`update: ${hunk.filePath}`,appliedFile:hunk.filePath,fuzz:chunkResult.fuzz,preview}})}async function withPatchMutationQueues(filePaths,operation){let sortedPaths=[...new Set(filePaths)].sort((left,right)=>left.localeCompare(right)),runQueued=index=>{let filePath=sortedPaths[index];return filePath===void 0?operation():withFileMutationQueue(filePath,()=>runQueued(index+1))};return runQueued(0)}function parseNonEmptyPatch(patchText){let hunks=parsePatch(patchText);if(hunks.length===0)throw normalizePatchText(patchText).trim()===`*** Begin Patch
|
|
54
|
-
*** End Patch`?new Error("patch rejected: empty patch"):new Error("apply_patch verification failed: no hunks found");return hunks}async function applyPatchDetailed(cwd,patchText,onProgress){let hunks=parseNonEmptyPatch(patchText),summaries=[],appliedFiles=[],appliedOperations=[],failures=[],fuzz=0;for(let[operationIndex,hunk]of hunks.entries()){try{let applied=await applySingleHunk(cwd,hunk);summaries.push(applied.summary),appliedFiles.push(applied.appliedFile),appliedOperations.push({operationIndex,preview:applied.preview}),fuzz+=applied.fuzz}catch(error){let message=error instanceof Error?error.message:String(error),code=extractErrorCode(error);failures.push({operationIndex,filePath:hunk.filePath,operation:hunk.type,message,code})}await notifyApplyPatchProgress(onProgress,{applied:appliedFiles.length,failed:failures.length,total:hunks.length})}let result={summaries,appliedFiles,failures,hasPartialSuccess:appliedFiles.length>0&&failures.length>0,recoveryInstructions:{mustReadFiles:[],mustNotReadFiles:[],failedFiles:[]},details:{fuzz,appliedOperations}};return result.recoveryInstructions=createRecoveryInstructions(result),result}var APPLY_PATCH_PARAMS=typebox_exports.Object({input:typebox_exports.String({description:"The entire contents of the apply_patch command"})}),APPLY_PATCH_FREEFORM_DESCRIPTION="Use the `apply_patch` tool to edit files. This is a FREEFORM tool, so do not wrap the patch in JSON.",APPLY_PATCH_LARK_GRAMMAR=`start: begin_patch hunk+ end_patch
|
|
55
|
-
begin_patch: "*** Begin Patch" LF
|
|
56
|
-
end_patch: "*** End Patch" LF?
|
|
57
|
-
|
|
58
|
-
hunk: add_hunk | delete_hunk | update_hunk
|
|
59
|
-
add_hunk: "*** Add File: " filename LF add_line+
|
|
60
|
-
delete_hunk: "*** Delete File: " filename LF
|
|
61
|
-
update_hunk: "*** Update File: " filename LF change_move? change?
|
|
62
|
-
|
|
63
|
-
filename: /(.+)/
|
|
64
|
-
add_line: "+" /(.*)/ LF -> line
|
|
65
|
-
|
|
66
|
-
change_move: "*** Move to: " filename LF
|
|
67
|
-
change: (change_context | change_line)+ eof_line?
|
|
68
|
-
change_context: ("@@" | "@@ " /(.+)/) LF
|
|
69
|
-
change_line: ("+" | "-" | " ") /(.*)/ LF
|
|
70
|
-
eof_line: "*** End of File" LF
|
|
71
|
-
|
|
72
|
-
%import common.LF
|
|
73
|
-
`,CODEX_APPLY_PATCH_DESCRIPTION_BODY=`Use the \`apply_patch\` tool to edit files.
|
|
74
|
-
Your patch language is a stripped\u2011down, file\u2011oriented diff format designed to be easy to parse and safe to apply. You can think of it as a high\u2011level envelope:
|
|
75
|
-
|
|
76
|
-
*** Begin Patch
|
|
77
|
-
[ one or more file sections ]
|
|
78
|
-
*** End Patch
|
|
79
|
-
|
|
80
|
-
Within that envelope, you get a sequence of file operations.
|
|
81
|
-
You MUST include a header to specify the action you are taking.
|
|
82
|
-
Each operation starts with one of three headers:
|
|
83
|
-
|
|
84
|
-
*** Add File: <path> - create a new file. Every following line is a + line (the initial contents).
|
|
85
|
-
*** Delete File: <path> - remove an existing file. Nothing follows.
|
|
86
|
-
*** Update File: <path> - patch an existing file in place (optionally with a rename).
|
|
87
|
-
|
|
88
|
-
May be immediately followed by *** Move to: <new path> if you want to rename the file.
|
|
89
|
-
Then one or more \u201Chunks\u201D, each introduced by @@ (optionally followed by a hunk header).
|
|
90
|
-
Within a hunk each line starts with:
|
|
91
|
-
|
|
92
|
-
For instructions on [context_before] and [context_after]:
|
|
93
|
-
- By default, show 3 lines of code immediately above and 3 lines immediately below each change. If a change is within 3 lines of a previous change, do NOT duplicate the first change\u2019s [context_after] lines in the second change\u2019s [context_before] lines.
|
|
94
|
-
- If 3 lines of context is insufficient to uniquely identify the snippet of code within the file, use the @@ operator to indicate the class or function to which the snippet belongs. For instance, we might have:
|
|
95
|
-
@@ class BaseClass
|
|
96
|
-
[3 lines of pre-context]
|
|
97
|
-
- [old_code]
|
|
98
|
-
+ [new_code]
|
|
99
|
-
[3 lines of post-context]
|
|
100
|
-
|
|
101
|
-
- If a code block is repeated so many times in a class or function such that even a single \`@@\` statement and 3 lines of context cannot uniquely identify the snippet of code, you can use multiple \`@@\` statements to jump to the right context. For instance:
|
|
102
|
-
|
|
103
|
-
@@ class BaseClass
|
|
104
|
-
@@ def method():
|
|
105
|
-
[3 lines of pre-context]
|
|
106
|
-
- [old_code]
|
|
107
|
-
+ [new_code]
|
|
108
|
-
[3 lines of post-context]
|
|
109
|
-
|
|
110
|
-
The full grammar definition is below:
|
|
111
|
-
Patch := Begin { FileOp } End
|
|
112
|
-
Begin := "*** Begin Patch" NEWLINE
|
|
113
|
-
End := "*** End Patch" NEWLINE
|
|
114
|
-
FileOp := AddFile | DeleteFile | UpdateFile
|
|
115
|
-
AddFile := "*** Add File: " path NEWLINE { "+" line NEWLINE }
|
|
116
|
-
DeleteFile := "*** Delete File: " path NEWLINE
|
|
117
|
-
UpdateFile := "*** Update File: " path NEWLINE [ MoveTo ] { Hunk }
|
|
118
|
-
MoveTo := "*** Move to: " newPath NEWLINE
|
|
119
|
-
Hunk := "@@" [ header ] NEWLINE { HunkLine } [ "*** End of File" NEWLINE ]
|
|
120
|
-
HunkLine := (" " | "-" | "+") text NEWLINE
|
|
121
|
-
|
|
122
|
-
A full patch can combine several operations:
|
|
123
|
-
|
|
124
|
-
*** Begin Patch
|
|
125
|
-
*** Add File: hello.txt
|
|
126
|
-
+Hello world
|
|
127
|
-
*** Update File: src/app.py
|
|
128
|
-
*** Move to: src/main.py
|
|
129
|
-
@@ def greet():
|
|
130
|
-
-print("Hi")
|
|
131
|
-
+print("Hello, world!")
|
|
132
|
-
*** Delete File: obsolete.txt
|
|
133
|
-
*** End Patch
|
|
134
|
-
|
|
135
|
-
It is important to remember:
|
|
136
|
-
|
|
137
|
-
- You must include a header with your intended action (Add/Delete/Update)
|
|
138
|
-
- You must prefix new lines with \`+\` even when creating a new file
|
|
139
|
-
- File references can only be relative, NEVER ABSOLUTE.
|
|
140
|
-
`;var APPLY_PATCH_JSON_DESCRIPTION=`Use the \`apply_patch\` tool to edit files by passing the entire patch as the \`input\` string argument.
|
|
141
|
-
${CODEX_APPLY_PATCH_DESCRIPTION_BODY}`;function normalizeApplyPatchArguments(args){if(typeof args=="string")return{input:args};if(args&&typeof args=="object"&&"input"in args){let input=args.input;if(typeof input=="string")return{input}}return{input:""}}var BEGIN="*** Begin Patch",END="*** End Patch",ADD="*** Add File: ",DELETE="*** Delete File: ",UPDATE="*** Update File: ",MOVE="*** Move to: ",EOF="*** End of File",StreamingPatchParser=class{constructor(){this.lineBuffer="",this.mode="not-started",this.hunks=[]}pushDelta(delta){for(let character of normalizePatchText(delta))if(character===`
|
|
142
|
-
`){let line=this.lineBuffer;this.lineBuffer="",this.processLine(line)}else this.lineBuffer+=character;return this.hunks}finish(){if(this.lineBuffer.length>0){let line=this.lineBuffer;this.lineBuffer="",line.trim()===END?(this.ensureUpdateHunkIsNotEmpty(line.trim()),this.mode="ended"):this.processLine(line)}if(this.mode!=="ended")throw new Error("The last line of the patch must be '*** End Patch'");return this.snapshot()}snapshot(){return structuredClone(this.hunks)}getLiveHunks(){return this.hunks}getPartialLine(){return this.lineBuffer}ensureUpdateHunkIsNotEmpty(line){let hunk=this.hunks[this.hunks.length-1];if(hunk?.type!=="update")return;if(hunk.chunks.length===0&&this.mode==="update")throw new Error(`Update file hunk for path '${hunk.filePath}' is empty`);let chunk=hunk.chunks[hunk.chunks.length-1];if(chunk&&chunk.oldLines.length===0&&chunk.newLines.length===0&&chunk.changeContexts.length===0)throw line===END?new Error("Update hunk does not contain any lines"):new Error(`Unexpected line found in update hunk: '${line}'`)}handleHeader(line){return line===END?(this.ensureUpdateHunkIsNotEmpty(line),this.mode="ended",!0):line.startsWith(ADD)?this.startAdd(line.slice(ADD.length)):line.startsWith(DELETE)?this.startDelete(line.slice(DELETE.length)):line.startsWith(UPDATE)?this.startUpdate(line.slice(UPDATE.length)):!1}startAdd(filePath){return this.ensureUpdateHunkIsNotEmpty(`${ADD}${filePath}`),this.hunks.push({type:"add",filePath,content:""}),this.mode="add",!0}startDelete(filePath){return this.ensureUpdateHunkIsNotEmpty(`${DELETE}${filePath}`),this.hunks.push({type:"delete",filePath}),this.mode="delete",!0}startUpdate(filePath){return this.ensureUpdateHunkIsNotEmpty(`${UPDATE}${filePath}`),this.hunks.push({type:"update",filePath,chunks:[]}),this.mode="update",!0}currentUpdate(){let hunk=this.hunks[this.hunks.length-1];if(hunk?.type!=="update")throw new Error("Internal parser state error: expected update hunk");return hunk}currentChunk(){let hunk=this.currentUpdate(),chunk=hunk.chunks[hunk.chunks.length-1];return(!chunk||chunk.isEndOfFile)&&(chunk={changeContexts:[],oldLines:[],newLines:[],contextLineIndices:[],isEndOfFile:!1,addedCount:0,removedCount:0},hunk.chunks.push(chunk)),chunk}processLine(line){if(this.mode==="not-started"){if(stripHeredoc(line).trim()===BEGIN){this.mode="started";return}throw new Error("The first line of the patch must be '*** Begin Patch'")}if(this.mode==="started"){this.processStarted(line.trim());return}if(this.mode==="add"){this.processAdd(line);return}if(this.mode==="delete"){this.processDelete(line.trim());return}this.mode==="update"&&this.processUpdate(line)}processStarted(trimmed){if(!this.handleHeader(trimmed))throw new Error(`'${trimmed}' is not a valid hunk header`)}processAdd(line){if(this.handleHeader(line.trim()))return;let hunk=this.hunks[this.hunks.length-1];if(line.startsWith("+")&&hunk?.type==="add"){hunk.content+=`${line.slice(1)}
|
|
143
|
-
`;return}throw new Error(`'${line.trim()}' is not a valid hunk header`)}processDelete(trimmed){if(!this.handleHeader(trimmed))throw new Error(`'${trimmed}' is not a valid hunk header`)}processUpdate(line){let updateLine=line.trimEnd();if(this.handleHeader(updateLine))return;let hunk=this.currentUpdate();if(hunk.chunks.length===0&&!hunk.movePath&&updateLine.startsWith(MOVE)){hunk.movePath=updateLine.slice(MOVE.length);return}if(updateLine!=="@@"){if(updateLine.startsWith("@@ ")){this.currentChunk().changeContexts.push(updateLine.slice(3));return}if(updateLine===EOF){let chunk=this.currentChunk();if(chunk.oldLines.length===0&&chunk.newLines.length===0)throw new Error("Update hunk does not contain any lines");chunk.isEndOfFile=!0;return}this.pushUpdateLine(line)}}pushUpdateLine(line){let prefix=line[0],value=line.slice(1),chunk=this.currentChunk();if(prefix===" ")chunk.contextLineIndices.push([chunk.oldLines.length,chunk.newLines.length]),chunk.oldLines.push(value),chunk.newLines.push(value);else if(prefix==="-")chunk.oldLines.push(value),chunk.removedCount++;else if(prefix==="+")chunk.newLines.push(value),chunk.addedCount++;else if(prefix===void 0)chunk.contextLineIndices.push([chunk.oldLines.length,chunk.newLines.length]),chunk.oldLines.push(""),chunk.newLines.push("");else throw new Error(`Unexpected line found in update hunk: '${line}'`)}};var STREAMING_TAIL_LINES_PER_FILE=12;function hunkOperation(hunk){return hunk.type==="add"?"Added":hunk.type==="delete"?"Deleted":hunk.movePath?"Moved":"Edited"}function hunkPath(hunk){return hunk.type==="update"&&hunk.movePath?`${hunk.filePath} \u2192 ${hunk.movePath}`:hunk.filePath}function hunkDiffLines(hunk){return hunk.type==="delete"?[]:hunk.type==="add"?hunk.content.split(`
|
|
144
|
-
`).filter(Boolean).map(line=>` + ${line}`):hunk.chunks.flatMap(chunk=>[...chunk.changeContexts.map(context=>` @@ ${context}`),...chunk.oldLines.map(line=>` - ${line}`),...chunk.newLines.map(line=>` + ${line}`)])}function hunkChangeCounts(hunk){if(hunk.type==="add")return{added:hunk.content.split(`
|
|
145
|
-
`).filter(Boolean).length,removed:0};if(hunk.type==="delete")return{added:0,removed:0};let added=0,removed=0;for(let chunk of hunk.chunks)added+=chunk.addedCount,removed+=chunk.removedCount;return{added,removed}}function formatStreamingHunks(hunks,partialLine){let blocks=[];for(let hunk of hunks){let{added,removed}=hunkChangeCounts(hunk),counts=added+removed>0?` (+${added} -${removed})`:"",header=`\u2022 ${hunkOperation(hunk)} ${hunkPath(hunk)}${counts}`,lines=hunkDiffLines(hunk);if(lines.length<=STREAMING_TAIL_LINES_PER_FILE){blocks.push([header,...lines].join(`
|
|
146
|
-
`));continue}let hidden=lines.length-STREAMING_TAIL_LINES_PER_FILE,tail=lines.slice(-STREAMING_TAIL_LINES_PER_FILE);blocks.push([header,` \u2026 (+${hidden} lines above)`,...tail].join(`
|
|
147
|
-
`))}let partial=partialLine.trim();return partial.length>0&&blocks.push(` ${partial}`),blocks.join(`
|
|
148
|
-
`)}function updateStreamingState(input,state){(!state.streamingParser||!input.startsWith(state.streamingInput??""))&&(state.streamingParser=new StreamingPatchParser,state.streamingInput="",state.streamingHunks=[],state.streamingError=void 0);let previousInput=state.streamingInput??"",delta=input.slice(previousInput.length);if(delta.length===0)return state.streamingHunks??[];try{state.streamingParser.pushDelta(delta),state.streamingHunks=state.streamingParser.getLiveHunks?.()??state.streamingHunks,state.streamingInput=input,state.streamingError=void 0}catch(error){state.streamingError=error instanceof Error?error.message:"Invalid patch stream"}return state.streamingHunks??[]}function renderBox(title,body,theme,dimLastLine){let component=new Container,box=new Box(1,1,text=>theme.bg("toolPendingBg",text));box.addChild(new Text(theme.fg("toolTitle",theme.bold(title)),0,0)),box.addChild(new Spacer(1));let lines=body.split(`
|
|
149
|
-
`);return box.addChild(new Text(lines.map((line,index)=>dimLastLine&&index===lines.length-1?theme.fg("toolDiffContext",line):renderPatchLine(line,theme)).join(`
|
|
150
|
-
`),0,0)),component.addChild(box),component}var MemoizedStreamingBox=class extends Container{constructor(body,hasPartial,theme){super(),this.body=body,this.hasPartial=hasPartial,this.theme=theme}render(width){return this.built??=renderBox("Applying patch",this.body,this.theme,this.hasPartial),this.built.render(width)}};function renderStreamingPatchCall(args,theme,state){let input=normalizeApplyPatchArguments(args).input;if(!input)return;let hunks=updateStreamingState(input,state);if(state.streamingError)return renderBox("Invalid patch stream",state.streamingError,theme,!1);if(hunks.length>0){let partialLine=state.streamingParser?.getPartialLine?.()??"",body=formatStreamingHunks(hunks,partialLine),hasPartial=partialLine.trim().length>0;return body===state.streamingLastRenderKey&&state.streamingLastRenderKey!==void 0?new MemoizedStreamingBox(body,hasPartial,theme):(state.streamingLastRenderKey=body,renderBox("Applying patch",body,theme,hasPartial))}let paths=extractPatchedPaths(input);if(paths.length!==0)return renderBox("Applying patch",paths.map(filePath=>`\u2022 ${filePath}`).join(`
|
|
151
|
-
`),theme,!1)}var APPLY_PATCH_RESULT_PATCH_MAX_BYTES=16*1024;function retainedPatch(patch){if(!(patch===void 0||Buffer.byteLength(patch,"utf8")>APPLY_PATCH_RESULT_PATCH_MAX_BYTES))return patch}function appliedPreview(result){let files=[...result.details.appliedOperations].sort((left,right)=>left.operationIndex-right.operationIndex).map(operation=>{let{diff,patch,...metadata}=operation.preview,boundedPatch=retainedPatch(patch);return{...metadata,diff:truncatePreview(diff),...boundedPatch===void 0?{}:{patch:boundedPatch}}});if(files.length!==0)return{files,added:files.reduce((total,file)=>total+file.added,0),removed:files.reduce((total,file)=>total+file.removed,0)}}function renderPreviewBox(title,details,isPartial,cwd,expanded,theme){let component=new Container;if(!details.preview)return component;let bgName=isPartial?"toolPendingBg":"toolSuccessBg",progress=details.progress,renderedTitle=progress?`Applying patch (${progress.applied+progress.failed}/${progress.total})`:title,box=new Box(1,1,text=>theme.bg(bgName,text));return box.addChild(new Text(theme.fg("toolTitle",theme.bold(renderedTitle)),0,0)),box.addChild(new Spacer(1)),box.addChild(new Text(renderPatchPreview(details.preview,cwd,theme,expanded),0,0)),component.addChild(box),component}function renderTextResult(result,theme){let component=new Container,text=resultText(result);return text&&component.addChild(new Text(theme.fg("toolOutput",text),0,0)),component}function resultText(result){return result.content.filter(block=>block.type==="text").map(block=>block.text).filter(value=>typeof value=="string"&&value.length>0).join(`
|
|
152
|
-
`)}function renderFailureBox(result,cwd,expanded,theme){let patchResult=result.details?.result;if(!patchResult)return renderTextResult(result,theme);let component=new Container,title=patchResult.appliedFiles.length>0?"Patch partially failed":"Patch failed",box=new Box(1,1,text2=>theme.bg("toolErrorBg",text2));box.addChild(new Text(theme.fg("toolTitle",theme.bold(title)),0,0)),result.details.preview&&(box.addChild(new Spacer(1)),box.addChild(new Text(renderPatchPreview(result.details.preview,cwd,theme,expanded),0,0)));let text=resultText(result);return text&&(box.addChild(new Spacer(1)),box.addChild(new Text(theme.fg("toolOutput",text),0,0))),component.addChild(box),component}function createApplyPatchTool(variant="freeform"){let tool={name:"apply_patch",label:"ApplyPatch",description:variant==="json"?APPLY_PATCH_JSON_DESCRIPTION:APPLY_PATCH_FREEFORM_DESCRIPTION,parameters:APPLY_PATCH_PARAMS,prepareArguments:normalizeApplyPatchArguments,promptSnippet:"Apply Codex-format file patches with apply_patch",promptGuidelines:["Use apply_patch for file edits instead of mutating files through bash, Python scripts, heredocs, or shell redirection.","After apply_patch succeeds, do not re-read the edited files just to confirm the patch applied."],async execute(_toolCallId,params,_signal,onUpdate,ctx){let normalizedParams=normalizeApplyPatchArguments(params);if(!normalizedParams.input)throw new Error("input is required");let totalOperations=0;try{totalOperations=parsePatch(normalizedParams.input).length}catch{}let initialProgress=totalOperations>0?{applied:0,failed:0,total:totalOperations}:void 0,pendingUpdate=await createPendingPatchUpdate(ctx.cwd,normalizedParams.input,initialProgress);onUpdate?.({content:[{type:"text",text:pendingUpdate.text}],details:pendingUpdate.details});let preview=pendingUpdate.details?.preview,result=await applyPatchDetailed(ctx.cwd,normalizedParams.input,async progress=>{let progressUpdate=await createPendingPatchUpdate(ctx.cwd,normalizedParams.input,progress,preview);onUpdate?.({content:[{type:"text",text:progressUpdate.text}],details:progressUpdate.details})}),resultPreview=appliedPreview(result),persistedResult=compactApplyPatchResult(result);return result.failures.length>0?{content:[{type:"text",text:buildPartialFailureText(result)}],details:resultPreview?{preview:resultPreview,result:persistedResult}:{result:persistedResult}}:{content:[{type:"text",text:result.summaries.join(`
|
|
153
|
-
`)}],details:resultPreview?{preview:resultPreview,result:persistedResult}:{result:persistedResult}}},renderCall(args,theme,context){if(!context.executionStarted){let streaming=renderStreamingPatchCall(normalizeApplyPatchArguments(args),theme,context.state);if(streaming)return streaming}if(!context.argsComplete)return new Text(theme.fg("toolTitle",theme.bold("apply_patch: Patching")),0,0);let normalizedArgs=normalizeApplyPatchArguments(args),renderState=getApplyPatchRenderState(context.toolCallId,context.cwd,normalizedArgs.input),text=renderState.callText?.length?`apply_patch: ${renderState.callText}`:"apply_patch";return new Text(theme.fg("toolTitle",theme.bold(text)),0,0)},renderResult(result,options,theme,context){if(context.isError&&result.details?.result?.failures.length)return renderFailureBox(result,context.cwd,!0,theme);if(result.details?.preview)return renderPreviewBox(options.isPartial?"Applying patch":"Applied patch",result.details,options.isPartial,context.cwd,!0,theme);if(result.details?.result){let component=new Container,box=new Box(1,1,text=>theme.bg(options.isPartial?"toolPendingBg":"toolSuccessBg",text));if(box.addChild(new Text(theme.fg("toolTitle",theme.bold("Applying patch")),0,0)),box.addChild(new Spacer(1)),result.details.preview){let expanded=options.isPartial?!0:options.expanded??!0;box.addChild(new Text(renderPatchPreview(result.details.preview,context.cwd,theme,expanded),0,0))}return component.addChild(box),component}return renderTextResult(result,theme)}};return variant==="json"?tool:Object.assign(tool,{freeform:{type:"grammar",syntax:"lark",definition:APPLY_PATCH_LARK_GRAMMAR}})}var APPLY_PATCH_FREEFORM_APIS=new Set(["openai-responses","azure-openai-responses","openai-codex-responses"]),APPLY_PATCH_JSON_APIS=new Set(["openai-completions"]),EDIT_TOOL_NAMES=new Set(["write","edit"]),APPLY_PATCH_NAME="apply_patch";function isGptId(model){return model!==void 0&&/(?:^|[/@:._-])gpt(?:[._-]|\d)/i.test(model.id)}function getApplyPatchWireMode(model){return isGptId(model)?APPLY_PATCH_FREEFORM_APIS.has(model.api)?"freeform":APPLY_PATCH_JSON_APIS.has(model.api)?"json":"none":"none"}function hasEditTools(toolNames){return toolNames.some(toolName=>EDIT_TOOL_NAMES.has(toolName))}function withoutApplyPatch(toolNames){return toolNames.filter(toolName=>toolName!==APPLY_PATCH_NAME)}function replaceEditToolsWithApplyPatch(toolNames){let hadApplyPatch=toolNames.includes(APPLY_PATCH_NAME),insertIndex=toolNames.findIndex(toolName=>EDIT_TOOL_NAMES.has(toolName)||toolName===APPLY_PATCH_NAME),filteredToolNames=withoutApplyPatch(toolNames).filter(toolName=>!EDIT_TOOL_NAMES.has(toolName));if(!hasEditTools(toolNames)&&!hadApplyPatch)return filteredToolNames;let at=insertIndex===-1?filteredToolNames.length:Math.min(insertIndex,filteredToolNames.length);return[...filteredToolNames.slice(0,at),APPLY_PATCH_NAME,...filteredToolNames.slice(at)]}function hasApplyPatchFailures(details){if(typeof details!="object"||details===null)return!1;let result=Reflect.get(details,"result");if(typeof result!="object"||result===null)return!1;let failures=Reflect.get(result,"failures");return Array.isArray(failures)&&failures.length>0}function syncToolset(pi,model,state,variants){let mode=getApplyPatchWireMode(model);state.wireMode=mode;let currentToolNames=pi.getActiveTools();if(mode!=="none"){state.activeVariant!==mode&&(pi.registerTool(variants[mode]),state.activeVariant=mode);let activeEdit=currentToolNames.filter(toolName=>EDIT_TOOL_NAMES.has(toolName));activeEdit.length>0&&(state.removedEditToolNames=activeEdit),pi.setActiveTools(replaceEditToolsWithApplyPatch(currentToolNames));return}if(state.removedEditToolNames.length===0){currentToolNames.includes(APPLY_PATCH_NAME)&&pi.setActiveTools(withoutApplyPatch(currentToolNames));return}let registeredNames=new Set(pi.getAllTools().map(tool=>tool.name)),restorable=state.removedEditToolNames.filter(toolName=>registeredNames.has(toolName)),restored=[...withoutApplyPatch(currentToolNames),...restorable];state.removedEditToolNames=[],pi.setActiveTools([...new Set(restored)])}function registerApplyPatchLazyActivator(pi,state){pi.registerLazyToolActivator?.(toolName=>{if(toolName!==APPLY_PATCH_NAME||state.wireMode==="none")return!1;let activeToolNames=pi.getActiveTools();return activeToolNames.includes(APPLY_PATCH_NAME)?!1:(pi.setActiveTools([...activeToolNames,APPLY_PATCH_NAME]),!0)})}function registerApplyPatchExtension(pi){let state={removedEditToolNames:[],wireMode:"none"},variants={freeform:createApplyPatchTool("freeform"),json:createApplyPatchTool("json")};state.activeVariant="freeform",pi.registerTool(variants.freeform),registerApplyPatchLazyActivator(pi,state),pi.on("tool_result",async event=>{if(!(event.toolName!==APPLY_PATCH_NAME||event.isError||!hasApplyPatchFailures(event.details)))return{isError:!0}}),pi.on("session_start",async(_event,ctx)=>{syncToolset(pi,ctx.model,state,variants)}),pi.on("model_select",async event=>{syncToolset(pi,event.model,state,variants)})}var extension_default=registerApplyPatchExtension;function createFileOps(){return{read:new Set,written:new Set,edited:new Set}}function extractFileOpsFromMessage(message,fileOps){if(message.role==="toolResult"){for(let call of message.nestedCalls?.calls??[])addFileOp(call.name,call.arguments,fileOps);return}if(message.role==="assistant"&&!(!("content"in message)||!Array.isArray(message.content)))for(let block of message.content)typeof block!="object"||block===null||!("type"in block)||block.type!=="toolCall"||!("arguments"in block)||!("name"in block)||addFileOp(block.name,block.arguments,fileOps)}function addFileOp(toolName,args,fileOps){if(args)switch(toolName){case"read":typeof args.path=="string"&&fileOps.read.add(args.path);break;case"write":typeof args.path=="string"&&fileOps.written.add(args.path);break;case"edit":typeof args.path=="string"&&fileOps.edited.add(args.path);break;case"apply_patch":if(typeof args.input!="string")return;for(let patchedPath of extractPatchedPaths(args.input))fileOps.edited.add(patchedPath);break}}function computeFileLists(fileOps){let modified=new Set([...fileOps.edited,...fileOps.written]),readOnly=[...fileOps.read].filter(f=>!modified.has(f)).sort(),modifiedFiles=[...modified].sort();return{readFiles:readOnly,modifiedFiles}}function formatFileOperations(readFiles,modifiedFiles){let sections=[];return readFiles.length>0&§ions.push(`<read-files>
|
|
154
|
-
${readFiles.join(`
|
|
155
|
-
`)}
|
|
156
|
-
</read-files>`),modifiedFiles.length>0&§ions.push(`<modified-files>
|
|
157
|
-
${modifiedFiles.join(`
|
|
158
|
-
`)}
|
|
159
|
-
</modified-files>`),sections.length===0?"":`
|
|
160
|
-
|
|
161
|
-
${sections.join(`
|
|
162
|
-
|
|
163
|
-
`)}`}var TOOL_RESULT_MAX_CHARS=2e3;function truncateForSummary(text,maxChars){if(text.length<=maxChars)return text;let truncatedChars=text.length-maxChars;return`${text.slice(0,maxChars)}
|
|
164
|
-
|
|
165
|
-
[... ${truncatedChars} more characters truncated]`}function isPortableSummaryContentBlock(block){return block.type!=="providerNative"}function contentTextForSummary(content,separator=`
|
|
166
|
-
`){return typeof content=="string"?content:contentText(content.filter(isPortableSummaryContentBlock),separator)}function serializeConversation(messages){let parts=[];for(let msg of messages)if(msg.role==="user"){let content=contentTextForSummary(msg.content,"");content&&parts.push(`[User]: ${content}`)}else if(msg.role==="assistant"){let thinkingParts=[],toolCalls=[];for(let block of msg.content)if(block.type==="thinking")thinkingParts.push(block.thinking);else if(block.type==="toolCall"){let args=block.arguments,argsStr=Object.entries(args).map(([k,v])=>`${k}=${JSON.stringify(v)}`).join(", ");toolCalls.push(`${block.name}(${argsStr})`)}thinkingParts.length>0&&parts.push(`[Assistant thinking]: ${thinkingParts.join(`
|
|
167
|
-
`)}`),msg.content.some(block=>block.type==="text")&&parts.push(`[Assistant]: ${contentTextForSummary(msg.content)}`),toolCalls.length>0&&parts.push(`[Assistant tool calls]: ${toolCalls.join("; ")}`)}else if(msg.role==="toolResult"){let content=contentTextForSummary(msg.content,"");content&&parts.push(`[Tool result]: ${truncateForSummary(content,TOOL_RESULT_MAX_CHARS)}`)}return parts.join(`
|
|
168
|
-
|
|
169
|
-
`)}var SUMMARIZATION_SYSTEM_PROMPT=`You are a context summarization assistant. Your task is to read a conversation between a user and an AI assistant, then produce a structured summary following the exact format specified.
|
|
170
|
-
|
|
171
|
-
Do NOT continue the conversation. Do NOT respond to any questions in the conversation. ONLY output the structured summary.`;var PROMPT_CACHE_PREWARM_ENTRY_TYPE="prompt-cache-prewarm";function isFiniteNumber(value){return typeof value=="number"&&Number.isFinite(value)}function isUsage(value){if(typeof value!="object"||value===null)return!1;let usage=value;return isFiniteNumber(usage.input)&&isFiniteNumber(usage.output)&&isFiniteNumber(usage.cacheRead)&&isFiniteNumber(usage.cacheWrite)&&typeof usage.cost=="object"&&usage.cost!==null&&isFiniteNumber(usage.cost.total)}function getPromptCachePrewarmUsage(entry){if(entry.type!=="custom"||entry.customType!==PROMPT_CACHE_PREWARM_ENTRY_TYPE)return;let data=entry.data;return data?.phase==="warmed"&&isUsage(data.usage)?data.usage:void 0}function createUsageTotals(){return{input:0,output:0,cacheRead:0,cacheWrite:0,cost:0}}function addUsageToTotals(totals,usage){totals.input+=usage.input,totals.output+=usage.output,totals.cacheRead+=usage.cacheRead,totals.cacheWrite+=usage.cacheWrite,totals.cost+=usage.cost.total}function combineUsage(first,second){return{input:first.input+second.input,output:first.output+second.output,cacheRead:first.cacheRead+second.cacheRead,cacheWrite:first.cacheWrite+second.cacheWrite,...first.cacheWrite1h!==void 0||second.cacheWrite1h!==void 0?{cacheWrite1h:(first.cacheWrite1h??0)+(second.cacheWrite1h??0)}:{},...first.reasoning!==void 0||second.reasoning!==void 0?{reasoning:(first.reasoning??0)+(second.reasoning??0)}:{},totalTokens:first.totalTokens+second.totalTokens,cost:{input:first.cost.input+second.cost.input,output:first.cost.output+second.cost.output,cacheRead:first.cost.cacheRead+second.cost.cacheRead,cacheWrite:first.cost.cacheWrite+second.cost.cacheWrite,total:first.cost.total+second.cost.total}}}function getUsageCostBreakdown(entries){let totalsByKey=new Map;for(let entry of entries){let key,usage;if(entry.type==="message"&&entry.message.role==="assistant"?(key=`${entry.message.provider}/${entry.message.responseModel??entry.message.model}`,usage=entry.message.usage):entry.type==="usage"?(key=`${entry.provider}/${entry.model}`,usage=entry.usage):entry.type==="message"&&entry.message.role==="toolResult"&&entry.message.usage?(key="Tools/summaries",usage=entry.message.usage):(entry.type==="branch_summary"||entry.type==="compaction")&&entry.usage?(key="Tools/summaries",usage=entry.usage):(usage=getPromptCachePrewarmUsage(entry),usage&&(key="Tools/summaries")),!key||!usage)continue;let totals=totalsByKey.get(key);totals||(totals=createUsageTotals(),totalsByKey.set(key,totals)),addUsageToTotals(totals,usage)}return Array.from(totalsByKey,([key,totals])=>({key,cost:totals.cost,tokens:totals.input+totals.output+totals.cacheRead+totals.cacheWrite})).filter(entry=>entry.cost>0||entry.tokens>0).sort((a,b)=>b.cost-a.cost)}var compat_exports={};__export(compat_exports,{ACCOUNT_LIMIT_NEXT_STEP_LEAD:()=>ACCOUNT_LIMIT_NEXT_STEP_LEAD,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_THIRD_PARTY_BILLING_MARKER:()=>ANTHROPIC_THIRD_PARTY_BILLING_MARKER,ANTHROPIC_WORKSPACE_ID_ENV:()=>ANTHROPIC_WORKSPACE_ID_ENV,AssistantMessageEventStream:()=>AssistantMessageEventStream,AssistantMessageFrameEncoder:()=>AssistantMessageFrameEncoder,BILLING_INCOMPLETE_DIAGNOSTIC:()=>BILLING_INCOMPLETE_DIAGNOSTIC,CONTEXT_PROVENANCE_FIELD:()=>CONTEXT_PROVENANCE_FIELD,CURSOR_MODEL_CAPABILITIES:()=>CURSOR_MODEL_CAPABILITIES,DEFAULT_MAX_AGENT_RETRY_DELAY_MS:()=>DEFAULT_MAX_AGENT_RETRY_DELAY_MS,EMPTY_RESPONSE_ERROR:()=>EMPTY_RESPONSE_ERROR,EMPTY_TOOL_USE_ERROR:()=>EMPTY_TOOL_USE_ERROR,EventStream:()=>EventStream,FORWARDED_EMPTY_RESPONSE_ERROR:()=>FORWARDED_EMPTY_RESPONSE_ERROR,FORWARDED_EMPTY_TOOL_USE_ERROR:()=>FORWARDED_EMPTY_TOOL_USE_ERROR,InMemoryCredentialStore:()=>InMemoryCredentialStore,InMemoryModelsStore:()=>InMemoryModelsStore,LEGACY_PROVIDER_IDS:()=>LEGACY_PROVIDER_IDS,ModelsError:()=>ModelsError,OAUTH_REFRESH_UNAVAILABLE_DIAGNOSTIC:()=>OAUTH_REFRESH_UNAVAILABLE_DIAGNOSTIC,PROMPT_CACHE_TTL_LONG_SECONDS:()=>PROMPT_CACHE_TTL_LONG_SECONDS,PROMPT_CACHE_TTL_OPENAI_EXTENDED_SECONDS:()=>PROMPT_CACHE_TTL_OPENAI_EXTENDED_SECONDS,PROMPT_CACHE_TTL_SHORT_SECONDS:()=>PROMPT_CACHE_TTL_SHORT_SECONDS,PROVIDER_DIAGNOSTIC_MAX_BYTES:()=>PROVIDER_DIAGNOSTIC_MAX_BYTES,PROVIDER_NOT_CONFIGURED_PREFIX:()=>PROVIDER_NOT_CONFIGURED_PREFIX,PROVIDER_REQUEST_ID_MARKER:()=>PROVIDER_REQUEST_ID_MARKER,SERVER_FALLBACK_ABORTED_DIAGNOSTIC:()=>SERVER_FALLBACK_ABORTED_DIAGNOSTIC,StringEnum:()=>StringEnum,TOOL_RESULT_PLACEHOLDER:()=>TOOL_RESULT_PLACEHOLDER,TURN_RETRY_SUPPRESSION_PREFIX:()=>TURN_RETRY_SUPPRESSION_PREFIX,Type:()=>typebox_exports,USAGE_LIMIT_EXHAUSTION:()=>USAGE_LIMIT_EXHAUSTION,anthropicMessagesApi:()=>anthropicMessagesApi,apiKeyEnvProviders:()=>apiKeyEnvProviders,appendAssistantMessageDiagnostic:()=>appendAssistantMessageDiagnostic,applyServerFallbackAbort:()=>applyServerFallbackAbort,applyServerFallbackContinuation:()=>applyServerFallbackContinuation,azureOpenAIResponsesApi:()=>azureOpenAIResponsesApi,bedrockConverseStreamApi:()=>bedrockConverseStreamApi,calculateCost:()=>calculateCost,clampThinkingLevel:()=>clampThinkingLevel,classifyErrorMessage:()=>classifyErrorMessage,cleanupSessionResources:()=>cleanupSessionResources,clearImagesApiProviders:()=>clearImagesApiProviders,collapseSystemMessages:()=>collapseSystemMessages,complete:()=>complete,completeSimple:()=>completeSimple,composeCursorShellCommand:()=>composeShellCommand,contentText:()=>contentText,contextProvenanceFingerprint:()=>contextProvenanceFingerprint,convertResponsesMessages:()=>convertResponsesMessages,copyContextProvenance:()=>copyContextProvenance,copyCursorExecResolved:()=>copyCursorExecResolved,costCardAt:()=>costCardAt,createAssistantMessageDiagnostic:()=>createAssistantMessageDiagnostic,createAssistantMessageEventStream:()=>createAssistantMessageEventStream,createFauxCore:()=>createFauxCore,createInitialSystemMessage:()=>createInitialSystemMessage,createModels:()=>createModels,createProvider:()=>createProvider,createXtmlRecoveryStreamParser:()=>createXtmlRecoveryStreamParser,cursorAgentApi:()=>cursorAgentApi,cursorOverflowCompactionSettings:()=>cursorOverflowCompactionSettings,cursorPiLimit:()=>piLimit,cursorPiLsPath:()=>piLsPath,cursorPiReadArgs:()=>piReadArgs,cursorPiTimeout:()=>piTimeout,declarationsEqual:()=>declarationsEqual,defaultProviderAuthContext:()=>defaultProviderAuthContext,deriveCursorVariantAliases:()=>deriveCursorVariantAliases,describeProviderFailureForUser:()=>describeProviderFailureForUser,describeProviderStallForUser:()=>describeProviderStallForUser,describeReplacedInstall:()=>describeReplacedInstall,devinAgentApi:()=>devinAgentApi,dropFailedAssistantTurns:()=>dropFailedAssistantTurns,envApiKeyAuth:()=>envApiKeyAuth,estimateContextTokens:()=>estimateContextTokens,extractChatGptSubscriptionAccountId:()=>extractChatGptSubscriptionAccountId,extractDiagnosticError:()=>extractDiagnosticError,fauxAssistantMessage:()=>fauxAssistantMessage,fauxOverflowError:()=>fauxOverflowError,fauxProvider:()=>fauxProvider,fauxText:()=>fauxText,fauxThinking:()=>fauxThinking,fauxToolCall:()=>fauxToolCall,findEnvKeys:()=>findEnvKeys,formatProviderRequestId:()=>formatProviderRequestId,formatStallDuration:()=>formatStallDuration,formatThrownValue:()=>formatThrownValue,generateImages:()=>generateImages,generateImagesOpenAI:()=>generateImagesOpenAI,generateImagesOpenRouter:()=>generateImagesOpenRouter,getApiKeyEnvVars:()=>getApiKeyEnvVars,getApiProvider:()=>getApiProvider,getApiProviders:()=>getApiProviders,getContextProvenance:()=>getContextProvenance,getCurrentSystemMessage:()=>getCurrentSystemMessage,getCurrentSystemPrompt:()=>getCurrentSystemPrompt,getCurrentTools:()=>getCurrentTools,getCursorBaseIdForVariant:()=>getCursorBaseIdForVariant,getCursorCapabilityForBase:()=>getCursorCapabilityForBase,getCursorVariantAlias:()=>getCursorVariantAlias,getDeclaredTools:()=>getDeclaredTools,getEnvApiKey:()=>getEnvApiKey,getImageModel:()=>getImageModel,getImageModels:()=>getImageModels,getImageProviders:()=>getImageProviders,getImagesApiProvider:()=>getImagesApiProvider,getImagesApiProviders:()=>getImagesApiProviders,getInitialSystemMessage:()=>getInitialSystemMessage,getModel:()=>getModel,getModelType:()=>getModelType,getModels:()=>getModels,getOverflowPatterns:()=>getOverflowPatterns,getProtocol:()=>getProtocol,getProviders:()=>getProviders,getRegisteredFauxProvider:()=>getRegisteredFauxProvider,getSupportedThinkingLevels:()=>getSupportedThinkingLevels,getSystemMessageText:()=>getSystemMessageText,getToolCallFormat:()=>getToolCallFormat,getToolStateChanges:()=>getToolStateChanges,getWireIdentity:()=>getWireIdentity,googleGenerativeAIApi:()=>googleGenerativeAIApi,googleVertexApi:()=>googleVertexApi,hasApi:()=>hasApi,hasCredentialHeaders:()=>hasCredentialHeaders,hasHeader:()=>hasHeader,hasKimiTextToolCallRecovery:()=>hasKimiTextToolCallRecovery,hasNonAdditiveToolChanges:()=>hasNonAdditiveToolChanges,hasToolRedefinitions:()=>hasToolRedefinitions,hasVisibleAssistantContent:()=>hasVisibleAssistantContent,hasVisibleText:()=>hasVisibleText,inferOpenAIThinkingLevelMap:()=>inferOpenAIThinkingLevelMap,inferThinkingLevelMap:()=>inferThinkingLevelMap,installImagesProviderScopeAccessor:()=>installImagesProviderScopeAccessor,isAnthropicApiBaseUrl:()=>isAnthropicApiBaseUrl,isAnthropicThirdPartyBillingMessage:()=>isAnthropicThirdPartyBillingMessage,isClassifierRefusal:()=>isClassifierRefusal,isContextOverflow:()=>isContextOverflow,isCredentialHeaderName:()=>isCredentialHeaderName,isCursorExecResolved:()=>isCursorExecResolved,isCursorPayloadResourceExhausted:()=>isCursorPayloadResourceExhausted,isCursorQuotaResourceExhausted:()=>isCursorQuotaResourceExhausted,isCursorZeroTokenResourceExhausted:()=>isCursorZeroTokenResourceExhausted,isLegacyProviderId:()=>isLegacyProviderId,isModelType:()=>isModelType,isOpenAIResponsesPromptCacheModel:()=>isOpenAIResponsesPromptCacheModel,isProviderStreamStallError:()=>isProviderStreamStallError,isProviderTimeoutError:()=>isProviderTimeoutError,isQuotaExhaustionMessage:()=>isQuotaExhaustionMessage,isRecoverableLength:()=>isRecoverableLength,isRetryableAssistantError:()=>isRetryableAssistantError,isRetryableErrorMessage:()=>isRetryableErrorMessage,isVideoMimeType:()=>isVideoMimeType,kCursorExecResolved:()=>kCursorExecResolved,lazyApi:()=>lazyApi,lazyOAuth:()=>lazyOAuth,lazyStream:()=>lazyStream,legacyProviderIdRejection:()=>legacyProviderIdRejection,legacyProviderIdsFor:()=>legacyProviderIdsFor,loadCursorAgentModule:()=>loadCursorAgentModule,loadDevinAgentModule:()=>loadDevinAgentModule,measureCursorHistorySerializedBytes:()=>measureCursorHistorySerializedBytes,measureCursorModelInputSerializedBytes:()=>measureCursorModelInputSerializedBytes,mistralConversationsApi:()=>mistralConversationsApi,modelSupportsAssistantPrefill:()=>modelSupportsAssistantPrefill,modelsAreEqual:()=>modelsAreEqual,normalizeContext:()=>normalizeContext,normalizeCursorCatalog:()=>normalizeCursorCatalog,normalizeModelRef:()=>normalizeModelRef,normalizeProviderId:()=>normalizeProviderId,omitUndefinedCursorArgs:()=>omitUndefinedArgs,openAICodexResponsesApi:()=>openAICodexResponsesApi,openAICompletionsApi:()=>openAICompletionsApi,openAIResponsesApi:()=>openAIResponsesApi,parseCursorVariantId:()=>parseCursorVariantId,parseEndpointReasoningEfforts:()=>parseEndpointReasoningEfforts,parseJsonWithRepair:()=>parseJsonWithRepair,parseOpenAIImageOutputOptions:()=>parseOpenAIImageOutputOptions,parseOpenAIImageSize:()=>parseOpenAIImageSize,parseServerFallbackReceipt:()=>parseServerFallbackReceipt,parseStickyFallbackReceipt:()=>parseStickyFallbackReceipt,parseStreamingJson:()=>parseStreamingJson,piMessagesApi:()=>piMessagesApi,providerCredentialEnvNames:()=>providerCredentialEnvNames,providerNotConfiguredMessage:()=>providerNotConfiguredMessage,readByProviderId:()=>readByProviderId,readProviderDiagnostic:()=>readProviderDiagnostic,reduceAssistantMessageFrames:()=>reduceAssistantMessageFrames,registerApiProvider:()=>registerApiProvider,registerBuiltInApiProviders:()=>registerBuiltInApiProviders,registerBuiltInImagesApiProviders:()=>registerBuiltInImagesApiProviders,registerBuiltinImagesApiProvider:()=>registerBuiltinImagesApiProvider,registerFauxProvider:()=>registerFauxProvider,registerImagesApiProvider:()=>registerImagesApiProvider,registerSessionResourceCleanup:()=>registerSessionResourceCleanup,renderCursorCliModelString:()=>renderCursorCliModelString,renderSystemMessageUpdate:()=>renderSystemMessageUpdate,repairJson:()=>repairJson,repairOrphanedToolResults:()=>repairOrphanedToolResults,resetApiProviders:()=>resetApiProviders,resetImagesApiProviders:()=>resetImagesApiProviders,resolveCursorSelectionDescriptor:()=>resolveCursorSelectionDescriptor,resolvePromptCacheLifetime:()=>resolvePromptCacheLifetime,resolvePromptCacheTtlSeconds:()=>resolvePromptCacheTtlSeconds,resolveTranscript:()=>resolveTranscript,resolveTranscriptTools:()=>resolveTranscriptTools,retryAssistantCall:()=>retryAssistantCall,retryDelayMs:()=>retryDelayMs,retryTransientCall:()=>retryTransientCall,sanitizeAnthropicToolPairs:()=>sanitizeAnthropicToolPairs,sanitizeProviderDiagnostic:()=>sanitizeProviderDiagnostic,serverFallbackRefusalExplanation:()=>serverFallbackRefusalExplanation,setBedrockProviderModule:()=>setBedrockProviderModule,setCursorAgentProviderModule:()=>setCursorAgentProviderModule,setDevinAgentProviderModule:()=>setDevinAgentProviderModule,setImagesProviderScopeStrictMode:()=>setImagesProviderScopeStrictMode,setWireIdentity:()=>setWireIdentity,shouldRecoverTextToolCalls:()=>shouldRecoverTextToolCalls,shouldRetryOverflowWithoutCompact:()=>shouldRetryOverflowWithoutCompact,shouldSkipProviderFallbackForCursorZeroRe:()=>shouldSkipProviderFallbackForCursorZeroRe,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,stripProviderRequestIds:()=>stripProviderRequestIds,stripTurnRetrySuppressionPrefix:()=>stripTurnRetrySuppressionPrefix,supportsAllowedToolChoice:()=>supportsAllowedToolChoice,supportsConfigurationUpdate:()=>supportsConfigurationUpdate,supportsMax:()=>supportsMax,supportsXhigh:()=>supportsXhigh,toToolDeclaration:()=>toToolDeclaration,transformContext:()=>transformContext,unregisterApiProviders:()=>unregisterApiProviders,unregisterImagesApiProviders:()=>unregisterImagesApiProviders,uuidv7:()=>uuidv7,validateToolArguments:()=>validateToolArguments,validateToolCall:()=>validateToolCall,warmPromptCache:()=>warmPromptCache,withoutInitialSystemMessage:()=>withoutInitialSystemMessage,wrapStreamWithInvokeRecovery:()=>wrapStreamWithInvokeRecovery,wrapStreamWithModelRecovery:()=>wrapStreamWithModelRecovery,wrapStreamWithToolCallMiddleware:()=>wrapStreamWithToolCallMiddleware});var anthropicMessagesApi=()=>lazyApi(()=>import("./anthropic-messages-3CFTFCKV.js"));var azureOpenAIResponsesApi=()=>lazyApi(()=>import("./azure-openai-responses-SNWKFDXK.js"));var __rewriteRelativeImportExtension=function(path4,preserveJsx){return typeof path4=="string"&&/^\.\.?\//.test(path4)?path4.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(m,tsx,d,ext,cm){return tsx?preserveJsx?".jsx":".js":d&&(!ext||!cm)?m:d+ext+"."+cm.toLowerCase()+"js"}):path4},importNodeOnlyApi=specifier=>{let runtimeSpecifier=import.meta.url.endsWith(".js")?specifier.replace(/\.ts$/,".js"):specifier;return import(__rewriteRelativeImportExtension(runtimeSpecifier))},bedrockModuleOverride;function setBedrockProviderModule(module){bedrockModuleOverride=module}var bedrockConverseStreamApi=()=>lazyApi(async()=>bedrockModuleOverride??await importNodeOnlyApi("./bedrock-converse-stream.ts"));var __rewriteRelativeImportExtension2=function(path4,preserveJsx){return typeof path4=="string"&&/^\.\.?\//.test(path4)?path4.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(m,tsx,d,ext,cm){return tsx?preserveJsx?".jsx":".js":d&&(!ext||!cm)?m:d+ext+"."+cm.toLowerCase()+"js"}):path4},importNodeOnlyApi2=specifier=>{let runtimeSpecifier=import.meta.url.endsWith(".js")?specifier.replace(/\.ts$/,".js"):specifier;return import(__rewriteRelativeImportExtension2(runtimeSpecifier))},cursorAgentModuleOverride;function setCursorAgentProviderModule(module){cursorAgentModuleOverride=module}var loadCursorAgentModule=async()=>cursorAgentModuleOverride??await importNodeOnlyApi2("./cursor-agent.ts"),cursorAgentApi=()=>lazyApi(loadCursorAgentModule);var __rewriteRelativeImportExtension3=function(path4,preserveJsx){return typeof path4=="string"&&/^\.\.?\//.test(path4)?path4.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(m,tsx,d,ext,cm){return tsx?preserveJsx?".jsx":".js":d&&(!ext||!cm)?m:d+ext+"."+cm.toLowerCase()+"js"}):path4},importNodeOnlyApi3=specifier=>{let runtimeSpecifier=import.meta.url.endsWith(".js")?specifier.replace(/\.ts$/,".js"):specifier;return import(__rewriteRelativeImportExtension3(runtimeSpecifier))},devinAgentModuleOverride;function setDevinAgentProviderModule(module){devinAgentModuleOverride=module}var loadDevinAgentModule=async()=>devinAgentModuleOverride??importNodeOnlyApi3("./devin-agent.ts"),devinAgentApi=()=>lazyApi(loadDevinAgentModule);var googleGenerativeAIApi=()=>lazyApi(()=>import("./google-generative-ai-UFCHYLRE.js"));var googleVertexApi=()=>lazyApi(()=>import("./google-vertex-2FWDY7XX.js"));var mistralConversationsApi=()=>lazyApi(()=>import("./mistral-conversations-QHZLDTSP.js"));var openAICodexResponsesApi=()=>lazyApi(()=>import("./openai-codex-responses-RLYFSLK6.js"));var openAICompletionsApi=()=>lazyApi(()=>import("./openai-completions-OWNSXMTD.js"));var openAIResponsesApi=()=>lazyApi(()=>import("./openai-responses-7W2KF3W7.js"));registerPromptCacheWarmer("openai-responses",async(model,context,options)=>{let{warmOpenAIResponsesPromptCache}=await import("./openai-responses-7W2KF3W7.js");return warmOpenAIResponsesPromptCache(model,context,options)});var piMessagesApi=()=>lazyApi(()=>import("./pi-messages-XDF2TVEV.js"));var alibaba_token_plan_default={"openai-completions":{"chat:deepseek-v3.2":{id:"deepseek-v3.2",name:"DeepSeek V3.2",api:"openai-completions",provider:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens",requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},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:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens",requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",max:"max"},type:"chat"},"chat:deepseek-v4-flash-0731":{id:"deepseek-v4-flash-0731",name:"DeepSeek V4 Flash 0731",api:"openai-completions",provider:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens",requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",max:"max"},type:"chat"},"chat:deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",api:"openai-completions",provider:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens",requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:1e6,maxTokens:384e3,thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",max:"max"},type:"chat"},"chat:deepseek-v4-pro-0813":{id:"deepseek-v4-pro-0813",name:"DeepSeek V4 Pro 0813",api:"openai-completions",provider:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens",requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},reasoning:!0,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},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:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens",requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},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:glm-5":{id:"glm-5",name:"GLM-5",api:"openai-completions",provider:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens"},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:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens"},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:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens"},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:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens"},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:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens",thinkingFormat:"deepseek",supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:98304,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens",thinkingFormat:"deepseek",supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens",thinkingFormat:"deepseek",supportsReasoningEffort:!1},reasoning:!0,input:["text","image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:262144,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens"},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:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens",thinkingFormat:"qwen"},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:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens",thinkingFormat:"qwen"},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:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens",thinkingFormat:"qwen"},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:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens",thinkingFormat:"qwen"},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:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens",thinkingFormat:"qwen"},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:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens",thinkingFormat:"qwen"},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-preview":{id:"qwen3.8-max-preview",name:"Qwen3.8 Max Preview",api:"openai-completions",provider:"alibaba-token-plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",compat:{supportsStrictMode:!0,supportsStore:!1,supportsDeveloperRole:!1,maxTokensField:"max_tokens",thinkingFormat:"qwen"},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 ALIBABA_TOKEN_PLAN_MODELS=flattenChatModelCatalog("alibaba-token-plan",alibaba_token_plan_default),ALIBABA_TOKEN_PLAN_IMAGE_MODELS=flattenImageModelCatalog("alibaba-token-plan",alibaba_token_plan_default),ALIBABA_TOKEN_PLAN_CLASSIFIER_MODELS=flattenClassifierModelCatalog("alibaba-token-plan",alibaba_token_plan_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:{xhigh:"xhigh",max:"max",off:null},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:{xhigh:"xhigh",max:"max",off:null},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:1e5,maxTokens:32e3,thinkingLevelMap:{xhigh:"xhigh",max:"max",off:null},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-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",off:null},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:1e5,maxTokens:32e3,thinkingLevelMap:{xhigh:"xhigh",max:"max",off:null},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",off:null},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:{xhigh:"xhigh",max:"max",off:null},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:1e5,maxTokens:32e3,thinkingLevelMap:{xhigh:"xhigh",max:"max",off:null},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",off:null},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",off:null},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:{xhigh:"xhigh",max:"max",off:null},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:{xhigh:"xhigh",max:"max",off:null},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:1e5,maxTokens:32e3,thinkingLevelMap:{xhigh:"xhigh",max:"max",off:null},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",off:null},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",off:null},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},contextWindow:922e3,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},contextWindow:922e3,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},compat:{supportsStrictMode:!0},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},contextWindow:922e3,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh"},compat:{supportsStrictMode:!0},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},contextWindow:6e5,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},contextWindow:922e3,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},contextWindow:4e5,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},contextWindow:4e5,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},contextWindow:922e3,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},contextWindow:922e3,maxTokens:128e3,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:1e5,maxTokens:32e3,thinkingLevelMap:{xhigh:"xhigh",max:"max",off:null},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",off:null},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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:6e5,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},contextWindow:922e3,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},contextWindow:4e5,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},contextWindow:4e5,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:{xhigh:"xhigh",max:"max",off:null},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:{xhigh:"xhigh",max:"max",off:null},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:1e5,maxTokens:32e3,thinkingLevelMap:{xhigh:"xhigh",max:"max",off:null},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",off:null},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",off:null},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},contextWindow:922e3,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},contextWindow:922e3,maxTokens:128e3,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},contextWindow:922e3,maxTokens:128e3,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},contextWindow:6e5,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},contextWindow:922e3,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},contextWindow:4e5,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},contextWindow:4e5,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,supportsDisabledThinking:!1,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:{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,supportsDisabledThinking:!1,forceAdaptiveThinking:!0,supportsStrictTools:!0,allowedFallbackModels:[{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-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:1e5,maxTokens:32e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsMidConvoEffort:!0,supportsMidConvoSystemMessages:!0,supportsMidConvoToolChanges:!0,supportsDisabledThinking:!1,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:{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-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,supportsDisabledThinking:!1,forceAdaptiveThinking:!0,supportsTemperature:!1,supportsStrictTools:!0,allowedFallbackModels:[{provider:"anthropic",model:"claude-opus-5",cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25}}]},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,supportsDisabledThinking:!1,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_openai_responses_default={"azure-openai-responses":{"chat:gpt-4":{id:"gpt-4",name:"GPT-4",api:"azure-openai-responses",provider:"azure-openai-responses",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-openai-responses",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-openai-responses",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-openai-responses",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-openai-responses",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-openai-responses",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-openai-responses",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-openai-responses",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-openai-responses",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-openai-responses",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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:272e3,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-openai-responses",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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:272e3,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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:.05,output:.4,cacheRead:.005,cacheWrite:0},contextWindow:272e3,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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:15,output:120,cacheRead:0,cacheWrite:0},contextWindow:272e3,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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:272e3,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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:272e3,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-chat-latest":{id:"gpt-5.2-chat-latest",name:"GPT-5.2 Chat",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:16384,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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:21,output:168,cacheRead:0,cacheWrite:0},contextWindow:272e3,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-chat-latest":{id:"gpt-5.3-chat-latest",name:"GPT-5.3 Chat (latest)",api:"azure-openai-responses",provider:"azure-openai-responses",baseUrl:"",reasoning:!1,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:16384,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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:272e3,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-openai-responses",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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0},contextWindow:922e3,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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:272e3,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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:272e3,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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:922e3,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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},contextWindow:922e3,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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},contextWindow:922e3,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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25},contextWindow:922e3,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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.4,cacheWrite:5},contextWindow:922e3,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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:2.5},contextWindow:922e3,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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:6e5,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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125},contextWindow:922e3,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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},contextWindow:4e5,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-openai-responses",baseUrl:"",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5},contextWindow:4e5,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-openai-responses",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-openai-responses",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-openai-responses",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-openai-responses",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-openai-responses",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-openai-responses",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-openai-responses",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-openai-responses",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-openai-responses",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"}}};var AZURE_OPENAI_RESPONSES_MODELS=flattenChatModelCatalog("azure-openai-responses",azure_openai_responses_default),AZURE_OPENAI_RESPONSES_IMAGE_MODELS=flattenImageModelCatalog("azure-openai-responses",azure_openai_responses_default),AZURE_OPENAI_RESPONSES_CLASSIFIER_MODELS=flattenClassifierModelCatalog("azure-openai-responses",azure_openai_responses_default);var bai_default={"anthropic-messages":{"chat:claude-fable-5":{id:"claude-fable-5",name:"Claude Fable 5",api:"anthropic-messages",provider:"bai",baseUrl:"https://api.b.ai",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:null,xhigh:"xhigh",max:"max"},input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,compat:{supportsDisabledThinking:!1,forceAdaptiveThinking:!0},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:"bai",baseUrl:"https://api.b.ai",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:{supportsDisabledThinking:!1,forceAdaptiveThinking:!0},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:"bai",baseUrl:"https://api.b.ai",reasoning:!1,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-opus-4.5":{id:"claude-opus-4.5",name:"Claude Opus 4.5",api:"anthropic-messages",provider:"bai",baseUrl:"https://api.b.ai",reasoning:!1,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:32e3,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:"bai",baseUrl:"https://api.b.ai",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:"bai",baseUrl:"https://api.b.ai",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:null,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}}},type:"chat"},"chat:claude-opus-4.8":{id:"claude-opus-4.8",name:"Claude Opus 4.8",api:"anthropic-messages",provider:"bai",baseUrl:"https://api.b.ai",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-5":{id:"claude-opus-5",name:"Claude Opus 5",api:"anthropic-messages",provider:"bai",baseUrl:"https://api.b.ai",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:{forceAdaptiveThinking:!0,supportsTemperature:!1},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:"bai",baseUrl:"https://api.b.ai",reasoning:!1,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},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:"bai",baseUrl:"https://api.b.ai",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},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:"bai",baseUrl:"https://api.b.ai",reasoning:!0,thinkingLevelMap:{off:"off",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}}},type:"chat"}},"openai-completions":{"chat:gemini-3-flash":{id:"gemini-3-flash",name:"Gemini 3 Flash",api:"openai-completions",provider:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!1,input:["text","image"],cost:{input:.5,output:3,cacheRead:.05,cacheWrite:.5},contextWindow:1048576,maxTokens:65536,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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",api:"openai-completions",provider:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:null},input:["text","image","video"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:2},contextWindow:1e6,maxTokens:64e3,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:"openai-completions",provider:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image","video"],cost:{input:1.5,output:9,cacheRead:.15,cacheWrite:1.5},contextWindow:1048576,maxTokens:65536,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:"openai-completions",provider:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!1,input:["text","image","video"],cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:.3},contextWindow:1048576,maxTokens:65536,compat:{supportsStrictMode:!0,supportsDeveloperRole:!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:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!1,input:["text","image","video"],cost:{input:1.5,output:7.5,cacheRead:.15,cacheWrite:1.5},contextWindow:1048576,maxTokens:65536,compat:{supportsStrictMode:!0,supportsDeveloperRole:!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:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text","image","video"],cost:{input:.75,output:3.75,cacheRead:.075,cacheWrite:.75},contextWindow:1048576,maxTokens:65536,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:glm-5.1":{id:"glm-5.1",name:"GLM-5.1",api:"openai-completions",provider:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!1,input:["text"],cost:{input:1.4,output:4.4,cacheRead:.28,cacheWrite:1.4},contextWindow:2e5,maxTokens:128e3,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},type:"chat"},"chat:glm-5.2":{id:"glm-5.2",name:"GLM-5.2",api:"openai-completions",provider:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:1.4,output:4.4,cacheRead:.28,cacheWrite:1.4},contextWindow:1e6,maxTokens:128e3,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},type:"chat"},"chat:glm-5.3":{id:"glm-5.3",name:"GLM-5.3",api:"openai-completions",provider:"bai",baseUrl:"https://api.b.ai/v1",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:.28,cacheWrite:1.4},contextWindow:1e6,maxTokens:131072,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},type:"chat"},"chat:glm-5.3-flash":{id:"glm-5.3-flash",name:"GLM-5.3 Flash",api:"openai-completions",provider:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image","video"],cost:{input:.15,output:.5,cacheRead:.03,cacheWrite:.15},contextWindow:1e6,maxTokens:131072,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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-completions",provider:"bai",baseUrl:"https://api.b.ai/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:6,cacheRead:.3,cacheWrite:2},contextWindow:5e5,maxTokens:5e5,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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-completions",provider:"bai",baseUrl:"https://api.b.ai/v1",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:2},contextWindow:5e5,maxTokens:5e5,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:hy3":{id:"hy3",name:"HY3",api:"openai-completions",provider:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!0,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:null},input:["text"],cost:{input:.132,output:.528,cacheRead:.033,cacheWrite:.132},contextWindow:256e3,maxTokens:128e3,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},type:"chat"},"chat:hy4-preview":{id:"hy4-preview",name:"HY4 Preview",api:"openai-completions",provider:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:null},input:["text"],cost:{input:.834,output:2.501,cacheRead:.042,cacheWrite:.834},contextWindow:1e6,maxTokens:64e3,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},type:"chat"},"chat:kimi-k2.5":{id:"kimi-k2.5",name:"Kimi K2.5",api:"openai-completions",provider:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!1,input:["text","image"],cost:{input:.59,output:3,cacheRead:.1,cacheWrite:.59},contextWindow:256e3,maxTokens:256e3,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!1,input:["text"],cost:{input:.95,output:4,cacheRead:.1615,cacheWrite:.95},contextWindow:262144,maxTokens:65536,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},type:"chat"},"chat:kimi-k3":{id:"kimi-k3",name:"Kimi K3",api:"openai-completions",provider:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:null,xhigh:null,max:"max"},input:["text","image","video"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3},contextWindow:1048576,maxTokens:131072,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!1,input:["text","image","video"],cost:{input:.14,output:.28,cacheRead:.0028,cacheWrite:.14},contextWindow:1e6,maxTokens:128e3,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!1,input:["text"],cost:{input:.435,output:.87,cacheRead:.0036,cacheWrite:.435},contextWindow:1e6,maxTokens:128e3,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},type:"chat"},"chat:minimax-m2.7":{id:"minimax-m2.7",name:"MiniMax M2.7",api:"openai-completions",provider:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!1,input:["text"],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:.375},contextWindow:204800,maxTokens:131100,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},type:"chat"},"chat:minimax-m3":{id:"minimax-m3",name:"MiniMax M3",api:"openai-completions",provider:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!1,input:["text"],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:.3},contextWindow:1e6,maxTokens:131072,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},type:"chat"},"chat:muse-spark-1-3":{id:"muse-spark-1-3",name:"Muse Spark 1.3",api:"openai-completions",provider:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!1,input:["text"],cost:{input:1.25,output:4.25,cacheRead:.15,cacheWrite:1.25},contextWindow:1e6,maxTokens:131e3,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},type:"chat"},"chat:qwen3.6-27b":{id:"qwen3.6-27b",name:"Qwen3.6 27b",api:"openai-completions",provider:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!1,input:["text","image","video"],cost:{input:.19,output:2.99,cacheRead:.019,cacheWrite:.19},contextWindow:128e3,maxTokens:32768,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!1,input:["text"],cost:{input:1.65,output:4.951,cacheRead:.33,cacheWrite:1.65},contextWindow:1e6,maxTokens:65536,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},type:"chat"},"chat:qwen3.8-27b":{id:"qwen3.8-27b",name:"Qwen3.8 27b",api:"openai-completions",provider:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!1,input:["text","image","video"],cost:{input:.22,output:1.6,cacheRead:.022,cacheWrite:.22},contextWindow:262144,maxTokens:131072,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!1,input:["text","image","video"],cost:{input:.16,output:.47,cacheRead:.016,cacheWrite:.16},contextWindow:1e6,maxTokens:131e3,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:null,xhigh:"xhigh",max:null},input:["text","image","video"],cost:{input:2,output:6,cacheRead:.25,cacheWrite:2},contextWindow:1e6,maxTokens:131070,compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}},"openai-responses":{"chat:deepseek-v3.2":{id:"deepseek-v3.2",name:"DeepSeek V3.2",api:"openai-responses",provider:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!1,input:["text"],cost:{input:.29,output:.44,cacheRead:.145,cacheWrite:.29},contextWindow:164e3,maxTokens:164e3,type:"chat"},"chat:deepseek-v4-flash":{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash",api:"openai-responses",provider:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!1,input:["text"],cost:{input:.3,output:1.2,cacheRead:.006,cacheWrite:.3},contextWindow:1e6,maxTokens:384e3,type:"chat"},"chat:deepseek-v4-flash-vision-exp":{id:"deepseek-v4-flash-vision-exp",name:"DeepSeek V4 Flash Vision Exp",api:"openai-responses",provider:"bai",baseUrl:"https://api.b.ai/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:.006,cacheWrite:.3},contextWindow:1e6,maxTokens:384e3,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-responses",provider:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},input:["text"],cost:{input:1.32,output:3.96,cacheRead:.044,cacheWrite:1.32},contextWindow:1e6,maxTokens:384e3,type:"chat"},"chat:deepseek-v4.1-flash":{id:"deepseek-v4.1-flash",name:"DeepSeek V4.1 Flash",api:"openai-responses",provider:"bai",baseUrl:"https://api.b.ai/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:.006,cacheWrite:.3},contextWindow:1e6,maxTokens:384e3,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:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},input:["text"],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:.25},contextWindow:272e3,maxTokens:128e3,type:"chat"},"chat:gpt-5-nano":{id:"gpt-5-nano",name:"GPT-5 Nano",api:"openai-responses",provider:"bai",baseUrl:"https://api.b.ai/v1",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:.05},contextWindow:272e3,maxTokens:128e3,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:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image","video"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:1.75},contextWindow:272e3,maxTokens:128e3,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:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:2.5},contextWindow:272e3,maxTokens:128e3,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:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:.75},contextWindow:272e3,maxTokens:128e3,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:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},input:["text","image"],cost:{input:.2,output:1.25,cacheRead:.02,cacheWrite:.2},contextWindow:272e3,maxTokens:128e3,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:"bai",baseUrl:"https://api.b.ai/v1",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:3,cacheWrite:30},contextWindow:922e3,maxTokens:128e3,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:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:"medium",high:null,xhigh:"xhigh",max:null},input:["text","image","video"],cost:{input:5,output:30,cacheRead:.5,cacheWrite:5,tiers:[{inputTokensAbove:272e3,input:10,output:45,cacheRead:1,cacheWrite:10}]},contextWindow:922e3,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.5-instant":{id:"gpt-5.5-instant",name:"GPT-5.5 Instant",api:"openai-responses",provider:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!0,input:["text","image","video"],cost:{input:5,output:30,cacheRead:.5,cacheWrite:5,tiers:[{inputTokensAbove:272e3,input:10,output:45,cacheRead:1,cacheWrite:10}]},contextWindow:922e3,maxTokens:128e3,thinkingLevelMap:{off:null,xhigh:"xhigh"},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:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!0,thinkingLevelMap:{off:null,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},contextWindow:922e3,maxTokens:128e3,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:"bai",baseUrl:"https://api.b.ai/v1",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:.4,cacheWrite:5},contextWindow:922e3,maxTokens:128e3,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:"bai",baseUrl:"https://api.b.ai/v1",reasoning:!0,thinkingLevelMap:{off:null,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},contextWindow:922e3,maxTokens:128e3,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:"bai",baseUrl:"https://api.b.ai/v1",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:6e5,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"}}};var BAI_MODELS=flattenChatModelCatalog("bai",bai_default),BAI_IMAGE_MODELS=flattenImageModelCatalog("bai",bai_default),BAI_CLASSIFIER_MODELS=flattenClassifierModelCatalog("bai",bai_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-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 chatgpt_subscription_default={"openai-codex-responses":{"chat:gpt-5.3-codex-spark":{id:"gpt-5.3-codex-spark",name:"GPT-5.3 Codex Spark",api:"openai-codex-responses",provider:"chatgpt-subscription",baseUrl:"https://chatgpt.com/backend-api",reasoning:!0,input:["text"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:128e3,thinkingLevelMap:{xhigh:"xhigh",minimal:"low"},compat:{supportsOpenAIGrammarTools:!0},type:"chat"},"chat:gpt-5.5":{id:"gpt-5.5",name:"GPT-5.5",api:"openai-codex-responses",provider:"chatgpt-subscription",baseUrl:"https://chatgpt.com/backend-api",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:{xhigh:"xhigh",minimal:"low"},compat:{supportsOpenAIGrammarTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!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-codex-responses",provider:"chatgpt-subscription",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-luna-fast":{id:"gpt-5.6-luna-fast",name:"GPT-5.6 Luna Fast",api:"openai-codex-responses",provider:"chatgpt-subscription",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}}},upstreamModelId:"gpt-5.6-luna",serviceTier:"priority",type:"chat"},"chat:gpt-5.6-sol":{id:"gpt-5.6-sol",name:"GPT-5.6 Sol",api:"openai-codex-responses",provider:"chatgpt-subscription",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:65e4,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-fast":{id:"gpt-5.6-sol-fast",name:"GPT-5.6 Sol Fast",api:"openai-codex-responses",provider:"chatgpt-subscription",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:65e4,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}}},upstreamModelId:"gpt-5.6-sol",serviceTier:"priority",type:"chat"},"chat:gpt-5.6-terra":{id:"gpt-5.6-terra",name:"GPT-5.6 Terra",api:"openai-codex-responses",provider:"chatgpt-subscription",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-5.6-terra-fast":{id:"gpt-5.6-terra-fast",name:"GPT-5.6 Terra Fast",api:"openai-codex-responses",provider:"chatgpt-subscription",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}}},upstreamModelId:"gpt-5.6-terra",serviceTier:"priority",type:"chat"},"chat:gpt-6-astra":{id:"gpt-6-astra",name:"GPT-6 Astra",api:"openai-codex-responses",provider:"chatgpt-subscription",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:6e5,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0,supportsConfigurationUpdate:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-astra-fast":{id:"gpt-6-astra-fast",name:"GPT-6 Astra Fast",api:"openai-codex-responses",provider:"chatgpt-subscription",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:6e5,maxTokens:128e3,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0,supportsConfigurationUpdate:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},upstreamModelId:"gpt-6-astra",serviceTier:"priority",type:"chat"},"chat:gpt-6-luna":{id:"gpt-6-luna",name:"GPT-6 Luna",api:"openai-codex-responses",provider:"chatgpt-subscription",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:922e3,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,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-fast":{id:"gpt-6-luna-fast",name:"GPT-6 Luna Fast",api:"openai-codex-responses",provider:"chatgpt-subscription",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:922e3,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,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}}},upstreamModelId:"gpt-6-luna",serviceTier:"priority",type:"chat"},"chat:gpt-6-sol":{id:"gpt-6-sol",name:"GPT-6 Sol",api:"openai-codex-responses",provider:"chatgpt-subscription",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:4e5,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,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-fast":{id:"gpt-6-sol-fast",name:"GPT-6 Sol Fast",api:"openai-codex-responses",provider:"chatgpt-subscription",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:4e5,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,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}}},upstreamModelId:"gpt-6-sol",serviceTier:"priority",type:"chat"},"chat:gpt-6.1-sol":{id:"gpt-6.1-sol",name:"GPT-6.1 Sol",api:"openai-codex-responses",provider:"chatgpt-subscription",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:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0,supportsConfigurationUpdate:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6.1-sol-fast":{id:"gpt-6.1-sol-fast",name:"GPT-6.1 Sol Fast",api:"openai-codex-responses",provider:"chatgpt-subscription",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:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0,supportsConfigurationUpdate:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},upstreamModelId:"gpt-6.1-sol",serviceTier:"priority",type:"chat"},"chat:gpt-6.1-sol-ultrafast":{id:"gpt-6.1-sol-ultrafast",name:"GPT-6.1 Sol Ultrafast",api:"openai-codex-responses",provider:"chatgpt-subscription",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:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0,supportsConfigurationUpdate:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},upstreamModelId:"gpt-6.1-sol",serviceTier:"ultrafast",defaultThinkingLevel:"xhigh",type:"chat"}}};var CHATGPT_SUBSCRIPTION_MODELS=flattenChatModelCatalog("chatgpt-subscription",chatgpt_subscription_default),CHATGPT_SUBSCRIPTION_IMAGE_MODELS=flattenImageModelCatalog("chatgpt-subscription",chatgpt_subscription_default),CHATGPT_SUBSCRIPTION_CLASSIFIER_MODELS=flattenClassifierModelCatalog("chatgpt-subscription",chatgpt_subscription_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,supportsDisabledThinking:!1,forceAdaptiveThinking:!0},thinkingLevelMap:{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,supportsDisabledThinking:!1,forceAdaptiveThinking:!0},thinkingLevelMap:{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:1e5,maxTokens:32e3,compat:{sendSessionAffinityHeaders:!0,supportsDisabledThinking:!1,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,supportsDisabledThinking:!1,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,supportsDisabledThinking:!1,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/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:922e3,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:922e3,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:922e3,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:6e5,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:922e3,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:4e5,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:4e5,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: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/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},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/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:"medium",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:{supportsToolReferences:!0,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:{supportsToolReferences:!0,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:{supportsToolReferences:!0,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:{supportsToolReferences:!0,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:{supportsToolReferences:!0,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:{supportsToolReferences:!0,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:{supportsToolReferences:!0,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:{supportsToolReferences:!0,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:{supportsToolReferences:!0,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:{supportsToolReferences:!0,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:{supportsToolReferences:!0,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:{supportsToolReferences:!0,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:{supportsToolReferences:!0,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:{supportsToolReferences:!0,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:{supportsToolReferences:!0,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:"none",minimal:null,low:null,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:"none",minimal:null,low:null,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:"none",minimal:null,low:null,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,supportsDisabledThinking:!1,forceAdaptiveThinking:!0},thinkingLevelMap:{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,supportsDisabledThinking:!1,forceAdaptiveThinking:!0},thinkingLevelMap:{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:1e5,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:{supportsMidConvoSystemMessages:!0,supportsDisabledThinking:!1,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,supportsDisabledThinking:!1,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,supportsDisabledThinking:!1,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:272e3,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:272e3,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:922e3,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:922e3,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:922e3,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:6e5,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:922e3,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: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:"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: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: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},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},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},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},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},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},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,effectiveRates:[{effectiveFrom:"2026-12-01T08:00:00Z",input:4,output:20,cacheRead:.2,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: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,effectiveRates:[{effectiveFrom:"2026-12-01T08:00:00Z",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"}}};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: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 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},contextWindow:1e6,maxTokens:512e3,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:.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-cn",baseUrl:"https://api.minimaxi.com/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-cn",baseUrl:"https://api.minimaxi.com/anthropic",reasoning:!0,input:["text","image"],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},contextWindow:1e6,maxTokens:512e3,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:.04,output:.04,cacheRead:.004,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:.1,output:.1,cacheRead:.01,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-7b":{id:"open-mistral-7b",name:"Mistral 7B",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:.25,output:.25,cacheRead:.025,cacheWrite:0},contextWindow:8e3,maxTokens:8e3,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:open-mixtral-8x22b":{id:"open-mixtral-8x22b",name:"Mixtral 8x22B",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:2,output:6,cacheRead:.2,cacheWrite:0},contextWindow:64e3,maxTokens:64e3,type:"chat"},"chat:open-mixtral-8x7b":{id:"open-mixtral-8x7b",name:"Mixtral 8x7B",api:"mistral-conversations",provider:"mistral",baseUrl:"https://api.mistral.ai",reasoning:!1,input:["text"],cost:{input:.7,output:.7,cacheRead:.07,cacheWrite:0},contextWindow:32e3,maxTokens:32e3,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:.3,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",supportsPromptCacheKey:!0,supportsStrictMode:!1,thinkingFormat:"deepseek",supportsMidConvoSystemMessages:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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",supportsPromptCacheKey:!0,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",supportsPromptCacheKey:!0,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:3},contextWindow:1048576,maxTokens:1048576,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:"max_tokens",supportsPromptCacheKey:!0,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:.95,output:4,cacheRead:.16,cacheWrite:0},contextWindow:262144,maxTokens:262144,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsPromptCacheKey:!0,supportsStrictMode:!1,thinkingFormat:"deepseek",supportsMidConvoSystemMessages:!0},thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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:.95,output:4,cacheRead:.19,cacheWrite:0},contextWindow:262144,maxTokens:262144,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsPromptCacheKey:!0,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.9,output:8,cacheRead:.38,cacheWrite:0},contextWindow:262144,maxTokens:262144,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!1,maxTokensField:"max_tokens",supportsPromptCacheKey:!0,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:3},contextWindow:1048576,maxTokens:1048576,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:"max_tokens",supportsPromptCacheKey:!0,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: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-images":{"image:gpt-image-1.5":{type:"image",id:"gpt-image-1.5",name:"GPT Image 1.5",api:"openai-images",provider:"openai",baseUrl:"https://api.openai.com/v1",input:["text"],output:["image"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0}},"image:gpt-image-2":{type:"image",id:"gpt-image-2",name:"GPT Image 2",api:"openai-images",provider:"openai",baseUrl:"https://api.openai.com/v1",input:["text","image"],output:["image"],cost:{input:5,output:30,cacheRead:1.25,cacheWrite:0,imageInput:8},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:gpt-image-2.5-flare":{type:"image",id:"gpt-image-2.5-flare",name:"GPT Image 2.5 Flare",api:"openai-images",provider:"openai",baseUrl:"https://api.openai.com/v1",input:["text","image"],output:["image"],cost:{input:5,output:30,cacheRead:1.25,cacheWrite:0,imageInput:8},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"image:gpt-image-2.5-sunburst":{type:"image",id:"gpt-image-2.5-sunburst",name:"GPT Image 2.5 Sunburst",api:"openai-images",provider:"openai",baseUrl:"https://api.openai.com/v1",input:["text","image"],output:["image"],cost:{input:5,output:30,cacheRead:1.25,cacheWrite:0,imageInput:8},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}}},"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-fast":{id:"gpt-4.1-fast",name:"GPT-4.1 Fast",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}}},upstreamModelId:"gpt-4.1",serviceTier:"priority",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-mini-fast":{id:"gpt-4.1-mini-fast",name:"GPT-4.1 mini Fast",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}}},upstreamModelId:"gpt-4.1-mini",serviceTier:"priority",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-4.1-nano-fast":{id:"gpt-4.1-nano-fast",name:"GPT-4.1 nano Fast",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}}},upstreamModelId:"gpt-4.1-nano",serviceTier:"priority",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-05-13-fast":{id:"gpt-4o-2024-05-13-fast",name:"GPT-4o (2024-05-13) Fast",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}}},upstreamModelId:"gpt-4o-2024-05-13",serviceTier:"priority",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-fast":{id:"gpt-4o-fast",name:"GPT-4o Fast",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}}},upstreamModelId:"gpt-4o",serviceTier:"priority",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-4o-mini-fast":{id:"gpt-4o-mini-fast",name:"GPT-4o mini Fast",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}}},upstreamModelId:"gpt-4o-mini",serviceTier:"priority",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:272e3,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-fast":{id:"gpt-5-fast",name:"GPT-5 Fast",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:272e3,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}}},upstreamModelId:"gpt-5",serviceTier:"priority",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:272e3,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-mini-fast":{id:"gpt-5-mini-fast",name:"GPT-5 Mini Fast",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:272e3,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}}},upstreamModelId:"gpt-5-mini",serviceTier:"priority",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:272e3,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:272e3,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:272e3,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.1-fast":{id:"gpt-5.1-fast",name:"GPT-5.1 Fast",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:272e3,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}}},upstreamModelId:"gpt-5.1",serviceTier:"priority",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:272e3,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-chat-latest":{id:"gpt-5.2-chat-latest",name:"GPT-5.2 Chat",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:16384,thinkingLevelMap:{off:null,minimal:null,low:null,medium:"medium",high:null,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-fast":{id:"gpt-5.2-fast",name:"GPT-5.2 Fast",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:272e3,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}}},upstreamModelId:"gpt-5.2",serviceTier:"priority",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:272e3,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-chat-latest":{id:"gpt-5.3-chat-latest",name:"GPT-5.3 Chat (latest)",api:"openai-responses",provider:"openai",baseUrl:"https://api.openai.com/v1",reasoning:!1,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:128e3,maxTokens:16384,thinkingLevelMap:{off:null,xhigh:"xhigh"},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:272e3,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-fast":{id:"gpt-5.4-fast",name:"GPT-5.4 Fast",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}}},upstreamModelId:"gpt-5.4",serviceTier:"priority",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: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-fast":{id:"gpt-5.4-mini-fast",name:"GPT-5.4 mini Fast",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: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}}},upstreamModelId:"gpt-5.4-mini",serviceTier:"priority",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:272e3,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:922e3,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-fast":{id:"gpt-5.5-fast",name:"GPT-5.5 Fast",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}}},upstreamModelId:"gpt-5.5",serviceTier:"priority",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:922e3,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:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0,supportsExplicitPromptCacheMode:!0,supportsAllowedTools:!0,supportsConfigurationUpdate:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-luna-fast":{id:"gpt-5.6-luna-fast",name:"GPT-5.6 Luna Fast",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:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0,supportsExplicitPromptCacheMode:!0,supportsAllowedTools:!0,supportsConfigurationUpdate:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},upstreamModelId:"gpt-5.6-luna",serviceTier:"priority",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:65e4,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0,supportsExplicitPromptCacheMode:!0,supportsAllowedTools:!0,supportsConfigurationUpdate:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-sol-fast":{id:"gpt-5.6-sol-fast",name:"GPT-5.6 Sol Fast",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:65e4,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0,supportsExplicitPromptCacheMode:!0,supportsAllowedTools:!0,supportsConfigurationUpdate:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},upstreamModelId:"gpt-5.6-sol",serviceTier:"priority",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:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0,supportsExplicitPromptCacheMode:!0,supportsAllowedTools:!0,supportsConfigurationUpdate:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-5.6-terra-fast":{id:"gpt-5.6-terra-fast",name:"GPT-5.6 Terra Fast",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:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsOpenAIGrammarTools:!0,supportsAdditionalTools:!0,supportsToolSearch:!0,supportsMidConvoSystemMessages:!0,supportsExplicitPromptCacheMode:!0,supportsAllowedTools:!0,supportsConfigurationUpdate:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},upstreamModelId:"gpt-5.6-terra",serviceTier:"priority",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:6e5,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,supportsAllowedTools:!0,supportsConfigurationUpdate:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-astra-fast":{id:"gpt-6-astra-fast",name:"GPT-6 Astra Fast",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:6e5,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,supportsAllowedTools:!0,supportsConfigurationUpdate:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},upstreamModelId:"gpt-6-astra",serviceTier:"priority",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:922e3,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,supportsAllowedTools:!0,supportsConfigurationUpdate:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-luna-fast":{id:"gpt-6-luna-fast",name:"GPT-6 Luna Fast",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:922e3,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,supportsAllowedTools:!0,supportsConfigurationUpdate:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},upstreamModelId:"gpt-6-luna",serviceTier:"priority",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:4e5,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,supportsAllowedTools:!0,supportsConfigurationUpdate:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6-sol-fast":{id:"gpt-6-sol-fast",name:"GPT-6 Sol Fast",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:4e5,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,supportsAllowedTools:!0,supportsConfigurationUpdate:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},upstreamModelId:"gpt-6-sol",serviceTier:"priority",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:4e5,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,supportsAllowedTools:!0,supportsConfigurationUpdate:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gpt-6.1-sol-fast":{id:"gpt-6.1-sol-fast",name:"GPT-6.1 Sol Fast",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:4e5,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,supportsAllowedTools:!0,supportsConfigurationUpdate:!0},inputLimits:{maxRequestBytes:536870912,images:{maxPerRequest:1500,resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},upstreamModelId:"gpt-6.1-sol",serviceTier:"priority",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},contextWindow:105e4,maxTokens:128e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},compat:{supportsStrictMode:!0,supportsExplicitPromptCacheMode:!0,supportsAllowedTools:!0,supportsConfigurationUpdate:!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,supportsAllowedTools:!0,supportsConfigurationUpdate:!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-fast":{id:"o3-fast",name:"o3 Fast",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}}},upstreamModelId:"o3",serviceTier:"priority",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"},"chat:o4-mini-fast":{id:"o4-mini-fast",name:"o4-mini Fast",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}}},upstreamModelId:"o4-mini",serviceTier:"priority",type:"chat"}}};var OPENAI_MODELS=flattenChatModelCatalog("openai",openai_default),OPENAI_IMAGE_MODELS=flattenImageModelCatalog("openai",openai_default),OPENAI_CLASSIFIER_MODELS=flattenClassifierModelCatalog("openai",openai_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/zen",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,compat:{supportsMidConvoSystemMessages:!0,supportsDisabledThinking:!1,forceAdaptiveThinking:!0},thinkingLevelMap:{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/zen",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,maxTokens:128e3,compat:{supportsMidConvoSystemMessages:!0,supportsDisabledThinking:!1,forceAdaptiveThinking:!0},thinkingLevelMap:{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/zen",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/zen",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:1e5,maxTokens:32e3,compat:{supportsMidConvoSystemMessages:!0,supportsDisabledThinking:!1,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/zen",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/zen",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/zen",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/zen",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/zen",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/zen",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.2,cacheWrite:5},contextWindow:1e6,maxTokens:128e3,compat:{supportsMidConvoSystemMessages:!0,supportsDisabledThinking:!1,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/zen",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},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/zen",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},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/zen",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/zen",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/zen",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},contextWindow:1e6,maxTokens:128e3,compat:{supportsMidConvoSystemMessages:!0,supportsDisabledThinking:!1,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/zen",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/zen",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/zen",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/zen/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/zen/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},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/zen/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/zen/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/zen/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/zen/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/zen/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/zen/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/zen/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/zen/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/zen/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/zen/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/zen/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/zen/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/zen/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/zen/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/zen/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/zen/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/zen/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/zen/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/zen/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/zen/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/zen/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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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/zen/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",supportsLongCacheRetention:!1},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/zen/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/zen/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/zen/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/zen/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/zen/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/zen/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:mistral-large-4":{id:"mistral-large-4",name:"Mistral Large 4",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/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/zen/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/zen/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/zen/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/zen/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"},"chat:space-bunny-free":{id:"space-bunny-free",name:"Space Bunny Free",api:"openai-completions",provider:"opencode",baseUrl:"https://opencode.ai/zen/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:524288,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"}},"openai-responses":{"chat:gpt-5":{id:"gpt-5",name:"GPT-5",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.07,output:8.5,cacheRead:.107,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0},contextWindow:272e3,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/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.07,output:8.5,cacheRead:.107,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0},contextWindow:272e3,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/zen/v1",reasoning:!0,input:["text","image"],cost:{input:.05,output:.4,cacheRead:.005,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0},contextWindow:272e3,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/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.07,output:8.5,cacheRead:.107,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0},contextWindow:272e3,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/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.07,output:8.5,cacheRead:.107,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0},contextWindow:272e3,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/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!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.1-codex-mini":{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0},contextWindow:272e3,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/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!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.2-codex":{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!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.3-codex":{id:"gpt-5.3-codex",name:"GPT-5.3 Codex",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!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":{id:"gpt-5.4",name:"GPT-5.4",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:.25,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/zen/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: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-nano":{id:"gpt-5.4-nano",name:"GPT-5.4 Nano",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/v1",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.25,cacheRead:.02,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!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-pro":{id:"gpt-5.4-pro",name:"GPT-5.4 Pro",api:"openai-responses",provider:"opencode",baseUrl:"https://opencode.ai/zen/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:922e3,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/zen/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:922e3,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/zen/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:30,cacheWrite:0},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0},contextWindow:922e3,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/zen/v1",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:922e3,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/zen/v1",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.4,cacheWrite:5},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:922e3,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/zen/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:3.125},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:922e3,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/zen/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:6e5,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/zen/v1",reasoning:!0,input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:922e3,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/zen/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},compat:{sessionAffinityFormat:"openai-nosession",supportsOpenAIGrammarTools:!0,supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:4e5,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/zen/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5},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:"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/zen/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.3,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/zen/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,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/zen/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:6,cacheRead:.5,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/zen/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/zen/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/zen/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/zen/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/zen/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:1e5,maxTokens:32e3,thinkingLevelMap:{xhigh:"xhigh",max:"max"},compat:{supportsDisabledThinking:!1,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},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},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:null,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:space-bunny":{id:"space-bunny",name:"Space Bunny",api:"openai-completions",provider:"opencode-go",baseUrl:"https://opencode.ai/inference/go/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.6,cacheRead:.03,cacheWrite:0},compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsStrictMode:!0,maxTokensField:"max_tokens"},contextWindow:1048576,maxTokens:524288,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},compat:{sessionAffinityFormat:"openai-nosession",supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:922e3,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},compat:{sessionAffinityFormat:"openai-nosession",supportsMidConvoSystemMessages:!0,supportsAdditionalTools:!0},contextWindow:922e3,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},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 opengateway_default={"openai-completions":{"chat:anthropic/claude-fable-5":{id:"anthropic/claude-fable-5",name:"Claude Fable 5",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},contextWindow:1e6,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:anthropic/claude-fable-5-1":{id:"anthropic/claude-fable-5-1",name:"Claude Fable 5.1",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},contextWindow:1e6,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:anthropic/claude-haiku-4-5":{id:"anthropic/claude-haiku-4-5",name:"Claude Haiku 4.5 (latest)",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:anthropic/claude-haiku-5-5":{id:"anthropic/claude-haiku-5-5",name:"Claude Haiku 5.5",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:1e5,maxTokens:32e3,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:anthropic/claude-opus-4-5":{id:"anthropic/claude-opus-4-5",name:"Claude Opus 4.5 (latest)",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:2e5,maxTokens:64e3,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:anthropic/claude-opus-4-6":{id:"anthropic/claude-opus-4-6",name:"Claude Opus 4.6",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{off:null,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:anthropic/claude-opus-4-7":{id:"anthropic/claude-opus-4-7",name:"Claude Opus 4.7",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,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:anthropic/claude-opus-4-8":{id:"anthropic/claude-opus-4-8",name:"Claude Opus 4.8",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,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:anthropic/claude-opus-5":{id:"anthropic/claude-opus-5",name:"Claude Opus 5",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},contextWindow:1e6,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:anthropic/claude-opus-5-5":{id:"anthropic/claude-opus-5-5",name:"Claude Opus 5.5",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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"},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 (latest)",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:2e5,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:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},contextWindow:1e6,maxTokens:64e3,thinkingLevelMap:{off:null,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:anthropic/claude-sonnet-5":{id:"anthropic/claude-sonnet-5",name:"Claude Sonnet 5",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},contextWindow:1e6,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:anthropic/claude-sonnet-5-5":{id:"anthropic/claude-sonnet-5-5",name:"Claude Sonnet 5.5",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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"},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:deepseek/deepseek-flash":{id:"deepseek/deepseek-flash",name:"DeepSeek V4.1 Flash 1017",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.15,output:.6,cacheRead:.003,cacheWrite:0},contextWindow:1e6,maxTokens:393216,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/deepseek-v4-flash":{id:"deepseek/deepseek-v4-flash",name:"DeepSeek V4 Flash",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},reasoning:!0,input:["text"],cost:{input:.396,output:1.188,cacheRead:.0126,cacheWrite:0},contextWindow:1e6,maxTokens:393216,thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",max:"max"},type:"chat"},"chat:deepseek/deepseek-v4-pro":{id:"deepseek/deepseek-v4-pro",name:"DeepSeek V4 Pro",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},reasoning:!0,input:["text"],cost:{input:1.188,output:3.564,cacheRead:.0396,cacheWrite:0},contextWindow:1e6,maxTokens:393216,thinkingLevelMap:{minimal:null,low:null,medium:null,high:"high",max:"max"},type:"chat"},"chat:deepseek/deepseek-v4.1-flash-ultrafast":{id:"deepseek/deepseek-v4.1-flash-ultrafast",name:"DeepSeek V4.1 Flash Ultrafast",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek"},reasoning:!0,input:["text","image"],cost:{input:.03,output:.12,cacheRead:6e-4,cacheWrite:0,tiers:[{inputTokensAbove:256e3,input:.06,output:.12,cacheRead:6e-4,cacheWrite:.06}]},contextWindow:1e6,maxTokens:943718,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/gemini-2.5-flash":{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:google/gemini-2.5-flash-lite":{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash-Lite",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:google/gemini-2.5-pro":{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:.25}]},contextWindow:1048576,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:google/gemini-3-flash-preview":{id:"google/gemini-3-flash-preview",name:"Gemini 3 Flash Preview",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.5,output:3,cacheRead:.05,cacheWrite:0},contextWindow:1048576,maxTokens:65536,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:google/gemini-3.1-flash-lite":{id:"google/gemini-3.1-flash-lite",name:"Gemini 3.1 Flash Lite",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.25,output:1.5,cacheRead:.025,cacheWrite:0},contextWindow:1048576,maxTokens:65536,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:google/gemini-3.1-pro-preview":{id:"google/gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:0,tiers:[{inputTokensAbove:2e5,input:4,output:18,cacheRead:.4,cacheWrite:.25}]},contextWindow:1048576,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"},"chat:google/gemini-3.5-flash":{id:"google/gemini-3.5-flash",name:"Gemini 3.5 Flash",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:1.5,output:9,cacheRead:.15,cacheWrite:0},contextWindow:1048576,maxTokens:65536,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:google/gemini-3.5-flash-lite":{id:"google/gemini-3.5-flash-lite",name:"Gemini 3.5 Flash Lite",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.3,output:2.5,cacheRead:.03,cacheWrite:0},contextWindow:1048576,maxTokens:65536,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:minimax/MiniMax-M2.5":{id:"minimax/MiniMax-M2.5",name:"MiniMax-M2.5",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:.3,output:1.2,cacheRead:.03,cacheWrite:.375},contextWindow:204800,maxTokens:131072,type:"chat"},"chat:minimax/MiniMax-M2.7":{id:"minimax/MiniMax-M2.7",name:"MiniMax-M2.7",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:.375},contextWindow:204800,maxTokens:131072,type:"chat"},"chat:minimax/MiniMax-M3":{id:"minimax/MiniMax-M3",name:"MiniMax-M3",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:512e3,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:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.95,output:4,cacheRead:.16,cacheWrite:0},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:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3},contextWindow:1e6,maxTokens:1048576,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:moonshotai/kimi-k3-ultrafast":{id:"moonshotai/kimi-k3-ultrafast",name:"Kimi K3 Ultrafast",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:0},contextWindow:262144,maxTokens:20480,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai/gpt-3.5-turbo-0125":{id:"openai/gpt-3.5-turbo-0125",name:"GPT-3.5 Turbo (0125)",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:.5,output:1.5,cacheRead:0,cacheWrite:0},contextWindow:16385,maxTokens:4096,type:"chat"},"chat:openai/gpt-4":{id:"openai/gpt-4",name:"GPT-4",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192,type:"chat"},"chat:openai/gpt-4-0613":{id:"openai/gpt-4-0613",name:"GPT-4 (0613)",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:30,output:60,cacheRead:0,cacheWrite:0},contextWindow:8192,maxTokens:8192,type:"chat"},"chat:openai/gpt-4-turbo":{id:"openai/gpt-4-turbo",name:"GPT-4 Turbo",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:{input:11,output:33,cacheRead:0,cacheWrite:0},contextWindow:128e3,maxTokens:4096,type:"chat"},"chat:openai/gpt-4.1":{id:"openai/gpt-4.1",name:"GPT-4.1",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:openai/gpt-4.1-mini":{id:"openai/gpt-4.1-mini",name:"GPT-4.1 mini",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:openai/gpt-4.1-nano":{id:"openai/gpt-4.1-nano",name:"GPT-4.1 nano",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:openai/gpt-4o":{id:"openai/gpt-4o",name:"GPT-4o",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:openai/gpt-4o-mini":{id:"openai/gpt-4o-mini",name:"GPT-4o mini",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:openai/gpt-5":{id:"openai/gpt-5",name:"GPT-5",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:272e3,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:openai/gpt-5-mini":{id:"openai/gpt-5-mini",name:"GPT-5 Mini",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.25,output:2,cacheRead:.025,cacheWrite:0},contextWindow:272e3,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:openai/gpt-5-nano":{id:"openai/gpt-5-nano",name:"GPT-5 Nano",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.05,output:.4,cacheRead:.005,cacheWrite:0},contextWindow:272e3,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:openai/gpt-5.1":{id:"openai/gpt-5.1",name:"GPT-5.1",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:1.25,output:10,cacheRead:.125,cacheWrite:0},contextWindow:272e3,maxTokens:128e3,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:openai/gpt-5.2":{id:"openai/gpt-5.2",name:"GPT-5.2",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},contextWindow:272e3,maxTokens:128e3,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:openai/gpt-5.4":{id:"openai/gpt-5.4",name:"GPT-5.4",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:922e3,maxTokens:128e3,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:openai/gpt-5.4-mini":{id:"openai/gpt-5.4-mini",name:"GPT-5.4 mini",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},contextWindow:272e3,maxTokens:128e3,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:openai/gpt-5.4-nano":{id:"openai/gpt-5.4-nano",name:"GPT-5.4 nano",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.2,output:1.25,cacheRead:.02,cacheWrite:0},contextWindow:272e3,maxTokens:128e3,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:openai/gpt-5.5":{id:"openai/gpt-5.5",name:"GPT-5.5",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:922e3,maxTokens:128e3,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:openai/gpt-5.6":{id:"openai/gpt-5.6",name:"GPT-5.6",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:922e3,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:openai/gpt-5.6-luna":{id:"openai/gpt-5.6-luna",name:"GPT-5.6 Luna",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:0}]},contextWindow:922e3,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:openai/gpt-5.6-sol":{id:"openai/gpt-5.6-sol",name:"GPT-5.6 Sol",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:922e3,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:openai/gpt-5.6-terra":{id:"openai/gpt-5.6-terra",name:"GPT-5.6 Terra",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:0}]},contextWindow:922e3,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:openai/gpt-6-astra":{id:"openai/gpt-6-astra",name:"GPT-6 Astra",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:6e5,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:openai/gpt-6-luna":{id:"openai/gpt-6-luna",name:"GPT-6 Luna",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:922e3,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:openai/gpt-6-sol":{id:"openai/gpt-6-sol",name:"GPT-6 Sol",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:4e5,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:openai/gpt-6.1-sol":{id:"openai/gpt-6.1-sol",name:"GPT-6.1 Sol",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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:4e5,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:openai/o1":{id:"openai/o1",name:"o1",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text"],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},type:"chat"},"chat:openai/o3":{id:"openai/o3",name:"o3",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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},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:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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},type:"chat"},"chat:openai/o4-mini":{id:"openai/o4-mini",name:"o4-mini",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},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},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen/qwen-flash":{id:"qwen/qwen-flash",name:"Qwen Flash",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:.05,output:.4,cacheRead:0,cacheWrite:0,tiers:[{inputTokensAbove:256e3,input:.25,output:2,cacheRead:0,cacheWrite:0}]},contextWindow:997952,maxTokens:32768,type:"chat"},"chat:qwen/qwen3.7-max":{id:"qwen/qwen3.7-max",name:"Qwen3.7 Max",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:2.5,output:7.5,cacheRead:.5,cacheWrite:3.125},contextWindow:983616,maxTokens:131072,type:"chat"},"chat:qwen/qwen3.7-plus":{id:"qwen/qwen3.7-plus",name:"Qwen3.7 Plus",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.36,output:1.44,cacheRead:.04,cacheWrite:.5,tiers:[{inputTokensAbove:256e3,input:1.08,output:4.32,cacheRead:0,cacheWrite:0}]},contextWindow:983616,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen/qwen3.8-flash":{id:"qwen/qwen3.8-flash",name:"Qwen3.8 Flash",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.15,output:.47,cacheRead:.016,cacheWrite:.2},contextWindow:983616,maxTokens:131072,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:qwen/qwen3.8-max":{id:"qwen/qwen3.8-max",name:"Qwen3.8 Max",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:1.53,output:4.59,cacheRead:.13005,cacheWrite:1.9125},contextWindow:983616,maxTokens:131072,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:x-ai/grok-4-1-fast":{id:"x-ai/grok-4-1-fast",name:"Grok 4.1 Fast",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.2,output:.5,cacheRead:.05,cacheWrite:0},contextWindow:2e6,maxTokens:3e4,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:x-ai/grok-4.20":{id:"x-ai/grok-4.20",name:"Grok 4.20",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:1.25,output:2.5,cacheRead:.2,cacheWrite:0},contextWindow:1e6,maxTokens:18e5,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:x-ai/grok-4.3":{id:"x-ai/grok-4.3",name:"Grok 4.3",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!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:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:x-ai/grok-4.5":{id:"x-ai/grok-4.5",name:"Grok 4.5",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!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:null,max:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:x-ai/grok-4.6":{id:"x-ai/grok-4.6",name:"Grok 4.6",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!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:x-ai/grok-4.7":{id:"x-ai/grok-4.7",name:"Grok 4.7",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!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:z-ai/glm-5.1":{id:"z-ai/glm-5.1",name:"GLM-5.1",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:1.26,output:3.96,cacheRead:.234,cacheWrite:0},contextWindow:2e5,maxTokens:131072,type:"chat"},"chat:z-ai/glm-5.2":{id:"z-ai/glm-5.2",name:"GLM-5.2",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:1.26,output:3.96,cacheRead:.234,cacheWrite:0},contextWindow:1e6,maxTokens:131072,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},type:"chat"},"chat:z-ai/glm-5.2-ultrafast":{id:"z-ai/glm-5.2-ultrafast",name:"GLM-5.2 Ultrafast",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:2.4,output:12,cacheRead:.45,cacheWrite:0},contextWindow:1e6,maxTokens:131072,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},type:"chat"},"chat:z-ai/glm-5.3":{id:"z-ai/glm-5.3",name:"GLM-5.3",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},contextWindow:1e6,maxTokens:131072,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},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:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.135,output:.45,cacheRead:.027,cacheWrite:0},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:z-ai/glm-5.3-flash-ultrafast":{id:"z-ai/glm-5.3-flash-ultrafast",name:"GLM-5.3-Flash Ultrafast",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text","image"],cost:{input:.015,output:.05,cacheRead:.003,cacheWrite:0,tiers:[{inputTokensAbove:256e3,input:.03,output:.05,cacheRead:.003,cacheWrite:.03}]},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:z-ai/glm-5.3-ultrafast":{id:"z-ai/glm-5.3-ultrafast",name:"GLM-5.3 Ultrafast",api:"openai-completions",provider:"opengateway",baseUrl:"https://apis.opengateway.ai/v1",compat:{supportsStrictMode:!0,supportsDeveloperRole:!1},reasoning:!0,input:["text"],cost:{input:1.2,output:6,cacheRead:.225,cacheWrite:0},contextWindow:1e6,maxTokens:131072,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},type:"chat"}}};var OPENGATEWAY_MODELS=flattenChatModelCatalog("opengateway",opengateway_default),OPENGATEWAY_IMAGE_MODELS=flattenImageModelCatalog("opengateway",opengateway_default),OPENGATEWAY_CLASSIFIER_MODELS=flattenClassifierModelCatalog("opengateway",opengateway_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:{supportsDisabledThinking:!1,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,supportsDisabledThinking:!1,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:null,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:1e5,maxTokens:32e3,compat:{supportsMidConvoEffort:!0,supportsDisabledThinking:!1,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,supportsDisabledThinking:!1,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},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,supportsDisabledThinking:!1,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},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:.05,output:.6,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:.12,output:8,cacheRead:.12,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:.0052,output:.143616,cacheRead:.001523,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,cacheControlFormat:"anthropic",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:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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:.25,output:8,cacheRead:.18,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},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},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},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},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},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:.048,output:.2,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:.075,output:2.2,cacheRead:.07,cacheWrite:0},contextWindow:1048576,maxTokens:131072,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:null,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:1e5,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.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},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},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},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},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},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},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:.32,output:.89,cacheRead:0,cacheWrite:0},contextWindow:163840,maxTokens:16384,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":{type:"chat",id:"deepseek/deepseek-r1",name:"DeepSeek: R1",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text"],cost:{input:.7,output:2.5,cacheRead:0,cacheWrite:0},contextWindow:64e3,maxTokens:16e3,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:.0065,output:.45,cacheRead:.0065,cacheWrite:0},contextWindow:1048576,maxTokens:943718,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:.2088,output:.4176,cacheRead:.0174,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:.04,output:.144,cacheRead:.0016,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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-2.5-flash:batch":{type:"chat",id:"google/gemini-2.5-flash:batch",name:"Google: Gemini 2.5 Flash (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,input:["text","image"],cost:{input:.15,output:1.25,cacheRead:.03,cacheWrite:0},contextWindow:1048576,maxTokens:65535,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",sendSessionAffinityHeaders:!0},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}}},"chat:google/gemini-2.5-pro:batch":{type:"chat",id:"google/gemini-2.5-pro:batch",name:"Google: Gemini 2.5 Pro (batch)",api:"openai-completions",baseUrl:"https://openrouter.ai/api/v1",provider:"openrouter",reasoning:!0,thinkingLevelMap:{off:null},input:["text","image"],cost:{input:.625,output:5,cacheRead:.125,cacheWrite:0},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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},contextWindow:1048576,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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:.0675,output:.225,cacheRead:.0375,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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: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: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:.68,output:2.09,cacheRead:.07,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:.304,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:.1,output:.4,cacheRead:.08,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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},contextWindow:922e3,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:272e3,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:272e3,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:272e3,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:272e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:6e5,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},contextWindow:6e5,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},contextWindow:6e5,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},contextWindow:6e5,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},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-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},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-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},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-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},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-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},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-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},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-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},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-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},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-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:-1e6,output:-1e6,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:-1e6,output:-1e6,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:-1e6,output:-1e6,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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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},contextWindow:1e6,maxTokens:32768,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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},contextWindow:1e6,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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:.09,output:1.1,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:16384,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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:.26,output:2.6,cacheRead:0,cacheWrite:0},contextWindow:262144,maxTokens:81920,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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:.15,output:1,cacheRead:.05,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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:.5,output:3.6,cacheRead:.3,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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},contextWindow:1e6,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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},contextWindow:1e6,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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:.15,output:1,cacheRead:.05,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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},contextWindow:1e6,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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},contextWindow:1e6,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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},contextWindow:1e6,maxTokens:65536,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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},contextWindow:1e6,maxTokens:131072,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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:.24,output:2.2,cacheRead:.05,cacheWrite:0},contextWindow:262144,maxTokens:235929,compat:{supportsDeveloperRole:!1,thinkingFormat:"openrouter",supportsStrictMode:!0,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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,cacheControlFormat:"anthropic",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:1,output:3,cacheRead:.1,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},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},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:.132,output:.528,cacheRead:.033,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:.834,output:2.501,cacheRead:.042,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:-1e6,output:-1e6,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:.09,output:.36,cacheRead:.018,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},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},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},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},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},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},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},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:.5,output:2,cacheRead:.1,cacheWrite:0},contextWindow:202752,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:"xhigh",max:"max"},input:["text"],cost:{input:.079,output:1.8,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:.048,output:.2,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:-1e6,output:-1e6,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:-1e6,output:-1e6,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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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:{off:null,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:{off:null,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:{off:null,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:{off:null,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:{off:null,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:{off:null,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:{off:null,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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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:{off:null,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:{off:null,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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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:{off:null,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:{off:null,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:{off:null,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:{off:null,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:{off:null,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:{off:null,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:{off:null,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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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:{off:null,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:{off:null,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:{off:null,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:{off:null,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:{off:null,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:{off:null,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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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:{off:null,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:{off:null,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={"pi-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:"pi-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:"pi-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:"pi-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:"pi-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:"pi-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:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:"max"},input:["text","image"],contextWindow:1e5,maxTokens:32e3,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:"pi-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:"pi-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:"pi-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:{off:null,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:"pi-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:"pi-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:"pi-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:"pi-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:"pi-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:"pi-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:"pi-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:"pi-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:272e3,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:"pi-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:"pi-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:272e3,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:"pi-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:"pi-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:"pi-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:"pi-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:"pi-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:6e5,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:"pi-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:922e3,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:"pi-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:4e5,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:"pi-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:"pi-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:"pi-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:"pi-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},input:["text"],cost:{input:1.32,output:3.96,cacheRead:.13,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.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:5e5,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:5e5,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 venice_default={"openai-completions":{"chat:abliteration-abliterated-model-large-v2":{id:"abliteration-abliterated-model-large-v2",name:"Abliterated Large V2",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:3,output:5,cacheRead:.3,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,maxTokens:32768,type:"chat"},"chat:aion-labs-aion-3-0":{id:"aion-labs-aion-3-0",name:"Aion 3.0",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:3.75,output:7.5,cacheRead:.9375,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:128e3,maxTokens:32768,type:"chat"},"chat:aion-labs-aion-3-0-mini":{id:"aion-labs-aion-3-0-mini",name:"Aion 3.0 Mini",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.875,output:1.75,cacheRead:.225,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:128e3,maxTokens:32768,type:"chat"},"chat:aion-labs-aion-3-5":{id:"aion-labs-aion-3-5",name:"Aion 3.5",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:3.75,output:7.5,cacheRead:.9375,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:262144,maxTokens:32768,type:"chat"},"chat:aion-labs-aion-3-5-mini":{id:"aion-labs-aion-3-5-mini",name:"Aion 3.5 Mini",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.875,output:1.75,cacheRead:.225,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:262144,maxTokens:32768,type:"chat"},"chat:claude-fable-5":{id:"claude-fable-5",name:"Claude Fable 5",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:claude-fable-5-1":{id:"claude-fable-5-1",name:"Claude Fable 5.1",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:.25,cacheWrite:12.5},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:claude-haiku-5-5":{id:"claude-haiku-5-5",name:"Claude Haiku 5.5",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",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}]},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e5,maxTokens:32e3,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-opus-4-5":{id:"claude-opus-4-5",name:"Claude Opus 4.5",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:198e3,maxTokens:32768,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:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{off:null,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:claude-opus-4-7":{id:"claude-opus-4-7",name:"Claude Opus 4.7",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:claude-opus-4-8":{id:"claude-opus-4-8",name:"Claude Opus 4.8",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:claude-opus-4-8-fast":{id:"claude-opus-4-8-fast",name:"Claude Opus 4.8 Fast",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:claude-opus-5":{id:"claude-opus-5",name:"Claude Opus 5",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.5,cacheWrite:6.25},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:claude-opus-5-5":{id:"claude-opus-5-5",name:"Claude Opus 5.5",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.2,cacheWrite:5},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:claude-opus-5-5-fast":{id:"claude-opus-5-5-fast",name:"Claude Opus 5.5 Fast",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:8,output:40,cacheRead:.4,cacheWrite:10},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:claude-opus-5-fast":{id:"claude-opus-5-fast",name:"Claude Opus 5 Fast",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:claude-sonnet-4-5":{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:198e3,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:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:3,output:15,cacheRead:.3,cacheWrite:3.75},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,maxTokens:64e3,thinkingLevelMap:{off:null,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:claude-sonnet-5":{id:"claude-sonnet-5",name:"Claude Sonnet 5",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,maxTokens:64e3,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-5-5":{id:"claude-sonnet-5-5",name:"Claude Sonnet 5.5",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:deepseek-v3.2":{id:"deepseek-v3.2",name:"DeepSeek V3.2",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.33,output:.48,cacheRead:.16,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:16e4,maxTokens:32768,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:deepseek-v4-1-flash":{id:"deepseek-v4-1-flash",name:"DeepSeek V4.1 Flash",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.3,output:1.2,cacheRead:.0075,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1},requiresReasoningContentOnAssistantMessages:!0},contextWindow:1e6,maxTokens:131072,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:deepseek-v4-flash":{id:"deepseek-v4-flash",name:"DeepSeek V4 Flash 0423",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.138,output:.275,cacheRead:.028,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1},requiresReasoningContentOnAssistantMessages:!0},contextWindow:1e6,maxTokens:32768,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:deepseek-v4-flash-0731":{id:"deepseek-v4-flash-0731",name:"DeepSeek V4 Flash 0731",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.13,output:.26,cacheRead:.028,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1},requiresReasoningContentOnAssistantMessages:!0},contextWindow:1e6,maxTokens:32768,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},type:"chat"},"chat:deepseek-v4-flash-0731-fast":{id:"deepseek-v4-flash-0731-fast",name:"DeepSeek V4 Flash 0731 Fast",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.35,output:.7,cacheRead:.0875,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1},requiresReasoningContentOnAssistantMessages:!0},contextWindow:1e6,maxTokens:32768,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},type:"chat"},"chat:deepseek-v4-pro":{id:"deepseek-v4-pro",name:"DeepSeek V4 Pro",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.65,output:3.301,cacheRead:.33,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1},requiresReasoningContentOnAssistantMessages:!0},contextWindow:1e6,maxTokens:32768,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:deepseek-v4-pro-0813":{id:"deepseek-v4-pro-0813",name:"DeepSeek V4 Pro 0813",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.65,output:4.95,cacheRead:.165,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1},requiresReasoningContentOnAssistantMessages:!0},contextWindow:1e6,maxTokens:32768,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},type:"chat"},"chat:gemini-3-1-pro-preview":{id:"gemini-3-1-pro-preview",name:"Gemini 3.1 Pro Preview",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:.5,cacheWrite:.5},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:gemini-3-5-flash":{id:"gemini-3-5-flash",name:"Gemini 3.5 Flash",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.55,output:9.45,cacheRead:.155,cacheWrite:.086},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},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"},"chat:gemini-3-5-flash-lite":{id:"gemini-3-5-flash-lite",name:"Gemini 3.5 Flash-Lite",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.375,output:3.125,cacheRead:.0375,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.9375,output:4.6875,cacheRead:.09375,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.9375,output:4.6875,cacheRead:.09375,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.9375,output:4.6875,cacheRead:.09375,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.7,output:3.75,cacheRead:.07,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:256e3,maxTokens:65536,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:gemini-4-argon":{id:"gemini-4-argon",name:"Gemini 4 Argon",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:12.5,cacheRead:.125,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:gemma-4-uncensored":{id:"gemma-4-uncensored",name:"Gemma 4 Uncensored",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:.1625,output:.5,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:256e3,maxTokens:8192,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:"Google Gemma 3 27B Instruct",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:.12,output:.2,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:198e3,maxTokens:16384,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 Instruct",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.13,output:.4,cacheRead:.05,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:256e3,maxTokens:8192,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:google-gemma-4-31b-it":{id:"google-gemma-4-31b-it",name:"Google Gemma 4 31B Instruct",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.12,output:.36,cacheRead:.09,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:256e3,maxTokens:8192,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:grok-4-20":{id:"grok-4-20",name:"Grok 4.20",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.42,output:2.83,cacheRead:.23,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:2e6,maxTokens:128e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:grok-4-3":{id:"grok-4-3",name:"Grok 4.3",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.42,output:2.83,cacheRead:.23,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,maxTokens:32e3,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:grok-4-5":{id:"grok-4-5",name:"Grok 4.5",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.27,output:6.8,cacheRead:.34,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:5e5,maxTokens:32e3,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-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.27,output:6.8,cacheRead:.57,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:5e5,maxTokens:2e5,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-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.27,output:6.8,cacheRead:.57,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:5e5,maxTokens:2e5,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-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1,output:2,cacheRead:.2,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:256e3,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:hy4-preview":{id:"hy4-preview",name:"Hy4 Preview",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.0425,output:3.12625,cacheRead:.0525,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1048576,maxTokens:64e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:null},type:"chat"},"chat:inkling":{id:"inkling",name:"Inkling",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.25,output:5.0625,cacheRead:.2125,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:524288,maxTokens:65536,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:kimi-k2-5":{id:"kimi-k2-5",name:"Kimi K2.5",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.56,output:3.5,cacheRead:.22,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:256e3,maxTokens:65536,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:kimi-k2-6":{id:"kimi-k2-6",name:"Kimi K2.6",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.75,output:3.5,cacheRead:.16,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:256e3,maxTokens:65536,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:kimi-k2-7-code":{id:"kimi-k2-7-code",name:"Kimi K2.7 Code",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.75,output:3.5,cacheRead:.16,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:256e3,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"},"chat:kimi-k3":{id:"kimi-k3",name:"Kimi K3",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:3.75,output:18.75,cacheRead:.375,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,maxTokens:131072,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:kimi-k3-fast-api":{id:"kimi-k3-fast-api",name:"Kimi K3 Fast",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:4.5,output:22.5,cacheRead:.45,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,maxTokens:131072,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:llama-3.2-3b":{id:"llama-3.2-3b",name:"Llama 3.2 3B",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!1,input:["text"],cost:{input:.15,output:.6,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:128e3,maxTokens:4096,type:"chat"},"chat:llama-3.3-70b":{id:"llama-3.3-70b",name:"Llama 3.3 70B",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!1,input:["text"],cost:{input:.7,output:2.8,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:128e3,maxTokens:4096,type:"chat"},"chat:mercury-2":{id:"mercury-2",name:"Mercury 2",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.3125,output:.9375,cacheRead:.03125,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:128e3,maxTokens:5e4,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:mercury-2-5":{id:"mercury-2-5",name:"Mercury 2.5",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.25,output:.9375,cacheRead:.025,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:26e4,maxTokens:65536,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:minimax-m25":{id:"minimax-m25",name:"MiniMax M2.5",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.27,output:.95,cacheRead:.03,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:198e3,maxTokens:32768,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:minimax-m27":{id:"minimax-m27",name:"MiniMax M2.7",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.375,output:1.5,cacheRead:.06875,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:198e3,maxTokens:32768,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:minimax-m3-preview":{id:"minimax-m3-preview",name:"MiniMax M3 Preview",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.3,output:1.2,cacheRead:.06,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:524288,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:mistral-small-3-2-24b-instruct":{id:"mistral-small-3-2-24b-instruct",name:"Mistral Small 3.2 24B Instruct",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:.09375,output:.25,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:256e3,maxTokens:16384,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:muse-spark-open":{id:"muse-spark-open",name:"Muse Spark Open",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.5625,output:5.3125,cacheRead:.1875,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1048576,maxTokens:131072,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-wonder":{id:"muse-wonder",name:"Muse Wonder",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:25,cacheRead:.25,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1048576,maxTokens:131072,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:nvidia-nemotron-3-5-super-vl-120b-a12b":{id:"nvidia-nemotron-3-5-super-vl-120b-a12b",name:"NVIDIA Nemotron 3.5 Super VL 120B",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.25,output:1.25,cacheRead:.125,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!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:nvidia-nemotron-3-nano-30b-a3b":{id:"nvidia-nemotron-3-nano-30b-a3b",name:"NVIDIA Nemotron 3 Nano 30B",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!1,input:["text"],cost:{input:.075,output:.3,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:128e3,maxTokens:16384,type:"chat"},"chat:nvidia-nemotron-3-ultra-550b-a55b":{id:"nvidia-nemotron-3-ultra-550b-a55b",name:"NVIDIA Nemotron 3 Ultra",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.625,output:3.125,cacheRead:.1875,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:256e3,maxTokens:32768,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:olafangensan-glm-4.7-flash-heretic":{id:"olafangensan-glm-4.7-flash-heretic",name:"GLM 4.7 Flash Heretic",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.07,output:.4,cacheRead:.035,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:2e5,maxTokens:24e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:openai-gpt-4o-2024-11-20":{id:"openai-gpt-4o-2024-11-20",name:"GPT-4o",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:2.5,output:10,cacheRead:1.25,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:128e3,maxTokens:16384,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai-gpt-4o-mini-2024-07-18":{id:"openai-gpt-4o-mini-2024-07-18",name:"GPT-4o Mini",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:.15,output:.6,cacheRead:.075,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:128e3,maxTokens:16384,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:openai-gpt-52":{id:"openai-gpt-52",name:"GPT-5.2",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:256e3,maxTokens:65536,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:"xhigh",max:null},type:"chat"},"chat:openai-gpt-53-codex":{id:"openai-gpt-53-codex",name:"GPT-5.3 Codex",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.75,output:14,cacheRead:.175,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:4e5,maxTokens:128e3,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:openai-gpt-54":{id:"openai-gpt-54",name:"GPT-5.4",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:15,cacheRead:.25,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,maxTokens:131072,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:openai-gpt-54-mini":{id:"openai-gpt-54-mini",name:"GPT-5.4 Mini",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.75,output:4.5,cacheRead:.075,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:4e5,maxTokens:128e3,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:openai-gpt-54-pro":{id:"openai-gpt-54-pro",name:"GPT-5.4 Pro",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,maxTokens:128e3,thinkingLevelMap:{off:"none",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:openai-gpt-55":{id:"openai-gpt-55",name:"GPT-5.5",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:5,output:30,cacheRead:.5,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,maxTokens:131072,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:openai-gpt-55-pro":{id:"openai-gpt-55-pro",name:"GPT-5.5 Pro",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:30,output:180,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:openai-gpt-56-luna":{id:"openai-gpt-56-luna",name:"GPT-5.6 Luna",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:openai-gpt-56-luna-pro":{id:"openai-gpt-56-luna-pro",name:"GPT-5.6 Luna Pro",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.2,output:1.2,cacheRead:.02,cacheWrite:.25},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:openai-gpt-56-sol":{id:"openai-gpt-56-sol",name:"GPT-5.6 Sol",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.4,cacheWrite:5},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:openai-gpt-56-sol-pro":{id:"openai-gpt-56-sol-pro",name:"GPT-5.6 Sol Pro",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:4,output:20,cacheRead:.4,cacheWrite:5},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:openai-gpt-56-terra":{id:"openai-gpt-56-terra",name:"GPT-5.6 Terra",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:2.5},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:openai-gpt-56-terra-pro":{id:"openai-gpt-56-terra-pro",name:"GPT-5.6 Terra Pro",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:12,cacheRead:.2,cacheWrite:2.5},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,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:openai-gpt-6-astra":{id:"openai-gpt-6-astra",name:"GPT-6 Astra",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:6e5,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:openai-gpt-6-astra-pro":{id:"openai-gpt-6-astra-pro",name:"GPT-6 Astra Pro",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:10,output:50,cacheRead:1,cacheWrite:12.5},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:6e5,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:openai-gpt-6-luna":{id:"openai-gpt-6-luna",name:"GPT-6 Luna",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.1,output:.5,cacheRead:.01,cacheWrite:.125},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:922e3,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:openai-gpt-6-sol":{id:"openai-gpt-6-sol",name:"GPT-6 Sol",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.2,cacheWrite:2.5},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:4e5,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:openai-gpt-61-sol":{id:"openai-gpt-61-sol",name:"GPT-6.1 Sol",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2,output:10,cacheRead:.1,cacheWrite:2.5},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:4e5,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:openai-gpt-61-sol-ultrafast":{id:"openai-gpt-61-sol-ultrafast",name:"GPT-6.1 Sol Ultrafast",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:12,output:60,cacheRead:.6,cacheWrite:15},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:4e5,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:openai-gpt-oss-120b":{id:"openai-gpt-oss-120b",name:"OpenAI GPT OSS 120B",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.07,output:.3,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:128e3,maxTokens:16384,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:qwen-3-6-plus":{id:"qwen-3-6-plus",name:"Qwen 3.6 Plus Uncensored",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.625,output:3.75,cacheRead:.0625,cacheWrite:.78},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen-3-7-max":{id:"qwen-3-7-max",name:"Qwen 3.7 Max",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.7,output:8.05,cacheRead:.27,cacheWrite:3.35},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen-3-7-plus":{id:"qwen-3-7-plus",name:"Qwen 3.7 Plus",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.5,output:2,cacheRead:.05,cacheWrite:.625},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen-3-8-2-4t-a95b":{id:"qwen-3-8-2-4t-a95b",name:"Qwen 3.8 2.4T",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:2.5,output:7.5,cacheRead:.3125,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:262144,maxTokens:65536,type:"chat"},"chat:qwen-3-8-27b":{id:"qwen-3-8-27b",name:"Qwen 3.8 27B",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.45,output:3.2,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:262144,maxTokens:65536,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:qwen-3-8-flash":{id:"qwen-3-8-flash",name:"Qwen 3.8 Flash",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.14,output:.49,cacheRead:.014,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen-3-8-max":{id:"qwen-3-8-max",name:"Qwen 3.8 Max",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:2.5,output:7.5,cacheRead:.3125,cacheWrite:3.125},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen3-235b-a22b-instruct-2507":{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen 3 235B A22B Instruct 2507",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!1,input:["text"],cost:{input:.15,output:.75,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:128e3,maxTokens:16384,type:"chat"},"chat:qwen3-235b-a22b-thinking-2507":{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen 3 235B A22B Thinking 2507",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.45,output:3.5,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:128e3,maxTokens:16384,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:qwen3-5-35b-a3b":{id:"qwen3-5-35b-a3b",name:"Qwen 3.5 35B A3B",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:1,cacheRead:.05,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:256e3,maxTokens:16384,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:qwen3-5-397b-a17b":{id:"qwen3-5-397b-a17b",name:"Qwen 3.5 397B",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.75,output:4.5,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:128e3,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:qwen3-5-9b":{id:"qwen3-5-9b",name:"Qwen 3.5 9B",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.1,output:.15,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:256e3,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:qwen3-6-27b":{id:"qwen3-6-27b",name:"Qwen 3.6 27B",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.325,output:3.25,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:256e3,maxTokens:65536,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:qwen3-6-35b-a3b":{id:"qwen3-6-35b-a3b",name:"Qwen 3.6 35B A3B",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.1,output:1,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:256e3,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:qwen3-coder-480b-a35b-instruct-turbo":{id:"qwen3-coder-480b-a35b-instruct-turbo",name:"Qwen 3 Coder 480B Turbo",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!1,input:["text"],cost:{input:.35,output:1.5,cacheRead:.04,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:256e3,maxTokens:65536,type:"chat"},"chat:qwen3-next-80b":{id:"qwen3-next-80b",name:"Qwen 3 Next 80b",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!1,input:["text"],cost:{input:.35,output:1.9,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:256e3,maxTokens:16384,type:"chat"},"chat:qwen3-vl-235b-a22b":{id:"qwen3-vl-235b-a22b",name:"Qwen3 VL 235B",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:.21,output:1.9,cacheRead:.1,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:128e3,maxTokens:16384,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:seed-2-1-turbo":{id:"seed-2-1-turbo",name:"Seed 2.1 Turbo",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.625,output:3.125,cacheRead:.125,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:256e3,maxTokens:65536,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:venice-uncensored-1-2":{id:"venice-uncensored-1-2",name:"Venice Uncensored 1.2",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:.2,output:.9,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:128e3,maxTokens:8192,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:venice-uncensored-role-play":{id:"venice-uncensored-role-play",name:"Venice Role Play Uncensored",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!1,input:["text","image"],cost:{input:.5,output:2,cacheRead:0,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:128e3,maxTokens:4096,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-V2.5",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.4,output:2,cacheRead:.08,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,maxTokens:65536,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:xiaomi-mimo-v2-6-flash":{id:"xiaomi-mimo-v2-6-flash",name:"MiMo-V2.6-Flash",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.175,output:.35,cacheRead:.00375,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,maxTokens:131072,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:z-ai-glm-5-3":{id:"z-ai-glm-5-3",name:"GLM 5.3",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.75,output:5.5,cacheRead:.325,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!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:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:.15,output:.5,cacheRead:.03,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1048576,maxTokens:131072,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:z-ai-glm-5-turbo":{id:"z-ai-glm-5-turbo",name:"GLM 5 Turbo",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.2,output:4,cacheRead:.24,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:2e5,maxTokens:32768,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:z-ai-glm-5v-turbo":{id:"z-ai-glm-5v-turbo",name:"GLM 5V Turbo",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text","image"],cost:{input:1.5,output:5,cacheRead:.3,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:2e5,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:zai-org-glm-4.6":{id:"zai-org-glm-4.6",name:"GLM 4.6",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.43,output:1.75,cacheRead:.08,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:198e3,maxTokens:16384,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:zai-org-glm-4.7":{id:"zai-org-glm-4.7",name:"GLM 4.7",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.55,output:2.65,cacheRead:.11,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:198e3,maxTokens:16384,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},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:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:.06,output:.4,cacheRead:.01,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:128e3,maxTokens:16384,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:zai-org-glm-5":{id:"zai-org-glm-5",name:"GLM 5",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1,output:3.2,cacheRead:.2,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:198e3,maxTokens:32e3,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:zai-org-glm-5-1":{id:"zai-org-glm-5-1",name:"GLM 5.1",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.54,output:4.84,cacheRead:.286,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:2e5,maxTokens:8e4,thinkingLevelMap:{off:"none",minimal:null,low:"low",medium:"medium",high:"high",xhigh:null,max:null},type:"chat"},"chat:zai-org-glm-5-2":{id:"zai-org-glm-5-2",name:"GLM 5.2",api:"openai-completions",provider:"venice",baseUrl:"https://api.venice.ai/api/v1",reasoning:!0,input:["text"],cost:{input:1.4,output:4.4,cacheRead:.26,cacheWrite:0},compat:{supportsStrictMode:!0,veniceParameters:{include_venice_system_prompt:!1}},contextWindow:1e6,maxTokens:131072,thinkingLevelMap:{off:"none",minimal:null,low:null,medium:null,high:"high",xhigh:null,max:"max"},type:"chat"}}};var VENICE_MODELS=flattenChatModelCatalog("venice",venice_default),VENICE_IMAGE_MODELS=flattenImageModelCatalog("venice",venice_default),VENICE_CLASSIFIER_MODELS=flattenClassifierModelCatalog("venice",venice_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},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},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},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},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},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,supportsDisabledThinking:!1,forceAdaptiveThinking:!0},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-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,supportsDisabledThinking:!1,forceAdaptiveThinking:!0},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-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,supportsDisabledThinking:!1,forceAdaptiveThinking:!0},cost:{input:10,output:50,cacheRead:.25,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-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,supportsDisabledThinking:!1,forceAdaptiveThinking:!0},cost:{input:5,output:25,cacheRead:.125,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-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,supportsDisabledThinking:!1,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:1e5,maxTokens:32e3,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,supportsDisabledThinking:!1,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:1e5,maxTokens:32e3,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,supportsDisabledThinking:!1,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,supportsDisabledThinking:!1,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,supportsDisabledThinking:!1,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},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},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,supportsDisabledThinking:!1,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,supportsDisabledThinking:!1,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},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},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:1e6,maxTokens:384e3,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:1e6,maxTokens:384e3,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},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},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},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},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},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},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-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: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:.68,output:2.09,cacheRead:.07,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,maxTokens:128e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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},contextWindow:922e3,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},contextWindow:922e3,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:922e3,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:272e3,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:272e3,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:272e3,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:272e3,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:272e3,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},contextWindow:922e3,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},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},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},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},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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:6e5,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},contextWindow:6e5,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},contextWindow:6e5,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:922e3,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},contextWindow:4e5,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},contextWindow:4e5,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},contextWindow:4e5,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},contextWindow:4e5,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},contextWindow:4e5,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},contextWindow:4e5,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},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},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},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},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},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},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},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},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},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},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},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},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},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},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},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},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},contextWindow:256e3,maxTokens:256e3,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:stealth/cat-jam":{id:"stealth/cat-jam",name:"Cat Jam",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: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.20-0309-non-reasoning":{id:"grok-4.20-0309-non-reasoning",name:"Grok 4.20 (Non-Reasoning)",api:"openai-responses",provider:"xai",baseUrl:"https://api.x.ai/v1",compat:{supportsLongCacheRetention:!1},reasoning:!1,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:null,minimal:null},inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"chat:grok-4.20-0309-reasoning":{id:"grok-4.20-0309-reasoning",name:"Grok 4.20 (Reasoning)",api:"openai-responses",provider:"xai",baseUrl:"https://api.x.ai/v1",compat:{supportsLongCacheRetention:!1},reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:null,medium:null,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:3e4,inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},type:"chat"},"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:null,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: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:"xai",baseUrl:"https://api.x.ai/v1",compat:{supportsLongCacheRetention:!1},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:5e5,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,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek",supportsDisabledThinking:!1},reasoning:!0,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,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek",supportsDisabledThinking:!1},reasoning:!0,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,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek",supportsDisabledThinking:!1},reasoning:!0,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,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek",supportsDisabledThinking:!1},reasoning:!0,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,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek",supportsDisabledThinking:!1},reasoning:!0,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,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek",supportsDisabledThinking:!1},reasoning:!0,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,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek",supportsDisabledThinking:!1},reasoning:!0,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,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek",supportsDisabledThinking:!1},reasoning:!0,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,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek",supportsDisabledThinking:!1},reasoning:!0,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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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,thinkingLevelMap:{minimal:null,low:null,medium:null,xhigh:null,max:null},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={"alibaba-token-plan":ALIBABA_TOKEN_PLAN_MODELS,"amazon-bedrock":AMAZON_BEDROCK_MODELS,"ant-ling":ANT_LING_MODELS,anthropic:ANTHROPIC_MODELS,"azure-openai-responses":AZURE_OPENAI_RESPONSES_MODELS,bai:BAI_MODELS,baseten:BASETEN_MODELS,cerebras:CEREBRAS_MODELS,"chatgpt-subscription":CHATGPT_SUBSCRIPTION_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,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,opencode:OPENCODE_MODELS,"opencode-go":OPENCODE_GO_MODELS,opengateway:OPENGATEWAY_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,venice:VENICE_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={"alibaba-token-plan":ALIBABA_TOKEN_PLAN_IMAGE_MODELS,"amazon-bedrock":AMAZON_BEDROCK_IMAGE_MODELS,"ant-ling":ANT_LING_IMAGE_MODELS,anthropic:ANTHROPIC_IMAGE_MODELS,"azure-openai-responses":AZURE_OPENAI_RESPONSES_IMAGE_MODELS,bai:BAI_IMAGE_MODELS,baseten:BASETEN_IMAGE_MODELS,cerebras:CEREBRAS_IMAGE_MODELS,"chatgpt-subscription":CHATGPT_SUBSCRIPTION_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,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,opencode:OPENCODE_IMAGE_MODELS,"opencode-go":OPENCODE_GO_IMAGE_MODELS,opengateway:OPENGATEWAY_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,venice:VENICE_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={"alibaba-token-plan":ALIBABA_TOKEN_PLAN_CLASSIFIER_MODELS,"amazon-bedrock":AMAZON_BEDROCK_CLASSIFIER_MODELS,"ant-ling":ANT_LING_CLASSIFIER_MODELS,anthropic:ANTHROPIC_CLASSIFIER_MODELS,"azure-openai-responses":AZURE_OPENAI_RESPONSES_CLASSIFIER_MODELS,bai:BAI_CLASSIFIER_MODELS,baseten:BASETEN_CLASSIFIER_MODELS,cerebras:CEREBRAS_CLASSIFIER_MODELS,"chatgpt-subscription":CHATGPT_SUBSCRIPTION_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,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,opencode:OPENCODE_CLASSIFIER_MODELS,"opencode-go":OPENCODE_GO_CLASSIFIER_MODELS,opengateway:OPENGATEWAY_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,venice:VENICE_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 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,builtinImagesApiProviderRegistry=new Map,getImagesProviderScope=()=>{},imagesProviderScopeStrictMode=!1;function installImagesProviderScopeAccessor(accessor){getImagesProviderScope=accessor}function setImagesProviderScopeStrictMode(enabled){imagesProviderScopeStrictMode=enabled}function getActiveImagesProviderScope(){let scope=getImagesProviderScope();if(scope?.state==="closed")throw new Error("Provider scope is closed");if(!scope&&imagesProviderScopeStrictMode)throw new Error("Provider scope is required in strict mode");return scope}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 createRegisteredImagesApiProvider(provider,sourceId){return{provider:{api:provider.api,generateImages:wrapGenerateImages(provider.api,provider.generateImages)},sourceId}}function registerImagesApiProvider(provider,sourceId){let scope=getActiveImagesProviderScope();(scope?scope.imagesOverlay:imagesApiProviderRegistry).set(provider.api,createRegisteredImagesApiProvider(provider,sourceId))}function registerBuiltinImagesApiProvider(provider){let registered=builtinImagesApiProviderRegistry.get(provider.api)??createRegisteredImagesApiProvider(provider);builtinImagesApiProviderRegistry.set(provider.api,registered),imagesApiProviderRegistry.has(provider.api)||imagesApiProviderRegistry.set(provider.api,registered)}function getImagesApiProvider(api){let scope=getActiveImagesProviderScope();return scope?scope.imagesOverlay.get(api)?.provider??builtinImagesApiProviderRegistry.get(api)?.provider:imagesApiProviderRegistry.get(api)?.provider}function getImagesApiProviders(){let scope=getActiveImagesProviderScope();if(scope){let providers=new Map(builtinImagesApiProviderRegistry);for(let[api,entry]of scope.imagesOverlay)providers.set(api,entry);return Array.from(providers.values(),entry=>entry.provider)}return Array.from(imagesApiProviderRegistry.values(),entry=>entry.provider)}function unregisterImagesApiProviders(sourceId){let scope=getActiveImagesProviderScope(),registry=scope?scope.imagesOverlay:imagesApiProviderRegistry;for(let[api,entry]of registry.entries())entry.sourceId===sourceId&®istry.delete(api)}function clearImagesApiProviders(){let scope=getActiveImagesProviderScope();(scope?scope.imagesOverlay:imagesApiProviderRegistry).clear()}function resetImagesApiProviders(){let scope=getActiveImagesProviderScope();if(scope){scope.imagesOverlay.clear();return}imagesApiProviderRegistry.clear();for(let[api,entry]of builtinImagesApiProviderRegistry)imagesApiProviderRegistry.set(api,entry)}var openRouterImagesProviderModulePromise,openAIImagesProviderModulePromise;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-RKC6LRY3.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)}},generateImagesOpenAI=async(model,context,options)=>{try{return await(await loadOpenAIImagesProviderModule())(model,context,options)}catch(error){return createLazyLoadErrorImages(model,error)}};function loadOpenAIImagesProviderModule(){return openAIImagesProviderModulePromise||=import("./openai-images-R5CFO3DP.js").then(module=>module.generateImages),openAIImagesProviderModulePromise}function registerBuiltInImagesApiProviders(){registerBuiltinImagesApiProvider({api:"openrouter-images",generateImages:generateImagesOpenRouter}),registerBuiltinImagesApiProvider({api:"openai-images",generateImages:generateImagesOpenAI})}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 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 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,ollamaProvider:()=>ollamaProvider,radiusProvider:()=>radiusProvider});function alibabaTokenPlanProvider(){return createProvider({id:"alibaba-token-plan",name:"Alibaba Token Plan",baseUrl:"https://token-plan.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",auth:{apiKey:envApiKeyAuth("Alibaba Token Plan API key",["ALIBABA_TOKEN_PLAN_API_KEY"])},models:Object.values(ALIBABA_TOKEN_PLAN_MODELS),api:openAICompletionsApi()})}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)return{auth:{},env:credential.env,source:"stored credential"};if(await env("AWS_PROFILE"))return{auth:{},env:credential?.env,source:"AWS_PROFILE",ambient:!0};if(await env("AWS_ACCESS_KEY_ID")&&await env("AWS_SECRET_ACCESS_KEY"))return{auth:{},source:"AWS access keys",ambient:!0};if(await env("AWS_CONTAINER_CREDENTIALS_RELATIVE_URI"))return{auth:{},source:"ECS task role",ambient:!0};if(await env("AWS_CONTAINER_CREDENTIALS_FULL_URI"))return{auth:{},source:"ECS task role",ambient:!0};if(await env("AWS_WEB_IDENTITY_TOKEN_FILE"))return{auth:{},source:"web identity token",ambient:!0}}};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 anthropicStreams=anthropicMessagesApi(),streamAnthropic2=anthropicStreams.stream,streamSimpleAnthropic2=anthropicStreams.streamSimple;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()},models:Object.values(ANTHROPIC_MODELS),api:anthropicMessagesApi()})}function azureOpenAIResponsesProvider(){return createProvider({id:"azure-openai-responses",name:"Azure OpenAI",auth:{apiKey:envApiKeyAuth("Azure OpenAI API key",["AZURE_OPENAI_API_KEY"])},models:Object.values(AZURE_OPENAI_RESPONSES_MODELS),api:azureOpenAIResponsesApi()})}function isJsonObject(value){return value!==null&&typeof value=="object"&&!Array.isArray(value)}function normalizeResponsesFunctionTool(tool){return!isJsonObject(tool)||tool.type!=="function"||!isJsonObject(tool.parameters)||tool.parameters.type!==void 0?tool:{...tool,parameters:normalizeToolParametersForOpenAICompat(tool.parameters)}}function normalizeBaiResponsesPayload(payload){if(!isJsonObject(payload)||!Array.isArray(payload.tools))return payload;let sourceTools=payload.tools,tools=sourceTools.map(tool=>normalizeResponsesFunctionTool(tool));return tools.some((tool,index)=>tool!==sourceTools[index])?{...payload,tools}:payload}function withBaiResponsesPayload(options){let upstreamTransform=options?.onPayload;return{...options,onPayload:async(payload,model,request)=>{let transformed=await upstreamTransform?.(payload,model,request);return normalizeBaiResponsesPayload(transformed??payload)}}}function baiResponsesStreams(streams){return{...streams,stream:(model,context,options)=>streams.stream(model,context,withBaiResponsesPayload(options)),streamSimple:(model,context,options)=>streams.streamSimple(model,context,withBaiResponsesPayload(options))}}var BAI_BASE_URL="https://api.b.ai/v1";function normalizeBaseUrl(baseUrl){return baseUrl.replace(/\/+$/u,"")}function modelIdAliases(id){let dashed=id.replaceAll(".","-");return dashed===id?[id]:[id,dashed]}function indexCatalog(catalog){let index=new Map;for(let model of catalog)for(let alias of modelIdAliases(model.id))index.has(alias)||index.set(alias,model);return index}function remapBaiModels(models,catalogById){return models.flatMap(model=>{let current=catalogById.get(model.id);return current?[current]:[]})}async function fetchBaiModels(baseUrl,catalogById,fetchImpl,context){let apiKey=context.credential?.type==="api_key"?context.credential.key?.trim():void 0;if(!apiKey)return[];let response=await fetchImpl(`${baseUrl}/models`,{headers:{accept:"application/json",authorization:`Bearer ${apiKey}`},signal:context.signal});if(!response.ok)throw new Error(`Could not load B.AI model catalog: ${response.status}`);let payload=await response.json();if(payload.success===!1)throw new Error(`Could not load B.AI model catalog: ${payload.message?.trim()||"request rejected"}`);if(!Array.isArray(payload.data))throw new Error("Invalid B.AI model catalog response");let discovered=payload.data.flatMap(entry=>{let id=entry.id?.trim(),model=id?catalogById.get(id):void 0;return model?[model]:[]});return[...new Map(discovered.map(model=>[model.id,model])).values()]}function baiProvider(options={}){let baseUrl=normalizeBaseUrl(options.baseUrl??BAI_BASE_URL),anthropicBaseUrl=baseUrl.replace(/\/v1$/u,""),catalog=[...options.models??Object.values(BAI_MODELS)].map(model=>({...model,baseUrl:model.api==="anthropic-messages"?anthropicBaseUrl:baseUrl})),catalogById=indexCatalog(catalog),fetchImpl=options.fetch??fetch;return createProvider({id:"bai",name:"B.AI",baseUrl,auth:{apiKey:envApiKeyAuth("B.AI API key",["BAI_API_KEY"])},models:[],restoreModels:models=>remapBaiModels(models,catalogById),fetchModels:context=>fetchBaiModels(baseUrl,catalogById,fetchImpl,context),api:{"openai-responses":baiResponsesStreams(openAIResponsesApi()),"openai-completions":openAICompletionsApi(),"anthropic-messages":anthropicMessagesApi()}})}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 __rewriteRelativeImportExtension4=function(path4,preserveJsx){return typeof path4=="string"&&/^\.\.?\//.test(path4)?path4.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i,function(m,tsx,d,ext,cm){return tsx?preserveJsx?".jsx":".js":d&&(!ext||!cm)?m:d+ext+"."+cm.toLowerCase()+"js"}):path4},importOAuthModule=specifier=>{let runtimeSpecifier=import.meta.url.endsWith(".js")?specifier.replace(/\.ts$/,".js"):specifier;return import(__rewriteRelativeImportExtension4(runtimeSpecifier))},bundledLoaders;function registerBundledOAuthFlowLoaders(loaders){bundledLoaders=loaders}var loadAnthropicOAuth=async()=>bundledLoaders?bundledLoaders.anthropic():(await importOAuthModule("./anthropic.ts")).anthropicOAuth,loadChatGptSubscriptionOAuth=async()=>bundledLoaders?bundledLoaders.chatgptSubscription():(await importOAuthModule("./chatgpt-subscription.ts")).chatgptSubscriptionOAuth;var 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,loadCursorOAuth=async()=>bundledLoaders?bundledLoaders.cursor():(await importOAuthModule("./cursor.ts")).cursorOAuth,loadDevinOAuth=async()=>bundledLoaders?bundledLoaders.devin():(await importOAuthModule("./devin.ts")).devinOAuth,loadRadiusOAuth=async options=>bundledLoaders?bundledLoaders.radius(options):(await importOAuthModule("./radius.ts")).createRadiusOAuth(options);function chatgptSubscriptionProvider(){return createProvider({id:"chatgpt-subscription",name:"ChatGPT Subscription",baseUrl:"https://chatgpt.com/backend-api",auth:{oauth:lazyOAuth({name:"ChatGPT Subscription (Plus/Pro)",isSubscription:!0,load:loadChatGptSubscriptionOAuth})},models:Object.values(CHATGPT_SUBSCRIPTION_MODELS),api:openAICodexResponsesApi()})}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),...Object.values(CLOUDFLARE_WORKERS_AI_MODELS).map(model=>({...model,provider:"cloudflare-ai-gateway",id:`workers-ai/${model.id}`,baseUrl:"https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/compat"}))],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-PF7FU63D.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 store=processSingleton("@earendil-works/pi-ai:cursor-context-limits",()=>({limits:new Map,persistence:void 0,hydrated:!1}));function installCursorContextLimitPersistence(port){store.persistence!==port&&(store.persistence=port,store.hydrated=!1)}function hydrate(){if(!store.hydrated&&(store.hydrated=!0,!!store.persistence))for(let[modelId,maxTokens]of store.persistence.load())store.limits.has(modelId)||store.limits.set(modelId,maxTokens)}function getCursorContextLimit(modelId){return hydrate(),store.limits.get(modelId)}function resolveCursorContextWindow(modelId,catalogWindow){return getCursorContextLimit(modelId)??catalogWindow}function absorbStaticLevels(current,flatGroup){let additions=Object.entries(flatGroup?.thinkingLevelMap??{}).filter(([level,value])=>value!=null&¤t.thinkingLevelMap?.[level]==null);return additions.length===0?current:{...current,thinkingLevelMap:{...current.thinkingLevelMap,...Object.fromEntries(additions)}}}function entryToModel(entry,maxTokensById){let representative=entry.representativeVariantId??entry.legacyAliases[0]??entry.id,maxTokens=maxTokensById.get(representative)??maxTokensById.get(entry.id)??64e3;return{id:entry.id,name:entry.name,api:"cursor-agent",provider:"cursor",baseUrl:"https://api2.cursor.sh",reasoning:entry.reasoning,...entry.thinkingLevelMap?{thinkingLevelMap:entry.thinkingLevelMap}:{},input:entry.input,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:resolveCursorContextWindow(entry.id,entry.window),maxTokens,...entry.representativeVariantId!==void 0&&entry.representativeVariantId!==entry.id?{upstreamModelId:entry.representativeVariantId}:{},compat:{...entry.cursorMaxMode?{cursorMaxMode:!0}:{},...entry.capabilityId!==void 0&&entry.representativeVariantId!==void 0?{cursorReasoning:{capabilityId:entry.capabilityId,...entry.thinkingMode!==void 0?{thinkingMode:entry.thinkingMode}:{},representativeVariantId:entry.representativeVariantId,...entry.variantIds!==void 0?{variantIds:entry.variantIds}:{}}}:{}}}}function regroupStoredCursorModels(models){let existingGroups=new Map,existingDerived=new Map,representedTargetById=new Map;for(let model of models){let reasoning=model.compat?.cursorReasoning;if(!(reasoning===void 0||existingGroups.has(model.id))&&(existingGroups.set(model.id,model),reasoning.variantIds!==void 0)){existingDerived.set(model.id,model);for(let id of Object.values(reasoning.variantIds))representedTargetById.set(id,model.id)}}let derived=deriveCursorVariantAliases([...models.filter(model=>model.compat?.cursorReasoning===void 0).map(model=>model.id),...[...existingDerived.values()].flatMap(model=>Object.values(model.compat?.cursorReasoning?.variantIds??{}))]),isLegacy=model=>model.compat?.cursorReasoning===void 0&&(getCursorVariantAlias(model.id)!==void 0||derived.has(model.id)||representedTargetById.has(model.id)),legacy=models.filter(isLegacy),maxTokensById=new Map(models.map(model=>[model.id,model.maxTokens])),regrouped=new Map(normalizeCursorCatalog(legacy.map(model=>({id:model.id,name:model.name,input:model.input.filter(modality=>modality!=="video"),cursorMaxMode:model.compat?.cursorMaxMode===!0}))).map(entry=>[entry.id,entryToModel(entry,maxTokensById)])),merged=new Map;for(let[targetId,current]of existingGroups){let kept=current.compat?.cursorReasoning;if(kept?.variantIds===void 0){merged.set(targetId,absorbStaticLevels(current,regrouped.get(targetId)));continue}let variantIds={...kept.variantIds},thinkingLevelMap={...current.thinkingLevelMap},changed=!1;for(let model of legacy){let alias=derived.get(model.id);alias?.targetId!==targetId||alias.level===void 0||variantIds[alias.level]!==void 0&&variantIds[alias.level]!==model.id||(variantIds[alias.level]=model.id,thinkingLevelMap[alias.level]=parseCursorVariantId(model.id).level,changed=!0)}merged.set(targetId,changed?{...current,thinkingLevelMap,compat:{...current.compat,cursorReasoning:{...kept,variantIds}}}:current)}let seen=new Set,out=[];for(let model of models){let targetId=(isLegacy(model)?getCursorVariantAlias(model.id)??derived.get(model.id):void 0)?.targetId??(isLegacy(model)?representedTargetById.get(model.id):void 0)??model.id,coalesced=merged.get(targetId);if(coalesced!==void 0){let retainedIds=coalesced.compat?.cursorReasoning?.variantIds;if(!(model.id===targetId||(retainedIds===void 0?isLegacy(model):Object.values(retainedIds).includes(model.id)))){seen.has(model.id)||out.push(model),seen.add(model.id);continue}seen.has(targetId)||out.push(coalesced),seen.add(targetId);continue}if(!isLegacy(model)){seen.has(model.id)||out.push(model),seen.add(model.id);continue}seen.has(targetId)||(seen.add(targetId),out.push(regrouped.get(targetId)??model))}return out}var CURSOR_BASE_URL="https://api2.cursor.sh";async function fetchCursorModels(context){let credential=context.credential,accessToken=credential?.type==="oauth"?credential.access:credential?.key;if(!accessToken)return[];let{fetchCursorUsableModels}=await loadCursorAgentModule(),discovered=await fetchCursorUsableModels({apiKey:accessToken,signal:context.signal});if(discovered===null)throw new Error("Could not load Cursor model catalog from GetUsableModels");let normalized=normalizeCursorCatalog(discovered.map(model=>({id:model.id,name:model.name,input:model.input,cursorMaxMode:model.cursorMaxMode}))),maxTokensByVariant=new Map(discovered.map(model=>[model.id,model.maxTokens]));return normalized.map(entry=>{let representative=entry.representativeVariantId??entry.legacyAliases[0]??entry.id,maxTokens=maxTokensByVariant.get(representative)??maxTokensByVariant.get(entry.id)??64e3;return{id:entry.id,name:entry.name,api:"cursor-agent",provider:"cursor",baseUrl:CURSOR_BASE_URL,reasoning:entry.reasoning,...entry.thinkingLevelMap?{thinkingLevelMap:entry.thinkingLevelMap}:{},input:entry.input,cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:resolveCursorContextWindow(entry.id,entry.window),maxTokens,...entry.representativeVariantId!==void 0&&entry.representativeVariantId!==entry.id?{upstreamModelId:entry.representativeVariantId}:{},compat:{...entry.cursorMaxMode?{cursorMaxMode:!0}:{},...entry.capabilityId!==void 0&&entry.representativeVariantId!==void 0?{cursorReasoning:{capabilityId:entry.capabilityId,...entry.thinkingMode!==void 0?{thinkingMode:entry.thinkingMode}:{},representativeVariantId:entry.representativeVariantId,...entry.variantIds!==void 0?{variantIds:entry.variantIds}:{}}}:{}}}})}function cursorProvider(){return createProvider({id:"cursor",name:"Cursor",baseUrl:CURSOR_BASE_URL,restoreModels:models=>regroupStoredCursorModels(models),auth:{oauth:lazyOAuth({name:"Cursor (Pro/Ultra/Teams)",isSubscription:!0,loginLabel:"Sign in with Cursor",load:loadCursorOAuth})},models:[],fetchModels:fetchCursorModels,api:cursorAgentApi()})}var manifest_default={schemaVersion:6,generatedAt:"2026-10-18T16:03:45.742Z",structureHash:"9263d737bf316929496e45bb9a43abddf45de33dba785d3b25ae869449108321",files:{"alibaba-token-plan.json":"16b3c6c78d72c73ca34a1e79ce71c0cf36ba409d02e83a17396ce0949a1d5363","amazon-bedrock.json":"4a95e6bf974e5ca967d5c050df580262e13573e42b3186edb448fa11a302f09f","ant-ling.json":"628feab3ef6c7d80ce96f75999804e1d9f05fec3851e5302e30fff3b69db90f6","anthropic.json":"111384e9f5845e0247bd34edf2400ef7720fcbdac140b944cf8878192d8bd6ab","azure-openai-responses.json":"a3e52bd78f0220aa32bce519e13955b8e6e567860416343844cbe19902f4a682","bai.json":"7e6861aaf27d8af34e1771c6092602194fcec0a0046e6adfab9c3ee54d32b99f","baseten.json":"7bfa0c8145b0a55d9bfab9ef90963b4d0ab7d86301a824b937d955bc9856656d","cerebras.json":"3eccb58c5de3d0dc7ba49dc6e477ba29f00cb3150ce0a35cc90d59e6b5ab368e","chatgpt-subscription.json":"42b88c93d717b2a7469b71da7da5adf87347d0d9cc0f264b39117f0f940b51c0","cloudflare-ai-gateway.json":"673ac36e4531995c43e49e132577cdde18a0ba088648ecae5a904020f400abc2","cloudflare-workers-ai.json":"f351e80493dea7b7a2c31dceb086ee804a88d67c5f8a3c823ea907991fe5d659","deepseek.json":"10a296fb3e898f7715c80890c8af0af4f5fd58f22dbcd6612fdc5d762157ccdc","fireworks.json":"868f828365314089608e6d0d915076f6d3d4f67c305f824d47ba05e040897d39","github-copilot.json":"9a0a960b5978134bdd7a5e56928fb1985a10ce893fd31d93a272a4b38c413740","google-vertex.json":"8f986b4aca8c685b0f3481bd252bda21e4858bf9015ad37fc5bcc44b7f01d076","google.json":"fc06c3cd56c180d214612ce0ef72ea14734195de70ace47ef47f02199b053aae","groq.json":"910952ad9dad07856983459d63fce0148dba1203edd7b10d801a77c5824f3405","huggingface.json":"6399e958790a9d90c21fb55d1cbef8569427a1ceb28de86dadeb3b4454ecfade","meta.json":"563f5ec07973f52ab8c3eb26ef91a36ad8a79e950b37174935666cdcb624bf35","minimax-cn.json":"f962c20ee6a6a342820f778e9dc363a18a524bf11998f6e2c57f2989915d62e5","minimax.json":"17a432f80d0ea6dd26eade80a4314250d3a855678601728a5f70dd8fa0d21dd2","mistral.json":"27aa66c71a0504b53dc87ec194286fa7e70b99747fc8df9b709b23b3548afe50","moonshotai-cn.json":"18954b55dc5edecc174d8a07a2c5993416dd9d3ce52e411438035c16ee982e8e","moonshotai.json":"62d08fd5beead025a56d5f2e4227d8516b9c5034275b1b36d761a8625918f2b9","nvidia.json":"98b47c4da26c8e649f48a874602fd7e9dc8a54ee0bdb40e3d07fe49189a842d2","openai.json":"9104538118053eed57f90852332b6ad274a4e4792389bdbc9cfca1ae400c705a","opencode-go.json":"693dcbe0427d5befc05829c46fbcfa3e611e3996c419383584549d90760b0b42","opencode.json":"2065d61a7094c17c2b913a3c05d0a30f638e2e4bac18969dc9b0a6e66a94cf74","opengateway.json":"66a40f7db96dae9e40e61dc2b91d5615300de4c6dd57371bf5ce205e07742d0d","openrouter.json":"f4b6ae665d042fca679b08a76fd6dd5aad440a3058a834d0ad2a7431d0215a81","qwen-token-plan-cn.json":"bd36a6d9cc2048deafacc85f7f0f2e51868c8b7aa09502e3e4e60e3e8b76f690","qwen-token-plan-individual.json":"35ffb0ba1a1ce3f68fc73262dd5e07fbcb5bf5911ad1e6e17bc0621e2894676a","qwen-token-plan.json":"ca27e49e62965221badead8e867b2007035c6b6a15a97c47219bd23d2c83c2b1","radius.json":"69e36b9def5d89fa043d6e116db07b7072a6b923a17c9ac8c971d2e1a10fb0a9","together.json":"632de70cb51cb094256728f2261a52c5602d6bc35823cbd3ce69e5caee01cede","typesafe.json":"a4429a2f696d5cc5273969af61a7310bda07d6bdcd27bf9ac9c76c534cc43716","venice.json":"7ccc4284bb1bdd458898bc64dc0c2f07b629dcfc6cda41b13d1dc35feba98190","vercel-ai-gateway.json":"eee8d6133c602dc69d1a4635d7543695fb102c56df80f570243a9d9e5d738c74","xai.json":"d7771a1450b21c1f6aee887ca6fea61b6e7b3fc13b4dee5cf72a71134fe623bc","xiaomi-token-plan-ams.json":"7fa339ba5675460b1ff4e5bca9e8ad0aa60b0277d75a989b1c196aa6ca2af34d","xiaomi-token-plan-cn.json":"ef7917c6ea0d3edc655c8a52082ee5f1330658aa6f10199d8f164eb4605ef0a0","xiaomi-token-plan-sgp.json":"addda93f6b70ba879db97e3cfd2e4f2efc7cda47d7daa78c23c5b0e51162de5c","xiaomi.json":"5a42caf49d3e4d7946d60386e9899c2146bf8e3cbaff4c576ee4f49b398cc11c","zai-coding-cn.json":"2b6f85e04b5c568e320b1bde25b1c1614af9342e4c1ba0e1d5bb248aaf50cfe9","zai.json":"e9cc408e1756de8abc70148d63d89d11a63c65b7ef06ad0661cd1328e4209ba3"}};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()})}var file_cascade=fileDesc("Cg1jYXNjYWRlLnByb3RvEhFleGEuYXBpX3NlcnZlcl9wYiKBAwoITWV0YWRhdGESEAoIaWRlX25hbWUYASABKAkSGQoRZXh0ZW5zaW9uX3ZlcnNpb24YAiABKAkSDwoHYXBpX2tleRgDIAEoCRIOCgZsb2NhbGUYBCABKAkSCgoCb3MYBSABKAkSGQoRZGlzYWJsZV90ZWxlbWV0cnkYBiABKAgSEwoLaWRlX3ZlcnNpb24YByABKAkSEAoIaGFyZHdhcmUYCCABKAkSEgoKcmVxdWVzdF9pZBgJIAEoBBISCgpzZXNzaW9uX2lkGAogASgJEhYKDmV4dGVuc2lvbl9uYW1lGAwgASgJEhAKCHVzZXJfand0GBUgASgJEhUKDWZvcmNlX3RlYW1faWQYFiABKAkSGgoSZGV2aWNlX2ZpbmdlcnByaW50GBggASgJEhAKCGlkZV90eXBlGBwgASgJEkIKGHN1cHBvcnRlZF9tb2RlbF9kaXNwbGF5cxgeIAMoDjIgLmV4YS5hcGlfc2VydmVyX3BiLkRpc3BsYXlPcHRpb24ikQEKDENoYXRUb29sQ2FsbBIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEhYKDmFyZ3VtZW50c19qc29uGAMgASgJEhgKEGludmFsaWRfanNvbl9zdHIYBCABKAkSGAoQaW52YWxpZF9qc29uX2VychgFIAEoCRIbChNpc19jdXN0b21fdG9vbF9jYWxsGAYgASgIIkYKDkNoYXRUb29sQ2hvaWNlEhUKC29wdGlvbl9uYW1lGAEgASgJSAASEwoJdG9vbF9uYW1lGAIgASgJSABCCAoGY2hvaWNlImQKFUNvbXB1dGVyVXNlVG9vbENvbmZpZxIYChBkaXNwbGF5X3dpZHRoX3B4GAEgASgFEhkKEWRpc3BsYXlfaGVpZ2h0X3B4GAIgASgFEhYKDmRpc3BsYXlfbnVtYmVyGAMgASgFIsACChJDaGF0VG9vbERlZmluaXRpb24SDAoEbmFtZRgBIAEoCRITCgtkZXNjcmlwdGlvbhgCIAEoCRIaChJqc29uX3NjaGVtYV9zdHJpbmcYAyABKAkSHwoXYXR0cmlidXRpb25fZmllbGRfbmFtZXMYBSADKAkSEwoLc2VydmVyX25hbWUYBiABKAkSGwoOcmVhZF9vbmx5X2hpbnQYByABKAhIAIgBARJFChNjb21wdXRlcl91c2VfY29uZmlnGAggASgLMiguZXhhLmFwaV9zZXJ2ZXJfcGIuQ29tcHV0ZXJVc2VUb29sQ29uZmlnEhsKDmlzX2N1c3RvbV90b29sGAkgASgISAGIAQESDgoGc3RyaWN0GAwgASgIQhEKD19yZWFkX29ubHlfaGludEIRCg9faXNfY3VzdG9tX3Rvb2wiRwoSUHJvbXB0Q2FjaGVPcHRpb25zEjEKBHR5cGUYASABKA4yIy5leGEuYXBpX3NlcnZlcl9wYi5DYWNoZUNvbnRyb2xUeXBlIkQKCUltYWdlRGF0YRITCgtiYXNlNjRfZGF0YRgBIAEoCRIRCgltaW1lX3R5cGUYAiABKAkSDwoHY2FwdGlvbhgDIAEoCSLWAwoRQ2hhdE1lc3NhZ2VQcm9tcHQSEgoKbWVzc2FnZV9pZBgBIAEoCRI0CgZzb3VyY2UYAiABKA4yJC5leGEuYXBpX3NlcnZlcl9wYi5DaGF0TWVzc2FnZVNvdXJjZRIOCgZwcm9tcHQYAyABKAkSEgoKbnVtX3Rva2VucxgEIAEoDRIfChdzYWZlX2Zvcl9jb2RlX3RlbGVtZXRyeRgFIAEoCBIzCgp0b29sX2NhbGxzGAYgAygLMh8uZXhhLmFwaV9zZXJ2ZXJfcGIuQ2hhdFRvb2xDYWxsEhQKDHRvb2xfY2FsbF9pZBgHIAEoCRJDChRwcm9tcHRfY2FjaGVfb3B0aW9ucxgIIAEoCzIlLmV4YS5hcGlfc2VydmVyX3BiLlByb21wdENhY2hlT3B0aW9ucxIcChR0b29sX3Jlc3VsdF9pc19lcnJvchgJIAEoCBIsCgZpbWFnZXMYCiADKAsyHC5leGEuYXBpX3NlcnZlcl9wYi5JbWFnZURhdGESEAoIdGhpbmtpbmcYCyABKAkSEQoJc2lnbmF0dXJlGAwgASgJEhkKEXRoaW5raW5nX3JlZGFjdGVkGA0gASgIEhYKDnNpZ25hdHVyZV90eXBlGBIgASgJIowCChdDb21wbGV0aW9uQ29uZmlndXJhdGlvbhIXCg9udW1fY29tcGxldGlvbnMYASABKAQSEgoKbWF4X3Rva2VucxgCIAEoBBIUCgxtYXhfbmV3bGluZXMYAyABKAQSGwoTbWluX2xvZ19wcm9iYWJpbGl0eRgEIAEoARITCgt0ZW1wZXJhdHVyZRgFIAEoARIZChFmaXJzdF90ZW1wZXJhdHVyZRgGIAEoARINCgV0b3BfaxgHIAEoBBINCgV0b3BfcBgIIAEoARIVCg1zdG9wX3BhdHRlcm5zGAkgAygJEgwKBHNlZWQYCiABKAQSHgoWZmltX2VvdF9wcm9iX3RocmVzaG9sZBgLIAEoASLUAQoPTW9kZWxVc2FnZVN0YXRzEhQKDGlucHV0X3Rva2VucxgCIAEoBBIVCg1vdXRwdXRfdG9rZW5zGAMgASgEEhoKEmNhY2hlX3dyaXRlX3Rva2VucxgEIAEoBBIZChFjYWNoZV9yZWFkX3Rva2VucxgFIAEoBBISCgptZXNzYWdlX2lkGAcgASgJEhEKCW1vZGVsX3VpZBgJIAEoCRIZChFiaWxsaW5nX21vZGVsX3VpZBgKIAEoCRIbChNyZXF1ZXN0ZWRfbW9kZWxfdWlkGAsgASgJIowGChVHZXRDaGF0TWVzc2FnZVJlcXVlc3QSLQoIbWV0YWRhdGEYASABKAsyGy5leGEuYXBpX3NlcnZlcl9wYi5NZXRhZGF0YRIOCgZwcm9tcHQYAiABKAkSQgoUY2hhdF9tZXNzYWdlX3Byb21wdHMYAyADKAsyJC5leGEuYXBpX3NlcnZlcl9wYi5DaGF0TWVzc2FnZVByb21wdBIfChd1c2VfaW50ZXJuYWxfY2hhdF9tb2RlbBgFIAEoCBI/CgxyZXF1ZXN0X3R5cGUYByABKA4yKS5leGEuYXBpX3NlcnZlcl9wYi5DaGF0TWVzc2FnZVJlcXVlc3RUeXBlEkEKDWNvbmZpZ3VyYXRpb24YCCABKAsyKi5leGEuYXBpX3NlcnZlcl9wYi5Db21wbGV0aW9uQ29uZmlndXJhdGlvbhI0CgV0b29scxgKIAMoCzIlLmV4YS5hcGlfc2VydmVyX3BiLkNoYXRUb29sRGVmaW5pdGlvbhIjChtkaXNhYmxlX3BhcmFsbGVsX3Rvb2xfY2FsbHMYCyABKAgSNgoLdG9vbF9jaG9pY2UYDCABKAsyIS5leGEuYXBpX3NlcnZlcl9wYi5DaGF0VG9vbENob2ljZRJKChtzeXN0ZW1fcHJvbXB0X2NhY2hlX29wdGlvbnMYDSABKAsyJS5leGEuYXBpX3NlcnZlcl9wYi5Qcm9tcHRDYWNoZU9wdGlvbnMSFwoPY2hhdF9tb2RlbF9uYW1lGA4gASgJEhIKCmNhc2NhZGVfaWQYECABKAkSEQoJcHJvbXB0X2lkGBEgASgJEkIKDHBsYW5uZXJfbW9kZRgUIAEoDjIsLmV4YS5hcGlfc2VydmVyX3BiLkNvbnZlcnNhdGlvbmFsUGxhbm5lck1vZGUSFgoOY2hhdF9tb2RlbF91aWQYFSABKAkSFAoMZXhlY3V0aW9uX2lkGBYgASgJEiEKFG1vZGVsX2Fzc2lnbm1lbnRfand0GBogASgJSACIAQFCFwoVX21vZGVsX2Fzc2lnbm1lbnRfand0Iu8DChZHZXRDaGF0TWVzc2FnZVJlc3BvbnNlEhIKCm1lc3NhZ2VfaWQYASABKAkSEgoKZGVsdGFfdGV4dBgDIAEoCRIUCgxkZWx0YV90b2tlbnMYBCABKA0SMgoLc3RvcF9yZWFzb24YBSABKA4yHS5leGEuYXBpX3NlcnZlcl9wYi5TdG9wUmVhc29uEjkKEGRlbHRhX3Rvb2xfY2FsbHMYBiADKAsyHy5leGEuYXBpX3NlcnZlcl9wYi5DaGF0VG9vbENhbGwSMQoFdXNhZ2UYByABKAsyIi5leGEuYXBpX3NlcnZlcl9wYi5Nb2RlbFVzYWdlU3RhdHMSFgoOZGVsdGFfdGhpbmtpbmcYCSABKAkSFwoPZGVsdGFfc2lnbmF0dXJlGAogASgJEhkKEXRoaW5raW5nX3JlZGFjdGVkGAsgASgIEhMKC2NyZWRpdF9jb3N0GA4gASgFEhEKCW91dHB1dF9pZBgPIAEoCRISCgpyZXF1ZXN0X2lkGBEgASgJEh0KFWNvbW1pdHRlZF9jcmVkaXRfY29zdBgSIAEoBRIaChJjb21taXR0ZWRfYWN1X2Nvc3QYFiABKAESHQoQYWN0dWFsX21vZGVsX3VpZBgXIAEoCUgAiAEBQhMKEV9hY3R1YWxfbW9kZWxfdWlkIjoKDE1vZGVsT3JBbGlhcxIPCgVtb2RlbBgBIAEoCUgAEg8KBWFsaWFzGAIgASgJSABCCAoGY2hvaWNlIoYBCg1Nb2RlbEZlYXR1cmVzEhcKD3N1cHBvcnRzX2ltYWdlcxgLIAEoCBIbChNzdXBwb3J0c190b29sX2NhbGxzGAwgASgIEhkKEXN1cHBvcnRzX3RoaW5raW5nGA8gASgIEiQKHHN1cHBvcnRzX3BhcmFsbGVsX3Rvb2xfY2FsbHMYFSABKAgixgEKCU1vZGVsSW5mbxI4Cg5tb2RlbF9mZWF0dXJlcxgGIAEoCzIgLmV4YS5hcGlfc2VydmVyX3BiLk1vZGVsRmVhdHVyZXMSGQoRbWF4X291dHB1dF90b2tlbnMYDSABKAUSEQoJbW9kZWxfdWlkGBEgASgJEjgKDmRpc3BsYXlfb3B0aW9uGBYgASgOMiAuZXhhLmFwaV9zZXJ2ZXJfcGIuRGlzcGxheU9wdGlvbhIXCg9pc19tb2RlbF9yb3V0ZXIYGSABKAgiugEKDk1vZGVsRGltZW5zaW9uEg0KBWxhYmVsGAEgASgJEg0KBXZhbHVlGAIgASgCEhMKC2Rlbm9taW5hdG9yGAMgASgJEhEKCW1pbl9yYW5nZRgEIAEoAhIRCgltYXhfcmFuZ2UYBSABKAISMwoEa2luZBgGIAEoDjIlLmV4YS5hcGlfc2VydmVyX3BiLk1vZGVsRGltZW5zaW9uS2luZBIRCgRpbmZvGAcgASgJSACIAQFCBwoFX2luZm8iNwoYTW9kZWxGYW1pbHlNZXRhZGF0YVZhbHVlEg0KBW9yZGVyGAEgASgFEgwKBG5hbWUYAiABKAkiYwoYTW9kZWxGYW1pbHlNZXRhZGF0YUVudHJ5EgsKA2tleRgBIAEoCRI6CgV2YWx1ZRgCIAEoCzIrLmV4YS5hcGlfc2VydmVyX3BiLk1vZGVsRmFtaWx5TWV0YWRhdGFWYWx1ZSKTAQoTTW9kZWxGYW1pbHlNZXRhZGF0YRIaChJtb2RlbF9mYW1pbHlfbGFiZWwYASABKAkSPAoHZW50cmllcxgCIAMoCzIrLmV4YS5hcGlfc2VydmVyX3BiLk1vZGVsRmFtaWx5TWV0YWRhdGFFbnRyeRIiChppc19kZWZhdWx0X21vZGVsX2luX2ZhbWlseRgDIAEoCCK2BAoRQ2xpZW50TW9kZWxDb25maWcSDQoFbGFiZWwYASABKAkSNwoObW9kZWxfb3JfYWxpYXMYAiABKAsyHy5leGEuYXBpX3NlcnZlcl9wYi5Nb2RlbE9yQWxpYXMSGQoRY3JlZGl0X211bHRpcGxpZXIYAyABKAISEAoIZGlzYWJsZWQYBCABKAgSFwoPc3VwcG9ydHNfaW1hZ2VzGAUgASgIEhIKCmlzX3ByZW1pdW0YByABKAgSDwoHaXNfYmV0YRgJIAEoCBIWCg5pc19yZWNvbW1lbmRlZBgLIAEoCBIOCgZpc19uZXcYDyABKAgSEgoKbWF4X3Rva2VucxgSIAEoBRIbChNpc19jYXBhY2l0eV9saW1pdGVkGBQgASgIEhEKCW1vZGVsX3VpZBgWIAEoCRIwCgptb2RlbF9pbmZvGBcgASgLMhwuZXhhLmFwaV9zZXJ2ZXJfcGIuTW9kZWxJbmZvEhgKC2Rlc2NyaXB0aW9uGBsgASgJSACIAQESRQoVbW9kZWxfZmFtaWx5X21ldGFkYXRhGB4gASgLMiYuZXhhLmFwaV9zZXJ2ZXJfcGIuTW9kZWxGYW1pbHlNZXRhZGF0YRIiChppc19kZWZhdWx0X21vZGVsX2luX2ZhbWlseRgfIAEoCBI7ChBtb2RlbF9kaW1lbnNpb25zGCAgAygLMiEuZXhhLmFwaV9zZXJ2ZXJfcGIuTW9kZWxEaW1lbnNpb25CDgoMX2Rlc2NyaXB0aW9uIkoKGUdldENsaU1vZGVsQ29uZmlnc1JlcXVlc3QSLQoIbWV0YWRhdGEYASABKAsyGy5leGEuYXBpX3NlcnZlcl9wYi5NZXRhZGF0YSJgChpHZXRDbGlNb2RlbENvbmZpZ3NSZXNwb25zZRJCChRjbGllbnRfbW9kZWxfY29uZmlncxgBIAMoCzIkLmV4YS5hcGlfc2VydmVyX3BiLkNsaWVudE1vZGVsQ29uZmlnIkIKEUdldFVzZXJKd3RSZXF1ZXN0Ei0KCG1ldGFkYXRhGAEgASgLMhsuZXhhLmFwaV9zZXJ2ZXJfcGIuTWV0YWRhdGEiRQoSR2V0VXNlckp3dFJlc3BvbnNlEhAKCHVzZXJfand0GAEgASgJEh0KFWN1c3RvbV9hcGlfc2VydmVyX3VybBgCIAEoCSJSCg9Nb2RlbEFzc2lnbm1lbnQSFgoOYXNzaWdubWVudF9qd3QYASABKAkSEQoJbW9kZWxfdWlkGAIgASgJEhQKDGhhcm5lc3NfdWlkcxgDIAMoCSK0AQoSQXNzaWduTW9kZWxSZXF1ZXN0Ei0KCG1ldGFkYXRhGAEgASgLMhsuZXhhLmFwaV9zZXJ2ZXJfcGIuTWV0YWRhdGESGAoQbW9kZWxfcm91dGVyX3VpZBgCIAEoCRISCgpjYXNjYWRlX2lkGAMgASgJEkEKE2NoYXRfbWVzc2FnZV9wcm9tcHQYBSABKAsyJC5leGEuYXBpX3NlcnZlcl9wYi5DaGF0TWVzc2FnZVByb21wdCJNChNBc3NpZ25Nb2RlbFJlc3BvbnNlEjYKCmFzc2lnbm1lbnQYASABKAsyIi5leGEuYXBpX3NlcnZlcl9wYi5Nb2RlbEFzc2lnbm1lbnQqWAoQQ2FjaGVDb250cm9sVHlwZRIiCh5DQUNIRV9DT05UUk9MX1RZUEVfVU5TUEVDSUZJRUQQABIgChxDQUNIRV9DT05UUk9MX1RZUEVfRVBIRU1FUkFMEAEq3AEKEUNoYXRNZXNzYWdlU291cmNlEiMKH0NIQVRfTUVTU0FHRV9TT1VSQ0VfVU5TUEVDSUZJRUQQABIcChhDSEFUX01FU1NBR0VfU09VUkNFX1VTRVIQARIeChpDSEFUX01FU1NBR0VfU09VUkNFX1NZU1RFTRACEh8KG0NIQVRfTUVTU0FHRV9TT1VSQ0VfVU5LTk9XThADEhwKGENIQVRfTUVTU0FHRV9TT1VSQ0VfVE9PTBAEEiUKIUNIQVRfTUVTU0FHRV9TT1VSQ0VfU1lTVEVNX1BST01QVBAFKokCChZDaGF0TWVzc2FnZVJlcXVlc3RUeXBlEikKJUNIQVRfTUVTU0FHRV9SRVFVRVNUX1RZUEVfVU5TUEVDSUZJRUQQABIlCiFDSEFUX01FU1NBR0VfUkVRVUVTVF9UWVBFX0dFTkVSQUwQARIrCidDSEFUX01FU1NBR0VfUkVRVUVTVF9UWVBFX0NPTlRFWFRfQ0hFQ0sQAhIiCh5DSEFUX01FU1NBR0VfUkVRVUVTVF9UWVBFX1BMQU4QAxIlCiFDSEFUX01FU1NBR0VfUkVRVUVTVF9UWVBFX0NPTU1BTkQQBBIlCiFDSEFUX01FU1NBR0VfUkVRVUVTVF9UWVBFX0NBU0NBREUQBSq5AwoKU3RvcFJlYXNvbhIbChdTVE9QX1JFQVNPTl9VTlNQRUNJRklFRBAAEhoKFlNUT1BfUkVBU09OX0lOQ09NUExFVEUQARIcChhTVE9QX1JFQVNPTl9TVE9QX1BBVFRFUk4QAhIaChZTVE9QX1JFQVNPTl9NQVhfVE9LRU5TEAMSHAoYU1RPUF9SRUFTT05fTUlOX0xPR19QUk9CEAQSHAoYU1RPUF9SRUFTT05fTUFYX05FV0xJTkVTEAUSGgoWU1RPUF9SRUFTT05fRVhJVF9TQ09QRRAGEicKI1NUT1BfUkVBU09OX05PTkZJTklURV9MT0dJVF9PUl9QUk9CEAcSKQolU1RPUF9SRUFTT05fRklSU1RfTk9OX1dISVRFU1BBQ0VfTElORRAIEhcKE1NUT1BfUkVBU09OX1BBUlRJQUwQCRIdChlTVE9QX1JFQVNPTl9GVU5DVElPTl9DQUxMEAoSHgoaU1RPUF9SRUFTT05fQ09OVEVOVF9GSUxURVIQCxIdChlTVE9QX1JFQVNPTl9OT05fSU5TRVJUSU9OEAwSFQoRU1RPUF9SRUFTT05fRVJST1IQDSq+AgoZQ29udmVyc2F0aW9uYWxQbGFubmVyTW9kZRIrCidDT05WRVJTQVRJT05BTF9QTEFOTkVSX01PREVfVU5TUEVDSUZJRUQQABInCiNDT05WRVJTQVRJT05BTF9QTEFOTkVSX01PREVfREVGQVVMVBABEikKJUNPTlZFUlNBVElPTkFMX1BMQU5ORVJfTU9ERV9SRUFEX09OTFkQAhInCiNDT05WRVJTQVRJT05BTF9QTEFOTkVSX01PREVfTk9fVE9PTBADEicKI0NPTlZFUlNBVElPTkFMX1BMQU5ORVJfTU9ERV9FWFBMT1JFEAQSKAokQ09OVkVSU0FUSU9OQUxfUExBTk5FUl9NT0RFX1BMQU5OSU5HEAUSJAogQ09OVkVSU0FUSU9OQUxfUExBTk5FUl9NT0RFX0FVVE8QBiqSAgoNRGlzcGxheU9wdGlvbhIeChpESVNQTEFZX09QVElPTl9VTlNQRUNJRklFRBAAEhgKFERJU1BMQVlfT1BUSU9OX0FSRU5BEAESJAogRElTUExBWV9PUFRJT05fQkFUVExFX0dST1VQX09OTFkQAhIfChtESVNQTEFZX09QVElPTl9NT0RFTF9ST1VURVIQAxIfChtESVNQTEFZX09QVElPTl9RVUlDS19SRVZJRVcQBBIjCh9ESVNQTEFZX09QVElPTl9JTlRFUk5BTF9ERUZBVUxUEAYSHwobRElTUExBWV9PUFRJT05fVU5DTEFTU0lGSUVEEAcSGQoVRElTUExBWV9PUFRJT05fTk9STUFMEAgqfgoSTW9kZWxEaW1lbnNpb25LaW5kEiQKIE1PREVMX0RJTUVOU0lPTl9LSU5EX1VOU1BFQ0lGSUVEEAASHQoZTU9ERUxfRElNRU5TSU9OX0tJTkRfQ09TVBABEiMKH01PREVMX0RJTUVOU0lPTl9LSU5EX0NPU1RfRlVaWlkQAmIGcHJvdG8z"),MetadataSchema=messageDesc(file_cascade,0);var GetCliModelConfigsRequestSchema=messageDesc(file_cascade,20),GetCliModelConfigsResponseSchema=messageDesc(file_cascade,21);var DisplayOption={UNSPECIFIED:0,ARENA:1,BATTLE_GROUP_ONLY:2,MODEL_ROUTER:3,QUICK_REVIEW:4,INTERNAL_DEFAULT:6,UNCLASSIFIED:7,NORMAL:8};var ModelDimensionKind={UNSPECIFIED:0,COST:1,COST_FUZZY:2};var DEVIN_SESSION_TOKEN_PREFIX="devin-session-token$",DEVIN_OS=process.platform==="darwin"?"darwin":process.platform==="win32"?"windows":"linux",DEVIN_LOCALE="en";var DEVIN_DISCOVERY_IDENTITY={ideName:"chisel",ideVersion:"0.0.0-dev",extensionName:"chisel",extensionVersion:"0.0.0-dev",locale:DEVIN_LOCALE,os:DEVIN_OS},DEVIN_SUPPORTED_MODEL_DISPLAYS=[DisplayOption.MODEL_ROUTER,DisplayOption.QUICK_REVIEW,DisplayOption.INTERNAL_DEFAULT,DisplayOption.UNCLASSIFIED,DisplayOption.NORMAL];function normalizeDevinSessionToken(apiKey){return apiKey?apiKey.startsWith(DEVIN_SESSION_TOKEN_PREFIX)?apiKey:`${DEVIN_SESSION_TOKEN_PREFIX}${apiKey}`:""}function devinDiscoveryMetadata(apiKey){return create(MetadataSchema,{...DEVIN_DISCOVERY_IDENTITY,apiKey:normalizeDevinSessionToken(apiKey),supportedModelDisplays:[...DEVIN_SUPPORTED_MODEL_DISPLAYS]})}var DEVIN_DEFAULT_BASE_URL="https://server.codeium.com";var DEVIN_CLI_MODEL_CONFIGS_PATH="/exa.api_server_pb.ApiServerService/GetCliModelConfigs";var DEVIN_UNARY_HEADERS={"content-type":"application/proto","connect-protocol-version":"1",accept:"*/*"};var DEVIN_MAX_FRAME_PAYLOAD=64*1024*1024;var DevinUnaryError=class extends Error{constructor(rpc,status,detail){super(`Devin ${rpc} failed (HTTP ${status})${detail?`: ${detail}`:""}`),this.name="DevinUnaryError",this.rpc=rpc,this.status=status}};async function postDevinUnary(input){let response=await fetch(input.baseUrl+input.path,{method:"POST",headers:DEVIN_UNARY_HEADERS,body:copyOf(toBinary(input.requestSchema,create(input.requestSchema,input.request))),signal:input.signal}),payload=new Uint8Array(await response.arrayBuffer());if(!response.ok)throw new DevinUnaryError(rpcName(input.path),response.status,new TextDecoder().decode(payload).slice(0,500));let decoded=await decodeDevinUnary(input.responseSchema,payload);if(!decoded)throw new DevinUnaryError(rpcName(input.path),response.status,"response is not a protobuf message");return decoded}async function decodeDevinUnary(schema,payload){try{return fromBinary(schema,payload)}catch{try{return fromBinary(schema,await gunzip(payload))}catch{return}}}async function gunzip(payload){let inflated=new Blob([copyOf(payload)]).stream().pipeThrough(new DecompressionStream("gzip"));return new Uint8Array(await new Response(inflated).arrayBuffer())}function rpcName(path4){return path4.slice(path4.lastIndexOf("/")+1)}function copyOf(source){let out=new Uint8Array(source.byteLength);return out.set(source),out}var DISCOVERY_TIMEOUT_MS=5e3,DEFAULT_CONTEXT_WINDOW=2e5,DEFAULT_MAX_TOKENS=64e3,INTERNAL_DISPLAYS=new Set([DisplayOption.QUICK_REVIEW,DisplayOption.INTERNAL_DEFAULT]),IMAGE_BLIND_UIDS=new Set(["swe-1-6","swe-1-6-fast"]);async function fetchDevinModels(options){let baseUrl=(options.baseUrl??DEVIN_DEFAULT_BASE_URL).replace(/\/+$/,""),controller=new AbortController,onAbort=()=>controller.abort();options.signal?.addEventListener("abort",onAbort,{once:!0});let timeout=setTimeout(()=>controller.abort(),options.timeoutMs??DISCOVERY_TIMEOUT_MS);try{let response=await postDevinUnary({baseUrl,path:DEVIN_CLI_MODEL_CONFIGS_PATH,requestSchema:GetCliModelConfigsRequestSchema,request:{metadata:devinDiscoveryMetadata(options.apiKey)},responseSchema:GetCliModelConfigsResponseSchema,signal:controller.signal}),models=normalizeDevinModels(response.clientModelConfigs,baseUrl);return models.length>0?models:void 0}catch{return}finally{clearTimeout(timeout),options.signal?.removeEventListener("abort",onAbort)}}function normalizeDevinModels(configs,baseUrl){let seen=new Set,models=[];for(let config of configs){if(config.disabled)continue;let display=config.modelInfo?.displayOption??DisplayOption.UNSPECIFIED;if(INTERNAL_DISPLAYS.has(display))continue;let uid=config.modelUid.trim();if(!uid||seen.has(uid))continue;seen.add(uid);let isRouter=display===DisplayOption.MODEL_ROUTER||config.modelInfo?.isModelRouter===!0;models.push(toModel(config,uid,baseUrl,isRouter))}return models.sort((a,b)=>a.id.localeCompare(b.id))}function toModel(config,uid,baseUrl,isRouter){let features=config.modelInfo?.modelFeatures,supportsImages=(features?features.supportsImages:config.supportsImages)&&!IMAGE_BLIND_UIDS.has(uid),maxOutputTokens=config.modelInfo?.maxOutputTokens??0,compat={...isRouter?{modelRouter:!0}:{},...features?.supportsParallelToolCalls===!0?{supportsParallelToolCalls:!0}:{}};return{id:uid,name:config.label.trim()||uid,api:"devin-agent",provider:"devin",baseUrl,reasoning:!1,input:supportsImages?["text","image"]:["text"],cost:costOf(config),contextWindow:config.maxTokens>0?config.maxTokens:DEFAULT_CONTEXT_WINDOW,maxTokens:maxOutputTokens>0?maxOutputTokens:DEFAULT_MAX_TOKENS,...Object.keys(compat).length>0?{compat}:{}}}function costOf(config){let cost={input:0,output:0,cacheRead:0,cacheWrite:0};for(let dimension of config.modelDimensions){if(dimension.kind!==ModelDimensionKind.COST&&dimension.kind!==ModelDimensionKind.COST_FUZZY)continue;let perMillion2=Math.round(dimension.value*1e6/denominatorTokens(dimension.denominator)*1e6)/1e6;switch(dimension.label.trim().toLowerCase()){case"input":cost.input=perMillion2;break;case"cached input":cost.cacheRead=perMillion2;break;case"output":cost.output=perMillion2;break;default:break}}return cost}var DENOMINATOR_SCALE={k:1e3,m:1e6,b:1e9};function denominatorTokens(denominator){let match=/(\d+(?:\.\d+)?)\s*([kmb])?/i.exec(denominator);if(!match?.[1])return 1e6;let scale=match[2]?DENOMINATOR_SCALE[match[2].toLowerCase()]??1:1,tokens=Number(match[1])*scale;return tokens>0?tokens:1e6}var SWE_2_CONTEXT_WINDOW=262e3,SWE_1_6_CONTEXT_WINDOW=2e5,SWE_MAX_TOKENS=64e3;function devinModel(id,name,contextWindow){return{id,name,api:"devin-agent",provider:"devin",baseUrl:DEVIN_DEFAULT_BASE_URL,reasoning:!1,input:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow,maxTokens:SWE_MAX_TOKENS,compat:{supportsParallelToolCalls:!0}}}var DEVIN_MODELS=[devinModel("swe-2-high","SWE-2 (high)",SWE_2_CONTEXT_WINDOW),devinModel("swe-2-medium","SWE-2 (medium)",SWE_2_CONTEXT_WINDOW),devinModel("swe-2-max","SWE-2 (max)",SWE_2_CONTEXT_WINDOW),devinModel("swe-1-6","SWE-1.6",SWE_1_6_CONTEXT_WINDOW),devinModel("swe-1-6-fast","SWE-1.6 Fast",SWE_1_6_CONTEXT_WINDOW)];function devinProvider(){let models=DEVIN_MODELS;return{...createProvider({id:"devin",name:"Devin",baseUrl:DEVIN_DEFAULT_BASE_URL,auth:{oauth:lazyOAuth({name:"Devin",loginLabel:"Sign in with Devin",load:loadDevinOAuth})},models:DEVIN_MODELS,api:{"devin-agent":devinAgentApi()}}),getModels:()=>models,refreshModels:async context=>{let stored=context.stored;if(stored){let restored=stored.models.filter(model=>model.provider==="devin").map(model=>({...model,reasoning:!1}));restored.length>0&&await context.publish({update:()=>{models=restored}})}if(!context.allowNetwork||context.signal.aborted)return;let credential=context.credential,apiKey=credential?.type==="oauth"?credential.access:credential?.key;if(!apiKey)return;let discovered=await fetchDevinModels({apiKey,baseUrl:DEVIN_DEFAULT_BASE_URL,signal:context.signal});!discovered||context.signal.aborted||await context.publish({persist:{models:discovered,checkedAt:Date.now()},update:()=>{models=discovered}})}}}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 githubCopilotTokenField(token,key){for(let part of token.split(";")){let separator=part.indexOf("=");if(separator>0&&part.slice(0,separator)===key)return part.slice(separator+1)||void 0}}function githubCopilotBaseUrlFromToken(token){let proxyHost=githubCopilotTokenField(token,"proxy-ep");return proxyHost?`https://${proxyHost.replace(/^proxy\./,"api.")}`:void 0}function asRecord(value){return value&&typeof value=="object"?value:void 0}function positiveInteger(value){return typeof value=="number"&&Number.isInteger(value)&&value>0?value:void 0}function storedModelLimit(value){let entry=asRecord(value);if(!entry||typeof entry.id!="string")return;let maxContextWindowTokens=positiveInteger(entry.maxContextWindowTokens),maxPromptTokens=positiveInteger(entry.maxPromptTokens),maxOutputTokens=positiveInteger(entry.maxOutputTokens);if(!(maxContextWindowTokens===void 0&&maxPromptTokens===void 0&&maxOutputTokens===void 0))return{id:entry.id,...maxContextWindowTokens!==void 0?{maxContextWindowTokens}:{},...maxPromptTokens!==void 0?{maxPromptTokens}:{},...maxOutputTokens!==void 0?{maxOutputTokens}:{}}}function applyGitHubCopilotModelLimits(models,credential){if(credential?.type!=="oauth"||!Array.isArray(credential.copilotModelLimits))return models;let limitsById=new Map(credential.copilotModelLimits.map(storedModelLimit).filter(entry=>entry!==void 0).map(entry=>[entry.id,entry]));return limitsById.size===0?models:models.map(model=>{let limits=limitsById.get(model.id);if(!limits)return model;let reportedPromptLimit=limits.maxPromptTokens??limits.maxContextWindowTokens,contextWindow=reportedPromptLimit!==void 0&&limits.maxContextWindowTokens!==void 0?Math.min(reportedPromptLimit,limits.maxContextWindowTokens):reportedPromptLimit;return{...model,contextWindow:contextWindow??model.contextWindow,maxTokens:limits.maxOutputTokens??model.maxTokens}})}function withTokenBaseUrl(apiKey){return{...apiKey,resolve:async input=>{let result=await apiKey.resolve(input),baseUrl=result?.auth.apiKey?githubCopilotBaseUrlFromToken(result.auth.apiKey):void 0;return result&&baseUrl&&!result.auth.baseUrl?{...result,auth:{...result.auth,baseUrl}}:result}}}function githubCopilotProvider(){return createProvider({id:"github-copilot",name:"GitHub Copilot",baseUrl:"https://api.individual.githubcopilot.com",auth:{apiKey:withTokenBaseUrl(envApiKeyAuth("GitHub Copilot token",["COPILOT_GITHUB_TOKEN"])),oauth:lazyOAuth({name:"GitHub Copilot",isSubscription:!0,rejectedTokenStatuses:GITHUB_COPILOT_REJECTED_TOKEN_STATUSES,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 applyGitHubCopilotModelLimits(models.filter(model=>available.has(model.id)),credential)},api:{"anthropic-messages":anthropicMessagesApi(),"openai-completions":openAICompletionsApi(),"openai-responses":openAIResponsesApi()}})}var googleStreams=googleGenerativeAIApi(),streamGoogle2=googleStreams.stream,streamSimpleGoogle2=googleStreams.streamSimple;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 googleVertexStreams2=googleVertexApi(),streamGoogleVertex2=googleVertexStreams2.stream,streamSimpleGoogleVertex2=googleVertexStreams2.streamSimple,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 credential?{auth:{},env:credential.env,source:"stored credential"}:{auth:{},source:"gcloud application default credentials",ambient:!0}}};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()})}var values={"anthropic-messages":{"chat:k3":{type:"chat",id:"k3",name:"Kimi K3",api:"anthropic-messages",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding",compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0},reasoning:!0,thinkingLevelMap:{off:null,minimal:null,low:"low",medium:null,high:"high",xhigh:null,max:"max"},input:["text","image","video"],inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},cost:{input:3,output:15,cacheRead:.3,cacheWrite:3},contextWindow:1048576,maxTokens:131072},"chat:k3-256k":{type:"chat",id:"k3-256k",name:"Kimi K3-256K",api:"anthropic-messages",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding",compat:{forceAdaptiveThinking:!0},reasoning:!0,input:["text","image"],inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},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"}},"chat:kimi-for-coding":{type:"chat",id:"kimi-for-coding",name:"kimi-for-coding",api:"anthropic-messages",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding",compat:{allowEmptySignature:!0,forceAdaptiveThinking:!0},reasoning:!0,input:["text","image"],inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},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"}},"chat:kimi-for-coding-highspeed":{type:"chat",id:"kimi-for-coding-highspeed",name:"Kimi For Coding HighSpeed",api:"anthropic-messages",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding",compat:{forceAdaptiveThinking:!0},reasoning:!0,input:["text","image"],inputLimits:{images:{resize:{maxWidth:2e3,maxHeight:2e3,maxBytes:4718592,jpegQuality:80}}},cost:{input:1.9,output:8,cacheRead:.38,cacheWrite:0},contextWindow:262144,maxTokens:32768},"chat:kimi-k2-thinking":{type:"chat",id:"kimi-k2-thinking",name:"Kimi K2 Thinking",api:"anthropic-messages",provider:"kimi-coding",baseUrl:"https://api.kimi.com/coding",compat:{forceAdaptiveThinking:!0},reasoning:!0,input:["text"],cost:{input:.6,output:2.5,cacheRead:.15,cacheWrite:0},contextWindow:262144,maxTokens:32768}}},KIMI_CODING_MODELS=flattenChatModelCatalog("kimi-coding",values),KIMI_CODING_IMAGE_MODELS=flattenImageModelCatalog("kimi-coding",values),KIMI_CODING_CLASSIFIER_MODELS=flattenClassifierModelCatalog("kimi-coding",values);var KIMI_CODE_REGION_ENV="KIMI_CODE_REGION",KIMI_CODE_OAUTH_HOST_ENV="KIMI_CODE_OAUTH_HOST",KIMI_OAUTH_HOST_ENV="KIMI_OAUTH_HOST",DEFAULT_KIMI_CODE_REGION="mainland-cn",KIMI_CODE_REGION_PROFILES={"mainland-cn":{id:"mainland-cn",label:"Mainland China (kimi.com)",description:"Accounts created on kimi.com",oauthHost:"https://auth.kimi.com",apiBaseUrl:"https://api.kimi.com/coding"},global:{id:"global",label:"Outside mainland China (kimi.ai)",description:"Accounts created on kimi.ai",oauthHost:"https://auth.kimi.ai",apiBaseUrl:"https://api.kimi.ai/coding"}};function isKimiCodeRegion(value){return value==="mainland-cn"||value==="global"}function normalizeHost(host){return host.trim().replace(/\/+$/,"")}function kimiCodeRegionForOauthHost(host){let normalized=normalizeHost(host);for(let profile of Object.values(KIMI_CODE_REGION_PROFILES))if(profile.oauthHost===normalized)return profile.id}function endpointsForRegion(region){let profile=KIMI_CODE_REGION_PROFILES[region];return{region,oauthHost:profile.oauthHost,apiBaseUrl:region===DEFAULT_KIMI_CODE_REGION?void 0:profile.apiBaseUrl,env:{[KIMI_CODE_REGION_ENV]:region}}}function endpointsForHost(host){let region=kimiCodeRegionForOauthHost(host);return region!==void 0?endpointsForRegion(region):{region:void 0,oauthHost:normalizeHost(host),apiBaseUrl:void 0,env:{[KIMI_CODE_OAUTH_HOST_ENV]:normalizeHost(host)}}}function resolveKimiCodeEndpoints(input){return typeof input.storedOauthHost=="string"&&input.storedOauthHost.trim()?endpointsForHost(input.storedOauthHost):isKimiCodeRegion(input.storedRegion)?endpointsForRegion(input.storedRegion):input.envOauthHost?.trim()?endpointsForHost(input.envOauthHost):isKimiCodeRegion(input.envRegion)?endpointsForRegion(input.envRegion):{...endpointsForRegion(DEFAULT_KIMI_CODE_REGION),env:void 0}}function kimiCodeRegionPrompt(){return{type:"select",message:"Which Kimi service hosts your account?",options:Object.values(KIMI_CODE_REGION_PROFILES).map(profile=>({id:profile.id,label:profile.label,description:profile.description}))}}async function chooseKimiCodeLoginEndpoints(interaction){let fromEnv=resolveKimiCodeEndpoints({envOauthHost:getProviderEnvValue(KIMI_CODE_OAUTH_HOST_ENV)||getProviderEnvValue(KIMI_OAUTH_HOST_ENV),envRegion:getProviderEnvValue(KIMI_CODE_REGION_ENV)});if(fromEnv.env!==void 0)return fromEnv;interaction.signal.throwIfAborted();let answer=await interaction.prompt(kimiCodeRegionPrompt());if(interaction.signal.throwIfAborted(),!isKimiCodeRegion(answer))throw new Error(`Unknown Kimi Code region: ${answer}`);return endpointsForRegion(answer)}var KIMI_API_KEY_ENV="KIMI_API_KEY";async function envValue(ctx,name,signal){let value=await ctx.env(name);return signal.throwIfAborted(),value||void 0}function kimiCodeApiKeyAuth(){return{name:"Kimi API key",login:async interaction=>{let endpoints=await chooseKimiCodeLoginEndpoints(interaction),key=await interaction.prompt({type:"secret",message:"Enter Kimi API key"});return interaction.signal.throwIfAborted(),{type:"api_key",key,...endpoints.env?{env:endpoints.env}:{}}},resolve:async({ctx,credential,signal})=>{signal.throwIfAborted();let key=credential?.key||await envValue(ctx,KIMI_API_KEY_ENV,signal);if(!key)return;let endpoints=resolveKimiCodeEndpoints({storedRegion:credential?.env?.[KIMI_CODE_REGION_ENV],storedOauthHost:credential?.env?.[KIMI_CODE_OAUTH_HOST_ENV],envOauthHost:await envValue(ctx,KIMI_CODE_OAUTH_HOST_ENV,signal)??await envValue(ctx,KIMI_OAUTH_HOST_ENV,signal),envRegion:await envValue(ctx,KIMI_CODE_REGION_ENV,signal)});return{auth:{apiKey:key,...endpoints.apiBaseUrl?{baseUrl:endpoints.apiBaseUrl}:{}},...credential?.env?{env:credential.env}:{},source:credential?.key?"stored credential":KIMI_API_KEY_ENV}}}}function kimiCodingProvider(){return createProvider({id:"kimi-coding",name:"Kimi For Coding",baseUrl:"https://api.kimi.com/coding",auth:{apiKey:kimiCodeApiKeyAuth(),oauth:lazyOAuth({name:"Kimi Code (subscription)",isSubscription:!0,loginLabel:"Sign in with Kimi Code",load:loadKimiCodingOAuth})},models:Object.values(KIMI_CODING_MODELS),api:anthropicMessagesApi(),retryPolicy:KIMI_CODE_RETRY_PROFILE})}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()})}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 DEFAULT_OLLAMA_CLOUD_URL="https://ollama.com",DEFAULT_OLLAMA_CONTEXT_WINDOW=128e3,DEFAULT_OLLAMA_MAX_TOKENS=16384,OLLAMA_SHOW_CONCURRENCY=6;function isRecord(value){return typeof value=="object"&&value!==null&&!Array.isArray(value)}function normalizeOllamaHost(value){let host=new URL(value);return host.pathname=host.pathname.replace(/\/v1\/?$/u,""),host.toString().replace(/\/$/u,"")}async function fetchOllamaJson(url,apiKey,signal,init){let response=await fetch(url,{...init,headers:{accept:"application/json",authorization:`Bearer ${apiKey}`,...init?.headers},signal});if(!response.ok)throw new Error(`Could not load Ollama catalog from ${url}: ${response.status}`);return response.json()}function parseTagsResponse(value){if(!isRecord(value)||!Array.isArray(value.models))throw new Error("Invalid Ollama tags response");let models=[];for(let entry of value.models){if(!isRecord(entry))continue;let name=typeof entry.name=="string"?entry.name:typeof entry.model=="string"?entry.model:void 0;name&&models.push({name})}return models}function parseShowResponse(value){if(!isRecord(value)||!Array.isArray(value.capabilities))throw new Error("Invalid Ollama show response");return{capabilities:value.capabilities.filter(entry=>typeof entry=="string"),modelInfo:isRecord(value.model_info)?value.model_info:{}}}function getContextWindow(modelInfo){let architecture=modelInfo["general.architecture"],candidate=(typeof architecture=="string"?modelInfo[`${architecture}.context_length`]:void 0)??Object.entries(modelInfo).find(([key])=>key.endsWith(".context_length"))?.[1],parsed=typeof candidate=="number"?candidate:Number(candidate);return Number.isFinite(parsed)&&parsed>0?parsed:DEFAULT_OLLAMA_CONTEXT_WINDOW}function toOllamaModel(host,entry,show){if(show.capabilities.includes("tools"))return{id:entry.name,name:entry.name,api:"openai-completions",provider:"ollama",baseUrl:`${host}/v1`,reasoning:show.capabilities.includes("thinking"),input:show.capabilities.includes("vision")?["text","image"]:["text"],cost:{input:0,output:0,cacheRead:0,cacheWrite:0},contextWindow:getContextWindow(show.modelInfo),maxTokens:DEFAULT_OLLAMA_MAX_TOKENS,compat:{supportsStore:!1,supportsDeveloperRole:!1,supportsReasoningEffort:!0,maxTokensField:"max_tokens",supportsStrictMode:!1,supportsLongCacheRetention:!1}}}async function fetchOllamaModels(host,context){let apiKey=context.credential?.type==="api_key"?context.credential.key:void 0;if(!apiKey)return[];let tags=parseTagsResponse(await fetchOllamaJson(new URL("/api/tags",host),apiKey,context.signal)),inspections=new Array(tags.length),nextIndex=0,inspectNext=async()=>{for(;nextIndex<tags.length;){let index=nextIndex++,entry=tags[index];try{let show=parseShowResponse(await fetchOllamaJson(new URL("/api/show",host),apiKey,context.signal,{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({model:entry.name})}));inspections[index]={status:"fulfilled",entry,model:toOllamaModel(host,entry,show)}}catch(reason){inspections[index]={status:"rejected",entry,reason}}}};await Promise.all(Array.from({length:Math.min(OLLAMA_SHOW_CONCURRENCY,tags.length)},()=>inspectNext()));let rejected=inspections.filter(inspection=>inspection.status==="rejected");if(context.signal?.aborted)throw rejected[0]?.reason??context.signal.reason??new Error("Ollama catalog refresh aborted");if(tags.length>0&&rejected.length===tags.length)throw rejected[0].reason;let previousById=new Map((context.stored?.models??[]).filter(model=>model.provider==="ollama"&&model.api==="openai-completions").map(model=>[model.id,model])),models=inspections.flatMap(inspection=>{if(inspection.status==="fulfilled")return inspection.model?[inspection.model]:[];let previous=previousById.get(inspection.entry.name);return previous?[previous]:[]});if(rejected.length>0&&models.length===0)throw rejected[0].reason;return models}function ollamaProvider(options={}){let host=normalizeOllamaHost(options.baseUrl??DEFAULT_OLLAMA_CLOUD_URL);return createProvider({id:"ollama",name:"Ollama Cloud",baseUrl:`${host}/v1`,auth:{apiKey:envApiKeyAuth("Ollama API key",["OLLAMA_API_KEY"])},models:[],fetchModels:context=>fetchOllamaModels(host,context),api:openAICompletionsApi()})}var openaiImagesApi=()=>({generateImages:async(model,context,options)=>{if(model.api!=="openai-images")throw new Error(`Mismatched api: ${model.api} expected openai-images`);let openaiModel={...model,api:"openai-images"};return(await import("./openai-images-R5CFO3DP.js")).generateImages(openaiModel,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"])},models:[...Object.values(OPENAI_MODELS),...Object.values(OPENAI_IMAGE_MODELS)],api:openAIResponsesApi(),images:{"openai-images":openaiImagesApi()}})}var typesafeSystemOneApi=()=>({classify:async(model,context,options)=>(await import("./typesafe-system-one-YA75435G.js")).classify(model,context,options)});var OPENCODE_SESSION_HEADER="x-opencode-session";function hasHeader2(headers,name){let expected=name.toLowerCase();return Object.keys(headers??{}).some(key=>key.toLowerCase()===expected)}function withSessionHeader(options){return!options?.sessionId||hasHeader2(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 DOCUMENTED_INPUT_CAPS=new Map([[4e5,272e3],[105e4,922e3]]),GATEWAY_ID_PREFIX=/^(?:[a-z]{2}\.)?(?:global\.)?openai[./]/;function applyOpenAiInputCap(model){let bare=model.id.replace(GATEWAY_ID_PREFIX,"");/^gpt-(?:5|6)(?:[.-]|$)/.test(bare)&&(bare==="gpt-5-pro"&&model.maxTokens===272e3&&(model.maxTokens=128e3),model.maxTokens===128e3&&(model.contextWindow=DOCUMENTED_INPUT_CAPS.get(model.contextWindow)??model.contextWindow))}var OPENGATEWAY_BASE_URL="https://apis.opengateway.ai/v1",OPENGATEWAY_MODELS_URL=`${OPENGATEWAY_BASE_URL}/models`,OPENGATEWAY_PRICES_URL="https://opengateway.ai/api/model-prices",SERVING_TIER_SUFFIXES=[{suffix:"-ultrafast",label:"Ultrafast"}];function isRecord2(value){return typeof value=="object"&&value!==null&&!Array.isArray(value)}function positiveInteger2(value){return typeof value=="number"&&Number.isInteger(value)&&value>0?value:void 0}function stringList(value){return Array.isArray(value)?value.filter(entry=>typeof entry=="string"):[]}function parseOpenGatewayListing(value){if(!isRecord2(value)||!Array.isArray(value.data))throw new Error("OpenGateway model listing is not a { data: [...] } list");let models=[];for(let entry of value.data){if(!isRecord2(entry)||typeof entry.id!="string"||!entry.id.includes("/"))continue;let modalities=isRecord2(entry.modalities)?entry.modalities:{},routes=Array.isArray(entry.providers)?entry.providers.flatMap(route=>isRecord2(route)&&typeof route.id=="string"?[route.id]:[]):[];models.push({id:entry.id,status:typeof entry.status=="string"?entry.status:void 0,inputModalities:stringList(modalities.input),endpoints:stringList(entry.endpoints),routes,contextWindow:positiveInteger2(entry.context_window),maxOutputTokens:positiveInteger2(entry.max_output_tokens)})}if(models.length===0)throw new Error("OpenGateway model listing has no models");return models}function isServableChatModel(model){return model.endpoints.includes("chat_completions")&&model.status!=="retired"}function servingTierBase(id){for(let{suffix,label}of SERVING_TIER_SUFFIXES)if(id.endsWith(suffix)&&id.length>suffix.length)return{baseId:id.slice(0,-suffix.length),label}}function perMillion(value){if(!(typeof value!="number"||!Number.isFinite(value)||value<0))return Number((value*1e6).toPrecision(12))}function parseTiers(axisPrices){if(!isRecord2(axisPrices))return[];let tiers=[];for(let[key,value]of Object.entries(axisPrices)){let match=/^AxisKey\(threshold=(\d+), tier=null\)$/.exec(key);if(!match||!isRecord2(value)||value.isEmpty===!0)continue;let input=perMillion(value.input),output=perMillion(value.output);input===void 0||output===void 0||tiers.push({inputTokensAbove:Number(match[1]),input,output,cacheRead:perMillion(value.cacheRead)??0,cacheWrite:perMillion(value.cacheCreation)??0})}return tiers.sort((left,right)=>left.inputTokensAbove-right.inputTokensAbove)}function parseOpenGatewayPriceTable(value){if(!isRecord2(value))throw new Error("OpenGateway price table is not an object");let routes=[];for(let entry of Object.values(value)){if(!isRecord2(entry)||typeof entry.provider!="string"||typeof entry.modelOwner!="string"||typeof entry.modelName!="string")continue;let pricing=isRecord2(entry.pricing)&&isRecord2(entry.pricing.current)?entry.pricing.current:void 0,effective=pricing&&isRecord2(pricing.effectivePrice)?pricing.effectivePrice:entry;routes.push({route:entry.provider,modelId:`${entry.modelOwner}/${entry.modelName}`,price:{input:perMillion(effective.inputCostPerToken),output:perMillion(effective.outputCostPerToken),cacheRead:perMillion(effective.cacheReadInputTokenCost),cacheWrite:perMillion(effective.cacheCreationInputTokenCost),tiers:parseTiers(effective.axisPrices)}})}if(routes.length===0)throw new Error("OpenGateway price table has no priced routes");return routes}function openGatewayPrice(model,table){let candidates=table.filter(entry=>entry.modelId===model.id);for(let route of model.routes){let preferred=candidates.find(entry=>entry.route===route);if(preferred)return preferred.price}return candidates[0]?.price}function withGatewayPrice(fallback,price){if(!price)return fallback;let cost={input:price.input??fallback.input,output:price.output??fallback.output,cacheRead:price.cacheRead??fallback.cacheRead,cacheWrite:price.cacheWrite??fallback.cacheWrite};return price.input!==void 0&&price.output!==void 0?price.tiers.length>0&&(cost.tiers=price.tiers):fallback.tiers&&(cost.tiers=fallback.tiers),cost}var OPENGATEWAY_REFRESH_INTERVAL_MS=3600*1e3,REQUEST_TIMEOUT_MS=15e3,UNPUBLISHED_MAX_OUTPUT_TOKENS=32768,ZERO_COST={input:0,output:0,cacheRead:0,cacheWrite:0};function addedModel(item,shippedById,prices){let price=openGatewayPrice(item,prices);if(price?.input===void 0||price.output===void 0)return;let tier=servingTierBase(item.id),base=tier?shippedById.get(tier.baseId):void 0,contextWindow=item.contextWindow??base?.contextWindow;if(contextWindow===void 0)return;let template=base?{...base,name:`${base.name} ${tier?.label}`}:{id:item.id,name:item.id,api:"openai-completions",provider:"opengateway",baseUrl:OPENGATEWAY_BASE_URL,compat:{supportsDeveloperRole:!1},reasoning:!1,input:["text"],cost:ZERO_COST,contextWindow,maxTokens:UNPUBLISHED_MAX_OUTPUT_TOKENS},model={...template,id:item.id,input:item.inputModalities.includes("image")?["text","image"]:["text"],cost:withGatewayPrice(ZERO_COST,price),contextWindow,maxTokens:Math.min(item.maxOutputTokens??template.maxTokens,contextWindow)};return applyOpenAiInputCap(model),model}function unshippedServableModels(shipped,listing){let shippedIds=new Set(shipped.map(model=>model.id));return listing.filter(item=>isServableChatModel(item)&&!shippedIds.has(item.id))}function overlayOpenGatewayCatalog(shipped,listing,prices){let servable=new Set(listing.filter(isServableChatModel).map(item=>item.id)),shippedById=new Map(shipped.map(model=>[model.id,model])),added=unshippedServableModels(shipped,listing).flatMap(item=>addedModel(item,shippedById,prices)??[]);return[...shipped.filter(model=>servable.has(model.id)),...added]}async function fetchJson(url,signal){let response=await fetch(url,{headers:{accept:"application/json"},signal});if(!response.ok)throw new OAuthTokenEndpointError(`OpenGateway catalog request failed: ${url} returned ${response.status}`,response.status);return response.json()}async function fetchRefreshedCatalog(shipped,signal){let listing=parseOpenGatewayListing(await fetchJson(OPENGATEWAY_MODELS_URL,signal)),prices=unshippedServableModels(shipped,listing).length>0?parseOpenGatewayPriceTable(await fetchJson(OPENGATEWAY_PRICES_URL,signal)):[],refreshed=overlayOpenGatewayCatalog(shipped,listing,prices);if(refreshed.length===0)throw new Error("OpenGateway listing has no servable chat models; keeping the last good catalog");return refreshed}function isOpenGatewayChatModel(model){return model.provider==="opengateway"&&isModelType(model,"chat")&&model.api==="openai-completions"}function createOpenGatewayCatalog(shipped,shippedGeneratedAt){let current=shipped;return{getModels:()=>current,refresh:async context=>{let stored=context.stored,storedCheckedAt=stored?.checkedAt,usable=stored!==void 0&&storedCheckedAt!==void 0&&(shippedGeneratedAt===void 0||storedCheckedAt>shippedGeneratedAt);if(usable&&stored){let restored=stored.models.filter(isOpenGatewayChatModel);if(!await context.publish({update:()=>{current=restored}}))return}if(!context.allowNetwork||context.signal.aborted)return;let age=Date.now()-(storedCheckedAt??0);if(!context.force&&usable&&age>=0&&age<OPENGATEWAY_REFRESH_INTERVAL_MS)return;let signal=AbortSignal.any([context.signal,AbortSignal.timeout(REQUEST_TIMEOUT_MS)]),refreshed=await fetchRefreshedCatalog(shipped,signal);context.signal.aborted||await context.publish({persist:{models:refreshed,checkedAt:Date.now()},update:()=>{current=refreshed}})}}}function opengatewayProvider(){let shipped=Object.values(OPENGATEWAY_MODELS),generatedAt=Date.parse(manifest_default.generatedAt),catalog=createOpenGatewayCatalog(shipped,Number.isNaN(generatedAt)?void 0:generatedAt);return{...createProvider({id:"opengateway",name:"OpenGateway",baseUrl:"https://apis.opengateway.ai/v1",auth:{apiKey:envApiKeyAuth("OpenGateway API key",["OPENGATEWAY_API_KEY"])},models:shipped,api:openAICompletionsApi()}),getModels:catalog.getModels,getAllModels:catalog.getModels,refreshModels:catalog.refresh}}var openrouterImagesApi=()=>({generateImages:async(model,context,options)=>(await import("./openrouter-images-RKC6LRY3.js")).generateImages(model,context,options)});function openrouterProvider(){return createProvider({id:"openrouter",name:"OpenRouter",baseUrl:"https://openrouter.ai/api/v1",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 DEFAULT_RADIUS_GATEWAY="https://radius.pi.dev";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)&&typeof model.cost=="object"&&model.cost!==null&&!Array.isArray(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)))return{baseUrl,models:models.filter(isRadiusGatewayModel).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:"pi-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=getRadiusModels(id,void 0),streams=piMessagesApi();return{id,name,auth:{apiKey:envApiKeyAuth("Radius API key",["RADIUS_API_KEY"]),oauth:lazyOAuth({name,load:()=>loadRadiusOAuth({name,gateway})})},getModels:()=>{let merged=[...baselineModels];for(let model of dynamicModels){let index=merged.findIndex(entry=>entry.id===model.id);index>=0?merged[index]=model:merged.push(model)}return merged},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 veniceProvider(){return createProvider({id:"venice",name:"Venice AI",baseUrl:"https://api.venice.ai/api/v1",auth:{apiKey:envApiKeyAuth("Venice API key",["VENICE_API_KEY"])},models:Object.values(VENICE_MODELS),api:openAICompletionsApi()})}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).map(model=>({...model,compat:{...model.compat,webSearchToolType:"web_search"}})),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()})}var FORK_OWNED_CATALOGS={"kimi-coding":KIMI_CODING_MODELS},BUILTIN_CATALOGS={...MODELS,...FORK_OWNED_CATALOGS},XIAOMI_MIMO_PROVIDERS=new Set(["xiaomi","xiaomi-token-plan-cn","xiaomi-token-plan-ams","xiaomi-token-plan-sgp"]),XIAOMI_MIMO_PRO_IDS=new Set(["mimo-v2.5-pro","mimo-v2.6-pro"]);function normalizeBuiltinModel(model){if(model)return XIAOMI_MIMO_PROVIDERS.has(model.provider)&&XIAOMI_MIMO_PRO_IDS.has(model.id)?{...model,compat:{...model.compat,requiresReasoningContentOnAssistantMessages:!0,thinkingFormat:"deepseek",supportsDisabledThinking:!1}}:model.provider==="anthropic"&&model.id==="claude-opus-4-8"?{...model,thinkingLevelMap:{...model.thinkingLevelMap,max:"max"}}:model}function getBuiltinModel(provider,modelId){let models=BUILTIN_CATALOGS[provider];return normalizeBuiltinModel(models?.[modelId])}function getBuiltinImageModel(provider,modelId){return IMAGE_MODELS[provider]?.[modelId]}function getBuiltinClassifierModel(provider,modelId){return CLASSIFIER_MODELS[provider]?.[modelId]}function getBuiltinProviders(){return Object.keys(BUILTIN_CATALOGS)}function getBuiltinModelDataGeneratedAt(){let generatedAt=Date.parse(manifest_default.generatedAt);return Number.isNaN(generatedAt)?void 0:generatedAt}function getBuiltinModels(provider){let models=BUILTIN_CATALOGS[provider];return Object.values(models??{}).map(model=>normalizeBuiltinModel(model)).filter(model=>model!==void 0)}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[alibabaTokenPlanProvider(),amazonBedrockProvider(),antLingProvider(),anthropicProvider(),azureOpenAIResponsesProvider(),baiProvider(),basetenProvider(),cerebrasProvider(),cloudflareAIGatewayProvider(),cloudflareWorkersAIProvider(),cursorProvider(),devinProvider(),deepseekProvider(),fireworksProvider(),githubCopilotProvider(),googleProvider(),googleVertexProvider(),groqProvider(),huggingfaceProvider(),kimiCodingProvider(),metaProvider(),minimaxProvider(),minimaxCnProvider(),mistralProvider(),moonshotaiProvider(),moonshotaiCnProvider(),nvidiaProvider(),openaiProvider(),chatgptSubscriptionProvider(),ollamaProvider(),opencodeProvider(),opencodeGoProvider(),opengatewayProvider(),openrouterProvider(),qwenTokenPlanProvider(),qwenTokenPlanCnProvider(),qwenTokenPlanIndividualProvider(),radiusProvider(),togetherProvider(),typesafeProvider(),veniceProvider(),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 getModel=getBuiltinModel,getModels=getBuiltinModels,getProviders=getBuiltinProviders;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,{survivesClear:!0}),{api:core.api,models:core.models,getModel:core.getModel,state:core.state,setResponses:core.setResponses,appendResponses:core.appendResponses,getPendingResponseCount:core.getPendingResponseCount,getCallLog:core.getCallLog,unregister(){unregisterApiProviders(sourceId)}}}var BUILTIN_APIS=[["anthropic-messages",anthropicMessagesApi()],["openai-completions",openAICompletionsApi()],["openai-responses",openAIResponsesApi()],["openai-codex-responses",openAICodexResponsesApi()],["cursor-agent",cursorAgentApi()],["devin-agent",devinAgentApi()],["azure-openai-responses",azureOpenAIResponsesApi()],["google-generative-ai",googleGenerativeAIApi()],["google-vertex",googleVertexApi()],["mistral-conversations",mistralConversationsApi()],["bedrock-converse-stream",bedrockConverseStreamApi()],["pi-messages",piMessagesApi()]],builtinApiProviderInstances=new Map;function registerBuiltInApiProviders(){for(let[api,streams]of BUILTIN_APIS)registerBuiltinApiProvider({api,stream:streams.stream,streamSimple:streams.streamSimple}),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),format=getToolCallFormat(model),tools=getCurrentTools(transcript.messages);if(format&&tools.length>0){let protocol=getProtocol(format),innerStream=stream(model,transformContext(transcript,protocol),options);return wrapStreamWithToolCallMiddleware(innerStream,protocol,tools)}let 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),format=getToolCallFormat(model),tools=getCurrentTools(transcript.messages);if(format&&tools.length>0){let protocol=getProtocol(format),innerStream=streamSimple(model,transformContext(transcript,protocol),options);return wrapStreamWithToolCallMiddleware(innerStream,protocol,tools)}let 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()}function clampThresholdRatio(ratio){return Math.min(.85,Math.max(.4,ratio))}function adjustThresholdRatio(ratio,savedTokens,contextWindow){if(contextWindow<=0)return ratio;let savedRatio=savedTokens/contextWindow;return savedRatio>.5?clampThresholdRatio(ratio-.05):savedRatio<.1?Math.min(baseThresholdRatioForWindow(contextWindow),clampThresholdRatio(ratio+.05)):ratio}function adjustEffectiveThresholdRatio(ratio,savedTokens,tokensBefore,contextWindow){if(tokensBefore<=0)return ratio;let savedRatio=savedTokens/tokensBefore;return savedRatio>.5?ratio-.05:savedRatio<.1?Math.min(baseThresholdRatioForWindow(contextWindow),ratio+.05):ratio}function baseThresholdRatioForWindow(contextWindow){return contextWindow>0?contextWindow<=16e3?.45:contextWindow<=32e3?.5:contextWindow<=64e3?.55:contextWindow<=128e3?.6:contextWindow<=512e3?.7:.8:.5}function resolveReserveTokens(contextWindow,configuredReserve){return Math.max(configuredReserve,Math.min(Math.floor(.04*contextWindow),49152))}function resolveEffectiveReserveTokens(contextWindow,settings){return settings.reserveScalingEnabled===!1?settings.reserveTokens:resolveReserveTokens(contextWindow,settings.reserveTokens)}function computeAdaptiveThresholdRatio(contextWindow,priorCompactionSavedTokens){let ratio=baseThresholdRatioForWindow(contextWindow);return priorCompactionSavedTokens===void 0?ratio:adjustThresholdRatio(ratio,priorCompactionSavedTokens,contextWindow)}function computeEffectiveThreshold(contextWindow,lastYield){let ratio=computeAdaptiveThresholdRatio(contextWindow);return lastYield&&(ratio=adjustEffectiveThresholdRatio(ratio,lastYield.savedTokens,lastYield.tokensBefore,contextWindow)),clampThresholdRatio(ratio)}function computeEffectiveKeepRecentTokens(setting,contextWindow,thresholdRatio,margin=.05){let scaled=contextWindow>409600&&setting>=1e4?Math.max(setting,Math.min(Math.floor(.05*contextWindow),6e4)):setting,capped=Math.floor(contextWindow*(1-thresholdRatio-margin));return Math.min(scaled,Math.max(1024,capped))}function shouldStartSpeculativeCompaction(usage,contextWindow,settings,lastYield,leadTokens){if(settings.speculativeEnabled===!1||usage.tokens===null||contextWindow<=0)return!1;if(typeof leadTokens=="number"&&Number.isFinite(leadTokens)&&leadTokens>0){let leadTrigger=Math.max(0,contextWindow*computeEffectiveThreshold(contextWindow,lastYield)-leadTokens);return usage.tokens>=leadTrigger}let fraction=settings.speculativeFraction??.75;return usage.tokens>=contextWindow*computeEffectiveThreshold(contextWindow,lastYield)*fraction}function isAtHardLimit(usage,contextWindow,reserveTokens,additionalTokens=0){return usage.tokens!==null&&usage.tokens+additionalTokens+reserveTokens>=contextWindow}function shouldTriggerCompaction(usage,contextWindow,settings,lastYield){return!settings.enabled||usage.tokens===null||contextWindow<=0?!1:usage.tokens>=contextWindow*computeEffectiveThreshold(contextWindow,lastYield)}var SERVER_SEARCH_FALLBACK=Symbol.for("senpi.serverSearchFallback"),SERVER_SEARCH_DISABLED=Symbol.for("senpi.serverSearchDisabled"),failedModels=new WeakMap;function modelKey(model){return JSON.stringify([model.api,model.provider,model.id,model.baseUrl])}function resetServerSearchFailures(session){failedModels.delete(session)}function rememberServerSearchFailure(session,model){let failures=failedModels.get(session);failures||(failures=new Set,failedModels.set(session,failures)),failures.add(modelKey(model))}function hasServerSearchFailed(session,model){return model!==void 0&&failedModels.get(session)?.has(modelKey(model))===!0}function markServerSearchFallback(payload){return payload!==null&&typeof payload=="object"?{...payload,[SERVER_SEARCH_FALLBACK]:!0}:payload}function disableServerSearch(payload){return payload!==null&&typeof payload=="object"?{...payload,[SERVER_SEARCH_DISABLED]:!0}:payload}function withoutServerSearch(onPayload,cacheRetention="none"){return cacheRetention!=="none"?onPayload:async(payload,model,request)=>{let disabled=disableServerSearch(payload);return await onPayload?.(disabled,model,request)??disabled}}function isServerSearchDisabled(payload){return payload!==null&&typeof payload=="object"&&SERVER_SEARCH_DISABLED in payload&&payload[SERVER_SEARCH_DISABLED]===!0}function isServerSearchFallback(payload){return payload!==null&&typeof payload=="object"&&SERVER_SEARCH_FALLBACK in payload&&payload[SERVER_SEARCH_FALLBACK]===!0}function serializeForEstimate(message){try{return JSON.stringify(message)}catch{return}}var bunHash=globalThis.Bun?.hash;function estimateCacheKey(serialized){return bunHash===void 0?serialized:`${serialized.length}:${bunHash.wyhash(serialized,1n).toString(36)}:${bunHash.wyhash(serialized,2n).toString(36)}`}var TRANSIENT=Symbol("senpi.transientEstimateMessage");function markTransientMessage(message){return Object.defineProperty(message,TRANSIENT,{value:!0}),message}function isTransientMessage(message){return message[TRANSIENT]===!0}function getAnthropicSummarizationFallback(model){if(model.provider!=="anthropic"||model.api!=="anthropic-messages")return;let allowedFallbackModels=model.compat?.allowedFallbackModels;return allowedFallbackModels?.length?[{model:typeof allowedFallbackModels[0]=="string"?allowedFallbackModels[0]:allowedFallbackModels[0].model}]:void 0}function extractFileOperations(messages,entries,prevCompactionIndex){let fileOps=createFileOps();if(prevCompactionIndex>=0){let prevCompaction=entries[prevCompactionIndex];if(!prevCompaction.fromHook&&prevCompaction.details){let details=prevCompaction.details;if(Array.isArray(details.readFiles))for(let f of details.readFiles)fileOps.read.add(f);if(Array.isArray(details.modifiedFiles))for(let f of details.modifiedFiles)fileOps.edited.add(f)}}for(let msg of messages)extractFileOpsFromMessage(msg,fileOps);return fileOps}function contextMessagesForCompactionEntry(entry){return entry.type==="compaction"?[]:sessionEntryToContextMessages(entry).filter(message=>message.role!=="custom"||!isContextExcludedCustomMessage(message.customType))}function getMessagesFromProjectedEntryForCompaction(entry){return entry.sourceEntry.type==="compaction"?[]:entry.messages.filter(message=>message.role!=="system"&&(message.role!=="custom"||!isContextExcludedCustomMessage(message.customType)))}function collectSourceMessages(pathEntries,projectedEntries,previousCompactionIndex,endIndex){let projectedMessages=new Map(projectedEntries.map(entry=>[entry.sourceEntry,entry.messages])),rawEnd=endIndex<projectedEntries.length?pathEntries.indexOf(projectedEntries[endIndex].sourceEntry):pathEntries.length,messages=[],rawStart=0,rawPreviousCompactionIndex=-1;if(previousCompactionIndex>=0){let previousCompaction=projectedEntries[previousCompactionIndex].sourceEntry;rawPreviousCompactionIndex=pathEntries.indexOf(previousCompaction),messages.push(...projectedEntries[previousCompactionIndex].messages);let firstKeptIndex=pathEntries.findIndex(entry=>entry.id===previousCompaction.firstKeptEntryId);rawStart=firstKeptIndex>=0&&firstKeptIndex<rawPreviousCompactionIndex?firstKeptIndex:rawPreviousCompactionIndex+1}for(let i=rawStart;i<rawEnd;i++){if(i===rawPreviousCompactionIndex)continue;let entry=pathEntries[i];messages.push(...entry.type==="compaction"?sessionEntryToContextMessages(entry):projectedMessages.get(entry)??[])}return messages}function calculateContextTokens(usage){return usage.totalTokens||usage.input+usage.output+usage.cacheRead+usage.cacheWrite}function resolveThresholdContextTokens(usageTokens,estimateTokens2){let usage=usageTokens>0?usageTokens:0,estimate=estimateTokens2>0?estimateTokens2:0;return estimate>=5e4&&usage>estimate*8?estimate:Math.max(usage,estimate)}function getAssistantUsage(msg){if(msg.role==="assistant"&&"usage"in msg){let assistantMsg=msg;if(assistantMsg.stopReason!=="aborted"&&assistantMsg.stopReason!=="error"&&assistantMsg.usage&&calculateContextTokens(assistantMsg.usage)>0)return assistantMsg.usage}}function getLastAssistantUsage(entries){for(let i=entries.length-1;i>=0;i--){let entry=entries[i];if(entry.type==="message"){let usage=getAssistantUsage(entry.message);if(usage)return usage}}}function getLastAssistantUsageInfo(messages,counted){for(let i=messages.length-1;i>=0;i--){let message=messages[i];if(!counted.has(message))continue;let usage=getAssistantUsage(message);if(usage)return{usage,index:i}}}function estimateContextTokens2(messages){let counted=new Set(dropFailedAssistantTurns(messages)),usageInfo=getLastAssistantUsageInfo(messages,counted);if(!usageInfo){let estimated=0;for(let message of messages)counted.has(message)&&(estimated+=estimateTokens(message));return{tokens:estimated,usageTokens:0,trailingTokens:estimated,lastUsageIndex:null}}let usageTokens=calculateContextTokens(usageInfo.usage),trailingTokens=0;for(let i=usageInfo.index+1;i<messages.length;i++)counted.has(messages[i])&&(trailingTokens+=estimateTokens(messages[i]));return{tokens:usageTokens+trailingTokens,usageTokens,trailingTokens,lastUsageIndex:usageInfo.index}}function estimateProjectedContextTokens(projection,branchEntries){let estimate=estimateContextTokens2(projection.messages);if(estimate.lastUsageIndex!==null){let projectedMessageIndex=0,usageEntryId;for(let entry of projection.entries){let nextMessageIndex=projectedMessageIndex+entry.messages.length;if(estimate.lastUsageIndex<nextMessageIndex){usageEntryId=entry.sourceEntry.id;break}projectedMessageIndex=nextMessageIndex}let usageEntryIndex=usageEntryId?branchEntries.findIndex(entry=>entry.id===usageEntryId):-1,latestInvalidatingEntryIndex=-1;for(let i=branchEntries.length-1;i>=0;i--){let entry=branchEntries[i];if(entry.type==="context_edit"||entry.type==="compaction"){latestInvalidatingEntryIndex=i;break}}if(usageEntryIndex>latestInvalidatingEntryIndex)return estimate}let currentSystem=getCurrentSystemMessage(projection.messages),tokens=currentSystem?estimateTokens(currentSystem):0;for(let message of dropFailedAssistantTurns(projection.messages))message.role!=="system"&&(tokens+=estimateTokens(message));return{tokens,usageTokens:0,trailingTokens:tokens,lastUsageIndex:null}}function shouldCompact(contextTokens,contextWindow,settings){return settings.enabled?contextTokens>contextWindow-resolveEffectiveReserveTokens(contextWindow,settings):!1}var ESTIMATED_IMAGE_CHARS=4800,BASE64_RUN_RE=/[A-Za-z0-9+/=_-]{512,}/g,BASE64_CHAR_WEIGHT=4;function weightedChars(text){let chars=text.length;BASE64_RUN_RE.lastIndex=0;for(let match of text.matchAll(BASE64_RUN_RE))chars+=match[0].length*(BASE64_CHAR_WEIGHT-1);return chars}function estimateTextAndImageContentChars(content){if(typeof content=="string")return weightedChars(content);let chars=0;for(let block of content)block.type==="text"&&block.text?chars+=weightedChars(block.text):block.type==="image"&&(chars+=ESTIMATED_IMAGE_CHARS);return chars}function estimateTokens(message){if(isTransientMessage(message))return computeEstimateTokens(message);let serialized=serializeForEstimate(message);if(serialized===void 0)return computeEstimateTokens(message);let key=estimateCacheKey(serialized),cached=tokenEstimateCache.get(message);if(cached!==void 0&&cached.key===key)return cached.tokens;let tokens=computeEstimateTokens(message);return tokenEstimateCache.set(message,{key,tokens}),tokens}var tokenEstimateCache=new WeakMap;function computeEstimateTokens(message){let chars=0;switch(message.role){case"system":{let system=message;if(chars=estimateTextAndImageContentChars(system.content),system.sections)for(let section of Object.values(system.sections))section&&(chars+=section.length);return system.toolsAdded&&(chars+=JSON.stringify(system.toolsAdded).length),Math.ceil(chars/4)}case"user":return chars=estimateTextAndImageContentChars(message.content),Math.ceil(chars/4);case"assistant":{let assistant=message;for(let block of assistant.content)block.type==="text"?chars+=block.text.length:block.type==="thinking"?chars+=block.thinking.length:block.type==="toolCall"&&(chars+=block.name.length+weightedChars(JSON.stringify(block.arguments)));return Math.ceil(chars/4)}case"custom":case"toolResult":return chars=estimateTextAndImageContentChars(message.content),Math.ceil(chars/4);case"bashExecution":return chars=message.command.length+weightedChars(message.output),Math.ceil(chars/4);case"branchSummary":case"compactionSummary":return chars=message.summary.length,Math.ceil(chars/4);case"configurationUpdate":return 0}}function isCutPointMessage(message){switch(message.role){case"user":case"assistant":case"bashExecution":case"custom":case"branchSummary":case"compactionSummary":return!0;case"toolResult":case"configurationUpdate":return!1}return!1}function keepBudgetWeighted(messages){return new Set(dropFailedAssistantTurns(messages))}function keepBudgetTokens(messages,weighted){return messages.reduce((sum,message)=>weighted.has(message)?sum+estimateTokens(message):sum,0)}function isTurnStartMessage(message){switch(message.role){case"user":case"bashExecution":case"custom":case"branchSummary":case"compactionSummary":return!0;case"assistant":case"toolResult":case"configurationUpdate":return!1}return!1}function isTurnStartEntry(entry){return entry.type==="compaction"?!1:contextMessagesForCompactionEntry(entry).some(isTurnStartMessage)}function findValidCutPoints(entries,startIndex,endIndex){let cutPoints=[];for(let i=startIndex;i<endIndex;i++){let entry=entries[i];entry.type!=="compaction"&&contextMessagesForCompactionEntry(entry).some(isCutPointMessage)&&cutPoints.push(i)}return cutPoints}function findTurnStartIndex(entries,entryIndex,startIndex){for(let i=entryIndex;i>=startIndex;i--)if(isTurnStartEntry(entries[i]))return i;return-1}function findCutPoint(entries,startIndex,endIndex,keepRecentTokens){let cutPoints=findValidCutPoints(entries,startIndex,endIndex);if(cutPoints.length===0)return{firstKeptEntryIndex:startIndex,turnStartIndex:-1,isSplitTurn:!1};let accumulatedTokens=0,cutIndex=cutPoints[0],entryMessages=entries.map((entry,index)=>index>=startIndex&&index<endIndex?contextMessagesForCompactionEntry(entry):[]),weighted=keepBudgetWeighted(entryMessages.flat());for(let i=endIndex-1;i>=startIndex;i--){let messageTokens=keepBudgetTokens(entryMessages[i]??[],weighted);if(messageTokens!==0&&(accumulatedTokens+=messageTokens,accumulatedTokens>=keepRecentTokens)){cutIndex=cutPoints.find(candidate=>candidate>=i)??cutPoints[cutPoints.length-1];break}}for(;cutIndex>startIndex;){let prevEntry=entries[cutIndex-1];if(prevEntry.type==="compaction"||contextMessagesForCompactionEntry(prevEntry).length>0||prevEntry.type==="custom_message"&&isContextExcludedCustomMessage(prevEntry.customType))break;cutIndex--}let cutEntry=entries[cutIndex],startsTurn=isTurnStartEntry(cutEntry),turnStartIndex=startsTurn?-1:findTurnStartIndex(entries,cutIndex,startIndex);return{firstKeptEntryIndex:cutIndex,turnStartIndex,isSplitTurn:!startsTurn&&turnStartIndex!==-1}}function getSummarizationFailure(response,label){if(response.stopReason==="error")return`${label} failed: ${response.errorMessage||"Unknown error"}`;if(response.stopReason==="length")return`${label} failed: generation hit the token cap and the summary is incomplete`}var SUMMARIZATION_PROMPT=`The messages above are a conversation to summarize. Create a structured context checkpoint summary that another LLM will use to continue the work.
|
|
172
|
-
|
|
173
|
-
Use this EXACT format:
|
|
174
|
-
|
|
175
|
-
## Goal
|
|
176
|
-
[What is the user trying to accomplish? Can be multiple items if the session covers different tasks.]
|
|
177
|
-
|
|
178
|
-
## Constraints & Preferences
|
|
179
|
-
- [Any constraints, preferences, or requirements mentioned by user]
|
|
180
|
-
- [Or "(none)" if none were mentioned]
|
|
181
|
-
|
|
182
|
-
## Progress
|
|
183
|
-
### Done
|
|
184
|
-
- [x] [Completed tasks/changes]
|
|
185
|
-
|
|
186
|
-
### In Progress
|
|
187
|
-
- [ ] [Current work]
|
|
188
|
-
|
|
189
|
-
### Blocked
|
|
190
|
-
- [Issues preventing progress, if any]
|
|
191
|
-
|
|
192
|
-
## Key Decisions
|
|
193
|
-
- **[Decision]**: [Brief rationale]
|
|
194
|
-
|
|
195
|
-
## Next Steps
|
|
196
|
-
1. [Ordered list of what should happen next]
|
|
197
|
-
|
|
198
|
-
## Critical Context
|
|
199
|
-
- [Any data, examples, or references needed to continue]
|
|
200
|
-
- [Or "(none)" if not applicable]
|
|
201
|
-
|
|
202
|
-
Keep each section concise. Preserve exact file paths, function names, and error messages.`,UPDATE_SUMMARIZATION_INSTRUCTIONS=`Update the existing structured summary with new information. RULES:
|
|
203
|
-
- PRESERVE all existing information from the previous summary
|
|
204
|
-
- ADD new progress, decisions, and context from the new messages
|
|
205
|
-
- UPDATE the Progress section: move items from "In Progress" to "Done" when completed
|
|
206
|
-
- UPDATE "Next Steps" based on what was accomplished
|
|
207
|
-
- PRESERVE exact file paths, function names, and error messages
|
|
208
|
-
- If something is no longer relevant, you may remove it
|
|
209
|
-
|
|
210
|
-
Use this EXACT format:
|
|
211
|
-
|
|
212
|
-
## Goal
|
|
213
|
-
[Preserve existing goals, add new ones if the task expanded]
|
|
214
|
-
|
|
215
|
-
## Constraints & Preferences
|
|
216
|
-
- [Preserve existing, add new ones discovered]
|
|
217
|
-
|
|
218
|
-
## Progress
|
|
219
|
-
### Done
|
|
220
|
-
- [x] [Include previously done items AND newly completed items]
|
|
221
|
-
|
|
222
|
-
### In Progress
|
|
223
|
-
- [ ] [Current work - update based on progress]
|
|
224
|
-
|
|
225
|
-
### Blocked
|
|
226
|
-
- [Current blockers - remove if resolved]
|
|
227
|
-
|
|
228
|
-
## Key Decisions
|
|
229
|
-
- **[Decision]**: [Brief rationale] (preserve all previous, add new)
|
|
230
|
-
|
|
231
|
-
## Next Steps
|
|
232
|
-
1. [Update based on current state]
|
|
233
|
-
|
|
234
|
-
## Critical Context
|
|
235
|
-
- [Preserve important context, add new if needed]
|
|
236
|
-
|
|
237
|
-
Keep each section concise. Preserve exact file paths, function names, and error messages.`,UPDATE_SUMMARIZATION_PROMPT=`The messages above are NEW conversation messages to incorporate into the existing summary provided in <previous-summary> tags.
|
|
238
|
-
|
|
239
|
-
${UPDATE_SUMMARIZATION_INSTRUCTIONS}`,SOURCE_CONTEXT_UPDATE_SUMMARIZATION_PROMPT=`The messages above contain an existing structured summary of earlier conversation history followed by NEW conversation messages.
|
|
240
|
-
|
|
241
|
-
${UPDATE_SUMMARIZATION_INSTRUCTIONS}`;function createSummarizationOptions(model,maxTokens,apiKey,headers,env,signal,thinkingLevel,extraBody,sessionId,requestOptions,cacheRetention){let options={...requestOptions,maxTokens,signal,apiKey,headers,env,extraBody,cacheRetention};sessionId&&(options.affinitySessionId=sessionId);let refusalFallbacks=getAnthropicSummarizationFallback(model);return refusalFallbacks&&(options.refusalFallbacks=refusalFallbacks),model.reasoning&&thinkingLevel&&thinkingLevel!=="off"&&(options.reasoning=thinkingLevel),options}async function completeSummarization(model,context,options,streamFn,retry,callbacks,summarizationMaxDurationMsOverride){let isolatedOptions={...options,onPayload:withoutServerSearch(options.onPayload,options.cacheRetention),cacheRetention:options.cacheRetention??"none",affinitySessionId:options.affinitySessionId??options.sessionId,sessionId:uuidv7()},callerSignal=options.signal,maxDurationMs=summarizationMaxDurationMs(estimateContextTokens(context).tokens,summarizationMaxDurationMsOverride);return retryAssistantCall(async()=>{let requestController=new AbortController,onCallerAbort=()=>requestController.abort(callerSignal?.reason);callerSignal&&(callerSignal.aborted?onCallerAbort():callerSignal.addEventListener("abort",onCallerAbort,{once:!0}));try{let requestOptions={...isolatedOptions,signal:requestController.signal},responseStream=Promise.resolve(streamFn?streamFn(model,context,requestOptions):streamSimple(model,context,requestOptions));return await consumeStreamWithIdleTimeout(responseStream,{idleTimeoutMs:DEFAULT_SUMMARIZATION_IDLE_TIMEOUT_MS,maxDurationMs,abort:()=>requestController.abort(),signal:callerSignal,settle:async()=>await(await responseStream).result()})}finally{callerSignal&&callerSignal.removeEventListener("abort",onCallerAbort)}},retry,callerSignal,callbacks)}async function transformSummarySource(currentMessages,previousSummary,transformContext2,signal){if(!transformContext2)return{messages:currentMessages,previousSummary};if(!previousSummary)return{messages:await transformContext2(currentMessages,signal),previousSummary:void 0};let timestamps=new Set(currentMessages.map(message=>message.timestamp)),summaryTimestamp=-1;for(;timestamps.has(summaryTimestamp);)summaryTimestamp--;let transformed=await transformContext2([{role:"user",content:[{type:"text",text:previousSummary}],timestamp:summaryTimestamp},...currentMessages],signal),transformedSummary=transformed.filter(message=>message.timestamp===summaryTimestamp);return{messages:transformed.filter(message=>message.timestamp!==summaryTimestamp),previousSummary:transformedSummary.length>0?serializeConversation(convertToLlm(transformedSummary)):void 0}}async function generateSummary(currentMessages,model,reserveTokens,apiKey,headers,signal,customInstructions,previousSummary,extraBody,thinkingLevel,streamFn,env,transformContext2,retry,callbacks,sessionId,cacheFriendly,summarizationMaxDurationMs2){return(await generateSummaryWithUsage(currentMessages,model,reserveTokens,apiKey,headers,signal,customInstructions,previousSummary,extraBody,thinkingLevel,streamFn,env,transformContext2,retry,callbacks,sessionId,cacheFriendly,summarizationMaxDurationMs2)).text}function buildSummarizationContext(promptText,sourceContext){let instructionMessage={role:"user",content:[{type:"text",text:promptText}],timestamp:Date.now()};return sourceContext?normalizeContext({...sourceContext,messages:[...sourceContext.messages,instructionMessage]}):normalizeContext({systemPrompt:SUMMARIZATION_SYSTEM_PROMPT,messages:[instructionMessage]})}var CACHE_FRIENDLY_CONTEXT_SAFETY_TOKENS=4096;function cacheFriendlyContextFits(model,context,maxTokens){return model.contextWindow<=0||estimateContextTokens(context).tokens+maxTokens+CACHE_FRIENDLY_CONTEXT_SAFETY_TOKENS<=model.contextWindow}async function generateSummaryWithUsage(currentMessages,model,reserveTokens,apiKey,headers,signal,customInstructions,previousSummary,extraBody,thinkingLevel,streamFn,env,transformContext2,retry,callbacks,sessionId,cacheFriendly,summarizationMaxDurationMs2){let maxTokens=Math.min(Math.floor(.8*reserveTokens),model.maxTokens>0?model.maxTokens:Number.POSITIVE_INFINITY),sourceContext=cacheFriendly?.sourceContext,transformedSource={messages:currentMessages,previousSummary};sourceContext||(transformedSource=await transformSummarySource(currentMessages,previousSummary,transformContext2,signal));let basePrompt=transformedSource.previousSummary?sourceContext?SOURCE_CONTEXT_UPDATE_SUMMARIZATION_PROMPT:UPDATE_SUMMARIZATION_PROMPT:SUMMARIZATION_PROMPT;customInstructions&&(basePrompt=`${basePrompt}
|
|
242
|
-
|
|
243
|
-
Additional focus: ${customInstructions}`),sourceContext&&!cacheFriendlyContextFits(model,buildSummarizationContext(basePrompt,sourceContext),maxTokens)&&(sourceContext=void 0,transformedSource=await transformSummarySource(currentMessages,previousSummary,transformContext2,signal),basePrompt=transformedSource.previousSummary?UPDATE_SUMMARIZATION_PROMPT:SUMMARIZATION_PROMPT,customInstructions&&(basePrompt=`${basePrompt}
|
|
244
|
-
|
|
245
|
-
Additional focus: ${customInstructions}`));let promptText="";if(!sourceContext){let llmMessages=convertToLlm(transformedSource.messages);promptText=`<conversation>
|
|
246
|
-
${serializeConversation(llmMessages)}
|
|
247
|
-
</conversation>
|
|
248
|
-
|
|
249
|
-
`,transformedSource.previousSummary&&(promptText+=`<previous-summary>
|
|
250
|
-
${transformedSource.previousSummary}
|
|
251
|
-
</previous-summary>
|
|
252
|
-
|
|
253
|
-
`)}promptText+=basePrompt;let completionOptions=createSummarizationOptions(model,maxTokens,apiKey,headers,env,signal,thinkingLevel,extraBody,sessionId,sourceContext?cacheFriendly?.requestOptions:void 0,sourceContext?"short":void 0),response=await completeSummarization(model,buildSummarizationContext(promptText,sourceContext),completionOptions,streamFn,retry,callbacks,summarizationMaxDurationMs2),failure=getSummarizationFailure(response,"Summarization");if(failure)throw new Error(failure);if(response.content.some(block=>block.type==="toolCall"))throw new Error("Summarization attempted to call a tool");return{text:contentTextForSummary(response.content),usage:response.usage}}function isProjectedTurnStart(entry){return entry.sourceEntry.type==="compaction"?!1:entry.messages.some(isTurnStartMessage)}function findProjectedTurnStartIndex(entries,entryIndex,startIndex){for(let i=entryIndex;i>=startIndex;i--)if(isProjectedTurnStart(entries[i]))return i;return-1}function findProjectedValidCutPoints(entries,startIndex,endIndex){let cutPoints=[];for(let i=startIndex;i<endIndex;i++){let entry=entries[i];entry.sourceEntry.type!=="compaction"&&entry.messages.some(isCutPointMessage)&&cutPoints.push(i)}return cutPoints}function findProjectedCutPoint(entries,startIndex,endIndex,keepRecentTokens){let cutPoints=[];for(let i=startIndex;i<endIndex;i++){let entry=entries[i];entry.sourceEntry.type!=="compaction"&&entry.messages.some(isCutPointMessage)&&cutPoints.push(i)}if(cutPoints.length===0)return{firstKeptEntryIndex:startIndex,turnStartIndex:-1,isSplitTurn:!1};let accumulatedTokens=0,exceededBudget=!1,cutIndex=cutPoints[0],weighted=keepBudgetWeighted(entries.slice(startIndex,endIndex).flatMap(entry=>entry.messages));for(let i=endIndex-1;i>=startIndex;i--){let messageTokens=keepBudgetTokens(entries[i].messages,weighted);if(messageTokens!==0&&(accumulatedTokens+=messageTokens,accumulatedTokens>=keepRecentTokens)){exceededBudget=!0,cutIndex=cutPoints.find(candidate=>candidate>=i)??cutPoints[cutPoints.length-1];break}}let suffix=entries.slice(cutIndex+1,endIndex),isIntrinsicallyVisible=entry=>entry.sourceEntry.type!=="context_edit"&&sessionEntryToContextMessages(entry.sourceEntry).length>0,isOmitted=entry=>isIntrinsicallyVisible(entry)&&entry.messages.length===0,omittedSuffixIds=new Set(suffix.filter(isOmitted).map(entry=>entry.sourceEntry.id)),hasExternalReplacement=suffix.some(entry=>entry.sourceEntry.type==="context_edit"&&entry.sourceEntry.replacement!==null&&!omittedSuffixIds.has(entry.sourceEntry.targetId));for(exceededBudget&&!hasExternalReplacement&&suffix.some(entry=>entry.sourceEntry.type==="message"&&entry.sourceEntry.message.role==="assistant"&&isOmitted(entry))&&suffix.every(entry=>entry.sourceEntry.type!=="compaction"&&(!isIntrinsicallyVisible(entry)||isOmitted(entry)))&&cutIndex++;cutIndex>startIndex;){let previous=entries[cutIndex-1];if(previous.sourceEntry.type==="compaction"||previous.messages.length>0)break;cutIndex--}let startsTurn=isProjectedTurnStart(entries[cutIndex]),turnStartIndex=startsTurn?-1:findProjectedTurnStartIndex(entries,cutIndex,startIndex);return{firstKeptEntryIndex:cutIndex,turnStartIndex,isSplitTurn:!startsTurn&&turnStartIndex!==-1}}function prepareCompaction(pathEntries,settings,forceProgress=!1,allowSummaryOnly=!1){if(pathEntries.length>0&&pathEntries[pathEntries.length-1].type==="compaction")return;let projection=buildSessionProjection(pathEntries),projectedEntries=projection.entries,sourceEntries=projectedEntries.map(entry=>entry.sourceEntry),prevCompactionIndex=projectedEntries.findIndex(entry=>entry.sourceEntry.type==="compaction"&&entry.messages.length>0),previousSummary,boundaryStart=0;prevCompactionIndex>=0&&(previousSummary=projectedEntries[prevCompactionIndex].sourceEntry.summary,boundaryStart=prevCompactionIndex+1);let boundaryEnd=projectedEntries.length,tokensBefore=estimateProjectedContextTokens(projection,pathEntries).tokens,cutPoint=findProjectedCutPoint(projectedEntries,boundaryStart,boundaryEnd,settings.keepRecentTokens);if(forceProgress&&cutPoint.firstKeptEntryIndex===boundaryStart){let nextCutPoint=findProjectedValidCutPoints(projectedEntries,boundaryStart+1,boundaryEnd)[0];if(nextCutPoint!==void 0){let turnStartIndex=findProjectedTurnStartIndex(projectedEntries,nextCutPoint,boundaryStart);cutPoint={firstKeptEntryIndex:nextCutPoint,turnStartIndex,isSplitTurn:turnStartIndex!==-1}}}let firstKeptEntry=projectedEntries[cutPoint.firstKeptEntryIndex]?.sourceEntry;if(!firstKeptEntry?.id)return;let firstKeptEntryId=firstKeptEntry.id,historyEnd=cutPoint.isSplitTurn?cutPoint.turnStartIndex:cutPoint.firstKeptEntryIndex,messagesToSummarize=projectedEntries.slice(boundaryStart,historyEnd).flatMap(getMessagesFromProjectedEntryForCompaction),turnPrefixMessages=cutPoint.isSplitTurn?projectedEntries.slice(cutPoint.turnStartIndex,cutPoint.firstKeptEntryIndex).flatMap(getMessagesFromProjectedEntryForCompaction):[],sourceMessages=collectSourceMessages(pathEntries,projectedEntries,prevCompactionIndex,historyEnd),turnPrefixSourceMessages=cutPoint.isSplitTurn?collectSourceMessages(pathEntries,projectedEntries,prevCompactionIndex,cutPoint.firstKeptEntryIndex):[];if(messagesToSummarize.length===0&&turnPrefixMessages.length===0&&(!previousSummary||!allowSummaryOnly))return;let fileOps=extractFileOperations(messagesToSummarize,sourceEntries,prevCompactionIndex);if(cutPoint.isSplitTurn)for(let msg of turnPrefixMessages)extractFileOpsFromMessage(msg,fileOps);return{firstKeptEntryId,messagesToSummarize,sourceMessages,turnPrefixMessages,turnPrefixSourceMessages,isSplitTurn:cutPoint.isSplitTurn,tokensBefore,previousSummary,fileOps,settings}}var TURN_PREFIX_SUMMARIZATION_PROMPT=`The messages above are earlier context from an ongoing conversation. Later messages are stored separately and do not need to be reconstructed.
|
|
254
|
-
|
|
255
|
-
Create a concise checkpoint of the user's request and the progress shown above. This checkpoint will be placed before the later messages so the conversation can continue with the necessary context.
|
|
256
|
-
|
|
257
|
-
## Original Request
|
|
258
|
-
[What did the user ask for?]
|
|
259
|
-
|
|
260
|
-
## Progress So Far
|
|
261
|
-
- [Key decisions and work completed in these messages]
|
|
262
|
-
|
|
263
|
-
## Context Needed to Continue
|
|
264
|
-
- [Information from these messages needed to understand the later work]
|
|
265
|
-
|
|
266
|
-
Only summarize information explicitly present above. Do not infer or recreate later messages.`,SOURCE_CONTEXT_TURN_PREFIX_SUMMARIZATION_PROMPT=`The messages above are context from an ongoing conversation whose final turn is still in progress. Later messages of that turn are stored separately and do not need to be reconstructed.
|
|
267
|
-
|
|
268
|
-
The conversation may also contain complete earlier turns for background. Summarize only the final, incomplete turn. It begins with the last user-role request before this instruction. Do not summarize earlier turns except for details needed to understand the final turn.
|
|
269
|
-
|
|
270
|
-
Create a concise checkpoint of that request and the progress shown so far. This checkpoint will be placed before the later messages so the conversation can continue with the necessary context.
|
|
271
|
-
|
|
272
|
-
## Original Request
|
|
273
|
-
[What did the user ask for?]
|
|
274
|
-
|
|
275
|
-
## Progress So Far
|
|
276
|
-
- [Key decisions and work completed in these messages]
|
|
277
|
-
|
|
278
|
-
## Context Needed to Continue
|
|
279
|
-
- [Information from these messages needed to understand the later work]
|
|
280
|
-
|
|
281
|
-
Only summarize information explicitly present above. Do not infer or recreate later messages.`;async function compact(preparation,model,apiKey,headers,customInstructions,signal,extraBody,thinkingLevel,streamFn,env,transformContext2,retry,callbacks,sessionId,cacheFriendly){let{firstKeptEntryId,messagesToSummarize,turnPrefixMessages,isSplitTurn,tokensBefore,previousSummary,fileOps,settings}=preparation,summary,summaryUsage;if(isSplitTurn&&turnPrefixMessages.length>0){let historyText=previousSummary??"No prior history.",historyUsage;if(messagesToSummarize.length>0){let historyResult=await generateSummaryWithUsage(messagesToSummarize,model,settings.reserveTokens,apiKey,headers,signal,customInstructions,previousSummary,extraBody,thinkingLevel,streamFn,env,transformContext2,retry,callbacks,sessionId,{sourceContext:cacheFriendly?.sourceContext,requestOptions:cacheFriendly?.requestOptions},settings.summarizationMaxDurationMs);historyText=historyResult.text,historyUsage=historyResult.usage}let turnPrefixResult=await generateTurnPrefixSummary(turnPrefixMessages,model,settings.reserveTokens,apiKey,headers,env,signal,extraBody,thinkingLevel,streamFn,transformContext2,retry,callbacks,sessionId,{sourceContext:cacheFriendly?.turnPrefixSourceContext,requestOptions:cacheFriendly?.requestOptions},settings.summarizationMaxDurationMs);summary=`${historyText}
|
|
282
|
-
|
|
283
|
-
---
|
|
284
|
-
|
|
285
|
-
**Turn Context (split turn):**
|
|
286
|
-
|
|
287
|
-
${turnPrefixResult.text}`,summaryUsage=historyUsage?combineUsage(historyUsage,turnPrefixResult.usage):turnPrefixResult.usage}else{let result=await generateSummaryWithUsage(messagesToSummarize,model,settings.reserveTokens,apiKey,headers,signal,customInstructions,previousSummary,extraBody,thinkingLevel,streamFn,env,transformContext2,retry,callbacks,sessionId,{sourceContext:cacheFriendly?.sourceContext,requestOptions:cacheFriendly?.requestOptions},settings.summarizationMaxDurationMs);summary=result.text,summaryUsage=result.usage}let{readFiles,modifiedFiles}=computeFileLists(fileOps);if(summary+=formatFileOperations(readFiles,modifiedFiles),!firstKeptEntryId)throw new Error("First kept entry has no UUID - session may need migration");return{summary,firstKeptEntryId,tokensBefore,usage:summaryUsage,details:{readFiles,modifiedFiles}}}async function generateTurnPrefixSummary(messages,model,reserveTokens,apiKey,headers,env,signal,extraBody,thinkingLevel,streamFn,transformContext2,retry,callbacks,sessionId,cacheFriendly,summarizationMaxDurationMs2){let maxTokens=Math.min(Math.floor(.5*reserveTokens),model.maxTokens>0?model.maxTokens:Number.POSITIVE_INFINITY),sourceContext=cacheFriendly?.sourceContext;sourceContext&&!cacheFriendlyContextFits(model,buildSummarizationContext(SOURCE_CONTEXT_TURN_PREFIX_SUMMARIZATION_PROMPT,sourceContext),maxTokens)&&(sourceContext=void 0);let promptText;if(sourceContext)promptText=SOURCE_CONTEXT_TURN_PREFIX_SUMMARIZATION_PROMPT;else{let providerMessages=transformContext2?await transformContext2(messages,signal):messages,llmMessages=convertToLlm(providerMessages);promptText=`# Conversation
|
|
288
|
-
${serializeConversation(llmMessages)}
|
|
289
|
-
|
|
290
|
-
# Instructions
|
|
291
|
-
${TURN_PREFIX_SUMMARIZATION_PROMPT}`}let response=await completeSummarization(model,buildSummarizationContext(promptText,sourceContext),createSummarizationOptions(model,maxTokens,apiKey,headers,env,signal,thinkingLevel,extraBody,sessionId,sourceContext?cacheFriendly?.requestOptions:void 0,sourceContext?"short":void 0),streamFn,retry,callbacks,summarizationMaxDurationMs2),failure=getSummarizationFailure(response,"Turn prefix summarization");if(failure)throw new Error(failure);if(response.content.some(block=>block.type==="toolCall"))throw new Error("Turn prefix summarization attempted to call a tool");return{text:contentTextForSummary(response.content),usage:response.usage}}import{randomUUID}from"node:crypto";function collectEntriesForBranchSummary(session,oldLeafId,targetId){if(!oldLeafId)return{entries:[],commonAncestorId:null};let oldPath=new Set(session.getBranch(oldLeafId).map(e=>e.id)),targetPath=session.getBranch(targetId),commonAncestorId=null;for(let i=targetPath.length-1;i>=0;i--)if(oldPath.has(targetPath[i].id)){commonAncestorId=targetPath[i].id;break}let entries=[],current=oldLeafId;for(;current&¤t!==commonAncestorId;){let entry=session.getEntry(current);if(!entry)break;entries.push(entry),current=entry.parentId}return entries.reverse(),{entries,commonAncestorId}}function getMessageFromEntry(entry){switch(entry.type){case"message":return entry.message.role==="toolResult"?void 0:entry.message;case"custom_message":return isContextExcludedCustomMessage(entry.customType)?void 0:createCustomMessage(entry.customType,entry.content,entry.display,entry.details,entry.timestamp);case"branch_summary":return createBranchSummaryMessage(entry.summary,entry.fromId,entry.timestamp);case"compaction":return createCompactionSummaryMessage(entry.summary,entry.tokensBefore,entry.timestamp);case"thinking_level_change":case"model_change":case"custom":case"label":case"session_info":return}}function prepareBranchEntries(entries,tokenBudget=0){let messages=[],fileOps=createFileOps(),totalTokens=0;for(let entry of entries)if(entry.type==="branch_summary"&&!entry.fromHook&&entry.details){let details=entry.details;if(Array.isArray(details.readFiles))for(let f of details.readFiles)fileOps.read.add(f);if(Array.isArray(details.modifiedFiles))for(let f of details.modifiedFiles)fileOps.edited.add(f)}for(let i=entries.length-1;i>=0;i--){let entry=entries[i],message=getMessageFromEntry(entry);if(!message)continue;extractFileOpsFromMessage(message,fileOps);let tokens=estimateTokens(message);if(tokenBudget>0&&totalTokens+tokens>tokenBudget){(entry.type==="compaction"||entry.type==="branch_summary")&&totalTokens<tokenBudget*.9&&(messages.unshift(message),totalTokens+=tokens);break}messages.unshift(message),totalTokens+=tokens}return{messages,fileOps,totalTokens}}var BRANCH_SUMMARY_PREAMBLE=`The user explored a different conversation branch before returning here.
|
|
292
|
-
Summary of that exploration:
|
|
293
|
-
|
|
294
|
-
`,BRANCH_SUMMARY_PROMPT=`Create a structured summary of this conversation branch for context when returning later.
|
|
295
|
-
|
|
296
|
-
Use this EXACT format:
|
|
297
|
-
|
|
298
|
-
## Goal
|
|
299
|
-
[What was the user trying to accomplish in this branch?]
|
|
300
|
-
|
|
301
|
-
## Constraints & Preferences
|
|
302
|
-
- [Any constraints, preferences, or requirements mentioned]
|
|
303
|
-
- [Or "(none)" if none were mentioned]
|
|
304
|
-
|
|
305
|
-
## Progress
|
|
306
|
-
### Done
|
|
307
|
-
- [x] [Completed tasks/changes]
|
|
308
|
-
|
|
309
|
-
### In Progress
|
|
310
|
-
- [ ] [Work that was started but not finished]
|
|
311
|
-
|
|
312
|
-
### Blocked
|
|
313
|
-
- [Issues preventing progress, if any]
|
|
314
|
-
|
|
315
|
-
## Key Decisions
|
|
316
|
-
- **[Decision]**: [Brief rationale]
|
|
317
|
-
|
|
318
|
-
## Next Steps
|
|
319
|
-
1. [What should happen next to continue this work]
|
|
320
|
-
|
|
321
|
-
Keep each section concise. Preserve exact file paths, function names, and error messages.`;function createBranchCompactionPreparation(entries,preparation,reserveTokens){return{firstKeptEntryId:entries[0]?.id??"",messagesToSummarize:preparation.messages,turnPrefixMessages:[],isSplitTurn:!1,tokensBefore:preparation.totalTokens,fileOps:preparation.fileOps,settings:{enabled:!0,reserveTokens,keepRecentTokens:0}}}async function generateBranchSummary(entries,options){let{model,apiKey,headers,extraBody,env,signal,customInstructions,replaceInstructions,reserveTokens=16384,extensionRunner,streamFn,retry,callbacks}=options,tokenBudget=(model.contextWindow||128e3)-reserveTokens,branchPreparation=prepareBranchEntries(entries,tokenBudget),{messages,fileOps}=branchPreparation;if(messages.length===0)return{summary:"No content to summarize"};if(extensionRunner?.hasHandlers("session_before_compact")){let preparation=createBranchCompactionPreparation(entries,branchPreparation,reserveTokens),result=await extensionRunner.emit({type:"session_before_compact",reason:"branch",willRetry:!1,requestId:randomUUID(),preparation,branchEntries:entries,customInstructions,signal});if(result?.cancel)return{aborted:!0};if(result?.compaction)return{summary:result.compaction.summary}}let llmMessages=convertToLlm(messages),conversationText=serializeConversation(llmMessages),instructions;replaceInstructions&&customInstructions?instructions=customInstructions:customInstructions?instructions=`${BRANCH_SUMMARY_PROMPT}
|
|
322
|
-
|
|
323
|
-
Additional focus: ${customInstructions}`:instructions=BRANCH_SUMMARY_PROMPT;let summarizationMessages=[{role:"user",content:[{type:"text",text:`<conversation>
|
|
324
|
-
${conversationText}
|
|
325
|
-
</conversation>
|
|
326
|
-
|
|
327
|
-
${instructions}`}],timestamp:Date.now()}],maxTokens=Math.min(4096,model.maxTokens>0?model.maxTokens:Number.POSITIVE_INFINITY),context=normalizeContext({systemPrompt:SUMMARIZATION_SYSTEM_PROMPT,messages:summarizationMessages}),response=await completeSummarization(model,context,{apiKey,headers,extraBody,env,signal,maxTokens},streamFn,retry,callbacks);if(response.stopReason==="aborted")return{aborted:!0};let failure=getSummarizationFailure(response,"Branch summarization");if(failure)return{error:failure};if(response.content.some(block=>block.type==="toolCall"))return{error:"Branch summarization attempted to call a tool"};let summary=contentTextForSummary(response.content);summary=BRANCH_SUMMARY_PREAMBLE+summary;let{readFiles,modifiedFiles}=computeFileLists(fileOps);return summary+=formatFileOperations(readFiles,modifiedFiles),{summary:summary||"No summary generated",usage:response.usage,readFiles,modifiedFiles}}function supportsXhigh2(model){return supportsXhigh(model)}function supportsMax2(model){return supportsMax(model)}function getSupportedThinkingLevels2(model){let supportedLevels=getSupportedThinkingLevels(model);return supportedLevels.length>0?supportedLevels:["off"]}function clampThinkingSelection(selection,requested,level,model){if(selection===void 0)return;let{requested:_staleRequested,clampReason:_staleReason,...base}=selection;return requested===level||model===void 0?{...base,level}:{...base,level,requested,clampReason:model.reasoning?"level-unsupported":"model-not-reasoning"}}function getThinkingClampNotice(selection,model){let clamped=selection;if(!(model===void 0||clamped?.requested===void 0||clamped.clampReason===void 0))return{provider:model.provider,modelId:model.id,requestedLevel:clamped.requested,appliedLevel:clamped.level,reason:clamped.clampReason}}function formatThinkingClampWarning(notice){let model=`${notice.provider}/${notice.modelId}`;return notice.reason==="model-not-reasoning"?`Thinking level "${notice.requestedLevel}" was requested, but ${model} is not marked as a reasoning model, so thinking is "${notice.appliedLevel}". If the model supports reasoning, set "reasoning": true for it in models.json.`:`Thinking level "${notice.requestedLevel}" is not available on ${model}; using "${notice.appliedLevel}".`}function classifyReasoningCapability(model){if(!model.reasoning)return{kind:"none",levels:["off"],nonOffLevels:[]};let levels=getSupportedThinkingLevels2(model),nonOffLevels=levels.filter(level=>level!=="off");return levels.includes("off")?nonOffLevels.length===1?{kind:"on-off",levels,nonOffLevels}:nonOffLevels.length===0?{kind:"none",levels,nonOffLevels}:{kind:"graded",levels,nonOffLevels}:{kind:"always-on",levels,nonOffLevels}}var BROWSER_ENGINES=["connected","builtin","none"];function isBrowserEngine(value){return BROWSER_ENGINES.some(engine=>engine===value)}var MAX_RPC_MESSAGE_CHARACTERS=1e6,SESSION_CONTEXT_LIMITS={keys:32,valueBytes:16*1024,totalBytes:32*1024},SESSION_CONTEXT_KEY_PATTERN=/^[a-z][a-z0-9_]*$/;function validContent(content){return typeof content=="string"?!0:Array.isArray(content)&&content.every(item=>{if(typeof item!="object"||item===null)return!1;let value=item;return value.type==="text"?typeof value.text=="string":value.type==="image"&&typeof value.data=="string"&&typeof value.mimeType=="string"})}function validBaseEntry(entry){return typeof entry.id=="string"&&(entry.parentId===null||typeof entry.parentId=="string")&&typeof entry.timestamp=="string"}function validSessionEntry(entry){if(typeof entry!="object"||entry===null||Array.isArray(entry))return!1;let value=entry;if(!validBaseEntry(value))return!1;switch(value.type){case"message":{let message=value.message;if(typeof message!="object"||message===null)return!1;let item=message;return["user","assistant","tool"].includes(item.role)&&validContent(item.content)}case"thinking_level_change":return typeof value.thinkingLevel=="string";case"model_change":return typeof value.provider=="string"&&typeof value.modelId=="string";case"model_change_rejected":return typeof value.provider=="string"&&typeof value.modelId=="string"&&typeof value.detail=="string";case"compaction":return typeof value.summary=="string"&&typeof value.firstKeptEntryId=="string"&&typeof value.tokensBefore=="number";case"branch_summary":return typeof value.fromId=="string"&&typeof value.summary=="string";case"custom":return typeof value.customType=="string";case"custom_message":return typeof value.customType=="string"&&validContent(value.content)&&typeof value.display=="boolean";case"label":return typeof value.targetId=="string"&&(value.label===void 0||typeof value.label=="string");case"session_info":return value.name===void 0||typeof value.name=="string";default:return!1}}function rpcCommandPayloadError(command){if(rpcCommandShapeError(command))return;let value=command;if((value.type==="prompt"||value.type==="steer"||value.type==="follow_up")&&!clientMessageIdentitySchema.safeParse(value).success)return"clientMessageId and clientTurnId must be non-empty strings of at most 256 characters.";if((value.type==="dequeue_message"||value.type==="edit_queued_message")&&!(typeof value.queuedId=="string"&&value.queuedId.length>0&&value.queuedId.length<=256))return"queuedId must be a non-empty string of at most 256 characters; read it from get_state or queue_update.";if(value.type==="edit_queued_message"&&!(typeof value.text=="string"&&value.text.length>0&&value.text.length<=MAX_RPC_MESSAGE_CHARACTERS))return`text must be a non-empty string of at most ${MAX_RPC_MESSAGE_CHARACTERS} characters; dequeue_message removes an input.`;if((value.type==="dequeue_message"||value.type==="edit_queued_message")&&value.expectedRevision!==void 0&&!(Number.isSafeInteger(value.expectedRevision)&&value.expectedRevision>=1))return"expectedRevision must be a whole number of at least 1; read it from the input's revision in get_state or queue_update.";if(value.type==="resolve_path"&&!(typeof value.path=="string"&&value.path.trim().length>0&&value.path.length<=4096))return"path must be a non-empty string of at most 4096 characters.";if(value.type==="unload_session"){if(value.children!==void 0&&value.children!=="refuse"&&value.children!=="detach")return'children must be "refuse" or "detach".';for(let flag of["interrupt","clearQueue","force"])if(value[flag]!==void 0&&typeof value[flag]!="boolean")return`${flag} must be a boolean.`}if((value.type==="steer"||value.type==="follow_up")&&value.enqueueOrder!==void 0&&!(typeof value.enqueueOrder=="number"&&Number.isFinite(value.enqueueOrder)))return"enqueueOrder must be a finite number.";if((value.type==="steer"||value.type==="follow_up")&&value.whenIdle!==void 0&&value.whenIdle!=="queue"&&value.whenIdle!=="start")return'whenIdle must be "queue" or "start"; omit it to queue on an idle session.';if((value.type==="abort"||value.type==="set_model"||value.type==="set_thinking_level"||value.type==="get_effect_status")&&(value.effectId!==void 0||value.type==="get_effect_status")&&!(typeof value.effectId=="string"&&value.effectId.length>0&&value.effectId.length<=256))return"effectId must be a non-empty string of at most 256 characters.";if(value.type==="get_effect_status"&&value.sessionPath!==void 0&&typeof value.sessionPath!="string")return"sessionPath must be a string.";if(value.type==="append_user_message"&&!validContent(value.content))return"append_user_message content must be a string or text/image content array.";if(value.type==="append_session_entry"&&!validSessionEntry(value.entry))return"append_session_entry entry is malformed."}function sessionContextError(context){if(context===void 0)return;if(typeof context!="object"||context===null||Array.isArray(context))return"context must be an object of string values.";let entries=Object.entries(context);if(entries.length>SESSION_CONTEXT_LIMITS.keys)return`context has ${entries.length} keys, at most ${SESSION_CONTEXT_LIMITS.keys} are accepted.`;for(let[key,value]of entries){if(!SESSION_CONTEXT_KEY_PATTERN.test(key))return`context key "${key}" must match ${SESSION_CONTEXT_KEY_PATTERN.source}.`;if(typeof value!="string")return`context value for key "${key}" must be a string.`;let valueBytes=Buffer.byteLength(value);if(valueBytes>SESSION_CONTEXT_LIMITS.valueBytes)return`context value for key "${key}" is ${valueBytes} bytes, at most ${SESSION_CONTEXT_LIMITS.valueBytes} bytes are accepted.`}let totalBytes=Buffer.byteLength(JSON.stringify(context));if(totalBytes>SESSION_CONTEXT_LIMITS.totalBytes)return`context is ${totalBytes} bytes of JSON, at most ${SESSION_CONTEXT_LIMITS.totalBytes} bytes are accepted.`}function sessionKindError(kind){if(!(kind===void 0||kind==="interactive"||kind==="worker"))return'kind must be "interactive" or "worker".'}function sessionAutoTitleError(value){if(!(value===void 0||typeof value=="boolean"))return"auto_title must be a boolean."}function sessionPromptSurfaceError(value){if(!(value===void 0||value==="terminal"||value==="app"||value==="chat"))return'promptSurface must be "terminal", "app" or "chat".'}function sessionBrowserEngineError(value){if(!(value===void 0||isBrowserEngine(value)))return'browserEngine must be "connected", "builtin" or "none".'}var MAX_RETRY_FALLBACK_CHAINS=32,MAX_RETRY_FALLBACK_ENTRIES=32,MAX_RETRY_FALLBACK_SELECTOR_LENGTH=512;function sessionRetryFallbackError(value){if(value===void 0)return;let shape="retryFallback must be { modelFallback: boolean, fallbackChains: Record<string, string[]> }.";if(typeof value!="object"||value===null||Array.isArray(value))return shape;let record=value;if(typeof record.modelFallback!="boolean")return shape;let chains=record.fallbackChains;if(typeof chains!="object"||chains===null||Array.isArray(chains))return shape;let entries=Object.entries(chains);if(entries.length>MAX_RETRY_FALLBACK_CHAINS)return`retryFallback allows at most ${MAX_RETRY_FALLBACK_CHAINS} chains.`;for(let[key,selectors]of entries){if(!isSelector(key)||!Array.isArray(selectors)||!selectors.every(isSelector))return shape;if(selectors.length>MAX_RETRY_FALLBACK_ENTRIES)return`retryFallback allows at most ${MAX_RETRY_FALLBACK_ENTRIES} entries per chain.`}}function isSelector(value){return typeof value=="string"&&value.trim().length>0&&value.length<=MAX_RETRY_FALLBACK_SELECTOR_LENGTH}function rpcCommandShapeError(command){if(typeof command!="object"||command===null||Array.isArray(command))return"RPC command must be a JSON object."}function rpcMessageLengthError(command){if(rpcCommandShapeError(command))return;let input=command;if(!(input.type!=="prompt"&&input.type!=="steer"&&input.type!=="follow_up")&&!(typeof input.message!="string"||input.message.length<=MAX_RPC_MESSAGE_CHARACTERS))return`RPC ${input.type} message exceeds ${MAX_RPC_MESSAGE_CHARACTERS} characters.`}import{randomUUID as randomUUID2}from"node:crypto";import{createHash as createHash2}from"node:crypto";import{createHash}from"node:crypto";var RPC_EFFECT_ENTRY="rpc_effect",EFFECT_LEDGER_CAPABILITY="effect_ledger",actorSchema=external_exports.object({connectionId:external_exports.string()}),effectOutcomeSchema=external_exports.object({kind:external_exports.enum(["completed","aborted","error","deadline","interrupted_by_reopen","dropped_by_replace","unknown_model","provider_unavailable","unsupported_thinking_level","superseded","context_budget","cleared","cleared_by_abort","already_delivered","not_found","conflict","refused"]),reason:external_exports.string().optional(),detail:external_exports.string().optional(),action:external_exports.string().optional(),abortSource:external_exports.string().optional(),abortedBy:actorSchema.optional()}),rpcEffectRecordSchema=external_exports.object({effectId:external_exports.string().min(1).max(256),kind:external_exports.enum(["abort","unload","set_model","set_thinking_level","dequeue","edit_queued"]),state:external_exports.enum(["accepted","applied","done","failed"]),disposition:external_exports.string().optional(),outcome:effectOutcomeSchema.optional(),answer:external_exports.object({text:external_exports.string().optional(),revision:external_exports.number().int().positive().optional(),currentRevision:external_exports.number().int().positive().optional()}).optional(),by:actorSchema,acceptedAt:external_exports.string(),updatedAt:external_exports.string(),durableSessionId:external_exports.string(),fingerprint:external_exports.string()});function isTerminalEffectState(state){return state==="done"||state==="failed"}var EffectIdConflict=class extends Error{constructor(effectId){super(`effect_id_conflict: effectId ${effectId} was already used for a different request`),this.code="effect_id_conflict",this.reason="effect_id_conflict: this effectId was already used for a different request",this.action="send the request again with a new effectId",this.name="EffectIdConflict",this.effectId=effectId}},SEMANTIC_FIELDS={abort:["awaitIdle","clearQueue","graceMs"],set_model:["provider","modelId","thinkingLevel"],set_thinking_level:["level","scope"],unload:["interrupt","clearQueue","children","force"],dequeue:["queuedId","expectedRevision"],edit_queued:["queuedId","text","expectedRevision"]};function effectFingerprint(command,payload){let semantic={kind:command};for(let field of SEMANTIC_FIELDS[command]){let value=Reflect.get(payload,field);value!==void 0&&(semantic[field]=value)}return createHash("sha256").update(JSON.stringify(semantic)).digest("hex")}var CLIENT_ADMISSION_ENTRY="rpc_client_message_admission",HOST_MINTED_ID_PREFIX="host:";function isHostMintedId(id){return id?.startsWith(HOST_MINTED_ID_PREFIX)===!0}function clientFacingIdentity(value){if(!isHostMintedId(value.clientMessageId))return value;let{clientMessageId:_minted,...rest}=value;return rest}var DURABLE_CLIENT_MESSAGE_ID_CAPABILITY="durable_client_message_id",admissionIdentitySchema=clientMessageIdentitySchema.extend({clientMessageId:external_exports.string().min(1).max(256),durableSessionId:external_exports.string(),fingerprint:external_exports.string(),disposition:external_exports.enum(["queued","started","handled"]),hostMinted:external_exports.literal(!0).optional()}),preparedInputSchema=clientMessageIdentitySchema.extend({text:external_exports.string(),images:external_exports.array(external_exports.object({type:external_exports.literal("image"),data:external_exports.string(),mimeType:external_exports.string()})).optional(),mode:external_exports.enum(["steer","followUp"]),enqueueOrder:external_exports.number()}),clientAdmissionRecordSchema=external_exports.discriminatedUnion("state",[admissionIdentitySchema.extend({state:external_exports.literal("queued"),prepared:preparedInputSchema}),admissionIdentitySchema.extend({state:external_exports.literal("running"),prepared:external_exports.undefined().optional()}),admissionIdentitySchema.extend({state:external_exports.literal("completed"),prepared:external_exports.undefined().optional(),outcome:effectOutcomeSchema.optional()})]);function admissionSnapshot(record){let{fingerprint:_fingerprint,prepared:_prepared,...snapshot}=record;return snapshot}var ClientMessageIdConflict=class extends Error{constructor(clientMessageId){super(`client_message_id_conflict: ${clientMessageId}`),this.code="client_message_id_conflict",this.name="ClientMessageIdConflict",this.clientMessageId=clientMessageId}};function clientInputFingerprint(command){let payload={type:command.type,message:command.message,images:command.images?.map(({type,data,mimeType})=>({type,data,mimeType}))??[],clientTurnId:command.clientTurnId,...command.type==="prompt"?{streamingBehavior:command.streamingBehavior,thinkingLevel:command.thinkingLevel,sessionTitlePrompt:command.sessionTitlePrompt,expandPromptTemplates:command.expandPromptTemplates??!0,unknownCommandAsText:command.unknownCommandAsText??!1}:{}};return createHash2("sha256").update(JSON.stringify(payload)).digest("hex")}var EFFECT_OUTCOMES={inputInterruptedByReopen:{kind:"interrupted_by_reopen",reason:"interrupted_by_reopen",detail:"the session was reopened while this input's turn was running, so that turn never finished",action:"read the transcript for what the turn produced, then send the input again with a new clientMessageId"},inputCleared:{kind:"cleared",reason:"cleared",detail:"the queue was cleared (clear_queue, or abort or unload_session with clearQueue) before this queued input was delivered",action:"send the input again with a new clientMessageId if it is still needed"},queuedInputAlreadyDelivered:{kind:"already_delivered",reason:"already_delivered",detail:"the queued message had already been handed to the agent, so it can no longer be removed or edited",action:"send a follow-up message to correct it, or abort the turn"},queuedInputNotFound:{kind:"not_found",reason:"not_found",detail:"no queued message has this queuedId in this session",action:"read queuedId values from get_state or queue_update and retry with one that is still queued"},queuedInputConflict:{kind:"conflict",reason:"conflict",detail:"the queued message was changed after the revision this request was based on, so nothing was changed",action:"read the input's current text and revision from get_state or queue_update, then retry with that expectedRevision if the change still applies"},inputDroppedByReplace:{kind:"dropped_by_replace",reason:"dropped_by_replace",detail:"the session was replaced (new_session, switch_session or fork) before this queued input was delivered",action:"send the input again with a new clientMessageId on the current session"},abortInterruptedByReopen:{kind:"interrupted_by_reopen",reason:"interrupted_by_reopen",detail:"the session was reopened, so the turn this abort targeted is no longer running"},setModelInterruptedByReopen:{kind:"interrupted_by_reopen",reason:"interrupted_by_reopen",detail:"the host restarted before the model switch was applied",action:"send set_model again with a new effectId"},setModelSuperseded:{kind:"superseded",reason:"superseded",detail:"a newer model selection replaced this switch before it was applied",action:"read the current model, then send set_model with a new effectId if you still want this model"},setModelDroppedByReplace:{kind:"dropped_by_replace",reason:"dropped_by_replace",detail:"the session was replaced (new_session, switch_session or fork) before this model switch was applied",action:"read the current model, then send set_model with a new effectId on the current session"},setThinkingInterruptedByReopen:{kind:"interrupted_by_reopen",reason:"interrupted_by_reopen",detail:"the host restarted before the thinking level was applied",action:"send set_thinking_level again with a new effectId"},dequeueInterruptedByReopen:{kind:"interrupted_by_reopen",reason:"interrupted_by_reopen",detail:"the session was reopened before the queued input was removed",action:"re-read queue_update.ordered and retry with a new effectId"},editQueuedInterruptedByReopen:{kind:"interrupted_by_reopen",reason:"interrupted_by_reopen",detail:"the session was reopened before the queued input was edited",action:"re-read queue_update.ordered and retry with a new effectId"}};function unknownModelOutcome(provider,modelId){return{kind:"unknown_model",reason:"unknown_model",detail:`no available model is named ${provider}/${modelId}`,action:"pick a model from get_available_models and send set_model again with a new effectId"}}function providerUnavailableOutcome(detail){return{kind:"provider_unavailable",reason:"provider_unavailable",detail,action:"sign in to the provider or pick another model, then send set_model again with a new effectId"}}function contextBudgetOutcome(detail){return{kind:"context_budget",reason:"context_budget",detail,action:"compact the session or pick a model with a larger context window, then send set_model with a new effectId"}}function modelSwitchErrorOutcome(detail){return{kind:"error",reason:"error",detail,action:"read the error, then send set_model again with a new effectId after correcting its cause"}}function unsupportedThinkingLevelOutcome(detail){return{kind:"unsupported_thinking_level",reason:"unsupported_thinking_level",detail,action:"pick a level from get_available_thinking_levels and send it again with a new effectId"}}function turnErrorOutcome(detail){return{kind:"error",reason:"error",detail:detail??"the turn ended with a provider error",action:"read the error in the transcript, then retry the turn"}}var ADMISSION_STATES={queued:"accepted",running:"applied",completed:"done"};function projectAdmission(record,sessionId){let outcome=record.state==="completed"?record.outcome:void 0;return{effectId:record.clientMessageId,kind:"input",state:outcome?.kind==="dropped_by_replace"||outcome?.kind==="cleared"||outcome?.kind==="cleared_by_abort"?"failed":ADMISSION_STATES[record.state],disposition:record.disposition,...outcome===void 0?{}:{outcome},...sessionId===void 0?{}:{sessionId},durableSessionId:record.durableSessionId}}function projectEffect(record,sessionId){let{fingerprint:_fingerprint,...status}=record;return sessionId===void 0?status:{...status,sessionId}}function effectStatusRecord(subscription,sessionId,status,at){return{type:"effect_status",subscriptionId:subscription.id,seq:subscription.seq,sessionId,effectId:status.effectId,kind:status.kind,state:status.state,...status.disposition===void 0?{}:{disposition:status.disposition},...status.outcome===void 0?{}:{outcome:status.outcome},...status.by===void 0?{}:{by:status.by},at}}var sinks=new Set,pending=new WeakMap,dirty=new Map,scheduled=!1;function noteSessionEffect(session,status){let owner;for(let sink of sinks)if(sink.owns(session)){owner=sink;break}if(owner===void 0)return;let list=pending.get(session)??[];list.push(status),pending.set(session,list),dirty.set(session,owner),scheduled||(scheduled=!0,queueMicrotask(flushDirty))}function drainSessionEffects(session){let list=pending.get(session)??[];return list.length>0&&pending.set(session,[]),list}function flushDirty(){scheduled=!1;for(let[session,sink]of[...dirty]){dirty.delete(session);let drained=drainSessionEffects(session);drained.length>0&&sinks.has(sink)&&sink.flush(session,drained)}}function installSessionEffectSink(sink){return sinks.add(sink),()=>{sinks.delete(sink);for(let[session,owner]of[...dirty])owner===sink&&(dirty.delete(session),drainSessionEffects(session))}}var sessions=new WeakMap,ClientAdmissions=class _ClientAdmissions{constructor(session){this.records=new Map,this.pending=new Map,this.restoring=!0,this.hasIdentities=!1,this.session=session;let durableSessionId=session.sessionManager.getSessionId();this.durableSessionId=durableSessionId;for(let entry of session.sessionManager.getEntries()){if(entry.type!=="custom"||entry.customType!==CLIENT_ADMISSION_ENTRY)continue;let parsed=clientAdmissionRecordSchema.safeParse(entry.data);parsed.success&&parsed.data.durableSessionId===durableSessionId&&this.records.set(parsed.data.clientMessageId,parsed.data)}this.hasIdentities=[...this.records.values()].some(record=>record.hostMinted!==!0);for(let record of[...this.records.values()])record.state==="running"&&this.save({...record,state:"completed",outcome:EFFECT_OUTCOMES.inputInterruptedByReopen});this.unsubscribeAgent=session.agent.subscribe(event=>{if(this.durableSessionId!==session.sessionManager.getSessionId()||event.type!=="message_start"||event.message.role!=="user")return;let identity=readClientMessageIdentity(event.message),record=identity.clientMessageId?this.records.get(identity.clientMessageId):void 0;record?.state==="queued"&&this.save({...record,state:"running",prepared:void 0})}),this.unsubscribeSession=session.subscribe(event=>{if(!(this.restoring||this.durableSessionId!==session.sessionManager.getSessionId())){if(event.type==="agent_start")this.lastAbort=void 0;else if(event.type==="agent_end")event.willRetry||(this.turnOutcome=this.endOutcome(event.messages));else if(event.type==="agent_idle"){let outcome=this.turnOutcome??{kind:"completed"};this.turnOutcome=void 0,this.turnAbortedBy=void 0,this.lastAbort=void 0;for(let record of this.records.values())record.state==="running"&&this.save({...record,state:"completed",outcome})}else if(event.type==="queue_update"){let queuedIds=new Set(event.ordered.map(input=>input.clientMessageId)),consumingId=readClientMessageIdentity(session.agent.state.streamingMessage).clientMessageId;for(let record of this.records.values())record.state==="queued"&&!queuedIds.has(record.clientMessageId)&&this.save({...record,state:consumingId===record.clientMessageId?"running":"completed",prepared:void 0})}}}),this.ready=Promise.resolve().then(()=>this.restore())}static clearQueuedFor(session){sessions.get(session)?.clearQueued()}static sealQueuedOnReplace(runtime){return runtime.onBeforeSessionReplace(()=>sessions.get(runtime.session)?.dropQueuedByReplace())}static forSession(session){let admissions=sessions.get(session);return admissions&&admissions.durableSessionId!==session.sessionManager.getSessionId()&&(admissions.unsubscribeAgent(),admissions.unsubscribeSession(),admissions=void 0),admissions||(admissions=new _ClientAdmissions(session),sessions.set(session,admissions)),admissions}record(clientMessageId){return this.records.get(clientMessageId)}editQueuedText(clientMessageId,text){let record=this.records.get(clientMessageId);record?.state==="queued"&&this.save({...record,prepared:{...record.prepared,text}})}noteAbort(by,effectId){this.session.isStreaming&&(this.turnAbortedBy=by);let abort={connectionId:by.connectionId,...effectId===void 0?{}:{effectId}};return this.lastAbort=abort,abort}get abortedBy(){return this.lastAbort}forgetAbort(abort){this.lastAbort===abort&&(this.lastAbort=void 0)}clearQueued(){if(this.durableSessionId===this.session.sessionManager.getSessionId())for(let record of[...this.records.values()])record.state==="queued"&&this.save({...record,state:"completed",prepared:void 0,outcome:EFFECT_OUTCOMES.inputCleared})}dropQueuedByReplace(){if(this.durableSessionId===this.session.sessionManager.getSessionId())for(let record of[...this.records.values()])record.state==="queued"&&this.save({...record,state:"completed",prepared:void 0,outcome:EFFECT_OUTCOMES.inputDroppedByReplace})}endOutcome(messages){let abortSource=this.session.currentAbortSource;if(abortSource!==void 0)return{kind:"aborted",reason:"aborted",detail:"the turn was aborted before it finished",abortSource,...this.turnAbortedBy===void 0?{}:{abortedBy:this.turnAbortedBy}};let last=messages.at(-1);return last?.role==="assistant"&&last.stopReason==="error"?turnErrorOutcome(last.errorMessage):{kind:"completed"}}async restore(){try{let queued=[...this.records.values()].filter(record=>record.state==="queued").sort((left,right)=>left.prepared.enqueueOrder-right.prepared.enqueueOrder);for(let record of queued)await this.session.restoreQueuedInput(record.prepared)}finally{this.restoring=!1}}save(record){this.session.sessionManager.appendCustomEntry(CLIENT_ADMISSION_ENTRY,record),this.records.set(record.clientMessageId,record),noteSessionEffect(this.session,projectAdmission(record))}async admit(command,invoke){await this.ready,this.hasIdentities||=command.clientMessageId!==void 0||command.clientTurnId!==void 0;let hostMinted=command.clientMessageId===void 0&&command.type!=="prompt";if(command.clientMessageId===void 0&&!hostMinted){await invoke({identity:{},queued:()=>{},accepted:()=>{}});return}let clientMessageId=command.clientMessageId??`${HOST_MINTED_ID_PREFIX}${this.session.sessionManager.getSessionId()}:${randomUUID2()}`,fingerprint=clientInputFingerprint(command),pending2=this.pending.get(clientMessageId),existing=this.records.get(clientMessageId);if((pending2??existing)?.fingerprint!==void 0&&(pending2??existing)?.fingerprint!==fingerprint)throw new ClientMessageIdConflict(clientMessageId);if(pending2)return pending2.result;if(existing)return admissionSnapshot(existing);let result=Promise.withResolvers();this.pending.set(clientMessageId,{fingerprint,result:result.promise}),result.promise.catch(()=>{});try{await this.session.sessionManager.persistHeaderNow();let base={...clientMessageIdentity(command),clientMessageId,durableSessionId:this.session.sessionManager.getSessionId(),fingerprint,...hostMinted?{hostMinted:!0}:{}},disposition=await invoke({identity:{...clientMessageIdentity(command),clientMessageId},queued:prepared=>this.save({...base,state:"queued",disposition:"queued",prepared}),accepted:accepted=>{let record2=this.records.get(clientMessageId)??{...base,state:accepted==="handled"?"completed":"running",disposition:accepted};return this.records.has(clientMessageId)||this.save(record2),admissionSnapshot(record2)}}),record=this.records.get(clientMessageId);if(!record)throw new Error(`RPC input was ${disposition} without a durable admission`);let snapshot=admissionSnapshot(record);return result.resolve(snapshot),hostMinted?void 0:snapshot}catch(error){throw result.reject(error),error}finally{this.pending.delete(clientMessageId)}}};var EFFECT_CRASH_ENV="SENPI_TEST_RPC_EFFECT_CRASH";function effectCrashPoint(phase,kind,state){process.env[EFFECT_CRASH_ENV]===`${phase}:${kind}:${state}`&&process.kill(process.pid,"SIGKILL")}var ledgers=new WeakMap,latestCache=new WeakMap;function latestSessionEffect(session){let entries=session.sessionManager.getEntries(),cached=latestCache.get(session);if(cached?.entries===entries.length)return cached.latest;let latest;for(let index=entries.length-1;index>=0;index--){let entry=entries[index];if(entry?.type==="custom"){if(entry.customType===RPC_EFFECT_ENTRY){let parsed=rpcEffectRecordSchema.safeParse(entry.data);if(parsed.success){latest=projectEffect(parsed.data);break}}else if(entry.customType===CLIENT_ADMISSION_ENTRY){let parsed=clientAdmissionRecordSchema.safeParse(entry.data);if(parsed.success){latest=projectAdmission(parsed.data);break}}}}return latestCache.set(session,{entries:entries.length,latest}),latest}var EffectLedger=class _EffectLedger{constructor(session){this.records=new Map,this.session=session,this.admissions=ClientAdmissions.forSession(session),this.durableSessionId=session.sessionManager.getSessionId();let switchedBy=new Set,thinkingBy=new Set;for(let entry of session.sessionManager.getEntries()){if(entry.type==="model_change"&&entry.effectId!==void 0&&switchedBy.add(entry.effectId),entry.type==="thinking_level_change"&&entry.effectId!==void 0&&thinkingBy.add(entry.effectId),entry.type!=="custom"||entry.customType!==RPC_EFFECT_ENTRY)continue;let parsed=rpcEffectRecordSchema.safeParse(entry.data);parsed.success&&parsed.data.durableSessionId===this.durableSessionId&&this.records.set(parsed.data.effectId,parsed.data)}this.sealOnReopen(switchedBy,thinkingBy),this.unsubscribe=session.subscribe(event=>{if(this.durableSessionId===session.sessionManager.getSessionId()){if(event.type==="model_changed"&&event.origin.effectId!==void 0){let record=this.records.get(event.origin.effectId);record?.kind==="set_model"&&!isTerminalEffectState(record.state)&&this.transition(record.effectId,"done",{disposition:"applied"})}else if(event.type==="model_change_cancelled"&&event.origin.effectId!==void 0){let record=this.records.get(event.origin.effectId);record?.kind==="set_model"&&!isTerminalEffectState(record.state)&&this.transition(record.effectId,"failed",{outcome:event.reason==="context-budget"?contextBudgetOutcome(event.detail??"the target model cannot hold the repaired context"):event.reason==="error"?modelSwitchErrorOutcome(event.detail??"the model switch failed"):EFFECT_OUTCOMES.setModelSuperseded})}else if(event.type==="agent_idle")for(let record of[...this.records.values()])record.kind==="abort"&&record.state==="applied"&&this.transition(record.effectId,"done")}})}static sealOnReplace(runtime){return runtime.onBeforeSessionReplace(()=>{let ledger=ledgers.get(runtime.session);if(!(!ledger||ledger.durableSessionId!==runtime.session.sessionManager.getSessionId()))for(let record of[...ledger.records.values()])record.kind==="set_model"&&!isTerminalEffectState(record.state)&&ledger.transition(record.effectId,"failed",{outcome:EFFECT_OUTCOMES.setModelDroppedByReplace})})}static forSession(session){let ledger=ledgers.get(session);return ledger&&ledger.durableSessionId!==session.sessionManager.getSessionId()&&(ledger.unsubscribe(),ledger=void 0),ledger||(ledger=new _EffectLedger(session),ledgers.set(session,ledger)),ledger}sealOnReopen(switchedBy,thinkingBy){for(let record of[...this.records.values()])if(!isTerminalEffectState(record.state))switch(record.kind){case"abort":this.transition(record.effectId,"done",{disposition:"no_active_turn",outcome:EFFECT_OUTCOMES.abortInterruptedByReopen});break;case"set_model":switchedBy.has(record.effectId)?this.transition(record.effectId,"done",{disposition:"applied"}):this.transition(record.effectId,"failed",{outcome:EFFECT_OUTCOMES.setModelInterruptedByReopen});break;case"unload":this.transition(record.effectId,"done");break;case"set_thinking_level":thinkingBy.has(record.effectId)?this.transition(record.effectId,"done",{disposition:"applied"}):this.transition(record.effectId,"failed",{outcome:EFFECT_OUTCOMES.setThinkingInterruptedByReopen});break;case"dequeue":this.transition(record.effectId,"failed",{outcome:EFFECT_OUTCOMES.dequeueInterruptedByReopen});break;case"edit_queued":this.transition(record.effectId,"failed",{outcome:EFFECT_OUTCOMES.editQueuedInterruptedByReopen});break;default:{let unsealed=record.kind;throw new Error(`no reopen seal for effect kind ${unsealed}`)}}}async begin(command,effectId,payload,by){await this.session.sessionManager.persistHeaderNow();let fingerprint=effectFingerprint(command,payload),existing=this.records.get(effectId);if(existing){if(existing.fingerprint!==fingerprint)throw new EffectIdConflict(effectId);return{replay:projectEffect(existing)}}let now=new Date().toISOString(),record={effectId,kind:command,state:"accepted",by,acceptedAt:now,updatedAt:now,durableSessionId:this.durableSessionId,fingerprint};return this.append(record),{record}}transition(effectId,state,patch={}){let current=this.records.get(effectId);if(!current)throw new Error(`No effect ${effectId} in session ${this.durableSessionId}`);return this.append({...current,...patch,state,updatedAt:new Date().toISOString()}),this.statusOf(effectId)}status(effectId,sessionId){let record=this.records.get(effectId);if(record)return projectEffect(record,sessionId);let admission=this.admissions.record(effectId);return admission===void 0?void 0:projectAdmission(admission,sessionId)}statusOf(effectId){let status=this.status(effectId);if(!status)throw new Error(`No effect ${effectId} in session ${this.durableSessionId}`);return status}append(record){effectCrashPoint("before",record.kind,record.state),this.session.sessionManager.appendCustomEntry(RPC_EFFECT_ENTRY,record),this.records.set(record.effectId,record),noteSessionEffect(this.session,projectEffect(record)),effectCrashPoint("after",record.kind,record.state)}};import{randomUUID as randomUUID3}from"node:crypto";import{mkdir as mkdir2,rm as rm2,writeFile as writeFile2}from"node:fs/promises";import{join}from"node:path";import{setTimeout as delay}from"node:timers/promises";import{Worker}from"node:worker_threads";var RECURSIVE_WATCH_WORKER_SOURCE=`
|
|
328
|
-
const { watch } = require("node:fs");
|
|
329
|
-
const { parentPort } = require("node:worker_threads");
|
|
330
|
-
|
|
331
|
-
if (!parentPort) throw new Error("Recursive watch worker requires a parent port");
|
|
332
|
-
|
|
333
|
-
const watchers = new Map();
|
|
334
|
-
const cancelled = new Set();
|
|
335
|
-
const isCancelled = (message) =>
|
|
336
|
-
cancelled.has(message.id) || (message.active !== undefined && Atomics.load(message.active, 0) === 0);
|
|
337
|
-
parentPort.on("message", (message) => {
|
|
338
|
-
if (message.kind === "unwatch") {
|
|
339
|
-
cancelled.add(message.id);
|
|
340
|
-
watchers.get(message.id)?.close();
|
|
341
|
-
watchers.delete(message.id);
|
|
342
|
-
return;
|
|
343
|
-
}
|
|
344
|
-
if (message.kind !== "watch") return;
|
|
345
|
-
if (isCancelled(message)) return;
|
|
346
|
-
try {
|
|
347
|
-
const watcher = watch(
|
|
348
|
-
message.path,
|
|
349
|
-
{ recursive: message.recursive !== false, encoding: "utf8" },
|
|
350
|
-
(eventType, filename) => {
|
|
351
|
-
if (isCancelled(message)) return;
|
|
352
|
-
parentPort.postMessage({
|
|
353
|
-
kind: "event",
|
|
354
|
-
id: message.id,
|
|
355
|
-
eventType,
|
|
356
|
-
filename: typeof filename === "string" ? filename : null,
|
|
357
|
-
});
|
|
358
|
-
},
|
|
359
|
-
);
|
|
360
|
-
if (isCancelled(message)) {
|
|
361
|
-
watcher.close();
|
|
362
|
-
return;
|
|
363
|
-
}
|
|
364
|
-
watcher.on("error", (error) => {
|
|
365
|
-
parentPort.postMessage({
|
|
366
|
-
kind: "error",
|
|
367
|
-
id: message.id,
|
|
368
|
-
message: error instanceof Error ? error.message : String(error),
|
|
369
|
-
});
|
|
370
|
-
});
|
|
371
|
-
watchers.set(message.id, watcher);
|
|
372
|
-
} catch (error) {
|
|
373
|
-
parentPort.postMessage({
|
|
374
|
-
kind: "error",
|
|
375
|
-
id: message.id,
|
|
376
|
-
message: error instanceof Error ? error.message : String(error),
|
|
377
|
-
});
|
|
378
|
-
}
|
|
379
|
-
});
|
|
380
|
-
`;function createRecursiveWatchWorker(){return new Worker(RECURSIVE_WATCH_WORKER_SOURCE,{eval:!0})}var recursiveWorkerStates=new Map;function isRecursiveWatchMessage(message){return typeof message!="object"||message===null||!("kind"in message)||!("id"in message)||typeof message.id!="number"?!1:message.kind==="error"?"message"in message&&typeof message.message=="string":message.kind==="event"&&"eventType"in message&&typeof message.eventType=="string"&&"filename"in message&&(message.filename===null||typeof message.filename=="string")}var WORKER_OFFLOADED_WATCH_PLATFORMS=new Set(["linux","darwin"]);function createFsWatchEventSource(onError=()=>{},options={}){let createWorker=options.createRecursiveWorker??createRecursiveWatchWorker,state=recursiveWorkerStates.get(createWorker);state||(state={subscriptions:new Map,nextSubscriptionId:1},recursiveWorkerStates.set(createWorker,state));let recursiveSubscriptions=state.subscriptions,ensureRecursiveWorker=()=>{if(state.worker)return state.worker;let worker=createWorker();return worker.on("message",message=>{if(!isRecursiveWatchMessage(message))return;let subscription=recursiveSubscriptions.get(message.id);if(subscription){if(message.kind==="event"){subscription.listener(message.eventType,message.filename);return}subscription.onError(new Error(message.message),subscription.path)}}),worker.on("error",error=>{for(let subscription of recursiveSubscriptions.values())subscription.onError(error,subscription.path);if(state.worker!==worker||(state.worker=void 0,recursiveSubscriptions.size===0))return;let replacement=ensureRecursiveWorker();for(let[id,subscription]of recursiveSubscriptions)replacement.postMessage({kind:"watch",id,path:subscription.path,recursive:subscription.recursive,active:subscription.active})}),state.worker=worker,worker};return(path4,listener,watchOptions)=>{if(WORKER_OFFLOADED_WATCH_PLATFORMS.has(options.platform??process.platform)){let id=state.nextSubscriptionId++,recursive=watchOptions?.recursive??!1,active=new Int32Array(new SharedArrayBuffer(4));Atomics.store(active,0,1),ensureRecursiveWorker().postMessage({kind:"watch",id,path:path4,recursive,active}),recursiveSubscriptions.set(id,{path:path4,listener,recursive,active,onError});let closing;return()=>{if(!recursiveSubscriptions.delete(id))return closing;Atomics.store(active,0,0);let worker=state.worker;if(!worker)return closing;if(worker.postMessage({kind:"unwatch",id}),!(recursiveSubscriptions.size>0))return state.worker=void 0,closing=worker.terminate().then(()=>{},error=>{throw onError(error,path4),error}),closing}}let watcher=watchWithErrorHandler(path4,listener,()=>onError(new Error(`fs.watch failed for ${path4}`),path4),{recursive:watchOptions?.recursive??!1});return()=>watcher?.close()}}var REASON_PRIORITY=["submission","draft_cleared","idle","continue","command","emitted","inbox"],EMPTY_RESULT={admitted:[]},WakeScheduler=class{constructor(pass,onError){this.running=!1,this.disposed=!1,this.pass=pass,this.onError=onError}request(reason,deliveryIds){if(this.disposed)return Promise.resolve(EMPTY_RESULT);this.next??={reasons:new Set,deliveryIds:new Set,waiters:[]};let batch=this.next;batch.reasons.add(reason);for(let id of deliveryIds??[])batch.deliveryIds.add(id);let settled=new Promise(resolve2=>batch.waiters.push(resolve2));return this.running||this.run(),settled}dispose(){this.disposed=!0;let batch=this.next;this.next=void 0;for(let waiter of batch?.waiters??[])waiter(EMPTY_RESULT)}async run(){this.running=!0;try{for(let batch=this.next;batch!==void 0&&!this.disposed;batch=this.next){this.next=void 0;let result=EMPTY_RESULT;try{result=await this.pass(wakeEvent(batch))}catch(error){this.onError(error)}for(let waiter of batch.waiters)waiter(result)}}finally{this.running=!1}}};function wakeEvent(batch){let reasons=REASON_PRIORITY.filter(reason2=>batch.reasons.has(reason2)),reason=reasons[0]??"inbox",ids=[...batch.deliveryIds];return{type:"session_control_wake",reason,reasons,...ids.length>0?{delivery_ids:ids}:{}}}var INBOX_ENGINE_ENTRY_PREFIX=".senpi-",INBOX_ARM_ATTEMPTS=25,INBOX_ARM_ATTEMPT_MS=200;async function watchInbox(inboxDir,onChange,onError){await mkdir2(inboxDir,{recursive:!0,mode:448});let sentinel=`${INBOX_ENGINE_ENTRY_PREFIX}armed-${randomUUID3()}`,confirmation=Promise.withResolvers(),stopped=!1,unsubscribe=createFsWatchEventSource(error=>onError(error))(inboxDir,(_eventType,filename)=>{filename===sentinel?confirmation.resolve(!0):filename?.startsWith(INBOX_ENGINE_ENTRY_PREFIX)||onChange()},{recursive:!1}),arming=confirmArm(join(inboxDir,sentinel),confirmation.promise,()=>stopped).then(confirmed=>{!confirmed&&!stopped&&onError(new Error(`inbox watch on ${inboxDir} was not confirmed`))},error=>{stopped||onError(error)});return{armed:Promise.race([confirmation.promise.then(confirmed=>confirmed?void 0:arming),arming]),stop:()=>{stopped=!0,confirmation.resolve(!1),Promise.resolve(unsubscribe()).catch(onError)}}}async function confirmArm(sentinelPath,confirmed,stopped){let seen=!1;try{for(let attempt=0;attempt<INBOX_ARM_ATTEMPTS&&!seen&&!stopped();attempt++)await writeFile2(sentinelPath,String(attempt),{mode:384}),seen=await Promise.race([confirmed,delay(INBOX_ARM_ATTEMPT_MS,!1)])}finally{await rm2(sentinelPath,{force:!0})}return seen}function onProcessContinue(listener){let handler=()=>{setImmediate(listener)};return process.on("SIGCONT",handler),()=>{process.removeListener("SIGCONT",handler)}}import{randomUUID as randomUUID4}from"node:crypto";var POST_COMPACT_RESTORATION_CUSTOM_TYPE="compaction.post-compact-restoration",POST_COMPACT_RESTORATION_SCHEMA="senpi.compaction.post-compact-restoration.v1",DEFAULT_RESTORATION_MAX_ITEMS=10,DEFAULT_RESTORATION_MAX_TOKENS_PER_ITEM=5e3,DEFAULT_RESTORATION_MAX_TOTAL_TOKENS=5e4,DEFAULT_RESTORATION_CONTEXT_RATIO=.15;function createRestorationTrackerState(){return{items:new Map,restoredLabels:new Set,pendingPayload:null}}function trackToolCall(state,event){switch(event.toolName){case"read":trackPathInput(state,event.input,"read");return;case"write":trackPathInput(state,event.input,"write");return;case"edit":trackPathInput(state,event.input,"edit");return;case"apply_patch":trackApplyPatchInput(state,event.input);return;case"skill":case"load_skill":trackSkillInput(state,event.input);return}}function preparePendingPayload(state,options){if(!options.accepted)return;let budgetTokens=computeRestorationBudget(options);if(budgetTokens<=0){state.pendingPayload=null;return}filterAgainstKeptMessages(state,options.keptMessages??[]);let selectedItems=selectRestorationItems(state,options.settings,budgetTokens);if(selectedItems.length===0){state.pendingPayload=null;return}let content=buildRestorationContent(options,selectedItems);state.pendingPayload={customType:POST_COMPACT_RESTORATION_CUSTOM_TYPE,content,display:!1,details:{schema:POST_COMPACT_RESTORATION_SCHEMA,budgetTokens,compactionEntryId:options.compactionEntryId,reason:options.reason,items:selectedItems},budgetTokens}}function consumePendingPayload(state){let payload=state.pendingPayload;if(state.pendingPayload=null,!!payload){for(let item of payload.details.items)state.restoredLabels.add(item.label);return{customType:payload.customType,content:payload.content,display:payload.display,details:payload.details}}}function computeRestorationBudget(options){let settings=resolveSettings(options.settings),contextWindow=Math.max(0,options.contextWindow),configuredBudget=settings.restorationMaxTotalTokens,contextRatioBudget=Math.floor(contextWindow*settings.restorationContextRatio),usageTokens=Math.max(0,options.usageTokens??0),remainingBudget=Math.max(0,contextWindow-usageTokens-options.reserveTokens);return Math.floor(Math.min(configuredBudget,contextRatioBudget,remainingBudget))}function trackPathInput(state,input,operation){typeof input.path!="string"||input.path.length===0||trackFile(state,input.path,operation)}function trackApplyPatchInput(state,input){if(typeof input.input=="string")for(let path4 of extractPatchedPaths(input.input))path4.length>0&&trackFile(state,path4,"edit")}function trackSkillInput(state,input){let skillName=typeof input.name=="string"?input.name:input.skillName;typeof skillName=="string"&&skillName.length>0&&setItem(state,{content:skillName,label:skillName,priority:80,tokens:estimateTextTokens(skillName),type:"skill"})}function trackFile(state,path4,operation){let label=path4,existing=state.items.get(label),operations=new Set(parseFileOperations(existing?.content));operations.add(operation);let content=`${path4} (${sortOperations(operations).join(", ")})`;setItem(state,{content,label,priority:operation==="read"&&operations.size===1?50:100,tokens:estimateTextTokens(content),type:"file"})}function setItem(state,item){state.items.set(item.label,item)}function selectRestorationItems(state,settingsInput,budgetTokens){let settings=resolveSettings(settingsInput),candidates=Array.from(state.items.values()).filter(item=>!state.restoredLabels.has(item.label)).map(item=>truncateRestorationItem(item,settings.restorationMaxTokensPerItem)).sort((left,right)=>left.priority!==right.priority?right.priority-left.priority:left.tokens!==right.tokens?left.tokens-right.tokens:left.label.localeCompare(right.label)),selected=[],totalTokens=0;for(let item of candidates){if(selected.length>=settings.restorationMaxItems)break;totalTokens+item.tokens>budgetTokens||(selected.push(item),totalTokens+=item.tokens)}return selected}function buildRestorationContent(options,items){let files=items.filter(item=>item.type==="file"),skills=items.filter(item=>item.type==="skill"),lines=["[Restored context after compaction \u2014 files and skills from before compaction]",`reason: ${options.reason}`,`compactionEntryId: ${options.compactionEntryId}`,""];if(files.length>0){lines.push("<restored-files>");for(let file of files)lines.push(`<file label="${escapeXmlAttribute(file.label)}">${file.content}</file>`);lines.push("</restored-files>"),lines.push("")}if(skills.length>0){lines.push("<restored-skills>");for(let skill of skills)lines.push(`<skill label="${escapeXmlAttribute(skill.label)}">${skill.content}</skill>`);lines.push("</restored-skills>"),lines.push("")}return lines.join(`
|
|
381
|
-
`)}function truncateRestorationItem(item,maxTokens){if(item.tokens<=maxTokens)return item;let truncationNotice="[... truncated]",noticeTokens=estimateTextTokens(truncationNotice),targetTokens=Math.max(0,maxTokens-noticeTokens-1),truncatedBody=truncateToTokenLimit(item.content,targetTokens),content=truncatedBody.length>0?`${truncatedBody}
|
|
382
|
-
${truncationNotice}`:truncationNotice;return{...item,content,tokens:estimateTextTokens(content)}}function filterAgainstKeptMessages(state,keptMessages){if(keptMessages.length===0)return;let keptText=keptMessages.map(extractMessageText).join(`
|
|
383
|
-
`);for(let label of state.items.keys())keptText.includes(label)&&state.items.delete(label)}function extractMessageText(message){if("content"in message){if(typeof message.content=="string")return message.content;if(Array.isArray(message.content))return message.content.filter(content=>content.type==="text").map(content=>content.text).join(`
|
|
384
|
-
`)}return"summary"in message?message.summary:"command"in message?`${message.command}
|
|
385
|
-
${message.output}`:""}function truncateToTokenLimit(text,tokenLimit){if(tokenLimit<=0||text.length===0)return"";if(estimateTextTokens(text)<=tokenLimit)return text;let low=0,high=text.length;for(;low<high;){let mid=Math.ceil((low+high)/2),candidate=text.slice(0,mid);if(estimateTextTokens(candidate)<=tokenLimit){low=mid;continue}high=mid-1}return text.slice(0,low).trimEnd()}function resolveSettings(settings){return{restorationMaxItems:normalizeNonNegativeInteger(settings?.restorationMaxItems,DEFAULT_RESTORATION_MAX_ITEMS),restorationMaxTokensPerItem:normalizeNonNegativeInteger(settings?.restorationMaxTokensPerItem,DEFAULT_RESTORATION_MAX_TOKENS_PER_ITEM),restorationMaxTotalTokens:normalizeNonNegativeInteger(settings?.restorationMaxTotalTokens,DEFAULT_RESTORATION_MAX_TOTAL_TOKENS),restorationContextRatio:normalizeNonNegativeNumber(settings?.restorationContextRatio,DEFAULT_RESTORATION_CONTEXT_RATIO)}}function normalizeNonNegativeInteger(value,fallback){return typeof value=="number"&&Number.isFinite(value)&&value>=0?Math.floor(value):fallback}function normalizeNonNegativeNumber(value,fallback){return typeof value=="number"&&Number.isFinite(value)&&value>=0?value:fallback}function parseFileOperations(content){if(!content)return[];let open2=content.lastIndexOf("("),close=content.lastIndexOf(")");return open2===-1||close===-1||close<=open2?[]:content.slice(open2+1,close).split(",").map(operation=>operation.trim()).filter(operation=>operation==="read"||operation==="write"||operation==="edit")}function sortOperations(operations){return["read","write","edit"].filter(operation=>operations.has(operation))}function estimateTextTokens(text){return estimateTokens({role:"custom",customType:"restoration",content:text,display:!1,timestamp:0})}function escapeXmlAttribute(value){return value.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<").replace(/>/g,">")}var CHECKPOINT_CUSTOM_TYPE="compaction.agent-checkpoint",CHECKPOINT_SCHEMA="senpi.compaction.agent-checkpoint.v1",RESTORATION_DIRECTIVE="[restore checkpointed session agent configuration after compaction]";function isExtensionAPI(value){return"getActiveTools"in value&&"getThinkingLevel"in value}function deriveAgentName(ctx){for(let index=ctx.sessionManager.getEntries().length-1;index>=0;index--){let entry=ctx.sessionManager.getEntries()[index];if(entry.type!=="custom")continue;let data=entry.data;if(isRecord3(data)&&typeof data.agentName=="string")return data.agentName;if(isRecord3(data)&&typeof data.agent=="string")return data.agent}return null}function isRecord3(value){return typeof value=="object"&&value!==null}function parseCheckpoint(value){if(!isRecord3(value))return null;if(value.schema===CHECKPOINT_SCHEMA&&isRecord3(value.data))return parseCheckpoint(value.data);let activeTools=Array.isArray(value.activeTools)?value.activeTools.filter(tool=>typeof tool=="string"):[],model=isRecord3(value.model)?{provider:typeof value.model.provider=="string"?value.model.provider:"",modelId:typeof value.model.modelId=="string"?value.model.modelId:""}:void 0;return{activeTools,thinkingLevel:typeof value.thinkingLevel=="string"?value.thinkingLevel:null,modelId:typeof value.modelId=="string"?value.modelId:model?.modelId,agentName:typeof value.agentName=="string"?value.agentName:null,timestamp:typeof value.timestamp=="number"?value.timestamp:void 0,model}}function serializeCheckpoint(checkpoint){return{...checkpoint,schema:CHECKPOINT_SCHEMA,data:checkpoint}}function captureAgentCheckpoint(piOrInput,ctx){if(isExtensionAPI(piOrInput)&&ctx)return{activeTools:piOrInput.getActiveTools(),thinkingLevel:piOrInput.getThinkingLevel(),modelId:ctx.model?.id,agentName:deriveAgentName(ctx),timestamp:Date.now(),model:ctx.model?{provider:ctx.model.provider,modelId:ctx.model.id}:void 0};let input=piOrInput;return{activeTools:input.activeTools??[],thinkingLevel:null,modelId:input.model?.modelId,agentName:input.agentName??null,timestamp:Date.now(),model:input.model}}function persistCheckpoint(piOrCheckpoint,checkpointOrPi){if("appendEntry"in piOrCheckpoint){let checkpoint=checkpointOrPi;piOrCheckpoint.appendEntry(CHECKPOINT_CUSTOM_TYPE,serializeCheckpoint(checkpoint));return}checkpointOrPi.appendEntry(CHECKPOINT_CUSTOM_TYPE,serializeCheckpoint(piOrCheckpoint))}function getLatestCheckpoint(source){if("sessionManager"in source){let entries=source.sessionManager.getEntries();for(let index=entries.length-1;index>=0;index--){let entry=entries[index];if(entry.type!=="custom"||entry.customType!==CHECKPOINT_CUSTOM_TYPE)continue;let checkpoint=parseCheckpoint(entry.data);if(checkpoint)return checkpoint}return null}let checkpoints=source.persistedCheckpoints??[];return checkpoints.length>0?[...checkpoints].sort((left,right)=>(right.timestamp??0)-(left.timestamp??0))[0]:source.appendCalls?.filter(call=>call.customType===CHECKPOINT_CUSTOM_TYPE).map(call=>parseCheckpoint(call.data)).filter(checkpoint=>checkpoint!==null)?.sort((left,right)=>(right.timestamp??0)-(left.timestamp??0))[0]}function buildRestorationHints(checkpoint){let modelId=checkpoint.modelId??checkpoint.model?.modelId;return[RESTORATION_DIRECTIVE,"","Restore checkpointed session configuration:",`- Agent: ${checkpoint.agentName??"unknown"}`,`- Tools: ${checkpoint.activeTools&&checkpoint.activeTools.length>0?checkpoint.activeTools.join(", "):"none"}`,`- Model: ${modelId??"unknown"}`].join(`
|
|
386
|
-
`)}function createRestorationDirectiveState(){return{deliveredCheckpointTimestamp:null}}function directiveMessage(checkpoint){return{customType:POST_COMPACT_RESTORATION_CUSTOM_TYPE,content:buildRestorationHints(checkpoint),display:!1}}function withDirective(message,checkpoint){let hints=buildRestorationHints(checkpoint),existing=typeof message.content=="string"?message.content:void 0;return existing===void 0?message:{...message,content:`${hints}
|
|
387
|
-
|
|
388
|
-
${existing}`}}function attachRestorationDirective(state,checkpoint,message){if(!checkpoint)return message;let timestamp=checkpoint.timestamp??null;return timestamp!==null&&state.deliveredCheckpointTimestamp===timestamp?message:(state.deliveredCheckpointTimestamp=timestamp,message?withDirective(message,checkpoint):directiveMessage(checkpoint))}var OPENAI_REMOTE_COMPACTION_FLOOR_MS=15e3,CHATGPT_SUBSCRIPTION_REMOTE_COMPACTION_FLOOR_MS=9e4;function openAiRemoteCompactionTimeoutMs(model,compactionTokens){let floorMs=model.api==="openai-codex-responses"?CHATGPT_SUBSCRIPTION_REMOTE_COMPACTION_FLOOR_MS:OPENAI_REMOTE_COMPACTION_FLOOR_MS,scaledMs=Number.isFinite(compactionTokens)&&compactionTokens>0?compactionTokens*SUMMARIZATION_MAX_DURATION_PER_TOKEN_MS:0;return Math.min(SUMMARIZATION_TOTAL_BUDGET_MS,Math.max(floorMs,scaledMs))}function createRemoteCompactionDeadline(attemptBudgetMs,now=Date.now){let deadlineMs=now()+Math.max(SUMMARIZATION_TOTAL_BUDGET_MS,attemptBudgetMs),remainingMs=()=>Math.max(0,deadlineMs-now());return{remainingMs,nextAttemptMs:()=>Math.min(attemptBudgetMs,remainingMs())}}var NEXT_STEP_TEXT={websocket:"retrying over the WebSocket route","compact-endpoint":"retrying through the compact endpoint","local-summary":"falling back to a local summary"};function formatRemoteCompactionTimeoutNotice(timeout){let seconds=Math.round(timeout.waitedMs/1e3),tokens=Math.round(timeout.tokens).toLocaleString("en-US");return`Remote compaction timed out after ${seconds}s at ${tokens} tokens; ${NEXT_STEP_TEXT[timeout.next]}.`}async function runWithRemoteTimeout(options){if(options.signal.aborted)throw new Error("Request was aborted");let startedMs=Date.now(),controller=new AbortController,timedOut=!1,abortFromSource=()=>controller.abort();options.signal.addEventListener("abort",abortFromSource,{once:!0});let timeout,timeoutPromise=new Promise(resolve2=>{timeout=setTimeout(()=>{timedOut=!0,controller.abort(),resolve2("timeout")},options.timeoutMs),timeout.unref?.()}),operation=options.run(controller.signal);try{let result=await Promise.race([operation,timeoutPromise]);if(result==="timeout"){options.onTimeout(Date.now()-startedMs),operation.catch(()=>{});return}return result}catch(error){if(timedOut&&!options.signal.aborted){options.onTimeout(Date.now()-startedMs);return}throw error}finally{timeout&&clearTimeout(timeout),options.signal.removeEventListener("abort",abortFromSource)}}var IMAGE_PROMPT_TOKEN_ESTIMATE=1200,MAX_OUTPUT_RESERVE_RATIO=.5;function approxTokens(text){return Math.ceil(text.length/4)}function estimatePendingPromptTokens(event){return approxTokens(event.prompt??"")+(event.images?.length??0)*IMAGE_PROMPT_TOKEN_ESTIMATE}function getPromptContextWindow(contextWindow,maxTokens){if(typeof maxTokens!="number"||!Number.isFinite(maxTokens)||maxTokens<=0||contextWindow<=0)return contextWindow;let outputReserve=Math.min(maxTokens,Math.floor(contextWindow*MAX_OUTPUT_RESERVE_RATIO));return contextWindow-outputReserve}function withAdditionalTokens(usage,additionalTokens){if(usage.tokens===null||additionalTokens<=0)return usage;let tokens=usage.tokens+additionalTokens;return{...usage,tokens,percent:usage.contextWindow>0?tokens/usage.contextWindow*100:usage.percent}}function isMonitorableMessageEvent(event){return"content"in event.message&&Array.isArray(event.message.content)}function isAbortedAssistantMessage(event){return event.message.role==="assistant"&&"stopReason"in event.message&&event.message.stopReason==="aborted"}function requiresDeterministicCompactionFallback(event,usage){if(event.reason==="manual"||event.reason==="threshold"||event.reason==="overflow")return!0;if(event.reason!=="pre_prompt"||usage===void 0||usage.tokens===null||usage.contextWindow<=0)return!1;let reserveTokens=resolveEffectiveReserveTokens(usage.contextWindow,event.preparation.settings);return usage.tokens>=usage.contextWindow-reserveTokens}function recentCheckpoint(ctx){let checkpoint=getLatestCheckpoint(ctx);return checkpoint?.timestamp&&Date.now()-checkpoint.timestamp<=6e4?checkpoint:null}function shouldEndFeedback(result){return!result.applied&&result.reason!=="rejected"}function endCompactionFeedback(ctx,signal,result,remoteFallbackReason){if(shouldEndFeedback(result)){let localReason=result.applied?void 0:result.reason,parts=[remoteFallbackReason,localReason].filter(part=>!!part),errorMessage=signal?.aborted||parts.length===0?void 0:`Compaction did not apply: ${parts.join("; local fallback ")}`;ctx.endCompaction?.({reason:"extension",signal,aborted:signal?.aborted,errorMessage})}}function reportRemoteCompactionTimeout(ctx,reason,signal,event){if(!event.timeout)return;let notice=formatRemoteCompactionTimeoutNotice(event.timeout);ctx.ui.notify(notice,"warning"),ctx.updateCompaction?.({reason,signal,text:notice})}function linkAbortSignal(source,target){if(!source)return()=>{};if(source.aborted)return target.abort(),()=>{};let abort=()=>target.abort();return source.addEventListener("abort",abort,{once:!0}),()=>source.removeEventListener("abort",abort)}function createBlockingRemoteCompactionEvent(ctx,snapshot,customInstructions,signal){return{type:"session_before_compact",reason:"extension",willRetry:!1,requestId:randomUUID4(),preparation:snapshot.preparation,branchEntries:ctx.sessionManager.getBranch(),customInstructions,signal}}function resolveSpeculationLeadTokens(thresholdTokens,configuredLeadTokens){let requestedLeadTokens=configuredLeadTokens??Math.floor(thresholdTokens*.125);return Math.min(32768,Math.max(8192,requestedLeadTokens))}var WARM_GENERATION_FLOOR_RATIO=.5;function resolveGraceBandCapTokens(thresholdTokens,leadTokens,contextWindow,reserveTokens){return Math.min(thresholdTokens+leadTokens,contextWindow-reserveTokens)}function isWithinGraceBand(contextTokens,thresholdTokens,leadTokens,contextWindow,reserveTokens){return contextTokens<resolveGraceBandCapTokens(thresholdTokens,leadTokens,contextWindow,reserveTokens)}function isWarmResultStale(armedAtTokens,currentTokens,keepRecentTokens){return currentTokens-armedAtTokens>Math.max(keepRecentTokens,8192)}var IDLE_COMPACTION_INSTRUCTIONS="Proactively compact at idle before the next agent turn, while the user is not waiting.",PERSISTENT_MODES=new Set(["tui","rpc"]);function isIdleEligible(decision){return decision.willRetry||decision.aborted||!PERSISTENT_MODES.has(decision.mode)||!decision.settings.enabled||decision.settings.idleCompactionEnabled===!1||decision.breakerTripped||!decision.usage?!1:decision.usage.tokens!==null}function shouldRunIdleCompaction(decision){return!isIdleEligible(decision)||!decision.usage?!1:shouldTriggerCompaction(decision.usage,decision.contextWindow,decision.settings,decision.lastYield)}function shouldWarmAtIdle(decision){return!isIdleEligible(decision)||!decision.usage||decision.usage.tokens===null?!1:decision.usage.tokens>=decision.contextWindow*WARM_GENERATION_FLOOR_RATIO}var MAX_ADMISSION_CAP_TOKENS=5e4,MIN_ADMISSION_CAP_TOKENS=8192,ADMISSION_CAP_FRACTION=.05,HEAD_BUDGET_FRACTION=.6,TAIL_BUDGET_FRACTION=.2,TOOL_ADMISSION_MARKER_PREFIX="[tool result projected:";function resolveToolResultAdmissionCapTokens(contextWindow){return Math.min(MAX_ADMISSION_CAP_TOKENS,Math.max(MIN_ADMISSION_CAP_TOKENS,Math.floor(ADMISSION_CAP_FRACTION*contextWindow)))}function estimateTextTokens2(text){return estimateTokens(markTransientMessage({role:"user",content:text,timestamp:0}))}function buildExcerpt(text,budgetChars,totalTokens){let headChars=Math.floor(budgetChars*HEAD_BUDGET_FRACTION),tailChars=Math.floor(budgetChars*TAIL_BUDGET_FRACTION),head=text.slice(0,headChars),tail=text.slice(Math.max(headChars,text.length-tailChars)),keptTokens=estimateTextTokens2(head)+estimateTextTokens2(tail);return`${head}
|
|
389
|
-
${TOOL_ADMISSION_MARKER_PREFIX} kept ${keptTokens} of ~${totalTokens} tokens]
|
|
390
|
-
${tail}`}function admitToolResultWithinBudget(text,budgetTokens){let totalTokens=estimateTextTokens2(text);if(totalTokens<=budgetTokens)return{text,projected:!1};if(budgetTokens<=0)return{text:"",projected:!0};let charsPerToken=text.length/Math.max(1,totalTokens),budgetChars=Math.floor(budgetTokens*charsPerToken),excerpt=buildExcerpt(text,budgetChars,totalTokens);for(;estimateTextTokens2(excerpt)>budgetTokens&&budgetChars>0;)budgetChars=Math.floor(budgetChars*.8),excerpt=buildExcerpt(text,budgetChars,totalTokens);return estimateTextTokens2(excerpt)<=budgetTokens?{text:excerpt,projected:!0}:{text:"",projected:!0}}function admitToolResult(input){return admitToolResultWithinBudget(input.text,resolveToolResultAdmissionCapTokens(input.contextWindow))}function resolveCompactionGeometry(input){let thresholdTokens=input.contextWindow*computeEffectiveThreshold(input.contextWindow,input.lastYield);return{reserveTokens:resolveEffectiveReserveTokens(input.contextWindow,input.settings),thresholdTokens,leadTokens:resolveSpeculationLeadTokens(thresholdTokens,input.settings.speculativeLeadTokens)}}function shouldDeferGraceBand(input){return input.compactionInFlight&&input.graceBandEnabled!==!1&&isWithinGraceBand(input.tokens,input.thresholdTokens,input.leadTokens,input.contextWindow,input.reserveTokens)}function injectTokenBudgetReminder(messages,reminder){if(!reminder)return messages;for(let index=messages.length-1;index>=0;index--){let message=messages[index];if(message?.role!=="user")continue;let content=typeof message.content=="string"?[{type:"text",text:message.content}]:message.content,firstPart=content[0];if(firstPart?.type==="text"&&firstPart.text===reminder)return messages;let reminded=copyContextProvenance(message,inheritSessionContextEntryId({...message,content:[{type:"text",text:reminder},...content]},message));return messages.map((candidate,candidateIndex)=>candidateIndex===index?reminded:candidate)}return messages}function resolveBeforeAgentStartMessage(input){if(!input.reminder||input.reminderEnabled===!1)return input.message;if(input.message)return{...input.message,content:`${input.message.content}
|
|
391
|
-
|
|
392
|
-
${input.reminder}`}}function resolveReminderSystemPrompt(input){if(!(!input.reminder||input.reminderEnabled===!1))return`${input.systemPrompt}
|
|
393
|
-
|
|
394
|
-
${input.reminder}`}function resolveIdleWarmAction(decision,job){if(!shouldWarmAtIdle(decision))return"none";if(!job)return"start";let currentTokens=decision.usage?.tokens??0;return isWarmResultStale(job.armedAtTokens,currentTokens,decision.settings.keepRecentTokens)?"replace":"none"}function admitContextToolResult(text,contextWindow){let result=admitToolResult({text,contextWindow});return{text:result.text,admitted:result.projected}}function admitContextToolResults(messages,contextWindow,enabled){return enabled?messages.map(message=>{if(message.role!=="toolResult")return message;if(typeof message.content=="string"){let admitted=admitContextToolResult(message.content,contextWindow);return admitted.admitted?inheritSessionContextEntryId({...message,content:[{type:"text",text:admitted.text}]},message):message}let textTokens=message.content.map(part=>part.type==="text"?estimateTokens(markTransientMessage({role:"user",content:part.text,timestamp:0})):0),totalTextTokens=textTokens.reduce((total,tokens)=>total+tokens,0),capTokens=resolveToolResultAdmissionCapTokens(contextWindow);if(totalTextTokens<=capTokens)return message;let preservedTokens=textTokens.reduce((total,tokens)=>total+(tokens<=capTokens?tokens:0),0),preserveUnderCap=preservedTokens<=capTokens,remainingBudget=preserveUnderCap?capTokens-preservedTokens:capTokens,remainingOversizedTokens=preserveUnderCap?textTokens.reduce((total,tokens)=>total+(tokens>capTokens?tokens:0),0):totalTextTokens,projected=!1,content=message.content.map((part,index)=>{if(part.type!=="text")return part;let partTokens=textTokens[index]??0;if(preserveUnderCap&&partTokens<=capTokens)return part;let budget=Math.floor(remainingBudget*partTokens/Math.max(1,remainingOversizedTokens)),admitted=admitToolResultWithinBudget(part.text,budget);return remainingOversizedTokens-=partTokens,remainingBudget-=estimateTokens(markTransientMessage({role:"user",content:admitted.text,timestamp:0})),admitted.projected?(projected=!0,{...part,text:admitted.text}):part});return projected?inheritSessionContextEntryId({...message,content},message):message}):messages}var MODEL_SAFETY_MARGIN_PROFILES=[{id:"anthropic",tokens:16384,providers:["anthropic"],familyMarkers:["claude"]},{id:"openai-reasoning",tokens:16384,providers:["openai"],familyMarkers:["gpt-5","o1","o3","o4"]},{id:"google",tokens:12288,providers:["google"],familyMarkers:["gemini"]},{id:"deepseek",tokens:12288,providers:["deepseek"],familyMarkers:["deepseek"]},{id:"default",tokens:8192}];function matchesFamilyMarker(modelId,marker){let escapedMarker=marker.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");return new RegExp(`(?:^|[/.:_-])${escapedMarker}(?=$|[^a-z0-9])`).test(modelId.toLowerCase())}function resolveSafetyMarginProfile(model){return MODEL_SAFETY_MARGIN_PROFILES.find(profile=>profile.id!=="default"&&(profile.providers?.includes(model.provider)===!0||profile.familyMarkers?.some(marker=>matchesFamilyMarker(model.id,marker))===!0))??MODEL_SAFETY_MARGIN_PROFILES[MODEL_SAFETY_MARGIN_PROFILES.length-1]}function projectModelUsabilityBudget(input){let liveContextTokens=input.liveContextTokens??0,systemPromptTokens=estimateContextTokens(normalizeContext({systemPrompt:input.systemPrompt,messages:[],tools:[]})).tokens,activeToolSchemaTokens=estimateContextTokens(normalizeContext({systemPrompt:input.systemPrompt,messages:[],tools:[...input.tools]})).tokens-systemPromptTokens,outputReserveTokens=input.model.contextWindow-getPromptContextWindow(input.model.contextWindow,input.model.maxTokens),geometry=resolveCompactionGeometry({contextWindow:input.model.contextWindow,settings:input.compaction}),compactionReserveTokens=input.compaction.enabled?geometry.reserveTokens:0,includeSpeculationLead=input.includeSpeculationLead!==!1,speculationLeadTokens=includeSpeculationLead&&input.compaction.enabled&&input.compaction.speculativeEnabled!==!1?geometry.leadTokens:0,safetyMargin=resolveSafetyMarginProfile(input.model),baseRequiredTokens=systemPromptTokens+activeToolSchemaTokens+outputReserveTokens+compactionReserveTokens+speculationLeadTokens+safetyMargin.tokens,uncompactedRequiredTokens=liveContextTokens+baseRequiredTokens,admission=input.admission??(liveContextTokens>0?"switch":"start"),compactionRequiredTokens=liveContextTokens+systemPromptTokens+activeToolSchemaTokens+compactionReserveTokens+safetyMargin.tokens,keepRecentSetting=input.compaction.keepRecentTokens??DEFAULT_COMPACTION_SETTINGS.keepRecentTokens,postCompactionRequiredTokens=computeEffectiveKeepRecentTokens(keepRecentSetting,input.model.contextWindow,baseThresholdRatioForWindow(input.model.contextWindow))+baseRequiredTokens,requiredTokens=uncompactedRequiredTokens,shortfallTokens=Math.max(0,requiredTokens-input.model.contextWindow),usable=shortfallTokens===0,verdict=usable?"fits-now":postCompactionRequiredTokens<=input.model.contextWindow?"fits-after-compaction":"impossible";return!usable&&admission==="resume"&&input.compaction.enabled&&!includeSpeculationLead&&compactionRequiredTokens<=input.model.contextWindow&&postCompactionRequiredTokens<=input.model.contextWindow&&(requiredTokens=Math.max(compactionRequiredTokens,postCompactionRequiredTokens),shortfallTokens=0,usable=!0),{model:`${input.model.provider}/${input.model.id}`,contextWindow:input.model.contextWindow,liveContextTokens,systemPromptTokens,activeToolSchemaTokens,outputReserveTokens,compactionReserveTokens,speculationLeadTokens,safetyMarginTokens:safetyMargin.tokens,safetyMarginProfile:safetyMargin.id,requiredTokens,shortfallTokens,usable:shortfallTokens===0,admission,verdict,postCompactionRequiredTokens,compactionRequiredTokens}}var ModelUsabilityBudgetError=class extends Error{constructor(projection){let breakdown=`system prompt ${projection.systemPromptTokens}, active tool schemas ${projection.activeToolSchemaTokens}, output reserve ${projection.outputReserveTokens}, compaction reserve ${projection.compactionReserveTokens}, speculation lead ${projection.speculationLeadTokens}, safety margin ${projection.safetyMarginTokens} [${projection.safetyMarginProfile}]`,message=projection.admission==="resume"?`Model "${projection.model}" cannot resume: target context window ${projection.contextWindow} tokens is ${projection.shortfallTokens} tokens short of the ${projection.requiredTokens}-token requirement (live context ${projection.liveContextTokens}, ${breakdown}).`:projection.admission==="switch"?`Model "${projection.model}" cannot switch: target context window ${projection.contextWindow} tokens is ${projection.shortfallTokens} tokens short of the ${projection.requiredTokens}-token requirement (live context ${projection.liveContextTokens}, ${breakdown}). Compact the session, then revalidate and retry the model switch.`:`Model "${projection.model}" cannot start: context window ${projection.contextWindow} tokens is ${projection.shortfallTokens} tokens short of the ${projection.requiredTokens}-token minimum (${breakdown}).`;super(message),this.name="ModelUsabilityBudgetError",this.projection=projection}};var ModelSwitchAuthError=class extends Error{constructor(provider,modelId){super(`No API key for ${provider}/${modelId}`),this.name="ModelSwitchAuthError"}};function answeredUiRequestId(frame){return typeof frame.uiRequestId=="string"?frame.uiRequestId:typeof frame.id=="string"?frame.id:void 0}function settledQuestionStatus(answers,comment){return comment?.trim()?"comment-submitted":Object.keys(answers).length>0?"answered":void 0}function unansweredQuestionIds(questions,answers){return questions.filter(question=>!answers[question.id]?.selected.length&&!answers[question.id]?.text?.trim()).map(question=>question.id)}function settleExtensionUiResponse(response,targets){let requestId=answeredUiRequestId(response)??response.id,answer=requestId===response.id?response:{...response,id:requestId},question=targets.questions.respond(answer);return typeof question=="string"?refused(response.id,question):question||targets.dialogs.resolve(answer)?{...reply(response.id),success:!0}:targets.routed?refused(response.id,"unknown_extension_ui_request"):void 0}function reply(id){return{id,type:"response",command:"extension_ui_response"}}function refused(id,error){return{...reply(id),success:!1,error}}var sessionQuestionBridges=new WeakMap,ConnectionQuestionBridge=class{constructor(output){this.pending=new Map,this.resolved=new Set,this.output=output}pendingQuestions(){return[...this.pending.values()].map(({frame})=>({...frame,remainingMs:Math.max(0,frame.deadlineAtMs-Date.now())}))}ask(request,opts){let id=crypto.randomUUID(),askedAtMs=Date.now(),timeout=opts?.timeout??request.timeoutMs,frame={type:"extension_ui_request",method:"question",id,requestId:request.requestId,toolCallId:request.requestId,waitForAnswer:request.waitForAnswer,questions:request.questions,timeout,askedAtMs,deadlineAtMs:askedAtMs+timeout,remainingMs:timeout};return new Promise(resolve2=>{let answers={},comment,timer,finished=!1,unanswered=()=>unansweredQuestionIds(request.questions,answers),finish=(status,resolvedBy)=>{if(finished)return;finished=!0,clearTimeout(timer),opts?.signal?.removeEventListener("abort",cancel),this.pending.delete(id),this.resolved.add(id);let result={status,...resolvedBy!==void 0?{resolvedBy}:{},answers,comment,unanswered:unanswered(),...status==="timed_out"?{autoResolvedAfterMs:Date.now()-askedAtMs}:{}};this.output({type:"question_resolved",id,requestId:frame.requestId,toolCallId:frame.toolCallId,outcome:status,...result.resolvedBy!==void 0?{resolvedBy:result.resolvedBy}:{},answers,comment,unanswered:result.unanswered,deadlineAtMs:frame.deadlineAtMs}),resolve2(result)},cancel=()=>{let reason=opts?.signal?.reason;finish(reason==="timed_out"?"timed_out":"cancelled")},arm=()=>{clearTimeout(timer),frame.deadlineAtMs=Date.now()+timeout,timer=setTimeout(()=>finish("timed_out"),timeout)};this.pending.set(id,{frame,cancel,progress:draft=>{draft.answers!==void 0&&(answers=draft.answers),draft.comment!==void 0&&(comment=draft.comment),arm(),opts?.onProgress?.({answers,comment}),finished||this.output({type:"question_updated",id,deadlineAtMs:frame.deadlineAtMs,remainingMs:Math.max(0,frame.deadlineAtMs-Date.now())})},respond:response=>{if("cancelled"in response)return cancel(),!0;if(!("answers"in response))return!1;answers=response.answers,comment=response.comment;let status=settledQuestionStatus(answers,comment);return status===void 0?!1:(finish(status,"rpc_connection"),!0)}}),arm(),this.output(frame),opts?.signal?.addEventListener("abort",cancel,{once:!0}),opts?.signal?.aborted&&cancel()})}respond(response){let pending2=this.pending.get(response.id);return pending2?pending2.respond(response)||"question_incomplete":this.resolved.has(response.id)?"question_already_resolved":!1}progress(draft){this.pending.get(draft.id)?.progress(draft)}cancelAll(){for(let pending2 of this.pending.values())pending2.cancel()}};async function degradeQuestion(ui,request,opts){let answers={},other="Other (type an answer)";for(let question of request.questions){let selected=await ui.select(question.question,[...question.options.map(option=>option.label),other],opts);if(selected===other){let text=await ui.input(question.question,void 0,opts);text?.trim()&&(answers[question.id]={selected:[],text})}else selected!==void 0&&(answers[question.id]={selected:[selected]})}let comment=await ui.input("Anything else? (optional)",void 0,opts),unanswered=request.questions.filter(q=>!answers[q.id]).map(q=>q.id);return{status:comment?.trim()?"comment-submitted":unanswered.length?"cancelled":"answered",...comment?.trim()||unanswered.length===0?{resolvedBy:"rpc_connection"}:{},answers,comment,unanswered}}async function availableModelsData(session){return{models:(await session.modelRegistry.modelRuntime.getAvailable()).map(model=>({...model,supportedThinkingLevels:getSupportedThinkingLevels2(model),supportsAssistantPrefill:modelSupportsAssistantPrefill(model,{thinkingEnabled:session.thinkingLevel!=="off"})}))}}function unsupportedThinkingLevel(level){return`Thinking level ${String(level)} is not supported by the active model.`}async function interruptRunningTurn(session,requestedTurnId,stop){if(!session.isStreaming&&session.retryAttempt===0)return{interrupted:!1};let turnId=String(session.externalAdmission.turnEpoch);return typeof requestedTurnId=="string"&&requestedTurnId!==turnId?{interrupted:!1,turnId}:(await stop(),{interrupted:!0,turnId})}import{open}from"node:fs/promises";var EFFECT_LOOKUP_CHUNK_BYTES=4*1024*1024,TranscriptUnreadable=class extends Error{constructor(path4,cause){let reason=`transcript_unreadable: ${cause instanceof Error?cause.message:String(cause)}`;super(reason),this.code="transcript_unreadable",this.action="check the sessionPath, or query the loaded session by sessionId; do not treat this as not found",this.name="TranscriptUnreadable",this.path=path4,this.reason=reason}},headerSchema=external_exports.object({type:external_exports.literal("session"),id:external_exports.string()}),customEntrySchema=external_exports.object({type:external_exports.literal("custom"),customType:external_exports.string(),data:external_exports.unknown()}),NEWLINE=10;async function lookupEffectInTranscript(path4,effectId){let handle;try{handle=await open(path4,"r")}catch(cause){throw new TranscriptUnreadable(path4,cause)}try{let size=(await handle.stat()).size,durableSessionId=await readHeaderId(handle,path4,size),end=size,carry=Buffer.alloc(0);for(;end>0;){let start=Math.max(0,end-EFFECT_LOOKUP_CHUNK_BYTES),chunk=Buffer.alloc(end-start);await handle.read(chunk,0,chunk.length,start);let data=Buffer.concat([chunk,carry]);end=start;let firstNewline=start===0?-1:data.indexOf(NEWLINE);if(start>0&&firstNewline===-1){carry=data;continue}carry=start===0?Buffer.alloc(0):data.subarray(0,firstNewline);let effect=newestInLines(data.subarray(firstNewline+1).toString("utf8"),effectId,durableSessionId);if(effect)return{found:!0,effect}}return{found:!1,searched:"complete"}}catch(cause){throw cause instanceof TranscriptUnreadable?cause:new TranscriptUnreadable(path4,cause)}finally{await handle.close()}}async function readHeaderId(handle,path4,size){let head=Buffer.alloc(Math.min(size,65536));await handle.read(head,0,head.length,0);let newline=head.indexOf(NEWLINE),line=head.subarray(0,newline===-1?head.length:newline).toString("utf8"),header=headerSchema.safeParse(parseJson(line));if(!header.success)throw new TranscriptUnreadable(path4,new Error("the file has no session header"));return header.data.id}function newestInLines(text,effectId,durableSessionId){let lines=text.split(`
|
|
395
|
-
`),encodedId=JSON.stringify(effectId).slice(1,-1);for(let index=lines.length-1;index>=0;index--){let line=lines[index];if(!line?.includes(encodedId))continue;let entry=customEntrySchema.safeParse(parseJson(line));if(entry.success){if(entry.data.customType===RPC_EFFECT_ENTRY){let record=rpcEffectRecordSchema.safeParse(entry.data.data);if(record.success&&record.data.effectId===effectId&&record.data.durableSessionId===durableSessionId)return projectEffect(record.data)}else if(entry.data.customType===CLIENT_ADMISSION_ENTRY){let record=clientAdmissionRecordSchema.safeParse(entry.data.data);if(record.success&&record.data.clientMessageId===effectId&&record.data.durableSessionId===durableSessionId)return projectAdmission(record.data)}}}}function parseJson(line){try{return JSON.parse(line)}catch{return}}function respond(id,response){return{...response,id,type:"response",success:!0}}function refuse(id,command,message,errorCode,errorData){return{id,type:"response",command,success:!1,error:message,...errorCode===void 0?{}:{errorCode},...errorData===void 0?{}:{errorData}}}function effectAnswer(status,sessionId,replayed=!1){let effect=sessionId===void 0?status:{...status,sessionId};return{effectId:status.effectId,state:status.state,effect,...replayed?{replayed:!0}:{}}}async function beginEffect(ctx,kind,command){try{return await EffectLedger.forSession(ctx.session).begin(kind,command.effectId,command,ctx.by)}catch(cause){if(!(cause instanceof EffectIdConflict))throw cause;return refuse(command.id,command.type,cause.message,RPC_ERROR_EFFECT_ID_CONFLICT,{effectId:cause.effectId,reason:cause.reason,action:cause.action})}}function isResponse(value){return"type"in value}function isEffectBegin(value){return!isResponse(value)}function invalidGrace(command){let{graceMs}=command;if(graceMs===void 0||isAbortGraceInRange(graceMs))return;let reason="invalid_grace_ms",action=`send graceMs as a whole number of milliseconds from 0 to ${6e4}`;return refuse(command.id,"abort",`graceMs must be an integer from 0 to ${6e4}`,RPC_ERROR_INVALID_ARGUMENT,{reason,action})}async function quiesce(session,aborting,graceMs){let timer,expired=new Promise(resolve2=>{timer=setTimeout(()=>resolve2(!1),graceMs)});try{return await Promise.race([aborting.then(()=>!session.isStreaming),expired])}finally{clearTimeout(timer)}}async function runAbort(ctx,command,dispatch){let invalid=invalidGrace(command);if(invalid!==void 0)return invalid;let{effectId}=command,quiesced=command.awaitIdle===!0||command.clearQueue===!0,begun=effectId===void 0?void 0:await beginEffect(ctx,"abort",{...command,effectId});if(begun!==void 0&&isResponse(begun))return begun;if(begun!==void 0&&"replay"in begun)return respond(command.id,{command:"abort",data:effectAnswer(begun.replay,ctx.sessionId,!0)});let admissions=ClientAdmissions.forSession(ctx.session),streaming=ctx.session.isStreaming,cleared=0;if(command.clearQueue===!0){admissions.clearQueued();let drained=ctx.session.clearQueue({abortWillFollow:!0});cleared=drained.steering.length+drained.followUp.length}let noted=admissions.noteAbort(ctx.by,effectId),aborting=dispatch();streaming||aborting.finally(()=>admissions.forgetAbort(noted));let ledger=effectId===void 0?void 0:EffectLedger.forSession(ctx.session),status=effectId===void 0?void 0:streaming?ledger?.transition(effectId,"applied"):ledger?.transition(effectId,"done",{disposition:"no_active_turn"});if(!quiesced)return respond(command.id,{command:"abort",...status===void 0?{}:{data:effectAnswer(status,ctx.sessionId)}});let idle=command.awaitIdle===!0?await quiesce(ctx.session,aborting,command.graceMs??1e4):!streaming;return effectId!==void 0&&(status=ledger?.status(effectId)??status),respond(command.id,{command:"abort",data:{...status===void 0?{}:effectAnswer(status,ctx.sessionId),stopped:idle,idle,cleared}})}async function runQueuedInputChange(ctx,command){let kind=command.type==="dequeue_message"?"dequeue":"edit_queued",{effectId,queuedId}=command,begun=effectId===void 0?void 0:await beginEffect(ctx,kind,{...command,effectId});if(begun!==void 0&&isResponse(begun))return begun;if(begun!==void 0&&"replay"in begun)return respond(command.id,{command:command.type,data:{queuedId,status:replayedStatus(begun.replay,command.type),...begun.replay.answer,...begun.replay.outcome===void 0?{}:{reason:begun.replay.outcome.reason,action:begun.replay.outcome.action},...effectAnswer(begun.replay,ctx.sessionId,!0)}});let clientMessageId=ctx.session.getQueuedInputs().find(input=>input.queuedId===queuedId)?.clientMessageId,expected=command.expectedRevision===void 0?void 0:{expectedRevision:command.expectedRevision},status=command.type==="dequeue_message"?ctx.session.dequeueQueuedInput(queuedId,expected):ctx.session.editQueuedInput(queuedId,command.text,expected),current=ctx.session.getQueuedInputs().find(input=>input.queuedId===queuedId);status==="edited"&&clientMessageId!==void 0&&command.type==="edit_queued_message"&&ClientAdmissions.forSession(ctx.session).editQueuedText(clientMessageId,command.text);let outcome=status==="already_delivered"?EFFECT_OUTCOMES.queuedInputAlreadyDelivered:status==="not_found"?EFFECT_OUTCOMES.queuedInputNotFound:status==="conflict"?EFFECT_OUTCOMES.queuedInputConflict:void 0,answer=status==="edited"&¤t!==void 0?{text:current.text,revision:current.revision}:status==="conflict"&¤t!==void 0?{currentRevision:current.revision}:void 0,stored=answer===void 0?{}:{answer},ledger=effectId===void 0?void 0:EffectLedger.forSession(ctx.session),recorded=effectId===void 0||ledger===void 0?void 0:outcome===void 0?ledger.transition(effectId,"done",{disposition:status,...stored}):ledger.transition(effectId,"failed",{outcome,...stored});return respond(command.id,{command:command.type,data:{queuedId,status,...answer,...outcome===void 0?{}:{reason:outcome.reason,action:outcome.action},...recorded===void 0?{}:effectAnswer(recorded,ctx.sessionId)}})}function replayedStatus(status,command){return status.outcome?.kind==="already_delivered"||status.outcome?.kind==="not_found"||status.outcome?.kind==="conflict"?status.outcome.kind:command==="dequeue_message"?"removed":"edited"}async function runSetModel(ctx,command){let{effectId}=command,begun=effectId===void 0?void 0:await beginEffect(ctx,"set_model",{...command,effectId});if(begun!==void 0&&isResponse(begun))return begun;if(begun!==void 0&&"replay"in begun)return respond(command.id,{command:"set_model",data:effectAnswer(begun.replay,ctx.sessionId,!0)});let ledger=effectId===void 0?void 0:EffectLedger.forSession(ctx.session),model=(await ctx.session.modelRegistry.getAvailable()).find(m=>m.provider===command.provider&&m.id===command.modelId);if(!model){let message=`Model not found: ${command.provider}/${command.modelId}`,failed=effectId===void 0?void 0:ledger?.transition(effectId,"failed",{outcome:unknownModelOutcome(command.provider,command.modelId)});return refuse(command.id,"set_model",message,RPC_ERROR_MODEL_NOT_FOUND,failed&&effectAnswer(failed,ctx.sessionId))}if(effectId===void 0||ledger===void 0){let systemPromptChange=await ctx.session.setModel(model,{source:"rpc"});return respond(command.id,{command:"set_model",data:{...model,systemPromptName:systemPromptChange?.systemPromptName}})}let systemPromptName;try{systemPromptName=(await ctx.session.setModel(model,{source:"rpc",effectId}))?.systemPromptName}catch(cause){if(!(cause instanceof ModelUsabilityBudgetError)&&!(cause instanceof ModelSwitchAuthError))throw ledger.transition(effectId,"failed",{outcome:modelSwitchErrorOutcome(cause instanceof Error?cause.message:String(cause))}),cause;let budget=cause instanceof ModelUsabilityBudgetError,failed=ledger.transition(effectId,"failed",{outcome:budget?contextBudgetOutcome(cause.message):providerUnavailableOutcome(cause.message)});return refuse(command.id,"set_model",cause.message,budget?RPC_ERROR_CONTEXT_BUDGET:RPC_ERROR_PROVIDER_UNAVAILABLE,effectAnswer(failed,ctx.sessionId))}let status=ledger.status(effectId);return respond(command.id,{command:"set_model",data:{...model,systemPromptName,...status===void 0?{}:effectAnswer(status,ctx.sessionId)}})}async function runSetThinkingLevel(ctx,command){let{effectId}=command,begun=effectId===void 0?void 0:await beginEffect(ctx,"set_thinking_level",{...command,effectId});if(begun!==void 0&&isResponse(begun))return begun;if(begun!==void 0&&"replay"in begun)return respond(command.id,{command:"set_thinking_level",data:effectAnswer(begun.replay,ctx.sessionId,!0)});let ledger=effectId===void 0?void 0:EffectLedger.forSession(ctx.session);if(command.scope==="turn"){if(!ctx.session.getAvailableThinkingLevels().includes(command.level)){let message=unsupportedThinkingLevel(command.level),failed=effectId===void 0?void 0:ledger?.transition(effectId,"failed",{outcome:unsupportedThinkingLevelOutcome(message)});return refuse(command.id,"set_thinking_level",message,void 0,failed&&effectAnswer(failed,ctx.sessionId))}ctx.session.setSessionThinkingLevel(command.level,{source:"rpc",effectId})}else ctx.session.setThinkingLevel(command.level,{source:"rpc",effectId});if(effectId===void 0||ledger===void 0)return respond(command.id,{command:"set_thinking_level"});let done=ledger.transition(effectId,"done",{disposition:"applied"});return respond(command.id,{command:"set_thinking_level",data:effectAnswer(done,ctx.sessionId)})}async function runGetEffectStatus(ctx,command){if(command.sessionPath!==void 0&&command.sessionPath!==ctx.session.sessionFile)return answerEffectFromTranscript(command.id,command.sessionPath,command.effectId);let status=EffectLedger.forSession(ctx.session).status(command.effectId,ctx.sessionId);return respond(command.id,{command:"get_effect_status",data:status===void 0?{found:!1,searched:"complete"}:{found:!0,effect:status}})}async function answerEffectFromTranscript(id,path4,effectId){try{return respond(id,{command:"get_effect_status",data:await lookupEffectInTranscript(path4,effectId)})}catch(cause){if(!(cause instanceof TranscriptUnreadable))throw cause;return refuse(id,"get_effect_status",cause.message,RPC_ERROR_TRANSCRIPT_UNREADABLE,{path:cause.path,reason:cause.reason,action:cause.action})}}import{existsSync}from"node:fs";function buildRpcSessionState(session,lastAbortSource){let cwd=session.sessionManager.getCwd();if(!session.agentDir)throw new Error("RPC session invariant violated: agentDir is required");let projectTrusted=new ProjectTrustStore(session.agentDir).get(cwd)===!0,lastProviderDiagnostic=sanitizeProviderDiagnostic(session.agent.state.providerDiagnostic);return{pendingQuestions:sessionQuestionBridges.get(session)?.pendingQuestions(),model:session.model,pendingModelSwitch:session.pendingModelSwitch?{provider:session.pendingModelSwitch.model.provider,id:session.pendingModelSwitch.model.id}:null,thinkingLevel:session.thinkingLevel,...session.thinkingSelection?{thinkingSelection:session.thinkingSelection}:{},...lastAbortSource?{lastAbortSource}:{},...lastProviderDiagnostic?{lastProviderDiagnostic}:{},serviceTier:session.effectiveServiceTier,fastMode:session.isFastModeActive(),isStreaming:session.isStreaming,isCompacting:session.isCompacting,retryAttempt:session.retryAttempt,isBashRunning:session.isBashRunning,steeringMode:session.steeringMode,followUpMode:session.followUpMode,sessionFile:session.sessionFile,sessionId:session.sessionId,sessionName:session.sessionName,cwd,projectTrusted,...session.sessionFile&&!existsSync(session.sessionFile)&&session.sessionManager.getEntries().some(entry=>entry.type!=="model_change"&&entry.type!=="model_change_rejected"&&entry.type!=="thinking_level_change")?{entries:session.sessionManager.getEntries()}:{},steering:typeof session.getSteeringMessages=="function"?[...session.getSteeringMessages()]:[],followUp:typeof session.getFollowUpMessages=="function"?[...session.getFollowUpMessages()]:[],ordered:typeof session.getQueuedInputs=="function"?session.getQueuedInputs().map(clientFacingIdentity):[],autoCompactionEnabled:session.autoCompactionEnabled,messageCount:session.messages.length,pendingMessageCount:session.pendingMessageCount,usageTotals:session.sessionManager.getUsageTotals(),contextUsage:typeof session.getContextUsage=="function"?session.getContextUsage():void 0,favoriteModels:session.favoriteModels?.map(entry=>({...entry}))??[],scopedModels:session.scopedModels?.map(entry=>({...entry}))??[]}}import{AsyncLocalStorage}from"node:async_hooks";var clientInputContext=new AsyncLocalStorage,ClientMessageEvents=class{constructor(emit,enabled){this.inputs=[],this.active=[],this.sawUser=!1,this.emit=emit,this.enabled=enabled}accept(event){if(!this.enabled()){this.emit(event);return}if(event.type==="skill_invocation"||event.type==="command_invocation"){this.emit({...event,...clientInputContext.getStore()});return}if(event.type==="turn_start"&&(this.flush(),this.prefix=[],this.inputs=[],this.sawUser=!1),event.type==="message_start"&&event.message.role==="custom"&&!this.sawUser&&(this.active=[]),event.type==="message_start"&&event.message.role==="user"){this.sawUser||(this.active=[]),this.sawUser=!0;let identity=clientFacingIdentity(readClientMessageIdentity(event.message));(identity.clientMessageId!==void 0||identity.clientTurnId!==void 0)&&this.inputs.push(identity),this.active=this.inputs,this.flush()}(event.type==="message_start"&&event.message.role==="assistant"||event.type==="agent_end"||event.type==="agent_idle")&&this.flush(),this.prefix?this.prefix.push(event):this.output(event)}flush(){if(!this.prefix)return;this.sawUser&&(this.active=this.inputs);let prefix=this.prefix;this.prefix=void 0;for(let event of prefix)this.output(event)}output(event){let identity="message"in event&&event.message.role==="user"?clientFacingIdentity(readClientMessageIdentity(event.message)):this.active.at(-1),correlated=event.type==="turn_start"||event.type==="turn_end"||event.type.startsWith("message_")||event.type.startsWith("tool_execution_")||event.type==="entry_appended"&&event.entry.type==="message"||event.type==="session_abort"||event.type==="agent_end";this.emit(correlated&&identity?{...event,...identity,...this.active.length>1?{clientMessages:this.active}:{}}:event)}};function subscribeSessionRecords(session,output,onAbortSource=()=>{}){let correlatedEvents=new ClientMessageEvents(output,()=>ClientAdmissions.forSession(session).hasIdentities);return session.subscribe(event=>{if(event.type==="skill_invocation"){correlatedEvents.accept(event);return}if(event.type==="command_invocation"){correlatedEvents.accept(event);return}if(event.type==="queue_update"){correlatedEvents.accept({...event,ordered:event.ordered.map(clientFacingIdentity)});return}if(event.type==="thinking_level_changed"||event.type==="model_changed"){let thinkingSelection=session.thinkingSelection;output(thinkingSelection===void 0?event:{...event,thinkingSelection});return}if(event.type==="agent_end"){let abortSource=session.currentAbortSource;abortSource!==void 0&&onAbortSource(abortSource);let deadline=session.currentDeadline,abortedBy=abortSource===void 0?void 0:ClientAdmissions.forSession(session).abortedBy;correlatedEvents.accept({...event,...abortSource===void 0?{}:{aborted:!0,abortSource},...abortedBy===void 0?{}:{abortedBy},...deadline===void 0?{}:{deadline}});return}if(event.type==="session_abort"){let abortedBy=ClientAdmissions.forSession(session).abortedBy;correlatedEvents.accept(abortedBy===void 0?event:{...event,abortedBy});return}correlatedEvents.accept(event)})}export{registerBundledOAuthFlowLoaders,loadAnthropicOAuth,installCursorContextLimitPersistence,getCursorContextLimit,resolveCursorContextWindow,cursorProvider,getBuiltinModelDataGeneratedAt,builtinProviders,all_exports,installImagesProviderScopeAccessor,SERVER_SEARCH_FALLBACK,resetServerSearchFailures,rememberServerSearchFailure,hasServerSearchFailed,markServerSearchFallback,disableServerSearch,withoutServerSearch,isServerSearchDisabled,isServerSearchFallback,serializeForEstimate,estimateCacheKey,markTransientMessage,isTransientMessage,getImageModel,generateImages,getModels,getProviders,resetApiProviders,stream,streamSimple,completeSimple,compat_exports,resolveEffectiveReserveTokens,computeEffectiveThreshold,computeEffectiveKeepRecentTokens,shouldStartSpeculativeCompaction,isAtHardLimit,shouldTriggerCompaction,DEFAULT_COMPACTION_SETTINGS,RESOLUTION_TIMED_OUT,isMissingPathError,withResolutionDeadline,withFileMutationQueue,extractPatchedPaths,parsePatch,diffWords,diffLines,createUnifiedPatch,countDiffChanges,renderToolDiff,resolvePatchPath,SESSION_CONTROL_DELIVERY_TYPE,sessionControlSenderOf,isSessionControlDeliveryDetails,normalizeToolExposure,defineTool,isBashToolResult,isPowerShellToolResult,isReadToolResult,isEditToolResult,isWriteToolResult,isGrepToolResult,isFindToolResult,isLsToolResult,isToolCallEventType,EMPTY_SESSION_CONTEXT,DEFAULT_EXTENSION_SESSION_PROFILE,ExecuteToolError,RUNTIME_EXTENSION_PATH,normalizeApplyPatchArguments,getApplyPatchWireMode,extension_default,serializeConversation,PROMPT_CACHE_PREWARM_ENTRY_TYPE,getPromptCachePrewarmUsage,createUsageTotals,addUsageToTotals,combineUsage,getUsageCostBreakdown,compact,calculateContextTokens,resolveThresholdContextTokens,getLastAssistantUsage,estimateContextTokens2 as estimateContextTokens,estimateProjectedContextTokens,shouldCompact,estimateTokens,findTurnStartIndex,findCutPoint,generateSummary,generateSummaryWithUsage,prepareCompaction,collectEntriesForBranchSummary,prepareBranchEntries,generateBranchSummary,createRestorationTrackerState,trackToolCall,preparePendingPayload,consumePendingPayload,captureAgentCheckpoint,persistCheckpoint,createRestorationDirectiveState,attachRestorationDirective,openAiRemoteCompactionTimeoutMs,createRemoteCompactionDeadline,runWithRemoteTimeout,estimatePendingPromptTokens,getPromptContextWindow,withAdditionalTokens,isMonitorableMessageEvent,isAbortedAssistantMessage,requiresDeterministicCompactionFallback,recentCheckpoint,endCompactionFeedback,reportRemoteCompactionTimeout,linkAbortSignal,createBlockingRemoteCompactionEvent,IDLE_COMPACTION_INSTRUCTIONS,shouldRunIdleCompaction,shouldWarmAtIdle,resolveCompactionGeometry,shouldDeferGraceBand,injectTokenBudgetReminder,resolveBeforeAgentStartMessage,resolveReminderSystemPrompt,resolveIdleWarmAction,admitContextToolResults,projectModelUsabilityBudget,ModelUsabilityBudgetError,ModelSwitchAuthError,supportsXhigh2 as supportsXhigh,supportsMax2 as supportsMax,getSupportedThinkingLevels2 as getSupportedThinkingLevels,clampThinkingSelection,getThinkingClampNotice,formatThinkingClampWarning,classifyReasoningCapability,createFsWatchEventSource,rpcCommandPayloadError,sessionContextError,sessionKindError,sessionAutoTitleError,sessionPromptSurfaceError,sessionBrowserEngineError,sessionRetryFallbackError,rpcCommandShapeError,rpcMessageLengthError,EFFECT_LEDGER_CAPABILITY,clientFacingIdentity,DURABLE_CLIENT_MESSAGE_ID_CAPABILITY,ClientMessageIdConflict,effectStatusRecord,drainSessionEffects,installSessionEffectSink,ClientAdmissions,latestSessionEffect,EffectLedger,clientInputContext,answeredUiRequestId,settledQuestionStatus,unansweredQuestionIds,settleExtensionUiResponse,sessionQuestionBridges,ConnectionQuestionBridge,degradeQuestion,availableModelsData,unsupportedThinkingLevel,interruptRunningTurn,effectAnswer,beginEffect,isEffectBegin,runAbort,runQueuedInputChange,runSetModel,runSetThinkingLevel,runGetEffectStatus,answerEffectFromTranscript,WakeScheduler,watchInbox,onProcessContinue,buildRpcSessionState,subscribeSessionRecords};
|