Commit Graph

788 Commits

Author SHA1 Message Date
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
14755d0474 fix: pass parameters correctly for LLMNode.invoke_llm (#32902) 2026-03-03 16:32:00 +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
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
Novice
e86802ad27 chore(api): improve structured output tool call prompt and update handling in LLMNode 2026-02-10 15:25:56 +08:00
Harry
9614fe8e6e feat: agent sandbox support HITL 2026-02-09 22:20:41 +08:00
Harry
83c260ee4c Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-02-09 17:00:56 +08: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
wangxiaolei
3348b89436 refactor: decouple database operations from knowledge retrieval nodes (#31981)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-09 13:56:55 +08:00
yyh
d23a94982d Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox 2026-02-08 01:30:21 +08:00
yyh
871ec3b0ca Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
# Conflicts:
#	api/controllers/console/app/app.py
#	web/eslint-suppressions.json
#	web/eslint.config.mjs
2026-02-06 14:40:44 +08:00
wangxiaolei
a297b06aac fix: fix tool type is miss (#32042) 2026-02-06 14:38:15 +08:00
wangxiaolei
b24e6edada fix: fix agent node tool type is not right (#32008)
Infer real tool type via querying relevant database tables.

The root cause for incorrect `type` field is still not clear.
2026-02-06 11:24:39 +08:00
99
45164ce33e refactor: strip external imports in workflow template transform (#32017) 2026-02-06 10:37:26 +08:00
Stream
6ac9bbfd5f fix: fetch LLM node input correctly 2026-02-06 03:14:57 +08:00
hjlarry
21a723fb26 fix: icon_url of llm node log detail page incorrect 2026-02-05 09:09:32 +08:00
Stream
15c0011897 feat: implement file structured output 2026-02-05 00:11:39 +08:00
Stream
e0082dbf18 revert: add tools for output in agent mode
feat: hide output tools and improve JSON formatting for structured output
feat: hide output tools and improve JSON formatting for structured output
fix: handle prompt template correctly to extract selectors for step run
fix: emit StreamChunkEvent correctly for sandbox agent
chore: better debug message
fix: incorrect output tool runtime selection
fix: type issues
fix: align parameter list
fix: align parameter list
fix: hide internal builtin providers from tool list
vibe: implement file structured output
vibe: implement file structured output
fix: refix parameter for tool
fix: crash
fix: crash
refactor: remove union types
fix: type check
Merge branch 'feat/structured-output-with-sandbox' into feat/support-agent-sandbox
fix: provide json as text
fix: provide json as text
fix: get AgentResult correctly
fix: provides correct prompts, tools and terminal predicates
fix: provides correct prompts, tools and terminal predicates
fix: circular import
feat: support structured output in sandbox and tool mode
2026-02-04 21:43:53 +08:00
Stream
8850a0c5c7 feat: hide output tools and improve JSON formatting for structured output 2026-02-04 15:42:55 +08:00
Stream
4466688e97 feat: hide output tools and improve JSON formatting for structured output 2026-02-04 15:12:50 +08:00
Harry
8c6139fa21 chore: update pnpm-lock and remove unused import after merge 2026-02-04 13:16:55 +08:00
Harry
c111079624 Merge remote-tracking branch 'origin/main' into feat/support-agent-sandbox
# Conflicts:
#	api/core/file/file_manager.py
#	api/core/workflow/graph_engine/response_coordinator/coordinator.py
#	api/core/workflow/nodes/llm/node.py
#	api/core/workflow/nodes/tool/tool_node.py
#	api/pyproject.toml
#	web/package.json
#	web/pnpm-lock.yaml
2026-02-04 13:15:49 +08:00
Stream
7535b67423 fix: handle prompt template correctly to extract selectors for step run
idk why. This may cause further issues.
2026-02-04 07:23:02 +08:00
Stream
9172997f24 fix: emit StreamChunkEvent correctly for sandbox agent 2026-02-03 21:52:15 +08:00
Asuka Minato
491fa9923b refactor: port api/controllers/console/datasets/data_source.py /datasets/metadata.py /service_api/dataset/metadata.py /nodes/agent/agent_node.py api/core/workflow/nodes/datasource/datasource_node.py api/services/dataset_service.py to match case (#31836) 2026-02-02 21:03:16 +09:00
Asuka Minato
ce2c41bbf5 refactor: port api/controllers/console/datasets/datasets_document.py api/controllers/service_api/app/annotation.py api/core/app/app_config/easy_ui_based_app/agent/manager.py api/core/app/apps/pipeline/pipeline_generator.py api/core/workflow/nodes/knowledge_retrieval/knowledge_retrieval_node.py to match case (#31832) 2026-02-02 19:07:30 +09:00
FFXN
41177757e6 fix: summary index bug (#31810)
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Jyong <76649700+JohnJyong@users.noreply.github.com>
Co-authored-by: zxhlyh <jasonapring2015@outlook.com>
Co-authored-by: Yansong Zhang <916125788@qq.com>
Co-authored-by: hj24 <mambahj24@gmail.com>
Co-authored-by: CodingOnStar <hanxujiang@dify.ai>
Co-authored-by: CodingOnStar <hanxujiang@dify.com>
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2026-02-02 09:45:17 +08:00
Stream
85b9661b82 fix: align parameter list
Signed-off-by: Stream <Stream_2@qq.com>
2026-02-02 06:37:36 +08:00
Stream
b66db183c9 vibe: implement file structured output 2026-02-01 02:47:28 +08:00
Stream
03774a7bd0 fix: refix parameter for tool 2026-01-31 21:53:08 +08:00
盐粒 Yanli
b8cb5f5ea2 refactor(typing): Fixup typing A2 - workflow engine & nodes (#31723)
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>
Co-authored-by: Asuka Minato <i@asukaminato.eu.org>
2026-01-31 18:00:56 +09:00
Stream
d353feb172 fix: crash 2026-01-31 01:51:25 +08:00
盐粒 Yanli
5bc99995fc fix(api): align graph protocols for response streaming (#31777) 2026-01-31 01:57:36 +09:00
Stream
9ad49340bf refactor: remove union types
Signed-off-by: Stream <Stream_2@qq.com>
2026-01-31 00:41:23 +08:00
Stream
0265cc0403 fix: type check
Signed-off-by: Stream <Stream_2@qq.com>
2026-01-30 21:17:19 +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
Novice
27664ec37a feat: pull variable add sandbox file support 2026-01-30 11:21:08 +08:00
Stream
cb4391f705 fix: provide json as text 2026-01-30 10:47:58 +08:00
Stream
0035587fed fix: provide json as text
Signed-off-by: Stream <Stream_2@qq.com>
2026-01-30 10:45:14 +08:00
Stream
171551cfb3 fix: get AgentResult correctly 2026-01-30 10:42:29 +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
Stream
2008768cb9 fix: provides correct prompts, tools and terminal predicates
Signed-off-by: Stream <Stream_2@qq.com>
2026-01-30 08:44:26 +08:00