Skip to main content

gaze_recognizers/ner/
error.rs

1use std::path::PathBuf;
2
3use thiserror::Error;
4
5#[derive(Debug, Error)]
6pub enum NerLoadError {
7    #[error("model directory not found: {path}")]
8    ModelDirMissing { path: PathBuf },
9    #[error("SHA256SUMS not found at {path}")]
10    ChecksumsMissing { path: PathBuf },
11    #[error("SHA256SUMS malformed at line {line}: {reason}")]
12    ChecksumsMalformed { line: usize, reason: String },
13    #[error("required artifact missing: {path}")]
14    MissingArtifact { path: PathBuf },
15    #[error("checksum mismatch for {path}: expected {expected}, got {got}")]
16    ChecksumMismatch {
17        path: PathBuf,
18        expected: String,
19        got: String,
20    },
21    #[error("io error reading {path}: {source}")]
22    Io {
23        path: PathBuf,
24        #[source]
25        source: std::io::Error,
26    },
27    #[error("labels.json parse error: {0}")]
28    LabelsParse(String),
29    #[error("config.json parse error: {0}")]
30    ConfigParse(String),
31    #[error("unsupported ner backend: {backend}")]
32    UnsupportedBackend { backend: String },
33    #[error("tokenizer load error: {0}")]
34    Tokenizer(String),
35    #[error("onnx runtime load error: {0}")]
36    Runtime(String),
37}
38
39#[derive(Debug, Error)]
40pub(crate) enum NerRuntimeError {
41    #[error("tokenizer encode error: {0}")]
42    Tokenizer(String),
43    #[error("input tensor build error: {0}")]
44    InputTensor(String),
45    #[error("session mutex poisoned: {0}")]
46    Poisoned(String),
47    #[error("inference failed: {0}")]
48    Inference(String),
49    #[error("logits extract failed: {0}")]
50    Output(String),
51}