mcp-appium-visual
Version:
MCP Server for Appium mobile automation with visual recovery
118 lines • 4.28 kB
TypeScript
import { ChildProcess } from "child_process";
/**
* Custom error class for Xcode operations
*/
export declare class XcodeError extends Error {
readonly cause?: Error | undefined;
constructor(message: string, cause?: Error | undefined);
}
/**
* Helper class for Xcode command line operations
*/
export declare class XcodeCommands {
/**
* Check if Xcode command line tools are installed
* @returns true if installed, false otherwise
*/
static isXcodeCliInstalled(): Promise<boolean>;
/**
* Get the Xcode path
* @returns Path to the Xcode installation
*/
static getXcodePath(): Promise<string>;
/**
* Install Xcode command line tools
* @returns Promise that resolves when installation is complete or rejects on error
* Note: This will show a GUI prompt that the user needs to interact with
*/
static installXcodeCli(): Promise<void>;
/**
* Get a list of iOS simulators
* @returns Array of available simulators
*/
static getIosSimulators(): Promise<any[]>;
/**
* Boot an iOS simulator
* @param udid The UDID of the simulator to boot
* @returns Promise that resolves when simulator is booted
*/
static bootSimulator(udid: string): Promise<void>;
/**
* Shutdown an iOS simulator
* @param udid The UDID of the simulator to shutdown
*/
static shutdownSimulator(udid: string): Promise<void>;
/**
* Install an app on a simulator
* @param udid The UDID of the simulator
* @param appPath Path to the .app bundle
*/
static installApp(udid: string, appPath: string): Promise<void>;
/**
* Uninstall an app from a simulator
* @param udid The UDID of the simulator
* @param bundleId Bundle identifier of the app
*/
static uninstallApp(udid: string, bundleId: string): Promise<void>;
/**
* Launch an app on a simulator
* @param udid The UDID of the simulator
* @param bundleId Bundle identifier of the app
* @returns Process object if the app is launched in foreground mode
*/
static launchApp(udid: string, bundleId: string, args?: string[], waitForDebugger?: boolean): Promise<ChildProcess | null>;
/**
* Terminate an app on a simulator
* @param udid The UDID of the simulator
* @param bundleId Bundle identifier of the app
*/
static terminateApp(udid: string, bundleId: string): Promise<void>;
/**
* Open a URL on a simulator
* @param udid The UDID of the simulator
* @param url The URL to open
*/
static openUrl(udid: string, url: string): Promise<void>;
/**
* Take a screenshot of a simulator
* @param udid The UDID of the simulator
* @param outputPath Path where screenshot should be saved
*/
static takeScreenshot(udid: string, outputPath: string): Promise<void>;
/**
* Record a video of a simulator
* @param udid The UDID of the simulator
* @param outputPath Path where the video should be saved
* @returns Process object to control recording (must be terminated to stop recording)
*/
static recordVideo(udid: string, outputPath: string): ChildProcess;
/**
* Get the status of all simulators
* @returns Object with simulator status information
*/
static getSimulatorStatus(): Promise<any>;
/**
* Create a new simulator
* @param name Name for the new simulator
* @param deviceTypeId Device type identifier (e.g., "iPhone11,8")
* @param runtimeId Runtime identifier (e.g., "com.apple.CoreSimulator.SimRuntime.iOS-14-0")
* @returns UDID of the created simulator
*/
static createSimulator(name: string, deviceTypeId: string, runtimeId: string): Promise<string>;
/**
* Delete a simulator
* @param udid The UDID of the simulator to delete
*/
static deleteSimulator(udid: string): Promise<void>;
/**
* Get available device types for simulators
* @returns List of available device types
*/
static getDeviceTypes(): Promise<any[]>;
/**
* Get available runtimes for simulators
* @returns List of available runtimes
*/
static getRuntimes(): Promise<any[]>;
}
//# sourceMappingURL=xcodeCommands.d.ts.map