Commit Graph
9203 Commits
Author SHA1 Message Date
Tianyi Cui 4582e1425c Merge commit 'refs/codex/pr885/master-20260730' into worktree/retarget-pr885-20260729
# Conflicts:
#	eslint.config.mjs
2026-07-30 01:18:28 +08:00
Tianyi Cui 014e39203e Merge commit '3a1b995e4fc3eb9acd6324c4b581f7aeb110b8be' into worktree/retarget-pr828-20260729 2026-07-30 01:18:18 +08:00
imccyu 643f9be33f Merge remote-tracking branch 'origin/master' into mergebot/pr883
# Conflicts:
#	apps/web/tests/todo-display.snapshot.ts
#	docs/event-producer-consumer.md
2026-07-30 01:16:46 +08:00
Tianyi Cui 4c15041fc9 test(hooks): normalize matcher snapshot workdirs 2026-07-30 01:16:37 +08:00
Tianyi Cui b7dbb25c08 docs: clarify release tooling exclusion 2026-07-30 01:14:25 +08:00
imccyu d00d1009f7 Merge remote-tracking branch 'origin/master' into worktree-locale
# Conflicts:
#	docs/module-graph.md
#	packages/client/locale/README.i18n.yaml
#	packages/client/locale/README.zh.md
2026-07-30 01:10:57 +08:00
creatixchu 12d302ea59 fix(host): review round 17 — separator-fold drafts; UNC noise scrub; honest empty-chain fallback; toggle focus keep 2026-07-30 01:10:37 +08:00
Tianyi Cui 7118b4cfe1 cleanup(build): collapse native runtime payloads 2026-07-30 01:09:54 +08:00
Tianyi Cui 0e53b7a8aa cleanup(build): drop helper architecture parsing 2026-07-30 01:07:47 +08:00
imccyu 2c5114c060 feat(client): adopt the locale seat in theme, sidebar, question, and model
Each package ships its zh/en dictionaries as satisfies-typed pairs (zh is
the key-set source of truth; en is checked complete against it), merges its
namespace into LocaleNamespaceMap, and declares locale: NS at register —
components read the framework-injected typed t seat instead of a
hand-carried inject member. Overlapping verbatim words (retry, submit,
submitting) drop out of package dictionaries in favor of the shared common
vocabulary; the question composer stores validation feedback as dictionary
keys so shown feedback follows a locale switch.
2026-07-30 01:04:58 +08:00
imccyu c317fbc489 feat(client): typed locale standard seat in the slot framework
Registrations declare a dictionary namespace (locale: NS) and the renderer
synthesizes a typed t prop for the entry's component from the installed
LocaleFace; the seat binding is re-derived per locale revision, so a language
switch hands out fresh t references and memoized consumers re-render through
ordinary shallow comparison. LocaleNamespaceMap is the declare-merge table
(namespace -> dictionary key union); TranslateNS<'ns'> is the
namespace-addressed translate type (namespace keys plus the shared common
vocabulary), carried by the t seat and by the locale service's typed bind.

