n8n 1.121.2 → 1.122.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/active-workflow-manager.js +35 -13
- package/dist/active-workflow-manager.js.map +1 -1
- package/dist/auth/auth.service.js +1 -0
- package/dist/auth/auth.service.js.map +1 -1
- package/dist/build.tsbuildinfo +1 -1
- package/dist/commands/base-command.d.ts +2 -1
- package/dist/commands/base-command.js +1 -0
- package/dist/commands/base-command.js.map +1 -1
- package/dist/commands/execute-batch.d.ts +2 -2
- package/dist/commands/start.js +2 -1
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/webhook.js +1 -1
- package/dist/commands/webhook.js.map +1 -1
- package/dist/commands/worker.js +2 -1
- package/dist/commands/worker.js.map +1 -1
- package/dist/controllers/ai.controller.d.ts +1 -0
- package/dist/credentials/credentials-finder.service.d.ts +18 -3
- package/dist/credentials/credentials-finder.service.js +63 -7
- package/dist/credentials/credentials-finder.service.js.map +1 -1
- package/dist/credentials/credentials.controller.d.ts +4 -0
- package/dist/credentials/credentials.controller.js +9 -0
- package/dist/credentials/credentials.controller.js.map +1 -1
- package/dist/credentials/credentials.service.d.ts +25 -1
- package/dist/credentials/credentials.service.ee.d.ts +2 -0
- package/dist/credentials/credentials.service.js +100 -67
- package/dist/credentials/credentials.service.js.map +1 -1
- package/dist/environments.ee/source-control/source-control-export.service.ee.js +2 -1
- package/dist/environments.ee/source-control/source-control-export.service.ee.js.map +1 -1
- package/dist/environments.ee/source-control/source-control-import.service.ee.js +21 -8
- package/dist/environments.ee/source-control/source-control-import.service.ee.js.map +1 -1
- package/dist/environments.ee/source-control/source-control-status.service.ee.js +2 -1
- package/dist/environments.ee/source-control/source-control-status.service.ee.js.map +1 -1
- package/dist/environments.ee/source-control/types/exportable-credential.d.ts +1 -0
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.js +2 -2
- package/dist/evaluation.ee/test-runner/test-runner.service.ee.js.map +1 -1
- package/dist/eventbus/message-event-bus/message-event-bus.js +1 -1
- package/dist/eventbus/message-event-bus/message-event-bus.js.map +1 -1
- package/dist/events/maps/relay.event-map.d.ts +9 -0
- package/dist/events/relays/telemetry.event-relay.d.ts +2 -0
- package/dist/events/relays/telemetry.event-relay.js +12 -0
- package/dist/events/relays/telemetry.event-relay.js.map +1 -1
- package/dist/execution-lifecycle/shared/shared-hook-functions.js +1 -0
- package/dist/execution-lifecycle/shared/shared-hook-functions.js.map +1 -1
- package/dist/executions/execution-data.service.d.ts +1 -1
- package/dist/executions/execution-data.service.js +3 -2
- package/dist/executions/execution-data.service.js.map +1 -1
- package/dist/executions/execution-recovery.service.js +1 -1
- package/dist/executions/execution-recovery.service.js.map +1 -1
- package/dist/executions/execution.service.js +1 -0
- package/dist/executions/execution.service.js.map +1 -1
- package/dist/executions/execution.utils.d.ts +2 -0
- package/dist/executions/execution.utils.js +7 -0
- package/dist/executions/execution.utils.js.map +1 -0
- package/dist/executions/pre-execution-checks/credentials-permission-checker.d.ts +4 -2
- package/dist/executions/pre-execution-checks/credentials-permission-checker.js +16 -2
- package/dist/executions/pre-execution-checks/credentials-permission-checker.js.map +1 -1
- package/dist/metrics/prometheus-metrics.service.d.ts +7 -2
- package/dist/metrics/prometheus-metrics.service.js +95 -2
- package/dist/metrics/prometheus-metrics.service.js.map +1 -1
- package/dist/metrics/types.d.ts +1 -1
- package/dist/middlewares/body-parser.js +3 -0
- package/dist/middlewares/body-parser.js.map +1 -1
- package/dist/middlewares/list-query/dtos/workflow.select.dto.js +1 -0
- package/dist/middlewares/list-query/dtos/workflow.select.dto.js.map +1 -1
- package/dist/modules/breaking-changes/breaking-changes.service.js +2 -2
- package/dist/modules/breaking-changes/breaking-changes.service.js.map +1 -1
- package/dist/modules/breaking-changes/rules/v2/binary-data-storage.rule.d.ts +3 -1
- package/dist/modules/breaking-changes/rules/v2/binary-data-storage.rule.js +27 -19
- package/dist/modules/breaking-changes/rules/v2/binary-data-storage.rule.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-agent.service.js +1 -0
- package/dist/modules/chat-hub/chat-hub-agent.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-credentials.service.js +2 -2
- package/dist/modules/chat-hub/chat-hub-credentials.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-message.entity.d.ts +2 -0
- package/dist/modules/chat-hub/chat-hub-message.entity.js +4 -0
- package/dist/modules/chat-hub/chat-hub-message.entity.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub-workflow.service.d.ts +4 -2
- package/dist/modules/chat-hub/chat-hub-workflow.service.js +147 -22
- package/dist/modules/chat-hub/chat-hub-workflow.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.attachment.service.d.ts +28 -0
- package/dist/modules/chat-hub/chat-hub.attachment.service.js +96 -0
- package/dist/modules/chat-hub/chat-hub.attachment.service.js.map +1 -0
- package/dist/modules/chat-hub/chat-hub.constants.d.ts +1 -0
- package/dist/modules/chat-hub/chat-hub.constants.js +46 -1
- package/dist/modules/chat-hub/chat-hub.constants.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.controller.d.ts +6 -3
- package/dist/modules/chat-hub/chat-hub.controller.js +59 -12
- package/dist/modules/chat-hub/chat-hub.controller.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.module.d.ts +13 -1
- package/dist/modules/chat-hub/chat-hub.module.js +3 -2
- package/dist/modules/chat-hub/chat-hub.module.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.service.d.ts +23 -8
- package/dist/modules/chat-hub/chat-hub.service.js +578 -102
- package/dist/modules/chat-hub/chat-hub.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.settings.controller.d.ts +39 -5
- package/dist/modules/chat-hub/chat-hub.settings.controller.js +28 -11
- package/dist/modules/chat-hub/chat-hub.settings.controller.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.settings.service.d.ts +5 -0
- package/dist/modules/chat-hub/chat-hub.settings.service.js +62 -3
- package/dist/modules/chat-hub/chat-hub.settings.service.js.map +1 -1
- package/dist/modules/chat-hub/chat-hub.types.d.ts +37 -1
- package/dist/modules/chat-hub/chat-hub.types.js +12 -0
- package/dist/modules/chat-hub/chat-hub.types.js.map +1 -1
- package/dist/modules/chat-hub/chat-message.repository.d.ts +2 -0
- package/dist/modules/chat-hub/chat-message.repository.js.map +1 -1
- package/dist/modules/chat-hub/chat-session.repository.d.ts +1 -1
- package/dist/modules/chat-hub/chat-session.repository.js +20 -5
- package/dist/modules/chat-hub/chat-session.repository.js.map +1 -1
- package/dist/modules/chat-hub/context-limits.js +11 -0
- package/dist/modules/chat-hub/context-limits.js.map +1 -1
- package/dist/modules/chat-hub/dto/chat-models-request.dto.d.ts +1 -1
- package/dist/modules/community-packages/community-node.command.js +1 -1
- package/dist/modules/community-packages/community-node.command.js.map +1 -1
- package/dist/modules/community-packages/community-packages.controller.js +3 -2
- package/dist/modules/community-packages/community-packages.controller.js.map +1 -1
- package/dist/modules/community-packages/community-packages.service.d.ts +1 -1
- package/dist/modules/community-packages/community-packages.service.js +9 -9
- package/dist/modules/community-packages/community-packages.service.js.map +1 -1
- package/dist/modules/data-table/csv-parser.service.d.ts +22 -0
- package/dist/modules/data-table/csv-parser.service.js +157 -0
- package/dist/modules/data-table/csv-parser.service.js.map +1 -0
- package/dist/modules/data-table/data-table-file-cleanup.service.d.ts +12 -0
- package/dist/modules/data-table/data-table-file-cleanup.service.js +81 -0
- package/dist/modules/data-table/data-table-file-cleanup.service.js.map +1 -0
- package/dist/modules/data-table/data-table-size-validator.service.d.ts +0 -1
- package/dist/modules/data-table/data-table-size-validator.service.js +2 -4
- package/dist/modules/data-table/data-table-size-validator.service.js.map +1 -1
- package/dist/modules/data-table/data-table-uploads.controller.d.ts +13 -0
- package/dist/modules/data-table/data-table-uploads.controller.js +68 -0
- package/dist/modules/data-table/data-table-uploads.controller.js.map +1 -0
- package/dist/modules/data-table/data-table.controller.d.ts +7 -0
- package/dist/modules/data-table/data-table.controller.js +28 -0
- package/dist/modules/data-table/data-table.controller.js.map +1 -1
- package/dist/modules/data-table/data-table.module.js +5 -0
- package/dist/modules/data-table/data-table.module.js.map +1 -1
- package/dist/modules/data-table/data-table.service.d.ts +14 -1
- package/dist/modules/data-table/data-table.service.js +115 -2
- package/dist/modules/data-table/data-table.service.js.map +1 -1
- package/dist/modules/data-table/errors/data-table-file-upload.error.d.ts +4 -0
- package/dist/modules/data-table/errors/data-table-file-upload.error.js +13 -0
- package/dist/modules/data-table/errors/data-table-file-upload.error.js.map +1 -0
- package/dist/modules/data-table/multer-upload-middleware.d.ts +15 -0
- package/dist/modules/data-table/multer-upload-middleware.js +98 -0
- package/dist/modules/data-table/multer-upload-middleware.js.map +1 -0
- package/dist/modules/data-table/types.d.ts +12 -0
- package/dist/modules/data-table/types.js +7 -0
- package/dist/modules/data-table/types.js.map +1 -0
- package/dist/modules/data-table/utils/size-utils.d.ts +2 -0
- package/dist/modules/data-table/utils/size-utils.js +19 -0
- package/dist/modules/data-table/utils/size-utils.js.map +1 -0
- package/dist/modules/insights/insights-collection.service.d.ts +2 -1
- package/dist/modules/insights/insights-collection.service.js +12 -1
- package/dist/modules/insights/insights-collection.service.js.map +1 -1
- package/dist/modules/insights/insights.module.js +4 -7
- package/dist/modules/insights/insights.module.js.map +1 -1
- package/dist/modules/insights/insights.service.d.ts +3 -16
- package/dist/modules/insights/insights.service.js +51 -25
- package/dist/modules/insights/insights.service.js.map +1 -1
- package/dist/modules/insights/insights.settings.d.ts +17 -0
- package/dist/modules/insights/insights.settings.js +44 -0
- package/dist/modules/insights/insights.settings.js.map +1 -0
- package/dist/modules/mcp/mcp-api-key.service.d.ts +3 -2
- package/dist/modules/mcp/mcp-api-key.service.js +22 -3
- package/dist/modules/mcp/mcp-api-key.service.js.map +1 -1
- package/dist/modules/mcp/mcp-oauth-token.service.d.ts +4 -3
- package/dist/modules/mcp/mcp-oauth-token.service.js +24 -6
- package/dist/modules/mcp/mcp-oauth-token.service.js.map +1 -1
- package/dist/modules/mcp/mcp-server-middleware.service.d.ts +4 -4
- package/dist/modules/mcp/mcp-server-middleware.service.js +43 -18
- package/dist/modules/mcp/mcp-server-middleware.service.js.map +1 -1
- package/dist/modules/mcp/mcp.errors.d.ts +7 -0
- package/dist/modules/mcp/mcp.errors.js +16 -1
- package/dist/modules/mcp/mcp.errors.js.map +1 -1
- package/dist/modules/mcp/mcp.settings.controller.js +1 -1
- package/dist/modules/mcp/mcp.settings.controller.js.map +1 -1
- package/dist/modules/mcp/mcp.types.d.ts +12 -0
- package/dist/modules/mcp/tools/execute-workflow.tool.js +2 -2
- package/dist/modules/mcp/tools/execute-workflow.tool.js.map +1 -1
- package/dist/modules/mcp/tools/get-workflow-details.tool.js +1 -1
- package/dist/modules/mcp/tools/get-workflow-details.tool.js.map +1 -1
- package/dist/modules/mcp/tools/search-workflows.tool.js +2 -1
- package/dist/modules/mcp/tools/search-workflows.tool.js.map +1 -1
- package/dist/modules/provisioning.ee/provisioning.service.ee.d.ts +3 -1
- package/dist/modules/provisioning.ee/provisioning.service.ee.js +14 -2
- package/dist/modules/provisioning.ee/provisioning.service.ee.js.map +1 -1
- package/dist/permissions.ee/check-access.js +13 -1
- package/dist/permissions.ee/check-access.js.map +1 -1
- package/dist/public-api/types.d.ts +3 -1
- package/dist/public-api/v1/handlers/workflows/workflows.handler.js +36 -14
- package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
- package/dist/public-api/v1/handlers/workflows/workflows.service.d.ts +1 -1
- package/dist/public-api/v1/handlers/workflows/workflows.service.js +6 -1
- package/dist/public-api/v1/handlers/workflows/workflows.service.js.map +1 -1
- package/dist/public-api/v1/openapi.yml +48 -3
- package/dist/requests.d.ts +1 -0
- package/dist/scaling/job-processor.d.ts +1 -0
- package/dist/scaling/job-processor.js +13 -2
- package/dist/scaling/job-processor.js.map +1 -1
- package/dist/scaling/scaling.service.js +13 -2
- package/dist/scaling/scaling.service.js.map +1 -1
- package/dist/scaling/scaling.types.d.ts +1 -0
- package/dist/security-audit/risk-reporters/credentials-risk-reporter.js +4 -3
- package/dist/security-audit/risk-reporters/credentials-risk-reporter.js.map +1 -1
- package/dist/security-audit/risk-reporters/instance-risk-reporter.js +1 -1
- package/dist/security-audit/risk-reporters/instance-risk-reporter.js.map +1 -1
- package/dist/security-audit/security-audit.service.js +1 -1
- package/dist/security-audit/security-audit.service.js.map +1 -1
- package/dist/services/ai-workflow-builder.service.d.ts +5 -1
- package/dist/services/ai-workflow-builder.service.js +12 -3
- package/dist/services/ai-workflow-builder.service.js.map +1 -1
- package/dist/services/import.service.js +2 -1
- package/dist/services/import.service.js.map +1 -1
- package/dist/services/role.service.js +8 -1
- package/dist/services/role.service.js.map +1 -1
- package/dist/task-runners/task-managers/data-request-response-builder.js +3 -2
- package/dist/task-runners/task-managers/data-request-response-builder.js.map +1 -1
- package/dist/task-runners/task-managers/data-request-response-stripper.js +3 -2
- package/dist/task-runners/task-managers/data-request-response-stripper.js.map +1 -1
- package/dist/webhooks/live-webhooks.js +11 -4
- package/dist/webhooks/live-webhooks.js.map +1 -1
- package/dist/webhooks/waiting-forms.d.ts +1 -1
- package/dist/webhooks/waiting-forms.js +2 -1
- package/dist/webhooks/waiting-forms.js.map +1 -1
- package/dist/webhooks/waiting-webhooks.d.ts +2 -1
- package/dist/webhooks/waiting-webhooks.js +2 -1
- package/dist/webhooks/waiting-webhooks.js.map +1 -1
- package/dist/workflow-execute-additional-data.js +13 -7
- package/dist/workflow-execute-additional-data.js.map +1 -1
- package/dist/workflow-helpers.d.ts +2 -0
- package/dist/workflow-helpers.js +10 -0
- package/dist/workflow-helpers.js.map +1 -1
- package/dist/workflow-runner.js +3 -3
- package/dist/workflow-runner.js.map +1 -1
- package/dist/workflows/workflow-execution.service.js +4 -3
- package/dist/workflows/workflow-execution.service.js.map +1 -1
- package/dist/workflows/workflow-finder.service.d.ts +3 -0
- package/dist/workflows/workflow-finder.service.js +1 -0
- package/dist/workflows/workflow-finder.service.js.map +1 -1
- package/dist/workflows/workflow-history/workflow-history-manager.js +1 -1
- package/dist/workflows/workflow-history/workflow-history-manager.js.map +1 -1
- package/dist/workflows/workflow-history/workflow-history.service.d.ts +5 -3
- package/dist/workflows/workflow-history/workflow-history.service.js +18 -4
- package/dist/workflows/workflow-history/workflow-history.service.js.map +1 -1
- package/dist/workflows/workflow.request.d.ts +11 -0
- package/dist/workflows/workflow.service.d.ts +8 -1
- package/dist/workflows/workflow.service.ee.js +3 -3
- package/dist/workflows/workflow.service.ee.js.map +1 -1
- package/dist/workflows/workflow.service.js +145 -46
- package/dist/workflows/workflow.service.js.map +1 -1
- package/dist/workflows/workflows.controller.d.ts +74 -8
- package/dist/workflows/workflows.controller.js +65 -10
- package/dist/workflows/workflows.controller.js.map +1 -1
- package/package.json +18 -17
- package/dist/modules/chat-hub/dto/chat-message-request.dto.d.ts +0 -9
- package/dist/modules/chat-hub/dto/chat-message-request.dto.js +0 -12
- package/dist/modules/chat-hub/dto/chat-message-request.dto.js.map +0 -1
- package/dist/modules/chat-hub/dto/update-chat-settings.dto.d.ts +0 -8
- package/dist/modules/chat-hub/dto/update-chat-settings.dto.js +0 -11
- package/dist/modules/chat-hub/dto/update-chat-settings.dto.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-api-key.service.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp-api-key.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,gCAAyE;AACzE,gCAAkC;AAElC,mCAAoC;
|
|
1
|
+
{"version":3,"file":"mcp-api-key.service.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp-api-key.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { AuthInfo } from '@modelcontextprotocol/sdk/server/auth/types';
|
|
2
2
|
import { OAuthTokens } from '@modelcontextprotocol/sdk/shared/auth';
|
|
3
3
|
import { Logger } from '@n8n/backend-common';
|
|
4
|
-
import {
|
|
5
|
-
import { JwtService } from '../../services/jwt.service';
|
|
4
|
+
import { UserRepository } from '@n8n/db';
|
|
6
5
|
import { AccessTokenRepository } from './database/repositories/oauth-access-token.repository';
|
|
7
6
|
import { RefreshTokenRepository } from './database/repositories/oauth-refresh-token.repository';
|
|
7
|
+
import { UserWithContext } from './mcp.types';
|
|
8
|
+
import { JwtService } from '../../services/jwt.service';
|
|
8
9
|
export declare class McpOAuthTokenService {
|
|
9
10
|
private readonly logger;
|
|
10
11
|
private readonly jwtService;
|
|
@@ -22,7 +23,7 @@ export declare class McpOAuthTokenService {
|
|
|
22
23
|
saveTokenPair(accessToken: string, refreshToken: string, clientId: string, userId: string): Promise<void>;
|
|
23
24
|
validateAndRotateRefreshToken(refreshToken: string, clientId: string): Promise<OAuthTokens>;
|
|
24
25
|
verifyAccessToken(token: string): Promise<AuthInfo>;
|
|
25
|
-
verifyOAuthAccessToken(token: string): Promise<
|
|
26
|
+
verifyOAuthAccessToken(token: string): Promise<UserWithContext>;
|
|
26
27
|
revokeAccessToken(token: string, clientId: string): Promise<boolean>;
|
|
27
28
|
revokeRefreshToken(token: string, clientId: string): Promise<boolean>;
|
|
28
29
|
}
|
|
@@ -15,12 +15,14 @@ const constants_1 = require("@n8n/constants");
|
|
|
15
15
|
const db_1 = require("@n8n/db");
|
|
16
16
|
const di_1 = require("@n8n/di");
|
|
17
17
|
const typeorm_1 = require("@n8n/typeorm");
|
|
18
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
18
19
|
const node_crypto_1 = require("node:crypto");
|
|
19
|
-
const jwt_service_1 = require("../../services/jwt.service");
|
|
20
20
|
const oauth_access_token_entity_1 = require("./database/entities/oauth-access-token.entity");
|
|
21
21
|
const oauth_refresh_token_entity_1 = require("./database/entities/oauth-refresh-token.entity");
|
|
22
22
|
const oauth_access_token_repository_1 = require("./database/repositories/oauth-access-token.repository");
|
|
23
23
|
const oauth_refresh_token_repository_1 = require("./database/repositories/oauth-refresh-token.repository");
|
|
24
|
+
const mcp_errors_1 = require("./mcp.errors");
|
|
25
|
+
const jwt_service_1 = require("../../services/jwt.service");
|
|
24
26
|
let McpOAuthTokenService = class McpOAuthTokenService {
|
|
25
27
|
constructor(logger, jwtService, userRepository, accessTokenRepository, refreshTokenRepository) {
|
|
26
28
|
this.logger = logger;
|
|
@@ -113,13 +115,13 @@ let McpOAuthTokenService = class McpOAuthTokenService {
|
|
|
113
115
|
decoded = this.jwtService.verify(token, { audience: this.MCP_AUDIENCE });
|
|
114
116
|
}
|
|
115
117
|
catch (error) {
|
|
116
|
-
throw new
|
|
118
|
+
throw new mcp_errors_1.JWTVerificationError();
|
|
117
119
|
}
|
|
118
120
|
const accessTokenRecord = await this.accessTokenRepository.findOne({
|
|
119
121
|
where: { token },
|
|
120
122
|
});
|
|
121
123
|
if (!accessTokenRecord) {
|
|
122
|
-
throw new
|
|
124
|
+
throw new mcp_errors_1.AccessTokenNotFoundError();
|
|
123
125
|
}
|
|
124
126
|
return {
|
|
125
127
|
token,
|
|
@@ -135,16 +137,32 @@ let McpOAuthTokenService = class McpOAuthTokenService {
|
|
|
135
137
|
const authInfo = await this.verifyAccessToken(token);
|
|
136
138
|
const userId = authInfo.extra?.userId;
|
|
137
139
|
if (!userId) {
|
|
138
|
-
return null;
|
|
140
|
+
return { user: null, context: { reason: 'user_id_not_in_auth_info', auth_type: 'oauth' } };
|
|
139
141
|
}
|
|
140
142
|
const user = await this.userRepository.findOne({
|
|
141
143
|
where: { id: userId },
|
|
142
144
|
relations: ['role'],
|
|
143
145
|
});
|
|
144
|
-
|
|
146
|
+
if (!user) {
|
|
147
|
+
return { user: null, context: { reason: 'user_not_found', auth_type: 'oauth' } };
|
|
148
|
+
}
|
|
149
|
+
return { user };
|
|
145
150
|
}
|
|
146
151
|
catch (error) {
|
|
147
|
-
|
|
152
|
+
const errorForSure = (0, n8n_workflow_1.ensureError)(error);
|
|
153
|
+
const reason = errorForSure instanceof mcp_errors_1.JWTVerificationError
|
|
154
|
+
? 'invalid_token'
|
|
155
|
+
: errorForSure instanceof mcp_errors_1.AccessTokenNotFoundError
|
|
156
|
+
? 'token_not_found_in_db'
|
|
157
|
+
: 'unknown_error';
|
|
158
|
+
return {
|
|
159
|
+
user: null,
|
|
160
|
+
context: {
|
|
161
|
+
reason,
|
|
162
|
+
auth_type: 'oauth',
|
|
163
|
+
error_details: errorForSure.message,
|
|
164
|
+
},
|
|
165
|
+
};
|
|
148
166
|
}
|
|
149
167
|
}
|
|
150
168
|
async revokeAccessToken(token, clientId) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-oauth-token.service.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp-oauth-token.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,wDAA6C;AAC7C,8CAAsC;AACtC,
|
|
1
|
+
{"version":3,"file":"mcp-oauth-token.service.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp-oauth-token.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
|
-
import { User } from '@n8n/db';
|
|
2
1
|
import { NextFunction, Response, Request } from 'express';
|
|
3
|
-
import { JwtService } from '../../services/jwt.service';
|
|
4
|
-
import { Telemetry } from '../../telemetry';
|
|
5
2
|
import { McpServerApiKeyService } from './mcp-api-key.service';
|
|
6
3
|
import { McpOAuthTokenService } from './mcp-oauth-token.service';
|
|
4
|
+
import type { UserWithContext } from './mcp.types';
|
|
5
|
+
import { JwtService } from '../../services/jwt.service';
|
|
6
|
+
import { Telemetry } from '../../telemetry';
|
|
7
7
|
export declare class McpServerMiddlewareService {
|
|
8
8
|
private readonly mcpServerApiKeyService;
|
|
9
9
|
private readonly mcpAuthTokenService;
|
|
10
10
|
private readonly jwtService;
|
|
11
11
|
private readonly telemetry;
|
|
12
12
|
constructor(mcpServerApiKeyService: McpServerApiKeyService, mcpAuthTokenService: McpOAuthTokenService, jwtService: JwtService, telemetry: Telemetry);
|
|
13
|
-
getUserForToken(token: string): Promise<
|
|
13
|
+
getUserForToken(token: string): Promise<UserWithContext>;
|
|
14
14
|
getAuthMiddleware(): (req: Request, res: Response, next: NextFunction) => Promise<void>;
|
|
15
15
|
private extractBearerToken;
|
|
16
16
|
private responseWithUnauthorized;
|
|
@@ -11,13 +11,14 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.McpServerMiddlewareService = void 0;
|
|
13
13
|
const di_1 = require("@n8n/di");
|
|
14
|
-
const
|
|
15
|
-
const jwt_service_1 = require("../../services/jwt.service");
|
|
16
|
-
const telemetry_1 = require("../../telemetry");
|
|
14
|
+
const n8n_workflow_1 = require("n8n-workflow");
|
|
17
15
|
const mcp_api_key_service_1 = require("./mcp-api-key.service");
|
|
18
16
|
const mcp_oauth_token_service_1 = require("./mcp-oauth-token.service");
|
|
19
17
|
const mcp_constants_1 = require("./mcp.constants");
|
|
20
18
|
const mcp_utils_1 = require("./mcp.utils");
|
|
19
|
+
const auth_error_1 = require("../../errors/response-errors/auth.error");
|
|
20
|
+
const jwt_service_1 = require("../../services/jwt.service");
|
|
21
|
+
const telemetry_1 = require("../../telemetry");
|
|
21
22
|
let McpServerMiddlewareService = class McpServerMiddlewareService {
|
|
22
23
|
constructor(mcpServerApiKeyService, mcpAuthTokenService, jwtService, telemetry) {
|
|
23
24
|
this.mcpServerApiKeyService = mcpServerApiKeyService;
|
|
@@ -31,7 +32,14 @@ let McpServerMiddlewareService = class McpServerMiddlewareService {
|
|
|
31
32
|
decoded = this.jwtService.decode(token);
|
|
32
33
|
}
|
|
33
34
|
catch (error) {
|
|
34
|
-
return
|
|
35
|
+
return {
|
|
36
|
+
user: null,
|
|
37
|
+
context: {
|
|
38
|
+
reason: 'jwt_decode_failed',
|
|
39
|
+
auth_type: 'unknown',
|
|
40
|
+
error_details: (0, n8n_workflow_1.ensureError)(error).message,
|
|
41
|
+
},
|
|
42
|
+
};
|
|
35
43
|
}
|
|
36
44
|
if (decoded?.meta?.isOAuth === true) {
|
|
37
45
|
return await this.mcpAuthTokenService.verifyOAuthAccessToken(token);
|
|
@@ -42,17 +50,30 @@ let McpServerMiddlewareService = class McpServerMiddlewareService {
|
|
|
42
50
|
return async (req, res, next) => {
|
|
43
51
|
const authorizationHeader = req.header('authorization');
|
|
44
52
|
if (!authorizationHeader) {
|
|
45
|
-
this.responseWithUnauthorized(res, req
|
|
53
|
+
this.responseWithUnauthorized(res, req, {
|
|
54
|
+
reason: 'missing_authorization_header',
|
|
55
|
+
auth_type: 'unknown',
|
|
56
|
+
error_details: 'Authorization header not sent',
|
|
57
|
+
});
|
|
46
58
|
return;
|
|
47
59
|
}
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
this.
|
|
60
|
+
let token;
|
|
61
|
+
try {
|
|
62
|
+
token = this.extractBearerToken(authorizationHeader);
|
|
63
|
+
}
|
|
64
|
+
catch (er) {
|
|
65
|
+
const error = (0, n8n_workflow_1.ensureError)(er);
|
|
66
|
+
this.responseWithUnauthorized(res, req, {
|
|
67
|
+
reason: 'invalid_bearer_format',
|
|
68
|
+
auth_type: 'unknown',
|
|
69
|
+
error_details: error.message,
|
|
70
|
+
});
|
|
51
71
|
return;
|
|
52
72
|
}
|
|
53
|
-
const
|
|
73
|
+
const result = await this.getUserForToken(token);
|
|
74
|
+
const user = result.user;
|
|
54
75
|
if (!user) {
|
|
55
|
-
this.responseWithUnauthorized(res, req);
|
|
76
|
+
this.responseWithUnauthorized(res, req, result.context);
|
|
56
77
|
return;
|
|
57
78
|
}
|
|
58
79
|
req.user = user;
|
|
@@ -61,27 +82,31 @@ let McpServerMiddlewareService = class McpServerMiddlewareService {
|
|
|
61
82
|
}
|
|
62
83
|
extractBearerToken(headerValue) {
|
|
63
84
|
if (!headerValue.startsWith('Bearer')) {
|
|
64
|
-
throw new auth_error_1.AuthError('Invalid authorization header format');
|
|
85
|
+
throw new auth_error_1.AuthError('Invalid authorization header format - Missing Bearer prefix');
|
|
65
86
|
}
|
|
66
87
|
const tokenMatch = headerValue.match(/^Bearer\s+(.+)$/i);
|
|
67
88
|
if (tokenMatch) {
|
|
68
89
|
return tokenMatch[1];
|
|
69
90
|
}
|
|
70
|
-
throw new auth_error_1.AuthError('Invalid authorization header format');
|
|
91
|
+
throw new auth_error_1.AuthError('Invalid authorization header format - Malformed Bearer token');
|
|
71
92
|
}
|
|
72
|
-
responseWithUnauthorized(res, req) {
|
|
73
|
-
this.trackUnauthorizedEvent(req);
|
|
93
|
+
responseWithUnauthorized(res, req, context) {
|
|
94
|
+
this.trackUnauthorizedEvent(req, context);
|
|
74
95
|
res.header('WWW-Authenticate', 'Bearer realm="n8n MCP Server"');
|
|
75
|
-
res.status(401).send({
|
|
96
|
+
res.status(401).send({
|
|
97
|
+
message: `${mcp_constants_1.UNAUTHORIZED_ERROR_MESSAGE}${context?.error_details ? ': ' + context.error_details : ''}`,
|
|
98
|
+
});
|
|
76
99
|
}
|
|
77
|
-
trackUnauthorizedEvent(req) {
|
|
100
|
+
trackUnauthorizedEvent(req, context) {
|
|
78
101
|
const clientInfo = (0, mcp_utils_1.getClientInfo)(req);
|
|
79
|
-
|
|
102
|
+
const payload = {
|
|
80
103
|
mcp_connection_status: 'error',
|
|
81
104
|
error: mcp_constants_1.UNAUTHORIZED_ERROR_MESSAGE,
|
|
82
105
|
client_name: clientInfo?.name,
|
|
83
106
|
client_version: clientInfo?.version,
|
|
84
|
-
|
|
107
|
+
...context,
|
|
108
|
+
};
|
|
109
|
+
this.telemetry.track(mcp_constants_1.USER_CONNECTED_TO_MCP_EVENT, payload);
|
|
85
110
|
}
|
|
86
111
|
};
|
|
87
112
|
exports.McpServerMiddlewareService = McpServerMiddlewareService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server-middleware.service.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp-server-middleware.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,gCAAkC;
|
|
1
|
+
{"version":3,"file":"mcp-server-middleware.service.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp-server-middleware.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
import { UserError } from 'n8n-workflow';
|
|
2
|
+
import { AuthError } from '../../errors/response-errors/auth.error';
|
|
2
3
|
export declare class McpExecutionTimeoutError extends UserError {
|
|
3
4
|
executionId: string | null;
|
|
4
5
|
timeoutMs: number;
|
|
5
6
|
constructor(executionId: string | null, timeoutMs: number);
|
|
6
7
|
}
|
|
8
|
+
export declare class JWTVerificationError extends AuthError {
|
|
9
|
+
constructor();
|
|
10
|
+
}
|
|
11
|
+
export declare class AccessTokenNotFoundError extends AuthError {
|
|
12
|
+
constructor();
|
|
13
|
+
}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.McpExecutionTimeoutError = void 0;
|
|
3
|
+
exports.AccessTokenNotFoundError = exports.JWTVerificationError = exports.McpExecutionTimeoutError = void 0;
|
|
4
4
|
const constants_1 = require("@n8n/constants");
|
|
5
5
|
const n8n_workflow_1 = require("n8n-workflow");
|
|
6
|
+
const auth_error_1 = require("../../errors/response-errors/auth.error");
|
|
6
7
|
class McpExecutionTimeoutError extends n8n_workflow_1.UserError {
|
|
7
8
|
constructor(executionId, timeoutMs) {
|
|
8
9
|
const timeoutSeconds = timeoutMs / constants_1.Time.milliseconds.toSeconds;
|
|
@@ -13,4 +14,18 @@ class McpExecutionTimeoutError extends n8n_workflow_1.UserError {
|
|
|
13
14
|
}
|
|
14
15
|
}
|
|
15
16
|
exports.McpExecutionTimeoutError = McpExecutionTimeoutError;
|
|
17
|
+
class JWTVerificationError extends auth_error_1.AuthError {
|
|
18
|
+
constructor() {
|
|
19
|
+
super('JWT Verification Failed');
|
|
20
|
+
this.name = 'JWTVerificationError';
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.JWTVerificationError = JWTVerificationError;
|
|
24
|
+
class AccessTokenNotFoundError extends auth_error_1.AuthError {
|
|
25
|
+
constructor() {
|
|
26
|
+
super('Access Token Not Found in Database');
|
|
27
|
+
this.name = 'AccessTokenNotFoundError';
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.AccessTokenNotFoundError = AccessTokenNotFoundError;
|
|
16
31
|
//# sourceMappingURL=mcp.errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.errors.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp.errors.ts"],"names":[],"mappings":";;;AAAA,8CAAsC;AACtC,+CAAyC;
|
|
1
|
+
{"version":3,"file":"mcp.errors.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp.errors.ts"],"names":[],"mappings":";;;AAAA,8CAAsC;AACtC,+CAAyC;AAEzC,oEAAgE;AAKhE,MAAa,wBAAyB,SAAQ,wBAAS;IAItD,YAAY,WAA0B,EAAE,SAAiB;QACxD,MAAM,cAAc,GAAG,SAAS,GAAG,gBAAI,CAAC,YAAY,CAAC,SAAS,CAAC;QAC/D,KAAK,CAAC,sCAAsC,cAAc,UAAU,CAAC,CAAC;QAEtE,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC5B,CAAC;CACD;AAZD,4DAYC;AAED,MAAa,oBAAqB,SAAQ,sBAAS;IAClD;QACC,KAAK,CAAC,yBAAyB,CAAC,CAAC;QACjC,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;IACpC,CAAC;CACD;AALD,oDAKC;AAED,MAAa,wBAAyB,SAAQ,sBAAS;IACtD;QACC,KAAK,CAAC,oCAAoC,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACxC,CAAC;CACD;AALD,4DAKC"}
|
|
@@ -65,7 +65,7 @@ let McpSettingsController = class McpSettingsController {
|
|
|
65
65
|
});
|
|
66
66
|
throw new not_found_error_1.NotFoundError('Could not load the workflow - you can only access workflows available to you');
|
|
67
67
|
}
|
|
68
|
-
if (!workflow.
|
|
68
|
+
if (!workflow.activeVersionId && dto.availableInMCP) {
|
|
69
69
|
throw new bad_request_error_1.BadRequestError('MCP access can only be set for active workflows');
|
|
70
70
|
}
|
|
71
71
|
const supportedTrigger = (0, mcp_utils_1.findMcpSupportedTrigger)(workflow);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.settings.controller.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp.settings.controller.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,wDAA6D;AAC7D,gCAAoE;AACpE,gDASyB;AAGzB,2EAAqE;AACrE,6FAAuF;AACvF,+DAA+D;AAC/D,mDAAyD;AACzD,iEAA4D;AAC5D,2CAAsD;AAEtD,kFAA6E;AAC7E,8EAAyE;AACzE,iFAA4E;AAC5E,mEAA+D;AAGxD,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IACjC,YACkB,kBAAsC,EACtC,MAAc,EACd,cAA8B,EAC9B,sBAA8C,EAC9C,qBAA4C,EAC5C,eAAgC;QALhC,uBAAkB,GAAlB,kBAAkB,CAAoB;QACtC,WAAM,GAAN,MAAM,CAAQ;QACd,mBAAc,GAAd,cAAc,CAAgB;QAC9B,2BAAsB,GAAtB,sBAAsB,CAAwB;QAC9C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,oBAAe,GAAf,eAAe,CAAiB;IAC/C,CAAC;IAIE,AAAN,KAAK,CAAC,cAAc,CACnB,IAA0B,EAC1B,IAAc,EACR,GAAyB;QAE/B,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC;QACrC,MAAM,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;QAClD,IAAI,CAAC;YACJ,MAAM,IAAI,CAAC,cAAc,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gDAAgD,EAAE;gBAClE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC7D,CAAC,CAAC;QACJ,CAAC;QACD,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,CAAC;IACtC,CAAC;IAIK,AAAN,KAAK,CAAC,qBAAqB,CAAC,GAAyB;QACpD,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtE,CAAC;IAIK,AAAN,KAAK,CAAC,wBAAwB,CAAC,GAAyB;QACvD,OAAO,MAAM,IAAI,CAAC,sBAAsB,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC1E,CAAC;IAIK,AAAN,KAAK,CAAC,uBAAuB,CAC5B,GAAyB,EACzB,IAAc,EACO,UAAkB,EACjC,GAAkC;QAExC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,UAAU,EAAE,GAAG,CAAC,IAAI,EAAE;YAC3F,iBAAiB;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+DAA+D,EAAE;gBACjF,UAAU;gBACV,MAAM,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE;aACnB,CAAC,CAAC;YACH,MAAM,IAAI,+BAAa,CACtB,8EAA8E,CAC9E,CAAC;QACH,CAAC;QAED,IAAI,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"mcp.settings.controller.js","sourceRoot":"","sources":["../../../src/modules/mcp/mcp.settings.controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { type ToolCallback } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
2
|
+
import type { User } from '@n8n/db';
|
|
2
3
|
import type { INode } from 'n8n-workflow';
|
|
3
4
|
import type z from 'zod';
|
|
4
5
|
import type { SUPPORTED_MCP_TRIGGERS } from './mcp.constants';
|
|
@@ -80,4 +81,15 @@ type SupportedTriggerNodeTypes = keyof typeof SUPPORTED_MCP_TRIGGERS;
|
|
|
80
81
|
export type MCPTriggersMap = {
|
|
81
82
|
[K in SupportedTriggerNodeTypes]: INode[];
|
|
82
83
|
};
|
|
84
|
+
export type AuthFailureReason = 'missing_authorization_header' | 'invalid_bearer_format' | 'jwt_decode_failed' | 'invalid_token' | 'token_not_found_in_db' | 'user_not_found' | 'user_id_not_in_auth_info' | 'unknown_error';
|
|
85
|
+
export type Mcpauth_type = 'oauth' | 'api_key' | 'unknown';
|
|
86
|
+
export type TelemetryAuthContext = {
|
|
87
|
+
reason: AuthFailureReason;
|
|
88
|
+
auth_type: Mcpauth_type;
|
|
89
|
+
error_details?: string;
|
|
90
|
+
};
|
|
91
|
+
export type UserWithContext = {
|
|
92
|
+
user: User | null;
|
|
93
|
+
context?: TelemetryAuthContext;
|
|
94
|
+
};
|
|
83
95
|
export {};
|
|
@@ -133,7 +133,7 @@ const executeWorkflow = async (user, workflowFinderService, activeExecutions, wo
|
|
|
133
133
|
};
|
|
134
134
|
runData.startNodes = [{ name: triggerNode.name, sourceData: null }];
|
|
135
135
|
runData.pinData = getPinDataForTrigger(triggerNode, inputs);
|
|
136
|
-
runData.executionData = {
|
|
136
|
+
runData.executionData = (0, n8n_workflow_1.createRunExecutionData)({
|
|
137
137
|
startData: {},
|
|
138
138
|
resultData: {
|
|
139
139
|
pinData: runData.pinData,
|
|
@@ -154,7 +154,7 @@ const executeWorkflow = async (user, workflowFinderService, activeExecutions, wo
|
|
|
154
154
|
waitingExecution: {},
|
|
155
155
|
waitingExecutionSource: {},
|
|
156
156
|
},
|
|
157
|
-
};
|
|
157
|
+
});
|
|
158
158
|
const executionId = await workflowRunner.run(runData);
|
|
159
159
|
let timeoutId;
|
|
160
160
|
const timeoutPromise = new Promise((_, reject) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-workflow.tool.js","sourceRoot":"","sources":["../../../../src/modules/mcp/tools/execute-workflow.tool.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAsC;AAEtC,sEAAqC;AACrC,+
|
|
1
|
+
{"version":3,"file":"execute-workflow.tool.js","sourceRoot":"","sources":["../../../../src/modules/mcp/tools/execute-workflow.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,7 +78,7 @@ async function getWorkflowDetails(user, baseWebhookUrl, workflowFinderService, c
|
|
|
78
78
|
const sanitizedWorkflow = {
|
|
79
79
|
id: workflow.id,
|
|
80
80
|
name: workflow.name,
|
|
81
|
-
active: workflow.
|
|
81
|
+
active: workflow.activeVersionId !== null,
|
|
82
82
|
isArchived: workflow.isArchived,
|
|
83
83
|
versionId: workflow.versionId,
|
|
84
84
|
triggerCount: workflow.triggerCount,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-workflow-details.tool.js","sourceRoot":"","sources":["../../../../src/modules/mcp/tools/get-workflow-details.tool.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"get-workflow-details.tool.js","sourceRoot":"","sources":["../../../../src/modules/mcp/tools/get-workflow-details.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -124,11 +124,12 @@ async function searchWorkflows(user, workflowService, { limit = MAX_RESULTS, que
|
|
|
124
124
|
},
|
|
125
125
|
};
|
|
126
126
|
const { workflows, count } = await workflowService.getMany(user, options, false, false, false);
|
|
127
|
-
const formattedWorkflows = workflows.map(({ id, name, description, active, createdAt, updatedAt, triggerCount, nodes }) => ({
|
|
127
|
+
const formattedWorkflows = workflows.map(({ id, name, description, active, activeVersionId, createdAt, updatedAt, triggerCount, nodes, }) => ({
|
|
128
128
|
id,
|
|
129
129
|
name,
|
|
130
130
|
description,
|
|
131
131
|
active,
|
|
132
|
+
activeVersionId,
|
|
132
133
|
createdAt: createdAt.toISOString(),
|
|
133
134
|
updatedAt: updatedAt.toISOString(),
|
|
134
135
|
triggerCount,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"search-workflows.tool.js","sourceRoot":"","sources":["../../../../src/modules/mcp/tools/search-workflows.tool.ts"],"names":[],"mappings":";;;;;;AAkIA,
|
|
1
|
+
{"version":3,"file":"search-workflows.tool.js","sourceRoot":"","sources":["../../../../src/modules/mcp/tools/search-workflows.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,10 +2,12 @@ import { ProvisioningConfigDto } from '@n8n/api-types';
|
|
|
2
2
|
import { Logger } from '@n8n/backend-common';
|
|
3
3
|
import { GlobalConfig } from '@n8n/config';
|
|
4
4
|
import { RoleRepository, SettingsRepository, User, UserRepository, ProjectRepository } from '@n8n/db';
|
|
5
|
+
import { EventService } from '../../events/event.service';
|
|
5
6
|
import { type Publisher } from '../../scaling/pubsub/publisher.service';
|
|
6
7
|
import { ProjectService } from '../../services/project.service.ee';
|
|
7
8
|
import { InstanceSettings } from 'n8n-core';
|
|
8
9
|
export declare class ProvisioningService {
|
|
10
|
+
private readonly eventService;
|
|
9
11
|
private readonly globalConfig;
|
|
10
12
|
private readonly settingsRepository;
|
|
11
13
|
private readonly projectRepository;
|
|
@@ -16,7 +18,7 @@ export declare class ProvisioningService {
|
|
|
16
18
|
private readonly publisher;
|
|
17
19
|
private readonly instanceSettings;
|
|
18
20
|
private provisioningConfig;
|
|
19
|
-
constructor(globalConfig: GlobalConfig, settingsRepository: SettingsRepository, projectRepository: ProjectRepository, projectService: ProjectService, roleRepository: RoleRepository, userRepository: UserRepository, logger: Logger, publisher: Publisher, instanceSettings: InstanceSettings);
|
|
21
|
+
constructor(eventService: EventService, globalConfig: GlobalConfig, settingsRepository: SettingsRepository, projectRepository: ProjectRepository, projectService: ProjectService, roleRepository: RoleRepository, userRepository: UserRepository, logger: Logger, publisher: Publisher, instanceSettings: InstanceSettings);
|
|
20
22
|
init(): Promise<void>;
|
|
21
23
|
getConfig(): Promise<ProvisioningConfigDto>;
|
|
22
24
|
provisionInstanceRoleForUser(user: User, roleSlug: unknown): Promise<void>;
|
|
@@ -19,12 +19,14 @@ const n8n_workflow_1 = require("n8n-workflow");
|
|
|
19
19
|
const constants_1 = require("./constants");
|
|
20
20
|
const typeorm_1 = require("@n8n/typeorm");
|
|
21
21
|
const decorators_1 = require("@n8n/decorators");
|
|
22
|
+
const event_service_1 = require("../../events/event.service");
|
|
22
23
|
const bad_request_error_1 = require("../../errors/response-errors/bad-request.error");
|
|
23
24
|
const zod_1 = require("zod");
|
|
24
25
|
const project_service_ee_1 = require("../../services/project.service.ee");
|
|
25
26
|
const n8n_core_1 = require("n8n-core");
|
|
26
27
|
let ProvisioningService = class ProvisioningService {
|
|
27
|
-
constructor(globalConfig, settingsRepository, projectRepository, projectService, roleRepository, userRepository, logger, publisher, instanceSettings) {
|
|
28
|
+
constructor(eventService, globalConfig, settingsRepository, projectRepository, projectService, roleRepository, userRepository, logger, publisher, instanceSettings) {
|
|
29
|
+
this.eventService = eventService;
|
|
28
30
|
this.globalConfig = globalConfig;
|
|
29
31
|
this.settingsRepository = settingsRepository;
|
|
30
32
|
this.projectRepository = projectRepository;
|
|
@@ -79,6 +81,10 @@ let ProvisioningService = class ProvisioningService {
|
|
|
79
81
|
}
|
|
80
82
|
if (user.role.slug !== dbRole.slug) {
|
|
81
83
|
await this.userRepository.update(user.id, { role: { slug: dbRole.slug } });
|
|
84
|
+
this.eventService.emit('sso-user-instance-role-updated', {
|
|
85
|
+
userId: user.id,
|
|
86
|
+
role: dbRole.slug,
|
|
87
|
+
});
|
|
82
88
|
}
|
|
83
89
|
}
|
|
84
90
|
async provisionProjectRolesForUser(userId, projectIdToRoles) {
|
|
@@ -164,6 +170,11 @@ let ProvisioningService = class ProvisioningService {
|
|
|
164
170
|
await this.projectService.addUser(projectId, { userId, role: roleSlug }, tx);
|
|
165
171
|
}
|
|
166
172
|
});
|
|
173
|
+
this.eventService.emit('sso-user-project-access-updated', {
|
|
174
|
+
projectsAdded: validProjectIds.size,
|
|
175
|
+
projectsRemoved: projectsToRemoveAccessFrom.length,
|
|
176
|
+
userId,
|
|
177
|
+
});
|
|
167
178
|
}
|
|
168
179
|
async patchConfig(rawConfig) {
|
|
169
180
|
let patchConfig;
|
|
@@ -269,7 +280,8 @@ __decorate([
|
|
|
269
280
|
], ProvisioningService.prototype, "handleReloadSsoProvisioningConfiguration", null);
|
|
270
281
|
exports.ProvisioningService = ProvisioningService = __decorate([
|
|
271
282
|
(0, di_1.Service)(),
|
|
272
|
-
__metadata("design:paramtypes", [
|
|
283
|
+
__metadata("design:paramtypes", [event_service_1.EventService,
|
|
284
|
+
config_1.GlobalConfig,
|
|
273
285
|
db_1.SettingsRepository,
|
|
274
286
|
db_1.ProjectRepository,
|
|
275
287
|
project_service_ee_1.ProjectService,
|