pub enum ModelId {
Show 15 variants
Gemini25FlashPreview,
Gemini25Flash,
Gemini25FlashLite,
Gemini25Pro,
GPT5,
GPT5Mini,
GPT5Nano,
CodexMiniLatest,
ClaudeOpus41,
ClaudeSonnet4,
OpenRouterGrokCodeFast1,
OpenRouterQwen3Coder,
OpenRouterDeepSeekChatV31,
OpenRouterOpenAIGPT5,
OpenRouterAnthropicClaudeSonnet4,
}
Expand description
Centralized enum for all supported model identifiers
Variants§
Gemini25FlashPreview
Gemini 2.5 Flash Preview - Latest fast model with advanced capabilities
Gemini25Flash
Gemini 2.5 Flash - Legacy alias for flash preview
Gemini25FlashLite
Gemini 2.5 Flash Lite - Legacy alias for flash preview (lite)
Gemini25Pro
Gemini 2.5 Pro - Latest most capable Gemini model
GPT5
GPT-5 - Latest most capable OpenAI model (2025-08-07)
GPT5Mini
GPT-5 Mini - Latest efficient OpenAI model (2025-08-07)
GPT5Nano
GPT-5 Nano - Latest most cost-effective OpenAI model (2025-08-07)
CodexMiniLatest
Codex Mini Latest - Latest Codex model for code generation (2025-05-16)
ClaudeOpus41
Claude Opus 4.1 - Latest most capable Anthropic model (2025-08-05)
ClaudeSonnet4
Claude Sonnet 4 - Latest balanced Anthropic model (2025-05-14)
OpenRouterGrokCodeFast1
Grok Code Fast 1 - Fast OpenRouter coding model
OpenRouterQwen3Coder
Qwen3 Coder - Balanced OpenRouter coding model
OpenRouterDeepSeekChatV31
DeepSeek Chat v3.1 - Advanced DeepSeek model via OpenRouter
OpenRouterOpenAIGPT5
OpenAI GPT-5 via OpenRouter
OpenRouterAnthropicClaudeSonnet4
Anthropic Claude Sonnet 4 via OpenRouter
Implementations§
Source§impl ModelId
impl ModelId
Sourcepub fn as_str(&self) -> &'static str
pub fn as_str(&self) -> &'static str
Convert the model identifier to its string representation used in API calls and configurations
Sourcepub fn display_name(&self) -> &'static str
pub fn display_name(&self) -> &'static str
Get the display name for the model (human-readable)
Sourcepub fn description(&self) -> &'static str
pub fn description(&self) -> &'static str
Get a description of the model’s characteristics
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 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_subagent() -> Self
pub fn default_subagent() -> Self
Get the default subagent model (fast and efficient)
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_subagent_for_provider(provider: Provider) -> Self
pub fn default_subagent_for_provider(provider: Provider) -> Self
Get provider-specific defaults for subagent
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
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 generation(&self) -> &'static str
pub fn generation(&self) -> &'static str
Get the generation/version string for this model
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
impl 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 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,
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.Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
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> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string
, but without panic on OOM.