Commit Graph
6028 Commits
Author SHA1 Message Date
imccyu 408cdf7436 refactor(gui): mint kind-agnostic PendingWait carriers for pending interactions 2026-07-23 18:11:21 +08:00
Tianyi Cui 05aeb243ba Merge remote-tracking branch 'origin/master' into worktree/ci-enterprise-subminute 2026-07-23 18:08:23 +08:00
Yichen Jiang c37892f753 Merge branch 'master' into worktree/tui-file-autocomplete 2026-07-23 18:07:34 +08:00
Tianyi Cui 625e8f0ed2 docs: update tutorial for canonical tool output 2026-07-23 18:04:49 +08:00
imccyu 3826b50b4a feat(gui): chain slot kind with select routing and renderSlotChain 2026-07-23 18:03:44 +08:00
Tianyi Cui 2dc3bf6005 ci: reuse the primary Linux build 2026-07-23 18:02:17 +08:00
_Kerman 022b42a450 Merge origin/master into refactor/eager-session-persistence 2026-07-23 18:00:36 +08:00
Tianyi Cui fa5c3fa0b9 Merge origin/master into codex/code-mode-complete-result-card 2026-07-23 17:59:58 +08:00
Tianyi Cui 0c8b3813fa Merge pull request #536 from deepseek-harness/worktree-webslot
refactor(gui): dissolve the tool and view registries into slots; stage sessions by current
2026-07-23 17:59:48 +08:00
_Kerman 406c82d1a7 refactor: eagerly persist session events 2026-07-23 17:57:26 +08:00
Yichen Jiang d633758a30 fix(tui): keep config schema statically walkable 2026-07-23 17:50:32 +08:00
imccyu bbde18caff refactor(gui): dissolve the tool ring into per-view keyed slots
Four rounds of structural rework on the conversation surface, converging
on one registration model for the whole client:

- Review fixes: open() leaves the inject factory (SessionsService owns
  the semantic); ConversationService mounts via ctx.plugin(); the
  bespoke view registry retires into the 'conversation.view' list slot.
- Ring alignment: createChatView factory retired (components get
  everything through checkable shares at the register call site); the
  hand-rolled t/i18n threading is deleted wholesale — a future
  framework-level i18n will supply t as a standard prop keyed by slot
  name, so no interim manual channel.
- Toolview dissolution: ToolViewRegistry / ToolViewResolver /
  ToolViewOutlet / ctx.toolviews retire. Tool rows are entries of the
  'conversation.chat.toolview' keyed slot (scope: session) declared by
  the chat entry; ToolRowOwnerProps is the unified owner payload;
  GenericToolCard becomes the call-site fallback; registrants are plain
  plugins (inject ['slots','conversation'] as the load-order seam);
  session-dimension dispatch moves into components (useSessions reads
  parentId); trajectory/waterfall gain same-shape slots the day they
  render tool rows (RendersCheck rejects empty declarations). Slot
  names mirror the composition path (<domain>.<entry>.<hole>).
- Staging follows current: cell()/binding() are pure resolution
  (render-safe); the constructor subscribes to the list store and
  followCurrent opens the event window when the current session
  changes — staging IS the open signal, business verbs are the timing,
  React render/commit is decoupled from window lifecycle. A masked
  current (projection gap) keeps the stage untouched so deferred
  teardown semantics survive reconnects.

Agent Note: .agents/notes/implemented/architecture/
2026-07-23-toolview-dissolution.md (bilingual pair) records the
decision, the four rejected alternatives, and the accepted semantic
changes; the web client architecture note and packages/client/AGENTS.md
carry the current-state narrative.

