/** * @license * Copyright 2025 Vybestack LLC * SPDX-License-Identifier: Apache-2.0 */ import { Box } from 'ink'; import { GeminiPrivacyNotice } from './GeminiPrivacyNotice.js'; import { MultiProviderPrivacyNotice } from './MultiProviderPrivacyNotice.js'; import { UnconfiguredPrivacyNotice } from './UnconfiguredPrivacyNotice.js'; import type { ModelState } from '../cliUiRuntime.js'; import { getBorderStyle } from '../contexts/UnicodeRenderingContext.js'; interface PrivacyNoticeProps { onExit: () => void; config: ModelState; } /** * Privacy notice component that shows appropriate notice based on active provider. */ const PrivacyNoticeText = ({ config, onExit, }: { config: ModelState; onExit: () => void; }) => { // Check active provider to determine which privacy notice to show const providerManager = config.getProviderManager(); let activeProvider: | ReturnType['getActiveProvider']> | undefined; if (providerManager) { try { activeProvider = providerManager.getActiveProvider(); } catch { activeProvider = undefined; } } // No active provider: show neutral setup notice if (!activeProvider) { return ; } // If we have a non-Gemini provider active, show its specific notice if (activeProvider.name !== 'gemini') { return ( ); } // Gemini is the explicit active provider return ; }; export const PrivacyNotice = ({ onExit, config }: PrivacyNoticeProps) => ( );