#![deny(missing_docs)]
pub const A2A_PROTOCOL_VERSION: &str = "0.3";
pub mod agent_card;
pub mod convert;
pub mod error;
pub mod jsonrpc;
pub mod params;
pub mod proto;
pub mod push_notification;
pub mod streaming;
pub mod task;
pub mod types;
#[cfg(feature = "client")]
pub mod client;
#[cfg(feature = "server")]
pub mod server;
pub use agent_card::{
AgentCapabilities, AgentCard, AgentCardSignature, AgentExtension, AgentInterface,
AgentProvider, AgentSkill, ApiKeySecurityScheme, AuthorizationCodeOAuthFlow,
ClientCredentialsOAuthFlow, DeviceCodeOAuthFlow, HttpAuthSecurityScheme, ImplicitOAuthFlow,
MutualTlsSecurityScheme, OAuth2SecurityScheme, OAuthFlows, OpenIdConnectSecurityScheme,
PasswordOAuthFlow, SecurityRequirement, SecurityScheme,
};
pub use error::A2aError;
pub use jsonrpc::{JsonRpcRequest, JsonRpcResponse, RequestId};
pub use params::*;
pub use push_notification::{AuthenticationInfo, TaskPushNotificationConfig};
pub use streaming::{
SendMessageResponse, StreamResponse, TaskArtifactUpdateEvent, TaskStatusUpdateEvent,
};
pub use task::{Task, TaskState, TaskStatus};
pub use types::{Artifact, Message, Part, Role};
#[cfg(feature = "client")]
pub use client::{A2aClient, Transport};
#[cfg(feature = "server")]
pub use server::{A2aHandler, A2aServer};