Apply minor code style and stability improvements

This commit is contained in:
maver
2023-06-30 20:30:09 +02:00
parent 579f303fb0
commit d469c80ef5

View File

@ -197,9 +197,11 @@ PromptManagerModule.prototype.init = function (moduleConfiguration, serviceSetti
const prompt = this.getPromptById(promptId); const prompt = this.getPromptById(promptId);
if (null === prompt) { if (null === prompt) {
this.addPrompt({}, promptId); const newPrompt = {};
this.updatePromptWithPromptEditForm(newPrompt);
this.addPrompt(newPrompt, promptId);
} else { } else {
this.updatePrompt(prompt); this.updatePromptWithPromptEditForm(prompt);
} }
this.hideEditForm(); this.hideEditForm();
@ -347,7 +349,7 @@ PromptManagerModule.prototype.render = function (afterTryGenerate = true) {
* @param {object} prompt - The prompt to be updated. * @param {object} prompt - The prompt to be updated.
* @returns {void} * @returns {void}
*/ */
PromptManagerModule.prototype.updatePrompt = function (prompt) { PromptManagerModule.prototype.updatePromptWithPromptEditForm = function (prompt) {
prompt.name = document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_name').value; prompt.name = document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_name').value;
prompt.role = document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_role').value; prompt.role = document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_role').value;
prompt.content = document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_prompt').value; prompt.content = document.getElementById(this.configuration.prefix + 'prompt_manager_popup_entry_form_prompt').value;
@ -414,6 +416,9 @@ PromptManagerModule.prototype.detachPrompt = function (prompt, character) {
* @returns {void} * @returns {void}
*/ */
PromptManagerModule.prototype.addPrompt = function (prompt, identifier) { PromptManagerModule.prototype.addPrompt = function (prompt, identifier) {
if (typeof prompt !== 'object' || prompt === null) throw new Error('Object is not a prompt');
const newPrompt = { const newPrompt = {
identifier: identifier, identifier: identifier,
system_prompt: false, system_prompt: false,
@ -421,7 +426,6 @@ PromptManagerModule.prototype.addPrompt = function (prompt, identifier) {
...prompt ...prompt
} }
this.updatePrompt(newPrompt);
this.serviceSettings.prompts.push(newPrompt); this.serviceSettings.prompts.push(newPrompt);
} }
@ -430,25 +434,18 @@ PromptManagerModule.prototype.addPrompt = function (prompt, identifier) {
* @returns {void} * @returns {void}
*/ */
PromptManagerModule.prototype.sanitizeServiceSettings = function () { PromptManagerModule.prototype.sanitizeServiceSettings = function () {
if (this.serviceSettings.prompts === undefined) { this.serviceSettings.prompts = this.serviceSettings.prompts ?? [];
this.serviceSettings.prompts = []; this.serviceSettings.prompt_lists = this.serviceSettings.prompt_lists ?? [];
}
if (this.serviceSettings.prompt_lists === undefined) {
this.serviceSettings.prompt_lists = [];
}
// Check whether the referenced prompts are present. // Check whether the referenced prompts are present.
if (0 === this.serviceSettings.prompts.length) this.setPrompts(openAiDefaultPrompts.prompts); this.serviceSettings.prompts.length === 0
else this.checkForMissingPrompts(this.serviceSettings.prompts); ? this.setPrompts(openAiDefaultPrompts.prompts)
: this.checkForMissingPrompts(this.serviceSettings.prompts);
// Check whether the prompt manager settings are present. this.serviceSettings.prompt_manager_settings = this.serviceSettings.prompt_manager_settings ?? {...defaultPromptManagerSettings};
if (this.serviceSettings.prompt_manager_settings === undefined) {
this.serviceSettings.prompt_manager_settings = Object.assign({}, defaultPromptManagerSettings);
}
// Add identifiers if there are none assigned to a prompt // Add identifiers if there are none assigned to a prompt
this.serviceSettings.prompts.forEach((prompt => prompt && (prompt.identifier = prompt.identifier || this.getUuidv4()))); this.serviceSettings.prompts.forEach(prompt => prompt && (prompt.identifier = prompt.identifier ?? this.getUuidv4()));
}; };
PromptManagerModule.prototype.checkForMissingPrompts = function(prompts) { PromptManagerModule.prototype.checkForMissingPrompts = function(prompts) {
@ -459,9 +456,11 @@ PromptManagerModule.prototype.checkForMissingPrompts = function(prompts) {
); );
missingIdentifiers.forEach(identifier => { missingIdentifiers.forEach(identifier => {
console.log('[PromptManager] Missing system prompt: ' + identifier + '. Adding default.');
const defaultPrompt = openAiDefaultPrompts.prompts.find(prompt => prompt?.identifier === identifier); const defaultPrompt = openAiDefaultPrompts.prompts.find(prompt => prompt?.identifier === identifier);
if (defaultPrompt) prompts.push(defaultPrompt); if (defaultPrompt) {
prompts.push(defaultPrompt);
console.log(`[PromptManager] Missing system prompt: ${defaultPrompt.identifier}. Added default.`);
}
}); });
}; };