@suveren/gateway 0.3.17 → 0.4.1
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/bin/suveren-gateway.js +419 -28
- package/content/integrations/calendar.json +20 -8
- package/content/integrations/crm.json +97 -23
- package/content/integrations/gmail.json +166 -29
- package/content/integrations/linkedin.json +15 -3
- package/content/integrations/mollie.json +2 -2
- package/dist/control-plane/index.mjs +341 -42
- package/dist/mcp-server/http.mjs +880 -210
- package/dist/ui/assets/index-Cog54HOo.js +105 -0
- package/dist/ui/assets/{index-DOt3SNnl.css → index-JHaCddDE.css} +1 -1
- package/dist/ui/index.html +2 -2
- package/lib/autostart-templates.d.mts +37 -0
- package/lib/autostart-templates.mjs +208 -0
- package/node_modules/@hap/core/dist/index.d.mts +27 -0
- package/node_modules/@hap/core/dist/index.d.ts +27 -0
- package/node_modules/@hap/core/dist/index.js +13 -1
- package/node_modules/@hap/core/dist/index.mjs +13 -1
- package/node_modules/@hap/core/package.json +1 -1
- package/node_modules/@hap/core/src/gatekeeper.ts +47 -1
- package/node_modules/@hap/core/src/types.ts +27 -0
- package/node_modules/@hono/node-server/README.md +58 -25
- package/node_modules/@hono/node-server/dist/conninfo.cjs +22 -0
- package/node_modules/@hono/node-server/dist/{conninfo.d.ts → conninfo.d.cts} +4 -3
- package/node_modules/@hono/node-server/dist/conninfo.d.mts +4 -3
- package/node_modules/@hono/node-server/dist/conninfo.mjs +19 -16
- package/node_modules/@hono/node-server/dist/constants-BLSFu_RU.mjs +5 -0
- package/node_modules/@hono/node-server/dist/constants-BXAKTxRC.cjs +11 -0
- package/node_modules/@hono/node-server/dist/index.cjs +1173 -0
- package/node_modules/@hono/node-server/dist/index.d.cts +101 -0
- package/node_modules/@hono/node-server/dist/index.d.mts +101 -8
- package/node_modules/@hono/node-server/dist/index.mjs +1143 -637
- package/node_modules/@hono/node-server/dist/serve-static.cjs +151 -0
- package/node_modules/@hono/node-server/dist/serve-static.d.cts +18 -0
- package/node_modules/@hono/node-server/dist/serve-static.d.mts +14 -13
- package/node_modules/@hono/node-server/dist/serve-static.mjs +143 -145
- package/node_modules/@hono/node-server/dist/utils/response.cjs +8 -0
- package/node_modules/@hono/node-server/dist/utils/response.d.cts +4 -0
- package/node_modules/@hono/node-server/dist/utils/response.d.mts +3 -2
- package/node_modules/@hono/node-server/dist/utils/response.mjs +6 -9
- package/node_modules/@hono/node-server/dist/utils/stream.cjs +65 -0
- package/node_modules/@hono/node-server/dist/utils/stream.d.cts +6 -0
- package/node_modules/@hono/node-server/dist/utils/stream.d.mts +6 -0
- package/node_modules/@hono/node-server/dist/utils/stream.mjs +64 -0
- package/node_modules/@hono/node-server/package.json +65 -54
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.js +1 -12
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/index.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.d.ts +7 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.js +9 -3
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/stdio.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.js +5 -3
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/client/streamableHttp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.js +1 -12
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/index.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.d.ts +5 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.d.ts.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.js +17 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/sseKeepAlive.js.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.d.ts +9 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.js +10 -4
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/stdio.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.d.ts +21 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.js +239 -41
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/webStandardStreamableHttp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.js +25 -6
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/server/zod-compat.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.d.ts +32 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.d.ts.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.js +64 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/mediaType.js.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.d.ts +5 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.js +10 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/cjs/shared/stdio.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js +2 -13
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/index.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.d.ts +7 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.js +9 -3
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/stdio.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js +5 -3
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/client/streamableHttp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js +2 -13
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/index.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.d.ts +5 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.d.ts.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.js +13 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/sseKeepAlive.js.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.d.ts +9 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js +10 -4
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/stdio.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.d.ts +21 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js +239 -41
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/webStandardStreamableHttp.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js +25 -6
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/server/zod-compat.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.d.ts +32 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.d.ts.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.js +57 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/mediaType.js.map +1 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.d.ts +5 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.d.ts.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js +9 -0
- package/node_modules/@modelcontextprotocol/sdk/dist/esm/shared/stdio.js.map +1 -1
- package/node_modules/@modelcontextprotocol/sdk/node_modules/media-typer/README.md +15 -14
- package/node_modules/@modelcontextprotocol/sdk/node_modules/media-typer/index.js +0 -8
- package/node_modules/@modelcontextprotocol/sdk/node_modules/media-typer/package.json +16 -12
- package/node_modules/@modelcontextprotocol/sdk/package.json +4 -3
- package/node_modules/@types/node/README.md +1 -1
- package/node_modules/@types/node/crypto.d.ts +1 -1
- package/node_modules/@types/node/package.json +2 -2
- package/node_modules/body-parser/HISTORY.md +7 -1
- package/node_modules/body-parser/lib/types/json.js +7 -3
- package/node_modules/body-parser/lib/types/raw.js +7 -3
- package/node_modules/body-parser/lib/types/text.js +7 -3
- package/node_modules/body-parser/lib/types/urlencoded.js +7 -3
- package/node_modules/body-parser/package.json +1 -1
- package/node_modules/express-rate-limit/dist/index.cjs +69 -5
- package/node_modules/express-rate-limit/dist/index.d.cts +16 -0
- package/node_modules/express-rate-limit/dist/index.d.mts +16 -0
- package/node_modules/express-rate-limit/dist/index.d.ts +16 -0
- package/node_modules/express-rate-limit/dist/index.mjs +55 -5
- package/node_modules/express-rate-limit/node_modules/debug/LICENSE +20 -0
- package/node_modules/express-rate-limit/node_modules/debug/README.md +481 -0
- package/node_modules/express-rate-limit/node_modules/debug/package.json +64 -0
- package/node_modules/express-rate-limit/node_modules/debug/src/browser.js +272 -0
- package/node_modules/express-rate-limit/node_modules/debug/src/common.js +292 -0
- package/node_modules/express-rate-limit/node_modules/debug/src/index.js +10 -0
- package/node_modules/express-rate-limit/node_modules/debug/src/node.js +263 -0
- package/node_modules/express-rate-limit/node_modules/ms/index.js +162 -0
- package/node_modules/express-rate-limit/node_modules/ms/license.md +21 -0
- package/node_modules/express-rate-limit/node_modules/ms/package.json +38 -0
- package/node_modules/express-rate-limit/node_modules/ms/readme.md +59 -0
- package/node_modules/express-rate-limit/package.json +12 -9
- package/node_modules/fast-uri/index.js +17 -0
- package/node_modules/fast-uri/package.json +1 -1
- package/node_modules/fast-uri/test/security.test.js +62 -0
- package/node_modules/hono/dist/adapter/aws-lambda/handler.js +1 -4
- package/node_modules/hono/dist/adapter/lambda-edge/handler.js +12 -2
- package/node_modules/hono/dist/cjs/adapter/aws-lambda/handler.js +1 -4
- package/node_modules/hono/dist/cjs/adapter/lambda-edge/handler.js +12 -2
- package/node_modules/hono/dist/cjs/client/client.js +10 -1
- package/node_modules/hono/dist/cjs/client/utils.js +1 -1
- package/node_modules/hono/dist/cjs/helper/streaming/sse.js +5 -4
- package/node_modules/hono/dist/cjs/middleware/cache/index.js +1 -1
- package/node_modules/hono/dist/cjs/middleware/compress/index.js +2 -1
- package/node_modules/hono/dist/cjs/middleware/etag/index.js +2 -1
- package/node_modules/hono/dist/cjs/middleware/method-override/index.js +5 -3
- package/node_modules/hono/dist/cjs/middleware/secure-headers/secure-headers.js +10 -4
- package/node_modules/hono/dist/cjs/request.js +8 -3
- package/node_modules/hono/dist/cjs/router/trie-router/node.js +9 -0
- package/node_modules/hono/dist/cjs/utils/accept.js +1 -1
- package/node_modules/hono/dist/cjs/utils/body.js +6 -0
- package/node_modules/hono/dist/cjs/utils/url.js +1 -1
- package/node_modules/hono/dist/client/client.js +10 -1
- package/node_modules/hono/dist/client/utils.js +1 -1
- package/node_modules/hono/dist/helper/streaming/sse.js +5 -4
- package/node_modules/hono/dist/middleware/cache/index.js +1 -1
- package/node_modules/hono/dist/middleware/compress/index.js +2 -1
- package/node_modules/hono/dist/middleware/etag/index.js +2 -1
- package/node_modules/hono/dist/middleware/method-override/index.js +5 -3
- package/node_modules/hono/dist/middleware/secure-headers/secure-headers.js +10 -4
- package/node_modules/hono/dist/request.js +8 -3
- package/node_modules/hono/dist/router/trie-router/node.js +9 -0
- package/node_modules/hono/dist/types/adapter/aws-lambda/types.d.ts +9 -0
- package/node_modules/hono/dist/types/adapter/lambda-edge/handler.d.ts +1 -1
- package/node_modules/hono/dist/types/helper/websocket/index.d.ts +1 -1
- package/node_modules/hono/dist/types/middleware/combine/index.d.ts +1 -1
- package/node_modules/hono/dist/types/middleware/language/language.d.ts +18 -0
- package/node_modules/hono/dist/types/utils/types.d.ts +1 -1
- package/node_modules/hono/dist/utils/accept.js +1 -1
- package/node_modules/hono/dist/utils/body.js +6 -0
- package/node_modules/hono/dist/utils/url.js +1 -1
- package/node_modules/hono/package.json +4 -4
- package/node_modules/ip-address/README.md +102 -96
- package/node_modules/ip-address/dist/common.d.ts +23 -0
- package/node_modules/ip-address/dist/common.js +27 -4
- package/node_modules/ip-address/dist/common.js.map +1 -1
- package/node_modules/ip-address/dist/ipv4.d.ts +8 -1
- package/node_modules/ip-address/dist/ipv4.js +21 -8
- package/node_modules/ip-address/dist/ipv4.js.map +1 -1
- package/node_modules/ip-address/dist/ipv6.d.ts +59 -1
- package/node_modules/ip-address/dist/ipv6.js +149 -41
- package/node_modules/ip-address/dist/ipv6.js.map +1 -1
- package/node_modules/ip-address/dist/v4/constants.js +5 -1
- package/node_modules/ip-address/dist/v4/constants.js.map +1 -1
- package/node_modules/ip-address/dist/v6/constants.js +3 -2
- package/node_modules/ip-address/dist/v6/constants.js.map +1 -1
- package/node_modules/ip-address/package.json +2 -2
- package/node_modules/jose/README.md +1 -4
- package/node_modules/jose/dist/types/jwks/remote.d.ts +3 -3
- package/node_modules/jose/dist/webapi/jwks/remote.js +1 -1
- package/node_modules/jose/dist/webapi/lib/key_to_jwk.js +4 -1
- package/node_modules/jose/package.json +1 -1
- package/package.json +3 -2
- package/profiles/customers/0.4.profile.json +7 -4
- package/profiles/customers/0.5.profile.json +131 -0
- package/profiles/customers/0.6.profile.json +153 -0
- package/profiles/email/0.4.profile.json +8 -4
- package/profiles/index.json +2 -0
- package/server.js +10 -0
- package/dist/ui/assets/index-CTmWS7W4.js +0 -105
- package/node_modules/@hono/node-server/dist/conninfo.js +0 -42
- package/node_modules/@hono/node-server/dist/globals.d.mts +0 -2
- package/node_modules/@hono/node-server/dist/globals.d.ts +0 -2
- package/node_modules/@hono/node-server/dist/globals.js +0 -29
- package/node_modules/@hono/node-server/dist/globals.mjs +0 -5
- package/node_modules/@hono/node-server/dist/index.d.ts +0 -8
- package/node_modules/@hono/node-server/dist/index.js +0 -702
- package/node_modules/@hono/node-server/dist/listener.d.mts +0 -13
- package/node_modules/@hono/node-server/dist/listener.d.ts +0 -13
- package/node_modules/@hono/node-server/dist/listener.js +0 -670
- package/node_modules/@hono/node-server/dist/listener.mjs +0 -635
- package/node_modules/@hono/node-server/dist/request.d.mts +0 -25
- package/node_modules/@hono/node-server/dist/request.d.ts +0 -25
- package/node_modules/@hono/node-server/dist/request.js +0 -238
- package/node_modules/@hono/node-server/dist/request.mjs +0 -206
- package/node_modules/@hono/node-server/dist/response.d.mts +0 -26
- package/node_modules/@hono/node-server/dist/response.d.ts +0 -26
- package/node_modules/@hono/node-server/dist/response.js +0 -112
- package/node_modules/@hono/node-server/dist/response.mjs +0 -85
- package/node_modules/@hono/node-server/dist/serve-static.d.ts +0 -17
- package/node_modules/@hono/node-server/dist/serve-static.js +0 -177
- package/node_modules/@hono/node-server/dist/server.d.mts +0 -10
- package/node_modules/@hono/node-server/dist/server.d.ts +0 -10
- package/node_modules/@hono/node-server/dist/server.js +0 -696
- package/node_modules/@hono/node-server/dist/server.mjs +0 -660
- package/node_modules/@hono/node-server/dist/types.d.mts +0 -44
- package/node_modules/@hono/node-server/dist/types.d.ts +0 -44
- package/node_modules/@hono/node-server/dist/types.js +0 -18
- package/node_modules/@hono/node-server/dist/types.mjs +0 -0
- package/node_modules/@hono/node-server/dist/utils/response/constants.d.mts +0 -3
- package/node_modules/@hono/node-server/dist/utils/response/constants.d.ts +0 -3
- package/node_modules/@hono/node-server/dist/utils/response/constants.js +0 -30
- package/node_modules/@hono/node-server/dist/utils/response/constants.mjs +0 -5
- package/node_modules/@hono/node-server/dist/utils/response.d.ts +0 -3
- package/node_modules/@hono/node-server/dist/utils/response.js +0 -37
- package/node_modules/@hono/node-server/dist/utils.d.mts +0 -9
- package/node_modules/@hono/node-server/dist/utils.d.ts +0 -9
- package/node_modules/@hono/node-server/dist/utils.js +0 -99
- package/node_modules/@hono/node-server/dist/utils.mjs +0 -71
- package/node_modules/@hono/node-server/dist/vercel.d.mts +0 -7
- package/node_modules/@hono/node-server/dist/vercel.d.ts +0 -7
- package/node_modules/@hono/node-server/dist/vercel.js +0 -677
- package/node_modules/@hono/node-server/dist/vercel.mjs +0 -640
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __create = Object.create;
|
|
2
3
|
var __defProp = Object.defineProperty;
|
|
3
4
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
5
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
6
|
+
var __getProtoOf = Object.getPrototypeOf;
|
|
5
7
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
8
|
var __export = (target, all) => {
|
|
7
9
|
for (var name in all)
|
|
@@ -15,12 +17,24 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
15
17
|
}
|
|
16
18
|
return to;
|
|
17
19
|
};
|
|
20
|
+
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
21
|
+
// If the importer is in node compatibility mode or this is not an ESM
|
|
22
|
+
// file that has been converted to a CommonJS file using a Babel-
|
|
23
|
+
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
24
|
+
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
25
|
+
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
26
|
+
mod
|
|
27
|
+
));
|
|
18
28
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
29
|
|
|
20
30
|
// source/index.ts
|
|
21
31
|
var index_exports = {};
|
|
22
32
|
__export(index_exports, {
|
|
33
|
+
DAY: () => DAY,
|
|
34
|
+
HOUR: () => HOUR,
|
|
35
|
+
MINUTE: () => MINUTE,
|
|
23
36
|
MemoryStore: () => MemoryStore,
|
|
37
|
+
SECOND: () => SECOND,
|
|
24
38
|
default: () => rate_limit_default,
|
|
25
39
|
ipKeyGenerator: () => ipKeyGenerator,
|
|
26
40
|
rateLimit: () => rate_limit_default
|
|
@@ -200,6 +214,7 @@ var MemoryStore = class {
|
|
|
200
214
|
|
|
201
215
|
// source/rate-limit.ts
|
|
202
216
|
var import_node_net3 = require("node:net");
|
|
217
|
+
var import_debug = __toESM(require("debug"), 1);
|
|
203
218
|
|
|
204
219
|
// source/console-logger.ts
|
|
205
220
|
var ConsoleLogger = {
|
|
@@ -699,6 +714,7 @@ var getValidations = (_enabled, logger) => {
|
|
|
699
714
|
if (!(enabled[name] ?? enabled.default)) {
|
|
700
715
|
return;
|
|
701
716
|
}
|
|
717
|
+
enabled[name] = false;
|
|
702
718
|
try {
|
|
703
719
|
;
|
|
704
720
|
validation.apply(
|
|
@@ -711,6 +727,9 @@ var getValidations = (_enabled, logger) => {
|
|
|
711
727
|
}
|
|
712
728
|
};
|
|
713
729
|
}
|
|
730
|
+
const inspect = /* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom");
|
|
731
|
+
if (inspect)
|
|
732
|
+
wrappedValidations[inspect] = () => wrappedValidations.enabled;
|
|
714
733
|
return wrappedValidations;
|
|
715
734
|
};
|
|
716
735
|
|
|
@@ -859,9 +878,14 @@ var handleAsyncErrors = (fn) => async (request, response, next) => {
|
|
|
859
878
|
var rateLimit = (passedOptions) => {
|
|
860
879
|
const config = parseOptions(passedOptions ?? {});
|
|
861
880
|
const options = getOptionsFromConfig(config);
|
|
881
|
+
const debug = (0, import_debug.default)("express-rate-limit");
|
|
882
|
+
debug("creating new rate limiter with %o", config.store.constructor.name);
|
|
883
|
+
for (const [key, val] of Object.entries(config))
|
|
884
|
+
debug("set %s to %o", key, val);
|
|
862
885
|
config.validations.creationStack(config.store);
|
|
863
886
|
config.validations.unsharedStore(config.store);
|
|
864
887
|
if (typeof config.store.init === "function") {
|
|
888
|
+
debug("executing init for store");
|
|
865
889
|
try {
|
|
866
890
|
const storeInit = config.store.init(options);
|
|
867
891
|
if (storeInit instanceof Promise) {
|
|
@@ -884,13 +908,18 @@ var rateLimit = (passedOptions) => {
|
|
|
884
908
|
const closePromise = config.skipFailedRequests && new Promise((resolve) => response.once("close", resolve));
|
|
885
909
|
const finishPromise = (config.skipFailedRequests || config.skipSuccessfulRequests) && new Promise((resolve) => response.once("finish", resolve));
|
|
886
910
|
const errorPromise = config.skipFailedRequests && new Promise((resolve) => response.once("error", resolve));
|
|
911
|
+
debug("requested %o", request.originalUrl);
|
|
912
|
+
debug("request from ip %o", request.ip);
|
|
887
913
|
const skip = await config.skip(request, response);
|
|
888
914
|
if (skip) {
|
|
915
|
+
debug("skipping request");
|
|
889
916
|
next();
|
|
890
917
|
return;
|
|
891
918
|
}
|
|
892
919
|
const augmentedRequest = request;
|
|
893
920
|
const key = await config.keyGenerator(request, response);
|
|
921
|
+
debug("computed key %o", key);
|
|
922
|
+
debug("incrementing count");
|
|
894
923
|
let totalHits = 0;
|
|
895
924
|
let resetTime;
|
|
896
925
|
try {
|
|
@@ -920,6 +949,13 @@ var rateLimit = (passedOptions) => {
|
|
|
920
949
|
resetTime,
|
|
921
950
|
key
|
|
922
951
|
};
|
|
952
|
+
for (const [key2, val] of Object.entries(info))
|
|
953
|
+
debug(
|
|
954
|
+
"set request.%s.%s to be %o",
|
|
955
|
+
config.requestPropertyName,
|
|
956
|
+
key2,
|
|
957
|
+
val
|
|
958
|
+
);
|
|
923
959
|
Object.defineProperty(info, "current", {
|
|
924
960
|
configurable: false,
|
|
925
961
|
enumerable: false,
|
|
@@ -927,15 +963,18 @@ var rateLimit = (passedOptions) => {
|
|
|
927
963
|
});
|
|
928
964
|
augmentedRequest[config.requestPropertyName] = info;
|
|
929
965
|
if (config.legacyHeaders && !response.headersSent) {
|
|
966
|
+
debug("set legacy headers");
|
|
930
967
|
setLegacyHeaders(response, info);
|
|
931
968
|
}
|
|
932
969
|
if (config.standardHeaders && !response.headersSent) {
|
|
933
970
|
switch (config.standardHeaders) {
|
|
934
971
|
case "draft-6": {
|
|
972
|
+
debug("set ietf draft 6 headers");
|
|
935
973
|
setDraft6Headers(response, info, config.windowMs);
|
|
936
974
|
break;
|
|
937
975
|
}
|
|
938
976
|
case "draft-7": {
|
|
977
|
+
debug("set ietf draft 7 headers");
|
|
939
978
|
config.validations.headersResetTime(info.resetTime);
|
|
940
979
|
setDraft7Headers(response, info, config.windowMs);
|
|
941
980
|
break;
|
|
@@ -943,6 +982,8 @@ var rateLimit = (passedOptions) => {
|
|
|
943
982
|
case "draft-8": {
|
|
944
983
|
const retrieveName = typeof config.identifier === "function" ? config.identifier(request, response) : config.identifier;
|
|
945
984
|
const name = await retrieveName;
|
|
985
|
+
debug("set ietf draft 8 headers");
|
|
986
|
+
debug("set name to %o", name);
|
|
946
987
|
config.validations.headersResetTime(info.resetTime);
|
|
947
988
|
setDraft8Headers(response, info, config.windowMs, name, key);
|
|
948
989
|
break;
|
|
@@ -957,6 +998,10 @@ var rateLimit = (passedOptions) => {
|
|
|
957
998
|
let decremented = false;
|
|
958
999
|
const decrementKey = async () => {
|
|
959
1000
|
if (!decremented) {
|
|
1001
|
+
if (resetTime && Date.now() >= resetTime.getTime()) {
|
|
1002
|
+
return;
|
|
1003
|
+
}
|
|
1004
|
+
debug("decrementing count");
|
|
960
1005
|
await config.store.decrement(key);
|
|
961
1006
|
decremented = true;
|
|
962
1007
|
}
|
|
@@ -964,8 +1009,12 @@ var rateLimit = (passedOptions) => {
|
|
|
964
1009
|
if (config.skipFailedRequests) {
|
|
965
1010
|
if (finishPromise) {
|
|
966
1011
|
void finishPromise.then(async () => {
|
|
967
|
-
|
|
968
|
-
|
|
1012
|
+
const success = await config.requestWasSuccessful(
|
|
1013
|
+
request,
|
|
1014
|
+
response
|
|
1015
|
+
);
|
|
1016
|
+
debug("computed requestWasSuccessful as %o", success);
|
|
1017
|
+
if (!success) await decrementKey();
|
|
969
1018
|
});
|
|
970
1019
|
}
|
|
971
1020
|
if (closePromise) {
|
|
@@ -982,15 +1031,20 @@ var rateLimit = (passedOptions) => {
|
|
|
982
1031
|
if (config.skipSuccessfulRequests) {
|
|
983
1032
|
if (finishPromise) {
|
|
984
1033
|
void finishPromise.then(async () => {
|
|
985
|
-
|
|
986
|
-
|
|
1034
|
+
const success = await config.requestWasSuccessful(
|
|
1035
|
+
request,
|
|
1036
|
+
response
|
|
1037
|
+
);
|
|
1038
|
+
debug("computed requestWasSuccessful as %o", success);
|
|
1039
|
+
if (success) await decrementKey();
|
|
987
1040
|
});
|
|
988
1041
|
}
|
|
989
1042
|
}
|
|
990
1043
|
}
|
|
991
|
-
config.validations.disable();
|
|
992
1044
|
if (totalHits > limit) {
|
|
1045
|
+
debug("limit exceeded");
|
|
993
1046
|
if (config.legacyHeaders || config.standardHeaders) {
|
|
1047
|
+
debug("set retry-after header");
|
|
994
1048
|
setRetryAfterHeader(response, info, config.windowMs);
|
|
995
1049
|
}
|
|
996
1050
|
config.handler(request, response, next, options);
|
|
@@ -1007,9 +1061,19 @@ var rateLimit = (passedOptions) => {
|
|
|
1007
1061
|
return middleware;
|
|
1008
1062
|
};
|
|
1009
1063
|
var rate_limit_default = rateLimit;
|
|
1064
|
+
|
|
1065
|
+
// source/time-constants.ts
|
|
1066
|
+
var SECOND = 1e3;
|
|
1067
|
+
var MINUTE = 60 * SECOND;
|
|
1068
|
+
var HOUR = 60 * MINUTE;
|
|
1069
|
+
var DAY = 24 * HOUR;
|
|
1010
1070
|
// Annotate the CommonJS export names for ESM import in node:
|
|
1011
1071
|
0 && (module.exports = {
|
|
1072
|
+
DAY,
|
|
1073
|
+
HOUR,
|
|
1074
|
+
MINUTE,
|
|
1012
1075
|
MemoryStore,
|
|
1076
|
+
SECOND,
|
|
1013
1077
|
ipKeyGenerator,
|
|
1014
1078
|
rateLimit
|
|
1015
1079
|
});
|
|
@@ -664,6 +664,22 @@ export declare class MemoryStore implements Store {
|
|
|
664
664
|
* @public
|
|
665
665
|
*/
|
|
666
666
|
export declare const rateLimit: (passedOptions?: Partial<Options>) => RateLimitRequestHandler;
|
|
667
|
+
/**
|
|
668
|
+
* @deprecated these are being replaced in the next major version
|
|
669
|
+
*/
|
|
670
|
+
export declare const SECOND: number;
|
|
671
|
+
/**
|
|
672
|
+
* @deprecated these are being replaced in the next major version
|
|
673
|
+
*/
|
|
674
|
+
export declare const MINUTE: number;
|
|
675
|
+
/**
|
|
676
|
+
* @deprecated these are being replaced in the next major version
|
|
677
|
+
*/
|
|
678
|
+
export declare const HOUR: number;
|
|
679
|
+
/**
|
|
680
|
+
* @deprecated these are being replaced in the next major version
|
|
681
|
+
*/
|
|
682
|
+
export declare const DAY: number;
|
|
667
683
|
|
|
668
684
|
export {
|
|
669
685
|
rateLimit as default,
|
|
@@ -664,6 +664,22 @@ export declare class MemoryStore implements Store {
|
|
|
664
664
|
* @public
|
|
665
665
|
*/
|
|
666
666
|
export declare const rateLimit: (passedOptions?: Partial<Options>) => RateLimitRequestHandler;
|
|
667
|
+
/**
|
|
668
|
+
* @deprecated these are being replaced in the next major version
|
|
669
|
+
*/
|
|
670
|
+
export declare const SECOND: number;
|
|
671
|
+
/**
|
|
672
|
+
* @deprecated these are being replaced in the next major version
|
|
673
|
+
*/
|
|
674
|
+
export declare const MINUTE: number;
|
|
675
|
+
/**
|
|
676
|
+
* @deprecated these are being replaced in the next major version
|
|
677
|
+
*/
|
|
678
|
+
export declare const HOUR: number;
|
|
679
|
+
/**
|
|
680
|
+
* @deprecated these are being replaced in the next major version
|
|
681
|
+
*/
|
|
682
|
+
export declare const DAY: number;
|
|
667
683
|
|
|
668
684
|
export {
|
|
669
685
|
rateLimit as default,
|
|
@@ -664,6 +664,22 @@ export declare class MemoryStore implements Store {
|
|
|
664
664
|
* @public
|
|
665
665
|
*/
|
|
666
666
|
export declare const rateLimit: (passedOptions?: Partial<Options>) => RateLimitRequestHandler;
|
|
667
|
+
/**
|
|
668
|
+
* @deprecated these are being replaced in the next major version
|
|
669
|
+
*/
|
|
670
|
+
export declare const SECOND: number;
|
|
671
|
+
/**
|
|
672
|
+
* @deprecated these are being replaced in the next major version
|
|
673
|
+
*/
|
|
674
|
+
export declare const MINUTE: number;
|
|
675
|
+
/**
|
|
676
|
+
* @deprecated these are being replaced in the next major version
|
|
677
|
+
*/
|
|
678
|
+
export declare const HOUR: number;
|
|
679
|
+
/**
|
|
680
|
+
* @deprecated these are being replaced in the next major version
|
|
681
|
+
*/
|
|
682
|
+
export declare const DAY: number;
|
|
667
683
|
|
|
668
684
|
export {
|
|
669
685
|
rateLimit as default,
|
|
@@ -171,6 +171,7 @@ var MemoryStore = class {
|
|
|
171
171
|
|
|
172
172
|
// source/rate-limit.ts
|
|
173
173
|
import { isIPv6 as isIPv62 } from "node:net";
|
|
174
|
+
import createDebugLogger from "debug";
|
|
174
175
|
|
|
175
176
|
// source/console-logger.ts
|
|
176
177
|
var ConsoleLogger = {
|
|
@@ -670,6 +671,7 @@ var getValidations = (_enabled, logger) => {
|
|
|
670
671
|
if (!(enabled[name] ?? enabled.default)) {
|
|
671
672
|
return;
|
|
672
673
|
}
|
|
674
|
+
enabled[name] = false;
|
|
673
675
|
try {
|
|
674
676
|
;
|
|
675
677
|
validation.apply(
|
|
@@ -682,6 +684,9 @@ var getValidations = (_enabled, logger) => {
|
|
|
682
684
|
}
|
|
683
685
|
};
|
|
684
686
|
}
|
|
687
|
+
const inspect = /* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom");
|
|
688
|
+
if (inspect)
|
|
689
|
+
wrappedValidations[inspect] = () => wrappedValidations.enabled;
|
|
685
690
|
return wrappedValidations;
|
|
686
691
|
};
|
|
687
692
|
|
|
@@ -830,9 +835,14 @@ var handleAsyncErrors = (fn) => async (request, response, next) => {
|
|
|
830
835
|
var rateLimit = (passedOptions) => {
|
|
831
836
|
const config = parseOptions(passedOptions ?? {});
|
|
832
837
|
const options = getOptionsFromConfig(config);
|
|
838
|
+
const debug = createDebugLogger("express-rate-limit");
|
|
839
|
+
debug("creating new rate limiter with %o", config.store.constructor.name);
|
|
840
|
+
for (const [key, val] of Object.entries(config))
|
|
841
|
+
debug("set %s to %o", key, val);
|
|
833
842
|
config.validations.creationStack(config.store);
|
|
834
843
|
config.validations.unsharedStore(config.store);
|
|
835
844
|
if (typeof config.store.init === "function") {
|
|
845
|
+
debug("executing init for store");
|
|
836
846
|
try {
|
|
837
847
|
const storeInit = config.store.init(options);
|
|
838
848
|
if (storeInit instanceof Promise) {
|
|
@@ -855,13 +865,18 @@ var rateLimit = (passedOptions) => {
|
|
|
855
865
|
const closePromise = config.skipFailedRequests && new Promise((resolve) => response.once("close", resolve));
|
|
856
866
|
const finishPromise = (config.skipFailedRequests || config.skipSuccessfulRequests) && new Promise((resolve) => response.once("finish", resolve));
|
|
857
867
|
const errorPromise = config.skipFailedRequests && new Promise((resolve) => response.once("error", resolve));
|
|
868
|
+
debug("requested %o", request.originalUrl);
|
|
869
|
+
debug("request from ip %o", request.ip);
|
|
858
870
|
const skip = await config.skip(request, response);
|
|
859
871
|
if (skip) {
|
|
872
|
+
debug("skipping request");
|
|
860
873
|
next();
|
|
861
874
|
return;
|
|
862
875
|
}
|
|
863
876
|
const augmentedRequest = request;
|
|
864
877
|
const key = await config.keyGenerator(request, response);
|
|
878
|
+
debug("computed key %o", key);
|
|
879
|
+
debug("incrementing count");
|
|
865
880
|
let totalHits = 0;
|
|
866
881
|
let resetTime;
|
|
867
882
|
try {
|
|
@@ -891,6 +906,13 @@ var rateLimit = (passedOptions) => {
|
|
|
891
906
|
resetTime,
|
|
892
907
|
key
|
|
893
908
|
};
|
|
909
|
+
for (const [key2, val] of Object.entries(info))
|
|
910
|
+
debug(
|
|
911
|
+
"set request.%s.%s to be %o",
|
|
912
|
+
config.requestPropertyName,
|
|
913
|
+
key2,
|
|
914
|
+
val
|
|
915
|
+
);
|
|
894
916
|
Object.defineProperty(info, "current", {
|
|
895
917
|
configurable: false,
|
|
896
918
|
enumerable: false,
|
|
@@ -898,15 +920,18 @@ var rateLimit = (passedOptions) => {
|
|
|
898
920
|
});
|
|
899
921
|
augmentedRequest[config.requestPropertyName] = info;
|
|
900
922
|
if (config.legacyHeaders && !response.headersSent) {
|
|
923
|
+
debug("set legacy headers");
|
|
901
924
|
setLegacyHeaders(response, info);
|
|
902
925
|
}
|
|
903
926
|
if (config.standardHeaders && !response.headersSent) {
|
|
904
927
|
switch (config.standardHeaders) {
|
|
905
928
|
case "draft-6": {
|
|
929
|
+
debug("set ietf draft 6 headers");
|
|
906
930
|
setDraft6Headers(response, info, config.windowMs);
|
|
907
931
|
break;
|
|
908
932
|
}
|
|
909
933
|
case "draft-7": {
|
|
934
|
+
debug("set ietf draft 7 headers");
|
|
910
935
|
config.validations.headersResetTime(info.resetTime);
|
|
911
936
|
setDraft7Headers(response, info, config.windowMs);
|
|
912
937
|
break;
|
|
@@ -914,6 +939,8 @@ var rateLimit = (passedOptions) => {
|
|
|
914
939
|
case "draft-8": {
|
|
915
940
|
const retrieveName = typeof config.identifier === "function" ? config.identifier(request, response) : config.identifier;
|
|
916
941
|
const name = await retrieveName;
|
|
942
|
+
debug("set ietf draft 8 headers");
|
|
943
|
+
debug("set name to %o", name);
|
|
917
944
|
config.validations.headersResetTime(info.resetTime);
|
|
918
945
|
setDraft8Headers(response, info, config.windowMs, name, key);
|
|
919
946
|
break;
|
|
@@ -928,6 +955,10 @@ var rateLimit = (passedOptions) => {
|
|
|
928
955
|
let decremented = false;
|
|
929
956
|
const decrementKey = async () => {
|
|
930
957
|
if (!decremented) {
|
|
958
|
+
if (resetTime && Date.now() >= resetTime.getTime()) {
|
|
959
|
+
return;
|
|
960
|
+
}
|
|
961
|
+
debug("decrementing count");
|
|
931
962
|
await config.store.decrement(key);
|
|
932
963
|
decremented = true;
|
|
933
964
|
}
|
|
@@ -935,8 +966,12 @@ var rateLimit = (passedOptions) => {
|
|
|
935
966
|
if (config.skipFailedRequests) {
|
|
936
967
|
if (finishPromise) {
|
|
937
968
|
void finishPromise.then(async () => {
|
|
938
|
-
|
|
939
|
-
|
|
969
|
+
const success = await config.requestWasSuccessful(
|
|
970
|
+
request,
|
|
971
|
+
response
|
|
972
|
+
);
|
|
973
|
+
debug("computed requestWasSuccessful as %o", success);
|
|
974
|
+
if (!success) await decrementKey();
|
|
940
975
|
});
|
|
941
976
|
}
|
|
942
977
|
if (closePromise) {
|
|
@@ -953,15 +988,20 @@ var rateLimit = (passedOptions) => {
|
|
|
953
988
|
if (config.skipSuccessfulRequests) {
|
|
954
989
|
if (finishPromise) {
|
|
955
990
|
void finishPromise.then(async () => {
|
|
956
|
-
|
|
957
|
-
|
|
991
|
+
const success = await config.requestWasSuccessful(
|
|
992
|
+
request,
|
|
993
|
+
response
|
|
994
|
+
);
|
|
995
|
+
debug("computed requestWasSuccessful as %o", success);
|
|
996
|
+
if (success) await decrementKey();
|
|
958
997
|
});
|
|
959
998
|
}
|
|
960
999
|
}
|
|
961
1000
|
}
|
|
962
|
-
config.validations.disable();
|
|
963
1001
|
if (totalHits > limit) {
|
|
1002
|
+
debug("limit exceeded");
|
|
964
1003
|
if (config.legacyHeaders || config.standardHeaders) {
|
|
1004
|
+
debug("set retry-after header");
|
|
965
1005
|
setRetryAfterHeader(response, info, config.windowMs);
|
|
966
1006
|
}
|
|
967
1007
|
config.handler(request, response, next, options);
|
|
@@ -978,8 +1018,18 @@ var rateLimit = (passedOptions) => {
|
|
|
978
1018
|
return middleware;
|
|
979
1019
|
};
|
|
980
1020
|
var rate_limit_default = rateLimit;
|
|
1021
|
+
|
|
1022
|
+
// source/time-constants.ts
|
|
1023
|
+
var SECOND = 1e3;
|
|
1024
|
+
var MINUTE = 60 * SECOND;
|
|
1025
|
+
var HOUR = 60 * MINUTE;
|
|
1026
|
+
var DAY = 24 * HOUR;
|
|
981
1027
|
export {
|
|
1028
|
+
DAY,
|
|
1029
|
+
HOUR,
|
|
1030
|
+
MINUTE,
|
|
982
1031
|
MemoryStore,
|
|
1032
|
+
SECOND,
|
|
983
1033
|
rate_limit_default as default,
|
|
984
1034
|
ipKeyGenerator,
|
|
985
1035
|
rate_limit_default as rateLimit
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
(The MIT License)
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2014-2017 TJ Holowaychuk <tj@vision-media.ca>
|
|
4
|
+
Copyright (c) 2018-2021 Josh Junon
|
|
5
|
+
|
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software
|
|
7
|
+
and associated documentation files (the 'Software'), to deal in the Software without restriction,
|
|
8
|
+
including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
9
|
+
and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so,
|
|
10
|
+
subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial
|
|
13
|
+
portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
|
|
16
|
+
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
17
|
+
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
18
|
+
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
19
|
+
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
20
|
+
|