use starweaver_model::ModelResponse;
use thiserror::Error;
#[derive(Debug, Error)]
pub enum CapabilityError {
#[error("model retry requested: {0}")]
ModelRetry(String),
#[error("model request skipped")]
SkipModelRequest(Box<ModelResponse>),
#[error("capability failed: {0}")]
Failed(String),
#[error("capability cancelled: {reason}")]
Cancelled {
reason: String,
},
}
pub type CapabilityResult<T> = Result<T, CapabilityError>;