[package]
name = "cel-memory-sqlite"
version = "0.1.8"
edition = "2021"
license = "Apache-2.0"
authors = ["Dimitrios Pagkratis <dimitris@timberhub.com>"]
homepage = "https://github.com/dimpagk92/cel-memory-sqlite"
documentation = "https://docs.rs/cel-memory-sqlite"
repository = "https://github.com/dimpagk92/cel-memory-sqlite"
description = "SQLite-backed local memory for AI agents, implementing cel-memory with FTS and vector search."
keywords = ["ai", "memory", "sqlite", "vector-search", "embedding"]
categories = ["asynchronous", "database"]
readme = "README.md"

[dependencies]
async-trait = "0.1"
cel-memory = "0.1.8"
chrono = { version = "0.4", features = ["serde"] }
rusqlite = { version = "0.31", features = ["bundled", "functions"] }
serde_json = "1"
sqlite-vec = "0.1"
thiserror = "1"
tokio = { version = "1", features = ["full"] }
tracing = "0.1"
uuid = { version = "1", 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 = { version = "0.4", features = ["serde"] }
tempfile = "3"
tokio = { version = "1", features = ["macros", "rt", "rt-multi-thread"] }
# NOTE: runtime-only crates are intentionally not dev-deps here. Integration
# tests that need a full runtime should live downstream; keeping them out keeps
# this crate standalone-testable with only cel-memory + storage deps.
