pub struct ProviderConfig {
pub name: String,
pub api_key: Option<String>,
pub base_url: Option<String>,
pub headers: HashMap<String, String>,
pub session_id_header: Option<String>,
pub models: Vec<ModelConfig>,
}Expand description
Provider configuration
Fields§
§name: StringProvider name (e.g., “anthropic”, “openai”)
api_key: Option<String>API key for this provider
base_url: Option<String>Base URL for the API
headers: HashMap<String, String>Static HTTP headers for this provider
session_id_header: Option<String>Header name to receive the runtime session ID
models: Vec<ModelConfig>Available models
Implementations§
Source§impl ProviderConfig
impl ProviderConfig
Sourcepub fn find_model(&self, model_id: &str) -> Option<&ModelConfig>
pub fn find_model(&self, model_id: &str) -> Option<&ModelConfig>
Find a model by ID
Sourcepub fn get_api_key<'a>(&'a self, model: &'a ModelConfig) -> Option<&'a str>
pub fn get_api_key<'a>(&'a self, model: &'a ModelConfig) -> Option<&'a str>
Get the effective API key for a model (model override or provider default)
Sourcepub fn get_base_url<'a>(&'a self, model: &'a ModelConfig) -> Option<&'a str>
pub fn get_base_url<'a>(&'a self, model: &'a ModelConfig) -> Option<&'a str>
Get the effective base URL for a model (model override or provider default)
Sourcepub fn get_headers(&self, model: &ModelConfig) -> HashMap<String, String>
pub fn get_headers(&self, model: &ModelConfig) -> HashMap<String, String>
Get the effective static headers for a model (provider defaults with model overrides)
Sourcepub fn get_session_id_header<'a>(
&'a self,
model: &'a ModelConfig,
) -> Option<&'a str>
pub fn get_session_id_header<'a>( &'a self, model: &'a ModelConfig, ) -> Option<&'a str>
Get the header name that should carry the runtime session ID.
Trait Implementations§
Source§impl Clone for ProviderConfig
impl Clone for ProviderConfig
Source§fn clone(&self) -> ProviderConfig
fn clone(&self) -> ProviderConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for ProviderConfig
impl Debug for ProviderConfig
Source§impl<'de> Deserialize<'de> for ProviderConfig
impl<'de> Deserialize<'de> for ProviderConfig
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for ProviderConfig
impl RefUnwindSafe for ProviderConfig
impl Send for ProviderConfig
impl Sync for ProviderConfig
impl Unpin for ProviderConfig
impl UnsafeUnpin for ProviderConfig
impl UnwindSafe for ProviderConfig
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
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> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more