creatixchu
0d1250f743
fix: address ds-review-bot v7 findings on the merged image-input head
...
- gate model selection on steering-placement image carriers from enqueue
until their steering/message event publishes; release the gate when an
admission ends idle without publication (both behaviorally asserted)
- reject session.updateQueue edits carrying non-text blocks at the RPC
boundary (queue edits cannot bypass image admission)
- extend the durable-directory walk past a first-created DSH_HOME to the
deepest pre-existing ancestor
- strip Windows-style separators from attachment display names on POSIX
- verify attachment reads with a header-only probe (digest already proves
the bytes decoded fully at admission); document the read path
- make SessionInputShell.addImages refusal observable and keep workspace
transfers/composer intake from leaking refused drafts
- own ONE recursive image walk (dsh-llm contentHasImage) across apiproxy,
pi-ai, compact-basic, and the DeepSeek text-only assertion
- drop the redundant canonical-base64 regex and the no-op role read
- move AttachmentId/AttachmentError out of types.ts (brand.ts/error.ts);
document why AttachmentError does not extend HarnessError
- document the hard attachments inject in both consumer READMEs
2026-07-30 14:34:08 +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
a703575dab
Merge remote-tracking branch 'origin/worktree/web-multimodal-image-input' into worktree/pr555-fixes
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.i18n.yaml
# .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.md
# .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.zh.md
2026-07-30 13:11:07 +08:00
creatixchu
6bc0335fcc
Merge remote-tracking branch 'origin/worktree/web-multimodal-image-input' into worktree/pr555-simplify
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.i18n.yaml
# apps/web/tests/image-display.snapshot.ts
# docs/core-data-structures/core.i18n.yaml
# packages/client/ui-trajectory/tests/client-bundle.spec.ts
2026-07-30 13:02:44 +08:00
imccyu
6e99027917
Merge remote-tracking branch 'origin/master' into mergebot/pr937
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/src/client/queue/QueueDock.module.css
2026-07-30 11:59:59 +08:00
kingwl
ad1bb84425
Merge remote-tracking branch 'origin/master' into codex/web-queue-actions
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-30 11:38:54 +08:00
07akioni
b92c6bcc66
Merge branch 'master' into fix/ui-action-display
2026-07-30 11:15:35 +08:00
imccyu
60620ec36c
Green the jsdom lane for the composer-seat ResizeObserver and new StatsLine format
...
The seat's height publisher needs a ResizeObserver stub in every spec that
renders ConversationRoot (jsdom has none), and the two branch-tail StatsLine
assertions move to the grouped detail-row output.
2026-07-30 11:09:03 +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
Yif
04f6dfdc29
Web composer stats detail row and input-zone polish
...
Stats line moves into the InputBar's new footer slot (sharing the card's
width column) and expands to the design's grouped detail row: turns/steps,
LLM and tool wall time, cache hit, and input/output token split, all
derived client-side from the snapshot. The composer stack owns one 8px
rhythm, the seat fades the transcript through a fixed 36px gradient band,
back-to-bottom follows a live --dsh-composer-height, and goal/todo strips
share one 752px tip-fill column.
2026-07-30 10:22:44 +08:00
kingwl
112b0fbad1
fix(web): address queue review feedback
2026-07-30 04:12: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
kingwl
7ce330f0e4
refactor(agent): scope queue actions to edit and remove
2026-07-30 01:58:51 +08:00
Tianyi Cui
515d48875e
fix: harden Web image admission
2026-07-30 01:58:36 +08:00
imccyu
93fc1e2ab8
Merge branch 'master' into feat/ask-question-gui
2026-07-30 01:46:05 +08:00
imccyu
3c8cd4eca3
fix(web): repair merge tails — todo-row selector and composer handler clone
...
The #921 selector change and the duplication gate both first ran against
this branch after the merge made it MERGEABLE: assembly-surfaces still
queried the retired data-sample="todo-row" hook (the composed TodoRow
carries ToolRow's data-tool attribute instead), and the redesigned
QuestionComposer duplicated the custom-draft onChange/onKeyDown pair
across its inline input and optionless textarea. The spec now anchors on
data-tool="todo_write", and the composer shares one draftCustom /
continueFromCustom handler pair (Enter continues, Shift+Enter stays a
newline, IME composition stays inert).
2026-07-30 01:34:56 +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
Tianyi Cui
d6c82001b3
Merge remote-tracking branch 'refs/remotes/origin/worktree/web-multimodal-image-input' into worktree/pr555-simplify
...
# Conflicts:
# .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.i18n.yaml
# .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.md
# .agents/notes/implemented/feature/2026-07-22-web-multimodal-image-input-and-durable-attachments.zh.md
# apps/cli/README.i18n.yaml
# apps/cli/README.md
# apps/cli/README.zh.md
# apps/cli/src/app-cli-entry.ts
# packages/client/connection/src/client/fixture.ts
# packages/client/ui-conversation/src/client/service.ts
# packages/host/apiproxy/src/api-proxy.ts
# packages/host/apiproxy/src/api/host.schema.ts
# packages/host/apiproxy/src/api/host.ts
# packages/host/apiproxy/tests/fetch-carrier.spec.ts
2026-07-30 01:16:58 +08:00
imccyu
643f9be33f
Merge remote-tracking branch 'origin/master' into mergebot/pr883
...
# Conflicts:
# apps/web/tests/todo-display.snapshot.ts
# docs/event-producer-consumer.md
2026-07-30 01:16:46 +08:00
imccyu
d9eb3545d8
Merge remote-tracking branch 'origin/master' into mergebot/pr883
...
# Conflicts:
# packages/client/tsdown.client.ts
# packages/client/ui-conversation/src/client/chat/ChatView.tsx
# packages/client/ui-conversation/src/client/chat/PendingCard.tsx
# packages/client/ui-conversation/src/client/chat/ToolRow.tsx
# packages/client/ui-conversation/src/client/toolviews/todo-row.module.css
# packages/client/ui-conversation/src/client/toolviews/todo-row.tsx
# packages/client/ui-conversation/tests/chat-apply.spec.tsx
# packages/client/ui-conversation/tests/coverage-tails.spec.tsx
# packages/client/ui-conversation/tests/todo-panel.spec.tsx
# packages/client/ui-primitives/src/icons/index.tsx
# packages/client/ui-primitives/tests/icons.spec.tsx
# packages/client/ui-question/README.i18n.yaml
# packages/client/ui-question/src/client/QuestionComposer.module.css
# packages/client/ui-question/src/client/QuestionComposer.tsx
2026-07-30 01:01:14 +08:00
Tianyi Cui
6312e43a11
fix: preserve multi-image prompt batches
2026-07-30 00:58:35 +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
Tianyi Cui
0440c4cc0c
Merge latest master into codex/migrate-to-oxlint
2026-07-30 00:13:30 +08:00
07akioni
b71fbe770d
fix: ci
2026-07-30 00:08:59 +08:00
Tianyi Cui
60c8f5ea69
Merge remote-tracking branch 'origin/pr-555-head' into worktree/pr555-simplify
...
# Conflicts:
# apps/web/tests/image-display.snapshot.ts
2026-07-30 00:06:12 +08:00
kingwl
f893e2281d
feat(agent): add addressable queue operations
2026-07-30 00:05:00 +08:00
07akioni
4e7f90667a
fix: chat agent message actions display
2026-07-30 00:01:49 +08:00
imccyu
3980de695e
test(client): pin assembled-app journeys at package level on SlotTestRuntime
...
Sink the behavior previously held only by the apps/web jsdom snapshots
into the owning packages, each bench mounting the real apply on the
production slot machinery with fixture-fed data:
- ui-conversation/assembly-surfaces: the todo_write turn reaches both
product surfaces (keyed toolview row + dock plan strip via the todos
projection) and the strip follows projection retirement; the keyed
bash row carries its resident terminal card while the fallback row
reaches one through expand; the locked no-session view state; the
composer textarea surviving the blank→active conversion as the same
DOM node; the promptError alert strip with the machine-restored
draft; one summary update re-labeling the breadcrumb.
- ui-workspace/rename-assembly: the session-rename chain (row menu →
dialog → the injected renameSession hop → ISession.rename with the
edge-trimmed draft → dialog close and row re-label from the list),
plus the rejected arm keeping the dialog open with the error.
- runtime/workspaces-service: startInitialSelection — connects the
recent Workspace once both baselines are ready and opens the session,
stays idle with a current session or no recent target (double start
fails loud), and a failed connect returns to waiting and retries on
the next list change.
Component-level arms stay in the existing package suites; these files
prove only the assembled wiring.
2026-07-29 23:51:21 +08:00
imccyu
fca74c470b
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
2026-07-29 23:36:11 +08:00
Tianyi Cui
3a4c436d83
refactor: narrow web image input v1
2026-07-29 23:18:57 +08:00
ZiyaZhang
3dd0ce33f4
Merge remote-tracking branch 'upstream/master' into fix/gui-todo-default-collapsed
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-29 08:10:13 -07:00
imccyu
8348a409aa
Merge remote-tracking branch 'origin/master' into worktree/web-multimodal-image-input
2026-07-29 23:04:39 +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
1f7f5f2d53
Merge latest master into codex/migrate-to-oxlint
2026-07-29 22:43:10 +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
imccyu
b0ee207a2a
Merge remote-tracking branch 'origin/master' into mergebot/pr908
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
2026-07-29 22:27:37 +08:00
imccyu
2b56d972eb
Merge remote-tracking branch 'origin/master' into mergebot/pr908
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-trajectory/src/client/views.module.css
2026-07-29 22:15:22 +08:00
imccyu
f4bc0a4a86
Merge remote-tracking branch 'origin/master' into feat/input-command-interaction
2026-07-29 21:40:28 +08:00
Tianyi Cui
e1984cbfd9
Merge commit '90bc53cc64dc684dc3d741f45ae6a8d548c188f9' into worktree/retarget-pr885-20260729
2026-07-29 21:40:13 +08:00
Tianyi Cui
32aaa8983e
Merge commit 'ecbf75a5e70f662b6420375140cf12eb6bac7860' into worktree/retarget-pr885-20260729
...
# Conflicts:
# docs/development.i18n.yaml
# packages/client/ui-conversation/src/client/chat/MessageItem.tsx
# packages/client/ui-primitives/src/markdown/CodeBlock.tsx
# scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-07-29 21:37:43 +08:00
imccyu
76b4563380
Merge remote-tracking branch 'origin/master' into feat/input-command-interaction
2026-07-29 21:23:13 +08:00
07akioni
08d097077e
fix: cr
2026-07-29 21:03:40 +08:00
imccyu
b23c3d596a
Merge remote-tracking branch 'origin/master' into trajectory-history-source
2026-07-29 20:58:04 +08:00
07akioni
2a12057345
fix: ci
2026-07-29 20:56:56 +08:00
Yif
be9042e5a1
docs(client): sync package READMEs and agent notes with the input interaction rework
...
Update the six touched client package README pairs (slash menu ordering,
localized group titles and dismiss, permission label twin, goal pause,
plan hint localization, useAnchoredMaxHeight) and keep the owning agent
notes current: SlashSource.order and the MenuView dismiss/localize/clamp
face in the slash-pipeline note, the pause verb in the goal bar note.
2026-07-29 20:46:29 +08:00
07akioni
382884e237
fix: scroll to bottom
2026-07-29 20:39:45 +08:00