Skip to content
View as Markdown
class ComputerUseService()

Synchronous ComputerUseService.

def __init__(impl: AsyncComputerUseService, bridge: SyncBridge) -> None
@property
def service() -> AddonProcessesService
@property
def mouse() -> MouseService
@property
def keyboard() -> KeyboardService
@property
def screen() -> ScreenService
@property
def display() -> DisplayService
@property
def a11y() -> A11yService
@property
def recording() -> RecordingService
def restart() -> ComputerUseRestartResponse
def start() -> ComputerUseLifecycleResult
def status() -> ComputerUseStatusResponse
def stop() -> ComputerUseLifecycleResult
class AsyncComputerUseService()
def __init__(transport: AsyncTransport) -> None
async def status() -> ComputerUseStatusResponse
async def start() -> ComputerUseLifecycleResult
async def stop() -> ComputerUseLifecycleResult
async def restart() -> ComputerUseRestartResponse
class A11yService()

Synchronous A11yService.

def __init__(impl: AsyncA11yService, bridge: SyncBridge) -> None
def find(*,
scope: ComputerUseA11yScope,
pid: int | None = None,
role: str | None = None,
name: str | None = None,
name_match: ComputerUseA11yNameMatch | None = None,
states: Sequence[str] | None = None,
limit: int | None = None) -> ComputerUseA11yFindResult
def focus(*, id: str) -> None
def invoke(*, id: str, action: str | None = None) -> None
def set_value(*, id: str, value: str) -> None
def tree(*,
scope: ComputerUseA11yScope,
pid: int | None = None,
max_depth: int | None = None) -> ComputerUseA11yTree
class AsyncA11yService()
def __init__(transport: AsyncTransport) -> None
async def tree(*,
scope: ComputerUseA11yScope,
pid: int | None = None,
max_depth: int | None = None) -> ComputerUseA11yTree
async def find(*,
scope: ComputerUseA11yScope,
pid: int | None = None,
role: str | None = None,
name: str | None = None,
name_match: ComputerUseA11yNameMatch | None = None,
states: Sequence[str] | None = None,
limit: int | None = None) -> ComputerUseA11yFindResult
async def focus(*, id: str) -> None
async def invoke(*, id: str, action: str | None = None) -> None
async def set_value(*, id: str, value: str) -> None
class AddonProcessesService()

Synchronous AddonProcessesService.

def __init__(impl: AsyncAddonProcessesService, bridge: SyncBridge) -> None
def errors(name: str) -> ComputerUseProcessErrors
def logs(name: str) -> ComputerUseProcessLogs
def restart(name: str) -> ComputerUseProcessRestartResult
@overload
def status() -> dict[str, ComputerUseProcessStatus]
@overload
def status(name: str) -> ComputerUseProcessRunningStatus
class AsyncAddonProcessesService()
def __init__(transport: AsyncTransport) -> None
@overload
async def status() -> dict[str, ComputerUseProcessStatus]
@overload
async def status(name: str) -> ComputerUseProcessRunningStatus
async def restart(name: str) -> ComputerUseProcessRestartResult
async def logs(name: str) -> ComputerUseProcessLogs
async def errors(name: str) -> ComputerUseProcessErrors
class DisplayService()

Synchronous DisplayService.

def __init__(impl: AsyncDisplayService, bridge: SyncBridge) -> None
def info() -> ComputerUseDisplayInfo
def windows() -> ComputerUseDisplayWindows
class AsyncDisplayService()
def __init__(transport: AsyncTransport) -> None
async def info() -> ComputerUseDisplayInfo
async def windows() -> ComputerUseDisplayWindows
class KeyboardService()

Synchronous KeyboardService.

def __init__(impl: AsyncKeyboardService, bridge: SyncBridge) -> None
def hotkey(*, keys: str) -> None
def key(*,
key: str,
modifiers: Sequence[ComputerUseKeyboardModifier] | None = None) -> None
def type(*, text: str, delay: int | None = None) -> None
class AsyncKeyboardService()
def __init__(transport: AsyncTransport) -> None
async def type(*, text: str, delay: int | None = None) -> None
async def key(*,
key: str,
modifiers: Sequence[ComputerUseKeyboardModifier] | None = None) -> None
async def hotkey(*, keys: str) -> None
class MouseService()

Synchronous MouseService.

