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),
}
}
}