Skip to content

feat(chat): graduate Grok ACP provider - #1259

Merged
arul28 merged 2 commits into
mainfrom
ade/provider-upgrade-grok-1-0-34-bedf0bb3
Sep 18, 2026
Merged

arul28 merged 2 commits into
mainfrom
ade/provider-upgrade-grok-1-0-34-bedf0bb3

Conversation

@arul28

@arul28 arul28 commented Sep 18, 2026

Copy link
Copy Markdown
Owner

Problem

Grok ACP support was still treated as preview-only, with the launch path, config probing, auth detection, model catalog, and setup copy lagging behind the current @xai-official/grok release.

Cause

The integration retained the original compatibility baseline and did not propagate Grok's documented GROK_HOME configuration directory through ADE's ACP, auth, diagnostics, and provider setup paths.

Change and boundary

  • Promoted Grok ACP from preview to first-class while retaining the existing safety gates: no filesystem/terminal/image capability advertisement and explicit permission preflight.
  • Propagated GROK_HOME with ~/.grok fallback through launch, pool identity, auth probing, diagnostics, and auth detection.
  • Pinned ADE install guidance to @xai-official/grok@1.0.34 and graduated current Grok models in the picker.
  • Updated CLI parity, renderer copy, tests, and the ACP provider specification with the 1.0.34 release evidence.
  • Deliberately kept the ACP compatibility floor at 1.0.13 and did not add unsupported image/audio/client-filesystem capabilities.

Verification

  • Desktop focused suite: 13 files, 506 tests passed.
  • ADE CLI/TUI focused suite: 3 files, 494 passed, 2 skipped.
  • Desktop typecheck: passed.
  • ADE CLI typecheck: passed.
  • Desktop lint: passed with 0 errors and 436 pre-existing warnings.
  • Desktop shard 1/8: 101 files, 2,066 tests passed.

Authored with GPT-5 via Codex in ADE.


Devin Review


Note

Medium Risk
Changes Grok launch env and auth/config resolution paths; wrong GROK_HOME handling could mis-detect credentials or pool sessions, though behavior is covered by new tests.

Overview
Graduates Grok ACP from preview to first-class in the dialect, model registry, and ACP spec, while keeping existing safety gates (no client FS, permission preflight/supervision).

Aligns Grok config with vendor GROK_HOME: adds grokConfigHome() with env override and default ~/.grok, then threads that path through ACP spawn (GROK_HOME on the child), auth probe, diagnostics, chat acpConfigHomeFor, and disk auth detection for auth.json. Pool identity now keys on GROK_HOME so different credential homes do not share a process.

Pins setup guidance to npm install -g @xai-official/grok@1.0.34 (ADE CLI registry, install error cards, Settings). Renderer copy and metadata now describe GROK_HOME instead of “no override / fixed ~/.grok only.” Tests and docs updated accordingly.

Reviewed by Cursor Bugbot for commit e529337. Configure here.

Summary by CodeRabbit

  • New Features

    • Grok now supports the GROK_HOME environment variable for credentials, configuration, diagnostics, and sessions.
    • Grok is promoted from preview to first-class status.
    • Grok installation is pinned to version 1.0.34 for consistent setup.
  • Bug Fixes

    • Grok authentication and configuration checks now honor custom configuration locations.
  • Documentation

    • Setup and provider guidance now explains GROK_HOME behavior and default paths.

@vercel

vercel Bot commented Sep 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
ade Ignored Ignored Preview Sep 18, 2026 11:03pm UTC

@coderabbitai

coderabbitai Bot commented Sep 18, 2026

Copy link
Copy Markdown

Review Change StackReview Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Repository: arul28/ADE/.coderabbit.yaml

Review profile: CHILL

Plan: Advanced

Run ID: 92e6a860-0fcc-4a6a-8f87-787f63d4d110

📥 Commits

Reviewing files that changed from the base of the PR and between baa9c62 and 59be546.

