dsh-plugin 1.4.12 → 1.4.13

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
@@ -301,6 +301,8 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
301
301
  failNpmMissingHint: "系统找不到 npm 命令(npm 未安装或未加入系统 PATH),无法执行全局安装。请先安装 Node.js(自带 npm),确认 npm 已加入 PATH 后重试。这不是插件本身的问题。",
302
302
  failPnpmStoreHint: "安装器调用 pnpm 时报「store 位置不匹配」(ERR_PNPM_UNEXPECTED_STORE):你的 profile 目录里旧插件依赖是用另一个大版本的 pnpm 生成的,当前 pnpm 出于安全不认旧目录,导致任何插件装进该 profile 都会失败。请删除该 profile 目录下的 node_modules 与 pnpm-lock.yaml(可先到「系统日志」或 ~/.dsh/profiles/<profile>/hub.log 查看完整报错),再重新安装。这不是插件本身的问题。",
303
303
  failPnpmUnusedPatchHint: "安装器调用 pnpm 时报「有些补丁没有被使用」(ERR_PNPM_UNUSED_PATCH):你的 profile 里留着一条指向旧版本 dsh-plugin 的补丁声明(例如 dsh-plugin@1.4.2),而本次安装解析到的版本已经不是它,pnpm 出于安全直接中止整次安装,因此任何插件都装不进来。这不是插件本身的问题——请在 profile 目录(~/.dsh/profiles/<profile>)的 pnpm-workspace.yaml(pnpm 11 及以上)或 package.json 的 pnpm.patchedDependencies(pnpm 10)里删除该 dsh-plugin 补丁条目后重试。",
304
+ failPnpmMissingDepTarget: "{pkg} 在 npm registry 上不存在(404)",
305
+ failPnpmMissingDepHint: "安装器调用 pnpm 时报「包不存在」(ERR_PNPM_FETCH_404):你的 profile 里留着一条指向 registry 上未发布包的依赖,pnpm 每次解析依赖都会先卡在它上面,因此任何插件都装不进来。这不是插件本身的问题——请在 profile 目录(~/.dsh/profiles/<profile>)的 package.json 里删除该依赖条目(同时删掉对应的 pnpm-lock.yaml 条目或整个锁文件)后重试。",
304
306
  failFileLockedHint: "安装过程中 pnpm 无法替换 profile 里的文件:有程序正占用着它(Windows 常见报错 os error 32「另一个程序正在使用此文件」)。通常是 DeepSeek Harness 自身或杀毒软件的实时扫描持有文件句柄。这不是插件本身的问题——请完全退出 DeepSeek Harness(Windows 可在任务管理器确认进程已结束,必要时临时关闭杀毒软件实时防护)后重试。",
305
307
  failAccessDeniedHint: "安装过程中 pnpm 写入 profile 里的文件被系统拒绝访问(Windows 常见报错 os error 5「拒绝访问」,英文为 Access is denied;Node 下的 EPERM / EACCES 同理)。常见原因是该文件或目录正被其他进程占用、文件带只读属性、目录权限受限,或杀毒软件实时防护拦截了写入——这与「文件正被占用」(os error 32)同属本机文件系统问题,任何插件装进该目录都会一样失败,不是插件本身的问题。请完全退出 DeepSeek Harness(Windows 可在任务管理器确认进程已结束,必要时临时关闭杀毒软件实时防护)后重试;若仍然失败,请检查 profile 目录及其文件是否被设为只读,并以管理员身份重新运行。",
306
308
  failFsUnavailableHint: "安装过程中 pnpm 无法把文件写进本机磁盘(这类报错与装哪个插件无关,任何插件装在同一目录都会失败,不是插件本身的问题)。请按报错对号入座:① 磁盘空间不足(ENOSPC / no space left on device,Windows 为 os error 112)——请清理 profile 所在磁盘的剩余空间后重试;② 磁盘或挂载点只读、带写保护(EROFS / read-only file system,Windows 为 os error 19)——请确认 profile 目录所在磁盘可写(外接盘/U 盘、带写保护的移动盘或只读挂载的分区都会触发),必要时把插件目录换到系统盘的可写位置;③ 进程可用的文件句柄被耗尽(EMFILE / ENFILE / too many open files)——请关闭占用大量文件的程序并重启 DeepSeek Harness 后重试。",
@@ -637,6 +639,8 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
637
639
  failNpmMissingHint: "The npm command could not be found (npm is not installed or not on the system PATH), so a global install cannot run. Please install Node.js (which bundles npm), make sure npm is on your PATH, then retry. This is not a problem with the plugin itself.",
638
640
  failPnpmStoreHint: "pnpm reported an unexpected store location (ERR_PNPM_UNEXPECTED_STORE): the profile directory was previously set up with a different major version of pnpm, and the current pnpm refuses to reuse it — no plugin can be installed into that profile. Delete node_modules and pnpm-lock.yaml under the profile directory (see System Logs or ~/.dsh/profiles/<profile>/hub.log for the full output), then reinstall. This is not a problem with the plugin itself.",
639
641
  failPnpmUnusedPatchHint: "pnpm reported that some patches were not used (ERR_PNPM_UNUSED_PATCH): your profile still holds a patch entry for an older dsh-plugin version (for example dsh-plugin@1.4.2), while this install resolved a different version, so pnpm aborts the whole install for safety — no plugin can be installed into that profile. This is not a problem with the plugin itself. Remove that dsh-plugin patch entry from pnpm-workspace.yaml (pnpm 11+) or from pnpm.patchedDependencies in package.json (pnpm 10) inside the profile directory (~/.dsh/profiles/<profile>), then retry.",
642
+ failPnpmMissingDepTarget: "{pkg} was not found on the npm registry (404)",
643
+ failPnpmMissingDepHint: "pnpm reported that a package does not exist on the npm registry (ERR_PNPM_FETCH_404): your profile keeps a dependency on a package that was never published, and pnpm hits it every time it resolves dependencies — no plugin can be installed into that profile. This is not a problem with the plugin itself. Remove that dependency from package.json inside the profile directory (~/.dsh/profiles/<profile>) — along with its entry in pnpm-lock.yaml, or the lockfile itself — then retry.",
640
644
  failFileLockedHint: "During install, pnpm could not replace a file inside the profile because another program is holding it (on Windows this shows as os error 32, \"the process cannot access the file because it is being used by another process\"). Usually DeepSeek Harness itself or a real-time antivirus scan holds the handle. This is not a problem with the plugin itself — fully quit DeepSeek Harness (on Windows, confirm in Task Manager that the process has ended, and temporarily disable real-time antivirus protection if needed), then retry.",
641
645
  failAccessDeniedHint: "During install, Windows denied pnpm access to a file inside the profile (this shows as os error 5, \"Access is denied\"; on Node the equivalent codes are EPERM / EACCES). Typical causes: the file or directory is held by another process, the file is marked read-only, the directory permissions are restricted, or a real-time antivirus scan blocked the write. This is the same class of local file-system problem as a locked file (os error 32) — no plugin can be installed into that directory, so it is not a problem with the plugin itself. Fully quit DeepSeek Harness (on Windows, confirm in Task Manager that the process has ended, and temporarily disable real-time antivirus protection if needed), then retry. If it still fails, check whether the profile directory or its files are read-only and run as administrator.",
642
646
  failFsUnavailableHint: "During install, pnpm could not write files to the local disk — this has nothing to do with which plugin you are installing: any plugin installed into the same directory would fail the same way, so it is not a problem with the plugin itself. Match the error you see: ① Out of space (ENOSPC / no space left on device, os error 112 on Windows) — free up space on the drive that holds the profile and retry. ② Read-only or write-protected volume (EROFS / read-only file system, os error 19 on Windows) — make sure the drive holding the profile directory is writable (external or USB drives, write-protected media, and read-only mounts all trigger this); move the plugin directory to a writable location on the system drive if needed. ③ File handles exhausted (EMFILE / ENFILE / too many open files) — close programs that hold many files open, restart DeepSeek Harness, then retry.",
@@ -698,42 +702,42 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
698
702
  css: css$11
699
703
  });
