{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "subagent",
  "title": "Subagent",
  "description": "Work delegated to a sub-agent, nested with its live activity.",
  "dependencies": [
    "lucide-react"
  ],
  "registryDependencies": [
    "utils",
    "https://ui.cuelark.com/r/theme.json",
    "https://ui.cuelark.com/r/collapsible.json",
    "https://ui.cuelark.com/r/motion.json",
    "https://ui.cuelark.com/r/spinner.json",
    "https://ui.cuelark.com/r/text-shimmer.json"
  ],
  "files": [
    {
      "path": "src/registry/cuelark/ui/subagent.tsx",
      "content": "\"use client\";\n\nimport * as React from \"react\";\nimport { BotIcon, CheckIcon, ChevronDownIcon } from \"lucide-react\";\n\nimport { flash, pop } from \"@/lib/motion\";\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from \"@/registry/cuelark/ui/collapsible\";\nimport { Spinner } from \"@/registry/cuelark/ui/spinner\";\nimport { TextShimmer } from \"@/registry/cuelark/ui/text-shimmer\";\nimport { cn } from \"@/lib/utils\";\n\ntype SubagentProps = Omit<React.ComponentProps<typeof Collapsible>, \"title\"> & {\n  name: string;\n  /** What it was asked to do. */\n  task: React.ReactNode;\n  status?: \"running\" | \"done\" | \"error\";\n  /** Latest activity line while running. */\n  activity?: string;\n  duration?: number;\n};\n\n/**\n * Work delegated to a sub-agent, nested inside the parent's turn: its name and task, a live activity line while it\n * runs, and its full transcript tucked inside, indented on a rail so ownership is always clear.\n */\nfunction Subagent({ name, task, status = \"running\", activity, duration, className, children, ...props }: SubagentProps) {\n  const ref = React.useRef<HTMLDivElement>(null);\n  const prev = React.useRef(status);\n  React.useLayoutEffect(() => {\n    if (prev.current === status) return;\n    prev.current = status;\n    if (status === \"done\") {\n      flash(ref.current);\n      pop(ref.current?.querySelector('[data-part=\"done\"]') ?? null);\n    }\n  }, [status]);\n  return (\n    <Collapsible\n      ref={ref} data-slot=\"subagent\" data-status={status} className={cn(\"group/sub rounded-xl border border-border bg-card\", className)} {...props}>\n      <CollapsibleTrigger className=\"flex w-full items-start gap-2.5 p-3 text-left outline-none focus-visible:ring-3 focus-visible:ring-ring/50 focus-visible:ring-inset\">\n        <span className=\"grid size-7 shrink-0 place-items-center rounded-lg bg-muted\">\n          <BotIcon className=\"size-3.5\" />\n        </span>\n        <span className=\"grid min-w-0 flex-1 gap-0.5\">\n          <span className=\"flex items-center gap-2 text-sm\">\n            <span className=\"font-mono text-[0.8125rem] font-medium\">{name}</span>\n            {status === \"running\" && <Spinner size=\"sm\" label=\"Running\" className=\"text-foreground\" />}\n            {status === \"done\" && (\n              <span data-part=\"done\" className=\"grid size-4 place-items-center rounded-full bg-signal text-signal-foreground\">\n                <CheckIcon className=\"size-2.5\" strokeWidth={3.5} />\n              </span>\n            )}\n            {duration != null && status !== \"running\" && <span className=\"font-mono text-xs text-muted-foreground\">{duration.toFixed(1)}s</span>}\n          </span>\n          <span className=\"truncate text-sm text-muted-foreground\">{task}</span>\n          {status === \"running\" && activity && <TextShimmer className=\"truncate text-xs\">{activity}</TextShimmer>}\n        </span>\n        <ChevronDownIcon className=\"mt-1 size-4 shrink-0 text-muted-foreground transition-transform duration-200 ease-cue group-data-[state=open]/sub:rotate-180\" />\n      </CollapsibleTrigger>\n      <CollapsibleContent>\n        <div className=\"ms-6 grid gap-3 border-s-2 border-dashed border-border py-1 ps-4 pe-3 pb-3 text-sm\">{children}</div>\n      </CollapsibleContent>\n    </Collapsible>\n  );\n}\n\nexport { Subagent };\nexport type { SubagentProps };\n",
      "type": "registry:ui"
    }
  ],
  "docs": "Docs and examples: https://ui.cuelark.com/components/subagent",
  "categories": [
    "agents"
  ],
  "type": "registry:ui"
}