Review Change StackReview Change Stack
Note
Reviews paused
It looks like this branch is under active development. To avoid overwhelming you with review comments due to an influx of new commits, CodeRabbit has automatically paused this review. You can configure this behavior by changing the reviews.auto_review.auto_pause_after_reviewed_commits setting.
Use the following commands to manage reviews:
@coderabbitai resumeto resume automatic reviews.@coderabbitai reviewto trigger a single review.
Use the checkboxes below for quick actions:
- βΆοΈ Resume reviews
- π Trigger review
π Walkthrough
Walkthrough
The pull request adds managed CUA driver support across contracts, desktop and server runtimes, provider integrations, macOS permissions, desktop packaging, settings, and documentation. It also adds lifecycle, configuration, packaging, and integration tests.
Changes
CUA contracts and settings
| Layer / File(s) | Summary |
|---|---|
Contracts and environment setting packages/contracts/src/cua.ts, packages/contracts/src/resourceTelemetry.ts, packages/contracts/src/settings.ts, packages/contracts/src/ipc.ts, packages/contracts/src/index.ts | Adds CUA request/report schemas, the enableCua setting, new macOS permission panes, and contract exports. |
Contract validation packages/contracts/src/settings.test.ts | Tests the default, round-trip, patch, and type-validation behavior of enableCua. |
Desktop runtime
| Layer / File(s) | Summary |
|---|---|
Desktop telemetry transport apps/desktop/src/telemetry/DesktopTelemetryPublisher.ts, apps/desktop/src/backend/DesktopBackendManager.ts, apps/desktop/src/app/DesktopApp.ts, apps/desktop/src/main.ts | Routes primary-source CUA requests, publishes CUA reports, scopes telemetry by source, and starts the desktop driver listener. |
Desktop driver lifecycle apps/desktop/src/cua/DesktopCuaDriver.ts, apps/desktop/src/cua/DesktopCuaDriver.test.ts | Adds host loading, permission checks, serialized requests, startup and shutdown timeouts, exit handling, cleanup, and readiness reports. |
macOS permission handling apps/desktop/src/permissions/*, apps/desktop/src/ipc/methods/window.ts | Adds shared status and request helpers for Accessibility and Screen Recording permissions and updates system-settings IPC methods. |
Server runtime and providers
| Layer / File(s) | Summary |
|---|---|
Server driver lifecycle apps/server/src/cua/CuaDriver.ts, apps/server/src/resourceTelemetry/DesktopTelemetryReceiver.ts, apps/server/src/server.ts, apps/server/package.json | Adds typed driver errors, standalone and desktop host factories, settings-driven enablement, telemetry bridging, runtime wiring, and runtime dependencies. |
Provider session propagation apps/server/src/provider/Layers/ProviderService.ts, apps/server/src/mcp/McpProviderSession.ts, apps/server/src/cua/cuaMcpServer.ts | Stores an acquired CUA descriptor in provider sessions and maps it to ACP, Claude, and OpenCode configuration shapes. |
Provider adapters apps/server/src/provider/Layers/*Adapter.ts | Registers the CUA MCP server for Antigravity, Claude, Cursor, Grok, and locally managed OpenCode sessions. |
Codex integration apps/server/src/cua/codexCuaConfiguration.ts, apps/server/src/cua/resolveCodexCua.ts, apps/server/src/provider/Layers/CodexAdapter.ts, apps/server/src/provider/Layers/CodexSessionRuntime.ts | Detects existing CUA configuration, builds managed Codex arguments, passes session descriptors directly, and limits browser-tool detection to T3 configuration. |
Server validation apps/server/src/cua/*.test.ts, apps/server/src/provider/Layers/*test.ts | Covers lifecycle races, failures, cancellation, retries, descriptor mapping, Codex configuration, and provider-session behavior. |
Packaging and settings
| Layer / File(s) | Summary |
|---|---|
Desktop driver packaging scripts/build-desktop-artifact.ts, scripts/build-desktop-artifact.test.ts, scripts/lib/*external-packages* | Adds platform asset resolution, checksum verification, bundle validation, staging, extra resources, app exclusions, and runtime external dependency rules. |
Settings and onboarding apps/web/src/components/settings/*, apps/web/src/components/settings/SettingsPanels.tsx, apps/web/src/components/settings/settingsSearch.ts | Adds CUA permission onboarding, settings restore support, search aliases, shared permission icons, and the Agent access section. |
Documentation and licensing docs/user/project-settings.md, third-party-licenses.config.json | Documents CUA setup and adds license overrides for new dependencies. |
Priority: β Normal
Estimated code review effort: 5 (Critical) | ~90 minutes
Merge Risk: π‘ Moderate Β· up to 8ba05
A code path that manages access to computer-use tooling can, in a narrow restart scenario, keep serving a stale session configuration (including previously granted managed computer-use access) after credential issuance fails to renew it. This should be fixed before merge to avoid unintended persistence of managed access or stale provider credentials; it is a scoped, low-effort fix in the provider session-preparation logic.
π₯ Pre-merge checks | β 4 | β 1
β Failed checks (1 warning)
| Check name | Status | Explanation | Resolution |
|---|---|---|---|
| Docstring Coverage | β οΈ Warning | Docstring coverage is 31.82% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 22 functions across 53 files. (1 skipped:β¦ | Write docstrings for the functions missing them to satisfy the coverage threshold. |
β Passed checks (4 passed)
| Check name | Status | Explanation |
|---|---|---|
| Title check | β Passed | The title clearly and concisely describes the main change: adding opt-in Cua Driver computer use to the desktop application. |
| Description check | β Passed | The description clearly explains what changed, why it changed, UI impact, validation, screenshots, and known verification limits. It does not include the template's explicit Checklist section, but theβ¦ |
| Linked Issues check | β Passed | Check skipped because no linked issues were found for this pull request. |
| Out of Scope Changes check | β Passed | Check skipped because no linked issues were found for this pull request. |
Full details: Docstring Coverage
Explanation
Docstring coverage is 31.82% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 22 functions across 53 files. (1 skipped: 1 unsupported.)
β¨ Finishing Touches
π§ͺ Generate unit tests (beta)
- Create PR with unit tests
Comment @coderabbitai help to get the list of available commands.