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.

110 lines 3.4 kB
import { AtomicTask } from './task.js'; import { ProjectContext } from '../types/project-context.js'; import { ContextResult } from '../services/context-enrichment-service.js'; export interface ResearchTriggerConditions { projectType: { isGreenfield: boolean; hasExistingCodebase: boolean; codebaseMaturity: 'new' | 'developing' | 'mature' | 'legacy'; confidence: number; }; taskComplexity: { complexityScore: number; complexityIndicators: string[]; estimatedResearchValue: number; requiresSpecializedKnowledge: boolean; }; knowledgeGap: { contextQuality: number; relevanceScore: number; filesFound: number; averageRelevance: number; hasInsufficientContext: boolean; }; domainSpecific: { technologyStack: string[]; unfamiliarTechnologies: string[]; specializedDomain: boolean; domainComplexity: number; }; } export interface ResearchTriggerDecision { shouldTriggerResearch: boolean; confidence: number; primaryReason: 'project_type' | 'task_complexity' | 'knowledge_gap' | 'domain_specific' | 'sufficient_context'; reasoning: string[]; recommendedScope: { depth: 'shallow' | 'medium' | 'deep'; focus: 'technical' | 'business' | 'market' | 'comprehensive'; priority: 'low' | 'medium' | 'high'; estimatedQueries: number; }; evaluatedConditions: ResearchTriggerConditions; metrics: { evaluationTime: number; conditionsChecked: number; cacheHits: number; }; } export interface AutoResearchDetectorConfig { enabled: boolean; thresholds: { minComplexityScore: number; maxContextQuality: number; minDecisionConfidence: number; minFilesForSufficientContext: number; minAverageRelevance: number; }; complexityIndicators: { highComplexity: string[]; mediumComplexity: string[]; architectural: string[]; integration: string[]; }; specializedTechnologies: { emerging: string[]; complexFrameworks: string[]; enterprise: string[]; domains: string[]; }; performance: { enableCaching: boolean; cacheTTL: number; maxEvaluationTime: number; enableParallelEvaluation: boolean; }; } export interface ResearchTriggerContext { task: AtomicTask; projectContext: ProjectContext; contextResult?: ContextResult; projectPath: string; sessionId?: string; metadata?: { previousResearch?: string[]; userPreferences?: { researchPreference: 'minimal' | 'balanced' | 'comprehensive'; autoResearchEnabled: boolean; }; timeConstraints?: { maxResearchTime: number; urgentTask: boolean; }; }; } export interface ResearchTriggerEvaluation { decision: ResearchTriggerDecision; context: ResearchTriggerContext; timestamp: number; metadata: { detectorVersion: string; configSnapshot: Partial<AutoResearchDetectorConfig>; performance: { totalTime: number; conditionEvaluationTime: number; decisionTime: number; cacheOperationTime: number; }; }; } //# sourceMappingURL=research-types.d.ts.map