700
704
  var Header_module_css_default = {
701
- "adArrow": "qikqja_adArrow",
702
- "aboutBtn": "qikqja_aboutBtn",
703
- "copyIcon": "qikqja_copyIcon",
704
- "segBtn": "qikqja_segBtn",
705
705
  "header": "qikqja_header",
706
+ "adBanner": "qikqja_adBanner",
707
+ "copyIcon": "qikqja_copyIcon",
708
+ "adBadge": "qikqja_adBadge",
709
+ "langBtn": "qikqja_langBtn",
710
+ "adArrow": "qikqja_adArrow",
711
+ "sortGroup": "qikqja_sortGroup",
712
+ "tab": "qikqja_tab",
713
+ "tagline": "qikqja_tagline",
714
+ "segLabel": "qikqja_segLabel",
706
715
  "version": "qikqja_version",
716
+ "segGroup": "qikqja_segGroup",
707
717
  "logoIcon": "qikqja_logoIcon",
708
- "headerRight": "qikqja_headerRight",
709
- "adText": "qikqja_adText",
710
- "githubIcon": "qikqja_githubIcon",
711
- "taglineLink": "qikqja_taglineLink",
718
+ "aboutBtn": "qikqja_aboutBtn",
719
+ "segBtnActive": "qikqja_segBtnActive",
712
720
  "resultSeg": "qikqja_resultSeg",
721
+ "githubIcon": "qikqja_githubIcon",
722
+ "headerTitleRow": "qikqja_headerTitleRow",
723
+ "githubLink": "qikqja_githubLink",
713
724
  "search": "qikqja_search",
714
- "searchRow": "qikqja_searchRow",
715
725
  "controls": "qikqja_controls",
716
- "resultCount": "qikqja_resultCount",
717
- "segLabel": "qikqja_segLabel",
718
- "adBadge": "qikqja_adBadge",
719
- "githubLink": "qikqja_githubLink",
720
- "headerTitleRow": "qikqja_headerTitleRow",
721
- "sortGroup": "qikqja_sortGroup",
722
- "tabActive": "qikqja_tabActive",
723
- "segGroup": "qikqja_segGroup",
724
- "title": "qikqja_title",
725
- "tagline": "qikqja_tagline",
726
+ "hubUpdateBadge": "qikqja_hubUpdateBadge",
727
+ "headerRight": "qikqja_headerRight",
728
+ "tabCount": "qikqja_tabCount",
726
729
  "tabsRow": "qikqja_tabsRow",
727
- "root": "qikqja_root",
728
- "langBtn": "qikqja_langBtn",
729
730
  "versionBtn": "qikqja_versionBtn",
730
- "segBtnActive": "qikqja_segBtnActive",
731
- "adBanner": "qikqja_adBanner",
731
+ "root": "qikqja_root",
732
732
  "brandTitle": "qikqja_brandTitle",
733
733
  "tabs": "qikqja_tabs",
734
- "hubUpdateBadge": "qikqja_hubUpdateBadge",
735
- "tab": "qikqja_tab",
736
- "tabCount": "qikqja_tabCount"
734
+ "resultCount": "qikqja_resultCount",
735
+ "tabActive": "qikqja_tabActive",
736
+ "title": "qikqja_title",
737
+ "segBtn": "qikqja_segBtn",
738
+ "adText": "qikqja_adText",
739
+ "searchRow": "qikqja_searchRow",
740
+ "taglineLink": "qikqja_taglineLink"
737
741
  };
738
742
  //#endregion
739
743
  //#region \0dsh-css:src/client/styles/Modal.module.css.mjs
@@ -752,136 +756,136 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
752
756
  css: css$10
753
757
  });
