continuity_runtime/
error.rs1use thiserror::Error;
2
3#[derive(Debug, Clone, PartialEq, Eq, Error)]
5pub enum ContinuityValidationError {
6 #[error("missing required field: {0}")]
7 MissingField(&'static str),
8 #[error("invalid schema version: expected {expected}, found {found}")]
9 SchemaVersionMismatch {
10 expected: &'static str,
11 found: String,
12 },
13 #[error("invalid artifact state: {0}")]
14 InvalidState(&'static str),
15}
16
17impl ContinuityValidationError {
18 pub fn kind(&self) -> &'static str {
19 match self {
20 Self::MissingField(..) => "missing_field",
21 Self::SchemaVersionMismatch { .. } => "schema_version_mismatch",
22 Self::InvalidState(..) => "invalid_state",
23 }
24 }
25}
26
27pub type ContinuityValidationResult = Result<(), ContinuityValidationError>;