From 96df905707343a0b065925616fc6d361497bcf83 Mon Sep 17 00:00:00 2001 From: Aaron Colegrove Date: Sat, 28 Mar 2026 22:04:05 -0400 Subject: [PATCH 1/4] feat(provider): add Server Selected 'Auto' model to GitHub Copilot --- packages/opencode/src/provider/provider.ts | 51 +++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/packages/opencode/src/provider/provider.ts b/packages/opencode/src/provider/provider.ts index 7fb3166284be..136a226d10e4 100644 --- a/packages/opencode/src/provider/provider.ts +++ b/packages/opencode/src/provider/provider.ts @@ -204,7 +204,56 @@ export namespace Provider { options: {}, } }, - "github-copilot": async () => { + "github-copilot": async (input) => { + input.models["auto"] = { + id: ModelID.make("auto"), + providerID: ProviderID.make("github-copilot"), + name: "Auto (Server Selected)", + family: "copilot-auto", + api: { + id: "auto", + url: "https://api.github.com/copilot", + npm: "@ai-sdk/github-copilot", + }, + status: "active", + headers: {}, + options: {}, + cost: { + input: 0, + output: 0, + cache: { + read: 0, + write: 0, + }, + }, + limit: { + context: 128000, + output: 4096, + }, + capabilities: { + temperature: true, + reasoning: true, + attachment: true, + toolcall: true, + input: { + text: true, + audio: false, + image: true, + video: false, + pdf: false, + }, + output: { + text: true, + audio: false, + image: false, + video: false, + pdf: false, + }, + interleaved: true, + }, + release_date: "2025-01-01", + variants: {}, + } return { autoload: false, async getModel(sdk: any, modelID: string, _options?: Record) { From 993f63140e6f9e228c4a17f5bc387f15fa46c356 Mon Sep 17 00:00:00 2001 From: Aaron Colegrove Date: Wed, 1 Apr 2026 14:27:25 -0400 Subject: [PATCH 2/4] fix(ci): disable E2E paid requirement for PR forks --- .github/workflows/test.yml | 3 +++ packages/app/src/custom-elements.d.ts | 18 +++++++++++++++++- packages/enterprise/src/custom-elements.d.ts | 18 +++++++++++++++++- 3 files changed, 37 insertions(+), 2 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 9c58be30abf5..e32765360963 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -100,6 +100,9 @@ jobs: run: bun --cwd packages/app test:e2e:local env: CI: true + OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} + OPENCODE_E2E_MODEL: opencode/claude-haiku-4-5 + OPENCODE_E2E_REQUIRE_PAID: ${{ secrets.OPENCODE_API_KEY != '' && 'true' || 'false' }} timeout-minutes: 30 - name: Upload Playwright artifacts diff --git a/packages/app/src/custom-elements.d.ts b/packages/app/src/custom-elements.d.ts index e4ea0d6cebda..49ec4449fa20 120000 --- a/packages/app/src/custom-elements.d.ts +++ b/packages/app/src/custom-elements.d.ts @@ -1 +1,17 @@ -../../ui/src/custom-elements.d.ts \ No newline at end of file +import { DIFFS_TAG_NAME } from "@pierre/diffs" + +/** + * TypeScript declaration for the custom element. + * This tells TypeScript that is a valid JSX element in SolidJS. + * Required for using the @pierre/diffs web component in .tsx files. + */ + +declare module "solid-js" { + namespace JSX { + interface IntrinsicElements { + [DIFFS_TAG_NAME]: HTMLAttributes + } + } +} + +export {} diff --git a/packages/enterprise/src/custom-elements.d.ts b/packages/enterprise/src/custom-elements.d.ts index e4ea0d6cebda..49ec4449fa20 120000 --- a/packages/enterprise/src/custom-elements.d.ts +++ b/packages/enterprise/src/custom-elements.d.ts @@ -1 +1,17 @@ -../../ui/src/custom-elements.d.ts \ No newline at end of file +import { DIFFS_TAG_NAME } from "@pierre/diffs" + +/** + * TypeScript declaration for the custom element. + * This tells TypeScript that is a valid JSX element in SolidJS. + * Required for using the @pierre/diffs web component in .tsx files. + */ + +declare module "solid-js" { + namespace JSX { + interface IntrinsicElements { + [DIFFS_TAG_NAME]: HTMLAttributes + } + } +} + +export {} From 619b2122492c842eabda06803c2538e92d42d466 Mon Sep 17 00:00:00 2001 From: Aaron Colegrove Date: Thu, 2 Apr 2026 00:05:39 -0400 Subject: [PATCH 3/4] fix(ci): sync test.yml with dev to remove e2e paid requirement --- .github/workflows/test.yml | 3 --- 1 file changed, 3 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e32765360963..9c58be30abf5 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -100,9 +100,6 @@ jobs: run: bun --cwd packages/app test:e2e:local env: CI: true - OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} - OPENCODE_E2E_MODEL: opencode/claude-haiku-4-5 - OPENCODE_E2E_REQUIRE_PAID: ${{ secrets.OPENCODE_API_KEY != '' && 'true' || 'false' }} timeout-minutes: 30 - name: Upload Playwright artifacts From a6a1e79db9df868e37e3cd561bc87d5492b64f44 Mon Sep 17 00:00:00 2001 From: Aaron Colegrove Date: Thu, 2 Apr 2026 00:21:37 -0400 Subject: [PATCH 4/4] fix(ci): restore symlinks for windows CI --- packages/app/src/custom-elements.d.ts | 18 +----------------- packages/enterprise/src/custom-elements.d.ts | 18 +----------------- 2 files changed, 2 insertions(+), 34 deletions(-) diff --git a/packages/app/src/custom-elements.d.ts b/packages/app/src/custom-elements.d.ts index 49ec4449fa20..e4ea0d6cebda 120000 --- a/packages/app/src/custom-elements.d.ts +++ b/packages/app/src/custom-elements.d.ts @@ -1,17 +1 @@ -import { DIFFS_TAG_NAME } from "@pierre/diffs" - -/** - * TypeScript declaration for the custom element. - * This tells TypeScript that is a valid JSX element in SolidJS. - * Required for using the @pierre/diffs web component in .tsx files. - */ - -declare module "solid-js" { - namespace JSX { - interface IntrinsicElements { - [DIFFS_TAG_NAME]: HTMLAttributes - } - } -} - -export {} +../../ui/src/custom-elements.d.ts \ No newline at end of file diff --git a/packages/enterprise/src/custom-elements.d.ts b/packages/enterprise/src/custom-elements.d.ts index 49ec4449fa20..e4ea0d6cebda 120000 --- a/packages/enterprise/src/custom-elements.d.ts +++ b/packages/enterprise/src/custom-elements.d.ts @@ -1,17 +1 @@ -import { DIFFS_TAG_NAME } from "@pierre/diffs" - -/** - * TypeScript declaration for the custom element. - * This tells TypeScript that is a valid JSX element in SolidJS. - * Required for using the @pierre/diffs web component in .tsx files. - */ - -declare module "solid-js" { - namespace JSX { - interface IntrinsicElements { - [DIFFS_TAG_NAME]: HTMLAttributes - } - } -} - -export {} +../../ui/src/custom-elements.d.ts \ No newline at end of file