mirror of
https://github.com/simstudioai/sim.git
synced 2026-09-24 15:45:35 +08:00
feat(providers): add Claude Fable 5 model (#5334)
Re-add claude-fable-5 (Anthropic's most capable widely released model), not marked recommended. Verified against live Anthropic API + docs: - Pricing $10/$50 per MTok, $1 cached input (cache-read); 1M context; 128k max output; GA 2026-06-09 - Adaptive thinking only (always on, cannot be disabled) — routed via supportsAdaptiveThinking; manual budget_tokens/temperature are rejected with 400 - effort levels low/medium/high/xhigh/max (default high) - nativeStructuredOutputs confirmed supported (live output_format json_schema call returned 200), matching same-generation siblings (Sonnet 5, Opus 4.8)
This commit is contained in:
@@ -84,6 +84,7 @@ const THINKING_BUDGET_TOKENS: Record<string, number> = {
|
||||
|
||||
/**
|
||||
* Checks if a model supports adaptive thinking (thinking.type: "adaptive").
|
||||
* Fable 5 supports ONLY adaptive thinking (always on; type: "disabled" is rejected).
|
||||
* Sonnet 5 supports ONLY adaptive thinking (manual budget_tokens returns a 400 error).
|
||||
* Opus 4.8 and Opus 4.7 support ONLY adaptive thinking (no extended thinking / budget_tokens).
|
||||
* Opus 4.6 and Sonnet 4.6 support both extended and adaptive thinking — use adaptive.
|
||||
@@ -92,6 +93,7 @@ const THINKING_BUDGET_TOKENS: Record<string, number> = {
|
||||
function supportsAdaptiveThinking(modelId: string): boolean {
|
||||
const normalizedModel = modelId.toLowerCase()
|
||||
return (
|
||||
normalizedModel.includes('fable-5') ||
|
||||
normalizedModel.includes('sonnet-5') ||
|
||||
normalizedModel.includes('opus-4-8') ||
|
||||
normalizedModel.includes('opus-4.8') ||
|
||||
@@ -107,7 +109,7 @@ function supportsAdaptiveThinking(modelId: string): boolean {
|
||||
/**
|
||||
* Builds the thinking configuration for the Anthropic API based on model capabilities and level.
|
||||
*
|
||||
* - Sonnet 5, Opus 4.8, Opus 4.7: Uses adaptive thinking only (no extended thinking support)
|
||||
* - Fable 5, Sonnet 5, Opus 4.8, Opus 4.7: Uses adaptive thinking only (no extended thinking support)
|
||||
* - Opus 4.6, Sonnet 4.6: Uses adaptive thinking with effort parameter
|
||||
* - Other models: Uses budget_tokens-based extended thinking
|
||||
*
|
||||
|
||||
@@ -669,6 +669,25 @@ export const PROVIDER_DEFINITIONS: Record<string, ProviderDefinition> = {
|
||||
toolUsageControl: true,
|
||||
},
|
||||
models: [
|
||||
{
|
||||
id: 'claude-fable-5',
|
||||
pricing: {
|
||||
input: 10.0,
|
||||
cachedInput: 1.0,
|
||||
output: 50.0,
|
||||
updatedAt: '2026-07-01',
|
||||
},
|
||||
capabilities: {
|
||||
nativeStructuredOutputs: true,
|
||||
maxOutputTokens: 128000,
|
||||
thinking: {
|
||||
levels: ['low', 'medium', 'high', 'xhigh', 'max'],
|
||||
default: 'high',
|
||||
},
|
||||
},
|
||||
contextWindow: 1000000,
|
||||
releaseDate: '2026-06-09',
|
||||
},
|
||||
{
|
||||
id: 'claude-sonnet-5',
|
||||
pricing: {
|
||||
|
||||
Reference in New Issue
Block a user