ComputerUse
Initialize a new ComputerUse instance.
Constructors
new ComputerUse()
def initialize(sandbox_id:, toolbox_api:, otel_state: nil)
Initialize a new ComputerUse instance.
Parameters:
sandbox_idString - The ID of the sandboxtoolbox_apiDaytonaApiClient:ToolboxApi - API client for sandbox operationsotel_stateDaytona:OtelState, nil -
Returns:
ComputerUse- a new instance of ComputerUse
Methods
sandbox_id()
def sandbox_id()
Returns:
String- The ID of the sandbox
toolbox_api()
def toolbox_api()
Returns:
DaytonaApiClient:ToolboxApi- API client for sandbox operations
mouse()
def mouse()
Returns:
Mouse- Mouse operations interface
keyboard()
def keyboard()
Returns:
Keyboard- Keyboard operations interface
screenshot()
def screenshot()
Returns:
Screenshot- Screenshot operations interface
display()
def display()
Returns:
Display- Display operations interface
recording()
def recording()
Returns:
Recording- Screen recording operations interface
accessibility()
def accessibility()
Returns:
Accessibility- Accessibility operations interface
start()
def start()
Starts all computer use processes (Xvfb, xfce4, x11vnc, novnc).
Returns:
DaytonaApiClient:ComputerUseStartResponse- Computer use start response
Raises:
Daytona:Sdk:Error- If the operation fails
Examples:
result = sandbox.computer_use.start
puts "Computer use processes started: #{result.message}"
stop()
def stop()
Stops all computer use processes.
Returns:
DaytonaApiClient:ComputerUseStopResponse- Computer use stop response
Raises:
Daytona:Sdk:Error- If the operation fails
Examples:
result = sandbox.computer_use.stop
puts "Computer use processes stopped: #{result.message}"
status()
def status()
Gets the status of all computer use processes.
Returns:
DaytonaApiClient:ComputerUseStatusResponse- Status information about all VNC desktop processes
Raises:
Daytona:Sdk:Error- If the operation fails
Examples:
response = sandbox.computer_use.get_status
puts "Computer use status: #{response.status}"
get_process_status()
def get_process_status(process_name:)
Gets the status of a specific VNC process.
Parameters:
process_nameString - Name of the process to check
Returns:
DaytonaApiClient:ProcessStatusResponse- Status information about the specific process
Raises:
Daytona:Sdk:Error- If the operation fails
Examples:
xvfb_status = sandbox.computer_use.get_process_status("xvfb")
no_vnc_status = sandbox.computer_use.get_process_status("novnc")
restart_process()
def restart_process(process_name:)
Restarts a specific VNC process.
Parameters:
process_nameString - Name of the process to restart
Returns:
DaytonaApiClient:ProcessRestartResponse- Process restart response
Raises:
Daytona:Sdk:Error- If the operation fails
Examples:
result = sandbox.computer_use.restart_process("xfce4")
puts "XFCE4 process restarted: #{result.message}"
get_process_logs()
def get_process_logs(process_name:)
Gets logs for a specific VNC process.
Parameters:
process_nameString - Name of the process to get logs for
Returns:
DaytonaApiClient:ProcessLogsResponse- Process logs
Raises:
Daytona:Sdk:Error- If the operation fails
Examples:
logs = sandbox.computer_use.get_process_logs("novnc")
puts "NoVNC logs: #{logs}"
get_process_errors()
def get_process_errors(process_name:)
Gets error logs for a specific VNC process.
Parameters:
process_nameString - Name of the process to get error logs for
Returns:
DaytonaApiClient:ProcessErrorsResponse- Process error logs
Raises:
Daytona:Sdk:Error- If the operation fails
Examples:
errors = sandbox.computer_use.get_process_errors("x11vnc")
puts "X11VNC errors: #{errors}"
Accessibility
Accessibility operations for computer use functionality.
Constructors
new Accessibility()
def initialize(sandbox_id:, toolbox_api:, otel_state: nil)
Parameters:
sandbox_idString - The ID of the sandboxtoolbox_apiDaytonaToolboxApiClient:ComputerUseApi - API client for sandbox operationsotel_stateDaytona:OtelState, nil -
Returns:
Accessibility- a new instance of Accessibility
Methods
sandbox_id()
def sandbox_id()
Returns:
String- The ID of the sandbox
toolbox_api()
def toolbox_api()
Returns:
DaytonaToolboxApiClient:ComputerUseApi- API client for sandbox operations
get_tree()
def get_tree(scope: nil, pid: nil, max_depth: nil)
Fetches the AT-SPI accessibility tree.
Parameters:
scopeString, nil - Tree scope to inspect: "focused", "pid", or "all"pidInteger, nil - Process ID when scope is "pid"max_depthInteger, nil - Maximum depth to descend; 0 returns only the root
Returns:
DaytonaToolboxApiClient:AccessibilityTreeResponse- Accessibility tree response
Raises:
Daytona:Sdk:Error- If the operation fails
Examples:
tree = sandbox.computer_use.accessibility.get_tree(scope: "all", max_depth: 3)
puts tree.root.name
find_nodes()
def find_nodes(scope: nil, pid: nil, role: nil, name: nil, name_match: nil, states: nil, limit: nil)
Finds AT-SPI accessibility nodes matching the provided filters.
Parameters:
scopeString, nil - Search scope: "focused", "pid", or "all"pidInteger, nil - Process ID when scope is "pid"roleString, nil - Accessibility role to match, such as "button"nameString, nil - Accessible name to matchname_matchString, nil - Name match mode, such as "exact" or "substring"statesArray<String>, nil - Required accessibility stateslimitInteger, nil - Maximum number of matches
Returns:
DaytonaToolboxApiClient:AccessibilityNodesResponse- Matching accessibility nodes
Raises:
Daytona:Sdk:Error- If the operation fails
Examples:
buttons = sandbox.computer_use.accessibility.find_nodes(
scope: "all",
role: "button",
name: "Submit",
name_match: "substring"
)
puts buttons.matches.length
focus_node()
def focus_node(id:)
Focuses an AT-SPI accessibility node.
Parameters:
idString - Accessibility node ID returned by get_tree or find_nodes
Raises:
Daytona:Sdk:Error- If the operation fails
Examples:
sandbox.computer_use.accessibility.focus_node(id: node.id)
invoke_node()
def invoke_node(id:, action: nil)
Invokes an AT-SPI accessibility node action.
Parameters:
idString - Accessibility node ID returned by get_tree or find_nodesactionString, nil - Action name to invoke, or nil for the primary action
Raises:
Daytona:Sdk:Error- If the operation fails
Examples:
sandbox.computer_use.accessibility.invoke_node(id: node.id, action: "click")
set_node_value()
def set_node_value(id:, value:)
Sets an AT-SPI accessibility node value.
Parameters:
idString - Accessibility node ID returned by get_tree or find_nodesvalueString - Value to write to the node
Raises:
Daytona:Sdk:Error- If the operation fails
Examples:
sandbox.computer_use.accessibility.set_node_value(id: node.id, value: "hello")