pizen-lynx-protocol 0.1.2

Protocol definitions for Lynx.
Documentation
use serde::{Deserialize, Serialize};

#[derive(Debug, Clone, Copy, Serialize, Deserialize, PartialEq, Eq)]
pub enum SymbolType {
    Definition,
    Reference,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SymbolRecord {
    pub symbol_id: String,
    pub symbol_name: String,
    pub symbol_type: SymbolType,
    pub file_path: String,
    pub start_line: usize,
    pub end_line: usize,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct CodeChunk {
    pub id: String,
    pub file_path: String,
    pub start_line: usize,
    pub end_line: usize,
    pub raw_content: String,
    pub symbols_defined: Vec<String>,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct DiscoveryResult {
    pub symbol_id: String,
    pub score: f32,
    pub file_path: String,
    pub start_line: usize,
    pub end_line: usize,
    #[serde(default)]
    pub reasons: Vec<String>,
}