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
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
kingwl
77479f5ab0
test(queue): close CI coverage gaps
2026-07-30 00:55:02 +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
7e68cf8986
test: cover the readAttachment and hostDescription bench stubs directly
2026-07-29 14:45:46 +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
a559c524f5
test(test-runtime): cover the command fail-loud stub
2026-07-29 01:54:02 +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
761ceb79f3
fix(host,client): roll back partial flow registrations; cover the widened double
...
- The browse client half mirrors -native's rollback: a pair construction
that throws halfway (declared-but-occupied second hole) disposes the
earlier deferral before rethrowing, so no orphaned slot subscription
outlives the failed fiber (ds-review-bot).
- The TestWorkspaces browse methods gain the coverage CI's per-file gate
requires (defaults + stub overrides, recorded like their siblings).
2026-07-29 01:33:16 +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