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