pub enum ModelId {
Show 128 variants
Gemini38Flash,
GPT6Astra,
GPT6Sol,
GPT61Sol,
GPT6Luna,
GPT56Sol,
GPT56Terra,
GPT56Luna,
OpenAIGptOss20b,
OpenAIGptOss120b,
ClaudeSonnet5,
ClaudeSonnet55,
ClaudeHaiku55,
ClaudeFable5,
ClaudeFable51,
ClaudeOpus5,
ClaudeOpus55,
CopilotAuto,
CopilotGPT52Codex,
CopilotGPT51CodexMax,
CopilotGPT54,
CopilotGPT54Mini,
DeepSeekFlash,
MetaMuseSpark11,
MetaMuseSpark13,
MetaMuseSpark13Contributor,
NvidiaNemotron3Ultra550bA55b,
NvidiaNemotron3Super120bA12b,
NvidiaNemotron3Nano30bA3b,
MergeGatewayDefaultRouting,
MergeGatewayAnthropicClaudeOpus5,
MergeGatewayAnthropicClaudeOpus55,
MergeGatewayAnthropicClaudeSonnet5,
MergeGatewayAnthropicClaudeSonnet55,
MergeGatewayDeepseekFlash,
MergeGatewayXaiGrok46,
MergeGatewayXaiGrok47,
MergeGatewayMinimaxH3,
MergeGatewayMoonshotKimiK3,
MergeGatewayThinkingMachinesInkling,
MergeGatewayZaiGlm53Flash,
MergeGatewayZaiGlm53Flashx,
MergeGatewayOpenAIGpt56Luna,
MergeGatewayOpenAIGpt56Sol,
MergeGatewayOpenAIGpt56Terra,
MergeGatewayGoogleGemini38Flash,
MergeGatewayAnthropicClaudeHaiku4520251001,
MergeGatewayAnthropicClaudeHaiku55,
MergeGatewayAnthropicClaudeFable51,
MergeGatewayOpenAIGpt6Astra,
MergeGatewayOpenAIGpt6Sol,
MergeGatewayOpenAIGpt61Sol,
MergeGatewayOpenAIGpt6Luna,
MergeGatewayXiaomimimoMimoV26Pro,
MergeGatewayXiaomimimoMimoV26Flash,
MergeGatewayMistralLarge4,
MistralLarge3,
MistralLarge4,
HuggingFaceOpenAIGptOss20b,
HuggingFaceOpenAIGptOss120b,
HuggingFaceGlm53FlashTogether,
HuggingFaceGlm53Together,
HuggingFaceKimiK3Together,
HuggingFaceMinimaxM3Novita,
StepFun37Flash,
StepFun5Preview,
EvolinkGemini31Pro,
EvolinkMinimaxM3,
EvolinkClaudeHaiku45,
ZaiGlm53,
ZaiGlm53Flash,
ZaiGlm53Flashx,
MiMoV26Pro,
MiMoV26Flash,
MiMoV26ProUltraspeed,
MoonshotKimiK3,
OpenCodeGoGlm53,
OpenCodeGoGpt56Luna,
OpenCodeGoKimiK3,
OpenCodeGoMinimaxM3,
OllamaGptOss20b,
OllamaGptOss20bCloud,
OllamaGptOss120bCloud,
OllamaMinimaxM3Cloud,
OllamaGlm53Cloud,
OllamaKimiK3Cloud,
OllamaGemma4,
LlamaCppGemma426bA4b,
LlamaCppGemma4E4b,
LlamaCppGptOss20b,
MinimaxM3,
OpenRouterDeepSeekFlash,
OpenRouterOpenAIGptOss120b,
OpenRouterOpenAIGptOss120bFree,
OpenRouterOpenAIGptOss20b,
OpenRouterOpenAIGpt6Astra,
OpenRouterOpenAIGpt6Sol,
OpenRouterOpenAIGpt6Luna,
OpenRouterMetaMuseGlimmer30b,
OpenRouterMetaMuseSpark13,
OpenRouterGoogleGemini38Flash,
OpenRouterAnthropicClaudeSonnet5,
OpenRouterMistralaiMistralLarge2512,
OpenRouterNexAgiDeepseekV31NexN1,
OpenRouterZaiGlm53Flash,
OpenRouterZaiGlm53Flashx,
OpenRouterMoonshotaiKimiK3,
OpenRouterXAiGrok46,
OpenRouterXAiGrok47,
OpenRouterXiaomiMimoV26Pro,
OpenRouterXiaomiMimoV26Flash,
OpenRouterXiaomiMimoV26ProUltraspeed,
OpenRouterStepfunStep5Preview,
VercelAnthropicClaudeSonnet5,
VercelAnthropicClaudeOpus5,
VercelAnthropicClaudeOpus55,
VercelAnthropicClaudeHaiku45,
VercelOpenAiGpt56Sol,
VercelOpenAiGpt6Astra,
VercelOpenAiGpt56Luna,
VercelGoogleGemini38Flash,
VercelDeepseekFlash,
VercelMoonshotaiKimiK3,
VercelMinimaxM3,
VercelSpacexaiGrok47,
XaiGrok46,
XaiGrok47,
Custom(String, String),
}Expand description
Centralized enum for all supported model identifiers
Variants§
Gemini38Flash
Gemini 3.6 Flash - Latest flash model with improved capabilities Gemini 3.7 Flash - Flash model with 1M context and tunable thinking levels Gemini 3.8 Flash - Most intelligent Flash for long-horizon SWE, agents, and enterprise workflows (1M context, 64k output, low/medium/high thinking)
GPT6Astra
GPT-6 Astra - Most capable model for hardest end-to-end work with complex reasoning, coding, computer use, and research
GPT6Sol
GPT-6 Sol - Cost-efficient high-end model in the GPT-6 series for demanding professional work
GPT61Sol
GPT-6.1 Sol - Near-Astra performance for complex coding, computer use, and professional work at a lower cost
GPT6Luna
GPT-6 Luna - Fast cost-efficient model in the GPT-6 series for high-volume latency-sensitive workloads
GPT56Sol
GPT-5.6 Sol - Frontier model for complex professional work in the GPT-5.6 family
GPT56Terra
GPT-5.6 Terra - GPT-5.6 model that balances intelligence and cost
GPT56Luna
GPT-5.6 Luna - GPT-5.6 model optimized for cost-sensitive workloads
OpenAIGptOss20b
GPT-OSS 20B - OpenAI’s open-source 20B parameter model using harmony
OpenAIGptOss120b
GPT-OSS 120B - OpenAI’s open-source 120B parameter model using harmony
ClaudeSonnet5
Claude Sonnet 5 - The best combination of speed and intelligence with adaptive thinking on by default
ClaudeSonnet55
Claude Sonnet 5.5 - Latest Sonnet: best speed/intelligence balance, 1M context, 128K output, between_tools as the lowest thinking setting, default effort high
ClaudeHaiku55
Claude Haiku 5.5 - High-volume latency-sensitive work: classification, routing, extraction, subagents; adaptive thinking, 1M context, 128K output, default effort medium
ClaudeFable5
Claude Fable 5 - Anthropic’s most capable widely released model for demanding reasoning and long-horizon agentic work
ClaudeFable51
Claude Fable 5.1 - successor to Fable 5 for demanding reasoning and long-horizon agentic work, 1M context, adaptive thinking always on, cache reads at 1/4 cost
ClaudeOpus5
Claude Opus 5 - Anthropic’s newest Opus-tier model with 1M context, thinking on by default
ClaudeOpus55
Claude Opus 5.5 - Opus-tier successor for long-running agentic coding, adaptive thinking always on, 1M context, 128K output, default effort medium
CopilotAuto
GitHub Copilot auto model selection
CopilotGPT52Codex
GitHub Copilot GPT-5.2 Codex
CopilotGPT51CodexMax
GitHub Copilot GPT-5.1 Codex Max
CopilotGPT54
GitHub Copilot GPT-5.4
CopilotGPT54Mini
GitHub Copilot GPT-5.4 Mini
DeepSeekFlash
DeepSeek V4.1 Flash - Latest flash model with improved reasoning and efficiency
MetaMuseSpark11
Meta Muse Spark 1.1 - Official Meta AI Standard-tier reasoning model
MetaMuseSpark13
Meta Muse Spark 1.3 - Official Meta AI flagship Standard-tier reasoning model, tuned for agentic workflows
MetaMuseSpark13Contributor
Meta Muse Spark 1.3 Contributor tier - opt-in variant with Meta’s discounted data-contribution terms
NvidiaNemotron3Ultra550bA55b
NVIDIA Nemotron 3 Ultra - NVIDIA’s flagship agentic reasoning model via NIM
NvidiaNemotron3Super120bA12b
NVIDIA Nemotron 3 Super - Efficient long-context agentic reasoning model via NIM
NvidiaNemotron3Nano30bA3b
NVIDIA Nemotron 3 Nano - Efficient reasoning and tool-use model via NIM
MergeGatewayDefaultRouting
Merge Gateway’s default route selected by Merge
MergeGatewayAnthropicClaudeOpus5
Anthropic Claude Opus 5 through Merge Gateway
MergeGatewayAnthropicClaudeOpus55
Anthropic Claude Opus 5.5 through Merge Gateway
MergeGatewayAnthropicClaudeSonnet5
Anthropic Claude Sonnet 5 through Merge Gateway
MergeGatewayAnthropicClaudeSonnet55
Anthropic Claude Sonnet 5.5 through Merge Gateway
MergeGatewayDeepseekFlash
Google Gemini 3.6 Flash through Merge Gateway Google Gemini 3.7 Flash through Merge Gateway DeepSeek V4.1 Flash through Merge Gateway
MergeGatewayXaiGrok46
xAI Grok 4.6 through Merge Gateway
MergeGatewayXaiGrok47
xAI Grok 4.7 through Merge Gateway
MergeGatewayMinimaxH3
MiniMax H3 through Merge Gateway
MergeGatewayMoonshotKimiK3
Moonshot Kimi K3 through Merge Gateway
MergeGatewayThinkingMachinesInkling
Thinking Machines Inkling through Merge Gateway
MergeGatewayZaiGlm53Flash
Z.AI GLM-5.3 Flash through Merge Gateway
MergeGatewayZaiGlm53Flashx
Z.AI GLM-5.3 FlashX through Merge Gateway
MergeGatewayOpenAIGpt56Luna
OpenAI GPT-5.6 Luna through Merge Gateway
MergeGatewayOpenAIGpt56Sol
OpenAI GPT-5.6 Sol through Merge Gateway
MergeGatewayOpenAIGpt56Terra
OpenAI GPT-5.6 Terra through Merge Gateway
MergeGatewayGoogleGemini38Flash
Google Gemini 3.8 Flash through Merge Gateway
MergeGatewayAnthropicClaudeHaiku4520251001
Anthropic Claude Haiku 4.5 through Merge Gateway
MergeGatewayAnthropicClaudeHaiku55
Anthropic Claude Haiku 5.5 through Merge Gateway
MergeGatewayAnthropicClaudeFable51
Anthropic Claude Fable 5.1 through Merge Gateway
MergeGatewayOpenAIGpt6Astra
OpenAI GPT-6 Astra through Merge Gateway
MergeGatewayOpenAIGpt6Sol
OpenAI GPT-6 Sol through Merge Gateway
MergeGatewayOpenAIGpt61Sol
OpenAI GPT-6.1 Sol through Merge Gateway
MergeGatewayOpenAIGpt6Luna
OpenAI GPT-6 Luna through Merge Gateway
MergeGatewayXiaomimimoMimoV26Pro
Xiaomi MiMo V2.6 Pro through Merge Gateway
MergeGatewayXiaomimimoMimoV26Flash
Xiaomi MiMo V2.6 Flash through Merge Gateway
MergeGatewayMistralLarge4
Mistral Large 4 through Merge Gateway
MistralLarge3
Mistral Large 3 - State-of-the-art open-weight general-purpose multimodal model
MistralLarge4
Mistral Large 4 - Open-weight MoE flagship (49B active / 1.05T total) with 1M context (Public Preview)
HuggingFaceOpenAIGptOss20b
OpenAI GPT-OSS 20B via Hugging Face router
HuggingFaceOpenAIGptOss120b
OpenAI GPT-OSS 120B via Hugging Face router
HuggingFaceGlm53FlashTogether
Z.AI GLM-5.2 via Novita inference provider on Hugging Face router Z.AI GLM-5.3 Flash via Together inference provider on Hugging Face router
HuggingFaceGlm53Together
Z.AI GLM-5.3 via Together inference provider on Hugging Face router
HuggingFaceKimiK3Together
Kimi K3 via Together on Hugging Face router
HuggingFaceMinimaxM3Novita
MiniMax M3 via Novita on Hugging Face router
StepFun37Flash
Step 3.7 Flash - StepFun’s flagship multimodal reasoning model with tool calling
StepFun5Preview
Step 5 Preview - StepFun’s frontier model for production-scale Agent applications with 1M context
EvolinkGemini31Pro
GPT-5.2 served through the Evolink gateway GPT-5.5 served through the Evolink gateway Gemini 3.1 Pro served through the Evolink gateway (OpenAI SDK format)
EvolinkMinimaxM3
Gemini 3.5 Flash served through the Evolink gateway (OpenAI SDK format) MiniMax-M3 served through the Evolink gateway (OpenAI Chat Completions format)
EvolinkClaudeHaiku45
Claude Haiku 4.5 served through the Evolink gateway (Anthropic Messages API)
ZaiGlm53
GLM-5.3 - Z.ai flagship coding model with frontier long-horizon agentic performance
ZaiGlm53Flash
GLM-5.3 Flash - Z.ai efficient multimodal model with hybrid sparse+linear attention, 320B total / 18B active, 1M context, native vision
ZaiGlm53Flashx
GLM-5.3 FlashX - Z.ai high-speed Flash variant with faster inference (up to 200 tok/s), 320B total / 18B active, 1M context, native vision
MiMoV26Pro
MiMo V2.6 Pro - Xiaomi’s flagship reasoning model with 1M context
MiMoV26Flash
MiMo V2.6 Flash - Xiaomi’s efficient high-volume model with 1M context
MiMoV26ProUltraspeed
MiMo V2.6 Pro UltraSpeed - Xiaomi’s fastest flagship variant with 1M context
MoonshotKimiK3
Kimi K3 - Moonshot.ai’s 2.8T parameter flagship with Delta Attention, native vision, 1M context
OpenCodeGoGlm53
GLM-5.3 - Z.AI flagship for frontier long-horizon coding on OpenCode Go
OpenCodeGoGpt56Luna
GLM-5.2 - Z.AI flagship model included with OpenCode Go GPT-5.6 Luna - OpenAI cost-efficient frontier model on OpenCode Go
OpenCodeGoKimiK3
Kimi K3 - Moonshot flagship 2.8T agentic model on OpenCode Go
OpenCodeGoMinimaxM3
MiniMax M3 - Frontier multimodal coding model on OpenCode Go
OllamaGptOss20b
Muse Spark 1.2 Contributor - Meta long-context reasoning on OpenCode Go (limited regions) GPT-OSS 20B - Open-weight GPT-OSS 20B model served via Ollama locally
OllamaGptOss20bCloud
GPT-OSS 20B Cloud - Cloud-hosted GPT-OSS 20B served via Ollama Cloud
OllamaGptOss120bCloud
GPT-OSS 120B Cloud - Cloud-hosted GPT-OSS 120B served via Ollama Cloud
OllamaMinimaxM3Cloud
MiniMax-M3 Cloud - Cloud-hosted MiniMax-M3 model served via Ollama Cloud
OllamaGlm53Cloud
GLM-5.2 Cloud - Cloud-hosted GLM-5.2 flagship model served via Ollama Cloud GLM-5.3 Cloud - Cloud-hosted GLM-5.3 flagship model served via Ollama Cloud
OllamaKimiK3Cloud
Kimi K3 Cloud - Moonshot Kimi K3 via Ollama Cloud
OllamaGemma4
Gemma 4 - Google Gemma 4 model served via Ollama
LlamaCppGemma426bA4b
Laguna XS.2 - Poolside’s 33B MoE model (3B activated) for agentic coding via Ollama Gemma 4 26B A4B - Desktop Gemma 4 MoE model served through llama.cpp
LlamaCppGemma4E4b
Gemma 4 E4B - Tiny-footprint Gemma 4 model served through llama.cpp
LlamaCppGptOss20b
GPT-OSS 20B - OpenAI open-weight model served through llama.cpp
MinimaxM3
MiniMax-M3 - Frontier multimodal coding model with 1M context
OpenRouterDeepSeekFlash
DeepSeek V4.1 Flash - Latest flash model via OpenRouter
OpenRouterOpenAIGptOss120b
OpenAI gpt-oss-120b - Open-weight 120B reasoning model via OpenRouter
OpenRouterOpenAIGptOss120bFree
OpenAI gpt-oss-120b:free - Open-weight 120B reasoning model free tier via OpenRouter
OpenRouterOpenAIGptOss20b
OpenAI gpt-oss-20b - Open-weight 20B deployment via OpenRouter
OpenRouterOpenAIGpt6Astra
OpenAI GPT-6 Astra - OpenAI’s flagship model for demanding end-to-end work via OpenRouter
OpenRouterOpenAIGpt6Sol
GPT-6 Sol - Cost-efficient high-end model in the GPT-6 series via OpenRouter
OpenRouterOpenAIGpt6Luna
GPT-6 Luna - Fast cost-efficient model in the GPT-6 series via OpenRouter
OpenRouterMetaMuseGlimmer30b
Meta Muse Glimmer 30B via OpenRouter
OpenRouterMetaMuseSpark13
Meta Muse Spark 1.2 via OpenRouter Meta Muse Spark 1.3 via OpenRouter
OpenRouterGoogleGemini38Flash
Gemini 3.7 Flash - Flash model with 1M context and tunable thinking levels via OpenRouter Gemini 3.8 Flash - Most intelligent Flash for long-horizon SWE/agents with 1M context via OpenRouter
OpenRouterAnthropicClaudeSonnet5
Claude Sonnet 5 - Anthropic Claude Sonnet 5 listing
OpenRouterMistralaiMistralLarge2512
Mistral Large 3 2512 - Mistral Large 3 2512 model via OpenRouter
OpenRouterNexAgiDeepseekV31NexN1
DeepSeek V3.1 Nex N1 - Nex AGI DeepSeek V3.1 Nex N1 model via OpenRouter
OpenRouterZaiGlm53Flash
GLM-5.2 - Z.AI GLM-5.2 flagship model for long-horizon tasks via OpenRouter GLM-5.3 Flash - Z.AI efficient multimodal model with hybrid sparse+linear attention via OpenRouter
OpenRouterZaiGlm53Flashx
GLM-5.3 FlashX - Z.AI high-speed Flash variant with faster inference via OpenRouter
OpenRouterMoonshotaiKimiK3
Kimi K3 - Moonshot AI’s 2.8T parameter flagship via OpenRouter
OpenRouterXAiGrok46
Grok 4.6 - xAI’s flagship reasoning model with reasoning_effort support via OpenRouter
OpenRouterXAiGrok47
Grok 4.7 - xAI’s flagship reasoning model with reasoning_effort support via OpenRouter
OpenRouterXiaomiMimoV26Pro
MiMo-V2.6-Pro - Xiaomi’s flagship agentic model for complex software engineering via OpenRouter
OpenRouterXiaomiMimoV26Flash
MiMo-V2.6-Flash - Xiaomi’s efficient high-volume agentic model via OpenRouter
OpenRouterXiaomiMimoV26ProUltraspeed
MiMo-V2.6-Pro-UltraSpeed - Xiaomi’s fastest flagship variant via OpenRouter
OpenRouterStepfunStep5Preview
Step 5 Preview - StepFun’s flagship agentic model via OpenRouter
VercelAnthropicClaudeSonnet5
Claude Sonnet 5 served through the Vercel AI Gateway
VercelAnthropicClaudeOpus5
Claude Opus 5 served through the Vercel AI Gateway
VercelAnthropicClaudeOpus55
Claude Opus 5.5 served through the Vercel AI Gateway
VercelAnthropicClaudeHaiku45
Claude Haiku 4.5 served through the Vercel AI Gateway
VercelOpenAiGpt56Sol
GPT-5.6 Sol served through the Vercel AI Gateway
VercelOpenAiGpt6Astra
GPT-6 Astra served through the Vercel AI Gateway
VercelOpenAiGpt56Luna
GPT-5.6 Luna served through the Vercel AI Gateway
VercelGoogleGemini38Flash
GPT-5.3 Codex served through the Vercel AI Gateway Gemini 3.1 Pro Preview served through the Vercel AI Gateway Gemini 3.8 Flash served through the Vercel AI Gateway
VercelDeepseekFlash
DeepSeek V4.1 Flash served through the Vercel AI Gateway
VercelMoonshotaiKimiK3
Kimi K3 served through the Vercel AI Gateway
VercelMinimaxM3
MiniMax M3 served through the Vercel AI Gateway
VercelSpacexaiGrok47
Grok 4.7 served through the Vercel AI Gateway
XaiGrok46
Grok 4.6 - xAI’s flagship reasoning model with reasoning_effort support (500k context)
XaiGrok47
Grok 4.7 - xAI’s flagship reasoning model with reasoning_effort support (500k context)
Custom(String, String)
User-defined model not in the hardcoded catalog. Carries the provider key string and model identifier string.
Implementations§
Source§impl ModelId
impl ModelId
Sourcepub fn preferred_lightweight_variant(&self) -> Option<Self>
pub fn preferred_lightweight_variant(&self) -> Option<Self>
Preferred built-in lightweight sibling or lower-tier fallback for this model.
Sourcepub fn non_reasoning_variant(&self) -> Option<Self>
pub fn non_reasoning_variant(&self) -> Option<Self>
Attempt to find a non-reasoning variant for this model.
Sourcepub fn is_flash_variant(&self) -> bool
pub fn is_flash_variant(&self) -> bool
Check if this is a “flash” variant (optimized for speed)
Sourcepub fn is_pro_variant(&self) -> bool
pub fn is_pro_variant(&self) -> bool
Check if this is a “pro” variant (optimized for capability)
Sourcepub fn is_efficient_variant(&self) -> bool
pub fn is_efficient_variant(&self) -> bool
Check if this is an optimized/efficient variant
Sourcepub fn is_top_tier(&self) -> bool
pub fn is_top_tier(&self) -> bool
Check if this is a top-tier model
Sourcepub fn is_reasoning_variant(&self) -> bool
pub fn is_reasoning_variant(&self) -> bool
Determine whether the model is a reasoning-capable variant
Sourcepub fn supports_tool_calls(&self) -> bool
pub fn supports_tool_calls(&self) -> bool
Determine whether the model supports tool calls/function execution
Sourcepub fn input_modalities(&self) -> &'static [&'static str]
pub fn input_modalities(&self) -> &'static [&'static str]
Ordered list of supported input modalities when VT Code has metadata for this model.
Sourcepub fn generation(&self) -> &'static str
pub fn generation(&self) -> &'static str
Get the generation/version string for this model
Sourcepub fn supports_apply_patch_tool(&self) -> bool
pub fn supports_apply_patch_tool(&self) -> bool
Determine if this model supports optimized apply_patch tool
Source§impl ModelId
impl ModelId
Sourcepub fn openrouter_vendor(&self) -> Option<&'static str>
pub fn openrouter_vendor(&self) -> Option<&'static str>
Return the OpenRouter vendor slug when this identifier maps to a marketplace listing
Sourcepub fn all_models() -> Vec<ModelId>
pub fn all_models() -> Vec<ModelId>
Get all available models as a vector
Sourcepub fn models_for_provider(provider: Provider) -> Vec<ModelId>
pub fn models_for_provider(provider: Provider) -> Vec<ModelId>
Get all models for a specific provider
Sourcepub fn all_models_with_overrides(
overrides: &BTreeMap<String, ProviderOverrideConfig>,
) -> Vec<ModelId>
pub fn all_models_with_overrides( overrides: &BTreeMap<String, ProviderOverrideConfig>, ) -> Vec<ModelId>
Return all models including user-defined overrides from config.
Merges the hardcoded model list with custom models defined in
[providers.<name>] config sections. Custom models are appended
as ModelId::Custom variants keyed by provider name.
Sourcepub fn models_for_provider_with_overrides(
provider: Provider,
overrides: &BTreeMap<String, ProviderOverrideConfig>,
) -> Vec<ModelId>
pub fn models_for_provider_with_overrides( provider: Provider, overrides: &BTreeMap<String, ProviderOverrideConfig>, ) -> Vec<ModelId>
Get all models for a specific provider, including user-defined overrides.
Sourcepub fn from_config(
model: &str,
provider: &str,
provider_overrides: &BTreeMap<String, ProviderOverrideConfig>,
custom_providers: &[CustomProviderConfig],
) -> Result<Self, ModelParseError>
pub fn from_config( model: &str, provider: &str, provider_overrides: &BTreeMap<String, ProviderOverrideConfig>, custom_providers: &[CustomProviderConfig], ) -> Result<Self, ModelParseError>
Resolve a model identifier against a configuration, falling back to
ModelId::from_str.
Models declared under the active provider in [providers.<name>]
overrides or by a [[custom_providers]] profile are not part of the
static catalog, so they are represented as ModelId::Custom.
Matching is scoped to the active provider to avoid mis-routing a model
ID shared across providers, mirroring the catalog and custom-provider
branches of the subagent resolution path. Local-provider pass-through
(arbitrary Ollama/llama.cpp IDs) is intentionally not handled here.
Source§impl ModelId
impl ModelId
Sourcepub fn fallback_models() -> Vec<ModelId>
pub fn fallback_models() -> Vec<ModelId>
Get recommended fallback models in order of preference
Sourcepub fn default_orchestrator() -> Self
pub fn default_orchestrator() -> Self
Get the default orchestrator model (more capable)
Sourcepub fn default_orchestrator_for_provider(provider: Provider) -> Self
pub fn default_orchestrator_for_provider(provider: Provider) -> Self
Get provider-specific defaults for orchestrator
Sourcepub fn default_single_for_provider(provider: Provider) -> Self
pub fn default_single_for_provider(provider: Provider) -> Self
Get provider-specific defaults for single agent
Source§impl ModelId
impl ModelId
Sourcepub fn description(&self) -> Cow<'static, str>
pub fn description(&self) -> Cow<'static, str>
Get a description of the model’s characteristics.
Returns Cow<'static, str> because custom user-defined models
carry runtime strings that may not be 'static.
Source§impl ModelId
impl ModelId
Sourcepub fn display_name(&self) -> Cow<'static, str>
pub fn display_name(&self) -> Cow<'static, str>
Get the display name for the model (human-readable).
Returns Cow<'static, str> because custom user-defined models
carry runtime strings that may not be 'static.
Source§impl ModelId
impl ModelId
Sourcepub fn supports_reasoning_effort(&self) -> bool
pub fn supports_reasoning_effort(&self) -> bool
Whether this model supports configurable reasoning effort levels
Sourcepub fn supports_reasoning(&self) -> bool
pub fn supports_reasoning(&self) -> bool
Whether this model exposes structured reasoning output.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for ModelId
impl<'de> Deserialize<'de> for ModelId
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl Eq for ModelId
Source§impl JsonSchema for ModelId
impl JsonSchema for ModelId
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn inline_schema() -> bool
fn inline_schema() -> bool
$ref keyword. Read moreimpl StructuralPartialEq for ModelId
Auto Trait Implementations§
impl Freeze for ModelId
impl RefUnwindSafe for ModelId
impl Send for ModelId
impl Sync for ModelId
impl Unpin for ModelId
impl UnsafeUnpin for ModelId
impl UnwindSafe for ModelId
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToCompactString for Twhere
T: Display,
impl<T> ToCompactString for Twhere
T: Display,
Source§fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
fn try_to_compact_string(&self) -> Result<CompactString, ToCompactStringError>
ToCompactString::to_compact_string() Read moreSource§fn to_compact_string(&self) -> CompactString
fn to_compact_string(&self) -> CompactString
CompactString. Read more