@websolutespa/payload-plugin-bowl-llm
Version:
LLM plugin for Bowl PayloadCms plugin
29 lines (28 loc) • 1.03 kB
JavaScript
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