a2a-protocol-server 0.2.0

A2A protocol v1.0 — server framework (hyper-backed)
Documentation
# SPDX-License-Identifier: Apache-2.0
# Copyright 2026 Tom F.

[package]
name        = "a2a-protocol-server"
version     = "0.2.0"
description = "A2A protocol v1.0 — server framework (hyper-backed)"
readme      = "../../README.md"

edition.workspace      = true
rust-version.workspace = true
license.workspace      = true
authors.workspace      = true
repository.workspace   = true
homepage.workspace     = true
documentation          = "https://docs.rs/a2a-protocol-server"
keywords               = ["a2a", "agent", "server", "http"]
categories             = ["network-programming", "web-programming"]

[features]
## Enable agent card signing (JWS, RFC 8785 canonicalization).
signing = ["a2a-protocol-types/signing"]
## Enable structured logging via the `tracing` crate (zero cost when disabled).
tracing = ["dep:tracing"]

[dependencies]
a2a-protocol-types      = { version = "0.2.0", path = "../a2a-types" }
serde           = { workspace = true }
serde_json     = { workspace = true }
hyper          = { workspace = true }
http-body-util = { workspace = true }
hyper-util     = { workspace = true }
tokio          = { workspace = true }
uuid           = { workspace = true }
bytes          = "1"
tokio-util     = { version = ">=0.7, <0.8", features = ["rt"] }
tracing        = { workspace = true, optional = true }

[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]

[dev-dependencies]
tokio = { workspace = true, features = ["macros", "rt-multi-thread", "net", "time"] }
hyper = { workspace = true }
hyper-util = { workspace = true, features = ["server", "server-auto"] }
http-body-util = { workspace = true }
bytes = "1"
serde_json = { workspace = true }
a2a-protocol-types = { version = "0.2.0", path = "../a2a-types" }
criterion = { workspace = true }

[[bench]]
name = "handler_bench"
harness = false