UNPKG

@websolutespa/payload-plugin-bowl-llm

Version:

LLM plugin for Bowl PayloadCms plugin

29 lines (28 loc) 1.03 kB
import { InMemoryCache } from '@websolutespa/payload-plugin-bowl'; import { ResponseSuccess } from '@websolutespa/payload-utils/server'; import { addDataAndFileToRequest } from 'payload'; import { fetchRobot } from '../utils/robot'; import { errorHandler } from './error.handler'; import { getApp } from './llmModels.handler'; const CACHE_ = new InMemoryCache(); const getLlmProviders = async ()=>{ const cacheKey = 'providers'; if (CACHE_.has(cacheKey)) { return CACHE_.get(cacheKey); } const providers = await fetchRobot('api/llm/extension/providers', 'GET'); CACHE_.set(cacheKey, providers); return providers; }; export const llmProvidersHandler = async (req)=>{ try { await addDataAndFileToRequest(req); const { payload } = req; await getApp(payload, req); const providers = await getLlmProviders(); return ResponseSuccess(providers); } catch (error) { return errorHandler(error); } }; //# sourceMappingURL=llmProviders.handler.js.map