"use client"; import { useState } from "react"; import { ChevronRightIcon } from "lucide-react"; import { cn } from "@/lib/utils"; /** * The graph-context card (owner, 2026-10-04): the session's map pick — * message[0] of a session started with propositions picked from the * graph. Scaffolding, not a turn: minimal, muted, collapsed by default; * expand reveals the picked propositions (name — statement) and the * reasoning chains among them (premises → conclusion lines). The model * reads the same content through the marker's own text (toLlmMessages); * this card is the learner's face of it. */ /** The graph-context marker's details (native-messages.ts). */ export interface GraphContextData { propositions: { id: string; name: string; statement: string }[]; chains: string[]; } export function GraphContextCard({ data }: { data: GraphContextData }) { const [open, setOpen] = useState(false); const { propositions = [], chains = [] } = data ?? {}; const noun = (n: number, one: string, many: string) => `${n} ${n === 1 ? one : many}`; return (