@nifrajs/core 5.1.0 → 5.2.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.
- package/CHANGELOG.md +2384 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/internal/hook-origins.d.ts +17 -1
- package/dist/internal/hook-origins.d.ts.map +1 -1
- package/dist/internal/hook-origins.js +20 -0
- package/dist/internal/hook-origins.js.map +1 -1
- package/dist/internal/route-program.d.ts +2 -0
- package/dist/internal/route-program.d.ts.map +1 -1
- package/dist/internal/route-program.js +22 -17
- package/dist/internal/route-program.js.map +1 -1
- package/dist/reflection.d.ts +23 -2
- package/dist/reflection.d.ts.map +1 -1
- package/dist/reflection.js +57 -1
- package/dist/reflection.js.map +1 -1
- package/dist/server/context.d.ts +7 -4
- package/dist/server/context.d.ts.map +1 -1
- package/dist/server/core-copies.d.ts +7 -1
- package/dist/server/core-copies.d.ts.map +1 -1
- package/dist/server/core-copies.js +37 -1
- package/dist/server/core-copies.js.map +1 -1
- package/dist/server/headers.d.ts +9 -0
- package/dist/server/headers.d.ts.map +1 -1
- package/dist/server/headers.js +26 -0
- package/dist/server/headers.js.map +1 -1
- package/dist/server/response-contract-lane.d.ts +37 -2
- package/dist/server/response-contract-lane.d.ts.map +1 -1
- package/dist/server/response-contract-lane.js +278 -32
- package/dist/server/response-contract-lane.js.map +1 -1
- package/dist/server/server-types.d.ts +7 -4
- package/dist/server/server-types.d.ts.map +1 -1
- package/dist/server/server.d.ts +17 -4
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +151 -30
- package/dist/server/server.js.map +1 -1
- package/dist/single-copy.d.ts.map +1 -1
- package/dist/single-copy.js +46 -5
- package/dist/single-copy.js.map +1 -1
- package/package.json +3 -2
- package/src/index.ts +1 -1
- package/src/internal/hook-origins.ts +35 -0
- package/src/internal/route-program.ts +39 -20
- package/src/reflection.ts +61 -1
- package/src/server/context.ts +7 -4
- package/src/server/core-copies.ts +40 -0
- package/src/server/headers.ts +39 -0
- package/src/server/response-contract-lane.ts +357 -42
- package/src/server/server-types.ts +7 -4
- package/src/server/server.ts +202 -27
- package/src/single-copy.ts +55 -5
|
@@ -60,10 +60,6 @@ function projectorOf(schema) {
|
|
|
60
60
|
}
|
|
61
61
|
return found ?? undefined;
|
|
62
62
|
}
|
|
63
|
-
const canHoldObject = (node) => {
|
|
64
|
-
const type = Reflect.get(node, "type");
|
|
65
|
-
return type === undefined || type === "object" || type === "array";
|
|
66
|
-
};
|
|
67
63
|
const objectField = (node, key) => {
|
|
68
64
|
const value = Reflect.get(node, key);
|
|
69
65
|
return typeof value === "object" && value !== null ? value : undefined;
|
|
@@ -74,15 +70,8 @@ function compileProjector(node) {
|
|
|
74
70
|
const schema = node;
|
|
75
71
|
const type = Reflect.get(schema, "type");
|
|
76
72
|
const branches = Reflect.get(schema, "anyOf") ?? Reflect.get(schema, "oneOf");
|
|
77
|
-
if (Array.isArray(branches))
|
|
78
|
-
|
|
79
|
-
// could strip the fields that make the other match.
|
|
80
|
-
const holders = branches.filter((branch) => typeof branch === "object" && branch !== null && canHoldObject(branch));
|
|
81
|
-
const only = holders.length === 1 ? compileProjector(holders[0]) : undefined;
|
|
82
|
-
return only === undefined
|
|
83
|
-
? undefined
|
|
84
|
-
: (value) => (typeof value === "object" && value !== null ? only(value) : value);
|
|
85
|
-
}
|
|
73
|
+
if (Array.isArray(branches))
|
|
74
|
+
return compileUnion(branches);
|
|
86
75
|
if (type === "array") {
|
|
87
76
|
const items = Reflect.get(schema, "items");
|
|
88
77
|
const item = Array.isArray(items) ? undefined : compileProjector(items);
|
|
@@ -120,8 +109,7 @@ function compileProjector(node) {
|
|
|
120
109
|
return value;
|
|
121
110
|
const out = closed ? {} : { ...value };
|
|
122
111
|
for (const key of closed ? keys : nested.keys()) {
|
|
123
|
-
|
|
124
|
-
if (!Object.hasOwn(value, key) && (!(key in value) || key in Object.prototype))
|
|
112
|
+
if (!hasField(value, key))
|
|
125
113
|
continue;
|
|
126
114
|
const projector = nested.get(key);
|
|
127
115
|
define(out, key, projector === undefined ? value[key] : projector(value[key]));
|
|
@@ -131,6 +119,129 @@ function compileProjector(node) {
|
|
|
131
119
|
return out;
|
|
132
120
|
};
|
|
133
121
|
}
|
|
122
|
+
/** A getter on a row class's prototype is a declared field; `Object.prototype`'s members are not. */
|
|
123
|
+
const hasField = (value, key) => Object.hasOwn(value, key) || (key in value && !(key in Object.prototype));
|
|
124
|
+
/**
|
|
125
|
+
* A union projects a value onto the one branch able to accept it, and leaves anything less certain to
|
|
126
|
+
* the validator. JSON Schema's `object` never matches an array nor `array` an object, so the two are
|
|
127
|
+
* routed apart; two object branches are told apart only by a discriminator (see
|
|
128
|
+
* {@link compileDiscriminated}). A branch that could hold anything (`{}`, `$ref`, `allOf`) stops it.
|
|
129
|
+
*/
|
|
130
|
+
function compileUnion(branches) {
|
|
131
|
+
const objects = [];
|
|
132
|
+
const arrays = [];
|
|
133
|
+
if (!sortBranches(branches, objects, arrays))
|
|
134
|
+
return undefined;
|
|
135
|
+
const forArray = arrays.length === 1 ? compileProjector(arrays[0]) : undefined;
|
|
136
|
+
const forObject = objects.length === 1
|
|
137
|
+
? compileProjector(objects[0])
|
|
138
|
+
: objects.length > 1
|
|
139
|
+
? compileDiscriminated(objects)
|
|
140
|
+
: undefined;
|
|
141
|
+
if (forArray === undefined && forObject === undefined)
|
|
142
|
+
return undefined;
|
|
143
|
+
return (value) => {
|
|
144
|
+
if (Array.isArray(value))
|
|
145
|
+
return forArray === undefined ? value : forArray(value);
|
|
146
|
+
return forObject !== undefined && isPlainObject(value) ? forObject(value) : value;
|
|
147
|
+
};
|
|
148
|
+
}
|
|
149
|
+
/** Sort a union's branches, nested unions flattened; `false` when one could hold anything. */
|
|
150
|
+
function sortBranches(branches, objects, arrays) {
|
|
151
|
+
for (const branch of branches) {
|
|
152
|
+
if (branch === false)
|
|
153
|
+
continue;
|
|
154
|
+
if (typeof branch !== "object" || branch === null)
|
|
155
|
+
return false;
|
|
156
|
+
const nested = Reflect.get(branch, "anyOf") ?? Reflect.get(branch, "oneOf");
|
|
157
|
+
if (Array.isArray(nested)) {
|
|
158
|
+
if (!sortBranches(nested, objects, arrays))
|
|
159
|
+
return false;
|
|
160
|
+
continue;
|
|
161
|
+
}
|
|
162
|
+
const type = Reflect.get(branch, "type");
|
|
163
|
+
if (type === "object")
|
|
164
|
+
objects.push(branch);
|
|
165
|
+
else if (type === "array")
|
|
166
|
+
arrays.push(branch);
|
|
167
|
+
else if (typeof type === "string")
|
|
168
|
+
continue;
|
|
169
|
+
else if (type !== undefined || literalsOf(branch) === undefined)
|
|
170
|
+
return false;
|
|
171
|
+
}
|
|
172
|
+
return true;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Object branches that all require one key, each holding literals no other branch holds: at most one
|
|
176
|
+
* branch can accept a value, so projecting onto the branch its tag names cannot strip a field another
|
|
177
|
+
* branch needed. The first such key in the first branch's declared order is used. A value whose tag
|
|
178
|
+
* names no branch is left to the validator, which rejects it.
|
|
179
|
+
*/
|
|
180
|
+
function compileDiscriminated(branches) {
|
|
181
|
+
const projectors = branches.map((branch) => compileProjector(branch));
|
|
182
|
+
const first = branches[0];
|
|
183
|
+
if (first === undefined || projectors.every((projector) => projector === undefined))
|
|
184
|
+
return undefined;
|
|
185
|
+
for (const key of Object.keys(objectField(first, "properties") ?? {})) {
|
|
186
|
+
const byTag = new Map();
|
|
187
|
+
const disjoint = branches.every((branch, index) => {
|
|
188
|
+
const tags = requiredLiterals(branch, key);
|
|
189
|
+
if (tags === undefined)
|
|
190
|
+
return false;
|
|
191
|
+
for (const tag of tags) {
|
|
192
|
+
if (byTag.has(tag))
|
|
193
|
+
return false;
|
|
194
|
+
byTag.set(tag, projectors[index]);
|
|
195
|
+
}
|
|
196
|
+
return true;
|
|
197
|
+
});
|
|
198
|
+
if (!disjoint)
|
|
199
|
+
continue;
|
|
200
|
+
return (value) => {
|
|
201
|
+
if (!isPlainObject(value) || !hasField(value, key))
|
|
202
|
+
return value;
|
|
203
|
+
const projector = byTag.get(value[key]);
|
|
204
|
+
return projector === undefined ? value : projector(value);
|
|
205
|
+
};
|
|
206
|
+
}
|
|
207
|
+
return undefined;
|
|
208
|
+
}
|
|
209
|
+
/** The distinct literals `key` may hold in an object branch that requires it. */
|
|
210
|
+
function requiredLiterals(branch, key) {
|
|
211
|
+
const required = Reflect.get(branch, "required");
|
|
212
|
+
const properties = objectField(branch, "properties");
|
|
213
|
+
if (!Array.isArray(required) || !required.includes(key))
|
|
214
|
+
return undefined;
|
|
215
|
+
if (properties === undefined || !Object.hasOwn(properties, key))
|
|
216
|
+
return undefined;
|
|
217
|
+
const literals = literalsOf(Reflect.get(properties, key));
|
|
218
|
+
return literals === undefined ? undefined : new Set(literals);
|
|
219
|
+
}
|
|
220
|
+
const isLiteral = (value) => value === null || ["string", "number", "boolean"].includes(typeof value);
|
|
221
|
+
/** The finite set of primitives a schema admits (`const`, `enum`, `null`, a union of those), else `undefined`. */
|
|
222
|
+
function literalsOf(node) {
|
|
223
|
+
if (typeof node !== "object" || node === null)
|
|
224
|
+
return undefined;
|
|
225
|
+
if (Object.hasOwn(node, "const")) {
|
|
226
|
+
const value = Reflect.get(node, "const");
|
|
227
|
+
return isLiteral(value) ? [value] : undefined;
|
|
228
|
+
}
|
|
229
|
+
const listed = Reflect.get(node, "enum");
|
|
230
|
+
if (Array.isArray(listed))
|
|
231
|
+
return listed.length > 0 && listed.every(isLiteral) ? listed : undefined;
|
|
232
|
+
const branches = Reflect.get(node, "anyOf") ?? Reflect.get(node, "oneOf");
|
|
233
|
+
if (Array.isArray(branches)) {
|
|
234
|
+
const all = [];
|
|
235
|
+
for (const branch of branches) {
|
|
236
|
+
const literals = literalsOf(branch);
|
|
237
|
+
if (literals === undefined)
|
|
238
|
+
return undefined;
|
|
239
|
+
all.push(...literals);
|
|
240
|
+
}
|
|
241
|
+
return all.length > 0 ? all : undefined;
|
|
242
|
+
}
|
|
243
|
+
return Reflect.get(node, "type") === "null" ? [null] : undefined;
|
|
244
|
+
}
|
|
134
245
|
/**
|
|
135
246
|
* Carry the undeclared keys a `patternProperties` entry admits: a closed record's keys are all
|
|
136
247
|
* pattern keys, so dropping them empties a valid value. A key two patterns match is copied verbatim,
|
|
@@ -162,6 +273,58 @@ function define(out, key, value) {
|
|
|
162
273
|
else
|
|
163
274
|
out[key] = value;
|
|
164
275
|
}
|
|
276
|
+
const MAX_STRIPPED_NAMES = 20;
|
|
277
|
+
const MAX_NAME_LENGTH = 64;
|
|
278
|
+
const MAX_REPORTED_SETS = 32;
|
|
279
|
+
/** Paths in what the handler returned that are absent from what was sent, array items as `name[]`.
|
|
280
|
+
* Stops one past {@link MAX_STRIPPED_NAMES}, so the log can say there were more. */
|
|
281
|
+
function collectStripped(sent, kept, path, out) {
|
|
282
|
+
if (Array.isArray(sent)) {
|
|
283
|
+
if (!Array.isArray(kept))
|
|
284
|
+
return;
|
|
285
|
+
const items = `${path}[]`;
|
|
286
|
+
for (let i = 0; i < sent.length && i < kept.length; i++) {
|
|
287
|
+
collectStripped(sent[i], kept[i], items, out);
|
|
288
|
+
if (out.size > MAX_STRIPPED_NAMES)
|
|
289
|
+
return;
|
|
290
|
+
}
|
|
291
|
+
return;
|
|
292
|
+
}
|
|
293
|
+
if (!isPlainObject(sent) || !isPlainObject(kept))
|
|
294
|
+
return;
|
|
295
|
+
for (const key of Object.keys(sent)) {
|
|
296
|
+
const short = key.length > MAX_NAME_LENGTH ? `${key.slice(0, MAX_NAME_LENGTH)}...` : key;
|
|
297
|
+
const name = path === "" ? short : `${path}.${short}`;
|
|
298
|
+
if (!Object.hasOwn(kept, key))
|
|
299
|
+
out.add(name);
|
|
300
|
+
else
|
|
301
|
+
collectStripped(sent[key], kept[key], name, out);
|
|
302
|
+
if (out.size > MAX_STRIPPED_NAMES)
|
|
303
|
+
return;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
/** The log line for a route's stripped names the first time it sends that set, else `undefined`. */
|
|
307
|
+
function firstReport(reported, definition, fields) {
|
|
308
|
+
if (fields.length === 0)
|
|
309
|
+
return undefined;
|
|
310
|
+
let seen = reported.get(definition);
|
|
311
|
+
if (seen === undefined) {
|
|
312
|
+
seen = new Set();
|
|
313
|
+
reported.set(definition, seen);
|
|
314
|
+
}
|
|
315
|
+
const key = fields.join("\n");
|
|
316
|
+
if (seen.size >= MAX_REPORTED_SETS || seen.has(key))
|
|
317
|
+
return undefined;
|
|
318
|
+
seen.add(key);
|
|
319
|
+
const last = seen.size === MAX_REPORTED_SETS ? " Further sets of fields on this route are not logged." : "";
|
|
320
|
+
return `${strippedMessage(fields)}${last}`;
|
|
321
|
+
}
|
|
322
|
+
function strippedMessage(fields) {
|
|
323
|
+
const listed = fields.length > MAX_STRIPPED_NAMES
|
|
324
|
+
? `${fields.slice(0, MAX_STRIPPED_NAMES).join(", ")}, and more`
|
|
325
|
+
: fields.join(", ");
|
|
326
|
+
return `response carried fields its contract does not declare: ${listed}. They were not sent.`;
|
|
327
|
+
}
|
|
165
328
|
/** Top-level keys present in the handler's result but absent from the validated value. */
|
|
166
329
|
function droppedKeys(result, value) {
|
|
167
330
|
if (!isPlainObject(result) || !isPlainObject(value))
|
|
@@ -197,19 +360,23 @@ function reserialize(reply, value) {
|
|
|
197
360
|
* streams or alter redirects; assurance/static checks must govern that path separately.
|
|
198
361
|
*/
|
|
199
362
|
export function checkRouteResponseContract(definition, result, mode, jsonReply, options) {
|
|
200
|
-
|
|
363
|
+
return checkContract(definition, result, mode, jsonReply, options?.extra === "strip" ? STRIP : KEEP);
|
|
364
|
+
}
|
|
365
|
+
const STRIP = { strip: true, report: undefined };
|
|
366
|
+
const KEEP = { strip: false, report: undefined };
|
|
367
|
+
function checkContract(definition, result, mode, jsonReply, policy) {
|
|
201
368
|
const plain = isResponseResult(result) ? result.plain : undefined;
|
|
202
369
|
if (plain !== undefined) {
|
|
203
370
|
const schema = schemaFor(definition, plain.status);
|
|
204
371
|
if (schema === undefined)
|
|
205
372
|
return { kind: "ok", value: result };
|
|
206
|
-
return validateContract(schema, plain.body, result, mode,
|
|
373
|
+
return validateContract(schema, plain.body, result, mode, policy, (value) => status(plain.status, value, plain.headers === undefined ? undefined : { headers: plain.headers }));
|
|
207
374
|
}
|
|
208
375
|
if (jsonReply !== undefined && result instanceof Response) {
|
|
209
376
|
const schema = schemaFor(definition, result.status);
|
|
210
377
|
if (schema === undefined)
|
|
211
378
|
return { kind: "ok", value: result };
|
|
212
|
-
return validateContract(schema, jsonReply.body, result, mode,
|
|
379
|
+
return validateContract(schema, jsonReply.body, result, mode, policy, (value) => reserialize(result, value));
|
|
213
380
|
}
|
|
214
381
|
// A handler may return a raw Response as deliberate control flow (a redirect, a stream). There is no
|
|
215
382
|
// JSON payload to hold to the contract, and re-serializing one would corrupt it. A `status(...)` is
|
|
@@ -220,18 +387,18 @@ export function checkRouteResponseContract(definition, result, mode, jsonReply,
|
|
|
220
387
|
const schema = definition.response;
|
|
221
388
|
if (schema === undefined)
|
|
222
389
|
return { kind: "ok", value: result };
|
|
223
|
-
return validateContract(schema, result, result, mode,
|
|
390
|
+
return validateContract(schema, result, result, mode, policy, (value) => value);
|
|
224
391
|
}
|
|
225
392
|
/** Validate `payload`; `served` is what goes out unchanged when nothing is enforced - the whole
|
|
226
393
|
* `status(...)` result or reply, never just its body. */
|
|
227
|
-
function validateContract(schema, payload, served, mode,
|
|
228
|
-
const project = strip ? projectorOf(schema) : undefined;
|
|
394
|
+
function validateContract(schema, payload, served, mode, policy, replace) {
|
|
395
|
+
const project = policy.strip ? projectorOf(schema) : undefined;
|
|
229
396
|
const settled = schema["~standard"].validate(project === undefined ? payload : project(payload));
|
|
230
397
|
return settled instanceof Promise
|
|
231
|
-
? settled.then((r) => interpret(r, payload, served, mode, replace))
|
|
232
|
-
: interpret(settled, payload, served, mode, replace);
|
|
398
|
+
? settled.then((r) => interpret(r, payload, served, mode, replace, policy.report))
|
|
399
|
+
: interpret(settled, payload, served, mode, replace, policy.report);
|
|
233
400
|
}
|
|
234
|
-
function interpret(settled, payload, served, mode, replace) {
|
|
401
|
+
function interpret(settled, payload, served, mode, replace, report) {
|
|
235
402
|
if (settled.issues !== undefined) {
|
|
236
403
|
const message = `response does not satisfy its declared contract: ${formatStandardIssues(settled.issues)}`;
|
|
237
404
|
// `warn` never changes what is served - it reports and gets out of the way, so switching it on can
|
|
@@ -240,15 +407,23 @@ function interpret(settled, payload, served, mode, replace) {
|
|
|
240
407
|
? { kind: "warn", value: served, message }
|
|
241
408
|
: { kind: "violation", message };
|
|
242
409
|
}
|
|
410
|
+
if (mode === "enforce") {
|
|
411
|
+
const value = replace(settled.value);
|
|
412
|
+
if (report === undefined)
|
|
413
|
+
return { kind: "ok", value };
|
|
414
|
+
const stripped = new Set();
|
|
415
|
+
collectStripped(payload, settled.value, "", stripped);
|
|
416
|
+
const message = report([...stripped].sort());
|
|
417
|
+
return message === undefined ? { kind: "ok", value } : { kind: "warn", value, message };
|
|
418
|
+
}
|
|
243
419
|
const dropped = droppedKeys(payload, settled.value);
|
|
244
|
-
if (mode === "enforce")
|
|
245
|
-
return { kind: "ok", value: replace(settled.value) };
|
|
246
420
|
return dropped.length === 0
|
|
247
421
|
? { kind: "ok", value: served }
|
|
248
422
|
: {
|
|
249
423
|
kind: "warn",
|
|
250
424
|
value: served,
|
|
251
425
|
message: `response carries fields its contract does not declare: ${dropped.join(", ")}. They are being sent; \`responseContract("enforce")\` would strip them.`,
|
|
426
|
+
fields: dropped,
|
|
252
427
|
};
|
|
253
428
|
}
|
|
254
429
|
/**
|
|
@@ -272,16 +447,87 @@ export function responseContract(mode = "warn", options = {}) {
|
|
|
272
447
|
if (options.extra !== undefined && options.extra !== "reject" && options.extra !== "strip") {
|
|
273
448
|
throw new TypeError(`responseContract(): extra must be "reject" or "strip", got ${JSON.stringify(options.extra)}`);
|
|
274
449
|
}
|
|
275
|
-
|
|
450
|
+
if (options.logStripped !== undefined && typeof options.logStripped !== "boolean") {
|
|
451
|
+
throw new TypeError(`responseContract(): logStripped must be a boolean, got ${JSON.stringify(options.logStripped)}`);
|
|
452
|
+
}
|
|
453
|
+
const onReport = options.onReport;
|
|
454
|
+
const strip = options.extra === "strip";
|
|
455
|
+
const quiet = strip ? STRIP : KEEP;
|
|
456
|
+
const reported = options.logStripped === true && mode === "enforce"
|
|
457
|
+
? new WeakMap()
|
|
458
|
+
: undefined;
|
|
459
|
+
const hosts = [];
|
|
460
|
+
// A definition is compiled per route into the catalog of a server this plugin was applied to (a
|
|
461
|
+
// `group()`'s and a `merge()`d server's routes are adopted into it), so the route is found there
|
|
462
|
+
// and naming it costs the kernel nothing.
|
|
463
|
+
const routes = new WeakMap();
|
|
464
|
+
let failed = false;
|
|
465
|
+
// A hook that throws or rejects (or is not a function) is logged once and never reaches a response.
|
|
466
|
+
const fail = (error) => {
|
|
467
|
+
if (!failed)
|
|
468
|
+
hosts[0]?.logger.error("response contract onReport threw", { detail: String(error) });
|
|
469
|
+
failed = true;
|
|
470
|
+
};
|
|
276
471
|
const runtime = {
|
|
277
472
|
mode,
|
|
278
|
-
check: (definition, result, context) =>
|
|
279
|
-
|
|
280
|
-
|
|
473
|
+
check: (definition, result, context) => {
|
|
474
|
+
const jsonReply = result instanceof Response && result === context?.jsonReply
|
|
475
|
+
? { body: context.jsonBody }
|
|
476
|
+
: undefined;
|
|
477
|
+
const logged = reported === undefined
|
|
478
|
+
? undefined
|
|
479
|
+
: (fields) => firstReport(reported, definition, fields);
|
|
480
|
+
if (onReport === undefined)
|
|
481
|
+
return checkContract(definition, result, mode, jsonReply, logged === undefined ? quiet : { strip, report: logged });
|
|
482
|
+
const send = (kind, message, fields) => {
|
|
483
|
+
if (!routes.has(definition))
|
|
484
|
+
for (const host of hosts)
|
|
485
|
+
for (const route of host.catalog.entries()) {
|
|
486
|
+
const owned = route.entry.responseContract?.definition;
|
|
487
|
+
if (owned !== undefined)
|
|
488
|
+
routes.set(owned, route);
|
|
489
|
+
}
|
|
490
|
+
const route = routes.get(definition);
|
|
491
|
+
try {
|
|
492
|
+
const returned = onReport({
|
|
493
|
+
kind,
|
|
494
|
+
method: route?.method ?? "",
|
|
495
|
+
route: route?.path ?? "",
|
|
496
|
+
fields,
|
|
497
|
+
message,
|
|
498
|
+
});
|
|
499
|
+
if (returned instanceof Promise)
|
|
500
|
+
returned.catch(fail);
|
|
501
|
+
}
|
|
502
|
+
catch (error) {
|
|
503
|
+
fail(error);
|
|
504
|
+
}
|
|
505
|
+
};
|
|
506
|
+
const outcome = checkContract(definition, result, mode, jsonReply, {
|
|
507
|
+
strip,
|
|
508
|
+
report: (fields) => {
|
|
509
|
+
if (fields.length > 0)
|
|
510
|
+
send("stripped", strippedMessage(fields), fields);
|
|
511
|
+
return logged?.(fields);
|
|
512
|
+
},
|
|
513
|
+
});
|
|
514
|
+
const observe = (settled) => {
|
|
515
|
+
// An enforce-mode warn is the stripped-field log line, already reported as `stripped`.
|
|
516
|
+
if (settled.kind === "violation")
|
|
517
|
+
send("violation", settled.message);
|
|
518
|
+
else if (settled.kind === "warn" && mode === "warn")
|
|
519
|
+
send("warn", settled.message, settled.fields);
|
|
520
|
+
return settled;
|
|
521
|
+
};
|
|
522
|
+
return outcome instanceof Promise ? outcome.then(observe) : observe(outcome);
|
|
523
|
+
},
|
|
281
524
|
};
|
|
282
525
|
const apply = (app) => {
|
|
283
|
-
|
|
284
|
-
app
|
|
526
|
+
// A server also holds the route catalog and the logger ContractHost reads.
|
|
527
|
+
const host = app;
|
|
528
|
+
host[INSTALL_RESPONSE_CONTRACT](runtime);
|
|
529
|
+
if (!hosts.includes(host))
|
|
530
|
+
hosts.push(host);
|
|
285
531
|
return app;
|
|
286
532
|
};
|
|
287
533
|
return Object.assign(apply, { pluginName: "nifra:response-contract" });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response-contract-lane.js","sourceRoot":"","sources":["../../src/server/response-contract-lane.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"response-contract-lane.js","sourceRoot":"","sources":["../../src/server/response-contract-lane.ts"],"names":[],"mappings":"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"}
|
|
@@ -161,10 +161,13 @@ export interface ServerOptions {
|
|
|
161
161
|
*/
|
|
162
162
|
readonly onValidationError?: RouteSchema["onValidationError"];
|
|
163
163
|
/**
|
|
164
|
-
* What to do when an order-scoped hook (`derive`/`beforeHandle`/`around
|
|
165
|
-
* `afterHandle`/`onError`/`decorate`) covers no route because it was added after
|
|
166
|
-
* registered. `register()` snapshots the current chain into each route as it is
|
|
167
|
-
* appended after every route reaches nothing and is silently dead. `
|
|
164
|
+
* What to do when an order-scoped hook (`derive`/`authenticate`/`beforeHandle`/`around`/
|
|
165
|
+
* `aroundCapability`/`afterHandle`/`onError`/`decorate`) covers no route because it was added after
|
|
166
|
+
* the last route was registered. `register()` snapshots the current chain into each route as it is
|
|
167
|
+
* declared, so a hook appended after every route reaches nothing and is silently dead. A `merge()`d
|
|
168
|
+
* route keeps the chain of the server that declared it, so a hook followed only by merges is dead
|
|
169
|
+
* too. The same report covers `responseContract()` and `effectLedger()` installed after routes they
|
|
170
|
+
* would have covered (a declared response, declared capabilities). `"warn"` (default) logs once at
|
|
168
171
|
* seal (first `listen()`/`fetch`/`resolveNode`); `"error"` throws a `FrameworkError`
|
|
169
172
|
* (`UNUSED_SCOPED_HOOKS`); `"off"` skips the bookkeeping entirely, including the one-frame stack
|
|
170
173
|
* capture. App-global hooks (`onRequest`/`onResponse`/...) are unaffected in every mode.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-types.d.ts","sourceRoot":"","sources":["../../src/server/server-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAA;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAA;AACvE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AACnD,OAAO,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAClE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,KAAK,EACV,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAChE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAA;AAE7D;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GACzB;IAAE,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC;IAAC,OAAO,IAAI,IAAI,CAAA;CAAE,GAC5C;IAAE,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;CAAE,CAAA;AAE7D;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,GAAG,EAAE,OAAO,GAAG,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAA;CACpE;AAED,MAAM,WAAW,aAAa;IAC5B;;;;;;;;;;;OAWG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B;;;;;;;OAOG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAA;IACvD;;;;;;OAMG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,CAAA;IAC5E;;;;;;;;;;;;;;;;OAgBG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IACnC;;;;;OAKG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IACnC,2GAA2G;IAC3G,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IAClC,sHAAsH;IACtH,QAAQ,CAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;IACpC;;;;;;OAMG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,aAAa,CAAA;IACjC;;;;OAIG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IACzC;;;;OAIG;IACH,QAAQ,CAAC,oBAAoB,CAAC,EAAE,MAAM,CAAA;IACtC;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,GAAG;QAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAClE;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAA;IACxC;;;OAGG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,kBAAkB,KAAK,IAAI,CAAA;IAC9D,yFAAyF;IACzF,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAAC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAA;IACrD;;;;;;OAMG;IACH,QAAQ,CAAC,iBAAiB,CAAC,EAAE,WAAW,CAAC,mBAAmB,CAAC,CAAA;IAC7D
|
|
1
|
+
{"version":3,"file":"server-types.d.ts","sourceRoot":"","sources":["../../src/server/server-types.ts"],"names":[],"mappings":"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"}
|
package/dist/server/server.d.ts
CHANGED
|
@@ -7,7 +7,6 @@ import type { InferOutput, StandardSchemaV1 } from "../schema/standard.js";
|
|
|
7
7
|
import type { AuthenticationStage } from "./auth.js";
|
|
8
8
|
import { type RawBodyReaders } from "./body.js";
|
|
9
9
|
import type { Context, Platform, ResponseControls, RouteSchema } from "./context.js";
|
|
10
|
-
import "./core-copies.ts";
|
|
11
10
|
import { type UrlParts } from "./http.js";
|
|
12
11
|
import { type NodeServeOutcome } from "./node-outcome.js";
|
|
13
12
|
import type { NodeOutcomeRuntime, NodeRequestContext, NodeRequestHook, NodeResponseBodyHook, NodeResponseContext, NodeResponseHook, ResponseBodyHook, ResponseBodyReplacement, ResponseHeadersHook, ResponseHeadersView } from "./node-outcome-hook.js";
|
|
@@ -326,6 +325,10 @@ export declare class Server<R extends Registry = EmptyRegistry, Ctx = EmptyConte
|
|
|
326
325
|
* Mount a legacy fetch handler under a literal path prefix. Mounted handlers sit behind typed
|
|
327
326
|
* routes, so routes can move one at a time while the remaining legacy surface stays live.
|
|
328
327
|
* Mounted responses are outside Nifra's typed route and response-contract checks.
|
|
328
|
+
*
|
|
329
|
+
* It carries HTTP only: a WebSocket upgrade under the prefix reaches the handler as an ordinary
|
|
330
|
+
* request and never becomes a socket. Serve that path's sockets with `app.ws()` routes or a
|
|
331
|
+
* mounted child app, or keep the legacy server running beside this one for them.
|
|
329
332
|
*/
|
|
330
333
|
mountFetch(path: string, handler: FetchHandler<EnvOf<Ctx>>, options?: MountFetchOptions): this;
|
|
331
334
|
/**
|
|
@@ -365,6 +368,11 @@ export declare class Server<R extends Registry = EmptyRegistry, Ctx = EmptyConte
|
|
|
365
368
|
* Unlike `derive`, this stage receives a body-blind authentication capsule and is compiled before
|
|
366
369
|
* route validation. Keeping it separate prevents an unrelated derive from accidentally becoming a
|
|
367
370
|
* security gate and lets the route compiler retain a protected fast lane.
|
|
371
|
+
*
|
|
372
|
+
* A stage that throws, or returns anything but `authenticated(principal)` or `rejected(...)`, fails
|
|
373
|
+
* closed with 503 `{ ok: false, error: "auth_unavailable" }`. The cause goes where a handler's error
|
|
374
|
+
* goes: to `onError`, whose response replaces the 503, and when no hook answers, to the logger. A
|
|
375
|
+
* thrown `Response` or `status(...)` is sent as thrown, as it is from a handler.
|
|
368
376
|
*/
|
|
369
377
|
authenticate<Principal>(stage: AuthenticationStage<Principal, EnvOf<Ctx>>): Server<R, Ctx & {
|
|
370
378
|
readonly principal: Principal;
|
|
@@ -403,9 +411,10 @@ export declare class Server<R extends Registry = EmptyRegistry, Ctx = EmptyConte
|
|
|
403
411
|
* *after* this call, none before; one added after the last route reaches nothing (see
|
|
404
412
|
* {@link ServerOptions.unusedScopedHooks}). */
|
|
405
413
|
afterHandle<H extends (result: unknown, context: Context & Ctx) => MaybePromise<unknown>>(fn: H): Server<R, Ctx, HookOutput | HookOutputOf<ReturnType<H>>>;
|
|
406
|
-
/** Handle a thrown error; a non-`undefined` return becomes the response (else the default 500
|
|
407
|
-
* Order-scoped: captured by routes
|
|
408
|
-
* route reaches nothing (see
|
|
414
|
+
/** Handle a thrown error; a non-`undefined` return becomes the response (else the default 500, or 503
|
|
415
|
+
* `auth_unavailable` for a failed {@link authenticate} stage). Order-scoped: captured by routes
|
|
416
|
+
* declared *after* this call, none before; one added after the last route reaches nothing (see
|
|
417
|
+
* {@link ServerOptions.unusedScopedHooks}). */
|
|
409
418
|
onError<H extends (error: unknown, context: Context & Ctx) => MaybePromise<unknown>>(fn: H): Server<R, Ctx, HookOutput | HookOutputOf<ReturnType<H>>>;
|
|
410
419
|
/** Transform every outgoing response - success, error, 404, 405, short-circuit. Global. */
|
|
411
420
|
onResponse(fn: (response: Response, req: Request) => MaybePromise<Response>): this;
|
|
@@ -697,6 +706,10 @@ export declare class Server<R extends Registry = EmptyRegistry, Ctx = EmptyConte
|
|
|
697
706
|
*
|
|
698
707
|
* The response contract and the ledger can only add a check or a record, so a merged route is
|
|
699
708
|
* recompiled under them. A runtime installed AFTER the merge covers neither kind of route.
|
|
709
|
+
*
|
|
710
|
+
* In development, {@link ServerOptions.unusedScopedHooks} reports a hook followed only by merges and
|
|
711
|
+
* a contract or ledger installed after the routes it would cover; `nifra check` reports a merge whose
|
|
712
|
+
* server authenticates none of its routes under this server's `authenticate()` (NF-C043).
|
|
700
713
|
*/
|
|
701
714
|
merge<R2 extends Registry, Ctx2, HookOutput2>(other: Server<R2, Ctx2, HookOutput2>): Server<R & R2, Ctx, HookOutput>;
|
|
702
715
|
/**
|