Skip to content
View as Markdown

Properties:

  • service AddonProcessesService
  • mouse MouseService
  • keyboard KeyboardService
  • screen ScreenService
  • display DisplayService
  • a11y A11yService
  • recording RecordingService
new ComputerUseService(transport: ComputerUseTransport): ComputerUseService;

Parameters:

  • transport ComputerUseTransport

Returns:

  • ComputerUseService
restart(): Promise<ComputerUseRestartResponse>;

Returns:

  • Promise<ComputerUseRestartResponse>
start(): Promise<ComputerUseLifecycleResponse>;

Returns:

  • Promise<ComputerUseLifecycleResponse>
status(): Promise<ComputerUseStatusResponse>;

Returns:

  • Promise<ComputerUseStatusResponse>
stop(): Promise<ComputerUseLifecycleResponse>;

Returns:

  • Promise<ComputerUseLifecycleResponse>

new AddonProcessesService(transport: ComputerUseTransport): AddonProcessesService;

Parameters:

  • transport ComputerUseTransport

Returns:

  • AddonProcessesService
errors(name: string): Promise<ComputerUseProcessErrorsResponse>;

Parameters:

  • name string

Returns:

  • Promise<ComputerUseProcessErrorsResponse>
logs(name: string): Promise<ComputerUseProcessLogsResponse>;

Parameters:

  • name string

Returns:

  • Promise<ComputerUseProcessLogsResponse>
restart(name: string): Promise<ComputerUseProcessRestartResponse>;

Parameters:

  • name string

Returns:

  • Promise<ComputerUseProcessRestartResponse>
status(): Promise<Record<string, ComputerUseProcessStatus>>;

Returns:

  • Promise<Record<string, ComputerUseProcessStatus>>
status(name: string): Promise<ComputerUseProcessRunningStatus>;

Parameters:

  • name string

Returns:

  • Promise<ComputerUseProcessRunningStatus>
status(
name?: string): Promise<Record<string, ComputerUseProcessStatus> | ComputerUseProcessRunningStatus>;

Parameters:

  • name? string

Returns:

  • Promise<Record<string, ComputerUseProcessStatus> | ComputerUseProcessRunningStatus>

new A11yService(transport: ComputerUseTransport): A11yService;

Parameters:

  • transport ComputerUseTransport

Returns:

  • A11yService
find(request: ComputerUseA11yFindRequest): Promise<ComputerUseA11yFindResponse>;

Parameters:

  • request ComputerUseA11yFindRequest

Returns:

  • Promise<ComputerUseA11yFindResponse>
focus(request: ComputerUseA11yFocusRequest): Promise<void>;

Parameters:

  • request ComputerUseA11yFocusRequest

Returns:

  • Promise<void>
invoke(request: ComputerUseA11yInvokeRequest): Promise<void>;

Parameters:

  • request ComputerUseA11yInvokeRequest

Returns:

  • Promise<void>
setValue(request: ComputerUseA11ySetValueRequest): Promise<void>;

Parameters:

  • request ComputerUseA11ySetValueRequest

Returns:

  • Promise<void>
tree(options: ComputerUseA11yTreeOptions): Promise<ComputerUseA11yTreeResponse>;

Parameters:

  • options ComputerUseA11yTreeOptions

Returns:

  • Promise<ComputerUseA11yTreeResponse>

new DisplayService(transport: ComputerUseTransport): DisplayService;

Parameters:

  • transport ComputerUseTransport

Returns:

  • DisplayService
info(): Promise<ComputerUseDisplayInfoResponse>;

Returns:

  • Promise<ComputerUseDisplayInfoResponse>
windows(): Promise<ComputerUseDisplayWindowsResponse>;

Returns:

  • Promise<ComputerUseDisplayWindowsResponse>

new KeyboardService(transport: ComputerUseTransport): KeyboardService;

Parameters:

  • transport ComputerUseTransport

Returns:

  • KeyboardService
hotkey(request: ComputerUseKeyboardHotkeyRequest): Promise<void>;

Parameters:

  • request ComputerUseKeyboardHotkeyRequest

Returns:

  • Promise<void>
key(request: ComputerUseKeyboardKeyRequest): Promise<void>;

Parameters:

  • request ComputerUseKeyboardKeyRequest

Returns:

  • Promise<void>
type(request: ComputerUseKeyboardTypeRequest): Promise<void>;

Parameters:

  • request ComputerUseKeyboardTypeRequest

Returns:

  • Promise<void>

new MouseService(transport: ComputerUseTransport): MouseService;

Parameters:

  • transport ComputerUseTransport

Returns:

  • MouseService
click(request: ComputerUseMouseClickRequest): Promise<ComputerUsePoint>;

Parameters:

  • request ComputerUseMouseClickRequest

Returns:

  • Promise<ComputerUsePoint>
drag(request: ComputerUseMouseDragRequest): Promise<ComputerUsePoint>;

Parameters:

  • request ComputerUseMouseDragRequest

Returns:

  • Promise<ComputerUsePoint>
move(request: ComputerUseMouseMoveRequest): Promise<ComputerUsePoint>;

