Skip to main content

A2AError

Enum A2AError 

Source
pub enum A2AError {
Show 18 variants JsonRpc { code: i32, message: String, data: Option<Value>, }, JsonParse(Error), InvalidRequest(String), InvalidParams(String), MethodNotFound(String), TaskNotFound(String), TaskNotCancelable(String), PushNotificationNotSupported, UnsupportedOperation(String), ContentTypeNotSupported(String), InvalidAgentResponse(String), AuthenticatedExtendedCardNotConfigured, Internal(String), ValidationError { field: String, message: String, }, VersionConflict { id: String, expected: u64, actual: u64, }, DatabaseError(String), ContextAccessDenied { context_id: String, }, Io(Error),
}
Expand description

Error type for the A2A protocol operations

Variants§

§

JsonRpc

Fields

§code: i32
§message: String
§

JsonParse(Error)

§

InvalidRequest(String)

§

InvalidParams(String)

§

MethodNotFound(String)

§

TaskNotFound(String)

§

TaskNotCancelable(String)

§

PushNotificationNotSupported

§

UnsupportedOperation(String)

§

ContentTypeNotSupported(String)

§

InvalidAgentResponse(String)

§

AuthenticatedExtendedCardNotConfigured

§

Internal(String)

§

ValidationError

Fields

§field: String
§message: String
§

VersionConflict

Fields

§expected: u64
§actual: u64
§

DatabaseError(String)

§

ContextAccessDenied

The caller does not own this conversation.

A context_id groups the tasks of one conversation, and reading it back as prompt history means anyone holding the id can read what was said in it. This is the refusal for a principal that is not the one that started the context.

Fields

§context_id: String
§

Io(Error)

Implementations§

Source§

impl A2AError

Source

pub fn to_jsonrpc_error(&self) -> Value

Convert an A2AError to a JSON-RPC error value

Source

pub fn reason_code(&self) -> &'static str

Stable, machine-readable reason code for this error (SCREAMING_SNAKE_CASE, used as the ErrorInfo.reason on the wire).

Source

pub fn error_details(&self) -> Vec<ErrorDetail>

Typed details for the JSON-RPC error.data array.

Validation failures surface as a Google-RPC BadRequest with field violations; version conflicts attach the expected/actual versions as ErrorInfo metadata; every other variant carries at least its stable reason_code as an ErrorInfo, so a client can branch on a machine code instead of parsing the message string.

Trait Implementations§

Source§

impl Debug for A2AError

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Display for A2AError

Source§

fn fmt(&self, __formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Error for A2AError

Source§

fn source(&self) -> Option<&(dyn Error + 'static)>

Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§

fn description(&self) -> &str

👎Deprecated since 1.42.0:

use the Display impl or to_string()

1.0.0 · Source§

fn cause(&self) -> Option<&dyn Error>

👎Deprecated since 1.33.0:

replaced by Error::source, which can support downcasting

Source§

fn provide<'a>(&'a self, request: &mut Request<'a>)

🔬This is a nightly-only experimental API. (error_generic_member_access)
Provides type-based access to context intended for error reports. Read more
Source§

impl From<Error> for A2AError

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<Error> for A2AError

Source§

fn from(source: Error) -> Self

Converts to this type from the input type.
Source§

impl From<HttpClientError> for A2AError

Available on crate features http-client or jsonrpc-client only.
Source§

fn from(error: HttpClientError) -> Self

Converts to this type from the input type.
Source§

impl From<HttpServerError> for A2AError

Available on crate feature http-server only.
Source§

fn from(error: HttpServerError) -> Self

Converts to this type from the input type.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Sized + Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToString for T
where T: Display + ?Sized,

Source§

fn to_string(&self) -> String

Converts the given value to a String. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more