Skip to content

feat(dsl): bundle nested workflow tool imports and exports - #42010

Open
laipz8200 wants to merge 1 commit into
laipz8200/adapt-graphon-engine-architecturefrom
laipz8200/workflow-dsl-bundles
Open

feat(dsl): bundle nested workflow tool imports and exports#42010
laipz8200 wants to merge 1 commit into
laipz8200/adapt-graphon-engine-architecturefrom
laipz8200/workflow-dsl-bundles

Conversation

@laipz8200

Copy link
Copy Markdown
Member

Summary

Workflow DSL exports currently leave workflow tool references tied to the source workspace. Export graphs containing workflow tools as a ZIP with a separate, independently marked YAML file for each referenced workflow version and a manifest containing their relationships and deployment settings.

Import reconstructs the apps, published workflow tools, parameters, labels, and deployment settings together. It remaps nested, shared, and cyclic references, including Agent tool selections and prompt mentions, and defers publication events until the complete bundle commits. Archive limits, workspace permissions, and app quotas are enforced before deployment; plugin dependencies are collected across the bundle.

Existing YAML imports and exports remain supported. Browser exports automatically include associated workflows; API and CLI clients can opt in with include_workflow_tools and --include-workflow-tools.

Dependency

Builds on #40277 and targets laipz8200/adapt-graphon-engine-architecture so this PR contains only the DSL bundle changes.

Export referenced workflow versions as independent marked YAML files with a manifest of relationships and tool deployment settings in a ZIP archive. Restore the complete bundle with remapped references, permission checks, and atomic persistence. Support ZIP import and export in the console, workspace APIs, enterprise API, and CLI while preserving existing YAML behavior.
@github-actions github-actions Bot added the web This relates to changes on the web. label Sep 8, 2026
@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Pyrefly Diff

base → PR
--- /tmp/pyrefly_base.txt	2026-09-08 21:04:29.035748866 +0000
+++ /tmp/pyrefly_pr.txt	2026-09-08 21:04:15.223702469 +0000
@@ -8696,6 +8696,12 @@
   --> tests/unit_tests/services/test_workflow_collaboration_service.py:24:56
 ERROR Argument `list[int | str]` is not assignable to parameter `mentioned_user_ids` with type `Sequence[str]` in function `services.workflow_comment_service.WorkflowCommentService._filter_valid_mentioned_user_ids` [bad-argument-type]
    --> tests/unit_tests/services/test_workflow_comment_service.py:147:13
+ERROR `dict[@_, @_]` is not assignable to dict value type `list[Unknown] | str` [bad-assignment]
+  --> tests/unit_tests/services/test_workflow_dsl_bundle.py:49:40
+ERROR `dict[@_, @_]` is not assignable to dict value type `list[Unknown] | str` [bad-assignment]
+  --> tests/unit_tests/services/test_workflow_dsl_bundle.py:50:44
+ERROR Argument `Literal['workflow']` is not assignable to parameter `tool_type` with type `SQLCoreOperations[ToolProviderType] | ToolProviderType` in function `models.tools.ToolLabelBinding.__init__` [bad-argument-type]
+  --> tests/unit_tests/services/test_workflow_dsl_bundle.py:98:58
 ERROR No matching overload found for function `typing.MutableMapping.update` called with arguments: (dict[str, object]) [no-matching-overload]
   --> tests/unit_tests/services/test_workflow_node_execution_trace_service.py:41:18
 ERROR Argument `dict[str, list[dict[str, object]] | str]` is not assignable to parameter `process_data` with type `dict[str, object]` in function `_execution` [bad-argument-type]

@github-actions

github-actions Bot commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Pyrefly Type Coverage

Metric Base PR Delta
Type coverage 64.05% 64.08% +0.03%
Strict coverage 63.65% 63.69% +0.04%
Typed symbols 45,969 46,041 +72
Untyped symbols 25,967 25,968 +1
Modules 3398 3400 +2

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

web This relates to changes on the web.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant