use lellm_core::Message;
use super::estimate_tokens;
#[derive(Debug, Clone)]
pub struct AgentExecutionContext {
pub cached_token_count: usize,
}
impl AgentExecutionContext {
pub fn new(messages: &[Message]) -> Self {
Self {
cached_token_count: estimate_tokens(messages),
}
}
pub fn add_tokens(&mut self, tokens: usize) {
self.cached_token_count += tokens;
}
pub fn reset_after_compact(&mut self, messages: &[Message]) {
self.cached_token_count = estimate_tokens(messages);
}
}