АРЧ АП11 - Выделить route policy adapter для архитектуры assistant runtime

This commit is contained in:
2026-04-15 23:10:46 +03:00
parent 1d95ed9b60
commit 9d5928125d
6 changed files with 207 additions and 16 deletions
@@ -1,3 +1,5 @@
import { runAssistantRoutePolicyRuntime } from "./assistantRoutePolicyRuntimeAdapter";
export interface BuildAssistantAddressOrchestrationRuntimeInput {
userMessage: string;
sessionItems: unknown[];
@@ -195,15 +197,17 @@ export async function buildAssistantAddressOrchestrationRuntime(
}
const followupContext = carryover?.followupContext ?? null;
const orchestrationDecision = input.resolveAssistantOrchestrationDecision({
const routePolicyRuntime = runAssistantRoutePolicyRuntime({
rawUserMessage: input.userMessage,
effectiveAddressUserMessage: addressInputMessage,
followupContext,
llmPreDecomposeMeta: addressPreDecompose,
sessionItems: input.sessionItems,
sessionOrganizationScope: input.sessionOrganizationScope ?? null,
useMock: input.useMock
useMock: input.useMock,
resolveAssistantOrchestrationDecision: input.resolveAssistantOrchestrationDecision
});
const orchestrationDecision = routePolicyRuntime.orchestrationDecision;
const dialogContinuationContract = input.buildAddressDialogContinuationContractV2(
input.userMessage,
addressInputMessage,
@@ -215,11 +219,8 @@ export async function buildAssistantAddressOrchestrationRuntime(
toolGateDecision: orchestrationDecision.toolGateDecision ?? null,
toolGateReason: orchestrationDecision.toolGateReason ?? null,
dialogContinuationContract,
orchestrationContract: orchestrationDecision.orchestrationContract ?? null
};
const livingModeDecision = {
mode: orchestrationDecision.livingMode,
reason: orchestrationDecision.livingReason
orchestrationContract: orchestrationDecision.orchestrationContract ?? null,
routePolicyContract: routePolicyRuntime.routePolicyContract
};
return {
@@ -228,6 +229,6 @@ export async function buildAssistantAddressOrchestrationRuntime(
carryover,
orchestrationDecision,
addressRuntimeMeta,
livingModeDecision
livingModeDecision: routePolicyRuntime.livingModeDecision
};
}