@quilla-be-kit/http 0.7.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 (35) hide show
  1. package/README.md +115 -17
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/decorator/authorize-scope.decorator.js +2 -2
  4. package/dist/decorator/authorize-scope.decorator.js.map +1 -1
  5. package/dist/decorator/controller.decorator.d.ts +1 -0
  6. package/dist/decorator/controller.decorator.d.ts.map +1 -1
  7. package/dist/decorator/controller.decorator.js +2 -1
  8. package/dist/decorator/controller.decorator.js.map +1 -1
  9. package/dist/decorator/method.decorators.d.ts +1 -0
  10. package/dist/decorator/method.decorators.d.ts.map +1 -1
  11. package/dist/decorator/method.decorators.js +1 -0
  12. package/dist/decorator/method.decorators.js.map +1 -1
  13. package/dist/decorator/route.metadata.d.ts +10 -1
  14. package/dist/decorator/route.metadata.d.ts.map +1 -1
  15. package/dist/decorator/route.metadata.js +68 -31
  16. package/dist/decorator/route.metadata.js.map +1 -1
  17. package/dist/decorator/validate-request.decorator.js +2 -2
  18. package/dist/decorator/validate-request.decorator.js.map +1 -1
  19. package/dist/request/http-attributes.d.ts +6 -0
  20. package/dist/request/http-attributes.d.ts.map +1 -1
  21. package/dist/request/http-attributes.js +6 -0
  22. package/dist/request/http-attributes.js.map +1 -1
  23. package/dist/router/auth-middleware-stack.type.d.ts +21 -5
  24. package/dist/router/auth-middleware-stack.type.d.ts.map +1 -1
  25. package/dist/router/http-module-meta.type.d.ts +5 -0
  26. package/dist/router/http-module-meta.type.d.ts.map +1 -1
  27. package/dist/router/normalized-route.type.d.ts +6 -1
  28. package/dist/router/normalized-route.type.d.ts.map +1 -1
  29. package/dist/router/router-options.type.d.ts +28 -8
  30. package/dist/router/router-options.type.d.ts.map +1 -1
  31. package/dist/router/router.d.ts +2 -2
  32. package/dist/router/router.d.ts.map +1 -1
  33. package/dist/router/router.js +92 -16
  34. package/dist/router/router.js.map +1 -1
  35. package/package.json +4 -4
