@nifrajs/core 3.5.0 → 4.0.2
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/README.md +26 -0
- package/dist/assurance.d.ts +7 -0
- package/dist/assurance.d.ts.map +1 -1
- package/dist/assurance.js +39 -3
- package/dist/assurance.js.map +1 -1
- package/dist/capabilities.d.ts +20 -2
- package/dist/capabilities.d.ts.map +1 -1
- package/dist/capabilities.js +47 -15
- package/dist/capabilities.js.map +1 -1
- package/dist/diff.d.ts +2 -1
- package/dist/diff.d.ts.map +1 -1
- package/dist/diff.js +26 -2
- package/dist/diff.js.map +1 -1
- package/dist/durable-adapters.d.ts.map +1 -1
- package/dist/durable-adapters.js +16 -3
- package/dist/durable-adapters.js.map +1 -1
- package/dist/durable-effect.d.ts.map +1 -1
- package/dist/durable-effect.js +6 -3
- package/dist/durable-effect.js.map +1 -1
- package/dist/edge-kit.d.ts +2 -0
- package/dist/edge-kit.d.ts.map +1 -1
- package/dist/edge-kit.js +2 -0
- package/dist/edge-kit.js.map +1 -1
- package/dist/effect-lifecycle.d.ts.map +1 -1
- package/dist/effect-lifecycle.js +2 -1
- package/dist/effect-lifecycle.js.map +1 -1
- package/dist/effect-scope.d.ts.map +1 -1
- package/dist/effect-scope.js +1 -1
- package/dist/effect-scope.js.map +1 -1
- package/dist/errors.d.ts +1 -1
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js.map +1 -1
- package/dist/evidence.d.ts +24 -1
- package/dist/evidence.d.ts.map +1 -1
- package/dist/evidence.js +168 -13
- package/dist/evidence.js.map +1 -1
- package/dist/idempotency.d.ts +31 -0
- package/dist/idempotency.d.ts.map +1 -1
- package/dist/idempotency.js +40 -8
- package/dist/idempotency.js.map +1 -1
- package/dist/index.d.ts +8 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -2
- package/dist/index.js.map +1 -1
- package/dist/internal/code-unit-order.d.ts +7 -0
- package/dist/internal/code-unit-order.d.ts.map +1 -0
- package/dist/internal/code-unit-order.js +9 -0
- package/dist/internal/code-unit-order.js.map +1 -0
- package/dist/internal/durable-saga-protocol.d.ts.map +1 -1
- package/dist/internal/durable-saga-protocol.js +2 -0
- package/dist/internal/durable-saga-protocol.js.map +1 -1
- package/dist/internal/route-catalog.d.ts +6 -6
- package/dist/internal/route-catalog.d.ts.map +1 -1
- package/dist/internal/route-catalog.js +20 -18
- package/dist/internal/route-catalog.js.map +1 -1
- package/dist/internal/route-compiler.d.ts +7 -6
- package/dist/internal/route-compiler.d.ts.map +1 -1
- package/dist/internal/route-compiler.js +36 -4
- package/dist/internal/route-compiler.js.map +1 -1
- package/dist/internal/route-execution.d.ts +7 -3
- package/dist/internal/route-execution.d.ts.map +1 -1
- package/dist/internal/route-execution.js.map +1 -1
- package/dist/internal/route-lanes.d.ts +1 -0
- package/dist/internal/route-lanes.d.ts.map +1 -1
- package/dist/internal/route-lanes.js +34 -29
- package/dist/internal/route-lanes.js.map +1 -1
- package/dist/internal/route-program.d.ts +8 -2
- package/dist/internal/route-program.d.ts.map +1 -1
- package/dist/internal/route-program.js +222 -20
- package/dist/internal/route-program.js.map +1 -1
- package/dist/ledger.d.ts.map +1 -1
- package/dist/ledger.js +8 -5
- package/dist/ledger.js.map +1 -1
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +41 -37
- package/dist/manifest.js.map +1 -1
- package/dist/mount.d.ts +36 -0
- package/dist/mount.d.ts.map +1 -1
- package/dist/mount.js +32 -0
- package/dist/mount.js.map +1 -1
- package/dist/reflection.d.ts +26 -0
- package/dist/reflection.d.ts.map +1 -1
- package/dist/reflection.js +65 -1
- package/dist/reflection.js.map +1 -1
- package/dist/response-observer.d.ts +1 -1
- package/dist/response-observer.d.ts.map +1 -1
- package/dist/response-observer.js.map +1 -1
- package/dist/router/overlap.d.ts +23 -0
- package/dist/router/overlap.d.ts.map +1 -0
- package/dist/router/overlap.js +224 -0
- package/dist/router/overlap.js.map +1 -0
- package/dist/router/pattern.d.ts +117 -2
- package/dist/router/pattern.d.ts.map +1 -1
- package/dist/router/pattern.js +283 -23
- package/dist/router/pattern.js.map +1 -1
- package/dist/router/router.d.ts +18 -4
- package/dist/router/router.d.ts.map +1 -1
- package/dist/router/router.js +51 -44
- package/dist/router/router.js.map +1 -1
- package/dist/server/auth.d.ts +53 -0
- package/dist/server/auth.d.ts.map +1 -0
- package/dist/server/auth.js +9 -0
- package/dist/server/auth.js.map +1 -0
- package/dist/server/bare-error-lane.d.ts +12 -7
- package/dist/server/bare-error-lane.d.ts.map +1 -1
- package/dist/server/bare-error-lane.js +13 -11
- package/dist/server/bare-error-lane.js.map +1 -1
- package/dist/server/body-lane.d.ts +20 -2
- package/dist/server/body-lane.d.ts.map +1 -1
- package/dist/server/body-lane.js +26 -7
- package/dist/server/body-lane.js.map +1 -1
- package/dist/server/body-parser.d.ts +68 -0
- package/dist/server/body-parser.d.ts.map +1 -0
- package/dist/server/body-parser.js +172 -0
- package/dist/server/body-parser.js.map +1 -0
- package/dist/server/body.d.ts.map +1 -1
- package/dist/server/body.js +62 -7
- package/dist/server/body.js.map +1 -1
- package/dist/server/client-ip.d.ts +8 -0
- package/dist/server/client-ip.d.ts.map +1 -1
- package/dist/server/client-ip.js +8 -0
- package/dist/server/client-ip.js.map +1 -1
- package/dist/server/context.d.ts +71 -6
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/contract.d.ts +15 -5
- package/dist/server/contract.d.ts.map +1 -1
- package/dist/server/contract.js +25 -4
- package/dist/server/contract.js.map +1 -1
- package/dist/server/core-copies.d.ts +2 -0
- package/dist/server/core-copies.d.ts.map +1 -0
- package/dist/server/core-copies.js +20 -0
- package/dist/server/core-copies.js.map +1 -0
- package/dist/server/edge.d.ts.map +1 -1
- package/dist/server/edge.js +2 -0
- package/dist/server/edge.js.map +1 -1
- package/dist/server/http.d.ts +11 -0
- package/dist/server/http.d.ts.map +1 -1
- package/dist/server/http.js +36 -0
- package/dist/server/http.js.map +1 -1
- package/dist/server/idempotency-lane.d.ts +6 -0
- package/dist/server/idempotency-lane.d.ts.map +1 -1
- package/dist/server/idempotency-lane.js +130 -73
- package/dist/server/idempotency-lane.js.map +1 -1
- package/dist/server/install.d.ts +4 -0
- package/dist/server/install.d.ts.map +1 -1
- package/dist/server/install.js +4 -0
- package/dist/server/install.js.map +1 -1
- package/dist/server/methods.d.ts +45 -0
- package/dist/server/methods.d.ts.map +1 -0
- package/dist/server/methods.js +37 -0
- package/dist/server/methods.js.map +1 -0
- package/dist/server/multipart.d.ts +63 -0
- package/dist/server/multipart.d.ts.map +1 -0
- package/dist/server/multipart.js +374 -0
- package/dist/server/multipart.js.map +1 -0
- package/dist/server/node-outcome-hook.d.ts +20 -0
- package/dist/server/node-outcome-hook.d.ts.map +1 -1
- package/dist/server/node-outcome-hook.js +15 -6
- package/dist/server/node-outcome-hook.js.map +1 -1
- package/dist/server/not-found-answer.d.ts +40 -0
- package/dist/server/not-found-answer.d.ts.map +1 -0
- package/dist/server/not-found-answer.js +56 -0
- package/dist/server/not-found-answer.js.map +1 -0
- package/dist/server/not-found.d.ts +23 -0
- package/dist/server/not-found.d.ts.map +1 -0
- package/dist/server/not-found.js +81 -0
- package/dist/server/not-found.js.map +1 -0
- package/dist/server/plugin.d.ts +26 -1
- package/dist/server/plugin.d.ts.map +1 -1
- package/dist/server/plugin.js.map +1 -1
- package/dist/server/proto-guard.d.ts +18 -5
- package/dist/server/proto-guard.d.ts.map +1 -1
- package/dist/server/proto-guard.js +114 -9
- package/dist/server/proto-guard.js.map +1 -1
- package/dist/server/query.d.ts +7 -0
- package/dist/server/query.d.ts.map +1 -1
- package/dist/server/query.js +47 -0
- package/dist/server/query.js.map +1 -1
- package/dist/server/registry.d.ts +13 -2
- package/dist/server/registry.d.ts.map +1 -1
- package/dist/server/request-context.d.ts +11 -0
- package/dist/server/request-context.d.ts.map +1 -1
- package/dist/server/request-context.js +33 -19
- package/dist/server/request-context.js.map +1 -1
- package/dist/server/request-lineage.d.ts +8 -0
- package/dist/server/request-lineage.d.ts.map +1 -0
- package/dist/server/request-lineage.js +14 -0
- package/dist/server/request-lineage.js.map +1 -0
- package/dist/server/request-target.d.ts +31 -0
- package/dist/server/request-target.d.ts.map +1 -0
- package/dist/server/request-target.js +44 -0
- package/dist/server/request-target.js.map +1 -0
- package/dist/server/respond.d.ts +1 -1
- package/dist/server/respond.d.ts.map +1 -1
- package/dist/server/respond.js +16 -4
- package/dist/server/respond.js.map +1 -1
- package/dist/server/response-contract-lane.d.ts +19 -1
- package/dist/server/response-contract-lane.d.ts.map +1 -1
- package/dist/server/response-contract-lane.js +59 -14
- package/dist/server/response-contract-lane.js.map +1 -1
- package/dist/server/response-observer-runtime.d.ts +9 -5
- package/dist/server/response-observer-runtime.d.ts.map +1 -1
- package/dist/server/response-observer-runtime.js +10 -6
- package/dist/server/response-observer-runtime.js.map +1 -1
- package/dist/server/runtime-core.d.ts +2 -0
- package/dist/server/runtime-core.d.ts.map +1 -1
- package/dist/server/runtime-core.js.map +1 -1
- package/dist/server/server-types.d.ts +53 -3
- package/dist/server/server-types.d.ts.map +1 -1
- package/dist/server/server.d.ts +191 -19
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +1206 -218
- package/dist/server/server.js.map +1 -1
- package/dist/server/sse.d.ts.map +1 -1
- package/dist/server/sse.js +10 -7
- package/dist/server/sse.js.map +1 -1
- package/dist/server/static-headers.d.ts +3 -0
- package/dist/server/static-headers.d.ts.map +1 -1
- package/dist/server/static-headers.js +19 -1
- package/dist/server/static-headers.js.map +1 -1
- package/dist/server/transport-lane.d.ts +8 -0
- package/dist/server/transport-lane.d.ts.map +1 -1
- package/dist/server/transport-lane.js +9 -8
- package/dist/server/transport-lane.js.map +1 -1
- package/dist/server/validation.d.ts.map +1 -1
- package/dist/server/validation.js +5 -1
- package/dist/server/validation.js.map +1 -1
- package/dist/server/websocket.d.ts +10 -3
- package/dist/server/websocket.d.ts.map +1 -1
- package/dist/server/websocket.js +7 -4
- package/dist/server/websocket.js.map +1 -1
- package/dist/server/ws-bun.d.ts +2 -0
- package/dist/server/ws-bun.d.ts.map +1 -1
- package/dist/server/ws-bun.js +6 -3
- package/dist/server/ws-bun.js.map +1 -1
- package/dist/server/ws-hook.d.ts +2 -1
- package/dist/server/ws-hook.d.ts.map +1 -1
- package/dist/server.d.ts +7 -4
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +4 -1
- package/dist/server.js.map +1 -1
- package/dist/single-copy-register.js +5 -0
- package/dist/single-copy-register.js.map +1 -1
- package/dist/single-copy.d.ts +46 -3
- package/dist/single-copy.d.ts.map +1 -1
- package/dist/single-copy.js +125 -12
- package/dist/single-copy.js.map +1 -1
- package/dist/tool-contract.d.ts +23 -0
- package/dist/tool-contract.d.ts.map +1 -1
- package/dist/tool-contract.js +37 -3
- package/dist/tool-contract.js.map +1 -1
- package/dist/transport-codec.d.ts.map +1 -1
- package/dist/transport-codec.js +2 -1
- package/dist/transport-codec.js.map +1 -1
- package/package.json +27 -2
- package/src/assurance.ts +52 -2
- package/src/capabilities.ts +81 -22
- package/src/diff.ts +31 -6
- package/src/durable-adapters.ts +20 -3
- package/src/durable-effect.ts +10 -3
- package/src/edge-kit.ts +7 -0
- package/src/effect-lifecycle.ts +5 -1
- package/src/effect-scope.ts +2 -1
- package/src/errors.ts +3 -0
- package/src/evidence.ts +237 -12
- package/src/idempotency.ts +72 -8
- package/src/index.ts +40 -3
- package/src/internal/code-unit-order.ts +8 -0
- package/src/internal/durable-saga-protocol.ts +2 -0
- package/src/internal/route-catalog.ts +19 -18
- package/src/internal/route-compiler.ts +62 -13
- package/src/internal/route-execution.ts +13 -3
- package/src/internal/route-lanes.ts +37 -28
- package/src/internal/route-program.ts +434 -20
- package/src/ledger.ts +11 -5
- package/src/manifest.ts +41 -36
- package/src/mount.ts +62 -0
- package/src/reflection.ts +84 -1
- package/src/response-observer.ts +1 -0
- package/src/router/overlap.ts +258 -0
- package/src/router/pattern.ts +349 -25
- package/src/router/router.ts +76 -51
- package/src/server/auth.ts +75 -0
- package/src/server/bare-error-lane.ts +12 -11
- package/src/server/body-lane.ts +46 -6
- package/src/server/body-parser.ts +241 -0
- package/src/server/body.ts +82 -9
- package/src/server/client-ip.ts +9 -0
- package/src/server/context.ts +219 -12
- package/src/server/contract.ts +54 -9
- package/src/server/core-copies.ts +21 -0
- package/src/server/edge.ts +2 -0
- package/src/server/http.ts +34 -0
- package/src/server/idempotency-lane.ts +147 -72
- package/src/server/install.ts +6 -0
- package/src/server/methods.ts +143 -0
- package/src/server/multipart.ts +424 -0
- package/src/server/node-outcome-hook.ts +40 -7
- package/src/server/not-found-answer.ts +109 -0
- package/src/server/not-found.ts +121 -0
- package/src/server/plugin.ts +45 -1
- package/src/server/proto-guard.ts +128 -9
- package/src/server/query.ts +49 -0
- package/src/server/registry.ts +17 -2
- package/src/server/request-context.ts +44 -16
- package/src/server/request-lineage.ts +15 -0
- package/src/server/request-target.ts +46 -0
- package/src/server/respond.ts +14 -3
- package/src/server/response-contract-lane.ts +97 -16
- package/src/server/response-observer-runtime.ts +37 -8
- package/src/server/runtime-core.ts +2 -0
- package/src/server/server-types.ts +59 -2
- package/src/server/server.ts +1613 -269
- package/src/server/sse.ts +10 -8
- package/src/server/static-headers.ts +22 -1
- package/src/server/transport-lane.ts +17 -9
- package/src/server/validation.ts +7 -1
- package/src/server/websocket.ts +23 -9
- package/src/server/ws-bun.ts +8 -3
- package/src/server/ws-hook.ts +2 -1
- package/src/server.ts +38 -2
- package/src/single-copy-register.ts +5 -0
- package/src/single-copy.ts +160 -12
- package/src/tool-contract.ts +66 -3
- package/src/transport-codec.ts +2 -1
package/dist/idempotency.js
CHANGED
|
@@ -11,6 +11,8 @@
|
|
|
11
11
|
*/
|
|
12
12
|
/** Default retention for a stored idempotent response: 24 hours. */
|
|
13
13
|
export const DEFAULT_IDEMPOTENCY_TTL_MS = 86_400_000;
|
|
14
|
+
/** Default lease on a key whose handler is still running, with a store that can renew it: 60 seconds. */
|
|
15
|
+
export const DEFAULT_IDEMPOTENCY_PENDING_TTL_MS = 60_000;
|
|
14
16
|
/** Canonical request header carrying the client-chosen idempotency key. */
|
|
15
17
|
export const DEFAULT_IDEMPOTENCY_HEADER = "idempotency-key";
|
|
16
18
|
/** Header stamped on a replayed response so clients/proxies can tell a replay from a fresh run. */
|
|
@@ -225,14 +227,20 @@ export function responseFromStored(stored, options = {}) {
|
|
|
225
227
|
export class MemoryIdempotencyStore {
|
|
226
228
|
durability = "memory";
|
|
227
229
|
entries = new Map();
|
|
230
|
+
perNamespace = new Map();
|
|
228
231
|
now;
|
|
229
232
|
maxEntries;
|
|
233
|
+
maxPerNamespace;
|
|
230
234
|
constructor(options = {}) {
|
|
231
235
|
this.now = options.now ?? Date.now;
|
|
232
236
|
this.maxEntries = options.maxEntries ?? 10_000;
|
|
233
237
|
if (!Number.isInteger(this.maxEntries) || this.maxEntries < 1) {
|
|
234
238
|
throw new RangeError("idempotency: maxEntries must be a positive integer");
|
|
235
239
|
}
|
|
240
|
+
this.maxPerNamespace = options.maxEntriesPerNamespace ?? this.maxEntries;
|
|
241
|
+
if (!Number.isInteger(this.maxPerNamespace) || this.maxPerNamespace < 1) {
|
|
242
|
+
throw new RangeError("idempotency: maxEntriesPerNamespace must be a positive integer");
|
|
243
|
+
}
|
|
236
244
|
}
|
|
237
245
|
begin(input) {
|
|
238
246
|
const storageKey = this.storageKey(input);
|
|
@@ -245,18 +253,20 @@ export class MemoryIdempotencyStore {
|
|
|
245
253
|
return { state: "in-flight" };
|
|
246
254
|
}
|
|
247
255
|
if (existing !== undefined)
|
|
248
|
-
this.
|
|
249
|
-
if (this.
|
|
256
|
+
this.drop(storageKey, existing);
|
|
257
|
+
if (this.full(input.namespace)) {
|
|
250
258
|
this.sweep();
|
|
251
|
-
if (this.
|
|
259
|
+
if (this.full(input.namespace))
|
|
252
260
|
return { state: "capacity" };
|
|
253
261
|
}
|
|
254
262
|
const reservation = crypto.randomUUID();
|
|
263
|
+
this.perNamespace.set(input.namespace, (this.perNamespace.get(input.namespace) ?? 0) + 1);
|
|
255
264
|
this.entries.set(storageKey, {
|
|
265
|
+
namespace: input.namespace,
|
|
256
266
|
fingerprint: input.fingerprint,
|
|
257
267
|
reservation,
|
|
258
268
|
ttlMs: input.ttlMs,
|
|
259
|
-
expiresAt: this.now() + input.ttlMs,
|
|
269
|
+
expiresAt: this.now() + (input.pendingTtlMs ?? input.ttlMs),
|
|
260
270
|
response: undefined,
|
|
261
271
|
});
|
|
262
272
|
return { state: "new", reservation };
|
|
@@ -267,7 +277,7 @@ export class MemoryIdempotencyStore {
|
|
|
267
277
|
if (entry === undefined || entry.reservation !== input.reservation)
|
|
268
278
|
return false;
|
|
269
279
|
if (entry.expiresAt <= this.now()) {
|
|
270
|
-
this.
|
|
280
|
+
this.drop(key, entry);
|
|
271
281
|
return false;
|
|
272
282
|
}
|
|
273
283
|
entry.response = input.response;
|
|
@@ -278,24 +288,34 @@ export class MemoryIdempotencyStore {
|
|
|
278
288
|
const key = this.storageKey(input);
|
|
279
289
|
const entry = this.entries.get(key);
|
|
280
290
|
if (entry !== undefined && entry.expiresAt <= this.now()) {
|
|
281
|
-
this.
|
|
291
|
+
this.drop(key, entry);
|
|
282
292
|
return false;
|
|
283
293
|
}
|
|
284
294
|
// Only drop a still-pending reservation; never evict a completed (replayable) response.
|
|
285
295
|
if (entry !== undefined &&
|
|
286
296
|
entry.response === undefined &&
|
|
287
297
|
entry.reservation === input.reservation) {
|
|
288
|
-
this.
|
|
298
|
+
this.drop(key, entry);
|
|
289
299
|
return true;
|
|
290
300
|
}
|
|
291
301
|
return false;
|
|
292
302
|
}
|
|
303
|
+
renew(input) {
|
|
304
|
+
const entry = this.entries.get(this.storageKey(input));
|
|
305
|
+
if (entry?.reservation !== input.reservation ||
|
|
306
|
+
entry.response !== undefined ||
|
|
307
|
+
entry.expiresAt <= this.now()) {
|
|
308
|
+
return false;
|
|
309
|
+
}
|
|
310
|
+
entry.expiresAt = this.now() + input.ttlMs;
|
|
311
|
+
return true;
|
|
312
|
+
}
|
|
293
313
|
/** Evict expired entries. Callers may run this on an interval; access-time eviction covers the rest. */
|
|
294
314
|
sweep() {
|
|
295
315
|
const now = this.now();
|
|
296
316
|
for (const [key, entry] of this.entries) {
|
|
297
317
|
if (entry.expiresAt <= now)
|
|
298
|
-
this.
|
|
318
|
+
this.drop(key, entry);
|
|
299
319
|
}
|
|
300
320
|
}
|
|
301
321
|
/** Live entry count (post-sweep semantics are the caller's; this is a raw size for tests/metrics). */
|
|
@@ -305,6 +325,18 @@ export class MemoryIdempotencyStore {
|
|
|
305
325
|
storageKey(input) {
|
|
306
326
|
return `${input.namespace.length}:${input.namespace}${input.key}`;
|
|
307
327
|
}
|
|
328
|
+
full(namespace) {
|
|
329
|
+
return (this.entries.size >= this.maxEntries ||
|
|
330
|
+
(this.perNamespace.get(namespace) ?? 0) >= this.maxPerNamespace);
|
|
331
|
+
}
|
|
332
|
+
drop(key, entry) {
|
|
333
|
+
this.entries.delete(key);
|
|
334
|
+
const left = (this.perNamespace.get(entry.namespace) ?? 1) - 1;
|
|
335
|
+
if (left > 0)
|
|
336
|
+
this.perNamespace.set(entry.namespace, left);
|
|
337
|
+
else
|
|
338
|
+
this.perNamespace.delete(entry.namespace);
|
|
339
|
+
}
|
|
308
340
|
}
|
|
309
341
|
/** Convenience factory mirroring the other core primitives' `create*` style. */
|
|
310
342
|
export function createMemoryIdempotencyStore(options) {
|
package/dist/idempotency.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../src/idempotency.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../src/idempotency.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,22 +15,25 @@
|
|
|
15
15
|
* read its own package.json at runtime. `scripts/version.ts` rewrites it on every release bump and
|
|
16
16
|
* `check:publish` asserts it equals `@nifrajs/core`'s package version.
|
|
17
17
|
*/
|
|
18
|
-
export declare const VERSION: "
|
|
18
|
+
export declare const VERSION: "4.0.2";
|
|
19
19
|
export type Version = typeof VERSION;
|
|
20
20
|
export { FrameworkError, RouteConfigError, type RouteConfigErrorCode } from "./errors.js";
|
|
21
21
|
export { FRAMEWORK_NAME, type FrameworkName } from "./internal/brand.js";
|
|
22
22
|
export { isSameOriginRequest } from "./internal/same-origin.js";
|
|
23
|
-
export {
|
|
23
|
+
export { ROUTE_PATTERN_OVERLAP_MAX_STATES, RoutePatternOverlapLimitError, routePatternOverlap, } from "./router/overlap.js";
|
|
24
|
+
export { METHODS, type Method, type RouteMethod, Router, type RouterMatch, } from "./router/router.js";
|
|
24
25
|
export type { InferInput, InferOutput, StandardIssue, StandardResult, StandardSchemaV1, StandardTypes, ValidationOutcome, } from "./schema/standard.js";
|
|
25
|
-
export type
|
|
26
|
+
export { type AuthenticationFailure, type AuthenticationFailureReason, type AuthenticationInput, type AuthenticationResult, type AuthenticationStage, type AuthenticationSuccess, type AuthHeaders, type AuthMaybePromise, authenticated, rejected, } from "./server/auth.js";
|
|
27
|
+
export type { Context, Params, Platform, Prettify, RequestPath, ResponseControls, RouteSchema, } from "./server/context.js";
|
|
26
28
|
export { type CookieOptions, type CookieSecret, cookieNamePrefix, hasDuplicateCookie, parseCookies, serializeCookie, signValue, unsignValue, } from "./server/cookies.js";
|
|
27
29
|
export { type DurableObjectNamespaceLike, type ExecutionContext, type ScheduledController, type ScheduledHandler, toFetchHandler, } from "./server/edge.js";
|
|
28
30
|
export { isSameOriginPath, pathnameOf, type UrlParts, urlPartsOf } from "./server/http.js";
|
|
29
31
|
export { commonSecretPatterns, jsonLogger, type LogFields, type Logger, type RedactOptions, redactLogFields, silentLogger, } from "./server/logger.js";
|
|
30
32
|
export { type FetchApp, type LambdaEvent, type LambdaHandler, type LambdaResponse, type LambdaV1Event, type LambdaV2Event, type NetlifyEvent, type NetlifyHandler, type PlatformResponse, toLambdaHandler, toNetlifyHandler, toVercelHandler, type VercelHandler, } from "./server/platform-adapters.js";
|
|
31
|
-
export type { Registry, ResponseMapFor, RouteInfo, RouteInfoFor } from "./server/registry.js";
|
|
33
|
+
export type { JoinRoutePath, PrefixRegistry, Registry, ResponseMapFor, RouteInfo, RouteInfoFor, } from "./server/registry.js";
|
|
34
|
+
export { replacedRequestOf } from "./server/request-lineage.js";
|
|
32
35
|
export { type PlainRender, type ResponseResult, type StatusResponse, status, } from "./server/runtime-core.js";
|
|
33
|
-
export { type AdmissionController, type AdmissionDecision, type AnyServer, type ContextPlugin, type DefinePluginResult, defineContextPlugin, defineIdentityPlugin, definePlugin, defineRouterPlugin, type Handler, type IdentityPlugin, type McpPromptDescriptor, type McpResourceDescriptor, type Middleware, type NifraFeatureVersion, type NifraPlugin, type NodeRequestContext, type NodeRequestHook, type NodeResponseContext, type NodeResponseHook, type NodeServeOutcome, type OnRequestResult, type PluginTypeCollapsed, type PromptArgument, type PromptMessage, type ResponseBodyHook, type ResponseBodyReplacement, type ResponseFinalization, type ResponseHeadersHook, type ResponseHeadersView, type RouteDescriptor, type RunningServer, Server, type ServerOptions, server, type ToolAnnotations, } from "./server/server.js";
|
|
36
|
+
export { type AdmissionController, type AdmissionDecision, type AnyServer, type ContextPlugin, type DefinePluginResult, defineContextPlugin, defineIdentityPlugin, definePlugin, defineRouterPlugin, type Handler, type IdentityPlugin, type ListenTlsOptions, type McpPromptDescriptor, type McpResourceDescriptor, type Middleware, type MountableApp, type MountFetchOptions, type MountOptions, type NifraFeatureVersion, type NifraPlugin, type NodeRequestContext, type NodeRequestHook, type NodeResponseBodyHook, type NodeResponseContext, type NodeResponseHook, type NodeServeOutcome, type OnRequestResult, type PluginTypeCollapsed, type PromptArgument, type PromptMessage, type ResponseBodyHook, type ResponseBodyReplacement, type ResponseFinalization, type ResponseHeadersHook, type ResponseHeadersView, type RouteDescriptor, type RunningServer, Server, type ServerOptions, server, type ToolAnnotations, } from "./server/server.js";
|
|
34
37
|
export type { SSEContext, SSEInit, SSEMessage, SSEStream, TypedSSEStream, } from "./server/sse.js";
|
|
35
38
|
export type { NifraWebSocket, StandardWebSocket, WebSocketContext, WebSocketData, WebSocketHandler, WebSocketUpgradeOutcome, } from "./server/websocket.js";
|
|
36
39
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;GAIG;AACH,eAAO,MAAM,OAAO,EAAG,OAAgB,CAAA;AAEvC,MAAM,MAAM,OAAO,GAAG,OAAO,OAAO,CAAA;AAEpC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,KAAK,oBAAoB,EAAE,MAAM,aAAa,CAAA;AACzF,OAAO,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -15,16 +15,19 @@
|
|
|
15
15
|
* read its own package.json at runtime. `scripts/version.ts` rewrites it on every release bump and
|
|
16
16
|
* `check:publish` asserts it equals `@nifrajs/core`'s package version.
|
|
17
17
|
*/
|
|
18
|
-
export const VERSION = "
|
|
18
|
+
export const VERSION = "4.0.2";
|
|
19
19
|
export { FrameworkError, RouteConfigError } from "./errors.js";
|
|
20
20
|
export { FRAMEWORK_NAME } from "./internal/brand.js";
|
|
21
21
|
export { isSameOriginRequest } from "./internal/same-origin.js";
|
|
22
|
-
export {
|
|
22
|
+
export { ROUTE_PATTERN_OVERLAP_MAX_STATES, RoutePatternOverlapLimitError, routePatternOverlap, } from "./router/overlap.js";
|
|
23
|
+
export { METHODS, Router, } from "./router/router.js";
|
|
24
|
+
export { authenticated, rejected, } from "./server/auth.js";
|
|
23
25
|
export { cookieNamePrefix, hasDuplicateCookie, parseCookies, serializeCookie, signValue, unsignValue, } from "./server/cookies.js";
|
|
24
26
|
export { toFetchHandler, } from "./server/edge.js";
|
|
25
27
|
export { isSameOriginPath, pathnameOf, urlPartsOf } from "./server/http.js";
|
|
26
28
|
export { commonSecretPatterns, jsonLogger, redactLogFields, silentLogger, } from "./server/logger.js";
|
|
27
29
|
export { toLambdaHandler, toNetlifyHandler, toVercelHandler, } from "./server/platform-adapters.js";
|
|
30
|
+
export { replacedRequestOf } from "./server/request-lineage.js";
|
|
28
31
|
export { status, } from "./server/runtime-core.js";
|
|
29
32
|
export { defineContextPlugin, defineIdentityPlugin, definePlugin, defineRouterPlugin, Server, server, } from "./server/server.js";
|
|
30
33
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAgB,CAAA;AAIvC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAA6B,MAAM,aAAa,CAAA;AACzF,OAAO,EAAE,cAAc,EAAsB,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH;;;;GAIG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAgB,CAAA;AAIvC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAA6B,MAAM,aAAa,CAAA;AACzF,OAAO,EAAE,cAAc,EAAsB,MAAM,qBAAqB,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAA;AAC/D,OAAO,EACL,gCAAgC,EAChC,6BAA6B,EAC7B,mBAAmB,GACpB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EACL,OAAO,EAGP,MAAM,GAEP,MAAM,oBAAoB,CAAA;AAU3B,OAAO,EASL,aAAa,EACb,QAAQ,GACT,MAAM,kBAAkB,CAAA;AAUzB,OAAO,EAGL,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,eAAe,EACf,SAAS,EACT,WAAW,GACZ,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAKL,cAAc,GACf,MAAM,kBAAkB,CAAA;AACzB,OAAO,EAAE,gBAAgB,EAAE,UAAU,EAAiB,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC1F,OAAO,EACL,oBAAoB,EACpB,UAAU,EAIV,eAAe,EACf,YAAY,GACb,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EAUL,eAAe,EACf,gBAAgB,EAChB,eAAe,GAEhB,MAAM,+BAA+B,CAAA;AAStC,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAIL,MAAM,GACP,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAML,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,kBAAkB,EA6BlB,MAAM,EAEN,MAAM,GAEP,MAAM,oBAAoB,CAAA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code-unit order, the same on every runtime and in every locale. `localeCompare` answers by the
|
|
3
|
+
* runtime's locale and ICU data, so an artifact that is hashed, signed, or committed sorts with this
|
|
4
|
+
* instead: its bytes must not depend on the machine that built it.
|
|
5
|
+
*/
|
|
6
|
+
export declare function codeUnitOrder(a: string, b: string): number;
|
|
7
|
+
//# sourceMappingURL=code-unit-order.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-unit-order.d.ts","sourceRoot":"","sources":["../../src/internal/code-unit-order.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAE1D"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Code-unit order, the same on every runtime and in every locale. `localeCompare` answers by the
|
|
3
|
+
* runtime's locale and ICU data, so an artifact that is hashed, signed, or committed sorts with this
|
|
4
|
+
* instead: its bytes must not depend on the machine that built it.
|
|
5
|
+
*/
|
|
6
|
+
export function codeUnitOrder(a, b) {
|
|
7
|
+
return a < b ? -1 : a > b ? 1 : 0;
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=code-unit-order.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-unit-order.js","sourceRoot":"","sources":["../../src/internal/code-unit-order.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,aAAa,CAAC,CAAS,EAAE,CAAS;IAChD,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACnC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-saga-protocol.d.ts","sourceRoot":"","sources":["../../src/internal/durable-saga-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE1F,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAElF,MAAM,WAAW,mBAAmB;IAClC,UAAU,CACR,OAAO,EAAE,UAAU,GAAG,SAAS,EAC/B,KAAK,EAAE,0BAA0B,GAChC,UAAU,GAAG,SAAS,CAAA;IACzB,QAAQ,CACN,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,MAAM,GAChB,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;CAC/B;
|
|
1
|
+
{"version":3,"file":"durable-saga-protocol.d.ts","sourceRoot":"","sources":["../../src/internal/durable-saga-protocol.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAE1F,MAAM,MAAM,0BAA0B,GAAG,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AAElF,MAAM,WAAW,mBAAmB;IAClC,UAAU,CACR,OAAO,EAAE,UAAU,GAAG,SAAS,EAC/B,KAAK,EAAE,0BAA0B,GAChC,UAAU,GAAG,SAAS,CAAA;IACzB,QAAQ,CACN,MAAM,EAAE,UAAU,EAClB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,SAAS,EAChB,SAAS,EAAE,MAAM,GAChB,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAA;CAC/B;AAqCD,eAAO,MAAM,mBAAmB,EAAE,mBAGhC,CAAA"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
function transitionSaga(current, input) {
|
|
2
2
|
if (input.record.version !== input.version + 1 ||
|
|
3
|
+
// A record filed under another saga's key could never load again, and scans would act on its id.
|
|
4
|
+
input.record.sagaId !== input.sagaId ||
|
|
3
5
|
(current !== undefined &&
|
|
4
6
|
(current.sagaId !== input.sagaId || current.version !== input.version))) {
|
|
5
7
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"durable-saga-protocol.js","sourceRoot":"","sources":["../../src/internal/durable-saga-protocol.ts"],"names":[],"mappings":"AAkBA,SAAS,cAAc,CACrB,OAA+B,EAC/B,KAAiC;IAEjC,IACE,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,GAAG,CAAC;QAC1C,CAAC,OAAO,KAAK,SAAS;YACpB,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,EACzE,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED,SAAS,YAAY,CACnB,MAAkB,EAClB,KAAa,EACb,IAAoB,EACpB,KAAgB,EAChB,SAAiB;IAEjB,OAAO;QACL,GAAG,MAAM;QACT,KAAK;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,CAC7C,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAC3D,CACF;QACD,SAAS;KACV,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAwB,MAAM,CAAC,MAAM,CAAC;IACpE,UAAU,EAAE,cAAc;IAC1B,QAAQ,EAAE,YAAY;CACvB,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"durable-saga-protocol.js","sourceRoot":"","sources":["../../src/internal/durable-saga-protocol.ts"],"names":[],"mappings":"AAkBA,SAAS,cAAc,CACrB,OAA+B,EAC/B,KAAiC;IAEjC,IACE,KAAK,CAAC,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,GAAG,CAAC;QAC1C,iGAAiG;QACjG,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM;QACpC,CAAC,OAAO,KAAK,SAAS;YACpB,CAAC,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO,CAAC,CAAC,EACzE,CAAC;QACD,OAAO,SAAS,CAAA;IAClB,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED,SAAS,YAAY,CACnB,MAAkB,EAClB,KAAa,EACb,IAAoB,EACpB,KAAgB,EAChB,SAAiB;IAEjB,OAAO;QACL,GAAG,MAAM;QACT,KAAK;QACL,KAAK,EAAE,MAAM,CAAC,MAAM,CAClB,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,cAAc,EAAE,EAAE,CAC7C,cAAc,KAAK,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAC3D,CACF;QACD,SAAS;KACV,CAAA;AACH,CAAC;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAwB,MAAM,CAAC,MAAM,CAAC;IACpE,UAAU,EAAE,cAAc;IAC1B,QAAQ,EAAE,YAAY;CACvB,CAAC,CAAA"}
|
|
@@ -16,14 +16,14 @@
|
|
|
16
16
|
* registration.
|
|
17
17
|
*/
|
|
18
18
|
import type { CompiledRoutePattern } from "../router/pattern.js";
|
|
19
|
-
import { type
|
|
19
|
+
import { type RouterMatch } from "../router/router.js";
|
|
20
20
|
import type { RouteDescriptor } from "../server/server-types.js";
|
|
21
21
|
import type { AssuranceDeclaration } from "./route-assurance.js";
|
|
22
22
|
import type { RouteEntry } from "./route-execution.js";
|
|
23
23
|
/** One canonical runtime route fact. The catalog owns matching, reflection, assurance, tool metadata,
|
|
24
24
|
* replay, and native compilation input so batch registration has one commit point. */
|
|
25
25
|
export interface CatalogRoute {
|
|
26
|
-
readonly method:
|
|
26
|
+
readonly method: string;
|
|
27
27
|
readonly path: string;
|
|
28
28
|
readonly pattern: CompiledRoutePattern;
|
|
29
29
|
readonly entry: RouteEntry;
|
|
@@ -31,10 +31,10 @@ export interface CatalogRoute {
|
|
|
31
31
|
readonly assurance: readonly AssuranceDeclaration[];
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
|
-
* Runtime route catalog. Single-route registration mutates directly
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
34
|
+
* Runtime route catalog. Single-route registration mutates directly. A batch adds its routes the same
|
|
35
|
+
* way and, if one is rejected, restores the catalog to what it was before the batch. A failed
|
|
36
|
+
* `implement()`/`merge()` batch therefore leaves matching and reflection unchanged, and a batch that
|
|
37
|
+
* validates costs what its routes cost one by one.
|
|
38
38
|
*
|
|
39
39
|
* Coverage note: this file reports 90% functions with every method exercised. `bun test --coverage`
|
|
40
40
|
* (1.3.14) counts one synthetic function per class that it never marks hit - a one-method class with a
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-catalog.d.ts","sourceRoot":"","sources":["../../src/internal/route-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,
|
|
1
|
+
{"version":3,"file":"route-catalog.d.ts","sourceRoot":"","sources":["../../src/internal/route-catalog.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,EAAU,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAA;AAC9D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAChE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAChE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEtD;sFACsF;AACtF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,OAAO,EAAE,oBAAoB,CAAA;IACtC,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAA;IAC1B,QAAQ,CAAC,UAAU,EAAE,eAAe,CAAA;IACpC,QAAQ,CAAC,SAAS,EAAE,SAAS,oBAAoB,EAAE,CAAA;CACpD;AAED;;;;;;;;;;GAUG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAA2B;IAC1C,OAAO,CAAC,OAAO,CAAqB;IACpC,qGAAqG;IACrG,OAAO,CAAC,WAAW,CAAwB;IAC3C,OAAO,CAAC,gBAAgB,CAAQ;IAEhC,GAAG,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI;IAO9B,QAAQ,CAAC,MAAM,EAAE,SAAS,YAAY,EAAE,GAAG,IAAI;IAgB/C,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,CAAC,UAAU,CAAC;IAI3D,OAAO,IAAI,SAAS,YAAY,EAAE;IAIlC;kEAC8D;IAC9D,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,gBAAgB,IAAI,aAAa,CAAC,eAAe,CAAC;IAIlD,cAAc,IAAI,eAAe,GAAG,SAAS;IAI7C,YAAY,IAAI,OAAO;CAGxB"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { Router } from "../router/router.js";
|
|
2
2
|
/**
|
|
3
|
-
* Runtime route catalog. Single-route registration mutates directly
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
3
|
+
* Runtime route catalog. Single-route registration mutates directly. A batch adds its routes the same
|
|
4
|
+
* way and, if one is rejected, restores the catalog to what it was before the batch. A failed
|
|
5
|
+
* `implement()`/`merge()` batch therefore leaves matching and reflection unchanged, and a batch that
|
|
6
|
+
* validates costs what its routes cost one by one.
|
|
7
7
|
*
|
|
8
8
|
* Coverage note: this file reports 90% functions with every method exercised. `bun test --coverage`
|
|
9
9
|
* (1.3.14) counts one synthetic function per class that it never marks hit - a one-method class with a
|
|
@@ -24,20 +24,22 @@ export class RouteCatalog {
|
|
|
24
24
|
this.assurancePresent = true;
|
|
25
25
|
}
|
|
26
26
|
addBatch(routes) {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
27
|
+
const kept = this.records.length;
|
|
28
|
+
const assurancePresent = this.assurancePresent;
|
|
29
|
+
try {
|
|
30
|
+
for (const route of routes)
|
|
31
|
+
this.add(route);
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
// The rejected route may have left nodes in the trie, so the matcher is not patched: it is
|
|
35
|
+
// rebuilt from the routes that were there before the batch. They validated once already.
|
|
36
|
+
this.records.length = this.descriptors.length = kept;
|
|
37
|
+
this.assurancePresent = assurancePresent;
|
|
38
|
+
this.matcher = new Router();
|
|
39
|
+
for (const route of this.records)
|
|
40
|
+
this.matcher.add(route.method, route.pattern, route.entry);
|
|
41
|
+
throw error;
|
|
42
|
+
}
|
|
41
43
|
}
|
|
42
44
|
find(method, path) {
|
|
43
45
|
return this.matcher.find(method, path);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-catalog.js","sourceRoot":"","sources":["../../src/internal/route-catalog.ts"],"names":[],"mappings":"AAkBA,OAAO,
|
|
1
|
+
{"version":3,"file":"route-catalog.js","sourceRoot":"","sources":["../../src/internal/route-catalog.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAE,MAAM,EAAoB,MAAM,qBAAqB,CAAA;AAgB9D;;;;;;;;;;GAUG;AACH,MAAM,OAAO,YAAY;IACf,OAAO,GAAG,IAAI,MAAM,EAAc,CAAA;IAClC,OAAO,GAAmB,EAAE,CAAA;IACpC,qGAAqG;IAC7F,WAAW,GAAsB,EAAE,CAAA;IACnC,gBAAgB,GAAG,KAAK,CAAA;IAEhC,GAAG,CAAC,KAAmB;QACrB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QAC1D,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;QACvC,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAA;IAC9D,CAAC;IAED,QAAQ,CAAC,MAA+B;QACtC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;QAChC,MAAM,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAA;QAC9C,IAAI,CAAC;YACH,KAAK,MAAM,KAAK,IAAI,MAAM;gBAAE,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QAC7C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,2FAA2F;YAC3F,yFAAyF;YACzF,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,GAAG,IAAI,CAAA;YACpD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAA;YACxC,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,EAAc,CAAA;YACvC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO;gBAAE,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;YAC5F,MAAM,KAAK,CAAA;QACb,CAAC;IACH,CAAC;IAED,IAAI,CAAC,MAAc,EAAE,IAAY;QAC/B,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACxC,CAAC;IAED,OAAO;QACL,OAAO,IAAI,CAAC,OAAO,CAAA;IACrB,CAAC;IAED;kEAC8D;IAC9D,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAA;IAC5B,CAAC;IAED,gBAAgB;QACd,OAAO,IAAI,CAAC,WAAW,CAAA;IACzB,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE,UAAU,CAAA;IAC1D,CAAC;IAED,YAAY;QACV,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAC9B,CAAC;CACF"}
|
|
@@ -12,15 +12,13 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import type { EffectLifecycleObserver } from "../effect-lifecycle.js";
|
|
14
14
|
import { type CompiledRoutePattern } from "../router/pattern.js";
|
|
15
|
-
import type { Method } from "../router/router.js";
|
|
16
|
-
import type { StandardSchemaV1 } from "../schema/standard.js";
|
|
17
15
|
import type { RouteSchema } from "../server/context.js";
|
|
18
16
|
import type { IdempotencyRuntime, ResolvedIdempotency } from "../server/idempotency-lane.js";
|
|
19
17
|
import type { EffectLedgerRuntime, ResolvedEffectLedger } from "../server/ledger-lane.js";
|
|
20
|
-
import type { ResponseContractRuntime } from "../server/response-contract-lane.js";
|
|
18
|
+
import type { ResponseContractDefinition, ResponseContractRuntime } from "../server/response-contract-lane.js";
|
|
21
19
|
import { type CapabilityUseEvent, type RegisteredCapabilityInterceptor } from "./capability-runtime.js";
|
|
22
20
|
import { type AssuranceDeclaration } from "./route-assurance.js";
|
|
23
|
-
import type { RawAfterHandle, RawAround, RawBeforeHandle, RawDerive, RawErrorHandler } from "./route-execution.js";
|
|
21
|
+
import type { RawAfterHandle, RawAround, RawAuthStage, RawBeforeHandle, RawDerive, RawErrorHandler } from "./route-execution.js";
|
|
24
22
|
import { type RouteLaneSelection } from "./route-lanes.js";
|
|
25
23
|
export interface RouteCompilerContext {
|
|
26
24
|
readonly maxBodyBytes: number;
|
|
@@ -34,6 +32,7 @@ export interface RouteCompilerContext {
|
|
|
34
32
|
readonly idempotencyRuntime: IdempotencyRuntime | undefined;
|
|
35
33
|
readonly responseContractRuntime: ResponseContractRuntime | undefined;
|
|
36
34
|
readonly derives: readonly RawDerive[];
|
|
35
|
+
readonly authStages: readonly RawAuthStage[];
|
|
37
36
|
readonly beforeHandleHooks: readonly RawBeforeHandle[];
|
|
38
37
|
readonly afterHandleHooks: readonly RawAfterHandle[];
|
|
39
38
|
readonly onErrorHooks: readonly RawErrorHandler[];
|
|
@@ -51,11 +50,13 @@ export interface CompiledRouteOptions {
|
|
|
51
50
|
readonly ledgered: ResolvedEffectLedger | undefined;
|
|
52
51
|
readonly responseContract: {
|
|
53
52
|
readonly runtime: ResponseContractRuntime;
|
|
54
|
-
readonly
|
|
53
|
+
readonly definition: ResponseContractDefinition;
|
|
55
54
|
} | undefined;
|
|
56
55
|
readonly lanes: RouteLaneSelection;
|
|
57
56
|
readonly routeAssurance: readonly AssuranceDeclaration[];
|
|
57
|
+
readonly authStages: readonly RawAuthStage[];
|
|
58
|
+
readonly authenticated: boolean;
|
|
58
59
|
}
|
|
59
60
|
/** Resolve all registration-time policy and lane facts for one route. */
|
|
60
|
-
export declare function compileRouteOptions(context: RouteCompilerContext, method:
|
|
61
|
+
export declare function compileRouteOptions(context: RouteCompilerContext, method: string, path: string, schema: RouteSchema | undefined, handler: (context: never) => unknown): CompiledRouteOptions;
|
|
61
62
|
//# sourceMappingURL=route-compiler.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-compiler.d.ts","sourceRoot":"","sources":["../../src/internal/route-compiler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAErE,OAAO,EAAE,KAAK,oBAAoB,EAAuB,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"route-compiler.d.ts","sourceRoot":"","sources":["../../src/internal/route-compiler.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,17 @@ export function compileRouteOptions(context, method, path, schema, handler) {
|
|
|
11
11
|
const invalidBodyLimit = (message) => {
|
|
12
12
|
throw new RouteConfigError("INVALID_BODY_LIMIT", `route ${method} ${path}: ${message}`);
|
|
13
13
|
};
|
|
14
|
+
if (schema?.wire !== undefined && schema.wire !== "raw") {
|
|
15
|
+
throw new RouteConfigError("INVALID_WIRE", `route ${method} ${path}: wire must be "raw"`);
|
|
16
|
+
}
|
|
17
|
+
if (schema?.wire === "raw" && schema.body !== undefined) {
|
|
18
|
+
throw new RouteConfigError("INVALID_WIRE", `route ${method} ${path}: wire: "raw" cannot be combined with a body schema`);
|
|
19
|
+
}
|
|
20
|
+
if (schema?.validationOrder !== undefined &&
|
|
21
|
+
schema.validationOrder !== "validate-before-auth" &&
|
|
22
|
+
schema.validationOrder !== "auth-before-validation") {
|
|
23
|
+
throw new RouteConfigError("INVALID_VALIDATION_ORDER", `route ${method} ${path}: validationOrder is invalid`);
|
|
24
|
+
}
|
|
14
25
|
if (schema?.bodyLimitReason !== undefined && schema.bodyLimit !== "unlimited") {
|
|
15
26
|
invalidBodyLimit('bodyLimitReason is only valid with bodyLimit: "unlimited"');
|
|
16
27
|
}
|
|
@@ -41,7 +52,8 @@ export function compileRouteOptions(context, method, path, schema, handler) {
|
|
|
41
52
|
if (invalidHandlerScope !== undefined) {
|
|
42
53
|
throw new RouteConfigError("INVALID_ASSURANCE", `route handler assurance must use plugin scope (received ${invalidHandlerScope.scope})`);
|
|
43
54
|
}
|
|
44
|
-
const authenticated =
|
|
55
|
+
const authenticated = context.authStages.length > 0 ||
|
|
56
|
+
assuranceEvidenceFor([...context.activeAssurance, ...handlerAssurance, ...context.globalAssurance], method, path).some((evidence) => evidence.id === NIFRA_ASSURANCE_IDS.AUTHENTICATED);
|
|
45
57
|
const routeDecorations = { ...context.decorations };
|
|
46
58
|
if (capabilities.length > 0) {
|
|
47
59
|
routeDecorations[CAPABILITY_GUARD] = createCapabilityGuard(capabilities, method, path, context.onCapabilityUse, context.idempotencyRuntime?.trackEffect, Object.freeze([...context.capabilityInterceptors]), Object.freeze([...context.capabilityObservers]));
|
|
@@ -52,11 +64,18 @@ export function compileRouteOptions(context, method, path, schema, handler) {
|
|
|
52
64
|
}
|
|
53
65
|
const idempotent = context.idempotencyRuntime?.resolve(schema, authenticated, context.maxBodyBytes);
|
|
54
66
|
const ledgered = context.effectLedgerRuntime?.resolve(capabilities, method, path);
|
|
55
|
-
const
|
|
56
|
-
? {
|
|
67
|
+
const responseDefinition = schema?.response !== undefined || schema?.errors !== undefined
|
|
68
|
+
? {
|
|
69
|
+
...(schema.response === undefined ? {} : { response: schema.response }),
|
|
70
|
+
...(schema.errors === undefined ? {} : { errors: schema.errors }),
|
|
71
|
+
}
|
|
72
|
+
: undefined;
|
|
73
|
+
const contracted = context.responseContractRuntime !== undefined && responseDefinition !== undefined
|
|
74
|
+
? { runtime: context.responseContractRuntime, definition: responseDefinition }
|
|
57
75
|
: undefined;
|
|
58
76
|
const lanes = selectRouteLanes({
|
|
59
77
|
schema,
|
|
78
|
+
hasAuth: context.authStages.length > 0,
|
|
60
79
|
hasIdempotency: idempotent !== undefined,
|
|
61
80
|
hasLedger: ledgered !== undefined,
|
|
62
81
|
hasResponseContract: contracted !== undefined,
|
|
@@ -69,7 +88,7 @@ export function compileRouteOptions(context, method, path, schema, handler) {
|
|
|
69
88
|
defaultOnValidationError: context.defaultOnValidationError !== undefined,
|
|
70
89
|
});
|
|
71
90
|
const routeAssurance = [...context.activeAssurance, ...handlerAssurance];
|
|
72
|
-
if (contracted?.runtime.mode === "enforce"
|
|
91
|
+
if (contracted?.runtime.mode === "enforce") {
|
|
73
92
|
routeAssurance.push(Object.freeze({
|
|
74
93
|
id: NIFRA_ASSURANCE_IDS.RESPONSE_CONTRACT,
|
|
75
94
|
source: "response-contract",
|
|
@@ -104,6 +123,17 @@ export function compileRouteOptions(context, method, path, schema, handler) {
|
|
|
104
123
|
scope: "plugin",
|
|
105
124
|
}));
|
|
106
125
|
}
|
|
126
|
+
if (context.authStages.length > 0) {
|
|
127
|
+
// `authenticate()` is an actual runtime enforcement stage, not a route assertion. Publish its
|
|
128
|
+
// proof directly so a core-authenticated route cannot accidentally become assurance
|
|
129
|
+
// classification-only when it is not using an integration plugin such as better-auth.
|
|
130
|
+
routeAssurance.push(Object.freeze({
|
|
131
|
+
id: NIFRA_ASSURANCE_IDS.AUTHENTICATED,
|
|
132
|
+
source: "nifra.authenticate",
|
|
133
|
+
scope: "plugin",
|
|
134
|
+
provenance: "runtime",
|
|
135
|
+
}));
|
|
136
|
+
}
|
|
107
137
|
return {
|
|
108
138
|
pattern,
|
|
109
139
|
bodyLimit,
|
|
@@ -116,6 +146,8 @@ export function compileRouteOptions(context, method, path, schema, handler) {
|
|
|
116
146
|
responseContract: contracted,
|
|
117
147
|
lanes,
|
|
118
148
|
routeAssurance: Object.freeze(routeAssurance),
|
|
149
|
+
authStages: Object.freeze([...context.authStages]),
|
|
150
|
+
authenticated,
|
|
119
151
|
};
|
|
120
152
|
}
|
|
121
153
|
//# sourceMappingURL=route-compiler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-compiler.js","sourceRoot":"","sources":["../../src/internal/route-compiler.ts"],"names":[],"mappings":"AAaA,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAA6B,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"route-compiler.js","sourceRoot":"","sources":["../../src/internal/route-compiler.ts"],"names":[],"mappings":"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"}
|