detached 2bf9508

Add Claude Sonnet 5 model support

commit
2bf95086772401e0f25f12c87f6ab162dc3ac55f
author
patriceckhart · · 2026-07-06 17:03 UTC
parent
11b3818
signature
unsigned
refs
tag: v0.2.65
4 files · +70 -1
M packages/provider/anthropic.go +1 -1
@@ -199,7 +199,7 @@ func usesAdaptiveThinking(m Model) bool {
199199 return true
200200 }
201201 id := strings.ToLower(m.ID)
202- for _, marker := range []string{"opus-4-7", "opus-4.7", "opus-4-8", "opus-4.8"} {
202+ for _, marker := range []string{"opus-4-7", "opus-4.7", "opus-4-8", "opus-4.8", "sonnet-5", "fable-5"} {
203203 if strings.Contains(id, marker) {
204204 return true
205205 }
@@ -199,7 +199,7 @@ func usesAdaptiveThinking(m Model) bool {
199 return true199 return true
200 }200 }
201 id := strings.ToLower(m.ID)201 id := strings.ToLower(m.ID)
202- for _, marker := range []string{"opus-4-7", "opus-4.7", "opus-4-8", "opus-4.8"} {202+ for _, marker := range []string{"opus-4-7", "opus-4.7", "opus-4-8", "opus-4.8", "sonnet-5", "fable-5"} {
203 if strings.Contains(id, marker) {203 if strings.Contains(id, marker) {
204 return true204 return true
205 }205 }
M packages/provider/catalog_builtin.go +10 -0
@@ -29,11 +29,13 @@ var builtinCatalog = []Model{
2929 {Provider: "amazon-bedrock", ID: "anthropic.claude-opus-4-8", DisplayName: "Claude Opus 4.8", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 5, PriceOutput: 25, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
3030 {Provider: "amazon-bedrock", ID: "anthropic.claude-sonnet-4-5-20250929-v1:0", DisplayName: "Claude Sonnet 4.5", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
3131 {Provider: "amazon-bedrock", ID: "anthropic.claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
32+ {Provider: "amazon-bedrock", ID: "anthropic.claude-sonnet-5", DisplayName: "Claude Sonnet 5", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
3233 {Provider: "amazon-bedrock", ID: "au.anthropic.claude-haiku-4-5-20251001-v1:0", DisplayName: "Claude Haiku 4.5 (AU)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 1, PriceOutput: 5, PriceCacheRead: 0.1, PriceCacheWrite: 1.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
3334 {Provider: "amazon-bedrock", ID: "au.anthropic.claude-opus-4-6-v1", DisplayName: "AU Anthropic Claude Opus 4.6", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 16.5, PriceOutput: 82.5, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
3435 {Provider: "amazon-bedrock", ID: "au.anthropic.claude-opus-4-8", DisplayName: "AU Anthropic Claude Opus 4.8", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 16.5, PriceOutput: 82.5, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
3536 {Provider: "amazon-bedrock", ID: "au.anthropic.claude-sonnet-4-5-20250929-v1:0", DisplayName: "Claude Sonnet 4.5 (AU)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
3637 {Provider: "amazon-bedrock", ID: "au.anthropic.claude-sonnet-4-6", DisplayName: "AU Anthropic Claude Sonnet 4.6", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 3.3, PriceOutput: 16.5, PriceCacheRead: 0.33, PriceCacheWrite: 4.125, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
38+ {Provider: "amazon-bedrock", ID: "au.anthropic.claude-sonnet-5", DisplayName: "Claude Sonnet 5 (AU)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
3739 {Provider: "amazon-bedrock", ID: "deepseek.r1-v1:0", DisplayName: "DeepSeek-R1", ContextWindow: 128000, MaxOutput: 32768, Reasoning: true, PriceInput: 1.35, PriceOutput: 5.4, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
3840 {Provider: "amazon-bedrock", ID: "deepseek.v3-v1:0", DisplayName: "DeepSeek-V3.1", ContextWindow: 163840, MaxOutput: 81920, Reasoning: true, PriceInput: 0.58, PriceOutput: 1.68, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
3941 {Provider: "amazon-bedrock", ID: "deepseek.v3.2", DisplayName: "DeepSeek-V3.2", ContextWindow: 163840, MaxOutput: 81920, Reasoning: true, PriceInput: 0.62, PriceOutput: 1.85, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
@@ -45,6 +47,7 @@ var builtinCatalog = []Model{
4547 {Provider: "amazon-bedrock", ID: "eu.anthropic.claude-opus-4-8", DisplayName: "Claude Opus 4.8 (EU)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 5, PriceOutput: 25, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.eu-central-1.amazonaws.com"},
4648 {Provider: "amazon-bedrock", ID: "eu.anthropic.claude-sonnet-4-5-20250929-v1:0", DisplayName: "Claude Sonnet 4.5 (EU)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.eu-central-1.amazonaws.com"},
4749 {Provider: "amazon-bedrock", ID: "eu.anthropic.claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6 (EU)", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.eu-central-1.amazonaws.com"},
50+ {Provider: "amazon-bedrock", ID: "eu.anthropic.claude-sonnet-5", DisplayName: "Claude Sonnet 5 (EU)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5, BaseURL: "https://bedrock-runtime.eu-central-1.amazonaws.com"},
4851 {Provider: "amazon-bedrock", ID: "global.anthropic.claude-fable-5", DisplayName: "Claude Fable 5 (Global)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 10, PriceOutput: 50, PriceCacheRead: 1, PriceCacheWrite: 12.5, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
4952 {Provider: "amazon-bedrock", ID: "global.anthropic.claude-haiku-4-5-20251001-v1:0", DisplayName: "Claude Haiku 4.5 (Global)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 1, PriceOutput: 5, PriceCacheRead: 0.1, PriceCacheWrite: 1.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
5053 {Provider: "amazon-bedrock", ID: "global.anthropic.claude-opus-4-5-20251101-v1:0", DisplayName: "Claude Opus 4.5 (Global)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 5, PriceOutput: 25, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
@@ -53,6 +56,7 @@ var builtinCatalog = []Model{
5356 {Provider: "amazon-bedrock", ID: "global.anthropic.claude-opus-4-8", DisplayName: "Claude Opus 4.8 (Global)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 5, PriceOutput: 25, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
5457 {Provider: "amazon-bedrock", ID: "global.anthropic.claude-sonnet-4-5-20250929-v1:0", DisplayName: "Claude Sonnet 4.5 (Global)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
5558 {Provider: "amazon-bedrock", ID: "global.anthropic.claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6 (Global)", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
59+ {Provider: "amazon-bedrock", ID: "global.anthropic.claude-sonnet-5", DisplayName: "Claude Sonnet 5 (Global)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
5660 // ----- azure-openai-responses -----
5761 {Provider: "azure-openai-responses", ID: "gpt-4", DisplayName: "GPT-4", ContextWindow: 8192, MaxOutput: 8192, Reasoning: false, PriceInput: 30, PriceOutput: 60, PriceCacheRead: 0, BaseURL: ""},
5862 {Provider: "azure-openai-responses", ID: "gpt-4-turbo", DisplayName: "GPT-4 Turbo", ContextWindow: 128000, MaxOutput: 4096, Reasoning: false, PriceInput: 10, PriceOutput: 30, PriceCacheRead: 0, BaseURL: ""},
@@ -101,6 +105,7 @@ var builtinCatalog = []Model{
101105 {Provider: "cloudflare-ai-gateway", ID: "claude-sonnet-4", DisplayName: "Claude Sonnet 4 (latest)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic"},
102106 {Provider: "cloudflare-ai-gateway", ID: "claude-sonnet-4-5", DisplayName: "Claude Sonnet 4.5 (latest)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic"},
103107 {Provider: "cloudflare-ai-gateway", ID: "claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic"},
108+ {Provider: "cloudflare-ai-gateway", ID: "claude-sonnet-5", DisplayName: "Claude Sonnet 5", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5, BaseURL: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic"},
104109 {Provider: "cloudflare-ai-gateway", ID: "gpt-4", DisplayName: "GPT-4", ContextWindow: 8192, MaxOutput: 8192, Reasoning: false, PriceInput: 30, PriceOutput: 60, PriceCacheRead: 0, BaseURL: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai"},
105110 {Provider: "cloudflare-ai-gateway", ID: "gpt-4-turbo", DisplayName: "GPT-4 Turbo", ContextWindow: 128000, MaxOutput: 4096, Reasoning: false, PriceInput: 10, PriceOutput: 30, PriceCacheRead: 0, BaseURL: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai"},
106111 {Provider: "cloudflare-ai-gateway", ID: "gpt-4o", DisplayName: "GPT-4o", ContextWindow: 128000, MaxOutput: 16384, Reasoning: false, PriceInput: 2.5, PriceOutput: 10, PriceCacheRead: 1.25, BaseURL: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai"},
@@ -140,6 +145,7 @@ var builtinCatalog = []Model{
140145 {Provider: "github-copilot", ID: "claude-opus-4.8", DisplayName: "Claude Opus 4.8", ContextWindow: 144000, MaxOutput: 64000, Reasoning: true, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://api.individual.githubcopilot.com"},
141146 {Provider: "github-copilot", ID: "claude-sonnet-4.5", DisplayName: "Claude Sonnet 4.5", ContextWindow: 144000, MaxOutput: 32000, Reasoning: true, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://api.individual.githubcopilot.com"},
142147 {Provider: "github-copilot", ID: "claude-sonnet-4.6", DisplayName: "Claude Sonnet 4.6", ContextWindow: 1000000, MaxOutput: 32000, Reasoning: true, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://api.individual.githubcopilot.com"},
148+ {Provider: "github-copilot", ID: "claude-sonnet-5", DisplayName: "Claude Sonnet 5", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://api.individual.githubcopilot.com"},
143149 {Provider: "github-copilot", ID: "gemini-2.5-pro", DisplayName: "Gemini 2.5 Pro", ContextWindow: 128000, MaxOutput: 64000, Reasoning: false, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://api.individual.githubcopilot.com"},
144150 {Provider: "github-copilot", ID: "gemini-3-flash-preview", DisplayName: "Gemini 3 Flash", ContextWindow: 128000, MaxOutput: 64000, Reasoning: true, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://api.individual.githubcopilot.com"},
145151 {Provider: "github-copilot", ID: "gemini-3.1-pro-preview", DisplayName: "Gemini 3.1 Pro Preview", ContextWindow: 128000, MaxOutput: 64000, Reasoning: true, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://api.individual.githubcopilot.com"},
@@ -286,6 +292,7 @@ var builtinCatalog = []Model{
286292 {Provider: "opencode", ID: "claude-sonnet-4", DisplayName: "Claude Sonnet 4", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://opencode.ai/zen"},
287293 {Provider: "opencode", ID: "claude-sonnet-4-5", DisplayName: "Claude Sonnet 4.5", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://opencode.ai/zen"},
288294 {Provider: "opencode", ID: "claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://opencode.ai/zen"},
295+ {Provider: "opencode", ID: "claude-sonnet-5", DisplayName: "Claude Sonnet 5", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5, BaseURL: "https://opencode.ai/zen"},
289296 {Provider: "opencode", ID: "deepseek-v4-flash-free", DisplayName: "DeepSeek V4 Flash Free", ContextWindow: 200000, MaxOutput: 128000, Reasoning: true, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://opencode.ai/zen/v1"},
290297 {Provider: "opencode", ID: "gemini-3-flash", DisplayName: "Gemini 3 Flash", ContextWindow: 1048576, MaxOutput: 65536, Reasoning: true, PriceInput: 0.5, PriceOutput: 3, PriceCacheRead: 0.05, BaseURL: "https://opencode.ai/zen/v1"},
291298 {Provider: "opencode", ID: "gemini-3.1-pro", DisplayName: "Gemini 3.1 Pro Preview", ContextWindow: 1048576, MaxOutput: 65536, Reasoning: true, PriceInput: 2, PriceOutput: 12, PriceCacheRead: 0.2, BaseURL: "https://opencode.ai/zen/v1"},
@@ -367,6 +374,7 @@ var builtinCatalog = []Model{
367374 {Provider: "vercel-ai-gateway", ID: "anthropic/claude-sonnet-4", DisplayName: "Claude Sonnet 4", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://ai-gateway.vercel.sh"},
368375 {Provider: "vercel-ai-gateway", ID: "anthropic/claude-sonnet-4.5", DisplayName: "Claude Sonnet 4.5", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://ai-gateway.vercel.sh"},
369376 {Provider: "vercel-ai-gateway", ID: "anthropic/claude-sonnet-4.6", DisplayName: "Claude Sonnet 4.6", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://ai-gateway.vercel.sh"},
377+ {Provider: "vercel-ai-gateway", ID: "anthropic/claude-sonnet-5", DisplayName: "Claude Sonnet 5", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5, BaseURL: "https://ai-gateway.vercel.sh"},
370378 {Provider: "vercel-ai-gateway", ID: "arcee-ai/trinity-large-preview", DisplayName: "Trinity Large Preview", ContextWindow: 131000, MaxOutput: 131000, Reasoning: false, PriceInput: 0.25, PriceOutput: 1, PriceCacheRead: 0, BaseURL: "https://ai-gateway.vercel.sh"},
371379 {Provider: "vercel-ai-gateway", ID: "arcee-ai/trinity-large-thinking", DisplayName: "Trinity Large Thinking", ContextWindow: 262100, MaxOutput: 80000, Reasoning: true, PriceInput: 0.25, PriceOutput: 0.9, PriceCacheRead: 0, BaseURL: "https://ai-gateway.vercel.sh"},
372380 {Provider: "vercel-ai-gateway", ID: "bytedance/seed-1.6", DisplayName: "Seed 1.6", ContextWindow: 256000, MaxOutput: 32000, Reasoning: true, PriceInput: 0.25, PriceOutput: 2, PriceCacheRead: 0.05, BaseURL: "https://ai-gateway.vercel.sh"},
@@ -540,6 +548,7 @@ var builtinCatalog = []Model{
540548 {Provider: "amazon-bedrock", ID: "jp.anthropic.claude-opus-4-8", DisplayName: "Claude Opus 4.8 (JP)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 5, PriceOutput: 25, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
541549 {Provider: "amazon-bedrock", ID: "jp.anthropic.claude-sonnet-4-5-20250929-v1:0", DisplayName: "Claude Sonnet 4.5 (JP)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
542550 {Provider: "amazon-bedrock", ID: "jp.anthropic.claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6 (JP)", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
551+ {Provider: "amazon-bedrock", ID: "jp.anthropic.claude-sonnet-5", DisplayName: "Claude Sonnet 5 (JP)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
543552 {Provider: "amazon-bedrock", ID: "meta.llama3-1-70b-instruct-v1:0", DisplayName: "Llama 3.1 70B Instruct", ContextWindow: 128000, MaxOutput: 4096, Reasoning: false, PriceInput: 0.72, PriceOutput: 0.72, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
544553 {Provider: "amazon-bedrock", ID: "meta.llama3-1-8b-instruct-v1:0", DisplayName: "Llama 3.1 8B Instruct", ContextWindow: 128000, MaxOutput: 4096, Reasoning: false, PriceInput: 0.22, PriceOutput: 0.22, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
545554 {Provider: "amazon-bedrock", ID: "meta.llama3-3-70b-instruct-v1:0", DisplayName: "Llama 3.3 70B Instruct", ContextWindow: 128000, MaxOutput: 4096, Reasoning: false, PriceInput: 0.72, PriceOutput: 0.72, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
@@ -583,6 +592,7 @@ var builtinCatalog = []Model{
583592 {Provider: "amazon-bedrock", ID: "us.anthropic.claude-opus-4-8", DisplayName: "Claude Opus 4.8 (US)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 5, PriceOutput: 25, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
584593 {Provider: "amazon-bedrock", ID: "us.anthropic.claude-sonnet-4-5-20250929-v1:0", DisplayName: "Claude Sonnet 4.5 (US)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
585594 {Provider: "amazon-bedrock", ID: "us.anthropic.claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6 (US)", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
595+ {Provider: "amazon-bedrock", ID: "us.anthropic.claude-sonnet-5", DisplayName: "Claude Sonnet 5 (US)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
586596 {Provider: "amazon-bedrock", ID: "us.deepseek.r1-v1:0", DisplayName: "DeepSeek-R1 (US)", ContextWindow: 128000, MaxOutput: 32768, Reasoning: true, PriceInput: 1.35, PriceOutput: 5.4, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
587597 {Provider: "amazon-bedrock", ID: "us.meta.llama4-maverick-17b-instruct-v1:0", DisplayName: "Llama 4 Maverick 17B Instruct (US)", ContextWindow: 1000000, MaxOutput: 16384, Reasoning: false, PriceInput: 0.24, PriceOutput: 0.97, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
588598 {Provider: "amazon-bedrock", ID: "us.meta.llama4-scout-17b-instruct-v1:0", DisplayName: "Llama 4 Scout 17B Instruct (US)", ContextWindow: 3500000, MaxOutput: 16384, Reasoning: false, PriceInput: 0.17, PriceOutput: 0.66, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
@@ -29,11 +29,13 @@ var builtinCatalog = []Model{
29 {Provider: "amazon-bedrock", ID: "anthropic.claude-opus-4-8", DisplayName: "Claude Opus 4.8", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 5, PriceOutput: 25, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},29 {Provider: "amazon-bedrock", ID: "anthropic.claude-opus-4-8", DisplayName: "Claude Opus 4.8", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 5, PriceOutput: 25, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
30 {Provider: "amazon-bedrock", ID: "anthropic.claude-sonnet-4-5-20250929-v1:0", DisplayName: "Claude Sonnet 4.5", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},30 {Provider: "amazon-bedrock", ID: "anthropic.claude-sonnet-4-5-20250929-v1:0", DisplayName: "Claude Sonnet 4.5", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
31 {Provider: "amazon-bedrock", ID: "anthropic.claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},31 {Provider: "amazon-bedrock", ID: "anthropic.claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
32+ {Provider: "amazon-bedrock", ID: "anthropic.claude-sonnet-5", DisplayName: "Claude Sonnet 5", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
32 {Provider: "amazon-bedrock", ID: "au.anthropic.claude-haiku-4-5-20251001-v1:0", DisplayName: "Claude Haiku 4.5 (AU)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 1, PriceOutput: 5, PriceCacheRead: 0.1, PriceCacheWrite: 1.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},33 {Provider: "amazon-bedrock", ID: "au.anthropic.claude-haiku-4-5-20251001-v1:0", DisplayName: "Claude Haiku 4.5 (AU)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 1, PriceOutput: 5, PriceCacheRead: 0.1, PriceCacheWrite: 1.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
33 {Provider: "amazon-bedrock", ID: "au.anthropic.claude-opus-4-6-v1", DisplayName: "AU Anthropic Claude Opus 4.6", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 16.5, PriceOutput: 82.5, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},34 {Provider: "amazon-bedrock", ID: "au.anthropic.claude-opus-4-6-v1", DisplayName: "AU Anthropic Claude Opus 4.6", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 16.5, PriceOutput: 82.5, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
34 {Provider: "amazon-bedrock", ID: "au.anthropic.claude-opus-4-8", DisplayName: "AU Anthropic Claude Opus 4.8", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 16.5, PriceOutput: 82.5, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},35 {Provider: "amazon-bedrock", ID: "au.anthropic.claude-opus-4-8", DisplayName: "AU Anthropic Claude Opus 4.8", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 16.5, PriceOutput: 82.5, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
35 {Provider: "amazon-bedrock", ID: "au.anthropic.claude-sonnet-4-5-20250929-v1:0", DisplayName: "Claude Sonnet 4.5 (AU)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},36 {Provider: "amazon-bedrock", ID: "au.anthropic.claude-sonnet-4-5-20250929-v1:0", DisplayName: "Claude Sonnet 4.5 (AU)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
36 {Provider: "amazon-bedrock", ID: "au.anthropic.claude-sonnet-4-6", DisplayName: "AU Anthropic Claude Sonnet 4.6", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 3.3, PriceOutput: 16.5, PriceCacheRead: 0.33, PriceCacheWrite: 4.125, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},37 {Provider: "amazon-bedrock", ID: "au.anthropic.claude-sonnet-4-6", DisplayName: "AU Anthropic Claude Sonnet 4.6", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 3.3, PriceOutput: 16.5, PriceCacheRead: 0.33, PriceCacheWrite: 4.125, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
38+ {Provider: "amazon-bedrock", ID: "au.anthropic.claude-sonnet-5", DisplayName: "Claude Sonnet 5 (AU)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
37 {Provider: "amazon-bedrock", ID: "deepseek.r1-v1:0", DisplayName: "DeepSeek-R1", ContextWindow: 128000, MaxOutput: 32768, Reasoning: true, PriceInput: 1.35, PriceOutput: 5.4, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},39 {Provider: "amazon-bedrock", ID: "deepseek.r1-v1:0", DisplayName: "DeepSeek-R1", ContextWindow: 128000, MaxOutput: 32768, Reasoning: true, PriceInput: 1.35, PriceOutput: 5.4, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
38 {Provider: "amazon-bedrock", ID: "deepseek.v3-v1:0", DisplayName: "DeepSeek-V3.1", ContextWindow: 163840, MaxOutput: 81920, Reasoning: true, PriceInput: 0.58, PriceOutput: 1.68, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},40 {Provider: "amazon-bedrock", ID: "deepseek.v3-v1:0", DisplayName: "DeepSeek-V3.1", ContextWindow: 163840, MaxOutput: 81920, Reasoning: true, PriceInput: 0.58, PriceOutput: 1.68, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
39 {Provider: "amazon-bedrock", ID: "deepseek.v3.2", DisplayName: "DeepSeek-V3.2", ContextWindow: 163840, MaxOutput: 81920, Reasoning: true, PriceInput: 0.62, PriceOutput: 1.85, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},41 {Provider: "amazon-bedrock", ID: "deepseek.v3.2", DisplayName: "DeepSeek-V3.2", ContextWindow: 163840, MaxOutput: 81920, Reasoning: true, PriceInput: 0.62, PriceOutput: 1.85, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
@@ -45,6 +47,7 @@ var builtinCatalog = []Model{
45 {Provider: "amazon-bedrock", ID: "eu.anthropic.claude-opus-4-8", DisplayName: "Claude Opus 4.8 (EU)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 5, PriceOutput: 25, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.eu-central-1.amazonaws.com"},47 {Provider: "amazon-bedrock", ID: "eu.anthropic.claude-opus-4-8", DisplayName: "Claude Opus 4.8 (EU)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 5, PriceOutput: 25, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.eu-central-1.amazonaws.com"},
46 {Provider: "amazon-bedrock", ID: "eu.anthropic.claude-sonnet-4-5-20250929-v1:0", DisplayName: "Claude Sonnet 4.5 (EU)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.eu-central-1.amazonaws.com"},48 {Provider: "amazon-bedrock", ID: "eu.anthropic.claude-sonnet-4-5-20250929-v1:0", DisplayName: "Claude Sonnet 4.5 (EU)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.eu-central-1.amazonaws.com"},
47 {Provider: "amazon-bedrock", ID: "eu.anthropic.claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6 (EU)", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.eu-central-1.amazonaws.com"},49 {Provider: "amazon-bedrock", ID: "eu.anthropic.claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6 (EU)", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.eu-central-1.amazonaws.com"},
50+ {Provider: "amazon-bedrock", ID: "eu.anthropic.claude-sonnet-5", DisplayName: "Claude Sonnet 5 (EU)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5, BaseURL: "https://bedrock-runtime.eu-central-1.amazonaws.com"},
48 {Provider: "amazon-bedrock", ID: "global.anthropic.claude-fable-5", DisplayName: "Claude Fable 5 (Global)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 10, PriceOutput: 50, PriceCacheRead: 1, PriceCacheWrite: 12.5, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},51 {Provider: "amazon-bedrock", ID: "global.anthropic.claude-fable-5", DisplayName: "Claude Fable 5 (Global)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 10, PriceOutput: 50, PriceCacheRead: 1, PriceCacheWrite: 12.5, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
49 {Provider: "amazon-bedrock", ID: "global.anthropic.claude-haiku-4-5-20251001-v1:0", DisplayName: "Claude Haiku 4.5 (Global)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 1, PriceOutput: 5, PriceCacheRead: 0.1, PriceCacheWrite: 1.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},52 {Provider: "amazon-bedrock", ID: "global.anthropic.claude-haiku-4-5-20251001-v1:0", DisplayName: "Claude Haiku 4.5 (Global)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 1, PriceOutput: 5, PriceCacheRead: 0.1, PriceCacheWrite: 1.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
50 {Provider: "amazon-bedrock", ID: "global.anthropic.claude-opus-4-5-20251101-v1:0", DisplayName: "Claude Opus 4.5 (Global)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 5, PriceOutput: 25, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},53 {Provider: "amazon-bedrock", ID: "global.anthropic.claude-opus-4-5-20251101-v1:0", DisplayName: "Claude Opus 4.5 (Global)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 5, PriceOutput: 25, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
@@ -53,6 +56,7 @@ var builtinCatalog = []Model{
53 {Provider: "amazon-bedrock", ID: "global.anthropic.claude-opus-4-8", DisplayName: "Claude Opus 4.8 (Global)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 5, PriceOutput: 25, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},56 {Provider: "amazon-bedrock", ID: "global.anthropic.claude-opus-4-8", DisplayName: "Claude Opus 4.8 (Global)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 5, PriceOutput: 25, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
54 {Provider: "amazon-bedrock", ID: "global.anthropic.claude-sonnet-4-5-20250929-v1:0", DisplayName: "Claude Sonnet 4.5 (Global)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},57 {Provider: "amazon-bedrock", ID: "global.anthropic.claude-sonnet-4-5-20250929-v1:0", DisplayName: "Claude Sonnet 4.5 (Global)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
55 {Provider: "amazon-bedrock", ID: "global.anthropic.claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6 (Global)", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},58 {Provider: "amazon-bedrock", ID: "global.anthropic.claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6 (Global)", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
59+ {Provider: "amazon-bedrock", ID: "global.anthropic.claude-sonnet-5", DisplayName: "Claude Sonnet 5 (Global)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
56 // ----- azure-openai-responses -----60 // ----- azure-openai-responses -----
57 {Provider: "azure-openai-responses", ID: "gpt-4", DisplayName: "GPT-4", ContextWindow: 8192, MaxOutput: 8192, Reasoning: false, PriceInput: 30, PriceOutput: 60, PriceCacheRead: 0, BaseURL: ""},61 {Provider: "azure-openai-responses", ID: "gpt-4", DisplayName: "GPT-4", ContextWindow: 8192, MaxOutput: 8192, Reasoning: false, PriceInput: 30, PriceOutput: 60, PriceCacheRead: 0, BaseURL: ""},
58 {Provider: "azure-openai-responses", ID: "gpt-4-turbo", DisplayName: "GPT-4 Turbo", ContextWindow: 128000, MaxOutput: 4096, Reasoning: false, PriceInput: 10, PriceOutput: 30, PriceCacheRead: 0, BaseURL: ""},62 {Provider: "azure-openai-responses", ID: "gpt-4-turbo", DisplayName: "GPT-4 Turbo", ContextWindow: 128000, MaxOutput: 4096, Reasoning: false, PriceInput: 10, PriceOutput: 30, PriceCacheRead: 0, BaseURL: ""},
@@ -101,6 +105,7 @@ var builtinCatalog = []Model{
101 {Provider: "cloudflare-ai-gateway", ID: "claude-sonnet-4", DisplayName: "Claude Sonnet 4 (latest)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic"},105 {Provider: "cloudflare-ai-gateway", ID: "claude-sonnet-4", DisplayName: "Claude Sonnet 4 (latest)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic"},
102 {Provider: "cloudflare-ai-gateway", ID: "claude-sonnet-4-5", DisplayName: "Claude Sonnet 4.5 (latest)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic"},106 {Provider: "cloudflare-ai-gateway", ID: "claude-sonnet-4-5", DisplayName: "Claude Sonnet 4.5 (latest)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic"},
103 {Provider: "cloudflare-ai-gateway", ID: "claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic"},107 {Provider: "cloudflare-ai-gateway", ID: "claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic"},
108+ {Provider: "cloudflare-ai-gateway", ID: "claude-sonnet-5", DisplayName: "Claude Sonnet 5", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5, BaseURL: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/anthropic"},
104 {Provider: "cloudflare-ai-gateway", ID: "gpt-4", DisplayName: "GPT-4", ContextWindow: 8192, MaxOutput: 8192, Reasoning: false, PriceInput: 30, PriceOutput: 60, PriceCacheRead: 0, BaseURL: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai"},109 {Provider: "cloudflare-ai-gateway", ID: "gpt-4", DisplayName: "GPT-4", ContextWindow: 8192, MaxOutput: 8192, Reasoning: false, PriceInput: 30, PriceOutput: 60, PriceCacheRead: 0, BaseURL: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai"},
105 {Provider: "cloudflare-ai-gateway", ID: "gpt-4-turbo", DisplayName: "GPT-4 Turbo", ContextWindow: 128000, MaxOutput: 4096, Reasoning: false, PriceInput: 10, PriceOutput: 30, PriceCacheRead: 0, BaseURL: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai"},110 {Provider: "cloudflare-ai-gateway", ID: "gpt-4-turbo", DisplayName: "GPT-4 Turbo", ContextWindow: 128000, MaxOutput: 4096, Reasoning: false, PriceInput: 10, PriceOutput: 30, PriceCacheRead: 0, BaseURL: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai"},
106 {Provider: "cloudflare-ai-gateway", ID: "gpt-4o", DisplayName: "GPT-4o", ContextWindow: 128000, MaxOutput: 16384, Reasoning: false, PriceInput: 2.5, PriceOutput: 10, PriceCacheRead: 1.25, BaseURL: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai"},111 {Provider: "cloudflare-ai-gateway", ID: "gpt-4o", DisplayName: "GPT-4o", ContextWindow: 128000, MaxOutput: 16384, Reasoning: false, PriceInput: 2.5, PriceOutput: 10, PriceCacheRead: 1.25, BaseURL: "https://gateway.ai.cloudflare.com/v1/{CLOUDFLARE_ACCOUNT_ID}/{CLOUDFLARE_GATEWAY_ID}/openai"},
@@ -140,6 +145,7 @@ var builtinCatalog = []Model{
140 {Provider: "github-copilot", ID: "claude-opus-4.8", DisplayName: "Claude Opus 4.8", ContextWindow: 144000, MaxOutput: 64000, Reasoning: true, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://api.individual.githubcopilot.com"},145 {Provider: "github-copilot", ID: "claude-opus-4.8", DisplayName: "Claude Opus 4.8", ContextWindow: 144000, MaxOutput: 64000, Reasoning: true, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://api.individual.githubcopilot.com"},
141 {Provider: "github-copilot", ID: "claude-sonnet-4.5", DisplayName: "Claude Sonnet 4.5", ContextWindow: 144000, MaxOutput: 32000, Reasoning: true, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://api.individual.githubcopilot.com"},146 {Provider: "github-copilot", ID: "claude-sonnet-4.5", DisplayName: "Claude Sonnet 4.5", ContextWindow: 144000, MaxOutput: 32000, Reasoning: true, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://api.individual.githubcopilot.com"},
142 {Provider: "github-copilot", ID: "claude-sonnet-4.6", DisplayName: "Claude Sonnet 4.6", ContextWindow: 1000000, MaxOutput: 32000, Reasoning: true, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://api.individual.githubcopilot.com"},147 {Provider: "github-copilot", ID: "claude-sonnet-4.6", DisplayName: "Claude Sonnet 4.6", ContextWindow: 1000000, MaxOutput: 32000, Reasoning: true, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://api.individual.githubcopilot.com"},
148+ {Provider: "github-copilot", ID: "claude-sonnet-5", DisplayName: "Claude Sonnet 5", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://api.individual.githubcopilot.com"},
143 {Provider: "github-copilot", ID: "gemini-2.5-pro", DisplayName: "Gemini 2.5 Pro", ContextWindow: 128000, MaxOutput: 64000, Reasoning: false, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://api.individual.githubcopilot.com"},149 {Provider: "github-copilot", ID: "gemini-2.5-pro", DisplayName: "Gemini 2.5 Pro", ContextWindow: 128000, MaxOutput: 64000, Reasoning: false, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://api.individual.githubcopilot.com"},
144 {Provider: "github-copilot", ID: "gemini-3-flash-preview", DisplayName: "Gemini 3 Flash", ContextWindow: 128000, MaxOutput: 64000, Reasoning: true, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://api.individual.githubcopilot.com"},150 {Provider: "github-copilot", ID: "gemini-3-flash-preview", DisplayName: "Gemini 3 Flash", ContextWindow: 128000, MaxOutput: 64000, Reasoning: true, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://api.individual.githubcopilot.com"},
145 {Provider: "github-copilot", ID: "gemini-3.1-pro-preview", DisplayName: "Gemini 3.1 Pro Preview", ContextWindow: 128000, MaxOutput: 64000, Reasoning: true, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://api.individual.githubcopilot.com"},151 {Provider: "github-copilot", ID: "gemini-3.1-pro-preview", DisplayName: "Gemini 3.1 Pro Preview", ContextWindow: 128000, MaxOutput: 64000, Reasoning: true, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://api.individual.githubcopilot.com"},
@@ -286,6 +292,7 @@ var builtinCatalog = []Model{
286 {Provider: "opencode", ID: "claude-sonnet-4", DisplayName: "Claude Sonnet 4", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://opencode.ai/zen"},292 {Provider: "opencode", ID: "claude-sonnet-4", DisplayName: "Claude Sonnet 4", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://opencode.ai/zen"},
287 {Provider: "opencode", ID: "claude-sonnet-4-5", DisplayName: "Claude Sonnet 4.5", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://opencode.ai/zen"},293 {Provider: "opencode", ID: "claude-sonnet-4-5", DisplayName: "Claude Sonnet 4.5", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://opencode.ai/zen"},
288 {Provider: "opencode", ID: "claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://opencode.ai/zen"},294 {Provider: "opencode", ID: "claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://opencode.ai/zen"},
295+ {Provider: "opencode", ID: "claude-sonnet-5", DisplayName: "Claude Sonnet 5", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5, BaseURL: "https://opencode.ai/zen"},
289 {Provider: "opencode", ID: "deepseek-v4-flash-free", DisplayName: "DeepSeek V4 Flash Free", ContextWindow: 200000, MaxOutput: 128000, Reasoning: true, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://opencode.ai/zen/v1"},296 {Provider: "opencode", ID: "deepseek-v4-flash-free", DisplayName: "DeepSeek V4 Flash Free", ContextWindow: 200000, MaxOutput: 128000, Reasoning: true, PriceInput: 0, PriceOutput: 0, PriceCacheRead: 0, BaseURL: "https://opencode.ai/zen/v1"},
290 {Provider: "opencode", ID: "gemini-3-flash", DisplayName: "Gemini 3 Flash", ContextWindow: 1048576, MaxOutput: 65536, Reasoning: true, PriceInput: 0.5, PriceOutput: 3, PriceCacheRead: 0.05, BaseURL: "https://opencode.ai/zen/v1"},297 {Provider: "opencode", ID: "gemini-3-flash", DisplayName: "Gemini 3 Flash", ContextWindow: 1048576, MaxOutput: 65536, Reasoning: true, PriceInput: 0.5, PriceOutput: 3, PriceCacheRead: 0.05, BaseURL: "https://opencode.ai/zen/v1"},
291 {Provider: "opencode", ID: "gemini-3.1-pro", DisplayName: "Gemini 3.1 Pro Preview", ContextWindow: 1048576, MaxOutput: 65536, Reasoning: true, PriceInput: 2, PriceOutput: 12, PriceCacheRead: 0.2, BaseURL: "https://opencode.ai/zen/v1"},298 {Provider: "opencode", ID: "gemini-3.1-pro", DisplayName: "Gemini 3.1 Pro Preview", ContextWindow: 1048576, MaxOutput: 65536, Reasoning: true, PriceInput: 2, PriceOutput: 12, PriceCacheRead: 0.2, BaseURL: "https://opencode.ai/zen/v1"},
@@ -367,6 +374,7 @@ var builtinCatalog = []Model{
367 {Provider: "vercel-ai-gateway", ID: "anthropic/claude-sonnet-4", DisplayName: "Claude Sonnet 4", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://ai-gateway.vercel.sh"},374 {Provider: "vercel-ai-gateway", ID: "anthropic/claude-sonnet-4", DisplayName: "Claude Sonnet 4", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://ai-gateway.vercel.sh"},
368 {Provider: "vercel-ai-gateway", ID: "anthropic/claude-sonnet-4.5", DisplayName: "Claude Sonnet 4.5", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://ai-gateway.vercel.sh"},375 {Provider: "vercel-ai-gateway", ID: "anthropic/claude-sonnet-4.5", DisplayName: "Claude Sonnet 4.5", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://ai-gateway.vercel.sh"},
369 {Provider: "vercel-ai-gateway", ID: "anthropic/claude-sonnet-4.6", DisplayName: "Claude Sonnet 4.6", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://ai-gateway.vercel.sh"},376 {Provider: "vercel-ai-gateway", ID: "anthropic/claude-sonnet-4.6", DisplayName: "Claude Sonnet 4.6", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://ai-gateway.vercel.sh"},
377+ {Provider: "vercel-ai-gateway", ID: "anthropic/claude-sonnet-5", DisplayName: "Claude Sonnet 5", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5, BaseURL: "https://ai-gateway.vercel.sh"},
370 {Provider: "vercel-ai-gateway", ID: "arcee-ai/trinity-large-preview", DisplayName: "Trinity Large Preview", ContextWindow: 131000, MaxOutput: 131000, Reasoning: false, PriceInput: 0.25, PriceOutput: 1, PriceCacheRead: 0, BaseURL: "https://ai-gateway.vercel.sh"},378 {Provider: "vercel-ai-gateway", ID: "arcee-ai/trinity-large-preview", DisplayName: "Trinity Large Preview", ContextWindow: 131000, MaxOutput: 131000, Reasoning: false, PriceInput: 0.25, PriceOutput: 1, PriceCacheRead: 0, BaseURL: "https://ai-gateway.vercel.sh"},
371 {Provider: "vercel-ai-gateway", ID: "arcee-ai/trinity-large-thinking", DisplayName: "Trinity Large Thinking", ContextWindow: 262100, MaxOutput: 80000, Reasoning: true, PriceInput: 0.25, PriceOutput: 0.9, PriceCacheRead: 0, BaseURL: "https://ai-gateway.vercel.sh"},379 {Provider: "vercel-ai-gateway", ID: "arcee-ai/trinity-large-thinking", DisplayName: "Trinity Large Thinking", ContextWindow: 262100, MaxOutput: 80000, Reasoning: true, PriceInput: 0.25, PriceOutput: 0.9, PriceCacheRead: 0, BaseURL: "https://ai-gateway.vercel.sh"},
372 {Provider: "vercel-ai-gateway", ID: "bytedance/seed-1.6", DisplayName: "Seed 1.6", ContextWindow: 256000, MaxOutput: 32000, Reasoning: true, PriceInput: 0.25, PriceOutput: 2, PriceCacheRead: 0.05, BaseURL: "https://ai-gateway.vercel.sh"},380 {Provider: "vercel-ai-gateway", ID: "bytedance/seed-1.6", DisplayName: "Seed 1.6", ContextWindow: 256000, MaxOutput: 32000, Reasoning: true, PriceInput: 0.25, PriceOutput: 2, PriceCacheRead: 0.05, BaseURL: "https://ai-gateway.vercel.sh"},
@@ -540,6 +548,7 @@ var builtinCatalog = []Model{
540 {Provider: "amazon-bedrock", ID: "jp.anthropic.claude-opus-4-8", DisplayName: "Claude Opus 4.8 (JP)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 5, PriceOutput: 25, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},548 {Provider: "amazon-bedrock", ID: "jp.anthropic.claude-opus-4-8", DisplayName: "Claude Opus 4.8 (JP)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 5, PriceOutput: 25, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
541 {Provider: "amazon-bedrock", ID: "jp.anthropic.claude-sonnet-4-5-20250929-v1:0", DisplayName: "Claude Sonnet 4.5 (JP)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},549 {Provider: "amazon-bedrock", ID: "jp.anthropic.claude-sonnet-4-5-20250929-v1:0", DisplayName: "Claude Sonnet 4.5 (JP)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
542 {Provider: "amazon-bedrock", ID: "jp.anthropic.claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6 (JP)", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},550 {Provider: "amazon-bedrock", ID: "jp.anthropic.claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6 (JP)", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
551+ {Provider: "amazon-bedrock", ID: "jp.anthropic.claude-sonnet-5", DisplayName: "Claude Sonnet 5 (JP)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
543 {Provider: "amazon-bedrock", ID: "meta.llama3-1-70b-instruct-v1:0", DisplayName: "Llama 3.1 70B Instruct", ContextWindow: 128000, MaxOutput: 4096, Reasoning: false, PriceInput: 0.72, PriceOutput: 0.72, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},552 {Provider: "amazon-bedrock", ID: "meta.llama3-1-70b-instruct-v1:0", DisplayName: "Llama 3.1 70B Instruct", ContextWindow: 128000, MaxOutput: 4096, Reasoning: false, PriceInput: 0.72, PriceOutput: 0.72, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
544 {Provider: "amazon-bedrock", ID: "meta.llama3-1-8b-instruct-v1:0", DisplayName: "Llama 3.1 8B Instruct", ContextWindow: 128000, MaxOutput: 4096, Reasoning: false, PriceInput: 0.22, PriceOutput: 0.22, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},553 {Provider: "amazon-bedrock", ID: "meta.llama3-1-8b-instruct-v1:0", DisplayName: "Llama 3.1 8B Instruct", ContextWindow: 128000, MaxOutput: 4096, Reasoning: false, PriceInput: 0.22, PriceOutput: 0.22, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
545 {Provider: "amazon-bedrock", ID: "meta.llama3-3-70b-instruct-v1:0", DisplayName: "Llama 3.3 70B Instruct", ContextWindow: 128000, MaxOutput: 4096, Reasoning: false, PriceInput: 0.72, PriceOutput: 0.72, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},554 {Provider: "amazon-bedrock", ID: "meta.llama3-3-70b-instruct-v1:0", DisplayName: "Llama 3.3 70B Instruct", ContextWindow: 128000, MaxOutput: 4096, Reasoning: false, PriceInput: 0.72, PriceOutput: 0.72, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
@@ -583,6 +592,7 @@ var builtinCatalog = []Model{
583 {Provider: "amazon-bedrock", ID: "us.anthropic.claude-opus-4-8", DisplayName: "Claude Opus 4.8 (US)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 5, PriceOutput: 25, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},592 {Provider: "amazon-bedrock", ID: "us.anthropic.claude-opus-4-8", DisplayName: "Claude Opus 4.8 (US)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, PriceInput: 5, PriceOutput: 25, PriceCacheRead: 0.5, PriceCacheWrite: 6.25, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
584 {Provider: "amazon-bedrock", ID: "us.anthropic.claude-sonnet-4-5-20250929-v1:0", DisplayName: "Claude Sonnet 4.5 (US)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},593 {Provider: "amazon-bedrock", ID: "us.anthropic.claude-sonnet-4-5-20250929-v1:0", DisplayName: "Claude Sonnet 4.5 (US)", ContextWindow: 200000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
585 {Provider: "amazon-bedrock", ID: "us.anthropic.claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6 (US)", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},594 {Provider: "amazon-bedrock", ID: "us.anthropic.claude-sonnet-4-6", DisplayName: "Claude Sonnet 4.6 (US)", ContextWindow: 1000000, MaxOutput: 64000, Reasoning: true, PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
595+ {Provider: "amazon-bedrock", ID: "us.anthropic.claude-sonnet-5", DisplayName: "Claude Sonnet 5 (US)", ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true, PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
586 {Provider: "amazon-bedrock", ID: "us.deepseek.r1-v1:0", DisplayName: "DeepSeek-R1 (US)", ContextWindow: 128000, MaxOutput: 32768, Reasoning: true, PriceInput: 1.35, PriceOutput: 5.4, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},596 {Provider: "amazon-bedrock", ID: "us.deepseek.r1-v1:0", DisplayName: "DeepSeek-R1 (US)", ContextWindow: 128000, MaxOutput: 32768, Reasoning: true, PriceInput: 1.35, PriceOutput: 5.4, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
587 {Provider: "amazon-bedrock", ID: "us.meta.llama4-maverick-17b-instruct-v1:0", DisplayName: "Llama 4 Maverick 17B Instruct (US)", ContextWindow: 1000000, MaxOutput: 16384, Reasoning: false, PriceInput: 0.24, PriceOutput: 0.97, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},597 {Provider: "amazon-bedrock", ID: "us.meta.llama4-maverick-17b-instruct-v1:0", DisplayName: "Llama 4 Maverick 17B Instruct (US)", ContextWindow: 1000000, MaxOutput: 16384, Reasoning: false, PriceInput: 0.24, PriceOutput: 0.97, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
588 {Provider: "amazon-bedrock", ID: "us.meta.llama4-scout-17b-instruct-v1:0", DisplayName: "Llama 4 Scout 17B Instruct (US)", ContextWindow: 3500000, MaxOutput: 16384, Reasoning: false, PriceInput: 0.17, PriceOutput: 0.66, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},598 {Provider: "amazon-bedrock", ID: "us.meta.llama4-scout-17b-instruct-v1:0", DisplayName: "Llama 4 Scout 17B Instruct (US)", ContextWindow: 3500000, MaxOutput: 16384, Reasoning: false, PriceInput: 0.17, PriceOutput: 0.66, PriceCacheRead: 0, BaseURL: "https://bedrock-runtime.us-east-1.amazonaws.com"},
M packages/provider/models.go +11 -0
@@ -233,6 +233,12 @@ var Catalog = []Model{
233233 PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75,
234234 BaseURL: openrouterDefaultBaseURL,
235235 },
236+ {
237+ Provider: "openrouter", ID: "anthropic/claude-sonnet-5", DisplayName: "Claude Sonnet 5 (OpenRouter)",
238+ ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true,
239+ PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5,
240+ BaseURL: openrouterDefaultBaseURL,
241+ },
236242
237243 // ---- Speculative: Anthropic ----
238244 {
@@ -265,6 +271,11 @@ var Catalog = []Model{
265271 PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75,
266272 Speculative: true,
267273 },
274+ {
275+ Provider: "anthropic", ID: "claude-sonnet-5", DisplayName: "Claude Sonnet 5",
276+ ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true,
277+ PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5,
278+ },
268279 {
269280 Provider: "anthropic", ID: "claude-fable-5", DisplayName: "Claude Fable 5",
270281 ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true,
@@ -233,6 +233,12 @@ var Catalog = []Model{
233 PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75,233 PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75,
234 BaseURL: openrouterDefaultBaseURL,234 BaseURL: openrouterDefaultBaseURL,
235 },235 },
236+ {
237+ Provider: "openrouter", ID: "anthropic/claude-sonnet-5", DisplayName: "Claude Sonnet 5 (OpenRouter)",
238+ ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true,
239+ PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5,
240+ BaseURL: openrouterDefaultBaseURL,
241+ },
236 242
237 // ---- Speculative: Anthropic ----243 // ---- Speculative: Anthropic ----
238 {244 {
@@ -265,6 +271,11 @@ var Catalog = []Model{
265 PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75,271 PriceInput: 3, PriceOutput: 15, PriceCacheRead: 0.3, PriceCacheWrite: 3.75,
266 Speculative: true,272 Speculative: true,
267 },273 },
274+ {
275+ Provider: "anthropic", ID: "claude-sonnet-5", DisplayName: "Claude Sonnet 5",
276+ ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true,
277+ PriceInput: 2, PriceOutput: 10, PriceCacheRead: 0.2, PriceCacheWrite: 2.5,
278+ },
268 {279 {
269 Provider: "anthropic", ID: "claude-fable-5", DisplayName: "Claude Fable 5",280 Provider: "anthropic", ID: "claude-fable-5", DisplayName: "Claude Fable 5",
270 ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true,281 ContextWindow: 1000000, MaxOutput: 128000, Reasoning: true, AdaptiveThinking: true,
M packages/provider/provider_test.go +48 -0
@@ -118,6 +118,29 @@ func TestAnthropicAdaptiveThinking(t *testing.T) {
118118 t.Fatalf("want effort=xhigh, got %+v", wire.OutputConfig)
119119 }
120120
121+ // Sonnet 5 -> adaptive thinking, effort set, no budget, no temperature.
122+ wire, err = c.buildRequest(Request{
123+ Model: "claude-sonnet-5",
124+ Reasoning: "high",
125+ Temperature: &temp,
126+ Messages: []Message{{Role: RoleUser, Content: []Content{TextBlock{Text: "hi"}}}},
127+ })
128+ if err != nil {
129+ t.Fatal(err)
130+ }
131+ if wire.Thinking == nil || wire.Thinking.Type != "adaptive" {
132+ t.Fatalf("want adaptive thinking for Sonnet 5, got %+v", wire.Thinking)
133+ }
134+ if wire.Thinking.BudgetTokens != 0 {
135+ t.Fatalf("Sonnet 5 adaptive must not send budget_tokens, got %d", wire.Thinking.BudgetTokens)
136+ }
137+ if wire.OutputConfig == nil || wire.OutputConfig.Effort != "high" {
138+ t.Fatalf("want Sonnet 5 effort=high, got %+v", wire.OutputConfig)
139+ }
140+ if wire.Temperature != nil {
141+ t.Fatalf("Sonnet 5 adaptive must drop temperature, got %v", *wire.Temperature)
142+ }
143+
121144 // Opus 4.5 -> budget-based thinking, no output_config, temperature kept.
122145 wire, err = c.buildRequest(Request{
123146 Model: "claude-opus-4-5",
@@ -216,6 +239,19 @@ func TestAnthropicStreamHappyPath(t *testing.T) {
216239 }
217240 }
218241
242+func TestClaudeSonnet5Catalog(t *testing.T) {
243+ m, err := FindModel("anthropic", "claude-sonnet-5")
244+ if err != nil {
245+ t.Fatal(err)
246+ }
247+ if m.DisplayName != "Claude Sonnet 5" || m.ContextWindow != 1000000 || m.MaxOutput != 128000 || !m.Reasoning || !m.AdaptiveThinking {
248+ t.Fatalf("unexpected Sonnet 5 model: %+v", m)
249+ }
250+ if m.PriceInput != 2 || m.PriceOutput != 10 || m.PriceCacheRead != 0.2 || m.PriceCacheWrite != 2.5 {
251+ t.Fatalf("unexpected Sonnet 5 pricing: %+v", m)
252+ }
253+}
254+
219255 func TestOpenAICompatAnthropicReasoningEffort(t *testing.T) {
220256 c := NewOpenRouter("token", "").(*openaiClient)
221257 wire, err := c.buildRequest(Request{
@@ -230,6 +266,18 @@ func TestOpenAICompatAnthropicReasoningEffort(t *testing.T) {
230266 t.Fatalf("want xhigh for adaptive Anthropic model over OpenAI-compatible wire, got %q", wire.ReasoningEffort)
231267 }
232268
269+ wire, err = c.buildRequest(Request{
270+ Model: "anthropic/claude-sonnet-5",
271+ Reasoning: "maximum",
272+ Messages: []Message{{Role: RoleUser, Content: []Content{TextBlock{Text: "hi"}}}},
273+ })
274+ if err != nil {
275+ t.Fatal(err)
276+ }
277+ if wire.ReasoningEffort != "xhigh" {
278+ t.Fatalf("want xhigh for Claude Sonnet 5 over OpenAI-compatible wire, got %q", wire.ReasoningEffort)
279+ }
280+
233281 wire, err = c.buildRequest(Request{
234282 Model: "gpt-5.1",
235283 Reasoning: "maximum",
@@ -118,6 +118,29 @@ func TestAnthropicAdaptiveThinking(t *testing.T) {
118 t.Fatalf("want effort=xhigh, got %+v", wire.OutputConfig)118 t.Fatalf("want effort=xhigh, got %+v", wire.OutputConfig)
119 }119 }
120 120
121+ // Sonnet 5 -> adaptive thinking, effort set, no budget, no temperature.
122+ wire, err = c.buildRequest(Request{
123+ Model: "claude-sonnet-5",
124+ Reasoning: "high",
125+ Temperature: &temp,
126+ Messages: []Message{{Role: RoleUser, Content: []Content{TextBlock{Text: "hi"}}}},
127+ })
128+ if err != nil {
129+ t.Fatal(err)
130+ }
131+ if wire.Thinking == nil || wire.Thinking.Type != "adaptive" {
132+ t.Fatalf("want adaptive thinking for Sonnet 5, got %+v", wire.Thinking)
133+ }
134+ if wire.Thinking.BudgetTokens != 0 {
135+ t.Fatalf("Sonnet 5 adaptive must not send budget_tokens, got %d", wire.Thinking.BudgetTokens)
136+ }
137+ if wire.OutputConfig == nil || wire.OutputConfig.Effort != "high" {
138+ t.Fatalf("want Sonnet 5 effort=high, got %+v", wire.OutputConfig)
139+ }
140+ if wire.Temperature != nil {
141+ t.Fatalf("Sonnet 5 adaptive must drop temperature, got %v", *wire.Temperature)
142+ }
143+
121 // Opus 4.5 -> budget-based thinking, no output_config, temperature kept.144 // Opus 4.5 -> budget-based thinking, no output_config, temperature kept.
122 wire, err = c.buildRequest(Request{145 wire, err = c.buildRequest(Request{
123 Model: "claude-opus-4-5",146 Model: "claude-opus-4-5",
@@ -216,6 +239,19 @@ func TestAnthropicStreamHappyPath(t *testing.T) {
216 }239 }
217 }240 }
218 241
242+func TestClaudeSonnet5Catalog(t *testing.T) {
243+ m, err := FindModel("anthropic", "claude-sonnet-5")
244+ if err != nil {
245+ t.Fatal(err)
246+ }
247+ if m.DisplayName != "Claude Sonnet 5" || m.ContextWindow != 1000000 || m.MaxOutput != 128000 || !m.Reasoning || !m.AdaptiveThinking {
248+ t.Fatalf("unexpected Sonnet 5 model: %+v", m)
249+ }
250+ if m.PriceInput != 2 || m.PriceOutput != 10 || m.PriceCacheRead != 0.2 || m.PriceCacheWrite != 2.5 {
251+ t.Fatalf("unexpected Sonnet 5 pricing: %+v", m)
252+ }
253+}
254+
219 func TestOpenAICompatAnthropicReasoningEffort(t *testing.T) {255 func TestOpenAICompatAnthropicReasoningEffort(t *testing.T) {
220 c := NewOpenRouter("token", "").(*openaiClient)256 c := NewOpenRouter("token", "").(*openaiClient)
221 wire, err := c.buildRequest(Request{257 wire, err := c.buildRequest(Request{
@@ -230,6 +266,18 @@ func TestOpenAICompatAnthropicReasoningEffort(t *testing.T) {
230 t.Fatalf("want xhigh for adaptive Anthropic model over OpenAI-compatible wire, got %q", wire.ReasoningEffort)266 t.Fatalf("want xhigh for adaptive Anthropic model over OpenAI-compatible wire, got %q", wire.ReasoningEffort)
231 }267 }
232 268
269+ wire, err = c.buildRequest(Request{
270+ Model: "anthropic/claude-sonnet-5",
271+ Reasoning: "maximum",
272+ Messages: []Message{{Role: RoleUser, Content: []Content{TextBlock{Text: "hi"}}}},
273+ })
274+ if err != nil {
275+ t.Fatal(err)
276+ }
277+ if wire.ReasoningEffort != "xhigh" {
278+ t.Fatalf("want xhigh for Claude Sonnet 5 over OpenAI-compatible wire, got %q", wire.ReasoningEffort)
279+ }
280+
233 wire, err = c.buildRequest(Request{281 wire, err = c.buildRequest(Request{
234 Model: "gpt-5.1",282 Model: "gpt-5.1",
235 Reasoning: "maximum",283 Reasoning: "maximum",

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 1

Tags 476

↑↓ moveenter openesc close