diff --git a/src/app/api/models/route.ts b/src/app/api/models/route.ts deleted file mode 100644 index 04a6949..0000000 --- a/src/app/api/models/route.ts +++ /dev/null @@ -1,47 +0,0 @@ -import { - getAvailableChatModelProviders, - getAvailableEmbeddingModelProviders, -} from '@/lib/providers'; - -export const GET = async (req: Request) => { - try { - const [chatModelProviders, embeddingModelProviders] = await Promise.all([ - getAvailableChatModelProviders(), - getAvailableEmbeddingModelProviders(), - ]); - - Object.keys(chatModelProviders).forEach((provider) => { - Object.keys(chatModelProviders[provider]).forEach((model) => { - delete (chatModelProviders[provider][model] as { model?: unknown }) - .model; - }); - }); - - Object.keys(embeddingModelProviders).forEach((provider) => { - Object.keys(embeddingModelProviders[provider]).forEach((model) => { - delete (embeddingModelProviders[provider][model] as { model?: unknown }) - .model; - }); - }); - - return Response.json( - { - chatModelProviders, - embeddingModelProviders, - }, - { - status: 200, - }, - ); - } catch (err) { - console.error('An error occurred while fetching models', err); - return Response.json( - { - message: 'An error has occurred.', - }, - { - status: 500, - }, - ); - } -}; diff --git a/src/app/api/providers/route.ts b/src/app/api/providers/route.ts new file mode 100644 index 0000000..1a80957 --- /dev/null +++ b/src/app/api/providers/route.ts @@ -0,0 +1,28 @@ +import ModelRegistry from '@/lib/models/registry'; + +export const GET = async (req: Request) => { + try { + const registry = new ModelRegistry(); + + const activeProviders = await registry.getActiveProviders(); + + return Response.json( + { + providers: activeProviders, + }, + { + status: 200, + }, + ); + } catch (err) { + console.error('An error occurred while fetching providers', err); + return Response.json( + { + message: 'An error has occurred.', + }, + { + status: 500, + }, + ); + } +};