// Code generated by oagen. DO NOT EDIT.

#[allow(unused_imports)]
use super::*;
#[allow(unused_imports)]
use crate::enums::*;
use serde::{Deserialize, Serialize};
/// Detailed error information for debugging.
/// Captures stack traces and context about where and why an error occurred.
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ErrorDetails {
    /// Human-readable error message. Free-text; the structured fields below are the machine-readable counterpart.
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub message: Option<String>,
    /// Full Python stack trace
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub stack_trace: Option<String>,
    /// ID of the block that failed
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub block_id: Option<String>,
    /// Name/label of the block that failed
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub block_name: Option<String>,
    /// Error code if available
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub error_code: Option<String>,
    /// Additional context about the error
    #[serde(skip_serializing_if = "Option::is_none", default)]
    pub context: Option<std::collections::HashMap<String, serde_json::Value>>,
}
