/** * Context-Aware Clarification Service * Single Responsibility: Generate intelligent clarification questions AFTER research phase * * This service analyzes the semantic search results and code relationships to generate * specific, actionable questions that help clarify user intent before Claude Code executes. * * Key Principle: Ask questions based on ACTUAL codebase state, not generic patterns. */ import * as readline from 'readline'; import { SemanticResult } from './semantic-search-orchestrator'; import { GraphContext } from './graph-analysis-service'; import { QueryAnalysis } from './natural-language-processor'; export interface ClarificationQuestion { id: string; question: string; type: 'choice' | 'confirm' | 'input'; choices?: string[]; context: string; impact: 'high' | 'medium' | 'low'; } export interface ClarificationResult { questionsAsked: number; questionsAnswered: number; clarifications: Map; enhancedQuery: string; skipped: boolean; skipReason?: string; } export interface AmbiguityDetection { type: 'multiple_implementations' | 'unclear_target' | 'missing_pattern' | 'conflicting_approaches' | 'scope_unclear'; description: string; relatedFiles: string[]; suggestedQuestion: ClarificationQuestion; } export declare class ContextAwareClarificationService { private rl?; /** * Set readline interface for pausing during prompts */ setReadlineInterface(rl: readline.Interface): void; /** * Analyze context and generate clarification questions if needed * This runs AFTER semantic search and relationship analysis */ analyzeAndClarify(query: string, queryAnalysis: QueryAnalysis, semanticResults: SemanticResult[], graphContext: GraphContext, options?: { skipClarification?: boolean; maxQuestions?: number; }): Promise; /** * Detect ambiguities based on actual codebase context */ private detectAmbiguities; /** * Find similar implementations in the codebase */ private findSimilarImplementations; /** * Find existing patterns that might overlap with the request */ private findExistingPatterns; /** * Check if query is too broad */ private isBroadQuery; /** * Detect test framework from file patterns */ private detectTestFramework; /** * Ask clarification questions interactively */ private askQuestions; /** * Ask a single question based on type */ private askSingleQuestion; /** * Build enhanced query incorporating clarifications */ private buildEnhancedQuery; /** * Format a clarification for the enhanced query */ private formatClarification; /** * Get impact score for sorting */ private impactScore; /** * Build a human-readable reason explaining why clarification was skipped */ private buildSkipReason; /** * Create a skipped result */ private createSkippedResult; } //# sourceMappingURL=context-aware-clarification-service.d.ts.map