use serde::{Deserialize, Serialize};
#[derive(Debug, Clone, Serialize, Deserialize)]
#[cfg_attr(feature = "schemars", derive(schemars::JsonSchema))]
pub struct SearchResult {
pub file_path: String,
#[serde(default)]
pub root_path: Option<String>,
pub content: String,
pub score: f32,
pub vector_score: f32,
pub keyword_score: Option<f32>,
pub start_line: usize,
pub end_line: usize,
pub language: String,
pub project: Option<String>,
#[serde(default)]
pub indexed_at: i64,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ChunkMetadata {
pub file_path: String,
#[serde(default)]
pub root_path: Option<String>,
pub project: Option<String>,
pub start_line: usize,
pub end_line: usize,
pub language: Option<String>,
pub extension: Option<String>,
pub file_hash: String,
pub indexed_at: i64,
}
#[derive(Debug, Clone, Default)]
pub struct DatabaseStats {
pub total_points: usize,
pub total_vectors: usize,
pub language_breakdown: Vec<(String, usize)>,
}