1use crate::engine::Task;
2
3#[derive(Debug, thiserror::Error)]
5pub enum Error {
6 #[error(
9 "engine `{engine}` ({task}) is a stub in this build — implementation is \
10 scheduled in ROADMAP.md; run `ffai engines` to see engine status"
11 )]
12 NotImplemented { task: Task, engine: String },
13
14 #[error(
15 "no engine named `{name}` registered for task `{task}` — run `ffai engines` to list available engines"
16 )]
17 UnknownEngine { task: Task, name: String },
18
19 #[error("media error: {0}")]
20 Media(String),
21
22 #[error("model error: {0}")]
23 Model(String),
24
25 #[error("tensor error: {0}")]
26 Candle(#[from] candle_core::Error),
27
28 #[error("i/o error: {0}")]
29 Io(#[from] std::io::Error),
30
31 #[error("{0}")]
32 Other(String),
33}
34
35pub type Result<T> = std::result::Result<T, Error>;