exisjs 0.5.1 → 0.5.2

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 (79) hide show
  1. package/dist/adapters/aws-lambda.d.ts.map +1 -1
  2. package/dist/adapters/aws-lambda.js +10 -3
  3. package/dist/adapters/aws-lambda.js.map +1 -1
  4. package/dist/cache/store.d.ts +2 -0
  5. package/dist/cache/store.d.ts.map +1 -1
  6. package/dist/cache/store.js +20 -1
  7. package/dist/cache/store.js.map +1 -1
  8. package/dist/cli/commands/build.d.ts.map +1 -1
  9. package/dist/cli/commands/build.js +48 -12
  10. package/dist/cli/commands/build.js.map +1 -1
  11. package/dist/cli/commands/dev.d.ts.map +1 -1
  12. package/dist/cli/commands/dev.js +45 -2
  13. package/dist/cli/commands/dev.js.map +1 -1
  14. package/dist/cli/commands/exports.d.ts.map +1 -1
  15. package/dist/cli/commands/exports.js +0 -1
  16. package/dist/cli/commands/exports.js.map +1 -1
  17. package/dist/cli/commands/start.d.ts +1 -0
  18. package/dist/cli/commands/start.d.ts.map +1 -1
  19. package/dist/cli/commands/start.js +3 -0
  20. package/dist/cli/commands/start.js.map +1 -1
  21. package/dist/cli/index.js +2 -1
  22. package/dist/cli/index.js.map +1 -1
  23. package/dist/cli/resolve-aliases.js +3 -4
  24. package/dist/cli/resolve-aliases.js.map +1 -1
  25. package/dist/lib/start-server.js +25 -0
  26. package/dist/lib/start-server.js.map +1 -1
  27. package/dist/middleware/cache.d.ts +4 -3
  28. package/dist/middleware/cache.d.ts.map +1 -1
  29. package/dist/middleware/cache.js +2 -4
  30. package/dist/middleware/cache.js.map +1 -1
  31. package/dist/middleware/idempotency.d.ts +7 -4
  32. package/dist/middleware/idempotency.d.ts.map +1 -1
  33. package/dist/middleware/idempotency.js +9 -7
  34. package/dist/middleware/idempotency.js.map +1 -1
  35. package/dist/middleware/ip-filter.d.ts +6 -4
  36. package/dist/middleware/ip-filter.d.ts.map +1 -1
  37. package/dist/middleware/ip-filter.js +65 -10
  38. package/dist/middleware/ip-filter.js.map +1 -1
  39. package/dist/middleware/middleware.d.ts +4 -1
  40. package/dist/middleware/middleware.d.ts.map +1 -1
  41. package/dist/middleware/middleware.js +3 -2
  42. package/dist/middleware/middleware.js.map +1 -1
  43. package/dist/middleware/rate-limit.d.ts.map +1 -1
  44. package/dist/middleware/rate-limit.js +6 -1
  45. package/dist/middleware/rate-limit.js.map +1 -1
  46. package/dist/middleware/security.d.ts +5 -5
  47. package/dist/middleware/security.d.ts.map +1 -1
  48. package/dist/middleware/security.js +66 -49
  49. package/dist/middleware/security.js.map +1 -1
  50. package/dist/server/bootstrapper.d.ts.map +1 -1
  51. package/dist/server/bootstrapper.js +0 -30
  52. package/dist/server/bootstrapper.js.map +1 -1
  53. package/dist/server/cluster.d.ts.map +1 -1
  54. package/dist/server/cluster.js +16 -1
  55. package/dist/server/cluster.js.map +1 -1
  56. package/dist/server/uws-adapter.d.ts.map +1 -1
  57. package/dist/server/uws-adapter.js +18 -7
  58. package/dist/server/uws-adapter.js.map +1 -1
  59. package/dist/utils/errors.d.ts +9 -0
  60. package/dist/utils/errors.d.ts.map +1 -1
  61. package/dist/utils/errors.js +20 -1
  62. package/dist/utils/errors.js.map +1 -1
  63. package/package.json +1 -5
  64. package/dist/cli/optimizers/aot-routes.d.ts +0 -2
  65. package/dist/cli/optimizers/aot-routes.d.ts.map +0 -1
  66. package/dist/cli/optimizers/aot-routes.js +0 -59
  67. package/dist/cli/optimizers/aot-routes.js.map +0 -1
  68. package/dist/cli/optimizers/precompile-serializers.d.ts +0 -2
  69. package/dist/cli/optimizers/precompile-serializers.d.ts.map +0 -1
  70. package/dist/cli/optimizers/precompile-serializers.js +0 -68
  71. package/dist/cli/optimizers/precompile-serializers.js.map +0 -1
  72. package/dist/cli/optimizers/tree-shake.d.ts +0 -2
  73. package/dist/cli/optimizers/tree-shake.d.ts.map +0 -1
  74. package/dist/cli/optimizers/tree-shake.js +0 -64
  75. package/dist/cli/optimizers/tree-shake.js.map +0 -1
  76. package/dist/exports/security.d.ts +0 -4
  77. package/dist/exports/security.d.ts.map +0 -1
  78. package/dist/exports/security.js +0 -14
  79. package/dist/exports/security.js.map +0 -1
