@beignet/next 0.0.49 → 0.0.51

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,34 @@
1
1
  # @beignet/next
2
2
 
3
+ ## 0.0.51
4
+
5
+ ### Patch Changes
6
+
7
+ - ea3d734: Renew active outbox claims, reconcile exhausted deliveries, and surface uncertain lease or settlement outcomes across runtime and operational tools. Custom outbox adapters must implement `renewClaim(...)`, return `{ claimed, deadLettered }` from `claimBatch(...)`, and reject renewal or settlement after the active claim expires.
8
+ - @beignet/web@0.0.51
9
+
10
+ ## 0.0.50
11
+
12
+ ### Patch Changes
13
+
14
+ - cede255: Keep JSON body nulls distinct in React Query keys, expose scoped service work
15
+ through Fetch servers, preserve streamed responses, and reject non-object form
16
+ body inputs at compile time.
17
+ - ee402a9: Map invalid adapter URLs to framework responses, cancel oversized request
18
+ streams, distinguish typed idempotency inputs, preserve repeated response
19
+ headers, and match Unicode static routes against encoded URL pathnames.
20
+ - d1db53e: Add a portable Server-Sent Events response helper with JSON framing,
21
+ heartbeats, bounded unread buffering, optional maximum lifetime,
22
+ cancellation-aware asynchronous setup, eventual late cleanup, and safe
23
+ response headers, expose native request cancellation through
24
+ `HttpRequestLike.signal`, and use recoverable bounded snapshots for the
25
+ Devtools live stream with visible partial-data reporting.
26
+ - 7b0961b: Add a non-durable best-effort work port, a recording test adapter, and a Next.js `after()` adapter that isolates scheduler and callback failures.
27
+ - Updated dependencies [cede255]
28
+ - Updated dependencies [ee402a9]
29
+ - Updated dependencies [d1db53e]
30
+ - @beignet/web@0.0.50
31
+
3
32
  ## 0.0.49
4
33
 
5
34
  ### Patch Changes
