UNPKG

arela

Version:

AI-powered CTO with multi-agent orchestration, code summarization, visual testing (web + mobile) for blazing fast development.

127 lines 2.62 kB
/** * Types for codebase ingestion system * Defines data structures for AST analysis and graph building */ export interface IngestOptions { analyze?: boolean; refresh?: boolean; repo?: string; verbose?: boolean; } export interface CodebaseMap { summary: { filesScanned: number; importsFound: number; functionsDefined: number; apiCallsFound: number; }; stats: { modules: number; components: number; services: number; apiEndpoints: number; }; dbPath: string; duration: number; } /** * File node in the dependency graph */ export interface FileNode { path: string; repoPath: string; type: FileType; lines: number; imports?: ImportInfo[]; exports?: ExportInfo[]; functions?: FunctionNode[]; apiCalls?: ApiCall[]; } export type FileType = 'component' | 'service' | 'controller' | 'util' | 'hook' | 'type' | 'config' | 'other'; /** * Import information */ export interface ImportInfo { from: string; names: string[]; type: 'default' | 'named' | 'namespace'; line: number; } /** * Export information */ export interface ExportInfo { name: string; type: 'default' | 'named'; line: number; } /** * Function node in the dependency graph */ export interface FunctionNode { id?: number; name: string; fileId?: number; filePath?: string; isExported: boolean; lineStart: number; lineEnd: number; calls?: number[]; calledBy?: number[]; } /** * Function call relationship */ export interface FunctionCall { callerId: number; calleeId: number; line: number; } /** * API endpoint definition */ export interface ApiEndpoint { method: string; path: string; fileId: number; functionId?: number; line: number; } /** * API call (frontend making a call) */ export interface ApiCall { method: string; url: string; line: number; filePath?: string; } /** * Analysis result for a single file */ export interface FileAnalysis { filePath: string; type: FileType; lines: number; imports: ImportInfo[]; exports: ExportInfo[]; functions: FunctionNode[]; apiEndpoints: ApiEndpoint[]; apiCalls: ApiCall[]; } /** * Graph database query result */ export interface QueryResult { [key: string]: any; } /** * Progress callback for ingestion */ export type ProgressCallback = (update: { type: 'scanning' | 'analyzing' | 'building' | 'storing'; current: number; total: number; message: string; }) => void; //# sourceMappingURL=types.d.ts.map