Novice
ee81ea882b
Merge branch 'feat/support-agent-sandbox' into sandboxed-agent-rebase
2026-03-23 20:19:16 +08:00
Novice
fd124e6d32
Merge main HEAD (segment 5) into sandboxed-agent-rebase
...
Resolve 83 conflicts: 10 backend, 62 frontend, 11 config/lock files.
Preserve sandbox/agent/collaboration features while adopting main's
UI refactorings (Dialog/AlertDialog/Popover), model provider updates,
and enterprise features.
Made-with: Cursor
2026-03-23 14:20:06 +08:00
Novice
a28f22e59d
fix: resolve import errors and test failures after segment 4 merge
...
- Update BaseNodeData import path to dify_graph.entities.base_node_data
- Change NodeType.COMMAND/FILE_UPLOAD to BuiltinNodeTypes constants
- Fix system_oauth_encryption -> system_encryption rename in commands
- Remove tests for deleted agent runner modules
- Fix Avatar: named import + string size API in collaboration files
- Add missing skill feature deps: @monaco-editor/react, react-arborist,
@tanstack/react-virtual
- Fix frontend test mocks: add useUserProfile, useLeaderRestoreListener,
next/navigation mock, and nodeOutputVars to expected payload
Made-with: Cursor
2026-03-23 13:59:09 +08:00
Novice
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
Novice
b15a9bea21
style: auto-format after segment 3 import migrations
...
Made-with: Cursor
2026-03-23 10:37:02 +08:00
Novice
6b75188ddc
fix: resolve import migrations and test failures after segment 3 merge
...
- Migrate core.model_runtime -> dify_graph.model_runtime across 20+ files
- Migrate core.workflow.file -> dify_graph.file across 15+ files
- Migrate core.workflow.enums -> dify_graph.enums in service files
- Fix SandboxContext phantom import in dify_graph/context/__init__.py
- Fix core.app.workflow.node_factory -> core.workflow.node_factory
- Fix toast import paths (useToastContext from toast/context)
- Fix app-info.tsx import paths for relocated app-operations
- Fix 15 frontend test files for API changes, missing QueryClientProvider,
i18n key renames, and component behavior changes
Made-with: Cursor
2026-03-23 10:31:11 +08:00
Novice
94b01f6821
Merge commit '92bde350' into sandboxed-agent-rebase
...
Made-with: Cursor
# Conflicts:
# api/controllers/console/app/workflow_draft_variable.py
# api/core/agent/cot_agent_runner.py
# api/core/agent/cot_chat_agent_runner.py
# api/core/agent/cot_completion_agent_runner.py
# api/core/agent/fc_agent_runner.py
# api/core/app/apps/advanced_chat/app_generator.py
# api/core/app/apps/advanced_chat/app_runner.py
# api/core/app/apps/agent_chat/app_runner.py
# api/core/app/apps/workflow/app_generator.py
# api/core/app/apps/workflow/app_runner.py
# api/core/app/entities/app_invoke_entities.py
# api/core/app/entities/queue_entities.py
# api/core/llm_generator/output_parser/structured_output.py
# api/core/workflow/workflow_entry.py
# api/dify_graph/context/__init__.py
# api/dify_graph/entities/tool_entities.py
# api/dify_graph/file/file_manager.py
# api/dify_graph/graph_engine/response_coordinator/coordinator.py
# api/dify_graph/graph_events/node.py
# api/dify_graph/node_events/node.py
# api/dify_graph/nodes/agent/agent_node.py
# api/dify_graph/nodes/llm/entities.py
# api/dify_graph/nodes/llm/llm_utils.py
# api/dify_graph/nodes/llm/node.py
# api/dify_graph/nodes/question_classifier/question_classifier_node.py
# api/dify_graph/runtime/graph_runtime_state.py
# api/dify_graph/variables/segments.py
# api/factories/variable_factory.py
# api/services/variable_truncator.py
# api/tests/unit_tests/utils/structured_output_parser/test_structured_output_parser.py
# api/uv.lock
# web/app/components/app-sidebar/app-info.tsx
# web/app/components/app-sidebar/app-sidebar-dropdown.tsx
# web/app/components/app/create-app-modal/index.spec.tsx
# web/app/components/apps/__tests__/list.spec.tsx
# web/app/components/apps/app-card.tsx
# web/app/components/apps/list.tsx
# web/app/components/header/account-dropdown/compliance.tsx
# web/app/components/header/account-dropdown/index.tsx
# web/app/components/header/account-dropdown/support.tsx
# web/app/components/workflow-app/components/workflow-onboarding-modal/index.tsx
# web/app/components/workflow/panel/debug-and-preview/hooks.ts
# web/contract/console/apps.ts
# web/contract/router.ts
# web/eslint-suppressions.json
# web/next.config.ts
# web/pnpm-lock.yaml
2026-03-23 09:39:49 +08:00
Novice
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
Novice
66e67caa2b
fix: update core.variables imports to core.workflow.variables after S2 merge
...
Made-with: Cursor
2026-03-23 09:05:37 +08:00
Novice
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
Novice
51c418f497
fix: update remaining core.file imports missed in previous commit
...
Made-with: Cursor
2026-03-23 08:39:48 +08:00
Novice
a883b74272
fix: update core.file imports to core.workflow.file after merge
...
The File class and related modules were moved from core.file to
core.workflow.file in the sandboxed-agent branch. This commit
updates all remaining references including test mock/patch paths,
Switch component defaultValue→value changes, and account setting
tab constant updates.
Made-with: Cursor
2026-03-19 18:05:55 +08:00
c93289e93c
fix(api): add trigger_info to WorkflowNodeExecutionMetadataKey ( #33753 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-19 17:56:49 +08:00
Novice
89b76d6c33
Merge commit '657eeb65' into sandboxed-agent-rebase
...
Made-with: Cursor
# Conflicts:
# api/core/agent/cot_chat_agent_runner.py
# api/core/agent/fc_agent_runner.py
# api/core/memory/token_buffer_memory.py
# api/core/variables/segments.py
# api/core/workflow/file/file_manager.py
# api/core/workflow/nodes/agent/agent_node.py
# api/core/workflow/nodes/llm/llm_utils.py
# api/core/workflow/nodes/parameter_extractor/parameter_extractor_node.py
# api/core/workflow/workflow_entry.py
# api/factories/variable_factory.py
# api/pyproject.toml
# api/services/variable_truncator.py
# api/uv.lock
# web/app/components/app/app-publisher/index.tsx
# web/app/components/app/overview/settings/index.tsx
# web/app/components/apps/app-card.tsx
# web/app/components/apps/index.tsx
# web/app/components/apps/list.tsx
# web/app/components/base/chat/chat-with-history/header-in-mobile.tsx
# web/app/components/base/features/new-feature-panel/conversation-opener/modal.tsx
# web/app/components/base/features/new-feature-panel/file-upload/setting-content.tsx
# web/app/components/base/features/new-feature-panel/moderation/moderation-setting-modal.tsx
# web/app/components/base/features/new-feature-panel/text-to-speech/param-config-content.tsx
# web/app/components/base/message-log-modal/index.tsx
# web/app/components/base/switch/index.tsx
# web/app/components/base/tab-slider-plain/index.tsx
# web/app/components/explore/try-app/app-info/index.tsx
# web/app/components/plugins/plugin-detail-panel/tool-selector/components/reasoning-config-form.tsx
# web/app/components/workflow/nodes/llm/components/json-schema-config-modal/visual-editor/edit-card/required-switch.tsx
# web/app/components/workflow/nodes/llm/panel.tsx
# web/contract/router.ts
# web/eslint-suppressions.json
# web/i18n/fa-IR/workflow.json
2026-03-19 17:38:56 +08:00
BitToby and GitHub
3454224ff9
refactor(api): replace dict with SummaryIndexSettingDict TypedDict in core/rag ( #33633 )
2026-03-18 13:26:49 +09:00
485da15a4d
refactor(api): replace dict/Mapping with TypedDict in core/rag retrieval_service.py ( #33615 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-18 11:49:09 +09:00
-LAN- and GitHub
fb41b215c8
refactor(api): move workflow knowledge nodes and trigger nodes ( #33445 )
2026-03-15 15:24:59 +08:00
99 and GitHub
1b6e695520
refactor(workflow): move agent node back to core workflow ( #33431 )
2026-03-14 22:33:13 +08:00
Novice
8513fa2897
feat: add support for file outputs in LLMNode, including auto-collection and deduplication
2026-03-11 16:30:54 +08:00
Harry
65e89520c0
refactor: unify download item types and eliminate extension-based branching
...
Merge AssetDownloadItem, AssetInlineItem into SandboxDownloadItem with
optional 'content' field. All consumers now follow a clean pipeline:
get items → accessor.resolve_items() → AppAssetService.to_download_items() → download
Key changes:
- SandboxDownloadItem gains content: bytes | None (entities.py)
- ZipSandbox.download_items() handles both inline (base64 heredoc) and
remote (curl) via a single pipeline — no structural branching
- AssetDownloadService.build_download_script() takes unified list
- CachedContentAccessor.resolve_items() batch-enriches items from DB
(extension-agnostic, no 'if md' checks needed)
- AppAssetService.to_download_items() converts AssetItem → SandboxDownloadItem
- DraftAppAssetsInitializer, package_and_upload, export_bundle simplified
- file_upload/node.py switched to SandboxDownloadItem
- Deleted AssetDownloadItem and AssetInlineItem classes
2026-03-10 17:12:15 +08:00
Harry
53f76a20c2
refactor: redesign skill compilation and document assembly process
2026-03-10 17:12:14 +08:00
Novice
e0794020f7
feat: extend NodeRunStreamChunkEvent with additional model metadata fields
2026-03-06 17:21:55 +08:00
Novice
1cb5ee918f
feat: enhance model event handling with new identity and metrics fields
2026-03-05 14:08:37 +08:00
Stream and GitHub
14755d0474
fix: pass parameters correctly for LLMNode.invoke_llm ( #32902 )
2026-03-03 16:32:00 +08:00
-LAN- and GitHub
c917838f9c
refactor: move workflow package to dify_graph ( #32844 )
2026-03-02 18:42:30 +08:00
wangxiaolei and GitHub
707bf20c29
refactor: knowledge index node decouples business logic ( #32274 )
2026-03-02 17:54:33 +08:00
wangxiaolei and GitHub
9da98e6c6c
fix: fix import error ( #32800 )
2026-03-02 08:59:53 +08:00
99 and GitHub
a01de98721
refactor(workflow): decouple start node external dependencies ( #32793 )
2026-03-02 02:01:41 +08:00
17c1538e03
refactor(workflow): move PromptMessageMemory to model_runtime.memory ( #32796 )
...
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-03-02 01:58:02 +08:00
-LAN- and GitHub
69b3e94630
refactor: inject workflow node memory via protocol ( #32784 )
2026-03-02 01:55:49 +08:00
-LAN- and GitHub
ef2b5d6107
refactor(api): move llm quota deduction to app graph layer ( #32786 )
2026-03-01 23:25:36 +08:00
-LAN- and GitHub
ffe77fecdf
revert(graph-engine): rollback stop-event unification ( #32789 )
2026-03-01 19:43:05 +08:00
00e52796e6
refactor(workflow): remove code node helper imports ( #32759 )
...
Co-authored-by: -LAN- <[email protected] >
2026-03-01 16:31:45 +08:00
99 and GitHub
9e9e617e09
fix(workflow): decouple http request node external dependencies ( #32762 )
2026-03-01 15:42:57 +08:00
c034eb036c
refactor: inject memory interface into LLMNode ( #32754 )
...
Signed-off-by: -LAN- <[email protected] >
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-03-01 04:05:18 +08:00
-LAN- and GitHub
1f0fca89a8
refactor(workflow): move variables package into core.workflow ( #32750 )
2026-03-01 03:15:09 +08:00
-LAN- and GitHub
962df17a15
refactor: consolidate LLM runtime model state on ModelInstance ( #32746 )
...
Signed-off-by: -LAN- <[email protected] >
2026-03-01 02:29:32 +08:00
Harry
a0d1816a6e
feat: add mergeable skill bundles with incremental compilation
...
Refactor skill compilation around mergeable bundle patches so dynamic skill updates no longer require full rebuilds. Keep dependency closures accurate by recomputing affected nodes from direct dependency data.
2026-02-28 14:35:29 +08:00
eccb67d5b6
refactor: decouple the business logic from datasource_node ( #32515 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-27 18:49:14 +08:00
-LAN- and GitHub
a694533fc9
refactor(workflow): inject credential/model access ports into LLM nodes ( #32569 )
...
Signed-off-by: -LAN- <[email protected] >
2026-02-27 14:36:41 +08:00
-LAN- and GitHub
700a4029c6
refactor(api): inject code executor from node factory ( #32618 )
2026-02-27 13:29:00 +08:00
0964fc142e
refactor(workflow): inject http request node config through factories and defaults ( #32365 )
...
Signed-off-by: -LAN- <[email protected] >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-25 16:29:59 +08:00
kurokobo
0993b94acd
fix: correct misleading retry count in error message
2026-02-19 00:23:22 +09:00
41a4a57d2e
refactor(document_extractor): Extract configs ( #31828 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-16 23:39:50 +08:00
7656d514b9
refactor(workflow-file): move core.file to core.workflow.file ( #32252 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-16 22:38:19 +08:00
Novice
d953982536
refactor: streamline output building in LLMNode with new _build_outputs method
2026-02-12 11:28:53 +08:00
Harry
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
Novice
56fd571acc
fix(llm): improve handling of tool arguments in LLMNode to ensure default values are used
2026-02-10 20:07:21 +08:00
Novice
aba1752e6c
fix(prompts): fix default argument handling in tool calls
2026-02-10 18:31:34 +08:00
Novice
acbcca0322
refactor(api): enhance message building in LLM trace processing
2026-02-10 17:18:53 +08:00