#![allow(dead_code)]
pub mod backup;
pub mod config;
pub mod document;
pub mod embedder;
pub mod embedder_registry;
pub mod hnsw_id;
pub mod init;
pub mod llm;
pub mod key_material;
pub mod lockfile;
pub mod merge_candidates;
pub mod migration;
pub mod path_validation;
pub mod reader;
pub mod recovery;
pub mod snapshot;
pub mod startup;
pub mod vector_index;
pub mod writer;
#[cfg(test)]
mod properties;
#[cfg(any(test, feature = "test-support"))]
pub mod test_support;
pub use backup::{
DEFAULT_BACKUP_PAGES_PER_STEP, backup_database, backup_from_connection,
paths_refer_to_same_file,
};
pub use config::{DocumentConfig, EmbedderConfig, IdentityConfig, SoloConfig};
pub use document::{ChunkConfig, ChunkSpec, ParseError, ParsedDocument, chunk_text, parse_file};
pub use embedder::{
OllamaEmbedder, StubEmbedder, build_embedder_from_env, probe_embedder_config_from_env,
};
pub use embedder_registry::{EmbedderIdentity, get_or_insert_embedder_id};
pub use hnsw_id::{HNSW_CHUNK_BIT, HnswIdKind, chunk_hnsw_id, decode_hnsw_id, episode_hnsw_id};
pub use init::{InitOutcome, InitParams, default_data_dir, default_embedder, init, open_sqlcipher};
pub use key_material::KeyMaterial;
pub use lockfile::Lockfile;
pub use merge_candidates::{MergeCandidateStats, count_existing_merge_candidates};
pub use migration::{current_version, run_migrations};
pub use path_validation::validate_data_dir;
pub use reader::{DEFAULT_POOL_SIZE, ReaderPool};
pub use recovery::{
DriftReport, RebuildReport, ReplayReport, detect_drift, rebuild_hnsw_from_sql,
replay_pending_index,
};
pub use snapshot::{BAK_BASENAME, LIVE_BASENAME, TMP_BASENAME};
pub use startup::{StartupOutcome, StartupParams, run as startup_run};
pub use vector_index::{HnswFactory, HnswIndex, HnswParams};
pub use writer::{
DEFAULT_CHANNEL_CAPACITY, ConsolidationReport, ConsolidationScope, ForgetDocumentReport,
IngestReport, NormalizeReport, ReembedReport, ReembedScope, WriteCommand, WriteHandle,
WriterActor, WriterSpawn,
};