Commit graph

1838 commits

Author SHA1 Message Date
Chinesezjc
981ade7611 fix(code-runtime-python): restore the runtime's cross-package dependency declarations
The earlier merge had adopted master's protocol-only package.json (peer/dev
limited to invariants and cordis, no dependencies), but src/index.ts imports
@deepseek-ai/dsh-code-runtime, dsh-session, dsh-timeout, and schemastery at
runtime — a published lib/index.js could not resolve those bare specifiers.
The manifest now mirrors code-runtime-worker-thread (the five peers, the
schemastery dependency, and the matching dev set); the lockfile, module graph,
and third-party notices are regenerated, and the module-graph zh pair is
re-synced.
2026-08-31 14:59:01 +08:00
Chinesezjc
5b90f4e2ac chore: adopt master's lockfile and third-party notices after the merge
The merge conflict on pnpm-lock.yaml had kept the branch's older dependency
resolutions; the coverage gate's notices check then failed because CI's frozen
install resolved the master lockfile's versions while the committed notices
still named the branch's older ones. The branch adds no dependencies, so it
adopts master's lockfile and notices verbatim.
2026-08-31 14:56:11 +08:00
Chinesezjc
27901c547f fix(code-runtime-python): declare the dsh-code-runtime dependency
The manifest omitted @deepseek-ai/dsh-code-runtime although src/index.ts
imports CodeRuntime and the portable-identifier constants from it and the
tsconfig references ../code-runtime. A three-way package.json merge over
the protocol-layer stub dropped the entry; restore it in peer and dev
dependencies so the declaration matches the import.
2026-08-31 14:16:02 +08:00
Chinesezjc
c388169cff feat(code-runtime-python): add the CPython subprocess backend
Land the PythonCodeRuntime implementation on top of the fd-3 protocol
seam: python3 -I per run, binding namespace over fd 3, RLIMIT_CPU/AS,
wall-clock timer, and SIGTERM->grace->SIGKILL process-group teardown,
with the real-subprocess integration suite.

Fixes three defects surfaced on the source PR's review before they ship:
- boot-write failure resolved a worker-exit through finish()/settle()
  that read wallTimer/onAbort/live in their TDZ, rejecting run() instead;
  the boot write now runs after those bindings and the v8-ignore that hid
  the branch is removed.
- log capture serialized against settlement with no lock while model
  daemon threads keep writing; LogBuffer now owns one shared re-entrant
  lock taken by write/flush_line/push.
- the fd-3 line residual was a subarray view pinning the whole joined
  frame; it is copied into a right-sized Buffer via detachResidual so
  pendingBytes measures what is retained.
2026-08-31 14:14:32 +08:00
Tianyi Cui
4553c9d957 refactor(session)!: remove SQLite persistence backend 2026-08-31 13:23:07 +08:00
Turtle
8528e4039d chore(cli): trim test-only profile dependencies 2026-08-31 11:23:46 +08:00
Turtle
244de7c18a refactor(bundle): remove the agent spine demo 2026-08-31 11:23:30 +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
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
imccyu
b27c8fbc02 chore(deps): refresh package manifests 2026-08-30 02:29:53 +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
112daedd54 Merge origin/master into perf/3270-linear-stream-queues 2026-08-29 18:59:23 +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
e5f36cc70f feat(plugin-inventory): carry every agent preset's composition and group the settings plugin list by scope
The settings plugin list projected ctx.loader.entries() alone, hiding the
plugins sessions actually run and rendering the web overlay's deliberate
disabled tombstones (tool-bash, tool-fs, ...) as two dozen plainly disabled
rows while the same modules ran in every standard-preset session.

- dsh-agent-presets: compositionInventory() answers flattened rows per
  preset — newest live standing generation when mounted, composition file
  otherwise with !!js disabled gates evaluated against the Loader context;
  reading never mounts (regression-tested), refusal stays 'conditional',
  raced files report broken with the reason.
- dsh-host-plugin-inventory: list() gains an optional agentPresets block,
  resolving the roster as an optional peer and mapping fiber states to the
  public phase vocabulary.
- ui-settings-plugin-inventory: preset group first behind a display-only
  switcher opening on the default preset; global group collapsed with
  failures floated; host-disabled modules enabled by >=1 preset fold into a
  session-plugins drawer naming providers; search spans scopes and points
  at matches in unselected presets.
- ui-agent-preset: the General-settings default-preset row is deleted — the
  roster section's make-default and the new-session chip keep the field —
  and the settings store slims to the display roster the header label reads.

