NODEDC_1C/llm_normalizer/backend/src/services/assistantAddressRuntimeInpu...

55 lines
2.5 KiB
TypeScript

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;
sessionScope?: {
knownOrganizations?: unknown;
selectedOrganization?: unknown;
activeOrganization?: unknown;
} | null;
}
export function buildAssistantAddressRuntimeInput<ResponseType = unknown>(
input: BuildAssistantAddressRuntimeInputInput<ResponseType>
): RunAssistantAddressRuntimeInput<ResponseType> {
return {
featureAssistantAddressQueryV1: input.featureAssistantAddressQueryV1,
sessionId: input.sessionId,
userMessage: input.userMessage,
sessionItems: input.sessionItems,
sessionAddressNavigationState: input.sessionAddressNavigationState,
sessionOrganizationScope: input.sessionScope,
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
};
}