@wonderwhy-er/desktop-commander
Version:
MCP server for terminal operations and file editing
64 lines (63 loc) • 2.17 kB
TypeScript
/**
* Client-side utility for interacting with the REPL functionality
*/
interface ApiClient {
executeCommand: (command: string, params?: any) => Promise<any>;
}
interface ExecuteOptions {
timeout?: number;
stopOnError?: boolean;
}
export declare class REPLClient {
private apiClient;
private sessions;
constructor(apiClient: ApiClient);
/**
* Create a new REPL session for a specific language
* @param language - Language for the REPL (python, node, bash)
* @param options - Optional configuration
* @returns Session information
*/
createSession(language: string, options?: Record<string, any>): Promise<any>;
/**
* Execute code in an existing REPL session
* @param pid - Process ID of the session
* @param code - Code to execute
* @param options - Optional execution options
* @returns Execution results
*/
executeCode(pid: number, code: string, options?: ExecuteOptions): Promise<any>;
/**
* List all active REPL sessions
* @returns List of active sessions
*/
listSessions(): Promise<any>;
/**
* Close a specific REPL session
* @param pid - Process ID to close
* @returns Result indicating success
*/
closeSession(pid: number): Promise<any>;
/**
* Close all idle REPL sessions
* @param maxIdleMs - Maximum idle time in milliseconds
* @returns Result with number of closed sessions
*/
closeIdleSessions(maxIdleMs?: number): Promise<any>;
/**
* Execute a multi-line code block in the appropriate REPL session
* @param codeBlock - Code block with language marker
* @param options - Optional execution options
* @returns Execution results
*/
executeCodeBlock(codeBlock: string, options?: ExecuteOptions): Promise<any>;
/**
* Run a simple one-liner code snippet
* @param language - The programming language
* @param code - Code to execute (single line)
* @param options - Optional execution options
* @returns Execution results
*/
runSnippet(language: string, code: string, options?: ExecuteOptions): Promise<any>;
}
export {};