UNPKG

@aaswe/codebase-ai

Version:

AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs

133 lines 4.04 kB
/** * Project Analysis Service * * Core orchestrator for automatic project analysis and TTL generation. * This service coordinates between AST analysis, RDF generation, and knowledge management * to provide comprehensive project understanding and context generation. */ import { EventEmitter } from 'events'; export interface ProjectAnalysisConfig { rootPath: string; outputDirectory?: string; languages?: string[]; includePatterns?: string[]; excludePatterns?: string[]; generateTTL?: boolean; enableWatching?: boolean; preserveBusinessContext?: boolean; analysisDepth?: 'basic' | 'detailed' | 'comprehensive'; } export interface ProjectAnalysisResult { projectPath: string; analysisId: string; startTime: Date; endTime: Date; duration: number; summary: { totalFiles: number; analyzedFiles: number; skippedFiles: number; errorFiles: number; ttlFilesGenerated: number; languageBreakdown: Record<string, number>; }; files: Array<{ filePath: string; language: string; status: 'success' | 'error' | 'skipped'; ttlGenerated: boolean; error?: string; }>; errors: Array<{ filePath: string; error: string; phase: 'discovery' | 'analysis' | 'ttl_generation'; }>; warnings: string[]; recommendations: string[]; } export interface ProjectStructure { rootPath: string; packageFiles: Array<{ path: string; type: 'package.json' | 'requirements.txt' | 'pom.xml' | 'go.mod' | 'Cargo.toml' | 'CMakeLists.txt'; dependencies: string[]; }>; sourceFiles: Array<{ path: string; language: string; size: number; lastModified: Date; }>; directories: Array<{ path: string; type: 'source' | 'test' | 'config' | 'docs' | 'build' | 'other'; fileCount: number; }>; projectType: 'web' | 'api' | 'library' | 'cli' | 'desktop' | 'mobile' | 'mixed' | 'unknown'; frameworks: string[]; buildTools: string[]; } /** * Project Analysis Service * * Provides comprehensive project analysis capabilities including: * - Project structure detection and analysis * - Multi-language code analysis and AST generation * - Automatic TTL knowledge file generation * - Real-time file watching and incremental updates * - Integration with knowledge management system */ export declare class ProjectAnalysisService extends EventEmitter { private codeIngestionService; private moduleKnowledgeManager; private analyzers; private config; private isInitialized; constructor(config: ProjectAnalysisConfig); /** * Initialize the Project Analysis Service */ initialize(): Promise<void>; /** * Analyze entire project and generate TTL files */ analyzeProject(): Promise<ProjectAnalysisResult>; /** * Analyze specific files (incremental analysis) */ analyzeFiles(filePaths: string[]): Promise<ProjectAnalysisResult>; /** * Get project structure information */ getProjectStructure(): Promise<ProjectStructure>; /** * Get analysis status and metrics */ getAnalysisMetrics(): any; /** * Shutdown the service */ shutdown(): Promise<void>; private setupAnalyzers; private setupEventHandlers; private discoverProjectStructure; private discoverPackageFiles; private discoverSourceFiles; private discoverDirectories; private analyzeSourceFiles; private generateTTLFiles; private setupProjectWatching; private validateFilePaths; private compileSummary; private generateRecommendations; private getLanguageFromFile; private extractDependencies; private determineProjectType; private detectFrameworks; private detectBuildTools; private classifyDirectory; private ensureInitialized; private countFilesInDirectory; } //# sourceMappingURL=ProjectAnalysisService.d.ts.map