@lark-apaas/coding-preset-vite-react 1.0.24-alpha.20260918100835 → 1.0.24

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,MAAM,CAAC;AAgFd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,YAAY,CAC1B,SAAS,GAAE,UAAe,EAC1B,OAAO,GAAE,aAAkB,GAC1B,UAAU,CA8gBZ;AAGD,eAAe,YAAY,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,iBAAiB,EACjB,qCAAqC,GACtC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,MAAM,CAAC;AAiFd;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,WAAW,aAAa;IAC5B,4DAA4D;IAC5D,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,YAAY,CAC1B,SAAS,GAAE,UAAe,EAC1B,OAAO,GAAE,aAAkB,GAC1B,UAAU,CAqhBZ;AAGD,eAAe,YAAY,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EACL,gBAAgB,EAChB,2BAA2B,GAC5B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EACL,iBAAiB,EACjB,qCAAqC,GACtC,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAAE,8BAA8B,EAAE,MAAM,uBAAuB,CAAC"}
package/lib/index.js CHANGED
@@ -64,6 +64,7 @@ const dev_logs_1 = require("./plugins/dev-logs");
64
64
  const standalone_html_1 = require("./plugins/standalone-html");
65
65
  const standalone_router_1 = require("./plugins/standalone-router");
66
66
  // fullstack-only 4 件套(MIAODA_APP_TYPE === '3' 时启用)
67
+ const mcp_ui_1 = require("./plugins/mcp-ui");
67
68
  const dev_proxy_1 = require("./plugins/dev-proxy");
68
69
  const html_output_1 = require("./plugins/html-output");
69
70
  const basename_1 = require("./plugins/basename");
