{"_id":"@ai-me-chat/nextjs","_rev":"7-30864f3a981fa02fbe4449143130b729","name":"@ai-me-chat/nextjs","dist-tags":{"latest":"0.5.0"},"versions":{"0.0.1":{"name":"@ai-me-chat/nextjs","version":"0.0.1","license":"MIT","_id":"@ai-me-chat/nextjs@0.0.1","maintainers":[{"name":"aselims","email":"eleventures.ai@gmail.com"}],"homepage":"https://github.com/aselims/ai-me-chat#readme","bugs":{"url":"https://github.com/aselims/ai-me-chat/issues"},"dist":{"shasum":"bf48eafdd6bd4832f1a4c71fe82707a40aefab41","tarball":"https://registry.npmjs.org/@ai-me-chat/nextjs/-/nextjs-0.0.1.tgz","fileCount":8,"integrity":"sha512-WJ/h8aJV1FWnKmu/Cp+aVzIny2Lf2Zvq4bFCgKXvlvKDe+5N4tSSbzG6hhho3iUQKBtfG2GqBGlUNhOeeb+Ilg==","signatures":[{"sig":"MEQCIHpo3zLb9LgpZnDzcfxJTZ4kZuHTB1FbY16TgXLGUqoEAiAO3ZXwM/ym5S18nIVwSHmupOjAm0Nxr4sW9lK/HSETBQ==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":55093},"main":"./dist/index.cjs","type":"module","_from":"file:ai-me-chat-nextjs-0.0.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src/","test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aselims","email":"eleventures.ai@gmail.com"},"_resolved":"/private/var/folders/n9/_1c4b1vx76g5j3nbkn9xmmkm0000gn/T/9551e7a088fa1370ed974f0744ae4596/ai-me-chat-nextjs-0.0.1.tgz","_integrity":"sha512-WJ/h8aJV1FWnKmu/Cp+aVzIny2Lf2Zvq4bFCgKXvlvKDe+5N4tSSbzG6hhho3iUQKBtfG2GqBGlUNhOeeb+Ilg==","repository":{"url":"git+https://github.com/aselims/ai-me-chat.git","type":"git","directory":"packages/nextjs"},"_npmVersion":"11.6.2","description":"AI-Me Next.js integration — handler, proxy, route scanner","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"picomatch":"^4.0.3","@ai-me-chat/core":"0.0.1"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.116","zod":"^4.3.6","next":"^16.1.6","tsup":"^8.5.1","react":"^19.2.4","vitest":"^4.1.0","react-dom":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.5.0","@types/react":"^19.0.0","@types/picomatch":"^4.0.2"},"peerDependencies":{"ai":"^6.0.0","next":"^16.0.0","react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nextjs_0.0.1_1774544696137_0.20878852268543469","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@ai-me-chat/nextjs","version":"0.1.0","keywords":["ai","copilot","nextjs","app-router","route-handler","ai-assistant","vercel-ai-sdk","openapi"],"license":"MIT","_id":"@ai-me-chat/nextjs@0.1.0","maintainers":[{"name":"aselims","email":"eleventures.ai@gmail.com"}],"homepage":"https://github.com/aselims/ai-me-chat#readme","bugs":{"url":"https://github.com/aselims/ai-me-chat/issues"},"dist":{"shasum":"181a51e88164405321983f5a442651d662d92c49","tarball":"https://registry.npmjs.org/@ai-me-chat/nextjs/-/nextjs-0.1.0.tgz","fileCount":9,"integrity":"sha512-Jmxyp48j6xVtO4U+VoRxtmoddHsUmEXs7io8z8BDVTmDDCOAznERLIPkKWnBRMAyXRElPLpvos/japIwx1YeOw==","signatures":[{"sig":"MEUCIHJJqCdIgGpcuQg9DnSv3EQAYdtyHY2yw1fQua3vKhsIAiEA4iwK+e61lqhPN5Y4/adByaGOL5tBMbuVxgms0/fGa4s=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":56972},"main":"./dist/index.cjs","type":"module","_from":"file:ai-me-chat-nextjs-0.1.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src/","test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aselims","email":"eleventures.ai@gmail.com"},"_resolved":"/private/var/folders/n9/_1c4b1vx76g5j3nbkn9xmmkm0000gn/T/5c4b103f2f7bba8552699116fac90384/ai-me-chat-nextjs-0.1.0.tgz","_integrity":"sha512-Jmxyp48j6xVtO4U+VoRxtmoddHsUmEXs7io8z8BDVTmDDCOAznERLIPkKWnBRMAyXRElPLpvos/japIwx1YeOw==","repository":{"url":"git+https://github.com/aselims/ai-me-chat.git","type":"git","directory":"packages/nextjs"},"_npmVersion":"11.6.2","description":"AI-Me Next.js integration — route handler factory, auto-discovery, and proxy","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"picomatch":"^4.0.3","@ai-me-chat/core":"0.1.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.116","zod":"^4.3.6","next":"^16.1.6","tsup":"^8.5.1","react":"^19.2.4","vitest":"^4.1.0","react-dom":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.5.0","@types/react":"^19.0.0","@types/picomatch":"^4.0.2"},"peerDependencies":{"ai":"^6.0.0","next":"^16.0.0","react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nextjs_0.1.0_1774546221689_0.08054582337566552","host":"s3://npm-registry-packages-npm-production"}},"0.2.0":{"name":"@ai-me-chat/nextjs","version":"0.2.0","keywords":["ai","copilot","nextjs","app-router","route-handler","ai-assistant","vercel-ai-sdk","openapi"],"license":"MIT","_id":"@ai-me-chat/nextjs@0.2.0","maintainers":[{"name":"aselims","email":"eleventures.ai@gmail.com"}],"homepage":"https://github.com/aselims/ai-me-chat#readme","bugs":{"url":"https://github.com/aselims/ai-me-chat/issues"},"dist":{"shasum":"a40e588c4d6db414a128965742a03e2625b8e16e","tarball":"https://registry.npmjs.org/@ai-me-chat/nextjs/-/nextjs-0.2.0.tgz","fileCount":9,"integrity":"sha512-MLrPSVGSRJZwmXQ6m4w9NSNfSqmD/UoVesX0KL3dHJ6+z45eyrlvxiQ3AzsYKgteOrCVGKCtlu+28U9yWDembQ==","signatures":[{"sig":"MEUCIHLa2J88QRPapTq5FutnxRJRpESiQqj1Z/t9jyzDtrkEAiEAgRsjobpdR74nVox6ZO4sjPs9+H1rl3LwcvjHq+X0s+c=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":65871},"main":"./dist/index.cjs","type":"module","_from":"file:ai-me-chat-nextjs-0.2.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src/","test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aselims","email":"eleventures.ai@gmail.com"},"_resolved":"/private/var/folders/n9/_1c4b1vx76g5j3nbkn9xmmkm0000gn/T/ecba62001523af95043766bb77b2b12b/ai-me-chat-nextjs-0.2.0.tgz","_integrity":"sha512-MLrPSVGSRJZwmXQ6m4w9NSNfSqmD/UoVesX0KL3dHJ6+z45eyrlvxiQ3AzsYKgteOrCVGKCtlu+28U9yWDembQ==","repository":{"url":"git+https://github.com/aselims/ai-me-chat.git","type":"git","directory":"packages/nextjs"},"_npmVersion":"11.6.2","description":"AI-Me Next.js integration — route handler factory, auto-discovery, and proxy","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"picomatch":"^4.0.3","@ai-me-chat/core":"0.2.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.116","zod":"^4.3.6","next":"^16.1.6","tsup":"^8.5.1","react":"^19.2.4","vitest":"^4.1.0","react-dom":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.5.0","@types/react":"^19.0.0","@types/picomatch":"^4.0.2"},"peerDependencies":{"ai":"^6.0.0","next":"^16.0.0","react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nextjs_0.2.0_1774822101604_0.16030104632572684","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@ai-me-chat/nextjs","version":"0.2.1","keywords":["ai","copilot","nextjs","app-router","route-handler","ai-assistant","vercel-ai-sdk","openapi"],"license":"MIT","_id":"@ai-me-chat/nextjs@0.2.1","maintainers":[{"name":"aselims","email":"eleventures.ai@gmail.com"}],"homepage":"https://github.com/aselims/ai-me-chat#readme","bugs":{"url":"https://github.com/aselims/ai-me-chat/issues"},"dist":{"shasum":"ff5b2d420762b6d79c8299cfec58250ba00a64ca","tarball":"https://registry.npmjs.org/@ai-me-chat/nextjs/-/nextjs-0.2.1.tgz","fileCount":9,"integrity":"sha512-B+DXOJSpD2u8cK6WUPA0xlpuQvsO18qNxKbHXYSwGgjm3BuWL/sO/V2juRDcSMMIzGN4YeBUJlXQefJhIdgxnQ==","signatures":[{"sig":"MEYCIQC0iNZp1rN1gv3/vq/0PSDff/W42iJgERlq1gn3Sw3K8gIhAM2LWcTeKLPxA5rO9cqPVpjsatIAGzSehel9GBIxYrRy","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":70831},"main":"./dist/index.cjs","type":"module","_from":"file:ai-me-chat-nextjs-0.2.1.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src/","test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aselims","email":"eleventures.ai@gmail.com"},"_resolved":"/private/var/folders/n9/_1c4b1vx76g5j3nbkn9xmmkm0000gn/T/25d13c0e4b3dc09aa39723c49170f0a5/ai-me-chat-nextjs-0.2.1.tgz","_integrity":"sha512-B+DXOJSpD2u8cK6WUPA0xlpuQvsO18qNxKbHXYSwGgjm3BuWL/sO/V2juRDcSMMIzGN4YeBUJlXQefJhIdgxnQ==","repository":{"url":"git+https://github.com/aselims/ai-me-chat.git","type":"git","directory":"packages/nextjs"},"_npmVersion":"11.6.2","description":"AI-Me Next.js integration — route handler factory, auto-discovery, and proxy","directories":{},"sideEffects":false,"_nodeVersion":"22.17.0","dependencies":{"picomatch":"^4.0.3","@ai-me-chat/core":"0.2.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.116","zod":"^4.3.6","next":"^16.1.6","tsup":"^8.5.1","react":"^19.2.4","vitest":"^4.1.0","react-dom":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.5.0","@types/react":"^19.0.0","@types/picomatch":"^4.0.2"},"peerDependencies":{"ai":"^6.0.0","next":"^16.0.0","react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nextjs_0.2.1_1774868612737_0.3586530891024049","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@ai-me-chat/nextjs","version":"0.3.0","keywords":["ai","copilot","nextjs","app-router","route-handler","ai-assistant","vercel-ai-sdk","openapi"],"license":"MIT","_id":"@ai-me-chat/nextjs@0.3.0","maintainers":[{"name":"aselims","email":"eleventures.ai@gmail.com"}],"homepage":"https://github.com/aselims/ai-me-chat#readme","bugs":{"url":"https://github.com/aselims/ai-me-chat/issues"},"dist":{"shasum":"72535c5b3648027690d10d0ba95844d2bbaa8d75","tarball":"https://registry.npmjs.org/@ai-me-chat/nextjs/-/nextjs-0.3.0.tgz","fileCount":9,"integrity":"sha512-bF5p3yxgx7ee9kB6yT/vML/HsEJGSwCGH/TaapBhk2gjd5/ckg20MTWILMa4iPTEmxJf3KvQxvpDZn93QyZDSA==","signatures":[{"sig":"MEUCIEX2gg729jAnASbh8sGQsq5VvZHPamQtczxx+eJj9bP/AiEApy8rIUb4GyPSgNnhY39cKLcFeVOhNMSi1EDPkSbHYf8=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71399},"main":"./dist/index.cjs","type":"module","_from":"file:ai-me-chat-nextjs-0.3.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src/","test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aselims","email":"eleventures.ai@gmail.com"},"_resolved":"/private/var/folders/n9/_1c4b1vx76g5j3nbkn9xmmkm0000gn/T/98d78cc7638c1a40635c3c4e4c6d8542/ai-me-chat-nextjs-0.3.0.tgz","_integrity":"sha512-bF5p3yxgx7ee9kB6yT/vML/HsEJGSwCGH/TaapBhk2gjd5/ckg20MTWILMa4iPTEmxJf3KvQxvpDZn93QyZDSA==","repository":{"url":"git+https://github.com/aselims/ai-me-chat.git","type":"git","directory":"packages/nextjs"},"_npmVersion":"11.6.0","description":"AI-Me Next.js integration — route handler factory, auto-discovery, and proxy","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"picomatch":"^4.0.3","@ai-me-chat/core":"0.3.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.116","zod":"^4.3.6","next":"^16.1.6","tsup":"^8.5.1","react":"^19.2.4","vitest":"^4.1.0","react-dom":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.5.0","@types/react":"^19.0.0","@types/picomatch":"^4.0.2"},"peerDependencies":{"ai":"^6.0.0","next":"^16.0.0","react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nextjs_0.3.0_1775398257271_0.45447349414240357","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@ai-me-chat/nextjs","version":"0.4.0","keywords":["ai","copilot","nextjs","app-router","route-handler","ai-assistant","vercel-ai-sdk","openapi"],"license":"MIT","_id":"@ai-me-chat/nextjs@0.4.0","maintainers":[{"name":"aselims","email":"eleventures.ai@gmail.com"}],"homepage":"https://github.com/aselims/ai-me-chat#readme","bugs":{"url":"https://github.com/aselims/ai-me-chat/issues"},"dist":{"shasum":"a9a1980c9fb326afd327480f9de40e7df868b2a9","tarball":"https://registry.npmjs.org/@ai-me-chat/nextjs/-/nextjs-0.4.0.tgz","fileCount":9,"integrity":"sha512-/rE14xIb4r0EAtNMwILlVL2Z44rUiXvbyGsGdiBCAwMTNFaAbRHPHNwtXXNnrrdUFLMfMEgeo9GQoB3hKbGywA==","signatures":[{"sig":"MEUCIQDSuH3B7ubcs4bQb1W+/zOQ5D6EtvYGomEkuPfu4hdTzQIgE+6ToVkVKVH32NHdOyxpqVGo8bR6S77HYxQ4epbhFdM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":71703},"main":"./dist/index.cjs","type":"module","_from":"file:ai-me-chat-nextjs-0.4.0.tgz","types":"./dist/index.d.ts","module":"./dist/index.js","engines":{"node":">=20"},"exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"scripts":{"dev":"tsup --watch","lint":"eslint src/","test":"vitest run","build":"tsup","clean":"rm -rf dist","typecheck":"tsc --noEmit"},"_npmUser":{"name":"aselims","email":"eleventures.ai@gmail.com"},"_resolved":"/private/var/folders/n9/_1c4b1vx76g5j3nbkn9xmmkm0000gn/T/33c2e655f3274dae41dd05ade987373c/ai-me-chat-nextjs-0.4.0.tgz","_integrity":"sha512-/rE14xIb4r0EAtNMwILlVL2Z44rUiXvbyGsGdiBCAwMTNFaAbRHPHNwtXXNnrrdUFLMfMEgeo9GQoB3hKbGywA==","repository":{"url":"git+https://github.com/aselims/ai-me-chat.git","type":"git","directory":"packages/nextjs"},"_npmVersion":"11.12.1","description":"AI-Me Next.js integration — route handler factory, auto-discovery, and proxy","directories":{},"sideEffects":false,"_nodeVersion":"24.10.0","dependencies":{"picomatch":"^4.0.3","@ai-me-chat/core":"0.4.0"},"_hasShrinkwrap":false,"devDependencies":{"ai":"^6.0.116","zod":"^4.3.6","next":"^16.1.6","tsup":"^8.5.1","react":"^19.2.4","vitest":"^4.1.0","react-dom":"^19.2.4","typescript":"^5.9.3","@types/node":"^25.5.0","@types/react":"^19.0.0","@types/picomatch":"^4.0.2"},"peerDependencies":{"ai":"^6.0.0","next":"^16.0.0","react":"^19.0.0"},"_npmOperationalInternal":{"tmp":"tmp/nextjs_0.4.0_1775738036477_0.48597813621204944","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@ai-me-chat/nextjs","version":"0.5.0","description":"AI-Me Next.js integration — route handler factory, auto-discovery, and proxy","license":"MIT","keywords":["ai","copilot","nextjs","app-router","route-handler","ai-assistant","vercel-ai-sdk","openapi"],"repository":{"type":"git","url":"git+https://github.com/aselims/ai-me-chat.git","directory":"packages/nextjs"},"engines":{"node":">=20"},"type":"module","main":"./dist/index.cjs","module":"./dist/index.js","types":"./dist/index.d.ts","exports":{".":{"types":"./dist/index.d.ts","import":"./dist/index.js","require":"./dist/index.cjs"}},"sideEffects":false,"peerDependencies":{"ai":"^6.0.0","next":"^16.0.0","react":"^19.0.0"},"dependencies":{"picomatch":"^4.0.3","@ai-me-chat/core":"0.5.0"},"devDependencies":{"@types/node":"^25.5.0","@types/picomatch":"^4.0.2","@types/react":"^19.0.0","ai":"^6.0.116","next":"^16.1.6","react":"^19.2.4","react-dom":"^19.2.4","tsup":"^8.5.1","typescript":"^5.9.3","vitest":"^4.1.0","zod":"^4.3.6"},"scripts":{"build":"tsup","dev":"tsup --watch","test":"vitest run","typecheck":"tsc --noEmit","lint":"eslint src/","clean":"rm -rf dist"},"_id":"@ai-me-chat/nextjs@0.5.0","bugs":{"url":"https://github.com/aselims/ai-me-chat/issues"},"homepage":"https://github.com/aselims/ai-me-chat#readme","_integrity":"sha512-Rde+Wi++3vXxw7ZtCtLJ5GacUWstLVGl7z07vxFg6Wl61c8SZN/6cFMETs607Rtjqf8O/pDY0x3YYNyBvGDhog==","_resolved":"/private/var/folders/n9/_1c4b1vx76g5j3nbkn9xmmkm0000gn/T/3925f2ab6e31e8e359e0b5e668a7dcd5/ai-me-chat-nextjs-0.5.0.tgz","_from":"file:ai-me-chat-nextjs-0.5.0.tgz","_nodeVersion":"24.10.0","_npmVersion":"11.12.1","dist":{"integrity":"sha512-Rde+Wi++3vXxw7ZtCtLJ5GacUWstLVGl7z07vxFg6Wl61c8SZN/6cFMETs607Rtjqf8O/pDY0x3YYNyBvGDhog==","shasum":"58dbbf1aff5c7e2c1d44063df57ab431451bc310","tarball":"https://registry.npmjs.org/@ai-me-chat/nextjs/-/nextjs-0.5.0.tgz","fileCount":9,"unpackedSize":72735,"signatures":[{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEQCIEfPeg+HAL6kF42zRxV5C9LNqmSiD9CMwstYz3IhPuwxAiByDzcVZgkiKrTgUH7LIsNWuQRgwmDY7p/wsYGY7n9JpQ=="}]},"_npmUser":{"name":"aselims","email":"eleventures.ai@gmail.com"},"directories":{},"maintainers":[{"name":"aselims","email":"eleventures.ai@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/nextjs_0.5.0_1776002365417_0.830977891122124"},"_hasShrinkwrap":false}},"time":{"created":"2026-03-26T17:04:56.015Z","modified":"2026-04-12T13:59:25.666Z","0.0.1":"2026-03-26T17:04:56.291Z","0.1.0":"2026-03-26T17:30:21.834Z","0.2.0":"2026-03-29T22:08:21.752Z","0.2.1":"2026-03-30T11:03:32.902Z","0.3.0":"2026-04-05T14:10:57.464Z","0.4.0":"2026-04-09T12:33:56.648Z","0.5.0":"2026-04-12T13:59:25.548Z"},"bugs":{"url":"https://github.com/aselims/ai-me-chat/issues"},"license":"MIT","homepage":"https://github.com/aselims/ai-me-chat#readme","keywords":["ai","copilot","nextjs","app-router","route-handler","ai-assistant","vercel-ai-sdk","openapi"],"repository":{"type":"git","url":"git+https://github.com/aselims/ai-me-chat.git","directory":"packages/nextjs"},"description":"AI-Me Next.js integration — route handler factory, auto-discovery, and proxy","maintainers":[{"name":"aselims","email":"eleventures.ai@gmail.com"}],"readme":"# @ai-me-chat/nextjs\n\nNext.js integration for AI-Me — route handler factory with auto-discovery, filtering, and auth forwarding.\n\n## Installation\n\n```bash\nnpm install @ai-me-chat/nextjs\n```\n\n## Quick Start\n\n**Important:** Use an optional catch-all route so sub-paths (`/tools`, `/health`) are handled:\n\n```\napp/api/ai-me/[[...path]]/route.ts    <-- correct\napp/api/ai-me/route.ts                <-- won't handle /tools or /health\n```\n\nCreate `app/api/ai-me/[[...path]]/route.ts`:\n\n```typescript\nimport { createAIMeHandler } from \"@ai-me-chat/nextjs\";\nimport { openai } from \"@ai-sdk/openai\";\n\nconst handler = createAIMeHandler({\n  model: openai(\"gpt-4o\"),\n\n  discovery: {\n    mode: \"filesystem\",\n    include: [\"/api/**\"],\n    exclude: [\"/api/ai-me/**\"],\n  },\n\n  getSession: async (req) => {\n    // your auth logic\n    return { user: { id: \"user-1\", role: \"admin\" } };\n  },\n\n  systemPrompt: \"You are a helpful AI assistant for this app.\",\n});\n\nexport { handler as GET, handler as POST };\n```\n\n## Features\n\n- **Filesystem discovery** — auto-scans `app/api/` routes at startup, with `src/app` auto-detection\n- **OpenAPI discovery** — generate tools from an OpenAPI 3.x spec (inline or remote URL)\n- **Route filtering** — include/exclude patterns with glob support\n- **Auth forwarding** — forwards cookies and authorization headers to your routes\n- **Write confirmation** — POST/PUT/PATCH/DELETE require user confirmation by default\n- **Dynamic system prompt** — inject user-specific context via a function\n\n## Endpoints\n\n| Path | Method | Purpose | Auth |\n|------|--------|---------|------|\n| `/api/ai-me` | POST | Chat endpoint | Required |\n| `/api/ai-me/tools` | GET | List discovered tools | Required |\n| `/api/ai-me/health` | GET | Health check | **No** |\n\nThe health endpoint does NOT require authentication — use it for liveness probes and monitoring.\n\n## App Directory Detection\n\nWhen using `mode: \"filesystem\"`, the handler automatically locates your Next.js app directory:\n\n1. `src/app` — checked first (default for `npx create-next-app`)\n2. `app` — fallback for projects without a `src/` layout\n\nYou can override this by setting `appDir` in the discovery config:\n\n```typescript\ndiscovery: {\n  mode: \"filesystem\",\n  appDir: \"src/app\",       // relative to project root, or absolute\n}\n```\n\n## OpenAPI Discovery Mode\n\nInstead of scanning the filesystem, provide an OpenAPI 3.x spec (inline or remote):\n\n```typescript\ncreateAIMeHandler({\n  discovery: {\n    mode: \"openapi\",\n    spec: {\n      openapi: \"3.0.3\",\n      info: { title: \"My API\", version: \"1.0.0\" },\n      paths: {\n        \"/api/users\": {\n          get: {\n            operationId: \"listUsers\",\n            summary: \"List all users\",\n            parameters: [\n              { name: \"q\", in: \"query\", schema: { type: \"string\" }, description: \"Search by name\" }\n            ],\n            responses: { \"200\": { description: \"User list\" } }\n          }\n        }\n      }\n    }\n  },\n  ...\n})\n```\n\nOr fetch from a remote URL:\n\n```typescript\ndiscovery: {\n  mode: \"openapi\",\n  specUrl: \"http://localhost:3000/api/openapi.json\"\n}\n```\n\n**When to use OpenAPI mode:**\n- Your app uses `src/app` and filesystem detection fails\n- You want custom tool names via `operationId`\n- You want rich parameter descriptions for better AI understanding\n- You want to expose only specific endpoints (include/exclude still work)\n\n## Dynamic System Prompt\n\nInject user-specific context by passing a function:\n\n```typescript\ncreateAIMeHandler({\n  systemPrompt: async (session) => {\n    const settings = await db.settings.findUnique({ where: { userId: session.user.id } });\n    return `You are an assistant for ${settings.companyName}. The user is ${session.user.name}.`;\n  },\n})\n```\n\n## Peer Dependencies\n\n| Package | Version |\n|---------|---------|\n| `ai` | ^6.0.0 |\n| `next` | ^16.0.0 |\n| `react` | ^19.0.0 |\n\n## Documentation\n\nFull setup guide and API reference: [github.com/aselims/ai-me-chat](https://github.com/aselims/ai-me-chat)\n\n## License\n\nMIT\n","readmeFilename":"README.md"}