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,56 +1,23 @@
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.WorkflowDataProxy = void 0;
37
- const jmespath = __importStar(require("jmespath"));
38
- const luxon_1 = require("luxon");
39
- const augment_object_1 = require("./augment-object");
40
- const constants_1 = require("./constants");
41
- const application_error_1 = require("./errors/application.error");
42
- const expression_error_1 = require("./errors/expression.error");
43
- const global_state_1 = require("./global-state");
44
- const interfaces_1 = require("./interfaces");
45
- const NodeHelpers = __importStar(require("./node-helpers"));
46
- const result_1 = require("./result");
47
- const type_guards_1 = require("./type-guards");
48
- const utils_1 = require("./utils");
49
- const workflow_data_proxy_env_provider_1 = require("./workflow-data-proxy-env-provider");
50
- const workflow_data_proxy_helpers_1 = require("./workflow-data-proxy-helpers");
1
+ /* eslint-disable @typescript-eslint/prefer-nullish-coalescing */
2
+ /* eslint-disable @typescript-eslint/no-this-alias */
3
+ /* eslint-disable @typescript-eslint/no-unsafe-return */
4
+ import * as jmespath from 'jmespath';
5
+ import { DateTime, Duration, Interval, Settings } from 'luxon';
6
+ import { augmentArray, augmentObject } from './augment-object';
7
+ import { AGENT_LANGCHAIN_NODE_TYPE, SCRIPTING_NODE_TYPES } from './constants';
8
+ import { ApplicationError } from './errors/application.error';
9
+ import { ExpressionError } from './errors/expression.error';
10
+ import { getGlobalState } from './global-state';
11
+ import { NodeConnectionTypes } from './interfaces';
12
+ import * as NodeHelpers from './node-helpers';
13
+ import { createResultError, createResultOk } from './result';
14
+ import { isResourceLocatorValue } from './type-guards';
15
+ import { deepCopy, isObjectEmpty } from './utils';
16
+ import { createEnvProvider, createEnvProviderState } from './workflow-data-proxy-env-provider';
17
+ import { getPinDataIfManualExecution } from './workflow-data-proxy-helpers';
51
18
  const isScriptingNode = (nodeName, workflow) => {
52
19
  const node = workflow.getNode(nodeName);
53
- return node && constants_1.SCRIPTING_NODE_TYPES.includes(node.type);
20
+ return node && SCRIPTING_NODE_TYPES.includes(node.type);
54
21
  };
