[package]
name = "type-bridge-server"
version = "2.2.2"
edition = "2024"
description = "Query-intercepting proxy server for TypeDB with validation and audit logging"
license.workspace = true
license-file.workspace = true
repository.workspace = true
authors.workspace = true
publish = ["crates-io"]
readme = "README.md"
documentation = "https://docs.rs/type-bridge-server/2.2.2"
rust-version = "1.88"
[lib]
name = "type_bridge_server"
path = "src/lib.rs"
[[bin]]
name = "type-bridge-server"
path = "src/main.rs"
required-features = ["typedb", "v2-query"]
[features]
default = ["band8", "band9", "v2-query"]
typedb = ["dep:type-bridge-typedb-runtime"]
band8 = [
"typedb",
"type-bridge-typedb-runtime/band8",
"type-bridge-orm?/band8",
]
band9 = [
"typedb",
"type-bridge-typedb-runtime/band9",
"type-bridge-orm?/band9",
]
axum-transport = [
"dep:axum",
"dep:tower-http",
"dep:axum-server",
]
v2-query = [
"axum-transport",
"dep:type-bridge-contract",
"dep:type-bridge-query",
"dep:type-bridge-orm",
"dep:type-bridge-schema",
"dep:type-bridge-schema-compat",
]
[dependencies]
type-bridge-core-lib = { path = "../core", version = "2.2.2" }
type-bridge-typedb-runtime = { path = "../typedb-runtime", version = "2.2.2", default-features = false, optional = true }
type-bridge-contract = { path = "../contract", version = "2.2.2", optional = true }
type-bridge-query = { path = "../query", version = "2.2.2", optional = true }
type-bridge-orm = { path = "../orm", version = "2.2.2", default-features = false, optional = true }
type-bridge-schema = { path = "../schema", version = "2.2.2", optional = true }
type-bridge-schema-compat = { path = "../schema-compat", version = "2.2.2", optional = true }
tokio = { version = "1", features = ["full"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
futures = "0.3"
toml = "0.8"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["json", "env-filter"] }
uuid = { version = "1", features = ["v4"] }
chrono = { version = "0.4", features = ["serde"] }
thiserror = "2"
clap = { version = "4", features = ["derive"] }
cap-fs-ext = "4.0"
cap-std = "4.0"
axum = { version = "0.8", optional = true }
axum-server = { version = "0.7", features = ["tls-rustls-no-provider"], optional = true }
tower-http = { version = "0.6", features = ["cors", "trace"], optional = true }
[target.'cfg(unix)'.dependencies]
rustix = { version = "1", features = ["fs"] }
[[example]]
name = "v2_smoke_server"
required-features = ["typedb", "v2-query"]
[[test]]
name = "http_integration_tests"
required-features = ["axum-transport"]
[[test]]
name = "runtime_config_documentation"
required-features = ["v2-query"]
[[test]]
name = "tls_transport_tests"
required-features = ["axum-transport"]
[[test]]
name = "v2_query_integration_tests"
required-features = ["typedb", "v2-query"]
[dev-dependencies]
tempfile = "3"
http-body-util = "0.1"
tower = { version = "0.5", features = ["util"] }
rcgen = "0.13"
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls"] }
[lints]
workspace = true