dsh-better-display 0.3.0 → 0.3.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (45) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/README.en.md +3 -3
  3. package/README.md +3 -3
  4. package/compat/harness-rc2.json +56 -18
  5. package/docs/official-rendering-bridge.md +1 -1
  6. package/lib/client.js +4702 -4605
  7. package/lib/client.js.map +1 -1
  8. package/lib/dsh-better-display.js +4 -2
  9. package/lib/types/client/OfficialContent.d.ts.map +1 -1
  10. package/lib/types/client/OfficialContent.js +16 -5
  11. package/lib/types/client/OfficialContent.js.map +1 -1
  12. package/lib/types/client/Reader.d.ts.map +1 -1
  13. package/lib/types/client/Reader.js +6 -7
  14. package/lib/types/client/Reader.js.map +1 -1
  15. package/lib/types/client/ToolActivity.js +3 -3
  16. package/lib/types/client/ToolActivity.js.map +1 -1
  17. package/lib/types/client/native/ContextInjectionRow.d.ts +2 -2
  18. package/lib/types/client/native/ContextInjectionRow.d.ts.map +1 -1
  19. package/lib/types/client/native/ContextInjectionRow.js +2 -2
  20. package/lib/types/client/native/ContextInjectionRow.js.map +1 -1
  21. package/lib/types/client/native/ReferenceIcon.js +3 -3
  22. package/lib/types/client/native/ReferenceIcon.js.map +1 -1
  23. package/lib/types/client/native/tool-call-model.js +1 -1
  24. package/lib/types/client/native/tool-call-model.js.map +1 -1
  25. package/lib/types/client/official-slots.js +1 -1
  26. package/lib/types/client/official-slots.js.map +1 -1
  27. package/lib/types/client/primitive-labels.d.ts.map +1 -1
  28. package/lib/types/client/primitive-labels.js +3 -2
  29. package/lib/types/client/primitive-labels.js.map +1 -1
  30. package/lib/types/client/tool-activity.js +2 -2
  31. package/lib/types/client/tool-activity.js.map +1 -1
  32. package/package.json +16 -16
  33. package/scripts/verify-official-bridge.mjs +6 -4
  34. package/src/client/OfficialContent.tsx +19 -7
  35. package/src/client/Reader.module.css +12 -0
  36. package/src/client/Reader.tsx +8 -9
  37. package/src/client/ToolActivity.tsx +3 -3
  38. package/src/client/native/ContextInjectionRow.tsx +4 -4
  39. package/src/client/native/ReferenceIcon.tsx +3 -3
  40. package/src/client/native/tool-call-model.ts +1 -1
  41. package/src/client/official-slots.tsx +1 -1
  42. package/src/client/primitive-labels.ts +3 -2
  43. package/src/client/tool-activity.ts +2 -2
  44. package/tests/browser-auto-fold.tsx +1 -1
  45. package/tests/browser-official-bridge.tsx +17 -9
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.2 — 2026-09-24
4
+
5
+ - 补齐 0.1.7-rc.1 官方桥接的运行时契约:工具视图传入 `phase`/`useDisclosure`/`hookContext{callId}`,聊天节点改用 `{turnData, disclosureReset}` 快照 store;修复真实宿主里官方工具视图静默落到 fallback 的问题。
6
+ - 折叠区吸顶车道的绘制缝隙:车道只给自己的框刷实心底色,`.turn` 14px gap、前一 cell 16px padding、status 车道右侧 `--reader-control-width` 保留区三条缝滚动时透出内容;改用同色 `box-shadow` 向上/向右补漆连成连续色带。
7
+
8
+ ## 0.3.1 — 2026-09-24
9
+
10
+ - Accept Harness `0.1.7-rc.1`. Peer range is `>=0.1.7-rc.1 <0.1.8`.
11
+ - `conversation.chat.turnTail` is a list slot. The old chain expectation threw during client boot and left the page on “Failed to load plugins”.
12
+ - Icon imports use the rc.1 weight names (`IconBrowseOutlineRegular` and the rest). Size stays a prop.
13
+ - Pending confirmation now reads `useSessionStatus` (`pendingInteraction`). The removed `useSessionPendingInteraction` hook threw as soon as the reader painted.
14
+ - Code and terminal labels include the rc.1 toolbar fields (`codeLabel`, wrap, and `noExitCode`).
15
+
3
16
  ## 0.3.0 — 2026-09-21
4
17
 
