@justanothermldude/mcp-exec 1.3.0 → 1.3.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/dist/bridge/index.d.ts +1 -1
- package/dist/bridge/index.d.ts.map +1 -1
- package/dist/bridge/index.js +1 -1
- package/dist/bridge/index.js.map +1 -1
- package/dist/bridge/port-cleanup.d.ts +9 -2
- package/dist/bridge/port-cleanup.d.ts.map +1 -1
- package/dist/bridge/port-cleanup.js +58 -3
- package/dist/bridge/port-cleanup.js.map +1 -1
- package/dist/codegen/wrapper-generator.d.ts.map +1 -1
- package/dist/codegen/wrapper-generator.js +11 -2
- package/dist/codegen/wrapper-generator.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +107 -8
- package/dist/index.js.map +1 -1
- package/dist/server.js +3 -3
- package/dist/server.js.map +1 -1
- package/dist/tools/execute-with-wrappers.d.ts +5 -2
- package/dist/tools/execute-with-wrappers.d.ts.map +1 -1
- package/dist/tools/execute-with-wrappers.js +67 -4
- package/dist/tools/execute-with-wrappers.js.map +1 -1
- package/package.json +1 -1
package/dist/bridge/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { MCPBridge } from './server.js';
|
|
2
2
|
export type { CallRequest, CallResponse, MCPBridgeConfig } from './server.js';
|
|
3
|
-
export { cleanupStaleProcess, isPortInUse } from './port-cleanup.js';
|
|
3
|
+
export { cleanupStaleProcess, cleanupOrphanedProcesses, isPortInUse } from './port-cleanup.js';
|
|
4
4
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|
package/dist/bridge/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
// MCP Bridge HTTP server exports
|
|
2
2
|
export { MCPBridge } from './server.js';
|
|
3
|
-
export { cleanupStaleProcess, isPortInUse } from './port-cleanup.js';
|
|
3
|
+
export { cleanupStaleProcess, cleanupOrphanedProcesses, isPortInUse } from './port-cleanup.js';
|
|
4
4
|
//# sourceMappingURL=index.js.map
|
package/dist/bridge/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/bridge/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,11 +1,18 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Attempt to clean up stale mcp-exec processes on a specific port
|
|
3
|
-
*
|
|
2
|
+
* Attempt to clean up stale mcp-exec processes on a specific port.
|
|
3
|
+
* Kills processes that match mcp-exec/meta-mcp in their command line OR are orphaned (PPID=1).
|
|
4
4
|
*
|
|
5
5
|
* @param port - Port number to check for stale processes
|
|
6
6
|
* @returns true if any processes were killed, false otherwise
|
|
7
7
|
*/
|
|
8
8
|
export declare function cleanupStaleProcess(port: number): Promise<boolean>;
|
|
9
|
+
/**
|
|
10
|
+
* Kill all orphaned mcp-exec processes (PPID=1) system-wide.
|
|
11
|
+
* Should be called at startup to clean up leftovers from crashed/closed parent sessions.
|
|
12
|
+
*
|
|
13
|
+
* @returns number of processes killed
|
|
14
|
+
*/
|
|
15
|
+
export declare function cleanupOrphanedProcesses(): Promise<number>;
|
|
9
16
|
/**
|
|
10
17
|
* Check if a port is currently in use
|
|
11
18
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"port-cleanup.d.ts","sourceRoot":"","sources":["../../src/bridge/port-cleanup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"port-cleanup.d.ts","sourceRoot":"","sources":["../../src/bridge/port-cleanup.ts"],"names":[],"mappings":"AA+DA;;;;;;GAMG;AACH,wBAAsB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAuBxE;AAED;;;;;GAKG;AACH,wBAAsB,wBAAwB,IAAI,OAAO,CAAC,MAAM,CAAC,CAoBhE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEjD"}
|
|
@@ -14,6 +14,18 @@ function isMcpExecProcess(pid) {
|
|
|
14
14
|
return false;
|
|
15
15
|
}
|
|
16
16
|
}
|
|
17
|
+
/**
|
|
18
|
+
* Check if a process is orphaned (parent is init/launchd, PID 1)
|
|
19
|
+
*/
|
|
20
|
+
function isOrphanedProcess(pid) {
|
|
21
|
+
try {
|
|
22
|
+
const ppid = execSync(`ps -p ${pid} -o ppid=`, { encoding: 'utf8' }).trim();
|
|
23
|
+
return parseInt(ppid, 10) === 1;
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
17
29
|
/**
|
|
18
30
|
* Get PIDs of processes listening on a specific port
|
|
19
31
|
*/
|
|
@@ -33,8 +45,26 @@ function getProcessesOnPort(port) {
|
|
|
33
45
|
}
|
|
34
46
|
}
|
|
35
47
|
/**
|
|
36
|
-
*
|
|
37
|
-
|
|
48
|
+
* Find all mcp-exec process PIDs system-wide, excluding the current process
|
|
49
|
+
*/
|
|
50
|
+
function getAllMcpExecPids() {
|
|
51
|
+
try {
|
|
52
|
+
const result = execSync(`pgrep -f 'mcp-exec'`, { encoding: 'utf8' }).trim();
|
|
53
|
+
if (!result)
|
|
54
|
+
return [];
|
|
55
|
+
return result
|
|
56
|
+
.split('\n')
|
|
57
|
+
.filter(Boolean)
|
|
58
|
+
.map((pid) => parseInt(pid, 10))
|
|
59
|
+
.filter((pid) => !isNaN(pid) && pid !== process.pid);
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
return [];
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Attempt to clean up stale mcp-exec processes on a specific port.
|
|
67
|
+
* Kills processes that match mcp-exec/meta-mcp in their command line OR are orphaned (PPID=1).
|
|
38
68
|
*
|
|
39
69
|
* @param port - Port number to check for stale processes
|
|
40
70
|
* @returns true if any processes were killed, false otherwise
|
|
@@ -45,7 +75,7 @@ export async function cleanupStaleProcess(port) {
|
|
|
45
75
|
return false;
|
|
46
76
|
let killedAny = false;
|
|
47
77
|
for (const pid of pids) {
|
|
48
|
-
if (isMcpExecProcess(pid)) {
|
|
78
|
+
if (isMcpExecProcess(pid) || isOrphanedProcess(pid)) {
|
|
49
79
|
try {
|
|
50
80
|
process.kill(pid, 'SIGTERM');
|
|
51
81
|
killedAny = true;
|
|
@@ -61,6 +91,31 @@ export async function cleanupStaleProcess(port) {
|
|
|
61
91
|
}
|
|
62
92
|
return killedAny;
|
|
63
93
|
}
|
|
94
|
+
/**
|
|
95
|
+
* Kill all orphaned mcp-exec processes (PPID=1) system-wide.
|
|
96
|
+
* Should be called at startup to clean up leftovers from crashed/closed parent sessions.
|
|
97
|
+
*
|
|
98
|
+
* @returns number of processes killed
|
|
99
|
+
*/
|
|
100
|
+
export async function cleanupOrphanedProcesses() {
|
|
101
|
+
const pids = getAllMcpExecPids();
|
|
102
|
+
let killed = 0;
|
|
103
|
+
for (const pid of pids) {
|
|
104
|
+
if (isOrphanedProcess(pid)) {
|
|
105
|
+
try {
|
|
106
|
+
process.kill(pid, 'SIGTERM');
|
|
107
|
+
killed++;
|
|
108
|
+
}
|
|
109
|
+
catch {
|
|
110
|
+
// Process may have already exited
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
if (killed > 0) {
|
|
115
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
116
|
+
}
|
|
117
|
+
return killed;
|
|
118
|
+
}
|
|
64
119
|
/**
|
|
65
120
|
* Check if a port is currently in use
|
|
66
121
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"port-cleanup.js","sourceRoot":"","sources":["../../src/bridge/port-cleanup.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC;;GAEG;AACH,SAAS,gBAAgB,CAAC,GAAW;IACnC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,QAAQ,CAAC,SAAS,GAAG,cAAc,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAClF,OAAO,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,IAAY;IACtC,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,IAAI,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1E,IAAI,CAAC,MAAM;YAAE,OAAO,EAAE,CAAC;QACvB,OAAO,MAAM;aACV,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,OAAO,CAAC;aACf,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;aAC/B,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,IAAY;IACpD,MAAM,IAAI,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEpC,IAAI,SAAS,GAAG,KAAK,CAAC;IAEtB,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,gBAAgB,CAAC,GAAG,CAAC,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"port-cleanup.js","sourceRoot":"","sources":["../../src/bridge/port-cleanup.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapper-generator.d.ts","sourceRoot":"","sources":["../../src/codegen/wrapper-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AA6LvE;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAuBrF;
|
|
1
|
+
{"version":3,"file":"wrapper-generator.d.ts","sourceRoot":"","sources":["../../src/codegen/wrapper-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AA6LvE;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAuBrF;AA0GD;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAqDpF;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,GAAE,MAAa,GAAG,MAAM,CAyCnH;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,GAAG,MAAM,CA2BnE"}
|
|
@@ -270,17 +270,26 @@ function generateMethodDefinition(tool, serverName, bridgePort) {
|
|
|
270
270
|
lines.push(` if (!response.ok) {`);
|
|
271
271
|
lines.push(' throw new Error(`Tool call failed: ${response.statusText}`);');
|
|
272
272
|
lines.push(` }`);
|
|
273
|
-
lines.push(` const data = await response.json() as { success: boolean; content?: unknown; error?: string };`);
|
|
273
|
+
lines.push(` const data = await response.json() as { success: boolean; content?: unknown; error?: string; isError?: boolean };`);
|
|
274
274
|
lines.push(` if (!data.success) {`);
|
|
275
275
|
lines.push(` throw new Error(data.error || 'Tool call failed');`);
|
|
276
276
|
lines.push(` }`);
|
|
277
|
+
lines.push(` if (data.isError) {`);
|
|
278
|
+
lines.push(` const errText = Array.isArray(data.content) && data.content[0]?.text ? data.content[0].text : 'Tool returned isError';`);
|
|
279
|
+
lines.push(` throw new Error(errText);`);
|
|
280
|
+
lines.push(` }`);
|
|
277
281
|
lines.push(` // Auto-parse JSON from MCP text content blocks for convenience`);
|
|
278
282
|
lines.push(` const content = data.content;`);
|
|
279
283
|
lines.push(` if (Array.isArray(content) && content.length === 1 && content[0]?.type === 'text') {`);
|
|
280
284
|
lines.push(` try {`);
|
|
281
285
|
lines.push(` const parsed = JSON.parse(content[0].text);`);
|
|
286
|
+
lines.push(` // Surface application-level errors (e.g. {success: false, error: "..."}) as thrown errors`);
|
|
287
|
+
lines.push(` if (parsed && typeof parsed === 'object' && parsed.success === false && parsed.error) {`);
|
|
288
|
+
lines.push(` throw new Error(parsed.error);`);
|
|
289
|
+
lines.push(` }`);
|
|
282
290
|
lines.push(` return typeof __guardFields === 'function' ? __guardFields(parsed, ${safeServerName} + '.' + ${safeToolName}) : parsed;`);
|
|
283
|
-
lines.push(` } catch {`);
|
|
291
|
+
lines.push(` } catch (e) {`);
|
|
292
|
+
lines.push(` if (e instanceof Error && !(e instanceof SyntaxError)) throw e;`);
|
|
284
293
|
lines.push(` return content[0].text;`);
|
|
285
294
|
lines.push(` }`);
|
|
286
295
|
lines.push(` }`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrapper-generator.js","sourceRoot":"","sources":["../../src/codegen/wrapper-generator.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"wrapper-generator.js","sourceRoot":"","sources":["../../src/codegen/wrapper-generator.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAYA,cAAc,kBAAkB,CAAC;AAGjC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,oBAAoB,CAAC;AAGnC,cAAc,mBAAmB,CAAC;AAGlC,cAAc,kBAAkB,CAAC;AAGjC,OAAO,EAAE,mBAAmB,EAAE,KAAK,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAG5E,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAE9E,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC9E,OAAO,EAAE,eAAe,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAEjF,eAAO,MAAM,QAAQ,aAAa,CAAC;AACnC,eAAO,MAAM,OAAO,yBAAyB,CAAC;AAe9C;;;;;;GAMG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAInF;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,MAAM,CAAC,EAAE,qBAAqB,GAAG,eAAe,CAE9E"}
|
package/dist/index.js
CHANGED
|
@@ -361,17 +361,26 @@ function generateMethodDefinition(tool, serverName, bridgePort) {
|
|
|
361
361
|
lines.push(` if (!response.ok) {`);
|
|
362
362
|
lines.push(" throw new Error(`Tool call failed: ${response.statusText}`);");
|
|
363
363
|
lines.push(` }`);
|
|
364
|
-
lines.push(` const data = await response.json() as { success: boolean; content?: unknown; error?: string };`);
|
|
364
|
+
lines.push(` const data = await response.json() as { success: boolean; content?: unknown; error?: string; isError?: boolean };`);
|
|
365
365
|
lines.push(` if (!data.success) {`);
|
|
366
366
|
lines.push(` throw new Error(data.error || 'Tool call failed');`);
|
|
367
367
|
lines.push(` }`);
|
|
368
|
+
lines.push(` if (data.isError) {`);
|
|
369
|
+
lines.push(` const errText = Array.isArray(data.content) && data.content[0]?.text ? data.content[0].text : 'Tool returned isError';`);
|
|
370
|
+
lines.push(` throw new Error(errText);`);
|
|
371
|
+
lines.push(` }`);
|
|
368
372
|
lines.push(` // Auto-parse JSON from MCP text content blocks for convenience`);
|
|
369
373
|
lines.push(` const content = data.content;`);
|
|
370
374
|
lines.push(` if (Array.isArray(content) && content.length === 1 && content[0]?.type === 'text') {`);
|
|
371
375
|
lines.push(` try {`);
|
|
372
376
|
lines.push(` const parsed = JSON.parse(content[0].text);`);
|
|
377
|
+
lines.push(` // Surface application-level errors (e.g. {success: false, error: "..."}) as thrown errors`);
|
|
378
|
+
lines.push(` if (parsed && typeof parsed === 'object' && parsed.success === false && parsed.error) {`);
|
|
379
|
+
lines.push(` throw new Error(parsed.error);`);
|
|
380
|
+
lines.push(` }`);
|
|
373
381
|
lines.push(` return typeof __guardFields === 'function' ? __guardFields(parsed, ${safeServerName} + '.' + ${safeToolName}) : parsed;`);
|
|
374
|
-
lines.push(` } catch {`);
|
|
382
|
+
lines.push(` } catch (e) {`);
|
|
383
|
+
lines.push(` if (e instanceof Error && !(e instanceof SyntaxError)) throw e;`);
|
|
375
384
|
lines.push(` return content[0].text;`);
|
|
376
385
|
lines.push(` }`);
|
|
377
386
|
lines.push(` }`);
|
|
@@ -870,6 +879,15 @@ function isMcpExecProcess(pid) {
|
|
|
870
879
|
}
|
|
871
880
|
}
|
|
872
881
|
__name(isMcpExecProcess, "isMcpExecProcess");
|
|
882
|
+
function isOrphanedProcess(pid) {
|
|
883
|
+
try {
|
|
884
|
+
const ppid = execSync(`ps -p ${pid} -o ppid=`, { encoding: "utf8" }).trim();
|
|
885
|
+
return parseInt(ppid, 10) === 1;
|
|
886
|
+
} catch {
|
|
887
|
+
return false;
|
|
888
|
+
}
|
|
889
|
+
}
|
|
890
|
+
__name(isOrphanedProcess, "isOrphanedProcess");
|
|
873
891
|
function getProcessesOnPort(port) {
|
|
874
892
|
try {
|
|
875
893
|
const result = execSync(`lsof -ti :${port}`, { encoding: "utf8" }).trim();
|
|
@@ -881,13 +899,24 @@ function getProcessesOnPort(port) {
|
|
|
881
899
|
}
|
|
882
900
|
}
|
|
883
901
|
__name(getProcessesOnPort, "getProcessesOnPort");
|
|
902
|
+
function getAllMcpExecPids() {
|
|
903
|
+
try {
|
|
904
|
+
const result = execSync(`pgrep -f 'mcp-exec'`, { encoding: "utf8" }).trim();
|
|
905
|
+
if (!result)
|
|
906
|
+
return [];
|
|
907
|
+
return result.split("\n").filter(Boolean).map((pid) => parseInt(pid, 10)).filter((pid) => !isNaN(pid) && pid !== process.pid);
|
|
908
|
+
} catch {
|
|
909
|
+
return [];
|
|
910
|
+
}
|
|
911
|
+
}
|
|
912
|
+
__name(getAllMcpExecPids, "getAllMcpExecPids");
|
|
884
913
|
async function cleanupStaleProcess(port) {
|
|
885
914
|
const pids = getProcessesOnPort(port);
|
|
886
915
|
if (pids.length === 0)
|
|
887
916
|
return false;
|
|
888
917
|
let killedAny = false;
|
|
889
918
|
for (const pid of pids) {
|
|
890
|
-
if (isMcpExecProcess(pid)) {
|
|
919
|
+
if (isMcpExecProcess(pid) || isOrphanedProcess(pid)) {
|
|
891
920
|
try {
|
|
892
921
|
process.kill(pid, "SIGTERM");
|
|
893
922
|
killedAny = true;
|
|
@@ -901,6 +930,24 @@ async function cleanupStaleProcess(port) {
|
|
|
901
930
|
return killedAny;
|
|
902
931
|
}
|
|
903
932
|
__name(cleanupStaleProcess, "cleanupStaleProcess");
|
|
933
|
+
async function cleanupOrphanedProcesses() {
|
|
934
|
+
const pids = getAllMcpExecPids();
|
|
935
|
+
let killed = 0;
|
|
936
|
+
for (const pid of pids) {
|
|
937
|
+
if (isOrphanedProcess(pid)) {
|
|
938
|
+
try {
|
|
939
|
+
process.kill(pid, "SIGTERM");
|
|
940
|
+
killed++;
|
|
941
|
+
} catch {
|
|
942
|
+
}
|
|
943
|
+
}
|
|
944
|
+
}
|
|
945
|
+
if (killed > 0) {
|
|
946
|
+
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
947
|
+
}
|
|
948
|
+
return killed;
|
|
949
|
+
}
|
|
950
|
+
__name(cleanupOrphanedProcesses, "cleanupOrphanedProcesses");
|
|
904
951
|
function isPortInUse(port) {
|
|
905
952
|
return getProcessesOnPort(port).length > 0;
|
|
906
953
|
}
|
|
@@ -1260,6 +1307,34 @@ function isExecuteWithWrappersInput(args2) {
|
|
|
1260
1307
|
return typeof args2 === "object" && args2 !== null && "code" in args2 && typeof args2.code === "string" && "wrappers" in args2 && Array.isArray(args2.wrappers) && args2.wrappers.every((w) => typeof w === "string");
|
|
1261
1308
|
}
|
|
1262
1309
|
__name(isExecuteWithWrappersInput, "isExecuteWithWrappersInput");
|
|
1310
|
+
function wrapUserCodeForReturnCapture(code) {
|
|
1311
|
+
const trimmed = code.trimEnd();
|
|
1312
|
+
if (!trimmed)
|
|
1313
|
+
return code;
|
|
1314
|
+
const lines = trimmed.split("\n");
|
|
1315
|
+
let lastIdx = lines.length - 1;
|
|
1316
|
+
while (lastIdx >= 0) {
|
|
1317
|
+
const t = lines[lastIdx].trim();
|
|
1318
|
+
if (t && !t.startsWith("//") && !t.startsWith("*") && !t.startsWith("/*"))
|
|
1319
|
+
break;
|
|
1320
|
+
lastIdx--;
|
|
1321
|
+
}
|
|
1322
|
+
if (lastIdx < 0)
|
|
1323
|
+
return code;
|
|
1324
|
+
const lastTrimmed = lines[lastIdx].trim();
|
|
1325
|
+
const isStatement = /^(const|let|var|function\s|class\s|import\s|export\s|return\b|throw\b|if\s*\(|else\b|for\s*[\({]|while\s*\(|do\s*\{|switch\s*\(|try\s*\{|catch\s*\(|finally\s*\{|break\b|continue\b|;)/.test(lastTrimmed);
|
|
1326
|
+
if (isStatement)
|
|
1327
|
+
return code;
|
|
1328
|
+
const expr = lastTrimmed.replace(/;$/, "");
|
|
1329
|
+
const indent = lines[lastIdx].match(/^(\s*)/)?.[1] ?? "";
|
|
1330
|
+
lines[lastIdx] = `${indent}const __execResult = await Promise.resolve(${expr});
|
|
1331
|
+
${indent}if (__execResult !== undefined) {
|
|
1332
|
+
${indent} const __out = typeof __execResult === 'string' ? __execResult : JSON.stringify(__execResult, null, 2);
|
|
1333
|
+
${indent} process.stdout.write(__out + '\\n');
|
|
1334
|
+
${indent}}`;
|
|
1335
|
+
return lines.join("\n");
|
|
1336
|
+
}
|
|
1337
|
+
__name(wrapUserCodeForReturnCapture, "wrapUserCodeForReturnCapture");
|
|
1263
1338
|
function getMcpPreamble(bridgePort) {
|
|
1264
1339
|
return `
|
|
1265
1340
|
// MCP helper for calling tools via HTTP bridge
|
|
@@ -1289,7 +1364,18 @@ globalThis.mcp = {
|
|
|
1289
1364
|
__name(getMcpPreamble, "getMcpPreamble");
|
|
1290
1365
|
function createExecuteWithWrappersHandler(pool, config = {}) {
|
|
1291
1366
|
const preferredPort = config.bridgeConfig?.port ?? 3e3;
|
|
1292
|
-
|
|
1367
|
+
let activeBridge = null;
|
|
1368
|
+
async function stopActiveBridge() {
|
|
1369
|
+
if (activeBridge?.isRunning()) {
|
|
1370
|
+
try {
|
|
1371
|
+
await activeBridge.stop();
|
|
1372
|
+
} catch {
|
|
1373
|
+
}
|
|
1374
|
+
}
|
|
1375
|
+
activeBridge = null;
|
|
1376
|
+
}
|
|
1377
|
+
__name(stopActiveBridge, "stopActiveBridge");
|
|
1378
|
+
async function executeWithWrappersHandler(args2) {
|
|
1293
1379
|
const { code, wrappers, timeout_ms = DEFAULT_TIMEOUT_MS } = args2;
|
|
1294
1380
|
if (!code || typeof code !== "string") {
|
|
1295
1381
|
return {
|
|
@@ -1320,6 +1406,7 @@ function createExecuteWithWrappersHandler(pool, config = {}) {
|
|
|
1320
1406
|
...config.bridgeConfig,
|
|
1321
1407
|
port: preferredPort
|
|
1322
1408
|
});
|
|
1409
|
+
activeBridge = bridge;
|
|
1323
1410
|
try {
|
|
1324
1411
|
await bridge.start();
|
|
1325
1412
|
const actualPort = bridge.getPort();
|
|
@@ -1343,12 +1430,13 @@ function createExecuteWithWrappersHandler(pool, config = {}) {
|
|
|
1343
1430
|
const generatedWrappers = wrapperModules.join("\n\n");
|
|
1344
1431
|
const mcpDictionary = generateMcpDictionary(wrappers);
|
|
1345
1432
|
const mcpPreamble = getMcpPreamble(actualPort);
|
|
1433
|
+
const instrumentedCode = wrapUserCodeForReturnCapture(code);
|
|
1346
1434
|
const fullCode = `${generatedWrappers}
|
|
1347
1435
|
|
|
1348
1436
|
${mcpDictionary}
|
|
1349
1437
|
|
|
1350
1438
|
${mcpPreamble}
|
|
1351
|
-
${
|
|
1439
|
+
${instrumentedCode}`;
|
|
1352
1440
|
const sandboxConfig = {
|
|
1353
1441
|
...config.sandboxConfig,
|
|
1354
1442
|
mcpBridgePort: actualPort
|
|
@@ -1356,6 +1444,7 @@ ${code}`;
|
|
|
1356
1444
|
const executor = new SandboxExecutor(sandboxConfig);
|
|
1357
1445
|
result = await executor.execute(fullCode, timeout_ms);
|
|
1358
1446
|
await bridge.stop();
|
|
1447
|
+
activeBridge = null;
|
|
1359
1448
|
return formatResult(result);
|
|
1360
1449
|
} catch (error) {
|
|
1361
1450
|
try {
|
|
@@ -1364,10 +1453,13 @@ ${code}`;
|
|
|
1364
1453
|
}
|
|
1365
1454
|
} catch {
|
|
1366
1455
|
}
|
|
1456
|
+
activeBridge = null;
|
|
1367
1457
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
1368
1458
|
return formatErrorResult(errorMessage, result);
|
|
1369
1459
|
}
|
|
1370
|
-
}
|
|
1460
|
+
}
|
|
1461
|
+
__name(executeWithWrappersHandler, "executeWithWrappersHandler");
|
|
1462
|
+
return { handler: executeWithWrappersHandler, stopActiveBridge };
|
|
1371
1463
|
}
|
|
1372
1464
|
__name(createExecuteWithWrappersHandler, "createExecuteWithWrappersHandler");
|
|
1373
1465
|
function formatResult(result) {
|
|
@@ -1417,7 +1509,7 @@ function createMcpExecServer(pool, config = {}) {
|
|
|
1417
1509
|
});
|
|
1418
1510
|
const listServersHandler = createListServersHandler();
|
|
1419
1511
|
const getToolSchemaHandler = createGetToolSchemaHandler(pool);
|
|
1420
|
-
const executeWithWrappersHandler = createExecuteWithWrappersHandler(pool, config.handlerConfig);
|
|
1512
|
+
const { handler: executeWithWrappersHandler, stopActiveBridge } = createExecuteWithWrappersHandler(pool, config.handlerConfig);
|
|
1421
1513
|
const tools = [
|
|
1422
1514
|
listAvailableMcpServersTool,
|
|
1423
1515
|
getMcpToolSchemaTool,
|
|
@@ -1478,6 +1570,7 @@ function createMcpExecServer(pool, config = {}) {
|
|
|
1478
1570
|
return callToolRequestHandler(request.params);
|
|
1479
1571
|
});
|
|
1480
1572
|
const shutdown = /* @__PURE__ */ __name(async () => {
|
|
1573
|
+
await stopActiveBridge();
|
|
1481
1574
|
}, "shutdown");
|
|
1482
1575
|
return {
|
|
1483
1576
|
server,
|
|
@@ -1491,7 +1584,7 @@ __name(createMcpExecServer, "createMcpExecServer");
|
|
|
1491
1584
|
// dist/index.js
|
|
1492
1585
|
import { ServerPool, createConnection, getServerConfig as getServerConfig2, loadServerManifest as loadServerManifest2 } from "@justanothermldude/meta-mcp-core";
|
|
1493
1586
|
var APP_NAME = "mcp-exec";
|
|
1494
|
-
var VERSION2 = "1.2
|
|
1587
|
+
var VERSION2 = "1.3.2";
|
|
1495
1588
|
var defaultExecutor = null;
|
|
1496
1589
|
function getDefaultExecutor() {
|
|
1497
1590
|
if (!defaultExecutor) {
|
|
@@ -1533,6 +1626,11 @@ Environment:
|
|
|
1533
1626
|
process.exit(0);
|
|
1534
1627
|
}
|
|
1535
1628
|
async function main() {
|
|
1629
|
+
const killed = await cleanupOrphanedProcesses();
|
|
1630
|
+
if (killed > 0) {
|
|
1631
|
+
process.stderr.write(`Cleaned up ${killed} orphaned mcp-exec process(es)
|
|
1632
|
+
`);
|
|
1633
|
+
}
|
|
1536
1634
|
const configPath = process.env.SERVERS_CONFIG;
|
|
1537
1635
|
if (configPath) {
|
|
1538
1636
|
process.stderr.write(`Loading config from: ${configPath}
|
|
@@ -1585,6 +1683,7 @@ export {
|
|
|
1585
1683
|
SandboxExecutor,
|
|
1586
1684
|
VERSION2 as VERSION,
|
|
1587
1685
|
VirtualModuleResolver,
|
|
1686
|
+
cleanupOrphanedProcesses,
|
|
1588
1687
|
cleanupStaleProcess,
|
|
1589
1688
|
createDefaultFilesystemConfig,
|
|
1590
1689
|
createDefaultNetworkConfig,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA;;;;GAIG;AACH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
|
@@ -27,7 +27,7 @@ export function createMcpExecServer(pool, config = {}) {
|
|
|
27
27
|
// Create the get_mcp_tool_schema handler with the pool
|
|
28
28
|
const getToolSchemaHandler = createGetToolSchemaHandler(pool);
|
|
29
29
|
// Create the execute_code_with_wrappers handler with the pool
|
|
30
|
-
const executeWithWrappersHandler = createExecuteWithWrappersHandler(pool, config.handlerConfig);
|
|
30
|
+
const { handler: executeWithWrappersHandler, stopActiveBridge } = createExecuteWithWrappersHandler(pool, config.handlerConfig);
|
|
31
31
|
// Register all tools
|
|
32
32
|
const tools = [
|
|
33
33
|
listAvailableMcpServersTool,
|
|
@@ -89,8 +89,8 @@ export function createMcpExecServer(pool, config = {}) {
|
|
|
89
89
|
return callToolRequestHandler(request.params);
|
|
90
90
|
});
|
|
91
91
|
const shutdown = async () => {
|
|
92
|
-
//
|
|
93
|
-
|
|
92
|
+
// Stop any in-flight bridge so it doesn't keep the event loop alive
|
|
93
|
+
await stopActiveBridge();
|
|
94
94
|
};
|
|
95
95
|
return {
|
|
96
96
|
server,
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GAGvB,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,0BAA0B,EAC1B,oBAAoB,EACpB,2BAA2B,EAC3B,gCAAgC,EAChC,0BAA0B,GAE3B,MAAM,kBAAkB,CAAC;AAE1B,MAAM,OAAO,GAAG,OAAO,CAAC;AAYxB;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAgB,EAAE,SAA8B,EAAE;IACpF,MAAM,MAAM,GAAG,IAAI,MAAM,CACvB;QACE,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;SACV;KACF,CACF,CAAC;IAEF,gDAAgD;IAChD,MAAM,kBAAkB,GAAG,wBAAwB,EAAE,CAAC;IAEtD,uDAAuD;IACvD,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAE9D,8DAA8D;IAC9D,MAAM,0BAA0B,GAAG,gCAAgC,CAAC,IAAI,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -76,7 +76,10 @@ export declare function isExecuteWithWrappersInput(args: unknown): args is Execu
|
|
|
76
76
|
*
|
|
77
77
|
* @param pool - Server pool for MCP connections
|
|
78
78
|
* @param config - Optional handler configuration
|
|
79
|
-
* @returns
|
|
79
|
+
* @returns Object with handler function and stopActiveBridge for graceful shutdown
|
|
80
80
|
*/
|
|
81
|
-
export declare function createExecuteWithWrappersHandler(pool: ServerPool, config?: ExecuteWithWrappersHandlerConfig):
|
|
81
|
+
export declare function createExecuteWithWrappersHandler(pool: ServerPool, config?: ExecuteWithWrappersHandlerConfig): {
|
|
82
|
+
handler: (args: ExecuteWithWrappersInput) => Promise<CallToolResult>;
|
|
83
|
+
stopActiveBridge: () => Promise<void>;
|
|
84
|
+
};
|
|
82
85
|
//# sourceMappingURL=execute-with-wrappers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-with-wrappers.d.ts","sourceRoot":"","sources":["../../src/tools/execute-with-wrappers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAmB,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;CAyBvC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,6CAA6C;IAC7C,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,uCAAuC;IACvC,YAAY,CAAC,EAAE,eAAe,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,wBAAwB,CAU1F;
|
|
1
|
+
{"version":3,"file":"execute-with-wrappers.d.ts","sourceRoot":"","sources":["../../src/tools/execute-with-wrappers.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,kCAAkC,CAAC;AAEnE,OAAO,EAAmB,KAAK,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAa,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGrE;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,qDAAqD;IACrD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,yDAAyD;IACzD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;CAyBvC,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,6CAA6C;IAC7C,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC,uCAAuC;IACvC,YAAY,CAAC,EAAE,eAAe,CAAC;CAChC;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,wBAAwB,CAU1F;AAgFD;;;;;;GAMG;AACH,wBAAgB,gCAAgC,CAC9C,IAAI,EAAE,UAAU,EAChB,MAAM,GAAE,gCAAqC;oBA0BrC,wBAAwB,KAC7B,OAAO,CAAC,cAAc,CAAC;4BAhBS,OAAO,CAAC,IAAI,CAAC;EAkIjD"}
|
|
@@ -42,6 +42,48 @@ export function isExecuteWithWrappersInput(args) {
|
|
|
42
42
|
Array.isArray(args.wrappers) &&
|
|
43
43
|
args.wrappers.every((w) => typeof w === 'string'));
|
|
44
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* REPL-like return value capture: if the last expression of userCode is a bare
|
|
47
|
+
* expression statement (not a declaration or control-flow keyword), transform it
|
|
48
|
+
* to an async IIFE that returns that expression and prints the result.
|
|
49
|
+
*
|
|
50
|
+
* Handles common cases:
|
|
51
|
+
* `42` → prints 42
|
|
52
|
+
* `someVar` → prints value of someVar
|
|
53
|
+
* `await mcp.callTool(...)` → prints result
|
|
54
|
+
*
|
|
55
|
+
* Skips if last statement starts with const/let/var/function/class/return/throw/if/for/…
|
|
56
|
+
*/
|
|
57
|
+
function wrapUserCodeForReturnCapture(code) {
|
|
58
|
+
const trimmed = code.trimEnd();
|
|
59
|
+
if (!trimmed)
|
|
60
|
+
return code;
|
|
61
|
+
const lines = trimmed.split('\n');
|
|
62
|
+
let lastIdx = lines.length - 1;
|
|
63
|
+
// Find last non-empty, non-comment line
|
|
64
|
+
while (lastIdx >= 0) {
|
|
65
|
+
const t = lines[lastIdx].trim();
|
|
66
|
+
if (t && !t.startsWith('//') && !t.startsWith('*') && !t.startsWith('/*'))
|
|
67
|
+
break;
|
|
68
|
+
lastIdx--;
|
|
69
|
+
}
|
|
70
|
+
if (lastIdx < 0)
|
|
71
|
+
return code;
|
|
72
|
+
const lastTrimmed = lines[lastIdx].trim();
|
|
73
|
+
// Skip if it's a statement keyword, declaration, or already a return
|
|
74
|
+
const isStatement = /^(const|let|var|function\s|class\s|import\s|export\s|return\b|throw\b|if\s*\(|else\b|for\s*[\({]|while\s*\(|do\s*\{|switch\s*\(|try\s*\{|catch\s*\(|finally\s*\{|break\b|continue\b|;)/.test(lastTrimmed);
|
|
75
|
+
if (isStatement)
|
|
76
|
+
return code;
|
|
77
|
+
// Strip trailing semicolon from the last expression before wrapping
|
|
78
|
+
const expr = lastTrimmed.replace(/;$/, '');
|
|
79
|
+
const indent = lines[lastIdx].match(/^(\s*)/)?.[1] ?? '';
|
|
80
|
+
lines[lastIdx] = `${indent}const __execResult = await Promise.resolve(${expr});
|
|
81
|
+
${indent}if (__execResult !== undefined) {
|
|
82
|
+
${indent} const __out = typeof __execResult === 'string' ? __execResult : JSON.stringify(__execResult, null, 2);
|
|
83
|
+
${indent} process.stdout.write(__out + '\\n');
|
|
84
|
+
${indent}}`;
|
|
85
|
+
return lines.join('\n');
|
|
86
|
+
}
|
|
45
87
|
/**
|
|
46
88
|
* Generate the MCP helper preamble that provides the global `mcp` object
|
|
47
89
|
* for calling MCP tools via the HTTP bridge
|
|
@@ -77,15 +119,31 @@ globalThis.mcp = {
|
|
|
77
119
|
*
|
|
78
120
|
* @param pool - Server pool for MCP connections
|
|
79
121
|
* @param config - Optional handler configuration
|
|
80
|
-
* @returns
|
|
122
|
+
* @returns Object with handler function and stopActiveBridge for graceful shutdown
|
|
81
123
|
*/
|
|
82
124
|
export function createExecuteWithWrappersHandler(pool, config = {}) {
|
|
83
125
|
// Preferred port (actual port determined at runtime via dynamic allocation)
|
|
84
126
|
const preferredPort = config.bridgeConfig?.port ?? 3000;
|
|
127
|
+
// Track the bridge that is currently running (at most one per handler instance)
|
|
128
|
+
let activeBridge = null;
|
|
129
|
+
/**
|
|
130
|
+
* Stop the currently active bridge, if any. Called during graceful shutdown.
|
|
131
|
+
*/
|
|
132
|
+
async function stopActiveBridge() {
|
|
133
|
+
if (activeBridge?.isRunning()) {
|
|
134
|
+
try {
|
|
135
|
+
await activeBridge.stop();
|
|
136
|
+
}
|
|
137
|
+
catch {
|
|
138
|
+
// Ignore — process is shutting down anyway
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
activeBridge = null;
|
|
142
|
+
}
|
|
85
143
|
/**
|
|
86
144
|
* Execute code with wrappers handler - generates wrappers, composes code, and executes
|
|
87
145
|
*/
|
|
88
|
-
|
|
146
|
+
async function executeWithWrappersHandler(args) {
|
|
89
147
|
const { code, wrappers, timeout_ms = DEFAULT_TIMEOUT_MS } = args;
|
|
90
148
|
// Validate input
|
|
91
149
|
if (!code || typeof code !== 'string') {
|
|
@@ -118,6 +176,7 @@ export function createExecuteWithWrappersHandler(pool, config = {}) {
|
|
|
118
176
|
...config.bridgeConfig,
|
|
119
177
|
port: preferredPort,
|
|
120
178
|
});
|
|
179
|
+
activeBridge = bridge;
|
|
121
180
|
try {
|
|
122
181
|
// Step 1: Start the MCP bridge server (gets dynamic port)
|
|
123
182
|
await bridge.start();
|
|
@@ -149,7 +208,8 @@ export function createExecuteWithWrappersHandler(pool, config = {}) {
|
|
|
149
208
|
const generatedWrappers = wrapperModules.join('\n\n');
|
|
150
209
|
const mcpDictionary = generateMcpDictionary(wrappers);
|
|
151
210
|
const mcpPreamble = getMcpPreamble(actualPort);
|
|
152
|
-
const
|
|
211
|
+
const instrumentedCode = wrapUserCodeForReturnCapture(code);
|
|
212
|
+
const fullCode = `${generatedWrappers}\n\n${mcpDictionary}\n\n${mcpPreamble}\n${instrumentedCode}`;
|
|
153
213
|
// Step 4: Create executor with actual port for sandbox network config
|
|
154
214
|
const sandboxConfig = {
|
|
155
215
|
...config.sandboxConfig,
|
|
@@ -160,6 +220,7 @@ export function createExecuteWithWrappersHandler(pool, config = {}) {
|
|
|
160
220
|
result = await executor.execute(fullCode, timeout_ms);
|
|
161
221
|
// Step 6: Stop the bridge server
|
|
162
222
|
await bridge.stop();
|
|
223
|
+
activeBridge = null;
|
|
163
224
|
// Step 7: Format and return result
|
|
164
225
|
return formatResult(result);
|
|
165
226
|
}
|
|
@@ -173,11 +234,13 @@ export function createExecuteWithWrappersHandler(pool, config = {}) {
|
|
|
173
234
|
catch {
|
|
174
235
|
// Ignore cleanup errors
|
|
175
236
|
}
|
|
237
|
+
activeBridge = null;
|
|
176
238
|
// Return error with any partial output
|
|
177
239
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
178
240
|
return formatErrorResult(errorMessage, result);
|
|
179
241
|
}
|
|
180
|
-
}
|
|
242
|
+
}
|
|
243
|
+
return { handler: executeWithWrappersHandler, stopActiveBridge };
|
|
181
244
|
}
|
|
182
245
|
/**
|
|
183
246
|
* Format a successful execution result
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute-with-wrappers.js","sourceRoot":"","sources":["../../src/tools/execute-with-wrappers.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,eAAe,EAA8B,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,SAAS,EAAwB,MAAM,oBAAoB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAAwB,MAAM,uBAAuB,CAAC;AA8BjF;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,IAAI,EAAE,4BAA4B;IAClC,WAAW,EACT,mGAAmG;QACnG,gGAAgG;QAChG,kEAAkE;IACpE,WAAW,EAAE;QACX,IAAI,EAAE,QAAiB;QACvB,UAAU,EAAE;YACV,IAAI,EAAE;gBACJ,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,2FAA2F;aACzG;YACD,QAAQ,EAAE;gBACR,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;gBACzB,WAAW,EAAE,0DAA0D;aACxE;YACD,UAAU,EAAE;gBACV,IAAI,EAAE,QAAQ;gBACd,WAAW,EAAE,oDAAoD,kBAAkB,GAAG;aACvF;SACF;QACD,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;KAC/B;CACF,CAAC;AAYF;;GAEG;AACH,MAAM,UAAU,0BAA0B,CAAC,IAAa;IACtD,OAAO,CACL,OAAO,IAAI,KAAK,QAAQ;QACxB,IAAI,KAAK,IAAI;QACb,MAAM,IAAI,IAAI;QACd,OAAQ,IAAiC,CAAC,IAAI,KAAK,QAAQ;QAC3D,UAAU,IAAI,IAAI;QAClB,KAAK,CAAC,OAAO,CAAE,IAAiC,CAAC,QAAQ,CAAC;QACzD,IAAiC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,CAChF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,UAAkB;IACxC,OAAO;;;;;;;;;;qDAU4C,UAAU;;;;;;;;;;;;;CAa9D,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,gCAAgC,CAC9C,IAAgB,EAChB,SAA2C,EAAE;IAE7C,4EAA4E;IAC5E,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,EAAE,IAAI,IAAI,IAAI,CAAC;IAExD;;OAEG;IACH,
|
|
1
|
+
{"version":3,"file":"execute-with-wrappers.js","sourceRoot":"","sources":["../../src/tools/execute-with-wrappers.ts"],"names":[],"mappings":"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"}
|