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
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
Novice
2ce7919e6d
test: update unit tests for system message handling and workflow collaboration serices
2026-03-19 17:19:56 +08:00
Novice
fefbd84c67
chore: remove obsolete variable extraction design documentation
2026-03-19 10:07:47 +08:00
Novice
56ca40ab19
fix: enhance container architecture detection in DockerDaemonEnvironment
2026-03-18 15:30:18 +08:00
Novice
2e05068647
fix: update NoopSandboxStorage to return True for mount and unmount methods
2026-03-17 16:50:55 +08:00
Novice
40b0d7c898
feat: implement app runtime upgrade feature to clone and convert classic runtime apps to sandboxed mode
2026-03-17 13:54:16 +08:00
Harry
f0c6c0159c
refactor: a lot of optimization and enhancement
2026-03-12 18:23:16 +08:00
zxhlyh
4a64362193
fix: import DSL -> import App
2026-03-12 17:29:42 +08:00
Harry
7bd6dd588e
refactor: remove keepalive thread and utilize E2B's native timeout management
2026-03-12 17:22:12 +08:00
Harry
e1510a64c9
fix: harden sandbox builder cleanup
2026-03-12 17:03:38 +08:00
Harry
0a4a85ada2
fix: remove early return in DraftAppAssetsInitializer if file tree is empty
2026-03-12 17:03:38 +08:00
zxhlyh
ed9f36dd1f
fix: import DSL -> import App
2026-03-12 16:53:05 +08:00
Harry
d5a921e4df
fix: log storage key details when skill bundle is not found
2026-03-12 16:31:53 +08:00
Harry
2aff0ada8f
fix: centralize sandbox temp path management
2026-03-12 16:03:01 +08:00
Harry
1d1f09dc92
feat: add directory creation step for assets temp directory in AppAssetsInitializer
2026-03-12 15:56:24 +08:00
Harry
76c02db094
fix: namespace sandbox temp paths by sandbox ID to prevent cross-session collisions
...
DifyCli and AppAssets used hardcoded absolute paths under /tmp/.dify/,
causing concurrent sandbox sessions on the same host (e.g. SSH provider)
to overwrite each other's config files and CLI binaries.
- Add Sandbox.id property (uuid4 hex) as a stable, path-safe identifier
independent of provider-specific environment IDs
- Convert DifyCli/AppAssets from static constants to per-sandbox instances
namespaced under /tmp/.dify/{sandbox.id}/
- Replace all vm.metadata.id references with sandbox.id
- Replace upload_file with heredoc-based pipeline step in session.py to
reduce round-trips
2026-03-11 19:19:17 +08:00
Harry
6fe221518e
feat: enhance tool access management with ToolAccessDescription and update ToolAccessPolicy
2026-03-11 18:45:56 +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
Novice
f0c82f28cb
fix: improve file preview in chat messages by yielding events in task pipeline
2026-03-11 16:30:54 +08:00
zxhlyh
17c9b4dd85
fix: skills coming soon
2026-03-11 14:42:38 +08:00
Harry
dbc87dbd3b
feat: update LLM node skills API to extract tool dependencies and change endpoint to POST
2026-03-11 14:41:33 +08:00
Harry
0776e16fdc
refactor: async skill compile and context sharing
2026-03-11 14:41:33 +08:00
zxhlyh
d61be086ed
fix: upload local plugin
2026-03-11 13:38:10 +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
6ac730ec2e
fix: ruff
2026-03-10 17:12:15 +08:00
Harry
9afdb490ff
fix: update down_revision in migration and correct import statement in app_asset model
2026-03-10 17:12:15 +08:00
Harry
e9be6bf2ab
feat: add AWS Code Interpreter sandbox provider and update sandbox type
2026-03-10 17:12:15 +08:00
Harry
a8074f4f4a
feat: add DB inline content cache for app asset draft files
...
Introduce app_asset_contents table as a read-through cache over S3 for
text-like asset files (e.g. .md skill documents). This eliminates N
individual S3 fetches during SkillBuilder builds — bulk_load pulls all
content in a single SQL query with S3 fallback on miss.
Key components:
- CachedContentAccessor: DB-first read / dual-write / S3 fallback
- AssetContentService: static DB operations (get, get_many, upsert, delete)
- should_mirror(): single source of truth for extension-based policy
- Alembic migration for app_asset_contents table
Modified callers:
- SkillBuilder uses accessor.bulk_load() instead of per-node S3 reads
- AppAssetService.get/update_file_content route through accessor
- delete_node cleans both DB cache and S3
- draft_app_assets_initializer uses should_mirror() instead of hardcoded .md
2026-03-10 17:12:14 +08:00
Harry
53f76a20c2
refactor: redesign skill compilation and document assembly process
2026-03-10 17:12:14 +08:00
zxhlyh
52dd4b82e6
fix: llm logs
2026-03-06 18:04:18 +08:00
Novice
e0794020f7
feat: extend NodeRunStreamChunkEvent with additional model metadata fields
2026-03-06 17:21:55 +08:00
yevanmore
480f0e95bc
fix(chat): copy agent answer with llm tracing blocks ( #32931 )
...
Co-authored-by: Chen Yefan <cyefan2@gmail.com >
2026-03-06 00:39:44 +08:00
Novice
1cb5ee918f
feat: enhance model event handling with new identity and metrics fields
2026-03-05 14:08:37 +08:00
RockChinQ
e26d8a63da
feat: add marketplace template localization for multiple languages
2026-03-03 17:59:31 +08:00
Stream
14755d0474
fix: pass parameters correctly for LLMNode.invoke_llm ( #32902 )
2026-03-03 16:32:00 +08:00
Junyan Chin
9f7bea37e5
feat: add supports for "Open in Dify" from template details page in m… ( #32852 )
2026-03-03 13:09:12 +08:00
Joel
997d3ec80e
chore: add create app loading
2026-03-03 10:06:56 +08:00
Joel
4f1e12ea04
fix: upload zip not show confirm
2026-03-02 18:47:36 +08:00
Coding On Star
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
wangxiaolei
707bf20c29
refactor: knowledge index node decouples business logic ( #32274 )
2026-03-02 17:54:33 +08:00
Br1an
68647391e7
fix(api): add return type annotation to filter_none_values() ( #32774 )
2026-03-02 17:51:21 +09:00
wangxiaolei
5c7a293ba7
feat: ensure document id is not missing ( #32765 )
2026-03-02 16:28:31 +08:00
Xiyuan Chen
8a7ba87349
fix: upgrade OpenTelemetry to 0.49b0 to fix context detach error ( #32825 )
2026-03-02 16:03:37 +09:00
Varun Chawla
9ddbc1c0fb
fix: map all NodeType values to span kinds in Arize Phoenix tracing ( #32059 )
...
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-02 14:54:26 +08:00
Stable Genius
42a8d962a0
refactor: remove tests and core/rag from pyrefly excludes ( #32801 )
...
Co-authored-by: Stable Genius <259448942+stablegenius49@users.noreply.github.com >
2026-03-02 15:31:29 +09:00