diff --git a/containers/api-proxy/model-api-mapping.json b/containers/api-proxy/model-api-mapping.json index f3776155f..da86e37e8 100644 --- a/containers/api-proxy/model-api-mapping.json +++ b/containers/api-proxy/model-api-mapping.json @@ -1,9 +1,9 @@ { "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-12T05:43:00Z", + "lastUpdated": "2026-09-02T07:03:56Z", "sources": { - "openai": "https://platform.openai.com/docs/models", + "openai": "https://developers.openai.com/api/docs/models", "anthropic": "https://docs.anthropic.com/en/docs/about-claude/models" }, "providers": { @@ -37,11 +37,17 @@ "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. gpt-5.6-cyber is responses-only (see separate entry above)." }, + { + "family": "gpt-5.5-pro", + "patterns": ["gpt-5.5-pro", "gpt-5.5-pro-*"], + "endpoints": ["responses"], + "notes": "Responses API only (ResponsesOnlyModel per OpenAI OpenAPI spec). More specific than gpt-5.5* pattern below. Includes dated variants like gpt-5.5-pro-2026-04-23." + }, { "family": "gpt-5.5", "patterns": ["gpt-5.5*"], "endpoints": ["chat_completions", "responses"], - "notes": "Supports both endpoints. Listed on the official GPT-5.5 model page." + "notes": "Supports both endpoints. Listed on the official GPT-5.5 model page. gpt-5.5-pro is responses-only (see separate entry above)." }, { "family": "gpt-5.4", diff --git a/containers/api-proxy/model-api-mapping.test.js b/containers/api-proxy/model-api-mapping.test.js index 2a66dadef..e7f882b24 100644 --- a/containers/api-proxy/model-api-mapping.test.js +++ b/containers/api-proxy/model-api-mapping.test.js @@ -42,6 +42,13 @@ describe('model-api-mapping', () => { expect(result.endpoints).toContain('responses'); }); + it('finds GPT-5.5-pro as responses-only', () => { + const result = lookupModelEndpoints('gpt-5.5-pro', 'openai'); + expect(result).not.toBeNull(); + expect(result.family).toBe('gpt-5.5-pro'); + expect(result.endpoints).toEqual(['responses']); + }); + it('finds GPT-5.1 as supporting both endpoints', () => { const result = lookupModelEndpoints('gpt-5.1-codex', 'openai'); expect(result).not.toBeNull(); @@ -136,7 +143,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-08-12T05:43:00Z'); + expect(reflect.last_updated).toBe('2026-09-02T07:03:56Z'); expect(reflect.models.anthropic.models[0].family).toBe('claude-opus-5'); expect(reflect.error).toBeNull(); }); diff --git a/docs/model-api-mapping.json b/docs/model-api-mapping.json index c3668a70c..da86e37e8 100644 --- a/docs/model-api-mapping.json +++ b/docs/model-api-mapping.json @@ -1,9 +1,9 @@ { "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-14T05:41:00Z", + "lastUpdated": "2026-09-02T07:03:56Z", "sources": { - "openai": "https://platform.openai.com/docs/models", + "openai": "https://developers.openai.com/api/docs/models", "anthropic": "https://docs.anthropic.com/en/docs/about-claude/models" }, "providers": {