Skip to main content

engram/intelligence/
mod.rs

1//! Intelligence module for AI-powered features (Phase 4, 8, 9)
2//!
3//! Provides:
4//! - Smart memory suggestions (RML-890)
5//! - Automatic memory consolidation (RML-891)
6//! - Memory quality scoring (RML-892)
7//! - Natural language commands (RML-893)
8//! - Auto-capture mode for proactive memory (RML-903)
9//! - Project context discovery (AI instruction files)
10//! - Entity extraction / NER (RML-925)
11//! - Document ingestion (RML-928)
12//! - Session transcript indexing with dual-limiter chunking
13//! - AI auto-tagging for memories
14//! - Context compression and token counting (ENG-34)
15//! - Salience scoring and temporal decay (Phase 8 - ENG-66 to ENG-68)
16//! - Session context tracking (Phase 8 - ENG-70, ENG-71)
17//! - Context quality and deduplication (Phase 9 - ENG-48 to ENG-66)
18//! - Semantic structured compression (RML-1208)
19//! - Emotional analysis and reflective memory (RML-1215)
20//! - Autonomous memory garden maintenance (RML-1222)
21
22pub mod agent_loop;
23pub mod auto_capture;
24pub mod auto_tagging;
25pub mod compression;
26pub mod compression_semantic;
27pub mod consolidation;
28pub mod consolidation_offline;
29pub mod content_utils;
30pub mod context_builder;
31pub mod context_compression;
32pub mod context_quality;
33pub mod document_ingest;
34pub mod emotional;
35pub mod entities;
36pub mod entity_extraction;
37pub mod fact_extraction;
38pub mod gardening;
39pub mod memory_update;
40pub mod natural_language;
41pub mod proactive;
42pub mod project_context;
43pub mod quality;
44pub mod salience;
45pub mod session_context;
46pub mod session_indexing;
47pub mod suggestions;
48pub mod synthesis;
49
50pub use auto_capture::{
51    AutoCaptureConfig, AutoCaptureEngine, CaptureCandidate, CaptureType, ConversationTracker,
52};
53pub use auto_tagging::{AutoTagConfig, AutoTagResult, AutoTagger, TagSource, TagSuggestion};
54pub use consolidation::{ConsolidationEngine, ConsolidationResult, ConsolidationStrategy};
55pub use content_utils::{
56    compact_preview, content_stats, soft_trim, CompactMemory, ContentStats, SoftTrimConfig,
57    SoftTrimResult,
58};
59pub use document_ingest::{
60    DocumentChunk, DocumentFormat, DocumentIngestor, DocumentSection, IngestConfig, IngestResult,
61    DEFAULT_CHUNK_SIZE, DEFAULT_MAX_FILE_SIZE, DEFAULT_OVERLAP,
62};
63pub use entities::{
64    Entity, EntityExtractionConfig, EntityExtractor, EntityRelation, EntityType, ExtractedEntity,
65    ExtractionResult, MemoryEntity,
66};
67pub use entity_extraction::{
68    auto_link_memory, extract_entities, ExtractedEntity as NerExtractedEntity, ExtractedEntityType,
69    ExtractionConfig, ExtractionResult as NerExtractionResult,
70};
71pub use natural_language::{CommandType, NaturalLanguageParser, ParsedCommand};
72pub use project_context::{
73    DiscoveredFile, InstructionFileParser, InstructionFileType, ParsedInstructions, ParsedSection,
74    ProjectContextConfig, ProjectContextEngine, ScanResult, CORE_INSTRUCTION_FILES,
75};
76pub use quality::{QualityMetrics, QualityScore, QualityScorer};
77pub use salience::{
78    boost_memory_salience, demote_memory_salience, get_memory_salience,
79    get_memory_salience_with_feedback, get_salience_history, get_salience_stats,
80    get_salience_stats_in_workspace, run_salience_decay, run_salience_decay_in_workspace,
81    set_memory_importance, DecayResult, SalienceCalculator, SalienceConfig, SalienceHistoryEntry,
82    SaliencePercentiles, SalienceScore, SalienceStats, ScoredMemory, StateDistribution,
83};
84pub use session_context::{
85    add_memory_to_session, create_session, end_session, export_session, get_session_context,
86    get_session_memories, get_sessions_for_memory, list_sessions_extended,
87    remove_memory_from_session, search_session_memories, update_session_context,
88    update_session_summary, ContextRole, CreateSessionInput, SessionContext, SessionExport,
89    SessionMemoryLink, SessionSearchResult,
90};
91pub use session_indexing::{
92    chunk_conversation, delete_session, get_session, index_conversation, index_conversation_delta,
93    list_sessions, ChunkingConfig, ConversationChunk, Message, Session,
94};
95pub use suggestions::{Suggestion, SuggestionEngine, SuggestionType};
96
97// Phase 2: Context Compression Engine (ENG-34)
98pub use compression::{
99    check_context_budget, count_tokens, detect_encoding, parse_encoding, CompressionStrategy,
100    ContextBudgetInput, ContextBudgetResult, MemoryTokenCount, TokenEncoding,
101};
102
103// RML-1232: Automatic fact extraction (SPO triples)
104pub use fact_extraction::{
105    create_fact, delete_facts_for_memory, get_fact_graph, list_facts, ConversationProcessor,
106    ExtractedFact, Fact, FactExtractor, RuleBasedExtractor, CREATE_FACTS_TABLE,
107};
108
109// Phase 9: Context Quality (ENG-48 to ENG-66)
110pub use context_quality::{
111    calculate_quality_score, calculate_text_similarity, detect_conflicts, find_near_duplicates,
112    find_semantic_duplicates, generate_quality_report, get_pending_duplicates, get_source_trust,
113    get_unresolved_conflicts, resolve_conflict, update_source_trust, ConflictSeverity,
114    ConflictType, ContextQualityConfig, DuplicateCandidate, EnhancedQualityScore, MemoryConflict,
115    QualityIssue, QualityReport, QualitySuggestion, ResolutionType, SourceTrustScore,
116    ValidationStatus,
117};
118
119// RML-1208: Semantic Structured Compression
120pub use compression_semantic::{CompressedMemory, CompressionConfig, SemanticCompressor};
121
122// RML-1213: Historical Memory Update Detection
123pub use memory_update::{
124    apply_update, create_update_log, list_update_logs, ConflictType as UpdateConflictType,
125    UpdateAction, UpdateCandidate, UpdateDetector, UpdateLogEntry, UpdateResult,
126    CREATE_UPDATE_LOG_TABLE,
127};
128
129// RML-1215: Emotional & Reflective Memory
130pub use emotional::{
131    list_reflections, save_reflection, sentiment_timeline, Reflection, ReflectionDepth,
132    ReflectionEngine, Sentiment, SentimentAnalyzer, SentimentLabel, SentimentPoint,
133    CREATE_REFLECTIONS_TABLE,
134};
135
136// RML-1222: Autonomous Memory Garden Maintenance
137pub use gardening::{
138    GardenAction, GardenConfig, GardenReport, MemoryGardener, CREATE_GARDEN_LOG_TABLE,
139};