Skip to content

Commit 2923349

Browse files
committed
refactor(openai-codex): align service tier types
1 parent ce11b1a commit 2923349

4 files changed

Lines changed: 12 additions & 10 deletions

File tree

packages/types/src/model.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -73,10 +73,14 @@ export type ServiceTier = z.infer<typeof serviceTierSchema>
7373
/**
7474
* Service tiers for Codex requests authenticated through a ChatGPT subscription.
7575
*/
76-
export enum OpenAiCodexServiceTier {
77-
Default = "default",
78-
Priority = "priority",
79-
}
76+
export const OpenAiCodexServiceTier = {
77+
Default: "default",
78+
Priority: "priority",
79+
} as const
80+
81+
export const openAiCodexServiceTiers = [OpenAiCodexServiceTier.Default, OpenAiCodexServiceTier.Priority] as const
82+
export const openAiCodexServiceTierSchema = z.enum(openAiCodexServiceTiers)
83+
export type OpenAiCodexServiceTier = z.infer<typeof openAiCodexServiceTierSchema>
8084

8185
/**
8286
* ModelParameter

packages/types/src/provider-settings.ts

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { z } from "zod"
22

33
import {
44
modelInfoSchema,
5-
OpenAiCodexServiceTier,
5+
openAiCodexServiceTierSchema,
66
reasoningEffortSettingSchema,
77
verbosityLevelsSchema,
88
serviceTierSchema,
@@ -287,9 +287,7 @@ const geminiCliSchema = apiModelIdProviderModelSchema.extend({
287287

288288
const openAiCodexSchema = apiModelIdProviderModelSchema.extend({
289289
// Codex "Fast" mode maps to the Responses API priority service tier.
290-
[OPEN_AI_CODEX_SERVICE_TIER_KEY]: z
291-
.enum([OpenAiCodexServiceTier.Default, OpenAiCodexServiceTier.Priority])
292-
.optional(),
290+
[OPEN_AI_CODEX_SERVICE_TIER_KEY]: openAiCodexServiceTierSchema.optional(),
293291
})
294292

295293
const openAiNativeSchema = apiModelIdProviderModelSchema.extend({

src/api/providers/__tests__/openai-codex.spec.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ describe("OpenAiCodexHandler.completePrompt service tier", () => {
261261
vitest.unstubAllGlobals()
262262
})
263263

264-
it.each<[string, OpenAiCodexServiceTier.Priority | undefined, OpenAiCodexServiceTier.Priority | undefined]>([
264+
it.each<[string, OpenAiCodexServiceTier | undefined, typeof OpenAiCodexServiceTier.Priority | undefined]>([
265265
["Fast", OpenAiCodexServiceTier.Priority, OpenAiCodexServiceTier.Priority],
266266
["Standard", undefined, undefined],
267267
])("uses the %s preference in non-streaming requests", async (_mode, configuredTier, expectedTier) => {

src/api/providers/openai-codex.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ import { t } from "../../i18n"
3232

3333
export type OpenAiCodexModel = ReturnType<OpenAiCodexHandler["getModel"]>
3434

35-
type OpenAiCodexRequestServiceTier = OpenAiCodexServiceTier.Priority
35+
type OpenAiCodexRequestServiceTier = typeof OpenAiCodexServiceTier.Priority
3636

3737
/**
3838
* OpenAI Codex base URL for API requests

0 commit comments

Comments
 (0)