dsh-life-pack 0.2.7 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (42) hide show
  1. package/dist/client.js +351 -102
  2. package/dist/client.js.map +1 -1
  3. package/dist/dsh-ctx.d.ts +9 -5
  4. package/dist/dsh-ctx.d.ts.map +1 -1
  5. package/dist/health-fetch.d.ts +14 -14
  6. package/dist/health-fetch.d.ts.map +1 -1
  7. package/dist/health-fetch.js +21 -5
  8. package/dist/health-fetch.js.map +1 -1
  9. package/dist/health-panel.d.ts +6 -0
  10. package/dist/health-panel.d.ts.map +1 -1
  11. package/dist/health-panel.js +13 -0
  12. package/dist/health-panel.js.map +1 -1
  13. package/dist/health-view.d.ts.map +1 -1
  14. package/dist/health-view.js +20 -9
  15. package/dist/health-view.js.map +1 -1
  16. package/dist/manager-version.d.ts +7 -0
  17. package/dist/manager-version.d.ts.map +1 -0
  18. package/dist/manager-version.js +62 -0
  19. package/dist/manager-version.js.map +1 -0
  20. package/dist/nav.d.ts +18 -2
  21. package/dist/nav.d.ts.map +1 -1
  22. package/dist/nav.js +10 -8
  23. package/dist/nav.js.map +1 -1
  24. package/dist/update-client.d.ts +5 -0
  25. package/dist/update-client.d.ts.map +1 -1
  26. package/dist/update-client.js +16 -4
  27. package/dist/update-client.js.map +1 -1
  28. package/dist/update-contract.d.ts +18 -0
  29. package/dist/update-contract.d.ts.map +1 -1
  30. package/dist/update-contract.js +48 -19
  31. package/dist/update-contract.js.map +1 -1
  32. package/dist/update-env.d.ts.map +1 -1
  33. package/dist/update-env.js +7 -11
  34. package/dist/update-env.js.map +1 -1
  35. package/dist/update-host.d.ts.map +1 -1
  36. package/dist/update-host.js +4 -0
  37. package/dist/update-host.js.map +1 -1
  38. package/dist/update-view.d.ts +43 -6
  39. package/dist/update-view.d.ts.map +1 -1
  40. package/dist/update-view.js +93 -21
  41. package/dist/update-view.js.map +1 -1
  42. package/package.json +1 -1
@@ -1,13 +1,14 @@
1
- /** 面板到宿主的三条流程(纯异步函数:无 DOM、无 react;传输口由调用方注入,便于单测)。
1
+ /** 面板到宿主的四条流程(纯异步函数:无 DOM、无 react;传输口由调用方注入,便于单测)。
2
2
  *
3
- * 三条流程与更新包 README 的对应关系:
3
+ * 四条流程与更新包 README 的对应关系:
4
4
  * - 检查更新:`updateCheck`(第 3 节第 3 步的 `host.call(UPD_CHECK, {})`);
5
5
  * - 装上更新:`updateCheck` 拿凭证 → `updateInstall` 提交 → **按间隔轮询 `updateStatus`**
6
6
  * 直到任务离开 `installing`/`verifying`(第 3 节第 3 步与第 9 节:安装是后台跑,
7
7
  * 调用方不干等;凭证过期 `check-expired` 是正常错误码,重查一次再提交,见第 11 节);
8
- * - 装上缺席的包:走总管自有的 `ilife-manager.install`(更新包的三个电话只管已装的包)。
8
+ * - 装上缺席的包:走总管自有的 `ilife-manager.install`(更新包的三个电话只管已装的包);
9
+ * - 总管自述版本:走总管自有的 `ilife-manager.version`(宿主读自己那份包描述文件,见 `manager-version.ts`)。
9
10
  */
10
- import { MANAGER_ACTIONS, MANAGER_RPC, reasonText } from './update-contract.js';
11
+ import { MANAGER_ACTIONS, MANAGER_RPC, VERSION_UNKNOWN, reasonText } from './update-contract.js';
11
12
  /** 轮询上限:1 秒一次、最多 900 次(覆盖更新包 15 分钟的安装时限)。 */
12
13
  const MAX_POLL_TRIES = 900;
13
14
  /** 轮询默认间隔(只有在宿主没给 `pollMs` 时才用;正常取值由宿主转交更新包的 panelPollMs)。 */
@@ -60,6 +61,17 @@ export async function loadTargets(call) {
60
61
  const pollMs = typeof out.value?.pollMs === 'number' && out.value.pollMs > 0 ? out.value.pollMs : FALLBACK_POLL_MS;
61
62
  return { ok: true, value: { targets, pollMs } };
62
63
  }
64
+ /** 取总管自述版本(票 #737):宿主读**自己这份已安装包**的 `package.json`,面板只渲染读到的值。
65
+ *
66
+ * 单次、无轮询;宿主读不到会回 `unknown`,传输层失败也回同一个字面量——面板照原样显示,
67
+ * 不假装知道版本(与卡路里 #130 的降级口径一致)。 */
68
+ export async function loadManagerVersion(call) {
69
+ const out = await callManager(call, MANAGER_ACTIONS.version, {});
70
+ if (!out.ok)
71
+ return VERSION_UNKNOWN;
72
+ const raw = out.value?.version;
73
+ return typeof raw === 'string' && raw.trim().length > 0 ? raw.trim() : VERSION_UNKNOWN;
74
+ }
63
75
  /** 查一家:默认查新版(`updateCheck`,顺带回最新版本与凭证);给 `phoneName` 时查那个电话。 */