@@ -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":"AACA,OAAO,EAEL,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,GACrB,MAAM,gCAAgC,CAAC;AAexC,MAAM,OAAO,MAAM;IACA,MAAM,CAA6B;IACnC,wBAAwB,CAAuC;IAEhF,YAAY,OAAsB;QAChC,IAAI,OAAO,CAAC,eAAe,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CACb,4KAA4K,CAC7K,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,wBAAwB,GAAG,OAAO,CAAC,gBAAgB,EAAE,QAAQ,CAAC;QAEnE,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB;YAC/C,CAAC,CAAC,+BAA+B,CAAC,OAAO,CAAC,gBAAgB,CAAC;YAC3D,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,IAAI,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAG,gBAAgB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAE5D,MAAM,aAAa,GAAmB,EAAE,CAAC;QACzC,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;YAC5C,aAAa,CAAC,IAAI,CAAC;gBACjB,GAAG,qBAAqB,CAAC,GAAG,CAAC;gBAC7B,YAAY,EAAE,EAAE;gBAChB,aAAa,EAAE,SAAS;gBACxB,iBAAiB,EAAE,EAAE;aACtB,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YACtB,IAAI,CAAC,IAAI,EAAE,WAAW;gBAAE,SAAS;YACjC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;gBACnC,aAAa,CAAC,IAAI,CAAC;oBACjB,GAAG,qBAAqB,CAAC,GAAG,CAAC;oBAC7B,YAAY,EAAE,IAAI,CAAC,MAAM,IAAI,EAAE;oBAC/B,aAAa,EAAE,IAAI,CAAC,OAAO;oBAC3B,iBAAiB,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;iBAC1C,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,aAAa,EAAE;YACvC,gBAAgB;YAChB,iBAAiB;YACjB,SAAS;SACV,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,2BAA2B;QACzB,OAAO,IAAI,CAAC,wBAAwB,CAAC;IACvC,CAAC;CACF;AAED,SAAS,+BAA+B,CAAC,OAAsC;IAC7E,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,IAAI,kBAAkB,CAAC;IACjE,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC;IAC7B,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE;QAC7B,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAChD,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAAC,qBAAqB,CAChD,aAAa,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,CAAC,CAAC,SAAS,CACvD,CAAC;QACF,MAAM,QAAQ,CAAC,cAAc,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC3C,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAsC;IAC9D,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,CAAC;IACtB,OAAO,KAAK,CAAC,WAAW;QACtB,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,WAAW,CAAC;QAC9C,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAChC,CAAC;AAQD,SAAS,WAAW,CAClB,aAAsC,EACtC,KAAmB;IAEnB,MAAM,UAAU,GAAsB,EAAE,CAAC;IACzC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAkB,CAAC;IAEvC,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;QAChC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7D,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/D,MAAM,cAAc,GAAG,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC;QACvD,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAEtD,KAAK,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC;YAC5B,MAAM,gBAAgB,GAAG,GAAG,CAAC,OAAO,IAAI,iBAAiB,IAAI,GAAG,CAAC,aAAa,IAAI,EAAE,CAAC;YACrF,MAAM,QAAQ,GAAG,QAAQ,CACvB,GAAG,CAAC,YAAY,EAChB,gBAAgB,EAChB,GAAG,CAAC,MAAM,IAAI,EAAE,EAChB,gBAAgB,EAChB,GAAG,CAAC,IAAI,CACT,CAAC;YACF,MAAM,GAAG,GAAG,GAAG,GAAG,CAAC,UAAU,IAAI,QAAQ,EAAE,CAAC;YAC5C,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YAC/B,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CACb,oBAAoB,GAAG,sBAAsB,QAAQ,UAAU,cAAc,IAAI,GAAG,CAAC,iBAAiB,GAAG,CAC1G,CAAC;YACJ,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,cAAc,IAAI,GAAG,CAAC,iBAAiB,EAAE,CAAC,CAAC;YAE5D,MAAM,uBAAuB,GAAG,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC;YACtD,MAAM,eAAe,GAAqB,EAAE,CAAC;YAC7C,IAAI,KAAK,CAAC,gBAAgB;gBAAE,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACzE,eAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,iBAAiB,CAAC,CAAC;YACjD,IAAI,CAAC,GAAG,CAAC,MAAM;gBAAE,eAAe,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;YAC1D,eAAe,CAAC,IAAI,CAAC,GAAG,GAAG,CAAC,iBAAiB,EAAE,GAAG,uBAAuB,CAAC,CAAC;YAE3E,UAAU,CAAC,IAAI,CAAC;gBACd,UAAU,EAAE,GAAG,CAAC,UAAU;gBAC1B,QAAQ;gBACR,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,eAAe;gBACf,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,UAAU,EAAE,GAAG,CAAC;gBAC1C,iBAAiB,EAAE,GAAG,CAAC,iBAAiB;gBACxC,cAAc;gBACd,WAAW,EAAE,kBAAkB,CAAC,QAAQ,CAAC;aAC1C,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,qBAAqB,CAAC,GAAoC;IACjE,IAAI,YAAY,IAAI,GAAG,IAAI,OAAQ,GAA8B,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC1F,OAAO,GAA6B,CAAC;IACvC,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,QAAQ,CAAC,GAAG,QAA2B;IAC9C,MAAM,QAAQ,GAAG,QAAQ;SACtB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SAC7C,IAAI,CAAC,EAAE,CAAC;SACR,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvB,OAAO,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;AAChD,CAAC;AAED,SAAS,YAAY,CACnB,UAAkB,EAClB,GAAoB;IAEpB,MAAM,UAAU,GAAG,GAAG,CAAC,iBAAiB,CAAC;IACzC,MAAM,SAAS,GAAI,UAAsC,CAAC,UAAU,CAAC,CAAC;IACtE,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,eAAe,UAAU,CAAC,WAAW,CAAC,IAAI,oBAAoB,UAAU,GAAG,CAAC,CAAC;IAC/F,CAAC;IACD,OAAO,CAAC,OAAO,EAAE,EAAE,CAChB,SAAyD,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AACzF,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY;IACtC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACjD,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;QAC3B,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;aAC/B,IAAI,GAAG,KAAK,GAAG;YAAE,KAAK,IAAI,CAAC,CAAC;;YAC5B,KAAK,IAAI,CAAC,CAAC;IAClB,CAAC;IACD,OAAO,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC;AACjC,CAAC;AAED,SAAS,oBAAoB,CAAC,CAAkB,EAAE,CAAkB;IAClE,IAAI,CAAC,CAAC,WAAW,KAAK,CAAC,CAAC,WAAW;QAAE,OAAO,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,WAAW,CAAC;IAC1E,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/router/router.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@quilla-be-kit/http",
3
- "version": "0.7.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,10 +55,10 @@
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
- "@quilla-be-kit/runtime": "^0.2.2",
61
- "@quilla-be-kit/observability": "^0.2.2"
59
+ "@quilla-be-kit/observability": "^0.2.2",
60
+ "@quilla-be-kit/errors": "^0.2.1",
61
+ "@quilla-be-kit/runtime": "^0.2.2"
62
62
  },
63
63
  "peerDependencies": {
64
64
  "hono": "4.x.x",