dsh-plugin 2.0.0 → 2.0.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/README.en.md +12 -12
- package/README.md +12 -12
- package/client/client.js +470 -314
- package/client/client.js.map +1 -1
- package/lib/services/install/operation-log.js +53 -1
- package/lib/services/install/task-queue.js +6 -2
- package/lib/types/services/install/operation-log.d.ts +9 -0
- package/package.json +1 -1
- package/src/client/components/PluginHubSection.tsx +9 -0
- package/src/client/components/modals/NotificationsModal.tsx +39 -8
- package/src/client/components/modals/modals.tsx +40 -11
- package/src/client/locales.ts +112 -0
- package/src/client/logic/failures.ts +4 -1
- package/src/client/logic/urls.ts +4 -1
- package/src/client/styles/Modal.module.css +42 -1
- package/src/server/services/install/operation-log.ts +47 -1
- package/src/server/services/install/task-queue.ts +6 -2
package/client/client.js
CHANGED
|
@@ -308,6 +308,61 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
308
308
|
failRegistryMirrorLagHint: "安装器调用 pnpm 时报「包不存在」(ERR_PNPM_FETCH_404):该包在官方 npm 源上是有的,但你本机配置的 npm/pnpm 源(registry 或镜像)没有同步到它。请把 npm/pnpm 的 registry 指回官方源 https://registry.npmjs.org(或换一个已同步该包的镜像)后重试。这不是插件本身的问题。",
|
|
309
309
|
failPluginMissingDepTarget: "{pkg} 在官方 npm 源上不存在",
|
|
310
310
|
failPluginMissingDepHint: "该插件依赖的包在官方 npm 源上并不存在(已删除或从未发布):这是插件作者侧的依赖问题,不是你环境的问题。请向插件作者仓库反馈,请作者补上或修正该依赖,或改为随插件一起分发。",
|
|
311
|
+
failHostIncompatibleKind: "插件不支持当前的 DSH 版本",
|
|
312
|
+
failHostIncompatibleReason: "当前 DSH {version} 不在该插件的兼容清单里,宿主在安装前就拒绝了 —— 什么都没装。",
|
|
313
|
+
failHostIncompatibleHint: "① 请作者把该版本加入兼容清单后发新版(下方按钮直达作者仓库)\n② 在桌面应用的插件管理器里为这个精确版本授权(宿主会提示崩溃/数据风险)",
|
|
314
|
+
failKind_npmTooOld: "本机 npm 版本过低",
|
|
315
|
+
failReason_npmTooOld: "当前 npm 版本处理不了这个包的依赖树,安装被中断。",
|
|
316
|
+
failKind_dshMissing: "本机缺少 dsh",
|
|
317
|
+
failReason_dshMissing: "安装器需要调用 dsh,但在你的机器上找不到它。",
|
|
318
|
+
failKind_gitMissing: "本机缺少 git",
|
|
319
|
+
failReason_gitMissing: "这个包的依赖需要 git,但机器上找不到 git。",
|
|
320
|
+
failKind_pnpmMissing: "本机缺少 pnpm",
|
|
321
|
+
failReason_pnpmMissing: "安装器通过 pnpm 安装插件,但机器上找不到 pnpm。",
|
|
322
|
+
failKind_npmMissing: "本机缺少 npm",
|
|
323
|
+
failReason_npmMissing: "安装流程需要 npm,但机器上找不到它。",
|
|
324
|
+
failKind_pnpmStore: "pnpm store 版本不匹配",
|
|
325
|
+
failReason_pnpmStore: "profile 里的依赖由另一大版本的 pnpm 生成,当前 pnpm 不认。",
|
|
326
|
+
failKind_pnpmWorkspace: "workspace 根校验阻止了安装",
|
|
327
|
+
failReason_pnpmWorkspace: "profile 被当作 workspace 根,但没有声明根操作,pnpm 中止了安装。",
|
|
328
|
+
failKind_originRejected: "本地服务的来源校验未通过",
|
|
329
|
+
failReason_originRejected: "请求根本没进安装流程:本地服务拒绝了它的来源。",
|
|
330
|
+
failKind_pnpmPolicy: "被 pnpm 供应链策略拦截",
|
|
331
|
+
failReason_pnpmPolicy: "版本未满最小发布年龄,或缺完整性校验 / 来源不可信。",
|
|
332
|
+
failKind_pnpmUnusedPatch: "profile 残留旧补丁声明",
|
|
333
|
+
failReason_pnpmUnusedPatch: "profile 里留着指向旧版本 dsh-plugin 的补丁,pnpm 出于安全中止了安装。",
|
|
334
|
+
failKind_pnpmMissingDep: "依赖包在 registry 上不存在",
|
|
335
|
+
failReason_pnpmMissingDep: "profile 里有一条指向未发布包的依赖,pnpm 每次解析都卡在它上面。",
|
|
336
|
+
failKind_pluginMissingDep: "插件依赖未发布",
|
|
337
|
+
failReason_pluginMissingDep: "插件声明依赖的包在官方 npm 源上不存在(已删除或从未发布)。",
|
|
338
|
+
failKind_registryVersionStale: "该版本在所用源上不存在",
|
|
339
|
+
failReason_registryVersionStale: "实际安装用的源还没同步到这个版本,或版本号写错。",
|
|
340
|
+
failKind_pnpmLinkedDirMissing: "profile 里有失效的本地依赖",
|
|
341
|
+
failReason_pnpmLinkedDirMissing: "有一条指向本机不存在目录的 link/file 依赖,pnpm 每次解析都卡住。",
|
|
342
|
+
failKind_fileLocked: "文件被其他程序占用",
|
|
343
|
+
failReason_fileLocked: "pnpm 无法替换 profile 里的文件:有程序正持有它。",
|
|
344
|
+
failKind_accessDenied: "没有写入权限",
|
|
345
|
+
failReason_accessDenied: "系统拒绝 pnpm 写入 profile 里的文件。",
|
|
346
|
+
failKind_fsUnavailable: "磁盘不可写",
|
|
347
|
+
failReason_fsUnavailable: "磁盘已满、处于只读,或文件句柄耗尽。",
|
|
348
|
+
failKind_pnpmIgnoredBuild: "原生模块构建被拦截",
|
|
349
|
+
failReason_pnpmIgnoredBuild: "插件依赖需要在你的机器上现场编译,pnpm 默认拦住构建脚本。",
|
|
350
|
+
failKind_pluginPrepare: "插件分发不完整",
|
|
351
|
+
failReason_pluginPrepare: "作者发布的包里缺文件,或构建脚本执行失败。",
|
|
352
|
+
failKind_hostIncompatible: "插件不支持当前的 DSH 版本({version})",
|
|
353
|
+
failReason_hostIncompatible: "插件声明的兼容清单里没有你正在运行的 DSH 版本。",
|
|
354
|
+
failKind_network: "网络连接失败",
|
|
355
|
+
failReason_network: "安装过程中连不上 npm 源或代理,请求没有完成。",
|
|
356
|
+
failKind_hostCliSpawn: "无法启动 DSH 宿主",
|
|
357
|
+
failReason_hostCliSpawn: "解析到的宿主入口起不来,安装命令没有真正执行。",
|
|
358
|
+
failKind_hubState: "插件中心状态不同步",
|
|
359
|
+
failReason_hubState: "本地记录的安装状态与实际不一致,这次操作没有生效。",
|
|
360
|
+
failKind_timeout: "操作超时",
|
|
361
|
+
failReason_timeout: "安装耗时超过上限仍未完成,已经中止。",
|
|
362
|
+
failKind_profileLock: "profile 被其他进程占用",
|
|
363
|
+
failReason_profileLock: "另一个 dsh 进程正在使用这个 profile。",
|
|
364
|
+
failKind_hub: "出现未知错误",
|
|
365
|
+
failReason_hub: "我们还没能识别这条报错,你可以一键反馈给我们。",
|
|
311
366
|
failRegistryVersionStaleHint: "安装器调用 pnpm 时报「找不到匹配的版本」(ERR_PNPM_NO_MATCHING_VERSION):要装的这个版本在实际执行安装的 npm 源里查不到。常见原因是你设置的 npmRegistry 与本机 ~/.npmrc 用的不是同一个源——官方源刚发布、镜像还没同步上来(快则几分钟、慢则几小时),也可能只是版本号写错了。这不是插件本身的问题。可在插件市场设置里把 npmRegistry 改成与本机 ~/.npmrc 一致(或反过来),或那一次显式走官方源(https://registry.npmjs.org)、改用离线包后重试;若该版本刚发布不久,等镜像同步后重试即可。",
|
|
312
367
|
failPnpmLinkedDirMissingHint: "安装器调用 pnpm 时报「要安装的目录不存在」(ERR_PNPM_LINKED_PKG_DIR_NOT_FOUND):你的 profile 里留着一条指向本机不存在目录的本地依赖(link: / file: 形式,例如用 dsh plugin add <本地路径> 装过开发中的插件,之后那个目录被删除或移动了)。pnpm 每次解析 profile 依赖都会先卡在它上面,因此任何插件都装不进来。这不是插件本身的问题——请在 profile 目录(~/.dsh/profiles/<profile>)的 package.json 里删除该本地依赖条目(同时删掉对应的 pnpm-lock.yaml 条目或整个锁文件),或把该目录恢复回原路径后重试。",
|
|
313
368
|
failFileLockedHint: "安装过程中 pnpm 无法替换 profile 里的文件:有程序正占用着它(Windows 常见报错 os error 32「另一个程序正在使用此文件」)。通常是 DeepSeek Harness 自身或杀毒软件的实时扫描持有文件句柄。这不是插件本身的问题——请完全退出 DeepSeek Harness(Windows 可在任务管理器确认进程已结束,必要时临时关闭杀毒软件实时防护)后重试。",
|
|
@@ -654,6 +709,61 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
654
709
|
failRegistryMirrorLagHint: "pnpm reported that a package does not exist on the npm registry (ERR_PNPM_FETCH_404): that package does exist on the official npm registry, but the npm/pnpm registry (or mirror) configured on your machine has not synced it. Point the npm/pnpm registry back at the official one (https://registry.npmjs.org), or switch to a mirror that has the package, then retry. This is not a problem with the plugin itself.",
|
|
655
710
|
failPluginMissingDepTarget: "{pkg} does not exist on the official npm registry",
|
|
656
711
|
failPluginMissingDepHint: "A package this plugin depends on does not exist on the official npm registry (removed, or never published). This is a dependency problem on the plugin author side, not a problem with your environment. Please report it to the plugin repository so the author can fix that dependency or ship it together with the plugin.",
|
|
712
|
+
failHostIncompatibleKind: "Plugin does not support the DSH version in use",
|
|
713
|
+
failHostIncompatibleReason: "The current DSH ({version}) is not in this plugin's compatibility list, so the host refused before installing anything.",
|
|
714
|
+
failHostIncompatibleHint: "① Ask the author to extend the supported dsh versions and publish a release (button below).\n② Grant an exact-version exemption in the plugin manager of the desktop app (the host warns about crash / data-loss risk).",
|
|
715
|
+
failKind_npmTooOld: "npm on this machine is too old",
|
|
716
|
+
failReason_npmTooOld: "The installed npm cannot resolve the dependency tree of this package, so it aborted.",
|
|
717
|
+
failKind_dshMissing: "dsh is not installed on this machine",
|
|
718
|
+
failReason_dshMissing: "The installer needs to call dsh, but it cannot be found on your machine.",
|
|
719
|
+
failKind_gitMissing: "git is not installed on this machine",
|
|
720
|
+
failReason_gitMissing: "A dependency of this package needs git, but git cannot be found.",
|
|
721
|
+
failKind_pnpmMissing: "pnpm is not installed on this machine",
|
|
722
|
+
failReason_pnpmMissing: "The installer uses pnpm to add plugins, but pnpm cannot be found.",
|
|
723
|
+
failKind_npmMissing: "npm is not installed on this machine",
|
|
724
|
+
failReason_npmMissing: "The install flow needs npm, but it cannot be found.",
|
|
725
|
+
failKind_pnpmStore: "pnpm store version mismatch",
|
|
726
|
+
failReason_pnpmStore: "The profile dependencies were written by a different pnpm major, which the current pnpm does not accept.",
|
|
727
|
+
failKind_pnpmWorkspace: "workspace-root check blocked the install",
|
|
728
|
+
failReason_pnpmWorkspace: "The profile is treated as a workspace root without a root operation declared, so pnpm aborted.",
|
|
729
|
+
failKind_originRejected: "request origin rejected by the local service",
|
|
730
|
+
failReason_originRejected: "The request never reached the install flow: the local service rejected its origin.",
|
|
731
|
+
failKind_pnpmPolicy: "blocked by the pnpm supply-chain policy",
|
|
732
|
+
failReason_pnpmPolicy: "The version is younger than the minimum release age, or an integrity / trust check failed.",
|
|
733
|
+
failKind_pnpmUnusedPatch: "stale patch entry in the profile",
|
|
734
|
+
failReason_pnpmUnusedPatch: "The profile keeps a patch for an older dsh-plugin version, so pnpm aborted for safety.",
|
|
735
|
+
failKind_pnpmMissingDep: "a dependency does not exist on the registry",
|
|
736
|
+
failReason_pnpmMissingDep: "The profile keeps a dependency on an unpublished package, which pnpm hits on every resolve.",
|
|
737
|
+
failKind_pluginMissingDep: "plugin dependency is not published",
|
|
738
|
+
failReason_pluginMissingDep: "A package the plugin depends on does not exist on the official npm registry.",
|
|
739
|
+
failKind_registryVersionStale: "this version is not available on the registry in use",
|
|
740
|
+
failReason_registryVersionStale: "The registry that actually performs the install has not synced this version yet, or the version is mistyped.",
|
|
741
|
+
failKind_pnpmLinkedDirMissing: "dangling local dependency in the profile",
|
|
742
|
+
failReason_pnpmLinkedDirMissing: "A link/file dependency points at a directory that no longer exists, so pnpm stalls on it.",
|
|
743
|
+
failKind_fileLocked: "a file is held by another program",
|
|
744
|
+
failReason_fileLocked: "pnpm could not replace a file inside the profile because another program is holding it.",
|
|
745
|
+
failKind_accessDenied: "write access denied",
|
|
746
|
+
failReason_accessDenied: "The system denied pnpm write access to files inside the profile.",
|
|
747
|
+
failKind_fsUnavailable: "the disk is not writable",
|
|
748
|
+
failReason_fsUnavailable: "The disk is full or read-only, or file handles are exhausted.",
|
|
749
|
+
failKind_pnpmIgnoredBuild: "native build scripts blocked",
|
|
750
|
+
failReason_pnpmIgnoredBuild: "A plugin dependency has to be compiled on your machine, and pnpm blocks build scripts by default.",
|
|
751
|
+
failKind_pluginPrepare: "plugin distribution is incomplete",
|
|
752
|
+
failReason_pluginPrepare: "The published package is missing files, or its build script failed.",
|
|
753
|
+
failKind_hostIncompatible: "plugin does not support the DSH version in use ({version})",
|
|
754
|
+
failReason_hostIncompatible: "The plugin's declared compatibility list does not include the DSH version you are running.",
|
|
755
|
+
failKind_network: "network connection failed",
|
|
756
|
+
failReason_network: "The install could not reach the npm registry or the proxy, so the request never completed.",
|
|
757
|
+
failKind_hostCliSpawn: "the DSH host could not be launched",
|
|
758
|
+
failReason_hostCliSpawn: "The resolved host entry point would not start, so the install command never ran.",
|
|
759
|
+
failKind_hubState: "plugin hub state is out of sync",
|
|
760
|
+
failReason_hubState: "The locally recorded install state does not match reality, so this operation had no effect.",
|
|
761
|
+
failKind_timeout: "operation timed out",
|
|
762
|
+
failReason_timeout: "The install exceeded the time limit and was aborted.",
|
|
763
|
+
failKind_profileLock: "profile is locked by another process",
|
|
764
|
+
failReason_profileLock: "Another dsh process is using this profile right now.",
|
|
765
|
+
failKind_hub: "unknown error",
|
|
766
|
+
failReason_hub: "We could not identify this error yet — you can report it to us in one click.",
|
|
657
767
|
failRegistryVersionStaleHint: "pnpm reported that no matching version was found (ERR_PNPM_NO_MATCHING_VERSION): the version being installed does not exist in the npm registry that actually performs the install. This usually means the npmRegistry configured in the hub differs from the source in your local ~/.npmrc — the official registry has published it but the mirror has not synced yet (it can take minutes to hours) — or the version number was simply mistyped. This is not a problem with the plugin itself. Align the hub's npmRegistry with your local ~/.npmrc (or the other way round), or explicitly use the official registry (https://registry.npmjs.org) for that one install, or use an offline package, then retry; if the version was published only recently, waiting for the mirror to sync is enough.",
|
|
658
768
|
failPnpmLinkedDirMissingHint: "pnpm reported that a directory it needs to install from does not exist (ERR_PNPM_LINKED_PKG_DIR_NOT_FOUND): your profile keeps a local dependency (a link: / file: entry, e.g. from `dsh plugin add <local path>`) whose target directory has since been deleted or moved. pnpm hits it every time it resolves profile dependencies, so no plugin can be installed into that profile. This is not a problem with the plugin itself. Remove that local dependency from package.json inside the profile directory (~/.dsh/profiles/<profile>) — along with its entry in pnpm-lock.yaml, or the lockfile itself — or restore the directory to its original path, then retry.",
|
|
659
769
|
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.",
|
|
@@ -718,46 +828,46 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
718
828
|
css: css$11
|
|
719
829
|
});
|
|
720
830
|
var Header_module_css_default = {
|
|
721
|
-
"
|
|
722
|
-
"tab": "qikqja_tab",
|
|
723
|
-
"resultSeg": "qikqja_resultSeg",
|
|
724
|
-
"searchRow": "qikqja_searchRow",
|
|
725
|
-
"header": "qikqja_header",
|
|
726
|
-
"segBtnActive": "qikqja_segBtnActive",
|
|
727
|
-
"version": "qikqja_version",
|
|
728
|
-
"brandTitle": "qikqja_brandTitle",
|
|
729
|
-
"root": "qikqja_root",
|
|
730
|
-
"sortGroup": "qikqja_sortGroup",
|
|
731
|
-
"tabsRow": "qikqja_tabsRow",
|
|
732
|
-
"adText": "qikqja_adText",
|
|
831
|
+
"githubLink": "qikqja_githubLink",
|
|
733
832
|
"segBtn": "qikqja_segBtn",
|
|
734
|
-
"
|
|
735
|
-
"
|
|
833
|
+
"segBtnActive": "qikqja_segBtnActive",
|
|
834
|
+
"segLabel": "qikqja_segLabel",
|
|
835
|
+
"logoIcon": "qikqja_logoIcon",
|
|
836
|
+
"versionBtn": "qikqja_versionBtn",
|
|
837
|
+
"adArrow": "qikqja_adArrow",
|
|
736
838
|
"headerRight": "qikqja_headerRight",
|
|
737
|
-
"
|
|
738
|
-
"
|
|
839
|
+
"tabActive": "qikqja_tabActive",
|
|
840
|
+
"brandTitle": "qikqja_brandTitle",
|
|
841
|
+
"tab": "qikqja_tab",
|
|
842
|
+
"githubIcon": "qikqja_githubIcon",
|
|
739
843
|
"title": "qikqja_title",
|
|
740
|
-
"
|
|
741
|
-
"headerTitleRow": "qikqja_headerTitleRow",
|
|
844
|
+
"tagline": "qikqja_tagline",
|
|
742
845
|
"tabCount": "qikqja_tabCount",
|
|
743
|
-
"versionBtn": "qikqja_versionBtn",
|
|
744
846
|
"hubUpdateBadge": "qikqja_hubUpdateBadge",
|
|
745
|
-
"controls": "qikqja_controls",
|
|
746
847
|
"adBadge": "qikqja_adBadge",
|
|
747
|
-
"
|
|
748
|
-
"
|
|
749
|
-
"
|
|
848
|
+
"headerTitleRow": "qikqja_headerTitleRow",
|
|
849
|
+
"copyIcon": "qikqja_copyIcon",
|
|
850
|
+
"resultSeg": "qikqja_resultSeg",
|
|
851
|
+
"root": "qikqja_root",
|
|
852
|
+
"search": "qikqja_search",
|
|
853
|
+
"sortGroup": "qikqja_sortGroup",
|
|
854
|
+
"searchRow": "qikqja_searchRow",
|
|
855
|
+
"resultCount": "qikqja_resultCount",
|
|
856
|
+
"aboutBtn": "qikqja_aboutBtn",
|
|
857
|
+
"header": "qikqja_header",
|
|
750
858
|
"tabs": "qikqja_tabs",
|
|
859
|
+
"tabsRow": "qikqja_tabsRow",
|
|
751
860
|
"adBanner": "qikqja_adBanner",
|
|
752
|
-
"
|
|
753
|
-
"
|
|
754
|
-
"
|
|
755
|
-
"
|
|
756
|
-
"
|
|
861
|
+
"version": "qikqja_version",
|
|
862
|
+
"adText": "qikqja_adText",
|
|
863
|
+
"controls": "qikqja_controls",
|
|
864
|
+
"taglineLink": "qikqja_taglineLink",
|
|
865
|
+
"langBtn": "qikqja_langBtn",
|
|
866
|
+
"segGroup": "qikqja_segGroup"
|
|
757
867
|
};
|
|
758
868
|
//#endregion
|
|
759
869
|
//#region \0dsh-css:src/client/styles/Modal.module.css.mjs
|
|
760
|
-
const css$10 = ".BiQ1zG_overlay{z-index:998;-webkit-user-select:none;user-select:none;background:#00000061;justify-content:center;align-items:center;animation:.16s ease-out BiQ1zG_overlayIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.BiQ1zG_modal,.BiQ1zG_errorModal{background:var(--hub-bg-1);border:1px solid var(--hub-border-2);border-radius:10px;flex-direction:column;gap:10px;width:540px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);padding:14px 16px;animation:.18s ease-out BiQ1zG_modalIn;display:flex;box-shadow:0 12px 40px #0000003d}.BiQ1zG_errorModal{width:720px;max-width:calc(100vw - 48px)}.BiQ1zG_modalWide{width:640px;max-width:calc(100vw - 48px)}.BiQ1zG_helpModal{width:760px;max-width:calc(100vw - 48px)}.BiQ1zG_logModal{width:820px;max-width:calc(100vw - 48px);height:min(540px,100vh - 64px)}.BiQ1zG_modalHead{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;display:flex}.BiQ1zG_modalTitle{color:var(--hub-text-primary);font-size:14px;font-weight:600;line-height:20px}.BiQ1zG_modalTitleBusy{color:var(--hub-brand)}.BiQ1zG_modalTitleQueued{color:var(--hub-warning)}.BiQ1zG_modalClose{width:24px;height:24px;color:var(--hub-text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex}.BiQ1zG_modalClose:hover{color:var(--hub-text-primary);background:var(--hub-bg-hover)}.BiQ1zG_modalCloseIcon{flex-shrink:0;width:14px;height:14px}.BiQ1zG_confirmIconWrap{justify-content:center;padding:2px 0 6px;display:flex}.BiQ1zG_confirmIcon{background:var(--hub-brand);border-radius:50%;flex:none;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex;box-shadow:0 4px 12px #4f6ef747}.BiQ1zG_confirmIconDanger{background:var(--hub-danger);box-shadow:0 4px 12px #d1242f4d}.BiQ1zG_dangerConfirm{color:#fff;background:var(--hub-danger);border:1px solid var(--hub-danger);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;flex:none;height:28px;padding:0 14px;font-size:12px;font-weight:600;transition:background-color .12s,border-color .12s}.BiQ1zG_dangerConfirm:hover:not(:disabled){background:var(--hub-danger-hover);border-color:var(--hub-danger-hover)}.BiQ1zG_dangerConfirm:disabled{opacity:.55;cursor:default}.BiQ1zG_confirmPrimary{color:#fff;background:var(--hub-brand);border:1px solid var(--hub-brand);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;flex:none;height:28px;padding:0 14px;font-size:12px;font-weight:600;transition:filter .12s}.BiQ1zG_confirmPrimary:hover:not(:disabled){filter:brightness(1.08)}.BiQ1zG_confirmPrimary:disabled{opacity:.55;cursor:default}.BiQ1zG_modalDesc{color:var(--hub-text-secondary);font-size:12px;line-height:18px}.BiQ1zG_trustHint{color:var(--hub-danger-text);background:var(--hub-danger-tint);border:1px solid var(--hub-danger-border-soft);border-radius:6px;padding:6px 10px;font-size:12px;font-weight:500;line-height:18px}.BiQ1zG_cliOnlyHint{color:var(--hub-text-secondary);background:var(--hub-bg-hover);border-radius:6px;padding:6px 10px;font-size:12px;line-height:18px}.BiQ1zG_failedCopyHint{color:var(--hub-danger-text);background:var(--hub-danger-tint);border:1px solid var(--hub-danger-border-soft);border-radius:6px;padding:6px 10px;font-size:12px;font-weight:500;line-height:18px}.BiQ1zG_modalRow{align-items:baseline;gap:8px;min-width:0;font-size:12px;line-height:18px;display:flex}.BiQ1zG_modalLabel{min-width:64px;color:var(--hub-text-tertiary);flex-shrink:0}.BiQ1zG_modalValue{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--hub-text-primary);font-weight:500;overflow:hidden}.BiQ1zG_modalLink{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--hub-brand);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font-weight:500;text-decoration:none;transition:color .12s;display:inline-flex;overflow:hidden}.BiQ1zG_modalLink:hover{color:var(--hub-brand-hover);text-decoration:underline}.BiQ1zG_linkIcon{flex-shrink:0}.BiQ1zG_modalCmd{color:var(--hub-text-primary);background:var(--hub-bg-2);border:1px solid var(--hub-border-2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 6px 6px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:18px;transition:border-color .12s,background .12s;display:flex}.BiQ1zG_modalCmd:hover{border-color:var(--hub-border-ghost);background:var(--hub-bg-3)}.BiQ1zG_modalCmdText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.BiQ1zG_modalCmdCopy{color:var(--hub-brand);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;gap:3px;padding:1px 7px;font-family:inherit;font-size:11px;line-height:16px;transition:color .12s,background .12s;display:inline-flex}.BiQ1zG_modalCmdCopy:hover{color:var(--hub-brand-hover);background:var(--hub-bg-2)}.BiQ1zG_modalActions{justify-content:flex-end;align-items:center;gap:8px;margin-top:2px;display:flex}.BiQ1zG_modalBody{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex;overflow-y:auto}.BiQ1zG_toast{z-index:1000;background:var(--hub-btn-fill);color:var(--hub-text-on-fill);pointer-events:none;white-space:nowrap;border:none;border-radius:8px;padding:10px 16px;font-size:12px;font-weight:500;line-height:18px;animation:.22s ease-out BiQ1zG_toastIn;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 24px #00000047}@keyframes BiQ1zG_toastIn{0%{opacity:0;transform:translate(-50%,-44%)}to{opacity:1;transform:translate(-50%,-50%)}}.BiQ1zG_toastFail{background:var(--hub-danger);color:#fff;border-color:#ffffff3d}.BiQ1zG_queueSection{flex-direction:column;gap:6px;display:flex}.BiQ1zG_queueSectionTitle{color:var(--hub-text-secondary);padding:4px 2px 0;font-size:12px;font-weight:600;line-height:18px}.BiQ1zG_pendingRowStatus{color:var(--hub-warn);flex-shrink:0;font-weight:500}.BiQ1zG_pendingRowActions{flex-shrink:0;gap:8px;margin-left:auto;display:flex}.BiQ1zG_queueRow{border:1px solid var(--hub-border-2);background:var(--hub-bg-2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;flex-direction:column;gap:5px;padding:8px 10px;font-size:12px;line-height:18px;transition:background .12s;display:flex}.BiQ1zG_queueRow:hover{background:var(--hub-brand-tint)}.BiQ1zG_queueRowHead{align-items:center;gap:10px;display:flex}.BiQ1zG_queueRowTarget{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--hub-text-primary);flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden}.BiQ1zG_queueRowDesc{color:var(--hub-text-tertiary);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.BiQ1zG_queueRowBody{align-items:center;gap:8px;display:flex}.BiQ1zG_queueRowStatus{color:var(--hub-brand);flex-shrink:0;font-weight:500}.BiQ1zG_queueRowTrack{flex:1;min-width:0}.BiQ1zG_queueRowPct{color:var(--hub-text-tertiary);font-variant-numeric:tabular-nums;flex-shrink:0}.BiQ1zG_stripCancel{color:var(--hub-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:2px 10px;font-size:12px;line-height:18px;transition:background .12s,color .12s}.BiQ1zG_stripCancel:hover{background:var(--hub-danger-tint);color:var(--hub-danger-text)}.BiQ1zG_stripCancel:disabled{opacity:.45;cursor:default}.BiQ1zG_queuedHint{color:var(--hub-brand);background:var(--hub-brand-tint);border:1px solid var(--hub-brand-border-soft);border-radius:6px;padding:5px 10px;font-size:12px;line-height:18px}.BiQ1zG_errorTitle{color:var(--hub-danger-text);font-size:14px;font-weight:600;line-height:20px}.BiQ1zG_errorBox{border:1px solid var(--hub-danger-border);background:var(--hub-danger-tint-weak);max-height:240px;color:var(--hub-text-primary);white-space:pre-wrap;word-break:break-word;-webkit-user-select:none;user-select:none;border-radius:6px;margin:0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:17px;overflow:auto}.BiQ1zG_errorCopySoft{color:var(--hub-text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:2px 8px;font-size:11px;line-height:16px;transition:color .12s,background .12s;display:inline-flex}.BiQ1zG_errorCopySoft:hover{color:var(--hub-text-secondary);background:var(--hub-bg-2)}.BiQ1zG_errorHint{color:var(--hub-text-tertiary);font-size:12px;line-height:18px}.BiQ1zG_modalCancel,.BiQ1zG_modalCopy{color:var(--hub-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:6px;padding:5px 14px;font-size:12px;line-height:18px;transition:color .12s,background .12s}.BiQ1zG_modalCancel:hover,.BiQ1zG_modalCopy:hover{color:var(--hub-text-primary);background:var(--hub-bg-hover)}.BiQ1zG_modalInstall{color:var(--hub-text-on-fill);background:var(--hub-btn-fill);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:6px;padding:5px 14px;font-size:12px;font-weight:600;line-height:18px;transition:background .12s}.BiQ1zG_modalInstall:hover{background:var(--hub-btn-hover)}.BiQ1zG_modalCopy:disabled,.BiQ1zG_modalInstall:disabled,.BiQ1zG_modalCancel:disabled,.BiQ1zG_modalClose:disabled,.BiQ1zG_uninstallConfirm:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.BiQ1zG_uninstallConfirm{color:#fff;background:var(--hub-danger);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:6px;padding:5px 14px;font-size:12px;font-weight:600;line-height:18px;transition:background .12s}.BiQ1zG_uninstallConfirm:hover{background:var(--hub-danger-hover)}.BiQ1zG_result{text-align:center;flex-direction:column;align-items:center;gap:5px;padding:10px 0 2px;display:flex}.BiQ1zG_resultCheck{background:var(--hub-success-tint);width:40px;height:40px;color:var(--hub-success);border-radius:50%;justify-content:center;align-items:center;margin-bottom:3px;display:inline-flex}.BiQ1zG_resultCheckIcon{flex-shrink:0;width:20px;height:20px}.BiQ1zG_resultTitle{color:var(--hub-text-primary);font-size:13px;font-weight:600;line-height:20px}.BiQ1zG_resultDesc{color:var(--hub-text-secondary);font-size:12px;line-height:18px}.BiQ1zG_resultRestarting{color:var(--hub-text-tertiary);padding:12px 0 6px;font-size:12px;line-height:18px}.BiQ1zG_restartLater{color:var(--hub-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:6px;padding:5px 14px;font-size:12px;line-height:18px;transition:color .12s,background .12s}.BiQ1zG_restartLater:hover{color:var(--hub-text-primary);background:var(--hub-bg-hover)}.BiQ1zG_restartNow{color:var(--hub-text-on-fill);background:var(--hub-btn-fill);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:6px;padding:5px 14px;font-size:12px;font-weight:600;line-height:18px;transition:background .12s}.BiQ1zG_restartNow:hover{background:var(--hub-btn-hover)}.BiQ1zG_restartNow:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.BiQ1zG_restartNowWarning{color:#fff;background:var(--hub-warning);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:6px;padding:5px 14px;font-size:12px;font-weight:600;line-height:18px;transition:background .12s}.BiQ1zG_restartNowWarning:hover{background:var(--hub-warning-hover)}.BiQ1zG_restartNowWarning:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.BiQ1zG_result .BiQ1zG_modalActions{justify-content:center;gap:10px;margin-top:0;padding:6px 0 2px}.BiQ1zG_result .BiQ1zG_modalActions .BiQ1zG_restartLater,.BiQ1zG_result .BiQ1zG_modalActions .BiQ1zG_restartNow,.BiQ1zG_result .BiQ1zG_modalActions .BiQ1zG_restartNowWarning{min-width:100px}.BiQ1zG_progress{margin:10px 0 2px}.BiQ1zG_progressHead{justify-content:flex-end;align-items:center;margin-bottom:3px;display:flex}.BiQ1zG_progressText{color:var(--hub-text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:14px}.BiQ1zG_progressTrack{background:var(--hub-border-2);border-radius:2px;height:4px;overflow:hidden}.BiQ1zG_progressFill{background:var(--hub-brand);border-radius:2px;height:100%;transition:width .32s}.BiQ1zG_progressFillFail{background:var(--hub-danger)}@keyframes BiQ1zG_overlayIn{0%{opacity:0}to{opacity:1}}@keyframes BiQ1zG_modalIn{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.BiQ1zG_failList{flex-direction:column;gap:12px;padding-right:2px;display:flex}.BiQ1zG_failRow{border:1px solid var(--hub-border-2);background:var(--hub-bg-2);border-radius:8px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.BiQ1zG_failHead{align-items:center;gap:8px;min-width:0;display:flex}.BiQ1zG_noticeList{flex-direction:column;gap:10px;padding-right:2px;display:flex}.BiQ1zG_noticeRow{border:1px solid var(--hub-border-2);background:var(--hub-bg-2);border-radius:8px;flex-direction:column;align-items:stretch;gap:6px;padding:10px 12px;display:flex}.BiQ1zG_noticeRowMain{align-items:center;gap:10px;width:100%;min-width:0;display:flex}.BiQ1zG_noticeBadgeOk,.BiQ1zG_noticeBadgeFail{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex;box-shadow:0 2px 6px #0000002e}.BiQ1zG_noticeBadgeOk{background:var(--hub-success)}.BiQ1zG_noticeBadgeFail{background:var(--hub-danger)}.BiQ1zG_noticeBadgeIcon{flex-shrink:0;width:12px;height:12px}.BiQ1zG_noticeMain{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.BiQ1zG_noticeHead{align-items:center;gap:8px;min-width:0;display:flex}.BiQ1zG_noticeTextOk{color:var(--hub-success);flex-shrink:0;font-size:12px;font-weight:600;line-height:18px}.BiQ1zG_noticeTextFail{color:var(--hub-danger-text);flex-shrink:0;font-size:12px;font-weight:600;line-height:18px}.BiQ1zG_noticeFoot{justify-content:flex-end;align-items:center;display:flex}.BiQ1zG_noticeTime{color:var(--hub-text-tertiary);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px;line-height:16px}.BiQ1zG_noticeRemove{width:22px;height:22px;color:var(--hub-text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;transition:color .12s,background .12s;display:inline-flex}.BiQ1zG_noticeRemove:hover{color:var(--hub-danger-text);background:var(--hub-danger-tint)}.BiQ1zG_noticeRowOk .BiQ1zG_noticeRemove{margin-left:0}.BiQ1zG_noticeRowOk .BiQ1zG_noticeTime{margin-left:auto}.BiQ1zG_noticeRowUpdate{cursor:pointer;transition:border-color .12s,background .12s}.BiQ1zG_noticeRowUpdate:hover{border-color:var(--hub-brand);background:var(--hub-brand-tint)}.BiQ1zG_noticeVersion{color:var(--hub-brand);background:var(--hub-brand-tint);border:1px solid var(--hub-brand-border);font-variant-numeric:tabular-nums;border-radius:5px;flex-shrink:0;padding:0 6px;font-size:11px;font-weight:600;line-height:18px}.BiQ1zG_noticeUpdateGo{color:#fff;background:var(--hub-brand);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:5px;flex-shrink:0;margin-left:2px;padding:2px 8px;font-size:11px;font-weight:600;line-height:16px;transition:background .12s}.BiQ1zG_noticeUpdateGo:hover{background:var(--hub-brand-hover)}.BiQ1zG_noticeIgnore{color:var(--hub-text-secondary);border:1px solid var(--hub-border-2);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-radius:5px;flex-shrink:0;margin-left:2px;padding:1px 8px;font-size:11px;font-weight:500;line-height:16px;transition:color .12s,border-color .12s,background .12s}.BiQ1zG_noticeIgnore:hover{color:var(--hub-danger-text);border-color:var(--hub-danger-border);background:var(--hub-danger-tint)}.BiQ1zG_failKind{border:1px solid #0000;border-radius:4px;flex-shrink:0;padding:0 6px;font-size:10px;font-weight:500;line-height:16px}.BiQ1zG_failKindInstall{color:var(--hub-danger-text);border-color:var(--hub-danger-border);background:var(--hub-danger-tint)}.BiQ1zG_failKindUninstall{color:var(--hub-warn);border-color:var(--hub-warn-border);background:var(--hub-warn-tint)}.BiQ1zG_failRepo{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--hub-brand);cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:18px;text-decoration:none;overflow:hidden}.BiQ1zG_failRepo:hover{text-decoration:underline}.BiQ1zG_failCopy{color:var(--hub-text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:2px 8px;font-size:11px;line-height:16px;transition:color .12s,background .12s;display:inline-flex}.BiQ1zG_failCopy:hover{color:var(--hub-text-secondary);background:var(--hub-bg-2)}.BiQ1zG_failEmpty{text-align:center;color:var(--hub-text-tertiary);padding:24px 0;font-size:12px;line-height:18px}.BiQ1zG_failClear{color:var(--hub-danger);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:6px;padding:5px 14px;font-size:12px;line-height:18px;transition:color .12s,background .12s}.BiQ1zG_failClear:hover{color:#fff;background:var(--hub-danger)}.BiQ1zG_failBigIssue{box-sizing:border-box;text-align:center;color:#fff;background:var(--hub-danger);border:1px solid var(--hub-danger);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;width:100%;margin-top:4px;padding:3px 16px;font-size:13px;font-weight:600;line-height:18px;text-decoration:none;transition:background .12s,border-color .12s,box-shadow .12s;display:block}.BiQ1zG_failBigIssue:hover{background:var(--hub-danger-hover);border-color:var(--hub-danger-hover);box-shadow:0 3px 10px #d1242f59}.BiQ1zG_failPrepareHint{color:var(--hub-warning);background:var(--hub-warning-tint);border:1px solid var(--hub-warning-border);border-radius:6px;margin-top:6px;padding:8px 12px;font-size:12px;line-height:18px}.BiQ1zG_failDiagBtn{box-sizing:border-box;text-align:center;width:100%;color:var(--hub-text-on-fill);background:var(--hub-btn-fill);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:8px;margin-top:8px;padding:5px 16px;font-size:13px;font-weight:600;line-height:18px;transition:background .12s,box-shadow .12s;display:block}.BiQ1zG_failDiagBtn:hover{background:var(--hub-btn-hover);box-shadow:0 3px 10px #0000001f}.BiQ1zG_failMisjudgeLink{color:var(--hub-text-tertiary);cursor:pointer;margin-top:6px;font-size:12px;line-height:18px;text-decoration:underline;display:inline-block}.BiQ1zG_failMisjudgeLink:hover{color:var(--hub-text-secondary)}.BiQ1zG_failNetworkTarget{word-break:break-all;color:var(--hub-danger);background:var(--hub-danger-tint);border:1px solid var(--hub-danger-border);border-radius:6px;margin-top:6px;padding:8px 12px;font-size:13px;font-weight:700;line-height:20px}.BiQ1zG_aboutModal{width:560px;max-width:calc(100vw - 48px)}.BiQ1zG_aboutContent{min-height:0;max-height:340px;color:var(--hub-text-secondary);background:var(--hub-bg-2);border:1px solid var(--hub-border-2);border-radius:8px;flex:auto;padding:10px 12px;font-size:12px;line-height:18px;overflow-y:auto}.BiQ1zG_aboutContent>:first-child{margin-top:0}.BiQ1zG_aboutContent>:last-child{margin-bottom:0}.BiQ1zG_aboutContent h2,.BiQ1zG_aboutContent h3,.BiQ1zG_aboutContent h4,.BiQ1zG_aboutContent h5{color:var(--hub-text-primary);margin:10px 0 4px;font-size:13px;font-weight:600;line-height:20px}.BiQ1zG_aboutContent h2{font-size:14px}.BiQ1zG_aboutContent p{margin:4px 0}.BiQ1zG_aboutContent ul,.BiQ1zG_aboutContent ol{margin:4px 0;padding-left:18px}.BiQ1zG_aboutContent li{margin:2px 0}.BiQ1zG_aboutContent code{background:var(--hub-bg-hover);color:var(--hub-text-primary);border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.BiQ1zG_aboutContent pre{background:var(--hub-bg-1);border:1px solid var(--hub-border-2);border-radius:6px;margin:6px 0;padding:8px 10px;overflow-x:auto}.BiQ1zG_aboutContent pre code{background:0 0;border-radius:0;padding:0}.BiQ1zG_aboutContent blockquote{border-left:3px solid var(--hub-brand);background:var(--hub-bg-hover);color:var(--hub-text-tertiary);border-radius:0 6px 6px 0;margin:6px 0;padding:2px 10px}.BiQ1zG_aboutContent a{color:var(--hub-brand);text-decoration:none}.BiQ1zG_aboutContent a:hover{color:var(--hub-brand-hover);text-decoration:underline}.BiQ1zG_aboutContent img{border-radius:8px;max-width:100%;max-height:220px;margin:8px auto;display:block;box-shadow:0 2px 8px #0000001f}.BiQ1zG_aboutContent img[width=\"100\"]{object-fit:contain;width:100px;height:100px;max-height:100px}.BiQ1zG_aboutMeta{color:var(--hub-text-tertiary);font-size:11px;line-height:16px}.BiQ1zG_hubUpdateModal{width:620px;max-width:calc(100vw - 48px)}.BiQ1zG_hubUpdateMeta{flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:12px;line-height:18px;display:flex}.BiQ1zG_hubUpdateMetaItem{color:var(--hub-text-tertiary)}.BiQ1zG_hubUpdateNotes{min-height:0;max-height:300px;color:var(--hub-text-secondary);background:var(--hub-bg-2);border:1px solid var(--hub-border-2);border-radius:8px;flex:auto;padding:10px 12px;font-size:12px;line-height:18px;overflow-y:auto}.BiQ1zG_hubUpdateNotes>:first-child{margin-top:0}.BiQ1zG_hubUpdateNotes>:last-child{margin-bottom:0}.BiQ1zG_hubUpdateNotes h2,.BiQ1zG_hubUpdateNotes h3,.BiQ1zG_hubUpdateNotes h4,.BiQ1zG_hubUpdateNotes h5{color:var(--hub-text-primary);margin:10px 0 4px;font-size:13px;font-weight:600;line-height:20px}.BiQ1zG_hubUpdateNotes h2{font-size:14px}.BiQ1zG_hubUpdateNotes p{margin:4px 0}.BiQ1zG_hubUpdateNotes ul,.BiQ1zG_hubUpdateNotes ol{margin:4px 0;padding-left:18px}.BiQ1zG_hubUpdateNotes li{margin:2px 0}.BiQ1zG_hubUpdateNotes code{background:var(--hub-bg-hover);color:var(--hub-text-primary);border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.BiQ1zG_hubUpdateNotes pre{background:var(--hub-bg-1);border:1px solid var(--hub-border-2);border-radius:6px;margin:6px 0;padding:8px 10px;overflow-x:auto}.BiQ1zG_hubUpdateNotes pre code{background:0 0;border-radius:0;padding:0}.BiQ1zG_hubUpdateNotes blockquote{border-left:3px solid var(--hub-brand);background:var(--hub-bg-hover);color:var(--hub-text-tertiary);border-radius:0 6px 6px 0;margin:6px 0;padding:2px 10px}.BiQ1zG_hubUpdateNotes a{color:var(--hub-brand);text-decoration:none}.BiQ1zG_hubUpdateNotes a:hover{color:var(--hub-brand-hover);text-decoration:underline}.BiQ1zG_detailModal{width:580px;max-width:calc(100vw - 48px)}.BiQ1zG_detailUpdateHint{color:var(--hub-brand);background:var(--hub-brand-tint);border:1px solid var(--hub-brand-border-soft);border-radius:6px;padding:6px 10px;font-size:12px;line-height:18px}.BiQ1zG_detailGrid{flex-direction:column;gap:6px;display:flex}.BiQ1zG_detailRow{align-items:baseline;gap:10px;min-width:0;font-size:12px;line-height:20px;display:flex}.BiQ1zG_detailLabel{text-align:right;width:76px;color:var(--hub-text-tertiary);flex-shrink:0}.BiQ1zG_detailValue{min-width:0;color:var(--hub-text-primary);flex-wrap:wrap;flex:auto;align-items:baseline;gap:4px 6px;font-weight:500;display:flex}.BiQ1zG_detailMono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:500}.BiQ1zG_detailArrow{color:var(--hub-text-tertiary);align-items:baseline;gap:4px;display:inline-flex}.BiQ1zG_detailDim{color:var(--hub-text-tertiary);font-size:11px;font-weight:400}.BiQ1zG_detailLink{min-width:0;color:var(--hub-brand);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font-weight:500;text-decoration:none;transition:color .12s;display:inline-flex}.BiQ1zG_detailLink:hover{color:var(--hub-brand-hover);text-decoration:underline}.BiQ1zG_detailStars{color:#b45309;font-weight:600}.BiQ1zG_detailPath{min-width:0;color:var(--hub-text-primary);background:var(--hub-bg-2);border:1px solid var(--hub-border-2);border-radius:6px;flex:auto;justify-content:space-between;align-items:center;gap:6px;padding:3px 3px 3px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:18px;transition:border-color .12s,background .12s;display:flex}.BiQ1zG_detailPath:hover{border-color:var(--hub-border-ghost);background:var(--hub-bg-3)}.BiQ1zG_detailPathText{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;min-width:0;overflow:hidden}.BiQ1zG_detailPathActions{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.BiQ1zG_detailPathBtn{width:28px;height:28px;color:var(--hub-brand);background:var(--hub-brand-tint);border:1px solid var(--hub-brand-border-soft);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:center;align-items:center;transition:color .12s,background .12s,border-color .12s;display:inline-flex}.BiQ1zG_detailPathBtn svg{width:15px;height:15px}.BiQ1zG_detailPathBtn:hover{color:#fff;background:var(--hub-brand);border-color:var(--hub-brand)}.BiQ1zG_detailStatusRunning,.BiQ1zG_detailStatusPending{border-radius:50%;flex-shrink:0;align-self:center;width:8px;height:8px}.BiQ1zG_detailStatusRunning{background:var(--hub-success)}.BiQ1zG_detailStatusPending{background:var(--hub-warning)}.BiQ1zG_detailStatusText{font-weight:500}";
|
|
870
|
+
const css$10 = ".BiQ1zG_overlay{z-index:998;-webkit-user-select:none;user-select:none;background:#00000061;justify-content:center;align-items:center;animation:.16s ease-out BiQ1zG_overlayIn;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.BiQ1zG_modal,.BiQ1zG_errorModal{background:var(--hub-bg-1);border:1px solid var(--hub-border-2);border-radius:10px;flex-direction:column;gap:10px;width:540px;max-width:calc(100vw - 32px);max-height:calc(100vh - 64px);padding:14px 16px;animation:.18s ease-out BiQ1zG_modalIn;display:flex;box-shadow:0 12px 40px #0000003d}.BiQ1zG_errorModal{width:720px;max-width:calc(100vw - 48px)}.BiQ1zG_modalWide{width:640px;max-width:calc(100vw - 48px)}.BiQ1zG_helpModal{width:760px;max-width:calc(100vw - 48px)}.BiQ1zG_logModal{width:820px;max-width:calc(100vw - 48px);height:min(540px,100vh - 64px)}.BiQ1zG_modalHead{flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;display:flex}.BiQ1zG_modalTitle{color:var(--hub-text-primary);font-size:14px;font-weight:600;line-height:20px}.BiQ1zG_modalTitleBusy{color:var(--hub-brand)}.BiQ1zG_modalTitleQueued{color:var(--hub-warning)}.BiQ1zG_modalClose{width:24px;height:24px;color:var(--hub-text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex}.BiQ1zG_modalClose:hover{color:var(--hub-text-primary);background:var(--hub-bg-hover)}.BiQ1zG_modalCloseIcon{flex-shrink:0;width:14px;height:14px}.BiQ1zG_confirmIconWrap{justify-content:center;padding:2px 0 6px;display:flex}.BiQ1zG_confirmIcon{background:var(--hub-brand);border-radius:50%;flex:none;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex;box-shadow:0 4px 12px #4f6ef747}.BiQ1zG_confirmIconDanger{background:var(--hub-danger);box-shadow:0 4px 12px #d1242f4d}.BiQ1zG_dangerConfirm{color:#fff;background:var(--hub-danger);border:1px solid var(--hub-danger);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;flex:none;height:28px;padding:0 14px;font-size:12px;font-weight:600;transition:background-color .12s,border-color .12s}.BiQ1zG_dangerConfirm:hover:not(:disabled){background:var(--hub-danger-hover);border-color:var(--hub-danger-hover)}.BiQ1zG_dangerConfirm:disabled{opacity:.55;cursor:default}.BiQ1zG_confirmPrimary{color:#fff;background:var(--hub-brand);border:1px solid var(--hub-brand);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;flex:none;height:28px;padding:0 14px;font-size:12px;font-weight:600;transition:filter .12s}.BiQ1zG_confirmPrimary:hover:not(:disabled){filter:brightness(1.08)}.BiQ1zG_confirmPrimary:disabled{opacity:.55;cursor:default}.BiQ1zG_modalDesc{color:var(--hub-text-secondary);font-size:12px;line-height:18px}.BiQ1zG_trustHint{color:var(--hub-danger-text);background:var(--hub-danger-tint);border:1px solid var(--hub-danger-border-soft);border-radius:6px;padding:6px 10px;font-size:12px;font-weight:500;line-height:18px}.BiQ1zG_cliOnlyHint{color:var(--hub-text-secondary);background:var(--hub-bg-hover);border-radius:6px;padding:6px 10px;font-size:12px;line-height:18px}.BiQ1zG_failedCopyHint{color:var(--hub-danger-text);background:var(--hub-danger-tint);border:1px solid var(--hub-danger-border-soft);border-radius:6px;padding:6px 10px;font-size:12px;font-weight:500;line-height:18px}.BiQ1zG_modalRow{align-items:baseline;gap:8px;min-width:0;font-size:12px;line-height:18px;display:flex}.BiQ1zG_modalLabel{min-width:64px;color:var(--hub-text-tertiary);flex-shrink:0}.BiQ1zG_modalValue{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--hub-text-primary);font-weight:500;overflow:hidden}.BiQ1zG_modalLink{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--hub-brand);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font-weight:500;text-decoration:none;transition:color .12s;display:inline-flex;overflow:hidden}.BiQ1zG_modalLink:hover{color:var(--hub-brand-hover);text-decoration:underline}.BiQ1zG_linkIcon{flex-shrink:0}.BiQ1zG_modalCmd{color:var(--hub-text-primary);background:var(--hub-bg-2);border:1px solid var(--hub-border-2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:6px 6px 6px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:18px;transition:border-color .12s,background .12s;display:flex}.BiQ1zG_modalCmd:hover{border-color:var(--hub-border-ghost);background:var(--hub-bg-3)}.BiQ1zG_modalCmdText{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.BiQ1zG_modalCmdCopy{color:var(--hub-brand);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;gap:3px;padding:1px 7px;font-family:inherit;font-size:11px;line-height:16px;transition:color .12s,background .12s;display:inline-flex}.BiQ1zG_modalCmdCopy:hover{color:var(--hub-brand-hover);background:var(--hub-bg-2)}.BiQ1zG_modalActions{justify-content:flex-end;align-items:center;gap:8px;margin-top:2px;display:flex}.BiQ1zG_modalBody{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex;overflow-y:auto}.BiQ1zG_toast{z-index:1000;background:var(--hub-btn-fill);color:var(--hub-text-on-fill);pointer-events:none;white-space:nowrap;border:none;border-radius:8px;padding:10px 16px;font-size:12px;font-weight:500;line-height:18px;animation:.22s ease-out BiQ1zG_toastIn;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 6px 24px #00000047}@keyframes BiQ1zG_toastIn{0%{opacity:0;transform:translate(-50%,-44%)}to{opacity:1;transform:translate(-50%,-50%)}}.BiQ1zG_toastFail{background:var(--hub-danger);color:#fff;border-color:#ffffff3d}.BiQ1zG_queueSection{flex-direction:column;gap:6px;display:flex}.BiQ1zG_queueSectionTitle{color:var(--hub-text-secondary);padding:4px 2px 0;font-size:12px;font-weight:600;line-height:18px}.BiQ1zG_pendingRowStatus{color:var(--hub-warn);flex-shrink:0;font-weight:500}.BiQ1zG_pendingRowActions{flex-shrink:0;gap:8px;margin-left:auto;display:flex}.BiQ1zG_queueRow{border:1px solid var(--hub-border-2);background:var(--hub-bg-2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;flex-direction:column;gap:5px;padding:8px 10px;font-size:12px;line-height:18px;transition:background .12s;display:flex}.BiQ1zG_queueRow:hover{background:var(--hub-brand-tint)}.BiQ1zG_queueRowHead{align-items:center;gap:10px;display:flex}.BiQ1zG_queueRowTarget{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--hub-text-primary);flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;overflow:hidden}.BiQ1zG_queueRowDesc{color:var(--hub-text-tertiary);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.BiQ1zG_queueRowBody{align-items:center;gap:8px;display:flex}.BiQ1zG_queueRowStatus{color:var(--hub-brand);flex-shrink:0;font-weight:500}.BiQ1zG_queueRowTrack{flex:1;min-width:0}.BiQ1zG_queueRowPct{color:var(--hub-text-tertiary);font-variant-numeric:tabular-nums;flex-shrink:0}.BiQ1zG_stripCancel{color:var(--hub-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:6px;flex-shrink:0;padding:2px 10px;font-size:12px;line-height:18px;transition:background .12s,color .12s}.BiQ1zG_stripCancel:hover{background:var(--hub-danger-tint);color:var(--hub-danger-text)}.BiQ1zG_stripCancel:disabled{opacity:.45;cursor:default}.BiQ1zG_queuedHint{color:var(--hub-brand);background:var(--hub-brand-tint);border:1px solid var(--hub-brand-border-soft);border-radius:6px;padding:5px 10px;font-size:12px;line-height:18px}.BiQ1zG_errorTitle{color:var(--hub-danger-text);font-size:14px;font-weight:600;line-height:20px}.BiQ1zG_errorBox{border:1px solid var(--hub-danger-border);background:var(--hub-danger-tint-weak);max-height:72px;color:var(--hub-text-primary);white-space:pre-wrap;word-break:break-word;-webkit-user-select:none;user-select:none;border-radius:6px;margin:0;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:17px;overflow:auto}.BiQ1zG_errorCopySoft{color:var(--hub-text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:2px 8px;font-size:11px;line-height:16px;transition:color .12s,background .12s;display:inline-flex}.BiQ1zG_errorCopySoft:hover{color:var(--hub-text-secondary);background:var(--hub-bg-2)}.BiQ1zG_errorHint{color:var(--hub-text-tertiary);font-size:12px;line-height:18px}.BiQ1zG_modalCancel,.BiQ1zG_modalCopy{color:var(--hub-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:6px;padding:5px 14px;font-size:12px;line-height:18px;transition:color .12s,background .12s}.BiQ1zG_modalCancel:hover,.BiQ1zG_modalCopy:hover{color:var(--hub-text-primary);background:var(--hub-bg-hover)}.BiQ1zG_modalInstall{color:var(--hub-text-on-fill);background:var(--hub-btn-fill);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:6px;padding:5px 14px;font-size:12px;font-weight:600;line-height:18px;transition:background .12s}.BiQ1zG_modalInstall:hover{background:var(--hub-btn-hover)}.BiQ1zG_modalCopy:disabled,.BiQ1zG_modalInstall:disabled,.BiQ1zG_modalCancel:disabled,.BiQ1zG_modalClose:disabled,.BiQ1zG_uninstallConfirm:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.BiQ1zG_uninstallConfirm{color:#fff;background:var(--hub-danger);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:6px;padding:5px 14px;font-size:12px;font-weight:600;line-height:18px;transition:background .12s}.BiQ1zG_uninstallConfirm:hover{background:var(--hub-danger-hover)}.BiQ1zG_result{text-align:center;flex-direction:column;align-items:center;gap:5px;padding:10px 0 2px;display:flex}.BiQ1zG_resultCheck{background:var(--hub-success-tint);width:40px;height:40px;color:var(--hub-success);border-radius:50%;justify-content:center;align-items:center;margin-bottom:3px;display:inline-flex}.BiQ1zG_resultCheckIcon{flex-shrink:0;width:20px;height:20px}.BiQ1zG_resultTitle{color:var(--hub-text-primary);font-size:13px;font-weight:600;line-height:20px}.BiQ1zG_resultDesc{color:var(--hub-text-secondary);font-size:12px;line-height:18px}.BiQ1zG_resultRestarting{color:var(--hub-text-tertiary);padding:12px 0 6px;font-size:12px;line-height:18px}.BiQ1zG_restartLater{color:var(--hub-text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:6px;padding:5px 14px;font-size:12px;line-height:18px;transition:color .12s,background .12s}.BiQ1zG_restartLater:hover{color:var(--hub-text-primary);background:var(--hub-bg-hover)}.BiQ1zG_restartNow{color:var(--hub-text-on-fill);background:var(--hub-btn-fill);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:6px;padding:5px 14px;font-size:12px;font-weight:600;line-height:18px;transition:background .12s}.BiQ1zG_restartNow:hover{background:var(--hub-btn-hover)}.BiQ1zG_restartNow:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.BiQ1zG_restartNowWarning{color:#fff;background:var(--hub-warning);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:6px;padding:5px 14px;font-size:12px;font-weight:600;line-height:18px;transition:background .12s}.BiQ1zG_restartNowWarning:hover{background:var(--hub-warning-hover)}.BiQ1zG_restartNowWarning:disabled{opacity:.55;cursor:not-allowed;pointer-events:none}.BiQ1zG_result .BiQ1zG_modalActions{justify-content:center;gap:10px;margin-top:0;padding:6px 0 2px}.BiQ1zG_result .BiQ1zG_modalActions .BiQ1zG_restartLater,.BiQ1zG_result .BiQ1zG_modalActions .BiQ1zG_restartNow,.BiQ1zG_result .BiQ1zG_modalActions .BiQ1zG_restartNowWarning{min-width:100px}.BiQ1zG_progress{margin:10px 0 2px}.BiQ1zG_progressHead{justify-content:flex-end;align-items:center;margin-bottom:3px;display:flex}.BiQ1zG_progressText{color:var(--hub-text-secondary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:14px}.BiQ1zG_progressTrack{background:var(--hub-border-2);border-radius:2px;height:4px;overflow:hidden}.BiQ1zG_progressFill{background:var(--hub-brand);border-radius:2px;height:100%;transition:width .32s}.BiQ1zG_progressFillFail{background:var(--hub-danger)}@keyframes BiQ1zG_overlayIn{0%{opacity:0}to{opacity:1}}@keyframes BiQ1zG_modalIn{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.BiQ1zG_failList{flex-direction:column;gap:12px;padding-right:2px;display:flex}.BiQ1zG_failRow{border:1px solid var(--hub-border-2);background:var(--hub-bg-2);border-radius:8px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.BiQ1zG_failHead{align-items:center;gap:8px;min-width:0;display:flex}.BiQ1zG_noticeList{flex-direction:column;gap:10px;padding-right:2px;display:flex}.BiQ1zG_noticeRow{border:1px solid var(--hub-border-2);background:var(--hub-bg-2);border-radius:8px;flex-direction:column;align-items:stretch;gap:6px;padding:10px 12px;display:flex}.BiQ1zG_noticeRowMain{align-items:center;gap:10px;width:100%;min-width:0;display:flex}.BiQ1zG_noticeBadgeOk,.BiQ1zG_noticeBadgeFail{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex;box-shadow:0 2px 6px #0000002e}.BiQ1zG_noticeBadgeOk{background:var(--hub-success)}.BiQ1zG_noticeBadgeFail{background:var(--hub-danger)}.BiQ1zG_noticeBadgeIcon{flex-shrink:0;width:12px;height:12px}.BiQ1zG_noticeMain{flex-direction:column;flex:1;gap:8px;min-width:0;display:flex}.BiQ1zG_noticeHead{align-items:center;gap:8px;min-width:0;display:flex}.BiQ1zG_noticeTextOk{color:var(--hub-success);flex-shrink:0;font-size:12px;font-weight:600;line-height:18px}.BiQ1zG_noticeTextFail{color:var(--hub-danger-text);flex-shrink:0;font-size:12px;font-weight:600;line-height:18px}.BiQ1zG_noticeFoot{justify-content:flex-end;align-items:center;display:flex}.BiQ1zG_noticeTime{color:var(--hub-text-tertiary);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px;line-height:16px}.BiQ1zG_noticeRemove{width:22px;height:22px;color:var(--hub-text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;transition:color .12s,background .12s;display:inline-flex}.BiQ1zG_noticeRemove:hover{color:var(--hub-danger-text);background:var(--hub-danger-tint)}.BiQ1zG_noticeRowOk .BiQ1zG_noticeRemove{margin-left:0}.BiQ1zG_noticeRowOk .BiQ1zG_noticeTime{margin-left:auto}.BiQ1zG_noticeRowUpdate{cursor:pointer;transition:border-color .12s,background .12s}.BiQ1zG_noticeRowUpdate:hover{border-color:var(--hub-brand);background:var(--hub-brand-tint)}.BiQ1zG_noticeVersion{color:var(--hub-brand);background:var(--hub-brand-tint);border:1px solid var(--hub-brand-border);font-variant-numeric:tabular-nums;border-radius:5px;flex-shrink:0;padding:0 6px;font-size:11px;font-weight:600;line-height:18px}.BiQ1zG_noticeUpdateGo{color:#fff;background:var(--hub-brand);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:5px;flex-shrink:0;margin-left:2px;padding:2px 8px;font-size:11px;font-weight:600;line-height:16px;transition:background .12s}.BiQ1zG_noticeUpdateGo:hover{background:var(--hub-brand-hover)}.BiQ1zG_noticeIgnore{color:var(--hub-text-secondary);border:1px solid var(--hub-border-2);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border-radius:5px;flex-shrink:0;margin-left:2px;padding:1px 8px;font-size:11px;font-weight:500;line-height:16px;transition:color .12s,border-color .12s,background .12s}.BiQ1zG_noticeIgnore:hover{color:var(--hub-danger-text);border-color:var(--hub-danger-border);background:var(--hub-danger-tint)}.BiQ1zG_failKind{border:1px solid #0000;border-radius:4px;flex-shrink:0;padding:0 6px;font-size:10px;font-weight:500;line-height:16px}.BiQ1zG_failKindInstall{color:var(--hub-danger-text);border-color:var(--hub-danger-border);background:var(--hub-danger-tint)}.BiQ1zG_failKindUninstall{color:var(--hub-warn);border-color:var(--hub-warn-border);background:var(--hub-warn-tint)}.BiQ1zG_failRepo{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--hub-brand);cursor:pointer;-webkit-user-select:none;user-select:none;flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:18px;text-decoration:none;overflow:hidden}.BiQ1zG_failRepo:hover{text-decoration:none}a.BiQ1zG_failRepo{color:#2f6feb}.BiQ1zG_failRepoLabel{color:var(--hub-text-secondary)}a.BiQ1zG_failRepo:hover .BiQ1zG_failRepoUrl{text-decoration:underline}.BiQ1zG_failCopy{color:var(--hub-text-tertiary);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:4px;flex-shrink:0;align-items:center;padding:2px 8px;font-size:11px;line-height:16px;transition:color .12s,background .12s;display:inline-flex}.BiQ1zG_failCopy:hover{color:var(--hub-text-secondary);background:var(--hub-bg-2)}.BiQ1zG_failEmpty{text-align:center;color:var(--hub-text-tertiary);padding:24px 0;font-size:12px;line-height:18px}.BiQ1zG_failClear{color:var(--hub-danger);cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:none;border-radius:6px;padding:5px 14px;font-size:12px;line-height:18px;transition:color .12s,background .12s}.BiQ1zG_failClear:hover{color:#fff;background:var(--hub-danger)}.BiQ1zG_failBigIssue{box-sizing:border-box;text-align:center;color:#fff;background:var(--hub-danger);border:1px solid var(--hub-danger);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:8px;width:100%;margin-top:4px;padding:3px 16px;font-size:13px;font-weight:600;line-height:18px;text-decoration:none;transition:background .12s,border-color .12s,box-shadow .12s;display:block}.BiQ1zG_failBigIssue:hover{background:var(--hub-danger-hover);border-color:var(--hub-danger-hover);box-shadow:0 3px 10px #d1242f59}.BiQ1zG_failKindTitle{text-align:left;color:var(--hub-danger-text);margin-top:10px;font-size:15px;font-weight:700;line-height:22px}.BiQ1zG_failReason{white-space:pre-line;text-align:left;color:var(--hub-text-secondary);margin-top:2px;font-size:12.5px;font-weight:400;line-height:19px}.BiQ1zG_failPrepareHint{white-space:pre-line;text-align:left;color:var(--hub-warning);background:var(--hub-warning-tint);border:1px solid var(--hub-warning-border);border-radius:6px;margin-top:6px;margin-bottom:12px;padding:8px 12px;font-size:12px;line-height:18px}.BiQ1zG_failDiagBtn{box-sizing:border-box;text-align:center;width:100%;color:var(--hub-text-on-fill);background:var(--hub-btn-fill);cursor:pointer;-webkit-user-select:none;user-select:none;border:none;border-radius:8px;margin-top:8px;padding:5px 16px;font-size:13px;font-weight:600;line-height:18px;transition:background .12s,box-shadow .12s;display:block}.BiQ1zG_failDiagBtn:hover{background:var(--hub-btn-hover);box-shadow:0 3px 10px #0000001f}.BiQ1zG_failMisjudgeLink{color:var(--hub-text-tertiary);cursor:pointer;margin-top:6px;font-size:12px;line-height:18px;text-decoration:underline;display:inline-block}.BiQ1zG_failMisjudgeLink:hover{color:var(--hub-text-secondary)}.BiQ1zG_failNetworkTarget{word-break:break-all;color:var(--hub-danger);background:var(--hub-danger-tint);border:1px solid var(--hub-danger-border);border-radius:6px;margin-top:6px;padding:8px 12px;font-size:13px;font-weight:700;line-height:20px}.BiQ1zG_aboutModal{width:560px;max-width:calc(100vw - 48px)}.BiQ1zG_aboutContent{min-height:0;max-height:340px;color:var(--hub-text-secondary);background:var(--hub-bg-2);border:1px solid var(--hub-border-2);border-radius:8px;flex:auto;padding:10px 12px;font-size:12px;line-height:18px;overflow-y:auto}.BiQ1zG_aboutContent>:first-child{margin-top:0}.BiQ1zG_aboutContent>:last-child{margin-bottom:0}.BiQ1zG_aboutContent h2,.BiQ1zG_aboutContent h3,.BiQ1zG_aboutContent h4,.BiQ1zG_aboutContent h5{color:var(--hub-text-primary);margin:10px 0 4px;font-size:13px;font-weight:600;line-height:20px}.BiQ1zG_aboutContent h2{font-size:14px}.BiQ1zG_aboutContent p{margin:4px 0}.BiQ1zG_aboutContent ul,.BiQ1zG_aboutContent ol{margin:4px 0;padding-left:18px}.BiQ1zG_aboutContent li{margin:2px 0}.BiQ1zG_aboutContent code{background:var(--hub-bg-hover);color:var(--hub-text-primary);border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.BiQ1zG_aboutContent pre{background:var(--hub-bg-1);border:1px solid var(--hub-border-2);border-radius:6px;margin:6px 0;padding:8px 10px;overflow-x:auto}.BiQ1zG_aboutContent pre code{background:0 0;border-radius:0;padding:0}.BiQ1zG_aboutContent blockquote{border-left:3px solid var(--hub-brand);background:var(--hub-bg-hover);color:var(--hub-text-tertiary);border-radius:0 6px 6px 0;margin:6px 0;padding:2px 10px}.BiQ1zG_aboutContent a{color:var(--hub-brand);text-decoration:none}.BiQ1zG_aboutContent a:hover{color:var(--hub-brand-hover);text-decoration:underline}.BiQ1zG_aboutContent img{border-radius:8px;max-width:100%;max-height:220px;margin:8px auto;display:block;box-shadow:0 2px 8px #0000001f}.BiQ1zG_aboutContent img[width=\"100\"]{object-fit:contain;width:100px;height:100px;max-height:100px}.BiQ1zG_aboutMeta{color:var(--hub-text-tertiary);font-size:11px;line-height:16px}.BiQ1zG_hubUpdateModal{width:620px;max-width:calc(100vw - 48px)}.BiQ1zG_hubUpdateMeta{flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:12px;line-height:18px;display:flex}.BiQ1zG_hubUpdateMetaItem{color:var(--hub-text-tertiary)}.BiQ1zG_hubUpdateNotes{min-height:0;max-height:300px;color:var(--hub-text-secondary);background:var(--hub-bg-2);border:1px solid var(--hub-border-2);border-radius:8px;flex:auto;padding:10px 12px;font-size:12px;line-height:18px;overflow-y:auto}.BiQ1zG_hubUpdateNotes>:first-child{margin-top:0}.BiQ1zG_hubUpdateNotes>:last-child{margin-bottom:0}.BiQ1zG_hubUpdateNotes h2,.BiQ1zG_hubUpdateNotes h3,.BiQ1zG_hubUpdateNotes h4,.BiQ1zG_hubUpdateNotes h5{color:var(--hub-text-primary);margin:10px 0 4px;font-size:13px;font-weight:600;line-height:20px}.BiQ1zG_hubUpdateNotes h2{font-size:14px}.BiQ1zG_hubUpdateNotes p{margin:4px 0}.BiQ1zG_hubUpdateNotes ul,.BiQ1zG_hubUpdateNotes ol{margin:4px 0;padding-left:18px}.BiQ1zG_hubUpdateNotes li{margin:2px 0}.BiQ1zG_hubUpdateNotes code{background:var(--hub-bg-hover);color:var(--hub-text-primary);border-radius:4px;padding:1px 4px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px}.BiQ1zG_hubUpdateNotes pre{background:var(--hub-bg-1);border:1px solid var(--hub-border-2);border-radius:6px;margin:6px 0;padding:8px 10px;overflow-x:auto}.BiQ1zG_hubUpdateNotes pre code{background:0 0;border-radius:0;padding:0}.BiQ1zG_hubUpdateNotes blockquote{border-left:3px solid var(--hub-brand);background:var(--hub-bg-hover);color:var(--hub-text-tertiary);border-radius:0 6px 6px 0;margin:6px 0;padding:2px 10px}.BiQ1zG_hubUpdateNotes a{color:var(--hub-brand);text-decoration:none}.BiQ1zG_hubUpdateNotes a:hover{color:var(--hub-brand-hover);text-decoration:underline}.BiQ1zG_detailModal{width:580px;max-width:calc(100vw - 48px)}.BiQ1zG_detailUpdateHint{color:var(--hub-brand);background:var(--hub-brand-tint);border:1px solid var(--hub-brand-border-soft);border-radius:6px;padding:6px 10px;font-size:12px;line-height:18px}.BiQ1zG_detailGrid{flex-direction:column;gap:6px;display:flex}.BiQ1zG_detailRow{align-items:baseline;gap:10px;min-width:0;font-size:12px;line-height:20px;display:flex}.BiQ1zG_detailLabel{text-align:right;width:76px;color:var(--hub-text-tertiary);flex-shrink:0}.BiQ1zG_detailValue{min-width:0;color:var(--hub-text-primary);flex-wrap:wrap;flex:auto;align-items:baseline;gap:4px 6px;font-weight:500;display:flex}.BiQ1zG_detailMono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;font-weight:500}.BiQ1zG_detailArrow{color:var(--hub-text-tertiary);align-items:baseline;gap:4px;display:inline-flex}.BiQ1zG_detailDim{color:var(--hub-text-tertiary);font-size:11px;font-weight:400}.BiQ1zG_detailLink{min-width:0;color:var(--hub-brand);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:4px;font-weight:500;text-decoration:none;transition:color .12s;display:inline-flex}.BiQ1zG_detailLink:hover{color:var(--hub-brand-hover);text-decoration:underline}.BiQ1zG_detailStars{color:#b45309;font-weight:600}.BiQ1zG_detailPath{min-width:0;color:var(--hub-text-primary);background:var(--hub-bg-2);border:1px solid var(--hub-border-2);border-radius:6px;flex:auto;justify-content:space-between;align-items:center;gap:6px;padding:3px 3px 3px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;line-height:18px;transition:border-color .12s,background .12s;display:flex}.BiQ1zG_detailPath:hover{border-color:var(--hub-border-ghost);background:var(--hub-bg-3)}.BiQ1zG_detailPathText{text-overflow:ellipsis;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;min-width:0;overflow:hidden}.BiQ1zG_detailPathActions{flex-shrink:0;align-items:center;gap:4px;display:inline-flex}.BiQ1zG_detailPathBtn{width:28px;height:28px;color:var(--hub-brand);background:var(--hub-brand-tint);border:1px solid var(--hub-brand-border-soft);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:6px;justify-content:center;align-items:center;transition:color .12s,background .12s,border-color .12s;display:inline-flex}.BiQ1zG_detailPathBtn svg{width:15px;height:15px}.BiQ1zG_detailPathBtn:hover{color:#fff;background:var(--hub-brand);border-color:var(--hub-brand)}.BiQ1zG_detailStatusRunning,.BiQ1zG_detailStatusPending{border-radius:50%;flex-shrink:0;align-self:center;width:8px;height:8px}.BiQ1zG_detailStatusRunning{background:var(--hub-success)}.BiQ1zG_detailStatusPending{background:var(--hub-warning)}.BiQ1zG_detailStatusText{font-weight:500}";
|
|
761
871
|
const tagId$10 = "dsh-plugin/Modal.module.css";
|
|
762
872
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$10) + "]") === null) {
|
|
763
873
|
const tag = document.createElement("style");
|
|
@@ -772,137 +882,141 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
772
882
|
css: css$10
|
|
773
883
|
});
|
|
774
884
|
var Modal_module_css_default = {
|
|
775
|
-
"hubUpdateNotes": "BiQ1zG_hubUpdateNotes",
|
|
776
|
-
"noticeRowOk": "BiQ1zG_noticeRowOk",
|
|
777
|
-
"queueRowStatus": "BiQ1zG_queueRowStatus",
|
|
778
|
-
"toastFail": "BiQ1zG_toastFail",
|
|
779
|
-
"failHead": "BiQ1zG_failHead",
|
|
780
|
-
"queueRowPct": "BiQ1zG_queueRowPct",
|
|
781
|
-
"modalBody": "BiQ1zG_modalBody",
|
|
782
|
-
"resultTitle": "BiQ1zG_resultTitle",
|
|
783
|
-
"errorHint": "BiQ1zG_errorHint",
|
|
784
|
-
"queueRowDesc": "BiQ1zG_queueRowDesc",
|
|
785
|
-
"detailLabel": "BiQ1zG_detailLabel",
|
|
786
|
-
"detailArrow": "BiQ1zG_detailArrow",
|
|
787
|
-
"hubUpdateMeta": "BiQ1zG_hubUpdateMeta",
|
|
788
|
-
"errorModal": "BiQ1zG_errorModal",
|
|
789
|
-
"detailStars": "BiQ1zG_detailStars",
|
|
790
|
-
"pendingRowActions": "BiQ1zG_pendingRowActions",
|
|
791
|
-
"overlay": "BiQ1zG_overlay",
|
|
792
|
-
"failRepo": "BiQ1zG_failRepo",
|
|
793
|
-
"linkIcon": "BiQ1zG_linkIcon",
|
|
794
|
-
"failKind": "BiQ1zG_failKind",
|
|
795
|
-
"modalLabel": "BiQ1zG_modalLabel",
|
|
796
|
-
"modalWide": "BiQ1zG_modalWide",
|
|
797
|
-
"errorCopySoft": "BiQ1zG_errorCopySoft",
|
|
798
|
-
"restartNowWarning": "BiQ1zG_restartNowWarning",
|
|
799
|
-
"noticeIgnore": "BiQ1zG_noticeIgnore",
|
|
800
|
-
"confirmIcon": "BiQ1zG_confirmIcon",
|
|
801
|
-
"restartLater": "BiQ1zG_restartLater",
|
|
802
|
-
"detailPath": "BiQ1zG_detailPath",
|
|
803
|
-
"detailStatusRunning": "BiQ1zG_detailStatusRunning",
|
|
804
|
-
"modalCmdText": "BiQ1zG_modalCmdText",
|
|
805
|
-
"modalTitleQueued": "BiQ1zG_modalTitleQueued",
|
|
806
|
-
"queueRowTrack": "BiQ1zG_queueRowTrack",
|
|
807
|
-
"failList": "BiQ1zG_failList",
|
|
808
|
-
"queueRowTarget": "BiQ1zG_queueRowTarget",
|
|
809
|
-
"queueRowHead": "BiQ1zG_queueRowHead",
|
|
810
|
-
"modalActions": "BiQ1zG_modalActions",
|
|
811
|
-
"failCopy": "BiQ1zG_failCopy",
|
|
812
|
-
"noticeFoot": "BiQ1zG_noticeFoot",
|
|
813
|
-
"dangerConfirm": "BiQ1zG_dangerConfirm",
|
|
814
|
-
"modalLink": "BiQ1zG_modalLink",
|
|
815
885
|
"failKindInstall": "BiQ1zG_failKindInstall",
|
|
816
|
-
"
|
|
817
|
-
"
|
|
818
|
-
"hubUpdateModal": "BiQ1zG_hubUpdateModal",
|
|
819
|
-
"failedCopyHint": "BiQ1zG_failedCopyHint",
|
|
886
|
+
"queueRowHead": "BiQ1zG_queueRowHead",
|
|
887
|
+
"modalValue": "BiQ1zG_modalValue",
|
|
820
888
|
"stripCancel": "BiQ1zG_stripCancel",
|
|
821
|
-
"
|
|
822
|
-
"resultCheck": "BiQ1zG_resultCheck",
|
|
823
|
-
"resultRestarting": "BiQ1zG_resultRestarting",
|
|
824
|
-
"detailMono": "BiQ1zG_detailMono",
|
|
825
|
-
"noticeRemove": "BiQ1zG_noticeRemove",
|
|
826
|
-
"modal": "BiQ1zG_modal",
|
|
827
|
-
"errorTitle": "BiQ1zG_errorTitle",
|
|
889
|
+
"failDiagBtn": "BiQ1zG_failDiagBtn",
|
|
828
890
|
"detailDim": "BiQ1zG_detailDim",
|
|
829
|
-
"noticeUpdateGo": "BiQ1zG_noticeUpdateGo",
|
|
830
|
-
"failKindUninstall": "BiQ1zG_failKindUninstall",
|
|
831
|
-
"failNetworkTarget": "BiQ1zG_failNetworkTarget",
|
|
832
|
-
"queuedHint": "BiQ1zG_queuedHint",
|
|
833
|
-
"trustHint": "BiQ1zG_trustHint",
|
|
834
|
-
"detailPathActions": "BiQ1zG_detailPathActions",
|
|
835
891
|
"failClear": "BiQ1zG_failClear",
|
|
836
|
-
"
|
|
837
|
-
"noticeBadgeIcon": "BiQ1zG_noticeBadgeIcon",
|
|
892
|
+
"toastIn": "BiQ1zG_toastIn",
|
|
838
893
|
"aboutContent": "BiQ1zG_aboutContent",
|
|
839
|
-
"
|
|
840
|
-
"
|
|
841
|
-
"
|
|
842
|
-
"
|
|
843
|
-
"
|
|
844
|
-
"
|
|
894
|
+
"detailStatusPending": "BiQ1zG_detailStatusPending",
|
|
895
|
+
"failCopy": "BiQ1zG_failCopy",
|
|
896
|
+
"failRow": "BiQ1zG_failRow",
|
|
897
|
+
"noticeList": "BiQ1zG_noticeList",
|
|
898
|
+
"detailPathBtn": "BiQ1zG_detailPathBtn",
|
|
899
|
+
"helpModal": "BiQ1zG_helpModal",
|
|
900
|
+
"resultRestarting": "BiQ1zG_resultRestarting",
|
|
901
|
+
"failKindUninstall": "BiQ1zG_failKindUninstall",
|
|
902
|
+
"detailStars": "BiQ1zG_detailStars",
|
|
903
|
+
"confirmIconWrap": "BiQ1zG_confirmIconWrap",
|
|
904
|
+
"detailArrow": "BiQ1zG_detailArrow",
|
|
905
|
+
"failedCopyHint": "BiQ1zG_failedCopyHint",
|
|
845
906
|
"progressHead": "BiQ1zG_progressHead",
|
|
846
|
-
"
|
|
907
|
+
"detailLabel": "BiQ1zG_detailLabel",
|
|
908
|
+
"queueRowStatus": "BiQ1zG_queueRowStatus",
|
|
909
|
+
"modalWide": "BiQ1zG_modalWide",
|
|
847
910
|
"failEmpty": "BiQ1zG_failEmpty",
|
|
848
|
-
"
|
|
849
|
-
"
|
|
850
|
-
"
|
|
851
|
-
"
|
|
852
|
-
"
|
|
853
|
-
"
|
|
854
|
-
"detailPathText": "BiQ1zG_detailPathText",
|
|
855
|
-
"toastIn": "BiQ1zG_toastIn",
|
|
856
|
-
"failDiagBtn": "BiQ1zG_failDiagBtn",
|
|
857
|
-
"modalInstall": "BiQ1zG_modalInstall",
|
|
858
|
-
"queueSectionTitle": "BiQ1zG_queueSectionTitle",
|
|
859
|
-
"detailValue": "BiQ1zG_detailValue",
|
|
911
|
+
"overlayIn": "BiQ1zG_overlayIn",
|
|
912
|
+
"failReason": "BiQ1zG_failReason",
|
|
913
|
+
"modalIn": "BiQ1zG_modalIn",
|
|
914
|
+
"modalCancel": "BiQ1zG_modalCancel",
|
|
915
|
+
"modalLabel": "BiQ1zG_modalLabel",
|
|
916
|
+
"logModal": "BiQ1zG_logModal",
|
|
860
917
|
"failMisjudgeLink": "BiQ1zG_failMisjudgeLink",
|
|
861
|
-
"
|
|
918
|
+
"hubUpdateModal": "BiQ1zG_hubUpdateModal",
|
|
862
919
|
"modalTitleBusy": "BiQ1zG_modalTitleBusy",
|
|
863
|
-
"
|
|
864
|
-
"
|
|
865
|
-
"
|
|
866
|
-
"
|
|
867
|
-
"
|
|
868
|
-
"
|
|
869
|
-
"
|
|
920
|
+
"detailGrid": "BiQ1zG_detailGrid",
|
|
921
|
+
"progressFillFail": "BiQ1zG_progressFillFail",
|
|
922
|
+
"detailValue": "BiQ1zG_detailValue",
|
|
923
|
+
"overlay": "BiQ1zG_overlay",
|
|
924
|
+
"modalActions": "BiQ1zG_modalActions",
|
|
925
|
+
"uninstallConfirm": "BiQ1zG_uninstallConfirm",
|
|
926
|
+
"noticeFoot": "BiQ1zG_noticeFoot",
|
|
927
|
+
"pendingRowActions": "BiQ1zG_pendingRowActions",
|
|
870
928
|
"detailLink": "BiQ1zG_detailLink",
|
|
871
|
-
"
|
|
872
|
-
"modalCancel": "BiQ1zG_modalCancel",
|
|
873
|
-
"detailStatusPending": "BiQ1zG_detailStatusPending",
|
|
874
|
-
"modalHead": "BiQ1zG_modalHead",
|
|
875
|
-
"queueRowBody": "BiQ1zG_queueRowBody",
|
|
929
|
+
"modalDesc": "BiQ1zG_modalDesc",
|
|
876
930
|
"failPrepareHint": "BiQ1zG_failPrepareHint",
|
|
877
|
-
"
|
|
878
|
-
"
|
|
879
|
-
"helpModal": "BiQ1zG_helpModal",
|
|
880
|
-
"noticeMain": "BiQ1zG_noticeMain",
|
|
931
|
+
"hubUpdateNotes": "BiQ1zG_hubUpdateNotes",
|
|
932
|
+
"failNetworkTarget": "BiQ1zG_failNetworkTarget",
|
|
881
933
|
"noticeTime": "BiQ1zG_noticeTime",
|
|
882
|
-
"
|
|
883
|
-
"
|
|
884
|
-
"
|
|
885
|
-
"
|
|
886
|
-
"noticeRowUpdate": "BiQ1zG_noticeRowUpdate",
|
|
887
|
-
"detailPathBtn": "BiQ1zG_detailPathBtn",
|
|
888
|
-
"failBigIssue": "BiQ1zG_failBigIssue",
|
|
934
|
+
"errorTitle": "BiQ1zG_errorTitle",
|
|
935
|
+
"hubUpdateMetaItem": "BiQ1zG_hubUpdateMetaItem",
|
|
936
|
+
"queueSectionTitle": "BiQ1zG_queueSectionTitle",
|
|
937
|
+
"aboutMeta": "BiQ1zG_aboutMeta",
|
|
889
938
|
"pendingRowStatus": "BiQ1zG_pendingRowStatus",
|
|
890
|
-
"
|
|
939
|
+
"queueRow": "BiQ1zG_queueRow",
|
|
940
|
+
"detailPathActions": "BiQ1zG_detailPathActions",
|
|
941
|
+
"errorBox": "BiQ1zG_errorBox",
|
|
942
|
+
"confirmIcon": "BiQ1zG_confirmIcon",
|
|
891
943
|
"noticeTextOk": "BiQ1zG_noticeTextOk",
|
|
892
|
-
"
|
|
893
|
-
"
|
|
894
|
-
"progress": "BiQ1zG_progress",
|
|
895
|
-
"noticeBadgeFail": "BiQ1zG_noticeBadgeFail",
|
|
944
|
+
"queueRowTarget": "BiQ1zG_queueRowTarget",
|
|
945
|
+
"restartLater": "BiQ1zG_restartLater",
|
|
896
946
|
"progressTrack": "BiQ1zG_progressTrack",
|
|
897
|
-
"
|
|
898
|
-
"
|
|
947
|
+
"noticeRow": "BiQ1zG_noticeRow",
|
|
948
|
+
"result": "BiQ1zG_result",
|
|
949
|
+
"restartNowWarning": "BiQ1zG_restartNowWarning",
|
|
950
|
+
"cliOnlyHint": "BiQ1zG_cliOnlyHint",
|
|
951
|
+
"resultDesc": "BiQ1zG_resultDesc",
|
|
952
|
+
"noticeBadgeFail": "BiQ1zG_noticeBadgeFail",
|
|
953
|
+
"errorCopySoft": "BiQ1zG_errorCopySoft",
|
|
954
|
+
"failBigIssue": "BiQ1zG_failBigIssue",
|
|
955
|
+
"noticeTextFail": "BiQ1zG_noticeTextFail",
|
|
899
956
|
"detailUpdateHint": "BiQ1zG_detailUpdateHint",
|
|
957
|
+
"confirmIconDanger": "BiQ1zG_confirmIconDanger",
|
|
958
|
+
"modalInstall": "BiQ1zG_modalInstall",
|
|
959
|
+
"modalCmdText": "BiQ1zG_modalCmdText",
|
|
960
|
+
"detailStatusRunning": "BiQ1zG_detailStatusRunning",
|
|
961
|
+
"modal": "BiQ1zG_modal",
|
|
962
|
+
"linkIcon": "BiQ1zG_linkIcon",
|
|
963
|
+
"modalLink": "BiQ1zG_modalLink",
|
|
964
|
+
"queueRowBody": "BiQ1zG_queueRowBody",
|
|
965
|
+
"modalBody": "BiQ1zG_modalBody",
|
|
966
|
+
"noticeRowUpdate": "BiQ1zG_noticeRowUpdate",
|
|
967
|
+
"modalRow": "BiQ1zG_modalRow",
|
|
968
|
+
"progressText": "BiQ1zG_progressText",
|
|
969
|
+
"noticeIgnore": "BiQ1zG_noticeIgnore",
|
|
970
|
+
"noticeBadgeOk": "BiQ1zG_noticeBadgeOk",
|
|
971
|
+
"detailPath": "BiQ1zG_detailPath",
|
|
972
|
+
"modalHead": "BiQ1zG_modalHead",
|
|
973
|
+
"failKind": "BiQ1zG_failKind",
|
|
974
|
+
"aboutModal": "BiQ1zG_aboutModal",
|
|
975
|
+
"modalCmd": "BiQ1zG_modalCmd",
|
|
976
|
+
"noticeHead": "BiQ1zG_noticeHead",
|
|
977
|
+
"noticeVersion": "BiQ1zG_noticeVersion",
|
|
978
|
+
"dangerConfirm": "BiQ1zG_dangerConfirm",
|
|
979
|
+
"queueSection": "BiQ1zG_queueSection",
|
|
980
|
+
"detailPathText": "BiQ1zG_detailPathText",
|
|
981
|
+
"progress": "BiQ1zG_progress",
|
|
982
|
+
"noticeUpdateGo": "BiQ1zG_noticeUpdateGo",
|
|
983
|
+
"confirmPrimary": "BiQ1zG_confirmPrimary",
|
|
984
|
+
"modalCopy": "BiQ1zG_modalCopy",
|
|
985
|
+
"noticeRemove": "BiQ1zG_noticeRemove",
|
|
986
|
+
"failRepoLabel": "BiQ1zG_failRepoLabel",
|
|
987
|
+
"trustHint": "BiQ1zG_trustHint",
|
|
988
|
+
"queueRowDesc": "BiQ1zG_queueRowDesc",
|
|
989
|
+
"resultTitle": "BiQ1zG_resultTitle",
|
|
990
|
+
"failRepo": "BiQ1zG_failRepo",
|
|
991
|
+
"modalTitle": "BiQ1zG_modalTitle",
|
|
900
992
|
"toast": "BiQ1zG_toast",
|
|
993
|
+
"toastFail": "BiQ1zG_toastFail",
|
|
994
|
+
"failList": "BiQ1zG_failList",
|
|
995
|
+
"noticeRowMain": "BiQ1zG_noticeRowMain",
|
|
996
|
+
"hubUpdateMeta": "BiQ1zG_hubUpdateMeta",
|
|
997
|
+
"detailMono": "BiQ1zG_detailMono",
|
|
998
|
+
"queuedHint": "BiQ1zG_queuedHint",
|
|
999
|
+
"errorHint": "BiQ1zG_errorHint",
|
|
1000
|
+
"queueRowTrack": "BiQ1zG_queueRowTrack",
|
|
1001
|
+
"resultCheck": "BiQ1zG_resultCheck",
|
|
1002
|
+
"restartNow": "BiQ1zG_restartNow",
|
|
1003
|
+
"noticeMain": "BiQ1zG_noticeMain",
|
|
1004
|
+
"failRepoUrl": "BiQ1zG_failRepoUrl",
|
|
1005
|
+
"errorModal": "BiQ1zG_errorModal",
|
|
1006
|
+
"modalClose": "BiQ1zG_modalClose",
|
|
901
1007
|
"detailStatusText": "BiQ1zG_detailStatusText",
|
|
902
|
-
"
|
|
903
|
-
"
|
|
904
|
-
"
|
|
905
|
-
"detailRow": "BiQ1zG_detailRow"
|
|
1008
|
+
"queueRowPct": "BiQ1zG_queueRowPct",
|
|
1009
|
+
"resultCheckIcon": "BiQ1zG_resultCheckIcon",
|
|
1010
|
+
"failHead": "BiQ1zG_failHead",
|
|
1011
|
+
"detailRow": "BiQ1zG_detailRow",
|
|
1012
|
+
"noticeRowOk": "BiQ1zG_noticeRowOk",
|
|
1013
|
+
"noticeBadgeIcon": "BiQ1zG_noticeBadgeIcon",
|
|
1014
|
+
"modalCmdCopy": "BiQ1zG_modalCmdCopy",
|
|
1015
|
+
"failKindTitle": "BiQ1zG_failKindTitle",
|
|
1016
|
+
"progressFill": "BiQ1zG_progressFill",
|
|
1017
|
+
"modalCloseIcon": "BiQ1zG_modalCloseIcon",
|
|
1018
|
+
"detailModal": "BiQ1zG_detailModal",
|
|
1019
|
+
"modalTitleQueued": "BiQ1zG_modalTitleQueued"
|
|
906
1020
|
};
|
|
907
1021
|
//#endregion
|
|
908
1022
|
//#region src/server/services/install/release-target.ts
|
|
@@ -992,7 +1106,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
992
1106
|
* tsdown 构建时用 define 把 __PLUGIN_VERSION__ 替换成 package.json 的版本号;
|
|
993
1107
|
* node --test 直接 import 本模块时该标识符不存在,typeof 守卫兜底为空串。
|
|
994
1108
|
*/
|
|
995
|
-
const PLUGIN_VERSION = "2.0.
|
|
1109
|
+
const PLUGIN_VERSION = "2.0.1";
|
|
996
1110
|
const CATEGORY_ORDER = [
|
|
997
1111
|
"interface",
|
|
998
1112
|
"session",
|
|
@@ -1741,7 +1855,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
1741
1855
|
* registry 真实发布时间下发(同源),据此判断最准。门槛命中要单列成 `pending` 而不是
|
|
1742
1856
|
* 落回「无更新」——回落会让弹窗在本机版本落后时谎称「已是最新」。
|
|
1743
1857
|
*/
|
|
1744
|
-
const hubCurrentVersion = "2.0.
|
|
1858
|
+
const hubCurrentVersion = "2.0.1";
|
|
1745
1859
|
const hubUpdateState = (() => {
|
|
1746
1860
|
if (!hubUpdateInfo) return "none";
|
|
1747
1861
|
if (hubUpdateInfo.version === hubCurrentVersion) return "latest";
|
|
@@ -1973,6 +2087,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
1973
2087
|
* (只影响这个插件 → 才引导提 Issue)。各分支判定顺序有依赖,见函数内注释。
|
|
1974
2088
|
*/
|
|
1975
2089
|
function classifyFailure(message) {
|
|
2090
|
+
if (/installation rejected:.*incompatible with dsh/i.test(message)) return "hostIncompatible";
|
|
1976
2091
|
if (/\[npm-too-low\]|edgesOut/i.test(message)) return "npmTooOld";
|
|
1977
2092
|
if (/\[pnpm-missing\]|pnpm not found|pnpm: command not found|spawn pnpm ENOENT|'pnpm' 不是内部或外部命令|"pnpm" 不是内部或外部命令|pnpm['"]?\s*is not recognized/i.test(message)) return "pnpmMissing";
|
|
1978
2093
|
if (/\[git-missing\]|spawn git ENOENT|'git' 不是内部或外部命令|"git" 不是内部或外部命令|git['"]?\s*is not recognized|git: command not found/i.test(message)) return "gitMissing";
|
|
@@ -2154,6 +2269,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
2154
2269
|
case "fsUnavailable": return "local file system unavailable on the user machine";
|
|
2155
2270
|
case "pnpmIgnoredBuild": return "build scripts blocked by pnpm allowlist";
|
|
2156
2271
|
case "pluginPrepare": return "plugin distribution incomplete";
|
|
2272
|
+
case "hostIncompatible": return "plugin does not support the DSH version in use";
|
|
2157
2273
|
case "network": return "network failure on the user side";
|
|
2158
2274
|
case "hostCliSpawn": return "the DSH host could not be launched on the user machine";
|
|
2159
2275
|
case "hubState": return `stale ${word} state in the plugin hub`;
|
|
@@ -2178,7 +2294,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
2178
2294
|
const executed = executedCommandOf(command, attempts);
|
|
2179
2295
|
const zhWord = actionWordZh(action);
|
|
2180
2296
|
const title = `[dsh-plugin.org | dsh-plugin-hub] ${reasonTitleOf(kind, action)}: ${repo}`;
|
|
2181
|
-
const reason = /\[packaging\]/i.test(message) ? "plugin distribution is incomplete — a file the package needs (its entry from main / exports, an entry a bundled patch mounts, or the patch declared by dsh.bundle.patch) is missing from the published npm package; please publish a complete package" : /\[registry-missing\]/i.test(message) ? "a dependency declared by the plugin is not published on the public npm registry (missing, removed, or never released); please publish or correct that dependency, or ship it with the plugin" : kind === "network" ? "network connectivity issue on the user side (DNS, proxy, firewall, or a blocked connection)" : kind === "pluginPrepare" ? "plugin prepare/build script failed during install (packaging/distribution issue)" : kind === "pnpmIgnoredBuild" ? "plugin depends on a native module whose build script pnpm blocks by default (use a prebuilt variant)" : kind === "originRejected" ? "the request never reached the install flow — the local service rejected its origin (local environment issue)" : kind === "pnpmPolicy" ? pnpmPolicyHintOf(message) === "failPnpmTarballIntegrityHint" ? "pnpm rejected a lockfile entry without tarball integrity; inspect and back up the profile lockfile before resolving it again, keeping integrity checks enabled" : "the pnpm supply-chain policy on the user machine blocked the install (minimum release age for freshly published packages / untrusted origin)" : kind === "pnpmUnusedPatch" ? "the profile keeps a pnpm patch entry for an older dsh-plugin version, so pnpm aborted the install (local config issue)" : kind === "fileLocked" ? "a file in the profile is locked by another process on the user machine (local environment issue)" : kind === "accessDenied" ? "the system denied write access to a file in the profile on the user machine (local environment issue)" : kind === "fsUnavailable" ? "the local file system could not accept the write — no space left, read-only volume, or too many open file handles on the user machine (local environment issue)" : "plugin-side install failure";
|
|
2297
|
+
const reason = kind === "hostIncompatible" ? "the plugin declares a dsh compatibility range that does not include the runtime in use, so the host rejects it before installing anything; please extend the supported dsh versions or publish a compatible release" : /\[packaging\]/i.test(message) ? "plugin distribution is incomplete — a file the package needs (its entry from main / exports, an entry a bundled patch mounts, or the patch declared by dsh.bundle.patch) is missing from the published npm package; please publish a complete package" : /\[registry-missing\]/i.test(message) ? "a dependency declared by the plugin is not published on the public npm registry (missing, removed, or never released); please publish or correct that dependency, or ship it with the plugin" : kind === "network" ? "network connectivity issue on the user side (DNS, proxy, firewall, or a blocked connection)" : kind === "pluginPrepare" ? "plugin prepare/build script failed during install (packaging/distribution issue)" : kind === "pnpmIgnoredBuild" ? "plugin depends on a native module whose build script pnpm blocks by default (use a prebuilt variant)" : kind === "originRejected" ? "the request never reached the install flow — the local service rejected its origin (local environment issue)" : kind === "pnpmPolicy" ? pnpmPolicyHintOf(message) === "failPnpmTarballIntegrityHint" ? "pnpm rejected a lockfile entry without tarball integrity; inspect and back up the profile lockfile before resolving it again, keeping integrity checks enabled" : "the pnpm supply-chain policy on the user machine blocked the install (minimum release age for freshly published packages / untrusted origin)" : kind === "pnpmUnusedPatch" ? "the profile keeps a pnpm patch entry for an older dsh-plugin version, so pnpm aborted the install (local config issue)" : kind === "fileLocked" ? "a file in the profile is locked by another process on the user machine (local environment issue)" : kind === "accessDenied" ? "the system denied write access to a file in the profile on the user machine (local environment issue)" : kind === "fsUnavailable" ? "the local file system could not accept the write — no space left, read-only volume, or too many open file handles on the user machine (local environment issue)" : "plugin-side install failure";
|
|
2182
2298
|
const code = coreErrorCode(message);
|
|
2183
2299
|
const build = (coreChars) => {
|
|
2184
2300
|
const body = [
|
|
@@ -3608,16 +3724,19 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
3608
3724
|
className: Modal_module_css_default.modalClose,
|
|
3609
3725
|
"aria-label": t("errorClose"),
|
|
3610
3726
|
onClick: onClose
|
|
3611
|
-
}, (0, react.createElement)(CloseIcon))), (0, react.createElement)("div", { className: Modal_module_css_default.modalBody }, (0, react.createElement)("div", { className: Modal_module_css_default.failRow }, (0, react.createElement)("div", { className: Modal_module_css_default.failHead },
|
|
3612
|
-
|
|
3613
|
-
|
|
3614
|
-
|
|
3615
|
-
|
|
3616
|
-
|
|
3617
|
-
|
|
3727
|
+
}, (0, react.createElement)(CloseIcon))), (0, react.createElement)("div", { className: Modal_module_css_default.modalBody }, (0, react.createElement)("div", { className: Modal_module_css_default.failRow }, (0, react.createElement)("div", { className: Modal_module_css_default.failHead }, repo ? (() => {
|
|
3728
|
+
const url = pluginSiteUrl(repo);
|
|
3729
|
+
return (0, react.createElement)("a", {
|
|
3730
|
+
className: Modal_module_css_default.failRepo,
|
|
3731
|
+
href: url,
|
|
3732
|
+
target: "_blank",
|
|
3733
|
+
rel: "noopener noreferrer",
|
|
3734
|
+
title: url
|
|
3735
|
+
}, (0, react.createElement)("span", { className: Modal_module_css_default.failRepoLabel }, `${t("detailTitle")} · `), (0, react.createElement)("span", { className: Modal_module_css_default.failRepoUrl }, url.replace(/^https?:\/\//, "").split("?")[0]));
|
|
3736
|
+
})() : null, (0, react.createElement)("button", {
|
|
3618
3737
|
className: Modal_module_css_default.errorCopySoft,
|
|
3619
3738
|
onClick: () => onCopy(copyText)
|
|
3620
|
-
}, 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(pnpmPolicyHintOf(message), pnpmPolicyHintParams(message))) : failureKind === "pnpmUnusedPatch" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmUnusedPatchHint")) : failureKind === "pnpmMissingDep" ? (0, react.createElement)("div", null, [(() => {
|
|
3739
|
+
}, t("errorCopy"))), (0, react.createElement)("pre", { className: Modal_module_css_default.errorBox }, message), (0, react.createElement)("div", { className: Modal_module_css_default.failKindTitle }, t(`failKind_${failureKind}`, failureKind === "hostIncompatible" ? { version: /incompatible with dsh\s+([^\s:;,]+)/i.exec(message)?.[1] ?? "" } : void 0)), failureKind === "hostIncompatible" ? null : (0, react.createElement)("div", { className: Modal_module_css_default.failReason }, t(`failReason_${failureKind}`)), 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(pnpmPolicyHintOf(message), pnpmPolicyHintParams(message))) : failureKind === "pnpmUnusedPatch" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmUnusedPatchHint")) : failureKind === "pnpmMissingDep" ? (0, react.createElement)("div", null, [(() => {
|
|
3621
3740
|
const pkg = missingRegistryPackageOf(message);
|
|
3622
3741
|
return pkg ? (0, react.createElement)("div", { className: Modal_module_css_default.failNetworkTarget }, t("failPnpmMissingDepTarget", { pkg })) : null;
|
|
3623
3742
|
})(), (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t(registryMissingHintOf(message)))]) : failureKind === "pluginMissingDep" ? (0, react.createElement)("div", null, [
|
|
@@ -3633,7 +3752,16 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
3633
3752
|
rel: "noopener noreferrer",
|
|
3634
3753
|
title: t("failIssueHint")
|
|
3635
3754
|
}, t("failIssueBig")) : null
|
|
3636
|
-
]) : failureKind === "
|
|
3755
|
+
]) : failureKind === "hostIncompatible" ? (0, react.createElement)("div", null, [(() => {
|
|
3756
|
+
const version = /incompatible with dsh\s+([^\s:;,]+)/i.exec(message)?.[1] ?? "";
|
|
3757
|
+
return (0, react.createElement)("div", null, [(0, react.createElement)("div", { className: Modal_module_css_default.failReason }, t("failHostIncompatibleReason", { version })), (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failHostIncompatibleHint"))]);
|
|
3758
|
+
})(), repo ? (0, react.createElement)("a", {
|
|
3759
|
+
className: Modal_module_css_default.failBigIssue,
|
|
3760
|
+
href: pluginIssueUrl(repo, message, env, command, attempts, action),
|
|
3761
|
+
target: "_blank",
|
|
3762
|
+
rel: "noopener noreferrer",
|
|
3763
|
+
title: t("failIssueHint")
|
|
3764
|
+
}, t("failIssueBig")) : null]) : failureKind === "registryVersionStale" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failRegistryVersionStaleHint")) : failureKind === "pnpmLinkedDirMissing" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmLinkedDirMissingHint")) : 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", { profile: env?.profile ?? "<profile>" })) : failureKind === "network" ? (0, react.createElement)("div", null, [
|
|
3637
3765
|
(() => {
|
|
3638
3766
|
const target = unreachableTargetOf(message);
|
|
3639
3767
|
return target ? (0, react.createElement)("div", { className: Modal_module_css_default.failNetworkTarget }, t("failNetworkTarget", { url: target })) : null;
|
|
@@ -4171,13 +4299,16 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4171
4299
|
}, `v${r.version}`) : null, r.repo ? isUpdate ? (0, react.createElement)("span", {
|
|
4172
4300
|
className: Modal_module_css_default.failRepo,
|
|
4173
4301
|
title: r.repo
|
|
4174
|
-
}, r.repo) : shownRepo ? (
|
|
4175
|
-
|
|
4176
|
-
|
|
4177
|
-
|
|
4178
|
-
|
|
4179
|
-
|
|
4180
|
-
|
|
4302
|
+
}, r.repo) : shownRepo ? (() => {
|
|
4303
|
+
const url = pluginSiteUrl(shownRepo);
|
|
4304
|
+
return (0, react.createElement)("a", {
|
|
4305
|
+
className: Modal_module_css_default.failRepo,
|
|
4306
|
+
href: url,
|
|
4307
|
+
target: "_blank",
|
|
4308
|
+
rel: "noopener noreferrer",
|
|
4309
|
+
title: url
|
|
4310
|
+
}, (0, react.createElement)("span", { className: Modal_module_css_default.failRepoLabel }, `${t("detailTitle")} · `), (0, react.createElement)("span", { className: Modal_module_css_default.failRepoUrl }, url.replace(/^https?:\/\//, "").split("?")[0]));
|
|
4311
|
+
})() : (0, react.createElement)("span", {
|
|
4181
4312
|
className: Modal_module_css_default.failRepo,
|
|
4182
4313
|
title: r.repo
|
|
4183
4314
|
}, r.repo) : null, !r.ok && (0, react.createElement)("button", {
|
|
@@ -4207,6 +4338,9 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4207
4338
|
setConfirmRemoveId(r.id);
|
|
4208
4339
|
}
|
|
4209
4340
|
}, (0, react.createElement)(CloseIcon))), !r.ok && (() => {
|
|
4341
|
+
const k = classifyFailure(r.message);
|
|
4342
|
+
return (0, react.createElement)("div", null, [(0, react.createElement)("div", { className: Modal_module_css_default.failKindTitle }, t(`failKind_${k}`, k === "hostIncompatible" ? { version: /incompatible with dsh\s+([^\s:;,]+)/i.exec(r.message ?? "")?.[1] ?? "" } : void 0)), k === "hostIncompatible" ? null : (0, react.createElement)("div", { className: Modal_module_css_default.failReason }, t(`failReason_${k}`))]);
|
|
4343
|
+
})(), !r.ok && (() => {
|
|
4210
4344
|
const kind = classifyFailure(r.message);
|
|
4211
4345
|
const action = actionOfRecord(r);
|
|
4212
4346
|
const actionWord = t(action === "uninstall" ? "actionUninstall" : action === "update" ? "actionUpdate" : "actionInstall");
|
|
@@ -4240,6 +4374,20 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4240
4374
|
}, t("failIssueBig")) : null
|
|
4241
4375
|
]);
|
|
4242
4376
|
}
|
|
4377
|
+
if (kind === "hostIncompatible") {
|
|
4378
|
+
const version = /incompatible with dsh\s+([^\s:;,]+)/i.exec(r.message ?? "")?.[1] ?? "";
|
|
4379
|
+
return (0, react.createElement)("div", null, [
|
|
4380
|
+
(0, react.createElement)("div", { className: Modal_module_css_default.failReason }, t("failHostIncompatibleReason", { version })),
|
|
4381
|
+
(0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failHostIncompatibleHint")),
|
|
4382
|
+
r.repo && shownRepo ? (0, react.createElement)("a", {
|
|
4383
|
+
className: Modal_module_css_default.failBigIssue,
|
|
4384
|
+
href: pluginIssueUrl(shownRepo, r.message, env, r.command, r.attempts, action),
|
|
4385
|
+
target: "_blank",
|
|
4386
|
+
rel: "noopener noreferrer",
|
|
4387
|
+
title: t("failIssueHint")
|
|
4388
|
+
}, t("failIssueBig")) : null
|
|
4389
|
+
]);
|
|
4390
|
+
}
|
|
4243
4391
|
if (kind === "registryVersionStale") return (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failRegistryVersionStaleHint"));
|
|
4244
4392
|
if (kind === "pnpmLinkedDirMissing") return (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failPnpmLinkedDirMissingHint"));
|
|
4245
4393
|
if (kind === "fileLocked") return (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failFileLockedHint"));
|
|
@@ -4483,40 +4631,40 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4483
4631
|
css: css$9
|
|
4484
4632
|
});
|
|
4485
4633
|
var List_module_css_default = {
|
|
4486
|
-
"uninstallBtn": "_3XaZHa_uninstallBtn",
|
|
4487
|
-
"diagBtn": "_3XaZHa_diagBtn",
|
|
4488
|
-
"installBtnUpdate": "_3XaZHa_installBtnUpdate",
|
|
4489
|
-
"desc": "_3XaZHa_desc",
|
|
4490
|
-
"installBtn": "_3XaZHa_installBtn",
|
|
4491
|
-
"retryBtn": "_3XaZHa_retryBtn",
|
|
4492
|
-
"state": "_3XaZHa_state",
|
|
4493
|
-
"footLink": "_3XaZHa_footLink",
|
|
4494
|
-
"date": "_3XaZHa_date",
|
|
4495
4634
|
"stats": "_3XaZHa_stats",
|
|
4496
|
-
"
|
|
4635
|
+
"cardHead": "_3XaZHa_cardHead",
|
|
4636
|
+
"installBtn": "_3XaZHa_installBtn",
|
|
4497
4637
|
"cardTitle": "_3XaZHa_cardTitle",
|
|
4638
|
+
"installBtnUpdate": "_3XaZHa_installBtnUpdate",
|
|
4498
4639
|
"topics": "_3XaZHa_topics",
|
|
4499
|
-
"
|
|
4500
|
-
"star": "_3XaZHa_star",
|
|
4501
|
-
"verified": "_3XaZHa_verified",
|
|
4502
|
-
"versionBadge": "_3XaZHa_versionBadge",
|
|
4640
|
+
"fork": "_3XaZHa_fork",
|
|
4503
4641
|
"moreSentinel": "_3XaZHa_moreSentinel",
|
|
4504
|
-
"
|
|
4505
|
-
"list": "_3XaZHa_list",
|
|
4506
|
-
"updateBadge": "_3XaZHa_updateBadge",
|
|
4507
|
-
"footer": "_3XaZHa_footer",
|
|
4642
|
+
"star": "_3XaZHa_star",
|
|
4508
4643
|
"card": "_3XaZHa_card",
|
|
4644
|
+
"topic": "_3XaZHa_topic",
|
|
4645
|
+
"updateBadge": "_3XaZHa_updateBadge",
|
|
4509
4646
|
"installBtnCopied": "_3XaZHa_installBtnCopied",
|
|
4647
|
+
"state": "_3XaZHa_state",
|
|
4648
|
+
"date": "_3XaZHa_date",
|
|
4649
|
+
"desc": "_3XaZHa_desc",
|
|
4510
4650
|
"cardMain": "_3XaZHa_cardMain",
|
|
4511
|
-
"
|
|
4651
|
+
"diagBtn": "_3XaZHa_diagBtn",
|
|
4652
|
+
"stateActions": "_3XaZHa_stateActions",
|
|
4512
4653
|
"detailBtn": "_3XaZHa_detailBtn",
|
|
4513
|
-
"
|
|
4654
|
+
"footer": "_3XaZHa_footer",
|
|
4655
|
+
"footLink": "_3XaZHa_footLink",
|
|
4656
|
+
"categoryBadge": "_3XaZHa_categoryBadge",
|
|
4657
|
+
"versionBadge": "_3XaZHa_versionBadge",
|
|
4658
|
+
"list": "_3XaZHa_list",
|
|
4659
|
+
"retryBtn": "_3XaZHa_retryBtn",
|
|
4660
|
+
"verified": "_3XaZHa_verified",
|
|
4661
|
+
"uninstallBtn": "_3XaZHa_uninstallBtn",
|
|
4514
4662
|
"stateTitle": "_3XaZHa_stateTitle",
|
|
4515
|
-
"actions": "_3XaZHa_actions",
|
|
4516
|
-
"cardHead": "_3XaZHa_cardHead",
|
|
4517
|
-
"cardSide": "_3XaZHa_cardSide",
|
|
4518
4663
|
"stateDesc": "_3XaZHa_stateDesc",
|
|
4519
|
-
"
|
|
4664
|
+
"body": "_3XaZHa_body",
|
|
4665
|
+
"cardSide": "_3XaZHa_cardSide",
|
|
4666
|
+
"installBtnInstalled": "_3XaZHa_installBtnInstalled",
|
|
4667
|
+
"actions": "_3XaZHa_actions"
|
|
4520
4668
|
};
|
|
4521
4669
|
//#endregion
|
|
4522
4670
|
//#region src/client/hooks/useIncrementalList.ts
|
|
@@ -4716,15 +4864,15 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4716
4864
|
css: css$8
|
|
4717
4865
|
});
|
|
4718
4866
|
var SectionTabs_module_css_default = {
|
|
4719
|
-
"tabCountActive": "_7tvizq_tabCountActive",
|
|
4720
|
-
"tabActive": "_7tvizq_tabActive",
|
|
4721
4867
|
"noticeCount": "_7tvizq_noticeCount",
|
|
4868
|
+
"tabIcon": "_7tvizq_tabIcon",
|
|
4869
|
+
"tabCountActive": "_7tvizq_tabCountActive",
|
|
4722
4870
|
"noticeIcon": "_7tvizq_noticeIcon",
|
|
4723
4871
|
"noticeBtn": "_7tvizq_noticeBtn",
|
|
4724
|
-
"
|
|
4872
|
+
"root": "_7tvizq_root",
|
|
4725
4873
|
"tab": "_7tvizq_tab",
|
|
4726
|
-
"
|
|
4727
|
-
"
|
|
4874
|
+
"tabActive": "_7tvizq_tabActive",
|
|
4875
|
+
"tabCount": "_7tvizq_tabCount"
|
|
4728
4876
|
};
|
|
4729
4877
|
//#endregion
|
|
4730
4878
|
//#region src/client/components/layout/SectionTabs.tsx
|
|
@@ -4799,42 +4947,42 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4799
4947
|
css: css$7
|
|
4800
4948
|
});
|
|
4801
4949
|
var InstalledView_module_css_default = {
|
|
4802
|
-
"
|
|
4803
|
-
"rowSourceTagHub": "_1nXeGW_rowSourceTagHub",
|
|
4804
|
-
"toolbar": "_1nXeGW_toolbar",
|
|
4950
|
+
"segGroup": "_1nXeGW_segGroup",
|
|
4805
4951
|
"list": "_1nXeGW_list",
|
|
4806
|
-
"
|
|
4807
|
-
"
|
|
4808
|
-
"
|
|
4809
|
-
"
|
|
4952
|
+
"rowDesc": "_1nXeGW_rowDesc",
|
|
4953
|
+
"statusInactive": "_1nXeGW_statusInactive",
|
|
4954
|
+
"rowSourceTagHub": "_1nXeGW_rowSourceTagHub",
|
|
4955
|
+
"row": "_1nXeGW_row",
|
|
4810
4956
|
"emptyDesc": "_1nXeGW_emptyDesc",
|
|
4811
|
-
"
|
|
4812
|
-
"
|
|
4957
|
+
"rowSourceTag": "_1nXeGW_rowSourceTag",
|
|
4958
|
+
"rowCategory": "_1nXeGW_rowCategory",
|
|
4959
|
+
"segLabel": "_1nXeGW_segLabel",
|
|
4960
|
+
"rowRestart": "_1nXeGW_rowRestart",
|
|
4813
4961
|
"rowTitleLine": "_1nXeGW_rowTitleLine",
|
|
4814
|
-
"
|
|
4815
|
-
"
|
|
4962
|
+
"toolbar": "_1nXeGW_toolbar",
|
|
4963
|
+
"searchInput": "_1nXeGW_searchInput",
|
|
4964
|
+
"rowTitle": "_1nXeGW_rowTitle",
|
|
4965
|
+
"segBtn": "_1nXeGW_segBtn",
|
|
4816
4966
|
"rowMain": "_1nXeGW_rowMain",
|
|
4817
|
-
"
|
|
4967
|
+
"statusPending": "_1nXeGW_statusPending",
|
|
4968
|
+
"rowDetail": "_1nXeGW_rowDetail",
|
|
4969
|
+
"rowSourceTagManual": "_1nXeGW_rowSourceTagManual",
|
|
4970
|
+
"statusDot": "_1nXeGW_statusDot",
|
|
4971
|
+
"rowActions": "_1nXeGW_rowActions",
|
|
4972
|
+
"rowRepo": "_1nXeGW_rowRepo",
|
|
4973
|
+
"rowMeta": "_1nXeGW_rowMeta",
|
|
4974
|
+
"versionBadge": "_1nXeGW_versionBadge",
|
|
4818
4975
|
"updateBadge": "_1nXeGW_updateBadge",
|
|
4976
|
+
"emptyTitle": "_1nXeGW_emptyTitle",
|
|
4977
|
+
"root": "_1nXeGW_root",
|
|
4819
4978
|
"rowUninstall": "_1nXeGW_rowUninstall",
|
|
4820
|
-
"row": "_1nXeGW_row",
|
|
4821
|
-
"exampleBadge": "_1nXeGW_exampleBadge",
|
|
4822
|
-
"rowRepo": "_1nXeGW_rowRepo",
|
|
4823
4979
|
"segRow": "_1nXeGW_segRow",
|
|
4824
|
-
"
|
|
4980
|
+
"searchWrap": "_1nXeGW_searchWrap",
|
|
4981
|
+
"segBtnActive": "_1nXeGW_segBtnActive",
|
|
4982
|
+
"exampleRow": "_1nXeGW_exampleRow",
|
|
4825
4983
|
"empty": "_1nXeGW_empty",
|
|
4826
|
-
"
|
|
4827
|
-
"
|
|
4828
|
-
"statusInactive": "_1nXeGW_statusInactive",
|
|
4829
|
-
"rowCategory": "_1nXeGW_rowCategory",
|
|
4830
|
-
"versionBadge": "_1nXeGW_versionBadge",
|
|
4831
|
-
"rowUpdate": "_1nXeGW_rowUpdate",
|
|
4832
|
-
"searchInput": "_1nXeGW_searchInput",
|
|
4833
|
-
"rowTitle": "_1nXeGW_rowTitle",
|
|
4834
|
-
"statusDot": "_1nXeGW_statusDot",
|
|
4835
|
-
"rowDetail": "_1nXeGW_rowDetail",
|
|
4836
|
-
"rowDesc": "_1nXeGW_rowDesc",
|
|
4837
|
-
"rowRestart": "_1nXeGW_rowRestart"
|
|
4984
|
+
"exampleBadge": "_1nXeGW_exampleBadge",
|
|
4985
|
+
"rowUpdate": "_1nXeGW_rowUpdate"
|
|
4838
4986
|
};
|
|
4839
4987
|
//#endregion
|
|
4840
4988
|
//#region src/client/components/views/InstalledView.tsx
|
|
@@ -5078,27 +5226,27 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5078
5226
|
css: css$6
|
|
5079
5227
|
});
|
|
5080
5228
|
var CustomInstallView_module_css_default = {
|
|
5081
|
-
"
|
|
5082
|
-
"
|
|
5083
|
-
"
|
|
5229
|
+
"installExample": "zISxCG_installExample",
|
|
5230
|
+
"installInput": "zISxCG_installInput",
|
|
5231
|
+
"channelOffText": "zISxCG_channelOffText",
|
|
5232
|
+
"installError": "zISxCG_installError",
|
|
5233
|
+
"installInputError": "zISxCG_installInputError",
|
|
5234
|
+
"helpNote": "zISxCG_helpNote",
|
|
5084
5235
|
"helpBody": "zISxCG_helpBody",
|
|
5085
5236
|
"root": "zISxCG_root",
|
|
5237
|
+
"installCardHead": "zISxCG_installCardHead",
|
|
5238
|
+
"desc": "zISxCG_desc",
|
|
5239
|
+
"helpCmd": "zISxCG_helpCmd",
|
|
5240
|
+
"installCards": "zISxCG_installCards",
|
|
5086
5241
|
"installBtn": "zISxCG_installBtn",
|
|
5087
|
-
"installCardDisabled": "zISxCG_installCardDisabled",
|
|
5088
|
-
"installError": "zISxCG_installError",
|
|
5089
5242
|
"installLabel": "zISxCG_installLabel",
|
|
5090
|
-
"installExample": "zISxCG_installExample",
|
|
5091
|
-
"installHelpBtn": "zISxCG_installHelpBtn",
|
|
5092
|
-
"channelOffBtn": "zISxCG_channelOffBtn",
|
|
5093
5243
|
"helpLine": "zISxCG_helpLine",
|
|
5094
|
-
"installInputError": "zISxCG_installInputError",
|
|
5095
|
-
"installCardHead": "zISxCG_installCardHead",
|
|
5096
|
-
"channelOffText": "zISxCG_channelOffText",
|
|
5097
|
-
"helpCmd": "zISxCG_helpCmd",
|
|
5098
|
-
"helpNote": "zISxCG_helpNote",
|
|
5099
5244
|
"channelOff": "zISxCG_channelOff",
|
|
5100
|
-
"
|
|
5101
|
-
"
|
|
5245
|
+
"installHelpBtn": "zISxCG_installHelpBtn",
|
|
5246
|
+
"installCard": "zISxCG_installCard",
|
|
5247
|
+
"channelOffBtn": "zISxCG_channelOffBtn",
|
|
5248
|
+
"installCardDisabled": "zISxCG_installCardDisabled",
|
|
5249
|
+
"installRow": "zISxCG_installRow"
|
|
5102
5250
|
};
|
|
5103
5251
|
//#endregion
|
|
5104
5252
|
//#region src/client/components/views/CustomInstallView.tsx
|
|
@@ -5254,30 +5402,30 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5254
5402
|
css: css$5
|
|
5255
5403
|
});
|
|
5256
5404
|
var SettingsView_module_css_default = {
|
|
5405
|
+
"navItemActive": "_506LLG_navItemActive",
|
|
5257
5406
|
"pageHeader": "_506LLG_pageHeader",
|
|
5407
|
+
"navIcon": "_506LLG_navIcon",
|
|
5408
|
+
"proxyHintFail": "_506LLG_proxyHintFail",
|
|
5409
|
+
"proxyHint": "_506LLG_proxyHint",
|
|
5410
|
+
"proxyHintOk": "_506LLG_proxyHintOk",
|
|
5411
|
+
"resetBtn": "_506LLG_resetBtn",
|
|
5412
|
+
"navItem": "_506LLG_navItem",
|
|
5413
|
+
"settingControlStack": "_506LLG_settingControlStack",
|
|
5258
5414
|
"sidebar": "_506LLG_sidebar",
|
|
5415
|
+
"settingRowStack": "_506LLG_settingRowStack",
|
|
5259
5416
|
"root": "_506LLG_root",
|
|
5260
|
-
"
|
|
5417
|
+
"content": "_506LLG_content",
|
|
5418
|
+
"settingRow": "_506LLG_settingRow",
|
|
5419
|
+
"textInput": "_506LLG_textInput",
|
|
5420
|
+
"proxyControl": "_506LLG_proxyControl",
|
|
5261
5421
|
"pageTitle": "_506LLG_pageTitle",
|
|
5262
5422
|
"settingTitle": "_506LLG_settingTitle",
|
|
5263
|
-
"settingControl": "_506LLG_settingControl",
|
|
5264
5423
|
"card": "_506LLG_card",
|
|
5265
5424
|
"settingLabel": "_506LLG_settingLabel",
|
|
5266
|
-
"
|
|
5267
|
-
"settingControlStack": "_506LLG_settingControlStack",
|
|
5268
|
-
"proxyHintFail": "_506LLG_proxyHintFail",
|
|
5269
|
-
"proxyHintOk": "_506LLG_proxyHintOk",
|
|
5425
|
+
"settingDesc": "_506LLG_settingDesc",
|
|
5270
5426
|
"controlDropdown": "_506LLG_controlDropdown",
|
|
5271
|
-
"
|
|
5272
|
-
"
|
|
5273
|
-
"proxyControl": "_506LLG_proxyControl",
|
|
5274
|
-
"proxyHint": "_506LLG_proxyHint",
|
|
5275
|
-
"resetBtn": "_506LLG_resetBtn",
|
|
5276
|
-
"navIcon": "_506LLG_navIcon",
|
|
5277
|
-
"navItemActive": "_506LLG_navItemActive",
|
|
5278
|
-
"settingRow": "_506LLG_settingRow",
|
|
5279
|
-
"textInput": "_506LLG_textInput",
|
|
5280
|
-
"settingDesc": "_506LLG_settingDesc"
|
|
5427
|
+
"settingControl": "_506LLG_settingControl",
|
|
5428
|
+
"pageDesc": "_506LLG_pageDesc"
|
|
5281
5429
|
};
|
|
5282
5430
|
//#endregion
|
|
5283
5431
|
//#region \0dsh-css:src/client/styles/Dropdown.module.css.mjs
|
|
@@ -5296,18 +5444,18 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5296
5444
|
css: css$4
|
|
5297
5445
|
});
|
|
5298
5446
|
var Dropdown_module_css_default = {
|
|
5299
|
-
"
|
|
5300
|
-
"
|
|
5301
|
-
"dropdownPanel": "B_Gxsq_dropdownPanel",
|
|
5302
|
-
"dropdownBtn": "B_Gxsq_dropdownBtn",
|
|
5303
|
-
"dropdownFill": "B_Gxsq_dropdownFill",
|
|
5304
|
-
"dropdownArrow": "B_Gxsq_dropdownArrow",
|
|
5305
|
-
"dropdownItemActive": "B_Gxsq_dropdownItemActive",
|
|
5447
|
+
"dropdown": "B_Gxsq_dropdown",
|
|
5448
|
+
"dropdownLabel": "B_Gxsq_dropdownLabel",
|
|
5306
5449
|
"dropdownItemLabel": "B_Gxsq_dropdownItemLabel",
|
|
5307
5450
|
"dropdownCount": "B_Gxsq_dropdownCount",
|
|
5451
|
+
"dropdownItem": "B_Gxsq_dropdownItem",
|
|
5308
5452
|
"dropdownCountActive": "B_Gxsq_dropdownCountActive",
|
|
5309
|
-
"
|
|
5310
|
-
"
|
|
5453
|
+
"dropdownFill": "B_Gxsq_dropdownFill",
|
|
5454
|
+
"dropdownItemActive": "B_Gxsq_dropdownItemActive",
|
|
5455
|
+
"dropdownPanel": "B_Gxsq_dropdownPanel",
|
|
5456
|
+
"dropdownArrow": "B_Gxsq_dropdownArrow",
|
|
5457
|
+
"dropdownBtn": "B_Gxsq_dropdownBtn",
|
|
5458
|
+
"dropdownArrowOpen": "B_Gxsq_dropdownArrowOpen"
|
|
5311
5459
|
};
|
|
5312
5460
|
//#endregion
|
|
5313
5461
|
//#region \0dsh-css:src/client/styles/Toggle.module.css.mjs
|
|
@@ -5425,29 +5573,29 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5425
5573
|
css: css$2
|
|
5426
5574
|
});
|
|
5427
5575
|
var DiagnosticsView_module_css_default = {
|
|
5428
|
-
"
|
|
5576
|
+
"badgeRunning": "k9eRya_badgeRunning",
|
|
5577
|
+
"summaryRunning": "k9eRya_summaryRunning",
|
|
5429
5578
|
"badgeFail": "k9eRya_badgeFail",
|
|
5430
|
-
"
|
|
5579
|
+
"diagPulse": "k9eRya_diagPulse",
|
|
5580
|
+
"runBtn": "k9eRya_runBtn",
|
|
5581
|
+
"summaryOk": "k9eRya_summaryOk",
|
|
5431
5582
|
"envCopyBtn": "k9eRya_envCopyBtn",
|
|
5583
|
+
"summary": "k9eRya_summary",
|
|
5584
|
+
"row": "k9eRya_row",
|
|
5585
|
+
"display": "k9eRya_display",
|
|
5586
|
+
"envRow": "k9eRya_envRow",
|
|
5587
|
+
"badgeOk": "k9eRya_badgeOk",
|
|
5588
|
+
"head": "k9eRya_head",
|
|
5589
|
+
"badgeIdle": "k9eRya_badgeIdle",
|
|
5432
5590
|
"envLabel": "k9eRya_envLabel",
|
|
5433
5591
|
"headHint": "k9eRya_headHint",
|
|
5434
|
-
"meta": "k9eRya_meta",
|
|
5435
5592
|
"summaryFail": "k9eRya_summaryFail",
|
|
5436
|
-
"row": "k9eRya_row",
|
|
5437
|
-
"badgeRunning": "k9eRya_badgeRunning",
|
|
5438
|
-
"panel": "k9eRya_panel",
|
|
5439
5593
|
"envTitle": "k9eRya_envTitle",
|
|
5440
|
-
"
|
|
5594
|
+
"panel": "k9eRya_panel",
|
|
5595
|
+
"envDesc": "k9eRya_envDesc",
|
|
5441
5596
|
"name": "k9eRya_name",
|
|
5442
5597
|
"badge": "k9eRya_badge",
|
|
5443
|
-
"
|
|
5444
|
-
"summaryOk": "k9eRya_summaryOk",
|
|
5445
|
-
"summaryRunning": "k9eRya_summaryRunning",
|
|
5446
|
-
"envRow": "k9eRya_envRow",
|
|
5447
|
-
"summary": "k9eRya_summary",
|
|
5448
|
-
"head": "k9eRya_head",
|
|
5449
|
-
"runBtn": "k9eRya_runBtn",
|
|
5450
|
-
"envDesc": "k9eRya_envDesc"
|
|
5598
|
+
"meta": "k9eRya_meta"
|
|
5451
5599
|
};
|
|
5452
5600
|
//#endregion
|
|
5453
5601
|
//#region src/client/components/views/DiagnosticsView.tsx
|
|
@@ -5622,57 +5770,57 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5622
5770
|
css: css$1
|
|
5623
5771
|
});
|
|
5624
5772
|
var LogsView_module_css_default = {
|
|
5625
|
-
"
|
|
5626
|
-
"head": "_3j77BW_head",
|
|
5627
|
-
"badgeDebug": "_3j77BW_badgeDebug",
|
|
5628
|
-
"btn": "_3j77BW_btn",
|
|
5629
|
-
"pathDialogFoot": "_3j77BW_pathDialogFoot",
|
|
5630
|
-
"pathDialogRow": "_3j77BW_pathDialogRow",
|
|
5631
|
-
"catUninstall": "_3j77BW_catUninstall",
|
|
5773
|
+
"pathText": "_3j77BW_pathText",
|
|
5632
5774
|
"footPath": "_3j77BW_footPath",
|
|
5633
|
-
"
|
|
5634
|
-
"
|
|
5635
|
-
"
|
|
5636
|
-
"catSystem": "_3j77BW_catSystem",
|
|
5637
|
-
"footFail": "_3j77BW_footFail",
|
|
5638
|
-
"pathRow": "_3j77BW_pathRow",
|
|
5639
|
-
"linkBtn": "_3j77BW_linkBtn",
|
|
5640
|
-
"searchInput": "_3j77BW_searchInput",
|
|
5775
|
+
"clearBtn": "_3j77BW_clearBtn",
|
|
5776
|
+
"pathDialogFoot": "_3j77BW_pathDialogFoot",
|
|
5777
|
+
"moreEnd": "_3j77BW_moreEnd",
|
|
5641
5778
|
"footCount": "_3j77BW_footCount",
|
|
5642
|
-
"
|
|
5779
|
+
"pathLabel": "_3j77BW_pathLabel",
|
|
5780
|
+
"filterChipActive": "_3j77BW_filterChipActive",
|
|
5781
|
+
"btn": "_3j77BW_btn",
|
|
5782
|
+
"catBadge": "_3j77BW_catBadge",
|
|
5643
5783
|
"entry": "_3j77BW_entry",
|
|
5784
|
+
"badgeDebug": "_3j77BW_badgeDebug",
|
|
5644
5785
|
"pathDialog": "_3j77BW_pathDialog",
|
|
5645
|
-
"
|
|
5646
|
-
"
|
|
5647
|
-
"
|
|
5648
|
-
"filterChipActive": "_3j77BW_filterChipActive",
|
|
5649
|
-
"moreEnd": "_3j77BW_moreEnd",
|
|
5650
|
-
"time": "_3j77BW_time",
|
|
5651
|
-
"clearBtn": "_3j77BW_clearBtn",
|
|
5652
|
-
"foot": "_3j77BW_foot",
|
|
5786
|
+
"pathDialogReset": "_3j77BW_pathDialogReset",
|
|
5787
|
+
"previewRow": "_3j77BW_previewRow",
|
|
5788
|
+
"catSystem": "_3j77BW_catSystem",
|
|
5653
5789
|
"badge": "_3j77BW_badge",
|
|
5654
|
-
"
|
|
5655
|
-
"
|
|
5790
|
+
"pathDialogRow": "_3j77BW_pathDialogRow",
|
|
5791
|
+
"pathDialogHint": "_3j77BW_pathDialogHint",
|
|
5792
|
+
"linkBtn": "_3j77BW_linkBtn",
|
|
5793
|
+
"more": "_3j77BW_more",
|
|
5794
|
+
"pathDraft": "_3j77BW_pathDraft",
|
|
5795
|
+
"footActions": "_3j77BW_footActions",
|
|
5796
|
+
"catUninstall": "_3j77BW_catUninstall",
|
|
5656
5797
|
"badgeError": "_3j77BW_badgeError",
|
|
5657
|
-
"badgeWarn": "_3j77BW_badgeWarn",
|
|
5658
|
-
"badgeInfo": "_3j77BW_badgeInfo",
|
|
5659
5798
|
"catUpdate": "_3j77BW_catUpdate",
|
|
5660
|
-
"search": "_3j77BW_search",
|
|
5661
5799
|
"catSettings": "_3j77BW_catSettings",
|
|
5800
|
+
"catDiagnostics": "_3j77BW_catDiagnostics",
|
|
5801
|
+
"message": "_3j77BW_message",
|
|
5802
|
+
"head": "_3j77BW_head",
|
|
5803
|
+
"list": "_3j77BW_list",
|
|
5804
|
+
"searchInput": "_3j77BW_searchInput",
|
|
5805
|
+
"headHint": "_3j77BW_headHint",
|
|
5806
|
+
"badgeInfo": "_3j77BW_badgeInfo",
|
|
5807
|
+
"pathRow": "_3j77BW_pathRow",
|
|
5808
|
+
"foot": "_3j77BW_foot",
|
|
5809
|
+
"badgeSuccess": "_3j77BW_badgeSuccess",
|
|
5810
|
+
"time": "_3j77BW_time",
|
|
5811
|
+
"footFail": "_3j77BW_footFail",
|
|
5812
|
+
"search": "_3j77BW_search",
|
|
5813
|
+
"panel": "_3j77BW_panel",
|
|
5814
|
+
"headActions": "_3j77BW_headActions",
|
|
5815
|
+
"pathDialogDesc": "_3j77BW_pathDialogDesc",
|
|
5662
5816
|
"event": "_3j77BW_event",
|
|
5663
|
-
"
|
|
5664
|
-
"catBadge": "_3j77BW_catBadge",
|
|
5665
|
-
"footActions": "_3j77BW_footActions",
|
|
5817
|
+
"filterChip": "_3j77BW_filterChip",
|
|
5666
5818
|
"empty": "_3j77BW_empty",
|
|
5667
|
-
"more": "_3j77BW_more",
|
|
5668
|
-
"message": "_3j77BW_message",
|
|
5669
|
-
"pathText": "_3j77BW_pathText",
|
|
5670
5819
|
"filterBar": "_3j77BW_filterBar",
|
|
5671
|
-
"
|
|
5672
|
-
"
|
|
5673
|
-
"
|
|
5674
|
-
"catInstall": "_3j77BW_catInstall"
|
|
5675
|
-
"pathDialogHint": "_3j77BW_pathDialogHint"
|
|
5820
|
+
"actions": "_3j77BW_actions",
|
|
5821
|
+
"badgeWarn": "_3j77BW_badgeWarn",
|
|
5822
|
+
"logList": "_3j77BW_logList",
|
|
5823
|
+
"catInstall": "_3j77BW_catInstall"
|
|
5676
5824
|
};
|
|
5677
5825
|
//#endregion
|
|
5678
5826
|
//#region src/client/components/modals/LogsModal.tsx
|
|
@@ -6602,6 +6750,14 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6602
6750
|
}));
|
|
6603
6751
|
},
|
|
6604
6752
|
onError: (message, repo, kind, command, attempts, update) => {
|
|
6753
|
+
setInstallDone(false);
|
|
6754
|
+
setUninstallDone(false);
|
|
6755
|
+
setConfirmPlugin(null);
|
|
6756
|
+
setConfirmCustomTarget(null);
|
|
6757
|
+
setConfirmCustomChannel(null);
|
|
6758
|
+
setConfirmGlobalNpm(null);
|
|
6759
|
+
setUninstallPlugin(null);
|
|
6760
|
+
setUninstallItem(null);
|
|
6605
6761
|
const issueRepo = issueRepoOf(repo ?? "", catalog.installedItems, catalog.plugins);
|
|
6606
6762
|
setErrorMsg({
|
|
6607
6763
|
message,
|
|
@@ -6922,7 +7078,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6922
7078
|
openSection: settingsSection,
|
|
6923
7079
|
onConsumedOpenSection: () => setSettingsSection(null)
|
|
6924
7080
|
}), showHubUpdate && (0, react.createElement)(HubUpdateModal, {
|
|
6925
|
-
info: catalog.hubUpdateInfo ?? { version: "2.0.
|
|
7081
|
+
info: catalog.hubUpdateInfo ?? { version: "2.0.1" },
|
|
6926
7082
|
state: catalog.hubUpdateState,
|
|
6927
7083
|
currentVersion: catalog.hubCurrentVersion,
|
|
6928
7084
|
lang,
|