From 73ee8697495dcfdffaef9f409d4562114866415b Mon Sep 17 00:00:00 2001 From: Cohee <18619528+Cohee1207@users.noreply.github.com> Date: Tue, 17 Sep 2024 10:38:14 +0000 Subject: [PATCH] Load sysprompts from content manager --- src/endpoints/content-manager.js | 5 ++++- src/endpoints/presets.js | 2 ++ src/endpoints/settings.js | 2 ++ src/users.js | 1 + 4 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/endpoints/content-manager.js b/src/endpoints/content-manager.js index afb6917f1..8588bc5f4 100644 --- a/src/endpoints/content-manager.js +++ b/src/endpoints/content-manager.js @@ -43,6 +43,7 @@ const CONTENT_TYPES = { CONTEXT: 'context', MOVING_UI: 'moving_ui', QUICK_REPLIES: 'quick_replies', + SYSPROMPT: 'sysprompt', }; /** @@ -56,7 +57,7 @@ function getDefaultPresets(directories) { const presets = []; for (const contentItem of contentIndex) { - if (contentItem.type.endsWith('_preset') || contentItem.type === 'instruct' || contentItem.type === 'context') { + if (contentItem.type.endsWith('_preset') || contentItem.type === 'instruct' || contentItem.type === 'context' || contentItem.type === 'sysprompt') { contentItem.name = path.parse(contentItem.filename).name; contentItem.folder = getTargetByType(contentItem.type, directories); presets.push(contentItem); @@ -257,6 +258,8 @@ function getTargetByType(type, directories) { return directories.movingUI; case CONTENT_TYPES.QUICK_REPLIES: return directories.quickreplies; + case CONTENT_TYPES.SYSPROMPT: + return directories.sysprompt; default: return null; } diff --git a/src/endpoints/presets.js b/src/endpoints/presets.js index ed90275cb..bc3ed59b3 100644 --- a/src/endpoints/presets.js +++ b/src/endpoints/presets.js @@ -27,6 +27,8 @@ function getPresetSettingsByAPI(apiId, directories) { return { folder: directories.instruct, extension: '.json' }; case 'context': return { folder: directories.context, extension: '.json' }; + case 'sysprompt': + return { folder: directories.sysprompt, extension: '.json' }; default: return { folder: null, extension: null }; } diff --git a/src/endpoints/settings.js b/src/endpoints/settings.js index 301d2ae79..95d871d1c 100644 --- a/src/endpoints/settings.js +++ b/src/endpoints/settings.js @@ -251,6 +251,7 @@ router.post('/get', jsonParser, (request, response) => { const instruct = readAndParseFromDirectory(request.user.directories.instruct); const context = readAndParseFromDirectory(request.user.directories.context); + const sysprompt = readAndParseFromDirectory(request.user.directories.sysprompt); response.send({ settings, @@ -268,6 +269,7 @@ router.post('/get', jsonParser, (request, response) => { quickReplyPresets, instruct, context, + sysprompt, enable_extensions: ENABLE_EXTENSIONS, enable_extensions_auto_update: ENABLE_EXTENSIONS_AUTO_UPDATE, enable_accounts: ENABLE_ACCOUNTS, diff --git a/src/users.js b/src/users.js index ab0352294..d304d2942 100644 --- a/src/users.js +++ b/src/users.js @@ -82,6 +82,7 @@ const STORAGE_KEYS = { * @property {string} files - The directory where the uploaded files are stored * @property {string} vectors - The directory where the vectors are stored * @property {string} backups - The directory where the backups are stored + * @property {string} sysprompt - The directory where the system prompt data is stored */ /**