@@ -114,6 +114,31 @@ async function start() {
114
114
  await app.onStartHook(app);
115
115
  }
116
116
  await app.listen();
117
+ // ─── Graceful Shutdown ───────────────────────────────────────────────────
118
+ // On SIGTERM (Kubernetes, Docker stop) or SIGINT (Ctrl+C), close the
119
+ // server cleanly rather than hard-killing it — this allows in-flight
120
+ // requests to complete and prevents data loss.
121
+ const shutdown = async (signal) => {
122
+ const isCLI = process.env.__EXIS_DEV_SERVER || process.env.__EXIS_CLI;
123
+ if (!isCLI) {
124
+ console.error(`\n[exis] ${signal} received. Shutting down gracefully...`);
125
+ }
126
+ try {
127
+ if (typeof app.close === 'function') {
128
+ await app.close();
129
+ }
130
+ if (!isCLI)
131
+ console.error('[exis] Server closed cleanly.');
132
+ process.exit(0);
133
+ }
134
+ catch (err) {
135
+ if (!isCLI)
136
+ console.error('[exis] Error during shutdown:', err);
137
+ process.exit(1);
138
+ }
139
+ };
140
+ process.once('SIGTERM', () => shutdown('SIGTERM'));
141
+ process.once('SIGINT', () => shutdown('SIGINT'));
117
142
  }
118
143
  }
119
144
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"start-server.js","sourceRoot":"","sources":["../../src/lib/start-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start-server.js","sourceRoot":"","sources":["../../src/lib/start-server.ts"],"names":[],"mappings":"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"}
@@ -5,10 +5,11 @@ export interface CacheOptions {
5
5
  ttlMs?: number;
6
6
  tags?: string[] | ((req: Request) => string[]);
7
7
  /**
8
- * Function to generate a unique key for the request.
9
- * MUST be provided to prevent cross-user data leaks.
8
+ * Function to generate a unique key per request.
9
+ * Defaults to `req.method + req.path`.
10
+ * Override this for user-scoped caching (e.g. `(req) => req.user.id + req.path`).
10
11
  */
11
- keyGenerator: (req: Request) => string;
12
+ keyGenerator?: (req: Request) => string;
12
13
  }
13
14
  export declare function cacheMiddleware(options: CacheOptions): Handler;
14
15
  //# sourceMappingURL=cache.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/middleware/cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAA0B,MAAM,UAAU,CAAA;AACxE,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE/D,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,EAAE,CAAC,CAAA;IAC9C;;;OAGG;IACH,YAAY,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAA;CACvC;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAsH9D"}
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/middleware/cache.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAA0B,MAAM,UAAU,CAAA;AACxE,OAAO,EAAiB,KAAK,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAE/D,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,EAAE,CAAC,CAAA;IAC9C;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAA;CACxC;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAmH9D"}
@@ -3,11 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.cacheMiddleware = cacheMiddleware;
4
4
  const store_1 = require("../cache/store");
