1use thiserror::Error;
2
3#[derive(Error, Debug)]
4pub enum ApiError {
5 #[error("Request error: {0}")]
6 RequestError(#[from] reqwest::Error),
7
8 #[error("Client error returned from API: {0}")]
9 ClientError(String),
10
11 #[error("Server error returned from API: {0}")]
12 ServerError(String),
13
14 #[error("Response parse error: {0}")]
15 ResponseParseError(#[from] serde_json::Error),
16
17 #[error("Missing required 'messages' parameter")]
18 MissingMessages,
19
20 #[error("Invalid API Usage: {0}")]
21 InvalidUsage(String),
22}