Skip to content

Commit d988a63

Browse files
jasnsyBunsDevCopilot
authored
Add GitHub Copilot provider support (#369)
* Add GitHub Copilot provider support * Address Copilot PR review feedback * Address follow-up Copilot review feedback * Resolve rebase conflicts on main * Update apps/server/src/provider/Layers/CopilotAdapter.ts Co-authored-by: Copilot <[email protected]> * Update apps/server/src/provider/Layers/CopilotAdapter.ts Co-authored-by: Copilot <[email protected]> --------- Co-authored-by: Val Alexander <[email protected]> Co-authored-by: Copilot <[email protected]> Co-authored-by: Val Alexander <[email protected]>
1 parent 922c436 commit d988a63

28 files changed

+1646
-33
lines changed

apps/server/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@
2626
"@anthropic-ai/claude-agent-sdk": "^0.2.77",
2727
"@effect/platform-node": "catalog:",
2828
"@effect/sql-sqlite-bun": "catalog:",
29-
"@pierre/diffs": "1.1.13",
29+
"@github/copilot-sdk": "^0.2.1",
30+
"@pierre/diffs": "^1.1.0-beta.16",
3031
"effect": "catalog:",
3132
"node-pty": "^1.1.0",
3233
"open": "^10.1.0",

apps/server/src/doctor.ts

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import { Effect } from "effect";
1010
import { Command } from "effect/unstable/cli";
1111

1212
import {
13+
checkCopilotProviderStatus,
1314
checkCodexProviderStatus,
1415
checkClaudeProviderStatus,
1516
} from "./provider/Layers/ProviderHealth";
@@ -32,6 +33,7 @@ const AUTH_LABELS: Record<string, string> = {
3233
const PROVIDER_LABELS: Record<string, string> = {
3334
codex: "Codex (OpenAI)",
3435
claudeAgent: "Claude Code",
36+
copilot: "GitHub Copilot",
3537
};
3638

3739
function printStatus(status: ServerProviderStatus): void {
@@ -65,9 +67,12 @@ const doctorProgram = Effect.gen(function* () {
6567
console.log("");
6668
console.log("Checking provider health...");
6769

68-
const statuses = yield* Effect.all([checkCodexProviderStatus, checkClaudeProviderStatus], {
69-
concurrency: "unbounded",
70-
});
70+
const statuses = yield* Effect.all(
71+
[checkCodexProviderStatus, checkClaudeProviderStatus, checkCopilotProviderStatus],
72+
{
73+
concurrency: "unbounded",
74+
},
75+
);
7176

7277
for (const status of statuses) {
7378
printStatus(status);

0 commit comments

Comments
 (0)