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
@@ -0,0 +1,11 @@
1
+ export const ExecutionStatusList = [
2
+ 'canceled',
3
+ 'crashed',
4
+ 'error',
5
+ 'new',
6
+ 'running',
7
+ 'success',
8
+ 'unknown',
9
+ 'waiting',
10
+ ];
11
+ //# sourceMappingURL=execution-status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"execution-status.js","sourceRoot":"","sources":["../../src/execution-status.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,mBAAmB,GAAG;IAClC,UAAU;IACV,SAAS;IACT,OAAO;IACP,KAAK;IACL,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACA,CAAC"}
@@ -0,0 +1,6 @@
1
+ type Evaluator = (expr: string, data: unknown) => string | null | (() => unknown);
2
+ type ErrorHandler = (error: Error) => void;
3
+ export declare const setErrorHandler: (handler: ErrorHandler) => void;
4
+ export declare const evaluateExpression: Evaluator;
5
+ export {};
6
+ //# sourceMappingURL=expression-evaluator-proxy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-evaluator-proxy.d.ts","sourceRoot":"","sources":["../../src/expression-evaluator-proxy.ts"],"names":[],"mappings":"AAIA,KAAK,SAAS,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;AAClF,KAAK,YAAY,GAAG,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;AAS3C,eAAO,MAAM,eAAe,GAAI,SAAS,YAAY,SAEpD,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,SAEhC,CAAC"}
@@ -0,0 +1,15 @@
1
+ import { Tournament } from '@n8n/tournament';
2
+ import { PrototypeSanitizer } from './expression-sandboxing';
3
+ const errorHandler = () => { };
4
+ const tournamentEvaluator = new Tournament(errorHandler, undefined, undefined, {
5
+ before: [],
6
+ after: [PrototypeSanitizer],
7
+ });
8
+ const evaluator = tournamentEvaluator.execute.bind(tournamentEvaluator);
9
+ export const setErrorHandler = (handler) => {
10
+ tournamentEvaluator.errorHandler = handler;
11
+ };
12
+ export const evaluateExpression = (expr, data) => {
13
+ return evaluator(expr, data);
14
+ };
15
+ //# sourceMappingURL=expression-evaluator-proxy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-evaluator-proxy.js","sourceRoot":"","sources":["../../src/expression-evaluator-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAK7D,MAAM,YAAY,GAAiB,GAAG,EAAE,GAAE,CAAC,CAAC;AAC5C,MAAM,mBAAmB,GAAG,IAAI,UAAU,CAAC,YAAY,EAAE,SAAS,EAAE,SAAS,EAAE;IAC9E,MAAM,EAAE,EAAE;IACV,KAAK,EAAE,CAAC,kBAAkB,CAAC;CAC3B,CAAC,CAAC;AACH,MAAM,SAAS,GAAc,mBAAmB,CAAC,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;AAEnF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAAqB,EAAE,EAAE;IACxD,mBAAmB,CAAC,YAAY,GAAG,OAAO,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAc,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE;IAC3D,OAAO,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import { type ASTAfterHook } from '@n8n/tournament';
2
+ export declare const sanitizerName = "__sanitize";
3
+ export declare const PrototypeSanitizer: ASTAfterHook;
4
+ export declare const sanitizer: (value: unknown) => unknown;
5
+ //# sourceMappingURL=expression-sandboxing.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-sandboxing.d.ts","sourceRoot":"","sources":["../../src/expression-sandboxing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAA8B,MAAM,iBAAiB,CAAC;AAKhF,eAAO,MAAM,aAAa,eAAe,CAAC;AAG1C,eAAO,MAAM,kBAAkB,EAAE,YA2ChC,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,OAK1C,CAAC"}
@@ -0,0 +1,47 @@
1
+ import { astBuilders as b, astVisit } from '@n8n/tournament';
2
+ import { ExpressionError } from './errors';
3
+ import { isSafeObjectProperty } from './utils';
4
+ export const sanitizerName = '__sanitize';
5
+ const sanitizerIdentifier = b.identifier(sanitizerName);
6
+ export const PrototypeSanitizer = (ast, dataNode) => {
7
+ astVisit(ast, {
8
+ visitMemberExpression(path) {
9
+ this.traverse(path);
10
+ const node = path.node;
11
+ if (!node.computed) {
12
+ // This is static, so we're safe to error here
13
+ if (node.property.type !== 'Identifier') {
14
+ // eslint-disable-next-line n8n-local-rules/no-plain-errors
15
+ throw new ExpressionError(`Unknown property type ${node.property.type} while sanitising expression`);
16
+ }
17
+ if (!isSafeObjectProperty(node.property.name)) {
18
+ throw new ExpressionError(`Cannot access "${node.property.name}" due to security concerns`);
19
+ }
20
+ }
21
+ else if (node.property.type === 'StringLiteral' || node.property.type === 'Literal') {
22
+ // Check any static strings against our forbidden list
23
+ if (!isSafeObjectProperty(node.property.value)) {
24
+ throw new ExpressionError(`Cannot access "${node.property.value}" due to security concerns`);
25
+ }
26
+ }
27
+ else if (!node.property.type.endsWith('Literal')) {
28
+ // This isn't a literal value, so we need to wrap it
29
+ path.replace(b.memberExpression(
30
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any
31
+ node.object,
32
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
33
+ b.callExpression(b.memberExpression(dataNode, sanitizerIdentifier), [
34
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
35
+ node.property,
36
+ ]), true));
37
+ }
38
+ },
39
+ });
40
+ };
41
+ export const sanitizer = (value) => {
42
+ if (!isSafeObjectProperty(value)) {
43
+ throw new ExpressionError(`Cannot access "${value}" due to security concerns`);
44
+ }
45
+ return value;
46
+ };
47
+ //# sourceMappingURL=expression-sandboxing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-sandboxing.js","sourceRoot":"","sources":["../../src/expression-sandboxing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,WAAW,IAAI,CAAC,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEhF,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC;AAC1C,MAAM,mBAAmB,GAAG,CAAC,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,kBAAkB,GAAiB,CAAC,GAAG,EAAE,QAAQ,EAAE,EAAE;IACjE,QAAQ,CAAC,GAAG,EAAE;QACb,qBAAqB,CAAC,IAAI;YACzB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACpB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpB,8CAA8C;gBAC9C,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACzC,2DAA2D;oBAC3D,MAAM,IAAI,eAAe,CACxB,yBAAyB,IAAI,CAAC,QAAQ,CAAC,IAAI,8BAA8B,CACzE,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC/C,MAAM,IAAI,eAAe,CACxB,kBAAkB,IAAI,CAAC,QAAQ,CAAC,IAAI,4BAA4B,CAChE,CAAC;gBACH,CAAC;YACF,CAAC;iBAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,eAAe,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;gBACvF,sDAAsD;gBACtD,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAe,CAAC,EAAE,CAAC;oBAC1D,MAAM,IAAI,eAAe,CACxB,kBAAkB,IAAI,CAAC,QAAQ,CAAC,KAAe,4BAA4B,CAC3E,CAAC;gBACH,CAAC;YACF,CAAC;iBAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpD,oDAAoD;gBACpD,IAAI,CAAC,OAAO,CACX,CAAC,CAAC,gBAAgB;gBACjB,qGAAqG;gBACrG,IAAI,CAAC,MAAa;gBAClB,iEAAiE;gBACjE,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,gBAAgB,CAAC,QAAQ,EAAE,mBAAmB,CAAC,EAAE;oBACnE,8DAA8D;oBAC9D,IAAI,CAAC,QAAe;iBACpB,CAAC,EACF,IAAI,CACJ,CACD,CAAC;YACH,CAAC;QACF,CAAC;KACD,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAW,EAAE;IACpD,IAAI,CAAC,oBAAoB,CAAC,KAAe,CAAC,EAAE,CAAC;QAC5C,MAAM,IAAI,eAAe,CAAC,kBAAkB,KAAe,4BAA4B,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC,CAAC"}
@@ -0,0 +1,46 @@
1
+ import type { IDataObject, IExecuteData, INode, INodeExecutionData, INodeParameterResourceLocator, INodeParameters, IRunExecutionData, IWorkflowDataProxyAdditionalKeys, NodeParameterValue, NodeParameterValueType, WorkflowExecuteMode } from './interfaces';
2
+ import type { Workflow } from './workflow';
3
+ export declare class Expression {
4
+ private readonly workflow;
5
+ constructor(workflow: Workflow);
6
+ static resolveWithoutWorkflow(expression: string, data?: IDataObject): string | (() => unknown) | null;
7
+ /**
8
+ * Converts an object to a string in a way to make it clear that
9
+ * the value comes from an object
10
+ *
11
+ */
12
+ convertObjectValueToString(value: object): string;
13
+ /**
14
+ * Resolves the parameter value. If it is an expression it will execute it and
15
+ * return the result. For everything simply the supplied value will be returned.
16
+ *
17
+ * @param {(IRunExecutionData | null)} runExecutionData
18
+ * @param {boolean} [returnObjectAsString=false]
19
+ */
20
+ resolveSimpleParameterValue(parameterValue: NodeParameterValue, siblingParameters: INodeParameters, runExecutionData: IRunExecutionData | null, runIndex: number, itemIndex: number, activeNodeName: string, connectionInputData: INodeExecutionData[], mode: WorkflowExecuteMode, additionalKeys: IWorkflowDataProxyAdditionalKeys, executeData?: IExecuteData, returnObjectAsString?: boolean, selfData?: {}, contextNodeName?: string): NodeParameterValue | INodeParameters | NodeParameterValue[] | INodeParameters[];
21
+ private renderExpression;
22
+ /**
23
+ * Resolves value of parameter. But does not work for workflow-data.
24
+ *
25
+ * @param {(string | undefined)} parameterValue
26
+ */
27
+ getSimpleParameterValue(node: INode, parameterValue: string | boolean | undefined, mode: WorkflowExecuteMode, additionalKeys: IWorkflowDataProxyAdditionalKeys, executeData?: IExecuteData, defaultValue?: boolean | number | string | unknown[]): boolean | number | string | undefined | unknown[];
28
+ /**
29
+ * Resolves value of complex parameter. But does not work for workflow-data.
30
+ *
31
+ * @param {(NodeParameterValue | INodeParameters | NodeParameterValue[] | INodeParameters[])} parameterValue
32
+ * @param {(NodeParameterValue | INodeParameters | NodeParameterValue[] | INodeParameters[] | undefined)} [defaultValue]
33
+ */
34
+ getComplexParameterValue(node: INode, parameterValue: NodeParameterValue | INodeParameters | NodeParameterValue[] | INodeParameters[], mode: WorkflowExecuteMode, additionalKeys: IWorkflowDataProxyAdditionalKeys, executeData?: IExecuteData, defaultValue?: NodeParameterValueType | undefined, selfData?: {}): NodeParameterValueType | undefined;
35
+ /**
36
+ * Returns the resolved node parameter value. If it is an expression it will execute it and
37
+ * return the result. If the value to resolve is an array or object it will do the same
38
+ * for all of the items and values.
39
+ *
40
+ * @param {(NodeParameterValue | INodeParameters | NodeParameterValue[] | INodeParameters[])} parameterValue
41
+ * @param {(IRunExecutionData | null)} runExecutionData
42
+ * @param {boolean} [returnObjectAsString=false]
43
+ */
44
+ getParameterValue(parameterValue: NodeParameterValueType | INodeParameterResourceLocator, runExecutionData: IRunExecutionData | null, runIndex: number, itemIndex: number, activeNodeName: string, connectionInputData: INodeExecutionData[], mode: WorkflowExecuteMode, additionalKeys: IWorkflowDataProxyAdditionalKeys, executeData?: IExecuteData, returnObjectAsString?: boolean, selfData?: {}, contextNodeName?: string): NodeParameterValueType;
45
+ }
46
+ //# sourceMappingURL=expression.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../src/expression.ts"],"names":[],"mappings":"AAWA,OAAO,KAAK,EACX,WAAW,EACX,YAAY,EACZ,KAAK,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,eAAe,EACf,iBAAiB,EACjB,gCAAgC,EAEhC,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AA0B3C,qBAAa,UAAU;IACV,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ;IAE/C,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB;IAIxE;;;;OAIG;IACH,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAiCjD;;;;;;OAMG;IAGH,2BAA2B,CAC1B,cAAc,EAAE,kBAAkB,EAClC,iBAAiB,EAAE,eAAe,EAClC,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,EAC1C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,kBAAkB,EAAE,EACzC,IAAI,EAAE,mBAAmB,EACzB,cAAc,EAAE,gCAAgC,EAChD,WAAW,CAAC,EAAE,YAAY,EAC1B,oBAAoB,UAAQ,EAC5B,QAAQ,KAAK,EACb,eAAe,CAAC,EAAE,MAAM,GACtB,kBAAkB,GAAG,eAAe,GAAG,kBAAkB,EAAE,GAAG,eAAe,EAAE;IAkNlF,OAAO,CAAC,gBAAgB;IAoBxB;;;;OAIG;IACH,uBAAuB,CACtB,IAAI,EAAE,KAAK,EACX,cAAc,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,EAC5C,IAAI,EAAE,mBAAmB,EACzB,cAAc,EAAE,gCAAgC,EAChD,WAAW,CAAC,EAAE,YAAY,EAC1B,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAClD,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,EAAE;IA6BpD;;;;;OAKG;IACH,wBAAwB,CACvB,IAAI,EAAE,KAAK,EACX,cAAc,EAAE,kBAAkB,GAAG,eAAe,GAAG,kBAAkB,EAAE,GAAG,eAAe,EAAE,EAC/F,IAAI,EAAE,mBAAmB,EACzB,cAAc,EAAE,gCAAgC,EAChD,WAAW,CAAC,EAAE,YAAY,EAC1B,YAAY,GAAE,sBAAsB,GAAG,SAAqB,EAC5D,QAAQ,KAAK,GACX,sBAAsB,GAAG,SAAS;IA+CrC;;;;;;;;OAQG;IAEH,iBAAiB,CAChB,cAAc,EAAE,sBAAsB,GAAG,6BAA6B,EACtE,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,EAC1C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,kBAAkB,EAAE,EACzC,IAAI,EAAE,mBAAmB,EACzB,cAAc,EAAE,gCAAgC,EAChD,WAAW,CAAC,EAAE,YAAY,EAC1B,oBAAoB,UAAQ,EAC5B,QAAQ,KAAK,EACb,eAAe,CAAC,EAAE,MAAM,GACtB,sBAAsB;CAiGzB"}
@@ -1,71 +1,92 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Expression = void 0;
4
- const luxon_1 = require("luxon");
5
- const application_error_1 = require("./errors/application.error");
6
- const expression_extension_error_1 = require("./errors/expression-extension.error");
7
- const expression_error_1 = require("./errors/expression.error");
8
- const expression_evaluator_proxy_1 = require("./expression-evaluator-proxy");
9
- const expression_sandboxing_1 = require("./expression-sandboxing");
10
- const extensions_1 = require("./extensions");
11
- const expression_extension_1 = require("./extensions/expression-extension");
12
- const extended_functions_1 = require("./extensions/extended-functions");
13
- const global_state_1 = require("./global-state");
14
- const workflow_data_proxy_1 = require("./workflow-data-proxy");
1
+ import { DateTime, Duration, Interval } from 'luxon';
2
+ import { ApplicationError } from './errors/application.error';
3
+ import { ExpressionExtensionError } from './errors/expression-extension.error';
4
+ import { ExpressionError } from './errors/expression.error';
5
+ import { evaluateExpression, setErrorHandler } from './expression-evaluator-proxy';
6
+ import { sanitizer, sanitizerName } from './expression-sandboxing';
7
+ import { extend, extendOptional } from './extensions';
8
+ import { extendSyntax } from './extensions/expression-extension';
9
+ import { extendedFunctions } from './extensions/extended-functions';
10
+ import { getGlobalState } from './global-state';
11
+ import { WorkflowDataProxy } from './workflow-data-proxy';
12
+ import { isExpression } from './expressions/expression-helpers';
15
13
  const IS_FRONTEND_IN_DEV_MODE = typeof process === 'object' &&
