Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
eb87866
refactor(api): remove superseded Workflow node implementations
41tair Oct 8, 2026
3616f9b
[autofix.ci] apply automated fixes
autofix-ci[bot] Oct 8, 2026
0c877b0
Merge updated stack base into refactor/api-76-10-12
41tair Oct 8, 2026
3606b17
fix(tests): preserve migrated dependencies when merging main
41tair Oct 8, 2026
f19a4ba
Merge updated stack base into refactor/api-76-10-12
41tair Oct 8, 2026
fd7d053
fix: adapt retained callers while retiring workflow implementations
41tair Oct 9, 2026
edc1a73
Merge updated stack base into refactor/api-76-10-12
41tair Oct 9, 2026
bd9b6bc
fix(workflow): address review findings in #43695
41tair Oct 15, 2026
4e00605
Merge complete parent workflow migration fixes
41tair Oct 15, 2026
e46e9b9
Merge updated refactor/api-76-10 into refactor/api-76-10-12
41tair Oct 19, 2026
69d2e5f
Merge updated refactor/api-76-10 into refactor/api-76-10-12
41tair Oct 19, 2026
abaf957
Merge updated refactor/api-76-10 into refactor/api-76-10-12
41tair Oct 19, 2026
dbaf0d1
Merge updated refactor/api-76-10 into refactor/api-76-10-12
41tair Oct 19, 2026
c064cd0
Merge updated refactor/api-76-10-12 parent with Graphon 0.8 compatibi…
41tair Oct 20, 2026
214841d
Merge workflow migration compatibility from updated parent
41tair Oct 20, 2026
8037983
Merge execution test compatibility from updated parent
41tair Oct 20, 2026
6d21394
test(api): adapt tests to merged execution interfaces
41tair Oct 20, 2026
7a343d9
Sync validated refactor/api-76-10-10 fixes
41tair Oct 26, 2026
ee4d8df
Sync validated refactor/api-76-10-10 fixes
41tair Oct 26, 2026
b7f87e6
Merge updated refactor/api-76-10 into refactor/api-76-10-12
41tair Oct 26, 2026
46b30e2
Sync validated stack fixes into workflow retirement layer
41tair Oct 26, 2026
318b631
Keep dormant execution adapters compatible with canonical runtime owners
41tair Oct 26, 2026
800e2a6
Sync validated refactor/api-76-10 fixes
41tair Oct 26, 2026
7bc1f4c
Sync validated refactor/api-76-10 fixes
41tair Oct 26, 2026
c50c560
Retain snapshot identity assertions across runtime retirement
41tair Oct 26, 2026
1f42979
Sync validated refactor/api-76-10 fixes
41tair Oct 26, 2026
a40a604
Sync validated refactor/api-76-10 fixes
41tair Oct 26, 2026
a477e4b
Sync validated refactor/api-76-10 fixes
41tair Oct 27, 2026
6b79a31
Sync validated refactor/api-76-10 fixes
41tair Oct 27, 2026
4ddc06c
Merge updated refactor/api-76-10 into refactor/api-76-10-12
41tair Oct 31, 2026
f4416ff
Sync validated refactor/api-76-10 fixes
41tair Oct 31, 2026
0b53b1a
Sync validated refactor/api-76-10 fixes
41tair Oct 31, 2026
b0e4505
Update human input tests to canonical adapters
41tair Oct 31, 2026
2ef32b7
Sync validated refactor/api-76-10 fixes
41tair Oct 31, 2026
9493dec
Sync validated refactor/api-76-10 fixes
41tair Oct 31, 2026
d21ef57
Sync validated refactor/api-76-10 fixes
41tair Oct 31, 2026
cb60056
Sync validated refactor/api-76-10-10 fixes
41tair Oct 31, 2026
7c399e1
Sync validated refactor/api-76-10 fixes
41tair Oct 31, 2026
1d749c8
Sync validated refactor/api-76-10 fixes
41tair Oct 31, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 16 additions & 40 deletions api/.importlinter
Original file line number Diff line number Diff line change
Expand Up @@ -32,57 +32,45 @@ layers =
# error makes this list shrink whenever a legacy dependency is removed.
unmatched_ignore_imports_alerting = error
ignore_imports =
core.app.apps.advanced_chat.app_runner -> extensions.workflow_warm_shutdown
core.app.apps.workflow.app_runner -> extensions.workflow_warm_shutdown
# The Dify node factory composes the Human Input runtime for workflow execution.
core.workflow.node_factory -> services.human_input_v2.composition
# Legacy generators delegate configured file defaults to the application owner during core migration.
# The legacy base generator delegates file defaults to the application owner until cleanup.
core.app.apps.base_app_generator -> services.app.file_input_defaults
core.app.apps.advanced_chat.app_generator -> services.app.file_input_defaults
core.app.apps.workflow.app_generator -> services.app.file_input_defaults
core.app.app_config.easy_ui_based_app.dataset.manager -> services.knowledge.dataset_service
core.app.apps.advanced_chat.app_generator -> controllers.console.app.workflow
core.app.apps.advanced_chat.app_generator -> services.conversation_service
core.app.apps.advanced_chat.app_generator -> services.errors.conversation
core.app.apps.advanced_chat.app_generator -> services.workflow_draft_variable_service
# Thin legacy generator modules re-export canonical service adapters during path migration.
core.app.apps.advanced_chat.app_generator -> services.workflow.execution.adapters.chatflow.app_generator
core.app.apps.advanced_chat.app_runner -> services.workflow.execution.adapters.chatflow.app_runner
core.app.apps.agent_app.app_generator -> services.agent.composer_service
core.app.apps.agent_app.app_generator -> services.agent.workspace_service
core.app.apps.agent_app.app_generator -> services.conversation_service
core.app.apps.agent_app.app_generator -> services.workflow.execution.adapters.agent_v2.dify_tools_builder
core.app.apps.agent_app.runtime_request_builder -> services.agent.prompt_mentions
core.app.apps.agent_app.runtime_request_builder -> services.workflow.execution.adapters.agent_v2.dify_tools_builder
core.app.apps.agent_app.runtime_request_builder -> services.workflow.execution.adapters.agent_v2.runtime_request_builder
# KnowledgeFS agent glue lives in services; agent runners only project its config and citations.
core.app.apps.agent_app.app_runner -> services.agent.knowledge_citations
core.app.apps.agent_app.runtime_request_builder -> services.agent.prompt_mentions
core.app.apps.agent_app.runtime_request_builder -> services.agent.knowledge_runtime_config
core.app.apps.agent_app.session_store -> services.agent.workspace_service
core.app.apps.agent_chat.app_generator -> services.conversation_service
core.app.apps.base_app_generator -> services.workflow_draft_variable_service
core.app.apps.chat.app_generator -> services.conversation_service
core.app.apps.common.workflow_response_converter -> services.variable_truncator
core.app.apps.common.workflow_response_converter -> services.workflow.execution.adapters.workflow_entry
core.app.apps.message_based_app_generator -> services.errors.app_model_config
core.app.apps.message_based_app_generator -> services.errors.conversation
core.app.apps.message_based_app_generator -> services.errors.message
core.app.apps.pipeline.pipeline_generator -> services.rag_pipeline.rag_pipeline_task_proxy
core.app.apps.pipeline.pipeline_generator -> services.knowledge.dataset_service
core.app.apps.pipeline.pipeline_generator -> services.data_source.provider_service
core.app.apps.pipeline.pipeline_generator -> services.feature_service
core.app.apps.pipeline.pipeline_generator -> services.workflow_draft_variable_service
core.app.apps.workflow.app_generator -> controllers.console.app.workflow
core.app.apps.workflow.app_generator -> services.snippet_generate_service
core.app.apps.workflow.app_generator -> services.workflow_draft_variable_service
# Legacy debug callers delegate input hydration to the application owner during core migration.
core.app.apps.workflow_app_runner -> services.workflow_node_variables
core.app.apps.pipeline.pipeline_generator -> services.workflow.execution.adapters.pipeline.pipeline_generator
core.app.apps.pipeline.pipeline_runner -> services.workflow.execution.adapters.pipeline.pipeline_runner
core.app.apps.workflow.app_generator -> services.workflow.execution.adapters.workflow.app_generator
core.app.apps.workflow.app_runner -> services.workflow.execution.adapters.workflow.app_runner
# The legacy runners share contracts until their service replacements are activated.
core.app.apps.workflow_app_runner -> services.workflow.execution.contracts
core.app.apps.workflow_app_runner -> services.human_input.ports
core.app.apps.pipeline.pipeline_runner -> services.workflow.execution.contracts
core.app.apps.advanced_chat.app_runner -> services.conversation_variable_updater
core.workflow.workflow_entry -> services.workflow_node_variables
core.app.apps.workflow_app_runner -> tasks.mail_human_input_delivery_task
core.app.features.annotation_reply.annotation_reply -> services.annotation_service
core.app.llm.quota -> services.credit_pool_service
core.app.task_pipeline.message_cycle_manager -> services.annotation_service
core.helper.credential_utils -> services.enterprise.plugin_manager_service
core.helper.credential_utils -> services.system_feature_service
core.mcp.auth_client -> services.tools.mcp_tools_manage_service
# Type-only tracing port reference until CoreOps contracts migrate; no runtime service import.
core.ops.base_trace_instance -> services.workflow.execution.adapters.agent_v2.runtime_request_builder
core.provider_manager -> services.credit_pool_service
core.provider_manager -> services.feature_service
core.rag.datasource.retrieval_service -> services.knowledge.external.service
Expand All @@ -100,22 +88,10 @@ ignore_imports =
core.repositories.sqlalchemy_workflow_node_execution_repository -> services.variable_truncator
core.tools.tool_manager -> services.tools.legacy_mcp_tools_manage_service
core.tools.tool_manager -> services.tools.legacy_tools_transform_service
core.workflow.node_runtime -> services.tools.legacy_builtin_tools_manage_service
core.workflow.nodes.agent_v2.runtime_feature_manifest -> services.agent.knowledge_datasets
# Node construction delegates datasource dependency assembly to the composition root.
core.workflow.node_factory -> extensions.application_services.data_sources
# The KnowledgeFS retrieval node is owned by services.knowledge_fs and only wired in here.
core.workflow.node_factory -> services.knowledge_fs.knowledge_retrieval_v2.automatic_metadata_filter
core.workflow.node_factory -> services.knowledge_fs.knowledge_retrieval_v2.entities
core.workflow.nodes.agent_v2.agent_node -> services.agent.knowledge_citations
core.workflow.nodes.agent_v2.agent_node -> services.agent.prompt_mentions
core.workflow.nodes.agent_v2.agent_node -> services.agent.workspace_service
core.workflow.nodes.agent_v2.dify_tools_builder -> services.tools.legacy_mcp_tools_manage_service
core.workflow.nodes.agent_v2.runtime_feature_manifest -> services.agent.knowledge_datasets
core.workflow.nodes.agent_v2.runtime_request_builder -> services.agent.prompt_mentions
core.workflow.nodes.agent_v2.runtime_request_builder -> services.agent.knowledge_runtime_config
core.workflow.nodes.agent_v2.runtime_request_builder -> services.skill_management_service
core.workflow.nodes.agent_v2.session_store -> services.agent.workspace_service
core.workflow.nodes.agent_v2.validators -> services.agent.knowledge_datasets
core.workflow.nodes.agent_v2.workspace_retirement_layer -> tasks.collect_agent_resources_task
libs.email_i18n -> services.entities.feature_entities
libs.email_i18n -> services.system_feature_service
Expand Down
2 changes: 1 addition & 1 deletion api/controllers/openapi/node_types.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
from controllers.openapi._errors import NodeTypeNotFound
from controllers.openapi._models import NodeTypeDetailResponse, NodeTypeListResponse, NodeTypeRow
from controllers.openapi.auth.context import Context
from core.workflow.node_factory import LATEST_VERSION, get_node_type_classes_mapping
from services.workflow.execution.adapters.node_factory import LATEST_VERSION, get_node_type_classes_mapping
from services.workflow.node_defaults import complete_sub_models, node_data_type
from services.workflow_service import WorkflowService

Expand Down
Loading
Loading