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({ +