import { useState, type JSX } from "react"; import type { AgentToolCallCardProps } from "./AgentToolCallCard"; import { AgentToolCallHeader } from "./AgentToolCallHeader"; import { CollapsibleReveal } from "./CollapsibleReveal"; import { AgentExpandedToolContent } from "./tool-renderers/AgentExpandedToolContent"; import { hasAgentToolContent } from "./tool-renderers/agentToolContentShared"; export function AgentTaskCallCard({ call, onLinkClick, defaultExpanded, nonCollapsible }: AgentToolCallCardProps): JSX.Element { "use memo"; const running = (call.task?.status ?? call.status ?? "").trim().toLowerCase() === "running"; const hasDetail = hasAgentToolContent(call); const pinned = nonCollapsible ?? running; const [expanded, setExpanded] = useState(defaultExpanded ?? running); const ariaLabel = taskCallAriaLabel(call); return (