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