n8n 1.60.1 → 1.62.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 (491) hide show
  1. package/bin/n8n +7 -0
  2. package/dist/abstract-server.d.ts +2 -1
  3. package/dist/abstract-server.js +6 -2
  4. package/dist/abstract-server.js.map +1 -1
  5. package/dist/active-executions.d.ts +2 -4
  6. package/dist/active-executions.js +30 -35
  7. package/dist/active-executions.js.map +1 -1
  8. package/dist/active-workflow-manager.d.ts +1 -1
  9. package/dist/active-workflow-manager.js +2 -2
  10. package/dist/active-workflow-manager.js.map +1 -1
  11. package/dist/auth/auth.service.d.ts +1 -1
  12. package/dist/auth/auth.service.js +2 -2
  13. package/dist/auth/auth.service.js.map +1 -1
  14. package/dist/build.tsbuildinfo +1 -1
  15. package/dist/commands/base-command.d.ts +1 -1
  16. package/dist/commands/base-command.js +3 -3
  17. package/dist/commands/base-command.js.map +1 -1
  18. package/dist/commands/db/revert.d.ts +1 -1
  19. package/dist/commands/db/revert.js +2 -2
  20. package/dist/commands/db/revert.js.map +1 -1
  21. package/dist/commands/start.js +8 -1
  22. package/dist/commands/start.js.map +1 -1
  23. package/dist/commands/worker.js +1 -1
  24. package/dist/commands/worker.js.map +1 -1
  25. package/dist/concurrency/concurrency-control.service.d.ts +1 -1
  26. package/dist/concurrency/concurrency-control.service.js +4 -5
  27. package/dist/concurrency/concurrency-control.service.js.map +1 -1
  28. package/dist/config/index.d.ts +3 -12
  29. package/dist/config/index.js +0 -4
  30. package/dist/config/index.js.map +1 -1
  31. package/dist/config/schema.d.ts +8 -42
  32. package/dist/config/schema.js +8 -43
  33. package/dist/config/schema.js.map +1 -1
  34. package/dist/controllers/{annotation-tags.controller.d.ts → annotation-tags.controller.ee.d.ts} +3 -3
  35. package/dist/controllers/{annotation-tags.controller.js → annotation-tags.controller.ee.js} +3 -3
  36. package/dist/controllers/annotation-tags.controller.ee.js.map +1 -0
  37. package/dist/controllers/api-keys.controller.d.ts +23 -0
  38. package/dist/controllers/api-keys.controller.js +70 -0
  39. package/dist/controllers/api-keys.controller.js.map +1 -0
  40. package/dist/controllers/auth.controller.d.ts +1 -1
  41. package/dist/controllers/auth.controller.js +2 -2
  42. package/dist/controllers/auth.controller.js.map +1 -1
  43. package/dist/controllers/invitation.controller.d.ts +1 -1
  44. package/dist/controllers/invitation.controller.js +2 -2
  45. package/dist/controllers/invitation.controller.js.map +1 -1
  46. package/dist/controllers/me.controller.d.ts +6 -17
  47. package/dist/controllers/me.controller.js +16 -87
  48. package/dist/controllers/me.controller.js.map +1 -1
  49. package/dist/controllers/oauth/abstract-oauth.controller.d.ts +1 -1
  50. package/dist/controllers/oauth/abstract-oauth.controller.js +2 -2
  51. package/dist/controllers/oauth/abstract-oauth.controller.js.map +1 -1
  52. package/dist/controllers/owner.controller.d.ts +1 -1
  53. package/dist/controllers/owner.controller.js +2 -2
  54. package/dist/controllers/owner.controller.js.map +1 -1
  55. package/dist/controllers/password-reset.controller.d.ts +1 -1
  56. package/dist/controllers/password-reset.controller.js +2 -2
  57. package/dist/controllers/password-reset.controller.js.map +1 -1
  58. package/dist/controllers/users.controller.d.ts +6 -4
  59. package/dist/controllers/users.controller.js +16 -20
  60. package/dist/controllers/users.controller.js.map +1 -1
  61. package/dist/controllers/workflow-statistics.controller.d.ts +1 -1
  62. package/dist/controllers/workflow-statistics.controller.js +2 -2
  63. package/dist/controllers/workflow-statistics.controller.js.map +1 -1
  64. package/dist/crash-journal.js +2 -2
  65. package/dist/crash-journal.js.map +1 -1
  66. package/dist/credentials/credentials.controller.d.ts +1 -1
  67. package/dist/credentials/credentials.controller.js +2 -2
  68. package/dist/credentials/credentials.controller.js.map +1 -1
  69. package/dist/credentials/credentials.service.d.ts +1 -1
  70. package/dist/credentials/credentials.service.ee.js +0 -6
  71. package/dist/credentials/credentials.service.ee.js.map +1 -1
  72. package/dist/credentials/credentials.service.js +3 -3
  73. package/dist/credentials/credentials.service.js.map +1 -1
  74. package/dist/credentials-overwrites.d.ts +1 -1
  75. package/dist/credentials-overwrites.js +2 -2
  76. package/dist/credentials-overwrites.js.map +1 -1
  77. package/dist/databases/entities/{annotation-tag-entity.d.ts → annotation-tag-entity.ee.d.ts} +2 -2
  78. package/dist/databases/entities/{annotation-tag-entity.js → annotation-tag-entity.ee.js} +1 -1
  79. package/dist/databases/entities/annotation-tag-entity.ee.js.map +1 -0
  80. package/dist/databases/entities/{annotation-tag-mapping.d.ts → annotation-tag-mapping.ee.d.ts} +2 -2
  81. package/dist/databases/entities/{annotation-tag-mapping.js → annotation-tag-mapping.ee.js} +1 -1
  82. package/dist/databases/entities/annotation-tag-mapping.ee.js.map +1 -0
  83. package/dist/databases/entities/api-key.d.ts +8 -0
  84. package/dist/databases/entities/api-key.js +40 -0
  85. package/dist/databases/entities/api-key.js.map +1 -0
  86. package/dist/databases/entities/{execution-annotation.d.ts → execution-annotation.ee.d.ts} +2 -2
  87. package/dist/databases/entities/{execution-annotation.js → execution-annotation.ee.js} +1 -1
  88. package/dist/databases/entities/execution-annotation.ee.js.map +1 -0
  89. package/dist/databases/entities/execution-entity.d.ts +3 -2
  90. package/dist/databases/entities/execution-entity.js +4 -0
  91. package/dist/databases/entities/execution-entity.js.map +1 -1
  92. package/dist/databases/entities/index.d.ts +5 -3
  93. package/dist/databases/entities/index.js +8 -6
  94. package/dist/databases/entities/index.js.map +1 -1
  95. package/dist/databases/entities/user.d.ts +3 -2
  96. package/dist/databases/entities/user.js +5 -6
  97. package/dist/databases/entities/user.js.map +1 -1
  98. package/dist/databases/migrations/common/1724951148974-AddApiKeysTable.d.ts +4 -0
  99. package/dist/databases/migrations/common/1724951148974-AddApiKeysTable.js +33 -0
  100. package/dist/databases/migrations/common/1724951148974-AddApiKeysTable.js.map +1 -0
  101. package/dist/databases/migrations/common/1727427440136-SeparateExecutionCreationFromStart.d.ts +5 -0
  102. package/dist/databases/migrations/common/1727427440136-SeparateExecutionCreationFromStart.js +21 -0
  103. package/dist/databases/migrations/common/1727427440136-SeparateExecutionCreationFromStart.js.map +1 -0
  104. package/dist/databases/migrations/mysqldb/index.js +4 -0
  105. package/dist/databases/migrations/mysqldb/index.js.map +1 -1
  106. package/dist/databases/migrations/postgresdb/index.js +4 -0
  107. package/dist/databases/migrations/postgresdb/index.js.map +1 -1
  108. package/dist/databases/migrations/sqlite/1724951148974-AddApiKeysTable.d.ts +4 -0
  109. package/dist/databases/migrations/sqlite/1724951148974-AddApiKeysTable.js +56 -0
  110. package/dist/databases/migrations/sqlite/1724951148974-AddApiKeysTable.js.map +1 -0
  111. package/dist/databases/migrations/sqlite/index.js +4 -0
  112. package/dist/databases/migrations/sqlite/index.js.map +1 -1
  113. package/dist/databases/repositories/{annotation-tag-mapping.repository.d.ts → annotation-tag-mapping.repository.ee.d.ts} +1 -1
  114. package/dist/databases/repositories/{annotation-tag-mapping.repository.js → annotation-tag-mapping.repository.ee.js} +5 -5
  115. package/dist/databases/repositories/annotation-tag-mapping.repository.ee.js.map +1 -0
  116. package/dist/databases/repositories/{annotation-tag.repository.d.ts → annotation-tag.repository.ee.d.ts} +1 -1
  117. package/dist/databases/repositories/{annotation-tag.repository.js → annotation-tag.repository.ee.js} +3 -3
  118. package/dist/databases/repositories/annotation-tag.repository.ee.js.map +1 -0
  119. package/dist/databases/repositories/api-key.repository.d.ts +5 -0
  120. package/dist/databases/repositories/api-key.repository.js +26 -0
  121. package/dist/databases/repositories/api-key.repository.js.map +1 -0
  122. package/dist/databases/repositories/execution-annotation.repository.d.ts +1 -1
  123. package/dist/databases/repositories/execution-annotation.repository.js +2 -2
  124. package/dist/databases/repositories/execution-annotation.repository.js.map +1 -1
  125. package/dist/databases/repositories/execution.repository.d.ts +4 -4
  126. package/dist/databases/repositories/execution.repository.js +30 -14
  127. package/dist/databases/repositories/execution.repository.js.map +1 -1
  128. package/dist/databases/subscribers/user-subscriber.js +3 -3
  129. package/dist/databases/subscribers/user-subscriber.js.map +1 -1
  130. package/dist/databases/types.d.ts +1 -1
  131. package/dist/databases/utils/migration-helpers.js +4 -4
  132. package/dist/databases/utils/migration-helpers.js.map +1 -1
  133. package/dist/decorators/args.d.ts +3 -0
  134. package/dist/decorators/args.js +13 -0
  135. package/dist/decorators/args.js.map +1 -0
  136. package/dist/decorators/controller.registry.js +28 -2
  137. package/dist/decorators/controller.registry.js.map +1 -1
  138. package/dist/decorators/debounce.d.ts +1 -0
  139. package/dist/decorators/debounce.js +20 -0
  140. package/dist/decorators/debounce.js.map +1 -0
  141. package/dist/decorators/index.d.ts +1 -0
  142. package/dist/decorators/index.js +3 -1
  143. package/dist/decorators/index.js.map +1 -1
  144. package/dist/decorators/types.d.ts +7 -0
  145. package/dist/environments/source-control/source-control-export.service.ee.d.ts +1 -1
  146. package/dist/environments/source-control/source-control-export.service.ee.js +2 -2
  147. package/dist/environments/source-control/source-control-export.service.ee.js.map +1 -1
  148. package/dist/environments/source-control/source-control-git.service.ee.d.ts +1 -1
  149. package/dist/environments/source-control/source-control-git.service.ee.js +2 -2
  150. package/dist/environments/source-control/source-control-git.service.ee.js.map +1 -1
  151. package/dist/environments/source-control/source-control-helper.ee.js +2 -2
  152. package/dist/environments/source-control/source-control-helper.ee.js.map +1 -1
  153. package/dist/environments/source-control/source-control-import.service.ee.d.ts +1 -1
  154. package/dist/environments/source-control/source-control-import.service.ee.js +2 -2
  155. package/dist/environments/source-control/source-control-import.service.ee.js.map +1 -1
  156. package/dist/environments/source-control/source-control-preferences.service.ee.d.ts +1 -1
  157. package/dist/environments/source-control/source-control-preferences.service.ee.js +2 -2
  158. package/dist/environments/source-control/source-control-preferences.service.ee.js.map +1 -1
  159. package/dist/environments/source-control/source-control.service.ee.d.ts +1 -1
  160. package/dist/environments/source-control/source-control.service.ee.js +2 -2
  161. package/dist/environments/source-control/source-control.service.ee.js.map +1 -1
  162. package/dist/error-reporting.js +31 -27
  163. package/dist/error-reporting.js.map +1 -1
  164. package/dist/errors/execution-not-found-error.d.ts +4 -0
  165. package/dist/errors/execution-not-found-error.js +11 -0
  166. package/dist/errors/execution-not-found-error.js.map +1 -0
  167. package/dist/eventbus/message-event-bus/message-event-bus.d.ts +1 -1
  168. package/dist/eventbus/message-event-bus/message-event-bus.js +4 -4
  169. package/dist/eventbus/message-event-bus/message-event-bus.js.map +1 -1
  170. package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-from-db.js +2 -2
  171. package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-from-db.js.map +1 -1
  172. package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-syslog.ee.js +2 -2
  173. package/dist/eventbus/message-event-bus-destination/message-event-bus-destination-syslog.ee.js.map +1 -1
  174. package/dist/eventbus/message-event-bus-destination/message-event-bus-destination.ee.d.ts +1 -1
  175. package/dist/eventbus/message-event-bus-destination/message-event-bus-destination.ee.js +2 -2
  176. package/dist/eventbus/message-event-bus-destination/message-event-bus-destination.ee.js.map +1 -1
  177. package/dist/eventbus/message-event-bus-writer/message-event-bus-log-writer.js +2 -2
  178. package/dist/eventbus/message-event-bus-writer/message-event-bus-log-writer.js.map +1 -1
  179. package/dist/events/event.service.d.ts +5 -4
  180. package/dist/events/event.service.js.map +1 -1
  181. package/dist/events/events.controller.d.ts +7 -0
  182. package/dist/events/events.controller.js +35 -0
  183. package/dist/events/events.controller.js.map +1 -0
  184. package/dist/events/{ai-event-map.js → maps/ai.event-map.js} +1 -1
  185. package/dist/events/maps/ai.event-map.js.map +1 -0
  186. package/dist/{services/orchestration/pubsub/pubsub-message-map.d.ts → events/maps/pub-sub.event-map.d.ts} +19 -14
  187. package/dist/{services/orchestration/pubsub/pubsub-message-map.js → events/maps/pub-sub.event-map.js} +1 -1
  188. package/dist/events/maps/pub-sub.event-map.js.map +1 -0
  189. package/dist/events/{queue-metrics-event-map.js → maps/queue-metrics.event-map.js} +1 -1
  190. package/dist/events/maps/queue-metrics.event-map.js.map +1 -0
  191. package/dist/events/{relay-event-map.d.ts → maps/relay.event-map.d.ts} +5 -5
  192. package/dist/events/{relay-event-map.js → maps/relay.event-map.js} +1 -1
  193. package/dist/events/maps/relay.event-map.js.map +1 -0
  194. package/dist/events/{event-relay.d.ts → relays/event-relay.d.ts} +2 -2
  195. package/dist/events/{event-relay.js → relays/event-relay.js} +1 -1
  196. package/dist/events/relays/event-relay.js.map +1 -0
  197. package/dist/events/{log-streaming-event-relay.d.ts → relays/log-streaming.event-relay.d.ts} +3 -3
  198. package/dist/events/{log-streaming-event-relay.js → relays/log-streaming.event-relay.js} +5 -5
  199. package/dist/events/relays/log-streaming.event-relay.js.map +1 -0
  200. package/dist/events/{telemetry-event-relay.d.ts → relays/telemetry.event-relay.d.ts} +7 -7
  201. package/dist/events/{telemetry-event-relay.js → relays/telemetry.event-relay.js} +11 -11
  202. package/dist/events/relays/telemetry.event-relay.js.map +1 -0
  203. package/dist/execution-lifecycle-hooks/restore-binary-data-id.js +2 -2
  204. package/dist/execution-lifecycle-hooks/restore-binary-data-id.js.map +1 -1
  205. package/dist/execution-lifecycle-hooks/save-execution-progress.js +2 -2
  206. package/dist/execution-lifecycle-hooks/save-execution-progress.js.map +1 -1
  207. package/dist/execution-lifecycle-hooks/shared/shared-hook-functions.d.ts +2 -2
  208. package/dist/execution-lifecycle-hooks/shared/shared-hook-functions.js +2 -2
  209. package/dist/execution-lifecycle-hooks/shared/shared-hook-functions.js.map +1 -1
  210. package/dist/executions/execution-recovery.service.d.ts +1 -1
  211. package/dist/executions/execution-recovery.service.js +2 -2
  212. package/dist/executions/execution-recovery.service.js.map +1 -1
  213. package/dist/executions/execution.service.d.ts +2 -2
  214. package/dist/executions/execution.service.js +4 -5
  215. package/dist/executions/execution.service.js.map +1 -1
  216. package/dist/executions/execution.types.d.ts +1 -0
  217. package/dist/external-secrets/external-secrets-manager.ee.d.ts +1 -1
  218. package/dist/external-secrets/external-secrets-manager.ee.js +3 -3
  219. package/dist/external-secrets/external-secrets-manager.ee.js.map +1 -1
  220. package/dist/external-secrets/providers/vault.d.ts +1 -1
  221. package/dist/external-secrets/providers/vault.js +2 -2
  222. package/dist/external-secrets/providers/vault.js.map +1 -1
  223. package/dist/generic-helpers.d.ts +2 -3
  224. package/dist/generic-helpers.js.map +1 -1
  225. package/dist/interfaces.d.ts +5 -3
  226. package/dist/interfaces.js.map +1 -1
  227. package/dist/ldap/ldap.service.ee.d.ts +1 -1
  228. package/dist/ldap/ldap.service.ee.js +2 -2
  229. package/dist/ldap/ldap.service.ee.js.map +1 -1
  230. package/dist/license/license.service.d.ts +1 -1
  231. package/dist/license/license.service.js +2 -2
  232. package/dist/license/license.service.js.map +1 -1
  233. package/dist/license.d.ts +1 -1
  234. package/dist/license.js +4 -4
  235. package/dist/license.js.map +1 -1
  236. package/dist/load-nodes-and-credentials.d.ts +1 -1
  237. package/dist/load-nodes-and-credentials.js +7 -2
  238. package/dist/load-nodes-and-credentials.js.map +1 -1
  239. package/dist/logging/constants.d.ts +2 -0
  240. package/dist/logging/constants.js +7 -0
  241. package/dist/logging/constants.js.map +1 -0
  242. package/dist/logging/logger.service.d.ts +21 -0
  243. package/dist/logging/logger.service.js +135 -0
  244. package/dist/logging/logger.service.js.map +1 -0
  245. package/dist/logging/types.d.ts +7 -0
  246. package/dist/logging/types.js +3 -0
  247. package/dist/logging/types.js.map +1 -0
  248. package/dist/permissions/check-access.d.ts +2 -2
  249. package/dist/permissions/check-access.js +16 -35
  250. package/dist/permissions/check-access.js.map +1 -1
  251. package/dist/posthog/index.d.ts +3 -1
  252. package/dist/posthog/index.js +10 -7
  253. package/dist/posthog/index.js.map +1 -1
  254. package/dist/public-api/index.js +3 -5
  255. package/dist/public-api/index.js.map +1 -1
  256. package/dist/public-api/types.d.ts +1 -1
  257. package/dist/public-api/types.js.map +1 -1
  258. package/dist/public-api/v1/handlers/users/users.handler.ee.d.ts +6 -6
  259. package/dist/public-api/v1/handlers/users/users.handler.ee.js +8 -1
  260. package/dist/public-api/v1/handlers/users/users.handler.ee.js.map +1 -1
  261. package/dist/public-api/v1/handlers/workflows/workflows.handler.d.ts +2 -2
  262. package/dist/public-api/v1/handlers/workflows/workflows.handler.js +2 -1
  263. package/dist/public-api/v1/handlers/workflows/workflows.handler.js.map +1 -1
  264. package/dist/public-api/v1/shared/middlewares/global.middleware.js +1 -1
  265. package/dist/public-api/v1/shared/middlewares/global.middleware.js.map +1 -1
  266. package/dist/push/abstract.push.d.ts +1 -1
  267. package/dist/push/sse.push.d.ts +1 -1
  268. package/dist/push/sse.push.js +2 -2
  269. package/dist/push/sse.push.js.map +1 -1
  270. package/dist/push/websocket.push.d.ts +1 -1
  271. package/dist/push/websocket.push.js +2 -2
  272. package/dist/push/websocket.push.js.map +1 -1
  273. package/dist/requests.d.ts +9 -28
  274. package/dist/requests.js +0 -67
  275. package/dist/requests.js.map +1 -1
  276. package/dist/response-helper.js +3 -3
  277. package/dist/response-helper.js.map +1 -1
  278. package/dist/runners/auth/task-runner-auth.controller.d.ts +12 -0
  279. package/dist/runners/auth/task-runner-auth.controller.js +57 -0
  280. package/dist/runners/auth/task-runner-auth.controller.js.map +1 -0
  281. package/dist/runners/auth/task-runner-auth.schema.d.ts +8 -0
  282. package/dist/runners/auth/task-runner-auth.schema.js +8 -0
  283. package/dist/runners/auth/task-runner-auth.schema.js.map +1 -0
  284. package/dist/runners/auth/task-runner-auth.service.d.ts +13 -0
  285. package/dist/runners/auth/task-runner-auth.service.js +55 -0
  286. package/dist/runners/auth/task-runner-auth.service.js.map +1 -0
  287. package/dist/runners/errors.d.ts +7 -0
  288. package/dist/runners/errors.js +15 -0
  289. package/dist/runners/errors.js.map +1 -0
  290. package/dist/runners/runner-types.d.ts +173 -0
  291. package/dist/runners/runner-types.js +21 -0
  292. package/dist/runners/runner-types.js.map +1 -0
  293. package/dist/runners/runner-ws-server.d.ts +18 -0
  294. package/dist/runners/runner-ws-server.js +166 -0
  295. package/dist/runners/runner-ws-server.js.map +1 -0
  296. package/dist/runners/task-broker.service.d.ts +91 -0
  297. package/dist/runners/task-broker.service.js +400 -0
  298. package/dist/runners/task-broker.service.js.map +1 -0
  299. package/dist/runners/task-managers/single-main-task-manager.d.ts +10 -0
  300. package/dist/runners/task-managers/single-main-task-manager.js +25 -0
  301. package/dist/runners/task-managers/single-main-task-manager.js.map +1 -0
  302. package/dist/runners/task-managers/task-manager.d.ts +87 -0
  303. package/dist/runners/task-managers/task-manager.js +259 -0
  304. package/dist/runners/task-managers/task-manager.js.map +1 -0
  305. package/dist/scaling/constants.d.ts +2 -0
  306. package/dist/scaling/constants.js +3 -1
  307. package/dist/scaling/constants.js.map +1 -1
  308. package/dist/scaling/job-processor.d.ts +1 -1
  309. package/dist/scaling/job-processor.js +4 -4
  310. package/dist/scaling/job-processor.js.map +1 -1
  311. package/dist/scaling/pubsub/publisher.service.d.ts +5 -5
  312. package/dist/scaling/pubsub/publisher.service.js +3 -4
  313. package/dist/scaling/pubsub/publisher.service.js.map +1 -1
  314. package/dist/scaling/pubsub/pubsub.types.d.ts +53 -2
  315. package/dist/scaling/pubsub/subscriber.service.d.ts +6 -5
  316. package/dist/scaling/pubsub/subscriber.service.js +9 -6
  317. package/dist/scaling/pubsub/subscriber.service.js.map +1 -1
  318. package/dist/scaling/redis/redis.types.js.map +1 -0
  319. package/dist/scaling/scaling.service.d.ts +5 -3
  320. package/dist/scaling/scaling.service.js +14 -28
  321. package/dist/scaling/scaling.service.js.map +1 -1
  322. package/dist/scaling/scaling.types.d.ts +3 -3
  323. package/dist/scaling/worker-server.d.ts +1 -1
  324. package/dist/scaling/worker-server.js +2 -2
  325. package/dist/scaling/worker-server.js.map +1 -1
  326. package/dist/security-audit/risk-reporters/instance-risk-reporter.d.ts +1 -1
  327. package/dist/security-audit/risk-reporters/instance-risk-reporter.js +2 -2
  328. package/dist/security-audit/risk-reporters/instance-risk-reporter.js.map +1 -1
  329. package/dist/server.d.ts +5 -2
  330. package/dist/server.js +24 -13
  331. package/dist/server.js.map +1 -1
  332. package/dist/services/active-workflows.service.d.ts +1 -1
  333. package/dist/services/active-workflows.service.js +2 -2
  334. package/dist/services/active-workflows.service.js.map +1 -1
  335. package/dist/services/ai-assistant.service.d.ts +3 -1
  336. package/dist/services/ai-assistant.service.js +8 -5
  337. package/dist/services/ai-assistant.service.js.map +1 -1
  338. package/dist/services/{annotation-tag.service.d.ts → annotation-tag.service.ee.d.ts} +2 -2
  339. package/dist/services/{annotation-tag.service.js → annotation-tag.service.ee.js} +3 -3
  340. package/dist/services/annotation-tag.service.ee.js.map +1 -0
  341. package/dist/services/cache/cache.service.js +1 -1
  342. package/dist/services/cache/cache.service.js.map +1 -1
  343. package/dist/services/community-packages.service.d.ts +1 -1
  344. package/dist/services/community-packages.service.js +2 -2
  345. package/dist/services/community-packages.service.js.map +1 -1
  346. package/dist/services/credentials-tester.service.d.ts +1 -1
  347. package/dist/services/credentials-tester.service.js +2 -2
  348. package/dist/services/credentials-tester.service.js.map +1 -1
  349. package/dist/services/frontend.service.d.ts +3 -6
  350. package/dist/services/frontend.service.js +9 -18
  351. package/dist/services/frontend.service.js.map +1 -1
  352. package/dist/services/import.service.d.ts +1 -1
  353. package/dist/services/import.service.js +2 -2
  354. package/dist/services/import.service.js.map +1 -1
  355. package/dist/services/orchestration/helpers.d.ts +3 -3
  356. package/dist/services/orchestration/helpers.js +3 -3
  357. package/dist/services/orchestration/helpers.js.map +1 -1
  358. package/dist/services/orchestration/main/handle-command-message-main.d.ts +159 -1
  359. package/dist/services/orchestration/main/handle-command-message-main.js +17 -31
  360. package/dist/services/orchestration/main/handle-command-message-main.js.map +1 -1
  361. package/dist/services/orchestration/main/handle-worker-response-message-main.d.ts +15 -85
  362. package/dist/services/orchestration/main/handle-worker-response-message-main.js +6 -6
  363. package/dist/services/orchestration/main/handle-worker-response-message-main.js.map +1 -1
  364. package/dist/services/orchestration/main/multi-main-setup.ee.d.ts +2 -2
  365. package/dist/services/orchestration/main/multi-main-setup.ee.js +3 -3
  366. package/dist/services/orchestration/main/multi-main-setup.ee.js.map +1 -1
  367. package/dist/services/orchestration/main/orchestration.handler.main.service.js +3 -8
  368. package/dist/services/orchestration/main/orchestration.handler.main.service.js.map +1 -1
  369. package/dist/services/orchestration/webhook/handle-command-message-webhook.d.ts +124 -1
  370. package/dist/services/orchestration/webhook/handle-command-message-webhook.js +8 -17
  371. package/dist/services/orchestration/webhook/handle-command-message-webhook.js.map +1 -1
  372. package/dist/services/orchestration/webhook/orchestration.handler.webhook.service.js +1 -6
  373. package/dist/services/orchestration/webhook/orchestration.handler.webhook.service.js.map +1 -1
  374. package/dist/services/orchestration/worker/handle-command-message-worker.d.ts +1 -1
  375. package/dist/services/orchestration/worker/handle-command-message-worker.js +126 -134
  376. package/dist/services/orchestration/worker/handle-command-message-worker.js.map +1 -1
  377. package/dist/services/orchestration/worker/orchestration.handler.worker.service.js +3 -1
  378. package/dist/services/orchestration/worker/orchestration.handler.worker.service.js.map +1 -1
  379. package/dist/services/orchestration/worker/types.d.ts +0 -11
  380. package/dist/services/orchestration.service.d.ts +3 -3
  381. package/dist/services/orchestration.service.js +7 -8
  382. package/dist/services/orchestration.service.js.map +1 -1
  383. package/dist/services/pruning.service.d.ts +1 -1
  384. package/dist/services/pruning.service.js +2 -2
  385. package/dist/services/pruning.service.js.map +1 -1
  386. package/dist/services/public-api-key.service.d.ts +22 -0
  387. package/dist/services/public-api-key.service.js +86 -0
  388. package/dist/services/public-api-key.service.js.map +1 -0
  389. package/dist/services/{redis/redis-client.service.d.ts → redis-client.service.d.ts} +14 -3
  390. package/dist/services/{redis/redis-client.service.js → redis-client.service.js} +60 -12
  391. package/dist/services/redis-client.service.js.map +1 -0
  392. package/dist/services/user.service.d.ts +1 -1
  393. package/dist/services/user.service.js +3 -3
  394. package/dist/services/user.service.js.map +1 -1
  395. package/dist/services/workflow-statistics.service.d.ts +1 -1
  396. package/dist/services/workflow-statistics.service.js +3 -3
  397. package/dist/services/workflow-statistics.service.js.map +1 -1
  398. package/dist/shutdown/shutdown.service.d.ts +1 -1
  399. package/dist/shutdown/shutdown.service.js +2 -2
  400. package/dist/shutdown/shutdown.service.js.map +1 -1
  401. package/dist/sso/saml/saml-validator.js +5 -5
  402. package/dist/sso/saml/saml-validator.js.map +1 -1
  403. package/dist/sso/saml/saml.service.ee.d.ts +1 -1
  404. package/dist/sso/saml/saml.service.ee.js +2 -2
  405. package/dist/sso/saml/saml.service.ee.js.map +1 -1
  406. package/dist/subworkflows/subworkflow-policy-checker.service.d.ts +2 -4
  407. package/dist/subworkflows/subworkflow-policy-checker.service.js +4 -10
  408. package/dist/subworkflows/subworkflow-policy-checker.service.js.map +1 -1
  409. package/dist/telemetry/index.d.ts +4 -2
  410. package/dist/telemetry/index.js +11 -8
  411. package/dist/telemetry/index.js.map +1 -1
  412. package/dist/user-management/email/node-mailer.d.ts +1 -1
  413. package/dist/user-management/email/node-mailer.js +2 -2
  414. package/dist/user-management/email/node-mailer.js.map +1 -1
  415. package/dist/user-management/email/user-management-mailer.d.ts +1 -1
  416. package/dist/user-management/email/user-management-mailer.js +2 -2
  417. package/dist/user-management/email/user-management-mailer.js.map +1 -1
  418. package/dist/utlity.types.d.ts +3 -0
  419. package/dist/utlity.types.js +3 -0
  420. package/dist/utlity.types.js.map +1 -0
  421. package/dist/wait-tracker.d.ts +1 -1
  422. package/dist/wait-tracker.js +2 -2
  423. package/dist/wait-tracker.js.map +1 -1
  424. package/dist/webhooks/live-webhooks.d.ts +1 -1
  425. package/dist/webhooks/live-webhooks.js +6 -4
  426. package/dist/webhooks/live-webhooks.js.map +1 -1
  427. package/dist/webhooks/waiting-webhooks.d.ts +1 -1
  428. package/dist/webhooks/waiting-webhooks.js +2 -2
  429. package/dist/webhooks/waiting-webhooks.js.map +1 -1
  430. package/dist/webhooks/webhook-form-data.d.ts +6 -0
  431. package/dist/webhooks/webhook-form-data.js +34 -0
  432. package/dist/webhooks/webhook-form-data.js.map +1 -0
  433. package/dist/webhooks/webhook-helpers.js +8 -26
  434. package/dist/webhooks/webhook-helpers.js.map +1 -1
  435. package/dist/workflow-execute-additional-data.js +15 -11
  436. package/dist/workflow-execute-additional-data.js.map +1 -1
  437. package/dist/workflow-runner.d.ts +1 -1
  438. package/dist/workflow-runner.js +16 -30
  439. package/dist/workflow-runner.js.map +1 -1
  440. package/dist/workflows/workflow-execution.service.d.ts +2 -2
  441. package/dist/workflows/workflow-execution.service.js +4 -4
  442. package/dist/workflows/workflow-execution.service.js.map +1 -1
  443. package/dist/workflows/workflow-history/workflow-history.service.ee.d.ts +1 -1
  444. package/dist/workflows/workflow-history/workflow-history.service.ee.js +2 -2
  445. package/dist/workflows/workflow-history/workflow-history.service.ee.js.map +1 -1
  446. package/dist/workflows/workflow-static-data.service.d.ts +1 -1
  447. package/dist/workflows/workflow-static-data.service.js +2 -2
  448. package/dist/workflows/workflow-static-data.service.js.map +1 -1
  449. package/dist/workflows/workflow.request.d.ts +3 -1
  450. package/dist/workflows/workflow.service.d.ts +1 -1
  451. package/dist/workflows/workflow.service.ee.d.ts +1 -1
  452. package/dist/workflows/workflow.service.ee.js +2 -8
  453. package/dist/workflows/workflow.service.ee.js.map +1 -1
  454. package/dist/workflows/workflow.service.js +2 -2
  455. package/dist/workflows/workflow.service.js.map +1 -1
  456. package/dist/workflows/workflows.controller.d.ts +1 -1
  457. package/dist/workflows/workflows.controller.js +5 -3
  458. package/dist/workflows/workflows.controller.js.map +1 -1
  459. package/package.json +12 -11
  460. package/dist/controllers/annotation-tags.controller.js.map +0 -1
  461. package/dist/databases/entities/annotation-tag-entity.js.map +0 -1
  462. package/dist/databases/entities/annotation-tag-mapping.js.map +0 -1
  463. package/dist/databases/entities/execution-annotation.js.map +0 -1
  464. package/dist/databases/repositories/annotation-tag-mapping.repository.js.map +0 -1
  465. package/dist/databases/repositories/annotation-tag.repository.js.map +0 -1
  466. package/dist/events/ai-event-map.js.map +0 -1
  467. package/dist/events/event-relay.js.map +0 -1
  468. package/dist/events/log-streaming-event-relay.js.map +0 -1
  469. package/dist/events/queue-metrics-event-map.js.map +0 -1
  470. package/dist/events/relay-event-map.js.map +0 -1
  471. package/dist/events/telemetry-event-relay.js.map +0 -1
  472. package/dist/logger.d.ts +0 -9
  473. package/dist/logger.js +0 -95
  474. package/dist/logger.js.map +0 -1
  475. package/dist/services/annotation-tag.service.js.map +0 -1
  476. package/dist/services/orchestration/pubsub/pubsub-message-map.js.map +0 -1
  477. package/dist/services/redis/redis-client.service.js.map +0 -1
  478. package/dist/services/redis/redis-constants.d.ts +0 -2
  479. package/dist/services/redis/redis-constants.js +0 -6
  480. package/dist/services/redis/redis-constants.js.map +0 -1
  481. package/dist/services/redis/redis-service-base-classes.d.ts +0 -25
  482. package/dist/services/redis/redis-service-base-classes.js +0 -72
  483. package/dist/services/redis/redis-service-base-classes.js.map +0 -1
  484. package/dist/services/redis/redis-service-commands.d.ts +0 -67
  485. package/dist/services/redis/redis-service-commands.js +0 -3
  486. package/dist/services/redis/redis-service-commands.js.map +0 -1
  487. package/dist/services/redis/redis.types.js.map +0 -1
  488. /package/dist/events/{ai-event-map.d.ts → maps/ai.event-map.d.ts} +0 -0
  489. /package/dist/events/{queue-metrics-event-map.d.ts → maps/queue-metrics.event-map.d.ts} +0 -0
  490. /package/dist/{services → scaling}/redis/redis.types.d.ts +0 -0
  491. /package/dist/{services → scaling}/redis/redis.types.js +0 -0
