@beignet/next 0.0.14 → 0.0.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @beignet/next
2
2
 
3
+ ## 0.0.16
4
+
5
+ ### Patch Changes
6
+
7
+ - 712fb3f: Clarify the canonical route story for payment webhooks versus generic inbound webhooks and document verifier package setup semantics.
8
+ - @beignet/web@0.0.16
9
+
10
+ ## 0.0.15
11
+
12
+ ### Patch Changes
13
+
14
+ - 73a682a: Make the type-preserving curried route-group form the canonical Beignet route
15
+ API across generated apps, docs, READMEs, and examples. `beignet doctor` now
16
+ warns when feature route groups use the direct generic form, and the direct
17
+ overload is deprecated because TypeScript erases per-route contract output
18
+ checks there.
19
+ - 7d3c980: Add provider-neutral inbound webhook definitions, verifiers, HMAC verification, memory test verifier, and a generic Next.js webhook route adapter.
20
+ - @beignet/web@0.0.15
21
+
3
22
  ## 0.0.14
4
23
 
5
24
  ### Patch Changes
package/README.md CHANGED
@@ -76,7 +76,7 @@ import { defineRouteGroup } from "@beignet/next";
76
76
  import type { AppContext } from "@/app-context";
77
77
  import { getTodo } from "@/features/todos/contracts";
78
78
 
