Skip to content

fix(cua): update driver and skill name#1902

Merged
zerob13 merged 1 commit into
devfrom
codex/update-cua-latest-release
Jul 8, 2026
Merged

fix(cua): update driver and skill name#1902
zerob13 merged 1 commit into
devfrom
codex/update-cua-latest-release

Conversation

@zerob13

@zerob13 zerob13 commented Jul 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • update bundled CUA driver metadata and tool policy to upstream cua-driver-rs-v0.7.1
  • rename the bundled Computer Use skill from cua-driver to computer-use
  • migrate persisted active skill names from cua-driver to computer-use

Validation

  • corepack pnpm exec vitest run test/main/presenter/pluginPresenter.test.ts
  • corepack pnpm exec vitest run test/main/presenter/skillPresenter/skillPresenter.test.ts
  • corepack pnpm run plugin:cua:build:mac:arm64
  • corepack pnpm run plugin:cua:build:win:x64
  • corepack pnpm run plugin:cua:build:linux:x64
  • corepack pnpm run plugin:bundle -- --name cua --platform darwin --arch arm64
  • corepack pnpm run format
  • corepack pnpm run i18n
  • corepack pnpm run lint
  • git diff --check

Closes #1898
Closes #1900

Summary by CodeRabbit

  • New Features

    • Renamed the CUA skill to Computer Use and updated it across the app.
    • Added support for the newer driver release and its updated tool set.
  • Bug Fixes

    • Improved skill migration so existing setups continue working after the rename.
    • Refined tool permissions and fallback behavior for more reliable desktop interactions.
  • Documentation

    • Updated cross-platform computer-use docs, task guides, and issue notes to match the latest release and workflow changes.

@coderabbitai

coderabbitai Bot commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

📝 Walkthrough

Walkthrough

This PR updates the bundled CUA driver reference from v0.6.7 to v0.7.1 across docs, plugin manifest, vendor metadata, and tool policies (adding get_desktop_state, removing mouse-drag/debug tools), and renames the CUA plugin's contributed skill from cua-driver to computer-use, adding alias-based migration for persisted active skills.

Changes

CUA driver 0.7.1 update

Layer / File(s) Summary
Issue specs
docs/issues/cua-driver-0-7-1-update/spec.md, docs/issues/cua-computer-use-skill-name/spec.md
New documents describe the driver version bump and skill rename plans, impacts, fix steps, and validation commands.
Cross-platform docs updated to v0.7.1
docs/features/cua-cross-platform-computer-use/plan.md, spec.md, tasks.md
Plan, spec, and task docs updated to reference upstream v0.7.1 tags, tool policies, and skill guidance.
Vendor metadata pin
plugins/cua/vendor/cua-driver/upstream.json
Release tag, commit, version, timestamp, releaseUrl, and Linux x64 asset filename bumped to v0.7.1.
Plugin manifest and tool policy
plugins/cua/plugin.json, plugins/cua/policies/tool-policy.json
minVersion bumped to 0.7.1, skill entry pointed to computer-use, and allow/ask tool lists updated (adds get_desktop_state, removes debug_window_info and several mouse/typing tools).
Test updates
test/main/presenter/pluginPresenter.test.ts
Expectations updated for new tool policy lists, pinned metadata, asset filenames, and computer-use skill path.

Estimated code review effort: 3 (Moderate) | ~25 minutes

Computer-use skill rename and active-skill migration

Layer / File(s) Summary
Renamed skill docs
plugins/cua/skills/computer-use/SKILL.md, README.md, TESTS.md
Skill folder renamed with updated frontmatter/heading, reordered fallback steps including get_desktop_state, and new manual test coverage.
Alias resolution and normalization
src/main/presenter/skillPresenter/index.ts
Adds SKILL_NAME_ALIASES mapping cua-drivercomputer-use, reworks validateSkillNames to resolve aliases and dedupe, and adds areSkillListsEqual for equality-based active-skill updates.
Migration tests
test/main/presenter/skillPresenter/skillPresenter.test.ts
New tests verify legacy cua-driver active skills are normalized to computer-use and persisted correctly.

Estimated code review effort: 3 (Moderate) | ~20 minutes

Sequence Diagram(s)

