NODEDC_1C/llm_normalizer/backend/dist/services/assistantRoutePolicyRuntime...

39 lines
1.8 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.ASSISTANT_ROUTE_POLICY_RUNTIME_SCHEMA_VERSION = void 0;
exports.runAssistantRoutePolicyRuntime = runAssistantRoutePolicyRuntime;
exports.ASSISTANT_ROUTE_POLICY_RUNTIME_SCHEMA_VERSION = "assistant_route_policy_runtime_v1";
function hasObject(value) {
return Boolean(value && typeof value === "object");
}
function runAssistantRoutePolicyRuntime(input) {
const orchestrationDecision = input.resolveAssistantOrchestrationDecision({
rawUserMessage: input.rawUserMessage,
effectiveAddressUserMessage: input.effectiveAddressUserMessage,
followupContext: input.followupContext,
llmPreDecomposeMeta: input.llmPreDecomposeMeta,
sessionItems: input.sessionItems,
sessionOrganizationScope: input.sessionOrganizationScope,
useMock: input.useMock
});
const livingModeDecision = {
mode: orchestrationDecision.livingMode,
reason: orchestrationDecision.livingReason
};
return {
orchestrationDecision,
livingModeDecision,
routePolicyContract: {
schema_version: exports.ASSISTANT_ROUTE_POLICY_RUNTIME_SCHEMA_VERSION,
policy_owner: "assistantRoutePolicyRuntimeAdapter",
decision_source: "resolveAssistantOrchestrationDecision",
living_mode: livingModeDecision.mode,
living_reason: livingModeDecision.reason,
tool_gate_decision: orchestrationDecision.toolGateDecision ?? null,
tool_gate_reason: orchestrationDecision.toolGateReason ?? null,
has_followup_context: hasObject(input.followupContext),
has_orchestration_contract: hasObject(orchestrationDecision.orchestrationContract)
}
};
}