nedb-engine 4.3.2

NEDB v2 — content-addressed DAG storage engine with NQL and HTTP server (nedbd binary)
Documentation
[package]
name        = "nedb-engine"
version     = "4.3.2"
edition     = "2021"
description = "NEDB v2 — content-addressed DAG storage engine with NQL and HTTP server (nedbd binary)"
license     = "BUSL-1.1"
repository  = "https://github.com/aiassistsecure/nedb"
homepage    = "https://github.com/aiassistsecure/nedb"
documentation = "https://docs.rs/nedb-engine"
keywords    = ["database", "dag", "embedded", "time-travel", "graph"]
categories  = ["database-implementations", "web-programming::http-server"]
readme      = "README.md"
exclude     = ["../../python/**", "../../dist/**", "../../tests/**"]

[[bin]]
name = "nedbd"
path = "src/main.rs"

[[bin]]
name = "nedb-cli"
path = "src/bin/nedb-cli.rs"

[lib]
name = "nedb_engine"
path = "src/lib.rs"

[features]
default = []
# Natural-language query planning via nedb-cast-slm. OFF by default: it pulls a
# 3.34M-param model and expects a model.cast container at runtime, and most
# deployments do not want either. Enable with --features cast, then start the
# daemon with --cast (or NEDBD_CAST=1).
cast = ["dep:nedb-cast-slm"]

[dependencies]
# Natural-language planning (optional, feature = "cast").
# nedb-cast-slm has an EMPTY dependency tree by design, so enabling this adds
# exactly one crate and no transitive surface.
nedb-cast-slm = { version = "10.30", optional = true }

# Storage
serde        = { version = "1", features = ["derive"] }
serde_json   = { version = "1", features = ["preserve_order"] }
blake2       = "0.10"
aes-gcm      = "0.10"
sha2         = "0.10"
hex          = "0.4"

# Concurrency
rayon        = "1"
dashmap      = "5"
parking_lot  = "0.12"

# HTTP server
axum         = { version = "0.7", features = ["json", "query"] }
tokio        = { version = "1",   features = ["full"] }
tokio-stream = { version = "0.1", features = ["sync"] }
tower-http   = { version = "0.5", features = ["cors"] }

# SSE log streaming
futures-core = "0.3"

# Error handling
thiserror    = "1"
anyhow       = "1"

# Data-dir advisory lock (split-brain guard in Db::open) — flock(2) on unix,
# LockFileEx on Windows, one cross-platform call.
fs2          = "0.4"

# Fast-fsync on macOS: std's File::sync_all/sync_data map to F_FULLFSYNC there
# (full hardware cache flush, 10-100x slower than plain fsync). NEDB_FAST_FSYNC
# uses libc::fsync(2) instead. Unix-only dep; not pulled on Windows.
[target.'cfg(unix)'.dependencies]
libc         = "0.2"

[dev-dependencies]
tempfile     = "3"
serde_json   = "1"   # integration tests (tests/) need it to build Value payloads