fathomdb-engine 0.4.1

Storage engine and write coordinator for the fathomdb agent datastore
Documentation
[package]
name = "fathomdb-engine"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
description = "Storage engine and write coordinator for the fathomdb agent datastore"

[lints]
workspace = true

[features]
sqlite-vec = ["dep:sqlite-vec", "fathomdb-schema/sqlite-vec"]
tracing = ["dep:tracing", "dep:tracing-subscriber", "fathomdb-schema/tracing", "fathomdb-query/tracing", "rusqlite/trace"]
default-embedder = [
    "dep:candle-core",
    "dep:candle-nn",
    "dep:candle-transformers",
    "dep:tokenizers",
    "dep:hf-hub",
    "dep:safetensors",
]

[dependencies]
fathomdb-query.workspace = true
fathomdb-schema.workspace = true
rusqlite.workspace = true
serde.workspace = true
serde_json.workspace = true
sha2.workspace = true
toml.workspace = true
sqlite-vec = { workspace = true, optional = true }
thiserror.workspace = true
tracing = { workspace = true, optional = true }
tracing-subscriber = { workspace = true, optional = true }
ulid.workspace = true
# Phase 12.5b: optional in-process embedder (BAAI/bge-small-en-v1.5 via Candle).
# All gated behind the `default-embedder` feature — off by default to keep
# the workspace build light for callers who supply their own embedder.
candle-core = { version = "0.10.2", optional = true }
candle-nn = { version = "0.10.2", optional = true }
candle-transformers = { version = "0.10.2", optional = true }
tokenizers = { version = "0.22.2", optional = true, default-features = false, features = ["onig"] }
hf-hub = { version = "0.5.0", optional = true, default-features = false, features = ["ureq", "rustls-tls"] }
safetensors = { version = "0.7.0", optional = true }

[target.'cfg(windows)'.dependencies]
windows-sys = { version = "0.59", features = [
    "Win32_Foundation",
    "Win32_Security",
    "Win32_Security_Authorization",
    "Win32_Storage_FileSystem",
    "Win32_System_SystemServices",
] }

[dev-dependencies]
tempfile.workspace = true
tracing.workspace = true
tracing-subscriber.workspace = true