wangxiaolei
65d66768c1
fix: fix tool output duplicate ( #34962 )
2026-04-11 15:07:31 +00:00
yyh
c960f7ae48
refactor: remove base ui i18n dependency ( #34921 )
2026-04-11 12:10:30 +00:00
BitToby
d5104a4268
test: remove dataset permission mock tests superseded by testcontainers ( #34936 )
2026-04-11 04:29:39 +00:00
NVIDIAN
9069c01f9c
refactor: replace inline api.model with register_schema_models in billing ( #34928 )
...
Co-authored-by: ai-hpc <ai-hpc@users.noreply.github.com>
2026-04-11 04:01:03 +00:00
BitToby
0ff41a1127
test: remove dataset metadata mock tests superseded by testcontainers ( #34931 )
2026-04-11 03:37:20 +00:00
BitToby
7192af41e4
test: remove dataset service update/delete mock tests superseded by testcontainers ( #34937 )
2026-04-11 00:54:58 +00:00
NVIDIAN
5ec387b644
refactor: replace inline api.model with Pydantic BaseModel in model_config ( #34930 )
...
Co-authored-by: ai-hpc <ai-hpc@users.noreply.github.com>
2026-04-11 00:53:13 +00:00
YBoy
4be479fa06
refactor(api): type SQLALCHEMY_ENGINE_OPTIONS with TypedDict ( #34941 )
2026-04-11 00:39:37 +00:00
YBoy
e0d69204cd
refactor(api): type DatasourceInvokeMeta.to_dict with TypedDict ( #34940 )
2026-04-11 00:39:06 +00:00
YBoy
f2d6275da4
refactor(api): type get_prompt_template with TypedDict ( #34943 )
2026-04-11 00:38:16 +00:00
YBoy
992ac38d0d
refactor(api): type ToolInvokeMeta.to_dict with TypedDict ( #34942 )
2026-04-11 00:37:10 +00:00
dependabot[bot]
f962e61315
chore(deps): bump pypdf from 6.9.2 to 6.10.0 in /api ( #34946 )
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-11 00:36:28 +00:00
BitToby
b3aebb71ff
refactor(api): type Document.to_dict with DocumentDict TypedDict ( #34924 )
...
Co-authored-by: bittoby <bittoby@users.noreply.github.com>
2026-04-10 17:36:50 +00:00
BitToby
98d3bcd079
test: migrate SQLAlchemyWorkflowNodeExecutionRepository tests to testcontainers ( #34926 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-10 17:35:52 +00:00
Coding On Star
1703df5c00
test: add unit tests for workflow components including tools and inspect vars ( #34843 )
...
Co-authored-by: CodingOnStar <hanxujiang@dify.com>
2026-04-10 13:11:36 +00:00
dataCenter430
674495680d
refactor(api): type Redis connection param builder functions with TypedDicts ( #34875 )
2026-04-10 11:36:39 +00:00
wangxiaolei
04f5fe5e38
fix: fix outputs share same name var ( #34604 )
2026-04-10 11:30:21 +00:00
非法操作
1b7d0bd4e6
chore: should hide change action when node is undeletable ( #34592 )
2026-04-10 11:29:29 +00:00
-LAN-
66183c1f0a
docs(contributing): move agent attribution guidance to PR template ( #34919 )
2026-04-10 11:11:12 +00:00
corevibe555
130ad295d0
refactor(api): replace Any with precise types in db_migration_lock ( #34891 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-10 11:09:33 +00:00
XHamzaX
6612ba69b1
fix(workflow): correct maximized editor panel layout in execution logs ( #34909 )
2026-04-10 10:59:09 +00:00
plind
2dc015b360
fix(api): default parent_mode to paragraph for hierarchical chunking via API ( #34635 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-10 10:55:40 +00:00
sxxtony
2eb43b1e1f
refactor: make DefaultFieldsMixin compatible with TypeBase (MappedAsDataclass) ( #34686 )
2026-04-10 18:53:27 +08:00
Ygor Leal
8633b2f1f7
refactor(tools): replace redundant dict[str, str] with EmojiIconDict ( #34786 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-10 18:53:05 +08:00
Yansong Zhang
77c182f738
feat(api): propagate all app features in transparent upgrade
...
VirtualWorkflowSynthesizer._build_features() now extracts ALL legacy
app features from AppModelConfig into the synthesized workflow.features:
- opening_statement + suggested_questions
- sensitive_word_avoidance (keywords/API moderation)
- more_like_this
- speech_to_text / text_to_speech
- retriever_resource
Previously workflow.features was hardcoded to "{}", losing all these
features during transparent upgrade. Now AdvancedChatAppRunner's
moderation, opening text, and other feature layers work correctly
for transparently upgraded old apps.
Made-with: Cursor
2026-04-10 18:47:18 +08:00
Yansong Zhang
e04f00d29b
feat(api): add context injection and Jinja2 support to Agent V2 node
...
Agent V2 now fully covers all LLM node capabilities:
- Context injection: {{#context#}} placeholder replaced with upstream
knowledge retrieval results via _build_context_string()
- Jinja2 template rendering via _render_jinja2() with variable pool
- Multi-variable references across upstream nodes
Compatibility verified (7/7):
- T1: Context injection ({{#context#}})
- T2: Variable template resolution ({{#start.var#}})
- T3: Multi-upstream variable refs
- T4: Old Chat app with opening_statement
- T5: Old app sensitive_word_avoidance
- T6: Old app more_like_this
- T7: Old Completion app with variable substitution
Made-with: Cursor
2026-04-10 17:05:48 +08:00
dataCenter430
c9f525a3b2
refactor(api): type workflow generator args dict with TypedDict ( #34876 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-10 08:27:32 +00:00
volcano303
e224c77920
test: migrate hit_testing_service tests to testcontainers ( #34750 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-10 08:26:40 +00:00
volcano303
28b8215c9b
test: migrate ops_service tests to testcontainers ( #34749 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-10 08:25:50 +00:00
Yansong Zhang
bbed99a4cb
fix(web): add AGENT mode to AppPreview and AppScreenShot maps
...
Made-with: Cursor
2026-04-10 16:17:34 +08:00
Yansong Zhang
df6c1064c6
fix(web): resolve all TypeScript errors in Agent V2 frontend
...
- Fix toast API: use toast.success()/toast.error() instead of object
- Fix panel: use native HTML elements instead of mismatched component APIs
- Add BlockEnum.AgentV2 to block-icon map (icon + color)
- Add BlockEnum.AgentV2 to use-last-run.ts form params maps
- Add i18n keys: blocks.agent-v2, blocksAbout.agent-v2 (en + zh)
- TypeScript: 0 errors
Made-with: Cursor
2026-04-10 16:00:16 +08:00
corevibe555
98eedf14dc
refactor(services): replace Union with | syntax in service layer ( #34905 )
2026-04-10 07:44:47 +00:00
呆萌闷油瓶
cd3ee5bd5d
fix: sqlalchemy.orm.exc.DetachedInstanceError ( #34910 )
2026-04-10 07:44:22 +00:00
corevibe555
26e8f1f876
feat(ci): add pyrefly type coverage reporting to CI ( #34754 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-10 07:43:29 +00:00
corevibe555
af55665ff2
refactor(otel): replace Any with Tracer and [T] generics ( #34883 )
2026-04-10 07:37:14 +00:00
Yansong Zhang
f4e04fc872
feat(web): add Agent V2 frontend — app creation, node editor, sandbox settings
...
P0 — Agent App can be created and routed:
- Add AppModeEnum.AGENT to types/app.ts
- Add Agent card to create-app-modal (primary row, with RiRobot2Fill icon)
- Route Agent apps to /workflow editor (same as workflow/advanced-chat)
- Update layout-main.tsx mode guards
P1 — Agent V2 workflow node:
- Add BlockEnum.AgentV2 = 'agent-v2' to workflow types
- Create agent-v2/node.tsx: displays model, strategy, tool count
- Create agent-v2/panel.tsx: model selector, strategy picker, tool list,
max iterations, memory config, vision toggle
- Register in NodeComponentMap and PanelComponentMap
P2 — Sandbox Provider settings:
- Create sandbox-provider-page: list/configure/activate/delete providers
(Docker, E2B, SSH, AWS CodeInterpreter)
- Create service/sandbox.ts: API client for sandbox provider endpoints
- Add "Sandbox Providers" to settings menu
i18n: Add en-US and zh-Hans translations for agent V2 description.
Made-with: Cursor
2026-04-10 15:31:48 +08:00
wangxiaolei
bcd738d2e6
fix: fix orm_exc.DetachedInstanceError ( #34904 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-10 07:13:59 +00:00
corevibe555
488fcd4f83
refactor(services): replace Union with | syntax in service layer (batch 2) ( #34906 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-10 07:05:31 +00:00
Yansong Zhang
59b9221501
fix(api): fix AWS CodeInterpreter stdout capture failure
...
Root cause: _WORKDIR was hardcoded to "/home/user" which doesn't exist
in AWS AgentCore Code Interpreter environment (actual pwd is
/opt/amazon/genesis1p-tools/var). Every command was prefixed with
"cd /home/user && ..." which failed silently, producing empty stdout.
Fix:
- Default _WORKDIR to "/tmp" (universally available)
- Auto-detect actual working directory via "pwd" during
_construct_environment and override _WORKDIR dynamically
Verified: echo, python3, uname all return correct stdout.
Made-with: Cursor
2026-04-10 14:21:06 +08:00
plind
5d4d60bb95
fix(web): assign in-progress tracing items to latest loop/iteration record ( #34661 )
...
Co-authored-by: Blackoutta <37723456+Blackoutta@users.noreply.github.com>
Co-authored-by: yyh <92089059+lyzno1@users.noreply.github.com>
Co-authored-by: yyh <yuanyouhuilyz@gmail.com>
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-10 06:01:19 +00:00
corevibe555
7f4bf19186
refactor(mcp): remove unused AnyFunction alias, tighten callback type ( #34890 )
2026-04-10 05:48:01 +00:00
corevibe555
07c573e52f
refactor(api): replace Optional/Union with | syntax, remove dead AnyFunction ( #34894 )
2026-04-10 05:46:05 +00:00
sxxtony
660c7e4a43
refactor: migrate TrialApp and AccountTrialAppRecord to TypeBase ( #34897 )
2026-04-10 05:13:06 +00:00
corevibe555
5fafac0ca4
refactor(api): modernize type annotations — replace Optional/Union with | syntax ( #34888 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-10 05:04:10 +00:00
volcano303
c41b62f47e
refactor(api): type format_preview returns with TypedDicts in index processors ( #34893 )
2026-04-10 05:01:01 +00:00
Yansong Zhang
218c10ba4f
feat(api): add SSH private key auth support and verify SSH/E2B providers
...
- SSH Provider: add automatic private key detection in ssh_password
field (RSA/Ed25519/ECDSA) alongside existing password auth.
- SSH Provider verified end-to-end on EC2: connection, command exec,
CLI binary upload via SFTP, dify init, tool symlink creation.
- E2B Provider verified: cloud sandbox creation, CLI binary upload,
dify init with tool symlinks.
- Add linux/amd64 CLI binary for E2B (x86_64 cloud sandboxes).
Made-with: Cursor
2026-04-10 12:57:40 +08:00
yyh
f42c1b68a4
refactor(web): move avatar to base ui ( #34889 )
...
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-04-10 04:44:05 +00:00
Yansong Zhang
4c878da9e6
feat(api): add linux/amd64 dify-cli binary for E2B cloud sandbox
...
E2B Provider verified end-to-end:
- Cloud sandbox creation/release via E2B API
- CLI binary upload + execution inside E2B
- dify init + symlink creation
- dify execute requires public CLI_API_URL (expected for cloud sandbox)
Made-with: Cursor
2026-04-10 11:40:53 +08:00
Yansong Zhang
698af54c4f
feat(api): complete end-to-end Docker sandbox auto tool execution
...
Full pipeline working: Agent V2 node → Docker container creation →
CLI binary upload (linux/arm64) → dify init (fetch tools from API) →
dify execute (tool callback via CLI API) → result returned.
Fixes:
- Use sandbox.id (not vm.metadata.id) for CLI paths
- Upload CLI binary to container during sandbox creation
- Resolve linux binary separately for Docker containers on macOS
- Save Docker provider config via SandboxProviderService (proper
encryption) instead of raw DB insert
- Add verbose logging for sandbox tool execution path
- Fix NameError: binary not defined
Made-with: Cursor
2026-04-10 11:28:02 +08:00
-LAN-
b90fe73c96
fix(api): prevent cross-tenant external API use-check disclosure ( #34744 )
2026-04-10 03:23:32 +00:00