@aaswe/codebase-ai
Version:
AI-Assisted Software Engineering (AASWE) - Rich codebase context for IDE LLMs
65 lines • 2.42 kB
TypeScript
/**
* RDF Service
*
* Main orchestrator for RDF generation, validation, and management.
* Provides high-level interface for creating and maintaining .module-knowledge.ttl files.
*/
import { RDFGenerationOptions, RDFGenerationResult, RDFValidationResult, ModuleDetectionResult } from './types';
import { AnalysisResult } from '../ast-analyzer/types';
/**
* Production-Quality RDF Service
*
* Orchestrates the complete RDF generation workflow from AST analysis
* to validated TTL files with comprehensive error handling and logging.
*/
export declare class RDFService {
private readonly generator;
private readonly validator;
constructor(options?: Partial<RDFGenerationOptions>);
/**
* Generate RDF from AST Analysis Result
*/
generateRDF(astResult: AnalysisResult, modulePath: string, options?: Partial<RDFGenerationOptions>): Promise<RDFGenerationResult>;
/**
* Generate RDF for Multiple Modules
*/
generateBatchRDF(astResults: Map<string, AnalysisResult>, options?: Partial<RDFGenerationOptions>): Promise<Map<string, RDFGenerationResult>>;
/**
* Validate Existing TTL File
*/
validateTTLFile(filePath: string): Promise<RDFValidationResult>;
/**
* Detect Modules in Directory
*/
detectModules(rootPath: string): Promise<ModuleDetectionResult>;
/**
* Update Existing TTL File with New Data
*/
updateTTLFile(filePath: string, astResult: AnalysisResult, preserveBusinessContext?: boolean): Promise<RDFGenerationResult>;
/**
* Synchronize TTL Files with Code Changes
*/
synchronizeTTLFiles(changedFiles: string[], astResults: Map<string, AnalysisResult>): Promise<Map<string, RDFGenerationResult>>;
/**
* Generate Module Summary Report
*/
generateSummaryReport(results: Map<string, RDFGenerationResult>): Promise<string>;
private scanDirectory;
private isSupportedFile;
private detectModule;
private inferModuleType;
private getLanguageFromExtension;
private extractBusinessContext;
private mergeBusinessContext;
private getTTLPath;
private calculateDocumentationCoverage;
private calculateBusinessContextCoverage;
private calculateAverageComplexity;
}
declare module './types' {
interface RDFGenerationOptions {
validateOutput?: boolean;
batchConcurrency?: number;
}
}
//# sourceMappingURL=RDFService.d.ts.map