UNPKG

@wonderwhy-er/desktop-commander

Version:

MCP server for terminal operations and file editing

44 lines (43 loc) 1.65 kB
import { commandManager } from '../command-manager.js'; import { BlockCommandArgsSchema, UnblockCommandArgsSchema } from '../tools/schemas.js'; /** * Handle block_command command */ export async function handleBlockCommand(args) { const parsed = BlockCommandArgsSchema.parse(args); const blockResult = await commandManager.blockCommand(parsed.command); // Convert boolean result to appropriate message string const message = blockResult ? `Successfully blocked command: ${parsed.command}` : `Command is already blocked: ${parsed.command}`; return { content: [{ type: "text", text: message }], }; } /** * Handle unblock_command command */ export async function handleUnblockCommand(args) { const parsed = UnblockCommandArgsSchema.parse(args); const unblockResult = await commandManager.unblockCommand(parsed.command); // Convert boolean result to appropriate message string const message = unblockResult ? `Successfully unblocked command: ${parsed.command}` : `Command is not blocked or doesn't exist: ${parsed.command}`; return { content: [{ type: "text", text: message }], }; } /** * Handle list_blocked_commands command */ export function handleListBlockedCommands() { const blockedCommands = commandManager.listBlockedCommands(); // Create appropriate message based on whether there are blocked commands const message = blockedCommands.length > 0 ? `Blocked commands:\n${blockedCommands.join('\n')}` : "No commands are currently blocked."; return { content: [{ type: "text", text: message }], }; }