diff --git a/.changeset/fix-openai-codex-type.md b/.changeset/fix-openai-codex-type.md new file mode 100644 index 00000000000..434272c6d80 --- /dev/null +++ b/.changeset/fix-openai-codex-type.md @@ -0,0 +1,5 @@ +--- +"@kilocode/core-schemas": patch +--- + +Add missing openai-codex provider type definition diff --git a/cli/src/config/mapper.ts b/cli/src/config/mapper.ts index 89fba1b4cf1..3e1a3766bdf 100644 --- a/cli/src/config/mapper.ts +++ b/cli/src/config/mapper.ts @@ -102,6 +102,7 @@ export function getModelIdForProvider(provider: ProviderConfig): string { case "anthropic": return provider.apiModelId || "" case "openai-native": + case "openai-codex": return provider.apiModelId || "" case "openrouter": return provider.openRouterModelId || "" diff --git a/cli/src/config/schema.json b/cli/src/config/schema.json index 107e806ac9e..1c29931b897 100644 --- a/cli/src/config/schema.json +++ b/cli/src/config/schema.json @@ -235,6 +235,7 @@ "kilocode", "anthropic", "openai-native", + "openai-codex", "openrouter", "bedrock", "gemini", @@ -443,6 +444,19 @@ } } }, + { + "if": { + "properties": { "provider": { "const": "openai-codex" } } + }, + "then": { + "properties": { + "apiModelId": { + "type": "string", + "description": "OpenAI model ID" + } + } + } + }, { "if": { "properties": { "provider": { "const": "openrouter" } } diff --git a/packages/core-schemas/src/config/provider.ts b/packages/core-schemas/src/config/provider.ts index 588ef85044f..48e77e30d53 100644 --- a/packages/core-schemas/src/config/provider.ts +++ b/packages/core-schemas/src/config/provider.ts @@ -37,6 +37,14 @@ export const openAINativeProviderSchema = baseProviderSchema.extend({ openAiNativeServiceTier: z.enum(["auto", "default", "flex", "priority"]).optional(), }) +// kilocode_change start +// OpenAI Codex provider (ChatGPT Plus/Pro) +export const openAICodexProviderSchema = baseProviderSchema.extend({ + provider: z.literal("openai-codex"), + apiModelId: z.string().optional(), +}) +// kilocode_change end + // OpenAI provider export const openAIProviderSchema = baseProviderSchema.extend({ provider: z.literal("openai"), @@ -387,6 +395,7 @@ export const providerConfigSchema = z.discriminatedUnion("provider", [ kilocodeProviderSchema, anthropicProviderSchema, openAINativeProviderSchema, + openAICodexProviderSchema, // kilocode_change openAIProviderSchema, openRouterProviderSchema, ollamaProviderSchema, @@ -432,6 +441,7 @@ export const providerConfigSchema = z.discriminatedUnion("provider", [ export type KilocodeProviderConfig = z.infer export type AnthropicProviderConfig = z.infer export type OpenAINativeProviderConfig = z.infer +export type OpenAICodexProviderConfig = z.infer // kilocode_change export type OpenAIProviderConfig = z.infer export type OpenRouterProviderConfig = z.infer export type OllamaProviderConfig = z.infer