@deepseek-ai/dsh-client-ui-tool 0.0.1-rc.2 → 0.0.1-rc.3
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.
- package/README.i18n.yaml +2 -2
- package/README.md +1 -1
- package/README.zh.md +14 -14
- package/lib/client.js +66 -50
- package/lib/types/client/contract/slots.d.ts +14 -1
- package/lib/types/client/tool/toolviews/search-row.d.ts +1 -1
- package/package.json +20 -18
package/README.i18n.yaml
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
# side as of the last confirmed-consistent state. Both languages carry equal authority;
|
|
3
3
|
# after editing either side, bring the other along and re-record with:
|
|
4
4
|
# pnpm run verify-translation-pairing --write packages/client/ui-tool/README.md
|
|
5
|
-
README.md:
|
|
6
|
-
README.zh.md:
|
|
5
|
+
README.md: 6e2bef2f5ad4b136510c3acbb8f8b8e83c4c9212
|
|
6
|
+
README.zh.md: 169417747541db9e02cb552b175ca7c100420aeb
|
package/README.md
CHANGED
|
@@ -30,7 +30,7 @@ ctx.slots.inject('tool.call.toolview', () =>
|
|
|
30
30
|
|
|
31
31
|
The owner payload is `ToolCallOwnerProps`: `callId`, `toolName`, the frozen `block`, optional `cwd`, and plain `openFile`/`inspect` callbacks. The registration receives the normal session slot runtime share. It does not receive React nodes, Runtime services, or root/subcall knowledge.
|
|
32
32
|
|
|
33
|
-
This package currently owns the generic fallback and the built-in
|
|
33
|
+
This package currently owns the generic fallback and the built-in shell/pwsh, read, write/edit, grep/glob, web, todo, question, and Code Dispatch presentations. `ui-skill` demonstrates a business-owned registration for `skill`.
|
|
34
34
|
|
|
35
35
|
Card-specific limits and fallback rules remain in the owning [terminal](../../../.agents/notes/implemented/feature/2026-07-28-web-terminal-card.md), [diff](../../../.agents/notes/implemented/feature/2026-07-30-web-diff-card.md), [read](../../../.agents/notes/implemented/feature/2026-07-30-web-read-card-frontend.md), [search](../../../.agents/notes/implemented/feature/2026-07-30-web-search-card.md), and [web](../../../.agents/notes/implemented/feature/2026-07-30-web-result-card-frontend.md) notes.
|
|
36
36
|
|
package/README.zh.md
CHANGED
|
@@ -2,23 +2,23 @@
|
|
|
2
2
|
|
|
3
3
|
[English](README.md) | 中文
|
|
4
4
|
|
|
5
|
-
Client
|
|
5
|
+
Client 工具展示插件。`ui-conversation` 通过 `conversation.chat.node` 的匹配 key 分发每个已排序的 `tool-call` Conversation Node;本包渲染其中的 root 及其 Code Dispatch 子调用,并把每个原子调用通过 keyed slot `tool.call.toolview` 分发。没有注册的工具名称使用通用卡片。
|
|
6
6
|
|
|
7
|
-
业务 UI 包只注册 wire
|
|
7
|
+
业务 UI 包只注册 wire 工具名称和原子视图,不配对会话事件、不重建 transcript(文本记录),也不拥有 root/subcall 拓扑。运行时仍对 call/result 配对、生命周期和递归 `subCalls` 投影拥有最终决定权;conversation view 仍对 ChatFlow 位置拥有最终决定权。
|
|
8
8
|
|
|
9
9
|
## 渲染约定
|
|
10
10
|
|
|
11
|
-
`ToolCallTree` 接收一个已经包含递归 `subCalls` 的 root `ToolCallBlock`、selection 状态、会话 `cwd`,以及用于打开文件和检查调用的 Host
|
|
11
|
+
`ToolCallTree` 接收一个已经包含递归 `subCalls` 的 root `ToolCallBlock`、selection 状态、会话 `cwd`,以及用于打开文件和检查调用的 Host 回调。它递归遍历标准调用块,让 root 与任意深度的 child 经过同一条原子分发路径,不订阅独立的 parent-to-children map。
|
|
12
12
|
|
|
13
|
-
每个 root 和 child
|
|
13
|
+
每个 root 和 child 包装层都保留 `data-chat-anchor-key="call:<id>"` 与 `data-chat-call-id` DOM 约定,供分页和 selection 使用。
|
|
14
14
|
|
|
15
|
-
本包还通过 `ToolDetails` 填充 `conversation.details.tool`。行 renderer 与详情 renderer
|
|
15
|
+
本包还通过 `ToolDetails` 填充 `conversation.details.tool`。行 renderer 与详情 renderer 共用同一组面向 `terminal`、`read`、`diff`、`search` 和 `web` render intent 的纯 card model。未知的 intent 标签和格式错误的 wire card 数据都会回退为压平的工具结果文本。
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
通用行把已知工具名称归类为 search、read、shell、write、edit、code 或 generic 变体。运行中、成功、失败和中断状态只来自冻结的 call/result slice。只有用户调用 Host 打开文件回调时,文件路径才相对会话 `cwd` 解析;展示代码不读取会话服务。
|
|
18
18
|
|
|
19
|
-
##
|
|
19
|
+
## 原子工具视图
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
拥有该视图的业务包将其 wire 工具名称注册进 `tool.call.toolview`:
|
|
22
22
|
|
|
23
23
|
```ts ignore-check
|
|
24
24
|
ctx.slots.inject('tool.call.toolview', () =>
|
|
@@ -28,15 +28,15 @@ ctx.slots.inject('tool.call.toolview', () =>
|
|
|
28
28
|
}, BusinessToolRow))
|
|
29
29
|
```
|
|
30
30
|
|
|
31
|
-
owner 载荷为 `ToolCallOwnerProps`:`callId`、`toolName`、冻结的 `block`、可选 `cwd`,以及普通的 `openFile
|
|
31
|
+
owner 载荷为 `ToolCallOwnerProps`:`callId`、`toolName`、冻结的 `block`、可选 `cwd`,以及普通的 `openFile`、`inspect` 回调。注册项会收到常规的会话 slot 运行时共享数据,但不会收到 React node、运行时服务或 root/subcall 知识。
|
|
32
32
|
|
|
33
|
-
本包当前拥有 generic fallback,以及
|
|
33
|
+
本包当前拥有 generic fallback,以及 shell/pwsh、read、write/edit、grep/glob、web、todo、question 和 Code Dispatch 的内置展示。`ui-skill` 展示了业务包自行拥有的 `skill` 注册项。
|
|
34
34
|
|
|
35
|
-
各类卡片的上限与 fallback 规则仍由对应的 [terminal](../../../.agents/notes/implemented/feature/2026-07-28-web-terminal-card.md)、[diff](../../../.agents/notes/implemented/feature/2026-07-30-web-diff-card.md)、[read](../../../.agents/notes/implemented/feature/2026-07-30-web-read-card-frontend.md)、[search](../../../.agents/notes/implemented/feature/2026-07-30-web-search-card.md) 和 [web](../../../.agents/notes/implemented/feature/2026-07-30-web-result-card-frontend.md) Note 负责。
|
|
35
|
+
各类卡片的上限与 fallback 规则仍由对应的 [terminal](../../../.agents/notes/implemented/feature/2026-07-28-web-terminal-card.md)、[diff](../../../.agents/notes/implemented/feature/2026-07-30-web-diff-card.md)、[read](../../../.agents/notes/implemented/feature/2026-07-30-web-read-card-frontend.md)、[search](../../../.agents/notes/implemented/feature/2026-07-30-web-search-card.md) 和 [web](../../../.agents/notes/implemented/feature/2026-07-30-web-result-card-frontend.md) Agent Note 负责。
|
|
36
36
|
|
|
37
37
|
## 模型体验
|
|
38
38
|
|
|
39
|
-
|
|
39
|
+
无,因为本包只渲染已经记录的工具调用和结果,不改变模型请求、工具执行或会话事件。
|
|
40
40
|
|
|
41
41
|
#### KV Cache 影响
|
|
42
42
|
|
|
@@ -45,5 +45,5 @@ owner 载荷为 `ToolCallOwnerProps`:`callId`、`toolName`、冻结的 `block`
|
|
|
45
45
|
## 已知限制与后续工作
|
|
46
46
|
|
|
47
47
|
- Host 不把 `run_code` 暴露为 Code Mode 程序 binding,因此生产事件只产生一层分发;递归的运行时/UI 约定支持嵌套。
|
|
48
|
-
-
|
|
49
|
-
-
|
|
48
|
+
- 第一方工具视图集中在本包,可以通过 keyed slot 独立迁移到各自所属的业务包。
|
|
49
|
+
- 工具文案复用 `ui-conversation` locale namespace。
|
package/lib/client.js
CHANGED
|
@@ -19,7 +19,15 @@ window.__ModuleLoader__.load({
|
|
|
19
19
|
code: "Code",
|
|
20
20
|
others: "Tool call"
|
|
21
21
|
};
|
|
22
|
-
/**
|
|
22
|
+
/**
|
|
23
|
+
* Known tool name -> variant.
|
|
24
|
+
*
|
|
25
|
+
* `cordis_define` is deliberately absent: ui-cordis registers a keyed
|
|
26
|
+
* `tool.call.toolview` entry for it, and a keyed hit REPLACES the generic row
|
|
27
|
+
* (this table is only reached through GenericToolCard, the dispatch fallback in
|
|
28
|
+
* ToolCallTree). An entry here would be unreachable, and a second title for the
|
|
29
|
+
* same call would be a second answer to a question the card already owns.
|
|
30
|
+
*/
|
|
23
31
|
const TOOL_VARIANTS = {
|
|
24
32
|
bash: "bash",
|
|
25
33
|
pwsh: "bash",
|
|
@@ -31,15 +39,19 @@ window.__ModuleLoader__.load({
|
|
|
31
39
|
write: "write",
|
|
32
40
|
edit: "edit",
|
|
33
41
|
run_code: "code",
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
42
|
+
cordis_package_inspect: "read",
|
|
43
|
+
cordis_runtime_inspect: "read",
|
|
44
|
+
cordis_run: "others",
|
|
45
|
+
cordis_stop: "others",
|
|
46
|
+
cordis_undefine: "others"
|
|
37
47
|
};
|
|
38
48
|
/** Tool-owned titles that refine a generic row variant without replacing it. */
|
|
39
49
|
const TOOL_TITLES = {
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
50
|
+
cordis_package_inspect: "Inspect",
|
|
51
|
+
cordis_runtime_inspect: "Inspect",
|
|
52
|
+
cordis_run: "Run Cordis Plugin",
|
|
53
|
+
cordis_stop: "Stop Cordis Plugin",
|
|
54
|
+
cordis_undefine: "Remove Cordis Plugin",
|
|
43
55
|
pwsh: "Pwsh"
|
|
44
56
|
};
|
|
45
57
|
/**
|
|
@@ -593,33 +605,33 @@ window.__ModuleLoader__.load({
|
|
|
593
605
|
document.head.appendChild(tag);
|
|
594
606
|
}
|
|
595
607
|
var ToolRow_module_css_default = {
|
|
596
|
-
"ioCard": "o3BgMG_ioCard",
|
|
597
|
-
"ioSection": "o3BgMG_ioSection",
|
|
598
|
-
"terminalBody": "o3BgMG_terminalBody",
|
|
599
|
-
"searchBody": "o3BgMG_searchBody",
|
|
600
|
-
"webBody": "o3BgMG_webBody",
|
|
601
608
|
"ioDivider": "o3BgMG_ioDivider",
|
|
602
|
-
"
|
|
609
|
+
"webBody": "o3BgMG_webBody",
|
|
603
610
|
"searchRecovery": "o3BgMG_searchRecovery",
|
|
611
|
+
"codeBody": "o3BgMG_codeBody",
|
|
604
612
|
"visuallyHidden": "o3BgMG_visuallyHidden",
|
|
605
|
-
"
|
|
606
|
-
"
|
|
613
|
+
"ioCard": "o3BgMG_ioCard",
|
|
614
|
+
"title": "o3BgMG_title",
|
|
615
|
+
"ioSection": "o3BgMG_ioSection",
|
|
607
616
|
"ioLabel": "o3BgMG_ioLabel",
|
|
608
|
-
"ioText": "o3BgMG_ioText",
|
|
609
|
-
"bodyScroll": "o3BgMG_bodyScroll",
|
|
610
617
|
"inspectButton": "o3BgMG_inspectButton",
|
|
611
|
-
"summary": "o3BgMG_summary",
|
|
612
|
-
"row": "o3BgMG_row",
|
|
613
618
|
"diffBody": "o3BgMG_diffBody",
|
|
619
|
+
"errorSummary": "o3BgMG_errorSummary",
|
|
620
|
+
"bodyScroll": "o3BgMG_bodyScroll",
|
|
621
|
+
"dsh-tool-row-sweep": "o3BgMG_dsh-tool-row-sweep",
|
|
622
|
+
"row": "o3BgMG_row",
|
|
623
|
+
"ioText": "o3BgMG_ioText",
|
|
614
624
|
"chevron": "o3BgMG_chevron",
|
|
615
|
-
"
|
|
625
|
+
"summary": "o3BgMG_summary",
|
|
626
|
+
"fileLink": "o3BgMG_fileLink",
|
|
627
|
+
"terminalBody": "o3BgMG_terminalBody",
|
|
616
628
|
"readBody": "o3BgMG_readBody",
|
|
629
|
+
"sep": "o3BgMG_sep",
|
|
630
|
+
"summarySuffix": "o3BgMG_summarySuffix",
|
|
631
|
+
"root": "o3BgMG_root",
|
|
617
632
|
"bodyWrap": "o3BgMG_bodyWrap",
|
|
618
|
-
"
|
|
619
|
-
"
|
|
620
|
-
"title": "o3BgMG_title",
|
|
621
|
-
"dsh-tool-row-sweep": "o3BgMG_dsh-tool-row-sweep",
|
|
622
|
-
"fileLink": "o3BgMG_fileLink"
|
|
633
|
+
"searchBody": "o3BgMG_searchBody",
|
|
634
|
+
"leading": "o3BgMG_leading"
|
|
623
635
|
};
|
|
624
636
|
//#endregion
|
|
625
637
|
//#region lib/types/client/tool/components/ToolRow.js
|
|
@@ -838,8 +850,8 @@ window.__ModuleLoader__.load({
|
|
|
838
850
|
document.head.appendChild(tag);
|
|
839
851
|
}
|
|
840
852
|
var ToolCallTree_module_css_default = {
|
|
841
|
-
"
|
|
842
|
-
"
|
|
853
|
+
"callRow": "ztWv_q_callRow",
|
|
854
|
+
"subCalls": "ztWv_q_subCalls"
|
|
843
855
|
};
|
|
844
856
|
//#endregion
|
|
845
857
|
//#region lib/types/client/tool/ToolCallTree.js
|
|
@@ -938,12 +950,12 @@ window.__ModuleLoader__.load({
|
|
|
938
950
|
}
|
|
939
951
|
var ToolDetails_module_css_default = {
|
|
940
952
|
"description": "xDAfVq_description",
|
|
953
|
+
"read": "xDAfVq_read",
|
|
954
|
+
"web": "xDAfVq_web",
|
|
955
|
+
"empty": "xDAfVq_empty",
|
|
941
956
|
"cardBody": "xDAfVq_cardBody",
|
|
942
957
|
"recovery": "xDAfVq_recovery",
|
|
943
|
-
"
|
|
944
|
-
"code": "xDAfVq_code",
|
|
945
|
-
"read": "xDAfVq_read",
|
|
946
|
-
"web": "xDAfVq_web"
|
|
958
|
+
"code": "xDAfVq_code"
|
|
947
959
|
};
|
|
948
960
|
//#endregion
|
|
949
961
|
//#region lib/types/client/tool/ToolDetails.js
|
|
@@ -1087,26 +1099,26 @@ window.__ModuleLoader__.load({
|
|
|
1087
1099
|
document.head.appendChild(tag);
|
|
1088
1100
|
}
|
|
1089
1101
|
var bash_sample_module_css_default = {
|
|
1090
|
-
"chevron": "CY-8Ka_chevron",
|
|
1091
|
-
"dsh-bash-row-sweep": "CY-8Ka_dsh-bash-row-sweep",
|
|
1092
|
-
"chevronHover": "CY-8Ka_chevronHover",
|
|
1093
|
-
"ioText": "CY-8Ka_ioText",
|
|
1094
|
-
"ioLabel": "CY-8Ka_ioLabel",
|
|
1095
1102
|
"root": "CY-8Ka_root",
|
|
1096
|
-
"
|
|
1103
|
+
"sep": "CY-8Ka_sep",
|
|
1097
1104
|
"bodyWrap": "CY-8Ka_bodyWrap",
|
|
1098
|
-
"
|
|
1099
|
-
"summary": "CY-8Ka_summary",
|
|
1100
|
-
"errorSummary": "CY-8Ka_errorSummary",
|
|
1101
|
-
"ioSection": "CY-8Ka_ioSection",
|
|
1105
|
+
"inspectButton": "CY-8Ka_inspectButton",
|
|
1102
1106
|
"ioDivider": "CY-8Ka_ioDivider",
|
|
1103
|
-
"
|
|
1104
|
-
"sep": "CY-8Ka_sep",
|
|
1105
|
-
"card": "CY-8Ka_card",
|
|
1106
|
-
"ioCard": "CY-8Ka_ioCard",
|
|
1107
|
+
"leading": "CY-8Ka_leading",
|
|
1107
1108
|
"title": "CY-8Ka_title",
|
|
1108
|
-
"
|
|
1109
|
-
"
|
|
1109
|
+
"ioText": "CY-8Ka_ioText",
|
|
1110
|
+
"ioCard": "CY-8Ka_ioCard",
|
|
1111
|
+
"card": "CY-8Ka_card",
|
|
1112
|
+
"summary": "CY-8Ka_summary",
|
|
1113
|
+
"terminal": "CY-8Ka_terminal",
|
|
1114
|
+
"iconIdle": "CY-8Ka_iconIdle",
|
|
1115
|
+
"ioSection": "CY-8Ka_ioSection",
|
|
1116
|
+
"dsh-bash-row-sweep": "CY-8Ka_dsh-bash-row-sweep",
|
|
1117
|
+
"ioLabel": "CY-8Ka_ioLabel",
|
|
1118
|
+
"chevron": "CY-8Ka_chevron",
|
|
1119
|
+
"errorSummary": "CY-8Ka_errorSummary",
|
|
1120
|
+
"visuallyHidden": "CY-8Ka_visuallyHidden",
|
|
1121
|
+
"chevronHover": "CY-8Ka_chevronHover"
|
|
1110
1122
|
};
|
|
1111
1123
|
//#endregion
|
|
1112
1124
|
//#region lib/types/client/tool/toolviews/bash-sample.js
|
|
@@ -1358,8 +1370,12 @@ window.__ModuleLoader__.load({
|
|
|
1358
1370
|
};
|
|
1359
1371
|
//#endregion
|
|
1360
1372
|
//#region lib/types/client/tool/toolviews/search-row.js
|
|
1373
|
+
const SEARCH_TITLES = {
|
|
1374
|
+
grep: "Grep",
|
|
1375
|
+
glob: "Glob"
|
|
1376
|
+
};
|
|
1361
1377
|
/**
|
|
1362
|
-
* Search row: icon +
|
|
1378
|
+
* Search row: icon + Grep/Glob · {summary} in the shared ToolRow chrome, with the
|
|
1363
1379
|
* completed search's card as the row's collapsed-by-default card body (a capped
|
|
1364
1380
|
* search's recovery footer rides below it, inside ToolRow). Registered under
|
|
1365
1381
|
* both `grep` and `glob`; the derived model's `kind` decides the card shape. A
|
|
@@ -1374,7 +1390,7 @@ window.__ModuleLoader__.load({
|
|
|
1374
1390
|
variant: model.variant,
|
|
1375
1391
|
toolName,
|
|
1376
1392
|
icon: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconSearchOutline16, { size: 14 }),
|
|
1377
|
-
title: model.title,
|
|
1393
|
+
title: SEARCH_TITLES[toolName] ?? model.title,
|
|
1378
1394
|
summary: search?.title ?? model.summary,
|
|
1379
1395
|
body: null,
|
|
1380
1396
|
output: model.output,
|
|
@@ -1532,7 +1548,7 @@ window.__ModuleLoader__.load({
|
|
|
1532
1548
|
function WebRow({ toolName, block, inspect, t }) {
|
|
1533
1549
|
const model = toolRowModel(toolName, block);
|
|
1534
1550
|
const web = webCardModel(block);
|
|
1535
|
-
const icon = toolName === "web_fetch" ? (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconBrowseOutline16, { size: 14 }) : (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
1551
|
+
const icon = toolName === "web_fetch" ? (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconBrowseOutline16, { size: 14 }) : (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconGlobeOutline14, { size: 14 });
|
|
1536
1552
|
return (0, react_jsx_runtime.jsx)(ToolRow, {
|
|
1537
1553
|
t,
|
|
1538
1554
|
variant: model.variant,
|
|
@@ -3,7 +3,20 @@ import type { PropsLocale, PropsRenderSlots, PropsRuntime } from '@deepseek-ai/d
|
|
|
3
3
|
import type { ToolCallBlock } from '@deepseek-ai/dsh-client-runtime/client';
|
|
4
4
|
declare module '@deepseek-ai/dsh-client-ui-slots' {
|
|
5
5
|
interface SlotMap {
|
|
6
|
-
/**
|
|
6
|
+
/**
|
|
7
|
+
* Keyed atomic Tool call view, dispatched by the wire Tool name. Register
|
|
8
|
+
* with `key: '<tool name>'` to own how one tool's calls render inside a
|
|
9
|
+
* turn — the key domain is open (any wire tool name, including a tool your
|
|
10
|
+
* own package registered), so there is no compile-time key set to pick
|
|
11
|
+
* from and a typo simply never renders.
|
|
12
|
+
*
|
|
13
|
+
* A key the shipped composition already covers is replaced, not shared;
|
|
14
|
+
* an unclaimed key falls back to the generic tool row, so registering is
|
|
15
|
+
* additive for your own tool and a takeover for a shipped one. The owner
|
|
16
|
+
* passes the call's identity, its frozen running-or-settled node, and the
|
|
17
|
+
* expansion state (see ToolCallOwnerProps), so the view stays a pure
|
|
18
|
+
* function of what the turn already knows.
|
|
19
|
+
*/
|
|
7
20
|
'tool.call.toolview': {
|
|
8
21
|
kind: 'keyed';
|
|
9
22
|
scope: 'session';
|
|
@@ -4,7 +4,7 @@ import type { ToolCallViewProps } from '../../contract/slots.ts';
|
|
|
4
4
|
/** Full row props: the toolview runtime share plus the standard locale seat. */
|
|
5
5
|
type SearchRowProps = ToolCallViewProps & PropsLocale<'conversation'>;
|
|
6
6
|
/**
|
|
7
|
-
* Search row: icon +
|
|
7
|
+
* Search row: icon + Grep/Glob · {summary} in the shared ToolRow chrome, with the
|
|
8
8
|
* completed search's card as the row's collapsed-by-default card body (a capped
|
|
9
9
|
* search's recovery footer rides below it, inside ToolRow). Registered under
|
|
10
10
|
* both `grep` and `glob`; the derived model's `kind` decides the card shape. A
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-client-ui-tool",
|
|
3
3
|
"description": "Client Tool call-tree renderer and keyed per-tool presentation slot",
|
|
4
|
-
"version": "0.0.1-rc.
|
|
4
|
+
"version": "0.0.1-rc.3",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "restricted"
|
|
7
7
|
},
|
|
@@ -45,29 +45,31 @@
|
|
|
45
45
|
},
|
|
46
46
|
"peerDependencies": {
|
|
47
47
|
"react": "^18.2.0",
|
|
48
|
-
"@deepseek-ai/dsh-
|
|
49
|
-
"@deepseek-ai/
|
|
50
|
-
"@deepseek-ai/dsh-client-
|
|
51
|
-
"@deepseek-ai/dsh-client-
|
|
52
|
-
"@deepseek-ai/dsh-client-ui-
|
|
53
|
-
"@deepseek-ai/dsh-
|
|
54
|
-
"@deepseek-ai/
|
|
48
|
+
"@deepseek-ai/dsh-api-remotes": "^0.0.1-rc.3",
|
|
49
|
+
"@deepseek-ai/cordis": "^4.0.1-rc.1",
|
|
50
|
+
"@deepseek-ai/dsh-client-locale": "^0.0.1-rc.3",
|
|
51
|
+
"@deepseek-ai/dsh-client-runtime": "^0.0.1-rc.3",
|
|
52
|
+
"@deepseek-ai/dsh-client-ui-conversation": "^0.0.1-rc.3",
|
|
53
|
+
"@deepseek-ai/dsh-client-ui-primitives": "^0.0.1-rc.3",
|
|
54
|
+
"@deepseek-ai/dsh-client-ui-slots": "^0.0.1-rc.3",
|
|
55
|
+
"@deepseek-ai/dsh-invariants": "^0.0.1-rc.3"
|
|
55
56
|
},
|
|
56
57
|
"devDependencies": {
|
|
57
58
|
"@testing-library/react": "^16.1.0",
|
|
58
59
|
"@types/react": "~18.3.1",
|
|
59
60
|
"react": "^18.2.0",
|
|
60
61
|
"react-dom": "^18.2.0",
|
|
61
|
-
"@deepseek-ai/dsh-client-connection": "^0.0.1-rc.
|
|
62
|
-
"@deepseek-ai/
|
|
63
|
-
"@deepseek-ai/dsh-client-
|
|
64
|
-
"@deepseek-ai/dsh-client-
|
|
65
|
-
"@deepseek-ai/dsh-client-
|
|
66
|
-
"@deepseek-ai/dsh-
|
|
67
|
-
"@deepseek-ai/dsh-client-ui-
|
|
68
|
-
"@deepseek-ai/dsh-client-
|
|
69
|
-
"@deepseek-ai/dsh-
|
|
70
|
-
"@deepseek-ai/
|
|
62
|
+
"@deepseek-ai/dsh-client-connection": "^0.0.1-rc.3",
|
|
63
|
+
"@deepseek-ai/cordis": "^4.0.1-rc.1",
|
|
64
|
+
"@deepseek-ai/dsh-client-locale": "^0.0.1-rc.3",
|
|
65
|
+
"@deepseek-ai/dsh-client-runtime": "^0.0.1-rc.3",
|
|
66
|
+
"@deepseek-ai/dsh-client-test-runtime": "^0.0.1-rc.3",
|
|
67
|
+
"@deepseek-ai/dsh-api-remotes": "^0.0.1-rc.3",
|
|
68
|
+
"@deepseek-ai/dsh-client-ui-conversation": "^0.0.1-rc.3",
|
|
69
|
+
"@deepseek-ai/dsh-client-ui-primitives": "^0.0.1-rc.3",
|
|
70
|
+
"@deepseek-ai/dsh-client-ui-slots": "^0.0.1-rc.3",
|
|
71
|
+
"@deepseek-ai/dsh-client-web-react": "^0.0.1-rc.3",
|
|
72
|
+
"@deepseek-ai/dsh-invariants": "^0.0.1-rc.3"
|
|
71
73
|
},
|
|
72
74
|
"files": [
|
|
73
75
|
"lib/index.js",
|