[package]
name = "kebab-store-sqlite"
version       = { workspace = true }
edition       = { workspace = true }
rust-version  = { workspace = true }
license       = { workspace = true }
repository    = { workspace = true }
description   = "SQLite-backed DocumentStore + JobRepo for kb (§5 DDL, §7.2 traits)"

[dependencies]
kebab-core = { path = "../kebab-core" }
kebab-config = { path = "../kebab-config" }
# `bundled` ships SQLite source + builds in-tree (no system libsqlite3).
# Explicitly NOT `bundled-sqlcipher` per task allowed-deps list.
rusqlite     = { version = "0.32", features = ["bundled"] }
refinery     = { version = "0.8", features = ["rusqlite"] }
# Used by `filter_chunks` for the optional `path_glob` post-filter.
# The SQL prefilter handles tags / lang / trust / committed-status; the
# Rust-side glob keeps the SQL surface small (no LIKE-vs-glob impedance
# mismatch) and matches the pattern kb-search/src/lexical.rs uses.
globset      = { workspace = true }
serde_json   = { workspace = true }
time         = { workspace = true }
blake3       = { workspace = true }
tracing      = { workspace = true }
anyhow       = { workspace = true }
thiserror    = { workspace = true }

[dev-dependencies]
tempfile        = "3"
serde_json      = { workspace = true }
# kb-parse-md / kb-chunk are dev-only — used to build a CanonicalDocument +
# Vec<Chunk> from a fixture in the contract round-trip test. kb-parse-md
# absorbed kb-normalize in v0.19.0 (HOTFIXES.md 2026-05-26). Forbidden as
# regular deps per design §8 (store consumes domain types from kb-core only);
# `cargo tree -p kb-store-sqlite --depth 1` (default scope, excludes
# dev-deps) confirms this.
kebab-parse-md = { path = "../kebab-parse-md" }
kebab-chunk = { path = "../kebab-chunk" }

[lints]
workspace = true
