Commit Graph
18711 Commits
Author SHA1 Message Date
imccyu 45455aae77 feat(release): route dsh prerelease dist-tags 2026-08-30 19:50:51 +08:00
imccyu f46e4a8ada docs(release): define dsh prerelease channels 2026-08-30 19:50:51 +08:00
Dudu-0223 ff34b6c28e test(web): pin expanded snapshots to bottom 2026-08-30 16:12:43 +08:00
Dudu-0223 5b91cdbf8b Merge remote-tracking branch 'origin/master' into feat/3220-steer-service 2026-08-30 16:08:31 +08:00
Dudu-0223 3091bdc257 fix(subagent): address steer review findings 2026-08-30 16:08:20 +08:00
Tianyi Cui ed9fb840d6 Merge pull request #3325 from deepseek-harness/worktree/revert-pr-3087
revert(session): restore ignorable event compatibility
2026-08-30 15:34:41 +08:00
imccyu 9e1bdefc72 Merge pull request #3326 from deepseek-harness/worktree-rerevert2608
fix(web): restore localized permission labels
2026-08-30 14:55:28 +08:00
Dudu-0223 9f86f31411 test: align catalogs and packed session fixtures 2026-08-30 14:44:12 +08:00
Dudu-0223 b957733bce docs: confirm config catalog pairing 2026-08-30 14:36:02 +08:00
Dudu-0223 487d61bd14 docs: refresh subagent config source link 2026-08-30 14:31:32 +08:00
Dudu-0223 4fce895468 test(subagent): cover unified messaging setup 2026-08-30 14:27:37 +08:00
imccyu 8769d57c98 fix(web): localize permission preset labels 2026-08-30 14:24:23 +08:00
imccyu 5fae1d02f5 docs(web): describe localized permission labels 2026-08-30 14:24:23 +08:00
Tianyi Cui b7a77f4f08 Merge origin/master into worktree/revert-pr-3087 2026-08-30 14:18:37 +08:00
Tianyi Cui 089e044e5b docs(session): clarify external event compatibility 2026-08-30 14:17:44 +08:00
Dudu-0223 575dc58a07 Merge remote-tracking branch 'origin/master' into feat/3220-steer-service 2026-08-30 14:16:37 +08:00
Dudu-0223 b91e7ce366 Unify adjacent Agent messaging 2026-08-30 14:14:46 +08:00
Yichen Jiang 8448c05277 Merge pull request #3316 from deepseek-harness/worktree/plugin-list-display-cbe885
feat(plugin-inventory): scope-grouped plugin list carrying agent preset compositions
2026-08-30 14:00:23 +08:00
Yichen Jiang cf50cfa8ac Merge pull request #3315 from deepseek-harness/worktree/issue-3310-verification-a39d1a
fix(web): publish the drill claim before the descent edit
2026-08-30 12:46:30 +08:00
Tianyi Cui b7bccd5897 fix(docs): repair reverted session note references 2026-08-30 12:35:11 +08:00
Tianyi Cui 29b65af60b docs(session): retain ignorable events for external plugins 2026-08-30 12:29:24 +08:00
Tianyi Cui 2c6ff296af Revert "Merge pull request #3087 from deepseek-harness/worktree/remove-ignorable-session-events"
This reverts commit 2123b2f418b1c8fbb86dc327b598fb11423da226, reversing
changes made to 3c0b5c68ce697537a21084f9135663017474a2e1.
2026-08-30 12:26:20 +08:00
Yichen Jiang 19c3a270fa test(agent-presets): key mounted-row assertions by entry id
The loader's entry store is a plain object, so an auto-generated all-digit
id is reordered ahead of its siblings by integer-key semantics and the
previous ordered assertion flipped on roughly one in fifteen runs. Row
ordering belongs to loader.entries(), not to this projection; the spec now
asserts each row by its id.
2026-08-30 12:08:52 +08:00
Yichen Jiang 6ff02e8a96 Merge remote-tracking branch 'origin/master' into worktree/plugin-list-display-cbe885
# Conflicts:
#	packages/client/tsdown.client.ts
2026-08-30 12:00:06 +08:00
imccyu a69941bf51 Merge pull request #3319 from deepseek-harness/worktree-runtime-dependency-decoupling
refactor: reduce internal peer dependency fan-out
2026-08-30 11:54:45 +08:00
Yichen Jiang c37a402dfb Merge remote-tracking branch 'origin/master' into worktree/plugin-list-display-cbe885
# Conflicts:
#	packages/client/tsdown.client.ts
2026-08-30 11:32:22 +08:00
Yichen Jiang 2f673e5aba fix(agent-presets): register the display subpath in tsconfig paths
CI's coverage lane runs on a clean tree where workspace imports resolve
through tsconfig paths to src; the value import of
@deepseek-ai/dsh-agent-presets/display therefore needs its own paths row
beside ./types. Locally the built lib masked the gap; reproduced by moving
lib aside, fixed, and re-run green under the same condition.
2026-08-30 11:32:07 +08:00
imccyu 739d9d594e Merge pull request #3318 from deepseek-harness/release/vendor-4.0.2
release(vendor): cordis 4.0.2, cosmokit 1.8.3, group 1.0.2, hmr 1.0.1…
2026-08-30 11:24:37 +08:00
imccyu 6af96785b5 release(vendor): cordis 4.0.2, cosmokit 1.8.3, group 1.0.2, hmr 1.0.17, include 1.0.7, loader 1.0.3, logger-console 1.0.2, schemastery 3.18.2, timer 1.1.4 2026-08-30 11:04:50 +08:00
imccyu b27c8fbc02 chore(deps): refresh package manifests 2026-08-30 02:29:53 +08:00
imccyu 795d8ec985 docs: describe runtime dependency ownership 2026-08-30 02:29:53 +08:00
imccyu 34bdc81b47 test(deps): enforce runtime dependency ownership 2026-08-30 02:29:52 +08:00
imccyu 9135a13a8b refactor(consumers): remove cross-package runtime relays 2026-08-30 02:29:52 +08:00
imccyu f4e49ccf8f refactor(services): move shared values behind service APIs 2026-08-30 02:29:51 +08:00
imccyu 6c53fe6e2a refactor(values): make shared primitives duplicate-install safe 2026-08-30 02:29:51 +08:00
Dudu-0223 0f2134d0d8 Merge pull request #3292 from deepseek-harness/perf/3270-linear-stream-queues
perf(api): make stream queue draining linear
2026-08-29 21:47:00 +08:00
Yichen Jiang 8349cc6c73 fix(agent-presets): live-mount-first inventory, per-runtime mounts, localized shipped preset names
Review round on #3316: the composition inventory answers from a standing
mount before the broken verdict (a file corrupted after mounting no longer
hides the running composition), livePresetMounts filters by the caller's
root fiber so a second Cordis runtime in one process never answers for it,
compositions carry trust and the plugin list resolves shipped preset names
through the shared dsh-agent-presets/display fold over ui-agent-preset's
dictionaries (INLINE_SAFE inline import; no cross-plugin runtime import),
the condition detail label reads Disabled when/禁用条件, and the stale
four-surfaces comment says three.
2026-08-29 20:41:01 +08:00
Dudu-0223 1e3ca1a4b3 test(ci): tolerate reaped timeout descendants 2026-08-29 20:19:38 +08:00
Yichen Jiang 235489f5a7 Merge remote-tracking branch 'origin/master' into worktree/plugin-list-display-cbe885 2026-08-29 19:41:46 +08:00
Yichen Jiang 09e4fa562f Merge branch 'master' into worktree/issue-3310-verification-a39d1a 2026-08-29 19:40:31 +08:00
Dudu-0223 112daedd54 Merge origin/master into perf/3270-linear-stream-queues 2026-08-29 18:59:23 +08:00
Chinesezjc 3137b33ba9 ci: redirect Node compile cache to data-volume runner temp 2026-08-29 18:51:06 +08:00
imccyu 910e178b08 Merge pull request #3311 from deepseek-harness/worktree-node24resolve
fix(loader): detect internal loader shape by API presence, not Node major
2026-08-29 18:19:39 +08:00
Chinesezjc a4d4404708 feat(ui-tool): render read_image results as the image
A settled top-level `read_image` call printed its raw attachment object as
literal text in the tool card — `{"type":"image","attachment":{…}}` —
instead of the image, because no presentation metadata told a client card
how to present the reference and the tool-card layer had no image concept.

