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.

97 lines 3.35 kB
import type { FileContent } from '../../../services/file-search-service/index.js'; import type { ParsedPRD, ParsedTaskList } from '../types/artifact-types.js'; import type { ProjectContext } from '../types/project-context.js'; export interface ContextRequest { taskDescription: string; projectPath: string; includeFiles?: string[]; searchPatterns?: string[]; globPatterns?: string[]; contentKeywords?: string[]; maxFiles?: number; maxContentSize?: number; priorityFileTypes?: string[]; excludeDirs?: string[]; } export interface RelevanceFactors { nameRelevance: number; contentRelevance: number; typePriority: number; recencyFactor: number; sizeFactor: number; overallScore: number; } export interface ContextResult { contextFiles: Array<FileContent & { relevance: RelevanceFactors; }>; failedFiles: string[]; summary: { totalFiles: number; totalSize: number; averageRelevance: number; topFileTypes: string[]; gatheringTime: number; }; metrics: { searchTime: number; readTime: number; scoringTime: number; totalTime: number; cacheHitRate: number; }; } interface ContextConfig { defaultMaxFiles: number; defaultMaxContentSize: number; minRelevanceThreshold: number; fileTypePriorities: Record<string, number>; keywordBoostFactor: number; recencyWeightDays: number; } export declare class ContextEnrichmentService { private static instance; private fileSearchService; private fileReaderService; private config; private constructor(); static getInstance(): ContextEnrichmentService; gatherContext(request: ContextRequest): Promise<ContextResult>; private discoverCandidateFiles; private readAndScoreFiles; private selectBestFiles; private calculateRelevance; private calculateNameRelevance; private calculateContentRelevance; private calculateRecencyFactor; private calculateSizeFactor; private extractKeywordsFromTask; private getTopFileTypes; createContextSummary(contextResult: ContextResult): Promise<string>; extractContextFromPRD(prdData: ParsedPRD): Promise<ProjectContext>; extractContextFromTaskList(taskListData: ParsedTaskList): Promise<ProjectContext>; private extractLanguagesFromTechStack; private extractFrameworksFromTechStack; private extractToolsFromTechStack; private determineComplexityFromPRD; private determineComplexityFromTaskList; private extractTeamSizeFromConstraints; private estimateTeamSizeFromTaskList; private estimateCodebaseSizeFromPRD; private estimateCodebaseSizeFromTaskList; private extractHoursFromEffort; clearCache(): void; updateConfig(newConfig: Partial<ContextConfig>): void; getConfig(): ContextConfig; getPerformanceMetrics(): { searchMetrics: import("../../../services/file-search-service/search-strategies.js").SearchMetrics; readerCacheStats: { totalEntries: number; memoryUsage: number; averageFileSize: number; }; searchCacheStats: import("../../../services/file-search-service/search-strategies.js").CacheStats; }; } export {}; //# sourceMappingURL=context-enrichment-service.d.ts.map