UNPKG

vibe-coder-mcp

Version:

Production-ready MCP server with complete agent integration, multi-transport support, and comprehensive development automation tools for AI-assisted workflows.

297 lines 10.2 kB
import { AtomicTask } from '../types/task.js'; import { DependencyNode } from '../types/dependency.js'; export type ExtendedDependencyType = 'task' | 'package' | 'framework' | 'tool' | 'import' | 'environment'; export interface DependencyEdge { from: string; to: string; type: ExtendedDependencyType; weight: number; critical: boolean; description?: string; } export interface GraphMetrics { totalNodes: number; totalEdges: number; maxDepth: number; criticalPathLength: number; parallelBatches: number; cycleCount: number; orphanedNodes: number; averageDegree: number; } export interface ParallelBatch { batchId: number; taskIds: string[]; estimatedDuration: number; dependencies: string[]; canStartAfter: number[]; } export interface CriticalPathAnalysis { paths: string[][]; longestPath: string[]; totalDuration: number; resourceWeightedDuration: number; bottleneckTasks: string[]; } export interface DependencyImpact { taskId: string; directDependents: string[]; indirectDependents: string[]; impactRadius: number; riskLevel: 'low' | 'medium' | 'high' | 'critical'; propagationChain: string[][]; } export interface BottleneckAnalysis { taskId: string; bottleneckType: 'resource' | 'dependency' | 'critical-path' | 'parallel-constraint'; severity: number; affectedTasks: string[]; recommendations: string[]; } export interface ResourceOptimization { optimalBatches: ParallelBatch[]; resourceUtilization: number; timeReduction: number; parallelismOpportunities: { taskId: string; canRunWith: string[]; estimatedSavings: number; }[]; } export interface DependencyValidationResult { isValid: boolean; errors: ValidationError[]; warnings: ValidationWarning[]; suggestions: DependencySuggestion[]; } export interface ValidationError { type: 'cycle' | 'missing-task' | 'invalid-type' | 'self-dependency' | 'conflict'; severity: 'error' | 'warning'; message: string; affectedTasks: string[]; suggestedFix?: string; } export interface ValidationWarning { type: 'redundant' | 'inefficient' | 'potential-issue'; message: string; affectedTasks: string[]; recommendation?: string; } export interface DependencySuggestion { type: 'add' | 'remove' | 'modify' | 'reorder'; fromTaskId: string; toTaskId: string; dependencyType: ExtendedDependencyType; reason: string; confidence: number; impact: 'low' | 'medium' | 'high'; } export interface DependencyConflict { conflictType: 'circular' | 'incompatible-types' | 'resource-contention' | 'timing-conflict'; description: string; involvedTasks: string[]; involvedDependencies: string[]; severity: 'low' | 'medium' | 'high' | 'critical'; resolutionOptions: ConflictResolution[]; } export interface ConflictResolution { strategy: 'remove-dependency' | 'change-type' | 'reorder-tasks' | 'split-task' | 'merge-tasks'; description: string; impact: string; effort: 'low' | 'medium' | 'high'; } export type GraphSerializationFormat = 'json' | 'yaml'; export interface SerializedGraph { version: string; projectId: string; timestamp: string; format: GraphSerializationFormat; checksum: string; nodes: Record<string, DependencyNode>; edges: Record<string, DependencyEdge>; adjacencyList: Record<string, string[]>; reverseIndex: Record<string, string[]>; metadata: { totalNodes: number; totalEdges: number; criticalPath: string[]; topologicalOrder: string[]; parallelBatches: ParallelBatch[]; metrics: GraphMetrics; }; } export interface GraphPersistenceResult { success: boolean; filePath?: string; format: GraphSerializationFormat; size: number; checksum: string; error?: string; timestamp: Date; } export interface GraphRecoveryResult { success: boolean; recovered: boolean; corruptionDetected: boolean; backupUsed?: string; validationErrors: string[]; recoveryActions: string[]; error?: string; } export interface GraphIntegrityResult { isValid: boolean; errors: string[]; warnings: string[]; checksumValid: boolean; structureValid: boolean; dataConsistent: boolean; } export interface GraphVersion { version: string; timestamp: Date; checksum: string; description: string; filePath: string; format: GraphSerializationFormat; } export declare class OptimizedDependencyGraph { private projectId; private adjacencyList; private reverseIndex; private nodes; private edges; private topologicalOrder; private criticalPath; private parallelBatches; private isDirty; private metrics; constructor(projectId: string); addTask(task: AtomicTask): void; addDependency(dependentTaskId: string, dependencyTaskId: string, type?: ExtendedDependencyType, weight?: number, critical?: boolean, description?: string): boolean; removeDependency(dependentTaskId: string, dependencyTaskId: string): boolean; getReadyTasks(): string[]; detectCycles(): string[][]; getTopologicalOrder(): string[]; getCriticalPath(): string[]; getParallelBatches(): ParallelBatch[]; private wouldCreateCycle; private hasPath; private hasNoPendingDependencies; private markDirty; private updateMetrics; private calculateMaxDepth; private getOrphanedNodes; private calculateAverageDegree; getMetrics(): GraphMetrics; getNodes(): Map<string, DependencyNode>; getEdges(): Map<string, DependencyEdge>; clearCache(): void; reset(): void; getSize(): { nodes: number; edges: number; }; analyzeCriticalPath(): CriticalPathAnalysis; analyzeDependencyImpact(taskId: string): DependencyImpact; detectBottlenecks(): BottleneckAnalysis[]; optimizeResourceAllocation(): ResourceOptimization; private findAllCriticalPaths; private findSourceNodes; private findSinkNodes; private findAllPathsBetween; private calculatePathDuration; private calculateResourceWeightedDuration; private findIndirectDependents; private findPropagationChains; private calculateRiskLevel; private analyzeTaskBottleneck; private checkParallelConstraints; private optimizeParallelBatches; private balanceBatch; private identifyParallelismOpportunities; private findParallelizableTasks; private calculateParallelSavings; validateDependencies(): DependencyValidationResult; detectDependencyConflicts(): DependencyConflict[]; generateDependencySuggestions(): DependencySuggestion[]; validateDependencyBeforeAdd(dependentTaskId: string, dependencyTaskId: string, type: ExtendedDependencyType): DependencyValidationResult; private validateDependencyTypes; private checkTypeCompatibility; private detectIncompatibleTypes; private detectResourceContention; private checkBatchResourceConflicts; private detectTimingConflicts; private getCycleDependencies; private getTaskDependencyIds; private suggestMissingDependencies; private analyzePotentialDependencies; private suggestDependencyTypeImprovements; private suggestBetterDependencyType; private suggestParallelizationOpportunities; private couldBeParallelized; private detectRedundantDependencies; private isTransitiveDependency; serializeToJSON(): SerializedGraph; serializeToYAML(): SerializedGraph; saveToFile(filePath: string, format?: GraphSerializationFormat, createBackup?: boolean): Promise<GraphPersistenceResult>; loadFromFile(filePath: string): Promise<GraphRecoveryResult>; validateGraphIntegrity(serializedGraph: SerializedGraph): GraphIntegrityResult; createIncrementalUpdate(previousChecksum: string): Partial<SerializedGraph> | null; applyIncrementalUpdate(update: Partial<SerializedGraph>): boolean; createVersion(basePath: string, version: string, description?: string): Promise<GraphVersion | null>; listVersions(basePath: string): Promise<GraphVersion[]>; rollbackToVersion(versionPath: string): Promise<GraphRecoveryResult>; private createSerializedData; private calculateChecksum; private sortObjectKeysRecursively; private convertToYAML; private parseGraphContent; private parseYAMLContent; private loadFromSerializedData; private attemptRecovery; private createBackup; private calculateMetrics; private findOrphanedNodes; private fileExists; private readFile; private writeFile; autoDetectDependencies(tasks: AtomicTask[]): DependencySuggestion[]; private analyzePotentialDependency; private detectDependencyPatterns; private detectSequentialDependency; private detectFileDependency; private detectFrameworkDependency; private detectTestingDependency; private detectEnvironmentDependency; private containsKeywords; private detectImportRelationship; private extractKeyTerms; applyIntelligentDependencyDetection(tasks: AtomicTask[]): { appliedDependencies: number; suggestions: DependencySuggestion[]; warnings: string[]; }; private updateTaskDependencies; private detectResourceConflicts; getRecommendedExecutionOrder(): { topologicalOrder: string[]; parallelBatches: ParallelBatch[]; criticalPath: string[]; estimatedDuration: number; }; exportDependencyAnalysis(): { nodes: DependencyNode[]; edges: DependencyEdge[]; metrics: GraphMetrics; executionPlan: { topologicalOrder: string[]; parallelBatches: ParallelBatch[]; criticalPath: string[]; estimatedDuration: number; }; }; } export declare function createDependencyGraph(projectId: string): OptimizedDependencyGraph; export declare function getDependencyGraph(projectId: string): OptimizedDependencyGraph; export declare function clearProjectDependencyGraph(projectId: string): void; //# sourceMappingURL=dependency-graph.d.ts.map