UNPKG

@aaswe/codebase-ai

Version:

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

203 lines 5.57 kB
/** * Concrete Information Extractor * * Extracts concrete, actual information from code analysis results * to generate TTL files with real class names, method signatures, * dependencies, and business context indicators. */ import { AnalysisResult } from '../ast-analyzer/types'; export interface ConcreteCodeStructure { actualClasses: ConcreteClass[]; actualFunctions: ConcreteFunction[]; actualDependencies: ConcreteDependency[]; actualExports: ConcreteExport[]; actualImports: ConcreteImport[]; architecturalPatterns: ArchitecturalPattern[]; businessDomainIndicators: BusinessDomainIndicator[]; qualityMetrics: ConcreteQualityMetrics; } export interface ConcreteClass { name: string; fullyQualifiedName: string; methods: ConcreteMethod[]; properties: ConcreteProperty[]; inheritance: { extends?: string | undefined; implements: string[]; }; visibility: 'public' | 'private' | 'protected'; isAbstract: boolean; sourceLocation: SourceLocation; businessPurpose?: string; designPatterns: string[]; } export interface ConcreteMethod { name: string; signature: string; parameters: ConcreteParameter[]; returnType: string; visibility: 'public' | 'private' | 'protected'; isStatic: boolean; isAsync: boolean; complexity: number; sourceLocation: SourceLocation; businessPurpose?: string; sideEffects: string[]; } export interface ConcreteFunction { name: string; signature: string; parameters: ConcreteParameter[]; returnType: string; isAsync: boolean; isExported: boolean; complexity: number; sourceLocation: SourceLocation; businessPurpose?: string; dependencies: string[]; } export interface ConcreteParameter { name: string; type: string; isOptional: boolean; defaultValue?: string; businessMeaning?: string; } export interface ConcreteProperty { name: string; type: string; visibility: 'public' | 'private' | 'protected'; isStatic: boolean; isReadonly: boolean; defaultValue?: string | undefined; businessPurpose?: string; } export interface ConcreteDependency { name: string; version?: string; type: 'external' | 'internal' | 'builtin'; usage: 'import' | 'require' | 'dynamic'; usedSymbols: string[]; businessJustification?: string; } export interface ConcreteExport { name: string; type: 'function' | 'class' | 'variable' | 'type' | 'interface'; isDefault: boolean; businessValue?: string; } export interface ConcreteImport { source: string; imports: { name: string; alias?: string; isDefault: boolean; isNamespace: boolean; }[]; businessReason?: string; } export interface ArchitecturalPattern { name: string; confidence: number; evidence: string[]; businessBenefit?: string; } export interface BusinessDomainIndicator { domain: string; confidence: number; evidence: string[]; keywords: string[]; } export interface ConcreteQualityMetrics { complexity: { cyclomatic: number; cognitive: number; maintainability: number; }; testability: { score: number; factors: string[]; }; reusability: { score: number; factors: string[]; }; documentation: { coverage: number; quality: number; }; } export interface SourceLocation { file: string; startLine: number; endLine: number; startColumn: number; endColumn: number; } /** * Concrete Information Extractor * * Analyzes code structure to extract concrete, actionable information * for generating comprehensive TTL files with real implementation details. */ export declare class ConcreteInformationExtractor { /** * Extract concrete code structure from analysis result */ extractConcreteStructure(analysisResult: AnalysisResult): ConcreteCodeStructure; /** * Extract concrete class information */ private extractConcreteClasses; /** * Extract concrete method information from class */ private extractConcreteMethods; /** * Extract concrete function information */ private extractConcreteFunctions; /** * Extract concrete dependencies */ private extractConcreteDependencies; /** * Extract concrete exports */ private extractConcreteExports; /** * Extract concrete imports */ private extractConcreteImports; /** * Detect architectural patterns */ private detectArchitecturalPatterns; /** * Detect business domain indicators */ private detectBusinessDomainIndicators; /** * Calculate concrete quality metrics */ private calculateConcreteQualityMetrics; private buildFullyQualifiedName; private buildMethodSignature; private extractConcreteParameters; private extractConcreteProperties; private classifyDependencyType; private detectClassDesignPatterns; private analyzeSideEffects; private inferBusinessPurpose; private inferBusinessMeaning; private inferDependencyJustification; private inferBusinessValue; private inferImportReason; private calculateTestabilityScore; private getTestabilityFactors; private calculateReusabilityScore; private getReusabilityFactors; private calculateDocumentationCoverage; private calculateDocumentationQuality; } //# sourceMappingURL=ConcreteInformationExtractor.d.ts.map