ГЛОБАЛЬНЫЙ РЕФАКТОРИНГ АРХИТЕКТУРЫ - Рефакторинг этапов 2.42: вынос finalizeAddressLaneResponse из assistantService в отдельный attempt-bridge (как для living chat), для уменьшения монолита без изменения поведения.
This commit is contained in:
+45
@@ -0,0 +1,45 @@
|
||||
import type { AssistantMessageResponsePayload } from "../types/assistant";
|
||||
import {
|
||||
runAssistantAddressLaneResponseRuntime,
|
||||
type RunAssistantAddressLaneResponseRuntimeInput,
|
||||
type RunAssistantAddressLaneResponseRuntimeOutput
|
||||
} from "./assistantAddressLaneResponseRuntimeAdapter";
|
||||
|
||||
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({
|
||||
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;
|
||||
}
|
||||
Reference in New Issue
Block a user