pub mod archival;
pub mod compression;
pub mod consolidation;
pub mod decay;
pub mod extraction;
pub mod forget;
pub use archival::{ArchivalConfig, ArchivalDecision, ArchivalPipeline};
pub use compression::{CompressedMemory, MemoryCompressor};
pub use consolidation::{
ConsolidatedMemory, ConsolidationCandidate, ConsolidationEngine, cosine_similarity,
};
pub use decay::{DecayConfig, DecayEngine};
pub use extraction::{ExtractedFact, FactExtractor};
pub use forget::{ForgetEngine, ForgetRequest, ForgetResult};
#[cfg(test)]
pub(crate) mod test_helpers {
use mentedb_core::MemoryNode;
use mentedb_core::memory::MemoryType;
use mentedb_core::types::{AgentId, Embedding, MemoryId, SpaceId};
use std::collections::HashMap;
pub fn make_memory(content: &str, embedding: Embedding) -> MemoryNode {
MemoryNode {
id: MemoryId::new(),
agent_id: AgentId::new(),
memory_type: MemoryType::Episodic,
embedding,
content: content.to_string(),
created_at: 0,
accessed_at: 0,
access_count: 0,
salience: 0.5,
confidence: 0.8,
space_id: SpaceId::new(),
attributes: HashMap::new(),
tags: Vec::new(),
}
}
}