[package]
name        = "nedb-engine"
version     = "2.4.3"
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"
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"

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

[dependencies]
# Storage
serde        = { version = "1", features = ["derive"] }
serde_json   = "1"
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"

# 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
