1#![deny(missing_docs)]
2pub const A2A_PROTOCOL_VERSION: &str = "0.3";
18
19pub mod agent_card;
22pub mod convert;
24pub mod error;
26pub mod jsonrpc;
28pub mod params;
30pub mod proto;
32pub mod push_notification;
34pub mod streaming;
36pub mod task;
38pub mod types;
40
41#[cfg(feature = "client")]
44pub mod client;
45
46#[cfg(feature = "server")]
49pub mod server;
50
51pub use agent_card::{
53 AgentCapabilities, AgentCard, AgentCardSignature, AgentExtension, AgentInterface,
54 AgentProvider, AgentSkill, ApiKeySecurityScheme, AuthorizationCodeOAuthFlow,
55 ClientCredentialsOAuthFlow, DeviceCodeOAuthFlow, HttpAuthSecurityScheme, ImplicitOAuthFlow,
56 MutualTlsSecurityScheme, OAuth2SecurityScheme, OAuthFlows, OpenIdConnectSecurityScheme,
57 PasswordOAuthFlow, SecurityRequirement, SecurityScheme,
58};
59pub use error::A2aError;
60pub use jsonrpc::{JsonRpcRequest, JsonRpcResponse, RequestId};
61pub use params::*;
62pub use push_notification::{AuthenticationInfo, TaskPushNotificationConfig};
63pub use streaming::{
64 SendMessageResponse, StreamResponse, TaskArtifactUpdateEvent, TaskStatusUpdateEvent,
65};
66pub use task::{Task, TaskState, TaskStatus};
67pub use types::{Artifact, Message, Part, Role};
68
69#[cfg(feature = "client")]
70pub use client::{A2aClient, Transport};
71
72#[cfg(feature = "server")]
73pub use server::{A2aHandler, A2aServer};