@nifrajs/core 1.9.0 → 1.10.0

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.
Files changed (63) hide show
  1. package/dist/assurance.d.ts +5 -0
  2. package/dist/assurance.d.ts.map +1 -1
  3. package/dist/assurance.js +8 -1
  4. package/dist/assurance.js.map +1 -1
  5. package/dist/budget.d.ts +91 -0
  6. package/dist/budget.d.ts.map +1 -0
  7. package/dist/budget.js +172 -0
  8. package/dist/budget.js.map +1 -0
  9. package/dist/capabilities.d.ts +117 -0
  10. package/dist/capabilities.d.ts.map +1 -0
  11. package/dist/capabilities.js +257 -0
  12. package/dist/capabilities.js.map +1 -0
  13. package/dist/classification.d.ts +19 -0
  14. package/dist/classification.d.ts.map +1 -0
  15. package/dist/classification.js +33 -0
  16. package/dist/classification.js.map +1 -0
  17. package/dist/errors.d.ts +1 -1
  18. package/dist/errors.d.ts.map +1 -1
  19. package/dist/errors.js.map +1 -1
  20. package/dist/idempotency.d.ts +90 -0
  21. package/dist/idempotency.d.ts.map +1 -0
  22. package/dist/idempotency.js +135 -0
  23. package/dist/idempotency.js.map +1 -0
  24. package/dist/index.d.ts +5 -2
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +4 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/internal/capability-runtime.d.ts +16 -0
  29. package/dist/internal/capability-runtime.d.ts.map +1 -0
  30. package/dist/internal/capability-runtime.js +27 -0
  31. package/dist/internal/capability-runtime.js.map +1 -0
  32. package/dist/internal/route-assurance.d.ts +1 -0
  33. package/dist/internal/route-assurance.d.ts.map +1 -1
  34. package/dist/internal/route-assurance.js +1 -0
  35. package/dist/internal/route-assurance.js.map +1 -1
  36. package/dist/reflection.d.ts +4 -0
  37. package/dist/reflection.d.ts.map +1 -1
  38. package/dist/reflection.js +9 -0
  39. package/dist/reflection.js.map +1 -1
  40. package/dist/server/context.d.ts +34 -1
  41. package/dist/server/context.d.ts.map +1 -1
  42. package/dist/server/contract.d.ts +8 -1
  43. package/dist/server/contract.d.ts.map +1 -1
  44. package/dist/server/contract.js +11 -1
  45. package/dist/server/contract.js.map +1 -1
  46. package/dist/server/server.d.ts +75 -0
  47. package/dist/server/server.d.ts.map +1 -1
  48. package/dist/server/server.js +195 -9
  49. package/dist/server/server.js.map +1 -1
  50. package/package.json +11 -4
  51. package/src/assurance.ts +15 -1
  52. package/src/budget.ts +267 -0
  53. package/src/capabilities.ts +430 -0
  54. package/src/classification.ts +44 -0
  55. package/src/errors.ts +1 -0
  56. package/src/idempotency.ts +205 -0
  57. package/src/index.ts +6 -1
  58. package/src/internal/capability-runtime.ts +49 -0
  59. package/src/internal/route-assurance.ts +1 -0
  60. package/src/reflection.ts +14 -0
  61. package/src/server/context.ts +35 -1
  62. package/src/server/contract.ts +19 -2
  63. package/src/server/server.ts +328 -11
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server/server.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
- import { admitDeadline, createRequestBudget, createUnboundedRequestBudget, NIFRA_DEADLINE_HEADER, } from "@nifrajs/budget";
1
+ import { admitDeadline, createRequestBudget, createUnboundedRequestBudget, NIFRA_DEADLINE_HEADER, } from "../budget.js";
2
2
  import { FrameworkError, RouteConfigError } from "../errors.js";
3
+ import { computeIdempotencyFingerprint, DEFAULT_IDEMPOTENCY_HEADER, DEFAULT_IDEMPOTENCY_TTL_MS, MemoryIdempotencyStore, responseFromStored, serializeResponse, validIdempotencyKey, } from "../idempotency.js";
4
+ import { CAPABILITY_GUARD, createCapabilityGuard, normalizeRouteCapabilities, } from "../internal/capability-runtime.js";
3
5
  import { assuranceDeclarationsOf, assuranceEvidenceFor, NIFRA_ASSURANCE_IDS, } from "../internal/route-assurance.js";
4
6
  import { EMPTY_PARAMS, Router } from "../router/router.js";
