/** * Agentic QE v3 - Graph Boundaries Analyzer for RuVector Integration * * Uses RuVector's graph analysis capabilities to detect module boundaries. * Falls back to path-based analysis when RuVector is unavailable. */ import type { GraphBoundariesAnalyzer, GraphBoundariesResult, BoundaryCrossing, RuVectorConfig } from './interfaces'; import type { Severity, Priority } from '../../shared/types'; /** * Configuration for graph boundary analysis */ export interface GraphConfig { /** Max depth to traverse dependencies */ maxDepth: number; /** Coupling threshold for boundary detection */ couplingThreshold: number; /** Min cohesion for module to be considered well-defined */ minCohesion: number; /** Patterns to identify module roots */ modulePatterns: RegExp[]; /** Patterns to ignore */ ignorePatterns: RegExp[]; } /** * Graph boundaries analyzer that integrates with RuVector * Provides ML-enhanced module boundary detection */ export declare class RuVectorGraphBoundariesAnalyzer implements GraphBoundariesAnalyzer { private readonly config; private readonly fallback; private readonly graphConfig; private readonly cache; private moduleCache; private dependencyGraph; constructor(config: RuVectorConfig, graphConfig?: Partial); /** * Analyze module boundaries in codebase */ analyzeBoundaries(entryPoints: string[]): Promise; /** * Get boundary crossings for specific modules */ getBoundaryCrossings(modules: string[]): Promise; /** * Identify critical paths across modules */ getCriticalPaths(): Promise>; /** * Suggest integration test locations */ suggestIntegrationTests(): Promise>; /** * Detect architecture violations */ detectViolations(): Promise>; /** * Perform boundary analysis */ private performAnalysis; /** * Build module structure from entry points */ private buildModuleStructure; /** * Extract module name from file path */ private getModuleName; /** * Analyze dependencies for a module */ private analyzeModuleDependencies; /** * Infer dependencies from file path */ private inferDependencies; /** * Calculate module coupling score */ private calculateModuleCoupling; /** * Calculate module cohesion score */ private calculateModuleCohesion; /** * Identify public APIs in module */ private identifyPublicAPIs; /** * Analyze boundaries between modules */ private analyzeBoundaries_; /** * Analyze crossing between two modules */ private analyzeBoundaryCrossing; /** * Calculate risk score for boundary crossing */ private calculateCrossingRisk; /** * Generate integration test suggestions */ private generateIntegrationSuggestions; /** * Detect circular dependencies */ private detectCircularDependencies; /** * Detect layer violations */ private detectLayerViolations; /** * Get layer name from module name */ private getLayer; /** * Find transitive path between modules */ private findTransitivePath; /** * Calculate path importance */ private calculatePathImportance; /** * Convert risk score to priority */ private riskToPriority; /** * Compute cache key */ private computeCacheKey; } /** * Create graph boundaries analyzer with optional RuVector integration */ export declare function createGraphBoundariesAnalyzer(config: RuVectorConfig, graphConfig?: Partial): GraphBoundariesAnalyzer; //# sourceMappingURL=graph-boundaries.d.ts.map