n8n 2.37.6 → 2.37.7

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 (109) 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/instance-ai/instance-ai.adapter.service.js +2 -2
  42. package/dist/modules/instance-ai/instance-ai.adapter.service.js.map +1 -1
  43. package/dist/modules/log-streaming.ee/destinations/destination-credentials-access.d.ts +4 -0
  44. package/dist/modules/log-streaming.ee/destinations/destination-credentials-access.js +21 -0
  45. package/dist/modules/log-streaming.ee/destinations/destination-credentials-access.js.map +1 -0
  46. package/dist/modules/log-streaming.ee/log-streaming.controller.d.ts +4 -2
  47. package/dist/modules/log-streaming.ee/log-streaming.controller.js +13 -4
  48. package/dist/modules/log-streaming.ee/log-streaming.controller.js.map +1 -1
  49. package/dist/modules/mcp/tools/workflow-builder/constants.d.ts +1 -0
  50. package/dist/modules/mcp/tools/workflow-builder/constants.js +2 -1
  51. package/dist/modules/mcp/tools/workflow-builder/constants.js.map +1 -1
  52. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js +2 -1
  53. package/dist/modules/mcp/tools/workflow-builder/create-workflow-from-code.tool.js.map +1 -1
  54. package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js +2 -1
  55. package/dist/modules/mcp/tools/workflow-builder/validate-workflow-code.tool.js.map +1 -1
  56. package/dist/modules/oauth-server/oauth-server.service.js +29 -0
  57. package/dist/modules/oauth-server/oauth-server.service.js.map +1 -1
  58. package/dist/modules/oauth-server/oauth-session.service.d.ts +1 -0
  59. package/dist/modules/oauth-server/oauth-session.service.js +5 -5
  60. package/dist/modules/oauth-server/oauth-session.service.js.map +1 -1
  61. package/dist/modules/source-control.ee/source-control.service.ee.d.ts +1 -0
  62. package/dist/modules/source-control.ee/source-control.service.ee.js +24 -20
  63. package/dist/modules/source-control.ee/source-control.service.ee.js.map +1 -1
  64. package/dist/modules/sso-oidc/oidc.controller.ee.js +1 -0
  65. package/dist/modules/sso-oidc/oidc.controller.ee.js.map +1 -1
  66. package/dist/modules/sso-oidc/oidc.service.ee.d.ts +1 -0
  67. package/dist/modules/sso-oidc/oidc.service.ee.js +7 -0
  68. package/dist/modules/sso-oidc/oidc.service.ee.js.map +1 -1
  69. package/dist/public-api/v1/handlers/log-streaming/log-streaming.handler.js +10 -3
  70. package/dist/public-api/v1/handlers/log-streaming/log-streaming.handler.js.map +1 -1
  71. package/dist/push/abstract.push.js +2 -1
  72. package/dist/push/abstract.push.js.map +1 -1
  73. package/dist/server.d.ts +1 -0
  74. package/dist/server.js +25 -25
  75. package/dist/server.js.map +1 -1
  76. package/dist/services/active-workflows.service.d.ts +4 -3
  77. package/dist/services/active-workflows.service.js +7 -6
  78. package/dist/services/active-workflows.service.js.map +1 -1
  79. package/dist/services/credentials-tester.service.d.ts +1 -0
  80. package/dist/services/credentials-tester.service.js +9 -1
  81. package/dist/services/credentials-tester.service.js.map +1 -1
  82. package/dist/task-runners/task-broker/auth/task-broker-auth.service.js +1 -2
  83. package/dist/task-runners/task-broker/auth/task-broker-auth.service.js.map +1 -1
  84. package/dist/utils/request-path.d.ts +2 -0
  85. package/dist/utils/request-path.js +58 -0
  86. package/dist/utils/request-path.js.map +1 -0
  87. package/dist/webhooks/hitl-interaction-webhooks.d.ts +1 -0
  88. package/dist/webhooks/hitl-interaction-webhooks.js +5 -3
  89. package/dist/webhooks/hitl-interaction-webhooks.js.map +1 -1
  90. package/dist/webhooks/slack-interaction-webhooks.d.ts +1 -0
  91. package/dist/webhooks/slack-interaction-webhooks.js +4 -0
  92. package/dist/webhooks/slack-interaction-webhooks.js.map +1 -1
  93. package/dist/webhooks/telegram-interaction-webhooks.d.ts +1 -0
  94. package/dist/webhooks/telegram-interaction-webhooks.js +4 -0
  95. package/dist/webhooks/telegram-interaction-webhooks.js.map +1 -1
  96. package/dist/webhooks/webhook-request-sanitizer.js +8 -0
  97. package/dist/webhooks/webhook-request-sanitizer.js.map +1 -1
  98. package/dist/webhooks/webhook-response-headers.js +11 -2
  99. package/dist/webhooks/webhook-response-headers.js.map +1 -1
  100. package/dist/workflows/publication/publication-status-reporter.d.ts +4 -4
  101. package/dist/workflows/publication/publication-status-reporter.js +16 -16
  102. package/dist/workflows/publication/publication-status-reporter.js.map +1 -1
  103. package/dist/workflows/workflow-push-notifier.service.d.ts +9 -0
  104. package/dist/workflows/workflow-push-notifier.service.js +31 -0
  105. package/dist/workflows/workflow-push-notifier.service.js.map +1 -0
  106. package/dist/workflows/workflow-sharing.service.d.ts +7 -3
  107. package/dist/workflows/workflow-sharing.service.js +29 -2
  108. package/dist/workflows/workflow-sharing.service.js.map +1 -1
  109. package/package.json +35 -35
