n8n-workflow 2.31.2 → 2.32.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 (406) hide show
  1. package/dist/cjs/augment-object.js +136 -146
  2. package/dist/cjs/augment-object.js.map +1 -1
  3. package/dist/cjs/build.tsbuildinfo +1 -1
  4. package/dist/cjs/common/find-ai-root-node-names.js +36 -46
  5. package/dist/cjs/common/find-ai-root-node-names.js.map +1 -1
  6. package/dist/cjs/common/get-child-nodes.js +8 -18
  7. package/dist/cjs/common/get-child-nodes.js.map +1 -1
  8. package/dist/cjs/common/get-connected-nodes.js +84 -94
  9. package/dist/cjs/common/get-connected-nodes.js.map +1 -1
  10. package/dist/cjs/common/get-node-by-name.js +16 -26
  11. package/dist/cjs/common/get-node-by-name.js.map +1 -1
  12. package/dist/cjs/common/get-parent-nodes.js +14 -24
  13. package/dist/cjs/common/get-parent-nodes.js.map +1 -1
  14. package/dist/cjs/common/index.js +9 -19
  15. package/dist/cjs/common/index.js.map +1 -1
  16. package/dist/cjs/common/map-connections-by-destination.js +31 -41
  17. package/dist/cjs/common/map-connections-by-destination.js.map +1 -1
  18. package/dist/cjs/common/resolve-variables.d.ts +8 -0
  19. package/dist/cjs/common/resolve-variables.d.ts.map +1 -1
  20. package/dist/cjs/common/resolve-variables.js +46 -33
  21. package/dist/cjs/common/resolve-variables.js.map +1 -1
  22. package/dist/cjs/connections-diff.js +58 -68
  23. package/dist/cjs/connections-diff.js.map +1 -1
  24. package/dist/cjs/constants.d.ts +3 -3
  25. package/dist/cjs/constants.d.ts.map +1 -1
  26. package/dist/cjs/constants.js +157 -166
  27. package/dist/cjs/constants.js.map +1 -1
  28. package/dist/cjs/credential-domain-restrictions.js +153 -163
  29. package/dist/cjs/credential-domain-restrictions.js.map +1 -1
  30. package/dist/cjs/cron.d.ts.map +1 -1
  31. package/dist/cjs/cron.js +25 -35
  32. package/dist/cjs/cron.js.map +1 -1
  33. package/dist/cjs/data-table.types.js +10 -20
  34. package/dist/cjs/data-table.types.js.map +1 -1
  35. package/dist/cjs/dynamic-credentials-helpers.js +93 -103
  36. package/dist/cjs/dynamic-credentials-helpers.js.map +1 -1
  37. package/dist/cjs/errors/abstract/execution-base.error.d.ts.map +1 -1
  38. package/dist/cjs/errors/abstract/execution-base.error.js +41 -51
  39. package/dist/cjs/errors/abstract/execution-base.error.js.map +1 -1
  40. package/dist/cjs/errors/abstract/node.error.d.ts.map +1 -1
  41. package/dist/cjs/errors/abstract/node.error.js +142 -152
  42. package/dist/cjs/errors/abstract/node.error.js.map +1 -1
  43. package/dist/cjs/errors/base/base.error.d.ts.map +1 -1
  44. package/dist/cjs/errors/base/base.error.js +35 -45
  45. package/dist/cjs/errors/base/base.error.js.map +1 -1
  46. package/dist/cjs/errors/base/operational.error.d.ts.map +1 -1
  47. package/dist/cjs/errors/base/operational.error.js +17 -27
  48. package/dist/cjs/errors/base/operational.error.js.map +1 -1
  49. package/dist/cjs/errors/base/unexpected.error.d.ts.map +1 -1
  50. package/dist/cjs/errors/base/unexpected.error.js +17 -27
  51. package/dist/cjs/errors/base/unexpected.error.js.map +1 -1
  52. package/dist/cjs/errors/base/user.error.d.ts.map +1 -1
  53. package/dist/cjs/errors/base/user.error.js +17 -27
  54. package/dist/cjs/errors/base/user.error.js.map +1 -1
  55. package/dist/cjs/errors/cli-subworkflow-operation.error.js +7 -17
  56. package/dist/cjs/errors/cli-subworkflow-operation.error.js.map +1 -1
  57. package/dist/cjs/errors/db-connection-timeout-error.d.ts.map +1 -1
  58. package/dist/cjs/errors/db-connection-timeout-error.js +11 -21
  59. package/dist/cjs/errors/db-connection-timeout-error.js.map +1 -1
  60. package/dist/cjs/errors/execution-cancelled.error.d.ts.map +1 -1
  61. package/dist/cjs/errors/execution-cancelled.error.js +33 -43
  62. package/dist/cjs/errors/execution-cancelled.error.js.map +1 -1
  63. package/dist/cjs/errors/expression-class-extension.error.d.ts.map +1 -1
  64. package/dist/cjs/errors/expression-class-extension.error.js +9 -19
  65. package/dist/cjs/errors/expression-class-extension.error.js.map +1 -1
  66. package/dist/cjs/errors/expression-computed-destructuring.error.d.ts.map +1 -1
  67. package/dist/cjs/errors/expression-computed-destructuring.error.js +9 -19
  68. package/dist/cjs/errors/expression-computed-destructuring.error.js.map +1 -1
  69. package/dist/cjs/errors/expression-destructuring.error.d.ts.map +1 -1
  70. package/dist/cjs/errors/expression-destructuring.error.js +9 -19
  71. package/dist/cjs/errors/expression-destructuring.error.js.map +1 -1
  72. package/dist/cjs/errors/expression-extension.error.js +7 -17
  73. package/dist/cjs/errors/expression-extension.error.js.map +1 -1
  74. package/dist/cjs/errors/expression-reserved-variable.error.d.ts.map +1 -1
  75. package/dist/cjs/errors/expression-reserved-variable.error.js +9 -19
  76. package/dist/cjs/errors/expression-reserved-variable.error.js.map +1 -1
  77. package/dist/cjs/errors/expression-with-statement.error.d.ts.map +1 -1
  78. package/dist/cjs/errors/expression-with-statement.error.js +9 -19
  79. package/dist/cjs/errors/expression-with-statement.error.js.map +1 -1
  80. package/dist/cjs/errors/expression.error.d.ts.map +1 -1
  81. package/dist/cjs/errors/expression.error.js +33 -43
  82. package/dist/cjs/errors/expression.error.js.map +1 -1
  83. package/dist/cjs/errors/index.js +62 -72
  84. package/dist/cjs/errors/index.js.map +1 -1
  85. package/dist/cjs/errors/node-api.error.d.ts.map +1 -1
  86. package/dist/cjs/errors/node-api.error.js +227 -237
  87. package/dist/cjs/errors/node-api.error.js.map +1 -1
  88. package/dist/cjs/errors/node-operation.error.d.ts.map +1 -1
  89. package/dist/cjs/errors/node-operation.error.js +43 -53
  90. package/dist/cjs/errors/node-operation.error.js.map +1 -1
  91. package/dist/cjs/errors/node-ssl.error.d.ts.map +1 -1
  92. package/dist/cjs/errors/node-ssl.error.js +9 -19
  93. package/dist/cjs/errors/node-ssl.error.js.map +1 -1
  94. package/dist/cjs/errors/subworkflow-operation.error.d.ts.map +1 -1
  95. package/dist/cjs/errors/subworkflow-operation.error.js +18 -28
  96. package/dist/cjs/errors/subworkflow-operation.error.js.map +1 -1
  97. package/dist/cjs/errors/trigger-close.error.d.ts.map +1 -1
  98. package/dist/cjs/errors/trigger-close.error.js +11 -21
  99. package/dist/cjs/errors/trigger-close.error.js.map +1 -1
  100. package/dist/cjs/errors/webhook-taken.error.d.ts.map +1 -1
  101. package/dist/cjs/errors/webhook-taken.error.js +9 -19
  102. package/dist/cjs/errors/webhook-taken.error.js.map +1 -1
  103. package/dist/cjs/errors/workflow-activation.error.d.ts.map +1 -1
  104. package/dist/cjs/errors/workflow-activation.error.js +54 -64
  105. package/dist/cjs/errors/workflow-activation.error.js.map +1 -1
  106. package/dist/cjs/errors/workflow-configuration.error.js +10 -20
  107. package/dist/cjs/errors/workflow-configuration.error.js.map +1 -1
  108. package/dist/cjs/errors/workflow-deactivation.error.js +7 -17
  109. package/dist/cjs/errors/workflow-deactivation.error.js.map +1 -1
  110. package/dist/cjs/errors/workflow-operation.error.d.ts.map +1 -1
  111. package/dist/cjs/errors/workflow-operation.error.js +20 -30
  112. package/dist/cjs/errors/workflow-operation.error.js.map +1 -1
  113. package/dist/cjs/evaluation-helpers.js +16 -26
  114. package/dist/cjs/evaluation-helpers.js.map +1 -1
  115. package/dist/cjs/execution-context-establishment-hooks.d.ts.map +1 -1
  116. package/dist/cjs/execution-context-establishment-hooks.js +43 -53
  117. package/dist/cjs/execution-context-establishment-hooks.js.map +1 -1
  118. package/dist/cjs/execution-context.d.ts +14 -14
  119. package/dist/cjs/execution-context.d.ts.map +1 -1
  120. package/dist/cjs/execution-context.js +203 -213
  121. package/dist/cjs/execution-context.js.map +1 -1
  122. package/dist/cjs/execution-status.d.ts +2 -2
  123. package/dist/cjs/execution-status.d.ts.map +1 -1
  124. package/dist/cjs/execution-status.js +27 -37
  125. package/dist/cjs/execution-status.js.map +1 -1
  126. package/dist/cjs/expression-evaluator-proxy.d.ts.map +1 -1
  127. package/dist/cjs/expression-evaluator-proxy.js +18 -28
  128. package/dist/cjs/expression-evaluator-proxy.js.map +1 -1
  129. package/dist/cjs/expression-sandboxing.d.ts.map +1 -1
  130. package/dist/cjs/expression-sandboxing.js +447 -457
  131. package/dist/cjs/expression-sandboxing.js.map +1 -1
  132. package/dist/cjs/expression.d.ts.map +1 -1
  133. package/dist/cjs/expression.js +535 -546
  134. package/dist/cjs/expression.js.map +1 -1
  135. package/dist/cjs/expressions/expression-helpers.d.ts.map +1 -1
  136. package/dist/cjs/expressions/expression-helpers.js +13 -23
  137. package/dist/cjs/expressions/expression-helpers.js.map +1 -1
  138. package/dist/cjs/extensions/array-extensions.js +591 -601
  139. package/dist/cjs/extensions/array-extensions.js.map +1 -1
  140. package/dist/cjs/extensions/boolean-extensions.d.ts +1 -1
  141. package/dist/cjs/extensions/boolean-extensions.js +38 -48
  142. package/dist/cjs/extensions/boolean-extensions.js.map +1 -1
  143. package/dist/cjs/extensions/date-extensions.js +507 -517
  144. package/dist/cjs/extensions/date-extensions.js.map +1 -1
  145. package/dist/cjs/extensions/expression-extension.d.ts.map +1 -1
  146. package/dist/cjs/extensions/expression-extension.js +455 -465
  147. package/dist/cjs/extensions/expression-extension.js.map +1 -1
  148. package/dist/cjs/extensions/expression-parser.d.ts.map +1 -1
  149. package/dist/cjs/extensions/expression-parser.js +82 -92
  150. package/dist/cjs/extensions/expression-parser.js.map +1 -1
  151. package/dist/cjs/extensions/extended-functions.d.ts +10 -18
  152. package/dist/cjs/extensions/extended-functions.d.ts.map +1 -1
  153. package/dist/cjs/extensions/extended-functions.js +80 -90
  154. package/dist/cjs/extensions/extended-functions.js.map +1 -1
  155. package/dist/cjs/extensions/extensions.js +2 -12
  156. package/dist/cjs/extensions/index.js +10 -20
  157. package/dist/cjs/extensions/index.js.map +1 -1
  158. package/dist/cjs/extensions/number-extensions.js +226 -236
  159. package/dist/cjs/extensions/number-extensions.js.map +1 -1
  160. package/dist/cjs/extensions/object-extensions.js +274 -284
  161. package/dist/cjs/extensions/object-extensions.js.map +1 -1
  162. package/dist/cjs/extensions/string-extensions.d.ts +1 -1
  163. package/dist/cjs/extensions/string-extensions.d.ts.map +1 -1
  164. package/dist/cjs/extensions/string-extensions.js +769 -779
  165. package/dist/cjs/extensions/string-extensions.js.map +1 -1
  166. package/dist/cjs/extensions/utils.d.ts.map +1 -1
  167. package/dist/cjs/extensions/utils.js +35 -45
  168. package/dist/cjs/extensions/utils.js.map +1 -1
  169. package/dist/cjs/from-ai-parse-utils.js +393 -403
  170. package/dist/cjs/from-ai-parse-utils.js.map +1 -1
  171. package/dist/cjs/global-state.js +12 -22
  172. package/dist/cjs/global-state.js.map +1 -1
  173. package/dist/cjs/graph/graph-utils.js +166 -176
  174. package/dist/cjs/graph/graph-utils.js.map +1 -1
  175. package/dist/cjs/highlighted-data.js +13 -23
  176. package/dist/cjs/highlighted-data.js.map +1 -1
  177. package/dist/cjs/index.js +105 -115
  178. package/dist/cjs/index.js.map +1 -1
  179. package/dist/cjs/interfaces.d.ts +112 -22
  180. package/dist/cjs/interfaces.d.ts.map +1 -1
  181. package/dist/cjs/interfaces.js +62 -72
  182. package/dist/cjs/interfaces.js.map +1 -1
  183. package/dist/cjs/jmespath-query.js +26 -36
  184. package/dist/cjs/jmespath-query.js.map +1 -1
  185. package/dist/cjs/logger-proxy.d.ts.map +1 -1
  186. package/dist/cjs/logger-proxy.js +15 -25
  187. package/dist/cjs/logger-proxy.js.map +1 -1
  188. package/dist/cjs/mcp-helpers.js +10 -20
  189. package/dist/cjs/mcp-helpers.js.map +1 -1
  190. package/dist/cjs/message-event-bus.d.ts +184 -165
  191. package/dist/cjs/message-event-bus.d.ts.map +1 -1
  192. package/dist/cjs/message-event-bus.js +207 -217
  193. package/dist/cjs/message-event-bus.js.map +1 -1
  194. package/dist/cjs/metadata-utils.js +35 -45
  195. package/dist/cjs/metadata-utils.js.map +1 -1
  196. package/dist/cjs/native-methods/array.methods.js +527 -537
  197. package/dist/cjs/native-methods/array.methods.js.map +1 -1
  198. package/dist/cjs/native-methods/boolean.methods.js +18 -28
  199. package/dist/cjs/native-methods/boolean.methods.js.map +1 -1
  200. package/dist/cjs/native-methods/index.js +16 -26
  201. package/dist/cjs/native-methods/index.js.map +1 -1
  202. package/dist/cjs/native-methods/number.methods.js +79 -89
  203. package/dist/cjs/native-methods/number.methods.js.map +1 -1
  204. package/dist/cjs/native-methods/object.methods.js +7 -17
  205. package/dist/cjs/native-methods/object.methods.js.map +1 -1
  206. package/dist/cjs/native-methods/string.methods.js +474 -484
  207. package/dist/cjs/native-methods/string.methods.js.map +1 -1
  208. package/dist/cjs/node-grouping-validation.d.ts +6 -0
  209. package/dist/cjs/node-grouping-validation.d.ts.map +1 -1
  210. package/dist/cjs/node-grouping-validation.js +165 -144
  211. package/dist/cjs/node-grouping-validation.js.map +1 -1
  212. package/dist/cjs/node-helpers.d.ts.map +1 -1
  213. package/dist/cjs/node-helpers.js +1486 -1493
  214. package/dist/cjs/node-helpers.js.map +1 -1
  215. package/dist/cjs/node-parameters/filter-parameter.d.ts.map +1 -1
  216. package/dist/cjs/node-parameters/filter-parameter.js +315 -325
  217. package/dist/cjs/node-parameters/filter-parameter.js.map +1 -1
  218. package/dist/cjs/node-parameters/node-parameter-value-type-guard.js +105 -115
  219. package/dist/cjs/node-parameters/node-parameter-value-type-guard.js.map +1 -1
  220. package/dist/cjs/node-parameters/parameter-type-validation.js +120 -130
  221. package/dist/cjs/node-parameters/parameter-type-validation.js.map +1 -1
  222. package/dist/cjs/node-parameters/path-utils.js +21 -31
  223. package/dist/cjs/node-parameters/path-utils.js.map +1 -1
  224. package/dist/cjs/node-parameters/rename-node-utils.js +22 -32
  225. package/dist/cjs/node-parameters/rename-node-utils.js.map +1 -1
  226. package/dist/cjs/node-reference-parser-utils.js +472 -482
  227. package/dist/cjs/node-reference-parser-utils.js.map +1 -1
  228. package/dist/cjs/node-validation.js +59 -69
  229. package/dist/cjs/node-validation.js.map +1 -1
  230. package/dist/cjs/observable-object.js +56 -66
  231. package/dist/cjs/observable-object.js.map +1 -1
  232. package/dist/cjs/redaction-channels.js +36 -46
  233. package/dist/cjs/redaction-channels.js.map +1 -1
  234. package/dist/cjs/run-execution-data/run-execution-data.js +15 -25
  235. package/dist/cjs/run-execution-data/run-execution-data.js.map +1 -1
  236. package/dist/cjs/run-execution-data/run-execution-data.v0.js +2 -12
  237. package/dist/cjs/run-execution-data/run-execution-data.v1.js +26 -36
  238. package/dist/cjs/run-execution-data/run-execution-data.v1.js.map +1 -1
  239. package/dist/cjs/run-execution-data-factory.js +113 -123
  240. package/dist/cjs/run-execution-data-factory.js.map +1 -1
  241. package/dist/cjs/schemas.d.ts +13 -13
  242. package/dist/cjs/schemas.d.ts.map +1 -1
  243. package/dist/cjs/schemas.js +351 -360
  244. package/dist/cjs/schemas.js.map +1 -1
  245. package/dist/cjs/sub-workflow-output.js +10 -20
  246. package/dist/cjs/sub-workflow-output.js.map +1 -1
  247. package/dist/cjs/telemetry-helpers.d.ts.map +1 -1
  248. package/dist/cjs/telemetry-helpers.js +716 -726
  249. package/dist/cjs/telemetry-helpers.js.map +1 -1
  250. package/dist/cjs/tool-helpers.js +18 -28
  251. package/dist/cjs/tool-helpers.js.map +1 -1
  252. package/dist/cjs/trigger-identity.js +41 -51
  253. package/dist/cjs/trigger-identity.js.map +1 -1
  254. package/dist/cjs/trimmed-task-data.js +21 -31
  255. package/dist/cjs/trimmed-task-data.js.map +1 -1
  256. package/dist/cjs/type-guards.d.ts +3 -3
  257. package/dist/cjs/type-guards.d.ts.map +1 -1
  258. package/dist/cjs/type-guards.js +74 -84
  259. package/dist/cjs/type-guards.js.map +1 -1
  260. package/dist/cjs/type-validation.d.ts.map +1 -1
  261. package/dist/cjs/type-validation.js +383 -393
  262. package/dist/cjs/type-validation.js.map +1 -1
  263. package/dist/cjs/utils.d.ts +2 -2
  264. package/dist/cjs/utils.d.ts.map +1 -1
  265. package/dist/cjs/utils.js +430 -440
  266. package/dist/cjs/utils.js.map +1 -1
  267. package/dist/cjs/versioned-node-type.d.ts.map +1 -1
  268. package/dist/cjs/versioned-node-type.js +20 -30
  269. package/dist/cjs/versioned-node-type.js.map +1 -1
  270. package/dist/cjs/workflow-checksum.js +67 -77
  271. package/dist/cjs/workflow-checksum.js.map +1 -1
  272. package/dist/cjs/workflow-data-proxy-env-provider.js +58 -68
  273. package/dist/cjs/workflow-data-proxy-env-provider.js.map +1 -1
  274. package/dist/cjs/workflow-data-proxy-helpers.js +8 -18
  275. package/dist/cjs/workflow-data-proxy-helpers.js.map +1 -1
  276. package/dist/cjs/workflow-data-proxy.d.ts.map +1 -1
  277. package/dist/cjs/workflow-data-proxy.js +1162 -1172
  278. package/dist/cjs/workflow-data-proxy.js.map +1 -1
  279. package/dist/cjs/workflow-diff.d.ts +2 -1
  280. package/dist/cjs/workflow-diff.d.ts.map +1 -1
  281. package/dist/cjs/workflow-diff.js +292 -300
  282. package/dist/cjs/workflow-diff.js.map +1 -1
  283. package/dist/cjs/workflow-environments-helper.js +23 -33
  284. package/dist/cjs/workflow-environments-helper.js.map +1 -1
  285. package/dist/cjs/workflow-expression.d.ts.map +1 -1
  286. package/dist/cjs/workflow-expression.js +97 -107
  287. package/dist/cjs/workflow-expression.js.map +1 -1
  288. package/dist/cjs/workflow-structure-validation.d.ts.map +1 -1
  289. package/dist/cjs/workflow-structure-validation.js +140 -150
  290. package/dist/cjs/workflow-structure-validation.js.map +1 -1
  291. package/dist/cjs/workflow-validation.js +40 -50
  292. package/dist/cjs/workflow-validation.js.map +1 -1
  293. package/dist/cjs/workflow.d.ts.map +1 -1
  294. package/dist/cjs/workflow.js +612 -622
  295. package/dist/cjs/workflow.js.map +1 -1
  296. package/dist/esm/common/get-child-nodes.js.map +1 -1
  297. package/dist/esm/common/get-connected-nodes.js.map +1 -1
  298. package/dist/esm/common/get-parent-nodes.js.map +1 -1
  299. package/dist/esm/common/resolve-variables.d.ts +8 -0
  300. package/dist/esm/common/resolve-variables.d.ts.map +1 -1
  301. package/dist/esm/common/resolve-variables.js +22 -0
  302. package/dist/esm/common/resolve-variables.js.map +1 -1
  303. package/dist/esm/constants.d.ts +3 -3
  304. package/dist/esm/constants.d.ts.map +1 -1
  305. package/dist/esm/cron.d.ts.map +1 -1
  306. package/dist/esm/errors/abstract/execution-base.error.d.ts.map +1 -1
  307. package/dist/esm/errors/abstract/execution-base.error.js.map +1 -1
  308. package/dist/esm/errors/abstract/node.error.d.ts.map +1 -1
  309. package/dist/esm/errors/abstract/node.error.js.map +1 -1
  310. package/dist/esm/errors/base/base.error.d.ts.map +1 -1
  311. package/dist/esm/errors/base/base.error.js.map +1 -1
  312. package/dist/esm/errors/base/operational.error.d.ts.map +1 -1
  313. package/dist/esm/errors/base/operational.error.js.map +1 -1
  314. package/dist/esm/errors/base/unexpected.error.d.ts.map +1 -1
  315. package/dist/esm/errors/base/unexpected.error.js.map +1 -1
  316. package/dist/esm/errors/base/user.error.d.ts.map +1 -1
  317. package/dist/esm/errors/base/user.error.js.map +1 -1
  318. package/dist/esm/errors/db-connection-timeout-error.d.ts.map +1 -1
  319. package/dist/esm/errors/execution-cancelled.error.d.ts.map +1 -1
  320. package/dist/esm/errors/expression-class-extension.error.d.ts.map +1 -1
  321. package/dist/esm/errors/expression-computed-destructuring.error.d.ts.map +1 -1
  322. package/dist/esm/errors/expression-destructuring.error.d.ts.map +1 -1
  323. package/dist/esm/errors/expression-reserved-variable.error.d.ts.map +1 -1
  324. package/dist/esm/errors/expression-with-statement.error.d.ts.map +1 -1
  325. package/dist/esm/errors/expression.error.d.ts.map +1 -1
  326. package/dist/esm/errors/node-api.error.d.ts.map +1 -1
  327. package/dist/esm/errors/node-api.error.js.map +1 -1
  328. package/dist/esm/errors/node-operation.error.d.ts.map +1 -1
  329. package/dist/esm/errors/node-operation.error.js.map +1 -1
  330. package/dist/esm/errors/node-ssl.error.d.ts.map +1 -1
  331. package/dist/esm/errors/subworkflow-operation.error.d.ts.map +1 -1
  332. package/dist/esm/errors/trigger-close.error.d.ts.map +1 -1
  333. package/dist/esm/errors/trigger-close.error.js.map +1 -1
  334. package/dist/esm/errors/webhook-taken.error.d.ts.map +1 -1
  335. package/dist/esm/errors/workflow-activation.error.d.ts.map +1 -1
  336. package/dist/esm/errors/workflow-activation.error.js.map +1 -1
  337. package/dist/esm/errors/workflow-operation.error.d.ts.map +1 -1
  338. package/dist/esm/execution-context-establishment-hooks.d.ts.map +1 -1
  339. package/dist/esm/execution-context.d.ts +14 -14
  340. package/dist/esm/execution-context.d.ts.map +1 -1
  341. package/dist/esm/execution-status.d.ts +2 -2
  342. package/dist/esm/execution-status.d.ts.map +1 -1
  343. package/dist/esm/expression-evaluator-proxy.d.ts.map +1 -1
  344. package/dist/esm/expression-sandboxing.d.ts.map +1 -1
  345. package/dist/esm/expression-sandboxing.js.map +1 -1
  346. package/dist/esm/expression.d.ts.map +1 -1
  347. package/dist/esm/expression.js.map +1 -1
  348. package/dist/esm/expressions/expression-helpers.d.ts.map +1 -1
  349. package/dist/esm/extensions/boolean-extensions.d.ts +1 -1
  350. package/dist/esm/extensions/expression-extension.d.ts.map +1 -1
  351. package/dist/esm/extensions/expression-parser.d.ts.map +1 -1
  352. package/dist/esm/extensions/extended-functions.d.ts +10 -18
  353. package/dist/esm/extensions/extended-functions.d.ts.map +1 -1
  354. package/dist/esm/extensions/number-extensions.js.map +1 -1
  355. package/dist/esm/extensions/string-extensions.d.ts +1 -1
  356. package/dist/esm/extensions/string-extensions.d.ts.map +1 -1
  357. package/dist/esm/extensions/string-extensions.js.map +1 -1
  358. package/dist/esm/extensions/utils.d.ts.map +1 -1
  359. package/dist/esm/from-ai-parse-utils.js.map +1 -1
  360. package/dist/esm/interfaces.d.ts +112 -22
  361. package/dist/esm/interfaces.d.ts.map +1 -1
  362. package/dist/esm/interfaces.js.map +1 -1
  363. package/dist/esm/logger-proxy.d.ts.map +1 -1
  364. package/dist/esm/message-event-bus.d.ts +184 -165
  365. package/dist/esm/message-event-bus.d.ts.map +1 -1
  366. package/dist/esm/message-event-bus.js +2 -2
  367. package/dist/esm/message-event-bus.js.map +1 -1
  368. package/dist/esm/node-grouping-validation.d.ts +6 -0
  369. package/dist/esm/node-grouping-validation.d.ts.map +1 -1
  370. package/dist/esm/node-grouping-validation.js +34 -5
  371. package/dist/esm/node-grouping-validation.js.map +1 -1
  372. package/dist/esm/node-helpers.d.ts.map +1 -1
  373. package/dist/esm/node-helpers.js +3 -0
  374. package/dist/esm/node-helpers.js.map +1 -1
  375. package/dist/esm/node-parameters/filter-parameter.d.ts.map +1 -1
  376. package/dist/esm/node-parameters/filter-parameter.js.map +1 -1
  377. package/dist/esm/node-reference-parser-utils.js.map +1 -1
  378. package/dist/esm/run-execution-data-factory.js.map +1 -1
  379. package/dist/esm/schemas.d.ts +13 -13
  380. package/dist/esm/schemas.d.ts.map +1 -1
  381. package/dist/esm/schemas.js +1 -0
  382. package/dist/esm/schemas.js.map +1 -1
  383. package/dist/esm/telemetry-helpers.d.ts.map +1 -1
  384. package/dist/esm/telemetry-helpers.js.map +1 -1
  385. package/dist/esm/type-guards.d.ts +3 -3
  386. package/dist/esm/type-guards.d.ts.map +1 -1
  387. package/dist/esm/type-validation.d.ts.map +1 -1
  388. package/dist/esm/type-validation.js.map +1 -1
  389. package/dist/esm/typecheck.tsbuildinfo +1 -1
  390. package/dist/esm/utils.d.ts +2 -2
  391. package/dist/esm/utils.d.ts.map +1 -1
  392. package/dist/esm/utils.js.map +1 -1
  393. package/dist/esm/versioned-node-type.d.ts.map +1 -1
  394. package/dist/esm/workflow-data-proxy.d.ts.map +1 -1
  395. package/dist/esm/workflow-data-proxy.js.map +1 -1
  396. package/dist/esm/workflow-diff.d.ts +2 -1
  397. package/dist/esm/workflow-diff.d.ts.map +1 -1
  398. package/dist/esm/workflow-diff.js +3 -1
  399. package/dist/esm/workflow-diff.js.map +1 -1
  400. package/dist/esm/workflow-expression.d.ts.map +1 -1
  401. package/dist/esm/workflow-expression.js.map +1 -1
  402. package/dist/esm/workflow-structure-validation.d.ts.map +1 -1
  403. package/dist/esm/workflow-structure-validation.js.map +1 -1
  404. package/dist/esm/workflow.d.ts.map +1 -1
  405. package/dist/esm/workflow.js.map +1 -1
  406. package/package.json +10 -9
