import { useLocalStorage } from "usehooks-ts" import { defaultSettings } from "@/app/interface/settings-dialog/defaultSettings" import { localStorageKeys } from "@/app/interface/settings-dialog/localStorageKeys" import { LLMEngine, LLMVendor, LLMVendorConfig } from "@/types" export function useLLMVendorConfig(): LLMVendorConfig { const [vendor, ] = useLocalStorage( localStorageKeys.llmVendor, defaultSettings.llmVendor ) const [openaiApiKey, ] = useLocalStorage( localStorageKeys.openaiApiKey, defaultSettings.openaiApiKey ) const [openaiApiLanguageModel, ] = useLocalStorage( localStorageKeys.openaiApiLanguageModel, defaultSettings.openaiApiLanguageModel ) const [groqApiKey, ] = useLocalStorage( localStorageKeys.groqApiKey, defaultSettings.groqApiKey ) const [groqApiLanguageModel, ] = useLocalStorage( localStorageKeys.groqApiLanguageModel, defaultSettings.groqApiLanguageModel ) const [anthropicApiKey, ] = useLocalStorage( localStorageKeys.anthropicApiKey, defaultSettings.anthropicApiKey ) const [anthropicApiLanguageModel, ] = useLocalStorage( localStorageKeys.anthropicApiLanguageModel, defaultSettings.anthropicApiLanguageModel ) const apiKey = vendor === "ANTHROPIC" ? anthropicApiKey : vendor === "GROQ" ? groqApiKey : vendor === "OPENAI" ? openaiApiKey : "" const modelId = vendor === "ANTHROPIC" ? anthropicApiLanguageModel : vendor === "GROQ" ? groqApiLanguageModel : vendor === "OPENAI" ? openaiApiLanguageModel : "" return { vendor, apiKey, modelId, } }