NODEDC_1C/llm_normalizer/backend/src/services/assistantAddressLaneAttempt...

39 lines
1.6 KiB
TypeScript

import type { RunAssistantAddressLaneAttemptRuntimeInput } from "./assistantAddressLaneAttemptRuntimeAdapter";
export function resolveAssistantAddressLaneAttemptFollowupContext(
carryMeta: RunAssistantAddressLaneAttemptRuntimeInput["carryMeta"]
): Record<string, unknown> | null {
return carryMeta?.followupContext && typeof carryMeta.followupContext === "object"
? (carryMeta.followupContext as Record<string, unknown>)
: null;
}
export interface BuildAssistantAddressLaneAttemptQueryOptionsInput {
analysisDateHint: RunAssistantAddressLaneAttemptRuntimeInput["analysisDateHint"];
scopedFollowupContext: Record<string, unknown> | null;
llmSemanticHints: RunAssistantAddressLaneAttemptRuntimeInput["llmSemanticHints"];
activeOrganization: RunAssistantAddressLaneAttemptRuntimeInput["activeOrganization"];
knownOrganizations: RunAssistantAddressLaneAttemptRuntimeInput["knownOrganizations"];
}
export function buildAssistantAddressLaneAttemptQueryOptions(
input: BuildAssistantAddressLaneAttemptQueryOptionsInput
): Parameters<RunAssistantAddressLaneAttemptRuntimeInput["runAddressQueryTryHandle"]>[1] {
const base = {
analysisDateHint: input.analysisDateHint
} as Parameters<RunAssistantAddressLaneAttemptRuntimeInput["runAddressQueryTryHandle"]>[1];
if (input.scopedFollowupContext) {
base.followupContext = input.scopedFollowupContext;
}
if (input.llmSemanticHints) {
base.llmSemanticHints = input.llmSemanticHints;
}
if (input.activeOrganization) {
base.activeOrganization = input.activeOrganization;
}
if (input.knownOrganizations.length > 0) {
base.knownOrganizations = input.knownOrganizations;
}
return base;
}