Skip to main content

mika_a2a/
error.rs

1use thiserror::Error;
2
3use crate::types::TaskState;
4
5/// Errors from A2A protocol operations.
6#[derive(Debug, Error)]
7pub enum A2aError {
8    #[error("invalid state transition from {from} to {to}")]
9    InvalidStateTransition { from: TaskState, to: TaskState },
10
11    #[error("invalid JSON-RPC request: {0}")]
12    InvalidJsonRpc(String),
13
14    #[error("client error: {0}")]
15    ClientError(#[from] reqwest::Error),
16
17    #[error("serialization error: {0}")]
18    SerializationError(#[from] serde_json::Error),
19}