export interface ParsedNode { id: string; title: string; content: string; frontmatter: Record; } export interface ParsedEdge { sourceId: string; targetId: string; context: string; targetSubpath?: string | null; } export interface StoredNode extends ParsedNode { embedding: Float32Array | null; } export interface StoredEdge extends ParsedEdge { id: number; } export interface Community { id: number; label: string; summary: string; nodeIds: string[]; } export interface SearchResult { nodeId: string; title: string; score: number; excerpt: string; } export interface PathResult { nodes: string[]; edges: Array<{ sourceId: string; targetId: string; context: string; }>; length: number; } export interface SubgraphResult { nodes: Array<{ id: string; title: string; frontmatter: Record; }>; edges: Array<{ sourceId: string; targetId: string; context: string; }>; } export interface NameMatch { nodeId: string; title: string; matchType: 'id' | 'exact' | 'case-insensitive' | 'alias' | 'substring'; }