use super::super::response::Usage;
use super::super::wire::{price_or_unpriced, CostOutcome, Provider, TokenPrice};
#[derive(Debug, Clone, Default)]
pub struct GenericProvider {
pub legacy_token_limit: bool,
}
impl Provider for GenericProvider {
fn openai_token_limit_field(&self) -> &'static str {
if self.legacy_token_limit {
"max_tokens"
} else {
"max_completion_tokens"
}
}
fn emits_stream_usage(&self, _requested: bool) -> bool {
false
}
fn cost_of(&self, usage: Usage, price: Option<&TokenPrice>) -> CostOutcome {
price_or_unpriced(usage, price)
}
}