2 unstable releases

Uses new Rust 2024

new 0.3.0 May 12, 2026
0.2.4 Apr 14, 2026

#2053 in Network programming

Download history 73/week @ 2026-04-15 65/week @ 2026-04-22 87/week @ 2026-04-29 1056/week @ 2026-05-06

1,281 downloads per month
Used in 8 crates

Apache-2.0

115KB
2.5K SLoC

a2a-lf

Core Rust types for the A2A v1 protocol.

This crate is published as a2a-lf and imported in Rust as a2a.

What It Provides

  • A2A wire-compatible message, task, artifact, and event types
  • JSON-RPC request and response models
  • Protocol error types and helpers
  • Serde implementations aligned with the A2A protocol shape

Install

[dependencies]
a2a = { package = "a2a-lf", version = "0.2" }

Example

use a2a::{Message, Part, Role};

let message = Message::new(Role::User, vec![Part::text("hello")]);
assert_eq!(message.text(), Some("hello"));

Workspace

This crate is part of the a2a-rs workspace.

Dependencies

~1.7–3MB
~53K SLoC