5
7
  import { drainCapped, parseContentLength, readBoundedBytes } from "./body.js";
@@ -658,6 +660,12 @@ export class Server {
658
660
  maxInboundDeadlineMs;
659
661
  deadlineAdmissionOptions;
660
662
  gracefulSignals;
663
+ /** Capacity-admission gate; `undefined` = off (the request path pays nothing). */
664
+ capacityGate;
665
+ onCapabilityUse;
666
+ /** App-wide idempotency store (explicit option, else a lazily-created in-process default). */
667
+ configuredIdempotencyStore;
668
+ lazyIdempotencyStore;
661
669
  logger;
662
670
  /** App-wide validation-error fallback; a route's own `schema.onValidationError` takes precedence. */
663
671
  defaultOnValidationError;
@@ -710,6 +718,10 @@ export class Server {
710
718
  throw new RangeError("maxInboundDeadlineMs must be a finite positive number");
711
719
  }
712
720
  this.gracefulSignals = options.gracefulSignals ?? false;
721
+ this.capacityGate = options.admission;
722
+ this.onCapabilityUse = options.onCapabilityUse;
723
+ this.configuredIdempotencyStore = options.idempotencyStore;
724
+ this.lazyIdempotencyStore = undefined;
713
725
  this.logger = options.logger ?? jsonLogger();
714
726
  this.defaultOnValidationError = options.onValidationError;
715
727
  this.bunServer = undefined;
@@ -986,24 +998,41 @@ export class Server {
986
998
  * is the "compiled", order-scoped per-route chain.
987
999
  */
988
1000
  register(method, path, schema, handler) {
1001
+ const capabilities = normalizeRouteCapabilities(schema?.capabilities);
1002
+ const handlerAssurance = assuranceDeclarationsOf(handler);
1003
+ const invalidHandlerScope = handlerAssurance.find((declaration) => declaration.scope !== "plugin");
1004
+ if (invalidHandlerScope !== undefined) {
1005
+ throw new RouteConfigError("INVALID_ASSURANCE", `route handler assurance must use plugin scope (received ${invalidHandlerScope.scope})`);
1006
+ }
1007
+ const routeDecorations = { ...this.decorations };
1008
+ if (capabilities.length > 0) {
1009
+ routeDecorations[CAPABILITY_GUARD] = createCapabilityGuard(capabilities, method, path, this.onCapabilityUse);
1010
+ }
1011
+ const hasDecorations = Reflect.ownKeys(routeDecorations).length > 0;
1012
+ // An idempotency route runs a dedupe lane that must buffer the body and capture the response, so it
1013
+ // never takes the fused/native fast path — force it onto the portable matched lane (which routes
1014
+ // through `fetchMatched`, where the dedupe wrapper lives).
1015
+ const idempotent = this.resolveIdempotency(schema);
989
1016
  const bare = schema?.body === undefined &&
990
1017
  schema?.query === undefined &&
1018
+ idempotent === undefined &&
991
1019
  this.derives.length === 0 &&
992
1020
  this.beforeHandleHooks.length === 0 &&
993
1021
  this.afterHandleHooks.length === 0 &&
994
1022
  this.onErrorHooks.length === 0;
995
1023
  const fusedWeb = bare && this.aroundHooks.length === 0
996
- ? this.buildFusedWeb(handler, Object.keys(this.decorations).length > 0 ? { ...this.decorations } : undefined, isContextlessNoArgArrow(handler))
1024
+ ? this.buildFusedWeb(handler, hasDecorations ? routeDecorations : undefined, isContextlessNoArgArrow(handler))
997
1025
  : undefined;
998
1026
  const entry = {
999
1027
  // (context: never) => unknown -> InternalHandler: the framework invokes it
1000
1028
  // with the concrete RawContext the typed handler expects, so this is sound.
1001
1029
  handler: handler,
1002
1030
  schema,
1031
+ idempotent,
1003
1032
  fusedWeb,
1004
1033
  derives: [...this.derives],
1005
- decorations: { ...this.decorations },
1006
- hasDecorations: Object.keys(this.decorations).length > 0,
1034
+ decorations: routeDecorations,
1035
+ hasDecorations,
1007
1036
  beforeHandle: [...this.beforeHandleHooks],
1008
1037
  afterHandle: [...this.afterHandleHooks],
1009
1038
  onError: [...this.onErrorHooks],
@@ -1028,9 +1057,14 @@ export class Server {
1028
1057
  this.onErrorHooks.length === 0,
1029
1058
  };
1030
1059
  this.router.add(method, path, entry);
1031
- const descriptor = { method, path, schema };
1060
+ const descriptor = {
1061
+ method,
1062
+ path,
1063
+ schema,
1064
+ ...(capabilities.length > 0 ? { capabilities } : {}),
1065
+ };
1032
1066
  this.routeList.push(descriptor);
1033
- const routeAssurance = [...this.activeAssurance];
1067
+ const routeAssurance = [...this.activeAssurance, ...handlerAssurance];
1034
1068
  if (schema?.body !== undefined) {
1035
1069
  routeAssurance.push(Object.freeze({
1036
1070
  id: NIFRA_ASSURANCE_IDS.BODY_BOUNDED,
@@ -1038,6 +1072,23 @@ export class Server {
1038
1072
  scope: "plugin",
1039
1073
  }));
1040
1074
  }
1075
+ // Declaring `schema.idempotency` is the evidence that satisfies a write capability's idempotency
1076
+ // requirement (capability assurance reads these ids). `durable` scope additionally proves the
1077
+ // durable-command requirement.
1078
+ if (schema?.idempotency !== undefined) {
1079
+ routeAssurance.push(Object.freeze({
1080
+ id: NIFRA_ASSURANCE_IDS.IDEMPOTENCY_KEY,
1081
+ source: "route-schema",
1082
+ scope: "plugin",
1083
+ }));
1084
+ if (schema.idempotency.scope === "durable") {
1085
+ routeAssurance.push(Object.freeze({
1086
+ id: NIFRA_ASSURANCE_IDS.DURABLE_COMMAND,
1087
+ source: "route-schema",
1088
+ scope: "plugin",
1089
+ }));
1090
+ }
1091
+ }
1041
1092
  this.rawEntries.push({
1042
1093
  method,
1043
1094
  path,
@@ -1046,6 +1097,24 @@ export class Server {
1046
1097
  assurance: Object.freeze(routeAssurance),
1047
1098
  });
1048
1099
  }
1100
+ /** Resolve a route's declared idempotency into a pinned store + defaults, or `undefined` when off. */
1101
+ resolveIdempotency(schema) {
1102
+ const config = schema?.idempotency;
1103
+ if (config === undefined)
1104
+ return undefined;
1105
+ return Object.freeze({
1106
+ store: config.store ?? this.defaultIdempotencyStore(),
1107
+ ttlMs: config.ttlMs ?? DEFAULT_IDEMPOTENCY_TTL_MS,
1108
+ headerName: (config.headerName ?? DEFAULT_IDEMPOTENCY_HEADER).toLowerCase(),
1109
+ });
1110
+ }
1111
+ /** The app-wide idempotency store: the configured one, else a lazily-created shared in-process store. */
1112
+ defaultIdempotencyStore() {
1113
+ if (this.configuredIdempotencyStore !== undefined)
1114
+ return this.configuredIdempotencyStore;
1115
+ this.lazyIdempotencyStore ??= new MemoryIdempotencyStore();
1116
+ return this.lazyIdempotencyStore;
1117
+ }
1049
1118
  /**
1050
1119
  * Merge another server's routes into this one — the composition escape hatch for large apps.
1051
1120
  *
@@ -1110,6 +1179,12 @@ export class Server {
1110
1179
  return this.fetchSource(req, platform);
1111
1180
  }
1112
1181
  fetchSource(source, platform) {
1182
+ // Off path (default): straight through — one property check, no closure, no promise.
1183
+ if (this.capacityGate === undefined)
1184
+ return this.fetchSourceInner(source, platform);
1185
+ return this.admitGated(requestOf(source), () => this.fetchSourceInner(source, platform));
1186
+ }
1187
+ fetchSourceInner(source, platform) {
1113
1188
  // Non-`async` on purpose: `dispatch` may return a `Response` *synchronously* (the bare-route fast
1114
1189
  // path, see RouteEntry.bare), and an `async fetch` would wrap every such result in a redundant
1115
1190
  // promise + microtask. Returning `Response | Promise<Response>` matches Web/edge handlers, while
@@ -1127,6 +1202,11 @@ export class Server {
1127
1202
  /** Web response path when Bun already matched the route. The lifecycle and response hooks remain
1128
1203
  * exactly the same as {@link fetchSource}; only portable URL scanning + trie lookup are skipped. */
1129
1204
  fetchMatched(source, entry, params) {
1205
+ if (this.capacityGate === undefined)
1206
+ return this.fetchMatchedInner(source, entry, params);
1207
+ return this.admitGated(requestOf(source), () => this.fetchMatchedInner(source, entry, params));
1208
+ }
1209
+ fetchMatchedInner(source, entry, params) {
1130
1210
  const outcome = this.runMatched(source, undefined, entry, params, undefined, toResponse, IDENTITY_RESPONSE, RESPONSE_TIMEOUT, true);
1131
1211
  if (this.onResponseHooks.length === 0 && this.onResponseFinalizedHooks.length === 0) {
1132
1212
  return outcome;
@@ -1135,6 +1215,44 @@ export class Server {
1135
1215
  ? outcome.then((response) => this.applyOnResponseAndFinalize(response, requestOf(source)))
1136
1216
  : this.applyOnResponseAndFinalize(outcome, requestOf(source));
1137
1217
  }
1218
+ /**
1219
+ * Run `produce` under the capacity gate: admit → run → release exactly once when the response is
1220
+ * produced (or the run throws). Only reached when {@link capacityGate} is set, so the off path pays
1221
+ * nothing. The slot is held for the duration of handler execution, not the streaming of the body —
1222
+ * capacity here bounds concurrent *work*, matching how in-flight is counted.
1223
+ */
1224
+ admitGated(req, produce) {
1225
+ const decision = this.capacityGate.admit(req);
1226
+ return decision instanceof Promise
1227
+ ? decision.then((settled) => this.runAdmitted(settled, produce))
1228
+ : this.runAdmitted(decision, produce);
1229
+ }
1230
+ runAdmitted(decision, produce) {
1231
+ if (!decision.admitted)
1232
+ return decision.response; // shed: ready 429, no slot held
1233
+ let released = false;
1234
+ const release = () => {
1235
+ if (released)
1236
+ return;
1237
+ released = true;
1238
+ decision.release();
1239
+ };
1240
+ let outcome;
1241
+ try {
1242
+ outcome = produce();
1243
+ }
1244
+ catch (error) {
1245
+ release();
1246
+ throw error;
1247
+ }
1248
+ // Release the slot once the response settles — on resolve OR reject — via `finally`, which passes
1249
+ // the value/rejection through unchanged. (A single settle hook, rather than separate then-arms: the
1250
+ // request pipeline resolves handler errors to a Response, so a rejection arm would be unreachable.)
1251
+ if (outcome instanceof Promise)
1252
+ return outcome.finally(release);
1253
+ release();
1254
+ return outcome;
1255
+ }
1138
1256
  /**
1139
1257
  * Like {@link fetch}, but renders a plain-data result **without** building a Web `Response` — the
1140
1258
  * `@nifrajs/node` adapter serializes the returned primitives straight to the socket, skipping the undici
@@ -1148,8 +1266,11 @@ export class Server {
1148
1266
  return this.resolveNodeSource(req, platform);
1149
1267
  }
1150
1268
  resolveNodeSource(source, platform) {
1151
- // onResponse hooks transform a Response, so they force the Web path; wrap its result.
1152
- if (this.onResponseHooks.length > 0 || this.onResponseFinalizedHooks.length > 0) {
1269
+ // onResponse hooks transform a Response, and the capacity gate wraps the Web response path — both
1270
+ // force the Web path here (the gated `fetchSource` admits/sheds/releases); wrap its result.
1271
+ if (this.onResponseHooks.length > 0 ||
1272
+ this.onResponseFinalizedHooks.length > 0 ||
1273
+ this.capacityGate !== undefined) {
1153
1274
  const response = this.fetchSource(source, platform);
1154
1275
  return response instanceof Promise
1155
1276
  ? response.then((settled) => ({ kind: "response", response: settled }))
@@ -1340,6 +1461,68 @@ export class Server {
1340
1461
  }
1341
1462
  /** Run a route that has already been matched by the runtime or Nifra's portable router. */
1342
1463
  runMatched(source, platform, entry, params, search, finalize, wrapResponse, onTimeout, webFast) {
1464
+ // An idempotency route runs its dedupe lane first; on a fresh key it delegates to the normal lanes
1465
+ // (with the body buffered). All non-idempotent routes skip straight to the lanes — no added cost.
1466
+ if (entry.idempotent !== undefined) {
1467
+ return this.runIdempotent(source, platform, entry, params, search, wrapResponse);
1468
+ }
1469
+ return this.runMatchedLanes(source, platform, entry, params, search, finalize, wrapResponse, onTimeout, webFast);
1470
+ }
1471
+ /**
1472
+ * Idempotency dedupe lane. Reads the `Idempotency-Key`, fingerprints the request, and consults the
1473
+ * store: a fresh key runs the handler (via {@link runMatchedLanes} with the body buffered) and stores
1474
+ * the response; a repeat key replays it without re-running; a key reused with a different body or an
1475
+ * in-flight duplicate is rejected. Every branch materializes a `Response`, then adapts to `T` via the
1476
+ * caller's `wrapResponse`, so it works on the Web fetch path and the Node-native outcome path alike.
1477
+ */
1478
+ async runIdempotent(source, platform, entry, params, search, wrapResponse) {
1479
+ const config = entry.idempotent;
1480
+ const req = requestOf(source);
1481
+ const key = req.headers.get(config.headerName);
1482
+ if (key === null || !validIdempotencyKey(key)) {
1483
+ return wrapResponse(jsonError(400, "idempotency_key_required"));
1484
+ }
1485
+ const read = await readBoundedBytes(req, this.maxBodyBytes);
1486
+ if (!read.ok) {
1487
+ return wrapResponse(jsonError(read.status, read.status === 413 ? "payload_too_large" : "bad_request"));
1488
+ }
1489
+ const url = urlPartsOf(req.url);
1490
+ const fingerprint = await computeIdempotencyFingerprint(req.method, `${url.pathname}${url.search}`, read.bytes);
1491
+ const begin = await config.store.begin(key, fingerprint, config.ttlMs);
1492
+ if (begin.state === "replay")
1493
+ return wrapResponse(responseFromStored(begin.response));
1494
+ if (begin.state === "mismatch")
1495
+ return wrapResponse(jsonError(409, "idempotency_key_reused"));
1496
+ if (begin.state === "in-flight") {
1497
+ return wrapResponse(jsonError(409, "idempotency_in_progress", { "Retry-After": "1" }));
1498
+ }
1499
+ // Fresh key: re-expose the buffered body as a Request so the normal lanes can read + validate it,
1500
+ // then run those lanes to a concrete Response.
1501
+ const bufferedInit = { method: req.method, headers: req.headers };
1502
+ if (read.bytes.byteLength > 0)
1503
+ bufferedInit.body = read.bytes;
1504
+ const buffered = new Request(req.url, bufferedInit);
1505
+ let response;
1506
+ try {
1507
+ response = await this.runMatchedLanes(buffered, platform, entry, params, search, toResponse, IDENTITY_RESPONSE, RESPONSE_TIMEOUT, false);
1508
+ }
1509
+ catch (err) {
1510
+ // The lanes never throw (errors resolve to a 500 Response), but stay fail-safe: release the
1511
+ // reservation so a retry isn't wedged, then re-throw.
1512
+ await config.store.abandon(key);
1513
+ throw err;
1514
+ }
1515
+ // Cache only successful responses; release the key on any error so the client can retry.
1516
+ if (response.status >= 200 && response.status < 300) {
1517
+ await config.store.complete(key, await serializeResponse(response));
1518
+ }
1519
+ else {
1520
+ await config.store.abandon(key);
1521
+ }
1522
+ return wrapResponse(response);
1523
+ }
1524
+ /** Run a matched route through its selected execution lane (fused/bare/bodyOnly/queryOnly/lifecycle). */
1525
+ runMatchedLanes(source, platform, entry, params, search, finalize, wrapResponse, onTimeout, webFast) {
1343
1526
  // Translate the absolute wire deadline once, clamp it to local policy, then use the resulting
1344
1527
  // duration for both c.signal and c.budget. A client can only shorten work, never extend it.
1345
1528
  // Most requests have neither a local timeout nor a propagated deadline. Detect that case with
@@ -1980,7 +2163,10 @@ export class Server {
1980
2163
  const routes = Object.create(null);
1981
2164
  const mayUseFusedNative = this.requestTimeoutMs === 0 &&
1982
2165
  this.onResponseHooks.length === 0 &&
1983
- this.onResponseFinalizedHooks.length === 0;
2166
+ this.onResponseFinalizedHooks.length === 0 &&
2167
+ // The capacity gate must wrap every request; the fused lane bypasses fetchMatched, so enabling
2168
+ // admission drops fusion (native matching stays) and routes through the gated matched lane.
2169
+ this.capacityGate === undefined;
1984
2170
  const unboundedSignal = mayUseFusedNative ? getNeverAbortSignal() : undefined;
1985
2171
  const unboundedBudget = mayUseFusedNative ? getUnboundedRequestBudget() : undefined;
1986
2172
  let count = 0;