@atom8n/n8n-workflow 2.2.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.
- package/README.md +13 -0
- package/dist/cjs/augment-object.d.ts +3 -0
- package/dist/cjs/augment-object.d.ts.map +1 -0
- package/dist/cjs/augment-object.js +157 -0
- package/dist/cjs/augment-object.js.map +1 -0
- package/dist/cjs/common/get-child-nodes.d.ts +3 -0
- package/dist/cjs/common/get-child-nodes.d.ts.map +1 -0
- package/dist/cjs/common/get-child-nodes.js +19 -0
- package/dist/cjs/common/get-child-nodes.js.map +1 -0
- package/dist/cjs/common/get-connected-nodes.d.ts +10 -0
- package/dist/cjs/common/get-connected-nodes.d.ts.map +1 -0
- package/dist/cjs/common/get-connected-nodes.js +84 -0
- package/dist/cjs/common/get-connected-nodes.js.map +1 -0
- package/dist/cjs/common/get-node-by-name.d.ts +9 -0
- package/dist/cjs/common/get-node-by-name.d.ts.map +1 -0
- package/dist/cjs/common/get-node-by-name.js +29 -0
- package/dist/cjs/common/get-node-by-name.js.map +1 -0
- package/dist/cjs/common/get-parent-nodes.d.ts +9 -0
- package/dist/cjs/common/get-parent-nodes.d.ts.map +1 -0
- package/dist/cjs/common/get-parent-nodes.js +25 -0
- package/dist/cjs/common/get-parent-nodes.js.map +1 -0
- package/dist/cjs/common/index.d.ts +6 -0
- package/dist/cjs/common/index.d.ts.map +1 -0
- package/dist/cjs/common/index.js +32 -0
- package/dist/cjs/common/index.js.map +1 -0
- package/dist/cjs/common/map-connections-by-destination.d.ts +3 -0
- package/dist/cjs/common/map-connections-by-destination.d.ts.map +1 -0
- package/dist/cjs/common/map-connections-by-destination.js +53 -0
- package/dist/cjs/common/map-connections-by-destination.js.map +1 -0
- package/dist/cjs/connections-diff.d.ts +16 -0
- package/dist/cjs/connections-diff.d.ts.map +1 -0
- package/dist/cjs/connections-diff.js +75 -0
- package/dist/cjs/connections-diff.js.map +1 -0
- package/dist/cjs/constants.d.ts +83 -0
- package/dist/cjs/constants.d.ts.map +1 -0
- package/dist/cjs/constants.js +123 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/cron.d.ts +35 -0
- package/dist/cjs/cron.d.ts.map +1 -0
- package/dist/cjs/cron.js +37 -0
- package/dist/cjs/cron.js.map +1 -0
- package/dist/cjs/data-table.types.d.ts +140 -0
- package/dist/cjs/data-table.types.d.ts.map +1 -0
- package/dist/cjs/data-table.types.js +21 -0
- package/dist/cjs/data-table.types.js.map +1 -0
- package/dist/cjs/deferred-promise.d.ts +10 -0
- package/dist/cjs/deferred-promise.d.ts.map +1 -0
- package/dist/cjs/deferred-promise.js +22 -0
- package/dist/cjs/deferred-promise.js.map +1 -0
- package/dist/cjs/errors/abstract/execution-base.error.d.ts +27 -0
- package/dist/cjs/errors/abstract/execution-base.error.d.ts.map +1 -0
- package/dist/cjs/errors/abstract/execution-base.error.js +50 -0
- package/dist/cjs/errors/abstract/execution-base.error.js.map +1 -0
- package/dist/cjs/errors/abstract/node.error.d.ts +48 -0
- package/dist/cjs/errors/abstract/node.error.d.ts.map +1 -0
- package/dist/cjs/errors/abstract/node.error.js +177 -0
- package/dist/cjs/errors/abstract/node.error.js.map +1 -0
- package/dist/cjs/errors/base/base.error.d.ts +26 -0
- package/dist/cjs/errors/base/base.error.d.ts.map +1 -0
- package/dist/cjs/errors/base/base.error.js +53 -0
- package/dist/cjs/errors/base/base.error.js.map +1 -0
- package/dist/cjs/errors/base/operational.error.d.ts +16 -0
- package/dist/cjs/errors/base/operational.error.d.ts.map +1 -0
- package/dist/cjs/errors/base/operational.error.js +29 -0
- package/dist/cjs/errors/base/operational.error.js.map +1 -0
- package/dist/cjs/errors/base/unexpected.error.d.ts +16 -0
- package/dist/cjs/errors/base/unexpected.error.d.ts.map +1 -0
- package/dist/cjs/errors/base/unexpected.error.js +29 -0
- package/dist/cjs/errors/base/unexpected.error.js.map +1 -0
- package/dist/cjs/errors/base/user.error.d.ts +18 -0
- package/dist/cjs/errors/base/user.error.d.ts.map +1 -0
- package/dist/cjs/errors/base/user.error.js +29 -0
- package/dist/cjs/errors/base/user.error.js.map +1 -0
- package/dist/cjs/errors/cli-subworkflow-operation.error.d.ts +4 -0
- package/dist/cjs/errors/cli-subworkflow-operation.error.d.ts.map +1 -0
- package/dist/cjs/errors/cli-subworkflow-operation.error.js +18 -0
- package/dist/cjs/errors/cli-subworkflow-operation.error.js.map +1 -0
- package/dist/cjs/errors/db-connection-timeout-error.d.ts +9 -0
- package/dist/cjs/errors/db-connection-timeout-error.d.ts.map +1 -0
- package/dist/cjs/errors/db-connection-timeout-error.js +23 -0
- package/dist/cjs/errors/db-connection-timeout-error.js.map +1 -0
- package/dist/cjs/errors/ensure-error.d.ts +3 -0
- package/dist/cjs/errors/ensure-error.d.ts.map +1 -0
- package/dist/cjs/errors/ensure-error.js +23 -0
- package/dist/cjs/errors/ensure-error.js.map +1 -0
- package/dist/cjs/errors/execution-cancelled.error.d.ts +16 -0
- package/dist/cjs/errors/execution-cancelled.error.d.ts.map +1 -0
- package/dist/cjs/errors/execution-cancelled.error.js +48 -0
- package/dist/cjs/errors/execution-cancelled.error.js.map +1 -0
- package/dist/cjs/errors/expression-extension.error.d.ts +4 -0
- package/dist/cjs/errors/expression-extension.error.d.ts.map +1 -0
- package/dist/cjs/errors/expression-extension.error.js +18 -0
- package/dist/cjs/errors/expression-extension.error.js.map +1 -0
- package/dist/cjs/errors/expression.error.d.ts +22 -0
- package/dist/cjs/errors/expression.error.d.ts.map +1 -0
- package/dist/cjs/errors/expression.error.js +48 -0
- package/dist/cjs/errors/expression.error.js.map +1 -0
- package/dist/cjs/errors/index.d.ts +24 -0
- package/dist/cjs/errors/index.d.ts.map +1 -0
- package/dist/cjs/errors/index.js +63 -0
- package/dist/cjs/errors/index.js.map +1 -0
- package/dist/cjs/errors/node-api.error.d.ts +39 -0
- package/dist/cjs/errors/node-api.error.d.ts.map +1 -0
- package/dist/cjs/errors/node-api.error.js +257 -0
- package/dist/cjs/errors/node-api.error.js.map +1 -0
- package/dist/cjs/errors/node-operation.error.d.ts +11 -0
- package/dist/cjs/errors/node-operation.error.d.ts.map +1 -0
- package/dist/cjs/errors/node-operation.error.js +53 -0
- package/dist/cjs/errors/node-operation.error.js.map +1 -0
- package/dist/cjs/errors/node-ssl.error.d.ts +5 -0
- package/dist/cjs/errors/node-ssl.error.d.ts.map +1 -0
- package/dist/cjs/errors/node-ssl.error.js +21 -0
- package/dist/cjs/errors/node-ssl.error.js.map +1 -0
- package/dist/cjs/errors/subworkflow-operation.error.d.ts +7 -0
- package/dist/cjs/errors/subworkflow-operation.error.d.ts.map +1 -0
- package/dist/cjs/errors/subworkflow-operation.error.js +30 -0
- package/dist/cjs/errors/subworkflow-operation.error.js.map +1 -0
- package/dist/cjs/errors/trigger-close.error.d.ts +11 -0
- package/dist/cjs/errors/trigger-close.error.d.ts.map +1 -0
- package/dist/cjs/errors/trigger-close.error.js +24 -0
- package/dist/cjs/errors/trigger-close.error.js.map +1 -0
- package/dist/cjs/errors/webhook-taken.error.d.ts +5 -0
- package/dist/cjs/errors/webhook-taken.error.d.ts.map +1 -0
- package/dist/cjs/errors/webhook-taken.error.js +21 -0
- package/dist/cjs/errors/webhook-taken.error.js.map +1 -0
- package/dist/cjs/errors/workflow-activation.error.d.ts +20 -0
- package/dist/cjs/errors/workflow-activation.error.d.ts.map +1 -0
- package/dist/cjs/errors/workflow-activation.error.js +54 -0
- package/dist/cjs/errors/workflow-activation.error.js.map +1 -0
- package/dist/cjs/errors/workflow-configuration.error.d.ts +7 -0
- package/dist/cjs/errors/workflow-configuration.error.d.ts.map +1 -0
- package/dist/cjs/errors/workflow-configuration.error.js +21 -0
- package/dist/cjs/errors/workflow-configuration.error.js.map +1 -0
- package/dist/cjs/errors/workflow-deactivation.error.d.ts +4 -0
- package/dist/cjs/errors/workflow-deactivation.error.d.ts.map +1 -0
- package/dist/cjs/errors/workflow-deactivation.error.js +18 -0
- package/dist/cjs/errors/workflow-deactivation.error.js.map +1 -0
- package/dist/cjs/errors/workflow-operation.error.d.ts +11 -0
- package/dist/cjs/errors/workflow-operation.error.d.ts.map +1 -0
- package/dist/cjs/errors/workflow-operation.error.js +32 -0
- package/dist/cjs/errors/workflow-operation.error.js.map +1 -0
- package/dist/cjs/evaluation-helpers.d.ts +22 -0
- package/dist/cjs/evaluation-helpers.d.ts.map +1 -0
- package/dist/cjs/evaluation-helpers.js +38 -0
- package/dist/cjs/evaluation-helpers.js.map +1 -0
- package/dist/cjs/execution-context-establishment-hooks.d.ts +38 -0
- package/dist/cjs/execution-context-establishment-hooks.d.ts.map +1 -0
- package/dist/cjs/execution-context-establishment-hooks.js +52 -0
- package/dist/cjs/execution-context-establishment-hooks.js.map +1 -0
- package/dist/cjs/execution-context.d.ts +113 -0
- package/dist/cjs/execution-context.d.ts.map +1 -0
- package/dist/cjs/execution-context.js +127 -0
- package/dist/cjs/execution-context.js.map +1 -0
- package/dist/cjs/execution-status.d.ts +3 -0
- package/dist/cjs/execution-status.d.ts.map +1 -0
- package/dist/cjs/execution-status.js +24 -0
- package/dist/cjs/execution-status.js.map +1 -0
- package/dist/cjs/expression-evaluator-proxy.d.ts +6 -0
- package/dist/cjs/expression-evaluator-proxy.d.ts.map +1 -0
- package/dist/cjs/expression-evaluator-proxy.js +30 -0
- package/dist/cjs/expression-evaluator-proxy.js.map +1 -0
- package/dist/cjs/expression-sandboxing.d.ts +24 -0
- package/dist/cjs/expression-sandboxing.d.ts.map +1 -0
- package/dist/cjs/expression-sandboxing.js +210 -0
- package/dist/cjs/expression-sandboxing.js.map +1 -0
- package/dist/cjs/expression.d.ts +48 -0
- package/dist/cjs/expression.d.ts.map +1 -0
- package/dist/cjs/expression.js +362 -0
- package/dist/cjs/expression.js.map +1 -0
- package/dist/cjs/expressions/expression-helpers.d.ts +6 -0
- package/dist/cjs/expressions/expression-helpers.d.ts.map +1 -0
- package/dist/cjs/expressions/expression-helpers.js +24 -0
- package/dist/cjs/expressions/expression-helpers.js.map +1 -0
- package/dist/cjs/extensions/array-extensions.d.ts +34 -0
- package/dist/cjs/extensions/array-extensions.d.ts.map +1 -0
- package/dist/cjs/extensions/array-extensions.js +632 -0
- package/dist/cjs/extensions/array-extensions.js.map +1 -0
- package/dist/cjs/extensions/boolean-extensions.d.ts +6 -0
- package/dist/cjs/extensions/boolean-extensions.d.ts.map +1 -0
- package/dist/cjs/extensions/boolean-extensions.js +49 -0
- package/dist/cjs/extensions/boolean-extensions.js.map +1 -0
- package/dist/cjs/extensions/date-extensions.d.ts +3 -0
- package/dist/cjs/extensions/date-extensions.d.ts.map +1 -0
- package/dist/cjs/extensions/date-extensions.js +528 -0
- package/dist/cjs/extensions/date-extensions.js.map +1 -0
- package/dist/cjs/extensions/expression-extension.d.ts +32 -0
- package/dist/cjs/extensions/expression-extension.d.ts.map +1 -0
- package/dist/cjs/extensions/expression-extension.js +491 -0
- package/dist/cjs/extensions/expression-extension.js.map +1 -0
- package/dist/cjs/extensions/expression-parser.d.ts +14 -0
- package/dist/cjs/extensions/expression-parser.d.ts.map +1 -0
- package/dist/cjs/extensions/expression-parser.js +94 -0
- package/dist/cjs/extensions/expression-parser.js.map +1 -0
- package/dist/cjs/extensions/extended-functions.d.ts +28 -0
- package/dist/cjs/extensions/extended-functions.d.ts.map +1 -0
- package/dist/cjs/extensions/extended-functions.js +89 -0
- package/dist/cjs/extensions/extended-functions.js.map +1 -0
- package/dist/cjs/extensions/extensions.d.ts +52 -0
- package/dist/cjs/extensions/extensions.d.ts.map +1 -0
- package/dist/cjs/extensions/extensions.js +13 -0
- package/dist/cjs/extensions/extensions.js.map +1 -0
- package/dist/cjs/extensions/index.d.ts +4 -0
- package/dist/cjs/extensions/index.d.ts.map +1 -0
- package/dist/cjs/extensions/index.js +21 -0
- package/dist/cjs/extensions/index.js.map +1 -0
- package/dist/cjs/extensions/number-extensions.d.ts +27 -0
- package/dist/cjs/extensions/number-extensions.d.ts.map +1 -0
- package/dist/cjs/extensions/number-extensions.js +236 -0
- package/dist/cjs/extensions/number-extensions.js.map +1 -0
- package/dist/cjs/extensions/object-extensions.d.ts +46 -0
- package/dist/cjs/extensions/object-extensions.d.ts.map +1 -0
- package/dist/cjs/extensions/object-extensions.js +297 -0
- package/dist/cjs/extensions/object-extensions.js.map +1 -0
- package/dist/cjs/extensions/string-extensions.d.ts +38 -0
- package/dist/cjs/extensions/string-extensions.d.ts.map +1 -0
- package/dist/cjs/extensions/string-extensions.js +791 -0
- package/dist/cjs/extensions/string-extensions.js.map +1 -0
- package/dist/cjs/extensions/utils.d.ts +4 -0
- package/dist/cjs/extensions/utils.d.ts.map +1 -0
- package/dist/cjs/extensions/utils.js +42 -0
- package/dist/cjs/extensions/utils.js.map +1 -0
- package/dist/cjs/from-ai-parse-utils.d.ts +44 -0
- package/dist/cjs/from-ai-parse-utils.d.ts.map +1 -0
- package/dist/cjs/from-ai-parse-utils.js +297 -0
- package/dist/cjs/from-ai-parse-utils.js.map +1 -0
- package/dist/cjs/global-state.d.ts +6 -0
- package/dist/cjs/global-state.d.ts.map +1 -0
- package/dist/cjs/global-state.js +23 -0
- package/dist/cjs/global-state.js.map +1 -0
- package/dist/cjs/graph/graph-utils.d.ts +57 -0
- package/dist/cjs/graph/graph-utils.d.ts.map +1 -0
- package/dist/cjs/graph/graph-utils.js +195 -0
- package/dist/cjs/graph/graph-utils.js.map +1 -0
- package/dist/cjs/index.d.ts +63 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +132 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/interfaces.d.ts +2483 -0
- package/dist/cjs/interfaces.d.ts.map +1 -0
- package/dist/cjs/interfaces.js +54 -0
- package/dist/cjs/interfaces.js.map +1 -0
- package/dist/cjs/logger-proxy.d.ts +7 -0
- package/dist/cjs/logger-proxy.d.ts.map +1 -0
- package/dist/cjs/logger-proxy.js +26 -0
- package/dist/cjs/logger-proxy.js.map +1 -0
- package/dist/cjs/message-event-bus.d.ts +119 -0
- package/dist/cjs/message-event-bus.d.ts.map +1 -0
- package/dist/cjs/message-event-bus.js +96 -0
- package/dist/cjs/message-event-bus.js.map +1 -0
- package/dist/cjs/metadata-utils.d.ts +5 -0
- package/dist/cjs/metadata-utils.d.ts.map +1 -0
- package/dist/cjs/metadata-utils.js +37 -0
- package/dist/cjs/metadata-utils.js.map +1 -0
- package/dist/cjs/native-methods/array.methods.d.ts +3 -0
- package/dist/cjs/native-methods/array.methods.d.ts.map +1 -0
- package/dist/cjs/native-methods/array.methods.js +558 -0
- package/dist/cjs/native-methods/array.methods.js.map +1 -0
- package/dist/cjs/native-methods/boolean.methods.d.ts +3 -0
- package/dist/cjs/native-methods/boolean.methods.d.ts.map +1 -0
- package/dist/cjs/native-methods/boolean.methods.js +31 -0
- package/dist/cjs/native-methods/boolean.methods.js.map +1 -0
- package/dist/cjs/native-methods/index.d.ts +4 -0
- package/dist/cjs/native-methods/index.d.ts.map +1 -0
- package/dist/cjs/native-methods/index.js +27 -0
- package/dist/cjs/native-methods/index.js.map +1 -0
- package/dist/cjs/native-methods/number.methods.d.ts +3 -0
- package/dist/cjs/native-methods/number.methods.d.ts.map +1 -0
- package/dist/cjs/native-methods/number.methods.js +95 -0
- package/dist/cjs/native-methods/number.methods.js.map +1 -0
- package/dist/cjs/native-methods/object.methods.d.ts +3 -0
- package/dist/cjs/native-methods/object.methods.d.ts.map +1 -0
- package/dist/cjs/native-methods/object.methods.js +18 -0
- package/dist/cjs/native-methods/object.methods.js.map +1 -0
- package/dist/cjs/native-methods/string.methods.d.ts +3 -0
- package/dist/cjs/native-methods/string.methods.d.ts.map +1 -0
- package/dist/cjs/native-methods/string.methods.js +506 -0
- package/dist/cjs/native-methods/string.methods.js.map +1 -0
- package/dist/cjs/node-helpers.d.ts +153 -0
- package/dist/cjs/node-helpers.d.ts.map +1 -0
- package/dist/cjs/node-helpers.js +1419 -0
- package/dist/cjs/node-helpers.js.map +1 -0
- package/dist/cjs/node-parameters/filter-parameter.d.ts +21 -0
- package/dist/cjs/node-parameters/filter-parameter.d.ts.map +1 -0
- package/dist/cjs/node-parameters/filter-parameter.js +390 -0
- package/dist/cjs/node-parameters/filter-parameter.js.map +1 -0
- package/dist/cjs/node-parameters/parameter-type-validation.d.ts +22 -0
- package/dist/cjs/node-parameters/parameter-type-validation.d.ts.map +1 -0
- package/dist/cjs/node-parameters/parameter-type-validation.js +141 -0
- package/dist/cjs/node-parameters/parameter-type-validation.js.map +1 -0
- package/dist/cjs/node-parameters/path-utils.d.ts +11 -0
- package/dist/cjs/node-parameters/path-utils.d.ts.map +1 -0
- package/dist/cjs/node-parameters/path-utils.js +33 -0
- package/dist/cjs/node-parameters/path-utils.js.map +1 -0
- package/dist/cjs/node-parameters/rename-node-utils.d.ts +3 -0
- package/dist/cjs/node-parameters/rename-node-utils.d.ts.map +1 -0
- package/dist/cjs/node-parameters/rename-node-utils.js +36 -0
- package/dist/cjs/node-parameters/rename-node-utils.js.map +1 -0
- package/dist/cjs/node-reference-parser-utils.d.ts +20 -0
- package/dist/cjs/node-reference-parser-utils.d.ts.map +1 -0
- package/dist/cjs/node-reference-parser-utils.js +504 -0
- package/dist/cjs/node-reference-parser-utils.js.map +1 -0
- package/dist/cjs/observable-object.d.ts +7 -0
- package/dist/cjs/observable-object.d.ts.map +1 -0
- package/dist/cjs/observable-object.js +71 -0
- package/dist/cjs/observable-object.js.map +1 -0
- package/dist/cjs/result.d.ts +19 -0
- package/dist/cjs/result.d.ts.map +1 -0
- package/dist/cjs/result.js +41 -0
- package/dist/cjs/result.js.map +1 -0
- package/dist/cjs/run-execution-data/run-execution-data.d.ts +24 -0
- package/dist/cjs/run-execution-data/run-execution-data.d.ts.map +1 -0
- package/dist/cjs/run-execution-data/run-execution-data.js +34 -0
- package/dist/cjs/run-execution-data/run-execution-data.js.map +1 -0
- package/dist/cjs/run-execution-data/run-execution-data.v0.d.ts +38 -0
- package/dist/cjs/run-execution-data/run-execution-data.v0.d.ts.map +1 -0
- package/dist/cjs/run-execution-data/run-execution-data.v0.js +13 -0
- package/dist/cjs/run-execution-data/run-execution-data.v0.js.map +1 -0
- package/dist/cjs/run-execution-data/run-execution-data.v1.d.ts +40 -0
- package/dist/cjs/run-execution-data/run-execution-data.v1.d.ts.map +1 -0
- package/dist/cjs/run-execution-data/run-execution-data.v1.js +37 -0
- package/dist/cjs/run-execution-data/run-execution-data.v1.js.map +1 -0
- package/dist/cjs/run-execution-data-factory.d.ts +53 -0
- package/dist/cjs/run-execution-data-factory.d.ts.map +1 -0
- package/dist/cjs/run-execution-data-factory.js +122 -0
- package/dist/cjs/run-execution-data-factory.js.map +1 -0
- package/dist/cjs/schemas.d.ts +112 -0
- package/dist/cjs/schemas.d.ts.map +1 -0
- package/dist/cjs/schemas.js +361 -0
- package/dist/cjs/schemas.js.map +1 -0
- package/dist/cjs/telemetry-helpers.d.ts +59 -0
- package/dist/cjs/telemetry-helpers.d.ts.map +1 -0
- package/dist/cjs/telemetry-helpers.js +657 -0
- package/dist/cjs/telemetry-helpers.js.map +1 -0
- package/dist/cjs/tool-helpers.d.ts +7 -0
- package/dist/cjs/tool-helpers.d.ts.map +1 -0
- package/dist/cjs/tool-helpers.js +22 -0
- package/dist/cjs/tool-helpers.js.map +1 -0
- package/dist/cjs/type-guards.d.ts +13 -0
- package/dist/cjs/type-guards.d.ts.map +1 -0
- package/dist/cjs/type-guards.js +61 -0
- package/dist/cjs/type-guards.js.map +1 -0
- package/dist/cjs/type-validation.d.ts +22 -0
- package/dist/cjs/type-validation.d.ts.map +1 -0
- package/dist/cjs/type-validation.js +426 -0
- package/dist/cjs/type-validation.js.map +1 -0
- package/dist/cjs/typecheck.tsbuildinfo +1 -0
- package/dist/cjs/utils.d.ts +111 -0
- package/dist/cjs/utils.d.ts.map +1 -0
- package/dist/cjs/utils.js +476 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/cjs/versioned-node-type.d.ts +10 -0
- package/dist/cjs/versioned-node-type.d.ts.map +1 -0
- package/dist/cjs/versioned-node-type.js +36 -0
- package/dist/cjs/versioned-node-type.js.map +1 -0
- package/dist/cjs/workflow-checksum.d.ts +25 -0
- package/dist/cjs/workflow-checksum.d.ts.map +1 -0
- package/dist/cjs/workflow-checksum.js +85 -0
- package/dist/cjs/workflow-checksum.js.map +1 -0
- package/dist/cjs/workflow-data-proxy-env-provider.d.ts +25 -0
- package/dist/cjs/workflow-data-proxy-env-provider.d.ts.map +1 -0
- package/dist/cjs/workflow-data-proxy-env-provider.js +70 -0
- package/dist/cjs/workflow-data-proxy-env-provider.js.map +1 -0
- package/dist/cjs/workflow-data-proxy-helpers.d.ts +3 -0
- package/dist/cjs/workflow-data-proxy-helpers.d.ts.map +1 -0
- package/dist/cjs/workflow-data-proxy-helpers.js +20 -0
- package/dist/cjs/workflow-data-proxy-helpers.js.map +1 -0
- package/dist/cjs/workflow-data-proxy.d.ts +81 -0
- package/dist/cjs/workflow-data-proxy.d.ts.map +1 -0
- package/dist/cjs/workflow-data-proxy.js +1214 -0
- package/dist/cjs/workflow-data-proxy.js.map +1 -0
- package/dist/cjs/workflow-diff.d.ts +57 -0
- package/dist/cjs/workflow-diff.d.ts.map +1 -0
- package/dist/cjs/workflow-diff.js +275 -0
- package/dist/cjs/workflow-diff.js.map +1 -0
- package/dist/cjs/workflow-validation.d.ts +18 -0
- package/dist/cjs/workflow-validation.d.ts.map +1 -0
- package/dist/cjs/workflow-validation.js +53 -0
- package/dist/cjs/workflow-validation.js.map +1 -0
- package/dist/cjs/workflow.d.ts +155 -0
- package/dist/cjs/workflow.d.ts.map +1 -0
- package/dist/cjs/workflow.js +712 -0
- package/dist/cjs/workflow.js.map +1 -0
- package/dist/esm/augment-object.d.ts +3 -0
- package/dist/esm/augment-object.d.ts.map +1 -0
- package/dist/esm/augment-object.js +143 -0
- package/dist/esm/augment-object.js.map +1 -0
- package/dist/esm/common/get-child-nodes.d.ts +3 -0
- package/dist/esm/common/get-child-nodes.d.ts.map +1 -0
- package/dist/esm/common/get-child-nodes.js +6 -0
- package/dist/esm/common/get-child-nodes.js.map +1 -0
- package/dist/esm/common/get-connected-nodes.d.ts +10 -0
- package/dist/esm/common/get-connected-nodes.d.ts.map +1 -0
- package/dist/esm/common/get-connected-nodes.js +71 -0
- package/dist/esm/common/get-connected-nodes.js.map +1 -0
- package/dist/esm/common/get-node-by-name.d.ts +9 -0
- package/dist/esm/common/get-node-by-name.d.ts.map +1 -0
- package/dist/esm/common/get-node-by-name.js +16 -0
- package/dist/esm/common/get-node-by-name.js.map +1 -0
- package/dist/esm/common/get-parent-nodes.d.ts +9 -0
- package/dist/esm/common/get-parent-nodes.d.ts.map +1 -0
- package/dist/esm/common/get-parent-nodes.js +12 -0
- package/dist/esm/common/get-parent-nodes.js.map +1 -0
- package/dist/esm/common/index.d.ts +6 -0
- package/dist/esm/common/index.d.ts.map +1 -0
- package/dist/esm/common/index.js +6 -0
- package/dist/esm/common/index.js.map +1 -0
- package/dist/esm/common/map-connections-by-destination.d.ts +3 -0
- package/dist/esm/common/map-connections-by-destination.d.ts.map +1 -0
- package/dist/esm/common/map-connections-by-destination.js +40 -0
- package/dist/esm/common/map-connections-by-destination.js.map +1 -0
- package/dist/esm/connections-diff.d.ts +16 -0
- package/dist/esm/connections-diff.d.ts.map +1 -0
- package/dist/esm/connections-diff.js +62 -0
- package/dist/esm/connections-diff.js.map +1 -0
- package/dist/esm/constants.d.ts +83 -0
- package/dist/esm/constants.d.ts.map +1 -0
- package/dist/esm/constants.js +110 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/cron.d.ts +35 -0
- package/dist/esm/cron.d.ts.map +1 -0
- package/dist/esm/cron.js +23 -0
- package/dist/esm/cron.js.map +1 -0
- package/dist/esm/data-table.types.d.ts +140 -0
- package/dist/esm/data-table.types.d.ts.map +1 -0
- package/dist/esm/data-table.types.js +8 -0
- package/dist/esm/data-table.types.js.map +1 -0
- package/dist/esm/deferred-promise.d.ts +10 -0
- package/dist/esm/deferred-promise.d.ts.map +1 -0
- package/dist/esm/deferred-promise.js +9 -0
- package/dist/esm/deferred-promise.js.map +1 -0
- package/dist/esm/errors/abstract/execution-base.error.d.ts +27 -0
- package/dist/esm/errors/abstract/execution-base.error.d.ts.map +1 -0
- package/dist/esm/errors/abstract/execution-base.error.js +36 -0
- package/dist/esm/errors/abstract/execution-base.error.js.map +1 -0
- package/dist/esm/errors/abstract/node.error.d.ts +48 -0
- package/dist/esm/errors/abstract/node.error.d.ts.map +1 -0
- package/dist/esm/errors/abstract/node.error.js +163 -0
- package/dist/esm/errors/abstract/node.error.js.map +1 -0
- package/dist/esm/errors/base/base.error.d.ts +26 -0
- package/dist/esm/errors/base/base.error.d.ts.map +1 -0
- package/dist/esm/errors/base/base.error.js +36 -0
- package/dist/esm/errors/base/base.error.js.map +1 -0
- package/dist/esm/errors/base/operational.error.d.ts +16 -0
- package/dist/esm/errors/base/operational.error.d.ts.map +1 -0
- package/dist/esm/errors/base/operational.error.js +15 -0
- package/dist/esm/errors/base/operational.error.js.map +1 -0
- package/dist/esm/errors/base/unexpected.error.d.ts +16 -0
- package/dist/esm/errors/base/unexpected.error.d.ts.map +1 -0
- package/dist/esm/errors/base/unexpected.error.js +15 -0
- package/dist/esm/errors/base/unexpected.error.js.map +1 -0
- package/dist/esm/errors/base/user.error.d.ts +18 -0
- package/dist/esm/errors/base/user.error.d.ts.map +1 -0
- package/dist/esm/errors/base/user.error.js +15 -0
- package/dist/esm/errors/base/user.error.js.map +1 -0
- package/dist/esm/errors/cli-subworkflow-operation.error.d.ts +4 -0
- package/dist/esm/errors/cli-subworkflow-operation.error.d.ts.map +1 -0
- package/dist/esm/errors/cli-subworkflow-operation.error.js +4 -0
- package/dist/esm/errors/cli-subworkflow-operation.error.js.map +1 -0
- package/dist/esm/errors/db-connection-timeout-error.d.ts +9 -0
- package/dist/esm/errors/db-connection-timeout-error.d.ts.map +1 -0
- package/dist/esm/errors/db-connection-timeout-error.js +9 -0
- package/dist/esm/errors/db-connection-timeout-error.js.map +1 -0
- package/dist/esm/errors/ensure-error.d.ts +3 -0
- package/dist/esm/errors/ensure-error.d.ts.map +1 -0
- package/dist/esm/errors/ensure-error.js +10 -0
- package/dist/esm/errors/ensure-error.js.map +1 -0
- package/dist/esm/errors/execution-cancelled.error.d.ts +16 -0
- package/dist/esm/errors/execution-cancelled.error.d.ts.map +1 -0
- package/dist/esm/errors/execution-cancelled.error.js +31 -0
- package/dist/esm/errors/execution-cancelled.error.js.map +1 -0
- package/dist/esm/errors/expression-extension.error.d.ts +4 -0
- package/dist/esm/errors/expression-extension.error.d.ts.map +1 -0
- package/dist/esm/errors/expression-extension.error.js +4 -0
- package/dist/esm/errors/expression-extension.error.js.map +1 -0
- package/dist/esm/errors/expression.error.d.ts +22 -0
- package/dist/esm/errors/expression.error.d.ts.map +1 -0
- package/dist/esm/errors/expression.error.js +34 -0
- package/dist/esm/errors/expression.error.js.map +1 -0
- package/dist/esm/errors/index.d.ts +24 -0
- package/dist/esm/errors/index.d.ts.map +1 -0
- package/dist/esm/errors/index.js +24 -0
- package/dist/esm/errors/index.js.map +1 -0
- package/dist/esm/errors/node-api.error.d.ts +39 -0
- package/dist/esm/errors/node-api.error.d.ts.map +1 -0
- package/dist/esm/errors/node-api.error.js +243 -0
- package/dist/esm/errors/node-api.error.js.map +1 -0
- package/dist/esm/errors/node-operation.error.d.ts +11 -0
- package/dist/esm/errors/node-operation.error.d.ts.map +1 -0
- package/dist/esm/errors/node-operation.error.js +39 -0
- package/dist/esm/errors/node-operation.error.js.map +1 -0
- package/dist/esm/errors/node-ssl.error.d.ts +5 -0
- package/dist/esm/errors/node-ssl.error.d.ts.map +1 -0
- package/dist/esm/errors/node-ssl.error.js +7 -0
- package/dist/esm/errors/node-ssl.error.js.map +1 -0
- package/dist/esm/errors/subworkflow-operation.error.d.ts +7 -0
- package/dist/esm/errors/subworkflow-operation.error.d.ts.map +1 -0
- package/dist/esm/errors/subworkflow-operation.error.js +16 -0
- package/dist/esm/errors/subworkflow-operation.error.js.map +1 -0
- package/dist/esm/errors/trigger-close.error.d.ts +11 -0
- package/dist/esm/errors/trigger-close.error.d.ts.map +1 -0
- package/dist/esm/errors/trigger-close.error.js +10 -0
- package/dist/esm/errors/trigger-close.error.js.map +1 -0
- package/dist/esm/errors/webhook-taken.error.d.ts +5 -0
- package/dist/esm/errors/webhook-taken.error.d.ts.map +1 -0
- package/dist/esm/errors/webhook-taken.error.js +7 -0
- package/dist/esm/errors/webhook-taken.error.js.map +1 -0
- package/dist/esm/errors/workflow-activation.error.d.ts +20 -0
- package/dist/esm/errors/workflow-activation.error.d.ts.map +1 -0
- package/dist/esm/errors/workflow-activation.error.js +40 -0
- package/dist/esm/errors/workflow-activation.error.js.map +1 -0
- package/dist/esm/errors/workflow-configuration.error.d.ts +7 -0
- package/dist/esm/errors/workflow-configuration.error.d.ts.map +1 -0
- package/dist/esm/errors/workflow-configuration.error.js +7 -0
- package/dist/esm/errors/workflow-configuration.error.js.map +1 -0
- package/dist/esm/errors/workflow-deactivation.error.d.ts +4 -0
- package/dist/esm/errors/workflow-deactivation.error.d.ts.map +1 -0
- package/dist/esm/errors/workflow-deactivation.error.js +4 -0
- package/dist/esm/errors/workflow-deactivation.error.js.map +1 -0
- package/dist/esm/errors/workflow-operation.error.d.ts +11 -0
- package/dist/esm/errors/workflow-operation.error.d.ts.map +1 -0
- package/dist/esm/errors/workflow-operation.error.js +18 -0
- package/dist/esm/errors/workflow-operation.error.js.map +1 -0
- package/dist/esm/evaluation-helpers.d.ts +22 -0
- package/dist/esm/evaluation-helpers.d.ts.map +1 -0
- package/dist/esm/evaluation-helpers.js +24 -0
- package/dist/esm/evaluation-helpers.js.map +1 -0
- package/dist/esm/execution-context-establishment-hooks.d.ts +38 -0
- package/dist/esm/execution-context-establishment-hooks.d.ts.map +1 -0
- package/dist/esm/execution-context-establishment-hooks.js +35 -0
- package/dist/esm/execution-context-establishment-hooks.js.map +1 -0
- package/dist/esm/execution-context.d.ts +113 -0
- package/dist/esm/execution-context.d.ts.map +1 -0
- package/dist/esm/execution-context.js +108 -0
- package/dist/esm/execution-context.js.map +1 -0
- package/dist/esm/execution-status.d.ts +3 -0
- package/dist/esm/execution-status.d.ts.map +1 -0
- package/dist/esm/execution-status.js +11 -0
- package/dist/esm/execution-status.js.map +1 -0
- package/dist/esm/expression-evaluator-proxy.d.ts +6 -0
- package/dist/esm/expression-evaluator-proxy.d.ts.map +1 -0
- package/dist/esm/expression-evaluator-proxy.js +15 -0
- package/dist/esm/expression-evaluator-proxy.js.map +1 -0
- package/dist/esm/expression-sandboxing.d.ts +24 -0
- package/dist/esm/expression-sandboxing.d.ts.map +1 -0
- package/dist/esm/expression-sandboxing.js +193 -0
- package/dist/esm/expression-sandboxing.js.map +1 -0
- package/dist/esm/expression.d.ts +48 -0
- package/dist/esm/expression.d.ts.map +1 -0
- package/dist/esm/expression.js +348 -0
- package/dist/esm/expression.js.map +1 -0
- package/dist/esm/expressions/expression-helpers.d.ts +6 -0
- package/dist/esm/expressions/expression-helpers.d.ts.map +1 -0
- package/dist/esm/expressions/expression-helpers.js +10 -0
- package/dist/esm/expressions/expression-helpers.js.map +1 -0
- package/dist/esm/extensions/array-extensions.d.ts +34 -0
- package/dist/esm/extensions/array-extensions.d.ts.map +1 -0
- package/dist/esm/extensions/array-extensions.js +610 -0
- package/dist/esm/extensions/array-extensions.js.map +1 -0
- package/dist/esm/extensions/boolean-extensions.d.ts +6 -0
- package/dist/esm/extensions/boolean-extensions.d.ts.map +1 -0
- package/dist/esm/extensions/boolean-extensions.js +33 -0
- package/dist/esm/extensions/boolean-extensions.js.map +1 -0
- package/dist/esm/extensions/date-extensions.d.ts +3 -0
- package/dist/esm/extensions/date-extensions.d.ts.map +1 -0
- package/dist/esm/extensions/date-extensions.js +515 -0
- package/dist/esm/extensions/date-extensions.js.map +1 -0
- package/dist/esm/extensions/expression-extension.d.ts +32 -0
- package/dist/esm/extensions/expression-extension.d.ts.map +1 -0
- package/dist/esm/extensions/expression-extension.js +472 -0
- package/dist/esm/extensions/expression-extension.js.map +1 -0
- package/dist/esm/extensions/expression-parser.d.ts +14 -0
- package/dist/esm/extensions/expression-parser.d.ts.map +1 -0
- package/dist/esm/extensions/expression-parser.js +78 -0
- package/dist/esm/extensions/expression-parser.js.map +1 -0
- package/dist/esm/extensions/extended-functions.d.ts +28 -0
- package/dist/esm/extensions/extended-functions.d.ts.map +1 -0
- package/dist/esm/extensions/extended-functions.js +76 -0
- package/dist/esm/extensions/extended-functions.js.map +1 -0
- package/dist/esm/extensions/extensions.d.ts +52 -0
- package/dist/esm/extensions/extensions.d.ts.map +1 -0
- package/dist/esm/extensions/extensions.js +2 -0
- package/dist/esm/extensions/extensions.js.map +1 -0
- package/dist/esm/extensions/index.d.ts +4 -0
- package/dist/esm/extensions/index.d.ts.map +1 -0
- package/dist/esm/extensions/index.js +2 -0
- package/dist/esm/extensions/index.js.map +1 -0
- package/dist/esm/extensions/number-extensions.d.ts +27 -0
- package/dist/esm/extensions/number-extensions.d.ts.map +1 -0
- package/dist/esm/extensions/number-extensions.js +222 -0
- package/dist/esm/extensions/number-extensions.js.map +1 -0
- package/dist/esm/extensions/object-extensions.d.ts +46 -0
- package/dist/esm/extensions/object-extensions.d.ts.map +1 -0
- package/dist/esm/extensions/object-extensions.js +277 -0
- package/dist/esm/extensions/object-extensions.js.map +1 -0
- package/dist/esm/extensions/string-extensions.d.ts +38 -0
- package/dist/esm/extensions/string-extensions.d.ts.map +1 -0
- package/dist/esm/extensions/string-extensions.js +773 -0
- package/dist/esm/extensions/string-extensions.js.map +1 -0
- package/dist/esm/extensions/utils.d.ts +4 -0
- package/dist/esm/extensions/utils.d.ts.map +1 -0
- package/dist/esm/extensions/utils.js +27 -0
- package/dist/esm/extensions/utils.js.map +1 -0
- package/dist/esm/from-ai-parse-utils.d.ts +44 -0
- package/dist/esm/from-ai-parse-utils.d.ts.map +1 -0
- package/dist/esm/from-ai-parse-utils.js +281 -0
- package/dist/esm/from-ai-parse-utils.js.map +1 -0
- package/dist/esm/global-state.d.ts +6 -0
- package/dist/esm/global-state.d.ts.map +1 -0
- package/dist/esm/global-state.js +9 -0
- package/dist/esm/global-state.js.map +1 -0
- package/dist/esm/graph/graph-utils.d.ts +57 -0
- package/dist/esm/graph/graph-utils.d.ts.map +1 -0
- package/dist/esm/graph/graph-utils.js +176 -0
- package/dist/esm/graph/graph-utils.js.map +1 -0
- package/dist/esm/index.d.ts +63 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +47 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/interfaces.d.ts +2483 -0
- package/dist/esm/interfaces.d.ts.map +1 -0
- package/dist/esm/interfaces.js +38 -0
- package/dist/esm/interfaces.js.map +1 -0
- package/dist/esm/logger-proxy.d.ts +7 -0
- package/dist/esm/logger-proxy.d.ts.map +1 -0
- package/dist/esm/logger-proxy.js +12 -0
- package/dist/esm/logger-proxy.js.map +1 -0
- package/dist/esm/message-event-bus.d.ts +119 -0
- package/dist/esm/message-event-bus.d.ts.map +1 -0
- package/dist/esm/message-event-bus.js +83 -0
- package/dist/esm/message-event-bus.js.map +1 -0
- package/dist/esm/metadata-utils.d.ts +5 -0
- package/dist/esm/metadata-utils.d.ts.map +1 -0
- package/dist/esm/metadata-utils.js +24 -0
- package/dist/esm/metadata-utils.js.map +1 -0
- package/dist/esm/native-methods/array.methods.d.ts +3 -0
- package/dist/esm/native-methods/array.methods.d.ts.map +1 -0
- package/dist/esm/native-methods/array.methods.js +545 -0
- package/dist/esm/native-methods/array.methods.js.map +1 -0
- package/dist/esm/native-methods/boolean.methods.d.ts +3 -0
- package/dist/esm/native-methods/boolean.methods.d.ts.map +1 -0
- package/dist/esm/native-methods/boolean.methods.js +18 -0
- package/dist/esm/native-methods/boolean.methods.js.map +1 -0
- package/dist/esm/native-methods/index.d.ts +4 -0
- package/dist/esm/native-methods/index.d.ts.map +1 -0
- package/dist/esm/native-methods/index.js +14 -0
- package/dist/esm/native-methods/index.js.map +1 -0
- package/dist/esm/native-methods/number.methods.d.ts +3 -0
- package/dist/esm/native-methods/number.methods.d.ts.map +1 -0
- package/dist/esm/native-methods/number.methods.js +82 -0
- package/dist/esm/native-methods/number.methods.js.map +1 -0
- package/dist/esm/native-methods/object.methods.d.ts +3 -0
- package/dist/esm/native-methods/object.methods.d.ts.map +1 -0
- package/dist/esm/native-methods/object.methods.js +5 -0
- package/dist/esm/native-methods/object.methods.js.map +1 -0
- package/dist/esm/native-methods/string.methods.d.ts +3 -0
- package/dist/esm/native-methods/string.methods.d.ts.map +1 -0
- package/dist/esm/native-methods/string.methods.js +493 -0
- package/dist/esm/native-methods/string.methods.js.map +1 -0
- package/dist/esm/node-helpers.d.ts +153 -0
- package/dist/esm/node-helpers.d.ts.map +1 -0
- package/dist/esm/node-helpers.js +1376 -0
- package/dist/esm/node-helpers.js.map +1 -0
- package/dist/esm/node-parameters/filter-parameter.d.ts +21 -0
- package/dist/esm/node-parameters/filter-parameter.d.ts.map +1 -0
- package/dist/esm/node-parameters/filter-parameter.js +339 -0
- package/dist/esm/node-parameters/filter-parameter.js.map +1 -0
- package/dist/esm/node-parameters/parameter-type-validation.d.ts +22 -0
- package/dist/esm/node-parameters/parameter-type-validation.d.ts.map +1 -0
- package/dist/esm/node-parameters/parameter-type-validation.js +123 -0
- package/dist/esm/node-parameters/parameter-type-validation.js.map +1 -0
- package/dist/esm/node-parameters/path-utils.d.ts +11 -0
- package/dist/esm/node-parameters/path-utils.d.ts.map +1 -0
- package/dist/esm/node-parameters/path-utils.js +20 -0
- package/dist/esm/node-parameters/path-utils.js.map +1 -0
- package/dist/esm/node-parameters/rename-node-utils.d.ts +3 -0
- package/dist/esm/node-parameters/rename-node-utils.d.ts.map +1 -0
- package/dist/esm/node-parameters/rename-node-utils.js +23 -0
- package/dist/esm/node-parameters/rename-node-utils.js.map +1 -0
- package/dist/esm/node-reference-parser-utils.d.ts +20 -0
- package/dist/esm/node-reference-parser-utils.d.ts.map +1 -0
- package/dist/esm/node-reference-parser-utils.js +484 -0
- package/dist/esm/node-reference-parser-utils.js.map +1 -0
- package/dist/esm/observable-object.d.ts +7 -0
- package/dist/esm/observable-object.d.ts.map +1 -0
- package/dist/esm/observable-object.js +58 -0
- package/dist/esm/observable-object.js.map +1 -0
- package/dist/esm/result.d.ts +19 -0
- package/dist/esm/result.d.ts.map +1 -0
- package/dist/esm/result.js +25 -0
- package/dist/esm/result.js.map +1 -0
- package/dist/esm/run-execution-data/run-execution-data.d.ts +24 -0
- package/dist/esm/run-execution-data/run-execution-data.d.ts.map +1 -0
- package/dist/esm/run-execution-data/run-execution-data.js +21 -0
- package/dist/esm/run-execution-data/run-execution-data.js.map +1 -0
- package/dist/esm/run-execution-data/run-execution-data.v0.d.ts +38 -0
- package/dist/esm/run-execution-data/run-execution-data.v0.d.ts.map +1 -0
- package/dist/esm/run-execution-data/run-execution-data.v0.js +2 -0
- package/dist/esm/run-execution-data/run-execution-data.v0.js.map +1 -0
- package/dist/esm/run-execution-data/run-execution-data.v1.d.ts +40 -0
- package/dist/esm/run-execution-data/run-execution-data.v1.d.ts.map +1 -0
- package/dist/esm/run-execution-data/run-execution-data.v1.js +24 -0
- package/dist/esm/run-execution-data/run-execution-data.v1.js.map +1 -0
- package/dist/esm/run-execution-data-factory.d.ts +53 -0
- package/dist/esm/run-execution-data-factory.d.ts.map +1 -0
- package/dist/esm/run-execution-data-factory.js +107 -0
- package/dist/esm/run-execution-data-factory.js.map +1 -0
- package/dist/esm/schemas.d.ts +112 -0
- package/dist/esm/schemas.d.ts.map +1 -0
- package/dist/esm/schemas.js +348 -0
- package/dist/esm/schemas.js.map +1 -0
- package/dist/esm/telemetry-helpers.d.ts +59 -0
- package/dist/esm/telemetry-helpers.d.ts.map +1 -0
- package/dist/esm/telemetry-helpers.js +633 -0
- package/dist/esm/telemetry-helpers.js.map +1 -0
- package/dist/esm/tool-helpers.d.ts +7 -0
- package/dist/esm/tool-helpers.d.ts.map +1 -0
- package/dist/esm/tool-helpers.js +9 -0
- package/dist/esm/tool-helpers.js.map +1 -0
- package/dist/esm/type-guards.d.ts +13 -0
- package/dist/esm/type-guards.d.ts.map +1 -0
- package/dist/esm/type-guards.js +37 -0
- package/dist/esm/type-guards.js.map +1 -0
- package/dist/esm/type-validation.d.ts +22 -0
- package/dist/esm/type-validation.d.ts.map +1 -0
- package/dist/esm/type-validation.js +397 -0
- package/dist/esm/type-validation.js.map +1 -0
- package/dist/esm/typecheck.tsbuildinfo +1 -0
- package/dist/esm/utils.d.ts +111 -0
- package/dist/esm/utils.d.ts.map +1 -0
- package/dist/esm/utils.js +405 -0
- package/dist/esm/utils.js.map +1 -0
- package/dist/esm/versioned-node-type.d.ts +10 -0
- package/dist/esm/versioned-node-type.d.ts.map +1 -0
- package/dist/esm/versioned-node-type.js +22 -0
- package/dist/esm/versioned-node-type.js.map +1 -0
- package/dist/esm/workflow-checksum.d.ts +25 -0
- package/dist/esm/workflow-checksum.d.ts.map +1 -0
- package/dist/esm/workflow-checksum.js +69 -0
- package/dist/esm/workflow-checksum.js.map +1 -0
- package/dist/esm/workflow-data-proxy-env-provider.d.ts +25 -0
- package/dist/esm/workflow-data-proxy-env-provider.d.ts.map +1 -0
- package/dist/esm/workflow-data-proxy-env-provider.js +56 -0
- package/dist/esm/workflow-data-proxy-env-provider.js.map +1 -0
- package/dist/esm/workflow-data-proxy-helpers.d.ts +3 -0
- package/dist/esm/workflow-data-proxy-helpers.d.ts.map +1 -0
- package/dist/esm/workflow-data-proxy-helpers.js +7 -0
- package/dist/esm/workflow-data-proxy-helpers.js.map +1 -0
- package/dist/esm/workflow-data-proxy.d.ts +81 -0
- package/dist/esm/workflow-data-proxy.d.ts.map +1 -0
- package/dist/esm/workflow-data-proxy.js +1167 -0
- package/dist/esm/workflow-data-proxy.js.map +1 -0
- package/dist/esm/workflow-diff.d.ts +57 -0
- package/dist/esm/workflow-diff.d.ts.map +1 -0
- package/dist/esm/workflow-diff.js +253 -0
- package/dist/esm/workflow-diff.js.map +1 -0
- package/dist/esm/workflow-validation.d.ts +18 -0
- package/dist/esm/workflow-validation.d.ts.map +1 -0
- package/dist/esm/workflow-validation.js +40 -0
- package/dist/esm/workflow-validation.js.map +1 -0
- package/dist/esm/workflow.d.ts +155 -0
- package/dist/esm/workflow.d.ts.map +1 -0
- package/dist/esm/workflow.js +665 -0
- package/dist/esm/workflow.js.map +1 -0
- package/package.json +73 -0
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
import { astBuilders as b, astVisit } from '@n8n/tournament';
|
|
2
|
+
import { ExpressionError } from './errors';
|
|
3
|
+
import { isSafeObjectProperty } from './utils';
|
|
4
|
+
export const sanitizerName = '__sanitize';
|
|
5
|
+
const sanitizerIdentifier = b.identifier(sanitizerName);
|
|
6
|
+
export const DOLLAR_SIGN_ERROR = 'Cannot access "$" without calling it as a function';
|
|
7
|
+
const EMPTY_CONTEXT = b.objectExpression([
|
|
8
|
+
b.property('init', b.identifier('process'), b.objectExpression([])),
|
|
9
|
+
]);
|
|
10
|
+
/**
|
|
11
|
+
* Helper to check if an expression is a valid property access with $ as the property.
|
|
12
|
+
* Returns true for obj.$ or obj.nested.$ but false for bare $ or other expression contexts.
|
|
13
|
+
*/
|
|
14
|
+
const isValidDollarPropertyAccess = (expr) => {
|
|
15
|
+
if (typeof expr !== 'object' ||
|
|
16
|
+
expr === null ||
|
|
17
|
+
!('type' in expr) ||
|
|
18
|
+
expr.type !== 'MemberExpression' ||
|
|
19
|
+
!('property' in expr) ||
|
|
20
|
+
!('object' in expr)) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
const property = expr.property;
|
|
24
|
+
const object = expr.object;
|
|
25
|
+
// $ must be the property
|
|
26
|
+
const isPropertyDollar = typeof property === 'object' &&
|
|
27
|
+
property !== null &&
|
|
28
|
+
'name' in property &&
|
|
29
|
+
property.name === '$';
|
|
30
|
+
// $ must NOT be the object (to block $.something)
|
|
31
|
+
const isObjectDollar = typeof object === 'object' && object !== null && 'name' in object && object.name === '$';
|
|
32
|
+
// Object must be an Identifier (obj) or MemberExpression (obj.nested)
|
|
33
|
+
// This excludes bare $ or $ in other expression contexts
|
|
34
|
+
const isObjectValid = typeof object === 'object' &&
|
|
35
|
+
object !== null &&
|
|
36
|
+
'type' in object &&
|
|
37
|
+
(object.type === 'Identifier' || object.type === 'MemberExpression');
|
|
38
|
+
return isPropertyDollar && !isObjectDollar && isObjectValid;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Prevents regular functions from binding their `this` to the Node.js global.
|
|
42
|
+
*/
|
|
43
|
+
export const FunctionThisSanitizer = (ast, dataNode) => {
|
|
44
|
+
astVisit(ast, {
|
|
45
|
+
visitCallExpression(path) {
|
|
46
|
+
const { node } = path;
|
|
47
|
+
if (node.callee.type !== 'FunctionExpression') {
|
|
48
|
+
this.traverse(path);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const fnExpression = node.callee;
|
|
52
|
+
/**
|
|
53
|
+
* Called function expressions (IIFEs) - both anonymous and named:
|
|
54
|
+
*
|
|
55
|
+
* ```js
|
|
56
|
+
* (function(x) { return x * 2; })(5)
|
|
57
|
+
* (function factorial(n) { return n <= 1 ? 1 : n * factorial(n-1); })(5)
|
|
58
|
+
*
|
|
59
|
+
* // become
|
|
60
|
+
*
|
|
61
|
+
* (function(x) { return x * 2; }).call({ process: {} }, 5)
|
|
62
|
+
* (function factorial(n) { return n <= 1 ? 1 : n * factorial(n-1); }).call({ process: {} }, 5)
|
|
63
|
+
* ```
|
|
64
|
+
*/
|
|
65
|
+
this.traverse(path); // depth first to transform inside out
|
|
66
|
+
const callExpression = b.callExpression(b.memberExpression(fnExpression, b.identifier('call')), [EMPTY_CONTEXT, ...node.arguments]);
|
|
67
|
+
path.replace(callExpression);
|
|
68
|
+
return false;
|
|
69
|
+
},
|
|
70
|
+
visitFunctionExpression(path) {
|
|
71
|
+
const { node } = path;
|
|
72
|
+
/**
|
|
73
|
+
* Callable function expressions (callbacks) - both anonymous and named:
|
|
74
|
+
*
|
|
75
|
+
* ```js
|
|
76
|
+
* [1, 2, 3].map(function(n) { return n * 2; })
|
|
77
|
+
* [1, 2, 3].map(function factorial(n) { return n <= 1 ? 1 : n * factorial(n-1); })
|
|
78
|
+
*
|
|
79
|
+
* // become
|
|
80
|
+
*
|
|
81
|
+
* [1, 2, 3].map((function(n) { return n * 2; }).bind({ process: {} }))
|
|
82
|
+
* [1, 2, 3].map((function factorial(n) { return n <= 1 ? 1 : n * factorial(n-1); }).bind({ process: {} }))
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
this.traverse(path);
|
|
86
|
+
const boundFunction = b.callExpression(b.memberExpression(node, b.identifier('bind')), [
|
|
87
|
+
EMPTY_CONTEXT,
|
|
88
|
+
]);
|
|
89
|
+
path.replace(boundFunction);
|
|
90
|
+
return false;
|
|
91
|
+
},
|
|
92
|
+
});
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Validates that the $ identifier is only used in allowed contexts.
|
|
96
|
+
* This prevents user errors like `{{ $ }}` which would return the function object itself.
|
|
97
|
+
*
|
|
98
|
+
* Allowed contexts:
|
|
99
|
+
* - As a function call: $()
|
|
100
|
+
* - As a property name: obj.$ (where $ is a valid property name in JavaScript)
|
|
101
|
+
*
|
|
102
|
+
* Disallowed contexts:
|
|
103
|
+
* - Bare identifier: $
|
|
104
|
+
* - As object in member expression: $.property
|
|
105
|
+
* - In expressions: "prefix" + $, [1, 2, $], etc.
|
|
106
|
+
*/
|
|
107
|
+
export const DollarSignValidator = (ast, _dataNode) => {
|
|
108
|
+
astVisit(ast, {
|
|
109
|
+
visitIdentifier(path) {
|
|
110
|
+
this.traverse(path);
|
|
111
|
+
const node = path.node;
|
|
112
|
+
// Only check for the exact identifier '$'
|
|
113
|
+
if (node.name !== '$')
|
|
114
|
+
return;
|
|
115
|
+
// Runtime type checking since path properties are typed as 'any'
|
|
116
|
+
const parent = path.parent;
|
|
117
|
+
// Check if parent is a path object with a 'name' property
|
|
118
|
+
if (typeof parent !== 'object' || parent === null || !('name' in parent)) {
|
|
119
|
+
throw new ExpressionError(DOLLAR_SIGN_ERROR);
|
|
120
|
+
}
|
|
121
|
+
// Allow $ when it's the callee: $()
|
|
122
|
+
// parent.name === 'callee' means the parent path represents the callee field
|
|
123
|
+
if (parent.name === 'callee') {
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
// Block when $ is the object in a MemberExpression: $.something
|
|
127
|
+
// parent.name === 'object' means the parent path represents the object field
|
|
128
|
+
if (parent.name === 'object') {
|
|
129
|
+
throw new ExpressionError(DOLLAR_SIGN_ERROR);
|
|
130
|
+
}
|
|
131
|
+
// Check if $ is the property of a MemberExpression: obj.$
|
|
132
|
+
// For obj.$: parent.name is 'expression' and grandparent has ExpressionStatement
|
|
133
|
+
// The ExpressionStatement should contain a MemberExpression with $ as property
|
|
134
|
+
if ('parent' in parent && typeof parent.parent === 'object' && parent.parent !== null) {
|
|
135
|
+
const grandparent = parent.parent;
|
|
136
|
+
if ('value' in grandparent &&
|
|
137
|
+
typeof grandparent.value === 'object' &&
|
|
138
|
+
grandparent.value !== null) {
|
|
139
|
+
const gpNode = grandparent.value;
|
|
140
|
+
// ExpressionStatement has an 'expression' field containing the actual expression
|
|
141
|
+
if ('type' in gpNode && gpNode.type === 'ExpressionStatement' && 'expression' in gpNode) {
|
|
142
|
+
// Check if this is a valid property access like obj.$
|
|
143
|
+
if (isValidDollarPropertyAccess(gpNode.expression)) {
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
// Disallow all other cases (bare $, $ in expressions, etc.)
|
|
150
|
+
throw new ExpressionError(DOLLAR_SIGN_ERROR);
|
|
151
|
+
},
|
|
152
|
+
});
|
|
153
|
+
};
|
|
154
|
+
export const PrototypeSanitizer = (ast, dataNode) => {
|
|
155
|
+
astVisit(ast, {
|
|
156
|
+
visitMemberExpression(path) {
|
|
157
|
+
this.traverse(path);
|
|
158
|
+
const node = path.node;
|
|
159
|
+
if (!node.computed) {
|
|
160
|
+
// This is static, so we're safe to error here
|
|
161
|
+
if (node.property.type !== 'Identifier') {
|
|
162
|
+
throw new ExpressionError(`Unknown property type ${node.property.type} while sanitising expression`);
|
|
163
|
+
}
|
|
164
|
+
if (!isSafeObjectProperty(node.property.name)) {
|
|
165
|
+
throw new ExpressionError(`Cannot access "${node.property.name}" due to security concerns`);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
else if (node.property.type === 'StringLiteral' || node.property.type === 'Literal') {
|
|
169
|
+
// Check any static strings against our forbidden list
|
|
170
|
+
if (!isSafeObjectProperty(node.property.value)) {
|
|
171
|
+
throw new ExpressionError(`Cannot access "${node.property.value}" due to security concerns`);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
path.replace(b.memberExpression(
|
|
176
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument, @typescript-eslint/no-explicit-any
|
|
177
|
+
node.object,
|
|
178
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
179
|
+
b.callExpression(b.memberExpression(dataNode, sanitizerIdentifier), [
|
|
180
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
181
|
+
node.property,
|
|
182
|
+
]), true));
|
|
183
|
+
}
|
|
184
|
+
},
|
|
185
|
+
});
|
|
186
|
+
};
|
|
187
|
+
export const sanitizer = (value) => {
|
|
188
|
+
if (!isSafeObjectProperty(value)) {
|
|
189
|
+
throw new ExpressionError(`Cannot access "${value}" due to security concerns`);
|
|
190
|
+
}
|
|
191
|
+
return value;
|
|
192
|
+
};
|
|
193
|
+
//# sourceMappingURL=expression-sandboxing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expression-sandboxing.js","sourceRoot":"","sources":["../../src/expression-sandboxing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { IDataObject, IExecuteData, INode, INodeExecutionData, INodeParameterResourceLocator, INodeParameters, IWorkflowDataProxyAdditionalKeys, NodeParameterValue, NodeParameterValueType, WorkflowExecuteMode } from './interfaces';
|
|
2
|
+
import type { Workflow } from './workflow';
|
|
3
|
+
import type { IRunExecutionData } from './run-execution-data/run-execution-data';
|
|
4
|
+
export declare class Expression {
|
|
5
|
+
private readonly workflow;
|
|
6
|
+
constructor(workflow: Workflow);
|
|
7
|
+
static initializeGlobalContext(data: IDataObject): void;
|
|
8
|
+
static resolveWithoutWorkflow(expression: string, data?: IDataObject): string | (() => unknown) | null;
|
|
9
|
+
/**
|
|
10
|
+
* Converts an object to a string in a way to make it clear that
|
|
11
|
+
* the value comes from an object
|
|
12
|
+
*
|
|
13
|
+
*/
|
|
14
|
+
convertObjectValueToString(value: object): string;
|
|
15
|
+
/**
|
|
16
|
+
* Resolves the parameter value. If it is an expression it will execute it and
|
|
17
|
+
* return the result. For everything simply the supplied value will be returned.
|
|
18
|
+
*
|
|
19
|
+
* @param {(IRunExecutionData | null)} runExecutionData
|
|
20
|
+
* @param {boolean} [returnObjectAsString=false]
|
|
21
|
+
*/
|
|
22
|
+
resolveSimpleParameterValue(parameterValue: NodeParameterValue, siblingParameters: INodeParameters, runExecutionData: IRunExecutionData | null, runIndex: number, itemIndex: number, activeNodeName: string, connectionInputData: INodeExecutionData[], mode: WorkflowExecuteMode, additionalKeys: IWorkflowDataProxyAdditionalKeys, executeData?: IExecuteData, returnObjectAsString?: boolean, selfData?: {}, contextNodeName?: string): NodeParameterValue | INodeParameters | NodeParameterValue[] | INodeParameters[];
|
|
23
|
+
private renderExpression;
|
|
24
|
+
/**
|
|
25
|
+
* Resolves value of parameter. But does not work for workflow-data.
|
|
26
|
+
*
|
|
27
|
+
* @param {(string | undefined)} parameterValue
|
|
28
|
+
*/
|
|
29
|
+
getSimpleParameterValue(node: INode, parameterValue: string | boolean | undefined, mode: WorkflowExecuteMode, additionalKeys: IWorkflowDataProxyAdditionalKeys, executeData?: IExecuteData, defaultValue?: boolean | number | string | unknown[]): boolean | number | string | undefined | unknown[];
|
|
30
|
+
/**
|
|
31
|
+
* Resolves value of complex parameter. But does not work for workflow-data.
|
|
32
|
+
*
|
|
33
|
+
* @param {(NodeParameterValue | INodeParameters | NodeParameterValue[] | INodeParameters[])} parameterValue
|
|
34
|
+
* @param {(NodeParameterValue | INodeParameters | NodeParameterValue[] | INodeParameters[] | undefined)} [defaultValue]
|
|
35
|
+
*/
|
|
36
|
+
getComplexParameterValue(node: INode, parameterValue: NodeParameterValue | INodeParameters | NodeParameterValue[] | INodeParameters[], mode: WorkflowExecuteMode, additionalKeys: IWorkflowDataProxyAdditionalKeys, executeData?: IExecuteData, defaultValue?: NodeParameterValueType | undefined, selfData?: {}): NodeParameterValueType | undefined;
|
|
37
|
+
/**
|
|
38
|
+
* Returns the resolved node parameter value. If it is an expression it will execute it and
|
|
39
|
+
* return the result. If the value to resolve is an array or object it will do the same
|
|
40
|
+
* for all of the items and values.
|
|
41
|
+
*
|
|
42
|
+
* @param {(NodeParameterValue | INodeParameters | NodeParameterValue[] | INodeParameters[])} parameterValue
|
|
43
|
+
* @param {(IRunExecutionData | null)} runExecutionData
|
|
44
|
+
* @param {boolean} [returnObjectAsString=false]
|
|
45
|
+
*/
|
|
46
|
+
getParameterValue(parameterValue: NodeParameterValueType | INodeParameterResourceLocator, runExecutionData: IRunExecutionData | null, runIndex: number, itemIndex: number, activeNodeName: string, connectionInputData: INodeExecutionData[], mode: WorkflowExecuteMode, additionalKeys: IWorkflowDataProxyAdditionalKeys, executeData?: IExecuteData, returnObjectAsString?: boolean, selfData?: {}, contextNodeName?: string): NodeParameterValueType;
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=expression.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expression.d.ts","sourceRoot":"","sources":["../../src/expression.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACX,WAAW,EACX,YAAY,EACZ,KAAK,EACL,kBAAkB,EAClB,6BAA6B,EAC7B,eAAe,EACf,gCAAgC,EAEhC,kBAAkB,EAClB,sBAAsB,EACtB,mBAAmB,EACnB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE3C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,yCAAyC,CAAC;AAwBjF,qBAAa,UAAU;IACV,OAAO,CAAC,QAAQ,CAAC,QAAQ;gBAAR,QAAQ,EAAE,QAAQ;IAE/C,MAAM,CAAC,uBAAuB,CAAC,IAAI,EAAE,WAAW;IAgIhD,MAAM,CAAC,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,GAAE,WAAgB;IAIxE;;;;OAIG;IACH,0BAA0B,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IAiCjD;;;;;;OAMG;IAGH,2BAA2B,CAC1B,cAAc,EAAE,kBAAkB,EAClC,iBAAiB,EAAE,eAAe,EAClC,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,EAC1C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,kBAAkB,EAAE,EACzC,IAAI,EAAE,mBAAmB,EACzB,cAAc,EAAE,gCAAgC,EAChD,WAAW,CAAC,EAAE,YAAY,EAC1B,oBAAoB,UAAQ,EAC5B,QAAQ,KAAK,EACb,eAAe,CAAC,EAAE,MAAM,GACtB,kBAAkB,GAAG,eAAe,GAAG,kBAAkB,EAAE,GAAG,eAAe,EAAE;IAoFlF,OAAO,CAAC,gBAAgB;IAoBxB;;;;OAIG;IACH,uBAAuB,CACtB,IAAI,EAAE,KAAK,EACX,cAAc,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,EAC5C,IAAI,EAAE,mBAAmB,EACzB,cAAc,EAAE,gCAAgC,EAChD,WAAW,CAAC,EAAE,YAAY,EAC1B,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,EAAE,GAClD,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,EAAE;IAyBpD;;;;;OAKG;IACH,wBAAwB,CACvB,IAAI,EAAE,KAAK,EACX,cAAc,EAAE,kBAAkB,GAAG,eAAe,GAAG,kBAAkB,EAAE,GAAG,eAAe,EAAE,EAC/F,IAAI,EAAE,mBAAmB,EACzB,cAAc,EAAE,gCAAgC,EAChD,WAAW,CAAC,EAAE,YAAY,EAC1B,YAAY,GAAE,sBAAsB,GAAG,SAAqB,EAC5D,QAAQ,KAAK,GACX,sBAAsB,GAAG,SAAS;IA2CrC;;;;;;;;OAQG;IAEH,iBAAiB,CAChB,cAAc,EAAE,sBAAsB,GAAG,6BAA6B,EACtE,gBAAgB,EAAE,iBAAiB,GAAG,IAAI,EAC1C,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,cAAc,EAAE,MAAM,EACtB,mBAAmB,EAAE,kBAAkB,EAAE,EACzC,IAAI,EAAE,mBAAmB,EACzB,cAAc,EAAE,gCAAgC,EAChD,WAAW,CAAC,EAAE,YAAY,EAC1B,oBAAoB,UAAQ,EAC5B,QAAQ,KAAK,EACb,eAAe,CAAC,EAAE,MAAM,GACtB,sBAAsB;CAiGzB"}
|
|
@@ -0,0 +1,348 @@
|
|
|
1
|
+
import { DateTime, Duration, Interval } from 'luxon';
|
|
2
|
+
import { ApplicationError } from '@n8n/errors';
|
|
3
|
+
import { ExpressionExtensionError } from './errors/expression-extension.error';
|
|
4
|
+
import { ExpressionError } from './errors/expression.error';
|
|
5
|
+
import { evaluateExpression, setErrorHandler } from './expression-evaluator-proxy';
|
|
6
|
+
import { sanitizer, sanitizerName } from './expression-sandboxing';
|
|
7
|
+
import { isExpression } from './expressions/expression-helpers';
|
|
8
|
+
import { extend, extendOptional } from './extensions';
|
|
9
|
+
import { extendSyntax } from './extensions/expression-extension';
|
|
10
|
+
import { extendedFunctions } from './extensions/extended-functions';
|
|
11
|
+
import { getGlobalState } from './global-state';
|
|
12
|
+
import { createEmptyRunExecutionData } from './run-execution-data-factory';
|
|
13
|
+
import { WorkflowDataProxy } from './workflow-data-proxy';
|
|
14
|
+
const IS_FRONTEND_IN_DEV_MODE = typeof process === 'object' &&
|
|
15
|
+
Object.keys(process).length === 1 &&
|
|
16
|
+
'env' in process &&
|
|
17
|
+
Object.keys(process.env).length === 0;
|
|
18
|
+
const IS_FRONTEND = typeof process === 'undefined' || IS_FRONTEND_IN_DEV_MODE;
|
|
19
|
+
const isSyntaxError = (error) => error instanceof SyntaxError || (error instanceof Error && error.name === 'SyntaxError');
|
|
20
|
+
const isExpressionError = (error) => error instanceof ExpressionError || error instanceof ExpressionExtensionError;
|
|
21
|
+
const isTypeError = (error) => error instanceof TypeError || (error instanceof Error && error.name === 'TypeError');
|
|
22
|
+
// Make sure that error get forwarded
|
|
23
|
+
setErrorHandler((error) => {
|
|
24
|
+
if (isExpressionError(error))
|
|
25
|
+
throw error;
|
|
26
|
+
});
|
|
27
|
+
export class Expression {
|
|
28
|
+
workflow;
|
|
29
|
+
constructor(workflow) {
|
|
30
|
+
this.workflow = workflow;
|
|
31
|
+
}
|
|
32
|
+
static initializeGlobalContext(data) {
|
|
33
|
+
/**
|
|
34
|
+
* Denylist
|
|
35
|
+
*/
|
|
36
|
+
data.document = {};
|
|
37
|
+
data.global = {};
|
|
38
|
+
data.window = {};
|
|
39
|
+
data.Window = {};
|
|
40
|
+
data.this = {};
|
|
41
|
+
data.globalThis = {};
|
|
42
|
+
data.self = {};
|
|
43
|
+
// Alerts
|
|
44
|
+
data.alert = {};
|
|
45
|
+
data.prompt = {};
|
|
46
|
+
data.confirm = {};
|
|
47
|
+
// Prevent Remote Code Execution
|
|
48
|
+
data.eval = {};
|
|
49
|
+
data.uneval = {};
|
|
50
|
+
data.setTimeout = {};
|
|
51
|
+
data.setInterval = {};
|
|
52
|
+
data.Function = {};
|
|
53
|
+
// Prevent requests
|
|
54
|
+
data.fetch = {};
|
|
55
|
+
data.XMLHttpRequest = {};
|
|
56
|
+
// Prevent control abstraction
|
|
57
|
+
data.Promise = {};
|
|
58
|
+
data.Generator = {};
|
|
59
|
+
data.GeneratorFunction = {};
|
|
60
|
+
data.AsyncFunction = {};
|
|
61
|
+
data.AsyncGenerator = {};
|
|
62
|
+
data.AsyncGeneratorFunction = {};
|
|
63
|
+
// Prevent WASM
|
|
64
|
+
data.WebAssembly = {};
|
|
65
|
+
// Prevent Reflection
|
|
66
|
+
data.Reflect = {};
|
|
67
|
+
data.Proxy = {};
|
|
68
|
+
// Deprecated
|
|
69
|
+
data.escape = {};
|
|
70
|
+
data.unescape = {};
|
|
71
|
+
/**
|
|
72
|
+
* Allowlist
|
|
73
|
+
*/
|
|
74
|
+
// Dates
|
|
75
|
+
data.Date = Date;
|
|
76
|
+
data.DateTime = DateTime;
|
|
77
|
+
data.Interval = Interval;
|
|
78
|
+
data.Duration = Duration;
|
|
79
|
+
// Objects
|
|
80
|
+
data.Object = Object;
|
|
81
|
+
// Arrays
|
|
82
|
+
data.Array = Array;
|
|
83
|
+
data.Int8Array = Int8Array;
|
|
84
|
+
data.Uint8Array = Uint8Array;
|
|
85
|
+
data.Uint8ClampedArray = Uint8ClampedArray;
|
|
86
|
+
data.Int16Array = Int16Array;
|
|
87
|
+
data.Uint16Array = Uint16Array;
|
|
88
|
+
data.Int32Array = Int32Array;
|
|
89
|
+
data.Uint32Array = Uint32Array;
|
|
90
|
+
data.Float32Array = Float32Array;
|
|
91
|
+
data.Float64Array = Float64Array;
|
|
92
|
+
data.BigInt64Array = typeof BigInt64Array !== 'undefined' ? BigInt64Array : {};
|
|
93
|
+
data.BigUint64Array = typeof BigUint64Array !== 'undefined' ? BigUint64Array : {};
|
|
94
|
+
// Collections
|
|
95
|
+
data.Map = typeof Map !== 'undefined' ? Map : {};
|
|
96
|
+
data.WeakMap = typeof WeakMap !== 'undefined' ? WeakMap : {};
|
|
97
|
+
data.Set = typeof Set !== 'undefined' ? Set : {};
|
|
98
|
+
data.WeakSet = typeof WeakSet !== 'undefined' ? WeakSet : {};
|
|
99
|
+
// Errors
|
|
100
|
+
data.Error = Error;
|
|
101
|
+
data.TypeError = TypeError;
|
|
102
|
+
data.SyntaxError = SyntaxError;
|
|
103
|
+
data.EvalError = EvalError;
|
|
104
|
+
data.RangeError = RangeError;
|
|
105
|
+
data.ReferenceError = ReferenceError;
|
|
106
|
+
data.URIError = URIError;
|
|
107
|
+
// Internationalization
|
|
108
|
+
data.Intl = typeof Intl !== 'undefined' ? Intl : {};
|
|
109
|
+
// Text
|
|
110
|
+
// eslint-disable-next-line id-denylist
|
|
111
|
+
data.String = String;
|
|
112
|
+
data.RegExp = RegExp;
|
|
113
|
+
// Math
|
|
114
|
+
data.Math = Math;
|
|
115
|
+
// eslint-disable-next-line id-denylist
|
|
116
|
+
data.Number = Number;
|
|
117
|
+
data.BigInt = typeof BigInt !== 'undefined' ? BigInt : {};
|
|
118
|
+
data.Infinity = Infinity;
|
|
119
|
+
data.NaN = NaN;
|
|
120
|
+
data.isFinite = Number.isFinite;
|
|
121
|
+
data.isNaN = Number.isNaN;
|
|
122
|
+
data.parseFloat = parseFloat;
|
|
123
|
+
data.parseInt = parseInt;
|
|
124
|
+
// Structured data
|
|
125
|
+
data.JSON = JSON;
|
|
126
|
+
data.ArrayBuffer = typeof ArrayBuffer !== 'undefined' ? ArrayBuffer : {};
|
|
127
|
+
data.SharedArrayBuffer = typeof SharedArrayBuffer !== 'undefined' ? SharedArrayBuffer : {};
|
|
128
|
+
data.Atomics = typeof Atomics !== 'undefined' ? Atomics : {};
|
|
129
|
+
data.DataView = typeof DataView !== 'undefined' ? DataView : {};
|
|
130
|
+
data.encodeURI = encodeURI;
|
|
131
|
+
data.encodeURIComponent = encodeURIComponent;
|
|
132
|
+
data.decodeURI = decodeURI;
|
|
133
|
+
data.decodeURIComponent = decodeURIComponent;
|
|
134
|
+
// Other
|
|
135
|
+
// eslint-disable-next-line id-denylist
|
|
136
|
+
data.Boolean = Boolean;
|
|
137
|
+
data.Symbol = Symbol;
|
|
138
|
+
}
|
|
139
|
+
static resolveWithoutWorkflow(expression, data = {}) {
|
|
140
|
+
return evaluateExpression(expression, data);
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Converts an object to a string in a way to make it clear that
|
|
144
|
+
* the value comes from an object
|
|
145
|
+
*
|
|
146
|
+
*/
|
|
147
|
+
convertObjectValueToString(value) {
|
|
148
|
+
if (value instanceof DateTime && value.invalidReason !== null) {
|
|
149
|
+
throw new ApplicationError('invalid DateTime');
|
|
150
|
+
}
|
|
151
|
+
if (value === null) {
|
|
152
|
+
return 'null';
|
|
153
|
+
}
|
|
154
|
+
let typeName = value.constructor.name ?? 'Object';
|
|
155
|
+
if (DateTime.isDateTime(value)) {
|
|
156
|
+
typeName = 'DateTime';
|
|
157
|
+
}
|
|
158
|
+
let result = '';
|
|
159
|
+
if (value instanceof Date) {
|
|
160
|
+
// We don't want to use JSON.stringify for dates since it disregards workflow timezone
|
|
161
|
+
result = DateTime.fromJSDate(value, {
|
|
162
|
+
zone: this.workflow.settings?.timezone ?? getGlobalState().defaultTimezone,
|
|
163
|
+
}).toISO();
|
|
164
|
+
}
|
|
165
|
+
else if (DateTime.isDateTime(value)) {
|
|
166
|
+
result = value.toString();
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
result = JSON.stringify(value);
|
|
170
|
+
}
|
|
171
|
+
result = result
|
|
172
|
+
.replace(/,"/g, ', "') // spacing for
|
|
173
|
+
.replace(/":/g, '": '); // readability
|
|
174
|
+
return `[${typeName}: ${result}]`;
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Resolves the parameter value. If it is an expression it will execute it and
|
|
178
|
+
* return the result. For everything simply the supplied value will be returned.
|
|
179
|
+
*
|
|
180
|
+
* @param {(IRunExecutionData | null)} runExecutionData
|
|
181
|
+
* @param {boolean} [returnObjectAsString=false]
|
|
182
|
+
*/
|
|
183
|
+
// TODO: Clean that up at some point and move all the options into an options object
|
|
184
|
+
// eslint-disable-next-line complexity
|
|
185
|
+
resolveSimpleParameterValue(parameterValue, siblingParameters, runExecutionData, runIndex, itemIndex, activeNodeName, connectionInputData, mode, additionalKeys, executeData, returnObjectAsString = false, selfData = {}, contextNodeName) {
|
|
186
|
+
// Check if it is an expression
|
|
187
|
+
if (!isExpression(parameterValue)) {
|
|
188
|
+
// Is no expression so return value
|
|
189
|
+
return parameterValue;
|
|
190
|
+
}
|
|
191
|
+
// Is an expression
|
|
192
|
+
// Remove the equal sign
|
|
193
|
+
parameterValue = parameterValue.substr(1);
|
|
194
|
+
// Generate a data proxy which allows to query workflow data
|
|
195
|
+
const dataProxy = new WorkflowDataProxy(this.workflow, runExecutionData, runIndex, itemIndex, activeNodeName, connectionInputData, siblingParameters, mode, additionalKeys, executeData, -1, selfData, contextNodeName);
|
|
196
|
+
const data = dataProxy.getDataProxy();
|
|
197
|
+
// Support only a subset of process properties
|
|
198
|
+
data.process =
|
|
199
|
+
typeof process !== 'undefined'
|
|
200
|
+
? {
|
|
201
|
+
arch: process.arch,
|
|
202
|
+
env: process.env.N8N_BLOCK_ENV_ACCESS_IN_NODE !== 'false' ? {} : process.env,
|
|
203
|
+
platform: process.platform,
|
|
204
|
+
pid: process.pid,
|
|
205
|
+
ppid: process.ppid,
|
|
206
|
+
release: process.release,
|
|
207
|
+
version: process.pid,
|
|
208
|
+
versions: process.versions,
|
|
209
|
+
}
|
|
210
|
+
: {};
|
|
211
|
+
Expression.initializeGlobalContext(data);
|
|
212
|
+
// expression extensions
|
|
213
|
+
data.extend = extend;
|
|
214
|
+
data.extendOptional = extendOptional;
|
|
215
|
+
data[sanitizerName] = sanitizer;
|
|
216
|
+
Object.assign(data, extendedFunctions);
|
|
217
|
+
const constructorValidation = new RegExp(/\.\s*constructor/gm);
|
|
218
|
+
if (parameterValue.match(constructorValidation)) {
|
|
219
|
+
throw new ExpressionError('Expression contains invalid constructor function call', {
|
|
220
|
+
causeDetailed: 'Constructor override attempt is not allowed due to security concerns',
|
|
221
|
+
runIndex,
|
|
222
|
+
itemIndex,
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
// Execute the expression
|
|
226
|
+
const extendedExpression = extendSyntax(parameterValue);
|
|
227
|
+
const returnValue = this.renderExpression(extendedExpression, data);
|
|
228
|
+
if (typeof returnValue === 'function') {
|
|
229
|
+
if (returnValue.name === 'DateTime')
|
|
230
|
+
throw new ApplicationError('this is a DateTime, please access its methods');
|
|
231
|
+
throw new ApplicationError('this is a function, please add ()');
|
|
232
|
+
}
|
|
233
|
+
else if (typeof returnValue === 'string') {
|
|
234
|
+
return returnValue;
|
|
235
|
+
}
|
|
236
|
+
else if (returnValue !== null && typeof returnValue === 'object') {
|
|
237
|
+
if (returnObjectAsString) {
|
|
238
|
+
return this.convertObjectValueToString(returnValue);
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
return returnValue;
|
|
242
|
+
}
|
|
243
|
+
renderExpression(expression, data) {
|
|
244
|
+
try {
|
|
245
|
+
return evaluateExpression(expression, data);
|
|
246
|
+
}
|
|
247
|
+
catch (error) {
|
|
248
|
+
if (isExpressionError(error))
|
|
249
|
+
throw error;
|
|
250
|
+
if (isSyntaxError(error))
|
|
251
|
+
throw new ApplicationError('invalid syntax');
|
|
252
|
+
if (isTypeError(error) && IS_FRONTEND && error.message.endsWith('is not a function')) {
|
|
253
|
+
const match = error.message.match(/(?<msg>[^.]+is not a function)/);
|
|
254
|
+
if (!match?.groups?.msg)
|
|
255
|
+
return null;
|
|
256
|
+
throw new ApplicationError(match.groups.msg);
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
return null;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Resolves value of parameter. But does not work for workflow-data.
|
|
263
|
+
*
|
|
264
|
+
* @param {(string | undefined)} parameterValue
|
|
265
|
+
*/
|
|
266
|
+
getSimpleParameterValue(node, parameterValue, mode, additionalKeys, executeData, defaultValue) {
|
|
267
|
+
if (parameterValue === undefined) {
|
|
268
|
+
// Value is not set so return the default
|
|
269
|
+
return defaultValue;
|
|
270
|
+
}
|
|
271
|
+
// Get the value of the node (can be an expression)
|
|
272
|
+
const runIndex = 0;
|
|
273
|
+
const itemIndex = 0;
|
|
274
|
+
const connectionInputData = [];
|
|
275
|
+
const runData = createEmptyRunExecutionData();
|
|
276
|
+
return this.getParameterValue(parameterValue, runData, runIndex, itemIndex, node.name, connectionInputData, mode, additionalKeys, executeData);
|
|
277
|
+
}
|
|
278
|
+
/**
|
|
279
|
+
* Resolves value of complex parameter. But does not work for workflow-data.
|
|
280
|
+
*
|
|
281
|
+
* @param {(NodeParameterValue | INodeParameters | NodeParameterValue[] | INodeParameters[])} parameterValue
|
|
282
|
+
* @param {(NodeParameterValue | INodeParameters | NodeParameterValue[] | INodeParameters[] | undefined)} [defaultValue]
|
|
283
|
+
*/
|
|
284
|
+
getComplexParameterValue(node, parameterValue, mode, additionalKeys, executeData, defaultValue = undefined, selfData = {}) {
|
|
285
|
+
if (parameterValue === undefined) {
|
|
286
|
+
// Value is not set so return the default
|
|
287
|
+
return defaultValue;
|
|
288
|
+
}
|
|
289
|
+
// Get the value of the node (can be an expression)
|
|
290
|
+
const runIndex = 0;
|
|
291
|
+
const itemIndex = 0;
|
|
292
|
+
const connectionInputData = [];
|
|
293
|
+
const runData = createEmptyRunExecutionData();
|
|
294
|
+
// Resolve the "outer" main values
|
|
295
|
+
const returnData = this.getParameterValue(parameterValue, runData, runIndex, itemIndex, node.name, connectionInputData, mode, additionalKeys, executeData, false, selfData);
|
|
296
|
+
// Resolve the "inner" values
|
|
297
|
+
return this.getParameterValue(returnData, runData, runIndex, itemIndex, node.name, connectionInputData, mode, additionalKeys, executeData, false, selfData);
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Returns the resolved node parameter value. If it is an expression it will execute it and
|
|
301
|
+
* return the result. If the value to resolve is an array or object it will do the same
|
|
302
|
+
* for all of the items and values.
|
|
303
|
+
*
|
|
304
|
+
* @param {(NodeParameterValue | INodeParameters | NodeParameterValue[] | INodeParameters[])} parameterValue
|
|
305
|
+
* @param {(IRunExecutionData | null)} runExecutionData
|
|
306
|
+
* @param {boolean} [returnObjectAsString=false]
|
|
307
|
+
*/
|
|
308
|
+
// TODO: Clean that up at some point and move all the options into an options object
|
|
309
|
+
getParameterValue(parameterValue, runExecutionData, runIndex, itemIndex, activeNodeName, connectionInputData, mode, additionalKeys, executeData, returnObjectAsString = false, selfData = {}, contextNodeName) {
|
|
310
|
+
// Helper function which returns true when the parameter is a complex one or array
|
|
311
|
+
const isComplexParameter = (value) => {
|
|
312
|
+
return typeof value === 'object';
|
|
313
|
+
};
|
|
314
|
+
// Helper function which resolves a parameter value depending on if it is simply or not
|
|
315
|
+
const resolveParameterValue = (value, siblingParameters) => {
|
|
316
|
+
if (isComplexParameter(value)) {
|
|
317
|
+
return this.getParameterValue(value, runExecutionData, runIndex, itemIndex, activeNodeName, connectionInputData, mode, additionalKeys, executeData, returnObjectAsString, selfData, contextNodeName);
|
|
318
|
+
}
|
|
319
|
+
return this.resolveSimpleParameterValue(value, siblingParameters, runExecutionData, runIndex, itemIndex, activeNodeName, connectionInputData, mode, additionalKeys, executeData, returnObjectAsString, selfData, contextNodeName);
|
|
320
|
+
};
|
|
321
|
+
// Check if it value is a simple one that we can get it resolved directly
|
|
322
|
+
if (!isComplexParameter(parameterValue)) {
|
|
323
|
+
return this.resolveSimpleParameterValue(parameterValue, {}, runExecutionData, runIndex, itemIndex, activeNodeName, connectionInputData, mode, additionalKeys, executeData, returnObjectAsString, selfData, contextNodeName);
|
|
324
|
+
}
|
|
325
|
+
// The parameter value is complex so resolve depending on type
|
|
326
|
+
if (Array.isArray(parameterValue)) {
|
|
327
|
+
// Data is an array
|
|
328
|
+
const returnData = parameterValue.map((item) => resolveParameterValue(item, {}));
|
|
329
|
+
return returnData;
|
|
330
|
+
}
|
|
331
|
+
if (parameterValue === null || parameterValue === undefined) {
|
|
332
|
+
return parameterValue;
|
|
333
|
+
}
|
|
334
|
+
if (typeof parameterValue !== 'object') {
|
|
335
|
+
return {};
|
|
336
|
+
}
|
|
337
|
+
// Data is an object
|
|
338
|
+
const returnData = {};
|
|
339
|
+
for (const [key, value] of Object.entries(parameterValue)) {
|
|
340
|
+
returnData[key] = resolveParameterValue(value, parameterValue);
|
|
341
|
+
}
|
|
342
|
+
if (returnObjectAsString && typeof returnData === 'object') {
|
|
343
|
+
return this.convertObjectValueToString(returnData);
|
|
344
|
+
}
|
|
345
|
+
return returnData;
|
|
346
|
+
}
|
|
347
|
+
}
|
|
348
|
+
//# sourceMappingURL=expression.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expression.js","sourceRoot":"","sources":["../../src/expression.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"expression-helpers.d.ts","sourceRoot":"","sources":["../../../src/expressions/expression-helpers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,OAAO,KAAG,IAAI,IAAI,MAIpD,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Checks if the given value is an expression. An expression is a string that
|
|
3
|
+
* starts with '='.
|
|
4
|
+
*/
|
|
5
|
+
export const isExpression = (expr) => {
|
|
6
|
+
if (typeof expr !== 'string')
|
|
7
|
+
return false;
|
|
8
|
+
return expr.charAt(0) === '=';
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=expression-helpers.js.map
|