Commit graph

12927 commits

Author SHA1 Message Date
fz
ee5280bd6e fix(python-sdk): harden packaged runtime behavior 2026-08-18 14:38:42 +08:00
Yichen Jiang
02008db244 Merge remote-tracking branch 'origin/master' into feat/web-settings-describe-mirror 2026-08-18 14:37:07 +08:00
_Kerman
d0cdf52030 docs(pwsh): align persistent PTY contracts 2026-08-18 14:31:28 +08:00
_Kerman
cef99b17d4 test(acp): snapshot persistent PowerShell tool 2026-08-18 14:31:22 +08:00
_Kerman
2f759a6b65 fix(shell): preserve prompt-like PowerShell output 2026-08-18 14:30:59 +08:00
_Kerman
91e8d62b2a fix(subprocess): detect exited Windows terminals 2026-08-18 14:30:47 +08:00
creatixchu
5849c57c0c fix(images): align provider-safe payload defaults 2026-08-18 14:00:00 +08:00
fz
94f6fd1306 Support MCP in packaged Python runtime 2026-08-18 13:50:53 +08:00
_Kerman
b72bd6f5be merge: bring master into feat/pwsh-persistent-pty 2026-08-18 13:36:46 +08:00
Chinesezjc
8e2785d9eb fix(locale): cover direct register() dictionaries and assert <html lang> assembled
The parity gate recognized only a `[['zh',{...}],['en',{...}]]` array, so the
two separate ctx.locale.register(NS, 'zh'|'en', {...}) calls in
ui-permission-presets were unchecked: deleting a key from one side left the
gate green. Pair those calls by their namespace argument. Widen the pre-filter
to admit zhSettings/accessZh spellings, which a bare \b(zh|en)\b misses and
would have skipped before parsing.

Assert document.documentElement.lang in the assembled app. The served markup
already ships lang="en", so the fr-FR scenario passes whether or not the sync
runs; the zh scenario is the discriminating half and now asserts zh-CN before
the switch and en after it.

Drop the dead vi.unstubAllGlobals() from the document-language spec, which
manages navigator with defineProperty and never calls vi.stubGlobal.
2026-08-18 13:28:18 +08:00
Yichen Jiang
3e1915a3b2 feat(web): add model picker bulk selection 2026-08-18 13:07:11 +08:00
Chinesezjc
cb0d835582 Merge remote-tracking branch 'origin/master' into fix/locale-default-english 2026-08-18 12:48:52 +08:00
Chinesezjc
6e9b2560a3 fix(locale): keep the test-runtime devDependency and narrow the parity gate catch
Restore @deepseek-ai/dsh-client-test-runtime in ui-settings-general: the
package still imports bindSnapshotSelector from it in
tests/components.client.spec.tsx, so removing it was manifest drift. The
earlier knip report predated that file arriving on this branch.

Swallow only ENOENT when reading a directory in the parity gate. A broad catch
treated EACCES or an I/O failure as "absent", which would narrow the sweep and
let the gate pass while checking less.
2026-08-18 12:25:09 +08:00
Chinesezjc
9de06952ab fix(locale): persist an explicit pick of the provisional locale
setLocale returned early when the id already matched the active locale, so
choosing the language already on screen wrote nothing. That value may be a
provisional browser-derived or fallback resolution nothing has stored, so a
different browser sharing the DSH home still resolved on its own. Write
unconditionally; keep the render publish conditional.

Broaden the dictionary parity gate to every workspace package, pair zh/en
across sibling files and inline registrations, and fail when a dictionary has
no counterpart. It previously scanned only packages/client and packages/
extensions, compared within a single module, and silently skipped unpaired
dictionaries -- so the split locales/zh.ts + en.ts common pair, the inline
directory-picker-browse dictionary, and session-log-export were unchecked.
Normalize paths at ingestion so the sweep does not narrow on Windows.

Regenerate the client API catalog and update the locale README pair: both
described the old zh fallback direction.

