cel-memory-sqlite 0.0.0

SQLite + sqlite-vec implementation of cel-memory's MemoryProvider trait. Local-first, single-file storage with optional FastEmbed-powered embeddings.
Documentation
[package]
name = "cel-memory-sqlite"
version = "0.0.0"
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "SQLite + sqlite-vec implementation of cel-memory's MemoryProvider trait. Local-first, single-file storage with optional FastEmbed-powered embeddings."
keywords = ["ai", "memory", "sqlite", "vector-search", "embedding"]
categories = ["asynchronous", "database"]
readme = "README.md"

[dependencies]
async-trait.workspace = true
cel-memory = { path = "../cel-memory", version = "0.0.0" }
chrono = { workspace = true, features = ["serde"] }
rusqlite = { workspace = true, features = ["functions"] }
serde_json.workspace = true
sqlite-vec = "0.1"
thiserror.workspace = true
tokio = { workspace = true }
tracing.workspace = true
uuid = { workspace = true, features = ["v7", "serde"] }
zerocopy = "0.7"

# fastembed pulls in onnxruntime + tokenizers; gated behind a feature so
# downstream crates can opt in only when they need real embeddings (model
# download is ~130 MB). The MockEmbedder is always available.
fastembed = { version = "4", optional = true }

[features]
default = []
fastembed = ["dep:fastembed"]

[dev-dependencies]
chrono = { workspace = true, features = ["serde"] }
tempfile = "3"
tokio = { workspace = true, features = ["macros", "rt", "rt-multi-thread"] }
# NOTE: cel-act-gateway and cellar-types intentionally NOT dev-deps here.
# Daemon-level integration tests (rule + gateway + sqlite provider) live in
# cel-cortex-daemon/tests/scenario_4_sqlite.rs, where those deps are first-class.
# See ~/.claude/plans/cellar-oss-extraction-prep.md §D2 for the rationale.