import { jsx as _jsx } from "react/jsx-runtime";
import { Text } from 'ink';
import { Colors } from '../colors.js';
export const ContextSummaryDisplay = ({ activeFile: _activeFile, llxprtMdFileCount, contextFileNames, mcpServers, blockedMcpServers, showToolDescriptions, ideContext, }) => {
    const mcpServerCount = Object.keys(mcpServers || {}).length;
    const blockedMcpServerCount = blockedMcpServers?.length || 0;
    const openFileCount = ideContext?.workspaceState?.openFiles?.length ?? 0;
    if (llxprtMdFileCount === 0 &&
        mcpServerCount === 0 &&
        blockedMcpServerCount === 0 &&
        openFileCount === 0) {
        return _jsx(Text, { children: " " }); // Render an empty space to reserve height
    }
    const openFilesText = (() => {
        if (openFileCount === 0) {
            return '';
        }
        return `${openFileCount} open file${openFileCount > 1 ? 's' : ''} (ctrl+g to view)`;
    })();
    const geminiMdText = (() => {
        if (llxprtMdFileCount === 0) {
            return '';
        }
        const allNamesTheSame = new Set(contextFileNames).size < 2;
        const name = allNamesTheSame ? contextFileNames[0] : 'context';
        return `${llxprtMdFileCount} ${name} file${llxprtMdFileCount > 1 ? 's' : ''}`;
    })();
    const mcpText = (() => {
        if (mcpServerCount === 0 && blockedMcpServerCount === 0) {
            return '';
        }
        const parts = [];
        if (mcpServerCount > 0) {
            parts.push(`${mcpServerCount} MCP server${mcpServerCount > 1 ? 's' : ''}`);
        }
        if (blockedMcpServerCount > 0) {
            let blockedText = `${blockedMcpServerCount} Blocked`;
            if (mcpServerCount === 0) {
                blockedText += ` MCP server${blockedMcpServerCount > 1 ? 's' : ''}`;
            }
            parts.push(blockedText);
        }
        return parts.join(', ');
    })();
    let summaryText = 'Using: ';
    const summaryParts = [];
    if (openFilesText) {
        summaryParts.push(openFilesText);
    }
    if (geminiMdText) {
        summaryParts.push(geminiMdText);
    }
    if (mcpText) {
        summaryParts.push(mcpText);
    }
    summaryText += summaryParts.join(' | ');
    // Add ctrl+t hint when MCP servers are available
    if (mcpServers && Object.keys(mcpServers).length > 0) {
        if (showToolDescriptions) {
            summaryText += ' (ctrl+t to toggle)';
        }
        else {
            summaryText += ' (ctrl+t to view)';
        }
    }
    return _jsx(Text, { color: Colors.Gray, children: summaryText });
};
//# sourceMappingURL=ContextSummaryDisplay.js.map