6acab34149
fix
2026-06-10 18:12:43 +08:00
ba8ddff696
feat(api): composer slash validations — human must be referenced + knowledge placeholder — ENG-617
...
Hard rule (PRD: human involvement must be slash-referenced or save errors):
every configured human contact must appear as {{#human:<id>#}} in its surface's
prompt (matched via any identity alias: id/contact_id/human_id/email/name;
identity-less contacts are skipped). Error code human_involvement_not_referenced,
enforced on both the agent soul prompt and the workflow job prompt.
Soft findings (never block save), returned by validate and attached to save
responses as `validation`:
- knowledge_retrieval_placeholder: dangling {{#knowledge:<id>#}} mentions (not
in config, or configured-but-deleted in DB) are kept with a placeholder name
(mention label, fallback "Knowledge <id8>") per the 0522 consensus, instead of
being dropped or rejected; knowledge not referenced is fine.
- mention_target_missing: skill/file/tool/cli_tool/human/node_output/output
mentions whose id resolves to no configured item.
- mention_malformed: mention-shaped markers the strict grammar rejects
(degraded to plain text at runtime by the scrub pass).
Response models gain warnings/knowledge_retrieval_placeholder (validate) and
validation (save); validate endpoints now resolve dataset existence via the
tenant-scoped dataset lookup.
Design: Confluence 490012681 §5. Depends on the ENG-616 mention contract.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-10 14:51:31 +08:00
3044c732af
feat(api): real slash-menu candidates data sources — ENG-615
...
The agent-composer candidates endpoints returned hardcoded empty arrays; node_id
and tenant were ignored. Now:
- workflow variant: previous_node_outputs computed from the draft workflow graph
(WorkflowGraphTopology extracted from agent_v2 validators into
core/workflow/graph_topology.py + new upstream_node_ids BFS). Output
enumeration matches the Node Output Inspector: start variables + recorded
sys.* are static, Agent v2 upstream nodes use their binding's effective
declared outputs, all other kinds infer from the latest draft-run variables
(inferred: true). Entries are emitted in the stored
WorkflowPreviousNodeOutputRef shape (selector/node_id/output/name + display
extras) so a selected candidate writes back into the config verbatim.
human_contacts = the binding's configured node_job items (0522: defined only).
- soul variant (both variants): skills_files / cli_tools(enabled) /
knowledge_datasets (enriched via DatasetService, dangling marked missing for
the placeholder UX) / human_contacts from the agent's current soul config;
dify_tools from BuiltinToolManageService.list_builtin_tools (same source as
the tool selector; daemon outage degrades to an empty list, never a 500).
- per-list cap 200 + response-level truncated flag; all queries tenant-scoped;
empty config returns empty lists.
- controllers pass tenant_id/user_id/node_id (with_current_tenant_id +
with_current_user_id).
Design: Confluence 490012681 §3.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com >
2026-06-10 14:19:13 +08:00
ba9975a083
feat(dify-agent): sync shell and back proxy updates ( #37159 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-06-10 03:04:32 +00:00
f15a8f02ef
ci: add flag for linter ( #37018 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-06-08 04:53:12 +00:00
00ac937934
feat: snippet ( #37046 )
...
Co-authored-by: JzoNg <jzongcode@gmail.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-06-05 09:38:42 +00:00
f9320b2c91
fix(api): return agent timestamps as epoch seconds ( #37057 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-06-04 08:27:37 +00:00
d3058d63bd
refactor(api): migrate console.datasets.data_source to BaseModel ( #36624 )
2026-06-03 19:38:39 +00:00
4fc62d3b38
refactor(api): migrate console.datasets.rag_pipeline partially to BaseModel ( #36649 )
2026-06-03 17:44:10 +00:00
2d6c9300e3
fix(api): tighten agent v2 generated contracts ( #36989 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-06-03 06:52:40 +00:00
3cd0da303a
refactor: remove unused Flask-RESTX field dicts from end_user and conversation_variable fields ( #28015 ) ( #36929 )
2026-06-02 07:27:23 +00:00
599960024d
refactor(api): migrate console/service_api.dataset.document to BaseModel ( #36506 )
...
Co-authored-by: WH-2099 <wh2099@pm.me >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-05-30 14:38:27 +00:00
928f888ef5
refactor(api): migrate console/service_api.dataset.segment to BaseModel ( #36522 )
...
Co-authored-by: WH-2099 <wh2099@pm.me >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-05-30 13:54:01 +00:00
2cc567c6a3
feat: add DTO for agent api ( #36797 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-05-29 03:36:41 +00:00
b034449a0c
refactor(api): migrate console/service_api.dataset.hit_testing to BaseModel ( #36533 )
2026-05-27 06:51:42 +00:00
9ddd98a265
fix(api): preserve dataset nested null shapes ( #36611 )
...
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: wangxiaolei <fatelei@gmail.com >
2026-05-25 08:06:33 +00:00
67d99723ea
fix: External retrieval model response rejects empty score threshold bug ( #36577 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-05-25 03:01:06 +00:00
639e12a306
fix: request /api/datasets raise exception ( #36591 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-05-25 02:27:54 +00:00
790ca72627
refactor(api): migrate console/service_api.dataset to BaseModel ( #36480 )
2026-05-22 17:39:07 +00:00
092c8bca81
refactor(api): migrate console.datasets.metadata to BaseModel ( #36450 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-05-21 15:04:42 +00:00
b04b4449db
chore(api): annotate simple contract responses ( #36331 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Asuka Minato <i@asukaminato.eu.org >
2026-05-19 06:13:20 +00:00
2eb37caf2e
refactor(api): migrate console.app.workflow to BaseModel ( #36216 )
...
Co-authored-by: WH-2099 <wh2099@pm.me >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-05-18 07:31:37 +00:00
5798610f27
refactor(api): migrate console.app.workflow_comment to BaseModel ( #36180 )
2026-05-14 12:13:47 +00:00
a35b28dbef
refactor: cleanup duplicate code ( #36173 )
2026-05-14 10:34:31 +00:00
4a56763d2f
refactor(api): migrate console.app.workflow etc. to BaseModel ( #35967 )
2026-05-09 08:34:15 +00:00
3e876e173a
chore(api): adapt Graphon 0.2.2 upgrade ( #35377 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-18 11:16:24 +00:00
3193e8a712
chore: reorg imports ( #35308 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-16 08:50:02 +00:00
b665eaa015
refactor(api): migrate console conversation responses to BaseModel ( #35294 )
...
Co-authored-by: ai-hpc <ai-hpc@users.noreply.github.com >
2026-04-16 05:11:21 +00:00
25df902ec4
refactor(api): add BaseModel workflow field schemas ( #35297 )
...
Co-authored-by: ai-hpc <ai-hpc@users.noreply.github.com >
2026-04-16 04:39:59 +00:00
5956dd79df
refactor(api): add BaseModel conversation variable schemas ( #35296 )
...
Co-authored-by: ai-hpc <ai-hpc@users.noreply.github.com >
2026-04-16 04:39:30 +00:00
53a22aa41b
feat: collaboration ( #30781 )
...
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>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com >
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com >
2026-04-16 02:21:04 +00:00
4d4265f531
refactor(api): deduplicate Pydantic models across fields and controllers ( #34718 )
2026-04-08 05:20:00 +00:00
c2af415450
refactor(api): Extract shared ResponseModel ( #34633 )
2026-04-07 13:05:38 +00:00
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
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
52e7492cbc
refactor(api): rename dify_graph to graphon ( #34095 )
2026-03-25 21:58:56 +08:00
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
c917838f9c
refactor: move workflow package to dify_graph ( #32844 )
2026-03-02 18:42:30 +08:00
1f0fca89a8
refactor(workflow): move variables package into core.workflow ( #32750 )
2026-03-01 03:15:09 +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
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
5b06203ef5
feat: Service API - add end-user lookup endpoint ( #32015 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-02-09 14:01:22 +08:00
47f8de3f8e
refactor: port api/controllers/console/app/annotation.py api/controllers/console/explore/trial.py api/controllers/console/workspace/account.py api/controllers/console/workspace/members.py api/controllers/service_api/app/annotation.py to basemodel ( #31833 )
...
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
2026-02-03 09:59:00 +08:00
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
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
c2473d85dc
feat: Add summary index for knowledge. ( #31625 )
...
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-01-29 13:47:35 +08:00
fa92548cf6
feat: archive workflow run logs backend ( #31310 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-01-23 13:11:56 +08:00
1dd89a02ea
fix: fix missing id and message_id ( #31008 )
2026-01-14 23:26:17 +09:00
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
666640f7d5
refactor: remove unnecessary type: ignore from rag_pipeline_fields.py ( #30666 )
...
Co-authored-by: fghpdf <fghpdf@users.noreply.github.com >
2026-01-07 14:40:35 +08:00