type-bridge-server 2.2.2

Query-intercepting proxy server for TypeDB with validation and audit logging
Documentation
[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"

# Optional: Axum HTTP transport
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