"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 assistantAddressLaneResponseAttemptInputBuilder_1 = require("./assistantAddressLaneResponseAttemptInputBuilder"); const assistantLivingChatAttemptRuntimeAdapter_1 = require("./assistantLivingChatAttemptRuntimeAdapter"); const assistantLivingChatAttemptInputBuilder_1 = require("./assistantLivingChatAttemptInputBuilder"); const assistantAddressLaneAttemptInputBuilder_1 = require("./assistantAddressLaneAttemptInputBuilder"); const assistantAddressRuntimeInputBuilder_1 = require("./assistantAddressRuntimeInputBuilder"); 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((0, assistantAddressLaneResponseAttemptInputBuilder_1.buildAssistantAddressLaneResponseAttemptRuntimeInput)({ 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) => { const normalizedModeDecision = (() => { if (!modeDecision || typeof modeDecision !== "object") { return undefined; } const candidate = modeDecision; return { mode: typeof candidate.mode === "string" ? candidate.mode : null, reason: typeof candidate.reason === "string" ? candidate.reason : null }; })(); return runLivingChatAttemptRuntimeSafe((0, assistantLivingChatAttemptInputBuilder_1.buildAssistantLivingChatAttemptRuntimeInput)({ sessionId: input.sessionId, userMessage: input.userMessage, sessionItems: input.sessionItems, modeDecision: normalizedModeDecision, sessionScope: { knownOrganizations: input.sessionScope.knownOrganizations, selectedOrganization: input.sessionScope.selectedOrganization, activeOrganization: input.sessionScope.activeOrganization }, addressRuntimeMeta, 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((0, assistantAddressLaneAttemptInputBuilder_1.buildAssistantAddressLaneAttemptRuntimeInput)({ messageUsed, carryMeta, analysisDateHint, activeOrganization: input.sessionScope.activeOrganization, mergeFollowupContextWithOrganizationScope: input.mergeFollowupContextWithOrganizationScope, runAddressQueryTryHandle: input.runAddressQueryTryHandle })); return runAddressRuntimeSafe((0, assistantAddressRuntimeInputBuilder_1.buildAssistantAddressRuntimeInput)({ featureAssistantAddressQueryV1: input.featureAssistantAddressQueryV1, sessionId: input.sessionId, userMessage: input.userMessage, sessionItems: input.sessionItems, payload: input.payload, 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, compactWhitespace: input.compactWhitespace, runAddressLaneAttempt, isRetryableAddressLimitedResult: input.isRetryableAddressLimitedResult, finalizeAddressLaneResponse, tryHandleLivingChat, logEvent: input.logEvent, nowIso: input.nowIso, runAddressOrchestrationRuntime: input.runAddressOrchestrationRuntime, runAddressToolGateRuntime: input.runAddressToolGateRuntime, runAddressLaneRuntime: input.runAddressLaneRuntime })); }