@@ -338,6 +339,12 @@ function defineConfig(overrides = {}, options = {}) {
338
339
  ...tryLoadInspector(enableInspector),
339
340
  (0, plugin_react_1.default)(),
340
341
  (0, vite_2.default)(),
342
+ // NRF 的 MCP Apps 与 Skill 发布文件;纯前端模板不启用。
343
+ isFullstack && (0, mcp_ui_1.mcpUiPlugin)({
344
+ rootDir,
345
+ isDev,
346
+ plugins: () => [(0, plugin_react_1.default)()],
347
+ }),
341
348
  // clsx / echarts / echarts-for-react alias —— 让所有 echarts 子路径指向 preset 自带版本
342
349
  (0, module_alias_1.moduleAliasPlugin)(),
343
350
  // routes.json(dev 内存 + middleware;build emitFile)
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dev-proxy.d.ts","sourceRoot":"","sources":["../../src/plugins/dev-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,MAAM,CAAC;AAUjD,MAAM,WAAW,qBAAqB;IACpC,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AASD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,MAAM,CA8L1E;AAED,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"dev-proxy.d.ts","sourceRoot":"","sources":["../../src/plugins/dev-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,MAAM,CAAC;AAUjD,MAAM,WAAW,qBAAqB;IACpC,+BAA+B;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AASD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,qBAA0B,GAAG,MAAM,CAoM1E;AAED,eAAe,cAAc,CAAC"}
@@ -156,6 +156,9 @@ function devProxyPlugin(options = {}) {
156
156
  proxy[`${clientBasePath}/__innerapi__`] = {
157
157
  target: `http://localhost:${serverPort}`,
158
158
  changeOrigin: true,
159
+ ...(localDev && localDevWebUserHeader
160
+ ? { headers: { 'x-larkgw-suda-webuser': localDevWebUserHeader } }
161
+ : {}),
159
162
  configure: (proxyServer) => {
160
163
  proxyServer.on('error', (err, req, res) => {
161
164
  (0, proxy_error_1.handleDevProxyError)(err, req, res, {
@@ -180,6 +183,9 @@ function devProxyPlugin(options = {}) {
180
183
  proxy[`/af/p/${appId}/__innerapi__`] = {
181
184
  target: `http://localhost:${serverPort}`,
182
185
  changeOrigin: true,
186
+ ...(localDev && localDevWebUserHeader
187
+ ? { headers: { 'x-larkgw-suda-webuser': localDevWebUserHeader } }
188
+ : {}),
183
189
  configure: (proxyServer) => {
184
190
  proxyServer.on('error', (err, req, res) => {
185
191
  (0, proxy_error_1.handleDevProxyError)(err, req, res, {
@@ -1 +1 @@
1
- {"version":3,"file":"dev-proxy.js","sourceRoot":"","sources":["../../src/plugins/dev-proxy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev-proxy.js","sourceRoot":"","sources":["../../src/plugins/dev-proxy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /** 仅交付固定层级的 SKILL.md;先完整校验,再逐文件原子替换。 */
2
+ export declare function syncMcpSkill(rootDir: string): void;
3
+ //# sourceMappingURL=mcp-skill.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-skill.d.ts","sourceRoot":"","sources":["../../src/plugins/mcp-skill.ts"],"names":[],"mappings":"AAGA,wCAAwC;AACxC,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CA6JlD"}
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.syncMcpSkill = syncMcpSkill;
37
+ const fs = __importStar(require("node:fs"));
38
+ const path = __importStar(require("node:path"));
39
+ /** 仅交付固定层级的 SKILL.md;先完整校验,再逐文件原子替换。 */
40
+ function syncMcpSkill(rootDir) {
41
+ const root = fs.realpathSync(rootDir);
42
+ const rootStat = fs.statSync(root);
43
+ const checkedPath = (relative) => {
44
+ let current = root;
45
+ for (const part of relative.split('/')) {
46
+ current = path.join(current, part);
47
+ let stat;
48
+ try {
49
+ stat = fs.lstatSync(current);
50
+ }
51
+ catch (error) {
52
+ if (error.code === 'ENOENT')
53
+ continue;
54
+ throw error;
55
+ }
56
+ if (stat.isSymbolicLink())
57
+ throw new Error(`MCP Skill 路径不允许符号链接:${relative}`);
58
+ const resolved = path.relative(root, fs.realpathSync(current));
59
+ if (resolved === '..' ||
60
+ resolved.startsWith(`..${path.sep}`) ||
61
+ path.isAbsolute(resolved)) {
62
+ throw new Error(`MCP Skill 路径越出工程根:${relative}`);
63
+ }
64
+ }
65
+ return current;
66
+ };
67
+ const list = (base) => {
68
+ const files = [];
69
+ const skills = checkedPath(`${base}/skills`);
70
+ if (!fs.existsSync(skills))
71
+ return files;
72
+ for (const name of fs.readdirSync(skills).sort()) {
73
+ const directory = checkedPath(`${base}/skills/${name}`);
74
+ if (!fs.statSync(directory).isDirectory())
75
+ continue;
76
+ const relative = `${base}/skills/${name}/SKILL.md`;
77
+ if (fs.existsSync(checkedPath(relative))) {
78
+ if (base === 'server/mcp' &&
79
+ (!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(name) || name.length > 64))
80
+ throw new Error('MCP Skill 目录名须为1–64位小写字母、数字及单连字符,不能首尾连字符');
81
+ files.push(relative);
82
+ }
83
+ }
84
+ return files;
85
+ };
86
+ const sourceBase = 'server/mcp';
87
+ // 只同步 SKILL.md,不删除同目录的工具编译产物。
88
+ const targetBase = 'dist/server/mcp';
89
+ const sources = list(sourceBase);
90
+ if (sources.length > 100)
91
+ throw new Error('MCP Skills 不能超过 100 文件');
92
+ const outputs = list(targetBase);
93
+ const content = new Map();
94
+ let total = 0;
95
+ for (const relative of sources) {
96
+ const file = checkedPath(relative);
97
+ // 先拒绝 FIFO/设备,避免以只读方式打开时阻塞。打开后仍用 fstat 再检查。
98
+ const before = fs.lstatSync(file);
99
+ if (!before.isFile())
100
+ throw new Error(`MCP Skill 必须是普通文件:${relative}`);
101
+ const fd = fs.openSync(file, fs.constants.O_RDONLY | fs.constants.O_NOFOLLOW | fs.constants.O_NONBLOCK);
102
+ try {
103
+ const assertOpenedFile = () => {
104
+ const currentRoot = fs.lstatSync(root);
105
+ if (currentRoot.isSymbolicLink() ||
106
+ currentRoot.dev !== rootStat.dev ||
107
+ currentRoot.ino !== rootStat.ino) {
108
+ throw new Error('MCP Skill 路径在读取期间发生变化');
109
+ }
110
+ checkedPath(relative);
111
+ const opened = fs.fstatSync(fd);
112
+ const current = fs.lstatSync(file);
113
+ if (current.isSymbolicLink() ||
114
+ opened.dev !== before.dev ||
115
+ opened.ino !== before.ino ||
116
+ opened.dev !== current.dev ||
117
+ opened.ino !== current.ino ||
118
+ fs.realpathSync(file) !== file) {
119
+ throw new Error('MCP Skill 路径与已打开文件不一致');
120
+ }
121
+ // dev/ino 检查常见的路径替换;不提供对工程写入者的强隔离。
122
+ };
123
+ const stat = fs.fstatSync(fd);
124
+ if (!stat.isFile())
125
+ throw new Error(`MCP Skill 必须是普通文件:${relative}`);
126
+ assertOpenedFile();
127
+ const limit = 1024 * 1024;
128
+ if (stat.size > limit)
129
+ throw new Error('MCP Skill 不能超过 1 MiB');
130
+ // 有界读取,也覆盖 stat 后文件继续增长的情况。
131
+ const buffer = Buffer.alloc(limit + 1);
132
+ let length = 0;
133
+ while (length < buffer.length) {
134
+ const count = fs.readSync(fd, buffer, length, buffer.length - length, null);
135
+ if (count === 0)
136
+ break;
137
+ length += count;
138
+ }
139
+ assertOpenedFile();
140
+ if (length > limit)
141
+ throw new Error('MCP Skill 不能超过 1 MiB');
142
+ total += length;
143
+ if (total > 8 * limit)
144
+ throw new Error('MCP Skills 总大小不能超过 8 MiB');
145
+ const bytes = buffer.subarray(0, length);
146
+ new TextDecoder('utf-8', { fatal: true }).decode(bytes);
147
+ const target = relative.replace(sourceBase, targetBase);
148
+ checkedPath(target);
149
+ content.set(target, Buffer.from(bytes));
150
+ }
151
+ finally {
152
+ fs.closeSync(fd);
153
+ }
154
+ }
155
+ // 旧产物也先检查,避免遇到非法目录时已更新部分文件。
156
+ for (const relative of outputs) {
157
+ if (!fs.statSync(checkedPath(relative)).isFile())
158
+ throw new Error(`MCP Skill 产物必须是普通文件:${relative}`);
159
+ }
160
+ for (const [relative, bytes] of content) {
161
+ const target = checkedPath(relative);
162
+ fs.mkdirSync(path.dirname(target), { recursive: true });
163
+ const temporary = fs.mkdtempSync(path.join(path.dirname(target), '.skill-'));
164
+ try {
165
+ const staged = path.join(temporary, 'SKILL.md');
166
+ fs.writeFileSync(staged, bytes);
167
+ fs.renameSync(staged, target);
168
+ }
169
+ finally {
170
+ fs.rmSync(temporary, { recursive: true, force: true });
171
+ }
172
+ }
173
+ for (const relative of outputs) {
174
+ if (content.has(relative))
175
+ continue;
176
+ const target = checkedPath(relative);
177
+ fs.rmSync(target);
178
+ if (relative.startsWith(`${targetBase}/skills/`) &&
179
+ fs.readdirSync(path.dirname(target)).length === 0) {
180
+ fs.rmdirSync(path.dirname(target));
181
+ }
182
+ }
183
+ const skills = checkedPath(`${targetBase}/skills`);
184
+ if (fs.existsSync(skills) && fs.readdirSync(skills).length === 0)
185
+ fs.rmdirSync(skills);
186
+ }
187
+ //# sourceMappingURL=mcp-skill.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-skill.js","sourceRoot":"","sources":["../../src/plugins/mcp-skill.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import type { Plugin } from 'vite';
2
+ /** 构建约束,不替代宿主 iframe 的权限和运行时隔离。 */
3
+ export declare function createMcpUiDependencyCheck(rootDir: string, uiDir: string): (id: string) => void;
4
+ export declare function mcpUiBoundary(rootDir: string, entryDir: string): {
5
+ plugin: Plugin<any>;
6
+ postcss: {
7
+ postcssPlugin: string;
8
+ Once(root: {
9
+ walkDecls(callback: (decl: {
10
+ value: string;
11
+ source?: {
12
+ input: {
13
+ file?: string;
14
+ };
15
+ };
16
+ }) => void): void;
17
+ }): void;
18
+ OnceExit(_root: unknown, { result, }: {
19
+ result: {
20
+ messages: Array<{
21
+ type: string;
22
+ file?: unknown;
23
+ }>;
24
+ };
25
+ }): void;
26
+ };
27
+ check: (id: string) => void;
28
+ };
29
+ //# sourceMappingURL=mcp-ui-boundary.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-ui-boundary.d.ts","sourceRoot":"","sources":["../../src/plugins/mcp-ui-boundary.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEnC,mCAAmC;AACnC,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,GACZ,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAmCtB;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;;;;mBAmJhD;YACT,SAAS,CACP,QAAQ,EAAE,CAAC,IAAI,EAAE;gBACf,KAAK,EAAE,MAAM,CAAC;gBACd,MAAM,CAAC,EAAE;oBAAE,KAAK,EAAE;wBAAE,IAAI,CAAC,EAAE,MAAM,CAAA;qBAAE,CAAA;iBAAE,CAAC;aACvC,KAAK,IAAI,GACT,IAAI,CAAC;SACT;wBAOQ,OAAO,eAGX;YAAE,MAAM,EAAE;gBAAE,QAAQ,EAAE,KAAK,CAAC;oBAAE,IAAI,EAAE,MAAM,CAAC;oBAAC,IAAI,CAAC,EAAE,OAAO,CAAA;iBAAE,CAAC,CAAA;aAAE,CAAA;SAAE;;gBAzMlE,MAAM,KAAK,IAAI;EAiNtB"}
@@ -0,0 +1,232 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.createMcpUiDependencyCheck = createMcpUiDependencyCheck;
40
+ exports.mcpUiBoundary = mcpUiBoundary;
41
+ const fs = __importStar(require("node:fs"));
42
+ const path = __importStar(require("node:path"));
43
+ const node_module_1 = require("node:module");
44
+ const parse5_1 = require("parse5");
45
+ const parser_1 = require("@babel/parser");
46
+ const traverse_1 = __importDefault(require("@babel/traverse"));
47
+ const postcss_value_parser_1 = __importDefault(require("postcss-value-parser"));
48
+ /** 构建约束,不替代宿主 iframe 的权限和运行时隔离。 */
49
+ function createMcpUiDependencyCheck(rootDir, uiDir) {
50
+ const canonical = (file) => fs.existsSync(file) ? fs.realpathSync(file) : path.resolve(file);
51
+ const roots = [canonical(uiDir), canonical(path.join(rootDir, 'shared'))];
52
+ const builtins = new Set(node_module_1.builtinModules.flatMap(name => [name, `node:${name}`]));
53
+ return id => {
54
+ if (builtins.has(id) ||
55
+ id.startsWith('node:') ||
56
+ id.includes('__vite-browser-external')) {
57
+ throw new Error(`MCP UI 不能引用 Node.js 模块:${id}`);
58
+ }
59
+ const file = id.split(/[?#]/, 1)[0];
60
+ if (!path.isAbsolute(file))
61
+ return; // 构建器虚拟模块
62
+ const resolved = canonical(file);
63
+ if (resolved.split(path.sep).includes('node_modules'))
64
+ return;
65
+ if (roots.some(root => {
66
+ const relative = path.relative(root, resolved);
67
+ return (relative === '' ||
68
+ (relative !== '..' &&
69
+ !relative.startsWith(`..${path.sep}`) &&
70
+ !path.isAbsolute(relative)));
71
+ }))
72
+ return;
73
+ throw new Error(`MCP UI 不能引用应用或服务端代码:${path.relative(rootDir, resolved)};请使用 server/mcp/ui 或 shared 中的独立浏览器代码。`);
74
+ };
75
+ }
76
+ function mcpUiBoundary(rootDir, entryDir) {
77
+ const check = createMcpUiDependencyCheck(rootDir, path.dirname(entryDir));
78
+ const checkUrl = (url, importer) => {
79
+ if (/^(?:[a-z][a-z\d+.-]*:|\/\/|#)/i.test(url))
80
+ return;
81
+ const file = decodeURIComponent(url.split(/[?#]/, 1)[0]);
82
+ if (!file)
83
+ return;
84
+ check(file.startsWith('@shared/')
85
+ ? path.resolve(rootDir, 'shared', file.slice(8))
86
+ : file.startsWith('/')
87
+ ? path.join(entryDir, file)
88
+ : path.resolve(path.dirname(importer), file));
89
+ };
90
+ const checkCss = (value, importer) => {
91
+ (0, postcss_value_parser_1.default)(value).walk(node => {
92
+ if (node.type !== 'function')
93
+ return;
94
+ if (['image-set', '-webkit-image-set'].includes(node.value.toLowerCase())) {
95
+ for (const child of node.nodes)
96
+ if (child.type === 'string')
97
+ checkUrl(child.value, importer);
98
+ }
99
+ if (node.value.toLowerCase() !== 'url')
100
+ return;
101
+ const raw = node.nodes.length === 1 && node.nodes[0].type === 'string'
102
+ ? node.nodes[0].value
103
+ : postcss_value_parser_1.default.stringify(node.nodes);
104
+ const url = raw.replace(/\\([\da-f]{1,6})\s?|\\([^\r\n])/gi, (_match, hex, char) => hex ? String.fromCodePoint(parseInt(hex, 16) || 0xfffd) : char);
105
+ checkUrl(url, importer);
106
+ });
107
+ };
108
+ const plugin = {
109
+ name: 'miaoda:mcp-ui-boundary',
110
+ enforce: 'pre',
111
+ async resolveId(source, importer, options) {
112
+ const resolved = await this.resolve(source, importer, {
113
+ ...options,
114
+ skipSelf: true,
115
+ });
116
+ if (resolved)
117
+ check(resolved.id); // 先应用 browser 映射,不误杀合法浏览器替代实现
118
+ return resolved;
119
+ },
120
+ load(id) {
121
+ check(id);
122
+ return null;
123
+ },
124
+ transformIndexHtml: {
125
+ order: 'pre',
126
+ handler(html, context) {
127
+ const visit = (node) => {
128
+ if ('attrs' in node)
129
+ for (const attr of node.attrs ?? []) {
130
+ const isResource = (attr.name === 'src' &&
131
+ [
132
+ 'img',
133
+ 'script',
134
+ 'iframe',
135
+ 'audio',
136
+ 'video',
137
+ 'source',
138
+ 'track',
139
+ 'embed',
140
+ 'input',
141
+ ].includes(node.nodeName)) ||
142
+ (attr.name === 'href' &&
143
+ ['link', 'use', 'image'].includes(node.nodeName)) ||
144
+ (attr.name === 'poster' && node.nodeName === 'video') ||
145
+ (attr.name === 'data' && node.nodeName === 'object');
146
+ if (isResource)
147
+ checkUrl(attr.value, context.filename);
148
+ if (attr.name === 'style')
149
+ checkCss(attr.value, context.filename);
150
+ if (attr.name === 'srcset' &&
151
+ ['img', 'source'].includes(node.nodeName)) {
152
+ // URL token 可包含 data URI 的逗号;描述符的逗号才分隔下一项。
153
+ let rest = attr.value;
154
+ while (rest) {
155
+ rest = rest.replace(/^[\s,]+/, '');
156
+ const match = /^([^\s]+)/.exec(rest);
157
+ if (!match)
158
+ break;
159
+ const url = match[1];
160
+ checkUrl(url.replace(/,+$/, ''), context.filename);
161
+ rest = rest.slice(url.length);
162
+ if (!url.endsWith(','))
163
+ rest = rest.replace(/^[^,]*(?:,|$)/, '');
164
+ }
165
+ }
166
+ }
167
+ if ('childNodes' in node)
168
+ for (const child of node.childNodes)
169
+ visit(child);
170
+ if ('content' in node && node.content)
171
+ visit(node.content);
172
+ if (node.nodeName === 'style' && 'childNodes' in node) {
173
+ for (const child of node.childNodes)
174
+ if ('value' in child)
175
+ checkCss(child.value, context.filename);
176
+ }
177
+ };
178
+ visit((0, parse5_1.parse)(html));
179
+ },
180
+ },
181
+ transform(code, id) {
182
+ if (!/\.[cm]?[jt]sx?(?:\?|$)/.test(id) || !code.includes('import.meta'))
183
+ return;
184
+ const ast = (0, parser_1.parse)(code, {
185
+ sourceType: 'unambiguous',
186
+ plugins: /\.[cm]?ts(?:\?|$)/.test(id)
187
+ ? ['typescript']
188
+ : ['typescript', 'jsx'],
189
+ });
190
+ (0, traverse_1.default)(ast, {
191
+ NewExpression({ node }) {
192
+ if (node.callee.type !== 'Identifier' || node.callee.name !== 'URL')
193
+ return;
194
+ const base = node.arguments[1];
195
+ if (base?.type !== 'MemberExpression' ||
196
+ base.object.type !== 'MetaProperty' ||
197
+ base.object.meta.name !== 'import')
198
+ return;
199
+ const url = node.arguments[0];
200
+ if (url?.type === 'StringLiteral')
201
+ checkUrl(url.value, id.split('?', 1)[0]);
202
+ if (url?.type === 'TemplateLiteral' && url.expressions.length === 0)
203
+ checkUrl(url.quasis[0].value.cooked ?? url.quasis[0].value.raw, id.split('?', 1)[0]);
204
+ },
205
+ });
206
+ },
207
+ generateBundle(_options, bundle) {
208
+ for (const item of Object.values(bundle)) {
209
+ if (item.type !== 'asset')
210
+ continue;
211
+ for (const source of item.originalFileNames ?? [])
212
+ check(path.resolve(entryDir, source));
213
+ }
214
+ },
215
+ };
216
+ const postcss = {
217
+ postcssPlugin: 'miaoda-mcp-ui-css-boundary',
218
+ Once(root) {
219
+ root.walkDecls(decl => {
220
+ if (decl.source?.input.file)
221
+ checkCss(decl.value, decl.source.input.file);
222
+ });
223
+ },
224
+ OnceExit(_root, { result, }) {
225
+ for (const message of result.messages)
226
+ if (message.type === 'dependency' && typeof message.file === 'string')
227
+ check(message.file);
228
+ },
229
+ };
230
+ return { plugin, postcss, check };
231
+ }
232
+ //# sourceMappingURL=mcp-ui-boundary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-ui-boundary.js","sourceRoot":"","sources":["../../src/plugins/mcp-ui-boundary.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import type { Plugin, PluginOption, InlineConfig } from 'vite';
2
+ /**
3
+ * MCP Apps 界面源码目录(相对工程根)。每个子目录一个界面入口:
4
+ * server/mcp/ui/<entry>/index.html
5
+ * 与 tools、skills 按 MCP 能力归集,但仍是独立浏览器代码。
6
+ * 用户工程的服务端 tsconfig 必须排除 server/mcp/ui,并用独立 UI tsconfig 检查。
7
+ * 构建后输出为单文件 HTML:
8
+ * 开发态:dist/mcp-ui/<entry>.html
9
+ * 发布态:dist/dist/mcp-ui/<entry>.html(以 dist 为发布根)
10
+ * 服务端通过 `readMcpUiTemplate('<entry>')`(@lark-apaas/nestjs-mcp)读取并作为 `ui://` 资源下发。
11
+ */
12
+ export declare const MCP_UI_SOURCE_DIR = "server/mcp/ui";
13
+ export declare const MCP_UI_OUT_DIR = "dist/mcp-ui";
14
+ export interface McpUiPluginOptions {
15
+ rootDir: string;
16
+ isDev: boolean;
17
+ /** 覆盖源码目录(相对 rootDir),默认 server/mcp/ui */
18
+ sourceDir?: string;
19
+ /** 覆盖输出目录(相对 rootDir);默认开发 dist/mcp-ui,发布 dist/dist/mcp-ui */
20
+ outDir?: string;
21
+ /** 注入给每个界面构建的额外插件(通常是 react()) */
22
+ plugins?: () => PluginOption[];
23
+ /** 仅供测试:替换 vite.build */
24
+ _build?: (config: InlineConfig) => Promise<unknown>;
25
+ log?: (message: string) => void;
26
+ }
27
+ export interface McpUiEntry {
28
+ /** 目录名,即入口名 */
29
+ name: string;
30
+ /** 目录绝对路径 */
31
+ dir: string;
32
+ /** index.html 绝对路径 */
33
+ html: string;
34
+ }
35
+ /**
36
+ * 列出所有界面入口:sourceDir 下每个含 index.html 的子目录。
37
+ */
38
+ export declare function listMcpUiEntries(rootDir: string, sourceDir?: string): McpUiEntry[];
39
+ /**
40
+ * 把 rollup 产出的 HTML 中引用的 JS / CSS 内联进 HTML,并删除独立文件,使产物成为单文件。
41
+ * MCP Apps 宿主以 iframe + srcdoc 方式渲染资源,不能再发起相对路径请求,因此必须内联。
42
+ */
43
+ export declare function inlineHtmlAssets(html: string, assets: Record<string, string>): {
44
+ html: string;
45
+ consumed: string[];
46
+ };
47
+ /**
48
+ * 内联插件:在 generateBundle 阶段把 chunk / css 塞进 HTML。
49
+ */
50
+ export declare function singleFilePlugin(): Plugin;
51
+ export interface BuildMcpUiEntryOptions {
52
+ rootDir: string;
53
+ outDir: string;
54
+ isDev: boolean;
55
+ plugins: PluginOption[];
56
+ build: (config: InlineConfig) => Promise<unknown>;
57
+ }
58
+ /**
59
+ * 构建单个界面入口为 `<outDir>/<entry>.html`。
60
+ */
61
+ export declare function buildMcpUiEntry(entry: McpUiEntry, options: BuildMcpUiEntryOptions): Promise<string>;
62
+ /**
63
+ * 生成 MCP Apps 单文件界面的 Vite 插件。
64
+ *
65
+ * - 生产构建:主构建结束后(closeBundle)依次构建每个入口。
66
+ * - 开发模式:dev server 启动时构建一次,并监听 `server/mcp/ui/**` 变更增量重建,
67
+ * 服务端 `readMcpUiTemplate` 在开发态不缓存,刷新即生效。
68
+ * - 没有 UI 时跳过界面构建;生产仍同步固定的应用 Skill 文件。
69
+ */
70
+ export declare function mcpUiPlugin(options: McpUiPluginOptions): Plugin;
71
+ //# sourceMappingURL=mcp-ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-ui.d.ts","sourceRoot":"","sources":["../../src/plugins/mcp-ui.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAE/D;;;;;;;;;GASG;AACH,eAAO,MAAM,iBAAiB,kBAAkB,CAAC;AACjD,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAE5C,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,OAAO,CAAC;IACf,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,OAAO,CAAC,EAAE,MAAM,YAAY,EAAE,CAAC;IAC/B,yBAAyB;IACzB,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IACzB,eAAe;IACf,IAAI,EAAE,MAAM,CAAC;IACb,aAAa;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,MAAM,EACf,SAAS,GAAE,MAA0B,GACpC,UAAU,EAAE,CAad;AAOD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC7B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,EAAE,CAAA;CAAE,CA0CtC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAsBzC;AAiBD,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,YAAY,EAAE,CAAC;IACxB,KAAK,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACnD;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,UAAU,EACjB,OAAO,EAAE,sBAAsB,GAC9B,OAAO,CAAC,MAAM,CAAC,CA0DjB;AAED;;;;;;;GAOG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,MAAM,CA6F/D"}
@@ -0,0 +1,307 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.MCP_UI_OUT_DIR = exports.MCP_UI_SOURCE_DIR = void 0;
37
+ exports.listMcpUiEntries = listMcpUiEntries;
38
+ exports.inlineHtmlAssets = inlineHtmlAssets;
39
+ exports.singleFilePlugin = singleFilePlugin;
40
+ exports.buildMcpUiEntry = buildMcpUiEntry;
41
+ exports.mcpUiPlugin = mcpUiPlugin;
42
+ const mcp_skill_1 = require("./mcp-skill");
43
+ const fs = __importStar(require("node:fs"));
44
+ const path = __importStar(require("node:path"));
45
+ const mcp_ui_boundary_1 = require("./mcp-ui-boundary");
46
+ /**
47
+ * MCP Apps 界面源码目录(相对工程根)。每个子目录一个界面入口:
48
+ * server/mcp/ui/<entry>/index.html
49
+ * 与 tools、skills 按 MCP 能力归集,但仍是独立浏览器代码。
50
+ * 用户工程的服务端 tsconfig 必须排除 server/mcp/ui,并用独立 UI tsconfig 检查。
51
+ * 构建后输出为单文件 HTML:
52
+ * 开发态:dist/mcp-ui/<entry>.html
53
+ * 发布态:dist/dist/mcp-ui/<entry>.html(以 dist 为发布根)
54
+ * 服务端通过 `readMcpUiTemplate('<entry>')`(@lark-apaas/nestjs-mcp)读取并作为 `ui://` 资源下发。
55
+ */
56
+ exports.MCP_UI_SOURCE_DIR = 'server/mcp/ui';
57
+ exports.MCP_UI_OUT_DIR = 'dist/mcp-ui';
58
+ /**
59
+ * 列出所有界面入口:sourceDir 下每个含 index.html 的子目录。
60
+ */
61
+ function listMcpUiEntries(rootDir, sourceDir = exports.MCP_UI_SOURCE_DIR) {
62
+ const base = path.resolve(rootDir, sourceDir);
63
+ if (!fs.existsSync(base))
64
+ return [];
65
+ return fs
66
+ .readdirSync(base, { withFileTypes: true })
67
+ .filter(d => d.isDirectory() && /^[A-Za-z0-9_-]+$/.test(d.name))
68
+ .map(d => ({
69
+ name: d.name,
70
+ dir: path.join(base, d.name),
71
+ html: path.join(base, d.name, 'index.html'),
72
+ }))
73
+ .filter(e => fs.existsSync(e.html))
74
+ .sort((a, b) => a.name.localeCompare(b.name));
75
+ }
76
+ function escapeInlineScript(code) {
77
+ // 内联脚本里出现 </script 会提前闭合标签;<!-- 会让浏览器进入 script 转义态,两者都要转义
78
+ return code.replace(/<\/script/gi, '<\\/script').replace(/<!--/g, '<\\!--');
79
+ }
80
+ /**
81
+ * 把 rollup 产出的 HTML 中引用的 JS / CSS 内联进 HTML,并删除独立文件,使产物成为单文件。
82
+ * MCP Apps 宿主以 iframe + srcdoc 方式渲染资源,不能再发起相对路径请求,因此必须内联。
83
+ */
84
+ function inlineHtmlAssets(html, assets) {
85
+ const consumed = [];
86
+ const lookup = (href) => {
87
+ const cleaned = href.replace(/^\.?\//, '').split(/[?#]/)[0];
88
+ for (const key of Object.keys(assets)) {
89
+ if (key === cleaned ||
90
+ key.endsWith(`/${cleaned}`) ||
91
+ cleaned.endsWith(`/${key}`)) {
92
+ consumed.push(key);
93
+ return assets[key];
94
+ }
95
+ }
96
+ return undefined;
97
+ };
98
+ let out = html.replace(/<script([^>]*?)\ssrc=["']([^"']+)["']([^>]*)><\/script>/gi, (match, before, src, after) => {
99
+ const code = lookup(src);
100
+ if (code === undefined)
101
+ return match;
102
+ const attrs = `${before}${after}`.replace(/\s*crossorigin(=["'][^"']*["'])?/gi, '');
103
+ return `<script${attrs}>${escapeInlineScript(code)}</script>`;
104
+ });
105
+ out = out.replace(/<link([^>]*?)\srel=["']stylesheet["']([^>]*?)>/gi, (match, before, after) => {
106
+ const hrefMatch = /href=["']([^"']+)["']/i.exec(`${before} ${after}`);
107
+ if (!hrefMatch)
108
+ return match;
109
+ const css = lookup(hrefMatch[1]);
110
+ if (css === undefined)
111
+ return match;
112
+ return `<style>${css}</style>`;
113
+ });
114
+ // modulepreload 在单文件里没有意义,顺手移除
115
+ out = out.replace(/\s*<link[^>]*rel=["']modulepreload["'][^>]*>/gi, '');
116
+ return { html: out, consumed: Array.from(new Set(consumed)) };
117
+ }
118
+ /**
119
+ * 内联插件:在 generateBundle 阶段把 chunk / css 塞进 HTML。
120
+ */
121
+ function singleFilePlugin() {
122
+ return {
123
+ name: 'miaoda:mcp-ui-single-file',
124
+ enforce: 'post',
125
+ generateBundle(_options, bundle) {
126
+ const assets = {};
127
+ for (const [fileName, item] of Object.entries(bundle)) {
128
+ if (item.type === 'chunk')
129
+ assets[fileName] = item.code;
130
+ else if (item.type === 'asset' && fileName.endsWith('.css'))
131
+ assets[fileName] = String(item.source);
132
+ }
133
+ for (const [fileName, item] of Object.entries(bundle)) {
134
+ if (item.type !== 'asset' || !fileName.endsWith('.html'))
135
+ continue;
136
+ const { html, consumed } = inlineHtmlAssets(String(item.source), assets);
137
+ item.source = html;
138
+ for (const key of consumed)
139
+ delete bundle[key];
140
+ }
141
+ },
142
+ };
143
+ }
144
+ async function loadViteBuild() {
145
+ // 本包以 CommonJS 发布,而 Vite 6+ 为纯 ESM;用原生 dynamic import 才能在所有 Node 版本加载。
146
+ // eslint-disable-next-line @typescript-eslint/no-implied-eval
147
+ const dynamicImport = new Function('specifier', 'return import(specifier)');
148
+ const vite = await dynamicImport('vite');
149
+ return vite.build;
150
+ }
151
+ /**
152
+ * 构建单个界面入口为 `<outDir>/<entry>.html`。
153
+ */
154
+ async function buildMcpUiEntry(entry, options) {
155
+ const outDir = path.resolve(options.rootDir, options.outDir);
156
+ const tmpDir = path.join(outDir, `.${entry.name}.tmp`);
157
+ fs.rmSync(tmpDir, { recursive: true, force: true });
158
+ const boundary = (0, mcp_ui_boundary_1.mcpUiBoundary)(options.rootDir, entry.dir);
159
+ let assetError;
160
+ await options.build({
161
+ configFile: false,
162
+ envFile: false,
163
+ root: fs.realpathSync(entry.dir),
164
+ base: './',
165
+ mode: options.isDev ? 'development' : 'production',
166
+ logLevel: 'warn',
167
+ clearScreen: false,
168
+ plugins: [boundary.plugin, ...options.plugins, singleFilePlugin()],
169
+ publicDir: false,
170
+ css: { postcss: { plugins: [boundary.postcss] } },
171
+ resolve: {
172
+ alias: {
173
+ '@shared': path.resolve(options.rootDir, 'shared'),
174
+ },
175
+ },
176
+ build: {
177
+ outDir: tmpDir,
178
+ emptyOutDir: true,
179
+ sourcemap: false,
180
+ minify: !options.isDev,
181
+ cssCodeSplit: false,
182
+ modulePreload: false,
183
+ assetsInlineLimit: file => {
184
+ try {
185
+ boundary.check(file);
186
+ }
187
+ catch (error) {
188
+ assetError = error;
189
+ throw error;
190
+ }
191
+ return true;
192
+ },
193
+ // Vite 8 仍兼容此选项,同时保持仓库 Vite 7 类型检查兼容。
194
+ rollupOptions: {
195
+ input: fs.realpathSync(entry.html),
196
+ output: { inlineDynamicImports: true },
197
+ },
198
+ },
199
+ });
200
+ // Vite 对 new URL 的资源转换会吞掉异常,构建完成后再次确认。
201
+ if (assetError)
202
+ throw assetError;
203
+ const produced = path.join(tmpDir, 'index.html');
204
+ if (!fs.existsSync(produced)) {
205
+ throw new Error(`MCP Apps 界面「${entry.name}」构建未产出 index.html`);
206
+ }
207
+ fs.mkdirSync(outDir, { recursive: true });
208
+ const target = path.join(outDir, `${entry.name}.html`);
209
+ fs.renameSync(produced, target);
210
+ fs.rmSync(tmpDir, { recursive: true, force: true });
211
+ return target;
212
+ }
213
+ /**
214
+ * 生成 MCP Apps 单文件界面的 Vite 插件。
215
+ *
216
+ * - 生产构建:主构建结束后(closeBundle)依次构建每个入口。
217
+ * - 开发模式:dev server 启动时构建一次,并监听 `server/mcp/ui/**` 变更增量重建,
218
+ * 服务端 `readMcpUiTemplate` 在开发态不缓存,刷新即生效。
219
+ * - 没有 UI 时跳过界面构建;生产仍同步固定的应用 Skill 文件。
220
+ */
221
+ function mcpUiPlugin(options) {
222
+ const { rootDir, isDev, sourceDir = exports.MCP_UI_SOURCE_DIR, outDir = isDev ? exports.MCP_UI_OUT_DIR : `dist/${exports.MCP_UI_OUT_DIR}`, plugins = () => [], log = m => console.log(`[mcp-ui] ${m}`), } = options;
223
+ const sourceRoot = path.resolve(rootDir, sourceDir);
224
+ let buildFn = options._build;
225
+ const buildAll = async (entries) => {
226
+ if (entries.length === 0)
227
+ return;
228
+ buildFn ?? (buildFn = await loadViteBuild());
229
+ for (const entry of entries) {
230
+ const started = Date.now();
231
+ const target = await buildMcpUiEntry(entry, {
232
+ rootDir,
233
+ outDir,
234
+ isDev,
235
+ plugins: plugins(),
236
+ build: buildFn,
237
+ });
238
+ log(`已构建 ${path.relative(rootDir, target)}(${Date.now() - started}ms)`);
239
+ }
240
+ };
241
+ return {
242
+ name: 'miaoda:mcp-ui',
243
+ async closeBundle() {
244
+ if (isDev)
245
+ return;
246
+ (0, mcp_skill_1.syncMcpSkill)(rootDir);
247
+ const output = path.resolve(rootDir, outDir);
248
+ fs.rmSync(output, { recursive: true, force: true });
249
+ await buildAll(listMcpUiEntries(rootDir, sourceDir));
250
+ },
251
+ async configureServer(server) {
252
+ if (!isDev)
253
+ return;
254
+ let stopped = false;
255
+ let timer;
256
+ const rebuild = async () => {
257
+ if (stopped)
258
+ return;
259
+ const entries = listMcpUiEntries(rootDir, sourceDir);
260
+ const output = path.resolve(rootDir, outDir);
261
+ const names = new Set(entries.map(entry => `${entry.name}.html`));
262
+ if (fs.existsSync(output)) {
263
+ for (const name of fs.readdirSync(output)) {
264
+ if (name.endsWith('.html') && !names.has(name))
265
+ fs.rmSync(path.join(output, name));
266
+ }
267
+ }
268
+ await buildAll(entries);
269
+ };
270
+ const report = (error) => log(`构建失败:${error instanceof Error ? error.message : String(error)}`);
271
+ let ready = rebuild().catch(report);
272
+ server.watcher.add([sourceRoot, path.resolve(rootDir, 'shared')]);
273
+ const schedule = (file) => {
274
+ const relevant = [sourceRoot, path.resolve(rootDir, 'shared')].some(dir => {
275
+ const relative = path.relative(dir, path.resolve(file));
276
+ return !relative.startsWith('..') && !path.isAbsolute(relative);
277
+ });
278
+ if (!relevant || stopped)
279
+ return;
280
+ if (timer)
281
+ clearTimeout(timer);
282
+ timer = setTimeout(() => {
283
+ timer = undefined;
284
+ ready = ready.then(rebuild).catch(report);
285
+ }, 200);
286
+ };
287
+ const events = [
288
+ 'change',
289
+ 'add',
290
+ 'unlink',
291
+ 'addDir',
292
+ 'unlinkDir',
293
+ ];
294
+ for (const event of events)
295
+ server.watcher.on(event, schedule);
296
+ server.httpServer?.once('close', () => {
297
+ stopped = true;
298
+ if (timer)
299
+ clearTimeout(timer);
300
+ for (const event of events)
301
+ server.watcher.off(event, schedule);
302
+ });
303
+ await ready;
304
+ },
305
+ };
306
+ }
307
+ //# sourceMappingURL=mcp-ui.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-ui.js","sourceRoot":"","sources":["../../src/plugins/mcp-ui.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lark-apaas/coding-preset-vite-react",
3
- "version": "1.0.24-alpha.20260918100835",
3
+ "version": "1.0.24",
4
4
  "description": "Vite 8 preset for miaoda-coding vite-react (jsPage) templates — pure frontend, no fullstack baggage",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -37,6 +37,8 @@
37
37
  "express": "^4.18.2",
38
38
  "html-minifier-terser": "^7.2.0",
39
39
  "magic-string": "~0.30.18",
40
+ "parse5": "^7.3.0",
41
+ "postcss-value-parser": "^4.2.0",
40
42
  "tailwind-merge": "^2.5.5"
41
43
  },
42
44
  "peerDependencies": {