@linkdesk/plugin-sdk 0.1.9 → 0.1.11

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 CHANGED
@@ -11,6 +11,69 @@ LinkDesk 插件作者 SDK——对标 `@types/vscode`:装一个包,拿到 **
11
11
  npm install -D @linkdesk/plugin-sdk
12
12
  ```
13
13
 
14
+ ## API 速查表
15
+
16
+ <!-- BEGIN API-CHEATSHEET -->
17
+
18
+ > 自动生成,**勿手改**——由 `scripts/generate-api-cheatsheet.mjs` 从 `@linkdesk/contracts` 的 `linkdesk.d.ts` 现读产出,
19
+ > `npm run check` 机械盯漂。完整签名与逐方法说明见 `linkdesk.d.ts` 本体(IDE 里可直接跳转)。
20
+
21
+ **15 个域接口 → 46 个命名空间 / 243 个方法**,全部经 `window.linkdesk.<命名空间>.<方法>` 调用。(另含 1 个废弃别名 `config`,方法不重复计入)
22
+
23
+ | 命名空间 | 方法数 | 方法 | 说明 |
24
+ |:--|:--:|:--|:--|
25
+ | `commands` | 5 | `execute` `executeCommand` `registerCommand` `unregisterCommands` `getCommands` | 命令——对标 VS Code vscode.commands |
26
+ | `configuration` | 15 | `get` `set` `getSchema` `onChange` `getConfigurationContributions` `inspectConfiguration` `getUserSettings` `onDidChangeConfiguration` `onPluginLifecycleChange` `consumeSettingsGroup` `onRequestSettingsGroup` `consumeScrollToSetting` `onRequestScrollToSetting` `consumeOpenKeybindings` `onRequestOpenKeybindings` | 配置—新名——对标 VS Code vscode.workspace.getConfiguration |
27
+ | `config` | 15 | (废弃别名 → `configuration`) | @deprecated E3j #75——向后兼容别名,新代码用 configuration |
28
+ | `theme` | 11 | `getCurrent` `getAvailable` `apply` `listRecipes` `getActive` `getEffectiveTokens` `setRecipe` `setColorway` `resetAppearance` `resetMix` `getBaselineSeeds` | —— |
29
+ | `language` | 5 | `getCurrent` `getAvailable` `set` `getInitial` `onChange` | —— |
30
+ | `appearance` | 2 | `importImage` `revealStorage` | E5.8#50.11:外观资产——本地选图拷贝入库(受控来源——用户任选路径不能 file:// 直读) |
31
+ | `tabs` | 8 | `create` `openOrFocus` `focus` `close` `focusBySourceId` `updateLabelBySourceId` `closeBySourceId` `onDidChangeActiveTab` | —— |
32
+ | `keybindings` | 12 | `getKeybindings` `getConflicts` `registerKeybinding` `saveUserKeybindings` `removeKeybindingForCommand` `resetKeybindingToDefault` `findKeybindingForCommand` `setKeybindingCaptureActive` `keyboardEventToKeyString` `onChange` `syncToMainProcess`° `onForwardedEvent`° | —— |
33
+ | `notifications` | 1 | `show` | 通知——插件弹通知(E6#72:唯一通知面 = 铃铛宽通知面板,右下窄卡链路已整删),对标 VS Code vscod… |
34
+ | `menu` | 2 | `registerItems` `getItems` | E5#69:菜单——插件声明式读写 |
35
+ | `contextKey` | 1 | `set` | E5#70:ContextKey——插件 SET 状态供壳 when 子句读 |
36
+ | `dialog` | 5 | `confirm` `alert` `open` `openFile` `confirmContent` | E5#67:弹窗——确认/提示/文件选择 |
37
+ | `quickPick` | 1 | `show` | E5.7#63:插件 quickPick 选择器——池内本地桥(零 IPC,QuickPickHost 渲染) |
38
+ | `quickPickHost` | 6 | `registerHost` `onShow` `select` `highlight` `close` `itemAction` | E5.7#63:QuickPick 宿主渲染桥——池 QuickPickHost 消费(壳 preload 无此面) |
39
+ | `dialogHost` | 4 | `onShow` `current` `confirm` `cancel` | E5.7#17:Dialog 哑渲染订阅——池 DialogHost 消费(壳 preload 无此面) |
40
+ | `floatingPanelHost` | 2 | `onShow` `action` | E5.8#37(Phase 8 类型 B):悬浮面板哑渲染订阅——池 FloatingPanelHost 消费(壳 p… |
41
+ | `serial` | 11 | `listPorts` `getStatus` `openPort` `closePort` `sendData` `sendText` `setDtr` `setRts` `onData` `onStats` `onSystem` | 串口——读/写/监听,对标 VS Code SerialPort API |
42
+ | `clipboard` | 3 | `readText` `writeText` `writeFileList` | 剪贴板——读/写系统剪贴板 |
43
+ | `p2p` | 2 | `send` `on` | E5#65:p2p 插件间定向推流——和 bridge.broadcast 同模式(fire-and-forget) |
44
+ | `events` | 4 | `on` `emit` `heartbeat`° `notifyTheme`° | 通用事件订阅 + 发布——插件间数据管道 |
45
+ | `pluginState` | 3 | `get` `set` `onChange` | E5#71:插件持久化存储——集中缓存 + 文件持久化 |
46
+ | `workspace` | 8 | `getFolders` `getActive` `setActive` `openFolder` `addFolder` `removeFolder` `onDidChangeFolders` `onDidChangeActiveWorkspace` | 工作区——池 preload 注入(壳侧经 WorkspaceService 直用) |
47
+ | `filesystem` | 12 | `readTextFile` `writeTextFile` `exists` `createDir` `copy` `rename` `remove` `listDir` `readBinaryFile` `writeBinaryFile` `watch` `readdir`° | 文件系统——插件读写(路径校验由主进程执行) |
48
+ | `path` | 6 | `appDataDir`° `normalize` `join` `basename` `dirname` `extname` | 路径工具——壳/池双端注入(editor/file-tree 池插件消费 normalize/join 等) |
49
+ | `env` | 1 | `get` | 环境信息——对标 VS Code ExtensionContext |
50
+ | `search` | 1 | `searchFiles` | E5.6#11.5a:文件搜索——全文搜索/替换(IPC 到壳/主进程执行) |
51
+ | `encoding` | 3 | `detect` `decode` `encode` | E5.6#11.5a:编码检测/转换(主进程 EncodingService) |
52
+ | `decorations` | 4 | `registerProvider` `unregisterProvider` `getDecoration` `onDidChange` | E5.7#60:文件装饰——池内本地注册表(零 IPC) |
53
+ | `fileAssociation` | 1 | `getPluginFor` | E5.7#50:文件关联——扩展名→插件 ID(主进程 FileAssociationService 直答) |
54
+ | `langDef` | 1 | `get` | E5.7#49:langDef——语言定义注册表(主进程直答) |
55
+ | `lsp` | 4 | `spawn` `write` `dispose` `onData` | E5.6#14-lsp:LSP 桥——自动补全/F12/诊断/重命名 |
56
+ | `protocol` | 3 | `listProtocols` `getActiveProtocolId` `setActiveProtocolId` | E5.7#49:protocol——协议注册表(主进程直答) |
57
+ | `viewContainer` | 4 | `getViewContainer` `getViews` `getView` `registerView` | E5.7#58:viewContainer——真 IPC 查询/更新(问壳侧注册表) |
58
+ | `plugins` | 13 | `resolvePath` `resolveEntry`° `listDirs`° `listAll`° `listDisabledDirs`° `readManifest`° `readAllManifests`° `packageDownload`° `packageExtract`° `packageCancel`° `packageUpdateCheck`° `packageStageUpdate`° `packageCommitUpdate`° | 插件发现——双端注入:resolvePath 双端同面 |
59
+ | `pluginManager` | 13 | `list` `enable` `disable` `uninstall` `install` `installWithProgress`° `reinstall` `getDisabled` `getUninstalled` `isDisabled` `update`° `checkUpdates`° `notifyManifestChanged`° | 插件管理——桥接 IpcBridgeHandler → loader 函数 |
60
+ | `bridge` ⚠️ | 4 | `onRequest` `respond` `broadcast` `notifyConfigChanged` | 壳↔插件通信中继——壳 preload 独有 |
61
+ | `pool` | 31 | `pushLayout` `onReady` `toggleDevTools` `onSidebarAction` `onTabAction` `onTabBarRects` `onDragPosition` `pushAdsorbHint` `onAdsorbIndex` `pushQuickPick` `onQuickPickAction` `pushDialog` `onDialogAction` `pushFloatingPanel` `onFloatingPanelAction` `onMemoryPressure` `createWindow` `closeWindow` `onWindowClosed` `onWindowBoundsChanged` `onLayout` `ready` `sidebarAction` `tabAction` `tabBarRects` `dragPosition` `onAdsorbHint` `adsorbIndex` `registerBeforeClose` `unregisterBeforeClose` `beforeClose` | 池控制——壳 preload:推送布局 + 注册池→壳动作回调 |
62
+ | `window` | 11 | `minimize` `maximize` `unmaximize` `close` `setZoom` `toggleDevTools` `isMaximized` `onMaximizeChange` `setAlwaysOnTop` `isAlwaysOnTop` `onAlwaysOnTopChange` | 窗口控制——TitleBar 按钮映射,双端注入(11 方法同通道,共享模块 electron/window-name… |
63
+ | `shell` | 6 | `showItemInFolder` `openInTerminal` `pluginLocation` `openPluginFolder` `startDrag` `relaunch`° | 壳级命令——revealInOS / openInTerminal / startDrag / relaunch,双端… |
64
+ | `hotExit` ⚠️ | 3 | `save` `load` `clear` | 热退出暂存——编辑器未保存内容落盘(E5.7#53) |
65
+ | `getFilePath` | 0 | (顶层函数)`getFilePath: (file: File) => string;` | OS 拖入文件路径获取——双端注入 |
66
+ | `panel` | 2 | `reveal` `revealFloating` | —— |
67
+ | `settings` | 3 | `list` `getActive` `setActive` | —— |
68
+ | `factorySlots` | 4 | `listRoles` `list` `getActive` `setActive` | —— |
69
+ | `app` | 1 | `getVersion` | app 命名空间——只读产品身份 |
70
+ | `update` | 1 | `getState` | update 命名空间——只读更新状态(供「关于」类插件读宿主版本/更新态) |
71
+
72
+ ⚠️ = 契约可选命名空间(只在一侧注入):`bridge` `hotExit`——调用前先判断是否存在,另一侧为 `undefined`。
73
+ ° = 契约标 `?` 的成员:只在一侧 preload 注入(绝大多数是壳侧独有),**插件跑在池里**——调用前先判存在。
74
+
75
+ <!-- END API-CHEATSHEET -->
76
+
14
77
  ## 使用
15
78
 
16
79
  ### 1. tsconfig——让 `window.linkdesk.` 有类型
@@ -1,47 +1,47 @@
1
- /**
2
- * dev 宿主入口(E6#23.5/#24b)——纯浏览器最小壳:顶部 dev 条 + React root 渲染正在开发的插件。
3
- *
4
- * 接线(均由 `linkdesk-plugin-sdk dev` 的 vite 配置注入,见 src/dev-server.ts):
5
- * - `__linkdesk_dev_entry__`:resolve.alias 虚拟 id → 插件根 plugin.json 的 entry 绝对路径。
6
- * 静态 import → 入口是模块图常规成员 → vite 标准 HMR 全链(改码即热更)。
7
- * - `__LINKDESK_DEV_I18N__`:define 字面量 = { 语言码: { translation: {…} } }(现读插件
8
- * contributes.i18n 声明的各语言 JSON)。
9
- * - `__LINKDESK_DEV_PLUGIN_ID__`:define 字面量 = pluginId(顶部 dev 条展示)。
10
- *
11
- * 契约:宿主把插件当「激活标签」渲染({ isActive: true })——对标壳渲染视图插件的语义;
12
- * keep-alive / tabId / sourceId 在纯浏览器 dev 无对应物(那是壳标签页系统的概念)。
13
- * i18n:lng = 插件第一个声明的语言(通常 en);key 缺失时 i18next 返回 key 本身——中文 key 即中文兜底。
14
- */
15
- import { createRoot } from "react-dom/client";
16
- import i18n from "i18next";
17
- import { initReactI18next, I18nextProvider } from "react-i18next";
18
- import { injectDevMockApi } from "./mock.js";
19
- import PluginView from "__linkdesk_dev_entry__";
20
-
21
- declare const __LINKDESK_DEV_I18N__: Record<string, { translation: Record<string, unknown> }>;
22
- declare const __LINKDESK_DEV_PLUGIN_ID__: string;
23
-
24
- const resources = __LINKDESK_DEV_I18N__;
25
- const lng = Object.keys(resources)[0] ?? "en";
26
-
27
- void i18n.use(initReactI18next).init({
28
- resources,
29
- lng,
30
- fallbackLng: false,
31
- interpolation: { escapeValue: false },
32
- react: { useSuspense: false },
33
- });
34
-
35
- injectDevMockApi();
36
-
37
- const pluginIdEl = document.getElementById("ld-plugin-id");
38
- if (pluginIdEl) pluginIdEl.textContent = __LINKDESK_DEV_PLUGIN_ID__;
39
-
40
- const rootEl = document.getElementById("ld-root");
41
- if (rootEl) {
42
- createRoot(rootEl).render(
43
- <I18nextProvider i18n={i18n}>
44
- <PluginView isActive />
45
- </I18nextProvider>,
46
- );
47
- }
1
+ /**
2
+ * dev 宿主入口(E6#23.5/#24b)——纯浏览器最小壳:顶部 dev 条 + React root 渲染正在开发的插件。
3
+ *
4
+ * 接线(均由 `linkdesk-plugin-sdk dev` 的 vite 配置注入,见 src/dev-server.ts):
5
+ * - `__linkdesk_dev_entry__`:resolve.alias 虚拟 id → 插件根 plugin.json 的 entry 绝对路径。
6
+ * 静态 import → 入口是模块图常规成员 → vite 标准 HMR 全链(改码即热更)。
7
+ * - `__LINKDESK_DEV_I18N__`:define 字面量 = { 语言码: { translation: {…} } }(现读插件
8
+ * contributes.i18n 声明的各语言 JSON)。
9
+ * - `__LINKDESK_DEV_PLUGIN_ID__`:define 字面量 = pluginId(顶部 dev 条展示)。
10
+ *
11
+ * 契约:宿主把插件当「激活标签」渲染({ isActive: true })——对标壳渲染视图插件的语义;
12
+ * keep-alive / tabId / sourceId 在纯浏览器 dev 无对应物(那是壳标签页系统的概念)。
13
+ * i18n:lng = 插件第一个声明的语言(通常 en);key 缺失时 i18next 返回 key 本身——中文 key 即中文兜底。
14
+ */
15
+ import { createRoot } from "react-dom/client";
16
+ import i18n from "i18next";
17
+ import { initReactI18next, I18nextProvider } from "react-i18next";
18
+ import { injectDevMockApi } from "./mock.js";
19
+ import PluginView from "__linkdesk_dev_entry__";
20
+
21
+ declare const __LINKDESK_DEV_I18N__: Record<string, { translation: Record<string, unknown> }>;
22
+ declare const __LINKDESK_DEV_PLUGIN_ID__: string;
23
+
24
+ const resources = __LINKDESK_DEV_I18N__;
25
+ const lng = Object.keys(resources)[0] ?? "en";
26
+
27
+ void i18n.use(initReactI18next).init({
28
+ resources,
29
+ lng,
30
+ fallbackLng: false,
31
+ interpolation: { escapeValue: false },
32
+ react: { useSuspense: false },
33
+ });
34
+
35
+ injectDevMockApi();
36
+
37
+ const pluginIdEl = document.getElementById("ld-plugin-id");
38
+ if (pluginIdEl) pluginIdEl.textContent = __LINKDESK_DEV_PLUGIN_ID__;
39
+
40
+ const rootEl = document.getElementById("ld-root");
41
+ if (rootEl) {
42
+ createRoot(rootEl).render(
43
+ <I18nextProvider i18n={i18n}>
44
+ <PluginView isActive />
45
+ </I18nextProvider>,
46
+ );
47
+ }
@@ -1,50 +1,50 @@
1
- <!doctype html>
2
- <html lang="zh-CN">
3
- <head>
4
- <meta charset="UTF-8" />
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <title>LinkDesk dev 宿主</title>
7
- <style>
8
- /* dev 宿主页 = SDK 工具 UI(非壳/非产品),中性配色 + 兜底主题变量让插件 var(--xxx) 不至全黑。
9
- 固定值允许——不违反壳硬约束 16(那约束壳 UI;此页不属于壳渲染树)。 */
10
- :root {
11
- --text: #e8e8ea;
12
- --text-muted: #9a9aa2;
13
- --border: #2c2c33;
14
- --bg: #16161a;
15
- --bg-alt: #1f1f25;
16
- --accent: #4cc38a;
17
- }
18
- * { box-sizing: border-box; }
19
- html, body { margin: 0; height: 100%; }
20
- body {
21
- background: var(--bg);
22
- color: var(--text);
23
- font-family: system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;
24
- }
25
- #ld-topbar {
26
- position: sticky; top: 0; z-index: 10;
27
- display: flex; align-items: center; gap: 8px;
28
- padding: 5px 12px; font-size: 12px;
29
- background: var(--bg-alt); border-bottom: 1px solid var(--border);
30
- user-select: none;
31
- }
32
- #ld-topbar .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
33
- #ld-topbar .sep { opacity: 0.4; }
34
- #ld-topbar code { color: #9fd0ff; font-family: ui-monospace, "Cascadia Code", Consolas, monospace; }
35
- #ld-topbar .hint { color: var(--text-muted); margin-left: auto; }
36
- #ld-root { padding: 0; }
37
- </style>
38
- </head>
39
- <body>
40
- <div id="ld-topbar">
41
- <span class="dot"></span>
42
- <span>LinkDesk dev 宿主</span>
43
- <span class="sep">·</span>
44
- <code id="ld-plugin-id"></code>
45
- <span class="hint">本地预览 · 无 Electron/IPC · 改码 HMR</span>
46
- </div>
47
- <div id="ld-root"></div>
48
- <script type="module" src="/dev-main.tsx"></script>
49
- </body>
50
- </html>
1
+ <!doctype html>
2
+ <html lang="zh-CN">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
+ <title>LinkDesk dev 宿主</title>
7
+ <style>
8
+ /* dev 宿主页 = SDK 工具 UI(非壳/非产品),中性配色 + 兜底主题变量让插件 var(--xxx) 不至全黑。
9
+ 固定值允许——不违反壳硬约束 16(那约束壳 UI;此页不属于壳渲染树)。 */
10
+ :root {
11
+ --text: #e8e8ea;
12
+ --text-muted: #9a9aa2;
13
+ --border: #2c2c33;
14
+ --bg: #16161a;
15
+ --bg-alt: #1f1f25;
16
+ --accent: #4cc38a;
17
+ }
18
+ * { box-sizing: border-box; }
19
+ html, body { margin: 0; height: 100%; }
20
+ body {
21
+ background: var(--bg);
22
+ color: var(--text);
23
+ font-family: system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", sans-serif;
24
+ }
25
+ #ld-topbar {
26
+ position: sticky; top: 0; z-index: 10;
27
+ display: flex; align-items: center; gap: 8px;
28
+ padding: 5px 12px; font-size: 12px;
29
+ background: var(--bg-alt); border-bottom: 1px solid var(--border);
30
+ user-select: none;
31
+ }
32
+ #ld-topbar .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
33
+ #ld-topbar .sep { opacity: 0.4; }
34
+ #ld-topbar code { color: #9fd0ff; font-family: ui-monospace, "Cascadia Code", Consolas, monospace; }
35
+ #ld-topbar .hint { color: var(--text-muted); margin-left: auto; }
36
+ #ld-root { padding: 0; }
37
+ </style>
38
+ </head>
39
+ <body>
40
+ <div id="ld-topbar">
41
+ <span class="dot"></span>
42
+ <span>LinkDesk dev 宿主</span>
43
+ <span class="sep">·</span>
44
+ <code id="ld-plugin-id"></code>
45
+ <span class="hint">本地预览 · 无 Electron/IPC · 改码 HMR</span>
46
+ </div>
47
+ <div id="ld-root"></div>
48
+ <script type="module" src="/dev-main.tsx"></script>
49
+ </body>
50
+ </html>
@@ -363,4 +363,7 @@ export const linkdeskMock: Record<string, unknown> = {
363
363
  app: {
364
364
  getVersion: async (..._args: unknown[]) => { console.info("[linkdesk-mock] app.getVersion", ..._args); return ""; },
365
365
  },
366
+ update: {
367
+ getState: async (..._args: unknown[]) => { console.info("[linkdesk-mock] update.getState", ..._args); },
368
+ },
366
369
  };
package/dev-host/mock.ts CHANGED
@@ -1,72 +1,72 @@
1
- /**
2
- * dev 宿主 mock 注入锚点(E6#23.5c 位置定案)。`injectDevMockApi()` 签名与调用点不变。
3
- *
4
- * 注入体(E6#27 落地替换,2026-09-07):
5
- * - 方法树 = 自动生成 [linkdesk-mock.generated.ts](./linkdesk-mock.generated.ts)——与 linkdesk.d.ts
6
- * 同一标注源 `src/core/api/linkdesk-api.ts`(杜绝 mock/preload 双份漂移)。每个方法 = 类型驱动
7
- * 中性默认 + 调用即打 `[linkdesk-mock] <path>` 日志(mock vs 真 IPC 可感知,不静默假成功)。
8
- * - #27b 兜底层 = 递归 Proxy:树内路径(契约里真实方法/命名空间)返回真子树/方法;**树外路径**
9
- * (契约里不存在的方法名,如拼写错)**调用时抛错**「不在 linkdesk API 契约」而非静默 undefined /
10
- * `undefined is not a function`——单源同构下,mock 缺 = 生产也缺,早抛早纠正。
11
- *
12
- * 真数据/真行为(串口/文件系统/IPC)不属于浏览器 mock——走真实 preload(装进 LinkDesk)或
13
- * `linkdesk-plugin-sdk dev --real` 真机环(E6#28.5)。
14
- */
15
- import { linkdeskMock } from "./linkdesk-mock.generated.js";
16
-
17
- /** 常见 introspection 键——不当作 linkdesk API 路径,返回 undefined(防 console/JSON/运行时探测误触 throw-stub) */
18
- const SKIP_INTRINSIC = new Set([
19
- "then",
20
- "toJSON",
21
- "toString",
22
- "valueOf",
23
- "constructor",
24
- "__proto__",
25
- "hasOwnProperty",
26
- "isPrototypeOf",
27
- "propertyIsEnumerable",
28
- ]);
29
-
30
- /** 树外路径 call-stub——访问不抛(feature-detect 可安全探测),调用才抛(#27b)。
31
- * 自身是 Proxy:继续取属性返回更深 stub(`linkdesk.foo.bar()` 整链报完整 dotted path,
32
- * 而非裸 TypeError「not a function」);symbol/intrinsic 键返回 undefined 防运行时探测误触。 */
33
- function missingApiStub(dotted: string): () => never {
34
- const stub = () => {
35
- throw new Error(
36
- `[dev] window.linkdesk.${dotted} 不是 linkdesk API 方法——dev mock 与 src/core/api/linkdesk-api.ts` +
37
- ` 同源自动生成(方法集与生产一致),契约里没有它 = 生产环境调用同样报错。请核对方法名/拼写。` +
38
- `确需真实 IPC 行为 → linkdesk-plugin-sdk dev --real(E6#28.5 真机环)。`,
39
- );
40
- };
41
- return new Proxy(stub, {
42
- get(_t, prop) {
43
- if (typeof prop === "symbol" || SKIP_INTRINSIC.has(String(prop))) return undefined;
44
- return missingApiStub(`${dotted}.${String(prop)}`);
45
- },
46
- });
47
- }
48
-
49
- /** 递归 Proxy:树内路径返回真子树(命名空间再包一层 / 方法叶子直返),树外路径调用抛错 */
50
- function wrapNode(node: Record<string, unknown>, path: string[]): Record<string, unknown> {
51
- return new Proxy(node, {
52
- get(t, prop) {
53
- if (typeof prop === "symbol") return undefined;
54
- const key = String(prop);
55
- if (SKIP_INTRINSIC.has(key)) return undefined;
56
- if (key in t) {
57
- const v = t[key];
58
- if (typeof v === "function") return v; // 方法叶子(自打 [linkdesk-mock] 调用日志)
59
- if (v !== null && typeof v === "object") return wrapNode(v as Record<string, unknown>, [...path, key]);
60
- return v;
61
- }
62
- return missingApiStub([...path, key].join("."));
63
- },
64
- });
65
- }
66
-
67
- export function injectDevMockApi(): void {
68
- if (typeof window === "undefined") return;
69
- if ((window as unknown as Record<string, unknown>).linkdesk) return;
70
-
71
- (window as unknown as Record<string, unknown>).linkdesk = wrapNode(linkdeskMock, []);
72
- }
1
+ /**
2
+ * dev 宿主 mock 注入锚点(E6#23.5c 位置定案)。`injectDevMockApi()` 签名与调用点不变。
3
+ *
4
+ * 注入体(E6#27 落地替换,2026-09-07):
5
+ * - 方法树 = 自动生成 [linkdesk-mock.generated.ts](./linkdesk-mock.generated.ts)——与 linkdesk.d.ts
6
+ * 同一标注源 `src/core/api/linkdesk-api.ts`(杜绝 mock/preload 双份漂移)。每个方法 = 类型驱动
7
+ * 中性默认 + 调用即打 `[linkdesk-mock] <path>` 日志(mock vs 真 IPC 可感知,不静默假成功)。
8
+ * - #27b 兜底层 = 递归 Proxy:树内路径(契约里真实方法/命名空间)返回真子树/方法;**树外路径**
9
+ * (契约里不存在的方法名,如拼写错)**调用时抛错**「不在 linkdesk API 契约」而非静默 undefined /
10
+ * `undefined is not a function`——单源同构下,mock 缺 = 生产也缺,早抛早纠正。
11
+ *
12
+ * 真数据/真行为(串口/文件系统/IPC)不属于浏览器 mock——走真实 preload(装进 LinkDesk)或
13
+ * `linkdesk-plugin-sdk dev --real` 真机环(E6#28.5)。
14
+ */
15
+ import { linkdeskMock } from "./linkdesk-mock.generated.js";
16
+
17
+ /** 常见 introspection 键——不当作 linkdesk API 路径,返回 undefined(防 console/JSON/运行时探测误触 throw-stub) */
18
+ const SKIP_INTRINSIC = new Set([
19
+ "then",
20
+ "toJSON",
21
+ "toString",
22
+ "valueOf",
23
+ "constructor",
24
+ "__proto__",
25
+ "hasOwnProperty",
26
+ "isPrototypeOf",
27
+ "propertyIsEnumerable",
28
+ ]);
29
+
30
+ /** 树外路径 call-stub——访问不抛(feature-detect 可安全探测),调用才抛(#27b)。
31
+ * 自身是 Proxy:继续取属性返回更深 stub(`linkdesk.foo.bar()` 整链报完整 dotted path,
32
+ * 而非裸 TypeError「not a function」);symbol/intrinsic 键返回 undefined 防运行时探测误触。 */
33
+ function missingApiStub(dotted: string): () => never {
34
+ const stub = () => {
35
+ throw new Error(
36
+ `[dev] window.linkdesk.${dotted} 不是 linkdesk API 方法——dev mock 与 src/core/api/linkdesk-api.ts` +
37
+ ` 同源自动生成(方法集与生产一致),契约里没有它 = 生产环境调用同样报错。请核对方法名/拼写。` +
38
+ `确需真实 IPC 行为 → linkdesk-plugin-sdk dev --real(E6#28.5 真机环)。`,
39
+ );
40
+ };
41
+ return new Proxy(stub, {
42
+ get(_t, prop) {
43
+ if (typeof prop === "symbol" || SKIP_INTRINSIC.has(String(prop))) return undefined;
44
+ return missingApiStub(`${dotted}.${String(prop)}`);
45
+ },
46
+ });
47
+ }
48
+
49
+ /** 递归 Proxy:树内路径返回真子树(命名空间再包一层 / 方法叶子直返),树外路径调用抛错 */
50
+ function wrapNode(node: Record<string, unknown>, path: string[]): Record<string, unknown> {
51
+ return new Proxy(node, {
52
+ get(t, prop) {
53
+ if (typeof prop === "symbol") return undefined;
54
+ const key = String(prop);
55
+ if (SKIP_INTRINSIC.has(key)) return undefined;
56
+ if (key in t) {
57
+ const v = t[key];
58
+ if (typeof v === "function") return v; // 方法叶子(自打 [linkdesk-mock] 调用日志)
59
+ if (v !== null && typeof v === "object") return wrapNode(v as Record<string, unknown>, [...path, key]);
60
+ return v;
61
+ }
62
+ return missingApiStub([...path, key].join("."));
63
+ },
64
+ });
65
+ }
66
+
67
+ export function injectDevMockApi(): void {
68
+ if (typeof window === "undefined") return;
69
+ if ((window as unknown as Record<string, unknown>).linkdesk) return;
70
+
71
+ (window as unknown as Record<string, unknown>).linkdesk = wrapNode(linkdeskMock, []);
72
+ }
package/dist/bin.js CHANGED
@@ -25,22 +25,22 @@ const VITE_CONFIG_FILES = [
25
25
  "vite.config.mjs",
26
26
  "vite.config.cjs",
27
27
  ];
