import { getAnthropicApiKey, getCustomOpenaiApiKey, getCustomOpenaiApiUrl, getCustomOpenaiModelName, getGeminiApiKey, getGroqApiKey, getOllamaApiEndpoint, getOpenaiApiKey } from "@/lib/config" import { getAvailableChatModelProviders, getAvailableEmbeddingModelProviders } from "@/lib/providers" export const GET = async (req: Request) => { try { const config: Record = {} const [chatModelProviders, embeddingModelProviders] = await Promise.all([ getAvailableChatModelProviders(), getAvailableEmbeddingModelProviders(), ]) config['chatModelProviders'] = {} config['embeddingModelProviders'] = {} for (const provider in chatModelProviders) { config['chatModelProviders'][provider] = Object.keys( chatModelProviders[provider], ).map(model => { return { name: model, displayName: chatModelProviders[provider][model].displayName, } }) } for (const provider in embeddingModelProviders) { config['embeddingModelProviders'][provider] = Object.keys( embeddingModelProviders[provider], ).map(model => { return { name: model, displayName: embeddingModelProviders[provider][model].displayName, } }) } config['openaiApiKey'] = getOpenaiApiKey() config['ollamaApiUrl'] = getOllamaApiEndpoint() config['anthropicApiKey'] = getAnthropicApiKey() config['groqApiKey'] = getGroqApiKey() config['geminiApiKey'] = getGeminiApiKey() config['customOpenaiApiUrl'] = getCustomOpenaiApiUrl() config['customOpenaiApiKey'] = getCustomOpenaiApiKey() config['customOpenaiModelName'] = getCustomOpenaiModelName() return Response.json({ ...config }, { status: 200 }) } catch (err) { console.error('An error ocurred while getting config:', err) return Response.json( { message: 'An error ocurred while getting config' }, { status: 500 }, ) } }