#[derive(Debug, thiserror::Error)]
pub enum Error {
#[error("unknown harness `{0}`")]
UnknownHarness(String),
#[error("malformed {harness} transcript: {detail}")]
Malformed {
harness: &'static str,
detail: String,
},
#[error("cannot convert to {harness}: {detail}")]
Unconvertible {
harness: &'static str,
detail: String,
},
#[error("{harness} remote access failed: {detail}")]
Remote {
harness: &'static str,
detail: String,
},
#[error(transparent)]
Io(#[from] std::io::Error),
#[error(transparent)]
Json(#[from] serde_json::Error),
}
pub type Result<T> = std::result::Result<T, Error>;