Skip to main content

memex_contracts/
progress.rs

1use 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}