@websolutespa/payload-plugin-bowl-llm
Version:
LLM plugin for Bowl PayloadCms plugin
28 lines (27 loc) • 1.07 kB
JavaScript
import { ResponseSuccess } from '@websolutespa/payload-utils/server';
import { options } from '../options';
import { errorHandler } from './error.handler';
export const appToolsHandler = async (req)=>{
try {
const { payload } = req;
// load app
const llmAppId = req.query.llmApp || '';
const llmApp = await payload.findByID({
collection: options.slug.llmApp,
id: llmAppId,
overrideAccess: true
});
// get app tools (only knowledgebase tools)
const onlyActive = req.query.onlyActive !== undefined;
const appTools = llmApp?.settings?.appTools.filter((tool)=>tool.dataSource === 'knowledgebase' && (tool.isActive || !onlyActive)) || [];
// create options array
const appToolsOpts = appTools.map((tool)=>({
value: tool.functionId,
label: tool.name
}));
return ResponseSuccess(appToolsOpts);
} catch (error) {
return errorHandler(error);
}
};
//# sourceMappingURL=appTools.handler.js.map