NODEDC_1C/llm_normalizer/backend/src/services/assistantAddressLaneRespons...

49 lines
2.1 KiB
TypeScript

import type { AssistantMessageResponsePayload } from "../types/assistant";
import {
runAssistantAddressLaneResponseRuntime,
type RunAssistantAddressLaneResponseRuntimeInput,
type RunAssistantAddressLaneResponseRuntimeOutput
} from "./assistantAddressLaneResponseRuntimeAdapter";
import { buildAssistantAddressLaneResponseRuntimeInput } from "./assistantAddressLaneResponseRuntimeInputBuilder";
export interface RunAssistantAddressLaneResponseAttemptRuntimeInput<
ResponseType = AssistantMessageResponsePayload
> extends RunAssistantAddressLaneResponseRuntimeInput<ResponseType> {
runAddressLaneResponseRuntime?: (
input: RunAssistantAddressLaneResponseRuntimeInput<ResponseType>
) => RunAssistantAddressLaneResponseRuntimeOutput<ResponseType>;
}
export function runAssistantAddressLaneResponseAttemptRuntime<
ResponseType = AssistantMessageResponsePayload
>(
input: RunAssistantAddressLaneResponseAttemptRuntimeInput<ResponseType>
): ResponseType {
const runAddressLaneResponseRuntimeSafe =
input.runAddressLaneResponseRuntime ?? runAssistantAddressLaneResponseRuntime;
const runtime = runAddressLaneResponseRuntimeSafe(
buildAssistantAddressLaneResponseRuntimeInput({
sessionId: input.sessionId,
userMessage: input.userMessage,
effectiveAddressUserMessage: input.effectiveAddressUserMessage,
addressLane: input.addressLane,
carryoverMeta: input.carryoverMeta,
llmPreDecomposeMeta: input.llmPreDecomposeMeta,
knownOrganizations: input.knownOrganizations,
activeOrganization: input.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
})
);
return runtime.response;
}