Commit Graph

1457 Commits

Author SHA1 Message Date
_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
_Kerman
406c82d1a7 refactor: eagerly persist session events 2026-07-23 17:57:26 +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
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
imccyu
8e0f0961d9 docs(rfc): chinese counterpart for the chain kind addendum 2026-07-23 17:41:29 +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
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
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
f02c847ecb Merge branch 'master' into worktree/debug-endpoint-e2e-20260723 2026-07-23 17:14:52 +08: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
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
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
Ziya
7fdf685e5c Merge branch 'master' into feat/tui-extension-service 2026-07-23 04:02:19 -04:00
Turtle
5cdb192e92 Merge remote-tracking branch 'origin/master' into fix/web-zstd-session-logs 2026-07-23 16:00:27 +08:00
Turtle
3b97c7b318 fix(web): compress session logs by default 2026-07-23 15:54:10 +08:00
Tianyi Cui
8a7112af45 docs(i18n): translate turn and step in note comment 2026-07-23 15:06:47 +08:00
imccyu
62b62ac9d5 Merge remote-tracking branch 'origin/master' into codex/gui-context-polish
# Conflicts:
#	apps/web/tests/smoke-fixture.e2e.ts
2026-07-23 15:03:26 +08:00
Tianyi Cui
7ab9947776 Merge branch 'worktree/pr344-retarget-stack' into worktree/pr345-retarget-stack 2026-07-23 14:53:11 +08:00
Tianyi Cui
9dea41e3ba Merge branch 'worktree/pr343-retarget-latest-master' into worktree/pr344-retarget-stack 2026-07-23 14:53:06 +08:00
Tianyi Cui
e101a5774f Merge branch 'worktree/pr344-retarget-stack' into worktree/pr345-retarget-stack
# Conflicts:
#	.agents/notes/implemented/process/2026-06-17-ts-build-config.md
2026-07-23 14:51:21 +08:00
Tianyi Cui
a4d6c302f6 docs(i18n): align turn and step terminology 2026-07-23 14:37:01 +08:00
Tianyi Cui
fc1b308266 ci: keep required PR checks on portable runners 2026-07-23 14:31:01 +08:00
Tianyi Cui
2f2a095799 Merge branch 'worktree/pr343-retarget-latest-master' into worktree/pr344-retarget-stack 2026-07-23 14:22:44 +08:00
Dudu-0223
1ba00bf80c feat(web): inject workspace instructions 2026-07-23 14:11:25 +08:00
Dudu-0223
edb999fd0f test(gui): cover thinking row disclosure 2026-07-23 14:11:25 +08:00
imccyu
61dc4b6b99 Merge remote-tracking branch 'origin/master' into worktree/web-ask-user-question 2026-07-23 14:05:08 +08:00
Tianyi Cui
c79b34bda5 Revert "chore: run primary CI before push" 2026-07-23 14:02:58 +08:00
Hypatia May
fde4f8e502 Merge remote-tracking branch 'origin/master' into session-query-search 2026-07-23 13:57:57 +08:00
Hypatia May
0a0f19cf57 Merge remote-tracking branch 'origin/master' into session-query-search
# Conflicts:
#	.agents/notes/implemented/feature/2026-07-10-session-query-service.md
#	.agents/notes/implemented/feature/2026-07-10-sqlite-session-query-provider.md
#	.agents/notes/proposed/feature/2026-07-10-sqlite-session-query-provider.md
#	docs/architecture.md
#	docs/capability-seams.md
#	docs/config-catalog.md
#	docs/cordis-catalog/services.md
#	docs/core-data-structures/core.md
#	docs/core-data-structures/persistence.md
#	docs/core-data-structures/session-query.md
#	docs/module-graph.md
#	docs/rfc/INDEX.md
#	packages/README.md
#	packages/cordis/tool-cordis/src/api-catalog.ts
#	packages/hooks/hooks-claude/tests/coverage.spec.ts
#	packages/session-persistence/session-persistence-jsonl/src/index.ts
#	packages/session-persistence/session-persistence-jsonl/tests/jsonl.spec.ts
#	packages/session-persistence/session-persistence-sqlite/README.md
#	packages/session-persistence/session-persistence-sqlite/src/index.ts
#	packages/session-persistence/session-persistence-sqlite/src/schema.ts
#	packages/session-persistence/session-persistence-sqlite/tests/sqlite.spec.ts
#	packages/session-persistence/session-persistence/README.md
#	packages/session-persistence/session-persistence/package.json
#	packages/session-query/README.md
#	packages/session-query/session-query/README.md
#	packages/session-query/session-query/package.json
#	packages/session-query/session-query/src/config.ts
#	packages/session-query/session-query/src/index.ts
#	packages/session-query/session-query/src/types.ts
#	pnpm-lock.yaml
#	scripts/gen-doc-graphs.ts
#	scripts/type-equiv.manifest.json
#	tsconfig.host.json
#	tsconfig.json
2026-07-23 13:56:56 +08:00
imccyu
d430744dd8 Merge branch 'master' into worktree/fix-collapsed-sidebar-rail 2026-07-23 13:45:14 +08:00
imccyu
23e942029a Merge remote-tracking branch 'origin/master' into worktree/fix-collapsed-sidebar-rail 2026-07-23 13:16:48 +08:00
Tianyi Cui
00d5b69882 chore: run primary CI before push 2026-07-23 13:09:52 +08:00
imccyu
698f46b0c9 feat(gui): morph the sidebar collapse instead of swapping renders
The collapse read as a hard cut: only the track width animated while the
panel content swapped instantly and the rail icons bore no relation to the
expanded layout. Now the four control rows persist across the transition —
collapse toggle, new session, new workspace, search, the same top-down
order as their expanded rows — and morph their geometry (row heights,
paddings, margins, capsule borders) on the deepsuite curve, so each rail
icon is its expanded control converging onto the 56px axis. Wide-only
content (brand, labels, input, session tree) cross-fades over 200ms, stays
mounted while the collapse animates, and unmounts at the 300ms settle,
still dropping the sessions subscription. The search query moves up to the
root and survives the round trip; rail search focuses the surviving input
after expand instead of remount-autofocus.
2026-07-23 13:03:32 +08:00
ZiyaZhang
2a1b3139f9 feat(tui): add interactive extension service 2026-07-22 21:30:17 -07:00
Yichen Jiang
9aa5b9f0dc Merge branch 'master' into worktree/llm-default-context-window 2026-07-23 12:28:19 +08:00
Yichen Jiang
6d7e4c339d feat(llm): add default context window fallback 2026-07-23 11:51:52 +08:00
imccyu
e4d3f6fd53 Merge branch 'master' into worktree-webts 2026-07-23 11:50:08 +08:00