Expand description
Ergonomic Rust types for the A2A Protocol v1.0.
This crate wraps the prost-generated proto types from turul_a2a_proto
with idiomatic Rust APIs, state machine enforcement on TaskState, and
builder helpers on Task, Message, and Artifact.
All public types are #[non_exhaustive] — additive changes will not break
downstream code.
§Primary entry points
Task,TaskStatus,TaskState— the core task object and its lifecycleMessage,Part,Role— conversational payloadsArtifact— outputs produced during task executionwire— JSON-RPC method constants and SSE event shapes
Raw proto access is available via proto for advanced use.
Re-exports§
pub use artifact::Artifact;pub use error::A2aTypeError;pub use message::Message;pub use message::Part;pub use message::Role;pub use push_config::PushAuth;pub use push_config::PushConfig;pub use push_config::PushConfigBuilder;pub use push_config::PushConfigPage;pub use task::Task;pub use task::TaskState;pub use task::TaskStatus;
Modules§
- artifact
- error
- message
- pbjson
- Conversions between
serde_jsonvalues andpbjson_types(protogoogle.protobuf.Value/google.protobuf.Struct). - proto
- Re-export proto types for advanced users.
- push_
config - Ergonomic wrapper for push notification configuration.
- state_
machine - task
- wire
- Centralized wire-format constants from the A2A v1.0 specification.