use crate::index::parse::DocumentFormat;
use crate::retrieval::SufficiencyLevel;
#[derive(Debug, Clone)]
pub enum IndexEvent {
Started {
path: String,
},
FormatDetected {
format: DocumentFormat,
},
ParsingProgress {
percent: u8,
},
TreeBuilt {
node_count: usize,
},
SummaryProgress {
completed: usize,
total: usize,
},
Complete {
doc_id: String,
},
Error {
message: String,
},
}
#[derive(Debug, Clone)]
pub enum QueryEvent {
Started {
query: String,
},
NodeVisited {
node_id: String,
title: String,
score: f32,
},
CandidateFound {
node_id: String,
score: f32,
},
SufficiencyCheck {
level: SufficiencyLevel,
tokens: usize,
},
Complete {
total_results: usize,
confidence: f32,
},
Error {
message: String,
},
}
#[derive(Debug, Clone)]
pub enum WorkspaceEvent {
Saved {
doc_id: String,
},
Loaded {
doc_id: String,
cache_hit: bool,
},
Removed {
doc_id: String,
},
Cleared {
count: usize,
},
}