pub struct ServiceDescriptor {Show 19 fields
pub id: String,
pub display_name: String,
pub description: String,
pub category: String,
pub family: String,
pub auth_mode: String,
pub key_var: String,
pub literal_auth_token: String,
pub base_url: String,
pub default_model: String,
pub model_tiers: HashMap<String, String>,
pub model_choices: Vec<ModelChoice>,
pub test_url: String,
pub setup: Vec<String>,
pub usage: Vec<String>,
pub api_base_url: Option<String>,
pub npm_package: Option<String>,
pub doc_url: Option<String>,
pub models: Vec<ModelDescriptor>,
}Expand description
Describes an LLM provider service with all metadata needed to connect and use it.
Fields§
§id: StringUnique provider identifier (e.g. "openai", "anthropic").
display_name: StringHuman-readable display name.
description: StringShort description of the provider.
category: StringProvider category (e.g. "cloud", "local").
family: StringProvider family used to group related providers.
auth_mode: StringAuthentication mode: "none", "literal", or "secret".
key_var: StringEnvironment variable name that holds the API key (empty if not required).
literal_auth_token: StringLiteral auth token embedded in the catalog (only set when auth_mode = "literal").
base_url: StringBase URL for the provider’s web interface.
default_model: StringDefault model ID used when no model override is specified.
model_tiers: HashMap<String, String>Named model tiers mapping tier name → model ID (e.g. "fast" → "gpt-4o-mini").
model_choices: Vec<ModelChoice>Legacy list of available model choices (claudy-specific).
test_url: StringURL used to test connectivity to the provider.
setup: Vec<String>Setup instructions shown to the user during first-time configuration.
usage: Vec<String>Usage examples shown to the user in the install wizard.
api_base_url: Option<String>API base URL override (models.dev-compatible field).
npm_package: Option<String>npm package name (models.dev-compatible field, for AI coding tools).
doc_url: Option<String>Link to provider documentation.
models: Vec<ModelDescriptor>Full list of models offered by this provider.
Trait Implementations§
Source§impl CapabilityProfile for ServiceDescriptor
impl CapabilityProfile for ServiceDescriptor
Source§fn auth_strategy(&self) -> AuthStrategy
fn auth_strategy(&self) -> AuthStrategy
Source§fn clears_anthropic_api_key(&self) -> bool
fn clears_anthropic_api_key(&self) -> bool
Source§fn supports_model_tiers(&self) -> bool
fn supports_model_tiers(&self) -> bool
Source§fn supports_tool_calling(&self) -> bool
fn supports_tool_calling(&self) -> bool
true if any model offered by this provider supports tool/function calling.Source§fn supports_vision(&self) -> bool
fn supports_vision(&self) -> bool
true if any model offered by this provider accepts image input.Source§fn supports_streaming(&self) -> bool
fn supports_streaming(&self) -> bool
true if the provider supports streaming completions.Source§fn context_limit(&self) -> Option<u64>
fn context_limit(&self) -> Option<u64>
None if unknown.Source§impl Clone for ServiceDescriptor
impl Clone for ServiceDescriptor
Source§fn clone(&self) -> ServiceDescriptor
fn clone(&self) -> ServiceDescriptor
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more