ГЛОБАЛЬНЫЙ РЕФАКТОРИНГ АРХИТЕКТУРЫ - Рефакторинг этапов 2.522.55 - Перевод finalizeAddressLaneResponse на builder вместо inline-сборки в assistantAddressAttemptRuntimeAdapter.ts \ Добавлен builder для lane-attempt input: assistantAddressLaneAttemptInputBuilder.ts. \ Добавлен builder для финального address-runtime input: assistantAddressRuntimeInputBuilder.ts.

This commit is contained in:
2026-04-11 01:09:53 +03:00
parent b612615219
commit c849eb5f5b
12 changed files with 504 additions and 67 deletions
@@ -0,0 +1,47 @@
import type { RunAssistantAddressRuntimeInput } from "./assistantAddressRuntimeAdapter";
interface AssistantAddressAttemptPayloadLike {
llmProvider?: unknown;
useMock?: unknown;
context?: {
period_hint?: unknown;
} | null;
}
export interface BuildAssistantAddressRuntimeInputInput<ResponseType = unknown>
extends Omit<RunAssistantAddressRuntimeInput<ResponseType>, "llmProvider" | "useMock" | "payloadContextPeriodHint"> {
payload: AssistantAddressAttemptPayloadLike;
}
export function buildAssistantAddressRuntimeInput<ResponseType = unknown>(
input: BuildAssistantAddressRuntimeInputInput<ResponseType>
): RunAssistantAddressRuntimeInput<ResponseType> {
return {
featureAssistantAddressQueryV1: input.featureAssistantAddressQueryV1,
sessionId: input.sessionId,
userMessage: input.userMessage,
sessionItems: input.sessionItems,
llmProvider: input.payload.llmProvider,
useMock: Boolean(input.payload.useMock),
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,
payloadContextPeriodHint: input.payload?.context?.period_hint,
compactWhitespace: input.compactWhitespace,
runAddressLaneAttempt: input.runAddressLaneAttempt,
isRetryableAddressLimitedResult: input.isRetryableAddressLimitedResult,
finalizeAddressLaneResponse: input.finalizeAddressLaneResponse,
tryHandleLivingChat: input.tryHandleLivingChat,
logEvent: input.logEvent,
nowIso: input.nowIso,
runAddressOrchestrationRuntime: input.runAddressOrchestrationRuntime,
runAddressToolGateRuntime: input.runAddressToolGateRuntime,
runAddressLaneRuntime: input.runAddressLaneRuntime
};
}