Skip to main content

wm_memory/
lib.rs

1//! `WhiteMagic` 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 at_rest;
12pub mod attestation;
13mod codec;
14pub mod cold_storage;
15pub mod consistency;
16pub mod conversational;
17pub mod credentials;
18pub mod embedder;
19pub mod enrichment;
20pub mod envelope;
21pub mod episodic;
22pub mod episodic_keys;
23pub mod galaxy_registry;
24pub mod indexes;
25pub mod lifecycle;
26pub mod mandala;
27pub mod memory;
28pub mod predictive_cache;
29pub mod query_planner;
30pub mod recall;
31pub mod recall_conformal;
32pub mod recovery;
33pub mod redact;
34pub mod reindex;
35pub mod release_manifest;
36pub mod revision;
37pub mod search;
38pub mod semantic;
39pub mod store;
40pub mod typology;
41pub mod validator;
42pub mod vector;
43
44pub use associations::{Association, AssociationStore, LinkType};
45pub use at_rest::{
46    AT_REST_KEY_FILE, Argon2Params, AtRestConfig, AtRestMode, AtRestState, AtRestStatus,
47    AtRestStatusPresent, DEK_KEY_PREFIX, KEYRING_DB, KEYRING_FORMAT_VERSION, KEYRING_META_KEY,
48    KeyringMeta, RK_CHECK_INFO, RK_CHECK_KEY, RK_CHECK_PLAINTEXT, generated_key_path,
49};
50pub use attestation::{
51    ATTESTATION_DOMAIN, ATTESTATION_KEY_ENV, ATTESTATIONS_DB, AttestationReport, RecordAttestation,
52    anchor_leaf_input, attestation_key, attestation_payload, attestation_prefix, merkle_root_hex,
53    sha256_hex, sign_attestation, verify_attestation,
54};
55pub use cold_storage::{
56    ColdQuery, ColdRecord, ColdRecordSummary, CompressionCodec, OuterRimFactors, PhagicConfig,
57    PhagicDigestReport, PhagicDigester, calculate_outer_rim_distance, compress_memory,
58    decompress_memory,
59};
60pub use consistency::{
61    CoherenceReceipt, CoherenceSnapshot, ConflictReport, ConsistencyError, CrossMemoryConsistency,
62    CrossMemoryConsistencyManager, Resolution, VectorClock, WriteOp,
63};
64pub use conversational::{
65    ConversationalConfig, ConversationalResult, ConversationalSearch, QueryClassification,
66    SearchMetrics,
67};
68pub use credentials::{
69    ADVICE as CREDENTIAL_ADVICE, credential_shaped_content, redact_credential_content,
70};
71#[cfg(feature = "onnx")]
72pub use embedder::OrtEmbedder;
73pub use embedder::{Embedder, EmbedderConfig, HttpEmbedder, StubEmbedder, create_embedder};
74pub use enrichment::VocabularyEnrichment;
75pub use episodic::{EpisodicSearchResult, EpisodicStore};
76pub use episodic_keys::{
77    AdaptiveAliases, EpisodicKey, KeyCategory, entity_key_terms, extract_episodic_keys,
78    key_index_terms, key_index_terms_with_aliases,
79};
80pub use galaxy_registry::{GalaxyMetadata, GalaxyRegistry};
81pub use lifecycle::{ConsolidationResult, ForgettingResult, Lifecycle, LifecycleConfig};
82pub use mandala::{Compartment, CompartmentConfig, MandalaLevel, MandalaManager};
83pub use memory::{
84    Memory, MemoryId, MemoryMetadata, MemoryType, Tier, content_hash, decode_embedding,
85    encode_embedding, trust_weighted_score,
86};
87pub use predictive_cache::{CacheStats, PredictiveCache};
88pub use query_planner::{QueryClass, QueryPlan};
89pub use recall::{RecallConfig, RecallEngine, RecallResult};
90pub use recovery::{
91    GalaxyIntegrity, IntegrityReport, QuarantineEntry, RecoveryStrategy, RepairReport,
92    check_integrity, grow_map_size, open_with_recovery, repair,
93};
94pub use reindex::{
95    ConsistencyReport, ContentRepairReport, DriftClassification, GalaxyConsistency,
96    GalaxyContentRepairStats, GalaxyDriftClass, GalaxyRebuildStats, IndexRebuildReport,
97    check_consistency, classify_drift, heal_index_drift, rebuild_index, repair_content,
98};
99pub use release_manifest::{
100    KEY_LINEAGE_MESH_ERA, RELEASE_MANIFEST_DOMAIN, ReleaseArtifact, ReleaseManifest,
101    release_payload, sign_release, verify_release,
102};
103pub use revision::{MemoryRevision, RevisionActor, RevisionChainReport};
104pub use search::{
105    IndexHealth, MAX_INDEX_CONTENT_LEN, MIN_PRINTABLE_RATIO, STOPWORDS, SearchEngine,
106    SearchOptions, SearchResult, sanitize_content_for_index, sanitize_tantivy_query, scrub_text,
107    strip_stopwords,
108};
109pub use semantic::{SemanticEncoder, SemanticScores};
110pub use store::MemoryQuery;
111pub use store::MemoryStore;
112pub use validator::{MemoryValidator, ValidationVerdict, ValidatorConfig, detect_injection};
113pub use vector::{VectorSearchEngine, VectorSearchResult, VectorStore};
114
115#[cfg(feature = "lancedb")]
116pub mod lance_vector;
117#[cfg(feature = "lancedb")]
118pub use lance_vector::LanceVectorStore;