[package] name = "headquarters-api" version.workspace = true edition.workspace = true publish.workspace = true # src/bin/dev_session.rs makes this package build two binaries; without this, # plain `cargo run -p headquarters-api` (every existing script, and this # repo's own docs) turns ambiguous and refuses to run either one. default-run = "headquarters-api" # Alongside the main.rs binary: a lib target so a dev-only tool under # src/bin/ (dev_session.rs today) can reuse the real Db and SessionSigner # instead of reimplementing them. main.rs does not use this crate - it keeps # its own private `mod` declarations exactly as before, so the production # binary's compilation is unchanged. [lib] name = "headquarters_api" path = "src/lib.rs" [dependencies] # The scenario reader, for the daily challenges compiled into this binary. headquarters-mms = { path = "../../crates/mms" } # ws: the lobby's live-scenario channel (matches::lobby), axum's native # WebSocketUpgrade. Not needed by the match proxy - proxy.rs splices bytes # past an existing upgrade rather than terminating one. axum = { workspace = true, features = ["ws"] } tokio.workspace = true tracing.workspace = true tracing-subscriber.workspace = true atrium-oauth.workspace = true atrium-identity.workspace = true atrium-api.workspace = true atrium-common.workspace = true atrium-xrpc.workspace = true jose-jwk.workspace = true reqwest.workspace = true rusqlite.workspace = true tower-http.workspace = true axum-extra.workspace = true cookie.workspace = true png.workspace = true jpeg-decoder.workspace = true ab_glyph.workspace = true hmac.workspace = true sha2.workspace = true base64.workspace = true rand.workspace = true serde.workspace = true serde_json.workspace = true aws-config.workspace = true aws-sdk-s3.workspace = true aws-sdk-ecs.workspace = true uuid.workspace = true hyper.workspace = true hyper-util.workspace = true http-body-util.workspace = true [dev-dependencies] tower.workspace = true tempfile.workspace = true http-body-util.workspace = true # A real WebSocket client, to drive the lobby live-sync test against a real # bound port - the tower::ServiceExt::oneshot style the rest of this crate's # route tests use has no upgrade to hand back. Version matched to the one # axum's own "ws" feature pulls in, so the workspace does not carry two. tokio-tungstenite = "0.29" futures-util = "0.3"