@beignet/next 0.0.33 → 0.0.35

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/dist/index.js CHANGED
@@ -5,14 +5,6 @@ import { createInlineScheduleRunner, } from "@beignet/core/schedules";
5
5
  import { createHealthHandler, createServer } from "@beignet/core/server";
6
6
  import { verifyWebhook, } from "@beignet/core/webhooks";
7
7
  import { createFetchHandler, toRequestLike, toWebResponse } from "@beignet/web";
8
- /**
9
- * Server helpers re-exported for Next.js apps.
10
- */
11
- export { contractsFromRoutes, createServer, defaultBinderInput, defineRoute, defineRouteGroup, defineRoutes, } from "@beignet/core/server";
12
- /**
13
- * Web Fetch adapter helpers re-exported for Next.js route helpers.
14
- */
15
- export { createFetchHandler, toRequestLike, toWebResponse } from "@beignet/web";
16
8
  function isServerLoader(source) {
17
9
  return typeof source === "function";
18
10
  }
@@ -116,12 +108,6 @@ export function createHealthRoute(loadServer, healthConfig, environment = "produ
116
108
  },
117
109
  };
118
110
  }
119
- /**
120
- * Convert a Beignet response into a native `Response`.
121
- *
122
- * This is the Next-named alias for `toWebResponse(...)` from `@beignet/web`.
123
- */
124
- export const toNextResponse = toWebResponse;
125
111
  function resolveConfigValue(value) {
126
112
  return typeof value === "function" ? value() : value;
127
113
  }
@@ -410,20 +396,16 @@ export function createUploadRoute(router, options = {}) {
410
396
  const action = options.action ?? firstParam(params?.action);
411
397
  if (!uploadName) {
412
398
  return Response.json({
413
- error: {
414
- code: "UPLOAD_NOT_FOUND",
415
- message: "Upload route is missing an upload name.",
416
- },
399
+ code: "UPLOAD_NOT_FOUND",
400
+ message: "Upload route is missing an upload name.",
417
401
  }, { status: 404 });
418
402
  }
419
403
  if (action !== "prepare" &&
420
404
  action !== "complete" &&
421
405
  action !== "upload") {
422
406
  return Response.json({
423
- error: {
424
- code: "INVALID_UPLOAD_ACTION",
425
- message: 'Upload route action must be "prepare", "complete", or "upload".',
426
- },
407
+ code: "INVALID_UPLOAD_ACTION",
408
+ message: 'Upload route action must be "prepare", "complete", or "upload".',
427
409
  }, { status: 400 });
428
410
  }
429
411
  const resolvedRouter = await resolveServerSource(router);
@@ -434,23 +416,18 @@ export function createUploadRoute(router, options = {}) {
434
416
  },
435
417
  };
436
418
  }
