@atom8n/n8n-core 2.2.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 (352) hide show
  1. package/README.md +13 -0
  2. package/bin/common.js +19 -0
  3. package/bin/copy-static-files +24 -0
  4. package/bin/generate-metadata +75 -0
  5. package/bin/generate-translations +99 -0
  6. package/dist/binary-data/binary-data.config.d.ts +15 -0
  7. package/dist/binary-data/binary-data.config.js +62 -0
  8. package/dist/binary-data/binary-data.config.js.map +1 -0
  9. package/dist/binary-data/binary-data.service.d.ts +32 -0
  10. package/dist/binary-data/binary-data.service.js +243 -0
  11. package/dist/binary-data/binary-data.service.js.map +1 -0
  12. package/dist/binary-data/file-system.manager.d.ts +31 -0
  13. package/dist/binary-data/file-system.manager.js +154 -0
  14. package/dist/binary-data/file-system.manager.js.map +1 -0
  15. package/dist/binary-data/index.d.ts +5 -0
  16. package/dist/binary-data/index.js +27 -0
  17. package/dist/binary-data/index.js.map +1 -0
  18. package/dist/binary-data/object-store/object-store.config.d.ts +19 -0
  19. package/dist/binary-data/object-store/object-store.config.js +83 -0
  20. package/dist/binary-data/object-store/object-store.config.js.map +1 -0
  21. package/dist/binary-data/object-store/object-store.service.ee.d.ts +46 -0
  22. package/dist/binary-data/object-store/object-store.service.ee.js +235 -0
  23. package/dist/binary-data/object-store/object-store.service.ee.js.map +1 -0
  24. package/dist/binary-data/object-store/types.d.ts +8 -0
  25. package/dist/binary-data/object-store/types.js +3 -0
  26. package/dist/binary-data/object-store/types.js.map +1 -0
  27. package/dist/binary-data/object-store.manager.d.ts +23 -0
  28. package/dist/binary-data/object-store.manager.js +86 -0
  29. package/dist/binary-data/object-store.manager.js.map +1 -0
  30. package/dist/binary-data/types.d.ts +46 -0
  31. package/dist/binary-data/types.js +3 -0
  32. package/dist/binary-data/types.js.map +1 -0
  33. package/dist/binary-data/utils.d.ts +15 -0
  34. package/dist/binary-data/utils.js +66 -0
  35. package/dist/binary-data/utils.js.map +1 -0
  36. package/dist/build.tsbuildinfo +1 -0
  37. package/dist/constants.d.ts +19 -0
  38. package/dist/constants.js +23 -0
  39. package/dist/constants.js.map +1 -0
  40. package/dist/credentials.d.ts +12 -0
  41. package/dist/credentials.js +99 -0
  42. package/dist/credentials.js.map +1 -0
  43. package/dist/data-deduplication-service.d.ts +16 -0
  44. package/dist/data-deduplication-service.js +95 -0
  45. package/dist/data-deduplication-service.js.map +1 -0
  46. package/dist/encryption/cipher.d.ts +8 -0
  47. package/dist/encryption/cipher.js +57 -0
  48. package/dist/encryption/cipher.js.map +1 -0
  49. package/dist/encryption/index.d.ts +1 -0
  50. package/dist/encryption/index.js +6 -0
  51. package/dist/encryption/index.js.map +1 -0
  52. package/dist/errors/abstract/binary-data.error.d.ts +3 -0
  53. package/dist/errors/abstract/binary-data.error.js +8 -0
  54. package/dist/errors/abstract/binary-data.error.js.map +1 -0
  55. package/dist/errors/abstract/filesystem.error.d.ts +4 -0
  56. package/dist/errors/abstract/filesystem.error.js +11 -0
  57. package/dist/errors/abstract/filesystem.error.js.map +1 -0
  58. package/dist/errors/binary-data-file-not-found.error.d.ts +4 -0
  59. package/dist/errors/binary-data-file-not-found.error.js +11 -0
  60. package/dist/errors/binary-data-file-not-found.error.js.map +1 -0
  61. package/dist/errors/disallowed-filepath.error.d.ts +4 -0
  62. package/dist/errors/disallowed-filepath.error.js +11 -0
  63. package/dist/errors/disallowed-filepath.error.js.map +1 -0
  64. package/dist/errors/error-reporter.d.ts +35 -0
  65. package/dist/errors/error-reporter.js +256 -0
  66. package/dist/errors/error-reporter.js.map +1 -0
  67. package/dist/errors/file-not-found.error.d.ts +4 -0
  68. package/dist/errors/file-not-found.error.js +11 -0
  69. package/dist/errors/file-not-found.error.js.map +1 -0
  70. package/dist/errors/file-too-large.error.d.ts +9 -0
  71. package/dist/errors/file-too-large.error.js +13 -0
  72. package/dist/errors/file-too-large.error.js.map +1 -0
  73. package/dist/errors/index.d.ts +11 -0
  74. package/dist/errors/index.js +26 -0
  75. package/dist/errors/index.js.map +1 -0
  76. package/dist/errors/invalid-execution-metadata.error.d.ts +5 -0
  77. package/dist/errors/invalid-execution-metadata.error.js +12 -0
  78. package/dist/errors/invalid-execution-metadata.error.js.map +1 -0
  79. package/dist/errors/invalid-manager.error.d.ts +4 -0
  80. package/dist/errors/invalid-manager.error.js +11 -0
  81. package/dist/errors/invalid-manager.error.js.map +1 -0
  82. package/dist/errors/invalid-source-type.error.d.ts +4 -0
  83. package/dist/errors/invalid-source-type.error.js +11 -0
  84. package/dist/errors/invalid-source-type.error.js.map +1 -0
  85. package/dist/errors/missing-source-id.error.d.ts +4 -0
  86. package/dist/errors/missing-source-id.error.js +11 -0
  87. package/dist/errors/missing-source-id.error.js.map +1 -0
  88. package/dist/errors/unrecognized-credential-type.error.d.ts +4 -0
  89. package/dist/errors/unrecognized-credential-type.error.js +11 -0
  90. package/dist/errors/unrecognized-credential-type.error.js.map +1 -0
  91. package/dist/errors/unrecognized-node-type.error.d.ts +4 -0
  92. package/dist/errors/unrecognized-node-type.error.js +11 -0
  93. package/dist/errors/unrecognized-node-type.error.js.map +1 -0
  94. package/dist/errors/workflow-has-issues.error.d.ts +4 -0
  95. package/dist/errors/workflow-has-issues.error.js +11 -0
  96. package/dist/errors/workflow-has-issues.error.js.map +1 -0
  97. package/dist/execution-engine/active-workflows.d.ts +23 -0
  98. package/dist/execution-engine/active-workflows.js +153 -0
  99. package/dist/execution-engine/active-workflows.js.map +1 -0
  100. package/dist/execution-engine/execution-context-hook-registry.service.d.ts +12 -0
  101. package/dist/execution-engine/execution-context-hook-registry.service.js +69 -0
  102. package/dist/execution-engine/execution-context-hook-registry.service.js.map +1 -0
  103. package/dist/execution-engine/execution-context.d.ts +2 -0
  104. package/dist/execution-engine/execution-context.js +56 -0
  105. package/dist/execution-engine/execution-context.js.map +1 -0
  106. package/dist/execution-engine/execution-context.service.d.ts +17 -0
  107. package/dist/execution-engine/execution-context.service.js +108 -0
  108. package/dist/execution-engine/execution-context.service.js.map +1 -0
  109. package/dist/execution-engine/execution-lifecycle-hooks.d.ts +20 -0
  110. package/dist/execution-engine/execution-lifecycle-hooks.js +31 -0
  111. package/dist/execution-engine/execution-lifecycle-hooks.js.map +1 -0
  112. package/dist/execution-engine/external-secrets-proxy.d.ts +18 -0
  113. package/dist/execution-engine/external-secrets-proxy.js +38 -0
  114. package/dist/execution-engine/external-secrets-proxy.js.map +1 -0
  115. package/dist/execution-engine/index.d.ts +26 -0
  116. package/dist/execution-engine/index.js +31 -0
  117. package/dist/execution-engine/index.js.map +1 -0
  118. package/dist/execution-engine/interfaces.d.ts +7 -0
  119. package/dist/execution-engine/interfaces.js +3 -0
  120. package/dist/execution-engine/interfaces.js.map +1 -0
  121. package/dist/execution-engine/node-execution-context/base-execute-context.d.ts +47 -0
  122. package/dist/execution-engine/node-execution-context/base-execute-context.js +150 -0
  123. package/dist/execution-engine/node-execution-context/base-execute-context.js.map +1 -0
  124. package/dist/execution-engine/node-execution-context/credentials-test-context.d.ts +7 -0
  125. package/dist/execution-engine/node-execution-context/credentials-test-context.js +37 -0
  126. package/dist/execution-engine/node-execution-context/credentials-test-context.js.map +1 -0
  127. package/dist/execution-engine/node-execution-context/execute-context.d.ts +24 -0
  128. package/dist/execution-engine/node-execution-context/execute-context.js +108 -0
  129. package/dist/execution-engine/node-execution-context/execute-context.js.map +1 -0
  130. package/dist/execution-engine/node-execution-context/execute-single-context.d.ts +15 -0
  131. package/dist/execution-engine/node-execution-context/execute-single-context.js +53 -0
  132. package/dist/execution-engine/node-execution-context/execute-single-context.js.map +1 -0
  133. package/dist/execution-engine/node-execution-context/hook-context.d.ts +13 -0
  134. package/dist/execution-engine/node-execution-context/hook-context.js +35 -0
  135. package/dist/execution-engine/node-execution-context/hook-context.js.map +1 -0
  136. package/dist/execution-engine/node-execution-context/index.d.ts +17 -0
  137. package/dist/execution-engine/node-execution-context/index.js +51 -0
  138. package/dist/execution-engine/node-execution-context/index.js.map +1 -0
  139. package/dist/execution-engine/node-execution-context/load-options-context.d.ts +10 -0
  140. package/dist/execution-engine/node-execution-context/load-options-context.js +43 -0
  141. package/dist/execution-engine/node-execution-context/load-options-context.js.map +1 -0
  142. package/dist/execution-engine/node-execution-context/local-load-options-context.d.ts +10 -0
  143. package/dist/execution-engine/node-execution-context/local-load-options-context.js +51 -0
  144. package/dist/execution-engine/node-execution-context/local-load-options-context.js.map +1 -0
  145. package/dist/execution-engine/node-execution-context/node-execution-context.d.ts +68 -0
  146. package/dist/execution-engine/node-execution-context/node-execution-context.js +324 -0
  147. package/dist/execution-engine/node-execution-context/node-execution-context.js.map +1 -0
  148. package/dist/execution-engine/node-execution-context/poll-context.d.ts +11 -0
  149. package/dist/execution-engine/node-execution-context/poll-context.js +38 -0
  150. package/dist/execution-engine/node-execution-context/poll-context.js.map +1 -0
  151. package/dist/execution-engine/node-execution-context/supply-data-context.d.ts +26 -0
  152. package/dist/execution-engine/node-execution-context/supply-data-context.js +181 -0
  153. package/dist/execution-engine/node-execution-context/supply-data-context.js.map +1 -0
  154. package/dist/execution-engine/node-execution-context/trigger-context.d.ts +11 -0
  155. package/dist/execution-engine/node-execution-context/trigger-context.js +40 -0
  156. package/dist/execution-engine/node-execution-context/trigger-context.js.map +1 -0
  157. package/dist/execution-engine/node-execution-context/utils/binary-helper-functions.d.ts +10 -0
  158. package/dist/execution-engine/node-execution-context/utils/binary-helper-functions.js +213 -0
  159. package/dist/execution-engine/node-execution-context/utils/binary-helper-functions.js.map +1 -0
  160. package/dist/execution-engine/node-execution-context/utils/cleanup-parameter-data.d.ts +2 -0
  161. package/dist/execution-engine/node-execution-context/utils/cleanup-parameter-data.js +27 -0
  162. package/dist/execution-engine/node-execution-context/utils/cleanup-parameter-data.js.map +1 -0
  163. package/dist/execution-engine/node-execution-context/utils/construct-execution-metadata.d.ts +4 -0
  164. package/dist/execution-engine/node-execution-context/utils/construct-execution-metadata.js +11 -0
  165. package/dist/execution-engine/node-execution-context/utils/construct-execution-metadata.js.map +1 -0
  166. package/dist/execution-engine/node-execution-context/utils/copy-input-items.d.ts +2 -0
  167. package/dist/execution-engine/node-execution-context/utils/copy-input-items.js +19 -0
  168. package/dist/execution-engine/node-execution-context/utils/copy-input-items.js.map +1 -0
  169. package/dist/execution-engine/node-execution-context/utils/create-node-as-tool.d.ts +21 -0
  170. package/dist/execution-engine/node-execution-context/utils/create-node-as-tool.js +65 -0
  171. package/dist/execution-engine/node-execution-context/utils/create-node-as-tool.js.map +1 -0
  172. package/dist/execution-engine/node-execution-context/utils/data-table-helper-functions.d.ts +2 -0
  173. package/dist/execution-engine/node-execution-context/utils/data-table-helper-functions.js +13 -0
  174. package/dist/execution-engine/node-execution-context/utils/data-table-helper-functions.js.map +1 -0
  175. package/dist/execution-engine/node-execution-context/utils/deduplication-helper-functions.d.ts +2 -0
  176. package/dist/execution-engine/node-execution-context/utils/deduplication-helper-functions.js +38 -0
  177. package/dist/execution-engine/node-execution-context/utils/deduplication-helper-functions.js.map +1 -0
  178. package/dist/execution-engine/node-execution-context/utils/ensure-type.d.ts +6 -0
  179. package/dist/execution-engine/node-execution-context/utils/ensure-type.js +75 -0
  180. package/dist/execution-engine/node-execution-context/utils/ensure-type.js.map +1 -0
  181. package/dist/execution-engine/node-execution-context/utils/execution-metadata.d.ts +6 -0
  182. package/dist/execution-engine/node-execution-context/utils/execution-metadata.js +57 -0
  183. package/dist/execution-engine/node-execution-context/utils/execution-metadata.js.map +1 -0
  184. package/dist/execution-engine/node-execution-context/utils/extract-value.d.ts +2 -0
  185. package/dist/execution-engine/node-execution-context/utils/extract-value.js +135 -0
  186. package/dist/execution-engine/node-execution-context/utils/extract-value.js.map +1 -0
  187. package/dist/execution-engine/node-execution-context/utils/file-system-helper-functions.d.ts +2 -0
  188. package/dist/execution-engine/node-execution-context/utils/file-system-helper-functions.js +144 -0
  189. package/dist/execution-engine/node-execution-context/utils/file-system-helper-functions.js.map +1 -0
  190. package/dist/execution-engine/node-execution-context/utils/get-additional-keys.d.ts +4 -0
  191. package/dist/execution-engine/node-execution-context/utils/get-additional-keys.js +57 -0
  192. package/dist/execution-engine/node-execution-context/utils/get-additional-keys.js.map +1 -0
  193. package/dist/execution-engine/node-execution-context/utils/get-input-connection-data.d.ts +5 -0
  194. package/dist/execution-engine/node-execution-context/utils/get-input-connection-data.js +211 -0
  195. package/dist/execution-engine/node-execution-context/utils/get-input-connection-data.js.map +1 -0
  196. package/dist/execution-engine/node-execution-context/utils/get-secrets-proxy.d.ts +2 -0
  197. package/dist/execution-engine/node-execution-context/utils/get-secrets-proxy.js +68 -0
  198. package/dist/execution-engine/node-execution-context/utils/get-secrets-proxy.js.map +1 -0
  199. package/dist/execution-engine/node-execution-context/utils/normalize-items.d.ts +2 -0
  200. package/dist/execution-engine/node-execution-context/utils/normalize-items.js +36 -0
  201. package/dist/execution-engine/node-execution-context/utils/normalize-items.js.map +1 -0
  202. package/dist/execution-engine/node-execution-context/utils/parse-incoming-message.d.ts +16 -0
  203. package/dist/execution-engine/node-execution-context/utils/parse-incoming-message.js +57 -0
  204. package/dist/execution-engine/node-execution-context/utils/parse-incoming-message.js.map +1 -0
  205. package/dist/execution-engine/node-execution-context/utils/request-helper-functions.d.ts +18 -0
  206. package/dist/execution-engine/node-execution-context/utils/request-helper-functions.js +1213 -0
  207. package/dist/execution-engine/node-execution-context/utils/request-helper-functions.js.map +1 -0
  208. package/dist/execution-engine/node-execution-context/utils/return-json-array.d.ts +2 -0
  209. package/dist/execution-engine/node-execution-context/utils/return-json-array.js +19 -0
  210. package/dist/execution-engine/node-execution-context/utils/return-json-array.js.map +1 -0
  211. package/dist/execution-engine/node-execution-context/utils/scheduling-helper-functions.d.ts +2 -0
  212. package/dist/execution-engine/node-execution-context/utils/scheduling-helper-functions.js +22 -0
  213. package/dist/execution-engine/node-execution-context/utils/scheduling-helper-functions.js.map +1 -0
  214. package/dist/execution-engine/node-execution-context/utils/ssh-tunnel-helper-functions.d.ts +2 -0
  215. package/dist/execution-engine/node-execution-context/utils/ssh-tunnel-helper-functions.js +14 -0
  216. package/dist/execution-engine/node-execution-context/utils/ssh-tunnel-helper-functions.js.map +1 -0
  217. package/dist/execution-engine/node-execution-context/utils/validate-value-against-schema.d.ts +2 -0
  218. package/dist/execution-engine/node-execution-context/utils/validate-value-against-schema.js +132 -0
  219. package/dist/execution-engine/node-execution-context/utils/validate-value-against-schema.js.map +1 -0
  220. package/dist/execution-engine/node-execution-context/utils/webhook-helper-functions.d.ts +3 -0
  221. package/dist/execution-engine/node-execution-context/utils/webhook-helper-functions.js +31 -0
  222. package/dist/execution-engine/node-execution-context/utils/webhook-helper-functions.js.map +1 -0
  223. package/dist/execution-engine/node-execution-context/webhook-context.d.ts +21 -0
  224. package/dist/execution-engine/node-execution-context/webhook-context.js +87 -0
  225. package/dist/execution-engine/node-execution-context/webhook-context.js.map +1 -0
  226. package/dist/execution-engine/node-execution-context/workflow-node-context.d.ts +6 -0
  227. package/dist/execution-engine/node-execution-context/workflow-node-context.js +14 -0
  228. package/dist/execution-engine/node-execution-context/workflow-node-context.js.map +1 -0
  229. package/dist/execution-engine/partial-execution-utils/clean-run-data.d.ts +3 -0
  230. package/dist/execution-engine/partial-execution-utils/clean-run-data.js +28 -0
  231. package/dist/execution-engine/partial-execution-utils/clean-run-data.js.map +1 -0
  232. package/dist/execution-engine/partial-execution-utils/directed-graph.d.ts +65 -0
  233. package/dist/execution-engine/partial-execution-utils/directed-graph.js +370 -0
  234. package/dist/execution-engine/partial-execution-utils/directed-graph.js.map +1 -0
  235. package/dist/execution-engine/partial-execution-utils/filter-disabled-nodes.d.ts +2 -0
  236. package/dist/execution-engine/partial-execution-utils/filter-disabled-nodes.js +17 -0
  237. package/dist/execution-engine/partial-execution-utils/filter-disabled-nodes.js.map +1 -0
  238. package/dist/execution-engine/partial-execution-utils/find-start-nodes.d.ts +10 -0
  239. package/dist/execution-engine/partial-execution-utils/find-start-nodes.js +74 -0
  240. package/dist/execution-engine/partial-execution-utils/find-start-nodes.js.map +1 -0
  241. package/dist/execution-engine/partial-execution-utils/find-subgraph.d.ts +7 -0
  242. package/dist/execution-engine/partial-execution-utils/find-subgraph.js +59 -0
  243. package/dist/execution-engine/partial-execution-utils/find-subgraph.js.map +1 -0
  244. package/dist/execution-engine/partial-execution-utils/find-trigger-for-partial-execution.d.ts +4 -0
  245. package/dist/execution-engine/partial-execution-utils/find-trigger-for-partial-execution.js +102 -0
  246. package/dist/execution-engine/partial-execution-utils/find-trigger-for-partial-execution.js.map +1 -0
  247. package/dist/execution-engine/partial-execution-utils/get-incoming-data.d.ts +6 -0
  248. package/dist/execution-engine/partial-execution-utils/get-incoming-data.js +21 -0
  249. package/dist/execution-engine/partial-execution-utils/get-incoming-data.js.map +1 -0
  250. package/dist/execution-engine/partial-execution-utils/get-source-data-groups.d.ts +8 -0
  251. package/dist/execution-engine/partial-execution-utils/get-source-data-groups.js +65 -0
  252. package/dist/execution-engine/partial-execution-utils/get-source-data-groups.js.map +1 -0
  253. package/dist/execution-engine/partial-execution-utils/handle-cycles.d.ts +3 -0
  254. package/dist/execution-engine/partial-execution-utils/handle-cycles.js +60 -0
  255. package/dist/execution-engine/partial-execution-utils/handle-cycles.js.map +1 -0
  256. package/dist/execution-engine/partial-execution-utils/index.d.ts +10 -0
  257. package/dist/execution-engine/partial-execution-utils/index.js +25 -0
  258. package/dist/execution-engine/partial-execution-utils/index.js.map +1 -0
  259. package/dist/execution-engine/partial-execution-utils/recreate-node-execution-stack.d.ts +9 -0
  260. package/dist/execution-engine/partial-execution-utils/recreate-node-execution-stack.js +146 -0
  261. package/dist/execution-engine/partial-execution-utils/recreate-node-execution-stack.js.map +1 -0
  262. package/dist/execution-engine/partial-execution-utils/rewire-graph.d.ts +3 -0
  263. package/dist/execution-engine/partial-execution-utils/rewire-graph.js +72 -0
  264. package/dist/execution-engine/partial-execution-utils/rewire-graph.js.map +1 -0
  265. package/dist/execution-engine/partial-execution-utils/run-data-utils.d.ts +2 -0
  266. package/dist/execution-engine/partial-execution-utils/run-data-utils.js +15 -0
  267. package/dist/execution-engine/partial-execution-utils/run-data-utils.js.map +1 -0
  268. package/dist/execution-engine/requests-response.d.ts +23 -0
  269. package/dist/execution-engine/requests-response.js +128 -0
  270. package/dist/execution-engine/requests-response.js.map +1 -0
  271. package/dist/execution-engine/routing-node.d.ts +17 -0
  272. package/dist/execution-engine/routing-node.js +571 -0
  273. package/dist/execution-engine/routing-node.js.map +1 -0
  274. package/dist/execution-engine/scheduled-task-manager.d.ts +27 -0
  275. package/dist/execution-engine/scheduled-task-manager.js +140 -0
  276. package/dist/execution-engine/scheduled-task-manager.js.map +1 -0
  277. package/dist/execution-engine/ssh-clients-manager.d.ts +27 -0
  278. package/dist/execution-engine/ssh-clients-manager.js +170 -0
  279. package/dist/execution-engine/ssh-clients-manager.js.map +1 -0
  280. package/dist/execution-engine/triggers-and-pollers.d.ts +6 -0
  281. package/dist/execution-engine/triggers-and-pollers.js +66 -0
  282. package/dist/execution-engine/triggers-and-pollers.js.map +1 -0
  283. package/dist/execution-engine/workflow-execute.d.ts +46 -0
  284. package/dist/execution-engine/workflow-execute.js +1490 -0
  285. package/dist/execution-engine/workflow-execute.js.map +1 -0
  286. package/dist/html-sandbox.d.ts +3 -0
  287. package/dist/html-sandbox.js +19 -0
  288. package/dist/html-sandbox.js.map +1 -0
  289. package/dist/http-proxy.d.ts +6 -0
  290. package/dist/http-proxy.js +109 -0
  291. package/dist/http-proxy.js.map +1 -0
  292. package/dist/index.d.ts +17 -0
  293. package/dist/index.js +57 -0
  294. package/dist/index.js.map +1 -0
  295. package/dist/instance-settings/index.d.ts +1 -0
  296. package/dist/instance-settings/index.js +6 -0
  297. package/dist/instance-settings/index.js.map +1 -0
  298. package/dist/instance-settings/instance-settings.d.ts +49 -0
  299. package/dist/instance-settings/instance-settings.js +210 -0
  300. package/dist/instance-settings/instance-settings.js.map +1 -0
  301. package/dist/instance-settings/worker-missing-encryption-key.error.d.ts +4 -0
  302. package/dist/instance-settings/worker-missing-encryption-key.error.js +15 -0
  303. package/dist/instance-settings/worker-missing-encryption-key.error.js.map +1 -0
  304. package/dist/interfaces.d.ts +16 -0
  305. package/dist/interfaces.js +3 -0
  306. package/dist/interfaces.js.map +1 -0
  307. package/dist/node-execute-functions.d.ts +3 -0
  308. package/dist/node-execute-functions.js +12 -0
  309. package/dist/node-execute-functions.js.map +1 -0
  310. package/dist/nodes-loader/constants.d.ts +5 -0
  311. package/dist/nodes-loader/constants.js +106 -0
  312. package/dist/nodes-loader/constants.js.map +1 -0
  313. package/dist/nodes-loader/custom-directory-loader.d.ts +6 -0
  314. package/dist/nodes-loader/custom-directory-loader.js +34 -0
  315. package/dist/nodes-loader/custom-directory-loader.js.map +1 -0
  316. package/dist/nodes-loader/directory-loader.d.ts +41 -0
  317. package/dist/nodes-loader/directory-loader.js +371 -0
  318. package/dist/nodes-loader/directory-loader.js.map +1 -0
  319. package/dist/nodes-loader/index.d.ts +5 -0
  320. package/dist/nodes-loader/index.js +12 -0
  321. package/dist/nodes-loader/index.js.map +1 -0
  322. package/dist/nodes-loader/lazy-package-directory-loader.d.ts +4 -0
  323. package/dist/nodes-loader/lazy-package-directory-loader.js +42 -0
  324. package/dist/nodes-loader/lazy-package-directory-loader.js.map +1 -0
  325. package/dist/nodes-loader/load-class-in-isolation.d.ts +1 -0
  326. package/dist/nodes-loader/load-class-in-isolation.js +20 -0
  327. package/dist/nodes-loader/load-class-in-isolation.js.map +1 -0
  328. package/dist/nodes-loader/package-directory-loader.d.ts +12 -0
  329. package/dist/nodes-loader/package-directory-loader.js +86 -0
  330. package/dist/nodes-loader/package-directory-loader.js.map +1 -0
  331. package/dist/nodes-loader/types.d.ts +14 -0
  332. package/dist/nodes-loader/types.js +3 -0
  333. package/dist/nodes-loader/types.js.map +1 -0
  334. package/dist/utils/assertions.d.ts +2 -0
  335. package/dist/utils/assertions.js +16 -0
  336. package/dist/utils/assertions.js.map +1 -0
  337. package/dist/utils/deep-merge.d.ts +1 -0
  338. package/dist/utils/deep-merge.js +33 -0
  339. package/dist/utils/deep-merge.js.map +1 -0
  340. package/dist/utils/index.d.ts +2 -0
  341. package/dist/utils/index.js +19 -0
  342. package/dist/utils/index.js.map +1 -0
  343. package/dist/utils/is-json-compatible.d.ts +7 -0
  344. package/dist/utils/is-json-compatible.js +81 -0
  345. package/dist/utils/is-json-compatible.js.map +1 -0
  346. package/dist/utils/serialized-buffer.d.ts +6 -0
  347. package/dist/utils/serialized-buffer.js +16 -0
  348. package/dist/utils/serialized-buffer.js.map +1 -0
  349. package/dist/utils/signature-helpers.d.ts +2 -0
  350. package/dist/utils/signature-helpers.js +16 -0
  351. package/dist/utils/signature-helpers.js.map +1 -0
  352. package/package.json +81 -0
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.anyReachableRootHasRunData = anyReachableRootHasRunData;
37
+ exports.findTriggerForPartialExecution = findTriggerForPartialExecution;
38
+ const assert = __importStar(require("assert/strict"));
39
+ const isTriggerNode = (nodeType) => nodeType.description.group.includes('trigger');
40
+ function findAllParentTriggers(workflow, destinationNodeName) {
41
+ const parentNodes = workflow
42
+ .getParentNodes(destinationNodeName)
43
+ .map((name) => {
44
+ const node = workflow.getNode(name);
45
+ assert.ok(node);
46
+ return {
47
+ node,
48
+ nodeType: workflow.nodeTypes.getByNameAndVersion(node.type, node.typeVersion),
49
+ };
50
+ })
51
+ .filter((value) => value !== null)
52
+ .filter(({ nodeType }) => isTriggerNode(nodeType))
53
+ .map(({ node }) => node);
54
+ return parentNodes;
55
+ }
56
+ function anyReachableRootHasRunData(workflow, destinationNodeName, runData) {
57
+ const destinationNode = workflow.getNodes().get(destinationNodeName);
58
+ if (!destinationNode)
59
+ return false;
60
+ const parentConnections = workflow.getParentConnections(destinationNode);
61
+ const parentNodes = new Set();
62
+ for (const connection of parentConnections) {
63
+ parentNodes.add(connection.from);
64
+ }
65
+ const rootNodes = new Set();
66
+ for (const parentNode of parentNodes) {
67
+ const hasParents = workflow.getDirectParentConnections(parentNode).length > 0;
68
+ if (!hasParents) {
69
+ rootNodes.add(parentNode);
70
+ }
71
+ }
72
+ for (const rootNode of rootNodes) {
73
+ if (runData[rootNode.name]) {
74
+ return true;
75
+ }
76
+ }
77
+ return false;
78
+ }
79
+ function findTriggerForPartialExecution(workflow, destinationNodeName, runData) {
80
+ const destinationNode = workflow.getNode(destinationNodeName);
81
+ if (!destinationNode)
82
+ return;
83
+ const destinationNodeType = workflow.nodeTypes.getByNameAndVersion(destinationNode.type, destinationNode.typeVersion);
84
+ if (isTriggerNode(destinationNodeType) && !destinationNode.disabled) {
85
+ return destinationNode;
86
+ }
87
+ const parentTriggers = findAllParentTriggers(workflow, destinationNodeName).filter((trigger) => !trigger.disabled);
88
+ for (const trigger of parentTriggers) {
89
+ if (runData[trigger.name]) {
90
+ return trigger;
91
+ }
92
+ }
93
+ const pinnedTriggers = parentTriggers
94
+ .filter((trigger) => workflow.pinData?.[trigger.name])
95
+ .sort((a, b) => (a.type.endsWith('webhook') ? -1 : b.type.endsWith('webhook') ? 1 : 0));
96
+ if (pinnedTriggers.length) {
97
+ return pinnedTriggers[0];
98
+ }
99
+ const webhookTriggers = parentTriggers.filter((trigger) => trigger.type.endsWith('webhook'));
100
+ return webhookTriggers.length > 0 ? webhookTriggers[0] : parentTriggers[0];
101
+ }
102
+ //# sourceMappingURL=find-trigger-for-partial-execution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"find-trigger-for-partial-execution.js","sourceRoot":"","sources":["../../../src/execution-engine/partial-execution-utils/find-trigger-for-partial-execution.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { INodeExecutionData, IRunData, NodeConnectionType } from 'n8n-workflow';
2
+ export declare function getIncomingData(runData: IRunData, nodeName: string, runIndex: number, connectionType: NodeConnectionType, outputIndex: number): INodeExecutionData[] | null;
3
+ export declare function getIncomingDataFromAnyRun(runData: IRunData, nodeName: string, connectionType: NodeConnectionType, outputIndex: number): {
4
+ data: INodeExecutionData[];
5
+ runIndex: number;
6
+ } | undefined;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getIncomingData = getIncomingData;
4
+ exports.getIncomingDataFromAnyRun = getIncomingDataFromAnyRun;
5
+ function getIncomingData(runData, nodeName, runIndex, connectionType, outputIndex) {
6
+ return runData[nodeName]?.at(runIndex)?.data?.[connectionType].at(outputIndex) ?? null;
7
+ }
8
+ function getRunIndexLength(runData, nodeName) {
9
+ return runData[nodeName]?.length ?? 0;
10
+ }
11
+ function getIncomingDataFromAnyRun(runData, nodeName, connectionType, outputIndex) {
12
+ const maxRunIndexes = getRunIndexLength(runData, nodeName);
13
+ for (let runIndex = 0; runIndex < maxRunIndexes; runIndex++) {
14
+ const data = getIncomingData(runData, nodeName, runIndex, connectionType, outputIndex);
15
+ if (data && data.length > 0) {
16
+ return { data, runIndex };
17
+ }
18
+ }
19
+ return undefined;
20
+ }
21
+ //# sourceMappingURL=get-incoming-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-incoming-data.js","sourceRoot":"","sources":["../../../src/execution-engine/partial-execution-utils/get-incoming-data.ts"],"names":[],"mappings":";;AAEA,0CAQC;AAMD,8DAiBC;AA/BD,SAAgB,eAAe,CAC9B,OAAiB,EACjB,QAAgB,EAChB,QAAgB,EAChB,cAAkC,EAClC,WAAmB;IAEnB,OAAO,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,IAAI,IAAI,CAAC;AACxF,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAiB,EAAE,QAAgB;IAC7D,OAAO,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;AACvC,CAAC;AAED,SAAgB,yBAAyB,CACxC,OAAiB,EACjB,QAAgB,EAChB,cAAkC,EAClC,WAAmB;IAEnB,MAAM,aAAa,GAAG,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE3D,KAAK,IAAI,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,aAAa,EAAE,QAAQ,EAAE,EAAE,CAAC;QAC7D,MAAM,IAAI,GAAG,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;QAEvF,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QAC3B,CAAC;IACF,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { type INode, type IPinData, type IRunData } from 'n8n-workflow';
2
+ import type { GraphConnection, DirectedGraph } from './directed-graph';
3
+ type SourceConnectionGroup = {
4
+ complete: boolean;
5
+ connections: GraphConnection[];
6
+ };
7
+ export declare function getSourceDataGroups(graph: DirectedGraph, node: INode, runData: IRunData, pinnedData: IPinData): SourceConnectionGroup[];
8
+ export {};
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getSourceDataGroups = getSourceDataGroups;
4
+ const n8n_workflow_1 = require("n8n-workflow");
5
+ function sortByInputIndexThenByName(connection1, connection2) {
6
+ if (connection1.inputIndex === connection2.inputIndex) {
7
+ return connection1.from.name.localeCompare(connection2.from.name);
8
+ }
9
+ else {
10
+ return connection1.inputIndex - connection2.inputIndex;
11
+ }
12
+ }
13
+ function newGroup() {
14
+ return {
15
+ complete: true,
16
+ connections: [],
17
+ };
18
+ }
19
+ function getSourceDataGroups(graph, node, runData, pinnedData) {
20
+ const connections = graph.getConnections({ to: node });
21
+ const sortedConnectionsWithData = [];
22
+ const sortedConnectionsWithoutData = [];
23
+ for (const connection of connections) {
24
+ const hasData = runData[connection.from.name] || pinnedData[connection.from.name];
25
+ if (hasData) {
26
+ sortedConnectionsWithData.push(connection);
27
+ }
28
+ else if (connection.type === n8n_workflow_1.NodeConnectionTypes.Main) {
29
+ sortedConnectionsWithoutData.push(connection);
30
+ }
31
+ }
32
+ if (sortedConnectionsWithData.length === 0 && sortedConnectionsWithoutData.length === 0) {
33
+ return [];
34
+ }
35
+ sortedConnectionsWithData.sort(sortByInputIndexThenByName);
36
+ sortedConnectionsWithoutData.sort(sortByInputIndexThenByName);
37
+ const groups = [];
38
+ let currentGroup = newGroup();
39
+ let currentInputIndex = Math.min(...sortedConnectionsWithData.map((c) => c.inputIndex), ...sortedConnectionsWithoutData.map((c) => c.inputIndex)) - 1;
40
+ while (sortedConnectionsWithData.length > 0 || sortedConnectionsWithoutData.length > 0) {
41
+ currentInputIndex++;
42
+ const connectionWithDataIndex = sortedConnectionsWithData.findIndex((c) => c.inputIndex === currentInputIndex);
43
+ if (connectionWithDataIndex >= 0) {
44
+ const connection = sortedConnectionsWithData[connectionWithDataIndex];
45
+ currentGroup.connections.push(connection);
46
+ sortedConnectionsWithData.splice(connectionWithDataIndex, 1);
47
+ continue;
48
+ }
49
+ const connectionWithoutDataIndex = sortedConnectionsWithoutData.findIndex((c) => c.inputIndex === currentInputIndex);
50
+ if (connectionWithoutDataIndex >= 0) {
51
+ const connection = sortedConnectionsWithoutData[connectionWithoutDataIndex];
52
+ currentGroup.connections.push(connection);
53
+ currentGroup.complete = false;
54
+ sortedConnectionsWithoutData.splice(connectionWithoutDataIndex, 1);
55
+ continue;
56
+ }
57
+ groups.push(currentGroup);
58
+ currentGroup = newGroup();
59
+ currentInputIndex =
60
+ Math.min(...sortedConnectionsWithData.map((c) => c.inputIndex), ...sortedConnectionsWithoutData.map((c) => c.inputIndex)) - 1;
61
+ }
62
+ groups.push(currentGroup);
63
+ return groups;
64
+ }
65
+ //# sourceMappingURL=get-source-data-groups.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-source-data-groups.js","sourceRoot":"","sources":["../../../src/execution-engine/partial-execution-utils/get-source-data-groups.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { INode } from 'n8n-workflow';
2
+ import type { DirectedGraph } from './directed-graph';
3
+ export declare function handleCycles(graph: DirectedGraph, startNodes: Set<INode>, trigger: INode): Set<INode>;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.handleCycles = handleCycles;
37
+ const a = __importStar(require("node:assert/strict"));
38
+ function handleCycles(graph, startNodes, trigger) {
39
+ const cycles = graph.getStronglyConnectedComponents().filter((cycle) => cycle.size >= 1);
40
+ const newStartNodes = new Set(startNodes);
41
+ if (cycles.length === 0) {
42
+ return newStartNodes;
43
+ }
44
+ for (const startNode of startNodes) {
45
+ for (const cycle of cycles) {
46
+ const isPartOfCycle = cycle.has(startNode);
47
+ if (isPartOfCycle) {
48
+ const firstNode = graph.depthFirstSearch({
49
+ from: trigger,
50
+ fn: (node) => cycle.has(node),
51
+ });
52
+ a.ok(firstNode, "the trigger must be connected to the cycle, otherwise the cycle wouldn't be part of the subgraph");
53
+ newStartNodes.delete(startNode);
54
+ newStartNodes.add(firstNode);
55
+ }
56
+ }
57
+ }
58
+ return newStartNodes;
59
+ }
60
+ //# sourceMappingURL=handle-cycles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"handle-cycles.js","sourceRoot":"","sources":["../../../src/execution-engine/partial-execution-utils/handle-cycles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAcA,oCAyCC;AAtDD,sDAAwC;AAaxC,SAAgB,YAAY,CAC3B,KAAoB,EACpB,UAAsB,EACtB,OAAc;IAQd,MAAM,MAAM,GAAG,KAAK,CAAC,8BAA8B,EAAE,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;IACzF,MAAM,aAAa,GAAe,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAItD,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,aAAa,CAAC;IACtB,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACpC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC5B,MAAM,aAAa,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC3C,IAAI,aAAa,EAAE,CAAC;gBACnB,MAAM,SAAS,GAAG,KAAK,CAAC,gBAAgB,CAAC;oBACxC,IAAI,EAAE,OAAO;oBACb,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC;iBAC7B,CAAC,CAAC;gBAEH,CAAC,CAAC,EAAE,CACH,SAAS,EACT,kGAAkG,CAClG,CAAC;gBAEF,aAAa,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAChC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC9B,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,aAAa,CAAC;AACtB,CAAC"}
@@ -0,0 +1,10 @@
1
+ export { DirectedGraph } from './directed-graph';
2
+ export { findTriggerForPartialExecution, anyReachableRootHasRunData, } from './find-trigger-for-partial-execution';
3
+ export { findStartNodes } from './find-start-nodes';
4
+ export { findSubgraph } from './find-subgraph';
5
+ export { recreateNodeExecutionStack } from './recreate-node-execution-stack';
6
+ export { cleanRunData } from './clean-run-data';
7
+ export { handleCycles } from './handle-cycles';
8
+ export { filterDisabledNodes } from './filter-disabled-nodes';
9
+ export { rewireGraph } from './rewire-graph';
10
+ export { getNextExecutionIndex } from './run-data-utils';
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNextExecutionIndex = exports.rewireGraph = exports.filterDisabledNodes = exports.handleCycles = exports.cleanRunData = exports.recreateNodeExecutionStack = exports.findSubgraph = exports.findStartNodes = exports.anyReachableRootHasRunData = exports.findTriggerForPartialExecution = exports.DirectedGraph = void 0;
4
+ var directed_graph_1 = require("./directed-graph");
5
+ Object.defineProperty(exports, "DirectedGraph", { enumerable: true, get: function () { return directed_graph_1.DirectedGraph; } });
6
+ var find_trigger_for_partial_execution_1 = require("./find-trigger-for-partial-execution");
7
+ Object.defineProperty(exports, "findTriggerForPartialExecution", { enumerable: true, get: function () { return find_trigger_for_partial_execution_1.findTriggerForPartialExecution; } });
8
+ Object.defineProperty(exports, "anyReachableRootHasRunData", { enumerable: true, get: function () { return find_trigger_for_partial_execution_1.anyReachableRootHasRunData; } });
9
+ var find_start_nodes_1 = require("./find-start-nodes");
10
+ Object.defineProperty(exports, "findStartNodes", { enumerable: true, get: function () { return find_start_nodes_1.findStartNodes; } });
11
+ var find_subgraph_1 = require("./find-subgraph");
12
+ Object.defineProperty(exports, "findSubgraph", { enumerable: true, get: function () { return find_subgraph_1.findSubgraph; } });
13
+ var recreate_node_execution_stack_1 = require("./recreate-node-execution-stack");
14
+ Object.defineProperty(exports, "recreateNodeExecutionStack", { enumerable: true, get: function () { return recreate_node_execution_stack_1.recreateNodeExecutionStack; } });
15
+ var clean_run_data_1 = require("./clean-run-data");
16
+ Object.defineProperty(exports, "cleanRunData", { enumerable: true, get: function () { return clean_run_data_1.cleanRunData; } });
17
+ var handle_cycles_1 = require("./handle-cycles");
18
+ Object.defineProperty(exports, "handleCycles", { enumerable: true, get: function () { return handle_cycles_1.handleCycles; } });
19
+ var filter_disabled_nodes_1 = require("./filter-disabled-nodes");
20
+ Object.defineProperty(exports, "filterDisabledNodes", { enumerable: true, get: function () { return filter_disabled_nodes_1.filterDisabledNodes; } });
21
+ var rewire_graph_1 = require("./rewire-graph");
22
+ Object.defineProperty(exports, "rewireGraph", { enumerable: true, get: function () { return rewire_graph_1.rewireGraph; } });
23
+ var run_data_utils_1 = require("./run-data-utils");
24
+ Object.defineProperty(exports, "getNextExecutionIndex", { enumerable: true, get: function () { return run_data_utils_1.getNextExecutionIndex; } });
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/execution-engine/partial-execution-utils/index.ts"],"names":[],"mappings":";;;AAAA,mDAAiD;AAAxC,+GAAA,aAAa,OAAA;AACtB,2FAG8C;AAF7C,oJAAA,8BAA8B,OAAA;AAC9B,gJAAA,0BAA0B,OAAA;AAE3B,uDAAoD;AAA3C,kHAAA,cAAc,OAAA;AACvB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,iFAA6E;AAApE,2IAAA,0BAA0B,OAAA;AACnC,mDAAgD;AAAvC,8GAAA,YAAY,OAAA;AACrB,iDAA+C;AAAtC,6GAAA,YAAY,OAAA;AACrB,iEAA8D;AAArD,4HAAA,mBAAmB,OAAA;AAC5B,+CAA6C;AAApC,2GAAA,WAAW,OAAA;AACpB,mDAAyD;AAAhD,uHAAA,qBAAqB,OAAA"}
@@ -0,0 +1,9 @@
1
+ import { type NodeConnectionType, type IExecuteData, type INode, type INodeExecutionData, type IPinData, type IRunData, type ISourceData, type IWaitingForExecution, type IWaitingForExecutionSource } from 'n8n-workflow';
2
+ import type { DirectedGraph } from './directed-graph';
3
+ export declare function addWaitingExecution(waitingExecution: IWaitingForExecution, nodeName: string, runIndex: number, inputType: NodeConnectionType, inputIndex: number, executionData: INodeExecutionData[] | null): void;
4
+ export declare function addWaitingExecutionSource(waitingExecutionSource: IWaitingForExecutionSource, nodeName: string, runIndex: number, inputType: NodeConnectionType, inputIndex: number, sourceData: ISourceData | null): void;
5
+ export declare function recreateNodeExecutionStack(graph: DirectedGraph, startNodes: Set<INode>, runData: IRunData, pinData: IPinData): {
6
+ nodeExecutionStack: IExecuteData[];
7
+ waitingExecution: IWaitingForExecution;
8
+ waitingExecutionSource: IWaitingForExecutionSource;
9
+ };
@@ -0,0 +1,146 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.addWaitingExecution = addWaitingExecution;
37
+ exports.addWaitingExecutionSource = addWaitingExecutionSource;
38
+ exports.recreateNodeExecutionStack = recreateNodeExecutionStack;
39
+ const a = __importStar(require("assert/strict"));
40
+ const n8n_workflow_1 = require("n8n-workflow");
41
+ const get_incoming_data_1 = require("./get-incoming-data");
42
+ const get_source_data_groups_1 = require("./get-source-data-groups");
43
+ function addWaitingExecution(waitingExecution, nodeName, runIndex, inputType, inputIndex, executionData) {
44
+ const waitingExecutionObject = waitingExecution[nodeName] ?? {};
45
+ const taskDataConnections = waitingExecutionObject[runIndex] ?? {};
46
+ const executionDataList = taskDataConnections[inputType] ?? [];
47
+ executionDataList[inputIndex] = executionData;
48
+ taskDataConnections[inputType] = executionDataList;
49
+ waitingExecutionObject[runIndex] = taskDataConnections;
50
+ waitingExecution[nodeName] = waitingExecutionObject;
51
+ }
52
+ function addWaitingExecutionSource(waitingExecutionSource, nodeName, runIndex, inputType, inputIndex, sourceData) {
53
+ const waitingExecutionSourceObject = waitingExecutionSource[nodeName] ?? {};
54
+ const taskDataConnectionsSource = waitingExecutionSourceObject[runIndex] ?? {};
55
+ const sourceDataList = taskDataConnectionsSource[inputType] ?? [];
56
+ sourceDataList[inputIndex] = sourceData;
57
+ taskDataConnectionsSource[inputType] = sourceDataList;
58
+ waitingExecutionSourceObject[runIndex] = taskDataConnectionsSource;
59
+ waitingExecutionSource[nodeName] = waitingExecutionSourceObject;
60
+ }
61
+ function recreateNodeExecutionStack(graph, startNodes, runData, pinData) {
62
+ for (const node of graph.getNodes().values()) {
63
+ a.notEqual(node.disabled, true, `Graph contains disabled nodes. This is not supported. Make sure to pass the graph through "findSubgraph" before calling "recreateNodeExecutionStack". The node in question is "${node.name}"`);
64
+ }
65
+ const nodeExecutionStack = [];
66
+ const waitingExecution = {};
67
+ const waitingExecutionSource = {};
68
+ for (const startNode of startNodes) {
69
+ const incomingStartNodeConnections = graph
70
+ .getDirectParentConnections(startNode)
71
+ .filter((c) => c.type === n8n_workflow_1.NodeConnectionTypes.Main);
72
+ let incomingData = [];
73
+ let incomingSourceData = null;
74
+ if (incomingStartNodeConnections.length === 0) {
75
+ incomingData.push([{ json: {} }]);
76
+ const executeData = {
77
+ node: startNode,
78
+ data: { main: incomingData },
79
+ source: incomingSourceData,
80
+ };
81
+ nodeExecutionStack.push(executeData);
82
+ }
83
+ else {
84
+ const sourceDataSets = (0, get_source_data_groups_1.getSourceDataGroups)(graph, startNode, runData, pinData);
85
+ for (const sourceData of sourceDataSets) {
86
+ if (sourceData.complete) {
87
+ incomingData = [];
88
+ incomingSourceData = { main: [] };
89
+ for (const incomingConnection of sourceData.connections) {
90
+ let runIndex = 0;
91
+ const sourceNode = incomingConnection.from;
92
+ if (pinData[sourceNode.name]) {
93
+ incomingData.push(pinData[sourceNode.name]);
94
+ }
95
+ else {
96
+ a.ok(runData[sourceNode.name], `Start node(${incomingConnection.to.name}) has an incoming connection with no run or pinned data. This is not supported. The connection in question is "${sourceNode.name}->${startNode.name}". Are you sure the start nodes come from the "findStartNodes" function?`);
97
+ const nodeIncomingData = (0, get_incoming_data_1.getIncomingDataFromAnyRun)(runData, sourceNode.name, incomingConnection.type, incomingConnection.outputIndex);
98
+ if (nodeIncomingData) {
99
+ runIndex = nodeIncomingData.runIndex;
100
+ incomingData.push(nodeIncomingData.data);
101
+ }
102
+ }
103
+ incomingSourceData.main.push({
104
+ previousNode: incomingConnection.from.name,
105
+ previousNodeOutput: incomingConnection.outputIndex,
106
+ previousNodeRun: runIndex,
107
+ });
108
+ }
109
+ const executeData = {
110
+ node: startNode,
111
+ data: { main: incomingData },
112
+ source: incomingSourceData,
113
+ };
114
+ nodeExecutionStack.push(executeData);
115
+ }
116
+ else {
117
+ const nodeName = startNode.name;
118
+ const nextRunIndex = waitingExecution[nodeName]
119
+ ? Object.keys(waitingExecution[nodeName]).length
120
+ : 0;
121
+ for (const incomingConnection of sourceData.connections) {
122
+ const sourceNode = incomingConnection.from;
123
+ const maybeNodeIncomingData = (0, get_incoming_data_1.getIncomingDataFromAnyRun)(runData, sourceNode.name, incomingConnection.type, incomingConnection.outputIndex);
124
+ const nodeIncomingData = maybeNodeIncomingData?.data ?? null;
125
+ if (nodeIncomingData) {
126
+ addWaitingExecution(waitingExecution, nodeName, nextRunIndex, incomingConnection.type, incomingConnection.inputIndex, nodeIncomingData);
127
+ addWaitingExecutionSource(waitingExecutionSource, nodeName, nextRunIndex, incomingConnection.type, incomingConnection.inputIndex, nodeIncomingData
128
+ ? {
129
+ previousNode: incomingConnection.from.name,
130
+ previousNodeRun: nextRunIndex,
131
+ previousNodeOutput: incomingConnection.outputIndex,
132
+ }
133
+ : null);
134
+ }
135
+ }
136
+ }
137
+ }
138
+ }
139
+ }
140
+ return {
141
+ nodeExecutionStack,
142
+ waitingExecution,
143
+ waitingExecutionSource,
144
+ };
145
+ }
146
+ //# sourceMappingURL=recreate-node-execution-stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recreate-node-execution-stack.js","sourceRoot":"","sources":["../../../src/execution-engine/partial-execution-utils/recreate-node-execution-stack.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { type AiAgentRequest, type INode } from 'n8n-workflow';
2
+ import { type DirectedGraph } from './directed-graph';
3
+ export declare function rewireGraph(tool: INode, graph: DirectedGraph, agentRequest?: AiAgentRequest): DirectedGraph;
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.rewireGraph = rewireGraph;
37
+ const constants_1 = require("@n8n/constants");
38
+ const a = __importStar(require("assert/strict"));
39
+ const n8n_workflow_1 = require("n8n-workflow");
40
+ function rewireGraph(tool, graph, agentRequest) {
41
+ const modifiedGraph = graph.clone();
42
+ const children = modifiedGraph.getChildren(tool);
43
+ if (children.size === 0) {
44
+ return graph;
45
+ }
46
+ const rootNode = [...children][children.size - 1];
47
+ a.ok(rootNode);
48
+ const allIncomingConnection = modifiedGraph
49
+ .getDirectParentConnections(rootNode)
50
+ .filter((cn) => cn.type === n8n_workflow_1.NodeConnectionTypes.Main);
51
+ const toolExecutor = {
52
+ name: constants_1.TOOL_EXECUTOR_NODE_NAME,
53
+ disabled: false,
54
+ type: '@n8n/n8n-nodes-langchain.toolExecutor',
55
+ parameters: {
56
+ query: agentRequest?.query ?? {},
57
+ toolName: agentRequest?.tool?.name ?? '',
58
+ },
59
+ id: rootNode.id,
60
+ typeVersion: 0,
61
+ position: [0, 0],
62
+ };
63
+ modifiedGraph.addNode(toolExecutor);
64
+ tool.rewireOutputLogTo = n8n_workflow_1.NodeConnectionTypes.AiTool;
65
+ modifiedGraph.addConnection({ from: tool, to: toolExecutor, type: n8n_workflow_1.NodeConnectionTypes.AiTool });
66
+ for (const cn of allIncomingConnection) {
67
+ modifiedGraph.addConnection({ from: cn.from, to: toolExecutor, type: cn.type });
68
+ }
69
+ modifiedGraph.removeNode(rootNode);
70
+ return modifiedGraph;
71
+ }
72
+ //# sourceMappingURL=rewire-graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rewire-graph.js","sourceRoot":"","sources":["../../../src/execution-engine/partial-execution-utils/rewire-graph.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAMA,kCAkDC;AAxDD,8CAAyD;AACzD,iDAAmC;AACnC,+CAAoF;AAIpF,SAAgB,WAAW,CAC1B,IAAW,EACX,KAAoB,EACpB,YAA6B;IAE7B,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;IACpC,MAAM,QAAQ,GAAG,aAAa,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAEjD,IAAI,QAAQ,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;IAElD,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;IAEf,MAAM,qBAAqB,GAAG,aAAa;SACzC,0BAA0B,CAAC,QAAQ,CAAC;SACpC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,kCAAmB,CAAC,IAAI,CAAC,CAAC;IAGvD,MAAM,YAAY,GAAU;QAC3B,IAAI,EAAE,mCAAuB;QAC7B,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,uCAAuC;QAC7C,UAAU,EAAE;YACX,KAAK,EAAE,YAAY,EAAE,KAAK,IAAI,EAAE;YAChC,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,IAAI,EAAE;SACxC;QACD,EAAE,EAAE,QAAQ,CAAC,EAAE;QACf,WAAW,EAAE,CAAC;QACd,QAAQ,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;KAChB,CAAC;IAGF,aAAa,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAGpC,IAAI,CAAC,iBAAiB,GAAG,kCAAmB,CAAC,MAAM,CAAC;IACpD,aAAa,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,kCAAmB,CAAC,MAAM,EAAE,CAAC,CAAC;IAGhG,KAAK,MAAM,EAAE,IAAI,qBAAqB,EAAE,CAAC;QACxC,aAAa,CAAC,aAAa,CAAC,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;IACjF,CAAC;IAGD,aAAa,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEnC,OAAO,aAAa,CAAC;AACtB,CAAC"}
@@ -0,0 +1,2 @@
1
+ import type { IRunData } from 'n8n-workflow';
2
+ export declare function getNextExecutionIndex(runData?: IRunData): number;
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNextExecutionIndex = getNextExecutionIndex;
4
+ function getNextExecutionIndex(runData = {}) {
5
+ if (!runData || Object.keys(runData).length === 0)
6
+ return 0;
7
+ const previousIndices = Object.values(runData)
8
+ .flat()
9
+ .map((taskData) => taskData.executionIndex)
10
+ .filter((value) => typeof value === 'number');
11
+ if (previousIndices.length === 0)
12
+ return 0;
13
+ return Math.max(...previousIndices) + 1;
14
+ }
15
+ //# sourceMappingURL=run-data-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-data-utils.js","sourceRoot":"","sources":["../../../src/execution-engine/partial-execution-utils/run-data-utils.ts"],"names":[],"mappings":";;AAUA,sDAeC;AAfD,SAAgB,qBAAqB,CAAC,UAAoB,EAAE;IAE3D,IAAI,CAAC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAE5D,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;SAC5C,IAAI,EAAE;SACN,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;SAG1C,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;IAG/C,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,CAAC,CAAC;IAE3C,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC;AACzC,CAAC"}