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
19pub mod auto_capture;
20pub mod auto_tagging;
21pub mod compression;
22pub mod consolidation;
23pub mod content_utils;
24pub mod context_quality;
25pub mod document_ingest;
26pub mod entities;
27pub mod entity_extraction;
28pub mod natural_language;
29pub mod project_context;
30pub mod quality;
31pub mod salience;
32pub mod session_context;
33pub mod session_indexing;
34pub mod suggestions;
35
36pub use auto_capture::{
37    AutoCaptureConfig, AutoCaptureEngine, CaptureCandidate, CaptureType, ConversationTracker,
38};
39pub use auto_tagging::{AutoTagConfig, AutoTagResult, AutoTagger, TagSource, TagSuggestion};
40pub use consolidation::{ConsolidationEngine, ConsolidationResult, ConsolidationStrategy};
41pub use content_utils::{
42    compact_preview, content_stats, soft_trim, CompactMemory, ContentStats, SoftTrimConfig,
43    SoftTrimResult,
44};
45pub use document_ingest::{
46    DocumentChunk, DocumentFormat, DocumentIngestor, DocumentSection, IngestConfig, IngestResult,
47    DEFAULT_CHUNK_SIZE, DEFAULT_MAX_FILE_SIZE, DEFAULT_OVERLAP,
48};
49pub use entities::{
50    Entity, EntityExtractionConfig, EntityExtractor, EntityRelation, EntityType, ExtractedEntity,
51    ExtractionResult, MemoryEntity,
52};
53pub use entity_extraction::{
54    auto_link_memory, extract_entities, ExtractedEntity as NerExtractedEntity, ExtractedEntityType,
55    ExtractionConfig, ExtractionResult as NerExtractionResult,
56};
57pub use natural_language::{CommandType, NaturalLanguageParser, ParsedCommand};
58pub use project_context::{
59    DiscoveredFile, InstructionFileParser, InstructionFileType, ParsedInstructions, ParsedSection,
60    ProjectContextConfig, ProjectContextEngine, ScanResult, CORE_INSTRUCTION_FILES,
61};
62pub use quality::{QualityMetrics, QualityScore, QualityScorer};
63pub use salience::{
64    boost_memory_salience, demote_memory_salience, get_memory_salience,
65    get_memory_salience_with_feedback, get_salience_history, get_salience_stats,
66    get_salience_stats_in_workspace, run_salience_decay, run_salience_decay_in_workspace,
67    set_memory_importance, DecayResult, SalienceCalculator, SalienceConfig, SalienceHistoryEntry,
68    SaliencePercentiles, SalienceScore, SalienceStats, ScoredMemory, StateDistribution,
69};
70pub use session_context::{
71    add_memory_to_session, create_session, end_session, export_session, get_session_context,
72    get_session_memories, get_sessions_for_memory, list_sessions_extended,
73    remove_memory_from_session, search_session_memories, update_session_context,
74    update_session_summary, ContextRole, CreateSessionInput, SessionContext, SessionExport,
75    SessionMemoryLink, SessionSearchResult,
76};
77pub use session_indexing::{
78    chunk_conversation, delete_session, get_session, index_conversation, index_conversation_delta,
79    list_sessions, ChunkingConfig, ConversationChunk, Message, Session,
80};
81pub use suggestions::{Suggestion, SuggestionEngine, SuggestionType};
82
83// Phase 2: Context Compression Engine (ENG-34)
84pub use compression::{
85    check_context_budget, count_tokens, detect_encoding, parse_encoding, CompressionStrategy,
86    ContextBudgetInput, ContextBudgetResult, MemoryTokenCount, TokenEncoding,
87};
88
89// Phase 9: Context Quality (ENG-48 to ENG-66)
90pub use context_quality::{
91    calculate_quality_score, calculate_text_similarity, detect_conflicts, find_near_duplicates,
92    find_semantic_duplicates, generate_quality_report, get_pending_duplicates, get_source_trust,
93    get_unresolved_conflicts, resolve_conflict, update_source_trust, ConflictSeverity,
94    ConflictType, ContextQualityConfig, DuplicateCandidate, EnhancedQualityScore, MemoryConflict,
95    QualityIssue, QualityReport, QualitySuggestion, ResolutionType, SourceTrustScore,
96    ValidationStatus,
97};