Skip to main content

memex_contracts/
stats.rs

1use std::collections::HashMap;
2
3use serde::{Deserialize, Serialize};
4
5#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Default)]
6pub struct NamespaceStats {
7    pub name: String,
8    pub total_chunks: usize,
9    pub layer_counts: HashMap<String, usize>,
10    pub top_keywords: Vec<(String, usize)>,
11    pub has_timestamps: bool,
12    pub earliest_indexed: Option<String>,
13    pub latest_indexed: Option<String>,
14}
15
16#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Default)]
17pub struct DatabaseStats {
18    pub row_count: usize,
19    pub version_count: usize,
20    pub table_name: String,
21    pub db_path: String,
22}
23
24#[derive(Debug, Clone, Serialize, Deserialize, PartialEq, Eq, Default)]
25pub struct StorageMetrics {
26    pub total_namespaces: usize,
27    pub total_documents: usize,
28    pub bytes_used: Option<u64>,
29    pub bytes_reclaimed: Option<u64>,
30}