Host: `read_image` declares an `output.presentationMeta` persisting
`{ path }` only. The attachment reference deliberately lives in the
settled result content — the single record a `tools/post-execute`
replacement rewrites — not in `meta`; the id is opaque and
provider-owned, checked for existence only.

Client: `imageCardModel` derives the card from the call head, the meta
path, the result's own image block, and a shape-matched envelope. ToolRow
gains an `image` card slot; the `read_image` toolview declares the
Tool-owned `tool.call.images` slot as its child and dispatches the
gallery through it. ui-chat down-threads the session-authorized loader
(`ChatNodeOwnerProps.loadImage`), so the tool layer supplies only derived
references plus the loader and never imports an attachment
implementation; ui-attachment fills the slot with its message gallery
renderer. The card keeps the envelope text below the gallery for the
no-attachment-plugin deployment. An image-bearing tool registers a keyed
toolview; the generic fallback keeps its flattened text. `read_image`
joins the read variant with its own locale title key; both rows share
`read-family-row.tsx`.

Verification: `read-image.spec.ts` (metadata projection, envelope by
shape, reference narrowing, real-execution round trip, rejection
branches incl. non-digest ids), `image-card.client.spec.tsx` (derivation,
row render site dispatching the slot, keyed registration with the
child-slot declaration, empty-slot fallbacks, media-type enum), keyless
snapshots (`read-image-gif` added; read-image/-dimension/-reencode
updated to the `{path}` meta), five injected-defect negative controls,
and a demo GIF recorded from this PR's head through the official
image-capable model.
2026-08-29 17:41:05 +08:00
pku-xht 976456db8e Merge master to adopt Flash E2E coverage 2026-08-29 17:39:31 +08:00
imccyu 675efe73f2 fix: node 24.9 internal issue 2026-08-29 17:37:50 +08:00
imccyu d5e2f22b08 Merge pull request #3313 from deepseek-harness/worktree-llme2e
test(e2e): use Flash for all live model coverage
2026-08-29 17:36:05 +08:00
Yichen Jiang cebd0a2031 refactor(plugin-inventory): match group title and switcher pill to the General-settings row idiom 2026-08-29 17:26:05 +08:00
Yichen Jiang 3b73a415c2 Merge origin/master: RemoteError wire vocabulary and ctx-based preset stores
Reconciled with the scope-grouped plugin list: compositionInventory keeps
its additive block over master's RemoteError refactor; the slimmed
settings-store keeps ctx-based signatures while staying a display-only
roster store (no describeFace, no select); dead transport-rejection tests
dropped with the wire that no longer rejects; module graph, catalogs, and
harnesses regenerated against the merged tree.
2026-08-29 17:13:45 +08:00
Yichen Jiang 0f06f973c4 refactor(plugin-inventory): settings-row style group headers
Both scope groups drop their boxed chrome for the General-settings row
idiom: a title row (session-plugins title with the right-aligned preset
selector pill; global-plugins title), a grey subtitle line carrying the
count, a hairline divider between groups, and the cards grid below.
Counts ride the subtitle as text while the data attributes keep the raw
numbers for tests.
2026-08-29 17:13:45 +08:00