package/README.md CHANGED
@@ -218,10 +218,11 @@ export const { POST } = createPaymentWebhookRoute({
218
218
 
219
219
  ### Raw requests and non-JSON responses
220
220
 
221
- `@beignet/next` exposes the underlying web `Request` through
222
- `HttpRequestLike`. Use `createWebhookRoute(...)` for provider webhooks because
223
- it reads the raw request body, passes normalized headers into your verifier, and
224
- validates the typed event catalog before your app handles the event.
221
+ `@beignet/next` passes handlers an `HttpRequestLike` with the underlying web
222
+ `Request` at `req.raw` and its abort signal at `req.signal`. Use
223
+ `createWebhookRoute(...)` for provider webhooks because it reads the raw
224
+ request body, passes normalized headers into your verifier, and validates the
225
+ typed event catalog before your app handles the event.
225
226
 
226
227
  ```typescript
227
228
  export const { POST } = createWebhookRoute({
@@ -263,6 +264,21 @@ export async function POST(req: Request) {
263
264
  Native `Response` instances intentionally bypass JSON serialization and
264
265
  response schema validation. Use `{ status, body }` when you want Beignet to
265
266
  validate a JSON response; use `Response` when you want full transport control.
267
+ Because the Next adapter uses `@beignet/web` response conversion, an explicit
268
+ `ReadableStream` in a plain Beignet response remains a stream for every media
269
+ type, including `application/json` and structured `+json` types.
270
+
271
+ For Server-Sent Events, return
272
+ `createServerSentEventResponse(...)` from `@beignet/core/server`. Pass
273
+ `req.signal` so host-propagated disconnects clean up subscriptions; the helper
274
+ also owns SSE framing, JSON encoding, heartbeat comments, optional maximum
275
+ lifetime, a 1 MiB unread-data limit, cleanup, and anti-buffering headers.
276
+ The `start(...)` callback receives a stream-scoped signal for cancellable
277
+ asynchronous subscription setup. Expected `AbortError` rejections caused by
278
+ stream closure are treated as cancellation rather than failures.
279
+ Authentication, authorization, replay, connection limits, and client
280
+ reconciliation remain application concerns.
281
+
266
282
  Response-shaping hooks such as `beforeSend` only run for plain Beignet
267
283
  responses; observation hooks such as `afterSend` still receive the final status
268
284
  and headers.
@@ -484,7 +500,7 @@ When using `.handle()`, your handler function receives an object with:
484
500
 
485
501
  ```typescript
486
502
  {
487
- req: HttpRequestLike, // Raw request object
503
+ req: HttpRequestLike, // Framework-neutral request; native Request at req.raw
488
504
  ctx: Ctx, // Your custom context from the context blueprint
489
505
  path: PathParams, // Validated path parameters
490
506
  query: QueryParams, // Validated query parameters
@@ -771,7 +787,6 @@ export const { GET, POST } = createOutboxDrainRoute({
771
787
  server: getServer,
772
788
  registry: outboxRegistry,
773
789
  secret: env.CRON_SECRET,
774
- batchSize: 100,
775
790
  });
776
791
  ```
777
792
 
@@ -781,6 +796,20 @@ Declare those ports in `AppPorts` and bind them directly or defer them to a
781
796
  startup provider. Missing delivery capabilities fail before the drain claims
782
797
  messages, so a wiring error does not consume attempts.
783
798
 
799
+ The route uses the core drain's safe defaults: a batch of 100, serial delivery,
800
+ a renewable 30-second lease, and a 5-minute maximum active duration. Set
801
+ `concurrency` above one only when handlers can run without ordering guarantees.
802
+ `leaseMs`, `heartbeatMs`, and `maxActiveMs` are available for app-owned tuning;
803
+ keep the heartbeat shorter than the lease and synchronize worker clocks.
804
+ Reaching `maxActiveMs` stops further renewals; the last confirmed lease can
805
+ remain active until its own expiration.
806
+
807
+ Successful drains return `{ ok: true, result }`. If claim ownership is lost or
808
+ a delivery result cannot be settled durably, the route returns HTTP 500 with
809
+ `{ ok: false, error, result }`. Inspect `result.leaseLost` and
810
+ `result.settlementFailed`; the message may be delivered again after lease
811
+ expiry.
812
+
784
813
  Export both `GET` and `POST` when you want the route to work with schedulers
785
814
  that call either method. Export only the method your scheduler uses when you
786
815
  want a narrower route surface.
@@ -799,6 +828,44 @@ initialize request-scoped dependencies.
799
828
  Do not start long-running outbox polling loops from provider lifecycle hooks in
800
829
  serverless apps.
801
830
 
831
+ On Next.js 15.1 or newer, adapt `after()` to Beignet's non-durable
832
+ `BestEffortWorkPort` in `server/providers.ts`:
833
+
834
+ ```typescript
835
+ import { createProvider } from "@beignet/core/providers";
836
+ import { createNextBestEffortWorkPort } from "@beignet/next";
837
+ import { after } from "next/server";
838
+ import type { AppPorts } from "@/ports";
839
+
840
+ export const bestEffortWorkProvider = createProvider<
841
+ Pick<AppPorts, "logger">
842
+ >()({
843
+ name: "next-best-effort-work",
844
+ setup({ ports }) {
845
+ return {
846
+ ports: {
847
+ bestEffortWork: createNextBestEffortWorkPort({
848
+ defer: after,
849
+ onError: (error) =>
850
+ ports.logger.warn("Best-effort work failed", { error }),
851
+ }),
852
+ },
853
+ };
854
+ },
855
+ });
856
+ ```
857
+
858
+ Declare `bestEffortWork: BestEffortWorkPort` in the app's `AppPorts`, defer that
859
+ key in `infra/port-wiring.ts`, and register this provider after the logger
860
+ provider. The adapter isolates synchronous and asynchronous scheduler errors,
861
+ callback errors, and error-observer failures so they cannot change the
862
+ originating response. This also means delivery is best effort: use it for
863
+ dispensable work such as cache-invalidation hints, and use jobs or an outbox
864
+ when delivery or retries are required. This binding is request-bound. Calling
865
+ it from a worker, CLI command, or another context unsupported by Next's
866
+ `after()` reports a scheduling failure through `onError` and does not run the
867
+ callback.
868
+
802
869
  On Next.js 15.1 or newer, combine the recovery route with push-assisted
803
870
  polling. `createNextOutboxDrainTrigger(...)` accepts `after` as an injected
804
871
  deferred-work scheduler, resolves service context and a lazy registry inside
@@ -825,7 +892,6 @@ const outboxDrainProvider = createProvider<
825
892
  defer: after,
826
893
  createContext: () => createServiceContext(undefined),
827
894
  registry: async () => (await import("./outbox")).outboxRegistry,
828
- batchSize: 100,
829
895
  });
830
896
 
831
897
  return {
@@ -854,9 +920,9 @@ cron-only route. Repeated triggers coalesce while a drain is scheduled or
854
920
  running, including triggers from transactions started by outbox handlers.
855
921
 
856
922
  When `ctx.ports.errorReporter` is available, the route reports successfully
857
- dead-lettered messages, failed failure-settlement writes, and drain-level
858
- infrastructure failures. Scheduled retries remain in outbox instrumentation and
859
- do not create incident reports. Reporter failures do not change the drain
923
+ dead-lettered messages, lease failures, settlement failures, and drain-level
924
+ infrastructure failures. Scheduled retries remain in outbox instrumentation
925
+ and do not create incident reports. Reporter failures do not change the drain
860
926
  result.
861
927
 
862
928
  ## Schedule trigger routes
@@ -1199,6 +1265,15 @@ export const GET = server
1199
1265
 
1200
1266
  Creates a `@beignet/core/client` instance with Next.js-friendly base URL defaults.
1201
1267
 
1268
+ ### `createNextBestEffortWorkPort(options): BestEffortWorkPort`
1269
+
1270
+ Adapts Next.js 15.1 or newer's `after()` to Beignet's non-durable
1271
+ `BestEffortWorkPort`. Pass `onError` to observe scheduler or callback failures;
1272
+ the adapter isolates those failures and observer failures from the originating
1273
+ operation. Use jobs or an outbox for required or retryable delivery. The
1274
+ adapter is request-bound; calls outside a Next.js context supported by
1275
+ `after()` are passed to `onError` when configured.
1276
+
1202
1277
  ### `resolveNextBaseUrl(config?): string`
1203
1278
 
1204
1279
  Resolves the base URL used by `createNextClient`.
@@ -1253,7 +1328,9 @@ Operational helper error codes include `UPLOAD_NOT_FOUND`,
1253
1328
 
1254
1329
  Web Fetch conversion helpers such as `toRequestLike(...)` and
1255
1330
  `toWebResponse(...)` belong to `@beignet/web`. The Next adapter uses them
1256
- internally but does not re-export them.
1331
+ internally but does not re-export them. Framework-neutral response headers may
1332
+ use string arrays for repeated fields such as `Set-Cookie`; the adapter emits
1333
+ each item separately.
1257
1334
 
1258
1335
  ## Examples
1259
1336
 
package/dist/index.d.ts CHANGED
@@ -2,10 +2,11 @@ import type { ClientConfig } from "@beignet/core/client";
2
2
  import { type ErrorReporterPort } from "@beignet/core/error-reporting";
3
3
  import { type DrainOutboxOptions, type OutboxRegistry } from "@beignet/core/outbox";
4
4
  import type { PaymentsPort, PaymentWebhookEvent } from "@beignet/core/payments";
5
- import type { AnyPorts, StorageObject, StoragePort } from "@beignet/core/ports";
5
+ import type { AnyPorts, BestEffortWorkPort, StorageObject, StoragePort } from "@beignet/core/ports";
6
6
  import type { InferProviderPorts, ProviderInstrumentationPort, ServiceProvider } from "@beignet/core/providers";
7
7
  import { type ScheduleDef, type StandardSchema } from "@beignet/core/schedules";
8
8
  import type { AppEnvironment, ContractLike, CreateServerOptions, Handler, HealthConfig, HttpContractConfig, HttpRequestLike, RawRouteInit, ResolveContract, RouteDef, ServerInstance, StandardSchemaV1 } from "@beignet/core/server";
9
+ import type { TracingPort } from "@beignet/core/tracing";
9
10
  import type { UploadRouter } from "@beignet/core/uploads";
10
11
  import { type InferWebhookEvent, type VerifyWebhookInput, type WebhookDef, type WebhookEvent, type WebhookEventSchemas } from "@beignet/core/webhooks";
11
12
  type AnyProvider = ServiceProvider<unknown, StandardSchemaV1<any, any>, AnyPorts, any, any>;
@@ -174,6 +175,7 @@ type OutboxDrainPorts = {
174
175
  logger?: OutboxDrainLogger;
175
176
  devtools?: OutboxDrainInstrumentation;
176
177
  instrumentation?: OutboxDrainInstrumentation;
178
+ tracing?: TracingPort;
177
179
  errorReporter?: ErrorReporterPort;
178
180
  };
179
181
  type OutboxDrainContext = {
@@ -182,10 +184,22 @@ type OutboxDrainContext = {
182
184
  ports: OutboxDrainPorts;
183
185
  };
184
186
  /**
185
- * Scheduler compatible with Next.js `after(...)` and equivalent request-bound
186
- * deferred-work primitives.
187
+ * Scheduler compatible with Next.js 15.1+ `after(...)` and equivalent
188
+ * request-bound deferred-work primitives.
187
189
  */
188
190
  export type NextDeferredWorkScheduler = (work: () => MaybePromise<void>) => MaybePromise<void>;
191
+ /**
192
+ * Options for adapting Next.js 15.1+ `after(...)` to `BestEffortWorkPort`.
193
+ */
194
+ export type CreateNextBestEffortWorkPortOptions = {
195
+ /** Schedule work after the response, usually with `next/server`'s `after`. */
196
+ defer: NextDeferredWorkScheduler;
197
+ /**
198
+ * Best-effort observer for scheduler or deferred callback failures.
199
+ * Observer failures are isolated too.
200
+ */
201
+ onError?: (error: unknown) => MaybePromise<void>;
202
+ };
189
203
  /**
190
204
  * Options for scheduling a bounded outbox drain after a successful request
191
205
  * transaction.
@@ -197,10 +211,16 @@ export type CreateNextOutboxDrainTriggerOptions<Ctx extends OutboxDrainContext>
197
211
  createContext: () => MaybePromise<Ctx>;
198
212
  /** Static registry or lazy loader used to avoid server/provider cycles. */
199
213
  registry: OutboxRegistry | (() => MaybePromise<OutboxRegistry>);
200
- /** Maximum messages to claim in the deferred drain pass. */
214
+ /** Maximum eligible messages to handle in the deferred drain pass. */
201
215
  batchSize?: number;
216
+ /** Maximum messages delivered concurrently. Values above one are unordered. */
217
+ concurrency?: number;
202
218
  /** Claim lease duration in milliseconds. */
203
219
  leaseMs?: number;
220
+ /** Serialized claim-renewal interval. Must remain shorter than `leaseMs`. */
221
+ heartbeatMs?: number;
222
+ /** Maximum time Beignet renews a claim for one delivery. */
223
+ maxActiveMs?: number;
204
224
  /** Retry delay override passed through to `drainOutbox(...)`. */
205
225
  retryDelayMs?: DrainOutboxOptions["retryDelayMs"];
206
226
  /**
@@ -249,13 +269,19 @@ export type CreateOutboxDrainRouteOptions<Ctx extends OutboxDrainContext> = {
249
269
  */
250
270
  secret?: string;
251
271
  /**
252
- * Maximum messages to claim in one drain pass.
272
+ * Maximum eligible messages to handle in one drain pass.
253
273
  */
254
274
  batchSize?: number;
275
+ /** Maximum messages delivered concurrently. Values above one are unordered. */
276
+ concurrency?: number;
255
277
  /**
256
278
  * Claim lease duration in milliseconds.
257
279
  */
258
280
  leaseMs?: number;
281
+ /** Serialized claim-renewal interval. Must remain shorter than `leaseMs`. */
282
+ heartbeatMs?: number;
283
+ /** Maximum time Beignet renews a claim for one delivery. */
284
+ maxActiveMs?: number;
259
285
  /**
260
286
  * Retry delay override passed through to `drainOutbox(...)`.
261
287
  */
@@ -625,6 +651,17 @@ export declare function createStorageRoute(storage: ServerSource<StoragePort>, o
625
651
  export declare function createUploadRoute(router: ServerSource<UploadRouter>, options?: CreateUploadRouteOptions): {
626
652
  POST: (req: Request, ctx?: UploadRouteContext) => Promise<Response>;
627
653
  };
654
+ /**
655
+ * Adapt Next.js 15.1+ `after(...)` to Beignet's non-durable best-effort-work
656
+ * port.
657
+ *
658
+ * Scheduling failures and deferred callback failures are isolated from the
659
+ * originating operation. Use jobs or an outbox when work must be retried or
660
+ * survive process termination. This adapter is request-bound: scheduling
661
+ * outside a Next.js context supported by `after(...)` is passed to `onError`
662
+ * when configured.
663
+ */
664
+ export declare function createNextBestEffortWorkPort(options: CreateNextBestEffortWorkPortOptions): BestEffortWorkPort;
628
665
  /**
629
666
  * Create a best-effort trigger for one bounded outbox drain.
630
667
  *
@@ -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
@@ -97,13 +97,14 @@ export function createHealthRoute(loadServer, healthConfig, environment = "produ
97
97
  GET: async (req) => {
98
98
  const server = await loadServer();
99
99
  const handler = createHealthHandler(server.ports, healthConfig, environment);
100
- const response = await handler(req);
100
+ const response = toWebResponse(await handler(req));
101
101
  const headers = new Headers(response.headers);
102
102
  if (!headers.has("cache-control")) {
103
103
  headers.set("cache-control", "no-store");
104
104
  }
105
- return Response.json(response.body, {
105
+ return new Response(response.body, {
106
106
  status: response.status,
107
+ statusText: response.statusText,
107
108
  headers,
108
109
  });
109
110
  },
@@ -538,9 +539,15 @@ async function runOutboxDrainWithContext(ctx, registry, options, mechanism) {
538
539
  eventBus: ctx.ports.eventBus,
539
540
  jobs: ctx.ports.jobs,
540
541
  batchSize: options.batchSize,
542
+ concurrency: options.concurrency,
541
543
  leaseMs: options.leaseMs,
544
+ heartbeatMs: options.heartbeatMs,
545
+ maxActiveMs: options.maxActiveMs,
542
546
  retryDelayMs: options.retryDelayMs,
543
- instrumentation: resolveProviderInstrumentationPort(ctx.ports),
547
+ instrumentation: {
548
+ instrumentation: resolveProviderInstrumentationPort(ctx.ports),
549
+ tracing: ctx.ports.tracing,
550
+ },
544
551
  instrumentationContext: {
545
552
  requestId: ctx.requestId,
546
553
  traceId: ctx.traceId,
@@ -583,10 +590,47 @@ async function runOutboxDrainWithContext(ctx, registry, options, mechanism) {
583
590
  },
584
591
  });
585
592
  },
586
- async onSettlementError(settlementError, message) {
593
+ async onLeaseError(failure) {
594
+ const outcome = failure.state === "lost"
595
+ ? "leaseLost"
596
+ : failure.state === "recovered"
597
+ ? "leaseRecovered"
598
+ : "leaseDegraded";
599
+ await tryReportException({
600
+ reporter: ctx.ports.errorReporter,
601
+ error: failure.error,
602
+ reportOptions: {
603
+ level: failure.state === "lost" ? "error" : "warning",
604
+ mechanism,
605
+ handled: failure.state !== "lost",
606
+ requestId: ctx.requestId,
607
+ traceId: ctx.traceId,
608
+ tags: {
609
+ "beignet.kind": "outbox",
610
+ "beignet.outbox.kind": failure.message.kind,
611
+ "beignet.outbox.name": failure.message.name,
612
+ "beignet.outbox.outcome": outcome,
613
+ },
614
+ contexts: {
615
+ outbox: {
616
+ messageId: failure.message.id,
617
+ kind: failure.message.kind,
618
+ name: failure.message.name,
619
+ attempts: failure.message.attempts,
620
+ maxAttempts: failure.message.maxAttempts,
621
+ operation: failure.operation,
622
+ state: failure.state,
623
+ confirmedLost: failure.confirmedLost,
624
+ outcome,
625
+ },
626
+ },
627
+ },
628
+ });
629
+ },
630
+ async onSettlementError(failure) {
587
631
  await tryReportException({
588
632
  reporter: ctx.ports.errorReporter,
589
- error: settlementError,
633
+ error: failure.error,
590
634
  reportOptions: {
591
635
  level: "error",
592
636
  mechanism,
@@ -595,17 +639,19 @@ async function runOutboxDrainWithContext(ctx, registry, options, mechanism) {
595
639
  traceId: ctx.traceId,
596
640
  tags: {
597
641
  "beignet.kind": "outbox",
598
- "beignet.outbox.kind": message.kind,
599
- "beignet.outbox.name": message.name,
642
+ "beignet.outbox.kind": failure.message.kind,
643
+ "beignet.outbox.name": failure.message.name,
600
644
  "beignet.outbox.outcome": "settlementFailed",
601
645
  },
602
646
  contexts: {
603
647
  outbox: {
604
- messageId: message.id,
605
- kind: message.kind,
606
- name: message.name,
607
- attempts: message.attempts,
608
- maxAttempts: message.maxAttempts,
648
+ messageId: failure.message.id,
649
+ kind: failure.message.kind,
650
+ name: failure.message.name,
651
+ attempts: failure.message.attempts,
652
+ maxAttempts: failure.message.maxAttempts,
653
+ operation: failure.operation,
654
+ deliverySucceeded: failure.deliverySucceeded,
609
655
  outcome: "settlementFailed",
610
656
  },
611
657
  },
@@ -619,7 +665,7 @@ async function runOutboxDrainWithContext(ctx, registry, options, mechanism) {
619
665
  watcher: "outbox",
620
666
  name: "outbox.drain",
621
667
  label: "Outbox drain",
622
- summary: `${result.delivered} delivered, ${result.retried} retried, ${result.deadLettered} dead-lettered`,
668
+ summary: `${result.delivered} delivered, ${result.retried} retried, ${result.deadLettered} dead-lettered, ${result.settlementFailed} settlement-uncertain, ${result.leaseLost} lease-lost`,
623
669
  requestId: ctx.requestId,
624
670
  traceId: ctx.traceId,
625
671
  details: result,
@@ -632,17 +678,54 @@ async function runOutboxDrainWithContext(ctx, registry, options, mechanism) {
632
678
  }
633
679
  return result;
634
680
  }
681
+ function hasUncertainOutboxResult(result) {
682
+ return result.settlementFailed > 0 || result.leaseLost > 0;
683
+ }
684
+ function uncertainOutboxError(result) {
685
+ return new Error(`Outbox drain completed with ${result.settlementFailed} settlement failure(s) and ${result.leaseLost} lost lease(s).`);
686
+ }
635
687
  async function resolveOutboxRegistry(source) {
636
688
  return typeof source === "function" ? source() : source;
637
689
  }
638
- async function notifyDeferredOutboxError(observer, error) {
690
+ async function notifyDeferredWorkError(observer, error) {
639
691
  try {
640
692
  await observer?.(error);
641
693
  }
642
694
  catch {
643
- // The recovery drain remains authoritative when trigger reporting fails.
695
+ // Best-effort work must not fail because its error observer failed.
644
696
  }
645
697
  }
698
+ /**
699
+ * Adapt Next.js 15.1+ `after(...)` to Beignet's non-durable best-effort-work
700
+ * port.
701
+ *
702
+ * Scheduling failures and deferred callback failures are isolated from the
703
+ * originating operation. Use jobs or an outbox when work must be retried or
704
+ * survive process termination. This adapter is request-bound: scheduling
705
+ * outside a Next.js context supported by `after(...)` is passed to `onError`
706
+ * when configured.
707
+ */
708
+ export function createNextBestEffortWorkPort(options) {
709
+ return {
710
+ defer(work) {
711
+ const run = async () => {
712
+ try {
713
+ await work();
714
+ }
715
+ catch (error) {
716
+ await notifyDeferredWorkError(options.onError, error);
717
+ }
718
+ };
719
+ try {
720
+ const scheduled = options.defer(run);
721
+ void Promise.resolve(scheduled).catch((error) => notifyDeferredWorkError(options.onError, error));
722
+ }
723
+ catch (error) {
724
+ void notifyDeferredWorkError(options.onError, error);
725
+ }
726
+ },
727
+ };
728
+ }
646
729
  /**
647
730
  * Create a best-effort trigger for one bounded outbox drain.
648
731
  *
@@ -672,7 +755,11 @@ export function createNextOutboxDrainTrigger(options) {
672
755
  try {
673
756
  ctx = await options.createContext();
674
757
  const registry = await resolveOutboxRegistry(options.registry);
675
- await runOutboxDrainWithContext(ctx, registry, options, "beignet.outbox.next.after");
758
+ const result = await runOutboxDrainWithContext(ctx, registry, options, "beignet.outbox.next.after");
759
+ if (hasUncertainOutboxResult(result)) {
760
+ const error = uncertainOutboxError(result);
761
+ await notifyDeferredWorkError(options.onError, error);
762
+ }
676
763
  }
677
764
  catch (error) {
678
765
  if (ctx) {
@@ -683,7 +770,7 @@ export function createNextOutboxDrainTrigger(options) {
683
770
  // Recovery polling remains authoritative when reporting fails.
684
771
  }
685
772
  }
686
- await notifyDeferredOutboxError(options.onError, error);
773
+ await notifyDeferredWorkError(options.onError, error);
687
774
  }
688
775
  finally {
689
776
  releaseTrigger();
@@ -692,13 +779,13 @@ export function createNextOutboxDrainTrigger(options) {
692
779
  void Promise.resolve(scheduled).catch(async (error) => {
693
780
  if (!callbackStarted)
694
781
  releaseTrigger();
695
- await notifyDeferredOutboxError(options.onError, error);
782
+ await notifyDeferredWorkError(options.onError, error);
696
783
  });
697
784
  }
698
785
  catch (error) {
699
786
  if (!callbackStarted)
700
787
  releaseTrigger();
701
- void notifyDeferredOutboxError(options.onError, error);
788
+ void notifyDeferredWorkError(options.onError, error);
702
789
  }
703
790
  };
704
791
  }
@@ -715,6 +802,16 @@ export function createOutboxDrainRoute(options) {
715
802
  const headers = resolveHeaders(options.headers, nativeReq);
716
803
  try {
717
804
  const result = await runOutboxDrainWithContext(ctx, options.registry, options, "beignet.outbox.next");
805
+ if (hasUncertainOutboxResult(result)) {
806
+ return routeJson({
807
+ ok: false,
808
+ error: {
809
+ code: "OUTBOX_DRAIN_UNCERTAIN",
810
+ message: "Outbox drain completed with unconfirmed delivery state.",
811
+ },
812
+ result,
813
+ }, 500, headers);
814
+ }
718
815
  return routeJson({
719
816
  ok: true,
720
817
  result,
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.49",
3
+ "version": "0.0.51",
4
4
  "type": "module",
5
5
  "description": "Next.js server-side handlers for Beignet",
6
6
  "main": "./dist/index.js",
@@ -61,7 +61,7 @@
61
61
  "next": "^14.0.0 || ^15.0.0 || ^16.0.0"
62
62
  },
63
63
  "dependencies": {
64
- "@beignet/web": "^0.0.49",
64
+ "@beignet/web": "^0.0.51",
65
65
  "@standard-schema/spec": "^1.0.0"
66
66
  },
67
67
  "devDependencies": {
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: routes-server
3
- description: "Build Beignet Next.js server integration with @beignet/next: defineRouteGroup, defineRoutes, contractsFromRoutes, createNextServer, createNextClient, server context, hooks, OpenAPI and Swagger UI handlers, devtools routes, catch-all API adapters, uploads, storage routes, generic webhooks, payment webhooks, schedule cron routes, outbox drains, and route inspection. Use when wiring or debugging Beignet routes in a Next app."
3
+ description: "Build Beignet Next.js server integration with @beignet/next: defineRouteGroup, defineRoutes, contractsFromRoutes, createNextServer, createNextClient, server context, hooks, OpenAPI and Swagger UI handlers, devtools routes, catch-all API adapters, uploads, storage routes, generic webhooks, payment webhooks, schedule cron routes, outbox drains, best-effort work, and route inspection. Use when wiring or debugging Beignet routes in a Next app."
4
4
  ---
5
5
 
6
6
  # Beignet Next Routes And Server
@@ -124,6 +124,20 @@ Use a route `handle` escape hatch only when the route intentionally returns a
124
124
  native `Response`, streams, owns custom headers, or otherwise sits outside the
125
125
  normal use-case binder.
126
126
 
127
+ The Next adapter shares `@beignet/web` response conversion. An explicit
128
+ `ReadableStream` in a plain Beignet response remains a stream for every media
129
+ type, including JSON; use a native `Response` when the endpoint needs full
130
+ transport ownership.
131
+
132
+ For Server-Sent Events, return `createServerSentEventResponse(...)` from
133
+ `@beignet/core/server` and pass `req.signal`. It owns framing,
134
+ heartbeats, bounded unread buffering, optional maximum lifetime, abort
135
+ handling, cleanup, and anti-buffering headers. Async subscription setup should
136
+ honor the stream-scoped `signal` passed to `start(...)`; an expected
137
+ `AbortError` caused by stream closure is cancellation rather than a reported
138
+ failure. Keep authorization, replay, connection limits, and reconciliation
139
+ application-owned.
140
+
127
141
  Prefer adapter helpers for focused surfaces when the package provides them:
128
142
  `createOpenAPIHandler(...)`, `createSwaggerUIHandler(...)`,
129
143
  `createUploadRoute(...)`, `createStorageRoute(...)`,
@@ -148,6 +162,15 @@ durable execution: keep
148
162
  `createOutboxDrainRoute(...)` as a recovery sweep for missed callbacks,
149
163
  delayed messages, retries, and additional batches.
150
164
 
165
+ For dispensable follow-up work on Next.js 15.1 or newer, define
166
+ `bestEffortWork: BestEffortWorkPort` in the app ports, defer the key in
167
+ `infra/port-wiring.ts`, and install
168
+ `createNextBestEffortWorkPort({ defer: after, onError })` from
169
+ `server/providers.ts`. The adapter isolates scheduler, callback, and observer
170
+ failures from the response. Use it only when losing the callback is acceptable;
171
+ required or retryable delivery belongs in a job or outbox. The Next adapter is
172
+ request-bound; workers and commands need a scheduler owned by their runtime.
173
+
151
174
  The outbox registry does not install delivery transports. Its events require
152
175
  `ctx.ports.eventBus`, and its jobs require `ctx.ports.jobs`; bind those ports
153
176
  directly or defer them to startup providers. Missing transports reject the
@@ -156,9 +179,11 @@ delivery attempts.
156
179
 
157
180
  Schedule and outbox route helpers use an optional
158
181
  `ctx.ports.errorReporter`. Schedule failures, dead-lettered messages,
159
- settlement failures, and drain infrastructure failures report once; outbox
160
- retries remain instrumentation only. Reporter failures never replace the
161
- route response.
182
+ lease failures, settlement failures, and drain infrastructure failures report
183
+ once; outbox retries remain instrumentation only. Reporter failures never
184
+ replace the route response. An outbox route returns 500 with the complete
185
+ result when `settlementFailed` or `leaseLost` is nonzero. Parallel drain
186
+ delivery is opt-in and does not preserve ordering.
162
187
 
163
188
  Use `@beignet/webhooks-github` and `@beignet/webhooks-stripe` for vendor
164
189
  signature verification. These are route-bound integrations, not lifecycle
package/src/index.ts CHANGED
@@ -11,7 +11,12 @@ import {
11
11
  type OutboxRegistry,
12
12
  } from "@beignet/core/outbox";
13
13
  import type { PaymentsPort, PaymentWebhookEvent } from "@beignet/core/payments";
14
- import type { AnyPorts, StorageObject, StoragePort } from "@beignet/core/ports";
14
+ import type {
15
+ AnyPorts,
16
+ BestEffortWorkPort,
17
+ StorageObject,
18
+ StoragePort,
19
+ } from "@beignet/core/ports";
15
20
  import type {
16
21
  InferProviderPorts,
17
22
  ProviderInstrumentationPort,
@@ -38,6 +43,7 @@ import type {
38
43
  StandardSchemaV1,
39
44
  } from "@beignet/core/server";
40
45
  import { createHealthHandler, createServer } from "@beignet/core/server";
46
+ import type { TracingPort } from "@beignet/core/tracing";
41
47
  import type { UploadRouter } from "@beignet/core/uploads";
42
48
  import {
43
49
  type InferWebhookEvent,
@@ -328,6 +334,7 @@ type OutboxDrainPorts = {
328
334
  logger?: OutboxDrainLogger;
329
335
  devtools?: OutboxDrainInstrumentation;
330
336
  instrumentation?: OutboxDrainInstrumentation;
337
+ tracing?: TracingPort;
331
338
  errorReporter?: ErrorReporterPort;
332
339
  };
333
340
 
@@ -339,18 +346,34 @@ type OutboxDrainContext = {
339
346
 
340
347
  type OutboxDrainRuntimeOptions = {
341
348
  batchSize?: number;
349
+ concurrency?: number;
342
350
  leaseMs?: number;
351
+ heartbeatMs?: number;
352
+ maxActiveMs?: number;
343
353
  retryDelayMs?: DrainOutboxOptions["retryDelayMs"];
344
354
  };
345
355
 
346
356
  /**
347
- * Scheduler compatible with Next.js `after(...)` and equivalent request-bound
348
- * deferred-work primitives.
357
+ * Scheduler compatible with Next.js 15.1+ `after(...)` and equivalent
358
+ * request-bound deferred-work primitives.
349
359
  */
350
360
  export type NextDeferredWorkScheduler = (
351
361
  work: () => MaybePromise<void>,
352
362
  ) => MaybePromise<void>;
353
363
 
364
+ /**
365
+ * Options for adapting Next.js 15.1+ `after(...)` to `BestEffortWorkPort`.
366
+ */
367
+ export type CreateNextBestEffortWorkPortOptions = {
368
+ /** Schedule work after the response, usually with `next/server`'s `after`. */
369
+ defer: NextDeferredWorkScheduler;
370
+ /**
371
+ * Best-effort observer for scheduler or deferred callback failures.
372
+ * Observer failures are isolated too.
373
+ */
374
+ onError?: (error: unknown) => MaybePromise<void>;
375
+ };
376
+
354
377
  /**
355
378
  * Options for scheduling a bounded outbox drain after a successful request
356
379
  * transaction.
@@ -364,10 +387,16 @@ export type CreateNextOutboxDrainTriggerOptions<
364
387
  createContext: () => MaybePromise<Ctx>;
365
388
  /** Static registry or lazy loader used to avoid server/provider cycles. */
366
389
  registry: OutboxRegistry | (() => MaybePromise<OutboxRegistry>);
367
- /** Maximum messages to claim in the deferred drain pass. */
390
+ /** Maximum eligible messages to handle in the deferred drain pass. */
368
391
  batchSize?: number;
392
+ /** Maximum messages delivered concurrently. Values above one are unordered. */
393
+ concurrency?: number;
369
394
  /** Claim lease duration in milliseconds. */
370
395
  leaseMs?: number;
396
+ /** Serialized claim-renewal interval. Must remain shorter than `leaseMs`. */
397
+ heartbeatMs?: number;
398
+ /** Maximum time Beignet renews a claim for one delivery. */
399
+ maxActiveMs?: number;
371
400
  /** Retry delay override passed through to `drainOutbox(...)`. */
372
401
  retryDelayMs?: DrainOutboxOptions["retryDelayMs"];
373
402
  /**
@@ -418,13 +447,19 @@ export type CreateOutboxDrainRouteOptions<Ctx extends OutboxDrainContext> = {
418
447
  */
419
448
  secret?: string;
420
449
  /**
421
- * Maximum messages to claim in one drain pass.
450
+ * Maximum eligible messages to handle in one drain pass.
422
451
  */
423
452
  batchSize?: number;
453
+ /** Maximum messages delivered concurrently. Values above one are unordered. */
454
+ concurrency?: number;
424
455
  /**
425
456
  * Claim lease duration in milliseconds.
426
457
  */
427
458
  leaseMs?: number;
459
+ /** Serialized claim-renewal interval. Must remain shorter than `leaseMs`. */
460
+ heartbeatMs?: number;
461
+ /** Maximum time Beignet renews a claim for one delivery. */
462
+ maxActiveMs?: number;
428
463
  /**
429
464
  * Retry delay override passed through to `drainOutbox(...)`.
430
465
  */
@@ -876,14 +911,15 @@ export function createHealthRoute<Ports extends AnyPorts>(
876
911
  healthConfig,
877
912
  environment,
878
913
  );
879
- const response = await handler(req);
914
+ const response = toWebResponse(await handler(req));
880
915
  const headers = new Headers(response.headers);
881
916
  if (!headers.has("cache-control")) {
882
917
  headers.set("cache-control", "no-store");
883
918
  }
884
919
 
885
- return Response.json(response.body, {
920
+ return new Response(response.body, {
886
921
  status: response.status,
922
+ statusText: response.statusText,
887
923
  headers,
888
924
  });
889
925
  },
@@ -1513,9 +1549,15 @@ async function runOutboxDrainWithContext(
1513
1549
  eventBus: ctx.ports.eventBus,
1514
1550
  jobs: ctx.ports.jobs,
1515
1551
  batchSize: options.batchSize,
1552
+ concurrency: options.concurrency,
1516
1553
  leaseMs: options.leaseMs,
1554
+ heartbeatMs: options.heartbeatMs,
1555
+ maxActiveMs: options.maxActiveMs,
1517
1556
  retryDelayMs: options.retryDelayMs,
1518
- instrumentation: resolveProviderInstrumentationPort(ctx.ports),
1557
+ instrumentation: {
1558
+ instrumentation: resolveProviderInstrumentationPort(ctx.ports),
1559
+ tracing: ctx.ports.tracing,
1560
+ },
1519
1561
  instrumentationContext: {
1520
1562
  requestId: ctx.requestId,
1521
1563
  traceId: ctx.traceId,
@@ -1558,10 +1600,48 @@ async function runOutboxDrainWithContext(
1558
1600
  },
1559
1601
  });
1560
1602
  },
1561
- async onSettlementError(settlementError, message) {
1603
+ async onLeaseError(failure) {
1604
+ const outcome =
1605
+ failure.state === "lost"
1606
+ ? "leaseLost"
1607
+ : failure.state === "recovered"
1608
+ ? "leaseRecovered"
1609
+ : "leaseDegraded";
1562
1610
  await tryReportException({
1563
1611
  reporter: ctx.ports.errorReporter,
1564
- error: settlementError,
1612
+ error: failure.error,
1613
+ reportOptions: {
1614
+ level: failure.state === "lost" ? "error" : "warning",
1615
+ mechanism,
1616
+ handled: failure.state !== "lost",
1617
+ requestId: ctx.requestId,
1618
+ traceId: ctx.traceId,
1619
+ tags: {
1620
+ "beignet.kind": "outbox",
1621
+ "beignet.outbox.kind": failure.message.kind,
1622
+ "beignet.outbox.name": failure.message.name,
1623
+ "beignet.outbox.outcome": outcome,
1624
+ },
1625
+ contexts: {
1626
+ outbox: {
1627
+ messageId: failure.message.id,
1628
+ kind: failure.message.kind,
1629
+ name: failure.message.name,
1630
+ attempts: failure.message.attempts,
1631
+ maxAttempts: failure.message.maxAttempts,
1632
+ operation: failure.operation,
1633
+ state: failure.state,
1634
+ confirmedLost: failure.confirmedLost,
1635
+ outcome,
1636
+ },
1637
+ },
1638
+ },
1639
+ });
1640
+ },
1641
+ async onSettlementError(failure) {
1642
+ await tryReportException({
1643
+ reporter: ctx.ports.errorReporter,
1644
+ error: failure.error,
1565
1645
  reportOptions: {
1566
1646
  level: "error",
1567
1647
  mechanism,
@@ -1570,17 +1650,19 @@ async function runOutboxDrainWithContext(
1570
1650
  traceId: ctx.traceId,
1571
1651
  tags: {
1572
1652
  "beignet.kind": "outbox",
1573
- "beignet.outbox.kind": message.kind,
1574
- "beignet.outbox.name": message.name,
1653
+ "beignet.outbox.kind": failure.message.kind,
1654
+ "beignet.outbox.name": failure.message.name,
1575
1655
  "beignet.outbox.outcome": "settlementFailed",
1576
1656
  },
1577
1657
  contexts: {
1578
1658
  outbox: {
1579
- messageId: message.id,
1580
- kind: message.kind,
1581
- name: message.name,
1582
- attempts: message.attempts,
1583
- maxAttempts: message.maxAttempts,
1659
+ messageId: failure.message.id,
1660
+ kind: failure.message.kind,
1661
+ name: failure.message.name,
1662
+ attempts: failure.message.attempts,
1663
+ maxAttempts: failure.message.maxAttempts,
1664
+ operation: failure.operation,
1665
+ deliverySucceeded: failure.deliverySucceeded,
1584
1666
  outcome: "settlementFailed",
1585
1667
  },
1586
1668
  },
@@ -1595,7 +1677,7 @@ async function runOutboxDrainWithContext(
1595
1677
  watcher: "outbox",
1596
1678
  name: "outbox.drain",
1597
1679
  label: "Outbox drain",
1598
- summary: `${result.delivered} delivered, ${result.retried} retried, ${result.deadLettered} dead-lettered`,
1680
+ summary: `${result.delivered} delivered, ${result.retried} retried, ${result.deadLettered} dead-lettered, ${result.settlementFailed} settlement-uncertain, ${result.leaseLost} lease-lost`,
1599
1681
  requestId: ctx.requestId,
1600
1682
  traceId: ctx.traceId,
1601
1683
  details: result,
@@ -1609,23 +1691,68 @@ async function runOutboxDrainWithContext(
1609
1691
  return result;
1610
1692
  }
1611
1693
 
1694
+ function hasUncertainOutboxResult(result: DrainOutboxResult): boolean {
1695
+ return result.settlementFailed > 0 || result.leaseLost > 0;
1696
+ }
1697
+
1698
+ function uncertainOutboxError(result: DrainOutboxResult): Error {
1699
+ return new Error(
1700
+ `Outbox drain completed with ${result.settlementFailed} settlement failure(s) and ${result.leaseLost} lost lease(s).`,
1701
+ );
1702
+ }
1703
+
1612
1704
  async function resolveOutboxRegistry(
1613
1705
  source: OutboxRegistry | (() => MaybePromise<OutboxRegistry>),
1614
1706
  ): Promise<OutboxRegistry> {
1615
1707
  return typeof source === "function" ? source() : source;
1616
1708
  }
1617
1709
 
1618
- async function notifyDeferredOutboxError(
1710
+ async function notifyDeferredWorkError(
1619
1711
  observer: ((error: unknown) => MaybePromise<void>) | undefined,
1620
1712
  error: unknown,
1621
1713
  ): Promise<void> {
1622
1714
  try {
1623
1715
  await observer?.(error);
1624
1716
  } catch {
1625
- // The recovery drain remains authoritative when trigger reporting fails.
1717
+ // Best-effort work must not fail because its error observer failed.
1626
1718
  }
1627
1719
  }
1628
1720
 
1721
+ /**
1722
+ * Adapt Next.js 15.1+ `after(...)` to Beignet's non-durable best-effort-work
1723
+ * port.
1724
+ *
1725
+ * Scheduling failures and deferred callback failures are isolated from the
1726
+ * originating operation. Use jobs or an outbox when work must be retried or
1727
+ * survive process termination. This adapter is request-bound: scheduling
1728
+ * outside a Next.js context supported by `after(...)` is passed to `onError`
1729
+ * when configured.
1730
+ */
1731
+ export function createNextBestEffortWorkPort(
1732
+ options: CreateNextBestEffortWorkPortOptions,
1733
+ ): BestEffortWorkPort {
1734
+ return {
1735
+ defer(work) {
1736
+ const run = async () => {
1737
+ try {
1738
+ await work();
1739
+ } catch (error) {
1740
+ await notifyDeferredWorkError(options.onError, error);
1741
+ }
1742
+ };
1743
+
1744
+ try {
1745
+ const scheduled = options.defer(run);
1746
+ void Promise.resolve(scheduled).catch((error: unknown) =>
1747
+ notifyDeferredWorkError(options.onError, error),
1748
+ );
1749
+ } catch (error) {
1750
+ void notifyDeferredWorkError(options.onError, error);
1751
+ }
1752
+ },
1753
+ };
1754
+ }
1755
+
1629
1756
  /**
1630
1757
  * Create a best-effort trigger for one bounded outbox drain.
1631
1758
  *
@@ -1658,12 +1785,16 @@ export function createNextOutboxDrainTrigger<Ctx extends OutboxDrainContext>(
1658
1785
  try {
1659
1786
  ctx = await options.createContext();
1660
1787
  const registry = await resolveOutboxRegistry(options.registry);
1661
- await runOutboxDrainWithContext(
1788
+ const result = await runOutboxDrainWithContext(
1662
1789
  ctx,
1663
1790
  registry,
1664
1791
  options,
1665
1792
  "beignet.outbox.next.after",
1666
1793
  );
1794
+ if (hasUncertainOutboxResult(result)) {
1795
+ const error = uncertainOutboxError(result);
1796
+ await notifyDeferredWorkError(options.onError, error);
1797
+ }
1667
1798
  } catch (error) {
1668
1799
  if (ctx) {
1669
1800
  try {
@@ -1676,18 +1807,18 @@ export function createNextOutboxDrainTrigger<Ctx extends OutboxDrainContext>(
1676
1807
  // Recovery polling remains authoritative when reporting fails.
1677
1808
  }
1678
1809
  }
1679
- await notifyDeferredOutboxError(options.onError, error);
1810
+ await notifyDeferredWorkError(options.onError, error);
1680
1811
  } finally {
1681
1812
  releaseTrigger();
1682
1813
  }
1683
1814
  });
1684
1815
  void Promise.resolve(scheduled).catch(async (error) => {
1685
1816
  if (!callbackStarted) releaseTrigger();
1686
- await notifyDeferredOutboxError(options.onError, error);
1817
+ await notifyDeferredWorkError(options.onError, error);
1687
1818
  });
1688
1819
  } catch (error) {
1689
1820
  if (!callbackStarted) releaseTrigger();
1690
- void notifyDeferredOutboxError(options.onError, error);
1821
+ void notifyDeferredWorkError(options.onError, error);
1691
1822
  }
1692
1823
  };
1693
1824
  }
@@ -1723,6 +1854,22 @@ export function createOutboxDrainRoute<Ctx extends OutboxDrainContext>(
1723
1854
  "beignet.outbox.next",
1724
1855
  );
1725
1856
 
1857
+ if (hasUncertainOutboxResult(result)) {
1858
+ return routeJson(
1859
+ {
1860
+ ok: false,
1861
+ error: {
1862
+ code: "OUTBOX_DRAIN_UNCERTAIN",
1863
+ message:
1864
+ "Outbox drain completed with unconfirmed delivery state.",
1865
+ },
1866
+ result,
1867
+ },
1868
+ 500,
1869
+ headers,
1870
+ );
1871
+ }
1872
+
1726
1873
  return routeJson(
1727
1874
  {
1728
1875
  ok: true,