"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildAssistantDeepTurnExecutionPlan = buildAssistantDeepTurnExecutionPlan; function buildAssistantDeepTurnExecutionPlan(input) { const requirementExtraction = input.extractRequirements(input.routeSummary, input.normalizedPayload, input.userMessage); let executionPlan = input.toExecutionPlan(input.routeSummary, input.normalizedPayload, input.userMessage, requirementExtraction.byFragment); const rbpRoutePlanEnforcement = input.enforceRbpLiveRoutePlan({ executionPlan, claimType: input.claimType, temporalGuard: input.temporalGuard }); executionPlan = rbpRoutePlanEnforcement.executionPlan; const faRoutePlanEnforcement = input.enforceFaLiveRoutePlan({ executionPlan, claimType: input.claimType, temporalGuard: input.temporalGuard }); executionPlan = faRoutePlanEnforcement.executionPlan; executionPlan = input.applyTemporalHintToExecutionPlan(executionPlan, input.temporalGuard); executionPlan = input.applyPolarityHintToExecutionPlan(executionPlan, input.domainPolarityGuardInitial); return { requirementExtraction, executionPlan, rbpRoutePlanEnforcement, faRoutePlanEnforcement }; }