55
22
  const PAIRED_ITEM_METHOD = {
56
23
  PAIRED_ITEM: 'pairedItem',
@@ -58,7 +25,23 @@ const PAIRED_ITEM_METHOD = {
58
25
  ITEM: 'item',
59
26
  $GET_PAIRED_ITEM: '$getPairedItem',
60
27
  };
61
- class WorkflowDataProxy {
28
+ export class WorkflowDataProxy {
29
+ workflow;
30
+ runIndex;
31
+ itemIndex;
32
+ activeNodeName;
33
+ siblingParameters;
34
+ mode;
35
+ additionalKeys;
36
+ executeData;
37
+ defaultReturnRunIndex;
38
+ selfData;
39
+ contextNodeName;
40
+ envProviderState;
41
+ runExecutionData;
42
+ connectionInputData;
43
+ timezone;
44
+ // TODO: Clean that up at some point and move all the options into an options object
62
45
  constructor(workflow, runExecutionData, runIndex, itemIndex, activeNodeName, connectionInputData, siblingParameters, mode, additionalKeys, executeData, defaultReturnRunIndex = -1, selfData = {}, contextNodeName = activeNodeName, envProviderState) {
63
46
  this.workflow = workflow;
64
47
  this.runIndex = runIndex;
@@ -74,23 +57,29 @@ class WorkflowDataProxy {
74
57
  this.envProviderState = envProviderState;
75
58
  this.runExecutionData = isScriptingNode(this.contextNodeName, workflow)
76
59
  ? runExecutionData !== null
77
- ? (0, augment_object_1.augmentObject)(runExecutionData)
60
+ ? augmentObject(runExecutionData)
78
61
  : null
79
62
  : runExecutionData;
80
63
  this.connectionInputData = isScriptingNode(this.contextNodeName, workflow)
81
- ? (0, augment_object_1.augmentArray)(connectionInputData)
64
+ ? augmentArray(connectionInputData)
82
65
  : connectionInputData;
83
- this.timezone = workflow.settings?.timezone ?? (0, global_state_1.getGlobalState)().defaultTimezone;
84
- luxon_1.Settings.defaultZone = this.timezone;
66
+ this.timezone = workflow.settings?.timezone ?? getGlobalState().defaultTimezone;
67
+ Settings.defaultZone = this.timezone;
85
68
  }
69
+ /**
70
+ * Returns a proxy which allows to query context data of a given node
71
+ *
72
+ * @private
73
+ * @param {string} nodeName The name of the node to get the context from
74
+ */
86
75
  nodeContextGetter(nodeName) {
87
76
  const that = this;
88
77
  const node = this.workflow.nodes[nodeName];
89
78
  if (!that.runExecutionData?.executionData && that.connectionInputData.length > 0) {
90
- return {};
79
+ return {}; // incoming connection has pinned data, so stub context object
91
80
  }
92
81
  if (!that.runExecutionData?.executionData && !that.runExecutionData?.resultData) {
93
- throw new expression_error_1.ExpressionError("The workflow hasn't been executed yet, so you can't reference any context data", {
82
+ throw new ExpressionError("The workflow hasn't been executed yet, so you can't reference any context data", {
94
83
  runIndex: that.runIndex,
95
84
  itemIndex: that.itemIndex,
96
85
  type: 'no_execution_data',
@@ -100,6 +89,7 @@ class WorkflowDataProxy {
100
89
  has: () => true,
101
90
  ownKeys(target) {
102
91
  if (Reflect.ownKeys(target).length === 0) {
92
+ // Target object did not get set yet
103
93
  Object.assign(target, NodeHelpers.getContext(that.runExecutionData, 'node', node));
104
94
  }
105
95
  return Reflect.ownKeys(target);
@@ -148,12 +138,12 @@ class WorkflowDataProxy {
148
138
  .find((nodeProperty) => nodeProperty.name === 'operation' &&
149
139
  nodeProperty.displayOptions?.show?.resource?.some((y) => y === resourceKey))
150
140
  ?.options?.find((y) => 'value' in y && y.value === operationKey)?.name ?? null;
151
- const hasCredentials = !(0, utils_1.isObjectEmpty)(node.credentials ?? {});
141
+ const hasCredentials = !isObjectEmpty(node.credentials ?? {});
152
142
  const hasValidCalendar = nodeType.description.name.includes('googleCalendar')
153
- ? (0, type_guards_1.isResourceLocatorValue)(node.parameters.calendar) && node.parameters.calendar.value !== ''
143
+ ? isResourceLocatorValue(node.parameters.calendar) && node.parameters.calendar.value !== ''
154
144
  : undefined;
155
145
  const aiDefinedFields = Object.entries(node.parameters)
156
- .map(([key, value]) => [key, (0, type_guards_1.isResourceLocatorValue)(value) ? value.value : value])
146
+ .map(([key, value]) => [key, isResourceLocatorValue(value) ? value.value : value])
157
147
  .filter(([_, value]) => value?.toString().toLowerCase().includes('$fromai'))
158
148
  .map(([key]) => nodeType.description.properties.find((property) => property.name === key)?.displayName);
159
149
  return {
@@ -168,18 +158,18 @@ class WorkflowDataProxy {
168
158
  }
169
159
  agentInfo() {
170
160
  const agentNode = this.workflow.getNode(this.activeNodeName);
171
- if (!agentNode || agentNode.type !== constants_1.AGENT_LANGCHAIN_NODE_TYPE)
161
+ if (!agentNode || agentNode.type !== AGENT_LANGCHAIN_NODE_TYPE)
172
162
  return undefined;
173
163
  const connectedTools = this.workflow
174
- .getParentNodes(this.activeNodeName, interfaces_1.NodeConnectionTypes.AiTool)
164
+ .getParentNodes(this.activeNodeName, NodeConnectionTypes.AiTool)
175
165
  .map((nodeName) => this.workflow.getNode(nodeName))
176
166
  .filter((node) => node);
177
- const memoryConnectedToAgent = this.workflow.getParentNodes(this.activeNodeName, interfaces_1.NodeConnectionTypes.AiMemory).length > 0;
167
+ const memoryConnectedToAgent = this.workflow.getParentNodes(this.activeNodeName, NodeConnectionTypes.AiMemory).length > 0;
178
168
  const allTools = this.workflow.queryNodes((nodeType) => {
179
169
  return nodeType.description.name.toLowerCase().includes('tool');
180
170
  });
181
171
  const unconnectedTools = allTools
182
- .filter((node) => this.workflow.getChildNodes(node.name, interfaces_1.NodeConnectionTypes.AiTool, 1).length === 0)
172
+ .filter((node) => this.workflow.getChildNodes(node.name, NodeConnectionTypes.AiTool, 1).length === 0)
183
173
  .filter((node) => !connectedTools.includes(node));
184
174
  return {
185
175
  memoryConnectedToAgent,
@@ -189,9 +179,17 @@ class WorkflowDataProxy {
189
179
  ],
190
180
  };
191
181
  }
182
+ /**
183
+ * Returns a proxy which allows to query parameter data of a given node
184
+ *
185
+ * @private
186
+ * @param {string} nodeName The name of the node to query data from
187
+ * @param {boolean} [resolveValue=true] If the expression value should get resolved
188
+ */
192
189
  nodeParameterGetter(nodeName, resolveValue = true) {
193
190
  const that = this;
194
191
  const node = this.workflow.nodes[nodeName];
192
+ // `node` is `undefined` only in expressions in credentials
195
193
  return new Proxy(node?.parameters ?? {}, {
196
194
  has: () => true,
197
195
  ownKeys(target) {
@@ -207,13 +205,13 @@ class WorkflowDataProxy {
207
205
  if (name === 'isProxy')
208
206
  return true;
209
207
  if (name === 'toJSON')
210
- return () => (0, utils_1.deepCopy)(target);
208
+ return () => deepCopy(target);
211
209
  name = name.toString();
212
210
  let returnValue;
213
211
  if (name[0] === '&') {
214
212
  const key = name.slice(1);
215
213
  if (!that.siblingParameters.hasOwnProperty(key)) {
216
- throw new application_error_1.ApplicationError('Could not find sibling parameter on node', {
214
+ throw new ApplicationError('Could not find sibling parameter on node', {
217
215
  extra: { nodeName, parameter: key },
218
216
  });
219
217
  }
@@ -221,13 +219,15 @@ class WorkflowDataProxy {
221
219
  }
222
220
  else {
223
221
  if (!node.parameters.hasOwnProperty(name)) {
222
+ // Parameter does not exist on node
224
223
  return undefined;
225
224
  }
226
225
  returnValue = node.parameters[name];
227
226
  }
227
+ // Avoid recursion
228
228
  if (returnValue === `={{ $parameter.${name} }}`)
229
229
  return undefined;
230
- if ((0, type_guards_1.isResourceLocatorValue)(returnValue)) {
230
+ if (isResourceLocatorValue(returnValue)) {
231
231
  if (returnValue.__regex && typeof returnValue.value === 'string') {
232
232
  const expr = new RegExp(returnValue.__regex);
233
233
  const extracted = expr.exec(returnValue.value);
@@ -243,6 +243,7 @@ class WorkflowDataProxy {
243
243
  }
244
244
  }
245
245
  if (resolveValue && typeof returnValue === 'string' && returnValue.charAt(0) === '=') {
246
+ // The found value is an expression so resolve it
246
247
  return that.workflow.expression.getParameterValue(returnValue, that.runExecutionData, that.runIndex, that.itemIndex, that.activeNodeName, that.connectionInputData, that.mode, that.additionalKeys, that.executeData, false, {}, that.contextNodeName);
247
248
  }
248
249
  return returnValue;
@@ -254,25 +255,35 @@ class WorkflowDataProxy {
254
255
  return this.getNodeExecutionData(nodeName, shortSyntax, branchIndex, runIndex);
255
256
  }
256
257
  catch (e) {
257
- const pinData = (0, workflow_data_proxy_helpers_1.getPinDataIfManualExecution)(this.workflow, nodeName, this.mode);
258
+ const pinData = getPinDataIfManualExecution(this.workflow, nodeName, this.mode);
258
259
  if (pinData) {
259
260
  return pinData;
260
261
  }
261
262
  throw e;
262
263
  }
263
264
  }
265
+ /**
266
+ * Returns the node ExecutionData
267
+ *
268
+ * @private
269
+ * @param {string} nodeName The name of the node query data from
270
+ * @param {boolean} [shortSyntax=false] If short syntax got used
271
+ * @param {number} [outputIndex] The index of the output, if not given the first one gets used
272
+ * @param {number} [runIndex] The index of the run, if not given the current one does get used
273
+ */
264
274
  getNodeExecutionData(nodeName, shortSyntax = false, outputIndex, runIndex) {
265
275
  const that = this;
266
276
  let executionData;
267
277
  if (!shortSyntax) {
278
+ // Long syntax got used to return data from node in path
268
279
  if (that.runExecutionData === null) {
269
- throw new expression_error_1.ExpressionError("The workflow hasn't been executed yet, so you can't reference any output data", {
280
+ throw new ExpressionError("The workflow hasn't been executed yet, so you can't reference any output data", {
270
281
  runIndex: that.runIndex,
271
282
  itemIndex: that.itemIndex,
272
283
  });
273
284
  }
274
285
  if (!that.workflow.getNode(nodeName)) {
275
- throw new expression_error_1.ExpressionError("Referenced node doesn't exist", {
286
+ throw new ExpressionError("Referenced node doesn't exist", {
276
287
  runIndex: that.runIndex,
277
288
  itemIndex: that.itemIndex,
278
289
  nodeCause: nodeName,
@@ -280,8 +291,8 @@ class WorkflowDataProxy {
280
291
  });
281
292
  }
282
293
  if (!that.runExecutionData.resultData.runData.hasOwnProperty(nodeName) &&
283
- !(0, workflow_data_proxy_helpers_1.getPinDataIfManualExecution)(that.workflow, nodeName, that.mode)) {
284
- throw new expression_error_1.ExpressionError('Referenced node is unexecuted', {
294
+ !getPinDataIfManualExecution(that.workflow, nodeName, that.mode)) {
295
+ throw new ExpressionError('Referenced node is unexecuted', {
285
296
  runIndex: that.runIndex,
286
297
  itemIndex: that.itemIndex,
287
298
  type: 'no_node_execution_data',
@@ -293,22 +304,26 @@ class WorkflowDataProxy {
293
304
  runIndex =
294
305
  runIndex === -1 ? that.runExecutionData.resultData.runData[nodeName].length - 1 : runIndex;
295
306
  if (that.runExecutionData.resultData.runData[nodeName].length <= runIndex) {
296
- throw new expression_error_1.ExpressionError(`Run ${runIndex} of node "${nodeName}" not found`, {
307
+ throw new ExpressionError(`Run ${runIndex} of node "${nodeName}" not found`, {
297
308
  runIndex: that.runIndex,
298
309
  itemIndex: that.itemIndex,
299
310
  });
300
311
  }
301
312
  const taskData = that.runExecutionData.resultData.runData[nodeName][runIndex].data;
302
313
  if (!taskData.main?.length || taskData.main[0] === null) {
303
- throw new expression_error_1.ExpressionError('No data found from `main` input', {
314
+ // throw new ApplicationError('No data found for item-index', { extra: { itemIndex } });
315
+ throw new ExpressionError('No data found from `main` input', {
304
316
  runIndex: that.runIndex,
305
317
  itemIndex: that.itemIndex,
306
318
  });
307
319
  }
320
+ // Check from which output to read the data.
321
+ // Depends on how the nodes are connected.
322
+ // (example "IF" node. If node is connected to "true" or to "false" output)
308
323
  if (outputIndex === undefined) {
309
- const nodeConnection = that.workflow.getNodeConnectionIndexes(that.contextNodeName, nodeName, interfaces_1.NodeConnectionTypes.Main);
324
+ const nodeConnection = that.workflow.getNodeConnectionIndexes(that.contextNodeName, nodeName, NodeConnectionTypes.Main);
310
325
  if (nodeConnection === undefined) {
311
- throw new expression_error_1.ExpressionError(`connect "${that.contextNodeName}" to "${nodeName}"`, {
326
+ throw new ExpressionError(`connect "${that.contextNodeName}" to "${nodeName}"`, {
312
327
  runIndex: that.runIndex,
313
328
  itemIndex: that.itemIndex,
314
329
  });
@@ -319,7 +334,7 @@ class WorkflowDataProxy {
319
334
  outputIndex = 0;
320
335
  }
321
336
  if (taskData.main.length <= outputIndex) {
322
- throw new expression_error_1.ExpressionError(`Node "${nodeName}" has no branch with index ${outputIndex}.`, {
337
+ throw new ExpressionError(`Node "${nodeName}" has no branch with index ${outputIndex}.`, {
323
338
  runIndex: that.runIndex,
324
339
  itemIndex: that.itemIndex,
325
340
  });
@@ -327,10 +342,19 @@ class WorkflowDataProxy {
327
342
  executionData = taskData.main[outputIndex];
328
343
  }
329
344
  else {
345
+ // Short syntax got used to return data from active node
330
346
  executionData = that.connectionInputData;
331
347
  }
332
348
  return executionData;
333
349
  }
350
+ /**
351
+ * Returns a proxy which allows to query data of a given node
352
+ *
353
+ * @private
354
+ * @param {string} nodeName The name of the node query data from
355
+ * @param {boolean} [shortSyntax=false] If short syntax got used
356
+ * @param {boolean} [throwOnMissingExecutionData=true] If an error should get thrown if no execution data is available
357
+ */
334
358
  nodeDataGetter(nodeName, shortSyntax = false, throwOnMissingExecutionData = true) {
335
359
  const that = this;
336
360
  const node = this.workflow.nodes[nodeName];
@@ -341,7 +365,7 @@ class WorkflowDataProxy {
341
365
  return true;
342
366
  name = name.toString();
343
367
  if (!node) {
344
- throw new expression_error_1.ExpressionError("Referenced node doesn't exist", {
368
+ throw new ExpressionError("Referenced node doesn't exist", {
345
369
  runIndex: that.runIndex,
346
370
  itemIndex: that.itemIndex,
347
371
  nodeCause: nodeName,
@@ -358,7 +382,7 @@ class WorkflowDataProxy {
358
382
  }
359
383
  if (executionData.length === 0) {
360
384
  if (that.workflow.getParentNodes(nodeName).length === 0) {
361
- throw new expression_error_1.ExpressionError('No execution data available', {
385
+ throw new ExpressionError('No execution data available', {
362
386
  messageTemplate: 'No execution data available to expression under ‘%%PARAMETER%%’',
363
387
  descriptionKey: 'noInputConnection',
364
388
  nodeCause: nodeName,
@@ -367,22 +391,24 @@ class WorkflowDataProxy {
367
391
  type: 'no_input_connection',
368
392
  });
369
393
  }
370
- throw new expression_error_1.ExpressionError('No execution data available', {
394
+ throw new ExpressionError('No execution data available', {
371
395
  runIndex: that.runIndex,
372
396
  itemIndex: that.itemIndex,
373
397
  type: 'no_execution_data',
374
398
  });
375
399
  }
376
400
  if (executionData.length <= that.itemIndex) {
377
- throw new expression_error_1.ExpressionError(`No data found for item-index: "${that.itemIndex}"`, {
401
+ throw new ExpressionError(`No data found for item-index: "${that.itemIndex}"`, {
378
402
  runIndex: that.runIndex,
379
403
  itemIndex: that.itemIndex,
380
404
  });
381
405
  }
382
406
  if (['data', 'json'].includes(name)) {
407
+ // JSON-Data
383
408
  return executionData[that.itemIndex].json;
384
409
  }
385
410
  if (name === 'binary') {
411
+ // Binary-Data
386
412
  const returnData = {};
387
413
  if (!executionData[that.itemIndex].binary) {
388
414
  return returnData;
@@ -393,6 +419,7 @@ class WorkflowDataProxy {
393
419
  const binaryData = binaryKeyData[keyName];
394
420
  for (const propertyName in binaryData) {
395
421
  if (propertyName === 'data') {
422
+ // Skip the data property
396
423
  continue;
397
424
  }
398
425
  returnData[keyName][propertyName] = binaryData[propertyName];
@@ -405,6 +432,7 @@ class WorkflowDataProxy {
405
432
  return that.nodeContextGetter(nodeName);
406
433
  }
407
434
  else if (name === 'parameter') {
435
+ // Get node parameter data
408
436
  return that.nodeParameterGetter(nodeName);
409
437
  }
410
438
  else if (name === 'runIndex') {
@@ -435,6 +463,7 @@ class WorkflowDataProxy {
435
463
  if (name === 'isProxy')
436
464
  return true;
437
465
  if (!that.executeData?.source) {
466
+ // Means the previous node did not get executed yet
438
467
  return undefined;
439
468
  }
440
469
  const sourceData = that.executeData.source.main[0];
@@ -451,6 +480,11 @@ class WorkflowDataProxy {
451
480
  },
452
481
  });
453
482
  }
483
+ /**
484
+ * Returns a proxy to query data from the workflow
485
+ *
486
+ * @private
487
+ */
454
488
  workflowGetter() {
455
489
  const allowedValues = ['active', 'id', 'name'];
456
490
  const that = this;
@@ -471,7 +505,7 @@ class WorkflowDataProxy {
471
505
  if (allowedValues.includes(name.toString())) {
472
506
  const value = that.workflow[name];
473
507
  if (value === undefined && name === 'id') {
474
- throw new expression_error_1.ExpressionError('save workflow to view', {
508
+ throw new ExpressionError('save workflow to view', {
475
509
  description: 'Please save the workflow first to use $workflow',
476
510
  runIndex: that.runIndex,
477
511
  itemIndex: that.itemIndex,
@@ -483,6 +517,11 @@ class WorkflowDataProxy {
483
517
  },
484
518
  });
485
519
  }
520
+ /**
521
+ * Returns a proxy to query data of all nodes
522
+ *
523
+ * @private
524
+ */
486
525
  nodeGetter() {
487
526
  const that = this;
488
527
  return new Proxy({}, {
@@ -492,7 +531,7 @@ class WorkflowDataProxy {
492
531
  return true;
493
532
  const nodeName = name.toString();
494
533
  if (that.workflow.getNode(nodeName) === null) {
495
- throw new expression_error_1.ExpressionError("Referenced node doesn't exist", {
534
+ throw new ExpressionError("Referenced node doesn't exist", {
496
535
  runIndex: that.runIndex,
497
536
  itemIndex: that.itemIndex,
498
537
  nodeCause: nodeName,
@@ -503,11 +542,16 @@ class WorkflowDataProxy {
503
542
  },
504
543
  });
505
544
  }
545
+ /**
546
+ * Returns the data proxy object which allows to query data from current run
547
+ *
548
+ */
506
549
  getDataProxy(opts) {
507
550
  const that = this;
551
+ // replacing proxies with the actual data.
508
552
  const jmespathWrapper = (data, query) => {
509
553
  if (typeof data !== 'object' || typeof query !== 'string') {
510
- throw new expression_error_1.ExpressionError('expected two arguments (Object, string) for this function', {
554
+ throw new ExpressionError('expected two arguments (Object, string) for this function', {
511
555
  runIndex: that.runIndex,
512
556
  itemIndex: that.itemIndex,
513
557
  });
@@ -519,13 +563,17 @@ class WorkflowDataProxy {
519
563
  };
520
564
  const createExpressionError = (message, context) => {
521
565
  if (isScriptingNode(that.activeNodeName, that.workflow) && context?.functionOverrides) {
566
+ // If the node in which the error is thrown is a function node,
567
+ // display a different error message in case there is one defined
522
568
  message = context.functionOverrides.message || message;
523
569
  context.description = context.functionOverrides.description || context.description;
570
+ // The error will be in the code and not on an expression on a parameter
571
+ // so remove the messageTemplate as it would overwrite the message
524
572
  context.messageTemplate = undefined;
525
573
  }
526
574
  if (context?.nodeCause) {
527
575
  const nodeName = context.nodeCause;
528
- const pinData = (0, workflow_data_proxy_helpers_1.getPinDataIfManualExecution)(that.workflow, nodeName, that.mode);
576
+ const pinData = getPinDataIfManualExecution(that.workflow, nodeName, that.mode);
529
577
  if (pinData) {
530
578
  if (!context) {
531
579
  context = {};
@@ -541,7 +589,7 @@ class WorkflowDataProxy {
541
589
  context.descriptionTemplate += moreInfoLink;
542
590
  }
543
591
  }
544
- return new expression_error_1.ExpressionError(message, {
592
+ return new ExpressionError(message, {
545
593
  runIndex: that.runIndex,
546
594
  itemIndex: that.itemIndex,
547
595
  ...context,
@@ -560,11 +608,11 @@ class WorkflowDataProxy {
560
608
  });
561
609
  };
562
610
  const createMissingPairedItemError = (nodeCause, usedMethodName = PAIRED_ITEM_METHOD.PAIRED_ITEM) => {
563
- const pinData = (0, workflow_data_proxy_helpers_1.getPinDataIfManualExecution)(that.workflow, nodeCause, that.mode);
611
+ const pinData = getPinDataIfManualExecution(that.workflow, nodeCause, that.mode);
564
612
  const message = pinData
565
613
  ? `Using the ${usedMethodName} method doesn't work with pinned data in this scenario. Please unpin '${nodeCause}' and try again.`
566
614
  : `Paired item data for ${usedMethodName} from node '${nodeCause}' is unavailable. Ensure '${nodeCause}' is providing the required output.`;
567
- return new expression_error_1.ExpressionError(message, {
615
+ return new ExpressionError(message, {
568
616
  runIndex: that.runIndex,
569
617
  itemIndex: that.itemIndex,
570
618
  functionality: 'pairedItem',
@@ -641,7 +689,7 @@ class WorkflowDataProxy {
641
689
  }
642
690
  function getTaskData(source) {
643
691
  return (that.runExecutionData?.resultData?.runData?.[source.previousNode]?.[source.previousNodeRun || 0] ??
644
- pinDataToTask((0, workflow_data_proxy_helpers_1.getPinDataIfManualExecution)(that.workflow, source.previousNode, that.mode)));
692
+ pinDataToTask(getPinDataIfManualExecution(that.workflow, source.previousNode, that.mode)));
645
693
  }
646
694
  function getNodeOutput(taskData, source, nodeCause) {
647
695
  const outputIndex = source.previousNodeOutput || 0;
@@ -665,6 +713,7 @@ class WorkflowDataProxy {
665
713
  return pairedItems.map((p) => (typeof p === 'number' ? { item: p } : p));
666
714
  };
667
715
  const getPairedItem = (destinationNodeName, incomingSourceData, initialPairedItem, usedMethodName = PAIRED_ITEM_METHOD.$GET_PAIRED_ITEM, nodeBeforeLast) => {
716
+ // Normalize inputs
668
717
  const [pairedItem, sourceData] = normalizeInputs(initialPairedItem, incomingSourceData);
669
718
  if (!sourceData) {
670
719
  throw createPairedItemNotFound(destinationNodeName, nodeBeforeLast);
@@ -673,26 +722,29 @@ class WorkflowDataProxy {
673
722
  const outputData = getNodeOutput(taskData, sourceData, nodeBeforeLast);
674
723
  const item = outputData[pairedItem.item];
675
724
  const sourceArray = taskData?.source ?? [];
725
+ // Done: reached the destination node in the ancestry chain
676
726
  if (sourceData.previousNode === destinationNodeName) {
677
727
  if (pairedItem.item >= outputData.length) {
678
728
  throw createInvalidPairedItemError({ nodeName: sourceData.previousNode });
679
729
  }
680
730
  return item;
681
731
  }
732
+ // Normalize paired item to always be IPairedItemData[]
682
733
  const nextPairedItems = normalizePairedItem(item.pairedItem);
683
734
  if (nextPairedItems.length === 0) {
684
735
  throw createMissingPairedItemError(sourceData.previousNode, usedMethodName);
685
736
  }
737
+ // Recursively traverse ancestry to find the destination node + paired item
686
738
  const results = nextPairedItems.flatMap((nextPairedItem) => {
687
739
  const inputIndex = nextPairedItem.input ?? 0;
688
740
  if (inputIndex >= sourceArray.length)
689
741
  return [];
690
742
  const nextSource = nextPairedItem.sourceOverwrite ?? sourceArray[inputIndex];
691
743
  try {
692
- return (0, result_1.createResultOk)(getPairedItem(destinationNodeName, nextSource, { ...nextPairedItem, input: inputIndex }, usedMethodName, sourceData.previousNode));
744
+ return createResultOk(getPairedItem(destinationNodeName, nextSource, { ...nextPairedItem, input: inputIndex }, usedMethodName, sourceData.previousNode));
693
745
  }
694
746
  catch (error) {
695
- return (0, result_1.createResultError)(error);
747
+ return createResultError(error);
696
748
  }
697
749
  });
698
750
  if (results.every((result) => !result.ok)) {
@@ -713,28 +765,30 @@ class WorkflowDataProxy {
713
765
  const handleFromAi = (name, _description, _type = 'string', defaultValue) => {
714
766
  const { itemIndex, runIndex } = that;
715
767
  if (!name || name === '') {
716
- throw new expression_error_1.ExpressionError("Add a key, e.g. $fromAI('placeholder_name')", {
768
+ throw new ExpressionError("Add a key, e.g. $fromAI('placeholder_name')", {
717
769
  runIndex,
718
770
  itemIndex,
719
771
  });
720
772
  }
721
773
  const nameValidationRegex = /^[a-zA-Z0-9_-]{0,64}$/;
722
774
  if (!nameValidationRegex.test(name)) {
723
- throw new expression_error_1.ExpressionError('Invalid parameter key, must be between 1 and 64 characters long and only contain lowercase letters, uppercase letters, numbers, underscores, and hyphens', {
775
+ throw new ExpressionError('Invalid parameter key, must be between 1 and 64 characters long and only contain lowercase letters, uppercase letters, numbers, underscores, and hyphens', {
724
776
  runIndex,
725
777
  itemIndex,
726
778
  });
727
779
  }
728
780
  const inputData = that.runExecutionData?.resultData.runData[that.activeNodeName]?.[runIndex].inputOverride;
729
- const placeholdersDataInputData = inputData?.[interfaces_1.NodeConnectionTypes.AiTool]?.[0]?.[itemIndex].json;
781
+ const placeholdersDataInputData = inputData?.[NodeConnectionTypes.AiTool]?.[0]?.[itemIndex].json;
730
782
  if (Boolean(!placeholdersDataInputData)) {
731
- throw new expression_error_1.ExpressionError('No execution data available', {
783
+ throw new ExpressionError('No execution data available', {
732
784
  runIndex,
733
785
  itemIndex,
734
786
  type: 'no_execution_data',
735
787
  });
736
788
  }
737
- return (placeholdersDataInputData?.query?.[name] ??
789
+ return (
790
+ // TS does not know that the key exists, we need to address this in refactor
791
+ placeholdersDataInputData?.query?.[name] ??
738
792
  placeholdersDataInputData?.[name] ??
739
793
  defaultValue);
740
794
  };
@@ -754,7 +808,7 @@ class WorkflowDataProxy {
754
808
  }
755
809
  const ensureNodeExecutionData = () => {
756
810
  if (!that?.runExecutionData?.resultData?.runData.hasOwnProperty(nodeName) &&
757
- !(0, workflow_data_proxy_helpers_1.getPinDataIfManualExecution)(that.workflow, nodeName, that.mode)) {
811
+ !getPinDataIfManualExecution(that.workflow, nodeName, that.mode)) {
758
812
  throw createExpressionError('Referenced node is unexecuted', {
759
813
  runIndex: that.runIndex,
760
814
  itemIndex: that.itemIndex,
@@ -788,6 +842,8 @@ class WorkflowDataProxy {
788
842
  if (property === PAIRED_ITEM_METHOD.PAIRED_ITEM ||
789
843
  property === PAIRED_ITEM_METHOD.ITEM_MATCHING ||
790
844
  property === PAIRED_ITEM_METHOD.ITEM) {
845
+ // Before resolving the pairedItem make sure that the requested node comes in the
846
+ // graph before the current one
791
847
  const activeNode = that.workflow.getNode(that.activeNodeName);
792
848
  let contextNode = that.contextNodeName;
793
849
  if (activeNode) {
@@ -809,7 +865,7 @@ class WorkflowDataProxy {
809
865
  itemIndex = that.itemIndex;
810
866
  }
811
867
  if (!that.connectionInputData.length) {
812
- const pinnedData = (0, workflow_data_proxy_helpers_1.getPinDataIfManualExecution)(that.workflow, nodeName, that.mode);
868
+ const pinnedData = getPinDataIfManualExecution(that.workflow, nodeName, that.mode);
813
869
  if (pinnedData) {
814
870
  return pinnedData[itemIndex];
815
871
  }
@@ -830,6 +886,9 @@ class WorkflowDataProxy {
830
886
  type: 'paired_item_intermediate_nodes',
831
887
  });
832
888
  }
889
+ // As we operate on the incoming item we can be sure that pairedItem is not an
890
+ // array. After all can it only come from exactly one previous node via a certain
891
+ // input. For that reason do we not have to consider the array case.
833
892
  const pairedItem = input.pairedItem;
834
893
  if (pairedItem === undefined) {
835
894
  throw createMissingPairedItemError(that.activeNodeName, property);
@@ -860,6 +919,7 @@ class WorkflowDataProxy {
860
919
  return (branchIndex, runIndex) => {
861
920
  branchIndex =
862
921
  branchIndex ??
922
+ // default to the output the active node is connected to
863
923
  that.workflow.getNodeConnectionIndexes(that.activeNodeName, nodeName)
864
924
  ?.sourceIndex ??
865
925
  0;
@@ -878,6 +938,7 @@ class WorkflowDataProxy {
878
938
  return (branchIndex, runIndex) => {
879
939
  branchIndex =
880
940
  branchIndex ??
941
+ // default to the output the active node is connected to
881
942
  that.workflow.getNodeConnectionIndexes(that.activeNodeName, nodeName)
882
943
  ?.sourceIndex ??
883
944
  0;
@@ -899,6 +960,7 @@ class WorkflowDataProxy {
899
960
  return (branchIndex, runIndex) => {
900
961
  branchIndex =
901
962
  branchIndex ??
963
+ // default to the output the active node is connected to
902
964
  that.workflow.getNodeConnectionIndexes(that.activeNodeName, nodeName)
903
965
  ?.sourceIndex ??
904
966
  0;
@@ -973,6 +1035,8 @@ class WorkflowDataProxy {
973
1035
  };
974
1036
  }
975
1037
  if (['context', 'params'].includes(property)) {
1038
+ // For the following properties we need the source data so fail in case it is missing
1039
+ // for some reason (even though that should actually never happen)
976
1040
  if (!that.executeData?.source) {
977
1041
  throw createExpressionError('Can’t get data for expression', {
978
1042
  messageTemplate: 'Can’t get data for expression under ‘%%PARAMETER%%’ field',
@@ -995,9 +1059,9 @@ class WorkflowDataProxy {
995
1059
  return Reflect.get(target, property, receiver);
996
1060
  },
997
1061
  }),
998
- $binary: {},
999
- $data: {},
1000
- $env: (0, workflow_data_proxy_env_provider_1.createEnvProvider)(that.runIndex, that.itemIndex, that.envProviderState ?? (0, workflow_data_proxy_env_provider_1.createEnvProviderState)()),
1062
+ $binary: {}, // Placeholder
1063
+ $data: {}, // Placeholder
1064
+ $env: createEnvProvider(that.runIndex, that.itemIndex, that.envProviderState ?? createEnvProviderState()),
1001
1065
  $evaluateExpression: (expression, itemIndex) => {
1002
1066
  itemIndex = itemIndex || that.itemIndex;
1003
1067
  return that.workflow.expression.getParameterValue(`=${expression}`, that.runExecutionData, that.runIndex, itemIndex, that.activeNodeName, that.connectionInputData, that.mode, that.additionalKeys, that.executeData, false, {}, that.contextNodeName);
@@ -1008,6 +1072,7 @@ class WorkflowDataProxy {
1008
1072
  return dataProxy.getDataProxy();
1009
1073
  },
1010
1074
  $fromAI: handleFromAi,
1075
+ // Make sure mis-capitalized $fromAI is handled correctly even though we don't auto-complete it
1011
1076
  $fromai: handleFromAi,
1012
1077
  $fromAi: handleFromAi,
1013
1078
  $items: (nodeName, outputIndex, runIndex) => {
@@ -1027,7 +1092,7 @@ class WorkflowDataProxy {
1027
1092
  runIndex = runIndex === undefined ? -1 : runIndex;
1028
1093
  return that.getNodeExecutionData(nodeName, false, outputIndex, runIndex);
1029
1094
  },
1030
- $json: {},
1095
+ $json: {}, // Placeholder
1031
1096
  $node: this.nodeGetter(),
1032
1097
  $self: this.selfGetter(),
1033
1098
  $parameter: this.nodeParameterGetter(this.activeNodeName),
@@ -1037,14 +1102,15 @@ class WorkflowDataProxy {
1037
1102
  $mode: this.mode,
1038
1103
  $workflow: this.workflowGetter(),
1039
1104
  $itemIndex: this.itemIndex,
1040
- $now: luxon_1.DateTime.now(),
1041
- $today: luxon_1.DateTime.now().set({ hour: 0, minute: 0, second: 0, millisecond: 0 }),
1105
+ $now: DateTime.now(),
1106
+ $today: DateTime.now().set({ hour: 0, minute: 0, second: 0, millisecond: 0 }),
1042
1107
  $jmesPath: jmespathWrapper,
1043
- DateTime: luxon_1.DateTime,
1044
- Interval: luxon_1.Interval,
1045
- Duration: luxon_1.Duration,
1108
+ DateTime,
1109
+ Interval,
1110
+ Duration,
1046
1111
  ...that.additionalKeys,
1047
1112
  $getPairedItem: getPairedItem,
1113
+ // deprecated
1048
1114
  $jmespath: jmespathWrapper,
1049
1115
  $position: this.itemIndex,
1050
1116
  $thisItem: that.connectionInputData[that.itemIndex],
@@ -1073,5 +1139,4 @@ class WorkflowDataProxy {
1073
1139
  });
1074
1140
  }
1075
1141
  }
1076
- exports.WorkflowDataProxy = WorkflowDataProxy;
1077
1142
  //# sourceMappingURL=workflow-data-proxy.js.map