Verified: typecheck 0, duplication 0 clones (478 files), full coverage
run 6190 passed with zero threshold errors, knip 0, doc-sync 24/24,
client aggregate tsc 0, render-count checks (one commit per chunk, zero
row re-renders under streaming) green.
2026-07-23 17:49:47 +08:00
Tianyi Cui fcd9af2033 Merge pull request #498 from deepseek-harness/perf/parallel-built-package-invariants
perf(ci): parallelize packed-companion probes in verify-built-package-invariants
2026-07-23 17:49:22 +08:00
Tianyi Cui 0c678766a4 ci: isolate enterprise Linux critical paths 2026-07-23 17:49:16 +08:00
Tianyi Cui cecd0fedf5 docs(i18n): normalize seam consumer terminology 2026-07-23 17:48:50 +08:00
Yichen Jiang 5395279fe0 Merge remote-tracking branch 'origin/master' into worktree/tui-file-autocomplete 2026-07-23 17:46:27 +08:00
Yichen Jiang efe13c09d6 fix(tui): share config schema fields 2026-07-23 17:46:13 +08:00
Tianyi Cui 6feb5d9294 Merge remote-tracking branch 'origin/master' into worktree/pr498-conflict-20260723 2026-07-23 17:43:00 +08:00
Tianyi Cui 91774001b1 Merge remote-tracking branch 'origin/master' into worktree/pr498-conflict-20260723
# Conflicts:
#	.agents/notes/implemented/process/2026-07-06-parallel-pre-push-gates.md
#	.github/workflows/ci.yml
#	scripts/verify-built-package-invariants.mjs
2026-07-23 17:42:30 +08:00
imccyu 8e0f0961d9 docs(rfc): chinese counterpart for the chain kind addendum 2026-07-23 17:41:29 +08:00
Tianyi Cui 4a3e46d698 Merge pull request #563 from deepseek-harness/worktree/record-browser-gif-skill
feat(skill): record browser demo GIFs
2026-07-23 17:41:06 +08:00
Yichen Jiang 23fc9cc226 feat(tui): add path-only @file autocomplete 2026-07-23 17:39:30 +08:00
Tianyi Cui 9fcafb9ca7 Merge branch 'master' into worktree/record-browser-gif-skill 2026-07-23 17:37:42 +08:00
imccyu 58a08f1e41 Merge branch 'master' into fix/web-zstd-session-logs 2026-07-23 17:33:46 +08:00
Tianyi Cui 1eecf025ff Merge pull request #514 from deepseek-harness/worktree/pr504-vendored-cordis-hot-reload
fix(vendor/include): keep config reloads resilient
2026-07-23 17:33:14 +08:00
Tianyi Cui 05cdee1471 Merge branch 'master' into worktree/llm-default-context-window 2026-07-23 17:31:17 +08:00
imccyu 24e404b25a docs(rfc): chain slot kind addendum to the slot system standard 2026-07-23 17:24:07 +08:00
imccyu 07bdfbce9b refactor(gui): route the composer chain on PendingWait currency 2026-07-23 17:23:17 +08:00
imccyu de36006956 refactor(gui): mint kind-agnostic PendingWait carriers for pending interactions 2026-07-23 17:20:46 +08:00
imccyu 58cdc21431 feat(gui): chain slot kind with select routing and renderSlotChain 2026-07-23 17:19:59 +08:00
Tianyi Cui 9ab407fdd6 Merge branch 'master' into worktree/pr504-vendored-cordis-hot-reload 2026-07-23 17:19:42 +08:00
Tianyi Cui 1e84c7e3de Merge remote-tracking branch 'origin/master' into worktree/record-browser-gif-skill 2026-07-23 17:18:49 +08:00
Tianyi Cui 16be56c0c7 Merge origin/master into worktree/ci-enterprise-subminute 2026-07-23 17:18:19 +08:00
Tianyi Cui c02eb6d941 fix(skill): preserve GIF palette and paths 2026-07-23 17:18:18 +08:00
Tianyi Cui 189219871b Merge pull request #560 from deepseek-harness/worktree/debug-endpoint-e2e-20260723
test(acp): require a real sandbox denial
2026-07-23 17:15:17 +08:00
Tianyi Cui f02c847ecb Merge branch 'master' into worktree/debug-endpoint-e2e-20260723 2026-07-23 17:14:52 +08:00
Yif 789e9daaf6 test(gui): cover the tooltip primitive and the inert expanded search control 2026-07-23 17:08:47 +08:00
Yif 20720ef238 fix(gui): polish sidebar layout, wordmark, tooltip, and fonts to figma
Fixed sidebar width (never concedes), figma session-row rail (16px twist +
status slots, triangle arrows, mount fade), exact brand wordmark svg with
tooltip'd rail controls, form controls inheriting the app font stack, and
inlined the twist button reset since the tsdown CSS pipeline drops composes.
2026-07-23 17:08:47 +08:00
Ziya 1e1e05d35a Merge pull request #541 from deepseek-harness/feat/tui-extension-service
feat(tui): add interactive extension service
2026-07-23 05:06:30 -04:00
Tianyi Cui f7103c833c feat(skill): record browser demo GIFs 2026-07-23 17:04:33 +08:00
Tianyi Cui f111359239 fix(ci): isolate lint from NodeNext temp consumers 2026-07-23 16:57:59 +08:00
imccyu dfee237516 Merge branch 'master' into fix/web-zstd-session-logs 2026-07-23 16:54:14 +08:00
Chinesezjc bae81744b4 test(tui): await first-frame rendering in cwd variants
The cwd-variants test asserted footer text right after setup()'s single
tick. On slow Windows runners the TUI has only written the color-scheme
query and hideCursor by then — no first frame — so the /opt assertion
failed (PR #498, windows coverage lane). Wait for each first-frame
assertion with vi.waitFor, the pattern 7fddeb446 and df38095a1 already
use in this file.
2026-07-23 16:53:12 +08:00
Tianyi Cui 461f4639b8 Merge origin/master into worktree/ci-enterprise-subminute 2026-07-23 16:49:58 +08:00
Tianyi Cui 91dfaee36c docs(ci): update enterprise runner decisions 2026-07-23 16:49:49 +08:00
Tianyi Cui 23d92948b8 ci: defer downstream gates until build 2026-07-23 16:48:19 +08:00
Ziya 2f13de1d8f Merge branch 'master' into feat/tui-extension-service 2026-07-23 04:43:55 -04:00
Yichen Jiang 0605913d4d Merge branch 'master' into worktree/llm-default-context-window 2026-07-23 16:43:34 +08:00
Tianyi Cui be62eecc60 test(acp): require a real sandbox denial 2026-07-23 16:39:02 +08:00
Turtle ae2ec5f8d7 fix(demo): build client plugin bundles before serving dsh web
demo:web and the README Web UI instructions ran only build:web (the Vite
frontend shell), never the root build that emits each web-client plugin's
lib/client.js. On a clean checkout every /plugins/<id>/client.js 404s and
the client loader shows "Failed to load plugins".

Run pnpm run build before build:web in both the demo:web script and the
README instructions for the installed ~/.dsh/source checkout.
2026-07-23 16:37:56 +08:00