pub enum ModelId {
Gemini25FlashLite,
Gemini25Flash,
Gemini25Pro,
GPT5,
GPT5Mini,
ClaudeSonnet4,
ClaudeOpus41,
}
Expand description
Centralized enum for all supported model identifiers
Variants§
Gemini25FlashLite
Gemini 2.5 Flash Lite - Fastest, most cost-effective
Gemini25Flash
Gemini 2.5 Flash - Fast, cost-effective, default for agent/planning/orchestrator
Gemini25Pro
Gemini 2.5 Pro - Latest, most capable
GPT5
GPT-5 - High performance model
GPT5Mini
GPT-5 mini - Smaller, faster version and fast and economical
ClaudeSonnet4
Claude Sonnet 4 - Most intelligent model
ClaudeOpus41
Claude Opus 4.1 - Powerful model for complex tasks
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§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.