pub struct ClientBuilder { /* private fields */ }Expand description
Builder for A2aClient.
Start with ClientBuilder::new (URL) or ClientBuilder::from_card
(agent card auto-configuration).
Implementations§
Source§impl ClientBuilder
impl ClientBuilder
Sourcepub fn new(endpoint: impl Into<String>) -> Self
pub fn new(endpoint: impl Into<String>) -> Self
Creates a builder targeting endpoint.
The endpoint is passed directly to the selected transport; it should be
the full base URL of the agent (e.g. http://localhost:8080).
Sourcepub fn from_card(card: &AgentCard) -> Self
pub fn from_card(card: &AgentCard) -> Self
Creates a builder pre-configured from an AgentCard.
Selects the first supported interface from the card.
Sourcepub const fn with_timeout(self, timeout: Duration) -> Self
pub const fn with_timeout(self, timeout: Duration) -> Self
Sets the per-request timeout for non-streaming calls.
Sourcepub const fn with_stream_connect_timeout(self, timeout: Duration) -> Self
pub const fn with_stream_connect_timeout(self, timeout: Duration) -> Self
Sets the timeout for establishing SSE stream connections.
Once the stream is established, this timeout no longer applies. Defaults to 30 seconds.
Sourcepub const fn with_connection_timeout(self, timeout: Duration) -> Self
pub const fn with_connection_timeout(self, timeout: Duration) -> Self
Sets the TCP connection timeout (DNS + handshake).
Defaults to 10 seconds. Prevents hanging for the OS default (~2 min) when the server is unreachable.
Sourcepub fn with_protocol_binding(self, binding: impl Into<String>) -> Self
pub fn with_protocol_binding(self, binding: impl Into<String>) -> Self
Sets the preferred protocol binding.
Overrides any binding derived from the agent card.
Sourcepub fn with_accepted_output_modes(self, modes: Vec<String>) -> Self
pub fn with_accepted_output_modes(self, modes: Vec<String>) -> Self
Sets the accepted output modes sent in SendMessage configurations.
Sourcepub const fn with_history_length(self, length: u32) -> Self
pub const fn with_history_length(self, length: u32) -> Self
Sets the history length to request in task responses.
Sourcepub const fn with_return_immediately(self, val: bool) -> Self
pub const fn with_return_immediately(self, val: bool) -> Self
Sets return_immediately for SendMessage calls.
Sourcepub fn with_custom_transport(self, transport: impl Transport) -> Self
pub fn with_custom_transport(self, transport: impl Transport) -> Self
Provides a fully custom transport implementation.
Overrides the transport that would normally be built from the endpoint URL and protocol preference.
Sourcepub const fn without_tls(self) -> Self
pub const fn without_tls(self) -> Self
Disables TLS (plain HTTP only).
Sourcepub fn with_interceptor<I: CallInterceptor>(self, interceptor: I) -> Self
pub fn with_interceptor<I: CallInterceptor>(self, interceptor: I) -> Self
Adds an interceptor to the chain.
Interceptors are run in the order they are added.
Sourcepub fn build(self) -> ClientResult<A2aClient>
pub fn build(self) -> ClientResult<A2aClient>
Validates configuration and constructs the A2aClient.
§Errors
ClientError::InvalidEndpointif the endpoint URL is malformed.ClientError::Transportif the selected transport cannot be initialized.