ai_transform_runtime/
error.rs

1use reqwest;
2use serde_json;
3
4#[derive(Debug)]
5pub enum TransformError {
6    SerializationError(serde_json::Error),
7    DeserializationError(serde_json::Error),
8    RequestError(reqwest::Error),
9    ApiError {
10        status: reqwest::StatusCode,
11        body: String,
12    },
13    EnvVarError(String),
14    TimeoutError,
15    InvalidResponseFormat,
16}
17
18impl std::fmt::Display for TransformError {
19    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
20        match self {
21            TransformError::SerializationError(e) => {
22                write!(f, "Failed to serialize source value: {e}")
23            }
24            TransformError::DeserializationError(e) => {
25                write!(f, "Failed to deserialize target value: {e}")
26            }
27            TransformError::RequestError(e) => write!(f, "HTTP request failed: {e}"),
28            TransformError::ApiError { status, body } => {
29                write!(f, "OpenAI API error: {status} - {body}")
30            }
31            TransformError::EnvVarError(var) => {
32                write!(f, "Environment variable not found: {var}")
33            }
34            TransformError::TimeoutError => write!(f, "Timeout waiting for response"),
35            TransformError::InvalidResponseFormat => write!(f, "Invalid response format"),
36        }
37    }
38}
39
40impl std::error::Error for TransformError {}