Skip to main content

synheart_flux/core/
error.rs

1//! Error types for Synheart Flux
2
3use thiserror::Error;
4
5/// Errors that can occur during computation
6#[derive(Debug, Error)]
7pub enum ComputeError {
8    #[error("Failed to parse vendor payload: {0}")]
9    ParseError(String),
10
11    #[error("Invalid JSON: {0}")]
12    JsonError(#[from] serde_json::Error),
13
14    #[error("Missing required field: {0}")]
15    MissingField(String),
16
17    #[error("Invalid timezone: {0}")]
18    InvalidTimezone(String),
19
20    #[error("Date parse error: {0}")]
21    DateParseError(String),
22
23    #[error("Normalization error: {0}")]
24    NormalizationError(String),
25
26    #[error("Feature derivation error: {0}")]
27    FeatureError(String),
28
29    #[error("Encoding error: {0}")]
30    EncodingError(String),
31
32    #[error("Unsupported vendor: {0}")]
33    UnsupportedVendor(String),
34
35    #[error("Invalid behavioral session: {0}")]
36    InvalidBehaviorSession(String),
37
38    #[error("Insufficient events for computation: {0}")]
39    InsufficientEvents(String),
40}