Docs, catalogs, module graph, settings-chrome goldens, and the bilingual
Agent Note ride along.
2026-08-29 17:13:45 +08:00
imccyu
a3207a758b chore: package.json update 2026-08-29 14:26:43 +08:00
imccyu
18480ff902 test(connection): verify and document recovery behavior 2026-08-29 11:18:58 +08:00
imccyu
d40d678b93 fix(api): repair runtime closure, gateway client bundle, and $host coverage
- python/sdk-runtime: add @deepseek-ai/dsh-util-time so the runtime
  dependency closure stays closed (dsh-subagent now depends on it).
- api/gateway: drop the dsh.client.external request for
  dsh-typert-protocol and admit the protocol package into INLINE_SAFE
  instead. The loader module table has no supplier for the protocol
  package, so the built client factory threw at require time; the
  protocol layer is duplication-safe by design (string marker,
  code-based discrimination), which is the inline-safe admission
  criterion.
- api/gateway tests: cover the $host getter (live service read,
  pre-ready home, and the construction-time fallback after the
  Connection service is withdrawn).
2026-08-28 22:37:36 +08:00
imccyu
804b1ffbfc refactor(api): converge the Remote failure vocabulary and client surface
Single RemoteError with a merge-extensible, domain-prefixed code map;
owners throw at the failure point; streams surface marked failures;
clients consume ctx.remote directly with isRemoteFailure as the only
discrimination point and construct no failure instances.
2026-08-28 22:37:36 +08:00
Yifffan
12d7b4ed0c Merge pull request #3262 from deepseek-harness/feat/session-turn-stats-display
feat(web): turn-tail usage and time stat pills with anchored dialogs
2026-08-28 13:52:02 +02:00
Dudu-0223
51a6eabb27 perf(api): replace shift-backed stream queues 2026-08-28 17:37:03 +08:00
Yif
a666f86129 Merge remote-tracking branch 'origin/master' into hero-fish-hover-swim 2026-08-28 16:07:28 +08:00
Yif
3a0dd5d38b Merge remote-tracking branch 'origin/master' into feat/session-turn-stats-display
# Conflicts:
#	packages/client/ui-primitives/tests/icons.client.spec.tsx
2026-08-28 16:04:13 +08:00
pku-xht
6c5bb90b48 Merge remote-tracking branch 'origin/master' into schedule-web-catalog 2026-08-28 14:45:30 +08:00
Yif
08f770275c Merge remote-tracking branch 'origin/master' into hero-fish-hover-swim
# Conflicts:
#	packages/client/ui-brand-official/package.json
2026-08-28 14:08:24 +08:00
Turtle
626f21dabd Merge pull request #2735 from deepseek-harness/codex/remove-knip
Remove Knip from repository tooling
2026-08-28 12:38:41 +08:00
Turtle
7e92ed8213 Merge origin/master into codex/remove-knip 2026-08-28 12:07:36 +08:00
Yif
d6b30db252 Merge remote-tracking branch 'origin/master' into feat/session-turn-stats-display 2026-08-28 11:19:23 +08:00
pku-xht
1a5d004524 Merge commit 'bc954280ae67e349291e51e5787c6987e767fa40' into schedule-web-catalog
# Conflicts:
#	packages/client/ui-workspace/src/client/rows/Rows.tsx
#	tsconfig.base.json
2026-08-28 07:24:24 +08:00
Yif
5ba375fd88 feat(client): hover swim morph for the hero fish 2026-08-28 00:37:46 +08:00
_Kerman
13c1541c63 Merge remote-tracking branch 'github/master' into xtr/session-projection-migrations
# Conflicts:
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	pnpm-lock.yaml
2026-08-27 23:18:55 +08:00
Yif
f15078532f feat(ui-chat): reshape the usage trigger as an icon-row pill
The whole-line meta trigger read as plain text and hid what was clickable.
The Turn-usage trigger is now a data-icon pill (Usage {total} · Cache hit
{percent}%) seated right of the branch action with the action buttons'
hover chrome, so the one interactive element in the tail is visibly a
button; the timing facts (clock, run time, speed, TTFT) return to plain
non-clickable text behind a dot separator. The details dialog keeps the
Turn-usage title and full token buckets, gains a permanent cache-hit row,
and breathes with wider vertical padding. Narrow columns trim the pill
label to an ellipsis instead of widening the chat column. User rows and
turn tails share the recency gate: only the latest row of each kind keeps
its actions visible without hover.
2026-08-27 23:14:08 +08:00
imccyu
4f00a8b82a refactor(api): remove ApiProxy package 2026-08-27 22:26:29 +08:00
imccyu
17c03bbbcc feat(session-export): own the download route 2026-08-27 22:26:28 +08:00
imccyu
2ff3a0c09f fix(file-reference): remove unused zod dependency 2026-08-27 21:57:58 +08:00
imccyu
18ae39a665 fix(api): preserve native path opening behavior 2026-08-27 21:57:58 +08:00
imccyu
160706be60 test(api): refresh Remote migration artifacts 2026-08-27 21:57:56 +08:00
lsdsjy
8b09a0be52 feat(ui-conversation): fold turn process before final answer (#2547)
* feat(ui-conversation): fold turn process before final answer

* fix(ui-chat): polish turn-process control row from review

* test(web): drive preset slash catalog with gestures

* fix(ui-chat): keep turn process order stable

* fix(ui-chat): preserve prompt order after pagination

Co-authored-by: Yif <877193178@qq.com>
2026-08-27 10:12:39 +00:00
_Kerman
4b48b2b439 Merge remote-tracking branch 'github/master' into xtr/session-projection-migrations 2026-08-27 17:18:58 +08:00
_Kerman
d9c0aa1cd0 Merge remote-tracking branch 'github/master' into xtr/session-projection-migrations
# Conflicts:
#	docs/config-catalog.i18n.yaml
#	docs/config-catalog.md
#	packages/context/session-reference/package.json
#	packages/context/session-reference/tests/session-reference.spec.ts
#	packages/subagent/tool-subagent/src/index.ts
#	packages/subagent/tool-subagent/src/invariant.ts
#	packages/subagent/tool-subagent/src/model-selection-state.ts
#	packages/subagent/tool-subagent/tests/harness.ts
#	packages/subagent/tool-subagent/tests/list-models.spec.ts
#	packages/subagent/tool-subagent/tests/model-selection-settings.spec.ts
#	packages/subagent/tool-subagent/tests/tool-subagent.spec.ts
#	pnpm-lock.yaml
2026-08-27 16:38:06 +08:00
imccyu
189fb34797 feat(inspector): define shared protocol foundation 2026-08-27 16:15:17 +08:00
Yichen Jiang
093048d256 Merge remote-tracking branch 'origin/master' into worktree/web-mention-ux-polish-1bf698 2026-08-27 15:35:28 +08:00
lsdsjy
af562d3649 fix(api-gateway): keep idle websocket alive 2026-08-27 14:48:13 +08:00
Dudu-0223
e49e7202c1 fix: align model selection with current settings remotes 2026-08-27 12:18:05 +08:00
_Kerman
eeb4ca2b87 Merge remote-tracking branch 'origin/master' into xtr/session-projection-migrations 2026-08-27 12:03:10 +08:00
Yichen Jiang
c8e8f8249f fix(web): date @ session rows by last activity, not creation
The Host session list already carries each session's `updatedAt`, which is
the number its own rows show; reading it there keeps the two surfaces from
disagreeing and avoids making a context capability depend on the BFF
assembly that owns the `sessionListMetadata` projection. A session the list
does not carry falls back to the candidate's creation time.

Refs #3154
2026-08-27 11:50:52 +08:00
Yichen Jiang
97e0299f74 feat(web): trim @ mention rows and cut their discovery cost
Session candidates labelled from projection checkpoints instead of a full
log fold per keystroke, with the uncheckpointed remainder folded once and
memoized while its log stays cold. The file index keeps answering while an
invalidated traversal rebuilds behind the caret, and its default exclusions
now cover build outputs so deep sources stay reachable.

Rows carry only what distinguishes them: a file names its parent directory,
a session names its workspace only when that workspace is not the current
one, and a drilled listing names none because its new breadcrumb does.

Resolves #3180
Related to #3154
2026-08-27 11:42:06 +08:00
pku-xht
86fa9f512b Merge origin/master into schedule-web-catalog 2026-08-27 05:26:09 +08:00
pku-xht
a5330ecf99 Merge commit 'e25ae41263f1ce4066aa8352f76d3d6d077b7959' into schedule-web-catalog
# Conflicts:
#	docs/module-graph.i18n.yaml
#	docs/module-graph.md
#	docs/module-graph.zh.md
#	packages/client/ui-workspace/package.json
2026-08-27 03:13:03 +08:00
imccyu
dd70c0c88d feat(api): serve settings through Remote controllers 2026-08-27 03:00:49 +08:00
imccyu
011d53862d refactor(client): use directory-picker Remote 2026-08-27 02:20:38 +08:00