@@ -1,3 +1,4 @@
1
+ "use strict";
1
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
2
3
  if (k2 === undefined) k2 = k;
3
4
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -31,365 +32,354 @@ var __importStar = (this && this.__importStar) || (function () {
31
32
  return result;
32
33
  };
33
34
  })();
34
- (function (factory) {
35
- if (typeof module === "object" && typeof module.exports === "object") {
36
- var v = factory(require, exports);
37
- if (v !== undefined) module.exports = v;
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.validateFilterParameter = exports.FilterError = void 0;
37
+ exports.arrayContainsValue = arrayContainsValue;
38
+ exports.executeFilterCondition = executeFilterCondition;
39
+ exports.executeFilter = executeFilter;
40
+ const user_error_1 = require("../errors/base/user.error");
41
+ const LoggerProxy = __importStar(require("../logger-proxy"));
42
+ const type_validation_1 = require("../type-validation");
43
+ class FilterError extends user_error_1.UserError {
44
+ description;
45
+ constructor(message, description) {
46
+ super(message, { level: 'warning', description });
47
+ this.description = description;
38
48
  }
39
- else if (typeof define === "function" && define.amd) {
40
- define(["require", "exports", "../errors/base/user.error", "../logger-proxy", "../type-validation"], factory);
49
+ }
50
+ exports.FilterError = FilterError;
51
+ function parseSingleFilterValue(value, type, strict = false, version = 1) {
52
+ if (type === 'any' || value === null || value === undefined) {
53
+ return { valid: true, newValue: value };
41
54
  }
42
- })(function (require, exports) {
43
- "use strict";
44
- Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.validateFilterParameter = exports.FilterError = void 0;
46
- exports.arrayContainsValue = arrayContainsValue;
47
- exports.executeFilterCondition = executeFilterCondition;
48
- exports.executeFilter = executeFilter;
49
- const user_error_1 = require("../errors/base/user.error");
50
- const LoggerProxy = __importStar(require("../logger-proxy"));
51
- const type_validation_1 = require("../type-validation");
52
- class FilterError extends user_error_1.UserError {
53
- description;
54
- constructor(message, description) {
55
- super(message, { level: 'warning', description });
56
- this.description = description;
55
+ if (type === 'boolean' && !strict) {
56
+ if (version >= 2) {
57
+ const result = (0, type_validation_1.validateFieldType)('filter', value, type);
58
+ if (result.valid)
59
+ return result;
57
60
  }
61
+ return { valid: true, newValue: Boolean(value) };
58
62
  }
59
- exports.FilterError = FilterError;
60
- function parseSingleFilterValue(value, type, strict = false, version = 1) {
61
- if (type === 'any' || value === null || value === undefined) {
63
+ if (type === 'number') {
64
+ if (Number.isNaN(value)) {
62
65
  return { valid: true, newValue: value };
63
66
  }
64
- if (type === 'boolean' && !strict) {
65
- if (version >= 2) {
66
- const result = (0, type_validation_1.validateFieldType)('filter', value, type);
67
- if (result.valid)
68
- return result;
69
- }
70
- return { valid: true, newValue: Boolean(value) };
67
+ const isEmptyString = typeof value === 'string' && value.trim() === '';
68
+ const isEmptyArray = Array.isArray(value) && value.length === 0;
69
+ // Number('') and Number([]) convert to 0 in validateFieldType, which is not intuitive, consider them empty values
70
+ if ((isEmptyString || isEmptyArray) && version >= 3) {
71
+ return { valid: true, newValue: null };
71
72
  }
72
- if (type === 'number') {
73
- if (Number.isNaN(value)) {
74
- return { valid: true, newValue: value };
75
- }
76
- const isEmptyString = typeof value === 'string' && value.trim() === '';
77
- const isEmptyArray = Array.isArray(value) && value.length === 0;
78
- // Number('') and Number([]) convert to 0 in validateFieldType, which is not intuitive, consider them empty values
79
- if ((isEmptyString || isEmptyArray) && version >= 3) {
80
- return { valid: true, newValue: null };
81
- }
82
- }
83
- return (0, type_validation_1.validateFieldType)('filter', value, type, { strict, parseStrings: true });
84
73
  }
85
- const withIndefiniteArticle = (noun) => {
86
- const article = 'aeiou'.includes(noun.charAt(0)) ? 'an' : 'a';
87
- return `${article} ${noun}`;
74
+ return (0, type_validation_1.validateFieldType)('filter', value, type, { strict, parseStrings: true });
75
+ }
76
+ const withIndefiniteArticle = (noun) => {
77
+ const article = 'aeiou'.includes(noun.charAt(0)) ? 'an' : 'a';
78
+ return `${article} ${noun}`;
79
+ };
80
+ function parseFilterConditionValues(condition, options, metadata) {
81
+ const index = metadata.index ?? 0;
82
+ const itemIndex = metadata.itemIndex ?? 0;
83
+ const errorFormat = metadata.errorFormat ?? 'full';
84
+ const strict = options.typeValidation === 'strict';
85
+ const version = options.version ?? 1;
86
+ const { operator } = condition;
87
+ const rightType = operator.rightType ?? operator.type;
88
+ const parsedLeftValue = parseSingleFilterValue(condition.leftValue, operator.type, strict, version);
89
+ const parsedRightValue = parseSingleFilterValue(condition.rightValue, rightType, strict, version);
90
+ const leftValid = parsedLeftValue.valid ||
91
+ (metadata.unresolvedExpressions &&
92
+ typeof condition.leftValue === 'string' &&
93
+ condition.leftValue.startsWith('='));
94
+ const rightValid = parsedRightValue.valid ||
95
+ !!operator.singleValue ||
96
+ (metadata.unresolvedExpressions &&
97
+ typeof condition.rightValue === 'string' &&
98
+ condition.rightValue.startsWith('='));
99
+ const leftValueString = String(condition.leftValue);
100
+ const rightValueString = String(condition.rightValue);
101
+ const suffix = errorFormat === 'full' ? `[condition ${index}, item ${itemIndex}]` : `[item ${itemIndex}]`;
102
+ const composeInvalidTypeMessage = (type, fromType, value) => {
103
+ fromType = fromType.toLocaleLowerCase();
104
+ if (strict) {
105
+ return `Wrong type: '${value}' is ${withIndefiniteArticle(fromType)} but was expecting ${withIndefiniteArticle(type)} ${suffix}`;
106
+ }
107
+ return `Conversion error: the ${fromType} '${value}' can't be converted to ${withIndefiniteArticle(type)} ${suffix}`;
88
108
  };
89
- function parseFilterConditionValues(condition, options, metadata) {
90
- const index = metadata.index ?? 0;
91
- const itemIndex = metadata.itemIndex ?? 0;
92
- const errorFormat = metadata.errorFormat ?? 'full';
93
- const strict = options.typeValidation === 'strict';
94
- const version = options.version ?? 1;
95
- const { operator } = condition;
96
- const rightType = operator.rightType ?? operator.type;
97
- const parsedLeftValue = parseSingleFilterValue(condition.leftValue, operator.type, strict, version);
98
- const parsedRightValue = parseSingleFilterValue(condition.rightValue, rightType, strict, version);
99
- const leftValid = parsedLeftValue.valid ||
100
- (metadata.unresolvedExpressions &&
101
- typeof condition.leftValue === 'string' &&
102
- condition.leftValue.startsWith('='));
103
- const rightValid = parsedRightValue.valid ||
104
- !!operator.singleValue ||
105
- (metadata.unresolvedExpressions &&
106
- typeof condition.rightValue === 'string' &&
107
- condition.rightValue.startsWith('='));
108
- const leftValueString = String(condition.leftValue);
109
- const rightValueString = String(condition.rightValue);
110
- const suffix = errorFormat === 'full' ? `[condition ${index}, item ${itemIndex}]` : `[item ${itemIndex}]`;
111
- const composeInvalidTypeMessage = (type, fromType, value) => {
112
- fromType = fromType.toLocaleLowerCase();
113
- if (strict) {
114
- return `Wrong type: '${value}' is ${withIndefiniteArticle(fromType)} but was expecting ${withIndefiniteArticle(type)} ${suffix}`;
115
- }
116
- return `Conversion error: the ${fromType} '${value}' can't be converted to ${withIndefiniteArticle(type)} ${suffix}`;
117
- };
118
- const getTypeDescription = (isStrict) => {
119
- if (isStrict)
120
- return "Try changing the type of comparison. Alternatively you can enable 'Convert types where required'.";
121
- return 'Try changing the type of the comparison.';
122
- };
123
- const composeInvalidTypeDescription = (type, fromType, valuePosition) => {
124
- fromType = fromType.toLocaleLowerCase();
125
- const expectedType = withIndefiniteArticle(type);
126
- let convertionFunction = '';
127
- if (type === 'string') {
128
- convertionFunction = '.toString()';
129
- }
130
- else if (type === 'number') {
131
- convertionFunction = '.toNumber()';
132
- }
133
- else if (type === 'boolean') {
134
- convertionFunction = '.toBoolean()';
135
- }
136
- if (strict && convertionFunction) {
137
- const suggestFunction = ` by adding <code>${convertionFunction}</code>`;
138
- return `
109
+ const getTypeDescription = (isStrict) => {
110
+ if (isStrict)
111
+ return "Try changing the type of comparison. Alternatively you can enable 'Convert types where required'.";
112
+ return 'Try changing the type of the comparison.';
113
+ };
114
+ const composeInvalidTypeDescription = (type, fromType, valuePosition) => {
115
+ fromType = fromType.toLocaleLowerCase();
116
+ const expectedType = withIndefiniteArticle(type);
117
+ let convertionFunction = '';
118
+ if (type === 'string') {
119
+ convertionFunction = '.toString()';
120
+ }
121
+ else if (type === 'number') {
122
+ convertionFunction = '.toNumber()';
123
+ }
124
+ else if (type === 'boolean') {
125
+ convertionFunction = '.toBoolean()';
126
+ }
127
+ if (strict && convertionFunction) {
128
+ const suggestFunction = ` by adding <code>${convertionFunction}</code>`;
129
+ return `
139
130
  <p>Try either:</p>
140
131
  <ol>
141
132
  <li>Enabling 'Convert types where required'</li>
142
133
  <li>Converting the ${valuePosition} field to ${expectedType}${suggestFunction}</li>
143
134
  </ol>
144
135
  `;
145
- }
146
- return getTypeDescription(strict);
147
- };
148
- if (!leftValid && !rightValid && typeof condition.leftValue === typeof condition.rightValue) {
149
- return {
150
- ok: false,
151
- error: new FilterError(`Comparison type expects ${withIndefiniteArticle(operator.type)} but both fields are ${withIndefiniteArticle(typeof condition.leftValue)}`, getTypeDescription(strict)),
152
- };
153
- }
154
- if (!leftValid) {
155
- return {
156
- ok: false,
157
- error: new FilterError(composeInvalidTypeMessage(operator.type, typeof condition.leftValue, leftValueString), composeInvalidTypeDescription(operator.type, typeof condition.leftValue, 'first')),
158
- };
159
- }
160
- if (!rightValid) {
161
- return {
162
- ok: false,
163
- error: new FilterError(composeInvalidTypeMessage(rightType, typeof condition.rightValue, rightValueString), composeInvalidTypeDescription(rightType, typeof condition.rightValue, 'second')),
164
- };
165
136
  }
137
+ return getTypeDescription(strict);
138
+ };
139
+ if (!leftValid && !rightValid && typeof condition.leftValue === typeof condition.rightValue) {
166
140
  return {
167
- ok: true,
168
- result: {
169
- left: parsedLeftValue.valid ? parsedLeftValue.newValue : undefined,
170
- right: parsedRightValue.valid ? parsedRightValue.newValue : undefined,
171
- },
141
+ ok: false,
142
+ error: new FilterError(`Comparison type expects ${withIndefiniteArticle(operator.type)} but both fields are ${withIndefiniteArticle(typeof condition.leftValue)}`, getTypeDescription(strict)),
172
143
  };
173
144
  }
174
- function parseRegexPattern(pattern) {
175
- const regexMatch = (pattern || '').match(new RegExp('^/(.*?)/([gimusy]*)$'));
176
- let regex;
177
- if (!regexMatch) {
178
- regex = new RegExp((pattern || '').toString());
179
- }
180
- else {
181
- regex = new RegExp(regexMatch[1], regexMatch[2]);
182
- }
183
- return regex;
145
+ if (!leftValid) {
146
+ return {
147
+ ok: false,
148
+ error: new FilterError(composeInvalidTypeMessage(operator.type, typeof condition.leftValue, leftValueString), composeInvalidTypeDescription(operator.type, typeof condition.leftValue, 'first')),
149
+ };
184
150
  }
185
- function arrayContainsValue(array, value, ignoreCase) {
186
- if (ignoreCase && typeof value === 'string') {
187
- return array.some((item) => {
188
- if (typeof item !== 'string') {
189
- return false;
190
- }
191
- return item.toString().toLocaleLowerCase() === value.toLocaleLowerCase();
192
- });
193
- }
194
- return array.includes(value);
151
+ if (!rightValid) {
152
+ return {
153
+ ok: false,
154
+ error: new FilterError(composeInvalidTypeMessage(rightType, typeof condition.rightValue, rightValueString), composeInvalidTypeDescription(rightType, typeof condition.rightValue, 'second')),
155
+ };
195
156
  }
196
- // eslint-disable-next-line complexity
197
- function executeFilterCondition(condition, filterOptions, metadata = {}) {
198
- const ignoreCase = !filterOptions.caseSensitive;
199
- const { operator } = condition;
200
- const parsedValues = parseFilterConditionValues(condition, filterOptions, metadata);
201
- if (!parsedValues.ok) {
202
- throw parsedValues.error;
203
- }
204
- let { left: leftValue, right: rightValue } = parsedValues.result;
205
- const exists = leftValue !== undefined && leftValue !== null && !Number.isNaN(leftValue);
206
- if (condition.operator.operation === 'exists') {
207
- return exists;
208
- }
209
- else if (condition.operator.operation === 'notExists') {
210
- return !exists;
211
- }
212
- switch (operator.type) {
213
- case 'string': {
214
- if (ignoreCase) {
215
- if (typeof leftValue === 'string') {
216
- leftValue = leftValue.toLocaleLowerCase();
217
- }
218
- if (typeof rightValue === 'string' &&
219
- !(condition.operator.operation === 'regex' || condition.operator.operation === 'notRegex')) {
220
- rightValue = rightValue.toLocaleLowerCase();
221
- }
157
+ return {
158
+ ok: true,
159
+ result: {
160
+ left: parsedLeftValue.valid ? parsedLeftValue.newValue : undefined,
161
+ right: parsedRightValue.valid ? parsedRightValue.newValue : undefined,
162
+ },
163
+ };
164
+ }
165
+ function parseRegexPattern(pattern) {
166
+ const regexMatch = (pattern || '').match(new RegExp('^/(.*?)/([gimusy]*)$'));
167
+ let regex;
168
+ if (!regexMatch) {
169
+ regex = new RegExp((pattern || '').toString());
170
+ }
171
+ else {
172
+ regex = new RegExp(regexMatch[1], regexMatch[2]);
173
+ }
174
+ return regex;
175
+ }
176
+ function arrayContainsValue(array, value, ignoreCase) {
177
+ if (ignoreCase && typeof value === 'string') {
178
+ return array.some((item) => {
179
+ if (typeof item !== 'string') {
180
+ return false;
181
+ }
182
+ return item.toString().toLocaleLowerCase() === value.toLocaleLowerCase();
183
+ });
184
+ }
185
+ return array.includes(value);
186
+ }
187
+ // eslint-disable-next-line complexity
188
+ function executeFilterCondition(condition, filterOptions, metadata = {}) {
189
+ const ignoreCase = !filterOptions.caseSensitive;
190
+ const { operator } = condition;
191
+ const parsedValues = parseFilterConditionValues(condition, filterOptions, metadata);
192
+ if (!parsedValues.ok) {
193
+ throw parsedValues.error;
194
+ }
195
+ let { left: leftValue, right: rightValue } = parsedValues.result;
196
+ const exists = leftValue !== undefined && leftValue !== null && !Number.isNaN(leftValue);
197
+ if (condition.operator.operation === 'exists') {
198
+ return exists;
199
+ }
200
+ else if (condition.operator.operation === 'notExists') {
201
+ return !exists;
202
+ }
203
+ switch (operator.type) {
204
+ case 'string': {
205
+ if (ignoreCase) {
206
+ if (typeof leftValue === 'string') {
207
+ leftValue = leftValue.toLocaleLowerCase();
222
208
  }
223
- const left = (leftValue ?? '');
224
- const right = (rightValue ?? '');
225
- switch (condition.operator.operation) {
226
- case 'empty':
227
- return left.length === 0;
228
- case 'notEmpty':
229
- return left.length !== 0;
230
- case 'equals':
231
- return left === right;
232
- case 'notEquals':
233
- return left !== right;
234
- case 'contains':
235
- return left.includes(right);
236
- case 'notContains':
237
- return !left.includes(right);
238
- case 'startsWith':
239
- return left.startsWith(right);
240
- case 'notStartsWith':
241
- return !left.startsWith(right);
242
- case 'endsWith':
243
- return left.endsWith(right);
244
- case 'notEndsWith':
245
- return !left.endsWith(right);
246
- case 'regex':
247
- return parseRegexPattern(right).test(left);
248
- case 'notRegex':
249
- return !parseRegexPattern(right).test(left);
209
+ if (typeof rightValue === 'string' &&
210
+ !(condition.operator.operation === 'regex' || condition.operator.operation === 'notRegex')) {
211
+ rightValue = rightValue.toLocaleLowerCase();
250
212
  }
251
- break;
252
213
  }
253
- case 'number': {
254
- const left = leftValue;
255
- const right = rightValue;
256
- switch (condition.operator.operation) {
257
- case 'empty':
258
- return !exists;
259
- case 'notEmpty':
260
- return exists;
261
- case 'equals':
262
- return left === right;
263
- case 'notEquals':
264
- return left !== right;
265
- case 'gt':
266
- return left > right;
267
- case 'lt':
268
- return left < right;
269
- case 'gte':
270
- return left >= right;
271
- case 'lte':
272
- return left <= right;
273
- }
274
- break;
214
+ const left = (leftValue ?? '');
215
+ const right = (rightValue ?? '');
216
+ switch (condition.operator.operation) {
217
+ case 'empty':
218
+ return left.length === 0;
219
+ case 'notEmpty':
220
+ return left.length !== 0;
221
+ case 'equals':
222
+ return left === right;
223
+ case 'notEquals':
224
+ return left !== right;
225
+ case 'contains':
226
+ return left.includes(right);
227
+ case 'notContains':
228
+ return !left.includes(right);
229
+ case 'startsWith':
230
+ return left.startsWith(right);
231
+ case 'notStartsWith':
232
+ return !left.startsWith(right);
233
+ case 'endsWith':
234
+ return left.endsWith(right);
235
+ case 'notEndsWith':
236
+ return !left.endsWith(right);
237
+ case 'regex':
238
+ return parseRegexPattern(right).test(left);
239
+ case 'notRegex':
240
+ return !parseRegexPattern(right).test(left);
275
241
  }
276
- case 'dateTime': {
277
- const left = leftValue;
278
- const right = rightValue;
279
- if (condition.operator.operation === 'empty') {
242
+ break;
243
+ }
244
+ case 'number': {
245
+ const left = leftValue;
246
+ const right = rightValue;
247
+ switch (condition.operator.operation) {
248
+ case 'empty':
280
249
  return !exists;
281
- }
282
- else if (condition.operator.operation === 'notEmpty') {
250
+ case 'notEmpty':
283
251
  return exists;
284
- }
285
- if (!left || !right) {
286
- return false;
287
- }
288
- switch (condition.operator.operation) {
289
- case 'equals':
290
- return left.toMillis() === right.toMillis();
291
- case 'notEquals':
292
- return left.toMillis() !== right.toMillis();
293
- case 'after':
294
- return left.toMillis() > right.toMillis();
295
- case 'before':
296
- return left.toMillis() < right.toMillis();
297
- case 'afterOrEquals':
298
- return left.toMillis() >= right.toMillis();
299
- case 'beforeOrEquals':
300
- return left.toMillis() <= right.toMillis();
301
- }
302
- break;
252
+ case 'equals':
253
+ return left === right;
254
+ case 'notEquals':
255
+ return left !== right;
256
+ case 'gt':
257
+ return left > right;
258
+ case 'lt':
259
+ return left < right;
260
+ case 'gte':
261
+ return left >= right;
262
+ case 'lte':
263
+ return left <= right;
303
264
  }
304
- case 'boolean': {
305
- const left = leftValue;
306
- const right = rightValue;
307
- switch (condition.operator.operation) {
308
- case 'empty':
309
- return !exists;
310
- case 'notEmpty':
311
- return exists;
312
- case 'true':
313
- return left;
314
- case 'false':
315
- return !left;
316
- case 'equals':
317
- return left === right;
318
- case 'notEquals':
319
- return left !== right;
320
- }
321
- break;
265
+ break;
266
+ }
267
+ case 'dateTime': {
268
+ const left = leftValue;
269
+ const right = rightValue;
270
+ if (condition.operator.operation === 'empty') {
271
+ return !exists;
322
272
  }
323
- case 'array': {
324
- const left = (leftValue ?? []);
325
- const rightNumber = rightValue;
326
- switch (condition.operator.operation) {
327
- case 'contains':
328
- return arrayContainsValue(left, rightValue, ignoreCase);
329
- case 'notContains':
330
- return !arrayContainsValue(left, rightValue, ignoreCase);
331
- case 'lengthEquals':
332
- return left.length === rightNumber;
333
- case 'lengthNotEquals':
334
- return left.length !== rightNumber;
335
- case 'lengthGt':
336
- return left.length > rightNumber;
337
- case 'lengthLt':
338
- return left.length < rightNumber;
339
- case 'lengthGte':
340
- return left.length >= rightNumber;
341
- case 'lengthLte':
342
- return left.length <= rightNumber;
343
- case 'empty':
344
- return left.length === 0;
345
- case 'notEmpty':
346
- return left.length !== 0;
347
- }
348
- break;
273
+ else if (condition.operator.operation === 'notEmpty') {
274
+ return exists;
349
275
  }
350
- case 'object': {
351
- const left = leftValue;
352
- switch (condition.operator.operation) {
353
- case 'empty':
354
- return !left || Object.keys(left).length === 0;
355
- case 'notEmpty':
356
- return !!left && Object.keys(left).length !== 0;
357
- }
358
- break;
276
+ if (!left || !right) {
277
+ return false;
278
+ }
279
+ switch (condition.operator.operation) {
280
+ case 'equals':
281
+ return left.toMillis() === right.toMillis();
282
+ case 'notEquals':
283
+ return left.toMillis() !== right.toMillis();
284
+ case 'after':
285
+ return left.toMillis() > right.toMillis();
286
+ case 'before':
287
+ return left.toMillis() < right.toMillis();
288
+ case 'afterOrEquals':
289
+ return left.toMillis() >= right.toMillis();
290
+ case 'beforeOrEquals':
291
+ return left.toMillis() <= right.toMillis();
359
292
  }
293
+ break;
360
294
  }
361
- LoggerProxy.warn(`Unknown filter parameter operator "${operator.type}:${operator.operation}"`);
362
- return false;
363
- }
364
- function executeFilter(value, { itemIndex } = {}) {
365
- const conditionPass = (condition, index) => executeFilterCondition(condition, value.options, { index, itemIndex });
366
- if (value.combinator === 'and') {
367
- return value.conditions.every(conditionPass);
295
+ case 'boolean': {
296
+ const left = leftValue;
297
+ const right = rightValue;
298
+ switch (condition.operator.operation) {
299
+ case 'empty':
300
+ return !exists;
301
+ case 'notEmpty':
302
+ return exists;
303
+ case 'true':
304
+ return left;
305
+ case 'false':
306
+ return !left;
307
+ case 'equals':
308
+ return left === right;
309
+ case 'notEquals':
310
+ return left !== right;
311
+ }
312
+ break;
368
313
  }
369
- else if (value.combinator === 'or') {
370
- return value.conditions.some(conditionPass);
314
+ case 'array': {
315
+ const left = (leftValue ?? []);
316
+ const rightNumber = rightValue;
317
+ switch (condition.operator.operation) {
318
+ case 'contains':
319
+ return arrayContainsValue(left, rightValue, ignoreCase);
320
+ case 'notContains':
321
+ return !arrayContainsValue(left, rightValue, ignoreCase);
322
+ case 'lengthEquals':
323
+ return left.length === rightNumber;
324
+ case 'lengthNotEquals':
325
+ return left.length !== rightNumber;
326
+ case 'lengthGt':
327
+ return left.length > rightNumber;
328
+ case 'lengthLt':
329
+ return left.length < rightNumber;
330
+ case 'lengthGte':
331
+ return left.length >= rightNumber;
332
+ case 'lengthLte':
333
+ return left.length <= rightNumber;
334
+ case 'empty':
335
+ return left.length === 0;
336
+ case 'notEmpty':
337
+ return left.length !== 0;
338
+ }
339
+ break;
371
340
  }
372
- LoggerProxy.warn(`Unknown filter combinator "${value.combinator}"`);
373
- return false;
374
- }
375
- const validateFilterParameter = (nodeProperties, value) => {
376
- return value.conditions.reduce((issues, condition, index) => {
377
- const key = `${nodeProperties.name}.${index}`;
378
- try {
379
- parseFilterConditionValues(condition, value.options, {
380
- index,
381
- unresolvedExpressions: true,
382
- errorFormat: 'inline',
383
- });
341
+ case 'object': {
342
+ const left = leftValue;
343
+ switch (condition.operator.operation) {
344
+ case 'empty':
345
+ return !left || Object.keys(left).length === 0;
346
+ case 'notEmpty':
347
+ return !!left && Object.keys(left).length !== 0;
384
348
  }
385
- catch (error) {
386
- if (error instanceof FilterError) {
387
- issues[key].push(error.message);
388
- }
349
+ break;
350
+ }
351
+ }
352
+ LoggerProxy.warn(`Unknown filter parameter operator "${operator.type}:${operator.operation}"`);
353
+ return false;
354
+ }
355
+ function executeFilter(value, { itemIndex } = {}) {
356
+ const conditionPass = (condition, index) => executeFilterCondition(condition, value.options, { index, itemIndex });
357
+ if (value.combinator === 'and') {
358
+ return value.conditions.every(conditionPass);
359
+ }
360
+ else if (value.combinator === 'or') {
361
+ return value.conditions.some(conditionPass);
362
+ }
363
+ LoggerProxy.warn(`Unknown filter combinator "${value.combinator}"`);
364
+ return false;
365
+ }
366
+ const validateFilterParameter = (nodeProperties, value) => {
367
+ return value.conditions.reduce((issues, condition, index) => {
368
+ const key = `${nodeProperties.name}.${index}`;
369
+ try {
370
+ parseFilterConditionValues(condition, value.options, {
371
+ index,
372
+ unresolvedExpressions: true,
373
+ errorFormat: 'inline',
374
+ });
375
+ }
376
+ catch (error) {
377
+ if (error instanceof FilterError) {
378
+ issues[key].push(error.message);
389
379
  }
390
- return issues;
391
- }, {});
392
- };
393
- exports.validateFilterParameter = validateFilterParameter;
394
- });
380
+ }
381
+ return issues;
382
+ }, {});
383
+ };
384
+ exports.validateFilterParameter = validateFilterParameter;
395
385
  //# sourceMappingURL=filter-parameter.js.map