pub enum MemoryError {
Show 16 variants
Database(Error),
EmbeddingRequest(Error),
DimensionMismatch {
expected: usize,
actual: usize,
},
InvalidEmbedding {
expected_bytes: usize,
actual_bytes: usize,
},
ModelMismatch {
stored: String,
configured: String,
},
SessionNotFound(String),
FactNotFound(String),
DocumentNotFound(String),
EmbedderUnavailable(String),
MigrationFailed {
version: u32,
reason: String,
},
HnswError(String),
InvalidKey(String),
QuantizationError(String),
StorageError(String),
IntegrityError {
in_sqlite_not_hnsw: usize,
in_hnsw_not_sqlite: usize,
},
Other(String),
}Expand description
Error types for the semantic-memory crate.
All errors flow through MemoryError, using #[from] for automatic
conversion from rusqlite and reqwest errors.
Variants§
Database(Error)
SQLite / rusqlite error.
EmbeddingRequest(Error)
HTTP error from the embedding provider.
DimensionMismatch
Embedding vector has wrong number of dimensions.
InvalidEmbedding
Raw BLOB data is not a valid embedding.
ModelMismatch
Database was created with a different embedding model.
SessionNotFound(String)
Session with the given ID does not exist.
FactNotFound(String)
Fact with the given ID does not exist.
DocumentNotFound(String)
Document with the given ID does not exist.
Embedding provider is unreachable or misconfigured.
MigrationFailed
Database migration failed.
HnswError(String)
HNSW index error.
InvalidKey(String)
Invalid HNSW key format.
QuantizationError(String)
Quantization error.
StorageError(String)
Storage path error.
IntegrityError
Index integrity check failed.
Other(String)
Catch-all for other errors.
Trait Implementations§
Source§impl Debug for MemoryError
impl Debug for MemoryError
Source§impl Display for MemoryError
impl Display for MemoryError
Source§impl Error for MemoryError
impl Error for MemoryError
Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
Returns the lower-level source of this error, if any. Read more
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
👎Deprecated since 1.42.0: use the Display impl or to_string()
Source§impl From<Error> for MemoryError
impl From<Error> for MemoryError
Auto Trait Implementations§
impl Freeze for MemoryError
impl !RefUnwindSafe for MemoryError
impl Send for MemoryError
impl Sync for MemoryError
impl Unpin for MemoryError
impl UnsafeUnpin for MemoryError
impl !UnwindSafe for MemoryError
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<T> PolicyExt for Twhere
T: ?Sized,
impl<T> PolicyExt for Twhere
T: ?Sized,
Source§impl<T> ToStringFallible for Twhere
T: Display,
impl<T> ToStringFallible for Twhere
T: Display,
Source§fn try_to_string(&self) -> Result<String, TryReserveError>
fn try_to_string(&self) -> Result<String, TryReserveError>
ToString::to_string, but without panic on OOM.