5
18
  - 修复关闭自动折叠、查看过程详情后,再开启仍无法折叠的问题;重新开启会恢复自动折叠规则,仍保留文本选择保护和之后的手动展开。
package/README.en.md CHANGED
@@ -5,7 +5,7 @@
5
5
  Prefer npm (version-pinable):
6
6
 
7
7
  ```sh
8
- dsh plugin --profile web add dsh-better-display@0.3.0
8
+ dsh plugin --profile web add dsh-better-display@0.3.1
9
9
  ```
10
10
 
11
11
  Or latest:
@@ -28,7 +28,7 @@ Adds a **阅读** tab to DeepSeek Harness. While a turn runs you see steps, thin
28
28
 
29
29
  A ````mcp-app` fence in the final answer mounts as an interactive card in the reading view, inside `<iframe sandbox="allow-scripts allow-forms">` without `allow-same-origin`. The card can fill the next prompt via JSON-RPC. The skill pack is [`skills/generative-mcpapps/`](skills/generative-mcpapps/). Settings → **Better Display** can preview deliverables in the right Sidebar (system app remains the default), turn on translucent frosted glass (off by default), toggle process auto-folding (On is the default), and reports whether that skill is installed in a harness skill root.
30
30
 
31
- Targets DeepSeek Harness **0.1.5-rc.2**. Display only. It does not change Agent execution, the SDK, or credentials. Node.js `^22.19.0 || >=24`. New sessions default to reading.
31
+ Targets DeepSeek Harness **0.1.7-rc.1**. Display only. It does not change Agent execution, the SDK, or credentials. Node.js `^22.19.0 || >=24`. New sessions default to reading.
32
32
 
33
33
  **0.3.0** keeps the existing reading layout, folding, and motion while using official feedback, tool details, file cards, and file links. It also fixes process content staying expanded after auto-folding is re-enabled. See the [official integration notes](docs/official-rendering-bridge.md) for coverage and upgrade checks.
34
34
 
@@ -36,7 +36,7 @@ From a local checkout or tarball:
36
36
 
37
37
  ```sh
38
38
  dsh plugin --profile web add ./dsh-better-display
39
- dsh plugin --profile web add ./dsh-better-display-0.3.0.tgz
39
+ dsh plugin --profile web add ./dsh-better-display-0.3.1.tgz
40
40
  ```
41
41
 
42
42
  `dsh.bundle` is captured at Host boot. Do not also insert the same row by hand in the profile `cordis.patch.yml`, or it will mount twice.
package/README.md CHANGED
@@ -5,7 +5,7 @@
5
5
  推荐用 npm(可钉版本):
6
6
 
7
7
  ```sh
8
- dsh plugin --profile web add dsh-better-display@0.3.0
8
+ dsh plugin --profile web add dsh-better-display@0.3.1
9
9
  ```
10
10
 
11
11
  也可以装 latest:
@@ -28,7 +28,7 @@ PATH 上要有官方 `dsh`(没有就用 `npx @deepseek-ai/dsh`)和 **pnpm**
28
28
 
29
29
  最终回答里的 ````mcp-app` 代码块会在阅读视图里挂成交互卡片,跑在 `<iframe sandbox="allow-scripts allow-forms">` 里,没有 `allow-same-origin`。卡片可以通过 JSON-RPC 把下一轮 prompt 填进输入框。技能包在 [`skills/generative-mcpapps/`](skills/generative-mcpapps/)。设置里的 **Better Display** 可把产物改为右侧栏预览(默认仍用系统应用),打开半透明毛玻璃(默认关),设置过程自动折叠开关(默认开),并检测该技能是否已装进宿主技能目录。
30
30
 
31
- 面向 DeepSeek Harness **0.1.5-rc.2**。只改展示,不改 Agent 执行、SDK 或模型凭据。Node.js `^22.19.0 || >=24`。新会话默认进阅读。
31
+ 面向 DeepSeek Harness **0.1.7-rc.1**。只改展示,不改 Agent 执行、SDK 或模型凭据。Node.js `^22.19.0 || >=24`。新会话默认进阅读。
32
32
 
33
33
  **0.3.0** 保留现有阅读布局、折叠和动效,接入官方反馈、工具详情、文件卡片及文件链接;并修复重新开启自动折叠后仍保持展开的问题。接入范围和升级检查见 [官方能力接入说明](docs/official-rendering-bridge.md)。
34
34
 
