use serde::{Deserialize, Serialize};
pub type NodeId = u64;
pub type Label = String;
pub type Weight = f32;
#[derive(Debug, Clone, Serialize, Deserialize, PartialEq)]
pub struct Edge {
pub target_id: NodeId,
pub label: Label,
pub weight: Weight,
}
#[derive(Debug, Clone)]
pub struct NodeView<T> {
pub id: NodeId,
pub vector: Vec<T>,
pub payload: serde_json::Value,
pub edges: Vec<Edge>,
}
pub type Node<T> = NodeView<T>;
#[derive(Debug, Clone)]
pub struct SearchHit {
pub id: NodeId,
pub score: f32, pub payload: serde_json::Value,
}