"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ASSISTANT_MCP_DISCOVERY_RUNTIME_ENTRY_POINT_SCHEMA_VERSION = void 0; exports.runAssistantMcpDiscoveryRuntimeEntryPoint = runAssistantMcpDiscoveryRuntimeEntryPoint; const assistantMcpDiscoveryRuntimeBridge_1 = require("./assistantMcpDiscoveryRuntimeBridge"); const assistantMcpDiscoveryTurnInputAdapter_1 = require("./assistantMcpDiscoveryTurnInputAdapter"); exports.ASSISTANT_MCP_DISCOVERY_RUNTIME_ENTRY_POINT_SCHEMA_VERSION = "assistant_mcp_discovery_runtime_entry_point_v1"; function normalizeReasonCode(value) { const normalized = value .trim() .replace(/[^\p{L}\p{N}_.:-]+/gu, "_") .replace(/^_+|_+$/g, "") .toLowerCase(); return normalized.length > 0 ? normalized.slice(0, 120) : null; } function pushReason(target, value) { const normalized = normalizeReasonCode(value); if (normalized && !target.includes(normalized)) { target.push(normalized); } } function uniqueStrings(values) { const result = []; for (const value of values) { const text = String(value ?? "").trim(); if (text && !result.includes(text)) { result.push(text); } } return result; } function skippedContract(input) { const reasonCodes = uniqueStrings(input.turnInput.reason_codes); pushReason(reasonCodes, input.reason); pushReason(reasonCodes, "runtime_entry_point_not_wired_to_hot_assistant_answer"); return { schema_version: exports.ASSISTANT_MCP_DISCOVERY_RUNTIME_ENTRY_POINT_SCHEMA_VERSION, policy_owner: "assistantMcpDiscoveryRuntimeEntryPoint", entry_status: input.status, hot_runtime_wired: false, discovery_attempted: false, turn_input: input.turnInput, bridge: null, reason_codes: reasonCodes }; } async function runAssistantMcpDiscoveryRuntimeEntryPoint(input) { const turnInput = (0, assistantMcpDiscoveryTurnInputAdapter_1.buildAssistantMcpDiscoveryTurnInput)(input); if (!turnInput.should_run_discovery) { return skippedContract({ status: "skipped_not_applicable", turnInput, reason: "runtime_entry_point_skipped_supported_exact_turn" }); } if (!turnInput.turn_meaning_ref) { return skippedContract({ status: "skipped_needs_more_context", turnInput, reason: "runtime_entry_point_skipped_missing_discovery_turn_meaning" }); } const bridge = await (0, assistantMcpDiscoveryRuntimeBridge_1.runAssistantMcpDiscoveryRuntimeBridge)({ semanticDataNeed: turnInput.semantic_data_need, dataNeedGraph: turnInput.data_need_graph, turnMeaning: turnInput.turn_meaning_ref, deps: input.deps }); const reasonCodes = uniqueStrings([...turnInput.reason_codes, ...bridge.reason_codes]); pushReason(reasonCodes, "runtime_entry_point_bridge_executed"); pushReason(reasonCodes, "runtime_entry_point_not_wired_to_hot_assistant_answer"); return { schema_version: exports.ASSISTANT_MCP_DISCOVERY_RUNTIME_ENTRY_POINT_SCHEMA_VERSION, policy_owner: "assistantMcpDiscoveryRuntimeEntryPoint", entry_status: "bridge_executed", hot_runtime_wired: false, discovery_attempted: true, turn_input: turnInput, bridge, reason_codes: reasonCodes }; }