#[derive(Debug, thiserror::Error)]
pub enum DispatchError {
#[error(transparent)]
PreAudit(anyhow::Error),
#[error(transparent)]
Recorded(anyhow::Error),
}
#[derive(Debug, thiserror::Error)]
#[error("{0}")]
pub struct PolicyDenied(pub String);
#[derive(Debug, thiserror::Error)]
#[error("{message}")]
pub struct QuotaExceeded {
pub message: String,
pub retry_after_seconds: i32,
}
#[derive(Debug, thiserror::Error)]
#[error("{message}")]
pub struct GuardForbidden {
pub message: String,
}
#[derive(Debug, thiserror::Error)]
#[error("{message}")]
pub struct GovernanceDenied {
pub policy: String,
pub message: String,
}
#[derive(Debug, thiserror::Error)]
#[error("{message}")]
pub struct PromptRepairRequired {
pub message: String,
pub locations: Vec<String>,
}
#[derive(Debug, thiserror::Error)]
#[error("{message}")]
pub struct SafetyBlocked {
pub category: String,
pub message: String,
}