5
5
  function cacheMiddleware(options) {
6
- if (!options || typeof options.keyGenerator !== 'function') {
7
- throw new Error('cacheMiddleware: keyGenerator option is required to prevent cross-user data leaks.');
8
- }
9
6
  const ttlMs = options.ttlMs;
10
- const keyGenerator = options.keyGenerator;
7
+ // Default to method + url (which includes query) — safe for public, non-user-specific endpoints
8
+ const keyGenerator = options.keyGenerator ?? ((req) => `${req.method}:${req.url}`);
11
9
  return async (req, res, next) => {
12
10
  if (req.method !== 'GET') {
13
11
  return next();
@@ -1 +1 @@
1
- {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/middleware/cache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src/middleware/cache.ts"],"names":[],"mappings":"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"}
@@ -9,22 +9,25 @@ export interface IdempotencyStore {
9
9
  statusCode: number;
10
10
  headers: Record<string, string>;
11
11
  body: any;
12
- }, ttl?: number): Promise<void>;
12
+ }, ttlMs?: number): Promise<void>;
13
13
  }
14
14
  export declare class MemoryIdempotencyStore implements IdempotencyStore {
15
15
  private cache;
16
16
  get(key: string): Promise<any>;
17
- set(key: string, data: any, ttl?: number): Promise<void>;
17
+ set(key: string, data: any, ttlMs?: number): Promise<void>;
18
18
  }
19
19
  export interface IdempotentOptions {
20
20
  store?: IdempotencyStore;
21
21
  headerName?: string;
22
- ttl?: number;
22
+ /** Time-to-live in milliseconds for cached idempotent responses. Default: 86400000 (24h) */
23
+ ttlMs?: number;
23
24
  }
24
25
  /**
25
26
  * Idempotency Middleware.
26
27
  * Caches responses based on the provided Idempotency-Key header.
27
28
  * Ideal for preventing duplicate checkout charges or identical mutations.
28
29
  */
29
- export declare function Idempotent(options?: IdempotentOptions): Handler;
30
+ export declare function idempotent(options?: IdempotentOptions): Handler;
31
+ /** @deprecated Use `idempotent` (camelCase) instead */
32
+ export declare const Idempotent: typeof idempotent;
30
33
  //# sourceMappingURL=idempotency.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"idempotency.d.ts","sourceRoot":"","sources":["../../src/middleware/idempotency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAIvC,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CACD,GAAG,EAAE,MAAM,GACV,OAAO,CAAC;QACT,UAAU,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/B,IAAI,EAAE,GAAG,CAAA;KACV,GAAG,IAAI,CAAC,CAAA;IACT,GAAG,CACD,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,EACxE,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC,IAAI,CAAC,CAAA;CACjB;AAED,qBAAa,sBAAuB,YAAW,gBAAgB;IAC7D,OAAO,CAAC,KAAK,CAAmD;IAE1D,GAAG,CAAC,GAAG,EAAE,MAAM;IAUf,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,SAAW;CAGjD;AAID,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,GAAG,CAAC,EAAE,MAAM,CAAA;CACb;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAwEnE"}
