"use client"; import React from "react"; import { getAnnotationData, Message } from "@llamaindex/chat-ui"; export default function TerminalDisplay({ message, open }: { message: Message, open: boolean }) { const [isCollapsed, setIsCollapsed] = React.useState(!open); // Get the last assistant message that's not being typed if (!message) { return <>; } interface TerminalInfo { id: number; text: string; type: string; } const events = getAnnotationData( message, "TERMINAL_INFO" ) as TerminalInfo[]; if (events.length === 0) { return <>; } return (
{/* Terminal Header */}
setIsCollapsed(!isCollapsed)} >
Agent Process Terminal ({events.length} events)
{isCollapsed ? ( ) : ( )}
{/* Terminal Content */} {!isCollapsed && (
{events.map((event, index) => (
$ [{event.type || ""}] {event.text || ""}...
))} {events.length === 0 && (
No agent events to display...
)}
)}
); }