@linkdesk/plugin-sdk 0.1.32 → 0.1.34

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 (74) hide show
  1. package/dist/eslint/checks/appearance-ownership.d.ts +4 -3
  2. package/dist/eslint/checks/appearance-ownership.d.ts.map +1 -1
  3. package/dist/eslint/checks/appearance-ownership.js +22 -14
  4. package/dist/eslint/checks/appearance-ownership.js.map +1 -1
  5. package/dist/eslint/checks/appearance-ownership.test.d.ts +2 -0
  6. package/dist/eslint/checks/appearance-ownership.test.d.ts.map +1 -0
  7. package/dist/eslint/checks/appearance-ownership.test.js +348 -0
  8. package/dist/eslint/checks/appearance-ownership.test.js.map +1 -0
  9. package/dist/eslint/checks/command-ownership.d.ts +11 -1
  10. package/dist/eslint/checks/command-ownership.d.ts.map +1 -1
  11. package/dist/eslint/checks/command-ownership.js +10 -4
  12. package/dist/eslint/checks/command-ownership.js.map +1 -1
  13. package/dist/eslint/checks/command-ownership.test.d.ts +2 -0
  14. package/dist/eslint/checks/command-ownership.test.d.ts.map +1 -0
  15. package/dist/eslint/checks/command-ownership.test.js +207 -0
  16. package/dist/eslint/checks/command-ownership.test.js.map +1 -0
  17. package/dist/eslint/checks/config-ownership.d.ts +3 -3
  18. package/dist/eslint/checks/config-ownership.d.ts.map +1 -1
  19. package/dist/eslint/checks/config-ownership.js +15 -11
  20. package/dist/eslint/checks/config-ownership.js.map +1 -1
  21. package/dist/eslint/checks/config-ownership.test.d.ts +2 -0
  22. package/dist/eslint/checks/config-ownership.test.d.ts.map +1 -0
  23. package/dist/eslint/checks/config-ownership.test.js +252 -0
  24. package/dist/eslint/checks/config-ownership.test.js.map +1 -0
  25. package/dist/eslint/checks/context-ownership.d.ts +74 -0
  26. package/dist/eslint/checks/context-ownership.d.ts.map +1 -0
  27. package/dist/eslint/checks/context-ownership.js +177 -0
  28. package/dist/eslint/checks/context-ownership.js.map +1 -0
  29. package/dist/eslint/checks/context-ownership.test.d.ts +2 -0
  30. package/dist/eslint/checks/context-ownership.test.d.ts.map +1 -0
  31. package/dist/eslint/checks/context-ownership.test.js +205 -0
  32. package/dist/eslint/checks/context-ownership.test.js.map +1 -0
  33. package/dist/eslint/checks/disable.d.ts +5 -0
  34. package/dist/eslint/checks/disable.d.ts.map +1 -1
  35. package/dist/eslint/checks/disable.js +5 -0
  36. package/dist/eslint/checks/disable.js.map +1 -1
  37. package/dist/eslint/checks/plugin-prefix.test.d.ts +2 -0
  38. package/dist/eslint/checks/plugin-prefix.test.d.ts.map +1 -0
  39. package/dist/eslint/checks/plugin-prefix.test.js +229 -0
  40. package/dist/eslint/checks/plugin-prefix.test.js.map +1 -0
  41. package/dist/eslint/checks/reserved-classes.test.d.ts +2 -0
  42. package/dist/eslint/checks/reserved-classes.test.d.ts.map +1 -0
  43. package/dist/eslint/checks/reserved-classes.test.js +122 -0
  44. package/dist/eslint/checks/reserved-classes.test.js.map +1 -0
  45. package/dist/eslint/checks/selector-form.test.d.ts +2 -0
  46. package/dist/eslint/checks/selector-form.test.d.ts.map +1 -0
  47. package/dist/eslint/checks/selector-form.test.js +211 -0
  48. package/dist/eslint/checks/selector-form.test.js.map +1 -0
  49. package/dist/eslint/checks/token-scope.test.d.ts +2 -0
  50. package/dist/eslint/checks/token-scope.test.d.ts.map +1 -0
  51. package/dist/eslint/checks/token-scope.test.js +185 -0
  52. package/dist/eslint/checks/token-scope.test.js.map +1 -0
  53. package/dist/eslint/index.d.ts +12 -0
  54. package/dist/eslint/index.d.ts.map +1 -1
  55. package/dist/eslint/index.js +11 -0
  56. package/dist/eslint/index.js.map +1 -1
  57. package/dist/eslint/lint.d.ts +17 -0
  58. package/dist/eslint/lint.d.ts.map +1 -1
  59. package/dist/eslint/lint.js +64 -13
  60. package/dist/eslint/lint.js.map +1 -1
  61. package/dist/pack.test.d.ts +2 -0
  62. package/dist/pack.test.d.ts.map +1 -0
  63. package/dist/pack.test.js +58 -0
  64. package/dist/pack.test.js.map +1 -0
  65. package/dist/publish.test.d.ts +2 -0
  66. package/dist/publish.test.d.ts.map +1 -0
  67. package/dist/publish.test.js +340 -0
  68. package/dist/publish.test.js.map +1 -0
  69. package/dist/validate.test.d.ts +2 -0
  70. package/dist/validate.test.d.ts.map +1 -0
  71. package/dist/validate.test.js +107 -0
  72. package/dist/validate.test.js.map +1 -0
  73. package/package.json +68 -68
  74. package/schemas/host-reserved.json +9 -6
