init project
This commit is contained in:
+39
@@ -0,0 +1,39 @@
|
||||
import { z } from 'zod';
|
||||
import { processManager } from '../../lib/processManager.js';
|
||||
import { errorResult, jsonResult, toErrorMessage } from '../shared.js';
|
||||
export function registerProcessControlTools(server) {
|
||||
server.registerTool('stop_process', {
|
||||
title: 'Stop Process',
|
||||
description: 'Stop a previously started background process (a dev server from start_dev_server, or a backgrounded run_script call).',
|
||||
inputSchema: { processId: z.string() },
|
||||
}, async ({ processId }) => {
|
||||
try {
|
||||
return jsonResult(processManager.stop(processId));
|
||||
}
|
||||
catch (error) {
|
||||
return errorResult(toErrorMessage(error));
|
||||
}
|
||||
});
|
||||
server.registerTool('get_process_logs', {
|
||||
title: 'Get Process Logs',
|
||||
description: 'Fetch buffered stdout/stderr output and current status for a background process started by start_dev_server or run_script.',
|
||||
inputSchema: {
|
||||
processId: z.string(),
|
||||
tail: z.number().int().positive().optional().describe('Only return the last N log lines.'),
|
||||
},
|
||||
}, async ({ processId, tail }) => {
|
||||
try {
|
||||
const { info, logs } = processManager.getLogs(processId, tail);
|
||||
return jsonResult({ ...info, logs });
|
||||
}
|
||||
catch (error) {
|
||||
return errorResult(toErrorMessage(error));
|
||||
}
|
||||
});
|
||||
server.registerTool('list_processes', {
|
||||
title: 'List Processes',
|
||||
description: 'List every background process tracked by this server (dev servers, backgrounded scripts) with their current status.',
|
||||
inputSchema: {},
|
||||
}, async () => jsonResult({ processes: processManager.list() }));
|
||||
}
|
||||
//# sourceMappingURL=processControls.js.map
|
||||
Reference in New Issue
Block a user