n8n-workflow 1.98.0 → 1.99.1

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 (707) hide show
  1. package/dist/{augment-object.d.ts → cjs/augment-object.d.ts} +1 -0
  2. package/dist/cjs/augment-object.d.ts.map +1 -0
  3. package/dist/cjs/augment-object.js +159 -0
  4. package/dist/cjs/augment-object.js.map +1 -0
  5. package/dist/{constants.d.ts → cjs/constants.d.ts} +12 -0
  6. package/dist/cjs/constants.d.ts.map +1 -0
  7. package/dist/cjs/constants.js +112 -0
  8. package/dist/cjs/constants.js.map +1 -0
  9. package/dist/{cron.d.ts → cjs/cron.d.ts} +1 -0
  10. package/dist/cjs/cron.d.ts.map +1 -0
  11. package/dist/cjs/cron.js +37 -0
  12. package/dist/cjs/cron.js.map +1 -0
  13. package/dist/{deferred-promise.d.ts → cjs/deferred-promise.d.ts} +1 -0
  14. package/dist/cjs/deferred-promise.d.ts.map +1 -0
  15. package/dist/cjs/deferred-promise.js +22 -0
  16. package/dist/cjs/deferred-promise.js.map +1 -0
  17. package/dist/{errors → cjs/errors}/abstract/execution-base.error.d.ts +1 -0
  18. package/dist/cjs/errors/abstract/execution-base.error.d.ts.map +1 -0
  19. package/dist/cjs/errors/abstract/execution-base.error.js +50 -0
  20. package/dist/cjs/errors/abstract/execution-base.error.js.map +1 -0
  21. package/dist/cjs/errors/abstract/node.error.d.ts +48 -0
  22. package/dist/cjs/errors/abstract/node.error.d.ts.map +1 -0
  23. package/dist/cjs/errors/abstract/node.error.js +178 -0
  24. package/dist/cjs/errors/abstract/node.error.js.map +1 -0
  25. package/dist/{errors → cjs/errors}/application.error.d.ts +6 -2
  26. package/dist/cjs/errors/application.error.d.ts.map +1 -0
  27. package/dist/cjs/errors/application.error.js +41 -0
  28. package/dist/cjs/errors/application.error.js.map +1 -0
  29. package/dist/{errors → cjs/errors}/base/base.error.d.ts +12 -0
  30. package/dist/cjs/errors/base/base.error.d.ts.map +1 -0
  31. package/dist/cjs/errors/base/base.error.js +53 -0
  32. package/dist/cjs/errors/base/base.error.js.map +1 -0
  33. package/dist/{errors → cjs/errors}/base/operational.error.d.ts +8 -0
  34. package/dist/cjs/errors/base/operational.error.d.ts.map +1 -0
  35. package/dist/cjs/errors/base/operational.error.js +29 -0
  36. package/dist/cjs/errors/base/operational.error.js.map +1 -0
  37. package/dist/{errors → cjs/errors}/base/unexpected.error.d.ts +8 -0
  38. package/dist/cjs/errors/base/unexpected.error.d.ts.map +1 -0
  39. package/dist/cjs/errors/base/unexpected.error.js +29 -0
  40. package/dist/cjs/errors/base/unexpected.error.js.map +1 -0
  41. package/dist/{errors → cjs/errors}/base/user.error.d.ts +8 -0
  42. package/dist/cjs/errors/base/user.error.d.ts.map +1 -0
  43. package/dist/cjs/errors/base/user.error.js +29 -0
  44. package/dist/cjs/errors/base/user.error.js.map +1 -0
  45. package/dist/{errors → cjs/errors}/cli-subworkflow-operation.error.d.ts +1 -0
  46. package/dist/cjs/errors/cli-subworkflow-operation.error.d.ts.map +1 -0
  47. package/dist/cjs/errors/cli-subworkflow-operation.error.js +18 -0
  48. package/dist/cjs/errors/cli-subworkflow-operation.error.js.map +1 -0
  49. package/dist/{errors → cjs/errors}/db-connection-timeout-error.d.ts +1 -0
  50. package/dist/cjs/errors/db-connection-timeout-error.d.ts.map +1 -0
  51. package/dist/cjs/errors/db-connection-timeout-error.js +23 -0
  52. package/dist/cjs/errors/db-connection-timeout-error.js.map +1 -0
  53. package/dist/cjs/errors/ensure-error.d.ts +3 -0
  54. package/dist/cjs/errors/ensure-error.d.ts.map +1 -0
  55. package/dist/cjs/errors/ensure-error.js +23 -0
  56. package/dist/cjs/errors/ensure-error.js.map +1 -0
  57. package/dist/{errors → cjs/errors}/error.types.d.ts +2 -0
  58. package/dist/cjs/errors/error.types.d.ts.map +1 -0
  59. package/dist/cjs/errors/error.types.js +13 -0
  60. package/dist/{errors → cjs/errors}/error.types.js.map +1 -1
  61. package/dist/{errors → cjs/errors}/execution-cancelled.error.d.ts +1 -0
  62. package/dist/cjs/errors/execution-cancelled.error.d.ts.map +1 -0
  63. package/dist/cjs/errors/execution-cancelled.error.js +24 -0
  64. package/dist/cjs/errors/execution-cancelled.error.js.map +1 -0
  65. package/dist/{errors → cjs/errors}/expression-extension.error.d.ts +1 -0
  66. package/dist/cjs/errors/expression-extension.error.d.ts.map +1 -0
  67. package/dist/cjs/errors/expression-extension.error.js +18 -0
  68. package/dist/cjs/errors/expression-extension.error.js.map +1 -0
  69. package/dist/{errors → cjs/errors}/expression.error.d.ts +4 -0
  70. package/dist/cjs/errors/expression.error.d.ts.map +1 -0
  71. package/dist/cjs/errors/expression.error.js +48 -0
  72. package/dist/cjs/errors/expression.error.js.map +1 -0
  73. package/dist/{errors → cjs/errors}/index.d.ts +1 -0
  74. package/dist/cjs/errors/index.d.ts.map +1 -0
  75. package/dist/cjs/errors/index.js +58 -0
  76. package/dist/cjs/errors/index.js.map +1 -0
  77. package/dist/{errors → cjs/errors}/node-api.error.d.ts +8 -0
  78. package/dist/cjs/errors/node-api.error.d.ts.map +1 -0
  79. package/dist/cjs/errors/node-api.error.js +257 -0
  80. package/dist/cjs/errors/node-api.error.js.map +1 -0
  81. package/dist/{errors → cjs/errors}/node-operation.error.d.ts +4 -0
  82. package/dist/cjs/errors/node-operation.error.d.ts.map +1 -0
  83. package/dist/cjs/errors/node-operation.error.js +50 -0
  84. package/dist/cjs/errors/node-operation.error.js.map +1 -0
  85. package/dist/{errors → cjs/errors}/node-ssl.error.d.ts +1 -0
  86. package/dist/cjs/errors/node-ssl.error.d.ts.map +1 -0
  87. package/dist/cjs/errors/node-ssl.error.js +21 -0
  88. package/dist/cjs/errors/node-ssl.error.js.map +1 -0
  89. package/dist/{errors → cjs/errors}/subworkflow-operation.error.d.ts +1 -0
  90. package/dist/cjs/errors/subworkflow-operation.error.d.ts.map +1 -0
  91. package/dist/cjs/errors/subworkflow-operation.error.js +30 -0
  92. package/dist/cjs/errors/subworkflow-operation.error.js.map +1 -0
  93. package/dist/{errors → cjs/errors}/trigger-close.error.d.ts +1 -0
  94. package/dist/cjs/errors/trigger-close.error.d.ts.map +1 -0
  95. package/dist/cjs/errors/trigger-close.error.js +24 -0
  96. package/dist/cjs/errors/trigger-close.error.js.map +1 -0
  97. package/dist/{errors → cjs/errors}/webhook-taken.error.d.ts +1 -0
  98. package/dist/cjs/errors/webhook-taken.error.d.ts.map +1 -0
  99. package/dist/cjs/errors/webhook-taken.error.js +21 -0
  100. package/dist/cjs/errors/webhook-taken.error.js.map +1 -0
  101. package/dist/{errors → cjs/errors}/workflow-activation.error.d.ts +4 -0
  102. package/dist/cjs/errors/workflow-activation.error.d.ts.map +1 -0
  103. package/dist/cjs/errors/workflow-activation.error.js +54 -0
  104. package/dist/cjs/errors/workflow-activation.error.js.map +1 -0
  105. package/dist/{errors → cjs/errors}/workflow-deactivation.error.d.ts +1 -0
  106. package/dist/cjs/errors/workflow-deactivation.error.d.ts.map +1 -0
  107. package/dist/cjs/errors/workflow-deactivation.error.js +18 -0
  108. package/dist/cjs/errors/workflow-deactivation.error.js.map +1 -0
  109. package/dist/{errors → cjs/errors}/workflow-operation.error.d.ts +4 -0
  110. package/dist/cjs/errors/workflow-operation.error.d.ts.map +1 -0
  111. package/dist/cjs/errors/workflow-operation.error.js +32 -0
  112. package/dist/cjs/errors/workflow-operation.error.js.map +1 -0
  113. package/dist/{execution-status.d.ts → cjs/execution-status.d.ts} +1 -0
  114. package/dist/cjs/execution-status.d.ts.map +1 -0
  115. package/dist/cjs/execution-status.js +24 -0
  116. package/dist/cjs/execution-status.js.map +1 -0
  117. package/dist/{expression-evaluator-proxy.d.ts → cjs/expression-evaluator-proxy.d.ts} +1 -0
  118. package/dist/cjs/expression-evaluator-proxy.d.ts.map +1 -0
  119. package/dist/cjs/expression-evaluator-proxy.js +30 -0
  120. package/dist/cjs/expression-evaluator-proxy.js.map +1 -0
  121. package/dist/{expression-sandboxing.d.ts → cjs/expression-sandboxing.d.ts} +1 -0
  122. package/dist/cjs/expression-sandboxing.d.ts.map +1 -0
  123. package/dist/cjs/expression-sandboxing.js +62 -0
  124. package/dist/cjs/expression-sandboxing.js.map +1 -0
  125. package/dist/{expression.d.ts → cjs/expression.d.ts} +33 -0
  126. package/dist/cjs/expression.d.ts.map +1 -0
  127. package/dist/cjs/expression.js +368 -0
  128. package/dist/cjs/expression.js.map +1 -0
  129. package/dist/cjs/expressions/expression-helpers.d.ts +6 -0
  130. package/dist/cjs/expressions/expression-helpers.d.ts.map +1 -0
  131. package/dist/cjs/expressions/expression-helpers.js +24 -0
  132. package/dist/cjs/expressions/expression-helpers.js.map +1 -0
  133. package/dist/{extensions → cjs/extensions}/array-extensions.d.ts +1 -0
  134. package/dist/cjs/extensions/array-extensions.d.ts.map +1 -0
  135. package/dist/cjs/extensions/array-extensions.js +627 -0
  136. package/dist/cjs/extensions/array-extensions.js.map +1 -0
  137. package/dist/{extensions → cjs/extensions}/boolean-extensions.d.ts +1 -0
  138. package/dist/cjs/extensions/boolean-extensions.d.ts.map +1 -0
  139. package/dist/cjs/extensions/boolean-extensions.js +49 -0
  140. package/dist/cjs/extensions/boolean-extensions.js.map +1 -0
  141. package/dist/{extensions → cjs/extensions}/date-extensions.d.ts +1 -0
  142. package/dist/cjs/extensions/date-extensions.d.ts.map +1 -0
  143. package/dist/cjs/extensions/date-extensions.js +528 -0
  144. package/dist/cjs/extensions/date-extensions.js.map +1 -0
  145. package/dist/{extensions → cjs/extensions}/expression-extension.d.ts +22 -0
  146. package/dist/cjs/extensions/expression-extension.d.ts.map +1 -0
  147. package/dist/cjs/extensions/expression-extension.js +493 -0
  148. package/dist/cjs/extensions/expression-extension.js.map +1 -0
  149. package/dist/{extensions → cjs/extensions}/expression-parser.d.ts +1 -0
  150. package/dist/cjs/extensions/expression-parser.d.ts.map +1 -0
  151. package/dist/cjs/extensions/expression-parser.js +94 -0
  152. package/dist/cjs/extensions/expression-parser.js.map +1 -0
  153. package/dist/{extensions → cjs/extensions}/extended-functions.d.ts +1 -0
  154. package/dist/cjs/extensions/extended-functions.d.ts.map +1 -0
  155. package/dist/cjs/extensions/extended-functions.js +89 -0
  156. package/dist/cjs/extensions/extended-functions.js.map +1 -0
  157. package/dist/{extensions → cjs/extensions}/extensions.d.ts +1 -0
  158. package/dist/cjs/extensions/extensions.d.ts.map +1 -0
  159. package/dist/cjs/extensions/extensions.js +13 -0
  160. package/dist/cjs/extensions/extensions.js.map +1 -0
  161. package/dist/{extensions → cjs/extensions}/index.d.ts +1 -0
  162. package/dist/cjs/extensions/index.d.ts.map +1 -0
  163. package/dist/cjs/extensions/index.js +21 -0
  164. package/dist/cjs/extensions/index.js.map +1 -0
  165. package/dist/{extensions → cjs/extensions}/number-extensions.d.ts +1 -0
  166. package/dist/cjs/extensions/number-extensions.d.ts.map +1 -0
  167. package/dist/cjs/extensions/number-extensions.js +236 -0
  168. package/dist/cjs/extensions/number-extensions.js.map +1 -0
  169. package/dist/{extensions → cjs/extensions}/object-extensions.d.ts +1 -0
  170. package/dist/cjs/extensions/object-extensions.d.ts.map +1 -0
  171. package/dist/cjs/extensions/object-extensions.js +296 -0
  172. package/dist/cjs/extensions/object-extensions.js.map +1 -0
  173. package/dist/{extensions → cjs/extensions}/string-extensions.d.ts +1 -0
  174. package/dist/cjs/extensions/string-extensions.d.ts.map +1 -0
  175. package/dist/cjs/extensions/string-extensions.js +788 -0
  176. package/dist/cjs/extensions/string-extensions.js.map +1 -0
  177. package/dist/{extensions → cjs/extensions}/utils.d.ts +1 -0
  178. package/dist/cjs/extensions/utils.d.ts.map +1 -0
  179. package/dist/cjs/extensions/utils.js +42 -0
  180. package/dist/cjs/extensions/utils.js.map +1 -0
  181. package/dist/cjs/from-ai-parse-utils.d.ts +44 -0
  182. package/dist/cjs/from-ai-parse-utils.d.ts.map +1 -0
  183. package/dist/cjs/from-ai-parse-utils.js +291 -0
  184. package/dist/cjs/from-ai-parse-utils.js.map +1 -0
  185. package/dist/{global-state.d.ts → cjs/global-state.d.ts} +1 -0
  186. package/dist/cjs/global-state.d.ts.map +1 -0
  187. package/dist/cjs/global-state.js +23 -0
  188. package/dist/cjs/global-state.js.map +1 -0
  189. package/dist/{graph → cjs/graph}/graph-utils.d.ts +21 -0
  190. package/dist/cjs/graph/graph-utils.d.ts.map +1 -0
  191. package/dist/cjs/graph/graph-utils.js +195 -0
  192. package/dist/cjs/graph/graph-utils.js.map +1 -0
  193. package/dist/{index.d.ts → cjs/index.d.ts} +2 -0
  194. package/dist/cjs/index.d.ts.map +1 -0
  195. package/dist/cjs/index.js +114 -0
  196. package/dist/cjs/index.js.map +1 -0
  197. package/dist/{interfaces.d.ts → cjs/interfaces.d.ts} +90 -0
  198. package/dist/cjs/interfaces.d.ts.map +1 -0
  199. package/dist/cjs/interfaces.js +53 -0
  200. package/dist/cjs/interfaces.js.map +1 -0
  201. package/dist/{logger-proxy.d.ts → cjs/logger-proxy.d.ts} +1 -0
  202. package/dist/cjs/logger-proxy.d.ts.map +1 -0
  203. package/dist/cjs/logger-proxy.js +26 -0
  204. package/dist/cjs/logger-proxy.js.map +1 -0
  205. package/dist/{message-event-bus.d.ts → cjs/message-event-bus.d.ts} +1 -0
  206. package/dist/cjs/message-event-bus.d.ts.map +1 -0
  207. package/dist/cjs/message-event-bus.js +96 -0
  208. package/dist/cjs/message-event-bus.js.map +1 -0
  209. package/dist/{metadata-utils.d.ts → cjs/metadata-utils.d.ts} +1 -0
  210. package/dist/cjs/metadata-utils.d.ts.map +1 -0
  211. package/dist/cjs/metadata-utils.js +37 -0
  212. package/dist/cjs/metadata-utils.js.map +1 -0
  213. package/dist/{native-methods → cjs/native-methods}/array.methods.d.ts +1 -0
  214. package/dist/cjs/native-methods/array.methods.d.ts.map +1 -0
  215. package/dist/cjs/native-methods/array.methods.js +552 -0
  216. package/dist/cjs/native-methods/array.methods.js.map +1 -0
  217. package/dist/{native-methods → cjs/native-methods}/boolean.methods.d.ts +1 -0
  218. package/dist/cjs/native-methods/boolean.methods.d.ts.map +1 -0
  219. package/dist/cjs/native-methods/boolean.methods.js +31 -0
  220. package/dist/cjs/native-methods/boolean.methods.js.map +1 -0
  221. package/dist/{native-methods → cjs/native-methods}/index.d.ts +1 -0
  222. package/dist/cjs/native-methods/index.d.ts.map +1 -0
  223. package/dist/cjs/native-methods/index.js +27 -0
  224. package/dist/cjs/native-methods/index.js.map +1 -0
  225. package/dist/{native-methods → cjs/native-methods}/number.methods.d.ts +1 -0
  226. package/dist/cjs/native-methods/number.methods.d.ts.map +1 -0
  227. package/dist/cjs/native-methods/number.methods.js +95 -0
  228. package/dist/cjs/native-methods/number.methods.js.map +1 -0
  229. package/dist/{native-methods → cjs/native-methods}/object.methods.d.ts +1 -0
  230. package/dist/cjs/native-methods/object.methods.d.ts.map +1 -0
  231. package/dist/cjs/native-methods/object.methods.js +18 -0
  232. package/dist/cjs/native-methods/object.methods.js.map +1 -0
  233. package/dist/{native-methods → cjs/native-methods}/string.methods.d.ts +1 -0
  234. package/dist/cjs/native-methods/string.methods.d.ts.map +1 -0
  235. package/dist/cjs/native-methods/string.methods.js +499 -0
  236. package/dist/cjs/native-methods/string.methods.js.map +1 -0
  237. package/dist/{node-helpers.d.ts → cjs/node-helpers.d.ts} +109 -1
  238. package/dist/cjs/node-helpers.d.ts.map +1 -0
  239. package/dist/cjs/node-helpers.js +1369 -0
  240. package/dist/cjs/node-helpers.js.map +1 -0
  241. package/dist/{node-parameters → cjs/node-parameters}/filter-parameter.d.ts +1 -0
  242. package/dist/cjs/node-parameters/filter-parameter.d.ts.map +1 -0
  243. package/dist/cjs/node-parameters/filter-parameter.js +383 -0
  244. package/dist/cjs/node-parameters/filter-parameter.js.map +1 -0
  245. package/dist/{node-parameters → cjs/node-parameters}/rename-node-utils.d.ts +2 -1
  246. package/dist/cjs/node-parameters/rename-node-utils.d.ts.map +1 -0
  247. package/dist/cjs/node-parameters/rename-node-utils.js +36 -0
  248. package/dist/cjs/node-parameters/rename-node-utils.js.map +1 -0
  249. package/dist/{node-reference-parser-utils.d.ts → cjs/node-reference-parser-utils.d.ts} +11 -0
  250. package/dist/cjs/node-reference-parser-utils.d.ts.map +1 -0
  251. package/dist/cjs/node-reference-parser-utils.js +468 -0
  252. package/dist/cjs/node-reference-parser-utils.js.map +1 -0
  253. package/dist/{observable-object.d.ts → cjs/observable-object.d.ts} +1 -0
  254. package/dist/cjs/observable-object.d.ts.map +1 -0
  255. package/dist/cjs/observable-object.js +72 -0
  256. package/dist/cjs/observable-object.js.map +1 -0
  257. package/dist/{result.d.ts → cjs/result.d.ts} +7 -0
  258. package/dist/cjs/result.d.ts.map +1 -0
  259. package/dist/cjs/result.js +41 -0
  260. package/dist/cjs/result.js.map +1 -0
  261. package/dist/{telemetry-helpers.d.ts → cjs/telemetry-helpers.d.ts} +7 -0
  262. package/dist/cjs/telemetry-helpers.d.ts.map +1 -0
  263. package/dist/cjs/telemetry-helpers.js +522 -0
  264. package/dist/cjs/telemetry-helpers.js.map +1 -0
  265. package/dist/{type-guards.d.ts → cjs/type-guards.d.ts} +1 -0
  266. package/dist/cjs/type-guards.d.ts.map +1 -0
  267. package/dist/cjs/type-guards.js +56 -0
  268. package/dist/cjs/type-guards.js.map +1 -0
  269. package/dist/{type-validation.d.ts → cjs/type-validation.d.ts} +1 -0
  270. package/dist/cjs/type-validation.d.ts.map +1 -0
  271. package/dist/cjs/type-validation.js +408 -0
  272. package/dist/cjs/type-validation.js.map +1 -0
  273. package/dist/cjs/typecheck.tsbuildinfo +1 -0
  274. package/dist/{utils.d.ts → cjs/utils.d.ts} +31 -0
  275. package/dist/cjs/utils.d.ts.map +1 -0
  276. package/dist/cjs/utils.js +334 -0
  277. package/dist/cjs/utils.js.map +1 -0
  278. package/dist/{versioned-node-type.d.ts → cjs/versioned-node-type.d.ts} +1 -0
  279. package/dist/cjs/versioned-node-type.d.ts.map +1 -0
  280. package/dist/cjs/versioned-node-type.js +36 -0
  281. package/dist/cjs/versioned-node-type.js.map +1 -0
  282. package/dist/cjs/workflow-data-proxy-env-provider.d.ts +25 -0
  283. package/dist/cjs/workflow-data-proxy-env-provider.d.ts.map +1 -0
  284. package/dist/cjs/workflow-data-proxy-env-provider.js +70 -0
  285. package/dist/cjs/workflow-data-proxy-env-provider.js.map +1 -0
  286. package/dist/{workflow-data-proxy-helpers.d.ts → cjs/workflow-data-proxy-helpers.d.ts} +1 -0
  287. package/dist/cjs/workflow-data-proxy-helpers.d.ts.map +1 -0
  288. package/dist/cjs/workflow-data-proxy-helpers.js +20 -0
  289. package/dist/cjs/workflow-data-proxy-helpers.js.map +1 -0
  290. package/dist/{workflow-data-proxy.d.ts → cjs/workflow-data-proxy.d.ts} +45 -0
  291. package/dist/cjs/workflow-data-proxy.d.ts.map +1 -0
  292. package/dist/cjs/workflow-data-proxy.js +1189 -0
  293. package/dist/cjs/workflow-data-proxy.js.map +1 -0
  294. package/dist/cjs/workflow.d.ts +157 -0
  295. package/dist/cjs/workflow.d.ts.map +1 -0
  296. package/dist/cjs/workflow.js +765 -0
  297. package/dist/cjs/workflow.js.map +1 -0
  298. package/dist/esm/augment-object.d.ts +3 -0
  299. package/dist/esm/augment-object.d.ts.map +1 -0
  300. package/dist/{augment-object.js → esm/augment-object.js} +9 -6
  301. package/dist/esm/augment-object.js.map +1 -0
  302. package/dist/esm/constants.d.ts +73 -0
  303. package/dist/esm/constants.d.ts.map +1 -0
  304. package/dist/esm/constants.js +99 -0
  305. package/dist/esm/constants.js.map +1 -0
  306. package/dist/esm/cron.d.ts +35 -0
  307. package/dist/esm/cron.d.ts.map +1 -0
  308. package/dist/{cron.js → esm/cron.js} +4 -8
  309. package/dist/esm/cron.js.map +1 -0
  310. package/dist/esm/deferred-promise.d.ts +10 -0
  311. package/dist/esm/deferred-promise.d.ts.map +1 -0
  312. package/dist/esm/deferred-promise.js +9 -0
  313. package/dist/esm/deferred-promise.js.map +1 -0
  314. package/dist/esm/errors/abstract/execution-base.error.d.ts +28 -0
  315. package/dist/esm/errors/abstract/execution-base.error.d.ts.map +1 -0
  316. package/dist/{errors → esm/errors}/abstract/execution-base.error.js +9 -8
  317. package/dist/esm/errors/abstract/execution-base.error.js.map +1 -0
  318. package/dist/esm/errors/abstract/node.error.d.ts +48 -0
  319. package/dist/esm/errors/abstract/node.error.d.ts.map +1 -0
  320. package/dist/{errors → esm/errors}/abstract/node.error.js +52 -12
  321. package/dist/esm/errors/abstract/node.error.js.map +1 -0
  322. package/dist/esm/errors/application.error.d.ts +13 -0
  323. package/dist/esm/errors/application.error.d.ts.map +1 -0
  324. package/dist/esm/errors/application.error.js +24 -0
  325. package/dist/esm/errors/application.error.js.map +1 -0
  326. package/dist/esm/errors/base/base.error.d.ts +26 -0
  327. package/dist/esm/errors/base/base.error.d.ts.map +1 -0
  328. package/dist/{errors → esm/errors}/base/base.error.js +20 -10
  329. package/dist/esm/errors/base/base.error.js.map +1 -0
  330. package/dist/esm/errors/base/operational.error.d.ts +16 -0
  331. package/dist/esm/errors/base/operational.error.d.ts.map +1 -0
  332. package/dist/esm/errors/base/operational.error.js +15 -0
  333. package/dist/esm/errors/base/operational.error.js.map +1 -0
  334. package/dist/esm/errors/base/unexpected.error.d.ts +16 -0
  335. package/dist/esm/errors/base/unexpected.error.d.ts.map +1 -0
  336. package/dist/esm/errors/base/unexpected.error.js +15 -0
  337. package/dist/esm/errors/base/unexpected.error.js.map +1 -0
  338. package/dist/esm/errors/base/user.error.d.ts +18 -0
  339. package/dist/esm/errors/base/user.error.d.ts.map +1 -0
  340. package/dist/esm/errors/base/user.error.js +15 -0
  341. package/dist/esm/errors/base/user.error.js.map +1 -0
  342. package/dist/esm/errors/cli-subworkflow-operation.error.d.ts +4 -0
  343. package/dist/esm/errors/cli-subworkflow-operation.error.d.ts.map +1 -0
  344. package/dist/esm/errors/cli-subworkflow-operation.error.js +4 -0
  345. package/dist/esm/errors/cli-subworkflow-operation.error.js.map +1 -0
  346. package/dist/esm/errors/db-connection-timeout-error.d.ts +9 -0
  347. package/dist/esm/errors/db-connection-timeout-error.d.ts.map +1 -0
  348. package/dist/{errors → esm/errors}/db-connection-timeout-error.js +2 -6
  349. package/dist/esm/errors/db-connection-timeout-error.js.map +1 -0
  350. package/dist/esm/errors/ensure-error.d.ts +3 -0
  351. package/dist/esm/errors/ensure-error.d.ts.map +1 -0
  352. package/dist/esm/errors/ensure-error.js +10 -0
  353. package/dist/esm/errors/ensure-error.js.map +1 -0
  354. package/dist/esm/errors/error.types.d.ts +12 -0
  355. package/dist/esm/errors/error.types.d.ts.map +1 -0
  356. package/dist/esm/errors/error.types.js +2 -0
  357. package/dist/esm/errors/error.types.js.map +1 -0
  358. package/dist/esm/errors/execution-cancelled.error.d.ts +5 -0
  359. package/dist/esm/errors/execution-cancelled.error.d.ts.map +1 -0
  360. package/dist/esm/errors/execution-cancelled.error.js +10 -0
  361. package/dist/esm/errors/execution-cancelled.error.js.map +1 -0
  362. package/dist/esm/errors/expression-extension.error.d.ts +4 -0
  363. package/dist/esm/errors/expression-extension.error.d.ts.map +1 -0
  364. package/dist/esm/errors/expression-extension.error.js +4 -0
  365. package/dist/esm/errors/expression-extension.error.js.map +1 -0
  366. package/dist/esm/errors/expression.error.d.ts +22 -0
  367. package/dist/esm/errors/expression.error.d.ts.map +1 -0
  368. package/dist/{errors → esm/errors}/expression.error.js +5 -6
  369. package/dist/esm/errors/expression.error.js.map +1 -0
  370. package/dist/esm/errors/index.d.ts +24 -0
  371. package/dist/esm/errors/index.d.ts.map +1 -0
  372. package/dist/esm/errors/index.js +23 -0
  373. package/dist/esm/errors/index.js.map +1 -0
  374. package/dist/esm/errors/node-api.error.d.ts +39 -0
  375. package/dist/esm/errors/node-api.error.d.ts.map +1 -0
  376. package/dist/{errors → esm/errors}/node-api.error.js +55 -19
  377. package/dist/esm/errors/node-api.error.js.map +1 -0
  378. package/dist/esm/errors/node-operation.error.d.ts +11 -0
  379. package/dist/esm/errors/node-operation.error.d.ts.map +1 -0
  380. package/dist/{errors → esm/errors}/node-operation.error.js +9 -9
  381. package/dist/esm/errors/node-operation.error.js.map +1 -0
  382. package/dist/esm/errors/node-ssl.error.d.ts +5 -0
  383. package/dist/esm/errors/node-ssl.error.d.ts.map +1 -0
  384. package/dist/esm/errors/node-ssl.error.js +7 -0
  385. package/dist/esm/errors/node-ssl.error.js.map +1 -0
  386. package/dist/esm/errors/subworkflow-operation.error.d.ts +7 -0
  387. package/dist/esm/errors/subworkflow-operation.error.d.ts.map +1 -0
  388. package/dist/esm/errors/subworkflow-operation.error.js +16 -0
  389. package/dist/esm/errors/subworkflow-operation.error.js.map +1 -0
  390. package/dist/esm/errors/trigger-close.error.d.ts +12 -0
  391. package/dist/esm/errors/trigger-close.error.d.ts.map +1 -0
  392. package/dist/esm/errors/trigger-close.error.js +10 -0
  393. package/dist/esm/errors/trigger-close.error.js.map +1 -0
  394. package/dist/esm/errors/webhook-taken.error.d.ts +5 -0
  395. package/dist/esm/errors/webhook-taken.error.d.ts.map +1 -0
  396. package/dist/esm/errors/webhook-taken.error.js +7 -0
  397. package/dist/esm/errors/webhook-taken.error.js.map +1 -0
  398. package/dist/esm/errors/workflow-activation.error.d.ts +20 -0
  399. package/dist/esm/errors/workflow-activation.error.d.ts.map +1 -0
  400. package/dist/{errors → esm/errors}/workflow-activation.error.js +12 -11
  401. package/dist/esm/errors/workflow-activation.error.js.map +1 -0
  402. package/dist/esm/errors/workflow-deactivation.error.d.ts +4 -0
  403. package/dist/esm/errors/workflow-deactivation.error.d.ts.map +1 -0
  404. package/dist/esm/errors/workflow-deactivation.error.js +4 -0
  405. package/dist/esm/errors/workflow-deactivation.error.js.map +1 -0
  406. package/dist/esm/errors/workflow-operation.error.d.ts +11 -0
  407. package/dist/esm/errors/workflow-operation.error.d.ts.map +1 -0
  408. package/dist/esm/errors/workflow-operation.error.js +18 -0
  409. package/dist/esm/errors/workflow-operation.error.js.map +1 -0
  410. package/dist/esm/execution-status.d.ts +3 -0
  411. package/dist/esm/execution-status.d.ts.map +1 -0
  412. package/dist/esm/execution-status.js +11 -0
  413. package/dist/esm/execution-status.js.map +1 -0
  414. package/dist/esm/expression-evaluator-proxy.d.ts +6 -0
  415. package/dist/esm/expression-evaluator-proxy.d.ts.map +1 -0
  416. package/dist/esm/expression-evaluator-proxy.js +15 -0
  417. package/dist/esm/expression-evaluator-proxy.js.map +1 -0
  418. package/dist/esm/expression-sandboxing.d.ts +5 -0
  419. package/dist/esm/expression-sandboxing.d.ts.map +1 -0
  420. package/dist/esm/expression-sandboxing.js +47 -0
  421. package/dist/esm/expression-sandboxing.js.map +1 -0
  422. package/dist/esm/expression.d.ts +46 -0
  423. package/dist/esm/expression.d.ts.map +1 -0
  424. package/dist/{expression.js → esm/expression.js} +125 -44
  425. package/dist/esm/expression.js.map +1 -0
  426. package/dist/esm/expressions/expression-helpers.d.ts +6 -0
  427. package/dist/esm/expressions/expression-helpers.d.ts.map +1 -0
  428. package/dist/esm/expressions/expression-helpers.js +10 -0
  429. package/dist/esm/expressions/expression-helpers.js.map +1 -0
  430. package/dist/esm/extensions/array-extensions.d.ts +33 -0
  431. package/dist/esm/extensions/array-extensions.d.ts.map +1 -0
  432. package/dist/{extensions → esm/extensions}/array-extensions.js +41 -42
  433. package/dist/esm/extensions/array-extensions.js.map +1 -0
  434. package/dist/esm/extensions/boolean-extensions.d.ts +6 -0
  435. package/dist/esm/extensions/boolean-extensions.d.ts.map +1 -0
  436. package/dist/{extensions → esm/extensions}/boolean-extensions.js +4 -10
  437. package/dist/esm/extensions/boolean-extensions.js.map +1 -0
  438. package/dist/esm/extensions/date-extensions.d.ts +3 -0
  439. package/dist/esm/extensions/date-extensions.d.ts.map +1 -0
  440. package/dist/{extensions → esm/extensions}/date-extensions.js +27 -29
  441. package/dist/esm/extensions/date-extensions.js.map +1 -0
  442. package/dist/esm/extensions/expression-extension.d.ts +32 -0
  443. package/dist/esm/extensions/expression-extension.d.ts.map +1 -0
  444. package/dist/esm/extensions/expression-extension.js +474 -0
  445. package/dist/esm/extensions/expression-extension.js.map +1 -0
  446. package/dist/esm/extensions/expression-parser.d.ts +14 -0
  447. package/dist/esm/extensions/expression-parser.d.ts.map +1 -0
  448. package/dist/{extensions → esm/extensions}/expression-parser.js +9 -11
  449. package/dist/esm/extensions/expression-parser.js.map +1 -0
  450. package/dist/esm/extensions/extended-functions.d.ts +28 -0
  451. package/dist/esm/extensions/extended-functions.d.ts.map +1 -0
  452. package/dist/{extensions → esm/extensions}/extended-functions.js +8 -10
  453. package/dist/esm/extensions/extended-functions.js.map +1 -0
  454. package/dist/esm/extensions/extensions.d.ts +42 -0
  455. package/dist/esm/extensions/extensions.d.ts.map +1 -0
  456. package/dist/esm/extensions/extensions.js +2 -0
  457. package/dist/esm/extensions/extensions.js.map +1 -0
  458. package/dist/esm/extensions/index.d.ts +3 -0
  459. package/dist/esm/extensions/index.d.ts.map +1 -0
  460. package/dist/esm/extensions/index.js +2 -0
  461. package/dist/esm/extensions/index.js.map +1 -0
  462. package/dist/esm/extensions/number-extensions.d.ts +27 -0
  463. package/dist/esm/extensions/number-extensions.d.ts.map +1 -0
  464. package/dist/{extensions → esm/extensions}/number-extensions.js +14 -15
  465. package/dist/esm/extensions/number-extensions.js.map +1 -0
  466. package/dist/esm/extensions/object-extensions.d.ts +46 -0
  467. package/dist/esm/extensions/object-extensions.d.ts.map +1 -0
  468. package/dist/{extensions → esm/extensions}/object-extensions.js +18 -21
  469. package/dist/esm/extensions/object-extensions.js.map +1 -0
  470. package/dist/esm/extensions/string-extensions.d.ts +38 -0
  471. package/dist/esm/extensions/string-extensions.d.ts.map +1 -0
  472. package/dist/{extensions → esm/extensions}/string-extensions.js +121 -40
  473. package/dist/esm/extensions/string-extensions.js.map +1 -0
  474. package/dist/esm/extensions/utils.d.ts +4 -0
  475. package/dist/esm/extensions/utils.d.ts.map +1 -0
  476. package/dist/esm/extensions/utils.js +27 -0
  477. package/dist/esm/extensions/utils.js.map +1 -0
  478. package/dist/esm/from-ai-parse-utils.d.ts +44 -0
  479. package/dist/esm/from-ai-parse-utils.d.ts.map +1 -0
  480. package/dist/{from-ai-parse-utils.js → esm/from-ai-parse-utils.js} +63 -18
  481. package/dist/esm/from-ai-parse-utils.js.map +1 -0
  482. package/dist/esm/global-state.d.ts +6 -0
  483. package/dist/esm/global-state.d.ts.map +1 -0
  484. package/dist/esm/global-state.js +9 -0
  485. package/dist/esm/global-state.js.map +1 -0
  486. package/dist/esm/graph/graph-utils.d.ts +57 -0
  487. package/dist/esm/graph/graph-utils.d.ts.map +1 -0
  488. package/dist/{graph → esm/graph}/graph-utils.js +35 -16
  489. package/dist/esm/graph/graph-utils.js.map +1 -0
  490. package/dist/esm/index.d.ts +49 -0
  491. package/dist/esm/index.d.ts.map +1 -0
  492. package/dist/esm/index.js +33 -0
  493. package/dist/esm/index.js.map +1 -0
  494. package/dist/esm/interfaces.d.ts +2173 -0
  495. package/dist/esm/interfaces.d.ts.map +1 -0
  496. package/dist/{interfaces.js → esm/interfaces.js} +13 -11
  497. package/dist/esm/interfaces.js.map +1 -0
  498. package/dist/esm/logger-proxy.d.ts +7 -0
  499. package/dist/esm/logger-proxy.d.ts.map +1 -0
  500. package/dist/esm/logger-proxy.js +12 -0
  501. package/dist/esm/logger-proxy.js.map +1 -0
  502. package/dist/esm/message-event-bus.d.ts +107 -0
  503. package/dist/esm/message-event-bus.d.ts.map +1 -0
  504. package/dist/{message-event-bus.js → esm/message-event-bus.js} +26 -23
  505. package/dist/esm/message-event-bus.js.map +1 -0
  506. package/dist/esm/metadata-utils.d.ts +5 -0
  507. package/dist/esm/metadata-utils.d.ts.map +1 -0
  508. package/dist/{metadata-utils.js → esm/metadata-utils.js} +6 -7
  509. package/dist/esm/metadata-utils.js.map +1 -0
  510. package/dist/esm/native-methods/array.methods.d.ts +3 -0
  511. package/dist/esm/native-methods/array.methods.d.ts.map +1 -0
  512. package/dist/{native-methods → esm/native-methods}/array.methods.js +1 -4
  513. package/dist/esm/native-methods/array.methods.js.map +1 -0
  514. package/dist/esm/native-methods/boolean.methods.d.ts +3 -0
  515. package/dist/esm/native-methods/boolean.methods.d.ts.map +1 -0
  516. package/dist/{native-methods → esm/native-methods}/boolean.methods.js +1 -4
  517. package/dist/esm/native-methods/boolean.methods.js.map +1 -0
  518. package/dist/esm/native-methods/index.d.ts +4 -0
  519. package/dist/esm/native-methods/index.d.ts.map +1 -0
  520. package/dist/esm/native-methods/index.js +14 -0
  521. package/dist/esm/native-methods/index.js.map +1 -0
  522. package/dist/esm/native-methods/number.methods.d.ts +3 -0
  523. package/dist/esm/native-methods/number.methods.d.ts.map +1 -0
  524. package/dist/{native-methods → esm/native-methods}/number.methods.js +1 -4
  525. package/dist/esm/native-methods/number.methods.js.map +1 -0
  526. package/dist/esm/native-methods/object.methods.d.ts +3 -0
  527. package/dist/esm/native-methods/object.methods.d.ts.map +1 -0
  528. package/dist/esm/native-methods/object.methods.js +5 -0
  529. package/dist/esm/native-methods/object.methods.js.map +1 -0
  530. package/dist/esm/native-methods/string.methods.d.ts +3 -0
  531. package/dist/esm/native-methods/string.methods.d.ts.map +1 -0
  532. package/dist/{native-methods → esm/native-methods}/string.methods.js +1 -4
  533. package/dist/esm/native-methods/string.methods.js.map +1 -0
  534. package/dist/esm/node-helpers.d.ts +145 -0
  535. package/dist/esm/node-helpers.d.ts.map +1 -0
  536. package/dist/{node-helpers.js → esm/node-helpers.js} +302 -106
  537. package/dist/esm/node-helpers.js.map +1 -0
  538. package/dist/esm/node-parameters/filter-parameter.d.ts +21 -0
  539. package/dist/esm/node-parameters/filter-parameter.d.ts.map +1 -0
  540. package/dist/{node-parameters → esm/node-parameters}/filter-parameter.js +13 -51
  541. package/dist/esm/node-parameters/filter-parameter.js.map +1 -0
  542. package/dist/esm/node-parameters/rename-node-utils.d.ts +3 -0
  543. package/dist/esm/node-parameters/rename-node-utils.d.ts.map +1 -0
  544. package/dist/{node-parameters → esm/node-parameters}/rename-node-utils.js +4 -5
  545. package/dist/esm/node-parameters/rename-node-utils.js.map +1 -0
  546. package/dist/esm/node-reference-parser-utils.d.ts +20 -0
  547. package/dist/esm/node-reference-parser-utils.d.ts.map +1 -0
  548. package/dist/{node-reference-parser-utils.js → esm/node-reference-parser-utils.js} +135 -46
  549. package/dist/esm/node-reference-parser-utils.js.map +1 -0
  550. package/dist/esm/observable-object.d.ts +7 -0
  551. package/dist/esm/observable-object.d.ts.map +1 -0
  552. package/dist/{observable-object.js → esm/observable-object.js} +13 -5
  553. package/dist/esm/observable-object.js.map +1 -0
  554. package/dist/esm/result.d.ts +19 -0
  555. package/dist/esm/result.d.ts.map +1 -0
  556. package/dist/esm/result.js +25 -0
  557. package/dist/esm/result.js.map +1 -0
  558. package/dist/esm/telemetry-helpers.d.ts +45 -0
  559. package/dist/esm/telemetry-helpers.d.ts.map +1 -0
  560. package/dist/{telemetry-helpers.js → esm/telemetry-helpers.js} +67 -62
  561. package/dist/esm/telemetry-helpers.js.map +1 -0
  562. package/dist/esm/type-guards.d.ts +12 -0
  563. package/dist/esm/type-guards.d.ts.map +1 -0
  564. package/dist/esm/type-guards.js +33 -0
  565. package/dist/esm/type-guards.js.map +1 -0
  566. package/dist/esm/type-validation.d.ts +22 -0
  567. package/dist/esm/type-validation.d.ts.map +1 -0
  568. package/dist/{type-validation.js → esm/type-validation.js} +66 -78
  569. package/dist/esm/type-validation.js.map +1 -0
  570. package/dist/esm/typecheck.tsbuildinfo +1 -0
  571. package/dist/esm/utils.d.ts +94 -0
  572. package/dist/esm/utils.d.ts.map +1 -0
  573. package/dist/esm/utils.js +300 -0
  574. package/dist/esm/utils.js.map +1 -0
  575. package/dist/esm/versioned-node-type.d.ts +10 -0
  576. package/dist/esm/versioned-node-type.d.ts.map +1 -0
  577. package/dist/{versioned-node-type.js → esm/versioned-node-type.js} +4 -5
  578. package/dist/esm/versioned-node-type.js.map +1 -0
  579. package/dist/esm/workflow-data-proxy-env-provider.d.ts +25 -0
  580. package/dist/esm/workflow-data-proxy-env-provider.d.ts.map +1 -0
  581. package/dist/{workflow-data-proxy-env-provider.js → esm/workflow-data-proxy-env-provider.js} +22 -9
  582. package/dist/esm/workflow-data-proxy-env-provider.js.map +1 -0
  583. package/dist/esm/workflow-data-proxy-helpers.d.ts +3 -0
  584. package/dist/esm/workflow-data-proxy-helpers.d.ts.map +1 -0
  585. package/dist/esm/workflow-data-proxy-helpers.js +7 -0
  586. package/dist/esm/workflow-data-proxy-helpers.js.map +1 -0
  587. package/dist/esm/workflow-data-proxy.d.ts +80 -0
  588. package/dist/esm/workflow-data-proxy.d.ts.map +1 -0
  589. package/dist/{workflow-data-proxy.js → esm/workflow-data-proxy.js} +174 -109
  590. package/dist/esm/workflow-data-proxy.js.map +1 -0
  591. package/dist/esm/workflow.d.ts +157 -0
  592. package/dist/esm/workflow.d.ts.map +1 -0
  593. package/dist/{workflow.js → esm/workflow.js} +223 -73
  594. package/dist/esm/workflow.js.map +1 -0
  595. package/package.json +20 -16
  596. package/dist/augment-object.js.map +0 -1
  597. package/dist/build.tsbuildinfo +0 -1
  598. package/dist/constants.js +0 -89
  599. package/dist/constants.js.map +0 -1
  600. package/dist/cron.js.map +0 -1
  601. package/dist/deferred-promise.js +0 -12
  602. package/dist/deferred-promise.js.map +0 -1
  603. package/dist/errors/abstract/execution-base.error.js.map +0 -1
  604. package/dist/errors/abstract/node.error.d.ts +0 -12
  605. package/dist/errors/abstract/node.error.js.map +0 -1
  606. package/dist/errors/application.error.js +0 -24
  607. package/dist/errors/application.error.js.map +0 -1
  608. package/dist/errors/base/base.error.js.map +0 -1
  609. package/dist/errors/base/operational.error.js +0 -12
  610. package/dist/errors/base/operational.error.js.map +0 -1
  611. package/dist/errors/base/unexpected.error.js +0 -12
  612. package/dist/errors/base/unexpected.error.js.map +0 -1
  613. package/dist/errors/base/user.error.js +0 -12
  614. package/dist/errors/base/user.error.js.map +0 -1
  615. package/dist/errors/cli-subworkflow-operation.error.js +0 -8
  616. package/dist/errors/cli-subworkflow-operation.error.js.map +0 -1
  617. package/dist/errors/db-connection-timeout-error.js.map +0 -1
  618. package/dist/errors/ensure-error.d.ts +0 -1
  619. package/dist/errors/ensure-error.js +0 -11
  620. package/dist/errors/ensure-error.js.map +0 -1
  621. package/dist/errors/error.types.js +0 -3
  622. package/dist/errors/execution-cancelled.error.js +0 -14
  623. package/dist/errors/execution-cancelled.error.js.map +0 -1
  624. package/dist/errors/expression-extension.error.js +0 -8
  625. package/dist/errors/expression-extension.error.js.map +0 -1
  626. package/dist/errors/expression.error.js.map +0 -1
  627. package/dist/errors/index.js +0 -48
  628. package/dist/errors/index.js.map +0 -1
  629. package/dist/errors/node-api.error.js.map +0 -1
  630. package/dist/errors/node-operation.error.js.map +0 -1
  631. package/dist/errors/node-ssl.error.js +0 -11
  632. package/dist/errors/node-ssl.error.js.map +0 -1
  633. package/dist/errors/subworkflow-operation.error.js +0 -19
  634. package/dist/errors/subworkflow-operation.error.js.map +0 -1
  635. package/dist/errors/trigger-close.error.js +0 -13
  636. package/dist/errors/trigger-close.error.js.map +0 -1
  637. package/dist/errors/webhook-taken.error.js +0 -11
  638. package/dist/errors/webhook-taken.error.js.map +0 -1
  639. package/dist/errors/workflow-activation.error.js.map +0 -1
  640. package/dist/errors/workflow-deactivation.error.js +0 -8
  641. package/dist/errors/workflow-deactivation.error.js.map +0 -1
  642. package/dist/errors/workflow-operation.error.js +0 -17
  643. package/dist/errors/workflow-operation.error.js.map +0 -1
  644. package/dist/execution-status.js +0 -14
  645. package/dist/execution-status.js.map +0 -1
  646. package/dist/expression-evaluator-proxy.js +0 -20
  647. package/dist/expression-evaluator-proxy.js.map +0 -1
  648. package/dist/expression-sandboxing.js +0 -43
  649. package/dist/expression-sandboxing.js.map +0 -1
  650. package/dist/expression.js.map +0 -1
  651. package/dist/extensions/array-extensions.js.map +0 -1
  652. package/dist/extensions/boolean-extensions.js.map +0 -1
  653. package/dist/extensions/date-extensions.js.map +0 -1
  654. package/dist/extensions/expression-extension.js +0 -362
  655. package/dist/extensions/expression-extension.js.map +0 -1
  656. package/dist/extensions/expression-parser.js.map +0 -1
  657. package/dist/extensions/extended-functions.js.map +0 -1
  658. package/dist/extensions/extensions.js +0 -3
  659. package/dist/extensions/extensions.js.map +0 -1
  660. package/dist/extensions/index.js +0 -11
  661. package/dist/extensions/index.js.map +0 -1
  662. package/dist/extensions/number-extensions.js.map +0 -1
  663. package/dist/extensions/object-extensions.js.map +0 -1
  664. package/dist/extensions/string-extensions.js.map +0 -1
  665. package/dist/extensions/utils.js +0 -31
  666. package/dist/extensions/utils.js.map +0 -1
  667. package/dist/from-ai-parse-utils.d.ts +0 -12
  668. package/dist/from-ai-parse-utils.js.map +0 -1
  669. package/dist/global-state.js +0 -13
  670. package/dist/global-state.js.map +0 -1
  671. package/dist/graph/graph-utils.js.map +0 -1
  672. package/dist/index.js +0 -103
  673. package/dist/index.js.map +0 -1
  674. package/dist/interfaces.js.map +0 -1
  675. package/dist/logger-proxy.js +0 -16
  676. package/dist/logger-proxy.js.map +0 -1
  677. package/dist/message-event-bus.js.map +0 -1
  678. package/dist/metadata-utils.js.map +0 -1
  679. package/dist/native-methods/array.methods.js.map +0 -1
  680. package/dist/native-methods/boolean.methods.js.map +0 -1
  681. package/dist/native-methods/index.js +0 -17
  682. package/dist/native-methods/index.js.map +0 -1
  683. package/dist/native-methods/number.methods.js.map +0 -1
  684. package/dist/native-methods/object.methods.js +0 -8
  685. package/dist/native-methods/object.methods.js.map +0 -1
  686. package/dist/native-methods/string.methods.js.map +0 -1
  687. package/dist/node-helpers.js.map +0 -1
  688. package/dist/node-parameters/filter-parameter.js.map +0 -1
  689. package/dist/node-parameters/rename-node-utils.js.map +0 -1
  690. package/dist/node-reference-parser-utils.js.map +0 -1
  691. package/dist/observable-object.js.map +0 -1
  692. package/dist/result.js +0 -25
  693. package/dist/result.js.map +0 -1
  694. package/dist/telemetry-helpers.js.map +0 -1
  695. package/dist/type-guards.js +0 -46
  696. package/dist/type-guards.js.map +0 -1
  697. package/dist/type-validation.js.map +0 -1
  698. package/dist/utils.js +0 -259
  699. package/dist/utils.js.map +0 -1
  700. package/dist/versioned-node-type.js.map +0 -1
  701. package/dist/workflow-data-proxy-env-provider.d.ts +0 -7
  702. package/dist/workflow-data-proxy-env-provider.js.map +0 -1
  703. package/dist/workflow-data-proxy-helpers.js +0 -10
  704. package/dist/workflow-data-proxy-helpers.js.map +0 -1
  705. package/dist/workflow-data-proxy.js.map +0 -1
  706. package/dist/workflow.d.ts +0 -54
  707. package/dist/workflow.js.map +0 -1
