{"_id":"@an-sdk/nextjs","_rev":"11-5bf2ff8fce1c1d17f794624243b63960","name":"@an-sdk/nextjs","dist-tags":{"latest":"0.0.8"},"versions":{"0.0.1":{"name":"@an-sdk/nextjs","version":"0.0.1","keywords":["nextjs","react","ai","agent","chat","ai-sdk","an","an.dev"],"license":"MIT","_id":"@an-sdk/nextjs@0.0.1","maintainers":[{"name":"bunasq","email":"realsergeybunas@gmail.com"}],"homepage":"https://an.dev","bugs":{"url":"https://github.com/21st-dev/an-sdk/issues"},"dist":{"shasum":"26c0bad488d00c72a73511b08d88683a82e99600","tarball":"https://registry.npmjs.org/@an-sdk/nextjs/-/nextjs-0.0.1.tgz","fileCount":15,"integrity":"sha512-B5VAqwiAAj46OEdds5bCAEC3lJlruXt5IGl4Prz42Wf4cY3Guw6RrKYrXn8Qs1KSFkvyO+XsAIC/daSbaOle2w==","signatures":[{"sig":"MEYCIQCcD1PvbsyofPpPNSAAdw+Odq+zDDZwVlQ1wcqB/SFV5QIhAOZ8zGNL7WQwFAbmJy2FXmtZOussWa/9SUMq7BalnSNG","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19001},"type":"module","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}}},"gitHead":"da8537ab44a7a28d10a35a60e07165bd5680abb0","scripts":{"lint":"tsc --noEmit","build":"tsup"},"_npmUser":{"name":"bunasq","email":"realsergeybunas@gmail.com"},"repository":{"url":"git+https://github.com/21st-dev/an-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Next.js integration for AN AI agent chat — server-side token handler","directories":{},"_nodeVersion":"22.13.0","dependencies":{"@an-sdk/react":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.0.0","tsup":"^8.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.5","@types/react":"^19.0.0"},"peerDependencies":{"next":">=14.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nextjs_0.0.1_1771824156051_0.44322182139561805","host":"s3://npm-registry-packages-npm-production"}},"0.0.2":{"name":"@an-sdk/nextjs","version":"0.0.2","keywords":["nextjs","react","ai","agent","chat","ai-sdk","an","an.dev"],"license":"MIT","_id":"@an-sdk/nextjs@0.0.2","maintainers":[{"name":"bunasq","email":"realsergeybunas@gmail.com"}],"homepage":"https://an.dev","bugs":{"url":"https://github.com/21st-dev/an-sdk/issues"},"dist":{"shasum":"914101b4630d4b28aad222ee468de336f946a5bf","tarball":"https://registry.npmjs.org/@an-sdk/nextjs/-/nextjs-0.0.2.tgz","fileCount":15,"integrity":"sha512-E+vJ4bQtI5zef6tiu9JRIoqkUlKfteUmUdYaGxf/a+CwGlPGPwU+AYWnFvjSsoEKHIy3JL3JmaeTEFm+BL2aOw==","signatures":[{"sig":"MEQCIGM2XjqfzU/lrFokBWmhuI6tGF/S88jirRsc/41Nppr1AiAmRvMPSI0Ep9ap6M6TG54MAB6gLZBSGvlS3/V08ae5aA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19001},"type":"module","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}}},"gitHead":"da8537ab44a7a28d10a35a60e07165bd5680abb0","scripts":{"lint":"tsc --noEmit","build":"tsup"},"_npmUser":{"name":"bunasq","email":"realsergeybunas@gmail.com"},"repository":{"url":"git+https://github.com/21st-dev/an-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Next.js integration for AN AI agent chat — server-side token handler","directories":{},"_nodeVersion":"22.13.0","dependencies":{"@an-sdk/react":"^0.1.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.0.0","tsup":"^8.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.5","@types/react":"^19.0.0"},"peerDependencies":{"next":">=14.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nextjs_0.0.2_1771824471511_0.27584157067255166","host":"s3://npm-registry-packages-npm-production"}},"0.0.3":{"name":"@an-sdk/nextjs","version":"0.0.3","keywords":["nextjs","react","ai","agent","chat","ai-sdk","an","an.dev"],"license":"MIT","_id":"@an-sdk/nextjs@0.0.3","maintainers":[{"name":"bunasq","email":"realsergeybunas@gmail.com"}],"homepage":"https://an.dev","bugs":{"url":"https://github.com/21st-dev/an-sdk/issues"},"dist":{"shasum":"a0b3e54e2a9a51ea0becb52d98cc79216bda7c0b","tarball":"https://registry.npmjs.org/@an-sdk/nextjs/-/nextjs-0.0.3.tgz","fileCount":15,"integrity":"sha512-0h647STILkiLMjICJMd52RH8unKG2nIRbM6krRlZO3SAgSov5mP2utkiIYyK5Yq0T5m3BtejgPiy4Uabj2wo8g==","signatures":[{"sig":"MEYCIQCIwe5paFAlWklQ2dLDDB2VAFhf7X7TKkNQxcdBERI+FQIhAPIyoLGn0Eb5nHJgDwqX23taEy0FmWMhBWPMHdQ1pJ5Q","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":19001},"type":"module","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}}},"gitHead":"da8537ab44a7a28d10a35a60e07165bd5680abb0","scripts":{"lint":"tsc --noEmit","build":"tsup"},"_npmUser":{"name":"bunasq","email":"realsergeybunas@gmail.com"},"repository":{"url":"git+https://github.com/21st-dev/an-sdk.git","type":"git"},"_npmVersion":"11.6.2","description":"Next.js integration for AN AI agent chat — server-side token handler","directories":{},"_nodeVersion":"22.13.0","dependencies":{"@an-sdk/react":"^0.0.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.0.0","tsup":"^8.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.5","@types/react":"^19.0.0"},"peerDependencies":{"next":">=14.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nextjs_0.0.3_1771824623222_0.2850647862427764","host":"s3://npm-registry-packages-npm-production"}},"0.0.4":{"name":"@an-sdk/nextjs","version":"0.0.4","keywords":["nextjs","react","ai","agent","chat","ai-sdk","an","an.dev"],"license":"MIT","_id":"@an-sdk/nextjs@0.0.4","maintainers":[{"name":"bunasq","email":"realsergeybunas@gmail.com"}],"homepage":"https://an.dev","dist":{"shasum":"72f3677cd5d62eb0c934060ea1178455d46d1b65","tarball":"https://registry.npmjs.org/@an-sdk/nextjs/-/nextjs-0.0.4.tgz","fileCount":15,"integrity":"sha512-BAFzgNvaBKbYUE18Ae82FIh51heVjv67UsoLxSthm8UXonwUO/s/NeHDknE84gLruvJX0HTikp2p4+KYjSZeow==","signatures":[{"sig":"MEUCIQCXXU4HuAFgEI60ouDwTZlqygjl6l8+O3o4ojerTZJW8wIgKuzDxYqogm+UgxqMQ3Q5cpDTTNGH3Mj8Cwbb36k1cWo=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17576},"type":"module","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}}},"gitHead":"6103e729bd08f164e9e89c95f07514c77d601b7c","scripts":{"lint":"tsc --noEmit","build":"tsup"},"_npmUser":{"name":"bunasq","email":"realsergeybunas@gmail.com"},"_npmVersion":"11.6.2","description":"Next.js integration for AN AI agent chat — server-side token handler","directories":{},"_nodeVersion":"22.13.0","dependencies":{"@an-sdk/react":"^0.0.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.0.0","tsup":"^8.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.5","@types/react":"^19.0.0"},"peerDependencies":{"next":">=14.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nextjs_0.0.4_1771829988317_0.2678373390198363","host":"s3://npm-registry-packages-npm-production"}},"0.0.5":{"name":"@an-sdk/nextjs","version":"0.0.5","keywords":["nextjs","react","ai","agent","chat","ai-sdk","an","an.dev"],"license":"MIT","_id":"@an-sdk/nextjs@0.0.5","maintainers":[{"name":"bunasq","email":"realsergeybunas@gmail.com"}],"homepage":"https://an.dev","dist":{"shasum":"4e7a50d950dca631d507fe941237695262d5e647","tarball":"https://registry.npmjs.org/@an-sdk/nextjs/-/nextjs-0.0.5.tgz","fileCount":15,"integrity":"sha512-8hxnUE7HEv+zIVhrt1EPYfBf4fp8pXK8kQ4ht+GbK/zQQYmpg1iBdRRTBY9EQyrzComSN2Z8hK1LRozsgXaLaQ==","signatures":[{"sig":"MEQCIEP3xOYBWoN2ypiQPQXFTByjTTQKbbVj8+FXcZpxX86+AiBdEiz/bpQHsokBQill6NiJ2CiR/Jybbb51LhXPBU64kA==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17603},"type":"module","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}}},"gitHead":"0e72b91fbb181d4231d8778d2cbd3727b7cff3db","scripts":{"lint":"tsc --noEmit","build":"tsup"},"_npmUser":{"name":"bunasq","email":"realsergeybunas@gmail.com"},"_npmVersion":"11.6.2","description":"Next.js integration for AN AI agent chat — server-side token handler","directories":{},"_nodeVersion":"22.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.0.0","tsup":"^8.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.5","@types/react":"^19.0.0"},"peerDependencies":{"ai":"^5.0.0","next":">=14.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","@ai-sdk/react":"^2.0.0","@an-sdk/react":"^0.0.3"},"_npmOperationalInternal":{"tmp":"tmp/nextjs_0.0.5_1771968494185_0.027240147903057066","host":"s3://npm-registry-packages-npm-production"}},"0.0.6":{"name":"@an-sdk/nextjs","version":"0.0.6","keywords":["nextjs","react","ai","agent","chat","ai-sdk","an","an.dev"],"license":"MIT","_id":"@an-sdk/nextjs@0.0.6","maintainers":[{"name":"bunasq","email":"realsergeybunas@gmail.com"},{"name":"danverr","email":"ddmaryakhin@mail.ru"}],"homepage":"https://an.dev","dist":{"shasum":"2fd60ff612164946bf536dbd13b3c40ab75de70e","tarball":"https://registry.npmjs.org/@an-sdk/nextjs/-/nextjs-0.0.6.tgz","fileCount":15,"integrity":"sha512-sAa+hY+GKQs8wd1gaOFqMW9sxywt2LtGhdz93fjXTVXbOpkOFMbyulMCs1mAo3VW9iMVYiG1KMNSSO91a2JgMQ==","signatures":[{"sig":"MEUCIQC4oavCfWLyTDKTYqP8fEBVBWc01If5j9Ys5ChgiZGQ3gIgeNFX3dgRL83pARr1rtafOtNwU7NiDV8b10T/jPgjwFU=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17639},"type":"module","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}}},"gitHead":"049d710c06e59fb6f207ad19c1a4cce5c9b9303b","scripts":{"lint":"tsc --noEmit","build":"tsup"},"_npmUser":{"name":"bunasq","email":"realsergeybunas@gmail.com"},"_npmVersion":"11.6.2","description":"Next.js integration for AN AI agent chat — server-side token handler","directories":{},"_nodeVersion":"22.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.0.0","tsup":"^8.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.5","@types/react":"^19.0.0","@an-sdk/react":"workspace:*"},"peerDependencies":{"ai":"^5.0.0","next":">=14.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","@ai-sdk/react":"^2.0.0","@an-sdk/react":"^0.0.4"},"_npmOperationalInternal":{"tmp":"tmp/nextjs_0.0.6_1772170415143_0.8283535023756319","host":"s3://npm-registry-packages-npm-production"}},"0.0.7":{"name":"@an-sdk/nextjs","version":"0.0.7","keywords":["nextjs","react","ai","agent","chat","ai-sdk","an","an.dev"],"license":"MIT","_id":"@an-sdk/nextjs@0.0.7","maintainers":[{"name":"bunasq","email":"realsergeybunas@gmail.com"},{"name":"danverr","email":"ddmaryakhin@mail.ru"}],"homepage":"https://an.dev","dist":{"shasum":"7c9cc8baf456540dc1408456f6ffde997cadba6c","tarball":"https://registry.npmjs.org/@an-sdk/nextjs/-/nextjs-0.0.7.tgz","fileCount":15,"integrity":"sha512-+S0r0/PeTT9AUzGe0SDeEc9vkvXRLGkw/8S6oQA+CTPnYS4yytbWcHIEojniNEetIWtQM2mmQunFBgvVBcJVIA==","signatures":[{"sig":"MEQCIGLeVKJCzLRT9KFMYW0RrX5zy16SQLeB35CHyodil4OaAiB2RShjtnYOkqsMnftfbrYihCMD95X4GcQdbHGx0Nv0dg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":17639},"type":"module","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}}},"gitHead":"c215fdaca5f6b546b0fe69cfc5e57611f833a48f","scripts":{"lint":"tsc --noEmit","build":"tsup"},"_npmUser":{"name":"bunasq","email":"realsergeybunas@gmail.com"},"_npmVersion":"11.6.2","description":"Next.js integration for AN AI agent chat — server-side token handler","directories":{},"_nodeVersion":"22.13.0","publishConfig":{"access":"public"},"_hasShrinkwrap":false,"devDependencies":{"next":"^15.0.0","tsup":"^8.0.0","react":"^19.0.0","react-dom":"^19.0.0","typescript":"^5.4.5","@types/react":"^19.0.0","@an-sdk/react":"workspace:*"},"peerDependencies":{"ai":"^5.0.0","next":">=14.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","@ai-sdk/react":"^2.0.0","@an-sdk/react":"^0.0.5"},"_npmOperationalInternal":{"tmp":"tmp/nextjs_0.0.7_1772237103921_0.6454035009061188","host":"s3://npm-registry-packages-npm-production"}},"0.0.8":{"name":"@an-sdk/nextjs","version":"0.0.8","license":"MIT","description":"Next.js integration for AN AI agent chat — server-side token handler","homepage":"https://an.dev","publishConfig":{"access":"public"},"type":"module","exports":{".":{"import":{"types":"./dist/index.d.ts","default":"./dist/index.js"},"require":{"types":"./dist/index.d.cts","default":"./dist/index.cjs"}},"./server":{"import":{"types":"./dist/server.d.ts","default":"./dist/server.js"},"require":{"types":"./dist/server.d.cts","default":"./dist/server.cjs"}}},"directories":{"doc":"./docs"},"keywords":["nextjs","react","ai","agent","chat","ai-sdk","an","an.dev"],"scripts":{"prepack":"cp -r ../docs ./docs","postpack":"rm -rf ./docs","build":"tsup","lint":"tsc --noEmit"},"peerDependencies":{"next":">=14.0.0","react":"^18.0.0 || ^19.0.0","react-dom":"^18.0.0 || ^19.0.0","@ai-sdk/react":"^2.0.0","@an-sdk/react":"^0.0.5","ai":"^5.0.0"},"devDependencies":{"@an-sdk/react":"workspace:*","@types/react":"^19.0.0","next":"^15.0.0","react":"^19.0.0","react-dom":"^19.0.0","tsup":"^8.0.0","typescript":"^5.4.5"},"gitHead":"c215fdaca5f6b546b0fe69cfc5e57611f833a48f","_id":"@an-sdk/nextjs@0.0.8","_nodeVersion":"22.13.0","_npmVersion":"11.6.2","dist":{"integrity":"sha512-KzcCNbXw3l29TitokvoTSp9B1+pI+B70Wbjs85vqCdq4d9efYnhTuHQTeMgp+tw4+OtGaOUAuUrpiiBZE92Okg==","shasum":"b83f7ff694a723553ec9380f3296a27e105148d1","tarball":"https://registry.npmjs.org/@an-sdk/nextjs/-/nextjs-0.0.8.tgz","fileCount":26,"unpackedSize":43264,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIGSAma6xkfKzOYMqaX9dKMe+HvUopLWFyXKHmRB2oB4mAiEA5v1OQj7hcNZPig74rLJHmCTeip1mBoT9lSDOgJ9/rIo="}]},"_npmUser":{"name":"bunasq","email":"realsergeybunas@gmail.com"},"maintainers":[{"name":"bunasq","email":"realsergeybunas@gmail.com"},{"name":"danverr","email":"ddmaryakhin@mail.ru"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nextjs_0.0.8_1772238794701_0.4703506411522418"},"_hasShrinkwrap":false}},"time":{"created":"2026-02-23T05:20:27.270Z","modified":"2026-02-28T00:33:14.996Z","0.1.0":"2026-02-23T05:20:27.499Z","0.0.1":"2026-02-23T05:22:36.187Z","0.0.2":"2026-02-23T05:27:51.668Z","0.0.3":"2026-02-23T05:30:23.372Z","0.0.4":"2026-02-23T06:59:48.445Z","0.0.5":"2026-02-24T21:28:14.321Z","0.0.6":"2026-02-27T05:33:35.302Z","0.0.7":"2026-02-28T00:05:04.133Z","0.0.8":"2026-02-28T00:33:14.854Z"},"license":"MIT","homepage":"https://an.dev","keywords":["nextjs","react","ai","agent","chat","ai-sdk","an","an.dev"],"description":"Next.js integration for AN AI agent chat — server-side token handler","maintainers":[{"name":"bunasq","email":"realsergeybunas@gmail.com"},{"name":"danverr","email":"ddmaryakhin@mail.ru"}],"readme":"# @an-sdk/nextjs\n\nNext.js integration for [AN](https://an.dev) AI agent chat. Provides a server-side token handler so your API key never reaches the client.\n\n## Install\n\n```bash\nnpm install @an-sdk/nextjs @an-sdk/react ai @ai-sdk/react\n```\n\n## Quick Start\n\n### 1. Set your API key\n\n```env\n# .env.local\nAN_API_KEY=an_sk_your_key_here\n```\n\nGet your API key from [an.dev/agents/dashboard/api](https://an.dev/agents/dashboard/api).\n\n### 2. Create the token route (one line)\n\n```ts\n// app/api/an/token/route.ts\nimport { createAnTokenHandler } from \"@an-sdk/nextjs/server\"\n\nexport const POST = createAnTokenHandler({\n  apiKey: process.env.AN_API_KEY!,\n})\n```\n\n### 3. Use in your page\n\n```tsx\n// app/page.tsx\n\"use client\"\n\nimport { useChat } from \"@ai-sdk/react\"\nimport { AnAgentChat, createAnChat } from \"@an-sdk/nextjs\"\nimport \"@an-sdk/react/styles.css\"\nimport { useMemo } from \"react\"\n\nexport default function Chat() {\n  const chat = useMemo(\n    () => createAnChat({\n      agent: \"your-agent-slug\",\n      tokenUrl: \"/api/an/token\",\n    }),\n    [],\n  )\n\n  const { messages, sendMessage, status, stop, error } = useChat({ chat })\n\n  return (\n    <AnAgentChat\n      messages={messages}\n      onSend={(msg) =>\n        sendMessage({ parts: [{ type: \"text\", text: msg.content }] })\n      }\n      status={status}\n      onStop={stop}\n      error={error}\n    />\n  )\n}\n```\n\nThat's it. Your `an_sk_` API key stays on the server. The client only receives short-lived JWTs.\n\n## How It Works\n\n```\nBrowser                     Your Next.js Server              AN Relay\n  |                                |                            |\n  |-- POST /api/an/token --------->|                            |\n  |                                |-- POST /v1/tokens -------->|\n  |                                |   (with an_sk_ key)        |\n  |                                |<-- { token, expiresAt } ---|\n  |<-- { token, expiresAt } ------|                            |\n  |                                                             |\n  |-- POST /v1/chat/:agent ------(with short-lived JWT)------->|\n  |<-- streaming response -----(SSE)---------------------------|\n```\n\n## License\n\nMIT\n","readmeFilename":"README.md"}