@quilla-be-kit/http 0.6.0 → 0.8.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.
Files changed (56) hide show
  1. package/README.md +157 -25
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/adapter/hono/hono-request.adapter.d.ts +3 -1
  4. package/dist/adapter/hono/hono-request.adapter.d.ts.map +1 -1
  5. package/dist/adapter/hono/hono-request.adapter.js +4 -2
  6. package/dist/adapter/hono/hono-request.adapter.js.map +1 -1
  7. package/dist/adapter/hono/hono.server.d.ts.map +1 -1
  8. package/dist/adapter/hono/hono.server.js +3 -1
  9. package/dist/adapter/hono/hono.server.js.map +1 -1
  10. package/dist/decorator/authorize-scope.decorator.js +2 -2
  11. package/dist/decorator/authorize-scope.decorator.js.map +1 -1
  12. package/dist/decorator/controller.decorator.d.ts +1 -0
  13. package/dist/decorator/controller.decorator.d.ts.map +1 -1
  14. package/dist/decorator/controller.decorator.js +2 -1
  15. package/dist/decorator/controller.decorator.js.map +1 -1
  16. package/dist/decorator/method.decorators.d.ts +1 -0
  17. package/dist/decorator/method.decorators.d.ts.map +1 -1
  18. package/dist/decorator/method.decorators.js +1 -0
  19. package/dist/decorator/method.decorators.js.map +1 -1
  20. package/dist/decorator/route.metadata.d.ts +10 -1
  21. package/dist/decorator/route.metadata.d.ts.map +1 -1
  22. package/dist/decorator/route.metadata.js +68 -31
  23. package/dist/decorator/route.metadata.js.map +1 -1
  24. package/dist/decorator/validate-request.decorator.js +2 -2
  25. package/dist/decorator/validate-request.decorator.js.map +1 -1
  26. package/dist/request/default.deserializer.d.ts +20 -0
  27. package/dist/request/default.deserializer.d.ts.map +1 -0
  28. package/dist/request/default.deserializer.js +22 -0
  29. package/dist/request/default.deserializer.js.map +1 -0
  30. package/dist/request/http-attributes.d.ts +6 -0
  31. package/dist/request/http-attributes.d.ts.map +1 -1
  32. package/dist/request/http-attributes.js +6 -0
  33. package/dist/request/http-attributes.js.map +1 -1
  34. package/dist/request/index.d.ts +2 -0
  35. package/dist/request/index.d.ts.map +1 -1
  36. package/dist/request/index.js +1 -0
  37. package/dist/request/index.js.map +1 -1
  38. package/dist/request/request-deserializer.interface.d.ts +4 -0
  39. package/dist/request/request-deserializer.interface.d.ts.map +1 -0
  40. package/dist/request/request-deserializer.interface.js +2 -0
  41. package/dist/request/request-deserializer.interface.js.map +1 -0
  42. package/dist/router/auth-middleware-stack.type.d.ts +21 -5
  43. package/dist/router/auth-middleware-stack.type.d.ts.map +1 -1
  44. package/dist/router/http-module-meta.type.d.ts +5 -0
  45. package/dist/router/http-module-meta.type.d.ts.map +1 -1
  46. package/dist/router/normalized-route.type.d.ts +6 -1
  47. package/dist/router/normalized-route.type.d.ts.map +1 -1
  48. package/dist/router/router-options.type.d.ts +28 -8
  49. package/dist/router/router-options.type.d.ts.map +1 -1
  50. package/dist/router/router.d.ts +2 -2
  51. package/dist/router/router.d.ts.map +1 -1
  52. package/dist/router/router.js +92 -16
  53. package/dist/router/router.js.map +1 -1
  54. package/dist/server/http-conventions.type.d.ts +2 -0
  55. package/dist/server/http-conventions.type.d.ts.map +1 -1
  56. package/package.json +2 -2
@@ -15,23 +15,43 @@ export type RouterExecutionContextOptions = {
15
15
  /** Header name to read the inbound correlation id from. Default: `x-correlation-id`. */
16
16
  readonly correlationIdHeader?: string;
17
17
  };
