#[derive(Debug, thiserror::Error)]
pub enum WebhookError {
#[error("webhook config error: {0}")]
Config(String),
#[error("webhook auth failed: {0}")]
AuthFailed(String),
#[error("server error: {0}")]
Server(String),
#[error("producer channel closed")]
ProducerChannelClosed,
#[error(transparent)]
Io(#[from] std::io::Error),
#[error(transparent)]
TomlParse(#[from] toml::de::Error),
#[cfg(feature = "notifier")]
#[error("webhook delivery failed: {0}")]
DeliveryFailed(String),
}
impl From<WebhookError> for blueprint_runner::error::RunnerError {
fn from(err: WebhookError) -> Self {
blueprint_runner::error::RunnerError::Other(Box::new(err))
}
}