ComputerUse
Section titled “ComputerUse”Initialize a new ComputerUse instance.
Constructors
Section titled “Constructors”new ComputerUse()
Section titled “new ComputerUse()”def initialize(sandbox_id:, toolbox_api:, otel_state:)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
Section titled “Methods”sandbox_id()
Section titled “sandbox_id()”def sandbox_id()Returns:
String- The ID of the sandbox
toolbox_api()
Section titled “toolbox_api()”def toolbox_api()Returns:
DaytonaApiClient:ToolboxApi- API client for sandbox operations
mouse()
Section titled “mouse()”def mouse()Returns:
Mouse- Mouse operations interface
keyboard()
Section titled “keyboard()”def keyboard()Returns:
Keyboard- Keyboard operations interface
screenshot()
Section titled “screenshot()”def screenshot()Returns:
Screenshot- Screenshot operations interface
display()
Section titled “display()”def display()Returns:
Display- Display operations interface
recording()
Section titled “recording()”def recording()Returns:
Recording- Screen recording operations interface
accessibility()
Section titled “accessibility()”def accessibility()Returns:
Accessibility- Accessibility operations interface
start()
Section titled “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.startputs "Computer use processes started: #{result.message}"stop()
Section titled “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.stopputs "Computer use processes stopped: #{result.message}"status()
Section titled “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_statusputs "Computer use status: #{response.status}"get_process_status()
Section titled “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()
Section titled “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()
Section titled “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()
Section titled “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
Section titled “Accessibility”Accessibility operations for computer use functionality.
Constructors
Section titled “Constructors”new Accessibility()
Section titled “new Accessibility()”def initialize(sandbox_id:, toolbox_api:, otel_state:)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
Section titled “Methods”sandbox_id()
Section titled “sandbox_id()”def sandbox_id()Returns:
String- The ID of the sandbox
toolbox_api()
Section titled “toolbox_api()”def toolbox_api()Returns:
DaytonaToolboxApiClient:ComputerUseApi- API client for sandbox operations
get_tree()
Section titled “get_tree()”def get_tree(scope:, pid:, max_depth:)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.namefind_nodes()
Section titled “find_nodes()”def find_nodes(scope:, pid:, role:, name:, name_match:, states:, limit:)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.lengthfocus_node()
Section titled “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()
Section titled “invoke_node()”def invoke_node(id:, action:)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()
Section titled “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")