/** * Demerzel Enhanced Snapshot * * Extends basic snapshots with structural metadata: * - Import graph (who imports whom) * - Export index (symbols -> files) * - Function/class signatures * - File dependency tree * - Complexity scores * - Test file mapping * - Recent git changes * * This enables understanding architecture without reading individual files. * * Ported from Argus to Foundation. */ import { SnapshotOptions, SnapshotResult } from './snapshot.js'; export interface ImportInfo { source: string; target: string; resolved?: string; symbols: string[]; isDefault: boolean; isType: boolean; } export interface ExportInfo { file: string; symbol: string; type: 'function' | 'class' | 'const' | 'let' | 'var' | 'type' | 'interface' | 'enum' | 'default' | 'unknown'; signature?: string; line: number; } export interface FileMetadata { path: string; imports: ImportInfo[]; exports: ExportInfo[]; size: number; lines: number; } export interface ComplexityInfo { file: string; score: number; level: 'low' | 'medium' | 'high'; } export interface RecentChangeInfo { file: string; commits: number; authors: number; } export interface EnhancedSnapshotResult extends SnapshotResult { metadata: { imports: ImportInfo[]; exports: ExportInfo[]; fileIndex: Record; importGraph: Record; exportGraph: Record; symbolIndex: Record; complexityScores: ComplexityInfo[]; testFileMap: Record; recentChanges: RecentChangeInfo[] | null; }; } /** * Create an enhanced snapshot with structural metadata. * * Writes a compressed `.zst` file to disk. The `outputPath` parameter is the * canonical (uncompressed) path; the actual on-disk file is `outputPath + ".zst"`. * * Mode behaviour (controlled via `options.mode`): * - `"full"` — all file bodies + all metadata sections (default) * - `"graph"` — file tree + import/export graph + symbol index (~80% smaller) * - `"index"` — file tree + top-level exports only (~95% smaller) */ export declare function createEnhancedSnapshot(projectPath: string, outputPath: string, options?: SnapshotOptions): Promise; //# sourceMappingURL=enhanced-snapshot.d.ts.map