ai_transform_runtime/
error.rs1use 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 {}