@theokit/http 1.1.2 → 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-ELVQOG52.js";
3
+ } from "./chunk-NFCIOKAI.js";
4
4
  import "./chunk-X7Q5HPLK.js";
5
5
  import "./chunk-AJOJXZRY.js";
6
6
  import "./chunk-BSS3KPGY.js";
@@ -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) {
@@ -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-ELVQOG52.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,7 +12,7 @@ import {
7
12
  renderToStream,
8
13
  streamToResponse,
9
14
  tryGetRequestContext
10
- } from "./chunk-ELVQOG52.js";
15
+ } from "./chunk-NFCIOKAI.js";
11
16
  import {
12
17
  MiddlewareConsumerImpl,
13
18
  isControllerClass,
@@ -263,131 +268,6 @@ function Catch(...exceptions) {
263
268
  }
264
269
  __name(Catch, "Catch");
265
270
 
266
- // src/decorators/set-metadata.ts
267
- import "reflect-metadata";
268
- var decoratorKeyCounter = 0;
269
- function createDecorator() {
270
- const key = /* @__PURE__ */ Symbol.for(`theokit:custom:${++decoratorKeyCounter}`);
271
- const decorator = /* @__PURE__ */ __name((value) => {
272
- return (target, propertyKey) => {
273
- const metaTarget = propertyKey !== void 0 ? target.constructor : target;
274
- Reflect.defineMetadata(key, value, metaTarget, propertyKey);
275
- };
276
- }, "decorator");
277
- decorator.key = key;
278
- return decorator;
279
- }
280
- __name(createDecorator, "createDecorator");
281
- function SetMetadata(metaKey, value) {
282
- return (target, propertyKey) => {
283
- const metaTarget = propertyKey !== void 0 ? target.constructor : target;
284
- Reflect.defineMetadata(metaKey, value, metaTarget, propertyKey);
285
- };
286
- }
287
- __name(SetMetadata, "SetMetadata");
288
- var Reflector = class {
289
- static {
290
- __name(this, "Reflector");
291
- }
292
- /**
293
- * Read metadata set by a typed decorator created via createDecorator<T>().
294
- *
295
- * @example
296
- * ```ts
297
- * const Roles = createDecorator<string[]>()
298
- * const reflector = new Reflector()
299
- * const roles = reflector.get(Roles, handlerFn) // string[] | undefined
300
- * ```
301
- */
302
- get(decorator, target, propertyKey) {
303
- const key = decorator.key;
304
- if (!key) return void 0;
305
- if (propertyKey !== void 0) {
306
- return Reflect.getMetadata(key, target, propertyKey);
307
- }
308
- return Reflect.getMetadata(key, target);
309
- }
310
- /**
311
- * Read metadata set by @SetMetadata(key, value).
312
- */
313
- getByKey(key, target, propertyKey) {
314
- if (propertyKey !== void 0) {
315
- return Reflect.getMetadata(key, target, propertyKey);
316
- }
317
- return Reflect.getMetadata(key, target);
318
- }
319
- /**
320
- * Read metadata checking method-level first, then class-level.
321
- * Returns the first non-undefined value found.
322
- *
323
- * NestJS equivalent: `reflector.getAllAndOverride(ROLES_KEY, [context.getHandler(), context.getClass()])`
324
- *
325
- * @example
326
- * ```ts
327
- * const Roles = createDecorator<string[]>()
328
- * // In a guard:
329
- * const roles = reflector.getAllAndOverride(Roles, context.getClass(), context.getMethodName())
330
- * // Checks method-level @Roles first, falls back to class-level @Roles
331
- * ```
332
- */
333
- getAllAndOverride(decorator, target, propertyKey) {
334
- if (propertyKey !== void 0) {
335
- const methodLevel = this.get(decorator, target, propertyKey);
336
- if (methodLevel !== void 0) return methodLevel;
337
- }
338
- return this.get(decorator, target);
339
- }
340
- /**
341
- * Read metadata checking method-level first, then class-level, by raw key.
342
- * Returns the first non-undefined value found.
343
- */
344
- getAllAndOverrideByKey(key, target, propertyKey) {
345
- if (propertyKey !== void 0) {
346
- const methodLevel = this.getByKey(key, target, propertyKey);
347
- if (methodLevel !== void 0) return methodLevel;
348
- }
349
- return this.getByKey(key, target);
350
- }
351
- /**
352
- * Read metadata from both method-level and class-level, merging arrays.
353
- * Returns all found values as a flat array.
354
- *
355
- * NestJS equivalent: `reflector.getAllAndMerge(ROLES_KEY, [context.getHandler(), context.getClass()])`
356
- *
357
- * @example
358
- * ```ts
359
- * const Tags = createDecorator<string[]>()
360
- *
361
- * @Tags(['api'])
362
- * @Controller('cats')
363
- * class CatsCtrl {
364
- * @Tags(['read'])
365
- * @Get()
366
- * findAll() {}
367
- * }
368
- *
369
- * reflector.getAllAndMerge(Tags, CatsCtrl, 'findAll')
370
- * // → ['read', 'api'] (method + class merged)
371
- * ```
372
- */
373
- getAllAndMerge(decorator, target, propertyKey) {
374
- const result = [];
375
- if (propertyKey !== void 0) {
376
- const methodLevel = this.get(decorator, target, propertyKey);
377
- if (methodLevel !== void 0) {
378
- if (Array.isArray(methodLevel)) result.push(...methodLevel);
379
- else result.push(methodLevel);
380
- }
381
- }
382
- const classLevel = this.get(decorator, target);
383
- if (classLevel !== void 0) {
384
- if (Array.isArray(classLevel)) result.push(...classLevel);
385
- else result.push(classLevel);
386
- }
387
- return result;
388
- }
389
- };
390
-
391
271
  // src/decorators/throttle.ts
392
272
  var THROTTLE_KEY = /* @__PURE__ */ Symbol.for("theokit:http-decorators:throttle");
393
273
  var SKIP_THROTTLE_KEY = /* @__PURE__ */ Symbol.for("theokit:http-decorators:skip-throttle");
@@ -439,6 +319,66 @@ __name(registerControllers, "registerControllers");
439
319
 
440
320
  // src/bridge/create-server.ts
441
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
442
382
  function createDecoratorHandler(controllersOrOpts) {
443
383
  const { controllers, container, configure, serveAgent } = Array.isArray(controllersOrOpts) ? {
444
384
  controllers: controllersOrOpts,
@@ -458,12 +398,24 @@ function createDecoratorHandler(controllersOrOpts) {
458
398
  }
459
399
  const routes = [];
460
400
  for (const Ctor of unique) {
461
- const instance = resolveOrNew(Ctor, container);
462
- const walks = walkControllerMetadata(Ctor);
463
- 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)) {
464
416
  routes.push({
465
- walk: w,
466
- instance
417
+ walk,
418
+ ...built
467
419
  });
468
420
  }
469
421
  }
@@ -500,7 +452,29 @@ async function handleRequest(routes, request, container, middlewareEntries = [],
500
452
  const pathname = url.pathname;
501
453
  const match = findRoute(routes, method, pathname);
502
454
  if (!match) return null;
503
- 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;
504
478
  try {
505
479
  const mwResponse = await runMiddleware(middlewareEntries, request, pathname);
506
480
  if (mwResponse) return mwResponse;
@@ -592,12 +566,11 @@ function jsonResponse(status, body) {
592
566
  }
593
567
  __name(jsonResponse, "jsonResponse");
594
568
  function findRoute(routes, method, pathname) {
595
- for (const { walk, instance } of routes) {
596
- if (walk.verb !== "ALL" && walk.verb !== method) continue;
597
- 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);
598
572
  if (params !== null) return {
599
- walk,
600
- instance,
573
+ ...entry,
601
574
  params
602
575
  };
603
576
  }
@@ -709,64 +682,6 @@ function contract(routes) {
709
682
  }
710
683
  __name(contract, "contract");
711
684
 
712
- // src/error-digest.ts
713
- function djb2(input) {
714
- let hash = 5381;
715
- for (let i = 0; i < input.length; i++) {
716
- hash = (hash << 5) + hash + input.charCodeAt(i) | 0;
717
- }
718
- return (hash >>> 0).toString(16);
719
- }
720
- __name(djb2, "djb2");
721
- function digestError(err, context = {}) {
722
- const message = extractMessage(err);
723
- const status = extractStatus(err);
724
- const rawStack = extractStack(err);
725
- const digest = djb2(message);
726
- const isProduction = process.env.NODE_ENV === "production";
727
- return {
728
- digest,
729
- message,
730
- status,
731
- context,
732
- ...rawStack && !isProduction ? {
733
- stack: rawStack
734
- } : {}
735
- };
736
- }
737
- __name(digestError, "digestError");
738
- function extractMessage(err) {
739
- if (err instanceof Error) {
740
- return err.message;
741
- }
742
- if (typeof err === "string") {
743
- return err;
744
- }
745
- if (typeof err === "number") {
746
- return String(err);
747
- }
748
- try {
749
- return JSON.stringify(err);
750
- } catch {
751
- return "Unknown error";
752
- }
753
- }
754
- __name(extractMessage, "extractMessage");
755
- function extractStatus(err) {
756
- if (err instanceof HttpException) {
757
- return err.statusCode;
758
- }
759
- return 500;
760
- }
761
- __name(extractStatus, "extractStatus");
762
- function extractStack(err) {
763
- if (err instanceof Error) {
764
- return err.stack;
765
- }
766
- return void 0;
767
- }
768
- __name(extractStack, "extractStack");
769
-
770
685
  // src/component-tree.ts
771
686
  function createErrorBoundary(React, FallbackComponent) {
772
687
  return class ErrorBoundary extends React.Component {
@@ -889,11 +804,13 @@ export {
889
804
  NotFoundException,
890
805
  NotImplementedException,
891
806
  Options,
807
+ PUBLIC_ROUTE_METADATA,
892
808
  Param,
893
809
  Patch,
894
810
  PayloadTooLargeException,
895
811
  Post,
896
812
  PreconditionFailedException,
813
+ Public,
897
814
  Put,
898
815
  Query,
899
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","name","value","toLowerCase","JSON","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":"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","names":["inferPrefix","className","stripped","replace","kebab","toLowerCase","Controller","prefixOrOpts","maybeOpts","target","prefix","opts","name","setMeta","CONTROLLER_PREFIX","host","makeVerbDecorator","verb","path","target","propertyKey","existing","getMeta","ROUTE_METHODS","push","setMeta","Get","Post","Put","Patch","Delete","Options","Head","All","isZodSchema","v","undefined","safeParse","makeParamDecorator","source","keyOrSchema","target","propertyKey","parameterIndex","map","getMeta","ROUTE_PARAMS","Map","entries","get","entry","index","key","schema","push","set","setMeta","Req","Body","Param","Query","Headers","Session","Ip","HostParam","Res","opts","passthrough","Expose","agent","opts","target","propertyKey","existing","getMeta","EXPOSE_AGENT","push","setMeta","HttpCode","status","target","propertyKey","setMeta","ROUTE_STATUS","Header","name","value","existing","getMeta","ROUTE_HEADERS","push","Redirect","url","ROUTE_REDIRECT","UseGuards","guards","target","propertyKey","actualTarget","existing","getMeta","USE_GUARDS","setMeta","UseInterceptors","interceptors","USE_INTERCEPTORS","UseFilters","filters","USE_FILTERS","Catch","exceptions","CATCH_EXCEPTIONS","THROTTLE_KEY","Symbol","for","SKIP_THROTTLE_KEY","Throttle","options","target","propertyKey","actualTarget","undefined","setMeta","SkipThrottle","skip","getThrottleOptions","getMeta","isThrottleSkipped","registerControllers","controllers","seen","Set","unique","Ctor","has","console","warn","name","add","push","flatMap","walks","walkControllerMetadata","map","w","verb","fullPath","walkResult","djb2","input","hash","i","length","charCodeAt","toString","digestError","err","context","message","extractMessage","status","extractStatus","rawStack","extractStack","digest","isProduction","process","env","NODE_ENV","stack","Error","String","JSON","stringify","HttpException","statusCode","undefined","createDecoratorHandler","controllersOrOpts","controllers","container","configure","serveAgent","Array","isArray","undefined","middlewareConsumer","MiddlewareConsumerImpl","middlewareEntries","getEntries","seen","Set","unique","Ctor","has","add","push","routes","built","instance","resolveOrNew","error","failure","controllerName","name","console","Error","message","String","walk","walkControllerMetadata","sort","a","b","aP","fullPath","includes","bP","handler","request","handleRequest","matches","method","pathname","findRoute","toUpperCase","createDecoratorServer","handle","adapter","createNodeAdapter","createServer","res","URL","url","jsonResponse","code","match","params","digested","digestError","route","phase","source","digest","stack","mwResponse","runMiddleware","ctx","createExecutionContext","propertyKey","guardResponse","runGuards","guards","agent","module","opts","body","resolveBody","Response","args","buildArgs","paramEntries","query","Object","fromEntries","searchParams","redirect","status","headers","location","handlerFn","result","runInterceptors","interceptors","apply","buildResponse","err","runExceptionFilters","filters","context","GuardCtor","guard","allowed","canActivate","ex","ForbiddenException","statusCode","toJSON","value","toLowerCase","JSON","stringify","entry","verb","matchPath","pattern","paramNames","regexStr","replace","_m","RegExp","exec","forEach","i","length","maxIndex","Math","max","map","p","index","from","key","get","entries","createTypedClient","baseUrl","defaultHeaders","request","method","path","body","opts","url","URL","query","k","v","Object","entries","searchParams","set","headers","undefined","res","fetch","toString","JSON","stringify","ok","error","json","catch","message","statusText","TypedClientError","status","get","post","put","delete","Error","name","contract","routes","createErrorBoundary","React","FallbackComponent","ErrorBoundary","Component","props","state","hasError","getDerivedStateFromError","render","createElement","Fragment","children","composeComponentTree","tree","composeNode","node","layout","Layout","page","Page","loading","Loading","error","ErrorFallback","element","Suspense","fallback","Boundary","revalidateTag","tag","collectSignal","kind","value","timestamp","Date","now","revalidatePath","path","getRevalidationSignals","ctx","tryGetRequestContext","_revalidationSignals","signal","console","warn","extended","push"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theokit/http",
3
- "version": "1.1.2",
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/app.ts","../src/request-context.ts","../src/static.ts","../src/stream-renderer.ts"],"mappings":"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","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","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"]}