Commit Graph

7784 Commits

Author SHA1 Message Date
kingwl
ff570ea04c test(agent): refresh inbox action snapshot 2026-07-30 04:20:20 +08:00
kingwl
112b0fbad1 fix(web): address queue review feedback 2026-07-30 04:12:38 +08:00
creatixchu
53e85101b9 fix(host,client): review round 24 — close-edge facts synced; wire-hop pointer; platform-flavored double join; loading reset 2026-07-30 03:38:43 +08:00
kingwl
ebbcfdd03b Merge remote-tracking branch 'origin/master' into codex/web-queue-actions
# Conflicts:
#	packages/core/agent-loop/src/agent.ts
2026-07-30 03:33:41 +08:00
creatixchu
df313b7531 fix(host,client): review round 23 — create-path contract at every client declaration; close-edge resets; NFD tripwire; canonical double join 2026-07-30 03:17:30 +08:00
creatixchu
de24461b91 fix(host): review round 22 — note enumeration includes the create path; cross-method equality pinned; NFD-volume boundary recorded 2026-07-30 02:53:45 +08:00
creatixchu
8016591ebe doc: regenerate cordis catalog for the create-path and lexical-shape seam JSDoc 2026-07-30 02:33:06 +08:00
creatixchu
56ac56bb26 fix(host): review round 21 — create-path shape promised; lexical-not-realpath named; hermetic-only home probes; enumerations point at the contract 2026-07-30 02:30:05 +08:00
creatixchu
f36bb1e882 doc: regenerate cordis catalog for the canonical-shape seam JSDoc 2026-07-30 02:14:58 +08:00
creatixchu
983e6d07a4 fix(host): review round 20 — canonical shape declared at the interface; hermetic home-shape spec; single resolve 2026-07-30 02:10:07 +08:00
kingwl
7ce330f0e4 refactor(agent): scope queue actions to edit and remove 2026-07-30 01:58:51 +08:00
imccyu
606b6aa78c Merge remote-tracking branch 'origin/master' into worktree-locale
# Conflicts:
#	packages/client/ui-slots/src/index.ts
2026-07-30 01:53:28 +08:00
creatixchu
cc92b6b578 fix(host,client): review round 19 — home ships resolved on the wire; client mirror shrinks to the draft side; scoped focus guarantee 2026-07-30 01:50:45 +08:00
imccyu
93fc1e2ab8 Merge branch 'master' into feat/ask-question-gui 2026-07-30 01:46:05 +08:00
imccyu
622450192d fix(client): mark the parallel register overloads for the clone gate
The two overload declarations differ only in the inject share; folding them
would lose per-overload inference of I, so the duplication is deliberate.
2026-07-30 01:40:10 +08:00
Tianyi Cui
c8cdc42418 Merge remote-tracking branch 'origin/master' into codex/experimental-plugin-group-note 2026-07-30 01:38:34 +08:00
Tianyi Cui
78cf5de686 Merge origin/master into fix/hook-matcher-validation 2026-07-30 01:38:18 +08:00
imccyu
3c8cd4eca3 fix(web): repair merge tails — todo-row selector and composer handler clone
The #921 selector change and the duplication gate both first ran against
this branch after the merge made it MERGEABLE: assembly-surfaces still
queried the retired data-sample="todo-row" hook (the composed TodoRow
carries ToolRow's data-tool attribute instead), and the redesigned
QuestionComposer duplicated the custom-draft onChange/onKeyDown pair
across its inline input and optionless textarea. The spec now anchors on
data-tool="todo_write", and the composer shares one draftCustom /
continueFromCustom handler pair (Enter continues, Shift+Enter stays a
newline, IME composition stays inert).
2026-07-30 01:34:56 +08:00
Tianyi Cui
2a53806275 Merge pull request #885 from deepseek-harness/codex/migrate-to-oxlint
refactor: migrate linting to Oxlint
2026-07-30 01:33:20 +08:00
Tianyi Cui
401afde164 Merge remote-tracking branch 'origin/master' into codex/experimental-plugin-group-note
# Conflicts:
#	packages/README.i18n.yaml
#	packages/README.md
#	packages/README.zh.md
2026-07-30 01:32:41 +08:00
Tianyi Cui
8a9d882a11 cleanup(build): minimize native payload handling 2026-07-30 01:29:18 +08:00
creatixchu
9545914c10 fix(host): review round 18 — draft dirs fully normalized; JSDoc reattached; third parking target documented 2026-07-30 01:28:55 +08:00
Tianyi Cui
7ba061446d docs(acp-snapshot): widen posix-only contract 2026-07-30 01:27:52 +08:00
imccyu
e56c0699a9 Merge branch 'master' into codex/web-queue-actions 2026-07-30 01:21:13 +08:00
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
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