@mlightcad/cad-mcp-server 1.7.8-preview.1 → 1.7.8-preview.2
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 +88 -19
- package/dist/catalogTools.d.ts +4 -0
- package/dist/catalogTools.js +13 -5
- package/dist/catalogTools.js.map +1 -1
- package/dist/cli.js +8 -1
- package/dist/cli.js.map +1 -1
- package/dist/headlessGpu.d.ts +8 -2
- package/dist/headlessGpu.js +5 -2
- package/dist/headlessGpu.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +9 -1
- package/dist/server.js +21 -3
- package/dist/server.js.map +1 -1
- package/dist/session.d.ts +24 -3
- package/dist/session.js +150 -24
- package/dist/session.js.map +1 -1
- package/dist-runner/assets/{index-2iXkmn03.js → index-CazDkH6q.js} +335 -329
- package/dist-runner/index.html +3 -3
- package/dist-runner/workers/libredwg-parser-worker.js +18 -18
- package/package.json +5 -5
package/dist/session.js
CHANGED
|
@@ -1,9 +1,39 @@
|
|
|
1
1
|
import { existsSync } from 'node:fs';
|
|
2
|
-
import { readFile } from 'node:fs/promises';
|
|
2
|
+
import { mkdir, readFile, writeFile } from 'node:fs/promises';
|
|
3
3
|
import { createServer } from 'node:http';
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import { fileURLToPath } from 'node:url';
|
|
6
|
+
import { CAD_MCP_DXF_OUTBOX_KEY } from '@mlightcad/cad-agent-core/script-api';
|
|
6
7
|
import { launchHeadlessChromium } from './headlessGpu.js';
|
|
8
|
+
const DEFAULT_IDLE_CLOSE_MS = 30_000;
|
|
9
|
+
async function writeDxfOutbox(page) {
|
|
10
|
+
const items = await page.evaluate((key) => {
|
|
11
|
+
const host = window;
|
|
12
|
+
const queued = host[key] ?? [];
|
|
13
|
+
host[key] = [];
|
|
14
|
+
return queued;
|
|
15
|
+
}, CAD_MCP_DXF_OUTBOX_KEY);
|
|
16
|
+
const saved = [];
|
|
17
|
+
for (const item of items) {
|
|
18
|
+
const fileName = item.fileName.toLowerCase().endsWith('.dxf')
|
|
19
|
+
? item.fileName
|
|
20
|
+
: `${item.fileName}.dxf`;
|
|
21
|
+
const requested = item.path?.trim() || fileName;
|
|
22
|
+
const absolute = path.resolve(requested);
|
|
23
|
+
const target = absolute.toLowerCase().endsWith('.dxf')
|
|
24
|
+
? absolute
|
|
25
|
+
: `${absolute}.dxf`;
|
|
26
|
+
await mkdir(path.dirname(target), { recursive: true });
|
|
27
|
+
await writeFile(target, item.text, 'utf8');
|
|
28
|
+
saved.push({
|
|
29
|
+
path: target,
|
|
30
|
+
fileName: path.basename(target),
|
|
31
|
+
bytes: Buffer.byteLength(item.text),
|
|
32
|
+
delivery: 'file'
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
return saved;
|
|
36
|
+
}
|
|
7
37
|
function packageRoot() {
|
|
8
38
|
return path.resolve(path.dirname(fileURLToPath(import.meta.url)), '..');
|
|
9
39
|
}
|
|
@@ -39,6 +69,19 @@ function contentTypeFor(filePath) {
|
|
|
39
69
|
};
|
|
40
70
|
return types[ext] ?? 'application/octet-stream';
|
|
41
71
|
}
|
|
72
|
+
function resolveIdleCloseMs(override) {
|
|
73
|
+
if (typeof override === 'number' && Number.isFinite(override) && override >= 0) {
|
|
74
|
+
return override;
|
|
75
|
+
}
|
|
76
|
+
const fromEnv = process.env.CAD_MCP_IDLE_CLOSE_MS;
|
|
77
|
+
if (fromEnv !== undefined && fromEnv !== '') {
|
|
78
|
+
const parsed = Number(fromEnv);
|
|
79
|
+
if (Number.isFinite(parsed) && parsed >= 0) {
|
|
80
|
+
return parsed;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
return DEFAULT_IDLE_CLOSE_MS;
|
|
84
|
+
}
|
|
42
85
|
function startStaticServer(root) {
|
|
43
86
|
return new Promise((resolve, reject) => {
|
|
44
87
|
const mountedInputs = new Map();
|
|
@@ -108,28 +151,55 @@ function startStaticServer(root) {
|
|
|
108
151
|
});
|
|
109
152
|
}
|
|
110
153
|
/**
|
|
111
|
-
* Long-lived
|
|
154
|
+
* Long-lived Chromium session hosting cad-simple-viewer + agent-core.
|
|
112
155
|
*
|
|
113
|
-
* Started lazily on the first tool call
|
|
114
|
-
*
|
|
156
|
+
* Started lazily on the first tool call. Headless sessions auto-close after
|
|
157
|
+
* idle time; headed sessions stay open so the user can watch the drawing.
|
|
115
158
|
*/
|
|
116
159
|
export class CadMcpSession {
|
|
117
160
|
browser;
|
|
118
161
|
page;
|
|
119
162
|
server;
|
|
120
|
-
|
|
163
|
+
headed;
|
|
164
|
+
idleCloseMs;
|
|
165
|
+
idleTimer;
|
|
166
|
+
constructor(browser, page, server, headed, idleCloseMs) {
|
|
121
167
|
this.browser = browser;
|
|
122
168
|
this.page = page;
|
|
123
169
|
this.server = server;
|
|
170
|
+
this.headed = headed;
|
|
171
|
+
this.idleCloseMs = idleCloseMs;
|
|
124
172
|
}
|
|
125
173
|
static instance;
|
|
174
|
+
/** Resolved session used to detect headed mismatches before await. */
|
|
175
|
+
static resolved;
|
|
126
176
|
/**
|
|
127
177
|
* Returns the shared session, creating it on first call.
|
|
178
|
+
*
|
|
179
|
+
* If an existing session has a different `headed` flag, it is closed and
|
|
180
|
+
* rebuilt (drawing state is lost).
|
|
128
181
|
*/
|
|
129
|
-
static shared(options = {}) {
|
|
182
|
+
static async shared(options = {}) {
|
|
183
|
+
const headed = options.headed === true;
|
|
184
|
+
if (this.instance) {
|
|
185
|
+
const existing = await this.instance.catch(() => undefined);
|
|
186
|
+
if (existing) {
|
|
187
|
+
if (existing.headed === headed) {
|
|
188
|
+
return existing;
|
|
189
|
+
}
|
|
190
|
+
console.error(`[cad-mcp-server] switching to ${headed ? 'headed' : 'headless'}; rebuilding session (drawing state reset)`);
|
|
191
|
+
await existing.close();
|
|
192
|
+
}
|
|
193
|
+
}
|
|
130
194
|
if (!this.instance) {
|
|
131
|
-
this.instance = this.create(options)
|
|
195
|
+
this.instance = this.create(options)
|
|
196
|
+
.then(session => {
|
|
197
|
+
this.resolved = session;
|
|
198
|
+
return session;
|
|
199
|
+
})
|
|
200
|
+
.catch(error => {
|
|
132
201
|
this.instance = undefined;
|
|
202
|
+
this.resolved = undefined;
|
|
133
203
|
throw error;
|
|
134
204
|
});
|
|
135
205
|
}
|
|
@@ -140,15 +210,20 @@ export class CadMcpSession {
|
|
|
140
210
|
if (!existsSync(path.join(runnerDir, 'index.html'))) {
|
|
141
211
|
throw new Error('MCP runner is not built. Run "pnpm --filter @mlightcad/cad-mcp-server build".');
|
|
142
212
|
}
|
|
213
|
+
const headed = options.headed === true;
|
|
214
|
+
const idleCloseMs = resolveIdleCloseMs(options.idleCloseMs);
|
|
143
215
|
const server = await startStaticServer(runnerDir);
|
|
144
216
|
const channel = process.env.PLAYWRIGHT_BROWSER_CHANNEL;
|
|
145
217
|
const gpu = await launchHeadlessChromium({
|
|
146
218
|
channel,
|
|
147
|
-
useGpu: options.useGpu
|
|
219
|
+
useGpu: options.useGpu,
|
|
220
|
+
headed
|
|
148
221
|
});
|
|
149
222
|
const browser = gpu.browser;
|
|
150
|
-
console.error(`[cad-mcp-server] webgl: ${gpu.renderer} (${gpu.backend})`);
|
|
151
|
-
|
|
223
|
+
console.error(`[cad-mcp-server] webgl: ${gpu.renderer} (${gpu.backend}); ${headed ? 'headed' : 'headless'}`);
|
|
224
|
+
// Headed: match the real window so resizing updates layout / canvas.
|
|
225
|
+
// Headless: keep Playwright's default fixed viewport for stable capture.
|
|
226
|
+
const context = await browser.newContext(headed ? { viewport: null } : undefined);
|
|
152
227
|
const page = await context.newPage();
|
|
153
228
|
page.on('console', msg => {
|
|
154
229
|
const text = msg.text();
|
|
@@ -168,9 +243,37 @@ export class CadMcpSession {
|
|
|
168
243
|
await page.waitForFunction(() => typeof window.__cadMcp !==
|
|
169
244
|
'undefined');
|
|
170
245
|
console.error('[cad-mcp-server] browser ready');
|
|
171
|
-
return new CadMcpSession(browser, page, server);
|
|
246
|
+
return new CadMcpSession(browser, page, server, headed, idleCloseMs);
|
|
247
|
+
}
|
|
248
|
+
clearIdleClose() {
|
|
249
|
+
if (this.idleTimer !== undefined) {
|
|
250
|
+
clearTimeout(this.idleTimer);
|
|
251
|
+
this.idleTimer = undefined;
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
scheduleIdleClose() {
|
|
255
|
+
this.clearIdleClose();
|
|
256
|
+
if (this.headed || this.idleCloseMs <= 0) {
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
this.idleTimer = setTimeout(() => {
|
|
260
|
+
console.error(`[cad-mcp-server] headless idle ${this.idleCloseMs}ms; closing browser`);
|
|
261
|
+
void this.close();
|
|
262
|
+
}, this.idleCloseMs);
|
|
263
|
+
// Allow the Node process to exit if only the idle timer remains.
|
|
264
|
+
this.idleTimer.unref?.();
|
|
265
|
+
}
|
|
266
|
+
touchActivity() {
|
|
267
|
+
if (this.headed) {
|
|
268
|
+
this.clearIdleClose();
|
|
269
|
+
return;
|
|
270
|
+
}
|
|
271
|
+
this.scheduleIdleClose();
|
|
172
272
|
}
|
|
173
273
|
async openDrawing(input) {
|
|
274
|
+
// Pause idle close for the whole tool call — a prior 30s timer must not
|
|
275
|
+
// kill Chromium while open/load (or a long script) is still running.
|
|
276
|
+
this.clearIdleClose();
|
|
174
277
|
let fileName = null;
|
|
175
278
|
let drawingUrl = null;
|
|
176
279
|
const pathArg = input.path?.trim();
|
|
@@ -189,23 +292,46 @@ export class CadMcpSession {
|
|
|
189
292
|
}
|
|
190
293
|
}
|
|
191
294
|
const mode = input.mode ?? (pathArg ? 'read' : 'write');
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
295
|
+
try {
|
|
296
|
+
return await this.page.evaluate(async ({ fileName: name, drawingUrl: url, mode: openMode }) => {
|
|
297
|
+
const api = window.__cadMcp;
|
|
298
|
+
return api.openDrawing({
|
|
299
|
+
fileName: name,
|
|
300
|
+
drawingUrl: url,
|
|
301
|
+
mode: openMode,
|
|
302
|
+
startBlank: !url
|
|
303
|
+
});
|
|
304
|
+
}, { fileName, drawingUrl, mode });
|
|
305
|
+
}
|
|
306
|
+
finally {
|
|
307
|
+
this.touchActivity();
|
|
308
|
+
}
|
|
201
309
|
}
|
|
202
310
|
async executeCadScript(input) {
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
311
|
+
// Scripts can exceed the idle window (MCP raises tick/ms limits for large
|
|
312
|
+
// drawings). Clear before evaluate so the prior idle timer cannot close us.
|
|
313
|
+
this.clearIdleClose();
|
|
314
|
+
try {
|
|
315
|
+
const result = await this.page.evaluate(async (args) => {
|
|
316
|
+
const api = window.__cadMcp;
|
|
317
|
+
return api.executeCadScript(args);
|
|
318
|
+
}, input);
|
|
319
|
+
const written = await writeDxfOutbox(this.page);
|
|
320
|
+
if (written.length) {
|
|
321
|
+
result.savedFiles = written;
|
|
322
|
+
}
|
|
323
|
+
return result;
|
|
324
|
+
}
|
|
325
|
+
finally {
|
|
326
|
+
this.touchActivity();
|
|
327
|
+
}
|
|
207
328
|
}
|
|
208
329
|
async close() {
|
|
330
|
+
this.clearIdleClose();
|
|
331
|
+
if (CadMcpSession.resolved === this) {
|
|
332
|
+
CadMcpSession.resolved = undefined;
|
|
333
|
+
}
|
|
334
|
+
CadMcpSession.instance = undefined;
|
|
209
335
|
await this.browser.close().catch(() => undefined);
|
|
210
336
|
await this.server.close().catch(() => undefined);
|
|
211
337
|
}
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|