use thiserror::Error;
#[derive(Debug, Error)]
pub enum OpenAIAgentError {
#[error("Request error: {0}")]
Request(String),
#[error("Reqwest error: {0}")]
Reqwest(#[from] reqwest::Error),
#[error("Configuration error: {0}")]
Config(String),
#[error("Serialization error: {0}")]
Serialization(#[from] serde_json::Error),
#[error("Tool error: {0}")]
Tool(String),
#[error("Parse error: {0}")]
Parse(String),
#[error("Agent error: {0}")]
Agent(String),
#[error("IO error: {0}")]
Io(#[from] std::io::Error),
}