use thiserror::Error;
#[derive(Debug, Error)]
pub enum MemoryToolsError {
#[error("Invalid input: {0}")]
InvalidInput(String),
#[error("Runtime error: {0}")]
Runtime(String),
#[error("Memory not found: {0}")]
MemoryNotFound(String),
#[error("Serialization error: {0}")]
Serialization(#[from] serde_json::Error),
#[error("Core memory error: {0}")]
Core(#[from] anyhow::Error),
}
impl From<cortex_mem_core::error::MemoryError> for MemoryToolsError {
fn from(err: cortex_mem_core::error::MemoryError) -> Self {
MemoryToolsError::Core(anyhow::anyhow!("Core error: {}", err))
}
}
pub type MemoryToolsResult<T> = Result<T, MemoryToolsError>;