appium-remote-debugger
Version:
Appium proxy for Remote Debugger protocol
93 lines • 4.39 kB
TypeScript
import type { RawRemoteCommand, RemoteCommandOpts, ProtocolCommandOpts, AppIdKey, PageIdKey, RemoteCommandId } from '../types';
/**
* Generates remote commands for communicating with the Web Inspector.
* Provides methods for creating various types of commands including connection
* setup, application management, and protocol commands.
*/
export declare class RemoteMessages {
/**
* Creates a command to set the connection key for the Web Inspector session.
*
* @param connId - The connection identifier.
* @returns A RawRemoteCommand for setting the connection key.
*/
setConnectionKey(connId: string): RawRemoteCommand;
/**
* Creates a command to connect to a specific application.
*
* @param connId - The connection identifier.
* @param appIdKey - The application identifier key.
* @returns A RawRemoteCommand for connecting to the application.
*/
connectToApp(connId: string, appIdKey: AppIdKey): RawRemoteCommand;
/**
* Creates a command to set the sender key for message routing.
*
* @param connId - The connection identifier.
* @param senderId - The sender identifier.
* @param appIdKey - The application identifier key.
* @param pageIdKey - Optional page identifier key.
* @returns A RawRemoteCommand for setting the sender key.
*/
setSenderKey(connId: string, senderId: string, appIdKey: AppIdKey, pageIdKey?: PageIdKey): RawRemoteCommand;
/**
* Creates a command to indicate web view status.
*
* @param connId - The connection identifier.
* @param appIdKey - The application identifier key.
* @param pageIdKey - Optional page identifier key.
* @param enabled - Whether the web view indication is enabled. Defaults to true if not provided.
* @returns A RawRemoteCommand for indicating web view status.
*/
indicateWebView(connId: string, appIdKey: AppIdKey, pageIdKey?: PageIdKey, enabled?: boolean): RawRemoteCommand;
/**
* Creates a command to launch an application.
*
* @param bundleId - The bundle identifier of the application to launch.
* @returns A RawRemoteCommand for launching the application.
*/
launchApplication(bundleId: string): RawRemoteCommand;
/**
* Creates a full command with all default parameters included.
* This includes objectGroup, includeCommandLineAPI, and other runtime options.
*
* @param opts - Options combining RemoteCommandOpts and ProtocolCommandOpts.
* @returns A RawRemoteCommand with full parameter set.
*/
getFullCommand(opts: RemoteCommandOpts & ProtocolCommandOpts): RawRemoteCommand;
/**
* Creates a minimal command with only the essential parameters.
* This is the default command type for most operations.
*
* @param opts - Options combining RemoteCommandOpts and ProtocolCommandOpts.
* @returns A RawRemoteCommand with minimal parameter set.
*/
getMinimalCommand(opts: RemoteCommandOpts & ProtocolCommandOpts): RawRemoteCommand;
/**
* Creates a direct command that bypasses the Target.sendMessageToTarget wrapper.
* Used for certain Target domain commands.
*
* @param opts - Options combining RemoteCommandOpts and ProtocolCommandOpts.
* @returns A RawRemoteCommand for direct protocol communication.
*/
getDirectCommand(opts: RemoteCommandOpts & ProtocolCommandOpts): RawRemoteCommand;
/**
* Gets a remote command based on the command name and options.
* Handles both Safari Web Inspector commands and WebKit protocol commands.
*
* @param command - The command name (e.g., 'setConnectionKey', 'Runtime.evaluate').
* @param opts - Options for the command.
* @returns A RawRemoteCommand appropriate for the given command.
* @throws Error if required parameters are missing for specific commands.
*/
getRemoteCommand(command: string, opts: RemoteCommandOpts & RemoteCommandId): RawRemoteCommand;
}
/**
* Checks if a command should use the direct command format.
* Direct commands bypass the Target.sendMessageToTarget wrapper.
*
* @param command - The command name to check.
* @returns True if the command should use direct format, false otherwise.
*/
export declare function isDirectCommand(command: string): boolean;
//# sourceMappingURL=remote-messages.d.ts.map