use thiserror::Error;
#[derive(Debug, Error)]
pub enum FlowError {
#[error("agent error: {0}")]
Agent(String),
#[error("json marshalling: {0}")]
Json(#[from] serde_json::Error),
#[error("loop terminated: {reason} (iter {iter})")]
Loop {
reason: String,
iter: u32,
},
#[error("graph error: {0}")]
Graph(String),
#[error("bus error: {0}")]
Bus(#[from] klieo_core::error::BusError),
}