//! Context compaction for AI sessions and room message history. pub mod auth_fetch; pub mod helpers; pub mod room_compactor; pub mod summarizer; pub mod types; use sea_orm::DatabaseConnection; pub use types::{CompactConfig, CompactLevel, CompactSummary, MessageSummary, ThresholdResult}; #[derive(Clone)] pub struct CompactService { db: DatabaseConnection, ai_client_config: crate::client::AiClientConfig, model: String, } impl CompactService { pub fn new( db: DatabaseConnection, ai_client_config: crate::client::AiClientConfig, model: String, ) -> Self { Self { db, ai_client_config, model, } } }