1#[derive(Debug, thiserror::Error)]
5pub enum TransportError {
6 #[error("I/O error: {0}")]
7 Io(#[from] std::io::Error),
8
9 #[error("JSON serialization error: {0}")]
10 Json(#[from] serde_json::Error),
11
12 #[error("no response received from server")]
13 NoResponse,
14
15 #[error("server process exited unexpectedly: {0}")]
16 ProcessExit(String),
17
18 #[error("operation timed out after {0:?}")]
19 Timeout(std::time::Duration),
20
21 #[error("command parsing error: {0}")]
22 CommandParse(String),
23
24 #[error("unsupported transport operation: {0}")]
25 Unsupported(String),
26
27 #[error("http transport error: {0}")]
28 Http(String),
29}
30
31#[derive(Debug, thiserror::Error)]
33pub enum SessionError {
34 #[error("transport error: {0}")]
35 Transport(#[from] TransportError),
36
37 #[error("JSON-RPC error {code}: {message}")]
38 JsonRpc { code: i64, message: String },
39
40 #[error("unexpected response format: {0}")]
41 UnexpectedFormat(String),
42
43 #[error("server not initialized")]
44 NotInitialized,
45}