pub mod adapter;
pub mod application;
pub mod domain;
pub mod port;
pub mod services;
#[cfg(feature = "tracing")]
pub mod observability;
pub use domain::{
A2AError, AgentCapabilities, AgentCard, AgentCardSignature, AgentExtension, AgentInterface,
AgentProvider, AgentSkill, Artifact, AuthorizationCodeOAuthFlow, ClientCredentialsOAuthFlow,
ContextId, DeleteTaskPushNotificationConfigParams, DeviceCodeOAuthFlow, ErrorDetail, ErrorInfo,
FieldViolation, GetTaskPushNotificationConfigParams, ListTaskPushNotificationConfigsParams,
ListTasksParams, ListTasksResult, Message, OAuthFlows, Part, PushConfigId,
PushNotificationAuthenticationInfo, ReadRefresh, Result, RetentionPolicy, RetryPolicy, Role,
SecurityScheme, Swept, Task, TaskArtifactUpdateEvent, TaskId, TaskIdParams,
TaskPushNotificationConfig, TaskQueryParams, TaskState, TaskStatus, TaskStatusUpdateEvent,
VersionedTask,
};
pub use port::{
AsyncMessageHandler, AsyncNotificationManager, AsyncNotificationManagerExt, AsyncPushNotifier,
AsyncRetention, AsyncStreamingHandler, AsyncTaskLifecycle, AsyncTaskLifecycleExt,
AsyncTaskQuery, AsyncTaskVersioning, CallContext, CallInterceptor, CallSide, NoopPushNotifier,
RequestContext, SeqEvent, StreamEvent, StreamItem, StreamingSubscriber, Transport, UpdateEvent,
};
#[cfg(feature = "http-client")]
pub use adapter::HttpClient;
#[cfg(feature = "jsonrpc-client")]
pub use adapter::JsonRpcClient;
#[cfg(feature = "client")]
pub use adapter::{ClientConfig, TransportFactory, TransportNegotiator, default_registry};
#[cfg(feature = "client")]
pub use adapter::{RetryingTransport, subscribe_resilient};
#[cfg(any(feature = "http-client", feature = "jsonrpc-client"))]
pub use adapter::{
auto_connect, auto_connect_with, connect, connect_with, fetch_agent_card, fetch_agent_card_with,
};
#[cfg(feature = "http-server")]
pub use adapter::HttpServer;
#[cfg(feature = "server")]
pub use adapter::{
ConnectRpcAdapter, InMemoryStreamingHandler, InMemoryTaskStorage, NoopPushNotificationSender,
NoopStreamingHandler, PushNotificationRegistry, PushNotificationSender, SimpleAgentInfo,
};
#[cfg(all(feature = "server", feature = "http-client"))]
pub use adapter::HttpPushNotificationSender;
#[cfg(feature = "http-server")]
pub use adapter::{ApiKeyAuthenticator, BearerTokenAuthenticator, NoopAuthenticator};
#[cfg(feature = "auth")]
pub use adapter::{JwtAuthenticator, OAuth2Authenticator, OpenIdConnectAuthenticator};
#[cfg(feature = "http-server")]
pub use port::Authenticator;
#[cfg(feature = "tracing")]
pub use adapter::LoggingInterceptor;