{"_id":"@bernierllc/onboarding-agent-nextjs","_rev":"4-8d319e4df6aeabbd6945fc51add9e1e6","name":"@bernierllc/onboarding-agent-nextjs","dist-tags":{"latest":"0.1.2"},"versions":{"0.0.1":{"name":"@bernierllc/onboarding-agent-nextjs","version":"0.0.1","keywords":["oidc","trusted-publishing","setup"],"_id":"@bernierllc/onboarding-agent-nextjs@0.0.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"dist":{"shasum":"d62f757919e2a37416db9bd6ba784d39ed8c95fc","tarball":"https://registry.npmjs.org/@bernierllc/onboarding-agent-nextjs/-/onboarding-agent-nextjs-0.0.1.tgz","fileCount":2,"integrity":"sha512-BeFC8nNXgzbOS7tr/44o71j+uCviJVrBjqkg8MwcYtWNgRfbFo+UEWGTI7rhNncyS10+QyJ5ZL0PeFNz3dt37w==","signatures":[{"sig":"MEUCIQDROITQBWTm1sxb5wSqW3hc9BvcDek98FGnH5BRTLXm2gIgXnvdm4dvF+QhxXRn7LUIOstkoDStjNu/NB3iMpiqtuY=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":2103},"_npmUser":{"name":"mkbernier","email":"mkbernier@gmail.com"},"_npmVersion":"11.12.1","description":"OIDC trusted publishing setup package for @bernierllc/onboarding-agent-nextjs","directories":{},"_nodeVersion":"25.9.0","_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/onboarding-agent-nextjs_0.0.1_1781978812368_0.7258234482864034","host":"s3://npm-registry-packages-npm-production"}},"0.1.0":{"name":"@bernierllc/onboarding-agent-nextjs","version":"0.1.0","keywords":["onboarding-agent","nextjs","app-router","streaming","sse","adapter","bernierllc"],"author":{"name":"Bernier LLC"},"license":"Bernier LLC","_id":"@bernierllc/onboarding-agent-nextjs@0.1.0","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"d31fb16784a08129a5a8531d587802e0c5490074","tarball":"https://registry.npmjs.org/@bernierllc/onboarding-agent-nextjs/-/onboarding-agent-nextjs-0.1.0.tgz","fileCount":14,"integrity":"sha512-Xqw+/EVAZSoIrde3L4WKCW5+Tv3cX6PnSwh8N8YT1HAfHQSviTHd3+M8pNVx9dQXkxSa2DaZoKtJWY34taDCHg==","signatures":[{"sig":"MEYCIQC4jUyxw+mWhQJQzAuAdzK9o1sUen3n5TueP0V0V/aQxAIhAPEQcUHTDnF+7Ti8kUtNwRot05WPiNpIOSkZiZt2zy5l","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36407},"main":"dist/index.js","_from":"file:bernierllc-onboarding-agent-nextjs-0.1.0.tgz","types":"dist/index.d.ts","browser":false,"engines":{"node":">=18.0.0"},"scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fdc2e4d6-5f57-438e-a792-1c7e02ea8494"}},"_resolved":"/home/runner/work/tools/tools/packages/service/onboarding-agent-nextjs/bernierllc-onboarding-agent-nextjs-0.1.0.tgz","_integrity":"sha512-Xqw+/EVAZSoIrde3L4WKCW5+Tv3cX6PnSwh8N8YT1HAfHQSviTHd3+M8pNVx9dQXkxSa2DaZoKtJWY34taDCHg==","bernierllc":{"runtime":"node","category":"service","integration":{"logger":"integrated","neverhub":"not-applicable","neveradmin":"not-applicable"}},"repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"11.17.0","description":"Next.js App Router adapter for OnboardingAgent: streaming SSE route handler, attachment extraction, and auth middleware.","directories":{},"_nodeVersion":"24.16.0","dependencies":{"@bernierllc/logger":"^1.7.0","@bernierllc/onboarding-agent-service":"0.1.0"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.4","next":"^15.0.0","rimraf":"^5.0.1","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.6.0"},"peerDependencies":{"next":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/onboarding-agent-nextjs_0.1.0_1781979993461_0.8587657577369869","host":"s3://npm-registry-packages-npm-production"}},"0.1.1":{"name":"@bernierllc/onboarding-agent-nextjs","version":"0.1.1","keywords":["onboarding-agent","nextjs","app-router","streaming","sse","adapter","bernierllc"],"author":{"name":"Bernier LLC"},"license":"Bernier LLC","_id":"@bernierllc/onboarding-agent-nextjs@0.1.1","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"homepage":"https://github.com/bernier-llc/tools#readme","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"e672d2364e8fbce3b55bff6651d86563e7aec7e9","tarball":"https://registry.npmjs.org/@bernierllc/onboarding-agent-nextjs/-/onboarding-agent-nextjs-0.1.1.tgz","fileCount":14,"integrity":"sha512-wqJkErKhf66c16neN/lzEHeHghHPknP3sSLqOlokylhO0mZNh5O3m9knVEpfwUAjoys5mHZc4D24RhTzRuSZqg==","signatures":[{"sig":"MEUCIAbfprp9SrM6/CgKnBLTjg4AjMfunk2abxrXqH56O8ugAiEA0sJjoIGAYRJAs4wrjKmCo5zjwTyxF8cLocx4UPsLmc0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":36407},"main":"dist/index.js","_from":"file:bernierllc-onboarding-agent-nextjs-0.1.1.tgz","types":"dist/index.d.ts","browser":false,"engines":{"node":">=18.0.0"},"scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:fdc2e4d6-5f57-438e-a792-1c7e02ea8494"}},"_resolved":"/home/runner/work/tools/tools/packages/service/onboarding-agent-nextjs/bernierllc-onboarding-agent-nextjs-0.1.1.tgz","_integrity":"sha512-wqJkErKhf66c16neN/lzEHeHghHPknP3sSLqOlokylhO0mZNh5O3m9knVEpfwUAjoys5mHZc4D24RhTzRuSZqg==","bernierllc":{"runtime":"node","category":"service","integration":{"logger":"integrated","neverhub":"not-applicable","neveradmin":"not-applicable"}},"repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"12.0.1","description":"Next.js App Router adapter for OnboardingAgent: streaming SSE route handler, attachment extraction, and auth middleware.","directories":{},"_nodeVersion":"24.18.0","dependencies":{"@bernierllc/logger":"^1.7.1","@bernierllc/onboarding-agent-service":"0.1.1"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.4","next":"^15.0.0","rimraf":"^5.0.1","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.6.0"},"peerDependencies":{"next":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"tmp":"tmp/onboarding-agent-nextjs_0.1.1_1784015954595_0.49382256763514687","host":"s3://npm-registry-packages-npm-production"}},"0.1.2":{"_id":"@bernierllc/onboarding-agent-nextjs@0.1.2","bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"dist":{"shasum":"38049469d7ec54eed9910bcc8c79da1d10dc4a02","tarball":"https://registry.npmjs.org/@bernierllc/onboarding-agent-nextjs/-/onboarding-agent-nextjs-0.1.2.tgz","fileCount":14,"integrity":"sha512-ZfCh9hah4/sfr2J2S2rwUkELQTJrjb637HmAkHxcHkdvMv8M1X91sco6++oD0vfBAmqqnDgXehj4H8j1xwGBOA==","signatures":[{"sig":"MEUCIQCuzwkE2Gm9WgJFs6qZiJiSwnUf/RHqVL4NA+Q0JiT6CgIgXW7PWQzT0AWa+YvPzgzO+L2UTFXd8szNVAmSILFDa+M=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEYCIQCcgJX316pHmFGpcgFDrj5yZLoqe52SYw8r1mw/qD138wIhAP/BX5uWp+RghjiRVDyj0rlw0DHKFz3kmEoAJ/e2OSc9"}],"unpackedSize":36408},"main":"dist/index.js","name":"@bernierllc/onboarding-agent-nextjs","_from":"file:bernierllc-onboarding-agent-nextjs-0.1.2.tgz","types":"dist/index.d.ts","author":{"name":"Bernier LLC"},"browser":false,"engines":{"node":">=18.0.0"},"license":"Bernier LLC","scripts":{"dev":"tsc --watch","lint":"eslint src/**/*.ts","test":"jest","build":"tsc","clean":"rimraf dist","prebuild":"npm run clean","test:run":"jest","test:watch":"jest --watch","test:coverage":"jest --coverage"},"version":"0.1.2","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"fdc2e4d6-5f57-438e-a792-1c7e02ea8494"}},"homepage":"https://github.com/bernier-llc/tools#readme","keywords":["onboarding-agent","nextjs","app-router","streaming","sse","adapter","bernierllc"],"_resolved":"/home/runner/work/tools/tools/packages/service/onboarding-agent-nextjs/bernierllc-onboarding-agent-nextjs-0.1.2.tgz","_integrity":"sha512-ZfCh9hah4/sfr2J2S2rwUkELQTJrjb637HmAkHxcHkdvMv8M1X91sco6++oD0vfBAmqqnDgXehj4H8j1xwGBOA==","bernierllc":{"runtime":"node","category":"service","integration":{"logger":"integrated","neverhub":"not-applicable","neveradmin":"not-applicable"}},"repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"_npmVersion":"12.2.0","description":"Next.js App Router adapter for OnboardingAgent: streaming SSE route handler, attachment extraction, and auth middleware.","directories":{},"maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"_nodeVersion":"24.21.0","dependencies":{"@bernierllc/logger":"^1.7.1","@bernierllc/onboarding-agent-service":"^0.1.2"},"publishConfig":{"access":"public","registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^29.6.4","next":"^15.0.0","rimraf":"^5.0.1","ts-jest":"^29.1.1","typescript":"^5.2.2","@types/jest":"^29.5.5","@types/node":"^20.6.0"},"peerDependencies":{"next":"^14.0.0 || ^15.0.0"},"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/onboarding-agent-nextjs_0.1.2_1790884474403_0.8490172899492985"}}},"time":{"created":"2026-06-20T18:06:52.157Z","modified":"2026-10-01T19:54:34.784Z","0.0.1":"2026-06-20T18:06:52.512Z","0.1.0":"2026-06-20T18:26:33.609Z","0.1.1":"2026-07-14T07:59:14.726Z","0.1.2":"2026-10-01T19:54:34.478Z"},"bugs":{"url":"https://github.com/bernier-llc/tools/issues"},"author":{"name":"Bernier LLC"},"license":"Bernier LLC","homepage":"https://github.com/bernier-llc/tools#readme","keywords":["onboarding-agent","nextjs","app-router","streaming","sse","adapter","bernierllc"],"repository":{"url":"git+https://github.com/bernier-llc/tools.git","type":"git"},"description":"Next.js App Router adapter for OnboardingAgent: streaming SSE route handler, attachment extraction, and auth middleware.","maintainers":[{"name":"alikhan410","email":"mczeyo@gmail.com"},{"name":"mkbernier","email":"mkbernier@gmail.com"}],"readme":"# @bernierllc/onboarding-agent-nextjs\n\nThin Next.js App Router adapter that wraps `OnboardingAgent` into streaming SSE route handlers compatible with the Vercel AI SDK v6 and `onboarding-chat-ui`.\n\n## Installation\n\n```bash\nnpm install @bernierllc/onboarding-agent-nextjs @bernierllc/onboarding-agent-service\n```\n\nPeer dependency: `next ^14.0.0 || ^15.0.0`.\n\n## Usage\n\n### Chat Handler (SSE streaming)\n\n```typescript\n// app/api/onboarding/chat/route.ts\nimport { createOnboardingRouteHandler } from '@bernierllc/onboarding-agent-nextjs';\nimport { agent } from '@/lib/onboarding-agent';\nimport { getServerSession } from 'next-auth';\nimport type { NextRequest } from 'next/server';\nimport { NextResponse } from 'next/server';\n\nexport const POST = createOnboardingRouteHandler(agent, {\n  auth: async (req: NextRequest) => {\n    const session = await getServerSession();\n    if (!session?.user) {\n      return new NextResponse(JSON.stringify({ error: 'Unauthorized' }), { status: 401 });\n    }\n    return { userId: session.user.id, sessionId: session.user.orgId };\n  },\n});\n```\n\n### Status Handler\n\n```typescript\n// app/api/onboarding/status/route.ts\nimport { createStatusRouteHandler } from '@bernierllc/onboarding-agent-nextjs';\nimport { agent } from '@/lib/onboarding-agent';\n\nexport const GET = createStatusRouteHandler(agent);\n```\n\n### Rating Handler\n\n```typescript\n// app/api/onboarding/rating/route.ts\nimport { createRatingRouteHandler } from '@bernierllc/onboarding-agent-nextjs';\nimport { agent } from '@/lib/onboarding-agent';\n\nexport const POST = createRatingRouteHandler(agent);\n```\n\n## API\n\n### `createOnboardingRouteHandler(agent, options?)`\n\nReturns a `POST` handler that streams `OnboardingAgent.chat()` output as SSE events.\n\n**Streaming format** (Vercel AI SDK v6 compatible):\n\n```\ndata: {\"type\":\"text-delta\",\"delta\":\"Hello\"}\n\ndata: {\"type\":\"done\"}\n\ndata: [DONE]\n\n```\n\n**Attachment extraction:** Accepts both JSON `{ attachments: [{ filename, dataUrl, mimeType }] }` and `multipart/form-data` with `files[]` fields (converted to base64 data URLs).\n\n### `createStatusRouteHandler(agent, options?)`\n\nReturns a `GET` handler that calls `agent.getSetupStatus(sessionId)` and returns JSON.\n\n### `createRatingRouteHandler(agent, options?)`\n\nReturns a `POST` handler that accepts `{ rating: 'up' | 'down' }` and calls `agent.recordRating(sessionId, rating)`.\n\n### `OnboardingRouteOptions`\n\n| Field | Type | Description |\n|---|---|---|\n| `auth?` | `(req: NextRequest) => Promise<{ userId, sessionId } \\| NextResponse>` | Optional auth middleware. Return `NextResponse` to block the request. |\n| `contentType?` | `string` | Override SSE content-type. Default: `text/event-stream`. |\n\n### HTTP Error Mapping\n\n| OnboardingAgentError code | HTTP status |\n|---|---|\n| `ONBOARDING_AGENT_INIT_ERROR` | 503 |\n| `ONBOARDING_HANDOFF_ERROR` | 500 |\n| `ONBOARDING_CONFIG_VALIDATION_ERROR` | 400 |\n| `ONBOARDING_PLUGIN_ERROR` | 400 |\n| Any other `OnboardingAgentError` | 500 |\n| Non-OnboardingAgentError | 500 |\n\nError response body: `{ error: string, code?: string }`.\n\n## Node.js Only\n\nThis package requires a Node.js server runtime. It is not browser-safe.\n\n## License\n\nCopyright (c) 2025 Bernier LLC. All rights reserved.\n","readmeFilename":"README.md"}