dsh-plugin-update 0.2.0 → 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.
- package/CHANGELOG.md +54 -0
- package/README.md +511 -279
- package/dist/batch-run.d.ts +80 -0
- package/dist/batch-run.js +86 -0
- package/dist/batch.d.ts +111 -0
- package/dist/batch.js +183 -0
- package/dist/changelog-io.d.ts +56 -0
- package/dist/changelog-io.js +258 -0
- package/dist/changelog.d.ts +96 -0
- package/dist/changelog.js +287 -0
- package/dist/client.d.ts +16 -0
- package/dist/client.js +75 -1
- package/dist/commands.d.ts +59 -0
- package/dist/commands.js +60 -4
- package/dist/config.d.ts +48 -0
- package/dist/config.js +9 -1
- package/dist/diag.d.ts +125 -0
- package/dist/diag.js +243 -0
- package/dist/entry.d.ts +60 -0
- package/dist/entry.js +305 -0
- package/dist/gate.d.ts +35 -0
- package/dist/host-batch.d.ts +113 -0
- package/dist/host-batch.js +778 -0
- package/dist/host.d.ts +129 -0
- package/dist/host.js +479 -41
- package/dist/http.d.ts +127 -0
- package/dist/http.js +300 -0
- package/dist/panel-batch.d.ts +151 -0
- package/dist/panel-batch.js +927 -0
- package/dist/panel.d.ts +256 -0
- package/dist/panel.js +1300 -0
- package/dist/ports.d.ts +208 -0
- package/dist/queue.d.ts +109 -0
- package/dist/queue.js +182 -0
- package/dist/reader.d.ts +84 -0
- package/dist/reader.js +6 -4
- package/dist/redaction.d.ts +120 -0
- package/dist/redaction.js +205 -0
- package/dist/service.d.ts +72 -0
- package/dist/service.js +100 -6
- package/dist/store.d.ts +229 -0
- package/dist/store.js +251 -12
- package/package.json +31 -2
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# Changelog
|
|
2
|
+
|
|
3
|
+
格式为 Keep-a-Changelog 子集:`Added/Fixed/Changed` 必写,`Deprecated/Removed/Security` 有则透传,`Unreleased` 面板忽略,禁止 git-log 直倒。面板缺日志时中性提示,不挡安装。
|
|
4
|
+
|
|
5
|
+
## [0.3.1] - 2026-10-05
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- 新增 `dsh-plugin-update/http`:`createHttpCall`(单三电话 + 批量五电话同一内核,`batchPrefix` 独立)+ `mountUpdatePanelHttp`/`mountUpdateEntryHttp`/`mountUpdateBatchPanelHttp`,只传 pluginId + prefix/batchPrefix + baseUrl/routes 即跑通检查/安装/待重启/失败与批量总账/明细/动作;queue/env/session/rows/progress/diag 全透传,传输失败走 `http-transport-failed` 异常通道,取消整批走 `batchCancel` 电话。
|
|
9
|
+
|
|
10
|
+
## [0.3.0] - 2026-10-04
|
|
11
|
+
|
|
12
|
+
### Added
|
|
13
|
+
- **多目标批量更新**(`dsh-plugin-update/batch` + `/panel-batch`):一次接线管 N 个插件——五个批量电话(status/check/install/resume/cancel)+ 总账/明细/动作三层面板;一家收尾才起下一家,失败一家继续下一家(可配停)。
|
|
14
|
+
- **耐久会话账本**:批量会话落盘 `update-queue/<使用范围短指纹>/batch.json`,断点续跑(进程重启/前端重载后 `batchResume` 接着走),幂等编号恒等(已完成不重装),`selfKey` 默认把自己排最后(自更新安全)。
|
|
15
|
+
- **排队语义**:忙时也能「加入队列」——`batchInstall` 在驱动进行中不再回 `update-busy`,改成并入会话 + 单飞推进;单插件回 `update-busy` 映射成 `queued`(相位退 `ready`,**不是失败**),排队行给「取消排队」(打该家自己的安装电话 `cancelQueued`)。
|
|
16
|
+
- **更新入口件**(`dsh-plugin-update/entry`):`button`/`badge`/`inline` 三形态 + 状态联动文案(检查更新/有新版 X.Y.Z/正在安装…/待重启/更新失败,点此查看);`autoCheck` 与 `openOn` 两个策略。**铁律**:只做「查 + 打开面板」,任何路径都不自动安装。
|
|
17
|
+
- 只读渲染开关 `renderUpdatePanelHTML({ actions: 'none' })`:五章内容照画、动作按钮一个不画(给「调用方自己提供动作面」的场景)。
|
|
18
|
+
- 跨插件单队列串行:同范围 `queue.json` + `global.lock`,FIFO 取号、仅撤自己,`includeQueue/showOthers` 开关,默认只看自己。
|
|
19
|
+
- 跳过按插件+版本持久化:`skipped.json`(50 条封顶、坏文件自愈),同一横幅行「已跳过 X.Y.Z · 恢复」。
|
|
20
|
+
- 版本通道:`releaseChannel` 默认 `stable`,显式 `prerelease` 才收预发布,全通道精确版锁定。
|
|
21
|
+
- 现成整组件:`dsh-plugin-update/panel`(内嵌/弹窗一键切换,轮询/门控/中文一句话/待重启横幅/手工复制/排队开关/跳过/诊断复制全内置),完整类型定义随包分发,零运行依赖。
|
|
22
|
+
- 脱敏规则表:五条具名规则(绝对路径/URL 账号密码/令牌前缀/密码键值对/邮箱),顺序固定,两占位符 `<路径>`/`<脱敏>`,复制前收敛。
|
|
23
|
+
- 后台安装不中断:关面板不中断,重开读盘 1 秒内恢复,仅进程关判中断。
|
|
24
|
+
- D5 档案卷可选主题:`theme: 'd5-paper'`(`mountUpdatePanel` + `setTheme`,默认不动),迷你印章 + profile 牌 + 待重启衬线横幅 + 手绘 SVG 标 + 窄屏印章固定 + 省略号逐字折叠 + 浅深双主题,DOM 冻结、复制诊断常在。
|
|
25
|
+
|
|
26
|
+
### Fixed
|
|
27
|
+
- **死按钮根治**:批量面板的详情曾把单插件内核 markup 原样搬入而不接管行为,里面 5 颗按钮可点却无反应。现在详情的内核走**只读渲染**(`actions:'none'`,连队列章的 `toggle-queue` 一起摘),动作行由批量面板自己提供(与行内同一 `act` 通道、同一忙守卫)。
|
|
28
|
+
- **后台失败行的诊断**:安装超时/后台收尾失败那种没有结构化 `diag` 的行,改用 `job.message` 正文并标注「来源:后台任务收尾记录」——拿真内容,不编造。
|
|
29
|
+
- **锁陈旧判据单源**:显式注入的抢锁口子现在也收到 `{ timeoutMs: installTimeoutMs }`,不再各自拍阈值(默认行为不变)。真卡死时队列按安装时限回收,不再白等 15 分钟。
|
|
30
|
+
- **账本事实优先**:账本记 `failed` 而实时快照显示该家已装到目标版时,相位纠成 `done`(`restartRequired` 按待重启判),`error` 留痕不抹——只在刷新路径、只纠 `failed`、版本精确匹配才动手。
|
|
31
|
+
|
|
32
|
+
### Changed
|
|
33
|
+
- 面板文案全称化:「安装这家」「安装 X.Y.Z」不再简写成「装这家」「装 X.Y.Z」(负向门禁锁死)。
|
|
34
|
+
- 批量面板详情里的动作**归属批量面板**:详情是只读视图,操作统一走行内与详情那排 `data-act` 按钮。
|
|
35
|
+
- 请求编号收紧为不透明串 `[A-Za-z0-9._~-]{1,128}` 且拒绝令牌前缀,`req-1`/`id-N`/UUID 不受影响(公开契约变更,用 UUID/不透明串,不要把秘密当编号传)。
|
|
36
|
+
- 失败详情 300 字落刀改空白边界(不断占位符),长度不变,切分位置可见变化。
|
|
37
|
+
|
|
38
|
+
## [0.2.0] - 2026-09-30
|
|
39
|
+
|
|
40
|
+
### Added
|
|
41
|
+
- 目标包按包名解析:普通依赖形态一键升级可用,显式 `targetPackageDir` 逃生口,定位不到诚实 `unknown-profile`。
|
|
42
|
+
- 三电话入参与回参补齐,ESM 说明与无出口时诚实失败。
|
|
43
|
+
|
|
44
|
+
### Fixed
|
|
45
|
+
- 按包名解析后普通形态恢复可用;vendor 在目标包内部仍定位自身。
|
|
46
|
+
|
|
47
|
+
## [0.1.2] - 2026-09-30
|
|
48
|
+
|
|
49
|
+
### Added
|
|
50
|
+
- 第三条安装路由 `desktop-manager`:官方桌面版进程内插件管理器,老两条路由行为不变。
|
|
51
|
+
- 桌面管理器探测/配方/执行器/端到端测试 15 条。
|
|
52
|
+
|
|
53
|
+
### Fixed
|
|
54
|
+
- 官方桌面版点「装上」不再只有一条不可诊断的 `install-failed`,按政策诚实失败并转手工命令。
|