@beignet/next 0.0.14 → 0.0.15

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,17 @@
1
1
  # @beignet/next
2
2
 
3
+ ## 0.0.15
4
+
5
+ ### Patch Changes
6
+
7
+ - 73a682a: Make the type-preserving curried route-group form the canonical Beignet route
8
+ API across generated apps, docs, READMEs, and examples. `beignet doctor` now
9
+ warns when feature route groups use the direct generic form, and the direct
10
+ overload is deprecated because TypeScript erases per-route contract output
11
+ checks there.
12
+ - 7d3c980: Add provider-neutral inbound webhook definitions, verifiers, HMAC verification, memory test verifier, and a generic Next.js webhook route adapter.
13
+ - @beignet/web@0.0.15
14
+
3
15
  ## 0.0.14
4
16
 
5
17
  ### 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,16 +170,40 @@ 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";
174
+ import { paymentWebhook } from "@/features/billing/webhooks";
175
+ import { env } from "@/lib/env";
175
176
  import { server } from "@/server";
177
+ import { createWebhookRoute } from "@beignet/next";
178
+ import { createStripeWebhookVerifier } from "@beignet/provider-webhooks-stripe";
176
179
 
177
180
  export const runtime = "nodejs";
178
181
 
179
- export const { POST } = createPaymentWebhookRoute({
182
+ const stripeWebhookVerifier = createStripeWebhookVerifier({
183
+ secret: () => env.STRIPE_WEBHOOK_SECRET,
184
+ });
185
+
186
+ export const { POST } = createWebhookRoute({
180
187
  server,
188
+ webhook: paymentWebhook,
189
+ allowUnknownEvents: false,
190
+ verify: ({ input }) => stripeWebhookVerifier.verify(input),
181
191
  handle: async ({ ctx, event }) => {
182
- await handlePaymentWebhookUseCase.run({ ctx, input: event });
192
+ await handlePaymentWebhookUseCase.run({
193
+ ctx,
194
+ input: {
195
+ id: event.id,
196
+ type: event.type,
197
+ provider: event.provider ?? "stripe",
198
+ createdAt: event.createdAt,
199
+ livemode:
200
+ typeof event.metadata?.livemode === "boolean"
201
+ ? event.metadata.livemode
202
+ : undefined,
203
+ data: event.payload,
204
+ raw: event.raw,
205
+ },
206
+ });
183
207
  return { status: 200, body: { received: true } };
184
208
  },
185
209
  });
@@ -188,20 +212,19 @@ export const { POST } = createPaymentWebhookRoute({
188
212
  ### Raw requests and non-JSON responses
189
213
 
190
214
  `@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.
215
+ `HttpRequestLike`. Use `createWebhookRoute(...)` for provider webhooks because
216
+ it reads the raw request body, passes normalized headers into your verifier, and
217
+ validates the typed event catalog before your app handles the event.
196
218
 
197
219
  ```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 } };
220
+ export const { POST } = createWebhookRoute({
221
+ server,
222
+ webhook: providerWebhook,
223
+ allowUnknownEvents: false,
224
+ handle: async ({ ctx, event }) => {
225
+ await handleProviderEventUseCase.run({ ctx, input: event.payload });
226
+ return { status: 200, body: { received: true } };
227
+ },
205
228
  });
206
229
  ```
207
230
 
@@ -284,9 +307,9 @@ the same `server.api` handler to every verb your API should accept.
284
307
 
285
308
  Returns a route builder for focused per-file handlers such as webhooks,
286
309
  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.
310
+ `defineRouteGroup<AppContext>()({ ... })` plus `defineRoutes(...)` for
311
+ ordinary application routes; `server.route(contract).handle(...)` route files
312
+ are not imported by the central `server.api` handler.
290
313
 
291
314
  **Returns:** Route builder with:
292
315
  - `handle(fn)`: Create a custom handler function
@@ -517,26 +540,50 @@ export const { POST } = createUploadRoute(uploadRouter);
517
540
 
518
541
  The `action` segment must be `prepare`, `upload`, or `complete`.
519
542
 
520
- ## Payment webhook routes
543
+ ## Webhook routes
521
544
 
522
- Use `createPaymentWebhookRoute` to expose verified provider webhooks without
545
+ Use `createWebhookRoute` to expose verified provider webhooks without
523
546
  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.
547
+ body as text, passes normalized request headers into the verifier, validates the
548
+ typed event catalog from `@beignet/core/webhooks`, and passes the event to your
549
+ fulfillment handler.
527
550
 
528
551
  ```typescript
529
552
  // app/api/webhooks/payments/route.ts
530
- import { createPaymentWebhookRoute } from "@beignet/next";
531
553
  import { handlePaymentWebhookUseCase } from "@/features/billing/use-cases";
554
+ import { paymentWebhook } from "@/features/billing/webhooks";
555
+ import { env } from "@/lib/env";
532
556
  import { server } from "@/server";
557
+ import { createWebhookRoute } from "@beignet/next";
558
+ import { createStripeWebhookVerifier } from "@beignet/provider-webhooks-stripe";
533
559
 
534
560
  export const runtime = "nodejs";
535
561
 
536
- export const { POST } = createPaymentWebhookRoute({
562
+ const stripeWebhookVerifier = createStripeWebhookVerifier({
563
+ secret: () => env.STRIPE_WEBHOOK_SECRET,
564
+ });
565
+
566
+ export const { POST } = createWebhookRoute({
537
567
  server,
568
+ webhook: paymentWebhook,
569
+ allowUnknownEvents: false,
570
+ verify: ({ input }) => stripeWebhookVerifier.verify(input),
538
571
  handle: async ({ ctx, event }) => {
539
- await handlePaymentWebhookUseCase.run({ ctx, input: event });
572
+ await handlePaymentWebhookUseCase.run({
573
+ ctx,
574
+ input: {
575
+ id: event.id,
576
+ type: event.type,
577
+ provider: event.provider ?? "stripe",
578
+ createdAt: event.createdAt,
579
+ livemode:
580
+ typeof event.metadata?.livemode === "boolean"
581
+ ? event.metadata.livemode
582
+ : undefined,
583
+ data: event.payload,
584
+ raw: event.raw,
585
+ },
586
+ });
540
587
  return {
541
588
  status: 200,
542
589
  body: { received: true },
@@ -545,10 +592,16 @@ export const { POST } = createPaymentWebhookRoute({
545
592
  });
546
593
  ```
547
594
 
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.
595
+ Verification failures return 400 so providers do not treat an invalid signature
596
+ as a fulfilled event. Handler failures return 500 so at-least-once webhook
597
+ providers can retry.
598
+
599
+ Use provider verifiers such as `createStripeWebhookVerifier(...)` from
600
+ `@beignet/provider-webhooks-stripe` in the route or server layer. Use the
601
+ context-aware `verify` option when verification depends on app ports.
602
+
603
+ `createPaymentWebhookRoute(...)` remains available for payment-only apps that
604
+ want a shortcut around `ctx.ports.payments.verifyWebhook(...)`.
552
605
 
553
606
  ## Outbox drain routes
554
607
 
@@ -844,11 +897,19 @@ used by the runtime.
844
897
 
845
898
  Creates a Next.js route handler that serves Swagger UI for an OpenAPI endpoint.
846
899
 
900
+ ### `createWebhookRoute(options): { POST }`
901
+
902
+ Creates a generic Next.js webhook route. The route reads the raw body, verifies
903
+ the event through a webhook definition or context-aware verifier, validates the
904
+ matching event payload schema, and delegates the event to your app-owned
905
+ handler.
906
+
847
907
  ### `createPaymentWebhookRoute(options): { POST }`
848
908
 
849
909
  Creates a Next.js payment webhook route. The route reads the raw body, verifies
850
910
  the provider signature through `ctx.ports.payments.verifyWebhook(...)`, and
851
- delegates the normalized event to your app-owned handler.
911
+ delegates the normalized event to your app-owned handler. Prefer
912
+ `createWebhookRoute(...)` for new non-payment webhook integrations.
852
913
 
853
914
  ### `toRequestLike(req: Request): HttpRequestLike`
854
915
 
@@ -924,7 +985,7 @@ import { defineRouteGroup } from "@beignet/next";
924
985
  import type { AppContext } from "@/app-context";
925
986
  import * as todosContracts from "@/features/todos/contracts";
926
987
 
927
- export const todoRoutes = defineRouteGroup<AppContext>({
988
+ export const todoRoutes = defineRouteGroup<AppContext>()({
928
989
  name: "todos",
929
990
  routes: [
930
991
  { 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,6 +478,17 @@ 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 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
  *
@@ -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,6 +428,115 @@ export function createOutboxDrainRoute(options) {
414
428
  POST: drainPendingOutbox,
415
429
  };
416
430
  }
431
+ /**
432
+ * Create a Next.js POST handler for 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
  *
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.15",
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.15",
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,6 +1130,151 @@ export function createOutboxDrainRoute<Ctx extends OutboxDrainContext>(
1018
1130
  };
1019
1131
  }
1020
1132
 
1133
+ /**
1134
+ * Create a Next.js POST handler for 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
  *