"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.runAssistantAddressToolGateRuntime = runAssistantAddressToolGateRuntime; async function runAssistantAddressToolGateRuntime(input) { if (Boolean(input.orchestrationDecision?.runAddressLane)) { return { handled: false, response: null }; } const runtimeMeta = input.addressRuntimeMeta && typeof input.addressRuntimeMeta === "object" ? input.addressRuntimeMeta : {}; const predecomposeContract = runtimeMeta.predecomposeContract && typeof runtimeMeta.predecomposeContract === "object" ? runtimeMeta.predecomposeContract : null; const predecomposePeriod = predecomposeContract?.period && typeof predecomposeContract.period === "object" ? predecomposeContract.period : null; const semanticExtractionContract = runtimeMeta.semanticExtractionContract && typeof runtimeMeta.semanticExtractionContract === "object" ? runtimeMeta.semanticExtractionContract : null; const semanticReasonCodes = Array.isArray(semanticExtractionContract?.reason_codes) ? semanticExtractionContract?.reason_codes : []; input.logEvent({ timestamp: input.nowIso(), level: "info", service: "assistant_loop", message: "assistant_address_tool_gate_skip", sessionId: input.sessionId, details: { session_id: input.sessionId, user_message: input.userMessage, effective_address_user_message: input.addressInputMessage, address_llm_predecompose_attempted: Boolean(runtimeMeta.attempted), address_llm_predecompose_applied: Boolean(runtimeMeta.applied), address_llm_predecompose_reason: runtimeMeta.reason ?? null, address_fallback_rule_hit: runtimeMeta.fallbackRuleHit ?? null, address_sanitized_user_message: runtimeMeta.sanitizedUserMessage ?? null, assistant_orchestration_contract_v1: runtimeMeta.orchestrationContract ?? null, address_tool_gate_decision: runtimeMeta.toolGateDecision ?? null, address_tool_gate_reason: runtimeMeta.toolGateReason ?? null, address_llm_predecompose_contract_intent: predecomposeContract?.intent ?? null, address_llm_predecompose_contract_aggregation_profile: predecomposeContract?.aggregation_profile ?? null, address_llm_predecompose_contract_period_scope: predecomposePeriod?.scope ?? null, address_semantic_contract_valid: semanticExtractionContract?.valid ?? null, address_semantic_contract_quality: semanticExtractionContract?.quality ?? null, address_semantic_apply_canonical_recommended: semanticExtractionContract?.apply_canonical_recommended ?? null, address_semantic_reason_codes: semanticReasonCodes } }); if (input.livingModeDecision?.mode === "chat") { const chatHandled = await input.tryHandleLivingChat(input.livingModeDecision, runtimeMeta); if (chatHandled) { return { handled: true, response: chatHandled }; } } return { handled: false, response: null }; }