[package]
name = "mentedb-server"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description = "MenteDB server with REST API, WebSocket, auth, and observability"
readme = "../../README.md"
keywords = ["database", "server", "api", "ai", "agent"]
categories = ["database-implementations", "web-programming::http-server"]

[dependencies]
mentedb = { workspace = true }
mentedb-core = { workspace = true }
mentedb-cognitive = { workspace = true }
mentedb-extraction = { workspace = true }
mentedb-embedding = { workspace = true }
tokio = { workspace = true }
tokio-stream = { version = "0.1", features = ["net"] }
serde = { workspace = true }
serde_json = { workspace = true }
uuid = { workspace = true }
tracing = { workspace = true }
tracing-subscriber = { workspace = true, features = ["env-filter"] }
anyhow = { workspace = true }
bytes = { workspace = true }
axum = { version = "0.8", features = ["ws"] }
tower = "0.5"
tower-http = { version = "0.6", features = ["cors", "trace", "compression-gzip"] }
http-body-util = "0.1"
jsonwebtoken = { version = "10", features = ["rust_crypto"] }
tonic = "0.13"
prost = "0.13"

[features]
default = []
# Bundle the local Candle embedding model (all-MiniLM-L6-v2) so the server has
# zero-config semantic search. Enabled in release/Docker builds.
local-embeddings = ["mentedb-embedding/local"]

[build-dependencies]
tonic-build = "0.13"

[dev-dependencies]
tower = { version = "0.5", features = ["util"] }
hyper = "1"
http-body-util = "0.1"
tempfile = { workspace = true }
serde_json = { workspace = true }
tokio = { workspace = true }
mentedb-extraction = { workspace = true }

[package.metadata.docs.rs]
all-features = true
