{
  "$schema": "https://ui.shadcn.com/schema/registry.json",
  "name": "agent-demos",
  "homepage": "https://github.com/SawanaLabs/agent-demos",
  "items": [
    {
      "name": "foundation-chat",
      "title": "Foundation Chat",
      "description": "A production-ready AI Gateway chat shell for Next.js, AI SDK 6, AI Elements, and shadcn/ui.",
      "dependencies": [
        "@ai-sdk/react",
        "@base-ui/react",
        "ai",
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "badge",
        "breadcrumb",
        "button",
        "button-group",
        "card",
        "separator",
        "textarea",
        "tooltip",
        "https://elements.ai-sdk.dev/api/registry/conversation.json",
        "https://elements.ai-sdk.dev/api/registry/message.json"
      ],
      "files": [
        {
          "path": "registry/foundation-chat/app/demos/foundation-chat/page.tsx",
          "type": "registry:page",
          "target": "app/demos/foundation-chat/page.tsx"
        },
        {
          "path": "registry/foundation-chat/app/api/demos/foundation-chat/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/foundation-chat/route.ts"
        },
        {
          "path": "registry/foundation-chat/components/foundation-chat/foundation-chat-screen.tsx",
          "type": "registry:component",
          "target": "@components/foundation-chat/foundation-chat-screen.tsx"
        },
        {
          "path": "registry/foundation-chat/components/foundation-chat/foundation-chat-workspace.tsx",
          "type": "registry:component",
          "target": "@components/foundation-chat/foundation-chat-workspace.tsx"
        },
        {
          "path": "registry/foundation-chat/components/foundation-chat/use-foundation-chat.ts",
          "type": "registry:component",
          "target": "@components/foundation-chat/use-foundation-chat.ts"
        },
        {
          "path": "registry/foundation-chat/components/demo-chat/use-demo-chat.ts",
          "type": "registry:component",
          "target": "@components/demo-chat/use-demo-chat.ts"
        },
        {
          "path": "registry/foundation-chat/components/demo-chat/conversation-error-message.tsx",
          "type": "registry:component",
          "target": "@components/demo-chat/conversation-error-message.tsx"
        },
        {
          "path": "registry/foundation-chat/components/demo-workspace-shell.tsx",
          "type": "registry:component",
          "target": "@components/demo-workspace-shell.tsx"
        },
        {
          "path": "registry/foundation-chat/components/demo-breadcrumb.tsx",
          "type": "registry:component",
          "target": "@components/demo-breadcrumb.tsx"
        },
        {
          "path": "registry/foundation-chat/components/ai-elements/prompt-input.tsx",
          "type": "registry:component",
          "target": "@components/ai-elements/prompt-input.tsx"
        },
        {
          "path": "registry/foundation-chat/lib/ai-gateway/contract.ts",
          "type": "registry:lib",
          "target": "@lib/ai-gateway/contract.ts"
        },
        {
          "path": "registry/foundation-chat/lib/foundation-chat/env-source.ts",
          "type": "registry:lib",
          "target": "@lib/foundation-chat/env-source.ts"
        },
        {
          "path": "registry/foundation-chat/lib/foundation-chat/env.ts",
          "type": "registry:lib",
          "target": "@lib/foundation-chat/env.ts"
        },
        {
          "path": "registry/foundation-chat/lib/foundation-chat/runtime.ts",
          "type": "registry:lib",
          "target": "@lib/foundation-chat/runtime.ts"
        }
      ],
      "envVars": {
        "AI_GATEWAY_API_KEY": "",
        "AI_GATEWAY_BASE_URL": "https://ai-gateway.vercel.sh/v3/ai",
        "AI_GATEWAY_CHAT_MODEL": "openai/gpt-4.1-mini"
      },
      "docs": "Install into a Next.js App Router project initialized with shadcn/ui. This item depends on official shadcn registry primitives plus AI Elements conversation and message, writes the route files into the consumer app directory, and adds AI Gateway env vars to .env.local.",
      "type": "registry:block"
    },
    {
      "name": "rag-chatbot",
      "title": "RAG Chatbot",
      "description": "A grounded document support chatbot with a portable sample index, optional pgvector ingestion, and visible tool traces.",
      "dependencies": [
        "@ai-sdk/react",
        "@base-ui/react",
        "@neondatabase/serverless",
        "@phosphor-icons/react",
        "ai",
        "class-variance-authority",
        "drizzle-orm",
        "lucide-react",
        "pdfjs-dist",
        "zod"
      ],
      "registryDependencies": [
        "utils",
        "badge",
        "breadcrumb",
        "button",
        "textarea",
        "https://elements.ai-sdk.dev/api/registry/conversation.json",
        "https://elements.ai-sdk.dev/api/registry/message.json",
        "https://elements.ai-sdk.dev/api/registry/sources.json",
        "https://elements.ai-sdk.dev/api/registry/tool.json"
      ],
      "files": [
        {
          "path": "registry/rag-chatbot/app/demos/rag-chatbot/page.tsx",
          "type": "registry:page",
          "target": "app/demos/rag-chatbot/page.tsx"
        },
        {
          "path": "registry/rag-chatbot/app/api/demos/rag-chatbot/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/rag-chatbot/route.ts"
        },
        {
          "path": "registry/rag-chatbot/app/api/demos/rag-chatbot/index/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/rag-chatbot/index/route.ts"
        },
        {
          "path": "registry/rag-chatbot/components/rag-chatbot/rag-chatbot-screen.tsx",
          "type": "registry:component",
          "target": "@components/rag-chatbot/rag-chatbot-screen.tsx"
        },
        {
          "path": "registry/rag-chatbot/components/rag-chatbot/rag-chatbot-workspace.tsx",
          "type": "registry:component",
          "target": "@components/rag-chatbot/rag-chatbot-workspace.tsx"
        },
        {
          "path": "registry/rag-chatbot/components/rag-chatbot/use-rag-chatbot.ts",
          "type": "registry:component",
          "target": "@components/rag-chatbot/use-rag-chatbot.ts"
        },
        {
          "path": "registry/rag-chatbot/components/rag-chatbot/grounded-response.ts",
          "type": "registry:component",
          "target": "@components/rag-chatbot/grounded-response.ts"
        },
        {
          "path": "registry/rag-chatbot/components/ai-elements/prompt-input.tsx",
          "type": "registry:component",
          "target": "@components/ai-elements/prompt-input.tsx"
        },
        {
          "path": "registry/rag-chatbot/lib/rag-chatbot/chat.ts",
          "type": "registry:lib",
          "target": "@lib/rag-chatbot/chat.ts"
        },
        {
          "path": "registry/rag-chatbot/lib/rag-chatbot/database.ts",
          "type": "registry:lib",
          "target": "@lib/rag-chatbot/database.ts"
        },
        {
          "path": "registry/rag-chatbot/lib/ai-gateway/contract.ts",
          "type": "registry:lib",
          "target": "@lib/ai-gateway/contract.ts"
        },
        {
          "path": "registry/rag-chatbot/lib/rag-chatbot/env-source.ts",
          "type": "registry:lib",
          "target": "@lib/rag-chatbot/env-source.ts"
        },
        {
          "path": "registry/rag-chatbot/lib/rag-chatbot/env.ts",
          "type": "registry:lib",
          "target": "@lib/rag-chatbot/env.ts"
        },
        {
          "path": "registry/rag-chatbot/lib/rag-chatbot/ingestion.ts",
          "type": "registry:lib",
          "target": "@lib/rag-chatbot/ingestion.ts"
        },
        {
          "path": "registry/rag-chatbot/lib/rag-chatbot/index-source.ts",
          "type": "registry:lib",
          "target": "@lib/rag-chatbot/index-source.ts"
        },
        {
          "path": "registry/rag-chatbot/lib/rag-chatbot/knowledge-base-status.ts",
          "type": "registry:lib",
          "target": "@lib/rag-chatbot/knowledge-base-status.ts"
        },
        {
          "path": "registry/rag-chatbot/lib/rag-chatbot/portable-index.ts",
          "type": "registry:lib",
          "target": "@lib/rag-chatbot/portable-index.ts"
        },
        {
          "path": "registry/rag-chatbot/lib/rag-chatbot/retrieval.ts",
          "type": "registry:lib",
          "target": "@lib/rag-chatbot/retrieval.ts"
        },
        {
          "path": "registry/rag-chatbot/lib/rag-chatbot/runtime.ts",
          "type": "registry:lib",
          "target": "@lib/rag-chatbot/runtime.ts"
        },
        {
          "path": "registry/rag-chatbot/lib/rag-chatbot/schema.ts",
          "type": "registry:lib",
          "target": "@lib/rag-chatbot/schema.ts"
        },
        {
          "path": "registry/rag-chatbot/lib/rag-chatbot/source-document.ts",
          "type": "registry:lib",
          "target": "@lib/rag-chatbot/source-document.ts"
        }
      ],
      "envVars": {
        "AI_GATEWAY_API_KEY": "",
        "AI_GATEWAY_BASE_URL": "https://ai-gateway.vercel.sh/v3/ai",
        "AI_GATEWAY_CHAT_MODEL": "openai/gpt-4.1-mini",
        "AI_GATEWAY_EMBEDDING_MODEL": "openai/text-embedding-3-small"
      },
      "docs": "Install into a Next.js App Router project initialized with shadcn/ui. This item adds the demo page, chat and indexing routes, client workspace components, a portable sample retrieval index, optional pgvector-backed ingestion, and the AI Gateway env vars required for grounded chat.",
      "type": "registry:block"
    },
    {
      "name": "multimodal-chatbot",
      "title": "Multimodal Chatbot",
      "description": "An AI Gateway chat workspace for ad-hoc image and PDF questions with inline file parts.",
      "dependencies": [
        "@ai-sdk/react",
        "@base-ui/react",
        "@phosphor-icons/react",
        "ai",
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "badge",
        "breadcrumb",
        "button",
        "textarea",
        "https://elements.ai-sdk.dev/api/registry/attachments.json",
        "https://elements.ai-sdk.dev/api/registry/conversation.json",
        "https://elements.ai-sdk.dev/api/registry/message.json"
      ],
      "files": [
        {
          "path": "registry/multimodal-chatbot/app/demos/multimodal-chatbot/page.tsx",
          "type": "registry:page",
          "target": "app/demos/multimodal-chatbot/page.tsx"
        },
        {
          "path": "registry/multimodal-chatbot/app/api/demos/multimodal-chatbot/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/multimodal-chatbot/route.ts"
        },
        {
          "path": "registry/multimodal-chatbot/components/multimodal-chatbot/multimodal-chatbot-screen.tsx",
          "type": "registry:component",
          "target": "@components/multimodal-chatbot/multimodal-chatbot-screen.tsx"
        },
        {
          "path": "registry/multimodal-chatbot/components/multimodal-chatbot/multimodal-chatbot-workspace.tsx",
          "type": "registry:component",
          "target": "@components/multimodal-chatbot/multimodal-chatbot-workspace.tsx"
        },
        {
          "path": "registry/multimodal-chatbot/components/multimodal-chatbot/use-multimodal-chatbot.ts",
          "type": "registry:component",
          "target": "@components/multimodal-chatbot/use-multimodal-chatbot.ts"
        },
        {
          "path": "registry/multimodal-chatbot/components/multimodal-chatbot/use-multimodal-chatbot-workspace.ts",
          "type": "registry:component",
          "target": "@components/multimodal-chatbot/use-multimodal-chatbot-workspace.ts"
        },
        {
          "path": "registry/multimodal-chatbot/components/multimodal-chatbot/convert-files-to-parts.ts",
          "type": "registry:component",
          "target": "@components/multimodal-chatbot/convert-files-to-parts.ts"
        },
        {
          "path": "registry/multimodal-chatbot/components/multimodal-chatbot/multimodal-chatbot-session.ts",
          "type": "registry:component",
          "target": "@components/multimodal-chatbot/multimodal-chatbot-session.ts"
        },
        {
          "path": "registry/multimodal-chatbot/components/ai-elements/prompt-input.tsx",
          "type": "registry:component",
          "target": "@components/ai-elements/prompt-input.tsx"
        },
        {
          "path": "registry/multimodal-chatbot/lib/ai-gateway/contract.ts",
          "type": "registry:lib",
          "target": "@lib/ai-gateway/contract.ts"
        },
        {
          "path": "registry/multimodal-chatbot/lib/multimodal-chatbot/env-source.ts",
          "type": "registry:lib",
          "target": "@lib/multimodal-chatbot/env-source.ts"
        },
        {
          "path": "registry/multimodal-chatbot/lib/multimodal-chatbot/env.ts",
          "type": "registry:lib",
          "target": "@lib/multimodal-chatbot/env.ts"
        },
        {
          "path": "registry/multimodal-chatbot/lib/multimodal-chatbot/runtime.ts",
          "type": "registry:lib",
          "target": "@lib/multimodal-chatbot/runtime.ts"
        }
      ],
      "envVars": {
        "AI_GATEWAY_API_KEY": "",
        "AI_GATEWAY_BASE_URL": "https://ai-gateway.vercel.sh/v3/ai",
        "AI_GATEWAY_CHAT_MODEL": "openai/gpt-4.1-mini"
      },
      "docs": "Install into a Next.js App Router project initialized with shadcn/ui. This item adds the multimodal demo page, chat route, client workspace, and AI Gateway env vars required for image and PDF chat.",
      "type": "registry:block"
    },
    {
      "name": "object-generation",
      "title": "Object Generation",
      "description": "A structured-output review workspace that streams a generated object directly inside the assistant message.",
      "dependencies": [
        "@ai-sdk/react",
        "@base-ui/react",
        "@phosphor-icons/react",
        "ai",
        "class-variance-authority",
        "lucide-react",
        "zod"
      ],
      "registryDependencies": [
        "utils",
        "badge",
        "breadcrumb",
        "button",
        "progress",
        "textarea",
        "https://elements.ai-sdk.dev/api/registry/attachments.json",
        "https://elements.ai-sdk.dev/api/registry/conversation.json",
        "https://elements.ai-sdk.dev/api/registry/message.json"
      ],
      "files": [
        {
          "path": "registry/object-generation/app/demos/object-generation/page.tsx",
          "type": "registry:page",
          "target": "app/demos/object-generation/page.tsx"
        },
        {
          "path": "registry/object-generation/app/api/demos/object-generation/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/object-generation/route.ts"
        },
        {
          "path": "registry/object-generation/components/object-generation/object-generation-screen.tsx",
          "type": "registry:component",
          "target": "@components/object-generation/object-generation-screen.tsx"
        },
        {
          "path": "registry/object-generation/components/object-generation/object-generation-workspace.tsx",
          "type": "registry:component",
          "target": "@components/object-generation/object-generation-workspace.tsx"
        },
        {
          "path": "registry/object-generation/components/object-generation/object-generation-result-card.tsx",
          "type": "registry:component",
          "target": "@components/object-generation/object-generation-result-card.tsx"
        },
        {
          "path": "registry/object-generation/components/object-generation/object-generation-session.ts",
          "type": "registry:component",
          "target": "@components/object-generation/object-generation-session.ts"
        },
        {
          "path": "registry/object-generation/components/object-generation/use-object-generation-session.ts",
          "type": "registry:component",
          "target": "@components/object-generation/use-object-generation-session.ts"
        },
        {
          "path": "registry/object-generation/components/object-generation/convert-files-to-object-generation-inputs.ts",
          "type": "registry:component",
          "target": "@components/object-generation/convert-files-to-object-generation-inputs.ts"
        },
        {
          "path": "registry/object-generation/components/ai-elements/prompt-input.tsx",
          "type": "registry:component",
          "target": "@components/ai-elements/prompt-input.tsx"
        },
        {
          "path": "registry/object-generation/lib/ai-gateway/contract.ts",
          "type": "registry:lib",
          "target": "@lib/ai-gateway/contract.ts"
        },
        {
          "path": "registry/object-generation/lib/object-generation/env-source.ts",
          "type": "registry:lib",
          "target": "@lib/object-generation/env-source.ts"
        },
        {
          "path": "registry/object-generation/lib/object-generation/env.ts",
          "type": "registry:lib",
          "target": "@lib/object-generation/env.ts"
        },
        {
          "path": "registry/object-generation/lib/object-generation/runtime.ts",
          "type": "registry:lib",
          "target": "@lib/object-generation/runtime.ts"
        },
        {
          "path": "registry/object-generation/lib/object-generation/schema.ts",
          "type": "registry:lib",
          "target": "@lib/object-generation/schema.ts"
        }
      ],
      "envVars": {
        "AI_GATEWAY_API_KEY": "",
        "AI_GATEWAY_BASE_URL": "https://ai-gateway.vercel.sh/v3/ai",
        "AI_GATEWAY_CHAT_MODEL": "openai/gpt-4.1-mini"
      },
      "docs": "Install into a Next.js App Router project initialized with shadcn/ui. This item adds the object-generation demo page, streaming review routes, client workspace, and AI Gateway env vars required for structured output over text, image, and PDF inputs.",
      "type": "registry:block"
    },
    {
      "name": "generative-ui",
      "title": "Generative UI",
      "description": "A production-ready AI SDK UI generative interface demo with OpenAI hosted web search and model-selected React components.",
      "dependencies": [
        "@ai-sdk/openai",
        "@ai-sdk/react",
        "@base-ui/react",
        "ai",
        "class-variance-authority",
        "lucide-react",
        "zod"
      ],
      "registryDependencies": [
        "utils",
        "badge",
        "breadcrumb",
        "button",
        "card",
        "separator",
        "table",
        "textarea",
        "tooltip",
        "https://elements.ai-sdk.dev/api/registry/conversation.json",
        "https://elements.ai-sdk.dev/api/registry/message.json",
        "https://elements.ai-sdk.dev/api/registry/reasoning.json",
        "https://elements.ai-sdk.dev/api/registry/sources.json",
        "https://elements.ai-sdk.dev/api/registry/tool.json"
      ],
      "files": [
        {
          "path": "registry/generative-ui/app/demos/generative-ui/page.tsx",
          "type": "registry:page",
          "target": "app/demos/generative-ui/page.tsx"
        },
        {
          "path": "registry/generative-ui/app/api/demos/generative-ui/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/generative-ui/route.ts"
        },
        {
          "path": "registry/generative-ui/components/generative-ui/generative-ui-screen.tsx",
          "type": "registry:component",
          "target": "@components/generative-ui/generative-ui-screen.tsx"
        },
        {
          "path": "registry/generative-ui/components/generative-ui/generative-ui-workspace.tsx",
          "type": "registry:component",
          "target": "@components/generative-ui/generative-ui-workspace.tsx"
        },
        {
          "path": "registry/generative-ui/components/generative-ui/feature-comparison-matrix.tsx",
          "type": "registry:component",
          "target": "@components/generative-ui/feature-comparison-matrix.tsx"
        },
        {
          "path": "registry/generative-ui/components/generative-ui/plan-recommendation-card.tsx",
          "type": "registry:component",
          "target": "@components/generative-ui/plan-recommendation-card.tsx"
        },
        {
          "path": "registry/generative-ui/components/generative-ui/message-parts.ts",
          "type": "registry:component",
          "target": "@components/generative-ui/message-parts.ts"
        },
        {
          "path": "registry/generative-ui/components/generative-ui/partial-rendering.tsx",
          "type": "registry:component",
          "target": "@components/generative-ui/partial-rendering.tsx"
        },
        {
          "path": "registry/generative-ui/components/generative-ui/use-generative-ui-chat.ts",
          "type": "registry:component",
          "target": "@components/generative-ui/use-generative-ui-chat.ts"
        },
        {
          "path": "registry/generative-ui/components/demo-chat/use-demo-chat.ts",
          "type": "registry:component",
          "target": "@components/demo-chat/use-demo-chat.ts"
        },
        {
          "path": "registry/generative-ui/components/demo-chat/conversation-error-message.tsx",
          "type": "registry:component",
          "target": "@components/demo-chat/conversation-error-message.tsx"
        },
        {
          "path": "registry/generative-ui/components/demo-workspace-shell.tsx",
          "type": "registry:component",
          "target": "@components/demo-workspace-shell.tsx"
        },
        {
          "path": "registry/generative-ui/components/demo-breadcrumb.tsx",
          "type": "registry:component",
          "target": "@components/demo-breadcrumb.tsx"
        },
        {
          "path": "registry/generative-ui/components/ai-elements/prompt-input.tsx",
          "type": "registry:component",
          "target": "@components/ai-elements/prompt-input.tsx"
        },
        {
          "path": "registry/generative-ui/lib/ai-gateway/contract.ts",
          "type": "registry:lib",
          "target": "@lib/ai-gateway/contract.ts"
        },
        {
          "path": "registry/generative-ui/lib/generative-ui/ui-contract.ts",
          "type": "registry:lib",
          "target": "@lib/generative-ui/ui-contract.ts"
        },
        {
          "path": "registry/generative-ui/lib/generative-ui/env-source.ts",
          "type": "registry:lib",
          "target": "@lib/generative-ui/env-source.ts"
        },
        {
          "path": "registry/generative-ui/lib/generative-ui/env.ts",
          "type": "registry:lib",
          "target": "@lib/generative-ui/env.ts"
        },
        {
          "path": "registry/generative-ui/lib/generative-ui/model.ts",
          "type": "registry:lib",
          "target": "@lib/generative-ui/model.ts"
        },
        {
          "path": "registry/generative-ui/lib/generative-ui/chat.ts",
          "type": "registry:lib",
          "target": "@lib/generative-ui/chat.ts"
        },
        {
          "path": "registry/generative-ui/lib/generative-ui/runtime.ts",
          "type": "registry:lib",
          "target": "@lib/generative-ui/runtime.ts"
        }
      ],
      "envVars": {
        "AI_GATEWAY_API_KEY": "",
        "AI_GATEWAY_BASE_URL": "https://ai-gateway.vercel.sh/v3/ai",
        "GENERATIVE_UI_CHAT_MODEL": "openai/gpt-5-mini"
      },
      "docs": "Install into a Next.js App Router project initialized with shadcn/ui. This item installs a chat route, AI SDK UI message rendering, OpenAI hosted web search through AI Gateway, and two custom tool-output components for comparison and recommendation outputs.",
      "type": "registry:block"
    },
    {
      "name": "customer-memory-agent",
      "title": "Memory & Persistence Agent",
      "description": "A support workspace with in-memory default persistence, optional Postgres storage, explicit saved memories, retrieval, and compaction checkpoints.",
      "dependencies": [
        "@ai-sdk/react",
        "@base-ui/react",
        "@neondatabase/serverless",
        "@phosphor-icons/react",
        "ai",
        "class-variance-authority",
        "drizzle-orm",
        "lucide-react",
        "zod"
      ],
      "registryDependencies": [
        "utils",
        "badge",
        "breadcrumb",
        "button",
        "skeleton",
        "textarea",
        "https://elements.ai-sdk.dev/api/registry/checkpoint.json",
        "https://elements.ai-sdk.dev/api/registry/conversation.json",
        "https://elements.ai-sdk.dev/api/registry/message.json",
        "https://elements.ai-sdk.dev/api/registry/shimmer.json",
        "https://elements.ai-sdk.dev/api/registry/tool.json"
      ],
      "files": [
        {
          "path": "registry/customer-memory-agent/app/demos/customer-memory-agent/page.tsx",
          "type": "registry:page",
          "target": "app/demos/customer-memory-agent/page.tsx"
        },
        {
          "path": "registry/customer-memory-agent/app/api/demos/customer-memory-agent/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/customer-memory-agent/route.ts"
        },
        {
          "path": "registry/customer-memory-agent/app/api/demos/customer-memory-agent/session/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/customer-memory-agent/session/route.ts"
        },
        {
          "path": "registry/customer-memory-agent/app/api/demos/customer-memory-agent/threads/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/customer-memory-agent/threads/route.ts"
        },
        {
          "path": "registry/customer-memory-agent/components/customer-memory-agent/customer-memory-agent-screen.tsx",
          "type": "registry:component",
          "target": "@components/customer-memory-agent/customer-memory-agent-screen.tsx"
        },
        {
          "path": "registry/customer-memory-agent/components/customer-memory-agent/customer-memory-agent-workspace.tsx",
          "type": "registry:component",
          "target": "@components/customer-memory-agent/customer-memory-agent-workspace.tsx"
        },
        {
          "path": "registry/customer-memory-agent/components/customer-memory-agent/customer-memory-session.ts",
          "type": "registry:component",
          "target": "@components/customer-memory-agent/customer-memory-session.ts"
        },
        {
          "path": "registry/customer-memory-agent/components/customer-memory-agent/use-customer-memory-chat.ts",
          "type": "registry:component",
          "target": "@components/customer-memory-agent/use-customer-memory-chat.ts"
        },
        {
          "path": "registry/customer-memory-agent/components/customer-memory-agent/use-customer-memory-session.ts",
          "type": "registry:component",
          "target": "@components/customer-memory-agent/use-customer-memory-session.ts"
        },
        {
          "path": "registry/customer-memory-agent/components/ai-elements/prompt-input.tsx",
          "type": "registry:component",
          "target": "@components/ai-elements/prompt-input.tsx"
        },
        {
          "path": "registry/customer-memory-agent/lib/customer-memory-agent/compaction-store.ts",
          "type": "registry:lib",
          "target": "@lib/customer-memory-agent/compaction-store.ts"
        },
        {
          "path": "registry/customer-memory-agent/lib/customer-memory-agent/compaction.ts",
          "type": "registry:lib",
          "target": "@lib/customer-memory-agent/compaction.ts"
        },
        {
          "path": "registry/customer-memory-agent/lib/customer-memory-agent/contract.ts",
          "type": "registry:lib",
          "target": "@lib/customer-memory-agent/contract.ts"
        },
        {
          "path": "registry/customer-memory-agent/lib/customer-memory-agent/conversation.ts",
          "type": "registry:lib",
          "target": "@lib/customer-memory-agent/conversation.ts"
        },
        {
          "path": "registry/customer-memory-agent/lib/customer-memory-agent/customer-profiles.ts",
          "type": "registry:lib",
          "target": "@lib/customer-memory-agent/customer-profiles.ts"
        },
        {
          "path": "registry/customer-memory-agent/lib/customer-memory-agent/database.ts",
          "type": "registry:lib",
          "target": "@lib/customer-memory-agent/database.ts"
        },
        {
          "path": "registry/customer-memory-agent/lib/ai-gateway/contract.ts",
          "type": "registry:lib",
          "target": "@lib/ai-gateway/contract.ts"
        },
        {
          "path": "registry/customer-memory-agent/lib/customer-memory-agent/env-source.ts",
          "type": "registry:lib",
          "target": "@lib/customer-memory-agent/env-source.ts"
        },
        {
          "path": "registry/customer-memory-agent/lib/customer-memory-agent/env.ts",
          "type": "registry:lib",
          "target": "@lib/customer-memory-agent/env.ts"
        },
        {
          "path": "registry/customer-memory-agent/lib/customer-memory-agent/memory-lifecycle.ts",
          "type": "registry:lib",
          "target": "@lib/customer-memory-agent/memory-lifecycle.ts"
        },
        {
          "path": "registry/customer-memory-agent/lib/customer-memory-agent/memory-recall.ts",
          "type": "registry:lib",
          "target": "@lib/customer-memory-agent/memory-recall.ts"
        },
        {
          "path": "registry/customer-memory-agent/lib/customer-memory-agent/memory-store.ts",
          "type": "registry:lib",
          "target": "@lib/customer-memory-agent/memory-store.ts"
        },
        {
          "path": "registry/customer-memory-agent/lib/customer-memory-agent/portable-store.ts",
          "type": "registry:lib",
          "target": "@lib/customer-memory-agent/portable-store.ts"
        },
        {
          "path": "registry/customer-memory-agent/lib/customer-memory-agent/runtime.ts",
          "type": "registry:lib",
          "target": "@lib/customer-memory-agent/runtime.ts"
        },
        {
          "path": "registry/customer-memory-agent/lib/customer-memory-agent/schema.ts",
          "type": "registry:lib",
          "target": "@lib/customer-memory-agent/schema.ts"
        },
        {
          "path": "registry/customer-memory-agent/lib/customer-memory-agent/session-data.ts",
          "type": "registry:lib",
          "target": "@lib/customer-memory-agent/session-data.ts"
        },
        {
          "path": "registry/customer-memory-agent/lib/customer-memory-agent/session-runtime.ts",
          "type": "registry:lib",
          "target": "@lib/customer-memory-agent/session-runtime.ts"
        },
        {
          "path": "registry/customer-memory-agent/lib/customer-memory-agent/session.ts",
          "type": "registry:lib",
          "target": "@lib/customer-memory-agent/session.ts"
        },
        {
          "path": "registry/customer-memory-agent/lib/customer-memory-agent/shared-demo-seed.ts",
          "type": "registry:lib",
          "target": "@lib/customer-memory-agent/shared-demo-seed.ts"
        },
        {
          "path": "registry/customer-memory-agent/lib/customer-memory-agent/thread-store.ts",
          "type": "registry:lib",
          "target": "@lib/customer-memory-agent/thread-store.ts"
        },
        {
          "path": "registry/customer-memory-agent/lib/customer-memory-agent/viewer-context.ts",
          "type": "registry:lib",
          "target": "@lib/customer-memory-agent/viewer-context.ts"
        }
      ],
      "envVars": {
        "AI_GATEWAY_API_KEY": "",
        "AI_GATEWAY_BASE_URL": "https://ai-gateway.vercel.sh/v3/ai",
        "AI_GATEWAY_CHAT_MODEL": "openai/gpt-4.1-mini"
      },
      "docs": "Install into a Next.js App Router project initialized with shadcn/ui. This item adds the customer-memory demo page, session and thread routes, visitor-scoped in-memory persistence, saved-memory retrieval, compaction checkpoints, and AI Gateway env vars required for end-to-end chat. Add DATABASE_URL when you want Postgres-backed persistence.",
      "type": "registry:block"
    },
    {
      "name": "streaming-chat-shell",
      "title": "Streaming Chat Shell",
      "description": "A developer-facing chat workspace with a shared chat session and replayable SSE trace.",
      "dependencies": [
        "@ai-sdk/react",
        "@base-ui/react",
        "@phosphor-icons/react",
        "ai",
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "badge",
        "breadcrumb",
        "button",
        "collapsible",
        "textarea",
        "https://elements.ai-sdk.dev/api/registry/conversation.json",
        "https://elements.ai-sdk.dev/api/registry/message.json"
      ],
      "files": [
        {
          "path": "registry/streaming-chat-shell/app/demos/streaming-chat-shell/page.tsx",
          "type": "registry:page",
          "target": "app/demos/streaming-chat-shell/page.tsx"
        },
        {
          "path": "registry/streaming-chat-shell/app/api/demos/streaming-chat-shell/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/streaming-chat-shell/route.ts"
        },
        {
          "path": "registry/streaming-chat-shell/app/api/demos/streaming-chat-shell/events/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/streaming-chat-shell/events/route.ts"
        },
        {
          "path": "registry/streaming-chat-shell/components/streaming-chat-shell/streaming-chat-shell-screen.tsx",
          "type": "registry:component",
          "target": "@components/streaming-chat-shell/streaming-chat-shell-screen.tsx"
        },
        {
          "path": "registry/streaming-chat-shell/components/streaming-chat-shell/streaming-chat-shell-workspace.tsx",
          "type": "registry:component",
          "target": "@components/streaming-chat-shell/streaming-chat-shell-workspace.tsx"
        },
        {
          "path": "registry/streaming-chat-shell/components/streaming-chat-shell/streaming-replay.ts",
          "type": "registry:component",
          "target": "@components/streaming-chat-shell/streaming-replay.ts"
        },
        {
          "path": "registry/streaming-chat-shell/components/ai-elements/prompt-input.tsx",
          "type": "registry:component",
          "target": "@components/ai-elements/prompt-input.tsx"
        },
        {
          "path": "registry/streaming-chat-shell/lib/streaming-chat-shell/contract.ts",
          "type": "registry:lib",
          "target": "@lib/streaming-chat-shell/contract.ts"
        },
        {
          "path": "registry/streaming-chat-shell/lib/ai-gateway/contract.ts",
          "type": "registry:lib",
          "target": "@lib/ai-gateway/contract.ts"
        },
        {
          "path": "registry/streaming-chat-shell/lib/streaming-chat-shell/env-source.ts",
          "type": "registry:lib",
          "target": "@lib/streaming-chat-shell/env-source.ts"
        },
        {
          "path": "registry/streaming-chat-shell/lib/streaming-chat-shell/env.ts",
          "type": "registry:lib",
          "target": "@lib/streaming-chat-shell/env.ts"
        },
        {
          "path": "registry/streaming-chat-shell/lib/streaming-chat-shell/events.ts",
          "type": "registry:lib",
          "target": "@lib/streaming-chat-shell/events.ts"
        },
        {
          "path": "registry/streaming-chat-shell/lib/streaming-chat-shell/runtime.ts",
          "type": "registry:lib",
          "target": "@lib/streaming-chat-shell/runtime.ts"
        },
        {
          "path": "registry/streaming-chat-shell/lib/streaming-chat-shell/streaming-turn.ts",
          "type": "registry:lib",
          "target": "@lib/streaming-chat-shell/streaming-turn.ts"
        }
      ],
      "envVars": {
        "AI_GATEWAY_API_KEY": "",
        "AI_GATEWAY_BASE_URL": "https://ai-gateway.vercel.sh/v3/ai",
        "AI_GATEWAY_CHAT_MODEL": "openai/gpt-4.1-mini"
      },
      "docs": "Install into a Next.js App Router project initialized with shadcn/ui. This item adds the demo page, chat route, replayable SSE events route, feature-local chat workspace, and AI Gateway env vars required for shared useChat and developer replay traces.",
      "type": "registry:block"
    },
    {
      "name": "loop-agent",
      "title": "Loop Agent",
      "description": "A support triage agent with parallel context gathering, SLA reasoning, and human approval.",
      "dependencies": [
        "@ai-sdk/react",
        "@base-ui/react",
        "@phosphor-icons/react",
        "ai",
        "class-variance-authority",
        "lucide-react",
        "zod"
      ],
      "registryDependencies": [
        "utils",
        "badge",
        "breadcrumb",
        "button",
        "textarea",
        "https://elements.ai-sdk.dev/api/registry/chain-of-thought.json",
        "https://elements.ai-sdk.dev/api/registry/confirmation.json",
        "https://elements.ai-sdk.dev/api/registry/conversation.json",
        "https://elements.ai-sdk.dev/api/registry/message.json",
        "https://elements.ai-sdk.dev/api/registry/reasoning.json",
        "https://elements.ai-sdk.dev/api/registry/shimmer.json",
        "https://elements.ai-sdk.dev/api/registry/tool.json"
      ],
      "files": [
        {
          "path": "registry/loop-agent/app/demos/loop-agent/page.tsx",
          "type": "registry:page",
          "target": "app/demos/loop-agent/page.tsx"
        },
        {
          "path": "registry/loop-agent/app/api/demos/loop-agent/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/loop-agent/route.ts"
        },
        {
          "path": "registry/loop-agent/components/loop-agent/loop-agent-screen.tsx",
          "type": "registry:component",
          "target": "@components/loop-agent/loop-agent-screen.tsx"
        },
        {
          "path": "registry/loop-agent/components/loop-agent/loop-agent-workspace.tsx",
          "type": "registry:component",
          "target": "@components/loop-agent/loop-agent-workspace.tsx"
        },
        {
          "path": "registry/loop-agent/components/loop-agent/use-loop-agent-chat.ts",
          "type": "registry:component",
          "target": "@components/loop-agent/use-loop-agent-chat.ts"
        },
        {
          "path": "registry/loop-agent/components/ai-elements/prompt-input.tsx",
          "type": "registry:component",
          "target": "@components/ai-elements/prompt-input.tsx"
        },
        {
          "path": "registry/loop-agent/lib/loop-agent/chat.ts",
          "type": "registry:lib",
          "target": "@lib/loop-agent/chat.ts"
        },
        {
          "path": "registry/loop-agent/lib/ai-gateway/contract.ts",
          "type": "registry:lib",
          "target": "@lib/ai-gateway/contract.ts"
        },
        {
          "path": "registry/loop-agent/lib/loop-agent/env-source.ts",
          "type": "registry:lib",
          "target": "@lib/loop-agent/env-source.ts"
        },
        {
          "path": "registry/loop-agent/lib/loop-agent/env.ts",
          "type": "registry:lib",
          "target": "@lib/loop-agent/env.ts"
        },
        {
          "path": "registry/loop-agent/lib/loop-agent/model.ts",
          "type": "registry:lib",
          "target": "@lib/loop-agent/model.ts"
        },
        {
          "path": "registry/loop-agent/lib/loop-agent/runtime.ts",
          "type": "registry:lib",
          "target": "@lib/loop-agent/runtime.ts"
        },
        {
          "path": "registry/loop-agent/lib/loop-agent/support-triage.ts",
          "type": "registry:lib",
          "target": "@lib/loop-agent/support-triage.ts"
        }
      ],
      "envVars": {
        "AI_GATEWAY_API_KEY": "",
        "AI_GATEWAY_BASE_URL": "https://ai-gateway.vercel.sh/v3/ai",
        "AI_GATEWAY_CHAT_MODEL": "openai/gpt-5-mini"
      },
      "docs": "Install into a Next.js App Router project initialized with shadcn/ui. This item adds the loop-agent page, chat route, approval-aware chat workspace, support triage tools, and AI Gateway env vars required for the bounded tool loop.",
      "type": "registry:block"
    },
    {
      "name": "trace-eval-agent",
      "title": "Trace Eval Agent",
      "description": "A live research chat that surfaces execution trace, deterministic eval checks, and an LLM judge over the same run.",
      "dependencies": [
        "@ai-sdk/openai",
        "@ai-sdk/react",
        "@base-ui/react",
        "@phosphor-icons/react",
        "ai",
        "class-variance-authority",
        "lucide-react",
        "zod"
      ],
      "registryDependencies": [
        "utils",
        "badge",
        "breadcrumb",
        "button",
        "textarea",
        "https://elements.ai-sdk.dev/api/registry/conversation.json",
        "https://elements.ai-sdk.dev/api/registry/message.json",
        "https://elements.ai-sdk.dev/api/registry/reasoning.json",
        "https://elements.ai-sdk.dev/api/registry/shimmer.json",
        "https://elements.ai-sdk.dev/api/registry/sources.json",
        "https://elements.ai-sdk.dev/api/registry/task.json",
        "https://elements.ai-sdk.dev/api/registry/test-results.json",
        "https://elements.ai-sdk.dev/api/registry/tool.json"
      ],
      "files": [
        {
          "path": "registry/trace-eval-agent/app/demos/trace-eval-agent/page.tsx",
          "type": "registry:page",
          "target": "app/demos/trace-eval-agent/page.tsx"
        },
        {
          "path": "registry/trace-eval-agent/app/api/demos/trace-eval-agent/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/trace-eval-agent/route.ts"
        },
        {
          "path": "registry/trace-eval-agent/app/api/demos/trace-eval-agent/evaluate/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/trace-eval-agent/evaluate/route.ts"
        },
        {
          "path": "registry/trace-eval-agent/app/api/demos/trace-eval-agent/evaluate/stream/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/trace-eval-agent/evaluate/stream/route.ts"
        },
        {
          "path": "registry/trace-eval-agent/components/trace-eval-agent/trace-eval-agent-screen.tsx",
          "type": "registry:component",
          "target": "@components/trace-eval-agent/trace-eval-agent-screen.tsx"
        },
        {
          "path": "registry/trace-eval-agent/components/trace-eval-agent/trace-eval-agent-workspace.tsx",
          "type": "registry:component",
          "target": "@components/trace-eval-agent/trace-eval-agent-workspace.tsx"
        },
        {
          "path": "registry/trace-eval-agent/components/trace-eval-agent/trace-eval-agent-assistant-message.tsx",
          "type": "registry:component",
          "target": "@components/trace-eval-agent/trace-eval-agent-assistant-message.tsx"
        },
        {
          "path": "registry/trace-eval-agent/components/trace-eval-agent/trace-eval-agent-trace-panel.tsx",
          "type": "registry:component",
          "target": "@components/trace-eval-agent/trace-eval-agent-trace-panel.tsx"
        },
        {
          "path": "registry/trace-eval-agent/components/trace-eval-agent/trace-eval-agent-eval-panel.tsx",
          "type": "registry:component",
          "target": "@components/trace-eval-agent/trace-eval-agent-eval-panel.tsx"
        },
        {
          "path": "registry/trace-eval-agent/components/trace-eval-agent/trace-eval-agent-runtime-sidebar.tsx",
          "type": "registry:component",
          "target": "@components/trace-eval-agent/trace-eval-agent-runtime-sidebar.tsx"
        },
        {
          "path": "registry/trace-eval-agent/components/trace-eval-agent/trace-eval-agent-model.ts",
          "type": "registry:component",
          "target": "@components/trace-eval-agent/trace-eval-agent-model.ts"
        },
        {
          "path": "registry/trace-eval-agent/components/trace-eval-agent/use-trace-eval-agent-chat.ts",
          "type": "registry:component",
          "target": "@components/trace-eval-agent/use-trace-eval-agent-chat.ts"
        },
        {
          "path": "registry/trace-eval-agent/components/trace-eval-agent/use-trace-eval-judge.ts",
          "type": "registry:component",
          "target": "@components/trace-eval-agent/use-trace-eval-judge.ts"
        },
        {
          "path": "registry/trace-eval-agent/components/ai-elements/prompt-input.tsx",
          "type": "registry:component",
          "target": "@components/ai-elements/prompt-input.tsx"
        },
        {
          "path": "registry/trace-eval-agent/lib/trace-eval-agent/server/chat.ts",
          "type": "registry:lib",
          "target": "@lib/trace-eval-agent/server/chat.ts"
        },
        {
          "path": "registry/trace-eval-agent/lib/trace-eval-agent/server/evaluation.ts",
          "type": "registry:lib",
          "target": "@lib/trace-eval-agent/server/evaluation.ts"
        },
        {
          "path": "registry/trace-eval-agent/lib/ai-gateway/contract.ts",
          "type": "registry:lib",
          "target": "@lib/ai-gateway/contract.ts"
        },
        {
          "path": "registry/trace-eval-agent/lib/trace-eval-agent/server/env-source.ts",
          "type": "registry:lib",
          "target": "@lib/trace-eval-agent/server/env-source.ts"
        },
        {
          "path": "registry/trace-eval-agent/lib/trace-eval-agent/server/env.ts",
          "type": "registry:lib",
          "target": "@lib/trace-eval-agent/server/env.ts"
        },
        {
          "path": "registry/trace-eval-agent/lib/trace-eval-agent/server/model.ts",
          "type": "registry:lib",
          "target": "@lib/trace-eval-agent/server/model.ts"
        },
        {
          "path": "registry/trace-eval-agent/lib/trace-eval-agent/server/runtime.ts",
          "type": "registry:lib",
          "target": "@lib/trace-eval-agent/server/runtime.ts"
        },
        {
          "path": "registry/trace-eval-agent/lib/trace-eval-agent/model/trace-eval-chat-history.ts",
          "type": "registry:lib",
          "target": "@lib/trace-eval-agent/model/trace-eval-chat-history.ts"
        },
        {
          "path": "registry/trace-eval-agent/lib/trace-eval-agent/model/trace-eval-judge-progress.ts",
          "type": "registry:lib",
          "target": "@lib/trace-eval-agent/model/trace-eval-judge-progress.ts"
        },
        {
          "path": "registry/trace-eval-agent/lib/trace-eval-agent/model/trace-eval-judge.ts",
          "type": "registry:lib",
          "target": "@lib/trace-eval-agent/model/trace-eval-judge.ts"
        },
        {
          "path": "registry/trace-eval-agent/lib/trace-eval-agent/model/trace-eval-prompt-intent.ts",
          "type": "registry:lib",
          "target": "@lib/trace-eval-agent/model/trace-eval-prompt-intent.ts"
        },
        {
          "path": "registry/trace-eval-agent/lib/trace-eval-agent/model/trace-eval-run-outcome.ts",
          "type": "registry:lib",
          "target": "@lib/trace-eval-agent/model/trace-eval-run-outcome.ts"
        },
        {
          "path": "registry/trace-eval-agent/lib/trace-eval-agent/model/trace-eval-run-record.ts",
          "type": "registry:lib",
          "target": "@lib/trace-eval-agent/model/trace-eval-run-record.ts"
        },
        {
          "path": "registry/trace-eval-agent/lib/trace-eval-agent/model/trace-eval-run-state.ts",
          "type": "registry:lib",
          "target": "@lib/trace-eval-agent/model/trace-eval-run-state.ts"
        },
        {
          "path": "registry/trace-eval-agent/lib/trace-eval-agent/model/trace-eval-snapshot.ts",
          "type": "registry:lib",
          "target": "@lib/trace-eval-agent/model/trace-eval-snapshot.ts"
        }
      ],
      "envVars": {
        "AI_GATEWAY_API_KEY": "",
        "AI_GATEWAY_BASE_URL": "https://ai-gateway.vercel.sh/v3/ai",
        "AI_GATEWAY_CHAT_MODEL": "openai/gpt-5-mini",
        "TRACE_EVAL_AGENT_CHAT_MODEL": "openai/gpt-5-mini"
      },
      "docs": "Install into a Next.js App Router project initialized with shadcn/ui. This item adds the demo page, research chat route, deterministic eval route, streamed judge route, client workspace, and AI Gateway env vars required for live search plus trace and eval inspection.",
      "type": "registry:block"
    },
    {
      "name": "persistent-agent",
      "title": "Persistent Agent",
      "description": "An addressable chat resource that persists conversation state in Postgres and reconnects in-flight streams through Redis.",
      "dependencies": [
        "@ai-sdk/react",
        "@base-ui/react",
        "@neondatabase/serverless",
        "@phosphor-icons/react",
        "ai",
        "class-variance-authority",
        "drizzle-orm",
        "ioredis",
        "lucide-react",
        "resumable-stream"
      ],
      "registryDependencies": [
        "utils",
        "badge",
        "breadcrumb",
        "button",
        "textarea",
        "https://elements.ai-sdk.dev/api/registry/conversation.json",
        "https://elements.ai-sdk.dev/api/registry/message.json",
        "https://elements.ai-sdk.dev/api/registry/shimmer.json"
      ],
      "files": [
        {
          "path": "registry/persistent-agent/app/demos/persistent-agent/page.tsx",
          "type": "registry:page",
          "target": "app/demos/persistent-agent/page.tsx"
        },
        {
          "path": "registry/persistent-agent/app/demos/persistent-agent/[id]/page.tsx",
          "type": "registry:page",
          "target": "app/demos/persistent-agent/[id]/page.tsx"
        },
        {
          "path": "registry/persistent-agent/app/api/demos/persistent-agent/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/persistent-agent/route.ts"
        },
        {
          "path": "registry/persistent-agent/app/api/demos/persistent-agent/[id]/stream/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/persistent-agent/[id]/stream/route.ts"
        },
        {
          "path": "registry/persistent-agent/app/api/demos/persistent-agent/[id]/session/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/persistent-agent/[id]/session/route.ts"
        },
        {
          "path": "registry/persistent-agent/components/persistent-agent/persistent-agent-screen.tsx",
          "type": "registry:component",
          "target": "@components/persistent-agent/persistent-agent-screen.tsx"
        },
        {
          "path": "registry/persistent-agent/components/persistent-agent/persistent-agent-workspace.tsx",
          "type": "registry:component",
          "target": "@components/persistent-agent/persistent-agent-workspace.tsx"
        },
        {
          "path": "registry/persistent-agent/components/persistent-agent/resume-pending-state.ts",
          "type": "registry:component",
          "target": "@components/persistent-agent/resume-pending-state.ts"
        },
        {
          "path": "registry/persistent-agent/components/ai-elements/prompt-input.tsx",
          "type": "registry:component",
          "target": "@components/ai-elements/prompt-input.tsx"
        },
        {
          "path": "registry/persistent-agent/lib/persistent-agent/server/chat-store.ts",
          "type": "registry:lib",
          "target": "@lib/persistent-agent/server/chat-store.ts"
        },
        {
          "path": "registry/persistent-agent/lib/persistent-agent/server/cleanup.ts",
          "type": "registry:lib",
          "target": "@lib/persistent-agent/server/cleanup.ts"
        },
        {
          "path": "registry/persistent-agent/lib/persistent-agent/server/database.ts",
          "type": "registry:lib",
          "target": "@lib/persistent-agent/server/database.ts"
        },
        {
          "path": "registry/persistent-agent/lib/ai-gateway/contract.ts",
          "type": "registry:lib",
          "target": "@lib/ai-gateway/contract.ts"
        },
        {
          "path": "registry/persistent-agent/lib/persistent-agent/server/env-source.ts",
          "type": "registry:lib",
          "target": "@lib/persistent-agent/server/env-source.ts"
        },
        {
          "path": "registry/persistent-agent/lib/persistent-agent/server/env.ts",
          "type": "registry:lib",
          "target": "@lib/persistent-agent/server/env.ts"
        },
        {
          "path": "registry/persistent-agent/lib/persistent-agent/server/portable-store.ts",
          "type": "registry:lib",
          "target": "@lib/persistent-agent/server/portable-store.ts"
        },
        {
          "path": "registry/persistent-agent/lib/persistent-agent/server/runtime.ts",
          "type": "registry:lib",
          "target": "@lib/persistent-agent/server/runtime.ts"
        },
        {
          "path": "registry/persistent-agent/lib/persistent-agent/server/schema.ts",
          "type": "registry:lib",
          "target": "@lib/persistent-agent/server/schema.ts"
        },
        {
          "path": "registry/persistent-agent/lib/persistent-agent/server/session.ts",
          "type": "registry:lib",
          "target": "@lib/persistent-agent/server/session.ts"
        },
        {
          "path": "registry/persistent-agent/lib/persistent-agent/server/viewer-context.ts",
          "type": "registry:lib",
          "target": "@lib/persistent-agent/server/viewer-context.ts"
        }
      ],
      "envVars": {
        "AI_GATEWAY_API_KEY": "",
        "AI_GATEWAY_BASE_URL": "https://ai-gateway.vercel.sh/v3/ai",
        "AI_GATEWAY_CHAT_MODEL": "openai/gpt-5-mini"
      },
      "docs": "Install into a Next.js App Router project initialized with shadcn/ui. This item adds the persistent chat pages, route-backed streaming APIs, visitor cookie contract, in-memory chat storage by default, optional Postgres-backed chat storage, optional Redis resumable stream support, and the AI Gateway env vars required for the browser happy path.",
      "type": "registry:block"
    },
    {
      "name": "sandbox-agent",
      "title": "Sandbox Agent",
      "description": "A sandbox-backed prototype builder that gives each chat an isolated workspace and a live preview tab.",
      "dependencies": [
        "@ai-sdk/react",
        "@base-ui/react",
        "@phosphor-icons/react",
        "@vercel/sandbox",
        "ai",
        "class-variance-authority",
        "lucide-react",
        "zod"
      ],
      "registryDependencies": [
        "utils",
        "badge",
        "breadcrumb",
        "button",
        "tabs",
        "textarea",
        "https://elements.ai-sdk.dev/api/registry/conversation.json",
        "https://elements.ai-sdk.dev/api/registry/message.json",
        "https://elements.ai-sdk.dev/api/registry/reasoning.json",
        "https://elements.ai-sdk.dev/api/registry/shimmer.json",
        "https://elements.ai-sdk.dev/api/registry/tool.json",
        "https://elements.ai-sdk.dev/api/registry/web-preview.json"
      ],
      "files": [
        {
          "path": "registry/sandbox-agent/app/demos/sandbox-agent/page.tsx",
          "type": "registry:page",
          "target": "app/demos/sandbox-agent/page.tsx"
        },
        {
          "path": "registry/sandbox-agent/app/api/demos/sandbox-agent/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/sandbox-agent/route.ts"
        },
        {
          "path": "registry/sandbox-agent/app/api/demos/sandbox-agent/preview-status/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/sandbox-agent/preview-status/route.ts"
        },
        {
          "path": "registry/sandbox-agent/app/api/demos/sandbox-agent/local-preview/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/sandbox-agent/local-preview/route.ts"
        },
        {
          "path": "registry/sandbox-agent/app/api/demos/sandbox-agent/local-preview/[sessionId]/[...path]/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/sandbox-agent/local-preview/[sessionId]/[...path]/route.ts"
        },
        {
          "path": "registry/sandbox-agent/components/sandbox-agent/sandbox-agent-screen.tsx",
          "type": "registry:component",
          "target": "@components/sandbox-agent/sandbox-agent-screen.tsx"
        },
        {
          "path": "registry/sandbox-agent/components/sandbox-agent/sandbox-agent-workspace.tsx",
          "type": "registry:component",
          "target": "@components/sandbox-agent/sandbox-agent-workspace.tsx"
        },
        {
          "path": "registry/sandbox-agent/components/sandbox-agent/sandbox-conversation-pane.tsx",
          "type": "registry:component",
          "target": "@components/sandbox-agent/sandbox-conversation-pane.tsx"
        },
        {
          "path": "registry/sandbox-agent/components/sandbox-agent/sandbox-preview-pane.tsx",
          "type": "registry:component",
          "target": "@components/sandbox-agent/sandbox-preview-pane.tsx"
        },
        {
          "path": "registry/sandbox-agent/components/sandbox-agent/sandbox-runtime-sidebar.tsx",
          "type": "registry:component",
          "target": "@components/sandbox-agent/sandbox-runtime-sidebar.tsx"
        },
        {
          "path": "registry/sandbox-agent/components/sandbox-agent/sandbox-agent-assistant-trace.tsx",
          "type": "registry:component",
          "target": "@components/sandbox-agent/sandbox-agent-assistant-trace.tsx"
        },
        {
          "path": "registry/sandbox-agent/components/sandbox-agent/sandbox-agent-model.ts",
          "type": "registry:component",
          "target": "@components/sandbox-agent/sandbox-agent-model.ts"
        },
        {
          "path": "registry/sandbox-agent/components/sandbox-agent/preview-state.ts",
          "type": "registry:component",
          "target": "@components/sandbox-agent/preview-state.ts"
        },
        {
          "path": "registry/sandbox-agent/components/sandbox-agent/use-sandbox-agent-chat.ts",
          "type": "registry:component",
          "target": "@components/sandbox-agent/use-sandbox-agent-chat.ts"
        },
        {
          "path": "registry/sandbox-agent/components/sandbox-agent/use-sandbox-agent-workspace-view-model.ts",
          "type": "registry:component",
          "target": "@components/sandbox-agent/use-sandbox-agent-workspace-view-model.ts"
        },
        {
          "path": "registry/sandbox-agent/components/sandbox-agent/use-sandbox-preview-state.ts",
          "type": "registry:component",
          "target": "@components/sandbox-agent/use-sandbox-preview-state.ts"
        },
        {
          "path": "registry/sandbox-agent/components/ai-elements/prompt-input.tsx",
          "type": "registry:component",
          "target": "@components/ai-elements/prompt-input.tsx"
        },
        {
          "path": "registry/sandbox-agent/lib/sandbox-agent/server/chat.ts",
          "type": "registry:lib",
          "target": "@lib/sandbox-agent/server/chat.ts"
        },
        {
          "path": "registry/sandbox-agent/lib/ai-gateway/contract.ts",
          "type": "registry:lib",
          "target": "@lib/ai-gateway/contract.ts"
        },
        {
          "path": "registry/sandbox-agent/lib/sandbox-agent/server/env-source.ts",
          "type": "registry:lib",
          "target": "@lib/sandbox-agent/server/env-source.ts"
        },
        {
          "path": "registry/sandbox-agent/lib/sandbox-agent/server/env.ts",
          "type": "registry:lib",
          "target": "@lib/sandbox-agent/server/env.ts"
        },
        {
          "path": "registry/sandbox-agent/lib/sandbox-agent/server/local-sandbox.ts",
          "type": "registry:lib",
          "target": "@lib/sandbox-agent/server/local-sandbox.ts"
        },
        {
          "path": "registry/sandbox-agent/lib/sandbox-agent/server/model.ts",
          "type": "registry:lib",
          "target": "@lib/sandbox-agent/server/model.ts"
        },
        {
          "path": "registry/sandbox-agent/lib/sandbox-agent/server/official-tools.ts",
          "type": "registry:lib",
          "target": "@lib/sandbox-agent/server/official-tools.ts"
        },
        {
          "path": "registry/sandbox-agent/lib/sandbox-agent/server/runtime.ts",
          "type": "registry:lib",
          "target": "@lib/sandbox-agent/server/runtime.ts"
        },
        {
          "path": "registry/sandbox-agent/lib/sandbox-agent/server/request.ts",
          "type": "registry:lib",
          "target": "@lib/sandbox-agent/server/request.ts"
        },
        {
          "path": "registry/sandbox-agent/lib/sandbox-agent/server/session.ts",
          "type": "registry:lib",
          "target": "@lib/sandbox-agent/server/session.ts"
        },
        {
          "path": "registry/sandbox-agent/lib/sandbox-agent/server/vercel-sandbox.ts",
          "type": "registry:lib",
          "target": "@lib/sandbox-agent/server/vercel-sandbox.ts"
        },
        {
          "path": "registry/sandbox-agent/lib/sandbox-agent/server/workspace.ts",
          "type": "registry:lib",
          "target": "@lib/sandbox-agent/server/workspace.ts"
        }
      ],
      "envVars": {
        "AI_GATEWAY_API_KEY": "",
        "AI_GATEWAY_BASE_URL": "https://ai-gateway.vercel.sh/v3/ai",
        "AI_GATEWAY_CHAT_MODEL": "openai/gpt-5-mini"
      },
      "docs": "Install into a Next.js App Router project initialized with shadcn/ui. This item adds the sandbox-agent page, node runtime chat route, local preview route, preview health route, client workspace, sandbox session registry, shell/file tool surface, and AI Gateway env vars. It runs with a local isolated workspace by default; Vercel Sandbox credentials are optional if you want remote sandbox execution.",
      "type": "registry:block"
    },
    {
      "name": "skills-agent",
      "title": "Skills Agent",
      "description": "A repo-local skills workspace that loads real SKILL.md packages on demand and turns rough ideas into durable agent assets.",
      "dependencies": [
        "@ai-sdk/react",
        "@base-ui/react",
        "@phosphor-icons/react",
        "@vercel/sandbox",
        "ai",
        "class-variance-authority",
        "lucide-react",
        "zod"
      ],
      "registryDependencies": [
        "utils",
        "badge",
        "breadcrumb",
        "button",
        "textarea",
        "https://elements.ai-sdk.dev/api/registry/conversation.json",
        "https://elements.ai-sdk.dev/api/registry/message.json",
        "https://elements.ai-sdk.dev/api/registry/reasoning.json",
        "https://elements.ai-sdk.dev/api/registry/shimmer.json",
        "https://elements.ai-sdk.dev/api/registry/tool.json"
      ],
      "files": [
        {
          "path": "registry/skills-agent/app/demos/skills-agent/page.tsx",
          "type": "registry:page",
          "target": "app/demos/skills-agent/page.tsx"
        },
        {
          "path": "registry/skills-agent/app/api/demos/skills-agent/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/skills-agent/route.ts"
        },
        {
          "path": "registry/skills-agent/components/skills-agent/skills-agent-screen.tsx",
          "type": "registry:component",
          "target": "@components/skills-agent/skills-agent-screen.tsx"
        },
        {
          "path": "registry/skills-agent/components/skills-agent/skills-agent-workspace.tsx",
          "type": "registry:component",
          "target": "@components/skills-agent/skills-agent-workspace.tsx"
        },
        {
          "path": "registry/skills-agent/components/skills-agent/use-skills-agent-chat.ts",
          "type": "registry:component",
          "target": "@components/skills-agent/use-skills-agent-chat.ts"
        },
        {
          "path": "registry/skills-agent/components/ai-elements/prompt-input.tsx",
          "type": "registry:component",
          "target": "@components/ai-elements/prompt-input.tsx"
        },
        {
          "path": "registry/skills-agent/lib/skills-agent/server/chat.ts",
          "type": "registry:lib",
          "target": "@lib/skills-agent/server/chat.ts"
        },
        {
          "path": "registry/skills-agent/lib/ai-gateway/contract.ts",
          "type": "registry:lib",
          "target": "@lib/ai-gateway/contract.ts"
        },
        {
          "path": "registry/skills-agent/lib/skills-agent/server/env-source.ts",
          "type": "registry:lib",
          "target": "@lib/skills-agent/server/env-source.ts"
        },
        {
          "path": "registry/skills-agent/lib/skills-agent/server/env.ts",
          "type": "registry:lib",
          "target": "@lib/skills-agent/server/env.ts"
        },
        {
          "path": "registry/skills-agent/lib/skills-agent/server/local-skill-catalog.ts",
          "type": "registry:lib",
          "target": "@lib/skills-agent/server/local-skill-catalog.ts"
        },
        {
          "path": "registry/skills-agent/lib/skills-agent/server/local-sandbox.ts",
          "type": "registry:lib",
          "target": "@lib/skills-agent/server/local-sandbox.ts"
        },
        {
          "path": "registry/skills-agent/lib/skills-agent/server/model.ts",
          "type": "registry:lib",
          "target": "@lib/skills-agent/server/model.ts"
        },
        {
          "path": "registry/skills-agent/lib/skills-agent/server/official-tools.ts",
          "type": "registry:lib",
          "target": "@lib/skills-agent/server/official-tools.ts"
        },
        {
          "path": "registry/skills-agent/lib/skills-agent/server/runtime.ts",
          "type": "registry:lib",
          "target": "@lib/skills-agent/server/runtime.ts"
        },
        {
          "path": "registry/skills-agent/lib/skills-agent/server/request.ts",
          "type": "registry:lib",
          "target": "@lib/skills-agent/server/request.ts"
        },
        {
          "path": "registry/skills-agent/lib/skills-agent/server/sandbox.ts",
          "type": "registry:lib",
          "target": "@lib/skills-agent/server/sandbox.ts"
        },
        {
          "path": "registry/skills-agent/lib/skills-agent/server/skill-catalog.ts",
          "type": "registry:lib",
          "target": "@lib/skills-agent/server/skill-catalog.ts"
        },
        {
          "path": "registry/skills-agent/lib/skills-agent/server/vercel-sandbox.ts",
          "type": "registry:lib",
          "target": "@lib/skills-agent/server/vercel-sandbox.ts"
        },
        {
          "path": "registry/skills-agent/lib/skills-agent/server/workspace.ts",
          "type": "registry:lib",
          "target": "@lib/skills-agent/server/workspace.ts"
        },
        {
          "path": "registry/skills-agent/.agents/skills/grill-with-docs/SKILL.md",
          "type": "registry:file",
          "target": ".agents/skills/grill-with-docs/SKILL.md"
        },
        {
          "path": "registry/skills-agent/.agents/skills/grill-with-docs/ADR-FORMAT.md",
          "type": "registry:file",
          "target": ".agents/skills/grill-with-docs/ADR-FORMAT.md"
        },
        {
          "path": "registry/skills-agent/.agents/skills/grill-with-docs/CONTEXT-FORMAT.md",
          "type": "registry:file",
          "target": ".agents/skills/grill-with-docs/CONTEXT-FORMAT.md"
        },
        {
          "path": "registry/skills-agent/.agents/skills/skill-creator/SKILL.md",
          "type": "registry:file",
          "target": ".agents/skills/skill-creator/SKILL.md"
        },
        {
          "path": "registry/skills-agent/.agents/skills/skill-creator/agents/openai.yaml",
          "type": "registry:file",
          "target": ".agents/skills/skill-creator/agents/openai.yaml"
        },
        {
          "path": "registry/skills-agent/.agents/skills/skill-creator/assets/skill-creator-small.svg",
          "type": "registry:file",
          "target": ".agents/skills/skill-creator/assets/skill-creator-small.svg"
        },
        {
          "path": "registry/skills-agent/.agents/skills/skill-creator/assets/skill-creator.png",
          "type": "registry:file",
          "target": ".agents/skills/skill-creator/assets/skill-creator.png"
        },
        {
          "path": "registry/skills-agent/.agents/skills/skill-creator/license.txt",
          "type": "registry:file",
          "target": ".agents/skills/skill-creator/license.txt"
        },
        {
          "path": "registry/skills-agent/.agents/skills/skill-creator/references/openai_yaml.md",
          "type": "registry:file",
          "target": ".agents/skills/skill-creator/references/openai_yaml.md"
        },
        {
          "path": "registry/skills-agent/.agents/skills/skill-creator/scripts/generate_openai_yaml.py",
          "type": "registry:file",
          "target": ".agents/skills/skill-creator/scripts/generate_openai_yaml.py"
        },
        {
          "path": "registry/skills-agent/.agents/skills/skill-creator/scripts/init_skill.py",
          "type": "registry:file",
          "target": ".agents/skills/skill-creator/scripts/init_skill.py"
        },
        {
          "path": "registry/skills-agent/.agents/skills/skill-creator/scripts/quick_validate.py",
          "type": "registry:file",
          "target": ".agents/skills/skill-creator/scripts/quick_validate.py"
        }
      ],
      "envVars": {
        "AI_GATEWAY_API_KEY": "",
        "AI_GATEWAY_BASE_URL": "https://ai-gateway.vercel.sh/v3/ai",
        "AI_GATEWAY_CHAT_MODEL": "openai/gpt-5-mini"
      },
      "docs": "Install into a Next.js App Router project initialized with shadcn/ui. This item adds the skills-agent page, node runtime chat route, client workspace, local sandbox-backed skill tools, and the two primary skill packages under .agents/skills so the browser happy path works after AI Gateway env setup. Add Vercel Sandbox credentials only when you want remote sandbox execution.",
      "type": "registry:block"
    },
    {
      "name": "mcp-agent",
      "title": "MCP Agent",
      "description": "An MCP-backed workspace that inspects installed project docs and optional local Next.js runtime state through AI SDK MCP clients.",
      "dependencies": [
        "@ai-sdk/mcp",
        "@ai-sdk/react",
        "@base-ui/react",
        "@modelcontextprotocol/sdk",
        "@phosphor-icons/react",
        "ai",
        "class-variance-authority",
        "lucide-react",
        "next-devtools-mcp",
        "zod"
      ],
      "registryDependencies": [
        "utils",
        "badge",
        "breadcrumb",
        "button",
        "textarea",
        "https://elements.ai-sdk.dev/api/registry/conversation.json",
        "https://elements.ai-sdk.dev/api/registry/message.json",
        "https://elements.ai-sdk.dev/api/registry/reasoning.json",
        "https://elements.ai-sdk.dev/api/registry/shimmer.json",
        "https://elements.ai-sdk.dev/api/registry/tool.json"
      ],
      "files": [
        {
          "path": "registry/mcp-agent/app/demos/mcp-agent/page.tsx",
          "type": "registry:page",
          "target": "app/demos/mcp-agent/page.tsx"
        },
        {
          "path": "registry/mcp-agent/app/api/demos/mcp-agent/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/mcp-agent/route.ts"
        },
        {
          "path": "registry/mcp-agent/app/api/demos/mcp-agent/mcp/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/mcp-agent/mcp/route.ts"
        },
        {
          "path": "registry/mcp-agent/components/mcp-agent/mcp-agent-screen.tsx",
          "type": "registry:component",
          "target": "@components/mcp-agent/mcp-agent-screen.tsx"
        },
        {
          "path": "registry/mcp-agent/components/mcp-agent/mcp-agent-workspace.tsx",
          "type": "registry:component",
          "target": "@components/mcp-agent/mcp-agent-workspace.tsx"
        },
        {
          "path": "registry/mcp-agent/components/mcp-agent/mcp-agent-assistant-trace.tsx",
          "type": "registry:component",
          "target": "@components/mcp-agent/mcp-agent-assistant-trace.tsx"
        },
        {
          "path": "registry/mcp-agent/components/mcp-agent/mcp-agent-model.ts",
          "type": "registry:component",
          "target": "@components/mcp-agent/mcp-agent-model.ts"
        },
        {
          "path": "registry/mcp-agent/components/mcp-agent/mcp-runtime-sidebar.tsx",
          "type": "registry:component",
          "target": "@components/mcp-agent/mcp-runtime-sidebar.tsx"
        },
        {
          "path": "registry/mcp-agent/components/mcp-agent/use-mcp-agent-chat.ts",
          "type": "registry:component",
          "target": "@components/mcp-agent/use-mcp-agent-chat.ts"
        },
        {
          "path": "registry/mcp-agent/components/ai-elements/prompt-input.tsx",
          "type": "registry:component",
          "target": "@components/ai-elements/prompt-input.tsx"
        },
        {
          "path": "registry/mcp-agent/lib/mcp-agent/server/chat.ts",
          "type": "registry:lib",
          "target": "@lib/mcp-agent/server/chat.ts"
        },
        {
          "path": "registry/mcp-agent/lib/ai-gateway/contract.ts",
          "type": "registry:lib",
          "target": "@lib/ai-gateway/contract.ts"
        },
        {
          "path": "registry/mcp-agent/lib/mcp-agent/server/env-source.ts",
          "type": "registry:lib",
          "target": "@lib/mcp-agent/server/env-source.ts"
        },
        {
          "path": "registry/mcp-agent/lib/mcp-agent/server/env.ts",
          "type": "registry:lib",
          "target": "@lib/mcp-agent/server/env.ts"
        },
        {
          "path": "registry/mcp-agent/lib/mcp-agent/server/mcp-clients.ts",
          "type": "registry:lib",
          "target": "@lib/mcp-agent/server/mcp-clients.ts"
        },
        {
          "path": "registry/mcp-agent/lib/mcp-agent/server/mcp-toolbox.ts",
          "type": "registry:lib",
          "target": "@lib/mcp-agent/server/mcp-toolbox.ts"
        },
        {
          "path": "registry/mcp-agent/lib/mcp-agent/server/model.ts",
          "type": "registry:lib",
          "target": "@lib/mcp-agent/server/model.ts"
        },
        {
          "path": "registry/mcp-agent/lib/mcp-agent/server/project-docs-catalog.ts",
          "type": "registry:lib",
          "target": "@lib/mcp-agent/server/project-docs-catalog.ts"
        },
        {
          "path": "registry/mcp-agent/lib/mcp-agent/server/project-mcp-server.ts",
          "type": "registry:lib",
          "target": "@lib/mcp-agent/server/project-mcp-server.ts"
        },
        {
          "path": "registry/mcp-agent/lib/mcp-agent/server/project-tools.ts",
          "type": "registry:lib",
          "target": "@lib/mcp-agent/server/project-tools.ts"
        },
        {
          "path": "registry/mcp-agent/lib/mcp-agent/server/runtime.ts",
          "type": "registry:lib",
          "target": "@lib/mcp-agent/server/runtime.ts"
        },
        {
          "path": "registry/mcp-agent/docs/frontend/mcp-agent.md",
          "type": "registry:file",
          "target": "docs/frontend/mcp-agent.md"
        }
      ],
      "envVars": {
        "AI_GATEWAY_API_KEY": "",
        "AI_GATEWAY_BASE_URL": "https://ai-gateway.vercel.sh/v3/ai",
        "AI_GATEWAY_CHAT_MODEL": "openai/gpt-5-mini"
      },
      "docs": "Install into a Next.js App Router project initialized with shadcn/ui. This item adds the MCP agent page, chat route, built-in project-docs MCP route, client workspace, local project-docs discovery, and the AI Gateway env vars required for MCP-backed chat. The optional Next.js runtime MCP server becomes available after next-devtools-mcp can attach to a running Next.js dev server.",
      "type": "registry:block"
    },
    {
      "name": "openai-agents-sdk-demo",
      "title": "OpenAI Agents SDK Demo",
      "description": "A complete OpenAI Agents SDK workspace that bridges official Agents runs into AI SDK UI messages, with tools, guardrails, handoffs, MCP docs, sandbox inspection, tracing, and voice transport lanes.",
      "dependencies": [
        "@ai-sdk/react",
        "@base-ui/react",
        "@modelcontextprotocol/sdk",
        "@openai/agents",
        "@openai/agents-extensions",
        "@phosphor-icons/react",
        "ai",
        "class-variance-authority",
        "lucide-react",
        "openai",
        "zod"
      ],
      "registryDependencies": [
        "utils",
        "badge",
        "breadcrumb",
        "button",
        "card",
        "collapsible",
        "dialog",
        "textarea",
        "https://elements.ai-sdk.dev/api/registry/attachments.json",
        "https://elements.ai-sdk.dev/api/registry/confirmation.json",
        "https://elements.ai-sdk.dev/api/registry/conversation.json",
        "https://elements.ai-sdk.dev/api/registry/message.json",
        "https://elements.ai-sdk.dev/api/registry/reasoning.json",
        "https://elements.ai-sdk.dev/api/registry/shimmer.json",
        "https://elements.ai-sdk.dev/api/registry/sources.json",
        "https://elements.ai-sdk.dev/api/registry/tool.json"
      ],
      "files": [
        {
          "path": "registry/openai-agents-sdk-demo/app/api/demos/openai-agents-sdk-demo/mcp/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/openai-agents-sdk-demo/mcp/route.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/app/api/demos/openai-agents-sdk-demo/realtime/client-secrets/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/openai-agents-sdk-demo/realtime/client-secrets/route.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/app/api/demos/openai-agents-sdk-demo/realtime/sip/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/openai-agents-sdk-demo/realtime/sip/route.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/app/api/demos/openai-agents-sdk-demo/realtime/twilio/incoming-call/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/openai-agents-sdk-demo/realtime/twilio/incoming-call/route.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/app/api/demos/openai-agents-sdk-demo/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/openai-agents-sdk-demo/route.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/app/demos/openai-agents-sdk-demo/page.tsx",
          "type": "registry:page",
          "target": "app/demos/openai-agents-sdk-demo/page.tsx"
        },
        {
          "path": "registry/openai-agents-sdk-demo/components/demo-breadcrumb.tsx",
          "type": "registry:component",
          "target": "@components/demo-breadcrumb.tsx"
        },
        {
          "path": "registry/openai-agents-sdk-demo/components/demo-chat/use-demo-chat.ts",
          "type": "registry:component",
          "target": "@components/demo-chat/use-demo-chat.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/components/demo-workspace-shell.tsx",
          "type": "registry:component",
          "target": "@components/demo-workspace-shell.tsx"
        },
        {
          "path": "registry/openai-agents-sdk-demo/components/ai-elements/prompt-input.tsx",
          "type": "registry:component",
          "target": "@components/ai-elements/prompt-input.tsx"
        },
        {
          "path": "registry/openai-agents-sdk-demo/components/openai-agents-sdk-demo/openai-agents-sdk-demo-runtime-inspector.ts",
          "type": "registry:component",
          "target": "@components/openai-agents-sdk-demo/openai-agents-sdk-demo-runtime-inspector.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/components/openai-agents-sdk-demo/openai-agents-sdk-demo-screen.tsx",
          "type": "registry:component",
          "target": "@components/openai-agents-sdk-demo/openai-agents-sdk-demo-screen.tsx"
        },
        {
          "path": "registry/openai-agents-sdk-demo/components/openai-agents-sdk-demo/openai-agents-sdk-demo-session.ts",
          "type": "registry:component",
          "target": "@components/openai-agents-sdk-demo/openai-agents-sdk-demo-session.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/components/openai-agents-sdk-demo/openai-agents-sdk-demo-voice-panel.tsx",
          "type": "registry:component",
          "target": "@components/openai-agents-sdk-demo/openai-agents-sdk-demo-voice-panel.tsx"
        },
        {
          "path": "registry/openai-agents-sdk-demo/components/openai-agents-sdk-demo/openai-agents-sdk-demo-voice-utils.ts",
          "type": "registry:component",
          "target": "@components/openai-agents-sdk-demo/openai-agents-sdk-demo-voice-utils.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/components/openai-agents-sdk-demo/openai-agents-sdk-demo-workspace-layout.ts",
          "type": "registry:component",
          "target": "@components/openai-agents-sdk-demo/openai-agents-sdk-demo-workspace-layout.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/components/openai-agents-sdk-demo/openai-agents-sdk-demo-workspace.tsx",
          "type": "registry:component",
          "target": "@components/openai-agents-sdk-demo/openai-agents-sdk-demo-workspace.tsx"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/ai-gateway/contract.ts",
          "type": "registry:lib",
          "target": "@lib/ai-gateway/contract.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/message-metadata.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/message-metadata.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/README.md",
          "type": "registry:file",
          "target": "@lib/openai-agents-sdk-demo/README.md"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/agents.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/agents.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/approvals.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/approvals.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/chat.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/chat.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/context.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/context.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/demo-mcp-server.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/demo-mcp-server.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/extensions.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/extensions.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/guardrails.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/guardrails.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/guide-coverage.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/guide-coverage.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/handoff-extensions.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/handoff-extensions.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/handoffs.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/handoffs.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/mcp.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/mcp.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/models.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/models.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/results.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/results.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/running.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/running.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/runtime.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/runtime.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/sandbox.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/sandbox.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/sessions.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/sessions.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/stream-artifacts.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/stream-artifacts.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/streaming.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/streaming.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/tools.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/tools.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/tracing.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/tracing.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/voice-cloudflare-app.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/voice-cloudflare-app.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/voice-cloudflare-worker-module.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/voice-cloudflare-worker-module.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/voice-cloudflare-worker.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/voice-cloudflare-worker.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/voice-extensions.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/voice-extensions.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/voice-realtime.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/voice-realtime.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/voice-server-audio.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/voice-server-audio.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/voice-sip-route.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/voice-sip-route.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/voice-sip.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/voice-sip.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/voice-twilio-app.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/voice-twilio-app.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/voice-twilio-bridge.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/voice-twilio-bridge.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/voice-twilio-route.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/voice-twilio-route.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/voice-websocket.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/voice-websocket.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/server/voice.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/server/voice.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/lib/openai-agents-sdk-demo/voice-lane.ts",
          "type": "registry:lib",
          "target": "@lib/openai-agents-sdk-demo/voice-lane.ts"
        },
        {
          "path": "registry/openai-agents-sdk-demo/docs/frontend/openai-agents-sdk-demo.md",
          "type": "registry:file",
          "target": "docs/frontend/openai-agents-sdk-demo.md"
        }
      ],
      "envVars": {
        "AI_GATEWAY_API_KEY": "",
        "AI_GATEWAY_CHAT_MODEL": "openai/gpt-5-mini",
        "OPENAI_AGENTS_GATEWAY_BASE_URL": "https://ai-gateway.vercel.sh/v1",
        "OPENAI_AGENTS_MODEL": "",
        "OPENAI_AGENTS_REASONING_EFFORT": "medium",
        "OPENAI_AGENTS_TEXT_VERBOSITY": "low",
        "OPENAI_AGENTS_MAX_TURNS": "6",
        "OPENAI_AGENTS_VECTOR_STORE_IDS": "",
        "OPENAI_AGENTS_TRACING_API_KEY": "",
        "OPENAI_AGENTS_DISABLE_TRACING": "",
        "OPENAI_AGENTS_TRACE_INCLUDE_SENSITIVE_DATA": "",
        "OPENAI_API_KEY": "",
        "OPENAI_AGENTS_TWILIO_MEDIA_STREAM_URL": ""
      },
      "docs": "Install into a Next.js App Router project initialized with shadcn/ui. The main local happy path needs AI_GATEWAY_API_KEY and runs through the installed chat route. Native realtime voice, SIP, Twilio, and Cloudflare transport lanes are included in source and require OPENAI_API_KEY plus their public transport wiring before live verification.",
      "type": "registry:block"
    },
    {
      "name": "langgraph-agent",
      "title": "LangGraph Agent",
      "description": "A Next.js AI Elements frontend and proxy route for a separately running Python LangGraph backend.",
      "dependencies": [
        "@ai-sdk/react",
        "@base-ui/react",
        "ai",
        "class-variance-authority",
        "lucide-react"
      ],
      "registryDependencies": [
        "utils",
        "badge",
        "breadcrumb",
        "button",
        "card",
        "separator",
        "textarea",
        "tooltip",
        "https://elements.ai-sdk.dev/api/registry/conversation.json",
        "https://elements.ai-sdk.dev/api/registry/message.json",
        "https://elements.ai-sdk.dev/api/registry/reasoning.json",
        "https://elements.ai-sdk.dev/api/registry/shimmer.json"
      ],
      "files": [
        {
          "path": "registry/langgraph-agent/app/demos/langgraph-agent/page.tsx",
          "type": "registry:page",
          "target": "app/demos/langgraph-agent/page.tsx"
        },
        {
          "path": "registry/langgraph-agent/app/api/demos/langgraph-agent/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/langgraph-agent/route.ts"
        },
        {
          "path": "registry/langgraph-agent/components/langgraph-agent/langgraph-agent-screen.tsx",
          "type": "registry:component",
          "target": "@components/langgraph-agent/langgraph-agent-screen.tsx"
        },
        {
          "path": "registry/langgraph-agent/components/langgraph-agent/langgraph-agent-workspace.tsx",
          "type": "registry:component",
          "target": "@components/langgraph-agent/langgraph-agent-workspace.tsx"
        },
        {
          "path": "registry/langgraph-agent/components/langgraph-agent/langgraph-agent-message-parts.ts",
          "type": "registry:component",
          "target": "@components/langgraph-agent/langgraph-agent-message-parts.ts"
        },
        {
          "path": "registry/langgraph-agent/components/langgraph-agent/use-langgraph-agent.ts",
          "type": "registry:component",
          "target": "@components/langgraph-agent/use-langgraph-agent.ts"
        },
        {
          "path": "registry/langgraph-agent/components/demo-chat/conversation-error-message.tsx",
          "type": "registry:component",
          "target": "@components/demo-chat/conversation-error-message.tsx"
        },
        {
          "path": "registry/langgraph-agent/components/demo-workspace-shell.tsx",
          "type": "registry:component",
          "target": "@components/demo-workspace-shell.tsx"
        },
        {
          "path": "registry/langgraph-agent/components/demo-breadcrumb.tsx",
          "type": "registry:component",
          "target": "@components/demo-breadcrumb.tsx"
        },
        {
          "path": "registry/langgraph-agent/components/ai-elements/prompt-input.tsx",
          "type": "registry:component",
          "target": "@components/ai-elements/prompt-input.tsx"
        },
        {
          "path": "registry/langgraph-agent/components/ai-elements/shimmer.tsx",
          "type": "registry:component",
          "target": "@components/ai-elements/shimmer.tsx"
        },
        {
          "path": "registry/langgraph-agent/lib/ai-gateway/contract.ts",
          "type": "registry:lib",
          "target": "@lib/ai-gateway/contract.ts"
        },
        {
          "path": "registry/langgraph-agent/lib/langgraph-agent/server/env-source.ts",
          "type": "registry:lib",
          "target": "@lib/langgraph-agent/server/env-source.ts"
        },
        {
          "path": "registry/langgraph-agent/lib/langgraph-agent/server/env.ts",
          "type": "registry:lib",
          "target": "@lib/langgraph-agent/server/env.ts"
        },
        {
          "path": "registry/langgraph-agent/lib/langgraph-agent/server/remote-langgraph-client.ts",
          "type": "registry:lib",
          "target": "@lib/langgraph-agent/server/remote-langgraph-client.ts"
        },
        {
          "path": "registry/langgraph-agent/lib/langgraph-agent/server/runtime.ts",
          "type": "registry:lib",
          "target": "@lib/langgraph-agent/server/runtime.ts"
        },
        {
          "path": "registry/langgraph-agent/lib/langgraph-agent/server/sse-parser.ts",
          "type": "registry:lib",
          "target": "@lib/langgraph-agent/server/sse-parser.ts"
        },
        {
          "path": "registry/langgraph-agent/lib/langgraph-agent/server/stream-normalizer.ts",
          "type": "registry:lib",
          "target": "@lib/langgraph-agent/server/stream-normalizer.ts"
        }
      ],
      "envVars": {
        "LANGGRAPH_AGENT_API_KEY": "",
        "LANGGRAPH_AGENT_API_URL": "http://localhost:2024",
        "LANGGRAPH_AGENT_ASSISTANT_ID": "agent",
        "LANGGRAPH_AGENT_MODEL": "openai/gpt-5-mini"
      },
      "docs": "Install into a Next.js App Router project initialized with shadcn/ui. This item installs the LangGraph Agent frontend and Next.js proxy route only; run a Python LangGraph backend separately from https://github.com/SawanaLabs/agent-demos/tree/main/apps/langgraph-agent-api. Local-first backend setup uses http://localhost:2024 with LANGGRAPH_AGENT_ASSISTANT_ID=agent and a shared LANGGRAPH_AGENT_API_KEY. The same backend folder also includes a Vercel FastAPI entry for deployment.",
      "type": "registry:block"
    },
    {
      "name": "ultra-chatbot-agent",
      "title": "Ultra Chatbot Agent",
      "description": "A complete AI SDK application-shape agent workspace with persistent chat, resumable streams, documents, uploads, RAG, MCP, research reports, and gated sandbox tools.",
      "dependencies": [
        "@ai-sdk/mcp",
        "@ai-sdk/openai",
        "@ai-sdk/react",
        "@base-ui/react",
        "@modelcontextprotocol/sdk",
        "@neondatabase/serverless",
        "@phosphor-icons/react",
        "@vercel/blob",
        "@vercel/sandbox",
        "ai",
        "class-variance-authority",
        "drizzle-orm",
        "ioredis",
        "lucide-react",
        "pdfjs-dist",
        "resumable-stream",
        "server-only",
        "zod"
      ],
      "registryDependencies": [
        "utils",
        "alert-dialog",
        "badge",
        "breadcrumb",
        "button",
        "card",
        "dialog",
        "dropdown-menu",
        "separator",
        "skeleton",
        "spinner",
        "textarea",
        "tooltip",
        "https://elements.ai-sdk.dev/api/registry/attachments.json",
        "https://elements.ai-sdk.dev/api/registry/code-block.json",
        "https://elements.ai-sdk.dev/api/registry/confirmation.json",
        "https://elements.ai-sdk.dev/api/registry/conversation.json",
        "https://elements.ai-sdk.dev/api/registry/message.json",
        "https://elements.ai-sdk.dev/api/registry/model-selector.json",
        "https://elements.ai-sdk.dev/api/registry/reasoning.json",
        "https://elements.ai-sdk.dev/api/registry/shimmer.json",
        "https://elements.ai-sdk.dev/api/registry/sources.json",
        "https://elements.ai-sdk.dev/api/registry/suggestion.json",
        "https://elements.ai-sdk.dev/api/registry/tool.json"
      ],
      "files": [
        {
          "path": "registry/ultra-chatbot-agent/.agents/skills/grill-with-docs/ADR-FORMAT.md",
          "type": "registry:file",
          "target": ".agents/skills/grill-with-docs/ADR-FORMAT.md"
        },
        {
          "path": "registry/ultra-chatbot-agent/.agents/skills/grill-with-docs/CONTEXT-FORMAT.md",
          "type": "registry:file",
          "target": ".agents/skills/grill-with-docs/CONTEXT-FORMAT.md"
        },
        {
          "path": "registry/ultra-chatbot-agent/.agents/skills/grill-with-docs/SKILL.md",
          "type": "registry:file",
          "target": ".agents/skills/grill-with-docs/SKILL.md"
        },
        {
          "path": "registry/ultra-chatbot-agent/.agents/skills/skill-creator/agents/openai.yaml",
          "type": "registry:file",
          "target": ".agents/skills/skill-creator/agents/openai.yaml"
        },
        {
          "path": "registry/ultra-chatbot-agent/.agents/skills/skill-creator/assets/skill-creator-small.svg",
          "type": "registry:file",
          "target": ".agents/skills/skill-creator/assets/skill-creator-small.svg"
        },
        {
          "path": "registry/ultra-chatbot-agent/.agents/skills/skill-creator/assets/skill-creator.png",
          "type": "registry:file",
          "target": ".agents/skills/skill-creator/assets/skill-creator.png"
        },
        {
          "path": "registry/ultra-chatbot-agent/.agents/skills/skill-creator/license.txt",
          "type": "registry:file",
          "target": ".agents/skills/skill-creator/license.txt"
        },
        {
          "path": "registry/ultra-chatbot-agent/.agents/skills/skill-creator/references/openai_yaml.md",
          "type": "registry:file",
          "target": ".agents/skills/skill-creator/references/openai_yaml.md"
        },
        {
          "path": "registry/ultra-chatbot-agent/.agents/skills/skill-creator/scripts/generate_openai_yaml.py",
          "type": "registry:file",
          "target": ".agents/skills/skill-creator/scripts/generate_openai_yaml.py"
        },
        {
          "path": "registry/ultra-chatbot-agent/.agents/skills/skill-creator/scripts/init_skill.py",
          "type": "registry:file",
          "target": ".agents/skills/skill-creator/scripts/init_skill.py"
        },
        {
          "path": "registry/ultra-chatbot-agent/.agents/skills/skill-creator/scripts/quick_validate.py",
          "type": "registry:file",
          "target": ".agents/skills/skill-creator/scripts/quick_validate.py"
        },
        {
          "path": "registry/ultra-chatbot-agent/.agents/skills/skill-creator/SKILL.md",
          "type": "registry:file",
          "target": ".agents/skills/skill-creator/SKILL.md"
        },
        {
          "path": "registry/ultra-chatbot-agent/app/api/cron/ultra-chatbot-agent-cleanup/route.ts",
          "type": "registry:page",
          "target": "app/api/cron/ultra-chatbot-agent-cleanup/route.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/app/api/demos/ultra-chatbot-agent/[id]/capabilities/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/ultra-chatbot-agent/[id]/capabilities/route.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/app/api/demos/ultra-chatbot-agent/[id]/messages/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/ultra-chatbot-agent/[id]/messages/route.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/app/api/demos/ultra-chatbot-agent/[id]/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/ultra-chatbot-agent/[id]/route.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/app/api/demos/ultra-chatbot-agent/[id]/session/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/ultra-chatbot-agent/[id]/session/route.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/app/api/demos/ultra-chatbot-agent/[id]/stream/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/ultra-chatbot-agent/[id]/stream/route.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/app/api/demos/ultra-chatbot-agent/[id]/visibility/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/ultra-chatbot-agent/[id]/visibility/route.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/app/api/demos/ultra-chatbot-agent/document/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/ultra-chatbot-agent/document/route.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/app/api/demos/ultra-chatbot-agent/files/upload/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/ultra-chatbot-agent/files/upload/route.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/app/api/demos/ultra-chatbot-agent/history/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/ultra-chatbot-agent/history/route.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/app/api/demos/ultra-chatbot-agent/mcp/project-docs/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/ultra-chatbot-agent/mcp/project-docs/route.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/app/api/demos/ultra-chatbot-agent/models/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/ultra-chatbot-agent/models/route.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/app/api/demos/ultra-chatbot-agent/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/ultra-chatbot-agent/route.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/app/api/demos/ultra-chatbot-agent/suggestions/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/ultra-chatbot-agent/suggestions/route.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/app/api/demos/ultra-chatbot-agent/vote/route.ts",
          "type": "registry:page",
          "target": "app/api/demos/ultra-chatbot-agent/vote/route.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/app/demos/ultra-chatbot-agent/[id]/page.tsx",
          "type": "registry:page",
          "target": "app/demos/ultra-chatbot-agent/[id]/page.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/app/demos/ultra-chatbot-agent/page.tsx",
          "type": "registry:page",
          "target": "app/demos/ultra-chatbot-agent/page.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ai-elements/code-block.tsx",
          "type": "registry:component",
          "target": "@components/ai-elements/code-block.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ai-elements/prompt-input.tsx",
          "type": "registry:component",
          "target": "@components/ai-elements/prompt-input.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ai-elements/shimmer.tsx",
          "type": "registry:component",
          "target": "@components/ai-elements/shimmer.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/demo-breadcrumb.tsx",
          "type": "registry:component",
          "target": "@components/demo-breadcrumb.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/demo-chat/conversation-error-message.tsx",
          "type": "registry:component",
          "target": "@components/demo-chat/conversation-error-message.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/demo-workspace-shell.tsx",
          "type": "registry:component",
          "target": "@components/demo-workspace-shell.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/resume-pending-state.ts",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/resume-pending-state.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-artifact-actions.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-artifact-actions.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-artifact-state.ts",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-artifact-state.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-artifact.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-artifact.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-diff-view.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-diff-view.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-document-browser.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-document-browser.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-document-client.ts",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-document-client.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-document-detail.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-document-detail.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-document-dialog.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-document-dialog.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-document-preview.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-document-preview.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-document-suggestions.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-document-suggestions.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-history-item.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-history-item.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-history-sidebar.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-history-sidebar.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-history-state.ts",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-history-state.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-knowledge-base-result.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-knowledge-base-result.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-message-parts.ts",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-message-parts.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-message-reasoning.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-message-reasoning.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-message-rendering-model.ts",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-message-rendering-model.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-message-response.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-message-response.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-messages.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-messages.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-multimodal-input.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-multimodal-input.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-preview-attachment.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-preview-attachment.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-project-docs-result.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-project-docs-result.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-research-report.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-research-report.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-sandbox-approval.ts",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-sandbox-approval.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-sandbox-confirmation.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-sandbox-confirmation.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-screen.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-screen.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-sources.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-sources.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-suggested-actions.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-suggested-actions.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-version-footer.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-version-footer.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-visibility-selector.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-visibility-selector.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-weather.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-weather.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/ultra-chatbot-agent-workspace.tsx",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/ultra-chatbot-agent-workspace.tsx"
        },
        {
          "path": "registry/ultra-chatbot-agent/components/ultra-chatbot-agent/use-ultra-chatbot-agent-artifact.ts",
          "type": "registry:component",
          "target": "@components/ultra-chatbot-agent/use-ultra-chatbot-agent-artifact.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/docs/ultra-chatbot-agent-registry.md",
          "type": "registry:file",
          "target": "docs/ultra-chatbot-agent-registry.md"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ai-gateway/contract.ts",
          "type": "registry:lib",
          "target": "@lib/ai-gateway/contract.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/attachment-config.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/attachment-config.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/constants.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/constants.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/knowledge-source.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/knowledge-source.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/project-docs-mcp/project-docs-catalog.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/project-docs-mcp/project-docs-catalog.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/project-docs-mcp/project-mcp-server.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/project-docs-mcp/project-mcp-server.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/project-docs-mcp/project-tools.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/project-docs-mcp/project-tools.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/rag-chatbot/chat.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/rag-chatbot/chat.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/rag-chatbot/database.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/rag-chatbot/database.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/rag-chatbot/env-source.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/rag-chatbot/env-source.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/rag-chatbot/env.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/rag-chatbot/env.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/rag-chatbot/index-source.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/rag-chatbot/index-source.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/rag-chatbot/ingestion.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/rag-chatbot/ingestion.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/rag-chatbot/knowledge-base-status.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/rag-chatbot/knowledge-base-status.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/rag-chatbot/portable-index.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/rag-chatbot/portable-index.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/rag-chatbot/retrieval.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/rag-chatbot/retrieval.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/rag-chatbot/runtime.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/rag-chatbot/runtime.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/rag-chatbot/schema.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/rag-chatbot/schema.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/rag-chatbot/source-document.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/rag-chatbot/source-document.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/blob-cleanup.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/blob-cleanup.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/blob-storage.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/blob-storage.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/capabilities.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/capabilities.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/capability-settings.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/capability-settings.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/chat-history.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/chat-history.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/chat-store.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/chat-store.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/cleanup.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/cleanup.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/create-document.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/create-document.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/database.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/database.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/demo-data-retention-policy.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/demo-data-retention-policy.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/document-store.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/document-store.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/document-target.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/document-target.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/documents.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/documents.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/edit-document.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/edit-document.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/enable-sandbox.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/enable-sandbox.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/env.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/env.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/get-weather.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/get-weather.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/history.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/history.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/message-edit.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/message-edit.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/models.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/models.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/project-docs-mcp.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/project-docs-mcp.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/prompts.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/prompts.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/providers.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/providers.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/request-suggestions.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/request-suggestions.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/research-report.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/research-report.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/route-backed-chat-replay.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/route-backed-chat-replay.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/route-owner.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/route-owner.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/runtime.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/runtime.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/sandbox-tools.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/sandbox-tools.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/schema.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/schema.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/search-knowledge-base.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/search-knowledge-base.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/session.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/session.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/suggestion-store.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/suggestion-store.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/suggestions.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/suggestions.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/update-document.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/update-document.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/upload.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/upload.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/viewer-context.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/viewer-context.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/visibility.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/visibility.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/votes.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/votes.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/server/web-search.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/server/web-search.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/skills-agent/server/chat.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/skills-agent/server/chat.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/skills-agent/server/env-source.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/skills-agent/server/env-source.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/skills-agent/server/env.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/skills-agent/server/env.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/skills-agent/server/local-sandbox.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/skills-agent/server/local-sandbox.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/skills-agent/server/local-skill-catalog.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/skills-agent/server/local-skill-catalog.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/skills-agent/server/model.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/skills-agent/server/model.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/skills-agent/server/official-tools.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/skills-agent/server/official-tools.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/skills-agent/server/request.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/skills-agent/server/request.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/skills-agent/server/runtime.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/skills-agent/server/runtime.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/skills-agent/server/sandbox.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/skills-agent/server/sandbox.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/skills-agent/server/skill-catalog.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/skills-agent/server/skill-catalog.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/skills-agent/server/vercel-sandbox.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/skills-agent/server/vercel-sandbox.ts"
        },
        {
          "path": "registry/ultra-chatbot-agent/lib/ultra-chatbot-agent/skills-agent/server/workspace.ts",
          "type": "registry:lib",
          "target": "@lib/ultra-chatbot-agent/skills-agent/server/workspace.ts"
        }
      ],
      "envVars": {
        "AI_GATEWAY_API_KEY": "",
        "AI_GATEWAY_BASE_URL": "https://ai-gateway.vercel.sh/v3/ai",
        "AI_GATEWAY_CHAT_MODEL": "openai/gpt-5-mini",
        "AI_GATEWAY_EMBEDDING_MODEL": "openai/text-embedding-3-small",
        "BLOB_READ_WRITE_TOKEN": "",
        "CRON_SECRET": "",
        "DATABASE_URL": "",
        "REDIS_URL": "",
        "VERCEL_OIDC_TOKEN": "",
        "VERCEL_PROJECT_ID": "",
        "VERCEL_TEAM_ID": "",
        "VERCEL_TOKEN": ""
      },
      "docs": "Install into a Next.js App Router project initialized with shadcn/ui. This item adds the complete Ultra Chatbot Agent page, route-backed APIs, model selector, history, votes, document artifacts, Blob upload route, RAG-backed knowledge search, Project Docs MCP route, gated sandbox tools, cleanup cron, Drizzle schema, and setup notes. Configure AI Gateway, Postgres, and Redis for the main chat happy path; add Blob and Vercel Sandbox credentials for those capability families.",
      "type": "registry:block"
    }
  ]
}
