dshmarket 1.13.0 → 1.13.1
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/client/client.js +25 -19
- package/client/client.js.map +1 -1
- package/lib/routes.js +28 -7
- package/package.json +1 -1
- package/src/client/SettingsCard.tsx +26 -17
- package/src/client/locales.ts +8 -6
- package/src/routes.ts +29 -9
package/client/client.js
CHANGED
|
@@ -48,10 +48,11 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
48
48
|
setSelfPurgeOff: "保留市场数据。注意:被市场停用的插件会保持停用,而移除之后就没有界面能把它们打开了。",
|
|
49
49
|
setSelfRemoveConfirm: "确认移除",
|
|
50
50
|
setSelfCancel: "取消",
|
|
51
|
-
setSelfWorking: "
|
|
51
|
+
setSelfWorking: "正在移除…",
|
|
52
52
|
setSelfRemoved: "已移除",
|
|
53
|
-
setSelfRemovedHint: "重启 DeepSeek Harness
|
|
54
|
-
|
|
53
|
+
setSelfRemovedHint: "重启 DeepSeek Harness 后完全生效。",
|
|
54
|
+
setSelfRestartingHint: "正在重启 DeepSeek Harness…",
|
|
55
|
+
setSelfRestartAfter: "移除后立即重启 DeepSeek Harness",
|
|
55
56
|
setSelfFailed: "操作失败",
|
|
56
57
|
versionHint: "插件市场版本 — 反馈问题时请把它一起截图",
|
|
57
58
|
subtitle: "发现社区为 DeepSeek Harness 打造的能力",
|
|
@@ -346,10 +347,11 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
346
347
|
setSelfPurgeOff: "Keeps the market's data. Note: plugins the market switched off stay off, and once it is removed there is no UI left to switch them back on.",
|
|
347
348
|
setSelfRemoveConfirm: "Remove",
|
|
348
349
|
setSelfCancel: "Cancel",
|
|
349
|
-
setSelfWorking: "
|
|
350
|
+
setSelfWorking: "Removing…",
|
|
350
351
|
setSelfRemoved: "Removed",
|
|
351
|
-
setSelfRemovedHint: "
|
|
352
|
-
|
|
352
|
+
setSelfRemovedHint: "Restart DeepSeek Harness to finish.",
|
|
353
|
+
setSelfRestartingHint: "Restarting DeepSeek Harness…",
|
|
354
|
+
setSelfRestartAfter: "Restart DeepSeek Harness right after removing",
|
|
353
355
|
setSelfFailed: "The operation failed",
|
|
354
356
|
versionHint: "Plugin market version — include it when reporting an issue",
|
|
355
357
|
subtitle: "Discover community plugins for DeepSeek Harness",
|
|
@@ -5429,6 +5431,7 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
5429
5431
|
const [update, setUpdate] = (0, react.useState)(null);
|
|
5430
5432
|
const [phase, setPhase] = (0, react.useState)("idle");
|
|
5431
5433
|
const [purge, setPurge] = (0, react.useState)(false);
|
|
5434
|
+
const [restartAfter, setRestartAfter] = (0, react.useState)(false);
|
|
5432
5435
|
const [error, setError] = (0, react.useState)(null);
|
|
5433
5436
|
const probed = (0, react.useRef)(false);
|
|
5434
5437
|
(0, react.useEffect)(() => {
|
|
@@ -5492,7 +5495,8 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
5492
5495
|
try {
|
|
5493
5496
|
const body = await post("/dsh-market/self-uninstall", {
|
|
5494
5497
|
confirm: true,
|
|
5495
|
-
purge
|
|
5498
|
+
purge,
|
|
5499
|
+
restart: restartAfter
|
|
5496
5500
|
});
|
|
5497
5501
|
if (body.ok === true) {
|
|
5498
5502
|
if (purge) clearBrowserState(localStorage);
|
|
@@ -5509,25 +5513,19 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
5509
5513
|
}, [
|
|
5510
5514
|
post,
|
|
5511
5515
|
purge,
|
|
5516
|
+
restartAfter,
|
|
5512
5517
|
t
|
|
5513
5518
|
]);
|
|
5514
|
-
const onRestart = (0, react.useCallback)(() => {
|
|
5515
|
-
post("/dsh-market/restart", {});
|
|
5516
|
-
}, [post]);
|
|
5517
5519
|
const busy = phase === "working";
|
|
5518
5520
|
const version = status?.version ?? null;
|
|
5519
5521
|
/** One label + hint block with an optional action, the host's row shape. */
|
|
5520
5522
|
const row = (label, hint, action) => (0, react.createElement)("div", { className: Market_module_css_default.setRow }, (0, react.createElement)("div", { className: Market_module_css_default.setLabelBox }, (0, react.createElement)("div", { className: Market_module_css_default.setLabel }, label), (0, react.createElement)("div", { className: Market_module_css_default.setHint }, hint)), action);
|
|
5521
|
-
const body = phase === "removed" ? row(t("setSelfRemoved"), t("setSelfRemovedHint"),
|
|
5522
|
-
variant: "primary",
|
|
5523
|
-
size: "sm",
|
|
5524
|
-
onClick: onRestart
|
|
5525
|
-
}, t("setSelfRestartNow")) : null) : (0, react.createElement)(react.Fragment, null, row(update?.updateAvailable === true && update.latest !== null ? `${t("setSelfUpdateReady")} ${update.latest}` : t("setSelfUpToDate"), phase === "updated" ? t("setSelfUpdatedHint") : t("setSelfUpdateHint"), update?.updateAvailable === true && phase !== "updated" ? (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
5523
|
+
const body = phase === "removed" ? row(t("setSelfRemoved"), restartAfter ? t("setSelfRestartingHint") : t("setSelfRemovedHint"), null) : (0, react.createElement)(react.Fragment, null, row(update?.updateAvailable === true && update.latest !== null ? `${t("setSelfUpdateReady")} ${update.latest}` : t("setSelfUpToDate"), phase === "updated" ? t("setSelfUpdatedHint") : t("setSelfUpdateHint"), update?.updateAvailable === true && phase !== "updated" ? (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
5526
5524
|
variant: "primary",
|
|
5527
5525
|
size: "sm",
|
|
5528
5526
|
disabled: busy,
|
|
5529
5527
|
onClick: onUpdate
|
|
5530
|
-
}, t("setSelfUpdate")) : null), row(t("setSelfRemove"), t("setSelfRemoveHint"), phase === "confirming" ? null : (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
5528
|
+
}, t("setSelfUpdate")) : null), row(t("setSelfRemove"), t("setSelfRemoveHint"), phase === "confirming" || busy ? null : (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
5531
5529
|
variant: "outline",
|
|
5532
5530
|
size: "sm",
|
|
5533
5531
|
className: Market_module_css_default.setDanger,
|
|
@@ -5535,25 +5533,33 @@ window.__ModuleLoader__.load({ id: "dshmarket", factory: (require) => {
|
|
|
5535
5533
|
onClick: () => {
|
|
5536
5534
|
setPhase("confirming");
|
|
5537
5535
|
}
|
|
5538
|
-
}, t("setSelfRemove"))), phase === "confirming" ? (0, react.createElement)("div", { className: Market_module_css_default.setConfirm }, (0, react.createElement)("div", { className: Market_module_css_default.setHint }, t("setSelfConfirm")), (0, react.createElement)("label", { className: Market_module_css_default.setCheck }, (0, react.createElement)("input", {
|
|
5536
|
+
}, t("setSelfRemove"))), phase === "confirming" || busy ? (0, react.createElement)("div", { className: Market_module_css_default.setConfirm }, (0, react.createElement)("div", { className: Market_module_css_default.setHint }, t("setSelfConfirm")), (0, react.createElement)("label", { className: Market_module_css_default.setCheck }, (0, react.createElement)("input", {
|
|
5539
5537
|
type: "checkbox",
|
|
5540
5538
|
checked: purge,
|
|
5541
5539
|
onChange: () => {
|
|
5542
5540
|
setPurge(!purge);
|
|
5543
5541
|
}
|
|
5544
|
-
}), (0, react.createElement)("span", null, t("setSelfPurge"))), (0, react.createElement)("div", { className: Market_module_css_default.setHint }, purge ? t("setSelfPurgeOn") : t("setSelfPurgeOff")), (0, react.createElement)("
|
|
5542
|
+
}), (0, react.createElement)("span", null, t("setSelfPurge"))), (0, react.createElement)("div", { className: Market_module_css_default.setHint }, purge ? t("setSelfPurgeOn") : t("setSelfPurgeOff")), status?.restart === true ? (0, react.createElement)("label", { className: Market_module_css_default.setCheck }, (0, react.createElement)("input", {
|
|
5543
|
+
type: "checkbox",
|
|
5544
|
+
checked: restartAfter,
|
|
5545
|
+
disabled: busy,
|
|
5546
|
+
onChange: () => {
|
|
5547
|
+
setRestartAfter(!restartAfter);
|
|
5548
|
+
}
|
|
5549
|
+
}), (0, react.createElement)("span", null, t("setSelfRestartAfter"))) : null, (0, react.createElement)("div", { className: Market_module_css_default.setActions }, busy ? null : (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
5545
5550
|
variant: "ghost",
|
|
5546
5551
|
size: "sm",
|
|
5547
|
-
disabled: busy,
|
|
5548
5552
|
onClick: () => {
|
|
5549
5553
|
setPhase("idle");
|
|
5550
5554
|
setPurge(false);
|
|
5555
|
+
setRestartAfter(false);
|
|
5551
5556
|
}
|
|
5552
5557
|
}, t("setSelfCancel")), (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
|
|
5553
5558
|
variant: "primary",
|
|
5554
5559
|
size: "sm",
|
|
5555
5560
|
className: Market_module_css_default.setDanger,
|
|
5556
5561
|
disabled: busy,
|
|
5562
|
+
icon: busy ? (0, react.createElement)("span", { className: Market_module_css_default.spin }, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.IconLoadingOutline16, { size: 16 })) : void 0,
|
|
5557
5563
|
onClick: onRemove
|
|
5558
5564
|
}, busy ? t("setSelfWorking") : t("setSelfRemoveConfirm")))) : null, error !== null ? (0, react.createElement)("div", { className: Market_module_css_default.err }, error) : null);
|
|
5559
5565
|
return (0, react.createElement)("div", { className: open ? `${Market_module_css_default.setCard} ${Market_module_css_default.setCardOpen}` : Market_module_css_default.setCard }, (0, react.createElement)("button", {
|