Turtle
b8e3b32fcf
Merge master into codex/omit-unneeded-invariants
2026-08-31 14:38:55 +08:00
Turtle
15f2997bcb
cleanup: omit unneeded invariant companions
2026-08-28 13:12:52 +08:00
creatixchu
21d2d9395d
refactor: align prompt admission and echo ownership
2026-08-27 20:14:18 +08:00
creatixchu
53f5418a72
fix: 稳定 steer 提交回显位置
2026-08-27 17:25:36 +08:00
creatixchu
381ea9fc5d
Merge branch 'master' into worktree/steer-followup-images
...
# Conflicts:
# packages/api/session-controller/src/client/contract/session.ts
2026-08-27 15:53:14 +08:00
creatixchu
7c38fd8102
fix: deliver images reliably with steer and follow-up messages
...
A steer or follow-up accepted while a turn is closing is now claimed by a
fresh turn at the driver's clean exit instead of stranding in the inbox;
cancellation and pre-step rejection still park accepted work. Continuable
subagent follow-ups accept image parts: the wire is upload-shaped, the Host
admits and persists each batch before inbox acceptance, and delivery is
refused when the child model declines image input. The queue dock renders
durable image thumbnails instead of an [image] text marker.
Fixes #3186
2026-08-27 15:30:35 +08:00
creatixchu
b22cc3e95b
Merge master and address submission echo review
2026-08-26 13:20:24 +08:00
creatixchu
1da466a0a6
test+docs: 回显生命周期、去重与预览移交的覆盖,README 与 Agent Note
...
新增 sendSession 回显编排、ChatView 回显渲染与 rpcId 去重、control 队列 rpcId
投影、HistoricalImageCache.seed、MessageImage 预览 arm 的测试;四个包 README
双语更新;Agent Note 记录 rpcId 关联与延帧退休决策。
2026-08-26 12:01:27 +08:00
Yichen Jiang
2f157dbd76
Merge remote-tracking branch 'origin/master' into worktree/web-textarea-refactor-991614
...
# Conflicts:
# packages/client/ui-chat/src/client/chat/MessageItem.module.css
# packages/client/ui-conversation/package.json
# packages/client/ui-input-trigger/README.i18n.yaml
# packages/client/ui-input-trigger/README.md
# packages/client/ui-input-trigger/README.zh.md
# packages/client/ui-reference/README.i18n.yaml
# packages/client/ui-reference/README.md
# packages/client/ui-reference/README.zh.md
# pnpm-lock.yaml
2026-08-26 10:10:09 +08:00
Magolor
0b5eba0c8d
docs: rebuild the documentation skill and standards ( #2983 )
2026-08-25 23:47:20 +08:00
imccyu
f37bb35a97
perf(conversation): fold packed assistant history
2026-08-25 20:15:06 +08:00
Yichen Jiang
e177571236
Merge remote-tracking branch 'origin/master' into worktree/web-textarea-refactor-991614
...
# Conflicts:
# .agents/notes/archived/manifest.json
# apps/web/tests/reference-composer.e2e.ts
# pnpm-lock.yaml
2026-08-25 19:35:55 +08:00
Yichen Jiang
c697f260a4
Merge remote-tracking branch 'origin/master' into worktree/web-textarea-refactor-991614
...
# Conflicts:
# packages/client/ui-conversation/tests/input-bar.client.spec.tsx
2026-08-24 20:56:17 +08:00
creatixchu
c2ce4a1405
Merge remote-tracking branch 'origin/master' into worktree/2986-trajectory-image-attachments
2026-08-24 20:32:07 +08:00
creatixchu
c27de594fd
feat(web): 在 Trajectory 中展示图片附件
...
Trajectory 现在通过共享的 ui-attachment 画廊渲染会话日志中的持久化图片引用:ui-conversation 拥有按会话的图片 URL 缓存(ctx.uiConversation.imageUrl),ui-trajectory 声明 conversation.trajectory.images 子槽位,纯图片记录行以图片数量标注,内联 imageSrc 嗅探作为死代码删除。
Closes #2986
2026-08-24 17:59:02 +08:00
lsdsjy
e06625d202
fix(web): switch running drafts to Send
2026-08-24 11:37:48 +08:00
Yichen Jiang
f26936d695
Merge remote-tracking branch 'origin/master' into worktree/web-textarea-refactor-991614
...
# Conflicts:
# .agents/notes/archived/bug-fix/2026-07-31-composer-text-layers-share-one-scrollport.i18n.yaml
# apps/web/tests/composer-draft-scroll.e2e.ts
# packages/client/ui-chat/src/client/chat/MessageItem.tsx
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.md
# packages/client/ui-conversation/README.zh.md
# packages/client/ui-conversation/package.json
# packages/client/ui-conversation/src/client/contract/input.ts
# packages/client/ui-conversation/src/client/contract/slots.ts
# packages/client/ui-conversation/src/client/input/facade.ts
# packages/client/ui-conversation/src/client/input/machine.ts
# packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
# packages/client/ui-conversation/src/client/skeleton/decorations.ts
# packages/client/ui-conversation/tests/input-bar.client.spec.tsx
# packages/client/ui-conversation/tests/input-machine.client.spec.ts
# packages/client/ui-conversation/tests/input-reference-submit.client.spec.ts
# packages/client/ui-conversation/tests/skeleton.client.spec.tsx
# packages/client/ui-primitives/src/user-text.module.css
# packages/client/ui-primitives/src/user-text.tsx
# packages/extensions/cordis-client-runner/src/client/slot-catalog.ts
# pnpm-lock.yaml
2026-08-24 11:04:58 +08:00
imccyu
64c9e4a22c
docs: define client-derived tool presentation
2026-08-24 10:24:16 +08:00
imccyu
dc92793f10
fix(client): align domain split with repository gates
2026-08-23 16:28:19 +08:00
imccyu
f13fb4daeb
docs(client): document split ownership
2026-08-23 16:28:18 +08:00
Yichen Jiang
e08be4df6f
Merge remote-tracking branch 'origin/master' into worktree/web-textarea-refactor-991614
2026-08-21 17:10:03 +08:00
imccyu
7ce85283b5
Revert "Merge pull request #2608 from deepseek-harness/fix/permission-copy-and-default"
...
This reverts commit d51f4106a2b0669d33e0f5dc1d5dcf21a764d313, reversing
changes made to 69ace51625b6ac665b2f2ec1e81005d5b055f152.
2026-08-21 16:21:13 +08:00
Yichen Jiang
339a12030d
fix(web): project sent user text inline and fold wire references in queue rows
...
The user-bubble decorator rendered every plain run through the
block-level MessageText div, so a decorated single-line message broke
into one line per run and the space between two tokens rendered as a
blank line. The queue dock's read-only row printed row.preview verbatim,
showing the wire session form (@[label](dsh-session:...)) instead of a
readable label. Both predate the Lexical composer; the logged model text
was correct in both cases.
One shared inline projection (reference/user-text.tsx) now owns sent
user text for the bubble and the queue row: plain runs are spans with
white-space policy left to the consumer (bubble pre-wrap, queue nowrap),
and a highest-precedence rule folds the wire session form to its label
chip, shielding the URI from the bare-token scan. The queue edit field
keeps the literal sent text. user-text.client.spec pins the inline
guarantee and every fold rule; queue-actions.e2e locators move to
row-container matching (the projection adds one span layer).
2026-08-21 14:23:01 +08:00
Yichen Jiang
b010c20703
Merge remote-tracking branch 'origin/master' into worktree/web-textarea-refactor-991614
...
# Conflicts:
# packages/client/ui-conversation/src/client/skeleton/InputBar.tsx
# packages/client/ui-conversation/tests/input-bar.client.spec.tsx
2026-08-20 23:27:33 +08:00
Yichen Jiang
c3e35cbe95
docs(client): align turn-error prose with exhausted-retry rendering
...
Review follow-up: the consumer-facing contract still described the removed
suppression. TurnErrorNode's JSDoc, the client-runtime retry-projection
README section, and the ui-conversation chat-flow section (both languages)
now state that a terminal turn/end error always projects the node, beside
the settled retry chain when retries exhausted, and that only intermediate
failures that scheduled another retry stay retry-notice-only. The recovery
note sheds its remaining cross-turn wording (closed-step boundary, retry
turns, closed failed step/turn) for the same-turn reality.
2026-08-20 21:48:36 +08:00
Yichen Jiang
4fe0db5031
Merge remote-tracking branch 'origin/master' into worktree/web-textarea-refactor-991614
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.md
# packages/client/ui-conversation/README.zh.md
# packages/client/ui-conversation/tests/skeleton.client.spec.tsx
2026-08-20 21:39:48 +08:00
yx.zhang
5f7ac9183e
fix(web): address subagent header review findings
2026-08-20 21:12:07 +08:00
yx.zhang
de572dd910
feat(web): refine subagent header switcher
2026-08-20 20:18:55 +08:00
Yichen Jiang
0cdb569cf8
Merge remote-tracking branch 'origin/master' into worktree/web-textarea-refactor-991614
...
# Conflicts:
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.zh.md
2026-08-20 19:53:44 +08:00
pku-xht
84cbec28e9
Merge remote-tracking branch 'origin/master' into codex/localized-chinese-doc-links
...
# Conflicts:
# .agents/notes/implemented/architecture/2026-06-11-content-block-vocabulary.i18n.yaml
# .agents/notes/implemented/architecture/2026-06-11-content-block-vocabulary.zh.md
# .agents/notes/implemented/architecture/2026-06-18-shared-persistence-write-coordinator.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.i18n.yaml
# .agents/notes/implemented/architecture/2026-07-10-single-file-executable-sdk-runtime-distribution.zh.md
# .agents/notes/implemented/bug-fix/2026-07-29-pnpm-setup-runner-isolation.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-07-29-pnpm-setup-runner-isolation.zh.md
# .agents/notes/implemented/bug-fix/2026-08-18-request-image-payload-bound.i18n.yaml
# .agents/notes/implemented/bug-fix/2026-08-18-request-image-payload-bound.zh.md
# .agents/notes/implemented/feature/2026-07-06-sandbox.i18n.yaml
# .agents/notes/implemented/feature/2026-07-06-sandbox.zh.md
# .agents/notes/implemented/feature/2026-07-16-persistent-pty-sessions.i18n.yaml
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.i18n.yaml
# .agents/notes/implemented/feature/2026-07-21-cross-session-references.zh.md
# .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.zh.md
# .agents/notes/implemented/feature/2026-07-27-web-subagent-conversations.i18n.yaml
# .agents/notes/implemented/feature/2026-07-31-permission-default-for-new-sessions.i18n.yaml
# .agents/notes/implemented/feature/2026-08-03-web-search-source-scroll.i18n.yaml
# .agents/notes/implemented/feature/2026-08-03-web-search-source-scroll.zh.md
# .agents/notes/implemented/feature/2026-08-04-claude-code-and-codex-subagent-backends.i18n.yaml
# .agents/notes/implemented/feature/2026-08-04-claude-code-and-codex-subagent-backends.zh.md
# .agents/notes/implemented/feature/2026-08-05-agent-teams.i18n.yaml
# .agents/notes/implemented/feature/2026-08-05-agent-teams.zh.md
# .agents/notes/implemented/feature/2026-08-11-workspace-sidebar-order-and-folding.i18n.yaml
# .agents/notes/implemented/feature/2026-08-15-product-subagent-noninteractive-permissions.i18n.yaml
# .agents/notes/implemented/process/2026-07-21-serial-cross-platform-ci-reference.i18n.yaml
# .agents/notes/implemented/process/2026-07-21-serial-cross-platform-ci-reference.zh.md
# .agents/notes/implemented/process/2026-07-22-evidence-based-larger-hosted-runners.i18n.yaml
# .agents/notes/implemented/process/2026-07-22-evidence-based-larger-hosted-runners.zh.md
# .agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.i18n.yaml
# .agents/notes/implemented/process/2026-07-23-portable-required-pull-request-ci.zh.md
# .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.i18n.yaml
# .agents/notes/implemented/testing/2026-07-24-web-gui-browser-e2e-lane.zh.md
# .agents/notes/implemented/testing/2026-07-30-web-browser-snapshot-ci-gate.i18n.yaml
# .agents/notes/implemented/testing/2026-07-30-web-browser-snapshot-ci-gate.zh.md
# .agents/notes/proposed/architecture/2026-07-27-session-projection-and-command-log.i18n.yaml
# README.i18n.yaml
# README.zh.md
# docs/architecture.i18n.yaml
# docs/architecture.zh.md
# docs/development.i18n.yaml
# docs/development.zh.md
# docs/persistence-catalog.i18n.yaml
# docs/persistence-catalog.zh.md
# docs/subsystems/README.i18n.yaml
# docs/subsystems/README.zh.md
# docs/subsystems/agent-team.i18n.yaml
# docs/subsystems/agent-team.zh.md
# docs/subsystems/client-modules.i18n.yaml
# docs/subsystems/client-modules.zh.md
# docs/subsystems/commands.i18n.yaml
# docs/subsystems/commands.zh.md
# docs/subsystems/persistence.i18n.yaml
# docs/subsystems/persistence.zh.md
# docs/subsystems/session-reference.i18n.yaml
# docs/tool-catalog.i18n.yaml
# docs/tool-catalog.zh.md
# docs/user/guide/providers.i18n.yaml
# docs/user/guide/providers.zh.md
# packages/README.i18n.yaml
# packages/README.zh.md
# packages/bundle/web-app/README.i18n.yaml
# packages/bundle/web-app/README.zh.md
# packages/client/README.i18n.yaml
# packages/client/README.zh.md
# packages/client/connection/README.i18n.yaml
# packages/client/connection/README.zh.md
# packages/client/ui-conversation/README.i18n.yaml
# packages/client/ui-conversation/README.zh.md
# packages/client/ui-primitives/README.i18n.yaml
# packages/client/ui-primitives/README.zh.md
# packages/client/ui-sidebar/README.i18n.yaml
# packages/client/ui-sidebar/README.zh.md
# packages/client/ui-workspace/README.i18n.yaml
# packages/client/ui-workspace/README.zh.md
# packages/context/README.i18n.yaml
# packages/context/README.zh.md
# packages/core/agent-loop/README.i18n.yaml
# packages/credentials/README.i18n.yaml
# packages/credentials/README.zh.md
# packages/experimental/agent-team/README.i18n.yaml
# packages/experimental/agent-team/README.zh.md
# packages/experimental/tool-agent-team/README.i18n.yaml
# packages/experimental/tool-agent-team/README.zh.md
# packages/host/frontend-static/README.i18n.yaml
# packages/host/frontend-static/README.zh.md
# packages/host/webserver/README.i18n.yaml
# packages/host/webserver/README.zh.md
# packages/interaction/commands/README.i18n.yaml
# packages/interaction/commands/README.zh.md
# packages/plan/plan-mode/README.i18n.yaml
# packages/plan/plan-mode/README.zh.md
# packages/sandbox/sandbox-local/README.i18n.yaml
# packages/sandbox/sandbox-local/README.zh.md
# packages/session/README.i18n.yaml
# packages/session/README.zh.md
# packages/session/session-persistence-sqlite/README.i18n.yaml
# packages/session/session-persistence-sqlite/README.zh.md
# packages/session/session-projection-cache/README.i18n.yaml
# packages/session/session-projection-cache/README.zh.md
# packages/shell/tool-pwsh/README.i18n.yaml
# packages/shell/tool-pwsh/README.zh.md
# packages/subagent/subagent-codex/README.i18n.yaml
# packages/subagent/subagent-codex/README.zh.md
# packages/subagent/subagent/README.i18n.yaml
# packages/subagent/subagent/README.zh.md
# packages/web/tool-web/README.i18n.yaml
# packages/web/tool-web/README.zh.md
# scripts/snapshots/translation-prompt-v4/request-response.expected.json
2026-08-20 19:15:33 +08:00
Yichen Jiang
f6fb66a318
docs+build(ui-conversation): lexical composer collateral
...
The client-bundle preset pins the production/development exports condition
(lexical's node-condition file selects its flavor with a top-level await a
CJS bundle cannot carry); the composer carries an explicit aria-label (a
div's data-placeholder does not name it the way a textarea placeholder
did); READMEs, the composer.bar slot doc, and the Agent Note record the
editor architecture; web e2e drives the contenteditable surface.
2026-08-20 18:27:55 +08:00
pku-xht
36aead7320
Merge remote-tracking branch 'origin/master' into codex/cache-hit-decimal-display-v2
2026-08-20 17:18:29 +08:00
Kaige-Gao
8304a25d8a
Merge remote-tracking branch 'origin/master' into fix/permission-copy-and-default
...
# Conflicts:
# packages/subagent/subagent-codex/tests/subagent-codex.spec.ts
2026-08-19 22:50:35 +08:00
Kaige-Gao
35778ec2ff
fix(web): address permission preset review feedback
2026-08-19 22:45:54 +08:00
imccyu
319d9a7984
feat(client): compose deployment branding through slots
2026-08-19 18:21:35 +08:00
Yichen Jiang
1585e539d2
fix(web): address reference review defects
2026-08-19 18:02:10 +08:00
Yichen Jiang
988dd7824a
fix(web): align reference input and recall ordering
2026-08-19 17:11:36 +08:00
pku-xht
a4da0f40d5
feat(web): preserve near-full cache-hit precision
2026-08-19 14:41:23 +08:00
07akioni
11ed98de55
Merge remote-tracking branch 'origin/master' into fix/open-file-fail
2026-08-19 12:27:34 +08:00
pku-xht
8a334c4d49
fix(i18n): bind localized links to active pairs
2026-08-19 02:26:57 +08:00
Kaige-Gao
b03b1f2e7b
fix(web): improve permission labels and blank defaults
2026-08-18 21:30:28 +08:00
pku-xht
8d3674695b
docs(i18n): localize Chinese internal links
2026-08-18 19:00:37 +08:00
07akioni
aab839a971
feat(web): Implement file-open failure handling in chat view
2026-08-18 17:39:38 +08:00
creatixchu
8d9fee19f9
feat(commands): route composer image attachments through slash commands
...
A claimed slash command consumed only the text half of the composer
submission: /goal with reference images executed, cleared the draft, and
silently stranded the images in the rail. Model-visible attachment intent
had no route through the command plane.
The submission envelope is now modeled end to end. CommandDefinition
input.images declares acceptance; the declaration rides the descriptor to
every client, onto the minted CommandClaim, and into the input machine's
claim snapshot. commands.execute carries the submission's base64 images
and enforces the declaration in the executor: non-declaring commands, a
missing attachment store, and exceeded batch limits settle as logged
error results before the handler runs. Admission reuses the attachment
package's new admitEncodedImages, extracted from api-proxy's prompt path
so both wire endpoints share one limits/validation/commit sequence.
Producers own model visibility: /goal submits one user followup (image
blocks + a fixed reference line) after a successful create/edit so goal
rounds read the images from session history; /plan folds them into its
steered message. Grammar misfits (/goal pause, bare /plan, /plan off)
return direct errors and the composer keeps the images.
On the client, enter adjudication carries a SubmitEnvelope and every
command route that cannot consume images throws a localized refusal that
renders as one composer notice with draft and images retained; the
claimed pre-gate applies the same copy. An accepting claim serializes the
draft images, forwards them to commands.execute, and clears plus releases
them only on a success outcome.
The assembled web test roster gains the ui-input-trigger and ui-commands
plugins, mirroring the shipped composition, so slash submissions exercise
the command plane; a new keyless snapshot pins the refusal banner and the
accepting /goal flow over the built client graph.
2026-08-17 18:57:55 +08:00
lsdsjy
4edbdd443e
fix(web): repair Safari textarea soft-wrap shrink
2026-08-14 17:52:09 +08:00
Tianyi Cui
a2d0f7f411
refactor: apply repository naming contract
...
Apply the accepted pre-release package, service, type, directory, and role renames as one repository-wide change.
2026-08-13 00:54:38 +08:00
07akioni
ae3f89e772
Merge remote-tracking branch 'origin/master' into fix/stats
2026-08-12 21:29:00 +08:00
07akioni
efb1857853
Merge remote-tracking branch 'origin/master' into fix/stats
2026-08-12 21:22:05 +08:00
xjt
23e09ec08e
Merge master into docs/post-v3-release-proofreading
2026-08-12 20:48:08 +08:00
07akioni
dabe6207f5
fix: 分页问题
2026-08-12 20:26:47 +08:00