use behest_core::error::ProviderError;
use thiserror::Error;
pub type RuntimeResult<T> = std::result::Result<T, RuntimeError>;
#[derive(Debug, Error)]
pub enum RuntimeError {
#[error("provider error: {0}")]
Provider(#[from] ProviderError),
#[error("run was cancelled")]
Cancelled,
#[error("context error: {0}")]
Context(String),
#[error("tool execution error: {0}")]
Tool(String),
#[error("memory error: {0}")]
Memory(String),
}