{
  "$schema": "https://ui.shadcn.com/schema/registry-item.json",
  "name": "copilot-api",
  "dependencies": [
    "ai@7"
  ],
  "registryDependencies": [],
  "files": [
    {
      "path": "src/registry/app/api/ai/copilot/route.ts",
      "content": "import type { NextRequest } from 'next/server';\n\nimport { createGateway, generateText } from 'ai';\nimport { NextResponse } from 'next/server';\n\nexport async function POST(req: NextRequest) {\n  const {\n    apiKey: key,\n    instructions,\n    model = 'gpt-4o-mini',\n    prompt,\n    system,\n  } = await req.json();\n\n  const apiKey = key || process.env.AI_GATEWAY_API_KEY;\n\n  if (!apiKey) {\n    return NextResponse.json(\n      { error: 'Missing ai gateway API key.' },\n      { status: 401 }\n    );\n  }\n\n  const gateway = createGateway({ apiKey });\n\n  try {\n    const result = await generateText({\n      abortSignal: req.signal,\n      instructions: instructions ?? system,\n      maxOutputTokens: 50,\n      model: gateway(`openai/${model}`),\n      prompt,\n      temperature: 0.7,\n    });\n\n    return NextResponse.json(result);\n  } catch (error) {\n    if (error instanceof Error && error.name === 'AbortError') {\n      return NextResponse.json(null, { status: 408 });\n    }\n\n    return NextResponse.json(\n      { error: 'Failed to process AI request' },\n      { status: 500 }\n    );\n  }\n}\n",
      "type": "registry:file",
      "target": "app/api/ai/copilot/route.ts"
    }
  ],
  "type": "registry:file"
}