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
Hypatia May
074f0e4393
Merge pinned master into Web transcript
2026-07-31 09:18:45 +08:00
imccyu
59ce4086ae
Merge remote-tracking branch 'origin/master' into mergebot/pr711
...
# Conflicts:
# packages/client/ui-workspace/src/client/WorkspaceBrowser.tsx
# packages/client/ui-workspace/src/client/index.ts
# packages/client/ui-workspace/src/client/rows/Rows.tsx
# packages/client/ui-workspace/src/client/tree.ts
# packages/client/ui-workspace/tests/apply.spec.ts
# packages/client/ui-workspace/tests/rows.spec.tsx
# packages/client/ui-workspace/tests/tree.spec.ts
# packages/client/ui-workspace/tests/workspace-browser.spec.tsx
2026-07-31 04:37:08 +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
1e10966ef6
wip
...
fix: docs
2026-07-31 02:13:53 +08:00
imccyu
ecbd8babc1
Merge remote-tracking branch 'origin/master' into mergebot/pr711
...
# Conflicts:
# apps/cli/README.i18n.yaml
# apps/cli/README.md
# apps/cli/README.zh.md
# apps/cli/cordis.yml
# apps/cli/package.json
# docs/config-catalog.md
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/src/client/contract/sessions.ts
# packages/client/test-runtime/src/sessions.ts
# packages/client/ui-workspace/README.i18n.yaml
# packages/client/ui-workspace/README.md
# packages/client/ui-workspace/README.zh.md
# packages/client/ui-workspace/src/client/WorkspaceBrowser.tsx
# packages/client/ui-workspace/src/client/tree.ts
# packages/client/ui-workspace/tests/apply.spec.ts
# packages/client/ui-workspace/tests/tree.spec.ts
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/index.ts
# packages/host/apiproxy/tests/client-handler.spec.ts
# packages/host/apiproxy/tests/rpc-schemas.spec.ts
# pnpm-lock.yaml
2026-07-31 01:28:15 +08:00
Hypatia May
ceb37f3377
Merge final master into Web transcript
2026-07-31 00:27:16 +08:00
creatixchu
c03753fe48
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# packages/client/runtime/README.i18n.yaml
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/apply.ts
# 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/contract/slots.ts
# packages/client/ui-conversation/tests/chat-view.spec.tsx
# packages/host/apiproxy/README.i18n.yaml
# packages/host/apiproxy/README.md
# packages/host/apiproxy/README.zh.md
# packages/host/apiproxy/src/api/sessions.ts
2026-07-31 00:09:49 +08:00
imccyu
3b370549a1
feat(client): increment forked session titles
2026-07-30 21:28:17 +08:00
imccyu
57fb5b488e
feat: fork
2026-07-30 21:27:14 +08:00
Hypatia May
3b3d5579cb
Merge remote-tracking branch 'origin/fix/human-transcript-projection' into fix/web-transcript-projection
...
# Conflicts:
# apps/web/tests/snapshots/seeded-history/ui.expected.md
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/README.md
# packages/client/runtime/src/client/index.ts
# packages/client/runtime/src/client/sessions/fold-adapter.ts
# packages/client/runtime/tests/fold-adapter.spec.ts
# packages/client/ui-trajectory/src/client/layout.ts
# packages/client/ui-trajectory/src/client/spans.ts
# packages/compact/compact/README.i18n.yaml
2026-07-30 16:37:22 +08:00
creatixchu
0a9b6e75d6
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# docs/architecture.i18n.yaml
# docs/core-data-structures/core.i18n.yaml
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/README.i18n.yaml
# packages/README.md
# packages/README.zh.md
# packages/client/connection/src/client/fixture.ts
# packages/client/connection/tests/fake-api.ts
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/src/client/contract/session.ts
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/runtime/tests/fake-api.ts
# packages/client/test-runtime/src/sessions.ts
# packages/client/test-runtime/tests/runtime.spec.tsx
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/service.ts
# packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
# packages/client/ui-conversation/tests/queue-dock.spec.tsx
# packages/client/ui-conversation/tests/service-orchestration.spec.ts
# packages/cordis/tool-cordis/src/api-catalog.ts
# 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/rpc-map.ts
# packages/host/apiproxy/src/api/rpc.schema.ts
# packages/host/apiproxy/src/api/rpc.ts
# packages/host/apiproxy/src/api/sessions.schema.ts
# packages/host/apiproxy/src/api/sessions.ts
# packages/host/apiproxy/src/fetch/client.ts
# packages/host/apiproxy/src/fetch/handler.ts
# packages/host/apiproxy/tests/api-proxy-commands.spec.ts
# packages/host/apiproxy/tests/client-handler.spec.ts
# packages/host/apiproxy/tests/fetch-carrier.spec.ts
# packages/host/apiproxy/tests/rpc-schemas.spec.ts
2026-07-30 13:48:33 +08:00
creatixchu
18aa6c381b
Merge remote-tracking branch 'origin/worktree/web-multimodal-image-input' into worktree/web-multimodal-image-input
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.i18n.yaml
# apps/web/tests/code-mode-fixture.snapshot.ts
# apps/web/tests/image-display.snapshot.ts
# docs/architecture.i18n.yaml
# docs/module-graph.md
# packages/client/test-runtime/tests/runtime.spec.tsx
# packages/client/ui-conversation/src/client/skeleton/ConversationSession.tsx
# packages/client/ui-conversation/tests/terminal-card.spec.tsx
# packages/client/ui-trajectory/src/client/layout.ts
2026-07-30 10:46:50 +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
Hypatia May
8e5c792b50
round 1: project the web transcript from append-origin events
...
Replace the surface-ordered fold with a log-ordered human transcript:
append-origin surface events at their own log positions plus one marker per
landed compaction checkpoint. Command folding, the tool-call index, and the
rev-keyed memo carry over unchanged.
Removes foldDegraded, the padding sentinels, baseSeq, and degradedSeqs() --
they existed only to satisfy the core fold's seq === index assertion. That
also closes the pagination hole A1 exposed: a page can carry a checkpoint
whose shadowed range fell outside the window, and nothing resolves
surfaceOp.start anymore.
2026-07-30 10:18:24 +08:00
Hypatia May
c9729b501d
chore: regenerate the module graph for the merged dependency edges
...
The merge gives dsh-client-test-runtime the wire-layer edge its sessions
double needs for the session.search result bound; the generated graph records
it. The double's search signature now reads off ISessions instead of naming
RpcResult, so it cannot drift from the contract it implements and needs no
connection-package edge.
2026-07-30 09:52:22 +08:00
Hypatia May
61163b7da5
Merge remote-tracking branch 'origin/master' into codex/basic-session-search
...
Conflict resolutions:
- `session.list`: master's projection columns fold into the PR's cancellable,
batched `listVisibleSessionSummaries`, which `session.search` shares as its
visibility baseline; master's goal helpers stay beside it.
- Client sessions face: master narrowed `ctx.sessions` to `ISessions`, so the
search verb and its protocol-constant bound are declared there and the
test-runtime double implements them (recorded, empty page unless a scenario
stubs hits).
- `WorkspaceBrowser`: master's per-row Rename wiring rides the PR's search
results view; the tree keeps the PR's query-free derivations.
- `dsh web` bin: the PR's shutdown-handlers-before-readiness order with
master's boot-time LAN address snapshot.
- `session-query-sqlite`: master's `SCHEMA_VERSION` 7 stands; the PR's bump
carried no schema change.
- Specs: master wraps assistant/steering message payloads and requires an
`application/json` carrier request, so the search fixtures and tests follow.
- Web aria goldens keep master's recording plus the PR's search placeholder;
the navigation-panes inventory keeps master's terminal-card golden next to
the PR's search-results golden.
2026-07-30 09:40:38 +08:00
kingwl
ebbcfdd03b
Merge remote-tracking branch 'origin/master' into codex/web-queue-actions
...
# Conflicts:
# packages/core/agent-loop/src/agent.ts
2026-07-30 03:33:41 +08:00
imccyu
e56c0699a9
Merge branch 'master' into codex/web-queue-actions
2026-07-30 01:21:13 +08:00
Tianyi Cui
4582e1425c
Merge commit 'refs/codex/pr885/master-20260730' into worktree/retarget-pr885-20260729
...
# Conflicts:
# eslint.config.mjs
2026-07-30 01:18:28 +08:00
Yichen Jiang
3733bd1374
fix(gui): remove temporary multimodal routing state
2026-07-30 00:30:58 +08:00
kingwl
c97b1d025e
Merge remote-tracking branch 'origin/master' into codex/web-queue-actions
...
# Conflicts:
# apps/web/tsconfig.json
# docs/architecture.i18n.yaml
# docs/event-producer-consumer.md
# packages/client/runtime/README.i18n.yaml
# packages/client/tsdown.client.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/core/agent-loop/README.i18n.yaml
# packages/core/agent/README.i18n.yaml
# packages/core/agent/README.zh.md
# packages/host/apiproxy/README.i18n.yaml
# tsconfig.host.json
2026-07-30 00:30:38 +08:00
kingwl
f893e2281d
feat(agent): add addressable queue operations
2026-07-30 00:05:00 +08:00
imccyu
989b80791f
feat(test-runtime): add TestSessions.updateSummary
...
The wire-echo stand-in for list-row settlement (title from the rename
unary response, running flips): benches mirror what the production
manager writes into the list store, so row re-label assertions need no
assembled app. Fixture ISession stubs must NOT call it re-entrantly —
they run inside a React event dispatch already wrapped in act, and a
nested act corrupts the global act queue (the next test renders an empty
tree); tests echo from their own top level instead.
2026-07-29 23:49:27 +08:00
imccyu
0a1c0dcb07
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
2026-07-29 22:52:14 +08:00
Tianyi Cui
2d3338a03b
Merge latest master into codex/migrate-to-oxlint
2026-07-29 22:39:06 +08:00
imccyu
87b19a1ded
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
2026-07-29 22:35:12 +08:00
Tianyi Cui
e1984cbfd9
Merge commit '90bc53cc64dc684dc3d741f45ae6a8d548c188f9' into worktree/retarget-pr885-20260729
2026-07-29 21:40:13 +08:00
imccyu
e0022ff19e
refactor(client): isolate trajectory history
2026-07-29 20:21:37 +08:00
imccyu
ff049f1e82
feat(client): ISession.rename settles the title projection cell from the response
...
rename is a per-session verb on the outward session face (prompt/cancel
precedent), not a list-service verb: the Session calls session.rename and
applies the response {title, seq} to its projection store under
higher-seq-wins, so the list row updates before the push frame. The fixture
api and the test-runtime double follow the same face.
2026-07-29 18:59:34 +08:00
_Kerman
859452d807
Merge remote-tracking branch 'github/master' into xtr/trajectory-inspection-ui
...
# Conflicts:
# apps/web/tests/snapshots/code-mode-round/ui.expected.md
# apps/web/tests/snapshots/cordis-tool-round/ui.expected.md
# apps/web/tests/snapshots/fresh-round-trip/ui.expected.md
# apps/web/tests/snapshots/lifecycle-chrome/hero.expected.md
# apps/web/tests/snapshots/lifecycle-chrome/reloaded.expected.md
# apps/web/tests/snapshots/live-interactions/cancel.expected.md
# apps/web/tests/snapshots/live-interactions/error-auth.expected.md
# apps/web/tests/snapshots/live-interactions/retry.expected.md
# apps/web/tests/snapshots/question-composer/answered.expected.md
# apps/web/tests/snapshots/seeded-history/ui.expected.md
# apps/web/tests/snapshots/steering/mid-steer.expected.md
# apps/web/tests/snapshots/steering/settled.expected.md
# packages/client/runtime/src/client/contract/session.ts
# packages/client/ui-conversation/README.i18n.yaml
2026-07-29 17:31:33 +08:00
creatixchu
666fd721b5
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# apps/cli/README.i18n.yaml
# apps/cli/package.json
# apps/cli/src/app-cli-entry.ts
# apps/cli/src/args.ts
# apps/cli/src/bin.ts
# apps/cli/src/web.ts
# apps/cli/tests/args.spec.ts
# docs/architecture.i18n.yaml
# docs/config-catalog.md
# docs/module-graph.md
# packages/README.i18n.yaml
# packages/client/connection/README.i18n.yaml
# packages/client/connection/src/client/api.ts
# packages/client/connection/src/client/fixture.ts
# packages/client/connection/src/index.ts
# packages/client/connection/tests/node-half.spec.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/chat/ChatView.tsx
# packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
# packages/host/apiproxy/src/api/host.schema.ts
# packages/host/apiproxy/src/index.ts
# packages/ui/tui/README.i18n.yaml
# pnpm-lock.yaml
2026-07-29 14:38:34 +08:00
Turtle
711efc0a8e
Merge remote-tracking branch 'origin/master' into codex/migrate-to-oxlint
2026-07-29 14:32:21 +08:00
Turtle
95a995968b
refactor: migrate linting to Oxlint
2026-07-29 14:32:11 +08:00
imccyu
5c432955ed
Merge remote-tracking branch 'origin/master' into web-permission-sandbox-merge-master
2026-07-29 11:16:49 +08:00
_Kerman
69aa58d31b
Merge remote-tracking branch 'github/master' into xtr/trajectory-inspection-ui
2026-07-29 11:14:05 +08:00
Yichen Jiang
6601830907
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
...
# Conflicts:
# apps/cli/README.i18n.yaml
# docs/core-data-structures/core.i18n.yaml
# docs/core-data-structures/llm-streaming.i18n.yaml
# examples/acp-agent/tests/snapshots/cordis-inspect-jsdoc/session.jsonl
# packages/client/connection/src/client/fixture.ts
# packages/client/connection/src/client/index.ts
# packages/client/runtime/README.i18n.yaml
# packages/client/runtime/README.md
# packages/client/runtime/README.zh.md
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/input/hub.ts
# packages/client/ui-conversation/src/client/service.ts
# packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
# packages/compact/compact-basic/src/summarizer.ts
# packages/compact/compact-basic/tests/compact-basic.spec.ts
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/rpc.schema.ts
# packages/host/apiproxy/src/api/rpc.ts
# packages/host/apiproxy/src/api/sessions.ts
# packages/host/apiproxy/tests/rpc-schemas.spec.ts
# packages/llm/llm-deepseek/tests/serialize.spec.ts
# packages/llm/llm-pi-ai/tests/adapter.spec.ts
# packages/llm/llm-pi-ai/tests/convert.spec.ts
# packages/llm/llm-pi-ai/tests/provider-apis.e2e.ts
# packages/llm/token-meter/tests/token-meter.spec.ts
# packages/ui/tui/README.i18n.yaml
2026-07-29 10:18:53 +08:00
_Kerman
c60d3f2aaa
Merge remote-tracking branch 'github/master' into xtr/trajectory-inspection-ui
...
# Conflicts:
# packages/client/runtime/src/client/sessions/session.ts
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.md
# packages/client/ui-conversation/README.zh.md
2026-07-29 09:48:24 +08:00
creatixchu
d80fca0db8
fix(client): forward the abort signal through the workspaces test double
...
TestWorkspaces.listDirectory now records the signal and passes it to the
installed stub, mirroring the production face, so cancellation
integration tests can observe or reject on a superseded scan instead of
the harness silently dropping it.
2026-07-29 06:31:18 +08:00
creatixchu
53240f4664
fix(host,client): abort superseded listings on the wire; keep the native swap resolvable
...
Supersession (newer navigation, path editing, closing, unmount) now
aborts the in-flight listing's request instead of only discarding its
result: the browser mints an AbortController per listing, the signal
rides the workspace face (IWorkspaces.listDirectory gains an optional
signal) onto the fetch carrier, and the Host scan stops with it (817's
cancellation chain). apps/cli keeps both picker packages as dependencies
so the documented one-row cordis.yml swap to the native backend resolves
at boot.
2026-07-29 06:19:18 +08:00
creatixchu
fd7f081ff1
Merge remote-tracking branch 'origin/feat/directory-picker' into feat/workspace-directory-browser
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-28-directory-picker-capability-seam.i18n.yaml
2026-07-29 05:32:53 +08:00
creatixchu
deb37b8edf
Merge remote-tracking branch 'origin/feat/directory-picker' into feat/workspace-directory-browser
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-07-28-directory-picker-capability-seam.i18n.yaml
# packages/host/directory-picker-browse/README.i18n.yaml
# packages/host/directory-picker-browse/package.json
# pnpm-lock.yaml
2026-07-29 04:12:44 +08:00
imccyu
15c1976472
Merge origin/master (SessionFace contract) into web-permission-sandbox-merge-master
...
Three ui-conversation spec conflicts resolve to master's SlotTestRuntime
rewrites. Adaptation to the new outward session face: ISession gains the
command verb (the composer chip and the /permission picker submit through
it), FixtureSession grows the matching fail-loud stub plus the
waitingApproval summary default, and the picker reads the projection
through projections.faceOf (the ProjectionsFace shape) instead of the
retired store getter.
2026-07-29 01:41:54 +08:00
creatixchu
431d7340fa
fix(client): teach the IWorkspaces face and its test double the browse calls
...
master's new ctx.workspaces contract face (IWorkspaces + TestWorkspaces
double) predates this stack's listDirectory/createDirectory; widening the
face is the explicit act of letting the browse flow drive them, and the
double records/stubs them like its siblings.
2026-07-29 01:16:36 +08:00
imccyu
9d9cdd640e
style(test-runtime): drop a trailing space
2026-07-29 00:09:40 +08:00
imccyu
3f7a8c6f8e
feat(client): add the dsh-client-test-runtime package
...
A jsdom slot test runtime for feature specs: a real Cordis Context, the
production SlotsService and web-react renderer, and typed session/workspace
doubles (TestSessions implements ISessions with FixtureSession sessions;
TestWorkspaces implements IWorkspaces), so the compiler flags fixture drift
when a production face changes. Fixtures feed plain data: list rows,
conversation snapshots, and ISession-typed behavior stubs; provide-bundle
materialization runs the shared SessionProvideChannel.
DOM snapshot support: declare()/renderSlot() mount a single slot inside a
data-slot wrapper for local .snap capture, and a snapshot serializer folds
CSS-module class hashes to their semantic locals and collapses svg internals
to a content fingerprint. The typed provide() constrains declared-service
fakes to Partial of the service's outward face.
2026-07-28 23:54:13 +08:00