"use client"; import { AssistantMessageInterface } from "../data/AssistantMessageInterface"; import { MessageItem, type ApprovalActionRenderer, type MentionRenderer } from "./MessageItem"; interface Props { messages: AssistantMessageInterface[]; onSelectFollowUp: (q: string) => void; failedMessageIds?: Set; onRetry?: (tempId: string) => void; renderApprovalAction?: ApprovalActionRenderer; renderMention?: MentionRenderer; } export function MessageList({ messages, onSelectFollowUp, failedMessageIds, onRetry, renderApprovalAction, renderMention, }: Props) { const ordered = [...messages].sort((a, b) => a.position - b.position); let lastAssistantIndex = -1; for (let i = ordered.length - 1; i >= 0; i--) { if (ordered[i].role === "assistant") { lastAssistantIndex = i; break; } } return (
{ordered.map((m, i) => ( ))}
); }