use super::{ResolvedTokenEstimator, TokenCount};
#[derive(Debug, Clone, Copy, PartialEq, Eq)]
pub enum ContextWindowSource {
BuiltIn,
Override,
Unknown,
}
#[derive(Debug, Clone)]
pub struct ChatModelProfile {
pub model: String,
pub estimator: ResolvedTokenEstimator,
pub context_window: Option<TokenCount>,
pub context_window_source: ContextWindowSource,
}
impl ChatModelProfile {
pub fn with_context_window_override(mut self, context_window: TokenCount) -> Self {
self.context_window = Some(context_window);
self.context_window_source = ContextWindowSource::Override;
self
}
}