754
758
  var Modal_module_css_default = {
755
- "detailPath": "BiQ1zG_detailPath",
756
- "overlay": "BiQ1zG_overlay",
757
- "queueRowDesc": "BiQ1zG_queueRowDesc",
758
- "confirmIcon": "BiQ1zG_confirmIcon",
759
- "resultDesc": "BiQ1zG_resultDesc",
760
- "queueSection": "BiQ1zG_queueSection",
761
- "modalLabel": "BiQ1zG_modalLabel",
762
- "resultRestarting": "BiQ1zG_resultRestarting",
763
- "restartLater": "BiQ1zG_restartLater",
764
- "restartNowWarning": "BiQ1zG_restartNowWarning",
765
- "resultCheck": "BiQ1zG_resultCheck",
766
- "queueSectionTitle": "BiQ1zG_queueSectionTitle",
767
- "noticeRowOk": "BiQ1zG_noticeRowOk",
768
- "noticeRowUpdate": "BiQ1zG_noticeRowUpdate",
769
- "failPrepareHint": "BiQ1zG_failPrepareHint",
770
- "detailValue": "BiQ1zG_detailValue",
771
- "failCopy": "BiQ1zG_failCopy",
759
+ "noticeRow": "BiQ1zG_noticeRow",
772
760
  "modalCopy": "BiQ1zG_modalCopy",
773
- "modalClose": "BiQ1zG_modalClose",
774
- "modalIn": "BiQ1zG_modalIn",
775
- "queueRowTarget": "BiQ1zG_queueRowTarget",
776
- "restartNow": "BiQ1zG_restartNow",
777
- "hubUpdateMetaItem": "BiQ1zG_hubUpdateMetaItem",
778
- "detailGrid": "BiQ1zG_detailGrid",
779
- "toastFail": "BiQ1zG_toastFail",
761
+ "detailMono": "BiQ1zG_detailMono",
762
+ "noticeVersion": "BiQ1zG_noticeVersion",
763
+ "detailStatusPending": "BiQ1zG_detailStatusPending",
780
764
  "progressText": "BiQ1zG_progressText",
781
- "detailPathText": "BiQ1zG_detailPathText",
782
- "failEmpty": "BiQ1zG_failEmpty",
783
765
  "failKindInstall": "BiQ1zG_failKindInstall",
784
- "pendingRowActions": "BiQ1zG_pendingRowActions",
785
- "noticeBadgeFail": "BiQ1zG_noticeBadgeFail",
786
- "noticeHead": "BiQ1zG_noticeHead",
787
- "modalTitleQueued": "BiQ1zG_modalTitleQueued",
788
- "modalActions": "BiQ1zG_modalActions",
766
+ "pendingRowStatus": "BiQ1zG_pendingRowStatus",
767
+ "toastFail": "BiQ1zG_toastFail",
768
+ "confirmIcon": "BiQ1zG_confirmIcon",
769
+ "progressHead": "BiQ1zG_progressHead",
770
+ "failRepo": "BiQ1zG_failRepo",
771
+ "logModal": "BiQ1zG_logModal",
772
+ "errorTitle": "BiQ1zG_errorTitle",
773
+ "detailPathActions": "BiQ1zG_detailPathActions",
774
+ "failRow": "BiQ1zG_failRow",
775
+ "failNetworkTarget": "BiQ1zG_failNetworkTarget",
776
+ "confirmIconWrap": "BiQ1zG_confirmIconWrap",
777
+ "resultTitle": "BiQ1zG_resultTitle",
778
+ "noticeList": "BiQ1zG_noticeList",
789
779
  "progressFill": "BiQ1zG_progressFill",
790
- "noticeIgnore": "BiQ1zG_noticeIgnore",
791
- "cliOnlyHint": "BiQ1zG_cliOnlyHint",
792
- "detailStatusPending": "BiQ1zG_detailStatusPending",
793
780
  "modalCmd": "BiQ1zG_modalCmd",
794
- "queueRowPct": "BiQ1zG_queueRowPct",
795
- "progress": "BiQ1zG_progress",
796
- "uninstallConfirm": "BiQ1zG_uninstallConfirm",
797
- "noticeUpdateGo": "BiQ1zG_noticeUpdateGo",
798
- "noticeTextFail": "BiQ1zG_noticeTextFail",
799
- "aboutModal": "BiQ1zG_aboutModal",
800
- "failKindUninstall": "BiQ1zG_failKindUninstall",
781
+ "modalLink": "BiQ1zG_modalLink",
782
+ "aboutContent": "BiQ1zG_aboutContent",
783
+ "queueRowTarget": "BiQ1zG_queueRowTarget",
784
+ "modalCmdText": "BiQ1zG_modalCmdText",
785
+ "noticeRowUpdate": "BiQ1zG_noticeRowUpdate",
786
+ "failKind": "BiQ1zG_failKind",
787
+ "restartNowWarning": "BiQ1zG_restartNowWarning",
801
788
  "modalRow": "BiQ1zG_modalRow",
802
- "queueRowHead": "BiQ1zG_queueRowHead",
789
+ "result": "BiQ1zG_result",
790
+ "helpModal": "BiQ1zG_helpModal",
803
791
  "failHead": "BiQ1zG_failHead",
804
- "detailModal": "BiQ1zG_detailModal",
805
- "modalTitleBusy": "BiQ1zG_modalTitleBusy",
792
+ "detailStars": "BiQ1zG_detailStars",
806
793
  "modalCloseIcon": "BiQ1zG_modalCloseIcon",
807
- "toastIn": "BiQ1zG_toastIn",
808
- "hubUpdateMeta": "BiQ1zG_hubUpdateMeta",
809
- "modal": "BiQ1zG_modal",
810
- "detailDim": "BiQ1zG_detailDim",
811
- "modalCmdCopy": "BiQ1zG_modalCmdCopy",
794
+ "queueRow": "BiQ1zG_queueRow",
812
795
  "detailStatusRunning": "BiQ1zG_detailStatusRunning",
813
- "errorModal": "BiQ1zG_errorModal",
814
- "modalTitle": "BiQ1zG_modalTitle",
796
+ "queueRowStatus": "BiQ1zG_queueRowStatus",
797
+ "errorBox": "BiQ1zG_errorBox",
798
+ "failKindUninstall": "BiQ1zG_failKindUninstall",
799
+ "toast": "BiQ1zG_toast",
800
+ "queuedHint": "BiQ1zG_queuedHint",
801
+ "modalActions": "BiQ1zG_modalActions",
802
+ "progressFillFail": "BiQ1zG_progressFillFail",
803
+ "queueRowHead": "BiQ1zG_queueRowHead",
815
804
  "overlayIn": "BiQ1zG_overlayIn",
816
- "failedCopyHint": "BiQ1zG_failedCopyHint",
805
+ "aboutMeta": "BiQ1zG_aboutMeta",
806
+ "detailPathText": "BiQ1zG_detailPathText",
807
+ "detailValue": "BiQ1zG_detailValue",
808
+ "errorModal": "BiQ1zG_errorModal",
809
+ "modalTitleQueued": "BiQ1zG_modalTitleQueued",
810
+ "hubUpdateMetaItem": "BiQ1zG_hubUpdateMetaItem",
811
+ "modalDesc": "BiQ1zG_modalDesc",
812
+ "queueRowDesc": "BiQ1zG_queueRowDesc",
817
813
  "errorHint": "BiQ1zG_errorHint",
818
- "progressFillFail": "BiQ1zG_progressFillFail",
814
+ "failCopy": "BiQ1zG_failCopy",
815
+ "failDiagBtn": "BiQ1zG_failDiagBtn",
816
+ "noticeTextFail": "BiQ1zG_noticeTextFail",
817
+ "linkIcon": "BiQ1zG_linkIcon",
818
+ "stripCancel": "BiQ1zG_stripCancel",
819
+ "modalLabel": "BiQ1zG_modalLabel",
820
+ "noticeRowOk": "BiQ1zG_noticeRowOk",
821
+ "queueRowBody": "BiQ1zG_queueRowBody",
822
+ "pendingRowActions": "BiQ1zG_pendingRowActions",
823
+ "uninstallConfirm": "BiQ1zG_uninstallConfirm",
824
+ "noticeHead": "BiQ1zG_noticeHead",
819
825
  "failBigIssue": "BiQ1zG_failBigIssue",
820
- "aboutContent": "BiQ1zG_aboutContent",
821
- "queueRowTrack": "BiQ1zG_queueRowTrack",
822
- "pendingRowStatus": "BiQ1zG_pendingRowStatus",
823
- "detailStars": "BiQ1zG_detailStars",
824
- "detailArrow": "BiQ1zG_detailArrow",
825
- "queuedHint": "BiQ1zG_queuedHint",
826
- "progressHead": "BiQ1zG_progressHead",
827
- "errorTitle": "BiQ1zG_errorTitle",
826
+ "modalCmdCopy": "BiQ1zG_modalCmdCopy",
827
+ "detailUpdateHint": "BiQ1zG_detailUpdateHint",
828
+ "noticeTextOk": "BiQ1zG_noticeTextOk",
829
+ "overlay": "BiQ1zG_overlay",
830
+ "trustHint": "BiQ1zG_trustHint",
831
+ "progressTrack": "BiQ1zG_progressTrack",
832
+ "queueSection": "BiQ1zG_queueSection",
833
+ "noticeMain": "BiQ1zG_noticeMain",
834
+ "restartNow": "BiQ1zG_restartNow",
835
+ "modalHead": "BiQ1zG_modalHead",
836
+ "modalTitle": "BiQ1zG_modalTitle",
837
+ "modalCancel": "BiQ1zG_modalCancel",
838
+ "noticeBadgeOk": "BiQ1zG_noticeBadgeOk",
839
+ "detailGrid": "BiQ1zG_detailGrid",
828
840
  "confirmIconDanger": "BiQ1zG_confirmIconDanger",
829
- "queueRowStatus": "BiQ1zG_queueRowStatus",
830
- "modalWide": "BiQ1zG_modalWide",
831
- "linkIcon": "BiQ1zG_linkIcon",
832
- "failClear": "BiQ1zG_failClear",
833
841
  "detailLink": "BiQ1zG_detailLink",
834
- "logModal": "BiQ1zG_logModal",
835
- "failList": "BiQ1zG_failList",
836
- "noticeBadgeIcon": "BiQ1zG_noticeBadgeIcon",
837
- "aboutMeta": "BiQ1zG_aboutMeta",
838
- "queueRow": "BiQ1zG_queueRow",
839
- "modalCancel": "BiQ1zG_modalCancel",
840
- "noticeRowMain": "BiQ1zG_noticeRowMain",
841
- "hubUpdateNotes": "BiQ1zG_hubUpdateNotes",
842
- "noticeVersion": "BiQ1zG_noticeVersion",
843
842
  "noticeFoot": "BiQ1zG_noticeFoot",
844
- "trustHint": "BiQ1zG_trustHint",
845
- "failRow": "BiQ1zG_failRow",
846
- "resultTitle": "BiQ1zG_resultTitle",
847
- "errorCopySoft": "BiQ1zG_errorCopySoft",
848
- "detailPathBtn": "BiQ1zG_detailPathBtn",
843
+ "noticeRemove": "BiQ1zG_noticeRemove",
844
+ "hubUpdateMeta": "BiQ1zG_hubUpdateMeta",
845
+ "modalClose": "BiQ1zG_modalClose",
846
+ "queueRowPct": "BiQ1zG_queueRowPct",
849
847
  "noticeTime": "BiQ1zG_noticeTime",
850
- "noticeMain": "BiQ1zG_noticeMain",
851
- "modalInstall": "BiQ1zG_modalInstall",
852
- "noticeRow": "BiQ1zG_noticeRow",
853
- "detailLabel": "BiQ1zG_detailLabel",
854
- "noticeTextOk": "BiQ1zG_noticeTextOk",
855
- "failDiagBtn": "BiQ1zG_failDiagBtn",
856
- "failRepo": "BiQ1zG_failRepo",
857
- "detailPathActions": "BiQ1zG_detailPathActions",
858
- "progressTrack": "BiQ1zG_progressTrack",
859
- "modalCmdText": "BiQ1zG_modalCmdText",
860
- "confirmIconWrap": "BiQ1zG_confirmIconWrap",
861
- "modalDesc": "BiQ1zG_modalDesc",
862
- "queueRowBody": "BiQ1zG_queueRowBody",
863
- "failNetworkTarget": "BiQ1zG_failNetworkTarget",
848
+ "modalBody": "BiQ1zG_modalBody",
849
+ "errorCopySoft": "BiQ1zG_errorCopySoft",
850
+ "noticeBadgeFail": "BiQ1zG_noticeBadgeFail",
851
+ "confirmPrimary": "BiQ1zG_confirmPrimary",
852
+ "noticeBadgeIcon": "BiQ1zG_noticeBadgeIcon",
853
+ "detailStatusText": "BiQ1zG_detailStatusText",
854
+ "modalIn": "BiQ1zG_modalIn",
855
+ "toastIn": "BiQ1zG_toastIn",
856
+ "queueSectionTitle": "BiQ1zG_queueSectionTitle",
857
+ "resultCheck": "BiQ1zG_resultCheck",
858
+ "failEmpty": "BiQ1zG_failEmpty",
864
859
  "hubUpdateModal": "BiQ1zG_hubUpdateModal",
865
- "detailRow": "BiQ1zG_detailRow",
866
- "errorBox": "BiQ1zG_errorBox",
867
- "stripCancel": "BiQ1zG_stripCancel",
860
+ "failList": "BiQ1zG_failList",
861
+ "detailLabel": "BiQ1zG_detailLabel",
862
+ "failedCopyHint": "BiQ1zG_failedCopyHint",
863
+ "hubUpdateNotes": "BiQ1zG_hubUpdateNotes",
864
+ "modalTitleBusy": "BiQ1zG_modalTitleBusy",
865
+ "modalWide": "BiQ1zG_modalWide",
866
+ "modalInstall": "BiQ1zG_modalInstall",
867
+ "aboutModal": "BiQ1zG_aboutModal",
868
+ "detailModal": "BiQ1zG_detailModal",
868
869
  "modalValue": "BiQ1zG_modalValue",
869
- "helpModal": "BiQ1zG_helpModal",
870
- "toast": "BiQ1zG_toast",
871
- "noticeList": "BiQ1zG_noticeList",
872
- "dangerConfirm": "BiQ1zG_dangerConfirm",
873
- "modalBody": "BiQ1zG_modalBody",
874
- "detailMono": "BiQ1zG_detailMono",
870
+ "detailRow": "BiQ1zG_detailRow",
871
+ "detailDim": "BiQ1zG_detailDim",
872
+ "resultDesc": "BiQ1zG_resultDesc",
873
+ "restartLater": "BiQ1zG_restartLater",
874
+ "modal": "BiQ1zG_modal",
875
+ "failPrepareHint": "BiQ1zG_failPrepareHint",
876
+ "detailArrow": "BiQ1zG_detailArrow",
877
+ "detailPathBtn": "BiQ1zG_detailPathBtn",
878
+ "progress": "BiQ1zG_progress",
879
+ "detailPath": "BiQ1zG_detailPath",
880
+ "cliOnlyHint": "BiQ1zG_cliOnlyHint",
881
+ "noticeRowMain": "BiQ1zG_noticeRowMain",
882
+ "resultRestarting": "BiQ1zG_resultRestarting",
875
883
  "resultCheckIcon": "BiQ1zG_resultCheckIcon",
876
- "modalHead": "BiQ1zG_modalHead",
877
- "detailUpdateHint": "BiQ1zG_detailUpdateHint",
878
- "failKind": "BiQ1zG_failKind",
879
- "noticeBadgeOk": "BiQ1zG_noticeBadgeOk",
880
- "noticeRemove": "BiQ1zG_noticeRemove",
881
- "detailStatusText": "BiQ1zG_detailStatusText",
882
- "confirmPrimary": "BiQ1zG_confirmPrimary",
883
- "result": "BiQ1zG_result",
884
- "modalLink": "BiQ1zG_modalLink"
884
+ "queueRowTrack": "BiQ1zG_queueRowTrack",
885
+ "dangerConfirm": "BiQ1zG_dangerConfirm",
886
+ "noticeUpdateGo": "BiQ1zG_noticeUpdateGo",
887
+ "noticeIgnore": "BiQ1zG_noticeIgnore",
888
+ "failClear": "BiQ1zG_failClear"
885
889
  };
