cel_memory/error.rs
1//! Memory subsystem error type.
2//!
3//! All trait methods return `Result<T, MemoryError>`. `NotImplemented` is the
4//! honest signal v1 uses for methods the [`BasicMemoryProvider`] doesn't back
5//! yet (summarization, rollups, re-embed). Callers behind feature flags treat
6//! it as a graceful no-feature signal.
7//!
8//! [`BasicMemoryProvider`]: crate::BasicMemoryProvider
9
10use thiserror::Error;
11
12/// Result alias used throughout the crate.
13pub type Result<T> = std::result::Result<T, MemoryError>;
14
15/// Errors produced by the memory subsystem.
16#[derive(Debug, Error)]
17pub enum MemoryError {
18 /// The requested feature isn't implemented by the current provider.
19 ///
20 /// v1's [`BasicMemoryProvider`] returns this for summarization, rollups,
21 /// and re-embed methods. The full Memory & Context Manager replaces the
22 /// provider and implements all of these.
23 ///
24 /// [`BasicMemoryProvider`]: crate::BasicMemoryProvider
25 #[error("not implemented in this provider: {0}")]
26 NotImplemented(&'static str),
27
28 /// The requested chunk, session, or other entity could not be found.
29 #[error("not found: {0}")]
30 NotFound(String),
31
32 /// A caller passed an invalid argument (out-of-range importance, empty
33 /// query, malformed predicate, etc.).
34 #[error("invalid argument: {0}")]
35 InvalidArgument(String),
36
37 /// A storage-layer error (SQLite, filesystem, embedding model load).
38 #[error("storage error: {0}")]
39 Storage(String),
40
41 /// A network or external-provider error (cloud embedder, cloud summarizer).
42 #[error("provider error: {0}")]
43 Provider(String),
44
45 /// An unexpected internal invariant was violated. Bug.
46 #[error("internal error: {0}")]
47 Internal(String),
48}