@@ -20,10 +20,12 @@
20
20
  * · **协议面** = 源码里 `registerProtocol({ id: "<字面量>" })`(协议 id 与命令 id 同族:都是
21
21
  * 全局名册的键,`ProtocolRegistry` 用 `Map` + 重复注册只 `console.warn` 后照旧覆盖)。
22
22
  *
23
- * ── 🔴 本格(1.32)只判**黄**,别在这里自行判红 ──
24
- * 官方仓此刻**还没改名**(改名归 1.42–1.48,前置 1.41);判红会让插件仓 CI 处于一段无谓的红窗。
25
- * 本腿的报点**进 `runPluginLint` WARN 通道**(`bin lint` 退出码只看 eslint 的 severity 2
26
- * ——见 `src/bin.ts`)⇒ 天然是黄灯。**1.49 才收紧为红**(照 1.31 §12 的分级表)。
23
+ * ── 🔴 分级:本腿**从落地起就是红**(1.49 复核时的如实订正)──
24
+ * 1.32 的注释原写「本格只判黄 …… **1.49 才收紧为红**」,但实现里**三条判据的裁决一律进 `violations`**
25
+ * (本文件没有 `advisories` / `yellow` 分栏)⇒ 在**插件仓 CI**(`ci-verify.mjs` 把非 ADVISORY 腿的
26
+ * `violations` 计入严格腿)**一直是红**;作者本地仍不被拦(`bin lint` 的退出码只看 eslint severity 2
27
+ * ——见 `src/bin.ts`)⇒ 「本地黄、CI 红」这个双轨形态与另几条腿一致,只是注释里的时间点写错了。
28
+ * 1.49 保持现状(「收紧为红」对本腿 = 已达成),**只订正注释,一个判据都不动**。
27
29
  *
28
30
  * 知情绕行 = 标准 disable 注释(`CHECK_IDS.commandOwnership`)。⚠️ **fail-closed 不参与豁免**:
29
31
  * 拿不到 `pluginId` 说的不是「你的 id 怎么写」,而是「你的身份读不到」——那是工程根的问题。
@@ -54,6 +56,8 @@ export function loadHostReserved(file = HOST_RESERVED_FILE) {
54
56
  appearanceIconThemeIds: [],
55
57
  appearanceSentinels: [],
56
58
  appearanceIdGrants: {},
59
+ contextKeysHostOnly: [],
60
+ contextKeysPublic: [],
57
61
  };
58
62
  }
59
63
  const raw = JSON.parse(readFileSync(file, "utf8"));
@@ -67,6 +71,8 @@ export function loadHostReserved(file = HOST_RESERVED_FILE) {
67
71
  appearanceIconThemeIds: raw.appearanceIconThemeIds ?? [],
68
72
  appearanceSentinels: raw.appearanceSentinels ?? [],
69
73
  appearanceIdGrants: raw.appearanceIdGrants ?? {},
74
+ contextKeysHostOnly: raw.contextKeysHostOnly ?? [],
75
+ contextKeysPublic: raw.contextKeysPublic ?? [],
70
76
  };
71
77
  }
