Yansong Zhang
e50c36526e
fix(api): fix transparent upgrade SSE channel mismatch and chat mode routing
...
- workflow_execute_task: add AppMode.CHAT/AGENT_CHAT/COMPLETION to the
AdvancedChatAppGenerator routing branch so transparently upgraded old
apps can execute through the workflow engine.
- app_generate_service: use app_model.mode (not hardcoded AppMode.AGENT)
for SSE event subscription channel, ensuring the subscriber and
Celery publisher use the same Redis channel key.
Made-with: Cursor
2026-04-09 17:27:41 +08:00
Yansong Zhang
44491e427c
feat(api): enable all sandbox/skill controller routes and resolve dependencies (P0)
...
Resolve the full dependency chain to enable all previously disabled controllers:
Enabled routes:
- sandbox_files: sandbox file browser API
- sandbox_providers: sandbox provider management API
- app_asset: app asset management API
- skills: skill extraction API
- CLI API blueprint: DifyCli callback endpoints (/cli/api/*)
Dependencies extracted (64 files, ~8000 lines):
- models/sandbox.py, models/app_asset.py: DB models
- core/zip_sandbox/: zip-based sandbox execution
- core/session/: CLI API session management
- core/memory/: base memory + node token buffer
- core/helper/creators.py: helper utilities
- core/llm_generator/: context models, output models, utils
- core/workflow/nodes/command/: command node type
- core/workflow/nodes/file_upload/: file upload node type
- core/app/entities/: app_asset_entities, app_bundle_entities, llm_generation_entities
- services/: asset_content, skill, workflow_collaboration, workflow_comment
- controllers/console/app/error.py: AppAsset error classes
- core/tools/utils/system_encryption.py
Import fixes:
- dify_graph.enums -> graphon.enums in skill_service.py
- get_signed_file_url_for_plugin -> get_signed_file_url in cli_api.py
All 5 controllers verified: import OK, Flask starts successfully.
46 existing tests still pass.
Made-with: Cursor
2026-04-09 09:36:16 +08:00
Yansong Zhang
d9d1e9b63a
fix(api): resolve Agent V2 node E2E runtime issues
...
Fixes discovered during end-to-end testing of Agent workflow execution:
1. ModelManager instantiation: use ModelManager.for_tenant() instead of
ModelManager() which requires a ProviderManager argument
2. Variable template resolution: use VariableTemplateParser(template).format()
instead of non-existent resolve_template() static method
3. invoke_llm() signature: remove unsupported 'user' keyword argument
4. Event dispatch: remove ModelInvokeCompletedEvent from _run() yield
(graphon base Node._dispatch doesn't support it via singledispatch)
5. NodeRunResult metadata: use WorkflowNodeExecutionMetadataKey enum keys
(TOTAL_TOKENS, TOTAL_PRICE, CURRENCY) instead of arbitrary string keys
6. SSE topic mismatch: use AppMode.AGENT (not ADVANCED_CHAT) in
retrieve_events() so publisher and subscriber share the same channel
7. Celery task routing: add AppMode.AGENT to workflow_execute_task._run_app()
alongside ADVANCED_CHAT
All issues verified fixed: Agent V2 node successfully invokes LLM and
returns "Hello there!" through the full SSE streaming pipeline.
Made-with: Cursor
2026-04-08 16:21:12 +08:00
Renzo and GitHub
2127d5850f
refactor: replace untyped dicts with TypedDict in VDB config classes ( #34697 )
2026-04-08 00:57:11 +00:00
carlos4s and GitHub
ae9fcc2969
refactor: use sessionmaker in controllers, events, models, and tasks 1 ( #34693 )
2026-04-07 23:47:20 +00:00
cb55176612
refactor: migrate session.query to select API in small task files batch ( #34684 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-07 22:58:23 +00:00
Renzo and GitHub
e2ecd68556
refactor: migrate session.query to select API in rag pipeline task files ( #34648 )
2026-04-07 05:56:19 +00:00
Renzo and GitHub
173e818a62
refactor: migrate session.query to select API in summary and remove document tasks ( #34650 )
2026-04-07 05:55:31 +00:00
Renzo and GitHub
3e995e6a6d
refactor: migrate session.query to select API in document task files ( #34646 )
2026-04-07 05:53:21 +00:00
Renzo and GitHub
1194957fde
refactor: migrate session.query to select API in end_user_service and small tasks ( #34620 )
2026-04-07 04:25:55 +00:00
Renzo and GitHub
68bd29eda2
refactor: migrate session.query to select API in sync task and services ( #34619 )
2026-04-07 04:23:14 +00:00
Renzo and GitHub
ac8bd12609
refactor: migrate session.query to select API in small task files ( #34617 )
2026-04-07 04:13:22 +00:00
8f9dbf269e
chore(api): align Python support with 3.12 ( #34419 )
...
Co-authored-by: Asuka Minato <[email protected] >
2026-04-02 05:07:32 +00:00
40591a7c50
refactor(api): use standalone graphon package ( #34209 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-27 21:05:32 +00:00
5a8a68cab8
feat: enterprise otel exporter ( #33138 )
...
Co-authored-by: QuantumGhost <[email protected] >
Co-authored-by: Yunlu Wen <[email protected] >
Co-authored-by: Copilot <[email protected] >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-27 07:56:31 +00:00
2ea85d3ba2
refactor: use EnumText for model_type and WorkflowNodeExecution.status ( #34093 )
...
Co-authored-by: Krishna Chaitanya <[email protected] >
2026-03-26 20:34:44 +00:00
99 and GitHub
52e7492cbc
refactor(api): rename dify_graph to graphon ( #34095 )
2026-03-25 21:58:56 +08:00
56593f20b0
refactor(api): continue decoupling dify_graph from API concerns ( #33580 )
...
Signed-off-by: -LAN- <[email protected] >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: WH-2099 <[email protected] >
2026-03-25 20:32:24 +08:00
d87263f7c3
refactor: select in console datasets document controller ( #34029 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-25 12:47:25 +09:00
tmimmanuel and GitHub
8b634a9bee
refactor: use EnumText for ApiToolProvider.schema_type_str and Docume… ( #33983 )
2026-03-24 13:27:50 +09:00
tmimmanuel and GitHub
20fc69ae7f
refactor: use EnumText for WorkflowAppLog.created_from and WorkflowArchiveLog columns ( #33954 )
2026-03-24 02:44:46 +09:00
3870b2ad2d
refactor: use EnumText for dataset and replace string literals 4 ( #33606 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-18 09:18:08 +09:00
57d476d4e2
feat: apply markdown rendering to HITL email, sanitize email subject and body ( #32305 )
...
This PR:
1. Fixes the bug that email body of `HumanInput` node are sent as-is, without markdown rendering or sanitization
2. Applies HTML sanitization to email subject and body
3. Removes `\r` and `\n` from email subject to prevent SMTP header injection
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: QuantumGhost <[email protected] >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-16 16:52:46 +08:00
-LAN- and GitHub
fb41b215c8
refactor(api): move workflow knowledge nodes and trigger nodes ( #33445 )
2026-03-15 15:24:59 +08:00
e64f4d6039
refactor: replace sa.String with EnumText in mapped_column for type s… ( #33332 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Claude Opus 4.6 <[email protected] >
2026-03-14 13:38:27 +09:00
9970f4449a
refactor: reuse redis connection instead of create new one ( #32678 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-09 15:53:21 +08:00
Junyan Chin and GitHub
c477571553
perf: no longer record install count for auto upgrade ( #33086 )
2026-03-06 16:19:30 +08:00
eux and GitHub
e74cda6535
feat(tasks): isolate summary generation to dedicated dataset_summary queue ( #32972 )
2026-03-06 14:35:28 +08:00
e1e1f81bde
perf(api): utilize the message_workflow_run_id_idx while querying messages ( #32944 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-04 14:11:14 +08:00
wangxiaolei and GitHub
e14b09d4db
refactor: human input node decouple db ( #32900 )
2026-03-04 13:18:32 +08:00
-LAN- and GitHub
4fd6b52808
refactor(api): move model_runtime into dify_graph ( #32858 )
2026-03-02 20:15:32 +08:00
-LAN- and GitHub
c917838f9c
refactor: move workflow package to dify_graph ( #32844 )
2026-03-02 18:42:30 +08:00
weiguang li and GitHub
b462a96fa0
fix: serialize data_source_info with json.dumps in Notion sync task ( #32747 )
2026-03-01 19:37:51 +08:00
d546210040
refactor: document_indexing_sync_task split db session ( #32129 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-09 17:12:16 +08:00
a1fc280102
feat: Human Input Node ( #32060 )
...
The frontend and backend implementation for the human input node.
Co-authored-by: twwu <[email protected] >
Co-authored-by: JzoNg <[email protected] >
Co-authored-by: yyh <[email protected] >
Co-authored-by: zhsama <[email protected] >
2026-02-09 14:57:23 +08:00
aead4fe65c
refactor: document_indexing_update_task split database session ( #32105 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-09 10:49:23 +08:00
aa800d838d
refactor: partition Celery task sessions into smaller, discrete execu… ( #32085 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-08 21:01:54 +08:00
2c9430313d
fix: redis for api token ( #31861 )
...
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: hj24 <[email protected] >
2026-02-06 16:25:27 +08:00
4971e11734
perf: use batch delete method instead of single delete ( #32036 )
...
Co-authored-by: fatelei <[email protected] >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: FFXN <[email protected] >
2026-02-06 15:12:32 +08:00
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 <[email protected] >
Co-authored-by: Copilot <[email protected] >
2026-02-05 18:58:17 +08:00
wangxiaolei and GitHub
b886b3f6c8
fix: fix miss use db.session ( #31971 )
2026-02-05 14:42:34 +08:00
0dfa59b1db
fix: fix delete_draft_variables_batch cycle forever ( #31934 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-04 19:10:27 +08:00
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 and GitHub
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
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 <[email protected] >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: -LAN- <[email protected] >
Co-authored-by: 盐粒 Yanli <[email protected] >
Co-authored-by: CrabSAMA <[email protected] >
Co-authored-by: Stephen Zhou <[email protected] >
Co-authored-by: Copilot <[email protected] >
Co-authored-by: yihong <[email protected] >
Co-authored-by: Joel <[email protected] >
2026-01-30 10:18:49 +08:00
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 <[email protected] >
Co-authored-by: zxhlyh <[email protected] >
Co-authored-by: Yansong Zhang <[email protected] >
Co-authored-by: hj24 <[email protected] >
Co-authored-by: CodingOnStar <[email protected] >
Co-authored-by: CodingOnStar <[email protected] >
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-29 13:47:35 +08:00
Junyan Qin (Chin) and GitHub
f01f555146
chore: increase plugin cache ttl to 1 hour ( #31552 )
2026-01-26 19:48:33 +08:00
fa92548cf6
feat: archive workflow run logs backend ( #31310 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-23 13:11:56 +08:00
121d301a41
refactor: use session factory instead of call db.session directly ( #31198 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-21 13:43:06 +08:00
-LAN- and GitHub
55de731f9c
refactor(api): clarify published RAG pipeline invoke naming ( #30644 )
2026-01-06 23:48:06 +09:00