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 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
- setSelfRestartNow: "立即重启",
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: "Working…",
350
+ setSelfWorking: "Removing…",
350
351
  setSelfRemoved: "Removed",
351
- setSelfRemovedHint: "It disappears completely after you restart DeepSeek Harness. Before that, refreshing the page already leaves the market UI gone.",
352
- setSelfRestartNow: "Restart now",
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"), status?.restart === true ? (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
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)("div", { className: Market_module_css_default.setActions }, (0, react.createElement)(_deepseek_ai_dsh_client_ui_primitives.Button, {
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", {