n8n 1.46.0 → 1.47.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (232) hide show
  1. package/dist/ActiveExecutions.d.ts +3 -1
  2. package/dist/ActiveExecutions.js +17 -3
  3. package/dist/ActiveExecutions.js.map +1 -1
  4. package/dist/Interfaces.d.ts +2 -0
  5. package/dist/Interfaces.js.map +1 -1
  6. package/dist/InternalHooks.d.ts +9 -25
  7. package/dist/InternalHooks.js +129 -488
  8. package/dist/InternalHooks.js.map +1 -1
  9. package/dist/Ldap/helpers.d.ts +0 -1
  10. package/dist/Ldap/helpers.js +4 -7
  11. package/dist/Ldap/helpers.js.map +1 -1
  12. package/dist/License.js +4 -0
  13. package/dist/License.js.map +1 -1
  14. package/dist/PublicApi/v1/handlers/credentials/credentials.service.js +13 -0
  15. package/dist/PublicApi/v1/handlers/credentials/credentials.service.js.map +1 -1
  16. package/dist/PublicApi/v1/handlers/executions/executions.handler.js +12 -0
  17. package/dist/PublicApi/v1/handlers/executions/executions.handler.js.map +1 -1
  18. package/dist/PublicApi/v1/handlers/workflows/workflows.handler.js +10 -0
  19. package/dist/PublicApi/v1/handlers/workflows/workflows.handler.js.map +1 -1
  20. package/dist/PublicApi/v1/openapi.yml +2 -0
  21. package/dist/Queue.d.ts +1 -0
  22. package/dist/Queue.js +10 -10
  23. package/dist/Queue.js.map +1 -1
  24. package/dist/Server.d.ts +36 -3
  25. package/dist/Server.js +67 -104
  26. package/dist/Server.js.map +1 -1
  27. package/dist/UserManagement/email/UserManagementMailer.js +13 -1
  28. package/dist/UserManagement/email/UserManagementMailer.js.map +1 -1
  29. package/dist/WaitTracker.js +6 -8
  30. package/dist/WaitTracker.js.map +1 -1
  31. package/dist/WorkflowExecuteAdditionalData.js +33 -9
  32. package/dist/WorkflowExecuteAdditionalData.js.map +1 -1
  33. package/dist/WorkflowRunner.d.ts +3 -1
  34. package/dist/WorkflowRunner.js +14 -3
  35. package/dist/WorkflowRunner.js.map +1 -1
  36. package/dist/auth/methods/ldap.js +2 -0
  37. package/dist/auth/methods/ldap.js.map +1 -1
  38. package/dist/build.tsbuildinfo +1 -1
  39. package/dist/commands/start.d.ts +1 -2
  40. package/dist/commands/start.js +31 -19
  41. package/dist/commands/start.js.map +1 -1
  42. package/dist/commands/worker.js +5 -2
  43. package/dist/commands/worker.js.map +1 -1
  44. package/dist/concurrency/concurrency-control.service.d.ts +33 -0
  45. package/dist/concurrency/concurrency-control.service.js +120 -0
  46. package/dist/concurrency/concurrency-control.service.js.map +1 -0
  47. package/dist/concurrency/concurrency-queue.d.ts +12 -0
  48. package/dist/concurrency/concurrency-queue.js +57 -0
  49. package/dist/concurrency/concurrency-queue.js.map +1 -0
  50. package/dist/config/index.d.ts +7 -0
  51. package/dist/config/schema.d.ts +22 -0
  52. package/dist/config/schema.js +23 -1
  53. package/dist/config/schema.js.map +1 -1
  54. package/dist/config/types.d.ts +2 -1
  55. package/dist/controllers/auth.controller.d.ts +3 -1
  56. package/dist/controllers/auth.controller.js +9 -5
  57. package/dist/controllers/auth.controller.js.map +1 -1
  58. package/dist/controllers/communityPackages.controller.d.ts +3 -1
  59. package/dist/controllers/communityPackages.controller.js +40 -2
  60. package/dist/controllers/communityPackages.controller.js.map +1 -1
  61. package/dist/controllers/invitation.controller.d.ts +3 -1
  62. package/dist/controllers/invitation.controller.js +6 -2
  63. package/dist/controllers/invitation.controller.js.map +1 -1
  64. package/dist/controllers/me.controller.d.ts +3 -1
  65. package/dist/controllers/me.controller.js +14 -19
  66. package/dist/controllers/me.controller.js.map +1 -1
  67. package/dist/controllers/passwordReset.controller.d.ts +3 -1
  68. package/dist/controllers/passwordReset.controller.js +11 -6
  69. package/dist/controllers/passwordReset.controller.js.map +1 -1
  70. package/dist/controllers/users.controller.d.ts +3 -1
  71. package/dist/controllers/users.controller.js +6 -2
  72. package/dist/controllers/users.controller.js.map +1 -1
  73. package/dist/credentials/credentials.controller.d.ts +9 -1
  74. package/dist/credentials/credentials.controller.js +44 -2
  75. package/dist/credentials/credentials.controller.js.map +1 -1
  76. package/dist/credentials/credentials.service.d.ts +15 -1
  77. package/dist/credentials/credentials.service.js +37 -2
  78. package/dist/credentials/credentials.service.js.map +1 -1
  79. package/dist/databases/entities/User.d.ts +1 -1
  80. package/dist/databases/repositories/credentials.repository.d.ts +9 -1
  81. package/dist/databases/repositories/credentials.repository.js +36 -2
  82. package/dist/databases/repositories/credentials.repository.js.map +1 -1
  83. package/dist/databases/repositories/execution.repository.d.ts +5 -1
  84. package/dist/databases/repositories/execution.repository.js +36 -9
  85. package/dist/databases/repositories/execution.repository.js.map +1 -1
  86. package/dist/databases/repositories/user.repository.d.ts +2 -0
  87. package/dist/databases/repositories/user.repository.js +20 -0
  88. package/dist/databases/repositories/user.repository.js.map +1 -1
  89. package/dist/databases/repositories/workflow.repository.d.ts +1 -1
  90. package/dist/databases/utils/generators.js +2 -1
  91. package/dist/databases/utils/generators.js.map +1 -1
  92. package/dist/decorators/Licensed.d.ts +1 -1
  93. package/dist/decorators/Licensed.js +4 -9
  94. package/dist/decorators/Licensed.js.map +1 -1
  95. package/dist/decorators/Middleware.js +3 -6
  96. package/dist/decorators/Middleware.js.map +1 -1
  97. package/dist/decorators/Redactable.d.ts +3 -0
  98. package/dist/decorators/Redactable.js +29 -0
  99. package/dist/decorators/Redactable.js.map +1 -0
  100. package/dist/decorators/RestController.js +3 -2
  101. package/dist/decorators/RestController.js.map +1 -1
  102. package/dist/decorators/Route.d.ts +1 -1
  103. package/dist/decorators/Route.js +9 -14
  104. package/dist/decorators/Route.js.map +1 -1
  105. package/dist/decorators/Scoped.d.ts +2 -2
  106. package/dist/decorators/Scoped.js +6 -19
  107. package/dist/decorators/Scoped.js.map +1 -1
  108. package/dist/decorators/controller.registry.d.ts +16 -0
  109. package/dist/decorators/controller.registry.js +116 -0
  110. package/dist/decorators/controller.registry.js.map +1 -0
  111. package/dist/decorators/index.d.ts +1 -1
  112. package/dist/decorators/index.js +3 -3
  113. package/dist/decorators/index.js.map +1 -1
  114. package/dist/decorators/types.d.ts +16 -14
  115. package/dist/errors/invalid-concurrency-limit.error.d.ts +4 -0
  116. package/dist/errors/invalid-concurrency-limit.error.js +11 -0
  117. package/dist/errors/invalid-concurrency-limit.error.js.map +1 -0
  118. package/dist/errors/queued-execution-retry.error.d.ts +4 -0
  119. package/dist/errors/queued-execution-retry.error.js +13 -0
  120. package/dist/errors/queued-execution-retry.error.js.map +1 -0
  121. package/dist/errors/redactable.error.d.ts +4 -0
  122. package/dist/errors/redactable.error.js +11 -0
  123. package/dist/errors/redactable.error.js.map +1 -0
  124. package/dist/errors/unknown-execution-mode.error.d.ts +4 -0
  125. package/dist/errors/unknown-execution-mode.error.js +11 -0
  126. package/dist/errors/unknown-execution-mode.error.js.map +1 -0
  127. package/dist/eventbus/MessageEventBus/MessageEventBus.d.ts +1 -1
  128. package/dist/eventbus/MessageEventBus/MessageEventBus.js +5 -11
  129. package/dist/eventbus/MessageEventBus/MessageEventBus.js.map +1 -1
  130. package/dist/eventbus/audit-event-relay.service.d.ts +35 -0
  131. package/dist/eventbus/audit-event-relay.service.js +392 -0
  132. package/dist/eventbus/audit-event-relay.service.js.map +1 -0
  133. package/dist/eventbus/event-relay.service.d.ts +7 -0
  134. package/dist/eventbus/event-relay.service.js +26 -0
  135. package/dist/eventbus/event-relay.service.js.map +1 -0
  136. package/dist/eventbus/event.types.d.ts +149 -0
  137. package/dist/eventbus/event.types.js +3 -0
  138. package/dist/eventbus/event.types.js.map +1 -0
  139. package/dist/executions/execution-recovery.service.d.ts +18 -2
  140. package/dist/executions/execution-recovery.service.js +129 -9
  141. package/dist/executions/execution-recovery.service.js.map +1 -1
  142. package/dist/executions/execution.service.d.ts +8 -3
  143. package/dist/executions/execution.service.js +40 -14
  144. package/dist/executions/execution.service.js.map +1 -1
  145. package/dist/executions/execution.types.d.ts +8 -1
  146. package/dist/executions/executionHelpers.d.ts +0 -1
  147. package/dist/executions/executionHelpers.js +1 -8
  148. package/dist/executions/executionHelpers.js.map +1 -1
  149. package/dist/executions/executions.controller.d.ts +1 -1
  150. package/dist/executions/executions.controller.js +1 -1
  151. package/dist/executions/executions.controller.js.map +1 -1
  152. package/dist/license/license.controller.d.ts +2 -1
  153. package/dist/license/license.controller.js +10 -0
  154. package/dist/license/license.controller.js.map +1 -1
  155. package/dist/license/license.service.d.ts +5 -1
  156. package/dist/license/license.service.js +18 -2
  157. package/dist/license/license.service.js.map +1 -1
  158. package/dist/push/index.d.ts +1 -1
  159. package/dist/requests.d.ts +6 -6
  160. package/dist/requests.js.map +1 -1
  161. package/dist/services/cache/cache.service.js +10 -4
  162. package/dist/services/cache/cache.service.js.map +1 -1
  163. package/dist/services/orchestration/helpers.js +2 -2
  164. package/dist/services/orchestration/helpers.js.map +1 -1
  165. package/dist/services/orchestration/main/MultiMainSetup.ee.d.ts +4 -2
  166. package/dist/services/orchestration/main/MultiMainSetup.ee.js +8 -4
  167. package/dist/services/orchestration/main/MultiMainSetup.ee.js.map +1 -1
  168. package/dist/services/orchestration/main/orchestration.handler.main.service.js +3 -3
  169. package/dist/services/orchestration/main/orchestration.handler.main.service.js.map +1 -1
  170. package/dist/services/orchestration/webhook/orchestration.handler.webhook.service.js +2 -2
  171. package/dist/services/orchestration/webhook/orchestration.handler.webhook.service.js.map +1 -1
  172. package/dist/services/orchestration/worker/handleCommandMessageWorker.js +4 -4
  173. package/dist/services/orchestration/worker/handleCommandMessageWorker.js.map +1 -1
  174. package/dist/services/pruning.service.d.ts +4 -1
  175. package/dist/services/pruning.service.js +14 -2
  176. package/dist/services/pruning.service.js.map +1 -1
  177. package/dist/services/redis/RedisConstants.d.ts +6 -0
  178. package/dist/services/redis/RedisConstants.js +10 -0
  179. package/dist/services/redis/RedisConstants.js.map +1 -0
  180. package/dist/services/redis/RedisServiceBaseClasses.d.ts +3 -1
  181. package/dist/services/redis/RedisServiceBaseClasses.js +6 -4
  182. package/dist/services/redis/RedisServiceBaseClasses.js.map +1 -1
  183. package/dist/services/redis/RedisServicePubSubPublisher.js +3 -3
  184. package/dist/services/redis/RedisServicePubSubPublisher.js.map +1 -1
  185. package/dist/services/redis/RedisServicePubSubSubscriber.js +5 -5
  186. package/dist/services/redis/RedisServicePubSubSubscriber.js.map +1 -1
  187. package/dist/services/redis/redis-client.service.d.ts +20 -0
  188. package/dist/services/redis/redis-client.service.js +125 -0
  189. package/dist/services/redis/redis-client.service.js.map +1 -0
  190. package/dist/services/role.service.d.ts +5 -0
  191. package/dist/services/role.service.js.map +1 -1
  192. package/dist/services/usageMetrics.service.d.ts +6 -1
  193. package/dist/services/usageMetrics.service.js +10 -2
  194. package/dist/services/usageMetrics.service.js.map +1 -1
  195. package/dist/services/user.service.d.ts +3 -1
  196. package/dist/services/user.service.js +10 -2
  197. package/dist/services/user.service.js.map +1 -1
  198. package/dist/sso/saml/routes/saml.controller.ee.d.ts +3 -3
  199. package/dist/sso/saml/routes/saml.controller.ee.js +9 -9
  200. package/dist/sso/saml/routes/saml.controller.ee.js.map +1 -1
  201. package/dist/sso/saml/samlHelpers.d.ts +1 -2
  202. package/dist/sso/saml/samlHelpers.js +11 -31
  203. package/dist/sso/saml/samlHelpers.js.map +1 -1
  204. package/dist/types/commands.types.d.ts +2 -2
  205. package/dist/utils.js.map +1 -1
  206. package/dist/workflows/workflow.request.d.ts +1 -2
  207. package/dist/workflows/workflow.service.d.ts +4 -2
  208. package/dist/workflows/workflow.service.ee.js +5 -6
  209. package/dist/workflows/workflow.service.ee.js.map +1 -1
  210. package/dist/workflows/workflow.service.js +11 -2
  211. package/dist/workflows/workflow.service.js.map +1 -1
  212. package/dist/workflows/workflowExecution.service.d.ts +1 -1
  213. package/dist/workflows/workflowExecution.service.js +2 -1
  214. package/dist/workflows/workflowExecution.service.js.map +1 -1
  215. package/dist/workflows/workflowStaticData.service.js +17 -2
  216. package/dist/workflows/workflowStaticData.service.js.map +1 -1
  217. package/dist/workflows/workflows.controller.d.ts +15 -13
  218. package/dist/workflows/workflows.controller.js +6 -2
  219. package/dist/workflows/workflows.controller.js.map +1 -1
  220. package/dist/workflows/workflows.types.d.ts +2 -3
  221. package/package.json +10 -10
  222. package/templates/oauth-callback.handlebars +2 -1
  223. package/templates/oauth-error-callback.handlebars +4 -1
  224. package/dist/decorators/constants.d.ts +0 -5
  225. package/dist/decorators/constants.js +0 -9
  226. package/dist/decorators/constants.js.map +0 -1
  227. package/dist/decorators/registerController.d.ts +0 -7
  228. package/dist/decorators/registerController.js +0 -83
  229. package/dist/decorators/registerController.js.map +0 -1
  230. package/dist/services/redis/RedisServiceHelper.d.ts +0 -17
  231. package/dist/services/redis/RedisServiceHelper.js +0 -151
  232. package/dist/services/redis/RedisServiceHelper.js.map +0 -1
@@ -0,0 +1,392 @@
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.AuditEventRelay = void 0;
13
+ const typedi_1 = require("typedi");
14
+ const MessageEventBus_1 = require("./MessageEventBus/MessageEventBus");
15
+ const Redactable_1 = require("../decorators/Redactable");
16
+ const event_relay_service_1 = require("./event-relay.service");
17
+ let AuditEventRelay = class AuditEventRelay {
18
+ constructor(eventRelay, eventBus) {
19
+ this.eventRelay = eventRelay;
20
+ this.eventBus = eventBus;
21
+ this.setupHandlers();
22
+ }
23
+ setupHandlers() {
24
+ this.eventRelay.on('workflow-created', (event) => this.workflowCreated(event));
25
+ this.eventRelay.on('workflow-deleted', (event) => this.workflowDeleted(event));
26
+ this.eventRelay.on('workflow-saved', (event) => this.workflowSaved(event));
27
+ this.eventRelay.on('workflow-pre-execute', (event) => this.workflowPreExecute(event));
28
+ this.eventRelay.on('workflow-post-execute', (event) => this.workflowPostExecute(event));
29
+ this.eventRelay.on('node-pre-execute', (event) => this.nodePreExecute(event));
30
+ this.eventRelay.on('node-post-execute', (event) => this.nodePostExecute(event));
31
+ this.eventRelay.on('user-deleted', (event) => this.userDeleted(event));
32
+ this.eventRelay.on('user-invited', (event) => this.userInvited(event));
33
+ this.eventRelay.on('user-reinvited', (event) => this.userReinvited(event));
34
+ this.eventRelay.on('user-updated', (event) => this.userUpdated(event));
35
+ this.eventRelay.on('user-signed-up', (event) => this.userSignedUp(event));
36
+ this.eventRelay.on('user-logged-in', (event) => this.userLoggedIn(event));
37
+ this.eventRelay.on('user-login-failed', (event) => this.userLoginFailed(event));
38
+ this.eventRelay.on('user-invite-email-click', (event) => this.userInviteEmailClick(event));
39
+ this.eventRelay.on('user-password-reset-email-click', (event) => this.userPasswordResetEmailClick(event));
40
+ this.eventRelay.on('user-password-reset-request-click', (event) => this.userPasswordResetRequestClick(event));
41
+ this.eventRelay.on('api-key-created', (event) => this.apiKeyCreated(event));
42
+ this.eventRelay.on('api-key-deleted', (event) => this.apiKeyDeleted(event));
43
+ this.eventRelay.on('email-failed', (event) => this.emailFailed(event));
44
+ this.eventRelay.on('credentials-created', (event) => this.credentialsCreated(event));
45
+ this.eventRelay.on('credentials-deleted', (event) => this.credentialsDeleted(event));
46
+ this.eventRelay.on('credentials-shared', (event) => this.credentialsShared(event));
47
+ this.eventRelay.on('credentials-updated', (event) => this.credentialsUpdated(event));
48
+ this.eventRelay.on('credentials-deleted', (event) => this.credentialsDeleted(event));
49
+ this.eventRelay.on('community-package-installed', (event) => this.communityPackageInstalled(event));
50
+ this.eventRelay.on('community-package-updated', (event) => this.communityPackageUpdated(event));
51
+ this.eventRelay.on('community-package-deleted', (event) => this.communityPackageDeleted(event));
52
+ }
53
+ workflowCreated({ user, workflow }) {
54
+ void this.eventBus.sendAuditEvent({
55
+ eventName: 'n8n.audit.workflow.created',
56
+ payload: {
57
+ ...user,
58
+ workflowId: workflow.id,
59
+ workflowName: workflow.name,
60
+ },
61
+ });
62
+ }
63
+ workflowDeleted({ user, workflowId }) {
64
+ void this.eventBus.sendAuditEvent({
65
+ eventName: 'n8n.audit.workflow.deleted',
66
+ payload: { ...user, workflowId },
67
+ });
68
+ }
69
+ workflowSaved({ user, workflowId, workflowName }) {
70
+ void this.eventBus.sendAuditEvent({
71
+ eventName: 'n8n.audit.workflow.updated',
72
+ payload: {
73
+ ...user,
74
+ workflowId,
75
+ workflowName,
76
+ },
77
+ });
78
+ }
79
+ workflowPreExecute({ data, executionId }) {
80
+ const payload = 'executionData' in data
81
+ ? {
82
+ executionId,
83
+ userId: data.userId,
84
+ workflowId: data.workflowData.id,
85
+ isManual: data.executionMode === 'manual',
86
+ workflowName: data.workflowData.name,
87
+ }
88
+ : {
89
+ executionId,
90
+ userId: undefined,
91
+ workflowId: data.id,
92
+ isManual: false,
93
+ workflowName: data.name,
94
+ };
95
+ void this.eventBus.sendWorkflowEvent({
96
+ eventName: 'n8n.workflow.started',
97
+ payload,
98
+ });
99
+ }
100
+ workflowPostExecute(event) {
101
+ void this.eventBus.sendWorkflowEvent({
102
+ eventName: 'n8n.workflow.success',
103
+ payload: event,
104
+ });
105
+ }
106
+ nodePreExecute({ workflow, executionId, nodeName }) {
107
+ var _a;
108
+ void this.eventBus.sendNodeEvent({
109
+ eventName: 'n8n.node.started',
110
+ payload: {
111
+ workflowId: workflow.id,
112
+ workflowName: workflow.name,
113
+ executionId,
114
+ nodeType: (_a = workflow.nodes.find((n) => n.name === nodeName)) === null || _a === void 0 ? void 0 : _a.type,
115
+ nodeName,
116
+ },
117
+ });
118
+ }
119
+ nodePostExecute({ workflow, executionId, nodeName }) {
120
+ var _a;
121
+ void this.eventBus.sendNodeEvent({
122
+ eventName: 'n8n.node.finished',
123
+ payload: {
124
+ workflowId: workflow.id,
125
+ workflowName: workflow.name,
126
+ executionId,
127
+ nodeType: (_a = workflow.nodes.find((n) => n.name === nodeName)) === null || _a === void 0 ? void 0 : _a.type,
128
+ nodeName,
129
+ },
130
+ });
131
+ }
132
+ userDeleted({ user }) {
133
+ void this.eventBus.sendAuditEvent({
134
+ eventName: 'n8n.audit.user.deleted',
135
+ payload: user,
136
+ });
137
+ }
138
+ userInvited({ user, targetUserId }) {
139
+ void this.eventBus.sendAuditEvent({
140
+ eventName: 'n8n.audit.user.invited',
141
+ payload: { ...user, targetUserId },
142
+ });
143
+ }
144
+ userReinvited({ user, targetUserId }) {
145
+ void this.eventBus.sendAuditEvent({
146
+ eventName: 'n8n.audit.user.reinvited',
147
+ payload: { ...user, targetUserId },
148
+ });
149
+ }
150
+ userUpdated({ user, fieldsChanged }) {
151
+ void this.eventBus.sendAuditEvent({
152
+ eventName: 'n8n.audit.user.updated',
153
+ payload: { ...user, fieldsChanged },
154
+ });
155
+ }
156
+ userSignedUp({ user }) {
157
+ void this.eventBus.sendAuditEvent({
158
+ eventName: 'n8n.audit.user.signedup',
159
+ payload: user,
160
+ });
161
+ }
162
+ userLoggedIn({ user, authenticationMethod }) {
163
+ void this.eventBus.sendAuditEvent({
164
+ eventName: 'n8n.audit.user.login.success',
165
+ payload: { ...user, authenticationMethod },
166
+ });
167
+ }
168
+ userLoginFailed(event) {
169
+ void this.eventBus.sendAuditEvent({
170
+ eventName: 'n8n.audit.user.login.failed',
171
+ payload: event,
172
+ });
173
+ }
174
+ userInviteEmailClick(event) {
175
+ void this.eventBus.sendAuditEvent({
176
+ eventName: 'n8n.audit.user.invitation.accepted',
177
+ payload: event,
178
+ });
179
+ }
180
+ userPasswordResetEmailClick({ user }) {
181
+ void this.eventBus.sendAuditEvent({
182
+ eventName: 'n8n.audit.user.reset',
183
+ payload: user,
184
+ });
185
+ }
186
+ userPasswordResetRequestClick({ user }) {
187
+ void this.eventBus.sendAuditEvent({
188
+ eventName: 'n8n.audit.user.reset.requested',
189
+ payload: user,
190
+ });
191
+ }
192
+ apiKeyCreated({ user }) {
193
+ void this.eventBus.sendAuditEvent({
194
+ eventName: 'n8n.audit.user.api.created',
195
+ payload: user,
196
+ });
197
+ }
198
+ apiKeyDeleted({ user }) {
199
+ void this.eventBus.sendAuditEvent({
200
+ eventName: 'n8n.audit.user.api.deleted',
201
+ payload: user,
202
+ });
203
+ }
204
+ emailFailed({ user, messageType }) {
205
+ void this.eventBus.sendAuditEvent({
206
+ eventName: 'n8n.audit.user.email.failed',
207
+ payload: { ...user, messageType },
208
+ });
209
+ }
210
+ credentialsCreated({ user, ...rest }) {
211
+ void this.eventBus.sendAuditEvent({
212
+ eventName: 'n8n.audit.user.credentials.created',
213
+ payload: { ...user, ...rest },
214
+ });
215
+ }
216
+ credentialsDeleted({ user, ...rest }) {
217
+ void this.eventBus.sendAuditEvent({
218
+ eventName: 'n8n.audit.user.credentials.deleted',
219
+ payload: { ...user, ...rest },
220
+ });
221
+ }
222
+ credentialsShared({ user, ...rest }) {
223
+ void this.eventBus.sendAuditEvent({
224
+ eventName: 'n8n.audit.user.credentials.shared',
225
+ payload: { ...user, ...rest },
226
+ });
227
+ }
228
+ credentialsUpdated({ user, ...rest }) {
229
+ void this.eventBus.sendAuditEvent({
230
+ eventName: 'n8n.audit.user.credentials.updated',
231
+ payload: { ...user, ...rest },
232
+ });
233
+ }
234
+ communityPackageInstalled({ user, ...rest }) {
235
+ void this.eventBus.sendAuditEvent({
236
+ eventName: 'n8n.audit.package.installed',
237
+ payload: { ...user, ...rest },
238
+ });
239
+ }
240
+ communityPackageUpdated({ user, ...rest }) {
241
+ void this.eventBus.sendAuditEvent({
242
+ eventName: 'n8n.audit.package.updated',
243
+ payload: { ...user, ...rest },
244
+ });
245
+ }
246
+ communityPackageDeleted({ user, ...rest }) {
247
+ void this.eventBus.sendAuditEvent({
248
+ eventName: 'n8n.audit.package.deleted',
249
+ payload: { ...user, ...rest },
250
+ });
251
+ }
252
+ };
253
+ exports.AuditEventRelay = AuditEventRelay;
254
+ __decorate([
255
+ (0, Redactable_1.Redactable)(),
256
+ __metadata("design:type", Function),
257
+ __metadata("design:paramtypes", [Object]),
258
+ __metadata("design:returntype", void 0)
259
+ ], AuditEventRelay.prototype, "workflowCreated", null);
260
+ __decorate([
261
+ (0, Redactable_1.Redactable)(),
262
+ __metadata("design:type", Function),
263
+ __metadata("design:paramtypes", [Object]),
264
+ __metadata("design:returntype", void 0)
265
+ ], AuditEventRelay.prototype, "workflowDeleted", null);
266
+ __decorate([
267
+ (0, Redactable_1.Redactable)(),
268
+ __metadata("design:type", Function),
269
+ __metadata("design:paramtypes", [Object]),
270
+ __metadata("design:returntype", void 0)
271
+ ], AuditEventRelay.prototype, "workflowSaved", null);
272
+ __decorate([
273
+ (0, Redactable_1.Redactable)(),
274
+ __metadata("design:type", Function),
275
+ __metadata("design:paramtypes", [Object]),
276
+ __metadata("design:returntype", void 0)
277
+ ], AuditEventRelay.prototype, "userDeleted", null);
278
+ __decorate([
279
+ (0, Redactable_1.Redactable)(),
280
+ __metadata("design:type", Function),
281
+ __metadata("design:paramtypes", [Object]),
282
+ __metadata("design:returntype", void 0)
283
+ ], AuditEventRelay.prototype, "userInvited", null);
284
+ __decorate([
285
+ (0, Redactable_1.Redactable)(),
286
+ __metadata("design:type", Function),
287
+ __metadata("design:paramtypes", [Object]),
288
+ __metadata("design:returntype", void 0)
289
+ ], AuditEventRelay.prototype, "userReinvited", null);
290
+ __decorate([
291
+ (0, Redactable_1.Redactable)(),
292
+ __metadata("design:type", Function),
293
+ __metadata("design:paramtypes", [Object]),
294
+ __metadata("design:returntype", void 0)
295
+ ], AuditEventRelay.prototype, "userUpdated", null);
296
+ __decorate([
297
+ (0, Redactable_1.Redactable)(),
298
+ __metadata("design:type", Function),
299
+ __metadata("design:paramtypes", [Object]),
300
+ __metadata("design:returntype", void 0)
301
+ ], AuditEventRelay.prototype, "userSignedUp", null);
302
+ __decorate([
303
+ (0, Redactable_1.Redactable)(),
304
+ __metadata("design:type", Function),
305
+ __metadata("design:paramtypes", [Object]),
306
+ __metadata("design:returntype", void 0)
307
+ ], AuditEventRelay.prototype, "userLoggedIn", null);
308
+ __decorate([
309
+ (0, Redactable_1.Redactable)('inviter'),
310
+ (0, Redactable_1.Redactable)('invitee'),
311
+ __metadata("design:type", Function),
312
+ __metadata("design:paramtypes", [Object]),
313
+ __metadata("design:returntype", void 0)
314
+ ], AuditEventRelay.prototype, "userInviteEmailClick", null);
315
+ __decorate([
316
+ (0, Redactable_1.Redactable)(),
317
+ __metadata("design:type", Function),
318
+ __metadata("design:paramtypes", [Object]),
319
+ __metadata("design:returntype", void 0)
320
+ ], AuditEventRelay.prototype, "userPasswordResetEmailClick", null);
321
+ __decorate([
322
+ (0, Redactable_1.Redactable)(),
323
+ __metadata("design:type", Function),
324
+ __metadata("design:paramtypes", [Object]),
325
+ __metadata("design:returntype", void 0)
326
+ ], AuditEventRelay.prototype, "userPasswordResetRequestClick", null);
327
+ __decorate([
328
+ (0, Redactable_1.Redactable)(),
329
+ __metadata("design:type", Function),
330
+ __metadata("design:paramtypes", [Object]),
331
+ __metadata("design:returntype", void 0)
332
+ ], AuditEventRelay.prototype, "apiKeyCreated", null);
333
+ __decorate([
334
+ (0, Redactable_1.Redactable)(),
335
+ __metadata("design:type", Function),
336
+ __metadata("design:paramtypes", [Object]),
337
+ __metadata("design:returntype", void 0)
338
+ ], AuditEventRelay.prototype, "apiKeyDeleted", null);
339
+ __decorate([
340
+ (0, Redactable_1.Redactable)(),
341
+ __metadata("design:type", Function),
342
+ __metadata("design:paramtypes", [Object]),
343
+ __metadata("design:returntype", void 0)
344
+ ], AuditEventRelay.prototype, "emailFailed", null);
345
+ __decorate([
346
+ (0, Redactable_1.Redactable)(),
347
+ __metadata("design:type", Function),
348
+ __metadata("design:paramtypes", [Object]),
349
+ __metadata("design:returntype", void 0)
350
+ ], AuditEventRelay.prototype, "credentialsCreated", null);
351
+ __decorate([
352
+ (0, Redactable_1.Redactable)(),
353
+ __metadata("design:type", Function),
354
+ __metadata("design:paramtypes", [Object]),
355
+ __metadata("design:returntype", void 0)
356
+ ], AuditEventRelay.prototype, "credentialsDeleted", null);
357
+ __decorate([
358
+ (0, Redactable_1.Redactable)(),
359
+ __metadata("design:type", Function),
360
+ __metadata("design:paramtypes", [Object]),
361
+ __metadata("design:returntype", void 0)
362
+ ], AuditEventRelay.prototype, "credentialsShared", null);
363
+ __decorate([
364
+ (0, Redactable_1.Redactable)(),
365
+ __metadata("design:type", Function),
366
+ __metadata("design:paramtypes", [Object]),
367
+ __metadata("design:returntype", void 0)
368
+ ], AuditEventRelay.prototype, "credentialsUpdated", null);
369
+ __decorate([
370
+ (0, Redactable_1.Redactable)(),
371
+ __metadata("design:type", Function),
372
+ __metadata("design:paramtypes", [Object]),
373
+ __metadata("design:returntype", void 0)
374
+ ], AuditEventRelay.prototype, "communityPackageInstalled", null);
375
+ __decorate([
376
+ (0, Redactable_1.Redactable)(),
377
+ __metadata("design:type", Function),
378
+ __metadata("design:paramtypes", [Object]),
379
+ __metadata("design:returntype", void 0)
380
+ ], AuditEventRelay.prototype, "communityPackageUpdated", null);
381
+ __decorate([
382
+ (0, Redactable_1.Redactable)(),
383
+ __metadata("design:type", Function),
384
+ __metadata("design:paramtypes", [Object]),
385
+ __metadata("design:returntype", void 0)
386
+ ], AuditEventRelay.prototype, "communityPackageDeleted", null);
387
+ exports.AuditEventRelay = AuditEventRelay = __decorate([
388
+ (0, typedi_1.Service)(),
389
+ __metadata("design:paramtypes", [event_relay_service_1.EventRelay,
390
+ MessageEventBus_1.MessageEventBus])
391
+ ], AuditEventRelay);
392
+ //# sourceMappingURL=audit-event-relay.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"audit-event-relay.service.js","sourceRoot":"","sources":["../../src/eventbus/audit-event-relay.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /// <reference types="node" />
2
+ import { EventEmitter } from 'node:events';
3
+ import type { Event } from './event.types';
4
+ export declare class EventRelay extends EventEmitter {
5
+ emit<K extends keyof Event>(eventName: K, arg: Event[K]): boolean;
6
+ on<K extends keyof Event>(eventName: K, handler: (arg: Event[K]) => void): this;
7
+ }
@@ -0,0 +1,26 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.EventRelay = void 0;
10
+ const node_events_1 = require("node:events");
11
+ const typedi_1 = require("typedi");
12
+ let EventRelay = class EventRelay extends node_events_1.EventEmitter {
13
+ emit(eventName, arg) {
14
+ super.emit(eventName, arg);
15
+ return true;
16
+ }
17
+ on(eventName, handler) {
18
+ super.on(eventName, handler);
19
+ return this;
20
+ }
21
+ };
22
+ exports.EventRelay = EventRelay;
23
+ exports.EventRelay = EventRelay = __decorate([
24
+ (0, typedi_1.Service)()
25
+ ], EventRelay);
26
+ //# sourceMappingURL=event-relay.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event-relay.service.js","sourceRoot":"","sources":["../../src/eventbus/event-relay.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,6CAA2C;AAC3C,mCAAiC;AAI1B,IAAM,UAAU,GAAhB,MAAM,UAAW,SAAQ,0BAAY;IAC3C,IAAI,CAAwB,SAAY,EAAE,GAAa;QACtD,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAC3B,OAAO,IAAI,CAAC;IACb,CAAC;IAED,EAAE,CAAwB,SAAY,EAAE,OAAgC;QACvE,KAAK,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7B,OAAO,IAAI,CAAC;IACb,CAAC;CACD,CAAA;AAVY,gCAAU;qBAAV,UAAU;IADtB,IAAA,gBAAO,GAAE;GACG,UAAU,CAUtB"}
@@ -0,0 +1,149 @@
1
+ import type { AuthenticationMethod, IWorkflowBase } from 'n8n-workflow';
2
+ import type { IWorkflowExecutionDataProcess } from '../Interfaces';
3
+ export type UserLike = {
4
+ id: string;
5
+ email?: string;
6
+ firstName?: string;
7
+ lastName?: string;
8
+ role: string;
9
+ };
10
+ export type Event = {
11
+ 'workflow-created': {
12
+ user: UserLike;
13
+ workflow: IWorkflowBase;
14
+ };
15
+ 'workflow-deleted': {
16
+ user: UserLike;
17
+ workflowId: string;
18
+ };
19
+ 'workflow-saved': {
20
+ user: UserLike;
21
+ workflowId: string;
22
+ workflowName: string;
23
+ };
24
+ 'workflow-pre-execute': {
25
+ executionId: string;
26
+ data: IWorkflowExecutionDataProcess | IWorkflowBase;
27
+ };
28
+ 'workflow-post-execute': {
29
+ executionId: string;
30
+ success: boolean;
31
+ userId?: string;
32
+ workflowId: string;
33
+ isManual: boolean;
34
+ workflowName: string;
35
+ metadata?: Record<string, string>;
36
+ };
37
+ 'node-pre-execute': {
38
+ executionId: string;
39
+ workflow: IWorkflowBase;
40
+ nodeName: string;
41
+ };
42
+ 'node-post-execute': {
43
+ executionId: string;
44
+ workflow: IWorkflowBase;
45
+ nodeName: string;
46
+ };
47
+ 'user-deleted': {
48
+ user: UserLike;
49
+ };
50
+ 'user-invited': {
51
+ user: UserLike;
52
+ targetUserId: string[];
53
+ };
54
+ 'user-reinvited': {
55
+ user: UserLike;
56
+ targetUserId: string[];
57
+ };
58
+ 'user-updated': {
59
+ user: UserLike;
60
+ fieldsChanged: string[];
61
+ };
62
+ 'user-signed-up': {
63
+ user: UserLike;
64
+ };
65
+ 'user-logged-in': {
66
+ user: UserLike;
67
+ authenticationMethod: AuthenticationMethod;
68
+ };
69
+ 'user-login-failed': {
70
+ userEmail: string;
71
+ authenticationMethod: AuthenticationMethod;
72
+ reason?: string;
73
+ };
74
+ 'user-invite-email-click': {
75
+ inviter: UserLike;
76
+ invitee: UserLike;
77
+ };
78
+ 'user-password-reset-email-click': {
79
+ user: UserLike;
80
+ };
81
+ 'user-password-reset-request-click': {
82
+ user: UserLike;
83
+ };
84
+ 'api-key-created': {
85
+ user: UserLike;
86
+ };
87
+ 'api-key-deleted': {
88
+ user: UserLike;
89
+ };
90
+ 'email-failed': {
91
+ user: UserLike;
92
+ messageType: 'Reset password' | 'New user invite' | 'Resend invite' | 'Workflow shared' | 'Credentials shared';
93
+ };
94
+ 'credentials-created': {
95
+ user: UserLike;
96
+ credentialName: string;
97
+ credentialType: string;
98
+ credentialId: string;
99
+ };
100
+ 'credentials-shared': {
101
+ user: UserLike;
102
+ credentialName: string;
103
+ credentialType: string;
104
+ credentialId: string;
105
+ userIdSharer: string;
106
+ userIdsShareesRemoved: string[];
107
+ shareesRemoved: number | null;
108
+ };
109
+ 'credentials-updated': {
110
+ user: UserLike;
111
+ credentialName: string;
112
+ credentialType: string;
113
+ credentialId: string;
114
+ };
115
+ 'credentials-deleted': {
116
+ user: UserLike;
117
+ credentialName: string;
118
+ credentialType: string;
119
+ credentialId: string;
120
+ };
121
+ 'community-package-installed': {
122
+ user: UserLike;
123
+ inputString: string;
124
+ packageName: string;
125
+ success: boolean;
126
+ packageVersion?: string;
127
+ packageNodeNames?: string[];
128
+ packageAuthor?: string;
129
+ packageAuthorEmail?: string;
130
+ failureReason?: string;
131
+ };
132
+ 'community-package-updated': {
133
+ user: UserLike;
134
+ packageName: string;
135
+ packageVersionCurrent: string;
136
+ packageVersionNew: string;
137
+ packageNodeNames: string[];
138
+ packageAuthor?: string;
139
+ packageAuthorEmail?: string;
140
+ };
141
+ 'community-package-deleted': {
142
+ user: UserLike;
143
+ packageName: string;
144
+ packageVersion: string;
145
+ packageNodeNames: string[];
146
+ packageAuthor?: string;
147
+ packageAuthorEmail?: string;
148
+ };
149
+ };
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=event.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"event.types.js","sourceRoot":"","sources":["../../src/eventbus/event.types.ts"],"names":[],"mappings":""}
@@ -2,13 +2,29 @@ import { Push } from '../push';
2
2
  import { ExecutionRepository } from '../databases/repositories/execution.repository';
3
3
  import type { EventMessageTypes } from '../eventbus/EventMessageClasses';
4
4
  import type { IExecutionResponse } from '../Interfaces';
5
+ import { Logger } from '../Logger';
6
+ import { OrchestrationService } from '../services/orchestration.service';
7
+ import { EventRelay } from '../eventbus/event-relay.service';
5
8
  export declare class ExecutionRecoveryService {
9
+ private readonly logger;
6
10
  private readonly push;
7
11
  private readonly executionRepository;
8
- constructor(push: Push, executionRepository: ExecutionRepository);
9
- recover(executionId: string, messages: EventMessageTypes[]): Promise<IExecutionResponse | null>;
12
+ private readonly orchestrationService;
13
+ private readonly eventRelay;
14
+ constructor(logger: Logger, push: Push, executionRepository: ExecutionRepository, orchestrationService: OrchestrationService, eventRelay: EventRelay);
15
+ init(): void;
16
+ private readonly queueRecoverySettings;
17
+ private isShuttingDown;
18
+ recoverFromLogs(executionId: string, messages: EventMessageTypes[]): Promise<IExecutionResponse | null | undefined>;
19
+ scheduleQueueRecovery(waitMs?: number): void;
20
+ stopQueueRecovery(): void;
21
+ shutdown(): void;
22
+ private recoverFromQueue;
10
23
  private amend;
24
+ private amendWithoutLogs;
11
25
  private toRelevantMessages;
12
26
  private toStoppedAt;
13
27
  private runHooks;
28
+ private toErrorMsg;
29
+ private shouldScheduleQueueRecovery;
14
30
  }