n8n-workflow 1.98.0 → 1.99.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{augment-object.d.ts → cjs/augment-object.d.ts} +1 -0
- package/dist/cjs/augment-object.d.ts.map +1 -0
- package/dist/cjs/augment-object.js +159 -0
- package/dist/cjs/augment-object.js.map +1 -0
- package/dist/{constants.d.ts → cjs/constants.d.ts} +12 -0
- package/dist/cjs/constants.d.ts.map +1 -0
- package/dist/cjs/constants.js +112 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/{cron.d.ts → cjs/cron.d.ts} +1 -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/{deferred-promise.d.ts → cjs/deferred-promise.d.ts} +1 -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/{errors → cjs/errors}/abstract/execution-base.error.d.ts +1 -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 +178 -0
- package/dist/cjs/errors/abstract/node.error.js.map +1 -0
- package/dist/{errors → cjs/errors}/application.error.d.ts +6 -2
- package/dist/cjs/errors/application.error.d.ts.map +1 -0
- package/dist/cjs/errors/application.error.js +41 -0
- package/dist/cjs/errors/application.error.js.map +1 -0
- package/dist/{errors → cjs/errors}/base/base.error.d.ts +12 -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/{errors → cjs/errors}/base/operational.error.d.ts +8 -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/{errors → cjs/errors}/base/unexpected.error.d.ts +8 -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/{errors → cjs/errors}/base/user.error.d.ts +8 -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/{errors → cjs/errors}/cli-subworkflow-operation.error.d.ts +1 -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/{errors → cjs/errors}/db-connection-timeout-error.d.ts +1 -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/{errors → cjs/errors}/error.types.d.ts +2 -0
- package/dist/cjs/errors/error.types.d.ts.map +1 -0
- package/dist/cjs/errors/error.types.js +13 -0
- package/dist/{errors → cjs/errors}/error.types.js.map +1 -1
- package/dist/{errors → cjs/errors}/execution-cancelled.error.d.ts +1 -0
- package/dist/cjs/errors/execution-cancelled.error.d.ts.map +1 -0
- package/dist/cjs/errors/execution-cancelled.error.js +24 -0
- package/dist/cjs/errors/execution-cancelled.error.js.map +1 -0
- package/dist/{errors → cjs/errors}/expression-extension.error.d.ts +1 -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/{errors → cjs/errors}/expression.error.d.ts +4 -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/{errors → cjs/errors}/index.d.ts +1 -0
- package/dist/cjs/errors/index.d.ts.map +1 -0
- package/dist/cjs/errors/index.js +58 -0
- package/dist/cjs/errors/index.js.map +1 -0
- package/dist/{errors → cjs/errors}/node-api.error.d.ts +8 -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/{errors → cjs/errors}/node-operation.error.d.ts +4 -0
- package/dist/cjs/errors/node-operation.error.d.ts.map +1 -0
- package/dist/cjs/errors/node-operation.error.js +50 -0
- package/dist/cjs/errors/node-operation.error.js.map +1 -0
- package/dist/{errors → cjs/errors}/node-ssl.error.d.ts +1 -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/{errors → cjs/errors}/subworkflow-operation.error.d.ts +1 -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/{errors → cjs/errors}/trigger-close.error.d.ts +1 -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/{errors → cjs/errors}/webhook-taken.error.d.ts +1 -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/{errors → cjs/errors}/workflow-activation.error.d.ts +4 -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/{errors → cjs/errors}/workflow-deactivation.error.d.ts +1 -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/{errors → cjs/errors}/workflow-operation.error.d.ts +4 -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/{execution-status.d.ts → cjs/execution-status.d.ts} +1 -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/{expression-evaluator-proxy.d.ts → cjs/expression-evaluator-proxy.d.ts} +1 -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/{expression-sandboxing.d.ts → cjs/expression-sandboxing.d.ts} +1 -0
- package/dist/cjs/expression-sandboxing.d.ts.map +1 -0
- package/dist/cjs/expression-sandboxing.js +62 -0
- package/dist/cjs/expression-sandboxing.js.map +1 -0
- package/dist/{expression.d.ts → cjs/expression.d.ts} +33 -0
- package/dist/cjs/expression.d.ts.map +1 -0
- package/dist/cjs/expression.js +368 -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/{extensions → cjs/extensions}/array-extensions.d.ts +1 -0
- package/dist/cjs/extensions/array-extensions.d.ts.map +1 -0
- package/dist/cjs/extensions/array-extensions.js +627 -0
- package/dist/cjs/extensions/array-extensions.js.map +1 -0
- package/dist/{extensions → cjs/extensions}/boolean-extensions.d.ts +1 -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/{extensions → cjs/extensions}/date-extensions.d.ts +1 -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/{extensions → cjs/extensions}/expression-extension.d.ts +22 -0
- package/dist/cjs/extensions/expression-extension.d.ts.map +1 -0
- package/dist/cjs/extensions/expression-extension.js +493 -0
- package/dist/cjs/extensions/expression-extension.js.map +1 -0
- package/dist/{extensions → cjs/extensions}/expression-parser.d.ts +1 -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/{extensions → cjs/extensions}/extended-functions.d.ts +1 -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/{extensions → cjs/extensions}/extensions.d.ts +1 -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/{extensions → cjs/extensions}/index.d.ts +1 -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/{extensions → cjs/extensions}/number-extensions.d.ts +1 -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/{extensions → cjs/extensions}/object-extensions.d.ts +1 -0
- package/dist/cjs/extensions/object-extensions.d.ts.map +1 -0
- package/dist/cjs/extensions/object-extensions.js +296 -0
- package/dist/cjs/extensions/object-extensions.js.map +1 -0
- package/dist/{extensions → cjs/extensions}/string-extensions.d.ts +1 -0
- package/dist/cjs/extensions/string-extensions.d.ts.map +1 -0
- package/dist/cjs/extensions/string-extensions.js +788 -0
- package/dist/cjs/extensions/string-extensions.js.map +1 -0
- package/dist/{extensions → cjs/extensions}/utils.d.ts +1 -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 +291 -0
- package/dist/cjs/from-ai-parse-utils.js.map +1 -0
- package/dist/{global-state.d.ts → cjs/global-state.d.ts} +1 -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/{graph → cjs/graph}/graph-utils.d.ts +21 -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/{index.d.ts → cjs/index.d.ts} +2 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +114 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/{interfaces.d.ts → cjs/interfaces.d.ts} +89 -0
- package/dist/cjs/interfaces.d.ts.map +1 -0
- package/dist/cjs/interfaces.js +53 -0
- package/dist/cjs/interfaces.js.map +1 -0
- package/dist/{logger-proxy.d.ts → cjs/logger-proxy.d.ts} +1 -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/{message-event-bus.d.ts → cjs/message-event-bus.d.ts} +1 -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/{metadata-utils.d.ts → cjs/metadata-utils.d.ts} +1 -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/{native-methods → cjs/native-methods}/array.methods.d.ts +1 -0
- package/dist/cjs/native-methods/array.methods.d.ts.map +1 -0
- package/dist/cjs/native-methods/array.methods.js +552 -0
- package/dist/cjs/native-methods/array.methods.js.map +1 -0
- package/dist/{native-methods → cjs/native-methods}/boolean.methods.d.ts +1 -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/{native-methods → cjs/native-methods}/index.d.ts +1 -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/{native-methods → cjs/native-methods}/number.methods.d.ts +1 -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/{native-methods → cjs/native-methods}/object.methods.d.ts +1 -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/{native-methods → cjs/native-methods}/string.methods.d.ts +1 -0
- package/dist/cjs/native-methods/string.methods.d.ts.map +1 -0
- package/dist/cjs/native-methods/string.methods.js +499 -0
- package/dist/cjs/native-methods/string.methods.js.map +1 -0
- package/dist/{node-helpers.d.ts → cjs/node-helpers.d.ts} +109 -1
- package/dist/cjs/node-helpers.d.ts.map +1 -0
- package/dist/cjs/node-helpers.js +1369 -0
- package/dist/cjs/node-helpers.js.map +1 -0
- package/dist/{node-parameters → cjs/node-parameters}/filter-parameter.d.ts +1 -0
- package/dist/cjs/node-parameters/filter-parameter.d.ts.map +1 -0
- package/dist/cjs/node-parameters/filter-parameter.js +383 -0
- package/dist/cjs/node-parameters/filter-parameter.js.map +1 -0
- package/dist/{node-parameters → cjs/node-parameters}/rename-node-utils.d.ts +2 -1
- 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/{node-reference-parser-utils.d.ts → cjs/node-reference-parser-utils.d.ts} +11 -0
- package/dist/cjs/node-reference-parser-utils.d.ts.map +1 -0
- package/dist/cjs/node-reference-parser-utils.js +468 -0
- package/dist/cjs/node-reference-parser-utils.js.map +1 -0
- package/dist/{observable-object.d.ts → cjs/observable-object.d.ts} +1 -0
- package/dist/cjs/observable-object.d.ts.map +1 -0
- package/dist/cjs/observable-object.js +72 -0
- package/dist/cjs/observable-object.js.map +1 -0
- package/dist/{result.d.ts → cjs/result.d.ts} +7 -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/{telemetry-helpers.d.ts → cjs/telemetry-helpers.d.ts} +7 -0
- package/dist/cjs/telemetry-helpers.d.ts.map +1 -0
- package/dist/cjs/telemetry-helpers.js +522 -0
- package/dist/cjs/telemetry-helpers.js.map +1 -0
- package/dist/{type-guards.d.ts → cjs/type-guards.d.ts} +1 -0
- package/dist/cjs/type-guards.d.ts.map +1 -0
- package/dist/cjs/type-guards.js +56 -0
- package/dist/cjs/type-guards.js.map +1 -0
- package/dist/{type-validation.d.ts → cjs/type-validation.d.ts} +1 -0
- package/dist/cjs/type-validation.d.ts.map +1 -0
- package/dist/cjs/type-validation.js +408 -0
- package/dist/cjs/type-validation.js.map +1 -0
- package/dist/cjs/typecheck.tsbuildinfo +1 -0
- package/dist/{utils.d.ts → cjs/utils.d.ts} +31 -0
- package/dist/cjs/utils.d.ts.map +1 -0
- package/dist/cjs/utils.js +334 -0
- package/dist/cjs/utils.js.map +1 -0
- package/dist/{versioned-node-type.d.ts → cjs/versioned-node-type.d.ts} +1 -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-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/{workflow-data-proxy-helpers.d.ts → cjs/workflow-data-proxy-helpers.d.ts} +1 -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/{workflow-data-proxy.d.ts → cjs/workflow-data-proxy.d.ts} +45 -0
- package/dist/cjs/workflow-data-proxy.d.ts.map +1 -0
- package/dist/cjs/workflow-data-proxy.js +1189 -0
- package/dist/cjs/workflow-data-proxy.js.map +1 -0
- package/dist/cjs/workflow.d.ts +157 -0
- package/dist/cjs/workflow.d.ts.map +1 -0
- package/dist/cjs/workflow.js +765 -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/{augment-object.js → esm/augment-object.js} +9 -6
- package/dist/esm/augment-object.js.map +1 -0
- package/dist/esm/constants.d.ts +73 -0
- package/dist/esm/constants.d.ts.map +1 -0
- package/dist/esm/constants.js +99 -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/{cron.js → esm/cron.js} +4 -8
- package/dist/esm/cron.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 +28 -0
- package/dist/esm/errors/abstract/execution-base.error.d.ts.map +1 -0
- package/dist/{errors → esm/errors}/abstract/execution-base.error.js +9 -8
- 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/{errors → esm/errors}/abstract/node.error.js +52 -12
- package/dist/esm/errors/abstract/node.error.js.map +1 -0
- package/dist/esm/errors/application.error.d.ts +13 -0
- package/dist/esm/errors/application.error.d.ts.map +1 -0
- package/dist/esm/errors/application.error.js +24 -0
- package/dist/esm/errors/application.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/{errors → esm/errors}/base/base.error.js +20 -10
- 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/{errors → esm/errors}/db-connection-timeout-error.js +2 -6
- 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/error.types.d.ts +12 -0
- package/dist/esm/errors/error.types.d.ts.map +1 -0
- package/dist/esm/errors/error.types.js +2 -0
- package/dist/esm/errors/error.types.js.map +1 -0
- package/dist/esm/errors/execution-cancelled.error.d.ts +5 -0
- package/dist/esm/errors/execution-cancelled.error.d.ts.map +1 -0
- package/dist/esm/errors/execution-cancelled.error.js +10 -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/{errors → esm/errors}/expression.error.js +5 -6
- 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 +23 -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/{errors → esm/errors}/node-api.error.js +55 -19
- 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/{errors → esm/errors}/node-operation.error.js +9 -9
- 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 +12 -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/{errors → esm/errors}/workflow-activation.error.js +12 -11
- package/dist/esm/errors/workflow-activation.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/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 +5 -0
- package/dist/esm/expression-sandboxing.d.ts.map +1 -0
- package/dist/esm/expression-sandboxing.js +47 -0
- package/dist/esm/expression-sandboxing.js.map +1 -0
- package/dist/esm/expression.d.ts +46 -0
- package/dist/esm/expression.d.ts.map +1 -0
- package/dist/{expression.js → esm/expression.js} +125 -44
- 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 +33 -0
- package/dist/esm/extensions/array-extensions.d.ts.map +1 -0
- package/dist/{extensions → esm/extensions}/array-extensions.js +41 -42
- 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/{extensions → esm/extensions}/boolean-extensions.js +4 -10
- 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/{extensions → esm/extensions}/date-extensions.js +27 -29
- 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 +474 -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/{extensions → esm/extensions}/expression-parser.js +9 -11
- 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/{extensions → esm/extensions}/extended-functions.js +8 -10
- package/dist/esm/extensions/extended-functions.js.map +1 -0
- package/dist/esm/extensions/extensions.d.ts +42 -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 +3 -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/{extensions → esm/extensions}/number-extensions.js +14 -15
- 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/{extensions → esm/extensions}/object-extensions.js +18 -21
- 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/{extensions → esm/extensions}/string-extensions.js +121 -40
- 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/{from-ai-parse-utils.js → esm/from-ai-parse-utils.js} +63 -18
- 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/{graph → esm/graph}/graph-utils.js +35 -16
- package/dist/esm/graph/graph-utils.js.map +1 -0
- package/dist/esm/index.d.ts +49 -0
- package/dist/esm/index.d.ts.map +1 -0
- package/dist/esm/index.js +33 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/interfaces.d.ts +2172 -0
- package/dist/esm/interfaces.d.ts.map +1 -0
- package/dist/{interfaces.js → esm/interfaces.js} +13 -11
- 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 +107 -0
- package/dist/esm/message-event-bus.d.ts.map +1 -0
- package/dist/{message-event-bus.js → esm/message-event-bus.js} +26 -23
- 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/{metadata-utils.js → esm/metadata-utils.js} +6 -7
- 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/{native-methods → esm/native-methods}/array.methods.js +1 -4
- 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/{native-methods → esm/native-methods}/boolean.methods.js +1 -4
- 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/{native-methods → esm/native-methods}/number.methods.js +1 -4
- 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/{native-methods → esm/native-methods}/string.methods.js +1 -4
- package/dist/esm/native-methods/string.methods.js.map +1 -0
- package/dist/esm/node-helpers.d.ts +145 -0
- package/dist/esm/node-helpers.d.ts.map +1 -0
- package/dist/{node-helpers.js → esm/node-helpers.js} +302 -106
- 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/{node-parameters → esm/node-parameters}/filter-parameter.js +13 -51
- package/dist/esm/node-parameters/filter-parameter.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/{node-parameters → esm/node-parameters}/rename-node-utils.js +4 -5
- 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/{node-reference-parser-utils.js → esm/node-reference-parser-utils.js} +135 -46
- 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/{observable-object.js → esm/observable-object.js} +13 -5
- 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/telemetry-helpers.d.ts +45 -0
- package/dist/esm/telemetry-helpers.d.ts.map +1 -0
- package/dist/{telemetry-helpers.js → esm/telemetry-helpers.js} +67 -62
- package/dist/esm/telemetry-helpers.js.map +1 -0
- package/dist/esm/type-guards.d.ts +12 -0
- package/dist/esm/type-guards.d.ts.map +1 -0
- package/dist/esm/type-guards.js +33 -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/{type-validation.js → esm/type-validation.js} +66 -78
- package/dist/esm/type-validation.js.map +1 -0
- package/dist/esm/typecheck.tsbuildinfo +1 -0
- package/dist/esm/utils.d.ts +94 -0
- package/dist/esm/utils.d.ts.map +1 -0
- package/dist/esm/utils.js +300 -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/{versioned-node-type.js → esm/versioned-node-type.js} +4 -5
- package/dist/esm/versioned-node-type.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/{workflow-data-proxy-env-provider.js → esm/workflow-data-proxy-env-provider.js} +22 -9
- 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 +80 -0
- package/dist/esm/workflow-data-proxy.d.ts.map +1 -0
- package/dist/{workflow-data-proxy.js → esm/workflow-data-proxy.js} +174 -109
- package/dist/esm/workflow-data-proxy.js.map +1 -0
- package/dist/esm/workflow.d.ts +157 -0
- package/dist/esm/workflow.d.ts.map +1 -0
- package/dist/{workflow.js → esm/workflow.js} +223 -73
- package/dist/esm/workflow.js.map +1 -0
- package/package.json +18 -14
- package/dist/augment-object.js.map +0 -1
- package/dist/build.tsbuildinfo +0 -1
- package/dist/constants.js +0 -89
- package/dist/constants.js.map +0 -1
- package/dist/cron.js.map +0 -1
- package/dist/deferred-promise.js +0 -12
- package/dist/deferred-promise.js.map +0 -1
- package/dist/errors/abstract/execution-base.error.js.map +0 -1
- package/dist/errors/abstract/node.error.d.ts +0 -12
- package/dist/errors/abstract/node.error.js.map +0 -1
- package/dist/errors/application.error.js +0 -24
- package/dist/errors/application.error.js.map +0 -1
- package/dist/errors/base/base.error.js.map +0 -1
- package/dist/errors/base/operational.error.js +0 -12
- package/dist/errors/base/operational.error.js.map +0 -1
- package/dist/errors/base/unexpected.error.js +0 -12
- package/dist/errors/base/unexpected.error.js.map +0 -1
- package/dist/errors/base/user.error.js +0 -12
- package/dist/errors/base/user.error.js.map +0 -1
- package/dist/errors/cli-subworkflow-operation.error.js +0 -8
- package/dist/errors/cli-subworkflow-operation.error.js.map +0 -1
- package/dist/errors/db-connection-timeout-error.js.map +0 -1
- package/dist/errors/ensure-error.d.ts +0 -1
- package/dist/errors/ensure-error.js +0 -11
- package/dist/errors/ensure-error.js.map +0 -1
- package/dist/errors/error.types.js +0 -3
- package/dist/errors/execution-cancelled.error.js +0 -14
- package/dist/errors/execution-cancelled.error.js.map +0 -1
- package/dist/errors/expression-extension.error.js +0 -8
- package/dist/errors/expression-extension.error.js.map +0 -1
- package/dist/errors/expression.error.js.map +0 -1
- package/dist/errors/index.js +0 -48
- package/dist/errors/index.js.map +0 -1
- package/dist/errors/node-api.error.js.map +0 -1
- package/dist/errors/node-operation.error.js.map +0 -1
- package/dist/errors/node-ssl.error.js +0 -11
- package/dist/errors/node-ssl.error.js.map +0 -1
- package/dist/errors/subworkflow-operation.error.js +0 -19
- package/dist/errors/subworkflow-operation.error.js.map +0 -1
- package/dist/errors/trigger-close.error.js +0 -13
- package/dist/errors/trigger-close.error.js.map +0 -1
- package/dist/errors/webhook-taken.error.js +0 -11
- package/dist/errors/webhook-taken.error.js.map +0 -1
- package/dist/errors/workflow-activation.error.js.map +0 -1
- package/dist/errors/workflow-deactivation.error.js +0 -8
- package/dist/errors/workflow-deactivation.error.js.map +0 -1
- package/dist/errors/workflow-operation.error.js +0 -17
- package/dist/errors/workflow-operation.error.js.map +0 -1
- package/dist/execution-status.js +0 -14
- package/dist/execution-status.js.map +0 -1
- package/dist/expression-evaluator-proxy.js +0 -20
- package/dist/expression-evaluator-proxy.js.map +0 -1
- package/dist/expression-sandboxing.js +0 -43
- package/dist/expression-sandboxing.js.map +0 -1
- package/dist/expression.js.map +0 -1
- package/dist/extensions/array-extensions.js.map +0 -1
- package/dist/extensions/boolean-extensions.js.map +0 -1
- package/dist/extensions/date-extensions.js.map +0 -1
- package/dist/extensions/expression-extension.js +0 -362
- package/dist/extensions/expression-extension.js.map +0 -1
- package/dist/extensions/expression-parser.js.map +0 -1
- package/dist/extensions/extended-functions.js.map +0 -1
- package/dist/extensions/extensions.js +0 -3
- package/dist/extensions/extensions.js.map +0 -1
- package/dist/extensions/index.js +0 -11
- package/dist/extensions/index.js.map +0 -1
- package/dist/extensions/number-extensions.js.map +0 -1
- package/dist/extensions/object-extensions.js.map +0 -1
- package/dist/extensions/string-extensions.js.map +0 -1
- package/dist/extensions/utils.js +0 -31
- package/dist/extensions/utils.js.map +0 -1
- package/dist/from-ai-parse-utils.d.ts +0 -12
- package/dist/from-ai-parse-utils.js.map +0 -1
- package/dist/global-state.js +0 -13
- package/dist/global-state.js.map +0 -1
- package/dist/graph/graph-utils.js.map +0 -1
- package/dist/index.js +0 -103
- package/dist/index.js.map +0 -1
- package/dist/interfaces.js.map +0 -1
- package/dist/logger-proxy.js +0 -16
- package/dist/logger-proxy.js.map +0 -1
- package/dist/message-event-bus.js.map +0 -1
- package/dist/metadata-utils.js.map +0 -1
- package/dist/native-methods/array.methods.js.map +0 -1
- package/dist/native-methods/boolean.methods.js.map +0 -1
- package/dist/native-methods/index.js +0 -17
- package/dist/native-methods/index.js.map +0 -1
- package/dist/native-methods/number.methods.js.map +0 -1
- package/dist/native-methods/object.methods.js +0 -8
- package/dist/native-methods/object.methods.js.map +0 -1
- package/dist/native-methods/string.methods.js.map +0 -1
- package/dist/node-helpers.js.map +0 -1
- package/dist/node-parameters/filter-parameter.js.map +0 -1
- package/dist/node-parameters/rename-node-utils.js.map +0 -1
- package/dist/node-reference-parser-utils.js.map +0 -1
- package/dist/observable-object.js.map +0 -1
- package/dist/result.js +0 -25
- package/dist/result.js.map +0 -1
- package/dist/telemetry-helpers.js.map +0 -1
- package/dist/type-guards.js +0 -46
- package/dist/type-guards.js.map +0 -1
- package/dist/type-validation.js.map +0 -1
- package/dist/utils.js +0 -259
- package/dist/utils.js.map +0 -1
- package/dist/versioned-node-type.js.map +0 -1
- package/dist/workflow-data-proxy-env-provider.d.ts +0 -7
- package/dist/workflow-data-proxy-env-provider.js.map +0 -1
- package/dist/workflow-data-proxy-helpers.js +0 -10
- package/dist/workflow-data-proxy-helpers.js.map +0 -1
- package/dist/workflow-data-proxy.js.map +0 -1
- package/dist/workflow.d.ts +0 -54
- package/dist/workflow.js.map +0 -1
|
@@ -0,0 +1,765 @@
|
|
|
1
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
2
|
+
if (k2 === undefined) k2 = k;
|
|
3
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
4
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
5
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
6
|
+
}
|
|
7
|
+
Object.defineProperty(o, k2, desc);
|
|
8
|
+
}) : (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
o[k2] = m[k];
|
|
11
|
+
}));
|
|
12
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
13
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
14
|
+
}) : function(o, v) {
|
|
15
|
+
o["default"] = v;
|
|
16
|
+
});
|
|
17
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
18
|
+
var ownKeys = function(o) {
|
|
19
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
20
|
+
var ar = [];
|
|
21
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
22
|
+
return ar;
|
|
23
|
+
};
|
|
24
|
+
return ownKeys(o);
|
|
25
|
+
};
|
|
26
|
+
return function (mod) {
|
|
27
|
+
if (mod && mod.__esModule) return mod;
|
|
28
|
+
var result = {};
|
|
29
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
30
|
+
__setModuleDefault(result, mod);
|
|
31
|
+
return result;
|
|
32
|
+
};
|
|
33
|
+
})();
|
|
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;
|
|
38
|
+
}
|
|
39
|
+
else if (typeof define === "function" && define.amd) {
|
|
40
|
+
define(["require", "exports", "./constants", "./errors", "./errors/application.error", "./expression", "./global-state", "./interfaces", "./node-helpers", "./node-parameters/rename-node-utils", "./node-reference-parser-utils", "./observable-object"], factory);
|
|
41
|
+
}
|
|
42
|
+
})(function (require, exports) {
|
|
43
|
+
"use strict";
|
|
44
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
45
|
+
exports.Workflow = void 0;
|
|
46
|
+
/* eslint-disable @typescript-eslint/no-use-before-define */
|
|
47
|
+
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
48
|
+
/* eslint-disable @typescript-eslint/no-unsafe-return */
|
|
49
|
+
/* eslint-disable @typescript-eslint/no-for-in-array */
|
|
50
|
+
const constants_1 = require("./constants");
|
|
51
|
+
const errors_1 = require("./errors");
|
|
52
|
+
const application_error_1 = require("./errors/application.error");
|
|
53
|
+
const expression_1 = require("./expression");
|
|
54
|
+
const global_state_1 = require("./global-state");
|
|
55
|
+
const interfaces_1 = require("./interfaces");
|
|
56
|
+
const NodeHelpers = __importStar(require("./node-helpers"));
|
|
57
|
+
const rename_node_utils_1 = require("./node-parameters/rename-node-utils");
|
|
58
|
+
const node_reference_parser_utils_1 = require("./node-reference-parser-utils");
|
|
59
|
+
const ObservableObject = __importStar(require("./observable-object"));
|
|
60
|
+
function dedupe(arr) {
|
|
61
|
+
return [...new Set(arr)];
|
|
62
|
+
}
|
|
63
|
+
class Workflow {
|
|
64
|
+
id;
|
|
65
|
+
name;
|
|
66
|
+
nodes = {};
|
|
67
|
+
connectionsBySourceNode;
|
|
68
|
+
connectionsByDestinationNode;
|
|
69
|
+
nodeTypes;
|
|
70
|
+
expression;
|
|
71
|
+
active;
|
|
72
|
+
settings;
|
|
73
|
+
timezone;
|
|
74
|
+
// To save workflow specific static data like for example
|
|
75
|
+
// ids of registered webhooks of nodes
|
|
76
|
+
staticData;
|
|
77
|
+
testStaticData;
|
|
78
|
+
pinData;
|
|
79
|
+
constructor(parameters) {
|
|
80
|
+
this.id = parameters.id; // @tech_debt Ensure this is not optional
|
|
81
|
+
this.name = parameters.name;
|
|
82
|
+
this.nodeTypes = parameters.nodeTypes;
|
|
83
|
+
this.pinData = parameters.pinData;
|
|
84
|
+
// Save nodes in workflow as object to be able to get the
|
|
85
|
+
// nodes easily by its name.
|
|
86
|
+
// Also directly add the default values of the node type.
|
|
87
|
+
let nodeType;
|
|
88
|
+
for (const node of parameters.nodes) {
|
|
89
|
+
this.nodes[node.name] = node;
|
|
90
|
+
nodeType = this.nodeTypes.getByNameAndVersion(node.type, node.typeVersion);
|
|
91
|
+
if (nodeType === undefined) {
|
|
92
|
+
// Go on to next node when its type is not known.
|
|
93
|
+
// For now do not error because that causes problems with
|
|
94
|
+
// expression resolution also then when the unknown node
|
|
95
|
+
// does not get used.
|
|
96
|
+
continue;
|
|
97
|
+
// throw new ApplicationError(`Node with unknown node type`, {
|
|
98
|
+
// tags: { nodeType: node.type },
|
|
99
|
+
// extra: { node },
|
|
100
|
+
// });
|
|
101
|
+
}
|
|
102
|
+
// Add default values
|
|
103
|
+
const nodeParameters = NodeHelpers.getNodeParameters(nodeType.description.properties, node.parameters, true, false, node, nodeType.description);
|
|
104
|
+
node.parameters = nodeParameters !== null ? nodeParameters : {};
|
|
105
|
+
}
|
|
106
|
+
this.connectionsBySourceNode = parameters.connections;
|
|
107
|
+
// Save also the connections by the destination nodes
|
|
108
|
+
this.connectionsByDestinationNode = Workflow.getConnectionsByDestination(parameters.connections);
|
|
109
|
+
this.active = parameters.active || false;
|
|
110
|
+
this.staticData = ObservableObject.create(parameters.staticData || {}, undefined, {
|
|
111
|
+
ignoreEmptyOnFirstChild: true,
|
|
112
|
+
});
|
|
113
|
+
this.settings = parameters.settings || {};
|
|
114
|
+
this.timezone = this.settings.timezone ?? (0, global_state_1.getGlobalState)().defaultTimezone;
|
|
115
|
+
this.expression = new expression_1.Expression(this);
|
|
116
|
+
}
|
|
117
|
+
overrideStaticData(staticData) {
|
|
118
|
+
this.staticData = ObservableObject.create(staticData || {}, undefined, {
|
|
119
|
+
ignoreEmptyOnFirstChild: true,
|
|
120
|
+
});
|
|
121
|
+
this.staticData.__dataChanged = true;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* The default connections are by source node. This function rewrites them by destination nodes
|
|
125
|
+
* to easily find parent nodes.
|
|
126
|
+
*
|
|
127
|
+
*/
|
|
128
|
+
static getConnectionsByDestination(connections) {
|
|
129
|
+
const returnConnection = {};
|
|
130
|
+
let connectionInfo;
|
|
131
|
+
let maxIndex;
|
|
132
|
+
for (const sourceNode in connections) {
|
|
133
|
+
if (!connections.hasOwnProperty(sourceNode)) {
|
|
134
|
+
continue;
|
|
135
|
+
}
|
|
136
|
+
for (const type of Object.keys(connections[sourceNode])) {
|
|
137
|
+
if (!connections[sourceNode].hasOwnProperty(type)) {
|
|
138
|
+
continue;
|
|
139
|
+
}
|
|
140
|
+
for (const inputIndex in connections[sourceNode][type]) {
|
|
141
|
+
if (!connections[sourceNode][type].hasOwnProperty(inputIndex)) {
|
|
142
|
+
continue;
|
|
143
|
+
}
|
|
144
|
+
for (connectionInfo of connections[sourceNode][type][inputIndex] ?? []) {
|
|
145
|
+
if (!returnConnection.hasOwnProperty(connectionInfo.node)) {
|
|
146
|
+
returnConnection[connectionInfo.node] = {};
|
|
147
|
+
}
|
|
148
|
+
if (!returnConnection[connectionInfo.node].hasOwnProperty(connectionInfo.type)) {
|
|
149
|
+
returnConnection[connectionInfo.node][connectionInfo.type] = [];
|
|
150
|
+
}
|
|
151
|
+
maxIndex = returnConnection[connectionInfo.node][connectionInfo.type].length - 1;
|
|
152
|
+
for (let j = maxIndex; j < connectionInfo.index; j++) {
|
|
153
|
+
returnConnection[connectionInfo.node][connectionInfo.type].push([]);
|
|
154
|
+
}
|
|
155
|
+
returnConnection[connectionInfo.node][connectionInfo.type][connectionInfo.index]?.push({
|
|
156
|
+
node: sourceNode,
|
|
157
|
+
type,
|
|
158
|
+
index: parseInt(inputIndex, 10),
|
|
159
|
+
});
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
return returnConnection;
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Returns the static data of the workflow.
|
|
168
|
+
* It gets saved with the workflow and will be the same for
|
|
169
|
+
* all workflow-executions.
|
|
170
|
+
*
|
|
171
|
+
* @param {string} type The type of data to return ("global"|"node")
|
|
172
|
+
* @param {INode} [node] If type is set to "node" then the node has to be provided
|
|
173
|
+
*/
|
|
174
|
+
getStaticData(type, node) {
|
|
175
|
+
let key;
|
|
176
|
+
if (type === 'global') {
|
|
177
|
+
key = 'global';
|
|
178
|
+
}
|
|
179
|
+
else if (type === 'node') {
|
|
180
|
+
if (node === undefined) {
|
|
181
|
+
throw new application_error_1.ApplicationError('The request data of context type "node" the node parameter has to be set!');
|
|
182
|
+
}
|
|
183
|
+
key = `node:${node.name}`;
|
|
184
|
+
}
|
|
185
|
+
else {
|
|
186
|
+
throw new application_error_1.ApplicationError('Unknown context type. Only `global` and `node` are supported.', {
|
|
187
|
+
extra: { contextType: type },
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
if (this.testStaticData?.[key])
|
|
191
|
+
return this.testStaticData[key];
|
|
192
|
+
if (this.staticData[key] === undefined) {
|
|
193
|
+
// Create it as ObservableObject that we can easily check if the data changed
|
|
194
|
+
// to know if the workflow with its data has to be saved afterwards or not.
|
|
195
|
+
this.staticData[key] = ObservableObject.create({}, this.staticData);
|
|
196
|
+
}
|
|
197
|
+
return this.staticData[key];
|
|
198
|
+
}
|
|
199
|
+
setTestStaticData(testStaticData) {
|
|
200
|
+
this.testStaticData = testStaticData;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Returns all the trigger nodes in the workflow.
|
|
204
|
+
*
|
|
205
|
+
*/
|
|
206
|
+
getTriggerNodes() {
|
|
207
|
+
return this.queryNodes((nodeType) => !!nodeType.trigger);
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Returns all the poll nodes in the workflow
|
|
211
|
+
*
|
|
212
|
+
*/
|
|
213
|
+
getPollNodes() {
|
|
214
|
+
return this.queryNodes((nodeType) => !!nodeType.poll);
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Returns all the nodes in the workflow for which the given
|
|
218
|
+
* checkFunction return true
|
|
219
|
+
*
|
|
220
|
+
* @param {(nodeType: INodeType) => boolean} checkFunction
|
|
221
|
+
*/
|
|
222
|
+
queryNodes(checkFunction) {
|
|
223
|
+
const returnNodes = [];
|
|
224
|
+
// Check if it has any of them
|
|
225
|
+
let node;
|
|
226
|
+
let nodeType;
|
|
227
|
+
for (const nodeName of Object.keys(this.nodes)) {
|
|
228
|
+
node = this.nodes[nodeName];
|
|
229
|
+
if (node.disabled === true) {
|
|
230
|
+
continue;
|
|
231
|
+
}
|
|
232
|
+
nodeType = this.nodeTypes.getByNameAndVersion(node.type, node.typeVersion);
|
|
233
|
+
if (nodeType !== undefined && checkFunction(nodeType)) {
|
|
234
|
+
returnNodes.push(node);
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
return returnNodes;
|
|
238
|
+
}
|
|
239
|
+
/**
|
|
240
|
+
* Returns the node with the given name if it exists else null
|
|
241
|
+
*
|
|
242
|
+
* @param {string} nodeName Name of the node to return
|
|
243
|
+
*/
|
|
244
|
+
getNode(nodeName) {
|
|
245
|
+
if (this.nodes.hasOwnProperty(nodeName)) {
|
|
246
|
+
return this.nodes[nodeName];
|
|
247
|
+
}
|
|
248
|
+
return null;
|
|
249
|
+
}
|
|
250
|
+
/**
|
|
251
|
+
* Returns the nodes with the given names if they exist.
|
|
252
|
+
* If a node cannot be found it will be ignored, meaning the returned array
|
|
253
|
+
* of nodes can be smaller than the array of names.
|
|
254
|
+
*/
|
|
255
|
+
getNodes(nodeNames) {
|
|
256
|
+
const nodes = [];
|
|
257
|
+
for (const name of nodeNames) {
|
|
258
|
+
const node = this.getNode(name);
|
|
259
|
+
if (!node) {
|
|
260
|
+
console.warn(`Could not find a node with the name ${name} in the workflow. This was passed in as a dirty node name.`);
|
|
261
|
+
continue;
|
|
262
|
+
}
|
|
263
|
+
nodes.push(node);
|
|
264
|
+
}
|
|
265
|
+
return nodes;
|
|
266
|
+
}
|
|
267
|
+
/**
|
|
268
|
+
* Returns the pinData of the node with the given name if it exists
|
|
269
|
+
*
|
|
270
|
+
* @param {string} nodeName Name of the node to return the pinData of
|
|
271
|
+
*/
|
|
272
|
+
getPinDataOfNode(nodeName) {
|
|
273
|
+
return this.pinData ? this.pinData[nodeName] : undefined;
|
|
274
|
+
}
|
|
275
|
+
renameNodeInParameterValue(parameterValue, currentName, newName, { hasRenamableContent } = { hasRenamableContent: false }) {
|
|
276
|
+
if (typeof parameterValue !== 'object') {
|
|
277
|
+
// Reached the actual value
|
|
278
|
+
if (typeof parameterValue === 'string' &&
|
|
279
|
+
(parameterValue.charAt(0) === '=' || hasRenamableContent)) {
|
|
280
|
+
parameterValue = (0, node_reference_parser_utils_1.applyAccessPatterns)(parameterValue, currentName, newName);
|
|
281
|
+
}
|
|
282
|
+
return parameterValue;
|
|
283
|
+
}
|
|
284
|
+
if (Array.isArray(parameterValue)) {
|
|
285
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
286
|
+
const returnArray = [];
|
|
287
|
+
for (const currentValue of parameterValue) {
|
|
288
|
+
returnArray.push(this.renameNodeInParameterValue(currentValue, currentName, newName));
|
|
289
|
+
}
|
|
290
|
+
return returnArray;
|
|
291
|
+
}
|
|
292
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
293
|
+
const returnData = {};
|
|
294
|
+
for (const parameterName of Object.keys(parameterValue || {})) {
|
|
295
|
+
returnData[parameterName] = this.renameNodeInParameterValue(parameterValue[parameterName], currentName, newName, { hasRenamableContent });
|
|
296
|
+
}
|
|
297
|
+
return returnData;
|
|
298
|
+
}
|
|
299
|
+
/**
|
|
300
|
+
* Rename a node in the workflow
|
|
301
|
+
*
|
|
302
|
+
* @param {string} currentName The current name of the node
|
|
303
|
+
* @param {string} newName The new name
|
|
304
|
+
*/
|
|
305
|
+
renameNode(currentName, newName) {
|
|
306
|
+
// These keys are excluded to prevent accidental modification of inherited properties and
|
|
307
|
+
// to avoid any issues related to JavaScript's built-in methods that can cause unexpected behavior
|
|
308
|
+
const restrictedKeys = [
|
|
309
|
+
'hasOwnProperty',
|
|
310
|
+
'isPrototypeOf',
|
|
311
|
+
'propertyIsEnumerable',
|
|
312
|
+
'toLocaleString',
|
|
313
|
+
'toString',
|
|
314
|
+
'valueOf',
|
|
315
|
+
'constructor',
|
|
316
|
+
'prototype',
|
|
317
|
+
'__proto__',
|
|
318
|
+
'__defineGetter__',
|
|
319
|
+
'__defineSetter__',
|
|
320
|
+
'__lookupGetter__',
|
|
321
|
+
'__lookupSetter__',
|
|
322
|
+
];
|
|
323
|
+
if (restrictedKeys.map((k) => k.toLowerCase()).includes(newName.toLowerCase())) {
|
|
324
|
+
throw new errors_1.UserError(`Node name "${newName}" is a restricted name.`, {
|
|
325
|
+
description: `Node names cannot be any of the following: ${restrictedKeys.join(', ')}`,
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
// Rename the node itself
|
|
329
|
+
if (this.nodes[currentName] !== undefined) {
|
|
330
|
+
this.nodes[newName] = this.nodes[currentName];
|
|
331
|
+
this.nodes[newName].name = newName;
|
|
332
|
+
delete this.nodes[currentName];
|
|
333
|
+
}
|
|
334
|
+
// Update the expressions which reference the node
|
|
335
|
+
// with its old name
|
|
336
|
+
for (const node of Object.values(this.nodes)) {
|
|
337
|
+
node.parameters = this.renameNodeInParameterValue(node.parameters, currentName, newName);
|
|
338
|
+
if (constants_1.NODES_WITH_RENAMABLE_CONTENT.has(node.type)) {
|
|
339
|
+
node.parameters.jsCode = this.renameNodeInParameterValue(node.parameters.jsCode, currentName, newName, { hasRenamableContent: true });
|
|
340
|
+
}
|
|
341
|
+
if (constants_1.NODES_WITH_RENAMEABLE_TOPLEVEL_HTML_CONTENT.has(node.type)) {
|
|
342
|
+
node.parameters.html = this.renameNodeInParameterValue(node.parameters.html, currentName, newName, { hasRenamableContent: true });
|
|
343
|
+
}
|
|
344
|
+
if (constants_1.NODES_WITH_RENAMABLE_FORM_HTML_CONTENT.has(node.type)) {
|
|
345
|
+
(0, rename_node_utils_1.renameFormFields)(node, (p) => this.renameNodeInParameterValue(p, currentName, newName, {
|
|
346
|
+
hasRenamableContent: true,
|
|
347
|
+
}));
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
// Change all source connections
|
|
351
|
+
if (this.connectionsBySourceNode.hasOwnProperty(currentName)) {
|
|
352
|
+
this.connectionsBySourceNode[newName] = this.connectionsBySourceNode[currentName];
|
|
353
|
+
delete this.connectionsBySourceNode[currentName];
|
|
354
|
+
}
|
|
355
|
+
// Change all destination connections
|
|
356
|
+
let sourceNode;
|
|
357
|
+
let type;
|
|
358
|
+
let sourceIndex;
|
|
359
|
+
let connectionIndex;
|
|
360
|
+
let connectionData;
|
|
361
|
+
for (sourceNode of Object.keys(this.connectionsBySourceNode)) {
|
|
362
|
+
for (type of Object.keys(this.connectionsBySourceNode[sourceNode])) {
|
|
363
|
+
for (sourceIndex of Object.keys(this.connectionsBySourceNode[sourceNode][type])) {
|
|
364
|
+
for (connectionIndex of Object.keys(this.connectionsBySourceNode[sourceNode][type][parseInt(sourceIndex, 10)] || [])) {
|
|
365
|
+
connectionData =
|
|
366
|
+
this.connectionsBySourceNode[sourceNode][type][parseInt(sourceIndex, 10)]?.[parseInt(connectionIndex, 10)];
|
|
367
|
+
if (connectionData?.node === currentName) {
|
|
368
|
+
connectionData.node = newName;
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
// Use the updated connections to create updated connections by destination nodes
|
|
375
|
+
this.connectionsByDestinationNode = Workflow.getConnectionsByDestination(this.connectionsBySourceNode);
|
|
376
|
+
}
|
|
377
|
+
/**
|
|
378
|
+
* Finds the highest parent nodes of the node with the given name
|
|
379
|
+
*
|
|
380
|
+
* @param {NodeConnectionType} [type='main']
|
|
381
|
+
*/
|
|
382
|
+
getHighestNode(nodeName, nodeConnectionIndex, checkedNodes) {
|
|
383
|
+
const currentHighest = [];
|
|
384
|
+
if (this.nodes[nodeName].disabled === false) {
|
|
385
|
+
// If the current node is not disabled itself is the highest
|
|
386
|
+
currentHighest.push(nodeName);
|
|
387
|
+
}
|
|
388
|
+
if (!this.connectionsByDestinationNode.hasOwnProperty(nodeName)) {
|
|
389
|
+
// Node does not have incoming connections
|
|
390
|
+
return currentHighest;
|
|
391
|
+
}
|
|
392
|
+
if (!this.connectionsByDestinationNode[nodeName].hasOwnProperty(interfaces_1.NodeConnectionTypes.Main)) {
|
|
393
|
+
// Node does not have incoming connections of given type
|
|
394
|
+
return currentHighest;
|
|
395
|
+
}
|
|
396
|
+
checkedNodes = checkedNodes || [];
|
|
397
|
+
if (checkedNodes.includes(nodeName)) {
|
|
398
|
+
// Node got checked already before
|
|
399
|
+
return currentHighest;
|
|
400
|
+
}
|
|
401
|
+
checkedNodes.push(nodeName);
|
|
402
|
+
const returnNodes = [];
|
|
403
|
+
let addNodes;
|
|
404
|
+
let connectionsByIndex;
|
|
405
|
+
for (let connectionIndex = 0; connectionIndex <
|
|
406
|
+
this.connectionsByDestinationNode[nodeName][interfaces_1.NodeConnectionTypes.Main].length; connectionIndex++) {
|
|
407
|
+
if (nodeConnectionIndex !== undefined && nodeConnectionIndex !== connectionIndex) {
|
|
408
|
+
// If a connection-index is given ignore all other ones
|
|
409
|
+
continue;
|
|
410
|
+
}
|
|
411
|
+
connectionsByIndex =
|
|
412
|
+
this.connectionsByDestinationNode[nodeName][interfaces_1.NodeConnectionTypes.Main][connectionIndex];
|
|
413
|
+
// eslint-disable-next-line @typescript-eslint/no-loop-func
|
|
414
|
+
connectionsByIndex?.forEach((connection) => {
|
|
415
|
+
if (checkedNodes.includes(connection.node)) {
|
|
416
|
+
// Node got checked already before
|
|
417
|
+
return;
|
|
418
|
+
}
|
|
419
|
+
// Ignore connections for nodes that don't exist in this workflow
|
|
420
|
+
if (!(connection.node in this.nodes))
|
|
421
|
+
return;
|
|
422
|
+
addNodes = this.getHighestNode(connection.node, undefined, checkedNodes);
|
|
423
|
+
if (addNodes.length === 0) {
|
|
424
|
+
// The checked node does not have any further parents so add it
|
|
425
|
+
// if it is not disabled
|
|
426
|
+
if (this.nodes[connection.node].disabled !== true) {
|
|
427
|
+
addNodes = [connection.node];
|
|
428
|
+
}
|
|
429
|
+
}
|
|
430
|
+
addNodes.forEach((name) => {
|
|
431
|
+
// Only add if node is not on the list already anyway
|
|
432
|
+
if (returnNodes.indexOf(name) === -1) {
|
|
433
|
+
returnNodes.push(name);
|
|
434
|
+
}
|
|
435
|
+
});
|
|
436
|
+
});
|
|
437
|
+
}
|
|
438
|
+
return returnNodes;
|
|
439
|
+
}
|
|
440
|
+
/**
|
|
441
|
+
* Returns all the after the given one
|
|
442
|
+
*
|
|
443
|
+
* @param {string} [type='main']
|
|
444
|
+
* @param {*} [depth=-1]
|
|
445
|
+
*/
|
|
446
|
+
getChildNodes(nodeName, type = interfaces_1.NodeConnectionTypes.Main, depth = -1) {
|
|
447
|
+
return this.getConnectedNodes(this.connectionsBySourceNode, nodeName, type, depth);
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Returns all the nodes before the given one
|
|
451
|
+
*
|
|
452
|
+
* @param {NodeConnectionType} [type='main']
|
|
453
|
+
* @param {*} [depth=-1]
|
|
454
|
+
*/
|
|
455
|
+
getParentNodes(nodeName, type = interfaces_1.NodeConnectionTypes.Main, depth = -1) {
|
|
456
|
+
return this.getConnectedNodes(this.connectionsByDestinationNode, nodeName, type, depth);
|
|
457
|
+
}
|
|
458
|
+
/**
|
|
459
|
+
* Gets all the nodes which are connected nodes starting from
|
|
460
|
+
* the given one
|
|
461
|
+
*
|
|
462
|
+
* @param {NodeConnectionType} [type='main']
|
|
463
|
+
* @param {*} [depth=-1]
|
|
464
|
+
*/
|
|
465
|
+
getConnectedNodes(connections, nodeName, connectionType = interfaces_1.NodeConnectionTypes.Main, depth = -1, checkedNodesIncoming) {
|
|
466
|
+
depth = depth === -1 ? -1 : depth;
|
|
467
|
+
const newDepth = depth === -1 ? depth : depth - 1;
|
|
468
|
+
if (depth === 0) {
|
|
469
|
+
// Reached max depth
|
|
470
|
+
return [];
|
|
471
|
+
}
|
|
472
|
+
if (!connections.hasOwnProperty(nodeName)) {
|
|
473
|
+
// Node does not have incoming connections
|
|
474
|
+
return [];
|
|
475
|
+
}
|
|
476
|
+
let types;
|
|
477
|
+
if (connectionType === 'ALL') {
|
|
478
|
+
types = Object.keys(connections[nodeName]);
|
|
479
|
+
}
|
|
480
|
+
else if (connectionType === 'ALL_NON_MAIN') {
|
|
481
|
+
types = Object.keys(connections[nodeName]).filter((type) => type !== 'main');
|
|
482
|
+
}
|
|
483
|
+
else {
|
|
484
|
+
types = [connectionType];
|
|
485
|
+
}
|
|
486
|
+
let addNodes;
|
|
487
|
+
let nodeIndex;
|
|
488
|
+
let i;
|
|
489
|
+
let parentNodeName;
|
|
490
|
+
const returnNodes = [];
|
|
491
|
+
types.forEach((type) => {
|
|
492
|
+
if (!connections[nodeName].hasOwnProperty(type)) {
|
|
493
|
+
// Node does not have incoming connections of given type
|
|
494
|
+
return;
|
|
495
|
+
}
|
|
496
|
+
const checkedNodes = checkedNodesIncoming ? [...checkedNodesIncoming] : [];
|
|
497
|
+
if (checkedNodes.includes(nodeName)) {
|
|
498
|
+
// Node got checked already before
|
|
499
|
+
return;
|
|
500
|
+
}
|
|
501
|
+
checkedNodes.push(nodeName);
|
|
502
|
+
connections[nodeName][type].forEach((connectionsByIndex) => {
|
|
503
|
+
connectionsByIndex?.forEach((connection) => {
|
|
504
|
+
if (checkedNodes.includes(connection.node)) {
|
|
505
|
+
// Node got checked already before
|
|
506
|
+
return;
|
|
507
|
+
}
|
|
508
|
+
returnNodes.unshift(connection.node);
|
|
509
|
+
addNodes = this.getConnectedNodes(connections, connection.node, connectionType, newDepth, checkedNodes);
|
|
510
|
+
for (i = addNodes.length; i--; i > 0) {
|
|
511
|
+
// Because nodes can have multiple parents it is possible that
|
|
512
|
+
// parts of the tree is parent of both and to not add nodes
|
|
513
|
+
// twice check first if they already got added before.
|
|
514
|
+
parentNodeName = addNodes[i];
|
|
515
|
+
nodeIndex = returnNodes.indexOf(parentNodeName);
|
|
516
|
+
if (nodeIndex !== -1) {
|
|
517
|
+
// Node got found before so remove it from current location
|
|
518
|
+
// that node-order stays correct
|
|
519
|
+
returnNodes.splice(nodeIndex, 1);
|
|
520
|
+
}
|
|
521
|
+
returnNodes.unshift(parentNodeName);
|
|
522
|
+
}
|
|
523
|
+
});
|
|
524
|
+
});
|
|
525
|
+
});
|
|
526
|
+
return returnNodes;
|
|
527
|
+
}
|
|
528
|
+
/**
|
|
529
|
+
* Returns all the nodes before the given one
|
|
530
|
+
*
|
|
531
|
+
* @param {*} [maxDepth=-1]
|
|
532
|
+
*/
|
|
533
|
+
getParentNodesByDepth(nodeName, maxDepth = -1) {
|
|
534
|
+
return this.searchNodesBFS(this.connectionsByDestinationNode, nodeName, maxDepth);
|
|
535
|
+
}
|
|
536
|
+
/**
|
|
537
|
+
* Gets all the nodes which are connected nodes starting from
|
|
538
|
+
* the given one
|
|
539
|
+
* Uses BFS traversal
|
|
540
|
+
*
|
|
541
|
+
* @param {*} [maxDepth=-1]
|
|
542
|
+
*/
|
|
543
|
+
searchNodesBFS(connections, sourceNode, maxDepth = -1) {
|
|
544
|
+
const returnConns = [];
|
|
545
|
+
const type = interfaces_1.NodeConnectionTypes.Main;
|
|
546
|
+
let queue = [];
|
|
547
|
+
queue.push({
|
|
548
|
+
name: sourceNode,
|
|
549
|
+
depth: 0,
|
|
550
|
+
indicies: [],
|
|
551
|
+
});
|
|
552
|
+
const visited = {};
|
|
553
|
+
let depth = 0;
|
|
554
|
+
while (queue.length > 0) {
|
|
555
|
+
if (maxDepth !== -1 && depth > maxDepth) {
|
|
556
|
+
break;
|
|
557
|
+
}
|
|
558
|
+
depth++;
|
|
559
|
+
const toAdd = [...queue];
|
|
560
|
+
queue = [];
|
|
561
|
+
// eslint-disable-next-line @typescript-eslint/no-loop-func
|
|
562
|
+
toAdd.forEach((curr) => {
|
|
563
|
+
if (visited[curr.name]) {
|
|
564
|
+
visited[curr.name].indicies = dedupe(visited[curr.name].indicies.concat(curr.indicies));
|
|
565
|
+
return;
|
|
566
|
+
}
|
|
567
|
+
visited[curr.name] = curr;
|
|
568
|
+
if (curr.name !== sourceNode) {
|
|
569
|
+
returnConns.push(curr);
|
|
570
|
+
}
|
|
571
|
+
if (!connections.hasOwnProperty(curr.name) ||
|
|
572
|
+
!connections[curr.name].hasOwnProperty(type)) {
|
|
573
|
+
return;
|
|
574
|
+
}
|
|
575
|
+
connections[curr.name][type].forEach((connectionsByIndex) => {
|
|
576
|
+
connectionsByIndex?.forEach((connection) => {
|
|
577
|
+
queue.push({
|
|
578
|
+
name: connection.node,
|
|
579
|
+
indicies: [connection.index],
|
|
580
|
+
depth,
|
|
581
|
+
});
|
|
582
|
+
});
|
|
583
|
+
});
|
|
584
|
+
});
|
|
585
|
+
}
|
|
586
|
+
return returnConns;
|
|
587
|
+
}
|
|
588
|
+
getParentMainInputNode(node) {
|
|
589
|
+
if (node) {
|
|
590
|
+
const nodeType = this.nodeTypes.getByNameAndVersion(node.type, node.typeVersion);
|
|
591
|
+
const outputs = NodeHelpers.getNodeOutputs(this, node, nodeType.description);
|
|
592
|
+
if (!!outputs.find((output) => (output?.type ?? output) !== interfaces_1.NodeConnectionTypes.Main)) {
|
|
593
|
+
// Get the first node which is connected to a non-main output
|
|
594
|
+
const nonMainNodesConnected = outputs?.reduce((acc, outputName) => {
|
|
595
|
+
const parentNodes = this.getChildNodes(node.name, outputName?.type ?? outputName);
|
|
596
|
+
if (parentNodes.length > 0) {
|
|
597
|
+
acc.push(...parentNodes);
|
|
598
|
+
}
|
|
599
|
+
return acc;
|
|
600
|
+
}, []);
|
|
601
|
+
if (nonMainNodesConnected.length) {
|
|
602
|
+
const returnNode = this.getNode(nonMainNodesConnected[0]);
|
|
603
|
+
if (returnNode === null) {
|
|
604
|
+
// This should theoretically never happen as the node is connected
|
|
605
|
+
// but who knows and it makes TS happy
|
|
606
|
+
throw new application_error_1.ApplicationError(`Node "${nonMainNodesConnected[0]}" not found`);
|
|
607
|
+
}
|
|
608
|
+
// The chain of non-main nodes is potentially not finished yet so
|
|
609
|
+
// keep on going
|
|
610
|
+
return this.getParentMainInputNode(returnNode);
|
|
611
|
+
}
|
|
612
|
+
}
|
|
613
|
+
}
|
|
614
|
+
return node;
|
|
615
|
+
}
|
|
616
|
+
/**
|
|
617
|
+
* Returns via which output of the parent-node and index the current node
|
|
618
|
+
* they are connected
|
|
619
|
+
*
|
|
620
|
+
* @param {string} nodeName The node to check how it is connected with parent node
|
|
621
|
+
* @param {string} parentNodeName The parent node to get the output index of
|
|
622
|
+
* @param {string} [type='main']
|
|
623
|
+
* @param {*} [depth=-1]
|
|
624
|
+
*/
|
|
625
|
+
getNodeConnectionIndexes(nodeName, parentNodeName, type = interfaces_1.NodeConnectionTypes.Main, depth = -1, checkedNodes) {
|
|
626
|
+
const node = this.getNode(parentNodeName);
|
|
627
|
+
if (node === null) {
|
|
628
|
+
return undefined;
|
|
629
|
+
}
|
|
630
|
+
depth = depth === -1 ? -1 : depth;
|
|
631
|
+
const newDepth = depth === -1 ? depth : depth - 1;
|
|
632
|
+
if (depth === 0) {
|
|
633
|
+
// Reached max depth
|
|
634
|
+
return undefined;
|
|
635
|
+
}
|
|
636
|
+
if (!this.connectionsByDestinationNode.hasOwnProperty(nodeName)) {
|
|
637
|
+
// Node does not have incoming connections
|
|
638
|
+
return undefined;
|
|
639
|
+
}
|
|
640
|
+
if (!this.connectionsByDestinationNode[nodeName].hasOwnProperty(type)) {
|
|
641
|
+
// Node does not have incoming connections of given type
|
|
642
|
+
return undefined;
|
|
643
|
+
}
|
|
644
|
+
checkedNodes = checkedNodes || [];
|
|
645
|
+
if (checkedNodes.includes(nodeName)) {
|
|
646
|
+
// Node got checked already before
|
|
647
|
+
return undefined;
|
|
648
|
+
}
|
|
649
|
+
checkedNodes.push(nodeName);
|
|
650
|
+
let outputIndex;
|
|
651
|
+
for (const connectionsByIndex of this.connectionsByDestinationNode[nodeName][type]) {
|
|
652
|
+
if (!connectionsByIndex) {
|
|
653
|
+
continue;
|
|
654
|
+
}
|
|
655
|
+
for (let destinationIndex = 0; destinationIndex < connectionsByIndex.length; destinationIndex++) {
|
|
656
|
+
const connection = connectionsByIndex[destinationIndex];
|
|
657
|
+
if (parentNodeName === connection.node) {
|
|
658
|
+
return {
|
|
659
|
+
sourceIndex: connection.index,
|
|
660
|
+
destinationIndex,
|
|
661
|
+
};
|
|
662
|
+
}
|
|
663
|
+
if (checkedNodes.includes(connection.node)) {
|
|
664
|
+
// Node got checked already before so continue with the next one
|
|
665
|
+
continue;
|
|
666
|
+
}
|
|
667
|
+
outputIndex = this.getNodeConnectionIndexes(connection.node, parentNodeName, type, newDepth, checkedNodes);
|
|
668
|
+
if (outputIndex !== undefined) {
|
|
669
|
+
return outputIndex;
|
|
670
|
+
}
|
|
671
|
+
}
|
|
672
|
+
}
|
|
673
|
+
return undefined;
|
|
674
|
+
}
|
|
675
|
+
/**
|
|
676
|
+
* Returns from which of the given nodes the workflow should get started from
|
|
677
|
+
*
|
|
678
|
+
* @param {string[]} nodeNames The potential start nodes
|
|
679
|
+
*/
|
|
680
|
+
__getStartNode(nodeNames) {
|
|
681
|
+
// Check if there are any trigger or poll nodes and then return the first one
|
|
682
|
+
let node;
|
|
683
|
+
let nodeType;
|
|
684
|
+
for (const nodeName of nodeNames) {
|
|
685
|
+
node = this.nodes[nodeName];
|
|
686
|
+
if (nodeNames.length === 1 && !node.disabled) {
|
|
687
|
+
return node;
|
|
688
|
+
}
|
|
689
|
+
nodeType = this.nodeTypes.getByNameAndVersion(node.type, node.typeVersion);
|
|
690
|
+
// TODO: Identify later differently
|
|
691
|
+
if (nodeType.description.name === constants_1.MANUAL_CHAT_TRIGGER_LANGCHAIN_NODE_TYPE) {
|
|
692
|
+
continue;
|
|
693
|
+
}
|
|
694
|
+
if (nodeType && (nodeType.trigger !== undefined || nodeType.poll !== undefined)) {
|
|
695
|
+
if (node.disabled === true) {
|
|
696
|
+
continue;
|
|
697
|
+
}
|
|
698
|
+
return node;
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
const sortedNodeNames = Object.values(this.nodes)
|
|
702
|
+
.sort((a, b) => constants_1.STARTING_NODE_TYPES.indexOf(a.type) - constants_1.STARTING_NODE_TYPES.indexOf(b.type))
|
|
703
|
+
.map((n) => n.name);
|
|
704
|
+
for (const nodeName of sortedNodeNames) {
|
|
705
|
+
node = this.nodes[nodeName];
|
|
706
|
+
if (constants_1.STARTING_NODE_TYPES.includes(node.type)) {
|
|
707
|
+
if (node.disabled === true) {
|
|
708
|
+
continue;
|
|
709
|
+
}
|
|
710
|
+
return node;
|
|
711
|
+
}
|
|
712
|
+
}
|
|
713
|
+
return undefined;
|
|
714
|
+
}
|
|
715
|
+
/**
|
|
716
|
+
* Returns the start node to start the workflow from
|
|
717
|
+
*
|
|
718
|
+
*/
|
|
719
|
+
getStartNode(destinationNode) {
|
|
720
|
+
if (destinationNode) {
|
|
721
|
+
// Find the highest parent nodes of the given one
|
|
722
|
+
const nodeNames = this.getHighestNode(destinationNode);
|
|
723
|
+
if (nodeNames.length === 0) {
|
|
724
|
+
// If no parent nodes have been found then only the destination-node
|
|
725
|
+
// is in the tree so add that one
|
|
726
|
+
nodeNames.push(destinationNode);
|
|
727
|
+
}
|
|
728
|
+
// Check which node to return as start node
|
|
729
|
+
const node = this.__getStartNode(nodeNames);
|
|
730
|
+
if (node !== undefined) {
|
|
731
|
+
return node;
|
|
732
|
+
}
|
|
733
|
+
// If none of the above did find anything simply return the
|
|
734
|
+
// first parent node in the list
|
|
735
|
+
return this.nodes[nodeNames[0]];
|
|
736
|
+
}
|
|
737
|
+
return this.__getStartNode(Object.keys(this.nodes));
|
|
738
|
+
}
|
|
739
|
+
getConnectionsBetweenNodes(sources, targets) {
|
|
740
|
+
const result = [];
|
|
741
|
+
for (const source of sources) {
|
|
742
|
+
for (const type of Object.keys(this.connectionsBySourceNode[source] ?? {})) {
|
|
743
|
+
for (const sourceIndex of Object.keys(this.connectionsBySourceNode[source][type])) {
|
|
744
|
+
for (const connectionIndex of Object.keys(this.connectionsBySourceNode[source][type][parseInt(sourceIndex, 10)] ?? [])) {
|
|
745
|
+
const targetConnectionData = this.connectionsBySourceNode[source][type][parseInt(sourceIndex, 10)]?.[parseInt(connectionIndex, 10)];
|
|
746
|
+
if (targetConnectionData && targets.includes(targetConnectionData?.node)) {
|
|
747
|
+
result.push([
|
|
748
|
+
{
|
|
749
|
+
node: source,
|
|
750
|
+
index: parseInt(sourceIndex, 10),
|
|
751
|
+
type: type,
|
|
752
|
+
},
|
|
753
|
+
targetConnectionData,
|
|
754
|
+
]);
|
|
755
|
+
}
|
|
756
|
+
}
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
}
|
|
760
|
+
return result;
|
|
761
|
+
}
|
|
762
|
+
}
|
|
763
|
+
exports.Workflow = Workflow;
|
|
764
|
+
});
|
|
765
|
+
//# sourceMappingURL=workflow.js.map
|