#![recursion_limit = "256"]
pub mod auth;
pub mod bridge;
pub mod card;
pub mod client;
pub mod events;
pub mod http;
pub mod push;
pub mod server;
pub mod signing;
pub mod store;
pub mod types;
pub use auth::{ApiKeyHeaderAuth, AuthError, AuthValidator, BearerKeyAuth, NoAuth};
pub use bridge::{
a2a_state_for, a2ui_envelopes_from_artifact, action_results_to_artifacts, message_to_proposal,
short_id, ProposalBuildError,
};
pub use card::{build_default_agent_card, AgentCardConfig};
pub use client::{A2aClient, ClientAuth, ClientError};
pub use events::{EventBus, StreamEvent, TaskArtifactUpdateEvent, TaskStatusUpdateEvent};
pub use http::{build_router, build_router_with_auth, serve, serve_with_auth};
pub use push::PushDispatcher;
pub use server::{A2aDispatcher, A2aRpcError, AgentCardSource};
pub use signing::{sign_agent_card, verify_agent_card, CardSigner, SigningError};
pub use store::{AbortRegistry, InMemoryTaskStore, TaskRecord, TaskStore};
pub use types::{
AgentCapabilities, AgentCard, AgentInterface, AgentProvider, AgentSkill, Artifact, FilePart,
GetTaskParams, ListTasksParams, ListTasksResult, Message, MessageRole, Part,
PushNotificationConfig, PushNotificationConfigParams, SecurityRequirement, SecurityScheme,
SendMessageParams, SendMessageResult, StringList, Task, TaskState, TextPart, TransportProtocol,
};