|
|
@@ -159,6 +159,11 @@ const geminiSchema = apiModelIdProviderModelSchema.extend({
|
|
|
googleGeminiBaseUrl: z.string().optional(),
|
|
|
})
|
|
|
|
|
|
+const geminiCliSchema = apiModelIdProviderModelSchema.extend({
|
|
|
+ geminiCliOAuthPath: z.string().optional(),
|
|
|
+ geminiCliProjectId: z.string().optional(),
|
|
|
+})
|
|
|
+
|
|
|
const openAiNativeSchema = apiModelIdProviderModelSchema.extend({
|
|
|
openAiNativeApiKey: z.string().optional(),
|
|
|
openAiNativeBaseUrl: z.string().optional(),
|
|
|
@@ -224,6 +229,7 @@ export const providerSettingsSchemaDiscriminated = z.discriminatedUnion("apiProv
|
|
|
vsCodeLmSchema.merge(z.object({ apiProvider: z.literal("vscode-lm") })),
|
|
|
lmStudioSchema.merge(z.object({ apiProvider: z.literal("lmstudio") })),
|
|
|
geminiSchema.merge(z.object({ apiProvider: z.literal("gemini") })),
|
|
|
+ geminiCliSchema.merge(z.object({ apiProvider: z.literal("gemini-cli") })),
|
|
|
openAiNativeSchema.merge(z.object({ apiProvider: z.literal("openai-native") })),
|
|
|
mistralSchema.merge(z.object({ apiProvider: z.literal("mistral") })),
|
|
|
deepSeekSchema.merge(z.object({ apiProvider: z.literal("deepseek") })),
|
|
|
@@ -251,6 +257,7 @@ export const providerSettingsSchema = z.object({
|
|
|
...vsCodeLmSchema.shape,
|
|
|
...lmStudioSchema.shape,
|
|
|
...geminiSchema.shape,
|
|
|
+ ...geminiCliSchema.shape,
|
|
|
...openAiNativeSchema.shape,
|
|
|
...mistralSchema.shape,
|
|
|
...deepSeekSchema.shape,
|