"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildAssistantDeepTurnComposition = buildAssistantDeepTurnComposition; const questionTypeResolver_1 = require("./questionTypeResolver"); const answerComposer_1 = require("./answerComposer"); function buildAssistantDeepTurnComposition(input) { const resolveQuestionTypeSafe = input.resolveQuestionTypeFn ?? questionTypeResolver_1.resolveQuestionType; const composeAssistantAnswerSafe = input.composeAssistantAnswerFn ?? answerComposer_1.composeAssistantAnswer; const followupApplied = Boolean(input.followupUsage?.applied); const focusDomainHint = followupApplied ? input.investigationState?.followup_context?.active_domain ?? input.investigationState?.focus.domain ?? null : null; const questionTypeClass = resolveQuestionTypeSafe(input.userMessage); const companyAnchorSet = input.companyAnchors; const hasPeriodInCompanyAnchors = (Array.isArray(companyAnchorSet?.dates) && companyAnchorSet.dates.some((item) => String(item ?? "").trim().length > 0)) || (Array.isArray(companyAnchorSet?.periods) && companyAnchorSet.periods.some((item) => String(item ?? "").trim().length > 0)); const normalizationPeriodExplicit = input.hasExplicitPeriodAnchor(input.normalizedPayload) || hasPeriodInCompanyAnchors; const composition = composeAssistantAnswerSafe({ userMessage: input.userMessage, routeSummary: input.routeSummary, retrievalResults: input.retrievalResults, requirements: input.requirements, coverageReport: input.coverageReport, groundingCheck: input.groundingCheck, focusDomainHint, questionTypeHint: questionTypeClass, companyAnchors: input.companyAnchors, normalizationPeriodExplicit, enableAnswerPolicyV11: input.featureAnswerPolicyV11, enableProblemCentricAnswerV1: input.featureProblemCentricAnswerV1, enableLifecycleAnswerV1: input.featureLifecycleAnswerV1 }); return { focusDomainHint, questionTypeClass, hasPeriodInCompanyAnchors, normalizationPeriodExplicit, composition }; }