import { useState } from "react"; import { Brain, ChevronRight } from "lucide-react"; import { cn } from "@/lib/utils"; import { MarkdownBody } from "@/components/MarkdownBody"; import type { TaskChatThinkingItem } from "./task-chat-model"; /** Provider-authored reasoning summaries and deltas; never reconstructed hidden reasoning. */ export function TaskChatThinking({ item }: { item: TaskChatThinkingItem }) { const [open, setOpen] = useState(item.streaming || !item.collapsed); const body = item.lines.join("\n").trim(); if (!body) return null; const label = item.streaming ? "Reasoning…" : item.summaryLabel ?? "Reasoning"; return (
{open ? (
{body}
) : null}
); }