14226 Commits
Author SHA1 Message Date
Yichen Jiang f95cbca9ce test(web): target the editable command composer 2026-08-26 14:39:58 +08:00
creatixchu 116cd2332e Merge remote-tracking branch 'origin/master' into worktree/feedback-otel-enable 2026-08-26 14:35:49 +08:00
Yichen Jiang 308d1b21cb Merge remote-tracking branch 'origin/master' into worktree/3116-docs-mpa-idempotence 2026-08-26 14:33:23 +08:00
Yichen Jiang 1d09a4c877 fix(docs): harden build output cleanup 2026-08-26 14:33:17 +08:00
Yichen Jiang 2831054b97 test(web): await editable composer between turns 2026-08-26 14:30:56 +08:00
Yichen Jiang 4e1c87b1a2 fix(ci): bound Windows process contention 2026-08-26 14:24:24 +08:00
creatixchu fab41be07e Merge remote-tracking branch 'origin/master' into codex/pr-3111-review 2026-08-26 14:21:56 +08:00
creatixchu 7817ed3d82 docs: refresh Claude SDK notices 2026-08-26 14:09:31 +08:00
creatixchu 2dd59b2ca1 test(client): cover instant image echo branches 2026-08-26 13:49:20 +08:00
Yichen Jiang 2cb1a323b7 Merge remote-tracking branch 'origin/master' into worktree/fix-question-drafts-session-switch 2026-08-26 13:44:45 +08:00
Yichen Jiang 94e3bfd5d1 test(web): gate composer gestures on the editable attribute
A running turn disables the composer by flipping contenteditable to
false on the same element. fill() throws there immediately — a disabled
textarea used to hold it back through actionability — and isEnabled()
reports true for a div regardless, so the permission-policy scenario's
post-settle wait never waited and its next gesture raced the re-enable
render. The window is a few frames wide; #3083's Remote-routed subagent
control stretches settle enough to hit it on CI.

writeComposerDraft now waits for contenteditable="true" before acting,
and the permission-policy scenario drives all four sends through it with
the settle wait pinned to the attribute.
2026-08-26 13:44:32 +08:00
Yichen Jiang f87b6c35df Merge branch 'master' into worktree/wizardly-maxwell-194a2a 2026-08-26 13:42:28 +08:00
Yichen Jiang 002af9f20b fix(ui-agent-preset): read a refusal's cause by its detail, not its code 2026-08-26 13:41:20 +08:00
imccyu 6770f76fda Merge pull request #3063 from deepseek-harness/fix/window0825
perf(ci): optimize coverage / snapshot parameter
2026-08-26 13:40:33 +08:00
Yichen Jiang cd3401a39a Merge remote-tracking branch 'origin/master' into worktree/wizardly-maxwell-194a2a
# Conflicts:
#	packages/client/ui-agent-preset/src/client/seat-store.ts
2026-08-26 13:37:53 +08:00
Yichen Jiang f7890f591a fix(agent-presets): make a preset's failures legible where they happen
Discovery proved only that a composition parsed, so a preset naming a
package a later rename took away kept a healthy card and its place in
every picker until a person switched to it. It now resolves each row it
can prove will start, reading the package off disk and falling back to
the resolver only for names that look absent — the resolver costs a
synchronous hooks-thread round-trip under the source launch's tsx hook,
which the walk avoids for every row it clears.

The mount diagnostic followed `AggregateError.errors` but never a cause,
so a group that failed on two rows named neither. It now follows a cause
that carries more than its own message.

