import { GitForkIcon } from "lucide-react"; import type { AgentMessageItem, UserMessageItem } from "../../../session"; import type { OpenGeniBrowserClient } from "@opengeni/sdk/browser"; import { SessionFeedback } from "../feedback"; /** Host-owned actions share the timeline's existing Copy hover/focus row. */ export default function MessageActions(props: { item: AgentMessageItem | UserMessageItem; client: OpenGeniBrowserClient; workspaceId: string; sessionId: string; mayRate: boolean; mayFork: boolean; savedSentiment: "positive" | "negative" | null; onRated: (turnId: string, sentiment: "positive" | "negative") => void; onFork: (eventId: string) => void; }) { const { item } = props; if ( (item.kind === "agent-message" && item.streaming) || (item.kind === "user-message" && item.delivery) ) return null; const eventId = item.annotationSource?.eventId; return ( <> {props.mayRate && item.kind === "agent-message" && item.turnId ? ( props.onRated(item.turnId!, sentiment)} /> ) : null} {props.mayFork && eventId ? ( ) : null} ); }