Parameters:

  • request ComputerUseMouseMoveRequest

Returns:

  • Promise<ComputerUsePoint>
position(): Promise<ComputerUsePoint>;

Returns:

  • Promise<ComputerUsePoint>
scroll(request: ComputerUseMouseScrollRequest): Promise<ComputerUseScrollResponse>;

Parameters:

  • request ComputerUseMouseScrollRequest

Returns:

  • Promise<ComputerUseScrollResponse>

new RecordingService(transport: ComputerUseTransport): RecordingService;

Parameters:

  • transport ComputerUseTransport

Returns:

  • RecordingService
delete(id: string): Promise<void>;

Parameters:

  • id string

Returns:

  • Promise<void>
download(id: string): Promise<Uint8Array>;

Parameters:

  • id string

Returns:

  • Promise<Uint8Array>
get(id: string): Promise<ComputerUseRecording>;

Parameters:

  • id string

Returns:

  • Promise<ComputerUseRecording>
list(): Promise<ComputerUseRecordingsResponse>;

Returns:

  • Promise<ComputerUseRecordingsResponse>
start(request: ComputerUseRecordingStartRequest = {}): Promise<ComputerUseRecording>;

Parameters:

  • request ComputerUseRecordingStartRequest = {}

Returns:

  • Promise<ComputerUseRecording>
stop(request: ComputerUseRecordingStopRequest): Promise<ComputerUseRecording>;

Parameters:

  • request ComputerUseRecordingStopRequest

Returns:

  • Promise<ComputerUseRecording>

new ScreenService(transport: ComputerUseTransport): ScreenService;

Parameters:

  • transport ComputerUseTransport

Returns:

  • ScreenService
capture(
options: { readonly showCursor?: boolean } = {}): Promise<ComputerUseScreenshotResponse>;

Parameters:

  • options { readonly showCursor?: boolean } = {}

Returns:

  • Promise<ComputerUseScreenshotResponse>
captureCompressed(
options: ComputerUseScreenshotCompressedOptions = {}): Promise<ComputerUseScreenshotResponse>;

Parameters:

  • options ComputerUseScreenshotCompressedOptions = {}

Returns:

  • Promise<ComputerUseScreenshotResponse>
region(
options: ComputerUseScreenshotRegionOptions): Promise<ComputerUseScreenshotResponse>;

Parameters:

  • options ComputerUseScreenshotRegionOptions

Returns:

  • Promise<ComputerUseScreenshotResponse>
regionCompressed(
options: ComputerUseScreenshotRegionCompressedOptions): Promise<ComputerUseScreenshotResponse>;

Parameters:

  • options ComputerUseScreenshotRegionCompressedOptions

Returns:

  • Promise<ComputerUseScreenshotResponse>
screenshot(
options: { readonly showCursor?: boolean } = {}): Promise<ComputerUseScreenshotResponse>;

Parameters:

  • options { readonly showCursor?: boolean } = {}

Returns:

  • Promise<ComputerUseScreenshotResponse>
screenshotCompressed(
options: ComputerUseScreenshotCompressedOptions = {}): Promise<ComputerUseScreenshotResponse>;

Parameters:

  • options ComputerUseScreenshotCompressedOptions = {}

Returns:

  • Promise<ComputerUseScreenshotResponse>
screenshotRegion(
options: ComputerUseScreenshotRegionOptions): Promise<ComputerUseScreenshotResponse>;

Parameters:

  • options ComputerUseScreenshotRegionOptions

Returns:

  • Promise<ComputerUseScreenshotResponse>
screenshotRegionCompressed(
options: ComputerUseScreenshotRegionCompressedOptions): Promise<ComputerUseScreenshotResponse>;

Parameters:

  • options ComputerUseScreenshotRegionCompressedOptions

Returns:

  • Promise<ComputerUseScreenshotResponse>

delete<T>(path: string): Promise<T>;

Parameters:

  • path string

Returns:

  • Promise<T>
get<T>(path: string, config?: { params?: Record<string, unknown> }): Promise<T>;

Parameters:

  • path string
  • config? { params?: Record<string, unknown> }

Returns:

  • Promise<T>
getBytes(path: string): Promise<ArrayBuffer>;

Parameters:

  • path string

Returns:

  • Promise<ArrayBuffer>
post<T>(path: string, body?: unknown): Promise<T>;

Parameters:

  • path string
  • body? unknown

Returns:

  • Promise<T>

type ComputerUseActivityStatus = 'active' | 'inactive' | 'unknown'

type ComputerUseDesktopState = 'not_started' | 'starting' | 'ready' | 'failed' | 'unknown'

type ComputerUseDesktopFailureCode =
| 'desktop_exited'
| 'addon_crashed'
| 'start_failed'
| 'start_interrupted'
| 'session_ended'
| 'session_replaced'
| 'state_corrupt'
| 'state_persistence_failed'
| 'unknown'

Properties:

  • code ComputerUseDesktopFailureCode
  • rawCode string
  • message string
  • extraFields? Record<string, unknown>

