GareArc
e7d6485641
refactor(openapi): drop the workspace switch op and the console-only current field
...
difyctl keeps its workspace pin on the device and no longer calls the
server switch, so the op had no caller. `current` on the workspace list
and detail reported the web console's workspace, which read as the one
difyctl uses.
2026-10-14 19:42:47 -07:00
GareArc
223859af9a
refactor(openapi): export DSL through the app export service
...
Main moved DSL export onto AppExportService, which owns its session.
The openapi export now uses it too and reads the draft_hash first, in
its own short read: if the draft changes in between, the hash is older
than the DSL and a later import refuses with draft_changed instead of
overwriting the edit. A missing app answers not_found; a missing draft
or version keeps draft_not_found and version_not_found.
2026-10-14 03:01:27 -07:00
GareArc
9d94ba98ce
test(api): use real objects instead of mocks in the openapi build-loop tests
...
Main now rejects new Mock, MagicMock and SimpleNamespace calls in tests.
Rewrite the tests this branch added to use real rows on the sqlite
session, real services and contexts, and small recorders. Also set config
through config_overrides, and give the starter-draft test a signal with
no receivers so its result doesn't depend on test order.
2026-10-14 02:35:27 -07:00
GareArc
dea824398a
Merge origin/main into feat/openapi-app-build-loop
2026-10-14 01:57:10 -07:00
GareArc
65830354e4
fix(api): offer a form token in chat history only while the form waits
...
A timed-out or expired form kept its token, so the chat rendered live
buttons for it. Now that the snapshot drops forms that are no longer
waiting, a click on such a form waited for a pause that never came.
Without a token the buttons are disabled next to the expired tip.
2026-10-14 01:50:14 -07:00
33b1c57f9d
feat: document API errors per code and narrow them with oRPC defined errors ( #44001 )
...
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
2026-10-14 08:25:50 +00:00
D41910
e421dcc1f5
fix(dify-agent): verify E2B binding Home as well as Workspace on acquire ( #44014 )
2026-10-14 07:50:07 +00:00
非法操作
c11b36c70a
feat: support permanent deletion of monthly workflow archives ( #44052 )
2026-10-14 07:46:14 +00:00
2bb1b11334
test: use real agent config and tool call objects ( #43582 )
...
Co-authored-by: Codex <codex@openai.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Byron Wang <byron@dify.ai >
2026-10-14 07:08:04 +00:00
e6a94853c3
test: replace 50 agent chat doubles with real runtimes ( #43580 )
...
Co-authored-by: Codex <codex@openai.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Byron Wang <byron@dify.ai >
2026-10-14 07:08:03 +00:00
c07938b000
test: use real audio plugin runtimes ( #43577 )
...
Co-authored-by: Codex <codex@openai.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Byron Wang <byron@dify.ai >
2026-10-14 07:08:02 +00:00
2a598012d1
test: replace 50 workflow, catalogue and token lock doubles ( #43575 )
...
Co-authored-by: Codex <codex@openai.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Byron Wang <byron@dify.ai >
2026-10-14 07:08:01 +00:00
020b02c954
test: prevent new mocks and constructor-bypassing test subclasses ( #43572 )
...
Co-authored-by: Codex <codex@openai.com >
Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com>
Co-authored-by: Byron Wang <byron@dify.ai >
2026-10-14 07:08:01 +00:00
pei711 and zjp
fcd2f4eb18
fix(agent): keep replayed tool call IDs stable ( #43796 )
...
Co-authored-by: zjp <你的邮箱>
2026-10-14 06:44:10 +00:00
Eddy ZHANG
ba5532ace0
chore(api): clear ruff debt in strict core unit tests ( #44042 )
2026-10-14 04:44:53 +00:00
Eddy ZHANG
2ef9277e13
refactor(api): enable strict typing for Notion provider tests ( #44040 )
2026-10-14 04:44:53 +00:00
wangxiaolei and yunlu.wen
7a02240701
feat: support clean workspace related resource ( #43803 )
...
Co-authored-by: yunlu.wen <yunlu.wen@dify.ai >
2026-10-14 04:44:38 +00:00
Eddy ZHANG
a408d1d031
chore(api): clear ruff debt in strict services unit tests ( #44041 )
2026-10-14 04:44:28 +00:00
GareArc
08d5c18d2f
Merge origin/main into feat/openapi-app-build-loop
2026-10-13 20:00:43 -07:00
林玮 (Jade Lin)
c64d9061ce
feat(api): publish marketplace templates as ifpkg ( #43990 )
2026-10-14 02:34:16 +00:00
Eddy ZHANG
4de1be5342
refactor(api): enable strict typing for datasource manager tests ( #44032 )
2026-10-14 02:13:40 +00:00
Eddy ZHANG
db2330dfc0
chore(api): drop stale unit-test ruff per-file ignores ( #44033 )
2026-10-14 02:13:14 +00:00
Wu Tianwei
e2ae06ab07
fix(web): hide Agent template creation in CE and EE ( #44035 )
2026-10-14 02:03:31 +00:00
Xiyuan Chen
f43d1ae77e
fix(api): sort installed apps without NULLS LAST for MySQL ( #44029 )
2026-10-14 00:53:28 +00:00
Juhyuk choi
cc4aaebc97
fix(web): keep hourly runs on the right date at month end ( #43925 )
2026-10-13 16:59:00 +00:00
XiaoBa
51a8dba933
fix(api): preserve creator RBAC access across app and RAG pipeline creation ( #43941 )
2026-10-13 16:56:49 +00:00
XiaoBa
804fac75e0
fix(rbac): append default bindings in app_rbac initializer ( #43088 )
2026-10-13 16:56:10 +00:00
haloneko
6b9bb4c7e8
refactor: decode inspector pub/sub payloads via pydantic ( #43998 )
2026-10-13 15:50:49 +00:00
cd0202f0eb
test: exercise real snippet DSL workflows and completion queues ( #43570 )
...
Co-authored-by: Codex <codex@openai.com >
Co-authored-by: Byron Wang <byron@dify.ai >
2026-10-13 14:59:10 +00:00
0ce5423833
test: exercise real quota provider catalogs ( #43569 )
...
Co-authored-by: Codex <codex@openai.com >
Co-authored-by: Byron Wang <byron@dify.ai >
2026-10-13 14:59:09 +00:00
45c4b43b1b
test: use real quota values and reservations ( #43568 )
...
Co-authored-by: Codex <codex@openai.com >
Co-authored-by: Byron Wang <byron@dify.ai >
2026-10-13 14:59:08 +00:00
b31c4dbeee
test: exercise real prompt model runtime ( #43567 )
...
Co-authored-by: Codex <codex@openai.com >
Co-authored-by: Byron Wang <byron@dify.ai >
2026-10-13 14:59:07 +00:00
f0f412dba7
test: use real snippet generation services ( #43566 )
...
Co-authored-by: Codex <codex@openai.com >
Co-authored-by: Byron Wang <byron@dify.ai >
2026-10-13 14:59:06 +00:00
8289ea972d
test: exercise real web access and OTEL spans ( #43565 )
...
Co-authored-by: Codex <codex@openai.com >
Co-authored-by: Byron Wang <byron@dify.ai >
2026-10-13 14:59:05 +00:00
8a0b672cd8
test: exercise real enterprise OTLP exporters ( #43564 )
...
Co-authored-by: Codex <codex@openai.com >
Co-authored-by: Byron Wang <byron@dify.ai >
2026-10-13 14:59:04 +00:00
6bb84c3892
test: use real account service composition ( #43563 )
...
Co-authored-by: Codex <codex@openai.com >
Co-authored-by: Byron Wang <byron@dify.ai >
2026-10-13 14:59:03 +00:00
Asuka Minato and Codex
17383fb3df
test: use real workspace skill services ( #43562 )
...
Co-authored-by: Codex <codex@openai.com >
2026-10-13 14:59:02 +00:00
Asuka Minato and Codex
1b577d73d6
test: use real completion runner collaborators ( #43547 )
...
Co-authored-by: Codex <codex@openai.com >
2026-10-13 14:59:01 +00:00
Asuka Minato and Codex
783e7e1462
test: use real Word extractor dependencies ( #43546 )
...
Co-authored-by: Codex <codex@openai.com >
2026-10-13 14:59:00 +00:00
Asuka Minato and Codex
13d2ba0cc0
test: use concrete extractor element fixtures ( #43542 )
...
Co-authored-by: Codex <codex@openai.com >
2026-10-13 14:58:59 +00:00
Asuka Minato and Codex
148b7bc433
test: use concrete agent chat generator recorders ( #43541 )
...
Co-authored-by: Codex <codex@openai.com >
2026-10-13 14:58:58 +00:00
Eddy ZHANG
283371bb06
refactor(api): enable strict typing for app config manager tests ( #43988 )
2026-10-13 14:57:44 +00:00
Eddy ZHANG
9a3deb80bf
refactor(api): enable strict typing for top-level services tests ( #43989 )
2026-10-13 14:52:57 +00:00
Eddy ZHANG
cfcd7648f1
refactor(api): enable strict typing for agent v2 output tests ( #43987 )
2026-10-13 14:49:45 +00:00
Stephen Zhou and Claude Opus 5.5
8a237c6daf
fix(api): return 415 for unsupported pipeline upload file types ( #44012 )
...
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 12:06:56 +00:00
yyh
6908f4d837
fix(web): prevent workspace search focus ring clipping ( #44007 )
2026-10-13 10:43:14 +00:00
Stephen Zhou and Claude Opus 5.5
6c537c4a62
fix(api): keep Swagger docs through RBAC and web edition guards ( #44000 )
...
Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com >
2026-10-13 10:31:34 +00:00
GareArc
30936463eb
chore(openapi): regenerate contracts
2026-10-13 02:14:04 -07:00
GareArc
1645ee14ee
fix(openapi): gate describe.model_provider's credential hint on provider status
...
The hint to ask the user for credentials showed whenever the caller could not
see a saved credential, even when the provider was already active through one
it could not see. Gate it on the provider's configured status, as
describe.tool_provider does.
2026-10-13 02:13:38 -07:00
GareArc
8baab49490
fix(openapi): answer a disabled Service API with service_api_disabled and a set.service_api hint
...
The gate raised a bare Forbidden, so the body had the generic forbidden code
and no next step. Raise ServiceApiDisabled, whose hint holds the op that turns
the Service API on (set.service_api.agent for agent apps) with app_id and
enabled ready.
2026-10-13 02:12:12 -07:00