Commit Graph

253 Commits

Author SHA1 Message Date
imccyu
a7d4cd8e1b fix: ci 2026-08-13 01:33:31 +08:00
imccyu
978e573605 fix: test/docs 2026-08-13 01:30:49 +08:00
Tianyi Cui
a2d0f7f411 refactor: apply repository naming contract
Apply the accepted pre-release package, service, type, directory, and role renames as one repository-wide change.
2026-08-13 00:54:38 +08:00
Turtle
30b2a04b69 docs: correct the turn-flow event order and dispatch modes
turn/start precedes the first claim and pre-step, a rejected or empty first claim closes a zero-step turn, llm/stream and tools/* are their own domains, and agent/turn-stopping is serial. Regenerates the lifecycle diagram from the same facts and names --patch overlays exactly.
2026-08-12 21:03:15 +08:00
Turtle
7af0b8f6df docs: fix grammar and sync Chinese counterparts
Correct the reworked English wording in the CLI profile section, architecture map, and llm-streaming cross-reference, then bring every edited pair's Chinese side along and re-record the pairing hashes.
2026-08-12 21:01:45 +08:00
Turtle
988f4ad117 update architeture.md 2026-08-12 21:01:11 +08:00
xjt
7325036d50 Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading
# Conflicts:
#	docs/subsystems/feedback.i18n.yaml
#	docs/subsystems/feedback.zh.md
2026-08-12 17:10:13 +08:00
xjt
ce883ffea3 Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading
# Conflicts:
#	.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.i18n.yaml
#	.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.zh.md
#	README.i18n.yaml
#	README.zh.md
#	scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-08-12 16:45:48 +08:00
xjt
0a8c9fb1f9 docs(i18n): address final proofreading feedback 2026-08-12 16:43:38 +08:00
Chinesezjc
e0e43f40c2 Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-12 16:39:15 +08:00
Chinesezjc
c55fca5eda Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui
Keep both Remote contributions master and this branch add: the mount loop
now carries commandsRemote, goalsRemote, pluginInventoryRemote, and
messageFeedbackRemote, with both new tsconfig references retained.
2026-08-12 16:36:10 +08:00
pku-xht
21b316de23 Merge origin/master into codex/bounded-background-tasks-v2 2026-08-12 15:54:49 +08:00
xjt
ab140cd299 Merge remote-tracking branch 'origin/master' into docs/post-v3-release-proofreading
# Conflicts:
#	.agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-20-dsh-cli-personal-config.zh.md
#	.agents/notes/implemented/feature/2026-07-25-session-list-browsing-and-manual-order.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-25-session-list-browsing-and-manual-order.zh.md
#	.agents/notes/implemented/feature/2026-07-25-workspace-ui-product-flow.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-25-workspace-ui-product-flow.zh.md
#	.agents/notes/implemented/feature/2026-07-26-code-dispatch-ui-foundation.i18n.yaml
#	.agents/notes/implemented/feature/2026-07-26-code-dispatch-ui-foundation.zh.md
#	docs/user/develop/basic/index.i18n.yaml
#	docs/user/develop/basic/index.zh.md
#	docs/user/guide/config.i18n.yaml
#	docs/user/guide/config.zh.md
#	docs/user/guide/providers.i18n.yaml
#	docs/user/guide/providers.zh.md
#	packages/bundle/base/README.i18n.yaml
#	packages/bundle/base/README.zh.md
#	packages/host/apiproxy/README.i18n.yaml
#	packages/host/apiproxy/README.zh.md
2026-08-12 12:59:38 +08:00
_Kerman
d5ec13bdd9 Merge pull request #2250 from deepseek-harness/xtr/sidebar-workspace-controls
feat(web): improve workspace sidebar navigation
2026-08-12 12:41:53 +08:00
xjt
4806d94715 docs(i18n): include complete proofreading corpus 2026-08-12 12:30:19 +08:00
Yichen Jiang
dfa2d91dcb Merge master into worktree/preset-user-root-in-package
Overlaps master on the preset e2e, the web scaffold, and the generated
config-catalog triplet; all merged textually, so the catalog is regenerated and
its pairing hashes re-recorded rather than trusted.
2026-08-12 11:08:55 +08:00
Chinesezjc
b462d5fd69 Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui
Adapt to two contract changes master introduced:

- The generated Remote face now wraps every business result in
  RemoteResult, folding carrier failures into an ok:false branch instead
  of rejecting. The controller reads that envelope at its three call
  sites and maps a carrier failure onto the same settled shape the
  controls already render; three specs cover the new branch.
- Client packages split their tsconfig into host and client halves, and
  the host aggregate now compiles any test not named *.client.spec.*.
  Rename this package's specs to the client convention and drop the
  ../connection project reference, which pointed at a solution file that
  no longer carries the client sources.

Keep master's mount loop with its rollback-on-failure in api-remotes and
add messageFeedbackRemote to it.
2026-08-12 10:43:23 +08:00
xjt
7b450d121e docs(i18n): apply reviewed Chinese proofreading updates 2026-08-12 09:59:19 +08:00
_Kerman
3a0baa1e9d Merge remote-tracking branch 'origin/master' into dshw/pr-2250
# Conflicts:
#	packages/client/connection/tests/fake-api.client.ts
#	packages/client/runtime/tests/manager.client.spec.ts
#	packages/client/runtime/tests/workspaces-service.client.spec.ts
#	packages/host/apiproxy/tests/rpc-schemas.spec.ts
2026-08-12 04:50:51 +08:00
imccyu
929086fb36 fix: docs 2026-08-12 02:30:08 +08:00
Chinesezjc
47f254a252 fix(feedback): address review findings in the controller and controls
Resolve the note-erasure race the review found: a control that rendered
before the first list read held no item and passed note=undefined, so
switching a rating silently dropped the stored note. The controller now
owns note resolution and toggle-vs-retract, deciding from the committed
item inside the serialized mutation, and clearNote expresses deletion.

Also from review:
- serialize the reconnect re-read behind queued mutations (resync), so a
  list reply cannot resurrect a version a newer mutation replaced
- re-check disposal after the seeding read, so an unloaded fiber never
  reaches the wire
- drop Object.freeze on Maps, which does not prevent set/delete
- declare the @deepseek-ai/dsh-client-connection dependency it imports
- surface a failed list load in the controls
- drop the /client value exports that had no consumer
- state the per-turn render scope in the README and subsystem pages
- align the package version with the root
2026-08-12 01:12:41 +08:00
Chinesezjc
63e6ea1b79 Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-11 23:54:29 +08:00
pku-xht
9e4d391477 Merge commit '1ba530868a928c4286c8097647a649843dfae2bc' into codex/bounded-background-tasks-v2 2026-08-11 23:27:26 +08:00
Yichen Jiang
db4e3e39a5 docs: refresh generated source references after the collapse-section constants
Adding COLLAPSE_SECTION_ORDER and CODE_ONLY_INSTRUCTION shifted every
later line in packages/core/tools/src/index.ts by 14, and three generated
artifacts cite those lines: the subsystems cordis-surface region, the
event producer/consumer matrix, and the Agent Note pair record left
inconsistent by the cherry-pick resolution.
2026-08-11 23:11:12 +08:00
Chinesezjc
24dd48b133 fix(tools): collapse code-mode executor to run_code for model-direct calls
wireSchemas() already advertised only run_code under mode: 'code', but the
executor resolved every call through get(), which returns the full visible
map plus the reserved transport. A model could name a native tool directly
and bypass run_code entirely. Route the execution-path lookups through a
new private resolveExecution() that applies the mode collapse at the
operation boundary: model-direct calls under 'code' may only name run_code
(UNKNOWN_TOOL otherwise), while SDK sub-dispatches (parent token set) keep
every visible tool. get()/schemas() public semantics are unchanged.

The denial happens at createExecution, before the extensible policy
pipeline — pre-execute listeners, approval ask, and guards never observe
a call that is deterministically denied. A collapsed call honors the
pre-dispatch cancellation contract, routes aborted results through the
visible tool's finalizeContent, and captures the finalizer before
argument materialization.

Regenerated docs, catalogs, graphs, scoped events, re-recorded
translation pairs, and updated test assertions.

Fixes #1815
2026-08-11 22:40:36 +08:00
Chinesezjc
6f6defd64a fix(tools): collapse code-mode executor to run_code for model-direct calls
wireSchemas() already advertised only run_code under mode: 'code', but the
executor resolved every call through get(), which returns the full visible
map plus the reserved transport. A model could name a native tool directly
and bypass run_code entirely. Route the execution-path lookups through a
new private resolveExecution() that applies the mode collapse at the
operation boundary: model-direct calls under 'code' may only name run_code
(UNKNOWN_TOOL otherwise), while SDK sub-dispatches (parent token set) keep
every visible tool. get()/schemas() public semantics are unchanged.

The denial happens at createExecution, before the extensible policy
pipeline — pre-execute listeners, approval ask, and guards never observe
a call that is deterministically denied. A collapsed call honors the
pre-dispatch cancellation contract, routes aborted results through the
visible tool's finalizeContent, and captures the finalizer before
argument materialization.

Under code mode, a system-prompt/assemble listener filters out tool:*
guidance sections that told the model to call native tools directly.
The tools:sdk section and SDK types remain so programs can still use
all tools through run_code.

Regenerated docs, catalogs, graphs, scoped events, and re-recorded
translation pairs.

Fixes #1815
2026-08-11 22:40:20 +08:00
_Kerman
a1d0d6a3a1 Merge remote-tracking branch 'origin/master' into dshw/pr-2250 2026-08-11 22:33:12 +08:00
pku-xht
e3ac9e85e5 Merge commit '5a0d28e200d89dca2b8004d9cd624629a1409a3f' into codex/bounded-background-tasks-v2
# Conflicts:
#	.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.i18n.yaml
#	.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.md
#	.agents/notes/implemented/architecture/2026-06-20-generic-long-running-tool-runtime.zh.md
2026-08-11 22:28:38 +08:00
Chinesezjc
d8e766e56c Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui 2026-08-11 21:42:12 +08:00
Chinesezjc
0fdb1c944f Merge remote-tracking branch 'origin/master' into feat/web-message-feedback-ui
Resolve additive conflicts in the api-remotes client assembly by keeping
both the message-feedback remote mount and master's forwarded-event
allowlist, and regenerate the module graph.
2026-08-11 21:37:55 +08:00
Yichen Jiang
02e7b25bc3 Merge master into worktree/preset-user-root-in-package
Regenerates docs/config-catalog and re-records its pairing hashes: master's
side of that generated file merged textually, which leaves the recorded blob
hashes describing neither side's content.
2026-08-11 21:34:34 +08:00
Yichen Jiang
18c33b5fab Merge remote-tracking branch 'origin/master' into feat/wake-idle-owner-on-task-completion 2026-08-11 21:18:32 +08:00
Yichen Jiang
bac3a77dd9 Merge master into worktree/preset-user-root-in-package
Clean merge with no resolution edits: the branch is refreshed onto current
master so the PR's mergeability is computed against a base it contains.
2026-08-11 21:14:52 +08:00
Yichen Jiang
101e7f2382 docs: regenerate the core subsystem catalog for the moved Config source line 2026-08-11 21:09:35 +08:00
Yichen Jiang
c1f1a169df Merge remote-tracking branch 'origin/master' into feat/wake-idle-owner-on-task-completion 2026-08-11 21:03:33 +08:00
kingwl
93b0451ed5 feat(llm): send DeepSeek user identity header 2026-08-11 21:01:36 +08:00
Tianyi Cui
01033361c1 Merge branch 'worktree/schedule-explicit-at' into worktree/schedule-fixed-rate 2026-08-11 20:34:42 +08:00
Tianyi Cui
7583778fbd Merge branch 'worktree/schedule-conversational-after' into worktree/schedule-explicit-at
# Conflicts:
#	packages/client/runtime/README.i18n.yaml
#	packages/client/runtime/README.md
#	packages/client/runtime/README.zh.md
2026-08-11 20:34:34 +08:00
Tianyi Cui
9dc4af386d Merge branch 'master' into worktree/schedule-conversational-after 2026-08-11 20:31:49 +08:00
Yichen Jiang
4675914d74 Merge remote-tracking branch 'origin/master' into feat/wake-idle-owner-on-task-completion 2026-08-11 20:20:01 +08:00
pku-xht
fe09a45fca Merge commit 'f5a147f8da75e7bab0c617e0c7594c62db306e26' into codex/bounded-background-tasks-v2 2026-08-11 20:12:04 +08:00
Tianyi Cui
ac9ba8ce28 Merge branch 'worktree/schedule-explicit-at' into worktree/schedule-fixed-rate 2026-08-11 20:00:32 +08:00
_Kerman
ef3eb0494c Merge remote-tracking branch 'origin/master' into xtr/sidebar-workspace-controls 2026-08-11 19:58:15 +08:00
Tianyi Cui
e4fdd4b1e9 Merge branch 'worktree/schedule-conversational-after' into worktree/schedule-explicit-at 2026-08-11 19:57:55 +08:00
Tianyi Cui
5f64b6815c Merge remote-tracking branch 'origin/master' into worktree/schedule-conversational-after
# Conflicts:
#	docs/event-producer-consumer.i18n.yaml
#	docs/event-producer-consumer.md
#	docs/event-producer-consumer.zh.md
2026-08-11 19:54:39 +08:00
Yichen Jiang
fb6fb1fa12 Merge origin/master into worktree/web-plugin-config, adapting to ctx.remote.$on
#2201 landed three moves this branch sits on top of. `bindSettingsScope` became
`ctx.settingsScope.bind` on the Settings surface, so the section injects that
service and the Remote face instead of importing a free function; the
`SettingsScope` types moved into the runtime contract module, which is where
this branch's `base`, `user`, and `unset` now live; and the client
`credentials/changed` event became the forwarded owner event
`credentials/updated`, which the web-search card subscribes to through
`ctx.remote.$on`.

The generated module graph crossed mermaid's 1000-edge render guard with this
branch's 14 new edges. The guard doubles again, exactly as it did at 500 — the
graph counts real package edges, and trimming them to fit a renderer default
would make the document lie about the dependency set.
2026-08-11 19:52:34 +08:00
Yichen Jiang
786e884b1f Merge remote-tracking branch 'origin/master' into feat/wake-idle-owner-on-task-completion 2026-08-11 19:42:30 +08:00
Yichen Jiang
eb360dbf71 Merge remote-tracking branch 'origin/master' into feat/wake-idle-owner-on-task-completion 2026-08-11 19:38:49 +08:00
Yichen Jiang
d78b796a51 feat(tasks): wake an idle owner when a background task completes
Completion notices went through agent.inject(), which never reserves a
driver, so a task settling after its turn closed left the notice parked
until unrelated input woke the agent — while the same prompt told the
model not to poll for it.

An unreported completion now picks its lane from the owner's state: a
busy owner is injected as before, an idle owner is woken with
followup(). This adopts the delivery rule the subagent continuation
manager already ships. maxConsecutiveWakes bounds the self-exciting
chain and is reset by user-authored input; completionDelivery: quiet
restores the old lane for deterministic transcripts.

Teardown cancellation now claims the terminal report the way kill()
already does, so an owner being destroyed is never woken, and settle()
announces completion last so a reporter that opens a turn synchronously
sees a committed record.
2026-08-11 19:36:49 +08:00
imccyu
ffdf81b28d fix(ci): repair remote event coverage and catalogs 2026-08-11 19:25:42 +08:00