5041d96bb1
Merge commit 'fb41b215' into sandboxed-agent-rebase
...
Made-with: Cursor
# Conflicts:
# .devcontainer/post_create_command.sh
# api/commands.py
# api/core/agent/cot_agent_runner.py
# api/core/agent/fc_agent_runner.py
# api/core/app/apps/workflow_app_runner.py
# api/core/app/entities/queue_entities.py
# api/core/app/entities/task_entities.py
# api/core/workflow/workflow_entry.py
# api/dify_graph/enums.py
# api/dify_graph/graph/graph.py
# api/dify_graph/graph_events/node.py
# api/dify_graph/model_runtime/entities/message_entities.py
# api/dify_graph/node_events/node.py
# api/dify_graph/nodes/agent/agent_node.py
# api/dify_graph/nodes/base/__init__.py
# api/dify_graph/nodes/base/entities.py
# api/dify_graph/nodes/base/node.py
# api/dify_graph/nodes/llm/entities.py
# api/dify_graph/nodes/llm/node.py
# api/dify_graph/nodes/tool/tool_node.py
# api/pyproject.toml
# api/uv.lock
# web/app/components/base/avatar/__tests__/index.spec.tsx
# web/app/components/base/avatar/index.tsx
# web/app/components/base/date-and-time-picker/time-picker/__tests__/index.spec.tsx
# web/app/components/base/file-uploader/file-from-link-or-local/index.tsx
# web/app/components/base/prompt-editor/index.tsx
# web/app/components/datasets/metadata/edit-metadata-batch/modal.tsx
# web/app/components/header/account-dropdown/index.spec.tsx
# web/app/components/share/text-generation/index.tsx
# web/app/components/workflow/block-selector/tool/action-item.tsx
# web/app/components/workflow/block-selector/trigger-plugin/action-item.tsx
# web/app/components/workflow/hooks/use-edges-interactions.ts
# web/app/components/workflow/hooks/use-nodes-interactions.ts
# web/app/components/workflow/index.tsx
# web/app/components/workflow/nodes/_base/components/editor/code-editor/index.tsx
# web/app/components/workflow/nodes/http/components/key-value/key-value-edit/index.tsx
# web/app/components/workflow/nodes/human-input/components/delivery-method/recipient/email-item.tsx
# web/app/components/workflow/nodes/loop/use-interactions.ts
# web/contract/router.ts
# web/env.ts
# web/eslint-suppressions.json
# web/package.json
# web/pnpm-lock.yaml
2026-03-23 10:52:06 +08:00
cbdcdcc2b9
fix: resolve test failures after segment 2 merge
...
- Backend: fix deduct_llm_quota import path in llm node
- Backend: update core.variables → core.workflow.variables imports
- Frontend: update UpdateWorkflowNodesMapPayload in tests
- Frontend: fix various test expectations to match merged code
Made-with: Cursor
2026-03-23 09:18:26 +08:00
cccff6768a
Merge commit '9c339239' into sandboxed-agent-rebase
...
Made-with: Cursor
# Conflicts:
# api/README.md
# api/controllers/console/app/workflow_draft_variable.py
# api/core/agent/cot_agent_runner.py
# api/core/agent/fc_agent_runner.py
# api/core/app/apps/advanced_chat/app_runner.py
# api/core/plugin/backwards_invocation/model.py
# api/core/prompt/advanced_prompt_transform.py
# api/core/workflow/nodes/base/node.py
# api/core/workflow/nodes/llm/llm_utils.py
# api/core/workflow/nodes/llm/node.py
# api/core/workflow/nodes/parameter_extractor/parameter_extractor_node.py
# api/core/workflow/nodes/question_classifier/question_classifier_node.py
# api/core/workflow/runtime/graph_runtime_state.py
# api/extensions/storage/base_storage.py
# api/factories/variable_factory.py
# api/pyproject.toml
# api/services/variable_truncator.py
# api/uv.lock
# web/app/account/oauth/authorize/page.tsx
# web/app/components/app/configuration/config-var/config-modal/field.tsx
# web/app/components/base/alert.tsx
# web/app/components/base/chat/chat/answer/human-input-content/executed-action.tsx
# web/app/components/base/chat/chat/answer/more.tsx
# web/app/components/base/chat/chat/answer/operation.tsx
# web/app/components/base/chat/chat/answer/workflow-process.tsx
# web/app/components/base/chat/chat/citation/index.tsx
# web/app/components/base/chat/chat/citation/popup.tsx
# web/app/components/base/chat/chat/citation/progress-tooltip.tsx
# web/app/components/base/chat/chat/citation/tooltip.tsx
# web/app/components/base/chat/chat/question.tsx
# web/app/components/base/chat/embedded-chatbot/inputs-form/index.tsx
# web/app/components/base/chat/embedded-chatbot/inputs-form/view-form-dropdown.tsx
# web/app/components/base/markdown-blocks/form.tsx
# web/app/components/base/prompt-editor/plugins/hitl-input-block/component-ui.tsx
# web/app/components/base/tag-management/panel.tsx
# web/app/components/base/tag-management/trigger.tsx
# web/app/components/header/account-setting/index.tsx
# web/app/components/header/account-setting/members-page/transfer-ownership-modal/index.tsx
# web/app/components/header/account-setting/model-provider-page/provider-added-card/index.tsx
# web/app/signin/utils/post-login-redirect.ts
# web/eslint-suppressions.json
# web/package.json
# web/pnpm-lock.yaml
2026-03-23 09:00:45 +08:00
5ff7d2c895
refactor: move to modern monaco ( #32966 )
2026-03-11 17:44:12 +08:00
9c33923985
feat(tests): add comprehensive test suite for workflow utilities and node creation ( #32841 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com >
Co-authored-by: Asuka Minato <i@asukaminato.eu.org >
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com >
2026-03-02 18:24:01 +08:00
4f38229fbc
feat: Adding error handle support for Agent Node ( #31596 )
2026-02-26 14:28:24 +09:00
e32490f54e
feat(workflow): enhance workflow run history management and UI updates ( #32230 )
2026-02-11 14:09:33 +08:00
2da770cdbd
feat: add File Upload node functionality and related components
...
- Implemented File Upload node with support for uploading files to the sandbox.
- Added necessary UI components including node panel and default configurations.
- Enhanced workflow constants and enums to include File Upload.
- Updated error handling for file upload operations.
- Integrated File Upload into existing workflow structure, ensuring compatibility with variable handling and output management.
- Added translations for new File Upload features in workflow.json.
2026-02-10 20:51:31 +08:00
ca243d7efc
chore(web): pre-align HITL frontend from build/feat/hitl
2026-02-09 15:34:15 +08:00
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
bc1d3bdf57
refactor: Extract nested node ID parsing into shared utility
2026-01-30 22:24:30 +08:00
dbc32af932
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
...
# Conflicts:
# api/app.py
# api/controllers/console/app/generator.py
# api/core/llm_generator/llm_generator.py
# web/eslint-suppressions.json
# web/pnpm-lock.yaml
# web/tailwind-common-config.ts
2026-01-30 20:08:35 +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
b7e752078c
fix: trigger doc link ( #31754 )
2026-01-30 17:30:24 +08:00
fedd097f63
feat: Human Input node (Frontend Part) ( #31631 )
...
Co-authored-by: JzoNg <jzongcode@gmail.com >
Co-authored-by: Joel <iamjoel007@gmail.com >
Co-authored-by: yessenia <yessenia.contact@gmail.com >
Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com >
2026-01-30 10:16:46 +08:00
c8a0a2c00d
perf(workflow): skip unnecessary query subscriptions for non-plugin nodes
...
Add `enabled` parameter to tool query hooks so non-plugin nodes
(LLM, Code, IfElse, etc.) avoid registering React Query observers.
Extract shared matching functions into plugin-install-check utils to
eliminate duplicate logic between the hook and the checklist.
2026-01-30 01:46:50 +08:00
464b92da32
fix(workflow): eliminate infinite loop in plugin install state management
...
Replace useEffect-based state sync (_pluginInstallLocked/_dimmed) with
render-time derived computation in BaseNode, breaking the cycle of
effect → node data update → re-render → effect. Extract plugin missing
check into a pure utility function for checklist reuse.
2026-01-30 01:30:57 +08:00
ffca687f4e
fix: Add type safety for LLM node context variable_selector
2026-01-27 23:12:03 +08:00
54fce5e903
feat: Add @agent icon and implement agent alias variables in workflow
...
inspector
2026-01-27 02:42:37 +08:00
b99311baa0
chore: remove useless toolid
2026-01-26 18:09:46 +08:00
1483a51aa1
Merge branch 'feat/pull-a-variable' into feat/support-agent-sandbox
2026-01-20 09:54:41 +08:00
92c54d3c9d
feat: merge app and meta defaults when creating workflow nodes
2026-01-19 23:56:15 +08:00
f44305af0d
feat: add AssembleVariablesAlt icon and integrate into sub-graph
...
components.
2026-01-19 22:31:04 +08:00
e85e31773a
Merge branch 'zhsama/llm-warning-ui' into feat/pull-a-variable
2026-01-16 16:22:07 +08:00
760a739e91
Merge branch 'main' into feat/grouping-branching
...
# Conflicts:
# web/package.json
2026-01-06 22:00:01 +08:00
1c7c475c43
feat: add Command node support
...
- Introduced Command node type in workflow with associated UI components and translations.
- Enhanced SandboxLayer to manage sandbox attachment for Command nodes during execution.
- Updated various components and constants to integrate Command node functionality across the workflow.
2026-01-06 19:30:38 +08:00
9012dced6a
feat(workflow): improve group node interaction handling
...
- Enhanced `useNodesInteractions` to better manage group node handlers and connections, ensuring accurate identification of leaf nodes and their branches.
- Updated logic to create handlers based on node connections, differentiating between internal and external connections.
- Refined initial node setup to include target branches for group nodes, improving the overall interaction model for grouped elements.
2026-01-05 17:42:31 +08:00
60250355cb
feat(workflow): enhance group edge management and validation
...
- Introduced `createGroupInboundEdges` function to manage edges for group nodes, ensuring proper connections to head nodes.
- Updated edge creation logic to handle group nodes in both inbound and outbound scenarios, including temporary edges.
- Enhanced validation in `useWorkflow` to check connections for group nodes based on their head nodes.
- Refined edge processing in `preprocessNodesAndEdges` to ensure correct handling of source handles for group edges.
2026-01-05 15:48:26 +08:00
8834e6e531
feat(workflow): enhance group node functionality with head and leaf node tracking
...
- Added headNodeIds and leafNodeIds to GroupNodeData to track nodes that receive input and send output outside the group.
- Updated useNodesInteractions hook to include headNodeIds in the group node data.
- Modified isValidConnection logic in useWorkflow to validate connections based on leaf node types for group nodes.
- Enhanced preprocessNodesAndEdges to rebuild temporary edges for group nodes, connecting them to external nodes for visual representation.
2026-01-04 20:45:42 +08:00
bd338a9043
Merge branch 'main' into feat/grouping-branching
2026-01-02 01:34:02 +08:00
2aaaa4bd34
feat(web): migrate from es-toolkit/compat to native es-toolkit ( #30244 ) ( #30246 )
2025-12-31 11:13:22 +08:00
5157e1a96c
Merge branch 'main' into feat/grouping-branching
2025-12-29 23:33:28 +08:00
3cbbb06dc4
chore(web): migrate lodash-es to es-toolkit compat ( #30126 )
2025-12-25 09:44:57 +08:00
b513933040
Merge branch 'main' into feat/grouping-branching
...
# Conflicts:
# web/app/components/workflow/block-icon.tsx
# web/app/components/workflow/hooks/use-nodes-interactions.ts
# web/app/components/workflow/index.tsx
# web/app/components/workflow/nodes/components.ts
# web/app/components/workflow/selection-contextmenu.tsx
# web/app/components/workflow/utils/workflow-init.ts
2025-12-23 23:55:21 +08:00
f2842da397
chore(web): new lint setup ( #30020 )
...
Co-authored-by: yyh <yuanyouhuilyz@gmail.com >
2025-12-23 16:58:55 +08:00
93b516a4ec
feat: add UI-only group node types and enhance workflow graph processing
2025-12-22 17:35:33 +08:00
e3bfb95c52
feat: implement grouping availability checks in selection context menu
2025-12-18 17:11:34 +08:00
752cb9e4f4
feat: enhance selection context menu with alignment options and grouping functionality
...
- Added alignment buttons for nodes with tooltips in the selection context menu.
- Implemented grouping functionality with a new "Make group" option, including keyboard shortcuts.
- Updated translations for the new grouping feature in multiple languages.
- Refactored node selection logic to improve performance and readability.
2025-12-17 19:52:02 +08:00
c2f2be6b08
fix: oxlint no unused expressions ( #29675 )
...
Co-authored-by: daniel <daniel@example.com >
2025-12-16 18:00:04 +08:00
4486b54680
Clean up legacy conditions data in if-else nodes to prevent misjudgments ( #28148 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-11-21 14:26:57 +08:00
b76e17b25d
feat: introduce trigger functionality ( #27644 )
...
Signed-off-by: lyzno1 <yuanyouhuilyz@gmail.com >
Co-authored-by: Stream <Stream_2@qq.com >
Co-authored-by: lyzno1 <92089059+lyzno1@users.noreply.github.com >
Co-authored-by: zhsama <torvalds@linux.do >
Co-authored-by: Harry <xh001x@hotmail.com >
Co-authored-by: lyzno1 <yuanyouhuilyz@gmail.com >
Co-authored-by: yessenia <yessenia.contact@gmail.com >
Co-authored-by: hjlarry <hjlarry@163.com >
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: WTW0313 <twwu@dify.ai >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2025-11-12 17:59:37 +08:00
43bcf40f80
refactor: update installed app component to handle missing params and improve type safety ( #27331 )
2025-10-27 14:38:58 +08:00
73e217ab0d
Fix type error ( #27250 )
2025-10-22 13:06:15 +08:00
22f64d60bb
chore: update Dockerfile to use Python 3.12-bookworm and refactor layout logic to utilize ELK for improved node layout ( #26522 )
2025-10-05 12:49:41 +08:00
915023b809
Chore/remove add node restrict of workflow ( #26218 )
...
Co-authored-by: -LAN- <laipz8200@outlook.com >
2025-09-25 18:02:43 +08:00
85cda47c70
feat: knowledge pipeline ( #25360 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com >
Co-authored-by: twwu <twwu@dify.ai >
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com >
Co-authored-by: jyong <718720800@qq.com >
Co-authored-by: Wu Tianwei <30284043+WTW0313@users.noreply.github.com >
Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com >
Co-authored-by: lyzno1 <yuanyouhuilyz@gmail.com >
Co-authored-by: quicksand <quicksandzn@gmail.com >
Co-authored-by: Jyong <76649700+JohnJyong@users.noreply.github.com >
Co-authored-by: lyzno1 <92089059+lyzno1@users.noreply.github.com >
Co-authored-by: zxhlyh <jasonapring2015@outlook.com >
Co-authored-by: Yongtao Huang <yongtaoh2022@gmail.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Joel <iamjoel007@gmail.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: nite-knite <nkCoding@gmail.com >
Co-authored-by: Hanqing Zhao <sherry9277@gmail.com >
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Harry <xh001x@hotmail.com >
2025-09-18 12:49:10 +08:00
8d5f788f2b
feat(workflow): Allow paste node into nested block ( #24234 )
...
Co-authored-by: crab.huang <crab.huang@huolala.cn >
2025-09-04 15:21:43 +08:00
7ee170f0a7
Feat node search ( #23685 )
...
Co-authored-by: GuanMu <ballmanjq@gmail.com >
Co-authored-by: zhujiruo <zhujiruo@foxmail.com >
Co-authored-by: Matri Qi <matrixdom@126.com >
Co-authored-by: croatialu <wuli.croatia@foxmail.com >
Co-authored-by: HyaCinth <88471803+HyaCiovo@users.noreply.github.com >
Co-authored-by: lyzno1 <92089059+lyzno1@users.noreply.github.com >
2025-08-11 10:19:52 +08:00
17a8f1a0f1
fix: avoid using node_data.version for judgement tool node version ( #22462 )
...
Co-authored-by: JzoNg <jzongcode@gmail.com >
2025-07-21 09:28:47 +08:00
5375d9bb27
feat: the frontend part of mcp ( #22131 )
...
Co-authored-by: jZonG <jzongcode@gmail.com >
Co-authored-by: Novice <novice12185727@gmail.com >
Co-authored-by: nite-knite <nkCoding@gmail.com >
Co-authored-by: Hanqing Zhao <sherry9277@gmail.com >
2025-07-10 14:14:02 +08:00