creatixchu
1a9039cdb4
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# docs/event-producer-consumer.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/client/runtime/README.i18n.yaml
# packages/client/ui-conversation/README.i18n.yaml
# packages/host/apiproxy/README.i18n.yaml
2026-07-31 14:51:31 +08:00
imccyu
9ed87a6dba
refactor(client): archivedSessionIds public face becomes a plain array
...
Public snapshot state stays in the store engine's plain-data vocabulary
(immer drafts reject Sets without the MapSet plugin, which stays off):
manager/service/contract carry readonly SessionId[] in Host order, and
the tree derivations build their own transient Set — the
expandedProjects pattern. Membership-unchanged installs still keep the
array reference for Object.is short-circuits.
2026-07-31 14:08:13 +08:00
imccyu
c764ed7e64
feat(client-runtime): project the archive set and the archiveSession action
...
WorkspaceListState gains archivedSessionIds (ReadonlySet, replaced only
on membership change), installed as full snapshots from the list
baseline, the unary echo, and the changed frame. Archiving the current
session clears the selection into the New Session view state. Test
doubles (test-runtime, fake APIs, fixture client) follow the widened
IWorkspaces/IApiClient faces.
2026-07-31 14:08:13 +08:00
creatixchu
ddc008f448
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# packages/client/connection/README.i18n.yaml
# packages/client/connection/src/client/api.ts
# packages/client/connection/src/client/fixture.ts
# packages/client/connection/src/client/index.ts
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/src/client/sessions/service.ts
# packages/client/ui-conversation/src/client/apply.ts
# packages/client/ui-conversation/src/client/chat/ChatView.tsx
# packages/client/ui-conversation/src/client/contract/slots.ts
# packages/client/ui-conversation/src/client/stores.ts
# packages/client/ui-conversation/tests/chat-view.spec.tsx
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/index.ts
# packages/host/apiproxy/src/api/sessions.ts
2026-07-31 10:46:45 +08:00
Turtle
1332360d53
Merge pull request #1013 from deepseek-harness/fix/node26-vitest-webstorage
...
fix(test): isolate jsdom storage on Node 26
2026-07-31 10:31:59 +08:00
Turtle
aa39d6c6ed
Merge remote-tracking branch 'origin/master' into fix/node26-vitest-webstorage
...
# Conflicts:
# scripts/run-gates.spec.ts
# vitest.config.ts
2026-07-31 10:26:05 +08:00
creatixchu
d4a78965b5
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# docs/module-graph.md
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/chat/AssistantMarkdown.tsx
# packages/client/ui-conversation/src/client/chat/ChatView.tsx
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/src/client/skeleton/ConversationSession.tsx
# packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
# packages/client/ui-conversation/tests/input-bar.spec.tsx
# packages/client/ui-trajectory/tests/client-bundle.spec.ts
2026-07-31 03:12:38 +08:00
imccyu
810b45a377
Merge remote-tracking branch 'origin/master' into mergebot/pr1008
...
# Conflicts:
# apps/web/tests/snapshots/cordis-tool-round/ui.expected.md
# apps/web/tests/snapshots/fresh-round-trip/ui.expected.md
# apps/web/tests/snapshots/steering/settled.expected.md
# packages/client/ui-conversation/src/client/chat/ChatView.tsx
# packages/client/ui-conversation/src/client/chat/GenericToolCard.tsx
# packages/client/ui-conversation/src/client/chat/ToolRow.tsx
# packages/client/ui-conversation/src/client/contract/terminal-card-model.ts
# packages/client/ui-conversation/src/client/skeleton/DetailsPanel.tsx
# packages/client/ui-conversation/src/client/toolviews/ask-question-row.tsx
# packages/client/ui-conversation/src/client/toolviews/bash-sample.tsx
# packages/client/ui-conversation/src/client/toolviews/todo-row.tsx
# packages/client/ui-conversation/tests/chat-tool-row.spec.tsx
# packages/client/ui-conversation/tests/terminal-card.spec.tsx
# packages/client/ui-trajectory/tests/client-bundle.spec.ts
2026-07-31 03:00:08 +08:00
imccyu
7730ffad4e
test(web): refresh plan-review and seeded-history goldens after master merge
2026-07-31 02:45:22 +08:00
imccyu
1e10966ef6
wip
...
fix: docs
2026-07-31 02:13:53 +08:00
creatixchu
451d15429e
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
2026-07-31 01:12:39 +08:00
Turtle
f04b35c6a4
fix(test): isolate jsdom storage on Node 26
2026-07-30 21:49:33 +08:00
Yif
78e4d36214
feat(web): unify tool-row expand interaction with IN/OUT card and trajectory Inspect
...
Every expandable tool row shares one interaction (whole-row toggle,
icon-to-chevron hover preview) and one expanded body: an IN/OUT
gutter-labeled card with per-section 150px scroll caps and sticky labels.
toolRowModel derives result output and the error first line, terminalFailed
surfaces a failing exit as the collapsed row's red dot, a hover Inspect
pill jumps to the call's trajectory record through a one-shot store
handoff, and the chat view keeps its scroll offset across view switches.
2026-07-30 21:21:29 +08:00
Yif
86fa88a012
test(web): align trajectory client-bundle spec with the sessionHistory injection
2026-07-30 21:18:51 +08:00
_Kerman
daed49ad54
perf(ui-trajectory): reuse finalized stream projections
2026-07-30 18:05:49 +08:00
_Kerman
7ec01dad08
fix(ui-trajectory): bound expensive record previews
2026-07-30 17:55:06 +08:00
_Kerman
287289ddbc
feat(ui): highlight trajectory errors
2026-07-30 17:42:02 +08:00
_Kerman
411bbdf2aa
feat(ui): compact trajectory role labels
2026-07-30 17:11:07 +08:00
_Kerman
997932ffd6
feat(ui): refine trajectory timeline interaction
2026-07-30 17:00:58 +08:00
creatixchu
6a96c8dd42
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-25-web-input-machine-and-slash-pipeline.i18n.yaml
# apps/web/tests/code-mode-fixture.snapshot.ts
# docs/architecture.i18n.yaml
# docs/core-data-structures/core.i18n.yaml
# docs/module-graph.md
# packages/README.i18n.yaml
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/README.md
# packages/client/runtime/README.zh.md
# packages/client/test-runtime/tests/runtime.spec.tsx
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/package.json
# packages/client/ui-conversation/src/client/chat/ChatView.tsx
# packages/client/ui-conversation/src/client/skeleton/ConversationSession.tsx
# packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
# packages/client/ui-conversation/tests/skeleton.spec.tsx
# packages/compact/compact-basic/README.i18n.yaml
# packages/compact/compact-basic/README.zh.md
# packages/compact/compact-basic/src/summarizer.ts
# packages/host/apiproxy/src/api/sessions.ts
# packages/llm/llm-pi-ai/README.i18n.yaml
# packages/llm/llm/README.i18n.yaml
# packages/ui/tui/README.i18n.yaml
# pnpm-lock.yaml
2026-07-30 10:36:41 +08:00
Tianyi Cui
e1984cbfd9
Merge commit '90bc53cc64dc684dc3d741f45ae6a8d548c188f9' into worktree/retarget-pr885-20260729
2026-07-29 21:40:13 +08:00
imccyu
64acc5874b
test(client): cover independent trajectory history
2026-07-29 20:46:02 +08:00
imccyu
e0022ff19e
refactor(client): isolate trajectory history
2026-07-29 20:21:37 +08:00
Turtle
95a995968b
refactor: migrate linting to Oxlint
2026-07-29 14:32:11 +08:00
_Kerman
5d0d28cd0e
fix(client): refine trajectory inspection behavior
2026-07-29 11:57:13 +08:00
_Kerman
33afcc913b
Revert "fix(ui-conversation): keep composer visible across views"
...
This reverts commit 978d035d4a8d3578a70844511a42aa793664e5de.
2026-07-29 11:46:14 +08:00
_Kerman
549315256a
fix(ui-primitives): preserve raw HTML in text extraction
2026-07-29 11:43:00 +08:00
_Kerman
5939355b1a
fix(ui-conversation): keep composer visible across views
2026-07-29 11:30:50 +08:00
_Kerman
943ef7403e
fix(client): resolve trajectory review follow-ups
2026-07-28 22:54:46 +08:00
_Kerman
f942c30f4b
fix(client): address trajectory review feedback
2026-07-28 22:16:45 +08:00
_Kerman
0e1e594314
Merge remote-tracking branch 'origin/master' into xtr/trajectory-timeline
...
# Conflicts:
# apps/web/tests/code-mode-fixture.snapshot.ts
# apps/web/tests/navigation-panes.e2e.ts
# apps/web/tests/snapshots/navigation-panes/details-open.expected.md
# packages/client/runtime/src/client/index.ts
# packages/client/runtime/src/client/sessions/fold-adapter.ts
# packages/client/ui-trajectory/tests/views.spec.tsx
2026-07-28 18:06:04 +08:00
_Kerman
bbd9949d31
feat(client): refine trajectory timeline interaction
2026-07-28 18:02:19 +08:00
Yichen Jiang
7a54987cb0
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# packages/README.i18n.yaml
# packages/client/connection/src/client/api.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/chat/ChatView.tsx
# packages/client/ui-conversation/src/client/index.ts
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/index.ts
# packages/host/apiproxy/src/api/sessions.ts
# pnpm-lock.yaml
2026-07-28 18:02:13 +08:00
_Kerman
1d4a6149cc
feat(client): add trajectory timing overview
2026-07-28 16:28:57 +08:00
_Kerman
9096dbb29d
fix(client): address trajectory review findings
2026-07-28 15:07:44 +08:00
_Kerman
1ac0eb9611
fix(client): keep trajectory history on the session seam
2026-07-28 13:56:00 +08:00
_Kerman
028ac5c2f6
refactor(client): isolate trajectory history reads
2026-07-28 13:50:46 +08:00
imccyu
e2791107c4
ci: clear the snapshots-and-artifacts lane — lint sweep and TUI snapshot re-record
...
Lint: eslint --fix over the merge-crossed projection/command files (arrow
parens, trailing commas, unnecessary assertions), Extract<> replaces the
keyof-map & string intersections no-redundant-type-constituents rejects,
the fold-adapter's merge loop drops its non-null assertions for a
bounds-carrying cursor, one JSDoc line wrapped under max-len (api-catalog
regenerated). Snapshots: the four TUI goldens re-recorded for the merged
event-count shift (the durable command lifecycle adds one event to the
seeded diagnostics log). The headless advanced-toolchain snapshot passes
on CI and fails locally in this sandbox both with and without these
changes (30s child timeout — environment-bound, tracked in the ledger).
2026-07-28 11:48:01 +08:00
Yichen Jiang
004f598917
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/architecture.md
# docs/architecture.zh.md
# docs/config-catalog.md
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/llm-streaming.i18n.yaml
# docs/module-graph.md
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/README.i18n.yaml
# packages/client/connection/src/client/fixture.ts
# packages/client/connection/src/index.ts
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/README.md
# packages/client/runtime/README.zh.md
# packages/client/runtime/src/client/sessions/conversation.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/apply.ts
# packages/client/ui-conversation/src/client/chat/ChatView.tsx
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/src/client/contract/slots.ts
# packages/client/ui-trajectory/tests/views.spec.tsx
# packages/compact/compact-basic/README.i18n.yaml
# packages/cordis/tool-cordis/src/api-catalog.ts
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/index.ts
# packages/host/apiproxy/src/api/sessions.ts
# packages/host/apiproxy/src/index.ts
# packages/host/apiproxy/tests/fetch-carrier.spec.ts
# packages/llm/llm-deepseek/src/adapter.ts
# packages/llm/llm-deepseek/tests/adapter.spec.ts
# packages/llm/llm-deepseek/tests/serialize.spec.ts
# packages/llm/llm-pi-ai/README.i18n.yaml
# packages/llm/llm-pi-ai/src/adapter.ts
# packages/llm/llm-pi-ai/src/index.ts
# packages/llm/llm-pi-ai/tests/adapter.spec.ts
# packages/llm/llm/src/types.ts
# packages/ui/tui/README.i18n.yaml
# packages/ui/tui/src/index.ts
# packages/ui/tui/tests/tui.spec.ts
2026-07-28 11:41:40 +08:00
_Kerman
43d9fbaf08
test(ui): close trajectory inspection gates
2026-07-28 10:46:39 +08:00
_Kerman
71f1f36175
fix(ui): align trajectory CI contracts
2026-07-28 10:34:47 +08:00
_Kerman
92081094ae
fix(ui): reconcile trajectory ledger with current client contracts
2026-07-28 10:23:44 +08:00
_Kerman
fb3e4effba
fix(ui): align trajectory checks with inspection ledger
2026-07-28 10:17:44 +08:00
_Kerman
a4f4751600
Merge remote-tracking branch 'github/master' into xtr/trajectory-inspection-ui
...
# Conflicts:
# packages/client/ui-primitives/src/Menu.tsx
# packages/client/ui-trajectory/src/client/TrajectoryCell.tsx
# packages/client/ui-trajectory/src/client/TrajectoryView.tsx
# packages/client/ui-trajectory/tests/layout.spec.tsx
# pnpm-lock.yaml
# pnpm-workspace.yaml
2026-07-28 10:12:29 +08:00
imccyu
90addbf53c
feat(gui): useProjection — the fifth framework hook seat through the standard kit
...
React half of the session-projection client base: the renderer contract gains
an open-key projections face on SessionMaybeProvideInfo (cellOf(key), distinct
from the static hooks roster), web-react mints projectionHook (per-bundle cache;
per-cell uSES binding via the shared observableHook cache; unresolved keys read
undefined through the absent source so hook order stays constant), standardKit
delivers kit.useProjection, and the runtime merges UseProjection into
SessionStandardProps/SessionMaybeStandardProps (overloads mirror useSession).
3 jsdom specs (kit delivery + live re-render, selector over undefined, faceless
bundle = all absent); existing direct-prop-feed specs gain the one-line stub the
new required seat mandates.
2026-07-27 22:58:53 +08:00
imccyu
cdd4d59ea0
chore(lint): clear the semantic .tsx backlog
...
Hand fixes for the findings --fix cannot touch, mirroring the fixes
already applied on the fe-docs feature branch (same file, same shape)
so its eventual rebase resolves cleanly:
- restore the return the no-confusing-void-expression autofix ate in
useAbsentSnapshot (typed S | undefined; hook call kept for hook-order
stability, undefined returned explicitly);
- re-type DOM queries the no-unnecessary-type-assertion autofix broke:
getByRole<HTMLButtonElement>(...) generics instead of the removed
as-casts (the eslint program and the client tsconfig aggregate
disagree about these casts; the generic form satisfies both);
- justified eslint-disable for the deliberate legacy paths: keyCode 229
IME-composition detection, execCommand clipboard fallbacks, lib.dom
clipboard optionality, and the any-typed Reflect.get/this probes in
test fakes;
- drop the dead react/no-danger directive (eslint-plugin-react is not
loaded, so the rule never applied) keeping its shiki rationale;
- delete the tautological 'Z' comparison and the renameTarget null
check already implied by renameBlocked;
- css-module non-null assertions replaced by type widening
(Button className, TAG_CLASS Record) per the established pattern;
- misc: max-len comment wraps, void generic drop in the deferred test
helper, unused type imports, floating selectWorkspace promises voided,
member-delimiter newlines in inline type literals.
2026-07-27 22:23:41 +08:00
imccyu
49c2e85ac7
chore(lint): apply eslint auto-fixes across the .tsx backlog
...
Mechanical --fix output over the newly linted .tsx files (indent,
arrow-parens, comma-dangle, member-delimiter-style, unnecessary type
assertions), plus the three generic-arrow test hooks converted to
function declarations up front: the comma-dangle fixer strips the
<T,> disambiguation comma and turns them into parse errors otherwise.
2026-07-27 21:49:40 +08:00
_Kerman
628c1bffe0
feat(ui): add trajectory inspection ledger
2026-07-27 15:47:44 +08:00
Yichen Jiang
b599d1d0af
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# .gitignore
# apps/cli/package.json
# apps/cli/src/web.ts
# docs/architecture.i18n.yaml
# docs/config-catalog.md
# docs/module-graph.md
# packages/client/connection/README.md
# packages/client/connection/src/client/api.ts
# packages/client/connection/src/client/fixture.ts
# packages/client/runtime/README.md
# packages/client/runtime/src/client/sessions/service.ts
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/runtime/src/client/workspaces/service.ts
# packages/client/ui-conversation/src/client/apply.ts
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/src/client/contract/slots.ts
# packages/client/ui-conversation/src/client/index.ts
# packages/client/ui-conversation/src/client/service.ts
# packages/client/ui-conversation/src/client/skeleton/ConversationRoot.tsx
# packages/client/ui-conversation/src/client/skeleton/EmptyHero.tsx
# packages/client/ui-conversation/src/client/skeleton/EmptyState.tsx
# packages/client/ui-conversation/src/client/skeleton/InputBar.module.css
# packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
# packages/client/ui-conversation/tests/apply-inject.spec.tsx
# packages/client/ui-conversation/tests/input-bar.spec.tsx
# packages/client/ui-conversation/tests/skeleton.spec.tsx
# packages/client/ui-trajectory/tests/views.spec.tsx
# packages/host/apiproxy/src/api-proxy.ts
# pnpm-lock.yaml
2026-07-27 12:27:30 +08:00
imccyu
a27be43ac1
feat: slash system / input service / agent scope
2026-07-27 03:28:39 +08:00