pub enum MemoryError {
Show 37 variants
Database(Error),
EmbeddingRequest(Error),
DimensionMismatch {
expected: usize,
actual: usize,
},
EmbeddingBatchCountMismatch {
requested: usize,
returned: usize,
},
EmbeddingDimensionMismatch {
expected: usize,
actual: usize,
},
NonFiniteEmbeddingValue {
index: usize,
},
VectorBlobLengthMismatch {
expected_bytes: usize,
actual_bytes: usize,
},
VectorCodecProfileMismatch {
expected_digest: String,
actual_digest: String,
},
SearchReceiptConflict {
receipt_id: String,
},
DigestError(String),
SearchReceiptNotFound {
receipt_id: String,
},
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),
NotImplemented(String),
InvalidKey(String),
QuantizationError(String),
StorageError(String),
IntegrityError {
in_sqlite_not_hnsw: usize,
in_hnsw_not_sqlite: usize,
},
SchemaAhead {
found: u32,
supported: u32,
},
ContentTooLarge {
size: usize,
limit: usize,
},
NamespaceFull {
namespace: String,
count: usize,
limit: usize,
},
DatabaseSizeLimitExceeded {
current: u64,
limit: u64,
},
EpisodeNotFound(String),
PoolTimeout {
elapsed_ms: u64,
pool_size: usize,
},
VectorScanLimitExceeded {
table: String,
scanned: usize,
limit: usize,
},
InvalidConfig {
field: &'static str,
reason: String,
},
CorruptData {
table: &'static str,
row_id: String,
detail: String,
},
ImportInvalid {
reason: String,
},
ImportDuplicate {
envelope_id: String,
},
ImportMigrationRequired {
source_envelope_id: String,
detail: String,
},
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.
EmbeddingBatchCountMismatch
Embedding provider returned a different number of vectors than requested.
EmbeddingDimensionMismatch
Embedding vector has wrong number of dimensions.
NonFiniteEmbeddingValue
Embedding vector contains NaN or infinity.
VectorBlobLengthMismatch
Raw vector BLOB length does not match the expected f32 dimensions.
VectorCodecProfileMismatch
Encoded vector artifact was produced with a different codec profile.
Fields
SearchReceiptConflict
A durable search receipt ID already exists with different payload bytes.
DigestError(String)
Canonical content digest computation failed.
SearchReceiptNotFound
A requested durable search receipt was not found.
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.
NotImplemented(String)
Vector backend not yet implemented (e.g. usearch stub during migration).
InvalidKey(String)
Invalid HNSW key format.
QuantizationError(String)
Quantization error.
StorageError(String)
Storage path error.
IntegrityError
Index integrity check failed.
SchemaAhead
Database schema is newer than this library version can handle.
Fields
ContentTooLarge
Content exceeds configured size limit.
NamespaceFull
Namespace fact count would exceed the configured limit.
Fields
DatabaseSizeLimitExceeded
The configured database size ceiling would be exceeded by a new write.
Fields
EpisodeNotFound(String)
Episode with the given ID does not exist.
PoolTimeout
Connection pool reader acquisition timed out.
Fields
VectorScanLimitExceeded
Brute-force vector search would scan more rows than the configured hard limit.
Fields
InvalidConfig
Configuration could not be normalized into a valid runtime state.
Fields
CorruptData
Stored data is malformed or internally inconsistent.
Fields
ImportInvalid
Import envelope is structurally invalid.
ImportDuplicate
Import envelope has already been ingested (idempotent duplicate).
ImportMigrationRequired
Import hit a historical digest/receipt drift seam and needs operator repair.
Fields
Other(String)
Catch-all for other errors.
Implementations§
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)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
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
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> 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.