16
14
  Object.keys(process).length === 1 &&
17
15
  'env' in process &&
18
16
  Object.keys(process.env).length === 0;
19
17
  const IS_FRONTEND = typeof process === 'undefined' || IS_FRONTEND_IN_DEV_MODE;
20
18
  const isSyntaxError = (error) => error instanceof SyntaxError || (error instanceof Error && error.name === 'SyntaxError');
21
- const isExpressionError = (error) => error instanceof expression_error_1.ExpressionError || error instanceof expression_extension_error_1.ExpressionExtensionError;
19
+ const isExpressionError = (error) => error instanceof ExpressionError || error instanceof ExpressionExtensionError;
22
20
  const isTypeError = (error) => error instanceof TypeError || (error instanceof Error && error.name === 'TypeError');
23
- (0, expression_evaluator_proxy_1.setErrorHandler)((error) => {
21
+ // Make sure that error get forwarded
22
+ setErrorHandler((error) => {
24
23
  if (isExpressionError(error))
25
24
  throw error;
26
25
  });
27
- class Expression {
26
+ export class Expression {
27
+ workflow;
28
28
  constructor(workflow) {
29
29
  this.workflow = workflow;
30
30
  }
31
31
  static resolveWithoutWorkflow(expression, data = {}) {
32
- return (0, expression_evaluator_proxy_1.evaluateExpression)(expression, data);
32
+ return evaluateExpression(expression, data);
33
33
  }
34
+ /**
35
+ * Converts an object to a string in a way to make it clear that
36
+ * the value comes from an object
37
+ *
38
+ */
34
39
  convertObjectValueToString(value) {
35
- if (value instanceof luxon_1.DateTime && value.invalidReason !== null) {
36
- throw new application_error_1.ApplicationError('invalid DateTime');
40
+ if (value instanceof DateTime && value.invalidReason !== null) {
41
+ throw new ApplicationError('invalid DateTime');
37
42
  }
38
43
  if (value === null) {
39
44
  return 'null';
40
45
  }
41
46
  let typeName = value.constructor.name ?? 'Object';
42
- if (luxon_1.DateTime.isDateTime(value)) {
47
+ if (DateTime.isDateTime(value)) {
43
48
  typeName = 'DateTime';
44
49
  }
45
50
  let result = '';
46
51
  if (value instanceof Date) {
47
- result = luxon_1.DateTime.fromJSDate(value, {
48
- zone: this.workflow.settings?.timezone ?? (0, global_state_1.getGlobalState)().defaultTimezone,
52
+ // We don't want to use JSON.stringify for dates since it disregards workflow timezone
53
+ result = DateTime.fromJSDate(value, {
54
+ zone: this.workflow.settings?.timezone ?? getGlobalState().defaultTimezone,
49
55
  }).toISO();
50
56
  }
51
- else if (luxon_1.DateTime.isDateTime(value)) {
57
+ else if (DateTime.isDateTime(value)) {
52
58
  result = value.toString();
53
59
  }
54
60
  else {
55
61
  result = JSON.stringify(value);
56
62
  }
57
63
  result = result
58
- .replace(/,"/g, ', "')
59
- .replace(/":/g, '": ');
64
+ .replace(/,"/g, ', "') // spacing for
65
+ .replace(/":/g, '": '); // readability
60
66
  return `[${typeName}: ${result}]`;
61
67
  }
68
+ /**
69
+ * Resolves the parameter value. If it is an expression it will execute it and
70
+ * return the result. For everything simply the supplied value will be returned.
71
+ *
72
+ * @param {(IRunExecutionData | null)} runExecutionData
73
+ * @param {boolean} [returnObjectAsString=false]
74
+ */
75
+ // TODO: Clean that up at some point and move all the options into an options object
76
+ // eslint-disable-next-line complexity
62
77
  resolveSimpleParameterValue(parameterValue, siblingParameters, runExecutionData, runIndex, itemIndex, activeNodeName, connectionInputData, mode, additionalKeys, executeData, returnObjectAsString = false, selfData = {}, contextNodeName) {
63
- if (typeof parameterValue !== 'string' || parameterValue.charAt(0) !== '=') {
78
+ // Check if it is an expression
79
+ if (!isExpression(parameterValue)) {
80
+ // Is no expression so return value
64
81
  return parameterValue;
65
82
  }
83
+ // Is an expression
84
+ // Remove the equal sign
66
85
  parameterValue = parameterValue.substr(1);
67
- const dataProxy = new workflow_data_proxy_1.WorkflowDataProxy(this.workflow, runExecutionData, runIndex, itemIndex, activeNodeName, connectionInputData, siblingParameters, mode, additionalKeys, executeData, -1, selfData, contextNodeName);
86
+ // Generate a data proxy which allows to query workflow data
87
+ const dataProxy = new WorkflowDataProxy(this.workflow, runExecutionData, runIndex, itemIndex, activeNodeName, connectionInputData, siblingParameters, mode, additionalKeys, executeData, -1, selfData, contextNodeName);
68
88
  const data = dataProxy.getDataProxy();
89
+ // Support only a subset of process properties
69
90
  data.process =
70
91
  typeof process !== 'undefined'
71
92
  ? {
@@ -79,6 +100,9 @@ class Expression {
79
100
  versions: process.versions,
80
101
  }
81
102
  : {};
103
+ /**
104
+ * Denylist
105
+ */
82
106
  data.document = {};
83
107
  data.global = {};
84
108
  data.window = {};
@@ -86,32 +110,45 @@ class Expression {
86
110
  data.this = {};
87
111
  data.globalThis = {};
88
112
  data.self = {};
113
+ // Alerts
89
114
  data.alert = {};
90
115
  data.prompt = {};
91
116
  data.confirm = {};
117
+ // Prevent Remote Code Execution
92
118
  data.eval = {};
93
119
  data.uneval = {};
94
120
  data.setTimeout = {};
95
121
  data.setInterval = {};
96
122
  data.Function = {};
123
+ // Prevent requests
97
124
  data.fetch = {};
98
125
  data.XMLHttpRequest = {};
126
+ // Prevent control abstraction
99
127
  data.Promise = {};
100
128
  data.Generator = {};
101
129
  data.GeneratorFunction = {};
102
130
  data.AsyncFunction = {};
103
131
  data.AsyncGenerator = {};
104
132
  data.AsyncGeneratorFunction = {};
133
+ // Prevent WASM
105
134
  data.WebAssembly = {};
135
+ // Prevent Reflection
106
136
  data.Reflect = {};
107
137
  data.Proxy = {};
138
+ // Deprecated
108
139
  data.escape = {};
109
140
  data.unescape = {};
141
+ /**
142
+ * Allowlist
143
+ */
144
+ // Dates
110
145
  data.Date = Date;
111
- data.DateTime = luxon_1.DateTime;
112
- data.Interval = luxon_1.Interval;
113
- data.Duration = luxon_1.Duration;
146
+ data.DateTime = DateTime;
147
+ data.Interval = Interval;
148
+ data.Duration = Duration;
149
+ // Objects
114
150
  data.Object = Object;
151
+ // Arrays
115
152
  data.Array = Array;
116
153
  data.Int8Array = Int8Array;
117
154
  data.Uint8Array = Uint8Array;
@@ -124,10 +161,12 @@ class Expression {
124
161
  data.Float64Array = Float64Array;
125
162
  data.BigInt64Array = typeof BigInt64Array !== 'undefined' ? BigInt64Array : {};
126
163
  data.BigUint64Array = typeof BigUint64Array !== 'undefined' ? BigUint64Array : {};
164
+ // Collections
127
165
  data.Map = typeof Map !== 'undefined' ? Map : {};
128
166
  data.WeakMap = typeof WeakMap !== 'undefined' ? WeakMap : {};
129
167
  data.Set = typeof Set !== 'undefined' ? Set : {};
130
168
  data.WeakSet = typeof WeakSet !== 'undefined' ? WeakSet : {};
169
+ // Errors
131
170
  data.Error = Error;
132
171
  data.TypeError = TypeError;
133
172
  data.SyntaxError = SyntaxError;
@@ -135,10 +174,15 @@ class Expression {
135
174
  data.RangeError = RangeError;
136
175
  data.ReferenceError = ReferenceError;
137
176
  data.URIError = URIError;
177
+ // Internationalization
138
178
  data.Intl = typeof Intl !== 'undefined' ? Intl : {};
179
+ // Text
180
+ // eslint-disable-next-line id-denylist
139
181
  data.String = String;
140
182
  data.RegExp = RegExp;
183
+ // Math
141
184
  data.Math = Math;
185
+ // eslint-disable-next-line id-denylist
142
186
  data.Number = Number;
143
187
  data.BigInt = typeof BigInt !== 'undefined' ? BigInt : {};
144
188
  data.Infinity = Infinity;
@@ -147,6 +191,7 @@ class Expression {
147
191
  data.isNaN = Number.isNaN;
148
192
  data.parseFloat = parseFloat;
149
193
  data.parseInt = parseInt;
194
+ // Structured data
150
195
  data.JSON = JSON;
151
196
  data.ArrayBuffer = typeof ArrayBuffer !== 'undefined' ? ArrayBuffer : {};
152
197
  data.SharedArrayBuffer = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : {};
@@ -156,28 +201,32 @@ class Expression {
156
201
  data.encodeURIComponent = encodeURIComponent;
157
202
  data.decodeURI = decodeURI;
158
203
  data.decodeURIComponent = decodeURIComponent;
204
+ // Other
205
+ // eslint-disable-next-line id-denylist
159
206
  data.Boolean = Boolean;
160
207
  data.Symbol = Symbol;
161
- data.extend = extensions_1.extend;
162
- data.extendOptional = extensions_1.extendOptional;
163
- data[expression_sandboxing_1.sanitizerName] = expression_sandboxing_1.sanitizer;
164
- Object.assign(data, extended_functions_1.extendedFunctions);
208
+ // expression extensions
209
+ data.extend = extend;
210
+ data.extendOptional = extendOptional;
211
+ data[sanitizerName] = sanitizer;
212
+ Object.assign(data, extendedFunctions);
165
213
  const constructorValidation = new RegExp(/\.\s*constructor/gm);
166
214
  if (parameterValue.match(constructorValidation)) {
167
- throw new expression_error_1.ExpressionError('Expression contains invalid constructor function call', {
215
+ throw new ExpressionError('Expression contains invalid constructor function call', {
168
216
  causeDetailed: 'Constructor override attempt is not allowed due to security concerns',
169
217
  runIndex,
170
218
  itemIndex,
171
219
  });
172
220
  }
173
- const extendedExpression = (0, expression_extension_1.extendSyntax)(parameterValue);
221
+ // Execute the expression
222
+ const extendedExpression = extendSyntax(parameterValue);
174
223
  const returnValue = this.renderExpression(extendedExpression, data);
175
224
  if (typeof returnValue === 'function') {
176
225
  if (returnValue.name === '$')
177
- throw new application_error_1.ApplicationError('invalid syntax');
226
+ throw new ApplicationError('invalid syntax');
178
227
  if (returnValue.name === 'DateTime')
179
- throw new application_error_1.ApplicationError('this is a DateTime, please access its methods');
180
- throw new application_error_1.ApplicationError('this is a function, please add ()');
228
+ throw new ApplicationError('this is a DateTime, please access its methods');
229
+ throw new ApplicationError('this is a function, please add ()');
181
230
  }
182
231
  else if (typeof returnValue === 'string') {
183
232
  return returnValue;
@@ -191,26 +240,33 @@ class Expression {
191
240
  }
192
241
  renderExpression(expression, data) {
193
242
  try {
194
- return (0, expression_evaluator_proxy_1.evaluateExpression)(expression, data);
243
+ return evaluateExpression(expression, data);
195
244
  }
196
245
  catch (error) {
197
246
  if (isExpressionError(error))
198
247
  throw error;
199
248
  if (isSyntaxError(error))
200
- throw new application_error_1.ApplicationError('invalid syntax');
249
+ throw new ApplicationError('invalid syntax');
201
250
  if (isTypeError(error) && IS_FRONTEND && error.message.endsWith('is not a function')) {
202
251
  const match = error.message.match(/(?<msg>[^.]+is not a function)/);
203
252
  if (!match?.groups?.msg)
204
253
  return null;
205
- throw new application_error_1.ApplicationError(match.groups.msg);
254
+ throw new ApplicationError(match.groups.msg);
206
255
  }
207
256
  }
208
257
  return null;
209
258
  }
259
+ /**
260
+ * Resolves value of parameter. But does not work for workflow-data.
261
+ *
262
+ * @param {(string | undefined)} parameterValue
263
+ */
210
264
  getSimpleParameterValue(node, parameterValue, mode, additionalKeys, executeData, defaultValue) {
211
265
  if (parameterValue === undefined) {
266
+ // Value is not set so return the default
212
267
  return defaultValue;
213
268
  }
269
+ // Get the value of the node (can be an expression)
214
270
  const runIndex = 0;
215
271
  const itemIndex = 0;
216
272
  const connectionInputData = [];
@@ -221,10 +277,18 @@ class Expression {
221
277
  };
222
278
  return this.getParameterValue(parameterValue, runData, runIndex, itemIndex, node.name, connectionInputData, mode, additionalKeys, executeData);
223
279
  }
280
+ /**
281
+ * Resolves value of complex parameter. But does not work for workflow-data.
282
+ *
283
+ * @param {(NodeParameterValue | INodeParameters | NodeParameterValue[] | INodeParameters[])} parameterValue
284
+ * @param {(NodeParameterValue | INodeParameters | NodeParameterValue[] | INodeParameters[] | undefined)} [defaultValue]
285
+ */
224
286
  getComplexParameterValue(node, parameterValue, mode, additionalKeys, executeData, defaultValue = undefined, selfData = {}) {
225
287
  if (parameterValue === undefined) {
288
+ // Value is not set so return the default
226
289
  return defaultValue;
227
290
  }
291
+ // Get the value of the node (can be an expression)
228
292
  const runIndex = 0;
229
293
  const itemIndex = 0;
230
294
  const connectionInputData = [];
@@ -233,23 +297,40 @@ class Expression {
233
297
  runData: {},
234
298
  },
235
299
  };
300
+ // Resolve the "outer" main values
236
301
  const returnData = this.getParameterValue(parameterValue, runData, runIndex, itemIndex, node.name, connectionInputData, mode, additionalKeys, executeData, false, selfData);
302
+ // Resolve the "inner" values
237
303
  return this.getParameterValue(returnData, runData, runIndex, itemIndex, node.name, connectionInputData, mode, additionalKeys, executeData, false, selfData);
238
304
  }
305
+ /**
306
+ * Returns the resolved node parameter value. If it is an expression it will execute it and
307
+ * return the result. If the value to resolve is an array or object it will do the same
308
+ * for all of the items and values.
309
+ *
310
+ * @param {(NodeParameterValue | INodeParameters | NodeParameterValue[] | INodeParameters[])} parameterValue
311
+ * @param {(IRunExecutionData | null)} runExecutionData
312
+ * @param {boolean} [returnObjectAsString=false]
313
+ */
314
+ // TODO: Clean that up at some point and move all the options into an options object
239
315
  getParameterValue(parameterValue, runExecutionData, runIndex, itemIndex, activeNodeName, connectionInputData, mode, additionalKeys, executeData, returnObjectAsString = false, selfData = {}, contextNodeName) {
316
+ // Helper function which returns true when the parameter is a complex one or array
240
317
  const isComplexParameter = (value) => {
241
318
  return typeof value === 'object';
242
319
  };
320
+ // Helper function which resolves a parameter value depending on if it is simply or not
243
321
  const resolveParameterValue = (value, siblingParameters) => {
244
322
  if (isComplexParameter(value)) {
245
323
  return this.getParameterValue(value, runExecutionData, runIndex, itemIndex, activeNodeName, connectionInputData, mode, additionalKeys, executeData, returnObjectAsString, selfData, contextNodeName);
246
324
  }
247
325
  return this.resolveSimpleParameterValue(value, siblingParameters, runExecutionData, runIndex, itemIndex, activeNodeName, connectionInputData, mode, additionalKeys, executeData, returnObjectAsString, selfData, contextNodeName);
248
326
  };
327
+ // Check if it value is a simple one that we can get it resolved directly
249
328
  if (!isComplexParameter(parameterValue)) {
250
329
  return this.resolveSimpleParameterValue(parameterValue, {}, runExecutionData, runIndex, itemIndex, activeNodeName, connectionInputData, mode, additionalKeys, executeData, returnObjectAsString, selfData, contextNodeName);
251
330
  }
331
+ // The parameter value is complex so resolve depending on type
252
332
  if (Array.isArray(parameterValue)) {
333
+ // Data is an array
253
334
  const returnData = parameterValue.map((item) => resolveParameterValue(item, {}));
254
335
  return returnData;
255
336
  }
@@ -259,6 +340,7 @@ class Expression {
259
340
  if (typeof parameterValue !== 'object') {
260
341
  return {};
261
342
  }
343
+ // Data is an object
262
344
  const returnData = {};
263
345
  for (const [key, value] of Object.entries(parameterValue)) {
264
346
  returnData[key] = resolveParameterValue(value, parameterValue);
@@ -269,5 +351,4 @@ class Expression {
269
351
  return returnData;
270
352
  }
271
353
  }
272
- exports.Expression = Expression;
273
354
  //# sourceMappingURL=expression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression.js","sourceRoot":"","sources":["../../src/expression.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Checks if the given value is an expression. An expression is a string that
3
+ * starts with '='.
4
+ */
5
+ export declare const isExpression: (expr: unknown) => expr is string;
6
+ //# sourceMappingURL=expression-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-helpers.d.ts","sourceRoot":"","sources":["../../../src/expressions/expression-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,OAAO,KAAG,IAAI,IAAI,MAIpD,CAAC"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Checks if the given value is an expression. An expression is a string that
3
+ * starts with '='.
4
+ */
5
+ export const isExpression = (expr) => {
6
+ if (typeof expr !== 'string')
7
+ return false;
8
+ return expr.charAt(0) === '=';
9
+ };
10
+ //# sourceMappingURL=expression-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"expression-helpers.js","sourceRoot":"","sources":["../../../src/expressions/expression-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAa,EAAkB,EAAE;IAC7D,IAAI,OAAO,IAAI,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAE3C,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC;AAC/B,CAAC,CAAC"}
@@ -0,0 +1,33 @@
1
+ import type { ExtensionMap } from './extensions';
2
+ export declare function average(value: unknown[]): number;
3
+ export declare namespace average {
4
+ var doc: {
5
+ name: string;
6
+ description: string;
7
+ examples: {
8
+ example: string;
9
+ evaluated: string;
10
+ }[];
11
+ returnType: string;
12
+ docURL: string;
13
+ };
14
+ }
15
+ export declare function toJsonString(value: unknown[]): string;
16
+ export declare namespace toJsonString {
17
+ var doc: {
18
+ name: string;
19
+ description: string;
20
+ examples: {
21
+ example: string;
22
+ evaluated: string;
23
+ }[];
24
+ docURL: string;
25
+ returnType: string;
26
+ };
27
+ }
28
+ export declare function toInt(): undefined;
29
+ export declare function toFloat(): undefined;
30
+ export declare function toBoolean(): undefined;
31
+ export declare function toDateTime(): undefined;
32
+ export declare const arrayExtensions: ExtensionMap;
33
+ //# sourceMappingURL=array-extensions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"array-extensions.d.ts","sourceRoot":"","sources":["../../../src/extensions/array-extensions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAa,YAAY,EAAE,MAAM,cAAc,CAAC;AAsH5D,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,EAAE,UASvC;yBATe,OAAO;;;;;;;;;;;;AAiMvB,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,UAE5C;yBAFe,YAAY;;;;;;;;;;;;AAI5B,wBAAgB,KAAK,cAEpB;AAED,wBAAgB,OAAO,cAEtB;AAED,wBAAgB,SAAS,cAExB;AAED,wBAAgB,UAAU,cAEzB;AAiVD,eAAO,MAAM,eAAe,EAAE,YA8B7B,CAAC"}