/** * @license * Copyright 2025 Vybestack LLC * SPDX-License-Identifier: Apache-2.0 */ import type React from 'react'; import { Box, Text } from 'ink'; import { Colors } from '../colors.js'; import { getGitCommitInfo } from '../../utils/gitCommitInfo.js'; import { getBorderStyle } from '../contexts/UnicodeRenderingContext.js'; // Resolve once at module load (the loader is cached and does synchronous file // I/O on first call), keeping the React render path free of side effects. const GIT_COMMIT_INFO = getGitCommitInfo(); interface AboutBoxProps { cliVersion: string; osVersion: string; sandboxEnv: string; modelVersion: string; keyfile: string; key: string; ideClient: string; provider: string; baseURL: string; } interface InfoRowProps { label: string; value: string; } const InfoRow: React.FC = ({ label, value }) => ( {label} {value} ); interface ConditionalInfoRowProps { label: string; value: string | undefined; } const ConditionalInfoRow: React.FC = ({ label, value, }) => { if (!value) { return null; } return ; }; const AboutBoxHeader: React.FC = () => ( About LLxprt Code ); const AboutBoxContent: React.FC<{ cliVersion: string; modelVersion: string; provider: string; sandboxEnv: string; osVersion: string; baseURL: string; ideClient: string; }> = ({ cliVersion, modelVersion, provider, sandboxEnv, osVersion, baseURL, ideClient, }) => ( <> {!['', 'N/A'].includes(GIT_COMMIT_INFO) && ( )} ); export const AboutBox: React.FC = ({ cliVersion, osVersion, sandboxEnv, modelVersion, ideClient, provider, baseURL, }) => ( );