File size: 1,248 Bytes
fd8cdf5
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import type { DashboardNode, DashboardEdge, DashboardLayer, TourStep } from '../../types/dashboard.js';
/**
 * Finds the entry point node from the list of file nodes.
 *
 * Strategy:
 * 1. Check for common entry point file names (with and without src/ prefix)
 * 2. Fallback: use the file with the most outgoing import edges
 */
export declare function findEntryPoint(fileNodes: DashboardNode[], edges: DashboardEdge[]): DashboardNode | undefined;
/**
 * Generates a guided tour through the project architecture.
 *
 * Tour generation strategy:
 * 1. Find entry point (index.ts, main.py, App.tsx, etc.)
 * 2. Follow import chain from entry point (BFS, max 10 steps)
 * 3. Each step covers a new layer or key component
 * 4. Generate title from file/function name, description from structure
 *
 * If BFS produces fewer than 5 steps, supplements with one representative
 * file from each layer not yet covered (most connected file).
 *
 * @param nodes - All graph nodes
 * @param edges - All graph edges (used to follow import chains)
 * @param layers - Detected architectural layers
 * @returns Ordered array of tour steps
 */
export declare function buildTour(nodes: DashboardNode[], edges: DashboardEdge[], layers: DashboardLayer[]): TourStep[];