openai-client-base 0.12.0

Auto-generated Rust client for the OpenAI API
/*
 * OpenAI API
 *
 * The OpenAI REST API. Please see https://platform.openai.com/docs/api-reference for more details.
 *
 * The version of the OpenAPI document: 2.3.0
 *
 * Generated by: https://openapi-generator.tech
 */

use crate::models;
use serde::{Deserialize, Serialize};

#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize, bon::Builder)]
pub struct RunGraderResponseMetadataErrors {
    #[serde(rename = "formula_parse_error")]
    pub formula_parse_error: bool,
    #[serde(rename = "sample_parse_error")]
    pub sample_parse_error: bool,
    #[serde(rename = "truncated_observation_error")]
    pub truncated_observation_error: bool,
    #[serde(rename = "unresponsive_reward_error")]
    pub unresponsive_reward_error: bool,
    #[serde(rename = "invalid_variable_error")]
    pub invalid_variable_error: bool,
    #[serde(rename = "other_error")]
    pub other_error: bool,
    #[serde(rename = "python_grader_server_error")]
    pub python_grader_server_error: bool,
    #[serde(
        rename = "python_grader_server_error_type",
        deserialize_with = "Option::deserialize"
    )]
    pub python_grader_server_error_type: Option<String>,
    #[serde(rename = "python_grader_runtime_error")]
    pub python_grader_runtime_error: bool,
    #[serde(
        rename = "python_grader_runtime_error_details",
        deserialize_with = "Option::deserialize"
    )]
    pub python_grader_runtime_error_details: Option<String>,
    #[serde(rename = "model_grader_server_error")]
    pub model_grader_server_error: bool,
    #[serde(rename = "model_grader_refusal_error")]
    pub model_grader_refusal_error: bool,
    #[serde(rename = "model_grader_parse_error")]
    pub model_grader_parse_error: bool,
    #[serde(
        rename = "model_grader_server_error_details",
        deserialize_with = "Option::deserialize"
    )]
    pub model_grader_server_error_details: Option<String>,
}

impl RunGraderResponseMetadataErrors {
    pub fn new(
        formula_parse_error: bool,
        sample_parse_error: bool,
        truncated_observation_error: bool,
        unresponsive_reward_error: bool,
        invalid_variable_error: bool,
        other_error: bool,
        python_grader_server_error: bool,
        python_grader_server_error_type: Option<String>,
        python_grader_runtime_error: bool,
        python_grader_runtime_error_details: Option<String>,
        model_grader_server_error: bool,
        model_grader_refusal_error: bool,
        model_grader_parse_error: bool,
        model_grader_server_error_details: Option<String>,
    ) -> RunGraderResponseMetadataErrors {
        RunGraderResponseMetadataErrors {
            formula_parse_error,
            sample_parse_error,
            truncated_observation_error,
            unresponsive_reward_error,
            invalid_variable_error,
            other_error,
            python_grader_server_error,
            python_grader_server_error_type,
            python_grader_runtime_error,
            python_grader_runtime_error_details,
            model_grader_server_error,
            model_grader_refusal_error,
            model_grader_parse_error,
            model_grader_server_error_details,
        }
    }
}

impl std::fmt::Display for RunGraderResponseMetadataErrors {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        match serde_json::to_string(self) {
            Ok(s) => write!(f, "{}", s),
            Err(_) => Err(std::fmt::Error),
        }
    }
}