28
- const USAGE = `linkdesk-plugin-sdk <command>
29
-
30
- 命令:
31
- dev 在插件工程根起 dev 宿主(E6#24)——读 plugin.json → Vite dev server(端口 1421)
32
- → 浏览器打开纯前端预览 + HMR。只支持带 entry 的视图插件(脚手架 tab 形态)
33
- dev --real E6#28.5 真机环——watch 作者源码 → 隔离单插件 build → 直写 {userData}/plugins/<id>
34
- → CDP reload「LinkDesk Pool」(LinkDesk 须以 --remote-debugging-port=9222 启动)。
35
- 真 IPC/串口/LSP 类插件的秒级真机调试(壳零新代码;LINKDESK_USER_PLUGINS_DIR /
36
- LINKDESK_CDP_PORT 可覆盖)
37
- build 在插件工程根构建 .linkdesk-plugin(读 plugin.json → Vite build → zip)
38
- publish 一键发布(E6#26)——自动链路:建 GitHub Release → 上传 .linkdesk-plugin → 更新工程
39
- origin 仓库根 marketplace.json(多市场源模型)。发前预览确认;--yes 跳过(CI);
40
- --dry-run 只预览不碰网络。token:env LINKDESK_GITHUB_TOKEN,或首跑交互输入存入本机
41
- validate 校验 plugin.json(参数 = 路径,默认 ./plugin.json)
42
- lint E6#54d 门禁(eslint 12 规则 + 三 check 双轨,全 WARN 永不 fail;知情绕行 =
43
- eslint-disable 注释)。参数 = 工程根,默认 process.cwd()
28
+ const USAGE = `linkdesk-plugin-sdk <command>
29
+
30
+ 命令:
31
+ dev 在插件工程根起 dev 宿主(E6#24)——读 plugin.json → Vite dev server(端口 1421)
32
+ → 浏览器打开纯前端预览 + HMR。只支持带 entry 的视图插件(脚手架 tab 形态)
33
+ dev --real E6#28.5 真机环——watch 作者源码 → 隔离单插件 build → 直写 {userData}/plugins/<id>
34
+ → CDP reload「LinkDesk Pool」(LinkDesk 须以 --remote-debugging-port=9222 启动)。
35
+ 真 IPC/串口/LSP 类插件的秒级真机调试(壳零新代码;LINKDESK_USER_PLUGINS_DIR /
36
+ LINKDESK_CDP_PORT 可覆盖)
37
+ build 在插件工程根构建 .linkdesk-plugin(读 plugin.json → Vite build → zip)
38
+ publish 一键发布(E6#26)——自动链路:建 GitHub Release → 上传 .linkdesk-plugin → 更新工程
39
+ origin 仓库根 marketplace.json(多市场源模型)。发前预览确认;--yes 跳过(CI);
40
+ --dry-run 只预览不碰网络。token:env LINKDESK_GITHUB_TOKEN,或首跑交互输入存入本机
41
+ validate 校验 plugin.json(参数 = 路径,默认 ./plugin.json)
42
+ lint E6#54d 门禁(eslint 12 规则 + 三 check 双轨,全 WARN 永不 fail;知情绕行 =
43
+ eslint-disable 注释)。参数 = 工程根,默认 process.cwd()
44
44
  `;
45
45
  async function cmdLint(root) {
46
46
  const report = await runPluginLint(root);
@@ -1 +1 @@
1
- {"version":3,"file":"vite-config.d.ts","sourceRoot":"","sources":["../src/vite-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAIH,OAAO,EAAmC,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAWxE;;;6EAG6E;AAC7E,eAAO,MAAM,gBAAgB,UAA8F,CAAC;AAM5H,MAAM,WAAW,qBAAqB;IACpC,4FAA4F;IAC5F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,yGAAyG;IACzG,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA8TD,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,qBAA0B,GAAG,UAAU,CAqO1F"}
1
+ {"version":3,"file":"vite-config.d.ts","sourceRoot":"","sources":["../src/vite-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AAIH,OAAO,EAAmC,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAWxE;;;6EAG6E;AAC7E,eAAO,MAAM,gBAAgB,UAA8F,CAAC;AAM5H,MAAM,WAAW,qBAAqB;IACpC,4FAA4F;IAC5F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,yGAAyG;IACzG,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AA8TD,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,qBAA0B,GAAG,UAAU,CA0O1F"}
@@ -505,7 +505,12 @@ export function defineLinkdeskPluginConfig(options = {}) {
505
505
  writeFileSync(join(pkgDir, "plugin.json"), `${JSON.stringify(distManifest, null, 2)}\n`, "utf8");
506
506
  for (const decl of collectI18nDecls(manifest))
507
507
  copyFileInto(root, pkgDir, decl.rel);
508
- copyFileInto(root, pkgDir, "icon.svg");
508
+ // E6#93b:此处原有一行 `copyFileInto(root, pkgDir, "icon.svg")`——已删,别再写回来。
509
+ // 它是「按文件位置推断插件属性」的写入侧版本(硬约束 11 明令禁止):身份图进不进包,
510
+ // 唯一真源是下面那个 manifest.icon 分支,不是「插件根有没有叫 icon.svg 的文件」。
511
+ // 实测删它随包结果零变化(全仓仅 editor 有根 icon.svg,而它同时声明了 icon ⇒ 下方分支已覆盖);
512
+ // 反过来,留着它会掩盖错误——作者把图挪进 resources/ 却忘改字段时,它会静默把一张
513
+ // 没人引用的根 icon.svg 也塞进包,让「裂图」变成一个查不出来的问题。
509
514
  copyFileInto(root, pkgDir, "README.md");
510
515
  // E6#70a:README 引用的相对媒体资产随包(cover.svg / resources/*.svg 等)——detail 说明区相对图
511
516
  // 靠 linkdesk://{id}/ 解析包内文件显形;缺此 = 安装版说明区裂图(15 档案 §三.3 现状根因)。
@@ -1 +1 @@
1
- {"version":3,"file":"vite-config.js","sourceRoot":"","sources":["../src/vite-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"vite-config.js","sourceRoot":"","sources":["../src/vite-config.ts"],"names":[],"mappings":"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"}