Properties:

  • status ‘inactive’
  • desktop ‘failed’
  • cause ComputerUseDesktopFailure
  • extraFields? Record<string, unknown>

Properties:

  • status ‘inactive’
  • desktop ‘not_started’
  • cause? never
  • extraFields? Record<string, unknown>

Properties:

  • status ‘active’
  • desktop ‘ready’
  • cause? never
  • extraFields? Record<string, unknown>

Properties:

  • message string
  • status ‘active’
  • desktop ‘ready’
  • extraFields? Record<string, unknown>

Properties:

  • status ‘inactive’
  • desktop ‘starting’
  • cause? never
  • extraFields? Record<string, unknown>

A (status, desktop) pair this SDK release does not recognize, because a newer daemon added a value or a combination. rawStatus / rawDesktop carry what the daemon sent; the recognized variants need no raw sibling, since their typed values are the wire values.

Properties:

  • status ‘unknown’
  • desktop ‘unknown’
  • rawStatus string
  • rawDesktop string
  • cause? ComputerUseDesktopFailure - The failure the daemon attached to the unrecognized state, when it sent one.
  • extraFields? Record<string, unknown>

Properties:

  • scope ComputerUseA11yScope
  • pid? number
  • role? string
  • name? string
  • nameMatch? ComputerUseA11yNameMatch
  • states? string[]
  • limit? number

Properties:

  • matches ComputerUseAccessibilityNode[]
  • truncated boolean

Properties:

  • id string

Properties:

  • id string
  • action? string

type ComputerUseA11yNameMatch = 'exact' | 'substring' | 'regex'

type ComputerUseA11yScope = 'focused' | 'pid' | 'all'

Properties:

  • id string
  • value string

Properties:

  • scope ComputerUseA11yScope
  • pid? number
  • maxDepth? number

Properties:

  • root ComputerUseAccessibilityNode
  • truncated boolean

Properties:

  • x number
  • y number
  • width number
  • height number

Properties:

  • id string
  • role string
  • name string
  • description? string
  • value? string - A control’s current value (macOS). Never set for password fields.
  • valueTruncated boolean - value was cut at the platform’s cap. false when uncut or not reported; the SDK always fills it.
  • bounds ComputerUseAccessibilityBounds
  • states string[]
  • actions? string[]
  • children? ComputerUseAccessibilityNode[]

Properties:

  • id number
  • x number
  • y number
  • width number
  • height number
  • isActive boolean

Properties:

  • displays ComputerUseDisplay[]

Properties:

  • windows ComputerUseWindow[]

Properties:

  • keys string

Properties:

  • key string
  • modifiers? ComputerUseKeyboardModifier[]

type ComputerUseKeyboardModifier = 'ctrl' | 'alt' | 'shift' | 'cmd'

Properties:

  • text string
  • delay? number

Properties:

  • message string
  • status Record<string, ComputerUseProcessStatus>

type ComputerUseMouseButton = 'left' | 'right' | 'middle'

Properties:

  • x number
  • y number
  • button? ComputerUseMouseButton
  • double? boolean

Properties:

  • startX number
  • startY number
  • endX number
  • endY number
  • button ComputerUseMouseButton

Properties:

  • x number
  • y number

Properties:

  • x number
  • y number
  • direction ComputerUseScrollDirection
  • amount? number

Properties:

  • x number
  • y number

Properties:

  • processName string
  • errors string

Properties:

  • processName string
  • logs string

Properties:

  • message string
  • processName string

Properties:

  • processName string
  • running boolean

Properties:

  • running? boolean
  • priority? number
  • autoRestart? boolean
  • pid? number
  • failed? boolean
  • restartAttempts? number
  • restartBackoffMs? number
  • status? string
  • extraFields? Record<string, unknown>

Properties:

  • id string
  • fileName string
  • filePath string
  • startTime string
  • endTime? string
  • status string
  • durationSeconds? number
  • sizeBytes? number

Properties:

  • recordings ComputerUseRecording[]

Properties:

  • label? string

Properties:

  • id string

Properties:

  • format? ComputerUseScreenshotFormat
  • quality? number
  • scale? number
  • showCursor? boolean

type ComputerUseScreenshotFormat = 'png' | 'jpeg'

ComputerUseScreenshotRegionCompressedOptions

Section titled “ComputerUseScreenshotRegionCompressedOptions”

Properties:

  • x number
  • y number
  • width number
  • height number
  • showCursor? boolean
  • format? ComputerUseScreenshotFormat
  • quality? number
  • scale? number

Properties:

  • x number
  • y number
  • width number
  • height number
  • showCursor? boolean

Properties:

  • screenshot string
  • cursorPosition? ComputerUsePoint
  • sizeBytes? number

type ComputerUseScrollDirection = 'up' | 'down'

Properties:

  • success boolean

type ComputerUseStatusResponse =
| ComputerUseNotStartedStatus
| ComputerUseStartingStatus
| ComputerUseReadyStatus
| ComputerUseFailedStatus
| ComputerUseUnknownStatus

Properties:

  • id number
  • title string
  • x number
  • y number
  • width number
  • height number
  • isActive boolean