Skip to main content

offline_intelligence/cache_management/
mod.rs

1// src/cache_management/mod.rs
2
3//! KV Cache management system for efficient context preservation and retrieval
4
5pub mod cache_bridge;
6pub mod cache_config;
7pub mod cache_extractor;
8pub mod cache_manager;
9pub mod cache_scorer;
10pub mod llama_cache_interface;
11
12// Re-exports
13pub use cache_bridge::{CacheContextBridge, CacheBridgeStats, CacheTransition, TransitionType};
14pub use cache_config::{KVCacheConfig, RetrievalStrategy, SnapshotStrategy, CachePreservationConfig};
15pub use cache_extractor::{CacheExtractor, CacheExtractorConfig, ExtractedCacheEntry, CacheEntryType, KVEntry};
16pub use cache_manager::{
17    KVCacheManager, SessionCacheState, CacheStatistics, CacheOperation, CacheOperationType,
18    ClearReason, CacheClearResult, RetrievalResult, RetrievedEntry, CacheProcessingResult,
19    CacheStatisticsExport, MaintenanceResult
20};
21pub use cache_scorer::{CacheEntryScorer, CacheScoringConfig};
22pub use llama_cache_interface::{LlamaKVCacheInterface, LlamaKVCacheState};
23
24/// Create a default KV cache manager.
25/// Pass `llm_worker` to enable pre-clear summarization.
26pub fn create_default_cache_manager(
27    config: KVCacheConfig,
28    database: std::sync::Arc<crate::memory_db::MemoryDatabase>,
29    llm_worker: Option<std::sync::Arc<crate::worker_threads::LLMWorker>>,
30) -> anyhow::Result<KVCacheManager> {
31    KVCacheManager::new(config, database, llm_worker)
32}