UNPKG

@aaswe/codebase-ai

Version:

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

131 lines 4.92 kB
/** * Module Knowledge Manager * * Core orchestrator for managing dual-purpose TTL files that serve both * Neo4j knowledge graph population and direct LLM context enhancement. * * This system bridges the gap between automated code analysis and developer * business context enhancement, ensuring knowledge files remain accurate * and valuable for both graph queries and LLM interactions. */ import { EventEmitter } from 'events'; import { AnalysisResult } from '../ast-analyzer/types'; import { ModuleKnowledgeFile, ModuleKnowledgeManagerOptions, ValidationStatus, ConflictResolution, LLMContextPreview, DeveloperTooling, ModuleKnowledgeResult, BatchOperationResult } from './types'; /** * Module Knowledge Manager * * Manages the complete lifecycle of .module-knowledge.ttl files including: * - Initial generation from code analysis * - Developer business context enhancement * - Validation and conflict resolution * - Knowledge graph and MCP context synchronization * - Developer tooling and preview capabilities */ export declare class ModuleKnowledgeManager extends EventEmitter { private readonly rdfService; private readonly rdfValidator; private readonly options; private readonly knowledgeFiles; private readonly backupDirectory; private readonly syncQueue; private neo4jDriver; private mcpContextCache; private mcpClients; private notificationQueue; constructor(options?: Partial<ModuleKnowledgeManagerOptions>); /** * Initialize Module Knowledge Management System */ initialize(): Promise<ModuleKnowledgeResult<void>>; /** * Generate Initial Knowledge Files from Codebase */ generateInitialKnowledgeFiles(rootPath: string, options?: { overwriteExisting?: boolean; preserveBusinessContext?: boolean; }): Promise<ModuleKnowledgeResult<BatchOperationResult>>; /** * Update Knowledge File from Code Changes */ updateKnowledgeFileFromCode(sourceFilePath: string, astResult: AnalysisResult): Promise<ModuleKnowledgeResult<ModuleKnowledgeFile>>; /** * Validate Knowledge File */ validateKnowledgeFile(filePath: string): Promise<ValidationStatus>; /** * Generate LLM Context Preview */ generateLLMContextPreview(currentFilePath: string, queryContext?: string): Promise<ModuleKnowledgeResult<LLMContextPreview>>; /** * Generate Developer Tooling Information */ generateDeveloperTooling(filePath: string): Promise<ModuleKnowledgeResult<DeveloperTooling>>; /** * Detect and Resolve Conflicts */ detectAndResolveConflicts(filePath: string): Promise<ModuleKnowledgeResult<ConflictResolution | null>>; private setupEventHandlers; private handleFileUpdate; private handleFileValidation; private handleConflictDetection; private discoverExistingKnowledgeFiles; private setupFileWatchers; private cleanupOldBackups; private generateKnowledgeFileForModule; private getKnowledgeFilePath; private fileExists; private calculateChecksum; private createBackup; private extractBusinessContext; private mergeBusinessContext; private analyzeBusinessContextCompleteness; private findRelevantKnowledgeFiles; private analyzeContentComposition; private calculateRelevanceScore; private generateEnhancementSuggestions; private calculateCompletionStatus; private performImpactAnalysis; private attemptAutoResolution; private generateRemoteChangesSimulation; private queueForSync; private getSourceFilePathFromKnowledge; private extractVersionFromContent; private hasBusinessContext; private generateBasicRDFContent; private processSyncQueue; private syncToKnowledgeGraph; private syncToMCPContext; private parseTTLContent; private extractModuleId; /** * Check if Neo4j is available for knowledge graph operations */ private checkNeo4jAvailability; private getNeo4jDriver; private createGraphTriple; private formatForMCP; private extractTechnicalContent; private extractRelationships; private generateContentSummary; private updateContextCache; private notifyMCPClients; private sendWebSocketNotification; private sendWebhookNotification; private sendQueueNotification; private notifyDirectClient; private processNotificationQueue; private persistNotificationToDatabase; private persistNotificationToFileSystem; private analyzeAndUpdateFromSourceChange; private performLightweightAST; private getLanguageFromExtension; private extractFunctions; private extractClasses; private extractImports; private extractExports; private calculateComplexity; private extractDependencies; private extractParameters; private extractClassMethods; } //# sourceMappingURL=ModuleKnowledgeManager.d.ts.map