@aaswe/codebase-ai
Version:
AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs
113 lines • 3.81 kB
TypeScript
/**
* 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