n8n 2.38.1 → 2.38.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/dist/active-workflow-manager.d.ts +8 -8
  2. package/dist/active-workflow-manager.js +38 -23
  3. package/dist/active-workflow-manager.js.map +1 -1
  4. package/dist/build.tsbuildinfo +1 -1
  5. package/dist/chat/chat-execution-manager.d.ts +5 -0
  6. package/dist/chat/chat-execution-manager.js +50 -10
  7. package/dist/chat/chat-execution-manager.js.map +1 -1
  8. package/dist/chat/chat-service.d.ts +0 -1
  9. package/dist/chat/chat-service.js +12 -18
  10. package/dist/chat/chat-service.js.map +1 -1
  11. package/dist/chat/utils.d.ts +1 -0
  12. package/dist/chat/utils.js +14 -4
  13. package/dist/chat/utils.js.map +1 -1
  14. package/dist/controllers/role.controller.d.ts +3 -1
  15. package/dist/controllers/role.controller.js +19 -3
  16. package/dist/controllers/role.controller.js.map +1 -1
  17. package/dist/credentials/credentials.service.js +24 -3
  18. package/dist/credentials/credentials.service.js.map +1 -1
  19. package/dist/errors/subworkflow-policy-denial.error.d.ts +4 -1
  20. package/dist/errors/subworkflow-policy-denial.error.js +26 -10
  21. package/dist/errors/subworkflow-policy-denial.error.js.map +1 -1
  22. package/dist/executions/execution-recovery.service.d.ts +3 -1
  23. package/dist/executions/execution-recovery.service.js +13 -4
  24. package/dist/executions/execution-recovery.service.js.map +1 -1
  25. package/dist/executions/pre-execution-checks/subworkflow-policy-checker.d.ts +5 -2
  26. package/dist/executions/pre-execution-checks/subworkflow-policy-checker.js +28 -8
  27. package/dist/executions/pre-execution-checks/subworkflow-policy-checker.js.map +1 -1
  28. package/dist/modules/agents/agent-runtime-reconstruction.service.js +4 -2
  29. package/dist/modules/agents/agent-runtime-reconstruction.service.js.map +1 -1
  30. package/dist/modules/agents/builder/get-resource-locator-options.tool.d.ts +2 -2
  31. package/dist/modules/agents/tools/workflow-tool-factory.d.ts +2 -0
  32. package/dist/modules/agents/tools/workflow-tool-factory.js +2 -1
  33. package/dist/modules/agents/tools/workflow-tool-factory.js.map +1 -1
  34. package/dist/modules/chat-hub/chat-hub.service.d.ts +3 -1
  35. package/dist/modules/chat-hub/chat-hub.service.js +8 -2
  36. package/dist/modules/chat-hub/chat-hub.service.js.map +1 -1
  37. package/dist/modules/community-packages/community-packages.service.js +4 -0
  38. package/dist/modules/community-packages/community-packages.service.js.map +1 -1
  39. package/dist/modules/instance-ai/eval/execution.service.js +1 -1
  40. package/dist/modules/instance-ai/eval/execution.service.js.map +1 -1
  41. package/dist/modules/log-streaming.ee/destinations/destination-credentials-access.d.ts +4 -0
  42. package/dist/modules/log-streaming.ee/destinations/destination-credentials-access.js +21 -0
  43. package/dist/modules/log-streaming.ee/destinations/destination-credentials-access.js.map +1 -0
  44. package/dist/modules/log-streaming.ee/log-streaming.controller.d.ts +4 -2
  45. package/dist/modules/log-streaming.ee/log-streaming.controller.js +13 -4
  46. package/dist/modules/log-streaming.ee/log-streaming.controller.js.map +1 -1
  47. package/dist/modules/mcp/tools/workflow-builder/constants.d.ts +1 -0
  48. package/dist/modules/mcp/tools/workflow-builder/constants.js +2 -1
  49. package/dist/modules/mcp/tools/workflow-builder/constants.js.map +1 -1
  50. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +2 -1
  51. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
  52. package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js +2 -1
  53. package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js.map +1 -1
  54. package/dist/modules/oauth-server/oauth-server.service.js +29 -0
  55. package/dist/modules/oauth-server/oauth-server.service.js.map +1 -1
  56. package/dist/modules/oauth-server/oauth-session.service.d.ts +1 -0
  57. package/dist/modules/oauth-server/oauth-session.service.js +5 -5
  58. package/dist/modules/oauth-server/oauth-session.service.js.map +1 -1
  59. package/dist/modules/source-control.ee/source-control.service.ee.d.ts +1 -0
  60. package/dist/modules/source-control.ee/source-control.service.ee.js +24 -20
  61. package/dist/modules/source-control.ee/source-control.service.ee.js.map +1 -1
  62. package/dist/modules/sso-oidc/oidc.controller.ee.js +1 -0
  63. package/dist/modules/sso-oidc/oidc.controller.ee.js.map +1 -1
  64. package/dist/modules/sso-oidc/oidc.service.ee.d.ts +1 -0
  65. package/dist/modules/sso-oidc/oidc.service.ee.js +7 -0
  66. package/dist/modules/sso-oidc/oidc.service.ee.js.map +1 -1
  67. package/dist/public-api/v1/handlers/log-streaming/log-streaming.handler.js +10 -3
  68. package/dist/public-api/v1/handlers/log-streaming/log-streaming.handler.js.map +1 -1
  69. package/dist/push/abstract.push.js +2 -1
  70. package/dist/push/abstract.push.js.map +1 -1
  71. package/dist/server.d.ts +1 -0
  72. package/dist/server.js +25 -25
  73. package/dist/server.js.map +1 -1
  74. package/dist/services/active-workflows.service.d.ts +4 -5
  75. package/dist/services/active-workflows.service.js +11 -12
  76. package/dist/services/active-workflows.service.js.map +1 -1
  77. package/dist/services/credentials-tester.service.d.ts +1 -0
  78. package/dist/services/credentials-tester.service.js +9 -1
  79. package/dist/services/credentials-tester.service.js.map +1 -1
  80. package/dist/task-runners/task-broker/auth/task-broker-auth.service.js +1 -2
  81. package/dist/task-runners/task-broker/auth/task-broker-auth.service.js.map +1 -1
  82. package/dist/utils/request-path.d.ts +2 -0
  83. package/dist/utils/request-path.js +58 -0
  84. package/dist/utils/request-path.js.map +1 -0
  85. package/dist/webhooks/hitl-interaction-webhooks.d.ts +1 -0
  86. package/dist/webhooks/hitl-interaction-webhooks.js +5 -3
  87. package/dist/webhooks/hitl-interaction-webhooks.js.map +1 -1
  88. package/dist/webhooks/slack-interaction-webhooks.d.ts +1 -0
  89. package/dist/webhooks/slack-interaction-webhooks.js +4 -0
  90. package/dist/webhooks/slack-interaction-webhooks.js.map +1 -1
  91. package/dist/webhooks/telegram-interaction-webhooks.d.ts +1 -0
  92. package/dist/webhooks/telegram-interaction-webhooks.js +4 -0
  93. package/dist/webhooks/telegram-interaction-webhooks.js.map +1 -1
  94. package/dist/webhooks/webhook-request-sanitizer.js +8 -0
  95. package/dist/webhooks/webhook-request-sanitizer.js.map +1 -1
  96. package/dist/webhooks/webhook-response-headers.js +11 -2
  97. package/dist/webhooks/webhook-response-headers.js.map +1 -1
  98. package/dist/workflows/publication/publication-status-reporter.d.ts +4 -4
  99. package/dist/workflows/publication/publication-status-reporter.js +16 -16
  100. package/dist/workflows/publication/publication-status-reporter.js.map +1 -1
  101. package/dist/workflows/workflow-push-notifier.service.d.ts +9 -0
  102. package/dist/workflows/workflow-push-notifier.service.js +31 -0
  103. package/dist/workflows/workflow-push-notifier.service.js.map +1 -0
  104. package/dist/workflows/workflow-sharing.service.d.ts +7 -3
  105. package/dist/workflows/workflow-sharing.service.js +29 -2
  106. package/dist/workflows/workflow-sharing.service.js.map +1 -1
  107. package/package.json +36 -36
