1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum ConvertError {
5 #[error("backend does not support modifier: {0}")]
6 UnsupportedModifier(String),
7
8 #[error("backend does not support keyword/unbound detection")]
9 UnsupportedKeyword,
10
11 #[error("backend does not support correlation type: {0}")]
12 UnsupportedCorrelation(String),
13
14 #[error("backend requires a processing pipeline")]
15 PipelineRequired,
16
17 #[error("field name is required but missing")]
18 MissingFieldName,
19
20 #[error("unsupported value type: {0}")]
21 UnsupportedValue(String),
22
23 #[error("CIDR parse error: {0}")]
24 CidrParse(String),
25
26 #[error("regex error: {0}")]
27 Regex(String),
28
29 #[error("rule conversion failed: {0}")]
30 RuleConversion(String),
31
32 #[error("pipeline error: {0}")]
33 Pipeline(#[from] rsigma_eval::error::EvalError),
34}
35
36pub type Result<T> = std::result::Result<T, ConvertError>;