use std::sync::Arc;
use zeph_memory::semantic::SemanticMemory;
pub(crate) struct MemoryPersistenceState {
pub(crate) memory: Option<Arc<SemanticMemory>>,
pub(crate) conversation_id: Option<zeph_memory::ConversationId>,
pub(crate) history_limit: u32,
pub(crate) recall_limit: usize,
pub(crate) cross_session_score_threshold: f32,
pub(crate) autosave_assistant: bool,
pub(crate) autosave_min_length: usize,
pub(crate) tool_call_cutoff: usize,
pub(crate) unsummarized_count: usize,
pub(crate) last_recall_confidence: Option<f32>,
}
impl Default for MemoryPersistenceState {
fn default() -> Self {
Self {
memory: None,
conversation_id: None,
history_limit: 50,
recall_limit: 5,
cross_session_score_threshold: 0.35,
autosave_assistant: false,
autosave_min_length: 20,
tool_call_cutoff: 6,
unsummarized_count: 0,
last_recall_confidence: None,
}
}
}