76 lines
4.2 KiB
JavaScript
76 lines
4.2 KiB
JavaScript
"use strict";
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
exports.tryHandleAssistantLivingChatRuntime = tryHandleAssistantLivingChatRuntime;
|
|
const assistantLivingChatRuntimeAdapter_1 = require("./assistantLivingChatRuntimeAdapter");
|
|
const assistantLivingChatTurnFinalizeRuntimeAdapter_1 = require("./assistantLivingChatTurnFinalizeRuntimeAdapter");
|
|
async function tryHandleAssistantLivingChatRuntime(input) {
|
|
const runLivingChatRuntimeSafe = input.runLivingChatRuntime ?? assistantLivingChatRuntimeAdapter_1.runAssistantLivingChatRuntime;
|
|
const finalizeLivingChatTurnSafe = input.finalizeLivingChatTurn ?? assistantLivingChatTurnFinalizeRuntimeAdapter_1.finalizeAssistantLivingChatTurn;
|
|
try {
|
|
const runtime = await runLivingChatRuntimeSafe({
|
|
userMessage: input.userMessage,
|
|
sessionItems: input.sessionItems,
|
|
modeDecision: input.modeDecision,
|
|
sessionScope: input.sessionScope,
|
|
addressRuntimeMeta: input.addressRuntimeMeta,
|
|
traceIdFactory: input.traceIdFactory,
|
|
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,
|
|
hasLivingChatSignal: input.hasLivingChatSignal,
|
|
shouldEmitOrganizationSelectionReply: input.shouldEmitOrganizationSelectionReply,
|
|
hasAssistantCapabilityQuestionSignal: input.hasAssistantCapabilityQuestionSignal,
|
|
resolveDataScopeProbe: input.resolveDataScopeProbe,
|
|
executeLlmChat: input.executeLlmChat,
|
|
applyScriptGuard: input.applyScriptGuard,
|
|
applyGroundingGuard: input.applyGroundingGuard,
|
|
buildAssistantSafetyRefusalReply: input.buildAssistantSafetyRefusalReply,
|
|
buildAssistantDataScopeContractReply: input.buildAssistantDataScopeContractReply,
|
|
buildAssistantProactiveOrganizationOfferReply: input.buildAssistantProactiveOrganizationOfferReply,
|
|
buildAssistantOrganizationFactBoundaryReply: input.buildAssistantOrganizationFactBoundaryReply,
|
|
buildAssistantDataScopeSelectionReply: input.buildAssistantDataScopeSelectionReply,
|
|
buildAssistantOperationalBoundaryReply: input.buildAssistantOperationalBoundaryReply,
|
|
buildAssistantCapabilityContractReply: input.buildAssistantCapabilityContractReply
|
|
});
|
|
if (!runtime.handled || !runtime.debug) {
|
|
return null;
|
|
}
|
|
const finalization = finalizeLivingChatTurnSafe({
|
|
sessionId: input.sessionId,
|
|
userMessage: input.userMessage,
|
|
assistantReply: runtime.chatText,
|
|
replyType: "factual_with_explanation",
|
|
debug: runtime.debug,
|
|
modeDecision: input.modeDecision,
|
|
appendItem: input.appendItem,
|
|
getSession: input.getSession,
|
|
persistSession: input.persistSession,
|
|
cloneConversation: input.cloneConversation,
|
|
logEvent: input.logEvent,
|
|
messageIdFactory: input.messageIdFactory
|
|
});
|
|
return finalization.response;
|
|
}
|
|
catch (error) {
|
|
input.logEvent({
|
|
timestamp: input.nowIso(),
|
|
level: "warn",
|
|
service: "assistant_loop",
|
|
message: "assistant_living_chat_failed_fallback_to_deep",
|
|
sessionId: input.sessionId,
|
|
details: {
|
|
session_id: input.sessionId,
|
|
user_message: input.userMessage,
|
|
reason: error instanceof Error ? error.message : String(error)
|
|
}
|
|
});
|
|
return null;
|
|
}
|
|
}
|