NODEDC_1C/llm_normalizer/backend/src/services/assistantLivingChatAttemptR...

82 lines
4.2 KiB
TypeScript

import type {
TryHandleAssistantLivingChatRuntimeInput
} from "./assistantLivingChatHandlerRuntimeAdapter";
import type { RunAssistantLivingChatLlmRuntimeInput } from "./assistantLivingChatLlmRuntimeAdapter";
export interface BuildAssistantLivingChatLlmRuntimeInputInput {
userMessage: RunAssistantLivingChatLlmRuntimeInput["userMessage"];
sessionItems: RunAssistantLivingChatLlmRuntimeInput["sessionItems"];
payload: RunAssistantLivingChatLlmRuntimeInput["payload"];
chatClient: RunAssistantLivingChatLlmRuntimeInput["chatClient"];
loadAssistantCanonExcerpt: RunAssistantLivingChatLlmRuntimeInput["loadAssistantCanonExcerpt"];
sanitizeOutgoingAssistantText: RunAssistantLivingChatLlmRuntimeInput["sanitizeOutgoingAssistantText"];
defaultModel: RunAssistantLivingChatLlmRuntimeInput["defaultModel"];
defaultBaseUrl: RunAssistantLivingChatLlmRuntimeInput["defaultBaseUrl"];
defaultApiKey?: RunAssistantLivingChatLlmRuntimeInput["defaultApiKey"];
}
export function buildAssistantLivingChatLlmRuntimeInput(
input: BuildAssistantLivingChatLlmRuntimeInputInput
): RunAssistantLivingChatLlmRuntimeInput {
return {
userMessage: input.userMessage,
sessionItems: input.sessionItems,
payload: input.payload,
chatClient: input.chatClient,
loadAssistantCanonExcerpt: input.loadAssistantCanonExcerpt,
sanitizeOutgoingAssistantText: input.sanitizeOutgoingAssistantText,
defaultModel: input.defaultModel,
defaultBaseUrl: input.defaultBaseUrl,
defaultApiKey: input.defaultApiKey
};
}
export interface BuildAssistantLivingChatHandlerRuntimeInputInput<ResponseType = unknown>
extends Omit<TryHandleAssistantLivingChatRuntimeInput<ResponseType>, "executeLlmChat"> {
executeLlmChat: TryHandleAssistantLivingChatRuntimeInput<ResponseType>["executeLlmChat"];
}
export function buildAssistantLivingChatHandlerRuntimeInput<ResponseType = unknown>(
input: BuildAssistantLivingChatHandlerRuntimeInputInput<ResponseType>
): TryHandleAssistantLivingChatRuntimeInput<ResponseType> {
return {
sessionId: input.sessionId,
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,
shouldEmitOrganizationSelectionReply: input.shouldEmitOrganizationSelectionReply,
hasAssistantCapabilityQuestionSignal: input.hasAssistantCapabilityQuestionSignal,
resolveDataScopeProbe: input.resolveDataScopeProbe,
executeLlmChat: input.executeLlmChat,
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,
runLivingChatRuntime: input.runLivingChatRuntime,
finalizeLivingChatTurn: input.finalizeLivingChatTurn
};
}