synaptic_condenser/
lib.rs1mod llm_summarizing;
2mod middleware;
3mod noop;
4mod pipeline;
5mod rolling;
6mod token_budget;
7
8pub use llm_summarizing::LlmSummarizingCondenser;
9pub use middleware::CondenserMiddleware;
10pub use noop::NoOpCondenser;
11pub use pipeline::PipelineCondenser;
12pub use rolling::RollingCondenser;
13pub use token_budget::TokenBudgetCondenser;
14
15use async_trait::async_trait;
16use synaptic_core::{Message, SynapticError};
17
18#[async_trait]
20pub trait Condenser: Send + Sync {
21 async fn condense(&self, messages: Vec<Message>) -> Result<Vec<Message>, SynapticError>;
23}