1
+ {"version":3,"file":"idempotency.d.ts","sourceRoot":"","sources":["../../src/middleware/idempotency.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAIvC,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QACxB,UAAU,EAAE,MAAM,CAAA;QAClB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QAC/B,IAAI,EAAE,GAAG,CAAA;KACV,GAAG,IAAI,CAAC,CAAA;IACT,GAAG,CACD,GAAG,EAAE,MAAM,EACX,IAAI,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,IAAI,EAAE,GAAG,CAAA;KAAE,EACxE,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,IAAI,CAAC,CAAA;CACjB;AAED,qBAAa,sBAAuB,YAAW,gBAAgB;IAC7D,OAAO,CAAC,KAAK,CAAmD;IAE1D,GAAG,CAAC,GAAG,EAAE,MAAM;IAUf,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,SAAW;CAGnD;AAID,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,gBAAgB,CAAA;IACxB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,4FAA4F;IAC5F,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAwEnE;AAED,uDAAuD;AACvD,eAAO,MAAM,UAAU,mBAAa,CAAA"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MemoryIdempotencyStore = void 0;
4
- exports.Idempotent = Idempotent;
3
+ exports.Idempotent = exports.MemoryIdempotencyStore = void 0;
4
+ exports.idempotent = idempotent;
5
5
  class MemoryIdempotencyStore {
6
6
  constructor() {
7
7
  this.cache = new Map();
@@ -16,8 +16,8 @@ class MemoryIdempotencyStore {
16
16
  }
17
17
  return item.data;
18
18
  }
19
- async set(key, data, ttl = 86400000) {
20
- this.cache.set(key, { data, expiry: Date.now() + ttl });
19
+ async set(key, data, ttlMs = 86400000) {
20
+ this.cache.set(key, { data, expiry: Date.now() + ttlMs });
21
21
  }
22
22
  }
23
23
  exports.MemoryIdempotencyStore = MemoryIdempotencyStore;
@@ -27,10 +27,10 @@ const defaultStore = new MemoryIdempotencyStore();
27
27
  * Caches responses based on the provided Idempotency-Key header.
28
28
  * Ideal for preventing duplicate checkout charges or identical mutations.
29
29
  */
30
- function Idempotent(options = {}) {
30
+ function idempotent(options = {}) {
31
31
  const store = options.store || defaultStore;
32
32
  const headerName = (options.headerName || 'Idempotency-Key').toLowerCase();
33
- const ttl = options.ttl || 86400000; // 24 hours
33
+ const ttlMs = options.ttlMs ?? 86400000; // 24 hours
34
34
  return async (req, res, next) => {
35
35
  const key = req.header(headerName);
36
36
  // If no key is provided, just continue normally
@@ -59,7 +59,7 @@ function Idempotent(options = {}) {
59
59
  statusCode: res.statusCode || 200,
60
60
  headers: { 'content-type': 'application/json; charset=utf-8' },
61
61
  body: interceptedBody,
62
- }, ttl)
62
+ }, ttlMs)
63
63
  .catch(console.error);
64
64
  }
65
65
  }
@@ -81,4 +81,6 @@ function Idempotent(options = {}) {
81
81
  next();
82
82
  };
83
83
  }
84
+ /** @deprecated Use `idempotent` (camelCase) instead */
85
+ exports.Idempotent = idempotent;
84
86
  //# sourceMappingURL=idempotency.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../../src/middleware/idempotency.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"idempotency.js","sourceRoot":"","sources":["../../src/middleware/idempotency.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,13 @@
1
1
  import type { Handler } from '../types';
2
2
  export interface IpFilterOptions {
3
- /** List of exact IP addresses to allow. If provided, only these IPs are allowed. */
4
- allowlist?: string[];
5
- /** List of exact IP addresses to block. Evaluated after allowlist. */
6
- denylist?: string[];
3
+ /** List of IPs or CIDR blocks to allow. If provided, only these are allowed. */
4
+ allow?: string[];
5
+ /** List of IPs or CIDR blocks to block. Evaluated after allow. */
6
+ deny?: string[];
7
7
  /** Custom error message when blocked */
8
8
  message?: string;
9
+ /** If true, trust X-Forwarded-For header (for apps behind a proxy). Default: true */
10
+ trustProxy?: boolean;
9
11
  }
10
12
  export declare function ipFilterMiddleware(options?: IpFilterOptions): Handler;
11
13
  //# sourceMappingURL=ip-filter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ip-filter.d.ts","sourceRoot":"","sources":["../../src/middleware/ip-filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAmC,MAAM,UAAU,CAAA;AAGxE,MAAM,WAAW,eAAe;IAC9B,oFAAoF;IACpF,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAyBzE"}
