Merge commit 'd803bfe2b1fe7f5e219e50ac20d6801a0a58ac75' as 'vendor/ruvector'
This commit is contained in:
129
vendor/ruvector/crates/ruvllm/src/error.rs
vendored
Normal file
129
vendor/ruvector/crates/ruvllm/src/error.rs
vendored
Normal file
@@ -0,0 +1,129 @@
|
||||
//! Error types for RuvLLM
|
||||
//!
|
||||
//! This module defines the error hierarchy for the RuvLLM crate,
|
||||
//! providing detailed error information for debugging and handling.
|
||||
|
||||
use thiserror::Error;
|
||||
|
||||
/// Result type alias for RuvLLM operations
|
||||
pub type Result<T> = std::result::Result<T, RuvLLMError>;
|
||||
|
||||
/// Main error type for RuvLLM
|
||||
#[derive(Error, Debug)]
|
||||
pub enum RuvLLMError {
|
||||
/// Storage-related errors
|
||||
#[error("Storage error: {0}")]
|
||||
Storage(String),
|
||||
|
||||
/// Session management errors
|
||||
#[error("Session error: {0}")]
|
||||
Session(String),
|
||||
|
||||
/// KV cache errors
|
||||
#[error("KV cache error: {0}")]
|
||||
KvCache(String),
|
||||
|
||||
/// Paged attention errors
|
||||
#[error("Paged attention error: {0}")]
|
||||
PagedAttention(String),
|
||||
|
||||
/// Adapter management errors
|
||||
#[error("Adapter error: {0}")]
|
||||
Adapter(String),
|
||||
|
||||
/// Policy store errors
|
||||
#[error("Policy error: {0}")]
|
||||
Policy(String),
|
||||
|
||||
/// Witness log errors
|
||||
#[error("Witness log error: {0}")]
|
||||
WitnessLog(String),
|
||||
|
||||
/// SONA learning errors
|
||||
#[error("SONA error: {0}")]
|
||||
Sona(String),
|
||||
|
||||
/// Configuration errors
|
||||
#[error("Configuration error: {0}")]
|
||||
Config(String),
|
||||
|
||||
/// Resource exhaustion
|
||||
#[error("Out of memory: {0}")]
|
||||
OutOfMemory(String),
|
||||
|
||||
/// Invalid operation
|
||||
#[error("Invalid operation: {0}")]
|
||||
InvalidOperation(String),
|
||||
|
||||
/// Not found
|
||||
#[error("Not found: {0}")]
|
||||
NotFound(String),
|
||||
|
||||
/// Serialization errors
|
||||
#[error("Serialization error: {0}")]
|
||||
Serialization(String),
|
||||
|
||||
/// IO errors
|
||||
#[error("IO error: {0}")]
|
||||
Io(#[from] std::io::Error),
|
||||
|
||||
/// Ruvector errors
|
||||
#[error("Ruvector error: {0}")]
|
||||
Ruvector(String),
|
||||
|
||||
/// Backend inference errors
|
||||
#[error("Backend error: {0}")]
|
||||
Backend(String),
|
||||
|
||||
/// Model loading errors
|
||||
#[error("Model error: {0}")]
|
||||
Model(String),
|
||||
|
||||
/// Tokenization errors
|
||||
#[error("Tokenization error: {0}")]
|
||||
Tokenization(String),
|
||||
|
||||
/// Generation errors
|
||||
#[error("Generation error: {0}")]
|
||||
Generation(String),
|
||||
|
||||
/// Metal GPU errors (macOS only)
|
||||
#[error("Metal error: {0}")]
|
||||
Metal(String),
|
||||
|
||||
/// Shader compilation errors
|
||||
#[error("Shader error: {0}")]
|
||||
Shader(String),
|
||||
|
||||
/// GGUF format errors
|
||||
#[error("GGUF error: {0}")]
|
||||
Gguf(String),
|
||||
|
||||
/// Quantization errors
|
||||
#[error("Quantization error: {0}")]
|
||||
Quantization(String),
|
||||
|
||||
/// Not implemented errors
|
||||
#[error("Not implemented: {0}")]
|
||||
NotImplemented(String),
|
||||
|
||||
/// Hybrid pipeline errors
|
||||
#[error("Hybrid pipeline error: {0}")]
|
||||
HybridPipeline(String),
|
||||
|
||||
/// Core ML errors (macOS only)
|
||||
#[error("Core ML error: {0}")]
|
||||
CoreML(String),
|
||||
}
|
||||
|
||||
impl From<ruvector_core::RuvectorError> for RuvLLMError {
|
||||
fn from(err: ruvector_core::RuvectorError) -> Self {
|
||||
RuvLLMError::Ruvector(err.to_string())
|
||||
}
|
||||
}
|
||||
|
||||
impl From<serde_json::Error> for RuvLLMError {
|
||||
fn from(err: serde_json::Error) -> Self {
|
||||
RuvLLMError::Serialization(err.to_string())
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user