[package]
name = "a8e-acp"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description.workspace = true

[[bin]]
name = "a8e-acp-server"
path = "src/bin/server.rs"

[lints]
workspace = true

[dependencies]
a8e-core = { path = "../a8e-core", version = "0.1.9" }
a8e-mcp = { path = "../a8e-mcp", version = "0.1.9" }
rmcp = { workspace = true }
sacp = "10.1.0"
agent-client-protocol-schema = { version = "0.10", features = ["unstable_session_model"] }
anyhow = { workspace = true }
tokio = { workspace = true }
tokio-util = { workspace = true, features = ["compat", "rt"] }
tracing = { workspace = true }
serde_json = { workspace = true }
futures = { workspace = true }
regex = { workspace = true }
fs-err = "3"
url = { workspace = true }

# HTTP server dependencies
axum = { workspace = true, features = ["ws"] }
clap = { workspace = true }
serde = { workspace = true }
tower-http = { workspace = true, features = ["cors"] }
tracing-subscriber = { workspace = true, features = ["env-filter", "json"] }
async-stream = { workspace = true }
bytes = { workspace = true }
http-body-util = "0.1.3"
uuid = { workspace = true, features = ["v7"] }

[dev-dependencies]
assert-json-diff = "2.0.2"
async-trait = { workspace = true }
a8e-test-support = { path = "../a8e-test-support", version = "0.1.9" }
wiremock = { workspace = true }
tempfile = { workspace = true }
test-case = { workspace = true }
axum = { workspace = true }
rmcp = { workspace = true, features = ["transport-streamable-http-server"] }
