--- title: "ComputerUse" hideTitleOnPage: true --- ## ComputerUseService **Properties**: - `service` _AddonProcessesService_ - `mouse` _MouseService_ - `keyboard` _KeyboardService_ - `screen` _ScreenService_ - `display` _DisplayService_ - `a11y` _A11yService_ - `recording` _RecordingService_ ### Constructors #### Constructor ```ts new ComputerUseService(transport: ComputerUseTransport): ComputerUseService; ``` **Parameters**: - `transport` _ComputerUseTransport_ **Returns**: - `ComputerUseService` ### Methods #### restart() ```ts restart(): Promise; ``` **Returns**: - `Promise` #### start() ```ts start(): Promise; ``` **Returns**: - `Promise` #### status() ```ts status(): Promise; ``` **Returns**: - `Promise` #### stop() ```ts stop(): Promise; ``` **Returns**: - `Promise` *** ## AddonProcessesService ### Constructors #### Constructor ```ts new AddonProcessesService(transport: ComputerUseTransport): AddonProcessesService; ``` **Parameters**: - `transport` _ComputerUseTransport_ **Returns**: - `AddonProcessesService` ### Methods #### errors() ```ts errors(name: string): Promise; ``` **Parameters**: - `name` _string_ **Returns**: - `Promise` #### logs() ```ts logs(name: string): Promise; ``` **Parameters**: - `name` _string_ **Returns**: - `Promise` #### restart() ```ts restart(name: string): Promise; ``` **Parameters**: - `name` _string_ **Returns**: - `Promise` #### status() ```ts status(): Promise>; ``` **Returns**: - `Promise>` #### status() ```ts status(name: string): Promise; ``` **Parameters**: - `name` _string_ **Returns**: - `Promise` #### status() ```ts status( name?: string): Promise | ComputerUseProcessRunningStatus>; ``` **Parameters**: - `name?` _string_ **Returns**: - `Promise | ComputerUseProcessRunningStatus>` *** ## A11yService ### Constructors #### Constructor ```ts new A11yService(transport: ComputerUseTransport): A11yService; ``` **Parameters**: - `transport` _ComputerUseTransport_ **Returns**: - `A11yService` ### Methods #### find() ```ts find(request: ComputerUseA11yFindRequest): Promise; ``` **Parameters**: - `request` _ComputerUseA11yFindRequest_ **Returns**: - `Promise` #### focus() ```ts focus(request: ComputerUseA11yFocusRequest): Promise; ``` **Parameters**: - `request` _ComputerUseA11yFocusRequest_ **Returns**: - `Promise` #### invoke() ```ts invoke(request: ComputerUseA11yInvokeRequest): Promise; ``` **Parameters**: - `request` _ComputerUseA11yInvokeRequest_ **Returns**: - `Promise` #### setValue() ```ts setValue(request: ComputerUseA11ySetValueRequest): Promise; ``` **Parameters**: - `request` _ComputerUseA11ySetValueRequest_ **Returns**: - `Promise` #### tree() ```ts tree(options: ComputerUseA11yTreeOptions): Promise; ``` **Parameters**: - `options` _ComputerUseA11yTreeOptions_ **Returns**: - `Promise` *** ## DisplayService ### Constructors #### Constructor ```ts new DisplayService(transport: ComputerUseTransport): DisplayService; ``` **Parameters**: - `transport` _ComputerUseTransport_ **Returns**: - `DisplayService` ### Methods #### info() ```ts info(): Promise; ``` **Returns**: - `Promise` #### windows() ```ts windows(): Promise; ``` **Returns**: - `Promise` *** ## KeyboardService ### Constructors #### Constructor ```ts new KeyboardService(transport: ComputerUseTransport): KeyboardService; ``` **Parameters**: - `transport` _ComputerUseTransport_ **Returns**: - `KeyboardService` ### Methods #### hotkey() ```ts hotkey(request: ComputerUseKeyboardHotkeyRequest): Promise; ``` **Parameters**: - `request` _ComputerUseKeyboardHotkeyRequest_ **Returns**: - `Promise` #### key() ```ts key(request: ComputerUseKeyboardKeyRequest): Promise; ``` **Parameters**: - `request` _ComputerUseKeyboardKeyRequest_ **Returns**: - `Promise` #### type() ```ts type(request: ComputerUseKeyboardTypeRequest): Promise; ``` **Parameters**: - `request` _ComputerUseKeyboardTypeRequest_ **Returns**: - `Promise` *** ## MouseService ### Constructors #### Constructor ```ts new MouseService(transport: ComputerUseTransport): MouseService; ``` **Parameters**: - `transport` _ComputerUseTransport_ **Returns**: - `MouseService` ### Methods #### click() ```ts click(request: ComputerUseMouseClickRequest): Promise; ``` **Parameters**: - `request` _ComputerUseMouseClickRequest_ **Returns**: - `Promise` #### drag() ```ts drag(request: ComputerUseMouseDragRequest): Promise; ``` **Parameters**: - `request` _ComputerUseMouseDragRequest_ **Returns**: - `Promise` #### move() ```ts move(request: ComputerUseMouseMoveRequest): Promise; ``` **Parameters**: - `request` _ComputerUseMouseMoveRequest_ **Returns**: - `Promise` #### position() ```ts position(): Promise; ``` **Returns**: - `Promise` #### scroll() ```ts scroll(request: ComputerUseMouseScrollRequest): Promise; ``` **Parameters**: - `request` _ComputerUseMouseScrollRequest_ **Returns**: - `Promise` *** ## RecordingService ### Constructors #### Constructor ```ts new RecordingService(transport: ComputerUseTransport): RecordingService; ``` **Parameters**: - `transport` _ComputerUseTransport_ **Returns**: - `RecordingService` ### Methods #### delete() ```ts delete(id: string): Promise; ``` **Parameters**: - `id` _string_ **Returns**: - `Promise` #### download() ```ts download(id: string): Promise; ``` **Parameters**: - `id` _string_ **Returns**: - `Promise` #### get() ```ts get(id: string): Promise; ``` **Parameters**: - `id` _string_ **Returns**: - `Promise` #### list() ```ts list(): Promise; ``` **Returns**: - `Promise` #### start() ```ts start(request: ComputerUseRecordingStartRequest = {}): Promise; ``` **Parameters**: - `request` _ComputerUseRecordingStartRequest = \{\}_ **Returns**: - `Promise` #### stop() ```ts stop(request: ComputerUseRecordingStopRequest): Promise; ``` **Parameters**: - `request` _ComputerUseRecordingStopRequest_ **Returns**: - `Promise` *** ## ScreenService ### Constructors #### Constructor ```ts new ScreenService(transport: ComputerUseTransport): ScreenService; ``` **Parameters**: - `transport` _ComputerUseTransport_ **Returns**: - `ScreenService` ### Methods #### capture() ```ts capture( options: { readonly showCursor?: boolean } = {}): Promise; ``` **Parameters**: - `options` _\{ readonly showCursor?: boolean \} = \{\}_ **Returns**: - `Promise` #### captureCompressed() ```ts captureCompressed( options: ComputerUseScreenshotCompressedOptions = {}): Promise; ``` **Parameters**: - `options` _ComputerUseScreenshotCompressedOptions = \{\}_ **Returns**: - `Promise` #### region() ```ts region( options: ComputerUseScreenshotRegionOptions): Promise; ``` **Parameters**: - `options` _ComputerUseScreenshotRegionOptions_ **Returns**: - `Promise` #### regionCompressed() ```ts regionCompressed( options: ComputerUseScreenshotRegionCompressedOptions): Promise; ``` **Parameters**: - `options` _ComputerUseScreenshotRegionCompressedOptions_ **Returns**: - `Promise` #### screenshot() ```ts screenshot( options: { readonly showCursor?: boolean } = {}): Promise; ``` **Parameters**: - `options` _\{ readonly showCursor?: boolean \} = \{\}_ **Returns**: - `Promise` #### screenshotCompressed() ```ts screenshotCompressed( options: ComputerUseScreenshotCompressedOptions = {}): Promise; ``` **Parameters**: - `options` _ComputerUseScreenshotCompressedOptions = \{\}_ **Returns**: - `Promise` #### screenshotRegion() ```ts screenshotRegion( options: ComputerUseScreenshotRegionOptions): Promise; ``` **Parameters**: - `options` _ComputerUseScreenshotRegionOptions_ **Returns**: - `Promise` #### screenshotRegionCompressed() ```ts screenshotRegionCompressed( options: ComputerUseScreenshotRegionCompressedOptions): Promise; ``` **Parameters**: - `options` _ComputerUseScreenshotRegionCompressedOptions_ **Returns**: - `Promise` *** ## ComputerUseTransport ### Methods #### delete() ```ts delete(path: string): Promise; ``` **Parameters**: - `path` _string_ **Returns**: - `Promise` #### get() ```ts get(path: string, config?: { params?: Record }): Promise; ``` **Parameters**: - `path` _string_ - `config?` _\{ params?: Record\ \}_ **Returns**: - `Promise` #### getBytes() ```ts getBytes(path: string): Promise; ``` **Parameters**: - `path` _string_ **Returns**: - `Promise` #### post() ```ts post(path: string, body?: unknown): Promise; ``` **Parameters**: - `path` _string_ - `body?` _unknown_ **Returns**: - `Promise` *** ## ComputerUseActivityStatus ```ts type ComputerUseActivityStatus = 'active' | 'inactive' | 'unknown' ``` *** ## ComputerUseDesktopState ```ts type ComputerUseDesktopState = 'not_started' | 'starting' | 'ready' | 'failed' | 'unknown' ``` *** ## ComputerUseDesktopFailureCode ```ts type ComputerUseDesktopFailureCode = | 'desktop_exited' | 'addon_crashed' | 'start_failed' | 'start_interrupted' | 'session_ended' | 'session_replaced' | 'state_corrupt' | 'state_persistence_failed' | 'unknown' ``` *** ## ComputerUseDesktopFailure **Properties**: - `code` _ComputerUseDesktopFailureCode_ - `rawCode` _string_ - `message` _string_ - `extraFields?` _Record\_ *** ## ComputerUseFailedStatus **Properties**: - `status` _'inactive'_ - `desktop` _'failed'_ - `cause` _ComputerUseDesktopFailure_ - `extraFields?` _Record\_ *** ## ComputerUseNotStartedStatus **Properties**: - `status` _'inactive'_ - `desktop` _'not_started'_ - `cause?` _never_ - `extraFields?` _Record\_ *** ## ComputerUseReadyStatus **Properties**: - `status` _'active'_ - `desktop` _'ready'_ - `cause?` _never_ - `extraFields?` _Record\_ *** ## ComputerUseRestartResponse **Properties**: - `message` _string_ - `status` _'active'_ - `desktop` _'ready'_ - `extraFields?` _Record\_ *** ## ComputerUseStartingStatus **Properties**: - `status` _'inactive'_ - `desktop` _'starting'_ - `cause?` _never_ - `extraFields?` _Record\_ *** ## ComputerUseUnknownStatus 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\_ *** ## ComputerUseA11yFindRequest **Properties**: - `scope` _ComputerUseA11yScope_ - `pid?` _number_ - `role?` _string_ - `name?` _string_ - `nameMatch?` _ComputerUseA11yNameMatch_ - `states?` _string\[\]_ - `limit?` _number_ *** ## ComputerUseA11yFindResponse **Properties**: - `matches` _ComputerUseAccessibilityNode\[\]_ - `truncated` _boolean_ *** ## ComputerUseA11yFocusRequest **Properties**: - `id` _string_ *** ## ComputerUseA11yInvokeRequest **Properties**: - `id` _string_ - `action?` _string_ *** ## ComputerUseA11yNameMatch ```ts type ComputerUseA11yNameMatch = 'exact' | 'substring' | 'regex' ``` *** ## ComputerUseA11yScope ```ts type ComputerUseA11yScope = 'focused' | 'pid' | 'all' ``` *** ## ComputerUseA11ySetValueRequest **Properties**: - `id` _string_ - `value` _string_ *** ## ComputerUseA11yTreeOptions **Properties**: - `scope` _ComputerUseA11yScope_ - `pid?` _number_ - `maxDepth?` _number_ *** ## ComputerUseA11yTreeResponse **Properties**: - `root` _ComputerUseAccessibilityNode_ - `truncated` _boolean_ *** ## ComputerUseAccessibilityBounds **Properties**: - `x` _number_ - `y` _number_ - `width` _number_ - `height` _number_ *** ## ComputerUseAccessibilityNode **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\[\]_ *** ## ComputerUseDisplay **Properties**: - `id` _number_ - `x` _number_ - `y` _number_ - `width` _number_ - `height` _number_ - `isActive` _boolean_ *** ## ComputerUseDisplayInfoResponse **Properties**: - `displays` _ComputerUseDisplay\[\]_ *** ## ComputerUseDisplayWindowsResponse **Properties**: - `windows` _ComputerUseWindow\[\]_ *** ## ComputerUseKeyboardHotkeyRequest **Properties**: - `keys` _string_ *** ## ComputerUseKeyboardKeyRequest **Properties**: - `key` _string_ - `modifiers?` _ComputerUseKeyboardModifier\[\]_ *** ## ComputerUseKeyboardModifier ```ts type ComputerUseKeyboardModifier = 'ctrl' | 'alt' | 'shift' | 'cmd' ``` *** ## ComputerUseKeyboardTypeRequest **Properties**: - `text` _string_ - `delay?` _number_ *** ## ComputerUseLifecycleResponse **Properties**: - `message` _string_ - `status` _Record\_ *** ## ComputerUseMouseButton ```ts type ComputerUseMouseButton = 'left' | 'right' | 'middle' ``` *** ## ComputerUseMouseClickRequest **Properties**: - `x` _number_ - `y` _number_ - `button?` _ComputerUseMouseButton_ - `double?` _boolean_ *** ## ComputerUseMouseDragRequest **Properties**: - `startX` _number_ - `startY` _number_ - `endX` _number_ - `endY` _number_ - `button` _ComputerUseMouseButton_ *** ## ComputerUseMouseMoveRequest **Properties**: - `x` _number_ - `y` _number_ *** ## ComputerUseMouseScrollRequest **Properties**: - `x` _number_ - `y` _number_ - `direction` _ComputerUseScrollDirection_ - `amount?` _number_ *** ## ComputerUsePoint **Properties**: - `x` _number_ - `y` _number_ *** ## ComputerUseProcessErrorsResponse **Properties**: - `processName` _string_ - `errors` _string_ *** ## ComputerUseProcessLogsResponse **Properties**: - `processName` _string_ - `logs` _string_ *** ## ComputerUseProcessRestartResponse **Properties**: - `message` _string_ - `processName` _string_ *** ## ComputerUseProcessRunningStatus **Properties**: - `processName` _string_ - `running` _boolean_ *** ## ComputerUseProcessStatus **Properties**: - `running?` _boolean_ - `priority?` _number_ - `autoRestart?` _boolean_ - `pid?` _number_ - `failed?` _boolean_ - `restartAttempts?` _number_ - `restartBackoffMs?` _number_ - `status?` _string_ - `extraFields?` _Record\_ *** ## ComputerUseRecording **Properties**: - `id` _string_ - `fileName` _string_ - `filePath` _string_ - `startTime` _string_ - `endTime?` _string_ - `status` _string_ - `durationSeconds?` _number_ - `sizeBytes?` _number_ *** ## ComputerUseRecordingsResponse **Properties**: - `recordings` _ComputerUseRecording\[\]_ *** ## ComputerUseRecordingStartRequest **Properties**: - `label?` _string_ *** ## ComputerUseRecordingStopRequest **Properties**: - `id` _string_ *** ## ComputerUseScreenshotCompressedOptions **Properties**: - `format?` _ComputerUseScreenshotFormat_ - `quality?` _number_ - `scale?` _number_ - `showCursor?` _boolean_ *** ## ComputerUseScreenshotFormat ```ts type ComputerUseScreenshotFormat = 'png' | 'jpeg' ``` *** ## ComputerUseScreenshotRegionCompressedOptions **Properties**: - `x` _number_ - `y` _number_ - `width` _number_ - `height` _number_ - `showCursor?` _boolean_ - `format?` _ComputerUseScreenshotFormat_ - `quality?` _number_ - `scale?` _number_ *** ## ComputerUseScreenshotRegionOptions **Properties**: - `x` _number_ - `y` _number_ - `width` _number_ - `height` _number_ - `showCursor?` _boolean_ *** ## ComputerUseScreenshotResponse **Properties**: - `screenshot` _string_ - `cursorPosition?` _ComputerUsePoint_ - `sizeBytes?` _number_ *** ## ComputerUseScrollDirection ```ts type ComputerUseScrollDirection = 'up' | 'down' ``` *** ## ComputerUseScrollResponse **Properties**: - `success` _boolean_ *** ## ComputerUseStatusResponse ```ts type ComputerUseStatusResponse = | ComputerUseNotStartedStatus | ComputerUseStartingStatus | ComputerUseReadyStatus | ComputerUseFailedStatus | ComputerUseUnknownStatus ``` *** ## ComputerUseWindow **Properties**: - `id` _number_ - `title` _string_ - `x` _number_ - `y` _number_ - `width` _number_ - `height` _number_ - `isActive` _boolean_