dsh-plugin-compat-check 0.1.5 → 0.1.7
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/README.md +17 -28
- package/THIRD_PARTY_NOTICES.md +1 -1
- package/index.js +1295 -550
- package/kernel/lib/api-semantics.mjs +223 -0
- package/kernel/lib/author-ci-budget.mjs +25 -0
- package/kernel/lib/author-ci-output.mjs +22 -0
- package/kernel/lib/author-ci-policy.mjs +6 -1
- package/kernel/lib/baseline.mjs +109 -38
- package/kernel/lib/catalog.mjs +11 -3
- package/kernel/lib/contracts.mjs +16 -1
- package/kernel/lib/execution-environment.mjs +52 -0
- package/kernel/lib/extract.mjs +57 -13
- package/kernel/lib/finding-guidance.mjs +6 -0
- package/kernel/lib/finding-review-store.mjs +11 -23
- package/kernel/lib/issue-report.mjs +2 -1
- package/kernel/lib/patch-mounts.mjs +232 -0
- package/kernel/lib/report-identity-worker.mjs +47 -26
- package/kernel/lib/report-identity.mjs +4 -3
- package/kernel/lib/report-service.mjs +118 -38
- package/kernel/lib/report.mjs +13 -17
- package/kernel/lib/source-analysis.mjs +258 -42
- package/kernel/lib/source-graph.mjs +353 -75
- package/kernel/lib/state-lock.mjs +206 -0
- package/kernel/lib/state-store.mjs +41 -30
- package/kernel/lib/static-input.mjs +111 -0
- package/kernel/lib/syntax.mjs +242 -20
- package/kernel/lib/upgrade-contract.mjs +1 -0
- package/kernel/lib/upgrade-input.mjs +9 -4
- package/kernel/lib/upgrade-preview.mjs +11 -15
- package/kernel/lib/upgrade-worker.mjs +10 -1
- package/kernel/lib/verdict.mjs +28 -5
- package/kernel/lib/version.mjs +2 -34
- package/kernel/lib/worker-analysis.mjs +74 -3
- package/kernel/rules/README.md +30 -208
- package/kernel/rules/dsh-0.2.1-rc.3-review.json +63 -0
- package/kernel/rules/dsh-api-catalog-0.2.1-rc.3.json +743 -0
- package/kernel/rules/severity.json +77 -0
- package/lib/client.js +4668 -3423
- package/lib/finding-guidance.js +6 -0
- package/lib/local-request.js +44 -0
- package/lib/report-contract.js +16 -1
- package/lib/upgrade-contract.js +1 -0
- package/package.json +10 -5
- package/scripts/prepublish-check.mjs +1 -22
- package/scripts/stage-contract.mjs +7 -0
- package/skill/SKILL.md +13 -12
package/README.md
CHANGED
|
@@ -1,63 +1,52 @@
|
|
|
1
1
|
# dsh-plugin-compat-check
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
检查**已安装的 DSH 插件**与目标 DSH 版本的兼容性,提供源码位置、依据及覆盖限制。声明放行、激活成功不等于业务功能正常。
|
|
3
|
+
检查**已安装DSH插件**与目标版本的兼容性,提供源码位置、依据和覆盖限制;声明放行、激活或无发现不等于业务正常。欢迎 [Star ⭐](https://github.com/lcy0121/dsh-plugin-compat-check)。
|
|
6
4
|
|
|
7
5
|
[简体中文](https://github.com/lcy0121/dsh-plugin-compat-check/blob/main/README.md) | [English](https://github.com/lcy0121/dsh-plugin-compat-check/blob/main/README.en.md) | [한국어](https://github.com/lcy0121/dsh-plugin-compat-check/blob/main/README.ko.md)
|
|
8
6
|
|
|
9
|
-
**0.1.
|
|
7
|
+
**0.1.7**提供rc.3适配、升级预检、参数语义与边界加固。Node `^22.19.0 || >=24`,宿主声明`>=0.2.0-rc.2`;已认证精确目录仍仅**0.2.0-rc.2、0.2.1-rc.2、0.2.1-rc.3**,最低版本声明不认证未来宿主。
|
|
10
8
|
|
|
11
|
-

|
|
12
10
|
|
|
13
11
|
## 安装与使用
|
|
14
12
|
|
|
15
|
-
```
|
|
13
|
+
```sh
|
|
16
14
|
dsh plugin --profile <profile> add dsh-plugin-compat-check
|
|
17
15
|
```
|
|
18
16
|
|
|
19
|
-
DSH
|
|
20
|
-
|
|
21
|
-
0.1.5 提供搜索/组合筛选、折叠发现、完整报告预览/显式复制、基线新增风险及“下一步核实”。安装/loader 事件和5秒巡检触发后台刷新,保留筛选与旧报告,失败显示原因。报告显示目标、参考目录版本/摘要和验收范围;重复插件身份无法判定且不推进基线。绑定探针超过5分钟的未来时钟偏差会被拒绝,保留静态发现及原因。分享前须预览敏感信息,筛选不会删减完整报告。
|
|
17
|
+
安装registry可用版本。DSH rc.3入口:**左下角账号菜单→设置→内置插件→兼容性**;选择实际profile,不默认desktop。agent调用`compat_check`,skill指导读取同一报告。
|
|
22
18
|
|
|
23
|
-
|
|
19
|
+
面板支持筛选、折叠、完整报告预览/显式复制及基线新增风险。依赖图仅表示潜在关系,人工记录不改判定,健康页只导入历史JSON;分享前预览,筛选不裁剪完整导出,不自动发帖。[使用指南](https://github.com/lcy0121/dsh-plugin-compat-check/blob/main/docs/guide.md)说明操作和预算。
|
|
24
20
|
|
|
25
21
|
## 升级前兼容性预检
|
|
26
22
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
当前/目标两端仅支持精确 **0.2.0-rc.2、0.2.1-rc.2**。未知版本或范围返回 `status=unsupported-version`、退出3,不回退到邻近目录。对同一组插件私有字节副本静态提取,再按两端目录/声明独立判定,保留制品哈希、目录来源/摘要、当前/目标报告、差异和覆盖限制。worker有预算、卸载取消与清理,失败明确报错;不是 OS 原子快照。
|
|
23
|
+
输入目标版本或调用`compat_check({"upgradeTo":"0.2.1-rc.3"})`;当前版本取宿主,返回upgradePreview、普通report为null。三个登记精确版本可任意比较,未知版本/范围退出3,不借邻近目录认证。
|
|
30
24
|
|
|
31
|
-
|
|
25
|
+
只静态比较同组私有字节,不安装/升级宿主或使用运行时、probe、豁免、普通缓存/基线。**0/1/2表示无/非致命/致命新增或变重风险,3表示无法预检**;0仍可有旧问题。[完整契约](https://github.com/lcy0121/dsh-plugin-compat-check/blob/main/docs/Plan.md#27-升级前静态预检契约)。
|
|
32
26
|
|
|
33
27
|
## 从源码构建安装
|
|
34
28
|
|
|
35
|
-
|
|
29
|
+
根是private工作区,检出main或所需版本后构建完整tgz:
|
|
36
30
|
|
|
37
|
-
```
|
|
31
|
+
```sh
|
|
38
32
|
npm ci --ignore-scripts
|
|
39
33
|
cd plugin
|
|
40
34
|
npm pack --pack-destination <已存在的绝对输出目录>
|
|
41
35
|
dsh plugin --profile <临时profile> add file:<生成的tgz绝对路径>
|
|
42
36
|
```
|
|
43
37
|
|
|
44
|
-
prepack
|
|
38
|
+
prepack同步skill/契约并暂存内核、LICENSE和第三方说明,postpack清理内核。根GitHub spec、裸plugin复制或源码file安装不代替完整tgz。
|
|
45
39
|
|
|
46
|
-
npm
|
|
47
|
-
|
|
48
|
-
安装检查会联网、启动宿主并执行目标;临时 profile 不是 OS 沙箱。健康执行器默认审阅,须显式 `--run` 及当次授权才执行目标命令,也不是 OS 沙箱。风险/覆盖门禁、JSON/SARIF/JUnit和版本矩阵见[作者CI](https://github.com/lcy0121/dsh-plugin-compat-check/blob/main/docs/author-ci.md)。
|
|
40
|
+
npm包**没有CLI bin**,不支持`npx dsh-plugin-compat-check`。CLI、安装检查、静态批量、[作者CI](https://github.com/lcy0121/dsh-plugin-compat-check/blob/main/docs/author-ci.md)和健康执行器从仓库运行;安装/probe-boot/健康run会执行目标,须相应授权,临时profile不是OS沙箱。
|
|
49
41
|
|
|
50
42
|
## 判定与边界
|
|
51
43
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
-
|
|
55
|
-
- 声明规则与精确版本豁免依据目标 DSH 判定;非法字段不可豁免。普通检查的未知/未来版本回退及自定义目录保持未认证提示,内置目录摘要不符则无法判定。升级预检严格限定上述两个版本。[目录治理](https://github.com/lcy0121/dsh-plugin-compat-check/blob/main/docs/maintaining.md#api目录候选审查)须经来源核验、差分、规则复核及真实验收。
|
|
56
|
-
- 宿主体检不装包、不调用外部命令或联网,默认写自身隔离基线;不完整扫描不推进。普通检查需禁基线读写时使用仓库 CLI 的 `--no-baseline`;升级预检始终隔离基线。
|
|
57
|
-
- 报告保留完整发现、覆盖、观测与基线;面板拒绝损坏/不支持版本的负载。旧 probe 提示未绑定,旧基线中性重建。
|
|
44
|
+
保留certainty、impactBasis、coverage和vacuous。未观测不等于缺失,描述符采样不执行getter;其它profile不借当前宿主服务。动态分析覆盖有限,源码位置须真实,客户端业务另验收。
|
|
45
|
+
|
|
46
|
+
普通体检写自身隔离基线,不完整扫描不推进;坏/旧基线保留原件,no-baseline禁读写。人工处置不授予豁免。rc.2/rc.3参数参考、弃用及生命周期提醒不证明实测失败/泄漏,不新增致命语义规则。
|
|
58
47
|
|
|
59
|
-
|
|
48
|
+
[Plan](https://github.com/lcy0121/dsh-plugin-compat-check/blob/main/docs/Plan.md)维护契约和待办,[维护指南](https://github.com/lcy0121/dsh-plugin-compat-check/blob/main/docs/maintaining.md)说明目录认证。macOS/Linux仅有[限定证据及实际发布记录](https://github.com/lcy0121/dsh-plugin-compat-check/blob/main/docs/current-state.json),Windows未真实验收,历史结果不认证新制品。
|
|
60
49
|
|
|
61
50
|
## License
|
|
62
51
|
|
|
63
|
-
[MIT](https://github.com/lcy0121/dsh-plugin-compat-check/blob/main/LICENSE) ·
|
|
52
|
+
[MIT](https://github.com/lcy0121/dsh-plugin-compat-check/blob/main/LICENSE) · [THIRD_PARTY_NOTICES.md](https://github.com/lcy0121/dsh-plugin-compat-check/blob/main/THIRD_PARTY_NOTICES.md),两者随npm包提供。
|
package/THIRD_PARTY_NOTICES.md
CHANGED
|
@@ -12,6 +12,7 @@ This inventory covers the production and development npm closure in the reposito
|
|
|
12
12
|
| --- | --- | --- |
|
|
13
13
|
| [`@babel/parser`](https://www.npmjs.com/package/@babel/parser/v/7.29.9) | 7.29.9 | MIT |
|
|
14
14
|
| [`semver`](https://www.npmjs.com/package/semver/v/7.7.3) | 7.7.3 | ISC |
|
|
15
|
+
| [`yaml`](https://www.npmjs.com/package/yaml/v/2.9.1) | 2.9.1 | ISC |
|
|
15
16
|
|
|
16
17
|
### Transitive runtime dependencies
|
|
17
18
|
|
|
@@ -27,7 +28,6 @@ These packages support repository-only tools and are not declared as npm plugin
|
|
|
27
28
|
|
|
28
29
|
| Package | Locked version | License |
|
|
29
30
|
| --- | --- | --- |
|
|
30
|
-
| [`yaml`](https://www.npmjs.com/package/yaml/v/2.9.1) | 2.9.1 | ISC |
|
|
31
31
|
|
|
32
32
|
## Development-only dependencies
|
|
33
33
|
|