UNPKG

bugger-mcp

Version:

MCP Server for managing bugs, feature requests, and improvements

179 lines 5.26 kB
import { ParsedStackTrace } from './stack-trace-parser.js'; export type TaskType = 'bug' | 'feature' | 'improvement'; export interface CodeContext { id: string; taskId: string; taskType: TaskType; contextType: 'snippet' | 'file_reference' | 'dependency' | 'pattern'; source: 'ai_collected' | 'manual'; filePath: string; startLine?: number; endLine?: number; content?: string; description: string; relevanceScore: number; keywords: string[]; dateCollected: string; dateLastChecked?: string; isStale?: boolean; } export interface CodeSection { filePath: string; startLine: number; endLine: number; content: string; relevanceScore: number; contextType: 'function' | 'class' | 'import' | 'usage' | 'comment'; relatedEntities: string[]; } export interface ContextCollectionConfig { maxContextsPerTask: number; relevanceThreshold: number; maxFileSize: number; excludePatterns: string[]; includeExtensions: string[]; cacheExpiryHours: number; enableStalenessTracking: boolean; enablePatternMatching: boolean; enableDependencyAnalysis: boolean; maxTokensPerTask: number; maxTokensPerContext: number; enableIntelligentSummarization: boolean; enableContentDeduplication: boolean; compressionThreshold: number; taskTypeTokenLimits: { bug: number; feature: number; improvement: number; }; contextScoringWeights: { keywordMatch: number; entityMatch: number; intentMatch: number; patternSimilarity: number; dependencyStrength: number; fileProximity: number; }; } export interface ContextCollectionResult { contexts: CodeContext[]; stackTraces?: ParsedStackTrace[]; summary: { totalContexts: number; highRelevanceContexts: number; mediumRelevanceContexts: number; lowRelevanceContexts: number; averageRelevanceScore: number; processingTimeMs: number; filesAnalyzed: number; patternsFound: number; dependenciesAnalyzed: number; stackTracesFound: number; }; recommendations: string[]; potentialIssues: string[]; } export interface TaskAnalysisInput { taskId: string; taskType: TaskType; title: string; description: string; currentState?: string; desiredState?: string; expectedBehavior?: string; actualBehavior?: string; filesLikelyInvolved?: string[]; keywords?: string[]; entities?: string[]; } /** * Main context collection engine that orchestrates all analysis components */ export declare class ContextCollectionEngine { private codeAnalyzer; private dependencyAnalyzer; private config; private contextCache; constructor(rootPath?: string, config?: Partial<ContextCollectionConfig>); /** * Collect contexts for a task using all available analysis methods */ collectContexts(input: TaskAnalysisInput): Promise<ContextCollectionResult>; /** * Get cached contexts for a task */ getCachedContexts(taskId: string): CodeContext[] | null; /** * Update configuration */ updateConfig(newConfig: Partial<ContextCollectionConfig>): void; /** * Clear all caches */ clearCaches(): void; /** * Parse stack traces from task description text */ private parseStackTraces; /** * Extract stack trace contexts for code collection */ private extractStackTraceContexts; /** * Calculate relevance score for stack trace contexts */ private calculateStackTraceRelevance; /** * Estimate token count for text content */ private estimateTokenCount; /** * Intelligently summarize content to reduce token usage */ private summarizeContent; /** * Deduplicate similar contexts based on content similarity */ private deduplicateContexts; /** * Create a hash of content for deduplication */ private createContentHash; /** * Apply token-aware filtering to contexts */ private applyTokenFiltering; private analyzeTaskText; /** * Simple keyword extraction (basic fallback when AI analysis isn't available) */ private extractSimpleKeywords; /** * Simple entity extraction (basic fallback when AI analysis isn't available) */ private extractSimpleEntities; /** * Check if a word is a common English word */ private isCommonWord; private findRelevantPatterns; private analyzeDependencies; private extractCodeSections; private readFileSection; private extractRelevantSectionsFromFile; private groupRelevantLines; private extractImportSections; private scoreAndRankContexts; private calculateRelevanceScore; private calculateIntentMatchScore; private filterContexts; private convertToCodeContexts; private mapContextType; private generateContextDescription; private generateSummary; private generateRecommendations; private identifyPotentialIssues; private cacheResults; private mergeWithDefaultConfig; } //# sourceMappingURL=context-collection-engine.d.ts.map