@@ -36,7 +36,7 @@ PATH 上要有官方 `dsh`(没有就用 `npx @deepseek-ai/dsh`)和 **pnpm**
36
36
 
37
37
  ```sh
38
38
  dsh plugin --profile web add ./dsh-better-display
39
- dsh plugin --profile web add ./dsh-better-display-0.3.0.tgz
39
+ dsh plugin --profile web add ./dsh-better-display-0.3.1.tgz
40
40
  ```
41
41
 
42
42
  `dsh.bundle` 是开机捕获的。不要再往 profile 的 `cordis.patch.yml` 手写同一条 insert,会重复挂载。
@@ -1,22 +1,22 @@
1
1
  {
2
- "harnessVersion": "0.1.5-rc.2",
2
+ "harnessVersion": "0.1.7-rc.1",
3
3
  "hashes": {
4
- "packages/client/ui-slots/src/index.ts": "07b7aec2248b6ee6b56626f7aaba5dbc97cf765f1967dc7e60d6cef07ba7c81e",
5
- "packages/client/ui-slots/src/renderer.ts": "66201b2ded3ab3ea133881de76737b3a0253f94f59b84594462109f052c63b19",
6
- "packages/client/ui-renderer/src/client/registry.ts": "46442dfe72c837296f9f827c681dfba55ebfe3549a3895975e945511a1fe9c25",
7
- "packages/client/ui-renderer/src/client/scoped-slots.tsx": "bcdd61674a52fae843ef21b258a8a8568a49e310217cda187c73159e925fa8a0",
8
- "packages/client/ui-chat/src/client/contract/slots.ts": "66deb5545891ab05cb8b7a3b43139d96a9b90271e64b7d32fadc229337ede589",
9
- "packages/client/ui-tool/src/client/contract/slots.ts": "9d0bba9e047864e4c31842e8a0010de383075e12c74e7c962fc6cffdc54221bf",
10
- "packages/client/ui-deliverables/src/client/Deliverables.tsx": "d599330309bd4973bdb14d4be953b5bf3113c5e4bde3ac854738fe1fce7e4991",
11
- "packages/client/ui-chat/src/client/chat/AssistantMarkdown.tsx": "ad25664afa92be5436ce354b3bef37201187a1034898567cb120ca3bd34d51df",
12
- "packages/client/ui-chat/src/client/chat/MessageItem.tsx": "75e0bea127342d2f4185b6d0f89d74d0c8bdd01858be85b4cc859f7596b073d6",
13
- "packages/client/ui-chat/src/client/chat/AssistantNodeView.tsx": "315e5112b78a3da86417f55778cf26a204acd0eee984a762dcc87bd900f2e718",
14
- "packages/client/ui-chat/src/client/chat/TurnTailNodeView.tsx": "6a0167ec521e64e58c3c5588078dd3a4e7ebe55309e276b04271b303f82ba96b",
15
- "packages/client/ui-chat/src/client/chat/TurnProcessNodeView.tsx": "d397f1e92f76585fa49b924b3d43d829ad503a4ffa821660234d4b51e5cc743f",
16
- "packages/client/ui-tool/src/client/tool/models/tool-call-model.ts": "dd5033d26a6ed147b70e310506d311d55ccac6a54d08a7e24834d232226a06a3",
17
- "packages/client/ui-primitives/src/markdown/MarkdownText.tsx": "d8c6aa23232aa4a76339c49c02df5888f5530a7a1bbb417ef14a42a1e41d5d94",
18
- "packages/client/ui-primitives/src/markdown/render.tsx": "3576c16a37846a55f215562d15df9394cf5761fc46eae8f89fdcea8420f09d3d",
19
- "packages/client/ui-primitives/src/markdown/parse.ts": "6be57559995c4e717d6d704207eb2fec86db9714c2a4bcc5b0c3f6648c8990f0",
4
+ "packages/client/ui-slots/src/index.ts": "27a453937cdcc28923c37ad90cd01489e458e205dc03032629183087b5b585d0",
5
+ "packages/client/ui-slots/src/renderer.ts": "ee834aafc19367922c139d41f677233fbdfcc042b4deff9f616aa43220ee09ee",
6
+ "packages/client/ui-renderer/src/client/registry.ts": "6b8b6b969d8bcf0314ea20438a223f3a90e1bd516571faecae5c3c01008ecf21",
7
+ "packages/client/ui-renderer/src/client/scoped-slots.tsx": "082ebd62a6d287704d116fa1b233f12ab62a91bc6ccccf99d8137b1f33b8d02b",
8
+ "packages/client/ui-chat/src/client/contract/slots.ts": "4bfe6f2b3d33d0ba4dc82f7ed93255ad4a2df16c6540937a07a658bd66d4d664",
9
+ "packages/client/ui-tool/src/client/contract/slots.ts": "4ae6334ebb0c6a267c13e8b6b504a614d302e77b4080a63408b97f4d25b22a3f",
10
+ "packages/client/ui-deliverables/src/client/Deliverables.tsx": "b8d0a19dc208af7f8f44459adba9afe648cd3c398d75917ccfaf2f8c730cfe74",
11
+ "packages/client/ui-chat/src/client/chat/AssistantMarkdown.tsx": "d0a60ef4c8620e7916579f1e7f959fa2c81e8dcdbc1dea1d7ea16b5b667adb62",
12
+ "packages/client/ui-chat/src/client/chat/MessageItem.tsx": "181844e9c1809607458dfdfbbffa50cbc16357d0696ae78a8ee13f86b5fd6354",
13
+ "packages/client/ui-chat/src/client/chat/AssistantNodeView.tsx": "239c8fe1305ede17d3786bfdd61e7e52f3cab30ae548befe172867c52deef388",
14
+ "packages/client/ui-chat/src/client/chat/TurnTailNodeView.tsx": "4b493845e7d28b93a2db2198e70deffcf4b290c31218923fc7c945af737b56d1",
15
+ "packages/client/ui-chat/src/client/chat/TurnProcessNodeView.tsx": "731a879e517c9ff28c7d833863e774745666cffe3a2fd2f9aa3fff1adcbc4a17",
16
+ "packages/client/ui-tool/src/client/tool/models/tool-call-model.ts": "d3373fbb23ae4fb158ed009d0c0d7aaa5a22609946adb52e48a30cb02323c16f",
17
+ "packages/client/ui-primitives/src/markdown/MarkdownText.tsx": "ff500ab71ac6a55df416f84cc1f5900327b9908c5180c4e2b3888377bd417a97",
18
+ "packages/client/ui-primitives/src/markdown/render.tsx": "6bcd477f6830587e5258aed48df81b0c7c0c0e661ea74ba8828fc4be653875de",
19
+ "packages/client/ui-primitives/src/markdown/parse.ts": "e281b4120306987cce9cf6d8bccfeddec2fe0c7b7b1cc190966f6dcbfd320b1b",
20
20
  "packages/client/ui-primitives/src/markdown/incremental.ts": "eaa266bb77dfb646738d0fdd79be4f1c4bc5490f7bf3f4127f9ffb72ef741ff8",
21
21
  "packages/client/ui-primitives/src/markdown/katex.tsx": "8227e04d29333d2568021ed012143237b457852bce25d82cf394d72b941e74a5"
22
22
  },
@@ -36,24 +36,62 @@
36
36
  "conversation.chat.node | turn-max-tokens | packages/client/ui-chat/src/client/chat/register-node-renderers.ts",
37
37
  "conversation.chat.node | turn-process | packages/client/ui-chat/src/client/chat/register-node-renderers.ts",
38
38
  "conversation.chat.node | turn-tail | packages/client/ui-chat/src/client/chat/register-node-renderers.ts",
39
+ "conversation.chat.node | turn-trigger | packages/client/ui-chat/src/client/chat/register-node-renderers.ts",
39
40
  "conversation.chat.node | unknown | packages/client/ui-chat/src/client/chat/register-node-renderers.ts",
40
41
  "conversation.chat.node | user | packages/client/ui-chat/src/client/chat/register-node-renderers.ts",
41
42
  "conversation.chat.node | workflow-run | packages/client/ui-workflow-run/src/client/index.ts",
42
- "conversation.chat.turnTail | (chain/single) | packages/client/ui-deliverables/src/client/index.ts",
43
+ "conversation.chat.turnTail | (chain/single) | packages/client/ui-plan/src/client/index.ts",
44
+ "conversation.chat.turnTail | @deepseek-ai/dsh-client-ui-deliverables | packages/client/ui-deliverables/src/client/index.ts",
43
45
  "conversation.message.images | (chain/single) | packages/client/ui-attachment/src/client/index.ts",
44
46
  "tool.call.images | (chain/single) | packages/client/ui-attachment/src/client/index.ts",
45
47
  "tool.call.toolview | ask_user_question | packages/client/ui-tool/src/client/tool/toolviews/ask-question-row.tsx",
46
48
  "tool.call.toolview | bash | packages/client/ui-tool/src/client/tool/toolviews/bash-sample.tsx",
49
+ "tool.call.toolview | cordis_inspect_list | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
50
+ "tool.call.toolview | cordis_inspect_query | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
51
+ "tool.call.toolview | cordis_inspect_self | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
52
+ "tool.call.toolview | create_goal | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
47
53
  "tool.call.toolview | edit | packages/client/ui-tool/src/client/tool/toolviews/file-mutation-row.tsx",
54
+ "tool.call.toolview | get_goal | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
48
55
  "tool.call.toolview | glob | packages/client/ui-tool/src/client/tool/toolviews/search-row.tsx",
49
56
  "tool.call.toolview | grep | packages/client/ui-tool/src/client/tool/toolviews/search-row.tsx",
57
+ "tool.call.toolview | interrupt_agent | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
58
+ "tool.call.toolview | job_kill | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
59
+ "tool.call.toolview | job_list | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
60
+ "tool.call.toolview | job_output | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
61
+ "tool.call.toolview | list_agents | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
62
+ "tool.call.toolview | list_subagent_models | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
63
+ "tool.call.toolview | lsp | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
50
64
  "tool.call.toolview | present | packages/client/ui-deliverables/src/client/index.ts",
65
+ "tool.call.toolview | ralph | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
51
66
  "tool.call.toolview | read | packages/client/ui-tool/src/client/tool/toolviews/read-row.tsx",
52
67
  "tool.call.toolview | read_image | packages/client/ui-tool/src/client/tool/toolviews/read-image-row.tsx",
68
+ "tool.call.toolview | schedule_create | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
69
+ "tool.call.toolview | schedule_delete | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
70
+ "tool.call.toolview | schedule_list | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
71
+ "tool.call.toolview | send_message | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
72
+ "tool.call.toolview | session_event_read | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
73
+ "tool.call.toolview | session_event_search | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
74
+ "tool.call.toolview | session_event_trace | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
75
+ "tool.call.toolview | session_search | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
76
+ "tool.call.toolview | session_trace | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
53
77
  "tool.call.toolview | skill | packages/client/ui-skill/src/client/index.ts",
78
+ "tool.call.toolview | spawn_teammate | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
79
+ "tool.call.toolview | subagent | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
80
+ "tool.call.toolview | team_task_create | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
81
+ "tool.call.toolview | team_task_get | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
82
+ "tool.call.toolview | team_task_list | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
83
+ "tool.call.toolview | team_task_update | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
84
+ "tool.call.toolview | terminal_close | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
85
+ "tool.call.toolview | terminal_list | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
86
+ "tool.call.toolview | terminal_open | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
87
+ "tool.call.toolview | terminal_read | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
88
+ "tool.call.toolview | terminal_signal | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
54
89
  "tool.call.toolview | todo_write | packages/client/ui-tool/src/client/tool/toolviews/todo-row.tsx",
90
+ "tool.call.toolview | update_goal | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
91
+ "tool.call.toolview | wait_agent | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
55
92
  "tool.call.toolview | web_fetch | packages/client/ui-tool/src/client/tool/toolviews/web-row.tsx",
56
93
  "tool.call.toolview | web_search | packages/client/ui-tool/src/client/tool/toolviews/web-row.tsx",
94
+ "tool.call.toolview | workflow | packages/client/ui-tool/src/client/tool/toolviews/details-row.tsx",
57
95
  "tool.call.toolview | write | packages/client/ui-tool/src/client/tool/toolviews/file-mutation-row.tsx"
58
96
  ]
59
97
  }
@@ -1,6 +1,6 @@
1
1
  # 官方能力接入说明
2
2
 
3
- `0.3.0` 在 `v0.2.1` 的阅读布局上接入官方内容和控件,经过试用验收后发布。当前验收目标是 Harness `0.1.5-rc.2`。后续仍需维护的自有展示逻辑和升级边界见下文。
3
+ `0.3.0` 在 `v0.2.1` 的阅读布局上接入官方内容和控件,经过试用验收后发布。当前验收目标是 Harness `0.1.7-rc.1`。`conversation.chat.turnTail` 在这一版是 `list`,不再是 `chain`。后续仍需维护的自有展示逻辑和升级边界见下文。
4
4
 
5
5
  ## 一个具体例子
6
6