@@ -0,0 +1,400 @@
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.TaskBroker = void 0;
13
+ const n8n_workflow_1 = require("n8n-workflow");
14
+ const nanoid_1 = require("nanoid");
15
+ const typedi_1 = require("typedi");
16
+ const logger_service_1 = require("../logging/logger.service");
17
+ const errors_1 = require("./errors");
18
+ let TaskBroker = class TaskBroker {
19
+ constructor(logger) {
20
+ this.logger = logger;
21
+ this.knownRunners = new Map();
22
+ this.requesters = new Map();
23
+ this.tasks = new Map();
24
+ this.runnerAcceptRejects = new Map();
25
+ this.requesterAcceptRejects = new Map();
26
+ this.pendingTaskOffers = [];
27
+ this.pendingTaskRequests = [];
28
+ }
29
+ expireTasks() {
30
+ const now = process.hrtime.bigint();
31
+ const invalidOffers = [];
32
+ for (let i = 0; i < this.pendingTaskOffers.length; i++) {
33
+ if (this.pendingTaskOffers[i].validUntil < now) {
34
+ invalidOffers.push(i);
35
+ }
36
+ }
37
+ invalidOffers.reverse().forEach((i) => this.pendingTaskOffers.splice(i, 1));
38
+ }
39
+ registerRunner(runner, messageCallback) {
40
+ this.knownRunners.set(runner.id, { runner, messageCallback });
41
+ }
42
+ deregisterRunner(runnerId) {
43
+ this.knownRunners.delete(runnerId);
44
+ }
45
+ registerRequester(requesterId, messageCallback) {
46
+ this.requesters.set(requesterId, messageCallback);
47
+ }
48
+ deregisterRequester(requesterId) {
49
+ this.requesters.delete(requesterId);
50
+ }
51
+ async messageRunner(runnerId, message) {
52
+ await this.knownRunners.get(runnerId)?.messageCallback(message);
53
+ }
54
+ async messageRequester(requesterId, message) {
55
+ await this.requesters.get(requesterId)?.(message);
56
+ }
57
+ async onRunnerMessage(runnerId, message) {
58
+ const runner = this.knownRunners.get(runnerId);
59
+ if (!runner) {
60
+ return;
61
+ }
62
+ switch (message.type) {
63
+ case 'runner:taskaccepted':
64
+ this.handleRunnerAccept(message.taskId);
65
+ break;
66
+ case 'runner:taskrejected':
67
+ this.handleRunnerReject(message.taskId, message.reason);
68
+ break;
69
+ case 'runner:taskoffer':
70
+ this.taskOffered({
71
+ runnerId,
72
+ taskType: message.taskType,
73
+ offerId: message.offerId,
74
+ validFor: message.validFor,
75
+ validUntil: process.hrtime.bigint() + BigInt(message.validFor * 1_000_000),
76
+ });
77
+ break;
78
+ case 'runner:taskdone':
79
+ await this.taskDoneHandler(message.taskId, message.data);
80
+ break;
81
+ case 'runner:taskerror':
82
+ await this.taskErrorHandler(message.taskId, message.error);
83
+ break;
84
+ case 'runner:taskdatarequest':
85
+ await this.handleDataRequest(message.taskId, message.requestId, message.requestType, message.param);
86
+ break;
87
+ case 'runner:rpc':
88
+ await this.handleRpcRequest(message.taskId, message.callId, message.name, message.params);
89
+ break;
90
+ case 'runner:info':
91
+ break;
92
+ }
93
+ }
94
+ async handleRpcRequest(taskId, callId, name, params) {
95
+ const task = this.tasks.get(taskId);
96
+ if (!task) {
97
+ return;
98
+ }
99
+ await this.messageRequester(task.requesterId, {
100
+ type: 'broker:rpc',
101
+ taskId,
102
+ callId,
103
+ name,
104
+ params,
105
+ });
106
+ }
107
+ handleRunnerAccept(taskId) {
108
+ const acceptReject = this.runnerAcceptRejects.get(taskId);
109
+ if (acceptReject) {
110
+ acceptReject.accept();
111
+ this.runnerAcceptRejects.delete(taskId);
112
+ }
113
+ }
114
+ handleRunnerReject(taskId, reason) {
115
+ const acceptReject = this.runnerAcceptRejects.get(taskId);
116
+ if (acceptReject) {
117
+ acceptReject.reject(new errors_1.TaskRejectError(reason));
118
+ this.runnerAcceptRejects.delete(taskId);
119
+ }
120
+ }
121
+ async handleDataRequest(taskId, requestId, requestType, param) {
122
+ const task = this.tasks.get(taskId);
123
+ if (!task) {
124
+ return;
125
+ }
126
+ await this.messageRequester(task.requesterId, {
127
+ type: 'broker:taskdatarequest',
128
+ taskId,
129
+ requestId,
130
+ requestType,
131
+ param,
132
+ });
133
+ }
134
+ async handleResponse(taskId, requestId, data) {
135
+ const task = this.tasks.get(taskId);
136
+ if (!task) {
137
+ return;
138
+ }
139
+ await this.messageRunner(task.requesterId, {
140
+ type: 'broker:taskdataresponse',
141
+ taskId,
142
+ requestId,
143
+ data,
144
+ });
145
+ }
146
+ async onRequesterMessage(requesterId, message) {
147
+ switch (message.type) {
148
+ case 'requester:tasksettings':
149
+ this.handleRequesterAccept(message.taskId, message.settings);
150
+ break;
151
+ case 'requester:taskcancel':
152
+ await this.cancelTask(message.taskId, message.reason);
153
+ break;
154
+ case 'requester:taskrequest':
155
+ this.taskRequested({
156
+ taskType: message.taskType,
157
+ requestId: message.requestId,
158
+ requesterId,
159
+ });
160
+ break;
161
+ case 'requester:taskdataresponse':
162
+ await this.handleRequesterDataResponse(message.taskId, message.requestId, message.data);
163
+ break;
164
+ case 'requester:rpcresponse':
165
+ await this.handleRequesterRpcResponse(message.taskId, message.callId, message.status, message.data);
166
+ break;
167
+ }
168
+ }
169
+ async handleRequesterRpcResponse(taskId, callId, status, data) {
170
+ const runner = await this.getRunnerOrFailTask(taskId);
171
+ await this.messageRunner(runner.id, {
172
+ type: 'broker:rpcresponse',
173
+ taskId,
174
+ callId,
175
+ status,
176
+ data,
177
+ });
178
+ }
179
+ async handleRequesterDataResponse(taskId, requestId, data) {
180
+ const runner = await this.getRunnerOrFailTask(taskId);
181
+ await this.messageRunner(runner.id, {
182
+ type: 'broker:taskdataresponse',
183
+ taskId,
184
+ requestId,
185
+ data,
186
+ });
187
+ }
188
+ handleRequesterAccept(taskId, settings) {
189
+ const acceptReject = this.requesterAcceptRejects.get(taskId);
190
+ if (acceptReject) {
191
+ acceptReject.accept(settings);
192
+ this.requesterAcceptRejects.delete(taskId);
193
+ }
194
+ }
195
+ handleRequesterReject(taskId, reason) {
196
+ const acceptReject = this.requesterAcceptRejects.get(taskId);
197
+ if (acceptReject) {
198
+ acceptReject.reject(new errors_1.TaskRejectError(reason));
199
+ this.requesterAcceptRejects.delete(taskId);
200
+ }
201
+ }
202
+ async cancelTask(taskId, reason) {
203
+ const task = this.tasks.get(taskId);
204
+ if (!task) {
205
+ return;
206
+ }
207
+ this.tasks.delete(taskId);
208
+ await this.messageRunner(task.runnerId, {
209
+ type: 'broker:taskcancel',
210
+ taskId,
211
+ reason,
212
+ });
213
+ }
214
+ async failTask(taskId, reason) {
215
+ const task = this.tasks.get(taskId);
216
+ if (!task) {
217
+ return;
218
+ }
219
+ this.tasks.delete(taskId);
220
+ await this.messageRequester(task.requesterId, {
221
+ type: 'broker:taskerror',
222
+ taskId,
223
+ error: reason,
224
+ });
225
+ }
226
+ async getRunnerOrFailTask(taskId) {
227
+ const task = this.tasks.get(taskId);
228
+ if (!task) {
229
+ throw new n8n_workflow_1.ApplicationError(`Cannot find runner, failed to find task (${taskId})`, {
230
+ level: 'error',
231
+ });
232
+ }
233
+ const runner = this.knownRunners.get(task.runnerId);
234
+ if (!runner) {
235
+ const reason = `Cannot find runner, failed to find runner (${task.runnerId})`;
236
+ await this.failTask(taskId, reason);
237
+ throw new n8n_workflow_1.ApplicationError(reason, {
238
+ level: 'error',
239
+ });
240
+ }
241
+ return runner.runner;
242
+ }
243
+ async sendTaskSettings(taskId, settings) {
244
+ const runner = await this.getRunnerOrFailTask(taskId);
245
+ await this.messageRunner(runner.id, {
246
+ type: 'broker:tasksettings',
247
+ taskId,
248
+ settings,
249
+ });
250
+ }
251
+ async taskDoneHandler(taskId, data) {
252
+ const task = this.tasks.get(taskId);
253
+ if (!task) {
254
+ return;
255
+ }
256
+ await this.requesters.get(task.requesterId)?.({
257
+ type: 'broker:taskdone',
258
+ taskId: task.id,
259
+ data,
260
+ });
261
+ this.tasks.delete(task.id);
262
+ }
263
+ async taskErrorHandler(taskId, error) {
264
+ const task = this.tasks.get(taskId);
265
+ if (!task) {
266
+ return;
267
+ }
268
+ await this.requesters.get(task.requesterId)?.({
269
+ type: 'broker:taskerror',
270
+ taskId: task.id,
271
+ error,
272
+ });
273
+ this.tasks.delete(task.id);
274
+ }
275
+ async acceptOffer(offer, request) {
276
+ const taskId = (0, nanoid_1.nanoid)(8);
277
+ try {
278
+ const acceptPromise = new Promise((resolve, reject) => {
279
+ this.runnerAcceptRejects.set(taskId, { accept: resolve, reject });
280
+ setTimeout(() => {
281
+ reject('Runner timed out');
282
+ }, 2000);
283
+ });
284
+ await this.messageRunner(offer.runnerId, {
285
+ type: 'broker:taskofferaccept',
286
+ offerId: offer.offerId,
287
+ taskId,
288
+ });
289
+ await acceptPromise;
290
+ }
291
+ catch (e) {
292
+ request.acceptInProgress = false;
293
+ if (e instanceof errors_1.TaskRejectError) {
294
+ this.logger.info(`Task (${taskId}) rejected by Runner with reason "${e.reason}"`);
295
+ return;
296
+ }
297
+ throw e;
298
+ }
299
+ const task = {
300
+ id: taskId,
301
+ taskType: offer.taskType,
302
+ runnerId: offer.runnerId,
303
+ requesterId: request.requesterId,
304
+ };
305
+ this.tasks.set(taskId, task);
306
+ const requestIndex = this.pendingTaskRequests.findIndex((r) => r.requestId === request.requestId);
307
+ if (requestIndex === -1) {
308
+ this.logger.error(`Failed to find task request (${request.requestId}) after a task was accepted. This shouldn't happen, and might be a race condition.`);
309
+ return;
310
+ }
311
+ this.pendingTaskRequests.splice(requestIndex, 1);
312
+ try {
313
+ const acceptPromise = new Promise((resolve, reject) => {
314
+ this.requesterAcceptRejects.set(taskId, {
315
+ accept: resolve,
316
+ reject,
317
+ });
318
+ setTimeout(() => {
319
+ reject('Requester timed out');
320
+ }, 2000);
321
+ });
322
+ await this.messageRequester(request.requesterId, {
323
+ type: 'broker:taskready',
324
+ requestId: request.requestId,
325
+ taskId,
326
+ });
327
+ const settings = await acceptPromise;
328
+ await this.sendTaskSettings(task.id, settings);
329
+ }
330
+ catch (e) {
331
+ if (e instanceof errors_1.TaskRejectError) {
332
+ await this.cancelTask(task.id, e.reason);
333
+ this.logger.info(`Task (${taskId}) rejected by Requester with reason "${e.reason}"`);
334
+ return;
335
+ }
336
+ await this.cancelTask(task.id, 'Unknown reason');
337
+ throw e;
338
+ }
339
+ }
340
+ settleTasks() {
341
+ this.expireTasks();
342
+ for (const request of this.pendingTaskRequests) {
343
+ if (request.acceptInProgress) {
344
+ continue;
345
+ }
346
+ const offerIndex = this.pendingTaskOffers.findIndex((o) => o.taskType === request.taskType);
347
+ if (offerIndex === -1) {
348
+ continue;
349
+ }
350
+ const offer = this.pendingTaskOffers[offerIndex];
351
+ request.acceptInProgress = true;
352
+ this.pendingTaskOffers.splice(offerIndex, 1);
353
+ void this.acceptOffer(offer, request);
354
+ }
355
+ }
356
+ taskRequested(request) {
357
+ this.pendingTaskRequests.push(request);
358
+ this.settleTasks();
359
+ }
360
+ taskOffered(offer) {
361
+ this.pendingTaskOffers.push(offer);
362
+ this.settleTasks();
363
+ }
364
+ getTasks() {
365
+ return this.tasks;
366
+ }
367
+ getPendingTaskOffers() {
368
+ return this.pendingTaskOffers;
369
+ }
370
+ getPendingTaskRequests() {
371
+ return this.pendingTaskRequests;
372
+ }
373
+ getKnownRunners() {
374
+ return this.knownRunners;
375
+ }
376
+ getKnownRequesters() {
377
+ return this.requesters;
378
+ }
379
+ getRunnerAcceptRejects() {
380
+ return this.runnerAcceptRejects;
381
+ }
382
+ setTasks(tasks) {
383
+ this.tasks = new Map(Object.entries(tasks));
384
+ }
385
+ setPendingTaskOffers(pendingTaskOffers) {
386
+ this.pendingTaskOffers = pendingTaskOffers;
387
+ }
388
+ setPendingTaskRequests(pendingTaskRequests) {
389
+ this.pendingTaskRequests = pendingTaskRequests;
390
+ }
391
+ setRunnerAcceptRejects(runnerAcceptRejects) {
392
+ this.runnerAcceptRejects = new Map(Object.entries(runnerAcceptRejects));
393
+ }
394
+ };
395
+ exports.TaskBroker = TaskBroker;
396
+ exports.TaskBroker = TaskBroker = __decorate([
397
+ (0, typedi_1.Service)(),
398
+ __metadata("design:paramtypes", [logger_service_1.Logger])
399
+ ], TaskBroker);
400
+ //# sourceMappingURL=task-broker.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"task-broker.service.js","sourceRoot":"","sources":["../../src/runners/task-broker.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { TaskManager } from './task-manager';
2
+ import type { RequesterMessage } from '../runner-types';
3
+ import { TaskBroker } from '../task-broker.service';
4
+ export declare class SingleMainTaskManager extends TaskManager {
5
+ taskBroker: TaskBroker;
6
+ id: string;
7
+ constructor();
8
+ registerRequester(): void;
9
+ sendMessage(message: RequesterMessage.ToN8n.All): void;
10
+ }
@@ -0,0 +1,25 @@
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.SingleMainTaskManager = void 0;
7
+ const typedi_1 = __importDefault(require("typedi"));
8
+ const task_manager_1 = require("./task-manager");
9
+ const task_broker_service_1 = require("../task-broker.service");
10
+ class SingleMainTaskManager extends task_manager_1.TaskManager {
11
+ constructor() {
12
+ super();
13
+ this.id = 'single-main';
14
+ this.registerRequester();
15
+ }
16
+ registerRequester() {
17
+ this.taskBroker = typedi_1.default.get(task_broker_service_1.TaskBroker);
18
+ this.taskBroker.registerRequester(this.id, this.onMessage.bind(this));
19
+ }
20
+ sendMessage(message) {
21
+ void this.taskBroker.onRequesterMessage(this.id, message);
22
+ }
23
+ }
24
+ exports.SingleMainTaskManager = SingleMainTaskManager;
25
+ //# sourceMappingURL=single-main-task-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"single-main-task-manager.js","sourceRoot":"","sources":["../../../src/runners/task-managers/single-main-task-manager.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA+B;AAE/B,iDAA6C;AAG7C,gEAAoD;AAEpD,MAAa,qBAAsB,SAAQ,0BAAW;IAKrD;QACC,KAAK,EAAE,CAAC;QAHT,OAAE,GAAW,aAAa,CAAC;QAI1B,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC1B,CAAC;IAED,iBAAiB;QAChB,IAAI,CAAC,UAAU,GAAG,gBAAS,CAAC,GAAG,CAAC,gCAAU,CAAC,CAAC;QAE5C,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAChC,IAAI,CAAC,EAAE,EACP,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAA6B,CACrD,CAAC;IACH,CAAC;IAED,WAAW,CAAC,OAAmC;QAC9C,KAAK,IAAI,CAAC,UAAU,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;IAC3D,CAAC;CACD;AAtBD,sDAsBC"}
@@ -0,0 +1,87 @@
1
+ import { type IExecuteFunctions, type Workflow, type IRunExecutionData, type INodeExecutionData, type ITaskDataConnections, type INode, type WorkflowParameters, type INodeParameters, type WorkflowExecuteMode, type IExecuteData, type IDataObject, type IWorkflowExecuteAdditionalData } from 'n8n-workflow';
2
+ import { type TaskResultData, type N8nMessage, type RequesterMessage } from '../runner-types';
3
+ export type RequestAccept = (jobId: string) => void;
4
+ export type RequestReject = (reason: string) => void;
5
+ export type TaskAccept = (data: TaskResultData) => void;
6
+ export type TaskReject = (error: unknown) => void;
7
+ export interface TaskData {
8
+ executeFunctions: IExecuteFunctions;
9
+ inputData: ITaskDataConnections;
10
+ node: INode;
11
+ workflow: Workflow;
12
+ runExecutionData: IRunExecutionData;
13
+ runIndex: number;
14
+ itemIndex: number;
15
+ activeNodeName: string;
16
+ connectionInputData: INodeExecutionData[];
17
+ siblingParameters: INodeParameters;
18
+ mode: WorkflowExecuteMode;
19
+ executeData?: IExecuteData;
20
+ defaultReturnRunIndex: number;
21
+ selfData: IDataObject;
22
+ contextNodeName: string;
23
+ additionalData: IWorkflowExecuteAdditionalData;
24
+ }
25
+ export interface PartialAdditionalData {
26
+ executionId?: string;
27
+ restartExecutionId?: string;
28
+ restApiUrl: string;
29
+ instanceBaseUrl: string;
30
+ formWaitingBaseUrl: string;
31
+ webhookBaseUrl: string;
32
+ webhookWaitingBaseUrl: string;
33
+ webhookTestBaseUrl: string;
34
+ currentNodeParameters?: INodeParameters;
35
+ executionTimeoutTimestamp?: number;
36
+ userId?: string;
37
+ variables: IDataObject;
38
+ }
39
+ export interface AllCodeTaskData {
40
+ workflow: Omit<WorkflowParameters, 'nodeTypes'>;
41
+ inputData: ITaskDataConnections;
42
+ node: INode;
43
+ runExecutionData: IRunExecutionData;
44
+ runIndex: number;
45
+ itemIndex: number;
46
+ activeNodeName: string;
47
+ connectionInputData: INodeExecutionData[];
48
+ siblingParameters: INodeParameters;
49
+ mode: WorkflowExecuteMode;
50
+ executeData?: IExecuteData;
51
+ defaultReturnRunIndex: number;
52
+ selfData: IDataObject;
53
+ contextNodeName: string;
54
+ additionalData: PartialAdditionalData;
55
+ }
56
+ export interface TaskRequest {
57
+ requestId: string;
58
+ taskType: string;
59
+ settings: unknown;
60
+ data: TaskData;
61
+ }
62
+ export interface Task {
63
+ taskId: string;
64
+ settings: unknown;
65
+ data: TaskData;
66
+ }
67
+ export declare class TaskManager {
68
+ requestAcceptRejects: Map<string, {
69
+ accept: RequestAccept;
70
+ reject: RequestReject;
71
+ }>;
72
+ taskAcceptRejects: Map<string, {
73
+ accept: TaskAccept;
74
+ reject: TaskReject;
75
+ }>;
76
+ pendingRequests: Map<string, TaskRequest>;
77
+ tasks: Map<string, Task>;
78
+ startTask<T>(additionalData: IWorkflowExecuteAdditionalData, taskType: string, settings: unknown, executeFunctions: IExecuteFunctions, inputData: ITaskDataConnections, node: INode, workflow: Workflow, runExecutionData: IRunExecutionData, runIndex: number, itemIndex: number, activeNodeName: string, connectionInputData: INodeExecutionData[], siblingParameters: INodeParameters, mode: WorkflowExecuteMode, executeData?: IExecuteData, defaultReturnRunIndex?: number, selfData?: IDataObject, contextNodeName?: string): Promise<T>;
79
+ sendMessage(_message: RequesterMessage.ToN8n.All): void;
80
+ onMessage(message: N8nMessage.ToRequester.All): void;
81
+ taskReady(requestId: string, taskId: string): void;
82
+ rejectTask(jobId: string, reason: string): void;
83
+ taskDone(taskId: string, data: TaskResultData): void;
84
+ taskError(taskId: string, error: unknown): void;
85
+ sendTaskData(taskId: string, requestId: string, requestType: N8nMessage.ToRequester.TaskDataRequest['requestType']): void;
86
+ handleRpc(taskId: string, callId: string, name: N8nMessage.ToRequester.RPC['name'], params: unknown[]): Promise<void>;
87
+ }