Section 7.2Source:
server/src/graph/models/GraphNode.tsCode Entities & Node Types
Complete TypeScript interface specifications for all four node types in the CodeGraph entity schema.
Source:
server/src/graph/models/GraphNode.tsThe `GraphNode` Discriminated Union
server/src/graph/models/GraphNode.ts
1234567export type GraphNodeKind = "file" | "symbol" | "dependency" | "module"; export type GraphNode = | FileNode | SymbolNode | DependencyNode | ModuleNode;
Individual Node Interfaces
Node Interfaces
123456789101112131415161718192021222324252627282930export interface FileNode { id: string; // "file:/abs/path/to/file.ts" kind: "file"; filePath: string; } export interface SymbolNode { id: string; // "symbol:/abs/path/to/file.ts:12:4:login" kind: "symbol"; name: string; symbolKind: SymbolKind; fileId: string; // Owning FileNode ID location: SymbolLocation; // { startLine, startColumn, endLine, endColumn } methodKind?: MethodKind; // "get" | "set" | "method" | "private" parentSymbolId?: string; // Enclosing container symbol ID } export interface DependencyNode { id: string; // "dependency:express" kind: "dependency"; name: string; version: string; packageJsonPath: string; } export interface ModuleNode { id: string; // "module:fs" kind: "module"; name: string; }