WH-2099
fe5c87a40c
refactor(workflow-file): enhance type hints for storage_load method and add overloads for load method
2026-02-12 15:34:20 +08:00
WH-2099
3cd41f9447
fix(workflow-file): satisfy basedpyright for runtime protocol wiring
...
Align workflow file runtime protocols with actual httpx response behavior so strict type checks pass consistently in CI.
Changes
- Update HttpResponseProtocol.content to a read-only property, matching httpx.Response semantics.
- Relax HttpResponseProtocol.raise_for_status return type to object, compatible with httpx returning self.
- Mark _UnconfiguredWorkflowFileRuntime._raise as NoReturn to remove false positive "must return value on all code paths" errors for protocol methods.
Context
- Fixes type-check failures from basedpyright on:
- core/app/workflow/file_runtime.py
- core/workflow/file/runtime.py
Verification
- basedpyright on touched workflow-file modules reports 0 errors.
2026-02-12 15:34:20 +08:00
autofix-ci[bot]
e8a26df82a
[autofix.ci] apply automated fixes
2026-02-12 15:34:20 +08:00
WH-2099
b4c0fb9463
refactor(workflow-file): phase2 replace remaining imports and remove core.file
...
Complete phase 2 of the file module migration by replacing the remaining repository-wide legacy imports and deleting the temporary core.file compatibility package introduced in phase 1.
What this commit changes
- Replace legacy core.file.* imports with core.workflow.file.* across:
- controllers
- core app/agent/datasource/prompt/rag/tools/variables
- factories, fields, libs, models, services
- otel parser integration points
- unit and integration tests that referenced legacy paths
- Migrate residual runtime usages in app/task pipeline paths that still referenced core.file symbols.
- Update tests and model serialization helpers that relied on old module paths.
- Remove the compatibility bridge package entirely:
- delete core/file/__init__.py
- delete core/file/constants.py
- delete core/file/enums.py
- delete core/file/file_manager.py
- delete core/file/helpers.py
- delete core/file/models.py
- delete core/file/tool_file_parser.py
Verification
- No Python references to core.file remain ( -> empty).
- Targeted regression tests for migrated file primitives and factory/type flows passed:
- tests/unit_tests/core/test_file.py
- tests/unit_tests/factories/test_variable_factory.py
- tests/unit_tests/services/test_variable_truncator.py
Result
- The repository now uses core.workflow.file as the single canonical file namespace.
- The migration is fully split into two commits: phase 1 compatibility + phase 2 full cutover.
2026-02-12 15:34:20 +08:00
WH-2099
c56d650e83
refactor(workflow-file): phase1 migrate workflow file deps with compatibility bridge
...
Implement phase 1 of the file module migration by moving workflow-facing file primitives to core.workflow.file while keeping core.file as a temporary compatibility layer.
What this commit changes
- Add core.workflow.file package (constants/enums/models/helpers/file_manager/tool_file_parser).
- Add protocol-based runtime binding in core.workflow.file.runtime and core.workflow.file.protocols.
- Add application adapter core.app.workflow.file_runtime and bind runtime in extensions.ext_storage.init_app.
- Bind runtime in tests via tests/conftest.py.
- Migrate workflow-only imports from core.file.* to core.workflow.file.* across workflow runtime/nodes/entry/encoder and workflow node factory.
- Update workflow unit tests to patch/import the new workflow file namespace.
- Remove workflow-external-imports ignore_imports entries related to core.file from .importlinter.
Compatibility guarantee for phase split
- Keep core.file import path available in this phase by replacing core/file/*.py with forwarding bridge modules that re-export core.workflow.file symbols.
- Preserve runtime behavior and isinstance(File) identity consistency while non-workflow modules are still on legacy import paths.
Notes
- This commit intentionally does not remove core.file. Full repository replacement and bridge removal are handled in phase 2.
2026-02-12 15:34:19 +08:00
wangxiaolei
0310f631ee
fix: fix get_message_event_type return wrong message type ( #32019 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-11 10:57:27 +08:00
QuantumGhost
704ee40caa
fix(api): excessive high CPU usage caused by RedisClientWrapper ( #32212 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-02-11 09:49:29 +08:00
weiguang li
14251b249d
fix(api): include file marker for workflow tool file outputs ( #32114 )
2026-02-10 16:51:12 +08:00
QuantumGhost
a1fc280102
feat: Human Input Node ( #32060 )
...
The frontend and backend implementation for the human input node.
Co-authored-by: twwu <twwu@dify.ai >
Co-authored-by: JzoNg <jzongcode@gmail.com >
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com >
Co-authored-by: zhsama <torvalds@linux.do >
2026-02-09 14:57:23 +08:00
wangxiaolei
3348b89436
refactor: decouple database operations from knowledge retrieval nodes ( #31981 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-09 13:56:55 +08:00
wangxiaolei
483db22b97
feat: extract mcp tool usage ( #31802 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-09 09:52:14 +08:00
wangxiaolei
a297b06aac
fix: fix tool type is miss ( #32042 )
2026-02-06 14:38:15 +08:00
wangxiaolei
b24e6edada
fix: fix agent node tool type is not right ( #32008 )
...
Infer real tool type via querying relevant database tables.
The root cause for incorrect `type` field is still not clear.
2026-02-06 11:24:39 +08:00
99
45164ce33e
refactor: strip external imports in workflow template transform ( #32017 )
2026-02-06 10:37:26 +08:00
99
095b3ee234
chore: Remove redundant double space in variable type description (core/variables/variables.py) ( #32002 )
2026-02-05 21:44:31 +08:00
Stream
e04f2a0786
feat: use static manifest for pre-caching all plugin manifests before checking updates ( #31942 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Junyan Qin <rockchinq@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-05 18:58:17 +08:00
Asuka Minato
491fa9923b
refactor: port api/controllers/console/datasets/data_source.py /datasets/metadata.py /service_api/dataset/metadata.py /nodes/agent/agent_node.py api/core/workflow/nodes/datasource/datasource_node.py api/services/dataset_service.py to match case ( #31836 )
2026-02-02 21:03:16 +09:00
Asuka Minato
ce2c41bbf5
refactor: port api/controllers/console/datasets/datasets_document.py api/controllers/service_api/app/annotation.py api/core/app/app_config/easy_ui_based_app/agent/manager.py api/core/app/apps/pipeline/pipeline_generator.py api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py to match case ( #31832 )
2026-02-02 19:07:30 +09:00
FFXN
41177757e6
fix: summary index bug ( #31810 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Jyong <76649700+JohnJyong@users.noreply.github.com >
Co-authored-by: zxhlyh <jasonapring2015@outlook.com >
Co-authored-by: Yansong Zhang <916125788@qq.com >
Co-authored-by: hj24 <mambahj24@gmail.com >
Co-authored-by: CodingOnStar <hanxujiang@dify.ai >
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-02-02 09:45:17 +08:00
yyh
4f826b4641
refactor(typing): use enum types for workflow status fields ( #31792 )
2026-02-02 09:41:34 +08:00
Asuka Minato
7828508b30
refactor: remove all reqparser ( #29289 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com >
2026-02-01 13:43:14 +09:00
盐粒 Yanli
b8cb5f5ea2
refactor(typing): Fixup typing A2 - workflow engine & nodes ( #31723 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Asuka Minato <i@asukaminato.eu.org >
2026-01-31 18:00:56 +09:00
盐粒 Yanli
5bc99995fc
fix(api): align graph protocols for response streaming ( #31777 )
2026-01-31 01:57:36 +09:00
lif
24b280a0ed
fix(i18n): improve Chinese translation of Max Tokens ( #31771 )
...
Signed-off-by: majiayu000 <1835304752@qq.com >
2026-01-30 20:19:35 +08:00
QuantumGhost
90fe9abab7
revert: revert human input relevant code ( #31766 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-30 19:18:49 +08:00
QuantumGhost
f90fa2b186
fix(api): fix workflow state persistence issue ( #31752 )
...
Ensure workflow pause configuration is correctly set for all entrypoints.
2026-01-30 17:44:29 +08:00
盐粒 Yanli
5a7dfd15b8
fix: Drain non-stream plugin chunk iterator ( #31564 )
2026-01-30 16:54:56 +08:00
Asuka Minato
89abea26f9
refactor: rm some dict api/controllers/console/app/generator.py api/core/llm_generator/llm_generator.py ( #31709 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-30 17:37:20 +09:00
Jax
95d68437d1
fix(redis): Redis Cluster eval errors by adding hash tags to trigger debug keys ( #31701 )
2026-01-30 16:05:02 +08:00
QuantumGhost
03e3acfc71
feat(api): Human Input Node (backend part) ( #31646 )
...
The backend part of the human in the loop (HITL) feature and relevant architecture / workflow engine changes.
Signed-off-by: yihong0618 <zouzou0208@gmail.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: -LAN- <laipz8200@outlook.com >
Co-authored-by: 盐粒 Yanli <yanli@dify.ai >
Co-authored-by: CrabSAMA <40541269+CrabSAMA@users.noreply.github.com >
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: yihong <zouzou0208@gmail.com >
Co-authored-by: Joel <iamjoel007@gmail.com >
2026-01-30 10:18:49 +08:00
盐粒 Yanli
5bf0251554
chore(typing): reduce ty excludes for A1 ( #31721 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-30 02:38:57 +08:00
Nie Ronghua
ceb6914793
refactor(model): Refactor plugin model schema cache to be process-global to prevent redundant Daemon API calls ( #31689 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: -LAN- <laipz8200@outlook.com >
2026-01-29 14:31:15 +08:00
盐粒 Yanli
dbfc47e8b0
fix: SSRF in WordExtractor URL download (credit to @EaEa0001 ) ( #31678 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-29 14:01:21 +08:00
FFXN
c2473d85dc
feat: Add summary index for knowledge. ( #31625 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Jyong <76649700+JohnJyong@users.noreply.github.com >
Co-authored-by: zxhlyh <jasonapring2015@outlook.com >
Co-authored-by: Yansong Zhang <916125788@qq.com >
Co-authored-by: hj24 <mambahj24@gmail.com >
Co-authored-by: CodingOnStar <hanxujiang@dify.ai >
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-29 13:47:35 +08:00
eux
b48a10d7ec
feat(qdrant): implement full-text search with multi-keyword support ( #31658 )
2026-01-29 11:12:18 +08:00
fenglin
91532ef429
fix: add list type support for ToolInput constant value in tool node ( #31276 )
...
Co-authored-by: qiaofenglin <qiaofenglin@baidu.com >
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-29 10:49:29 +08:00
-LAN-
24ebe2f5c6
refactor(graph_engine): Add a Config class for graph engine. ( #31663 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com >
2026-01-28 19:57:55 +08:00
-LAN-
3d414678e3
fix(graph_engine): Cannot run single iteration or loop node ( #31470 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com >
Co-authored-by: Yeuoly <45712896+Yeuoly@users.noreply.github.com >
2026-01-28 01:05:59 +08:00
-LAN-
d76ad15fca
refactor(graph_engine): move observability layer and persistence laye… ( #31620 )
2026-01-28 00:54:21 +08:00
heyszt
eca26a9b9b
feat: Enhances OpenTelemetry node parsers ( #30706 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-27 15:30:21 +08:00
E.G
f6be9cd90d
refactor: replace request.args.get with Pydantic BaseModel validation ( #31104 )
...
Co-authored-by: GlobalStar117 <GlobalStar117@users.noreply.github.com >
Co-authored-by: Asuka Minato <i@asukaminato.eu.org >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-27 10:48:42 +08:00
wangxiaolei
e48419937b
feat: chatflow support multimodal ( #31293 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-27 00:24:48 +08:00
盐粒 Yanli
92011d0a31
refactor: LLM plugin invoke parsing ( #31499 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-26 14:59:57 +08:00
Asuka Minato
b9f1d65d4f
refactor: example of refine dict / Mapping ( #31498 )
2026-01-26 10:23:38 +08:00
TomoOkuyama
0772d49257
fix(api): fix IRIS hybrid search returning zero results ( #31309 )
...
Co-authored-by: Tomo Okuyama <tomo.okuyama@intersystems.com >
2026-01-24 10:29:19 +08:00
-LAN-
67eb8c052d
refactor: single-node workflow runner helpers ( #31472 )
2026-01-24 10:27:44 +08:00
fenglin
e8f9d64651
fix(tools): fix ToolInvokeMessage Union type parsing issue ( #31450 )
...
Co-authored-by: qiaofenglin <qiaofenglin@baidu.com >
2026-01-24 10:18:06 +08:00
-LAN-
c575c34ca6
refactor: Move workflow node factory to app workflow ( #31385 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com >
2026-01-22 18:08:21 +08:00
wangxiaolei
a112caf5ec
fix: use thread local isolation the context ( #31410 )
2026-01-22 18:02:54 +08:00
zejiewang
811e43d0d4
fix: non-auto variable type params of agent node tool are not correctly parsed ( #31128 )
...
Co-authored-by: wangzejie <wangzejie@meicai.cn >
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-22 14:43:21 +08:00