Commit Graph
13582 Commits
Author SHA1 Message Date
_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
pku-xht cde7ffe6e3 fix(subagent): align named instance guidance and evidence 2026-08-18 04:29:48 +08:00
pku-xht 1feb33a0ec Merge PR1 named-instance documentation fix 2026-08-18 04:13:46 +08:00
pku-xht b795e90329 Merge Claude failure facts into Codex layer 2026-08-18 04:13:32 +08:00
pku-xht b85cb981ef docs(subagent): allow multiple product provider instances 2026-08-18 04:13:14 +08:00
pku-xht a5ea2c46a7 test(acp): isolate product diagnostic header pin 2026-08-18 04:08:58 +08:00