using System.Diagnostics;
namespace MCPForUnity.Editor.Services.Server
{
///
/// Interface for launching commands in platform-specific terminal windows.
/// Supports macOS Terminal, Windows cmd, and Linux terminal emulators.
///
public interface ITerminalLauncher
{
///
/// Creates a ProcessStartInfo for opening a terminal window with the given command.
/// Works cross-platform: macOS, Windows, and Linux.
///
/// The command to execute in the terminal
/// A configured ProcessStartInfo for launching the terminal
ProcessStartInfo CreateTerminalProcessStartInfo(string command);
///
/// Creates a ProcessStartInfo that runs the given command headless (no terminal window),
/// redirecting both stdout and stderr to the given log file.
///
/// The command to execute
/// File that receives the process's stdout and stderr
/// A configured ProcessStartInfo for launching the command in the background
ProcessStartInfo CreateHeadlessProcessStartInfo(string command, string logFilePath);
///
/// Gets the project root path for storing terminal scripts.
///
/// Path to the project root directory
string GetProjectRootPath();
}
}