|
|
21bdb6da47
|
Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
|
2026-03-25 11:50:33 +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 |
|
|
|
dc2b6fe10a
|
Merge branch 'main' into feat/support-agent-sandbox
|
2026-03-25 10:11:16 +08:00 |
|
|
|
36cc1bf025
|
test: unit test cases for sub modules in core.app (except core.app.apps) (#32476)
|
2026-03-25 02:13:28 +08:00 |
|
|
|
6756745062
|
Merge branch 'main' into feat/support-agent-sandbox
|
2026-03-24 17:12:13 +08:00 |
|
|
|
7e65659239
|
refactor: rename model instance extraction method to improve clarity and update related logic in LLMQuotaLayer; enhance unit tests for model instance handling
|
2026-03-24 15:33:48 +08:00 |
|
|
|
7fe25f1365
|
fix(rate_limit): flush redis cache when __init__ is triggered by changing max_active_requests (#33830)
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
|
2026-03-24 15:08:55 +08:00 |
|
|
|
8775003732
|
Merge branch 'main' into sandboxed-agent-rebase
Made-with: Cursor
# Conflicts:
# api/tests/unit_tests/controllers/console/app/test_message.py
# api/tests/unit_tests/controllers/console/app/test_statistic.py
# api/tests/unit_tests/controllers/console/app/test_workflow_draft_variable.py
# api/tests/unit_tests/controllers/console/auth/test_data_source_bearer_auth.py
# api/tests/unit_tests/controllers/console/auth/test_data_source_oauth.py
# api/tests/unit_tests/controllers/console/auth/test_oauth_server.py
# web/app/components/header/account-setting/data-source-page/data-source-notion/operate/index.tsx
# web/app/components/header/account-setting/data-source-page/data-source-website/config-firecrawl-modal.tsx
# web/app/components/header/account-setting/data-source-page/data-source-website/config-jina-reader-modal.tsx
# web/app/components/header/account-setting/data-source-page/data-source-website/config-watercrawl-modal.tsx
# web/app/components/header/account-setting/data-source-page/panel/config-item.tsx
# web/app/components/header/account-setting/data-source-page/panel/index.tsx
# web/app/components/workflow/nodes/knowledge-retrieval/node.tsx
# web/package.json
# web/pnpm-lock.yaml
|
2026-03-24 11:19:50 +08:00 |
|
|
|
59ab7382b8
|
fix: enhance type hinting and null checks in LLMQuotaLayer for model instance extraction
|
2026-03-24 11:11:40 +08:00 |
|
|
|
499d237b7e
|
fix: pass all CI quality checks - ESLint, TypeScript, basedpyright, pyrefly, lint-imports
Frontend:
- Migrate deprecated imports: modal→dialog, toast→ui/toast, tooltip→tooltip-plus,
portal-to-follow-elem→portal-to-follow-elem-plus, select→ui/select, confirm→alert-dialog
- Replace next/* with @/next/* wrapper modules
- Convert TypeScript enums to const objects (erasable-syntax-only)
- Replace all `any` types with `unknown` or specific types in workflow types
- Fix unused vars, react-hooks-extra, react-refresh/only-export-components
- Extract InteractionMode to separate module, tool-block commands to commands.ts
Backend:
- Fix pyrefly errors: type narrowing, null guards, getattr patterns
- Remove unused TYPE_CHECKING imports in LLM node
- Add ignore_imports entries to .importlinter for dify_graph boundary violations
Made-with: Cursor
|
2026-03-24 10:54:58 +08:00 |
|
|
|
20fc69ae7f
|
refactor: use EnumText for WorkflowAppLog.created_from and WorkflowArchiveLog columns (#33954)
|
2026-03-24 02:44:46 +09:00 |
|
|
|
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 |
|
|
|
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 |
|
|
|
b15a9bea21
|
style: auto-format after segment 3 import migrations
Made-with: Cursor
|
2026-03-23 10:37:02 +08:00 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
f41d1d0822
|
refactor: use EnumText for Conversation/Message invoke_from and from_source (#33832)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
|
2026-03-21 11:47:48 +09:00 |
|
|
|
8c9831177a
|
fix(api): preserve citation metadata in web responses (#33778)
Co-authored-by: AI Assistant <bot@demo.com>
|
2026-03-20 10:49:12 +08:00 |
|
|
|
5b9cb55c45
|
refactor: use EnumText for MessageFeedback and MessageFile columns (#33738)
|
2026-03-20 01:13:26 +09:00 |
|
|
|
df0ded210f
|
fix: preserve timing metrics in parallel iteration (#33216)
|
2026-03-19 18:05:52 +08:00 |
|
|
|
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 |
|
|
|
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 |
|
|
|
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 |
|
|
|
236ae372be
|
refactor(api): replace dict/Mapping with TypedDict in core/app (#33601)
|
2026-03-18 00:38:39 +09:00 |
|
|
|
98e72521f4
|
chore: change draft var to user scoped (#33066)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: QuantumGhost <obelisk.reg+git@gmail.com>
|
2026-03-16 14:04:41 +08:00 |
|
|
|
fb41b215c8
|
refactor(api): move workflow knowledge nodes and trigger nodes (#33445)
|
2026-03-15 15:24:59 +08:00 |
|
|
|
1b6e695520
|
refactor(workflow): move agent node back to core workflow (#33431)
|
2026-03-14 22:33:13 +08:00 |
|
|
|
0045e387f5
|
test: unit test cases for core.app.apps module (#32482)
|
2026-03-12 11:23:25 +08:00 |
|
|
|
989db0e584
|
refactor: Unify NodeConfigDict.data and BaseNodeData (#32780)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
2026-03-11 23:43:58 +08:00 |
|
|
|
f0c82f28cb
|
fix: improve file preview in chat messages by yielding events in task pipeline
|
2026-03-11 16:30:54 +08:00 |
|
|
|
d6721a1dd3
|
fix: use moderation modified inputs and query (#33180)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Crazywoola <100913391+crazywoola@users.noreply.github.com>
|
2026-03-11 13:37:23 +08:00 |
|
|
|
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 |
|
|
|
46098b2be6
|
refactor: use thread.Timer instead of time.sleep (#33121)
|
2026-03-09 09:38:16 +08:00 |
|
|
|
dc2a53d834
|
feat: add files to message end pr32019 (#32242)
Co-authored-by: fatelei <fatelei@gmail.com>
Co-authored-by: angel.k <angel.kolev@solaredge.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
2026-03-07 20:01:12 +08:00 |
|
|
|
ad81513b6a
|
fix: show citations in advanced chat apps (#32985)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
|
2026-03-06 09:56:14 +08:00 |
|
|
|
741d48560d
|
refactor(api): add TypedDict definitions to models/model.py (#32925)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
|
2026-03-06 08:42:54 +09:00 |
|
|
|
7432b58f82
|
refactor(dify_graph): introduce run_context and delegate child engine creation (#32964)
|
2026-03-05 14:31:28 +08:00 |
|
|
|
1cb5ee918f
|
feat: enhance model event handling with new identity and metrics fields
|
2026-03-05 14:08:37 +08:00 |
|
|
|
e14b09d4db
|
refactor: human input node decouple db (#32900)
|
2026-03-04 13:18:32 +08:00 |
|
|
|
c8688ec371
|
refactor(dify_graph): unify invoke and user enums source in workflow (#32873)
|
2026-03-03 15:05:20 +08:00 |
|
|
|
4fd6b52808
|
refactor(api): move model_runtime into dify_graph (#32858)
|
2026-03-02 20:15:32 +08:00 |
|
|
|
c917838f9c
|
refactor: move workflow package to dify_graph (#32844)
|
2026-03-02 18:42:30 +08:00 |
|
|
|
707bf20c29
|
refactor: knowledge index node decouples business logic (#32274)
|
2026-03-02 17:54:33 +08:00 |
|
|
|
cc127f5b62
|
fix: fix chat assistant response mode blocking is not work (#32394)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
|
2026-03-02 14:05:04 +08:00 |
|
|
|
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 |
|
|
|
69b3e94630
|
refactor: inject workflow node memory via protocol (#32784)
|
2026-03-02 01:55:49 +08:00 |
|
|
|
ef2b5d6107
|
refactor(api): move llm quota deduction to app graph layer (#32786)
|
2026-03-01 23:25:36 +08:00 |
|
|
|
00e52796e6
|
refactor(workflow): remove code node helper imports (#32759)
Co-authored-by: -LAN- <laipz8200@outlook.com>
|
2026-03-01 16:31:45 +08:00 |
|