diff --git a/packages/types/src/__tests__/openai-models.test.ts b/packages/types/src/__tests__/openai-models.test.ts index bc2b41427c..2420a53055 100644 --- a/packages/types/src/__tests__/openai-models.test.ts +++ b/packages/types/src/__tests__/openai-models.test.ts @@ -47,6 +47,53 @@ describe("OpenAI native models", () => { ]) }) + it("describes GPT-6.1 Sol with verified pricing and context metadata", () => { + expect(openAiNativeModels["gpt-6.1-sol"]).toEqual({ + maxTokens: 128_000, + contextWindow: 1_050_000, + includedTools: ["apply_patch"], + excludedTools: ["apply_diff", "write_to_file"], + supportsImages: true, + supportsPromptCache: true, + supportsReasoningEffort: ["low", "medium", "high", "xhigh", "max"], + requiredReasoningEffort: true, + reasoningEffort: "medium", + inputPrice: 2, + outputPrice: 10, + cacheWritesPrice: 2.5, + cacheReadsPrice: 0.1, + longContextPricing: { + thresholdTokens: 272_000, + inputPriceMultiplier: 2, + outputPriceMultiplier: 1.5, + cacheWritesPriceMultiplier: 2, + cacheReadsPriceMultiplier: 2, + appliesToServiceTiers: ["default", "flex", "priority"], + }, + supportsVerbosity: true, + supportsTemperature: false, + tiers: [ + { + name: "flex", + contextWindow: 1_050_000, + inputPrice: 1, + outputPrice: 5, + cacheWritesPrice: 1.25, + cacheReadsPrice: 0.05, + }, + { + name: "priority", + contextWindow: 1_050_000, + inputPrice: 4, + outputPrice: 20, + cacheWritesPrice: 5, + cacheReadsPrice: 0.2, + }, + ], + description: "GPT-6.1 Sol: Near-Astra performance for complex coding and professional work at a lower cost", + }) + }) + it("describes GPT-6 Sol and Luna with verified pricing and context metadata", () => { expect(openAiNativeModels["gpt-6-sol"]).toEqual({ maxTokens: 128_000, @@ -163,6 +210,26 @@ describe("OpenAI native models", () => { }) describe("OpenAI Codex models", () => { + it("describes the GPT-6.1 Sol subscription contract", () => { + expect(openAiCodexModels["gpt-6.1-sol"]).toEqual({ + maxTokens: 128_000, + contextWindow: 372_000, + includedTools: ["apply_patch"], + excludedTools: ["apply_diff", "write_to_file"], + supportsImages: true, + supportsPromptCache: true, + supportsReasoningEffort: ["low", "medium", "high", "xhigh", "max"], + requiredReasoningEffort: true, + reasoningEffort: "medium", + inputPrice: 0, + outputPrice: 0, + supportsVerbosity: true, + supportsTemperature: false, + description: + "GPT-6.1 Sol: Near-Astra performance for complex coding and professional work at a lower cost via ChatGPT subscription", + }) + }) + it("describes GPT-6 Sol and Luna subscription contracts", () => { expect(openAiCodexModels["gpt-6-sol"]).toEqual({ maxTokens: 128_000, diff --git a/packages/types/src/providers/openai-codex.ts b/packages/types/src/providers/openai-codex.ts index dab48ef218..263b80d721 100644 --- a/packages/types/src/providers/openai-codex.ts +++ b/packages/types/src/providers/openai-codex.ts @@ -40,6 +40,24 @@ export const openAiCodexModels = { supportsTemperature: false, description: "GPT-6 Astra: OpenAI's most capable model for complex, demanding work via ChatGPT subscription", }, + "gpt-6.1-sol": { + maxTokens: 128000, + contextWindow: 372000, + includedTools: ["apply_patch"], + excludedTools: ["apply_diff", "write_to_file"], + supportsImages: true, + supportsPromptCache: true, + supportsReasoningEffort: ["low", "medium", "high", "xhigh", "max"], + requiredReasoningEffort: true, + reasoningEffort: "medium", + // Subscription-based: no per-token costs + inputPrice: 0, + outputPrice: 0, + supportsVerbosity: true, + supportsTemperature: false, + description: + "GPT-6.1 Sol: Near-Astra performance for complex coding and professional work at a lower cost via ChatGPT subscription", + }, "gpt-6-sol": { maxTokens: 128000, contextWindow: 372000, diff --git a/packages/types/src/providers/openai.ts b/packages/types/src/providers/openai.ts index 4f56bb740a..f236693b5b 100644 --- a/packages/types/src/providers/openai.ts +++ b/packages/types/src/providers/openai.ts @@ -60,6 +60,50 @@ export const openAiNativeModels = { ], description: "GPT-6 Astra: OpenAI's most capable model for complex reasoning and end-to-end agentic work", }, + "gpt-6.1-sol": { + maxTokens: 128000, + contextWindow: 1_050_000, + includedTools: ["apply_patch"], + excludedTools: ["apply_diff", "write_to_file"], + supportsImages: true, + supportsPromptCache: true, + supportsReasoningEffort: ["low", "medium", "high", "xhigh", "max"], + requiredReasoningEffort: true, + reasoningEffort: "medium", + inputPrice: 2.0, + outputPrice: 10.0, + cacheWritesPrice: 2.5, + cacheReadsPrice: 0.1, + longContextPricing: { + thresholdTokens: 272_000, + inputPriceMultiplier: 2, + outputPriceMultiplier: 1.5, + cacheWritesPriceMultiplier: 2, + cacheReadsPriceMultiplier: 2, + appliesToServiceTiers: ["default", "flex", "priority"], + }, + supportsVerbosity: true, + supportsTemperature: false, + tiers: [ + { + name: "flex", + contextWindow: 1_050_000, + inputPrice: 1.0, + outputPrice: 5.0, + cacheWritesPrice: 1.25, + cacheReadsPrice: 0.05, + }, + { + name: "priority", + contextWindow: 1_050_000, + inputPrice: 4.0, + outputPrice: 20.0, + cacheWritesPrice: 5.0, + cacheReadsPrice: 0.2, + }, + ], + description: "GPT-6.1 Sol: Near-Astra performance for complex coding and professional work at a lower cost", + }, "gpt-6-sol": { maxTokens: 128000, contextWindow: 1_050_000,