@theokit/http 1.1.1 → 1.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/dist/app.d.ts CHANGED
@@ -1,5 +1,50 @@
1
1
  import { S as ServerHandle } from './types-CGthbcon.js';
2
2
 
3
+ /**
4
+ * Whether a route DECLARED an access decision, or nobody said (usetheokit/theokit#576).
5
+ *
6
+ * ## The ambiguity this removes
7
+ *
8
+ * `guards: []` meant two different things and the dispatcher could not tell them apart:
9
+ *
10
+ * - *this route is open on purpose*, and
11
+ * - *nobody said*.
12
+ *
13
+ * Faced with both readings it took the permissive one and served. For controllers that was safe
14
+ * only because a separate build gate (#514) refuses an undeclared controller route — which makes
15
+ * least privilege a property of the PIPELINE rather than of the system. Anything reaching the
16
+ * dispatcher without having run that build is served, and `@theokit/http` is published on its own,
17
+ * so "without having run that build" is an ordinary way to use it.
18
+ *
19
+ * Agent routes had neither. They are auto-wired — the app never wrote them, so there is no file for
20
+ * a reviewer to read — dispatched BEFORE controllers and file routes, and covered by no gate at
21
+ * all. An agent authored through capabilities has no class, so it takes no `@UseGuards`, so
22
+ * `guards` was `undefined`, so `?? []`, so served.
23
+ *
24
+ * The fix is not a new guard. It is making absence REPRESENTABLE, so a decision can be told from
25
+ * its residue.
26
+ */
27
+ /** What a route says about who may call it. */
28
+ type AccessDecision =
29
+ /** Anyone may call it, on purpose. */
30
+ 'public'
31
+ /** At least one guard decides. */
32
+ | 'guarded'
33
+ /** Nobody said — the state that used to be indistinguishable from `'public'`. */
34
+ | 'undeclared';
35
+ /**
36
+ * How an app answers a route that declared nothing.
37
+ *
38
+ * `'warn'` is the default and serves the request after saying so once, loudly, at mount. `'deny'`
39
+ * refuses with 403.
40
+ *
41
+ * The default is `'warn'` and not `'deny'` because flipping it silently would break every app whose
42
+ * agent endpoints are open today — which is precisely the population #576 is about, and breaking
43
+ * them inside a patch is how a security improvement becomes an outage. It becomes `'deny'` in the
44
+ * next major; `'deny'` is available now for anyone who wants the property before then.
45
+ */
46
+ type UndeclaredRoutePolicy = 'warn' | 'deny';
47
+
3
48
  /**
4
49
  * TheoApp — NestJS/Spring Boot-style application bootstrap.
5
50
  *
@@ -30,6 +75,15 @@ interface AgentAppEntry {
30
75
  readonly compiled: unknown;
31
76
  /** Guards to run before the agent routes (same shape the controller pipeline uses). */
32
77
  readonly guards?: Function[];
78
+ /**
79
+ * The access decision for this agent's routes, said explicitly (#576).
80
+ *
81
+ * Omit it and a non-empty `guards` still counts as a declaration. Omit BOTH and the route is
82
+ * `'undeclared'` — which used to be indistinguishable from open, because both arrived as
83
+ * `guards: []`. Agent routes need this most: they are auto-wired, so the app never wrote a file a
84
+ * reviewer could read, and a capability-authored agent has no class to hang `@UseGuards` on.
85
+ */
86
+ readonly access?: Exclude<AccessDecision, 'undeclared'>;
33
87
  /** Method name reported for this agent's route (default `'run'`). */
34
88
  readonly methodName?: string;
35
89
  /** Optional owning class, kept only for guard resolution parity with controllers. */
