diff --git a/packages/core/src/plugin/provider/openai.ts b/packages/core/src/plugin/provider/openai.ts index 4070334255bb..6cc6b23d12f0 100644 --- a/packages/core/src/plugin/provider/openai.ts +++ b/packages/core/src/plugin/provider/openai.ts @@ -293,7 +293,10 @@ export const OpenAIPlugin = define({ } draft.cost = [] // Match Codex CLI so context consumption and subscription usage stay consistent between clients. - draft.limit = { ...draft.limit, context: 400_000, input: 272_000 } + draft.limit = + apiID === "gpt-6.1-sol" + ? { ...draft.limit, context: 628_000, input: 500_000 } + : { ...draft.limit, context: 400_000, input: 272_000 } }) } }) diff --git a/packages/core/test/plugin/provider-openai.test.ts b/packages/core/test/plugin/provider-openai.test.ts index 99cea505c249..a9f2c89968e6 100644 --- a/packages/core/test/plugin/provider-openai.test.ts +++ b/packages/core/test/plugin/provider-openai.test.ts @@ -122,6 +122,13 @@ describe("OpenAIPlugin", () => { catalog.models.update(Provider.ID.openai, Model.ID.make("gpt-6-astra"), (model) => { model.limit = { context: 1_050_000, input: 922_000, output: 128_000 } }) + catalog.models.update(Provider.ID.openai, Model.ID.make("gpt-6.1-sol"), (model) => { + model.limit = { context: 1_050_000, input: 922_000, output: 128_000 } + }) + catalog.models.update(Provider.ID.openai, Model.ID.make("gpt-6.1-sol-fast"), (model) => { + model.modelID = Model.ID.make("gpt-6.1-sol") + model.limit = { context: 1_050_000, input: 922_000, output: 128_000 } + }) catalog.models.update(Provider.ID.openai, Model.ID.make("gpt-5.10"), (model) => { model.limit = { context: 1_050_000, input: 922_000, output: 128_000 } }) @@ -181,6 +188,16 @@ describe("OpenAIPlugin", () => { expect(gpt56.limit).toEqual({ context: 400_000, input: 272_000, output: 128_000 }) expect(required(yield* models.get(Provider.ID.openai, Model.ID.make("gpt-4.1"))).enabled).toBe(false) expect(required(yield* models.get(Provider.ID.openai, Model.ID.make("gpt-6-astra"))).enabled).toBe(true) + expect(required(yield* models.get(Provider.ID.openai, Model.ID.make("gpt-6.1-sol"))).limit).toEqual({ + context: 628_000, + input: 500_000, + output: 128_000, + }) + expect(required(yield* models.get(Provider.ID.openai, Model.ID.make("gpt-6.1-sol-fast"))).limit).toEqual({ + context: 628_000, + input: 500_000, + output: 128_000, + }) expect(required(yield* models.get(Provider.ID.openai, Model.ID.make("gpt-5.10"))).enabled).toBe(true) expect(required(yield* models.get(Provider.ID.openai, Model.ID.make("gpt-5"))).enabled).toBe(false) expect(required(yield* models.get(Provider.ID.openai, Model.ID.make("gpt-5.04-astra"))).enabled).toBe(false)