79
- export const todoRoutes = defineRouteGroup<AppContext>({
79
+ export const todoRoutes = defineRouteGroup<AppContext>()({
80
80
  name: "todos",
81
81
  routes: [
82
82
  {
@@ -170,9 +170,9 @@ as webhooks, redirects, downloads, or adapter-specific glue:
170
170
 
171
171
  ```typescript
172
172
  // app/api/webhooks/payments/route.ts
173
- import { createPaymentWebhookRoute } from "@beignet/next";
174
173
  import { handlePaymentWebhookUseCase } from "@/features/billing/use-cases";
175
174
  import { server } from "@/server";
175
+ import { createPaymentWebhookRoute } from "@beignet/next";
176
176
 
177
177
  export const runtime = "nodejs";
178
178
 
@@ -188,20 +188,18 @@ export const { POST } = createPaymentWebhookRoute({
188
188
  ### Raw requests and non-JSON responses
189
189
 
190
190
  `@beignet/next` exposes the underlying web `Request` through
191
- `HttpRequestLike`. Use `createPaymentWebhookRoute(...)` for payment provider
192
- webhooks because it reads the raw request body, extracts the signature header,
193
- and verifies through `ctx.ports.payments` before your app handles the event.
194
- For other raw-body integrations, per-file handlers can still read `req.text()`
195
- directly while keeping the normal JSON contract flow for the rest of the app.
191
+ `HttpRequestLike`. Use `createWebhookRoute(...)` for provider webhooks because
192
+ it reads the raw request body, passes normalized headers into your verifier, and
193
+ validates the typed event catalog before your app handles the event.
196
194
 
197
195
  ```typescript
198
- export const POST = server.route(providerWebhook).handle(async ({ req }) => {
199
- const rawBody = await req.text();
200
- const signature = req.headers.get("x-provider-signature");
201
-
202
- verifyProviderWebhook(rawBody, signature);
203
-
204
- return { status: 200, body: { received: true } };
196
+ export const { POST } = createWebhookRoute({
197
+ server,
198
+ webhook: providerWebhook,
199
+ handle: async ({ ctx, event }) => {
200
+ await handleProviderEventUseCase.run({ ctx, input: event.payload });
201
+ return { status: 200, body: { received: true } };
202
+ },
205
203
  });
206
204
  ```
207
205
 
@@ -284,9 +282,9 @@ the same `server.api` handler to every verb your API should accept.
284
282
 
285
283
  Returns a route builder for focused per-file handlers such as webhooks,
286
284
  redirects, downloads, or other adapter-owned endpoints. Use
287
- `defineRouteGroup(...)` plus `defineRoutes(...)` for ordinary application
288
- routes; `server.route(contract).handle(...)` route files are not imported by
289
- the central `server.api` handler.
285
+ `defineRouteGroup<AppContext>()({ ... })` plus `defineRoutes(...)` for
286
+ ordinary application routes; `server.route(contract).handle(...)` route files
287
+ are not imported by the central `server.api` handler.
290
288
 
291
289
  **Returns:** Route builder with:
292
290
  - `handle(fn)`: Create a custom handler function
@@ -517,26 +515,34 @@ export const { POST } = createUploadRoute(uploadRouter);
517
515
 
518
516
  The `action` segment must be `prepare`, `upload`, or `complete`.
519
517
 
520
- ## Payment webhook routes
518
+ ## Webhook routes
521
519
 
522
- Use `createPaymentWebhookRoute` to expose verified provider webhooks without
523
- hand-writing raw-body parsing in every app. The helper reads the raw request
524
- body as text, extracts the provider signature header, calls
525
- `ctx.ports.payments.verifyWebhook(...)`, and passes the normalized event to
526
- your fulfillment handler.
520
+ Use `createPaymentWebhookRoute(...)` for billing flows backed by
521
+ `ctx.ports.payments`. Use `createWebhookRoute(...)` for generic inbound
522
+ webhooks backed by a `defineWebhook(...)` catalog and a provider verifier. Both
523
+ helpers preserve the raw request body before app code runs.
527
524
 
528
525
  ```typescript
529
- // app/api/webhooks/payments/route.ts
530
- import { createPaymentWebhookRoute } from "@beignet/next";
531
- import { handlePaymentWebhookUseCase } from "@/features/billing/use-cases";
526
+ // app/api/webhooks/github/route.ts
527
+ import { githubWebhook } from "@/features/integrations/webhooks";
528
+ import { handleGitHubWebhookUseCase } from "@/features/integrations/use-cases";
529
+ import { env } from "@/lib/env";
532
530
  import { server } from "@/server";
531
+ import { createWebhookRoute } from "@beignet/next";
532
+ import { createGitHubWebhookVerifier } from "@beignet/provider-webhooks-github";
533
533
 
534
534
  export const runtime = "nodejs";
535
535
 
536
- export const { POST } = createPaymentWebhookRoute({
536
+ const githubWebhookVerifier = createGitHubWebhookVerifier({
537
+ secret: () => env.GITHUB_WEBHOOK_SECRET,
538
+ });
539
+
540
+ export const { POST } = createWebhookRoute({
537
541
  server,
542
+ webhook: githubWebhook,
543
+ verify: ({ input }) => githubWebhookVerifier.verify(input),
538
544
  handle: async ({ ctx, event }) => {
539
- await handlePaymentWebhookUseCase.run({ ctx, input: event });
545
+ await handleGitHubWebhookUseCase.run({ ctx, input: event });
540
546
  return {
541
547
  status: 200,
542
548
  body: { received: true },
@@ -545,10 +551,20 @@ export const { POST } = createPaymentWebhookRoute({
545
551
  });
546
552
  ```
547
553
 
548
- The default signature header is `stripe-signature`; pass `signatureHeader` for
549
- other providers. Verification failures return 400 so providers do not treat an
550
- invalid signature as a fulfilled event. Handler failures return 500 so
551
- at-least-once webhook providers can retry.
554
+ Verification failures return 400 so providers do not treat an invalid signature
555
+ as a fulfilled event. Handler failures return 500 so at-least-once webhook
556
+ providers can retry.
557
+
558
+ Use provider verifiers such as `createGitHubWebhookVerifier(...)` from
559
+ `@beignet/provider-webhooks-github` or `createStripeWebhookVerifier(...)` from
560
+ `@beignet/provider-webhooks-stripe` in the route or server layer. Use the
561
+ context-aware `verify` option when verification depends on app ports. Generic
562
+ webhook routes acknowledge verified unknown event types by default; set
563
+ `allowUnknownEvents: false` only when unregistered event types should fail the
564
+ request with a 400.
565
+
566
+ `createPaymentWebhookRoute(...)` is the canonical shortcut for payment-port
567
+ billing flows and the route generated by `beignet make payments`.
552
568
 
553
569
  ## Outbox drain routes
554
570
 
@@ -844,11 +860,19 @@ used by the runtime.
844
860
 
845
861
  Creates a Next.js route handler that serves Swagger UI for an OpenAPI endpoint.
846
862
 
863
+ ### `createWebhookRoute(options): { POST }`
864
+
865
+ Creates a generic Next.js webhook route. The route reads the raw body, verifies
866
+ the event through a webhook definition or context-aware verifier, validates the
867
+ matching event payload schema, and delegates the event to your app-owned
868
+ handler.
869
+
847
870
  ### `createPaymentWebhookRoute(options): { POST }`
848
871
 
849
872
  Creates a Next.js payment webhook route. The route reads the raw body, verifies
850
873
  the provider signature through `ctx.ports.payments.verifyWebhook(...)`, and
851
- delegates the normalized event to your app-owned handler.
874
+ delegates the normalized event to your app-owned handler. Prefer
875
+ `createWebhookRoute(...)` for new non-payment webhook integrations.
852
876
 
853
877
  ### `toRequestLike(req: Request): HttpRequestLike`
854
878
 
@@ -924,7 +948,7 @@ import { defineRouteGroup } from "@beignet/next";
924
948
  import type { AppContext } from "@/app-context";
925
949
  import * as todosContracts from "@/features/todos/contracts";
926
950
 
927
- export const todoRoutes = defineRouteGroup<AppContext>({
951
+ export const todoRoutes = defineRouteGroup<AppContext>()({
928
952
  name: "todos",
929
953
  routes: [
930
954
  { contract: todosContracts.listTodos, handle: async () => ({ status: 200, body: [] }) },
package/dist/index.d.ts CHANGED
@@ -6,6 +6,7 @@ import type { InferProviderPorts, ServiceProvider } from "@beignet/core/provider
6
6
  import { type ScheduleDef, type ScheduleInstrumentation, type StandardSchema } from "@beignet/core/schedules";
7
7
  import type { ContractLike, CreateServerOptions, Handler, ResolveContract, RouteDef, ServerInstance, StandardSchemaV1 } from "@beignet/core/server";
8
8
  import type { UploadRouter } from "@beignet/core/uploads";
9
+ import { type InferWebhookEvent, type VerifyWebhookInput, type WebhookDef, type WebhookEvent, type WebhookEventSchemas } from "@beignet/core/webhooks";
9
10
  import { toWebResponse } from "@beignet/web";
10
11
  /**
11
12
  * Server types re-exported for Next.js apps.
@@ -250,6 +251,68 @@ export type PaymentWebhookRouteHandlerArgs<Ctx extends PaymentWebhookRouteContex
250
251
  signature: string;
251
252
  event: PaymentWebhookEvent;
252
253
  };
254
+ type WebhookRouteLogger = {
255
+ error(message: string, metadata?: Record<string, unknown>): void;
256
+ };
257
+ type WebhookRouteContext = {
258
+ requestId?: string;
259
+ traceId?: string;
260
+ ports: {
261
+ logger?: WebhookRouteLogger;
262
+ };
263
+ };
264
+ export type WebhookRouteHandlerResult = Response | {
265
+ status?: number;
266
+ headers?: HeadersInit;
267
+ body?: unknown;
268
+ } | undefined;
269
+ export type WebhookRouteVerifyArgs<Ctx extends WebhookRouteContext> = {
270
+ req: Request;
271
+ ctx: Ctx;
272
+ rawBody: string;
273
+ headers: Record<string, string>;
274
+ input: VerifyWebhookInput;
275
+ };
276
+ export type WebhookRouteHandlerArgs<Ctx extends WebhookRouteContext, Webhook extends WebhookDef<string, WebhookEventSchemas>, AllowUnknownEvents extends boolean> = {
277
+ req: Request;
278
+ ctx: Ctx;
279
+ rawBody: string;
280
+ event: AllowUnknownEvents extends false ? InferWebhookEvent<Webhook> : InferWebhookEvent<Webhook> | WebhookEvent;
281
+ };
282
+ /**
283
+ * Options for creating a generic inbound webhook route.
284
+ */
285
+ export type CreateWebhookRouteOptions<Ctx extends WebhookRouteContext, Webhook extends WebhookDef<string, WebhookEventSchemas>, AllowUnknownEvents extends boolean = true> = {
286
+ /**
287
+ * Beignet Next server that owns app context and ports.
288
+ */
289
+ server: Pick<NextServer<Ctx, Ctx["ports"]>, "createContextFromNext">;
290
+ /**
291
+ * Inbound webhook definition.
292
+ */
293
+ webhook: Webhook;
294
+ /**
295
+ * Optional context-aware verifier. Use this when verification depends on app
296
+ * ports, such as `ctx.ports.payments.verifyWebhook(...)`.
297
+ */
298
+ verify?: (args: WebhookRouteVerifyArgs<Ctx>) => Promise<WebhookEvent> | WebhookEvent;
299
+ /**
300
+ * Whether unknown event types should pass through without payload parsing.
301
+ *
302
+ * @default true
303
+ */
304
+ allowUnknownEvents?: AllowUnknownEvents;
305
+ /**
306
+ * App-owned fulfillment handler. The webhook is verified before this runs.
307
+ *
308
+ * Omit to acknowledge verified events with `{ ok: true }`.
309
+ */
310
+ handle?: (args: WebhookRouteHandlerArgs<Ctx, Webhook, AllowUnknownEvents>) => Promise<WebhookRouteHandlerResult> | WebhookRouteHandlerResult;
311
+ /**
312
+ * Additional response headers.
313
+ */
314
+ headers?: HeadersInit | ((req: Request) => HeadersInit | undefined);
315
+ };
253
316
  /**
254
317
  * Options for creating a serverless-safe schedule trigger route.
255
318
  */
@@ -415,13 +478,25 @@ export declare function createOutboxDrainRoute<Ctx extends OutboxDrainContext>(o
415
478
  GET: (req: Request) => Promise<Response>;
416
479
  POST: (req: Request) => Promise<Response>;
417
480
  };
481
+ /**
482
+ * Create a Next.js POST handler for generic verified inbound webhooks.
483
+ *
484
+ * The route reads the raw request body as text, normalizes request headers,
485
+ * verifies the event through the webhook definition or a context-aware
486
+ * verifier, validates the matching event payload schema, and delegates
487
+ * fulfillment to app code.
488
+ */
489
+ export declare function createWebhookRoute<Ctx extends WebhookRouteContext, Webhook extends WebhookDef<string, WebhookEventSchemas>, AllowUnknownEvents extends boolean = true>(options: CreateWebhookRouteOptions<Ctx, Webhook, AllowUnknownEvents>): {
490
+ POST: (req: Request) => Promise<Response>;
491
+ };
418
492
  /**
419
493
  * Create a Next.js POST handler for provider-verified payment webhooks.
420
494
  *
421
495
  * The route reads the raw request body as text, extracts the provider
422
496
  * signature header, verifies the event through `ctx.ports.payments`, and then
423
- * delegates fulfillment to app code. Keep this route on the Node.js runtime
424
- * when your provider SDK requires Node APIs.
497
+ * delegates fulfillment to app code. This is the canonical helper for Beignet
498
+ * billing flows backed by `PaymentsPort`. Keep this route on the Node.js
499
+ * runtime when your provider SDK requires Node APIs.
425
500
  */
426
501
  export declare function createPaymentWebhookRoute<Ctx extends PaymentWebhookRouteContext>(options: CreatePaymentWebhookRouteOptions<Ctx>): {
427
502
  POST: (req: Request) => Promise<Response>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ import { drainOutbox, } from "@beignet/core/outbox";
3
3
  import { resolveProviderInstrumentationPort } from "@beignet/core/providers";
4
4
  import { createInlineScheduleRunner, } from "@beignet/core/schedules";
5
5
  import { createServer } from "@beignet/core/server";
6
+ import { verifyWebhook, } from "@beignet/core/webhooks";
6
7
  import { createFetchHandler, toWebResponse } from "@beignet/web";
7
8
  /**
8
9
  * Server helpers re-exported for Next.js apps.
@@ -300,6 +301,12 @@ function paymentWebhookJson(body, status, headers) {
300
301
  headers,
301
302
  });
302
303
  }
304
+ function webhookRouteJson(body, status, headers) {
305
+ return Response.json(body, {
306
+ status,
307
+ headers,
308
+ });
309
+ }
303
310
  function toHttpResponseHeaders(headers) {
304
311
  if (!headers)
305
312
  return undefined;
@@ -309,6 +316,13 @@ function toHttpResponseHeaders(headers) {
309
316
  });
310
317
  return result;
311
318
  }
319
+ function headersToRecord(headers) {
320
+ const result = {};
321
+ headers.forEach((value, key) => {
322
+ result[key.toLowerCase()] = value;
323
+ });
324
+ return result;
325
+ }
312
326
  /**
313
327
  * Compare two strings without leaking length or prefix timing.
314
328
  *
@@ -414,13 +428,123 @@ export function createOutboxDrainRoute(options) {
414
428
  POST: drainPendingOutbox,
415
429
  };
416
430
  }
431
+ /**
432
+ * Create a Next.js POST handler for generic verified inbound webhooks.
433
+ *
434
+ * The route reads the raw request body as text, normalizes request headers,
435
+ * verifies the event through the webhook definition or a context-aware
436
+ * verifier, validates the matching event payload schema, and delegates
437
+ * fulfillment to app code.
438
+ */
439
+ export function createWebhookRoute(options) {
440
+ return {
441
+ POST: async (req) => {
442
+ const headers = resolveHeaders(options.headers, req);
443
+ const requestHeaders = headersToRecord(req.headers);
444
+ let ctx;
445
+ try {
446
+ ctx = await options.server.createContextFromNext();
447
+ }
448
+ catch {
449
+ return webhookRouteJson({
450
+ ok: false,
451
+ error: "Webhook context failed.",
452
+ }, 500, headers);
453
+ }
454
+ let rawBody;
455
+ let event;
456
+ try {
457
+ rawBody = await req.text();
458
+ const input = {
459
+ rawBody,
460
+ headers: requestHeaders,
461
+ receivedAt: new Date(),
462
+ };
463
+ const routeVerifier = options.verify;
464
+ const verifier = routeVerifier
465
+ ? {
466
+ async verify() {
467
+ return routeVerifier({
468
+ req,
469
+ ctx,
470
+ rawBody,
471
+ headers: requestHeaders,
472
+ input,
473
+ });
474
+ },
475
+ }
476
+ : undefined;
477
+ event = (await verifyWebhook(options.webhook, input, {
478
+ verifier,
479
+ allowUnknownEvents: options.allowUnknownEvents,
480
+ }));
481
+ }
482
+ catch (error) {
483
+ ctx.ports.logger?.error("Webhook verification failed", {
484
+ error,
485
+ webhookName: options.webhook.name,
486
+ provider: options.webhook.provider,
487
+ requestId: ctx.requestId,
488
+ traceId: ctx.traceId,
489
+ });
490
+ return webhookRouteJson({
491
+ ok: false,
492
+ error: "Webhook verification failed.",
493
+ }, 400, headers);
494
+ }
495
+ try {
496
+ const result = await options.handle?.({
497
+ req,
498
+ ctx,
499
+ rawBody,
500
+ event,
501
+ });
502
+ if (result instanceof Response)
503
+ return result;
504
+ if (result) {
505
+ return toWebResponse({
506
+ status: result.status ?? 200,
507
+ headers: toHttpResponseHeaders(result.headers ?? headers),
508
+ body: result.body,
509
+ });
510
+ }
511
+ return toWebResponse({
512
+ status: 200,
513
+ headers: toHttpResponseHeaders(headers),
514
+ body: {
515
+ ok: true,
516
+ webhookName: options.webhook.name,
517
+ eventId: event.id,
518
+ eventType: event.type,
519
+ },
520
+ });
521
+ }
522
+ catch (error) {
523
+ ctx.ports.logger?.error("Webhook handler failed", {
524
+ error,
525
+ webhookName: options.webhook.name,
526
+ provider: options.webhook.provider,
527
+ requestId: ctx.requestId,
528
+ traceId: ctx.traceId,
529
+ eventId: event.id,
530
+ eventType: event.type,
531
+ });
532
+ return webhookRouteJson({
533
+ ok: false,
534
+ error: "Webhook handler failed.",
535
+ }, 500, headers);
536
+ }
537
+ },
538
+ };
539
+ }
417
540
  /**
418
541
  * Create a Next.js POST handler for provider-verified payment webhooks.
419
542
  *
420
543
  * The route reads the raw request body as text, extracts the provider
421
544
  * signature header, verifies the event through `ctx.ports.payments`, and then
422
- * delegates fulfillment to app code. Keep this route on the Node.js runtime
423
- * when your provider SDK requires Node APIs.
545
+ * delegates fulfillment to app code. This is the canonical helper for Beignet
546
+ * billing flows backed by `PaymentsPort`. Keep this route on the Node.js
547
+ * runtime when your provider SDK requires Node APIs.
424
548
  */
425
549
  export function createPaymentWebhookRoute(options) {
426
550
  const signatureHeader = options.signatureHeader ?? "stripe-signature";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@beignet/next",
3
- "version": "0.0.14",
3
+ "version": "0.0.16",
4
4
  "type": "module",
5
5
  "description": "Next.js server-side handlers for Beignet",
6
6
  "main": "./dist/index.js",
@@ -57,7 +57,7 @@
57
57
  "next": "^14.0.0 || ^15.0.0 || ^16.0.0"
58
58
  },
59
59
  "dependencies": {
60
- "@beignet/web": "^0.0.14",
60
+ "@beignet/web": "^0.0.16",
61
61
  "@standard-schema/spec": "^1.0.0"
62
62
  },
63
63
  "devDependencies": {
package/src/index.ts CHANGED
@@ -30,6 +30,14 @@ import type {
30
30
  } from "@beignet/core/server";
31
31
  import { createServer } from "@beignet/core/server";
32
32
  import type { UploadRouter } from "@beignet/core/uploads";
33
+ import {
34
+ type InferWebhookEvent,
35
+ type VerifyWebhookInput,
36
+ verifyWebhook,
37
+ type WebhookDef,
38
+ type WebhookEvent,
39
+ type WebhookEventSchemas,
40
+ } from "@beignet/core/webhooks";
33
41
  import { createFetchHandler, toWebResponse } from "@beignet/web";
34
42
 
35
43
  /**
@@ -333,6 +341,91 @@ export type PaymentWebhookRouteHandlerArgs<
333
341
  event: PaymentWebhookEvent;
334
342
  };
335
343
 
344
+ type WebhookRouteLogger = {
345
+ error(message: string, metadata?: Record<string, unknown>): void;
346
+ };
347
+
348
+ type WebhookRouteContext = {
349
+ requestId?: string;
350
+ traceId?: string;
351
+ ports: {
352
+ logger?: WebhookRouteLogger;
353
+ };
354
+ };
355
+
356
+ export type WebhookRouteHandlerResult =
357
+ | Response
358
+ | {
359
+ status?: number;
360
+ headers?: HeadersInit;
361
+ body?: unknown;
362
+ }
363
+ | undefined;
364
+
365
+ export type WebhookRouteVerifyArgs<Ctx extends WebhookRouteContext> = {
366
+ req: Request;
367
+ ctx: Ctx;
368
+ rawBody: string;
369
+ headers: Record<string, string>;
370
+ input: VerifyWebhookInput;
371
+ };
372
+
373
+ export type WebhookRouteHandlerArgs<
374
+ Ctx extends WebhookRouteContext,
375
+ Webhook extends WebhookDef<string, WebhookEventSchemas>,
376
+ AllowUnknownEvents extends boolean,
377
+ > = {
378
+ req: Request;
379
+ ctx: Ctx;
380
+ rawBody: string;
381
+ event: AllowUnknownEvents extends false
382
+ ? InferWebhookEvent<Webhook>
383
+ : InferWebhookEvent<Webhook> | WebhookEvent;
384
+ };
385
+
386
+ /**
387
+ * Options for creating a generic inbound webhook route.
388
+ */
389
+ export type CreateWebhookRouteOptions<
390
+ Ctx extends WebhookRouteContext,
391
+ Webhook extends WebhookDef<string, WebhookEventSchemas>,
392
+ AllowUnknownEvents extends boolean = true,
393
+ > = {
394
+ /**
395
+ * Beignet Next server that owns app context and ports.
396
+ */
397
+ server: Pick<NextServer<Ctx, Ctx["ports"]>, "createContextFromNext">;
398
+ /**
399
+ * Inbound webhook definition.
400
+ */
401
+ webhook: Webhook;
402
+ /**
403
+ * Optional context-aware verifier. Use this when verification depends on app
404
+ * ports, such as `ctx.ports.payments.verifyWebhook(...)`.
405
+ */
406
+ verify?: (
407
+ args: WebhookRouteVerifyArgs<Ctx>,
408
+ ) => Promise<WebhookEvent> | WebhookEvent;
409
+ /**
410
+ * Whether unknown event types should pass through without payload parsing.
411
+ *
412
+ * @default true
413
+ */
414
+ allowUnknownEvents?: AllowUnknownEvents;
415
+ /**
416
+ * App-owned fulfillment handler. The webhook is verified before this runs.
417
+ *
418
+ * Omit to acknowledge verified events with `{ ok: true }`.
419
+ */
420
+ handle?: (
421
+ args: WebhookRouteHandlerArgs<Ctx, Webhook, AllowUnknownEvents>,
422
+ ) => Promise<WebhookRouteHandlerResult> | WebhookRouteHandlerResult;
423
+ /**
424
+ * Additional response headers.
425
+ */
426
+ headers?: HeadersInit | ((req: Request) => HeadersInit | undefined);
427
+ };
428
+
336
429
  /**
337
430
  * Options for creating a serverless-safe schedule trigger route.
338
431
  */
@@ -864,6 +957,17 @@ function paymentWebhookJson(
864
957
  });
865
958
  }
866
959
 
960
+ function webhookRouteJson(
961
+ body: unknown,
962
+ status: number,
963
+ headers: HeadersInit | undefined,
964
+ ): Response {
965
+ return Response.json(body, {
966
+ status,
967
+ headers,
968
+ });
969
+ }
970
+
867
971
  function toHttpResponseHeaders(
868
972
  headers: HeadersInit | undefined,
869
973
  ): Record<string, string> | undefined {
@@ -876,6 +980,14 @@ function toHttpResponseHeaders(
876
980
  return result;
877
981
  }
878
982
 
983
+ function headersToRecord(headers: Headers): Record<string, string> {
984
+ const result: Record<string, string> = {};
985
+ headers.forEach((value, key) => {
986
+ result[key.toLowerCase()] = value;
987
+ });
988
+ return result;
989
+ }
990
+
879
991
  /**
880
992
  * Compare two strings without leaking length or prefix timing.
881
993
  *
@@ -1018,13 +1130,159 @@ export function createOutboxDrainRoute<Ctx extends OutboxDrainContext>(
1018
1130
  };
1019
1131
  }
1020
1132
 
1133
+ /**
1134
+ * Create a Next.js POST handler for generic verified inbound webhooks.
1135
+ *
1136
+ * The route reads the raw request body as text, normalizes request headers,
1137
+ * verifies the event through the webhook definition or a context-aware
1138
+ * verifier, validates the matching event payload schema, and delegates
1139
+ * fulfillment to app code.
1140
+ */
1141
+ export function createWebhookRoute<
1142
+ Ctx extends WebhookRouteContext,
1143
+ Webhook extends WebhookDef<string, WebhookEventSchemas>,
1144
+ AllowUnknownEvents extends boolean = true,
1145
+ >(
1146
+ options: CreateWebhookRouteOptions<Ctx, Webhook, AllowUnknownEvents>,
1147
+ ): {
1148
+ POST: (req: Request) => Promise<Response>;
1149
+ } {
1150
+ return {
1151
+ POST: async (req) => {
1152
+ const headers = resolveHeaders(options.headers, req);
1153
+ const requestHeaders = headersToRecord(req.headers);
1154
+
1155
+ let ctx: Ctx;
1156
+
1157
+ try {
1158
+ ctx = await options.server.createContextFromNext();
1159
+ } catch {
1160
+ return webhookRouteJson(
1161
+ {
1162
+ ok: false,
1163
+ error: "Webhook context failed.",
1164
+ },
1165
+ 500,
1166
+ headers,
1167
+ );
1168
+ }
1169
+
1170
+ let rawBody: string;
1171
+ let event: WebhookRouteHandlerArgs<
1172
+ Ctx,
1173
+ Webhook,
1174
+ AllowUnknownEvents
1175
+ >["event"];
1176
+
1177
+ try {
1178
+ rawBody = await req.text();
1179
+ const input: VerifyWebhookInput = {
1180
+ rawBody,
1181
+ headers: requestHeaders,
1182
+ receivedAt: new Date(),
1183
+ };
1184
+ const routeVerifier = options.verify;
1185
+ const verifier = routeVerifier
1186
+ ? {
1187
+ async verify() {
1188
+ return routeVerifier({
1189
+ req,
1190
+ ctx,
1191
+ rawBody,
1192
+ headers: requestHeaders,
1193
+ input,
1194
+ });
1195
+ },
1196
+ }
1197
+ : undefined;
1198
+
1199
+ event = (await verifyWebhook(options.webhook, input, {
1200
+ verifier,
1201
+ allowUnknownEvents: options.allowUnknownEvents,
1202
+ })) as WebhookRouteHandlerArgs<
1203
+ Ctx,
1204
+ Webhook,
1205
+ AllowUnknownEvents
1206
+ >["event"];
1207
+ } catch (error) {
1208
+ ctx.ports.logger?.error("Webhook verification failed", {
1209
+ error,
1210
+ webhookName: options.webhook.name,
1211
+ provider: options.webhook.provider,
1212
+ requestId: ctx.requestId,
1213
+ traceId: ctx.traceId,
1214
+ });
1215
+
1216
+ return webhookRouteJson(
1217
+ {
1218
+ ok: false,
1219
+ error: "Webhook verification failed.",
1220
+ },
1221
+ 400,
1222
+ headers,
1223
+ );
1224
+ }
1225
+
1226
+ try {
1227
+ const result = await options.handle?.({
1228
+ req,
1229
+ ctx,
1230
+ rawBody,
1231
+ event,
1232
+ });
1233
+
1234
+ if (result instanceof Response) return result;
1235
+
1236
+ if (result) {
1237
+ return toWebResponse({
1238
+ status: result.status ?? 200,
1239
+ headers: toHttpResponseHeaders(result.headers ?? headers),
1240
+ body: result.body,
1241
+ });
1242
+ }
1243
+
1244
+ return toWebResponse({
1245
+ status: 200,
1246
+ headers: toHttpResponseHeaders(headers),
1247
+ body: {
1248
+ ok: true,
1249
+ webhookName: options.webhook.name,
1250
+ eventId: event.id,
1251
+ eventType: event.type,
1252
+ },
1253
+ });
1254
+ } catch (error) {
1255
+ ctx.ports.logger?.error("Webhook handler failed", {
1256
+ error,
1257
+ webhookName: options.webhook.name,
1258
+ provider: options.webhook.provider,
1259
+ requestId: ctx.requestId,
1260
+ traceId: ctx.traceId,
1261
+ eventId: event.id,
1262
+ eventType: event.type,
1263
+ });
1264
+
1265
+ return webhookRouteJson(
1266
+ {
1267
+ ok: false,
1268
+ error: "Webhook handler failed.",
1269
+ },
1270
+ 500,
1271
+ headers,
1272
+ );
1273
+ }
1274
+ },
1275
+ };
1276
+ }
1277
+
1021
1278
  /**
1022
1279
  * Create a Next.js POST handler for provider-verified payment webhooks.
1023
1280
  *
1024
1281
  * The route reads the raw request body as text, extracts the provider
1025
1282
  * signature header, verifies the event through `ctx.ports.payments`, and then
1026
- * delegates fulfillment to app code. Keep this route on the Node.js runtime
1027
- * when your provider SDK requires Node APIs.
1283
+ * delegates fulfillment to app code. This is the canonical helper for Beignet
1284
+ * billing flows backed by `PaymentsPort`. Keep this route on the Node.js
1285
+ * runtime when your provider SDK requires Node APIs.
1028
1286
  */
1029
1287
  export function createPaymentWebhookRoute<
1030
1288
  Ctx extends PaymentWebhookRouteContext,