1
+ {"version":3,"file":"ip-filter.d.ts","sourceRoot":"","sources":["../../src/middleware/ip-filter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAmC,MAAM,UAAU,CAAA;AAGxE,MAAM,WAAW,eAAe;IAC9B,gFAAgF;IAChF,KAAK,CAAC,EAAE,MAAM,EAAE,CAAA;IAChB,kEAAkE;IAClE,IAAI,CAAC,EAAE,MAAM,EAAE,CAAA;IACf,wCAAwC;IACxC,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,qFAAqF;IACrF,UAAU,CAAC,EAAE,OAAO,CAAA;CACrB;AAuDD,wBAAgB,kBAAkB,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAyBzE"}
@@ -2,22 +2,77 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ipFilterMiddleware = ipFilterMiddleware;
4
4
  const errors_1 = require("../utils/errors");
5
+ /** Parse a CIDR block into network address and mask */
6
+ function parseCidr(cidr) {
7
+ const [ip, prefix] = cidr.split('/');
8
+ if (!prefix)
9
+ return null;
10
+ const bits = parseInt(prefix, 10);
11
+ if (isNaN(bits) || bits < 0 || bits > 32)
12
+ return null;
13
+ const network = ipToInt(ip);
14
+ if (network === null)
15
+ return null;
16
+ const mask = bits === 0 ? 0 : (~0 << (32 - bits)) >>> 0;
17
+ return { network: (network & mask) >>> 0, mask };
18
+ }
19
+ /** Convert dotted-decimal IP to 32-bit integer */
20
+ function ipToInt(ip) {
21
+ const parts = ip.split('.');
22
+ if (parts.length !== 4)
23
+ return null;
24
+ let val = 0;
25
+ for (const part of parts) {
26
+ const n = parseInt(part, 10);
27
+ if (isNaN(n) || n < 0 || n > 255)
28
+ return null;
29
+ val = (val << 8) | n;
30
+ }
31
+ return val >>> 0;
32
+ }
33
+ /** Check if an IP matches a rule (exact string or CIDR) */
34
+ function ipMatchesRule(ip, rule) {
35
+ if (rule.includes('/')) {
36
+ const cidr = parseCidr(rule);
37
+ if (!cidr)
38
+ return false;
39
+ const ipInt = ipToInt(ip);
40
+ if (ipInt === null)
41
+ return false;
42
+ return (ipInt & cidr.mask) >>> 0 === cidr.network;
43
+ }
44
+ return ip === rule;
45
+ }
46
+ function ipMatchesAny(ip, rules) {
47
+ return rules.some((rule) => ipMatchesRule(ip, rule));
48
+ }
49
+ /** Resolve the real client IP, respecting X-Forwarded-For when behind a proxy */
50
+ function resolveIp(req, trustProxy) {
51
+ if (trustProxy) {
52
+ const forwarded = req.get('x-forwarded-for');
53
+ if (forwarded) {
54
+ // X-Forwarded-For: client, proxy1, proxy2 — take the leftmost (true client)
55
+ return forwarded.split(',')[0].trim();
56
+ }
57
+ }
58
+ return req.ip || '127.0.0.1';
59
+ }
5
60
  function ipFilterMiddleware(options = {}) {
6
- const allowSet = options.allowlist ? new Set(options.allowlist) : null;
7
- const denySet = options.denylist ? new Set(options.denylist) : null;
61
+ const allowRules = options.allow ?? null;
62
+ const denyRules = options.deny ?? null;
8
63
  const message = options.message ?? 'Access Denied';
64
+ const trustProxy = options.trustProxy !== false; // default true
9
65
  return (req, res, next) => {
10
- // Get client IP, falling back to localhost if unknown
11
- const ip = req.ip || '127.0.0.1';
12
- // If allowlist is defined, IP MUST be in the allowlist
13
- if (allowSet !== null) {
14
- if (!allowSet.has(ip)) {
66
+ const ip = resolveIp(req, trustProxy);
67
+ // If allowlist is defined, IP MUST match at least one rule
68
+ if (allowRules !== null) {
69
+ if (!ipMatchesAny(ip, allowRules)) {
15
70
  return next(errors_1.HttpError.forbidden(message));
16
71
  }
17
72
  }
18
- // If denylist is defined, IP MUST NOT be in the denylist
19
- if (denySet !== null) {
20
- if (denySet.has(ip)) {
73
+ // If denylist is defined, IP MUST NOT match any rule
74
+ if (denyRules !== null) {
75
+ if (ipMatchesAny(ip, denyRules)) {
21
76
  return next(errors_1.HttpError.forbidden(message));
22
77
  }
23
78
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ip-filter.js","sourceRoot":"","sources":["../../src/middleware/ip-filter.ts"],"names":[],"mappings":";;AAYA,gDAyBC;AApCD,4CAA2C;AAW3C,SAAgB,kBAAkB,CAAC,UAA2B,EAAE;IAC9D,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACtE,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IACnE,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,eAAe,CAAA;IAElD,OAAO,CAAC,GAAY,EAAE,GAAa,EAAE,IAAkB,EAAE,EAAE;QACzD,sDAAsD;QACtD,MAAM,EAAE,GAAG,GAAG,CAAC,EAAE,IAAI,WAAW,CAAA;QAEhC,uDAAuD;QACvD,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;YACtB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACtB,OAAO,IAAI,CAAC,kBAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;QAED,yDAAyD;QACzD,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,IAAI,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC,kBAAS,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;QAED,IAAI,EAAE,CAAA;IACR,CAAC,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"ip-filter.js","sourceRoot":"","sources":["../../src/middleware/ip-filter.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,10 @@ export declare function requestId(): Handler;
5
5
  export declare function requestLogger(loggerOrConfig?: Logger | LoggerConfig): Handler;
6
6
  export declare const notFound: Handler;
7
7
  export { compression as compress } from './compression';
8
- export { helmet, csrf, timeout, hpp, xss, mongoSanitize, dbSanitize, } from './security';
8
+ export { helmet, csrf, timeout, hpp, mongoSanitize, dbSanitize, } from './security';
9
+ export type { CsrfOptions, TimeoutOptions, DbSanitizeOptions, HelmetOptions, } from './security';
10
+ export { rateLimit } from './rate-limit';
11
+ export type { RateLimitOptions } from './rate-limit';
9
12
  export { cacheMiddleware as cache } from './cache';
10
13
  export { dedupeMiddleware as dedupe } from './dedupe';
11
14
  export { backpressureMiddleware as backpressure } from './backpressure';
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/middleware/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACzE,OAAO,EAAE,eAAe,EAAkB,MAAM,oBAAoB,CAAA;AAKpE,wBAAgB,IAAI,CAAC,MAAM,GAAE,UAAe,GAAG,OAAO,CAwFrD;AAMD,wBAAgB,SAAS,IAAI,OAAO,CAenC;AAID,wBAAgB,aAAa,CAC3B,cAAc,GAAE,MAAM,GAAG,YAAiB,GACzC,OAAO,CAoCT;AAID,eAAO,MAAM,QAAQ,EAAE,OAQtB,CAAA;AAID,OAAO,EAAE,WAAW,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EACL,MAAM,EACN,IAAI,EACJ,OAAO,EACP,GAAG,EACH,GAAG,EACH,aAAa,EACb,UAAU,GACX,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,eAAe,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,gBAAgB,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,sBAAsB,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAE,kBAAkB,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AAEtB,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,CA0ET;AAID,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAA;IAE3B,KAAK,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAA;IAE5B,MAAM,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAA;CAC9B;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CA8BxD;AAID,wBAAgB,cAAc,IAAI,OAAO,CAKxC;AAED,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../src/middleware/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AACzE,OAAO,EAAE,eAAe,EAAkB,MAAM,oBAAoB,CAAA;AAKpE,wBAAgB,IAAI,CAAC,MAAM,GAAE,UAAe,GAAG,OAAO,CAwFrD;AAMD,wBAAgB,SAAS,IAAI,OAAO,CAenC;AAID,wBAAgB,aAAa,CAC3B,cAAc,GAAE,MAAM,GAAG,YAAiB,GACzC,OAAO,CAoCT;AAID,eAAO,MAAM,QAAQ,EAAE,OAQtB,CAAA;AAID,OAAO,EAAE,WAAW,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAA;AACvD,OAAO,EACL,MAAM,EACN,IAAI,EACJ,OAAO,EACP,GAAG,EACH,aAAa,EACb,UAAU,GACX,MAAM,YAAY,CAAA;AACnB,YAAY,EACV,WAAW,EACX,cAAc,EACd,iBAAiB,EACjB,aAAa,GACd,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AACpD,OAAO,EAAE,eAAe,IAAI,KAAK,EAAE,MAAM,SAAS,CAAA;AAClD,OAAO,EAAE,gBAAgB,IAAI,MAAM,EAAE,MAAM,UAAU,CAAA;AACrD,OAAO,EAAE,sBAAsB,IAAI,YAAY,EAAE,MAAM,gBAAgB,CAAA;AACvE,OAAO,EAAE,kBAAkB,IAAI,QAAQ,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAC/C,cAAc,SAAS,CAAA;AACvB,cAAc,QAAQ,CAAA;AAEtB,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAO,GAChC,OAAO,CA0ET;AAID,MAAM,WAAW,cAAc;IAC7B,IAAI,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAA;IAE3B,KAAK,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAA;IAE5B,MAAM,CAAC,EAAE,eAAe,CAAC,GAAG,CAAC,CAAA;CAC9B;AAED,wBAAgB,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CA8BxD;AAID,wBAAgB,cAAc,IAAI,OAAO,CAKxC;AAED,cAAc,eAAe,CAAA"}
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.catchError = exports.intercept = exports.ipFilter = exports.backpressure = exports.dedupe = exports.cache = exports.dbSanitize = exports.mongoSanitize = exports.xss = exports.hpp = exports.timeout = exports.csrf = exports.helmet = exports.compress = exports.notFound = void 0;
17
+ exports.catchError = exports.intercept = exports.ipFilter = exports.backpressure = exports.dedupe = exports.cache = exports.rateLimit = exports.dbSanitize = exports.mongoSanitize = exports.hpp = exports.timeout = exports.csrf = exports.helmet = exports.compress = exports.notFound = void 0;
18
18
  exports.cors = cors;
19
19
  exports.requestId = requestId;
20
20
  exports.requestLogger = requestLogger;
@@ -165,9 +165,10 @@ Object.defineProperty(exports, "helmet", { enumerable: true, get: function () {
165
165
  Object.defineProperty(exports, "csrf", { enumerable: true, get: function () { return security_1.csrf; } });
166
166
  Object.defineProperty(exports, "timeout", { enumerable: true, get: function () { return security_1.timeout; } });
167
167
  Object.defineProperty(exports, "hpp", { enumerable: true, get: function () { return security_1.hpp; } });
168
- Object.defineProperty(exports, "xss", { enumerable: true, get: function () { return security_1.xss; } });
169
168
  Object.defineProperty(exports, "mongoSanitize", { enumerable: true, get: function () { return security_1.mongoSanitize; } });
170
169
  Object.defineProperty(exports, "dbSanitize", { enumerable: true, get: function () { return security_1.dbSanitize; } });
170
+ var rate_limit_1 = require("./rate-limit");
171
+ Object.defineProperty(exports, "rateLimit", { enumerable: true, get: function () { return rate_limit_1.rateLimit; } });
171
172
  var cache_1 = require("./cache");
172
173
  Object.defineProperty(exports, "cache", { enumerable: true, get: function () { return cache_1.cacheMiddleware; } });
173
174
  var dedupe_1 = require("./dedupe");
@@ -1 +1 @@
1
- {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware/middleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../src/middleware/middleware.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../src/middleware/rate-limit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAA0B,OAAO,EAAE,MAAM,UAAU,CAAA;AAGxE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAA;IACvC,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAmEjE"}
1
+ {"version":3,"file":"rate-limit.d.ts","sourceRoot":"","sources":["../../src/middleware/rate-limit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAA0B,OAAO,EAAE,MAAM,UAAU,CAAA;AAGxE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,MAAM,CAAA;IACvC,KAAK,CAAC,EAAE,GAAG,CAAA;IACX,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,SAAS,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAwEjE"}
@@ -9,7 +9,12 @@ function rateLimit(options = {}) {
9
9
  const statusCode = options.statusCode || 429;
10
10
  const prefix = options.prefix || 'rl:';
11
11
  const keyGenerator = options.keyGenerator ||
12
- ((req) => req.ip || req.get('x-forwarded-for') || 'unknown');
12
+ ((req) => {
13
+ // By default, use req.ip which represents the remote socket address.
14
+ // Do not blindly trust x-forwarded-for headers as they can be spoofed by clients to bypass rate limits.
15
+ // If the app is behind a reverse proxy, the user should configure the proxy settings on the app instance.
16
+ return req.ip || 'unknown';
17
+ });
13
18
  const hits = new Map();
14
19
  // Sweep memory cache periodically
15
20
  const sweepInterval = setInterval(() => {
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../src/middleware/rate-limit.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rate-limit.js","sourceRoot":"","sources":["../../src/middleware/rate-limit.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export interface HelmetOptions {
17
17
  */
18
18
  export declare function helmet(options?: HelmetOptions): Handler;
19
19
  export interface CsrfOptions {
20
+ secret: string;
20
21
  cookieName?: string;
21
22
  headerName?: string;
22
23
  cookieOptions?: {
@@ -28,11 +29,11 @@ export interface CsrfOptions {
28
29
  };
29
30
  }
30
31
  /**
31
- * CSRF middleware using Double Submit Cookie pattern.
32
- * Generates a random token on GET requests and sets it as a cookie.
33
- * Requires the client to send the same token in a header on state-changing requests.
32
+ * CSRF middleware using Signed Double Submit Cookie pattern.
33
+ * Generates a random token on GET requests and sets it as a signed cookie.
34
+ * Requires the client to send the same unsigned token in a header on state-changing requests.
34
35
  */
35
- export declare function csrf(options?: CsrfOptions): Handler;
36
+ export declare function csrf(options: CsrfOptions): Handler;
36
37
  export interface TimeoutOptions {
37
38
  ms: number;
38
39
  message?: string;
@@ -42,7 +43,6 @@ export interface TimeoutOptions {
42
43
  */
43
44
  export declare function timeout(ms: number | TimeoutOptions): Handler;
44
45
  export declare function hpp(): Handler;
45
- export declare function xss(): Handler;
46
46
  export declare function mongoSanitize(): Handler;
47
47
  export interface DbSanitizeOptions {
48
48
  mongo?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/middleware/security.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAmC,MAAM,UAAU,CAAA;AAKxE,MAAM,WAAW,aAAa;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,IAAI,CAAC,EAAE,OAAO,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,OAAO,CAAA;KAAE,CAAA;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,OAAO,GAAG;QAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,CAAA;CACzD;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAmD3D;AAID,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE;QACd,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAA;QACpC,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;CACF;AAED;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAwCvD;AAID,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,OAAO,CAqB5D;AAID,wBAAgB,GAAG,IAAI,OAAO,CAqB7B;AA2BD,wBAAgB,GAAG,IAAI,OAAO,CAS7B;AAmBD,wBAAgB,aAAa,IAAI,OAAO,CASvC;AAID,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,wBAAgB,UAAU,CACxB,OAAO,GAAE,iBAAmC,GAC3C,OAAO,CAYT"}
1
+ {"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/middleware/security.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAmC,MAAM,UAAU,CAAA;AAKxE,MAAM,WAAW,aAAa;IAC5B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAC9B,IAAI,CAAC,EAAE,OAAO,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,iBAAiB,EAAE,OAAO,CAAA;KAAE,CAAA;IAC/D,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,UAAU,CAAC,EAAE,OAAO,GAAG;QAAE,MAAM,EAAE,MAAM,GAAG,YAAY,CAAA;KAAE,CAAA;CACzD;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAoE3D;AAID,MAAM,WAAW,WAAW;IAC1B,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE;QACd,QAAQ,CAAC,EAAE,OAAO,CAAA;QAClB,MAAM,CAAC,EAAE,OAAO,CAAA;QAChB,QAAQ,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAA;QACpC,IAAI,CAAC,EAAE,MAAM,CAAA;QACb,MAAM,CAAC,EAAE,MAAM,CAAA;KAChB,CAAA;CACF;AA2BD;;;;GAIG;AACH,wBAAgB,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAmElD;AAID,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAA;IACV,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,cAAc,GAAG,OAAO,CAqB5D;AAID,wBAAgB,GAAG,IAAI,OAAO,CAqB7B;AAmBD,wBAAgB,aAAa,IAAI,OAAO,CASvC;AAID,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED,wBAAgB,UAAU,CACxB,OAAO,GAAE,iBAAmC,GAC3C,OAAO,CAYT"}