@theokit/http 1.2.0 → 2.0.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/README.md +40 -1
- package/dist/app.d.ts +5 -50
- package/dist/app.js +2 -2
- package/dist/{chunk-NFCIOKAI.js → chunk-6HVQHSPX.js} +14 -157
- package/dist/chunk-6HVQHSPX.js.map +1 -0
- package/dist/{chunk-6CFF7Q4Z.js → chunk-BXJBQ4EH.js} +2 -2
- package/dist/chunk-R72YKDQ4.js +321 -0
- package/dist/chunk-R72YKDQ4.js.map +1 -0
- package/dist/index.d.ts +27 -1
- package/dist/index.js +41 -12
- package/dist/index.js.map +1 -1
- package/dist/route-access-Bq7eKXIc.d.ts +77 -0
- package/dist/theokit-plugin.d.ts +10 -0
- package/dist/theokit-plugin.js +21 -4
- package/dist/theokit-plugin.js.map +1 -1
- package/package.json +1 -1
- package/dist/chunk-NFCIOKAI.js.map +0 -1
- package/dist/chunk-X7Q5HPLK.js +0 -152
- package/dist/chunk-X7Q5HPLK.js.map +0 -1
- /package/dist/{chunk-6CFF7Q4Z.js.map → chunk-BXJBQ4EH.js.map} +0 -0
|
@@ -0,0 +1,321 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CONTROLLER_PREFIX,
|
|
3
|
+
EXPOSE_AGENT,
|
|
4
|
+
ROUTE_HEADERS,
|
|
5
|
+
ROUTE_METHODS,
|
|
6
|
+
ROUTE_PARAMS,
|
|
7
|
+
ROUTE_REDIRECT,
|
|
8
|
+
ROUTE_STATUS,
|
|
9
|
+
USE_FILTERS,
|
|
10
|
+
USE_GUARDS,
|
|
11
|
+
USE_INTERCEPTORS,
|
|
12
|
+
getMeta
|
|
13
|
+
} from "./chunk-AJOJXZRY.js";
|
|
14
|
+
import {
|
|
15
|
+
__name
|
|
16
|
+
} from "./chunk-Z4QWC7IK.js";
|
|
17
|
+
|
|
18
|
+
// src/bridge/errors.ts
|
|
19
|
+
var HttpDecoratorsConfigError = class extends Error {
|
|
20
|
+
static {
|
|
21
|
+
__name(this, "HttpDecoratorsConfigError");
|
|
22
|
+
}
|
|
23
|
+
name = "HttpDecoratorsConfigError";
|
|
24
|
+
constructor(message) {
|
|
25
|
+
super(message);
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
// src/bridge/execution-context.ts
|
|
30
|
+
function createExecutionContext(request, controllerClass, methodName) {
|
|
31
|
+
const url = new URL(request.url);
|
|
32
|
+
return {
|
|
33
|
+
getRequest: /* @__PURE__ */ __name(() => request, "getRequest"),
|
|
34
|
+
getUrl: /* @__PURE__ */ __name(() => url, "getUrl"),
|
|
35
|
+
getClass: /* @__PURE__ */ __name(() => controllerClass, "getClass"),
|
|
36
|
+
getMethodName: /* @__PURE__ */ __name(() => methodName, "getMethodName")
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
__name(createExecutionContext, "createExecutionContext");
|
|
40
|
+
|
|
41
|
+
// src/decorators/set-metadata.ts
|
|
42
|
+
import "reflect-metadata";
|
|
43
|
+
var decoratorKeyCounter = 0;
|
|
44
|
+
function createDecorator() {
|
|
45
|
+
const key = /* @__PURE__ */ Symbol.for(`theokit:custom:${++decoratorKeyCounter}`);
|
|
46
|
+
const decorator = /* @__PURE__ */ __name((value) => {
|
|
47
|
+
return (target, propertyKey) => {
|
|
48
|
+
const metaTarget = propertyKey !== void 0 ? target.constructor : target;
|
|
49
|
+
Reflect.defineMetadata(key, value, metaTarget, propertyKey);
|
|
50
|
+
};
|
|
51
|
+
}, "decorator");
|
|
52
|
+
decorator.key = key;
|
|
53
|
+
return decorator;
|
|
54
|
+
}
|
|
55
|
+
__name(createDecorator, "createDecorator");
|
|
56
|
+
function SetMetadata(metaKey, value) {
|
|
57
|
+
return (target, propertyKey) => {
|
|
58
|
+
const metaTarget = propertyKey !== void 0 ? target.constructor : target;
|
|
59
|
+
Reflect.defineMetadata(metaKey, value, metaTarget, propertyKey);
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
__name(SetMetadata, "SetMetadata");
|
|
63
|
+
var Reflector = class {
|
|
64
|
+
static {
|
|
65
|
+
__name(this, "Reflector");
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Read metadata set by a typed decorator created via createDecorator<T>().
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```ts
|
|
72
|
+
* const Roles = createDecorator<string[]>()
|
|
73
|
+
* const reflector = new Reflector()
|
|
74
|
+
* const roles = reflector.get(Roles, handlerFn) // string[] | undefined
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
get(decorator, target, propertyKey) {
|
|
78
|
+
const key = decorator.key;
|
|
79
|
+
if (!key) return void 0;
|
|
80
|
+
if (propertyKey !== void 0) {
|
|
81
|
+
return Reflect.getMetadata(key, target, propertyKey);
|
|
82
|
+
}
|
|
83
|
+
return Reflect.getMetadata(key, target);
|
|
84
|
+
}
|
|
85
|
+
/**
|
|
86
|
+
* Read metadata set by @SetMetadata(key, value).
|
|
87
|
+
*/
|
|
88
|
+
getByKey(key, target, propertyKey) {
|
|
89
|
+
if (propertyKey !== void 0) {
|
|
90
|
+
return Reflect.getMetadata(key, target, propertyKey);
|
|
91
|
+
}
|
|
92
|
+
return Reflect.getMetadata(key, target);
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Read metadata checking method-level first, then class-level.
|
|
96
|
+
* Returns the first non-undefined value found.
|
|
97
|
+
*
|
|
98
|
+
* NestJS equivalent: `reflector.getAllAndOverride(ROLES_KEY, [context.getHandler(), context.getClass()])`
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```ts
|
|
102
|
+
* const Roles = createDecorator<string[]>()
|
|
103
|
+
* // In a guard:
|
|
104
|
+
* const roles = reflector.getAllAndOverride(Roles, context.getClass(), context.getMethodName())
|
|
105
|
+
* // Checks method-level @Roles first, falls back to class-level @Roles
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
getAllAndOverride(decorator, target, propertyKey) {
|
|
109
|
+
if (propertyKey !== void 0) {
|
|
110
|
+
const methodLevel = this.get(decorator, target, propertyKey);
|
|
111
|
+
if (methodLevel !== void 0) return methodLevel;
|
|
112
|
+
}
|
|
113
|
+
return this.get(decorator, target);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Read metadata checking method-level first, then class-level, by raw key.
|
|
117
|
+
* Returns the first non-undefined value found.
|
|
118
|
+
*/
|
|
119
|
+
getAllAndOverrideByKey(key, target, propertyKey) {
|
|
120
|
+
if (propertyKey !== void 0) {
|
|
121
|
+
const methodLevel = this.getByKey(key, target, propertyKey);
|
|
122
|
+
if (methodLevel !== void 0) return methodLevel;
|
|
123
|
+
}
|
|
124
|
+
return this.getByKey(key, target);
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Read metadata from both method-level and class-level, merging arrays.
|
|
128
|
+
* Returns all found values as a flat array.
|
|
129
|
+
*
|
|
130
|
+
* NestJS equivalent: `reflector.getAllAndMerge(ROLES_KEY, [context.getHandler(), context.getClass()])`
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```ts
|
|
134
|
+
* const Tags = createDecorator<string[]>()
|
|
135
|
+
*
|
|
136
|
+
* @Tags(['api'])
|
|
137
|
+
* @Controller('cats')
|
|
138
|
+
* class CatsCtrl {
|
|
139
|
+
* @Tags(['read'])
|
|
140
|
+
* @Get()
|
|
141
|
+
* findAll() {}
|
|
142
|
+
* }
|
|
143
|
+
*
|
|
144
|
+
* reflector.getAllAndMerge(Tags, CatsCtrl, 'findAll')
|
|
145
|
+
* // → ['read', 'api'] (method + class merged)
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
getAllAndMerge(decorator, target, propertyKey) {
|
|
149
|
+
const result = [];
|
|
150
|
+
if (propertyKey !== void 0) {
|
|
151
|
+
const methodLevel = this.get(decorator, target, propertyKey);
|
|
152
|
+
if (methodLevel !== void 0) {
|
|
153
|
+
if (Array.isArray(methodLevel)) result.push(...methodLevel);
|
|
154
|
+
else result.push(methodLevel);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
const classLevel = this.get(decorator, target);
|
|
158
|
+
if (classLevel !== void 0) {
|
|
159
|
+
if (Array.isArray(classLevel)) result.push(...classLevel);
|
|
160
|
+
else result.push(classLevel);
|
|
161
|
+
}
|
|
162
|
+
return result;
|
|
163
|
+
}
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
// src/decorators/public.ts
|
|
167
|
+
var PUBLIC_ROUTE_METADATA = "theokit:public";
|
|
168
|
+
var Public = /* @__PURE__ */ __name(() => SetMetadata(PUBLIC_ROUTE_METADATA, true), "Public");
|
|
169
|
+
|
|
170
|
+
// src/route-access.ts
|
|
171
|
+
function classifyAccess(declared) {
|
|
172
|
+
if (declared.access !== void 0) return declared.access;
|
|
173
|
+
return declared.guards !== void 0 && declared.guards.length > 0 ? "guarded" : "undeclared";
|
|
174
|
+
}
|
|
175
|
+
__name(classifyAccess, "classifyAccess");
|
|
176
|
+
var declareOpen = /* @__PURE__ */ __name((kind) => kind === "agent" ? "`access: 'public'`" : "`@Public()`", "declareOpen");
|
|
177
|
+
function undeclaredRouteWarning(kind, route) {
|
|
178
|
+
return `[theokit] ${kind} route ${route} declares no access decision and is served to anyone because \`undeclaredRoutes: 'warn'\` is set. Declare one: attach a guard, or say it is open on purpose (${declareOpen(kind)}). Dropping the option refuses it with 403.`;
|
|
179
|
+
}
|
|
180
|
+
__name(undeclaredRouteWarning, "undeclaredRouteWarning");
|
|
181
|
+
function undeclaredRouteRefusal(kind, route) {
|
|
182
|
+
return `${kind === "agent" ? "Agent" : "Controller"} route ${route} declares no access decision, so it is refused. Attach a guard, or say it is open on purpose (${declareOpen(kind)}). \`undeclaredRoutes: 'warn'\` serves it with a warning while you migrate.`;
|
|
183
|
+
}
|
|
184
|
+
__name(undeclaredRouteRefusal, "undeclaredRouteRefusal");
|
|
185
|
+
|
|
186
|
+
// src/bridge/dto-zod.ts
|
|
187
|
+
function resolveDtoSchema(dtoClass) {
|
|
188
|
+
if (typeof dtoClass !== "function") return void 0;
|
|
189
|
+
const maybe = dtoClass.schema;
|
|
190
|
+
if (maybe !== null && maybe !== void 0 && typeof maybe.safeParse === "function") {
|
|
191
|
+
return maybe;
|
|
192
|
+
}
|
|
193
|
+
return void 0;
|
|
194
|
+
}
|
|
195
|
+
__name(resolveDtoSchema, "resolveDtoSchema");
|
|
196
|
+
|
|
197
|
+
// src/bridge/walk-metadata.ts
|
|
198
|
+
import "reflect-metadata";
|
|
199
|
+
function joinPath(prefix, path) {
|
|
200
|
+
return ("/" + prefix + "/" + path).replace(/\/+/g, "/").replace(/\/$/, "") || "/";
|
|
201
|
+
}
|
|
202
|
+
__name(joinPath, "joinPath");
|
|
203
|
+
function resolveBodySchema(paramEntries, ControllerClass, propertyKey) {
|
|
204
|
+
const bodyParam = paramEntries.find((p) => p.source === "body" && !p.key);
|
|
205
|
+
if (!bodyParam) return void 0;
|
|
206
|
+
if (bodyParam.schema) return bodyParam.schema;
|
|
207
|
+
const paramTypes = Reflect.getMetadata("design:paramtypes", ControllerClass.prototype, propertyKey) ?? [];
|
|
208
|
+
if (paramTypes.length > 0) {
|
|
209
|
+
return resolveDtoSchema(paramTypes[bodyParam.index]);
|
|
210
|
+
}
|
|
211
|
+
console.warn(`[@theokit/http] method ${String(propertyKey)} on ${ControllerClass.name}: @Body() without explicit schema and emitDecoratorMetadata is not active. Body will be passed raw (no validation). Fix: use @Body(zodSchema) for validation without metadata emission.`);
|
|
212
|
+
return void 0;
|
|
213
|
+
}
|
|
214
|
+
__name(resolveBodySchema, "resolveBodySchema");
|
|
215
|
+
function declaredAccess(ControllerClass, propertyKey, guards) {
|
|
216
|
+
const isPublic = Reflect.getMetadata(PUBLIC_ROUTE_METADATA, ControllerClass) === true || Reflect.getMetadata(PUBLIC_ROUTE_METADATA, ControllerClass, propertyKey) === true;
|
|
217
|
+
return classifyAccess({
|
|
218
|
+
access: isPublic ? "public" : void 0,
|
|
219
|
+
guards
|
|
220
|
+
});
|
|
221
|
+
}
|
|
222
|
+
__name(declaredAccess, "declaredAccess");
|
|
223
|
+
var walkCache = /* @__PURE__ */ new WeakMap();
|
|
224
|
+
function walkControllerMetadata(ControllerClass) {
|
|
225
|
+
const cached = walkCache.get(ControllerClass);
|
|
226
|
+
if (cached) return cached;
|
|
227
|
+
const controllerMeta = getMeta(CONTROLLER_PREFIX, ControllerClass);
|
|
228
|
+
if (!controllerMeta) {
|
|
229
|
+
throw new HttpDecoratorsConfigError(`Controller class ${ControllerClass.name} is missing @Controller() decorator. Add @Controller('prefix') to the class declaration.`);
|
|
230
|
+
}
|
|
231
|
+
const { prefix, host } = controllerMeta;
|
|
232
|
+
if (host) {
|
|
233
|
+
console.warn(`[@theokit/http] @Controller host '${host}' captured but enforcement deferred to v0.2.0`);
|
|
234
|
+
}
|
|
235
|
+
const methods = getMeta(ROUTE_METHODS, ControllerClass) ?? [];
|
|
236
|
+
const paramsMap = getMeta(ROUTE_PARAMS, ControllerClass) ?? /* @__PURE__ */ new Map();
|
|
237
|
+
const classGuards = getMeta(USE_GUARDS, ControllerClass) ?? [];
|
|
238
|
+
const classInterceptors = getMeta(USE_INTERCEPTORS, ControllerClass) ?? [];
|
|
239
|
+
const classFilters = getMeta(USE_FILTERS, ControllerClass) ?? [];
|
|
240
|
+
const result = methods.map((m) => {
|
|
241
|
+
const paramEntries = paramsMap.get(m.propertyKey) ?? [];
|
|
242
|
+
const bodySchema = resolveBodySchema(paramEntries, ControllerClass, m.propertyKey);
|
|
243
|
+
const methodGuards = getMeta(USE_GUARDS, ControllerClass, m.propertyKey) ?? [];
|
|
244
|
+
const methodInterceptors = getMeta(USE_INTERCEPTORS, ControllerClass, m.propertyKey) ?? [];
|
|
245
|
+
return {
|
|
246
|
+
verb: m.verb,
|
|
247
|
+
fullPath: joinPath(prefix, m.path),
|
|
248
|
+
propertyKey: m.propertyKey,
|
|
249
|
+
bodySchema,
|
|
250
|
+
paramEntries: [
|
|
251
|
+
...paramEntries
|
|
252
|
+
].sort((a, b) => a.index - b.index),
|
|
253
|
+
status: getMeta(ROUTE_STATUS, ControllerClass, m.propertyKey),
|
|
254
|
+
headers: getMeta(ROUTE_HEADERS, ControllerClass, m.propertyKey) ?? [],
|
|
255
|
+
redirect: getMeta(ROUTE_REDIRECT, ControllerClass, m.propertyKey),
|
|
256
|
+
guards: [
|
|
257
|
+
...classGuards,
|
|
258
|
+
...methodGuards
|
|
259
|
+
],
|
|
260
|
+
interceptors: [
|
|
261
|
+
...classInterceptors,
|
|
262
|
+
...methodInterceptors
|
|
263
|
+
],
|
|
264
|
+
filters: getMeta(USE_FILTERS, ControllerClass, m.propertyKey) ?? classFilters,
|
|
265
|
+
access: declaredAccess(ControllerClass, m.propertyKey, [
|
|
266
|
+
...classGuards,
|
|
267
|
+
...methodGuards
|
|
268
|
+
])
|
|
269
|
+
};
|
|
270
|
+
});
|
|
271
|
+
const exposeEntries = getMeta(EXPOSE_AGENT, ControllerClass) ?? [];
|
|
272
|
+
const agentResults = exposeEntries.map((e) => {
|
|
273
|
+
const memberGuards = getMeta(USE_GUARDS, ControllerClass, e.propertyKey) ?? [];
|
|
274
|
+
const verb = "POST";
|
|
275
|
+
return {
|
|
276
|
+
verb,
|
|
277
|
+
fullPath: joinPath(prefix, String(e.propertyKey)),
|
|
278
|
+
propertyKey: e.propertyKey,
|
|
279
|
+
paramEntries: [],
|
|
280
|
+
headers: [],
|
|
281
|
+
guards: [
|
|
282
|
+
...classGuards,
|
|
283
|
+
...memberGuards
|
|
284
|
+
],
|
|
285
|
+
interceptors: [],
|
|
286
|
+
filters: classFilters,
|
|
287
|
+
access: declaredAccess(ControllerClass, e.propertyKey, [
|
|
288
|
+
...classGuards,
|
|
289
|
+
...memberGuards
|
|
290
|
+
]),
|
|
291
|
+
agent: {
|
|
292
|
+
module: e.agent,
|
|
293
|
+
opts: e.opts
|
|
294
|
+
}
|
|
295
|
+
};
|
|
296
|
+
});
|
|
297
|
+
const all = [
|
|
298
|
+
...result,
|
|
299
|
+
...agentResults
|
|
300
|
+
];
|
|
301
|
+
walkCache.set(ControllerClass, all);
|
|
302
|
+
return all;
|
|
303
|
+
}
|
|
304
|
+
__name(walkControllerMetadata, "walkControllerMetadata");
|
|
305
|
+
|
|
306
|
+
export {
|
|
307
|
+
HttpDecoratorsConfigError,
|
|
308
|
+
createExecutionContext,
|
|
309
|
+
createDecorator,
|
|
310
|
+
SetMetadata,
|
|
311
|
+
Reflector,
|
|
312
|
+
PUBLIC_ROUTE_METADATA,
|
|
313
|
+
Public,
|
|
314
|
+
classifyAccess,
|
|
315
|
+
undeclaredRouteWarning,
|
|
316
|
+
undeclaredRouteRefusal,
|
|
317
|
+
resolveDtoSchema,
|
|
318
|
+
joinPath,
|
|
319
|
+
walkControllerMetadata
|
|
320
|
+
};
|
|
321
|
+
//# sourceMappingURL=chunk-R72YKDQ4.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/bridge/errors.ts","../src/bridge/execution-context.ts","../src/decorators/set-metadata.ts","../src/decorators/public.ts","../src/route-access.ts","../src/bridge/dto-zod.ts","../src/bridge/walk-metadata.ts"],"mappings":"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","names":["HttpDecoratorsConfigError","Error","name","message","createExecutionContext","request","controllerClass","methodName","url","URL","getRequest","getUrl","getClass","getMethodName","decoratorKeyCounter","createDecorator","key","Symbol","for","decorator","value","target","propertyKey","metaTarget","undefined","Reflect","defineMetadata","SetMetadata","metaKey","Reflector","get","getMetadata","getByKey","getAllAndOverride","methodLevel","getAllAndOverrideByKey","getAllAndMerge","result","Array","isArray","push","classLevel","PUBLIC_ROUTE_METADATA","Public","SetMetadata","classifyAccess","declared","access","undefined","guards","length","declareOpen","kind","undeclaredRouteWarning","route","undeclaredRouteRefusal","resolveDtoSchema","dtoClass","undefined","maybe","schema","safeParse","joinPath","prefix","path","replace","resolveBodySchema","paramEntries","ControllerClass","propertyKey","bodyParam","find","p","source","key","undefined","schema","paramTypes","Reflect","getMetadata","prototype","length","resolveDtoSchema","index","console","warn","String","name","declaredAccess","guards","isPublic","PUBLIC_ROUTE_METADATA","classifyAccess","access","walkCache","WeakMap","walkControllerMetadata","cached","get","controllerMeta","getMeta","CONTROLLER_PREFIX","HttpDecoratorsConfigError","host","methods","ROUTE_METHODS","paramsMap","ROUTE_PARAMS","Map","classGuards","USE_GUARDS","classInterceptors","USE_INTERCEPTORS","classFilters","USE_FILTERS","result","map","m","bodySchema","methodGuards","methodInterceptors","verb","fullPath","sort","a","b","status","ROUTE_STATUS","headers","ROUTE_HEADERS","redirect","ROUTE_REDIRECT","interceptors","filters","exposeEntries","EXPOSE_AGENT","agentResults","e","memberGuards","agent","module","opts","all","set"]}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { D as DiContainer, M as MiddlewareConsumerImpl } from './middleware-consumer-DcaksawH.js';
|
|
3
3
|
export { a as MiddlewareConfigProxy, b as MiddlewareFn, N as NestMiddleware, R as ResolvedMiddleware, m as middlewareMatchesPath, r as resolveOrNew, c as runMiddleware } from './middleware-consumer-DcaksawH.js';
|
|
4
|
+
import { A as AccessDecision, U as UndeclaredRoutePolicy } from './route-access-Bq7eKXIc.js';
|
|
5
|
+
export { c as classifyAccess, u as undeclaredRouteRefusal, a as undeclaredRouteWarning } from './route-access-Bq7eKXIc.js';
|
|
4
6
|
import { S as ServerHandle } from './types-CGthbcon.js';
|
|
5
7
|
export { ReadinessCheck, TheoApp, TheoAppOptions } from './app.js';
|
|
6
8
|
import * as ReactTypes from 'react';
|
|
@@ -411,6 +413,19 @@ interface WalkResult {
|
|
|
411
413
|
guards: Function[];
|
|
412
414
|
interceptors: Function[];
|
|
413
415
|
filters: Function[];
|
|
416
|
+
/**
|
|
417
|
+
* What this route said about who may call it — decided HERE, once (usetheokit/theokit#576).
|
|
418
|
+
*
|
|
419
|
+
* Every controller dispatcher in this package consumes a `WalkResult`: `TheoApp`,
|
|
420
|
+
* `createDecoratorHandler` (which the framework's own controller dispatch reuses) and
|
|
421
|
+
* `httpDecoratorsPlugin`. Only the first of them classified access, and it did so by re-reading
|
|
422
|
+
* the metadata itself — so the other two served an undeclared route no matter what the app had
|
|
423
|
+
* configured, and a fourth dispatcher would have shipped with the same hole.
|
|
424
|
+
*
|
|
425
|
+
* Computing it on the walk is what makes "a route nobody declared is refused" a property of the
|
|
426
|
+
* package rather than of whichever dispatcher someone remembered to patch.
|
|
427
|
+
*/
|
|
428
|
+
access: AccessDecision;
|
|
414
429
|
/**
|
|
415
430
|
* M47 — set when the member is bound via `@Expose(agent, opts)`. The dispatcher delegates such routes to
|
|
416
431
|
* the agent runtime (`mountAgent`) instead of invoking a JSON handler. `undefined` for normal verb routes.
|
|
@@ -513,6 +528,17 @@ interface CreateDecoratorServerOptions {
|
|
|
513
528
|
configure?: (consumer: MiddlewareConsumerImpl) => void;
|
|
514
529
|
/** M47 — required when any controller `@Expose`-binds an agent; serves the agent route. */
|
|
515
530
|
serveAgent?: ServeAgent;
|
|
531
|
+
/**
|
|
532
|
+
* What to do with a controller route that declared no access decision (#576).
|
|
533
|
+
*
|
|
534
|
+
* `'deny'` (default) refuses with 403. `'warn'` serves it after saying so once per route.
|
|
535
|
+
*
|
|
536
|
+
* This seam is where least privilege has to hold, not only `TheoApp`: the framework's own
|
|
537
|
+
* controller dispatch reuses this handler, `theokit dev` never runs the build gate that refuses
|
|
538
|
+
* an undeclared controller, and `@theokit/http` is published on its own. A gate that lives in one
|
|
539
|
+
* of three dispatchers is a lint, which is exactly what #576 reported.
|
|
540
|
+
*/
|
|
541
|
+
undeclaredRoutes?: UndeclaredRoutePolicy;
|
|
516
542
|
}
|
|
517
543
|
/**
|
|
518
544
|
* A pure Web-Standard controller handler: callable as `(request) => Response | null`
|
|
@@ -1454,4 +1480,4 @@ declare function revalidatePath(path: string): void;
|
|
|
1454
1480
|
*/
|
|
1455
1481
|
declare function getRevalidationSignals(): RevalidationSignal[];
|
|
1456
1482
|
|
|
1457
|
-
export { All, type ArgumentsHost, BadGatewayException, BadRequestException, Body, CATCH_EXCEPTIONS, CONTROLLER_PREFIX, type CanActivate, Catch, ConflictException, Controller, type ControllerMeta, type ControllerOptions, type CreateDecoratorServerOptions, type DecoratorHandler, Delete, DiContainer, type DigestedError, EXPOSE_AGENT, type ErrorContext, type ExceptionFilter, type ExecutionContext, Expose, type ExposeEntry, type ExposeOptions, ForbiddenException, GatewayTimeoutException, Get, GoneException, Head, Header, Headers, HostParam, HttpCode, HttpDecoratorsConfigError, HttpException, type HttpExceptionOptions, HttpStatus, type HttpStatusCode, type HttpVerb, HttpVersionNotSupportedException, ImATeapotException, type Interceptor, InternalServerErrorException, Ip, type MetadataKey, MethodNotAllowedException, MiddlewareConsumerImpl, NotAcceptableException, NotFoundException, NotImplementedException, Options, PUBLIC_ROUTE_METADATA, Param, type ParamEntry, type ParamSource, Patch, PayloadTooLargeException, Post, PreconditionFailedException, Public, Put, Query, ROUTE_HEADERS, ROUTE_METHODS, ROUTE_PARAMS, ROUTE_REDIRECT, ROUTE_STATUS, Redirect, type RedirectMeta, Reflector, Req, RequestTimeoutException, Res, type RevalidationSignal, type RouteDefinition, type RouteMap, type RouteMethodEntry, type RouteRegistration, type RouteTree, type ServeAgent, ServiceUnavailableException, Session, SetMetadata, SkipThrottle, type StaticOptions, type StreamRenderOptions, type StreamRenderResult, type SwcCore, type TheoRequestContext, Throttle, type ThrottleOptions, TooManyRequestsException, type TypedClient, TypedClientError, USE_FILTERS, USE_GUARDS, USE_INTERCEPTORS, UnauthorizedException, UnprocessableEntityException, UnsupportedMediaTypeException, UseFilters, UseGuards, UseInterceptors, type WalkResult, composeComponentTree, contract, createDecorator, createDecoratorHandler, createDecoratorServer, createExecutionContext, createStaticHandler, createTypedClient, digestError, getMeta, getMimeType, getRequestContext, getRevalidationSignals, getThrottleOptions, isControllerClass, isSafePath, isThrottleSkipped, joinPath, loadControllerWithSwc, loadControllersFromGlob, registerControllers, renderToStream, resolveDtoSchema, revalidatePath, revalidateTag, runExceptionFilters, runInterceptors, setMeta, streamToResponse, transformControllerSource, tryGetRequestContext, walkControllerMetadata };
|
|
1483
|
+
export { AccessDecision, All, type ArgumentsHost, BadGatewayException, BadRequestException, Body, CATCH_EXCEPTIONS, CONTROLLER_PREFIX, type CanActivate, Catch, ConflictException, Controller, type ControllerMeta, type ControllerOptions, type CreateDecoratorServerOptions, type DecoratorHandler, Delete, DiContainer, type DigestedError, EXPOSE_AGENT, type ErrorContext, type ExceptionFilter, type ExecutionContext, Expose, type ExposeEntry, type ExposeOptions, ForbiddenException, GatewayTimeoutException, Get, GoneException, Head, Header, Headers, HostParam, HttpCode, HttpDecoratorsConfigError, HttpException, type HttpExceptionOptions, HttpStatus, type HttpStatusCode, type HttpVerb, HttpVersionNotSupportedException, ImATeapotException, type Interceptor, InternalServerErrorException, Ip, type MetadataKey, MethodNotAllowedException, MiddlewareConsumerImpl, NotAcceptableException, NotFoundException, NotImplementedException, Options, PUBLIC_ROUTE_METADATA, Param, type ParamEntry, type ParamSource, Patch, PayloadTooLargeException, Post, PreconditionFailedException, Public, Put, Query, ROUTE_HEADERS, ROUTE_METHODS, ROUTE_PARAMS, ROUTE_REDIRECT, ROUTE_STATUS, Redirect, type RedirectMeta, Reflector, Req, RequestTimeoutException, Res, type RevalidationSignal, type RouteDefinition, type RouteMap, type RouteMethodEntry, type RouteRegistration, type RouteTree, type ServeAgent, ServiceUnavailableException, Session, SetMetadata, SkipThrottle, type StaticOptions, type StreamRenderOptions, type StreamRenderResult, type SwcCore, type TheoRequestContext, Throttle, type ThrottleOptions, TooManyRequestsException, type TypedClient, TypedClientError, USE_FILTERS, USE_GUARDS, USE_INTERCEPTORS, UnauthorizedException, UndeclaredRoutePolicy, UnprocessableEntityException, UnsupportedMediaTypeException, UseFilters, UseGuards, UseInterceptors, type WalkResult, composeComponentTree, contract, createDecorator, createDecoratorHandler, createDecoratorServer, createExecutionContext, createStaticHandler, createTypedClient, digestError, getMeta, getMimeType, getRequestContext, getRevalidationSignals, getThrottleOptions, isControllerClass, isSafePath, isThrottleSkipped, joinPath, loadControllerWithSwc, loadControllersFromGlob, registerControllers, renderToStream, resolveDtoSchema, revalidatePath, revalidateTag, runExceptionFilters, runInterceptors, setMeta, streamToResponse, transformControllerSource, tryGetRequestContext, walkControllerMetadata };
|
package/dist/index.js
CHANGED
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
-
PUBLIC_ROUTE_METADATA,
|
|
3
|
-
Public,
|
|
4
|
-
Reflector,
|
|
5
|
-
SetMetadata,
|
|
6
2
|
TheoApp,
|
|
7
|
-
createDecorator,
|
|
8
3
|
createStaticHandler,
|
|
9
4
|
getMimeType,
|
|
10
5
|
getRequestContext,
|
|
@@ -12,7 +7,7 @@ import {
|
|
|
12
7
|
renderToStream,
|
|
13
8
|
streamToResponse,
|
|
14
9
|
tryGetRequestContext
|
|
15
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-6HVQHSPX.js";
|
|
16
11
|
import {
|
|
17
12
|
MiddlewareConsumerImpl,
|
|
18
13
|
isControllerClass,
|
|
@@ -22,17 +17,25 @@ import {
|
|
|
22
17
|
resolveBody,
|
|
23
18
|
runMiddleware,
|
|
24
19
|
transformControllerSource
|
|
25
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-BXJBQ4EH.js";
|
|
26
21
|
import {
|
|
27
22
|
runExceptionFilters
|
|
28
23
|
} from "./chunk-HC47QXZV.js";
|
|
29
24
|
import {
|
|
30
25
|
HttpDecoratorsConfigError,
|
|
26
|
+
PUBLIC_ROUTE_METADATA,
|
|
27
|
+
Public,
|
|
28
|
+
Reflector,
|
|
29
|
+
SetMetadata,
|
|
30
|
+
classifyAccess,
|
|
31
|
+
createDecorator,
|
|
31
32
|
createExecutionContext,
|
|
32
33
|
joinPath,
|
|
33
34
|
resolveDtoSchema,
|
|
35
|
+
undeclaredRouteRefusal,
|
|
36
|
+
undeclaredRouteWarning,
|
|
34
37
|
walkControllerMetadata
|
|
35
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-R72YKDQ4.js";
|
|
36
39
|
import {
|
|
37
40
|
BadGatewayException,
|
|
38
41
|
BadRequestException,
|
|
@@ -380,12 +383,15 @@ __name(extractStack, "extractStack");
|
|
|
380
383
|
|
|
381
384
|
// src/bridge/create-server.ts
|
|
382
385
|
function createDecoratorHandler(controllersOrOpts) {
|
|
383
|
-
const { controllers, container, configure, serveAgent } = Array.isArray(controllersOrOpts) ? {
|
|
386
|
+
const { controllers, container, configure, serveAgent, undeclaredRoutes } = Array.isArray(controllersOrOpts) ? {
|
|
384
387
|
controllers: controllersOrOpts,
|
|
385
388
|
container: void 0,
|
|
386
389
|
configure: void 0,
|
|
387
|
-
serveAgent: void 0
|
|
390
|
+
serveAgent: void 0,
|
|
391
|
+
undeclaredRoutes: void 0
|
|
388
392
|
} : controllersOrOpts;
|
|
393
|
+
const undeclaredPolicy = undeclaredRoutes ?? "deny";
|
|
394
|
+
const warnedUndeclared = /* @__PURE__ */ new Set();
|
|
389
395
|
const middlewareConsumer = new MiddlewareConsumerImpl(container);
|
|
390
396
|
if (configure) configure(middlewareConsumer);
|
|
391
397
|
const middlewareEntries = middlewareConsumer.getEntries();
|
|
@@ -425,7 +431,16 @@ function createDecoratorHandler(controllersOrOpts) {
|
|
|
425
431
|
if (aP !== bP) return aP ? 1 : -1;
|
|
426
432
|
return 0;
|
|
427
433
|
});
|
|
428
|
-
const
|
|
434
|
+
const dispatchDeps = {
|
|
435
|
+
container,
|
|
436
|
+
middlewareEntries,
|
|
437
|
+
serveAgent,
|
|
438
|
+
undeclared: {
|
|
439
|
+
policy: undeclaredPolicy,
|
|
440
|
+
warned: warnedUndeclared
|
|
441
|
+
}
|
|
442
|
+
};
|
|
443
|
+
const handler = /* @__PURE__ */ __name((request) => handleRequest(routes, request, dispatchDeps), "handler");
|
|
429
444
|
handler.matches = (method, pathname) => findRoute(routes, method.toUpperCase(), pathname) !== null;
|
|
430
445
|
return handler;
|
|
431
446
|
}
|
|
@@ -446,7 +461,8 @@ function createDecoratorServer(controllersOrOpts) {
|
|
|
446
461
|
});
|
|
447
462
|
}
|
|
448
463
|
__name(createDecoratorServer, "createDecoratorServer");
|
|
449
|
-
async function handleRequest(routes, request,
|
|
464
|
+
async function handleRequest(routes, request, deps) {
|
|
465
|
+
const { container, middlewareEntries, serveAgent, undeclared } = deps;
|
|
450
466
|
const url = new URL(request.url);
|
|
451
467
|
const method = request.method.toUpperCase();
|
|
452
468
|
const pathname = url.pathname;
|
|
@@ -478,6 +494,16 @@ async function handleRequest(routes, request, container, middlewareEntries = [],
|
|
|
478
494
|
try {
|
|
479
495
|
const mwResponse = await runMiddleware(middlewareEntries, request, pathname);
|
|
480
496
|
if (mwResponse) return mwResponse;
|
|
497
|
+
if (walk.access === "undeclared") {
|
|
498
|
+
if (undeclared.policy === "deny") {
|
|
499
|
+
const ex = new ForbiddenException(undeclaredRouteRefusal("controller", pathname));
|
|
500
|
+
return jsonResponse(ex.statusCode, ex.toJSON());
|
|
501
|
+
}
|
|
502
|
+
if (!undeclared.warned.has(pathname)) {
|
|
503
|
+
undeclared.warned.add(pathname);
|
|
504
|
+
console.warn(undeclaredRouteWarning("controller", pathname));
|
|
505
|
+
}
|
|
506
|
+
}
|
|
481
507
|
const ctx = createExecutionContext(request, instance.constructor, walk.propertyKey);
|
|
482
508
|
const guardResponse = await runGuards(walk.guards, ctx, container);
|
|
483
509
|
if (guardResponse) return guardResponse;
|
|
@@ -840,6 +866,7 @@ export {
|
|
|
840
866
|
UseFilters,
|
|
841
867
|
UseGuards,
|
|
842
868
|
UseInterceptors,
|
|
869
|
+
classifyAccess,
|
|
843
870
|
composeComponentTree,
|
|
844
871
|
contract,
|
|
845
872
|
createDecorator,
|
|
@@ -874,6 +901,8 @@ export {
|
|
|
874
901
|
streamToResponse,
|
|
875
902
|
transformControllerSource,
|
|
876
903
|
tryGetRequestContext,
|
|
904
|
+
undeclaredRouteRefusal,
|
|
905
|
+
undeclaredRouteWarning,
|
|
877
906
|
walkControllerMetadata
|
|
878
907
|
};
|
|
879
908
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/decorators/controller.ts","../src/decorators/methods.ts","../src/decorators/params.ts","../src/decorators/expose.ts","../src/decorators/response.ts","../src/decorators/middleware.ts","../src/decorators/throttle.ts","../src/bridge/register-controllers.ts","../src/bridge/create-server.ts","../src/error-digest.ts","../src/typed-client.ts","../src/contract.ts","../src/component-tree.ts","../src/cache-signal.ts"],"mappings":"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","names":["inferPrefix","className","stripped","replace","kebab","toLowerCase","Controller","prefixOrOpts","maybeOpts","target","prefix","opts","name","setMeta","CONTROLLER_PREFIX","host","makeVerbDecorator","verb","path","target","propertyKey","existing","getMeta","ROUTE_METHODS","push","setMeta","Get","Post","Put","Patch","Delete","Options","Head","All","isZodSchema","v","undefined","safeParse","makeParamDecorator","source","keyOrSchema","target","propertyKey","parameterIndex","map","getMeta","ROUTE_PARAMS","Map","entries","get","entry","index","key","schema","push","set","setMeta","Req","Body","Param","Query","Headers","Session","Ip","HostParam","Res","opts","passthrough","Expose","agent","opts","target","propertyKey","existing","getMeta","EXPOSE_AGENT","push","setMeta","HttpCode","status","target","propertyKey","setMeta","ROUTE_STATUS","Header","name","value","existing","getMeta","ROUTE_HEADERS","push","Redirect","url","ROUTE_REDIRECT","UseGuards","guards","target","propertyKey","actualTarget","existing","getMeta","USE_GUARDS","setMeta","UseInterceptors","interceptors","USE_INTERCEPTORS","UseFilters","filters","USE_FILTERS","Catch","exceptions","CATCH_EXCEPTIONS","THROTTLE_KEY","Symbol","for","SKIP_THROTTLE_KEY","Throttle","options","target","propertyKey","actualTarget","undefined","setMeta","SkipThrottle","skip","getThrottleOptions","getMeta","isThrottleSkipped","registerControllers","controllers","seen","Set","unique","Ctor","has","console","warn","name","add","push","flatMap","walks","walkControllerMetadata","map","w","verb","fullPath","walkResult","djb2","input","hash","i","length","charCodeAt","toString","digestError","err","context","message","extractMessage","status","extractStatus","rawStack","extractStack","digest","isProduction","process","env","NODE_ENV","stack","Error","String","JSON","stringify","HttpException","statusCode","undefined","createDecoratorHandler","controllersOrOpts","controllers","container","configure","serveAgent","Array","isArray","undefined","middlewareConsumer","MiddlewareConsumerImpl","middlewareEntries","getEntries","seen","Set","unique","Ctor","has","add","push","routes","built","instance","resolveOrNew","error","failure","controllerName","name","console","Error","message","String","walk","walkControllerMetadata","sort","a","b","aP","fullPath","includes","bP","handler","request","handleRequest","matches","method","pathname","findRoute","toUpperCase","createDecoratorServer","handle","adapter","createNodeAdapter","createServer","res","URL","url","jsonResponse","code","match","params","digested","digestError","route","phase","source","digest","stack","mwResponse","runMiddleware","ctx","createExecutionContext","propertyKey","guardResponse","runGuards","guards","agent","module","opts","body","resolveBody","Response","args","buildArgs","paramEntries","query","Object","fromEntries","searchParams","redirect","status","headers","location","handlerFn","result","runInterceptors","interceptors","apply","buildResponse","err","runExceptionFilters","filters","context","GuardCtor","guard","allowed","canActivate","ex","ForbiddenException","statusCode","toJSON","value","toLowerCase","JSON","stringify","entry","verb","matchPath","pattern","paramNames","regexStr","replace","_m","RegExp","exec","forEach","i","length","maxIndex","Math","max","map","p","index","from","key","get","entries","createTypedClient","baseUrl","defaultHeaders","request","method","path","body","opts","url","URL","query","k","v","Object","entries","searchParams","set","headers","undefined","res","fetch","toString","JSON","stringify","ok","error","json","catch","message","statusText","TypedClientError","status","get","post","put","delete","Error","name","contract","routes","createErrorBoundary","React","FallbackComponent","ErrorBoundary","Component","props","state","hasError","getDerivedStateFromError","render","createElement","Fragment","children","composeComponentTree","tree","composeNode","node","layout","Layout","page","Page","loading","Loading","error","ErrorFallback","element","Suspense","fallback","Boundary","revalidateTag","tag","collectSignal","kind","value","timestamp","Date","now","revalidatePath","path","getRevalidationSignals","ctx","tryGetRequestContext","_revalidationSignals","signal","console","warn","extended","push"]}
|
|
1
|
+
{"version":3,"sources":["../src/decorators/controller.ts","../src/decorators/methods.ts","../src/decorators/params.ts","../src/decorators/expose.ts","../src/decorators/response.ts","../src/decorators/middleware.ts","../src/decorators/throttle.ts","../src/bridge/register-controllers.ts","../src/bridge/create-server.ts","../src/error-digest.ts","../src/typed-client.ts","../src/contract.ts","../src/component-tree.ts","../src/cache-signal.ts"],"mappings":"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","names":["inferPrefix","className","stripped","replace","kebab","toLowerCase","Controller","prefixOrOpts","maybeOpts","target","prefix","opts","name","setMeta","CONTROLLER_PREFIX","host","makeVerbDecorator","verb","path","target","propertyKey","existing","getMeta","ROUTE_METHODS","push","setMeta","Get","Post","Put","Patch","Delete","Options","Head","All","isZodSchema","v","undefined","safeParse","makeParamDecorator","source","keyOrSchema","target","propertyKey","parameterIndex","map","getMeta","ROUTE_PARAMS","Map","entries","get","entry","index","key","schema","push","set","setMeta","Req","Body","Param","Query","Headers","Session","Ip","HostParam","Res","opts","passthrough","Expose","agent","opts","target","propertyKey","existing","getMeta","EXPOSE_AGENT","push","setMeta","HttpCode","status","target","propertyKey","setMeta","ROUTE_STATUS","Header","name","value","existing","getMeta","ROUTE_HEADERS","push","Redirect","url","ROUTE_REDIRECT","UseGuards","guards","target","propertyKey","actualTarget","existing","getMeta","USE_GUARDS","setMeta","UseInterceptors","interceptors","USE_INTERCEPTORS","UseFilters","filters","USE_FILTERS","Catch","exceptions","CATCH_EXCEPTIONS","THROTTLE_KEY","Symbol","for","SKIP_THROTTLE_KEY","Throttle","options","target","propertyKey","actualTarget","undefined","setMeta","SkipThrottle","skip","getThrottleOptions","getMeta","isThrottleSkipped","registerControllers","controllers","seen","Set","unique","Ctor","has","console","warn","name","add","push","flatMap","walks","walkControllerMetadata","map","w","verb","fullPath","walkResult","djb2","input","hash","i","length","charCodeAt","toString","digestError","err","context","message","extractMessage","status","extractStatus","rawStack","extractStack","digest","isProduction","process","env","NODE_ENV","stack","Error","String","JSON","stringify","HttpException","statusCode","undefined","createDecoratorHandler","controllersOrOpts","controllers","container","configure","serveAgent","undeclaredRoutes","Array","isArray","undefined","undeclaredPolicy","warnedUndeclared","Set","middlewareConsumer","MiddlewareConsumerImpl","middlewareEntries","getEntries","seen","unique","Ctor","has","add","push","routes","built","instance","resolveOrNew","error","failure","controllerName","name","console","Error","message","String","walk","walkControllerMetadata","sort","a","b","aP","fullPath","includes","bP","dispatchDeps","undeclared","policy","warned","handler","request","handleRequest","matches","method","pathname","findRoute","toUpperCase","createDecoratorServer","handle","adapter","createNodeAdapter","createServer","res","URL","url","jsonResponse","code","deps","match","params","digested","digestError","route","phase","source","digest","stack","mwResponse","runMiddleware","access","ex","ForbiddenException","undeclaredRouteRefusal","statusCode","toJSON","warn","undeclaredRouteWarning","ctx","createExecutionContext","propertyKey","guardResponse","runGuards","guards","agent","module","opts","body","resolveBody","Response","args","buildArgs","paramEntries","query","Object","fromEntries","searchParams","redirect","status","headers","location","handlerFn","result","runInterceptors","interceptors","apply","buildResponse","err","runExceptionFilters","filters","context","GuardCtor","guard","allowed","canActivate","value","toLowerCase","JSON","stringify","entry","verb","matchPath","pattern","paramNames","regexStr","replace","_m","RegExp","exec","forEach","i","length","maxIndex","Math","max","map","p","index","from","key","get","entries","createTypedClient","baseUrl","defaultHeaders","request","method","path","body","opts","url","URL","query","k","v","Object","entries","searchParams","set","headers","undefined","res","fetch","toString","JSON","stringify","ok","error","json","catch","message","statusText","TypedClientError","status","get","post","put","delete","Error","name","contract","routes","createErrorBoundary","React","FallbackComponent","ErrorBoundary","Component","props","state","hasError","getDerivedStateFromError","render","createElement","Fragment","children","composeComponentTree","tree","composeNode","node","layout","Layout","page","Page","loading","Loading","error","ErrorFallback","element","Suspense","fallback","Boundary","revalidateTag","tag","collectSignal","kind","value","timestamp","Date","now","revalidatePath","path","getRevalidationSignals","ctx","tryGetRequestContext","_revalidationSignals","signal","console","warn","extended","push"]}
|