"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.runAssistantAddressAttemptRuntime = runAssistantAddressAttemptRuntime; const assistantAddressRuntimeAdapter_1 = require("./assistantAddressRuntimeAdapter"); const assistantAddressLaneAttemptRuntimeAdapter_1 = require("./assistantAddressLaneAttemptRuntimeAdapter"); const assistantAddressLaneResponseAttemptRuntimeAdapter_1 = require("./assistantAddressLaneResponseAttemptRuntimeAdapter"); const assistantLivingChatAttemptRuntimeAdapter_1 = require("./assistantLivingChatAttemptRuntimeAdapter"); async function runAssistantAddressAttemptRuntime(input) { const runAddressRuntimeSafe = input.runAddressRuntime ?? assistantAddressRuntimeAdapter_1.runAssistantAddressRuntime; const runAddressLaneAttemptRuntimeSafe = input.runAddressLaneAttemptRuntime ?? assistantAddressLaneAttemptRuntimeAdapter_1.runAssistantAddressLaneAttemptRuntime; const runAddressLaneResponseAttemptRuntimeSafe = input.runAddressLaneResponseAttemptRuntime ?? assistantAddressLaneResponseAttemptRuntimeAdapter_1.runAssistantAddressLaneResponseAttemptRuntime; const runLivingChatAttemptRuntimeSafe = input.runLivingChatAttemptRuntime ?? assistantLivingChatAttemptRuntimeAdapter_1.runAssistantLivingChatAttemptRuntime; const finalizeAddressLaneResponse = (addressLane, effectiveAddressUserMessage, carryoverMeta = null, llmPreDecomposeMeta = null) => runAddressLaneResponseAttemptRuntimeSafe({ sessionId: input.sessionId, userMessage: input.userMessage, effectiveAddressUserMessage, addressLane, carryoverMeta, llmPreDecomposeMeta, knownOrganizations: input.sessionScope.knownOrganizations, activeOrganization: input.sessionScope.activeOrganization, sanitizeOutgoingAssistantText: input.sanitizeOutgoingAssistantText, buildAddressDebugPayload: input.buildAddressDebugPayload, buildAddressFollowupOffer: input.buildAddressFollowupOffer, mergeKnownOrganizations: input.mergeKnownOrganizations, toNonEmptyString: input.toNonEmptyString, appendItem: input.appendItem, getSession: input.getSession, persistSession: input.persistSession, cloneConversation: input.cloneConversation, logEvent: input.logEvent, messageIdFactory: input.messageIdFactory }); const tryHandleLivingChat = async (modeDecision, addressRuntimeMeta = null) => runLivingChatAttemptRuntimeSafe({ sessionId: input.sessionId, userMessage: input.userMessage, sessionItems: input.sessionItems, modeDecision, sessionScope: { knownOrganizations: input.sessionScope.knownOrganizations, selectedOrganization: input.sessionScope.selectedOrganization, activeOrganization: input.sessionScope.activeOrganization }, addressRuntimeMeta, traceIdFactory: () => `chat-${input.messageIdFactory().replace(/^msg-/, "")}`, toNonEmptyString: input.toNonEmptyString, mergeKnownOrganizations: input.mergeKnownOrganizations, hasAssistantDataScopeMetaQuestionSignal: input.hasAssistantDataScopeMetaQuestionSignal, shouldHandleAsAssistantCapabilityMetaQuery: input.shouldHandleAsAssistantCapabilityMetaQuery, hasDestructiveDataActionSignal: input.hasDestructiveDataActionSignal, hasDangerOrCoercionSignal: input.hasDangerOrCoercionSignal, hasOperationalAdminActionRequestSignal: input.hasOperationalAdminActionRequestSignal, hasOrganizationFactLookupSignal: input.hasOrganizationFactLookupSignal, hasOrganizationFactFollowupSignal: input.hasOrganizationFactFollowupSignal, shouldEmitOrganizationSelectionReply: input.shouldEmitOrganizationSelectionReply, hasAssistantCapabilityQuestionSignal: input.hasAssistantCapabilityQuestionSignal, resolveDataScopeProbe: input.resolveDataScopeProbe, applyScriptGuard: input.applyScriptGuard, applyGroundingGuard: input.applyGroundingGuard, buildAssistantSafetyRefusalReply: input.buildAssistantSafetyRefusalReply, buildAssistantDataScopeContractReply: input.buildAssistantDataScopeContractReply, buildAssistantOrganizationFactBoundaryReply: input.buildAssistantOrganizationFactBoundaryReply, buildAssistantDataScopeSelectionReply: input.buildAssistantDataScopeSelectionReply, buildAssistantOperationalBoundaryReply: input.buildAssistantOperationalBoundaryReply, buildAssistantCapabilityContractReply: input.buildAssistantCapabilityContractReply, appendItem: input.appendItem, getSession: input.getSession, persistSession: input.persistSession, cloneConversation: input.cloneConversation, logEvent: input.logEvent, messageIdFactory: input.messageIdFactory, nowIso: input.nowIso, payload: input.payload, chatClient: input.chatClient, loadAssistantCanonExcerpt: input.loadAssistantCanonExcerpt, sanitizeOutgoingAssistantText: input.sanitizeOutgoingAssistantText, defaultModel: input.defaultModel, defaultBaseUrl: input.defaultBaseUrl, defaultApiKey: input.defaultApiKey }); const runAddressLaneAttempt = async (messageUsed, carryMeta, analysisDateHint) => runAddressLaneAttemptRuntimeSafe({ messageUsed, carryMeta, analysisDateHint, activeOrganization: input.sessionScope.activeOrganization, mergeFollowupContextWithOrganizationScope: input.mergeFollowupContextWithOrganizationScope, runAddressQueryTryHandle: input.runAddressQueryTryHandle }); return runAddressRuntimeSafe({ featureAssistantAddressQueryV1: input.featureAssistantAddressQueryV1, sessionId: input.sessionId, userMessage: input.userMessage, sessionItems: input.sessionItems, llmProvider: input.payload.llmProvider, useMock: Boolean(input.payload.useMock), featureAddressLlmPredecomposeV1: input.featureAddressLlmPredecomposeV1, runAddressLlmPreDecompose: input.runAddressLlmPreDecompose, buildAddressLlmPredecomposeContractV1: input.buildAddressLlmPredecomposeContractV1, sanitizeAddressMessageForFallback: input.sanitizeAddressMessageForFallback, toNonEmptyString: input.toNonEmptyString, resolveAddressFollowupCarryoverContext: input.resolveAddressFollowupCarryoverContext, resolveAssistantOrchestrationDecision: input.resolveAssistantOrchestrationDecision, buildAddressDialogContinuationContractV2: input.buildAddressDialogContinuationContractV2, runtimeAnalysisContextAsOfDate: input.runtimeAnalysisContextAsOfDate, payloadContextPeriodHint: input.payload?.context?.period_hint, compactWhitespace: input.compactWhitespace, runAddressLaneAttempt, isRetryableAddressLimitedResult: input.isRetryableAddressLimitedResult, finalizeAddressLaneResponse, tryHandleLivingChat, logEvent: input.logEvent, nowIso: input.nowIso, runAddressOrchestrationRuntime: input.runAddressOrchestrationRuntime, runAddressToolGateRuntime: input.runAddressToolGateRuntime, runAddressLaneRuntime: input.runAddressLaneRuntime }); }