@@ -1,78 +1,73 @@
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.Workflow = void 0;
37
- const constants_1 = require("./constants");
38
- const errors_1 = require("./errors");
39
- const application_error_1 = require("./errors/application.error");
40
- const expression_1 = require("./expression");
41
- const global_state_1 = require("./global-state");
42
- const interfaces_1 = require("./interfaces");
43
- const NodeHelpers = __importStar(require("./node-helpers"));
44
- const rename_node_utils_1 = require("./node-parameters/rename-node-utils");
45
- const node_reference_parser_utils_1 = require("./node-reference-parser-utils");
46
- const ObservableObject = __importStar(require("./observable-object"));
1
+ /* eslint-disable @typescript-eslint/no-use-before-define */
2
+ /* eslint-disable @typescript-eslint/no-unsafe-member-access */
3
+ /* eslint-disable @typescript-eslint/no-unsafe-return */
4
+ /* eslint-disable @typescript-eslint/no-for-in-array */
5
+ import { MANUAL_CHAT_TRIGGER_LANGCHAIN_NODE_TYPE, NODES_WITH_RENAMABLE_CONTENT, NODES_WITH_RENAMABLE_FORM_HTML_CONTENT, NODES_WITH_RENAMEABLE_TOPLEVEL_HTML_CONTENT, STARTING_NODE_TYPES, } from './constants';
6
+ import { UserError } from './errors';
7
+ import { ApplicationError } from './errors/application.error';
8
+ import { Expression } from './expression';
9
+ import { getGlobalState } from './global-state';
10
+ import { NodeConnectionTypes } from './interfaces';
11
+ import * as NodeHelpers from './node-helpers';
12
+ import { renameFormFields } from './node-parameters/rename-node-utils';
13
+ import { applyAccessPatterns } from './node-reference-parser-utils';
14
+ import * as ObservableObject from './observable-object';
47
15
  function dedupe(arr) {
48
16
  return [...new Set(arr)];
49
17
  }