def __init__(impl: AsyncMouseService, bridge: SyncBridge) -> None
def click(*,
x: int,
y: int,
button: ComputerUseMouseButton | None = None,
double: bool | None = None) -> ComputerUsePoint
def drag(*,
start_x: int,
start_y: int,
end_x: int,
end_y: int,
button: ComputerUseMouseButton | None = None) -> ComputerUsePoint
def move(*, x: int, y: int) -> ComputerUsePoint
def position() -> ComputerUsePoint
def scroll(*,
x: int,
y: int,
direction: ComputerUseScrollDirection,
amount: int | None = None) -> ComputerUseScrollResult
class AsyncMouseService()
def __init__(transport: AsyncTransport) -> None
async def position() -> ComputerUsePoint
async def move(*, x: int, y: int) -> ComputerUsePoint
async def click(*,
x: int,
y: int,
button: ComputerUseMouseButton | None = None,
double: bool | None = None) -> ComputerUsePoint
async def drag(*,
start_x: int,
start_y: int,
end_x: int,
end_y: int,
button: ComputerUseMouseButton | None = None) -> ComputerUsePoint
async def scroll(*,
x: int,
y: int,
direction: ComputerUseScrollDirection,
amount: int | None = None) -> ComputerUseScrollResult
class RecordingService()

Synchronous RecordingService.

def __init__(impl: AsyncRecordingService, bridge: SyncBridge) -> None
def delete(id: str) -> None
def download(id: str) -> bytes
def get(id: str) -> ComputerUseRecording
def list() -> ComputerUseRecordingList
def start(*, label: str | None = None) -> ComputerUseRecording
def stop(*, id: str) -> ComputerUseRecording
class AsyncRecordingService()
def __init__(transport: AsyncTransport) -> None
async def start(*, label: str | None = None) -> ComputerUseRecording
async def stop(*, id: str) -> ComputerUseRecording
async def list() -> ComputerUseRecordingList
async def get(id: str) -> ComputerUseRecording
async def download(id: str) -> bytes
async def delete(id: str) -> None
class ScreenService()

Synchronous ScreenService.

def __init__(impl: AsyncScreenService, bridge: SyncBridge) -> None
def capture(*, show_cursor: bool | None = None) -> ComputerUseScreenshot
def capture_compressed(*,
format: ComputerUseScreenshotFormat | None = None,
quality: int | None = None,
scale: float | None = None,
show_cursor: bool | None = None) -> ComputerUseScreenshot
def region(*,
x: int,
y: int,
width: int,
height: int,
show_cursor: bool | None = None) -> ComputerUseScreenshot
def region_compressed(*,
x: int,
y: int,
width: int,
height: int,
format: ComputerUseScreenshotFormat | None = None,
quality: int | None = None,
scale: float | None = None,
show_cursor: bool | None = None) -> ComputerUseScreenshot
class AsyncScreenService()
def __init__(transport: AsyncTransport) -> None
async def capture(*, show_cursor: bool | None = None) -> ComputerUseScreenshot
async def region(*,
x: int,
y: int,
width: int,
height: int,
show_cursor: bool | None = None) -> ComputerUseScreenshot
async def capture_compressed(*,
format: ComputerUseScreenshotFormat | None = None,
quality: int | None = None,
scale: float | None = None,
show_cursor: bool | None = None) -> ComputerUseScreenshot
async def region_compressed(*,
x: int,
y: int,
width: int,
height: int,
format: ComputerUseScreenshotFormat | None = None,
quality: int | None = None,
scale: float | None = None,
show_cursor: bool | None = None) -> ComputerUseScreenshot
@dataclass(frozen=True, slots=True)
class ComputerUseDesktopFailure()

Attributes:

  • code ComputerUseDesktopFailureCode
  • message str
  • extra_fields Optional[Dict[str, JsonValue]] = None
  • raw_code Optional[str] = None
@dataclass(frozen=True, slots=True)
class ComputerUseNotStartedStatus()

Attributes:

  • status Literal[‘inactive’] = ‘inactive’
  • desktop Literal[‘not_started’] = ‘not_started’
  • cause None = None
  • extra_fields Optional[Dict[str, JsonValue]] = None
@dataclass(frozen=True, slots=True)
class ComputerUseStartingStatus()

Attributes:

  • status Literal[‘inactive’] = ‘inactive’
  • desktop Literal[‘starting’] = ‘starting’
  • cause None = None
  • extra_fields Optional[Dict[str, JsonValue]] = None
@dataclass(frozen=True, slots=True)
class ComputerUseReadyStatus()

Attributes:

  • status Literal[‘active’] = ‘active’
  • desktop Literal[‘ready’] = ‘ready’
  • cause None = None
  • extra_fields Optional[Dict[str, JsonValue]] = None
@dataclass(frozen=True, slots=True)
class ComputerUseFailedStatus()

Attributes:

  • cause ComputerUseDesktopFailure
  • status Literal[‘inactive’] = ‘inactive’
  • desktop Literal[‘failed’] = ‘failed’
  • extra_fields Optional[Dict[str, JsonValue]] = None
@dataclass(frozen=True, slots=True)
class ComputerUseUnknownStatus()

