creatixchu
f800ea46e5
refactor(deliverables): group tool-present and workspace-changes under packages/deliverables
...
Both Host packages hand the turn's deliverables to the user and neither
is a filesystem capability, so they leave packages/fs for a new
packages/deliverables group. The Client package stays at
packages/client/ui-deliverables. Paths in tsconfig references and
aliases, gates, generated catalogs, READMEs, and the implemented notes
follow the move; archived notes and released schema records stay as
written.
2026-09-14 13:33:54 +08:00
creatixchu
88d40e28ab
docs(config): refresh the workspace-changes catalog entry after the source moved
2026-09-14 13:04:26 +08:00
creatixchu
904e589573
test(web): keep the sentence the right-Sidebar scenario waits for
2026-09-14 12:39:59 +08:00
creatixchu
86a1bf1e80
fix(workspace-changes): resolve canonical paths lazily and make the tests portable
...
The packed worker deployment offers no realpathSync.native at plugin load, so
the home and temporary roots are now canonicalized asynchronously when a
Session first locates its repository. Windows-neutral tests replace chmod
and POSIX-only path expectations, and the right-Sidebar scenario enters
through the closing prose's file mention.
2026-09-14 12:37:22 +08:00
creatixchu
7f5f4e778a
fix(web): keep line counts visible after a changed-files row opens
...
A completed native open no longer replaces the row's counts with a lasting
acknowledgement; only pending and failed opens do, for rows and the folder
header alike.
2026-09-14 11:53:19 +08:00
creatixchu
8ea92ce9b5
fix(workspace-changes): count argument-derived hunks, isolate per-turn state, and harden git handling
...
Review round fixes: a write that creates a file persists no hunks and
str_replace_editor persists none at all, so mutation calls now contribute
hunks from their arguments when the result carries none; each turn owns a
state object so a record still running for an interrupted turn cannot be
reset by the next turn; git add accepts exit code 1 from --ignore-errors;
rev-parse failures other than a missing repository fail loud; only a missing
index or store is tolerated; the temporary-root exclusion uses the repository
root; a row without a verified Host path previews in the Sidebar. The
recorded scenario now creates an ignored file.
2026-09-14 11:33:59 +08:00
creatixchu
8a52d27a93
Merge remote-tracking branch 'origin/master' into worktree/code-diff-card
...
# Conflicts:
# docs/persistence-changes/historical-formats/README.i18n.yaml
# docs/persistence-changes/historical-formats/README.md
# docs/persistence-changes/historical-formats/README.zh.md
# docs/persistence-schema.json
2026-09-14 11:26:05 +08:00
creatixchu
3010cb3dba
fix(workspace-changes): resolve the types subpath to source and complete exported JSDoc
...
Map @deepseek-ai/dsh-workspace-changes/types to src so the persistence catalog
links source instead of built output, and document every exported function
and recorder method.
2026-09-14 11:18:52 +08:00
creatixchu
0d2fcf22dc
docs(persistence): refresh format facts after acknowledging the workspace/changes event
2026-09-14 11:08:18 +08:00
creatixchu
a27cfb9bd3
Merge remote-tracking branch 'origin/master' into worktree/code-diff-card
...
# Conflicts:
# apps/web/package.json
# docs/event-producer-consumer.i18n.yaml
# docs/event-producer-consumer.md
# docs/event-producer-consumer.zh.md
# docs/persistence-catalog.i18n.yaml
# docs/persistence-catalog.md
# docs/persistence-catalog.zh.md
# pnpm-lock.yaml
2026-09-14 11:07:18 +08:00
creatixchu
cdfd8ab5b0
test(web): refresh the changed-files golden for the decorative header glyph
2026-09-14 10:59:38 +08:00
creatixchu
d6634272d5
feat(workspace-changes): keep snapshot objects in a private store under the Harness home
...
Write every snapshot blob and tree into a per-repository object directory
under DSH_HOME/workspace-changes with the repository's objects attached as a
read-only alternate, so the user's repository gains no objects and the Harness
owns retention through objectStoreMaxBytes. The placement follows the
workspace change journal POC and costs nothing measurable.
2026-09-14 10:55:15 +08:00
creatixchu
2b1dabec86
Refresh merged SDK recordings and persistence documentation
2026-09-14 10:25:54 +08:00
creatixchu
27d52a4edb
Update image tests for split adapters and durable offload failures
2026-09-14 10:21:54 +08:00
creatixchu
a7070008e7
Merge master and integrate image offload with both DeepSeek protocols
2026-09-14 10:19:11 +08:00
creatixchu
63f1f6eca4
chore(workspace-changes): align the package version with the root after the master merge
2026-09-11 17:29:37 +08:00
creatixchu
51de5bbc4d
fix(web): draw the changed-files header tile with the design's angle-bracket mark
2026-09-11 17:25:50 +08:00
creatixchu
0f8457a017
feat(workspace-changes): record only git repositories and add the recorded card scenario
...
Drop the shadow repository tier: a working directory outside any git
repository records nothing and the card stays absent, because a configured
exclude list cannot replace a missing .gitignore reliably. Seed a committed
repository in a new keyless Web scenario so the recorded turn exercises the
recorder, and retire the produced-files row from the affected goldens.
2026-09-11 17:22:15 +08:00
creatixchu
3c632ebf66
Merge remote-tracking branch 'origin/master' into worktree/code-diff-card
2026-09-11 16:47:45 +08:00
creatixchu
f937f4e23b
feat(web): record turn file changes with git snapshots and render the changed-files card
...
Add the dsh-workspace-changes Host plugin that snapshots the working tree at
turn start and end through a private git index, diffs the two trees, folds in
file-tool hunks for ignored and out-of-tree files, and appends a log-only
workspace/changes event. The Web deliverables plugin renders that event as the
changed-files card in place of the mutation-call row, with default-app and
common-folder opening through a new authenticated route.
2026-09-11 16:47:40 +08:00
creatixchu
93581008aa
docs: refresh the paired Session API record
2026-09-11 15:40:44 +08:00
creatixchu
653a4164b8
docs: sync the projection disposer signature
2026-09-11 15:38:19 +08:00
creatixchu
4e7193945d
fix: expose the projection registration async disposer
2026-09-11 15:38:04 +08:00
creatixchu
325c8d880a
build: admit pure message projection leaves in browser bundles
2026-09-11 15:35:55 +08:00
creatixchu
401c3ef977
test: type the stored projection fixture as format events
2026-09-11 15:29:33 +08:00
creatixchu
1d4d22c1ff
test: complete projection fixtures and configuration catalog
2026-09-11 15:26:54 +08:00
creatixchu
413ac14b16
refactor: move image offload projection into its plugin
2026-09-11 15:24:45 +08:00
creatixchu
bc49b2a15c
Merge master 28a4010f7d into image offload branch
2026-09-11 14:22:36 +08:00
creatixchu
c59d285f99
chore(compaction): mark existing history read for deferred migration
2026-09-11 13:43:02 +08:00
creatixchu
ec3560c42e
Merge master 16bf879af2 into image offload branch
2026-09-11 13:40:19 +08:00
creatixchu
db6dff8f67
Merge remote-tracking branch 'origin/master' into worktree/issue-3929-v41-request-image
2026-09-11 13:16:24 +08:00
creatixchu
f0f1988a7a
Clarify token counts after aspect-preserving image projection
2026-09-11 11:14:33 +08:00
creatixchu
d995331772
feat(web): start the turn-level code diff card for #3501
2026-09-11 11:07:25 +08:00
creatixchu
08dba5f5f6
test(compaction): record summary image recovery through ACP
2026-09-11 11:00:17 +08:00
creatixchu
73e10fb80c
fix(compaction): preserve summary diagnostics on cancellation
2026-09-11 10:58:36 +08:00
creatixchu
debb4b9a9c
fix(compaction): recover durable image offload in summary requests
2026-09-11 10:56:48 +08:00
creatixchu
275af6a2e2
Merge remote-tracking branch 'origin/master' into worktree/issue-3929-v41-request-image
2026-09-11 10:42:03 +08:00
creatixchu
ffa536712a
Merge remote-tracking branch 'origin/master' into worktree/issue-3929-v41-request-image
...
# Conflicts:
# packages/attachment/attachment-local/README.i18n.yaml
# packages/attachment/attachment-local/README.md
# packages/attachment/attachment-local/README.zh.md
2026-09-10 17:41:17 +08:00
creatixchu
4b1408e1df
Merge origin/master into worktree/3041-image-offload-log-design
2026-09-10 17:20:54 +08:00
creatixchu
31f731cc6f
Merge remote-tracking branch 'origin/master' into codex/pr-3440-resync-20260908
...
# Conflicts:
# docs/subsystems/llm-streaming.i18n.yaml
# docs/subsystems/llm-streaming.md
# docs/subsystems/llm-streaming.zh.md
# packages/llm/llm-deepseek/README.i18n.yaml
# packages/llm/llm-deepseek/README.md
# packages/llm/llm-deepseek/README.zh.md
# packages/llm/llm-deepseek/src/request-pricing.ts
# packages/llm/llm-deepseek/tests/request-pricing.spec.ts
2026-09-10 16:52:18 +08:00
creatixchu
b5e7fca4a5
feat(compaction): record image offload decisions without message replacement
2026-09-10 16:47:50 +08:00
creatixchu
ba30b73f7b
refactor(attachment): 求解器留在 llm-deepseek,存储层只接收目标尺寸
...
ImageRequestPolicy 改为 ImageRequestTarget,只含目标宽、高和字节目标;dsh-attachment 删除 token-grid 投影联合和 tokenGridProjection,只保留提供方无关的 requestImageDimensions 与 longEdgeDimensions。v41 求解器回到 llm-deepseek 的 image-tokens.ts,新增 deepSeekRequestImageDimensions,resolveRequestImageTarget 为每张图算出目标并加 4096 单边上限;pi-ai 路由按自身像素预算推导目标。
按 review 意见修正:v41 计价 Note 里已删除常量的过期句子就地改写;ProjectedDimensions 登记到 attachment 子系统页与 type-equiv 清单;Note 区分发送尺寸与提供方补齐后的网格;短边取整的措辞改为「按路由预测」。
2026-09-10 16:46:28 +08:00
creatixchu
e17a736cc3
docs: 同步请求图片投影文档与 Agent Note
...
更新 attachment、attachment-local、llm-deepseek 的 README,附件与 LLM 流式子系统文档,配置目录,type-equiv 清单,以及双语配对记录;新增请求图片投影的 Agent Note,并修正 v41 计价 Note 里关于 640,000 像素预算的说明。
2026-09-10 16:09:20 +08:00
creatixchu
06c491508f
fix(llm-deepseek): 请求图片按 V4.1 token 网格投影
...
ImageRequestPolicy 改为投影规则加可选单边上限加字节目标,投影是 pixel-budget 或 token-grid 的封闭联合。token 网格求解器放在 dsh-attachment 的 request-projection 里,deepSeekImageTokens 复用同一个求解器计价。DeepSeek 路由默认按 14 px patch、3:1 降采样、1024 token 上限的网格投影,每张请求图片加 4096 像素单边上限,字节目标提高到 2 MiB;显式 imagePixelBudget 与 pi-ai 路由仍走总像素预算。缩放只按长边给定,短边由编码器四舍五入,与投影预测一致。变换版本升到 request-image-v6。
Closes #3929
2026-09-10 16:09:18 +08:00
creatixchu
d0ba1a3c6c
Merge remote-tracking branch 'origin/master' into worktree/composer-plus-menu
2026-09-10 16:00:13 +08:00
creatixchu
7910cd9e0b
test(web): assert the shipped feedback command identity
2026-09-10 16:00:08 +08:00
creatixchu
aed83d29ba
Merge remote-tracking branch 'origin/master' into worktree/composer-plus-menu
2026-09-10 15:49:55 +08:00
creatixchu
fff1ed7aa2
fix(plan): keep command identity independent of optional runtime
2026-09-10 15:48:25 +08:00
creatixchu
81d017bbaa
docs: align generated catalog source links in both locales
2026-09-10 15:47:17 +08:00
creatixchu
ca827aa2ad
fix(commands): refresh catalogs and use type-only export identity
2026-09-10 15:44:30 +08:00
creatixchu
07413c2cc2
Merge remote-tracking branch 'origin/master' into worktree/composer-plus-menu
2026-09-10 15:38:30 +08:00
creatixchu
996278e6ce
refactor: separate command identity and composer file action ownership
2026-09-10 15:38:13 +08:00
creatixchu
ba2a931a23
Merge remote-tracking branch 'origin/master' into worktree/composer-plus-menu
2026-09-10 15:18:02 +08:00
creatixchu
f657a3e87a
Merge remote-tracking branch 'origin/master' into worktree/image-token-v41
2026-09-10 14:42:07 +08:00
creatixchu
f24bc3c832
fix(llm-deepseek): correct image pricing documentation and edge-case evidence
2026-09-10 14:40:50 +08:00
creatixchu
a64dc3a690
fix(llm-deepseek): 图片 token 预估器改用官方计算器 v41 配置
...
DeepSeek 图像理解指南改为 544×544 放大下限、约 1300×1300 缩小目标、
单图 1024 token 上限;官方图片 Token 计算器以 v41 配置承载该规则。
重写 image-tokens.ts 为 v41 的逐句移植:取消对齐 pad、宽高比钳制和
奇偶校正网格布局,估算值从最坏情况上界变为精确值。测试向量按官方
计算器重新固定,request-pricing 期望值、README 与 Agent Note 同步更新。
2026-09-10 14:05:04 +08:00
creatixchu
6fe445ea08
Merge origin/master into worktree/composer-plus-menu
2026-09-10 13:53:45 +08:00
creatixchu
1faab27329
Merge origin/master into PR #3440
2026-09-10 13:48:38 +08:00
creatixchu
5b8c445eeb
fix(snapshots): preserve released inline image fixture
2026-09-09 19:46:13 +08:00
creatixchu
2025036158
Merge origin/master into PR #3440
2026-09-09 19:36:15 +08:00
creatixchu
0b3248e67d
test(web): stabilize delivered-file snapshots across CI hosts
2026-09-09 18:21:45 +08:00
creatixchu
b53fed39d7
Merge remote-tracking branch 'origin/master' into worktree/pr-3819-release-sync
2026-09-09 18:07:26 +08:00
creatixchu
b9587ada12
fix(web): open delivered files using the viewed session scope
2026-09-09 18:07:16 +08:00
creatixchu
2ab73152ae
Merge remote-tracking branch 'origin/master' into worktree/pr-3819-release-sync
2026-09-09 18:01:07 +08:00
creatixchu
7f69a3ec37
fix(web): complete shared file icon consumers and browser checks
2026-09-09 18:01:04 +08:00
creatixchu
43bf1d3f93
Merge remote-tracking branch 'origin/master' into worktree/pr-3819-release-sync
2026-09-09 17:56:14 +08:00
creatixchu
454caf0280
fix(web): reject empty sidebar splits and clarify page targeting
2026-09-09 17:56:11 +08:00
creatixchu
9961eedec8
fix(web): preserve office file icons and lazy sidebar replay
2026-09-09 17:48:47 +08:00
creatixchu
7c9b29563d
Merge branch 'worktree/pr-3872-release-sync' into worktree/pr-3819-release-sync
2026-09-09 17:34:20 +08:00
creatixchu
c6b3900d2a
Merge remote-tracking branch 'origin/master' into worktree/pr-3872-release-sync
2026-09-09 17:33:47 +08:00
creatixchu
1d55cab9e6
fix(web): use shared file type icons in delivery cards
2026-09-09 17:23:07 +08:00
creatixchu
644f6abd7c
Merge branch 'worktree/pr-3858-release-sync' into worktree/pr-3819-release-sync
...
# Conflicts:
# packages/client/ui-primitives/README.i18n.yaml
# packages/client/ui-primitives/README.md
# packages/client/ui-primitives/README.zh.md
2026-09-09 17:20:37 +08:00
creatixchu
a7b5c8a043
Merge remote-tracking branch 'origin/master' into worktree/pr-3858-release-sync
2026-09-09 17:20:01 +08:00
creatixchu
f5804826a8
Merge remote-tracking branch 'origin/master' into codex/pr-3819
2026-09-09 17:13:08 +08:00
creatixchu
dfda1d6aaf
fix(web): ship protocol runtime dependency for delivered file actions
2026-09-09 17:02:24 +08:00
creatixchu
99bffa7f9a
fix(web): update delivery card snapshot and remove unused button segments
2026-09-09 16:52:04 +08:00
creatixchu
b443c4d246
fix(present): resolve file services in live agent scope and refresh snapshots
2026-09-09 16:48:39 +08:00
creatixchu
7e4d9edc13
Merge remote-tracking branch 'origin/master' into codex/pr-3819
2026-09-09 16:45:05 +08:00
creatixchu
00bfdfbce6
fix(present): follow session filesystem access for deliverables
2026-09-09 16:44:51 +08:00
creatixchu
74bf7aaa2f
fix(web): preserve artifact actions across reconnects and keyboard use
2026-09-09 16:18:24 +08:00
creatixchu
a43fa81f82
test: respect startup and teardown budgets in Windows fixtures
2026-09-09 16:08:19 +08:00
creatixchu
a8faac2850
Merge origin/master feedback dialog changes into worktree/composer-plus-menu
2026-09-09 15:31:33 +08:00
creatixchu
5a878f7c3e
test(web): await restored theme before changing preference
2026-09-09 15:24:56 +08:00
creatixchu
883e7f80fc
Merge origin/master into worktree/composer-plus-menu
2026-09-09 15:02:42 +08:00
creatixchu
0b5fca5c68
Merge remote-tracking branch 'origin/master' into worktree/issue-3515-feedback-dialog
...
# Conflicts:
# apps/web/tests/message-feedback-layout.e2e.ts
2026-09-09 14:56:31 +08:00
creatixchu
eff482c46b
fix(web): stabilize composer command editing and scrolling
2026-09-09 14:27:51 +08:00
creatixchu
6c4a2fb294
Merge remote-tracking branch 'origin/master' into worktree/issue-3515-feedback-dialog
...
# Conflicts:
# packages/client/ui-model-selection/tests/browser-plugin.client.spec.ts
2026-09-09 14:27:15 +08:00
creatixchu
224f75dc63
test(web): strengthen composer placeholder regression evidence
2026-09-09 14:15:25 +08:00
creatixchu
a6ee97ebe1
Merge remote-tracking branch 'origin/master' into fix/3838-composer-placeholder
2026-09-09 14:04:23 +08:00
creatixchu
0f1164cdee
fix(web): hide composer placeholder for whitespace drafts
2026-09-09 13:56:54 +08:00
creatixchu
a4954e1bd2
test(web): follow the renamed launcher and capitalized rows in CI gates
...
Registers slash/input-pick-files with the cordis catalog walk exemptions
beside its sibling slash-input events, and points the web e2e at the
'Add files or run commands' launcher and the capitalized row titles the
paperclip removal and the menu presentation introduced.
2026-09-09 12:58:11 +08:00
creatixchu
ba066ab5f8
Merge remote-tracking branch 'origin/master' into worktree/composer-plus-menu
2026-09-09 12:53:09 +08:00
creatixchu
00c2c47e19
fix(web): key the claim hint on the command name, not the claim token
...
A localized claim token (/目标 ) made the composer look up hint.目标, miss the
dictionary, and fall back to the Host's usage string. CommandClaim now carries
the catalog name beside the display token, the state projection keeps it, and
the hint lookup reads it.
2026-09-09 12:52:41 +08:00
creatixchu
0199633269
Merge remote-tracking branch 'origin/master' into worktree/issue-3515-feedback-dialog
2026-09-09 12:45:32 +08:00
creatixchu
700e8df91a
test(feedback): cover the seed-failure and unmount paths of the Dislike control
2026-09-09 12:45:31 +08:00
creatixchu
4b88085c2a
style(feedback): refine dialog proportions
2026-09-09 11:41:24 +08:00
creatixchu
6207453d36
Merge remote-tracking branch 'origin/master' into worktree/issue-3515-feedback-dialog
2026-09-09 10:44:25 +08:00
creatixchu
d692289533
style(feedback): compact the dialog to a 540px card with lighter chips and a grown detail box
2026-09-09 10:42:06 +08:00
creatixchu
1094431de9
docs(feedback): document the FeedbackSurface fields for the export-jsdoc gate
2026-09-09 10:33:09 +08:00
creatixchu
a25e5fd8a9
test(sdk): refresh the feedback expectations on the V3 base and restore the frozen v2 generation
2026-09-09 10:27:15 +08:00