/** * @license * Copyright 2025 Google LLC * SPDX-License-Identifier: Apache-2.0 */ import { type PolicyEngineConfig, type ApprovalMode, type PolicyEngine, type MessageBus, type PolicySettings, createPolicyEngineConfig as createCorePolicyEngineConfig, createPolicyUpdater as createCorePolicyUpdater, } from '@google/gemini-cli-core'; import { type Settings } from './settings.js'; export async function createPolicyEngineConfig( settings: Settings, approvalMode: ApprovalMode, ): Promise { // Explicitly construct PolicySettings from Settings to ensure type safety // and avoid accidental leakage of other settings properties. const policySettings: PolicySettings = { mcp: settings.mcp, tools: settings.tools, mcpServers: settings.mcpServers, }; return createCorePolicyEngineConfig(policySettings, approvalMode); } export function createPolicyUpdater( policyEngine: PolicyEngine, messageBus: MessageBus, ) { return createCorePolicyUpdater(policyEngine, messageBus); }