#![warn(missing_docs)]
pub mod agent_adapter;
pub mod client;
pub mod discovery;
pub mod gateway;
pub mod protocol;
pub mod rate_limiter;
pub mod resilient;
pub mod router;
pub mod scale;
pub mod security;
pub mod server;
#[cfg(feature = "axum")]
pub mod server_impl;
pub mod store;
pub use agent_adapter::AgentExecutorChain;
pub use client::{A2AClient, A2AClientBuilder, A2AError};
pub use discovery::{AgentRegistry, RegistryClient, RegistryError};
pub use gateway::{CallPolicy, DataContract, FederationGateway, GatewayError};
pub use protocol::{
metadata_keys, A2AErrorData, A2AMessage, A2ARequest, A2AResponse, A2ATask, A2ATaskDetails,
A2ATaskResult, A2AWorkflow, AgentCard, AgentSkill, MessageEnvelope, TaskFilter,
TaskPushNotification, TaskStatus, TraceContext, WorkflowStep,
};
pub use rate_limiter::{RateLimitError, RateLimiter};
pub use resilient::{ResilienceConfig, ResilientA2AClient};
pub use router::{SkillMapRouter, SkillRouter};
pub use scale::{
AgentTier, BreakerState, CircuitBreaker, CircuitBreakerConfig, DelegationGuard,
HierarchyPolicy, ScaleError, SkillEntry, SkillIndex, StickyRouter, TaskGraph, TaskSharder,
};
pub use security::{
AccessRequest, SandboxConfig, SecurityError, TrustConfig, TrustRegistry, TrustRole,
TrustVerification, TrustedAgent,
};
pub use server::A2AServer;
pub use store::{in_memory_store, InMemoryTaskStore, StoreError, StoredTask, TaskStore};