pub trait CapabilityProfile {
// Required methods
fn auth_strategy(&self) -> AuthStrategy;
fn clears_anthropic_api_key(&self) -> bool;
fn supports_model_tiers(&self) -> bool;
// Provided methods
fn supports_tool_calling(&self) -> bool { ... }
fn supports_vision(&self) -> bool { ... }
fn supports_streaming(&self) -> bool { ... }
fn context_limit(&self) -> Option<u64> { ... }
}Expand description
Capability profile for a provider — determines auth strategy and feature support.
Required Methods§
Sourcefn auth_strategy(&self) -> AuthStrategy
fn auth_strategy(&self) -> AuthStrategy
How the provider authenticates API requests.
Sourcefn clears_anthropic_api_key(&self) -> bool
fn clears_anthropic_api_key(&self) -> bool
Whether the Anthropic API key should be cleared before calling this provider.
Sourcefn supports_model_tiers(&self) -> bool
fn supports_model_tiers(&self) -> bool
Whether the provider supports model tiers (e.g. fast vs. powerful model aliases).
Provided Methods§
Sourcefn supports_tool_calling(&self) -> bool
fn supports_tool_calling(&self) -> bool
Returns true if any model offered by this provider supports tool/function calling.
Sourcefn supports_vision(&self) -> bool
fn supports_vision(&self) -> bool
Returns true if any model offered by this provider accepts image input.
Sourcefn supports_streaming(&self) -> bool
fn supports_streaming(&self) -> bool
Returns true if the provider supports streaming completions.
Sourcefn context_limit(&self) -> Option<u64>
fn context_limit(&self) -> Option<u64>
Maximum context window in tokens across all models, or None if unknown.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".