pub(crate) struct MemoryCompactionState {
pub(crate) summarization_threshold: usize,
pub(crate) compression_guidelines_config: zeph_memory::CompressionGuidelinesConfig,
pub(crate) shutdown_summary: bool,
pub(crate) shutdown_summary_min_messages: usize,
pub(crate) shutdown_summary_max_messages: usize,
pub(crate) shutdown_summary_timeout_secs: u64,
pub(crate) structured_summaries: bool,
pub(crate) digest_config: crate::config::DigestConfig,
pub(crate) cached_session_digest: Option<(String, usize)>,
pub(crate) context_strategy: crate::config::ContextStrategy,
pub(crate) crossover_turn_threshold: u32,
}
impl Default for MemoryCompactionState {
fn default() -> Self {
Self {
summarization_threshold: 50,
compression_guidelines_config: zeph_memory::CompressionGuidelinesConfig::default(),
shutdown_summary: true,
shutdown_summary_min_messages: 4,
shutdown_summary_max_messages: 20,
shutdown_summary_timeout_secs: 10,
structured_summaries: false,
digest_config: crate::config::DigestConfig::default(),
cached_session_digest: None,
context_strategy: crate::config::ContextStrategy::default(),
crossover_turn_threshold: 20,
}
}
}