Skip to content

feat(providers): add GitHub Copilot CLI - #6390

Draft
atarantino wants to merge 4 commits into
pingdotgg:t3code/codex-turn-mappingfrom
atarantino:feat/copilot-acp-v2
Draft

feat(providers): add GitHub Copilot CLI#6390
atarantino wants to merge 4 commits into
pingdotgg:t3code/codex-turn-mappingfrom
atarantino:feat/copilot-acp-v2

Conversation

@atarantino

@atarantino atarantino commented Aug 12, 2026

Copy link
Copy Markdown

Summary

Adds GitHub Copilot CLI as a first-class provider backed by its ACP stdio interface, allowing users to use their existing Copilot authentication directly in T3.

This is a stacked draft targeting the head branch of #2829 (t3code/codex-turn-mapping); it can be retargeted to main after that PR lands.

  • adds an Orchestrator V2 ACP adapter with streaming, approval handling, model selection, session configuration, and resume support
  • discovers Copilot availability, authentication status, CLI version, and account-specific models
  • adds ACP-backed text generation for Git metadata and thread titles
  • registers Copilot across provider settings, contracts, web, mobile, icons, and documentation
  • marks the provider Early Access while Copilot's ACP support remains in public preview

Validation

  • focused Copilot ACP, provider, driver, Orchestrator V2 adapter, text-generation, registry, and settings tests passed
  • server, web, contracts, and mobile typechecks passed
  • formatting and staged-file checks passed
  • manual smoke test passed for a read-only prompt and an approval-gated file creation using the auto model

Generated with GPT-5.6 Sol in Cursor.

Made with Cursor

Note

Add GitHub Copilot as a built-in provider with ACP, text generation, and status checks

  • Registers GitHub Copilot as a built-in provider driver (CopilotDriver.ts) with its own settings schema (enabled, binaryPath, customModels), health check, snapshot management, and enrichment.
  • Adds a Copilot-specific ACP adapter (CopilotAdapterV2.ts) that locks sessions to agent mode, disables proposed-plan emission, and configures model and reasoning_effort via applyCopilotSessionConfiguration.
  • Implements a Copilot-backed text generation service (CopilotTextGeneration.ts) that runs ACP prompt roundtrips with a 180s timeout, collects streamed chunks, and decodes structured JSON for commit messages, PR content, branch names, and thread titles.
  • Provider status is determined by running copilot --version then discovering models via an ACP session; the resulting snapshot encodes version, auth status, readiness, and available models.
  • Exposes the provider in the web UI with an 'Early Access' badge and removes GitHub Copilot from the 'Coming Soon' list; adds a mobile icon and updates docs and README.
📊 Macroscope summarized 78b2f4b. 21 files reviewed, 0 issues evaluated, 0 issues filtered, 0 comments posted

🗂️ Filtered Issues

No issues evaluated.

@coderabbitai

coderabbitai Bot commented Aug 12, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Repository UI

Review profile: CHILL

Plan: Pro Plus

Run ID: 489b935e-4ed8-44d3-b522-5a8fdf127a43

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

@github-actions github-actions Bot added vouch:unvouched PR author is not yet trusted in the VOUCHED list. size:XXL 1,000+ changed lines (additions + deletions). labels Aug 12, 2026
Comment thread apps/server/src/provider/Layers/CopilotProvider.ts Outdated
Comment thread apps/server/src/provider/Layers/CopilotProvider.ts Outdated

@macroscopeapp macroscopeapp 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.

One convention finding in the new Copilot service code: a detail attribute derived from cause.message. Everything else (namespace subpath imports, Foo["Service"] usage, environment-based dependency acquisition in the driver/adapter create effects, Effect.catchTags on known tags) follows the service conventions.

Posted via Macroscope — Effect Service Conventions

Comment thread apps/server/src/provider/Drivers/CopilotDriver.ts Outdated
@juliusmarminge
juliusmarminge force-pushed the t3code/codex-turn-mapping branch from a186d64 to 5b1a115 Compare August 12, 2026 23:19
atarantino and others added 2 commits August 12, 2026 16:33
Integrate Copilot as a first-class ACP provider on the orchestrator V2 stack so users can use their existing GitHub Copilot authentication directly.

Co-authored-by: Cursor <cursoragent@cursor.com>
Preserve a selectable fallback when ACP discovery is empty and keep parser failures and wrapped defects from being misreported as authentication errors.

Co-authored-by: Cursor <cursoragent@cursor.com>
@atarantino
atarantino force-pushed the feat/copilot-acp-v2 branch from 21c2ffa to 860c572 Compare August 12, 2026 23:34
Comment thread apps/server/src/provider/acp/CopilotAcpSupport.ts Outdated
Map automatic model aliases through the negotiated ACP options so resumed sessions do not retain a previously selected concrete model.

Co-authored-by: Cursor <cursoragent@cursor.com>
Comment thread apps/server/src/provider/acp/CopilotAcpSupport.ts Outdated
Reload ACP configuration after model selection so reasoning settings are validated against the newly active model.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size:XXL 1,000+ changed lines (additions + deletions). vouch:unvouched PR author is not yet trusted in the VOUCHED list.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant