#[non_exhaustive]pub enum A2aError {
Http(Error),
Json(Error),
JsonRpc {
code: i32,
message: String,
},
Discovery {
url: String,
reason: String,
},
Stream(String),
Server(String),
Security(String),
Timeout(Duration),
}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 (Non-exhaustive)§
This enum is marked as non-exhaustive
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.
Timeout(Duration)
A request or task processing operation exceeded its deadline.
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()