NODEDC_1C/llm_normalizer/backend/dist/services/assistantDeepTurnAnalysisAt...

212 lines
10 KiB
JavaScript

"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))
};
}