pub enum A2aError {
Http(Error),
Json(Error),
JsonRpc {
code: i32,
message: String,
},
Discovery {
url: String,
reason: String,
},
Stream(String),
Server(String),
Security(String),
}Expand description
All errors that can occur in A2A client and server operations.
The variants map to distinct failure modes so callers can recover appropriately:
Variants§
Http(Error)
A reqwest HTTP transport error (connection refused, timeout, TLS, etc.).
Json(Error)
JSON serialization or deserialization failure.
JsonRpc
The remote agent returned a JSON-RPC error object.
Well-known codes defined by the A2A spec:
-32001: task not found-32002: task not in a cancelable state
Discovery
AgentRegistry could not retrieve a valid AgentCard
from the remote agent’s well-known URL.
Stream(String)
An error occurred while reading the SSE event stream from a streaming call.
Server(String)
An internal server-side error (binding failure, task processing panic, etc.).
Security(String)
A request was rejected by the client’s security policy.
Triggered when A2aClient is configured with
require_tls = true and an http:// endpoint is used, or when
ssrf_protection = true and DNS resolves to a private/loopback address.
Trait Implementations§
Source§impl Error for A2aError
impl Error for A2aError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<JsonRpcError> for A2aError
impl From<JsonRpcError> for A2aError
Source§fn from(e: JsonRpcError) -> Self
fn from(e: JsonRpcError) -> Self
Auto Trait Implementations§
impl Freeze for A2aError
impl !RefUnwindSafe for A2aError
impl Send for A2aError
impl Sync for A2aError
impl Unpin for A2aError
impl UnsafeUnpin for A2aError
impl !UnwindSafe for A2aError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.