@deepseek-ai/dsh-client-ui-cordis 0.1.6-alpha.2 → 0.1.7-alpha.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.
- package/README.i18n.yaml +2 -2
- package/README.md +2 -2
- package/README.zh.md +2 -2
- package/lib/client.js +33 -25
- package/package.json +14 -14
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/extensions/ui-cordis/README.md
|
|
5
|
-
README.md:
|
|
6
|
-
README.zh.md:
|
|
5
|
+
README.md: 1f3677d48eda13cad18a24ed6021f30535db686a
|
|
6
|
+
README.zh.md: f3855ce6f75efc7510abdaff8d211cec167d5117
|
package/README.md
CHANGED
|
@@ -29,11 +29,11 @@ Compose this package with the Host and Client runners to render historical tool
|
|
|
29
29
|
|
|
30
30
|
### What the panel shows
|
|
31
31
|
|
|
32
|
-
A `sidebar.footer.action` seat shows a badge counting what runs plus what waits; opening it lists every definition with its run controls. The list is never filtered by session: the current session's rows group first, everyone else's stay listed below. Rows come from the host's current inventory and update whenever an announcement changes what exists. A pending run request whose definition the last read does not cover still gets a row, rendered from the request's own session, label, purpose, and identity. Each row shows two independent facts — what the host runs and what this page has loaded —
|
|
32
|
+
A `sidebar.footer.action` seat shows a badge counting what runs plus what waits; opening it lists every definition with its run controls. The list is never filtered by session: the current session's rows group first, everyone else's stay listed below. Rows come from the host's current inventory and update whenever an announcement changes what exists. A pending run request whose definition the last read does not cover still gets a row, rendered from the request's own session, label, purpose, and identity. Each row shows two independent facts — what the host runs and what this page has loaded — and maps them onto the shared status marker: idle uses idle, client loading and an action in flight use ongoing, a running definition uses done, approval waits use warning, and failures use error. A reloaded page offers "load back into this page" before the global stop, while a host-only definition reads plainly running and offers the stop alone. The row also carries this page's last render failure inline, in the same place as a load failure: one is "it never loaded", the other "it loaded and then threw".
|
|
33
33
|
|
|
34
34
|
### What the tool cards show
|
|
35
35
|
|
|
36
|
-
The `cordis_define` card is a record: the name and purpose the model wrote, the source it wrote, and whether the definition is running — no switch, no approval, and a pointer to the panel. The `cordis_run` card shows the mode, the plugin, package, and run ids, the outcome, and offers the package's own business view through the `tool.view.cordis` slot when the package registered one.
|
|
36
|
+
The `cordis_define` card is a record: the name and purpose the model wrote, the source it wrote, and whether the definition is running — no switch, no approval, and a pointer to the panel. The `cordis_run` card shows the mode, the plugin, package, and run ids, the outcome, and offers the package's own business view through the `tool.view.cordis` slot when the package registered one. Define, run, stop, and undefine cards retain their ordinary business glyph when they fail or are interrupted, including a correlated activation failure after a successful run receipt. All cards render from the recorded call and result, so replay shows the same card.
|
|
37
37
|
|
|
38
38
|
### Boundaries to plan around
|
|
39
39
|
|
package/README.zh.md
CHANGED
|
@@ -29,11 +29,11 @@ kind: "package-reference"
|
|
|
29
29
|
|
|
30
30
|
### 面板显示什么
|
|
31
31
|
|
|
32
|
-
一个 `sidebar.footer.action` 席位显示角标,计数在跑数加待确认数;点开后列出每个定义及其运行控件。列表从不按会话过滤:当前会话的行置顶成组,其他会话的行仍在下方列出。行来自 host 的当前清单,并在公告改变「有哪些定义」时更新。上一次读取覆盖不到的待审批 run 请求仍然有行,直接用请求自带的会话、标签、用途与标识渲染。每一行显示两个独立事实——host
|
|
32
|
+
一个 `sidebar.footer.action` 席位显示角标,计数在跑数加待确认数;点开后列出每个定义及其运行控件。列表从不按会话过滤:当前会话的行置顶成组,其他会话的行仍在下方列出。行来自 host 的当前清单,并在公告改变「有哪些定义」时更新。上一次读取覆盖不到的待审批 run 请求仍然有行,直接用请求自带的会话、标签、用途与标识渲染。每一行显示两个独立事实——host 在跑什么与本页装载了什么——并把它们映射到共享状态标记:idle 使用 idle,客户端装载及正在执行的操作使用 ongoing,运行中的定义使用 done,等待批准使用 warning,失败使用 error。刷新后的页面会先给「装回本页」、再给全局 stop,而纯 host 定义的行如实读作运行中、只给 stop。该行还会把本页最后一次渲染失败就地显示,与装载失败共用同一个位置:一个是「它从来没装上」,另一个是「它装上了、然后抛了」。
|
|
33
33
|
|
|
34
34
|
### 工具卡片显示什么
|
|
35
35
|
|
|
36
|
-
`cordis_define` 卡片是一份记录:模型写下的 name 与 purpose、它写的源码,以及该定义是否在跑——没有开关、没有审批,只有一句指向面板的指引。`cordis_run` 卡片显示模式、插件标识、包标识与运行标识、结果,并在包注册了业务视图时经 `tool.view.cordis` slot
|
|
36
|
+
`cordis_define` 卡片是一份记录:模型写下的 name 与 purpose、它写的源码,以及该定义是否在跑——没有开关、没有审批,只有一句指向面板的指引。`cordis_run` 卡片显示模式、插件标识、包标识与运行标识、结果,并在包注册了业务视图时经 `tool.view.cordis` slot 提供它。define、run、stop 与 undefine 卡片在失败或中断时继续保留普通业务图标,包括调用回执成功后发生的关联激活失败。所有卡片都渲染会话记录下的 call 与 result,因此回放显示同一张卡。
|
|
37
37
|
|
|
38
38
|
### 需要规划的边界
|
|
39
39
|
|
package/lib/client.js
CHANGED
|
@@ -153,7 +153,7 @@ window.__ModuleLoader__.load({
|
|
|
153
153
|
children: [
|
|
154
154
|
(0, react_jsx_runtime.jsx)("span", {
|
|
155
155
|
className: CordisRunRow_module_css_default.icon,
|
|
156
|
-
children:
|
|
156
|
+
children: remove ? (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconTrashOutlineRegular, { size: 14 }) : (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconStopFillRegular, { size: 14 })
|
|
157
157
|
}),
|
|
158
158
|
(0, react_jsx_runtime.jsx)("span", {
|
|
159
159
|
className: CordisRunRow_module_css_default.title,
|
|
@@ -172,7 +172,7 @@ window.__ModuleLoader__.load({
|
|
|
172
172
|
className: CordisRunRow_module_css_default.inspect,
|
|
173
173
|
"aria-label": t("action.inspect"),
|
|
174
174
|
onClick: inspect,
|
|
175
|
-
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
175
|
+
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconInspectOutlineRegular, {})
|
|
176
176
|
})
|
|
177
177
|
]
|
|
178
178
|
}), card.output !== null && (0, react_jsx_runtime.jsx)("pre", {
|
|
@@ -263,13 +263,6 @@ window.__ModuleLoader__.load({
|
|
|
263
263
|
default: return null;
|
|
264
264
|
}
|
|
265
265
|
}
|
|
266
|
-
function leadingFor(state) {
|
|
267
|
-
switch (state) {
|
|
268
|
-
case "error": return (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.StateDot, { state: "error" });
|
|
269
|
-
case "stopped": return (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.StateDot, { state: "warning" });
|
|
270
|
-
default: return (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconCodeOutline16, { size: 14 });
|
|
271
|
-
}
|
|
272
|
-
}
|
|
273
266
|
/** Render one immutable Package definition. */
|
|
274
267
|
function CordisDefineRow({ callId, block, inspect, useInventory, useLoaded, t }) {
|
|
275
268
|
const card = cordisDefineCard(block);
|
|
@@ -302,7 +295,7 @@ window.__ModuleLoader__.load({
|
|
|
302
295
|
rowClassName: CordisDefineRow_module_css_default.row,
|
|
303
296
|
titleClassName: CordisDefineRow_module_css_default.title,
|
|
304
297
|
chevronClassName: CordisDefineRow_module_css_default.chevron,
|
|
305
|
-
icon:
|
|
298
|
+
icon: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconCodeOutlineRegular, { size: 14 }),
|
|
306
299
|
title: t("row.defineTitle"),
|
|
307
300
|
open,
|
|
308
301
|
expandable,
|
|
@@ -363,6 +356,11 @@ window.__ModuleLoader__.load({
|
|
|
363
356
|
role: "tabpanel",
|
|
364
357
|
"aria-labelledby": `${sourcePanelId}-${activeSource}`,
|
|
365
358
|
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.CodeBlock, {
|
|
359
|
+
toolbarLabels: {
|
|
360
|
+
codeLabel: t("codeBlock.title"),
|
|
361
|
+
wrapLabel: t("codeBlock.wrap"),
|
|
362
|
+
unwrapLabel: t("codeBlock.unwrap")
|
|
363
|
+
},
|
|
366
364
|
code: activeCode,
|
|
367
365
|
lang: "javascript",
|
|
368
366
|
copyLabel: t("body.copy"),
|
|
@@ -390,7 +388,7 @@ window.__ModuleLoader__.load({
|
|
|
390
388
|
type: "button",
|
|
391
389
|
className: CordisDefineRow_module_css_default.inspectButton,
|
|
392
390
|
onClick: inspect,
|
|
393
|
-
children: [(0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
391
|
+
children: [(0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconInspectOutlineRegular, {}), t("action.inspect")]
|
|
394
392
|
})
|
|
395
393
|
]
|
|
396
394
|
})
|
|
@@ -506,7 +504,7 @@ window.__ModuleLoader__.load({
|
|
|
506
504
|
children: [
|
|
507
505
|
(0, react_jsx_runtime.jsx)("span", {
|
|
508
506
|
className: CordisRunRow_module_css_default.icon,
|
|
509
|
-
children:
|
|
507
|
+
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconCodeOutlineRegular, { size: 14 })
|
|
510
508
|
}),
|
|
511
509
|
(0, react_jsx_runtime.jsx)("span", {
|
|
512
510
|
className: CordisRunRow_module_css_default.title,
|
|
@@ -529,7 +527,7 @@ window.__ModuleLoader__.load({
|
|
|
529
527
|
className: CordisRunRow_module_css_default.inspect,
|
|
530
528
|
"aria-label": t("action.inspect"),
|
|
531
529
|
onClick: inspect,
|
|
532
|
-
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
530
|
+
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconInspectOutlineRegular, {})
|
|
533
531
|
})
|
|
534
532
|
]
|
|
535
533
|
}),
|
|
@@ -569,7 +567,7 @@ window.__ModuleLoader__.load({
|
|
|
569
567
|
}
|
|
570
568
|
//#endregion
|
|
571
569
|
//#region \0dsh-css:/home/runner/work/deepseek-harness/deepseek-harness/packages/extensions/ui-cordis/src/client/CordisPanel.module.css.mjs
|
|
572
|
-
const css = ".Nqubda_layer{flex:none;align-items:center;width:100%;height:42px;margin:8px 0 0;display:flex;position:relative}.Nqubda_footerButtons{align-items:center;width:100%;display:flex}.Nqubda_badge{width:calc(100% + 4px);height:42px;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;margin:0 -2px;padding:0 10px 0 8px;font-family:inherit;font-size:14px;display:inline-flex;overflow:hidden}.Nqubda_badge:hover,.Nqubda_badge[data-active]{background:var(--dsw-alias-interactive-bg-hover)}.Nqubda_badgeLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.Nqubda_badgeCount{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-size:12px;line-height:16px}.Nqubda_layer.Nqubda_rail{width:36px;height:36px;margin:0}.Nqubda_rail .Nqubda_badge{corner-shape:round;border-radius:50%;justify-content:center;gap:0;width:36px;height:36px;padding:0}.Nqubda_rail .Nqubda_footerButtons{flex-direction:column;gap:2px}.Nqubda_panel{z-index:30
|
|
570
|
+
const css = ".Nqubda_layer{flex:none;align-items:center;width:100%;height:42px;margin:8px 0 0;display:flex;position:relative}.Nqubda_footerButtons{align-items:center;width:100%;display:flex}.Nqubda_badge{width:calc(100% + 4px);height:42px;color:var(--dsw-alias-label-primary);cursor:pointer;background:0 0;border:none;border-radius:12px;align-items:center;gap:8px;margin:0 -2px;padding:0 10px 0 8px;font-family:inherit;font-size:14px;display:inline-flex;overflow:hidden}.Nqubda_badge:hover,.Nqubda_badge[data-active]{background:var(--dsw-alias-interactive-bg-hover)}.Nqubda_badgeLabel{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.Nqubda_badgeCount{color:var(--dsw-alias-label-tertiary);font-variant-numeric:tabular-nums;flex:none;margin-left:auto;font-size:12px;line-height:16px}.Nqubda_layer.Nqubda_rail{width:36px;height:36px;margin:0}.Nqubda_rail .Nqubda_badge{corner-shape:round;border-radius:50%;justify-content:center;gap:0;width:36px;height:36px;padding:0}.Nqubda_rail .Nqubda_footerButtons{flex-direction:column;gap:2px}.Nqubda_panel{isolation:isolate;z-index:30;--dsw-elevation-stroke-color:var(--dsw-alias-border-l1);width:420px;max-width:calc(100vw - 24px);max-height:60vh;box-shadow:var(--dsw-elevation-prominent);--dsh-scrollbar-thumb:var(--dsw-alias-scrollbar-bg-l2);--dsh-scrollbar-thumb-hover:var(--dsw-alias-scrollbar-hover-l2);border:0;border-radius:12px;flex-direction:column;display:flex;position:fixed;overflow:hidden}.Nqubda_panel:before{z-index:-1;border-radius:inherit;background:var(--dsw-specific-menu);backdrop-filter:var(--dsw-menu-backdrop-filter);content:\"\";pointer-events:none;position:absolute;inset:0}.Nqubda_header{box-sizing:border-box;flex:none;justify-content:space-between;align-items:center;min-height:44px;padding:10px 12px;display:flex}.Nqubda_body{flex:1;min-height:0;padding:0 12px 12px;overflow-y:auto}.Nqubda_title{color:var(--dsw-alias-label-primary);font-size:14px;font-weight:500;line-height:20px}.Nqubda_note,.Nqubda_readError{color:var(--dsw-alias-label-tertiary);margin:4px 0;font-size:12px;line-height:18px}.Nqubda_readError{color:var(--dsw-alias-state-error-primary)}.Nqubda_group{color:var(--dsw-alias-label-caption);text-transform:uppercase;letter-spacing:.04em;margin:8px 0;font-size:11px;font-weight:500;line-height:16px}.Nqubda_rows{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.Nqubda_row{border:.5px solid var(--dsw-alias-border-l4);border-radius:12px;flex-direction:column;gap:8px;padding:14px 12px 10px;display:flex}.Nqubda_row[data-cordis-awaiting]{border-color:var(--dsw-alias-state-business-primary)}.Nqubda_rowHead{align-items:center;gap:8px;display:flex}.Nqubda_rowId{color:var(--dsw-alias-label-tertiary);font-family:var(--dsh-font-mono,monospace);flex:none;font-size:11px;line-height:20px}.Nqubda_rowName{min-width:0;color:var(--dsw-alias-label-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:500;line-height:20px;overflow:hidden}.Nqubda_rowStatus{height:20px;color:var(--dsw-alias-label-caption);flex:none;align-items:center;gap:4px;font-size:11px;line-height:20px;display:inline-flex}.Nqubda_rowDetail{align-items:center;gap:8px;min-height:28px;display:flex}.Nqubda_versionPicker{color:var(--dsw-alias-label-caption);align-items:center;gap:8px;font-size:11px;line-height:18px;display:flex}.Nqubda_versionPicker select{border:.5px solid var(--dsw-alias-border-l3);min-width:0;height:26px;color:var(--dsw-alias-label-secondary);font:inherit;background:0 0;border-radius:7px;flex:1;padding:0 8px}.Nqubda_rowPurpose{min-width:0;color:var(--dsw-alias-label-tertiary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;line-height:18px;overflow:hidden}.Nqubda_rowError{color:var(--dsw-alias-state-error-primary);font-size:12px;line-height:18px}.Nqubda_rowActions{flex:none;align-items:center;gap:10px;display:flex}.Nqubda_transition{min-width:0;color:var(--dsw-alias-label-caption);align-items:center;gap:8px;font-size:11px;line-height:18px;display:flex}.Nqubda_transitionActions{gap:6px;margin-left:auto;display:flex}.Nqubda_transitionActions button{border:.5px solid var(--dsw-alias-border-l3);corner-shape:round;color:var(--dsw-alias-label-secondary);font:inherit;cursor:pointer;background:0 0;border-radius:999px;padding:2px 8px}.Nqubda_transitionActions button:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover)}.Nqubda_transitionActions button:disabled{opacity:.4;cursor:default}.Nqubda_activeVersion{color:var(--dsw-alias-label-caption);font-size:11px;line-height:16px}.Nqubda_actionButton{corner-shape:round;width:28px;height:28px;color:var(--dsw-alias-label-tertiary);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;padding:0;display:inline-flex}.Nqubda_actionButton:hover:not(:disabled){background:var(--dsw-alias-interactive-bg-hover);color:var(--dsw-alias-label-secondary)}.Nqubda_actionButton:disabled{opacity:.4;cursor:default}.Nqubda_doubleCheck{width:17px;height:14px;display:inline-block;position:relative}.Nqubda_doubleCheck svg{position:absolute;top:1px}.Nqubda_doubleCheck svg:first-child{opacity:.7;left:0}.Nqubda_doubleCheck svg:last-child{left:5px}";
|
|
573
571
|
const tagId = "@deepseek-ai/dsh-client-ui-cordis/CordisPanel.module.css";
|
|
574
572
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId) + "]") === null) {
|
|
575
573
|
const tag = document.createElement("style");
|
|
@@ -636,6 +634,16 @@ window.__ModuleLoader__.load({
|
|
|
636
634
|
if (listed?.activeRun === void 0) return "idle";
|
|
637
635
|
return cordisVisibleStatus(listed, listed.activeRun.packageId, loaded);
|
|
638
636
|
}
|
|
637
|
+
function panelDotState(status, busy) {
|
|
638
|
+
if (busy) return "ongoing";
|
|
639
|
+
switch (status) {
|
|
640
|
+
case "idle": return "idle";
|
|
641
|
+
case "client-pending": return "ongoing";
|
|
642
|
+
case "running": return "done";
|
|
643
|
+
case "awaiting-approval": return "warning";
|
|
644
|
+
case "failed": return "error";
|
|
645
|
+
}
|
|
646
|
+
}
|
|
639
647
|
function blockingFirst(rows) {
|
|
640
648
|
return [...rows.filter((row) => row.activity?.phase === "awaiting-approval"), ...rows.filter((row) => row.activity?.phase !== "awaiting-approval")];
|
|
641
649
|
}
|
|
@@ -657,7 +665,7 @@ window.__ModuleLoader__.load({
|
|
|
657
665
|
return (0, react_jsx_runtime.jsxs)("span", {
|
|
658
666
|
className: CordisPanel_module_css_default.doubleCheck,
|
|
659
667
|
"aria-hidden": true,
|
|
660
|
-
children: [(0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
668
|
+
children: [(0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconCheckOutlineRegular, { size: 12 }), (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconCheckOutlineRegular, { size: 12 })]
|
|
661
669
|
});
|
|
662
670
|
}
|
|
663
671
|
/** Render the inventory panel and its unified footer action. */
|
|
@@ -785,9 +793,9 @@ window.__ModuleLoader__.load({
|
|
|
785
793
|
className: CordisPanel_module_css_default.rowName,
|
|
786
794
|
children: name
|
|
787
795
|
}),
|
|
788
|
-
(0, react_jsx_runtime.
|
|
796
|
+
(0, react_jsx_runtime.jsxs)("span", {
|
|
789
797
|
className: CordisPanel_module_css_default.rowStatus,
|
|
790
|
-
children: t(STATUS_LABELS[status])
|
|
798
|
+
children: [(0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.StateDot, { state: panelDotState(status, busy) }), (0, react_jsx_runtime.jsx)("span", { children: t(STATUS_LABELS[status]) })]
|
|
791
799
|
})
|
|
792
800
|
]
|
|
793
801
|
}),
|
|
@@ -827,7 +835,7 @@ window.__ModuleLoader__.load({
|
|
|
827
835
|
setOpen(false);
|
|
828
836
|
});
|
|
829
837
|
},
|
|
830
|
-
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
838
|
+
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconCheckOutlineRegular, { size: 14 })
|
|
831
839
|
}),
|
|
832
840
|
(0, react_jsx_runtime.jsx)(RowAction, {
|
|
833
841
|
label: t("action.approvePlugin"),
|
|
@@ -851,7 +859,7 @@ window.__ModuleLoader__.load({
|
|
|
851
859
|
setOpen(false);
|
|
852
860
|
});
|
|
853
861
|
},
|
|
854
|
-
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
862
|
+
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconCloseOutlineRegular, { size: 14 })
|
|
855
863
|
})
|
|
856
864
|
] }),
|
|
857
865
|
awaiting === void 0 && listed !== void 0 && selectedPackageId !== void 0 && listed.activeRun === void 0 && (0, react_jsx_runtime.jsx)(RowAction, {
|
|
@@ -867,7 +875,7 @@ window.__ModuleLoader__.load({
|
|
|
867
875
|
hasClientHalf: selectedPackage?.hasClientHalf === true
|
|
868
876
|
}));
|
|
869
877
|
},
|
|
870
|
-
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
878
|
+
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconPlayOutlineRegular, { size: 14 })
|
|
871
879
|
}),
|
|
872
880
|
awaiting === void 0 && listed !== void 0 && listed.activeRun !== void 0 && selectedPackageId !== listed.activeRun.packageId && selectedPackage !== void 0 && (0, react_jsx_runtime.jsx)(RowAction, {
|
|
873
881
|
label: t("action.run"),
|
|
@@ -882,7 +890,7 @@ window.__ModuleLoader__.load({
|
|
|
882
890
|
hasClientHalf: selectedPackage.hasClientHalf
|
|
883
891
|
}));
|
|
884
892
|
},
|
|
885
|
-
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
893
|
+
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconPlayOutlineRegular, { size: 14 })
|
|
886
894
|
}),
|
|
887
895
|
awaiting === void 0 && listed !== void 0 && listed.activeRun !== void 0 && status === "client-pending" && activePackage !== void 0 && selectedPackageId === listed.activeRun.packageId && (0, react_jsx_runtime.jsx)(RowAction, {
|
|
888
896
|
label: t("action.run"),
|
|
@@ -897,7 +905,7 @@ window.__ModuleLoader__.load({
|
|
|
897
905
|
hasClientHalf: true
|
|
898
906
|
}));
|
|
899
907
|
},
|
|
900
|
-
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
908
|
+
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconPlayOutlineRegular, { size: 14 })
|
|
901
909
|
}),
|
|
902
910
|
awaiting === void 0 && listed !== void 0 && listed.activeRun !== void 0 && (0, react_jsx_runtime.jsx)(RowAction, {
|
|
903
911
|
label: t("action.stop"),
|
|
@@ -906,7 +914,7 @@ window.__ModuleLoader__.load({
|
|
|
906
914
|
onClick: () => {
|
|
907
915
|
runAction(pluginId, () => onStop(listed.agentId, pluginId));
|
|
908
916
|
},
|
|
909
|
-
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
917
|
+
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconStopFillRegular, { size: 14 })
|
|
910
918
|
}),
|
|
911
919
|
awaiting === void 0 && listed !== void 0 && (0, react_jsx_runtime.jsx)(RowAction, {
|
|
912
920
|
label: t("action.remove"),
|
|
@@ -915,7 +923,7 @@ window.__ModuleLoader__.load({
|
|
|
915
923
|
onClick: () => {
|
|
916
924
|
runAction(pluginId, () => onRemove(listed.agentId, pluginId));
|
|
917
925
|
},
|
|
918
|
-
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
926
|
+
children: (0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconTrashOutlineRegular, { size: 14 })
|
|
919
927
|
})
|
|
920
928
|
]
|
|
921
929
|
})]
|
|
@@ -1045,7 +1053,7 @@ window.__ModuleLoader__.load({
|
|
|
1045
1053
|
onClick: () => {
|
|
1046
1054
|
setOpen((value) => !value);
|
|
1047
1055
|
},
|
|
1048
|
-
children: [(0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.
|
|
1056
|
+
children: [(0, react_jsx_runtime.jsx)(_deepseek_ai_dsh_client_ui_primitives.IconCordisPluginOutlineRegular, { size: wide ? 16 : 18 }), wide && (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [(0, react_jsx_runtime.jsx)("span", {
|
|
1049
1057
|
className: CordisPanel_module_css_default.badgeLabel,
|
|
1050
1058
|
children: t("panel.trigger")
|
|
1051
1059
|
}), (0, react_jsx_runtime.jsx)("span", {
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@deepseek-ai/dsh-client-ui-cordis",
|
|
3
3
|
"description": "Cordis dynamic-plugin definition card: the keyed cordis_define tool row with its run/stop switch",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.7-alpha.2",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
7
7
|
},
|
|
@@ -42,23 +42,23 @@
|
|
|
42
42
|
},
|
|
43
43
|
"license": "MIT",
|
|
44
44
|
"peerDependencies": {
|
|
45
|
-
"@deepseek-ai/cordis": "
|
|
45
|
+
"@deepseek-ai/cordis": "~4.0.4"
|
|
46
46
|
},
|
|
47
47
|
"devDependencies": {
|
|
48
48
|
"@types/react": "~18.3.1",
|
|
49
49
|
"react": "^18.2.0",
|
|
50
|
-
"@deepseek-ai/dsh-
|
|
51
|
-
"@deepseek-ai/dsh-
|
|
52
|
-
"@deepseek-ai/dsh-client-
|
|
53
|
-
"@deepseek-ai/dsh-
|
|
54
|
-
"@deepseek-ai/dsh-
|
|
55
|
-
"@deepseek-ai/dsh-
|
|
56
|
-
"@deepseek-ai/dsh-client-ui-
|
|
57
|
-
"@deepseek-ai/dsh-client-ui-
|
|
58
|
-
"@deepseek-ai/dsh-client-ui-session": "
|
|
59
|
-
"@deepseek-ai/dsh-client-ui-tool": "
|
|
60
|
-
"@deepseek-ai/cordis": "
|
|
61
|
-
"@deepseek-ai/dsh-client-ui-slots": "
|
|
50
|
+
"@deepseek-ai/dsh-client-connection": "0.1.7-alpha.2",
|
|
51
|
+
"@deepseek-ai/dsh-api-remotes": "0.1.7-alpha.2",
|
|
52
|
+
"@deepseek-ai/dsh-cordis-client-runner": "0.1.7-alpha.2",
|
|
53
|
+
"@deepseek-ai/dsh-client-locale": "0.1.7-alpha.2",
|
|
54
|
+
"@deepseek-ai/dsh-session": "0.1.7-alpha.2",
|
|
55
|
+
"@deepseek-ai/dsh-client-ui-primitives": "0.1.7-alpha.2",
|
|
56
|
+
"@deepseek-ai/dsh-client-ui-sidebar": "0.1.7-alpha.2",
|
|
57
|
+
"@deepseek-ai/dsh-client-ui-renderer": "0.1.7-alpha.2",
|
|
58
|
+
"@deepseek-ai/dsh-client-ui-session": "0.1.7-alpha.2",
|
|
59
|
+
"@deepseek-ai/dsh-client-ui-tool": "0.1.7-alpha.2",
|
|
60
|
+
"@deepseek-ai/cordis": "~4.0.4",
|
|
61
|
+
"@deepseek-ai/dsh-client-ui-slots": "0.1.7-alpha.2"
|
|
62
62
|
},
|
|
63
63
|
"files": [
|
|
64
64
|
"lib/index.js",
|