use thiserror::Error;
#[derive(Debug, Error)]
pub enum ToolsError {
#[error("Invalid input: {0}")]
InvalidInput(String),
#[error("Runtime error: {0}")]
Runtime(String),
#[error("Memory not found: {0}")]
NotFound(String),
#[error("Custom error: {0}")]
Custom(String),
#[error("Serialization error: {0}")]
Serialization(#[from] serde_json::Error),
#[error("Core error: {0}")]
Core(#[from] cortex_mem_core::Error),
#[error("IO error: {0}")]
Io(#[from] std::io::Error),
}
pub type Result<T> = std::result::Result<T, ToolsError>;