Commit Graph

10 Commits

Author SHA1 Message Date
Peter Steinberger af99d1ac7b test(computer-use): security closure across the v2 action surface (#124112) 2026-08-15 01:54:06 -07:00
Peter Steinberger a32a7ae9af feat(cua-computer): verify the managed driver artifact on Windows and Linux node hosts (#123986) 2026-08-14 21:08:13 -07:00
Peter Steinberger 19ace6830b feat(macos): add embedded CUA computer provider (#123635)
* feat(macos): embed CUA computer provider

* fix(macos): clarify embedded CUA trust posture

* fix(macos): contain embedded CUA daemon lifecycle

* fix(macos): reap orphaned CUA daemons

* fix(macos): record the spawned CUA daemon pid so reaping can terminate orphans

* chore(macos): refresh native i18n baseline for the computer control provider picker

* style(macos): satisfy swiftlint on the embedded CUA host and connect params

* refactor(gateway): move optional connect params to GatewayConnectOptions
2026-08-14 10:24:08 -07:00
Peter Steinberger d19c7553dd feat(computer-use): computer.act v2 action contract with capability-filtered tool (#123544)
* feat(computer-use): computer.act v2 action contract with capability-filtered tool

* fix(computer-use): break contract import cycle, bound model-visible elements, regen swift protocol

* test(computer-use): satisfy curly rule in schema-cap helpers

* fix(computer-use): satisfy type-aware lint on contract and tool

* test(gateway-protocol): keep connect-params suite under the line cap
2026-08-14 02:40:56 -07:00
Peter Steinberger 848a7e30b3 refactor(computer-use): one canonical wire contract + node-host provider seam (#123509)
* refactor(computer-use): add provider seam

* refactor(computer-use): retry provider open after failure; drop changelog entry
2026-08-13 23:32:32 -07:00
Peter Steinberger 620fcd0e27 refactor(plugins): make manifests own config ui hints (#121329) 2026-08-09 18:48:49 -07:00
Dallin Romney 4847655826 fix(cua-computer): ignore retired driver path (#120502) 2026-08-09 15:34:30 +08:00
Dallin Romney 1574723997 fix(cua-computer): load the ESM driver on node hosts (#120169)
* fix(cua-computer): load ESM driver asynchronously

* fix(cua-computer): register computer invoke policy

* test(gateway): cover CUA command allowlist

---------

Co-authored-by: Francesco Bonacci <f@trycua.com>
2026-08-07 15:15:48 +08:00
Dallin Romney e9b25aa21d refactor(cua-computer): replace daemon MCP with CUA Driver SDK (#117205)
* chore(cua-computer): freeze CUA Driver 0.14.1 fixtures

* refactor(cua-computer): use CUA Driver SDK directly

* fix(cua-computer): repair CUA CI checks

* style(cua-computer): format driver cleanup

* fix(cua-computer): migrate retired driver path

* fix(cua-computer): start direct driver sessions
2026-08-02 20:03:24 +08:00
Peter Steinberger f695be341c feat(cua-computer): add experimental Windows/Linux computer-use fulfiller (#112267)
* feat(cua-computer): add experimental Windows/Linux computer-use fulfiller

Bundled plugin that fulfills the capability-based computer.act + screen.snapshot
node contract on Windows and Linux by supervising a pinned cua-driver 0.10.x
daemon over MCP stdio. macOS keeps the Peekaboo fulfiller; this plugin is
disabled by default and never available on darwin.

Grounded in cua-driver 0.10.0 source (tool schemas, refusal codes, coordinate
spaces, session/daemon lifecycle). Notable safety and correctness properties:
- Deny-by-default env allowlist so OpenClaw secrets (provider/channel tokens,
  CUA_API_KEY) never reach the separately installed daemon; telemetry and
  update checks forced off.
- Version-gated handshake (exact-minor pin + capability/schema version),
  time-bounded so a corrected driver recovers without a node restart.
- Robust daemon supervision: full readiness-budget polling, startup-race
  tolerance, signal-death and spawn-error recovery, shared-daemon lifecycle
  (never killed on dispose).
- Frame authorization preserved within upstream limits (generation + full live
  geometry; capture refused when screen and screenshot geometry diverge).
- Action mapping refuses inputs cua-driver cannot faithfully deliver:
  layout-shifted keys, modifier-held drag/scroll, Linux modifier clicks,
  hold_key/mouse down-up, non-positive scroll; drag duration clamped.

* fix(cua-computer): satisfy lint, test-types, dead-code, and docs-map gates
2026-07-21 05:58:04 -07:00