LocaleService implements the face (lookup ns -> common -> zh -> key,
revision-carrying snapshots with subscriber isolation) and installs it
through the boot-once slots.installLocale seam, mirroring the renderer
install. The typed register(ns, {zh, en}) overload checks each dictionary
against the namespace's key union and requires every shipped locale, so a
missing or extra key and an unbalanced translation are compile errors.
Dictionary registration bumps the face revision without emitting
locale/change — the event now means exactly 'the active locale switched',
so registration-heavy boot cannot storm event listeners.
2026-07-30 01:04:56 +08:00
kingwl 76e14793a9 Merge remote-tracking branch 'origin/master' into codex/web-queue-actions
# Conflicts:
#	docs/architecture.i18n.yaml
#	docs/cordis-catalog/events.md
#	docs/core-data-structures/core.i18n.yaml
#	docs/event-producer-consumer.md
2026-07-30 01:04:25 +08:00
imccyu d9eb3545d8 Merge remote-tracking branch 'origin/master' into mergebot/pr883
# Conflicts:
#	packages/client/tsdown.client.ts
#	packages/client/ui-conversation/src/client/chat/ChatView.tsx
#	packages/client/ui-conversation/src/client/chat/PendingCard.tsx
#	packages/client/ui-conversation/src/client/chat/ToolRow.tsx
#	packages/client/ui-conversation/src/client/toolviews/todo-row.module.css
#	packages/client/ui-conversation/src/client/toolviews/todo-row.tsx
#	packages/client/ui-conversation/tests/chat-apply.spec.tsx
#	packages/client/ui-conversation/tests/coverage-tails.spec.tsx
#	packages/client/ui-conversation/tests/todo-panel.spec.tsx
#	packages/client/ui-primitives/src/icons/index.tsx
#	packages/client/ui-primitives/tests/icons.spec.tsx
#	packages/client/ui-question/README.i18n.yaml
#	packages/client/ui-question/src/client/QuestionComposer.module.css
#	packages/client/ui-question/src/client/QuestionComposer.tsx
2026-07-30 01:01:14 +08:00
Yichen Jiang 15eaac6af5 fix(ui): shorten default reasoning labels 2026-07-30 00:57:38 +08:00
Tianyi Cui 1224061723 Merge pull request #921 from deepseek-harness/webtest-migrate
Sink assembled-app jsdom snapshots into package suites; keep one boot smoke
2026-07-30 00:57:34 +08:00
kingwl 77479f5ab0 test(queue): close CI coverage gaps 2026-07-30 00:55:02 +08:00
imccyu 7f0c69fb78 Merge branch 'master' into webtest-migrate 2026-07-30 00:50:46 +08:00
creatixchu 4921b63fe3 fix(host): review round 16 — UNC/forward-slash home forms; root-crumb separator; scrollbar symmetry; test dedup 2026-07-30 00:49:18 +08:00
imccyu 1e98797e7a Merge pull request #857 from deepseek-harness/worktree-trpc
Add compiler-independent Typert pipeline
2026-07-30 00:48:27 +08:00
Yichen Jiang 686e40ebf6 feat(ui-models): schema-driven provider configuration page
The Models settings section joins llm.providers (the configurable
directory with live state), settings.describe (schemas, layered redacted
values, secret slots), and credentials.describe (value-free badges) into
provider rows with one editor card at a time. The editor renders the
provider's profile subtree through dsh-client-schema-form; the
credential-ref role mounts a control that shows configured/source state
and stores keys write-only through credentials.set. Apply without
removals merges a minimal patch (stored secrets outside it survive);
apply after a reset — and row deletion — replace the user section so
removals land. The client runtime bridges the three new host frames to
typed ctx events (settings/credentials/models changed), the page
refetches on any of them once loaded, and ui-model's per-session picker
directories reload on models/changed so a settings-born route appears in
open pickers without a reopen.
2026-07-30 00:46:45 +08:00
creatixchu abb3b62564 fix(host): review round 15 — lexical home normalization; webkit scrollbar hide; flex-none check; inert enumeration 2026-07-30 00:31:11 +08:00
kingwl c97b1d025e Merge remote-tracking branch 'origin/master' into codex/web-queue-actions
# Conflicts:
#	apps/web/tsconfig.json
#	docs/architecture.i18n.yaml
#	docs/event-producer-consumer.md
#	packages/client/runtime/README.i18n.yaml
#	packages/client/tsdown.client.ts
#	packages/client/ui-conversation/README.i18n.yaml
#	packages/core/agent-loop/README.i18n.yaml
#	packages/core/agent/README.i18n.yaml
#	packages/core/agent/README.zh.md
#	packages/host/apiproxy/README.i18n.yaml
#	tsconfig.host.json
2026-07-30 00:30:38 +08:00
imccyu 41b0ba9ac5 fix: coverage 2026-07-30 00:25:51 +08:00
Tianyi Cui 758dc73ed9 docs: refresh generated config anchors 2026-07-30 00:24:59 +08:00
Yichen Jiang ee596568a3 Merge remote-tracking branch 'origin/master' into worktree/fix-multi-select-custom-answer
# Conflicts:
#	packages/host/apiproxy/README.i18n.yaml
#	packages/ui/tool-ask-user/README.i18n.yaml
#	packages/ui/tool-ask-user/README.zh.md
#	packages/ui/tui/README.i18n.yaml
#	packages/ui/user-interaction/README.i18n.yaml
#	packages/ui/user-interaction/README.zh.md
2026-07-30 00:24:24 +08:00
Yichen Jiang 9592c8f271 feat(schema-form): schema-driven React form renderer package
@deepseek-ai/dsh-client-schema-form rehydrates the wire's serialized
schemastery envelope (new Schema(json)) and edits a draft user section
against it: presence-in-draft marks a field overridden with a per-field
reset, inherited values render as placeholders, role('secret') slots are
write-only with configured-state placeholders from the wire's secrets
list, dict adds take a union-typed sKey as their vocabulary, and any
node the renderer cannot faithfully edit falls back to a read-only view
instead of silently disappearing. renderField(context) is the role hook
the Models page will use for the credential-ref control; validateDraft
runs the same rehydrated validator the host uses, so the browser and
host judge one schema.
2026-07-30 00:24:19 +08:00
Turtle 3685740179 test(cli): move skill policy snapshot fixture 2026-07-30 00:23:58 +08:00
Yichen Jiang a777000512 fix(user-interaction): preserve multi-select custom answers 2026-07-30 00:21:47 +08:00
Tianyi Cui 3d5fe9ffab Merge branch 'master' into fix/hook-matcher-validation 2026-07-30 00:21:43 +08:00
Tianyi Cui 91a104acef docs(pty): explain spawn-helper override precedence 2026-07-30 00:20:44 +08:00
Tianyi Cui 92052c1220 docs(persistent-bash): define cancellation reset 2026-07-30 00:18:55 +08:00
Yichen Jiang 3eec30c278 Merge remote-tracking branch 'origin/master' into worktree/web-model-request-retry
# Conflicts:
#	apps/cli/README.i18n.yaml
#	apps/web/tests/snapshots/live-interactions/retry.expected.md
#	packages/client/runtime/README.i18n.yaml
#	packages/client/runtime/src/client/index.ts
#	packages/client/ui-conversation/README.i18n.yaml
#	packages/client/ui-conversation/README.md
#	packages/client/ui-conversation/README.zh.md
#	packages/client/ui-conversation/src/client/chat/MessageItem.tsx
#	packages/client/ui-conversation/tests/chat-branch-tails.spec.tsx
#	packages/client/ui-trajectory/README.i18n.yaml
#	packages/client/ui-trajectory/README.md
#	packages/client/ui-trajectory/README.zh.md
#	packages/client/ui-trajectory/src/client/spans.ts
#	packages/client/ui-trajectory/tests/views.spec.tsx
#	packages/llm/llm-retry/README.i18n.yaml
#	packages/llm/llm-retry/README.zh.md
2026-07-30 00:16:32 +08:00
Tianyi Cui a3caf4b211 cleanup(persistent-bash): drop impossible marker branch 2026-07-30 00:16:26 +08:00
Tianyi Cui 9549c73f30 fix(persistent-bash): distinguish shell exit status 2026-07-30 00:15:39 +08:00
Tianyi Cui 0440c4cc0c Merge latest master into codex/migrate-to-oxlint 2026-07-30 00:13:30 +08:00
Yichen Jiang 191067559e feat(apiproxy): settings/credentials/llm wire domains, frames, and write guard
Eight compiler-locked methods: settings.describe/update/replace serve
redacted layered namespace views (secrets structurally absent from every
layer, write-only in the update direction) and fold seam refusals into
settings-rejected; credentials.describe/set/unset expose value-free views
with credential-rejected on shadowed writes; llm.providers merges the
configurable directory with live routes and llm.models claims the
host-scoped catalog reservation through the buildModelCatalog extraction
session.models now shares. Three HostFrame invalidations bridge the seam
events (host/settings-changed, host/credentials-changed,
host/models-changed), and the connection route generalizes the native-
dialog check into a privileged-method set covering all four writes. The
fixture and both fake clients grow the same face.
2026-07-30 00:13:12 +08:00
creatixchu 9a96aa2755 fix(host): review round 14 — shared hanging-lister fake; create-supersession and closing-commit contracts documented 2026-07-30 00:13:09 +08:00
imccyu ed1ae0d636 fix: docs budget 2026-07-30 00:12:03 +08:00
Tianyi Cui 9b9d3838ba docs(example): update persistent-tools snapshot command 2026-07-30 00:10:32 +08:00
07akioni a150cbc63b Merge branch 'master' into fix/ui-action-display 2026-07-30 00:10:25 +08:00
Turtle 7dfead7799 test(cli): keep file completion in source plane 2026-07-30 00:09:03 +08:00
07akioni b71fbe770d fix: ci 2026-07-30 00:08:59 +08:00
Tianyi Cui 93ae5ea867 fix(python): name unsupported release executables 2026-07-30 00:08:17 +08:00
Turtle 131470faa0 Revert "fix(tui): avoid blocking reference autocomplete"
This reverts commit f565ce44db708f1186354526a170513d48b07a2c.
2026-07-30 00:07:21 +08:00
Tianyi Cui 492eef806a Merge commit 'refs/codex/pr921/master' into worktree/retarget-pr921-20260729
# Conflicts:
#	apps/web/tests/slash-flow.snapshot.ts
2026-07-30 00:06:50 +08:00
Tianyi Cui 514238ee47 fix(editor): preserve tabs in file views 2026-07-30 00:05:58 +08:00
kingwl f893e2281d feat(agent): add addressable queue operations 2026-07-30 00:05:00 +08:00
imccyu dcb8b592ee Merge remote-tracking branch 'origin/master' into worktree-trpc 2026-07-30 00:04:52 +08:00
07akioni 4e7f90667a fix: chat agent message actions display 2026-07-30 00:01:49 +08:00
Turtle c00a54d334 Merge remote-tracking branch 'origin/master' into feature/shared-cli-config-foundation
# Conflicts:
#	packages/host/apiproxy/README.i18n.yaml
2026-07-30 00:01:13 +08:00