@linkdesk/plugin-sdk 0.1.28 → 0.1.30

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.
@@ -0,0 +1,76 @@
1
+ import { type PluginIdSource } from "./plugin-prefix.js";
2
+ import { type CheckViolation } from "./scan.js";
3
+ /** 本腿要读的两个家族(其余三个家族 —— configKeys / pseudoPluginIds / contextKeys / appearanceIds
4
+ * 由设置键、上下文旗子等后续轮次消费;本腿只取与命令/协议 id 有关的两栏) */
5
+ export interface HostReservedNames {
6
+ commandPrefixes: string[];
7
+ protocolIds: string[];
8
+ }
9
+ /** 读宿主保留面账;文件缺失 ⇒ 空表 + 报告里打一条 note(静默空表 = 判据②变瞎子,不许不吭声) */
10
+ export declare function loadHostReserved(file?: string): HostReservedNames;
11
+ /** 判据命中的两种形态 */
12
+ export type CommandIdCode = "no-plugin-prefix" | "host-reserved";
13
+ /** 扫描面:声明面(plugin.json)/ 运行时面(registerCommand 字面量)/ 协议面(registerProtocol 字面量) */
14
+ export type CommandIdFace = "declared" | "runtime" | "protocol";
15
+ /** 一处不合规站点(探针 `scripts/audit-nonnaming.mjs` 与腿共用同一份数据) */
16
+ export interface CommandIdSite {
17
+ face: CommandIdFace;
18
+ /** 工程相对路径(正斜杠);声明面恒为 `plugin.json` */
19
+ file: string;
20
+ line: number;
21
+ id: string;
22
+ code: CommandIdCode;
23
+ /** 应改成什么:**只换第一段**(`<pluginId>.` + 原 id 第一段之后的全部)——
24
+ * ⚠️ 不是「前缀插入」:`explorer.newFile` ⇒ `file-tree.newFile`(1.31 §10.2 的改名形状),
25
+ * 词干零变化 ⇒ 改名映射可机械生成、同笔引用点替换无歧义。 */
26
+ suggested: string;
27
+ /** code = host-reserved 时:撞上的那条宿主保留前缀 / 宿主内置协议 id */
28
+ reserved?: string;
29
+ }
30
+ export interface CommandOwnershipReport {
31
+ root: string;
32
+ pluginId: string | null;
33
+ pluginIdSource: PluginIdSource | null;
34
+ pluginIdNote: string | null;
35
+ /** fail-closed:非 null ⇒ 本腿报红(拿不到身份就无从判归属) */
36
+ error: string | null;
37
+ /** 不合规站点(已过豁免) */
38
+ sites: CommandIdSite[];
39
+ /** 三面的**全部** id(合规 + 不合规,按出现顺序去重)——探针的读数面(口径:名数,非站点数) */
40
+ declaredIds: string[];
41
+ runtimeIds: string[];
42
+ protocolIds: string[];
43
+ /** 账的加载实况(账没读到 ⇒ 判据②空转,报告里必须能看出来) */
44
+ hostLedger: {
45
+ file: string;
46
+ found: boolean;
47
+ commandPrefixes: number;
48
+ protocolIds: number;
49
+ };
50
+ /** 腿报点(= fail-closed + 不合规站点) */
51
+ violations: CheckViolation[];
52
+ }
53
+ /**
54
+ * 一条命令/协议 id 的裁决(纯函数——单测与探针共用,别在别处再写一份判据)。
55
+ *
56
+ * 🔴 建议名的形状 = **只替换第一段**(`explorer.newFile` → `file-tree.newFile`,词干零变化)——
57
+ * 命令 id 是 `<pluginId>.<名>` 的**两段结构**,归属段就是第一段(1.31 §10.2 拍板的改名形状,
58
+ * 也是 1.42 改名轮要用的映射)。⚠️ 这与 CSS 腿的「**叠加**前缀」形状(`ms-item` →
59
+ * `marketplace-ms-item`)**不同**:那里没有结构化的第一段,只有"插进命名空间"一种改法。
60
+ */
61
+ export declare function judgeCommandId(id: string, pluginId: string, reserved: HostReservedNames, face: CommandIdFace): {
62
+ code: CommandIdCode;
63
+ suggested: string;
64
+ reserved?: string;
65
+ } | null;
66
+ /** 运行时面:`registerCommand("<字面量>")`——与壳仓 `scripts/audit-plugin-scope.mjs` 同一条正则口径 */
67
+ export declare const RE_REGISTER_COMMAND: RegExp;
68
+ /** 协议面:`registerProtocol({ id: "<字面量>" })`(id 在对象字面量里,允许中间隔着别的键) */
69
+ export declare const RE_REGISTER_PROTOCOL: RegExp;
70
+ /** 取 manifest 里某个 id 的行号(JSONC 原文里找 `"id": "<id>"`;找不到 ⇒ 1,不许当成「不存在」) */
71
+ export declare function manifestIdLine(raw: string, id: string): number;
72
+ /**
73
+ * 跑本仓命令/协议 id 归属判据。返回结构化报告(探针用)+ 腿报点(`lint.ts` 用)——**同一份实现**。
74
+ */
75
+ export declare function runCommandOwnershipCheck(root: string, reserved?: HostReservedNames, reservedFile?: string): CommandOwnershipReport;
76
+ //# sourceMappingURL=command-ownership.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-ownership.d.ts","sourceRoot":"","sources":["../../../src/eslint/checks/command-ownership.ts"],"names":[],"mappings":"AAkCA,OAAO,EAAyB,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAKL,KAAK,cAAc,EACpB,MAAM,WAAW,CAAC;AAUnB;6CAC6C;AAC7C,MAAM,WAAW,iBAAiB;IAChC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,MAA2B,GAAG,iBAAiB,CAOrF;AAED,gBAAgB;AAChB,MAAM,MAAM,aAAa,GAAG,kBAAkB,GAAG,eAAe,CAAC;AAEjE,iFAAiF;AACjF,MAAM,MAAM,aAAa,GAAG,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC;AAEhE,0DAA0D;AAC1D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,aAAa,CAAC;IACpB,sCAAsC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,aAAa,CAAC;IACpB;;wCAEoC;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAsB;IACrC,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,kBAAkB;IAClB,KAAK,EAAE,aAAa,EAAE,CAAC;IACvB,yDAAyD;IACzD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,qCAAqC;IACrC,UAAU,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3F,iCAAiC;IACjC,UAAU,EAAE,cAAc,EAAE,CAAC;CAC9B;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAE,MAAM,EACV,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,CActE;AAqBD,oFAAoF;AACpF,eAAO,MAAM,mBAAmB,QAAgD,CAAC;AACjF,oEAAoE;AACpE,eAAO,MAAM,oBAAoB,QAA4E,CAAC;AAE9G,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAK9D;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,iBAAsC,EAChD,YAAY,GAAE,MAA2B,GACxC,sBAAsB,CAyGxB"}
@@ -0,0 +1,203 @@
1
+ /**
2
+ * check-command-ownership 腿·**命令 id 与协议 id 的归属判据**(E6#111b · 轮次 1.32)。
3
+ *
4
+ * ── 为什么(本件立项的那条轴)──
5
+ * 命令 id 是**跨插件调用面**(`executeCommand`)+ `menus[].command` / `keybindings[].command` 的引用目标。
6
+ * 1.31 实测:官方 18 仓有 **26 个名 / 46 处** 的命令 id **不带本仓归属**(`editor.selectForCompare`
7
+ * 属主其实是 `file-tree` 插件),且壳侧旧实现的归属**从名字第一段猜**(`commandId.split(".")[0]`)
8
+ * ⇒ 两个插件用同一前缀时**静默互相覆盖**(不报错、只是有一个永远不生效)。
9
+ * ⇒ 归属必须**从身份来**:`contributes.commands[].id` 的第一段就该是本仓 `pluginId`。
10
+ *
11
+ * ── 三条判据(与壳仓 `scripts/gen-host-reserved.mjs` 的账同源)──
12
+ * ① `<pluginId>.` 前缀:命令 id / 协议 id 的第一段 == 本仓 `pluginId`(**结构判定,不查表**)。
13
+ * ② **宿主保留面**:不得落在账(包内 `schemas/host-reserved.json`)的 `commandPrefixes` /
14
+ * `protocolIds` 里——占了就是「顶替宿主命令」(`workbench.action.showCommands` 那种真形态)。
15
+ * 🔴 账是**生成式 + 双向对账**的(壳仓 `npm run check` 守),**本腿只许读账、不许内联一份**:
16
+ * 规则里内联前缀清单 = 手抄表 = 假判据(1.31 §八 已把这条写成禁区)。
17
+ * ③ **扫描面**(三面都判 ①②,分别报点、读口径不同):
18
+ * · **声明面** = `plugin.json` 的 `contributes.commands[].id`(**权威面**,loader 用真身份注册);
19
+ * · **运行时面** = 源码里 `registerCommand("<字面量>")` 的调用点(**改名要同笔改的另一半**);
20
+ * · **协议面** = 源码里 `registerProtocol({ id: "<字面量>" })`(协议 id 与命令 id 同族:都是
21
+ * 全局名册的键,`ProtocolRegistry` 用 `Map` + 重复注册只 `console.warn` 后照旧覆盖)。
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 的分级表)。
27
+ *
28
+ * 知情绕行 = 标准 disable 注释(`CHECK_IDS.commandOwnership`)。⚠️ **fail-closed 不参与豁免**:
29
+ * 拿不到 `pluginId` 说的不是「你的 id 怎么写」,而是「你的身份读不到」——那是工程根的问题。
30
+ */
31
+ import { existsSync, readFileSync } from "node:fs";
32
+ import { dirname, join, resolve } from "node:path";
33
+ import { fileURLToPath } from "node:url";
34
+ import { readPluginManifest } from "../../validate.js";
35
+ import { resolvePluginIdForCss } from "./plugin-prefix.js";
36
+ import { collectFiles, isTestOrMockRel, readSource, relPath, } from "./scan.js";
37
+ import { buildDisableIndex, isDisabled, CHECK_IDS } from "./disable.js";
38
+ /**
39
+ * 包内宿主保留面账定位(dist/eslint/checks/x.js → ../../../schemas = 包根/schemas;src 直跑同样命中)。
40
+ * 🔴 写法必须是「路径式」(resolve + fileURLToPath)——`new URL(<字面量>, import.meta.url)` 是
41
+ * Vite 的资产 URL 惯用式,本模块一旦被 Vite 处理会被改写成构建期资产引用(validate.ts 同款坑,E6#91e)。
42
+ */
43
+ const HOST_RESERVED_FILE = resolve(dirname(fileURLToPath(import.meta.url)), "../../../schemas/host-reserved.json");
44
+ /** 读宿主保留面账;文件缺失 ⇒ 空表 + 报告里打一条 note(静默空表 = 判据②变瞎子,不许不吭声) */
45
+ export function loadHostReserved(file = HOST_RESERVED_FILE) {
46
+ if (!existsSync(file))
47
+ return { commandPrefixes: [], protocolIds: [] };
48
+ const raw = JSON.parse(readFileSync(file, "utf8"));
49
+ return { commandPrefixes: raw.commandPrefixes ?? [], protocolIds: raw.protocolIds ?? [] };
50
+ }
51
+ /**
52
+ * 一条命令/协议 id 的裁决(纯函数——单测与探针共用,别在别处再写一份判据)。
53
+ *
54
+ * 🔴 建议名的形状 = **只替换第一段**(`explorer.newFile` → `file-tree.newFile`,词干零变化)——
55
+ * 命令 id 是 `<pluginId>.<名>` 的**两段结构**,归属段就是第一段(1.31 §10.2 拍板的改名形状,
56
+ * 也是 1.42 改名轮要用的映射)。⚠️ 这与 CSS 腿的「**叠加**前缀」形状(`ms-item` →
57
+ * `marketplace-ms-item`)**不同**:那里没有结构化的第一段,只有"插进命名空间"一种改法。
58
+ */
59
+ export function judgeCommandId(id, pluginId, reserved, face) {
60
+ const dot = id.indexOf(".");
61
+ const suggested = `${pluginId}.${dot > 0 ? id.slice(dot + 1) : id}`;
62
+ // ② 宿主保留面(协议面比**全等**——协议 id 是扁平名;命令面比**前缀**——宿主命令带 `.` 分段)
63
+ const hit = face === "protocol"
64
+ ? reserved.protocolIds.includes(id)
65
+ ? id
66
+ : undefined
67
+ : reserved.commandPrefixes.find((p) => id.startsWith(p));
68
+ if (hit !== undefined)
69
+ return { code: "host-reserved", suggested, reserved: hit };
70
+ // ① 本仓前缀
71
+ if (!id.startsWith(`${pluginId}.`))
72
+ return { code: "no-plugin-prefix", suggested };
73
+ return null;
74
+ }
75
+ /** 源码字面量扫描:`collect` 返回 [{id, line, lineText}]——行号按 1-based 计 */
76
+ function scanLiterals(src, re, collect) {
77
+ const out = [];
78
+ for (const m of src.matchAll(re)) {
79
+ const id = collect(m);
80
+ if (!id)
81
+ continue;
82
+ const at = m.index ?? 0;
83
+ const line = src.slice(0, at).split("\n").length;
84
+ const lineStart = src.lastIndexOf("\n", at) + 1;
85
+ const lineEnd = src.indexOf("\n", at);
86
+ out.push({ id, line, lineText: src.slice(lineStart, lineEnd < 0 ? src.length : lineEnd) });
87
+ }
88
+ return out;
89
+ }
90
+ /** 运行时面:`registerCommand("<字面量>")`——与壳仓 `scripts/audit-plugin-scope.mjs` 同一条正则口径 */
91
+ export const RE_REGISTER_COMMAND = /registerCommand\s*\(\s*["'`]([^"'`]+)["'`]/g;
92
+ /** 协议面:`registerProtocol({ id: "<字面量>" })`(id 在对象字面量里,允许中间隔着别的键) */
93
+ export const RE_REGISTER_PROTOCOL = /registerProtocol\s*\(\s*\{[\s\S]{0,400}?\bid\s*:\s*["'`]([^"'`]+)["'`]/g;
94
+ /** 取 manifest 里某个 id 的行号(JSONC 原文里找 `"id": "<id>"`;找不到 ⇒ 1,不许当成「不存在」) */
95
+ export function manifestIdLine(raw, id) {
96
+ const esc = id.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
97
+ const m = raw.match(new RegExp(`"id"\\s*:\\s*"${esc}"`));
98
+ if (!m || m.index === undefined)
99
+ return 1;
100
+ return raw.slice(0, m.index).split("\n").length;
101
+ }
102
+ /**
103
+ * 跑本仓命令/协议 id 归属判据。返回结构化报告(探针用)+ 腿报点(`lint.ts` 用)——**同一份实现**。
104
+ */
105
+ export function runCommandOwnershipCheck(root, reserved = loadHostReserved(), reservedFile = HOST_RESERVED_FILE) {
106
+ const absRoot = resolve(root);
107
+ const manifestPath = join(absRoot, "plugin.json");
108
+ const resolution = resolvePluginIdForCss(absRoot);
109
+ const violations = [];
110
+ const report = {
111
+ root: absRoot,
112
+ pluginId: resolution.pluginId,
113
+ pluginIdSource: resolution.source,
114
+ pluginIdNote: resolution.note,
115
+ error: resolution.error,
116
+ sites: [],
117
+ declaredIds: [],
118
+ runtimeIds: [],
119
+ protocolIds: [],
120
+ hostLedger: {
121
+ file: reservedFile,
122
+ found: existsSync(reservedFile),
123
+ commandPrefixes: reserved.commandPrefixes.length,
124
+ protocolIds: reserved.protocolIds.length,
125
+ },
126
+ violations,
127
+ };
128
+ // ── fail-closed(不可豁免:拿不到身份 = 判据①② 全部无从谈起)──
129
+ if (resolution.error || !resolution.pluginId) {
130
+ violations.push({
131
+ file: "plugin.json",
132
+ line: 1,
133
+ message: `拿不到本仓 pluginId:${resolution.error}。归属判据以「本仓身份」为唯一前缀来源——读不到它就无从判` +
134
+ `「这条命令 id 是不是你的」。在插件工程根修好 plugin.json(或显式声明 pluginId),` +
135
+ `别用 disable 注释绕:这是身份问题,不受豁免注释管辖。`,
136
+ });
137
+ return report;
138
+ }
139
+ const pluginId = resolution.pluginId;
140
+ const prefix = `${pluginId}.`;
141
+ const manifestRaw = existsSync(manifestPath) ? readFileSync(manifestPath, "utf8") : "";
142
+ const manifestDisabled = buildDisableIndex(manifestRaw, [CHECK_IDS.commandOwnership]);
143
+ const pushSite = (site, message, disabled) => {
144
+ if (disabled && isDisabled(disabled.idx, disabled.line, CHECK_IDS.commandOwnership))
145
+ return;
146
+ report.sites.push(site);
147
+ violations.push({ file: site.file, line: site.line, message });
148
+ };
149
+ const judgeAndPush = (face, id, file, line, disabled) => {
150
+ const verdict = judgeCommandId(id, pluginId, reserved, face);
151
+ if (!verdict)
152
+ return;
153
+ const where = face === "declared" ? "声明面(plugin.json contributes.commands)" : face === "runtime" ? "运行时面(registerCommand 字面量)" : "协议面(registerProtocol 字面量)";
154
+ const message = verdict.code === "host-reserved"
155
+ ? `${where}:id "${id}" 落在**宿主保留面**(${verdict.reserved})里——占用宿主命名 = 顶替宿主命令/协议` +
156
+ `(宿主那条同名命令会永远不生效,且不报错)。改成 "${verdict.suggested}"(只换第一段、"${verdict.reserved}" 之后的词干一个字不改)。`
157
+ : `${where}:id "${id}" 不带本仓归属(本插件 pluginId = "${pluginId}",应以 "${prefix}" 开头)` +
158
+ `——命令 id 是跨插件调用面,壳侧按第一段找属主:前缀不对 = 归属落到别人头上(或谁都不认)。` +
159
+ `改成 "${verdict.suggested}"(只换第一段、词干零变化)。`;
160
+ pushSite({ face, file, line, id, code: verdict.code, suggested: verdict.suggested, ...(verdict.reserved !== undefined ? { reserved: verdict.reserved } : {}) }, message, disabled);
161
+ };
162
+ // ── ① 声明面:contributes.commands[].id(真字段是 id;`command` 是菜单引用用的键名,别读错) ──
163
+ if (manifestRaw) {
164
+ let manifest = null;
165
+ try {
166
+ manifest = readPluginManifest(manifestPath);
167
+ }
168
+ catch {
169
+ manifest = null; // 读不出 ⇒ 声明面判据跳过(plugin-prefix 腿已对同一件事 fail-closed 报红,不重复报)
170
+ }
171
+ const cmds = manifest?.contributes?.commands;
172
+ if (Array.isArray(cmds)) {
173
+ for (const c of cmds) {
174
+ const id = c?.id;
175
+ if (typeof id !== "string" || !id)
176
+ continue;
177
+ if (!report.declaredIds.includes(id))
178
+ report.declaredIds.push(id);
179
+ judgeAndPush("declared", id, "plugin.json", manifestIdLine(manifestRaw, id), { idx: manifestDisabled, line: manifestIdLine(manifestRaw, id) });
180
+ }
181
+ }
182
+ }
183
+ // ── ② 运行时面 + ③ 协议面:源码字面量(只扫真源码——测试/mock 跳过,与另几条腿同口径) ──
184
+ for (const abs of collectFiles(absRoot, [".ts", ".tsx", ".js", ".jsx"])) {
185
+ const rel = relPath(absRoot, abs);
186
+ if (isTestOrMockRel(rel))
187
+ continue;
188
+ const src = readSource(abs);
189
+ const idx = buildDisableIndex(src, [CHECK_IDS.commandOwnership]);
190
+ for (const hit of scanLiterals(src, RE_REGISTER_COMMAND, (m) => m[1])) {
191
+ if (!report.runtimeIds.includes(hit.id))
192
+ report.runtimeIds.push(hit.id);
193
+ judgeAndPush("runtime", hit.id, rel, hit.line, { idx, line: hit.line });
194
+ }
195
+ for (const hit of scanLiterals(src, RE_REGISTER_PROTOCOL, (m) => m[1])) {
196
+ if (!report.protocolIds.includes(hit.id))
197
+ report.protocolIds.push(hit.id);
198
+ judgeAndPush("protocol", hit.id, rel, hit.line, { idx, line: hit.line });
199
+ }
200
+ }
201
+ return report;
202
+ }
203
+ //# sourceMappingURL=command-ownership.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-ownership.js","sourceRoot":"","sources":["../../../src/eslint/checks/command-ownership.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;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,kBAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,qCAAqC,CAAC,CAAC;AASnH,2DAA2D;AAC3D,MAAM,UAAU,gBAAgB,CAAC,OAAe,kBAAkB;IAChE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,EAAE,eAAe,EAAE,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC;IACvE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAGhD,CAAC;IACF,OAAO,EAAE,eAAe,EAAE,GAAG,CAAC,eAAe,IAAI,EAAE,EAAE,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;AAC5F,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"}
@@ -18,6 +18,8 @@ export declare const CHECK_IDS: {
18
18
  readonly fontScale: "linkdesk/no-hardcoded-font-size";
19
19
  readonly spacingGrid: "linkdesk/no-nonstandard-spacing";
20
20
  readonly cssNamespace: "linkdesk/no-reserved-class-name";
21
+ /** E6#111b(1.32):命令 id / 协议 id 必须带本仓 `<pluginId>.` 前缀,且不得占用宿主保留面 */
22
+ readonly commandOwnership: "linkdesk/no-unowned-command-id";
21
23
  };
22
24
  export interface DisableIndex {
23
25
  /** 1-based 行 → 该行豁免的 id 集合(行级 next-line/line + 文件级 disable 区间) */
@@ -1 +1 @@
1
- {"version":3,"file":"disable.d.ts","sourceRoot":"","sources":["../../../src/eslint/checks/disable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS;;;;;CAKZ,CAAC;AAoFX,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CAClC;AAED,wEAAwE;AACxE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,YAAY,CAmDnF;AAED,oCAAoC;AACpC,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAGjF"}
1
+ {"version":3,"file":"disable.d.ts","sourceRoot":"","sources":["../../../src/eslint/checks/disable.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,SAAS;;;;;IAKpB,oEAAoE;;CAE5D,CAAC;AAoFX,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC;CAClC;AAED,wEAAwE;AACxE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,YAAY,CAmDnF;AAED,oCAAoC;AACpC,wBAAgB,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAGjF"}
@@ -18,6 +18,8 @@ export const CHECK_IDS = {
18
18
  fontScale: "linkdesk/no-hardcoded-font-size",
19
19
  spacingGrid: "linkdesk/no-nonstandard-spacing",
20
20
  cssNamespace: "linkdesk/no-reserved-class-name",
21
+ /** E6#111b(1.32):命令 id / 协议 id 必须带本仓 `<pluginId>.` 前缀,且不得占用宿主保留面 */
22
+ commandOwnership: "linkdesk/no-unowned-command-id",
21
23
  };
22
24
  /** 单遍注释 tokenizer:产出全部 // 行注释与 /* 块注释(块注释可跨行)。 */
23
25
  function tokenizeComments(source) {
@@ -1 +1 @@
1
- {"version":3,"file":"disable.js","sourceRoot":"","sources":["../../../src/eslint/checks/disable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"disable.js","sourceRoot":"","sources":["../../../src/eslint/checks/disable.ts"],"names":[],"mappings":"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"}
@@ -29,4 +29,12 @@ export { runTokenScopeCheck, judgePluginTokenScope } from "./checks/token-scope.
29
29
  export type { TokenScopeReport, TokenScopeSite, TokenScopeCode } from "./checks/token-scope.js";
30
30
  export { runSelectorFormCheck, judgeSelectorForm, SELECTOR_FORM_WHY } from "./checks/selector-form.js";
31
31
  export type { SelectorFormReport, SelectorFormSite, SelectorFormCode } from "./checks/selector-form.js";
32
+ /**
33
+ * 🔴 E6#111b(1.32):同一纪律再加一个 —— `runCommandOwnershipCheck`(命令/协议 id 归属判据)。
34
+ * 壳仓只读探针 `scripts/audit-nonnaming.mjs` 用它出「声明面 / 运行时面 / 协议面」三面读数,
35
+ * **同样不是第二条判据路径**(`lint.ts` 的第五条腿用的就是它——同一份实现,改一处两边一起变)。
36
+ * ⚠️ 本格(1.32)该判据**只判黄**(`bin lint` 退出码只看 eslint severity 2),1.49 收紧为红。
37
+ */
38
+ export { runCommandOwnershipCheck, judgeCommandId, loadHostReserved } from "./checks/command-ownership.js";
39
+ export type { CommandOwnershipReport, CommandIdSite, CommandIdCode, CommandIdFace, HostReservedNames, } from "./checks/command-ownership.js";
32
40
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/eslint/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAClE,YAAY,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACxF,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACpH,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACpF,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACvG,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/eslint/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AACvD,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACrD,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAClE,YAAY,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AACxF,YAAY,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACpH,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AACpF,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAChG,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACvG,YAAY,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAExG;;;;;GAKG;AACH,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAC3G,YAAY,EACV,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,aAAa,EACb,iBAAiB,GAClB,MAAM,+BAA+B,CAAC"}
@@ -24,4 +24,11 @@ export { runPluginLint, renderPluginLintReport } from "./lint.js";
24
24
  export { runPluginPrefixCheck, resolvePluginIdForCss } from "./checks/plugin-prefix.js";
25
25
  export { runTokenScopeCheck, judgePluginTokenScope } from "./checks/token-scope.js";
26
26
  export { runSelectorFormCheck, judgeSelectorForm, SELECTOR_FORM_WHY } from "./checks/selector-form.js";
27
+ /**
28
+ * 🔴 E6#111b(1.32):同一纪律再加一个 —— `runCommandOwnershipCheck`(命令/协议 id 归属判据)。
29
+ * 壳仓只读探针 `scripts/audit-nonnaming.mjs` 用它出「声明面 / 运行时面 / 协议面」三面读数,
30
+ * **同样不是第二条判据路径**(`lint.ts` 的第五条腿用的就是它——同一份实现,改一处两边一起变)。
31
+ * ⚠️ 本格(1.32)该判据**只判黄**(`bin lint` 退出码只看 eslint severity 2),1.49 收紧为红。
32
+ */
33
+ export { runCommandOwnershipCheck, judgeCommandId, loadHostReserved } from "./checks/command-ownership.js";
27
34
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/eslint/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAElE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAExF,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEpF,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/eslint/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,OAAO,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvD,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AAElE,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAExF,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEpF,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAGvG;;;;;GAKG;AACH,OAAO,EAAE,wBAAwB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC"}
@@ -35,6 +35,20 @@ export interface PluginLintReport {
35
35
  anchorless: number;
36
36
  crossParty: number;
37
37
  };
38
+ /** 🟡 E6#111b(1.32)命令/协议 id 归属判据的计数:三面的站点数 + 不合规站点数(**全黄**,1.49 才收紧) */
39
+ commandOwnershipCounts: {
40
+ declared: number;
41
+ runtime: number;
42
+ protocol: number;
43
+ bad: number;
44
+ };
45
+ /** 宿主保留面账的加载实况(账没读到 ⇒ 判据②空转——报告里必须能看出来,不许静默) */
46
+ hostReservedLedger: {
47
+ file: string;
48
+ found: boolean;
49
+ commandPrefixes: number;
50
+ protocolIds: number;
51
+ } | null;
38
52
  }
39
53
  export declare function runPluginLint(root: string, options?: PluginLintOptions): Promise<PluginLintReport>;
40
54
  /** 打印报告(人机双通道的即时反馈环);返回进程退出码(真 error 才 1,WARN 永不 fail)。 */
@@ -1 +1 @@
1
- {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/eslint/lint.ts"],"names":[],"mappings":"AA4BA,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAQ/E,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKvD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,cAAc,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,gEAAgE;IAChE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,+DAA+D;IAC/D,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,+CAA+C;IAC/C,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,6DAA6D;IAC7D,kBAAkB,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;CAChE;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA6G5G;AAED,2DAA2D;AAC3D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAwDvE"}
1
+ {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../../src/eslint/lint.ts"],"names":[],"mappings":"AA4BA,OAAO,EAA4B,KAAK,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAS/E,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAKvD,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,cAAc,EAAE,CAAC;CAC9B;AAED,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,CAAC,GAAG,CAAC,CAAC;CACjB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,SAAS,EAAE,CAAC;IACxB,IAAI,EAAE,OAAO,EAAE,CAAC;IAChB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,4DAA4D;IAC5D,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,gEAAgE;IAChE,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,+DAA+D;IAC/D,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,+CAA+C;IAC/C,WAAW,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7C,6DAA6D;IAC7D,kBAAkB,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAC/D,wEAAwE;IACxE,sBAAsB,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7F,gDAAgD;IAChD,kBAAkB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,OAAO,CAAC;QAAC,eAAe,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;CAC3G;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqI5G;AAED,2DAA2D;AAC3D,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAwEvE"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * `runPluginLint()`——`npm run lint` 门禁编排(E6#54d):eslint 规则腿 + 四条 check 扫描腿双轨。
2
+ * `runPluginLint()`——`npm run lint` 门禁编排(E6#54d):eslint 规则腿 + 五条 check 扫描腿双轨。
3
3
  *
4
4
  * E6#109h-b①:`check-css-namespace` 腿升级为**双判据**——「裸定义类名/关键帧必须以本仓 `<pluginId>-`
5
5
  * 开头」(`checks/plugin-prefix.ts`,拍板 Q1=(A),**不需要任何清单**)⊕「不得裸定义宿主保留名」
@@ -16,7 +16,7 @@
16
16
  * 规则正文见 32 号档 §一(R0–R3);1.25 实测插件侧存量 **0**(18 仓 + 夹具)⇒ 纯预防、零重发成本。
17
17
  *
18
18
  * 对标壳 check 同款双轨(07 §六·载体双轨):eslint(12 项注册规则,全 WARN)管 ts/tsx;
19
- * css-hardcode / font-scale / spacing-grid / css-namespace 四条移植脚本管整工程(eslint 到不了 .css,
19
+ * css-hardcode / font-scale / spacing-grid / css-namespace / command-ownership 五条移植脚本管整工程(eslint 到不了 .css,
20
20
  * ts/tsx 的 rgb()/hsl() 也归 css-hardcode 补)。jscpd = 项目级可选(文档引导,不进编排)。
21
21
  *
22
22
  * 门禁哲学(07 §六·三档):违规全 WARN **永不 fail build**——本编排按违规数统计并打印
@@ -34,6 +34,7 @@ import { runReservedClassCheck } from "./checks/reserved-classes.js";
34
34
  import { runPluginPrefixCheck } from "./checks/plugin-prefix.js";
35
35
  import { runTokenScopeCheck } from "./checks/token-scope.js";
36
36
  import { runSelectorFormCheck } from "./checks/selector-form.js";
37
+ import { runCommandOwnershipCheck } from "./checks/command-ownership.js";
37
38
  import {} from "./checks/scan.js";
38
39
  /** 示例用的门禁 id(打印知情绕行格式);伪 id 与 check 脚本 CHECK_IDS 同源 */
39
40
  const LEG_HINT_ID = "linkdesk/no-hardcoded-hex";
@@ -108,6 +109,17 @@ export async function runPluginLint(root, options = {}) {
108
109
  * `ldk-side-panel` 的一次定义,那是轴 ① 的既有偏差、本轮不许改)⇒ 这里让前缀腿的话先说。
109
110
  */
110
111
  const selectorForm = runSelectorFormCheck(absRoot);
112
+ /**
113
+ * 🔴 E6#111b(1.32):第五条 check 腿 —— **命令 id / 协议 id 归属**(`checks/command-ownership.ts`)。
114
+ * 三面同判 ①②:声明面(`contributes.commands[].id`)/运行时面(`registerCommand("<字面量>")`)/
115
+ * 协议面(`registerProtocol({ id: "<字面量>" })`)。
116
+ * ⚠️ **本格只判黄**(官方仓还没改名,改名归 1.42–1.48)——报点进 WARN 通道即可,
117
+ * `bin lint` 的退出码只看 eslint severity 2 ⇒ 对插件仓天然不构成红窗;**1.49 才收紧为红**。
118
+ * ⚠️ **刻意不与另几条腿去重**(与 css-namespace 内部的去重口径相反):本腿 1.49 要**独立收紧为红**,
119
+ * 把它的报点并进 css-namespace 腿或被那条腿吃掉,收紧时就分不清「谁在报」。fail-closed 那条与
120
+ * 前缀腿在 `plugin.json:1` 上会各报一次——**那是两件不同的事**(一个说身份读不到,一个说前缀拿不到)。
121
+ */
122
+ const commandOwnership = runCommandOwnershipCheck(absRoot);
111
123
  const prefixKeys = new Set(prefix.violations.map((v) => `${v.file}:${v.line}`));
112
124
  const tokenKeys = new Set(tokenScope.violations.map((v) => `${v.file}:${v.line}`));
113
125
  const formKeys = new Set(selectorForm.violations.map((v) => `${v.file}:${v.line}`));
@@ -126,8 +138,13 @@ export async function runPluginLint(root, options = {}) {
126
138
  label: "check-css-namespace",
127
139
  violations: namespace,
128
140
  },
141
+ {
142
+ id: "linkdesk/no-unowned-command-id(命令 id / 协议 id 必须带本仓 <pluginId>. 前缀,且不得占用宿主保留面)",
143
+ label: "check-command-ownership",
144
+ violations: commandOwnership.violations,
145
+ },
129
146
  ];
130
- const totalCheckViolations = css.length + font.length + spacing.length + namespace.length;
147
+ const totalCheckViolations = css.length + font.length + spacing.length + namespace.length + commandOwnership.violations.length;
131
148
  return {
132
149
  files: results.length,
133
150
  eslintRows,
@@ -139,6 +156,13 @@ export async function runPluginLint(root, options = {}) {
139
156
  tokenAdvisories: tokenScope.advisories,
140
157
  tokenCounts: { red: tokenScope.red.length, yellow: tokenScope.yellow.length },
141
158
  selectorFormCounts: { anchorless: selectorForm.anchorless.length, crossParty: selectorForm.crossParty.length },
159
+ commandOwnershipCounts: {
160
+ declared: commandOwnership.declaredIds.length,
161
+ runtime: commandOwnership.runtimeIds.length,
162
+ protocol: commandOwnership.protocolIds.length,
163
+ bad: commandOwnership.sites.length,
164
+ },
165
+ hostReservedLedger: commandOwnership.hostLedger,
142
166
  };
143
167
  }
144
168
  /** 打印报告(人机双通道的即时反馈环);返回进程退出码(真 error 才 1,WARN 永不 fail)。 */
@@ -186,6 +210,17 @@ export function renderPluginLintReport(report) {
186
210
  lines.push(`\n✅ check-css-namespace(选择器形态 · S2/S3):无锚选择器 0 / 跨方命中不带自有锚 0` +
187
211
  `——插件 CSS 里没有「不需要同名就能撞」的选择器(元素/通配/属性/伪类/伪元素/id 一视同仁)。`);
188
212
  }
213
+ // 🟡 E6#111b(1.32)命令/协议 id 归属:读数 + 账的加载实况(判据② 的输入来自账——账没读到必须让作者看见)
214
+ const co = report.commandOwnershipCounts;
215
+ lines.push(`\n🟡 check-command-ownership(命令/协议 id 归属 · 1.49 起收紧为红):` +
216
+ `声明面 ${co.declared} 名 / 运行时面 ${co.runtime} 名 / 协议面 ${co.protocol} 名——` +
217
+ (co.bad === 0
218
+ ? `无不合规站点。`
219
+ : `${co.bad} 处不合规(不带本仓 <pluginId>. 前缀,或占用宿主保留面)。`));
220
+ if (report.hostReservedLedger && !report.hostReservedLedger.found) {
221
+ lines.push(` ⚠ 宿主保留面账没读到(${report.hostReservedLedger.file})——判据②(不得占用宿主保留面)本轮**空转**。` +
222
+ `SDK 安装不完整?重装 @linkdesk/plugin-sdk 后再跑。`);
223
+ }
189
224
  lines.push(`\n门禁 = 警告不是封锁(07 §六·三档):未处理偏离可修可绕——知情绕行写标准注释\n` +
190
225
  ` // eslint-disable-next-line ${LEG_HINT_ID} -- 理由 (行级)\n` +
191
226
  ` /* eslint-disable ${LEG_HINT_ID} -- 内容画布 */ (文件级:内容/画布整文件豁免)\n` +
@@ -1 +1 @@
1
- {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/eslint/lint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"lint.js","sourceRoot":"","sources":["../../src/eslint/lint.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@linkdesk/plugin-sdk",
3
- "version": "0.1.28",
3
+ "version": "0.1.30",
4
4
  "description": "@linkdesk/plugin-sdk——LinkDesk 插件作者 SDK(对标 @types/vscode):window.linkdesk.* 类型 + 一键 build(.linkdesk-plugin) + dev 宿主 + plugin.json 验证 + eslint 门禁(E6#54d)。作者 npm i 后零壳源码依赖。",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -0,0 +1,67 @@
1
+ {
2
+ "$comment": "宿主保留面账(生成式·定稿 E6#111b/1.32)——插件不得占用这些名字;改动本账 = 一次公共面决策,改完壳仓命令/设置/协议面必须重跑 scripts/gen-host-reserved.mjs(npm run audit:plugin-scope:regen)。",
3
+ "commandPrefixes": [
4
+ "app.",
5
+ "core.",
6
+ "theme.",
7
+ "update.",
8
+ "view.",
9
+ "workbench."
10
+ ],
11
+ "configKeys": [
12
+ "app.accentColor",
13
+ "app.accentMode",
14
+ "app.accentSource",
15
+ "app.appearanceMode",
16
+ "app.backgroundImage",
17
+ "app.backgroundMask",
18
+ "app.backgroundOpacity",
19
+ "app.fontFamily",
20
+ "app.fontFamilyMono",
21
+ "app.fontTone",
22
+ "app.glassBlur",
23
+ "app.glassOpacity",
24
+ "app.glassSaturate",
25
+ "app.glassTint",
26
+ "app.iconTheme",
27
+ "app.mixBackground",
28
+ "app.mixFont",
29
+ "app.mixMode",
30
+ "app.mixReset",
31
+ "app.surfaceRadius",
32
+ "app.theme",
33
+ "app.themeColor",
34
+ "app.uiFontScale",
35
+ "app.update.mode",
36
+ "app.update.showReleaseNotes",
37
+ "app.zoneBackgroundImage",
38
+ "app.zoneRadius",
39
+ "app.zoneRadiusScale"
40
+ ],
41
+ "pseudoPluginIds": [
42
+ "app",
43
+ "appearance",
44
+ "update"
45
+ ],
46
+ "contextKeys": [
47
+ "activeEditor",
48
+ "editorCount",
49
+ "editorHasSelection",
50
+ "inputFocus",
51
+ "settingFollowTheme",
52
+ "settingKey",
53
+ "settingModified",
54
+ "settingResetsToDefault",
55
+ "sidebarPosition",
56
+ "updateActionable",
57
+ "updateButtonLabel"
58
+ ],
59
+ "appearanceIds": [
60
+ "dark",
61
+ "dark-fallback",
62
+ "light"
63
+ ],
64
+ "protocolIds": [
65
+ "bracket"
66
+ ]
67
+ }