1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
//! SQLite-backed [`MemoryProvider`] — one concrete persistence backend for the
//! `cel-memory` crate.
//!
//! This crate implements the [`MemoryProvider`] contract on top of a single
//! local SQLite file (plus `sqlite-vec` for vector search and FTS5 for lexical
//! search). It owns persistence behavior only — schema, migrations, embeddings,
//! hybrid retrieval, caching — and depends on `cel-memory` for the trait and
//! value types. It does not depend on any prompt builder, planner, or runtime.
//!
//! What it delivers:
//!
//! - Schema migrations for every memory table (`memory_chunks`, `memory_vec`,
//! `memory_fts`, `memory_sessions`, `memory_summary_members`,
//! `memory_access_log`, `memory_eviction_log`).
//! - `sqlite-vec` extension loaded into the connection at open time so the
//! `memory_vec` virtual table is available.
//! - [`Embedder`] trait + [`MockEmbedder`] (always available) and
//! `FastEmbedEmbedder` (gated behind the `fastembed` feature) for the
//! real `bge-small-en-v1.5` model.
//! - [`SqliteMemoryProvider`] implementing the full [`MemoryProvider`] surface:
//! writes, hybrid (vector + FTS + recency) retrieval with a TTL+LRU cache,
//! sessions, summarization and rollups (via an injected
//! [`cel_memory::Summarizer`]), aging sweeps, export, and stats. The only
//! method still returning `Err(NotImplemented)` is `re_embed_all`.
//!
//! [`MemoryProvider`]: cel_memory::MemoryProvider
pub
pub use ;
pub use SqliteMemoryError;
pub use SqliteMemoryProvider;
pub use FastEmbedEmbedder;