fix: prune retired model catalog entries

This commit is contained in:
Peter Steinberger
2026-05-23 16:46:36 +01:00
parent 0c192e2915
commit b6530beb05
21 changed files with 693 additions and 225 deletions

View File

@@ -12,13 +12,9 @@ const DEFAULT_MAX_TOKENS = 8192;
// We keep this list intentionally broad; if a model isn't available Copilot will
// return an error and users can remove it from their config.
const DEFAULT_MODEL_IDS = [
"claude-haiku-4.5",
"claude-opus-4.5",
"claude-opus-4.6",
"claude-opus-4.7",
"claude-sonnet-4",
"claude-sonnet-4.6",
"claude-sonnet-4.5",
"gemini-2.5-pro",
"gemini-3-flash",
"gemini-3.1-pro",
@@ -31,7 +27,6 @@ const DEFAULT_MODEL_IDS = [
"gpt-5.4-mini",
"gpt-5.4-nano",
"gpt-5.5",
"grok-code-fast-1",
"raptor-mini",
"goldeneye",
] as const;

View File

@@ -74,8 +74,12 @@ describe("github-copilot model defaults", () => {
expect(getDefaultCopilotModelIds()).toContain("claude-sonnet-4.6");
});
it("includes claude-sonnet-4.5", () => {
expect(getDefaultCopilotModelIds()).toContain("claude-sonnet-4.5");
it("excludes retired and old Claude fallback rows", () => {
expect(getDefaultCopilotModelIds()).not.toContain("claude-sonnet-4");
expect(getDefaultCopilotModelIds()).not.toContain("claude-sonnet-4.5");
expect(getDefaultCopilotModelIds()).not.toContain("claude-opus-4.5");
expect(getDefaultCopilotModelIds()).not.toContain("claude-haiku-4.5");
expect(getDefaultCopilotModelIds()).not.toContain("grok-code-fast-1");
});
it("returns a mutable copy", () => {

View File

@@ -24,24 +24,6 @@
"baseUrl": "https://api.individual.githubcopilot.com",
"api": "openai-responses",
"models": [
{
"id": "claude-haiku-4.5",
"name": "Claude Haiku 4.5",
"api": "anthropic-messages",
"input": ["text", "image"],
"contextWindow": 128000,
"maxTokens": 8192,
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
},
{
"id": "claude-opus-4.5",
"name": "Claude Opus 4.5",
"api": "anthropic-messages",
"input": ["text", "image"],
"contextWindow": 128000,
"maxTokens": 8192,
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
},
{
"id": "claude-opus-4.6",
"name": "Claude Opus 4.6",
@@ -60,24 +42,6 @@
"maxTokens": 8192,
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
},
{
"id": "claude-sonnet-4",
"name": "Claude Sonnet 4",
"api": "anthropic-messages",
"input": ["text", "image"],
"contextWindow": 128000,
"maxTokens": 8192,
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
},
{
"id": "claude-sonnet-4.5",
"name": "Claude Sonnet 4.5",
"api": "anthropic-messages",
"input": ["text", "image"],
"contextWindow": 128000,
"maxTokens": 8192,
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
},
{
"id": "claude-sonnet-4.6",
"name": "Claude Sonnet 4.6",
@@ -191,14 +155,6 @@
"maxTokens": 8192,
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
},
{
"id": "grok-code-fast-1",
"name": "Grok Code Fast 1",
"input": ["text"],
"contextWindow": 128000,
"maxTokens": 8192,
"cost": { "input": 0, "output": 0, "cacheRead": 0, "cacheWrite": 0 }
},
{
"id": "raptor-mini",
"name": "Raptor mini",