memex_contracts/
progress.rs1use serde::{Deserialize, Serialize};
2use serde_json::Value;
3
4#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
5pub struct SseEvent {
6 pub event: String,
7 #[serde(skip_serializing_if = "Option::is_none")]
8 pub id: Option<String>,
9 pub data: Value,
10}
11
12#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Default)]
13pub struct ReindexProgress {
14 pub namespace: String,
15 pub total_files: usize,
16 pub processed_files: usize,
17 pub indexed_files: usize,
18 pub skipped_files: usize,
19 pub failed_files: usize,
20 pub total_chunks: usize,
21}
22
23#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Default)]
24pub struct MergeProgress {
25 pub total_docs: usize,
26 pub docs_copied: usize,
27 pub docs_skipped: usize,
28 pub namespaces: Vec<String>,
29 pub sources_processed: usize,
30 pub errors: usize,
31}
32
33#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Default)]
34pub struct ReprocessProgress {
35 pub source_label: String,
36 pub processed_documents: usize,
37 pub indexed_documents: usize,
38 pub skipped_documents: usize,
39 pub failed_documents: usize,
40}
41
42#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Default)]
43pub struct AuditProgress {
44 pub processed_namespaces: usize,
45 pub total_namespaces: usize,
46 pub current_namespace: Option<String>,
47 pub threshold: u8,
48}
49
50#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Default)]
51pub struct RepairResult {
52 pub recovery_dir: String,
53 pub pending_batches: usize,
54 pub repaired_documents: usize,
55 pub skipped_documents: usize,
56 pub batches_repaired: usize,
57}
58
59#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Default)]
60pub struct CompactProgress {
61 pub phase: String,
62 pub status: String,
63 pub description: Option<String>,
64 pub files_removed: Option<u64>,
65 pub files_added: Option<u64>,
66 pub fragments_removed: Option<u64>,
67 pub fragments_added: Option<u64>,
68 pub old_versions: Option<u64>,
69 pub bytes_removed: Option<u64>,
70 pub elapsed_ms: Option<u64>,
71}