lc_a2a/protocol/mod.rs
1//! A2A (Agent-to-Agent) protocol types.
2//!
3//! Defines the core data types for the A2A protocol, which enables
4//! inter-agent communication over JSON-RPC style messaging.
5//!
6//! # Core Types
7//!
8//! - **AgentCard**: Metadata describing an agent's identity and capabilities.
9//! - **A2ATask**: A unit of work sent between agents.
10//! - **A2AMessage**: A message within a task (role + content).
11//! - **TaskStatus**: Lifecycle states for a task.
12//! - **A2ARequest / A2AResponse**: JSON-RPC style request/response envelope.
13
14mod card;
15mod message;
16mod model;
17mod task;
18
19pub use card::{A2ATransport, AgentCard, AgentInterface, AgentSkill, A2A_VERSION_V101};
20pub use message::A2AMessage;
21pub use model::{
22 metadata_keys, A2AErrorData, A2ARequest, A2AResponse, A2ATaskDetails, A2ATaskResult,
23 A2AWorkflow, MessageEnvelope, TaskFilter, TaskPushNotification, TraceContext, WorkflowStep,
24};
25pub use task::{A2ATask, TaskStatus};
26
27#[cfg(test)]
28mod tests;