{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "deepgram-ui",
  "homepage": "https://cdn.deepgram.com/ui",
  "items": [
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "utils",
      "type": "registry:lib",
      "description": "cn() utility — clsx + tailwind-merge",
      "dependencies": [
        "clsx",
        "tailwind-merge"
      ],
      "files": [
        {
          "path": "lib/utils.ts",
          "type": "registry:lib"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "button",
      "type": "registry:ui",
      "description": "shadcn Button primitive",
      "dependencies": [
        "@radix-ui/react-slot",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/button.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "textarea",
      "type": "registry:ui",
      "description": "shadcn Textarea primitive",
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/textarea.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "toggle",
      "type": "registry:ui",
      "description": "shadcn Toggle primitive",
      "dependencies": [
        "@radix-ui/react-toggle",
        "class-variance-authority"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/toggle.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "select",
      "type": "registry:ui",
      "description": "shadcn Select primitive",
      "dependencies": [
        "@radix-ui/react-select",
        "lucide-react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/select.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "scroll-area",
      "type": "registry:ui",
      "description": "shadcn ScrollArea primitive",
      "dependencies": [
        "@radix-ui/react-scroll-area"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/scroll-area.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "agent-status",
      "type": "registry:ui",
      "description": "Status indicator that reflects the agent connection state",
      "dependencies": [
        "@deepgram/react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/AgentStatus.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "agent-conversation",
      "type": "registry:ui",
      "description": "Scrollable conversation transcript with auto-scroll",
      "dependencies": [
        "@deepgram/react"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/AgentConversation.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "agent-text-input",
      "type": "registry:ui",
      "description": "Text input for sending messages to the agent",
      "dependencies": [
        "@deepgram/react"
      ],
      "registryDependencies": [
        "utils",
        "button",
        "textarea"
      ],
      "files": [
        {
          "path": "components/ui/AgentTextInput.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "agent-microphone-button",
      "type": "registry:ui",
      "description": "Toggle button for muting/unmuting the microphone",
      "dependencies": [
        "@deepgram/react"
      ],
      "registryDependencies": [
        "utils",
        "button",
        "toggle"
      ],
      "files": [
        {
          "path": "components/ui/AgentMicrophoneButton.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "agent-speaker-button",
      "type": "registry:ui",
      "description": "Toggle button for muting/unmuting agent audio output",
      "dependencies": [
        "@deepgram/react"
      ],
      "registryDependencies": [
        "utils",
        "toggle"
      ],
      "files": [
        {
          "path": "components/ui/AgentSpeakerButton.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "agent-start-button",
      "type": "registry:ui",
      "description": "Start/stop button for the agent session",
      "dependencies": [
        "@deepgram/react"
      ],
      "registryDependencies": [
        "utils",
        "button"
      ],
      "files": [
        {
          "path": "components/ui/AgentStartButton.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "voice-button",
      "type": "registry:ui",
      "description": "All-in-one voice button with 5 lifecycle states",
      "dependencies": [
        "@deepgram/react"
      ],
      "registryDependencies": [
        "utils",
        "button"
      ],
      "files": [
        {
          "path": "components/ui/VoiceButton.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "mic-selector",
      "type": "registry:ui",
      "description": "Microphone device selector with permission handling",
      "registryDependencies": [
        "utils",
        "select"
      ],
      "files": [
        {
          "path": "components/ui/MicSelector.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "response",
      "type": "registry:ui",
      "description": "Lightweight markdown renderer for AI responses with Tailwind Typography prose",
      "devDependencies": [
        "@tailwindcss/typography"
      ],
      "registryDependencies": [
        "utils"
      ],
      "files": [
        {
          "path": "components/ui/Response.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "bar-visualizer",
      "type": "registry:ui",
      "description": "Real-time audio frequency bar visualizer (canvas)",
      "dependencies": [
        "@deepgram/react"
      ],
      "files": [
        {
          "path": "components/ui/BarVisualizer.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "live-waveform",
      "type": "registry:ui",
      "description": "Canvas-based real-time waveform driven by a volume getter",
      "files": [
        {
          "path": "components/ui/LiveWaveform.tsx",
          "type": "registry:ui"
        }
      ]
    },
    {
      "$schema": "https://ui.shadcn.com/schema/registry-item.json",
      "name": "orb",
      "type": "registry:ui",
      "description": "Animated canvas orb with idle/listening/talking states, audio-reactive",
      "files": [
        {
          "path": "components/ui/Orb.tsx",
          "type": "registry:ui"
        }
      ]
    }
  ]
}
