mod digest_state_state_machine;
mod digest_subscription_state_state_machine;
#[derive(Debug, Clone, thiserror::Error)]
pub enum StateMachineError {
#[error("Invalid state: {0}")]
InvalidState(String),
#[error("Invalid transition: {0}")]
InvalidTransition(String),
#[error("Transition '{transition}' not allowed from state '{from}'")]
TransitionNotAllowed {
transition: String,
from: String,
},
#[error("Role '{role}' not authorized for transition '{transition}'")]
RoleNotAuthorized {
role: String,
transition: String,
},
#[error("Guard condition failed for transition '{0}'")]
GuardFailed(String),
#[error("Cannot transition from final state '{0}'")]
FinalStateReached(String),
}
pub use digest_state_state_machine::{digest_stateState, digest_stateTransition, digest_stateStateMachine};
pub use digest_subscription_state_state_machine::{digest_subscription_stateState, digest_subscription_stateTransition, digest_subscription_stateStateMachine};