omniroute 3.1.0 → 3.1.2
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/app/.next/BUILD_ID +1 -1
- package/app/.next/build-manifest.json +2 -2
- package/app/.next/prerender-manifest.json +3 -3
- package/app/.next/server/app/(dashboard)/dashboard/a2a/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/agents/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/analytics/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/api-manager/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/audit-log/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/auto-combo/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/cli-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/combos/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/costs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/endpoint/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/health/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/limits/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/logs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/mcp/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/media/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/onboarding/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/playground/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/profile/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/[id]/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/new/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/providers/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/search-tools/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/settings/pricing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/translator/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/(dashboard)/dashboard/usage/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/400/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/401/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/403/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/408/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/429/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/500/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/502/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/503/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/_global-error.html +2 -2
- package/app/.next/server/app/_global-error.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/app/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/app/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/callback/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forbidden/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/forgot-password/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/landing/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/maintenance/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/offline/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/privacy/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/status/page_client-reference-manifest.js +1 -1
- package/app/.next/server/app/terms/page_client-reference-manifest.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__051203a6._.js +2 -2
- package/app/.next/server/chunks/[root-of-the-server]__0891af92._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__14f70e13._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__1f2b0d89._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__46e00e59._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__6e52619e._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__7ace0fcd._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__7fa4d14e._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__8466a619._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__df1c79db._.js +1 -1
- package/app/.next/server/chunks/[root-of-the-server]__e22609bd._.js +1 -1
- package/app/.next/server/chunks/_05c48915._.js +1 -1
- package/app/.next/server/chunks/_06515a8a._.js +1 -1
- package/app/.next/server/chunks/_2115d8de._.js +1 -1
- package/app/.next/server/chunks/_3ac953eb._.js +1 -1
- package/app/.next/server/chunks/_4b8fd853._.js +1 -1
- package/app/.next/server/chunks/_68683848._.js +1 -1
- package/app/.next/server/chunks/_ee9b677b._.js +1 -1
- package/app/.next/server/chunks/_efd5ede2._.js +1 -1
- package/app/.next/server/chunks/open-sse_config_providerModels_ts_04541468._.js +1 -1
- package/app/.next/server/chunks/open-sse_config_providerRegistry_ts_2f74ec2a._.js +1 -1
- package/app/.next/server/chunks/open-sse_config_providerRegistry_ts_dec0f840._.js +1 -1
- package/app/.next/server/chunks/ssr/[root-of-the-server]__9ef96d20._.js +1 -1
- package/app/.next/server/chunks/ssr/[root-of-the-server]__a6942102._.js +1 -1
- package/app/.next/server/chunks/ssr/_19b3d5b1._.js +1 -1
- package/app/.next/server/chunks/ssr/open-sse_config_providerModels_ts_4cac55e2._.js +1 -1
- package/app/.next/server/chunks/ssr/src_lib_initCloudSync_ts_982b9d4d._.js +1 -1
- package/app/.next/server/pages/500.html +2 -2
- package/app/.next/server/server-reference-manifest.js +1 -1
- package/app/.next/server/server-reference-manifest.json +1 -1
- package/app/.next/static/chunks/{58d319dd9faa8901.js → d1f1359e38f6b40a.js} +1 -1
- package/app/.next/static/chunks/{66870aa02a097795.js → fa0cdd9c7cf7222b.js} +1 -1
- package/app/CHANGELOG.md +31 -0
- package/app/docs/openapi.yaml +1 -1
- package/app/open-sse/config/providerRegistry.ts +4 -2
- package/app/open-sse/handlers/chatCore.ts +6 -4
- package/app/package-lock.json +2 -2
- package/app/package.json +1 -1
- package/app/src/app/api/v1/models/catalog.ts +60 -1
- package/app/src/lib/tokenHealthCheck.ts +24 -6
- package/package.json +1 -1
- /package/app/.next/static/{kq8q3NRT_-3D_qpyiBgIN → IflDsSCpfe7S_9YDKUH5D}/_buildManifest.js +0 -0
- /package/app/.next/static/{kq8q3NRT_-3D_qpyiBgIN → IflDsSCpfe7S_9YDKUH5D}/_clientMiddlewareManifest.json +0 -0
- /package/app/.next/static/{kq8q3NRT_-3D_qpyiBgIN → IflDsSCpfe7S_9YDKUH5D}/_ssgManifest.js +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[958301,503070,a=>{"use strict";var b=a.i(446786);let c=Object.freeze(["temperature","top_p","frequency_penalty","presence_penalty","logprobs","top_logprobs","n"]),d={format:"claude",executor:"default",baseUrl:"https://api.kimi.com/coding/v1/messages",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}]},e={claude:{id:"claude",alias:"cc",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"oauth",authHeader:"x-api-key",defaultContextLength:2e5,headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.63 (external, cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.3.0","X-Stainless-Package-Version":"0.74.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":function(){switch((0,b.arch)()){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${(0,b.arch)()}`}}(),"X-Stainless-Os":function(){switch((0,b.platform)()){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";default:return`Other::${(0,b.platform)()}`}}(),"X-Stainless-Timeout":"600"},oauth:{clientIdEnv:"CLAUDE_OAUTH_CLIENT_ID",clientIdDefault:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://console.anthropic.com/v1/oauth/token"},models:[{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude 4.6 Sonnet"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}]},gemini:{id:"gemini",alias:"gemini",format:"gemini",executor:"default",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",urlBuilder:(a,b,c)=>`${a}/${b}:${c?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"apikey",authHeader:"x-goog-api-key",defaultContextLength:1e6,oauth:{clientIdEnv:"GEMINI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3-1-pro",name:"Gemini 3.1 Pro (Alt ID)"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash Exp"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro"},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash"}]},"gemini-cli":{id:"gemini-cli",alias:"gc",format:"gemini-cli",executor:"gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",urlBuilder:(a,b,c)=>`${a}:${c?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"oauth",authHeader:"bearer",defaultContextLength:1e6,oauth:{clientIdEnv:"GEMINI_CLI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_CLI_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3-1-pro",name:"Gemini 3.1 Pro (Alt ID)"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro"},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash"}]},codex:{id:"codex",alias:"cx",format:"openai-responses",executor:"codex",baseUrl:"https://chatgpt.com/backend-api/codex/responses",authType:"oauth",authHeader:"bearer",defaultContextLength:4e5,headers:{Version:"0.92.0","Openai-Beta":"responses=experimental","User-Agent":"codex-cli/0.92.0 (Windows 10.0.26100; x64)"},oauth:{clientIdEnv:"CODEX_OAUTH_CLIENT_ID",clientIdDefault:"app_EMoamEEZ73f0CkXaXp7hrann",clientSecretEnv:"CODEX_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://auth.openai.com/oauth/token"},models:[{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini"},{id:"gpt-5.1-codex-mini-high",name:"GPT 5.1 Codex Mini (High)"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max"},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex"},{id:"gpt-5.1",name:"GPT 5.1"},{id:"gpt-5-codex",name:"GPT 5 Codex"},{id:"gpt-5-codex-mini",name:"GPT 5 Codex Mini"}]},qwen:{id:"qwen",alias:"qw",format:"openai",executor:"default",baseUrl:"https://portal.qwen.ai/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"QwenCode/0.12.3 (linux; x64)","X-Dashscope-AuthType":"qwen-oauth","X-Dashscope-CacheControl":"enable","X-Dashscope-UserAgent":"QwenCode/0.12.3 (linux; x64)","X-Stainless-Arch":"x64","X-Stainless-Lang":"js","X-Stainless-Os":"Linux","X-Stainless-Package-Version":"5.11.0","X-Stainless-Retry-Count":"1","X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":"v18.19.1",Connection:"keep-alive","Accept-Language":"*","Sec-Fetch-Mode":"cors"},oauth:{clientIdEnv:"QWEN_OAUTH_CLIENT_ID",clientIdDefault:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"},{id:"coder-model",name:"Qwen3.5 (Coder Model)"}]},iflow:{id:"iflow",alias:"if",format:"openai",executor:"iflow",baseUrl:"https://apis.iflow.cn/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"iFlow-Cli"},oauth:{clientIdEnv:"IFLOW_OAUTH_CLIENT_ID",clientIdDefault:"10009311001",clientSecretEnv:"IFLOW_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},models:[{id:"iflow-rome-30ba3b",name:"iFlow ROME"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 Vision Plus"},{id:"kimi-k2-0905",name:"Kimi K2 0905"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek-V3.2-Exp"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"deepseek-v3",name:"DeepSeek V3"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b",name:"Qwen3 235B"}]},antigravity:{id:"antigravity",alias:"ag",format:"antigravity",executor:"antigravity",baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com","https://cloudcode-pa.googleapis.com"],urlBuilder:(a,b,c)=>`${a}${c?"/v1internal:streamGenerateContent?alt=sse":"/v1internal:generateContent"}`,authType:"oauth",authHeader:"bearer",headers:{"User-Agent":`antigravity/1.107.0 ${(0,b.platform)()}/${(0,b.arch)()}`},oauth:{clientIdEnv:"ANTIGRAVITY_OAUTH_CLIENT_ID",clientIdDefault:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecretEnv:"ANTIGRAVITY_OAUTH_CLIENT_SECRET",clientSecretDefault:"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"},models:[{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gpt-oss-120b-medium",name:"GPT OSS 120B Medium"},{id:"gpt-5",name:"GPT 5"},{id:"gpt-5-mini",name:"GPT 5 Mini"}],passthroughModels:!0},github:{id:"github",alias:"gh",format:"openai",executor:"github",baseUrl:"https://api.githubcopilot.com/chat/completions",responsesBaseUrl:"https://api.githubcopilot.com/responses",authType:"oauth",authHeader:"bearer",defaultContextLength:128e3,headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},models:[{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4",name:"GPT-4"},{id:"gpt-3.5-turbo",name:"GPT-3.5 Turbo"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-codex",name:"GPT-5 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",targetFormat:"openai-responses"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",targetFormat:"openai-responses"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.1",name:"Claude Opus 4.1"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5 (Full ID)"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"}]},kiro:{id:"kiro",alias:"kr",format:"kiro",executor:"kiro",baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",authType:"oauth",authHeader:"bearer",defaultContextLength:2e5,headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},oauth:{tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},models:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"}]},cursor:{id:"cursor",alias:"cu",format:"cursor",executor:"cursor",baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",authType:"oauth",authHeader:"bearer",defaultContextLength:2e5,headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"1.1.3",models:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"}]},openai:{id:"openai",alias:"openai",format:"openai",executor:"default",baseUrl:"https://api.openai.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",defaultContextLength:128e3,models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"o1",name:"O1",unsupportedParams:c},{id:"o1-mini",name:"O1 Mini",unsupportedParams:c},{id:"o1-pro",name:"O1 Pro",unsupportedParams:c},{id:"o3",name:"O3",unsupportedParams:c},{id:"o3-mini",name:"O3 Mini",unsupportedParams:c}]},anthropic:{id:"anthropic",alias:"anthropic",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",defaultContextLength:2e5,headers:{"Anthropic-Version":"2023-06-01"},models:[{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-sonnet-4-6-20251031",name:"Claude Sonnet 4.6 (Dated)"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-opus-4-6-20251031",name:"Claude Opus 4.6 (Dated)"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}]},"opencode-go":{id:"opencode-go",alias:"opencode-go",format:"openai",executor:"opencode",baseUrl:"https://opencode.ai/zen/go/v1",testKeyBaseUrl:"https://opencode.ai/zen/v1",authType:"apikey",authHeader:"Authorization",authPrefix:"Bearer",defaultContextLength:2e5,models:[{id:"glm-5",name:"GLM-5"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"minimax-m2.7",name:"MiniMax M2.7",targetFormat:"claude"},{id:"minimax-m2.5",name:"MiniMax M2.5",targetFormat:"claude"}]},"opencode-zen":{id:"opencode-zen",alias:"opencode-zen",format:"openai",executor:"opencode",baseUrl:"https://opencode.ai/zen/v1",modelsUrl:"https://opencode.ai/zen/v1/models",authType:"apikey",authHeader:"Authorization",authPrefix:"Bearer",defaultContextLength:2e5,models:[{id:"minimax-m2.5-free",name:"MiniMax M2.5 Free"},{id:"big-pickle",name:"Big Pickle"},{id:"gpt-5-nano",name:"GPT 5 Nano"}]},openrouter:{id:"openrouter",alias:"openrouter",format:"openai",executor:"default",baseUrl:"https://openrouter.ai/api/v1/chat/completions",authType:"apikey",authHeader:"bearer",defaultContextLength:128e3,headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"},models:[{id:"auto",name:"Auto (Best Available)"}]},glm:{id:"glm",alias:"glm",format:"claude",executor:"default",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",defaultContextLength:2e5,urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"glm-5",name:"GLM 5"},{id:"glm-5-turbo",name:"GLM 5 Turbo"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"},{id:"glm-4.6",name:"GLM 4.6"},{id:"glm-4.5v",name:"GLM 4.5V (Vision)"},{id:"glm-4.5",name:"GLM 4.5"},{id:"glm-4.5-air",name:"GLM 4.5 Air"},{id:"glm-4-32b",name:"GLM 4 32B"}]},"bailian-coding-plan":{id:"bailian-coding-plan",alias:"bcp",format:"claude",executor:"default",baseUrl:"https://coding-intl.dashscope.aliyuncs.com/apps/anthropic/v1/messages",chatPath:"/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max (2026-01-23)"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"kimi-k2.5",name:"Kimi K2.5"}]},zai:{id:"zai",alias:"zai",format:"claude",executor:"default",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"glm-5",name:"GLM 5"},{id:"glm-5-turbo",name:"GLM 5 Turbo"}]},kimi:{id:"kimi",alias:"kimi",format:"openai",executor:"default",baseUrl:"https://api.moonshot.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"},{id:"kimi-for-coding",name:"Kimi For Coding"}]},"kimi-coding":{id:"kimi-coding",alias:"kmc",...d,urlSuffix:"?beta=true",authType:"oauth",oauth:{clientIdEnv:"KIMI_CODING_OAUTH_CLIENT_ID",clientIdDefault:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",authUrl:"https://auth.kimi.com/api/oauth/device_authorization"}},"kimi-coding-apikey":{id:"kimi-coding-apikey",alias:"kmca",...d,authType:"apikey"},kilocode:{id:"kilocode",alias:"kc",format:"openrouter",executor:"openrouter",baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",modelsUrl:"https://api.kilo.ai/api/openrouter/models",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},models:[{id:"openrouter/free",name:"Free Models Router"},{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen3 VL 235B A22B Thinking"},{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen3 VL 30B A3B Thinking"},{id:"stepfun/step-3.5-flash:free",name:"StepFun Step 3.5 Flash"},{id:"arcee-ai/trinity-large-preview:free",name:"Arcee AI Trinity Large Preview"},{id:"openai/gpt-4o-mini",name:"GPT-4o Mini"},{id:"openai/gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"openai/gpt-5-nano",name:"GPT-5 Nano"},{id:"openai/gpt-5-mini",name:"GPT-5 Mini"},{id:"anthropic/claude-3-haiku",name:"Claude 3 Haiku"},{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek V3.1"},{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"meta-llama/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-scout",name:"Llama 4 Scout"},{id:"meta-llama/llama-4-maverick",name:"Llama 4 Maverick"},{id:"qwen/qwen3-8b",name:"Qwen3 8B"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"qwen/qwen3-coder",name:"Qwen3 Coder 480B"},{id:"qwen/qwq-32b",name:"QwQ 32B"},{id:"mistralai/mistral-small-24b-instruct-2501",name:"Mistral Small 3"},{id:"mistralai/mistral-7b-instruct",name:"Mistral 7B"},{id:"x-ai/grok-code-fast-1",name:"Grok Code Fast 1"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"}],passthroughModels:!0},cline:{id:"cline",alias:"cl",format:"openai",executor:"openai",baseUrl:"https://api.cline.bot/api/v1/chat/completions",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",authUrl:"https://api.cline.bot/api/v1/auth/authorize"},extraHeaders:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},models:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"}],passthroughModels:!0},minimax:{id:"minimax",alias:"minimax",format:"claude",executor:"default",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"minimax-m2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.7",name:"MiniMax M2.7 (Legacy Alias)"},{id:"minimax-m2.7-highspeed",name:"MiniMax M2.7 Highspeed"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5 (Legacy Alias)"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",format:"claude",executor:"default",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"minimax-m2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.7",name:"MiniMax M2.7 (Legacy Alias)"},{id:"minimax-m2.7-highspeed",name:"MiniMax M2.7 Highspeed"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5 (Legacy Alias)"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},alicode:{id:"alicode",alias:"alicode",format:"openai",executor:"default",baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",format:"openai",executor:"default",baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},deepseek:{id:"deepseek",alias:"ds",format:"openai",executor:"default",baseUrl:"https://api.deepseek.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}]},groq:{id:"groq",alias:"groq",format:"openai",executor:"default",baseUrl:"https://api.groq.com/openai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"}]},blackbox:{id:"blackbox",alias:"bb",format:"openai",executor:"default",baseUrl:"https://api.blackbox.ai/v1/chat/completions",modelsUrl:"https://api.blackbox.ai/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"deepseek-v3",name:"DeepSeek V3"},{id:"blackboxai",name:"Blackbox AI"},{id:"blackboxai-pro",name:"Blackbox AI Pro"}]},xai:{id:"xai",alias:"xai",format:"openai",executor:"default",baseUrl:"https://api.x.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"grok-4-fast-non-reasoning",name:"Grok 4 Fast"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-4-1-fast-non-reasoning",name:"Grok 4.1 Fast"},{id:"grok-4-1-fast-reasoning",name:"Grok 4.1 Fast Reasoning"},{id:"grok-4-0709",name:"Grok 4 (0709)"},{id:"grok-4",name:"Grok 4"},{id:"grok-3",name:"Grok 3"},{id:"grok-3-mini",name:"Grok 3 Mini"}]},mistral:{id:"mistral",alias:"mistral",format:"openai",executor:"default",baseUrl:"https://api.mistral.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"}]},perplexity:{id:"perplexity",alias:"pplx",format:"openai",executor:"default",baseUrl:"https://api.perplexity.ai/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}]},together:{id:"together",alias:"together",format:"openai",executor:"default",baseUrl:"https://api.together.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo-Free",name:"Llama 3.3 70B Turbo (🆓 Free)"},{id:"meta-llama/Llama-Vision-Free",name:"Llama Vision (🆓 Free)"},{id:"deepseek-ai/DeepSeek-R1-Distill-Llama-70B-Free",name:"DeepSeek R1 Distill 70B (🆓 Free)"},{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"}]},fireworks:{id:"fireworks",alias:"fireworks",format:"openai",executor:"default",baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"}]},cerebras:{id:"cerebras",alias:"cerebras",format:"openai",executor:"default",baseUrl:"https://api.cerebras.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}]},"ollama-cloud":{id:"ollama-cloud",alias:"ollamacloud",format:"openai",executor:"default",baseUrl:"https://api.ollama.com/v1/chat/completions",modelsUrl:"https://api.ollama.com/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"gemma3:27b",name:"Gemma 3 27B"},{id:"llama3.3:70b",name:"Llama 3.3 70B"},{id:"qwen3:72b",name:"Qwen3 72B"},{id:"devstral:24b",name:"Devstral 24B"},{id:"deepseek-r2:671b",name:"DeepSeek R2 671B"},{id:"phi4:14b",name:"Phi 4 14B"},{id:"mistral-small3.2:24b",name:"Mistral Small 3.2 24B"}],passthroughModels:!0},cohere:{id:"cohere",alias:"cohere",format:"openai",executor:"default",baseUrl:"https://api.cohere.com/v2/chat",authType:"apikey",authHeader:"bearer",models:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}]},nvidia:{id:"nvidia",alias:"nvidia",format:"openai",executor:"default",baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-oss-120b",name:"GPT OSS 120B",toolCalling:!1},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B (OpenAI Prefix)",toolCalling:!1},{id:"meta/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"nvidia/llama-3.3-70b-instruct",name:"Llama 3.3 70B (NVIDIA Prefix)"},{id:"meta/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"z-ai/glm4.7",name:"GLM 4.7"},{id:"deepseek-ai/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"deepseek/deepseek-r1",name:"DeepSeek R1"},{id:"nvidia/llama-3.1-70b-instruct",name:"Llama 3.1 70B"},{id:"nvidia/llama-3.1-405b-instruct",name:"Llama 3.1 405B"}]},nebius:{id:"nebius",alias:"nebius",format:"openai",executor:"default",baseUrl:"https://api.tokenfactory.nebius.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"}]},siliconflow:{id:"siliconflow",alias:"siliconflow",format:"openai",executor:"default",baseUrl:"https://api.siliconflow.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B"},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B"},{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-4.7",name:"GLM 4.7"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"baidu/ERNIE-4.5-300B-A47B",name:"ERNIE 4.5 300B"}]},hyperbolic:{id:"hyperbolic",alias:"hyp",format:"openai",executor:"default",baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}]},huggingface:{id:"huggingface",alias:"hf",format:"openai",executor:"default",baseUrl:"https://router.huggingface.co/hf-inference/models/meta-llama/Meta-Llama-3.1-70B-Instruct/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Meta-Llama-3.1-70B-Instruct",name:"Llama 3.1 70B Instruct"},{id:"meta-llama/Meta-Llama-3.1-8B-Instruct",name:"Llama 3.1 8B Instruct"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"mistralai/Mistral-7B-Instruct-v0.3",name:"Mistral 7B v0.3"},{id:"microsoft/Phi-3.5-mini-instruct",name:"Phi-3.5 Mini"}]},synthetic:{id:"synthetic",alias:"synthetic",format:"openai",executor:"default",baseUrl:"https://api.synthetic.new/openai/v1/chat/completions",modelsUrl:"https://api.synthetic.new/openai/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"hf:nvidia/Kimi-K2.5-NVFP4",name:"Kimi K2.5 (NVFP4)"},{id:"hf:MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"hf:zai-org/GLM-4.7-Flash",name:"GLM 4.7 Flash"},{id:"hf:zai-org/GLM-4.7",name:"GLM 4.7"},{id:"hf:moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"hf:deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"}],passthroughModels:!0},"kilo-gateway":{id:"kilo-gateway",alias:"kg",format:"openai",executor:"default",baseUrl:"https://api.kilo.ai/api/gateway/chat/completions",modelsUrl:"https://api.kilo.ai/api/gateway/models",authType:"apikey",authHeader:"bearer",models:[{id:"kilo-auto/frontier",name:"Kilo Auto Frontier"},{id:"kilo-auto/balanced",name:"Kilo Auto Balanced"},{id:"kilo-auto/free",name:"Kilo Auto Free"},{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"Nemotron 3 Super 120B (Free)"},{id:"minimax/minimax-m2.5:free",name:"MiniMax M2.5 (Free)"},{id:"arcee-ai/trinity-large-preview:free",name:"Trinity Large Preview (Free)"}],passthroughModels:!0},vertex:{id:"vertex",alias:"vertex",format:"gemini",executor:"vertex",baseUrl:"https://us-central1-aiplatform.googleapis.com/v1/projects",urlBuilder:(a,b,c)=>`https://generativelanguage.googleapis.com/v1beta/models/${b}:${c?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"apikey",authHeader:"bearer",models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview (Vertex)"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview (Vertex)"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview (Vertex)"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Vertex)"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash (Vertex)"},{id:"gemini-2.0-flash-thinking-exp",name:"Gemini 2.0 Flash Thinking Exp (Vertex)"},{id:"gemma-2-27b-it",name:"Gemma 2 27B (Vertex)"},{id:"deepseek-v3.2",name:"DeepSeek V3.2 (Vertex Partner)"},{id:"qwen3-next-80b",name:"Qwen3 Next 80B (Vertex Partner)"},{id:"glm-5",name:"GLM-5 (Vertex Partner)"},{id:"claude-opus-4-5@20251101",name:"Claude Opus 4.5 (Vertex)"},{id:"claude-sonnet-4-5@20251101",name:"Claude Sonnet 4.5 (Vertex)"}]},alibaba:{id:"alibaba",alias:"ali",format:"openai",executor:"default",baseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions",modelsUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"qwen-max",name:"Qwen Max"},{id:"qwen-max-2025-01-25",name:"Qwen Max (2025-01-25)"},{id:"qwen-plus",name:"Qwen Plus"},{id:"qwen-plus-2025-07-14",name:"Qwen Plus (2025-07-14)"},{id:"qwen-turbo",name:"Qwen Turbo"},{id:"qwen-turbo-2025-11-01",name:"Qwen Turbo (2025-11-01)"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"qwq-plus",name:"QwQ Plus (Reasoning)"},{id:"qwq-32b",name:"QwQ 32B"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"qwen3-235b-a22b",name:"Qwen3 235B A22B"}],passthroughModels:!0},longcat:{id:"longcat",alias:"lc",format:"openai",executor:"default",baseUrl:"https://api.longcat.chat/openai/v1/chat/completions",authType:"apikey",authHeader:"Authorization",authPrefix:"Bearer",models:[{id:"LongCat-Flash-Lite",name:"LongCat Flash-Lite (50M tok/day 🆓)"},{id:"LongCat-Flash-Chat",name:"LongCat Flash-Chat (500K tok/day 🆓)"},{id:"LongCat-Flash-Thinking",name:"LongCat Flash-Thinking (500K tok/day 🆓)"},{id:"LongCat-Flash-Thinking-2601",name:"LongCat Flash-Thinking-2601 (🆓)"},{id:"LongCat-Flash-Omni-2603",name:"LongCat Flash-Omni-2603 (🆓)"}]},pollinations:{id:"pollinations",alias:"pol",format:"openai",executor:"pollinations",baseUrl:"https://text.pollinations.ai/openai/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"openai",name:"GPT-5 via Pollinations (🆓)"},{id:"claude",name:"Claude via Pollinations (🆓)"},{id:"gemini",name:"Gemini via Pollinations (🆓)"},{id:"deepseek",name:"DeepSeek V3 via Pollinations (🆓)"},{id:"llama",name:"Llama 4 via Pollinations (🆓)"},{id:"mistral",name:"Mistral via Pollinations (🆓)"}]},puter:{id:"puter",alias:"pu",format:"openai",executor:"puter",baseUrl:"https://api.puter.com/puterai/openai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o-mini",name:"GPT-4o Mini (🆓 Puter)"},{id:"gpt-4o",name:"GPT-4o (Puter)"},{id:"gpt-4.1",name:"GPT-4.1 (Puter)"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini (Puter)"},{id:"gpt-5-nano",name:"GPT-5 Nano (Puter)"},{id:"gpt-5-mini",name:"GPT-5 Mini (Puter)"},{id:"gpt-5",name:"GPT-5 (Puter)"},{id:"o3-mini",name:"OpenAI o3-mini (Puter)"},{id:"o3",name:"OpenAI o3 (Puter)"},{id:"o4-mini",name:"OpenAI o4-mini (Puter)"},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5 (Puter)"},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (Puter)"},{id:"claude-opus-4-5",name:"Claude Opus 4.5 (Puter)"},{id:"claude-sonnet-4",name:"Claude Sonnet 4 (Puter)"},{id:"claude-opus-4",name:"Claude Opus 4 (Puter)"},{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash (Puter)"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash (Puter)"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro (Puter)"},{id:"google/gemini-3-flash",name:"Gemini 3 Flash (Puter)"},{id:"google/gemini-3-pro",name:"Gemini 3 Pro (Puter)"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat (Puter)"},{id:"deepseek/deepseek-r1",name:"DeepSeek R1 (Puter)"},{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2 (Puter)"},{id:"x-ai/grok-3",name:"Grok 3 (Puter)"},{id:"x-ai/grok-3-mini",name:"Grok 3 Mini (Puter)"},{id:"x-ai/grok-4",name:"Grok 4 (Puter)"},{id:"x-ai/grok-4-fast",name:"Grok 4 Fast (Puter)"},{id:"llama-4-scout",name:"Llama 4 Scout (Puter)"},{id:"llama-4-maverick",name:"Llama 4 Maverick (Puter)"},{id:"llama-3.3-70b-instruct",name:"Llama 3.3 70B (Puter)"},{id:"mistral-small-latest",name:"Mistral Small (Puter)"},{id:"mistral-medium-latest",name:"Mistral Medium (Puter)"},{id:"open-mistral-nemo",name:"Mistral Nemo (Puter)"},{id:"qwen/qwen3-235b-a22b",name:"Qwen3 235B (Puter)"},{id:"qwen/qwen3-32b",name:"Qwen3 32B (Puter)"},{id:"qwen/qwen3-coder",name:"Qwen3 Coder 480B (Puter)"}],passthroughModels:!0},"cloudflare-ai":{id:"cloudflare-ai",alias:"cf",format:"openai",executor:"cloudflare-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts",authType:"apikey",authHeader:"bearer",models:[{id:"@cf/meta/llama-3.3-70b-instruct",name:"Llama 3.3 70B (🆓 ~150 resp/day)"},{id:"@cf/meta/llama-3.1-8b-instruct",name:"Llama 3.1 8B (🆓)"},{id:"@cf/google/gemma-3-12b-it",name:"Gemma 3 12B (🆓)"},{id:"@cf/mistral/mistral-7b-instruct-v0.2-lora",name:"Mistral 7B (🆓)"},{id:"@cf/qwen/qwen2.5-coder-15b-instruct",name:"Qwen 2.5 Coder 15B (🆓)"},{id:"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill 32B (🆓)"}]},scaleway:{id:"scaleway",alias:"scw",format:"openai",executor:"default",baseUrl:"https://api.scaleway.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B (1M free tok 🆓)"},{id:"llama-3.1-70b-instruct",name:"Llama 3.1 70B (🆓 EU)"},{id:"llama-3.1-8b-instruct",name:"Llama 3.1 8B (🆓 EU)"},{id:"mistral-small-3.2-24b-instruct-2506",name:"Mistral Small 3.2 (🆓 EU)"},{id:"deepseek-v3-0324",name:"DeepSeek V3 (🆓 EU)"},{id:"gpt-oss-120b",name:"GPT-OSS 120B (🆓 EU)"}]},aimlapi:{id:"aimlapi",alias:"aiml",format:"openai",executor:"default",baseUrl:"https://api.aimlapi.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o (via AI/ML API)"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet (via AI/ML API)"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro (via AI/ML API)"},{id:"meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo",name:"Llama 3.1 70B (via AI/ML API)"},{id:"deepseek-chat",name:"DeepSeek Chat (via AI/ML API)"},{id:"mistral-large-latest",name:"Mistral Large (via AI/ML API)"}],passthroughModels:!0}};function f(){let a={};for(let[b,c]of Object.entries(e)){let d={format:c.format};c.baseUrls?d.baseUrls=c.baseUrls:c.baseUrl&&(d.baseUrl=c.baseUrl),c.responsesBaseUrl&&(d.responsesBaseUrl=c.responsesBaseUrl);let e={...c.headers||{},...c.extraHeaders||{}};Object.keys(e).length>0&&(d.headers=e),c.oauth&&(c.oauth.clientIdEnv&&(d.clientId=process.env[c.oauth.clientIdEnv]||c.oauth.clientIdDefault),c.oauth.clientSecretEnv&&(d.clientSecret=process.env[c.oauth.clientSecretEnv]||c.oauth.clientSecretDefault),c.oauth.tokenUrl&&(d.tokenUrl=c.oauth.tokenUrl),c.oauth.refreshUrl&&(d.refreshUrl=c.oauth.refreshUrl),c.oauth.authUrl&&(d.authUrl=c.oauth.authUrl)),c.chatPath&&(d.chatPath=c.chatPath),c.clientVersion&&(d.clientVersion=c.clientVersion),a[b]=d}return a}function g(){let a={};for(let b of Object.values(e))if(b.models&&b.models.length>0){let c=b.alias||b.id;a[c]||(a[c]=b.models)}return a}function h(){let a={};for(let b of Object.values(e))a[b.id]=b.alias||b.id;return a}[..."u">typeof process&&process.env.LOCAL_HOSTNAMES?process.env.LOCAL_HOSTNAMES.split(",").map(a=>a.trim()).filter(Boolean):[]];let i=new Map;for(let a of Object.values(e))a.alias&&a.alias!==a.id&&i.set(a.alias,a);let j=new Map;for(let a of Object.values(e))for(let b of a.models)b.unsupportedParams&&!j.has(b.id)&&j.set(b.id,b.unsupportedParams);a.s(["generateAliasMap",()=>h,"generateLegacyProviders",()=>f,"generateModels",()=>g],503070);let k=g(),l=h();function m(a){return k[a]||[]}function n(a){let b=k[a];return b?.[0]?.id||null}function o(a,b,c=new Set){if(c.has(a))return!0;let d=k[a];return!!d&&d.some(a=>a.id===b)}function p(a,b){let c=k[a];if(!c)return b;let d=c.find(a=>a.id===b);return d?.name||b}function q(a,b){let c=k[a];if(!c)return null;let d=c.find(a=>a.id===b);return d?.targetFormat||null}function r(a){return k[l[a]||a]||[]}a.s(["PROVIDER_ID_TO_ALIAS",0,l,"PROVIDER_MODELS",0,k,"findModelName",()=>p,"getDefaultModel",()=>n,"getModelTargetFormat",()=>q,"getModelsByProviderId",()=>r,"getProviderModels",()=>m,"isValidModel",()=>o],958301)}];
|
|
1
|
+
module.exports=[958301,503070,a=>{"use strict";var b=a.i(446786);let c=Object.freeze(["temperature","top_p","frequency_penalty","presence_penalty","logprobs","top_logprobs","n"]),d={format:"claude",executor:"default",baseUrl:"https://api.kimi.com/coding/v1/messages",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"}]},e={claude:{id:"claude",alias:"cc",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"oauth",authHeader:"x-api-key",defaultContextLength:2e5,headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,oauth-2025-04-20,interleaved-thinking-2025-05-14,fine-grained-tool-streaming-2025-05-14,context-management-2025-06-27,prompt-caching-scope-2026-01-05","Anthropic-Dangerous-Direct-Browser-Access":"true","User-Agent":"claude-cli/2.1.63 (external, cli)","X-App":"cli","X-Stainless-Helper-Method":"stream","X-Stainless-Retry-Count":"0","X-Stainless-Runtime-Version":"v24.3.0","X-Stainless-Package-Version":"0.74.0","X-Stainless-Runtime":"node","X-Stainless-Lang":"js","X-Stainless-Arch":function(){switch((0,b.arch)()){case"x64":return"x64";case"arm64":return"arm64";case"ia32":return"x86";default:return`other::${(0,b.arch)()}`}}(),"X-Stainless-Os":function(){switch((0,b.platform)()){case"darwin":return"MacOS";case"win32":return"Windows";case"linux":return"Linux";default:return`Other::${(0,b.platform)()}`}}(),"X-Stainless-Timeout":"600"},oauth:{clientIdEnv:"CLAUDE_OAUTH_CLIENT_ID",clientIdDefault:"9d1c250a-e61b-44d9-88ed-5944d1962f5e",tokenUrl:"https://console.anthropic.com/v1/oauth/token"},models:[{id:"claude-opus-4-6",name:"Claude Opus 4.6"},{id:"claude-sonnet-4-6",name:"Claude 4.6 Sonnet"},{id:"claude-opus-4-5-20251101",name:"Claude 4.5 Opus"},{id:"claude-sonnet-4-5-20250929",name:"Claude 4.5 Sonnet"},{id:"claude-haiku-4-5-20251001",name:"Claude 4.5 Haiku"}]},gemini:{id:"gemini",alias:"gemini",format:"gemini",executor:"default",baseUrl:"https://generativelanguage.googleapis.com/v1beta/models",urlBuilder:(a,b,c)=>`${a}/${b}:${c?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"apikey",authHeader:"x-goog-api-key",defaultContextLength:1e6,oauth:{clientIdEnv:"GEMINI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3-1-pro",name:"Gemini 3.1 Pro (Alt ID)"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash Exp"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro"},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash"}]},"gemini-cli":{id:"gemini-cli",alias:"gc",format:"gemini-cli",executor:"gemini-cli",baseUrl:"https://cloudcode-pa.googleapis.com/v1internal",urlBuilder:(a,b,c)=>`${a}:${c?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"oauth",authHeader:"bearer",defaultContextLength:1e6,oauth:{clientIdEnv:"GEMINI_CLI_OAUTH_CLIENT_ID",clientIdDefault:"681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com",clientSecretEnv:"GEMINI_CLI_OAUTH_CLIENT_SECRET",clientSecretDefault:""},models:[{id:"gemini-3.1-pro-high",name:"Gemini 3.1 Pro High"},{id:"gemini-3.1-pro-low",name:"Gemini 3.1 Pro Low"},{id:"gemini-3.1-pro",name:"Gemini 3.1 Pro"},{id:"gemini-3-1-pro",name:"Gemini 3.1 Pro (Alt ID)"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro"},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash"}]},codex:{id:"codex",alias:"cx",format:"openai-responses",executor:"codex",baseUrl:"https://chatgpt.com/backend-api/codex/responses",authType:"oauth",authHeader:"bearer",defaultContextLength:4e5,headers:{Version:"0.92.0","Openai-Beta":"responses=experimental","User-Agent":"codex-cli/0.92.0 (Windows 10.0.26100; x64)"},oauth:{clientIdEnv:"CODEX_OAUTH_CLIENT_ID",clientIdDefault:"app_EMoamEEZ73f0CkXaXp7hrann",clientSecretEnv:"CODEX_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://auth.openai.com/oauth/token"},models:[{id:"gpt-5.4",name:"GPT 5.4"},{id:"gpt-5.3-codex",name:"GPT 5.3 Codex"},{id:"gpt-5.3-codex-xhigh",name:"GPT 5.3 Codex (xHigh)"},{id:"gpt-5.3-codex-high",name:"GPT 5.3 Codex (High)"},{id:"gpt-5.3-codex-low",name:"GPT 5.3 Codex (Low)"},{id:"gpt-5.3-codex-none",name:"GPT 5.3 Codex (None)"},{id:"gpt-5.1-codex-mini",name:"GPT 5.1 Codex Mini"},{id:"gpt-5.1-codex-mini-high",name:"GPT 5.1 Codex Mini (High)"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"},{id:"gpt-5.2",name:"GPT 5.2"},{id:"gpt-5.1-codex-max",name:"GPT 5.1 Codex Max"},{id:"gpt-5.1-codex",name:"GPT 5.1 Codex"},{id:"gpt-5.1",name:"GPT 5.1"},{id:"gpt-5-codex",name:"GPT 5 Codex"},{id:"gpt-5-codex-mini",name:"GPT 5 Codex Mini"}]},qwen:{id:"qwen",alias:"qw",format:"openai",executor:"default",baseUrl:"https://portal.qwen.ai/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"QwenCode/0.12.3 (linux; x64)","X-Dashscope-AuthType":"qwen-oauth","X-Dashscope-CacheControl":"enable","X-Dashscope-UserAgent":"QwenCode/0.12.3 (linux; x64)","X-Stainless-Arch":"x64","X-Stainless-Lang":"js","X-Stainless-Os":"Linux","X-Stainless-Package-Version":"5.11.0","X-Stainless-Retry-Count":"1","X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":"v18.19.1",Connection:"keep-alive","Accept-Language":"*","Sec-Fetch-Mode":"cors"},oauth:{clientIdEnv:"QWEN_OAUTH_CLIENT_ID",clientIdDefault:"f0304373b74a44d2b584a3fb70ca9e56",tokenUrl:"https://chat.qwen.ai/api/v1/oauth2/token",authUrl:"https://chat.qwen.ai/api/v1/oauth2/device/code"},models:[{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"vision-model",name:"Qwen3 Vision Model"},{id:"coder-model",name:"Qwen3.5 (Coder Model)"}]},iflow:{id:"iflow",alias:"if",format:"openai",executor:"iflow",baseUrl:"https://apis.iflow.cn/v1/chat/completions",authType:"oauth",authHeader:"bearer",headers:{"User-Agent":"iFlow-Cli"},oauth:{clientIdEnv:"IFLOW_OAUTH_CLIENT_ID",clientIdDefault:"10009311001",clientSecretEnv:"IFLOW_OAUTH_CLIENT_SECRET",clientSecretDefault:"",tokenUrl:"https://iflow.cn/oauth/token",authUrl:"https://iflow.cn/oauth"},models:[{id:"iflow-rome-30ba3b",name:"iFlow ROME"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-max",name:"Qwen3 Max"},{id:"qwen3-vl-plus",name:"Qwen3 Vision Plus"},{id:"kimi-k2-0905",name:"Kimi K2 0905"},{id:"qwen3-max-preview",name:"Qwen3 Max Preview"},{id:"kimi-k2",name:"Kimi K2"},{id:"deepseek-v3.2",name:"DeepSeek-V3.2-Exp"},{id:"deepseek-r1",name:"DeepSeek R1"},{id:"deepseek-v3",name:"DeepSeek V3"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"qwen3-235b-a22b-instruct",name:"Qwen3 235B A22B Instruct"},{id:"qwen3-235b",name:"Qwen3 235B"}]},antigravity:{id:"antigravity",alias:"ag",format:"antigravity",executor:"antigravity",baseUrls:["https://daily-cloudcode-pa.googleapis.com","https://daily-cloudcode-pa.sandbox.googleapis.com","https://cloudcode-pa.googleapis.com"],urlBuilder:(a,b,c)=>`${a}${c?"/v1internal:streamGenerateContent?alt=sse":"/v1internal:generateContent"}`,authType:"oauth",authHeader:"bearer",headers:{"User-Agent":`antigravity/1.107.0 ${(0,b.platform)()}/${(0,b.arch)()}`},oauth:{clientIdEnv:"ANTIGRAVITY_OAUTH_CLIENT_ID",clientIdDefault:"1071006060591-tmhssin2h21lcre235vtolojh4g403ep.apps.googleusercontent.com",clientSecretEnv:"ANTIGRAVITY_OAUTH_CLIENT_SECRET",clientSecretDefault:"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"},models:[{id:"claude-opus-4-6-thinking",name:"Claude Opus 4.6 Thinking"},{id:"claude-sonnet-4-6",name:"Claude Sonnet 4.6"},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"gpt-oss-120b-medium",name:"GPT OSS 120B Medium"},{id:"gpt-5",name:"GPT 5"},{id:"gpt-5-mini",name:"GPT 5 Mini"}],passthroughModels:!0},github:{id:"github",alias:"gh",format:"openai",executor:"github",baseUrl:"https://api.githubcopilot.com/chat/completions",responsesBaseUrl:"https://api.githubcopilot.com/responses",authType:"oauth",authHeader:"bearer",defaultContextLength:128e3,headers:{"copilot-integration-id":"vscode-chat","editor-version":"vscode/1.110.0","editor-plugin-version":"copilot-chat/0.38.0","user-agent":"GitHubCopilotChat/0.38.0","openai-intent":"conversation-panel","x-github-api-version":"2025-04-01","x-vscode-user-agent-library-version":"electron-fetch","X-Initiator":"user",Accept:"application/json","Content-Type":"application/json"},models:[{id:"gpt-4.1",name:"GPT-4.1"},{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4",name:"GPT-4"},{id:"gpt-3.5-turbo",name:"GPT-3.5 Turbo"},{id:"gpt-5",name:"GPT-5"},{id:"gpt-5-mini",name:"GPT-5 Mini"},{id:"gpt-5-codex",name:"GPT-5 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1",name:"GPT-5.1"},{id:"gpt-5.1-codex",name:"GPT-5.1 Codex",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-mini",name:"GPT-5.1 Codex Mini",targetFormat:"openai-responses"},{id:"gpt-5.1-codex-max",name:"GPT-5.1 Codex Max",targetFormat:"openai-responses"},{id:"gpt-5.2",name:"GPT-5.2"},{id:"gpt-5.2-codex",name:"GPT-5.2 Codex",targetFormat:"openai-responses"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-opus-4.1",name:"Claude Opus 4.1"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-opus-4-5-20251101",name:"Claude Opus 4.5 (Full ID)"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"grok-code-fast-1",name:"Grok Code Fast 1"},{id:"oswe-vscode-prime",name:"Raptor Mini"}]},kiro:{id:"kiro",alias:"kr",format:"kiro",executor:"kiro",baseUrl:"https://codewhisperer.us-east-1.amazonaws.com/generateAssistantResponse",authType:"oauth",authHeader:"bearer",defaultContextLength:2e5,headers:{"Content-Type":"application/json",Accept:"application/vnd.amazon.eventstream","X-Amz-Target":"AmazonCodeWhispererStreamingService.GenerateAssistantResponse","User-Agent":"AWS-SDK-JS/3.0.0 kiro-ide/1.0.0","X-Amz-User-Agent":"aws-sdk-js/3.0.0 kiro-ide/1.0.0"},oauth:{tokenUrl:"https://prod.us-east-1.auth.desktop.kiro.dev/refreshToken",authUrl:"https://prod.us-east-1.auth.desktop.kiro.dev"},models:[{id:"claude-sonnet-4.5",name:"Claude Sonnet 4.5"},{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"}]},cursor:{id:"cursor",alias:"cu",format:"cursor",executor:"cursor",baseUrl:"https://api2.cursor.sh",chatPath:"/aiserver.v1.ChatService/StreamUnifiedChatWithTools",authType:"oauth",authHeader:"bearer",defaultContextLength:2e5,headers:{"connect-accept-encoding":"gzip","connect-protocol-version":"1","Content-Type":"application/connect+proto","User-Agent":"connect-es/1.6.1"},clientVersion:"1.1.3",models:[{id:"default",name:"Auto (Server Picks)"},{id:"claude-4.5-opus-high-thinking",name:"Claude 4.5 Opus High Thinking"},{id:"claude-4.5-opus-high",name:"Claude 4.5 Opus High"},{id:"claude-4.5-sonnet-thinking",name:"Claude 4.5 Sonnet Thinking"},{id:"claude-4.5-sonnet",name:"Claude 4.5 Sonnet"},{id:"claude-4.5-haiku",name:"Claude 4.5 Haiku"},{id:"claude-4.5-opus",name:"Claude 4.5 Opus"},{id:"gpt-5.2-codex",name:"GPT 5.2 Codex"}]},openai:{id:"openai",alias:"openai",format:"openai",executor:"default",baseUrl:"https://api.openai.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",defaultContextLength:128e3,models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gpt-4o-mini",name:"GPT-4o Mini"},{id:"gpt-4-turbo",name:"GPT-4 Turbo"},{id:"o1",name:"O1",unsupportedParams:c},{id:"o1-mini",name:"O1 Mini",unsupportedParams:c},{id:"o1-pro",name:"O1 Pro",unsupportedParams:c},{id:"o3",name:"O3",unsupportedParams:c},{id:"o3-mini",name:"O3 Mini",unsupportedParams:c}]},anthropic:{id:"anthropic",alias:"anthropic",format:"claude",executor:"default",baseUrl:"https://api.anthropic.com/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",defaultContextLength:2e5,headers:{"Anthropic-Version":"2023-06-01"},models:[{id:"claude-haiku-4.5",name:"Claude Haiku 4.5"},{id:"claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"claude-sonnet-4-6-20251031",name:"Claude Sonnet 4.6 (Dated)"},{id:"claude-sonnet-4.6",name:"Claude Sonnet 4.6"},{id:"claude-opus-4-20250514",name:"Claude Opus 4"},{id:"claude-opus-4-6-20251031",name:"Claude Opus 4.6 (Dated)"},{id:"claude-opus-4.6",name:"Claude Opus 4.6"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet"}]},"opencode-go":{id:"opencode-go",alias:"opencode-go",format:"openai",executor:"opencode",baseUrl:"https://opencode.ai/zen/go/v1",testKeyBaseUrl:"https://opencode.ai/zen/v1",authType:"apikey",authHeader:"Authorization",authPrefix:"Bearer",defaultContextLength:2e5,models:[{id:"glm-5",name:"GLM-5"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"minimax-m2.7",name:"MiniMax M2.7",targetFormat:"claude"},{id:"minimax-m2.5",name:"MiniMax M2.5",targetFormat:"claude"}]},"opencode-zen":{id:"opencode-zen",alias:"opencode-zen",format:"openai",executor:"opencode",baseUrl:"https://opencode.ai/zen/v1",modelsUrl:"https://opencode.ai/zen/v1/models",authType:"apikey",authHeader:"Authorization",authPrefix:"Bearer",defaultContextLength:2e5,models:[{id:"minimax-m2.5-free",name:"MiniMax M2.5 Free"},{id:"big-pickle",name:"Big Pickle"},{id:"gpt-5-nano",name:"GPT 5 Nano"}]},openrouter:{id:"openrouter",alias:"openrouter",format:"openai",executor:"default",baseUrl:"https://openrouter.ai/api/v1/chat/completions",authType:"apikey",authHeader:"bearer",defaultContextLength:128e3,headers:{"HTTP-Referer":"https://endpoint-proxy.local","X-Title":"Endpoint Proxy"},models:[{id:"auto",name:"Auto (Best Available)"}]},glm:{id:"glm",alias:"glm",format:"claude",executor:"default",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",defaultContextLength:2e5,urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"glm-5",name:"GLM 5"},{id:"glm-5-turbo",name:"GLM 5 Turbo"},{id:"glm-4.7-flash",name:"GLM 4.7 Flash"},{id:"glm-4.7",name:"GLM 4.7"},{id:"glm-4.6v",name:"GLM 4.6V (Vision)"},{id:"glm-4.6",name:"GLM 4.6"},{id:"glm-4.5v",name:"GLM 4.5V (Vision)"},{id:"glm-4.5",name:"GLM 4.5"},{id:"glm-4.5-air",name:"GLM 4.5 Air"},{id:"glm-4-32b",name:"GLM 4 32B"}]},"bailian-coding-plan":{id:"bailian-coding-plan",alias:"bcp",format:"claude",executor:"default",baseUrl:"https://coding-intl.dashscope.aliyuncs.com/apps/anthropic/v1/messages",chatPath:"/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max (2026-01-23)"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"glm-5",name:"GLM 5"},{id:"glm-4.7",name:"GLM 4.7"},{id:"kimi-k2.5",name:"Kimi K2.5"}]},zai:{id:"zai",alias:"zai",format:"claude",executor:"default",baseUrl:"https://api.z.ai/api/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"glm-5",name:"GLM 5"},{id:"glm-5-turbo",name:"GLM 5 Turbo"}]},kimi:{id:"kimi",alias:"kimi",format:"openai",executor:"default",baseUrl:"https://api.moonshot.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"kimi-k2.5-thinking",name:"Kimi K2.5 Thinking"},{id:"kimi-latest",name:"Kimi Latest"},{id:"kimi-for-coding",name:"Kimi For Coding"}]},"kimi-coding":{id:"kimi-coding",alias:"kmc",...d,urlSuffix:"?beta=true",authType:"oauth",oauth:{clientIdEnv:"KIMI_CODING_OAUTH_CLIENT_ID",clientIdDefault:"17e5f671-d194-4dfb-9706-5516cb48c098",tokenUrl:"https://auth.kimi.com/api/oauth/token",refreshUrl:"https://auth.kimi.com/api/oauth/token",authUrl:"https://auth.kimi.com/api/oauth/device_authorization"}},"kimi-coding-apikey":{id:"kimi-coding-apikey",alias:"kmca",...d,authType:"apikey"},kilocode:{id:"kilocode",alias:"kc",format:"openrouter",executor:"openrouter",baseUrl:"https://api.kilo.ai/api/openrouter/chat/completions",modelsUrl:"https://api.kilo.ai/api/openrouter/models",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{initiateUrl:"https://api.kilo.ai/api/device-auth/codes",pollUrlBase:"https://api.kilo.ai/api/device-auth/codes"},models:[{id:"openrouter/free",name:"Free Models Router"},{id:"qwen/qwen3-vl-235b-a22b-thinking",name:"Qwen3 VL 235B A22B Thinking"},{id:"qwen/qwen3-235b-a22b-thinking-2507",name:"Qwen3 235B A22B Thinking 2507"},{id:"qwen/qwen3-vl-30b-a3b-thinking",name:"Qwen3 VL 30B A3B Thinking"},{id:"stepfun/step-3.5-flash:free",name:"StepFun Step 3.5 Flash"},{id:"arcee-ai/trinity-large-preview:free",name:"Arcee AI Trinity Large Preview"},{id:"openai/gpt-4o-mini",name:"GPT-4o Mini"},{id:"openai/gpt-4.1-nano",name:"GPT-4.1 Nano"},{id:"openai/gpt-5-nano",name:"GPT-5 Nano"},{id:"openai/gpt-5-mini",name:"GPT-5 Mini"},{id:"anthropic/claude-3-haiku",name:"Claude 3 Haiku"},{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash"},{id:"google/gemini-2.5-flash-lite",name:"Gemini 2.5 Flash Lite"},{id:"deepseek/deepseek-chat-v3.1",name:"DeepSeek V3.1"},{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"meta-llama/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-scout",name:"Llama 4 Scout"},{id:"meta-llama/llama-4-maverick",name:"Llama 4 Maverick"},{id:"qwen/qwen3-8b",name:"Qwen3 8B"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"qwen/qwen3-coder",name:"Qwen3 Coder 480B"},{id:"qwen/qwq-32b",name:"QwQ 32B"},{id:"mistralai/mistral-small-24b-instruct-2501",name:"Mistral Small 3"},{id:"mistralai/mistral-7b-instruct",name:"Mistral 7B"},{id:"x-ai/grok-code-fast-1",name:"Grok Code Fast 1"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"}],passthroughModels:!0},cline:{id:"cline",alias:"cl",format:"openai",executor:"openai",baseUrl:"https://api.cline.bot/api/v1/chat/completions",authType:"oauth",authHeader:"Authorization",authPrefix:"Bearer ",oauth:{tokenUrl:"https://api.cline.bot/api/v1/auth/token",refreshUrl:"https://api.cline.bot/api/v1/auth/refresh",authUrl:"https://api.cline.bot/api/v1/auth/authorize"},extraHeaders:{"HTTP-Referer":"https://cline.bot","X-Title":"Cline"},models:[{id:"anthropic/claude-sonnet-4-20250514",name:"Claude Sonnet 4"},{id:"anthropic/claude-opus-4-20250514",name:"Claude Opus 4"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"openai/gpt-4.1",name:"GPT-4.1"},{id:"openai/o3",name:"o3"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat"}],passthroughModels:!0},minimax:{id:"minimax",alias:"minimax",format:"claude",executor:"default",baseUrl:"https://api.minimax.io/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"minimax-m2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.7",name:"MiniMax M2.7 (Legacy Alias)"},{id:"minimax-m2.7-highspeed",name:"MiniMax M2.7 Highspeed"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5 (Legacy Alias)"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},"minimax-cn":{id:"minimax-cn",alias:"minimax-cn",format:"claude",executor:"default",baseUrl:"https://api.minimaxi.com/anthropic/v1/messages",urlSuffix:"?beta=true",authType:"apikey",authHeader:"x-api-key",headers:{"Anthropic-Version":"2023-06-01","Anthropic-Beta":"claude-code-20250219,interleaved-thinking-2025-05-14"},models:[{id:"minimax-m2.7",name:"MiniMax M2.7"},{id:"MiniMax-M2.7",name:"MiniMax M2.7 (Legacy Alias)"},{id:"minimax-m2.7-highspeed",name:"MiniMax M2.7 Highspeed"},{id:"minimax-m2.5",name:"MiniMax M2.5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5 (Legacy Alias)"},{id:"MiniMax-M2.1",name:"MiniMax M2.1"}]},alicode:{id:"alicode",alias:"alicode",format:"openai",executor:"default",baseUrl:"https://coding.dashscope.aliyuncs.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},"alicode-intl":{id:"alicode-intl",alias:"alicode-intl",format:"openai",executor:"default",baseUrl:"https://coding-intl.dashscope.aliyuncs.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"qwen3.5-plus",name:"Qwen3.5 Plus"},{id:"kimi-k2.5",name:"Kimi K2.5"},{id:"glm-5",name:"GLM 5"},{id:"MiniMax-M2.5",name:"MiniMax M2.5"},{id:"qwen3-max-2026-01-23",name:"Qwen3 Max"},{id:"qwen3-coder-next",name:"Qwen3 Coder Next"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"glm-4.7",name:"GLM 4.7"}]},deepseek:{id:"deepseek",alias:"ds",format:"openai",executor:"default",baseUrl:"https://api.deepseek.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-chat",name:"DeepSeek V3.2 Chat"},{id:"deepseek-reasoner",name:"DeepSeek V3.2 Reasoner"}]},groq:{id:"groq",alias:"groq",format:"openai",executor:"default",baseUrl:"https://api.groq.com/openai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"llama-3.3-70b-versatile",name:"Llama 3.3 70B"},{id:"meta-llama/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"qwen/qwen3-32b",name:"Qwen3 32B"},{id:"openai/gpt-oss-120b",name:"GPT-OSS 120B"}]},blackbox:{id:"blackbox",alias:"bb",format:"openai",executor:"default",baseUrl:"https://api.blackbox.ai/v1/chat/completions",modelsUrl:"https://api.blackbox.ai/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash"},{id:"claude-sonnet-4",name:"Claude Sonnet 4"},{id:"deepseek-v3",name:"DeepSeek V3"},{id:"blackboxai",name:"Blackbox AI"},{id:"blackboxai-pro",name:"Blackbox AI Pro"}]},xai:{id:"xai",alias:"xai",format:"openai",executor:"default",baseUrl:"https://api.x.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"grok-4-fast-non-reasoning",name:"Grok 4 Fast"},{id:"grok-4-fast-reasoning",name:"Grok 4 Fast Reasoning"},{id:"grok-4-1-fast-non-reasoning",name:"Grok 4.1 Fast"},{id:"grok-4-1-fast-reasoning",name:"Grok 4.1 Fast Reasoning"},{id:"grok-4-0709",name:"Grok 4 (0709)"},{id:"grok-4",name:"Grok 4"},{id:"grok-3",name:"Grok 3"},{id:"grok-3-mini",name:"Grok 3 Mini"}]},mistral:{id:"mistral",alias:"mistral",format:"openai",executor:"default",baseUrl:"https://api.mistral.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"mistral-large-latest",name:"Mistral Large 3"},{id:"codestral-latest",name:"Codestral"},{id:"mistral-medium-latest",name:"Mistral Medium 3"}]},perplexity:{id:"perplexity",alias:"pplx",format:"openai",executor:"default",baseUrl:"https://api.perplexity.ai/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"sonar-pro",name:"Sonar Pro"},{id:"sonar",name:"Sonar"}]},together:{id:"together",alias:"together",format:"openai",executor:"default",baseUrl:"https://api.together.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo-Free",name:"Llama 3.3 70B Turbo (🆓 Free)"},{id:"meta-llama/Llama-Vision-Free",name:"Llama Vision (🆓 Free)"},{id:"deepseek-ai/DeepSeek-R1-Distill-Llama-70B-Free",name:"DeepSeek R1 Distill 70B (🆓 Free)"},{id:"meta-llama/Llama-3.3-70B-Instruct-Turbo",name:"Llama 3.3 70B Turbo"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B",name:"Qwen3 235B"},{id:"meta-llama/Llama-4-Maverick-17B-128E-Instruct-FP8",name:"Llama 4 Maverick"}]},fireworks:{id:"fireworks",alias:"fireworks",format:"openai",executor:"default",baseUrl:"https://api.fireworks.ai/inference/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"accounts/fireworks/models/deepseek-v3p1",name:"DeepSeek V3.1"},{id:"accounts/fireworks/models/llama-v3p3-70b-instruct",name:"Llama 3.3 70B"},{id:"accounts/fireworks/models/qwen3-235b-a22b",name:"Qwen3 235B"}]},cerebras:{id:"cerebras",alias:"cerebras",format:"openai",executor:"default",baseUrl:"https://api.cerebras.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-oss-120b",name:"GPT OSS 120B"},{id:"zai-glm-4.7",name:"ZAI GLM 4.7"},{id:"llama-3.3-70b",name:"Llama 3.3 70B"},{id:"llama-4-scout-17b-16e-instruct",name:"Llama 4 Scout"},{id:"qwen-3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B"},{id:"qwen-3-32b",name:"Qwen3 32B"}]},"ollama-cloud":{id:"ollama-cloud",alias:"ollamacloud",format:"openai",executor:"default",baseUrl:"https://ollama.com/v1/chat/completions",modelsUrl:"https://ollama.com/api/tags",authType:"apikey",authHeader:"bearer",models:[{id:"gemma3:27b",name:"Gemma 3 27B"},{id:"llama3.3:70b",name:"Llama 3.3 70B"},{id:"qwen3:72b",name:"Qwen3 72B"},{id:"devstral:24b",name:"Devstral 24B"},{id:"deepseek-r2:671b",name:"DeepSeek R2 671B"},{id:"phi4:14b",name:"Phi 4 14B"},{id:"mistral-small3.2:24b",name:"Mistral Small 3.2 24B"}],passthroughModels:!0},cohere:{id:"cohere",alias:"cohere",format:"openai",executor:"default",baseUrl:"https://api.cohere.com/v2/chat",authType:"apikey",authHeader:"bearer",models:[{id:"command-r-plus-08-2024",name:"Command R+ (Aug 2024)"},{id:"command-r-08-2024",name:"Command R (Aug 2024)"},{id:"command-a-03-2025",name:"Command A (Mar 2025)"}]},nvidia:{id:"nvidia",alias:"nvidia",format:"openai",executor:"default",baseUrl:"https://integrate.api.nvidia.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-oss-120b",name:"GPT OSS 120B",toolCalling:!1},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B (OpenAI Prefix)",toolCalling:!1},{id:"meta/llama-3.3-70b-instruct",name:"Llama 3.3 70B"},{id:"nvidia/llama-3.3-70b-instruct",name:"Llama 3.3 70B (NVIDIA Prefix)"},{id:"meta/llama-4-maverick-17b-128e-instruct",name:"Llama 4 Maverick"},{id:"moonshotai/kimi-k2.5",name:"Kimi K2.5"},{id:"z-ai/glm4.7",name:"GLM 4.7"},{id:"deepseek-ai/deepseek-v3.2",name:"DeepSeek V3.2"},{id:"deepseek/deepseek-r1",name:"DeepSeek R1"},{id:"nvidia/llama-3.1-70b-instruct",name:"Llama 3.1 70B"},{id:"nvidia/llama-3.1-405b-instruct",name:"Llama 3.1 405B"}]},nebius:{id:"nebius",alias:"nebius",format:"openai",executor:"default",baseUrl:"https://api.tokenfactory.nebius.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B Instruct"}]},siliconflow:{id:"siliconflow",alias:"siliconflow",format:"openai",executor:"default",baseUrl:"https://api.siliconflow.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"},{id:"deepseek-ai/DeepSeek-V3.1",name:"DeepSeek V3.1"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"Qwen/Qwen3-235B-A22B-Instruct-2507",name:"Qwen3 235B"},{id:"Qwen/Qwen3-Coder-480B-A35B-Instruct",name:"Qwen3 Coder 480B"},{id:"Qwen/Qwen3-32B",name:"Qwen3 32B"},{id:"moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"zai-org/GLM-4.7",name:"GLM 4.7"},{id:"openai/gpt-oss-120b",name:"GPT OSS 120B"},{id:"baidu/ERNIE-4.5-300B-A47B",name:"ERNIE 4.5 300B"}]},hyperbolic:{id:"hyperbolic",alias:"hyp",format:"openai",executor:"default",baseUrl:"https://api.hyperbolic.xyz/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"Qwen/QwQ-32B",name:"QwQ 32B"},{id:"deepseek-ai/DeepSeek-R1",name:"DeepSeek R1"},{id:"deepseek-ai/DeepSeek-V3",name:"DeepSeek V3"},{id:"meta-llama/Llama-3.3-70B-Instruct",name:"Llama 3.3 70B"},{id:"meta-llama/Llama-3.2-3B-Instruct",name:"Llama 3.2 3B"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"Qwen/Qwen2.5-Coder-32B-Instruct",name:"Qwen 2.5 Coder 32B"},{id:"NousResearch/Hermes-3-Llama-3.1-70B",name:"Hermes 3 70B"}]},huggingface:{id:"huggingface",alias:"hf",format:"openai",executor:"default",baseUrl:"https://router.huggingface.co/hf-inference/models/meta-llama/Meta-Llama-3.1-70B-Instruct/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"meta-llama/Meta-Llama-3.1-70B-Instruct",name:"Llama 3.1 70B Instruct"},{id:"meta-llama/Meta-Llama-3.1-8B-Instruct",name:"Llama 3.1 8B Instruct"},{id:"Qwen/Qwen2.5-72B-Instruct",name:"Qwen 2.5 72B"},{id:"mistralai/Mistral-7B-Instruct-v0.3",name:"Mistral 7B v0.3"},{id:"microsoft/Phi-3.5-mini-instruct",name:"Phi-3.5 Mini"}]},synthetic:{id:"synthetic",alias:"synthetic",format:"openai",executor:"default",baseUrl:"https://api.synthetic.new/openai/v1/chat/completions",modelsUrl:"https://api.synthetic.new/openai/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"hf:nvidia/Kimi-K2.5-NVFP4",name:"Kimi K2.5 (NVFP4)"},{id:"hf:MiniMaxAI/MiniMax-M2.5",name:"MiniMax M2.5"},{id:"hf:zai-org/GLM-4.7-Flash",name:"GLM 4.7 Flash"},{id:"hf:zai-org/GLM-4.7",name:"GLM 4.7"},{id:"hf:moonshotai/Kimi-K2.5",name:"Kimi K2.5"},{id:"hf:deepseek-ai/DeepSeek-V3.2",name:"DeepSeek V3.2"}],passthroughModels:!0},"kilo-gateway":{id:"kilo-gateway",alias:"kg",format:"openai",executor:"default",baseUrl:"https://api.kilo.ai/api/gateway/chat/completions",modelsUrl:"https://api.kilo.ai/api/gateway/models",authType:"apikey",authHeader:"bearer",models:[{id:"kilo-auto/frontier",name:"Kilo Auto Frontier"},{id:"kilo-auto/balanced",name:"Kilo Auto Balanced"},{id:"kilo-auto/free",name:"Kilo Auto Free"},{id:"nvidia/nemotron-3-super-120b-a12b:free",name:"Nemotron 3 Super 120B (Free)"},{id:"minimax/minimax-m2.5:free",name:"MiniMax M2.5 (Free)"},{id:"arcee-ai/trinity-large-preview:free",name:"Trinity Large Preview (Free)"}],passthroughModels:!0},vertex:{id:"vertex",alias:"vertex",format:"gemini",executor:"vertex",baseUrl:"https://us-central1-aiplatform.googleapis.com/v1/projects",urlBuilder:(a,b,c)=>`https://generativelanguage.googleapis.com/v1beta/models/${b}:${c?"streamGenerateContent?alt=sse":"generateContent"}`,authType:"apikey",authHeader:"bearer",models:[{id:"gemini-3.1-pro-preview",name:"Gemini 3.1 Pro Preview (Vertex)"},{id:"gemini-3.1-flash-lite-preview",name:"Gemini 3.1 Flash Lite Preview (Vertex)"},{id:"gemini-3-flash-preview",name:"Gemini 3 Flash Preview (Vertex)"},{id:"gemini-2.5-pro",name:"Gemini 2.5 Pro (Vertex)"},{id:"gemini-2.5-flash",name:"Gemini 2.5 Flash (Vertex)"},{id:"gemini-2.0-flash-thinking-exp",name:"Gemini 2.0 Flash Thinking Exp (Vertex)"},{id:"gemma-2-27b-it",name:"Gemma 2 27B (Vertex)"},{id:"deepseek-v3.2",name:"DeepSeek V3.2 (Vertex Partner)"},{id:"qwen3-next-80b",name:"Qwen3 Next 80B (Vertex Partner)"},{id:"glm-5",name:"GLM-5 (Vertex Partner)"},{id:"claude-opus-4-5@20251101",name:"Claude Opus 4.5 (Vertex)"},{id:"claude-sonnet-4-5@20251101",name:"Claude Sonnet 4.5 (Vertex)"}]},alibaba:{id:"alibaba",alias:"ali",format:"openai",executor:"default",baseUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions",modelsUrl:"https://dashscope-intl.aliyuncs.com/compatible-mode/v1/models",authType:"apikey",authHeader:"bearer",models:[{id:"qwen-max",name:"Qwen Max"},{id:"qwen-max-2025-01-25",name:"Qwen Max (2025-01-25)"},{id:"qwen-plus",name:"Qwen Plus"},{id:"qwen-plus-2025-07-14",name:"Qwen Plus (2025-07-14)"},{id:"qwen-turbo",name:"Qwen Turbo"},{id:"qwen-turbo-2025-11-01",name:"Qwen Turbo (2025-11-01)"},{id:"qwen3-coder-plus",name:"Qwen3 Coder Plus"},{id:"qwen3-coder-flash",name:"Qwen3 Coder Flash"},{id:"qwq-plus",name:"QwQ Plus (Reasoning)"},{id:"qwq-32b",name:"QwQ 32B"},{id:"qwen3-32b",name:"Qwen3 32B"},{id:"qwen3-235b-a22b",name:"Qwen3 235B A22B"}],passthroughModels:!0},longcat:{id:"longcat",alias:"lc",format:"openai",executor:"default",baseUrl:"https://api.longcat.chat/openai/v1/chat/completions",authType:"apikey",authHeader:"Authorization",authPrefix:"Bearer",models:[{id:"LongCat-Flash-Lite",name:"LongCat Flash-Lite (50M tok/day 🆓)"},{id:"LongCat-Flash-Chat",name:"LongCat Flash-Chat (500K tok/day 🆓)"},{id:"LongCat-Flash-Thinking",name:"LongCat Flash-Thinking (500K tok/day 🆓)"},{id:"LongCat-Flash-Thinking-2601",name:"LongCat Flash-Thinking-2601 (🆓)"},{id:"LongCat-Flash-Omni-2603",name:"LongCat Flash-Omni-2603 (🆓)"}]},pollinations:{id:"pollinations",alias:"pol",format:"openai",executor:"pollinations",baseUrl:"https://text.pollinations.ai/openai/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"openai",name:"GPT-5 via Pollinations (🆓)"},{id:"claude",name:"Claude via Pollinations (🆓)"},{id:"gemini",name:"Gemini via Pollinations (🆓)"},{id:"deepseek",name:"DeepSeek V3 via Pollinations (🆓)"},{id:"llama",name:"Llama 4 via Pollinations (🆓)"},{id:"mistral",name:"Mistral via Pollinations (🆓)"}]},puter:{id:"puter",alias:"pu",format:"openai",executor:"puter",baseUrl:"https://api.puter.com/puterai/openai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o-mini",name:"GPT-4o Mini (🆓 Puter)"},{id:"gpt-4o",name:"GPT-4o (Puter)"},{id:"gpt-4.1",name:"GPT-4.1 (Puter)"},{id:"gpt-4.1-mini",name:"GPT-4.1 Mini (Puter)"},{id:"gpt-5-nano",name:"GPT-5 Nano (Puter)"},{id:"gpt-5-mini",name:"GPT-5 Mini (Puter)"},{id:"gpt-5",name:"GPT-5 (Puter)"},{id:"o3-mini",name:"OpenAI o3-mini (Puter)"},{id:"o3",name:"OpenAI o3 (Puter)"},{id:"o4-mini",name:"OpenAI o4-mini (Puter)"},{id:"claude-haiku-4-5",name:"Claude Haiku 4.5 (Puter)"},{id:"claude-sonnet-4-5",name:"Claude Sonnet 4.5 (Puter)"},{id:"claude-opus-4-5",name:"Claude Opus 4.5 (Puter)"},{id:"claude-sonnet-4",name:"Claude Sonnet 4 (Puter)"},{id:"claude-opus-4",name:"Claude Opus 4 (Puter)"},{id:"google/gemini-2.0-flash",name:"Gemini 2.0 Flash (Puter)"},{id:"google/gemini-2.5-flash",name:"Gemini 2.5 Flash (Puter)"},{id:"google/gemini-2.5-pro",name:"Gemini 2.5 Pro (Puter)"},{id:"google/gemini-3-flash",name:"Gemini 3 Flash (Puter)"},{id:"google/gemini-3-pro",name:"Gemini 3 Pro (Puter)"},{id:"deepseek/deepseek-chat",name:"DeepSeek Chat (Puter)"},{id:"deepseek/deepseek-r1",name:"DeepSeek R1 (Puter)"},{id:"deepseek/deepseek-v3.2",name:"DeepSeek V3.2 (Puter)"},{id:"x-ai/grok-3",name:"Grok 3 (Puter)"},{id:"x-ai/grok-3-mini",name:"Grok 3 Mini (Puter)"},{id:"x-ai/grok-4",name:"Grok 4 (Puter)"},{id:"x-ai/grok-4-fast",name:"Grok 4 Fast (Puter)"},{id:"llama-4-scout",name:"Llama 4 Scout (Puter)"},{id:"llama-4-maverick",name:"Llama 4 Maverick (Puter)"},{id:"llama-3.3-70b-instruct",name:"Llama 3.3 70B (Puter)"},{id:"mistral-small-latest",name:"Mistral Small (Puter)"},{id:"mistral-medium-latest",name:"Mistral Medium (Puter)"},{id:"open-mistral-nemo",name:"Mistral Nemo (Puter)"},{id:"qwen/qwen3-235b-a22b",name:"Qwen3 235B (Puter)"},{id:"qwen/qwen3-32b",name:"Qwen3 32B (Puter)"},{id:"qwen/qwen3-coder",name:"Qwen3 Coder 480B (Puter)"}],passthroughModels:!0},"cloudflare-ai":{id:"cloudflare-ai",alias:"cf",format:"openai",executor:"cloudflare-ai",baseUrl:"https://api.cloudflare.com/client/v4/accounts",authType:"apikey",authHeader:"bearer",models:[{id:"@cf/meta/llama-3.3-70b-instruct",name:"Llama 3.3 70B (🆓 ~150 resp/day)"},{id:"@cf/meta/llama-3.1-8b-instruct",name:"Llama 3.1 8B (🆓)"},{id:"@cf/google/gemma-3-12b-it",name:"Gemma 3 12B (🆓)"},{id:"@cf/mistral/mistral-7b-instruct-v0.2-lora",name:"Mistral 7B (🆓)"},{id:"@cf/qwen/qwen2.5-coder-15b-instruct",name:"Qwen 2.5 Coder 15B (🆓)"},{id:"@cf/deepseek-ai/deepseek-r1-distill-qwen-32b",name:"DeepSeek R1 Distill 32B (🆓)"}]},scaleway:{id:"scaleway",alias:"scw",format:"openai",executor:"default",baseUrl:"https://api.scaleway.ai/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"qwen3-235b-a22b-instruct-2507",name:"Qwen3 235B A22B (1M free tok 🆓)"},{id:"llama-3.1-70b-instruct",name:"Llama 3.1 70B (🆓 EU)"},{id:"llama-3.1-8b-instruct",name:"Llama 3.1 8B (🆓 EU)"},{id:"mistral-small-3.2-24b-instruct-2506",name:"Mistral Small 3.2 (🆓 EU)"},{id:"deepseek-v3-0324",name:"DeepSeek V3 (🆓 EU)"},{id:"gpt-oss-120b",name:"GPT-OSS 120B (🆓 EU)"}]},aimlapi:{id:"aimlapi",alias:"aiml",format:"openai",executor:"default",baseUrl:"https://api.aimlapi.com/v1/chat/completions",authType:"apikey",authHeader:"bearer",models:[{id:"gpt-4o",name:"GPT-4o (via AI/ML API)"},{id:"claude-3-5-sonnet-20241022",name:"Claude 3.5 Sonnet (via AI/ML API)"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro (via AI/ML API)"},{id:"meta-llama/Meta-Llama-3.1-70B-Instruct-Turbo",name:"Llama 3.1 70B (via AI/ML API)"},{id:"deepseek-chat",name:"DeepSeek Chat (via AI/ML API)"},{id:"mistral-large-latest",name:"Mistral Large (via AI/ML API)"}],passthroughModels:!0}};function f(){let a={};for(let[b,c]of Object.entries(e)){let d={format:c.format};c.baseUrls?d.baseUrls=c.baseUrls:c.baseUrl&&(d.baseUrl=c.baseUrl),c.responsesBaseUrl&&(d.responsesBaseUrl=c.responsesBaseUrl);let e={...c.headers||{},...c.extraHeaders||{}};Object.keys(e).length>0&&(d.headers=e),c.oauth&&(c.oauth.clientIdEnv&&(d.clientId=process.env[c.oauth.clientIdEnv]||c.oauth.clientIdDefault),c.oauth.clientSecretEnv&&(d.clientSecret=process.env[c.oauth.clientSecretEnv]||c.oauth.clientSecretDefault),c.oauth.tokenUrl&&(d.tokenUrl=c.oauth.tokenUrl),c.oauth.refreshUrl&&(d.refreshUrl=c.oauth.refreshUrl),c.oauth.authUrl&&(d.authUrl=c.oauth.authUrl)),c.chatPath&&(d.chatPath=c.chatPath),c.clientVersion&&(d.clientVersion=c.clientVersion),a[b]=d}return a}function g(){let a={};for(let b of Object.values(e))if(b.models&&b.models.length>0){let c=b.alias||b.id;a[c]||(a[c]=b.models)}return a}function h(){let a={};for(let b of Object.values(e))a[b.id]=b.alias||b.id;return a}[..."u">typeof process&&process.env.LOCAL_HOSTNAMES?process.env.LOCAL_HOSTNAMES.split(",").map(a=>a.trim()).filter(Boolean):[]];let i=new Map;for(let a of Object.values(e))a.alias&&a.alias!==a.id&&i.set(a.alias,a);let j=new Map;for(let a of Object.values(e))for(let b of a.models)b.unsupportedParams&&!j.has(b.id)&&j.set(b.id,b.unsupportedParams);a.s(["generateAliasMap",()=>h,"generateLegacyProviders",()=>f,"generateModels",()=>g],503070);let k=g(),l=h();function m(a){return k[a]||[]}function n(a){let b=k[a];return b?.[0]?.id||null}function o(a,b,c=new Set){if(c.has(a))return!0;let d=k[a];return!!d&&d.some(a=>a.id===b)}function p(a,b){let c=k[a];if(!c)return b;let d=c.find(a=>a.id===b);return d?.name||b}function q(a,b){let c=k[a];if(!c)return null;let d=c.find(a=>a.id===b);return d?.targetFormat||null}function r(a){return k[l[a]||a]||[]}a.s(["PROVIDER_ID_TO_ALIAS",0,l,"PROVIDER_MODELS",0,k,"findModelName",()=>p,"getDefaultModel",()=>n,"getModelTargetFormat",()=>q,"getModelsByProviderId",()=>r,"getProviderModels",()=>m,"isValidModel",()=>o],958301)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=open-sse_config_providerModels_ts_4cac55e2._.js.map
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module.exports=[482970,a=>{"use strict";let b,c,d,e;var f=a.i(895956);a.i(147921);var g=a.i(289226);function h(a,b){if(!a)return b;let c=Number.parseInt(String(a),10);return!Number.isFinite(c)||c<1||c>65535?b:c}let{dashboardPort:i}=(b=h(process.env.OMNIROUTE_PORT||process.env.PORT,20128),c=!!process.env.API_PORT,d=!!process.env.DASHBOARD_PORT,{port:b,apiPort:h(process.env.API_PORT,b),dashboardPort:h(process.env.DASHBOARD_PORT,b),apiPortExplicit:c,dashboardPortExplicit:d}),j=process.env.BASE_URL||process.env.NEXT_PUBLIC_BASE_URL||process.env.NEXT_PUBLIC_APP_URL||`http://localhost:${i}`;class k{machineId;intervalMinutes;intervalId;constructor(a=null,b=15){this.machineId=a,this.intervalMinutes=b,this.intervalId=null}async initializeMachineId(){this.machineId||(this.machineId=await (0,f.getConsistentMachineId)())}async start(){this.intervalId||(await this.initializeMachineId(),setTimeout(()=>{this.syncWithRetry().catch(()=>{})},3e4),this.intervalId=setInterval(()=>{this.syncWithRetry().catch(()=>{})},60*this.intervalMinutes*1e3))}stop(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null)}async syncWithRetry(a=1){for(let b=1;b<=a;b++)try{return await this.sync()}catch(d){if(b===a)return null;let c=Math.min(1e3*Math.pow(2,b),1e4);await new Promise(a=>setTimeout(a,c))}}async sync(){if(!await (0,g.isCloudEnabled)())return null;await this.initializeMachineId();let a=await fetch(`${j}/api/sync/cloud`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({machineId:this.machineId,action:"sync"})});if(!a.ok)throw Error((await a.json().catch(()=>({}))).error||"Sync failed");return await a.json()}isRunning(){return null!==this.intervalId}}let l=null;async function m(a=null,b=15){return l||(l=new k(a,b)),l}var n=a.i(323746);async function o(){try{await (0,n.cleanupProviderConnections)();let a=await m(null,15);return await a.start(),a}catch(a){throw console.error("[CloudSync] Error initializing scheduler:",a),a}}a.z.main===module&&o().catch(a=>console.error("[CloudSync] init failed:",a));var p=a.i(522734),q=a.i(814747),r=a.i(680423);let s=["clientId","clientSecret","tokenUrl","authUrl","refreshUrl"],t=0,u=null;function v(){return globalThis}var w=a.i(503070);parseInt(process.env.FETCH_TIMEOUT_MS||"600000",10),parseInt(process.env.STREAM_IDLE_TIMEOUT_MS||"600000",10);let x=(0,w.generateLegacyProviders)();!function(a){if(u&&Date.now()-t<6e4)return;let b=(0,q.join)((0,r.resolveDataDir)(),"provider-credentials.json");if(!(0,p.existsSync)(b))return v().__omnirouteCredNoFileLogged||(console.log("[CREDENTIALS] No external credentials file found, using defaults."),v().__omnirouteCredNoFileLogged=!0),u=a,t=Date.now();try{let c=(0,p.readFileSync)(b,"utf-8"),d=JSON.parse(c),e=0;for(let[b,c]of Object.entries(d)){if(!a[b]){console.log(`[CREDENTIALS] Warning: unknown provider "${b}" in credentials file, skipping.`);continue}if(!c||"object"!=typeof c){console.log(`[CREDENTIALS] Warning: provider "${b}" value must be an object, got ${typeof c}. Skipping.`);continue}for(let d of s)void 0!==c[d]&&(a[b][d]=c[d],e++)}let f=null!==u;console.log(`[CREDENTIALS] ${f?"Reloaded":"Loaded"} external credentials: ${e} field(s) from ${b}`)}catch(b){let a=b instanceof SyntaxError?"Invalid JSON format":b.code||"read error";console.log(`[CREDENTIALS] Error reading credentials file (${a}). Using defaults.`)}u=a,t=Date.now()}(x);let y="https://oauth2.googleapis.com/token",z="https://auth.openai.com/oauth/token",A="https://console.anthropic.com/v1/oauth/token",B="https://chat.qwen.ai/api/v1/oauth2/token",C="https://iflow.cn/oauth/token",D="https://github.com/login/oauth/access_token";var E=a.i(666680);let F=new Map;async function G(a,b,c,d){let e=x[a],f=e?.refreshUrl||e?.tokenUrl;if(!e||!f)return d?.warn?.("TOKEN_REFRESH",`No refresh endpoint configured for provider: ${a}`),null;if(!b)return d?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null;try{let c=new URLSearchParams({grant_type:"refresh_token",refresh_token:b});e.clientId&&c.set("client_id",e.clientId),e.clientSecret&&c.set("client_secret",e.clientSecret);let g=await fetch(f,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:c});if(!g.ok){let b=await g.text();return d?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:g.status,error:b}),null}let h=await g.json();return d?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!h.access_token,hasNewRefreshToken:!!h.refresh_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||b,expiresIn:h.expires_in}}catch(b){return d?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}}async function H(a,b){let c=x.cline?.refreshUrl;if(!c)return b?.warn?.("TOKEN_REFRESH","No refresh URL configured for Cline"),null;try{let d=await fetch(c,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a,grantType:"refresh_token",clientType:"extension"})});if(!d.ok){let a=await d.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Cline token",{status:d.status,error:a}),null}let e=await d.json(),f=e?.data||e,g=f?.expiresAt,h=g?Math.max(1,Math.floor((new Date(g).getTime()-Date.now())/1e3)):void 0;return b?.info?.("TOKEN_REFRESH","Successfully refreshed Cline token",{hasNewAccessToken:!!f?.accessToken,hasNewRefreshToken:!!f?.refreshToken,expiresIn:h}),{accessToken:f?.accessToken,refreshToken:f?.refreshToken||a,expiresIn:h}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Cline token: ${a.message}`),null}}async function I(a,b){let c=x["kimi-coding"]?.refreshUrl||x["kimi-coding"]?.tokenUrl;if(!c)return b?.warn?.("TOKEN_REFRESH","No refresh URL configured for Kimi Coding"),null;let d="kimi-refresh-"+Date.now(),e="u">typeof process?`${process.platform} ${process.arch}`:"unknown";try{let f=new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:x["kimi-coding"]?.clientId||""}),g=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","X-Msh-Platform":"omniroute","X-Msh-Version":"2.1.2","X-Msh-Device-Model":e,"X-Msh-Device-Id":d},body:f});if(!g.ok){let a=await g.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Kimi Coding token",{status:g.status,error:a}),null}let h=await g.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Kimi Coding token",{hasNewAccessToken:!!h.access_token,hasNewRefreshToken:!!h.refresh_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||a,expiresIn:h.expires_in,tokenType:h.token_type,scope:h.scope}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Kimi Coding token: ${a.message}`),null}}async function J(a,b){try{let c=await fetch(A,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:a,client_id:x.claude.clientId})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Claude OAuth token",{status:c.status,error:a}),null}let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!d.access_token,hasNewRefreshToken:!!d.refresh_token,expiresIn:d.expires_in}),{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}}async function K(a,b,c,d){let e=await fetch(y,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})});if(!e.ok){let a=await e.text();return d?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:e.status,error:a}),null}let f=await e.json();return d?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}async function L(a,b){try{let c=await fetch(B,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:x.qwen.clientId})});if(200===c.status){let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!d.access_token,hasNewRefreshToken:!!d.refresh_token,expiresIn:d.expires_in}),{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}{let a=await c.text().catch(()=>""),d=null;try{let b=JSON.parse(a);d=b?.error}catch{}if("invalid_request"===d)return b?.error?.("TOKEN_REFRESH","Qwen refresh token is invalid or expired. Re-authentication required.",{status:c.status}),{error:"invalid_request"};b?.warn?.("TOKEN_REFRESH","Error with Qwen endpoint",{status:c.status,error:a})}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null}async function M(a,b){try{let c=await fetch(z,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:x.codex.clientId,scope:"openid profile email offline_access"})});if(!c.ok){let a=await c.text(),d=null;try{let b=JSON.parse(a);d=b?.error?.code}catch{}if("refresh_token_reused"===d)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used (rotating token consumed). Re-authentication required.",{status:c.status}),{error:"refresh_token_reused"};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:a}),null}let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!d.access_token,hasNewRefreshToken:!!d.refresh_token,expiresIn:d.expires_in}),{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}}async function N(a,b,c){try{let d=b?.authMethod,e=b?.clientId,f=b?.clientSecret,g=b?.region;if(e&&f){let b="idc"===d&&g?`https://oidc.${g}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",h=await fetch(b,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:e,clientSecret:f,refreshToken:a,grantType:"refresh_token"})});if(!h.ok){let a=await h.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:h.status,error:a}),null}let i=await h.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!i.accessToken,expiresIn:i.expiresIn}),{accessToken:i.accessToken,refreshToken:i.refreshToken||a,expiresIn:i.expiresIn}}let h=await fetch(x.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a})});if(!h.ok){let a=await h.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:h.status,error:a}),null}let i=await h.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!i.accessToken,expiresIn:i.expiresIn}),{accessToken:i.accessToken,refreshToken:i.refreshToken||a,expiresIn:i.expiresIn}}catch(a){return c?.error?.("TOKEN_REFRESH",`Network error refreshing Kiro token: ${a.message}`),null}}async function O(a,b){let c=btoa(`${x.iflow.clientId}:${x.iflow.clientSecret}`),d=await fetch(C,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:x.iflow.clientId,client_secret:x.iflow.clientSecret})});if(!d.ok){let a=await d.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh iFlow token",{status:d.status,error:a}),null}let e=await d.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed iFlow token",{hasNewAccessToken:!!e.access_token,hasNewRefreshToken:!!e.refresh_token,expiresIn:e.expires_in}),{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}async function P(a,b){let c=await fetch(D,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:x.github.clientId,client_secret:x.github.clientSecret})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh GitHub token",{status:c.status,error:a}),null}let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!d.access_token,hasNewRefreshToken:!!d.refresh_token,expiresIn:d.expires_in}),{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}async function Q(a,b,c){switch(a){case"gemini":case"gemini-cli":case"antigravity":return await K(b.refreshToken,x[a].clientId,x[a].clientSecret,c);case"claude":return await J(b.refreshToken,c);case"codex":return await M(b.refreshToken,c);case"qwen":return await L(b.refreshToken,c);case"iflow":return await O(b.refreshToken,c);case"github":return await P(b.refreshToken,c);case"kiro":return await N(b.refreshToken,b.providerSpecificData,c);case"cline":return await H(b.refreshToken,c);case"kimi-coding":return await I(b.refreshToken,c);default:return G(a,b.refreshToken,b,c)}}async function R(a,b,c){var d;let e;if(!b||!b.refreshToken||"string"!=typeof b.refreshToken)return c?.warn?.("TOKEN_REFRESH",`No valid refresh token available for provider: ${a}`),null;let f=(d=b.refreshToken,e=(0,E.createHash)("sha256").update(d).digest("hex"),`${a}:${e}`);if(F.has(f))return c?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),F.get(f);let g=Q(a,b,c).finally(()=>{F.delete(f)});return F.set(f,g),g}let S="[HealthCheck]",T=new Set(["1","true","yes","on"]);function U(a){let b=process.env[a];return!!b&&T.has(b.trim().toLowerCase())}let V=null,W=0,X=null;async function Y(){if(U("OMNIROUTE_HIDE_HEALTHCHECK_LOGS"))return!0;let a=Date.now();return null!==V&&a-W<3e4?V:null!==X?X:X=(async()=>{try{let b=await (0,g.getSettings)();return V=!0===b.hideHealthCheckLogs,W=a,V}catch{return!1}finally{X=null}})()}function Z(a,...b){Y().then(c=>{c||console.log(a,...b)})}function $(a,...b){Y().then(c=>{c||console.error(a,...b)})}async function _(){try{let a=await (0,n.getProviderConnections)({authType:"oauth"});if(!a||0===a.length)return;for(let b of a)try{await aa(b)}catch(a){$(`${S} Error checking ${b.name||b.id}:`,a.message)}}catch(a){$(`${S} Sweep error:`,a.message)}}async function aa(a){let b=a.healthCheckInterval??60;if(b<=0||!a.isActive||!a.refreshToken||"string"!=typeof a.refreshToken||"expired"===a.testStatus)return;if(!function(a){if(new Set(["gemini","gemini-cli","antigravity","claude","codex","qwen","iflow","github","kiro","cline","kimi-coding"]).has(a))return!0;let b=x[a];return!!(b?.refreshUrl||b?.tokenUrl)}(a.provider)){let b=new Date().toISOString();await (0,n.updateProviderConnection)(a.id,{lastHealthCheckAt:b}),Z(`${S} Skipping ${a.provider}/${a.name||a.email||a.id} (refresh unsupported)`);return}let c=a.lastHealthCheckAt?new Date(a.lastHealthCheckAt).getTime():0,d=a.tokenExpiresAt?new Date(a.tokenExpiresAt).getTime():0,e=d>0&&d-Date.now()<3e5;if(Date.now()-c<60*b*1e3&&!e)return;let f=e?"token expiring soon":`interval: ${b}min`;Z(`${S} Refreshing ${a.provider}/${a.name||a.email||a.id} (${f})`);let g={refreshToken:a.refreshToken,accessToken:a.accessToken,expiresAt:a.tokenExpiresAt,providerSpecificData:a.providerSpecificData},h=await Y(),i=await R(a.provider,g,{info:(a,b)=>{h||console.log(`${S} [${a}] ${b}`)},warn:(a,b)=>{h||console.warn(`${S} [${a}] ${b}`)},error:(a,b,c)=>{h||console.error(`${S} [${a}] ${b}`,c||"")}}),j=new Date().toISOString();if(i&&"object"==typeof i&&("refresh_token_reused"===i.error||"invalid_request"===i.error)){await (0,n.updateProviderConnection)(a.id,{lastHealthCheckAt:j,testStatus:"expired",lastError:`Refresh token consumed (${i.error}). Please re-authenticate this account.`,lastErrorAt:j,lastErrorType:i.error,lastErrorSource:"oauth",errorCode:i.error,isActive:!1,refreshToken:null}),$(`${S} ✗ ${a.provider}/${a.name||a.email||a.id} — Refresh token is permanently invalid (${i.error}). Connection deactivated. Re-authenticate to restore.`);return}if(i&&i.accessToken){let b={accessToken:i.accessToken,lastHealthCheckAt:j,testStatus:"active",lastError:null,lastErrorAt:null,lastErrorType:null,lastErrorSource:null,errorCode:null};i.refreshToken&&(b.refreshToken=i.refreshToken),i.expiresIn&&(b.tokenExpiresAt=new Date(Date.now()+1e3*i.expiresIn).toISOString()),await (0,n.updateProviderConnection)(a.id,b),Z(`${S} ✓ ${a.provider}/${a.name||a.email||a.id} refreshed`)}else await (0,n.updateProviderConnection)(a.id,{lastHealthCheckAt:j,testStatus:"error",lastError:"Health check: token refresh failed",lastErrorAt:j,lastErrorType:"token_refresh_failed",lastErrorSource:"oauth",errorCode:"refresh_failed"}),function(a,...b){Y().then(c=>{c||console.warn(a,...b)})}(`${S} ✗ ${a.provider}/${a.name||a.email||a.id} refresh failed`)}globalThis.__omnirouteTokenHC||(globalThis.__omnirouteTokenHC={initialized:!1,interval:null}),(e=globalThis.__omnirouteTokenHC).initialized||U("OMNIROUTE_DISABLE_TOKEN_HEALTHCHECK")||(e.initialized=!0,Z(`${S} Starting proactive token health-check (tick every 60s)`),setTimeout(()=>{_(),e.interval=setInterval(_,6e4)},1e4));let ab=!1;(async function(){if(!ab)try{await o(),ab=!0}catch(a){console.error("[ServerInit] Error initializing cloud sync:",a)}return ab})().catch(a=>console.error("[CloudSync] ensure failed:",a)),a.s([],482970)}];
|
|
1
|
+
module.exports=[482970,a=>{"use strict";let b,c,d,e;var f=a.i(895956);a.i(147921);var g=a.i(289226);function h(a,b){if(!a)return b;let c=Number.parseInt(String(a),10);return!Number.isFinite(c)||c<1||c>65535?b:c}let{dashboardPort:i}=(b=h(process.env.OMNIROUTE_PORT||process.env.PORT,20128),c=!!process.env.API_PORT,d=!!process.env.DASHBOARD_PORT,{port:b,apiPort:h(process.env.API_PORT,b),dashboardPort:h(process.env.DASHBOARD_PORT,b),apiPortExplicit:c,dashboardPortExplicit:d}),j=process.env.BASE_URL||process.env.NEXT_PUBLIC_BASE_URL||process.env.NEXT_PUBLIC_APP_URL||`http://localhost:${i}`;class k{machineId;intervalMinutes;intervalId;constructor(a=null,b=15){this.machineId=a,this.intervalMinutes=b,this.intervalId=null}async initializeMachineId(){this.machineId||(this.machineId=await (0,f.getConsistentMachineId)())}async start(){this.intervalId||(await this.initializeMachineId(),setTimeout(()=>{this.syncWithRetry().catch(()=>{})},3e4),this.intervalId=setInterval(()=>{this.syncWithRetry().catch(()=>{})},60*this.intervalMinutes*1e3))}stop(){this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null)}async syncWithRetry(a=1){for(let b=1;b<=a;b++)try{return await this.sync()}catch(d){if(b===a)return null;let c=Math.min(1e3*Math.pow(2,b),1e4);await new Promise(a=>setTimeout(a,c))}}async sync(){if(!await (0,g.isCloudEnabled)())return null;await this.initializeMachineId();let a=await fetch(`${j}/api/sync/cloud`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({machineId:this.machineId,action:"sync"})});if(!a.ok)throw Error((await a.json().catch(()=>({}))).error||"Sync failed");return await a.json()}isRunning(){return null!==this.intervalId}}let l=null;async function m(a=null,b=15){return l||(l=new k(a,b)),l}var n=a.i(323746);async function o(){try{await (0,n.cleanupProviderConnections)();let a=await m(null,15);return await a.start(),a}catch(a){throw console.error("[CloudSync] Error initializing scheduler:",a),a}}a.z.main===module&&o().catch(a=>console.error("[CloudSync] init failed:",a));var p=a.i(522734),q=a.i(814747),r=a.i(680423);let s=["clientId","clientSecret","tokenUrl","authUrl","refreshUrl"],t=0,u=null;function v(){return globalThis}var w=a.i(503070);parseInt(process.env.FETCH_TIMEOUT_MS||"600000",10),parseInt(process.env.STREAM_IDLE_TIMEOUT_MS||"600000",10);let x=(0,w.generateLegacyProviders)();!function(a){if(u&&Date.now()-t<6e4)return;let b=(0,q.join)((0,r.resolveDataDir)(),"provider-credentials.json");if(!(0,p.existsSync)(b))return v().__omnirouteCredNoFileLogged||(console.log("[CREDENTIALS] No external credentials file found, using defaults."),v().__omnirouteCredNoFileLogged=!0),u=a,t=Date.now();try{let c=(0,p.readFileSync)(b,"utf-8"),d=JSON.parse(c),e=0;for(let[b,c]of Object.entries(d)){if(!a[b]){console.log(`[CREDENTIALS] Warning: unknown provider "${b}" in credentials file, skipping.`);continue}if(!c||"object"!=typeof c){console.log(`[CREDENTIALS] Warning: provider "${b}" value must be an object, got ${typeof c}. Skipping.`);continue}for(let d of s)void 0!==c[d]&&(a[b][d]=c[d],e++)}let f=null!==u;console.log(`[CREDENTIALS] ${f?"Reloaded":"Loaded"} external credentials: ${e} field(s) from ${b}`)}catch(b){let a=b instanceof SyntaxError?"Invalid JSON format":b.code||"read error";console.log(`[CREDENTIALS] Error reading credentials file (${a}). Using defaults.`)}u=a,t=Date.now()}(x);let y="https://oauth2.googleapis.com/token",z="https://auth.openai.com/oauth/token",A="https://console.anthropic.com/v1/oauth/token",B="https://chat.qwen.ai/api/v1/oauth2/token",C="https://iflow.cn/oauth/token",D="https://github.com/login/oauth/access_token";var E=a.i(666680);let F=new Map;async function G(a,b,c,d){let e=x[a],f=e?.refreshUrl||e?.tokenUrl;if(!e||!f)return d?.warn?.("TOKEN_REFRESH",`No refresh endpoint configured for provider: ${a}`),null;if(!b)return d?.warn?.("TOKEN_REFRESH",`No refresh token available for provider: ${a}`),null;try{let c=new URLSearchParams({grant_type:"refresh_token",refresh_token:b});e.clientId&&c.set("client_id",e.clientId),e.clientSecret&&c.set("client_secret",e.clientSecret);let g=await fetch(f,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:c});if(!g.ok){let b=await g.text();return d?.error?.("TOKEN_REFRESH",`Failed to refresh token for ${a}`,{status:g.status,error:b}),null}let h=await g.json();return d?.info?.("TOKEN_REFRESH",`Successfully refreshed token for ${a}`,{hasNewAccessToken:!!h.access_token,hasNewRefreshToken:!!h.refresh_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||b,expiresIn:h.expires_in}}catch(b){return d?.error?.("TOKEN_REFRESH",`Error refreshing token for ${a}`,{error:b.message}),null}}async function H(a,b){let c=x.cline?.refreshUrl;if(!c)return b?.warn?.("TOKEN_REFRESH","No refresh URL configured for Cline"),null;try{let d=await fetch(c,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a,grantType:"refresh_token",clientType:"extension"})});if(!d.ok){let a=await d.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Cline token",{status:d.status,error:a}),null}let e=await d.json(),f=e?.data||e,g=f?.expiresAt,h=g?Math.max(1,Math.floor((new Date(g).getTime()-Date.now())/1e3)):void 0;return b?.info?.("TOKEN_REFRESH","Successfully refreshed Cline token",{hasNewAccessToken:!!f?.accessToken,hasNewRefreshToken:!!f?.refreshToken,expiresIn:h}),{accessToken:f?.accessToken,refreshToken:f?.refreshToken||a,expiresIn:h}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Cline token: ${a.message}`),null}}async function I(a,b){let c=x["kimi-coding"]?.refreshUrl||x["kimi-coding"]?.tokenUrl;if(!c)return b?.warn?.("TOKEN_REFRESH","No refresh URL configured for Kimi Coding"),null;let d="kimi-refresh-"+Date.now(),e="u">typeof process?`${process.platform} ${process.arch}`:"unknown";try{let f=new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:x["kimi-coding"]?.clientId||""}),g=await fetch(c,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json","X-Msh-Platform":"omniroute","X-Msh-Version":"2.1.2","X-Msh-Device-Model":e,"X-Msh-Device-Id":d},body:f});if(!g.ok){let a=await g.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Kimi Coding token",{status:g.status,error:a}),null}let h=await g.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Kimi Coding token",{hasNewAccessToken:!!h.access_token,hasNewRefreshToken:!!h.refresh_token,expiresIn:h.expires_in}),{accessToken:h.access_token,refreshToken:h.refresh_token||a,expiresIn:h.expires_in,tokenType:h.token_type,scope:h.scope}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Kimi Coding token: ${a.message}`),null}}async function J(a,b){try{let c=await fetch(A,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({grant_type:"refresh_token",refresh_token:a,client_id:x.claude.clientId})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh Claude OAuth token",{status:c.status,error:a}),null}let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Claude OAuth token",{hasNewAccessToken:!!d.access_token,hasNewRefreshToken:!!d.refresh_token,expiresIn:d.expires_in}),{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Claude token: ${a.message}`),null}}async function K(a,b,c,d){let e=await fetch(y,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:b,client_secret:c})});if(!e.ok){let a=await e.text();return d?.error?.("TOKEN_REFRESH","Failed to refresh Google token",{status:e.status,error:a}),null}let f=await e.json();return d?.info?.("TOKEN_REFRESH","Successfully refreshed Google token",{hasNewAccessToken:!!f.access_token,hasNewRefreshToken:!!f.refresh_token,expiresIn:f.expires_in}),{accessToken:f.access_token,refreshToken:f.refresh_token||a,expiresIn:f.expires_in}}async function L(a,b){try{let c=await fetch(B,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:x.qwen.clientId})});if(200===c.status){let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Qwen token",{hasNewAccessToken:!!d.access_token,hasNewRefreshToken:!!d.refresh_token,expiresIn:d.expires_in}),{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}{let a=await c.text().catch(()=>""),d=null;try{let b=JSON.parse(a);d=b?.error}catch{}if("invalid_request"===d)return b?.error?.("TOKEN_REFRESH","Qwen refresh token is invalid or expired. Re-authentication required.",{status:c.status}),{error:"invalid_request"};b?.warn?.("TOKEN_REFRESH","Error with Qwen endpoint",{status:c.status,error:a})}}catch(a){b?.warn?.("TOKEN_REFRESH","Network error trying Qwen endpoint",{error:a.message})}return b?.error?.("TOKEN_REFRESH","Failed to refresh Qwen token"),null}async function M(a,b){try{let c=await fetch(z,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:x.codex.clientId,scope:"openid profile email offline_access"})});if(!c.ok){let a=await c.text(),d=null;try{let b=JSON.parse(a);d=b?.error?.code}catch{}if("refresh_token_reused"===d)return b?.error?.("TOKEN_REFRESH","Codex refresh token already used (rotating token consumed). Re-authentication required.",{status:c.status}),{error:"refresh_token_reused"};return b?.error?.("TOKEN_REFRESH","Failed to refresh Codex token",{status:c.status,error:a}),null}let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed Codex token",{hasNewAccessToken:!!d.access_token,hasNewRefreshToken:!!d.refresh_token,expiresIn:d.expires_in}),{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}catch(a){return b?.error?.("TOKEN_REFRESH",`Network error refreshing Codex token: ${a.message}`),null}}async function N(a,b,c){try{let d=b?.authMethod,e=b?.clientId,f=b?.clientSecret,g=b?.region;if(e&&f){let b="idc"===d&&g?`https://oidc.${g}.amazonaws.com/token`:"https://oidc.us-east-1.amazonaws.com/token",h=await fetch(b,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({clientId:e,clientSecret:f,refreshToken:a,grantType:"refresh_token"})});if(!h.ok){let a=await h.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro AWS token",{status:h.status,error:a}),null}let i=await h.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro AWS token",{hasNewAccessToken:!!i.accessToken,expiresIn:i.expiresIn}),{accessToken:i.accessToken,refreshToken:i.refreshToken||a,expiresIn:i.expiresIn}}let h=await fetch(x.kiro.tokenUrl,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:JSON.stringify({refreshToken:a})});if(!h.ok){let a=await h.text();return c?.error?.("TOKEN_REFRESH","Failed to refresh Kiro social token",{status:h.status,error:a}),null}let i=await h.json();return c?.info?.("TOKEN_REFRESH","Successfully refreshed Kiro social token",{hasNewAccessToken:!!i.accessToken,expiresIn:i.expiresIn}),{accessToken:i.accessToken,refreshToken:i.refreshToken||a,expiresIn:i.expiresIn}}catch(a){return c?.error?.("TOKEN_REFRESH",`Network error refreshing Kiro token: ${a.message}`),null}}async function O(a,b){let c=btoa(`${x.iflow.clientId}:${x.iflow.clientSecret}`),d=await fetch(C,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json",Authorization:`Basic ${c}`},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:x.iflow.clientId,client_secret:x.iflow.clientSecret})});if(!d.ok){let a=await d.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh iFlow token",{status:d.status,error:a}),null}let e=await d.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed iFlow token",{hasNewAccessToken:!!e.access_token,hasNewRefreshToken:!!e.refresh_token,expiresIn:e.expires_in}),{accessToken:e.access_token,refreshToken:e.refresh_token||a,expiresIn:e.expires_in}}async function P(a,b){let c=await fetch(D,{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json"},body:new URLSearchParams({grant_type:"refresh_token",refresh_token:a,client_id:x.github.clientId,client_secret:x.github.clientSecret})});if(!c.ok){let a=await c.text();return b?.error?.("TOKEN_REFRESH","Failed to refresh GitHub token",{status:c.status,error:a}),null}let d=await c.json();return b?.info?.("TOKEN_REFRESH","Successfully refreshed GitHub token",{hasNewAccessToken:!!d.access_token,hasNewRefreshToken:!!d.refresh_token,expiresIn:d.expires_in}),{accessToken:d.access_token,refreshToken:d.refresh_token||a,expiresIn:d.expires_in}}async function Q(a,b,c){switch(a){case"gemini":case"gemini-cli":case"antigravity":return await K(b.refreshToken,x[a].clientId,x[a].clientSecret,c);case"claude":return await J(b.refreshToken,c);case"codex":return await M(b.refreshToken,c);case"qwen":return await L(b.refreshToken,c);case"iflow":return await O(b.refreshToken,c);case"github":return await P(b.refreshToken,c);case"kiro":return await N(b.refreshToken,b.providerSpecificData,c);case"cline":return await H(b.refreshToken,c);case"kimi-coding":return await I(b.refreshToken,c);default:return G(a,b.refreshToken,b,c)}}async function R(a,b,c){var d;let e;if(!b||!b.refreshToken||"string"!=typeof b.refreshToken)return c?.warn?.("TOKEN_REFRESH",`No valid refresh token available for provider: ${a}`),null;let f=(d=b.refreshToken,e=(0,E.createHash)("sha256").update(d).digest("hex"),`${a}:${e}`);if(F.has(f))return c?.info?.("TOKEN_REFRESH",`Reusing in-flight refresh for ${a}`),F.get(f);let g=Q(a,b,c).finally(()=>{F.delete(f)});return F.set(f,g),g}let S="[HealthCheck]",T=new Set(["1","true","yes","on"]);function U(a){let b=process.env[a];return!!b&&T.has(b.trim().toLowerCase())}let V=null,W=0,X=null;async function Y(){if(U("OMNIROUTE_HIDE_HEALTHCHECK_LOGS"))return!0;let a=Date.now();return null!==V&&a-W<3e4?V:null!==X?X:X=(async()=>{try{let b=await (0,g.getSettings)();return V=!0===b.hideHealthCheckLogs,W=a,V}catch{return!1}finally{X=null}})()}function Z(a,...b){Y().then(c=>{c||console.log(a,...b)})}function $(a,...b){Y().then(c=>{c||console.error(a,...b)})}async function _(){try{let a=await (0,n.getProviderConnections)({authType:"oauth"});if(!a||0===a.length)return;for(let b of a)try{await aa(b)}catch(a){$(`${S} Error checking ${b.name||b.id}:`,a.message)}}catch(a){$(`${S} Sweep error:`,a.message)}}async function aa(a){let b=a.healthCheckInterval??60;if(b<=0||!a.isActive||!a.refreshToken||"string"!=typeof a.refreshToken)return;if("expired"===a.testStatus){let b=a.expiredRetryCount??0;if(b>=3)return;let c=a.expiredRetryAt?new Date(a.expiredRetryAt).getTime():0,d=3e5*Math.pow(2,b);if(Date.now()-c<d)return;Z(`${S} Retrying expired ${a.provider}/${a.name||a.email||a.id} (attempt ${b+1}/3)`)}if(!function(a){if(new Set(["gemini","gemini-cli","antigravity","claude","codex","qwen","iflow","github","kiro","cline","kimi-coding"]).has(a))return!0;let b=x[a];return!!(b?.refreshUrl||b?.tokenUrl)}(a.provider)){let b=new Date().toISOString();await (0,n.updateProviderConnection)(a.id,{lastHealthCheckAt:b}),Z(`${S} Skipping ${a.provider}/${a.name||a.email||a.id} (refresh unsupported)`);return}let c=a.lastHealthCheckAt?new Date(a.lastHealthCheckAt).getTime():0,d=a.tokenExpiresAt?new Date(a.tokenExpiresAt).getTime():0,e=d>0&&d-Date.now()<3e5;if(Date.now()-c<60*b*1e3&&!e)return;let f=e?"token expiring soon":`interval: ${b}min`;Z(`${S} Refreshing ${a.provider}/${a.name||a.email||a.id} (${f})`);let g={refreshToken:a.refreshToken,accessToken:a.accessToken,expiresAt:a.tokenExpiresAt,providerSpecificData:a.providerSpecificData},h=await Y(),i=await R(a.provider,g,{info:(a,b)=>{h||console.log(`${S} [${a}] ${b}`)},warn:(a,b)=>{h||console.warn(`${S} [${a}] ${b}`)},error:(a,b,c)=>{h||console.error(`${S} [${a}] ${b}`,c||"")}}),j=new Date().toISOString();if(i&&"object"==typeof i&&("refresh_token_reused"===i.error||"invalid_request"===i.error)){await (0,n.updateProviderConnection)(a.id,{lastHealthCheckAt:j,testStatus:"expired",lastError:`Refresh token consumed (${i.error}). Please re-authenticate this account.`,lastErrorAt:j,lastErrorType:i.error,lastErrorSource:"oauth",errorCode:i.error,isActive:!1,refreshToken:null}),$(`${S} ✗ ${a.provider}/${a.name||a.email||a.id} — Refresh token is permanently invalid (${i.error}). Connection deactivated. Re-authenticate to restore.`);return}if(i&&i.accessToken){let b={accessToken:i.accessToken,lastHealthCheckAt:j,testStatus:"active",lastError:null,lastErrorAt:null,lastErrorType:null,lastErrorSource:null,errorCode:null,expiredRetryCount:null,expiredRetryAt:null};i.refreshToken&&(b.refreshToken=i.refreshToken),i.expiresIn&&(b.tokenExpiresAt=new Date(Date.now()+1e3*i.expiresIn).toISOString()),await (0,n.updateProviderConnection)(a.id,b),Z(`${S} ✓ ${a.provider}/${a.name||a.email||a.id} refreshed`)}else{let b="expired"===a.testStatus,c=(a.expiredRetryCount??0)+ +!!b;await (0,n.updateProviderConnection)(a.id,{lastHealthCheckAt:j,testStatus:b?"expired":"error",lastError:"Health check: token refresh failed",lastErrorAt:j,lastErrorType:"token_refresh_failed",lastErrorSource:"oauth",errorCode:"refresh_failed",...b?{expiredRetryCount:c,expiredRetryAt:j}:{}}),function(a,...b){Y().then(c=>{c||console.warn(a,...b)})}(`${S} ✗ ${a.provider}/${a.name||a.email||a.id} refresh failed`+(b?` (expired retry ${c}/3)`:""))}}globalThis.__omnirouteTokenHC||(globalThis.__omnirouteTokenHC={initialized:!1,interval:null}),(e=globalThis.__omnirouteTokenHC).initialized||U("OMNIROUTE_DISABLE_TOKEN_HEALTHCHECK")||(e.initialized=!0,Z(`${S} Starting proactive token health-check (tick every 60s)`),setTimeout(()=>{_(),e.interval=setInterval(_,6e4)},1e4));let ab=!1;(async function(){if(!ab)try{await o(),ab=!0}catch(a){console.error("[ServerInit] Error initializing cloud sync:",a)}return ab})().catch(a=>console.error("[CloudSync] ensure failed:",a)),a.s([],482970)}];
|
|
2
2
|
|
|
3
3
|
//# sourceMappingURL=src_lib_initCloudSync_ts_982b9d4d._.js.map
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
<!DOCTYPE html><!--
|
|
2
|
-
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/ad127912b31cdc66.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[339756,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"default\"]\n3:I[837457,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"default\"]\n4:I[897367,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[897367,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"ViewportBoundary\"]\n9:I[897367,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"MetadataBoundary\"]\nb:I[168027,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"
|
|
1
|
+
<!DOCTYPE html><!--IflDsSCpfe7S_9YDKUH5D--><html id="__next_error__"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/ad127912b31cdc66.js"/><script src="/_next/static/chunks/3dd6d23a48e5d078.js" async=""></script><script src="/_next/static/chunks/4fa395d360c87cc3.js" async=""></script><script src="/_next/static/chunks/b133d1854532ff8c.js" async=""></script><script src="/_next/static/chunks/c88fcc5f8b21ff92.js" async=""></script><script src="/_next/static/chunks/turbopack-782b2fac4674487a.js" async=""></script><script src="/_next/static/chunks/d96012bcfc98706a.js" async=""></script><script src="/_next/static/chunks/16ea27c3b926bc31.js" async=""></script><meta name="next-size-adjust" content=""/><title>500: Internal Server Error.</title><script src="/_next/static/chunks/a6dad97d9634a72d.js" noModule=""></script></head><body><div hidden=""><!--$--><!--/$--></div><div style="font-family:system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji";height:100vh;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center"><div style="line-height:48px"><style>body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}
|
|
2
|
+
@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}</style><h1 class="next-error-h1" style="display:inline-block;margin:0 20px 0 0;padding-right:23px;font-size:24px;font-weight:500;vertical-align:top">500</h1><div style="display:inline-block"><h2 style="font-size:14px;font-weight:400;line-height:28px">Internal Server Error.</h2></div></div></div><!--$--><!--/$--><script src="/_next/static/chunks/ad127912b31cdc66.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[339756,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"default\"]\n3:I[837457,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"default\"]\n4:I[897367,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"OutletBoundary\"]\n5:\"$Sreact.suspense\"\n7:I[897367,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"ViewportBoundary\"]\n9:I[897367,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"MetadataBoundary\"]\nb:I[168027,[\"/_next/static/chunks/d96012bcfc98706a.js\",\"/_next/static/chunks/16ea27c3b926bc31.js\"],\"default\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"b\":\"IflDsSCpfe7S_9YDKUH5D\",\"c\":[\"\",\"_global-error\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]}],[[\"$\",\"$1\",\"c\",{\"children\":[null,[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":\"$undefined\",\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"html\",null,{\"id\":\"__next_error__\",\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"title\",null,{\"children\":\"500: Internal Server Error.\"}]}],[\"$\",\"body\",null,{\"children\":[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"style\":{\"lineHeight\":\"48px\"},\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}\\n@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"paddingRight\":23,\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\"},\"children\":\"500\"}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"28px\"},\"children\":\"Internal Server Error.\"}]}]]}]}]}]]}],[[\"$\",\"script\",\"script-0\",{\"src\":\"/_next/static/chunks/d96012bcfc98706a.js\",\"async\":true,\"nonce\":\"$undefined\"}],[\"$\",\"script\",\"script-1\",{\"src\":\"/_next/static/chunks/16ea27c3b926bc31.js\",\"async\":true,\"nonce\":\"$undefined\"}]],[\"$\",\"$L4\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@6\"}]}]]}],{},null,false,false]},null,false,false],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L7\",null,{\"children\":\"$L8\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$L9\",null,{\"children\":[\"$\",\"$5\",null,{\"name\":\"Next.Metadata\",\"children\":\"$La\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$b\",\"$undefined\"],\"S\":true}\n"])</script><script>self.__next_f.push([1,"8:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"6:null\na:[]\n"])</script></body></html>
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"
|
|
1
|
+
self.__RSC_SERVER_MANIFEST="{\n \"node\": {},\n \"edge\": {},\n \"encryptionKey\": \"8eTMtqXgCA2WMrx2eyvnarMpwyjk4kylg2He76ZYlEo=\"\n}"
|