1pub mod agent;
6pub mod error;
7pub mod protocol;
8pub mod registry;
9pub mod security;
10pub mod transport;
11
12#[cfg(feature = "protocol-core")]
13pub mod data;
14
15#[cfg(feature = "protocol-core")]
16pub mod methods;
17
18#[cfg(feature = "event-stream")]
19pub mod streaming;
20
21#[cfg(feature = "protocol-core")]
22pub mod services;
23
24pub use agent::{
26 AgentCapabilities, AgentCard, AgentCardSignature, AgentExtension, AgentInterface,
27 AgentProvider, AgentSkill,
28};
29
30pub use error::{A2AError, A2AResult, a2a_error_codes};
32
33pub use protocol::A2AProtocol;
35
36pub use registry::{
38 A2AMethodHandler, A2AMethodRegistry, A2ANotificationHandler, MethodMetadata, RegistryStats,
39};
40
41pub use security::{
43 ApiKeySecurityScheme, AuthorizationCodeOAuthFlow, ClientCredentialsOAuthFlow,
44 DeviceCodeOAuthFlow, HttpAuthSecurityScheme, MutualTlsSecurityScheme, OAuth2SecurityScheme,
45 OAuthFlows, OpenIdConnectSecurityScheme, SecurityRequirement, SecurityScheme,
46};
47
48pub use transport::{A2ATransport, A2ATransportFactory};
50
51#[cfg(feature = "protocol-core")]
53pub use data::{
54 Artifact, AuthenticationInfo, Message, MessageRole, Part, Task, TaskPushNotificationConfig,
55 TaskState, TaskStatus,
56};
57
58#[cfg(feature = "protocol-core")]
61pub use methods::{
62 discovery::{
63 AgentDiscovery, AuthenticatedExtendedCardParams, AuthenticatedExtendedCardResult,
64 DefaultAgentDiscovery,
65 },
66 params::{
67 CancelTaskRequest, CreateTaskPushNotificationConfigRequest,
68 DeleteTaskPushNotificationConfigRequest, GetTaskPushNotificationConfigRequest,
69 GetTaskRequest, ListTaskPushNotificationConfigsRequest, ListTasksRequest,
70 ListTasksResponse, MessageSendParams, MessageSendResponse, SendMessageConfiguration,
71 SendMessageRequest, SendMessageResponse, SubscribeToTaskRequest, TaskCancelParams,
72 TaskGetParams, TaskListParams, TaskListResult,
73 },
74};
75
76#[cfg(feature = "protocol-core")]
78pub use services::{ConversationContext, InMemoryTaskStorage, TaskStorage};
79
80pub const A2A_PROTOCOL_VERSION: &str = "1.0";
82
83pub use protocol_transport_core::{
84 JSONRPC_VERSION, JsonRpcError, JsonRpcId, JsonRpcIncoming, JsonRpcNotification, JsonRpcRequest,
85 JsonRpcResponse, error_codes as jsonrpc_error_codes,
86};