dsh-edge 0.9.0 → 0.10.0
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/THIRD_PARTY_NOTICES.md +1318 -1075
- package/dist/assets/index-Df-65__b.js +110 -0
- package/dist/assets/index-b24khbeK.css +1 -0
- package/dist/assets/langs/{php-DDkx9sim.js → php-DJl5gRdb.js} +2 -2
- package/dist/assets/langs/{ruby-DCxyoPen.js → ruby-5eNB0pDK.js} +2 -2
- package/dist/assets/vendor-BNsW4eBh.css +1 -0
- package/dist/assets/vendor-CCJJTK99.js +411 -0
- package/dist/index.html +8 -8
- package/dist/plugins/@deepseek-ai/dsh-api-gateway/client.js +1513 -77
- package/dist/plugins/@deepseek-ai/dsh-api-remotes/client.js +3608 -757
- package/dist/plugins/@deepseek-ai/dsh-api-session-controller/client.js +2777 -0
- package/dist/plugins/@deepseek-ai/dsh-api-workspace-controller/client.js +415 -0
- package/dist/plugins/@deepseek-ai/dsh-client-connection/client.js +1975 -7466
- package/dist/plugins/@deepseek-ai/dsh-client-locale/client.js +225 -76
- package/dist/plugins/@deepseek-ai/dsh-client-modules/client.js +67 -15
- package/dist/plugins/@deepseek-ai/dsh-client-ui-agent-preset/client.js +270 -460
- package/dist/plugins/@deepseek-ai/dsh-client-ui-approval/client.js +292 -0
- package/dist/plugins/@deepseek-ai/dsh-client-ui-attachment/client.js +42 -17
- package/dist/plugins/@deepseek-ai/dsh-client-ui-brand-official/client.js +7 -9
- package/dist/plugins/@deepseek-ai/dsh-client-ui-chat/client.js +8177 -0
- package/dist/plugins/@deepseek-ai/dsh-client-ui-commands/client.js +22 -10
- package/dist/plugins/@deepseek-ai/dsh-client-ui-conversation/client.js +14950 -8910
- package/dist/plugins/@deepseek-ai/dsh-client-ui-deliverables/client.js +161 -137
- package/dist/plugins/@deepseek-ai/dsh-client-ui-goal/client.js +6 -7
- package/dist/plugins/@deepseek-ai/dsh-client-ui-input-trigger/client.js +268 -40
- package/dist/plugins/@deepseek-ai/dsh-client-ui-jobs/client.js +1 -1
- package/dist/plugins/@deepseek-ai/dsh-client-ui-layout/client.js +45 -11
- package/dist/plugins/@deepseek-ai/dsh-client-ui-message-feedback/client.js +30 -58
- package/dist/plugins/@deepseek-ai/dsh-client-ui-model-selection/client.js +188 -89
- package/dist/plugins/@deepseek-ai/dsh-client-ui-permission-presets/client.js +105 -75
- package/dist/plugins/@deepseek-ai/dsh-client-ui-renderer/client.js +650 -188
- package/dist/plugins/@deepseek-ai/dsh-client-ui-schedule/client.js +307 -0
- package/dist/plugins/@deepseek-ai/dsh-client-ui-session/client.js +340 -0
- package/dist/plugins/@deepseek-ai/dsh-client-ui-settings/client.js +57 -50
- package/dist/plugins/@deepseek-ai/dsh-client-ui-settings-general/client.js +134 -69
- package/dist/plugins/@deepseek-ai/dsh-client-ui-settings-models/client.js +575 -442
- package/dist/plugins/@deepseek-ai/dsh-client-ui-sidebar/client.js +24 -11
- package/dist/plugins/@deepseek-ai/dsh-client-ui-skill/client.js +13 -9
- package/dist/plugins/@deepseek-ai/dsh-client-ui-subagent/client.js +44 -20
- package/dist/plugins/@deepseek-ai/dsh-client-ui-theme/client.js +265 -94
- package/dist/plugins/@deepseek-ai/dsh-client-ui-tool/client.js +899 -433
- package/dist/plugins/@deepseek-ai/dsh-client-ui-trajectory/client.js +1472 -613
- package/dist/plugins/@deepseek-ai/dsh-client-ui-user-questions/client.js +249 -95
- package/dist/plugins/@deepseek-ai/dsh-client-ui-workflow-run/client.js +5 -5
- package/dist/plugins/@deepseek-ai/dsh-client-ui-workspace/client.js +425 -146
- package/dist/plugins/@deepseek-ai/dsh-typert-registry/client.js +29 -14
- package/dist/plugins/dsh-edge-client-ui/client.js +28 -26
- package/package.json +62 -58
- package/scripts/verify-packed.mjs +1 -1
- package/worker/direct/index.js +2866 -1466
- package/worker/isolated/index.js +2438 -1038
- package/dist/assets/index-C6eRlFa6.css +0 -1
- package/dist/assets/index-ClqxG24t.js +0 -96
- package/dist/assets/vendor-CjyC-hUb.css +0 -1
- package/dist/assets/vendor-D22_Mp1f.js +0 -411
- package/dist/plugins/@deepseek-ai/dsh-client-runtime/client.js +0 -10574
|
@@ -23,7 +23,7 @@ window.__ModuleLoader__.load({
|
|
|
23
23
|
}
|
|
24
24
|
//#endregion
|
|
25
25
|
//#region \0dsh-css:/home/runner/work/deepseek-harness/deepseek-harness/packages/client/ui-sidebar/src/client/SidebarRoot.module.css.mjs
|
|
26
|
-
const css = ".hHd-Xa_root{--dsh-sidebar-inline-padding:12px;height:100%;padding:6px var(--dsh-sidebar-inline-padding);box-sizing:border-box;background:var(--dsw-specific-sidebar-fill);color:var(--dsw-alias-label-primary);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);flex-direction:column;font-size:14px;display:flex}.hHd-Xa_root.hHd-Xa_collapsed{padding:18px 10px 6px}.hHd-Xa_root.hHd-Xa_quietBars{--dsh-scrollbar-thumb:transparent;--dsh-scrollbar-thumb-hover:transparent}.hHd-Xa_fading>*{opacity:0;transition:opacity .15s var(--ds-ease-in-out)}.hHd-Xa_wide{animation:hHd-Xa_wide-in .2s var(--ds-ease-in-out)}@keyframes hHd-Xa_wide-in{0%{opacity:0}}.hHd-Xa_railIn .hHd-Xa_iconButton,.hHd-Xa_railIn .hHd-Xa_newSession,.hHd-Xa_railIn .hHd-Xa_regionArea{animation:hHd-Xa_rail-in .15s var(--ds-ease-in-out) backwards}.hHd-Xa_railIn .hHd-Xa_footArea{animation:hHd-Xa_rail-fade-in .15s var(--ds-ease-in-out) backwards}@keyframes hHd-Xa_rail-in{0%{opacity:0;transform:translate(49px)}}@keyframes hHd-Xa_rail-fade-in{0%{opacity:0}}.hHd-Xa_logoRow{box-sizing:border-box;flex:none;justify-content:flex-end;align-items:center;gap:8px;height:60px;margin-bottom:8px;padding:8px 0 8px 4px;display:flex;overflow:hidden}.hHd-Xa_collapsed .hHd-Xa_logoRow{justify-content:flex-start;height:36px;margin-bottom:12px;padding:0}.hHd-Xa_brand{min-width:0;color:inherit;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;padding:0;display:inline-flex;overflow:hidden}.hHd-Xa_brandIdentity{align-items:center;gap:8px;min-width:0;height:24px;display:inline-flex}.hHd-Xa_brandMark{flex:none;justify-content:center;align-items:center;display:inline-flex}.hHd-Xa_brandName{letter-spacing:.04em;align-items:center;gap:6px;min-width:0;height:24px;font-size:18px;font-weight:600;line-height:24px;display:inline-flex}.hHd-Xa_fallbackBrandName{letter-spacing:0;white-space:nowrap;font-size:17px}.hHd-Xa_iconButton{cursor:pointer;width:28px;height:28px;color:var(--dsw-alias-label-secondary);background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.hHd-Xa_iconButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.hHd-Xa_collapsed .hHd-Xa_iconButton{width:36px;height:36px}.hHd-Xa_collapsed .hHd-Xa_toggle .hHd-Xa_panelIcon{display:none}.hHd-Xa_collapsed .hHd-Xa_toggle:hover .hHd-Xa_panelIcon{display:inline}.hHd-Xa_collapsed .hHd-Xa_toggle:hover .hHd-Xa_railMark{display:none}.hHd-Xa_railMark{justify-content:center;align-items:center;display:inline-flex}.hHd-Xa_collapsed .hHd-Xa_iconButton{color:var(--dsw-alias-label-primary)}.hHd-
|
|
26
|
+
const css = ".hHd-Xa_root{--dsh-sidebar-inline-padding:12px;height:100%;padding:6px var(--dsh-sidebar-inline-padding);box-sizing:border-box;background:var(--dsw-specific-sidebar-fill);color:var(--dsw-alias-label-primary);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);flex-direction:column;font-size:14px;display:flex}.hHd-Xa_root.hHd-Xa_collapsed{padding:18px 10px 6px}.hHd-Xa_root.hHd-Xa_quietBars{--dsh-scrollbar-thumb:transparent;--dsh-scrollbar-thumb-hover:transparent}.hHd-Xa_fading>*{opacity:0;transition:opacity .15s var(--ds-ease-in-out)}.hHd-Xa_wide{animation:hHd-Xa_wide-in .2s var(--ds-ease-in-out)}@keyframes hHd-Xa_wide-in{0%{opacity:0}}.hHd-Xa_railIn .hHd-Xa_iconButton,.hHd-Xa_railIn .hHd-Xa_newSession,.hHd-Xa_railIn .hHd-Xa_regionArea{animation:hHd-Xa_rail-in .15s var(--ds-ease-in-out) backwards}.hHd-Xa_railIn .hHd-Xa_footArea{animation:hHd-Xa_rail-fade-in .15s var(--ds-ease-in-out) backwards}@keyframes hHd-Xa_rail-in{0%{opacity:0;transform:translate(49px)}}@keyframes hHd-Xa_rail-fade-in{0%{opacity:0}}.hHd-Xa_logoRow{box-sizing:border-box;flex:none;justify-content:flex-end;align-items:center;gap:8px;height:60px;margin-bottom:8px;padding:8px 0 8px 4px;display:flex;overflow:hidden}.hHd-Xa_collapsed .hHd-Xa_logoRow{justify-content:flex-start;height:36px;margin-bottom:12px;padding:0}.hHd-Xa_brand{min-width:0;color:inherit;cursor:pointer;background:0 0;border:none;flex:1;align-items:center;padding:0;display:inline-flex;overflow:hidden}.hHd-Xa_brandIdentity{align-items:center;gap:8px;min-width:0;height:24px;display:inline-flex}.hHd-Xa_brandMark{flex:none;justify-content:center;align-items:center;display:inline-flex}.hHd-Xa_brandName{letter-spacing:.04em;align-items:center;gap:6px;min-width:0;height:24px;font-size:18px;font-weight:600;line-height:24px;display:inline-flex}.hHd-Xa_fallbackBrandName{letter-spacing:0;white-space:nowrap;font-size:17px}.hHd-Xa_localBuildBrand{white-space:nowrap;flex-direction:column;flex:none;justify-content:center;align-items:flex-start;gap:1px;height:24px;display:inline-flex}.hHd-Xa_localBuildTitle{letter-spacing:0;font-size:12px;line-height:13px}.hHd-Xa_iconButton{corner-shape:round;cursor:pointer;width:28px;height:28px;color:var(--dsw-alias-label-secondary);background:0 0;border:none;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex}.hHd-Xa_iconButton:hover{background:var(--dsw-alias-interactive-bg-hover)}.hHd-Xa_collapsed .hHd-Xa_iconButton{width:36px;height:36px}.hHd-Xa_collapsed .hHd-Xa_toggle .hHd-Xa_panelIcon{display:none}.hHd-Xa_collapsed .hHd-Xa_toggle:hover .hHd-Xa_panelIcon{display:inline}.hHd-Xa_collapsed .hHd-Xa_toggle:hover .hHd-Xa_railMark{display:none}.hHd-Xa_railMark{justify-content:center;align-items:center;display:inline-flex}.hHd-Xa_collapsed .hHd-Xa_iconButton{color:var(--dsw-alias-label-primary)}.hHd-Xa_buildVersion{height:10px;color:var(--dsw-alias-label-primary-inverted);background:var(--dsw-alias-label-primary);font-family:var(--ds-font-family-code);white-space:nowrap;border-radius:2px;flex:none;align-items:center;padding:0 3px;font-size:6px;font-weight:500;line-height:10px;display:inline-flex}.hHd-Xa_newSession{box-sizing:border-box;border:.5px solid var(--dsw-alias-border-l3);background:var(--dsw-alias-button-elevated-fill);height:38px;color:var(--dsw-alias-label-primary);cursor:pointer;border-radius:12px;flex:none;justify-content:center;align-items:center;gap:6px;margin:0 2px 8px;padding:8px 16px;font-size:14px;font-weight:500;line-height:22px;display:flex;overflow:hidden}.hHd-Xa_newSession:hover{background:var(--dsw-alias-button-floating-hover)}.hHd-Xa_collapsed .hHd-Xa_newSession{background:0 0;border-color:#0000;align-self:flex-start;gap:0;width:36px;height:36px;margin:0 0 12px;padding:0}.hHd-Xa_collapsed .hHd-Xa_newSession:hover{background:var(--dsw-alias-interactive-bg-hover)}.hHd-Xa_newSessionLabel{white-space:nowrap;max-width:200px;overflow:hidden}.hHd-Xa_collapsed .hHd-Xa_newSessionLabel{max-width:0}.hHd-Xa_regionArea{min-height:0;margin-left:-4px;margin-right:calc(-1 * var(--dsh-sidebar-inline-padding));flex-direction:column;flex:1;padding-left:4px;display:flex;overflow:hidden}.hHd-Xa_collapsed .hHd-Xa_regionArea{margin-left:0;margin-right:0;padding-left:0}.hHd-Xa_footArea{flex-direction:column;flex:none;display:flex}.hHd-Xa_settingsArea,.hHd-Xa_footerActions{flex:none;width:100%;min-width:0}.hHd-Xa_footerActions{display:flex}.hHd-Xa_collapsed .hHd-Xa_footArea{align-items:center}.hHd-Xa_collapsed .hHd-Xa_settingsArea,.hHd-Xa_collapsed .hHd-Xa_footerActions{justify-content:center;width:auto;display:flex}@media (prefers-reduced-motion:reduce){.hHd-Xa_wide,.hHd-Xa_fading>*,.hHd-Xa_railIn .hHd-Xa_iconButton,.hHd-Xa_railIn .hHd-Xa_newSession,.hHd-Xa_railIn .hHd-Xa_footArea,.hHd-Xa_railIn .hHd-Xa_regionArea{transition:none;animation:none}}";
|
|
27
27
|
const tagId = "@deepseek-ai/dsh-client-ui-sidebar/SidebarRoot.module.css";
|
|
28
28
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
29
29
|
const tag = document.createElement("style");
|
|
@@ -37,13 +37,15 @@ window.__ModuleLoader__.load({
|
|
|
37
37
|
"brandIdentity": "hHd-Xa_brandIdentity",
|
|
38
38
|
"brandMark": "hHd-Xa_brandMark",
|
|
39
39
|
"brandName": "hHd-Xa_brandName",
|
|
40
|
-
"
|
|
40
|
+
"buildVersion": "hHd-Xa_buildVersion",
|
|
41
41
|
"collapsed": "hHd-Xa_collapsed",
|
|
42
42
|
"fading": "hHd-Xa_fading",
|
|
43
43
|
"fallbackBrandName": "hHd-Xa_fallbackBrandName",
|
|
44
44
|
"footArea": "hHd-Xa_footArea",
|
|
45
45
|
"footerActions": "hHd-Xa_footerActions",
|
|
46
46
|
"iconButton": "hHd-Xa_iconButton",
|
|
47
|
+
"localBuildBrand": "hHd-Xa_localBuildBrand",
|
|
48
|
+
"localBuildTitle": "hHd-Xa_localBuildTitle",
|
|
47
49
|
"logoRow": "hHd-Xa_logoRow",
|
|
48
50
|
"newSession": "hHd-Xa_newSession",
|
|
49
51
|
"newSessionLabel": "hHd-Xa_newSessionLabel",
|
|
@@ -88,6 +90,10 @@ window.__ModuleLoader__.load({
|
|
|
88
90
|
* edge — on the way to the conversation, or around a portalled menu.
|
|
89
91
|
*/
|
|
90
92
|
const SCROLLBAR_LINGER_MS = 2e3;
|
|
93
|
+
/** Format complete-build metadata for the local brand badge. */
|
|
94
|
+
function localBuildVersion() {
|
|
95
|
+
return `0.1.2-rc.1-d4eb4f4` + ({}.DSH_CLIENT_GIT_DIRTY === "true" ? "-dirty" : "");
|
|
96
|
+
}
|
|
91
97
|
/**
|
|
92
98
|
* Render the sidebar column shell.
|
|
93
99
|
* @param props - composed slot props (runtime share + injected callbacks, contract/slots.ts).
|
|
@@ -141,6 +147,7 @@ window.__ModuleLoader__.load({
|
|
|
141
147
|
cancelLinger();
|
|
142
148
|
};
|
|
143
149
|
}, [pointerInside]);
|
|
150
|
+
const buildVersion = localBuildVersion();
|
|
144
151
|
return (0, react_jsx_runtime.jsxs)("div", {
|
|
145
152
|
ref: column,
|
|
146
153
|
className: clsx(SidebarRoot_module_css_default.root, !wide && SidebarRoot_module_css_default.collapsed, !wide && everWide.current && SidebarRoot_module_css_default.railIn, collapsed && wide && SidebarRoot_module_css_default.fading, !pointerInside && SidebarRoot_module_css_default.quietBars),
|
|
@@ -170,13 +177,19 @@ window.__ModuleLoader__.load({
|
|
|
170
177
|
children: renderSlot("sidebar.brand.mark", { size: 24 }, { fallback: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.FishLogo, { size: 24 }) })
|
|
171
178
|
}), (0, react_jsx_runtime.jsx)("span", {
|
|
172
179
|
className: SidebarRoot_module_css_default.brandName,
|
|
173
|
-
children: renderSlot("sidebar.brand.name", {}, { fallback:
|
|
180
|
+
children: renderSlot("sidebar.brand.name", {}, { fallback: buildVersion === void 0 ? (0, react_jsx_runtime.jsx)("span", {
|
|
174
181
|
className: SidebarRoot_module_css_default.fallbackBrandName,
|
|
175
|
-
children: "
|
|
176
|
-
})
|
|
177
|
-
className: SidebarRoot_module_css_default.
|
|
178
|
-
children: "
|
|
179
|
-
|
|
182
|
+
children: t("brand.localBuild")
|
|
183
|
+
}) : (0, react_jsx_runtime.jsxs)("span", {
|
|
184
|
+
className: SidebarRoot_module_css_default.localBuildBrand,
|
|
185
|
+
children: [(0, react_jsx_runtime.jsx)("span", {
|
|
186
|
+
className: SidebarRoot_module_css_default.localBuildTitle,
|
|
187
|
+
children: t("brand.localBuild")
|
|
188
|
+
}), (0, react_jsx_runtime.jsx)("span", {
|
|
189
|
+
className: SidebarRoot_module_css_default.buildVersion,
|
|
190
|
+
children: buildVersion
|
|
191
|
+
})]
|
|
192
|
+
}) })
|
|
180
193
|
})]
|
|
181
194
|
})
|
|
182
195
|
}), (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.Tooltip, {
|
|
@@ -264,21 +277,21 @@ window.__ModuleLoader__.load({
|
|
|
264
277
|
const inject = [
|
|
265
278
|
"slots",
|
|
266
279
|
"layout",
|
|
267
|
-
"
|
|
268
|
-
"workspaces",
|
|
280
|
+
"uiWorkspace",
|
|
269
281
|
"locale"
|
|
270
282
|
];
|
|
271
283
|
/** Registers the sidebar shell and its service callbacks.
|
|
272
284
|
* @param ctx - Client root context.
|
|
273
285
|
*/
|
|
274
286
|
function apply(ctx) {
|
|
287
|
+
const workspaceNavigation = ctx.get("uiWorkspace");
|
|
275
288
|
ctx.effect(() => ctx.locale.register(NS, {
|
|
276
289
|
zh,
|
|
277
290
|
en
|
|
278
291
|
}), "ui-sidebar: dictionaries");
|
|
279
292
|
const injectProps = () => ({
|
|
280
293
|
startSession: (workspaceId) => {
|
|
281
|
-
|
|
294
|
+
workspaceNavigation.startSession(workspaceId);
|
|
282
295
|
},
|
|
283
296
|
toggleSidebar: () => {
|
|
284
297
|
ctx.layout.toggleSidebar();
|
|
@@ -8,7 +8,7 @@ window.__ModuleLoader__.load({
|
|
|
8
8
|
let react = require("react");
|
|
9
9
|
let _deepseek_ai_dsh_client_ui_primitives = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
10
10
|
//#region \0dsh-css:/home/runner/work/deepseek-harness/deepseek-harness/packages/client/ui-skill/src/client/SkillRow.module.css.mjs
|
|
11
|
-
const css = ".iWrAna_card{flex-direction:column;display:flex}.iWrAna_row{align-items:center;min-width:0;height:24px;display:flex;position:relative;overflow:hidden}.iWrAna_row[data-expandable]{cursor:pointer}.iWrAna_card[data-state=running] .iWrAna_row:after{content:\"\";background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--dsw-alias-bg-base) 60%, transparent) 55%, transparent 100%);pointer-events:none;width:300px;animation:2.6s ease-out infinite iWrAna_dsh-skill-row-sweep;position:absolute;inset:0 auto 0 0}@keyframes iWrAna_dsh-skill-row-sweep{0%{left:-300px}90%,to{left:100%}}.iWrAna_leading{width:16px;height:16px;color:var(--dsw-alias-label-tertiary);flex:none;justify-content:center;align-items:center;margin-right:6px;display:inline-flex;position:relative}.iWrAna_chevron{color:var(--dsw-alias-label-secondary)}.iWrAna_iconIdle{opacity:1;transition:opacity .1s;display:inline-flex}.iWrAna_chevronHover{opacity:0;margin:auto;transition:opacity .1s;position:absolute;inset:0}.iWrAna_row:hover .iWrAna_iconIdle{opacity:0}.iWrAna_row:hover .iWrAna_chevronHover{opacity:1}.iWrAna_title{color:var(--dsw-alias-label-secondary);flex:none;font-size:14px;line-height:24px}.iWrAna_separator{background:var(--dsw-alias-label-caption);border-radius:1px;flex:none;width:2px;height:2px;margin:0 8px}.iWrAna_summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-tertiary);flex:auto;font-size:14px;line-height:24px;overflow:hidden}.iWrAna_errorSummary{color:var(--dsw-alias-state-error-primary)}.iWrAna_bodyWrap{flex-direction:column;display:flex}.iWrAna_instructionsCard{border
|
|
11
|
+
const css = ".iWrAna_card{flex-direction:column;display:flex}.iWrAna_row{align-items:center;min-width:0;height:24px;display:flex;position:relative;overflow:hidden}.iWrAna_row[data-expandable]{cursor:pointer}.iWrAna_card[data-state=running] .iWrAna_row:after{content:\"\";background:linear-gradient(90deg, transparent 0%, color-mix(in srgb, var(--dsw-alias-bg-base) 60%, transparent) 55%, transparent 100%);pointer-events:none;width:300px;animation:2.6s ease-out infinite iWrAna_dsh-skill-row-sweep;position:absolute;inset:0 auto 0 0}@keyframes iWrAna_dsh-skill-row-sweep{0%{left:-300px}90%,to{left:100%}}.iWrAna_leading{width:16px;height:16px;color:var(--dsw-alias-label-tertiary);flex:none;justify-content:center;align-items:center;margin-right:6px;display:inline-flex;position:relative}.iWrAna_chevron{color:var(--dsw-alias-label-secondary)}.iWrAna_iconIdle{opacity:1;transition:opacity .1s;display:inline-flex}.iWrAna_chevronHover{opacity:0;margin:auto;transition:opacity .1s;position:absolute;inset:0}.iWrAna_row:hover .iWrAna_iconIdle{opacity:0}.iWrAna_row:hover .iWrAna_chevronHover{opacity:1}.iWrAna_title{color:var(--dsw-alias-label-secondary);flex:none;font-size:14px;line-height:24px}.iWrAna_separator{background:var(--dsw-alias-label-caption);border-radius:1px;flex:none;width:2px;height:2px;margin:0 8px}.iWrAna_summary{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--dsw-alias-label-tertiary);flex:auto;font-size:14px;line-height:24px;overflow:hidden}.iWrAna_errorSummary{color:var(--dsw-alias-state-error-primary)}.iWrAna_bodyWrap{flex-direction:column;display:flex}.iWrAna_instructionsCard{border:.5px solid var(--dsw-alias-border-l1);background:var(--dsw-alias-markdown-code-block);border-radius:12px;flex-direction:column;max-height:260px;margin:4px 0 4px 4px;display:flex;overflow:hidden}.iWrAna_instructionsHeader{border-bottom:.5px solid var(--dsw-alias-border-l2);background:var(--dsw-alias-markdown-code-block-banner);color:var(--dsw-alias-label-caption);text-transform:uppercase;letter-spacing:.04em;flex:none;padding:8px 12px;font-size:11px;font-weight:500;line-height:16px}.iWrAna_instructions{white-space:pre-wrap;overflow-wrap:anywhere;min-height:0;font:var(--dsw-font-markdown-code-block-small);color:var(--dsw-alias-label-secondary);margin:0;padding:10px 12px 12px;overflow:auto}.iWrAna_instructions[data-error]{color:var(--dsw-alias-state-error-primary)}.iWrAna_instructions::-webkit-scrollbar-thumb{background-clip:padding-box;border:2px solid #0000;border-radius:6px}.iWrAna_instructions::-webkit-scrollbar-track{margin:6px 0}.iWrAna_inspectButton{border:.5px solid var(--dsw-alias-border-l4);corner-shape:round;background:var(--dsw-alias-bg-base);color:var(--dsw-alias-label-secondary);cursor:pointer;opacity:0;border-radius:999px;align-self:flex-start;align-items:center;gap:4px;margin:4px 0 2px 4px;padding:2px 8px;font-size:11px;line-height:16px;transition:opacity .1s;display:inline-flex}.iWrAna_card:hover .iWrAna_inspectButton,.iWrAna_inspectButton:focus-visible{opacity:1}.iWrAna_inspectButton:hover{background:var(--dsw-alias-interactive-bg-hover-solid);color:var(--dsw-alias-label-primary)}.iWrAna_visuallyHidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (prefers-reduced-motion:reduce){.iWrAna_card[data-state=running] .iWrAna_row:after{animation:none;display:none}.iWrAna_iconIdle,.iWrAna_chevronHover,.iWrAna_inspectButton{transition:none}}";
|
|
12
12
|
const tagId = "@deepseek-ai/dsh-client-ui-skill/SkillRow.module.css";
|
|
13
13
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
14
14
|
const tag = document.createElement("style");
|
|
@@ -150,7 +150,7 @@ window.__ModuleLoader__.load({
|
|
|
150
150
|
}) : null,
|
|
151
151
|
(0, react_jsx_runtime.jsx)("span", {
|
|
152
152
|
className: SkillRow_module_css_default.title,
|
|
153
|
-
children: "
|
|
153
|
+
children: t("row.title")
|
|
154
154
|
}),
|
|
155
155
|
(0, react_jsx_runtime.jsx)("span", {
|
|
156
156
|
className: SkillRow_module_css_default.separator,
|
|
@@ -178,7 +178,7 @@ window.__ModuleLoader__.load({
|
|
|
178
178
|
type: "button",
|
|
179
179
|
className: SkillRow_module_css_default.inspectButton,
|
|
180
180
|
onClick: inspect,
|
|
181
|
-
children: [(0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconInspectOutline12, {}), "
|
|
181
|
+
children: [(0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconInspectOutline12, {}), t("row.inspect")]
|
|
182
182
|
}) : null]
|
|
183
183
|
}) : null]
|
|
184
184
|
});
|
|
@@ -190,18 +190,22 @@ window.__ModuleLoader__.load({
|
|
|
190
190
|
const NS = "skill";
|
|
191
191
|
/** Simplified Chinese dictionary (the key-set source of truth). */
|
|
192
192
|
const zh = {
|
|
193
|
+
"row.title": "Skill",
|
|
193
194
|
"row.running": "正在加载 skill",
|
|
194
195
|
"row.failed": "skill 加载失败",
|
|
195
196
|
"row.stopped": "skill 加载已中止",
|
|
196
197
|
"row.instructions": "说明",
|
|
198
|
+
"row.inspect": "查看",
|
|
197
199
|
"menu.userOnly": "仅用户"
|
|
198
200
|
};
|
|
199
201
|
/** English dictionary, checked complete against the zh key set. */
|
|
200
202
|
const en = {
|
|
203
|
+
"row.title": "Skill",
|
|
201
204
|
"row.running": "Loading skill",
|
|
202
205
|
"row.failed": "Skill load failed",
|
|
203
206
|
"row.stopped": "Skill load stopped",
|
|
204
207
|
"row.instructions": "Instructions",
|
|
208
|
+
"row.inspect": "Inspect",
|
|
205
209
|
"menu.userOnly": "user-only"
|
|
206
210
|
};
|
|
207
211
|
//#endregion
|
|
@@ -209,11 +213,11 @@ window.__ModuleLoader__.load({
|
|
|
209
213
|
/** Required services: reference source faces plus the tool-row and locale registries. */
|
|
210
214
|
const inject = [
|
|
211
215
|
"inputTriggers",
|
|
212
|
-
"connection",
|
|
213
216
|
"sessions",
|
|
214
217
|
"slots",
|
|
215
218
|
"locale",
|
|
216
|
-
"remote"
|
|
219
|
+
"remote",
|
|
220
|
+
"remote.skills"
|
|
217
221
|
];
|
|
218
222
|
/**
|
|
219
223
|
* Client plugin body: register the '/' source, dictionaries, and keyed tool row.
|
|
@@ -229,8 +233,8 @@ window.__ModuleLoader__.load({
|
|
|
229
233
|
key: "skill",
|
|
230
234
|
locale: NS
|
|
231
235
|
}, SkillRow));
|
|
232
|
-
const skills = ctx.
|
|
233
|
-
const sessions = ctx.
|
|
236
|
+
const skills = ctx.remote.skills;
|
|
237
|
+
const sessions = ctx.sessions;
|
|
234
238
|
const fetches = /* @__PURE__ */ new Map();
|
|
235
239
|
const lexiconListeners = /* @__PURE__ */ new Map();
|
|
236
240
|
const notifyLexicon = (sessionId) => {
|
|
@@ -246,8 +250,8 @@ window.__ModuleLoader__.load({
|
|
|
246
250
|
if (existing !== void 0) return existing.promise;
|
|
247
251
|
const abort = new AbortController();
|
|
248
252
|
const promise = (async () => {
|
|
249
|
-
const
|
|
250
|
-
if (!result.ok) throw new Error(`
|
|
253
|
+
const result = await skills.list({ sessionId }, abort.signal);
|
|
254
|
+
if (!result.ok) throw new Error(`skills/list failed: ${result.error.code}: ${result.error.message}`);
|
|
251
255
|
return result.value.skills;
|
|
252
256
|
})();
|
|
253
257
|
const entry = {
|
|
@@ -7,10 +7,9 @@ window.__ModuleLoader__.load({
|
|
|
7
7
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
8
8
|
let react = require("react");
|
|
9
9
|
let react_dom = require("react-dom");
|
|
10
|
-
let _deepseek_ai_dsh_client_runtime_client = require("@deepseek-ai/dsh-client-runtime/client");
|
|
11
10
|
let _deepseek_ai_dsh_client_ui_primitives = require("@deepseek-ai/dsh-client-ui-primitives");
|
|
12
11
|
//#region \0dsh-css:/home/runner/work/deepseek-harness/deepseek-harness/packages/client/ui-subagent/src/client/SubagentHeaderLineage.module.css.mjs
|
|
13
|
-
const css$1 = ".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{min-height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;border-radius:6px;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_separator{color:var(--dsw-alias-label-caption);font-size:14px;line-height:20px}.ZKlsPq_activitySlot{flex:none;width:10px;height:10px;display:inline-flex}.ZKlsPq_trigger:hover,.ZKlsPq_trigger:focus-visible{color:var(--dsw-alias-label-secondary)}.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;background:var(--dsw-specific-menu);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);width:336px;max-width:min(400px,100vw - 32px);max-height:min(560px,100vh - 140px);box-shadow:var(--dsw-
|
|
12
|
+
const css$1 = ".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{min-height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:0;border-radius:6px;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_separator{color:var(--dsw-alias-label-caption);font-size:14px;line-height:20px}.ZKlsPq_activitySlot{flex:none;width:10px;height:10px;display:inline-flex}.ZKlsPq_trigger:hover,.ZKlsPq_trigger:focus-visible{color:var(--dsw-alias-label-secondary)}.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;background:var(--dsw-specific-menu);--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);border-radius:20px;flex-direction:column;padding:4px;display:flex;position:fixed;overflow:auto}.ZKlsPq_node{min-width:0;position:relative}.ZKlsPq_menu>.ZKlsPq_node{margin-left:-3px}.ZKlsPq_row{box-sizing:border-box;width:100%;min-height:50px;color:var(--dsw-alias-label-primary);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;outline:none;align-items:flex-start;gap:8px;padding:7px 8px 7px 11px;font-size:13px;line-height:18px;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:8px;flex:1;align-self:stretch;align-items:flex-start;gap:8px;min-width:0;margin:-7px -8px;padding:7px 8px;display:flex}.ZKlsPq_row>[data-state],.ZKlsPq_clickarea>[data-state]{margin-top:4px}.ZKlsPq_disabled{color:var(--dsw-alias-label-dimmed);cursor:not-allowed}.ZKlsPq_disabled:hover{background:0 0}.ZKlsPq_loadingRow{cursor:default}.ZKlsPq_disclosure,.ZKlsPq_disclosureSpace{flex:none;width:14px;height:18px}.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: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:11px;line-height:16px}.ZKlsPq_metrics{font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;flex:none;grid-template-rows:18px 16px;display:grid}.ZKlsPq_metricToken{grid-row:1;line-height:18px}.ZKlsPq_metricDuration{grid-row:2}.ZKlsPq_children{margin-left:18px;padding-left:4px;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:26px;top:-26px}.ZKlsPq_children[aria-busy=true]:before{content:none}.ZKlsPq_children>.ZKlsPq_node:before{top:0;bottom:0;left:-4px}.ZKlsPq_children>.ZKlsPq_node:last-child:before{height:17px;bottom:auto}.ZKlsPq_children>.ZKlsPq_node>.ZKlsPq_row:before{content:\"\";border-top:.5px solid var(--dsw-alias-border-l2);width:14px;position:absolute;top:16px;left:-4px}.ZKlsPq_notice,.ZKlsPq_error{color:var(--dsw-alias-label-tertiary);padding:10px 12px;font-size:12px;line-height:18px}.ZKlsPq_error{color:var(--dsw-alias-state-error-primary);justify-content:space-between;align-items:center;gap:12px;display:flex}.ZKlsPq_refresh{color:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;align-items:center;gap:4px;padding:4px 6px;display:inline-flex}.ZKlsPq_refresh:hover{background:var(--dsw-alias-interactive-bg-hover)}";
|
|
14
13
|
const tagId$1 = "@deepseek-ai/dsh-client-ui-subagent/SubagentHeaderLineage.module.css";
|
|
15
14
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$1) + "]") === null) {
|
|
16
15
|
const tag = document.createElement("style");
|
|
@@ -51,6 +50,36 @@ window.__ModuleLoader__.load({
|
|
|
51
50
|
"triggerOpen": "ZKlsPq_triggerOpen"
|
|
52
51
|
};
|
|
53
52
|
//#endregion
|
|
53
|
+
//#region lib/types/client/subagent-lineage.js
|
|
54
|
+
/** UI Subagent-owned projection of descendant counts from Session summaries. */
|
|
55
|
+
/**
|
|
56
|
+
* Index uninterrupted subagent descendants under each ancestor.
|
|
57
|
+
* @param summaries - Session summaries keyed by id.
|
|
58
|
+
* @returns descendant totals keyed by possible parent id.
|
|
59
|
+
*/
|
|
60
|
+
function indexSubagentDescendants(summaries) {
|
|
61
|
+
const indexed = /* @__PURE__ */ new Map();
|
|
62
|
+
for (const descendant of Object.values(summaries)) {
|
|
63
|
+
if (descendant.origin !== "subagent") continue;
|
|
64
|
+
const seen = /* @__PURE__ */ new Set();
|
|
65
|
+
let current = descendant;
|
|
66
|
+
while (current?.origin === "subagent" && current.parentId !== void 0 && !seen.has(current.id)) {
|
|
67
|
+
seen.add(current.id);
|
|
68
|
+
const aggregate = indexed.get(current.parentId);
|
|
69
|
+
if (aggregate === void 0) indexed.set(current.parentId, {
|
|
70
|
+
count: 1,
|
|
71
|
+
runningCount: descendant.running ? 1 : 0
|
|
72
|
+
});
|
|
73
|
+
else {
|
|
74
|
+
aggregate.count += 1;
|
|
75
|
+
if (descendant.running) aggregate.runningCount += 1;
|
|
76
|
+
}
|
|
77
|
+
current = summaries[current.parentId];
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
return indexed;
|
|
81
|
+
}
|
|
82
|
+
//#endregion
|
|
54
83
|
//#region lib/types/client/SubagentHeaderLineage.js
|
|
55
84
|
function diagnosticReason(entry, t) {
|
|
56
85
|
switch (entry.reason) {
|
|
@@ -63,11 +92,11 @@ window.__ModuleLoader__.load({
|
|
|
63
92
|
return root === null ? [] : Array.from(root.querySelectorAll("[role=\"treeitem\"]:not([aria-disabled=\"true\"])"));
|
|
64
93
|
}
|
|
65
94
|
/** Compact token count shared in shape with the conversation stats strip. */
|
|
66
|
-
function formatTokens(value) {
|
|
95
|
+
function formatTokens(value, t) {
|
|
67
96
|
const scaled = (next) => next >= 100 ? String(Math.round(next)) : String(Math.round(next * 10) / 10);
|
|
68
97
|
if (value < 1e3) return String(value);
|
|
69
|
-
if (value < 1e6) return
|
|
70
|
-
return
|
|
98
|
+
if (value < 1e6) return t("tokens.thousand", { value: scaled(value / 1e3) });
|
|
99
|
+
return t("tokens.million", { value: scaled(value / 1e6) });
|
|
71
100
|
}
|
|
72
101
|
/** Sum the four disjoint durable provider-usage buckets. */
|
|
73
102
|
function tokenTotal(usage) {
|
|
@@ -257,7 +286,7 @@ window.__ModuleLoader__.load({
|
|
|
257
286
|
].filter((value) => value !== void 0).join(" · ");
|
|
258
287
|
const totalTokens = tokenTotal(summary?.projectionValues?.tokenUsage);
|
|
259
288
|
const durationMs = activityDuration(summary, entry.activity, now);
|
|
260
|
-
const tokenMetric = totalTokens === void 0 ? void 0 :
|
|
289
|
+
const tokenMetric = totalTokens === void 0 ? void 0 : t("tokens.total", { value: formatTokens(totalTokens, t) });
|
|
261
290
|
const durationMetric = durationMs === void 0 ? void 0 : {
|
|
262
291
|
compact: formatDuration(durationMs, t),
|
|
263
292
|
exact: formatExactDuration(durationMs, t)
|
|
@@ -392,13 +421,12 @@ window.__ModuleLoader__.load({
|
|
|
392
421
|
const hoverOpenTimer = (0, react.useRef)(void 0);
|
|
393
422
|
const hoverCloseTimer = (0, react.useRef)(void 0);
|
|
394
423
|
const observedCatalogs = (0, react.useRef)(/* @__PURE__ */ new Set());
|
|
395
|
-
const requestedInitialCatalog = (0, react.useRef)();
|
|
396
424
|
const setCatalogOpenRef = (0, react.useRef)(setCatalogOpen);
|
|
397
425
|
setCatalogOpenRef.current = setCatalogOpen;
|
|
398
426
|
const currentEntry = currentSessionId === void 0 ? void 0 : catalog?.entries.find((entry) => entry.kind === "child" && entry.id === currentSessionId);
|
|
399
427
|
const switcherDisplayTitle = currentEntry?.kind === "child" ? currentEntry.label ?? currentEntry.id : displayTitle;
|
|
400
428
|
const healthy = catalog?.entries.filter((entry) => entry.kind === "child") ?? [];
|
|
401
|
-
const descendants = (0, react.useMemo)(() =>
|
|
429
|
+
const descendants = (0, react.useMemo)(() => indexSubagentDescendants(summaries).get(rootSessionId) ?? NO_DESCENDANTS, [rootSessionId, summaries]);
|
|
402
430
|
const descendantCount = Math.max(healthy.length, descendants.count);
|
|
403
431
|
const totalCountKey = descendantCount === 1 ? "count.total.one" : "count.total.other";
|
|
404
432
|
const runningCountKey = descendants.runningCount === 1 ? "count.running.one" : "count.running.other";
|
|
@@ -408,16 +436,6 @@ window.__ModuleLoader__.load({
|
|
|
408
436
|
state: "loading",
|
|
409
437
|
error: null
|
|
410
438
|
} : catalog;
|
|
411
|
-
(0, react.useEffect)(() => {
|
|
412
|
-
if (variant !== "switcher" || catalog !== void 0 || requestedInitialCatalog.current === rootSessionId) return;
|
|
413
|
-
requestedInitialCatalog.current = rootSessionId;
|
|
414
|
-
refresh(rootSessionId);
|
|
415
|
-
}, [
|
|
416
|
-
catalog,
|
|
417
|
-
refresh,
|
|
418
|
-
rootSessionId,
|
|
419
|
-
variant
|
|
420
|
-
]);
|
|
421
439
|
const observeCatalog = (parentSessionId, next) => {
|
|
422
440
|
if (next) observedCatalogs.current.add(parentSessionId);
|
|
423
441
|
else observedCatalogs.current.delete(parentSessionId);
|
|
@@ -679,7 +697,7 @@ window.__ModuleLoader__.load({
|
|
|
679
697
|
}
|
|
680
698
|
//#endregion
|
|
681
699
|
//#region \0dsh-css:/home/runner/work/deepseek-harness/deepseek-harness/packages/client/ui-subagent/src/client/SubagentReadOnlyComposer.module.css.mjs
|
|
682
|
-
const css = ".XJ7liG_frame{border
|
|
700
|
+
const css = ".XJ7liG_frame{border:.5px solid var(--dsw-alias-border-l4);background:var(--dsw-alias-bg-layer-1);min-height:54px;color:var(--dsw-alias-label-tertiary);border-radius:14px;justify-content:center;align-items:center;gap:8px;margin:0 24px 20px;padding:10px 16px;font-size:13px;line-height:20px;display:flex}.XJ7liG_frame strong{color:var(--dsw-alias-label-primary);font-weight:510}";
|
|
683
701
|
const tagId = "@deepseek-ai/dsh-client-ui-subagent/SubagentReadOnlyComposer.module.css";
|
|
684
702
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
685
703
|
const tag = document.createElement("style");
|
|
@@ -725,6 +743,9 @@ window.__ModuleLoader__.load({
|
|
|
725
743
|
"duration.yearsMonths": "约{years}年{months}个月",
|
|
726
744
|
"duration.exactDays": "{days}天{hours}小时{minutes}分{seconds}秒",
|
|
727
745
|
"duration.exactTitle": "总活跃耗时:{duration}",
|
|
746
|
+
"tokens.thousand": "{value}K",
|
|
747
|
+
"tokens.million": "{value}M",
|
|
748
|
+
"tokens.total": "{value} tok",
|
|
728
749
|
"loading.label": "正在加载子代理…",
|
|
729
750
|
"loading.aria": "正在加载子代理",
|
|
730
751
|
"load.error": "无法加载子代理",
|
|
@@ -762,6 +783,9 @@ window.__ModuleLoader__.load({
|
|
|
762
783
|
"duration.yearsMonths": "~{years}y {months}mo",
|
|
763
784
|
"duration.exactDays": "{days}d {hours}h {minutes}m {seconds}s",
|
|
764
785
|
"duration.exactTitle": "Total active duration: {duration}",
|
|
786
|
+
"tokens.thousand": "{value}K",
|
|
787
|
+
"tokens.million": "{value}M",
|
|
788
|
+
"tokens.total": "{value} tok",
|
|
765
789
|
"loading.label": "Loading subagents…",
|
|
766
790
|
"loading.aria": "Loading subagents",
|
|
767
791
|
"load.error": "Unable to load subagents",
|
|
@@ -796,7 +820,7 @@ window.__ModuleLoader__.load({
|
|
|
796
820
|
const subagent = owner.session?.subagent;
|
|
797
821
|
if (subagent === void 0 || subagent === null) return null;
|
|
798
822
|
if (subagent.address.mode === "one-shot") return { reason: "one-shot" };
|
|
799
|
-
if (subagent.parentAvailable) return null;
|
|
823
|
+
if (subagent.parentAvailable !== false) return null;
|
|
800
824
|
return owner.session?.running === true ? null : { reason: "parent-unavailable" };
|
|
801
825
|
}
|
|
802
826
|
/**
|