Add the English fallback dialog golden, and drop a dead afterEach plus the
blank lines left where the dead browser-language pins were removed.
2026-08-18 12:18:03 +08:00
creatixchu
761d9d1978 fix(web): render command errors as banners 2026-08-18 12:06:40 +08:00
creatixchu
1492b0cfee Merge remote-tracking branch 'origin/master' into worktree/command-attachment-envelope
# Conflicts:
#	apps/web/tests/assembled-boot.ts
2026-08-18 12:00:46 +08:00
creatixchu
a26332d38a Merge remote-tracking branch 'origin/master' into worktree/image-request-budget 2026-08-18 11:58:47 +08:00
imccyu
68f519a74c test(web): make Cordis continuation turn deterministic 2026-08-18 11:58:11 +08:00
Dudu-0223
570aff0e27 refactor(team): incubate Agent Teams packages 2026-08-18 11:58:11 +08:00
Dudu-0223
0283d62c76 fix(team): address runtime review feedback 2026-08-18 11:58:11 +08:00
Dudu-0223
3546f595b9 feat(team): add durable Agent Teams runtime 2026-08-18 11:58:11 +08:00
CreatixChu
2edf88a6a7 Merge pull request #2629 from deepseek-harness/worktree/image-dimension-limit
fix(attachment): refuse oversized image sides at admission
2026-08-18 11:57:41 +08:00
creatixchu
28c2647293 fix(llm-pi-ai): address image offload review 2026-08-18 11:56:18 +08:00
creatixchu
2d895bfbb7 Merge remote-tracking branch 'origin/worktree/image-dimension-limit' into worktree/image-request-budget 2026-08-18 11:47:42 +08:00
creatixchu
abfd537588 Merge remote-tracking branch 'origin/master' into worktree/image-dimension-limit 2026-08-18 11:45:08 +08:00
creatixchu
bbb7651af3 Merge remote-tracking branch 'origin/worktree/image-dimension-limit' into worktree/image-request-budget 2026-08-18 11:42:12 +08:00
Dudu-0223
f2653b81d7 Merge pull request #2601 from deepseek-harness/codex/subagent-report-next-step
Deliver subagent reports at the next step
2026-08-18 11:39:49 +08:00
creatixchu
d559ba9b2b fix(attachment): address dimension-limit review 2026-08-18 11:30:07 +08:00
fz
85e821b926 fix(ci): remove flaky subprocess readiness handshake 2026-08-18 11:28:58 +08:00
Chinesezjc
bf4cb507f1 fix(locale): track the active locale in <html lang>
The document language attribute was a static value in the served markup, so
it reported zh-CN for an English UI and would have reported en for a Chinese
one once the resolved default changed. Set it from the active locale at
plugin activation and on every switch, carrying a BCP 47 tag (zh-CN / en).

Drop the now-unused dsh-client-test-runtime devDependency from
ui-settings-general: removing its dead browser-language pin left the package
with no remaining use of it, which knip reports as an error.
2026-08-18 11:25:39 +08:00
Yichen Jiang
884f7b9c41 fix(llm-pi-ai): expose the pi-ai wire-compat surface
pi-ai infers a request's shape from the provider id and baseURL, and for
an endpoint it does not recognize it answers as though it were OpenAI
itself. A hand-declared route is by construction such an endpoint, so a
model declaring reasoningEfforts sent its system prompt as the developer
role with no configuration able to say otherwise — a gateway rejecting
that role could not be connected at all. Writing the switch anyway
validated, persisted, and was then dropped, so the misconfiguration
looked applied.

Three drift gates classify all thirty upstream compat fields as offered
or withheld, keyed by `keyof` so a pi-ai upgrade fails the build until
the new field is classified. Twenty are offered: what a private URL
cannot imply. The rest stay withheld because pi-ai's installed catalog
sets them for a named vendor.

Protocol applicability is now per field rather than per block, so
supportsDeveloperRole reaches an openai-responses route and the
anthropic-messages switches reach theirs. A compat key no protocol
declares, or one a gate withholds, is refused where it is written.

