@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
package/LICENSE
CHANGED
|
@@ -1,3 +1,39 @@
|
|
|
1
|
+
# Open Flow License
|
|
2
|
+
|
|
3
|
+
Open Flow is licensed under a modified version of the Apache License 2.0, with the following
|
|
4
|
+
additional conditions:
|
|
5
|
+
|
|
6
|
+
1. Open Flow may be used commercially, including running it within your own organization,
|
|
7
|
+
deploying it for a client to use within that client's own organization, and embedding it in
|
|
8
|
+
your own products. A commercial license must be obtained from OOMOL when the condition below
|
|
9
|
+
applies:
|
|
10
|
+
|
|
11
|
+
a. Hosted workflow service: Unless explicitly authorized by OOMOL in writing, you may not
|
|
12
|
+
provide Open Flow, or a modified version of it, to third parties as a hosted or managed
|
|
13
|
+
service whose primary value is Open Flow's functionality, such as a workflow automation
|
|
14
|
+
platform, an integration platform, or an API that lets third parties create and run workflows.
|
|
15
|
+
|
|
16
|
+
Embedding Open Flow in a product whose primary value lies elsewhere, so that the product's
|
|
17
|
+
own users create and run workflows as part of using that product, is not a hosted workflow
|
|
18
|
+
service under this condition.
|
|
19
|
+
|
|
20
|
+
2. As a contributor, you agree that:
|
|
21
|
+
|
|
22
|
+
a. OOMOL may adjust the license of Open Flow to be more strict or more relaxed as it deems
|
|
23
|
+
necessary.
|
|
24
|
+
|
|
25
|
+
b. Your contributed code may be used for commercial purposes, including but not limited to
|
|
26
|
+
OOMOL's hosted services.
|
|
27
|
+
|
|
28
|
+
Apart from the specific conditions above, all other rights and restrictions follow the Apache
|
|
29
|
+
License 2.0. Its full text is included below and at
|
|
30
|
+
http://www.apache.org/licenses/LICENSE-2.0.
|
|
31
|
+
|
|
32
|
+
Open Flow releases previously published under the unmodified Apache License 2.0 remain
|
|
33
|
+
available under that license.
|
|
34
|
+
|
|
35
|
+
Copyright 2024-2026 OOMOL contributors
|
|
36
|
+
|
|
1
37
|
Apache License
|
|
2
38
|
Version 2.0, January 2004
|
|
3
39
|
http://www.apache.org/licenses/
|
package/NOTICE
CHANGED
|
@@ -1,6 +1,13 @@
|
|
|
1
1
|
Open Flow
|
|
2
2
|
Copyright 2024-2026 OOMOL contributors
|
|
3
3
|
|
|
4
|
+
Open Flow is licensed under the Open Flow License, a modified version of the Apache License
|
|
5
|
+
2.0 with additional conditions, except where otherwise noted. See LICENSE.
|
|
6
|
+
|
|
7
|
+
Releases previously published under the unmodified Apache License 2.0 remain available under
|
|
8
|
+
that license. Portions contributed under Apache License 2.0 remain subject to that license;
|
|
9
|
+
its full text is included in LICENSE.
|
|
10
|
+
|
|
4
11
|
This distribution includes third-party open source software.
|
|
5
12
|
Licenses for dependencies included in generated bundles are provided in dist/LICENSE.md.
|
|
6
13
|
|
package/README.md
CHANGED
|
@@ -42,3 +42,44 @@ The command uses process stdin/stdout/stderr and targets Bun 1.4.2 or newer.
|
|
|
42
42
|
Importing it does not execute the CLI. Bundle it into the host at build time;
|
|
43
43
|
runtime dependencies and the package version are included in the command entry.
|
|
44
44
|
Skill templates ship in this same package under `skills/open-flow/`.
|
|
45
|
+
|
|
46
|
+
## Public implementation sources
|
|
47
|
+
|
|
48
|
+
The package includes the original sources for its platform-neutral public entries and their
|
|
49
|
+
local dependencies under `src/`, matching this package version. Browser UI sources are excluded.
|
|
50
|
+
These files are for reading implementation logic; import the public package entries as usual.
|
|
51
|
+
Source paths are not public import APIs. Source maps and declaration maps are not included.
|
|
52
|
+
|
|
53
|
+
| Public entry | Source |
|
|
54
|
+
| --- | --- |
|
|
55
|
+
| `@oomol-lab/open-flow` (types) | [src/types/index.ts](src/types/index.ts) |
|
|
56
|
+
| `@oomol-lab/open-flow/connector-action` | [src/connector/common/actionSchema.ts](src/connector/common/actionSchema.ts) |
|
|
57
|
+
| `@oomol-lab/open-flow/connector-proxy` | [src/connector/common/proxy.ts](src/connector/common/proxy.ts) |
|
|
58
|
+
| `@oomol-lab/open-flow/control-api` | [src/control/common/api.ts](src/control/common/api.ts) |
|
|
59
|
+
| `@oomol-lab/open-flow/control-api-conformance` | [src/control/common/conformance.ts](src/control/common/conformance.ts) |
|
|
60
|
+
| `@oomol-lab/open-flow/cron-trigger` | [src/trigger/common/cron.ts](src/trigger/common/cron.ts) |
|
|
61
|
+
| `@oomol-lab/open-flow/event-source` | [src/event-source/common/index.ts](src/event-source/common/index.ts) |
|
|
62
|
+
| `@oomol-lab/open-flow/integration-trigger` | [src/trigger/common/integration.ts](src/trigger/common/integration.ts) |
|
|
63
|
+
| `@oomol-lab/open-flow/localization` | [src/localization/common/languages.ts](src/localization/common/languages.ts) |
|
|
64
|
+
| `@oomol-lab/open-flow/poll-trigger` | [src/trigger/common/poll.ts](src/trigger/common/poll.ts) |
|
|
65
|
+
| `@oomol-lab/open-flow/provider-triggers` | [src/trigger/providers/definitions.ts](src/trigger/providers/definitions.ts) |
|
|
66
|
+
| `@oomol-lab/open-flow/flow-authoring` | [src/flow/common/authoring.ts](src/flow/common/authoring.ts) |
|
|
67
|
+
| `@oomol-lab/open-flow/flow-change` | [src/flow/common/change.ts](src/flow/common/change.ts) |
|
|
68
|
+
| `@oomol-lab/open-flow/flow-encoding` | [src/flow/common/encoding.ts](src/flow/common/encoding.ts) |
|
|
69
|
+
| `@oomol-lab/open-flow/flow-semantics` | [src/flow/common/semantics.ts](src/flow/common/semantics.ts) |
|
|
70
|
+
| `@oomol-lab/open-flow/run-lifecycle` | [src/execution/common/runLifecycle.ts](src/execution/common/runLifecycle.ts) |
|
|
71
|
+
| `@oomol-lab/open-flow/run-events` | [src/execution/common/events.ts](src/execution/common/events.ts) |
|
|
72
|
+
| `@oomol-lab/open-flow/runtime-contract` | [src/execution/common/runtime.ts](src/execution/common/runtime.ts) |
|
|
73
|
+
| `@oomol-lab/open-flow/workflow` | [src/workflow/common/workflow.ts](src/workflow/common/workflow.ts) |
|
|
74
|
+
| `@oomol-lab/open-flow/scheduler` | [src/execution/common/scheduler.ts](src/execution/common/scheduler.ts) |
|
|
75
|
+
| `@oomol-lab/open-flow/webhook-trigger` | [src/trigger/common/webhook.ts](src/trigger/common/webhook.ts) |
|
|
76
|
+
| `@oomol-lab/open-flow/mcp` | [src/control/common/mcp.ts](src/control/common/mcp.ts) |
|
|
77
|
+
| `@oomol-lab/open-flow/control-requests` | [src/control/common/requests.ts](src/control/common/requests.ts) |
|
|
78
|
+
| `@oomol-lab/open-flow/decision` | [src/decision/common/decision.ts](src/decision/common/decision.ts) |
|
|
79
|
+
| `@oomol-lab/open-flow/openapi` | [src/openapi/common/openapi.ts](src/openapi/common/openapi.ts) |
|
|
80
|
+
| `@oomol-lab/open-flow/http-request` | [src/http/common/httpRequest.ts](src/http/common/httpRequest.ts) |
|
|
81
|
+
|
|
82
|
+
## License
|
|
83
|
+
|
|
84
|
+
[Open Flow License](LICENSE), based on Apache-2.0 with additional conditions.
|
|
85
|
+
See [NOTICE](NOTICE) for third-party notices.
|
|
@@ -11481,7 +11481,8 @@ var extra_icon_default = {
|
|
|
11481
11481
|
"body": "<g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><rect width=\"8\" height=\"8\" x=\"3\" y=\"3\" rx=\"2\"/><path d=\"M7 11v4a2 2 0 0 0 2 2h4\"/><rect width=\"8\" height=\"8\" x=\"13\" y=\"13\" rx=\"2\"/></g>",
|
|
11482
11482
|
"width": 24,
|
|
11483
11483
|
"height": 24
|
|
11484
|
-
}
|
|
11484
|
+
},
|
|
11485
|
+
"globe": { "body": "<g fill=\"none\" stroke=\"currentColor\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"1.5\"><circle cx=\"12\" cy=\"12\" r=\"10\"/><path d=\"M12 2a14.5 14.5 0 0 0 0 20a14.5 14.5 0 0 0 0-20M2 12h20\"/></g>" }
|
|
11485
11486
|
},
|
|
11486
11487
|
"width": 24,
|
|
11487
11488
|
"height": 24
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { o as __toESM, t as __commonJSMin } from "./rolldown-runtime-CEgmsyvS.js";
|
|
2
|
-
import { $ as ko_default, B as MenuPopup, C as DropdownMenuContent, D as DropdownMenuRadioGroup, E as DropdownMenuLabel, F as findRootOwnerId, G as MenuRootContext, H as MenuGroup, J as waitBranchDescription, K as useMenuRootContext, L as MenuRoot, N as DropdownMenuTrigger, O as DropdownMenuRadioItem, Q as ru_default, R as MenuPositioner, S as DropdownMenuCheckboxItem, T as DropdownMenuItem, U as ContextMenuRootContext, V as MenuItem, W as useContextMenuRootContext, X as zh_TW_default, Z as zh_CN_default, _ as NativeScrollArea, at as Checkbox, d as PopoverContent, et as ja_default, g as PopoverTrigger, h as PopoverTitle, k as DropdownMenuSeparator, l as wrapLayout, nt as en_default, q as uiLocales, rt as I18n, st as IconThemeContext, t as ContentIcon, tt as fr_default, u as Popover, v as ScrollArea, w as DropdownMenuGroup, x as DropdownMenu, z as MenuPortal } from "./ContentIcon-
|
|
2
|
+
import { $ as ko_default, B as MenuPopup, C as DropdownMenuContent, D as DropdownMenuRadioGroup, E as DropdownMenuLabel, F as findRootOwnerId, G as MenuRootContext, H as MenuGroup, J as waitBranchDescription, K as useMenuRootContext, L as MenuRoot, N as DropdownMenuTrigger, O as DropdownMenuRadioItem, Q as ru_default, R as MenuPositioner, S as DropdownMenuCheckboxItem, T as DropdownMenuItem, U as ContextMenuRootContext, V as MenuItem, W as useContextMenuRootContext, X as zh_TW_default, Z as zh_CN_default, _ as NativeScrollArea, at as Checkbox, d as PopoverContent, et as ja_default, g as PopoverTrigger, h as PopoverTitle, k as DropdownMenuSeparator, l as wrapLayout, nt as en_default, q as uiLocales, rt as I18n, st as IconThemeContext, t as ContentIcon, tt as fr_default, u as Popover, v as ScrollArea, w as DropdownMenuGroup, x as DropdownMenu, z as MenuPortal } from "./ContentIcon-FCpKiwjp.js";
|
|
3
3
|
import { a as derive, c as strictEqual, i as compute, l as val, n as attachSetter, r as combine, s as readonlyVal } from "./dist-bO8nvHFH.js";
|
|
4
4
|
import { c as useLang, i as isString, l as useTranslate, n as isBoolean, o as I18nProvider, r as isPlainObject, t as isArray$1, u as useVal } from "./dist-BFmpkX4P.js";
|
|
5
5
|
import { $t as require_with_selector, A as string, An as ownerDocument, C as literal, Cr as useRenderElement, Mn as createLucideIcon, Sr as clsx, T as number, Tn as getTarget, Un as cancelOpen, Vn as createChangeEventDetails, an as useTimeout, ar as triggerPress, bn as stopEvent$1, br as cn$1, fr as useId$1, ft as pressableTriggerOpenStateMapping, i as TooltipTrigger, k as strictObject, n as TooltipContent, p as timeZoneOffsetMinutes, qt as addEventListener, r as TooltipProvider, t as Tooltip, vr as Button, wn as contains, y as discriminatedUnion } from "./tooltip-wZJRB9oP.js";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { l as useTranslate } from "./dist-BFmpkX4P.js";
|
|
2
2
|
import { vr as Button } from "./tooltip-wZJRB9oP.js";
|
|
3
|
-
import {
|
|
4
|
-
import { t as WorkbenchSelect } from "./workbenchSelect-
|
|
3
|
+
import { Qt as Input, a as DialogFooter, d as Field, f as FieldDescription, h as FieldLabel, i as DialogDescription, l as Icon, m as FieldGroup, n as DialogClose, o as DialogHeader, p as FieldError, r as DialogContent, s as DialogTitle, t as Dialog, u as Spinner } from "./dialog-ZtpsFbl4.js";
|
|
4
|
+
import { t as WorkbenchSelect } from "./workbenchSelect-M441Lz0d.js";
|
|
5
5
|
import { useEffect, useRef, useState } from "react";
|
|
6
6
|
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
//#region src/workbench/browser/runtime/shell/createResourceDialog.tsx
|
|
@@ -6437,14 +6437,287 @@ function decisionTask(questions = [defaultDecisionQuestion()], name = "AI Decisi
|
|
|
6437
6437
|
};
|
|
6438
6438
|
}
|
|
6439
6439
|
//#endregion
|
|
6440
|
-
//#region src/
|
|
6440
|
+
//#region src/http/common/authBindings.ts
|
|
6441
6441
|
/** Never allow credentials to enter a Revision as literal node inputs. */
|
|
6442
|
-
function
|
|
6442
|
+
function assertHttpAuthBindings(document) {
|
|
6443
6443
|
for (const node of Object.values(document.graph.nodes)) {
|
|
6444
|
-
if (node.kind != "task" || !("executor" in node.task) || node.task.executor.kind
|
|
6445
|
-
for (const [handle, mapping] of Object.entries(node.inputs)) if (handle.startsWith("auth.") && mapping.kind == "value") throw new TypeError("
|
|
6444
|
+
if (node.kind != "task" || !("executor" in node.task) || !["openapi", "http-request"].includes(node.task.executor.kind)) continue;
|
|
6445
|
+
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.");
|
|
6446
6446
|
}
|
|
6447
6447
|
}
|
|
6448
|
+
//#endregion
|
|
6449
|
+
//#region src/flow/common/portChanges.ts
|
|
6450
|
+
function renamedPort(previous, next) {
|
|
6451
|
+
const previousNames = new Set(previous.flatMap((port) => "handle" in port ? [port.handle] : []));
|
|
6452
|
+
const nextNames = new Set(next.flatMap((port) => "handle" in port ? [port.handle] : []));
|
|
6453
|
+
const removed = [...previousNames].filter((name) => !nextNames.has(name));
|
|
6454
|
+
const added = [...nextNames].filter((name) => !previousNames.has(name));
|
|
6455
|
+
return removed.length == 1 && added.length == 1 ? [removed[0], added[0]] : void 0;
|
|
6456
|
+
}
|
|
6457
|
+
function renameOutputMapping(mapping, nodeIds, rename) {
|
|
6458
|
+
if (rename == null || mapping.kind != "sources") return mapping;
|
|
6459
|
+
const sources = mapping.sources.map((source) => source.kind == "node" && !source.system && nodeIds.has(source.nodeId) && source.output == rename[0] ? {
|
|
6460
|
+
...source,
|
|
6461
|
+
output: rename[1]
|
|
6462
|
+
} : source);
|
|
6463
|
+
return sources.every((source, index) => source === mapping.sources[index]) ? mapping : {
|
|
6464
|
+
kind: "sources",
|
|
6465
|
+
sources
|
|
6466
|
+
};
|
|
6467
|
+
}
|
|
6468
|
+
/** Carry saved mappings through a field rename and remove only fields absent from the new contract. */
|
|
6469
|
+
function remapInputMappings(mappings, ports, rename) {
|
|
6470
|
+
const inputs = { ...mappings };
|
|
6471
|
+
if (rename != null && Object.hasOwn(inputs, rename[0])) {
|
|
6472
|
+
Object.defineProperty(inputs, rename[1], {
|
|
6473
|
+
value: inputs[rename[0]],
|
|
6474
|
+
enumerable: true,
|
|
6475
|
+
configurable: true,
|
|
6476
|
+
writable: true
|
|
6477
|
+
});
|
|
6478
|
+
delete inputs[rename[0]];
|
|
6479
|
+
}
|
|
6480
|
+
const names = new Set(ports.flatMap((port) => "handle" in port ? [port.handle] : []));
|
|
6481
|
+
for (const name of Object.keys(inputs)) if (!names.has(name)) delete inputs[name];
|
|
6482
|
+
return inputs;
|
|
6483
|
+
}
|
|
6484
|
+
//#endregion
|
|
6485
|
+
//#region src/http/common/headers.ts
|
|
6486
|
+
/** Header names are case-insensitive; never silently combine duplicate business fields. */
|
|
6487
|
+
function httpHeaderNameIssue(name, names) {
|
|
6488
|
+
if (!/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/.test(name)) return "invalid";
|
|
6489
|
+
if (names.some((candidate) => candidate.toLowerCase() === name.toLowerCase())) return "duplicate";
|
|
6490
|
+
}
|
|
6491
|
+
//#endregion
|
|
6492
|
+
//#region src/http/common/httpRequest.ts
|
|
6493
|
+
var parameterSchema = strictObject({
|
|
6494
|
+
mode: _enum(["fields", "object"]).default("fields"),
|
|
6495
|
+
names: array(string()).default([])
|
|
6496
|
+
});
|
|
6497
|
+
var httpRequestConfigSchema = strictObject({
|
|
6498
|
+
method: _enum([
|
|
6499
|
+
"GET",
|
|
6500
|
+
"POST",
|
|
6501
|
+
"PUT",
|
|
6502
|
+
"PATCH",
|
|
6503
|
+
"DELETE",
|
|
6504
|
+
"HEAD",
|
|
6505
|
+
"OPTIONS"
|
|
6506
|
+
]).default("GET"),
|
|
6507
|
+
query: parameterSchema.default({
|
|
6508
|
+
mode: "fields",
|
|
6509
|
+
names: []
|
|
6510
|
+
}),
|
|
6511
|
+
headers: parameterSchema.default({
|
|
6512
|
+
mode: "fields",
|
|
6513
|
+
names: []
|
|
6514
|
+
}),
|
|
6515
|
+
bodyFormat: _enum([
|
|
6516
|
+
"none",
|
|
6517
|
+
"json",
|
|
6518
|
+
"text",
|
|
6519
|
+
"form"
|
|
6520
|
+
]).default("none"),
|
|
6521
|
+
authentication: union([
|
|
6522
|
+
strictObject({ type: literal("none") }),
|
|
6523
|
+
strictObject({ type: _enum(["bearer", "basic"]) }),
|
|
6524
|
+
strictObject({
|
|
6525
|
+
type: literal("apiKey"),
|
|
6526
|
+
name: string(),
|
|
6527
|
+
in: _enum(["header", "query"])
|
|
6528
|
+
})
|
|
6529
|
+
]).default({ type: "none" }),
|
|
6530
|
+
responseFormat: _enum([
|
|
6531
|
+
"auto",
|
|
6532
|
+
"json",
|
|
6533
|
+
"text"
|
|
6534
|
+
]).default("auto"),
|
|
6535
|
+
statusPolicy: _enum(["success", "all"]).default("success")
|
|
6536
|
+
});
|
|
6537
|
+
var httpRequestExecutorSchema = httpRequestConfigSchema.extend({ kind: literal("http-request") });
|
|
6538
|
+
var scalarSchema = { type: [
|
|
6539
|
+
"string",
|
|
6540
|
+
"number",
|
|
6541
|
+
"boolean"
|
|
6542
|
+
] };
|
|
6543
|
+
var queryValueSchema = { anyOf: [scalarSchema, {
|
|
6544
|
+
type: "array",
|
|
6545
|
+
items: scalarSchema
|
|
6546
|
+
}] };
|
|
6547
|
+
var httpHeaderSchema = {
|
|
6548
|
+
type: "object",
|
|
6549
|
+
additionalProperties: { type: "string" }
|
|
6550
|
+
};
|
|
6551
|
+
var httpQuerySchema = {
|
|
6552
|
+
type: "object",
|
|
6553
|
+
additionalProperties: queryValueSchema
|
|
6554
|
+
};
|
|
6555
|
+
function httpAuthHandles(config) {
|
|
6556
|
+
return config.authentication.type == "none" ? [] : config.authentication.type == "basic" ? ["auth.username", "auth.password"] : ["auth.token"];
|
|
6557
|
+
}
|
|
6558
|
+
function retain(ports, old) {
|
|
6559
|
+
const remaining = new Map(ports.map((port) => [port.handle, port]));
|
|
6560
|
+
return [...old.flatMap((item) => {
|
|
6561
|
+
if ("group" in item) return [item];
|
|
6562
|
+
const next = remaining.get(item.handle);
|
|
6563
|
+
if (next == null) return [];
|
|
6564
|
+
remaining.delete(item.handle);
|
|
6565
|
+
return [dequal(item.jsonSchema, next.jsonSchema) && item.nullable == next.nullable ? item : next];
|
|
6566
|
+
}), ...remaining.values()];
|
|
6567
|
+
}
|
|
6568
|
+
function httpRequestTask(config = httpRequestConfigSchema.parse({}), name = "HTTP Request", previous) {
|
|
6569
|
+
const inputs = [{
|
|
6570
|
+
handle: "url",
|
|
6571
|
+
jsonSchema: { type: "string" },
|
|
6572
|
+
nullable: false
|
|
6573
|
+
}];
|
|
6574
|
+
for (const group of ["query", "headers"]) if (config[group].mode == "object") inputs.push({
|
|
6575
|
+
handle: group,
|
|
6576
|
+
jsonSchema: group == "query" ? httpQuerySchema : httpHeaderSchema,
|
|
6577
|
+
nullable: true
|
|
6578
|
+
});
|
|
6579
|
+
else for (const parameterName of config[group].names.filter((value) => value.trim())) inputs.push({
|
|
6580
|
+
handle: `${group == "query" ? "query" : "header"}.${parameterName}`,
|
|
6581
|
+
jsonSchema: group == "query" ? queryValueSchema : { type: "string" },
|
|
6582
|
+
nullable: true
|
|
6583
|
+
});
|
|
6584
|
+
if (config.bodyFormat != "none") inputs.push({
|
|
6585
|
+
handle: "body",
|
|
6586
|
+
jsonSchema: config.bodyFormat == "json" ? {} : config.bodyFormat == "text" ? { type: "string" } : httpQuerySchema,
|
|
6587
|
+
nullable: config.bodyFormat == "json"
|
|
6588
|
+
});
|
|
6589
|
+
inputs.push(...httpAuthHandles(config).map((handle) => ({
|
|
6590
|
+
handle,
|
|
6591
|
+
jsonSchema: { type: "string" },
|
|
6592
|
+
nullable: false
|
|
6593
|
+
})));
|
|
6594
|
+
const outputs = [
|
|
6595
|
+
{
|
|
6596
|
+
handle: "body",
|
|
6597
|
+
jsonSchema: config.responseFormat == "text" ? { type: "string" } : {},
|
|
6598
|
+
nullable: true
|
|
6599
|
+
},
|
|
6600
|
+
{
|
|
6601
|
+
handle: "statusCode",
|
|
6602
|
+
jsonSchema: { type: "integer" },
|
|
6603
|
+
nullable: false
|
|
6604
|
+
},
|
|
6605
|
+
{
|
|
6606
|
+
handle: "headers",
|
|
6607
|
+
jsonSchema: httpHeaderSchema,
|
|
6608
|
+
nullable: false
|
|
6609
|
+
}
|
|
6610
|
+
];
|
|
6611
|
+
return {
|
|
6612
|
+
name,
|
|
6613
|
+
executor: {
|
|
6614
|
+
...config,
|
|
6615
|
+
kind: "http-request"
|
|
6616
|
+
},
|
|
6617
|
+
inputs: retain(inputs, previous?.inputs ?? []),
|
|
6618
|
+
outputs: retain(outputs, previous?.outputs ?? [])
|
|
6619
|
+
};
|
|
6620
|
+
}
|
|
6621
|
+
function httpRequestIssues(config) {
|
|
6622
|
+
const issues = [];
|
|
6623
|
+
if (["GET", "HEAD"].includes(config.method) && config.bodyFormat != "none") issues.push({
|
|
6624
|
+
field: "bodyFormat",
|
|
6625
|
+
code: "bodyUnsupported",
|
|
6626
|
+
message: "GET and HEAD do not support a request body."
|
|
6627
|
+
});
|
|
6628
|
+
for (const group of ["query", "headers"]) {
|
|
6629
|
+
if (config[group].mode != "fields") continue;
|
|
6630
|
+
const seen = /* @__PURE__ */ new Set();
|
|
6631
|
+
for (const [index, name] of config[group].names.entries()) {
|
|
6632
|
+
const key = group == "headers" ? name.toLowerCase() : name;
|
|
6633
|
+
if (!name.trim() || seen.has(key)) issues.push({
|
|
6634
|
+
field: group,
|
|
6635
|
+
index,
|
|
6636
|
+
code: "parameterNamesInvalid",
|
|
6637
|
+
message: "Parameter names must be nonempty and unique."
|
|
6638
|
+
});
|
|
6639
|
+
seen.add(key);
|
|
6640
|
+
if (group == "headers" && httpHeaderNameIssue(name, []) === "invalid") issues.push({
|
|
6641
|
+
field: group,
|
|
6642
|
+
index,
|
|
6643
|
+
code: "headerNameInvalid",
|
|
6644
|
+
message: "Invalid HTTP header name."
|
|
6645
|
+
});
|
|
6646
|
+
}
|
|
6647
|
+
}
|
|
6648
|
+
const auth = config.authentication;
|
|
6649
|
+
if (auth.type != "none") {
|
|
6650
|
+
const group = auth.type == "apiKey" && auth.in == "query" ? "query" : "headers";
|
|
6651
|
+
const name = auth.type == "apiKey" ? auth.name : "authorization";
|
|
6652
|
+
if (!name.trim()) issues.push({
|
|
6653
|
+
field: "authentication",
|
|
6654
|
+
code: "keyNameRequired",
|
|
6655
|
+
message: "API Key requires a name."
|
|
6656
|
+
});
|
|
6657
|
+
if (group == "headers" && name.trim() && httpHeaderNameIssue(name, []) === "invalid") issues.push({
|
|
6658
|
+
field: "authentication",
|
|
6659
|
+
code: "headerNameInvalid",
|
|
6660
|
+
message: "Invalid authentication header name."
|
|
6661
|
+
});
|
|
6662
|
+
if (config[group].mode == "fields" && config[group].names.some((item) => group == "headers" ? item.toLowerCase() == name.toLowerCase() : item == name)) issues.push({
|
|
6663
|
+
field: "authentication",
|
|
6664
|
+
code: "authConflict",
|
|
6665
|
+
message: "Authentication conflicts with a request parameter."
|
|
6666
|
+
});
|
|
6667
|
+
}
|
|
6668
|
+
return issues;
|
|
6669
|
+
}
|
|
6670
|
+
/** Only a named parameter rename carries a value; changing source modes is not a rename. */
|
|
6671
|
+
function httpRequestInputs(mappings, previous, next) {
|
|
6672
|
+
const candidate = renamedPort(previous.inputs, next.inputs);
|
|
6673
|
+
const rename = candidate != null && ["query.", "header."].some((prefix) => candidate.every((name) => name.startsWith(prefix))) ? candidate : void 0;
|
|
6674
|
+
return remapInputMappings(mappings, next.inputs, rename);
|
|
6675
|
+
}
|
|
6676
|
+
/** The object editor assembles named inputs without changing unrelated request settings. */
|
|
6677
|
+
function withHttpParameterFields(node, group, values) {
|
|
6678
|
+
if (!("executor" in node.task) || node.task.executor.kind !== "http-request") return node;
|
|
6679
|
+
const config = node.task.executor;
|
|
6680
|
+
const task = httpRequestTask({
|
|
6681
|
+
...config,
|
|
6682
|
+
[group]: {
|
|
6683
|
+
mode: "fields",
|
|
6684
|
+
names: Object.keys(values)
|
|
6685
|
+
}
|
|
6686
|
+
}, node.task.name, node.task);
|
|
6687
|
+
const inputs = httpRequestInputs(node.inputs, node.task, task);
|
|
6688
|
+
const rename = renamedPort(node.task.inputs, task.inputs);
|
|
6689
|
+
for (const [name, value] of Object.entries(values)) {
|
|
6690
|
+
const handle = `${group === "query" ? "query" : "header"}.${name}`;
|
|
6691
|
+
const existing = config[group].mode === "fields" && (config[group].names.includes(name) || rename?.[1] === handle);
|
|
6692
|
+
if (inputs[handle] == null && !existing) inputs[handle] = {
|
|
6693
|
+
kind: "value",
|
|
6694
|
+
value
|
|
6695
|
+
};
|
|
6696
|
+
}
|
|
6697
|
+
return {
|
|
6698
|
+
...node,
|
|
6699
|
+
task,
|
|
6700
|
+
inputs
|
|
6701
|
+
};
|
|
6702
|
+
}
|
|
6703
|
+
function withHttpParameterSource(node, group, mapping) {
|
|
6704
|
+
if (!("executor" in node.task) || node.task.executor.kind !== "http-request") return node;
|
|
6705
|
+
const task = httpRequestTask({
|
|
6706
|
+
...node.task.executor,
|
|
6707
|
+
[group]: {
|
|
6708
|
+
mode: "object",
|
|
6709
|
+
names: []
|
|
6710
|
+
}
|
|
6711
|
+
}, node.task.name, node.task);
|
|
6712
|
+
const inputs = httpRequestInputs(node.inputs, node.task, task);
|
|
6713
|
+
if (mapping == null) delete inputs[group];
|
|
6714
|
+
else inputs[group] = mapping;
|
|
6715
|
+
return {
|
|
6716
|
+
...node,
|
|
6717
|
+
task,
|
|
6718
|
+
inputs
|
|
6719
|
+
};
|
|
6720
|
+
}
|
|
6448
6721
|
function checkJsonDepth(value, depth = 0) {
|
|
6449
6722
|
if (depth > 64) throw new TypeError("Value exceeds the maximum JSON depth.");
|
|
6450
6723
|
if (value != null && typeof value == "object") for (const child of Object.values(value)) checkJsonDepth(child, depth + 1);
|
|
@@ -6455,6 +6728,7 @@ var retryNodeTypes = [
|
|
|
6455
6728
|
"code",
|
|
6456
6729
|
"connector",
|
|
6457
6730
|
"openapi",
|
|
6731
|
+
"http-request",
|
|
6458
6732
|
"llm",
|
|
6459
6733
|
"decision"
|
|
6460
6734
|
];
|
|
@@ -6552,11 +6826,6 @@ function workflowOutputsPort(outputs) {
|
|
|
6552
6826
|
nullable: false
|
|
6553
6827
|
};
|
|
6554
6828
|
}
|
|
6555
|
-
/** Header names are case-insensitive; never silently combine duplicate business fields. */
|
|
6556
|
-
function webhookHeaderNameIssue(name, names) {
|
|
6557
|
-
if (!/^[!#$%&'*+.^_`|~0-9A-Za-z-]+$/.test(name)) return "invalid";
|
|
6558
|
-
if (names.some((candidate) => candidate.toLowerCase() === name.toLowerCase())) return "duplicate";
|
|
6559
|
-
}
|
|
6560
6829
|
/** Fixed inputs belong to the node, not author-supplied definitions. */
|
|
6561
6830
|
var webhookResponseInputs = [
|
|
6562
6831
|
{
|
|
@@ -6627,7 +6896,7 @@ var legacyCapability = strictObject({
|
|
|
6627
6896
|
alias: text.optional()
|
|
6628
6897
|
}))
|
|
6629
6898
|
});
|
|
6630
|
-
var
|
|
6899
|
+
var connectorCapabilitySchema = union([
|
|
6631
6900
|
legacyCapability,
|
|
6632
6901
|
strictObject({
|
|
6633
6902
|
kind: literal("connector"),
|
|
@@ -6651,6 +6920,15 @@ var capability = union([
|
|
|
6651
6920
|
})).optional()
|
|
6652
6921
|
})
|
|
6653
6922
|
]);
|
|
6923
|
+
var workflowCapabilitySchema = strictObject({
|
|
6924
|
+
kind: literal("workflow"),
|
|
6925
|
+
name: text,
|
|
6926
|
+
flowId: text,
|
|
6927
|
+
revisionId: text,
|
|
6928
|
+
inputs: array(port),
|
|
6929
|
+
outputs: array(port).nullable()
|
|
6930
|
+
});
|
|
6931
|
+
var capability = union([connectorCapabilitySchema, workflowCapabilitySchema]);
|
|
6654
6932
|
var inline = object({
|
|
6655
6933
|
...ports,
|
|
6656
6934
|
name: text,
|
|
@@ -6665,6 +6943,20 @@ var agentValue = union([object({
|
|
|
6665
6943
|
input: text
|
|
6666
6944
|
})]);
|
|
6667
6945
|
var agentInput = union([agentValue, object({ kind: literal("model") })]);
|
|
6946
|
+
var agentToolFields = {
|
|
6947
|
+
id: text,
|
|
6948
|
+
name: text,
|
|
6949
|
+
description: text,
|
|
6950
|
+
approval: boolean(),
|
|
6951
|
+
inputs: array(input.extend({ source: agentInput }))
|
|
6952
|
+
};
|
|
6953
|
+
var connectorAgentToolSchema = object({
|
|
6954
|
+
...agentToolFields,
|
|
6955
|
+
kind: literal("connector").optional(),
|
|
6956
|
+
action: text,
|
|
6957
|
+
connectionId: actionConnection.optional()
|
|
6958
|
+
});
|
|
6959
|
+
var workflowAgentToolSchema = workflowCapabilitySchema.extend(agentToolFields);
|
|
6668
6960
|
var decisionQuestion = discriminatedUnion("type", [
|
|
6669
6961
|
strictObject({
|
|
6670
6962
|
name: text,
|
|
@@ -6733,15 +7025,7 @@ var managedFields = object({
|
|
|
6733
7025
|
model: text,
|
|
6734
7026
|
prompt: text,
|
|
6735
7027
|
maxRounds: number(),
|
|
6736
|
-
tools: array(
|
|
6737
|
-
id: text,
|
|
6738
|
-
name: text,
|
|
6739
|
-
description: text,
|
|
6740
|
-
action: text,
|
|
6741
|
-
connectionId: actionConnection.optional(),
|
|
6742
|
-
approval: boolean(),
|
|
6743
|
-
inputs: array(input.extend({ source: agentInput }))
|
|
6744
|
-
})),
|
|
7028
|
+
tools: array(union([workflowAgentToolSchema, connectorAgentToolSchema])),
|
|
6745
7029
|
notification: object({
|
|
6746
7030
|
action: text,
|
|
6747
7031
|
connectionId: actionConnection.optional(),
|
|
@@ -6754,7 +7038,8 @@ var managedFields = object({
|
|
|
6754
7038
|
kind: literal("workflow"),
|
|
6755
7039
|
flowId: text,
|
|
6756
7040
|
revisionId: text
|
|
6757
|
-
})
|
|
7041
|
+
}),
|
|
7042
|
+
httpRequestExecutorSchema
|
|
6758
7043
|
])
|
|
6759
7044
|
});
|
|
6760
7045
|
var managed = managedFields.transform(limitDecisionTask);
|
|
@@ -7022,7 +7307,8 @@ var revision = object({
|
|
|
7022
7307
|
literal(7),
|
|
7023
7308
|
literal(8),
|
|
7024
7309
|
literal(9),
|
|
7025
|
-
literal(10)
|
|
7310
|
+
literal(10),
|
|
7311
|
+
literal(11)
|
|
7026
7312
|
]),
|
|
7027
7313
|
document,
|
|
7028
7314
|
modules: record$1(text, module)
|
|
@@ -7053,7 +7339,7 @@ function decodeRevisionContent(value) {
|
|
|
7053
7339
|
checkJsonDepth(value);
|
|
7054
7340
|
const content = revision.parse(value);
|
|
7055
7341
|
checkModelVersion(content);
|
|
7056
|
-
|
|
7342
|
+
assertHttpAuthBindings(content.document);
|
|
7057
7343
|
return content;
|
|
7058
7344
|
}
|
|
7059
7345
|
var shapes = {
|
|
@@ -7224,6 +7510,8 @@ var variants = new Map(Object.entries(shapes).map(([kind, shape]) => [kind, shap
|
|
|
7224
7510
|
})]));
|
|
7225
7511
|
array(union([...variants.values()])).min(1);
|
|
7226
7512
|
function checkModelVersion(content) {
|
|
7513
|
+
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.");
|
|
7514
|
+
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.");
|
|
7227
7515
|
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.");
|
|
7228
7516
|
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.");
|
|
7229
7517
|
if (content.modelVersion < 9 && Object.values(content.document.graph.nodes).some((candidateNode) => {
|
|
@@ -7478,6 +7766,24 @@ function resourceNameIssue(value) {
|
|
|
7478
7766
|
function portsByHandle(ports) {
|
|
7479
7767
|
return Object.fromEntries(ports.flatMap((port) => "handle" in port ? [[port.handle, port]] : []));
|
|
7480
7768
|
}
|
|
7769
|
+
var workflowToolNamePattern = /^[A-Za-z][A-Za-z0-9_-]{0,63}$/;
|
|
7770
|
+
function workflowToolNameIssue(name, otherNames = []) {
|
|
7771
|
+
if (!workflowToolNamePattern.test(name)) return "invalid";
|
|
7772
|
+
for (const other of otherNames) if (other == name) return "duplicate";
|
|
7773
|
+
}
|
|
7774
|
+
function decodeTaskCapabilities(value) {
|
|
7775
|
+
if (!Array.isArray(value)) throw new TypeError("Task capabilities must be an array.");
|
|
7776
|
+
const parsed = authoringDefinitionSchemas.capabilities.parse(value);
|
|
7777
|
+
const connectors = decodeConnectorCapabilities(parsed.filter((item) => item.kind == "connector"));
|
|
7778
|
+
const names = /* @__PURE__ */ new Set();
|
|
7779
|
+
for (const item of parsed) {
|
|
7780
|
+
if (item.kind != "workflow") continue;
|
|
7781
|
+
if (workflowToolNameIssue(item.name, names)) throw new TypeError("Workflow tool names must be unique provider-compatible names.");
|
|
7782
|
+
names.add(item.name);
|
|
7783
|
+
}
|
|
7784
|
+
let connectorIndex = 0;
|
|
7785
|
+
return parsed.map((item) => item.kind == "connector" ? connectors[connectorIndex++] : item);
|
|
7786
|
+
}
|
|
7481
7787
|
function decodeConnectorCapabilities(value) {
|
|
7482
7788
|
if (!Array.isArray(value)) throw new TypeError("Connector capabilities must be an array.");
|
|
7483
7789
|
if (value.length == 0) return [];
|
|
@@ -7610,10 +7916,10 @@ function upgradeRevisionContent(content) {
|
|
|
7610
7916
|
function upgradeDecodedRevisionContent(content) {
|
|
7611
7917
|
const graph = content.document.graph;
|
|
7612
7918
|
const hasManual = Object.values(graph.nodes).some((node) => node.kind == "manual");
|
|
7613
|
-
if (!hasManual && content.modelVersion ==
|
|
7919
|
+
if (!hasManual && content.modelVersion == 11) return content;
|
|
7614
7920
|
return {
|
|
7615
7921
|
...content,
|
|
7616
|
-
modelVersion:
|
|
7922
|
+
modelVersion: 11,
|
|
7617
7923
|
document: {
|
|
7618
7924
|
...content.document,
|
|
7619
7925
|
graph: hasManual ? {
|
|
@@ -7660,7 +7966,7 @@ function invalid(message) {
|
|
|
7660
7966
|
throw new FlowChangeError(message);
|
|
7661
7967
|
}
|
|
7662
7968
|
function applyFlowChanges(content, operations) {
|
|
7663
|
-
const source = content.modelVersion !=
|
|
7969
|
+
const source = content.modelVersion != 11 || Object.values(content.document.graph.nodes).some((node) => node.kind == "manual") ? decodeRevisionContent(content) : content;
|
|
7664
7970
|
const document = { ...source.document };
|
|
7665
7971
|
const modules = { ...source.modules };
|
|
7666
7972
|
for (const operation of operations) switch (operation.kind) {
|
|
@@ -7774,7 +8080,7 @@ function applyFlowChanges(content, operations) {
|
|
|
7774
8080
|
const graph = document.graph;
|
|
7775
8081
|
if (!dequal(graph.nodes[operation.nodeId], operation.before)) invalid("The Node changed before this operation was applied.");
|
|
7776
8082
|
if (operation.node.kind != operation.before.kind) invalid("Replacing a Node cannot change its kind.");
|
|
7777
|
-
if (operation.node.kind == "task" && "moduleId" in operation.node.task && operation.node.task.capabilities !== void 0)
|
|
8083
|
+
if (operation.node.kind == "task" && "moduleId" in operation.node.task && operation.node.task.capabilities !== void 0) decodeTaskCapabilities(operation.node.task.capabilities);
|
|
7778
8084
|
const name = normalizeNodeName(operation.node.name ?? "");
|
|
7779
8085
|
const issue = nodeNameIssue(graph, operation.nodeId, name);
|
|
7780
8086
|
if (issue != null) invalid(`Node name is ${issue}.`);
|
|
@@ -7796,7 +8102,7 @@ function applyFlowChanges(content, operations) {
|
|
|
7796
8102
|
if (graph.nodes[operation.nodeId] != null) invalid("A Node with this ID already exists in the target graph.");
|
|
7797
8103
|
if (operation.node.kind == "error" && Object.values(graph.nodes).some((node) => node.kind == "error")) invalid("A graph can contain only one Flow Error node.");
|
|
7798
8104
|
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.");
|
|
7799
|
-
if (operation.node.kind == "task" && "moduleId" in operation.node.task && operation.node.task.capabilities !== void 0)
|
|
8105
|
+
if (operation.node.kind == "task" && "moduleId" in operation.node.task && operation.node.task.capabilities !== void 0) decodeTaskCapabilities(operation.node.task.capabilities);
|
|
7800
8106
|
if (operation.node.name == null) invalid("A Node name cannot be empty.");
|
|
7801
8107
|
if (operation.node.kind == "outputs" && Object.values(graph.nodes).some((node) => node.kind == "outputs")) invalid("A graph can contain only one Outputs node.");
|
|
7802
8108
|
const name = normalizeNodeName(operation.node.name);
|
|
@@ -7895,7 +8201,7 @@ function applyFlowChanges(content, operations) {
|
|
|
7895
8201
|
if (!dequal(node.task.capabilities, operation.before)) invalid("The inline Task capabilities changed before this operation was applied.");
|
|
7896
8202
|
const task = { ...node.task };
|
|
7897
8203
|
if (operation.value === void 0) delete task.capabilities;
|
|
7898
|
-
else task.capabilities =
|
|
8204
|
+
else task.capabilities = decodeTaskCapabilities(operation.value);
|
|
7899
8205
|
Object.assign(document, { graph: {
|
|
7900
8206
|
...graph,
|
|
7901
8207
|
nodes: {
|
|
@@ -8105,10 +8411,10 @@ function applyFlowChanges(content, operations) {
|
|
|
8105
8411
|
break;
|
|
8106
8412
|
}
|
|
8107
8413
|
}
|
|
8108
|
-
|
|
8414
|
+
assertHttpAuthBindings(document);
|
|
8109
8415
|
return upgradeDecodedRevisionContent({
|
|
8110
8416
|
document,
|
|
8111
|
-
modelVersion:
|
|
8417
|
+
modelVersion: 11,
|
|
8112
8418
|
modules
|
|
8113
8419
|
});
|
|
8114
8420
|
}
|
|
@@ -9009,4 +9315,4 @@ function DialogDescription({ className, ...props }) {
|
|
|
9009
9315
|
});
|
|
9010
9316
|
}
|
|
9011
9317
|
//#endregion
|
|
9012
|
-
export {
|
|
9318
|
+
export { waitAutoContinueSchema as $, useLabelableId as $t, clearConditionBindings as A, isSchemaKeyword as At, agentToolFields as B, SelectValue as Bt, resourceNameIssue as C, webhookMethods as Ct, nodeErrorSchema as D, portsAssignable as Dt, workflowToolNameIssue as E, matchesSchema as Et, operandHandle as F, SelectContent as Ft, workflowAgentToolSchema as G, stringifyAsValue as Gt, connectorAgentToolSchema as H, hasNullItemLabel as Ht, operatorsForType as I, SelectGroup as It, webhookResponseAllowsBody as J, findItemIndex as Jt, webhookHeaderValuePort as K, compareItemEquality as Kt, otherwiseOutput as L, SelectItem as Lt, conditionInputPorts as M, dequal as Mt, mapConditionSources as N, Select as Nt, nodeSystemOutputPorts as O, schemaObject as Ot, nodeInputMappings as P, SelectChevron as Pt, workflowOutputsPort as Q, Input as Qt, unaryOperator as R, SelectSeparator as Rt, portsByHandle as S, limitDecisionQuestions as St, upgradeRevisionContent as T, comparePorts as Tt, connectorCapabilitySchema as U, isGroupedItems as Ut, authoringDefinitionSchemas as V, resolveAriaLabelledBy as Vt, decodeRevisionContent as W, stringifyAsLabel as Wt, webhookResponseTimeout as X, selectedValueIncludes as Xt, webhookResponseInputs as Y, removeItem as Yt, webhookStatusCodePort as Z, Label as Zt, applyFlowChanges as _, decisionLimits as _t, DialogFooter as a, httpHeaderSchema as at, nodeNameIssue as b, decisionTask as bt, DialogTrigger as c, httpRequestInputs as ct, Field as d, withHttpParameterFields as dt, ChevronDown as en, defaultNodeRetry as et, FieldDescription as f, withHttpParameterSource as ft, FlowChangeError as g, renamedPort as gt, FieldLabel as h, renameOutputMapping as ht, DialogDescription as i, checkJsonDepth as it, comparisonIssue as j, format as jt, supportsNodeErrorHandling as k, variableInputCompatible as kt, Icon as l, httpRequestIssues as lt, FieldGroup as m, remapInputMappings as mt, DialogClose as n, retryConfigurationSchema as nt, DialogHeader as o, httpQuerySchema as ot, FieldError as p, httpHeaderNameIssue as pt, webhookHeadersPort as q, defaultItemEquality as qt, DialogContent as r, supportsNodeRetry as rt, DialogTitle as s, httpRequestConfigSchema as st, Dialog as t, nodeRetryLimits as tt, Spinner as u, httpRequestTask as ut, isTriggerNode as v, decisionModel as vt, upgradeManualTrigger as w, webhookSupportsBody as wt, normalizeNodeName as x, defaultDecisionQuestion as xt, nextNodeName as y, decisionQuestionIssues as yt, valueType as z, SelectTrigger as zt };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { n as IconImageCrossOriginContext, o as IconifyProvider } from "./ContentIcon-
|
|
2
|
-
import { t as FlowCanvas, v as CanvasStore } from "./FlowCanvas-
|
|
1
|
+
import { n as IconImageCrossOriginContext, o as IconifyProvider } from "./ContentIcon-FCpKiwjp.js";
|
|
2
|
+
import { t as FlowCanvas, v as CanvasStore } from "./FlowCanvas-dzRBnlUT.js";
|
|
3
3
|
import { createElement } from "react";
|
|
4
4
|
import { createRoot } from "react-dom/client";
|
|
5
5
|
//#region ../../node_modules/.bun/html-to-image@1.11.11/node_modules/html-to-image/es/util.js
|