starweaver_model/adapter/
error.rs1use serde_json::Value;
2use thiserror::Error;
3
4#[derive(Debug, Error)]
6pub enum ModelError {
7 #[error("message mapping failed: {0}")]
9 MessageMapping(String),
10 #[error("response parsing failed: {0}")]
12 ResponseParsing(String),
13 #[error("transport failed: {0}")]
15 Transport(String),
16 #[error("real model request blocked for {url}")]
18 RealModelRequestBlocked {
19 url: String,
21 },
22 #[error("provider status {status}: {body}")]
24 ProviderStatus {
25 status: u16,
27 body: Value,
29 retryable: bool,
31 },
32 #[error("retry attempts exhausted after {attempts} attempts: {source}")]
34 RetryExhausted {
35 attempts: u32,
37 source: Box<Self>,
39 },
40 #[error("model request cancelled: {reason}")]
42 Cancelled {
43 reason: String,
45 },
46 #[error("unsupported provider response: {0}")]
48 UnsupportedResponse(String),
49}