@oomol-lab/open-flow 0.1.0-beta.73 → 0.1.0-beta.75
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/LICENSE +36 -0
- package/NOTICE +7 -0
- package/README.md +41 -0
- package/dist/browser/{ContentIcon-CUQHjQIw.js → ContentIcon-FCpKiwjp.js} +2 -1
- package/dist/browser/{FlowCanvas-Dtf8_cQp.js → FlowCanvas-dzRBnlUT.js} +1 -1
- package/dist/browser/{createResourceDialog-BWJkjiOO.js → createResourceDialog-BeYDdUl-.js} +2 -2
- package/dist/browser/{dialog-CUy_fwx9.js → dialog-ZtpsFbl4.js} +337 -31
- package/dist/browser/{exportSvg-BOoy7-Db.js → exportSvg-DqXw1yf-.js} +2 -2
- package/dist/browser/{flowChanges-CgSnSqqP.js → flowChanges-b_5UobFj.js} +586 -87
- package/dist/browser/{flowWorkspace-Bf7H-r0t.js → flowWorkspace-ItojZbO4.js} +21162 -20242
- package/dist/browser/preview.css +254 -179
- package/dist/browser/preview.js +22201 -20625
- package/dist/browser/{typeScriptSession-B0hC-C8y.js → typeScriptSession-CSRwWmZm.js} +1 -1
- package/dist/browser/ui.css +72 -2
- package/dist/browser/workbench.css +254 -179
- package/dist/browser/workbench.js +22 -78
- package/dist/browser/{workbenchSelect-C3e4J93X.js → workbenchSelect-M441Lz0d.js} +1 -1
- package/dist/command/index.js +42 -42
- package/dist/common/authoring.d.ts +5 -5
- package/dist/common/authoringExamples.d.ts +3 -2
- package/dist/common/authoringFields.d.ts +1 -1
- package/dist/common/authoringSchema.d.ts +95 -8
- package/dist/common/connector-proxy.d.ts +1 -1
- package/dist/common/control-api-conformance.d.ts +1 -1
- package/dist/common/control-api-conformance.js +119 -31
- package/dist/common/control-api.d.ts +4 -3
- package/dist/common/control-api.js +117 -29
- package/dist/common/control-requests.d.ts +5 -4
- package/dist/common/control-requests.js +437 -103
- package/dist/common/cron-trigger.d.ts +1 -1
- package/dist/common/decision.d.ts +1 -1
- package/dist/common/draftOperations.d.ts +1 -1
- package/dist/common/engine-contract.d.ts +4 -2
- package/dist/common/event-source-definition.d.ts +1 -1
- package/dist/common/flow-agent.d.ts +1 -1
- package/dist/{browser → common}/flow-authoring-node.d.ts +3 -3
- package/dist/{browser → common}/flow-authoring.js +131 -30
- package/dist/{browser → common}/flow-change-schema.d.ts +177 -6
- package/dist/{browser → common}/flow-change.d.ts +35 -15
- package/dist/{browser → common}/flow-change.js +133 -32
- package/dist/common/flow-connectionUsage.d.ts +1 -1
- package/dist/common/flow-encoding.d.ts +1 -1
- package/dist/common/flow-encoding.js +89 -23
- package/dist/common/flow-errorHandling.d.ts +1 -1
- package/dist/common/flow-graph.d.ts +3 -2
- package/dist/common/flow-modules.d.ts +1 -1
- package/dist/common/flow-promptTemplate.d.ts +1 -1
- package/dist/common/flow-retry.d.ts +2 -2
- package/dist/common/flow-semantics.d.ts +1 -1
- package/dist/common/flow-semantics.js +966 -614
- package/dist/common/flow-workflowFile.d.ts +1 -1
- package/dist/common/flowInspection.d.ts +3 -3
- package/dist/common/http-request.d.ts +156 -0
- package/dist/common/http-request.js +5254 -0
- package/dist/common/integration-trigger.d.ts +1 -1
- package/dist/common/licenses.md +118 -1
- package/dist/common/liveDetails.d.ts +1 -1
- package/dist/common/mcp.d.ts +5 -4
- package/dist/common/mcp.js +117 -29
- package/dist/common/openapi.d.ts +1 -1
- package/dist/common/poll-trigger.d.ts +1 -1
- package/dist/common/run-events.js +11 -9
- package/dist/common/run-results.d.ts +8 -1
- package/dist/common/runtime-contract.d.ts +8 -2
- package/dist/common/runtime-contract.js +25 -5
- package/dist/common/scheduler-checkpoint.d.ts +1 -1
- package/dist/common/scheduler-dependencies.d.ts +1 -1
- package/dist/common/scheduler-node-execution.d.ts +1 -1
- package/dist/common/scheduler.d.ts +3 -3
- package/dist/common/scheduler.js +101 -33
- package/dist/common/trigger-catalog.d.ts +1 -1
- package/dist/common/trigger-config-options.d.ts +1 -1
- package/dist/common/trigger-config.d.ts +1 -1
- package/dist/common/trigger-contract.d.ts +2 -2
- package/dist/common/trigger-localization.d.ts +1 -1
- package/dist/common/webhook-response.d.ts +1 -3
- package/dist/common/webhook-trigger.d.ts +1 -1
- package/dist/common/webhook-trigger.js +12 -11
- package/dist/common/workflow.d.ts +17 -1
- package/dist/common/workflow.js +68 -22
- package/dist/index.d.ts +6 -3
- package/package.json +11 -6
- package/skills/open-flow/references/flow-authoring.md +1 -0
- package/skills/open-flow/references/flow-n8n-conversion.md +19 -15
- package/src/base/common/json.ts +90 -0
- package/src/canvas/common/commands.ts +15 -0
- package/src/connector/common/actionSchema.ts +168 -0
- package/src/connector/common/proxy.ts +44 -0
- package/src/control/common/api.ts +1506 -0
- package/src/control/common/authoring.ts +923 -0
- package/src/control/common/authoringCondition.ts +110 -0
- package/src/control/common/authoringDiagnosticFields.ts +136 -0
- package/src/control/common/authoringExamples.ts +200 -0
- package/src/control/common/authoringFields.ts +53 -0
- package/src/control/common/authoringLlm.ts +70 -0
- package/src/control/common/authoringOpenApi.ts +129 -0
- package/src/control/common/authoringSchema.ts +410 -0
- package/src/control/common/authoringTools.ts +123 -0
- package/src/control/common/authoringTriggers.ts +26 -0
- package/src/control/common/checkDecoders.ts +65 -0
- package/src/control/common/conformance.ts +1989 -0
- package/src/control/common/connectorDecoders.ts +370 -0
- package/src/control/common/connectorQueries.ts +61 -0
- package/src/control/common/decoding.ts +60 -0
- package/src/control/common/draftOperations.ts +61 -0
- package/src/control/common/errors.ts +114 -0
- package/src/control/common/eventSourceSchemas.ts +13 -0
- package/src/control/common/eventSources.ts +186 -0
- package/src/control/common/flowDecoders.ts +153 -0
- package/src/control/common/flowInspection.ts +181 -0
- package/src/control/common/flowNotifications.ts +37 -0
- package/src/control/common/liveDetails.ts +124 -0
- package/src/control/common/mcp.ts +241 -0
- package/src/control/common/mcpConformance.ts +142 -0
- package/src/control/common/providerAccess.ts +28 -0
- package/src/control/common/providerIconSprite.ts +42 -0
- package/src/control/common/publicationDecoders.ts +98 -0
- package/src/control/common/random.ts +16 -0
- package/src/control/common/requests.ts +112 -0
- package/src/control/common/resultQuery.ts +8 -0
- package/src/control/common/results.ts +176 -0
- package/src/control/common/revisionDecoders.ts +52 -0
- package/src/control/common/runDecoders.ts +240 -0
- package/src/control/common/triggerCatalog.ts +89 -0
- package/src/control/common/triggerDecoders.ts +175 -0
- package/src/decision/common/decision.ts +168 -0
- package/src/event-source/common/catalog.generated.json +65 -0
- package/src/event-source/common/definition.ts +66 -0
- package/src/event-source/common/index.ts +99 -0
- package/src/execution/common/checkpoint.ts +311 -0
- package/src/execution/common/dependencies.ts +440 -0
- package/src/execution/common/engineContract.ts +84 -0
- package/src/execution/common/events.ts +331 -0
- package/src/execution/common/node-execution.ts +469 -0
- package/src/execution/common/runLifecycle.ts +250 -0
- package/src/execution/common/runtime.ts +563 -0
- package/src/execution/common/scheduler.ts +697 -0
- package/src/execution/common/wait.ts +36 -0
- package/src/flow/common/agent.ts +305 -0
- package/src/flow/common/authoring.ts +30 -0
- package/src/flow/common/change.ts +1037 -0
- package/src/flow/common/changeSchema.ts +792 -0
- package/src/flow/common/codePermissions.ts +2 -0
- package/src/flow/common/condition.ts +265 -0
- package/src/flow/common/connectionUsage.ts +131 -0
- package/src/flow/common/edgeChanges.ts +35 -0
- package/src/flow/common/encoding.ts +437 -0
- package/src/flow/common/errorHandling.ts +34 -0
- package/src/flow/common/graph.ts +898 -0
- package/src/flow/common/inputValue.ts +16 -0
- package/src/flow/common/json.ts +8 -0
- package/src/flow/common/moduleChanges.ts +31 -0
- package/src/flow/common/modules.ts +292 -0
- package/src/flow/common/nodeChanges.ts +762 -0
- package/src/flow/common/portChanges.ts +36 -0
- package/src/flow/common/promptTemplate.ts +15 -0
- package/src/flow/common/retry.ts +20 -0
- package/src/flow/common/schema.ts +162 -0
- package/src/flow/common/schemaCompare.ts +176 -0
- package/src/flow/common/schemaComparer.ts +178 -0
- package/src/flow/common/schemaKeywords.ts +53 -0
- package/src/flow/common/semantics.ts +531 -0
- package/src/flow/common/sourceField.ts +35 -0
- package/src/flow/common/triggerScheduleSchema.ts +8 -0
- package/src/flow/common/wait.ts +30 -0
- package/src/flow/common/webhookMethod.ts +7 -0
- package/src/flow/common/webhookResponse.ts +71 -0
- package/src/flow/common/workflowFile.ts +97 -0
- package/src/http/common/authBindings.ts +12 -0
- package/src/http/common/headers.ts +5 -0
- package/src/http/common/httpRequest.ts +251 -0
- package/src/json-schema-subset/checker/array.ts +142 -0
- package/src/json-schema-subset/checker/cache.ts +57 -0
- package/src/json-schema-subset/checker/checker.ts +230 -0
- package/src/json-schema-subset/checker/enumAndConst.ts +113 -0
- package/src/json-schema-subset/checker/equals.ts +93 -0
- package/src/json-schema-subset/checker/numeric/checker.ts +50 -0
- package/src/json-schema-subset/checker/numeric/float.ts +121 -0
- package/src/json-schema-subset/checker/numeric/index.ts +1 -0
- package/src/json-schema-subset/checker/numeric/integer.ts +119 -0
- package/src/json-schema-subset/checker/numeric/integerNormalizer.ts +72 -0
- package/src/json-schema-subset/checker/object.ts +354 -0
- package/src/json-schema-subset/checker/range.ts +91 -0
- package/src/json-schema-subset/checker/string.ts +60 -0
- package/src/json-schema-subset/checker/tools/index.ts +3 -0
- package/src/json-schema-subset/checker/tools/mark.ts +82 -0
- package/src/json-schema-subset/checker/tools/quantum.ts +106 -0
- package/src/json-schema-subset/checker/tools/range.ts +210 -0
- package/src/json-schema-subset/checker/validator.ts +23 -0
- package/src/json-schema-subset/compiler/array.ts +163 -0
- package/src/json-schema-subset/compiler/combination.ts +109 -0
- package/src/json-schema-subset/compiler/common.ts +99 -0
- package/src/json-schema-subset/compiler/compiler.ts +188 -0
- package/src/json-schema-subset/compiler/enumAndConst.ts +75 -0
- package/src/json-schema-subset/compiler/index.ts +11 -0
- package/src/json-schema-subset/compiler/object.ts +411 -0
- package/src/json-schema-subset/compiler/primitive.ts +144 -0
- package/src/json-schema-subset/compiler/utils.ts +24 -0
- package/src/json-schema-subset/compiler/wrapper.ts +192 -0
- package/src/json-schema-subset/error.ts +55 -0
- package/src/json-schema-subset/expression/calculator.ts +442 -0
- package/src/json-schema-subset/expression/combination.ts +49 -0
- package/src/json-schema-subset/expression/expression.ts +191 -0
- package/src/json-schema-subset/expression/index.ts +25 -0
- package/src/json-schema-subset/expression/result.ts +88 -0
- package/src/json-schema-subset/expression/types.ts +36 -0
- package/src/json-schema-subset/extends/extendsContext.ts +89 -0
- package/src/json-schema-subset/extends/index.ts +2 -0
- package/src/json-schema-subset/extends/types.ts +12 -0
- package/src/json-schema-subset/global.ts +60 -0
- package/src/json-schema-subset/index.ts +8 -0
- package/src/json-schema-subset/preprocessing.ts +74 -0
- package/src/json-schema-subset/types.ts +8 -0
- package/src/json-schema-subset/utils.ts +95 -0
- package/src/localization/common/languages.ts +118 -0
- package/src/localization/common/timeZone.ts +25 -0
- package/src/openapi/common/openapi.ts +459 -0
- package/src/trigger/common/config.ts +56 -0
- package/src/trigger/common/configOptions.ts +15 -0
- package/src/trigger/common/configSchema.ts +8 -0
- package/src/trigger/common/contract.ts +132 -0
- package/src/trigger/common/cron.ts +151 -0
- package/src/trigger/common/integration.ts +498 -0
- package/src/trigger/common/poll.ts +187 -0
- package/src/trigger/common/webhook.ts +413 -0
- package/src/trigger/providers/airtable/locales/fr.json +18 -0
- package/src/trigger/providers/airtable/locales/ja.json +18 -0
- package/src/trigger/providers/airtable/locales/ko.json +18 -0
- package/src/trigger/providers/airtable/locales/ru.json +18 -0
- package/src/trigger/providers/airtable/locales/zh-CN.json +18 -0
- package/src/trigger/providers/airtable/locales/zh-TW.json +18 -0
- package/src/trigger/providers/asana/locales/fr.json +15 -0
- package/src/trigger/providers/asana/locales/ja.json +15 -0
- package/src/trigger/providers/asana/locales/ko.json +15 -0
- package/src/trigger/providers/asana/locales/ru.json +15 -0
- package/src/trigger/providers/asana/locales/zh-CN.json +15 -0
- package/src/trigger/providers/asana/locales/zh-TW.json +15 -0
- package/src/trigger/providers/calendly/locales/fr.json +16 -0
- package/src/trigger/providers/calendly/locales/ja.json +16 -0
- package/src/trigger/providers/calendly/locales/ko.json +16 -0
- package/src/trigger/providers/calendly/locales/ru.json +16 -0
- package/src/trigger/providers/calendly/locales/zh-CN.json +16 -0
- package/src/trigger/providers/calendly/locales/zh-TW.json +16 -0
- package/src/trigger/providers/catalog.generated.json +4996 -0
- package/src/trigger/providers/clickup/locales/fr.json +16 -0
- package/src/trigger/providers/clickup/locales/ja.json +16 -0
- package/src/trigger/providers/clickup/locales/ko.json +16 -0
- package/src/trigger/providers/clickup/locales/ru.json +16 -0
- package/src/trigger/providers/clickup/locales/zh-CN.json +16 -0
- package/src/trigger/providers/clickup/locales/zh-TW.json +16 -0
- package/src/trigger/providers/definitions.ts +19 -0
- package/src/trigger/providers/feishu/locales/fr.json +20 -0
- package/src/trigger/providers/feishu/locales/ja.json +20 -0
- package/src/trigger/providers/feishu/locales/ko.json +20 -0
- package/src/trigger/providers/feishu/locales/ru.json +20 -0
- package/src/trigger/providers/feishu/locales/zh-CN.json +20 -0
- package/src/trigger/providers/feishu/locales/zh-TW.json +20 -0
- package/src/trigger/providers/fieldDescriptions.ts +392 -0
- package/src/trigger/providers/fieldLabels.ts +256 -0
- package/src/trigger/providers/fireflies/locales/fr.json +17 -0
- package/src/trigger/providers/fireflies/locales/ja.json +17 -0
- package/src/trigger/providers/fireflies/locales/ko.json +17 -0
- package/src/trigger/providers/fireflies/locales/ru.json +17 -0
- package/src/trigger/providers/fireflies/locales/zh-CN.json +17 -0
- package/src/trigger/providers/fireflies/locales/zh-TW.json +17 -0
- package/src/trigger/providers/github/locales/fr.json +30 -0
- package/src/trigger/providers/github/locales/ja.json +30 -0
- package/src/trigger/providers/github/locales/ko.json +30 -0
- package/src/trigger/providers/github/locales/ru.json +30 -0
- package/src/trigger/providers/github/locales/zh-CN.json +30 -0
- package/src/trigger/providers/github/locales/zh-TW.json +30 -0
- package/src/trigger/providers/gitlab/locales/fr.json +18 -0
- package/src/trigger/providers/gitlab/locales/ja.json +18 -0
- package/src/trigger/providers/gitlab/locales/ko.json +18 -0
- package/src/trigger/providers/gitlab/locales/ru.json +18 -0
- package/src/trigger/providers/gitlab/locales/zh-CN.json +18 -0
- package/src/trigger/providers/gitlab/locales/zh-TW.json +18 -0
- package/src/trigger/providers/gmail/locales/fr.json +18 -0
- package/src/trigger/providers/gmail/locales/ja.json +18 -0
- package/src/trigger/providers/gmail/locales/ko.json +18 -0
- package/src/trigger/providers/gmail/locales/ru.json +18 -0
- package/src/trigger/providers/gmail/locales/zh-CN.json +18 -0
- package/src/trigger/providers/gmail/locales/zh-TW.json +18 -0
- package/src/trigger/providers/google-calendar/locales/fr.json +15 -0
- package/src/trigger/providers/google-calendar/locales/ja.json +15 -0
- package/src/trigger/providers/google-calendar/locales/ko.json +15 -0
- package/src/trigger/providers/google-calendar/locales/ru.json +15 -0
- package/src/trigger/providers/google-calendar/locales/zh-CN.json +15 -0
- package/src/trigger/providers/google-calendar/locales/zh-TW.json +15 -0
- package/src/trigger/providers/google-drive/locales/fr.json +48 -0
- package/src/trigger/providers/google-drive/locales/ja.json +48 -0
- package/src/trigger/providers/google-drive/locales/ko.json +48 -0
- package/src/trigger/providers/google-drive/locales/ru.json +48 -0
- package/src/trigger/providers/google-drive/locales/zh-CN.json +48 -0
- package/src/trigger/providers/google-drive/locales/zh-TW.json +48 -0
- package/src/trigger/providers/google-sheets/locales/fr.json +19 -0
- package/src/trigger/providers/google-sheets/locales/ja.json +19 -0
- package/src/trigger/providers/google-sheets/locales/ko.json +19 -0
- package/src/trigger/providers/google-sheets/locales/ru.json +19 -0
- package/src/trigger/providers/google-sheets/locales/zh-CN.json +19 -0
- package/src/trigger/providers/google-sheets/locales/zh-TW.json +19 -0
- package/src/trigger/providers/intercom/locales/fr.json +17 -0
- package/src/trigger/providers/intercom/locales/ja.json +17 -0
- package/src/trigger/providers/intercom/locales/ko.json +17 -0
- package/src/trigger/providers/intercom/locales/ru.json +17 -0
- package/src/trigger/providers/intercom/locales/zh-CN.json +17 -0
- package/src/trigger/providers/intercom/locales/zh-TW.json +17 -0
- package/src/trigger/providers/jira/locales/fr.json +17 -0
- package/src/trigger/providers/jira/locales/ja.json +17 -0
- package/src/trigger/providers/jira/locales/ko.json +17 -0
- package/src/trigger/providers/jira/locales/ru.json +17 -0
- package/src/trigger/providers/jira/locales/zh-CN.json +17 -0
- package/src/trigger/providers/jira/locales/zh-TW.json +17 -0
- package/src/trigger/providers/linear/locales/fr.json +13 -0
- package/src/trigger/providers/linear/locales/ja.json +13 -0
- package/src/trigger/providers/linear/locales/ko.json +13 -0
- package/src/trigger/providers/linear/locales/ru.json +13 -0
- package/src/trigger/providers/linear/locales/zh-CN.json +13 -0
- package/src/trigger/providers/linear/locales/zh-TW.json +13 -0
- package/src/trigger/providers/locales/fr.ts +71 -0
- package/src/trigger/providers/locales/ja.ts +71 -0
- package/src/trigger/providers/locales/ko.ts +71 -0
- package/src/trigger/providers/locales/ru.ts +71 -0
- package/src/trigger/providers/locales/zh-CN.ts +71 -0
- package/src/trigger/providers/locales/zh-TW.ts +71 -0
- package/src/trigger/providers/localization.ts +59 -0
- package/src/trigger/providers/notion/locales/fr.json +16 -0
- package/src/trigger/providers/notion/locales/ja.json +16 -0
- package/src/trigger/providers/notion/locales/ko.json +16 -0
- package/src/trigger/providers/notion/locales/ru.json +16 -0
- package/src/trigger/providers/notion/locales/zh-CN.json +16 -0
- package/src/trigger/providers/notion/locales/zh-TW.json +16 -0
- package/src/trigger/providers/one-drive/locales/fr.json +16 -0
- package/src/trigger/providers/one-drive/locales/ja.json +16 -0
- package/src/trigger/providers/one-drive/locales/ko.json +16 -0
- package/src/trigger/providers/one-drive/locales/ru.json +16 -0
- package/src/trigger/providers/one-drive/locales/zh-CN.json +16 -0
- package/src/trigger/providers/one-drive/locales/zh-TW.json +16 -0
- package/src/trigger/providers/outlook/locales/fr.json +18 -0
- package/src/trigger/providers/outlook/locales/ja.json +18 -0
- package/src/trigger/providers/outlook/locales/ko.json +18 -0
- package/src/trigger/providers/outlook/locales/ru.json +18 -0
- package/src/trigger/providers/outlook/locales/zh-CN.json +18 -0
- package/src/trigger/providers/outlook/locales/zh-TW.json +18 -0
- package/src/trigger/providers/pandadoc/locales/fr.json +12 -0
- package/src/trigger/providers/pandadoc/locales/ja.json +12 -0
- package/src/trigger/providers/pandadoc/locales/ko.json +12 -0
- package/src/trigger/providers/pandadoc/locales/ru.json +12 -0
- package/src/trigger/providers/pandadoc/locales/zh-CN.json +12 -0
- package/src/trigger/providers/pandadoc/locales/zh-TW.json +12 -0
- package/src/trigger/providers/pipedrive/locales/fr.json +15 -0
- package/src/trigger/providers/pipedrive/locales/ja.json +15 -0
- package/src/trigger/providers/pipedrive/locales/ko.json +15 -0
- package/src/trigger/providers/pipedrive/locales/ru.json +15 -0
- package/src/trigger/providers/pipedrive/locales/zh-CN.json +15 -0
- package/src/trigger/providers/pipedrive/locales/zh-TW.json +15 -0
- package/src/trigger/providers/remote.ts +163 -0
- package/src/trigger/providers/resend/locales/fr.json +16 -0
- package/src/trigger/providers/resend/locales/ja.json +16 -0
- package/src/trigger/providers/resend/locales/ko.json +16 -0
- package/src/trigger/providers/resend/locales/ru.json +16 -0
- package/src/trigger/providers/resend/locales/zh-CN.json +16 -0
- package/src/trigger/providers/resend/locales/zh-TW.json +16 -0
- package/src/trigger/providers/sentry/locales/fr.json +19 -0
- package/src/trigger/providers/sentry/locales/ja.json +19 -0
- package/src/trigger/providers/sentry/locales/ko.json +19 -0
- package/src/trigger/providers/sentry/locales/ru.json +19 -0
- package/src/trigger/providers/sentry/locales/zh-CN.json +19 -0
- package/src/trigger/providers/sentry/locales/zh-TW.json +19 -0
- package/src/trigger/providers/shopify/locales/fr.json +18 -0
- package/src/trigger/providers/shopify/locales/ja.json +18 -0
- package/src/trigger/providers/shopify/locales/ko.json +18 -0
- package/src/trigger/providers/shopify/locales/ru.json +18 -0
- package/src/trigger/providers/shopify/locales/zh-CN.json +18 -0
- package/src/trigger/providers/shopify/locales/zh-TW.json +18 -0
- package/src/trigger/providers/slack/locales/fr.json +18 -0
- package/src/trigger/providers/slack/locales/ja.json +18 -0
- package/src/trigger/providers/slack/locales/ko.json +18 -0
- package/src/trigger/providers/slack/locales/ru.json +18 -0
- package/src/trigger/providers/slack/locales/zh-CN.json +18 -0
- package/src/trigger/providers/slack/locales/zh-TW.json +18 -0
- package/src/trigger/providers/slackbot/locales/fr.json +23 -0
- package/src/trigger/providers/slackbot/locales/ja.json +23 -0
- package/src/trigger/providers/slackbot/locales/ko.json +23 -0
- package/src/trigger/providers/slackbot/locales/ru.json +23 -0
- package/src/trigger/providers/slackbot/locales/zh-CN.json +23 -0
- package/src/trigger/providers/slackbot/locales/zh-TW.json +23 -0
- package/src/trigger/providers/source-events.ts +25 -0
- package/src/trigger/providers/stripe/locales/fr.json +17 -0
- package/src/trigger/providers/stripe/locales/ja.json +17 -0
- package/src/trigger/providers/stripe/locales/ko.json +17 -0
- package/src/trigger/providers/stripe/locales/ru.json +17 -0
- package/src/trigger/providers/stripe/locales/zh-CN.json +17 -0
- package/src/trigger/providers/stripe/locales/zh-TW.json +17 -0
- package/src/trigger/providers/tally/locales/fr.json +12 -0
- package/src/trigger/providers/tally/locales/ja.json +12 -0
- package/src/trigger/providers/tally/locales/ko.json +12 -0
- package/src/trigger/providers/tally/locales/ru.json +12 -0
- package/src/trigger/providers/tally/locales/zh-CN.json +12 -0
- package/src/trigger/providers/tally/locales/zh-TW.json +12 -0
- package/src/trigger/providers/telegram/locales/fr.json +17 -0
- package/src/trigger/providers/telegram/locales/ja.json +17 -0
- package/src/trigger/providers/telegram/locales/ko.json +17 -0
- package/src/trigger/providers/telegram/locales/ru.json +17 -0
- package/src/trigger/providers/telegram/locales/zh-CN.json +17 -0
- package/src/trigger/providers/telegram/locales/zh-TW.json +17 -0
- package/src/trigger/providers/typeform/locales/fr.json +12 -0
- package/src/trigger/providers/typeform/locales/ja.json +12 -0
- package/src/trigger/providers/typeform/locales/ko.json +12 -0
- package/src/trigger/providers/typeform/locales/ru.json +12 -0
- package/src/trigger/providers/typeform/locales/zh-CN.json +12 -0
- package/src/trigger/providers/typeform/locales/zh-TW.json +12 -0
- package/src/trigger/providers/vercel/locales/fr.json +18 -0
- package/src/trigger/providers/vercel/locales/ja.json +18 -0
- package/src/trigger/providers/vercel/locales/ko.json +18 -0
- package/src/trigger/providers/vercel/locales/ru.json +18 -0
- package/src/trigger/providers/vercel/locales/zh-CN.json +18 -0
- package/src/trigger/providers/vercel/locales/zh-TW.json +18 -0
- package/src/trigger/providers/woocommerce/locales/fr.json +19 -0
- package/src/trigger/providers/woocommerce/locales/ja.json +19 -0
- package/src/trigger/providers/woocommerce/locales/ko.json +19 -0
- package/src/trigger/providers/woocommerce/locales/ru.json +19 -0
- package/src/trigger/providers/woocommerce/locales/zh-CN.json +19 -0
- package/src/trigger/providers/woocommerce/locales/zh-TW.json +19 -0
- package/src/trigger/providers/zendesk/locales/fr.json +15 -0
- package/src/trigger/providers/zendesk/locales/ja.json +15 -0
- package/src/trigger/providers/zendesk/locales/ko.json +15 -0
- package/src/trigger/providers/zendesk/locales/ru.json +15 -0
- package/src/trigger/providers/zendesk/locales/zh-CN.json +15 -0
- package/src/trigger/providers/zendesk/locales/zh-TW.json +15 -0
- package/src/trigger/providers/zoom/locales/fr.json +17 -0
- package/src/trigger/providers/zoom/locales/ja.json +17 -0
- package/src/trigger/providers/zoom/locales/ko.json +17 -0
- package/src/trigger/providers/zoom/locales/ru.json +17 -0
- package/src/trigger/providers/zoom/locales/zh-CN.json +17 -0
- package/src/trigger/providers/zoom/locales/zh-TW.json +17 -0
- package/src/types/index.ts +112 -0
- package/src/workflow/common/workflow.ts +273 -0
- package/dist/browser/lib-DrKav3HG.js +0 -11403
- /package/dist/{browser → common}/flow-authoring-edge.d.ts +0 -0
- /package/dist/{browser → common}/flow-authoring-module.d.ts +0 -0
- /package/dist/{browser → common}/flow-authoring.d.ts +0 -0
- /package/dist/{browser → common}/flow-input-value.d.ts +0 -0
- /package/dist/{browser → common}/webhook-method.d.ts +0 -0
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import type { JsonValue, Port, PortDefinition } from '../index.js';
|
|
2
2
|
export { fixedInputValue, inputValue, inputValues } from './flow-input-value.js';
|
|
3
|
-
import type { RetryConfiguration } from '
|
|
3
|
+
import type { RetryConfiguration } from './flow-retry.js';
|
|
4
4
|
import type { WebhookMethod } from './webhook-method.js';
|
|
5
5
|
import { currentFlowModelVersion } from './flow-change-schema.js';
|
|
6
6
|
export { changeOperationsSchema, currentFlowModelVersion, decodeChangeOperations } from './flow-change-schema.js';
|
|
7
|
-
export type { RetryConfiguration } from '
|
|
8
|
-
export { supportsNodeRetry } from '
|
|
9
|
-
export { nodeSystemOutputPorts, supportsNodeErrorHandling, nodeErrorSchema } from '
|
|
10
|
-
export type { NodeErrorData } from '
|
|
7
|
+
export type { RetryConfiguration } from './flow-retry.js';
|
|
8
|
+
export { supportsNodeRetry } from './flow-retry.js';
|
|
9
|
+
export { nodeSystemOutputPorts, supportsNodeErrorHandling, nodeErrorSchema } from './flow-errorHandling.js';
|
|
10
|
+
export type { NodeErrorData } from './flow-errorHandling.js';
|
|
11
11
|
export type { WebhookMethod };
|
|
12
12
|
export type { JsonValue, Port, PortDefinition } from '../index.js';
|
|
13
|
-
export { isSchemaKeyword } from '
|
|
14
|
-
export type { SchemaKeyword, SchemaMismatch } from '
|
|
13
|
+
export { isSchemaKeyword } from './flow-schemaKeywords.js';
|
|
14
|
+
export type { SchemaKeyword, SchemaMismatch } from './flow-schemaKeywords.js';
|
|
15
15
|
export declare const resourceNameMaxLength = 80;
|
|
16
16
|
export type ResourceNameIssue = 'controlCharacter' | 'empty' | 'specialCharacter' | 'tooLong';
|
|
17
17
|
export declare function resourceNameIssue(value: string): ResourceNameIssue | undefined;
|
|
@@ -113,7 +113,7 @@ export interface ConditionNode extends GraphNodeBase {
|
|
|
113
113
|
readonly matchMode: 'first' | 'all';
|
|
114
114
|
readonly kind: 'condition';
|
|
115
115
|
}
|
|
116
|
-
export type ManagedTaskExecutor = import('
|
|
116
|
+
export type ManagedTaskExecutor = import('./http-request.js').HttpRequestExecutor | import('./workflow.js').WorkflowExecutor | import('./decision.js').DecisionExecutor | import('./openapi.js').OpenApiExecutor | {
|
|
117
117
|
readonly kind: 'connector';
|
|
118
118
|
readonly action: string;
|
|
119
119
|
readonly connectionId?: string;
|
|
@@ -147,17 +147,37 @@ export type AgentInput = {
|
|
|
147
147
|
} | {
|
|
148
148
|
readonly kind: 'model';
|
|
149
149
|
};
|
|
150
|
-
|
|
150
|
+
interface AgentToolBase {
|
|
151
151
|
readonly id: string;
|
|
152
152
|
readonly name: string;
|
|
153
153
|
readonly description: string;
|
|
154
|
-
readonly action: string;
|
|
155
|
-
readonly connectionId?: string;
|
|
156
154
|
readonly approval: boolean;
|
|
157
155
|
readonly inputs: readonly (InputPort & {
|
|
158
156
|
readonly source: AgentInput;
|
|
159
157
|
})[];
|
|
160
158
|
}
|
|
159
|
+
export interface AgentConnectorTool extends AgentToolBase {
|
|
160
|
+
readonly kind?: 'connector';
|
|
161
|
+
readonly action: string;
|
|
162
|
+
readonly connectionId?: string;
|
|
163
|
+
}
|
|
164
|
+
export interface WorkflowCapability {
|
|
165
|
+
readonly kind: 'workflow';
|
|
166
|
+
readonly name: string;
|
|
167
|
+
readonly flowId: string;
|
|
168
|
+
readonly revisionId: string;
|
|
169
|
+
readonly inputs: readonly Port[];
|
|
170
|
+
readonly outputs: readonly Port[] | null;
|
|
171
|
+
}
|
|
172
|
+
export interface AgentWorkflowTool extends AgentToolBase, Omit<WorkflowCapability, 'inputs'> {
|
|
173
|
+
readonly action?: never;
|
|
174
|
+
readonly connectionId?: never;
|
|
175
|
+
}
|
|
176
|
+
export type AgentTool = AgentConnectorTool | AgentWorkflowTool;
|
|
177
|
+
export type TaskCapability = ConnectorCapability | WorkflowCapability;
|
|
178
|
+
export declare const workflowToolNamePattern: RegExp;
|
|
179
|
+
export declare function workflowToolNameIssue(name: string, otherNames?: Iterable<string>): 'invalid' | 'duplicate' | undefined;
|
|
180
|
+
export declare function decodeTaskCapabilities(value: unknown): readonly TaskCapability[];
|
|
161
181
|
export interface ConnectorAccessCapability {
|
|
162
182
|
readonly actionHints?: readonly string[];
|
|
163
183
|
readonly connectionHints?: readonly {
|
|
@@ -195,7 +215,7 @@ interface TaskDefinitionBase {
|
|
|
195
215
|
readonly outputs: readonly (Port | Group)[];
|
|
196
216
|
}
|
|
197
217
|
export interface InlineTaskDefinition extends TaskDefinitionBase {
|
|
198
|
-
readonly capabilities?: readonly
|
|
218
|
+
readonly capabilities?: readonly TaskCapability[];
|
|
199
219
|
readonly moduleId: string;
|
|
200
220
|
}
|
|
201
221
|
export interface ManagedTaskDefinition extends TaskDefinitionBase {
|
|
@@ -334,7 +354,7 @@ export interface CodeModule {
|
|
|
334
354
|
}
|
|
335
355
|
export interface RevisionContent {
|
|
336
356
|
readonly document: FlowDocument;
|
|
337
|
-
readonly modelVersion: 2 | 4 | 5 | 6 | 7 | 8 | 9 | typeof currentFlowModelVersion;
|
|
357
|
+
readonly modelVersion: 2 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | typeof currentFlowModelVersion;
|
|
338
358
|
readonly modules: Readonly<Record<string, CodeModule>>;
|
|
339
359
|
}
|
|
340
360
|
export interface GraphEdge {
|
|
@@ -354,10 +374,10 @@ export type ChangeOperation = {
|
|
|
354
374
|
readonly before: GraphNode;
|
|
355
375
|
readonly node: GraphNode;
|
|
356
376
|
} | {
|
|
357
|
-
readonly before?: readonly
|
|
377
|
+
readonly before?: readonly TaskCapability[];
|
|
358
378
|
readonly kind: 'graph.node.task.capabilities.set';
|
|
359
379
|
readonly nodeId: string;
|
|
360
|
-
readonly value?: readonly
|
|
380
|
+
readonly value?: readonly TaskCapability[];
|
|
361
381
|
} | {
|
|
362
382
|
readonly kind: 'graph.trigger.sources.set';
|
|
363
383
|
readonly nodeId: string;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
//#region src/
|
|
1
|
+
//#region src/http/common/authBindings.ts
|
|
2
2
|
/** Never allow credentials to enter a Revision as literal node inputs. */
|
|
3
|
-
function
|
|
3
|
+
function assertHttpAuthBindings(document) {
|
|
4
4
|
for (const node of Object.values(document.graph.nodes)) {
|
|
5
|
-
if (node.kind != "task" || !("executor" in node.task) || node.task.executor.kind
|
|
6
|
-
for (const [handle, mapping] of Object.entries(node.inputs)) if (handle.startsWith("auth.") && mapping.kind == "value") throw new TypeError("
|
|
5
|
+
if (node.kind != "task" || !("executor" in node.task) || !["openapi", "http-request"].includes(node.task.executor.kind)) continue;
|
|
6
|
+
for (const [handle, mapping] of Object.entries(node.inputs)) if (handle.startsWith("auth.") && mapping.kind == "value") throw new TypeError("HTTP authentication accepts deployment variables and upstream outputs only.");
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
9
|
//#endregion
|
|
@@ -8779,6 +8779,52 @@ function answerSchema(question) {
|
|
|
8779
8779
|
required: Object.keys(properties)
|
|
8780
8780
|
};
|
|
8781
8781
|
}
|
|
8782
|
+
//#endregion
|
|
8783
|
+
//#region src/http/common/httpRequest.ts
|
|
8784
|
+
var parameterSchema = strictObject({
|
|
8785
|
+
mode: _enum(["fields", "object"]).default("fields"),
|
|
8786
|
+
names: array(string()).default([])
|
|
8787
|
+
});
|
|
8788
|
+
var httpRequestExecutorSchema = strictObject({
|
|
8789
|
+
method: _enum([
|
|
8790
|
+
"GET",
|
|
8791
|
+
"POST",
|
|
8792
|
+
"PUT",
|
|
8793
|
+
"PATCH",
|
|
8794
|
+
"DELETE",
|
|
8795
|
+
"HEAD",
|
|
8796
|
+
"OPTIONS"
|
|
8797
|
+
]).default("GET"),
|
|
8798
|
+
query: parameterSchema.default({
|
|
8799
|
+
mode: "fields",
|
|
8800
|
+
names: []
|
|
8801
|
+
}),
|
|
8802
|
+
headers: parameterSchema.default({
|
|
8803
|
+
mode: "fields",
|
|
8804
|
+
names: []
|
|
8805
|
+
}),
|
|
8806
|
+
bodyFormat: _enum([
|
|
8807
|
+
"none",
|
|
8808
|
+
"json",
|
|
8809
|
+
"text",
|
|
8810
|
+
"form"
|
|
8811
|
+
]).default("none"),
|
|
8812
|
+
authentication: union([
|
|
8813
|
+
strictObject({ type: literal("none") }),
|
|
8814
|
+
strictObject({ type: _enum(["bearer", "basic"]) }),
|
|
8815
|
+
strictObject({
|
|
8816
|
+
type: literal("apiKey"),
|
|
8817
|
+
name: string(),
|
|
8818
|
+
in: _enum(["header", "query"])
|
|
8819
|
+
})
|
|
8820
|
+
]).default({ type: "none" }),
|
|
8821
|
+
responseFormat: _enum([
|
|
8822
|
+
"auto",
|
|
8823
|
+
"json",
|
|
8824
|
+
"text"
|
|
8825
|
+
]).default("auto"),
|
|
8826
|
+
statusPolicy: _enum(["success", "all"]).default("success")
|
|
8827
|
+
}).extend({ kind: literal("http-request") });
|
|
8782
8828
|
function checkJsonDepth(value, depth = 0) {
|
|
8783
8829
|
if (depth > 64) throw new TypeError("Value exceeds the maximum JSON depth.");
|
|
8784
8830
|
if (value != null && typeof value == "object") for (const child of Object.values(value)) checkJsonDepth(child, depth + 1);
|
|
@@ -8789,6 +8835,7 @@ var retryNodeTypes = [
|
|
|
8789
8835
|
"code",
|
|
8790
8836
|
"connector",
|
|
8791
8837
|
"openapi",
|
|
8838
|
+
"http-request",
|
|
8792
8839
|
"llm",
|
|
8793
8840
|
"decision"
|
|
8794
8841
|
];
|
|
@@ -8844,7 +8891,8 @@ var waitAutoContinueDraftSchema = discriminatedUnion("kind", [strictObject({
|
|
|
8844
8891
|
at: string(),
|
|
8845
8892
|
timezone: string().optional()
|
|
8846
8893
|
})]);
|
|
8847
|
-
|
|
8894
|
+
/** Static business configuration; the deployment owns the allowed wait lifetime. */
|
|
8895
|
+
var waitAutoContinueSchema = discriminatedUnion("kind", [waitAutoContinueDraftSchema.options[0].extend({ durationMs: number().int().positive().max(Number.MAX_SAFE_INTEGER) }), waitAutoContinueDraftSchema.options[1].extend({
|
|
8848
8896
|
at: datetime({ offset: true }),
|
|
8849
8897
|
timezone: string().refine(isTimeZone, "Select a valid IANA timezone.").optional()
|
|
8850
8898
|
})]);
|
|
@@ -8877,7 +8925,7 @@ var webhookResponseTimeout = {
|
|
|
8877
8925
|
}).jsonSchema;
|
|
8878
8926
|
//#endregion
|
|
8879
8927
|
//#region src/flow/common/changeSchema.ts
|
|
8880
|
-
var currentFlowModelVersion =
|
|
8928
|
+
var currentFlowModelVersion = 11;
|
|
8881
8929
|
var text = string();
|
|
8882
8930
|
var actionConnection = text.describe("Account selection: omit while unconfigured; use an account ID to select it; use \"\" to explicitly defer configuration. Deferred Actions fail if called; deferred Agent tools are excluded from the callable tool set. Not supported by Triggers.");
|
|
8883
8931
|
var json = json$1();
|
|
@@ -8917,7 +8965,7 @@ var ports = {
|
|
|
8917
8965
|
inputs: array(union([input, group])),
|
|
8918
8966
|
outputs: array(union([port, group]))
|
|
8919
8967
|
};
|
|
8920
|
-
var
|
|
8968
|
+
var connectorCapabilitySchema = union([
|
|
8921
8969
|
strictObject({
|
|
8922
8970
|
kind: literal("connector"),
|
|
8923
8971
|
action: text,
|
|
@@ -8949,6 +8997,15 @@ var capability = union([
|
|
|
8949
8997
|
})).optional()
|
|
8950
8998
|
})
|
|
8951
8999
|
]);
|
|
9000
|
+
var workflowCapabilitySchema = strictObject({
|
|
9001
|
+
kind: literal("workflow"),
|
|
9002
|
+
name: text,
|
|
9003
|
+
flowId: text,
|
|
9004
|
+
revisionId: text,
|
|
9005
|
+
inputs: array(port),
|
|
9006
|
+
outputs: array(port).nullable()
|
|
9007
|
+
});
|
|
9008
|
+
var capability = union([connectorCapabilitySchema, workflowCapabilitySchema]);
|
|
8952
9009
|
var inline = object({
|
|
8953
9010
|
...ports,
|
|
8954
9011
|
name: text,
|
|
@@ -8963,6 +9020,20 @@ var agentValue = union([object({
|
|
|
8963
9020
|
input: text
|
|
8964
9021
|
})]);
|
|
8965
9022
|
var agentInput = union([agentValue, object({ kind: literal("model") })]);
|
|
9023
|
+
var agentToolFields = {
|
|
9024
|
+
id: text,
|
|
9025
|
+
name: text,
|
|
9026
|
+
description: text,
|
|
9027
|
+
approval: boolean(),
|
|
9028
|
+
inputs: array(input.extend({ source: agentInput }))
|
|
9029
|
+
};
|
|
9030
|
+
var connectorAgentToolSchema = object({
|
|
9031
|
+
...agentToolFields,
|
|
9032
|
+
kind: literal("connector").optional(),
|
|
9033
|
+
action: text,
|
|
9034
|
+
connectionId: actionConnection.optional()
|
|
9035
|
+
});
|
|
9036
|
+
var workflowAgentToolSchema = workflowCapabilitySchema.extend(agentToolFields);
|
|
8966
9037
|
var decisionQuestion = discriminatedUnion("type", [
|
|
8967
9038
|
strictObject({
|
|
8968
9039
|
name: text,
|
|
@@ -9031,15 +9102,7 @@ var managedFields = object({
|
|
|
9031
9102
|
model: text,
|
|
9032
9103
|
prompt: text,
|
|
9033
9104
|
maxRounds: number(),
|
|
9034
|
-
tools: array(
|
|
9035
|
-
id: text,
|
|
9036
|
-
name: text,
|
|
9037
|
-
description: text,
|
|
9038
|
-
action: text,
|
|
9039
|
-
connectionId: actionConnection.optional(),
|
|
9040
|
-
approval: boolean(),
|
|
9041
|
-
inputs: array(input.extend({ source: agentInput }))
|
|
9042
|
-
})),
|
|
9105
|
+
tools: array(union([workflowAgentToolSchema, connectorAgentToolSchema])),
|
|
9043
9106
|
notification: object({
|
|
9044
9107
|
action: text,
|
|
9045
9108
|
connectionId: actionConnection.optional(),
|
|
@@ -9052,7 +9115,8 @@ var managedFields = object({
|
|
|
9052
9115
|
kind: literal("workflow"),
|
|
9053
9116
|
flowId: text,
|
|
9054
9117
|
revisionId: text
|
|
9055
|
-
})
|
|
9118
|
+
}),
|
|
9119
|
+
httpRequestExecutorSchema
|
|
9056
9120
|
])
|
|
9057
9121
|
});
|
|
9058
9122
|
var managed = managedFields.transform(limitDecisionTask);
|
|
@@ -9265,10 +9329,26 @@ var node = union([
|
|
|
9265
9329
|
})
|
|
9266
9330
|
})
|
|
9267
9331
|
]);
|
|
9268
|
-
|
|
9269
|
-
|
|
9270
|
-
|
|
9271
|
-
|
|
9332
|
+
/** Configuration schemas shared by the node authoring boundary. */
|
|
9333
|
+
var authoringDefinitionSchemas = {
|
|
9334
|
+
input,
|
|
9335
|
+
port,
|
|
9336
|
+
ports,
|
|
9337
|
+
condition: strictObject(condition),
|
|
9338
|
+
wait: strictObject(wait),
|
|
9339
|
+
waitAutoContinue: waitAutoContinueSchema,
|
|
9340
|
+
webhook: strictObject(webhook),
|
|
9341
|
+
schedule: triggerScheduleSchema,
|
|
9342
|
+
capabilities: array(capability),
|
|
9343
|
+
connector: managedFields.shape.executor.options[0].omit({ kind: true }).strict(),
|
|
9344
|
+
openapi: managedFields.shape.executor.options[1].omit({ kind: true }).strict(),
|
|
9345
|
+
decision: managedFields.shape.executor.options[2].omit({ kind: true }).strict(),
|
|
9346
|
+
llm: managedFields.shape.executor.options[3].omit({ kind: true }).strict(),
|
|
9347
|
+
agent: managedFields.shape.executor.options[4].omit({
|
|
9348
|
+
kind: true,
|
|
9349
|
+
notification: true
|
|
9350
|
+
}).strict()
|
|
9351
|
+
};
|
|
9272
9352
|
var edge = object({
|
|
9273
9353
|
source: text,
|
|
9274
9354
|
target: text,
|
|
@@ -9304,7 +9384,8 @@ var revision = object({
|
|
|
9304
9384
|
literal(7),
|
|
9305
9385
|
literal(8),
|
|
9306
9386
|
literal(9),
|
|
9307
|
-
literal(10)
|
|
9387
|
+
literal(10),
|
|
9388
|
+
literal(11)
|
|
9308
9389
|
]),
|
|
9309
9390
|
document,
|
|
9310
9391
|
modules: record$1(text, module)
|
|
@@ -9335,7 +9416,7 @@ function decodeRevisionContent(value) {
|
|
|
9335
9416
|
checkJsonDepth(value);
|
|
9336
9417
|
const content = revision.parse(value);
|
|
9337
9418
|
checkModelVersion(content);
|
|
9338
|
-
|
|
9419
|
+
assertHttpAuthBindings(content.document);
|
|
9339
9420
|
return content;
|
|
9340
9421
|
}
|
|
9341
9422
|
var shapes = {
|
|
@@ -9529,6 +9610,8 @@ function changeOperationsSchema(kind) {
|
|
|
9529
9610
|
return toJSONSchema(schema, { io: "input" });
|
|
9530
9611
|
}
|
|
9531
9612
|
function checkModelVersion(content) {
|
|
9613
|
+
if (content.modelVersion < 11 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind == "task" && "executor" in candidateNode.task && candidateNode.task.executor.kind == "http-request")) throw new TypeError("HTTP Request requires Flow model version 11.");
|
|
9614
|
+
if (content.modelVersion < 11 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind == "task" && ("moduleId" in candidateNode.task ? candidateNode.task.capabilities?.some((item) => item.kind == "workflow") : candidateNode.task.executor.kind == "agent" && candidateNode.task.executor.tools.some((item) => item.kind == "workflow")))) throw new TypeError("Workflow tools require Flow model version 11.");
|
|
9532
9615
|
if (content.modelVersion < 10 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind == "webhook" && (candidateNode.options?.responseBody != null || candidateNode.options?.responseStatusCodeOutput != null || candidateNode.options?.responseHeadersSource != null || candidateNode.options?.responseHeaderOutputs != null))) throw new TypeError("Dynamic Webhook responses require Flow model version 10.");
|
|
9533
9616
|
if (content.modelVersion < 9 && Object.values(content.document.graph.nodes).some((candidateNode) => "retry" in candidateNode && candidateNode.retry != null)) throw new TypeError("Node retries require Flow model version 9.");
|
|
9534
9617
|
if (content.modelVersion < 9 && Object.values(content.document.graph.nodes).some((candidateNode) => {
|
|
@@ -9648,6 +9731,24 @@ function validVariableName(value) {
|
|
|
9648
9731
|
function portsByHandle(ports) {
|
|
9649
9732
|
return Object.fromEntries(ports.flatMap((port) => "handle" in port ? [[port.handle, port]] : []));
|
|
9650
9733
|
}
|
|
9734
|
+
var workflowToolNamePattern = /^[A-Za-z][A-Za-z0-9_-]{0,63}$/;
|
|
9735
|
+
function workflowToolNameIssue(name, otherNames = []) {
|
|
9736
|
+
if (!workflowToolNamePattern.test(name)) return "invalid";
|
|
9737
|
+
for (const other of otherNames) if (other == name) return "duplicate";
|
|
9738
|
+
}
|
|
9739
|
+
function decodeTaskCapabilities(value) {
|
|
9740
|
+
if (!Array.isArray(value)) throw new TypeError("Task capabilities must be an array.");
|
|
9741
|
+
const parsed = authoringDefinitionSchemas.capabilities.parse(value);
|
|
9742
|
+
const connectors = decodeConnectorCapabilities(parsed.filter((item) => item.kind == "connector"));
|
|
9743
|
+
const names = /* @__PURE__ */ new Set();
|
|
9744
|
+
for (const item of parsed) {
|
|
9745
|
+
if (item.kind != "workflow") continue;
|
|
9746
|
+
if (workflowToolNameIssue(item.name, names)) throw new TypeError("Workflow tool names must be unique provider-compatible names.");
|
|
9747
|
+
names.add(item.name);
|
|
9748
|
+
}
|
|
9749
|
+
let connectorIndex = 0;
|
|
9750
|
+
return parsed.map((item) => item.kind == "connector" ? connectors[connectorIndex++] : item);
|
|
9751
|
+
}
|
|
9651
9752
|
function decodeConnectorCapabilities(value) {
|
|
9652
9753
|
if (!Array.isArray(value)) throw new TypeError("Connector capabilities must be an array.");
|
|
9653
9754
|
if (value.length == 0) return [];
|
|
@@ -9780,10 +9881,10 @@ function upgradeRevisionContent(content) {
|
|
|
9780
9881
|
function upgradeDecodedRevisionContent(content) {
|
|
9781
9882
|
const graph = content.document.graph;
|
|
9782
9883
|
const hasManual = Object.values(graph.nodes).some((node) => node.kind == "manual");
|
|
9783
|
-
if (!hasManual && content.modelVersion ==
|
|
9884
|
+
if (!hasManual && content.modelVersion == 11) return content;
|
|
9784
9885
|
return {
|
|
9785
9886
|
...content,
|
|
9786
|
-
modelVersion:
|
|
9887
|
+
modelVersion: 11,
|
|
9787
9888
|
document: {
|
|
9788
9889
|
...content.document,
|
|
9789
9890
|
graph: hasManual ? {
|
|
@@ -9830,7 +9931,7 @@ function invalid(message) {
|
|
|
9830
9931
|
throw new FlowChangeError(message);
|
|
9831
9932
|
}
|
|
9832
9933
|
function applyFlowChanges(content, operations) {
|
|
9833
|
-
const source = content.modelVersion !=
|
|
9934
|
+
const source = content.modelVersion != 11 || Object.values(content.document.graph.nodes).some((node) => node.kind == "manual") ? decodeRevisionContent(content) : content;
|
|
9834
9935
|
const document = { ...source.document };
|
|
9835
9936
|
const modules = { ...source.modules };
|
|
9836
9937
|
for (const operation of operations) switch (operation.kind) {
|
|
@@ -9944,7 +10045,7 @@ function applyFlowChanges(content, operations) {
|
|
|
9944
10045
|
const graph = document.graph;
|
|
9945
10046
|
if (!dequal(graph.nodes[operation.nodeId], operation.before)) invalid("The Node changed before this operation was applied.");
|
|
9946
10047
|
if (operation.node.kind != operation.before.kind) invalid("Replacing a Node cannot change its kind.");
|
|
9947
|
-
if (operation.node.kind == "task" && "moduleId" in operation.node.task && operation.node.task.capabilities !== void 0)
|
|
10048
|
+
if (operation.node.kind == "task" && "moduleId" in operation.node.task && operation.node.task.capabilities !== void 0) decodeTaskCapabilities(operation.node.task.capabilities);
|
|
9948
10049
|
const name = normalizeNodeName(operation.node.name ?? "");
|
|
9949
10050
|
const issue = nodeNameIssue(graph, operation.nodeId, name);
|
|
9950
10051
|
if (issue != null) invalid(`Node name is ${issue}.`);
|
|
@@ -9966,7 +10067,7 @@ function applyFlowChanges(content, operations) {
|
|
|
9966
10067
|
if (graph.nodes[operation.nodeId] != null) invalid("A Node with this ID already exists in the target graph.");
|
|
9967
10068
|
if (operation.node.kind == "error" && Object.values(graph.nodes).some((node) => node.kind == "error")) invalid("A graph can contain only one Flow Error node.");
|
|
9968
10069
|
if ((operation.node.kind == "manual" || operation.node.kind == "start") && Object.values(graph.nodes).some((node) => node.kind == "manual" || node.kind == "start")) invalid("A graph can contain only one Start Trigger.");
|
|
9969
|
-
if (operation.node.kind == "task" && "moduleId" in operation.node.task && operation.node.task.capabilities !== void 0)
|
|
10070
|
+
if (operation.node.kind == "task" && "moduleId" in operation.node.task && operation.node.task.capabilities !== void 0) decodeTaskCapabilities(operation.node.task.capabilities);
|
|
9970
10071
|
if (operation.node.name == null) invalid("A Node name cannot be empty.");
|
|
9971
10072
|
if (operation.node.kind == "outputs" && Object.values(graph.nodes).some((node) => node.kind == "outputs")) invalid("A graph can contain only one Outputs node.");
|
|
9972
10073
|
const name = normalizeNodeName(operation.node.name);
|
|
@@ -10065,7 +10166,7 @@ function applyFlowChanges(content, operations) {
|
|
|
10065
10166
|
if (!dequal(node.task.capabilities, operation.before)) invalid("The inline Task capabilities changed before this operation was applied.");
|
|
10066
10167
|
const task = { ...node.task };
|
|
10067
10168
|
if (operation.value === void 0) delete task.capabilities;
|
|
10068
|
-
else task.capabilities =
|
|
10169
|
+
else task.capabilities = decodeTaskCapabilities(operation.value);
|
|
10069
10170
|
Object.assign(document, { graph: {
|
|
10070
10171
|
...graph,
|
|
10071
10172
|
nodes: {
|
|
@@ -10275,12 +10376,12 @@ function applyFlowChanges(content, operations) {
|
|
|
10275
10376
|
break;
|
|
10276
10377
|
}
|
|
10277
10378
|
}
|
|
10278
|
-
|
|
10379
|
+
assertHttpAuthBindings(document);
|
|
10279
10380
|
return upgradeDecodedRevisionContent({
|
|
10280
10381
|
document,
|
|
10281
|
-
modelVersion:
|
|
10382
|
+
modelVersion: 11,
|
|
10282
10383
|
modules
|
|
10283
10384
|
});
|
|
10284
10385
|
}
|
|
10285
10386
|
//#endregion
|
|
10286
|
-
export { FlowChangeError, applyFlowChanges, changeOperationsSchema, currentFlowModelVersion, decodeChangeOperations, decodeConnectorCapabilities, fixedInputValue, inputValue, inputValues, isSchemaKeyword, isTriggerNode, nextNodeName, nodeErrorSchema, nodeNameIssue, nodeSystemOutputPorts, normalizeNodeName, portsByHandle, resourceNameIssue, resourceNameMaxLength, supportsNodeErrorHandling, supportsNodeRetry, upgradeManualTrigger, upgradeRevisionContent, validVariableName };
|
|
10387
|
+
export { FlowChangeError, applyFlowChanges, changeOperationsSchema, currentFlowModelVersion, decodeChangeOperations, decodeConnectorCapabilities, decodeTaskCapabilities, fixedInputValue, inputValue, inputValues, isSchemaKeyword, isTriggerNode, nextNodeName, nodeErrorSchema, nodeNameIssue, nodeSystemOutputPorts, normalizeNodeName, portsByHandle, resourceNameIssue, resourceNameMaxLength, supportsNodeErrorHandling, supportsNodeRetry, upgradeManualTrigger, upgradeRevisionContent, validVariableName, workflowToolNameIssue, workflowToolNamePattern };
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { CodeModule, FlowDocument, Graph, Group, InputMapping, InputPort, JsonValue, ManagedTaskDefinition, Port, RevisionContent, TriggerNode } from '@oomol-lab/open-flow/flow-change';
|
|
2
2
|
export * from './flow-workflowFile.js';
|
|
3
3
|
export { maxJsonDepth } from './flow-json.js';
|
|
4
|
-
export { decodeFlowDocument, decodeRevisionContent, upgradeWorkflowInterfaceDocument } from '
|
|
4
|
+
export { decodeFlowDocument, decodeRevisionContent, upgradeWorkflowInterfaceDocument } from './flow-change-schema.js';
|
|
5
5
|
export { upgradeRevisionContent } from '@oomol-lab/open-flow/flow-change';
|
|
6
6
|
export declare function canonicalJsonBytes(value: JsonValue): Uint8Array;
|
|
7
7
|
export declare function digestBytes(bytes: Uint8Array): Promise<string>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
//#region src/
|
|
1
|
+
//#region src/http/common/authBindings.ts
|
|
2
2
|
/** Never allow credentials to enter a Revision as literal node inputs. */
|
|
3
|
-
function
|
|
3
|
+
function assertHttpAuthBindings(document) {
|
|
4
4
|
for (const node of Object.values(document.graph.nodes)) {
|
|
5
|
-
if (node.kind != "task" || !("executor" in node.task) || node.task.executor.kind
|
|
6
|
-
for (const [handle, mapping] of Object.entries(node.inputs)) if (handle.startsWith("auth.") && mapping.kind == "value") throw new TypeError("
|
|
5
|
+
if (node.kind != "task" || !("executor" in node.task) || !["openapi", "http-request"].includes(node.task.executor.kind)) continue;
|
|
6
|
+
for (const [handle, mapping] of Object.entries(node.inputs)) if (handle.startsWith("auth.") && mapping.kind == "value") throw new TypeError("HTTP authentication accepts deployment variables and upstream outputs only.");
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
9
|
//#endregion
|
|
@@ -8551,6 +8551,52 @@ function answerSchema(question) {
|
|
|
8551
8551
|
};
|
|
8552
8552
|
}
|
|
8553
8553
|
//#endregion
|
|
8554
|
+
//#region src/http/common/httpRequest.ts
|
|
8555
|
+
var parameterSchema = strictObject({
|
|
8556
|
+
mode: _enum(["fields", "object"]).default("fields"),
|
|
8557
|
+
names: array(string()).default([])
|
|
8558
|
+
});
|
|
8559
|
+
var httpRequestExecutorSchema = strictObject({
|
|
8560
|
+
method: _enum([
|
|
8561
|
+
"GET",
|
|
8562
|
+
"POST",
|
|
8563
|
+
"PUT",
|
|
8564
|
+
"PATCH",
|
|
8565
|
+
"DELETE",
|
|
8566
|
+
"HEAD",
|
|
8567
|
+
"OPTIONS"
|
|
8568
|
+
]).default("GET"),
|
|
8569
|
+
query: parameterSchema.default({
|
|
8570
|
+
mode: "fields",
|
|
8571
|
+
names: []
|
|
8572
|
+
}),
|
|
8573
|
+
headers: parameterSchema.default({
|
|
8574
|
+
mode: "fields",
|
|
8575
|
+
names: []
|
|
8576
|
+
}),
|
|
8577
|
+
bodyFormat: _enum([
|
|
8578
|
+
"none",
|
|
8579
|
+
"json",
|
|
8580
|
+
"text",
|
|
8581
|
+
"form"
|
|
8582
|
+
]).default("none"),
|
|
8583
|
+
authentication: union([
|
|
8584
|
+
strictObject({ type: literal("none") }),
|
|
8585
|
+
strictObject({ type: _enum(["bearer", "basic"]) }),
|
|
8586
|
+
strictObject({
|
|
8587
|
+
type: literal("apiKey"),
|
|
8588
|
+
name: string(),
|
|
8589
|
+
in: _enum(["header", "query"])
|
|
8590
|
+
})
|
|
8591
|
+
]).default({ type: "none" }),
|
|
8592
|
+
responseFormat: _enum([
|
|
8593
|
+
"auto",
|
|
8594
|
+
"json",
|
|
8595
|
+
"text"
|
|
8596
|
+
]).default("auto"),
|
|
8597
|
+
statusPolicy: _enum(["success", "all"]).default("success")
|
|
8598
|
+
}).extend({ kind: literal("http-request") });
|
|
8599
|
+
//#endregion
|
|
8554
8600
|
//#region src/flow/common/json.ts
|
|
8555
8601
|
var maxJsonDepth = 64;
|
|
8556
8602
|
function checkJsonDepth(value, depth = 0) {
|
|
@@ -8678,7 +8724,7 @@ var ports = {
|
|
|
8678
8724
|
inputs: array(union([input, group])),
|
|
8679
8725
|
outputs: array(union([port, group]))
|
|
8680
8726
|
};
|
|
8681
|
-
var
|
|
8727
|
+
var connectorCapabilitySchema = union([
|
|
8682
8728
|
strictObject({
|
|
8683
8729
|
kind: literal("connector"),
|
|
8684
8730
|
action: text,
|
|
@@ -8710,6 +8756,15 @@ var capability = union([
|
|
|
8710
8756
|
})).optional()
|
|
8711
8757
|
})
|
|
8712
8758
|
]);
|
|
8759
|
+
var workflowCapabilitySchema = strictObject({
|
|
8760
|
+
kind: literal("workflow"),
|
|
8761
|
+
name: text,
|
|
8762
|
+
flowId: text,
|
|
8763
|
+
revisionId: text,
|
|
8764
|
+
inputs: array(port),
|
|
8765
|
+
outputs: array(port).nullable()
|
|
8766
|
+
});
|
|
8767
|
+
var capability = union([connectorCapabilitySchema, workflowCapabilitySchema]);
|
|
8713
8768
|
var inline = object({
|
|
8714
8769
|
...ports,
|
|
8715
8770
|
name: text,
|
|
@@ -8724,6 +8779,20 @@ var agentValue = union([object({
|
|
|
8724
8779
|
input: text
|
|
8725
8780
|
})]);
|
|
8726
8781
|
var agentInput = union([agentValue, object({ kind: literal("model") })]);
|
|
8782
|
+
var agentToolFields = {
|
|
8783
|
+
id: text,
|
|
8784
|
+
name: text,
|
|
8785
|
+
description: text,
|
|
8786
|
+
approval: boolean(),
|
|
8787
|
+
inputs: array(input.extend({ source: agentInput }))
|
|
8788
|
+
};
|
|
8789
|
+
var connectorAgentToolSchema = object({
|
|
8790
|
+
...agentToolFields,
|
|
8791
|
+
kind: literal("connector").optional(),
|
|
8792
|
+
action: text,
|
|
8793
|
+
connectionId: actionConnection.optional()
|
|
8794
|
+
});
|
|
8795
|
+
var workflowAgentToolSchema = workflowCapabilitySchema.extend(agentToolFields);
|
|
8727
8796
|
var decisionQuestion = discriminatedUnion("type", [
|
|
8728
8797
|
strictObject({
|
|
8729
8798
|
name: text,
|
|
@@ -8792,15 +8861,7 @@ var managedFields = object({
|
|
|
8792
8861
|
model: text,
|
|
8793
8862
|
prompt: text,
|
|
8794
8863
|
maxRounds: number(),
|
|
8795
|
-
tools: array(
|
|
8796
|
-
id: text,
|
|
8797
|
-
name: text,
|
|
8798
|
-
description: text,
|
|
8799
|
-
action: text,
|
|
8800
|
-
connectionId: actionConnection.optional(),
|
|
8801
|
-
approval: boolean(),
|
|
8802
|
-
inputs: array(input.extend({ source: agentInput }))
|
|
8803
|
-
})),
|
|
8864
|
+
tools: array(union([workflowAgentToolSchema, connectorAgentToolSchema])),
|
|
8804
8865
|
notification: object({
|
|
8805
8866
|
action: text,
|
|
8806
8867
|
connectionId: actionConnection.optional(),
|
|
@@ -8813,7 +8874,8 @@ var managedFields = object({
|
|
|
8813
8874
|
kind: literal("workflow"),
|
|
8814
8875
|
flowId: text,
|
|
8815
8876
|
revisionId: text
|
|
8816
|
-
})
|
|
8877
|
+
}),
|
|
8878
|
+
httpRequestExecutorSchema
|
|
8817
8879
|
])
|
|
8818
8880
|
});
|
|
8819
8881
|
var managed = managedFields.transform(limitDecisionTask);
|
|
@@ -9065,7 +9127,8 @@ var revision = object({
|
|
|
9065
9127
|
literal(7),
|
|
9066
9128
|
literal(8),
|
|
9067
9129
|
literal(9),
|
|
9068
|
-
literal(10)
|
|
9130
|
+
literal(10),
|
|
9131
|
+
literal(11)
|
|
9069
9132
|
]),
|
|
9070
9133
|
document,
|
|
9071
9134
|
modules: record$1(text, module)
|
|
@@ -9320,14 +9383,14 @@ function repairRevisionEnvelope(value) {
|
|
|
9320
9383
|
checkJsonDepth(value);
|
|
9321
9384
|
const envelopeSource = record(value);
|
|
9322
9385
|
if (envelopeSource.kind != "open-flow-flow-revision" || envelopeSource.version != 1) throw new TypeError("The value is not an Open Flow Revision envelope.");
|
|
9323
|
-
if (typeof envelopeSource.modelVersion == "number" && envelopeSource.modelVersion >
|
|
9386
|
+
if (typeof envelopeSource.modelVersion == "number" && envelopeSource.modelVersion > 11) throw new TypeError("The Flow model is newer than this package.");
|
|
9324
9387
|
let sourceDocument = record(envelopeSource.modelVersion == 1 || envelopeSource.modelVersion == 2 ? upgradeLegacyDocument(envelopeSource.document) : envelopeSource.document);
|
|
9325
9388
|
if (typeof envelopeSource.modelVersion == "number" && envelopeSource.modelVersion < 6) sourceDocument = upgradeTaskNodes(sourceDocument);
|
|
9326
9389
|
sourceDocument = record(normalizeDocument(sourceDocument));
|
|
9327
9390
|
const bindings = record(sourceDocument.bindings);
|
|
9328
9391
|
const sourceGraph = repairGraph(sourceDocument.graph, bindings);
|
|
9329
9392
|
return decodeRevisionContent({
|
|
9330
|
-
modelVersion:
|
|
9393
|
+
modelVersion: 11,
|
|
9331
9394
|
document: {
|
|
9332
9395
|
bindings: repairedEntries(sourceDocument.bindings, binding),
|
|
9333
9396
|
graph: sourceGraph
|
|
@@ -9343,7 +9406,7 @@ function decodeRevisionContent(value) {
|
|
|
9343
9406
|
checkJsonDepth(value);
|
|
9344
9407
|
const content = revision.parse(value);
|
|
9345
9408
|
checkModelVersion(content);
|
|
9346
|
-
|
|
9409
|
+
assertHttpAuthBindings(content.document);
|
|
9347
9410
|
return content;
|
|
9348
9411
|
}
|
|
9349
9412
|
function decodeRevisionEnvelope(value) {
|
|
@@ -9355,7 +9418,7 @@ function decodeRevisionEnvelope(value) {
|
|
|
9355
9418
|
} : value;
|
|
9356
9419
|
const content = envelope$1.parse(candidate);
|
|
9357
9420
|
checkModelVersion(content);
|
|
9358
|
-
|
|
9421
|
+
assertHttpAuthBindings(content.document);
|
|
9359
9422
|
return {
|
|
9360
9423
|
modelVersion: content.modelVersion,
|
|
9361
9424
|
document: content.document,
|
|
@@ -9529,6 +9592,8 @@ array(union([...new Map(Object.entries(shapes).map(([kind, shape]) => [kind, sha
|
|
|
9529
9592
|
...shape
|
|
9530
9593
|
})])).values()])).min(1);
|
|
9531
9594
|
function checkModelVersion(content) {
|
|
9595
|
+
if (content.modelVersion < 11 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind == "task" && "executor" in candidateNode.task && candidateNode.task.executor.kind == "http-request")) throw new TypeError("HTTP Request requires Flow model version 11.");
|
|
9596
|
+
if (content.modelVersion < 11 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind == "task" && ("moduleId" in candidateNode.task ? candidateNode.task.capabilities?.some((item) => item.kind == "workflow") : candidateNode.task.executor.kind == "agent" && candidateNode.task.executor.tools.some((item) => item.kind == "workflow")))) throw new TypeError("Workflow tools require Flow model version 11.");
|
|
9532
9597
|
if (content.modelVersion < 10 && Object.values(content.document.graph.nodes).some((candidateNode) => candidateNode.kind == "webhook" && (candidateNode.options?.responseBody != null || candidateNode.options?.responseStatusCodeOutput != null || candidateNode.options?.responseHeadersSource != null || candidateNode.options?.responseHeaderOutputs != null))) throw new TypeError("Dynamic Webhook responses require Flow model version 10.");
|
|
9533
9598
|
if (content.modelVersion < 9 && Object.values(content.document.graph.nodes).some((candidateNode) => "retry" in candidateNode && candidateNode.retry != null)) throw new TypeError("Node retries require Flow model version 9.");
|
|
9534
9599
|
if (content.modelVersion < 9 && Object.values(content.document.graph.nodes).some((candidateNode) => {
|
|
@@ -9584,10 +9649,10 @@ function upgradeRevisionContent(content) {
|
|
|
9584
9649
|
function upgradeDecodedRevisionContent(content) {
|
|
9585
9650
|
const graph = content.document.graph;
|
|
9586
9651
|
const hasManual = Object.values(graph.nodes).some((node) => node.kind == "manual");
|
|
9587
|
-
if (!hasManual && content.modelVersion ==
|
|
9652
|
+
if (!hasManual && content.modelVersion == 11) return content;
|
|
9588
9653
|
return {
|
|
9589
9654
|
...content,
|
|
9590
|
-
modelVersion:
|
|
9655
|
+
modelVersion: 11,
|
|
9591
9656
|
document: {
|
|
9592
9657
|
...content.document,
|
|
9593
9658
|
graph: hasManual ? {
|
|
@@ -9663,6 +9728,7 @@ function clearNodeConnections(graph, connectionId) {
|
|
|
9663
9728
|
return [id, node];
|
|
9664
9729
|
}
|
|
9665
9730
|
const capabilities = node.task.capabilities?.map((capability) => {
|
|
9731
|
+
if (capability.kind == "workflow") return capability;
|
|
9666
9732
|
if (!("mode" in capability)) {
|
|
9667
9733
|
if ("action" in capability) {
|
|
9668
9734
|
const { connectionId: selected, ...rest } = capability;
|
|
@@ -10158,7 +10224,7 @@ function revisionRepairKind(bytes) {
|
|
|
10158
10224
|
return;
|
|
10159
10225
|
}
|
|
10160
10226
|
const source = value;
|
|
10161
|
-
return typeof source.modelVersion == "number" && source.modelVersion <
|
|
10227
|
+
return typeof source.modelVersion == "number" && source.modelVersion < 11 ? "upgrade" : "repair";
|
|
10162
10228
|
}
|
|
10163
10229
|
function repairRevision(bytes) {
|
|
10164
10230
|
return repairRevisionEnvelope(revisionValue(bytes));
|