"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.buildAssistantDeepTurnContextRuntimeInput = buildAssistantDeepTurnContextRuntimeInput; exports.buildAssistantDeepTurnExecutionPlanRuntimeInput = buildAssistantDeepTurnExecutionPlanRuntimeInput; exports.buildAssistantDeepTurnRetrievalRuntimeInput = buildAssistantDeepTurnRetrievalRuntimeInput; exports.buildAssistantDeepTurnGuardRuntimeInput = buildAssistantDeepTurnGuardRuntimeInput; exports.buildAssistantDeepTurnGroundingRuntimeInput = buildAssistantDeepTurnGroundingRuntimeInput; exports.buildAssistantDeepTurnCompositionRuntimeInput = buildAssistantDeepTurnCompositionRuntimeInput; exports.buildAssistantDeepTurnAnalysisRuntimeInput = buildAssistantDeepTurnAnalysisRuntimeInput; const companyAnchorResolver_1 = require("./companyAnchorResolver"); const assistantRuntimeGuards_1 = require("./assistantRuntimeGuards"); const assistantClaimBoundEvidence_1 = require("./assistantClaimBoundEvidence"); const KNOWN_GUARD_DOMAINS = [ "settlements_60_62", "vat_document_register_book", "month_close_costs_20_44", "fixed_asset_amortization" ]; function toStringArray(value) { if (!Array.isArray(value)) { return []; } return value .map((item) => (typeof item === "string" ? item.trim() : "")) .filter((item) => item.length > 0); } function toCompanyAnchorSet(value) { if (!value || typeof value !== "object" || Array.isArray(value)) { return null; } const source = value; return { contract_numbers: toStringArray(source.contract_numbers), document_numbers: toStringArray(source.document_numbers), dates: toStringArray(source.dates), amounts: toStringArray(source.amounts), accounts: toStringArray(source.accounts), periods: toStringArray(source.periods), document_types: toStringArray(source.document_types), all: toStringArray(source.all) }; } function toClaimBoundPrimaryPeriod(value) { if (!value || typeof value !== "object") { return null; } const from = typeof value.from === "string" ? value.from.trim() : ""; const to = typeof value.to === "string" ? value.to.trim() : ""; const granularity = value.granularity === "day" || value.granularity === "month" ? value.granularity : null; if (!from || !to || !granularity) { return null; } return { from, to, granularity }; } function normalizeFocusDomainForGuards(value) { const normalized = typeof value === "string" ? value.trim() : ""; if (!normalized) { return null; } if (KNOWN_GUARD_DOMAINS.includes(normalized)) { return normalized; } return null; } const resolveTemporalGuardAdapter = (input) => (0, assistantRuntimeGuards_1.resolveTemporalGuard)({ userMessage: input.userMessage, normalized: input.normalized, companyAnchors: toCompanyAnchorSet(input.companyAnchors), analysisContext: input.analysisContext }); const resolveDomainPolarityGuardAdapter = (input) => (0, assistantRuntimeGuards_1.resolveDomainPolarityGuard)({ userMessage: input.userMessage, companyAnchors: toCompanyAnchorSet(input.companyAnchors), focusDomainHint: input.focusDomainHint }); const resolveClaimBoundAnchorsAdapter = (input) => (0, assistantClaimBoundEvidence_1.resolveClaimBoundAnchors)({ userMessage: input.userMessage, companyAnchors: toCompanyAnchorSet(input.companyAnchors), focusDomainHint: input.focusDomainHint, primaryPeriod: toClaimBoundPrimaryPeriod(input.primaryPeriod) }); const applyTemporalHintToExecutionPlanAdapter = (executionPlan, temporalGuard) => (0, assistantRuntimeGuards_1.applyTemporalHintToExecutionPlan)(executionPlan, temporalGuard); const applyPolarityHintToExecutionPlanAdapter = (executionPlan, domainPolarityGuardInitial) => (0, assistantRuntimeGuards_1.applyPolarityHintToExecutionPlan)(executionPlan, domainPolarityGuardInitial); function buildAssistantDeepTurnContextRuntimeInput(input) { return { userMessage: input.userMessage, normalizedPayload: input.normalizedPayload, routeSummary: input.routeSummary, runtimeAnalysisContext: input.runtimeAnalysisContext, followupUsage: input.followupUsage, resolveCompanyAnchors: companyAnchorResolver_1.resolveCompanyAnchors, resolveBusinessScopeAlignment: input.resolveBusinessScopeAlignment, inferP0DomainFromMessage: input.inferP0DomainFromMessage, resolveTemporalGuard: resolveTemporalGuardAdapter, resolveDomainPolarityGuard: resolveDomainPolarityGuardAdapter, resolveClaimBoundAnchors: resolveClaimBoundAnchorsAdapter, resolveBusinessScopeFromLiveContext: input.resolveBusinessScopeFromLiveContext }; } function buildAssistantDeepTurnExecutionPlanRuntimeInput(input, runtime) { return { routeSummary: runtime.resolvedRouteSummary, normalizedPayload: input.normalizedPayload, userMessage: input.userMessage, claimType: runtime.claimAnchorAudit.claim_type, temporalGuard: runtime.temporalGuard, domainPolarityGuardInitial: runtime.domainPolarityGuardInitial, extractRequirements: input.extractRequirements, toExecutionPlan: input.toExecutionPlan, enforceRbpLiveRoutePlan: input.enforceRbpLiveRoutePlan, enforceFaLiveRoutePlan: input.enforceFaLiveRoutePlan, applyTemporalHintToExecutionPlan: applyTemporalHintToExecutionPlanAdapter, applyPolarityHintToExecutionPlan: applyPolarityHintToExecutionPlanAdapter }; } function buildAssistantDeepTurnRetrievalRuntimeInput(input, runtime) { return { executionPlan: runtime.executionPlan, liveTemporalHint: runtime.liveTemporalHint, executeRouteRuntime: input.executeRouteRuntime, mapNoRouteReason: input.mapNoRouteReason, buildSkippedResult: input.buildSkippedResult }; } function buildAssistantDeepTurnGuardRuntimeInput(runtime) { return { retrievalResults: runtime.retrievalResults, domainPolarityGuardInitial: runtime.domainPolarityGuardInitial, claimAnchorAudit: runtime.claimAnchorAudit, temporalGuard: runtime.temporalGuard, focusDomainForGuards: normalizeFocusDomainForGuards(runtime.focusDomainForGuards), companyAnchors: toCompanyAnchorSet(runtime.companyAnchors), userMessage: runtime.userMessage }; } function buildAssistantDeepTurnGroundingRuntimeInput(input, runtime) { return { claimType: runtime.claimType, retrievalResults: runtime.retrievalResults, rbpPlanAudit: runtime.rbpPlanAudit, faPlanAudit: runtime.faPlanAudit, routeSummary: runtime.routeSummary, normalizedPayload: input.normalizedPayload, userMessage: input.userMessage, requirementExtraction: runtime.requirementExtraction, extractRequirements: (routeSummary, normalized, userMessage) => input.extractRequirements(routeSummary, normalized ?? null, userMessage), evaluateCoverage: input.evaluateCoverage, checkGrounding: input.checkGrounding, temporalGuard: runtime.temporalGuard, polarityAudit: runtime.polarityAudit, evidenceAudit: runtime.evidenceAudit, claimAnchorAudit: runtime.claimAnchorAudit, targetedEvidenceHitRate: runtime.targetedEvidenceHitRate, businessScopeResolved: runtime.businessScopeResolved, collectRbpLiveRouteAudit: input.collectRbpLiveRouteAudit, collectFaLiveRouteAudit: input.collectFaLiveRouteAudit }; } function buildAssistantDeepTurnCompositionRuntimeInput(input, runtime) { return { userMessage: input.userMessage, routeSummary: runtime.resolvedRouteSummary, retrievalResults: runtime.retrievalResults, requirements: runtime.requirements, coverageReport: runtime.coverageReport, groundingCheck: runtime.groundingCheck, followupUsage: input.followupUsage, investigationState: input.investigationState, companyAnchors: runtime.companyAnchors, normalizedPayload: input.normalizedPayload, featureAnswerPolicyV11: input.featureAnswerPolicyV11, featureProblemCentricAnswerV1: input.featureProblemCentricAnswerV1, featureLifecycleAnswerV1: input.featureLifecycleAnswerV1, hasExplicitPeriodAnchor: input.hasExplicitPeriodAnchor }; } function buildAssistantDeepTurnAnalysisRuntimeInput(input) { return { userMessage: input.userMessage, runContextRuntime: () => { const runtime = input.runDeepTurnContextRuntimeSafe(buildAssistantDeepTurnContextRuntimeInput(input)); return { companyAnchors: toCompanyAnchorSet(runtime.companyAnchors), focusDomainForGuards: normalizeFocusDomainForGuards(runtime.focusDomainForGuards), temporalGuard: runtime.temporalGuard, domainPolarityGuardInitial: runtime.domainPolarityGuardInitial, claimAnchorAudit: runtime.claimAnchorAudit, businessScopeResolution: runtime.businessScopeResolution, resolvedRouteSummary: runtime.resolvedRouteSummary, liveTemporalHint: runtime.liveTemporalHint }; }, runExecutionPlanRuntime: (runtime) => { const output = input.runDeepTurnPlanRuntimeSafe(buildAssistantDeepTurnExecutionPlanRuntimeInput(input, runtime)); return { requirementExtraction: output.requirementExtraction, executionPlan: output.executionPlan, rbpRoutePlanEnforcement: output.rbpRoutePlanEnforcement, faRoutePlanEnforcement: output.faRoutePlanEnforcement }; }, runRetrievalRuntime: (runtime) => input.runDeepTurnRetrievalRuntimeSafe(buildAssistantDeepTurnRetrievalRuntimeInput(input, runtime)), runGuardRuntime: (runtime) => input.runDeepTurnGuardRuntimeSafe(buildAssistantDeepTurnGuardRuntimeInput(runtime)), runGroundingRuntime: (runtime) => input.runDeepTurnGroundingRuntimeSafe(buildAssistantDeepTurnGroundingRuntimeInput(input, runtime)), runCompositionRuntime: (runtime) => input.runDeepTurnCompositionRuntimeSafe(buildAssistantDeepTurnCompositionRuntimeInput(input, runtime)) }; }