437
- function cronRouteJson(body, status, headers) {
419
+ function routeJson(body, status, headers) {
438
420
  return Response.json(body, {
439
421
  status,
440
422
  headers,
441
423
  });
442
424
  }
443
- function paymentWebhookJson(body, status, headers) {
444
- return Response.json(body, {
445
- status,
446
- headers,
447
- });
448
- }
449
- function webhookRouteJson(body, status, headers) {
450
- return Response.json(body, {
451
- status,
452
- headers,
453
- });
425
+ function operationalErrorJson(code, message, status, headers, details) {
426
+ return routeJson({
427
+ code,
428
+ message,
429
+ ...(details !== undefined ? { details } : {}),
430
+ }, status, headers);
454
431
  }
455
432
  function toHttpResponseHeaders(headers) {
456
433
  if (!headers)
@@ -517,16 +494,6 @@ export function createOutboxDrainRoute(options) {
517
494
  const drainWithContext = async ({ req, ctx, }) => {
518
495
  const nativeReq = nativeRequestOf(req);
519
496
  const headers = resolveHeaders(options.headers, nativeReq);
520
- const secret = options.secret;
521
- if (!secret) {
522
- return cronRouteJson({
523
- ok: false,
524
- error: "CRON_SECRET is not configured.",
525
- }, 500, headers);
526
- }
527
- if (!(await isAuthorizedCronRequest(nativeReq, secret))) {
528
- return cronRouteJson({ ok: false, error: "Unauthorized" }, 401, headers);
529
- }
530
497
  try {
531
498
  const drainCtx = ctx;
532
499
  const result = await drainOutbox({
@@ -569,17 +536,14 @@ export function createOutboxDrainRoute(options) {
569
536
  error,
570
537
  });
571
538
  }
572
- return cronRouteJson({
539
+ return routeJson({
573
540
  ok: true,
574
541
  result,
575
542
  }, 200, headers);
576
543
  }
577
544
  catch (error) {
578
545
  ctx.ports.logger?.error("Outbox drain failed", { error });
579
- return cronRouteJson({
580
- ok: false,
581
- error: "Outbox drain failed.",
582
- }, 500, headers);
546
+ return operationalErrorJson("OUTBOX_DRAIN_FAILED", "Outbox drain failed.", 500, headers);
583
547
  }
584
548
  };
585
549
  const pipelineInit = {
@@ -592,34 +556,26 @@ export function createOutboxDrainRoute(options) {
592
556
  POST: createRawPipelineRunner({ ...pipelineInit, method: "POST" }, drainWithContext),
593
557
  };
594
558
  const drainPendingOutbox = async (req) => {
595
- const server = await resolveServerSource(options.server);
596
- const runner = pipelineRunners[req.method.toUpperCase() === "GET" ? "GET" : "POST"];
597
- const pipelined = runner(server);
598
- if (pipelined)
599
- return pipelined(req);
600
- // Minimal servers without rawRoute(...) — usually test fakes — keep the
601
- // original flow: authorize before touching context, then drain inline.
602
559
  const headers = resolveHeaders(options.headers, req);
603
560
  const secret = options.secret;
604
561
  if (!secret) {
605
- return cronRouteJson({
606
- ok: false,
607
- error: "CRON_SECRET is not configured.",
608
- }, 500, headers);
562
+ return operationalErrorJson("CRON_SECRET_NOT_CONFIGURED", "CRON_SECRET is not configured.", 500, headers);
609
563
  }
610
564
  if (!(await isAuthorizedCronRequest(req, secret))) {
611
- return cronRouteJson({ ok: false, error: "Unauthorized" }, 401, headers);
565
+ return operationalErrorJson("UNAUTHORIZED", "Unauthorized", 401, headers);
612
566
  }
567
+ const server = await resolveServerSource(options.server);
568
+ const runner = pipelineRunners[req.method.toUpperCase() === "GET" ? "GET" : "POST"];
569
+ const pipelined = runner(server);
570
+ if (pipelined)
571
+ return pipelined(req);
613
572
  let ctx;
614
573
  try {
615
574
  ctx = await server.createRequestContext(toRequestLike(req));
616
575
  }
617
576
  catch (error) {
618
577
  console.error("Outbox drain context failed", { error });
619
- return cronRouteJson({
620
- ok: false,
621
- error: "Outbox drain failed.",
622
- }, 500, headers);
578
+ return operationalErrorJson("OUTBOX_DRAIN_FAILED", "Outbox drain failed.", 500, headers);
623
579
  }
624
580
  return drainWithContext({ req: toRequestLike(req), ctx });
625
581
  };
@@ -647,10 +603,7 @@ export function createWebhookRoute(options) {
647
603
  rawBody = await req.text();
648
604
  }
649
605
  catch {
650
- return webhookRouteJson({
651
- ok: false,
652
- error: "Webhook body read failed.",
653
- }, 400, headers);
606
+ return operationalErrorJson("WEBHOOK_BODY_READ_FAILED", "Webhook body read failed.", 400, headers);
654
607
  }
655
608
  let event;
656
609
  try {
@@ -686,10 +639,7 @@ export function createWebhookRoute(options) {
686
639
  requestId: ctx.requestId,
687
640
  traceId: ctx.traceId,
688
641
  });
689
- return webhookRouteJson({
690
- ok: false,
691
- error: "Webhook verification failed.",
692
- }, 400, headers);
642
+ return operationalErrorJson("WEBHOOK_VERIFICATION_FAILED", "Webhook verification failed.", 400, headers);
693
643
  }
694
644
  try {
695
645
  const result = await options.handle?.({
@@ -728,10 +678,7 @@ export function createWebhookRoute(options) {
728
678
  eventId: event.id,
729
679
  eventType: event.type,
730
680
  });
731
- return webhookRouteJson({
732
- ok: false,
733
- error: "Webhook handler failed.",
734
- }, 500, headers);
681
+ return operationalErrorJson("WEBHOOK_HANDLER_FAILED", "Webhook handler failed.", 500, headers);
735
682
  }
736
683
  };
737
684
  const runPipeline = createRawPipelineRunner({
@@ -754,10 +701,7 @@ export function createWebhookRoute(options) {
754
701
  rawBody = await req.text();
755
702
  }
756
703
  catch {
757
- return webhookRouteJson({
758
- ok: false,
759
- error: "Webhook body read failed.",
760
- }, 400, headers);
704
+ return operationalErrorJson("WEBHOOK_BODY_READ_FAILED", "Webhook body read failed.", 400, headers);
761
705
  }
762
706
  const contextRequest = toContextRequest(req, rawBody);
763
707
  let ctx;
@@ -765,10 +709,7 @@ export function createWebhookRoute(options) {
765
709
  ctx = await server.createRequestContext(contextRequest);
766
710
  }
767
711
  catch {
768
- return webhookRouteJson({
769
- ok: false,
770
- error: "Webhook context failed.",
771
- }, 500, headers);
712
+ return operationalErrorJson("WEBHOOK_CONTEXT_FAILED", "Webhook context failed.", 500, headers);
772
713
  }
773
714
  return handleWebhookRequest({ req: toContextRequest(req, rawBody), ctx });
774
715
  },
@@ -791,20 +732,14 @@ export function createPaymentWebhookRoute(options) {
791
732
  const headers = resolveHeaders(options.headers, nativeReq);
792
733
  const signature = new Headers(req.headers).get(signatureHeader);
793
734
  if (!signature) {
794
- return paymentWebhookJson({
795
- ok: false,
796
- error: `Missing ${signatureHeader} header.`,
797
- }, 400, headers);
735
+ return operationalErrorJson("PAYMENT_WEBHOOK_SIGNATURE_MISSING", `Missing ${signatureHeader} header.`, 400, headers);
798
736
  }
799
737
  let rawBody;
800
738
  try {
801
739
  rawBody = await req.text();
802
740
  }
803
741
  catch {
804
- return paymentWebhookJson({
805
- ok: false,
806
- error: "Payment webhook body read failed.",
807
- }, 400, headers);
742
+ return operationalErrorJson("PAYMENT_WEBHOOK_BODY_READ_FAILED", "Payment webhook body read failed.", 400, headers);
808
743
  }
809
744
  let event;
810
745
  try {
@@ -819,10 +754,7 @@ export function createPaymentWebhookRoute(options) {
819
754
  requestId: ctx.requestId,
820
755
  traceId: ctx.traceId,
821
756
  });
822
- return paymentWebhookJson({
823
- ok: false,
824
- error: "Payment webhook verification failed.",
825
- }, 400, headers);
757
+ return operationalErrorJson("PAYMENT_WEBHOOK_VERIFICATION_FAILED", "Payment webhook verification failed.", 400, headers);
826
758
  }
827
759
  try {
828
760
  const result = await options.handle?.({
@@ -859,10 +791,7 @@ export function createPaymentWebhookRoute(options) {
859
791
  eventId: event.id,
860
792
  eventType: event.type,
861
793
  });
862
- return paymentWebhookJson({
863
- ok: false,
864
- error: "Payment webhook handler failed.",
865
- }, 500, headers);
794
+ return operationalErrorJson("PAYMENT_WEBHOOK_HANDLER_FAILED", "Payment webhook handler failed.", 500, headers);
866
795
  }
867
796
  };
868
797
  const runPipeline = createRawPipelineRunner({
@@ -882,30 +811,21 @@ export function createPaymentWebhookRoute(options) {
882
811
  // The signature gate runs first so no context is created without one.
883
812
  const headers = resolveHeaders(options.headers, req);
884
813
  if (!req.headers.get(signatureHeader)) {
885
- return paymentWebhookJson({
886
- ok: false,
887
- error: `Missing ${signatureHeader} header.`,
888
- }, 400, headers);
814
+ return operationalErrorJson("PAYMENT_WEBHOOK_SIGNATURE_MISSING", `Missing ${signatureHeader} header.`, 400, headers);
889
815
  }
890
816
  let rawBody;
891
817
  try {
892
818
  rawBody = await req.text();
893
819
  }
894
820
  catch {
895
- return paymentWebhookJson({
896
- ok: false,
897
- error: "Payment webhook body read failed.",
898
- }, 400, headers);
821
+ return operationalErrorJson("PAYMENT_WEBHOOK_BODY_READ_FAILED", "Payment webhook body read failed.", 400, headers);
899
822
  }
900
823
  let ctx;
901
824
  try {
902
825
  ctx = await server.createRequestContext(toContextRequest(req, rawBody));
903
826
  }
904
827
  catch {
905
- return paymentWebhookJson({
906
- ok: false,
907
- error: "Payment webhook context failed.",
908
- }, 500, headers);
828
+ return operationalErrorJson("PAYMENT_WEBHOOK_CONTEXT_FAILED", "Payment webhook context failed.", 500, headers);
909
829
  }
910
830
  return handlePaymentWebhook({ req: toContextRequest(req, rawBody), ctx });
911
831
  },
@@ -934,21 +854,10 @@ export function createScheduleRoute(options) {
934
854
  const runSchedule = async ({ req, ctx, }) => {
935
855
  const nativeReq = nativeRequestOf(req);
936
856
  const headers = resolveHeaders(options.headers, nativeReq);
937
- const secret = options.secret;
938
- if (!secret) {
939
- return cronRouteJson({
940
- ok: false,
941
- error: "CRON_SECRET is not configured.",
942
- scheduleName: schedule.name,
943
- }, 500, headers);
944
- }
945
- if (!(await isAuthorizedCronRequest(nativeReq, secret))) {
946
- return cronRouteJson({ ok: false, error: "Unauthorized" }, 401, headers);
947
- }
948
857
  try {
949
858
  const runner = createInlineScheduleRunner({
950
859
  ctx,
951
- instrumentation: resolveProviderInstrumentationPort(ctx.ports),
860
+ instrumentation: ctx.ports,
952
861
  instrumentationContext: {
953
862
  requestId: ctx.requestId,
954
863
  traceId: ctx.traceId,
@@ -963,17 +872,13 @@ export function createScheduleRoute(options) {
963
872
  await runner.run(schedule, {
964
873
  source: options.source ?? "next-cron-route",
965
874
  });
966
- return cronRouteJson({
875
+ return routeJson({
967
876
  ok: true,
968
877
  scheduleName: schedule.name,
969
878
  }, 200, headers);
970
879
  }
971
880
  catch {
972
- return cronRouteJson({
973
- ok: false,
974
- error: "Schedule failed.",
975
- scheduleName: schedule.name,
976
- }, 500, headers);
881
+ return operationalErrorJson("SCHEDULE_FAILED", "Schedule failed.", 500, headers, { scheduleName: schedule.name });
977
882
  }
978
883
  };
979
884
  const pipelineInit = {
@@ -986,35 +891,25 @@ export function createScheduleRoute(options) {
986
891
  POST: createRawPipelineRunner({ ...pipelineInit, method: "POST" }, runSchedule),
987
892
  };
988
893
  const runScheduleFromRequest = async (req) => {
989
- const server = await resolveServerSource(options.server);
990
- const runner = pipelineRunners[req.method.toUpperCase() === "GET" ? "GET" : "POST"];
991
- const pipelined = runner(server);
992
- if (pipelined)
993
- return pipelined(req);
994
- // Minimal servers without rawRoute(...) — usually test fakes — keep the
995
- // original flow: authorize before touching context, then run inline.
996
894
  const headers = resolveHeaders(options.headers, req);
997
895
  const secret = options.secret;
998
896
  if (!secret) {
999
- return cronRouteJson({
1000
- ok: false,
1001
- error: "CRON_SECRET is not configured.",
1002
- scheduleName: schedule.name,
1003
- }, 500, headers);
897
+ return operationalErrorJson("CRON_SECRET_NOT_CONFIGURED", "CRON_SECRET is not configured.", 500, headers, { scheduleName: schedule.name });
1004
898
  }
1005
899
  if (!(await isAuthorizedCronRequest(req, secret))) {
1006
- return cronRouteJson({ ok: false, error: "Unauthorized" }, 401, headers);
900
+ return operationalErrorJson("UNAUTHORIZED", "Unauthorized", 401, headers);
1007
901
  }
902
+ const server = await resolveServerSource(options.server);
903
+ const runner = pipelineRunners[req.method.toUpperCase() === "GET" ? "GET" : "POST"];
904
+ const pipelined = runner(server);
905
+ if (pipelined)
906
+ return pipelined(req);
1008
907
  let ctx;
1009
908
  try {
1010
909
  ctx = await server.createRequestContext(toRequestLike(req));
1011
910
  }
1012
911
  catch {
1013
- return cronRouteJson({
1014
- ok: false,
1015
- error: "Schedule failed.",
1016
- scheduleName: schedule.name,
1017
- }, 500, headers);
912
+ return operationalErrorJson("SCHEDULE_FAILED", "Schedule failed.", 500, headers, { scheduleName: schedule.name });
1018
913
  }
1019
914
  return runSchedule({ req: toRequestLike(req), ctx });
1020
915
  };
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.33",
3
+ "version": "0.0.35",
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.33",
64
+ "@beignet/web": "^0.0.35",
65
65
  "@standard-schema/spec": "^1.0.0"
66
66
  },
67
67
  "devDependencies": {
@@ -9,13 +9,27 @@ Use this skill when working in a Next.js app that depends on `@beignet/next`.
9
9
  Read local `AGENTS.md`, `beignet.config.*`, and existing route/server files
10
10
  before changing code.
11
11
 
12
+ ## App-Bound Route Builders
13
+
14
+ Create the route declaration helpers once in `lib/routes.ts`:
15
+
16
+ ```ts
17
+ import "@beignet/core/server-only";
18
+ import { createRoutes } from "@beignet/core/server";
19
+ import type { AppContext } from "@/app-context";
20
+
21
+ export const { defineRoute, defineRouteGroup } = createRoutes<AppContext>();
22
+ ```
23
+
24
+ Feature route files import these helpers. Bind `AppContext` once in this module,
25
+ not separately in each feature.
26
+
12
27
  ## Route Shape
13
28
 
14
29
  Feature route groups live beside the feature and map contracts to use cases.
15
30
 
16
31
  ```ts
17
- import { defineRouteGroup } from "@beignet/next";
18
- import type { AppContext } from "@/app-context";
32
+ import { defineRouteGroup } from "@/lib/routes";
19
33
  import { createProject, getProject } from "@/features/projects/contracts";
20
34
  import {
21
35
  createProjectUseCase,
@@ -23,7 +37,7 @@ import {
23
37
  } from "@/features/projects/use-cases";
24
38
  import { auth } from "@/lib/route-auth";
25
39
 
26
- export const projectRoutes = defineRouteGroup<AppContext>()({
40
+ export const projectRoutes = defineRouteGroup({
27
41
  name: "projects",
28
42
  routes: [
29
43
  {
@@ -48,7 +62,7 @@ binding. Business behavior belongs in use cases.
48
62
  Register feature route groups once in `server/routes.ts`.
49
63
 
50
64
  ```ts
51
- import { contractsFromRoutes, defineRoutes } from "@beignet/next";
65
+ import { contractsFromRoutes, defineRoutes } from "@beignet/core/server";
52
66
  import type { AppContext } from "@/app-context";
53
67
  import { projectRoutes } from "@/features/projects/routes";
54
68
 
@@ -116,6 +130,12 @@ Prefer adapter helpers for focused surfaces when the package provides them:
116
130
  `createWebhookRoute(...)`, `createPaymentWebhookRoute(...)`,
117
131
  `createScheduleRoute(...)`, and `createOutboxDrainRoute(...)`.
118
132
 
133
+ Use `@beignet/webhooks-github` and `@beignet/webhooks-stripe` for vendor
134
+ signature verification. These are route-bound integrations, not lifecycle
135
+ providers, so do not register them in `server/providers.ts`. Focused helper
136
+ failures use Beignet's canonical `{ code, message }` operational error
137
+ envelope; do not add a second operational response shape.
138
+
119
139
  ## Context
120
140
 
121
141
  `server/context.ts` should use `defineServerContext`. Request context reads the
@@ -150,7 +170,8 @@ response mapping, headers, streaming, or other HTTP-layer behavior.
150
170
 
151
171
  - Route group exists but does not run: register it in `server/routes.ts`.
152
172
  - Contract missing from OpenAPI: export `contracts = contractsFromRoutes(routes)`.
153
- - `doctor` dislikes the route shape: use `defineRouteGroup<AppContext>()({ ... })`.
173
+ - `doctor` dislikes the route shape: import the app-bound
174
+ `defineRouteGroup({ ... })` from `lib/routes.ts`.
154
175
  - Cron route fails closed: verify `CRON_SECRET` and the route's bearer token.
155
176
  - Client code imports `server/`: move shared DTOs to schemas and call through
156
177
  contracts and the typed client.