Skip to main content

offline_intelligence/context_engine/
mod.rs

1//! Context engine module - Orchestrates context memory system
2
3pub mod retrieval_planner;
4pub mod tier_manager;
5pub mod context_builder;
6pub mod orchestrator;
7pub mod smart_retrieval;
8
9pub use retrieval_planner::{RetrievalPlanner, RetrievalPlan};
10pub use tier_manager::{TierManager, TierManagerConfig, TierStats};
11pub use context_builder::{ContextBuilder, ContextBuilderConfig};
12pub use orchestrator::{ContextOrchestrator, OrchestratorConfig, SessionStats, CleanupStats};
13pub use smart_retrieval::{SmartRetrieval, SmartRetrievalConfig, RetrievalResult, RetrievalStrategy};
14
15/// Create a Context Orchestrator with limits derived from the model's context window.
16/// Pass `ctx_size` from `Config.ctx_size` — all token budgets are derived from it automatically.
17pub async fn create_default_orchestrator(
18    database: std::sync::Arc<crate::memory_db::MemoryDatabase>,
19    ctx_size: u32,
20) -> anyhow::Result<ContextOrchestrator> {
21    let config = if ctx_size > 0 {
22        OrchestratorConfig::from_ctx_size(ctx_size)
23    } else {
24        OrchestratorConfig::default()
25    };
26    ContextOrchestrator::new(database, config).await
27}