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}