pub trait ProviderAdapter: Send + Sync {
// Required methods
fn provider_name(&self) -> &str;
fn to_provider_format(
&self,
context: &ConversationContext,
) -> ProviderMessages;
fn from_provider_format(
&self,
response: &ProviderResponse,
) -> NormalizedMessage;
fn capabilities(&self) -> ProviderCapabilities;
fn estimate_tokens(&self, messages: &[NormalizedMessage]) -> usize;
}Expand description
Provider-specific message format adapter
Required Methods§
Sourcefn provider_name(&self) -> &str
fn provider_name(&self) -> &str
Provider name
Sourcefn to_provider_format(&self, context: &ConversationContext) -> ProviderMessages
fn to_provider_format(&self, context: &ConversationContext) -> ProviderMessages
Convert normalized messages to provider format
Sourcefn from_provider_format(&self, response: &ProviderResponse) -> NormalizedMessage
fn from_provider_format(&self, response: &ProviderResponse) -> NormalizedMessage
Convert provider response to normalized format
Sourcefn capabilities(&self) -> ProviderCapabilities
fn capabilities(&self) -> ProviderCapabilities
Get supported features
Sourcefn estimate_tokens(&self, messages: &[NormalizedMessage]) -> usize
fn estimate_tokens(&self, messages: &[NormalizedMessage]) -> usize
Estimate tokens for messages