Skip to main content

zeph_memory/
lib.rs

1// SPDX-FileCopyrightText: 2026 Andrei G <bug-ops>
2// SPDX-License-Identifier: MIT OR Apache-2.0
3
4//! SQLite-backed conversation persistence with Qdrant vector search.
5
6pub mod compression_guidelines;
7pub mod document;
8
9pub mod embedding_registry;
10pub mod embedding_store;
11pub mod error;
12pub mod eviction;
13pub mod graph;
14pub mod in_memory_store;
15pub mod math;
16pub mod qdrant_ops;
17pub mod response_cache;
18pub mod router;
19pub mod semantic;
20pub mod snapshot;
21pub mod sqlite;
22pub mod sqlite_vector_store;
23pub mod testing;
24pub mod token_counter;
25pub mod types;
26pub mod vector_store;
27
28pub use compression_guidelines::CompressionGuidelinesConfig;
29#[cfg(feature = "compression-guidelines")]
30pub use compression_guidelines::{
31    build_guidelines_update_prompt, sanitize_guidelines, start_guidelines_updater,
32    truncate_to_token_budget, update_guidelines_once,
33};
34#[cfg(feature = "pdf")]
35pub use document::PdfLoader;
36pub use document::{
37    Chunk, Document, DocumentError, DocumentLoader, DocumentMetadata, IngestionPipeline,
38    SplitterConfig, TextLoader, TextSplitter,
39};
40pub use embedding_registry::{
41    EmbedFuture, Embeddable, EmbeddingRegistry, EmbeddingRegistryError, SyncStats,
42};
43pub use embedding_store::ensure_qdrant_collection;
44pub use error::MemoryError;
45pub use eviction::{EbbinghausPolicy, EvictionConfig, EvictionPolicy, start_eviction_loop};
46pub use graph::{Community, Edge, Entity, EntityType, GraphFact, GraphStore};
47pub use math::cosine_similarity;
48pub use qdrant_ops::QdrantOps;
49pub use response_cache::ResponseCache;
50pub use router::{
51    HeuristicRouter, MemoryRoute, MemoryRouter, TemporalRange, strip_temporal_keywords,
52};
53pub use semantic::{
54    ExtractionResult, ExtractionStats, GraphExtractionConfig, LinkingStats, NoteLinkingConfig,
55    extract_and_store, link_memory_notes,
56};
57pub use snapshot::{ImportStats, MemorySnapshot, export_snapshot, import_snapshot};
58#[cfg(feature = "compression-guidelines")]
59pub use sqlite::compression_guidelines::CompressionFailurePair;
60pub use sqlite::corrections::UserCorrectionRow;
61#[cfg(feature = "experiments")]
62pub use sqlite::experiments::{ExperimentResultRow, NewExperimentResult, SessionSummaryRow};
63pub use token_counter::TokenCounter;
64pub use tokio_util::sync::CancellationToken;
65pub use types::{ConversationId, MessageId};
66pub use vector_store::{
67    FieldCondition, FieldValue, ScoredVectorPoint, VectorFilter, VectorPoint, VectorStore,
68    VectorStoreError,
69};