Skip to main content

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}