openai_tools/common/
errors.rs1use serde::Deserialize;
2use thiserror::Error;
3
4#[derive(Error, Debug)]
5pub enum OpenAIToolError {
6 #[error("Request error: {0}")]
7 RequestError(#[from] request::Error),
8 #[error("JSON serialization/deserialization error: {0}")]
9 SerdeJsonError(#[from] serde_json::Error),
10 #[error("Error from anyhow: {0}")]
11 AnyhowError(#[from] anyhow::Error),
12 #[error("Error: {0}")]
13 Error(String),
14}
15
16pub type Result<T> = std::result::Result<T, OpenAIToolError>;
17
18#[derive(Debug, Clone, Default, Deserialize)]
19pub struct ErrorMessage {
20 pub message: Option<String>,
21 pub type_name: Option<String>,
22 pub param: Option<String>,
23 pub code: Option<String>,
24}
25
26#[derive(Debug, Clone, Default, Deserialize)]
27pub struct ErrorResponse {
28 pub error: ErrorMessage,
29}