[workspace]
resolver = "2"
members = [
    "crates/apigateway-api",
    "crates/apigateway-server",
]

[workspace.package]
version = "0.1.0"
edition = "2021"
license = "MIT OR Apache-2.0"
rust-version = "1.75"
authors = ["PlasmaCloud Contributors"]
repository = "https://github.com/yourorg/plasmacloud"

[workspace.dependencies]
# Internal crates
apigateway-api = { path = "crates/apigateway-api" }
apigateway-server = { path = "crates/apigateway-server" }

# Async runtime
tokio = { version = "1.40", features = ["full"] }

# HTTP server
axum = "0.7"
reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "stream", "json"] }

# Serialization
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
toml = "0.8"

# gRPC
tonic = { version = "0.12", features = ["tls"] }
tonic-build = "0.12"
prost = "0.13"
prost-types = "0.13"
protoc-bin-vendored = "3.2"

# CLI
clap = { version = "4", features = ["derive", "env"] }

# Logging
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["env-filter"] }

# Utils
async-trait = "0.1"
uuid = { version = "1", features = ["v4"] }

[workspace.lints.rust]
unsafe_code = "deny"

[workspace.lints.clippy]
all = "warn"