50
- class Workflow {
18
+ export class Workflow {
19
+ id;
20
+ name;
21
+ nodes = {};
22
+ connectionsBySourceNode;
23
+ connectionsByDestinationNode;
24
+ nodeTypes;
25
+ expression;
26
+ active;
27
+ settings;
28
+ timezone;
29
+ // To save workflow specific static data like for example
30
+ // ids of registered webhooks of nodes
31
+ staticData;
32
+ testStaticData;
33
+ pinData;
51
34
  constructor(parameters) {
52
- this.nodes = {};
53
- this.id = parameters.id;
35
+ this.id = parameters.id; // @tech_debt Ensure this is not optional
54
36
  this.name = parameters.name;
55
37
  this.nodeTypes = parameters.nodeTypes;
56
38
  this.pinData = parameters.pinData;
39
+ // Save nodes in workflow as object to be able to get the
40
+ // nodes easily by its name.
41
+ // Also directly add the default values of the node type.
57
42
  let nodeType;
58
43
  for (const node of parameters.nodes) {
59
44
  this.nodes[node.name] = node;
60
45
  nodeType = this.nodeTypes.getByNameAndVersion(node.type, node.typeVersion);
61
46
  if (nodeType === undefined) {
47
+ // Go on to next node when its type is not known.
48
+ // For now do not error because that causes problems with
49
+ // expression resolution also then when the unknown node
50
+ // does not get used.
62
51
  continue;
52
+ // throw new ApplicationError(`Node with unknown node type`, {
53
+ // tags: { nodeType: node.type },
54
+ // extra: { node },
55
+ // });
63
56
  }
57
+ // Add default values
64
58
  const nodeParameters = NodeHelpers.getNodeParameters(nodeType.description.properties, node.parameters, true, false, node, nodeType.description);
65
59
  node.parameters = nodeParameters !== null ? nodeParameters : {};
66
60
  }
67
61
  this.connectionsBySourceNode = parameters.connections;
62
+ // Save also the connections by the destination nodes
68
63
  this.connectionsByDestinationNode = Workflow.getConnectionsByDestination(parameters.connections);
69
64
  this.active = parameters.active || false;
70
65
  this.staticData = ObservableObject.create(parameters.staticData || {}, undefined, {
71
66
  ignoreEmptyOnFirstChild: true,
72
67
  });
73
68
  this.settings = parameters.settings || {};
74
- this.timezone = this.settings.timezone ?? (0, global_state_1.getGlobalState)().defaultTimezone;
75
- this.expression = new expression_1.Expression(this);
69
+ this.timezone = this.settings.timezone ?? getGlobalState().defaultTimezone;
70
+ this.expression = new Expression(this);
76
71
  }
77
72
  overrideStaticData(staticData) {
78
73
  this.staticData = ObservableObject.create(staticData || {}, undefined, {
@@ -80,6 +75,11 @@ class Workflow {
80
75
  });
81
76
  this.staticData.__dataChanged = true;
82
77
  }
78
+ /**
79
+ * The default connections are by source node. This function rewrites them by destination nodes
80
+ * to easily find parent nodes.
81
+ *
82
+ */
83
83
  static getConnectionsByDestination(connections) {
84
84
  const returnConnection = {};
85
85
  let connectionInfo;
@@ -118,6 +118,14 @@ class Workflow {
118
118
  }
119
119
  return returnConnection;
120
120
  }
121
+ /**
122
+ * Returns the static data of the workflow.
123
+ * It gets saved with the workflow and will be the same for
124
+ * all workflow-executions.
125
+ *
126
+ * @param {string} type The type of data to return ("global"|"node")
127
+ * @param {INode} [node] If type is set to "node" then the node has to be provided
128
+ */
121
129
  getStaticData(type, node) {
122
130
  let key;
123
131
  if (type === 'global') {
@@ -125,18 +133,20 @@ class Workflow {
125
133
  }
126
134
  else if (type === 'node') {
127
135
  if (node === undefined) {
128
- throw new application_error_1.ApplicationError('The request data of context type "node" the node parameter has to be set!');
136
+ throw new ApplicationError('The request data of context type "node" the node parameter has to be set!');
129
137
  }
130
138
  key = `node:${node.name}`;
131
139
  }
132
140
  else {
133
- throw new application_error_1.ApplicationError('Unknown context type. Only `global` and `node` are supported.', {
141
+ throw new ApplicationError('Unknown context type. Only `global` and `node` are supported.', {
134
142
  extra: { contextType: type },
135
143
  });
136
144
  }
137
145
  if (this.testStaticData?.[key])
138
146
  return this.testStaticData[key];
139
147
  if (this.staticData[key] === undefined) {
148
+ // Create it as ObservableObject that we can easily check if the data changed
149
+ // to know if the workflow with its data has to be saved afterwards or not.
140
150
  this.staticData[key] = ObservableObject.create({}, this.staticData);
141
151
  }
142
152
  return this.staticData[key];
@@ -144,14 +154,29 @@ class Workflow {
144
154
  setTestStaticData(testStaticData) {
145
155
  this.testStaticData = testStaticData;
146
156
  }
157
+ /**
158
+ * Returns all the trigger nodes in the workflow.
159
+ *
160
+ */
147
161
  getTriggerNodes() {
148
162
  return this.queryNodes((nodeType) => !!nodeType.trigger);
149
163
  }
164
+ /**
165
+ * Returns all the poll nodes in the workflow
166
+ *
167
+ */
150
168
  getPollNodes() {
151
169
  return this.queryNodes((nodeType) => !!nodeType.poll);
152
170
  }
171
+ /**
172
+ * Returns all the nodes in the workflow for which the given
173
+ * checkFunction return true
174
+ *
175
+ * @param {(nodeType: INodeType) => boolean} checkFunction
176
+ */
153
177
  queryNodes(checkFunction) {
154
178
  const returnNodes = [];
179
+ // Check if it has any of them
155
180
  let node;
156
181
  let nodeType;
157
182
  for (const nodeName of Object.keys(this.nodes)) {
@@ -166,12 +191,22 @@ class Workflow {
166
191
  }
167
192
  return returnNodes;
168
193
  }
194
+ /**
195
+ * Returns the node with the given name if it exists else null
196
+ *
197
+ * @param {string} nodeName Name of the node to return
198
+ */
169
199
  getNode(nodeName) {
170
200
  if (this.nodes.hasOwnProperty(nodeName)) {
171
201
  return this.nodes[nodeName];
172
202
  }
173
203
  return null;
174
204
  }
205
+ /**
206
+ * Returns the nodes with the given names if they exist.
207
+ * If a node cannot be found it will be ignored, meaning the returned array
208
+ * of nodes can be smaller than the array of names.
209
+ */
175
210
  getNodes(nodeNames) {
176
211
  const nodes = [];
177
212
  for (const name of nodeNames) {
@@ -184,31 +219,47 @@ class Workflow {
184
219
  }
185
220
  return nodes;
186
221
  }
222
+ /**
223
+ * Returns the pinData of the node with the given name if it exists
224
+ *
225
+ * @param {string} nodeName Name of the node to return the pinData of
226
+ */
187
227
  getPinDataOfNode(nodeName) {
188
228
  return this.pinData ? this.pinData[nodeName] : undefined;
189
229
  }
190
230
  renameNodeInParameterValue(parameterValue, currentName, newName, { hasRenamableContent } = { hasRenamableContent: false }) {
191
231
  if (typeof parameterValue !== 'object') {
232
+ // Reached the actual value
192
233
  if (typeof parameterValue === 'string' &&
193
234
  (parameterValue.charAt(0) === '=' || hasRenamableContent)) {
194
- parameterValue = (0, node_reference_parser_utils_1.applyAccessPatterns)(parameterValue, currentName, newName);
235
+ parameterValue = applyAccessPatterns(parameterValue, currentName, newName);
195
236
  }
196
237
  return parameterValue;
197
238
  }
198
239
  if (Array.isArray(parameterValue)) {
240
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
199
241
  const returnArray = [];
200
242
  for (const currentValue of parameterValue) {
201
243
  returnArray.push(this.renameNodeInParameterValue(currentValue, currentName, newName));
202
244
  }
203
245
  return returnArray;
204
246
  }
247
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
205
248
  const returnData = {};
206
249
  for (const parameterName of Object.keys(parameterValue || {})) {
207
250
  returnData[parameterName] = this.renameNodeInParameterValue(parameterValue[parameterName], currentName, newName, { hasRenamableContent });
208
251
  }
209
252
  return returnData;
210
253
  }
254
+ /**
255
+ * Rename a node in the workflow
256
+ *
257
+ * @param {string} currentName The current name of the node
258
+ * @param {string} newName The new name
259
+ */
211
260
  renameNode(currentName, newName) {
261
+ // These keys are excluded to prevent accidental modification of inherited properties and
262
+ // to avoid any issues related to JavaScript's built-in methods that can cause unexpected behavior
212
263
  const restrictedKeys = [
213
264
  'hasOwnProperty',
214
265
  'isPrototypeOf',
@@ -225,33 +276,38 @@ class Workflow {
225
276
  '__lookupSetter__',
226
277
  ];
227
278
  if (restrictedKeys.map((k) => k.toLowerCase()).includes(newName.toLowerCase())) {
228
- throw new errors_1.UserError(`Node name "${newName}" is a restricted name.`, {
279
+ throw new UserError(`Node name "${newName}" is a restricted name.`, {
229
280
  description: `Node names cannot be any of the following: ${restrictedKeys.join(', ')}`,
230
281
  });
231
282
  }
283
+ // Rename the node itself
232
284
  if (this.nodes[currentName] !== undefined) {
233
285
  this.nodes[newName] = this.nodes[currentName];
234
286
  this.nodes[newName].name = newName;
235
287
  delete this.nodes[currentName];
236
288
  }
289
+ // Update the expressions which reference the node
290
+ // with its old name
237
291
  for (const node of Object.values(this.nodes)) {
238
292
  node.parameters = this.renameNodeInParameterValue(node.parameters, currentName, newName);
239
- if (constants_1.NODES_WITH_RENAMABLE_CONTENT.has(node.type)) {
293
+ if (NODES_WITH_RENAMABLE_CONTENT.has(node.type)) {
240
294
  node.parameters.jsCode = this.renameNodeInParameterValue(node.parameters.jsCode, currentName, newName, { hasRenamableContent: true });
241
295
  }
242
- if (constants_1.NODES_WITH_RENAMEABLE_TOPLEVEL_HTML_CONTENT.has(node.type)) {
296
+ if (NODES_WITH_RENAMEABLE_TOPLEVEL_HTML_CONTENT.has(node.type)) {
243
297
  node.parameters.html = this.renameNodeInParameterValue(node.parameters.html, currentName, newName, { hasRenamableContent: true });
244
298
  }
245
- if (constants_1.NODES_WITH_RENAMABLE_FORM_HTML_CONTENT.has(node.type)) {
246
- (0, rename_node_utils_1.renameFormFields)(node, (p) => this.renameNodeInParameterValue(p, currentName, newName, {
299
+ if (NODES_WITH_RENAMABLE_FORM_HTML_CONTENT.has(node.type)) {
300
+ renameFormFields(node, (p) => this.renameNodeInParameterValue(p, currentName, newName, {
247
301
  hasRenamableContent: true,
248
302
  }));
249
303
  }
250
304
  }
305
+ // Change all source connections
251
306
  if (this.connectionsBySourceNode.hasOwnProperty(currentName)) {
252
307
  this.connectionsBySourceNode[newName] = this.connectionsBySourceNode[currentName];
253
308
  delete this.connectionsBySourceNode[currentName];
254
309
  }
310
+ // Change all destination connections
255
311
  let sourceNode;
256
312
  let type;
257
313
  let sourceIndex;
@@ -270,21 +326,31 @@ class Workflow {
270
326
  }
271
327
  }
272
328
  }
329
+ // Use the updated connections to create updated connections by destination nodes
273
330
  this.connectionsByDestinationNode = Workflow.getConnectionsByDestination(this.connectionsBySourceNode);
274
331
  }
332
+ /**
333
+ * Finds the highest parent nodes of the node with the given name
334
+ *
335
+ * @param {NodeConnectionType} [type='main']
336
+ */
275
337
  getHighestNode(nodeName, nodeConnectionIndex, checkedNodes) {
276
338
  const currentHighest = [];
277
339
  if (this.nodes[nodeName].disabled === false) {
340
+ // If the current node is not disabled itself is the highest
278
341
  currentHighest.push(nodeName);
279
342
  }
280
343
  if (!this.connectionsByDestinationNode.hasOwnProperty(nodeName)) {
344
+ // Node does not have incoming connections
281
345
  return currentHighest;
282
346
  }
283
- if (!this.connectionsByDestinationNode[nodeName].hasOwnProperty(interfaces_1.NodeConnectionTypes.Main)) {
347
+ if (!this.connectionsByDestinationNode[nodeName].hasOwnProperty(NodeConnectionTypes.Main)) {
348
+ // Node does not have incoming connections of given type
284
349
  return currentHighest;
285
350
  }
286
351
  checkedNodes = checkedNodes || [];
287
352
  if (checkedNodes.includes(nodeName)) {
353
+ // Node got checked already before
288
354
  return currentHighest;
289
355
  }
290
356
  checkedNodes.push(nodeName);
@@ -292,25 +358,32 @@ class Workflow {
292
358
  let addNodes;
293
359
  let connectionsByIndex;
294
360
  for (let connectionIndex = 0; connectionIndex <
295
- this.connectionsByDestinationNode[nodeName][interfaces_1.NodeConnectionTypes.Main].length; connectionIndex++) {
361
+ this.connectionsByDestinationNode[nodeName][NodeConnectionTypes.Main].length; connectionIndex++) {
296
362
  if (nodeConnectionIndex !== undefined && nodeConnectionIndex !== connectionIndex) {
363
+ // If a connection-index is given ignore all other ones
297
364
  continue;
298
365
  }
299
366
  connectionsByIndex =
300
- this.connectionsByDestinationNode[nodeName][interfaces_1.NodeConnectionTypes.Main][connectionIndex];
367
+ this.connectionsByDestinationNode[nodeName][NodeConnectionTypes.Main][connectionIndex];
368
+ // eslint-disable-next-line @typescript-eslint/no-loop-func
301
369
  connectionsByIndex?.forEach((connection) => {
302
370
  if (checkedNodes.includes(connection.node)) {
371
+ // Node got checked already before
303
372
  return;
304
373
  }
374
+ // Ignore connections for nodes that don't exist in this workflow
305
375
  if (!(connection.node in this.nodes))
306
376
  return;
307
377
  addNodes = this.getHighestNode(connection.node, undefined, checkedNodes);
308
378
  if (addNodes.length === 0) {
379
+ // The checked node does not have any further parents so add it
380
+ // if it is not disabled
309
381
  if (this.nodes[connection.node].disabled !== true) {
310
382
  addNodes = [connection.node];
311
383
  }
312
384
  }
313
385
  addNodes.forEach((name) => {
386
+ // Only add if node is not on the list already anyway
314
387
  if (returnNodes.indexOf(name) === -1) {
315
388
  returnNodes.push(name);
316
389
  }
@@ -319,19 +392,40 @@ class Workflow {
319
392
  }
320
393
  return returnNodes;
321
394
  }
322
- getChildNodes(nodeName, type = interfaces_1.NodeConnectionTypes.Main, depth = -1) {
395
+ /**
396
+ * Returns all the after the given one
397
+ *
398
+ * @param {string} [type='main']
399
+ * @param {*} [depth=-1]
400
+ */
401
+ getChildNodes(nodeName, type = NodeConnectionTypes.Main, depth = -1) {
323
402
  return this.getConnectedNodes(this.connectionsBySourceNode, nodeName, type, depth);
324
403
  }
325
- getParentNodes(nodeName, type = interfaces_1.NodeConnectionTypes.Main, depth = -1) {
404
+ /**
405
+ * Returns all the nodes before the given one
406
+ *
407
+ * @param {NodeConnectionType} [type='main']
408
+ * @param {*} [depth=-1]
409
+ */
410
+ getParentNodes(nodeName, type = NodeConnectionTypes.Main, depth = -1) {
326
411
  return this.getConnectedNodes(this.connectionsByDestinationNode, nodeName, type, depth);
327
412
  }
328
- getConnectedNodes(connections, nodeName, connectionType = interfaces_1.NodeConnectionTypes.Main, depth = -1, checkedNodesIncoming) {
413
+ /**
414
+ * Gets all the nodes which are connected nodes starting from
415
+ * the given one
416
+ *
417
+ * @param {NodeConnectionType} [type='main']
418
+ * @param {*} [depth=-1]
419
+ */
420
+ getConnectedNodes(connections, nodeName, connectionType = NodeConnectionTypes.Main, depth = -1, checkedNodesIncoming) {
329
421
  depth = depth === -1 ? -1 : depth;
330
422
  const newDepth = depth === -1 ? depth : depth - 1;
331
423
  if (depth === 0) {
424
+ // Reached max depth
332
425
  return [];
333
426
  }
334
427
  if (!connections.hasOwnProperty(nodeName)) {
428
+ // Node does not have incoming connections
335
429
  return [];
336
430
  }
337
431
  let types;
@@ -351,24 +445,32 @@ class Workflow {
351
445
  const returnNodes = [];
352
446
  types.forEach((type) => {
353
447
  if (!connections[nodeName].hasOwnProperty(type)) {
448
+ // Node does not have incoming connections of given type
354
449
  return;
355
450
  }
356
451
  const checkedNodes = checkedNodesIncoming ? [...checkedNodesIncoming] : [];
357
452
  if (checkedNodes.includes(nodeName)) {
453
+ // Node got checked already before
358
454
  return;
359
455
  }
360
456
  checkedNodes.push(nodeName);
361
457
  connections[nodeName][type].forEach((connectionsByIndex) => {
362
458
  connectionsByIndex?.forEach((connection) => {
363
459
  if (checkedNodes.includes(connection.node)) {
460
+ // Node got checked already before
364
461
  return;
365
462
  }
366
463
  returnNodes.unshift(connection.node);
367
464
  addNodes = this.getConnectedNodes(connections, connection.node, connectionType, newDepth, checkedNodes);
368
465
  for (i = addNodes.length; i--; i > 0) {
466
+ // Because nodes can have multiple parents it is possible that
467
+ // parts of the tree is parent of both and to not add nodes
468
+ // twice check first if they already got added before.
369
469
  parentNodeName = addNodes[i];
370
470
  nodeIndex = returnNodes.indexOf(parentNodeName);
371
471
  if (nodeIndex !== -1) {
472
+ // Node got found before so remove it from current location
473
+ // that node-order stays correct
372
474
  returnNodes.splice(nodeIndex, 1);
373
475
  }
374
476
  returnNodes.unshift(parentNodeName);
@@ -378,12 +480,24 @@ class Workflow {
378
480
  });
379
481
  return returnNodes;
380
482
  }
483
+ /**
484
+ * Returns all the nodes before the given one
485
+ *
486
+ * @param {*} [maxDepth=-1]
487
+ */
381
488
  getParentNodesByDepth(nodeName, maxDepth = -1) {
382
489
  return this.searchNodesBFS(this.connectionsByDestinationNode, nodeName, maxDepth);
383
490
  }
491
+ /**
492
+ * Gets all the nodes which are connected nodes starting from
493
+ * the given one
494
+ * Uses BFS traversal
495
+ *
496
+ * @param {*} [maxDepth=-1]
497
+ */
384
498
  searchNodesBFS(connections, sourceNode, maxDepth = -1) {
385
499
  const returnConns = [];
386
- const type = interfaces_1.NodeConnectionTypes.Main;
500
+ const type = NodeConnectionTypes.Main;
387
501
  let queue = [];
388
502
  queue.push({
389
503
  name: sourceNode,
@@ -399,6 +513,7 @@ class Workflow {
399
513
  depth++;
400
514
  const toAdd = [...queue];
401
515
  queue = [];
516
+ // eslint-disable-next-line @typescript-eslint/no-loop-func
402
517
  toAdd.forEach((curr) => {
403
518
  if (visited[curr.name]) {
404
519
  visited[curr.name].indicies = dedupe(visited[curr.name].indicies.concat(curr.indicies));
@@ -429,7 +544,8 @@ class Workflow {
429
544
  if (node) {
430
545
  const nodeType = this.nodeTypes.getByNameAndVersion(node.type, node.typeVersion);
431
546
  const outputs = NodeHelpers.getNodeOutputs(this, node, nodeType.description);
432
- if (!!outputs.find((output) => (output?.type ?? output) !== interfaces_1.NodeConnectionTypes.Main)) {
547
+ if (!!outputs.find((output) => (output?.type ?? output) !== NodeConnectionTypes.Main)) {
548
+ // Get the first node which is connected to a non-main output
433
549
  const nonMainNodesConnected = outputs?.reduce((acc, outputName) => {
434
550
  const parentNodes = this.getChildNodes(node.name, outputName?.type ?? outputName);
435
551
  if (parentNodes.length > 0) {
@@ -440,15 +556,28 @@ class Workflow {
440
556
  if (nonMainNodesConnected.length) {
441
557
  const returnNode = this.getNode(nonMainNodesConnected[0]);
442
558
  if (returnNode === null) {
443
- throw new application_error_1.ApplicationError(`Node "${nonMainNodesConnected[0]}" not found`);
559
+ // This should theoretically never happen as the node is connected
560
+ // but who knows and it makes TS happy
561
+ throw new ApplicationError(`Node "${nonMainNodesConnected[0]}" not found`);
444
562
  }
563
+ // The chain of non-main nodes is potentially not finished yet so
564
+ // keep on going
445
565
  return this.getParentMainInputNode(returnNode);
446
566
  }
447
567
  }
448
568
  }
449
569
  return node;
450
570
  }
451
- getNodeConnectionIndexes(nodeName, parentNodeName, type = interfaces_1.NodeConnectionTypes.Main, depth = -1, checkedNodes) {
571
+ /**
572
+ * Returns via which output of the parent-node and index the current node
573
+ * they are connected
574
+ *
575
+ * @param {string} nodeName The node to check how it is connected with parent node
576
+ * @param {string} parentNodeName The parent node to get the output index of
577
+ * @param {string} [type='main']
578
+ * @param {*} [depth=-1]
579
+ */
580
+ getNodeConnectionIndexes(nodeName, parentNodeName, type = NodeConnectionTypes.Main, depth = -1, checkedNodes) {
452
581
  const node = this.getNode(parentNodeName);
453
582
  if (node === null) {
454
583
  return undefined;
@@ -456,16 +585,20 @@ class Workflow {
456
585
  depth = depth === -1 ? -1 : depth;
457
586
  const newDepth = depth === -1 ? depth : depth - 1;
458
587
  if (depth === 0) {
588
+ // Reached max depth
459
589
  return undefined;
460
590
  }
461
591
  if (!this.connectionsByDestinationNode.hasOwnProperty(nodeName)) {
592
+ // Node does not have incoming connections
462
593
  return undefined;
463
594
  }
464
595
  if (!this.connectionsByDestinationNode[nodeName].hasOwnProperty(type)) {
596
+ // Node does not have incoming connections of given type
465
597
  return undefined;
466
598
  }
467
599
  checkedNodes = checkedNodes || [];
468
600
  if (checkedNodes.includes(nodeName)) {
601
+ // Node got checked already before
469
602
  return undefined;
470
603
  }
471
604
  checkedNodes.push(nodeName);
@@ -483,6 +616,7 @@ class Workflow {
483
616
  };
484
617
  }
485
618
  if (checkedNodes.includes(connection.node)) {
619
+ // Node got checked already before so continue with the next one
486
620
  continue;
487
621
  }
488
622
  outputIndex = this.getNodeConnectionIndexes(connection.node, parentNodeName, type, newDepth, checkedNodes);
@@ -493,7 +627,13 @@ class Workflow {
493
627
  }
494
628
  return undefined;
495
629
  }
630
+ /**
631
+ * Returns from which of the given nodes the workflow should get started from
632
+ *
633
+ * @param {string[]} nodeNames The potential start nodes
634
+ */
496
635
  __getStartNode(nodeNames) {
636
+ // Check if there are any trigger or poll nodes and then return the first one
497
637
  let node;
498
638
  let nodeType;
499
639
  for (const nodeName of nodeNames) {
@@ -502,7 +642,8 @@ class Workflow {
502
642
  return node;
503
643
  }
504
644
  nodeType = this.nodeTypes.getByNameAndVersion(node.type, node.typeVersion);
505
- if (nodeType.description.name === constants_1.MANUAL_CHAT_TRIGGER_LANGCHAIN_NODE_TYPE) {
645
+ // TODO: Identify later differently
646
+ if (nodeType.description.name === MANUAL_CHAT_TRIGGER_LANGCHAIN_NODE_TYPE) {
506
647
  continue;
507
648
  }
508
649
  if (nodeType && (nodeType.trigger !== undefined || nodeType.poll !== undefined)) {
@@ -513,11 +654,11 @@ class Workflow {
513
654
  }
514
655
  }
515
656
  const sortedNodeNames = Object.values(this.nodes)
516
- .sort((a, b) => constants_1.STARTING_NODE_TYPES.indexOf(a.type) - constants_1.STARTING_NODE_TYPES.indexOf(b.type))
657
+ .sort((a, b) => STARTING_NODE_TYPES.indexOf(a.type) - STARTING_NODE_TYPES.indexOf(b.type))
517
658
  .map((n) => n.name);
518
659
  for (const nodeName of sortedNodeNames) {
519
660
  node = this.nodes[nodeName];
520
- if (constants_1.STARTING_NODE_TYPES.includes(node.type)) {
661
+ if (STARTING_NODE_TYPES.includes(node.type)) {
521
662
  if (node.disabled === true) {
522
663
  continue;
523
664
  }
@@ -526,16 +667,26 @@ class Workflow {
526
667
  }
527
668
  return undefined;
528
669
  }
670
+ /**
671
+ * Returns the start node to start the workflow from
672
+ *
673
+ */
529
674
  getStartNode(destinationNode) {
530
675
  if (destinationNode) {
676
+ // Find the highest parent nodes of the given one
531
677
  const nodeNames = this.getHighestNode(destinationNode);
532
678
  if (nodeNames.length === 0) {
679
+ // If no parent nodes have been found then only the destination-node
680
+ // is in the tree so add that one
533
681
  nodeNames.push(destinationNode);
534
682
  }
683
+ // Check which node to return as start node
535
684
  const node = this.__getStartNode(nodeNames);
536
685
  if (node !== undefined) {
537
686
  return node;
538
687
  }
688
+ // If none of the above did find anything simply return the
689
+ // first parent node in the list
539
690
  return this.nodes[nodeNames[0]];
540
691
  }
541
692
  return this.__getStartNode(Object.keys(this.nodes));
@@ -564,5 +715,4 @@ class Workflow {
564
715
  return result;
565
716
  }
566
717
  }
567
- exports.Workflow = Workflow;
568
718
  //# sourceMappingURL=workflow.js.map