A (status, desktop) pair this SDK release does not recognize, because a newer daemon added a value or a combination. raw_status / raw_desktop carry what the daemon sent; the recognized variants need no raw sibling, since their typed values are the wire values. cause is the failure the daemon attached to the unrecognized state, when it sent one.

Attributes:

  • raw_status str
  • raw_desktop str
  • status Literal[‘unknown’] = ‘unknown’
  • desktop Literal[‘unknown’] = ‘unknown’
  • cause Optional[ComputerUseDesktopFailure] = None
  • extra_fields Optional[Dict[str, JsonValue]] = None
@dataclass(frozen=True, slots=True)
class ComputerUseRestartResponse()

Attributes:

  • message str
  • status Literal[‘active’] = ‘active’
  • desktop Literal[‘ready’] = ‘ready’
  • extra_fields Optional[Dict[str, JsonValue]] = None
@dataclass(frozen=True, slots=True)
class ComputerUseProcessStatus()

Attributes:

  • running Optional[bool] = None
  • priority Optional[int] = None
  • auto_restart Optional[bool] = None
  • pid Optional[int] = None
  • failed Optional[bool] = None
  • restart_attempts Optional[int] = None
  • restart_backoff_ms Optional[int] = None
  • status Optional[str] = None
  • extra_fields Optional[Dict[str, JsonValue]] = None
@dataclass(frozen=True, slots=True)
class ComputerUseProcessRunningStatus()

Attributes:

  • process_name str
  • running bool
@dataclass(frozen=True, slots=True)
class ComputerUsePoint()

Attributes:

  • x int
  • y int
@dataclass(frozen=True, slots=True)
class ComputerUseDisplay()

Attributes:

  • id int
  • x int
  • y int
  • width int
  • height int
  • is_active bool
@dataclass(frozen=True, slots=True)
class ComputerUseWindow()

Attributes:

  • id int
  • title str
  • x int
  • y int
  • width int
  • height int
  • is_active bool
@dataclass(frozen=True, slots=True)
class ComputerUseAccessibilityBounds()

Attributes:

  • x int
  • y int
  • width int
  • height int
@dataclass(frozen=True, slots=True)
class ComputerUseAccessibilityNode()

Attributes:

  • id str
  • role str
  • name str
  • bounds ComputerUseAccessibilityBounds
  • states List[str]
  • description Optional[str] = None
  • actions Optional[List[str]] = None
  • children Optional[List[ComputerUseAccessibilityNode]] = None
  • value Optional[str] = None
  • value_truncated bool = False
@dataclass(frozen=True, slots=True)
class ComputerUseRecording()

Attributes:

  • id str
  • file_name str
  • file_path str
  • start_time str
  • status str
  • end_time Optional[str] = None
  • duration_seconds Optional[float] = None
  • size_bytes Optional[int] = None
ComputerUseMouseButton = Literal['left', 'right', 'middle']
ComputerUseScrollDirection = Literal['up', 'down']
ComputerUseScreenshotFormat = Literal['png', 'jpeg']
ComputerUseKeyboardModifier = Literal['ctrl', 'alt', 'shift', 'cmd']
ComputerUseA11yScope = Literal['focused', 'pid', 'all']
ComputerUseA11yNameMatch = Literal['exact', 'substring', 'regex']
ComputerUseActivityStatus = Literal['active', 'inactive', 'unknown']
ComputerUseDesktopState = Literal['not_started', 'starting', 'ready', 'failed', 'unknown']
ComputerUseDesktopFailureCode = Literal['desktop_exited', 'addon_crashed', 'start_failed', 'start_interrupted', 'session_ended', 'session_replaced', 'state_corrupt', 'state_persistence_failed', 'unknown']
ComputerUseStatusResponse = Union[ComputerUseNotStartedStatus, ComputerUseStartingStatus, ComputerUseReadyStatus, ComputerUseFailedStatus, ComputerUseUnknownStatus]
ComputerUseLifecycleResponse = ComputerUseLifecycleResult
ComputerUseProcessRestartResponse = ComputerUseProcessRestartResult
ComputerUseProcessLogsResponse = ComputerUseProcessLogs
ComputerUseProcessErrorsResponse = ComputerUseProcessErrors
ComputerUseScreenshotResponse = ComputerUseScreenshot
ComputerUseScrollResponse = ComputerUseScrollResult
ComputerUseDisplayInfoResponse = ComputerUseDisplayInfo
ComputerUseDisplayWindowsResponse = ComputerUseDisplayWindows
ComputerUseA11yTreeResponse = ComputerUseA11yTree
ComputerUseA11yFindResponse = ComputerUseA11yFindResult
ComputerUseRecordingsResponse = ComputerUseRecordingList