41 lines
2.1 KiB
JavaScript
41 lines
2.1 KiB
JavaScript
"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
|
|
};
|
|
}
|