[workspace] members = [ "crates/relay", "crates/repo-engine", "crates/crypto", "crates/common", "apps/identity-wallet/src-tauri", ] resolver = "2" [workspace.package] version = "0.1.0" edition = "2021" publish = false # Declare shared dependency versions here. # Individual crates opt in with `{ workspace = true }`. [workspace.dependencies] # Async runtime tokio = { version = "1", features = ["full"] } # Web framework (relay) axum = "0.7" # HTTP client (relay) reqwest = { version = "0.12", features = ["json"] } # Database sqlx = { version = "0.8", features = ["runtime-tokio", "sqlite"] } # Serialization serde = { version = "1", features = ["derive"] } serde_json = "1" toml = "0.8" # CLI argument parsing (relay) clap = { version = "4", features = ["derive", "env"] } # Error handling anyhow = "1" thiserror = "2" # Observability tracing = "0.1" tracing-subscriber = { version = "0.3", features = ["env-filter"] } tracing-opentelemetry = "0.29" opentelemetry = { version = "0.28", features = ["trace"] } opentelemetry-otlp = { version = "0.28", features = ["trace", "grpc-tonic"] } opentelemetry_sdk = { version = "0.28", features = ["rt-tokio", "trace"] } # HTTP middleware tower-http = { version = "0.5", features = ["trace", "cors"] } tower = { version = "0.5", features = ["util"] } # ATProto (repo-engine) # atrium-api = "0.22" # atrium-repo = "0.1" # Crypto (crypto) # rsky-crypto = "0.2" p256 = { version = "0.13", features = ["ecdsa"] } aes-gcm = "0.10" multibase = "0.9" rand_core = { version = "0.6", features = ["getrandom"] } base64 = "0.21" ciborium = "0.2" data-encoding = "2" sha2 = "0.10" zeroize = "1" subtle = "2" uuid = { version = "1", features = ["v4"] } # ATProto handle resolution — DNS TXT fallback (relay) hickory-resolver = { version = "0.25", features = ["tokio", "system-config"] } # Testing tempfile = "3" # Intra-workspace common = { path = "crates/common" } crypto = { path = "crates/crypto" } repo-engine = { path = "crates/repo-engine" }