dsh-plugin-upgrader 1.6.0 → 1.6.2
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 +41 -2
- package/README.en.md +95 -6
- package/README.md +79 -5
- package/lib/host/overview.js +3 -3
- package/lib/host/registry.d.ts +7 -4
- package/lib/host/registry.d.ts.map +1 -1
- package/lib/host/registry.js +88 -25
- package/lib/host/registry.js.map +1 -1
- package/package.json +8 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,45 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.6.2 — 2026-11-02
|
|
4
|
+
|
|
5
|
+
- **A DSH Store notice was re-checked against the current code, not taken at face value.**
|
|
6
|
+
Issue #1550 listed eight reasons, but they were a scan of v1.0.1: four of them (the three
|
|
7
|
+
missing runtime artifacts and the incomplete scan) and `prepare`/`engines.dsh` were all
|
|
8
|
+
fixed in 1.5.0. Re-running the store's own review code against the current tree leaves
|
|
9
|
+
one catalog reason this release could act on — the runtime dependency — and three
|
|
10
|
+
capability signals (`files`, `network`, `credentials`) that are the plugin's actual job.
|
|
11
|
+
Those three sit on the store's review list rather than its reject list, so they need a
|
|
12
|
+
maintainer admission record, not a code change; rewriting the plugin to stop touching
|
|
13
|
+
files, the network or the environment would be removing the feature.
|
|
14
|
+
- **`@deepseek-ai/schemastery` is a peer dependency, not a bundled one.** 1.6.0 declared it
|
|
15
|
+
as a dependency so the `Config` schema would be built by the same library the loader
|
|
16
|
+
validates with — but that argument points at a peer, not at a copy: a peer guarantees one
|
|
17
|
+
instance, while a bundled copy can produce two. The host already ships it (`DSH desktop`
|
|
18
|
+
depends on it directly and `dsh-plugin-manager` does too), so the package no longer pulls
|
|
19
|
+
its own. It stays in `devDependencies` for building and testing.
|
|
20
|
+
- **The package now declares per-release DSH compatibility.** `dsh.compatibility.dshReleases`
|
|
21
|
+
records `0.2.1-rc.5` as `compatible` — the release this plugin actually runs on. The two
|
|
22
|
+
other releases in the rolling window (`0.2.1-rc.4`, `0.2.2-alpha.2`) are inside the
|
|
23
|
+
`engines.dsh` range but were never exercised here, so they are deliberately left
|
|
24
|
+
undeclared and read as `unknown`. `dshOperations` is left out for the same reason rather
|
|
25
|
+
than filled with `passed`. This is Catalog metadata only; the host does not read it.
|
|
26
|
+
- **README gains a permissions / dependencies / external services / failure-bounds section**
|
|
27
|
+
in both languages, so a review does not have to infer the blast radius from the source.
|
|
28
|
+
|
|
29
|
+
## 1.6.1 — 2026-10-30
|
|
30
|
+
|
|
31
|
+
- **The source test no longer calls a working mirror unreachable.** The probe tried
|
|
32
|
+
`/-/ping` first and the registry root only if that failed, with 1500 ms for the whole
|
|
33
|
+
thing. `registry.npmmirror.com` answers `/-/ping` in 3 to 15 seconds on some networks
|
|
34
|
+
while its root answers in 0.3 s, so the mainland mirror — the mirror this feature exists
|
|
35
|
+
for — came back as "unreachable", and so did `registry.npmjs.org` on a slow link at
|
|
36
|
+
2.2 s. Both paths are now asked at the same time, the first 2xx wins, and
|
|
37
|
+
`PROBE_TIMEOUT_MS` is 5 s for the whole probe rather than per request.
|
|
38
|
+
- **A failed test now says which failure it was.** A status line ("HTTP 503" — the host is
|
|
39
|
+
up and unhappy) is reported ahead of a timeout, and a timeout is reported as
|
|
40
|
+
`timed out after 5000 ms` instead of passing `AbortSignal.timeout`'s
|
|
41
|
+
`The operation was aborted due to timeout` straight into the dialog.
|
|
42
|
+
|
|
3
43
|
## 1.6.0 — 2026-10-30
|
|
4
44
|
|
|
5
45
|
- **The install source is now a setting, not a file edit.** The Versions tab header
|
|
@@ -14,8 +54,7 @@
|
|
|
14
54
|
- **The control opens a dialog that manages sources, not just picks one.** It lists
|
|
15
55
|
every source the tab can use — the two built-in addresses, the ones `pluginManager`
|
|
16
56
|
is configured with, and the ones the user added — and each row can be tested against
|
|
17
|
-
the host (`/-/ping`, falling back to the registry root
|
|
18
|
-
and deadline the harness's own registry probe uses) and switched to with one click,
|
|
57
|
+
the host (`/-/ping`, falling back to the registry root) and switched to with one click,
|
|
19
58
|
so "is this mirror actually up" is answered in the place the user picks it instead of
|
|
20
59
|
by a failed install.
|
|
21
60
|
- **The built-in sources have no edit and no delete, by construction.** They are
|
package/README.en.md
CHANGED
|
@@ -12,7 +12,7 @@ plugin adds a **Versions** tab to that page and fills both gaps.
|
|
|
12
12
|
|
|
13
13
|
English · [中文](./README.md)
|
|
14
14
|
|
|
15
|
-

|
|
16
16
|
|
|
17
17
|
## Features
|
|
18
18
|
|
|
@@ -39,6 +39,8 @@ English · [中文](./README.md)
|
|
|
39
39
|
Built-ins cannot be edited or deleted; your own can. Every row can be tested on its
|
|
40
40
|
own, and so can the source currently in use.
|
|
41
41
|
|
|
42
|
+

|
|
43
|
+
|
|
42
44
|
> **Changing this repo? Read [AGENTS.md](./AGENTS.md) first.** It lists the behaviour
|
|
43
45
|
> that already works and must keep working, with the code location and the test that
|
|
44
46
|
> guards each one. Two of those features (the `GH` links and the in-place upgrade)
|
|
@@ -46,7 +48,9 @@ English · [中文](./README.md)
|
|
|
46
48
|
|
|
47
49
|
## Where it shows up
|
|
48
50
|
|
|
49
|
-
A **Versions** tab appears next to *Installed* and
|
|
51
|
+
A **Versions** tab appears next to *Installed* and the market tab on the Plugins
|
|
52
|
+
page (that tab is **Market** with `dshmarket` installed, and **Discover** in DSH's
|
|
53
|
+
own market page):
|
|
50
54
|
|
|
51
55
|
- Header counts: upgradable / installed / version count
|
|
52
56
|
- The header **Registry** control opens the source dialog:
|
|
@@ -55,8 +59,10 @@ A **Versions** tab appears next to *Installed* and *Discover* on the Plugins pag
|
|
|
55
59
|
- sources from `pluginManager`: use one directly, or keep it in your own list
|
|
56
60
|
- sources you added: edit and delete; deleting the one in use falls back to
|
|
57
61
|
*Follow pnpm's config*
|
|
58
|
-
- **Test** on a row
|
|
59
|
-
|
|
62
|
+
- **Test** on a row asks `/-/ping` and the registry root at the same time and keeps
|
|
63
|
+
whichever answers first, with a 5 s budget for the whole probe (a sequential probe
|
|
64
|
+
reported mainland mirrors as unreachable — their `/-/ping` can take 15 s while the
|
|
65
|
+
root answers in 0.3 s), and shows the verdict under that row
|
|
60
66
|
- the footer's *Follow pnpm's config* keeps pnpm's own registry (usually `.npmrc`)
|
|
61
67
|
- **Upgrade all** handles every upgradable plugin; the selection bar below handles
|
|
62
68
|
**Upgrade selected**
|
|
@@ -70,11 +76,12 @@ A **Versions** tab appears next to *Installed* and *Discover* on the Plugins pag
|
|
|
70
76
|
- the version was not tagged, or the GitHub list is unreadable (rate limit,
|
|
71
77
|
offline) → the repository's `releases` feed
|
|
72
78
|
|
|
73
|
-

|
|
74
80
|
|
|
75
81
|
## Install
|
|
76
82
|
|
|
77
|
-
Search `dsh-plugin-upgrader` on the Plugins page's **Discover**
|
|
83
|
+
Search `dsh-plugin-upgrader` on the Plugins page's market tab (**Discover** in DSH
|
|
84
|
+
itself, **Market** with `dshmarket` installed) and hit install.
|
|
78
85
|
On the desktop app use its own plugin manager — the CLI cannot change the profile
|
|
79
86
|
an app has open.
|
|
80
87
|
|
|
@@ -213,6 +220,88 @@ error:
|
|
|
213
220
|
A restart interrupts the job in flight; the UI reports that as a failure rather than
|
|
214
221
|
spinning forever.
|
|
215
222
|
|
|
223
|
+
## Permissions, dependencies and external services
|
|
224
|
+
|
|
225
|
+
This section states the capabilities the plugin actually uses, so a review or a bug
|
|
226
|
+
report does not have to read the source to find out.
|
|
227
|
+
|
|
228
|
+
### What it touches
|
|
229
|
+
|
|
230
|
+
| Capability | Scope | Notes |
|
|
231
|
+
| --- | --- | --- |
|
|
232
|
+
| Files | **the profile directory only** | Reads and writes `package.json`, writes `package.json.upgrader-journal.json`, reads `package.json.lock`. No filesystem walking, nothing outside the profile |
|
|
233
|
+
| Network (outbound) | the configured npm registry, the GitHub API | `GET` only, see below |
|
|
234
|
+
| Commands | **none** | No `child_process`, no spawned processes; installs go through the host's `pluginManager` |
|
|
235
|
+
| Credentials | **none** | No tokens, no `.npmrc` reads, no authentication. Private registries rely on pnpm's own configuration |
|
|
236
|
+
|
|
237
|
+
The registry choice (`registry` / `customRegistries`) is written into the profile's
|
|
238
|
+
`cordis.patch.yml` by the **host's settings service**, not by the plugin editing files:
|
|
239
|
+
the plugin only calls `configForms.set()`.
|
|
240
|
+
|
|
241
|
+
Three environment variables are read, all to *locate the profile directory*:
|
|
242
|
+
`DSH_PROFILE_DIR`, `DSH_HOME` and `DSH_PROFILE`. When the desktop shell exports none of
|
|
243
|
+
them, a working directory that parses as a profile is used instead. They are not
|
|
244
|
+
secrets, but a bare `process.env` counts as one "credentials" signal in a static scan,
|
|
245
|
+
so the real purpose is spelled out here.
|
|
246
|
+
|
|
247
|
+
### External services
|
|
248
|
+
|
|
249
|
+
| Target | Purpose | On failure |
|
|
250
|
+
| --- | --- | --- |
|
|
251
|
+
| `{configured npm registry}/{package}` | packument fetch, to list published versions (5 minute cache, 20 second timeout, at most 4 concurrent) | that row shows `versionError` and a retry entry; other rows are unaffected |
|
|
252
|
+
| `https://registry.npmjs.org/{package}` | only when the configured registry is not the official one: an extra upstream check that reports a lagging mirror | an unreadable upstream means "no gap", never "everything is missing" |
|
|
253
|
+
| `https://api.github.com/repos/{owner}/{repo}/tags?per_page=100` | tag list, to decide whether a version can link to `releases/tag/v…` (30 minute cache, 8 second timeout) | falls back to the `releases` list; never guesses a tag that 404s |
|
|
254
|
+
| `{the address being tested}/-/ping` and its root | *Test* in the Registry dialog probes both **concurrently**, first 2xx wins (5 s budget for the whole probe) | reports the most specific reason: status code first, then timeout, then the raw network error |
|
|
255
|
+
| the local DSH web server | the plugin's own four `/api/plugin-upgrader/*` routes | — |
|
|
256
|
+
|
|
257
|
+
The default registry is whatever pnpm is configured with (usually `.npmrc`); the
|
|
258
|
+
**Registry** button on the Versions tab switches to the official registry, mainland
|
|
259
|
+
mirror, or a source you add yourself. **No telemetry** of any kind is sent.
|
|
260
|
+
|
|
261
|
+
### Dependencies
|
|
262
|
+
|
|
263
|
+
There are **no bundled runtime dependencies**. The single external module,
|
|
264
|
+
`@deepseek-ai/schemastery` (used for the Config schema, `~3.18.5`), is declared in
|
|
265
|
+
`peerDependencies` and supplied by the host: DSH desktop ships it as its own dependency
|
|
266
|
+
and first-party packages such as `dsh-plugin-manager` depend on it too, so it always
|
|
267
|
+
resolves inside a profile. The copy needed for building and testing lives in
|
|
268
|
+
`devDependencies`.
|
|
269
|
+
|
|
270
|
+
The remaining `devDependencies` (TypeScript, esbuild, `@types/*`, `@deepseek-ai/dsh-*`)
|
|
271
|
+
are development-time only and are not part of the published tarball's runtime.
|
|
272
|
+
|
|
273
|
+
### Failure bounds
|
|
274
|
+
|
|
275
|
+
- **One batch at a time**: a second submission gets `409 busy`; the UI adopts the batch
|
|
276
|
+
that is running instead of reporting an error.
|
|
277
|
+
- **A job heartbeats every 2 seconds** and is declared abandoned after 15 minutes of
|
|
278
|
+
no progress, so it cannot occupy the slot forever. A host restart interrupts the job
|
|
279
|
+
in flight and the UI reports that as a failure.
|
|
280
|
+
- **Writer lock**: the manager's own budget is 120 seconds; a timeout is translated
|
|
281
|
+
into who holds the lock and whether a restart clears it.
|
|
282
|
+
- **A failed upgrade**: the in-place path journals the dropped dependency before
|
|
283
|
+
removing it and restores it on failure; a killed process is repaired on the next
|
|
284
|
+
load. The plugin stays installed and keeps its enabled state.
|
|
285
|
+
- **Unreachable registry, rate-limited GitHub, offline**: every one of them degrades to
|
|
286
|
+
"this one thing could not be read, here is why, retry", never to a silent "no new
|
|
287
|
+
version" or "no version history".
|
|
288
|
+
|
|
289
|
+
### DSH compatibility
|
|
290
|
+
|
|
291
|
+
Node.js `>=20` and DSH `>=0.2.1-rc.3 <0.3.0-0` (the `engines` field).
|
|
292
|
+
`dsh.compatibility.dshReleases` records **only the releases actually exercised**:
|
|
293
|
+
|
|
294
|
+
| DSH release | Status |
|
|
295
|
+
| --- | --- |
|
|
296
|
+
| `0.2.1-rc.5` | compatible |
|
|
297
|
+
|
|
298
|
+
`0.2.1-rc.4` and `0.2.2-alpha.2` fall inside the `engines` range but were not each
|
|
299
|
+
exercised, so they are **not** listed (an undeclared release reads as `unknown`). These
|
|
300
|
+
are **source-side compatibility declarations**, not a substitute for per-operation
|
|
301
|
+
acceptance. `dshOperations` (install / start / uninstall / rollback) follows the same
|
|
302
|
+
rule: left out rather than filled with `passed` before there is a per-release run behind
|
|
303
|
+
it.
|
|
304
|
+
|
|
216
305
|
## Project layout
|
|
217
306
|
|
|
218
307
|
```
|
package/README.md
CHANGED
|
@@ -10,7 +10,7 @@ DSH 自带的插件页能装、能卸、能看已安装列表,但缺两件事
|
|
|
10
10
|
|
|
11
11
|
[English](./README.en.md) · 中文
|
|
12
12
|
|
|
13
|
-

|
|
14
14
|
|
|
15
15
|
## 功能
|
|
16
16
|
|
|
@@ -29,20 +29,25 @@ DSH 自带的插件页能装、能卸、能看已安装列表,但缺两件事
|
|
|
29
29
|
和用户自己加的源;自带源不能改也不能删,自己加的可以随时改/删。每一行都能单独
|
|
30
30
|
「测试」能不能连上,当前在用的那个也能一键测。
|
|
31
31
|
|
|
32
|
+

|
|
33
|
+
|
|
32
34
|
> **要改这个仓库?先读 [AGENTS.md](./AGENTS.md)。** 那里逐条写了「已经实现并且必须继续成立」
|
|
33
35
|
> 的行为、对应代码位置和守护它的测试。上面这些功能里,`GH` 链接和 in-place 升级都曾经
|
|
34
36
|
> 被无意改掉过一次。
|
|
35
37
|
|
|
36
38
|
## 界面位置
|
|
37
39
|
|
|
38
|
-
|
|
40
|
+
插件页顶部标签栏多出一个「版本」标签,与「已安装」以及市场标签并列
|
|
41
|
+
(市场标签在装了 `dshmarket` 的界面里叫「插件市场」,DSH 自带的那个叫「发现」):
|
|
39
42
|
|
|
40
43
|
- 顶部统计:可升级数量 / 已安装数量 / 每个插件的版本数
|
|
41
44
|
- 顶部「注册表」按钮打开安装源对话框:
|
|
42
45
|
- 自带源(官方源、大陆镜像):只能切过去和测试,不能改也不能删
|
|
43
46
|
- `pluginManager` 里配的源:可以「收进列表」变成自己的常用源,或直接用
|
|
44
47
|
- 自己加的源:可以改、可以删,删掉的如果正在用会自动退回「跟随 pnpm 配置」
|
|
45
|
-
-
|
|
48
|
+
- 每行「测试」同时打 `/-/ping` 和根地址,谁先答应用谁,整次探测 5 秒预算
|
|
49
|
+
(串行探测会把大陆镜像报成连不上:`/-/ping` 有时要 15 秒,根地址只要 0.3 秒),
|
|
50
|
+
结果显示在那一行下面
|
|
46
51
|
- 底部「跟随 pnpm 配置」用 pnpm 自己的源(通常是 `~/.npmrc` 里的那个)
|
|
47
52
|
- 「一键升级」升全部可升级插件;下面一条选择栏负责「升级选中」
|
|
48
53
|
- 「检查更新」强制刷新 registry 缓存(默认缓存 5 分钟)
|
|
@@ -55,11 +60,12 @@ DSH 自带的插件页能装、能卸、能看已安装列表,但缺两件事
|
|
|
55
60
|
- 该版本没打 tag,或 GitHub 列表读不到(限流 / 离线)→ 退回仓库的发布列表 `releases`,
|
|
56
61
|
不在页面上放一个点进去是 404 的版本号
|
|
57
62
|
|
|
58
|
-

|
|
59
64
|
|
|
60
65
|
## 安装
|
|
61
66
|
|
|
62
|
-
|
|
67
|
+
在「插件」页的市场标签里搜索 `dsh-plugin-upgrader`(自带的是「发现」,
|
|
68
|
+
装了 `dshmarket` 的界面里叫「插件市场」),点安装即可。
|
|
63
69
|
桌面版请用它自带的插件管理界面安装,命令行改动不了正在运行的桌面 profile。
|
|
64
70
|
|
|
65
71
|
用 `dsh` 命令行(把 `web` 换成你自己的 profile 名):
|
|
@@ -179,6 +185,74 @@ atomic-write: timed out waiting for the writer lock at …/package.json.lock
|
|
|
179
185
|
|
|
180
186
|
主进程重启会让正在跑的 job 中断,界面会把这种情况显示为失败而不是永远转圈。
|
|
181
187
|
|
|
188
|
+
## 权限、依赖与外部服务
|
|
189
|
+
|
|
190
|
+
这一节把插件实际用到的能力写清楚,方便审核和排障时对照,而不是让人去读源码猜。
|
|
191
|
+
|
|
192
|
+
### 读写什么
|
|
193
|
+
|
|
194
|
+
| 能力 | 范围 | 说明 |
|
|
195
|
+
| --- | --- | --- |
|
|
196
|
+
| 文件 | **仅 profile 目录** | 读写 `package.json`、写 `package.json.upgrader-journal.json`、读 `package.json.lock`。不遍历文件系统,不碰 profile 以外的路径 |
|
|
197
|
+
| 网络(出站) | 配置的 npm 源、GitHub API | 只发 `GET`,见下 |
|
|
198
|
+
| 命令 | **无** | 不调用 `child_process`,不 spawn 任何进程;安装动作交给宿主的 `pluginManager` |
|
|
199
|
+
| 凭据 | **无** | 不读 token,不读 `.npmrc`,不做任何认证。私有源依赖 pnpm 自己的配置 |
|
|
200
|
+
|
|
201
|
+
安装源的选择(`registry` / `customRegistries`)由**宿主的设置服务**写进 profile 的
|
|
202
|
+
`cordis.patch.yml`,不是插件自己改文件——插件只调 `configForms` 的 `set()`。
|
|
203
|
+
|
|
204
|
+
宿主进程的环境变量只用了 `DSH_PROFILE_DIR` / `DSH_HOME` / `DSH_PROFILE` 三个来**定位 profile
|
|
205
|
+
目录**(桌面壳不导出它们时,退回「当前工作目录看起来像不像一个 profile」)。它们不是密钥,但
|
|
206
|
+
静态扫描器会把裸 `process.env` 记成一次「凭据」信号,这里说明清楚它的真实用途。
|
|
207
|
+
|
|
208
|
+
### 外部服务
|
|
209
|
+
|
|
210
|
+
| 目标 | 用途 | 失败时 |
|
|
211
|
+
| --- | --- | --- |
|
|
212
|
+
| `{配置的 npm 源}/{包名}` | 拉 packument,列出已发布版本(5 分钟缓存,20 秒超时,最多 4 个并发) | 该行显示 `versionError` 和「重试」,其它行不受影响 |
|
|
213
|
+
| `https://registry.npmjs.org/{包名}` | 只当配置的不是官方源时,额外查一次上游,报告「镜像落后」 | 读不到就当作没有缺口 |
|
|
214
|
+
| `https://api.github.com/repos/{owner}/{repo}/tags?per_page=100` | 取 tag 列表,判断某个版本号能不能链到 `releases/tag/v…`(30 分钟缓存,8 秒超时) | 退到 `releases` 列表页,绝不猜一个 404 的 tag |
|
|
215
|
+
| `{被测试的地址}/-/ping` 与根地址 | 「注册表」对话框里点「测试」时,**并发**探测这两条,谁先 2xx 用谁(整次探测 5 秒预算) | 报最具体的原因:状态码优先,其次超时,最后网络错误原文 |
|
|
216
|
+
| 本机 DSH Web 服务 | `/api/plugin-upgrader/*` 自己的四个路由 | — |
|
|
217
|
+
|
|
218
|
+
默认源是 pnpm 自己配置的那个(通常是 `.npmrc` 里的),也可以在「版本」页的「注册表」按钮里
|
|
219
|
+
换成官方源、大陆镜像或自己加的源。**没有任何遥测**,不向第三方发送使用数据。
|
|
220
|
+
|
|
221
|
+
### 依赖
|
|
222
|
+
|
|
223
|
+
运行时**没有自带依赖**。唯一的外部模块 `@deepseek-ai/schemastery`(Config schema 用,要求
|
|
224
|
+
`~3.18.5`)声明在 `peerDependencies` 里,由宿主提供——DSH 桌面端把它作为自身依赖发布,
|
|
225
|
+
`dsh-plugin-manager` 等第一方包也依赖它,所以 profile 里一定解析得到。构建和测试需要的那一份
|
|
226
|
+
放在 `devDependencies`。
|
|
227
|
+
|
|
228
|
+
`devDependencies` 其余各项(TypeScript、esbuild、`@types/*`、`@deepseek-ai/dsh-*`)只在开发和
|
|
229
|
+
构建时使用,不会进入发布的 tarball 运行时。
|
|
230
|
+
|
|
231
|
+
### 失败边界
|
|
232
|
+
|
|
233
|
+
- **一次只跑一批**:第二个提交拿 `409 busy`,界面接管正在跑的那一批,不报错。
|
|
234
|
+
- **job 心跳 2 秒**,15 分钟没进展判废,不会永久占位;主进程重启会中断正在跑的 job,
|
|
235
|
+
界面显示为失败而不是永远转圈。
|
|
236
|
+
- **写入锁**:manager 自己的预算是 120 秒,超时会把锁的状态翻成人话(谁持有、要不要重启)。
|
|
237
|
+
- **升级失败**:in-place 替换会先把被摘掉的依赖记进 journal,失败就还原;进程被杀掉时,
|
|
238
|
+
下次加载会把依赖补回去。失败了插件仍在、启用状态仍在。
|
|
239
|
+
- **registry 读不到 / GitHub 限流 / 离线**:都降级成「这一项读不到 + 原因 + 重试入口」,
|
|
240
|
+
不会伪装成「没有新版本」「没有历史版本」。
|
|
241
|
+
|
|
242
|
+
### DSH 兼容性
|
|
243
|
+
|
|
244
|
+
要求 Node.js `>=20`,DSH `>=0.2.1-rc.3 <0.3.0-0`(`package.json` 的 `engines`)。
|
|
245
|
+
`dsh.compatibility.dshReleases` 只记录**真的跑过**的版本:
|
|
246
|
+
|
|
247
|
+
| DSH 版本 | 状态 |
|
|
248
|
+
| --- | --- |
|
|
249
|
+
| `0.2.1-rc.5` | compatible |
|
|
250
|
+
|
|
251
|
+
`0.2.1-rc.4` 和 `0.2.2-alpha.2` 虽然落在 `engines` 范围内,但没有逐一实测过,所以**不写进去**
|
|
252
|
+
(未声明的版本按 `unknown` 处理)。这是**来源侧的兼容声明**,不代替逐项的操作验收;
|
|
253
|
+
`dshOperations`(install / start / uninstall / rollback)同理,没有逐版本的实测记录就留空,
|
|
254
|
+
不写 `passed`。
|
|
255
|
+
|
|
182
256
|
## 项目结构
|
|
183
257
|
|
|
184
258
|
```
|
package/lib/host/overview.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The overview payload the Versions tab renders.
|
|
3
3
|
*
|
|
4
|
-
* One request answers everything the tab needs
|
|
5
|
-
* published versions, which of them are upgradable
|
|
4
|
+
* One request answers everything the tab needs — installed bundles, their
|
|
5
|
+
* published versions, which of them are upgradable — because a per-bundle
|
|
6
6
|
* request would turn one page open into a dozen round trips.
|
|
7
7
|
*
|
|
8
8
|
* @module dsh-plugin-upgrader/lib/overview
|
|
@@ -19,7 +19,7 @@ const INLINE_ICON_LIMIT = 2048;
|
|
|
19
19
|
* The first version of this used `Promise.all`, which fired every package
|
|
20
20
|
* lookup at the mirror simultaneously. Eleven concurrent connections to
|
|
21
21
|
* `registry.npmmirror.com` timed out, while the same eleven asked one at a time
|
|
22
|
-
* answered in under 1.2 s
|
|
22
|
+
* answered in under 1.2 s — and each timeout rendered as a plugin with no
|
|
23
23
|
* version history. The cap is what keeps one page load from becoming a burst.
|
|
24
24
|
*
|
|
25
25
|
* @param items - the work items.
|
package/lib/host/registry.d.ts
CHANGED
|
@@ -181,11 +181,14 @@ export declare function versionsMissingFromMirror(base: string, packageName: str
|
|
|
181
181
|
/**
|
|
182
182
|
* How long a reachability probe waits before calling a source unreachable.
|
|
183
183
|
*
|
|
184
|
-
* The harness's own registry probe uses
|
|
185
|
-
* against the
|
|
186
|
-
*
|
|
184
|
+
* The harness's own registry probe uses 1500 ms, but it can afford to: it runs
|
|
185
|
+
* against the two addresses it already knows and only picks a default. A user
|
|
186
|
+
* clicking "test" here may be typing a private registry address on a slow link,
|
|
187
|
+
* and the two paths are raced, so the deadline bounds the whole probe rather
|
|
188
|
+
* than each request. 5 s is long enough for a genuinely slow mirror to answer and
|
|
189
|
+
* short enough that a spinner never becomes the answer.
|
|
187
190
|
*/
|
|
188
|
-
export declare const PROBE_TIMEOUT_MS =
|
|
191
|
+
export declare const PROBE_TIMEOUT_MS = 5000;
|
|
189
192
|
/** What a reachability probe found. */
|
|
190
193
|
export interface ProbeResult {
|
|
191
194
|
/** Whether the source answered with a 2xx. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/host/registry.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../src/host/registry.ts"],"names":[],"mappings":"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"}
|
package/lib/host/registry.js
CHANGED
|
@@ -314,11 +314,14 @@ export async function versionsMissingFromMirror(base, packageName, above, cache,
|
|
|
314
314
|
/**
|
|
315
315
|
* How long a reachability probe waits before calling a source unreachable.
|
|
316
316
|
*
|
|
317
|
-
* The harness's own registry probe uses
|
|
318
|
-
* against the
|
|
319
|
-
*
|
|
317
|
+
* The harness's own registry probe uses 1500 ms, but it can afford to: it runs
|
|
318
|
+
* against the two addresses it already knows and only picks a default. A user
|
|
319
|
+
* clicking "test" here may be typing a private registry address on a slow link,
|
|
320
|
+
* and the two paths are raced, so the deadline bounds the whole probe rather
|
|
321
|
+
* than each request. 5 s is long enough for a genuinely slow mirror to answer and
|
|
322
|
+
* short enough that a spinner never becomes the answer.
|
|
320
323
|
*/
|
|
321
|
-
export const PROBE_TIMEOUT_MS =
|
|
324
|
+
export const PROBE_TIMEOUT_MS = 5000;
|
|
322
325
|
/**
|
|
323
326
|
* Ask one registry whether it is reachable right now.
|
|
324
327
|
*
|
|
@@ -340,31 +343,91 @@ export async function probeRegistry(base) {
|
|
|
340
343
|
if (root === '')
|
|
341
344
|
return { ok: false, detail: 'no address' };
|
|
342
345
|
/*
|
|
343
|
-
* Two paths,
|
|
344
|
-
* bare root.
|
|
345
|
-
*
|
|
346
|
+
* Two paths, asked at the same time: the npm ping endpoint most registries
|
|
347
|
+
* serve, and the bare root. They are NOT asked in sequence, because they are
|
|
348
|
+
* not equally fast — registry.npmmirror.com answers `/-/ping` in 3 to 15
|
|
349
|
+
* seconds on this network while its root answers in a quarter of a second.
|
|
350
|
+
* A sequential ping-then-root probe therefore spent the whole deadline on the
|
|
351
|
+
* slow path and called a perfectly usable mirror unreachable, which is the one
|
|
352
|
+
* wrong answer that matters here: the mirror is what this feature exists for.
|
|
353
|
+
* Racing them means the cheap answer wins, and a failure still costs one
|
|
354
|
+
* deadline instead of two.
|
|
346
355
|
*/
|
|
347
356
|
const targets = [`${root}/-/ping`, `${root}/`];
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
357
|
+
const startedAt = Date.now();
|
|
358
|
+
const answers = new Array(targets.length);
|
|
359
|
+
const firstGood = new Promise((resolve) => {
|
|
360
|
+
let outstanding = targets.length;
|
|
361
|
+
targets.forEach((target, index) => {
|
|
362
|
+
void probeOne(target, startedAt).then((answer) => {
|
|
363
|
+
answers[index] = answer;
|
|
364
|
+
if (answer.ok) {
|
|
365
|
+
resolve(answer);
|
|
366
|
+
return;
|
|
367
|
+
}
|
|
368
|
+
outstanding -= 1;
|
|
369
|
+
if (outstanding === 0)
|
|
370
|
+
resolve(undefined);
|
|
355
371
|
});
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
372
|
+
});
|
|
373
|
+
});
|
|
374
|
+
const winner = await firstGood;
|
|
375
|
+
if (winner !== undefined)
|
|
376
|
+
return winner;
|
|
377
|
+
/*
|
|
378
|
+
* Nothing answered. Report the most specific cause available: a status line
|
|
379
|
+
* ("HTTP 503" — the host is up and unhappy) says more than a timeout, and a
|
|
380
|
+
* timeout says more than a bare network error. Picking the specific one is the
|
|
381
|
+
* whole reason the probe reports a cause at all.
|
|
382
|
+
*/
|
|
383
|
+
const settled = answers.filter((answer) => answer !== undefined);
|
|
384
|
+
const ranked = settled.find((answer) => answer.detail.startsWith('HTTP '))
|
|
385
|
+
?? settled.find((answer) => !answer.detail.startsWith('timed out'))
|
|
386
|
+
?? settled[0];
|
|
387
|
+
return ranked ?? { ok: false, detail: 'registry unreachable' };
|
|
388
|
+
}
|
|
389
|
+
/**
|
|
390
|
+
* Ask one path on one registry whether it answers.
|
|
391
|
+
*
|
|
392
|
+
* @param target - the exact URL to fetch.
|
|
393
|
+
* @param startedAt - when the probe began, so the reported latency is the whole
|
|
394
|
+
* probe's, not this one request's.
|
|
395
|
+
* @returns the answer, never a rejection.
|
|
396
|
+
*/
|
|
397
|
+
async function probeOne(target, startedAt) {
|
|
398
|
+
try {
|
|
399
|
+
const response = await fetch(target, {
|
|
400
|
+
headers: { accept: FULL_ACCEPT },
|
|
401
|
+
signal: AbortSignal.timeout(PROBE_TIMEOUT_MS),
|
|
402
|
+
});
|
|
403
|
+
if (response.ok)
|
|
404
|
+
return { ok: true, detail: `HTTP ${response.status}`, ms: Date.now() - startedAt };
|
|
405
|
+
/*
|
|
406
|
+
* A reachable registry that refuses this path is not unreachable; the other
|
|
407
|
+
* path still gets its chance.
|
|
408
|
+
*/
|
|
409
|
+
return { ok: false, detail: `HTTP ${response.status}` };
|
|
366
410
|
}
|
|
367
|
-
|
|
411
|
+
catch (error) {
|
|
412
|
+
return { ok: false, detail: probeFailure(error) };
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
/**
|
|
416
|
+
* Describe why one probe attempt produced no answer.
|
|
417
|
+
*
|
|
418
|
+
* @param error - whatever `fetch` threw.
|
|
419
|
+
* @returns the cause, in the same terms the rest of the tab uses.
|
|
420
|
+
*/
|
|
421
|
+
function probeFailure(error) {
|
|
422
|
+
/*
|
|
423
|
+
* `AbortSignal.timeout` rejects with a DOMException whose message is the
|
|
424
|
+
* opaque "The operation was aborted due to timeout". The probe knows its own
|
|
425
|
+
* deadline, so it can say what actually happened.
|
|
426
|
+
*/
|
|
427
|
+
const name = error instanceof Error ? error.name : '';
|
|
428
|
+
if (name === 'TimeoutError' || name === 'AbortError')
|
|
429
|
+
return `timed out after ${PROBE_TIMEOUT_MS} ms`;
|
|
430
|
+
return describeFetchError(error);
|
|
368
431
|
}
|
|
369
432
|
/**
|
|
370
433
|
* Trim one packument down to what the tab renders.
|
package/lib/host/registry.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/host/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/host/registry.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "dsh-plugin-upgrader",
|
|
3
|
-
"version": "1.6.
|
|
3
|
+
"version": "1.6.2",
|
|
4
4
|
"description": "One-click upgrades, version history and rollback for plugins on the DeepSeek Harness Plugins page",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"dsh",
|
|
@@ -62,6 +62,11 @@
|
|
|
62
62
|
"@deepseek-ai/dsh-client-locale",
|
|
63
63
|
"@deepseek-ai/dsh-client-ui-settings"
|
|
64
64
|
]
|
|
65
|
+
},
|
|
66
|
+
"compatibility": {
|
|
67
|
+
"dshReleases": {
|
|
68
|
+
"0.2.1-rc.5": "compatible"
|
|
69
|
+
}
|
|
65
70
|
}
|
|
66
71
|
},
|
|
67
72
|
"devDependencies": {
|
|
@@ -70,12 +75,13 @@
|
|
|
70
75
|
"@deepseek-ai/dsh-client-ui-slots": "^0.2.1-rc.2",
|
|
71
76
|
"@deepseek-ai/dsh-host-webserver": "^0.2.1-rc.2",
|
|
72
77
|
"@deepseek-ai/dsh-plugin-manager": "^0.2.1-rc.2",
|
|
78
|
+
"@deepseek-ai/schemastery": "~3.18.5",
|
|
73
79
|
"@types/node": "^26.6.5",
|
|
74
80
|
"@types/react": "^19.3.0",
|
|
75
81
|
"esbuild": "^0.28.2",
|
|
76
82
|
"typescript": "^7.0.2"
|
|
77
83
|
},
|
|
78
|
-
"
|
|
84
|
+
"peerDependencies": {
|
|
79
85
|
"@deepseek-ai/schemastery": "~3.18.5"
|
|
80
86
|
},
|
|
81
87
|
"scripts": {
|