Fixes #2646
Refs #1976
2026-08-18 11:24:33 +08:00
Yichen Jiang
950fcf9df6 Merge remote-tracking branch 'origin/master' into feat/web-settings-describe-mirror
# Conflicts:
#	packages/client/locale/tests/apply.client.spec.ts
#	packages/client/ui-permission-presets/src/client/index.ts
#	packages/client/ui-permission-presets/src/client/settings-store.ts
#	packages/client/ui-permission-presets/tests/permission-presets-row.client.spec.tsx
#	packages/client/ui-permission-presets/tests/settings-store.client.spec.ts
#	packages/client/ui-settings-general/src/client/index.ts
#	packages/client/ui-settings-models/src/client/index.ts
#	packages/client/ui-settings-models/src/client/store.ts
#	packages/client/ui-settings-models/tests/apply.client.spec.ts
#	packages/client/ui-settings-models/tests/components.client.spec.tsx
#	packages/client/ui-settings-models/tests/onboarding-dialog.client.spec.tsx
#	packages/client/ui-settings-models/tests/provider-form.client.spec.tsx
#	packages/client/ui-settings-models/tests/store.client.spec.ts
#	packages/client/ui-settings-models/tests/welcome-notice.client.spec.tsx
#	packages/client/ui-settings-plugins/tests/apply.client.spec.ts
#	packages/client/ui-settings/README.i18n.yaml
#	packages/client/ui-settings/README.md
#	packages/client/ui-settings/README.zh.md
#	packages/client/ui-settings/src/client/index.ts
#	packages/client/ui-settings/src/client/settings-scope.ts
#	packages/client/ui-settings/tests/plugin.client.spec.ts
#	packages/client/ui-settings/tests/settings-scope.client.spec.ts
#	packages/client/ui-theme/tests/apply.client.spec.ts
2026-08-18 11:23:25 +08:00
creatixchu
0b4a322003 fix(llm-pi-ai): bound request image payload by offloading oldest images
Every image in history is base64-inlined into every request, so a long
session's request body grows until a gateway request-size cap rejects it
with 413 and every retry resends the same oversized body, permanently
wedging the session. Each provider route now carries maxRequestImageBytes
(default 24MiB): when the accumulated base64 image payload exceeds it,
the oldest images are replaced by a fixed model-facing placeholder until
the request fits, so the newest images survive and the session keeps
completing requests. 413 and request-body-cap wording now classify as
INVALID_REQUEST instead of the generic PI_AI_ERROR.

Fixes #2644
2026-08-18 11:18:51 +08:00
Dudu-0223
20cd777753 Cover next-step report delivery in subagent runtime 2026-08-18 11:14:10 +08:00
Dudu-0223
d91df8cbd5 Deliver subagent reports at next step 2026-08-18 11:14:10 +08:00
creatixchu
609ee2facf Merge remote-tracking branch 'origin/master' into worktree/image-dimension-limit 2026-08-18 11:12:56 +08:00
Tianyi Cui
58e1aa8183 Merge pull request #2642 from deepseek-harness/fix/code-runtime-python-release-version
fix(code-runtime-python): match the rc.7 root version
2026-08-18 11:05:44 +08:00
Chinesezjc
acc9359a53 Merge remote-tracking branch 'origin/master' into fix/locale-default-english
# Conflicts:
#	packages/client/ui-settings-models/tests/apply.client.spec.ts
#	packages/client/ui-settings-plugins/tests/apply.client.spec.ts
#	packages/client/ui-theme/tests/apply.client.spec.ts
2026-08-18 10:53:18 +08:00
Chinesezjc
b940dca18d fix(code-runtime-python): match the rc.7 root version
The 0.1.0-rc.7 release commit bumped every release member except
code-runtime-python, which had landed on master between rc.6 and that
release. check-workspace-constraints requires each non-private workspace
package to carry the root version, so the constraints gate inside
`node 24 / static` fails for every pull request built against master.
2026-08-18 10:10:30 +08:00
pku-xht
c7dce0e784 Merge final Claude review evidence into Codex layer 2026-08-18 05:45:09 +08:00
pku-xht
3621716704 test(subagent): type Claude failure cause assertions 2026-08-18 05:37:14 +08:00
pku-xht
dfa1ff84ac Merge final Claude failure facts into Codex layer 2026-08-18 05:33:13 +08:00
pku-xht
9b83852dcc docs(subagent): align named instance evidence notes 2026-08-18 05:23:40 +08:00
pku-xht
4c6ff93535 fix(subagent): preserve Claude failure provenance 2026-08-18 05:17:47 +08:00
pku-xht
f0b2d7c762 refactor(subagent): avoid duplicate process diagnostics 2026-08-18 05:01:37 +08:00
pku-xht
75cece4b92 docs(subagent): finalize named instance guidance 2026-08-18 04:48:07 +08:00
pku-xht
8ff5b7d54f Merge PR1 layer-scoped guidance fix 2026-08-18 04:45:27 +08:00
pku-xht
7dd6436d52 docs(subagent): scope named guidance to Claude layer 2026-08-18 04:44:42 +08:00
pku-xht
cf16ee41bf test(subagent): narrow named instance evidence 2026-08-18 04:34:24 +08:00
pku-xht
a89f72841a Merge PR1 named-instance review fixes 2026-08-18 04:30:30 +08:00