pub struct TieredCompressor { /* private fields */ }Expand description
Chains compression tiers: keep recent → rule-compress mid → LLM-summarize old.
Without an LLM provider, uses only rule-based compression for the older messages.
§Example
use traitclaw_core::context_managers::TieredCompressor;
let compressor = TieredCompressor::new(5); // keep last 5 messagesImplementations§
Source§impl TieredCompressor
impl TieredCompressor
Sourcepub fn new(recent_count: usize) -> TieredCompressor
pub fn new(recent_count: usize) -> TieredCompressor
Create a tiered compressor (rule-only mode).
Sourcepub fn with_llm(self, provider: Arc<dyn Provider>) -> TieredCompressor
pub fn with_llm(self, provider: Arc<dyn Provider>) -> TieredCompressor
Enable the LLM summarization tier.
Trait Implementations§
Source§impl ContextManager for TieredCompressor
impl ContextManager for TieredCompressor
Source§fn prepare<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
messages: &'life1 mut Vec<Message>,
context_window: usize,
state: &'life2 mut AgentState,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
TieredCompressor: 'async_trait,
fn prepare<'life0, 'life1, 'life2, 'async_trait>(
&'life0 self,
messages: &'life1 mut Vec<Message>,
context_window: usize,
state: &'life2 mut AgentState,
) -> Pin<Box<dyn Future<Output = ()> + Send + 'async_trait>>where
'life0: 'async_trait,
'life1: 'async_trait,
'life2: 'async_trait,
TieredCompressor: 'async_trait,
Prepare the message list by pruning or compressing if necessary. Read more
Auto Trait Implementations§
impl Freeze for TieredCompressor
impl !RefUnwindSafe for TieredCompressor
impl Send for TieredCompressor
impl Sync for TieredCompressor
impl Unpin for TieredCompressor
impl UnsafeUnpin for TieredCompressor
impl !UnwindSafe for TieredCompressor
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more