gaze_recognizers/ner/
error.rs1use 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}