18
- export type RouterOptions = {
18
+ /**
19
+ * `S` is inferred from the keys of `authStacks`, which constrains
20
+ * `defaultAuthStack` to a declared name. Route-, controller-, and module-level
21
+ * `authStack` cannot be typed this way — decorators and module metadata are
22
+ * evaluated independently of Router construction — so those are validated at
23
+ * construction instead.
24
+ *
25
+ * Defaults to `string`, not `never`: inference from an inline `authStacks`
26
+ * literal still narrows `S` to the declared keys, while a consumer who names
27
+ * the type (`const options: RouterOptions = ...`) degrades to "any name"
28
+ * rather than "no name is valid".
29
+ */
30
+ export type RouterOptions<S extends string = string> = {
19
31
  readonly controllers?: readonly (object | ControllerRegistration)[];
20
32
  readonly modules?: readonly Component<HttpModuleMeta>[];
21
33
  /**
22
34
  * Optional — when provided, Router installs a system-owned bootstrap that
23
- * runs on every route. Required iff `authMiddlewares` is set (Router
24
- * throws at construction otherwise). Handlers that never read
25
- * `ExecutionContext` can skip this.
35
+ * runs on every route. Required iff `authStacks` is set (Router throws at
36
+ * construction otherwise). Handlers that never read `ExecutionContext` can
37
+ * skip this.
26
38
  */
27
39
  readonly executionContext?: RouterExecutionContextOptions;
28
40
  /** Custom middlewares that run on every route after the system bootstrap. */
29
41
  readonly globalMiddlewares?: readonly HttpMiddleware[];
30
42
  /**
31
- * Typed, phase-ordered auth stack. Runs only on non-public routes, after
32
- * `globalMiddlewares`. `tokenVerification` always runs first, then
33
- * `sessionLoad` if present.
43
+ * Named, phase-ordered auth stacks. A route resolves to exactly one stack,
44
+ * which runs only when the route is non-public, after `globalMiddlewares`.
45
+ *
46
+ * Omit entirely for a service with no authentication. An empty record throws
47
+ * at construction — it would leave every non-public route unauthenticated
48
+ * while looking configured.
49
+ */
50
+ readonly authStacks?: Readonly<Record<S, AuthMiddlewareStack>>;
51
+ /**
52
+ * Stack applied to routes that declare none. Required whenever `authStacks`
53
+ * is present, and constrained to its keys.
34
54
  */
35
- readonly authMiddlewares?: AuthMiddlewareStack;
55
+ readonly defaultAuthStack?: NoInfer<S>;
36
56
  };
37
57
  //# sourceMappingURL=router-options.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"router-options.type.d.ts","sourceRoot":"","sources":["../../src/router/router-options.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;IAC5C,wFAAwF;IACxF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,sBAAsB,CAAC,EAAE,CAAC;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;IAExD;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;IAE1D,6EAA6E;IAC7E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAEvD;;;;OAIG;IACH,QAAQ,CAAC,eAAe,CAAC,EAAE,mBAAmB,CAAC;CAChD,CAAC"}
1
+ {"version":3,"file":"router-options.type.d.ts","sourceRoot":"","sources":["../../src/router/router-options.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oCAAoC,CAAC;AACzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAChF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAEjE;;;;;GAKG;AACH,MAAM,MAAM,6BAA6B,GAAG;IAC1C,QAAQ,CAAC,QAAQ,EAAE,wBAAwB,CAAC;IAC5C,wFAAwF;IACxF,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,CAAC;CACvC,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI;IACrD,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,MAAM,GAAG,sBAAsB,CAAC,EAAE,CAAC;IACpE,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC;IAExD;;;;;OAKG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,6BAA6B,CAAC;IAE1D,6EAA6E;IAC7E,QAAQ,CAAC,iBAAiB,CAAC,EAAE,SAAS,cAAc,EAAE,CAAC;IAEvD;;;;;;;OAOG;IACH,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAE/D;;;OAGG;IACH,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;CACxC,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import type { ExecutionContextProvider } from '@quilla-be-kit/execution-context';
2
2
  import type { NormalizedRoute } from './normalized-route.type.js';
3
3
  import type { RouterOptions } from './router-options.type.js';
4
- export declare class Router {
4
+ export declare class Router<S extends string = string> {
5
5
  private readonly routes;
6
6
  private readonly executionContextProvider;
7
- constructor(options: RouterOptions);
7
+ constructor(options: RouterOptions<S>);
8
8
  getRoutes(): readonly NormalizedRoute[];
9
9
  getExecutionContextProvider(): ExecutionContextProvider | undefined;
10
10
  }
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAYjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAiC,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAQ7F,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAuC;gBAEpE,OAAO,EAAE,aAAa;IA4ClC,SAAS,IAAI,SAAS,eAAe,EAAE;IAIvC,2BAA2B,IAAI,wBAAwB,GAAG,SAAS;CAGpE"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAcjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,KAAK,EAAiC,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAS7F,qBAAa,MAAM,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA6B;IACpD,OAAO,CAAC,QAAQ,CAAC,wBAAwB,CAAuC;gBAEpE,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;IAoErC,SAAS,IAAI,SAAS,eAAe,EAAE;IAIvC,2BAA2B,IAAI,wBAAwB,GAAG,SAAS;CAGpE"}
@@ -1,23 +1,36 @@
1
- import { getControllerPrefix, getControllerRoutes, getControllerVersion, } from '../decorator/route.metadata.js';
1
+ import { getControllerAuthStack, getControllerPrefix, getControllerRoutes, getControllerVersion, } from '../decorator/route.metadata.js';
2
+ import { HttpAttributes } from '../request/http-attributes.js';
2
3
  export class Router {
3
4
  routes;
4
5
  executionContextProvider;
5
6
  constructor(options) {
6
- if (options.authMiddlewares && !options.executionContext) {
7
- throw new Error('Router: `authMiddlewares` requires `executionContext` — auth middlewares depend on an active ExecutionContext scope. Wire `{ provider }` on the `executionContext` option.');
7
+ const { authStacks, defaultAuthStack } = options;
8
+ const authChains = buildAuthChains(authStacks);
9
+ const declared = declaredList(authChains);
10
+ if (authStacks && authChains.size === 0) {
11
+ throw new Error('Router: `authStacks` is empty — every non-public route would run unauthenticated. Omit the option entirely for a service with no authentication.');
12
+ }
13
+ if (authChains.size > 0 && !options.executionContext) {
14
+ throw new Error('Router: `authStacks` requires `executionContext` — auth middlewares depend on an active ExecutionContext scope. Wire `{ provider }` on the `executionContext` option.');
15
+ }
16
+ if (authChains.size > 0 && defaultAuthStack === undefined) {
17
+ throw new Error(`Router: \`defaultAuthStack\` is required when \`authStacks\` is declared (declared: ${declared}). Name the stack routes fall back to.`);
18
+ }
19
+ if (defaultAuthStack !== undefined && !authChains.has(defaultAuthStack)) {
20
+ throw new Error(`Router: \`defaultAuthStack: "${defaultAuthStack}"\` is not a declared stack — declared: ${declared}`);
8
21
  }
9
22
  this.executionContextProvider = options.executionContext?.provider;
10
23
  const systemMiddleware = options.executionContext
11
24
  ? buildExecutionContextMiddleware(options.executionContext)
12
25
  : undefined;
13
26
  const globalMiddlewares = options.globalMiddlewares ?? [];
14
- const authChain = flattenAuthStack(options.authMiddlewares);
15
27
  const registrations = [];
16
28
  for (const raw of options.controllers ?? []) {
17
29
  registrations.push({
18
30
  ...normalizeRegistration(raw),
19
31
  modulePrefix: '',
20
32
  moduleVersion: undefined,
33
+ moduleAuthStack: undefined,
21
34
  moduleMiddlewares: [],
22
35
  });
23
36
  }
@@ -30,14 +43,18 @@ export class Router {
30
43
  ...normalizeRegistration(raw),
31
44
  modulePrefix: meta.prefix ?? '',
32
45
  moduleVersion: meta.version,
46
+ moduleAuthStack: meta.authStack,
33
47
  moduleMiddlewares: meta.middlewares ?? [],
34
48
  });
35
49
  }
36
50
  }
51
+ assertDeclaredStacks(registrations, authChains, declared);
37
52
  this.routes = buildRoutes(registrations, {
38
53
  systemMiddleware,
39
54
  globalMiddlewares,
40
- authChain,
55
+ authChains,
56
+ declared,
57
+ defaultAuthStack,
41
58
  });
42
59
  }
43
60
  getRoutes() {
@@ -56,42 +73,98 @@ function buildExecutionContextMiddleware(options) {
56
73
  await provider.runWithContext(ctx, next);
57
74
  };
58
75
  }
59
- function flattenAuthStack(stack) {
60
- if (!stack)
61
- return [];
62
- return stack.sessionLoad
63
- ? [stack.tokenVerification, stack.sessionLoad]
64
- : [stack.tokenVerification];
76
+ function buildAuthChains(stacks) {
77
+ const chains = new Map();
78
+ if (!stacks)
79
+ return chains;
80
+ for (const [name, stack] of Object.entries(stacks)) {
81
+ if (!stack)
82
+ continue;
83
+ // Records the stack that authenticated the request, so guards can assert
84
+ // scheme identity — `scopes` are one flat namespace shared across stacks.
85
+ const stamp = async (request, next) => {
86
+ request.setAttribute(HttpAttributes.AUTH_STACK, name);
87
+ await next();
88
+ };
89
+ const chain = [stamp, stack.credentialVerification];
90
+ if (stack.sessionLoad)
91
+ chain.push(stack.sessionLoad);
92
+ chains.set(name, chain);
93
+ }
94
+ return chains;
95
+ }
96
+ function declaredList(authChains) {
97
+ return [...authChains.keys()].join(', ') || '(none)';
98
+ }
99
+ // Runs before route building so a stack typo is never masked by a duplicate-path
100
+ // collision on the same controller.
101
+ function assertDeclaredStacks(registrations, authChains, declared) {
102
+ const violations = [];
103
+ for (const reg of registrations) {
104
+ const controllerName = reg.controller.constructor.name;
105
+ const controllerStack = getControllerAuthStack(reg.controller);
106
+ if (controllerStack !== undefined && !authChains.has(controllerStack)) {
107
+ violations.push(` @Controller on "${controllerName}" declares unknown auth stack "${controllerStack}"`);
108
+ }
109
+ if (reg.moduleAuthStack !== undefined && !authChains.has(reg.moduleAuthStack)) {
110
+ violations.push(` module registering "${controllerName}" declares unknown auth stack "${reg.moduleAuthStack}"`);
111
+ }
112
+ }
113
+ if (violations.length > 0) {
114
+ throw new Error(`Router: unknown auth stack(s) — declared stacks: ${declared}\n${violations.join('\n')}`);
115
+ }
65
116
  }
66
117
  function buildRoutes(registrations, chain) {
67
118
  const normalized = [];
68
119
  const seen = new Map();
120
+ const stackViolations = [];
69
121
  for (const reg of registrations) {
70
122
  const controllerPrefix = getControllerPrefix(reg.controller);
71
123
  const controllerVersion = getControllerVersion(reg.controller);
124
+ const controllerAuthStack = getControllerAuthStack(reg.controller);
72
125
  const controllerName = reg.controller.constructor.name;
73
126
  const routeDefs = getControllerRoutes(reg.controller);
74
127
  for (const def of routeDefs) {
75
128
  const effectiveVersion = def.version ?? controllerVersion ?? reg.moduleVersion ?? '';
76
129
  const fullPath = joinPath(reg.modulePrefix, effectiveVersion, reg.prefix ?? '', controllerPrefix, def.path);
130
+ const site = `${controllerName}.${def.handlerMethodName}`;
77
131
  const key = `${def.httpMethod} ${fullPath}`;
78
132
  const existing = seen.get(key);
79
133
  if (existing) {
80
- throw new Error(`Duplicate route: ${key} declared in both "${existing}" and "${controllerName}.${def.handlerMethodName}"`);
134
+ throw new Error(`Duplicate route: ${key} declared in both "${existing}" and "${site}"`);
81
135
  }
82
- seen.set(key, `${controllerName}.${def.handlerMethodName}`);
136
+ seen.set(key, site);
137
+ if (def.public && def.authStack !== undefined) {
138
+ stackViolations.push(` "${site}" is a *Public route but declares \`authStack: "${def.authStack}"\` — public routes skip the auth phase, so the stack would never run`);
139
+ }
140
+ const resolvedAuthStack = def.public
141
+ ? undefined
142
+ : (def.authStack ?? controllerAuthStack ?? reg.moduleAuthStack ?? chain.defaultAuthStack);
143
+ // The lookup IS the guard — no `?? []` fallback anywhere near the auth
144
+ // segment, so an unresolvable stack can never degrade to "no auth".
145
+ let authChain = [];
146
+ if (resolvedAuthStack !== undefined) {
147
+ const resolved = chain.authChains.get(resolvedAuthStack);
148
+ if (!resolved) {
149
+ stackViolations.push(` "${site}" resolves to unknown auth stack "${resolvedAuthStack}"`);
150
+ }
151
+ else {
152
+ authChain = resolved;
153
+ }
154
+ }
155
+ // `authChain` is already empty on public routes — `resolvedAuthStack` is
156
+ // undefined there — so this needs no second public check.
83
157
  const registrationMiddlewares = reg.middlewares ?? [];
84
158
  const middlewareChain = [];
85
159
  if (chain.systemMiddleware)
86
160
  middlewareChain.push(chain.systemMiddleware);
87
- middlewareChain.push(...chain.globalMiddlewares);
88
- if (!def.public)
89
- middlewareChain.push(...chain.authChain);
161
+ middlewareChain.push(...chain.globalMiddlewares, ...authChain);
90
162
  middlewareChain.push(...reg.moduleMiddlewares, ...registrationMiddlewares);
91
163
  normalized.push({
92
164
  httpMethod: def.httpMethod,
93
165
  fullPath,
94
166
  public: def.public,
167
+ authStack: resolvedAuthStack,
95
168
  middlewareChain,
96
169
  handler: buildHandler(reg.controller, def),
97
170
  handlerMethodName: def.handlerMethodName,
@@ -100,6 +173,9 @@ function buildRoutes(registrations, chain) {
100
173
  });
101
174
  }
102
175
  }
176
+ if (stackViolations.length > 0) {
177
+ throw new Error(`Router: invalid auth stack selection — declared stacks: ${chain.declared}\n${stackViolations.join('\n')}`);
178
+ }
103
179
  return normalized.sort(compareBySpecificity);
104
180
  }
105
181
  function normalizeRegistration(raw) {
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,9 @@
1
1
  import type { ErrorResolver } from '../error/error-resolver.interface.js';
2
+ import type { RequestDeserializer } from '../request/request-deserializer.interface.js';
2
3
  import type { ResponseSerializer } from '../request/response-serializer.interface.js';
3
4
  export type HttpConventions = {
4
5
  readonly errorResolver?: ErrorResolver;
5
6
  readonly responseSerializer?: ResponseSerializer;
7
+ readonly requestDeserializer?: RequestDeserializer;
6
8
  };
7
9
  //# sourceMappingURL=http-conventions.type.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-conventions.type.d.ts","sourceRoot":"","sources":["../../src/server/http-conventions.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAEtF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;CAClD,CAAC"}
1
+ {"version":3,"file":"http-conventions.type.d.ts","sourceRoot":"","sources":["../../src/server/http-conventions.type.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACxF,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,6CAA6C,CAAC;AAEtF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,CAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IACvC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,kBAAkB,CAAC;IACjD,QAAQ,CAAC,mBAAmB,CAAC,EAAE,mBAAmB,CAAC;CACpD,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quilla-be-kit/http",
3
- "version": "0.6.0",
3
+ "version": "0.8.0",
4
4
  "description": "Framework-agnostic HTTP layer: decorators (@Controller/@Get/@Post/.../@AuthorizeScope/@ValidateRequest), framework-agnostic router, WebServer interface, and a Hono adapter sub-path.",
5
5
  "license": "MIT",
6
6
  "author": "Max Martinez",
@@ -55,9 +55,9 @@
55
55
  "provenance": true
56
56
  },
57
57
  "dependencies": {
58
- "@quilla-be-kit/errors": "^0.2.1",
59
58
  "@quilla-be-kit/execution-context": "^0.2.2",
60
59
  "@quilla-be-kit/observability": "^0.2.2",
60
+ "@quilla-be-kit/errors": "^0.2.1",
61
61
  "@quilla-be-kit/runtime": "^0.2.2"
62
62
  },
63
63
  "peerDependencies": {