39 lines
1.8 KiB
JavaScript
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)
|
|
}
|
|
};
|
|
}
|