@@ -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":"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"}
@@ -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"}
@@ -7,7 +7,12 @@ const di_1 = require("@n8n/di");
7
7
  const n8n_core_1 = require("n8n-core");
8
8
  const node_http_1 = require("node:http");
9
9
  const ensure_error_1 = require("@n8n/utils/errors/ensure-error");
10
- const PROTECTED_HEADERS = new Set(['content-security-policy']);
10
+ const PROTECTED_HEADERS = new Set([
11
+ 'content-security-policy',
12
+ 'set-cookie',
13
+ 'strict-transport-security',
14
+ 'clear-site-data',
15
+ ]);
11
16
  class WebhookResponseHeaders {
12
17
  constructor() {
13
18
  this.headers = new Map();
@@ -19,8 +24,12 @@ class WebhookResponseHeaders {
19
24
  }
20
25
  set(name, value) {
21
26
  const lowerName = name.toLowerCase();
22
- if (PROTECTED_HEADERS.has(lowerName))
27
+ if (PROTECTED_HEADERS.has(lowerName)) {
28
+ di_1.Container.get(backend_common_1.Logger).warn('Dropping protected webhook response header', {
29
+ headerName: name,
30
+ });
23
31
  return;
32
+ }
24
33
  try {
25
34
  (0, node_http_1.validateHeaderName)(lowerName);
26
35
  (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,uCAA8E;AAC9E,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"}
1
+ {"version":3,"file":"webhook-response-headers.js","sourceRoot":"","sources":["../../src/webhooks/webhook-response-headers.ts"],"names":[],"mappings":";;;;AAAA,wDAA6C;AAC7C,gCAAoC;AAEpC,uCAA8E;AAC9E,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"}
@@ -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 complete;
26
26
  private logSkip;
27
27
  }
@@ -16,29 +16,29 @@ const decorators_1 = require("@n8n/decorators");
16
16
  const di_1 = require("@n8n/di");
17
17
  const n8n_core_1 = require("n8n-core");
18
18
  const activation_errors_service_1 = require("../../activation-errors.service");
19
- const push_1 = require("../../push");
20
19
  const publisher_service_1 = require("../../scaling/pubsub/publisher.service");
20
+ const workflow_push_notifier_service_1 = require("../../workflows/workflow-push-notifier.service");
21
21
  const SKIP_LOG_MESSAGE = {
22
22
  'workflow-not-found': 'Workflow not found',
23
23
  'node-ids-healed': 'Version was healed and republished; its own record applies it',
24
24
  superseded: 'Version was superseded by a concurrent publication',
25
25
  };
26
26
  let PublicationStatusReporter = class PublicationStatusReporter {
27
- constructor(logger, errorReporter, outboxRepository, activationErrorsService, push, publisher, triggerStatusRepository) {
27
+ constructor(logger, errorReporter, outboxRepository, activationErrorsService, publisher, triggerStatusRepository, workflowPushNotifier) {
28
28
  this.logger = logger;
29
29
  this.errorReporter = errorReporter;
30
30
  this.outboxRepository = outboxRepository;
31
31
  this.activationErrorsService = activationErrorsService;
32
- this.push = push;
33
32
  this.publisher = publisher;
34
33
  this.triggerStatusRepository = triggerStatusRepository;
34
+ this.workflowPushNotifier = workflowPushNotifier;
35
35
  this.logger = this.logger.scoped('workflow-publication');
36
36
  }
37
37
  async report(record, result) {
38
38
  switch (result.type) {
39
39
  case 'completed': {
40
40
  await this.complete(record, this.toRows(record, result.triggerStatuses));
41
- this.pushStatus({
41
+ await this.pushStatus({
42
42
  type: 'workflowActivated',
43
43
  data: { workflowId: record.workflowId, activeVersionId: record.publishedVersionId },
44
44
  });
@@ -46,7 +46,7 @@ let PublicationStatusReporter = class PublicationStatusReporter {
46
46
  }
47
47
  case 'unpublished': {
48
48
  await this.complete(record, []);
49
- this.pushStatus({
49
+ await this.pushStatus({
50
50
  type: 'workflowDeactivated',
51
51
  data: { workflowId: record.workflowId },
52
52
  });
@@ -65,7 +65,7 @@ let PublicationStatusReporter = class PublicationStatusReporter {
65
65
  outboxId: record.id,
66
66
  });
67
67
  await this.outboxRepository.markFailed(record.id, errorMessage);
68
- this.pushFailedToActivate(record.workflowId, errorMessage);
68
+ await this.pushFailedToActivate(record.workflowId, errorMessage);
69
69
  return;
70
70
  }
71
71
  case 'failed': {
@@ -77,7 +77,7 @@ let PublicationStatusReporter = class PublicationStatusReporter {
77
77
  await this.outboxRepository.markFailed(record.id, result.error.message, trx);
78
78
  });
79
79
  this.errorReporter.error(result.error, { shouldBeLogged: true });
80
- this.pushFailedToActivate(record.workflowId, result.error.message);
80
+ await this.pushFailedToActivate(record.workflowId, result.error.message);
81
81
  return;
82
82
  }
83
83
  case 'partial': {
@@ -98,7 +98,7 @@ let PublicationStatusReporter = class PublicationStatusReporter {
98
98
  await this.triggerStatusRepository.replaceForWorkflow(record.workflowId, this.toRows(record, triggerStatuses), trx);
99
99
  await this.outboxRepository.markPartialSuccess(record.id, errorMessage, trx);
100
100
  });
101
- this.pushStatus({
101
+ await this.pushStatus({
102
102
  type: 'workflowPartiallyActivated',
103
103
  data: {
104
104
  workflowId: record.workflowId,
@@ -127,20 +127,20 @@ let PublicationStatusReporter = class PublicationStatusReporter {
127
127
  .join('; ');
128
128
  return `Some triggers failed to activate: ${detail}`;
129
129
  }
130
- pushFailedToActivate(workflowId, errorMessage) {
131
- this.pushStatus({
130
+ async pushFailedToActivate(workflowId, errorMessage) {
131
+ await this.pushStatus({
132
132
  type: 'workflowFailedToActivate',
133
133
  data: { workflowId, errorMessage },
134
134
  });
135
135
  }
136
- pushStatus(pushMsg) {
137
- this.push.broadcast(pushMsg);
136
+ async pushStatus(pushMsg) {
138
137
  void this.publisher
139
138
  .publishCommand({ command: 'display-workflow-publication-status', payload: pushMsg })
140
139
  .catch((error) => this.errorReporter.error(error, { shouldBeLogged: true }));
140
+ await this.workflowPushNotifier.notify(pushMsg.data.workflowId, pushMsg);
141
141
  }
142
- handleDisplayWorkflowPublicationStatus(pushMsg) {
143
- this.push.broadcast(pushMsg);
142
+ async handleDisplayWorkflowPublicationStatus(pushMsg) {
143
+ await this.workflowPushNotifier.notify(pushMsg.data.workflowId, pushMsg);
144
144
  }
145
145
  async complete(record, triggerStatuses) {
146
146
  await this.outboxRepository.manager.transaction(async (trx) => {
@@ -161,10 +161,10 @@ __decorate([
161
161
  (0, decorators_1.OnPubSubEvent)('display-workflow-publication-status', { instanceType: 'main' }),
162
162
  __metadata("design:type", Function),
163
163
  __metadata("design:paramtypes", [Object]),
164
- __metadata("design:returntype", void 0)
164
+ __metadata("design:returntype", Promise)
165
165
  ], PublicationStatusReporter.prototype, "handleDisplayWorkflowPublicationStatus", null);
166
166
  exports.PublicationStatusReporter = PublicationStatusReporter = __decorate([
167
167
  (0, di_1.Service)(),
168
- __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])
168
+ __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])
169
169
  ], PublicationStatusReporter);
170
170
  //# sourceMappingURL=publication-status-reporter.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"publication-status-reporter.js","sourceRoot":"","sources":["../../../src/workflows/publication/publication-status-reporter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"publication-status-reporter.js","sourceRoot":"","sources":["../../../src/workflows/publication/publication-status-reporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import type { PushMessage } from '@n8n/api-types';
2
+ import { Push } from '../push';
3
+ import { WorkflowSharingService } from '../workflows/workflow-sharing.service';
4
+ export declare class WorkflowPushNotifier {
5
+ private readonly push;
6
+ private readonly workflowSharingService;
7
+ constructor(push: Push, workflowSharingService: WorkflowSharingService);
8
+ notify(workflowId: string, pushMsg: PushMessage): Promise<void>;
9
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.WorkflowPushNotifier = void 0;
13
+ const di_1 = require("@n8n/di");
14
+ const push_1 = require("../push");
15
+ const workflow_sharing_service_1 = require("../workflows/workflow-sharing.service");
16
+ let WorkflowPushNotifier = class WorkflowPushNotifier {
17
+ constructor(push, workflowSharingService) {
18
+ this.push = push;
19
+ this.workflowSharingService = workflowSharingService;
20
+ }
21
+ async notify(workflowId, pushMsg) {
22
+ const userIds = await this.workflowSharingService.getUserIdsWithAccessToWorkflowSafe(workflowId);
23
+ this.push.sendToUsers(pushMsg, userIds);
24
+ }
25
+ };
26
+ exports.WorkflowPushNotifier = WorkflowPushNotifier;
27
+ exports.WorkflowPushNotifier = WorkflowPushNotifier = __decorate([
28
+ (0, di_1.Service)(),
29
+ __metadata("design:paramtypes", [push_1.Push, workflow_sharing_service_1.WorkflowSharingService])
30
+ ], WorkflowPushNotifier);
31
+ //# sourceMappingURL=workflow-push-notifier.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workflow-push-notifier.service.js","sourceRoot":"","sources":["../../src/workflows/workflow-push-notifier.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,gCAAkC;AAElC,iCAA8B;AAC9B,mFAA8E;AAIvE,IAAM,oBAAoB,GAA1B,MAAM,oBAAoB;IAChC,YACkB,IAAU,EACV,sBAA8C;oBAD9C,IAAI;sCACJ,sBAAsB;IACrC,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,OAAoB;QACpD,MAAM,OAAO,GACZ,MAAM,IAAI,CAAC,sBAAsB,CAAC,kCAAkC,CAAC,UAAU,CAAC,CAAC;QAClF,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACzC,CAAC;CACD,CAAA;;+BAXY,oBAAoB;IADhC,IAAA,YAAO,GAAE;qCAGe,WAAI,EACc,iDAAsB;GAHpD,oBAAoB,CAWhC"}
@@ -1,6 +1,6 @@
1
- import { LicenseState } from '@n8n/backend-common';
1
+ import { Logger, LicenseState } from '@n8n/backend-common';
2
2
  import type { User } from '@n8n/db';
3
- import { ProjectRelationRepository, SharedWorkflowRepository } from '@n8n/db';
3
+ import { ProjectRelationRepository, SharedWorkflowRepository, UserRepository } from '@n8n/db';
4
4
  import { type ProjectRole, type WorkflowSharingRole, type Scope } from '@n8n/permissions';
5
5
  import { RoleService } from '../services/role.service';
6
6
  export type ShareWorkflowOptions = {
@@ -16,8 +16,12 @@ export declare class WorkflowSharingService {
16
16
  private readonly roleService;
17
17
  private readonly projectRelationRepository;
18
18
  private readonly licenseState;
19
- constructor(sharedWorkflowRepository: SharedWorkflowRepository, roleService: RoleService, projectRelationRepository: ProjectRelationRepository, licenseState: LicenseState);
19
+ private readonly userRepository;
20
+ private readonly logger;
21
+ constructor(sharedWorkflowRepository: SharedWorkflowRepository, roleService: RoleService, projectRelationRepository: ProjectRelationRepository, licenseState: LicenseState, userRepository: UserRepository, logger: Logger);
20
22
  getSharedWorkflowIds(user: User, options: ShareWorkflowOptions): Promise<string[]>;
23
+ getUserIdsWithAccessToWorkflow(workflowId: string): Promise<string[]>;
24
+ getUserIdsWithAccessToWorkflowSafe(workflowId: string): Promise<string[]>;
21
25
  getSharedWorkflowIdsForScopes(user: User, scopes: Scope[], projectId?: string): Promise<string[]>;
22
26
  getSharedWithMeIds(user: User): Promise<string[]>;
23
27
  getSharedWorkflowScopes(workflowIds: string[], user: User): Promise<Array<[string, Scope[]]>>;
@@ -17,11 +17,13 @@ const permissions_1 = require("@n8n/permissions");
17
17
  const typeorm_1 = require("@n8n/typeorm");
18
18
  const role_service_1 = require("../services/role.service");
19
19
  let WorkflowSharingService = class WorkflowSharingService {
20
- constructor(sharedWorkflowRepository, roleService, projectRelationRepository, licenseState) {
20
+ constructor(sharedWorkflowRepository, roleService, projectRelationRepository, licenseState, userRepository, logger) {
21
21
  this.sharedWorkflowRepository = sharedWorkflowRepository;
22
22
  this.roleService = roleService;
23
23
  this.projectRelationRepository = projectRelationRepository;
24
24
  this.licenseState = licenseState;
25
+ this.userRepository = userRepository;
26
+ this.logger = logger;
25
27
  }
26
28
  async getSharedWorkflowIds(user, options) {
27
29
  const { projectId } = options;
@@ -52,6 +54,31 @@ let WorkflowSharingService = class WorkflowSharingService {
52
54
  });
53
55
  return sharedWorkflows.map(({ workflowId }) => workflowId);
54
56
  }
57
+ async getUserIdsWithAccessToWorkflow(workflowId) {
58
+ const [workflowRoles, globalRoles, projectRoles] = await Promise.all([
59
+ this.roleService.rolesWithScope('workflow', ['workflow:read']),
60
+ this.roleService.rolesWithScope('global', ['workflow:read']),
61
+ this.roleService.rolesWithScope('project', ['workflow:read']),
62
+ ]);
63
+ const projectIds = await this.sharedWorkflowRepository.findProjectIdsByRole(workflowId, workflowRoles);
64
+ return await this.userRepository.findIdsWithGlobalOrProjectRoles({
65
+ projectIds,
66
+ projectRoleSlugs: projectRoles,
67
+ globalRoleSlugs: globalRoles,
68
+ });
69
+ }
70
+ async getUserIdsWithAccessToWorkflowSafe(workflowId) {
71
+ try {
72
+ return await this.getUserIdsWithAccessToWorkflow(workflowId);
73
+ }
74
+ catch (error) {
75
+ this.logger.error(`Failed to resolve who can access workflow "${workflowId}"`, {
76
+ workflowId,
77
+ error: error instanceof Error ? error : new Error(String(error)),
78
+ });
79
+ return [];
80
+ }
81
+ }
55
82
  async getSharedWorkflowIdsForScopes(user, scopes, projectId) {
56
83
  if (this.licenseState.isSharingLicensed()) {
57
84
  return await this.getSharedWorkflowIds(user, { scopes, projectId });
@@ -119,6 +146,6 @@ let WorkflowSharingService = class WorkflowSharingService {
119
146
  exports.WorkflowSharingService = WorkflowSharingService;
120
147
  exports.WorkflowSharingService = WorkflowSharingService = __decorate([
121
148
  (0, di_1.Service)(),
122
- __metadata("design:paramtypes", [db_1.SharedWorkflowRepository, role_service_1.RoleService, db_1.ProjectRelationRepository, backend_common_1.LicenseState])
149
+ __metadata("design:paramtypes", [db_1.SharedWorkflowRepository, role_service_1.RoleService, db_1.ProjectRelationRepository, backend_common_1.LicenseState, db_1.UserRepository, backend_common_1.Logger])
123
150
  ], WorkflowSharingService);
124
151
  //# sourceMappingURL=workflow-sharing.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-sharing.service.js","sourceRoot":"","sources":["../../src/workflows/workflow-sharing.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-sharing.service.js","sourceRoot":"","sources":["../../src/workflows/workflow-sharing.service.ts"],"names":[],"mappings":"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"}