64
76
  export async function checkTarget(call, target, phoneName) {
65
77
  const name = phoneName ?? target.phones?.check;
@@ -1 +1 @@
1
- {"version":3,"file":"update-client.js","sourceRoot":"","sources":["../src/update-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-client.js","sourceRoot":"","sources":["../src/update-client.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,13 @@ import type { BlockedReason } from 'dsh-plugin-update';
17
17
  * 一处定义、两边引用(结构纪律「概念唯一」):名字改了只有这一行要动。
18
18
  * 宿主判据为什么要读这个字面量、以及它的边界,见 `readPanelRegistered` 的头注。 */
19
19
  export declare const CONFIG_TAB_SLOT: "ilife.config-tab";
20
+ /** 载体基段:`connection.rpc.call` 的**第一段**参数,宿主注册路径与它同源(`'/api' + 通道名`)。
21
+ *
22
+ * 一处定义(#735):总管自己的电话、以及面板到各家的每一通电话,第一段都必须是它。
23
+ * 真机实现(`dsh-client-connection/lib/client.js`):URL = `${第一段}/${第二段}`、信封 `method` = 第二段。
24
+ * 传错第一段就是 404:总管自己的电话在 #678 栽过一次,各家的配置体检在 #735 又栽过一次
25
+ * (那次传的是通道名 `/ilife-<技能>`,拼出来的地址上没有注册过那条路由,六家全 404)。 */
26
+ export declare const CARRIER_BASE: "/api";
20
27
  /** 载体:宿主注册 `connection.fetch.register` 的路径 / 面板 `connection.rpc.call` 的两段参数。 */
21
28
  export declare const MANAGER_RPC: {
22
29
  /** 载体基段(`connection.rpc.call` 的**第一段**参数)。传错第一段就是 404:真机上踩过一次。 */
@@ -39,7 +46,18 @@ export declare const MANAGER_ACTIONS: {
39
46
  * 也不该把名字再写一份(写两份必然走散)。宿主把名字表连同版本行一起交出去,
40
47
  * 面板一行字面量都不留。 */
41
48
  readonly targets: "ilife-manager.targets";
49
+ /** 总管自述版本(票 #737):入参 `{}`,回包 `{version}`。
50
+ *
51
+ * 宿主读**自己这份已安装包**的 `package.json`(`manager-version.ts`),面板只渲染读到的值。
52
+ * 为什么走电话:面板是浏览器产物,禁 node 内建(`test/client-bundle-48.test.mjs` 看门),
53
+ * 读盘只许在宿主半;与卡路里 #130 同一条路(host 读 → RPC → client 纯渲染)。 */
54
+ readonly version: "ilife-manager.version";
42
55
  };
56
+ /** 版本读不到时两侧共用的降级字面量(面板照原样显示,不假装知道版本)。
57
+ *
58
+ * 一处定义、两侧引用:宿主半 `manager-version.ts` 读失败时回它,面板半 `update-client.ts`
59
+ * 归一化时也认它——面板侧不许 import 宿主半(会把 node 内建带进浏览器束)。 */
60
+ export declare const VERSION_UNKNOWN: "unknown";
43
61
  /** 更新包默认官方源(`config.ts:20`,总管侧拼手工命令时用同一个值)。 */
44
62
  export declare const DEFAULT_REGISTRY: "https://registry.npmjs.org/";
45
63
  /** 原因码 → 人话(认不出的码不猜、原样回码并说明这是未知原因)。 */
@@ -1 +1 @@
1
- {"version":3,"file":"update-contract.d.ts","sourceRoot":"","sources":["../src/update-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;;wDAKwD;AACxD,eAAO,MAAM,eAAe,EAAG,kBAA2B,CAAC;AAE3D,gFAAgF;AAChF,eAAO,MAAM,WAAW;IACtB,kEAAkE;;IAElE,2DAA2D;;IAE3D,gCAAgC;;IAEhC,wCAAwC;;CAEhC,CAAC;AAEX,wDAAwD;AACxD,eAAO,MAAM,eAAe;IAC1B,wEAAwE;;IAExE;;;;;qBAKiB;;CAET,CAAC;AAEX,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB,EAAG,6BAAsC,CAAC;AAsBvE,uCAAuC;AACvC,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,iDAAiD;AACjD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,GAAG,IAAI,CAQhB;AAED,kDAAkD;AAClD,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EASnD,CAAC"}
1
+ {"version":3,"file":"update-contract.d.ts","sourceRoot":"","sources":["../src/update-contract.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD;;;;;wDAKwD;AACxD,eAAO,MAAM,eAAe,EAAG,kBAA2B,CAAC;AAE3D;;;;;wDAKwD;AACxD,eAAO,MAAM,YAAY,EAAG,MAAe,CAAC;AAE5C,gFAAgF;AAChF,eAAO,MAAM,WAAW;IACtB,kEAAkE;;IAElE,2DAA2D;;IAE3D,gCAAgC;;IAEhC,wCAAwC;;CAEhC,CAAC;AAEX,wDAAwD;AACxD,eAAO,MAAM,eAAe;IAC1B,wEAAwE;;IAExE;;;;;qBAKiB;;IAEjB;;;;6DAIyD;;CAEjD,CAAC;AAEX;;;kDAGkD;AAClD,eAAO,MAAM,eAAe,EAAG,SAAkB,CAAC;AAElD,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB,EAAG,6BAAsC,CAAC;AAiCvE,uCAAuC;AACvC,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE/C;AAED,iDAAiD;AACjD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,MAAM,GAAG,IAAI,CAQhB;AAED,kDAAkD;AAClD,eAAO,MAAM,eAAe,EAAE,SAAS,aAAa,EASnD,CAAC"}
@@ -5,10 +5,17 @@
5
5
  * 一处定义、两边引用(结构纪律「概念唯一」):名字改了只有这一行要动。
6
6
  * 宿主判据为什么要读这个字面量、以及它的边界,见 `readPanelRegistered` 的头注。 */
7
7
  export const CONFIG_TAB_SLOT = 'ilife.config-tab';
8
+ /** 载体基段:`connection.rpc.call` 的**第一段**参数,宿主注册路径与它同源(`'/api' + 通道名`)。
9
+ *
10
+ * 一处定义(#735):总管自己的电话、以及面板到各家的每一通电话,第一段都必须是它。
11
+ * 真机实现(`dsh-client-connection/lib/client.js`):URL = `${第一段}/${第二段}`、信封 `method` = 第二段。
12
+ * 传错第一段就是 404:总管自己的电话在 #678 栽过一次,各家的配置体检在 #735 又栽过一次
13
+ * (那次传的是通道名 `/ilife-<技能>`,拼出来的地址上没有注册过那条路由,六家全 404)。 */
14
+ export const CARRIER_BASE = '/api';
8
15
  /** 载体:宿主注册 `connection.fetch.register` 的路径 / 面板 `connection.rpc.call` 的两段参数。 */
9
16
  export const MANAGER_RPC = {
10
17
  /** 载体基段(`connection.rpc.call` 的**第一段**参数)。传错第一段就是 404:真机上踩过一次。 */
11
- base: '/api',
18
+ base: CARRIER_BASE,
12
19
  /** 单段通道名,须 match `/^\/[A-Za-z0-9._~-]+$/`(cookbook §6)。 */
13
20
  channel: '/ilife-manager',
14
21
  /** 面板侧第二段参数(等于通道名去掉前导斜杠那一段)。 */
@@ -27,31 +34,53 @@ export const MANAGER_ACTIONS = {
27
34
  * 也不该把名字再写一份(写两份必然走散)。宿主把名字表连同版本行一起交出去,
28
35
  * 面板一行字面量都不留。 */
29
36
  targets: 'ilife-manager.targets',
37
+ /** 总管自述版本(票 #737):入参 `{}`,回包 `{version}`。
38
+ *
39
+ * 宿主读**自己这份已安装包**的 `package.json`(`manager-version.ts`),面板只渲染读到的值。
40
+ * 为什么走电话:面板是浏览器产物,禁 node 内建(`test/client-bundle-48.test.mjs` 看门),
41
+ * 读盘只许在宿主半;与卡路里 #130 同一条路(host 读 → RPC → client 纯渲染)。 */
42
+ version: 'ilife-manager.version',
30
43
  };
44
+ /** 版本读不到时两侧共用的降级字面量(面板照原样显示,不假装知道版本)。
45
+ *
46
+ * 一处定义、两侧引用:宿主半 `manager-version.ts` 读失败时回它,面板半 `update-client.ts`
47
+ * 归一化时也认它——面板侧不许 import 宿主半(会把 node 内建带进浏览器束)。 */
48
+ export const VERSION_UNKNOWN = 'unknown';
31
49
  /** 更新包默认官方源(`config.ts:20`,总管侧拼手工命令时用同一个值)。 */
32
50
  export const DEFAULT_REGISTRY = 'https://registry.npmjs.org/';
33
- /** 装不了 / 装不成的人话原因表:八种 `blockedReason` + 过程错误码(更新包 README 第 8、12 节)。 */
51
+ /** 装不了 / 装不成的人话原因表:八种 `blockedReason` + 过程错误码(更新包 README 第 8、12 节)。
52
+ *
53
+ * 每条都要三段齐全(票 #740 的文案判据):**事实**(哪里对不上)→ **后果**(这家现在能不能装)
54
+ * → **动作**(用户做得到、且面板上真有的那一步;面板代劳不了的走「下面这条命令」)。
55
+ * 禁用口语与自造词:「半截任务」「电话没接上」「回执异常」「还出现就重装」「查宿主日志」一律不写。
56
+ *
57
+ * 点名的按钮必须是**这一行上真够得着**的那颗(票 #740 第三轮):结果浮层一开就盖住题头的
58
+ * 「检查更新」,所以「改完再读一次」这类下一步一律写「重新检查」(画在那一行上);
59
+ * 只有发生在**重启之后**的下一步才写「检查更新」。反过来,凡是写着「下面这条命令」的那几句,
60
+ * 那一行的命令块必须真出来(判据 `Verdict.manualHint`)——两处都由门禁守着。 */
34
61
  const REASON_TEXT = {
35
- 'unknown-profile': '使用范围认不出(名字非法或目录不存在):先检查使用范围名与目录,这种情形不给手工命令。',
36
- 'source-install': '当前是从源码装的,不是按版本号装的:想走更新,先按版本号重装一次。',
37
- 'invalid-installation': '已装的包不完整(名字对不上、版本非法、入口文件缺失):重装当前版本,修好已装目录再查。',
38
- 'installation-changed': '安装位置在使用中途变了:重新打开宿主再查一次;还出现就重装。',
39
- 'pending-restart': '新版已装到磁盘,正在跑的还是旧版:重启宿主后生效。',
40
- 'registry-conflict': '本地声明的版本与磁盘实际版本互相矛盾:打开使用范围的清单,把目标包名那行改成版本号再试。',
41
- 'incompatible-node': '新版要求的 Node 与当前运行的 Node 对不上:先把 Node 升到 22 或更高,再查。',
42
- 'recovery-required': '上次安装被打断,留下一个半截任务:重新点一次安装;一直出现就查宿主日志。',
43
- 'check-failed': '查新版失败(联网不通或官方源不可达):检查网络与官方源地址,再查一次。',
44
- 'invalid-release': '远端发行信息不合规(名字对不上、版本非法、包地址或完整性校验不过):换个版本再查。',
45
- 'check-expired': '上次查新版的凭证过期了:重新查一次再点安装(不要重试旧编号)。',
46
- 'update-busy': '同一个使用范围同时只装一个:等当前任务结束再点。',
47
- 'install-failed': '安装没跑成:按下面那条手工命令在终端执行一次。',
48
- 'manager-unreachable': '总管的电话没接上(宿主半没注册或版本对不上):重启宿主后再试;仍不行看宿主日志。',
49
- 'bad-request': '回执异常(请求形状不对):把宿主日志里的事件名报给作者。',
50
- internal: '回执异常(总管内部错误):把宿主日志里的事件名报给作者。',
62
+ 'unknown-profile': '认不出这台机器上的安装位置(使用范围的目录不存在,或名字不合法)。把使用范围目录建好,再点「重新检查」。',
63
+ 'source-install': '这一份不是从 npm 发行包装的(源码装),面板不能更新它。要更新,照下面这条命令重装,装完再点「重新检查」。',
64
+ 'invalid-installation': '磁盘上这一份装得不完整(包名或版本对不上、入口文件缺失)。照下面这条命令重装,装完再点「重新检查」。',
65
+ 'installation-changed': '这台机器的安装清单变了(在别处装过、或清单被手工改过),这一家现在不能装。点「重新检查」重新读一次,再点「装上更新」。',
66
+ 'pending-restart': '新版已装到磁盘,正在运行的是旧版本。重启 DSH(退出后重新打开)后生效。',
67
+ 'registry-conflict': '使用范围清单里写的版本与磁盘上的实际版本对不上。打开使用范围的 `package.json`,把这一行改成磁盘上的版本号,再点「重新检查」。',
68
+ 'incompatible-node': '新版本要求 Node 22 或更高,当前运行的是更低版本。升级 Node、重启 DSH 后,再点「检查更新」。',
69
+ // 这条只在「磁盘上的版本与正在运行的一致(或磁盘那份读不到)」时才会印出来——「磁盘 ≠ 运行中」
70
+ // 那一态被事实判据先截走,印的是 `restartLine`。故这里**不许**再教人去重启(那在眼下没用)。
71
+ 'recovery-required': '上次安装没有收尾。点「重试安装」再跑一次;还出现这一条,就用下面这条命令重装。',
72
+ 'check-failed': '查不到最新版本:联网失败,或官方源(registry.npmjs.org)不可达。确认网络与源地址后,再点「重新检查」。',
73
+ 'invalid-release': '官方源上这个版本的元数据不完整(包名或版本不合法、包地址或校验值缺失)。换一个版本,或稍后重试。',
74
+ 'check-expired': '上次检查的结果已过期。点「重新检查」重查一次,再点「装上更新」。',
75
+ 'update-busy': '同一时间只能安装一个插件。等这次装完,再点「装上更新」。',
76
+ 'install-failed': '安装没有完成。在终端里执行下面这条命令把它装完,装完再点「重新检查」。',
77
+ 'manager-unreachable': '面板连不上总管插件(宿主里没注册,或版本对不上)。重启 DSH 后重试;仍不行就在 DSH 日志里找 `[dsh-life-pack]` 的报错。',
78
+ 'bad-request': '面板与总管之间的请求出错了(属程序缺陷)。请在 DSH 日志里找 `[dsh-life-pack]` 的报错,连同这家插件的名字报到本仓 issue。',
79
+ internal: '面板与总管之间的请求出错了(属程序缺陷)。请在 DSH 日志里找 `[dsh-life-pack]` 的报错,连同这家插件的名字报到本仓 issue。',
51
80
  };
52
81
  /** 原因码 → 人话(认不出的码不猜、原样回码并说明这是未知原因)。 */
53
82
  export function reasonText(code) {
54
- return REASON_TEXT[code] ?? '未知原因(' + code + '):把宿主日志里的事件名报给作者。';
83
+ return REASON_TEXT[code] ?? '面板不认识这个原因码(' + code + ')。请在 DSH 日志里找同一处报错,报到本仓 issue。';
55
84
  }
56
85
  /** 手工兜底命令(更新包 README 第 9 节形状):使用范围名含特殊字符时加引号。 */
57
86
  export function manualInstallCommand(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"update-contract.js","sourceRoot":"","sources":["../src/update-contract.ts"],"names":[],"mappings":"AAaA;;;;;wDAKwD;AACxD,MAAM,CAAC,MAAM,eAAe,GAAG,kBAA2B,CAAC;AAE3D,gFAAgF;AAChF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,kEAAkE;IAClE,IAAI,EAAE,MAAM;IACZ,2DAA2D;IAC3D,OAAO,EAAE,gBAAgB;IACzB,gCAAgC;IAChC,QAAQ,EAAE,eAAe;IACzB,wCAAwC;IACxC,IAAI,EAAE,oBAAoB;CAClB,CAAC;AAEX,wDAAwD;AACxD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,wEAAwE;IACxE,OAAO,EAAE,uBAAuB;IAChC;;;;;qBAKiB;IACjB,OAAO,EAAE,uBAAuB;CACxB,CAAC;AAEX,+CAA+C;AAC/C,MAAM,CAAC,MAAM,gBAAgB,GAAG,6BAAsC,CAAC;AAEvE,uEAAuE;AACvE,MAAM,WAAW,GAA2B;IAC1C,iBAAiB,EAAE,6CAA6C;IAChE,gBAAgB,EAAE,mCAAmC;IACrD,sBAAsB,EAAE,6CAA6C;IACrE,sBAAsB,EAAE,gCAAgC;IACxD,iBAAiB,EAAE,2BAA2B;IAC9C,mBAAmB,EAAE,8CAA8C;IACnE,mBAAmB,EAAE,kDAAkD;IACvE,mBAAmB,EAAE,sCAAsC;IAC3D,cAAc,EAAE,qCAAqC;IACrD,iBAAiB,EAAE,2CAA2C;IAC9D,eAAe,EAAE,iCAAiC;IAClD,aAAa,EAAE,0BAA0B;IACzC,gBAAgB,EAAE,yBAAyB;IAC3C,qBAAqB,EAAE,0CAA0C;IACjE,aAAa,EAAE,8BAA8B;IAC7C,QAAQ,EAAE,8BAA8B;CACzC,CAAC;AAEF,uCAAuC;AACvC,MAAM,UAAU,UAAU,CAAC,IAAY;IACrC,OAAO,WAAW,CAAC,IAAI,CAAC,IAAI,OAAO,GAAG,IAAI,GAAG,mBAAmB,CAAC;AACnE,CAAC;AAED,iDAAiD;AACjD,MAAM,UAAU,oBAAoB,CAAC,KAKpC;IACC,MAAM,IAAI,GAAG,OAAO,KAAK,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACnF,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,GAAG,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAClH,MAAM,OAAO,GAAG,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IAChH,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC1B,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,IAAI,gBAAgB,CAAC;IACvD,MAAM,UAAU,GAAG,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAChF,OAAO,uBAAuB,GAAG,UAAU,GAAG,oBAAoB,GAAG,KAAK,CAAC,WAAW,GAAG,GAAG,GAAG,OAAO,GAAG,cAAc,GAAG,QAAQ,CAAC;AACrI,CAAC;AAED,kDAAkD;AAClD,MAAM,CAAC,MAAM,eAAe,GAA6B;IACvD,iBAAiB;IACjB,gBAAgB;IAChB,sBAAsB;IACtB,sBAAsB;IACtB,iBAAiB;IACjB,mBAAmB;IACnB,mBAAmB;IACnB,mBAAmB;CACpB,CAAC"}
1
+ {"version":3,"file":"update-contract.js","sourceRoot":"","sources":["../src/update-contract.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"update-env.d.ts","sourceRoot":"","sources":["../src/update-env.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAG1E,6DAA6D;AAC7D,eAAO,MAAM,uBAAuB,EAAG,OAAgB,CAAC;AA6DxD,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,sBAAsB;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,6DAA6D;IAC7D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,6BAA6B;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,qDAAqD;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,yCAAyC;AACzC,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CA+EpH;AAED,iDAAiD;AACjD,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQ3G;AAUD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAuCnG;AAED,6DAA6D;AAC7D,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAY1D;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAkChF"}
1
+ {"version":3,"file":"update-env.d.ts","sourceRoot":"","sources":["../src/update-env.ts"],"names":[],"mappings":"AAyBA,OAAO,KAAK,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAG1E,6DAA6D;AAC7D,eAAO,MAAM,uBAAuB,EAAG,OAAgB,CAAC;AA0DxD,MAAM,WAAW,gBAAgB;IAC/B,oBAAoB;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,sBAAsB;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,6DAA6D;IAC7D,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1C,6BAA6B;IAC7B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,qDAAqD;IACrD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,yCAAyC;AACzC,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CA+EpH;AAED,iDAAiD;AACjD,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAQ3G;AAUD;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,mBAAmB,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAuCnG;AAED,6DAA6D;AAC7D,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAY1D;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,IAAI,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAkChF"}
@@ -28,8 +28,6 @@ import { CONFIG_TAB_SLOT } from './update-contract.js';
28
28
  export const MISSING_RUNNING_VERSION = '0.0.0';
29
29
  /** 使用范围的落盘清单与锁文件(与更新包读的四处同名,`reader.ts:20`)。 */
30
30
  const PROFILE_STATE_FILES = ['pnpm-lock.yaml', 'pnpm-workspace.yaml', 'package-lock.json'];
31
- /** 指纹绑定:第一次读到自洽的环境就把指纹记下来,之后再变即 `installation-changed`(同更新包语义)。 */
32
- const boundKeys = new Map();
33
31
  async function packageAt(directory) {
34
32
  const contents = await readFile(join(directory, 'package.json'), 'utf8');
35
33
  const manifest = JSON.parse(contents);
@@ -149,15 +147,13 @@ export async function readTargetEnvironment(packageName, options) {
149
147
  ...stateFiles,
150
148
  ]))
151
149
  .digest('hex');
152
- const bindKey = options.pluginId + '\0' + packageName;
153
- const bound = boundKeys.get(bindKey);
154
- if (bound === undefined) {
155
- if (view.packageValid && !view.sourceInstall)
156
- boundKeys.set(bindKey, view.installationKey);
157
- }
158
- else if (bound !== view.installationKey && view.packageValid && !view.sourceInstall) {
159
- view.blockedReason = 'installation-changed';
160
- }
150
+ // 这里**故意不**在进程里留一份「第一次读到的安装态」做比对(票 #740 对抗式审查逮到的):
151
+ // 那份绑定一旦落定就不会刷新,于是「装成一家之后」其余各家在本进程里**永久**判 installation-changed
152
+ // ——面板给的「重新检查」点了也没用,用户只能重启宿主才能接着装下一家(真机就是这么卡住的)。
153
+ // 真正管 TOCTOU 的那道守卫在更新包自己手里,而且**按凭证**:`service.js:309`/`:325` 在装之前重读一次,
154
+ // `env.installationKey !== checked.installationKey` 就抛 installation-changed;它的口径是
155
+ // 「这一次检查到这一次安装之间有没有变」,比「本进程第一次读到的样子」准,也不会卡住后续安装。
156
+ // 故本处只如实投影安装态,不做二次拦截。
161
157
  if (view.blockedReason === null) {
162
158
  if (!view.packageValid)
163
159
  view.blockedReason = 'invalid-installation';
@@ -1 +1 @@
1
- {"version":3,"file":"update-env.js","sourceRoot":"","sources":["../src/update-env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-env.js","sourceRoot":"","sources":["../src/update-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AACH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC5D,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AACxF,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEnF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,6DAA6D;AAC7D,MAAM,CAAC,MAAM,uBAAuB,GAAG,OAAgB,CAAC;AAExD,gDAAgD;AAChD,MAAM,mBAAmB,GAAG,CAAC,gBAAgB,EAAE,qBAAqB,EAAE,mBAAmB,CAAU,CAAC;AAQpG,KAAK,UAAU,SAAS,CAAC,SAAiB;IACxC,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;IACzE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAA4B,CAAC;IACjE,OAAO,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,YAAY,CAAC,QAAgB;IAC1C,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,IAAK,KAA4B,CAAC,IAAI,KAAK,QAAQ;YAAE,OAAO,EAAE,CAAC;QACxE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,MAAM,CAAC,SAAiB,EAAE,QAAgB;IACjD,MAAM,MAAM,GAAG,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC7C,OAAO,MAAM,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAClF,CAAC;AAED;qDACqD;AACrD,KAAK,UAAU,eAAe,CAAC,GAAkB,EAAE,WAAmB;IACpE,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,KAAK,WAAW,IAAI,OAAO,GAAG,CAAC,QAAQ,CAAC,OAAO,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAChG,MAAM,YAAY,GAAG,GAAG,CAAC,QAAQ,CAAC,OAA8C,CAAC;IACjF,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,GAA0C,CAAC;IACzE,MAAM,MAAM,GAAG,QAAQ,EAAE,MAA6C,CAAC;IACvE,KAAK,MAAM,KAAK,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC;QACnF,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QACnG,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAC;YAAE,OAAO,KAAK,CAAC;QACnD,IAAI,MAAM,GAAG,QAAQ,CAAC;QACtB,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACpC,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC;YAAE,OAAO,KAAK,CAAC;QACjD,IAAI,CAAC;YACH,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE;gBAAE,OAAO,KAAK,CAAC;QACnD,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAgBD,yCAAyC;AACzC,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,WAAmB,EAAE,OAAyB;IACxF,MAAM,IAAI,GAAoB;QAC5B,WAAW,EAAE,IAAI;QACjB,eAAe,EAAE,OAAO,CAAC,eAAe;QACxC,OAAO,EAAE,IAAI;QACb,UAAU,EAAE,IAAI;QAChB,gBAAgB,EAAE,IAAI;QACtB,YAAY,EAAE,KAAK;QACnB,aAAa,EAAE,KAAK;QACpB,aAAa,EAAE,IAAI;QACnB,eAAe,EAAE,IAAI;QACrB,QAAQ,EAAE,KAAK;KAChB,CAAC;IACF,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACxE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAC/B,IAAI,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,YAAY,GAAG,OAAO,CAAC,OAAO,IAAI,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;IAC/E,IAAI,OAAe,CAAC;IACpB,IAAI,UAAkB,CAAC;IACvB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvC,UAAU,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACvB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC7B,IAAI,OAAsB,CAAC;IAC3B,IAAI,SAAwB,CAAC;IAC7B,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,SAAS,CAAC,UAAU,CAAC,CAAC;IACxC,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC,aAAa,GAAG,sBAAsB,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,CAAC;QACH,SAAS,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC,CAAC;IAC7E,CAAC;IAAC,MAAM,CAAC;QACP,mDAAmD;QACnD,IAAI,CAAC,aAAa,GAAG,sBAAsB,CAAC;QAC5C,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,YAAY,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,IAAI,EAAE,CAA4B,CAAC;IACtF,IAAI,CAAC,gBAAgB,GAAG,OAAO,SAAS,CAAC,QAAQ,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3G,IAAI,CAAC,YAAY,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAClE,IAAI,CAAC,aAAa,GAAG,CAAC,YAAY,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAChI,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9G,IAAI,CAAC,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC;SACxC,MAAM,CACL,IAAI,CAAC,SAAS,CAAC;QACb,OAAO;QACP,UAAU;QACV,WAAW;QACX,OAAO,CAAC,QAAQ;QAChB,OAAO,CAAC,QAAQ;QAChB,SAAS,CAAC,SAAS;QACnB,SAAS,CAAC,QAAQ;QAClB,GAAG,UAAU;KACd,CAAC,CACH;SACA,MAAM,CAAC,KAAK,CAAC,CAAC;IACjB,mDAAmD;IACnD,gEAAgE;IAChE,iDAAiD;IACjD,uEAAuE;IACvE,kFAAkF;IAClF,iDAAiD;IACjD,sBAAsB;IACtB,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,IAAI,CAAC,aAAa,GAAG,sBAAsB,CAAC;aAC/D,IAAI,IAAI,CAAC,aAAa;YAAE,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;aAC9D,IAAI,IAAI,CAAC,gBAAgB,KAAK,OAAO,CAAC,cAAc;YAAE,IAAI,CAAC,aAAa,GAAG,iBAAiB,CAAC;IACpG,CAAC;IACD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC;IAC5C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iDAAiD;AACjD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,WAAmB,EAAE,UAAkB;IACjF,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;QAClG,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA0B,CAAC;QAC1D,OAAO,OAAO,QAAQ,CAAC,OAAO,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IACvG,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;qCAKqC;AACrC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkE,CAAC;AAE7F;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,WAAmB,EAAE,UAAkB;IAC/E,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW,CAAC,CAAC;IAChE,IAAI,KAAyB,CAAC;IAC9B,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAElF,CAAC;QACF,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,OAAO,YAAY,KAAK,QAAQ;YAAE,KAAK,GAAG,YAAY,CAAC;aACtD,IAAI,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YAC1D,MAAM,KAAK,GAAI,YAAsC,CAAC,OAAO,CAAC;YAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,KAAK,GAAG,KAAK,CAAC;QAC/C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,CAAC,KAAK,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,IAAI,IAAY,CAAC;IACjB,IAAI,OAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;QAClC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;YAAE,OAAO,KAAK,CAAC;QACjC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACjB,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;IACzB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACxC,IAAI,MAAM,IAAI,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,OAAO;QAAE,OAAO,MAAM,CAAC,UAAU,CAAC;IAC3F,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,CAAC;QACH,UAAU,GAAG,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;IACD,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;IACxD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,WAAmB,EACnB,UAAkB;IAElB,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,UAAU,EAAE,cAAc,EAAE,WAAW,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;QAClG,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA+C,CAAC;QAC/E,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;QACjD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,GAAG;YAAE,OAAO,IAAI,CAAC;QACtB,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,IAAI,SAAS,GAAG,SAAS,CAAC;IAC1B,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,EAAE,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,MAAM,KAAK,SAAS;YAAE,MAAM;QAChC,SAAS,GAAG,MAAM,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,EAAE,MAAM,CAAC,CAAC;YACpE,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAuB,CAAC;YACvD,IAAI,QAAQ,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACtC,KAAK,GAAG,SAAS,CAAC;gBAClB,MAAM;YACR,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,2BAA2B;QAC7B,CAAC;IACH,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,MAAM,GAAG,GAAG,GAAG,cAAc,GAAG,GAAG,GAAG,eAAe,CAAC;QAC5D,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACjC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/B,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC;gBACjC,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACtC,CAAC;QACH,CAAC;IACH,CAAC;IACD,MAAM,QAAQ,GAAG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,CAAC;IACjF,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;AACrD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"update-host.d.ts","sourceRoot":"","sources":["../src/update-host.ts"],"names":[],"mappings":"AAiBA,6DAA6D;AAC7D,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC;AAE3I,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5E;AA4JD,0BAA0B;AAC1B,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAQpE"}
1
+ {"version":3,"file":"update-host.d.ts","sourceRoot":"","sources":["../src/update-host.ts"],"names":[],"mappings":"AAkBA,6DAA6D;AAC7D,MAAM,MAAM,YAAY,GACpB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CAAE,GAC9C;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC;AAE3I,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC5E;AA+JD,0BAA0B;AAC1B,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAQpE"}
@@ -10,6 +10,7 @@
10
10
  */
11
11
  import { createHostUpdate, createUpdateExecutor, detectEnvironmentKind, resolveUpdateConfig } from 'dsh-plugin-update';
12
12
  import { DEFAULT_REGISTRY, MANAGER_ACTIONS, reasonText } from './update-contract.js';
13
+ import { readManagerVersion } from './manager-version.js';
13
14
  import { UPDATE_TARGETS, targetFor } from './update-targets.js';
14
15
  import { MISSING_RUNNING_VERSION, captureRunningVersion, readPanelRegistered, readSkillRide, readTargetEnvironment, resolveProfileDir } from './update-env.js';
15
16
  function service(ctx, name) {
@@ -123,6 +124,9 @@ async function buildTable(ctx) {
123
124
  },
124
125
  ],
125
126
  [MANAGER_ACTIONS.targets, () => readTargets(facts, phonesByTarget, pollMs)],
127
+ // 总管自述版本(#737):读自己这份包的描述文件,永不抛(读不到回 unknown)。恒成功,
128
+ // 故不走下面的 `internal` 兜底——「读不到」也是一种要给面板看的事实,不是错误码。
129
+ [MANAGER_ACTIONS.version, () => Promise.resolve({ ok: true, value: { version: readManagerVersion() } })],
126
130
  ]);
127
131
  return async (method, args) => {
128
132
  const action = managerActions.get(method);
@@ -1 +1 @@
1
- {"version":3,"file":"update-host.js","sourceRoot":"","sources":["../src/update-host.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-host.js","sourceRoot":"","sources":["../src/update-host.ts"],"names":[],"mappings":"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"}
@@ -45,17 +45,54 @@ export type SlotState = 'connected' | 'absent' | 'unregistered-product' | 'not-c
45
45
  /** 一家页签此刻的状态:账本里已注册 → `connected`(面板显示它自己的设置页),否则按宿主装机读数分三态。 */
46
46
  export declare function slotStateOf(target: TargetInfo | null, inLedger: boolean): SlotState;
47
47
  export type VerdictKind = 'unknown' | 'up-to-date' | 'update-available' | 'blocked';
48
+ /** 这一行给的按钮(票 #740):装上/装上更新/重试安装/重新检查。
49
+ * 前两个是「做新的事」,后两个是**把卡住的状态推回可做**——拦截态不许没有出路。 */
50
+ export type VerdictAction = 'install' | 'update' | 'retry' | 'recheck';
48
51
  export interface Verdict {
49
52
  readonly kind: VerdictKind;
50
- /** 一句话结论(面板那行正文)。 */
53
+ /** 一句话结论(面板那行正文):事实 + 后果 + 动作,三段齐全。 */
51
54
  readonly text: string;
52
- /** 这一行给不给按钮:缺席给「装上」,有新版给「装上更新」,其余不给。 */
53
- readonly action: 'install' | 'update' | null;
55
+ readonly action: VerdictAction | null;
56
+ /** 这句话是否指着「下面这条命令」:指着就必须真把命令块摊出来(票 #740 第三轮)。
57
+ * 没有这一格时出现过失配:`recovery-required` 那句写着「就用下面这条命令重装」,
58
+ * 而命令块只在「拦截态且没按钮」时才画,那句下面什么都没有。 */
59
+ readonly manualHint?: boolean;
54
60
  }
55
- /** 把快照翻成一行结论:还没查 / 已是最新 / 有新版 / 装不了(附人话原因)。 */
61
+ /** 这一家是不是「装好了、只差重启」——判据是**事实**(磁盘版本 ≠ 正在跑的版本),不是原因码。
62
+ *
63
+ * 为什么不许按原因码判(票 #740 真机):同一种事实在更新核心里可能报成两种码——
64
+ * `pending-restart`,或者被上一次中断的任务盖成 `recovery-required`。按码判会把「该重启」
65
+ * 漏成一句「装不上」,用户看到的正是那种读不懂的屏。 */
66
+ export declare function restartPendingOf(snapshot: UpdateSnapshot): boolean;
67
+ /** 待重启那一句(三段齐全:事实 → 后果 → 动作)。
68
+ *
69
+ * 措辞不写「新版」:磁盘上那份也可能比正在跑的**低**(手工降级),「新版」就不实了;
70
+ * 只照事实说「磁盘上装的是 X、正在运行的是 Y」。
71
+ * 动作只给「重启 DSH」:这一态下面板**做不了别的**——更新包的可装判据要求最新版严格高于
72
+ * **正在运行**的版本(`service.js:219`),而凭证只发在可装态(`service.js:256`:`receipt` 只在
73
+ * `canInstall` 时给),所以这一态里「重试安装」点了也是白点。 */
74
+ export declare function restartLine(snapshot: UpdateSnapshot): string;
75
+ /** 这一行此刻该画哪颗按钮:结论自带的动作优先,**失败的行一律给「重新检查」**(票 #740 第三轮)。
76
+ *
77
+ * 失败的行(查不到最新版/检查过期/装失败)没有快照、也就没有结论,原先一颗按钮都不画:
78
+ * 屏上写着「再点「检查更新」」,那颗按钮却在浮层底下 ⇒ 无路可走。重新查一次对每一种失败都成立。 */
79
+ export declare function cardActionOf(verdict: Verdict | null, phase: 'idle' | 'checking' | 'ready' | 'installing' | 'failed'): VerdictAction | null;
80
+ /** 装成一家之后,其余各家的读数一律作废(票 #740):七家共用同一份使用范围清单,
81
+ * 刚那次安装已经改写了它,旧快照再拿去装必然被守卫拦下。这句话就是那条守卫的人话。 */
82
+ export declare function staleVerdict(): Verdict;
83
+ /** 把除 `keepKey` 之外的行全标成过期(票 #740):装成一家 ⇒ 七家共用的安装清单被改写,
84
+ * 其余各家的旧快照再拿去装必然被守卫拦下。纯函数:状态源与单测共用同一份判据,
85
+ * 不关心行里还有什么(泛型只要求有 `stale` 这一格)。 */
86
+ export declare function markStaleOthers<T extends {
87
+ readonly stale?: boolean;
88
+ }>(rows: Readonly<Record<string, T>>, keepKey: string): Record<string, T>;
89
+ /** 把快照翻成一行结论:还没查 / 已是最新 / 有新版 / 待重启 / 装不了(附人话原因与下一步)。 */
56
90
  export declare function verdictOf(target: TargetInfo, snapshot: UpdateSnapshot): Verdict;
57
- /** 待重启横幅文案(更新包 README 第 10 节:说清新版号与「重启后才生效」两件事)。 */
58
- export declare function pendingRestartText(target: TargetInfo, snapshot: UpdateSnapshot): string | null;
91
+ /** 待重启横幅:**一行总账**,只点名哪几家要做「重启 DSH」这件事。
92
+ *
93
+ * 为什么不再逐家重复那句话(票 #740 对抗式审查第三轮的朗读表逮到):同一句「重启 DSH…后生效」
94
+ * 会同时出现在横幅和那家卡片上,一屏两遍。分工定死:**横幅答「谁要重启」,卡片答「为什么、怎么做」**。 */
95
+ export declare function restartBannerText(titles: readonly string[]): string | null;
59
96
  /** 面板展示的那条可复制命令(用户会照着敲的那一条)。
60
97
  *
61
98
  * 缺席包给人人都会用的**单命令双包**口径(#674 冻结的装入口径:不带版本号、不带任何开关);
@@ -1 +1 @@
1
- {"version":3,"file":"update-view.d.ts","sourceRoot":"","sources":["../src/update-view.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,YAAY,EAAiB,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAIrF,mDAAmD;AACnD,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACtG,sCAAsC;IACtC,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IACvC,QAAQ,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC;sDACkD;IAClD,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC;IACnC,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE;QAAE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CACnF;AAED,qDAAqD;AACrD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;CACvC;AAED,wEAAwE;AACxE,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAEpD;AAED;;;;;GAKG;AACH,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,sBAAsB,GAAG,eAAe,CAAC;AAE1F,gEAAgE;AAChE,wBAAgB,WAAW,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,EAAE,QAAQ,EAAE,OAAO,GAAG,SAAS,CAKnF;AAED,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,YAAY,GAAG,kBAAkB,GAAG,SAAS,CAAC;AAEpF,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC;IAC3B,qBAAqB;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,wCAAwC;IACxC,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC;CAC9C;AAED,+CAA+C;AAC/C,wBAAgB,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,GAAG,OAAO,CAuB/E;AAED,oDAAoD;AACpD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAO9F;AAED;;;;yEAIyE;AACzE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAGzF;AAED,yCAAyC;AACzC,wBAAgB,YAAY,CAAC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,GAAG,IAAI,GAAG,SAAS,MAAM,EAAE,CAOnG"}
1
+ {"version":3,"file":"update-view.d.ts","sourceRoot":"","sources":["../src/update-view.ts"],"names":[],"mappings":"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"}
@@ -14,42 +14,114 @@ export function slotStateOf(target, inLedger) {
14
14
  return 'unregistered-product';
15
15
  return 'not-connected';
16
16
  }
17
- /** 把快照翻成一行结论:还没查 / 已是最新 / 有新版 / 装不了(附人话原因)。 */
17
+ /** 这一家是不是「装好了、只差重启」——判据是**事实**(磁盘版本 ≠ 正在跑的版本),不是原因码。
18
+ *
19
+ * 为什么不许按原因码判(票 #740 真机):同一种事实在更新核心里可能报成两种码——
20
+ * `pending-restart`,或者被上一次中断的任务盖成 `recovery-required`。按码判会把「该重启」
21
+ * 漏成一句「装不上」,用户看到的正是那种读不懂的屏。 */
22
+ export function restartPendingOf(snapshot) {
23
+ const installed = snapshot.installedVersion;
24
+ return installed !== null && installed !== snapshot.runningVersion;
25
+ }
26
+ /** 待重启那一句(三段齐全:事实 → 后果 → 动作)。
27
+ *
28
+ * 措辞不写「新版」:磁盘上那份也可能比正在跑的**低**(手工降级),「新版」就不实了;
29
+ * 只照事实说「磁盘上装的是 X、正在运行的是 Y」。
30
+ * 动作只给「重启 DSH」:这一态下面板**做不了别的**——更新包的可装判据要求最新版严格高于
31
+ * **正在运行**的版本(`service.js:219`),而凭证只发在可装态(`service.js:256`:`receipt` 只在
32
+ * `canInstall` 时给),所以这一态里「重试安装」点了也是白点。 */
33
+ export function restartLine(snapshot) {
34
+ const installed = snapshot.installedVersion ?? snapshot.job?.targetVersion ?? '新版本';
35
+ return '磁盘上装的是 ' + String(installed) + ';正在运行的是 ' + snapshot.runningVersion + '。重启 DSH(退出后重新打开)后生效。';
36
+ }
37
+ /** 「条件在别处(目录/清单/别处装的),改完回来重读一次」的原因码:面板能给的下一步就是「重新检查」。
38
+ *
39
+ * 为什么要逐码列(票 #740 第三轮的朗读表):`unknown-profile`/`registry-conflict`/`invalid-installation`/
40
+ * `source-install` 这四态原先一个动作都不给,屏上那句却写着「再点「检查更新」」——那颗按钮住在面板题头,
41
+ * 结果浮层一开(点「检查更新」就开)就被浮层盖住,够不着。跟两张「还没查过」的卡是同一类病。 */
42
+ const RECHECK_REASONS = new Set(['installation-changed', 'unknown-profile', 'registry-conflict', 'invalid-installation', 'source-install']);
43
+ /** 「这一步面板代劳不了、得照下面那条命令做」的原因码:这些话下面必须真有命令块。 */
44
+ const NEEDS_MANUAL = new Set(['source-install', 'invalid-installation', 'recovery-required']);
45
+ /** 拦截态各自给得出的下一步:面板能代劳的给按钮,代劳不了的给 null(那种走手工命令块)。 */
46
+ function actionForBlocked(reason) {
47
+ if (RECHECK_REASONS.has(reason))
48
+ return 'recheck';
49
+ if (reason === 'recovery-required')
50
+ return 'retry';
51
+ // `incompatible-node`(要升级 Node 并重启 DSH)与 `pending-restart`(要重启,且已被上面那条事实判据截走)
52
+ // 这两态面板一步也做不了,按定义给 null;它们那句里点名的「检查更新」发生在重启之后,那时浮层早已关掉。
53
+ return null;
54
+ }
55
+ /** 这一行此刻该画哪颗按钮:结论自带的动作优先,**失败的行一律给「重新检查」**(票 #740 第三轮)。
56
+ *
57
+ * 失败的行(查不到最新版/检查过期/装失败)没有快照、也就没有结论,原先一颗按钮都不画:
58
+ * 屏上写着「再点「检查更新」」,那颗按钮却在浮层底下 ⇒ 无路可走。重新查一次对每一种失败都成立。 */
59
+ export function cardActionOf(verdict, phase) {
60
+ if (verdict?.action)
61
+ return verdict.action;
62
+ return phase === 'failed' ? 'recheck' : null;
63
+ }
64
+ /** 装成一家之后,其余各家的读数一律作废(票 #740):七家共用同一份使用范围清单,
65
+ * 刚那次安装已经改写了它,旧快照再拿去装必然被守卫拦下。这句话就是那条守卫的人话。 */
66
+ export function staleVerdict() {
67
+ return { kind: 'blocked', text: '刚在本面板装过别的插件,共用的安装清单变了,这一家要先重读一次。点「重新检查」,再点「装上更新」。', action: 'recheck' };
68
+ }
69
+ /** 把除 `keepKey` 之外的行全标成过期(票 #740):装成一家 ⇒ 七家共用的安装清单被改写,
70
+ * 其余各家的旧快照再拿去装必然被守卫拦下。纯函数:状态源与单测共用同一份判据,
71
+ * 不关心行里还有什么(泛型只要求有 `stale` 这一格)。 */
72
+ export function markStaleOthers(rows, keepKey) {
73
+ const next = {};
74
+ for (const [key, row] of Object.entries(rows))
75
+ next[key] = key === keepKey ? row : { ...row, stale: true };
76
+ return next;
77
+ }
78
+ /** 把快照翻成一行结论:还没查 / 已是最新 / 有新版 / 待重启 / 装不了(附人话原因与下一步)。 */
18
79
  export function verdictOf(target, snapshot) {
19
80
  const absent = isAbsent(target);
20
81
  const latest = snapshot.latestVersion;
21
82
  if (absent && latest === null) {
22
- return { kind: 'unknown', text: '未安装;点「检查更新」查最新版本后装上。', action: null };
83
+ // 动作给「重新检查」而不是让人去点面板顶上那颗「检查更新」:浮层开着的时候,顶上那颗被盖住了
84
+ // (票 #740 对抗式审查第三轮的朗读表逮到)⇒ **每张卡自己的动作必须在这张卡上够得着**。
85
+ return { kind: 'unknown', text: '未安装。点「重新检查」查最新版本,再点「装上」。', action: 'recheck' };
23
86
  }
24
87
  if (absent) {
25
- return { kind: 'update-available', text: '未安装;最新版本 ' + String(latest) + '。', action: 'install' };
88
+ return { kind: 'update-available', text: '未安装;最新版本 ' + String(latest) + '。点「装上」安装。', action: 'install' };
26
89
  }
27
- if (snapshot.blockedReason !== null) {
90
+ // ① 装了没重启:先说这件事——它压过一切「装不上」(那时用户该做的只有重启)。
91
+ if (restartPendingOf(snapshot)) {
92
+ return { kind: 'blocked', text: restartLine(snapshot), action: null };
93
+ }
94
+ // ② 有东西可装、却被守卫或环境拦下:说清原因 + 给一个能执行的下一步。
95
+ // 「没东西可装」的那些拦截不在这里说——那时守卫与用户无关,不该在屏上占一行(真机实测:
96
+ // 已经是最新的一家挂着「安装清单变了」+一条重装命令,纯噪声)。
97
+ const installed = snapshot.installedVersion;
98
+ const hasNewer = latest !== null && latest !== installed;
99
+ if (snapshot.blockedReason !== null && hasNewer) {
28
100
  const blocked = snapshot.blockedReason;
29
- if (blocked === 'pending-restart') {
30
- return { kind: 'blocked', text: reasonText(blocked), action: null };
31
- }
32
- return { kind: 'blocked', text: reasonText(blocked), action: null };
101
+ return { kind: 'blocked', text: reasonText(blocked), action: actionForBlocked(blocked), manualHint: NEEDS_MANUAL.has(blocked) };
33
102
  }
34
103
  if (latest === null) {
35
- return { kind: 'unknown', text: '还没查过最新版本;点「检查更新」。', action: null };
104
+ return { kind: 'unknown', text: '还没查过最新版本。点「重新检查」。', action: 'recheck' };
36
105
  }
37
106
  if (snapshot.canInstall) {
38
- return { kind: 'update-available', text: '有新版:' + String(latest) + ',点「装上更新」。', action: 'update' };
107
+ // 把「正在运行的是哪个版本」写进同一行:用户不必回头去版本行里找。
108
+ return { kind: 'update-available', text: '有新版本 ' + String(latest) + '(正在运行 ' + snapshot.runningVersion + ')。点「装上更新」。', action: 'update' };
109
+ }
110
+ if (hasNewer) {
111
+ // 有新版、却没有可用凭证(这一通的凭证过期,或压根没签发)⇒ **不许说「已是最新」**:
112
+ // 那是假话(最新版就在官方源上、磁盘上还是旧的),正确答案是重新检查一次拿新凭证。
113
+ return { kind: 'update-available', text: '有新版本 ' + String(latest) + '(正在运行 ' + snapshot.runningVersion + ')。点「重新检查」,再点「装上更新」。', action: 'recheck' };
39
114
  }
40
- return { kind: 'up-to-date', text: '已是最新(' + String(latest) + ')。', action: null };
115
+ return { kind: 'up-to-date', text: '已是最新版本 ' + String(latest) + '。', action: null };
41
116
  }
42
- /** 待重启横幅文案(更新包 README 第 10 节:说清新版号与「重启后才生效」两件事)。 */
43
- export function pendingRestartText(target, snapshot) {
44
- if (snapshot.blockedReason !== 'pending-restart')
117
+ /** 待重启横幅:**一行总账**,只点名哪几家要做「重启 DSH」这件事。
118
+ *
119
+ * 为什么不再逐家重复那句话(票 #740 对抗式审查第三轮的朗读表逮到):同一句「重启 DSH…后生效」
120
+ * 会同时出现在横幅和那家卡片上,一屏两遍。分工定死:**横幅答「谁要重启」,卡片答「为什么、怎么做」**。 */
121
+ export function restartBannerText(titles) {
122
+ if (titles.length === 0)
45
123
  return null;
46
- const installed = snapshot.installedVersion ?? snapshot.job?.targetVersion ?? null;
47
- const running = snapshot.runningVersion;
48
- if (installed === null)
49
- return '⚠️ 新版已装好,重启宿主后生效。';
50
- if (installed === running)
51
- return '⚠️ 新版 ' + installed + ' 已装好,重启宿主后生效。';
52
- return '⚠️ 新版 ' + installed + ' 已装好,正在跑的还是 ' + running + ',重启宿主后生效。';
124
+ return '⚠️ 待重启 DSH(退出后重新打开):' + titles.join('、');
53
125
  }
54
126
  /** 面板展示的那条可复制命令(用户会照着敲的那一条)。
55
127
  *