⛔ Files ignored due to path filters (1)
  • docs/features/chat/acp-providers-spec.md is excluded by !docs/**
📒 Files selected for processing (20)
  • apps/ade-cli/src/services/agentRegistry.ts
  • apps/desktop/src/main/services/ai/acpAuthProbe.test.ts
  • apps/desktop/src/main/services/ai/acpAuthProbe.ts
  • apps/desktop/src/main/services/ai/acpProviderDiagnostics.test.ts
  • apps/desktop/src/main/services/ai/acpProviderDiagnostics.ts
  • apps/desktop/src/main/services/ai/authDetector.ts
  • apps/desktop/src/main/services/chat/acpHost/acpDialects/grok.ts
  • apps/desktop/src/main/services/chat/acpHost/acpHost.fixtures.test.ts
  • apps/desktop/src/main/services/chat/acpHost/acpHost.test.ts
  • apps/desktop/src/main/services/chat/acpHost/index.ts
  • apps/desktop/src/main/services/chat/agentChatService.ts
  • apps/desktop/src/main/services/shared/providerConfigHomes.test.ts
  • apps/desktop/src/main/services/shared/providerConfigHomes.ts
  • apps/desktop/src/renderer/components/settings/ProvidersSection.test.tsx
  • apps/desktop/src/renderer/components/settings/providers/acpProviders.tsx
  • apps/desktop/src/renderer/components/shared/ModelPicker/providerEmptyState.tsx
  • apps/desktop/src/shared/acpProviderMetadata.ts
  • apps/desktop/src/shared/modelRegistry.test.ts
  • apps/desktop/src/shared/modelRegistry.ts
  • apps/desktop/src/shared/types/config.ts

Included review availability: Your plan provides up to 2 included reviews per hour; 0 remain after this review.


📝 Walkthrough

Walkthrough

Grok now supports the vendor-defined GROK_HOME configuration path across installation, authentication detection, diagnostics, ACP process spawning, and credential lookup. Grok is also promoted from preview to first-class, and CLI installation is pinned to version 1.0.34.

Changes

Grok configuration and ACP integration

Layer / File(s) Summary
Configuration-home resolution and probes
apps/desktop/src/main/services/ai/..., apps/desktop/src/main/services/shared/providerConfigHomes.*, apps/desktop/src/shared/acpProviderMetadata.ts, apps/desktop/src/shared/types/config.ts
grokConfigHome uses trimmed GROK_HOME values and falls back to ~/.grok. Authentication probes, ACP probes, and diagnostics use the resolved path.
ACP process propagation and pooling
apps/desktop/src/main/services/chat/acpHost/..., apps/desktop/src/main/services/chat/agentChatService.ts
ACP spawn plans pass GROK_HOME. Grok process pools include both GROK_HOME and XAI_API_KEY in their keys.
Provider status and installation
apps/desktop/src/shared/modelRegistry.*, apps/desktop/src/renderer/components/settings/..., apps/ade-cli/src/services/agentRegistry.ts
Grok changes from preview to first-class. Its models no longer use preview metadata. CLI installation uses version 1.0.34.
Grok setup text
apps/desktop/src/renderer/components/shared/ModelPicker/providerEmptyState.tsx
The empty-state text describes GROK_HOME and the ~/.grok fallback.

Priority: ➖ Normal

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

Change: Feature

Suggested labels: desktop, docs

Merge Risk: ⚪ Minimal · up to 59be5

Grok’s configured home is used consistently for authentication, diagnostics, and launched ACP processes. No actionable merge-blocking risk remains.

🚥 Pre-merge checks | ✅ 4 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 71.43% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 7 functions across 19 files. (1 skipped: … Write docstrings for the functions missing them to satisfy the coverage threshold.
✅ Passed checks (4 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title clearly and concisely describes the primary change: promoting the Grok ACP provider from preview to first-class support.
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 71.43% which is insufficient. The required threshold is 80.00%. Docstring coverage is scoped to functions touched by this diff. Analyzed 7 functions across 19 files. (1 skipped: 1 too large.)

  • Fix all pre-merge checks with AI
✨ Finishing Touches 💡 1
📝 Generate docstrings 💡
  • Commit to this branch
  • Create a new PR
🧪 Generate unit tests (beta)
  • Commit to this branch
  • Create a new PR

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.

@cursor

cursor Bot commented Sep 18, 2026

Copy link
Copy Markdown
Contributor

Bugbot couldn't run - usage limit reached

Bugbot is counted against Cursor usage for this user or team, and this run hit a usage or spend limit.

A user or team admin can review and increase usage limits in the Cursor dashboard.

(requestId: serverGenReqId_a415eefc-fcf4-4d30-93db-ddabc4730fad)

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Devin Review found 1 potential issue.

1 flag not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)

Devin Review

return copilotConfigHome({ env });
case "grok":
return null;
return grokConfigHome({ env });

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

🟡 Auth cache crosses Grok homes

Different GROK_HOME values reuse probeAcpProviderAuth results for the same cwd. One home's login state can incorrectly classify another home.

Learn more

The probe now exports a caller-selected Grok credential directory, but cacheKey still identifies results only by provider and cwd. Grok authentication depends on GROK_HOME/auth.json, so changing that environment value changes the answer without changing the key. The TTL path then returns the previous directory's verdict without spawning Grok.

Example: Probe /repo with GROK_HOME=/home/ada/.grok, where auth.json is valid. A second probe within 60 seconds uses GROK_HOME=/tmp/empty-grok; it returns ready from the first probe instead of auth-failed.

Recommended fix: Include the resolved config home, and any credential-bearing environment values used by the dialect, in the probe cache and in-flight keys. Alternatively, derive the key from the spawn environment using the dialect's poolEnvKeys.

Devin Review


Was this helpful? React with 👍 or 👎 to provide feedback.

@arul28
arul28 force-pushed the ade/provider-upgrade-grok-1-0-34-bedf0bb3 branch from e529337 to 59be546 Compare September 18, 2026 23:03
@arul28
arul28 merged commit 9dbf3a0 into main Sep 18, 2026
40 checks passed
@arul28
arul28 deleted the ade/provider-upgrade-grok-1-0-34-bedf0bb3 branch September 18, 2026 23: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.

1 participant