[package]
name = "a2a_protocol_core"
version.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
description = "Pure A2A (Agent-to-Agent) protocol domain logic - WASM optimized"
[lib]
crate-type = ["rlib"]
[dependencies]
protocol_transport_core = { workspace = true }
serde = { workspace = true }
serde_json = { workspace = true }
uuid = { workspace = true, features = ["v4"] }
thiserror = { workspace = true }
anyhow = { workspace = true }
log = { version = "0.4" }
chrono = { workspace = true, optional = true }
[dev-dependencies]
proptest = "1.4"
insta = "1.34"
tokio = { version = "1.0", features = ["macros", "rt"] }
[features]
default = ["protocol-core"]
protocol-core = []
event-stream = ["protocol-core"]
file-handling = ["protocol-core"]
time-stamps = ["chrono"]
all-features = ["event-stream", "file-handling", "time-stamps"]
spec-compliant = ["protocol-core", "event-stream"]
wasm-optimized = ["protocol-core"]
core = ["protocol-core"]
streaming = ["event-stream"]
timestamps = ["time-stamps"]
push-notifications = ["protocol-core"]
extended-discovery = ["protocol-core"]