import type { AgentLoop } from "../../utils/agent/agent-loop.js"; import { Box, Text } from "ink"; import path from "node:path"; import React from "react"; export interface TerminalHeaderProps { terminalRows: number; version: string; PWD: string; model: string; provider?: string; approvalPolicy: string; colorsByPolicy: Record; agent?: AgentLoop; initialImagePaths?: Array; flexModeEnabled?: boolean; } const TerminalHeader: React.FC = ({ terminalRows, version, PWD, model, provider = "openai", approvalPolicy, colorsByPolicy, agent, initialImagePaths, flexModeEnabled = false, }) => { return ( <> {terminalRows < 10 ? ( // Compact header for small terminal windows ● Codex v{version} - {PWD} - {model} ({provider}) -{" "} {approvalPolicy} {flexModeEnabled ? " - flex-mode" : ""} ) : ( <> ● OpenAI Codex{" "} (research preview) v{version} localhost session:{" "} {agent?.sessionId ?? ""} workdir: {PWD} model: {model} provider:{" "} {provider} approval:{" "} {approvalPolicy} {flexModeEnabled && ( flex-mode:{" "} enabled )} {initialImagePaths?.map((img, idx) => ( image:{" "} {path.basename(img)} ))} )} ); }; export default TerminalHeader;