#[derive(Debug, Clone, PartialEq, Eq)]
pub enum IndexPhase {
Scanning,
Parsing,
Storing,
Resolving,
}
#[derive(Debug, Clone)]
pub struct IndexProgress {
pub phase: IndexPhase,
pub current: usize,
pub total: usize,
pub current_file: Option<String>,
}
#[derive(Debug, Clone)]
pub struct IndexResult {
pub success: bool,
pub files_indexed: usize,
pub files_skipped: usize,
pub files_errored: usize,
pub nodes_created: usize,
pub edges_created: usize,
pub errors: Vec<crate::types::ExtractionError>,
pub duration_ms: u64,
}
#[derive(Debug, Clone)]
pub struct SyncResult {
pub files_checked: usize,
pub files_added: usize,
pub files_modified: usize,
pub files_removed: usize,
pub nodes_updated: usize,
pub duration_ms: u64,
pub changed_file_paths: Option<Vec<String>>,
}
#[derive(Debug, Clone, Default)]
pub struct GitChanges {
pub added: Vec<String>,
pub modified: Vec<String>,
pub deleted: Vec<String>,
}