"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.applyAssistantDeepTurnRetrievalGuards = applyAssistantDeepTurnRetrievalGuards; exports.applyAssistantDeepTurnGroundingEligibility = applyAssistantDeepTurnGroundingEligibility; const assistantClaimBoundEvidence_1 = require("./assistantClaimBoundEvidence"); const assistantRuntimeGuards_1 = require("./assistantRuntimeGuards"); function applyAssistantDeepTurnRetrievalGuards(input) { const applyDomainPolarityGuardSafe = input.applyDomainPolarityGuardFn ?? assistantRuntimeGuards_1.applyDomainPolarityGuardToRetrievalResults; const applyTargetedEvidenceSafe = input.applyTargetedEvidenceFn ?? assistantClaimBoundEvidence_1.applyTargetedEvidenceAcquisition; const applyEvidenceAdmissibilityGateSafe = input.applyEvidenceAdmissibilityGateFn ?? assistantRuntimeGuards_1.applyEvidenceAdmissibilityGate; const polarityGuardResult = applyDomainPolarityGuardSafe({ retrievalResults: input.retrievalResults, guard: input.domainPolarityGuardInitial }); const targetedEvidenceResult = applyTargetedEvidenceSafe({ retrievalResults: polarityGuardResult.retrievalResults, claimAudit: input.claimAnchorAudit }); const evidenceGateResult = applyEvidenceAdmissibilityGateSafe({ retrievalResults: targetedEvidenceResult.retrievalResults, temporal: input.temporalGuard, focusDomainHint: input.focusDomainForGuards, polarity: polarityGuardResult.audit.polarity, companyAnchors: input.companyAnchors, userMessage: input.userMessage }); return { retrievalResults: evidenceGateResult.retrievalResults, polarityGuardResult, targetedEvidenceResult, evidenceGateResult }; } function applyAssistantDeepTurnGroundingEligibility(input) { const evaluateGroundedAnswerEligibilitySafe = input.evaluateGroundedAnswerEligibilityFn ?? assistantRuntimeGuards_1.evaluateGroundedAnswerEligibility; const applyEligibilityToGroundingCheckSafe = input.applyEligibilityToGroundingCheckFn ?? ((groundingCheck, eligibility) => (0, assistantRuntimeGuards_1.applyEligibilityToGroundingCheck)(groundingCheck, eligibility)); const groundedAnswerEligibilityGuard = evaluateGroundedAnswerEligibilitySafe({ temporal: input.temporalGuard, polarity: input.polarityAudit, evidence: input.evidenceAudit, claimAnchors: input.claimAnchorAudit, targetedEvidenceHitRate: input.targetedEvidenceHitRate, businessScopeResolved: input.businessScopeResolved }); const groundingCheck = applyEligibilityToGroundingCheckSafe(input.groundingCheckBase, groundedAnswerEligibilityGuard); return { groundedAnswerEligibilityGuard, groundingCheck }; }