Promise Types
APIPromise
A subclass ofPromise providing additional helper methods for interacting with the SDK.
Gets the raw
Response instance instead of parsing the response data.Gets both the parsed response data and the raw
Response instance.PagePromise
A specialized promise for paginated API responses. ExtendsAPIPromise and implements AsyncIterable to support auto-pagination.
Type Signature:
Upload Types
Uploadable
Represents data that can be uploaded to the API. Typically a nativeFile class instance.
Type Definition:
Native browser or Node.js File object
Fetch API Response object
Node.js fs.createReadStream() result
Bun-specific File type
ToFileInput
Input types accepted by thetoFile() utility function.
Type Definition:
Pagination Types
ItemsParams
Parameters for paginated list requests.ID of the item to start after (for forward pagination)
ID of the item to end before (for backward pagination)
Maximum number of items to return per page
AbstractPage
Base class for paginated responses. ImplementsAsyncIterable for easy iteration.
Check if there are more pages available
Fetch the next page of results
Iterate through all pages
Instance Types
ConnectionState
Represents the connection state of an instance client. Type Definition:Initial connection is being established
Successfully connected to the instance
Connection has been closed
Attempting to reconnect after a disconnection
LogLevel
Controls the verbosity of logging in clients. Type Definition:No logging output
Only log errors
Log warnings and errors
Log informational messages, warnings, and errors (default)
Log all messages including debug information
InstanceClientOptions
Configuration options for creating an instance client.The URL of the ADB WebSocket endpoint
The URL of the main endpoint WebSocket
Authentication token for WebSocket connections
Path to the ADB executable
Controls logging verbosity
Maximum number of reconnection attempts
Initial reconnection delay in milliseconds
Maximum reconnection delay in milliseconds
iOS-Specific Types
AccessibilitySelector
Selector criteria for finding accessibility elements on iOS.Match by AXUniqueId (accessibilityIdentifier) - exact match
Match by AXLabel - exact match
Match by AXLabel - contains (case-insensitive)
Match by element type/role (e.g., “Button”, “TextField”) - case-insensitive
Match by title - exact match
Match by title - contains (case-insensitive)
Match by AXValue - exact match
ScreenshotData
Result from taking a screenshot.Base64-encoded JPEG image data
Width in points (for tap coordinates)
Height in points (for tap coordinates)
InstalledApp
Information about an installed iOS app.The app’s bundle identifier
The app’s display name
How the app was installed (e.g., “User”, “System”)
Sandbox Types
XcodeBuildConfig
Build configuration for xcodebuild command.Path to the .xcworkspace file
Path to the .xcodeproj file
Build scheme to use
SyncOptions
Options for syncing source code to the sandbox.Cache scoping key for delta basis caching
Directory for storing delta sync cache
Maximum patch size before falling back to full upload
If true, watch the folder and re-sync on changes
Filter function to include/exclude files and directories
SimulatorConfig
Simulator connection details for configuring the sandbox.The API URL of the simulator (limulator)
Auth token for the simulator. If not provided, uses the sandbox token
Tunnel Types
Tunnel
Represents an active TCP tunnel.Local address and port of the tunnel
Close the tunnel
Get current WebSocket connection state
Register callback for connection state changes. Returns unregister function.
TunnelConnectionState
Connection state of a tunnel. Type Definition:TunnelMode
Tunnel mode for TCP connections. Type Definition:Single TCP connection forwarded to WebSocket (default)
Multiple TCP connections multiplexed over a single WebSocket
Execution Types
ExecRequest
Request parameters for executing commands.The command to execute
Configuration for xcodebuild command
ExecResult
Result of a command execution.Process exit code
Unique execution identifier
Execution status
Client Options
ClientOptions
Configuration options for the main Limrun client.API key for authentication. Defaults to
process.env['LIM_API_KEY']Override the default base URL. Defaults to
process.env['LIMRUN_BASE_URL']Maximum time in milliseconds to wait for a response
Maximum number of retry attempts for failed requests
Custom fetch function implementation
Additional options passed to fetch calls
Custom logger instance
Controls SDK logging verbosity