Yansong Zhang
90cce7693f
revert: remove all sandbox and skill related code
...
Remove ~12,900 lines of sandbox/skill code that was ported from
feat/support-agent-sandbox. This reverts to direct tool execution
(the original behavior before sandbox integration).
Removed:
- core/sandbox/ (SandboxBuilder, bash tools, providers, initializers)
- core/skill/ (SkillManager, assembler, entities)
- core/virtual_environment/ (5 provider implementations)
- core/zip_sandbox/ (archive operations)
- core/app_assets/ (asset management)
- core/app_bundle/ (bundle management)
- controllers/cli_api/ (DifyCli callback endpoints)
- services/sandbox/ (provider service)
- services/skill_service, app_asset_service, app_bundle_service
- models/sandbox.py, app_asset.py
- bin/dify-cli-* (3 platform binaries)
- web sandbox-provider-page and service
- SandboxLayer, _resolve_sandbox_context, _invoke_tool_in_sandbox
- CliApiConfig, DIFY_SANDBOX_CONTEXT_KEY
- sandbox-related migrations
Preserved: All Agent V2 core functionality (agent-v2 node, strategy
engine, transparent upgrade, LLM remapping, memory, context, tools
via direct execution).
Made-with: Cursor
2026-04-13 10:42:36 +08:00
Yansong Zhang
5cdae671d5
feat(api): integrate Sandbox Provider into Agent V2 execution pipeline
...
Close 3 integration gaps between the ported Sandbox system and Agent V2:
1. Fix _invoke_tool_in_sandbox to use SandboxBashSession context manager
API correctly (keyword args, bash_tool, ToolReference), with graceful
fallback to direct invocation when DifyCli binary is unavailable.
2. Inject sandbox into run_context via _resolve_sandbox_context() in
WorkflowBasedAppRunner — automatically creates a sandbox when a
tenant has an active sandbox provider configured.
3. Register SandboxLayer in both advanced_chat and workflow app runners
for proper sandbox lifecycle cleanup on graph end.
Also: make SkillInitializer non-fatal when no skill bundle exists,
add node_id to ExecutionContext for sandbox session scoping.
Made-with: Cursor
2026-04-10 10:14:42 +08:00
Yansong Zhang
2de2a8fd3a
fix(api): resolve multi-turn memory failure in Agent apps
...
- Auto-resolve parent_message_id when not provided by client,
querying the latest message in the conversation to maintain
the thread chain that extract_thread_messages() relies on.
- Add AppMode.AGENT to TokenBufferMemory mode checks so file
attachments in memory are handled via the workflow branch.
- Add debug logging for memory injection in node_factory and node.
Made-with: Cursor
2026-04-09 16:27:38 +08:00
99
8f9dbf269e
chore(api): align Python support with 3.12 ( #34419 )
...
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
2026-04-02 05:07:32 +00:00
99
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
99
fcfc96ca05
chore: remove stale mypy suppressions and align dataset service tests ( #34130 )
2026-03-26 12:34:44 +00:00
Achieve3318
5341cd015b
fix: dataset query created_by empty UUID in iteration subgraph ( #34004 ) ( #34044 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-03-26 14:57:19 +08:00
99
52e7492cbc
refactor(api): rename dify_graph to graphon ( #34095 )
2026-03-25 21:58:56 +08:00
-LAN-
56593f20b0
refactor(api): continue decoupling dify_graph from API concerns ( #33580 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: WH-2099 <wh2099@pm.me>
2026-03-25 20:32:24 +08:00
tmimmanuel
5b9cb55c45
refactor: use EnumText for MessageFeedback and MessageFile columns ( #33738 )
2026-03-20 01:13:26 +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
-LAN-
fb41b215c8
refactor(api): move workflow knowledge nodes and trigger nodes ( #33445 )
2026-03-15 15:24:59 +08:00
Rajat Agarwal
0045e387f5
test: unit test cases for core.app.apps module ( #32482 )
2026-03-12 11:23:25 +08:00
wangxiaolei
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
kurokobo
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
wangxiaolei
e14b09d4db
refactor: human input node decouple db ( #32900 )
2026-03-04 13:18:32 +08:00
-LAN-
4fd6b52808
refactor(api): move model_runtime into dify_graph ( #32858 )
2026-03-02 20:15:32 +08:00
-LAN-
c917838f9c
refactor: move workflow package to dify_graph ( #32844 )
2026-03-02 18:42:30 +08:00
-LAN-
1f0fca89a8
refactor(workflow): move variables package into core.workflow ( #32750 )
2026-03-01 03:15:09 +08:00
Tyson Cung
91dfdd87e3
fix: replace unreachable yield expression with yield from () ( #32727 )
2026-02-28 15:27:32 +09:00
QuantumGhost
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
QuantumGhost
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
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 <zouzou0208@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: 盐粒 Yanli <yanli@dify.ai>
Co-authored-by: CrabSAMA <40541269+CrabSAMA@users.noreply.github.com>
Co-authored-by: Stephen Zhou <38493346+hyoban@users.noreply.github.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: yihong <zouzou0208@gmail.com>
Co-authored-by: Joel <iamjoel007@gmail.com>
2026-01-30 10:18:49 +08:00
-LAN-
d76ad15fca
refactor(graph_engine): move observability layer and persistence laye… ( #31620 )
2026-01-28 00:54:21 +08:00
Asuka Minato
b9f1d65d4f
refactor: example of refine dict / Mapping ( #31498 )
2026-01-26 10:23:38 +08:00
-LAN-
206706987d
refactor(variables): clarify base vs union type naming ( #30634 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-01-13 23:39:34 +09:00
wangxiaolei
0711dd4159
feat: enhance start node object value check ( #30732 )
2026-01-09 16:13:17 +08:00
QuantumGhost
ae0a26f5b6
revert: "fix: fix assign value stand as default ( #30651 )" ( #30717 )
...
The original fix seems correct on its own. However, for chatflows with multiple answer nodes, the `message_replace` command only preserves the output of the last executed answer node.
2026-01-09 16:08:24 +08:00
-LAN-
7ccf858ce6
fix(workflow): pass correct user_from/invoke_from into graph init ( #30637 )
2026-01-07 21:47:23 +08:00
wangxiaolei
187bfafe8b
fix: fix assign value stand as default ( #30651 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-07 14:54:11 +08:00
-LAN-
d12b91a01a
refactor(api): inject sessionmaker into conversation variable updater ( #30609 )
2026-01-06 14:52:59 +08:00
-LAN-
d6e9c3310f
feat: Add conversation variable persistence layer ( #30531 )
2026-01-06 14:05:33 +08:00
-LAN-
2e1efd62e1
revert: "fix(ops): add streaming metrics and LLM span for agent-chat traces" ( #29469 )
2025-12-11 12:53:37 +08:00
heyszt
10b59cd6ba
add service layer OTel Span ( #28582 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-12-05 21:58:32 +08:00
wangxiaolei
102ee7ae13
perf: optimize generate conversation name ( #29131 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-12-05 10:32:53 +08:00
XlKsyt
1e23957657
fix(ops): add streaming metrics and LLM span for agent-chat traces ( #28320 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2025-11-26 22:45:20 +08:00
QuantumGhost
a1c0bd7a1c
feat(api): Introduce workflow pause state management ( #27298 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-10-30 14:41:09 +08:00
XlKsyt
1e9142c213
feat: enhance tencent trace integration with LLM core metrics ( #27126 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2025-10-29 15:53:30 +08:00
-LAN-
578247ffbc
feat(graph_engine): Support pausing workflow graph executions ( #26585 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-10-19 21:33:41 +08:00
Asuka Minato
cced33d068
use deco to avoid current_user ( #26077 )
...
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>
2025-10-16 15:45:51 +09:00
heyszt
e682749d03
aliyun_trace: unify the span attribute & compatible CMS 2.0 endpoint ( #26194 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: crazywoola <100913391+crazywoola@users.noreply.github.com>
2025-09-25 22:51:15 +08:00
Novice
d823da18db
fix: iteration and loop node single step run ( #26036 )
2025-09-22 19:14:24 +08:00
Novice
8f86f5749d
chore: Update the value of sys.dialogue_count to start from 1. ( #25905 )
2025-09-18 15:52:52 +08:00
-LAN-
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
-LAN-
bab4975809
chore: add ast-grep rule to convert Optional[T] to T | None ( #25560 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-09-15 13:06:33 +08:00
-LAN-
08dd3f7b50
Fix basedpyright type errors ( #25435 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-09-10 01:54:26 +08:00
Asuka Minato
a78339a040
remove bare list, dict, Sequence, None, Any ( #25058 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: -LAN- <laipz8200@outlook.com>
2025-09-06 03:32:23 +08:00
-LAN-
a384ae9140
Fix advanced chat workflow event handler signature mismatch ( #25078 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2025-09-03 16:22:13 +08:00
-LAN-
9d5956cef8
[Chore/Refactor] Switch from MyPy to Basedpyright for type checking ( #25047 )
...
Signed-off-by: -LAN- <laipz8200@outlook.com>
2025-09-03 11:52:26 +08:00
Will
b5216df4fe
fix: xxx is not bound to a Session ( #24966 )
2025-09-02 21:37:06 +08:00