use systemprompt_extension::{ExtensionConfigError, LoaderError};
use systemprompt_traits::BoxedSource;
#[derive(Debug, thiserror::Error)]
pub(crate) enum RouteMountError {
#[error(transparent)]
Loader(#[from] LoaderError),
#[error("failed to initialise {component}")]
Initialization {
component: &'static str,
#[source]
source: BoxedSource,
},
#[error("extension '{extension}' rejected its configuration")]
ConfigValidation {
extension: String,
#[source]
source: ExtensionConfigError,
},
}
impl RouteMountError {
pub(super) fn initialization(component: &'static str, source: impl Into<BoxedSource>) -> Self {
Self::Initialization {
component,
source: source.into(),
}
}
}