1use thiserror::Error;
4
5#[derive(Error, Debug)]
7pub enum MemoryError {
8 #[error("Storage error: {0}")]
10 Storage(String),
11
12 #[error("Database error: {0}")]
14 Database(#[from] rusqlite::Error),
15
16 #[error("Embedding error: {0}")]
18 Embedding(String),
19
20 #[error("Episode not found: {0}")]
22 NotFound(String),
23
24 #[error("Serialization error: {0}")]
26 Serialization(#[from] serde_json::Error),
27
28 #[error("IO error: {0}")]
30 Io(#[from] std::io::Error),
31
32 #[error("Invalid configuration: {0}")]
34 InvalidConfig(String),
35}
36
37pub type MemoryResult<T> = Result<T, MemoryError>;