Commit Graph

3064 Commits

Author SHA1 Message Date
imccyu
2b06aa0102 Merge branch 'worktree/web-carrier-chain' into worktree/web-ask-user-question
Restack the ask-user domain layer onto the carrier-chain architecture
branch. Conflict policy: runtime and ui-conversation take the
carrier-chain side (master sessions shape, dual-kind PendingCard,
'internal' envelope shell tests); the 'cancelled' wire code and its
semantics tests stay in apiproxy + ui-question (domain layer); the
smoke fixture keeps the nine-bundle success pass with the resident
question round over the carrier-chain first-describe shape.
2026-07-23 18:50:30 +08:00
Tianyi Cui
7e27f1b00f Merge remote-tracking branch 'origin/master' into worktree/web-session-titles 2026-07-23 18:40:13 +08:00
Tianyi Cui
d2dc618e3f Merge remote-tracking branch 'origin/master' into worktree/web-session-titles
# Conflicts:
#	.agents/notes/implemented/process/2026-07-20-gui-testing-system.i18n.yaml
#	packages/client/ui-conversation/tests/apply-inject.spec.tsx
#	packages/client/ui-conversation/tests/chat-stats-bash-sample.spec.tsx
#	packages/client/ui-conversation/tests/gate-branch-tails.spec.tsx
#	packages/client/ui-conversation/tests/selection-survival.spec.ts
#	packages/client/ui-conversation/tests/skeleton-branches.spec.tsx
#	packages/client/ui-conversation/tests/skeleton.spec.tsx
#	packages/client/ui-layout/tests/service.spec.ts
#	packages/client/ui-sidebar/tests/apply.spec.tsx
#	packages/client/ui-sidebar/tests/store.spec.ts
#	packages/client/ui-trajectory/tests/views.spec.tsx
#	packages/client/web/src/app.tsx
#	packages/client/web/tests/boot.spec.tsx
#	packages/host/runtime/README.md
#	packages/host/runtime/tests/host-runtime.spec.ts
2026-07-23 18:39:48 +08:00
imccyu
39a60c0215 style(gui): shorten the ConversationSlotProps doc line for the lint gate 2026-07-23 18:33:33 +08:00
Tianyi Cui
0d87f7ee27 Merge remote-tracking branch 'origin/master' into worktree/ci-subminute-stability 2026-07-23 18:33:04 +08:00
_Kerman
7f5ba286fe fix: keep crash repair away from live sessions 2026-07-23 18:31:37 +08:00
imccyu
5c53af88b3 Merge branch 'master' into fix/web-zstd-session-logs 2026-07-23 18:29:44 +08:00
Tianyi Cui
7e81d9dad2 test: bind webserver fixtures atomically 2026-07-23 18:25:00 +08:00
Tianyi Cui
f666c39379 fix(web): generate model-backed session titles 2026-07-23 18:20:17 +08:00
imccyu
c18be97f17 refactor(gui): route the composer chain on PendingWait currency 2026-07-23 18:18:52 +08:00
Tianyi Cui
2c98610601 Merge branch 'master' into codex/code-mode-complete-result-card 2026-07-23 18:18:42 +08:00
imccyu
408cdf7436 refactor(gui): mint kind-agnostic PendingWait carriers for pending interactions 2026-07-23 18:11:21 +08:00
Yichen Jiang
c37892f753 Merge branch 'master' into worktree/tui-file-autocomplete 2026-07-23 18:07:34 +08:00
imccyu
3826b50b4a feat(gui): chain slot kind with select routing and renderSlotChain 2026-07-23 18:03:44 +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
_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
Yichen Jiang
efe13c09d6 fix(tui): share config schema fields 2026-07-23 17:46:13 +08:00
Yichen Jiang
23fc9cc226 feat(tui): add path-only @file autocomplete 2026-07-23 17:39:30 +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
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
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
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
Yichen Jiang
0605913d4d Merge branch 'master' into worktree/llm-default-context-window 2026-07-23 16:43:34 +08:00
Turtle
7d751d3894 test(web): provide workspace context config 2026-07-23 16:04:32 +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
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
Dudu-0223
0301b7fda8 feat(gui): add write tool row variant 2026-07-23 14:46:07 +08:00
Dudu-0223
aee859841b test(gui): cover edit tool row 2026-07-23 14:38:27 +08:00
Tianyi Cui
c5ebcef8af test(ui-sidebar): cover expanded search control 2026-07-23 14:30:43 +08:00
imccyu
1210735959 refactor(gui): rework ui-question to the terminal slot standard
Contract face moves to contract/slots.ts (PropsRuntime composition off the
conversation SlotMap entry, flat answer/cancel injected share); apply takes
the ui-sidebar terminal form (strict need() service reads, ctx.effect-wrapped
single register, framework-resolved sessionId); tests upgrade to the terminal
style (props-direct component specs with standard-kit stubs, real-registry
apply spec with children-declared slot, fiber-teardown case).
2026-07-23 14:23:10 +08:00
Dudu-0223
1ba00bf80c feat(web): inject workspace instructions 2026-07-23 14:11:25 +08:00
Dudu-0223
d7d8650600 fix(gui): expand thinking rows on click 2026-07-23 14:11:25 +08:00
Dudu-0223
691efb0025 feat(gui): add 'edit' variant for tool row, showing as 'Edit · path' like Read
- Add 'edit' to ToolRowVariant type and TOOL_VARIANTS mapping
- Add 'edit' title and summary key preference (path/file_path)
- Add IconEditOutline16 as the leading icon for edit variant
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
931e0e22c7 test(ui-sidebar): cover expanded search control 2026-07-23 14:02:37 +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
dd7d198c0d Revert "fix(gui): keep the label fade and pin the rail icons to one axis"
This reverts commit a4ae2f6c21c1eeed2495481a55a39762f4e64ccb.
2026-07-23 13:37:54 +08:00