n8n-workflow 2.31.1 → 2.32.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/augment-object.js +136 -146
- package/dist/cjs/augment-object.js.map +1 -1
- package/dist/cjs/build.tsbuildinfo +1 -1
- package/dist/cjs/common/find-ai-root-node-names.js +36 -46
- package/dist/cjs/common/find-ai-root-node-names.js.map +1 -1
- package/dist/cjs/common/get-child-nodes.js +8 -18
- package/dist/cjs/common/get-child-nodes.js.map +1 -1
- package/dist/cjs/common/get-connected-nodes.js +84 -94
- package/dist/cjs/common/get-connected-nodes.js.map +1 -1
- package/dist/cjs/common/get-node-by-name.js +16 -26
- package/dist/cjs/common/get-node-by-name.js.map +1 -1
- package/dist/cjs/common/get-parent-nodes.js +14 -24
- package/dist/cjs/common/get-parent-nodes.js.map +1 -1
- package/dist/cjs/common/index.js +9 -19
- package/dist/cjs/common/index.js.map +1 -1
- package/dist/cjs/common/map-connections-by-destination.js +31 -41
- package/dist/cjs/common/map-connections-by-destination.js.map +1 -1
- package/dist/cjs/common/resolve-variables.d.ts +8 -0
- package/dist/cjs/common/resolve-variables.d.ts.map +1 -1
- package/dist/cjs/common/resolve-variables.js +46 -33
- package/dist/cjs/common/resolve-variables.js.map +1 -1
- package/dist/cjs/connections-diff.js +58 -68
- package/dist/cjs/connections-diff.js.map +1 -1
- package/dist/cjs/constants.d.ts +3 -3
- package/dist/cjs/constants.d.ts.map +1 -1
- package/dist/cjs/constants.js +157 -166
- package/dist/cjs/constants.js.map +1 -1
- package/dist/cjs/credential-domain-restrictions.js +153 -163
- package/dist/cjs/credential-domain-restrictions.js.map +1 -1
- package/dist/cjs/cron.d.ts.map +1 -1
- package/dist/cjs/cron.js +25 -35
- package/dist/cjs/cron.js.map +1 -1
- package/dist/cjs/data-table.types.js +10 -20
- package/dist/cjs/data-table.types.js.map +1 -1
- package/dist/cjs/dynamic-credentials-helpers.js +93 -103
- package/dist/cjs/dynamic-credentials-helpers.js.map +1 -1
- package/dist/cjs/errors/abstract/execution-base.error.d.ts.map +1 -1
- package/dist/cjs/errors/abstract/execution-base.error.js +41 -51
- package/dist/cjs/errors/abstract/execution-base.error.js.map +1 -1
- package/dist/cjs/errors/abstract/node.error.d.ts.map +1 -1
- package/dist/cjs/errors/abstract/node.error.js +142 -152
- package/dist/cjs/errors/abstract/node.error.js.map +1 -1
- package/dist/cjs/errors/base/base.error.d.ts.map +1 -1
- package/dist/cjs/errors/base/base.error.js +35 -45
- package/dist/cjs/errors/base/base.error.js.map +1 -1
- package/dist/cjs/errors/base/operational.error.d.ts.map +1 -1
- package/dist/cjs/errors/base/operational.error.js +17 -27
- package/dist/cjs/errors/base/operational.error.js.map +1 -1
- package/dist/cjs/errors/base/unexpected.error.d.ts.map +1 -1
- package/dist/cjs/errors/base/unexpected.error.js +17 -27
- package/dist/cjs/errors/base/unexpected.error.js.map +1 -1
- package/dist/cjs/errors/base/user.error.d.ts.map +1 -1
- package/dist/cjs/errors/base/user.error.js +17 -27
- package/dist/cjs/errors/base/user.error.js.map +1 -1
- package/dist/cjs/errors/cli-subworkflow-operation.error.js +7 -17
- package/dist/cjs/errors/cli-subworkflow-operation.error.js.map +1 -1
- package/dist/cjs/errors/db-connection-timeout-error.d.ts.map +1 -1
- package/dist/cjs/errors/db-connection-timeout-error.js +11 -21
- package/dist/cjs/errors/db-connection-timeout-error.js.map +1 -1
- package/dist/cjs/errors/execution-cancelled.error.d.ts.map +1 -1
- package/dist/cjs/errors/execution-cancelled.error.js +33 -43
- package/dist/cjs/errors/execution-cancelled.error.js.map +1 -1
- package/dist/cjs/errors/expression-class-extension.error.d.ts.map +1 -1
- package/dist/cjs/errors/expression-class-extension.error.js +9 -19
- package/dist/cjs/errors/expression-class-extension.error.js.map +1 -1
- package/dist/cjs/errors/expression-computed-destructuring.error.d.ts.map +1 -1
- package/dist/cjs/errors/expression-computed-destructuring.error.js +9 -19
- package/dist/cjs/errors/expression-computed-destructuring.error.js.map +1 -1
- package/dist/cjs/errors/expression-destructuring.error.d.ts.map +1 -1
- package/dist/cjs/errors/expression-destructuring.error.js +9 -19
- package/dist/cjs/errors/expression-destructuring.error.js.map +1 -1
- package/dist/cjs/errors/expression-extension.error.js +7 -17
- package/dist/cjs/errors/expression-extension.error.js.map +1 -1
- package/dist/cjs/errors/expression-reserved-variable.error.d.ts.map +1 -1
- package/dist/cjs/errors/expression-reserved-variable.error.js +9 -19
- package/dist/cjs/errors/expression-reserved-variable.error.js.map +1 -1
- package/dist/cjs/errors/expression-with-statement.error.d.ts.map +1 -1
- package/dist/cjs/errors/expression-with-statement.error.js +9 -19
- package/dist/cjs/errors/expression-with-statement.error.js.map +1 -1
- package/dist/cjs/errors/expression.error.d.ts.map +1 -1
- package/dist/cjs/errors/expression.error.js +33 -43
- package/dist/cjs/errors/expression.error.js.map +1 -1
- package/dist/cjs/errors/index.js +62 -72
- package/dist/cjs/errors/index.js.map +1 -1
- package/dist/cjs/errors/node-api.error.d.ts.map +1 -1
- package/dist/cjs/errors/node-api.error.js +227 -237
- package/dist/cjs/errors/node-api.error.js.map +1 -1
- package/dist/cjs/errors/node-operation.error.d.ts.map +1 -1
- package/dist/cjs/errors/node-operation.error.js +43 -53
- package/dist/cjs/errors/node-operation.error.js.map +1 -1
- package/dist/cjs/errors/node-ssl.error.d.ts.map +1 -1
- package/dist/cjs/errors/node-ssl.error.js +9 -19
- package/dist/cjs/errors/node-ssl.error.js.map +1 -1
- package/dist/cjs/errors/subworkflow-operation.error.d.ts.map +1 -1
- package/dist/cjs/errors/subworkflow-operation.error.js +18 -28
- package/dist/cjs/errors/subworkflow-operation.error.js.map +1 -1
- package/dist/cjs/errors/trigger-close.error.d.ts.map +1 -1
- package/dist/cjs/errors/trigger-close.error.js +11 -21
- package/dist/cjs/errors/trigger-close.error.js.map +1 -1
- package/dist/cjs/errors/webhook-taken.error.d.ts.map +1 -1
- package/dist/cjs/errors/webhook-taken.error.js +9 -19
- package/dist/cjs/errors/webhook-taken.error.js.map +1 -1
- package/dist/cjs/errors/workflow-activation.error.d.ts.map +1 -1
- package/dist/cjs/errors/workflow-activation.error.js +54 -64
- package/dist/cjs/errors/workflow-activation.error.js.map +1 -1
- package/dist/cjs/errors/workflow-configuration.error.js +10 -20
- package/dist/cjs/errors/workflow-configuration.error.js.map +1 -1
- package/dist/cjs/errors/workflow-deactivation.error.js +7 -17
- package/dist/cjs/errors/workflow-deactivation.error.js.map +1 -1
- package/dist/cjs/errors/workflow-operation.error.d.ts.map +1 -1
- package/dist/cjs/errors/workflow-operation.error.js +20 -30
- package/dist/cjs/errors/workflow-operation.error.js.map +1 -1
- package/dist/cjs/evaluation-helpers.js +16 -26
- package/dist/cjs/evaluation-helpers.js.map +1 -1
- package/dist/cjs/execution-context-establishment-hooks.d.ts.map +1 -1
- package/dist/cjs/execution-context-establishment-hooks.js +43 -49
- package/dist/cjs/execution-context-establishment-hooks.js.map +1 -1
- package/dist/cjs/execution-context.d.ts +14 -14
- package/dist/cjs/execution-context.d.ts.map +1 -1
- package/dist/cjs/execution-context.js +203 -213
- package/dist/cjs/execution-context.js.map +1 -1
- package/dist/cjs/execution-status.d.ts +2 -2
- package/dist/cjs/execution-status.d.ts.map +1 -1
- package/dist/cjs/execution-status.js +27 -37
- package/dist/cjs/execution-status.js.map +1 -1
- package/dist/cjs/expression-evaluator-proxy.d.ts.map +1 -1
- package/dist/cjs/expression-evaluator-proxy.js +18 -28
- package/dist/cjs/expression-evaluator-proxy.js.map +1 -1
- package/dist/cjs/expression-sandboxing.d.ts.map +1 -1
- package/dist/cjs/expression-sandboxing.js +447 -457
- package/dist/cjs/expression-sandboxing.js.map +1 -1
- package/dist/cjs/expression.d.ts.map +1 -1
- package/dist/cjs/expression.js +535 -546
- package/dist/cjs/expression.js.map +1 -1
- package/dist/cjs/expressions/expression-helpers.d.ts.map +1 -1
- package/dist/cjs/expressions/expression-helpers.js +13 -23
- package/dist/cjs/expressions/expression-helpers.js.map +1 -1
- package/dist/cjs/extensions/array-extensions.js +591 -601
- package/dist/cjs/extensions/array-extensions.js.map +1 -1
- package/dist/cjs/extensions/boolean-extensions.d.ts +1 -1
- package/dist/cjs/extensions/boolean-extensions.js +38 -48
- package/dist/cjs/extensions/boolean-extensions.js.map +1 -1
- package/dist/cjs/extensions/date-extensions.js +507 -517
- package/dist/cjs/extensions/date-extensions.js.map +1 -1
- package/dist/cjs/extensions/expression-extension.d.ts.map +1 -1
- package/dist/cjs/extensions/expression-extension.js +455 -465
- package/dist/cjs/extensions/expression-extension.js.map +1 -1
- package/dist/cjs/extensions/expression-parser.d.ts.map +1 -1
- package/dist/cjs/extensions/expression-parser.js +82 -92
- package/dist/cjs/extensions/expression-parser.js.map +1 -1
- package/dist/cjs/extensions/extended-functions.d.ts +10 -18
- package/dist/cjs/extensions/extended-functions.d.ts.map +1 -1
- package/dist/cjs/extensions/extended-functions.js +80 -90
- package/dist/cjs/extensions/extended-functions.js.map +1 -1
- package/dist/cjs/extensions/extensions.js +2 -12
- package/dist/cjs/extensions/index.js +10 -20
- package/dist/cjs/extensions/index.js.map +1 -1
- package/dist/cjs/extensions/number-extensions.js +226 -236
- package/dist/cjs/extensions/number-extensions.js.map +1 -1
- package/dist/cjs/extensions/object-extensions.js +274 -284
- package/dist/cjs/extensions/object-extensions.js.map +1 -1
- package/dist/cjs/extensions/string-extensions.d.ts +1 -1
- package/dist/cjs/extensions/string-extensions.d.ts.map +1 -1
- package/dist/cjs/extensions/string-extensions.js +769 -779
- package/dist/cjs/extensions/string-extensions.js.map +1 -1
- package/dist/cjs/extensions/utils.d.ts.map +1 -1
- package/dist/cjs/extensions/utils.js +35 -45
- package/dist/cjs/extensions/utils.js.map +1 -1
- package/dist/cjs/from-ai-parse-utils.js +393 -403
- package/dist/cjs/from-ai-parse-utils.js.map +1 -1
- package/dist/cjs/global-state.js +12 -22
- package/dist/cjs/global-state.js.map +1 -1
- package/dist/cjs/graph/graph-utils.js +166 -176
- package/dist/cjs/graph/graph-utils.js.map +1 -1
- package/dist/cjs/highlighted-data.js +13 -23
- package/dist/cjs/highlighted-data.js.map +1 -1
- package/dist/cjs/index.js +105 -115
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/interfaces.d.ts +112 -22
- package/dist/cjs/interfaces.d.ts.map +1 -1
- package/dist/cjs/interfaces.js +62 -72
- package/dist/cjs/interfaces.js.map +1 -1
- package/dist/cjs/jmespath-query.js +26 -36
- package/dist/cjs/jmespath-query.js.map +1 -1
- package/dist/cjs/logger-proxy.d.ts.map +1 -1
- package/dist/cjs/logger-proxy.js +15 -25
- package/dist/cjs/logger-proxy.js.map +1 -1
- package/dist/cjs/mcp-helpers.js +10 -20
- package/dist/cjs/mcp-helpers.js.map +1 -1
- package/dist/cjs/message-event-bus.d.ts +184 -165
- package/dist/cjs/message-event-bus.d.ts.map +1 -1
- package/dist/cjs/message-event-bus.js +207 -217
- package/dist/cjs/message-event-bus.js.map +1 -1
- package/dist/cjs/metadata-utils.js +35 -45
- package/dist/cjs/metadata-utils.js.map +1 -1
- package/dist/cjs/native-methods/array.methods.js +527 -537
- package/dist/cjs/native-methods/array.methods.js.map +1 -1
- package/dist/cjs/native-methods/boolean.methods.js +18 -28
- package/dist/cjs/native-methods/boolean.methods.js.map +1 -1
- package/dist/cjs/native-methods/index.js +16 -26
- package/dist/cjs/native-methods/index.js.map +1 -1
- package/dist/cjs/native-methods/number.methods.js +79 -89
- package/dist/cjs/native-methods/number.methods.js.map +1 -1
- package/dist/cjs/native-methods/object.methods.js +7 -17
- package/dist/cjs/native-methods/object.methods.js.map +1 -1
- package/dist/cjs/native-methods/string.methods.js +474 -484
- package/dist/cjs/native-methods/string.methods.js.map +1 -1
- package/dist/cjs/node-grouping-validation.d.ts +6 -0
- package/dist/cjs/node-grouping-validation.d.ts.map +1 -1
- package/dist/cjs/node-grouping-validation.js +165 -144
- package/dist/cjs/node-grouping-validation.js.map +1 -1
- package/dist/cjs/node-helpers.d.ts.map +1 -1
- package/dist/cjs/node-helpers.js +1486 -1493
- package/dist/cjs/node-helpers.js.map +1 -1
- package/dist/cjs/node-parameters/filter-parameter.d.ts.map +1 -1
- package/dist/cjs/node-parameters/filter-parameter.js +315 -325
- package/dist/cjs/node-parameters/filter-parameter.js.map +1 -1
- package/dist/cjs/node-parameters/node-parameter-value-type-guard.js +105 -115
- package/dist/cjs/node-parameters/node-parameter-value-type-guard.js.map +1 -1
- package/dist/cjs/node-parameters/parameter-type-validation.js +120 -130
- package/dist/cjs/node-parameters/parameter-type-validation.js.map +1 -1
- package/dist/cjs/node-parameters/path-utils.js +21 -31
- package/dist/cjs/node-parameters/path-utils.js.map +1 -1
- package/dist/cjs/node-parameters/rename-node-utils.js +22 -32
- package/dist/cjs/node-parameters/rename-node-utils.js.map +1 -1
- package/dist/cjs/node-reference-parser-utils.js +472 -482
- package/dist/cjs/node-reference-parser-utils.js.map +1 -1
- package/dist/cjs/node-validation.js +59 -69
- package/dist/cjs/node-validation.js.map +1 -1
- package/dist/cjs/observable-object.js +56 -66
- package/dist/cjs/observable-object.js.map +1 -1
- package/dist/cjs/redaction-channels.js +36 -46
- package/dist/cjs/redaction-channels.js.map +1 -1
- package/dist/cjs/run-execution-data/run-execution-data.js +15 -25
- package/dist/cjs/run-execution-data/run-execution-data.js.map +1 -1
- package/dist/cjs/run-execution-data/run-execution-data.v0.js +2 -12
- package/dist/cjs/run-execution-data/run-execution-data.v1.js +26 -36
- package/dist/cjs/run-execution-data/run-execution-data.v1.js.map +1 -1
- package/dist/cjs/run-execution-data-factory.js +113 -123
- package/dist/cjs/run-execution-data-factory.js.map +1 -1
- package/dist/cjs/schemas.d.ts +13 -13
- package/dist/cjs/schemas.d.ts.map +1 -1
- package/dist/cjs/schemas.js +351 -360
- package/dist/cjs/schemas.js.map +1 -1
- package/dist/cjs/sub-workflow-output.js +10 -20
- package/dist/cjs/sub-workflow-output.js.map +1 -1
- package/dist/cjs/telemetry-helpers.d.ts.map +1 -1
- package/dist/cjs/telemetry-helpers.js +716 -726
- package/dist/cjs/telemetry-helpers.js.map +1 -1
- package/dist/cjs/tool-helpers.js +18 -28
- package/dist/cjs/tool-helpers.js.map +1 -1
- package/dist/cjs/trigger-identity.js +41 -51
- package/dist/cjs/trigger-identity.js.map +1 -1
- package/dist/cjs/trimmed-task-data.js +21 -31
- package/dist/cjs/trimmed-task-data.js.map +1 -1
- package/dist/cjs/type-guards.d.ts +3 -3
- package/dist/cjs/type-guards.d.ts.map +1 -1
- package/dist/cjs/type-guards.js +74 -84
- package/dist/cjs/type-guards.js.map +1 -1
- package/dist/cjs/type-validation.d.ts.map +1 -1
- package/dist/cjs/type-validation.js +383 -393
- package/dist/cjs/type-validation.js.map +1 -1
- package/dist/cjs/utils.d.ts +2 -2
- package/dist/cjs/utils.d.ts.map +1 -1
- package/dist/cjs/utils.js +430 -440
- package/dist/cjs/utils.js.map +1 -1
- package/dist/cjs/versioned-node-type.d.ts.map +1 -1
- package/dist/cjs/versioned-node-type.js +20 -30
- package/dist/cjs/versioned-node-type.js.map +1 -1
- package/dist/cjs/workflow-checksum.js +67 -77
- package/dist/cjs/workflow-checksum.js.map +1 -1
- package/dist/cjs/workflow-data-proxy-env-provider.js +58 -68
- package/dist/cjs/workflow-data-proxy-env-provider.js.map +1 -1
- package/dist/cjs/workflow-data-proxy-helpers.js +8 -18
- package/dist/cjs/workflow-data-proxy-helpers.js.map +1 -1
- package/dist/cjs/workflow-data-proxy.d.ts.map +1 -1
- package/dist/cjs/workflow-data-proxy.js +1162 -1172
- package/dist/cjs/workflow-data-proxy.js.map +1 -1
- package/dist/cjs/workflow-diff.d.ts +2 -1
- package/dist/cjs/workflow-diff.d.ts.map +1 -1
- package/dist/cjs/workflow-diff.js +292 -300
- package/dist/cjs/workflow-diff.js.map +1 -1
- package/dist/cjs/workflow-environments-helper.js +23 -33
- package/dist/cjs/workflow-environments-helper.js.map +1 -1
- package/dist/cjs/workflow-expression.d.ts.map +1 -1
- package/dist/cjs/workflow-expression.js +97 -107
- package/dist/cjs/workflow-expression.js.map +1 -1
- package/dist/cjs/workflow-structure-validation.d.ts.map +1 -1
- package/dist/cjs/workflow-structure-validation.js +140 -150
- package/dist/cjs/workflow-structure-validation.js.map +1 -1
- package/dist/cjs/workflow-validation.js +40 -50
- package/dist/cjs/workflow-validation.js.map +1 -1
- package/dist/cjs/workflow.d.ts.map +1 -1
- package/dist/cjs/workflow.js +612 -622
- package/dist/cjs/workflow.js.map +1 -1
- package/dist/esm/common/get-child-nodes.js.map +1 -1
- package/dist/esm/common/get-connected-nodes.js.map +1 -1
- package/dist/esm/common/get-parent-nodes.js.map +1 -1
- package/dist/esm/common/resolve-variables.d.ts +8 -0
- package/dist/esm/common/resolve-variables.d.ts.map +1 -1
- package/dist/esm/common/resolve-variables.js +22 -0
- package/dist/esm/common/resolve-variables.js.map +1 -1
- package/dist/esm/constants.d.ts +3 -3
- package/dist/esm/constants.d.ts.map +1 -1
- package/dist/esm/cron.d.ts.map +1 -1
- package/dist/esm/errors/abstract/execution-base.error.d.ts.map +1 -1
- package/dist/esm/errors/abstract/execution-base.error.js.map +1 -1
- package/dist/esm/errors/abstract/node.error.d.ts.map +1 -1
- package/dist/esm/errors/abstract/node.error.js.map +1 -1
- package/dist/esm/errors/base/base.error.d.ts.map +1 -1
- package/dist/esm/errors/base/base.error.js.map +1 -1
- package/dist/esm/errors/base/operational.error.d.ts.map +1 -1
- package/dist/esm/errors/base/operational.error.js.map +1 -1
- package/dist/esm/errors/base/unexpected.error.d.ts.map +1 -1
- package/dist/esm/errors/base/unexpected.error.js.map +1 -1
- package/dist/esm/errors/base/user.error.d.ts.map +1 -1
- package/dist/esm/errors/base/user.error.js.map +1 -1
- package/dist/esm/errors/db-connection-timeout-error.d.ts.map +1 -1
- package/dist/esm/errors/execution-cancelled.error.d.ts.map +1 -1
- package/dist/esm/errors/expression-class-extension.error.d.ts.map +1 -1
- package/dist/esm/errors/expression-computed-destructuring.error.d.ts.map +1 -1
- package/dist/esm/errors/expression-destructuring.error.d.ts.map +1 -1
- package/dist/esm/errors/expression-reserved-variable.error.d.ts.map +1 -1
- package/dist/esm/errors/expression-with-statement.error.d.ts.map +1 -1
- package/dist/esm/errors/expression.error.d.ts.map +1 -1
- package/dist/esm/errors/node-api.error.d.ts.map +1 -1
- package/dist/esm/errors/node-api.error.js.map +1 -1
- package/dist/esm/errors/node-operation.error.d.ts.map +1 -1
- package/dist/esm/errors/node-operation.error.js.map +1 -1
- package/dist/esm/errors/node-ssl.error.d.ts.map +1 -1
- package/dist/esm/errors/subworkflow-operation.error.d.ts.map +1 -1
- package/dist/esm/errors/trigger-close.error.d.ts.map +1 -1
- package/dist/esm/errors/trigger-close.error.js.map +1 -1
- package/dist/esm/errors/webhook-taken.error.d.ts.map +1 -1
- package/dist/esm/errors/workflow-activation.error.d.ts.map +1 -1
- package/dist/esm/errors/workflow-activation.error.js.map +1 -1
- package/dist/esm/errors/workflow-operation.error.d.ts.map +1 -1
- package/dist/esm/execution-context-establishment-hooks.d.ts.map +1 -1
- package/dist/esm/execution-context-establishment-hooks.js +7 -3
- package/dist/esm/execution-context-establishment-hooks.js.map +1 -1
- package/dist/esm/execution-context.d.ts +14 -14
- package/dist/esm/execution-context.d.ts.map +1 -1
- package/dist/esm/execution-status.d.ts +2 -2
- package/dist/esm/execution-status.d.ts.map +1 -1
- package/dist/esm/expression-evaluator-proxy.d.ts.map +1 -1
- package/dist/esm/expression-sandboxing.d.ts.map +1 -1
- package/dist/esm/expression-sandboxing.js.map +1 -1
- package/dist/esm/expression.d.ts.map +1 -1
- package/dist/esm/expression.js.map +1 -1
- package/dist/esm/expressions/expression-helpers.d.ts.map +1 -1
- package/dist/esm/extensions/boolean-extensions.d.ts +1 -1
- package/dist/esm/extensions/expression-extension.d.ts.map +1 -1
- package/dist/esm/extensions/expression-parser.d.ts.map +1 -1
- package/dist/esm/extensions/extended-functions.d.ts +10 -18
- package/dist/esm/extensions/extended-functions.d.ts.map +1 -1
- package/dist/esm/extensions/number-extensions.js.map +1 -1
- package/dist/esm/extensions/string-extensions.d.ts +1 -1
- package/dist/esm/extensions/string-extensions.d.ts.map +1 -1
- package/dist/esm/extensions/string-extensions.js.map +1 -1
- package/dist/esm/extensions/utils.d.ts.map +1 -1
- package/dist/esm/from-ai-parse-utils.js.map +1 -1
- package/dist/esm/interfaces.d.ts +112 -22
- package/dist/esm/interfaces.d.ts.map +1 -1
- package/dist/esm/interfaces.js.map +1 -1
- package/dist/esm/logger-proxy.d.ts.map +1 -1
- package/dist/esm/message-event-bus.d.ts +184 -165
- package/dist/esm/message-event-bus.d.ts.map +1 -1
- package/dist/esm/message-event-bus.js +2 -2
- package/dist/esm/message-event-bus.js.map +1 -1
- package/dist/esm/node-grouping-validation.d.ts +6 -0
- package/dist/esm/node-grouping-validation.d.ts.map +1 -1
- package/dist/esm/node-grouping-validation.js +34 -5
- package/dist/esm/node-grouping-validation.js.map +1 -1
- package/dist/esm/node-helpers.d.ts.map +1 -1
- package/dist/esm/node-helpers.js +3 -0
- package/dist/esm/node-helpers.js.map +1 -1
- package/dist/esm/node-parameters/filter-parameter.d.ts.map +1 -1
- package/dist/esm/node-parameters/filter-parameter.js.map +1 -1
- package/dist/esm/node-reference-parser-utils.js.map +1 -1
- package/dist/esm/run-execution-data-factory.js.map +1 -1
- package/dist/esm/schemas.d.ts +13 -13
- package/dist/esm/schemas.d.ts.map +1 -1
- package/dist/esm/schemas.js +1 -0
- package/dist/esm/schemas.js.map +1 -1
- package/dist/esm/telemetry-helpers.d.ts.map +1 -1
- package/dist/esm/telemetry-helpers.js.map +1 -1
- package/dist/esm/type-guards.d.ts +3 -3
- package/dist/esm/type-guards.d.ts.map +1 -1
- package/dist/esm/type-validation.d.ts.map +1 -1
- package/dist/esm/type-validation.js.map +1 -1
- package/dist/esm/typecheck.tsbuildinfo +1 -1
- package/dist/esm/utils.d.ts +2 -2
- package/dist/esm/utils.d.ts.map +1 -1
- package/dist/esm/utils.js.map +1 -1
- package/dist/esm/versioned-node-type.d.ts.map +1 -1
- package/dist/esm/workflow-data-proxy.d.ts.map +1 -1
- package/dist/esm/workflow-data-proxy.js.map +1 -1
- package/dist/esm/workflow-diff.d.ts +2 -1
- package/dist/esm/workflow-diff.d.ts.map +1 -1
- package/dist/esm/workflow-diff.js +3 -1
- package/dist/esm/workflow-diff.js.map +1 -1
- package/dist/esm/workflow-expression.d.ts.map +1 -1
- package/dist/esm/workflow-expression.js.map +1 -1
- package/dist/esm/workflow-structure-validation.d.ts.map +1 -1
- package/dist/esm/workflow-structure-validation.js.map +1 -1
- package/dist/esm/workflow.d.ts.map +1 -1
- package/dist/esm/workflow.js.map +1 -1
- package/package.json +9 -8
|
@@ -1,54 +1,44 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
function findAiRootNodeNames(connections) {
|
|
31
|
-
const roots = new Set();
|
|
32
|
-
if (!isObjectRecord(connections))
|
|
33
|
-
return roots;
|
|
34
|
-
for (const nodeConns of Object.values(connections)) {
|
|
35
|
-
if (!isObjectRecord(nodeConns))
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.findAiRootNodeNames = findAiRootNodeNames;
|
|
4
|
+
/**
|
|
5
|
+
* AI root nodes are the target of any `ai_*` connection — Agent/Chain nodes
|
|
6
|
+
* to which language model, memory, tool, etc. sub-nodes attach. Pinning these
|
|
7
|
+
* during eval short-circuits sub-node SDK calls.
|
|
8
|
+
*
|
|
9
|
+
* Accepts `unknown` so callers reading workflow JSON from the wire (which
|
|
10
|
+
* arrives as `Record<string, unknown>`) can use it without an `as` cast.
|
|
11
|
+
* Typed-`IConnections` callers assign in without widening.
|
|
12
|
+
*/
|
|
13
|
+
function isObjectRecord(value) {
|
|
14
|
+
return typeof value === 'object' && value !== null;
|
|
15
|
+
}
|
|
16
|
+
// `Array.isArray` narrows to `any[]` in lib.es5.d.ts; wrap it so the elements
|
|
17
|
+
// stay typed as `unknown` and downstream checks have to narrow explicitly.
|
|
18
|
+
function isUnknownArray(value) {
|
|
19
|
+
return Array.isArray(value);
|
|
20
|
+
}
|
|
21
|
+
function findAiRootNodeNames(connections) {
|
|
22
|
+
const roots = new Set();
|
|
23
|
+
if (!isObjectRecord(connections))
|
|
24
|
+
return roots;
|
|
25
|
+
for (const nodeConns of Object.values(connections)) {
|
|
26
|
+
if (!isObjectRecord(nodeConns))
|
|
27
|
+
continue;
|
|
28
|
+
for (const [connType, outputs] of Object.entries(nodeConns)) {
|
|
29
|
+
if (!connType.startsWith('ai_') || !isUnknownArray(outputs))
|
|
36
30
|
continue;
|
|
37
|
-
for (const
|
|
38
|
-
if (!
|
|
31
|
+
for (const group of outputs) {
|
|
32
|
+
if (!isUnknownArray(group))
|
|
39
33
|
continue;
|
|
40
|
-
for (const
|
|
41
|
-
if (
|
|
42
|
-
|
|
43
|
-
for (const conn of group) {
|
|
44
|
-
if (isObjectRecord(conn) && typeof conn.node === 'string') {
|
|
45
|
-
roots.add(conn.node);
|
|
46
|
-
}
|
|
34
|
+
for (const conn of group) {
|
|
35
|
+
if (isObjectRecord(conn) && typeof conn.node === 'string') {
|
|
36
|
+
roots.add(conn.node);
|
|
47
37
|
}
|
|
48
38
|
}
|
|
49
39
|
}
|
|
50
40
|
}
|
|
51
|
-
return roots;
|
|
52
41
|
}
|
|
53
|
-
|
|
42
|
+
return roots;
|
|
43
|
+
}
|
|
54
44
|
//# sourceMappingURL=find-ai-root-node-names.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"find-ai-root-node-names.js","sourceRoot":"","sources":["../../../src/common/find-ai-root-node-names.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"find-ai-root-node-names.js","sourceRoot":"","sources":["../../../src/common/find-ai-root-node-names.ts"],"names":[],"mappings":";;;AAAA;;;;;;;;GAQG;AACH,SAAS,cAAc,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,CAAC;AACpD,CAAC;AAED,8EAA8E;AAC9E,2EAA2E;AAC3E,SAAS,cAAc,CAAC,KAAc;IACrC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC7B,CAAC;AAED,6BAAoC,WAAoB;IACvD,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC;YAAE,SAAS;QACzC,KAAK,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7D,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC;gBAAE,SAAS;YACtE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC7B,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC;oBAAE,SAAS;gBACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBAC1B,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC3D,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtB,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,KAAK,CAAC;AACd,CAAC"}
|
|
@@ -1,19 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
})(function (require, exports) {
|
|
10
|
-
"use strict";
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.getChildNodes = getChildNodes;
|
|
13
|
-
const get_connected_nodes_1 = require("./get-connected-nodes");
|
|
14
|
-
const interfaces_1 = require("../interfaces");
|
|
15
|
-
function getChildNodes(connectionsBySourceNode, nodeName, type = interfaces_1.NodeConnectionTypes.Main, depth = -1) {
|
|
16
|
-
return (0, get_connected_nodes_1.getConnectedNodes)(connectionsBySourceNode, nodeName, type, depth);
|
|
17
|
-
}
|
|
18
|
-
});
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getChildNodes = getChildNodes;
|
|
4
|
+
const get_connected_nodes_1 = require("./get-connected-nodes");
|
|
5
|
+
const interfaces_1 = require("../interfaces");
|
|
6
|
+
function getChildNodes(connectionsBySourceNode, nodeName, type = interfaces_1.NodeConnectionTypes.Main, depth = -1) {
|
|
7
|
+
return (0, get_connected_nodes_1.getConnectedNodes)(connectionsBySourceNode, nodeName, type, depth);
|
|
8
|
+
}
|
|
19
9
|
//# sourceMappingURL=get-child-nodes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-child-nodes.js","sourceRoot":"","sources":["../../../src/common/get-child-nodes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-child-nodes.js","sourceRoot":"","sources":["../../../src/common/get-child-nodes.ts"],"names":[],"mappings":";;;AAAA,+DAA0D;AAC1D,8CAAoD;AAGpD,uBACC,uBAAqC,EACrC,QAAgB,EAChB,IAAI,GAAgD,gCAAmB,CAAC,IAAI,EAC5E,KAAK,GAAG,CAAC,CAAC;IAEV,OAAO,IAAA,uCAAiB,EAAC,uBAAuB,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC1E,CAAC"}
|
|
@@ -1,102 +1,92 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getConnectedNodes = getConnectedNodes;
|
|
4
|
+
const interfaces_1 = require("../interfaces");
|
|
5
|
+
/**
|
|
6
|
+
* Returns the names of all nodes reachable from `nodeName` by following the
|
|
7
|
+
* given connection type, excluding `nodeName` itself. Each node appears once,
|
|
8
|
+
* ordered deepest-descendant first. Cycles are safe — a node is never listed as
|
|
9
|
+
* its own descendant.
|
|
10
|
+
*
|
|
11
|
+
* @param {NodeConnectionType} [connectionType='main'] a specific type, or 'ALL' / 'ALL_NON_MAIN'
|
|
12
|
+
* @param {number} [depth=-1] how many hops to follow; -1 for unlimited
|
|
13
|
+
*/
|
|
14
|
+
function getConnectedNodes(connections, nodeName, connectionType = interfaces_1.NodeConnectionTypes.Main, depth = -1) {
|
|
15
|
+
return collectConnectedNodes(connections, nodeName, connectionType, depth, new Set(), new Map());
|
|
16
|
+
}
|
|
17
|
+
function collectConnectedNodes(connections, nodeName, connectionType, depth, currentPath, memo) {
|
|
18
|
+
if (depth === 0) {
|
|
19
|
+
// Reached max depth
|
|
20
|
+
return [];
|
|
5
21
|
}
|
|
6
|
-
|
|
7
|
-
|
|
22
|
+
if (!connections.hasOwnProperty(nodeName)) {
|
|
23
|
+
// Node has no connections to follow
|
|
24
|
+
return [];
|
|
8
25
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
const
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
* given connection type, excluding `nodeName` itself. Each node appears once,
|
|
17
|
-
* ordered deepest-descendant first. Cycles are safe — a node is never listed as
|
|
18
|
-
* its own descendant.
|
|
19
|
-
*
|
|
20
|
-
* @param {NodeConnectionType} [connectionType='main'] a specific type, or 'ALL' / 'ALL_NON_MAIN'
|
|
21
|
-
* @param {number} [depth=-1] how many hops to follow; -1 for unlimited
|
|
22
|
-
*/
|
|
23
|
-
function getConnectedNodes(connections, nodeName, connectionType = interfaces_1.NodeConnectionTypes.Main, depth = -1) {
|
|
24
|
-
return collectConnectedNodes(connections, nodeName, connectionType, depth, new Set(), new Map());
|
|
26
|
+
// The expansion of a node depends only on the node and the remaining depth,
|
|
27
|
+
// so cache by both. With unlimited depth (-1) the key is stable, so every
|
|
28
|
+
// node is expanded exactly once.
|
|
29
|
+
const memoKey = `${depth}:${nodeName}`;
|
|
30
|
+
const cached = memo.get(memoKey);
|
|
31
|
+
if (cached !== undefined) {
|
|
32
|
+
return cached;
|
|
25
33
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
else if (connectionType === 'ALL_NON_MAIN') {
|
|
49
|
-
types = Object.keys(connections[nodeName]).filter((type) => type !== 'main');
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
types = [connectionType];
|
|
34
|
+
const newDepth = depth === -1 ? depth : depth - 1;
|
|
35
|
+
let types;
|
|
36
|
+
if (connectionType === 'ALL') {
|
|
37
|
+
types = Object.keys(connections[nodeName]);
|
|
38
|
+
}
|
|
39
|
+
else if (connectionType === 'ALL_NON_MAIN') {
|
|
40
|
+
types = Object.keys(connections[nodeName]).filter((type) => type !== 'main');
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
types = [connectionType];
|
|
44
|
+
}
|
|
45
|
+
let addNodes;
|
|
46
|
+
let nodeIndex;
|
|
47
|
+
let i;
|
|
48
|
+
let parentNodeName;
|
|
49
|
+
const returnNodes = [];
|
|
50
|
+
currentPath.add(nodeName);
|
|
51
|
+
types.forEach((type) => {
|
|
52
|
+
if (!connections[nodeName].hasOwnProperty(type)) {
|
|
53
|
+
// Node does not have any connections of given type
|
|
54
|
+
return;
|
|
53
55
|
}
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
//
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
//
|
|
72
|
-
//
|
|
73
|
-
//
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
if (
|
|
77
|
-
|
|
56
|
+
connections[nodeName][type].forEach((connectionsByIndex) => {
|
|
57
|
+
connectionsByIndex?.forEach((connection) => {
|
|
58
|
+
if (currentPath.has(connection.node)) {
|
|
59
|
+
// Node is an ancestor on the current path, so skip it
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
// A node can be both a direct connection and a transitive descendant
|
|
63
|
+
// via another branch (a shortcut diamond). If it was already collected
|
|
64
|
+
// through a sibling branch, move it to the front instead of adding a
|
|
65
|
+
// duplicate — mirroring the dedup done for `addNodes` below.
|
|
66
|
+
const existingIndex = returnNodes.indexOf(connection.node);
|
|
67
|
+
if (existingIndex !== -1) {
|
|
68
|
+
returnNodes.splice(existingIndex, 1);
|
|
69
|
+
}
|
|
70
|
+
returnNodes.unshift(connection.node);
|
|
71
|
+
addNodes = collectConnectedNodes(connections, connection.node, connectionType, newDepth, currentPath, memo);
|
|
72
|
+
for (i = addNodes.length; i--; i > 0) {
|
|
73
|
+
// Because nodes can have multiple parents it is possible that
|
|
74
|
+
// parts of the tree is parent of both and to not add nodes
|
|
75
|
+
// twice check first if they already got added before.
|
|
76
|
+
parentNodeName = addNodes[i];
|
|
77
|
+
nodeIndex = returnNodes.indexOf(parentNodeName);
|
|
78
|
+
if (nodeIndex !== -1) {
|
|
79
|
+
// Node got found before so remove it from current location
|
|
80
|
+
// that node-order stays correct
|
|
81
|
+
returnNodes.splice(nodeIndex, 1);
|
|
78
82
|
}
|
|
79
|
-
returnNodes.unshift(
|
|
80
|
-
|
|
81
|
-
for (i = addNodes.length; i--; i > 0) {
|
|
82
|
-
// Because nodes can have multiple parents it is possible that
|
|
83
|
-
// parts of the tree is parent of both and to not add nodes
|
|
84
|
-
// twice check first if they already got added before.
|
|
85
|
-
parentNodeName = addNodes[i];
|
|
86
|
-
nodeIndex = returnNodes.indexOf(parentNodeName);
|
|
87
|
-
if (nodeIndex !== -1) {
|
|
88
|
-
// Node got found before so remove it from current location
|
|
89
|
-
// that node-order stays correct
|
|
90
|
-
returnNodes.splice(nodeIndex, 1);
|
|
91
|
-
}
|
|
92
|
-
returnNodes.unshift(parentNodeName);
|
|
93
|
-
}
|
|
94
|
-
});
|
|
83
|
+
returnNodes.unshift(parentNodeName);
|
|
84
|
+
}
|
|
95
85
|
});
|
|
96
86
|
});
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
87
|
+
});
|
|
88
|
+
currentPath.delete(nodeName);
|
|
89
|
+
memo.set(memoKey, returnNodes);
|
|
90
|
+
return returnNodes;
|
|
91
|
+
}
|
|
102
92
|
//# sourceMappingURL=get-connected-nodes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-connected-nodes.js","sourceRoot":"","sources":["../../../src/common/get-connected-nodes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-connected-nodes.js","sourceRoot":"","sources":["../../../src/common/get-connected-nodes.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,19 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getNodeByName = getNodeByName;
|
|
4
|
+
/**
|
|
5
|
+
* Returns the node with the given name if it exists else null
|
|
6
|
+
*
|
|
7
|
+
* @param {INodes} nodes Nodes to search in
|
|
8
|
+
* @param {string} name Name of the node to return
|
|
9
|
+
*/
|
|
10
|
+
function getNodeByName(nodes, name) {
|
|
11
|
+
if (Array.isArray(nodes)) {
|
|
12
|
+
return nodes.find((node) => node.name === name) || null;
|
|
5
13
|
}
|
|
6
|
-
|
|
7
|
-
|
|
14
|
+
if (nodes.hasOwnProperty(name)) {
|
|
15
|
+
return nodes[name];
|
|
8
16
|
}
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.getNodeByName = getNodeByName;
|
|
13
|
-
/**
|
|
14
|
-
* Returns the node with the given name if it exists else null
|
|
15
|
-
*
|
|
16
|
-
* @param {INodes} nodes Nodes to search in
|
|
17
|
-
* @param {string} name Name of the node to return
|
|
18
|
-
*/
|
|
19
|
-
function getNodeByName(nodes, name) {
|
|
20
|
-
if (Array.isArray(nodes)) {
|
|
21
|
-
return nodes.find((node) => node.name === name) || null;
|
|
22
|
-
}
|
|
23
|
-
if (nodes.hasOwnProperty(name)) {
|
|
24
|
-
return nodes[name];
|
|
25
|
-
}
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
});
|
|
17
|
+
return null;
|
|
18
|
+
}
|
|
29
19
|
//# sourceMappingURL=get-node-by-name.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-node-by-name.js","sourceRoot":"","sources":["../../../src/common/get-node-by-name.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-node-by-name.js","sourceRoot":"","sources":["../../../src/common/get-node-by-name.ts"],"names":[],"mappings":";;;AAEA;;;;;GAKG;AACH,uBAA8B,KAAuB,EAAE,IAAY;IAClE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;IACzD,CAAC;IAED,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;QAChC,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC"}
|
|
@@ -1,25 +1,15 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
/**
|
|
16
|
-
* Returns all the nodes before the given one
|
|
17
|
-
*
|
|
18
|
-
* @param {NodeConnectionType} [type='main']
|
|
19
|
-
* @param {*} [depth=-1]
|
|
20
|
-
*/
|
|
21
|
-
function getParentNodes(connectionsByDestinationNode, nodeName, type = interfaces_1.NodeConnectionTypes.Main, depth = -1) {
|
|
22
|
-
return (0, get_connected_nodes_1.getConnectedNodes)(connectionsByDestinationNode, nodeName, type, depth);
|
|
23
|
-
}
|
|
24
|
-
});
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getParentNodes = getParentNodes;
|
|
4
|
+
const get_connected_nodes_1 = require("./get-connected-nodes");
|
|
5
|
+
const interfaces_1 = require("../interfaces");
|
|
6
|
+
/**
|
|
7
|
+
* Returns all the nodes before the given one
|
|
8
|
+
*
|
|
9
|
+
* @param {NodeConnectionType} [type='main']
|
|
10
|
+
* @param {*} [depth=-1]
|
|
11
|
+
*/
|
|
12
|
+
function getParentNodes(connectionsByDestinationNode, nodeName, type = interfaces_1.NodeConnectionTypes.Main, depth = -1) {
|
|
13
|
+
return (0, get_connected_nodes_1.getConnectedNodes)(connectionsByDestinationNode, nodeName, type, depth);
|
|
14
|
+
}
|
|
25
15
|
//# sourceMappingURL=get-parent-nodes.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get-parent-nodes.js","sourceRoot":"","sources":["../../../src/common/get-parent-nodes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"get-parent-nodes.js","sourceRoot":"","sources":["../../../src/common/get-parent-nodes.ts"],"names":[],"mappings":";;;AAAA,+DAA0D;AAC1D,8CAAoD;AAGpD;;;;;GAKG;AACH,wBACC,4BAA0C,EAC1C,QAAgB,EAChB,IAAI,GAAgD,gCAAmB,CAAC,IAAI,EAC5E,KAAK,GAAG,CAAC,CAAC;IAEV,OAAO,IAAA,uCAAiB,EAAC,4BAA4B,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AAC/E,CAAC"}
|
package/dist/cjs/common/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
2
3
|
if (k2 === undefined) k2 = k;
|
|
3
4
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -12,23 +13,12 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
12
13
|
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
13
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
14
15
|
};
|
|
15
|
-
(
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
})(function (require, exports) {
|
|
24
|
-
"use strict";
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
__exportStar(require("./find-ai-root-node-names"), exports);
|
|
27
|
-
__exportStar(require("./get-child-nodes"), exports);
|
|
28
|
-
__exportStar(require("./get-connected-nodes"), exports);
|
|
29
|
-
__exportStar(require("./get-node-by-name"), exports);
|
|
30
|
-
__exportStar(require("./get-parent-nodes"), exports);
|
|
31
|
-
__exportStar(require("./map-connections-by-destination"), exports);
|
|
32
|
-
__exportStar(require("./resolve-variables"), exports);
|
|
33
|
-
});
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./find-ai-root-node-names"), exports);
|
|
18
|
+
__exportStar(require("./get-child-nodes"), exports);
|
|
19
|
+
__exportStar(require("./get-connected-nodes"), exports);
|
|
20
|
+
__exportStar(require("./get-node-by-name"), exports);
|
|
21
|
+
__exportStar(require("./get-parent-nodes"), exports);
|
|
22
|
+
__exportStar(require("./map-connections-by-destination"), exports);
|
|
23
|
+
__exportStar(require("./resolve-variables"), exports);
|
|
34
24
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,oDAAkC;AAClC,wDAAsC;AACtC,qDAAmC;AACnC,qDAAmC;AACnC,mEAAiD;AACjD,sDAAoC"}
|
|
@@ -1,53 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/* eslint-disable @typescript-eslint/no-for-in-array */
|
|
2
|
-
(
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
function mapConnectionsByDestination(connections) {
|
|
15
|
-
const returnConnection = {};
|
|
16
|
-
let connectionInfo;
|
|
17
|
-
let maxIndex;
|
|
18
|
-
for (const sourceNode in connections) {
|
|
19
|
-
if (!connections.hasOwnProperty(sourceNode)) {
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.mapConnectionsByDestination = mapConnectionsByDestination;
|
|
5
|
+
function mapConnectionsByDestination(connections) {
|
|
6
|
+
const returnConnection = {};
|
|
7
|
+
let connectionInfo;
|
|
8
|
+
let maxIndex;
|
|
9
|
+
for (const sourceNode in connections) {
|
|
10
|
+
if (!connections.hasOwnProperty(sourceNode)) {
|
|
11
|
+
continue;
|
|
12
|
+
}
|
|
13
|
+
for (const type of Object.keys(connections[sourceNode])) {
|
|
14
|
+
if (!connections[sourceNode].hasOwnProperty(type)) {
|
|
20
15
|
continue;
|
|
21
16
|
}
|
|
22
|
-
for (const
|
|
23
|
-
if (!connections[sourceNode].hasOwnProperty(
|
|
17
|
+
for (const inputIndex in connections[sourceNode][type]) {
|
|
18
|
+
if (!connections[sourceNode][type].hasOwnProperty(inputIndex)) {
|
|
24
19
|
continue;
|
|
25
20
|
}
|
|
26
|
-
for (
|
|
27
|
-
if (!
|
|
28
|
-
|
|
21
|
+
for (connectionInfo of connections[sourceNode][type][inputIndex] ?? []) {
|
|
22
|
+
if (!returnConnection.hasOwnProperty(connectionInfo.node)) {
|
|
23
|
+
returnConnection[connectionInfo.node] = {};
|
|
24
|
+
}
|
|
25
|
+
if (!returnConnection[connectionInfo.node].hasOwnProperty(connectionInfo.type)) {
|
|
26
|
+
returnConnection[connectionInfo.node][connectionInfo.type] = [];
|
|
29
27
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
if (!returnConnection[connectionInfo.node].hasOwnProperty(connectionInfo.type)) {
|
|
35
|
-
returnConnection[connectionInfo.node][connectionInfo.type] = [];
|
|
36
|
-
}
|
|
37
|
-
maxIndex = returnConnection[connectionInfo.node][connectionInfo.type].length - 1;
|
|
38
|
-
for (let j = maxIndex; j < connectionInfo.index; j++) {
|
|
39
|
-
returnConnection[connectionInfo.node][connectionInfo.type].push([]);
|
|
40
|
-
}
|
|
41
|
-
returnConnection[connectionInfo.node][connectionInfo.type][connectionInfo.index]?.push({
|
|
42
|
-
node: sourceNode,
|
|
43
|
-
type,
|
|
44
|
-
index: parseInt(inputIndex, 10),
|
|
45
|
-
});
|
|
28
|
+
maxIndex = returnConnection[connectionInfo.node][connectionInfo.type].length - 1;
|
|
29
|
+
for (let j = maxIndex; j < connectionInfo.index; j++) {
|
|
30
|
+
returnConnection[connectionInfo.node][connectionInfo.type].push([]);
|
|
46
31
|
}
|
|
32
|
+
returnConnection[connectionInfo.node][connectionInfo.type][connectionInfo.index]?.push({
|
|
33
|
+
node: sourceNode,
|
|
34
|
+
type,
|
|
35
|
+
index: parseInt(inputIndex, 10),
|
|
36
|
+
});
|
|
47
37
|
}
|
|
48
38
|
}
|
|
49
39
|
}
|
|
50
|
-
return returnConnection;
|
|
51
40
|
}
|
|
52
|
-
|
|
41
|
+
return returnConnection;
|
|
42
|
+
}
|
|
53
43
|
//# sourceMappingURL=map-connections-by-destination.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"map-connections-by-destination.js","sourceRoot":"","sources":["../../../src/common/map-connections-by-destination.ts"],"names":[],"mappings":"AAAA,uDAAuD
|
|
1
|
+
{"version":3,"file":"map-connections-by-destination.js","sourceRoot":"","sources":["../../../src/common/map-connections-by-destination.ts"],"names":[],"mappings":";AAAA,uDAAuD;;;AAIvD,qCAA4C,WAAyB;IACpE,MAAM,gBAAgB,GAAiB,EAAE,CAAC;IAE1C,IAAI,cAAc,CAAC;IACnB,IAAI,QAAgB,CAAC;IACrB,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACtC,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;YAC7C,SAAS;QACV,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAyB,EAAE,CAAC;YACjF,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnD,SAAS;YACV,CAAC;YAED,KAAK,MAAM,UAAU,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;oBAC/D,SAAS;gBACV,CAAC;gBAED,KAAK,cAAc,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,CAAC;oBACxE,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;wBAC3D,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;oBAC5C,CAAC;oBACD,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;wBAChF,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;oBACjE,CAAC;oBAED,QAAQ,GAAG,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;oBACjF,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,cAAc,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;wBACtD,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACrE,CAAC;oBAED,gBAAgB,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC;wBACtF,IAAI,EAAE,UAAU;wBAChB,IAAI;wBACJ,KAAK,EAAE,QAAQ,CAAC,UAAU,EAAE,EAAE,CAAC;qBAC/B,CAAC,CAAC;gBACJ,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED,OAAO,gBAAgB,CAAC;AACzB,CAAC"}
|
|
@@ -22,4 +22,12 @@ export interface ScopedVariable {
|
|
|
22
22
|
* @param projectId Project whose variables take precedence, if any
|
|
23
23
|
*/
|
|
24
24
|
export declare function resolveVariables(variables: ScopedVariable[], projectId?: string): Record<string, string | boolean | number>;
|
|
25
|
+
/**
|
|
26
|
+
* Picks the variable a `$vars.<key>` reference reads for a workflow in
|
|
27
|
+
* `projectId`, applying the same precedence as {@link resolveVariables}: the
|
|
28
|
+
* project-scoped variable wins over a same-key global. Unlike
|
|
29
|
+
* `resolveVariables`, this returns the variable itself rather than a flat
|
|
30
|
+
* value map, for callers that need its identity (e.g. the package exporter).
|
|
31
|
+
*/
|
|
32
|
+
export declare function pickVariableForProject<T extends ScopedVariable>(variables: T[], key: string, projectId?: string): T | undefined;
|
|
25
33
|
//# sourceMappingURL=resolve-variables.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve-variables.d.ts","sourceRoot":"","sources":["../../../src/common/resolve-variables.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACjC,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAChC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC/B,SAAS,EAAE,cAAc,EAAE,EAC3B,SAAS,CAAC,EAAE,MAAM,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAgB3C"}
|
|
1
|
+
{"version":3,"file":"resolve-variables.d.ts","sourceRoot":"","sources":["../../../src/common/resolve-variables.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACjC,OAAO,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAChC;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,gBAAgB,CAC/B,SAAS,EAAE,cAAc,EAAE,EAC3B,SAAS,CAAC,EAAE,MAAM,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC,CAgB3C;AAED;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,cAAc,EAC9D,SAAS,EAAE,CAAC,EAAE,EACd,GAAG,EAAE,MAAM,EACX,SAAS,CAAC,EAAE,MAAM,GAChB,CAAC,GAAG,SAAS,CAWf"}
|