@deepseek-ai/dsh-client-ui-subagent 0.2.1-alpha.2 → 0.2.1-alpha.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 +4 -4
- package/README.md +3 -1
- package/README.zh.md +3 -1
- package/lib/client.js +3 -3
- package/lib/types/client/SubagentHeaderLineage.d.ts +1 -1
- package/locale/en.json +5 -0
- package/locale/zh.json +6 -0
- package/package.json +23 -23
package/README.i18n.yaml
CHANGED
|
@@ -15,8 +15,8 @@
|
|
|
15
15
|
en: d152484eb41ac6b4
|
|
16
16
|
zh: 09388d293f9be9cb
|
|
17
17
|
/deepseek-ai-dsh-client-ui-subagent/use-this-package:
|
|
18
|
-
en:
|
|
19
|
-
zh:
|
|
18
|
+
en: 9aafcfbd6a33173c
|
|
19
|
+
zh: 6dbd48672f58cd2d
|
|
20
20
|
/deepseek-ai-dsh-client-ui-subagent/use-this-package/browsing-the-tree:
|
|
21
21
|
en: 3508631091820123
|
|
22
22
|
zh: ec7da9e5bedb22ba
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
en: b817e9907392f59c
|
|
37
37
|
zh: e42feb97d572a989
|
|
38
38
|
/deepseek-ai-dsh-client-ui-subagent/understand-the-implementation/composer-election:
|
|
39
|
-
en:
|
|
40
|
-
zh:
|
|
39
|
+
en: 13c33af89ba0942e
|
|
40
|
+
zh: 00374c7944728ae2
|
|
41
41
|
/deepseek-ai-dsh-client-ui-subagent/further-exploration:
|
|
42
42
|
en: 1766e9012e307178
|
|
43
43
|
zh: f3ee637f5941aae5
|
package/README.md
CHANGED
|
@@ -25,7 +25,7 @@ Browse local subagent conversations and external tasks from the parent header. L
|
|
|
25
25
|
<a id="use-this-package"></a>
|
|
26
26
|
## Use this package
|
|
27
27
|
|
|
28
|
-
The session header keeps the current session title as the lineage breadcrumb; when the session's direct catalog has entries or a read has failed, the descendant-count trigger renders
|
|
28
|
+
The session header keeps the current session title as the lineage breadcrumb; when the session's direct catalog has entries or a read has failed, the descendant-count trigger renders after the preset label in the header actions band, with no breadcrumb separator. An absent catalog, an empty loading catalog, or a successfully loaded empty catalog hides the count trigger. The trigger opens that direct catalog, reports its total and running counts, and loads nested catalogs only when their rows expand. Select a local child at any depth to open that child's conversation with its exact `{parentSessionId, childSessionId, mode}` address, or use the row's trailing arrow to open the same address in the right Sidebar, preferring a separate pane when room permits.
|
|
29
29
|
|
|
30
30
|
This package registers the `dsh-resource://subagentchat/session/<child>?parent=<parent>&mode=<mode>` resource and builtin Sidebar tab type. The resource retains the child `SessionReference` directly from its address without refreshing the parent catalog, and releases the reference when the tab record closes. The tab renders the shared `conversation.content` Factory through `sidebar.chat.conversation`, fixes the local View to Chat, and omits the main Conversation header and width controls.
|
|
31
31
|
|
|
@@ -71,6 +71,8 @@ One-shot children always elect a read-only composer. A continuable child elects
|
|
|
71
71
|
|
|
72
72
|
Unknown-mode catalog rows remain visible and clickable, using the child id when no label is available. Their composer is read-only until child history establishes a supported mode; a read failure is reported in the child conversation.
|
|
73
73
|
|
|
74
|
+
Lineage-menu highlights follow the [standard menu edge geometry](../../../docs/ui-radius.md#nested-hover); tree disclosure controls retain their separate left gutter.
|
|
75
|
+
|
|
74
76
|
</details>
|
|
75
77
|
|
|
76
78
|
-----
|
package/README.zh.md
CHANGED
|
@@ -25,7 +25,7 @@ kind: "package-reference"
|
|
|
25
25
|
<a id="use-this-package"></a>
|
|
26
26
|
## 使用本包
|
|
27
27
|
|
|
28
|
-
|
|
28
|
+
会话页头把当前会话标题作为谱系面包屑;当会话的直接目录有子项或读取失败时,后代数量触发器渲染在页头操作区中预设标签之后,不带任何面包屑分隔符。目录缺席、空目录加载中或成功加载为空时,均隐藏数量触发器。触发器打开该直接目录,报告总数与运行数,并且只在行展开时加载嵌套目录。选择任意深度,即可用该子会话的确切 `{parentSessionId, childSessionId, mode}` 地址打开其对话;也可以使用行尾箭头在右侧 Sidebar 打开同一地址,并在空间允许时优先使用独立分栏。
|
|
29
29
|
|
|
30
30
|
本包注册 `dsh-resource://subagentchat/session/<child>?parent=<parent>&mode=<mode>` 资源与 builtin Sidebar tab 类型。资源直接根据地址保留 child 的 `SessionReference`,不刷新 parent 目录,并在 tab 记录关闭时释放 reference。tab 通过 `sidebar.chat.conversation` 渲染共享 `conversation.content` Factory,把局部 View 固定为 Chat,并省略主 Conversation 的 Header 与宽度控制。
|
|
31
31
|
|
|
@@ -71,6 +71,8 @@ one-shot child 始终选用只读编辑器。可继续 child 仅在其确切 par
|
|
|
71
71
|
|
|
72
72
|
模式未知的目录项仍可见、可点击,没有标签时显示子会话 id。读取子历史并确认受支持模式前,输入区保持只读;读取失败在该子会话中报告。
|
|
73
73
|
|
|
74
|
+
会话树菜单高亮遵循[标准菜单边缘几何](../../../docs/ui-radius.zh.md#nested-hover);树形展开控件保留独立的左侧空间。
|
|
75
|
+
|
|
74
76
|
</details>
|
|
75
77
|
|
|
76
78
|
-----
|
package/lib/client.js
CHANGED
|
@@ -9,7 +9,7 @@ window.__ModuleLoader__.load({
|
|
|
9
9
|
let react_dom = require("react-dom");
|
|
10
10
|
let _deepseek_ai_dsh_client_ui_primitives = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
11
11
|
//#region \0dsh-css:/home/runner/work/deepseek-harness/deepseek-harness/packages/client/ui-subagent/src/client/SubagentHeaderLineage.module.css.mjs
|
|
12
|
-
const css$2 = ".ZKlsPq_root{align-items:center;gap:10px;min-width:0;display:inline-flex;position:relative}.ZKlsPq_switcherRoot{min-width:0;margin-left:6px}.ZKlsPq_trigger,.ZKlsPq_switcherTrigger{border-radius:var(--dsw-radius-sm);min-height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;align-items:center;padding:3px 2px;font-size:12px;line-height:18px;display:inline-flex}.ZKlsPq_trigger{gap:4px}.ZKlsPq_switcherTrigger{min-width:0;max-width:244px;color:var(--dsw-alias-label-primary);gap:4px;font-weight:500}.ZKlsPq_ancestorSwitcherTrigger{color:var(--dsw-alias-label-tertiary);font-weight:400}.ZKlsPq_switcherTitle{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ZKlsPq_switcherTrigger svg{flex:none}.ZKlsPq_activitySlot{flex:none;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.ZKlsPq_trigger:hover,.ZKlsPq_trigger:focus-visible,.ZKlsPq_switcherTrigger:hover,.ZKlsPq_switcherTrigger:focus-visible{color:var(--dsw-alias-label-primary)}.ZKlsPq_ancestorSwitcherTrigger:hover,.ZKlsPq_ancestorSwitcherTrigger:focus-visible{color:var(--dsw-alias-label-tertiary)}.ZKlsPq_trigger svg,.ZKlsPq_switcherTrigger svg{transition:transform .12s}.ZKlsPq_triggerOpen{transform:rotate(180deg)}.ZKlsPq_menu{z-index:100;box-sizing:border-box;border-radius:var(--dsw-radius-lg);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);--dsw-elevation-stroke-color:var(--dsw-alias-border-l1);width:336px;max-width:min(400px,100vw - 32px);max-height:min(560px,100vh - 140px);box-shadow:var(--dsw-elevation-prominent);flex-direction:column;padding:
|
|
12
|
+
const css$2 = ".ZKlsPq_root{align-items:center;gap:10px;min-width:0;display:inline-flex;position:relative}.ZKlsPq_switcherRoot{min-width:0;margin-left:6px}.ZKlsPq_trigger,.ZKlsPq_switcherTrigger{border-radius:var(--dsw-radius-sm);min-height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;align-items:center;padding:3px 2px;font-size:12px;line-height:18px;display:inline-flex}.ZKlsPq_trigger{gap:4px}.ZKlsPq_switcherTrigger{min-width:0;max-width:244px;color:var(--dsw-alias-label-primary);gap:4px;font-weight:500}.ZKlsPq_ancestorSwitcherTrigger{color:var(--dsw-alias-label-tertiary);font-weight:400}.ZKlsPq_switcherTitle{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ZKlsPq_switcherTrigger svg{flex:none}.ZKlsPq_activitySlot{flex:none;justify-content:center;align-items:center;width:14px;height:14px;display:inline-flex}.ZKlsPq_trigger:hover,.ZKlsPq_trigger:focus-visible,.ZKlsPq_switcherTrigger:hover,.ZKlsPq_switcherTrigger:focus-visible{color:var(--dsw-alias-label-primary)}.ZKlsPq_ancestorSwitcherTrigger:hover,.ZKlsPq_ancestorSwitcherTrigger:focus-visible{color:var(--dsw-alias-label-tertiary)}.ZKlsPq_trigger svg,.ZKlsPq_switcherTrigger svg{transition:transform .12s}.ZKlsPq_triggerOpen{transform:rotate(180deg)}.ZKlsPq_menu{z-index:100;box-sizing:border-box;border-radius:var(--dsw-radius-lg);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);--dsw-elevation-stroke-color:var(--dsw-alias-border-l1);width:336px;max-width:min(400px,100vw - 32px);max-height:min(560px,100vh - 140px);box-shadow:var(--dsw-elevation-prominent);flex-direction:column;padding:4px;display:flex;position:fixed;overflow:hidden}.ZKlsPq_menu:before{content:\"\";z-index:-1;border-radius:inherit;background:var(--dsw-specific-menu);backdrop-filter:var(--dsw-menu-backdrop-filter);position:absolute;inset:0}.ZKlsPq_menuBody{flex-direction:column;flex:auto;min-height:0;display:flex;overflow:auto}.ZKlsPq_node{min-width:0;position:relative}.ZKlsPq_menuBody>.ZKlsPq_node{margin-left:-2px}.ZKlsPq_row{box-sizing:border-box;border-radius:var(--dsw-radius-md);width:100%;min-height:44px;color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;background:0 0;border:0;outline:none;align-items:flex-start;gap:6px;padding:6px 7px 6px 9px;font-size:12px;line-height:17px;display:flex;position:relative}.ZKlsPq_row:hover>.ZKlsPq_clickarea,.ZKlsPq_row:focus-visible>.ZKlsPq_clickarea{background:var(--dsw-alias-interactive-bg-hover)}.ZKlsPq_clickarea{box-sizing:border-box;border-radius:var(--dsw-radius-md);flex:1;align-self:stretch;align-items:flex-start;gap:6px;min-width:0;margin:-6px -7px;padding:6px 7px;display:flex}.ZKlsPq_rowActivitySlot{flex:none;justify-content:center;align-items:center;width:14px;height:17px;display:inline-flex}.ZKlsPq_disclosure,.ZKlsPq_disclosureSpace{flex:none;width:14px;height:17px}.ZKlsPq_disclosure{color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;transition:transform .12s;display:inline-flex}.ZKlsPq_disclosure svg{width:12px;height:12px}.ZKlsPq_disclosure:hover{color:var(--dsw-alias-label-primary)}.ZKlsPq_disclosureOpen{transform:rotate(90deg)}.ZKlsPq_content{flex-direction:column;flex:1;min-width:0;display:flex}.ZKlsPq_label,.ZKlsPq_summary{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ZKlsPq_label{color:inherit;font-weight:400}.ZKlsPq_currentLabel{font-weight:600}.ZKlsPq_summary,.ZKlsPq_metrics{color:var(--dsw-alias-label-tertiary);font-size:10px;line-height:15px}.ZKlsPq_metrics{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;flex:none;grid-template-rows:17px 15px;display:grid}.ZKlsPq_metricToken{grid-row:1;line-height:17px}.ZKlsPq_metricDuration{grid-row:2}.ZKlsPq_sidebarButton{border-radius:var(--dsw-radius-sm);width:28px;height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;flex:none;justify-content:center;align-items:center;margin:4px 0;padding:6px;display:inline-flex}.ZKlsPq_sidebarButton:hover,.ZKlsPq_sidebarButton:focus-visible{background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-primary)}.ZKlsPq_children{margin-left:16px;padding-left:3px;position:relative}.ZKlsPq_children:before,.ZKlsPq_children>.ZKlsPq_node:before{content:\"\";border-left:.5px solid var(--dsw-alias-border-l2);position:absolute;left:0}.ZKlsPq_children:before{height:23px;top:-23px}.ZKlsPq_children[aria-busy=true]:before{content:none}.ZKlsPq_children>.ZKlsPq_node:before{top:0;bottom:0;left:-3px}.ZKlsPq_children>.ZKlsPq_node:last-child:before{height:15px;bottom:auto}.ZKlsPq_children>.ZKlsPq_node>.ZKlsPq_row:before{content:\"\";border-top:.5px solid var(--dsw-alias-border-l2);width:12px;position:absolute;top:14px;left:-3px}.ZKlsPq_notice,.ZKlsPq_error{color:var(--dsw-alias-label-tertiary);padding:8px 10px;font-size:11px;line-height:16px}.ZKlsPq_error{color:var(--dsw-alias-state-error-primary);justify-content:space-between;align-items:center;gap:10px;display:flex}.ZKlsPq_refresh{border-radius:var(--dsw-radius-sm);color:inherit;cursor:pointer;background:0 0;border:0;flex:none;align-items:center;gap:3px;padding:3px 5px;display:inline-flex}.ZKlsPq_refresh svg{width:12px;height:12px}.ZKlsPq_refresh:hover{background:var(--dsw-alias-interactive-bg-hover)}";
|
|
13
13
|
const tagId$2 = "@deepseek-ai/dsh-client-ui-subagent/SubagentHeaderLineage.module.css";
|
|
14
14
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$2) + "]") === null) {
|
|
15
15
|
const tag = document.createElement("style");
|
|
@@ -602,7 +602,7 @@ window.__ModuleLoader__.load({
|
|
|
602
602
|
}
|
|
603
603
|
/**
|
|
604
604
|
* Session-header catalog action for root sessions: the descendant count and
|
|
605
|
-
* its dropdown
|
|
605
|
+
* its dropdown after the preset label in the header actions band. Child sessions render nothing
|
|
606
606
|
* here — their breadcrumb switcher in the lineage slot owns the same
|
|
607
607
|
* navigation.
|
|
608
608
|
* @param props - Session standard props plus the catalog actions and translator.
|
|
@@ -983,7 +983,7 @@ window.__ModuleLoader__.load({
|
|
|
983
983
|
ctx.slots.inject("conversation.session.header.actions", () => ctx.slots.register({
|
|
984
984
|
name: "conversation.session.header.actions",
|
|
985
985
|
id: "subagent-catalog",
|
|
986
|
-
order:
|
|
986
|
+
order: 10,
|
|
987
987
|
locale: NS,
|
|
988
988
|
inject: catalogActions
|
|
989
989
|
}, SubagentCatalogAction));
|
|
@@ -14,7 +14,7 @@ export type SubagentHeaderLineageProps = PropsRuntime<'conversation.session.head
|
|
|
14
14
|
export type SubagentCatalogActionProps = PropsRuntime<'conversation.session.header.actions'> & SubagentCatalogInjected & PropsLocale<typeof NS>;
|
|
15
15
|
/**
|
|
16
16
|
* Session-header catalog action for root sessions: the descendant count and
|
|
17
|
-
* its dropdown
|
|
17
|
+
* its dropdown after the preset label in the header actions band. Child sessions render nothing
|
|
18
18
|
* here — their breadcrumb switcher in the lineage slot owns the same
|
|
19
19
|
* navigation.
|
|
20
20
|
* @param props - Session standard props plus the catalog actions and translator.
|
package/locale/en.json
ADDED
package/locale/zh.json
ADDED
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-client-ui-subagent",
|
|
3
3
|
"description": "Subagent conversation catalog, continuation routing UI, and '@' reference source",
|
|
4
|
-
"version": "0.2.1-alpha.
|
|
4
|
+
"version": "0.2.1-alpha.3",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -23,7 +23,8 @@
|
|
|
23
23
|
"default": "./lib/client.js"
|
|
24
24
|
},
|
|
25
25
|
"./src/*": "./src/*",
|
|
26
|
-
"./package.json": "./package.json"
|
|
26
|
+
"./package.json": "./package.json",
|
|
27
|
+
"./locale/*.json": "./locale/*.json"
|
|
27
28
|
},
|
|
28
29
|
"dsh": {
|
|
29
30
|
"client": {
|
|
@@ -43,33 +44,32 @@
|
|
|
43
44
|
},
|
|
44
45
|
"license": "MIT",
|
|
45
46
|
"peerDependencies": {
|
|
46
|
-
"@deepseek-ai/cordis": "~4.0.5-alpha.
|
|
47
|
+
"@deepseek-ai/cordis": "~4.0.5-alpha.2"
|
|
47
48
|
},
|
|
48
49
|
"devDependencies": {
|
|
49
|
-
"@deepseek-ai/dsh-client-locale": "0.2.1-alpha.
|
|
50
|
-
"@deepseek-ai/dsh-client-resources": "0.2.1-alpha.
|
|
51
|
-
"@deepseek-ai/dsh-client-test-runtime": "0.2.1-alpha.
|
|
52
|
-
"@deepseek-ai/dsh-client-ui-chat": "0.2.1-alpha.
|
|
53
|
-
"@deepseek-ai/dsh-client-ui-conversation": "0.2.1-alpha.
|
|
54
|
-
"@deepseek-ai/dsh-client-ui-input-trigger": "0.2.1-alpha.
|
|
55
|
-
"@deepseek-ai/dsh-client-ui-primitives": "0.2.1-alpha.
|
|
56
|
-
"@deepseek-ai/dsh-client-ui-slots": "0.2.1-alpha.
|
|
57
|
-
"@deepseek-ai/dsh-subagent": "0.2.1-alpha.
|
|
58
|
-
"@deepseek-ai/dsh-token-meter": "0.2.1-alpha.
|
|
59
|
-
"@
|
|
60
|
-
"@types/react-dom": "~18.3.0",
|
|
61
|
-
"@deepseek-ai/cordis": "~4.0.5-alpha.1",
|
|
50
|
+
"@deepseek-ai/dsh-client-locale": "0.2.1-alpha.3",
|
|
51
|
+
"@deepseek-ai/dsh-client-resources": "0.2.1-alpha.3",
|
|
52
|
+
"@deepseek-ai/dsh-client-test-runtime": "0.2.1-alpha.3",
|
|
53
|
+
"@deepseek-ai/dsh-client-ui-chat": "0.2.1-alpha.3",
|
|
54
|
+
"@deepseek-ai/dsh-client-ui-conversation": "0.2.1-alpha.3",
|
|
55
|
+
"@deepseek-ai/dsh-client-ui-input-trigger": "0.2.1-alpha.3",
|
|
56
|
+
"@deepseek-ai/dsh-client-ui-primitives": "0.2.1-alpha.3",
|
|
57
|
+
"@deepseek-ai/dsh-client-ui-slots": "0.2.1-alpha.3",
|
|
58
|
+
"@deepseek-ai/dsh-subagent": "0.2.1-alpha.3",
|
|
59
|
+
"@deepseek-ai/dsh-token-meter": "0.2.1-alpha.3",
|
|
60
|
+
"@deepseek-ai/cordis": "~4.0.5-alpha.2",
|
|
62
61
|
"react": "^18.2.0",
|
|
63
62
|
"react-dom": "^18.2.0",
|
|
64
|
-
"@deepseek-ai/dsh-api-session-controller": "0.2.1-alpha.
|
|
65
|
-
"@deepseek-ai/dsh-client-connection": "0.2.1-alpha.
|
|
66
|
-
"@deepseek-ai/dsh-session": "0.2.1-alpha.
|
|
67
|
-
"@deepseek-ai/dsh-client-ui-renderer": "0.2.1-alpha.
|
|
68
|
-
"@deepseek-ai/dsh-client-ui-sidebar-right": "0.2.1-alpha.
|
|
69
|
-
"@deepseek-ai/dsh-client-ui-session": "0.2.1-alpha.
|
|
70
|
-
"@deepseek-ai/dsh-client-ui-workspace": "0.2.1-alpha.
|
|
63
|
+
"@deepseek-ai/dsh-api-session-controller": "0.2.1-alpha.3",
|
|
64
|
+
"@deepseek-ai/dsh-client-connection": "0.2.1-alpha.3",
|
|
65
|
+
"@deepseek-ai/dsh-session": "0.2.1-alpha.3",
|
|
66
|
+
"@deepseek-ai/dsh-client-ui-renderer": "0.2.1-alpha.3",
|
|
67
|
+
"@deepseek-ai/dsh-client-ui-sidebar-right": "0.2.1-alpha.3",
|
|
68
|
+
"@deepseek-ai/dsh-client-ui-session": "0.2.1-alpha.3",
|
|
69
|
+
"@deepseek-ai/dsh-client-ui-workspace": "0.2.1-alpha.3"
|
|
71
70
|
},
|
|
72
71
|
"files": [
|
|
72
|
+
"locale/*.json",
|
|
73
73
|
"lib/index.js",
|
|
74
74
|
"lib/client.js",
|
|
75
75
|
"lib/types/**/*.d.ts"
|