1#[derive(Debug, thiserror::Error)]
3pub enum JudgeError {
4 #[error("tokenizer error: {0}")]
5 Tokenizer(String),
6
7 #[error("ORT session error: {0}")]
8 Session(String),
9
10 #[error("model inference error: {0}")]
11 Inference(String),
12
13 #[error("record not found in store: id={0}")]
14 RecordNotFound(u64),
15
16 #[error("judge worker thread disconnected")]
17 WorkerDisconnected,
18
19 #[error("I/O error: {0}")]
20 Io(#[from] std::io::Error),
21}
22
23impl From<JudgeError> for zer_core::error::ZerError {
24 fn from(e: JudgeError) -> Self {
25 zer_core::error::ZerError::Judge(e.to_string())
26 }
27}
28
29impl From<ort::Error> for JudgeError {
30 fn from(e: ort::Error) -> Self {
31 JudgeError::Session(e.to_string())
32 }
33}