Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 14 additions & 2 deletions containers/api-proxy/model-api-mapping.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"title": "Model-to-API Endpoint Mapping",
"description": "Maps AI model families to their supported API endpoints. Used to determine which endpoint (chat/completions vs responses vs messages) a model requires.",
"lastUpdated": "2026-07-25T06:01:17Z",
"lastUpdated": "2026-08-12T05:43:00Z",
"sources": {
"openai": "https://platform.openai.com/docs/models",
"anthropic": "https://docs.anthropic.com/en/docs/about-claude/models"
Expand All @@ -19,11 +19,23 @@
}
},
"models": [
{
"family": "gpt-daybreak",
"patterns": ["gpt-daybreak-blue-latest", "gpt-daybreak-red-latest"],
"endpoints": ["responses"],
"notes": "Responses API only (ResponsesModel-only Literal). Experimental/preview aliases not present in ChatModel."
},
{
"family": "gpt-5.6-cyber",
"patterns": ["gpt-5.6-cyber*"],
"endpoints": ["responses"],
"notes": "Responses API only (ResponsesModel-only Literal, not in ChatModel). More specific than gpt-5.6* pattern below."
},
{
"family": "gpt-5.6",
"patterns": ["gpt-5.6*"],
"endpoints": ["chat_completions", "responses"],
"notes": "Supports both endpoints. Includes gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna per OpenAI SDK ChatModel."
"notes": "Supports both endpoints. Includes gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna per OpenAI SDK ChatModel. gpt-5.6-cyber is responses-only (see separate entry above)."
},
{
"family": "gpt-5.5",
Expand Down
2 changes: 1 addition & 1 deletion containers/api-proxy/model-api-mapping.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ describe('model-api-mapping', () => {
expect(reflect.available).toBe(true);
expect(reflect.providers).toContain('openai');
expect(reflect.providers).toContain('anthropic');
expect(reflect.last_updated).toBe('2026-07-25T06:01:17Z');
expect(reflect.last_updated).toBe('2026-08-12T05:43:00Z');
expect(reflect.models.anthropic.models[0].family).toBe('claude-opus-5');
expect(reflect.error).toBeNull();
});
Expand Down
16 changes: 14 additions & 2 deletions docs/model-api-mapping.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"title": "Model-to-API Endpoint Mapping",
"description": "Maps AI model families to their supported API endpoints. Used to determine which endpoint (chat/completions vs responses vs messages) a model requires.",
"lastUpdated": "2026-08-05T06:03:21Z",
"lastUpdated": "2026-08-12T05:43:00Z",
"sources": {
"openai": "https://platform.openai.com/docs/models",
"anthropic": "https://docs.anthropic.com/en/docs/about-claude/models"
Expand All @@ -19,11 +19,23 @@
}
},
"models": [
{
"family": "gpt-daybreak",
"patterns": ["gpt-daybreak-blue-latest", "gpt-daybreak-red-latest"],
"endpoints": ["responses"],
"notes": "Responses API only (ResponsesModel-only Literal). Experimental/preview aliases not present in ChatModel."
},
{
"family": "gpt-5.6-cyber",
"patterns": ["gpt-5.6-cyber*"],
"endpoints": ["responses"],
"notes": "Responses API only (ResponsesModel-only Literal, not in ChatModel). More specific than gpt-5.6* pattern below."
},
{
"family": "gpt-5.6",
"patterns": ["gpt-5.6*"],
"endpoints": ["chat_completions", "responses"],
"notes": "Supports both endpoints. Includes gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna per OpenAI SDK ChatModel."
"notes": "Supports both endpoints. Includes gpt-5.6-sol, gpt-5.6-terra, gpt-5.6-luna per OpenAI SDK ChatModel. gpt-5.6-cyber is responses-only (see separate entry above)."
},
{
"family": "gpt-5.5",
Expand Down
2 changes: 2 additions & 0 deletions src/copilot-model-catalog-sync.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,8 @@ const SUPPORTED_WITHOUT_CURATED_PRICING = new Set([
]);

const MAPPING_FAMILIES_NOT_EXPOSED_BY_COPILOT_CLI = new Set([
'gpt-daybreak', // responses-only preview aliases; not in the Copilot CLI model picker
'gpt-5-6-cyber', // responses-only gpt-5.6 variant; not in the Copilot CLI model picker
'gpt-5-1-codex-max',
'gpt-5-codex/pro',
'o4-mini-deep-research',
Expand Down
Loading