UNPKG

claude-flow

Version:

Ruflo - Enterprise AI agent orchestration for Claude Code. Deploy 60+ specialized agents in coordinated swarms with self-learning, fault-tolerant consensus, vector memory, and MCP integration

67 lines 1.86 kB
/** * AST Analyzer for Code Analysis * * Analyzes Abstract Syntax Trees for code understanding * and intelligent routing decisions. * * @module ast-analyzer */ export interface ASTAnalyzerConfig { maxFileSize: number; languages: string[]; includeComments: boolean; extractTypes: boolean; maxDepth: number; } export interface ASTNode { type: string; name: string; startLine: number; endLine: number; children: ASTNode[]; metadata?: Record<string, unknown>; } export interface ASTAnalysis { filePath: string; language: string; root: ASTNode; functions: ASTNode[]; classes: ASTNode[]; imports: string[]; exports: string[]; complexity: { cyclomatic: number; cognitive: number; loc: number; commentDensity: number; }; timestamp: number; durationMs: number; } export declare class ASTAnalyzer { private config; private ruvectorEngine; private useNative; private analysisCache; constructor(config?: Partial<ASTAnalyzerConfig>); initialize(): Promise<void>; analyze(code: string, filePath?: string): ASTAnalysis; getFunctionAtLine(analysis: ASTAnalysis, line: number): ASTNode | null; getClassAtLine(analysis: ASTAnalysis, line: number): ASTNode | null; getSymbols(analysis: ASTAnalysis): string[]; getStats(): Record<string, number>; clearCache(): void; private getCacheKey; private detectLanguage; private parseAST; private matchFunction; private matchClass; private findBlockEnd; private extractFunctions; private extractClasses; private extractImports; private extractExports; private calculateComplexity; } export declare function createASTAnalyzer(config?: Partial<ASTAnalyzerConfig>): ASTAnalyzer; //# sourceMappingURL=ast-analyzer.d.ts.map