72
78
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"command-ownership.js","sourceRoot":"","sources":["../../../src/eslint/checks/command-ownership.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-ownership.js","sourceRoot":"","sources":["../../../src/eslint/checks/command-ownership.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAuB,MAAM,oBAAoB,CAAC;AAChF,OAAO,EACL,YAAY,EACZ,eAAe,EACf,UAAU,EACV,OAAO,GAER,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,iBAAiB,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAExE;;;;GAIG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,qCAAqC,CAAC,CAAC;AA4C1H,2DAA2D;AAC3D,MAAM,UAAU,gBAAgB,CAAC,OAAe,kBAAkB;IAChE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QACtB,OAAO;YACL,eAAe,EAAE,EAAE;YACnB,WAAW,EAAE,EAAE;YACf,UAAU,EAAE,EAAE;YACd,eAAe,EAAE,EAAE;YACnB,mBAAmB,EAAE,EAAE;YACvB,qBAAqB,EAAE,EAAE;YACzB,sBAAsB,EAAE,EAAE;YAC1B,mBAAmB,EAAE,EAAE;YACvB,kBAAkB,EAAE,EAAE;YACtB,mBAAmB,EAAE,EAAE;YACvB,iBAAiB,EAAE,EAAE;SACtB,CAAC;IACJ,CAAC;IACD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAYhD,CAAC;IACF,OAAO;QACL,eAAe,EAAE,GAAG,CAAC,eAAe,IAAI,EAAE;QAC1C,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;QAClC,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE;QAChC,eAAe,EAAE,GAAG,CAAC,eAAe,IAAI,EAAE;QAC1C,mBAAmB,EAAE,GAAG,CAAC,mBAAmB,IAAI,EAAE;QAClD,qBAAqB,EAAE,GAAG,CAAC,qBAAqB,IAAI,EAAE;QACtD,sBAAsB,EAAE,GAAG,CAAC,sBAAsB,IAAI,EAAE;QACxD,mBAAmB,EAAE,GAAG,CAAC,mBAAmB,IAAI,EAAE;QAClD,kBAAkB,EAAE,GAAG,CAAC,kBAAkB,IAAI,EAAE;QAChD,mBAAmB,EAAE,GAAG,CAAC,mBAAmB,IAAI,EAAE;QAClD,iBAAiB,EAAE,GAAG,CAAC,iBAAiB,IAAI,EAAE;KAC/C,CAAC;AACJ,CAAC;AA2CD;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,EAAU,EACV,QAAgB,EAChB,QAA2B,EAC3B,IAAmB;IAEnB,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC5B,MAAM,SAAS,GAAG,GAAG,QAAQ,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;IACpE,2DAA2D;IAC3D,MAAM,GAAG,GACP,IAAI,KAAK,UAAU;QACjB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,SAAS;QACb,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,IAAI,GAAG,KAAK,SAAS;QAAE,OAAO,EAAE,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAClF,SAAS;IACT,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,QAAQ,GAAG,CAAC;QAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC;IACnF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,iEAAiE;AACjE,SAAS,YAAY,CACnB,GAAW,EACX,EAAU,EACV,OAA+C;IAE/C,MAAM,GAAG,GAAqD,EAAE,CAAC;IACjE,KAAK,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;QACjC,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QACtB,IAAI,CAAC,EAAE;YAAE,SAAS;QAClB,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACxB,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;QACjD,MAAM,SAAS,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,SAAS,EAAE,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7F,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,oFAAoF;AACpF,MAAM,CAAC,MAAM,mBAAmB,GAAG,6CAA6C,CAAC;AACjF,oEAAoE;AACpE,MAAM,CAAC,MAAM,oBAAoB,GAAG,yEAAyE,CAAC;AAE9G,yEAAyE;AACzE,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,EAAU;IACpD,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;IACtD,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,iBAAiB,GAAG,GAAG,CAAC,CAAC,CAAC;IACzD,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;AAClD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,IAAY,EACZ,WAA8B,gBAAgB,EAAE,EAChD,eAAuB,kBAAkB;IAEzC,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAClD,MAAM,UAAU,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,UAAU,GAAqB,EAAE,CAAC;IACxC,MAAM,MAAM,GAA2B;QACrC,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE,UAAU,CAAC,QAAQ;QAC7B,cAAc,EAAE,UAAU,CAAC,MAAM;QACjC,YAAY,EAAE,UAAU,CAAC,IAAI;QAC7B,KAAK,EAAE,UAAU,CAAC,KAAK;QACvB,KAAK,EAAE,EAAE;QACT,WAAW,EAAE,EAAE;QACf,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,EAAE;QACf,UAAU,EAAE;YACV,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC;YAC/B,eAAe,EAAE,QAAQ,CAAC,eAAe,CAAC,MAAM;YAChD,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,MAAM;SACzC;QACD,UAAU;KACX,CAAC;IAEF,6CAA6C;IAC7C,IAAI,UAAU,CAAC,KAAK,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,CAAC;QAC7C,UAAU,CAAC,IAAI,CAAC;YACd,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,CAAC;YACP,OAAO,EACL,kBAAkB,UAAU,CAAC,KAAK,+BAA+B;gBACjE,uDAAuD;gBACvD,iCAAiC;SACpC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAC;IACrC,MAAM,MAAM,GAAG,GAAG,QAAQ,GAAG,CAAC;IAC9B,MAAM,WAAW,GAAG,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACvF,MAAM,gBAAgB,GAAG,iBAAiB,CAAC,WAAW,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEtF,MAAM,QAAQ,GAAG,CAAC,IAAmB,EAAE,OAAe,EAAE,QAAsE,EAAQ,EAAE;QACtI,IAAI,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC,gBAAgB,CAAC;YAAE,OAAO;QAC5F,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxB,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IACjE,CAAC,CAAC;IAEF,MAAM,YAAY,GAAG,CACnB,IAAmB,EACnB,EAAU,EACV,IAAY,EACZ,IAAY,EACZ,QAAsE,EAChE,EAAE;QACR,MAAM,OAAO,GAAG,cAAc,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAC7D,IAAI,CAAC,OAAO;YAAE,OAAO;QACrB,MAAM,KAAK,GAAG,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,uCAAuC,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,2BAA2B,CAAC;QAC7J,MAAM,OAAO,GACX,OAAO,CAAC,IAAI,KAAK,eAAe;YAC9B,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,iBAAiB,OAAO,CAAC,QAAQ,wBAAwB;gBAC3E,6BAA6B,OAAO,CAAC,SAAS,YAAY,OAAO,CAAC,QAAQ,gBAAgB;YAC5F,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,4BAA4B,QAAQ,SAAS,MAAM,OAAO;gBAC5E,mDAAmD;gBACnD,OAAO,OAAO,CAAC,SAAS,iBAAiB,CAAC;QAChD,QAAQ,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;IACrL,CAAC,CAAC;IAEF,yEAAyE;IACzE,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,QAAQ,GAAY,IAAI,CAAC;QAC7B,IAAI,CAAC;YACH,QAAQ,GAAG,kBAAkB,CAAC,YAAY,CAAC,CAAC;QAC9C,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,GAAG,IAAI,CAAC,CAAC,2DAA2D;QAC9E,CAAC;QACD,MAAM,IAAI,GAAI,QAAuE,EAAE,WAAW,EAAE,QAAQ,CAAC;QAC7G,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YACxB,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;gBACrB,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;gBACjB,IAAI,OAAO,EAAE,KAAK,QAAQ,IAAI,CAAC,EAAE;oBAAE,SAAS;gBAC5C,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;oBAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAClE,YAAY,CAAC,UAAU,EAAE,EAAE,EAAE,aAAa,EAAE,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,EAAE,GAAG,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc,CAAC,WAAW,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;YACjJ,CAAC;QACH,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QAClC,IAAI,eAAe,CAAC,GAAG,CAAC;YAAE,SAAS;QACnC,MAAM,GAAG,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,GAAG,GAAG,iBAAiB,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAEjE,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,mBAAmB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACxE,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,YAAY,CAAC,GAAG,EAAE,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvE,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAAE,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1E,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,EAAE,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=command-ownership.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-ownership.test.d.ts","sourceRoot":"","sources":["../../../src/eslint/checks/command-ownership.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,207 @@
1
+ /**
2
+ * check-command-ownership 腿·**命令 id / 协议 id 归属判据**(E6#111b · 1.32)单测。
3
+ *
4
+ * 为什么值得一条测试:这条腿的**两条失效方向都是静默的**——
5
+ * · 太松(放过一条不带归属的 id)⇒ 壳侧按名字第一段找属主 ⇒ 两个插件撞前缀时**静默互相覆盖**
6
+ * (不报错、只是有一个命令永远不生效),正是本件要杀的形态;
7
+ * · 太紧(误伤合法 id / 把宿主保留面判错户)⇒ 插件仓白红,作者学会「看到黄就 disable」。
8
+ * 故判据①②(本仓前缀 / 宿主保留面)+ 三面(声明 / 运行时 / 协议)+ fail-closed + 豁免
9
+ * **正反两向都钉住**,另加两条元判据:
10
+ * · **同一份源码 + 不同 pluginId ⇒ 不同裁决**(证明真的在读 manifest,不是恒红/恒绿);
11
+ * · **账读不到 ⇒ 判据② 明示空转**(不是静默绿)——账是判据② 的**唯一**输入(不许内联一份)。
12
+ *
13
+ * 命令 id 用**真实形态样本**(`file-tree` 的 `selectForCompare`——H3 那条「借了 `editor.` 前缀」的命令)
14
+ * 与虚构 id 并用:真实形态才抓得到「前缀与属主不是一回事」这类错,虚构 id 用来钉边界。
15
+ */
16
+ import { describe, expect, it } from "vitest";
17
+ import { mkdtempSync, mkdirSync, writeFileSync, rmSync } from "node:fs";
18
+ import { tmpdir } from "node:os";
19
+ import { join } from "node:path";
20
+ import { judgeCommandId, runCommandOwnershipCheck, manifestIdLine } from "./command-ownership.js";
21
+ /** 宿主保留面夹具(不依赖真账内容——真账会被后续轮次加家族;这里只钉判据的形状) */
22
+ const RESERVED = {
23
+ commandPrefixes: ["workbench.", "view."],
24
+ protocolIds: ["bracket"],
25
+ configKeys: [],
26
+ pseudoPluginIds: [],
27
+ appearanceRecipeIds: [],
28
+ appearanceColorwayIds: [],
29
+ appearanceIconThemeIds: [],
30
+ appearanceSentinels: [],
31
+ appearanceIdGrants: {},
32
+ contextKeysHostOnly: [],
33
+ contextKeysPublic: [],
34
+ };
35
+ /** 造一个临时插件工程(manifest 写成 JSONC——作者面允许注释,读 manifest 的代码必须容忍) */
36
+ function withPlugin(opts, fn) {
37
+ const base = mkdtempSync(join(tmpdir(), "cmd-owner-"));
38
+ const root = opts.dirName ? join(base, opts.dirName) : base;
39
+ mkdirSync(join(root, "src"), { recursive: true });
40
+ if (opts.manifest !== null) {
41
+ const raw = opts.manifest ?? {
42
+ pluginId: "file-tree",
43
+ name: "文件树",
44
+ version: "1.0.0",
45
+ contributes: { commands: [{ id: "file-tree.revealInExplorer", title: "在资源管理器中显示" }] },
46
+ };
47
+ writeFileSync(join(root, "plugin.json"), `{\n // 作者允许的注释\n ${JSON.stringify(raw).slice(1, -1)},\n}\n`, "utf8");
48
+ }
49
+ for (const [rel, body] of Object.entries(opts.files ?? {})) {
50
+ const abs = join(root, rel);
51
+ mkdirSync(join(abs, ".."), { recursive: true });
52
+ writeFileSync(abs, body, "utf8");
53
+ }
54
+ try {
55
+ fn(root);
56
+ }
57
+ finally {
58
+ rmSync(base, { recursive: true, force: true });
59
+ }
60
+ }
61
+ /** 账的假路径(不存在 ⇒ 报告里 hostLedger.found = false)——用于「账读不到」这一控 */
62
+ const NO_LEDGER = join(tmpdir(), "no-such-host-reserved.json");
63
+ describe("判据①② 三面(声明 / 运行时 / 协议)", () => {
64
+ it("正控:三面都带本仓前缀 ⇒ 零违规,且三面读数各就各位", () => {
65
+ withPlugin({
66
+ files: {
67
+ "src/register.ts": 'lk.commands.registerCommand("file-tree.selectForCompare", () => 0);\n' +
68
+ 'registerProtocol({ id: "file-tree.codec", name: "编解码", pluginId: "file-tree", mode: "text" });\n',
69
+ },
70
+ }, (root) => {
71
+ const r = runCommandOwnershipCheck(root, RESERVED, NO_LEDGER);
72
+ expect(r.violations).toHaveLength(0);
73
+ expect(r.declaredIds).toEqual(["file-tree.revealInExplorer"]);
74
+ expect(r.runtimeIds).toEqual(["file-tree.selectForCompare"]);
75
+ expect(r.protocolIds).toEqual(["file-tree.codec"]);
76
+ expect(r.pluginId).toBe("file-tree");
77
+ expect(r.pluginIdSource).toBe("plugin.json");
78
+ });
79
+ });
80
+ it("N1 负控:声明面 id 前缀被删掉 ⇒ 红,报点带 文件:行 +「应以 file-tree. 开头」+ 建议名", () => {
81
+ withPlugin({ manifest: { pluginId: "file-tree", name: "文件树", version: "1.0.0", contributes: { commands: [{ id: "selectForCompare", title: "对比" }] } } }, (root) => {
82
+ const r = runCommandOwnershipCheck(root, RESERVED, NO_LEDGER);
83
+ expect(r.violations).toHaveLength(1);
84
+ const v = r.violations[0];
85
+ expect(v.file).toBe("plugin.json");
86
+ expect(v.line).toBeGreaterThan(1); // 真实行号(不是恒 1)
87
+ expect(v.message).toContain('id "selectForCompare"');
88
+ expect(v.message).toContain('应以 "file-tree." 开头');
89
+ expect(r.sites[0].code).toBe("no-plugin-prefix");
90
+ expect(r.sites[0].suggested).toBe("file-tree.selectForCompare"); // 改名映射可直接用
91
+ });
92
+ // 还原(加回前缀)⇒ 逐字节同一份源码回到零违规
93
+ withPlugin({ manifest: { pluginId: "file-tree", name: "文件树", version: "1.0.0", contributes: { commands: [{ id: "file-tree.selectForCompare", title: "对比" }] } } }, (root) => {
94
+ expect(runCommandOwnershipCheck(root, RESERVED, NO_LEDGER).violations).toHaveLength(0);
95
+ });
96
+ });
97
+ it("N2 负控:命令 id 落在宿主保留前缀里 ⇒ 红,且点名撞上哪一条", () => {
98
+ withPlugin({
99
+ manifest: {
100
+ pluginId: "file-tree",
101
+ name: "文件树",
102
+ version: "1.0.0",
103
+ contributes: { commands: [{ id: "workbench.action.showCommands", title: "命令面板" }] },
104
+ },
105
+ }, (root) => {
106
+ const r = runCommandOwnershipCheck(root, RESERVED, NO_LEDGER);
107
+ expect(r.violations).toHaveLength(1);
108
+ expect(r.sites[0].code).toBe("host-reserved");
109
+ expect(r.sites[0].reserved).toBe("workbench.");
110
+ expect(r.violations[0].message).toContain("宿主保留面");
111
+ // 🔴 建议值 = **只换第一段**(`workbench.` 换成自己的前缀,词干一个字不改)——
112
+ // 与报点里的措辞必须是同一件事:措辞说「前缀只插入」而建议值把 `workbench.` 删了,
113
+ // 第三方作者按文字做会与按建议值做得到两个不同结果(E6#111b 发布 0.1.30 修的就是这处)。
114
+ expect(r.sites[0].suggested).toBe("file-tree.action.showCommands");
115
+ expect(r.violations[0].message).toContain("只换第一段");
116
+ expect(r.violations[0].message).not.toContain("前缀只插入");
117
+ });
118
+ });
119
+ it("N3 负控:运行时面 + 真实形态样本(借了 editor. 前缀的命令)⇒ 红", () => {
120
+ withPlugin({
121
+ files: { "src/views/Editor.ts": 'lk.commands.registerCommand("editor.selectForCompare", () => 0);\n' },
122
+ }, (root) => {
123
+ const r = runCommandOwnershipCheck(root, RESERVED, NO_LEDGER);
124
+ expect(r.violations).toHaveLength(1);
125
+ expect(r.violations[0].file).toBe("src/views/Editor.ts");
126
+ expect(r.violations[0].line).toBe(1);
127
+ expect(r.sites[0].face).toBe("runtime");
128
+ expect(r.sites[0].suggested).toBe("file-tree.selectForCompare");
129
+ });
130
+ });
131
+ it("协议面负控:协议 id 撞宿主内置协议 ⇒ 红(协议面比**全等**,不是前缀)", () => {
132
+ withPlugin({
133
+ files: {
134
+ "src/protocol.ts": 'registerProtocol({ id: "bracket", name: "方括号", pluginId: "file-tree", mode: "text" });\n' +
135
+ 'registerProtocol({ id: "bracket-ext", name: "扩展方括号", pluginId: "file-tree", mode: "text" });\n',
136
+ },
137
+ }, (root) => {
138
+ const r = runCommandOwnershipCheck(root, RESERVED, NO_LEDGER);
139
+ // `bracket` 撞宿主内置 ⇒ 红;`bracket-ext` 只是**不带本仓前缀**(不以 "bracket" 为保留前缀判定)
140
+ expect(r.sites.map((s) => [s.id, s.code])).toEqual([
141
+ ["bracket", "host-reserved"],
142
+ ["bracket-ext", "no-plugin-prefix"],
143
+ ]);
144
+ expect(r.violations[0].message).toContain("宿主保留面");
145
+ });
146
+ });
147
+ it("元判据:同一份源码 + 不同 pluginId ⇒ 不同裁决(读的是 manifest,不是恒红/恒绿)", () => {
148
+ const files = { "src/a.ts": 'lk.commands.registerCommand("alpha.do", () => 0);\n' };
149
+ withPlugin({ manifest: { pluginId: "alpha", name: "A", version: "1.0.0" }, files }, (root) => {
150
+ expect(runCommandOwnershipCheck(root, RESERVED, NO_LEDGER).violations).toHaveLength(0);
151
+ });
152
+ withPlugin({ manifest: { pluginId: "beta", name: "B", version: "1.0.0" }, files }, (root) => {
153
+ expect(runCommandOwnershipCheck(root, RESERVED, NO_LEDGER).violations).toHaveLength(1);
154
+ });
155
+ });
156
+ it("测试/mock 文件里的字面量不报(与另几条腿同口径,免得插件仓白噪声)", () => {
157
+ withPlugin({ files: { "src/a.test.ts": 'registerCommand("editor.nope", () => 0);\n' } }, (root) => {
158
+ const r = runCommandOwnershipCheck(root, RESERVED, NO_LEDGER);
159
+ expect(r.violations).toHaveLength(0);
160
+ expect(r.runtimeIds).toEqual([]);
161
+ });
162
+ });
163
+ });
164
+ describe("fail-closed / 豁免 / 账的加载实况", () => {
165
+ it("fail-closed:没有 plugin.json ⇒ 红一条(拿不到身份就无从判归属)", () => {
166
+ withPlugin({ manifest: null, files: { "src/a.ts": 'registerCommand("who.knows", () => 0);\n' } }, (root) => {
167
+ const r = runCommandOwnershipCheck(root, RESERVED, NO_LEDGER);
168
+ expect(r.violations).toHaveLength(1);
169
+ expect(r.violations[0].file).toBe("plugin.json");
170
+ expect(r.violations[0].message).toContain("拿不到本仓 pluginId");
171
+ expect(r.runtimeIds).toEqual([]); // 身份不明 ⇒ 不继续扫(免得把「无主」报成「不合规」)
172
+ });
173
+ });
174
+ it("豁免:标准 disable 注释盖住一条运行时面报点 ⇒ 静默(知情绕行语义)", () => {
175
+ withPlugin({
176
+ files: {
177
+ "src/a.ts": "// eslint-disable-next-line linkdesk/no-unowned-command-id -- 兼容旧名,1.42 改名轮统一处理\n" +
178
+ 'lk.commands.registerCommand("editor.selectForCompare", () => 0);\n',
179
+ },
180
+ }, (root) => {
181
+ const r = runCommandOwnershipCheck(root, RESERVED, NO_LEDGER);
182
+ expect(r.violations).toHaveLength(0);
183
+ expect(r.runtimeIds).toEqual(["editor.selectForCompare"]); // 读数照记(豁免只影响报点)
184
+ });
185
+ });
186
+ it("账读不到 ⇒ 报告里明确标记(判据② 空转,不是静默绿)", () => {
187
+ withPlugin({ files: { "src/a.ts": 'registerCommand("workbench.x", () => 0);\n' } }, (root) => {
188
+ const r = runCommandOwnershipCheck(root, { commandPrefixes: [], protocolIds: [], configKeys: [], pseudoPluginIds: [], appearanceRecipeIds: [], appearanceColorwayIds: [], appearanceIconThemeIds: [], appearanceSentinels: [], appearanceIdGrants: {}, contextKeysHostOnly: [], contextKeysPublic: [] }, NO_LEDGER);
189
+ expect(r.hostLedger.found).toBe(false);
190
+ // 账空 ⇒ 判据② 无输入;`workbench.x` 仍因**不带本仓前缀**被 ① 报出来
191
+ expect(r.sites[0].code).toBe("no-plugin-prefix");
192
+ });
193
+ });
194
+ });
195
+ describe("辅助(探针与腿共用的纯函数)", () => {
196
+ it("judgeCommandId:顺序 = 先判宿主保留面、后判本仓前缀(撞保留面时报告更严重的那条)", () => {
197
+ expect(judgeCommandId("workbench.a", "workbench", RESERVED, "declared")?.code).toBe("host-reserved");
198
+ expect(judgeCommandId("file-tree.a", "file-tree", RESERVED, "declared")).toBeNull();
199
+ expect(judgeCommandId("bracket", "file-tree", RESERVED, "protocol")?.reserved).toBe("bracket");
200
+ });
201
+ it("manifestIdLine:找得到 ⇒ 真实行号;找不到 ⇒ 1(不抛错、不当成「不存在」)", () => {
202
+ const raw = '{\n "contributes": {\n "commands": [\n { "id": "file-tree.x" }\n ]\n }\n}\n';
203
+ expect(manifestIdLine(raw, "file-tree.x")).toBe(4);
204
+ expect(manifestIdLine(raw, "nope.y")).toBe(1);
205
+ });
206
+ });
207
+ //# sourceMappingURL=command-ownership.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-ownership.test.js","sourceRoot":"","sources":["../../../src/eslint/checks/command-ownership.test.ts"],"names":[],"mappings":"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"}
@@ -26,9 +26,9 @@ export interface ConfigOwnershipReport {
26
26
  pluginIdNote: string | null;
27
27
  /** fail-closed:非 null ⇒ 本腿报红(拿不到身份就无从判归属) */
28
28
  error: string | null;
29
- /** 🔴 必须改的(进腿报点) */
29
+ /** 🔴 必须改的(进腿报点)——1.49 收紧后 = 全部不合规站点 */
30
30
  red: ConfigKeySite[];
31
- /** 🟡 建议改的(只打印,不拦) */
31
+ /** 🟡 建议改的——🔴 **1.49 起恒空**(判据② 已升红,站点全进 `red`);字段保留只为探针输出形状不塌 */
32
32
  yellow: ConfigKeySite[];
33
33
  /** 三面的**全部**名(合规 + 不合规,按出现顺序去重)——探针的读数面(口径:名数,非站点数) */
34
34
  declaredKeys: string[];
@@ -43,7 +43,7 @@ export interface ConfigOwnershipReport {
43
43
  };
44
44
  /** 腿报点 = fail-closed + 全部红 */
45
45
  violations: CheckViolation[];
46
- /** 黄灯建议(`lint.ts` 打印用;**不进** `LintLeg.violations` 不拦 CI) */
46
+ /** 黄灯建议——🔴 **1.49 起恒空**(同上);保留字段=探针/渲染器的输出形状不变 */
47
47
  advisories: CheckViolation[];
48
48
  }
49
49
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"config-ownership.d.ts","sourceRoot":"","sources":["../../../src/eslint/checks/config-ownership.ts"],"names":[],"mappings":"AAsCA,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAwC,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtG,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,WAAW,CAAC;AAGnB,+DAA+D;AAC/D,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,kBAAkB,CAAC;AAEjE,oCAAoC;AACpC,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;AAEhE,2BAA2B;AAC3B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,aAAa,CAAC;IACpB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,aAAa,CAAC;IACpB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,6CAA6C;IAC7C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,oBAAoB;IACpB,GAAG,EAAE,aAAa,EAAE,CAAC;IACrB,sBAAsB;IACtB,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,uDAAuD;IACvD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,sCAAsC;IACtC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1F,8BAA8B;IAC9B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,8DAA8D;IAC9D,UAAU,EAAE,cAAc,EAAE,CAAC;CAC9B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,aAAa,GAClB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQtE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,iBAAiB,GAC1B;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAItE;AAED;6DAC6D;AAC7D,eAAO,MAAM,yBAAyB,QAAmE,CAAC;AAiB1G,kEAAkE;AAClE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAKhE;AAuBD;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,iBAAsC,EAChD,YAAY,GAAE,MAA2B,GACxC,qBAAqB,CAuIvB"}
1
+ {"version":3,"file":"config-ownership.d.ts","sourceRoot":"","sources":["../../../src/eslint/checks/config-ownership.ts"],"names":[],"mappings":"AA0CA,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAwC,KAAK,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AACtG,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,WAAW,CAAC;AAGnB,+DAA+D;AAC/D,MAAM,MAAM,aAAa,GAAG,eAAe,GAAG,kBAAkB,CAAC;AAEjE,oCAAoC;AACpC,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;AAEhE,2BAA2B;AAC3B,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,aAAa,CAAC;IACpB,8CAA8C;IAC9C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,aAAa,CAAC;IACpB,yDAAyD;IACzD,SAAS,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,cAAc,EAAE,cAAc,GAAG,IAAI,CAAC;IACtC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,6CAA6C;IAC7C,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,wCAAwC;IACxC,GAAG,EAAE,aAAa,EAAE,CAAC;IACrB,kEAAkE;IAClE,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,uDAAuD;IACvD,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,sCAAsC;IACtC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1F,8BAA8B;IAC9B,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,mDAAmD;IACnD,UAAU,EAAE,cAAc,EAAE,CAAC;CAC9B;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,iBAAiB,EAC3B,IAAI,EAAE,aAAa,GAClB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQtE;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,MAAM,EACV,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,iBAAiB,GAC1B;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAItE;AAED;6DAC6D;AAC7D,eAAO,MAAM,yBAAyB,QAAmE,CAAC;AAiB1G,kEAAkE;AAClE,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAKhE;AAuBD;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,iBAAsC,EAChD,YAAY,GAAE,MAA2B,GACxC,qBAAqB,CAwIvB"}
@@ -11,10 +11,12 @@
11
11
  * ① **宿主保留面**(🔴 红):键落在账(包内 `schemas/host-reserved.json`)的 `configKeys` 里
12
12
  * ⇒ 占用宿主设置面。**含退役键**——宿主不再写入的键也不腾位(老 `settings.json` 里可能仍有值,
13
13
  * 迁移代码还会读它)。判据出处 = 1.33 §11.1 裁决(丙)·(甲)。
14
- * ② **本仓前缀**(🟡 黄):**新键**第一段应是本仓 `pluginId`(`<pluginId>.<你的名字>`)。
14
+ * ② **本仓前缀**(🔴 · **1.49 收紧**):**新键**第一段应是本仓 `pluginId`(`<pluginId>.<你的名字>`)。
15
15
  * 与命令 id 同形(`judgeCommandId` 的「只换第一段、词干零变化」)。
16
16
  * ⚠️ 只对 **`declared` 面**判——`defaults` 面的键**天然是别人的键**(`configurationDefaults` 的语义
17
17
  * 就是"为已存在的键建议一个弱默认值",要求它带本仓前缀等于取消这个能力)。运行时面同理不判键。
18
+ * 🕐 **收紧史**:1.34 落地时按轴上排序纪律只判黄(判红会让插件仓 CI 在官方仓改名完成前处于红窗);
19
+ * 1.49 清账完成(官方 18 仓需改处 0)后兑现为红——照 00 档 §四「收紧为红放在 1.49」。
18
20
  * ③ **宿主伪身份**(🔴 红):源码里 `registerConfiguration("<字面量>", …)` / `registerConfigurationDefaults(...)`
19
21
  * 的第一个实参落在账的 `pseudoPluginIds`(app / appearance / update)⇒ 冒充宿主身份注册。
20
22
  *
@@ -27,8 +29,10 @@
27
29
  *
28
30
  * ── 🔴 分工:本腿报红的那一条,运行时也报 ──
29
31
  * 判据① 在**运行时**(壳 `ConfigurationRegistry` 的保护区)同样生效——本腿是**提前在作者仓里**把同一件事报出来
30
- * (作者不必等装上壳才发现自己的键被拒)。判据② 运行时**不管**(存量 19 个反例还在,运行时拒前缀不合规的键
31
- * 会把存量插件当场弄坏)⇒ 判据② 只在这里、且只是黄。
32
+ * (作者不必等装上壳才发现自己的键被拒)。判据② 运行时**不管**(存量键的旧名靠 `registerConfigMigration` 搬运,
33
+ * 运行时拒前缀不合规的键会把存量插件当场弄坏)⇒ 判据② 只在这里判。
34
+ * 🔴 **1.49 起判据② 同样是红**:清理已完成(官方 18 仓需改处 0),第三方新写的裸键=跨插件撞名,
35
+ * 是「本仓可答 + 有真害」的真红(00 档 §10.3 宽容度模型:红灯两类之一)。
32
36
  *
33
37
  * 知情绕行 = 标准 disable 注释(`CHECK_IDS.configOwnership`)。⚠️ **fail-closed 不参与豁免**:
34
38
  * 拿不到 `pluginId` 说的不是「你的键怎么写」,而是「你的身份读不到」——那是工程根的问题。
@@ -157,14 +161,14 @@ export function runConfigOwnershipCheck(root, reserved = loadHostReserved(), res
157
161
  const push = (site, message, disabled) => {
158
162
  if (disabled && isDisabled(disabled.idx, disabled.line, CHECK_IDS.configOwnership))
159
163
  return;
160
- if (site.code === "host-reserved") {
161
- report.red.push(site);
162
- violations.push({ file: site.file, line: site.line, message });
163
- }
164
- else {
165
- report.yellow.push(site);
166
- report.advisories.push({ file: site.file, line: site.line, message });
167
- }
164
+ /**
165
+ * 🔴 **1.49 起两条判据都是红**(收紧前:`host-reserved` 红 / `no-plugin-prefix` 黄 ⇒ 进 `advisories`
166
+ * 只打印不拦)。收紧后**全部进 `violations`** 插件仓 CI(`ci-verify.mjs` 的严格腿)当场判红。
167
+ * `yellow` / `advisories` 两个字段保留为**空容器**:探针与报告仍按原形状读数(面不塌),
168
+ * 但不再有任何站点落进去——⛔ 别把它们删了(删了等于改探针的输出形状,与本格射程无关)。
169
+ */
170
+ report.red.push(site);
171
+ violations.push({ file: site.file, line: site.line, message });
168
172
  };
169
173
  /** 判据①②合一的报点(声明面 / 弱默认值面) */
170
174
  const judgeAndPush = (face, key, line) => {
@@ -1 +1 @@
1
- {"version":3,"file":"config-ownership.js","sourceRoot":"","sources":["../../../src/eslint/checks/config-ownership.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config-ownership.js","sourceRoot":"","sources":["../../../src/eslint/checks/config-ownership.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=config-ownership.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-ownership.test.d.ts","sourceRoot":"","sources":["../../../src/eslint/checks/config-ownership.test.ts"],"names":[],"mappings":""}