Browse Source

fix(gemini): use strict types for provider config and audit

- Narrow preference type to "enabled" | "disabled" (exclude unreachable "inherit")
- Use ProviderType and GeminiGoogleSearchPreference types instead of string

Co-Authored-By: Claude Opus 4.5 <[email protected]>
ding113 1 week ago
parent
commit
3adfb187cb
2 changed files with 4 additions and 3 deletions
  1. 3 2
      src/lib/gemini/provider-overrides.ts
  2. 1 1
      src/types/special-settings.ts

+ 3 - 2
src/lib/gemini/provider-overrides.ts

@@ -1,10 +1,11 @@
+import type { GeminiGoogleSearchPreference, ProviderType } from "@/types/provider";
 import type { GeminiGoogleSearchOverrideSpecialSetting } from "@/types/special-settings";
 
 type GeminiProviderOverrideConfig = {
   id?: number;
   name?: string;
-  providerType?: string;
-  geminiGoogleSearchPreference?: string | null;
+  providerType?: ProviderType;
+  geminiGoogleSearchPreference?: GeminiGoogleSearchPreference | null;
 };
 
 function isPlainObject(value: unknown): value is Record<string, unknown> {

+ 1 - 1
src/types/special-settings.ts

@@ -169,6 +169,6 @@ export type GeminiGoogleSearchOverrideSpecialSetting = {
   providerId: number | null;
   providerName: string | null;
   action: "inject" | "remove" | "passthrough";
-  preference: "enabled" | "disabled" | "inherit";
+  preference: "enabled" | "disabled";
   hadGoogleSearchInRequest: boolean;
 };