@@ -85,6 +139,17 @@ interface AgentRuntime {
85
139
  interface TheoAppOptions {
86
140
  /** Controller classes decorated with @Controller. */
87
141
  controllers: Function[];
142
+ /**
143
+ * What to do with a route that declared no access decision (#576).
144
+ *
145
+ * `'warn'` (default) serves it after saying so once at mount. `'deny'` refuses with 403.
146
+ *
147
+ * The default is not `'deny'` because flipping it here would break every app whose agent
148
+ * endpoints are open today — the population #576 is about — inside a non-major release. It
149
+ * becomes `'deny'` in the next major; `'deny'` is available now for anyone who wants the property
150
+ * before then.
151
+ */
152
+ undeclaredRoutes?: UndeclaredRoutePolicy;
88
153
  /**
89
154
  * Agents to auto-wire (routes + SSE + tools). M53 — these are prepared ENTRIES, not decorated
90
155
  * classes: the app no longer reads agent metadata, so authoring is free to be capability-based
@@ -164,6 +229,17 @@ declare class TheoApp {
164
229
  getServerHandle(): ServerHandle;
165
230
  close(): Promise<void>;
166
231
  private agentRoutes;
232
+ /**
233
+ * Paths already warned about (#576).
234
+ *
235
+ * Controller routes are classified at dispatch rather than at mount — the app builds its route
236
+ * table from walked metadata and the public marker lives on the class, so the cheapest place to
237
+ * ask is where both are already in hand. The set is what keeps it to one line per route instead
238
+ * of one per request.
239
+ */
240
+ private readonly warnedUndeclared;
241
+ /** #576 — how this app answers a route nobody declared. Set once, at create. */
242
+ private readonly undeclaredRoutes;
167
243
  /**
168
244
  * Synchronous since B-M67-21: the only `await` here was the dynamic `import('@theokit/agents')`
169
245
  * that the inversion removed, and `AgentRuntime.generateAgentRoutes` returns routes directly.
package/dist/app.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  TheoApp
3
- } from "./chunk-ZMMIH3I2.js";
3
+ } from "./chunk-NFCIOKAI.js";
4
4
  import "./chunk-X7Q5HPLK.js";
5
5
  import "./chunk-AJOJXZRY.js";
6
6
  import "./chunk-BSS3KPGY.js";
@@ -245,6 +245,36 @@ function scanControllerFiles(rootDir, pattern) {
245
245
  }
246
246
  __name(scanControllerFiles, "scanControllerFiles");
247
247
 
248
+ // src/bridge/resolve-body.ts
249
+ async function resolveBody(method, request, walk, jsonResponse) {
250
+ if (![
251
+ "POST",
252
+ "PUT",
253
+ "PATCH"
254
+ ].includes(method)) return void 0;
255
+ let body;
256
+ try {
257
+ const text = await request.clone().text();
258
+ body = text ? JSON.parse(text) : void 0;
259
+ } catch {
260
+ body = void 0;
261
+ }
262
+ if (walk.bodySchema && body !== void 0) {
263
+ const result = walk.bodySchema.safeParse(body);
264
+ if (!result.success) {
265
+ return jsonResponse(422, {
266
+ error: {
267
+ code: "VALIDATION_ERROR",
268
+ issues: result.error.issues
269
+ }
270
+ });
271
+ }
272
+ body = result.data;
273
+ }
274
+ return body;
275
+ }
276
+ __name(resolveBody, "resolveBody");
277
+
248
278
  export {
249
279
  MiddlewareConsumerImpl,
250
280
  middlewareMatchesPath,
@@ -252,6 +282,7 @@ export {
252
282
  transformControllerSource,
253
283
  loadControllerWithSwc,
254
284
  loadControllersFromGlob,
255
- isControllerClass
285
+ isControllerClass,
286
+ resolveBody
256
287
  };
257
- //# sourceMappingURL=chunk-DI7KNIMB.js.map
288
+ //# sourceMappingURL=chunk-6CFF7Q4Z.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/bridge/middleware-consumer.ts","../src/bridge/swc-loader.ts","../src/bridge/resolve-body.ts"],"mappings":"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","names":["MiddlewareConsumerImpl","entries","container","apply","middleware","resolved","map","m","resolveMiddleware","excludePatterns","proxy","exclude","routes","r","push","path","forRoutes","routePatterns","handler","getEntries","prototype","use","instance","resolveOrNew","request","next","middlewareMatchesPath","entry","requestPath","pattern","pathMatches","normPath","replace","normPattern","startsWith","runMiddleware","response","Promise","resolve","readFileSync","writeFileSync","unlinkSync","readdirSync","createRequire","resolve","dirname","join","relative","pathToFileURL","fileURLToPath","getSwcrcTarget","swcrc","jsc","target","consumerSwcrcCache","readConsumerSwcrc","startDir","undefined","dir","root","dirname","candidate","join","raw","readFileSync","parsed","JSON","parse","$schema","parent","swcCoreCache","loadSwcCore","thisDir","fileURLToPath","url","req","createRequire","resolve","resolved","pathToFileURL","href","transformControllerSource","source","filename","loadSwc","swc","HttpDecoratorsConfigError","consumerSwcrc","consumerJsc","code","transformSync","parser","syntax","decorators","transform","legacyDecorator","decoratorMetadata","module","type","sourceMaps","loadControllerWithSwc","absoluteFilePath","tmpPath","replace","writeFileSync","Date","now","unlinkSync","loadControllersFromGlob","rootDir","pattern","files","scanControllerFiles","length","console","warn","controllers","file","absPath","mod","exported","Object","values","isControllerClass","push","fn","Reflect","hasMetadata","Symbol","for","parts","split","dirParts","part","includes","baseDir","lastPart","suffix","walk","entry","readdirSync","withFileTypes","full","name","isDirectory","endsWith","relative","resolveBody","method","request","walk","jsonResponse","includes","undefined","body","text","clone","JSON","parse","bodySchema","result","safeParse","success","error","code","issues","data"]}
@@ -17,6 +17,135 @@ import {
17
17
  // src/app.ts
18
18
  import "reflect-metadata";
19
19
 
20
+ // src/decorators/set-metadata.ts
21
+ import "reflect-metadata";
22
+ var decoratorKeyCounter = 0;
23
+ function createDecorator() {
24
+ const key = /* @__PURE__ */ Symbol.for(`theokit:custom:${++decoratorKeyCounter}`);
25
+ const decorator = /* @__PURE__ */ __name((value) => {
26
+ return (target, propertyKey) => {
27
+ const metaTarget = propertyKey !== void 0 ? target.constructor : target;
28
+ Reflect.defineMetadata(key, value, metaTarget, propertyKey);
29
+ };
30
+ }, "decorator");
31
+ decorator.key = key;
32
+ return decorator;
33
+ }
34
+ __name(createDecorator, "createDecorator");
35
+ function SetMetadata(metaKey, value) {
36
+ return (target, propertyKey) => {
37
+ const metaTarget = propertyKey !== void 0 ? target.constructor : target;
38
+ Reflect.defineMetadata(metaKey, value, metaTarget, propertyKey);
39
+ };
40
+ }
41
+ __name(SetMetadata, "SetMetadata");
42
+ var Reflector = class {
43
+ static {
44
+ __name(this, "Reflector");
45
+ }
46
+ /**
47
+ * Read metadata set by a typed decorator created via createDecorator<T>().
48
+ *
49
+ * @example
50
+ * ```ts
51
+ * const Roles = createDecorator<string[]>()
52
+ * const reflector = new Reflector()
53
+ * const roles = reflector.get(Roles, handlerFn) // string[] | undefined
54
+ * ```
55
+ */
56
+ get(decorator, target, propertyKey) {
57
+ const key = decorator.key;
58
+ if (!key) return void 0;
59
+ if (propertyKey !== void 0) {
60
+ return Reflect.getMetadata(key, target, propertyKey);
61
+ }
62
+ return Reflect.getMetadata(key, target);
63
+ }
64
+ /**
65
+ * Read metadata set by @SetMetadata(key, value).
66
+ */
67
+ getByKey(key, target, propertyKey) {
68
+ if (propertyKey !== void 0) {
69
+ return Reflect.getMetadata(key, target, propertyKey);
70
+ }
71
+ return Reflect.getMetadata(key, target);
72
+ }
73
+ /**
74
+ * Read metadata checking method-level first, then class-level.
75
+ * Returns the first non-undefined value found.
76
+ *
77
+ * NestJS equivalent: `reflector.getAllAndOverride(ROLES_KEY, [context.getHandler(), context.getClass()])`
78
+ *
79
+ * @example
80
+ * ```ts
81
+ * const Roles = createDecorator<string[]>()
82
+ * // In a guard:
83
+ * const roles = reflector.getAllAndOverride(Roles, context.getClass(), context.getMethodName())
84
+ * // Checks method-level @Roles first, falls back to class-level @Roles
85
+ * ```
86
+ */
87
+ getAllAndOverride(decorator, target, propertyKey) {
88
+ if (propertyKey !== void 0) {
89
+ const methodLevel = this.get(decorator, target, propertyKey);
90
+ if (methodLevel !== void 0) return methodLevel;
91
+ }
92
+ return this.get(decorator, target);
93
+ }
94
+ /**
95
+ * Read metadata checking method-level first, then class-level, by raw key.
96
+ * Returns the first non-undefined value found.
97
+ */
98
+ getAllAndOverrideByKey(key, target, propertyKey) {
99
+ if (propertyKey !== void 0) {
100
+ const methodLevel = this.getByKey(key, target, propertyKey);
101
+ if (methodLevel !== void 0) return methodLevel;
102
+ }
103
+ return this.getByKey(key, target);
104
+ }
105
+ /**
106
+ * Read metadata from both method-level and class-level, merging arrays.
107
+ * Returns all found values as a flat array.
108
+ *
109
+ * NestJS equivalent: `reflector.getAllAndMerge(ROLES_KEY, [context.getHandler(), context.getClass()])`
110
+ *
111
+ * @example
112
+ * ```ts
113
+ * const Tags = createDecorator<string[]>()
114
+ *
115
+ * @Tags(['api'])
116
+ * @Controller('cats')
117
+ * class CatsCtrl {
118
+ * @Tags(['read'])
119
+ * @Get()
120
+ * findAll() {}
121
+ * }
122
+ *
123
+ * reflector.getAllAndMerge(Tags, CatsCtrl, 'findAll')
124
+ * // → ['read', 'api'] (method + class merged)
125
+ * ```
126
+ */
127
+ getAllAndMerge(decorator, target, propertyKey) {
128
+ const result = [];
129
+ if (propertyKey !== void 0) {
130
+ const methodLevel = this.get(decorator, target, propertyKey);
131
+ if (methodLevel !== void 0) {
132
+ if (Array.isArray(methodLevel)) result.push(...methodLevel);
133
+ else result.push(methodLevel);
134
+ }
135
+ }
136
+ const classLevel = this.get(decorator, target);
137
+ if (classLevel !== void 0) {
138
+ if (Array.isArray(classLevel)) result.push(...classLevel);
139
+ else result.push(classLevel);
140
+ }
141
+ return result;
142
+ }
143
+ };
144
+
145
+ // src/decorators/public.ts
146
+ var PUBLIC_ROUTE_METADATA = "theokit:public";
147
+ var Public = /* @__PURE__ */ __name(() => SetMetadata(PUBLIC_ROUTE_METADATA, true), "Public");
148
+
20
149
  // src/request-context.ts
21
150
  import { AsyncLocalStorage } from "async_hooks";
22
151
  var storage = new AsyncLocalStorage();
@@ -37,6 +166,17 @@ async function runWithRequestContext(ctx, fn) {
37
166
  }
38
167
  __name(runWithRequestContext, "runWithRequestContext");
39
168
 
169
+ // src/route-access.ts
170
+ function classifyAccess(declared) {
171
+ if (declared.access !== void 0) return declared.access;
172
+ return declared.guards !== void 0 && declared.guards.length > 0 ? "guarded" : "undeclared";
173
+ }
174
+ __name(classifyAccess, "classifyAccess");
175
+ function undeclaredRouteWarning(kind, route) {
176
+ return `[theokit] ${kind} route ${route} declares no access decision and is served to anyone. Declare one: attach a guard, or say it is open on purpose (${kind === "agent" ? "`access: 'public'`" : "`@Public()`"}). This becomes a 403 in the next major; set \`undeclaredRoutes: 'deny'\` to refuse it now.`;
177
+ }
178
+ __name(undeclaredRouteWarning, "undeclaredRouteWarning");
179
+
40
180
  // src/static.ts
41
181
  var MIME_TYPES = {
42
182
  // Text
@@ -324,6 +464,7 @@ var TheoApp = class _TheoApp {
324
464
  readyPath;
325
465
  readinessChecks;
326
466
  constructor(opts) {
467
+ this.undeclaredRoutes = opts?.undeclaredRoutes ?? "warn";
327
468
  const hp = opts?.healthPath ?? "/__theo/health";
328
469
  const rp = opts?.readyPath ?? "/__theo/ready";
329
470
  if (hp.startsWith("/api/")) throw new Error(`[TheoApp] healthPath "${hp}" must not start with /api/ \u2014 would collide with user routes`);
@@ -446,6 +587,17 @@ var TheoApp = class _TheoApp {
446
587
  // ── Auto-wire agents (the "SpringApplication.run()" moment) ──
447
588
  agentRoutes = [];
448
589
  /**
590
+ * Paths already warned about (#576).
591
+ *
592
+ * Controller routes are classified at dispatch rather than at mount — the app builds its route
593
+ * table from walked metadata and the public marker lives on the class, so the cheapest place to
594
+ * ask is where both are already in hand. The set is what keeps it to one line per route instead
595
+ * of one per request.
596
+ */
597
+ warnedUndeclared = /* @__PURE__ */ new Set();
598
+ /** #576 — how this app answers a route nobody declared. Set once, at create. */
599
+ undeclaredRoutes;
600
+ /**
449
601
  * Synchronous since B-M67-21: the only `await` here was the dynamic `import('@theokit/agents')`
450
602
  * that the inversion removed, and `AgentRuntime.generateAgentRoutes` returns routes directly.
451
603
  *
@@ -475,6 +627,7 @@ var TheoApp = class _TheoApp {
475
627
  }
476
628
  const agentIdentity = entry.agentClass ?? /* @__PURE__ */ __name(function agent() {
477
629
  }, "agent");
630
+ const access = classifyAccess(entry);
478
631
  const routes = runtime.generateAgentRoutes({
479
632
  walkResult: {
480
633
  route: entry.route
@@ -495,9 +648,15 @@ var TheoApp = class _TheoApp {
495
648
  handler: route.handler,
496
649
  guards: entry.guards ?? [],
497
650
  agentClass: agentIdentity,
498
- methodName: entry.methodName ?? "run"
651
+ methodName: entry.methodName ?? "run",
652
+ access
499
653
  });
500
654
  }
655
+ if (access === "undeclared") {
656
+ for (const route of routes) {
657
+ console.warn(undeclaredRouteWarning("agent", route.path));
658
+ }
659
+ }
501
660
  console.log(` \u{1F916} Agent "${entry.name}" mounted at ${entry.route}/chat (${compiled.tools.length} tools)`);
502
661
  }
503
662
  }
@@ -611,6 +770,10 @@ var TheoApp = class _TheoApp {
611
770
  }
612
771
  for (const route of this.agentRoutes) {
613
772
  if (request.method.toUpperCase() === route.method && route.pattern.test(pathname)) {
773
+ if (route.access === "undeclared" && this.undeclaredRoutes === "deny") {
774
+ const ex = new ForbiddenException(`Agent route ${pathname} declares no access decision (undeclaredRoutes: 'deny')`);
775
+ return jsonResponse(ex.statusCode, ex.toJSON());
776
+ }
614
777
  if (route.guards.length > 0) {
615
778
  const ctx = createExecutionContext(request, route.agentClass, route.methodName);
616
779
  for (const GuardCtor of route.guards) {
@@ -636,6 +799,21 @@ var TheoApp = class _TheoApp {
636
799
  });
637
800
  }
638
801
  const { entry, params } = match;
802
+ const controllerClass = entry.instance.constructor;
803
+ const access = classifyAccess({
804
+ access: Reflect.getMetadata(PUBLIC_ROUTE_METADATA, controllerClass) === true || Reflect.getMetadata(PUBLIC_ROUTE_METADATA, controllerClass, entry.walk.propertyKey) === true ? "public" : void 0,
805
+ guards: entry.walk.guards
806
+ });
807
+ if (access === "undeclared") {
808
+ if (this.undeclaredRoutes === "deny") {
809
+ const ex = new ForbiddenException(`Controller route ${url.pathname} declares no access decision (undeclaredRoutes: 'deny')`);
810
+ return jsonResponse(ex.statusCode, ex.toJSON());
811
+ }
812
+ if (!this.warnedUndeclared.has(url.pathname)) {
813
+ this.warnedUndeclared.add(url.pathname);
814
+ console.warn(undeclaredRouteWarning("controller", url.pathname));
815
+ }
816
+ }
639
817
  try {
640
818
  const ctx = createExecutionContext(request, entry.instance.constructor, entry.walk.propertyKey);
641
819
  for (const GuardCtor of entry.walk.guards) {
@@ -652,7 +830,7 @@ var TheoApp = class _TheoApp {
652
830
  "PATCH"
653
831
  ].includes(method)) {
654
832
  try {
655
- const text = await request.text();
833
+ const text = await request.clone().text();
656
834
  body = text ? JSON.parse(text) : void 0;
657
835
  } catch {
658
836
  body = void 0;
@@ -790,6 +968,11 @@ function buildResponse(result, walk, method) {
790
968
  __name(buildResponse, "buildResponse");
791
969
 
792
970
  export {
971
+ createDecorator,
972
+ SetMetadata,
973
+ Reflector,
974
+ PUBLIC_ROUTE_METADATA,
975
+ Public,
793
976
  getRequestContext,
794
977
  tryGetRequestContext,
795
978
  getMimeType,
@@ -799,4 +982,4 @@ export {
799
982
  streamToResponse,
800
983
  TheoApp
801
984
  };
802
- //# sourceMappingURL=chunk-ZMMIH3I2.js.map
985
+ //# sourceMappingURL=chunk-NFCIOKAI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/app.ts","../src/decorators/set-metadata.ts","../src/decorators/public.ts","../src/request-context.ts","../src/route-access.ts","../src/static.ts","../src/stream-renderer.ts"],"mappings":"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","names":["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","AsyncLocalStorage","storage","AsyncLocalStorage","getRequestContext","ctx","getStore","Error","tryGetRequestContext","runWithRequestContext","fn","run","classifyAccess","declared","access","undefined","guards","length","undeclaredRouteWarning","kind","route","MIME_TYPES","UNSAFE_PATH_RE","getMimeType","filePath","dot","lastIndexOf","ext","slice","toLowerCase","isSafePath","pathname","test","readFileBun","fullPath","g","globalThis","BunRT","Bun","file","exists","buf","arrayBuffer","content","Uint8Array","size","byteLength","readFileDeno","DenoRT","Deno","stat","isDirectory","readFile","readFileNode","fs","handle","open","close","containedRealPath","root","sep","realPath","realpath","realRoot","startsWith","safePath","resolveRoot","join","cwd","resolve","createStaticHandler","options","maxAge","resolvedRoot","request","method","toUpperCase","url","URL","decodeURIComponent","result","endsWith","includes","contentType","headers","String","Response","status","DOCTYPE","encoder","TextEncoder","renderToStream","options","root","waitForAll","reactDomServer","renderToReadableStream","renderWithReadableStream","renderToString","console","warn","renderWithString","Error","renderFn","reactStream","allReady","doctypeStream","prependDoctype","stream","html","bytes","encode","ReadableStream","start","controller","enqueue","close","Promise","resolve","source","reader","getReader","doctypeSent","pull","value","done","read","cancel","streamToResponse","result","Response","status","headers","TheoApp","serverHandle","routes","frontendHtml","streamingRoot","staticHandler","startTime","Date","now","healthPath","readyPath","readinessChecks","opts","undeclaredRoutes","hp","rp","startsWith","Error","adapter","createNodeAdapter","createServer","request","handleRequest","create","app","registry","Map","module","moduleMeta","Reflect","getMetadata","allModules","imports","Mod","meta","Prov","providers","has","set","Controller","controllers","paramTypes","args","map","pt","dep","get","name","instance","postConstruct","result","Promise","walks","walkControllerMetadata","w","push","walk","sort","a","b","aP","fullPath","includes","bP","entry","paramNames","regexStr","replace","_m","compiledPattern","RegExp","compiledParamNames","needsBody","paramEntries","some","p","source","root","streaming","renderToString","html","staticDir","createStaticHandler","agents","length","autoWireAgents","listen","port","resolve","console","log","getServerHandle","close","agentRoutes","warnedUndeclared","Set","entries","_registry","runtime","agentRuntime","undefined","HttpDecoratorsConfigError","apiKey","llmApiKey","process","env","OPENROUTER_API_KEY","compiled","createRun","agentStreamFactory","tools","model","llmModel","createSdkAgentStream","createFallbackStream","agentIdentity","agentClass","agent","access","classifyAccess","generateAgentRoutes","walkResult","route","compiledOptions","path","method","pattern","handler","guards","methodName","warn","undeclaredRouteWarning","handleReadinessCheck","jsonResponse","status","checks","results","all","check","race","setTimeout","healthy","message","err","allHealthy","every","r","agentName","msg","_message","_sessionId","events","type","runId","code","retryable","Symbol","asyncIterator","i","next","value","done","pathname","URL","url","reqCtx","params","startedAt","runWithRequestContext","handleRequestInContext","_reqCtx","uptime","timestamp","renderToStream","streamToResponse","Response","headers","staticResponse","toUpperCase","test","ex","ForbiddenException","statusCode","toJSON","ctx","createExecutionContext","GuardCtor","guard","canActivate","match","findRoute","error","controllerClass","PUBLIC_ROUTE_METADATA","propertyKey","add","body","text","clone","JSON","parse","bodySchema","safeParse","success","issues","data","buildArgs","Object","fromEntries","searchParams","redirect","location","handlerFn","interceptors","runInterceptors","apply","buildResponse","filters","runExceptionFilters","HttpException","verb","exec","forEach","query","max","Math","index","Array","from","key","toLowerCase","stringify","n","v"]}
package/dist/index.d.ts CHANGED
@@ -215,6 +215,29 @@ declare class Reflector {
215
215
  getAllAndMerge<T>(decorator: (value: T) => MethodDecorator & ClassDecorator, target: Function, propertyKey?: string | symbol): T extends (infer U)[] ? U[] : T[];
216
216
  }
217
217
 
218
+ /**
219
+ * The metadata key the framework reads to decide a controller route is open.
220
+ *
221
+ * @public
222
+ */
223
+ declare const PUBLIC_ROUTE_METADATA = "theokit:public";
224
+ /**
225
+ * Declare that a controller route may be called by anyone.
226
+ *
227
+ * ```ts
228
+ * @Get()
229
+ * @Public()
230
+ * check() { return { status: 'ok' } }
231
+ * ```
232
+ *
233
+ * The controller equivalent of `.policy('public')` on the route builder. `'public'` is a decision,
234
+ * not the absence of one — the build refuses a controller route that declares neither. Use
235
+ * `@SetMetadata`/`@UseGuards` for anything this does not say.
236
+ *
237
+ * @public
238
+ */
239
+ declare const Public: () => MethodDecorator & ClassDecorator;
240
+
218
241
  interface ThrottleOptions {
219
242
  /** Maximum requests within the TTL window. */
220
243
  limit: number;
@@ -1277,7 +1300,12 @@ declare function tryGetRequestContext(): TheoRequestContext | null;
1277
1300
  */
1278
1301
  interface ErrorContext {
1279
1302
  route?: string;
1280
- phase?: 'guard' | 'interceptor' | 'handler' | 'filter' | 'agent';
1303
+ /**
1304
+ * `'construction'` is the controller never coming into existence — distinct from `'handler'`,
1305
+ * which is its method throwing. #577: the first has no instance to blame and takes out every
1306
+ * route on the class, so an operator reading a digest needs to tell the two apart.
1307
+ */
1308
+ phase?: 'construction' | 'guard' | 'interceptor' | 'handler' | 'filter' | 'agent';
1281
1309
  source?: string;
1282
1310
  }
1283
1311
  interface DigestedError {
@@ -1426,4 +1454,4 @@ declare function revalidatePath(path: string): void;
1426
1454
  */
1427
1455
  declare function getRevalidationSignals(): RevalidationSignal[];
1428
1456
 
1429
- 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, Param, type ParamEntry, type ParamSource, Patch, PayloadTooLargeException, Post, PreconditionFailedException, 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 };
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 };
package/dist/index.js CHANGED
@@ -1,5 +1,10 @@
1
1
  import {
2
+ PUBLIC_ROUTE_METADATA,
3
+ Public,
4
+ Reflector,
5
+ SetMetadata,
2
6
  TheoApp,
7
+ createDecorator,
3
8
  createStaticHandler,
4
9
  getMimeType,
5
10
  getRequestContext,
@@ -7,16 +12,17 @@ import {
7
12
  renderToStream,
8
13
  streamToResponse,
9
14
  tryGetRequestContext
10
- } from "./chunk-ZMMIH3I2.js";
15
+ } from "./chunk-NFCIOKAI.js";
11
16
  import {
12
17
  MiddlewareConsumerImpl,
13
18
  isControllerClass,
14
19
  loadControllerWithSwc,
15
20
  loadControllersFromGlob,
16
21
  middlewareMatchesPath,
22
+ resolveBody,
17
23
  runMiddleware,
18
24
  transformControllerSource
19
- } from "./chunk-DI7KNIMB.js";
25
+ } from "./chunk-6CFF7Q4Z.js";
20
26
  import {
21
27
  runExceptionFilters
22
28
  } from "./chunk-HC47QXZV.js";
@@ -262,131 +268,6 @@ function Catch(...exceptions) {
262
268
  }
263
269
  __name(Catch, "Catch");
264
270
 
265
- // src/decorators/set-metadata.ts
266
- import "reflect-metadata";
267
- var decoratorKeyCounter = 0;
268
- function createDecorator() {
269
- const key = /* @__PURE__ */ Symbol.for(`theokit:custom:${++decoratorKeyCounter}`);
270
- const decorator = /* @__PURE__ */ __name((value) => {
271
- return (target, propertyKey) => {
272
- const metaTarget = propertyKey !== void 0 ? target.constructor : target;
273
- Reflect.defineMetadata(key, value, metaTarget, propertyKey);
274
- };
275
- }, "decorator");
276
- decorator.key = key;
277
- return decorator;
278
- }
279
- __name(createDecorator, "createDecorator");
280
- function SetMetadata(metaKey, value) {
281
- return (target, propertyKey) => {
282
- const metaTarget = propertyKey !== void 0 ? target.constructor : target;
283
- Reflect.defineMetadata(metaKey, value, metaTarget, propertyKey);
284
- };
285
- }
286
- __name(SetMetadata, "SetMetadata");
287
- var Reflector = class {
288
- static {
289
- __name(this, "Reflector");
290
- }
291
- /**
292
- * Read metadata set by a typed decorator created via createDecorator<T>().
293
- *
294
- * @example
295
- * ```ts
296
- * const Roles = createDecorator<string[]>()
297
- * const reflector = new Reflector()
298
- * const roles = reflector.get(Roles, handlerFn) // string[] | undefined
299
- * ```
300
- */
301
- get(decorator, target, propertyKey) {
302
- const key = decorator.key;
303
- if (!key) return void 0;
304
- if (propertyKey !== void 0) {
305
- return Reflect.getMetadata(key, target, propertyKey);
306
- }
307
- return Reflect.getMetadata(key, target);
308
- }
309
- /**
310
- * Read metadata set by @SetMetadata(key, value).
311
- */
312
- getByKey(key, target, propertyKey) {
313
- if (propertyKey !== void 0) {
314
- return Reflect.getMetadata(key, target, propertyKey);
315
- }
316
- return Reflect.getMetadata(key, target);
317
- }
318
- /**
319
- * Read metadata checking method-level first, then class-level.
320
- * Returns the first non-undefined value found.
321
- *
322
- * NestJS equivalent: `reflector.getAllAndOverride(ROLES_KEY, [context.getHandler(), context.getClass()])`
323
- *
324
- * @example
325
- * ```ts
326
- * const Roles = createDecorator<string[]>()
327
- * // In a guard:
328
- * const roles = reflector.getAllAndOverride(Roles, context.getClass(), context.getMethodName())
329
- * // Checks method-level @Roles first, falls back to class-level @Roles
330
- * ```
331
- */
332
- getAllAndOverride(decorator, target, propertyKey) {
333
- if (propertyKey !== void 0) {
334
- const methodLevel = this.get(decorator, target, propertyKey);
335
- if (methodLevel !== void 0) return methodLevel;
336
- }
337
- return this.get(decorator, target);
338
- }
339
- /**
340
- * Read metadata checking method-level first, then class-level, by raw key.
341
- * Returns the first non-undefined value found.
342
- */
343
- getAllAndOverrideByKey(key, target, propertyKey) {
344
- if (propertyKey !== void 0) {
345
- const methodLevel = this.getByKey(key, target, propertyKey);
346
- if (methodLevel !== void 0) return methodLevel;
347
- }
348
- return this.getByKey(key, target);
349
- }
350
- /**
351
- * Read metadata from both method-level and class-level, merging arrays.
352
- * Returns all found values as a flat array.
353
- *
354
- * NestJS equivalent: `reflector.getAllAndMerge(ROLES_KEY, [context.getHandler(), context.getClass()])`
355
- *
356
- * @example
357
- * ```ts
358
- * const Tags = createDecorator<string[]>()
359
- *
360
- * @Tags(['api'])
361
- * @Controller('cats')
362
- * class CatsCtrl {
363
- * @Tags(['read'])
364
- * @Get()
365
- * findAll() {}
366
- * }
367
- *
368
- * reflector.getAllAndMerge(Tags, CatsCtrl, 'findAll')
369
- * // → ['read', 'api'] (method + class merged)
370
- * ```
371
- */
372
- getAllAndMerge(decorator, target, propertyKey) {
373
- const result = [];
374
- if (propertyKey !== void 0) {
375
- const methodLevel = this.get(decorator, target, propertyKey);
376
- if (methodLevel !== void 0) {
377
- if (Array.isArray(methodLevel)) result.push(...methodLevel);
378
- else result.push(methodLevel);
379
- }
380
- }
381
- const classLevel = this.get(decorator, target);
382
- if (classLevel !== void 0) {
383
- if (Array.isArray(classLevel)) result.push(...classLevel);
384
- else result.push(classLevel);
385
- }
386
- return result;
387
- }
388
- };
389
-
390
271
  // src/decorators/throttle.ts
391
272
  var THROTTLE_KEY = /* @__PURE__ */ Symbol.for("theokit:http-decorators:throttle");
392
273
  var SKIP_THROTTLE_KEY = /* @__PURE__ */ Symbol.for("theokit:http-decorators:skip-throttle");
@@ -438,6 +319,66 @@ __name(registerControllers, "registerControllers");
438
319
 
439
320
  // src/bridge/create-server.ts
440
321
  import "reflect-metadata";
322
+
323
+ // src/error-digest.ts
324
+ function djb2(input) {
325
+ let hash = 5381;
326
+ for (let i = 0; i < input.length; i++) {
327
+ hash = (hash << 5) + hash + input.charCodeAt(i) | 0;
328
+ }
329
+ return (hash >>> 0).toString(16);
330
+ }
331
+ __name(djb2, "djb2");
332
+ function digestError(err, context = {}) {
333
+ const message = extractMessage(err);
334
+ const status = extractStatus(err);
335
+ const rawStack = extractStack(err);
336
+ const digest = djb2(message);
337
+ const isProduction = process.env.NODE_ENV === "production";
338
+ return {
339
+ digest,
340
+ message,
341
+ status,
342
+ context,
343
+ ...rawStack && !isProduction ? {
344
+ stack: rawStack
345
+ } : {}
346
+ };
347
+ }
348
+ __name(digestError, "digestError");
349
+ function extractMessage(err) {
350
+ if (err instanceof Error) {
351
+ return err.message;
352
+ }
353
+ if (typeof err === "string") {
354
+ return err;
355
+ }
356
+ if (typeof err === "number") {
357
+ return String(err);
358
+ }
359
+ try {
360
+ return JSON.stringify(err);
361
+ } catch {
362
+ return "Unknown error";
363
+ }
364
+ }
365
+ __name(extractMessage, "extractMessage");
366
+ function extractStatus(err) {
367
+ if (err instanceof HttpException) {
368
+ return err.statusCode;
369
+ }
370
+ return 500;
371
+ }
372
+ __name(extractStatus, "extractStatus");
373
+ function extractStack(err) {
374
+ if (err instanceof Error) {
375
+ return err.stack;
376
+ }
377
+ return void 0;
378
+ }
379
+ __name(extractStack, "extractStack");
380
+
381
+ // src/bridge/create-server.ts
441
382
  function createDecoratorHandler(controllersOrOpts) {
442
383
  const { controllers, container, configure, serveAgent } = Array.isArray(controllersOrOpts) ? {
443
384
  controllers: controllersOrOpts,
@@ -457,12 +398,24 @@ function createDecoratorHandler(controllersOrOpts) {
457
398
  }
458
399
  const routes = [];
459
400
  for (const Ctor of unique) {
460
- const instance = resolveOrNew(Ctor, container);
461
- const walks = walkControllerMetadata(Ctor);
462
- for (const w of walks) {
401
+ let built;
402
+ try {
403
+ built = {
404
+ instance: resolveOrNew(Ctor, container)
405
+ };
406
+ } catch (error) {
407
+ built = {
408
+ failure: {
409
+ controllerName: Ctor.name,
410
+ error
411
+ }
412
+ };
413
+ console.error(`[theokit] controller ${Ctor.name} failed to construct \u2014 its routes will answer 500:`, error instanceof Error ? error.message : String(error));
414
+ }
415
+ for (const walk of walkControllerMetadata(Ctor)) {
463
416
  routes.push({
464
- walk: w,
465
- instance
417
+ walk,
418
+ ...built
466
419
  });
467
420
  }
468
421
  }
@@ -499,7 +452,29 @@ async function handleRequest(routes, request, container, middlewareEntries = [],
499
452
  const pathname = url.pathname;
500
453
  const match = findRoute(routes, method, pathname);
501
454
  if (!match) return null;
502
- const { walk, instance, params } = match;
455
+ const { walk, params } = match;
456
+ if ("failure" in match) {
457
+ const { controllerName, error } = match.failure;
458
+ const digested = digestError(error, {
459
+ route: `${method} ${pathname}`,
460
+ phase: "construction",
461
+ source: controllerName
462
+ });
463
+ return jsonResponse(500, {
464
+ error: {
465
+ code: "CONTROLLER_CONSTRUCTION_FAILED",
466
+ // The cause, named, with the controller that failed: an operator has to be able to act on
467
+ // this without attaching a debugger. `digestError` is what keeps the stack out of a
468
+ // production response — the same redaction every other error path here gets.
469
+ message: `Controller ${controllerName} failed to construct: ${digested.message}`,
470
+ digest: digested.digest,
471
+ ...digested.stack === void 0 ? {} : {
472
+ stack: digested.stack
473
+ }
474
+ }
475
+ });
476
+ }
477
+ const { instance } = match;
503
478
  try {
504
479
  const mwResponse = await runMiddleware(middlewareEntries, request, pathname);
505
480
  if (mwResponse) return mwResponse;
@@ -517,7 +492,7 @@ async function handleRequest(routes, request, container, middlewareEntries = [],
517
492
  }
518
493
  return await serveAgent(walk.agent.module, request, walk.agent.opts);
519
494
  }
520
- const body = await resolveBody(method, request, walk);
495
+ const body = await resolveBody(method, request, walk, jsonResponse);
521
496
  if (body instanceof Response) return body;
522
497
  const args = buildArgs(walk.paramEntries, {
523
498
  request,
@@ -554,34 +529,6 @@ async function runGuards(guards, context, container) {
554
529
  return null;
555
530
  }
556
531
  __name(runGuards, "runGuards");
557
- async function resolveBody(method, request, walk) {
558
- if (![
559
- "POST",
560
- "PUT",
561
- "PATCH"
562
- ].includes(method)) return void 0;
563
- let body;
564
- try {
565
- const text = await request.text();
566
- body = text ? JSON.parse(text) : void 0;
567
- } catch {
568
- body = void 0;
569
- }
570
- if (walk.bodySchema && body !== void 0) {
571
- const result = walk.bodySchema.safeParse(body);
572
- if (!result.success) {
573
- return jsonResponse(422, {
574
- error: {
575
- code: "VALIDATION_ERROR",
576
- issues: result.error.issues
577
- }
578
- });
579
- }
580
- body = result.data;
581
- }
582
- return body;
583
- }
584
- __name(resolveBody, "resolveBody");
585
532
  function buildResponse(result, walk, method) {
586
533
  const status = walk.status ?? (method === "POST" ? 201 : 200);
587
534
  const headers = {
@@ -619,12 +566,11 @@ function jsonResponse(status, body) {
619
566
  }
620
567
  __name(jsonResponse, "jsonResponse");
621
568
  function findRoute(routes, method, pathname) {
622
- for (const { walk, instance } of routes) {
623
- if (walk.verb !== "ALL" && walk.verb !== method) continue;
624
- const params = matchPath(walk.fullPath, pathname);
569
+ for (const entry of routes) {
570
+ if (entry.walk.verb !== "ALL" && entry.walk.verb !== method) continue;
571
+ const params = matchPath(entry.walk.fullPath, pathname);
625
572
  if (params !== null) return {
626
- walk,
627
- instance,
573
+ ...entry,
628
574
  params
629
575
  };
630
576
  }
@@ -736,64 +682,6 @@ function contract(routes) {
736
682
  }
737
683
  __name(contract, "contract");
738
684
 
739
- // src/error-digest.ts
740
- function djb2(input) {
741
- let hash = 5381;
742
- for (let i = 0; i < input.length; i++) {
743
- hash = (hash << 5) + hash + input.charCodeAt(i) | 0;
744
- }
745
- return (hash >>> 0).toString(16);
746
- }
747
- __name(djb2, "djb2");
748
- function digestError(err, context = {}) {
749
- const message = extractMessage(err);
750
- const status = extractStatus(err);
751
- const rawStack = extractStack(err);
752
- const digest = djb2(message);
753
- const isProduction = process.env.NODE_ENV === "production";
754
- return {
755
- digest,
756
- message,
757
- status,
758
- context,
759
- ...rawStack && !isProduction ? {
760
- stack: rawStack
761
- } : {}
762
- };
763
- }
764
- __name(digestError, "digestError");
765
- function extractMessage(err) {
766
- if (err instanceof Error) {
767
- return err.message;
768
- }
769
- if (typeof err === "string") {
770
- return err;
771
- }
772
- if (typeof err === "number") {
773
- return String(err);
774
- }
775
- try {
776
- return JSON.stringify(err);
777
- } catch {
778
- return "Unknown error";
779
- }
780
- }
781
- __name(extractMessage, "extractMessage");
782
- function extractStatus(err) {
783
- if (err instanceof HttpException) {
784
- return err.statusCode;
785
- }
786
- return 500;
787
- }
788
- __name(extractStatus, "extractStatus");
789
- function extractStack(err) {
790
- if (err instanceof Error) {
791
- return err.stack;
792
- }
793
- return void 0;
794
- }
795
- __name(extractStack, "extractStack");
796
-
797
685
  // src/component-tree.ts
798
686
  function createErrorBoundary(React, FallbackComponent) {
799
687
  return class ErrorBoundary extends React.Component {
@@ -916,11 +804,13 @@ export {
916
804
  NotFoundException,
917
805
  NotImplementedException,
918
806
  Options,
807
+ PUBLIC_ROUTE_METADATA,
919
808
  Param,
920
809
  Patch,
921
810
  PayloadTooLargeException,
922
811
  Post,
923
812
  PreconditionFailedException,
813
+ Public,
924
814
  Put,
925
815
  Query,
926
816
  ROUTE_HEADERS,
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/set-metadata.ts","../src/decorators/throttle.ts","../src/bridge/register-controllers.ts","../src/bridge/create-server.ts","../src/typed-client.ts","../src/contract.ts","../src/error-digest.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","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","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","createDecoratorHandler","controllersOrOpts","controllers","container","configure","serveAgent","Array","isArray","undefined","middlewareConsumer","MiddlewareConsumerImpl","middlewareEntries","getEntries","seen","Set","unique","Ctor","has","add","push","routes","instance","resolveOrNew","walks","walkControllerMetadata","w","walk","sort","a","b","aP","fullPath","includes","bP","handler","request","handleRequest","matches","method","pathname","findRoute","toUpperCase","createDecoratorServer","handle","adapter","createNodeAdapter","createServer","res","URL","url","jsonResponse","error","code","message","match","params","mwResponse","runMiddleware","ctx","createExecutionContext","propertyKey","guardResponse","runGuards","guards","agent","String","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","text","JSON","parse","bodySchema","safeParse","success","issues","data","name","value","toLowerCase","stringify","verb","matchPath","pattern","paramNames","regexStr","replace","_m","RegExp","exec","forEach","i","length","maxIndex","Math","max","map","p","index","from","source","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","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","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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAsBA,SAASA,YAAYC,WAAiB;AACpC,QAAMC,WAAWD,UAAUE,QAAQ,eAAe,EAAA;AAClD,QAAMC,QAAQF,SACXC,QAAQ,sBAAsB,OAAA,EAC9BA,QAAQ,wBAAwB,OAAA,EAChCE,YAAW;AACd,SAAO,OAAOD,KAAAA;AAChB;AAPSJ;AA6BF,SAASM,WACdC,cACAC,WAA6B;AAE7B,SAAO,CAACC,WAAAA;AACN,QAAIC;AACJ,QAAIC;AAEJ,QAAI,OAAOJ,iBAAiB,UAAU;AACpCG,eAASH;AACTI,aAAOH,aAAa,CAAC;IACvB,OAAO;AAELE,eAASV,YAAYS,OAAOG,IAAI;AAChCD,aAAOJ,gBAAgB,CAAC;IAC1B;AAEAM,YAAwBC,mBAAmBL,QAAQ;MACjDC;MACAK,MAAMJ,KAAKI;IACb,CAAA;EACF;AACF;AAtBgBT;;;ACzChB,SAASU,kBAAkBC,MAAc;AACvC,SAAO,SAAUC,OAAO,IAAE;AACxB,WAAO,CAACC,QAAQC,gBAAAA;AACd,YAAMC,WAAWC,QAA4BC,eAAeJ,OAAO,WAAW,KAAK,CAAA;AACnFE,eAASG,KAAK;QAAEP;QAAMC;QAAME;MAAY,CAAA;AACxCK,cAAQF,eAAeJ,OAAO,aAAaE,QAAAA;IAC7C;EACF;AACF;AARSL;AAUF,IAAMU,MAAMV,kBAAkB,KAAA;AAC9B,IAAMW,OAAOX,kBAAkB,MAAA;AAC/B,IAAMY,MAAMZ,kBAAkB,KAAA;AAC9B,IAAMa,QAAQb,kBAAkB,OAAA;AAChC,IAAMc,SAASd,kBAAkB,QAAA;AACjC,IAAMe,UAAUf,kBAAkB,SAAA;AAClC,IAAMgB,OAAOhB,kBAAkB,MAAA;AAC/B,IAAMiB,MAAMjB,kBAAkB,KAAA;;;ACDrC,SAASkB,YAAYC,GAAU;AAC7B,SACEA,MAAM,QACNA,MAAMC,UACN,OAAOD,MAAM,YACb,OAAQA,EAA8BE,cAAc;AAExD;AAPSH;AAST,SAASI,mBAAmBC,QAAmB;AAQ7C,SAAO,SAAUC,aAAgC;AAC/C,WAAO,CAACC,QAAQC,aAAaC,mBAAAA;AAC3B,UAAID,gBAAgBN,OAAW;AAC/B,YAAMQ,MACJC,QAA4CC,cAAcL,OAAO,WAAW,KAAK,oBAAIM,IAAAA;AACvF,YAAMC,UAAUJ,IAAIK,IAAIP,WAAAA,KAAgB,CAAA;AAExC,YAAMQ,QAAoB;QAAEX;QAAQY,OAAOR;MAAe;AAC1D,UAAI,OAAOH,gBAAgB,UAAU;AACnCU,cAAME,MAAMZ;MACd,WAAWN,YAAYM,WAAAA,GAAc;AACnCU,cAAMG,SAASb;MACjB;AAEAQ,cAAQM,KAAKJ,KAAAA;AACbN,UAAIW,IAAIb,aAAaM,OAAAA;AACrBQ,cAAQV,cAAcL,OAAO,aAAaG,GAAAA;IAC5C;EACF;AACF;AA3BSN;AA6BF,IAAMmB,MAAMnB,mBAAmB,KAAA;AAC/B,IAAMoB,OAAOpB,mBAAmB,MAAA;AAChC,IAAMqB,QAAQrB,mBAAmB,OAAA;AACjC,IAAMsB,QAAQtB,mBAAmB,OAAA;AACjC,IAAMuB,UAAUvB,mBAAmB,SAAA;AACnC,IAAMwB,UAAUxB,mBAAmB,SAAA;AACnC,IAAMyB,KAAKzB,mBAAmB,IAAA;AAC9B,IAAM0B,YAAY1B,mBAAmB,MAAA;AAErC,SAAS2B,IAAIC,MAAgC;AAClD,SAAO,CAACzB,QAAQC,aAAaC,mBAAAA;AAC3B,QAAID,gBAAgBN,OAAW;AAC/B,UAAMQ,MACJC,QAA4CC,cAAcL,OAAO,WAAW,KAAK,oBAAIM,IAAAA;AACvF,UAAMC,UAAUJ,IAAIK,IAAIP,WAAAA,KAAgB,CAAA;AACxCM,YAAQM,KAAK;MACXf,QAAQ;MACRY,OAAOR;MACPwB,aAAaD,MAAMC;IACrB,CAAA;AACAvB,QAAIW,IAAIb,aAAaM,OAAAA;AACrBQ,YAAQV,cAAcL,OAAO,aAAaG,GAAAA;EAC5C;AACF;AAdgBqB;;;AC1BT,SAASG,OAAOC,OAAgBC,OAAsB,CAAC,GAAC;AAC7D,SAAO,CAACC,QAAgBC,gBAAAA;AACtB,UAAMC,WAAWC,QAAuBC,cAAcJ,OAAO,WAAW,KAAK,CAAA;AAC7EE,aAASG,KAAK;MAAEP;MAAOC;MAAME;IAAY,CAAA;AACzCK,YAAQF,cAAcJ,OAAO,aAAaE,QAAAA;EAC5C;AACF;AANgBL;;;AC7CT,SAASU,SAASC,QAAc;AACrC,SAAO,CAACC,QAAQC,gBAAAA;AACdC,YAAQC,cAAcH,OAAO,aAAaD,QAAQE,WAAAA;EACpD;AACF;AAJgBH;AAMT,SAASM,OAAOC,MAAcC,OAAa;AAChD,SAAO,CAACN,QAAQC,gBAAAA;AACd,UAAMM,WACJC,QAA4BC,eAAeT,OAAO,aAAaC,WAAAA,KAAgB,CAAA;AACjFM,aAASG,KAAK;MAACL;MAAMC;KAAM;AAC3BJ,YAAQO,eAAeT,OAAO,aAAaO,UAAUN,WAAAA;EACvD;AACF;AAPgBG;AAcT,SAASO,SAASC,KAAab,SAAS,KAAG;AAChD,SAAO,CAACC,QAAQC,gBAAAA;AACdC,YAAsBW,gBAAgBb,OAAO,aAAa;MAAEY;MAAKb;IAAO,GAAGE,WAAAA;EAC7E;AACF;AAJgBU;;;ACbT,SAASG,aACXC,QAAkB;AAIrB,SAAO,CAACC,QAAgBC,gBAAAA;AACtB,UAAMC,eAAeD,cAAcD,OAAO,cAAcA;AACxD,UAAMG,WAAWC,QAAoBC,YAAYH,cAAcD,WAAAA,KAAgB,CAAA;AAC/EK,YAAQD,YAAYH,cAAc;SAAIC;SAAaJ;OAASE,WAAAA;EAC9D;AACF;AAVgBH;AAYT,SAASS,mBAAmBC,cAAwB;AACzD,SAAO,CAACR,QAAgBC,gBAAAA;AACtB,UAAMC,eAAeD,cAAcD,OAAO,cAAcA;AACxD,UAAMG,WAAWC,QAAoBK,kBAAkBP,cAAcD,WAAAA,KAAgB,CAAA;AACrFK,YAAQG,kBAAkBP,cAAc;SAAIC;SAAaK;OAAeP,WAAAA;EAC1E;AACF;AANgBM;AAQT,SAASG,cAAcC,SAAmB;AAC/C,SAAO,CAACX,QAAgBC,gBAAAA;AACtB,UAAMC,eAAeD,cAAcD,OAAO,cAAcA;AACxD,UAAMG,WAAWC,QAAoBQ,aAAaV,cAAcD,WAAAA,KAAgB,CAAA;AAChFK,YAAQM,aAAaV,cAAc;SAAIC;SAAaQ;OAAUV,WAAAA;EAChE;AACF;AANgBS;AAUT,SAASG,SAASC,YAAsB;AAC7C,SAAO,CAACd,WAAAA;AACNM,YAAQS,kBAAkBf,QAAQc,UAAAA;EACpC;AACF;AAJgBD;;;ACfhB,IAAMG,eAAeC,uBAAOC,IAAI,kCAAA;AAChC,IAAMC,oBAAoBF,uBAAOC,IAAI,uCAAA;AAe9B,SAASE,SAASC,SAAwB;AAC/C,SAAO,CAACC,QAAgBC,gBAAAA;AACtB,UAAMC,eAAeD,gBAAgBE,SAAYH,OAAO,cAAcA;AACtEI,YAAQV,cAAcQ,cAAcH,SAASE,WAAAA;EAC/C;AACF;AALgBH;AAcT,SAASO,aAAaC,OAAO,MAAI;AACtC,SAAO,CAACN,QAAgBC,gBAAAA;AACtB,UAAMC,eAAeD,gBAAgBE,SAAYH,OAAO,cAAcA;AACtEI,YAAQP,mBAAmBK,cAAcI,MAAML,WAAAA;EACjD;AACF;AALgBI;AAWT,SAASE,mBACdP,QACAC,aAA6B;AAE7B,SAAOO,QAAyBd,cAAcM,QAAQC,WAAAA;AACxD;AALgBM;AAUT,SAASE,kBAAkBT,QAAkBC,aAA6B;AAC/E,SAAOO,QAAiBX,mBAAmBG,QAAQC,WAAAA,KAAgB;AACrE;AAFgBQ;;;AC1DT,SAASC,oBAAoBC,aAAuB;AACzD,QAAMC,OAAO,oBAAIC,IAAAA;AACjB,QAAMC,SAAqB,CAAA;AAC3B,aAAWC,QAAQJ,aAAa;AAC9B,QAAIC,KAAKI,IAAID,IAAAA,GAAO;AAClBE,cAAQC,KACN,8BAA8BH,KAAKI,IAAI,sDAAiD;AAE1F;IACF;AACAP,SAAKQ,IAAIL,IAAAA;AACTD,WAAOO,KAAKN,IAAAA;EACd;AACA,SAAOD,OAAOQ,QAAQ,CAACP,SAAAA;AACrB,UAAMQ,QAAQC,uBAAuBT,IAAAA;AACrC,WAAOQ,MAAME,IAAI,CAACC,OAAO;MACvBC,MAAMD,EAAEC;MACRC,UAAUF,EAAEE;MACZC,YAAYH;IACd,EAAA;EACF,CAAA;AACF;AArBgBhB;;;ACZhB,OAAO;;;ACkCP,SAASoB,KAAKC,OAAa;AACzB,MAAIC,OAAO;AACX,WAASC,IAAI,GAAGA,IAAIF,MAAMG,QAAQD,KAAK;AAErCD,YAASA,QAAQ,KAAKA,OAAOD,MAAMI,WAAWF,CAAAA,IAAM;EACtD;AAEA,UAAQD,SAAS,GAAGI,SAAS,EAAA;AAC/B;AARSN;AAsBF,SAASO,YAAYC,KAAcC,UAAwB,CAAC,GAAC;AAClE,QAAMC,UAAUC,eAAeH,GAAAA;AAC/B,QAAMI,SAASC,cAAcL,GAAAA;AAC7B,QAAMM,WAAWC,aAAaP,GAAAA;AAE9B,QAAMQ,SAAShB,KAAKU,OAAAA;AAEpB,QAAMO,eAAeC,QAAQC,IAAIC,aAAa;AAE9C,SAAO;IACLJ;IACAN;IACAE;IACAH;IACA,GAAIK,YAAY,CAACG,eAAe;MAAEI,OAAOP;IAAS,IAAI,CAAC;EACzD;AACF;AAhBgBP;AAsBhB,SAASI,eAAeH,KAAY;AAClC,MAAIA,eAAec,OAAO;AACxB,WAAOd,IAAIE;EACb;AACA,MAAI,OAAOF,QAAQ,UAAU;AAC3B,WAAOA;EACT;AACA,MAAI,OAAOA,QAAQ,UAAU;AAC3B,WAAOe,OAAOf,GAAAA;EAChB;AAEA,MAAI;AACF,WAAOgB,KAAKC,UAAUjB,GAAAA;EACxB,QAAQ;AACN,WAAO;EACT;AACF;AAhBSG;AAkBT,SAASE,cAAcL,KAAY;AACjC,MAAIA,eAAekB,eAAe;AAChC,WAAOlB,IAAImB;EACb;AACA,SAAO;AACT;AALSd;AAOT,SAASE,aAAaP,KAAY;AAChC,MAAIA,eAAec,OAAO;AACxB,WAAOd,IAAIa;EACb;AACA,SAAOO;AACT;AALSb;;;ADvBF,SAASc,uBACdC,mBAA4D;AAE5D,QAAM,EAAEC,aAAaC,WAAWC,WAAWC,WAAU,IAAKC,MAAMC,QAAQN,iBAAAA,IACpE;IACEC,aAAaD;IACbE,WAAWK;IACXJ,WAAWI;IACXH,YAAYG;EACd,IACAP;AAGJ,QAAMQ,qBAAqB,IAAIC,uBAAuBP,SAAAA;AACtD,MAAIC,UAAWA,WAAUK,kBAAAA;AACzB,QAAME,oBAAoBF,mBAAmBG,WAAU;AAGvD,QAAMC,OAAO,oBAAIC,IAAAA;AACjB,QAAMC,SAAqB,CAAA;AAC3B,aAAWC,QAAQd,aAAa;AAC9B,QAAIW,KAAKI,IAAID,IAAAA,EAAO;AACpBH,SAAKK,IAAIF,IAAAA;AACTD,WAAOI,KAAKH,IAAAA;EACd;AAaA,QAAMI,SAAuB,CAAA;AAC7B,aAAWJ,QAAQD,QAAQ;AACzB,QAAIM;AACJ,QAAI;AACFA,cAAQ;QAAEC,UAAUC,aAAaP,MAAMb,SAAAA;MAAW;IACpD,SAASqB,OAAO;AACdH,cAAQ;QAAEI,SAAS;UAAEC,gBAAgBV,KAAKW;UAAMH;QAAM;MAAE;AAGxDI,cAAQJ,MACN,wBAAwBR,KAAKW,IAAI,2DACjCH,iBAAiBK,QAAQL,MAAMM,UAAUC,OAAOP,KAAAA,CAAAA;IAEpD;AACA,eAAWQ,QAAQC,uBAAuBjB,IAAAA,GAAO;AAC/CI,aAAOD,KAAK;QAAEa;QAAM,GAAGX;MAAM,CAAA;IAC/B;EACF;AAGAD,SAAOc,KAAK,CAACC,GAAGC,MAAAA;AACd,UAAMC,KAAKF,EAAEH,KAAKM,SAASC,SAAS,GAAA;AACpC,UAAMC,KAAKJ,EAAEJ,KAAKM,SAASC,SAAS,GAAA;AACpC,QAAIF,OAAOG,GAAI,QAAOH,KAAK,IAAI;AAC/B,WAAO;EACT,CAAA;AAEA,QAAMI,UAAW,wBAACC,YAChBC,cAAcvB,QAAQsB,SAASvC,WAAWQ,mBAAmBN,UAAAA,GAD9C;AAEjBoC,UAAQG,UAAU,CAACC,QAAgBC,aACjCC,UAAU3B,QAAQyB,OAAOG,YAAW,GAAIF,QAAAA,MAAc;AACxD,SAAOL;AACT;AArEgBzC;AA2ET,SAASiD,sBACdhD,mBAA4D;AAE5D,QAAMiD,SAASlD,uBAAuBC,iBAAAA;AAEtC,QAAMkD,UAAUC,kBAAAA;AAChB,SAAOD,QAAQE,aAAa,OAAOX,YAAAA;AACjC,UAAMY,MAAM,MAAMJ,OAAOR,OAAAA;AACzB,QAAIY,IAAK,QAAOA;AAChB,UAAM,EAAER,SAAQ,IAAK,IAAIS,IAAIb,QAAQc,GAAG;AACxC,WAAOC,aAAa,KAAK;MACvBjC,OAAO;QACLkC,MAAM;QACN5B,SAAS,gBAAgBY,QAAQG,OAAOG,YAAW,CAAA,IAAMF,QAAAA;MAC3D;IACF,CAAA;EACF,CAAA;AACF;AAjBgBG;AAqBhB,eAAeN,cACbvB,QACAsB,SACAvC,WACAQ,oBAA0C,CAAA,GAC1CN,YAAuB;AAEvB,QAAMmD,MAAM,IAAID,IAAIb,QAAQc,GAAG;AAC/B,QAAMX,SAASH,QAAQG,OAAOG,YAAW;AACzC,QAAMF,WAAWU,IAAIV;AAErB,QAAMa,QAAQZ,UAAU3B,QAAQyB,QAAQC,QAAAA;AAExC,MAAI,CAACa,MAAO,QAAO;AAEnB,QAAM,EAAE3B,MAAM4B,OAAM,IAAKD;AAIzB,MAAI,aAAaA,OAAO;AACtB,UAAM,EAAEjC,gBAAgBF,MAAK,IAAKmC,MAAMlC;AACxC,UAAMoC,WAAWC,YAAYtC,OAAO;MAClCuC,OAAO,GAAGlB,MAAAA,IAAUC,QAAAA;MACpBkB,OAAO;MACPC,QAAQvC;IACV,CAAA;AACA,WAAO+B,aAAa,KAAK;MACvBjC,OAAO;QACLkC,MAAM;;;;QAIN5B,SAAS,cAAcJ,cAAAA,yBAAuCmC,SAAS/B,OAAO;QAC9EoC,QAAQL,SAASK;QACjB,GAAIL,SAASM,UAAU3D,SAAY,CAAC,IAAI;UAAE2D,OAAON,SAASM;QAAM;MAClE;IACF,CAAA;EACF;AAEA,QAAM,EAAE7C,SAAQ,IAAKqC;AAErB,MAAI;AAEF,UAAMS,aAAa,MAAMC,cAAc1D,mBAAmB+B,SAASI,QAAAA;AACnE,QAAIsB,WAAY,QAAOA;AAGvB,UAAME,MAAMC,uBAAuB7B,SAASpB,SAAS,aAAaU,KAAKwC,WAAW;AAClF,UAAMC,gBAAgB,MAAMC,UAAU1C,KAAK2C,QAAQL,KAAKnE,SAAAA;AACxD,QAAIsE,cAAe,QAAOA;AAI1B,QAAIzC,KAAK4C,OAAO;AACd,UAAI,CAACvE,YAAY;AACf,eAAOoD,aAAa,KAAK;UACvBjC,OAAO;YACLkC,MAAM;YACN5B,SACE,oBAAoBC,OAAOC,KAAKwC,WAAW,CAAA;UAE/C;QACF,CAAA;MACF;AACA,aAAO,MAAMnE,WAAW2B,KAAK4C,MAAMC,QAAQnC,SAASV,KAAK4C,MAAME,IAAI;IACrE;AAGA,UAAMC,OAAO,MAAMC,YAAYnC,QAAQH,SAASV,MAAMyB,YAAAA;AACtD,QAAIsB,gBAAgBE,SAAU,QAAOF;AAGrC,UAAMG,OAAOC,UAAUnD,KAAKoD,cAAc;MACxC1C;MACAqC;MACAnB;MACAyB,OAAOC,OAAOC,YAAY/B,IAAIgC,YAAY;IAC5C,CAAA;AAGA,QAAIxD,KAAKyD,UAAU;AACjB,aAAO,IAAIR,SAAS,MAAM;QACxBS,QAAQ1D,KAAKyD,SAASC;QACtBC,SAAS;UAAEC,UAAU5D,KAAKyD,SAASjC;QAAI;MACzC,CAAA;IACF;AAEA,UAAMqC,YAAavE,SAA+CU,KAAKwC,WAAW;AAGlF,UAAMsB,SAAS,MAAMC,gBACnB/D,KAAKgE,cACL,MAAMH,UAAUI,MAAM3E,UAAU4D,IAAAA,GAChCxC,SACAvC,SAAAA;AAMF,QAAI2F,kBAAkBb,SAAU,QAAOa;AAEvC,WAAOI,cAAcJ,QAAQ9D,MAAMa,MAAAA;EACrC,SAASsD,KAAK;AACZ,WAAOC,oBAAoBD,KAAKnE,KAAKqE,SAAS3D,SAASvC,SAAAA;EACzD;AACF;AA1GewC;AA8Gf,eAAe+B,UACbC,QACA2B,SACAnG,WAAuB;AAEvB,aAAWoG,aAAa5B,QAAQ;AAC9B,UAAM6B,QAAQjF,aAAagF,WAAWpG,SAAAA;AACtC,UAAMsG,UAAU,MAAMD,MAAME,YAAYJ,OAAAA;AACxC,QAAI,CAACG,SAAS;AACZ,YAAME,KAAK,IAAIC,mBAAmB,oBAAA;AAClC,aAAOnD,aAAakD,GAAGE,YAAYF,GAAGG,OAAM,CAAA;IAC9C;EACF;AACA,SAAO;AACT;AAdepC;AAoBf,SAASwB,cAAcJ,QAAiB9D,MAAkBa,QAAc;AACtE,QAAM6C,SAAS1D,KAAK0D,WAAW7C,WAAW,SAAS,MAAM;AACzD,QAAM8C,UAAkC;IAAE,gBAAgB;EAAmB;AAC7E,aAAW,CAAChE,MAAMoF,KAAAA,KAAU/E,KAAK2D,SAAS;AACxCA,YAAQhE,KAAKqF,YAAW,CAAA,IAAMD;EAChC;AAEA,MAAIjB,WAAWtF,UAAasF,WAAW,MAAM;AAC3C,WAAO,IAAIb,SAAS,MAAM;MAAES,QAAQA,WAAW,MAAM,MAAMA;MAAQC;IAAQ,CAAA;EAC7E;AAEA,MAAI,OAAOG,WAAW,UAAU;AAC9BH,YAAQ,cAAA,IAAkB;AAC1B,WAAO,IAAIV,SAASa,QAAQ;MAAEJ;MAAQC;IAAQ,CAAA;EAChD;AAEA,SAAO,IAAIV,SAASgC,KAAKC,UAAUpB,MAAAA,GAAS;IAAEJ;IAAQC;EAAQ,CAAA;AAChE;AAjBSO;AAmBT,SAASzC,aAAaiC,QAAgBX,MAAa;AACjD,SAAO,IAAIE,SAASgC,KAAKC,UAAUnC,IAAAA,GAAO;IACxCW;IACAC,SAAS;MAAE,gBAAgB;IAAmB;EAChD,CAAA;AACF;AALSlC;AAYT,SAASV,UAAU3B,QAAsByB,QAAgBC,UAAgB;AACvE,aAAWqE,SAAS/F,QAAQ;AAC1B,QAAI+F,MAAMnF,KAAKoF,SAAS,SAASD,MAAMnF,KAAKoF,SAASvE,OAAQ;AAC7D,UAAMe,SAASyD,UAAUF,MAAMnF,KAAKM,UAAUQ,QAAAA;AAG9C,QAAIc,WAAW,KAAM,QAAO;MAAE,GAAGuD;MAAOvD;IAAO;EACjD;AACA,SAAO;AACT;AATSb;AAWT,SAASsE,UAAUC,SAAiBxE,UAAgB;AAClD,QAAMyE,aAAuB,CAAA;AAC7B,QAAMC,WAAWF,QAAQG,QAAQ,WAAW,CAACC,IAAI/F,SAAAA;AAC/C4F,eAAWpG,KAAKQ,IAAAA;AAChB,WAAO;EACT,CAAA;AACA,QAAMgC,QAAQ,IAAIgE,OAAO,IAAIH,QAAAA,GAAW,EAAEI,KAAK9E,QAAAA;AAC/C,MAAI,CAACa,MAAO,QAAO;AACnB,QAAMC,SAAiC,CAAC;AACxC2D,aAAWM,QAAQ,CAAClG,MAAMmG,MAAAA;AACxBlE,WAAOjC,IAAAA,IAAQgC,MAAMmE,IAAI,CAAA;EAC3B,CAAA;AACA,SAAOlE;AACT;AAbSyD;AAwBT,SAASlC,UAAUC,cAA4Bd,KAAe;AAC5D,MAAIc,aAAa2C,WAAW,EAAG,QAAO,CAAA;AACtC,QAAMC,WAAWC,KAAKC,IAAG,GAAI9C,aAAa+C,IAAI,CAACC,MAAMA,EAAEC,KAAK,CAAA;AAC5D,QAAMnD,OAAkB5E,MAAMgI,KAAK;IAAEP,QAAQC,WAAW;EAAE,GAAG,MAAMxH,MAAAA;AACnE,aAAW4H,KAAKhD,cAAc;AAC5B,YAAQgD,EAAEnE,QAAM;MACd,KAAK;AACHiB,aAAKkD,EAAEC,KAAK,IAAI/D,IAAI5B;AACpB;MACF,KAAK;AACHwC,aAAKkD,EAAEC,KAAK,IAAID,EAAEG,MAAOjE,IAAIS,KAAiCqD,EAAEG,GAAG,IAAIjE,IAAIS;AAC3E;MACF,KAAK;AACHG,aAAKkD,EAAEC,KAAK,IAAID,EAAEG,MAAMjE,IAAIV,OAAOwE,EAAEG,GAAG,IAAIjE,IAAIV;AAChD;MACF,KAAK;AACHsB,aAAKkD,EAAEC,KAAK,IAAID,EAAEG,MAAMjE,IAAIe,MAAM+C,EAAEG,GAAG,IAAIjE,IAAIe;AAC/C;MACF,KAAK;AACHH,aAAKkD,EAAEC,KAAK,IAAID,EAAEG,MACdjE,IAAI5B,QAAQiD,QAAQ6C,IAAIJ,EAAEG,IAAIvB,YAAW,CAAA,IACzC1B,OAAOC,YAAYjB,IAAI5B,QAAQiD,QAAQ8C,QAAO,CAAA;AAClD;MACF,KAAK;AACHvD,aAAKkD,EAAEC,KAAK,IAAI/D,IAAI5B,QAAQiD,QAAQ6C,IAAI,iBAAA,KAAsB;AAC9D;MACF,KAAK;AACHtD,aAAKkD,EAAEC,KAAK,IAAI7H;AAChB;MACF;AACE0E,aAAKkD,EAAEC,KAAK,IAAI7H;IACpB;EACF;AACA,SAAO0E;AACT;AAlCSC;;;AEpUF,SAASuD,kBACdC,SACAC,gBAAuC;AAEvC,iBAAeC,QACbC,QACAC,MACAC,MACAC,MAA2E;AAE3E,UAAMC,MAAM,IAAIC,IAAIJ,MAAMJ,OAAAA;AAC1B,QAAIM,MAAMG,OAAO;AACf,iBAAW,CAACC,GAAGC,CAAAA,KAAMC,OAAOC,QAAQP,KAAKG,KAAK,EAAGF,KAAIO,aAAaC,IAAIL,GAAGC,CAAAA;IAC3E;AACA,UAAMK,UAAkC;MAAE,GAAGf;MAAgB,GAAGK,MAAMU;IAAQ;AAC9E,QAAIX,SAASY,OAAWD,SAAQ,cAAA,IAAkB;AAElD,UAAME,MAAM,MAAMC,MAAMZ,IAAIa,SAAQ,GAAI;MACtCjB;MACAa;MACAX,MAAMA,SAASY,SAAYI,KAAKC,UAAUjB,IAAAA,IAAQY;IACpD,CAAA;AAEA,QAAI,CAACC,IAAIK,IAAI;AACX,YAAMC,QAAQ,MAAMN,IAAIO,KAAI,EAAGC,MAAM,OAAO;QAAEC,SAAST,IAAIU;MAAW,EAAA;AACtE,YAAM,IAAIC,iBAAiBX,IAAIY,QAAQN,KAAAA;IACzC;AAEA,QAAIN,IAAIY,WAAW,IAAK,QAAOb;AAC/B,WAAOC,IAAIO,KAAI;EACjB;AA1BevB;AA4Bf,SAAO;IACL6B,KAAK,wBAAC3B,MAAcE,SAAmCJ,QAAQ,OAAOE,MAAMa,QAAWX,IAAAA,GAAlF;IACL0B,MAAM,wBAAC5B,MAAcC,MAAgBC,SACnCJ,QAAQ,QAAQE,MAAMC,MAAMC,IAAAA,GADxB;IAEN2B,KAAK,wBAAC7B,MAAcC,MAAgBC,SAClCJ,QAAQ,OAAOE,MAAMC,MAAMC,IAAAA,GADxB;IAEL4B,QAAQ,wBAAC9B,MAAcE,SACrBJ,QAAQ,UAAUE,MAAMa,QAAWX,IAAAA,GAD7B;EAEV;AACF;AAzCgBP;AA2CT,IAAM8B,mBAAN,cAA+BM,MAAAA;EAhGtC,OAgGsCA;;;;;EACpC,YACkBL,QACAzB,MAChB;AACA,UAAM,QAAQyB,MAAAA,KAAWT,KAAKC,UAAUjB,IAAAA,CAAAA,EAAO,GAAA,KAH/ByB,SAAAA,QAAAA,KACAzB,OAAAA;AAGhB,SAAK+B,OAAO;EACd;AACF;;;ACjEO,SAASC,SAA6BC,QAAS;AACpD,SAAOA;AACT;AAFgBD;;;ACLhB,SAASE,oBACPC,OACAC,mBAA2C;AAE3C,SAAO,MAAMC,sBAAsBF,MAAMG,UAAS;IAtCpD,OAsCoD;;;IAIhD,YAAYC,OAA2C;AACrD,YAAMA,KAAAA;AACN,WAAKC,QAAQ;QAAEC,UAAU;MAAM;IACjC;IAEA,OAAOC,2BAAkD;AACvD,aAAO;QAAED,UAAU;MAAK;IAC1B;IAEAE,SAAyC;AACvC,UAAI,KAAKH,MAAMC,UAAU;AACvB,eAAON,MAAMS,cAAcR,iBAAAA;MAC7B;AACA,aAAOD,MAAMS,cAAcT,MAAMU,UAAU,MAAM,KAAKN,MAAMO,QAAQ;IACtE;EACF;AACF;AAxBSZ;AAyCT,eAAsBa,qBACpBC,MAAe;AAGf,QAAMb,QAAQ,MAAM,OAAO,OAAA;AAE3B,SAAOc,YAAYd,OAAOa,IAAAA;AAC5B;AAPsBD;AAStB,SAASE,YAAYd,OAA0Be,MAAe;AAC5D,QAAM,EAAEC,QAAQC,QAAQC,MAAMC,MAAMC,SAASC,SAASC,OAAOC,cAAa,IAAKR;AAG/E,MAAI,CAACI,MAAM;AACT,WAAO;EACT;AAGA,MAAIK,UAAmCxB,MAAMS,cAAcU,IAAAA;AAG3D,MAAIE,SAAS;AACXG,cAAUxB,MAAMS,cACdT,MAAMyB,UACN;MAAEC,UAAU1B,MAAMS,cAAcY,OAAAA;IAAS,GACzCG,OAAAA;EAEJ;AAGA,MAAID,eAAe;AACjB,UAAMI,WAAW5B,oBAAoBC,OAAOuB,aAAAA;AAC5CC,cAAUxB,MAAMS,cAAckB,UAAU,MAAMH,OAAAA;EAChD;AAGA,MAAIP,QAAQ;AACVO,cAAUxB,MAAMS,cAAcQ,QAAQ,MAAMO,OAAAA;EAC9C;AAEA,SAAOA;AACT;AAhCSV;;;AC7CF,SAASc,cAAcC,KAAW;AACvCC,gBAAc;IAAEC,MAAM;IAAOC,OAAOH;IAAKI,WAAWC,KAAKC,IAAG;EAAG,CAAA;AACjE;AAFgBP;AAkBT,SAASQ,eAAeC,MAAY;AACzCP,gBAAc;IAAEC,MAAM;IAAQC,OAAOK;IAAMJ,WAAWC,KAAKC,IAAG;EAAG,CAAA;AACnE;AAFgBC;AAQT,SAASE,yBAAAA;AACd,QAAMC,MAAMC,qBAAAA;AACZ,MAAI,CAACD,IAAK,QAAO,CAAA;AACjB,SACGA,IAAmEE,wBAAwB,CAAA;AAEhG;AANgBH;AAUhB,SAASR,cAAcY,QAA0B;AAC/C,QAAMH,MAAMC,qBAAAA;AACZ,MAAI,CAACD,KAAK;AACRI,YAAQC,KACN,0FAAA;AAEF;EACF;AACA,QAAMC,WAAWN;AACjBM,WAASJ,yBAAyB,CAAA;AAClCI,WAASJ,qBAAqBK,KAAKJ,MAAAA;AACrC;AAXSZ;","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,8 +1,9 @@
1
1
  import {
2
2
  MiddlewareConsumerImpl,
3
3
  loadControllersFromGlob,
4
+ resolveBody,
4
5
  runMiddleware
5
- } from "./chunk-DI7KNIMB.js";
6
+ } from "./chunk-6CFF7Q4Z.js";
6
7
  import {
7
8
  runExceptionFilters
8
9
  } from "./chunk-HC47QXZV.js";
@@ -108,7 +109,7 @@ async function handleDecoratorRoute(routes, request, container, mwEntries = [])
108
109
  const ctx = createExecutionContext(request, instance.constructor, walk.propertyKey);
109
110
  const guardResponse = await runGuards(walk.guards, ctx, container);
110
111
  if (guardResponse) return guardResponse;
111
- const body = await resolveBody(method, request, walk);
112
+ const body = await resolveBody(method, request, walk, jsonResponse);
112
113
  if (body instanceof Response) return body;
113
114
  const args = buildArgs(walk.paramEntries, {
114
115
  request,
@@ -143,34 +144,6 @@ async function runGuards(guards, context, container) {
143
144
  return null;
144
145
  }
145
146
  __name(runGuards, "runGuards");
146
- async function resolveBody(method, request, walk) {
147
- if (![
148
- "POST",
149
- "PUT",
150
- "PATCH"
151
- ].includes(method)) return void 0;
152
- let body;
153
- try {
154
- const text = await request.text();
155
- body = text ? JSON.parse(text) : void 0;
156
- } catch {
157
- body = void 0;
158
- }
159
- if (walk.bodySchema && body !== void 0) {
160
- const result = walk.bodySchema.safeParse(body);
161
- if (!result.success) {
162
- return jsonResponse(422, {
163
- error: {
164
- code: "VALIDATION_ERROR",
165
- issues: result.error.issues
166
- }
167
- });
168
- }
169
- body = result.data;
170
- }
171
- return body;
172
- }
173
- __name(resolveBody, "resolveBody");
174
147
  function buildResponse(result, walk, method) {
175
148
  const status = walk.status ?? (method === "POST" ? 201 : 200);
176
149
  const headers = {
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/theokit-plugin.ts"],"mappings":"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","names":["httpDecoratorsPlugin","opts","routes","initialized","initPromise","middlewareConsumer","MiddlewareConsumerImpl","container","configure","middlewareEntries","getEntries","controllers","length","buildRouteTable","controllersGlob","glob","rootDir","process","cwd","loadControllersFromGlob","console","log","name","register","app","addHook","pluginCtx","_nodeHttp","request","nodeIncomingToRequest","response","handleDecoratorRoute","writeResponseToNode","seen","Set","unique","Ctor","has","add","push","instance","resolveOrNew","walks","walkControllerMetadata","w","regex","paramNames","compilePattern","fullPath","walk","sort","a","b","aHasParam","includes","bHasParam","mwEntries","url","URL","method","toUpperCase","match","findMatch","pathname","entry","params","mwResponse","runMiddleware","ctx","createExecutionContext","propertyKey","guardResponse","runGuards","guards","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","canActivate","ex","ForbiddenException","jsonResponse","statusCode","toJSON","undefined","text","JSON","parse","bodySchema","safeParse","success","error","code","issues","data","n","v","toLowerCase","stringify","verb","forEach","i","pattern","regexStr","replace","_m","RegExp","maxIndex","Math","max","map","p","index","Array","from","source","key","get","entries"]}
1
+ {"version":3,"sources":["../src/theokit-plugin.ts"],"mappings":"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","names":["httpDecoratorsPlugin","opts","routes","initialized","initPromise","middlewareConsumer","MiddlewareConsumerImpl","container","configure","middlewareEntries","getEntries","controllers","length","buildRouteTable","controllersGlob","glob","rootDir","process","cwd","loadControllersFromGlob","console","log","name","register","app","addHook","pluginCtx","_nodeHttp","request","nodeIncomingToRequest","response","handleDecoratorRoute","writeResponseToNode","seen","Set","unique","Ctor","has","add","push","instance","resolveOrNew","walks","walkControllerMetadata","w","regex","paramNames","compilePattern","fullPath","walk","sort","a","b","aHasParam","includes","bHasParam","mwEntries","url","URL","method","toUpperCase","match","findMatch","pathname","entry","params","mwResponse","runMiddleware","ctx","createExecutionContext","propertyKey","guardResponse","runGuards","guards","body","resolveBody","jsonResponse","Response","args","buildArgs","paramEntries","query","Object","fromEntries","searchParams","redirect","status","headers","location","handlerFn","result","runInterceptors","interceptors","apply","buildResponse","err","runExceptionFilters","filters","context","GuardCtor","guard","canActivate","ex","ForbiddenException","statusCode","toJSON","n","v","toLowerCase","undefined","JSON","stringify","verb","forEach","i","pattern","regexStr","replace","_m","RegExp","maxIndex","Math","max","map","p","index","Array","from","source","key","get","entries"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theokit/http",
3
- "version": "1.1.1",
3
+ "version": "1.2.0",
4
4
  "description": "NestJS-style decorators (@Controller, @Get, @Post, @Body, @UseGuards) over Web Standards, compiling to TheoKit route registrations.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/bridge/middleware-consumer.ts","../src/bridge/swc-loader.ts"],"mappings":"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","names":["MiddlewareConsumerImpl","entries","container","apply","middleware","resolved","map","m","resolveMiddleware","excludePatterns","proxy","exclude","routes","r","push","path","forRoutes","routePatterns","handler","getEntries","prototype","use","instance","resolveOrNew","request","next","middlewareMatchesPath","entry","requestPath","pattern","pathMatches","normPath","replace","normPattern","startsWith","runMiddleware","response","Promise","resolve","readFileSync","writeFileSync","unlinkSync","readdirSync","createRequire","resolve","dirname","join","relative","pathToFileURL","fileURLToPath","getSwcrcTarget","swcrc","jsc","target","consumerSwcrcCache","readConsumerSwcrc","startDir","undefined","dir","root","dirname","candidate","join","raw","readFileSync","parsed","JSON","parse","$schema","parent","swcCoreCache","loadSwcCore","thisDir","fileURLToPath","url","req","createRequire","resolve","resolved","pathToFileURL","href","transformControllerSource","source","filename","loadSwc","swc","HttpDecoratorsConfigError","consumerSwcrc","consumerJsc","code","transformSync","parser","syntax","decorators","transform","legacyDecorator","decoratorMetadata","module","type","sourceMaps","loadControllerWithSwc","absoluteFilePath","tmpPath","replace","writeFileSync","Date","now","unlinkSync","loadControllersFromGlob","rootDir","pattern","files","scanControllerFiles","length","console","warn","controllers","file","absPath","mod","exported","Object","values","isControllerClass","push","fn","Reflect","hasMetadata","Symbol","for","parts","split","dirParts","part","includes","baseDir","lastPart","suffix","walk","entry","readdirSync","withFileTypes","full","name","isDirectory","endsWith","relative"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/app.ts","../src/request-context.ts","../src/static.ts","../src/stream-renderer.ts"],"mappings":";;;;;;;;;;;;;;;;;AACA,OAAO;;;ACaP,SAASA,yBAAyB;AAiBlC,IAAMC,UAAU,IAAIC,kBAAAA;AAmBb,SAASC,oBAAAA;AACd,QAAMC,MAAMH,QAAQI,SAAQ;AAC5B,MAAI,CAACD,KAAK;AACR,UAAM,IAAIE,MACR,qKAEE;EAEN;AACA,SAAOF;AACT;AAVgBD;AAgBT,SAASI,uBAAAA;AACd,SAAON,QAAQI,SAAQ,KAAM;AAC/B;AAFgBE;AAShB,eAAsBC,sBACpBJ,KACAK,IAAwB;AAExB,SAAOR,QAAQS,IAAIN,KAAKK,EAAAA;AAC1B;AALsBD;;;AC/DtB,IAAMG,aAAqC;;EAEzC,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,SAAS;EACT,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,QAAQ;;EAGR,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,SAAS;EACT,QAAQ;EACR,SAAS;EACT,QAAQ;;EAGR,SAAS;EACT,UAAU;EACV,QAAQ;EACR,QAAQ;EACR,QAAQ;;EAGR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,QAAQ;EACR,SAAS;EACT,QAAQ;;EAGR,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,QAAQ;EACR,SAAS;;EAGT,QAAQ;EACR,WAAW;EACX,aAAa;EACb,gBAAgB;AAClB;AAUA,IAAMC,iBAAiB;AAehB,SAASC,YAAYC,UAAgB;AAC1C,QAAMC,MAAMD,SAASE,YAAY,GAAA;AACjC,MAAID,QAAQ,GAAI,QAAO;AACvB,QAAME,MAAMH,SAASI,MAAMH,GAAAA,EAAKI,YAAW;AAC3C,SAAOR,WAAWM,GAAAA,KAAQ;AAC5B;AALgBJ;AAUT,SAASO,WAAWC,UAAgB;AACzC,SAAO,CAACT,eAAeU,KAAKD,QAAAA;AAC9B;AAFgBD;AAWhB,eAAeG,YAAYC,UAAgB;AACzC,QAAMC,IAAIC;AACV,QAAMC,QAAQF,EAAEG;AAOhB,QAAMC,OAAOF,MAAME,KAAKL,QAAAA;AACxB,MAAI,CAAE,MAAMK,KAAKC,OAAM,EAAK,QAAO;AACnC,QAAMC,MAAM,MAAMF,KAAKG,YAAW;AAGlC,SAAO;IAAEC,SAAS,IAAIC,WAAWH,GAAAA;IAAMI,MAAMJ,IAAIK;EAAW;AAC9D;AAfeb;AAiBf,eAAec,aAAab,UAAgB;AAC1C,QAAMC,IAAIC;AACV,QAAMY,SAASb,EAAEc;AAIjB,MAAI;AACF,UAAMC,OAAO,MAAMF,OAAOE,KAAKhB,QAAAA;AAC/B,QAAIgB,KAAKC,YAAa,QAAO;AAC7B,UAAMR,UAAU,MAAMK,OAAOI,SAASlB,QAAAA;AACtC,WAAO;MAAES;MAASE,MAAMF,QAAQG;IAAW;EAC7C,QAAQ;AACN,WAAO;EACT;AACF;AAdeC;AAgBf,eAAeM,aAAanB,UAAgB;AAC1C,QAAMoB,KAAK,MAAM,OAAO,aAAA;AACxB,MAAIC;AACJ,MAAI;AACFA,aAAS,MAAMD,GAAGE,KAAKtB,UAAU,GAAA;EACnC,QAAQ;AACN,WAAO;EACT;AAGA,MAAI;AACF,SAAK,MAAMqB,OAAOL,KAAI,GAAIC,YAAW,EAAI,QAAO;AAChD,UAAMR,UAAU,MAAMY,OAAOH,SAAQ;AACrC,WAAO;MAAET,SAAS,IAAIC,WAAWD,OAAAA;MAAUE,MAAMF,QAAQG;IAAW;EACtE,QAAQ;AACN,WAAO;EACT,UAAA;AACE,UAAMS,OAAOE,MAAK;EACpB;AACF;AAnBeJ;AA8Bf,eAAeK,kBAAkBxB,UAAkByB,MAAY;AAC7D,QAAM,EAAEC,IAAG,IAAK,MAAM,OAAO,MAAA;AAC7B,QAAMN,KAAK,MAAM,OAAO,aAAA;AACxB,MAAI;AACF,UAAMO,WAAW,MAAMP,GAAGQ,SAAS5B,QAAAA;AACnC,UAAM6B,WAAW,MAAMT,GAAGQ,SAASH,IAAAA;AACnC,QAAIE,aAAaE,YAAY,CAACF,SAASG,WAAWD,WAAWH,GAAAA,EAAM,QAAO;AAC1E,WAAOC;EACT,QAAQ;AACN,WAAO;EACT;AACF;AAXeH;AAaf,eAAeN,SAASlB,UAAkByB,MAAY;AACpD,QAAMM,WAAW,MAAMP,kBAAkBxB,UAAUyB,IAAAA;AACnD,MAAIM,aAAa,KAAM,QAAO;AAC9B,QAAM9B,IAAIC;AACV,MAAID,EAAEG,IAAK,QAAOL,YAAYgC,QAAAA;AAC9B,MAAI9B,EAAEc,KAAM,QAAOF,aAAakB,QAAAA;AAChC,SAAOZ,aAAaY,QAAAA;AACtB;AAPeb;AAWf,eAAec,YAAYP,MAAY;AACrC,QAAMxB,IAAIC;AACV,MAAID,EAAEc,MAAM;AACV,UAAMD,SAASb,EAAEc;AACjB,UAAM,EAAEkB,KAAI,IAAK,MAAM,OAAO,MAAA;AAC9B,WAAOA,KAAKnB,OAAOoB,IAAG,GAAIT,IAAAA;EAC5B;AACA,QAAM,EAAEU,QAAO,IAAK,MAAM,OAAO,MAAA;AACjC,SAAOA,QAAQV,IAAAA;AACjB;AATeO;AAmBR,SAASI,oBACdC,SAAuB;AAEvB,QAAMZ,OAAOY,SAASZ,QAAQ;AAC9B,QAAMa,SAASD,SAASC,UAAU;AAElC,MAAIC;AAEJ,SAAO,OAAOC,YAAAA;AAEZ,UAAMC,SAASD,QAAQC,OAAOC,YAAW;AACzC,QAAID,WAAW,SAASA,WAAW,OAAQ,QAAO;AAGlD,UAAME,MAAM,IAAIC,IAAIJ,QAAQG,GAAG;AAC/B,QAAI9C;AACJ,QAAI;AACFA,iBAAWgD,mBAAmBF,IAAI9C,QAAQ;IAC5C,QAAQ;AACN,aAAO;IACT;AAGA,QAAIA,SAASiC,WAAW,OAAA,KAAYjC,SAASiC,WAAW,SAAA,EAAY,QAAO;AAG3E,QAAI,CAAClC,WAAWC,QAAAA,EAAW,QAAO;AAGlC0C,qBAAiB,MAAMP,YAAYP,IAAAA;AAGnC,UAAM,EAAEQ,KAAI,IAAK,MAAM,OAAO,MAAA;AAC9B,QAAIjC,WAAWiC,KAAKM,cAAc1C,QAAAA;AAGlC,QAAIiD,SAAS,MAAM5B,SAASlB,UAAUuC,YAAAA;AACtC,QAAI,CAACO,WAAWjD,SAASkD,SAAS,GAAA,KAAQ,CAAClD,SAASmD,SAAS,GAAA,IAAO;AAClEhD,iBAAWiC,KAAKjC,UAAU,YAAA;AAC1B8C,eAAS,MAAM5B,SAASlB,UAAUuC,YAAAA;IACpC;AAEA,QAAI,CAACO,OAAQ,QAAO;AAGpB,UAAMG,cAAc5D,YAAYW,QAAAA;AAChC,UAAMkD,UAAkC;MACtC,gBAAgBD;MAChB,kBAAkBE,OAAOL,OAAOnC,IAAI;IACtC;AACA,QAAI2B,SAAS,GAAG;AACdY,cAAQ,eAAA,IAAmB,mBAAmBC,OAAOb,MAAAA,CAAAA;IACvD;AAGA,QAAIG,WAAW,QAAQ;AACrB,aAAO,IAAIW,SAAS,MAAM;QAAEC,QAAQ;QAAKH;MAAQ,CAAA;IACnD;AAEA,WAAO,IAAIE,SAASN,OAAOrC,SAAgC;MAAE4C,QAAQ;MAAKH;IAAQ,CAAA;EACpF;AACF;AA7DgBd;;;AC3LhB,IAAMkB,UAAU;AAChB,IAAMC,UAAU,IAAIC,YAAAA;AAqBpB,eAAsBC,eAAeC,SAA4B;AAC/D,QAAM,EAAEC,MAAMC,aAAa,MAAK,IAAKF;AAGrC,QAAMG,iBAAiB,MAAM,OAAO,kBAAA;AAGpC,MAAI,OAAOA,eAAeC,2BAA2B,YAAY;AAC/D,WAAOC,yBAAyBF,eAAeC,wBAAwBH,MAAMC,UAAAA;EAC/E;AAGA,MAAI,OAAOC,eAAeG,mBAAmB,YAAY;AACvDC,YAAQC,KACN,uIACE;AAEJ,WAAOC,iBAAiBN,eAAeG,gBAAgBL,IAAAA;EACzD;AAEA,QAAM,IAAIS,MACR,2HACE;AAEN;AAxBsBX;AA8BtB,eAAeM,yBACbM,UAGAV,MACAC,YAAmB;AAEnB,QAAMU,cAAc,MAAMD,SAASV,IAAAA;AAGnC,MAAIC,YAAY;AACd,UAAMU,YAAYC;EACpB;AAGA,QAAMC,gBAAgBC,eAAeH,WAAAA;AAErC,SAAO;IACLI,QAAQF;IACRD,UAAUD,YAAYC;EACxB;AACF;AArBeR;AA2Bf,SAASI,iBACPE,UACAV,MAA6B;AAE7B,QAAMgB,OAAOrB,UAAUe,SAASV,IAAAA;AAChC,QAAMiB,QAAQrB,QAAQsB,OAAOF,IAAAA;AAE7B,QAAMD,SAAS,IAAII,eAA2B;IAC5CC,MAAMC,YAAU;AACdA,iBAAWC,QAAQL,KAAAA;AACnBI,iBAAWE,MAAK;IAClB;EACF,CAAA;AAEA,SAAO;IACLR;IACAH,UAAUY,QAAQC,QAAO;EAC3B;AACF;AAlBSjB;AA2BT,SAASM,eAAeY,QAAkC;AACxD,QAAMC,SAASD,OAAOE,UAAS;AAC/B,MAAIC,cAAc;AAElB,SAAO,IAAIV,eAA2B;IACpC,MAAMW,KAAKT,YAAU;AACnB,UAAI,CAACQ,aAAa;AAChBR,mBAAWC,QAAQ1B,QAAQsB,OAAOvB,OAAAA,CAAAA;AAClCkC,sBAAc;MAChB;AACA,YAAM,EAAEE,OAAOC,KAAI,IAAK,MAAML,OAAOM,KAAI;AACzC,UAAID,MAAM;AACRX,mBAAWE,MAAK;AAChB;MACF;AACAF,iBAAWC,QAAQS,KAAAA;IACrB;IACAG,SAAAA;AACE,WAAKP,OAAOO,OAAM;IACpB;EACF,CAAA;AACF;AArBSpB;AAoCF,SAASqB,iBAAiBC,QAA0B;AACzD,SAAO,IAAIC,SAASD,OAAOrB,QAAQ;IACjCuB,QAAQ;IACRC,SAAS;MAAE,gBAAgB;IAA2B;EACxD,CAAA;AACF;AALgBJ;;;AHNT,IAAMK,UAAN,MAAMA,SAAAA;EA3Kb,OA2KaA;;;EACHC;EACSC,SAAuB,CAAA;EAChCC;EACAC;EACAC;EACSC,YAAYC,KAAKC,IAAG;EACpBC;EACAC;EACAC;EAEjB,YAAoBC,MAA6E;AAC/F,UAAMC,KAAKD,MAAMH,cAAc;AAC/B,UAAMK,KAAKF,MAAMF,aAAa;AAE9B,QAAIG,GAAGE,WAAW,OAAA,EAChB,OAAM,IAAIC,MACR,yBAAyBH,EAAAA,mEAAgE;AAE7F,QAAIC,GAAGC,WAAW,OAAA,EAChB,OAAM,IAAIC,MACR,wBAAwBF,EAAAA,mEAAgE;AAE5F,SAAKL,aAAaI;AAClB,SAAKH,YAAYI;AACjB,SAAKH,kBAAkBC,MAAMD,mBAAmB,CAAA;AAChD,UAAMM,UAAUC,kBAAAA;AAChB,SAAKjB,eAAegB,QAAQE,aAAa,CAACC,YAAY,KAAKC,cAAcD,OAAAA,CAAAA;EAC3E;;;;;;;EAQA,aAAaE,OAAOV,MAAwC;AAC1D,UAAMW,MAAM,IAAIvB,SAAQY,IAAAA;AAKxB,UAAMY,WAAW,oBAAIC,IAAAA;AAGrB,QAAIb,KAAKc,QAAQ;AACf,YAAMC,aAAaC,QAAQC,YAAY,qBAAqBjB,KAAKc,MAAM;AACvE,UAAIC,YAAY;AACd,cAAMG,aAAa;UAAClB,KAAKc;aAAYC,WAAWI,WAAW,CAAA;;AAC3D,mBAAWC,OAAOF,YAAY;AAC5B,gBAAMG,OAAOL,QAAQC,YAAY,qBAAqBG,GAAAA;AACtD,cAAI,CAACC,KAAM;AACX,qBAAWC,QAASD,KAAKE,aAAa,CAAA,GAAmB;AACvD,gBAAI,CAACX,SAASY,IAAIF,IAAAA,GAAO;AACvBV,uBAASa,IAAIH,MAAM,IAAKA,KAAAA,CAAAA;YAC1B;UACF;QACF;MACF;IACF;AAGA,QAAItB,KAAKuB,WAAW;AAClB,iBAAWD,QAAQtB,KAAKuB,WAAW;AACjC,YAAI,CAACX,SAASY,IAAIF,IAAAA,GAAO;AACvBV,mBAASa,IAAIH,MAAM,IAAKA,KAAAA,CAAAA;QAC1B;MACF;IACF;AAGA,eAAWI,cAAc1B,KAAK2B,aAAa;AACzC,YAAMC,aAAyBZ,QAAQC,YAAY,qBAAqBS,UAAAA,KAAe,CAAA;AACvF,YAAMG,OAAOD,WAAWE,IAAI,CAACC,OAAAA;AAC3B,cAAMC,MAAMpB,SAASqB,IAAIF,EAAAA;AACzB,YAAI,CAACC,KAAK;AACR,gBAAM,IAAI5B,MACR,4BAA4B2B,GAAGG,IAAI,QAAQR,WAAWQ,IAAI,SACjDH,GAAGG,IAAI,sDAAsD;QAE1E;AACA,eAAOF;MACT,CAAA;AACA,YAAMG,WAAW,IAAKT,WAAAA,GAAkDG,IAAAA;AAGxE,YAAMO,gBAAgBpB,QAAQC,YAAY,6BAA6BS,UAAAA;AACvE,UACEU,iBACA,OAAQD,SAAsCC,aAAAA,MAAmB,YACjE;AACA,cAAMC,SAAUF,SAAsCC,aAAAA,EAAc;AACpE,YAAIC,kBAAkBC,QAAS,OAAMD;MACvC;AAEA,YAAME,QAAQC,uBAAuBd,UAAAA;AACrC,iBAAWe,KAAKF,OAAO;AACrB5B,YAAIrB,OAAOoD,KAAK;UAAEC,MAAMF;UAAGN;QAAS,CAAA;MACtC;IACF;AAGAxB,QAAIrB,OAAOsD,KAAK,CAACC,GAAGC,MAAAA;AAClB,YAAMC,KAAKF,EAAEF,KAAKK,SAASC,SAAS,GAAA;AACpC,YAAMC,KAAKJ,EAAEH,KAAKK,SAASC,SAAS,GAAA;AACpC,UAAIF,OAAOG,GAAI,QAAOH,KAAK,IAAI;AAC/B,aAAO;IACT,CAAA;AAGA,eAAWI,SAASxC,IAAIrB,QAAQ;AAC9B,YAAM8D,aAAuB,CAAA;AAC7B,YAAMC,WAAWF,MAAMR,KAAKK,SAASM,QAAQ,WAAW,CAACC,IAAIrB,SAAAA;AAC3DkB,mBAAWV,KAAKR,IAAAA;AAChB,eAAO;MACT,CAAA;AACAiB,YAAMK,kBAAkB,IAAIC,OAAO,IAAIJ,QAAAA,GAAW;AAClDF,YAAMO,qBAAqBN;AAE3BD,YAAMQ,YAAYR,MAAMR,KAAKiB,aAAaC,KAAK,CAACC,MAAMA,EAAEC,WAAW,MAAA;IACrE;AAGA,QAAI/D,KAAKgE,QAAQhE,KAAKiE,WAAW;AAE/BtD,UAAInB,gBAAgBQ,KAAKgE;IAC3B,WAAWhE,KAAKgE,MAAM;AACpB,YAAM,EAAEE,eAAc,IAAK,MAAM,OAAO,kBAAA;AACxCvD,UAAIpB,eAAe,oBAAoB2E,eAAelE,KAAKgE,IAAI;IACjE,WAAWhE,KAAKmE,MAAM;AACpBxD,UAAIpB,eAAeS,KAAKmE;IAC1B;AAGA,QAAInE,KAAKoE,cAAc,OAAO;AAC5BzD,UAAIlB,gBAAgB4E,oBAAoB;QAAEL,MAAMhE,KAAKoE,aAAa;MAAS,CAAA;IAC7E;AAKA,QAAIpE,KAAKsE,QAAQC,QAAQ;AACvB5D,UAAI6D,eAAexE,KAAKsE,QAAQ1D,UAAUZ,IAAAA;IAC5C;AAEA,WAAOW;EACT;EAEA,MAAM8D,OAAOC,MAA6B;AACxC,WAAO,IAAIpC,QAAQ,CAACqC,YAAAA;AAClB,WAAKtF,aAAaoF,OAAOC,MAAM,MAAA;AAC7BE,gBAAQC,IAAI,6CAA6CH,IAAAA,EAAM;AAC/DC,gBAAAA;MACF,CAAA;IACF,CAAA;EACF;EAEAG,kBAAgC;AAC9B,WAAO,KAAKzF;EACd;EAEA,MAAM0F,QAAuB;AAC3B,WAAO,IAAIzC,QAAQ,CAACqC,YAAAA;AAClB,WAAKtF,aAAa0F,MAAM,MAAA;AACtBJ,gBAAAA;MACF,CAAA;IACF,CAAA;EACF;;EAIQK,cAQF,CAAA;;;;;;;;;EAUER,eACNS,SACAC,WACAlF,MACA;AAQA,UAAMmF,UAAUnF,KAAKoF;AACrB,QAAID,YAAYE,QAAW;AACzB,YAAM,IAAIC,0BACR,+bAKE;IAEN;AAEA,UAAMC,SAASvF,KAAKwF,aAAaC,QAAQC,IAAIC,sBAAsB;AAEnE,eAAWxC,SAAS8B,SAAS;AAC3B,YAAMW,WAAWzC,MAAMyC;AACvB,UAAIC;AACJ,UAAI7F,KAAK8F,oBAAoB;AAC3BD,oBAAY7F,KAAK8F,mBAAmB3C,MAAMyC,UAAUA,SAASG,OAAOR,QAAQ;UAC1ES,OAAOhG,KAAKiG;QACd,CAAA;MACF,WAAWV,UAAUJ,QAAQe,yBAAyBb,QAAW;AAC/DQ,oBAAYV,QAAQe,qBAAqB/C,MAAMyC,UAAUA,SAASG,OAAOR,QAAQ;UAC/ES,OAAOhG,KAAKiG;QACd,CAAA;MACF,OAAO;AAILJ,oBAAY,KAAKM,qBAAqBhD,MAAMjB,MAAMqD,MAAAA;MACpD;AAMA,YAAMa,gBAAgBjD,MAAMkD,cAAc,gCAASC,QAAAA;MAAS,GAAlB;AAE1C,YAAMhH,SAAS6F,QAAQoB,oBAAoB;QACzCC,YAAY;UAAEC,OAAOtD,MAAMsD;QAAM;QACjCC,iBAAiBvD,MAAMyC;QACvBC;MAIF,CAAA;AAEA,iBAAWY,SAASnH,QAAQ;AAC1B,cAAM8D,aAAuB,CAAA;AAC7B,cAAMC,WAAWoD,MAAME,KAAKrD,QAAQ,WAAW,CAACC,IAAYrB,SAAAA;AAC1DkB,qBAAWV,KAAKR,IAAAA;AAChB,iBAAO;QACT,CAAA;AACA,aAAK8C,YAAYtC,KAAK;UACpBkE,QAAQH,MAAMG;UACdC,SAAS,IAAIpD,OAAO,IAAIJ,QAAAA,GAAW;UACnCD;UACA0D,SAASL,MAAMK;UACfC,QAAQ5D,MAAM4D,UAAU,CAAA;UACxBV,YAAYD;UACZY,YAAY7D,MAAM6D,cAAc;QAClC,CAAA;MACF;AAEApC,cAAQC,IACN,sBAAe1B,MAAMjB,IAAI,gBAAgBiB,MAAMsD,KAAK,UAAUb,SAASG,MAAMxB,MAAM,SAAS;IAEhG;EACF;EAEA,MAAc0C,uBAA0C;AACtD,QAAI,KAAKlH,gBAAgBwE,WAAW,GAAG;AACrC,aAAO2C,aAAa,KAAK;QAAEC,QAAQ;QAASC,QAAQ,CAAA;MAAG,CAAA;IACzD;AACA,UAAMC,UAAU,MAAM/E,QAAQgF,IAC5B,KAAKvH,gBAAgB+B,IAAI,OAAOyF,UAAAA;AAC9B,UAAI;AACF,eAAO,MAAMjF,QAAQkF,KAAK;UACxBD,MAAAA;UACA,IAAIjF,QAA8D,CAACqC,YACjE8C,WACE,MACE9C,QAAQ;YACNzC,MAAM;YACNwF,SAAS;YACTC,SAAS;UACX,CAAA,GACF,GAAA,CAAA;SAGL;MACH,SAASC,KAAK;AACZ,eAAO;UACL1F,MAAM;UACNwF,SAAS;UACTC,SAASC,eAAexH,QAAQwH,IAAID,UAAU;QAChD;MACF;IACF,CAAA,CAAA;AAEF,UAAME,aAAaR,QAAQS,MAAM,CAACC,MAAMA,EAAEL,OAAO;AACjD,WAAOR,aAAaW,aAAa,MAAM,KAAK;MAC1CV,QAAQU,aAAa,UAAU;MAC/BT,QAAQC;IACV,CAAA;EACF;EAEQlB,qBAAqB6B,WAAmBzC,QAAgB;AAC9D,UAAM0C,MAAM,CAAC1C,SACT,sFACA;AACJ,WAAO,CAAC2C,UAAkBC,eAAAA;AACxB,YAAMC,SAAS;QACb;UAAEC,MAAM;UAAeC,OAAO,OAAO3I,KAAKC,IAAG,CAAA;UAAMoI;QAAU;QAC7D;UAAEK,MAAM;UAASE,MAAM;UAAmBZ,SAASM;UAAKO,WAAW;QAAM;;AAE3E,aAAO;QACL,CAACC,OAAOC,aAAa,GAAG,MAAA;AACtB,cAAIC,IAAI;AACR,iBAAO;YACLC,MAAM,6BACJtG,QAAQqC,QACNgE,IAAIP,OAAO7D,SACP;cAAEsE,OAAOT,OAAOO,GAAAA;cAAMG,MAAM;YAAe,IAC3C;cAAED,OAAOxD;cAAWyD,MAAM;YAAc,CAAA,GAJ1C;UAMR;QACF;MACF;IACF;EACF;;EAIA,MAAcrI,cAAcD,SAAqC;AAC/D,UAAMuI,WAAW,IAAIC,IAAIxI,QAAQyI,GAAG,EAAEF;AAGtC,UAAMG,SAA6B;MACjC1I;MACAuI;MACAnC,QAAQpG,QAAQoG;MAChBuC,QAAQ,CAAC;MACTC,WAAWzJ,KAAKC,IAAG;IACrB;AACA,WAAOyJ,sBAAsBH,QAAQ,MACnC,KAAKI,uBAAuB9I,SAASuI,UAAUG,MAAAA,CAAAA;EAEnD;EAEA,MAAcI,uBACZ9I,SACAuI,UACAQ,SACmB;AAEnB,QAAI/I,QAAQoG,WAAW,OAAO;AAC5B,UAAImC,aAAa,KAAKlJ,YAAY;AAChC,eAAOqH,aAAa,KAAK;UACvBC,QAAQ;UACRqC,SAAS7J,KAAKC,IAAG,IAAK,KAAKF,aAAa;UACxC+J,WAAW9J,KAAKC,IAAG;QACrB,CAAA;MACF;AACA,UAAImJ,aAAa,KAAKjJ,WAAW;AAC/B,eAAO,KAAKmH,qBAAoB;MAClC;IACF;AAGA,QAAIzG,QAAQoG,WAAW,OAAO;AAC5B,WAAKmC,aAAa,OAAOA,aAAa,kBAAkB,KAAKvJ,eAAe;AAC1E,cAAM6C,SAAS,MAAMqH,eAAe;UAClC1F,MAAM,KAAKxE;QACb,CAAA;AACA,eAAOmK,iBAAiBtH,MAAAA;MAC1B;AACA,WAAK0G,aAAa,OAAOA,aAAa,kBAAkB,KAAKxJ,cAAc;AACzE,eAAO,IAAIqK,SAAS,KAAKrK,cAAc;UACrC4H,QAAQ;UACR0C,SAAS;YAAE,gBAAgB;UAA2B;QACxD,CAAA;MACF;IACF;AAGA,QAAI,KAAKpK,kBAAkBe,QAAQoG,WAAW,SAASpG,QAAQoG,WAAW,SAAS;AACjF,YAAMkD,iBAAiB,MAAM,KAAKrK,cAAce,OAAAA;AAChD,UAAIsJ,eAAgB,QAAOA;IAC7B;AAGA,eAAWrD,SAAS,KAAKzB,aAAa;AACpC,UAAIxE,QAAQoG,OAAOmD,YAAW,MAAOtD,MAAMG,UAAUH,MAAMI,QAAQmD,KAAKjB,QAAAA,GAAW;AAEjF,YAAItC,MAAMM,OAAOxC,SAAS,GAAG;AAC3B,gBAAM0F,MAAMC,uBAAuB1J,SAASiG,MAAMJ,YAAYI,MAAMO,UAAU;AAC9E,qBAAWmD,aAAa1D,MAAMM,QAAQ;AACpC,kBAAMqD,QAAQ,IAAKD,UAAAA;AACnB,gBAAI,CAAE,MAAMC,MAAMC,YAAYJ,GAAAA,GAAO;AACnC,oBAAMK,KAAK,IAAIC,mBAAmB,oBAAA;AAClC,qBAAOrD,aAAaoD,GAAGE,YAAYF,GAAGG,OAAM,CAAA;YAC9C;UACF;QACF;AACA,eAAOhE,MAAMK,QAAQtG,OAAAA;MACvB;IACF;AAEA,UAAMyI,MAAM,IAAID,IAAIxI,QAAQyI,GAAG;AAC/B,UAAMrC,SAASpG,QAAQoG,OAAOmD,YAAW;AAEzC,UAAMW,QAAQ,KAAKC,UAAU/D,QAAQqC,IAAIF,QAAQ;AACjD,QAAI,CAAC2B,OAAO;AACV,aAAOxD,aAAa,KAAK;QACvB0D,OAAO;UAAErC,MAAM;UAAaZ,SAAS,gBAAgBf,MAAAA,IAAUqC,IAAIF,QAAQ;QAAG;MAChF,CAAA;IACF;AAEA,UAAM,EAAE5F,OAAOgG,OAAM,IAAKuB;AAE1B,QAAI;AAEF,YAAMT,MAAMC,uBACV1J,SACA2C,MAAMhB,SAAS,aACfgB,MAAMR,KAAKkI,WAAW;AAExB,iBAAWV,aAAahH,MAAMR,KAAKoE,QAAQ;AACzC,cAAMqD,QAAQ,IAAKD,UAAAA;AACnB,YAAI,CAAE,MAAMC,MAAMC,YAAYJ,GAAAA,GAAO;AACnC,gBAAMK,KAAK,IAAIC,mBAAmB,oBAAA;AAClC,iBAAOrD,aAAaoD,GAAGE,YAAYF,GAAGG,OAAM,CAAA;QAC9C;MACF;AAGA,UAAIK;AACJ,UAAI3H,MAAMQ,aAAa;QAAC;QAAQ;QAAO;QAASV,SAAS2D,MAAAA,GAAS;AAChE,YAAI;AACF,gBAAMmE,OAAO,MAAMvK,QAAQuK,KAAI;AAC/BD,iBAAOC,OAAOC,KAAKC,MAAMF,IAAAA,IAAQ1F;QACnC,QAAQ;AACNyF,iBAAOzF;QACT;AAEA,YAAIlC,MAAMR,KAAKuI,cAAcJ,SAASzF,QAAW;AAC/C,gBAAMhD,UAASc,MAAMR,KAAKuI,WAAWC,UAAUL,IAAAA;AAC/C,cAAI,CAACzI,QAAO+I,SAAS;AACnB,mBAAOlE,aAAa,KAAK;cACvB0D,OAAO;gBAAErC,MAAM;gBAAoB8C,QAAQhJ,QAAOuI,MAAMS;cAAO;YACjE,CAAA;UACF;AACAP,iBAAOzI,QAAOiJ;QAChB;MACF;AAGA,YAAMzJ,OAAO,KAAK0J,UAChBpI,MAAMR,KAAKiB,cACXpD,SACAsK,MACA3B,QACAqC,OAAOC,YAAYxC,IAAIyC,YAAY,CAAA;AAIrC,UAAIvI,MAAMR,KAAKgJ,UAAU;AACvB,eAAO,IAAI/B,SAAS,MAAM;UACxBzC,QAAQhE,MAAMR,KAAKgJ,SAASxE;UAC5B0C,SAAS;YAAE+B,UAAUzI,MAAMR,KAAKgJ,SAAS1C;UAAI;QAC/C,CAAA;MACF;AAGA,YAAM4C,YAAa1I,MAAMhB,SACvBgB,MAAMR,KAAKkI,WAAW;AAGxB,UAAIxI;AACJ,UAAIc,MAAMR,KAAKmJ,aAAavH,SAAS,GAAG;AAEtC,cAAM,EAAEwH,gBAAe,IAAK,MAAM,OAAO,iCAAA;AACzC1J,iBAAS,MAAM0J,gBACb5I,MAAMR,KAAKmJ,cACX,MAAMD,UAAUG,MAAM7I,MAAMhB,UAAUN,IAAAA,GACtCrB,OAAAA;MAEJ,OAAO;AACL6B,iBAAS,MAAMwJ,UAAUG,MAAM7I,MAAMhB,UAAUN,IAAAA;MACjD;AAEA,aAAOoK,cAAc5J,QAAQc,MAAMR,MAAMiE,MAAAA;IAC3C,SAASgB,KAAK;AAEZ,UAAIzE,MAAMR,KAAKuJ,QAAQ3H,SAAS,GAAG;AACjC,cAAM,EAAE4H,oBAAmB,IAAK,MAAM,OAAO,sCAAA;AAC7C,eAAOA,oBAAoBvE,KAAKzE,MAAMR,KAAKuJ,SAAS1L,OAAAA;MACtD;AAEA,UAAIoH,eAAewE,eAAe;AAChC,eAAOlF,aAAaU,IAAI4C,YAAY5C,IAAI6C,OAAM,CAAA;MAChD;AAEA7F,cAAQgG,MAAM,6BAA6BhD,eAAexH,QAAQwH,IAAID,UAAUC,GAAAA;AAChF,aAAOV,aAAa,KAAK;QACvB0D,OAAO;UAAErC,MAAM;UAAyBZ,SAAS;QAAwB;MAC3E,CAAA;IACF;EACF;EAEQgD,UAAU/D,QAAgBmC,UAAkB;AAClD,eAAW5F,SAAS,KAAK7D,QAAQ;AAC/B,UAAI6D,MAAMR,KAAK0J,SAAS,SAASlJ,MAAMR,KAAK0J,SAASzF,OAAQ;AAE7D,YAAM8D,QAAQvH,MAAMK,gBAAiB8I,KAAKvD,QAAAA;AAC1C,UAAI,CAAC2B,MAAO;AACZ,YAAMvB,SAAiC,CAAC;AACxChG,YAAMO,mBAAoB6I,QAAQ,CAACrK,MAAMyG,MAAAA;AACvCQ,eAAOjH,IAAAA,IAAQwI,MAAM/B,IAAI,CAAA;MAC3B,CAAA;AACA,aAAO;QAAExF;QAAOgG;MAAO;IACzB;AACA,WAAO;EACT;EAEQoC,UACNtG,SACAzE,SACAsK,MACA3B,QACAqD,OACW;AACX,QAAIvH,QAAQV,WAAW,EAAG,QAAO,CAAA;AACjC,UAAMkI,MAAMC,KAAKD,IAAG,GAAIxH,QAAQnD,IAAI,CAACgC,MAAMA,EAAE6I,KAAK,CAAA;AAClD,UAAM9K,OAAkB+K,MAAMC,KAAK;MAAEtI,QAAQkI,MAAM;IAAE,GAAG,MAAMpH,MAAAA;AAC9D,eAAWvB,KAAKmB,SAAS;AACvB,cAAQnB,EAAEC,QAAM;QACd,KAAK;AACHlC,eAAKiC,EAAE6I,KAAK,IAAInM;AAChB;QACF,KAAK;AACHqB,eAAKiC,EAAE6I,KAAK,IAAI7I,EAAEgJ,MAAOhC,KAAiChH,EAAEgJ,GAAG,IAAIhC;AACnE;QACF,KAAK;AACHjJ,eAAKiC,EAAE6I,KAAK,IAAI7I,EAAEgJ,MAAM3D,OAAOrF,EAAEgJ,GAAG,IAAI3D;AACxC;QACF,KAAK;AACHtH,eAAKiC,EAAE6I,KAAK,IAAI7I,EAAEgJ,MAAMN,MAAM1I,EAAEgJ,GAAG,IAAIN;AACvC;QACF,KAAK;AACH3K,eAAKiC,EAAE6I,KAAK,IAAI7I,EAAEgJ,MACdtM,QAAQqJ,QAAQ5H,IAAI6B,EAAEgJ,IAAIC,YAAW,CAAA,IACrCvB,OAAOC,YAAYjL,QAAQqJ,QAAQ5E,QAAO,CAAA;AAC9C;QACF,KAAK;AACHpD,eAAKiC,EAAE6I,KAAK,IAAInM,QAAQqJ,QAAQ5H,IAAI,iBAAA,KAAsB;AAC1D;QACF;AACEJ,eAAKiC,EAAE6I,KAAK,IAAItH;MACpB;IACF;AACA,WAAOxD;EACT;AACF;AAEA,SAASqF,aAAaC,QAAgB2D,MAAa;AACjD,SAAO,IAAIlB,SAASoB,KAAKgC,UAAUlC,IAAAA,GAAO;IACxC3D;IACA0C,SAAS;MAAE,gBAAgB;IAAmB;EAChD,CAAA;AACF;AALS3C;AAOT,SAAS+E,cAAc5J,QAAiBM,MAAkBiE,QAAc;AACtE,QAAMO,SAASxE,KAAKwE,WAAWP,WAAW,SAAS,MAAM;AACzD,QAAMiD,UAAkC;IAAE,gBAAgB;EAAmB;AAC7E,aAAW,CAACoD,GAAGC,CAAAA,KAAMvK,KAAKkH,QAASA,SAAQoD,EAAEF,YAAW,CAAA,IAAMG;AAE9D,MAAI7K,WAAWgD,UAAahD,WAAW,MAAM;AAC3C,WAAO,IAAIuH,SAAS,MAAM;MAAEzC,QAAQA,WAAW,MAAM,MAAMA;MAAQ0C;IAAQ,CAAA;EAC7E;AACA,MAAI,OAAOxH,WAAW,UAAU;AAC9BwH,YAAQ,cAAA,IAAkB;AAC1B,WAAO,IAAID,SAASvH,QAAQ;MAAE8E;MAAQ0C;IAAQ,CAAA;EAChD;AACA,SAAO,IAAID,SAASoB,KAAKgC,UAAU3K,MAAAA,GAAS;IAAE8E;IAAQ0C;EAAQ,CAAA;AAChE;AAbSoC;","names":["AsyncLocalStorage","storage","AsyncLocalStorage","getRequestContext","ctx","getStore","Error","tryGetRequestContext","runWithRequestContext","fn","run","MIME_TYPES","UNSAFE_PATH_RE","getMimeType","filePath","dot","lastIndexOf","ext","slice","toLowerCase","isSafePath","pathname","test","readFileBun","fullPath","g","globalThis","BunRT","Bun","file","exists","buf","arrayBuffer","content","Uint8Array","size","byteLength","readFileDeno","DenoRT","Deno","stat","isDirectory","readFile","readFileNode","fs","handle","open","close","containedRealPath","root","sep","realPath","realpath","realRoot","startsWith","safePath","resolveRoot","join","cwd","resolve","createStaticHandler","options","maxAge","resolvedRoot","request","method","toUpperCase","url","URL","decodeURIComponent","result","endsWith","includes","contentType","headers","String","Response","status","DOCTYPE","encoder","TextEncoder","renderToStream","options","root","waitForAll","reactDomServer","renderToReadableStream","renderWithReadableStream","renderToString","console","warn","renderWithString","Error","renderFn","reactStream","allReady","doctypeStream","prependDoctype","stream","html","bytes","encode","ReadableStream","start","controller","enqueue","close","Promise","resolve","source","reader","getReader","doctypeSent","pull","value","done","read","cancel","streamToResponse","result","Response","status","headers","TheoApp","serverHandle","routes","frontendHtml","streamingRoot","staticHandler","startTime","Date","now","healthPath","readyPath","readinessChecks","opts","hp","rp","startsWith","Error","adapter","createNodeAdapter","createServer","request","handleRequest","create","app","registry","Map","module","moduleMeta","Reflect","getMetadata","allModules","imports","Mod","meta","Prov","providers","has","set","Controller","controllers","paramTypes","args","map","pt","dep","get","name","instance","postConstruct","result","Promise","walks","walkControllerMetadata","w","push","walk","sort","a","b","aP","fullPath","includes","bP","entry","paramNames","regexStr","replace","_m","compiledPattern","RegExp","compiledParamNames","needsBody","paramEntries","some","p","source","root","streaming","renderToString","html","staticDir","createStaticHandler","agents","length","autoWireAgents","listen","port","resolve","console","log","getServerHandle","close","agentRoutes","entries","_registry","runtime","agentRuntime","undefined","HttpDecoratorsConfigError","apiKey","llmApiKey","process","env","OPENROUTER_API_KEY","compiled","createRun","agentStreamFactory","tools","model","llmModel","createSdkAgentStream","createFallbackStream","agentIdentity","agentClass","agent","generateAgentRoutes","walkResult","route","compiledOptions","path","method","pattern","handler","guards","methodName","handleReadinessCheck","jsonResponse","status","checks","results","all","check","race","setTimeout","healthy","message","err","allHealthy","every","r","agentName","msg","_message","_sessionId","events","type","runId","code","retryable","Symbol","asyncIterator","i","next","value","done","pathname","URL","url","reqCtx","params","startedAt","runWithRequestContext","handleRequestInContext","_reqCtx","uptime","timestamp","renderToStream","streamToResponse","Response","headers","staticResponse","toUpperCase","test","ctx","createExecutionContext","GuardCtor","guard","canActivate","ex","ForbiddenException","statusCode","toJSON","match","findRoute","error","propertyKey","body","text","JSON","parse","bodySchema","safeParse","success","issues","data","buildArgs","Object","fromEntries","searchParams","redirect","location","handlerFn","interceptors","runInterceptors","apply","buildResponse","filters","runExceptionFilters","HttpException","verb","exec","forEach","query","max","Math","index","Array","from","key","toLowerCase","stringify","n","v"]}