use thiserror::Error;
#[derive(Debug, Error)]
pub enum FlowError {
#[error("already exists: {0}")]
AlreadyExists(String),
#[error("not found: {0}")]
NotFound(String),
#[error("invalid argument: {0}")]
InvalidArgument(String),
#[error("scope stack empty")]
ScopeStackEmpty,
#[error("guardrail rejected: {0}")]
GuardrailRejected(String),
#[error("internal error: {0}")]
Internal(String),
}
pub type Result<T> = std::result::Result<T, FlowError>;
#[cfg(test)]
#[path = "../tests/coverage/error_tests.rs"]
mod tests;