Files
wehub-resource-sync 91e75e620b
CI: cua-driver distro-compat matrix / debian:12 (glibc 2.36) (push) Has been cancelled
CI: SPDX Headers / Check SPDX headers (warn-only) (push) Has been cancelled
CD: Docs MCP Server / build (linux/amd64) (push) Has been cancelled
CD: Docs MCP Server / build (linux/arm64) (push) Has been cancelled
CD: Docs MCP Server / merge (push) Has been cancelled
CI: cua-driver distro-compat matrix / Resolve release version (push) Has been cancelled
CI: cua-driver distro-compat matrix / fedora:41 (glibc 2.40) (push) Has been cancelled
CI: cua-driver distro-compat matrix / rockylinux:9 (glibc 2.34) (push) Has been cancelled
CI: cua-driver distro-compat matrix / ubuntu:22.04 (glibc 2.35) (push) Has been cancelled
CI: cua-driver distro-compat matrix / ubuntu:24.04 (glibc 2.39) (push) Has been cancelled
CI: cua-driver distro-compat matrix / Distro compat summary (push) Has been cancelled
CI: Rust Linux unit / Rust Linux unit and compile (push) Has been cancelled
CI: Rust Windows unit / Rust Windows unit and compile (push) Has been cancelled
CI: Nix Linux Rust source / Nix / compositor build (push) Has been cancelled
CI: Nix Linux Rust source / Nix / driver package (push) Has been cancelled
CI: Nix Linux Rust source / Nix / Rust unit tests (push) Has been cancelled
chore: import upstream snapshot with attribution
2026-07-13 13:03:19 +08:00
..

cua-driver Rust workspace

This directory is the standalone Cargo workspace for the driver daemon, platform implementations, testkit, and helper crates.

Crates

Crate Purpose
cua-driver Main CLI/MCP daemon and integration tests
cua-driver-core Shared protocol, tool models, config, and CDP helpers
platform-macos macOS AX, capture, input, browser, and daemon support
platform-windows Windows UIA, capture, input, overlay, and diagnostics
platform-linux Linux AT-SPI, X11/Wayland, capture, and input support
cua-driver-testkit Test-only helpers for spawning the daemon and parsing responses
cua-driver-uia Windows UIAccess worker
cursor-overlay Cursor overlay support
pip-preview Packaging preview helper

Platform crates are selected with cfg(target_os) from the main driver crate. Keep platform-specific behavior inside the matching platform-<os> crate.

Build

cargo build -p cua-driver
cargo build -p cua-driver --release

The Python wrapper and install scripts expect the built binary at target/<profile>/cua-driver (or cua-driver.exe on Windows), unless CUA_DRIVER_BINARY is set.

Tests

Default tests should be headless and safe for CI:

cargo test -p cua-driver-core
cargo test -p cua-driver --test protocol_mcp_test

GUI and VM-backed tests are marked #[ignore] and require harness apps from ../tests/fixtures/build/ plus a real interactive desktop session:

cargo test -p cua-driver --test harness_appkit_test -- --ignored --nocapture
cargo test -p cua-driver --test harness_wpf_test -- --ignored --nocapture

See crates/cua-driver/tests/README.md for the test matrix.

Generated Outputs

  • target/: Cargo output, ignored.
  • test-apps/harness-*/: staged harness apps, ignored.
  • test-apps/README.md: explains how staged harness outputs are produced.