use thiserror::Error;
#[derive(Debug, Error)]
pub enum Error {
#[error("Cog not found: {0}")]
CogNotFound(String),
#[error("Cog downcast failed: {0}")]
CogDowncastFailed(String),
#[error("Cog registration failed: {0}")]
CogRegisterError(String),
#[error("Cyclic dependency detected involving: {0}")]
CyclicDependency(String),
#[error("Missing dependency: '{0}' requires '{1}' which is not registered")]
MissingDependency(String, String),
#[error("Server error: {0}")]
ServerError(String),
}