lellm_agent/runtime/context/
execution.rs1use lellm_core::Message;
7
8use super::estimate_tokens;
9
10#[derive(Debug, Clone)]
12pub struct AgentExecutionContext {
13 pub cached_token_count: usize,
15}
16
17impl AgentExecutionContext {
18 pub fn new(messages: &[Message]) -> Self {
20 Self {
21 cached_token_count: estimate_tokens(messages),
22 }
23 }
24
25 pub fn add_tokens(&mut self, tokens: usize) {
27 self.cached_token_count += tokens;
28 }
29
30 pub fn reset_after_compact(&mut self, messages: &[Message]) {
32 self.cached_token_count = estimate_tokens(messages);
33 }
34}