Skip to main content

vector_ta/indicators/dispatch/
error.rs

1use crate::indicators::registry::IndicatorInputKind;
2use thiserror::Error;
3
4#[derive(Debug, Clone, Error)]
5pub enum IndicatorDispatchError {
6    #[error("unknown indicator: {id}")]
7    UnknownIndicator { id: String },
8    #[error("unknown output '{output}' for indicator '{indicator}'")]
9    UnknownOutput { indicator: String, output: String },
10    #[error("missing required input {input:?} for indicator '{indicator}'")]
11    MissingRequiredInput {
12        indicator: String,
13        input: IndicatorInputKind,
14    },
15    #[error("invalid parameter '{key}' for indicator '{indicator}': {reason}")]
16    InvalidParam {
17        indicator: String,
18        key: String,
19        reason: String,
20    },
21    #[error("unsupported capability '{capability}' for indicator '{indicator}'")]
22    UnsupportedCapability {
23        indicator: String,
24        capability: &'static str,
25    },
26    #[error("data length mismatch: {details}")]
27    DataLengthMismatch { details: String },
28    #[error("kernel unavailable: {details}")]
29    KernelUnavailable { details: String },
30    #[error("compute failed for indicator '{indicator}': {details}")]
31    ComputeFailed { indicator: String, details: String },
32}