Skip to main content

wm_memory/
lib.rs

1//! `WhiteMagic` v4 Memory — LMDB + Tantivy + `LanceDB`
2//!
3//! Replaces the v2 `SQLite` + FTS5 + Python HNSW stack with:
4//! - LMDB for key-value storage (mmap'd, zero-copy reads)
5//! - Tantivy for full-text search (Rust, Lucene-class performance)
6//! - `LanceDB` for vector similarity search (disk-based HNSW)
7
8#![forbid(unsafe_code)]
9
10pub mod associations;
11pub mod attestation;
12pub mod conversational;
13pub mod credentials;
14pub mod embedder;
15pub mod enrichment;
16pub mod envelope;
17pub mod episodic;
18pub mod episodic_keys;
19pub mod galaxy_registry;
20pub mod indexes;
21pub mod lifecycle;
22pub mod mandala;
23pub mod memory;
24pub mod predictive_cache;
25pub mod query_planner;
26pub mod recall;
27pub mod recall_conformal;
28pub mod recovery;
29pub mod reindex;
30pub mod revision;
31pub mod search;
32pub mod semantic;
33pub mod store;
34pub mod typology;
35pub mod validator;
36pub mod vector;
37
38pub use associations::{Association, AssociationStore, LinkType};
39pub use attestation::{
40    ATTESTATION_DOMAIN, ATTESTATION_KEY_ENV, ATTESTATIONS_DB, AttestationReport, RecordAttestation,
41    anchor_leaf_input, attestation_key, attestation_payload, attestation_prefix, merkle_root_hex,
42    sha256_hex, sign_attestation, verify_attestation,
43};
44pub use conversational::{
45    ConversationalConfig, ConversationalResult, ConversationalSearch, QueryClassification,
46    SearchMetrics,
47};
48pub use credentials::{ADVICE as CREDENTIAL_ADVICE, credential_shaped_content};
49#[cfg(feature = "onnx")]
50pub use embedder::OrtEmbedder;
51pub use embedder::{Embedder, EmbedderConfig, HttpEmbedder, StubEmbedder, create_embedder};
52pub use enrichment::VocabularyEnrichment;
53pub use episodic::{EpisodicSearchResult, EpisodicStore};
54pub use episodic_keys::{
55    AdaptiveAliases, EpisodicKey, KeyCategory, entity_key_terms, extract_episodic_keys,
56    key_index_terms, key_index_terms_with_aliases,
57};
58pub use galaxy_registry::{GalaxyMetadata, GalaxyRegistry};
59pub use lifecycle::{ConsolidationResult, ForgettingResult, Lifecycle, LifecycleConfig};
60pub use mandala::{Compartment, CompartmentConfig, MandalaLevel, MandalaManager};
61pub use memory::{
62    Memory, MemoryId, MemoryMetadata, MemoryType, Tier, content_hash, decode_embedding,
63    encode_embedding, trust_weighted_score,
64};
65pub use predictive_cache::{CacheStats, PredictiveCache};
66pub use query_planner::{QueryClass, QueryPlan};
67pub use recall::{RecallConfig, RecallEngine, RecallResult};
68pub use recovery::{
69    GalaxyIntegrity, IntegrityReport, QuarantineEntry, RecoveryStrategy, RepairReport,
70    check_integrity, grow_map_size, open_with_recovery, repair,
71};
72pub use reindex::{
73    ConsistencyReport, ContentRepairReport, DriftClassification, GalaxyConsistency,
74    GalaxyContentRepairStats, GalaxyDriftClass, GalaxyRebuildStats, IndexRebuildReport,
75    check_consistency, classify_drift, heal_index_drift, rebuild_index, repair_content,
76};
77pub use revision::{MemoryRevision, RevisionActor, RevisionChainReport};
78pub use search::{
79    IndexHealth, MAX_INDEX_CONTENT_LEN, MIN_PRINTABLE_RATIO, STOPWORDS, SearchEngine,
80    SearchOptions, SearchResult, sanitize_content_for_index, sanitize_tantivy_query, scrub_text,
81    strip_stopwords,
82};
83pub use semantic::{SemanticEncoder, SemanticScores};
84pub use store::MemoryQuery;
85pub use store::MemoryStore;
86pub use validator::{MemoryValidator, ValidationVerdict, ValidatorConfig, detect_injection};
87pub use vector::{VectorSearchEngine, VectorSearchResult, VectorStore};
88
89#[cfg(feature = "lancedb")]
90pub mod lance_vector;
91#[cfg(feature = "lancedb")]
92pub use lance_vector::LanceVectorStore;