dsh-plugin 1.6.8 → 1.6.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/client/client.js +359 -326
- package/client/client.js.map +1 -1
- package/lib/http/diagnostics.js +22 -4
- package/lib/services/install/task-queue.js +14 -0
- package/package.json +1 -1
- package/src/client/components/PluginHubSection.tsx +2 -2
- package/src/client/components/catalog/PluginCard.tsx +3 -3
- package/src/client/components/modals/NotificationsModal.tsx +24 -0
- package/src/client/components/modals/modals.tsx +27 -2
- package/src/client/locales.ts +31 -7
- package/src/client/logic/failures.ts +9 -1
- package/src/client/logic/normalize.ts +3 -1
- package/src/client/logic/urls.ts +30 -3
- package/src/client/styles/Modal.module.css +16 -0
- package/src/client/types.ts +2 -1
- package/src/server/http/diagnostics.ts +22 -4
- package/src/server/services/install/task-queue.ts +13 -0
package/client/client.js
CHANGED
|
@@ -35,7 +35,8 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
35
35
|
failedDescProxy: "你的网络似乎不通,或设置里的 HTTP 代理地址不可达,无法获取插件目录数据。请检查代理设置与网络连接后重试;或点击右上角按钮在浏览器中打开插件市场。",
|
|
36
36
|
retry: "重试",
|
|
37
37
|
install: "安装",
|
|
38
|
-
cliOnlyHint: "
|
|
38
|
+
cliOnlyHint: "此插件的安装需要在 dsh 终端里完成(网页端无法代跑它所需的构建或装配步骤),请复制上方命令到终端执行",
|
|
39
|
+
manualInstallOnlyHint: "此插件需要你在 dsh 终端手动安装:网页端的一键安装替代不了终端里的构建与装配步骤。请复制上方命令到终端执行(Windows 用 Git Bash 或 PowerShell,macOS/Linux 用终端),完整步骤见作者仓库的安装说明。",
|
|
39
40
|
failedCopyHint: "安装失败。请复制上方安装命令到 dsh 终端手动执行(原生依赖构建脚本可能需要人工放行,如 pnpm approve-builds)",
|
|
40
41
|
toastCopied: "安装命令已复制,去 dsh 终端粘贴即可安装",
|
|
41
42
|
installed: "已安装",
|
|
@@ -293,9 +294,13 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
293
294
|
failHubIssueBig: "反馈给插件中心排查",
|
|
294
295
|
failUnclassifiedHint: "安装失败,原因未能自动识别。这通常不是插件自身的问题(可能与本机环境或插件中心有关),请将错误信息反馈给插件中心,由维护者排查。",
|
|
295
296
|
failHubStateHint: "插件列表状态已过期或与本地不一致:该插件可能已经装过了(无需重复安装,要升级请点「更新」),也可能已不在已安装列表中,或已在队列中。这不是插件本身的问题 —— 请刷新页面后重试。",
|
|
297
|
+
failTimeoutHint: "安装耗时超过本地上限、已被中断 —— 但很可能其实已经装上了(安装器在超时后会先核对本地已安装列表)。请刷新页面确认该插件是否已装上;若确实没装上,可在终端手动执行一次安装命令查看完整输出。这不是插件本身的问题。",
|
|
298
|
+
failProfileLockHint: "DSH 在写入插件清单时等不到文件锁、超时中止 —— 通常是同时有另一个 DSH 进程或安装任务在写同一个 profile(也可能是上一次的进程没退干净留下的锁)。请先关掉其他 dsh 窗口或正在跑的命令,再重试一次;若反复出现,重启一次 DSH。这不是插件本身的问题,也不需要重复安装。",
|
|
296
299
|
failPrepareHint: "该插件安装时的构建脚本执行失败(git 分发常缺失子模块或构建产物),属插件打包分发问题。请向作者仓库提交 Issue 反馈。",
|
|
300
|
+
failMisjudgeHint: "如果这个插件其实能正常安装(上面这个判定是插件中心误报的),请反馈给插件中心:文字提示里的判据由市场自身产出,误报只有靠你的反馈才能被发现。",
|
|
301
|
+
failMisjudgeLink: "插件能装却被拦下?反馈给插件中心",
|
|
297
302
|
failPackagingHint: "该插件不支持官方默认安装方式:其 git 分发缺少它需要的文件(`main` / `exports` 声明的入口、补丁按本包名 mount 的入口,或 `dsh.bundle.patch` 声明的补丁),说明作者未适配官方安装流程。请到作者仓库提交 Issue 反馈,请其提交构建产物、改用预构建 release `.tgz` 直链(`releases/download/<tag>/<asset>.tgz`),或发布完整的 npm 版。",
|
|
298
|
-
failIgnoredBuild: "
|
|
303
|
+
failIgnoredBuild: "该插件(或其依赖)需要在安装时执行构建脚本,被 pnpm 的安全白名单(allowBuilds)默认拦截,安装因此失败(如原生模块 node-pty,或 git 安装时插件自己的 prepare 脚本)。安装器已自动放行该 key 并重试过一次;仍失败通常说明构建本身没通过。可先在终端手动执行一次安装命令查看完整构建错误;若确属插件的构建/分发问题,建议作者预置构建产物、发布 npm 包或预构建 .tgz。需要协助排查时也可反馈给插件中心。",
|
|
299
304
|
failNpmTooLow: "怀疑本机 npm 版本过低:npm 解析插件依赖时内部崩溃(这是 npm 自身的已知缺陷,不是插件问题)。请升级 npm 后重试:npm install -g npm@latest",
|
|
300
305
|
failNpmTooLowV: "本机 npm 版本过低(当前 v{v}):npm 解析插件依赖时内部崩溃(这是 npm 自身的已知缺陷,不是插件问题)。请升级 npm 后重试:npm install -g npm@latest",
|
|
301
306
|
failNetworkHint: "安装前检测到网络不通:无法连接到安装源(可能是断网、DNS 解析失败、被防火墙拦截,或代理配置有问题)。这不是插件本身的问题 —— 请检查网络连接,或到「设置」里确认 HTTP 代理配置,再到「系统诊断」运行一次连通性检测,然后重试。",
|
|
@@ -383,7 +388,8 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
383
388
|
failedDescProxy: "Your network seems unreachable, or the HTTP proxy in Settings is unreachable, so the plugin catalog could not be loaded. Please check the proxy address and your connection, then retry; or open the hub in your browser with the button above.",
|
|
384
389
|
retry: "Retry",
|
|
385
390
|
install: "Install",
|
|
386
|
-
cliOnlyHint: "This plugin
|
|
391
|
+
cliOnlyHint: "This plugin has to be installed in your dsh terminal (the web UI cannot run the build or assembly steps it needs) — copy the command above and run it there",
|
|
392
|
+
manualInstallOnlyHint: "This plugin has to be installed by hand in your dsh terminal — one-click install from the web UI cannot run the build and assembly steps it needs. Copy the command above and run it there (Git Bash or PowerShell on Windows, Terminal on macOS/Linux); the author's repo has the full steps.",
|
|
387
393
|
failedCopyHint: "Install failed. Copy the command above and run it manually in your dsh terminal (native build scripts may need manual approval, e.g. pnpm approve-builds)",
|
|
388
394
|
toastCopied: "Install command copied — paste it in your dsh terminal",
|
|
389
395
|
installed: "Installed",
|
|
@@ -644,9 +650,13 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
644
650
|
failHubIssueBig: "Report to the Plugin Hub for triage",
|
|
645
651
|
failUnclassifiedHint: "The install failed and the cause could not be identified automatically. This is usually not the plugin itself (it may relate to your local environment or the Plugin Hub). Please report the error to the Plugin Hub so the maintainers can triage it.",
|
|
646
652
|
failHubStateHint: "The plugin list is out of date or out of sync: this plugin may already be installed (no need to reinstall — use \"Update\" to upgrade), or may no longer be in the installed list, or may already be queued. This is not a plugin problem — refresh the page and retry.",
|
|
653
|
+
failTimeoutHint: "The install exceeded the local time limit and was interrupted — but it may well have completed already (the installer re-checks your installed list after a timeout). Refresh the page to see whether the plugin is installed; if it is not, run the install command in a terminal to see the full output. This is not a plugin problem.",
|
|
654
|
+
failProfileLockHint: "DSH timed out waiting for the file lock while writing the plugin list — usually because another DSH process or install task is writing the same profile (sometimes a previous run left the lock behind). Close other dsh windows or running commands, then retry; if it keeps happening, restart DSH once. This is not a plugin problem, and the plugin does not need to be reinstalled.",
|
|
647
655
|
failPrepareHint: "This plugin failed while running its build scripts during install (git tarballs often miss submodules or build output). This is a packaging issue of the plugin itself — please report it to the author repository.",
|
|
656
|
+
failMisjudgeHint: "If this plugin actually installs fine (the verdict above is the Plugin Hub misjudging it), please report it to the Hub: that verdict is produced by the marketplace itself, so a false positive can only be found through your feedback.",
|
|
657
|
+
failMisjudgeLink: "Plugin installs fine but got blocked? Report to the Plugin Hub",
|
|
648
658
|
failPackagingHint: "This plugin does not support the official default install method: its git distribution lacks a file the package needs (the entry from `main` / `exports`, an entry its own patch mounts by name, or the patch declared by `dsh.bundle.patch`), so it has not been adapted to the official install flow. Please file an Issue on the author's repo asking for committed build output, a prebuilt release `.tgz` (`releases/download/<tag>/<asset>.tgz`), or a complete npm release.",
|
|
649
|
-
failIgnoredBuild: "This plugin (or its dependencies) needs to run build scripts, which pnpm blocks by default via its allowBuilds allowlist
|
|
659
|
+
failIgnoredBuild: "This plugin (or one of its dependencies) needs to run build scripts at install time, which pnpm blocks by default via its allowBuilds allowlist — so the install fails (e.g. native modules like node-pty, or the plugin's own prepare script on git installs). The installer already auto-allows that key and retries once; if it still fails, the build itself is usually the problem. Run the install command in a terminal to see the full build error; if it is indeed the plugin's build or distribution, the author can ship prebuilt output, an npm release, or a prebuilt .tgz. You can also report it to the Plugin Hub for triage.",
|
|
650
660
|
failNpmTooLow: "Your local npm may be too old: npm crashed internally while resolving the plugin's dependencies (a known npm bug — not a plugin issue). Please upgrade npm and retry: npm install -g npm@latest",
|
|
651
661
|
failNpmTooLowV: "Your local npm is too old (v{v}): npm crashed internally while resolving the plugin's dependencies (a known npm bug — not a plugin issue). Please upgrade npm and retry: npm install -g npm@latest",
|
|
652
662
|
failNetworkHint: "The network could not be reached before install: the install source is unreachable (offline, DNS failure, firewall block, or a misconfigured proxy). This is not a problem with the plugin itself — please check your connection, confirm the HTTP proxy in Settings, run a connectivity check under System Diagnostics, then retry.",
|
|
@@ -728,46 +738,46 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
728
738
|
css: css$11
|
|
729
739
|
});
|
|
730
740
|
var Header_module_css_default = {
|
|
731
|
-
"
|
|
732
|
-
"
|
|
733
|
-
"
|
|
741
|
+
"brandTitle": "qikqja_brandTitle",
|
|
742
|
+
"sortGroup": "qikqja_sortGroup",
|
|
743
|
+
"tabActive": "qikqja_tabActive",
|
|
734
744
|
"adBanner": "qikqja_adBanner",
|
|
735
|
-
"segBtn": "qikqja_segBtn",
|
|
736
745
|
"segLabel": "qikqja_segLabel",
|
|
737
|
-
"githubIcon": "qikqja_githubIcon",
|
|
738
|
-
"sortGroup": "qikqja_sortGroup",
|
|
739
|
-
"taglineLink": "qikqja_taglineLink",
|
|
740
|
-
"segGroup": "qikqja_segGroup",
|
|
741
|
-
"title": "qikqja_title",
|
|
742
|
-
"headerTitleRow": "qikqja_headerTitleRow",
|
|
743
|
-
"header": "qikqja_header",
|
|
744
|
-
"tabsRow": "qikqja_tabsRow",
|
|
745
|
-
"githubLink": "qikqja_githubLink",
|
|
746
|
-
"segBtnActive": "qikqja_segBtnActive",
|
|
747
|
-
"resultSeg": "qikqja_resultSeg",
|
|
748
746
|
"version": "qikqja_version",
|
|
749
747
|
"logoIcon": "qikqja_logoIcon",
|
|
750
|
-
"
|
|
751
|
-
"
|
|
752
|
-
"controls": "qikqja_controls",
|
|
748
|
+
"tabCount": "qikqja_tabCount",
|
|
749
|
+
"taglineLink": "qikqja_taglineLink",
|
|
753
750
|
"langBtn": "qikqja_langBtn",
|
|
754
|
-
"
|
|
751
|
+
"githubLink": "qikqja_githubLink",
|
|
752
|
+
"header": "qikqja_header",
|
|
753
|
+
"title": "qikqja_title",
|
|
754
|
+
"hubUpdateBadge": "qikqja_hubUpdateBadge",
|
|
755
|
+
"segBtnActive": "qikqja_segBtnActive",
|
|
755
756
|
"tabs": "qikqja_tabs",
|
|
756
757
|
"tab": "qikqja_tab",
|
|
757
|
-
"
|
|
758
|
+
"adArrow": "qikqja_adArrow",
|
|
759
|
+
"tabsRow": "qikqja_tabsRow",
|
|
760
|
+
"versionBtn": "qikqja_versionBtn",
|
|
758
761
|
"tagline": "qikqja_tagline",
|
|
759
|
-
"
|
|
760
|
-
"
|
|
761
|
-
"tabActive": "qikqja_tabActive",
|
|
762
|
-
"root": "qikqja_root",
|
|
763
|
-
"resultCount": "qikqja_resultCount",
|
|
762
|
+
"githubIcon": "qikqja_githubIcon",
|
|
763
|
+
"aboutBtn": "qikqja_aboutBtn",
|
|
764
764
|
"searchRow": "qikqja_searchRow",
|
|
765
|
+
"segBtn": "qikqja_segBtn",
|
|
765
766
|
"copyIcon": "qikqja_copyIcon",
|
|
766
|
-
"
|
|
767
|
+
"adBadge": "qikqja_adBadge",
|
|
768
|
+
"root": "qikqja_root",
|
|
769
|
+
"resultCount": "qikqja_resultCount",
|
|
770
|
+
"search": "qikqja_search",
|
|
771
|
+
"headerRight": "qikqja_headerRight",
|
|
772
|
+
"headerTitleRow": "qikqja_headerTitleRow",
|
|
773
|
+
"controls": "qikqja_controls",
|
|
774
|
+
"resultSeg": "qikqja_resultSeg",
|
|
775
|
+
"adText": "qikqja_adText",
|
|
776
|
+
"segGroup": "qikqja_segGroup"
|
|
767
777
|
};
|
|
768
778
|
//#endregion
|
|
769
779
|
//#region \0dsh-css:src/client/styles/Modal.module.css.mjs
|
|
770
|
-
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_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}";
|
|
780
|
+
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}";
|
|
771
781
|
const tagId$10 = "dsh-plugin/Modal.module.css";
|
|
772
782
|
if (typeof document !== "undefined" && document.querySelector("style[data-plugin-css=" + JSON.stringify(tagId$10) + "]") === null) {
|
|
773
783
|
const tag = document.createElement("style");
|
|
@@ -782,136 +792,137 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
782
792
|
css: css$10
|
|
783
793
|
});
|
|
784
794
|
var Modal_module_css_default = {
|
|
785
|
-
"
|
|
786
|
-
"
|
|
787
|
-
"
|
|
788
|
-
"
|
|
789
|
-
"
|
|
790
|
-
"
|
|
791
|
-
"detailStatusRunning": "BiQ1zG_detailStatusRunning",
|
|
792
|
-
"modalTitleBusy": "BiQ1zG_modalTitleBusy",
|
|
793
|
-
"noticeUpdateGo": "BiQ1zG_noticeUpdateGo",
|
|
794
|
-
"detailStars": "BiQ1zG_detailStars",
|
|
795
|
-
"detailStatusPending": "BiQ1zG_detailStatusPending",
|
|
796
|
-
"failRepo": "BiQ1zG_failRepo",
|
|
797
|
-
"failedCopyHint": "BiQ1zG_failedCopyHint",
|
|
798
|
-
"noticeTextFail": "BiQ1zG_noticeTextFail",
|
|
799
|
-
"noticeVersion": "BiQ1zG_noticeVersion",
|
|
800
|
-
"modalHead": "BiQ1zG_modalHead",
|
|
801
|
-
"modalCancel": "BiQ1zG_modalCancel",
|
|
802
|
-
"errorTitle": "BiQ1zG_errorTitle",
|
|
795
|
+
"noticeFoot": "BiQ1zG_noticeFoot",
|
|
796
|
+
"hubUpdateModal": "BiQ1zG_hubUpdateModal",
|
|
797
|
+
"uninstallConfirm": "BiQ1zG_uninstallConfirm",
|
|
798
|
+
"progressHead": "BiQ1zG_progressHead",
|
|
799
|
+
"overlayIn": "BiQ1zG_overlayIn",
|
|
800
|
+
"failHead": "BiQ1zG_failHead",
|
|
803
801
|
"hubUpdateMeta": "BiQ1zG_hubUpdateMeta",
|
|
804
|
-
"queueRowHead": "BiQ1zG_queueRowHead",
|
|
805
|
-
"pendingRowActions": "BiQ1zG_pendingRowActions",
|
|
806
802
|
"hubUpdateMetaItem": "BiQ1zG_hubUpdateMetaItem",
|
|
807
|
-
"
|
|
808
|
-
"
|
|
809
|
-
"
|
|
810
|
-
"queueRowTarget": "BiQ1zG_queueRowTarget",
|
|
811
|
-
"noticeRow": "BiQ1zG_noticeRow",
|
|
812
|
-
"modalCmd": "BiQ1zG_modalCmd",
|
|
813
|
-
"noticeBadgeFail": "BiQ1zG_noticeBadgeFail",
|
|
814
|
-
"failNetworkTarget": "BiQ1zG_failNetworkTarget",
|
|
803
|
+
"queueRowTrack": "BiQ1zG_queueRowTrack",
|
|
804
|
+
"failList": "BiQ1zG_failList",
|
|
805
|
+
"modalWide": "BiQ1zG_modalWide",
|
|
815
806
|
"modalClose": "BiQ1zG_modalClose",
|
|
816
|
-
"
|
|
817
|
-
"
|
|
818
|
-
"
|
|
807
|
+
"confirmIcon": "BiQ1zG_confirmIcon",
|
|
808
|
+
"modalCloseIcon": "BiQ1zG_modalCloseIcon",
|
|
809
|
+
"queueRowTarget": "BiQ1zG_queueRowTarget",
|
|
810
|
+
"linkIcon": "BiQ1zG_linkIcon",
|
|
811
|
+
"modalTitleQueued": "BiQ1zG_modalTitleQueued",
|
|
812
|
+
"dangerConfirm": "BiQ1zG_dangerConfirm",
|
|
813
|
+
"toastIn": "BiQ1zG_toastIn",
|
|
814
|
+
"toast": "BiQ1zG_toast",
|
|
815
|
+
"queueRow": "BiQ1zG_queueRow",
|
|
816
|
+
"modalCancel": "BiQ1zG_modalCancel",
|
|
817
|
+
"noticeBadgeIcon": "BiQ1zG_noticeBadgeIcon",
|
|
818
|
+
"noticeRowUpdate": "BiQ1zG_noticeRowUpdate",
|
|
819
|
+
"failClear": "BiQ1zG_failClear",
|
|
820
|
+
"noticeTextFail": "BiQ1zG_noticeTextFail",
|
|
821
|
+
"noticeBadgeOk": "BiQ1zG_noticeBadgeOk",
|
|
822
|
+
"errorCopySoft": "BiQ1zG_errorCopySoft",
|
|
819
823
|
"detailRow": "BiQ1zG_detailRow",
|
|
820
|
-
"
|
|
821
|
-
"
|
|
822
|
-
"
|
|
823
|
-
"progressFill": "BiQ1zG_progressFill",
|
|
824
|
-
"detailGrid": "BiQ1zG_detailGrid",
|
|
825
|
-
"queueSectionTitle": "BiQ1zG_queueSectionTitle",
|
|
826
|
-
"progressFillFail": "BiQ1zG_progressFillFail",
|
|
827
|
-
"resultRestarting": "BiQ1zG_resultRestarting",
|
|
828
|
-
"noticeHead": "BiQ1zG_noticeHead",
|
|
829
|
-
"logModal": "BiQ1zG_logModal",
|
|
824
|
+
"aboutMeta": "BiQ1zG_aboutMeta",
|
|
825
|
+
"errorBox": "BiQ1zG_errorBox",
|
|
826
|
+
"noticeUpdateGo": "BiQ1zG_noticeUpdateGo",
|
|
830
827
|
"detailArrow": "BiQ1zG_detailArrow",
|
|
831
|
-
"
|
|
832
|
-
"
|
|
828
|
+
"cliOnlyHint": "BiQ1zG_cliOnlyHint",
|
|
829
|
+
"noticeRowMain": "BiQ1zG_noticeRowMain",
|
|
830
|
+
"failDiagBtn": "BiQ1zG_failDiagBtn",
|
|
831
|
+
"noticeTextOk": "BiQ1zG_noticeTextOk",
|
|
833
832
|
"detailPathBtn": "BiQ1zG_detailPathBtn",
|
|
833
|
+
"failBigIssue": "BiQ1zG_failBigIssue",
|
|
834
|
+
"toastFail": "BiQ1zG_toastFail",
|
|
835
|
+
"queueRowStatus": "BiQ1zG_queueRowStatus",
|
|
836
|
+
"modalIn": "BiQ1zG_modalIn",
|
|
837
|
+
"failPrepareHint": "BiQ1zG_failPrepareHint",
|
|
834
838
|
"detailModal": "BiQ1zG_detailModal",
|
|
835
|
-
"
|
|
839
|
+
"confirmPrimary": "BiQ1zG_confirmPrimary",
|
|
840
|
+
"queueRowPct": "BiQ1zG_queueRowPct",
|
|
841
|
+
"progressFillFail": "BiQ1zG_progressFillFail",
|
|
842
|
+
"detailUpdateHint": "BiQ1zG_detailUpdateHint",
|
|
843
|
+
"detailStatusPending": "BiQ1zG_detailStatusPending",
|
|
844
|
+
"noticeMain": "BiQ1zG_noticeMain",
|
|
845
|
+
"noticeVersion": "BiQ1zG_noticeVersion",
|
|
846
|
+
"queueSection": "BiQ1zG_queueSection",
|
|
847
|
+
"hubUpdateNotes": "BiQ1zG_hubUpdateNotes",
|
|
848
|
+
"detailDim": "BiQ1zG_detailDim",
|
|
849
|
+
"detailStars": "BiQ1zG_detailStars",
|
|
850
|
+
"logModal": "BiQ1zG_logModal",
|
|
836
851
|
"resultDesc": "BiQ1zG_resultDesc",
|
|
837
|
-
"
|
|
852
|
+
"failRow": "BiQ1zG_failRow",
|
|
853
|
+
"confirmIconDanger": "BiQ1zG_confirmIconDanger",
|
|
854
|
+
"failNetworkTarget": "BiQ1zG_failNetworkTarget",
|
|
838
855
|
"modalInstall": "BiQ1zG_modalInstall",
|
|
839
|
-
"
|
|
840
|
-
"
|
|
856
|
+
"resultCheck": "BiQ1zG_resultCheck",
|
|
857
|
+
"modalLabel": "BiQ1zG_modalLabel",
|
|
858
|
+
"noticeRemove": "BiQ1zG_noticeRemove",
|
|
859
|
+
"aboutContent": "BiQ1zG_aboutContent",
|
|
860
|
+
"resultCheckIcon": "BiQ1zG_resultCheckIcon",
|
|
861
|
+
"modalTitleBusy": "BiQ1zG_modalTitleBusy",
|
|
862
|
+
"aboutModal": "BiQ1zG_aboutModal",
|
|
841
863
|
"confirmIconWrap": "BiQ1zG_confirmIconWrap",
|
|
842
|
-
"noticeTextOk": "BiQ1zG_noticeTextOk",
|
|
843
|
-
"noticeFoot": "BiQ1zG_noticeFoot",
|
|
844
|
-
"failDiagBtn": "BiQ1zG_failDiagBtn",
|
|
845
|
-
"queueRowStatus": "BiQ1zG_queueRowStatus",
|
|
846
|
-
"failHead": "BiQ1zG_failHead",
|
|
847
|
-
"aboutMeta": "BiQ1zG_aboutMeta",
|
|
848
|
-
"detailValue": "BiQ1zG_detailValue",
|
|
849
864
|
"modalCmdText": "BiQ1zG_modalCmdText",
|
|
850
|
-
"noticeIgnore": "BiQ1zG_noticeIgnore",
|
|
851
|
-
"modalRow": "BiQ1zG_modalRow",
|
|
852
|
-
"failClear": "BiQ1zG_failClear",
|
|
853
|
-
"confirmPrimary": "BiQ1zG_confirmPrimary",
|
|
854
|
-
"modalIn": "BiQ1zG_modalIn",
|
|
855
|
-
"modal": "BiQ1zG_modal",
|
|
856
|
-
"errorModal": "BiQ1zG_errorModal",
|
|
857
|
-
"progressTrack": "BiQ1zG_progressTrack",
|
|
858
|
-
"modalValue": "BiQ1zG_modalValue",
|
|
859
|
-
"linkIcon": "BiQ1zG_linkIcon",
|
|
860
|
-
"failEmpty": "BiQ1zG_failEmpty",
|
|
861
|
-
"failBigIssue": "BiQ1zG_failBigIssue",
|
|
862
|
-
"failPrepareHint": "BiQ1zG_failPrepareHint",
|
|
863
|
-
"detailLabel": "BiQ1zG_detailLabel",
|
|
864
|
-
"errorHint": "BiQ1zG_errorHint",
|
|
865
|
-
"dangerConfirm": "BiQ1zG_dangerConfirm",
|
|
866
|
-
"cliOnlyHint": "BiQ1zG_cliOnlyHint",
|
|
867
|
-
"confirmIcon": "BiQ1zG_confirmIcon",
|
|
868
865
|
"pendingRowStatus": "BiQ1zG_pendingRowStatus",
|
|
869
|
-
"errorBox": "BiQ1zG_errorBox",
|
|
870
|
-
"restartNowWarning": "BiQ1zG_restartNowWarning",
|
|
871
|
-
"failRow": "BiQ1zG_failRow",
|
|
872
|
-
"noticeList": "BiQ1zG_noticeList",
|
|
873
|
-
"detailStatusText": "BiQ1zG_detailStatusText",
|
|
874
|
-
"modalBody": "BiQ1zG_modalBody",
|
|
875
|
-
"queueRow": "BiQ1zG_queueRow",
|
|
876
|
-
"resultCheckIcon": "BiQ1zG_resultCheckIcon",
|
|
877
|
-
"queueRowBody": "BiQ1zG_queueRowBody",
|
|
878
|
-
"queueRowTrack": "BiQ1zG_queueRowTrack",
|
|
879
|
-
"resultTitle": "BiQ1zG_resultTitle",
|
|
880
|
-
"modalTitle": "BiQ1zG_modalTitle",
|
|
881
|
-
"noticeMain": "BiQ1zG_noticeMain",
|
|
882
|
-
"hubUpdateNotes": "BiQ1zG_hubUpdateNotes",
|
|
883
|
-
"detailMono": "BiQ1zG_detailMono",
|
|
884
|
-
"modalCopy": "BiQ1zG_modalCopy",
|
|
885
|
-
"result": "BiQ1zG_result",
|
|
886
|
-
"restartNow": "BiQ1zG_restartNow",
|
|
887
866
|
"helpModal": "BiQ1zG_helpModal",
|
|
888
|
-
"modalWide": "BiQ1zG_modalWide",
|
|
889
|
-
"noticeBadgeIcon": "BiQ1zG_noticeBadgeIcon",
|
|
890
867
|
"progressText": "BiQ1zG_progressText",
|
|
891
|
-
"
|
|
868
|
+
"queueSectionTitle": "BiQ1zG_queueSectionTitle",
|
|
869
|
+
"modalCmd": "BiQ1zG_modalCmd",
|
|
892
870
|
"failKindInstall": "BiQ1zG_failKindInstall",
|
|
893
|
-
"
|
|
894
|
-
"
|
|
871
|
+
"noticeRow": "BiQ1zG_noticeRow",
|
|
872
|
+
"noticeBadgeFail": "BiQ1zG_noticeBadgeFail",
|
|
873
|
+
"detailMono": "BiQ1zG_detailMono",
|
|
874
|
+
"restartNow": "BiQ1zG_restartNow",
|
|
875
|
+
"result": "BiQ1zG_result",
|
|
876
|
+
"modalBody": "BiQ1zG_modalBody",
|
|
877
|
+
"trustHint": "BiQ1zG_trustHint",
|
|
878
|
+
"detailValue": "BiQ1zG_detailValue",
|
|
879
|
+
"detailLink": "BiQ1zG_detailLink",
|
|
880
|
+
"detailStatusRunning": "BiQ1zG_detailStatusRunning",
|
|
881
|
+
"errorHint": "BiQ1zG_errorHint",
|
|
895
882
|
"modalLink": "BiQ1zG_modalLink",
|
|
896
|
-
"
|
|
897
|
-
"
|
|
883
|
+
"failRepo": "BiQ1zG_failRepo",
|
|
884
|
+
"modalDesc": "BiQ1zG_modalDesc",
|
|
885
|
+
"modalCopy": "BiQ1zG_modalCopy",
|
|
886
|
+
"modalRow": "BiQ1zG_modalRow",
|
|
887
|
+
"queuedHint": "BiQ1zG_queuedHint",
|
|
898
888
|
"detailPathActions": "BiQ1zG_detailPathActions",
|
|
889
|
+
"modalCmdCopy": "BiQ1zG_modalCmdCopy",
|
|
890
|
+
"modal": "BiQ1zG_modal",
|
|
891
|
+
"stripCancel": "BiQ1zG_stripCancel",
|
|
892
|
+
"noticeHead": "BiQ1zG_noticeHead",
|
|
893
|
+
"failCopy": "BiQ1zG_failCopy",
|
|
894
|
+
"resultRestarting": "BiQ1zG_resultRestarting",
|
|
895
|
+
"progressFill": "BiQ1zG_progressFill",
|
|
896
|
+
"overlay": "BiQ1zG_overlay",
|
|
897
|
+
"modalHead": "BiQ1zG_modalHead",
|
|
898
|
+
"detailGrid": "BiQ1zG_detailGrid",
|
|
899
|
+
"pendingRowActions": "BiQ1zG_pendingRowActions",
|
|
900
|
+
"modalValue": "BiQ1zG_modalValue",
|
|
901
|
+
"modalTitle": "BiQ1zG_modalTitle",
|
|
902
|
+
"restartNowWarning": "BiQ1zG_restartNowWarning",
|
|
903
|
+
"queueRowHead": "BiQ1zG_queueRowHead",
|
|
904
|
+
"progress": "BiQ1zG_progress",
|
|
905
|
+
"errorTitle": "BiQ1zG_errorTitle",
|
|
906
|
+
"noticeIgnore": "BiQ1zG_noticeIgnore",
|
|
907
|
+
"failEmpty": "BiQ1zG_failEmpty",
|
|
908
|
+
"failedCopyHint": "BiQ1zG_failedCopyHint",
|
|
909
|
+
"restartLater": "BiQ1zG_restartLater",
|
|
910
|
+
"noticeTime": "BiQ1zG_noticeTime",
|
|
911
|
+
"errorModal": "BiQ1zG_errorModal",
|
|
899
912
|
"detailPath": "BiQ1zG_detailPath",
|
|
900
|
-
"
|
|
901
|
-
"
|
|
902
|
-
"
|
|
903
|
-
"noticeRemove": "BiQ1zG_noticeRemove",
|
|
904
|
-
"trustHint": "BiQ1zG_trustHint",
|
|
905
|
-
"detailDim": "BiQ1zG_detailDim",
|
|
913
|
+
"resultTitle": "BiQ1zG_resultTitle",
|
|
914
|
+
"failKind": "BiQ1zG_failKind",
|
|
915
|
+
"detailPathText": "BiQ1zG_detailPathText",
|
|
906
916
|
"failKindUninstall": "BiQ1zG_failKindUninstall",
|
|
907
|
-
"
|
|
908
|
-
"
|
|
917
|
+
"noticeList": "BiQ1zG_noticeList",
|
|
918
|
+
"queueRowDesc": "BiQ1zG_queueRowDesc",
|
|
919
|
+
"progressTrack": "BiQ1zG_progressTrack",
|
|
909
920
|
"noticeRowOk": "BiQ1zG_noticeRowOk",
|
|
910
|
-
"
|
|
911
|
-
"
|
|
912
|
-
"
|
|
913
|
-
"
|
|
914
|
-
"
|
|
921
|
+
"detailLabel": "BiQ1zG_detailLabel",
|
|
922
|
+
"queueRowBody": "BiQ1zG_queueRowBody",
|
|
923
|
+
"detailStatusText": "BiQ1zG_detailStatusText",
|
|
924
|
+
"failMisjudgeLink": "BiQ1zG_failMisjudgeLink",
|
|
925
|
+
"modalActions": "BiQ1zG_modalActions"
|
|
915
926
|
};
|
|
916
927
|
//#endregion
|
|
917
928
|
//#region src/server/services/install/release-target.ts
|
|
@@ -1025,7 +1036,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
1025
1036
|
* tsdown 构建时用 define 把 __PLUGIN_VERSION__ 替换成 package.json 的版本号;
|
|
1026
1037
|
* node --test 直接 import 本模块时该标识符不存在,typeof 守卫兜底为空串。
|
|
1027
1038
|
*/
|
|
1028
|
-
const PLUGIN_VERSION = "1.6.
|
|
1039
|
+
const PLUGIN_VERSION = "1.6.10";
|
|
1029
1040
|
const CATEGORY_ORDER = [
|
|
1030
1041
|
"interface",
|
|
1031
1042
|
"session",
|
|
@@ -1246,8 +1257,9 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
1246
1257
|
repo: typeof raw.r.repo === "string" ? raw.r.repo : void 0,
|
|
1247
1258
|
npmPackage: typeof raw.r.npmPackage === "string" ? raw.r.npmPackage : void 0
|
|
1248
1259
|
} : void 0,
|
|
1249
|
-
install: raw.wi === false || typeof raw.ic === "string" || typeof raw.igc === "string" ? {
|
|
1260
|
+
install: raw.wi === false || raw.mi === true || typeof raw.ic === "string" || typeof raw.igc === "string" ? {
|
|
1250
1261
|
webInstallable: raw.wi === false ? false : void 0,
|
|
1262
|
+
manualInstall: raw.mi === true ? true : void 0,
|
|
1251
1263
|
command: typeof raw.ic === "string" ? raw.ic : void 0,
|
|
1252
1264
|
githubCommand: typeof raw.igc === "string" ? raw.igc : void 0
|
|
1253
1265
|
} : void 0,
|
|
@@ -1661,7 +1673,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
1661
1673
|
* registry 真实发布时间下发(同源),据此判断最准。门槛命中要单列成 `pending` 而不是
|
|
1662
1674
|
* 落回「无更新」——回落会让弹窗在本机版本落后时谎称「已是最新」。
|
|
1663
1675
|
*/
|
|
1664
|
-
const hubCurrentVersion = "1.6.
|
|
1676
|
+
const hubCurrentVersion = "1.6.10";
|
|
1665
1677
|
const hubUpdateState = (() => {
|
|
1666
1678
|
if (!hubUpdateInfo) return "none";
|
|
1667
1679
|
if (hubUpdateInfo.version === hubCurrentVersion) return "latest";
|
|
@@ -1906,6 +1918,8 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
1906
1918
|
if (/\bERR_PNPM_LINKED_PKG_DIR_NOT_FOUND\b|Could not install from .+ as it does not exist/i.test(message)) return "pnpmLinkedDirMissing";
|
|
1907
1919
|
if (/ERR_PNPM_PREPARE_PACKAGE|ELIFECYCLE|prepare-guard/i.test(message) || /Command failed/.test(message)) return "pluginPrepare";
|
|
1908
1920
|
if (/plugin is not installed|plugin cannot be uninstalled here|already queued:|^already installed: \S+$/im.test(message)) return "hubState";
|
|
1921
|
+
if (/^\[timed out\]$/m.test(message)) return "timeout";
|
|
1922
|
+
if (/atomic-write: timed out waiting for the writer lock|timed out waiting for the writer lock/i.test(message)) return "profileLock";
|
|
1909
1923
|
return "hub";
|
|
1910
1924
|
}
|
|
1911
1925
|
/** 从服务端 `[npm-too-low]` 标记行提取本机 npm 版本(如 `[npm-too-low] npm@11.3.0` → "11.3.0");
|
|
@@ -2057,6 +2071,8 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
2057
2071
|
case "pluginPrepare": return "plugin distribution incomplete";
|
|
2058
2072
|
case "network": return "network failure on the user side";
|
|
2059
2073
|
case "hubState": return "stale install state in the plugin hub";
|
|
2074
|
+
case "timeout": return "install timed out";
|
|
2075
|
+
case "profileLock": return "DSH profile is locked by another process";
|
|
2060
2076
|
case "hub": return "install failed (cause unclassified)";
|
|
2061
2077
|
default: return "plugin install failed";
|
|
2062
2078
|
}
|
|
@@ -2138,16 +2154,11 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
2138
2154
|
}
|
|
2139
2155
|
return url;
|
|
2140
2156
|
}
|
|
2141
|
-
|
|
2142
|
-
* 插件中心自身仓库的预填 Issue 链接:用于「非插件侧」失败(无法识别的未知原因、
|
|
2143
|
-
* 以及 pnpm allowBuilds 拦截这类不再归到插件作者的情形)。正文带上目标插件与完整
|
|
2144
|
-
* 错误摘要,供插件中心维护者分诊 —— 不再把环境问题/插件中心自身问题误投给插件作者。
|
|
2145
|
-
*/
|
|
2146
|
-
function hubIssueUrl(pluginRepo, message, env, command, attempts) {
|
|
2157
|
+
function hubIssueUrl(pluginRepo, message, env, command, attempts, variant = "triage") {
|
|
2147
2158
|
const kind = classifyFailure(message);
|
|
2148
2159
|
const executed = executedCommandOf(command, attempts);
|
|
2149
2160
|
const repo = pluginRepo && pluginRepo.trim() !== "" ? pluginRepo.trim() : "unknown";
|
|
2150
|
-
const title = `[dsh-plugin-hub] ${reasonTitleOf(kind)}: ${repo}`;
|
|
2161
|
+
const title = variant === "misjudge" ? `[dsh-plugin-hub] possible misjudgment: ${repo}` : `[dsh-plugin-hub] ${reasonTitleOf(kind)}: ${repo}`;
|
|
2151
2162
|
const code = coreErrorCode(message);
|
|
2152
2163
|
const build = (coreChars) => {
|
|
2153
2164
|
const body = [
|
|
@@ -2155,7 +2166,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
2155
2166
|
`- Auto-classified cause: ${reasonTitleOf(kind)}`,
|
|
2156
2167
|
`- Target plugin: \`${repo}\``,
|
|
2157
2168
|
...code ? [`- Key error: \`${code}\``] : [],
|
|
2158
|
-
"- Why filed here: the installer only routes a failure to the plugin repo when there is positive evidence the plugin build itself failed (pluginPrepare). This failure does not match that, so it is routed here for triage.",
|
|
2169
|
+
...variant === "misjudge" ? ["- Filed from: the plugin-prepare path (which normally routes to the plugin repo) — filed here because that verdict may be our own misjudgment.", "- Source of that verdict: produced by dsh-plugin-hub's own pre/post-install check, not by pnpm output."] : ["- Why filed here: the installer only routes a failure to the plugin repo when there is positive evidence the plugin build itself failed (pluginPrepare). This failure does not match that, so it is routed here for triage."],
|
|
2159
2170
|
"",
|
|
2160
2171
|
`## [DSH Plugin 插件市场](${SITE_URL}) · 安装 Plugin 失败错误信息`,
|
|
2161
2172
|
`本错误信息由 [dsh-plugin-hub](${GITHUB_URL}) 插件市场的安装程序自动生成,随本次安装失败一并提交。`,
|
|
@@ -3437,7 +3448,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
3437
3448
|
title: t("copyInstallCommand"),
|
|
3438
3449
|
role: "button",
|
|
3439
3450
|
tabIndex: 0
|
|
3440
|
-
}, (0, react.createElement)("span", { className: Modal_module_css_default.modalCmdText }, globalNpm !== void 0 && globalNpm.length > 0 ? `npm install -g ${globalNpm.join(" ")}` : customTarget ? `pnpm add ${customTarget}` : installCommandOf(plugin)), (0, react.createElement)("span", { className: Modal_module_css_default.modalCmdCopy }, (0, react.createElement)(CopyIcon), t("copyCmdLabel"))), globalNpm !== void 0 && globalNpm.length > 0 ? (0, react.createElement)("div", { className: Modal_module_css_default.cliOnlyHint }, t("globalNpmHint")) : null, cliOnly ? (0, react.createElement)("div", { className: Modal_module_css_default.cliOnlyHint }, t("cliOnlyHint")) : null, task && task.status === "pending" ? (0, react.createElement)("div", { className: Modal_module_css_default.queuedHint }, t("queuedHint")) : null, task ? (0, react.createElement)(ProgressView, { task }) : null, task && task.status === "failed" ? (0, react.createElement)("div", { className: Modal_module_css_default.failedCopyHint }, t("failedCopyHint")) : null, (0, react.createElement)("div", { className: Modal_module_css_default.modalActions }, (0, react.createElement)("button", {
|
|
3451
|
+
}, (0, react.createElement)("span", { className: Modal_module_css_default.modalCmdText }, globalNpm !== void 0 && globalNpm.length > 0 ? `npm install -g ${globalNpm.join(" ")}` : customTarget ? `pnpm add ${customTarget}` : installCommandOf(plugin)), (0, react.createElement)("span", { className: Modal_module_css_default.modalCmdCopy }, (0, react.createElement)(CopyIcon), t("copyCmdLabel"))), globalNpm !== void 0 && globalNpm.length > 0 ? (0, react.createElement)("div", { className: Modal_module_css_default.cliOnlyHint }, t("globalNpmHint")) : null, cliOnly ? (0, react.createElement)("div", { className: Modal_module_css_default.cliOnlyHint }, t(plugin?.install?.manualInstall === true ? "manualInstallOnlyHint" : "cliOnlyHint")) : null, task && task.status === "pending" ? (0, react.createElement)("div", { className: Modal_module_css_default.queuedHint }, t("queuedHint")) : null, task ? (0, react.createElement)(ProgressView, { task }) : null, task && task.status === "failed" ? (0, react.createElement)("div", { className: Modal_module_css_default.failedCopyHint }, t("failedCopyHint")) : null, (0, react.createElement)("div", { className: Modal_module_css_default.modalActions }, (0, react.createElement)("button", {
|
|
3441
3452
|
className: Modal_module_css_default.modalCopy,
|
|
3442
3453
|
disabled: busy,
|
|
3443
3454
|
onClick: onCopy
|
|
@@ -3547,13 +3558,23 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
3547
3558
|
className: Modal_module_css_default.failDiagBtn,
|
|
3548
3559
|
onClick: onRunDiagnostics
|
|
3549
3560
|
}, t("failNetworkRunDiag")) : null
|
|
3550
|
-
]) : failureKind === "pluginPrepare" ? (0, react.createElement)("div", null, [
|
|
3551
|
-
className: Modal_module_css_default.
|
|
3552
|
-
|
|
3553
|
-
|
|
3554
|
-
|
|
3555
|
-
|
|
3556
|
-
|
|
3561
|
+
]) : failureKind === "pluginPrepare" ? (0, react.createElement)("div", null, [
|
|
3562
|
+
(0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, /\[packaging\]/i.test(message) ? t("failPackagingHint") : t("failPrepareHint")),
|
|
3563
|
+
repo ? (0, react.createElement)("a", {
|
|
3564
|
+
className: Modal_module_css_default.failBigIssue,
|
|
3565
|
+
href: pluginIssueUrl(repo, message, env, command, attempts),
|
|
3566
|
+
target: "_blank",
|
|
3567
|
+
rel: "noopener noreferrer",
|
|
3568
|
+
title: t("failIssueHint")
|
|
3569
|
+
}, t("failIssueBig")) : null,
|
|
3570
|
+
repo ? (0, react.createElement)("div", null, [(0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failMisjudgeHint")), (0, react.createElement)("a", {
|
|
3571
|
+
className: Modal_module_css_default.failMisjudgeLink,
|
|
3572
|
+
href: hubIssueUrl(repo, message, env, command, attempts, "misjudge"),
|
|
3573
|
+
target: "_blank",
|
|
3574
|
+
rel: "noopener noreferrer",
|
|
3575
|
+
title: t("failHubIssueHint")
|
|
3576
|
+
}, t("failMisjudgeLink"))]) : null
|
|
3577
|
+
]) : failureKind === "hubState" ? (0, react.createElement)("div", null, [(0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failHubStateHint"))]) : failureKind === "timeout" ? (0, react.createElement)("div", null, [(0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failTimeoutHint"))]) : failureKind === "profileLock" ? (0, react.createElement)("div", null, [(0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failProfileLockHint"))]) : (0, react.createElement)("div", null, [failureKind === "pnpmIgnoredBuild" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failIgnoredBuild")) : (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failUnclassifiedHint")), (0, react.createElement)("a", {
|
|
3557
3578
|
className: Modal_module_css_default.failBigIssue,
|
|
3558
3579
|
href: hubIssueUrl(repo, message, env, command, attempts),
|
|
3559
3580
|
target: "_blank",
|
|
@@ -4128,14 +4149,26 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4128
4149
|
onClick: onRunDiagnostics
|
|
4129
4150
|
}, t("failNetworkRunDiag")) : null
|
|
4130
4151
|
]);
|
|
4131
|
-
if (kind === "pluginPrepare") return (0, react.createElement)("div", null, [
|
|
4132
|
-
className: Modal_module_css_default.
|
|
4133
|
-
|
|
4134
|
-
|
|
4135
|
-
|
|
4136
|
-
|
|
4137
|
-
|
|
4152
|
+
if (kind === "pluginPrepare") return (0, react.createElement)("div", null, [
|
|
4153
|
+
(0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, /\[packaging\]/i.test(r.message) ? t("failPackagingHint") : t("failPrepareHint")),
|
|
4154
|
+
r.repo && shownRepo ? (0, react.createElement)("a", {
|
|
4155
|
+
className: Modal_module_css_default.failBigIssue,
|
|
4156
|
+
href: pluginIssueUrl(shownRepo, r.message, env, r.command, r.attempts),
|
|
4157
|
+
target: "_blank",
|
|
4158
|
+
rel: "noopener noreferrer",
|
|
4159
|
+
title: t("failIssueHint")
|
|
4160
|
+
}, t("failIssueBig")) : null,
|
|
4161
|
+
r.repo && shownRepo ? (0, react.createElement)("div", null, [(0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failMisjudgeHint")), (0, react.createElement)("a", {
|
|
4162
|
+
className: Modal_module_css_default.failMisjudgeLink,
|
|
4163
|
+
href: hubIssueUrl(shownRepo, r.message, env, r.command, r.attempts, "misjudge"),
|
|
4164
|
+
target: "_blank",
|
|
4165
|
+
rel: "noopener noreferrer",
|
|
4166
|
+
title: t("failHubIssueHint")
|
|
4167
|
+
}, t("failMisjudgeLink"))]) : null
|
|
4168
|
+
]);
|
|
4138
4169
|
if (kind === "hubState") return (0, react.createElement)("div", null, [(0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failHubStateHint"))]);
|
|
4170
|
+
if (kind === "timeout") return (0, react.createElement)("div", null, [(0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failTimeoutHint"))]);
|
|
4171
|
+
if (kind === "profileLock") return (0, react.createElement)("div", null, [(0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failProfileLockHint"))]);
|
|
4139
4172
|
return (0, react.createElement)("div", null, [kind === "pnpmIgnoredBuild" ? (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failIgnoredBuild")) : (0, react.createElement)("div", { className: Modal_module_css_default.failPrepareHint }, t("failUnclassifiedHint")), (0, react.createElement)("a", {
|
|
4140
4173
|
className: Modal_module_css_default.failBigIssue,
|
|
4141
4174
|
href: hubIssueUrl(shownRepo || r.repo, r.message, env, r.command, r.attempts),
|
|
@@ -4323,40 +4356,40 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4323
4356
|
css: css$9
|
|
4324
4357
|
});
|
|
4325
4358
|
var List_module_css_default = {
|
|
4326
|
-
"
|
|
4327
|
-
"desc": "_3XaZHa_desc",
|
|
4328
|
-
"detailBtn": "_3XaZHa_detailBtn",
|
|
4359
|
+
"state": "_3XaZHa_state",
|
|
4329
4360
|
"actions": "_3XaZHa_actions",
|
|
4330
|
-
"
|
|
4331
|
-
"
|
|
4361
|
+
"stats": "_3XaZHa_stats",
|
|
4362
|
+
"retryBtn": "_3XaZHa_retryBtn",
|
|
4363
|
+
"list": "_3XaZHa_list",
|
|
4364
|
+
"stateActions": "_3XaZHa_stateActions",
|
|
4365
|
+
"moreSentinel": "_3XaZHa_moreSentinel",
|
|
4366
|
+
"diagBtn": "_3XaZHa_diagBtn",
|
|
4367
|
+
"uninstallBtn": "_3XaZHa_uninstallBtn",
|
|
4368
|
+
"installBtnCopied": "_3XaZHa_installBtnCopied",
|
|
4369
|
+
"categoryBadge": "_3XaZHa_categoryBadge",
|
|
4370
|
+
"topics": "_3XaZHa_topics",
|
|
4371
|
+
"installBtnInstalled": "_3XaZHa_installBtnInstalled",
|
|
4372
|
+
"body": "_3XaZHa_body",
|
|
4373
|
+
"desc": "_3XaZHa_desc",
|
|
4374
|
+
"stateDesc": "_3XaZHa_stateDesc",
|
|
4375
|
+
"star": "_3XaZHa_star",
|
|
4376
|
+
"stateTitle": "_3XaZHa_stateTitle",
|
|
4377
|
+
"cardHead": "_3XaZHa_cardHead",
|
|
4378
|
+
"updateBadge": "_3XaZHa_updateBadge",
|
|
4332
4379
|
"installBtn": "_3XaZHa_installBtn",
|
|
4380
|
+
"cardSide": "_3XaZHa_cardSide",
|
|
4381
|
+
"footer": "_3XaZHa_footer",
|
|
4382
|
+
"topic": "_3XaZHa_topic",
|
|
4333
4383
|
"card": "_3XaZHa_card",
|
|
4334
|
-
"installBtnInstalled": "_3XaZHa_installBtnInstalled",
|
|
4335
|
-
"state": "_3XaZHa_state",
|
|
4336
|
-
"stateDesc": "_3XaZHa_stateDesc",
|
|
4337
|
-
"stateActions": "_3XaZHa_stateActions",
|
|
4338
|
-
"stats": "_3XaZHa_stats",
|
|
4339
4384
|
"fork": "_3XaZHa_fork",
|
|
4340
|
-
"
|
|
4341
|
-
"uninstallBtn": "_3XaZHa_uninstallBtn",
|
|
4385
|
+
"installBtnUpdate": "_3XaZHa_installBtnUpdate",
|
|
4342
4386
|
"verified": "_3XaZHa_verified",
|
|
4343
|
-
"
|
|
4344
|
-
"cardSide": "_3XaZHa_cardSide",
|
|
4345
|
-
"topic": "_3XaZHa_topic",
|
|
4387
|
+
"detailBtn": "_3XaZHa_detailBtn",
|
|
4346
4388
|
"versionBadge": "_3XaZHa_versionBadge",
|
|
4347
|
-
"
|
|
4348
|
-
"
|
|
4349
|
-
"body": "_3XaZHa_body",
|
|
4350
|
-
"retryBtn": "_3XaZHa_retryBtn",
|
|
4389
|
+
"date": "_3XaZHa_date",
|
|
4390
|
+
"footLink": "_3XaZHa_footLink",
|
|
4351
4391
|
"cardMain": "_3XaZHa_cardMain",
|
|
4352
|
-
"
|
|
4353
|
-
"stateTitle": "_3XaZHa_stateTitle",
|
|
4354
|
-
"diagBtn": "_3XaZHa_diagBtn",
|
|
4355
|
-
"categoryBadge": "_3XaZHa_categoryBadge",
|
|
4356
|
-
"cardHead": "_3XaZHa_cardHead",
|
|
4357
|
-
"moreSentinel": "_3XaZHa_moreSentinel",
|
|
4358
|
-
"installBtnCopied": "_3XaZHa_installBtnCopied",
|
|
4359
|
-
"list": "_3XaZHa_list"
|
|
4392
|
+
"cardTitle": "_3XaZHa_cardTitle"
|
|
4360
4393
|
};
|
|
4361
4394
|
//#endregion
|
|
4362
4395
|
//#region src/client/hooks/useIncrementalList.ts
|
|
@@ -4563,15 +4596,15 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4563
4596
|
css: css$8
|
|
4564
4597
|
});
|
|
4565
4598
|
var SectionTabs_module_css_default = {
|
|
4566
|
-
"
|
|
4567
|
-
"
|
|
4568
|
-
"root": "_7tvizq_root",
|
|
4599
|
+
"tabActive": "_7tvizq_tabActive",
|
|
4600
|
+
"tabCountActive": "_7tvizq_tabCountActive",
|
|
4569
4601
|
"tabIcon": "_7tvizq_tabIcon",
|
|
4602
|
+
"tabCount": "_7tvizq_tabCount",
|
|
4603
|
+
"root": "_7tvizq_root",
|
|
4570
4604
|
"tab": "_7tvizq_tab",
|
|
4571
|
-
"tabCountActive": "_7tvizq_tabCountActive",
|
|
4572
4605
|
"noticeIcon": "_7tvizq_noticeIcon",
|
|
4573
|
-
"
|
|
4574
|
-
"
|
|
4606
|
+
"noticeBtn": "_7tvizq_noticeBtn",
|
|
4607
|
+
"noticeCount": "_7tvizq_noticeCount"
|
|
4575
4608
|
};
|
|
4576
4609
|
//#endregion
|
|
4577
4610
|
//#region src/client/components/layout/SectionTabs.tsx
|
|
@@ -4648,42 +4681,42 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4648
4681
|
css: css$7
|
|
4649
4682
|
});
|
|
4650
4683
|
var InstalledView_module_css_default = {
|
|
4651
|
-
"emptyTitle": "_1nXeGW_emptyTitle",
|
|
4652
4684
|
"rowDesc": "_1nXeGW_rowDesc",
|
|
4653
|
-
"
|
|
4654
|
-
"
|
|
4655
|
-
"empty": "_1nXeGW_empty",
|
|
4656
|
-
"segRow": "_1nXeGW_segRow",
|
|
4657
|
-
"statusInactive": "_1nXeGW_statusInactive",
|
|
4658
|
-
"row": "_1nXeGW_row",
|
|
4659
|
-
"rowMain": "_1nXeGW_rowMain",
|
|
4660
|
-
"rowMeta": "_1nXeGW_rowMeta",
|
|
4661
|
-
"rowActions": "_1nXeGW_rowActions",
|
|
4662
|
-
"rowDetail": "_1nXeGW_rowDetail",
|
|
4663
|
-
"statusPending": "_1nXeGW_statusPending",
|
|
4664
|
-
"rowSourceTagManual": "_1nXeGW_rowSourceTagManual",
|
|
4685
|
+
"toolbar": "_1nXeGW_toolbar",
|
|
4686
|
+
"list": "_1nXeGW_list",
|
|
4665
4687
|
"segBtn": "_1nXeGW_segBtn",
|
|
4688
|
+
"root": "_1nXeGW_root",
|
|
4666
4689
|
"rowUpdate": "_1nXeGW_rowUpdate",
|
|
4667
|
-
"
|
|
4668
|
-
"
|
|
4669
|
-
"rowSourceTag": "_1nXeGW_rowSourceTag",
|
|
4670
|
-
"rowCategory": "_1nXeGW_rowCategory",
|
|
4690
|
+
"exampleRow": "_1nXeGW_exampleRow",
|
|
4691
|
+
"segGroup": "_1nXeGW_segGroup",
|
|
4671
4692
|
"searchInput": "_1nXeGW_searchInput",
|
|
4672
|
-
"segLabel": "_1nXeGW_segLabel",
|
|
4673
|
-
"searchWrap": "_1nXeGW_searchWrap",
|
|
4674
|
-
"rowSourceTagHub": "_1nXeGW_rowSourceTagHub",
|
|
4675
|
-
"rowTitleLine": "_1nXeGW_rowTitleLine",
|
|
4676
4693
|
"rowTitle": "_1nXeGW_rowTitle",
|
|
4677
|
-
"
|
|
4694
|
+
"statusPending": "_1nXeGW_statusPending",
|
|
4695
|
+
"rowSourceTag": "_1nXeGW_rowSourceTag",
|
|
4696
|
+
"versionBadge": "_1nXeGW_versionBadge",
|
|
4697
|
+
"rowMain": "_1nXeGW_rowMain",
|
|
4678
4698
|
"updateBadge": "_1nXeGW_updateBadge",
|
|
4679
|
-
"
|
|
4680
|
-
"
|
|
4681
|
-
"
|
|
4699
|
+
"rowSourceTagHub": "_1nXeGW_rowSourceTagHub",
|
|
4700
|
+
"segBtnActive": "_1nXeGW_segBtnActive",
|
|
4701
|
+
"rowActions": "_1nXeGW_rowActions",
|
|
4702
|
+
"rowMeta": "_1nXeGW_rowMeta",
|
|
4703
|
+
"searchWrap": "_1nXeGW_searchWrap",
|
|
4704
|
+
"statusInactive": "_1nXeGW_statusInactive",
|
|
4705
|
+
"exampleBadge": "_1nXeGW_exampleBadge",
|
|
4706
|
+
"empty": "_1nXeGW_empty",
|
|
4707
|
+
"segLabel": "_1nXeGW_segLabel",
|
|
4708
|
+
"row": "_1nXeGW_row",
|
|
4709
|
+
"emptyDesc": "_1nXeGW_emptyDesc",
|
|
4710
|
+
"rowCategory": "_1nXeGW_rowCategory",
|
|
4682
4711
|
"rowRepo": "_1nXeGW_rowRepo",
|
|
4683
|
-
"root": "_1nXeGW_root",
|
|
4684
|
-
"versionBadge": "_1nXeGW_versionBadge",
|
|
4685
4712
|
"rowUninstall": "_1nXeGW_rowUninstall",
|
|
4686
|
-
"
|
|
4713
|
+
"rowTitleLine": "_1nXeGW_rowTitleLine",
|
|
4714
|
+
"rowSourceTagManual": "_1nXeGW_rowSourceTagManual",
|
|
4715
|
+
"emptyTitle": "_1nXeGW_emptyTitle",
|
|
4716
|
+
"statusDot": "_1nXeGW_statusDot",
|
|
4717
|
+
"segRow": "_1nXeGW_segRow",
|
|
4718
|
+
"rowRestart": "_1nXeGW_rowRestart",
|
|
4719
|
+
"rowDetail": "_1nXeGW_rowDetail"
|
|
4687
4720
|
};
|
|
4688
4721
|
//#endregion
|
|
4689
4722
|
//#region src/client/components/views/InstalledView.tsx
|
|
@@ -4932,28 +4965,28 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
4932
4965
|
css: css$6
|
|
4933
4966
|
});
|
|
4934
4967
|
var CustomInstallView_module_css_default = {
|
|
4935
|
-
"
|
|
4936
|
-
"helpLine": "zISxCG_helpLine",
|
|
4937
|
-
"installExample": "zISxCG_installExample",
|
|
4938
|
-
"helpCmd": "zISxCG_helpCmd",
|
|
4939
|
-
"channelOffText": "zISxCG_channelOffText",
|
|
4940
|
-
"installInput": "zISxCG_installInput",
|
|
4941
|
-
"installCardDisabled": "zISxCG_installCardDisabled",
|
|
4968
|
+
"installLabel": "zISxCG_installLabel",
|
|
4942
4969
|
"installHelpBtn": "zISxCG_installHelpBtn",
|
|
4943
|
-
"root": "zISxCG_root",
|
|
4944
|
-
"installError": "zISxCG_installError",
|
|
4945
|
-
"installCards": "zISxCG_installCards",
|
|
4946
4970
|
"installRow": "zISxCG_installRow",
|
|
4947
|
-
"
|
|
4971
|
+
"installCards": "zISxCG_installCards",
|
|
4972
|
+
"channelOffText": "zISxCG_channelOffText",
|
|
4973
|
+
"desc": "zISxCG_desc",
|
|
4974
|
+
"helpCmd": "zISxCG_helpCmd",
|
|
4975
|
+
"root": "zISxCG_root",
|
|
4948
4976
|
"channelOffBtn": "zISxCG_channelOffBtn",
|
|
4949
4977
|
"installBtn": "zISxCG_installBtn",
|
|
4978
|
+
"installExample": "zISxCG_installExample",
|
|
4979
|
+
"installError": "zISxCG_installError",
|
|
4980
|
+
"installInputError": "zISxCG_installInputError",
|
|
4981
|
+
"helpLine": "zISxCG_helpLine",
|
|
4950
4982
|
"helpNote": "zISxCG_helpNote",
|
|
4951
|
-
"installLabel": "zISxCG_installLabel",
|
|
4952
|
-
"installCardHead": "zISxCG_installCardHead",
|
|
4953
4983
|
"helpBody": "zISxCG_helpBody",
|
|
4954
|
-
"
|
|
4955
|
-
"
|
|
4956
|
-
"
|
|
4984
|
+
"installCardHead": "zISxCG_installCardHead",
|
|
4985
|
+
"installInput": "zISxCG_installInput",
|
|
4986
|
+
"installCardDisabled": "zISxCG_installCardDisabled",
|
|
4987
|
+
"channelOff": "zISxCG_channelOff",
|
|
4988
|
+
"installInsertBtn": "zISxCG_installInsertBtn",
|
|
4989
|
+
"installCard": "zISxCG_installCard"
|
|
4957
4990
|
};
|
|
4958
4991
|
//#endregion
|
|
4959
4992
|
//#region src/client/components/views/CustomInstallView.tsx
|
|
@@ -5244,29 +5277,29 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5244
5277
|
});
|
|
5245
5278
|
var SettingsView_module_css_default = {
|
|
5246
5279
|
"card": "_506LLG_card",
|
|
5247
|
-
"root": "_506LLG_root",
|
|
5248
|
-
"settingRow": "_506LLG_settingRow",
|
|
5249
|
-
"settingLabel": "_506LLG_settingLabel",
|
|
5250
|
-
"navIcon": "_506LLG_navIcon",
|
|
5251
|
-
"pageDesc": "_506LLG_pageDesc",
|
|
5252
|
-
"settingTitle": "_506LLG_settingTitle",
|
|
5253
|
-
"pageTitle": "_506LLG_pageTitle",
|
|
5254
|
-
"settingControlStack": "_506LLG_settingControlStack",
|
|
5255
|
-
"navItem": "_506LLG_navItem",
|
|
5256
|
-
"textInput": "_506LLG_textInput",
|
|
5257
5280
|
"proxyControl": "_506LLG_proxyControl",
|
|
5258
|
-
"proxyHint": "_506LLG_proxyHint",
|
|
5259
|
-
"proxyHintOk": "_506LLG_proxyHintOk",
|
|
5260
5281
|
"navItemActive": "_506LLG_navItemActive",
|
|
5282
|
+
"navItem": "_506LLG_navItem",
|
|
5261
5283
|
"pageHeader": "_506LLG_pageHeader",
|
|
5262
|
-
"
|
|
5263
|
-
"
|
|
5284
|
+
"settingLabel": "_506LLG_settingLabel",
|
|
5285
|
+
"settingDesc": "_506LLG_settingDesc",
|
|
5286
|
+
"settingControl": "_506LLG_settingControl",
|
|
5287
|
+
"settingControlStack": "_506LLG_settingControlStack",
|
|
5288
|
+
"root": "_506LLG_root",
|
|
5289
|
+
"proxyHint": "_506LLG_proxyHint",
|
|
5264
5290
|
"proxyHintFail": "_506LLG_proxyHintFail",
|
|
5291
|
+
"resetBtn": "_506LLG_resetBtn",
|
|
5292
|
+
"proxyHintOk": "_506LLG_proxyHintOk",
|
|
5265
5293
|
"content": "_506LLG_content",
|
|
5266
|
-
"
|
|
5294
|
+
"textInput": "_506LLG_textInput",
|
|
5295
|
+
"pageDesc": "_506LLG_pageDesc",
|
|
5267
5296
|
"controlDropdown": "_506LLG_controlDropdown",
|
|
5268
|
-
"
|
|
5269
|
-
"
|
|
5297
|
+
"navIcon": "_506LLG_navIcon",
|
|
5298
|
+
"sidebar": "_506LLG_sidebar",
|
|
5299
|
+
"settingRow": "_506LLG_settingRow",
|
|
5300
|
+
"settingRowStack": "_506LLG_settingRowStack",
|
|
5301
|
+
"pageTitle": "_506LLG_pageTitle",
|
|
5302
|
+
"settingTitle": "_506LLG_settingTitle"
|
|
5270
5303
|
};
|
|
5271
5304
|
//#endregion
|
|
5272
5305
|
//#region \0dsh-css:src/client/styles/Dropdown.module.css.mjs
|
|
@@ -5285,18 +5318,18 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5285
5318
|
css: css$4
|
|
5286
5319
|
});
|
|
5287
5320
|
var Dropdown_module_css_default = {
|
|
5288
|
-
"dropdownCount": "B_Gxsq_dropdownCount",
|
|
5289
5321
|
"dropdown": "B_Gxsq_dropdown",
|
|
5322
|
+
"dropdownFill": "B_Gxsq_dropdownFill",
|
|
5290
5323
|
"dropdownBtn": "B_Gxsq_dropdownBtn",
|
|
5324
|
+
"dropdownItemLabel": "B_Gxsq_dropdownItemLabel",
|
|
5325
|
+
"dropdownCount": "B_Gxsq_dropdownCount",
|
|
5326
|
+
"dropdownCountActive": "B_Gxsq_dropdownCountActive",
|
|
5327
|
+
"dropdownPanel": "B_Gxsq_dropdownPanel",
|
|
5328
|
+
"dropdownItem": "B_Gxsq_dropdownItem",
|
|
5291
5329
|
"dropdownLabel": "B_Gxsq_dropdownLabel",
|
|
5292
5330
|
"dropdownArrow": "B_Gxsq_dropdownArrow",
|
|
5293
5331
|
"dropdownArrowOpen": "B_Gxsq_dropdownArrowOpen",
|
|
5294
|
-
"
|
|
5295
|
-
"dropdownFill": "B_Gxsq_dropdownFill",
|
|
5296
|
-
"dropdownItemActive": "B_Gxsq_dropdownItemActive",
|
|
5297
|
-
"dropdownItemLabel": "B_Gxsq_dropdownItemLabel",
|
|
5298
|
-
"dropdownCountActive": "B_Gxsq_dropdownCountActive",
|
|
5299
|
-
"dropdownPanel": "B_Gxsq_dropdownPanel"
|
|
5332
|
+
"dropdownItemActive": "B_Gxsq_dropdownItemActive"
|
|
5300
5333
|
};
|
|
5301
5334
|
//#endregion
|
|
5302
5335
|
//#region \0dsh-css:src/client/styles/Toggle.module.css.mjs
|
|
@@ -5315,9 +5348,9 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5315
5348
|
css: css$3
|
|
5316
5349
|
});
|
|
5317
5350
|
var Toggle_module_css_default = {
|
|
5351
|
+
"toggle": "k-cD4G_toggle",
|
|
5318
5352
|
"knob": "k-cD4G_knob",
|
|
5319
|
-
"toggleOn": "k-cD4G_toggleOn"
|
|
5320
|
-
"toggle": "k-cD4G_toggle"
|
|
5353
|
+
"toggleOn": "k-cD4G_toggleOn"
|
|
5321
5354
|
};
|
|
5322
5355
|
//#endregion
|
|
5323
5356
|
//#region src/client/components/ui/Toggle.tsx
|
|
@@ -5417,29 +5450,29 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5417
5450
|
css: css$2
|
|
5418
5451
|
});
|
|
5419
5452
|
var DiagnosticsView_module_css_default = {
|
|
5420
|
-
"
|
|
5421
|
-
"badgeOk": "k9eRya_badgeOk",
|
|
5453
|
+
"name": "k9eRya_name",
|
|
5422
5454
|
"badgeIdle": "k9eRya_badgeIdle",
|
|
5423
|
-
"
|
|
5424
|
-
"envLabel": "k9eRya_envLabel",
|
|
5425
|
-
"summary": "k9eRya_summary",
|
|
5455
|
+
"runBtn": "k9eRya_runBtn",
|
|
5426
5456
|
"headHint": "k9eRya_headHint",
|
|
5427
|
-
"
|
|
5428
|
-
"badgeFail": "k9eRya_badgeFail",
|
|
5429
|
-
"envRow": "k9eRya_envRow",
|
|
5430
|
-
"panel": "k9eRya_panel",
|
|
5431
|
-
"envCopyBtn": "k9eRya_envCopyBtn",
|
|
5432
|
-
"head": "k9eRya_head",
|
|
5433
|
-
"name": "k9eRya_name",
|
|
5457
|
+
"summary": "k9eRya_summary",
|
|
5434
5458
|
"display": "k9eRya_display",
|
|
5435
|
-
"badgeRunning": "k9eRya_badgeRunning",
|
|
5436
|
-
"badge": "k9eRya_badge",
|
|
5437
5459
|
"envTitle": "k9eRya_envTitle",
|
|
5438
|
-
"
|
|
5439
|
-
"
|
|
5460
|
+
"envLabel": "k9eRya_envLabel",
|
|
5461
|
+
"panel": "k9eRya_panel",
|
|
5462
|
+
"badgeOk": "k9eRya_badgeOk",
|
|
5463
|
+
"badgeRunning": "k9eRya_badgeRunning",
|
|
5440
5464
|
"meta": "k9eRya_meta",
|
|
5465
|
+
"summaryFail": "k9eRya_summaryFail",
|
|
5466
|
+
"head": "k9eRya_head",
|
|
5467
|
+
"diagPulse": "k9eRya_diagPulse",
|
|
5468
|
+
"badge": "k9eRya_badge",
|
|
5469
|
+
"envCopyBtn": "k9eRya_envCopyBtn",
|
|
5470
|
+
"badgeFail": "k9eRya_badgeFail",
|
|
5441
5471
|
"summaryRunning": "k9eRya_summaryRunning",
|
|
5442
|
-
"
|
|
5472
|
+
"summaryOk": "k9eRya_summaryOk",
|
|
5473
|
+
"envRow": "k9eRya_envRow",
|
|
5474
|
+
"envDesc": "k9eRya_envDesc",
|
|
5475
|
+
"row": "k9eRya_row"
|
|
5443
5476
|
};
|
|
5444
5477
|
//#endregion
|
|
5445
5478
|
//#region src/client/components/views/DiagnosticsView.tsx
|
|
@@ -5617,57 +5650,57 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
5617
5650
|
css: css$1
|
|
5618
5651
|
});
|
|
5619
5652
|
var LogsView_module_css_default = {
|
|
5620
|
-
"
|
|
5653
|
+
"pathDialogHint": "_3j77BW_pathDialogHint",
|
|
5654
|
+
"badge": "_3j77BW_badge",
|
|
5655
|
+
"actions": "_3j77BW_actions",
|
|
5621
5656
|
"headActions": "_3j77BW_headActions",
|
|
5622
|
-
"previewRow": "_3j77BW_previewRow",
|
|
5623
|
-
"btn": "_3j77BW_btn",
|
|
5624
5657
|
"message": "_3j77BW_message",
|
|
5658
|
+
"pathLabel": "_3j77BW_pathLabel",
|
|
5659
|
+
"more": "_3j77BW_more",
|
|
5660
|
+
"previewRow": "_3j77BW_previewRow",
|
|
5625
5661
|
"foot": "_3j77BW_foot",
|
|
5626
|
-
"
|
|
5627
|
-
"searchInput": "_3j77BW_searchInput",
|
|
5628
|
-
"pathText": "_3j77BW_pathText",
|
|
5662
|
+
"linkBtn": "_3j77BW_linkBtn",
|
|
5629
5663
|
"badgeSuccess": "_3j77BW_badgeSuccess",
|
|
5664
|
+
"footFail": "_3j77BW_footFail",
|
|
5665
|
+
"time": "_3j77BW_time",
|
|
5666
|
+
"panel": "_3j77BW_panel",
|
|
5667
|
+
"pathDialogDesc": "_3j77BW_pathDialogDesc",
|
|
5668
|
+
"head": "_3j77BW_head",
|
|
5669
|
+
"searchInput": "_3j77BW_searchInput",
|
|
5670
|
+
"pathDialog": "_3j77BW_pathDialog",
|
|
5630
5671
|
"pathDraft": "_3j77BW_pathDraft",
|
|
5672
|
+
"filterChip": "_3j77BW_filterChip",
|
|
5673
|
+
"filterChipActive": "_3j77BW_filterChipActive",
|
|
5674
|
+
"logList": "_3j77BW_logList",
|
|
5631
5675
|
"pathDialogFoot": "_3j77BW_pathDialogFoot",
|
|
5632
|
-
"
|
|
5676
|
+
"moreEnd": "_3j77BW_moreEnd",
|
|
5677
|
+
"footCount": "_3j77BW_footCount",
|
|
5678
|
+
"footActions": "_3j77BW_footActions",
|
|
5679
|
+
"search": "_3j77BW_search",
|
|
5680
|
+
"badgeWarn": "_3j77BW_badgeWarn",
|
|
5681
|
+
"list": "_3j77BW_list",
|
|
5682
|
+
"pathDialogReset": "_3j77BW_pathDialogReset",
|
|
5683
|
+
"filterBar": "_3j77BW_filterBar",
|
|
5633
5684
|
"badgeInfo": "_3j77BW_badgeInfo",
|
|
5634
5685
|
"catBadge": "_3j77BW_catBadge",
|
|
5635
|
-
"
|
|
5636
|
-
"actions": "_3j77BW_actions",
|
|
5637
|
-
"pathDialog": "_3j77BW_pathDialog",
|
|
5638
|
-
"pathDialogDesc": "_3j77BW_pathDialogDesc",
|
|
5686
|
+
"pathText": "_3j77BW_pathText",
|
|
5639
5687
|
"catDiagnostics": "_3j77BW_catDiagnostics",
|
|
5640
|
-
"
|
|
5641
|
-
"filterChipActive": "_3j77BW_filterChipActive",
|
|
5642
|
-
"search": "_3j77BW_search",
|
|
5688
|
+
"entry": "_3j77BW_entry",
|
|
5643
5689
|
"event": "_3j77BW_event",
|
|
5644
|
-
"
|
|
5690
|
+
"catInstall": "_3j77BW_catInstall",
|
|
5691
|
+
"clearBtn": "_3j77BW_clearBtn",
|
|
5645
5692
|
"pathDialogRow": "_3j77BW_pathDialogRow",
|
|
5646
|
-
"
|
|
5647
|
-
"catSystem": "_3j77BW_catSystem",
|
|
5648
|
-
"footActions": "_3j77BW_footActions",
|
|
5649
|
-
"empty": "_3j77BW_empty",
|
|
5693
|
+
"catSettings": "_3j77BW_catSettings",
|
|
5650
5694
|
"pathRow": "_3j77BW_pathRow",
|
|
5651
|
-
"
|
|
5652
|
-
"
|
|
5653
|
-
"
|
|
5654
|
-
"moreEnd": "_3j77BW_moreEnd",
|
|
5655
|
-
"badge": "_3j77BW_badge",
|
|
5656
|
-
"badgeDebug": "_3j77BW_badgeDebug",
|
|
5657
|
-
"head": "_3j77BW_head",
|
|
5658
|
-
"list": "_3j77BW_list",
|
|
5659
|
-
"more": "_3j77BW_more",
|
|
5695
|
+
"headHint": "_3j77BW_headHint",
|
|
5696
|
+
"btn": "_3j77BW_btn",
|
|
5697
|
+
"badgeError": "_3j77BW_badgeError",
|
|
5660
5698
|
"footPath": "_3j77BW_footPath",
|
|
5699
|
+
"badgeDebug": "_3j77BW_badgeDebug",
|
|
5700
|
+
"catUninstall": "_3j77BW_catUninstall",
|
|
5701
|
+
"catSystem": "_3j77BW_catSystem",
|
|
5661
5702
|
"catUpdate": "_3j77BW_catUpdate",
|
|
5662
|
-
"
|
|
5663
|
-
"footCount": "_3j77BW_footCount",
|
|
5664
|
-
"filterBar": "_3j77BW_filterBar",
|
|
5665
|
-
"catInstall": "_3j77BW_catInstall",
|
|
5666
|
-
"filterChip": "_3j77BW_filterChip",
|
|
5667
|
-
"headHint": "_3j77BW_headHint",
|
|
5668
|
-
"badgeWarn": "_3j77BW_badgeWarn",
|
|
5669
|
-
"pathDialogHint": "_3j77BW_pathDialogHint",
|
|
5670
|
-
"footFail": "_3j77BW_footFail"
|
|
5703
|
+
"empty": "_3j77BW_empty"
|
|
5671
5704
|
};
|
|
5672
5705
|
//#endregion
|
|
5673
5706
|
//#region src/client/components/modals/LogsModal.tsx
|
|
@@ -6944,7 +6977,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
6944
6977
|
openSection: settingsSection,
|
|
6945
6978
|
onConsumedOpenSection: () => setSettingsSection(null)
|
|
6946
6979
|
}), showHubUpdate && (0, react.createElement)(HubUpdateModal, {
|
|
6947
|
-
info: catalog.hubUpdateInfo ?? { version: "1.6.
|
|
6980
|
+
info: catalog.hubUpdateInfo ?? { version: "1.6.10" },
|
|
6948
6981
|
state: catalog.hubUpdateState,
|
|
6949
6982
|
currentVersion: catalog.hubCurrentVersion,
|
|
6950
6983
|
lang,
|
|
@@ -7032,7 +7065,7 @@ window.__ModuleLoader__.load({ id: "dsh-plugin", factory: (require) => {
|
|
|
7032
7065
|
langPath,
|
|
7033
7066
|
restarting,
|
|
7034
7067
|
update: confirmIsUpdate,
|
|
7035
|
-
cliOnly: confirmPlugin.install?.webInstallable === false,
|
|
7068
|
+
cliOnly: confirmPlugin.install?.webInstallable === false || confirmPlugin.install?.manualInstall === true,
|
|
7036
7069
|
submitting: queue.submitting,
|
|
7037
7070
|
needsRestart: installNeedsRestart,
|
|
7038
7071
|
needsReload: installNeedsReload,
|