pub const DEFAULT_COMPACTION_MODEL: &str = "deepseek-chat";
pub const MINIMUM_AUTO_COMPACTION_TOKENS: usize = 500_000;
#[derive(Debug, Clone, PartialEq)]
pub struct CompactionConfig {
pub enabled: bool,
pub token_threshold: usize,
pub model: String,
pub cache_summary: bool,
pub auto_floor_tokens: usize,
}
impl Default for CompactionConfig {
fn default() -> Self {
Self {
enabled: true,
token_threshold: 800_000,
model: DEFAULT_COMPACTION_MODEL.to_string(),
cache_summary: true,
auto_floor_tokens: MINIMUM_AUTO_COMPACTION_TOKENS,
}
}
}