dsh-life-pack 0.3.65 → 0.3.66

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/dist/client.js CHANGED
@@ -471,7 +471,7 @@ window.__ModuleLoader__.load({
471
471
  path: "/api/ilife-manager"
472
472
  };
473
473
  //#endregion
474
- //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.5/node_modules/dsh-plugin-update/dist/config.js
474
+ //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.6/node_modules/dsh-plugin-update/dist/config.js
475
475
  const DEFAULT_PANEL_POLL_MS = 1e3;
476
476
  function assertPrefix(value, role) {
477
477
  if (typeof value !== "string" || value.length === 0) throw new Error("[dsh-plugin-update] " + role + " 非法:须为非空字符串(收到 " + JSON.stringify(value) + ")");
@@ -485,6 +485,7 @@ window.__ModuleLoader__.load({
485
485
  updateCheck: checked + ".updateCheck",
486
486
  updateInstall: checked + ".updateInstall",
487
487
  updateChangelog: checked + ".updateChangelog",
488
+ updateCheckFallback: checked + ".updateCheckFallback",
488
489
  logAppend: checked + ".logAppend"
489
490
  };
490
491
  }
@@ -492,7 +493,7 @@ window.__ModuleLoader__.load({
492
493
  return buildPhoneNames(prefix).logAppend;
493
494
  }
494
495
  //#endregion
495
- //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.5/node_modules/dsh-plugin-update/dist/redaction.js
496
+ //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.6/node_modules/dsh-plugin-update/dist/redaction.js
496
497
  const COPY_BUDGET_CHARS = 1500;
497
498
  const REDACTED_PATH = "<路径>";
498
499
  const REDACTED_SECRET = "<脱敏>";
@@ -556,7 +557,7 @@ window.__ModuleLoader__.load({
556
557
  return truncateForCopy(scrubWithoutBudget(flat));
557
558
  }
558
559
  //#endregion
559
- //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.5/node_modules/dsh-plugin-update/dist/service.js
560
+ //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.6/node_modules/dsh-plugin-update/dist/service.js
560
561
  function updateError(code) {
561
562
  return Object.assign(new Error(code), { code });
562
563
  }
@@ -643,7 +644,7 @@ window.__ModuleLoader__.load({
643
644
  return 0;
644
645
  }
645
646
  //#endregion
646
- //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.5/node_modules/dsh-plugin-update/dist/lang.js
647
+ //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.6/node_modules/dsh-plugin-update/dist/lang.js
647
648
  function normalizeLangTag(tag) {
648
649
  if (typeof tag !== "string") return "zh";
649
650
  const s = tag.trim().toLowerCase().replace(/_/g, "-");
@@ -785,7 +786,7 @@ window.__ModuleLoader__.load({
785
786
  };
786
787
  }
787
788
  //#endregion
788
- //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.5/node_modules/dsh-plugin-update/dist/bilingual.js
789
+ //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.6/node_modules/dsh-plugin-update/dist/bilingual.js
789
790
  const BILINGUAL_STRINGS = {
790
791
  "entry.label.idle": {
791
792
  en: "Check for updates",
@@ -1187,6 +1188,16 @@ window.__ModuleLoader__.load({
1187
1188
  zh: "安装版本 {latest}",
1188
1189
  draft: true
1189
1190
  },
1191
+ "panel.banner.update-gated-title": {
1192
+ en: "Version {latest} was just published and is still gated ({unlock}); installing now will fail — use Install fallback build below if you cannot wait.",
1193
+ zh: "新版本 {latest} 刚发布未满门,{unlock}可装;现在点安装会失败,等不及可先装合规版。",
1194
+ draft: true
1195
+ },
1196
+ "panel.action.install-gated-title": {
1197
+ en: "Come back {unlock} to install {latest}; it is still gated and would fail now.",
1198
+ zh: "{unlock}再来装 {latest} 吧,现在装会被门拦住。",
1199
+ draft: true
1200
+ },
1190
1201
  "panel.banner.done": {
1191
1202
  en: "Up to date. No update needed.",
1192
1203
  zh: "已是最新,无需更新。",
@@ -1252,6 +1263,16 @@ window.__ModuleLoader__.load({
1252
1263
  zh: "已确认该失败提示;下次查询版本信息或安装将重新评估。",
1253
1264
  draft: true
1254
1265
  },
1266
+ "panel.toast.fallback-unavailable": {
1267
+ en: "No compliant build for this failure; see the diagnostics or retry later.",
1268
+ zh: "这次失败用不上合规版,请看诊断信息或稍后重试。",
1269
+ draft: true
1270
+ },
1271
+ "panel.toast.fallback-wait": {
1272
+ en: "Latest should clear around {time}; no earlier compliant build for now.",
1273
+ zh: "最新版约 {time} 可装,暂无更早的合规版。",
1274
+ draft: true
1275
+ },
1255
1276
  "panel.strip.running": {
1256
1277
  en: "Running",
1257
1278
  zh: "运行版",
@@ -1412,6 +1433,36 @@ window.__ModuleLoader__.load({
1412
1433
  zh: "确认已知晓该失败:返回可安装页,下次查询或安装将重新评估",
1413
1434
  draft: true
1414
1435
  },
1436
+ "panel.action.install-fallback": {
1437
+ en: "Install compliant build",
1438
+ zh: "装合规版",
1439
+ draft: true
1440
+ },
1441
+ "panel.action.install-fallback-title": {
1442
+ en: "Resolve an age-compliant version first, then confirm; never installs an older version silently",
1443
+ zh: "先决议一个满门限的版本再请你确认,不会静默装旧版",
1444
+ draft: true
1445
+ },
1446
+ "panel.action.install-fallback-confirm": {
1447
+ en: "Confirm install {version}",
1448
+ zh: "确认装 {version}",
1449
+ draft: true
1450
+ },
1451
+ "panel.action.install-fallback-confirm-title": {
1452
+ en: "Install this exact version now",
1453
+ zh: "点下去即安装该精确版本",
1454
+ draft: true
1455
+ },
1456
+ "panel.action.wait-latest": {
1457
+ en: "Wait for latest",
1458
+ zh: "等新版",
1459
+ draft: true
1460
+ },
1461
+ "panel.action.wait-latest-title": {
1462
+ en: "Dismiss this failure; install again once the latest clears the age gate",
1463
+ zh: "收起这次失败;最新版满门限后可再装",
1464
+ draft: true
1465
+ },
1415
1466
  "panel.action.copy-diag": {
1416
1467
  en: "Copy diagnostics",
1417
1468
  zh: "复制诊断",
@@ -2467,7 +2518,7 @@ window.__ModuleLoader__.load({
2467
2518
  }
2468
2519
  const BILINGUAL_CSS = [".dsh-upd-bi{display:inline;overflow-wrap:anywhere}", ".dsh-upd-bi [lang]{overflow-wrap:anywhere}"].join("\n");
2469
2520
  //#endregion
2470
- //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.5/node_modules/dsh-plugin-update/dist/changelog.js
2521
+ //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.6/node_modules/dsh-plugin-update/dist/changelog.js
2471
2522
  const CHANGELOG_MAX_CHARS = 65536;
2472
2523
  const CHANGELOG_ALL_CATEGORIES = [
2473
2524
  "Added",
@@ -3575,7 +3626,7 @@ ${note}${blocks.join("\n")}
3575
3626
  }
3576
3627
  }
3577
3628
  //#endregion
3578
- //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.5/node_modules/dsh-plugin-update/dist/log-events.js
3629
+ //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.6/node_modules/dsh-plugin-update/dist/log-events.js
3579
3630
  const LOG_EVENT_CALL = "host.call";
3580
3631
  const LOG_EVENT_CALL_FAIL = "host.call.fail";
3581
3632
  const LOG_EVENT_INSTALL_EXEC = "update.install.exec";
@@ -3826,7 +3877,7 @@ ${note}${blocks.join("\n")}
3826
3877
  };
3827
3878
  }
3828
3879
  //#endregion
3829
- //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.5/node_modules/dsh-plugin-update/dist/codes.js
3880
+ //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.6/node_modules/dsh-plugin-update/dist/codes.js
3830
3881
  const BLOCKED_REASONS = [
3831
3882
  "unknown-profile",
3832
3883
  "channel-mismatch",
@@ -3861,7 +3912,7 @@ ${note}${blocks.join("\n")}
3861
3912
  return typeof code === "string" && isOneOf(CHECK_SIDE_FAILURE_CODES, code.trim());
3862
3913
  }
3863
3914
  //#endregion
3864
- //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.5/node_modules/dsh-plugin-update/dist/install-cause.js
3915
+ //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.6/node_modules/dsh-plugin-update/dist/install-cause.js
3865
3916
  const CAUSE_KINDS = ["minimum-release-age"];
3866
3917
  function causePackageNameOf(spec) {
3867
3918
  try {
@@ -3903,7 +3954,7 @@ ${note}${blocks.join("\n")}
3903
3954
  }
3904
3955
  }
3905
3956
  //#endregion
3906
- //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.5/node_modules/dsh-plugin-update/dist/panel.js
3957
+ //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.6/node_modules/dsh-plugin-update/dist/panel.js
3907
3958
  function normalizePanelTheme(value) {
3908
3959
  return value === "archive" ? "archive" : "default";
3909
3960
  }
@@ -4572,7 +4623,8 @@ ${note}${blocks.join("\n")}
4572
4623
  } catch {
4573
4624
  staleFailure = false;
4574
4625
  }
4575
- if (!staleFailure && (failedCode || jobState === "failed" || jobState === "interrupted")) {
4626
+ const gated = !(typeof errorKind === "string" && errorKind.trim()) && !lastError ? checkPrejudgeOfView(input.checkPrejudge, snapshot) : null;
4627
+ if (!staleFailure && !gated && (failedCode || jobState === "failed" || jobState === "interrupted")) {
4576
4628
  const code = failedCode || "install-failed";
4577
4629
  const copy = failureCopy(code, l);
4578
4630
  const checkDetail = copy?.zh ?? code;
@@ -4625,6 +4677,25 @@ ${note}${blocks.join("\n")}
4625
4677
  }
4626
4678
  if (snapshot.canInstall && snapshot.latestVersion) {
4627
4679
  const running = snapshot.installed === false ? copyText("panel.banner.not-installed", l) : snapshot.runningVersion;
4680
+ if (gated) {
4681
+ const unlock = formatUnlockAt(gated.unlockAtMs, l) ?? "";
4682
+ return {
4683
+ banner: {
4684
+ kind: "update",
4685
+ title: copyText("panel.banner.update-gated-title", l, {
4686
+ latest: snapshot.latestVersion,
4687
+ unlock
4688
+ }),
4689
+ action: copyText("panel.banner.update-action", l)
4690
+ },
4691
+ installEnabled: false,
4692
+ installLabel: copyText("panel.action.install-version", l, { latest: snapshot.latestVersion }),
4693
+ skippedLatest: false,
4694
+ showManual: manual ? true : false,
4695
+ showReset: false,
4696
+ queueNote
4697
+ };
4698
+ }
4628
4699
  return {
4629
4700
  banner: {
4630
4701
  kind: "update",
@@ -4960,6 +5031,42 @@ ${note}${blocks.join("\n")}
4960
5031
  const l = normalizeLangTag(lang ?? "zh");
4961
5032
  return copyText(CHAPTER_KEYS[index - 1], l);
4962
5033
  }
5034
+ function checkPrejudgeOfView(pre, snapshot) {
5035
+ try {
5036
+ if (!pre || !snapshot?.canInstall) return null;
5037
+ const latest = typeof snapshot.latestVersion === "string" ? snapshot.latestVersion.trim() : "";
5038
+ const target = typeof pre.targetVersion === "string" ? pre.targetVersion.trim() : "";
5039
+ if (!latest || !target || latest !== target) return null;
5040
+ if (typeof pre.unlockAtMs !== "number" || !Number.isFinite(pre.unlockAtMs)) return null;
5041
+ if (typeof pre.nowMs !== "number" || !Number.isFinite(pre.nowMs) || pre.nowMs >= pre.unlockAtMs) return null;
5042
+ return {
5043
+ targetVersion: target,
5044
+ unlockAtMs: pre.unlockAtMs
5045
+ };
5046
+ } catch {
5047
+ return null;
5048
+ }
5049
+ }
5050
+ function fallbackBlockedVersionOf(failure, pluginId) {
5051
+ try {
5052
+ return vetFailureRef(failure, pluginId);
5053
+ } catch {
5054
+ return null;
5055
+ }
5056
+ }
5057
+ function vetFailureRef(failure, pluginId) {
5058
+ const kind = typeof failure?.causeKind === "string" ? failure.causeKind.trim() : "";
5059
+ if (!kind || !CAUSE_KINDS.includes(kind)) return null;
5060
+ const spec = typeof failure?.causePackage === "string" ? failure.causePackage.trim() : "";
5061
+ if (!spec) return null;
5062
+ const target = typeof failure?.causeTarget === "string" && failure.causeTarget.trim() ? failure.causeTarget.trim() : typeof pluginId === "string" && pluginId.trim() ? pluginId.trim() : "";
5063
+ if (!target) return null;
5064
+ if (blameCausePackage(spec, target) !== "target") return null;
5065
+ const direct = typeof failure?.targetVersion === "string" ? failure.targetVersion.trim() : "";
5066
+ if (direct) return direct;
5067
+ const at = spec.lastIndexOf("@");
5068
+ return (at > 0 ? spec.slice(at + 1).trim() : "") || null;
5069
+ }
4963
5070
  function formatLatchTime(atMs, lang) {
4964
5071
  if (typeof atMs !== "number" || !Number.isFinite(atMs) || atMs <= 0) return null;
4965
5072
  const raw = typeof lang === "string" ? lang.trim().replace(/_/g, "-") : "";
@@ -5022,15 +5129,30 @@ ${note}${blocks.join("\n")}
5022
5129
  const busyAct = input.busyAct;
5023
5130
  const checkBusy = busyAct === "check";
5024
5131
  const installBusy = busyAct === "install";
5132
+ const fallbackBusy = busyAct === "fallback";
5025
5133
  const jobState = snapshot?.job?.state;
5026
- const macroBusy = busyAct === "check" || busyAct === "install" || jobState === "installing" || jobState === "verifying";
5134
+ const macroBusy = busyAct === "check" || busyAct === "install" || fallbackBusy || jobState === "installing" || jobState === "verifying";
5135
+ const gatePrejudge = b.kind === "update" ? checkPrejudgeOfView(input.checkPrejudge ?? null, snapshot) : null;
5136
+ const gateOfferRaw = input.fallbackOffer ?? null;
5137
+ const gateCandidate = gatePrejudge && typeof gateOfferRaw?.candidate === "string" && gateOfferRaw.candidate.trim() && typeof gateOfferRaw?.targetVersion === "string" && gateOfferRaw.targetVersion.trim() === gatePrejudge.targetVersion ? gateOfferRaw.candidate.trim() : null;
5027
5138
  actions.push("<div class=\"dsh-upd-actions\">");
5028
- actions.push((checkBusy ? `<button type="button" data-action="check" disabled aria-busy="true" title="${escapeHtml$3(copyText("panel.action.checking-busy-title", l))}">${escapeHtml$3(copyText("panel.action.checking-busy", l))}</button>` : `<button type="button" data-action="check" title="${escapeHtml$3(copyText("panel.action.check-title", l))}"${macroBusy ? " disabled" : ""}>${escapeHtml$3(copyText("panel.action.check", l))}</button>`) + (installBusy ? `<button type="button" data-action="install" data-primary="1" disabled aria-busy="true" title="${escapeHtml$3(copyText("panel.action.installing-busy-title", l))}">${escapeHtml$3(copyText("panel.action.installing-busy", l))}</button>` : `<button type="button" data-action="install" data-primary="1" title="${escapeHtml$3(copyText("panel.action.install-title", l))}"${macroBusy || !view.installEnabled ? " disabled" : ""}>${escapeHtml$3(view.installLabel)}</button>`));
5139
+ actions.push((checkBusy ? `<button type="button" data-action="check" disabled aria-busy="true" title="${escapeHtml$3(copyText("panel.action.checking-busy-title", l))}">${escapeHtml$3(copyText("panel.action.checking-busy", l))}</button>` : `<button type="button" data-action="check" title="${escapeHtml$3(copyText("panel.action.check-title", l))}"${macroBusy ? " disabled" : ""}>${escapeHtml$3(copyText("panel.action.check", l))}</button>`) + (installBusy ? `<button type="button" data-action="install" data-primary="1" disabled aria-busy="true" title="${escapeHtml$3(copyText("panel.action.installing-busy-title", l))}">${escapeHtml$3(copyText("panel.action.installing-busy", l))}</button>` : `<button type="button" data-action="install" data-primary="1" title="${escapeHtml$3(gatePrejudge ? copyText("panel.action.install-gated-title", l, {
5140
+ latest: snapshot?.latestVersion ?? "",
5141
+ unlock: formatUnlockAt(gatePrejudge.unlockAtMs, l) ?? ""
5142
+ }) : copyText("panel.action.install-title", l))}"${macroBusy || !view.installEnabled ? " disabled" : ""}>${escapeHtml$3(view.installLabel)}</button>`));
5029
5143
  if (snapshot?.latestVersion && !view.skippedLatest && view.banner.kind === "update") actions.push(`<button type="button" data-action="skip" title="${escapeHtml$3(copyText("panel.action.skip-title", l))}">${escapeHtml$3(copyText("panel.action.skip", l))}</button>`);
5144
+ if (gatePrejudge) actions.push(gateCandidate ? `<button type="button" data-action="install-fallback-confirm" data-primary="1" title="${escapeHtml$3(copyText("panel.action.install-fallback-confirm-title", l))}"${macroBusy || fallbackBusy ? " disabled" : ""}>${escapeHtml$3(copyText("panel.action.install-fallback-confirm", l, { version: gateCandidate }))}</button>` : fallbackBusy ? `<button type="button" data-action="install-fallback" data-primary="1" disabled aria-busy="true" title="${escapeHtml$3(copyText("panel.action.install-fallback-title", l))}">${escapeHtml$3(copyText("panel.action.install-fallback", l))}</button>` : `<button type="button" data-action="install-fallback" data-primary="1" title="${escapeHtml$3(copyText("panel.action.install-fallback-title", l))}"${macroBusy ? " disabled" : ""}>${escapeHtml$3(copyText("panel.action.install-fallback", l))}</button>`);
5030
5145
  if (view.showReset && snapshot?.latestVersion) actions.push(`<button type="button" data-action="reset-skip" title="${escapeHtml$3(copyText("panel.action.unskip-title", l))}">${escapeHtml$3(copyText("panel.action.unskip", l, { version: snapshot.latestVersion }))}</button>`);
5031
5146
  if (view.showManual && manual) actions.push(`<button type="button" data-action="copy-manual" title="${escapeHtml$3(copyText("panel.action.copy-manual-title", l))}">${escapeHtml$3(copyText("panel.action.copy-manual", l))}</button>`);
5032
5147
  if (b.kind === "restart") actions.push(`<button type="button" data-action="restart-hint" title="${escapeHtml$3(copyText("panel.action.restart-host-title", l))}">${escapeHtml$3(copyText("panel.action.restart-host", l))}</button>`);
5033
- if (b.kind === "failed") actions.push(`<button type="button" data-action="dismiss-failure" title="${escapeHtml$3(copyText("panel.action.dismiss-title", l))}">${escapeHtml$3(copyText("panel.action.dismiss", l))}</button>`);
5148
+ const failureForFallback = input.failure ?? null;
5149
+ const fallbackBlocked = b.kind === "failed" ? fallbackBlockedVersionOf(failureForFallback, pluginId) : null;
5150
+ const fallbackOfferRaw = input.fallbackOffer ?? null;
5151
+ const fallbackCandidate = fallbackBlocked && typeof fallbackOfferRaw?.candidate === "string" && fallbackOfferRaw.candidate.trim() ? fallbackOfferRaw.candidate.trim() : null;
5152
+ if (fallbackBlocked) {
5153
+ actions.push(fallbackCandidate ? `<button type="button" data-action="install-fallback-confirm" data-primary="1" title="${escapeHtml$3(copyText("panel.action.install-fallback-confirm-title", l))}"${macroBusy || fallbackBusy ? " disabled" : ""}>${escapeHtml$3(copyText("panel.action.install-fallback-confirm", l, { version: fallbackCandidate }))}</button>` : fallbackBusy ? `<button type="button" data-action="install-fallback" data-primary="1" disabled aria-busy="true" title="${escapeHtml$3(copyText("panel.action.install-fallback-title", l))}">${escapeHtml$3(copyText("panel.action.install-fallback", l))}</button>` : `<button type="button" data-action="install-fallback" data-primary="1" title="${escapeHtml$3(copyText("panel.action.install-fallback-title", l))}"${macroBusy ? " disabled" : ""}>${escapeHtml$3(copyText("panel.action.install-fallback", l))}</button>`);
5154
+ actions.push(`<button type="button" data-action="wait-latest" title="${escapeHtml$3(copyText("panel.action.wait-latest-title", l))}"${macroBusy || fallbackBusy ? " disabled" : ""}>${escapeHtml$3(copyText("panel.action.wait-latest", l))}</button>`);
5155
+ } else if (b.kind === "failed") actions.push(`<button type="button" data-action="dismiss-failure" title="${escapeHtml$3(copyText("panel.action.dismiss-title", l))}">${escapeHtml$3(copyText("panel.action.dismiss", l))}</button>`);
5034
5156
  const failureRef = input.failure;
5035
5157
  if (snapshot || b.kind === "failed" || !!failureRef) actions.push(`<button type="button" data-action="copy-diag" title="${escapeHtml$3(copyText("panel.action.copy-diag-title", l))}">${escapeHtml$3(copyText("panel.action.copy-diag", l))}</button>`);
5036
5158
  actions.push("</div>");
@@ -5174,7 +5296,7 @@ ${UPDATE_PANEL_ARCHIVE_CSS}` : UPDATE_PANEL_CSS}</style>
5174
5296
  ${body}`;
5175
5297
  }
5176
5298
  //#endregion
5177
- //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.5/node_modules/dsh-plugin-update/dist/entry.js
5299
+ //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.6/node_modules/dsh-plugin-update/dist/entry.js
5178
5300
  const UPDATE_ENTRY_CSS = [
5179
5301
  ".dsh-upd-entry{display:inline-flex;align-items:center;gap:8px;font:13px/1.6 var(--dsh-update-font-sans,system-ui,\"Microsoft YaHei\",sans-serif);font-size:var(--dsh-update-entry-font-size,13px);color:var(--dsh-update-text,#1f2937)}",
5180
5302
  ".dsh-upd-entry-btn{font:inherit;border:1px solid var(--dsh-update-border,#d1d5db);border-radius:var(--dsh-update-entry-border-radius,6px);",
@@ -5288,7 +5410,7 @@ ${body}`;
5288
5410
  }
5289
5411
  }
5290
5412
  //#endregion
5291
- //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.5/node_modules/dsh-plugin-update/dist/panel-batch.js
5413
+ //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.6/node_modules/dsh-plugin-update/dist/panel-batch.js
5292
5414
  const BATCH_PANEL_POLL = {
5293
5415
  defaultMs: 1500,
5294
5416
  minMs: 250
@@ -6814,7 +6936,7 @@ ${body}`;
6814
6936
  };
6815
6937
  }
6816
6938
  //#endregion
6817
- //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.5/node_modules/dsh-plugin-update/dist/entry-batch.js
6939
+ //#region ../../node_modules/.pnpm/dsh-plugin-update@0.18.6/node_modules/dsh-plugin-update/dist/entry-batch.js
6818
6940
  function isObject$1(value) {
6819
6941
  return !!value && typeof value === "object" && !Array.isArray(value);
6820
6942
  }
@@ -10773,7 +10895,7 @@ ${body}`;
10773
10895
  }, react.createElement("span", { style: S.morePkg }, row.pkg), react.createElement("span", { style: S.moreDesc }, row.desc), react.createElement("span", { style: S.moreIcon }, react.createElement(ExternalIcon, null)))));
10774
10896
  }
10775
10897
  /** 版本胶囊那一行字:只在这里拼一次,屏上与用例读的是同一串。 */
10776
- const MANAGER_VERSION_TEXT = "dsh-life-pack · 0.3.65";
10898
+ const MANAGER_VERSION_TEXT = "dsh-life-pack · 0.3.66";
10777
10899
  /** 右下角那本书离面板两沿的距离:用户口径「一直处于面板右下角、不随列表滑动消失」
10778
10900
  * ⇒ sticky 吸附(面板相对,视口多大都落在面板角上);INSET=右沿,BOTTOM=底沿。 */
10779
10901
  const MANUAL_ENTRY_INSET = 16;