Skip to main content

aivcs_core/memory/
error.rs

1//! Error types for the memory subsystem.
2
3/// Errors produced by memory operations.
4#[derive(Debug, thiserror::Error)]
5pub enum MemoryError {
6    #[error("duplicate entry id: {id}")]
7    DuplicateEntry { id: String },
8
9    #[error("entry not found: {id}")]
10    EntryNotFound { id: String },
11
12    #[error("context budget exceeded: requested {requested} tokens, available {available}")]
13    BudgetExceeded { requested: usize, available: usize },
14
15    #[error("invalid query: {0}")]
16    InvalidQuery(String),
17
18    #[error("compaction failed: {0}")]
19    CompactionFailed(String),
20
21    #[error("serialization error: {0}")]
22    Serialization(#[from] serde_json::Error),
23
24    #[error("domain error: {0}")]
25    Domain(String),
26}
27
28/// Result type for memory operations.
29pub type MemoryResult<T> = std::result::Result<T, MemoryError>;