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