Skip to main content

smelt_memory/
error.rs

1//! Error types for smelt-memory
2
3use thiserror::Error;
4
5/// Memory-specific errors
6#[derive(Error, Debug)]
7pub enum MemoryError {
8    /// Storage error
9    #[error("Storage error: {0}")]
10    Storage(String),
11
12    /// SQLite error
13    #[error("Database error: {0}")]
14    Database(#[from] rusqlite::Error),
15
16    /// Embedding error
17    #[error("Embedding error: {0}")]
18    Embedding(String),
19
20    /// Episode not found
21    #[error("Episode not found: {0}")]
22    NotFound(String),
23
24    /// Serialization error
25    #[error("Serialization error: {0}")]
26    Serialization(#[from] serde_json::Error),
27
28    /// IO error
29    #[error("IO error: {0}")]
30    Io(#[from] std::io::Error),
31
32    /// Invalid configuration
33    #[error("Invalid configuration: {0}")]
34    InvalidConfig(String),
35}
36
37/// Result type for memory operations
38pub type MemoryResult<T> = Result<T, MemoryError>;