"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.runAssistantDeepTurnPackagingRuntime = runAssistantDeepTurnPackagingRuntime; const nanoid_1 = require("nanoid"); const assistantDeepTurnInputBuilder_1 = require("./assistantDeepTurnInputBuilder"); const assistantDeepTurnPackaging_1 = require("./assistantDeepTurnPackaging"); const assistantDeepTurnPrePackagingContext_1 = require("./assistantDeepTurnPrePackagingContext"); const assistantInvestigationStateRuntimeAdapter_1 = require("./assistantInvestigationStateRuntimeAdapter"); function runAssistantDeepTurnPackagingRuntime(input) { const buildPrePackagingContextSafe = input.buildPrePackagingContextFn ?? assistantDeepTurnPrePackagingContext_1.buildAssistantDeepTurnPrePackagingContext; const buildInvestigationStateSnapshotSafe = input.buildInvestigationStateSnapshotFn ?? assistantInvestigationStateRuntimeAdapter_1.buildAssistantInvestigationStateSnapshot; const persistInvestigationStateSnapshotSafe = input.persistInvestigationStateSnapshotFn ?? assistantInvestigationStateRuntimeAdapter_1.persistAssistantInvestigationStateSnapshot; const buildDeepTurnPackagingInputSafe = input.buildDeepTurnPackagingInputFn ?? assistantDeepTurnInputBuilder_1.buildAssistantDeepTurnPackagingInput; const assembleDeepTurnPackagingSafe = input.assembleDeepTurnPackagingFn ?? assistantDeepTurnPackaging_1.assembleAssistantDeepTurnPackaging; const deepTurnPrePackagingContext = buildPrePackagingContextSafe({ normalizedPayload: input.normalized.normalized, routeSummary: input.routeSummary, runtimeAnalysisContext: input.runtimeAnalysisContext, assistantReply: input.composition.assistant_reply, extractDroppedIntentSegments: input.extractDroppedIntentSegments, buildDebugRoutes: input.buildDebugRoutes, extractExecutionState: input.extractExecutionState, sanitizeReply: input.sanitizeReply }); const investigationStateSnapshot = buildInvestigationStateSnapshotSafe({ featureEnabled: input.featureInvestigationStateV1, previousState: input.previousInvestigationState, timestamp: input.nowIso ? input.nowIso() : new Date().toISOString(), questionId: input.questionId, userMessage: input.userMessage, routeSummary: input.routeSummary, requirements: input.coverageEvaluationRequirements, coverageReport: input.coverageReport, retrievalResults: input.retrievalResults, replyType: input.composition.reply_type, followupApplied: input.followupApplied }); persistInvestigationStateSnapshotSafe({ featureEnabled: input.featureInvestigationStateV1, sessionId: input.sessionId, snapshot: investigationStateSnapshot, persist: input.persistInvestigationState }); const messageId = input.messageIdFactory ? input.messageIdFactory() : `msg-${(0, nanoid_1.nanoid)(10)}`; const deepTurnPackagingInput = buildDeepTurnPackagingInputSafe({ sessionId: input.sessionId, messageId, userMessage: input.userMessage, normalized: input.normalized, normalizedQuestion: input.normalizedQuestion, routeSummary: input.routeSummary, droppedIntentSegments: deepTurnPrePackagingContext.droppedIntentSegments, analysisContextForContract: deepTurnPrePackagingContext.analysisContextForContract, executionPlan: input.executionPlan, requirementExtractionRequirements: input.requirementExtractionRequirements, coverageEvaluationRequirements: input.coverageEvaluationRequirements, coverageReport: input.coverageReport, groundingCheck: input.groundingCheck, retrievalCalls: input.retrievalCalls, retrievalResultsRaw: input.retrievalResultsRaw, retrievalResults: input.retrievalResults, routesForDebug: deepTurnPrePackagingContext.routesForDebug, resolvedExecutionState: deepTurnPrePackagingContext.resolvedExecutionState, questionTypeClass: input.questionTypeClass, companyAnchors: input.companyAnchors, runtimeAnalysisContext: input.runtimeAnalysisContext, businessScopeResolution: input.businessScopeResolution, temporalGuard: input.temporalGuard, polarityAudit: input.polarityAudit, claimAnchorAudit: input.claimAnchorAudit, targetedEvidenceAudit: input.targetedEvidenceAudit, evidenceAdmissibilityGateAudit: input.evidenceAdmissibilityGateAudit, rbpLiveRouteAudit: input.rbpLiveRouteAudit, faLiveRouteAudit: input.faLiveRouteAudit, groundedAnswerEligibilityGuard: input.groundedAnswerEligibilityGuard, followupStateUsage: input.followupStateUsage, composition: { reply_type: input.composition.reply_type, fallback_type: input.composition.fallback_type, answer_structure_v11: input.composition.answer_structure_v11, problem_centric_answer_applied: input.composition.problem_centric_answer_applied, problem_units_used_count: input.composition.problem_units_used_count, problem_answer_mode: input.composition.problem_answer_mode, problem_unit_ids_used: input.composition.problem_unit_ids_used }, safeAssistantReplyBase: deepTurnPrePackagingContext.safeAssistantReplyBase, featureContractsV11: input.featureContractsV11, featureAnswerPolicyV11: input.featureAnswerPolicyV11, investigationStateSnapshot, addressRuntimeMetaForDeep: input.addressRuntimeMetaForDeep }); const deepTurnPackaging = assembleDeepTurnPackagingSafe(deepTurnPackagingInput); return { messageId, investigationStateSnapshot, droppedIntentSegments: deepTurnPrePackagingContext.droppedIntentSegments, analysisContextForContract: deepTurnPrePackagingContext.analysisContextForContract, routesForDebug: deepTurnPrePackagingContext.routesForDebug, resolvedExecutionState: deepTurnPrePackagingContext.resolvedExecutionState, safeAssistantReplyBase: deepTurnPrePackagingContext.safeAssistantReplyBase, safeAssistantReply: deepTurnPackaging.deepAnswerArtifacts.safeAssistantReply, debug: deepTurnPackaging.debug, assistantItem: deepTurnPackaging.assistantItem, deepAnalysisLogDetails: deepTurnPackaging.deepAnalysisLogDetails }; }