@@ -1,17 +1,16 @@
1
1
  import { Logger } from '@n8n/backend-common';
2
2
  import type { User } from '@n8n/db';
3
- import { SharedWorkflowRepository, WorkflowRepository } from '@n8n/db';
3
+ import { WorkflowRepository } from '@n8n/db';
4
4
  import { ActivationErrorsService } from '../activation-errors.service';
5
- import { ProjectScopeService } from '../permissions.ee/project-scope.service';
6
5
  import { WorkflowFinderService } from '../workflows/workflow-finder.service';
6
+ import { WorkflowSharingService } from '../workflows/workflow-sharing.service';
7
7
  export declare class ActiveWorkflowsService {
8
8
  private readonly logger;
9
9
  private readonly workflowRepository;
10
- private readonly sharedWorkflowRepository;
10
+ private readonly workflowSharingService;
11
11
  private readonly activationErrorsService;
12
12
  private readonly workflowFinderService;
13
- private readonly projectScopeService;
14
- constructor(logger: Logger, workflowRepository: WorkflowRepository, sharedWorkflowRepository: SharedWorkflowRepository, activationErrorsService: ActivationErrorsService, workflowFinderService: WorkflowFinderService, projectScopeService: ProjectScopeService);
13
+ constructor(logger: Logger, workflowRepository: WorkflowRepository, workflowSharingService: WorkflowSharingService, activationErrorsService: ActivationErrorsService, workflowFinderService: WorkflowFinderService);
15
14
  getAllActiveIdsInStorage(): Promise<string[]>;
16
15
  getAllActiveIdsFor(user: User): Promise<string[]>;
17
16
  getActivationError(workflowId: string, user: User): Promise<string | null>;
@@ -13,18 +13,18 @@ exports.ActiveWorkflowsService = void 0;
13
13
  const backend_common_1 = require("@n8n/backend-common");
14
14
  const db_1 = require("@n8n/db");
15
15
  const di_1 = require("@n8n/di");
16
+ const permissions_1 = require("@n8n/permissions");
16
17
  const activation_errors_service_1 = require("../activation-errors.service");
17
18
  const bad_request_error_1 = require("../errors/response-errors/bad-request.error");
18
- const project_scope_service_1 = require("../permissions.ee/project-scope.service");
19
19
  const workflow_finder_service_1 = require("../workflows/workflow-finder.service");
20
+ const workflow_sharing_service_1 = require("../workflows/workflow-sharing.service");
20
21
  let ActiveWorkflowsService = class ActiveWorkflowsService {
21
- constructor(logger, workflowRepository, sharedWorkflowRepository, activationErrorsService, workflowFinderService, projectScopeService) {
22
+ constructor(logger, workflowRepository, workflowSharingService, activationErrorsService, workflowFinderService) {
22
23
  this.logger = logger;
23
24
  this.workflowRepository = workflowRepository;
24
- this.sharedWorkflowRepository = sharedWorkflowRepository;
25
+ this.workflowSharingService = workflowSharingService;
25
26
  this.activationErrorsService = activationErrorsService;
26
27
  this.workflowFinderService = workflowFinderService;
27
- this.projectScopeService = projectScopeService;
28
28
  }
29
29
  async getAllActiveIdsInStorage() {
30
30
  const activationErrors = await this.activationErrorsService.getAll();
@@ -34,13 +34,12 @@ let ActiveWorkflowsService = class ActiveWorkflowsService {
34
34
  async getAllActiveIdsFor(user) {
35
35
  const activationErrors = await this.activationErrorsService.getAll();
36
36
  const activeWorkflowIds = await this.workflowRepository.getActiveIds();
37
- const projectRoleSlugs = await this.projectScopeService.getProjectRoleSlugs(user, [
38
- 'workflow:list',
39
- ]);
40
- const listableWorkflowIds = projectRoleSlugs === null
41
- ? new Set(activeWorkflowIds)
42
- : await this.sharedWorkflowRepository.findWorkflowIdsInUserProjects(activeWorkflowIds, user.id, projectRoleSlugs);
43
- return activeWorkflowIds.filter((workflowId) => listableWorkflowIds.has(workflowId) && !activationErrors[workflowId]);
37
+ const hasFullAccess = (0, permissions_1.hasGlobalScope)(user, 'workflow:read');
38
+ if (hasFullAccess) {
39
+ return activeWorkflowIds.filter((workflowId) => !activationErrors[workflowId]);
40
+ }
41
+ const accessibleWorkflowIds = new Set(await this.workflowSharingService.getSharedWorkflowIds(user, { scopes: ['workflow:read'] }));
42
+ return activeWorkflowIds.filter((workflowId) => accessibleWorkflowIds.has(workflowId) && !activationErrors[workflowId]);
44
43
  }
45
44
  async getActivationError(workflowId, user) {
46
45
  const workflow = await this.workflowFinderService.findWorkflowForUser(workflowId, user, [
@@ -59,6 +58,6 @@ let ActiveWorkflowsService = class ActiveWorkflowsService {
59
58
  exports.ActiveWorkflowsService = ActiveWorkflowsService;
60
59
  exports.ActiveWorkflowsService = ActiveWorkflowsService = __decorate([
61
60
  (0, di_1.Service)(),
62
- __metadata("design:paramtypes", [backend_common_1.Logger, db_1.WorkflowRepository, db_1.SharedWorkflowRepository, activation_errors_service_1.ActivationErrorsService, workflow_finder_service_1.WorkflowFinderService, project_scope_service_1.ProjectScopeService])
61
+ __metadata("design:paramtypes", [backend_common_1.Logger, db_1.WorkflowRepository, workflow_sharing_service_1.WorkflowSharingService, activation_errors_service_1.ActivationErrorsService, workflow_finder_service_1.WorkflowFinderService])
63
62
  ], ActiveWorkflowsService);
64
63
  //# sourceMappingURL=active-workflows.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"active-workflows.service.js","sourceRoot":"","sources":["../../src/services/active-workflows.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wDAA6C;AAE7C,gCAAuE;AACvE,gCAAkC;AAElC,2EAAsE;AACtE,kFAA6E;AAC7E,kFAA6E;AAC7E,iFAA4E;AAGrE,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAClC,YACkB,MAAc,EACd,kBAAsC,EACtC,wBAAkD,EAClD,uBAAgD,EAChD,qBAA4C,EAC5C,mBAAwC;sBALxC,MAAM;kCACN,kBAAkB;wCAClB,wBAAwB;uCACxB,uBAAuB;qCACvB,qBAAqB;mCACrB,mBAAmB;IAClC,CAAC;IAEJ,KAAK,CAAC,wBAAwB;QAC7B,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC;QACrE,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;QACvE,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAU;QAClC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC;QACrE,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;QACvE,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,IAAI,EAAE;YACjF,eAAe;SACf,CAAC,CAAC;QAEH,MAAM,mBAAmB,GACxB,gBAAgB,KAAK,IAAI;YACxB,CAAC,CAAC,IAAI,GAAG,CAAC,iBAAiB,CAAC;YAC5B,CAAC,CAAC,MAAM,IAAI,CAAC,wBAAwB,CAAC,6BAA6B,CACjE,iBAAiB,EACjB,IAAI,CAAC,EAAE,EACP,gBAAgB,CAChB,CAAC;QAEL,OAAO,iBAAiB,CAAC,MAAM,CAC9B,CAAC,UAAU,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CACpF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAkB,EAAE,IAAU;QACtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,EAAE;YACvF,eAAe;SACf,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8DAA8D,EAAE;gBAChF,UAAU;gBACV,MAAM,EAAE,IAAI,CAAC,EAAE;aACf,CAAC,CAAC;YAEH,MAAM,IAAI,mCAAe,CAAC,qBAAqB,UAAU,uBAAuB,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;CACD,CAAA;;iCApDY,sBAAsB;IADlC,IAAA,YAAO,GAAE;qCAGiB,uBAAM,EACM,uBAAkB,EACZ,6BAAwB,EACzB,mDAAuB,EACzB,+CAAqB,EACvB,2CAAmB;GAP9C,sBAAsB,CAoDlC"}
1
+ {"version":3,"file":"active-workflows.service.js","sourceRoot":"","sources":["../../src/services/active-workflows.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wDAA6C;AAE7C,gCAA6C;AAC7C,gCAAkC;AAClC,kDAAkD;AAElD,2EAAsE;AACtE,kFAA6E;AAC7E,iFAA4E;AAC5E,mFAA8E;AAGvE,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAClC,YACkB,MAAc,EACd,kBAAsC,EACtC,sBAA8C,EAC9C,uBAAgD,EAChD,qBAA4C;sBAJ5C,MAAM;kCACN,kBAAkB;sCAClB,sBAAsB;uCACtB,uBAAuB;qCACvB,qBAAqB;IACpC,CAAC;IAEJ,KAAK,CAAC,wBAAwB;QAC7B,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC;QACrE,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;QACvE,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAU;QAClC,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC;QACrE,MAAM,iBAAiB,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,YAAY,EAAE,CAAC;QAEvE,MAAM,aAAa,GAAG,IAAA,4BAAc,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC;QAC5D,IAAI,aAAa,EAAE,CAAC;YACnB,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC,CAAC;QAChF,CAAC;QAID,MAAM,qBAAqB,GAAG,IAAI,GAAG,CACpC,MAAM,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,CAC3F,CAAC;QACF,OAAO,iBAAiB,CAAC,MAAM,CAC9B,CAAC,UAAU,EAAE,EAAE,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CACtF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,UAAkB,EAAE,IAAU;QACtD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,UAAU,EAAE,IAAI,EAAE;YACvF,eAAe;SACf,CAAC,CAAC;QACH,IAAI,CAAC,QAAQ,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8DAA8D,EAAE;gBAChF,UAAU;gBACV,MAAM,EAAE,IAAI,CAAC,EAAE;aACf,CAAC,CAAC;YAEH,MAAM,IAAI,mCAAe,CAAC,qBAAqB,UAAU,uBAAuB,CAAC,CAAC;QACnF,CAAC;QAED,OAAO,MAAM,IAAI,CAAC,uBAAuB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3D,CAAC;CACD,CAAA;;iCAjDY,sBAAsB;IADlC,IAAA,YAAO,GAAE;qCAGiB,uBAAM,EACM,uBAAkB,EACd,iDAAsB,EACrB,mDAAuB,EACzB,+CAAqB;GANlD,sBAAsB,CAiDlC"}
@@ -23,6 +23,7 @@ export declare class CredentialsTester {
23
23
  private prepareCredentialsForTest;
24
24
  probeCredentialAuth(userId: User['id'], credentialType: string, credentialsDecrypted: ICredentialsDecrypted, targetUrl: string, options?: {
25
25
  acceptedStatusCodes?: number[];
26
+ allowedDomains?: string;
26
27
  }): Promise<CredentialAuthProbeResult>;
27
28
  testCredentials(userId: User['id'], credentialType: string, credentialsDecrypted: ICredentialsDecrypted): Promise<INodeCredentialTestResult>;
28
29
  private resolveAuthProbeVerdict;
@@ -198,7 +198,15 @@ let CredentialsTester = CredentialsTester_1 = class CredentialsTester {
198
198
  outcome: 'unverified',
199
199
  };
200
200
  }
201
- const result = await this.runRequestTest(userId, credentialType, credentialsDecrypted, { testRequest: { request: { url: targetUrl, method: 'GET' } } }, 'authProbe', options.acceptedStatusCodes);
201
+ const result = await this.runRequestTest(userId, credentialType, credentialsDecrypted, {
202
+ testRequest: {
203
+ request: {
204
+ url: targetUrl,
205
+ method: 'GET',
206
+ ...(options.allowedDomains ? { allowedDomains: options.allowedDomains } : {}),
207
+ },
208
+ },
209
+ }, 'authProbe', options.acceptedStatusCodes);
202
210
  return { ...result, outcome: result.outcome ?? 'unverified' };
203
211
  }
204
212
  async testCredentials(userId, credentialType, credentialsDecrypted) {
@@ -1 +1 @@
1
- {"version":3,"file":"credentials-tester.service.js","sourceRoot":"","sources":["../../src/services/credentials-tester.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"credentials-tester.service.js","sourceRoot":"","sources":["../../src/services/credentials-tester.service.ts"],"names":[],"mappings":"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"}
@@ -39,10 +39,9 @@ let TaskBrokerAuthService = class TaskBrokerAuthService {
39
39
  }
40
40
  async tryConsumeGrantToken(grantToken) {
41
41
  const key = this.cacheKeyForGrantToken(grantToken);
42
- const consumed = await this.cacheService.get(key);
42
+ const consumed = await this.cacheService.take(key);
43
43
  if (consumed === undefined)
44
44
  return { isValid: false, boundRunnerId: null };
45
- await this.cacheService.delete(key);
46
45
  return {
47
46
  isValid: true,
48
47
  boundRunnerId: consumed === NO_BOUND_RUNNER ? null : consumed,
@@ -1 +1 @@
1
- {"version":3,"file":"task-broker-auth.service.js","sourceRoot":"","sources":["../../../../src/task-runners/task-broker/auth/task-broker-auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAAgD;AAChD,8CAAsC;AACtC,gCAAkC;AAClC,mCAAsD;AAEtD,kEAA8D;AAM9D,MAAM,eAAe,GAAG,GAAG,CAAC;AASrB,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAGjC,IAAY,iBAAiB;QAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,gBAAI,CAAC,OAAO,CAAC,cAAc,CAAC;IACvE,CAAC;IAED,YACkB,aAAgC,EAChC,YAA0B;QAD1B,kBAAa,GAAb,aAAa,CAAmB;QAChC,iBAAY,GAAZ,YAAY,CAAc;QAR3B,cAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IASpE,CAAC;IAEJ,gBAAgB,CAAC,KAAa;QAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAE/D,OAAO,IAAA,wBAAe,EAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAQD,KAAK,CAAC,gBAAgB,CAAC,QAAiB;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE7C,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,IAAI,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEtF,OAAO,UAAU,CAAC;IACnB,CAAC;IAMD,KAAK,CAAC,oBAAoB,CAAC,UAAkB;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAS,GAAG,CAAC,CAAC;QAE1D,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAE3E,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAEpC,OAAO;YACN,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,QAAQ,KAAK,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ;SAC7D,CAAC;IACH,CAAC;IAEO,kBAAkB;QACzB,OAAO,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAEO,qBAAqB,CAAC,UAAkB;QAC/C,OAAO,eAAe,UAAU,EAAE,CAAC;IACpC,CAAC;CACD,CAAA;;gCA3DY,qBAAqB;IADjC,IAAA,YAAO,GAAE;qCASwB,0BAAiB,EAClB,4BAAY;GAThC,qBAAqB,CA2DjC"}
1
+ {"version":3,"file":"task-broker-auth.service.js","sourceRoot":"","sources":["../../../../src/task-runners/task-broker/auth/task-broker-auth.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,wCAAgD;AAChD,8CAAsC;AACtC,gCAAkC;AAClC,mCAAsD;AAEtD,kEAA8D;AAM9D,MAAM,eAAe,GAAG,GAAG,CAAC;AASrB,IAAM,qBAAqB,GAA3B,MAAM,qBAAqB;IAGjC,IAAY,iBAAiB;QAC5B,OAAO,IAAI,CAAC,aAAa,CAAC,aAAa,GAAG,gBAAI,CAAC,OAAO,CAAC,cAAc,CAAC;IACvE,CAAC;IAED,YACkB,aAAgC,EAChC,YAA0B;QAD1B,kBAAa,GAAb,aAAa,CAAmB;QAChC,iBAAY,GAAZ,YAAY,CAAc;QAR3B,cAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;IASpE,CAAC;IAEJ,gBAAgB,CAAC,KAAa;QAC7B,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,WAAW,CAAC,MAAM,KAAK,IAAI,CAAC,SAAS,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC;QAE/D,OAAO,IAAA,wBAAe,EAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrD,CAAC;IAQD,KAAK,CAAC,gBAAgB,CAAC,QAAiB;QACvC,MAAM,UAAU,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAE7C,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,IAAI,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAEtF,OAAO,UAAU,CAAC;IACnB,CAAC;IAMD,KAAK,CAAC,oBAAoB,CAAC,UAAkB;QAC5C,MAAM,GAAG,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAS,GAAG,CAAC,CAAC;QAE3D,IAAI,QAAQ,KAAK,SAAS;YAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC;QAE3E,OAAO;YACN,OAAO,EAAE,IAAI;YACb,aAAa,EAAE,QAAQ,KAAK,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,QAAQ;SAC7D,CAAC;IACH,CAAC;IAEO,kBAAkB;QACzB,OAAO,IAAA,oBAAW,EAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;IAEO,qBAAqB,CAAC,UAAkB;QAC/C,OAAO,eAAe,UAAU,EAAE,CAAC;IACpC,CAAC;CACD,CAAA;;gCAzDY,qBAAqB;IADjC,IAAA,YAAO,GAAE;qCASwB,0BAAiB,EAClB,4BAAY;GAThC,qBAAqB,CAyDjC"}
@@ -0,0 +1,2 @@
1
+ export declare function normalize(requestPath: string): string;
2
+ export declare function mayReachDirectory(requestPath: string, directory: string): boolean;
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.normalize = normalize;
7
+ exports.mayReachDirectory = mayReachDirectory;
8
+ const node_path_1 = __importDefault(require("node:path"));
9
+ const DOT_SEGMENT = /^\.{1,2}$/;
10
+ const DOTS_AND_SPACES = /^[. ]+$/;
11
+ const TRAILING_DOTS_AND_SPACES = /[. ]+$/;
12
+ const TRAILING_SPACES = / +$/;
13
+ function tryDecode(requestPath) {
14
+ try {
15
+ return decodeURIComponent(requestPath);
16
+ }
17
+ catch {
18
+ return null;
19
+ }
20
+ }
21
+ function toSegments(decoded) {
22
+ return decoded.replace(/\\/g, '/').split('/');
23
+ }
24
+ function trimSegment(segment) {
25
+ const withoutTrailingSpaces = segment.replace(TRAILING_SPACES, '');
26
+ if (DOT_SEGMENT.test(withoutTrailingSpaces))
27
+ return withoutTrailingSpaces;
28
+ return withoutTrailingSpaces.replace(TRAILING_DOTS_AND_SPACES, '');
29
+ }
30
+ function normalizeSegments(segments) {
31
+ const trimmed = segments.map(trimSegment).filter((segment) => segment !== '');
32
+ return node_path_1.default.posix.normalize(`/${trimmed.join('/')}`).toLowerCase();
33
+ }
34
+ function normalize(requestPath) {
35
+ const decoded = tryDecode(requestPath) ?? requestPath;
36
+ return normalizeSegments(toSegments(decoded));
37
+ }
38
+ function mayReachDirectory(requestPath, directory) {
39
+ const decoded = tryDecode(requestPath);
40
+ if (decoded === null)
41
+ return true;
42
+ const lowerDirectory = directory.toLowerCase();
43
+ const segments = toSegments(decoded);
44
+ const normalized = normalizeSegments(segments);
45
+ if (normalized === `/${lowerDirectory}` || normalized.startsWith(`/${lowerDirectory}/`)) {
46
+ return true;
47
+ }
48
+ let hasUnreadableSegment = false;
49
+ let matchesDirectory = false;
50
+ for (const segment of segments) {
51
+ if (DOTS_AND_SPACES.test(segment) && !DOT_SEGMENT.test(segment))
52
+ hasUnreadableSegment = true;
53
+ if (trimSegment(segment).toLowerCase() === lowerDirectory)
54
+ matchesDirectory = true;
55
+ }
56
+ return hasUnreadableSegment && matchesDirectory;
57
+ }
58
+ //# sourceMappingURL=request-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"request-path.js","sourceRoot":"","sources":["../../src/utils/request-path.ts"],"names":[],"mappings":";;;;;;;AAAA,0DAA6B;AAE7B,MAAM,WAAW,GAAG,WAAW,CAAC;AAChC,MAAM,eAAe,GAAG,SAAS,CAAC;AAClC,MAAM,wBAAwB,GAAG,QAAQ,CAAC;AAC1C,MAAM,eAAe,GAAG,KAAK,CAAC;AAG9B,SAAS,SAAS,CAAC,WAAmB;IACrC,IAAI,CAAC;QACJ,OAAO,kBAAkB,CAAC,WAAW,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACR,OAAO,IAAI,CAAC;IACb,CAAC;AACF,CAAC;AAED,SAAS,UAAU,CAAC,OAAe;IAClC,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;AAC/C,CAAC;AAGD,SAAS,WAAW,CAAC,OAAe;IACnC,MAAM,qBAAqB,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;IACnE,IAAI,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC;QAAE,OAAO,qBAAqB,CAAC;IAE1E,OAAO,qBAAqB,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC;AACpE,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAkB;IAC5C,MAAM,OAAO,GAAG,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC;IAE9E,OAAO,mBAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACpE,CAAC;AAMD,mBAA0B,WAAmB;IAC5C,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,IAAI,WAAW,CAAC;IAEtD,OAAO,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/C,CAAC;AAOD,2BAAkC,WAAmB,EAAE,SAAiB;IACvE,MAAM,OAAO,GAAG,SAAS,CAAC,WAAW,CAAC,CAAC;IACvC,IAAI,OAAO,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAElC,MAAM,cAAc,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;IAC/C,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC;IACrC,MAAM,UAAU,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAC/C,IAAI,UAAU,KAAK,IAAI,cAAc,EAAE,IAAI,UAAU,CAAC,UAAU,CAAC,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACzF,OAAO,IAAI,CAAC;IACb,CAAC;IAED,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,IAAI,gBAAgB,GAAG,KAAK,CAAC;IAC7B,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAChC,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC;YAAE,oBAAoB,GAAG,IAAI,CAAC;QAC7F,IAAI,WAAW,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,KAAK,cAAc;YAAE,gBAAgB,GAAG,IAAI,CAAC;IACpF,CAAC;IAED,OAAO,oBAAoB,IAAI,gBAAgB,CAAC;AACjD,CAAC"}
@@ -5,6 +5,7 @@ import type { IWebhookResponseCallbackData, WaitingWebhookRequest } from './webh
5
5
  export declare abstract class HitlInteractionWebhooks extends WaitingWebhooks {
6
6
  protected reject(res: express.Response, status: number): IWebhookResponseCallbackData;
7
7
  protected abstract parseCallback(req: WaitingWebhookRequest): Promise<ParsedHitlCallbackReference | null>;
8
+ protected abstract readonly platformNodeType: string;
8
9
  protected handleUnrecognizedCallback(res: express.Response): IWebhookResponseCallbackData;
9
10
  protected beforeResume(_req: WaitingWebhookRequest): void;
10
11
  private validate;
@@ -25,12 +25,14 @@ class HitlInteractionWebhooks extends waiting_webhooks_1.WaitingWebhooks {
25
25
  }
26
26
  const lastNodeExecuted = execution.data.resultData.lastNodeExecuted;
27
27
  const workflow = this.createWorkflow(execution.workflowData);
28
- const nodeId = workflow.getNode(lastNodeExecuted)?.id;
29
- if (!nodeId)
28
+ const node = workflow.getNode(lastNodeExecuted);
29
+ if (!node)
30
+ return { ok: false, status: 404 };
31
+ if (node.type !== this.platformNodeType)
30
32
  return { ok: false, status: 404 };
31
33
  return {
32
34
  ok: true,
33
- value: { execution, executionId: parsed.executionId, lastNodeExecuted, nodeId },
35
+ value: { execution, executionId: parsed.executionId, lastNodeExecuted, nodeId: node.id },
34
36
  };
35
37
  }
36
38
  async executeWebhook(req, res) {
@@ -1 +1 @@
1
- {"version":3,"file":"hitl-interaction-webhooks.js","sourceRoot":"","sources":["../../src/webhooks/hitl-interaction-webhooks.ts"],"names":[],"mappings":";;;AAGA,uCAAuD;AAEvD,yDAAqD;AACrD,2EAAqE;AAmBrE,6BAA8C,SAAQ,kCAAe;IAC1D,MAAM,CAAC,GAAqB,EAAE,MAAc;QACrD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5B,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;IACpC,CAAC;IAWS,0BAA0B,CAAC,GAAqB;QACzD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IAGS,YAAY,CAAC,IAA2B,IAAS,CAAC;IAGpD,KAAK,CAAC,QAAQ,CAAC,MAAmC;QACzD,IAAI,CAAC,IAAA,sCAA2B,EAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAErF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QACnC,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAElD,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;YAE/F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QACnC,CAAC;QAED,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,gBAA0B,CAAC;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC7D,MAAM,MAAM,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;QACtD,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAE/C,OAAO;YACN,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,gBAAgB,EAAE,MAAM,EAAE;SAC/E,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CACnB,GAA0B,EAC1B,GAAqB;QAGrB,IAAA,kDAAsB,EAAC,GAAG,CAAC,CAAC;QAE5B,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAExD,MAAM,MAAM,GAAuC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACjF,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;QAEzD,MAAM,SAAS,GAAqB,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAE7D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAGvB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC;QAC7E,OAAO,MAAM,IAAI,CAAC,uBAAuB,CAAC;YACzC,SAAS;YACT,GAAG;YACH,GAAG;YACH,gBAAgB;YAChB,WAAW;YACX,MAAM,EAAE,MAAM;SACd,CAAC,CAAC;IACJ,CAAC;CACD"}
1
+ {"version":3,"file":"hitl-interaction-webhooks.js","sourceRoot":"","sources":["../../src/webhooks/hitl-interaction-webhooks.ts"],"names":[],"mappings":";;;AAGA,uCAAuD;AAEvD,yDAAqD;AACrD,2EAAqE;AAmBrE,6BAA8C,SAAQ,kCAAe;IAC1D,MAAM,CAAC,GAAqB,EAAE,MAAc;QACrD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC5B,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;IACpC,CAAC;IAcS,0BAA0B,CAAC,GAAqB;QACzD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC9B,CAAC;IAGS,YAAY,CAAC,IAA2B,IAAS,CAAC;IAGpD,KAAK,CAAC,QAAQ,CAAC,MAAmC;QACzD,IAAI,CAAC,IAAA,sCAA2B,EAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAErF,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QACnC,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,SAAS;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAElD,IAAI,SAAS,CAAC,MAAM,KAAK,SAAS,IAAI,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;YAE/F,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QACnC,CAAC;QAED,MAAM,gBAAgB,GAAG,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,gBAA0B,CAAC;QAC9E,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QAC7D,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAE7C,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,gBAAgB;YAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC;QAE3E,OAAO;YACN,EAAE,EAAE,IAAI;YACR,KAAK,EAAE,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,gBAAgB,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE;SACxF,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CACnB,GAA0B,EAC1B,GAAqB;QAGrB,IAAA,kDAAsB,EAAC,GAAG,CAAC,CAAC;QAE5B,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAExD,MAAM,MAAM,GAAuC,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACjF,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC;QAEzD,MAAM,SAAS,GAAqB,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,SAAS,CAAC,EAAE;YAAE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;QAE7D,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;QAGvB,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,SAAS,CAAC,KAAK,CAAC;QAC7E,OAAO,MAAM,IAAI,CAAC,uBAAuB,CAAC;YACzC,SAAS;YACT,GAAG;YACH,GAAG;YACH,gBAAgB;YAChB,WAAW;YACX,MAAM,EAAE,MAAM;SACd,CAAC,CAAC;IACJ,CAAC;CACD"}
@@ -3,6 +3,7 @@ import type { ParsedHitlCallbackReference } from 'n8n-core';
3
3
  import { HitlInteractionWebhooks } from './hitl-interaction-webhooks';
4
4
  import type { IWebhookResponseCallbackData, WaitingWebhookRequest } from './webhook.types';
5
5
  export declare class SlackInteractionWebhooks extends HitlInteractionWebhooks {
6
+ protected readonly platformNodeType = "n8n-nodes-base.slack";
6
7
  protected parseCallback(req: WaitingWebhookRequest): Promise<ParsedHitlCallbackReference | null>;
7
8
  protected beforeResume(req: WaitingWebhookRequest): void;
8
9
  protected handleUnrecognizedCallback(res: express.Response): IWebhookResponseCallbackData;
@@ -12,6 +12,10 @@ const n8n_core_1 = require("n8n-core");
12
12
  const n8n_workflow_1 = require("n8n-workflow");
13
13
  const hitl_interaction_webhooks_1 = require("./hitl-interaction-webhooks");
14
14
  let SlackInteractionWebhooks = class SlackInteractionWebhooks extends hitl_interaction_webhooks_1.HitlInteractionWebhooks {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.platformNodeType = 'n8n-nodes-base.slack';
18
+ }
15
19
  async parseCallback(req) {
16
20
  await req.readRawBody();
17
21
  const payloadRaw = new URLSearchParams(req.rawBody?.toString() ?? '').get('payload');
@@ -1 +1 @@
1
- {"version":3,"file":"slack-interaction-webhooks.js","sourceRoot":"","sources":["../../src/webhooks/slack-interaction-webhooks.ts"],"names":[],"mappings":";;;;;;;;;AAAA,gCAAkC;AAGlC,uCAAmF;AACnF,+CAAyC;AAEzC,2EAAsE;AAa/D,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,mDAAuB;IAC1D,KAAK,CAAC,aAAa,CAC5B,GAA0B;QAE1B,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;QAExB,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrF,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAA,wBAAS,EAA0B,UAAU,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;QACtF,OAAO,IAAA,qCAA0B,EAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAMS,YAAY,CAAC,GAA0B;QAChD,IAAA,sCAA2B,EAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAOS,0BAA0B,CAAC,GAAqB;QACzD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;IACpC,CAAC;CACD,CAAA;;mCA7BY,wBAAwB;IADpC,IAAA,YAAO,GAAE;GACG,wBAAwB,CA6BpC"}
1
+ {"version":3,"file":"slack-interaction-webhooks.js","sourceRoot":"","sources":["../../src/webhooks/slack-interaction-webhooks.ts"],"names":[],"mappings":";;;;;;;;;AAAA,gCAAkC;AAGlC,uCAAmF;AACnF,+CAAyC;AAEzC,2EAAsE;AAa/D,IAAM,wBAAwB,GAA9B,MAAM,wBAAyB,SAAQ,mDAAuB;IAA9D;;QACa,qBAAgB,GAAG,sBAAsB,CAAC;IA8B9D,CAAC;IA5BU,KAAK,CAAC,aAAa,CAC5B,GAA0B;QAE1B,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;QAExB,MAAM,UAAU,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACrF,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAA,wBAAS,EAA0B,UAAU,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;QACtF,OAAO,IAAA,qCAA0B,EAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAMS,YAAY,CAAC,GAA0B;QAChD,IAAA,sCAA2B,EAAC,GAAG,CAAC,CAAC;IAClC,CAAC;IAOS,0BAA0B,CAAC,GAAqB;QACzD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACzB,OAAO,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC;IACpC,CAAC;CACD,CAAA;;mCA/BY,wBAAwB;IADpC,IAAA,YAAO,GAAE;GACG,wBAAwB,CA+BpC"}
@@ -2,5 +2,6 @@ import type { ParsedHitlCallbackReference } from 'n8n-core';
2
2
  import { HitlInteractionWebhooks } from './hitl-interaction-webhooks';
3
3
  import type { WaitingWebhookRequest } from './webhook.types';
4
4
  export declare class TelegramInteractionWebhooks extends HitlInteractionWebhooks {
5
+ protected readonly platformNodeType = "n8n-nodes-base.telegram";
5
6
  protected parseCallback(req: WaitingWebhookRequest): Promise<ParsedHitlCallbackReference | null>;
6
7
  }
@@ -12,6 +12,10 @@ const n8n_core_1 = require("n8n-core");
12
12
  const n8n_workflow_1 = require("n8n-workflow");
13
13
  const hitl_interaction_webhooks_1 = require("./hitl-interaction-webhooks");
14
14
  let TelegramInteractionWebhooks = class TelegramInteractionWebhooks extends hitl_interaction_webhooks_1.HitlInteractionWebhooks {
15
+ constructor() {
16
+ super(...arguments);
17
+ this.platformNodeType = 'n8n-nodes-base.telegram';
18
+ }
15
19
  async parseCallback(req) {
16
20
  await req.readRawBody();
17
21
  const update = (0, n8n_workflow_1.jsonParse)(req.rawBody?.toString() ?? '', {
@@ -1 +1 @@
1
- {"version":3,"file":"telegram-interaction-webhooks.js","sourceRoot":"","sources":["../../src/webhooks/telegram-interaction-webhooks.ts"],"names":[],"mappings":";;;;;;;;;AAAA,gCAAkC;AAElC,uCAAsD;AACtD,+CAAyC;AAEzC,2EAAsE;AAe/D,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,mDAAuB;IAC7D,KAAK,CAAC,aAAa,CAC5B,GAA0B;QAE1B,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,IAAA,wBAAS,EAAyB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;YAC/E,aAAa,EAAE,EAAE;SACjB,CAAC,CAAC;QACH,OAAO,IAAA,qCAA0B,EAAC,MAAM,CAAC,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;CACD,CAAA;;sCAVY,2BAA2B;IADvC,IAAA,YAAO,GAAE;GACG,2BAA2B,CAUvC"}
1
+ {"version":3,"file":"telegram-interaction-webhooks.js","sourceRoot":"","sources":["../../src/webhooks/telegram-interaction-webhooks.ts"],"names":[],"mappings":";;;;;;;;;AAAA,gCAAkC;AAElC,uCAAsD;AACtD,+CAAyC;AAEzC,2EAAsE;AAe/D,IAAM,2BAA2B,GAAjC,MAAM,2BAA4B,SAAQ,mDAAuB;IAAjE;;QACa,qBAAgB,GAAG,yBAAyB,CAAC;IAWjE,CAAC;IATU,KAAK,CAAC,aAAa,CAC5B,GAA0B;QAE1B,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;QACxB,MAAM,MAAM,GAAG,IAAA,wBAAS,EAAyB,GAAG,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;YAC/E,aAAa,EAAE,EAAE;SACjB,CAAC,CAAC;QACH,OAAO,IAAA,qCAA0B,EAAC,MAAM,CAAC,cAAc,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;CACD,CAAA;;sCAZY,2BAA2B;IADvC,IAAA,YAAO,GAAE;GACG,2BAA2B,CAYvC"}
@@ -2,10 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.sanitizeWebhookRequest = void 0;
4
4
  const constants_1 = require("../constants");
5
+ const oauth_session_service_1 = require("../modules/oauth-server/oauth-session.service");
6
+ const constants_2 = require("../modules/sso-oidc/constants");
7
+ const oauth_browser_binding_service_1 = require("../oauth/oauth-browser-binding.service");
5
8
  const BROWSER_ID_COOKIE_NAME = 'n8n-browserId';
6
9
  const DISALLOWED_COOKIES = new Set([
7
10
  constants_1.AUTH_COOKIE_NAME,
8
11
  BROWSER_ID_COOKIE_NAME,
12
+ oauth_session_service_1.OAUTH_SESSION_COOKIE_NAME,
13
+ oauth_browser_binding_service_1.OAUTH_BINDING_COOKIE_NAME,
14
+ constants_2.OIDC_ID_TOKEN_COOKIE_NAME,
15
+ constants_1.OIDC_STATE_COOKIE_NAME,
16
+ constants_1.OIDC_NONCE_COOKIE_NAME,
9
17
  constants_1.FORM_OAUTH_COOKIE_NAME,
10
18
  ]);
11
19
  const isDisallowedCookie = (name) => DISALLOWED_COOKIES.has(name) || name.startsWith(`${constants_1.FORM_AUTH_COOKIE_PREFIX}-`);
@@ -1 +1 @@
1
- {"version":3,"file":"webhook-request-sanitizer.js","sourceRoot":"","sources":["../../src/webhooks/webhook-request-sanitizer.ts"],"names":[],"mappings":";;;AAEA,2CAAgG;AAEhG,MAAM,sBAAsB,GAAG,eAAe,CAAC;AAK/C,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IAClC,4BAAgB;IAChB,sBAAsB;IACtB,kCAAsB;CACtB,CAAC,CAAC;AAMH,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CAC3C,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,mCAAuB,GAAG,CAAC,CAAC;AAKhF,MAAM,uBAAuB,GAAG,CAAC,GAAY,EAAE,EAAE;IAChD,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;IACzC,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO;IACR,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACxE,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QACjD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAI,eAAe,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/C,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;AACF,CAAC,CAAC;AAKF,MAAM,8BAA8B,GAAG,CAAC,GAAY,EAAE,EAAE;IACvD,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC7D,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,IAAI,kBAAkB,CAAC,UAAU,CAAC;gBAAE,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACpE,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEK,MAAM,sBAAsB,GAAG,CAAC,GAAY,EAAE,EAAE;IACtD,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC7B,8BAA8B,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC,CAAC;AAHW,QAAA,sBAAsB,GAAtB,sBAAsB,CAGjC"}
1
+ {"version":3,"file":"webhook-request-sanitizer.js","sourceRoot":"","sources":["../../src/webhooks/webhook-request-sanitizer.ts"],"names":[],"mappings":";;;AAEA,2CAMqB;AACrB,wFAAyF;AACzF,4DAAyE;AACzE,yFAAkF;AAElF,MAAM,sBAAsB,GAAG,eAAe,CAAC;AAU/C,MAAM,kBAAkB,GAAG,IAAI,GAAG,CAAC;IAClC,4BAAgB;IAChB,sBAAsB;IACtB,iDAAyB;IACzB,yDAAyB;IACzB,qCAAyB;IACzB,kCAAsB;IACtB,kCAAsB;IACtB,kCAAsB;CACtB,CAAC,CAAC;AAMH,MAAM,kBAAkB,GAAG,CAAC,IAAY,EAAE,EAAE,CAC3C,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,mCAAuB,GAAG,CAAC,CAAC;AAKhF,MAAM,uBAAuB,GAAG,CAAC,GAAY,EAAE,EAAE;IAChD,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC;IACzC,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO;IACR,CAAC;IAED,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IACxE,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;QACjD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QACxC,OAAO,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC,CAAC,CAAC;IAEH,IAAI,eAAe,CAAC,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC;QAC/C,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;AACF,CAAC,CAAC;AAKF,MAAM,8BAA8B,GAAG,CAAC,GAAY,EAAE,EAAE;IACvD,IAAI,GAAG,CAAC,OAAO,KAAK,IAAI,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC7D,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACnD,IAAI,kBAAkB,CAAC,UAAU,CAAC;gBAAE,OAAO,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACpE,CAAC;IACF,CAAC;AACF,CAAC,CAAC;AAEK,MAAM,sBAAsB,GAAG,CAAC,GAAY,EAAE,EAAE;IACtD,uBAAuB,CAAC,GAAG,CAAC,CAAC;IAC7B,8BAA8B,CAAC,GAAG,CAAC,CAAC;AACrC,CAAC,CAAC;AAHW,QAAA,sBAAsB,GAAtB,sBAAsB,CAGjC"}
@@ -8,7 +8,12 @@ const di_1 = require("@n8n/di");
8
8
  const n8n_core_1 = require("n8n-core");
9
9
  const node_http_1 = require("node:http");
10
10
  const ensure_error_1 = require("@n8n/utils/errors/ensure-error");
11
- const PROTECTED_HEADERS = new Set(['content-security-policy']);
11
+ const PROTECTED_HEADERS = new Set([
12
+ 'content-security-policy',
13
+ 'set-cookie',
14
+ 'strict-transport-security',
15
+ 'clear-site-data',
16
+ ]);
12
17
  class WebhookResponseHeaders {
13
18
  constructor() {
14
19
  this.headers = new Map();
@@ -20,8 +25,12 @@ class WebhookResponseHeaders {
20
25
  }
21
26
  set(name, value) {
22
27
  const lowerName = name.toLowerCase();
23
- if (PROTECTED_HEADERS.has(lowerName))
28
+ if (PROTECTED_HEADERS.has(lowerName)) {
29
+ di_1.Container.get(backend_common_1.Logger).warn('Dropping protected webhook response header', {
30
+ headerName: name,
31
+ });
24
32
  return;
33
+ }
25
34
  try {
26
35
  (0, node_http_1.validateHeaderName)(lowerName);
27
36
  (0, node_http_1.validateHeaderValue)(lowerName, value);
@@ -1 +1 @@
1
- {"version":3,"file":"webhook-response-headers.js","sourceRoot":"","sources":["../../src/webhooks/webhook-response-headers.ts"],"names":[],"mappings":";;;;;AAAA,wDAA6C;AAC7C,gCAAoC;AAEpC,uCAIkB;AAClB,yCAAoE;AACpE,iEAA6D;AAa7D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC;AAG/D;IAAA;QACS,YAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAgD7C,CAAC;IA7CA,MAAM,CAAC,UAAU,CAAC,GAAW;QAC5B,MAAM,QAAQ,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC9C,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,QAAQ,CAAC;IACjB,CAAC;IAGD,GAAG,CAAC,IAAY,EAAE,KAAa;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC;YAAE,OAAO;QAC7C,IAAI,CAAC;YACJ,IAAA,8BAAkB,EAAC,SAAS,CAAC,CAAC;YAC9B,IAAA,+BAAmB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,cAAS,CAAC,GAAG,CAAC,uBAAM,CAAC,CAAC,IAAI,CAAC,0CAA0C,EAAE;gBACtE,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,IAAA,0BAAW,EAAC,CAAC,CAAC,CAAC,OAAO;aAC7B,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAGD,aAAa,CAAC,GAAW;QACxB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC;IACF,CAAC;IAGD,kBAAkB,CAAC,WAAuC;QACzD,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO;QAE9C,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IAGD,eAAe,CAAC,GAAa;QAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAEpC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;CACD;;AAGD,yBAAgC,GAAa;IAC5C,IAAI,IAAA,0CAA+B,GAAE;QAAE,OAAO;IAC9C,GAAG,CAAC,SAAS,CAAC,yBAAyB,EAAE,IAAA,4BAAiB,GAAE,CAAC,CAAC;AAC/D,CAAC;AAMD,6BAAoC,GAAa;IAChD,IAAI,IAAA,uCAA4B,GAAE;QAAE,OAAO;IAC3C,GAAG,CAAC,SAAS,CAAC,yBAAyB,EAAE,IAAA,4BAAiB,GAAE,CAAC,CAAC;AAC/D,CAAC"}
1
+ {"version":3,"file":"webhook-response-headers.js","sourceRoot":"","sources":["../../src/webhooks/webhook-response-headers.ts"],"names":[],"mappings":";;;;;AAAA,wDAA6C;AAC7C,gCAAoC;AAEpC,uCAIkB;AAClB,yCAAoE;AACpE,iEAA6D;AAgB7D,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IACjC,yBAAyB;IACzB,YAAY;IACZ,2BAA2B;IAC3B,iBAAiB;CACjB,CAAC,CAAC;AAGH;IAAA;QACS,YAAO,GAAG,IAAI,GAAG,EAAkB,CAAC;IAqD7C,CAAC;IAlDA,MAAM,CAAC,UAAU,CAAC,GAAW;QAC5B,MAAM,QAAQ,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAC9C,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QAC5B,OAAO,QAAQ,CAAC;IACjB,CAAC;IAGD,GAAG,CAAC,IAAY,EAAE,KAAa;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACrC,IAAI,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACtC,cAAS,CAAC,GAAG,CAAC,uBAAM,CAAC,CAAC,IAAI,CAAC,4CAA4C,EAAE;gBACxE,UAAU,EAAE,IAAI;aAChB,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QACD,IAAI,CAAC;YACJ,IAAA,8BAAkB,EAAC,SAAS,CAAC,CAAC;YAC9B,IAAA,+BAAmB,EAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,cAAS,CAAC,GAAG,CAAC,uBAAM,CAAC,CAAC,IAAI,CAAC,0CAA0C,EAAE;gBACtE,UAAU,EAAE,IAAI;gBAChB,KAAK,EAAE,IAAA,0BAAW,EAAC,CAAC,CAAC,CAAC,OAAO;aAC7B,CAAC,CAAC;YACH,OAAO;QACR,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACpC,CAAC;IAGD,aAAa,CAAC,GAAW;QACxB,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YACjD,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,CAAC;IACF,CAAC;IAGD,kBAAkB,CAAC,WAAuC;QACzD,IAAI,WAAW,CAAC,OAAO,KAAK,SAAS;YAAE,OAAO;QAE9C,KAAK,MAAM,KAAK,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACzC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QACnC,CAAC;IACF,CAAC;IAGD,eAAe,CAAC,GAAa;QAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC;YAAE,OAAO;QAEpC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC9B,CAAC;CACD;;AAGD,yBAAgC,GAAa;IAC5C,IAAI,IAAA,0CAA+B,GAAE;QAAE,OAAO;IAC9C,GAAG,CAAC,SAAS,CAAC,yBAAyB,EAAE,IAAA,4BAAiB,GAAE,CAAC,CAAC;AAC/D,CAAC;AAMD,6BAAoC,GAAa;IAChD,IAAI,IAAA,uCAA4B,GAAE;QAAE,OAAO;IAC3C,GAAG,CAAC,SAAS,CAAC,yBAAyB,EAAE,IAAA,4BAAiB,GAAE,CAAC,CAAC;AAC/D,CAAC"}
@@ -3,25 +3,25 @@ import { Logger } from '@n8n/backend-common';
3
3
  import { WorkflowPublicationOutbox, WorkflowPublicationOutboxRepository, WorkflowPublicationTriggerStatusRepository } from '@n8n/db';
4
4
  import { ErrorReporter } from 'n8n-core';
5
5
  import { ActivationErrorsService } from '../../activation-errors.service';
6
- import { Push } from '../../push';
7
6
  import { Publisher } from '../../scaling/pubsub/publisher.service';
8
7
  import type { PublicationResult } from '../../workflows/publication/publication-result';
8
+ import { WorkflowPushNotifier } from '../../workflows/workflow-push-notifier.service';
9
9
  export declare class PublicationStatusReporter {
10
10
  private readonly logger;
11
11
  private readonly errorReporter;
12
12
  private readonly outboxRepository;
13
13
  private readonly activationErrorsService;
14
- private readonly push;
15
14
  private readonly publisher;
16
15
  private readonly triggerStatusRepository;
17
- constructor(logger: Logger, errorReporter: ErrorReporter, outboxRepository: WorkflowPublicationOutboxRepository, activationErrorsService: ActivationErrorsService, push: Push, publisher: Publisher, triggerStatusRepository: WorkflowPublicationTriggerStatusRepository);
16
+ private readonly workflowPushNotifier;
17
+ constructor(logger: Logger, errorReporter: ErrorReporter, outboxRepository: WorkflowPublicationOutboxRepository, activationErrorsService: ActivationErrorsService, publisher: Publisher, triggerStatusRepository: WorkflowPublicationTriggerStatusRepository, workflowPushNotifier: WorkflowPushNotifier);
18
18
  report(record: WorkflowPublicationOutbox, result: PublicationResult): Promise<void>;
19
19
  private reportPartial;
20
20
  private toRows;
21
21
  private formatActivationError;
22
22
  private pushFailedToActivate;
23
23
  private pushStatus;
24
- handleDisplayWorkflowPublicationStatus(pushMsg: WorkflowPublicationStatusMessage): void;
24
+ handleDisplayWorkflowPublicationStatus(pushMsg: WorkflowPublicationStatusMessage): Promise<void>;
25
25
  private surfaceTeardownFailures;
26
26
  private complete;
27
27
  private logSkip;
@@ -18,22 +18,22 @@ const n8n_core_1 = require("n8n-core");
18
18
  const n8n_workflow_1 = require("n8n-workflow");
19
19
  const activation_errors_service_1 = require("../../activation-errors.service");
20
20
  const policy_violation_error_1 = require("../../policy/policy-violation.error");
21
- const push_1 = require("../../push");
22
21
  const publisher_service_1 = require("../../scaling/pubsub/publisher.service");
22
+ const workflow_push_notifier_service_1 = require("../../workflows/workflow-push-notifier.service");
23
23
  const SKIP_LOG_MESSAGE = {
24
24
  'workflow-not-found': 'Workflow not found',
25
25
  'node-ids-healed': 'Version was healed and republished; its own record applies it',
26
26
  superseded: 'Version was superseded by a concurrent publication',
27
27
  };
28
28
  let PublicationStatusReporter = class PublicationStatusReporter {
29
- constructor(logger, errorReporter, outboxRepository, activationErrorsService, push, publisher, triggerStatusRepository) {
29
+ constructor(logger, errorReporter, outboxRepository, activationErrorsService, publisher, triggerStatusRepository, workflowPushNotifier) {
30
30
  this.logger = logger;
31
31
  this.errorReporter = errorReporter;
32
32
  this.outboxRepository = outboxRepository;
33
33
  this.activationErrorsService = activationErrorsService;
34
- this.push = push;
35
34
  this.publisher = publisher;
36
35
  this.triggerStatusRepository = triggerStatusRepository;
36
+ this.workflowPushNotifier = workflowPushNotifier;
37
37
  this.logger = this.logger.scoped('workflow-publication');
38
38
  }
39
39
  async report(record, result) {
@@ -41,7 +41,7 @@ let PublicationStatusReporter = class PublicationStatusReporter {
41
41
  case 'completed': {
42
42
  const warningMessage = this.surfaceTeardownFailures(result.teardownFailures);
43
43
  await this.complete(record, this.toRows(record, result.triggerStatuses), warningMessage);
44
- this.pushStatus({
44
+ await this.pushStatus({
45
45
  type: 'workflowActivated',
46
46
  data: { workflowId: record.workflowId, activeVersionId: record.publishedVersionId },
47
47
  });
@@ -50,7 +50,7 @@ let PublicationStatusReporter = class PublicationStatusReporter {
50
50
  case 'unpublished': {
51
51
  const warningMessage = this.surfaceTeardownFailures(result.teardownFailures);
52
52
  await this.complete(record, [], warningMessage);
53
- this.pushStatus({
53
+ await this.pushStatus({
54
54
  type: 'workflowDeactivated',
55
55
  data: { workflowId: record.workflowId },
56
56
  });
@@ -69,7 +69,7 @@ let PublicationStatusReporter = class PublicationStatusReporter {
69
69
  outboxId: record.id,
70
70
  });
71
71
  await this.outboxRepository.markFailed(record.id, errorMessage);
72
- this.pushFailedToActivate(record.workflowId, errorMessage);
72
+ await this.pushFailedToActivate(record.workflowId, errorMessage);
73
73
  return;
74
74
  }
75
75
  case 'failed': {
@@ -84,7 +84,7 @@ let PublicationStatusReporter = class PublicationStatusReporter {
84
84
  if (!(0, policy_violation_error_1.isPolicyRefusal)(result.error)) {
85
85
  this.errorReporter.error(result.error, { shouldBeLogged: true });
86
86
  }
87
- this.pushFailedToActivate(record.workflowId, result.error.message);
87
+ await this.pushFailedToActivate(record.workflowId, result.error.message);
88
88
  return;
89
89
  }
90
90
  case 'partial': {
@@ -106,7 +106,7 @@ let PublicationStatusReporter = class PublicationStatusReporter {
106
106
  await this.triggerStatusRepository.replaceForWorkflow(record.workflowId, this.toRows(record, triggerStatuses), trx);
107
107
  await this.outboxRepository.markPartialSuccess(record.id, errorMessage, trx);
108
108
  });
109
- this.pushStatus({
109
+ await this.pushStatus({
110
110
  type: 'workflowPartiallyActivated',
111
111
  data: {
112
112
  workflowId: record.workflowId,
@@ -135,20 +135,20 @@ let PublicationStatusReporter = class PublicationStatusReporter {
135
135
  .join('; ');
136
136
  return `Some triggers failed to activate: ${detail}`;
137
137
  }
138
- pushFailedToActivate(workflowId, errorMessage) {
139
- this.pushStatus({
138
+ async pushFailedToActivate(workflowId, errorMessage) {
139
+ await this.pushStatus({
140
140
  type: 'workflowFailedToActivate',
141
141
  data: { workflowId, errorMessage },
142
142
  });
143
143
  }
144
- pushStatus(pushMsg) {
145
- this.push.broadcast(pushMsg);
144
+ async pushStatus(pushMsg) {
146
145
  void this.publisher
147
146
  .publishCommand({ command: 'display-workflow-publication-status', payload: pushMsg })
148
147
  .catch((error) => this.errorReporter.error(error, { shouldBeLogged: true }));
148
+ await this.workflowPushNotifier.notify(pushMsg.data.workflowId, pushMsg);
149
149
  }
150
- handleDisplayWorkflowPublicationStatus(pushMsg) {
151
- this.push.broadcast(pushMsg);
150
+ async handleDisplayWorkflowPublicationStatus(pushMsg) {
151
+ await this.workflowPushNotifier.notify(pushMsg.data.workflowId, pushMsg);
152
152
  }
153
153
  surfaceTeardownFailures(teardownFailures) {
154
154
  if (!teardownFailures?.length)
@@ -179,10 +179,10 @@ __decorate([
179
179
  (0, decorators_1.OnPubSubEvent)('display-workflow-publication-status', { instanceType: 'main' }),
180
180
  __metadata("design:type", Function),
181
181
  __metadata("design:paramtypes", [Object]),
182
- __metadata("design:returntype", void 0)
182
+ __metadata("design:returntype", Promise)
183
183
  ], PublicationStatusReporter.prototype, "handleDisplayWorkflowPublicationStatus", null);
184
184
  exports.PublicationStatusReporter = PublicationStatusReporter = __decorate([
185
185
  (0, di_1.Service)(),
186
- __metadata("design:paramtypes", [backend_common_1.Logger, n8n_core_1.ErrorReporter, db_1.WorkflowPublicationOutboxRepository, activation_errors_service_1.ActivationErrorsService, push_1.Push, publisher_service_1.Publisher, db_1.WorkflowPublicationTriggerStatusRepository])
186
+ __metadata("design:paramtypes", [backend_common_1.Logger, n8n_core_1.ErrorReporter, db_1.WorkflowPublicationOutboxRepository, activation_errors_service_1.ActivationErrorsService, publisher_service_1.Publisher, db_1.WorkflowPublicationTriggerStatusRepository, workflow_push_notifier_service_1.WorkflowPushNotifier])
187
187
  ], PublicationStatusReporter);
188
188
  //# sourceMappingURL=publication-status-reporter.js.map