1use std::num::TryFromIntError;
7
8#[derive(Debug, thiserror::Error)]
10pub enum IndexError {
11 #[error("IO error: {0}")]
13 Io(#[from] std::io::Error),
14
15 #[error("database error: {0}")]
17 Sqlite(#[from] zeph_db::SqlxError),
18
19 #[error("vector store error: {0}")]
21 VectorStore(#[from] zeph_memory::VectorStoreError),
22
23 #[error("LLM error: {0}")]
25 Llm(#[from] zeph_llm::LlmError),
26
27 #[error("JSON error: {0}")]
29 Json(#[from] serde_json::Error),
30
31 #[error("parse failed: {0}")]
33 Parse(String),
34
35 #[error("unsupported language")]
37 UnsupportedLanguage,
38
39 #[error("watcher error: {0}")]
41 Watcher(#[from] notify::Error),
42
43 #[error("integer conversion failed: {0}")]
45 IntConversion(#[from] TryFromIntError),
46
47 #[error("{0}")]
49 Other(String),
50}
51
52pub type Result<T> = std::result::Result<T, IndexError>;