vector_ta/indicators/dispatch/
error.rs1use 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}