UNPKG

@aaswe/codebase-ai

Version:

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

113 lines 3.81 kB
/** * Auto Analysis Workflow * * Enhanced workflow for automatic project analysis with comprehensive * codebase understanding, TTL generation, and knowledge graph population. */ import { EventEmitter } from 'events'; import { ProjectAnalysisResult } from './ProjectAnalysisService'; import { PreservationResult } from './BusinessContextPreserver'; export interface AutoAnalysisConfig { projectRoot: string; outputDirectory: string; enableConcreteExtraction: boolean; enableBusinessContextPlaceholders: boolean; enableKnowledgeGraphPopulation: boolean; enableMCPContextLoading: boolean; preserveBusinessContext: boolean; analysisDepth: 'basic' | 'detailed' | 'comprehensive'; languages: string[]; includePatterns: string[]; excludePatterns: string[]; } export interface ConcreteInformation { actualClassNames: string[]; actualMethodSignatures: string[]; actualDependencies: string[]; actualExports: string[]; actualImports: string[]; architecturalPatterns: string[]; businessDomainIndicators: string[]; qualityMetrics: { complexity: number; maintainability: number; testCoverage: number; documentation: number; }; } export interface EnhancedAnalysisResult extends ProjectAnalysisResult { concreteInformation: Map<string, ConcreteInformation>; knowledgeGraphNodes: number; knowledgeGraphRelationships: number; mcpContextSize: number; businessContextPreserved?: boolean; enhancementsPreserved?: number; preservationResult?: PreservationResult; } /** * Auto Analysis Workflow * * Provides enhanced automatic analysis with concrete information extraction, * comprehensive TTL generation, and knowledge graph population. */ export declare class AutoAnalysisWorkflow extends EventEmitter { private config; private projectAnalysisService; private rdfService; private businessContextPreserver; private moduleKnowledgeManager; private analyzers; private isInitialized; constructor(config?: Partial<AutoAnalysisConfig>); /** * Initialize the workflow */ initialize(): Promise<void>; /** * Execute comprehensive automatic analysis */ executeComprehensiveAnalysis(): Promise<EnhancedAnalysisResult>; /** * Execute incremental analysis for changed files */ executeIncrementalAnalysis(changedFiles: string[]): Promise<EnhancedAnalysisResult>; private setupAnalyzers; private extractConcreteInformation; private buildConcreteInformation; private detectArchitecturalPatterns; private detectBusinessDomainIndicators; private calculateDocumentationScore; private generateEnhancedTTLFiles; private groupFilesByModule; private createModuleAnalysis; private populateKnowledgeGraph; private loadMCPContext; private updateTTLFiles; private updateKnowledgeGraph; private updateMCPContext; /** * Check if Neo4j is available for knowledge graph operations */ private checkNeo4jAvailability; private createKnowledgeGraphEntities; private storeMCPContext; private extractBusinessContextFromTTL; private extractTechnicalSummaryFromTTL; private extractModuleIdFromTTL; private updateModuleInKnowledgeGraph; private updateMCPContextForModule; /** * Write TTL content to the specified output directory */ private writeTTLToOutputDirectory; private getLanguageFromFile; /** * Detect architectural patterns from class and method names */ private detectArchitecturalPatternsFromNames; /** * Detect business domain indicators from class and method names */ private detectBusinessDomainFromNames; } //# sourceMappingURL=AutoAnalysisWorkflow.d.ts.map