[package]
name = "apm-server"
version.workspace = true
edition.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
keywords.workspace = true
description = "Web UI and agent dispatcher for APM, a git-native project manager for parallel AI coding agents."
categories = ["web-programming::http-server", "development-tools"]
readme = "../README.md"

[[bin]]
name = "apm-server"
path = "src/main.rs"

[dependencies]
axum = { workspace = true }
tokio = { workspace = true }
serde_json = { workspace = true }
serde = { workspace = true }
anyhow = { workspace = true }
toml = { workspace = true }
apm-core = { path = "../apm-core", version = "0.1.19" }
chrono = { workspace = true }
tower-http = { workspace = true, features = ["set-header"] }
include_dir = { workspace = true }
mime_guess = { workspace = true }
clap = { workspace = true }
tokio-stream = { version = "0.1", features = ["net"] }
tokio-util = { version = "0.7", features = ["compat"] }
rand = "0.8"
cookie = "0.18"
webauthn-rs = { version = "0.5", features = ["danger-allow-state-serialisation"] }
openssl = { version = "0.10", features = ["vendored"] }
uuid = { version = "1", features = ["v4", "v5"] }
tower = "0.5"
rustls-acme = { version = "0.15", features = ["tokio", "ring"] }
rcgen = "0.13"
tokio-rustls = "0.26"
rustls = { version = "0.23", default-features = false, features = ["ring", "std"] }
rustls-pemfile = "2"
hyper = { version = "1", features = ["http1", "http2", "server"] }
hyper-util = { version = "0.1", features = ["tokio", "server", "server-auto", "http1", "http2"] }

[dev-dependencies]
tower = { version = "0.5", features = ["util"] }
http-body-util = "0.1"
tempfile = "3"
