From 5e790deff554aa0ae9ef166f4e11a4b7f29c506d Mon Sep 17 00:00:00 2001 From: Dotta Date: Thu, 8 Oct 2026 08:26:31 -0500 Subject: [PATCH] Offer Copilot in ordinary New Agent creation Co-Authored-By: Paperclip --- ui/src/components/NewAgentDialog.test.tsx | 12 ++++++++++++ ui/src/components/new-agent/AgentBasicsDialog.tsx | 1 + 2 files changed, 13 insertions(+) diff --git a/ui/src/components/NewAgentDialog.test.tsx b/ui/src/components/NewAgentDialog.test.tsx index 855294dec2..71b4cd1bb3 100644 --- a/ui/src/components/NewAgentDialog.test.tsx +++ b/ui/src/components/NewAgentDialog.test.tsx @@ -113,9 +113,21 @@ it("offers native Codex, Claude ACPX, and OpenCode runners", async () => { expect(options).toContain("Codex (app server)"); expect(options).toContain("Claude (ACPX)"); expect(options).toContain("OpenCode"); + expect(options).toContain("GitHub Copilot"); expect(options.join(" ")).not.toContain("ACPX Codex"); }); +it("opens saved-token Copilot setup through the ordinary New Agent picker", async () => { + await name(); + await act(async () => (document.querySelector('input[value="paperclip_runner"]') as HTMLInputElement).click()); + const select = document.querySelector("select") as HTMLSelectElement; + await act(async () => { select.value = "copilot"; select.dispatchEvent(new Event("change", { bubbles: true })); }); + await click("Configure agent"); + const query = new URL(state.navigate.mock.calls[0][0], "http://local").searchParams; + expect(query.get("adapterType")).toBe("paperclip_runner"); + expect(query.get("runnerProvider")).toBe("copilot"); +}); + it.each([false, undefined])( "hides the runner unless explicitly enabled (%s)", async (enableNativeRunner) => { diff --git a/ui/src/components/new-agent/AgentBasicsDialog.tsx b/ui/src/components/new-agent/AgentBasicsDialog.tsx index e2039cd7bd..8879295845 100644 --- a/ui/src/components/new-agent/AgentBasicsDialog.tsx +++ b/ui/src/components/new-agent/AgentBasicsDialog.tsx @@ -230,6 +230,7 @@ export function AgentBasicsDialog({ +