[package]
name = "nanocodex-service"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
publish.workspace = true
authors.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
readme.workspace = true
keywords.workspace = true
categories.workspace = true
description = "Tower services and persistent Responses WebSocket transport for Nanocodex"

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["-D", "warnings"]

[dependencies]
http.workspace = true
nanocodex-core.workspace = true
serde.workspace = true
serde_json.workspace = true
smallvec.workspace = true
thiserror.workspace = true
tokio = { workspace = true, features = ["sync"] }
tower.workspace = true
tracing.workspace = true
web-time.workspace = true

[target.'cfg(not(target_family = "wasm"))'.dependencies]
base64.workspace = true
futures-util.workspace = true
rustls.workspace = true
tokio = { workspace = true, features = ["macros", "net", "rt", "sync", "time"] }
tokio-tungstenite.workspace = true

[target.'cfg(all(target_family = "wasm", target_os = "unknown"))'.dependencies]
js-sys.workspace = true
wasm-bindgen.workspace = true
wasm-bindgen-futures.workspace = true

[dev-dependencies]
criterion.workspace = true
eyre.workspace = true
simd-json.workspace = true
smallvec.workspace = true
sonic-rs.workspace = true
tokio = { workspace = true, features = ["rt-multi-thread"] }

[[bench]]
name = "tower_responses"
harness = false

[lints]
workspace = true