886
890
  //#endregion
887
891
  //#region src/client/logic/install-command.ts
@@ -951,7 +955,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
951
955
  * tsdown 构建时用 define 把 __PLUGIN_VERSION__ 替换成 package.json 的版本号;
952
956
  * node --test 直接 import 本模块时该标识符不存在,typeof 守卫兜底为空串。
953
957
  */
954
- const PLUGIN_VERSION = "1.4.12";
958
+ const PLUGIN_VERSION = "1.4.13";
955
959
  const CATEGORY_ORDER = [
956
960
  "interface",
957
961
  "session",
@@ -1588,7 +1592,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
1588
1592
  */
1589
1593
  const hubHasUpdate = (() => {
1590
1594
  if (!hubUpdateInfo) return false;
1591
- if (hubUpdateInfo.version === "1.4.12") return false;
1595
+ if (hubUpdateInfo.version === "1.4.13") return false;
1592
1596
  const publishedAt = hubUpdateInfo.publishedAt;
1593
1597
  if (publishedAt) {
1594
1598
  const publishedMs = Date.parse(publishedAt);
@@ -1812,6 +1816,9 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
1812
1816
  * - pnpmUnusedPatch:profile 里留着指向旧版本 dsh-plugin 的 patch 声明,本次安装解析到的版本
1813
1817
  * 已经不是它(`ERR_PNPM_UNUSED_PATCH` / `The following patches were not used: dsh-plugin@1.4.2`)
1814
1818
  * —— pnpm 发现补丁没被用上即中止整次安装 → 提示删掉该条目后重试
1819
+ * - pnpmMissingDep:profile 里留着一条指向 registry 上不存在的包的依赖,pnpm 解析时收到 404
1820
+ * (`ERR_PNPM_FETCH_404` / `Not Found - 404`)—— 该 profile 的任何安装都会先卡在这条依赖上
1821
+ * → 提示按包名删掉该条目后重试(404 的包通常不是正在安装的插件,故不引导提 Issue)
1815
1822
  * - fileLocked:pnpm 无法替换 profile 里被其他进程占用的文件(Windows `os error 32`
1816
1823
  * 「另一个程序正在使用此文件」/ `EBUSY` / `resource busy or locked`)—— 通常是宿主进程或
1817
1824
  * 杀毒软件实时扫描持有句柄 → 提示完全退出宿主后重试
@@ -1857,7 +1864,8 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
1857
1864
  if (/ERR_PNPM_IGNORED_BUILDS|Ignored build scripts:|ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED/i.test(message)) return "pnpmIgnoredBuild";
1858
1865
  if (/\[network\]|ERR_PNPM_GIT_FETCH_FAILED|ETIMEDOUT|ECONNREFUSED|ECONNRESET|ENOTFOUND|EAI_AGAIN|EPIPE|EHOSTUNREACH|ENETUNREACH|getaddrinfo|Could not connect|Could not resolve host|Network unreachable|Failed to connect|socket hang up|CERT_HAS_EXPIRED|SSL certificate problem|\bTLS\b|\bSSL\b|fetch failed|failed to fetch|\bGET https?:\/\/\S+\.tgz\s+error \(\d+\)/i.test(message)) return "network";
1859
1866
  if (/\[packaging\]|entry file missing/i.test(message)) return "pluginPrepare";
1860
- if (/ERR_PNPM_PREPARE_PACKAGE|ELIFECYCLE|Command failed|prepare-guard/i.test(message)) return "pluginPrepare";
1867
+ if (/ERR_PNPM_FETCH_404|404 Not Found|Not Found - 404/i.test(message)) return "pnpmMissingDep";
1868
+ if (/ERR_PNPM_PREPARE_PACKAGE|ELIFECYCLE|prepare-guard/i.test(message) || /Command failed/.test(message)) return "pluginPrepare";
1861
1869
  return "repo";
1862
1870
  }
1863
1871
  /** 从服务端 `[npm-too-low]` 标记行提取本机 npm 版本(如 `[npm-too-low] npm@11.3.0` → "11.3.0");
@@ -1908,11 +1916,24 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
1908
1916
  } else out = core.join("\n");
1909
1917
  return out.length > maxChars ? `${out.slice(0, maxChars)}\n… (truncated)` : out;
1910
1918
  }
1911
- /** 提取首个错误代码(如 ERR_PNPM_PREPARE_PACKAGE),无则 null。 */
1919
+ /** 提取首个错误代码(如 ERR_PNPM_PREPARE_PACKAGE),无则 null。
1920
+ * 代码里可能含数字(ERR_PNPM_FETCH_404 / ERR_PNPM_EBADPLATFORM_...),字符类必须带上 0-9,
1921
+ * 否则会被截成 `ERR_PNPM_FETCH_`(#73 的 issue 正文就是这么被截断的)。 */
1912
1922
  function coreErrorCode(message) {
1913
- const m = message.match(/\[?ERR_[A-Z_]+\]?/);
1923
+ const m = message.match(/\[?ERR_[A-Z0-9_]+\]?/);
1914
1924
  return m ? m[0].replace(/^\[|\]$/g, "") : null;
1915
1925
  }
1926
+ /** 提取「registry 上不存在的包名」:从 404 行(`ERR_PNPM_FETCH_404 GET <registry>/<pkg>: Not Found - 404`)
1927
+ * 里取请求路径中的包名(含 scope,如 `@scope/name`);非 404 或提取不到返回 null。
1928
+ * 调用方据此在提示里点名具体是哪个依赖缺失 —— 光说「有个包 404 了」用户无从下手。 */
1929
+ function missingRegistryPackageOf(message) {
1930
+ for (const line of message.split(/\r?\n/)) {
1931
+ if (!/ERR_PNPM_FETCH_404|404/.test(line)) continue;
1932
+ const m = line.match(/GET\s+https?:\/\/[^\s/]+\/((?:@[^/\s:]+\/)?[^/\s:]+)/);
1933
+ if (m) return m[1];
1934
+ }
1935
+ return null;
1936
+ }
1916
1937
  /**
1917
1938
  * 从网络类失败消息里提取「具体连不上的地址」,供弹窗精准提示(你的网络无法访问什么)。
1918
1939
  * 优先取服务端 [network] 预检消息括号里的探测地址(中文「(…)」/ 英文「(…)」),
@@ -1987,6 +2008,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
1987
2008
  case "originRejected": return "request origin rejected by the local service on the user machine";
1988
2009
  case "pnpmPolicy": return "pnpm supply-chain policy blocked the install on the user machine";
1989
2010
  case "pnpmUnusedPatch": return "stale pnpm patch entry on the user machine";
2011
+ case "pnpmMissingDep": return "dependency not found on the npm registry on the user machine";
1990
2012
  case "fileLocked": return "file locked by another process on the user machine";
1991
2013
  case "accessDenied": return "file write access denied on the user machine";
1992
2014
  case "fsUnavailable": return "local file system unavailable on the user machine";
@@ -3391,7 +3413,10 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
3391
3413
  }, repo) : null, (0, react.createElement)("button", {
3392
3414
  className: Modal_module_css_default.errorCopySoft,
3393
3415
  onClick: () => onCopy(copyText)
3394
- }, t("errorCopy"))), (0, react.createElement)("pre", { className: Modal_module_css_default.errorBox }, message), failureKind === "npmTooOld" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t(npmVersion ? "failNpmTooLowV" : "failNpmTooLow", npmVersion ? { v: npmVersion } : void 0)) : failureKind === "dshMissing" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failDshMissingHint")) : failureKind === "gitMissing" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failGitMissingHint")) : failureKind === "pnpmMissing" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmMissingHint")) : failureKind === "npmMissing" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failNpmMissingHint")) : failureKind === "pnpmWorkspace" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmWorkspaceHint")) : failureKind === "pnpmStore" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmStoreHint")) : failureKind === "pnpmPolicy" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmPolicyHint")) : failureKind === "pnpmUnusedPatch" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmUnusedPatchHint")) : failureKind === "fileLocked" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failFileLockedHint")) : failureKind === "accessDenied" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failAccessDeniedHint")) : failureKind === "fsUnavailable" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failFsUnavailableHint")) : failureKind === "originRejected" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failOriginRejectedHint")) : failureKind === "network" ? (0, react.createElement)("div", null, [
3416
+ }, t("errorCopy"))), (0, react.createElement)("pre", { className: Modal_module_css_default.errorBox }, message), failureKind === "npmTooOld" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t(npmVersion ? "failNpmTooLowV" : "failNpmTooLow", npmVersion ? { v: npmVersion } : void 0)) : failureKind === "dshMissing" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failDshMissingHint")) : failureKind === "gitMissing" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failGitMissingHint")) : failureKind === "pnpmMissing" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmMissingHint")) : failureKind === "npmMissing" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failNpmMissingHint")) : failureKind === "pnpmWorkspace" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmWorkspaceHint")) : failureKind === "pnpmStore" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmStoreHint")) : failureKind === "pnpmPolicy" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmPolicyHint")) : failureKind === "pnpmUnusedPatch" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmUnusedPatchHint")) : failureKind === "pnpmMissingDep" ? (0, react.createElement)("div", null, [(() => {
3417
+ const pkg = missingRegistryPackageOf(message);
3418
+ return pkg ? (0, react.createElement)("div", { className: Modal_module_css_default.failNetworkTarget }, t("failPnpmMissingDepTarget", { pkg })) : null;
3419
+ })(), (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmMissingDepHint"))]) : failureKind === "fileLocked" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failFileLockedHint")) : failureKind === "accessDenied" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failAccessDeniedHint")) : failureKind === "fsUnavailable" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failFsUnavailableHint")) : failureKind === "originRejected" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failOriginRejectedHint")) : failureKind === "network" ? (0, react.createElement)("div", null, [
3395
3420
  (() => {
3396
3421
  const target = unreachableTargetOf(message);
3397
3422
  return target ? (0, react.createElement)("div", { className: Modal_module_css_default.failNetworkTarget }, t("failNetworkTarget", { url: target })) : null;
@@ -3954,6 +3979,10 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
3954
3979
  if (kind === "pnpmStore") return (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmStoreHint"));
3955
3980
  if (kind === "pnpmPolicy") return (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmPolicyHint"));
3956
3981
  if (kind === "pnpmUnusedPatch") return (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmUnusedPatchHint"));
3982
+ if (kind === "pnpmMissingDep") {
3983
+ const pkg = missingRegistryPackageOf(r.message);
3984
+ return (0, react.createElement)("div", null, [pkg ? (0, react.createElement)("div", { className: Modal_module_css_default.failNetworkTarget }, t("failPnpmMissingDepTarget", { pkg })) : null, (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmMissingDepHint"))]);
3985
+ }
3957
3986
  if (kind === "fileLocked") return (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failFileLockedHint"));
3958
3987
  if (kind === "accessDenied") return (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failAccessDeniedHint"));
3959
3988
  if (kind === "fsUnavailable") return (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failFsUnavailableHint"));
@@ -4167,40 +4196,40 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
4167
4196
  css: css$9
4168
4197
  });
4169
4198
  var List_module_css_default = {
4170
- "state": "_3XaZHa_state",
4171
- "desc": "_3XaZHa_desc",
4199
+ "card": "_3XaZHa_card",
4200
+ "actions": "_3XaZHa_actions",
4172
4201
  "stats": "_3XaZHa_stats",
4173
- "star": "_3XaZHa_star",
4202
+ "categoryBadge": "_3XaZHa_categoryBadge",
4203
+ "body": "_3XaZHa_body",
4204
+ "list": "_3XaZHa_list",
4205
+ "topic": "_3XaZHa_topic",
4174
4206
  "cardTitle": "_3XaZHa_cardTitle",
4207
+ "date": "_3XaZHa_date",
4208
+ "detailBtn": "_3XaZHa_detailBtn",
4209
+ "stateDesc": "_3XaZHa_stateDesc",
4210
+ "footLink": "_3XaZHa_footLink",
4211
+ "verified": "_3XaZHa_verified",
4212
+ "moreSentinel": "_3XaZHa_moreSentinel",
4213
+ "state": "_3XaZHa_state",
4214
+ "cardHead": "_3XaZHa_cardHead",
4215
+ "star": "_3XaZHa_star",
4175
4216
  "stateActions": "_3XaZHa_stateActions",
4217
+ "diagBtn": "_3XaZHa_diagBtn",
4218
+ "installBtnCopied": "_3XaZHa_installBtnCopied",
4219
+ "cardMain": "_3XaZHa_cardMain",
4220
+ "topics": "_3XaZHa_topics",
4221
+ "installBtnUpdate": "_3XaZHa_installBtnUpdate",
4222
+ "footer": "_3XaZHa_footer",
4176
4223
  "uninstallBtn": "_3XaZHa_uninstallBtn",
4177
- "body": "_3XaZHa_body",
4178
- "categoryBadge": "_3XaZHa_categoryBadge",
4224
+ "versionBadge": "_3XaZHa_versionBadge",
4179
4225
  "fork": "_3XaZHa_fork",
4180
- "actions": "_3XaZHa_actions",
4181
4226
  "retryBtn": "_3XaZHa_retryBtn",
4182
- "footLink": "_3XaZHa_footLink",
4183
- "installBtnUpdate": "_3XaZHa_installBtnUpdate",
4184
- "list": "_3XaZHa_list",
4185
- "card": "_3XaZHa_card",
4186
- "cardMain": "_3XaZHa_cardMain",
4187
- "versionBadge": "_3XaZHa_versionBadge",
4227
+ "desc": "_3XaZHa_desc",
4228
+ "installBtnInstalled": "_3XaZHa_installBtnInstalled",
4188
4229
  "stateTitle": "_3XaZHa_stateTitle",
4189
- "date": "_3XaZHa_date",
4190
4230
  "installBtn": "_3XaZHa_installBtn",
4191
- "detailBtn": "_3XaZHa_detailBtn",
4192
4231
  "updateBadge": "_3XaZHa_updateBadge",
4193
- "topic": "_3XaZHa_topic",
4194
- "cardSide": "_3XaZHa_cardSide",
4195
- "footer": "_3XaZHa_footer",
4196
- "verified": "_3XaZHa_verified",
4197
- "stateDesc": "_3XaZHa_stateDesc",
4198
- "cardHead": "_3XaZHa_cardHead",
4199
- "installBtnCopied": "_3XaZHa_installBtnCopied",
4200
- "diagBtn": "_3XaZHa_diagBtn",
4201
- "topics": "_3XaZHa_topics",
4202
- "moreSentinel": "_3XaZHa_moreSentinel",
4203
- "installBtnInstalled": "_3XaZHa_installBtnInstalled"
4232
+ "cardSide": "_3XaZHa_cardSide"
4204
4233
  };
4205
4234
  //#endregion
4206
4235
  //#region src/client/hooks/useIncrementalList.ts
@@ -4407,15 +4436,15 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
4407
4436
  css: css$8
4408
4437
  });
4409
4438
  var SectionTabs_module_css_default = {
4410
- "noticeBtn": "_7tvizq_noticeBtn",
4411
- "tabIcon": "_7tvizq_tabIcon",
4412
- "tabCountActive": "_7tvizq_tabCountActive",
4413
- "noticeCount": "_7tvizq_noticeCount",
4414
4439
  "root": "_7tvizq_root",
4440
+ "tabCount": "_7tvizq_tabCount",
4415
4441
  "tab": "_7tvizq_tab",
4416
4442
  "tabActive": "_7tvizq_tabActive",
4417
- "tabCount": "_7tvizq_tabCount",
4418
- "noticeIcon": "_7tvizq_noticeIcon"
4443
+ "noticeCount": "_7tvizq_noticeCount",
4444
+ "tabCountActive": "_7tvizq_tabCountActive",
4445
+ "noticeBtn": "_7tvizq_noticeBtn",
4446
+ "noticeIcon": "_7tvizq_noticeIcon",
4447
+ "tabIcon": "_7tvizq_tabIcon"
4419
4448
  };
4420
4449
  //#endregion
4421
4450
  //#region src/client/components/layout/SectionTabs.tsx
@@ -4492,42 +4521,42 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
4492
4521
  css: css$7
4493
4522
  });
4494
4523
  var InstalledView_module_css_default = {
4495
- "rowTitle": "_1nXeGW_rowTitle",
4524
+ "searchWrap": "_1nXeGW_searchWrap",
4525
+ "statusPending": "_1nXeGW_statusPending",
4526
+ "rowMain": "_1nXeGW_rowMain",
4527
+ "rowUpdate": "_1nXeGW_rowUpdate",
4528
+ "segBtn": "_1nXeGW_segBtn",
4496
4529
  "segRow": "_1nXeGW_segRow",
4497
- "segLabel": "_1nXeGW_segLabel",
4530
+ "rowRestart": "_1nXeGW_rowRestart",
4531
+ "row": "_1nXeGW_row",
4532
+ "rowRepo": "_1nXeGW_rowRepo",
4533
+ "rowSourceTagHub": "_1nXeGW_rowSourceTagHub",
4534
+ "empty": "_1nXeGW_empty",
4535
+ "rowDetail": "_1nXeGW_rowDetail",
4536
+ "updateBadge": "_1nXeGW_updateBadge",
4498
4537
  "segGroup": "_1nXeGW_segGroup",
4499
- "rowUninstall": "_1nXeGW_rowUninstall",
4500
- "rowMeta": "_1nXeGW_rowMeta",
4501
- "rowSourceTagManual": "_1nXeGW_rowSourceTagManual",
4538
+ "rowDesc": "_1nXeGW_rowDesc",
4502
4539
  "list": "_1nXeGW_list",
4503
4540
  "rowTitleLine": "_1nXeGW_rowTitleLine",
4504
- "exampleRow": "_1nXeGW_exampleRow",
4541
+ "root": "_1nXeGW_root",
4505
4542
  "rowSourceTag": "_1nXeGW_rowSourceTag",
4506
- "statusPending": "_1nXeGW_statusPending",
4507
- "rowSourceTagHub": "_1nXeGW_rowSourceTagHub",
4543
+ "rowSourceTagManual": "_1nXeGW_rowSourceTagManual",
4544
+ "emptyTitle": "_1nXeGW_emptyTitle",
4545
+ "exampleRow": "_1nXeGW_exampleRow",
4546
+ "segLabel": "_1nXeGW_segLabel",
4508
4547
  "segBtnActive": "_1nXeGW_segBtnActive",
4509
- "rowDesc": "_1nXeGW_rowDesc",
4510
- "versionBadge": "_1nXeGW_versionBadge",
4511
- "segBtn": "_1nXeGW_segBtn",
4512
- "rowActions": "_1nXeGW_rowActions",
4513
- "rowDetail": "_1nXeGW_rowDetail",
4514
- "rowRestart": "_1nXeGW_rowRestart",
4515
- "toolbar": "_1nXeGW_toolbar",
4516
- "updateBadge": "_1nXeGW_updateBadge",
4517
- "rowCategory": "_1nXeGW_rowCategory",
4518
- "statusInactive": "_1nXeGW_statusInactive",
4519
- "searchWrap": "_1nXeGW_searchWrap",
4520
- "rowMain": "_1nXeGW_rowMain",
4521
- "rowUpdate": "_1nXeGW_rowUpdate",
4548
+ "emptyDesc": "_1nXeGW_emptyDesc",
4522
4549
  "statusDot": "_1nXeGW_statusDot",
4523
- "empty": "_1nXeGW_empty",
4524
- "emptyTitle": "_1nXeGW_emptyTitle",
4525
- "rowRepo": "_1nXeGW_rowRepo",
4526
4550
  "exampleBadge": "_1nXeGW_exampleBadge",
4527
- "row": "_1nXeGW_row",
4528
- "emptyDesc": "_1nXeGW_emptyDesc",
4529
- "root": "_1nXeGW_root",
4530
- "searchInput": "_1nXeGW_searchInput"
4551
+ "rowMeta": "_1nXeGW_rowMeta",
4552
+ "rowActions": "_1nXeGW_rowActions",
4553
+ "searchInput": "_1nXeGW_searchInput",
4554
+ "rowUninstall": "_1nXeGW_rowUninstall",
4555
+ "statusInactive": "_1nXeGW_statusInactive",
4556
+ "toolbar": "_1nXeGW_toolbar",
4557
+ "rowTitle": "_1nXeGW_rowTitle",
4558
+ "versionBadge": "_1nXeGW_versionBadge",
4559
+ "rowCategory": "_1nXeGW_rowCategory"
4531
4560
  };
4532
4561
  //#endregion
4533
4562
  //#region src/client/components/views/InstalledView.tsx
@@ -4773,28 +4802,28 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
4773
4802
  css: css$6
4774
4803
  });
4775
4804
  var CustomInstallView_module_css_default = {
4776
- "helpNote": "zISxCG_helpNote",
4777
- "installCards": "zISxCG_installCards",
4778
- "installInsertBtn": "zISxCG_installInsertBtn",
4779
- "installInput": "zISxCG_installInput",
4780
- "installInputError": "zISxCG_installInputError",
4781
- "installBtn": "zISxCG_installBtn",
4805
+ "helpCmd": "zISxCG_helpCmd",
4806
+ "installRow": "zISxCG_installRow",
4807
+ "helpLine": "zISxCG_helpLine",
4782
4808
  "installCard": "zISxCG_installCard",
4809
+ "installCardDisabled": "zISxCG_installCardDisabled",
4810
+ "root": "zISxCG_root",
4811
+ "installCards": "zISxCG_installCards",
4812
+ "installCardHead": "zISxCG_installCardHead",
4783
4813
  "channelOffText": "zISxCG_channelOffText",
4784
- "installError": "zISxCG_installError",
4785
- "helpCmd": "zISxCG_helpCmd",
4786
- "channelOff": "zISxCG_channelOff",
4787
4814
  "installHelpBtn": "zISxCG_installHelpBtn",
4815
+ "channelOffBtn": "zISxCG_channelOffBtn",
4816
+ "installInputError": "zISxCG_installInputError",
4817
+ "installError": "zISxCG_installError",
4818
+ "installInsertBtn": "zISxCG_installInsertBtn",
4788
4819
  "desc": "zISxCG_desc",
4820
+ "channelOff": "zISxCG_channelOff",
4821
+ "installInput": "zISxCG_installInput",
4789
4822
  "installLabel": "zISxCG_installLabel",
4790
- "channelOffBtn": "zISxCG_channelOffBtn",
4791
4823
  "helpBody": "zISxCG_helpBody",
4792
4824
  "installExample": "zISxCG_installExample",
4793
- "helpLine": "zISxCG_helpLine",
4794
- "root": "zISxCG_root",
4795
- "installRow": "zISxCG_installRow",
4796
- "installCardHead": "zISxCG_installCardHead",
4797
- "installCardDisabled": "zISxCG_installCardDisabled"
4825
+ "helpNote": "zISxCG_helpNote",
4826
+ "installBtn": "zISxCG_installBtn"
4798
4827
  };
4799
4828
  //#endregion
4800
4829
  //#region src/client/components/views/CustomInstallView.tsx
@@ -5084,30 +5113,30 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5084
5113
  css: css$5
5085
5114
  });
5086
5115
  var SettingsView_module_css_default = {
5087
- "settingLabel": "_506LLG_settingLabel",
5116
+ "textInput": "_506LLG_textInput",
5117
+ "pageTitle": "_506LLG_pageTitle",
5118
+ "controlDropdown": "_506LLG_controlDropdown",
5119
+ "settingTitle": "_506LLG_settingTitle",
5088
5120
  "navIcon": "_506LLG_navIcon",
5089
- "navItem": "_506LLG_navItem",
5121
+ "proxyHint": "_506LLG_proxyHint",
5122
+ "resetBtn": "_506LLG_resetBtn",
5090
5123
  "navItemActive": "_506LLG_navItemActive",
5091
- "content": "_506LLG_content",
5092
- "card": "_506LLG_card",
5124
+ "settingLabel": "_506LLG_settingLabel",
5125
+ "settingRow": "_506LLG_settingRow",
5126
+ "proxyHintOk": "_506LLG_proxyHintOk",
5127
+ "root": "_506LLG_root",
5128
+ "proxyControl": "_506LLG_proxyControl",
5093
5129
  "settingControlStack": "_506LLG_settingControlStack",
5094
- "proxyHint": "_506LLG_proxyHint",
5130
+ "navItem": "_506LLG_navItem",
5095
5131
  "proxyHintFail": "_506LLG_proxyHintFail",
5132
+ "pageDesc": "_506LLG_pageDesc",
5096
5133
  "pageHeader": "_506LLG_pageHeader",
5097
- "settingTitle": "_506LLG_settingTitle",
5098
- "pageTitle": "_506LLG_pageTitle",
5099
- "sidebar": "_506LLG_sidebar",
5134
+ "card": "_506LLG_card",
5100
5135
  "settingDesc": "_506LLG_settingDesc",
5136
+ "content": "_506LLG_content",
5101
5137
  "settingControl": "_506LLG_settingControl",
5102
- "proxyControl": "_506LLG_proxyControl",
5103
- "proxyHintOk": "_506LLG_proxyHintOk",
5104
- "resetBtn": "_506LLG_resetBtn",
5105
- "pageDesc": "_506LLG_pageDesc",
5106
- "textInput": "_506LLG_textInput",
5107
- "settingRow": "_506LLG_settingRow",
5108
- "settingRowStack": "_506LLG_settingRowStack",
5109
- "controlDropdown": "_506LLG_controlDropdown",
5110
- "root": "_506LLG_root"
5138
+ "sidebar": "_506LLG_sidebar",
5139
+ "settingRowStack": "_506LLG_settingRowStack"
5111
5140
  };
5112
5141
  //#endregion
5113
5142
  //#region \0dsh-css:src/client/styles/Dropdown.module.css.mjs
@@ -5126,17 +5155,17 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5126
5155
  css: css$4
5127
5156
  });
5128
5157
  var Dropdown_module_css_default = {
5129
- "dropdownLabel": "B_Gxsq_dropdownLabel",
5130
- "dropdownItemActive": "B_Gxsq_dropdownItemActive",
5131
5158
  "dropdownArrowOpen": "B_Gxsq_dropdownArrowOpen",
5132
- "dropdownBtn": "B_Gxsq_dropdownBtn",
5133
- "dropdownArrow": "B_Gxsq_dropdownArrow",
5159
+ "dropdownItemActive": "B_Gxsq_dropdownItemActive",
5134
5160
  "dropdownFill": "B_Gxsq_dropdownFill",
5135
- "dropdownItem": "B_Gxsq_dropdownItem",
5136
- "dropdownItemLabel": "B_Gxsq_dropdownItemLabel",
5161
+ "dropdownArrow": "B_Gxsq_dropdownArrow",
5137
5162
  "dropdownPanel": "B_Gxsq_dropdownPanel",
5163
+ "dropdownItem": "B_Gxsq_dropdownItem",
5138
5164
  "dropdownCount": "B_Gxsq_dropdownCount",
5165
+ "dropdownItemLabel": "B_Gxsq_dropdownItemLabel",
5139
5166
  "dropdownCountActive": "B_Gxsq_dropdownCountActive",
5167
+ "dropdownBtn": "B_Gxsq_dropdownBtn",
5168
+ "dropdownLabel": "B_Gxsq_dropdownLabel",
5140
5169
  "dropdown": "B_Gxsq_dropdown"
5141
5170
  };
5142
5171
  //#endregion
@@ -5157,8 +5186,8 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5157
5186
  });
5158
5187
  var Toggle_module_css_default = {
5159
5188
  "toggle": "k-cD4G_toggle",
5160
- "toggleOn": "k-cD4G_toggleOn",
5161
- "knob": "k-cD4G_knob"
5189
+ "knob": "k-cD4G_knob",
5190
+ "toggleOn": "k-cD4G_toggleOn"
5162
5191
  };
5163
5192
  //#endregion
5164
5193
  //#region src/client/components/ui/Toggle.tsx
@@ -5258,28 +5287,28 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5258
5287
  css: css$2
5259
5288
  });
5260
5289
  var DiagnosticsView_module_css_default = {
5261
- "envCopyBtn": "k9eRya_envCopyBtn",
5262
- "head": "k9eRya_head",
5263
- "meta": "k9eRya_meta",
5264
- "diagPulse": "k9eRya_diagPulse",
5265
- "summaryFail": "k9eRya_summaryFail",
5266
- "runBtn": "k9eRya_runBtn",
5267
5290
  "envLabel": "k9eRya_envLabel",
5268
- "headHint": "k9eRya_headHint",
5291
+ "name": "k9eRya_name",
5292
+ "meta": "k9eRya_meta",
5269
5293
  "badge": "k9eRya_badge",
5270
- "envTitle": "k9eRya_envTitle",
5294
+ "badgeIdle": "k9eRya_badgeIdle",
5295
+ "head": "k9eRya_head",
5296
+ "badgeRunning": "k9eRya_badgeRunning",
5271
5297
  "panel": "k9eRya_panel",
5272
- "row": "k9eRya_row",
5298
+ "envTitle": "k9eRya_envTitle",
5299
+ "runBtn": "k9eRya_runBtn",
5300
+ "badgeFail": "k9eRya_badgeFail",
5301
+ "summaryFail": "k9eRya_summaryFail",
5302
+ "diagPulse": "k9eRya_diagPulse",
5273
5303
  "envRow": "k9eRya_envRow",
5274
- "display": "k9eRya_display",
5275
- "badgeRunning": "k9eRya_badgeRunning",
5276
- "badgeIdle": "k9eRya_badgeIdle",
5304
+ "envDesc": "k9eRya_envDesc",
5305
+ "row": "k9eRya_row",
5277
5306
  "badgeOk": "k9eRya_badgeOk",
5278
- "badgeFail": "k9eRya_badgeFail",
5279
- "summaryOk": "k9eRya_summaryOk",
5280
5307
  "summary": "k9eRya_summary",
5281
- "name": "k9eRya_name",
5282
- "envDesc": "k9eRya_envDesc",
5308
+ "envCopyBtn": "k9eRya_envCopyBtn",
5309
+ "headHint": "k9eRya_headHint",
5310
+ "summaryOk": "k9eRya_summaryOk",
5311
+ "display": "k9eRya_display",
5283
5312
  "summaryRunning": "k9eRya_summaryRunning"
5284
5313
  };
5285
5314
  //#endregion
@@ -5458,57 +5487,57 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
5458
5487
  css: css$1
5459
5488
  });
5460
5489
  var LogsView_module_css_default = {
5461
- "btn": "_3j77BW_btn",
5490
+ "badgeError": "_3j77BW_badgeError",
5491
+ "pathDraft": "_3j77BW_pathDraft",
5462
5492
  "clearBtn": "_3j77BW_clearBtn",
5463
- "head": "_3j77BW_head",
5464
5493
  "pathDialogDesc": "_3j77BW_pathDialogDesc",
5465
- "badgeError": "_3j77BW_badgeError",
5466
- "badgeWarn": "_3j77BW_badgeWarn",
5467
- "catInstall": "_3j77BW_catInstall",
5468
- "headHint": "_3j77BW_headHint",
5469
- "filterBar": "_3j77BW_filterBar",
5470
- "filterChip": "_3j77BW_filterChip",
5471
5494
  "pathDialogRow": "_3j77BW_pathDialogRow",
5472
- "event": "_3j77BW_event",
5473
- "footActions": "_3j77BW_footActions",
5474
- "badgeSuccess": "_3j77BW_badgeSuccess",
5475
- "actions": "_3j77BW_actions",
5495
+ "pathDialog": "_3j77BW_pathDialog",
5496
+ "pathDialogFoot": "_3j77BW_pathDialogFoot",
5497
+ "headHint": "_3j77BW_headHint",
5498
+ "logList": "_3j77BW_logList",
5476
5499
  "pathText": "_3j77BW_pathText",
5500
+ "footActions": "_3j77BW_footActions",
5501
+ "message": "_3j77BW_message",
5502
+ "badgeWarn": "_3j77BW_badgeWarn",
5503
+ "pathRow": "_3j77BW_pathRow",
5504
+ "badgeInfo": "_3j77BW_badgeInfo",
5477
5505
  "footPath": "_3j77BW_footPath",
5478
- "pathDraft": "_3j77BW_pathDraft",
5479
- "footCount": "_3j77BW_footCount",
5506
+ "badgeDebug": "_3j77BW_badgeDebug",
5507
+ "linkBtn": "_3j77BW_linkBtn",
5508
+ "moreEnd": "_3j77BW_moreEnd",
5509
+ "pathDialogHint": "_3j77BW_pathDialogHint",
5510
+ "time": "_3j77BW_time",
5480
5511
  "filterChipActive": "_3j77BW_filterChipActive",
5481
- "badge": "_3j77BW_badge",
5482
- "catUpdate": "_3j77BW_catUpdate",
5512
+ "search": "_3j77BW_search",
5513
+ "actions": "_3j77BW_actions",
5483
5514
  "list": "_3j77BW_list",
5484
- "pathDialogReset": "_3j77BW_pathDialogReset",
5515
+ "event": "_3j77BW_event",
5516
+ "panel": "_3j77BW_panel",
5517
+ "filterChip": "_3j77BW_filterChip",
5518
+ "headActions": "_3j77BW_headActions",
5519
+ "more": "_3j77BW_more",
5520
+ "catInstall": "_3j77BW_catInstall",
5521
+ "empty": "_3j77BW_empty",
5522
+ "badgeSuccess": "_3j77BW_badgeSuccess",
5485
5523
  "catBadge": "_3j77BW_catBadge",
5486
- "catUninstall": "_3j77BW_catUninstall",
5487
- "pathDialogFoot": "_3j77BW_pathDialogFoot",
5488
- "message": "_3j77BW_message",
5489
- "search": "_3j77BW_search",
5524
+ "catSettings": "_3j77BW_catSettings",
5525
+ "filterBar": "_3j77BW_filterBar",
5526
+ "foot": "_3j77BW_foot",
5527
+ "catUpdate": "_3j77BW_catUpdate",
5528
+ "head": "_3j77BW_head",
5490
5529
  "searchInput": "_3j77BW_searchInput",
5491
- "time": "_3j77BW_time",
5492
- "moreEnd": "_3j77BW_moreEnd",
5493
- "logList": "_3j77BW_logList",
5530
+ "entry": "_3j77BW_entry",
5531
+ "badge": "_3j77BW_badge",
5532
+ "catUninstall": "_3j77BW_catUninstall",
5533
+ "pathLabel": "_3j77BW_pathLabel",
5494
5534
  "catDiagnostics": "_3j77BW_catDiagnostics",
5495
- "badgeInfo": "_3j77BW_badgeInfo",
5496
5535
  "footFail": "_3j77BW_footFail",
5497
- "badgeDebug": "_3j77BW_badgeDebug",
5498
- "pathDialog": "_3j77BW_pathDialog",
5499
- "catSettings": "_3j77BW_catSettings",
5500
- "entry": "_3j77BW_entry",
5501
- "pathDialogHint": "_3j77BW_pathDialogHint",
5502
- "linkBtn": "_3j77BW_linkBtn",
5503
5536
  "catSystem": "_3j77BW_catSystem",
5504
- "pathRow": "_3j77BW_pathRow",
5505
- "more": "_3j77BW_more",
5506
- "foot": "_3j77BW_foot",
5507
- "panel": "_3j77BW_panel",
5508
- "pathLabel": "_3j77BW_pathLabel",
5509
- "headActions": "_3j77BW_headActions",
5537
+ "btn": "_3j77BW_btn",
5510
5538
  "previewRow": "_3j77BW_previewRow",
5511
- "empty": "_3j77BW_empty"
5539
+ "pathDialogReset": "_3j77BW_pathDialogReset",
5540
+ "footCount": "_3j77BW_footCount"
5512
5541
  };
5513
5542
  //#endregion
5514
5543
  //#region src/client/components/modals/LogsModal.tsx
@@ -6757,7 +6786,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
6757
6786
  openSection: settingsSection,
6758
6787
  onConsumedOpenSection: () => setSettingsSection(null)
6759
6788
  }), showHubUpdate && (0, react.createElement)(HubUpdateModal, {
6760
- info: catalog.hubUpdateInfo ?? { version: "1.4.12" },
6789
+ info: catalog.hubUpdateInfo ?? { version: "1.4.13" },
6761
6790
  lang,
6762
6791
  t,
6763
6792
  hasUpdate: catalog.hubHasUpdate,