A refused switch left the chip's label snapping back with no account of
why, which is the only account there can be for a preset that resolves
and then refuses. It announces through the shared Toast, which gained a
caller-set hold for a cause that names packages and rows.
2026-08-26 13:31:08 +08:00
creatixchu 5f3112d6ce Merge remote-tracking branch 'origin/master' into worktree/feedback-otel-enable
# Conflicts:
#	apps/web/tsconfig.json
2026-08-26 13:30:52 +08:00
imccyu 2a1a2605dc test(workflow-worker-thread): budget startup waits for the contended Windows pool 2026-08-26 13:28:44 +08:00
imccyu b342b09401 chore(release): drop the unused synchronous runner 2026-08-26 13:23:41 +08:00
creatixchu b22cc3e95b Merge master and address submission echo review 2026-08-26 13:20:24 +08:00
Yichen Jiang d6a1031cfa Merge remote-tracking branch 'origin/master' into worktree/3116-docs-mpa-idempotence 2026-08-26 13:10:09 +08:00
Yichen Jiang 3275365489 fix(docs): make site builds idempotent 2026-08-26 13:09:53 +08:00
imccyu f18ab429e4 ci(release): pack rehearsal tarballs concurrently 2026-08-26 12:46:17 +08:00
imccyu e1c49dab59 ci(windows): clear stale pnpm setup state before install 2026-08-26 12:35:05 +08:00
imccyu 2d89a76b94 test(webworker-runtime): restore the transform semantic spec 2026-08-26 12:35:05 +08:00
imccyu 8793cd477b test(webworker-runtime): keep the corpus gate as a Node import sweep 2026-08-26 12:35:05 +08:00
imccyu 6d9cc6ab96 test(webworker-runtime): drop coverage requirement and compile transform suites 2026-08-26 12:35:04 +08:00
imccyu 54ef0f315a perf(typert): skip re-verified diagnostics and share analyzer caches in the tsdown plugin 2026-08-26 12:35:04 +08:00
imccyu 75428c7f47 perf(ci) 2026-08-26 12:35:04 +08:00
_Kerman 2efaacd807 Merge pull request #2731 from deepseek-harness/xtr/message-tool-call-id
refactor(llm): rename CallId to ToolCallId
2026-08-26 12:32:08 +08:00
creatixchu c01cf6e549 test: exactOptionalPropertyTypes 下的 onRetire 捕获类型 2026-08-26 12:12:59 +08:00
creatixchu f1606e31d2 test(web): 提交回显的组装路径 e2e 与不可见标记
PendingSubmissionBubble 携带 data-submission-echo 标记(渲染不变,仅供检测),
新增 keyless 组装 e2e:发送按键当下回显即在流中、composer 已清空可编辑,
durable 节点到达后原位替换且只剩一条气泡。
2026-08-26 12:12:08 +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
creatixchu 5657066b1d test: 修复回显契约扩散到的类型化 fake 与断言 2026-08-26 11:51:35 +08:00
creatixchu cf47b7e059 feat(web): 提交回显在 Chat 流尾即时渲染
ChatView 渲染 pendingSubmissions 为用户气泡,按 rpcId 对正式节点与队列行做
渲染期去重,替换原子无闪烁;新增回显跟随滚动;MessageImage/ImageGallery 增加
本地预览 arm,回显图片直接显示 object URL。
2026-08-26 11:49:56 +08:00
creatixchu 390dad6138 feat(ui-conversation): 默认发送改为乐观提交并接入提交回显
enter 即清空草稿并解冻输入框,默认发送作为 detached attempt 并发运行;
sink-settled 失败时仅还原未被覆盖的空草稿与图片;sendSession 在序列化前注册
提交回显并在绘制让步后再编码(FileReader 原生 base64);观察退休时把预览 URL
移交 HistoricalImageCache,正式消息节点零往返显示。
2026-08-26 11:49:16 +08:00
creatixchu 98da332260 feat(session-controller): 客户端本地提交回显与 rpcId 关联
beginSubmission 在 prompt 之前同步把本地提交回显写入 SessionSnapshot.pendingSubmissions;
durable user/message(source.rpcId)或队列投影(SessionQueuedItem.rpcId)到达后延迟一帧退休,
prompt 失败与放弃立即退休并回调 onRetire。fixture 的 prompt 同步回显 requestId。
2026-08-26 11:48:33 +08:00
Yichen Jiang 2c90710383 fix(web): preserve question drafts across Session switches 2026-08-26 11:42:52 +08:00
_Kerman bf83f0889b Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 11:40:56 +08:00
imccyu a3c852b497 Merge pull request #3082 from deepseek-harness/worktree-apire-a2
refactor(apiproxy): move the agent-preset to Remote
2026-08-26 11:37:08 +08:00
Yichen Jiang d2a4a95a85 Merge pull request #2852 from deepseek-harness/worktree/web-textarea-refactor-991614
refactor(web): rebuild the composer on Lexical with atomic reference chips
2026-08-26 11:24:22 +08:00
imccyu 5752b1dc3c docs(agent-presets): refresh @Remote migration references 2026-08-26 11:18:36 +08:00
imccyu c5be99838c test(agent-presets): cover the Remote migration 2026-08-26 11:18:28 +08:00
imccyu ef1c812d93 refactor(ui-agent-preset): consume the preset Remote 2026-08-26 11:18:28 +08:00
imccyu 306419cc84 refactor(agent-presets): expose browser operations through Remote 2026-08-26 11:18:28 +08:00
_Kerman 6a311f0638 Merge remote-tracking branch 'origin/master' into dshw/pr-deepseek-harness-deepseek-harness-2731 2026-08-26 11:17:50 +08:00
Dudu-0223 5e52e7eaef Merge pull request #2555 from deepseek-harness/codex/agentteams-web
feat(team): add experimental Agent Teams Web profile
2026-08-26 11:15:48 +08:00
_Kerman e8c2423f5b chore: regenerate third-party notices for claude-agent-sdk 0.3.241 2026-08-26 11:12:37 +08:00
fengsy d0eb02c206 docs(team): adopt package README standard 2026-08-26 10:56:57 +08:00
fengsy 194facabdb fix(team): authenticate browser panel snapshot 2026-08-26 10:56:57 +08:00