n8n-workflow 1.97.0 → 1.99.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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} +3 -1
  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} +106 -3
  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} +32 -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 +2172 -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 -102
  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 -245
  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,21 +1,13 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.stringExtensions = exports.SupportedHashAlgorithms = void 0;
7
- exports.toJsonString = toJsonString;
8
- exports.toDateTime = toDateTime;
9
- const js_base64_1 = require("js-base64");
10
- const jssha_1 = __importDefault(require("jssha"));
11
- const luxon_1 = require("luxon");
12
- const md5_1 = __importDefault(require("md5"));
13
- const title_case_1 = require("title-case");
14
- const transliteration_1 = require("transliteration");
15
- const number_extensions_1 = require("./number-extensions");
16
- const expression_extension_error_1 = require("../errors/expression-extension.error");
17
- const type_validation_1 = require("../type-validation");
18
- exports.SupportedHashAlgorithms = [
1
+ import { toBase64, fromBase64 } from 'js-base64';
2
+ import SHA from 'jssha';
3
+ import { DateTime } from 'luxon';
4
+ import MD5 from 'md5';
5
+ import { titleCase } from 'title-case';
6
+ import { transliterate } from 'transliteration';
7
+ import { toDateTime as numberToDateTime } from './number-extensions';
8
+ import { ExpressionExtensionError } from '../errors/expression-extension.error';
9
+ import { tryToParseDateTime } from '../type-validation';
10
+ export const SupportedHashAlgorithms = [
19
11
  'md5',
20
12
  'sha1',
21
13
  'sha224',
@@ -24,11 +16,86 @@ exports.SupportedHashAlgorithms = [
24
16
  'sha512',
25
17
  'sha3',
26
18
  ];
19
+ // All symbols from https://www.xe.com/symbols/ as for 2022/11/09
27
20
  const CURRENCY_REGEXP = /(\u004c\u0065\u006b|\u060b|\u0024|\u0192|\u20bc|\u0042\u0072|\u0042\u005a\u0024|\u0024\u0062|\u004b\u004d|\u0050|\u043b\u0432|\u0052\u0024|\u17db|\u00a5|\u20a1|\u006b\u006e|\u20b1|\u004b\u010d|\u006b\u0072|\u0052\u0044\u0024|\u00a3|\u20ac|\u00a2|\u0051|\u004c|\u0046\u0074|\u20b9|\u0052\u0070|\ufdfc|\u20aa|\u004a\u0024|\u20a9|\u20ad|\u0434\u0435\u043d|\u0052\u004d|\u20a8|\u20ae|\u004d\u0054|\u0043\u0024|\u20a6|\u0042\u002f\u002e|\u0047\u0073|\u0053\u002f\u002e|\u007a\u0142|\u006c\u0065\u0069|\u20bd|\u0414\u0438\u043d\u002e|\u0053|\u0052|\u0043\u0048\u0046|\u004e\u0054\u0024|\u0e3f|\u0054\u0054\u0024|\u20ba|\u20b4|\u0024\u0055|\u0042\u0073|\u20ab|\u005a\u0024)/gu;
21
+ /*
22
+ Extract the domain part from various inputs, including URLs, email addresses, and plain domains.
23
+
24
+ /^(?:(?:https?|ftp):\/\/)? // Match optional http, https, or ftp protocols
25
+ (?:mailto:)? // Match optional mailto:
26
+ (?:\/\/)? // Match optional double slashes
27
+ (?:www\.)? // Match optional www prefix
28
+ (?:[-\w]*\.)? // Match any optional subdomain
29
+ ( // Capture the domain part
30
+ (?:(?:[-\w]+\.)+ // Match one or more subdomains
31
+ (?:[a-zA-Z]{2,}|xn--[a-zA-Z0-9]+) // Match top-level domain or Punycode encoded IDN(xn--80aswg.xn--p1ai)
32
+ |localhost // Match localhost
33
+ |\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} // Match IPv4 addresses
34
+ )
35
+ )
36
+ (?::\d+)? // Match optional port number
37
+ (?:\/[^\s?]*)? // Match optional path
38
+ (?:\?[^\s#]*)? // Match optional query string
39
+ (?:#[^\s]*)?$/i; // Match optional hash fragment
40
+ */
28
41
  const DOMAIN_EXTRACT_REGEXP = /^(?:(?:https?|ftp):\/\/)?(?:mailto:)?(?:\/\/)?((?:www\.)?(?:(?:[-\w]+\.)+(?:[a-zA-Z]{2,}|xn--[a-zA-Z0-9]+)|localhost|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}))(?::\d+)?(?:\/[^\s?]*)?(?:\?[^\s#]*)?(?:#[^\s]*)?$/i;
42
+ /*
43
+ Matches domain names without the protocol or optional subdomains
44
+
45
+ /^(?:www\.)? // Match optional www prefix
46
+ ( // Capture the domain part
47
+ (?:(?:[-\w]+\.)+ // Match one or more subdomains
48
+ (?:[a-zA-Z]{2,}|xn--[a-zA-Z0-9]+) // Match top-level domain or Punycode encoded IDN
49
+ |localhost // Match localhost
50
+ |\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} // Match IPv4 addresses
51
+ )
52
+ )
53
+ (?::\d+)? // Match optional port number
54
+ (?:\/[^\s?]*)? // Match optional path
55
+ (?:\?[^\s#]*)? // Match optional query string
56
+ (?:#[^\s]*)?$/i; // Match optional fragment at the end of the string
57
+ */
29
58
  const DOMAIN_REGEXP = /^(?:www\.)?((?:(?:[-\w]+\.)+(?:[a-zA-Z]{2,}|xn--[a-zA-Z0-9]+)|localhost|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}))(?::\d+)?(?:\/[^\s?]*)?(?:\?[^\s#]*)?(?:#[^\s]*)?$/i;
59
+ /*
60
+ Matches email addresses
61
+
62
+ /(
63
+ ( // Capture local part of the email address
64
+ ([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*) // One or more characters not in the set, followed by
65
+ a period, followed by one or more characters not in the set
66
+ |(".+") // Or one or more characters inside quotes
67
+ )
68
+ )
69
+ @ // Match @ symbol
70
+ (?<domain>( // Capture the domain part of the email address
71
+ \[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\] // Match IPv4 address inside brackets
72
+ |(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}) // Or match domain with at least two subdomains and TLD
73
+ ))/;
74
+ */
30
75
  const EMAIL_REGEXP = /(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@(?<domain>(\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))/;
76
+ /*
77
+ Matches URLs with strict beginning and end of the string checks
78
+
79
+ /^(?:(?:https?|ftp):\/\/) // Match http, https, or ftp protocols at the start of the string
80
+ (?:www\.)? // Match optional www prefix
81
+ ( // Capture the domain part
82
+ (?:(?:[-\w]+\.)+ // Match one or more subdomains
83
+ (?:[a-zA-Z]{2,}|xn--[a-zA-Z0-9]+) // Match top-level domain or Punycode encoded IDN
84
+ |localhost // Match localhost
85
+ |\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} // Match IPv4 addresses
86
+ )
87
+ )
88
+ (?::\d+)? // Match optional port number
89
+ (?:\/[^\s?#]*)? // Match optional path
90
+ (?:\?[^\s#]*)? // Match optional query string
91
+ (?=([^\s]+#.*)?) // Positive lookahead for the fragment identifier
92
+ #?[^\s]*$/i; // Match optional fragment at the end of the string
93
+ */
31
94
  const URL_REGEXP_EXACT = /^(?:(?:https?|ftp):\/\/)(?:www\.)?((?:(?:[-\w]+\.)+(?:[a-zA-Z]{2,}|xn--[a-zA-Z0-9]+)|localhost|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}))(?::\d+)?(?:\/[^\s?#]*)?(?:\?[^\s#]*)?(?=([^\s]+#.*)?)#?[^\s]*$/i;
95
+ /*
96
+ Same as URL_REGEXP_EXACT but without the strict beginning and end of the string checks to allow for
97
+ matching URLs in the middle of a string
98
+ */
32
99
  const URL_REGEXP = /(?:(?:https?|ftp):\/\/)(?:www\.)?((?:(?:[-\w]+\.)+(?:[a-zA-Z]{2,}|xn--[a-zA-Z0-9]+)|localhost|\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}))(?::\d+)?(?:\/[^\s?#]*)?(?:\?[^\s#]*)?(?=([^\s]+#.*)?)#?[^\s]*/i;
33
100
  const CHAR_TEST_REGEXP = /\p{L}/u;
34
101
  const PUNC_TEST_REGEXP = /[!?.]/;
@@ -36,9 +103,9 @@ function hash(value, extraArgs) {
36
103
  const algorithm = extraArgs[0]?.toLowerCase() ?? 'md5';
37
104
  switch (algorithm) {
38
105
  case 'base64':
39
- return (0, js_base64_1.toBase64)(value);
106
+ return toBase64(value);
40
107
  case 'md5':
41
- return (0, md5_1.default)(value);
108
+ return MD5(value);
42
109
  case 'sha1':
43
110
  case 'sha224':
44
111
  case 'sha256':
@@ -53,9 +120,9 @@ function hash(value, extraArgs) {
53
120
  sha512: 'SHA-512',
54
121
  sha3: 'SHA3-512',
55
122
  }[algorithm];
56
- return new jssha_1.default(variant, 'TEXT').update(value).getHash('HEX');
123
+ return new SHA(variant, 'TEXT').update(value).getHash('HEX');
57
124
  default:
58
- throw new expression_extension_error_1.ExpressionExtensionError(`Unknown algorithm ${algorithm}. Available algorithms are: ${exports.SupportedHashAlgorithms.join()}, and Base64.`);
125
+ throw new ExpressionExtensionError(`Unknown algorithm ${algorithm}. Available algorithms are: ${SupportedHashAlgorithms.join()}, and Base64.`);
59
126
  }
60
127
  }
61
128
  function isEmpty(value) {
@@ -67,7 +134,7 @@ function isNotEmpty(value) {
67
134
  function length(value) {
68
135
  return value.length;
69
136
  }
70
- function toJsonString(value) {
137
+ export function toJsonString(value) {
71
138
  return JSON.stringify(value);
72
139
  }
73
140
  function removeMarkdown(value) {
@@ -75,18 +142,29 @@ function removeMarkdown(value) {
75
142
  try {
76
143
  output = output.replace(/^([\s\t]*)([*\-+]|\d\.)\s+/gm, '$1');
77
144
  output = output
145
+ // Header
78
146
  .replace(/\n={2,}/g, '\n')
147
+ // Strikethrough
79
148
  .replace(/~~/g, '')
149
+ // Fenced codeblocks
80
150
  .replace(/`{3}.*\n/g, '');
81
151
  output = output
152
+ // Remove HTML tags
82
153
  .replace(/<[\w|\s|=|'|"|:|(|)|,|;|/|0-9|.|-]+[>|\\>]/g, '')
154
+ // Remove setext-style headers
83
155
  .replace(/^[=-]{2,}\s*$/g, '')
156
+ // Remove footnotes?
84
157
  .replace(/\[\^.+?\](: .*?$)?/g, '')
85
158
  .replace(/\s{0,2}\[.*?\]: .*?$/g, '')
159
+ // Remove images
86
160
  .replace(/!\[.*?\][[(].*?[\])]/g, '')
161
+ // Remove inline links
87
162
  .replace(/\[(.*?)\][[(].*?[\])]/g, '$1')
163
+ // Remove Blockquotes
88
164
  .replace(/>/g, '')
165
+ // Remove reference-style links?
89
166
  .replace(/^\s{1,2}\[(.*?)\]: (\S+)( ".*?")?\s*$/g, '')
167
+ // Remove atx-style headers
90
168
  .replace(/^#{1,6}\s*([^#]*)\s*(#{1,6})?/gm, '$1')
91
169
  .replace(/([*_]{1,3})(\S.*?\S)\1/g, '$2')
92
170
  .replace(/(`{3,})(.*?)\1/gm, '$2')
@@ -105,14 +183,15 @@ function removeTags(value) {
105
183
  function toDate(value) {
106
184
  const date = new Date(Date.parse(value));
107
185
  if (date.toString() === 'Invalid Date') {
108
- throw new expression_extension_error_1.ExpressionExtensionError('cannot convert to date');
186
+ throw new ExpressionExtensionError('cannot convert to date');
109
187
  }
188
+ // If time component is not specified, force 00:00h
110
189
  if (!/:/.test(value)) {
111
190
  date.setHours(0, 0, 0);
112
191
  }
113
192
  return date;
114
193
  }
115
- function toDateTime(value, extraArgs = ['']) {
194
+ export function toDateTime(value, extraArgs = ['']) {
116
195
  try {
117
196
  const [valueFormat] = extraArgs;
118
197
  if (valueFormat) {
@@ -120,14 +199,14 @@ function toDateTime(value, extraArgs = ['']) {
120
199
  valueFormat === 's' ||
121
200
  valueFormat === 'us' ||
122
201
  valueFormat === 'excel') {
123
- return (0, number_extensions_1.toDateTime)(Number(value), [valueFormat]);
202
+ return numberToDateTime(Number(value), [valueFormat]);
124
203
  }
125
- return luxon_1.DateTime.fromFormat(value, valueFormat);
204
+ return DateTime.fromFormat(value, valueFormat);
126
205
  }
127
- return (0, type_validation_1.tryToParseDateTime)(value);
206
+ return tryToParseDateTime(value);
128
207
  }
129
208
  catch (error) {
130
- throw new expression_extension_error_1.ExpressionExtensionError('cannot convert to Luxon DateTime');
209
+ throw new ExpressionExtensionError('cannot convert to Luxon DateTime');
131
210
  }
132
211
  }
133
212
  function urlDecode(value, extraArgs) {
@@ -148,24 +227,24 @@ function toInt(value, extraArgs) {
148
227
  const [radix] = extraArgs;
149
228
  const int = parseInt(value.replace(CURRENCY_REGEXP, ''), radix);
150
229
  if (isNaN(int)) {
151
- throw new expression_extension_error_1.ExpressionExtensionError('cannot convert to integer');
230
+ throw new ExpressionExtensionError('cannot convert to integer');
152
231
  }
153
232
  return int;
154
233
  }
155
234
  function toFloat(value) {
156
235
  if (value.includes(',')) {
157
- throw new expression_extension_error_1.ExpressionExtensionError('cannot convert to float, expected . as decimal separator');
236
+ throw new ExpressionExtensionError('cannot convert to float, expected . as decimal separator');
158
237
  }
159
238
  const float = parseFloat(value.replace(CURRENCY_REGEXP, ''));
160
239
  if (isNaN(float)) {
161
- throw new expression_extension_error_1.ExpressionExtensionError('cannot convert to float');
240
+ throw new ExpressionExtensionError('cannot convert to float');
162
241
  }
163
242
  return float;
164
243
  }
165
244
  function toNumber(value) {
166
245
  const num = Number(value.replace(CURRENCY_REGEXP, ''));
167
246
  if (isNaN(num)) {
168
- throw new expression_extension_error_1.ExpressionExtensionError('cannot convert to number');
247
+ throw new ExpressionExtensionError('cannot convert to number');
169
248
  }
170
249
  return num;
171
250
  }
@@ -188,16 +267,17 @@ function isDomain(value) {
188
267
  }
189
268
  function isEmail(value) {
190
269
  const result = EMAIL_REGEXP.test(value);
270
+ // email regex is loose so check manually for now
191
271
  if (result && value.includes(' ')) {
192
272
  return false;
193
273
  }
194
274
  return result;
195
275
  }
196
276
  function toTitleCase(value) {
197
- return (0, title_case_1.titleCase)(value);
277
+ return titleCase(value);
198
278
  }
199
279
  function replaceSpecialChars(value) {
200
- return (0, transliteration_1.transliterate)(value, { unknown: '?' });
280
+ return transliterate(value, { unknown: '?' });
201
281
  }
202
282
  function toSentenceCase(value) {
203
283
  let current = value.slice();
@@ -235,6 +315,7 @@ function extractEmail(value) {
235
315
  function extractDomain(value) {
236
316
  if (isEmail(value)) {
237
317
  const matched = EMAIL_REGEXP.exec(value);
318
+ // This shouldn't happen
238
319
  if (!matched) {
239
320
  return undefined;
240
321
  }
@@ -268,9 +349,9 @@ function parseJson(value) {
268
349
  }
269
350
  catch (error) {
270
351
  if (value.includes("'")) {
271
- throw new expression_extension_error_1.ExpressionExtensionError("Parsing failed. Check you're using double quotes");
352
+ throw new ExpressionExtensionError("Parsing failed. Check you're using double quotes");
272
353
  }
273
- throw new expression_extension_error_1.ExpressionExtensionError('Parsing failed');
354
+ throw new ExpressionExtensionError('Parsing failed');
274
355
  }
275
356
  }
276
357
  function toBoolean(value) {
@@ -279,10 +360,10 @@ function toBoolean(value) {
279
360
  return normalized.length > 0 && !FALSY.has(normalized);
280
361
  }
281
362
  function base64Encode(value) {
282
- return (0, js_base64_1.toBase64)(value);
363
+ return toBase64(value);
283
364
  }
284
365
  function base64Decode(value) {
285
- return (0, js_base64_1.fromBase64)(value);
366
+ return fromBase64(value);
286
367
  }
287
368
  removeMarkdown.doc = {
288
369
  name: 'removeMarkdown',
@@ -648,7 +729,7 @@ toNumber.doc = {
648
729
  };
649
730
  const toDecimalNumber = toFloat.bind({});
650
731
  const toWholeNumber = toInt.bind({});
651
- exports.stringExtensions = {
732
+ export const stringExtensions = {
652
733
  typeName: 'String',
653
734
  functions: {
654
735
  hash,
@@ -0,0 +1 @@
1
+ {"version":3,"file":"string-extensions.js","sourceRoot":"","sources":["../../../src/extensions/string-extensions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { DateTime } from 'luxon';
2
+ export declare const convertToDateTime: (value: string | Date | DateTime) => DateTime | undefined;
3
+ export declare function checkIfValueDefinedOrThrow<T>(value: T, functionName: string): void;
4
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/extensions/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAMjC,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,GAAG,IAAI,GAAG,QAAQ,KAAG,QAAQ,GAAG,SAc9E,CAAC;AAEF,wBAAgB,0BAA0B,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI,CAMlF"}
@@ -0,0 +1,27 @@
1
+ import { DateTime } from 'luxon';
2
+ import { ExpressionExtensionError } from '../errors/expression-extension.error';
3
+ // Utility functions and type guards for expression extensions
4
+ export const convertToDateTime = (value) => {
5
+ let converted;
6
+ if (typeof value === 'string') {
7
+ converted = DateTime.fromJSDate(new Date(value));
8
+ if (converted.invalidReason !== null) {
9
+ return;
10
+ }
11
+ }
12
+ else if (value instanceof Date) {
13
+ converted = DateTime.fromJSDate(value);
14
+ }
15
+ else if (DateTime.isDateTime(value)) {
16
+ converted = value;
17
+ }
18
+ return converted;
19
+ };
20
+ export function checkIfValueDefinedOrThrow(value, functionName) {
21
+ if (value === undefined || value === null) {
22
+ throw new ExpressionExtensionError(`${functionName} can't be used on ${String(value)} value`, {
23
+ description: `To ignore this error, add a ? to the variable before this function, e.g. my_var?.${functionName}`,
24
+ });
25
+ }
26
+ }
27
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/extensions/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAEjC,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAEhF,8DAA8D;AAE9D,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAA+B,EAAwB,EAAE;IAC1F,IAAI,SAA+B,CAAC;IAEpC,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC/B,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;QACjD,IAAI,SAAS,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;YACtC,OAAO;QACR,CAAC;IACF,CAAC;SAAM,IAAI,KAAK,YAAY,IAAI,EAAE,CAAC;QAClC,SAAS,GAAG,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IACxC,CAAC;SAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,SAAS,GAAG,KAAK,CAAC;IACnB,CAAC;IACD,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,UAAU,0BAA0B,CAAI,KAAQ,EAAE,YAAoB;IAC3E,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC3C,MAAM,IAAI,wBAAwB,CAAC,GAAG,YAAY,qBAAqB,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE;YAC7F,WAAW,EAAE,oFAAoF,YAAY,EAAE;SAC/G,CAAC,CAAC;IACJ,CAAC;AACF,CAAC"}
@@ -0,0 +1,44 @@
1
+ import { z } from 'zod';
2
+ /**
3
+ * This file contains the logic for parsing node parameters and extracting $fromAI calls
4
+ */
5
+ export type FromAIArgumentType = 'string' | 'number' | 'boolean' | 'json';
6
+ export type FromAIArgument = {
7
+ key: string;
8
+ description?: string;
9
+ type?: FromAIArgumentType;
10
+ defaultValue?: string | number | boolean | Record<string, unknown>;
11
+ };
12
+ /**
13
+ * Generates a Zod schema based on the provided FromAIArgument placeholder.
14
+ * @param placeholder The FromAIArgument object containing key, type, description, and defaultValue.
15
+ * @returns A Zod schema corresponding to the placeholder's type and constraints.
16
+ */
17
+ export declare function generateZodSchema(placeholder: FromAIArgument): z.ZodTypeAny;
18
+ /**
19
+ * Extracts all $fromAI calls from a given string
20
+ * @param str The string to search for $fromAI calls.
21
+ * @returns An array of FromAIArgument objects.
22
+ *
23
+ * This method uses a regular expression to find the start of each $fromAI function call
24
+ * in the input string. It then employs a character-by-character parsing approach to
25
+ * accurately extract the arguments of each call, handling nested parentheses and quoted strings.
26
+ *
27
+ * The parsing process:
28
+ * 1. Finds the starting position of a $fromAI call using regex.
29
+ * 2. Iterates through characters, keeping track of parentheses depth and quote status.
30
+ * 3. Handles escaped characters within quotes to avoid premature quote closing.
31
+ * 4. Builds the argument string until the matching closing parenthesis is found.
32
+ * 5. Parses the extracted argument string into a FromAIArgument object.
33
+ * 6. Repeats the process for all $fromAI calls in the input string.
34
+ *
35
+ */
36
+ export declare function extractFromAICalls(str: string): FromAIArgument[];
37
+ /**
38
+ * Recursively traverses the nodeParameters object to find all $fromAI calls.
39
+ * @param payload The current object or value being traversed.
40
+ * @param collectedArgs The array collecting FromAIArgument objects.
41
+ */
42
+ export declare function traverseNodeParameters(payload: unknown, collectedArgs: FromAIArgument[]): void;
43
+ export declare function traverseNodeParametersWithParamNames(payload: unknown, collectedArgs: Map<string, FromAIArgument>, name?: string): void;
44
+ //# sourceMappingURL=from-ai-parse-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"from-ai-parse-utils.d.ts","sourceRoot":"","sources":["../../src/from-ai-parse-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB;;GAEG;AAEH,MAAM,MAAM,kBAAkB,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,CAAC;AAC1E,MAAM,MAAM,cAAc,GAAG;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,kBAAkB,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnE,CAAC;AAIF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,cAAc,GAAG,CAAC,CAAC,UAAU,CAiF3E;AA6GD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE,CAqEhE;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,QASvF;AAED,wBAAgB,oCAAoC,CACnD,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,EAC1C,IAAI,CAAC,EAAE,MAAM,QAcb"}
@@ -1,27 +1,27 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generateZodSchema = generateZodSchema;
4
- exports.extractFromAICalls = extractFromAICalls;
5
- exports.traverseNodeParameters = traverseNodeParameters;
6
- exports.traverseNodeParametersWithParamNames = traverseNodeParametersWithParamNames;
7
- const zod_1 = require("zod");
8
- const utils_1 = require("./utils");
1
+ import { z } from 'zod';
2
+ import { jsonParse } from './utils';
9
3
  class ParseError extends Error {
10
4
  }
11
- function generateZodSchema(placeholder) {
5
+ /**
6
+ * Generates a Zod schema based on the provided FromAIArgument placeholder.
7
+ * @param placeholder The FromAIArgument object containing key, type, description, and defaultValue.
8
+ * @returns A Zod schema corresponding to the placeholder's type and constraints.
9
+ */
10
+ export function generateZodSchema(placeholder) {
12
11
  let schema;
13
12
  switch (placeholder.type?.toLowerCase()) {
14
13
  case 'string':
15
- schema = zod_1.z.string();
14
+ schema = z.string();
16
15
  break;
17
16
  case 'number':
18
- schema = zod_1.z.number();
17
+ schema = z.number();
19
18
  break;
20
19
  case 'boolean':
21
- schema = zod_1.z.boolean();
20
+ schema = z.boolean();
22
21
  break;
23
22
  case 'json': {
24
- const customSchema = zod_1.z.custom((data) => {
23
+ // Create a custom schema to validate that the incoming data is either a non-empty object or a non-empty array.
24
+ const customSchema = z.custom((data) => {
25
25
  if (data === null || typeof data !== 'object')
26
26
  return false;
27
27
  if (Array.isArray(data)) {
@@ -31,7 +31,9 @@ function generateZodSchema(placeholder) {
31
31
  }, {
32
32
  message: 'Value must be a non-empty object or a non-empty array',
33
33
  });
34
+ // Cast the custom schema to a type that includes our JSON metadata.
34
35
  const typedSchema = customSchema;
36
+ // Attach the updated `jsonSchema` metadata to the internal definition.
35
37
  typedSchema._def.jsonSchema = {
36
38
  anyOf: [
37
39
  {
@@ -49,7 +51,7 @@ function generateZodSchema(placeholder) {
49
51
  break;
50
52
  }
51
53
  default:
52
- schema = zod_1.z.string();
54
+ schema = z.string();
53
55
  }
54
56
  if (placeholder.description) {
55
57
  schema = schema.describe(`${schema.description ?? ''} ${placeholder.description}`.trim());
@@ -59,6 +61,11 @@ function generateZodSchema(placeholder) {
59
61
  }
60
62
  return schema;
61
63
  }
64
+ /**
65
+ * Parses the default value, preserving its original type.
66
+ * @param value The default value as a string.
67
+ * @returns The parsed default value in its appropriate type.
68
+ */
62
69
  function parseDefaultValue(value) {
63
70
  if (value === undefined || value === '')
64
71
  return undefined;
@@ -70,13 +77,19 @@ function parseDefaultValue(value) {
70
77
  if (!isNaN(Number(value)))
71
78
  return Number(value);
72
79
  try {
73
- return (0, utils_1.jsonParse)(value);
80
+ return jsonParse(value);
74
81
  }
75
82
  catch {
76
83
  return value;
77
84
  }
78
85
  }
86
+ /**
87
+ * Parses the arguments of a single $fromAI function call.
88
+ * @param argsString The string containing the function arguments.
89
+ * @returns A FromAIArgument object.
90
+ */
79
91
  function parseArguments(argsString) {
92
+ // Split arguments by commas not inside quotes
80
93
  const args = [];
81
94
  let currentArg = '';
82
95
  let inQuotes = false;
@@ -119,6 +132,7 @@ function parseArguments(argsString) {
119
132
  if (currentArg) {
120
133
  args.push(currentArg.trim());
121
134
  }
135
+ // Remove surrounding quotes if present
122
136
  const cleanArgs = args.map((arg) => {
123
137
  const trimmed = arg.trim();
124
138
  if ((trimmed.startsWith("'") && trimmed.endsWith("'")) ||
@@ -144,8 +158,27 @@ function parseArguments(argsString) {
144
158
  defaultValue: parseDefaultValue(cleanArgs[3]),
145
159
  };
146
160
  }
147
- function extractFromAICalls(str) {
161
+ /**
162
+ * Extracts all $fromAI calls from a given string
163
+ * @param str The string to search for $fromAI calls.
164
+ * @returns An array of FromAIArgument objects.
165
+ *
166
+ * This method uses a regular expression to find the start of each $fromAI function call
167
+ * in the input string. It then employs a character-by-character parsing approach to
168
+ * accurately extract the arguments of each call, handling nested parentheses and quoted strings.
169
+ *
170
+ * The parsing process:
171
+ * 1. Finds the starting position of a $fromAI call using regex.
172
+ * 2. Iterates through characters, keeping track of parentheses depth and quote status.
173
+ * 3. Handles escaped characters within quotes to avoid premature quote closing.
174
+ * 4. Builds the argument string until the matching closing parenthesis is found.
175
+ * 5. Parses the extracted argument string into a FromAIArgument object.
176
+ * 6. Repeats the process for all $fromAI calls in the input string.
177
+ *
178
+ */
179
+ export function extractFromAICalls(str) {
148
180
  const args = [];
181
+ // Regular expression to match the start of a $fromAI function call
149
182
  const pattern = /\$fromAI\s*\(\s*/gi;
150
183
  let match;
151
184
  while ((match = pattern.exec(str)) !== null) {
@@ -155,9 +188,11 @@ function extractFromAICalls(str) {
155
188
  let quoteChar = '';
156
189
  let parenthesesCount = 1;
157
190
  let argsString = '';
191
+ // Parse the arguments string, handling nested parentheses and quotes
158
192
  while (current < str.length && parenthesesCount > 0) {
159
193
  const char = str[current];
160
194
  if (inQuotes) {
195
+ // Handle characters inside quotes, including escaped characters
161
196
  if (char === '\\' && current + 1 < str.length) {
162
197
  argsString += char + str[current + 1];
163
198
  current += 2;
@@ -170,6 +205,7 @@ function extractFromAICalls(str) {
170
205
  argsString += char;
171
206
  }
172
207
  else {
208
+ // Handle characters outside quotes
173
209
  if (['"', "'", '`'].includes(char)) {
174
210
  inQuotes = true;
175
211
  quoteChar = char;
@@ -180,28 +216,37 @@ function extractFromAICalls(str) {
180
216
  else if (char === ')') {
181
217
  parenthesesCount--;
182
218
  }
219
+ // Only add characters if we're still inside the main parentheses
183
220
  if (parenthesesCount > 0 || char !== ')') {
184
221
  argsString += char;
185
222
  }
186
223
  }
187
224
  current++;
188
225
  }
226
+ // If parentheses are balanced, parse the arguments
189
227
  if (parenthesesCount === 0) {
190
228
  try {
191
229
  const parsedArgs = parseArguments(argsString);
192
230
  args.push(parsedArgs);
193
231
  }
194
232
  catch (error) {
233
+ // If parsing fails, throw an ParseError with details
195
234
  throw new ParseError(`Failed to parse $fromAI arguments: ${argsString}: ${String(error)}`);
196
235
  }
197
236
  }
198
237
  else {
238
+ // Log an error if parentheses are unbalanced
199
239
  throw new ParseError(`Unbalanced parentheses while parsing $fromAI call: ${str.slice(startIndex)}`);
200
240
  }
201
241
  }
202
242
  return args;
203
243
  }
204
- function traverseNodeParameters(payload, collectedArgs) {
244
+ /**
245
+ * Recursively traverses the nodeParameters object to find all $fromAI calls.
246
+ * @param payload The current object or value being traversed.
247
+ * @param collectedArgs The array collecting FromAIArgument objects.
248
+ */
249
+ export function traverseNodeParameters(payload, collectedArgs) {
205
250
  if (typeof payload === 'string') {
206
251
  const fromAICalls = extractFromAICalls(payload);
207
252
  fromAICalls.forEach((call) => collectedArgs.push(call));
@@ -213,7 +258,7 @@ function traverseNodeParameters(payload, collectedArgs) {
213
258
  Object.values(payload).forEach((value) => traverseNodeParameters(value, collectedArgs));
214
259
  }
215
260
  }
216
- function traverseNodeParametersWithParamNames(payload, collectedArgs, name) {
261
+ export function traverseNodeParametersWithParamNames(payload, collectedArgs, name) {
217
262
  if (typeof payload === 'string') {
218
263
  const fromAICalls = extractFromAICalls(payload);
219
264
  fromAICalls.forEach((call) => collectedArgs.set(name, call));
@@ -0,0 +1 @@
1
+ {"version":3,"file":"from-ai-parse-utils.js","sourceRoot":"","sources":["../../src/from-ai-parse-utils.ts"],"names":[],"mappings":"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"}