Cargo.toml
Workspace dependencies, the lint that forbids unsafe, and the release profile. The comments are load-bearing: several of these pins exist because of a specific failure.
[workspace]
members = ["crates/*"]
resolver = "3"
[workspace.package]
edition = "2024"
license = "MIT"
publish = false
[workspace.dependencies]
check-runner = { path = "crates/check-runner" }
resume-core = { path = "crates/resume-core" }
run-store = { path = "crates/run-store" }
# `behavior-version-latest` is not optional: without a behaviour version the
# SDK panics at client construction rather than failing at compile time.
aws-config = { version = "1", features = ["behavior-version-latest"] }
aws-sdk-dynamodb = "1"
aws-sdk-sfn = "1"
axum = "0.8"
# For the Content Security Policy hashes only. Both are pure Rust with no
# system dependency, so `resume-core` stays WASM-capable, and both versions
# match what is already in the tree rather than pulling a second copy.
base64 = "0.22"
sha2 = "0.11"
# 1.x relaxed `run`'s error bound to any `E: Debug + Into<Diagnostic>`. The 0.5
# line required `Error = lambda_http::Error`, which an axum Router
# (Error = Infallible) cannot satisfy. Do not downgrade below 1.x.
lambda_http = "1.3"
lambda_runtime = "1.5"
maud = "0.27"
# rustls rather than native-tls: no system OpenSSL in the Lambda image, and
# one less thing that differs between local and deployed builds.
reqwest = { version = "0.12", default-features = false, features = [
"json",
"rustls-tls",
"charset",
"http2",
] }
schemars = "1"
serde = { version = "1", features = ["derive"] }
serde_json = "1"
thiserror = "2"
tokio = { version = "1", features = ["macros", "net", "rt", "rt-multi-thread"] }
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["json"] }
[workspace.lints.rust]
unsafe_code = "forbid"
[profile.release]
lto = true
codegen-units = 1
strip = true