cai_ingest/error.rs
1//! Error types for data ingestion
2
3use thiserror::Error;
4
5/// Ingest-specific errors
6#[derive(Debug, Error)]
7#[non_exhaustive]
8pub enum IngestError {
9 /// No conversation files found
10 #[error("No conversation files found in {0}")]
11 NoFilesFound(String),
12
13 /// Invalid file format
14 #[error("Invalid file format: {0}")]
15 InvalidFormat(String),
16
17 /// Git operation failed
18 #[error("Git operation failed: {0}")]
19 GitError(#[from] git2::Error),
20
21 /// Path not found
22 #[error("Path not found: {0}")]
23 PathNotFound(String),
24
25 /// Permission denied
26 #[error("Permission denied: {0}")]
27 PermissionDenied(String),
28}