sequenceDiagram
  participant Session
  participant skillPresenter
  participant Storage
  Session->>skillPresenter: getActiveSkills(sessionId)
  skillPresenter->>skillPresenter: validateSkillNames resolves cua-driver via SKILL_NAME_ALIASES
  skillPresenter->>skillPresenter: areSkillListsEqual compares resolved vs persisted list
  skillPresenter->>Storage: persist normalized ['computer-use']
  skillPresenter-->>Session: return ['computer-use']
Loading

Possibly related PRs

  • ThinkInAIXYZ/deepchat#1266: Modifies the same skillPresenter alias mapping, validateSkillNames, and active-skill normalization logic.
  • ThinkInAIXYZ/deepchat#1451: Modifies the same active/persisted skill resolution and setActiveSkills plumbing in skillPresenter.
  • ThinkInAIXYZ/deepchat#1776: Modifies the same CUA plugin.json and tool-policy.json configuration to reflect upstream driver/tool changes.
🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title is concise and accurately summarizes the main changes to the CUA driver and skill rename.
Linked Issues check ✅ Passed The changes match #1898 and #1900 by updating driver metadata/policy, renaming the skill, and migrating persisted skill names.
Out of Scope Changes check ✅ Passed The diff stays focused on the driver update, skill rename, migrations, tests, and related documentation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch codex/update-cua-latest-release

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick comments (1)
test/main/presenter/pluginPresenter.test.ts (1)

1145-1158: 🎯 Functional Correctness | 🔵 Trivial | ⚡ Quick win

Add Darwin asset assertions. plugins/cua/vendor/cua-driver/upstream.json also lists darwin-arm64 and darwin-x64 assets, but this test only checks Windows and Linux filenames. Adding those two assertions would cover the full supportedTargets set.

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@test/main/presenter/pluginPresenter.test.ts` around lines 1145 - 1158, The
CUA tool policy test in pluginPresenter.test should cover the full
supportedTargets set, not just Windows and Linux filenames. Update the existing
assertion block in the test around the CUA manifest/policy checks to also verify
the Darwin assets from upstream.json by asserting the presence of both
darwin-arm64 and darwin-x64 filenames alongside the current platform checks.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Nitpick comments:
In `@test/main/presenter/pluginPresenter.test.ts`:
- Around line 1145-1158: The CUA tool policy test in pluginPresenter.test should
cover the full supportedTargets set, not just Windows and Linux filenames.
Update the existing assertion block in the test around the CUA manifest/policy
checks to also verify the Darwin assets from upstream.json by asserting the
presence of both darwin-arm64 and darwin-x64 filenames alongside the current
platform checks.

ℹ️ Review info
⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro

Run ID: ff69809e-3151-43ce-aa60-5b93bff742c2

📥 Commits

Reviewing files that changed from the base of the PR and between bcd624f and 7de1e88.

📒 Files selected for processing (16)
  • docs/features/cua-cross-platform-computer-use/plan.md
  • docs/features/cua-cross-platform-computer-use/spec.md
  • docs/features/cua-cross-platform-computer-use/tasks.md
  • docs/issues/cua-computer-use-skill-name/spec.md
  • docs/issues/cua-driver-0-7-1-update/spec.md
  • plugins/cua/plugin.json
  • plugins/cua/policies/tool-policy.json
  • plugins/cua/skills/computer-use/README.md
  • plugins/cua/skills/computer-use/RECORDING.md
  • plugins/cua/skills/computer-use/SKILL.md
  • plugins/cua/skills/computer-use/TESTS.md
  • plugins/cua/skills/computer-use/WEB_APPS.md
  • plugins/cua/vendor/cua-driver/upstream.json
  • src/main/presenter/skillPresenter/index.ts
  • test/main/presenter/pluginPresenter.test.ts
  • test/main/presenter/skillPresenter/skillPresenter.test.ts

@zerob13 zerob13 merged commit 381e5a4 into dev Jul 8, 2026
8 checks passed
@zhangmo8 zhangmo8 deleted the codex/update-cua-latest-release branch July 9, 2026 08:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Align CUA plugin skill name with Computer Use Update bundled CUA driver to 0.7.1

1 participant