From b200fa1d1a9563496b3b16025e759da058d3aa81 Mon Sep 17 00:00:00 2001 From: Sergey Androsov Date: Fri, 10 Oct 2025 19:25:10 +0300 Subject: [PATCH] FR-1933 - Research the "Knowledge Base" for AI Agent --- src/index.js | 4 +++- src/knowledge-base.js | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 src/knowledge-base.js diff --git a/src/index.js b/src/index.js index f7d98d7..f1a7ee5 100644 --- a/src/index.js +++ b/src/index.js @@ -48,6 +48,7 @@ import quickApps from './quick-apps' import frExtensions from './fr-extensions' import mcpServices from './mcp-services' import webhooks from './webhooks' +import knowledgeBase from './knowledge-base' import { community } from './community' import { marketplace } from './marketplace' @@ -226,7 +227,8 @@ const createClient = (serverUrl, authKey, options) => { webhooks : webhooks(request), pdf : pdf(request), frExtensions : frExtensions(request), - mcpServices : mcpServices(request) + mcpServices : mcpServices(request), + knowledgeBase : knowledgeBase(request) } } diff --git a/src/knowledge-base.js b/src/knowledge-base.js new file mode 100644 index 0000000..d606463 --- /dev/null +++ b/src/knowledge-base.js @@ -0,0 +1,38 @@ +import { prepareRoutes } from './utils/routes' + +const routes = prepareRoutes({ + knowledgeBase : '/api/node-server/manage/app/:appId/knowledge-base', + knowledgeBaseById : '/api/node-server/manage/app/:appId/knowledge-base/:id', + knowledgeBaseFiles : '/api/node-server/manage/app/:appId/knowledge-base/:id/files', + knowledgeBaseFilesById: '/api/node-server/manage/app/:appId/knowledge-base/:id/files/:fileId', +}) + +export default req => ({ + getAllKnowledgeBases(appId) { + return req.nodeAPI.get(routes.knowledgeBase(appId)) + }, + + getKnowledgeBase(appId, id) { + return req.nodeAPI.get(routes.knowledgeBaseById(appId, id)) + }, + + createKnowledgeBase(appId, data) { + return req.nodeAPI.post(routes.knowledgeBase(appId), data) + }, + + updateKnowledgeBaseMetaInfo(appId, id, data) { + return req.nodeAPI.put(routes.knowledgeBaseById(appId, id), data) + }, + + deleteKnowledgeBase(appId, id) { + return req.nodeAPI.delete(routes.knowledgeBaseById(appId, id)) + }, + + uploadFiles(appId, id, files) { + return req.nodeAPI.post(routes.knowledgeBaseFiles(appId, id), files) + }, + + deleteFile(appId, id, fileId) { + return req.nodeAPI.delete(routes.knowledgeBaseFilesById(appId, id, fileId)) + } +})