Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions .changeset/sync-models.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
'@tanstack/ai-anthropic': patch
'@tanstack/ai-openai': patch
'@tanstack/ai-openrouter': patch
'@tanstack/ai-vercel-gateway': patch
---

Update model metadata from OpenRouter API
55 changes: 55 additions & 0 deletions packages/ai-anthropic/src/model-meta.ts
Original file line number Diff line number Diff line change
Expand Up @@ -648,7 +648,49 @@ const CLAUDE_OPUS_5_5 = {
AnthropicOutputConfigOptions
>

const CLAUDE_SONNET_5_5 = {
name: 'claude-sonnet-5-5',
id: 'claude-sonnet-5-5',
context_window: 1_000_000,
max_output_tokens: 128_000,
supports: {
input: ['text', 'image', 'document'],
extended_thinking: false,
adaptive_thinking: true,
priority_tier: true,
tools: [
'web_search',
'web_fetch',
'code_execution',
'computer_use',
'bash',
'text_editor',
'memory',
],
},
pricing: {
input: {
normal: 2,
cached: 0.2,
},
output: {
normal: 10,
},
},
} as const satisfies ModelMeta<
AnthropicCacheControlOptions &
AnthropicContainerOptions &
AnthropicContextManagementOptions &
AnthropicMCPOptions &
AnthropicServiceTierOptions &
AnthropicStopSequencesOptions &
AnthropicAdaptiveOnlyThinkingOptions &
AnthropicToolChoiceOptions &
AnthropicSamplingOptions
>

export const ANTHROPIC_MODELS = [
CLAUDE_SONNET_5_5.id,
CLAUDE_OPUS_5_5.id,
CLAUDE_FABLE_5_1.id,
CLAUDE_OPUS_5.id,
Expand Down Expand Up @@ -728,6 +770,7 @@ const ANTHROPIC_MODEL_MAX_OUTPUT_TOKENS: Record<string, number> = {
[CLAUDE_OPUS_5_FAST.id]: CLAUDE_OPUS_5_FAST.max_output_tokens,
[CLAUDE_FABLE_5_1.id]: CLAUDE_FABLE_5_1.max_output_tokens,
[CLAUDE_OPUS_5_5.id]: CLAUDE_OPUS_5_5.max_output_tokens,
[CLAUDE_SONNET_5_5.id]: CLAUDE_SONNET_5_5.max_output_tokens,
}

/**
Expand Down Expand Up @@ -776,6 +819,7 @@ export function getAnthropicDefaultMaxTokens(
* in `structuredOutput`.
*/
export const ANTHROPIC_COMBINED_TOOLS_AND_SCHEMA_MODELS = new Set<string>([
CLAUDE_SONNET_5_5.id,
CLAUDE_OPUS_4_5.id,
CLAUDE_OPUS_4_6.id,
CLAUDE_OPUS_4_7.id,
Expand Down Expand Up @@ -944,6 +988,15 @@ export type AnthropicChatModelProviderOptionsByName = {
AnthropicToolChoiceOptions &
AnthropicSamplingOptions &
AnthropicOutputConfigOptions
[CLAUDE_SONNET_5_5.id]: AnthropicCacheControlOptions &
AnthropicContainerOptions &
AnthropicContextManagementOptions &
AnthropicMCPOptions &
AnthropicServiceTierOptions &
AnthropicStopSequencesOptions &
AnthropicAdaptiveOnlyThinkingOptions &
AnthropicToolChoiceOptions &
AnthropicSamplingOptions
}

export type AnthropicChatModelToolCapabilitiesByName = {
Expand All @@ -961,6 +1014,7 @@ export type AnthropicChatModelToolCapabilitiesByName = {
[CLAUDE_OPUS_5_FAST.id]: typeof CLAUDE_OPUS_5_FAST.supports.tools
[CLAUDE_FABLE_5_1.id]: typeof CLAUDE_FABLE_5_1.supports.tools
[CLAUDE_OPUS_5_5.id]: typeof CLAUDE_OPUS_5_5.supports.tools
[CLAUDE_SONNET_5_5.id]: typeof CLAUDE_SONNET_5_5.supports.tools
}

/**
Expand Down Expand Up @@ -989,4 +1043,5 @@ export type AnthropicModelInputModalitiesByName = {
[CLAUDE_OPUS_5_FAST.id]: typeof CLAUDE_OPUS_5_FAST.supports.input
[CLAUDE_FABLE_5_1.id]: typeof CLAUDE_FABLE_5_1.supports.input
[CLAUDE_OPUS_5_5.id]: typeof CLAUDE_OPUS_5_5.supports.input
[CLAUDE_SONNET_5_5.id]: typeof CLAUDE_SONNET_5_5.supports.input
}
98 changes: 98 additions & 0 deletions packages/ai-openai/src/model-meta.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2692,7 +2692,89 @@ const GPT_6_SOL_PRO = {
OpenAIMetadataOptions
>

const GPT_6_1_SOL = {
name: 'gpt-6.1-sol',
context_window: 1_050_000,
max_output_tokens: 128_000,
supports: {
input: ['image', 'text'],
output: ['text'],
endpoints: ['chat', 'chat-completions'],
features: ['streaming', 'function_calling', 'structured_outputs'],
tools: [
'web_search',
'web_search_preview',
'file_search',
'image_generation',
'code_interpreter',
'mcp',
'computer_use',
'local_shell',
'shell',
'apply_patch',
],
},
pricing: {
input: {
normal: 2,
cached: 0.1,
},
output: {
normal: 10,
},
},
} as const satisfies ModelMeta<
OpenAIBaseOptions &
OpenAIReasoningOptions &
OpenAIStructuredOutputOptions &
OpenAIToolsOptions &
OpenAIStreamingOptions &
OpenAIMetadataOptions
>

const GPT_6_1_SOL_PRO = {
name: 'gpt-6.1-sol-pro',
context_window: 1_050_000,
max_output_tokens: 128_000,
supports: {
input: ['image', 'text'],
output: ['text'],
endpoints: ['chat', 'chat-completions'],
features: ['streaming', 'function_calling', 'structured_outputs'],
tools: [
'web_search',
'web_search_preview',
'file_search',
'image_generation',
'code_interpreter',
'mcp',
'computer_use',
'local_shell',
'shell',
'apply_patch',
],
},
pricing: {
input: {
normal: 2,
cached: 0.1,
},
output: {
normal: 10,
},
},
} as const satisfies ModelMeta<
OpenAIBaseOptions &
OpenAIReasoningOptions &
OpenAIStructuredOutputOptions &
OpenAIToolsOptions &
OpenAIStreamingOptions &
OpenAIMetadataOptions
>

export const OPENAI_CHAT_MODELS = [
GPT_6_1_SOL.name,
GPT_6_1_SOL_PRO.name,
GPT_6_LUNA.name,
GPT_6_LUNA_PRO.name,
GPT_6_SOL.name,
Expand Down Expand Up @@ -3175,6 +3257,18 @@ export type OpenAIChatModelProviderOptionsByName = {
OpenAIToolsOptions &
OpenAIStreamingOptions &
OpenAIMetadataOptions
[GPT_6_1_SOL.name]: OpenAIBaseOptions &
OpenAIReasoningOptions &
OpenAIStructuredOutputOptions &
OpenAIToolsOptions &
OpenAIStreamingOptions &
OpenAIMetadataOptions
[GPT_6_1_SOL_PRO.name]: OpenAIBaseOptions &
OpenAIReasoningOptions &
OpenAIStructuredOutputOptions &
OpenAIToolsOptions &
OpenAIStreamingOptions &
OpenAIMetadataOptions
}

/**
Expand Down Expand Up @@ -3237,6 +3331,8 @@ export type OpenAIChatModelToolCapabilitiesByName = {
[GPT_6_LUNA_PRO.name]: typeof GPT_6_LUNA_PRO.supports.tools
[GPT_6_SOL.name]: typeof GPT_6_SOL.supports.tools
[GPT_6_SOL_PRO.name]: typeof GPT_6_SOL_PRO.supports.tools
[GPT_6_1_SOL.name]: typeof GPT_6_1_SOL.supports.tools
[GPT_6_1_SOL_PRO.name]: typeof GPT_6_1_SOL_PRO.supports.tools
}

/**
Expand Down Expand Up @@ -3311,4 +3407,6 @@ export type OpenAIModelInputModalitiesByName = {
[GPT_6_LUNA_PRO.name]: typeof GPT_6_LUNA_PRO.supports.input
[GPT_6_SOL.name]: typeof GPT_6_SOL.supports.input
[GPT_6_SOL_PRO.name]: typeof GPT_6_SOL_PRO.supports.input
[GPT_6_1_SOL.name]: typeof GPT_6_1_SOL.supports.input
[GPT_6_1_SOL_PRO.name]: typeof GPT_6_1_SOL_PRO.supports.input
}
Loading
Loading