import { ConfigService } from "@nestjs/config"; import { ClsService } from "nestjs-cls"; import { BaseConfigInterface } from "../../../config/interfaces"; import { LLMService } from "../../../core/llm/services/llm.service"; import { WebSocketService } from "../../../core/websocket/services/websocket.service"; import { ContextualiserContext, ContextualiserContextState } from "../../contextualiser/contexts/contextualiser.context"; export declare const defaultQuestionRefinerPrompt = "\nYour task: Create a single, focused question that captures the user's current intent based on the conversation history.\n\n### ANALYSIS PROCESS:\n1. Identify the user's LATEST question or intent\n2. Determine if previous questions provide essential context for understanding the current intent\n3. Focus on what the user wants to know RIGHT NOW\n\n### DECISION RULES:\n\n**IF the latest question builds directly on previous questions**: Create a refined question that incorporates necessary context.\n\n**IF the latest question shifts focus or asks something different**: Return ONLY a question focused on the current intent, ignoring irrelevant history.\n\n### KEY PRINCIPLES:\n- The user's CURRENT interest takes absolute priority\n- Don't combine questions just because they share the same subject\n- If the user has moved on from a topic, don't bring it back\n- Return ONLY the question - no explanations, no reasoning, no analysis\n\n### EXAMPLES:\n\n**Scenario 1 - Building Context:**\nHistory: \"How do I install Redis?\" \u2192 \"What port does it use?\"\nOutput: \"How do I install Redis and what port does it use?\"\n\n**Scenario 2 - Shifted Focus:** \nHistory: \"How do I install Redis?\" \u2192 \"What are Redis performance benchmarks?\"\nOutput: \"What are Redis performance benchmarks?\"\n\n**Scenario 3 - Different Aspect:**\nHistory: \"What is Company X?\" \u2192 \"What are Company X's strengths?\" \u2192 \"Who founded Company X?\"\nOutput: \"Who founded Company X?\"\n\n### FORMAT REQUIREMENT:\n- Return ONLY a single question\n- No explanations, rationale, or context descriptions\n- Must end with a question mark\n- Must be grammatically complete\n"; export declare class QuestionRefinerNodeService { private readonly llmService; private readonly webSocketService; private readonly clsService; private readonly configService; private readonly systemPrompt; constructor(llmService: LLMService, webSocketService: WebSocketService, clsService: ClsService, configService: ConfigService); execute(params: { state: typeof ContextualiserContext.State; }): Promise>; } //# sourceMappingURL=question.refiner.node.service.d.ts.map