[package]
name = "brk_server"
description = "A server with an API for anything from BRK"
version.workspace = true
edition.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
exclude = ["examples/", "src/api/scalar.js"]

[features]
bindgen = ["dep:brk_bindgen"]

[dependencies]
aide = { workspace = true }
axum = { workspace = true }
brotli = "8"
flate2 = "1"
brk_bindgen = { workspace = true, optional = true }
brk_computer = { workspace = true }
brk_error = { workspace = true, features = ["jiff", "serde_json", "tokio", "vecdb"] }
brk_indexer = { workspace = true }
brk_logger = { workspace = true }
brk_query = { workspace = true }
brk_reader = { workspace = true }
brk_rpc = { workspace = true, features = ["corepc"] }
brk_types = { workspace = true }
brk_traversable = { workspace = true }
brk_website = { workspace = true }
derive_more = { workspace = true }
vecdb = { workspace = true }
zstd = "0.13"
jiff = { workspace = true }
quick_cache = "0.6.21"
rustc-hash = { workspace = true }
schemars = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
tokio = { workspace = true }
tracing = { workspace = true }
tower-http = { workspace = true }
tower-layer = { workspace = true }

[dev-dependencies]
brk_bindgen = { workspace = true }
brk_mempool = { workspace = true }
color-eyre = { workspace = true }

[[example]]
name = "bindgen"
required-features = ["bindgen"]
