[package] name = "jouleclaw-a2a" version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true authors.workspace = true description = "Agent-to-Agent (A2A v1.0) protocol surface for JouleClaw. Typed AgentCard (signed JSON-LD describing an agent's capabilities + signature stripe), Task / TaskResult call surface, and capability negotiation. Reuses jouleclaw-attest::AgentIdentity (did:key), jouleclaw-attest-sig (Ed25519), and jouleclaw-hydra::ApiDocumentation (capability descriptions). Signed cards verify via the existing Verifier trait; transport (HTTP/.well-known/agent.json, gRPC, MCP) lives downstream — the trusted core stays deterministic. Closes the SOTA gap: JouleClaw can now publish + consume agents over the Linux-Foundation-backed open agent protocol." [dependencies] jouleclaw-attest = { path = "../jouleclaw-attest" } jouleclaw-attest-sig = { path = "../jouleclaw-attest-sig" } jouleclaw-hydra = { path = "../jouleclaw-hydra" } async-trait = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } thiserror = { workspace = true } blake3 = { workspace = true } [dev-dependencies] tokio = { workspace = true, features = ["macros", "rt"] }