n8n 2.27.0 → 2.27.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/dist/build.tsbuildinfo +1 -1
- package/dist/modules/mcp/mcp.config.d.ts +3 -0
- package/dist/modules/mcp/mcp.config.js +28 -0
- package/dist/modules/mcp/mcp.config.js.map +1 -0
- package/dist/modules/mcp/mcp.controller.js +4 -2
- package/dist/modules/mcp/mcp.controller.js.map +1 -1
- package/dist/modules/oauth-server/oauth-server.config.d.ts +7 -0
- package/dist/modules/oauth-server/oauth-server.config.js +49 -0
- package/dist/modules/oauth-server/oauth-server.config.js.map +1 -0
- package/dist/modules/oauth-server/oauth.controller.js +11 -8
- package/dist/modules/oauth-server/oauth.controller.js.map +1 -1
- package/package.json +20 -20
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.McpConfig = void 0;
|
|
13
|
+
const config_1 = require("@n8n/config");
|
|
14
|
+
const zod_1 = require("zod");
|
|
15
|
+
let McpConfig = class McpConfig {
|
|
16
|
+
constructor() {
|
|
17
|
+
this.rateLimitServer = 100;
|
|
18
|
+
}
|
|
19
|
+
};
|
|
20
|
+
exports.McpConfig = McpConfig;
|
|
21
|
+
__decorate([
|
|
22
|
+
(0, config_1.Env)('N8N_MCP_SERVER_RATE_LIMIT', zod_1.z.number({ coerce: true }).int().nonnegative()),
|
|
23
|
+
__metadata("design:type", Number)
|
|
24
|
+
], McpConfig.prototype, "rateLimitServer", void 0);
|
|
25
|
+
exports.McpConfig = McpConfig = __decorate([
|
|
26
|
+
config_1.Config
|
|
27
|
+
], McpConfig);
|
|
28
|
+
//# sourceMappingURL=mcp.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp.config.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp.config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAA0C;AAC1C,6BAAwB;AAIjB,IAAM,SAAS,GAAf,MAAM,SAAS;IAAf;QAMN,oBAAe,GAAW,GAAG,CAAC;IAC/B,CAAC;CAAA,CAAA;AAPY,8BAAS;AAMrB;IADC,IAAA,YAAG,EAAC,2BAA2B,EAAE,OAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;;kDACnD;oBANlB,SAAS;IADrB,eAAM;GACM,SAAS,CAOrB"}
|
|
@@ -49,12 +49,14 @@ const di_1 = require("@n8n/di");
|
|
|
49
49
|
const n8n_core_1 = require("n8n-core");
|
|
50
50
|
const telemetry_1 = require("../../telemetry");
|
|
51
51
|
const mcp_server_middleware_service_1 = require("./mcp-server-middleware.service");
|
|
52
|
+
const mcp_config_1 = require("./mcp.config");
|
|
52
53
|
const mcp_constants_1 = require("./mcp.constants");
|
|
53
54
|
const mcp_service_1 = require("./mcp.service");
|
|
54
55
|
const mcp_settings_service_1 = require("./mcp.settings.service");
|
|
55
56
|
const mcp_typeguards_1 = require("./mcp.typeguards");
|
|
56
57
|
const mcp_utils_1 = require("./mcp.utils");
|
|
57
58
|
const getAuthMiddleware = () => di_1.Container.get(mcp_server_middleware_service_1.McpServerMiddlewareService).getAuthMiddleware();
|
|
59
|
+
const mcpConfig = di_1.Container.get(mcp_config_1.McpConfig);
|
|
58
60
|
let McpController = class McpController {
|
|
59
61
|
constructor(errorReporter, mcpService, mcpSettingsService, telemetry, logger) {
|
|
60
62
|
this.errorReporter = errorReporter;
|
|
@@ -193,7 +195,7 @@ __decorate([
|
|
|
193
195
|
], McpController.prototype, "discoverAuthSchemeHead", null);
|
|
194
196
|
__decorate([
|
|
195
197
|
(0, decorators_1.Get)('/http', {
|
|
196
|
-
ipRateLimit:
|
|
198
|
+
ipRateLimit: (0, decorators_1.createIpRateLimit)(mcpConfig.rateLimitServer),
|
|
197
199
|
middlewares: [getAuthMiddleware()],
|
|
198
200
|
skipAuth: true,
|
|
199
201
|
usesTemplates: true,
|
|
@@ -204,7 +206,7 @@ __decorate([
|
|
|
204
206
|
], McpController.prototype, "handleGet", null);
|
|
205
207
|
__decorate([
|
|
206
208
|
(0, decorators_1.Post)('/http', {
|
|
207
|
-
ipRateLimit:
|
|
209
|
+
ipRateLimit: (0, decorators_1.createIpRateLimit)(mcpConfig.rateLimitServer),
|
|
208
210
|
middlewares: [getAuthMiddleware()],
|
|
209
211
|
skipAuth: true,
|
|
210
212
|
usesTemplates: true,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.controller.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wDAA6C;AAE7C,
|
|
1
|
+
{"version":3,"file":"mcp.controller.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.OAuthServerConfig = void 0;
|
|
13
|
+
const config_1 = require("@n8n/config");
|
|
14
|
+
const zod_1 = require("zod");
|
|
15
|
+
const rateLimitSchema = zod_1.z.number({ coerce: true }).int().nonnegative();
|
|
16
|
+
let OAuthServerConfig = class OAuthServerConfig {
|
|
17
|
+
constructor() {
|
|
18
|
+
this.rateLimitRegister = 10;
|
|
19
|
+
this.rateLimitAuthorize = 50;
|
|
20
|
+
this.rateLimitToken = 20;
|
|
21
|
+
this.rateLimitRevoke = 30;
|
|
22
|
+
this.rateLimitWellKnown = 100;
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
exports.OAuthServerConfig = OAuthServerConfig;
|
|
26
|
+
__decorate([
|
|
27
|
+
(0, config_1.Env)('N8N_OAUTH_SERVER_REGISTER_RATE_LIMIT', rateLimitSchema),
|
|
28
|
+
__metadata("design:type", Number)
|
|
29
|
+
], OAuthServerConfig.prototype, "rateLimitRegister", void 0);
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, config_1.Env)('N8N_OAUTH_SERVER_AUTHORIZE_RATE_LIMIT', rateLimitSchema),
|
|
32
|
+
__metadata("design:type", Number)
|
|
33
|
+
], OAuthServerConfig.prototype, "rateLimitAuthorize", void 0);
|
|
34
|
+
__decorate([
|
|
35
|
+
(0, config_1.Env)('N8N_OAUTH_SERVER_TOKEN_RATE_LIMIT', rateLimitSchema),
|
|
36
|
+
__metadata("design:type", Number)
|
|
37
|
+
], OAuthServerConfig.prototype, "rateLimitToken", void 0);
|
|
38
|
+
__decorate([
|
|
39
|
+
(0, config_1.Env)('N8N_OAUTH_SERVER_REVOKE_RATE_LIMIT', rateLimitSchema),
|
|
40
|
+
__metadata("design:type", Number)
|
|
41
|
+
], OAuthServerConfig.prototype, "rateLimitRevoke", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
(0, config_1.Env)('N8N_OAUTH_SERVER_WELL_KNOWN_RATE_LIMIT', rateLimitSchema),
|
|
44
|
+
__metadata("design:type", Number)
|
|
45
|
+
], OAuthServerConfig.prototype, "rateLimitWellKnown", void 0);
|
|
46
|
+
exports.OAuthServerConfig = OAuthServerConfig = __decorate([
|
|
47
|
+
config_1.Config
|
|
48
|
+
], OAuthServerConfig);
|
|
49
|
+
//# sourceMappingURL=oauth-server.config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"oauth-server.config.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth-server.config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAA0C;AAC1C,6BAAwB;AAGxB,MAAM,eAAe,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;AAMhE,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAAvB;QAGN,sBAAiB,GAAW,EAAE,CAAC;QAI/B,uBAAkB,GAAW,EAAE,CAAC;QAIhC,mBAAc,GAAW,EAAE,CAAC;QAI5B,oBAAe,GAAW,EAAE,CAAC;QAO7B,uBAAkB,GAAW,GAAG,CAAC;IAClC,CAAC;CAAA,CAAA;AAvBY,8CAAiB;AAG7B;IADC,IAAA,YAAG,EAAC,sCAAsC,EAAE,eAAe,CAAC;;4DAC9B;AAI/B;IADC,IAAA,YAAG,EAAC,uCAAuC,EAAE,eAAe,CAAC;;6DAC9B;AAIhC;IADC,IAAA,YAAG,EAAC,mCAAmC,EAAE,eAAe,CAAC;;yDAC9B;AAI5B;IADC,IAAA,YAAG,EAAC,oCAAoC,EAAE,eAAe,CAAC;;0DAC9B;AAO7B;IADC,IAAA,YAAG,EAAC,wCAAwC,EAAE,eAAe,CAAC;;6DAC9B;4BAtBrB,iBAAiB;IAD7B,eAAM;GACM,iBAAiB,CAuB7B"}
|
|
@@ -21,10 +21,12 @@ const decorators_1 = require("@n8n/decorators");
|
|
|
21
21
|
const di_1 = require("@n8n/di");
|
|
22
22
|
const protected_resource_registry_1 = require("../../services/protected-resource.registry");
|
|
23
23
|
const url_service_1 = require("../../services/url.service");
|
|
24
|
+
const oauth_server_config_1 = require("./oauth-server.config");
|
|
24
25
|
const oauth_server_service_1 = require("./oauth-server.service");
|
|
25
26
|
const oauth_errors_1 = require("./oauth.errors");
|
|
26
27
|
const oauthServerService = di_1.Container.get(oauth_server_service_1.OAuthServerService);
|
|
27
28
|
const globalConfig = di_1.Container.get(config_1.GlobalConfig);
|
|
29
|
+
const oauthServerConfig = di_1.Container.get(oauth_server_config_1.OAuthServerConfig);
|
|
28
30
|
const logger = di_1.Container.get(backend_common_1.Logger);
|
|
29
31
|
const oauthClientLimitGuard = async (_req, res, next) => {
|
|
30
32
|
if (await oauthServerService.isClientLimitReached()) {
|
|
@@ -52,27 +54,28 @@ const sharedEndpointRouters = (basePath) => [
|
|
|
52
54
|
router: registerRouter,
|
|
53
55
|
skipAuth: true,
|
|
54
56
|
middlewares: [oauthClientLimitGuard],
|
|
55
|
-
ipRateLimit:
|
|
57
|
+
ipRateLimit: (0, decorators_1.createIpRateLimit)(oauthServerConfig.rateLimitRegister, 5 * constants_1.Time.minutes.toMilliseconds),
|
|
56
58
|
},
|
|
57
59
|
{
|
|
58
60
|
path: `${basePath}/authorize`,
|
|
59
61
|
router: authorizeRouter,
|
|
60
62
|
skipAuth: true,
|
|
61
|
-
ipRateLimit:
|
|
63
|
+
ipRateLimit: (0, decorators_1.createIpRateLimit)(oauthServerConfig.rateLimitAuthorize, 5 * constants_1.Time.minutes.toMilliseconds),
|
|
62
64
|
},
|
|
63
65
|
{
|
|
64
66
|
path: `${basePath}/token`,
|
|
65
67
|
router: tokenRouter,
|
|
66
68
|
skipAuth: true,
|
|
67
|
-
ipRateLimit:
|
|
69
|
+
ipRateLimit: (0, decorators_1.createIpRateLimit)(oauthServerConfig.rateLimitToken, 5 * constants_1.Time.minutes.toMilliseconds),
|
|
68
70
|
},
|
|
69
71
|
{
|
|
70
72
|
path: `${basePath}/revoke`,
|
|
71
73
|
router: revokeRouter,
|
|
72
74
|
skipAuth: true,
|
|
73
|
-
ipRateLimit:
|
|
75
|
+
ipRateLimit: (0, decorators_1.createIpRateLimit)(oauthServerConfig.rateLimitRevoke, 5 * constants_1.Time.minutes.toMilliseconds),
|
|
74
76
|
},
|
|
75
77
|
];
|
|
78
|
+
const wellKnownIpRateLimit = (0, decorators_1.createIpRateLimit)(oauthServerConfig.rateLimitWellKnown, 5 * constants_1.Time.minutes.toMilliseconds);
|
|
76
79
|
let OAuthController = class OAuthController {
|
|
77
80
|
constructor(urlService, resourceRegistry) {
|
|
78
81
|
this.urlService = urlService;
|
|
@@ -140,7 +143,7 @@ __decorate([
|
|
|
140
143
|
(0, decorators_1.Options)('/.well-known/oauth-authorization-server', {
|
|
141
144
|
skipAuth: true,
|
|
142
145
|
usesTemplates: true,
|
|
143
|
-
ipRateLimit:
|
|
146
|
+
ipRateLimit: wellKnownIpRateLimit,
|
|
144
147
|
}),
|
|
145
148
|
__metadata("design:type", Function),
|
|
146
149
|
__metadata("design:paramtypes", [Object, Object]),
|
|
@@ -150,7 +153,7 @@ __decorate([
|
|
|
150
153
|
(0, decorators_1.Get)('/.well-known/oauth-authorization-server', {
|
|
151
154
|
skipAuth: true,
|
|
152
155
|
usesTemplates: true,
|
|
153
|
-
ipRateLimit:
|
|
156
|
+
ipRateLimit: wellKnownIpRateLimit,
|
|
154
157
|
}),
|
|
155
158
|
__metadata("design:type", Function),
|
|
156
159
|
__metadata("design:paramtypes", [Object, Object]),
|
|
@@ -160,7 +163,7 @@ __decorate([
|
|
|
160
163
|
(0, decorators_1.Options)('/.well-known/oauth-protected-resource/*resourcePath', {
|
|
161
164
|
skipAuth: true,
|
|
162
165
|
usesTemplates: true,
|
|
163
|
-
ipRateLimit:
|
|
166
|
+
ipRateLimit: wellKnownIpRateLimit,
|
|
164
167
|
}),
|
|
165
168
|
__metadata("design:type", Function),
|
|
166
169
|
__metadata("design:paramtypes", [Object, Object]),
|
|
@@ -170,7 +173,7 @@ __decorate([
|
|
|
170
173
|
(0, decorators_1.Get)('/.well-known/oauth-protected-resource/*resourcePath', {
|
|
171
174
|
skipAuth: true,
|
|
172
175
|
usesTemplates: true,
|
|
173
|
-
ipRateLimit:
|
|
176
|
+
ipRateLimit: wellKnownIpRateLimit,
|
|
174
177
|
}),
|
|
175
178
|
__metadata("design:type", Function),
|
|
176
179
|
__metadata("design:paramtypes", [Object, Object]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.controller.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8FAAmG;AACnG,4FAAuG;AACvG,wFAA6F;AAC7F,sFAAuF;AACvF,wDAA6C;AAC7C,wCAA2C;AAC3C,8CAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"oauth.controller.js","sourceRoot":"","sources":["../../../src/modules/oauth-server/oauth.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8FAAmG;AACnG,4FAAuG;AACvG,wFAA6F;AAC7F,sFAAuF;AACvF,wDAA6C;AAC7C,wCAA2C;AAC3C,8CAAsC;AACtC,gDAMyB;AACzB,gCAAoC;AAGpC,wFAAmF;AACnF,wDAAoD;AAEpD,+DAA0D;AAC1D,iEAA4D;AAC5D,iDAAqE;AAErE,MAAM,kBAAkB,GAAG,cAAS,CAAC,GAAG,CAAC,yCAAkB,CAAC,CAAC;AAC7D,MAAM,YAAY,GAAG,cAAS,CAAC,GAAG,CAAC,qBAAY,CAAC,CAAC;AACjD,MAAM,iBAAiB,GAAG,cAAS,CAAC,GAAG,CAAC,uCAAiB,CAAC,CAAC;AAC3D,MAAM,MAAM,GAAG,cAAS,CAAC,GAAG,CAAC,uBAAM,CAAC,CAAC;AAcrC,MAAM,qBAAqB,GAAmB,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;IACvE,IAAI,MAAM,kBAAkB,CAAC,oBAAoB,EAAE,EAAE,CAAC;QACrD,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,uBAAuB,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,wEAAwE,EAAE;YACrF,KAAK;SACL,CAAC,CAAC;QACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;YACpB,KAAK,EAAE,cAAc;YACrB,iBAAiB,EAAE,IAAA,kDAAmC,EAAC,KAAK,CAAC;SAC7D,CAAC,CAAC;QACH,OAAO;IACR,CAAC;IACD,IAAI,EAAE,CAAC;AACR,CAAC,CAAC;AAKF,MAAM,cAAc,GAAG,IAAA,uCAAyB,EAAC;IAChD,YAAY,EAAE,kBAAkB,CAAC,YAAY;CAC7C,CAAW,CAAC;AACb,MAAM,eAAe,GAAG,IAAA,mCAAoB,EAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAW,CAAC;AACzF,MAAM,WAAW,GAAG,IAAA,uBAAY,EAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAW,CAAC;AAC7E,MAAM,YAAY,GAAG,IAAA,6BAAiB,EAAC,EAAE,QAAQ,EAAE,kBAAkB,EAAE,CAAW,CAAC;AAEnF,MAAM,qBAAqB,GAAG,CAAC,QAAiC,EAA0B,EAAE,CAAC;IAC5F;QACC,IAAI,EAAE,GAAG,QAAQ,WAAW;QAC5B,MAAM,EAAE,cAAc;QACtB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,CAAC,qBAAqB,CAAC;QACpC,WAAW,EAAE,IAAA,8BAAiB,EAC7B,iBAAiB,CAAC,iBAAiB,EACnC,CAAC,GAAG,gBAAI,CAAC,OAAO,CAAC,cAAc,CAC/B;KACD;IACD;QACC,IAAI,EAAE,GAAG,QAAQ,YAAY;QAC7B,MAAM,EAAE,eAAe;QACvB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAA,8BAAiB,EAC7B,iBAAiB,CAAC,kBAAkB,EACpC,CAAC,GAAG,gBAAI,CAAC,OAAO,CAAC,cAAc,CAC/B;KACD;IACD;QACC,IAAI,EAAE,GAAG,QAAQ,QAAQ;QACzB,MAAM,EAAE,WAAW;QACnB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAA,8BAAiB,EAC7B,iBAAiB,CAAC,cAAc,EAChC,CAAC,GAAG,gBAAI,CAAC,OAAO,CAAC,cAAc,CAC/B;KACD;IACD;QACC,IAAI,EAAE,GAAG,QAAQ,SAAS;QAC1B,MAAM,EAAE,YAAY;QACpB,QAAQ,EAAE,IAAI;QACd,WAAW,EAAE,IAAA,8BAAiB,EAC7B,iBAAiB,CAAC,eAAe,EACjC,CAAC,GAAG,gBAAI,CAAC,OAAO,CAAC,cAAc,CAC/B;KACD;CACD,CAAC;AAEF,MAAM,oBAAoB,GAAG,IAAA,8BAAiB,EAC7C,iBAAiB,CAAC,kBAAkB,EACpC,CAAC,GAAG,gBAAI,CAAC,OAAO,CAAC,cAAc,CAC/B,CAAC;AAGK,IAAM,eAAe,GAArB,MAAM,eAAe;IAC3B,YACkB,UAAsB,EACtB,gBAA2C;QAD3C,eAAU,GAAV,UAAU,CAAY;QACtB,qBAAgB,GAAhB,gBAAgB,CAA2B;IAC1D,CAAC;IAGI,cAAc,CAAC,GAAa;QAEnC,GAAG,CAAC,MAAM,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;QAC/C,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;QAC3D,GAAG,CAAC,MAAM,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;IAC5D,CAAC;IAYD,eAAe,CAAC,IAAa,EAAE,GAAa;QAC3C,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACzB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;IAgBD,QAAQ,CAAC,IAAa,EAAE,GAAa;QACpC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACrD,MAAM,QAAQ,GAAG;YAChB,MAAM,EAAE,OAAO;YACf,sBAAsB,EAAE,GAAG,OAAO,sBAAsB;YACxD,cAAc,EAAE,GAAG,OAAO,kBAAkB;YAC5C,qBAAqB,EAAE,GAAG,OAAO,qBAAqB;YACtD,mBAAmB,EAAE,GAAG,OAAO,mBAAmB;YAClD,wBAAwB,EAAE,CAAC,MAAM,CAAC;YAClC,qBAAqB,EAAE,CAAC,oBAAoB,EAAE,eAAe,CAAC;YAC9D,qCAAqC,EAAE,CAAC,MAAM,EAAE,oBAAoB,EAAE,qBAAqB,CAAC;YAC5F,gCAAgC,EAAE,CAAC,MAAM,CAAC;YAC1C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE;SACtD,CAAC;QAEF,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;IAOD,gCAAgC,CAAC,IAAa,EAAE,GAAa;QAC5D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QACzB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;IAYK,AAAN,KAAK,CAAC,yBAAyB,CAAC,GAAY,EAAE,GAAa;QAC1D,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;QAEzB,MAAM,YAAY,GACjB,GAAG;YACH,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC;gBACtC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC;gBACnC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;QAC7B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC;QAC7E,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;YAChE,OAAO;QACR,CAAC;QAED,MAAM,OAAO,GAAG,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;QACrD,MAAM,QAAQ,GAA4B;YACzC,QAAQ,EAAE,QAAQ,CAAC,cAAc,EAAE;YACnC,wBAAwB,EAAE,CAAC,QAAQ,CAAC;YACpC,qBAAqB,EAAE,CAAC,OAAO,CAAC;SAChC,CAAC;QAEF,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAChC,QAAQ,CAAC,gBAAgB,GAAG,QAAQ,CAAC,MAAM,CAAC;QAC7C,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACpB,CAAC;;AA7GW,0CAAe;AAcpB,uBAAO,GAA2B;IACxC,GAAG,qBAAqB,CAAC,YAAY,CAAC;IACtC,GAAG,qBAAqB,CAAC,QAAQ,CAAC;CAClC,AAHa,CAGZ;AAOF;IALC,IAAA,oBAAO,EAAC,yCAAyC,EAAE;QACnD,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,oBAAoB;KACjC,CAAC;;;;sDAID;AAgBD;IALC,IAAA,gBAAG,EAAC,yCAAyC,EAAE;QAC/C,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,oBAAoB;KACjC,CAAC;;;;+CAmBD;AAOD;IALC,IAAA,oBAAO,EAAC,qDAAqD,EAAE;QAC/D,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,oBAAoB;KACjC,CAAC;;;;uEAID;AAYK;IALL,IAAA,gBAAG,EAAC,qDAAqD,EAAE;QAC3D,QAAQ,EAAE,IAAI;QACd,aAAa,EAAE,IAAI;QACnB,WAAW,EAAE,oBAAoB;KACjC,CAAC;;;;gEA2BD;0BA7GW,eAAe;IAD3B,IAAA,gCAAmB,EAAC,GAAG,CAAC;qCAGM,wBAAU;QACJ,uDAAyB;GAHjD,eAAe,CA8G3B"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "n8n",
|
|
3
|
-
"version": "2.27.
|
|
3
|
+
"version": "2.27.1",
|
|
4
4
|
"description": "n8n Workflow Automation Tool",
|
|
5
5
|
"main": "dist/index",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
"openai": "6.19.0",
|
|
59
59
|
"openapi-types": "^12.1.3",
|
|
60
60
|
"ts-essentials": "^7.0.3",
|
|
61
|
-
"@n8n/backend-test-utils": "1.27.
|
|
61
|
+
"@n8n/backend-test-utils": "1.27.1",
|
|
62
62
|
"@n8n/playwright-janitor": "0.1.0",
|
|
63
63
|
"@n8n/typescript-config": "1.6.0",
|
|
64
64
|
"n8n-containers": "1.0.0"
|
|
@@ -172,33 +172,33 @@
|
|
|
172
172
|
"yargs-parser": "21.1.1",
|
|
173
173
|
"zod": "3.25.67",
|
|
174
174
|
"zod-to-json-schema": "3.23.3",
|
|
175
|
-
"@n8n/agents": "0.12.
|
|
176
|
-
"@n8n/ai-utilities": "0.20.
|
|
177
|
-
"@n8n/ai-
|
|
178
|
-
"@n8n/backend-common": "1.27.
|
|
179
|
-
"@n8n/
|
|
180
|
-
"@n8n/backend-network": "1.1.0",
|
|
175
|
+
"@n8n/agents": "0.12.1",
|
|
176
|
+
"@n8n/ai-utilities": "0.20.1",
|
|
177
|
+
"@n8n/ai-workflow-builder": "1.27.1",
|
|
178
|
+
"@n8n/backend-common": "1.27.1",
|
|
179
|
+
"@n8n/backend-network": "1.1.1",
|
|
181
180
|
"@n8n/api-types": "1.27.0",
|
|
182
181
|
"@n8n/chat-hub": "1.20.0",
|
|
183
182
|
"@n8n/client-oauth2": "1.9.0",
|
|
184
|
-
"@n8n/
|
|
185
|
-
"@n8n/
|
|
186
|
-
"@n8n/di": "0.14.0",
|
|
187
|
-
"@n8n/errors": "0.10.0",
|
|
188
|
-
"@n8n/expression-runtime": "0.18.0",
|
|
189
|
-
"@n8n/config": "2.25.0",
|
|
183
|
+
"@n8n/config": "2.25.1",
|
|
184
|
+
"@n8n/ai-node-sdk": "0.17.1",
|
|
190
185
|
"@n8n/constants": "0.27.0",
|
|
191
|
-
"@n8n/
|
|
186
|
+
"@n8n/expression-runtime": "0.18.0",
|
|
192
187
|
"@n8n/mcp-apps": "0.4.0",
|
|
193
|
-
"@n8n/
|
|
188
|
+
"@n8n/decorators": "1.27.1",
|
|
189
|
+
"@n8n/instance-ai": "1.12.1",
|
|
190
|
+
"@n8n/n8n-nodes-langchain": "2.27.1",
|
|
191
|
+
"@n8n/db": "1.27.1",
|
|
194
192
|
"@n8n/permissions": "0.64.0",
|
|
195
193
|
"@n8n/syslog-client": "1.6.0",
|
|
196
|
-
"@n8n/task-runner": "2.27.
|
|
197
|
-
"@n8n/
|
|
194
|
+
"@n8n/task-runner": "2.27.1",
|
|
195
|
+
"@n8n/di": "0.14.0",
|
|
196
|
+
"@n8n/errors": "0.10.0",
|
|
198
197
|
"@n8n/utils": "1.35.0",
|
|
199
|
-
"n8n-
|
|
198
|
+
"@n8n/workflow-sdk": "0.20.0",
|
|
199
|
+
"n8n-core": "2.27.1",
|
|
200
|
+
"n8n-nodes-base": "2.27.1",
|
|
200
201
|
"n8n-workflow": "2.27.0",
|
|
201
|
-
"n8n-core": "2.27.0",
|
|
202
202
|
"n8n-editor-ui": "2.27.0"
|
|
203
203
|
},
|
|
204
204
|
"license": "SEE LICENSE IN LICENSE.md",
|