use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SafetyCorpus {
pub schema_version: u32,
pub description: String,
pub scenarios: Vec<SafetyScenario>,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SafetyScenario {
pub id: String,
pub fault: String,
pub expected: SafetyExpectation,
}
#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
#[serde(rename_all = "camelCase")]
pub struct SafetyExpectation {
#[serde(skip_serializing_if = "Option::is_none")]
pub status: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub error: Option<String>,
#[serde(skip_serializing_if = "Option::is_none")]
pub receipt_status: Option<String>,
pub effects: u32,
pub restores: u32,
#[serde(skip_serializing_if = "Option::is_none")]
pub replay_effects: Option<u32>,
}