use thiserror::Error; #[derive(Error, Debug, Clone, PartialEq)] pub enum PolygraphError { #[error("Invalid node configuration: {message}")] InvalidNodeConfiguration { message: String }, #[error("Insufficient memory: required {required_mb}MB, available {available_mb}MB")] InsufficientMemory { required_mb: u64, available_mb: u64 }, #[error("Invalid graph structure: {message}")] InvalidGraphStructure { message: String }, #[error("Fusion error: {message}")] FusionError { message: String }, #[error("Cache error: {message}")] CacheError { message: String }, #[error("Optimization error: {message}")] OptimizationError { message: String }, #[error("Compilation error: {message}")] CompilationError { message: String }, #[error("Runtime error: {message}")] RuntimeError { message: String }, } pub type Result = std::result::Result;