kindling_store/lib.rs
1//! SQLite persistence layer for kindling.
2//!
3//! Implements the cross-language schema contract from `schema/schema.sql`
4//! against `rusqlite` with bundled SQLite + FTS5. WAL mode enabled,
5//! per-project DB isolation under `~/.kindling/projects/<hash>/`.
6//!
7//! The public surface mirrors `SqliteKindlingStore` in
8//! `packages/kindling-store-sqlite` — a database written by either
9//! implementation is readable by the other.
10
11mod db;
12mod error;
13mod paths;
14mod schema;
15mod store;
16
17pub use db::{open_database, open_in_memory, StoreOptions};
18pub use error::{StoreError, StoreResult};
19pub use paths::{default_kindling_home, project_db_path, project_id, resolve_db_path};
20pub use schema::{schema_version, SchemaVersion, SCHEMA_SQL};
21pub use store::{DatabaseStats, EvidenceSnippet, SqliteKindlingStore, DEFAULT_SNIPPET_MAX_CHARS};