Merge branch 'staging' of https://github.com/Bronya-Rand/SillyTavern into staging

This commit is contained in:
Bronya Rand 2023-12-04 18:43:39 -06:00
commit 5adfd107c0
2 changed files with 13 additions and 13 deletions

View File

@ -4071,7 +4071,7 @@
<div class="world_entry_form_control"> <div class="world_entry_form_control">
<small class="textAlignCenter">Logic</small> <small class="textAlignCenter">Logic</small>
<select name="entryLogicType" class="widthFitContent margin0"> <select name="entryLogicType" class="widthFitContent margin0">
<option value="0">AND</option> <option value="0">AND ONE</option>
<option value="1">NOT ALL</option> <option value="1">NOT ALL</option>
<option value="2">NOT ONE</option> <option value="2">NOT ONE</option>
</select> </select>

View File

@ -36,7 +36,7 @@ const world_info_insertion_strategy = {
}; };
const world_info_logic = { const world_info_logic = {
AND: 0, AND_ONE: 0,
NOT_ALL: 1, NOT_ALL: 1,
NOT_ONE: 2, NOT_ONE: 2,
}; };
@ -849,7 +849,7 @@ function getWorldEntry(name, data, entry) {
const uid = $(this).data('uid'); const uid = $(this).data('uid');
const value = Number($(this).val()); const value = Number($(this).val());
console.debug(`logic for ${entry.uid} set to ${value}`); console.debug(`logic for ${entry.uid} set to ${value}`);
data.entries[uid].selectiveLogic = !isNaN(value) ? value : world_info_logic.AND; data.entries[uid].selectiveLogic = !isNaN(value) ? value : world_info_logic.AND_ONE;
setOriginalDataValue(data, uid, 'selectiveLogic', data.entries[uid].selectiveLogic); setOriginalDataValue(data, uid, 'selectiveLogic', data.entries[uid].selectiveLogic);
saveWorldInfo(name, data); saveWorldInfo(name, data);
}); });
@ -1371,7 +1371,7 @@ const newEntryTemplate = {
content: '', content: '',
constant: false, constant: false,
selective: true, selective: true,
selectiveLogic: world_info_logic.AND, selectiveLogic: world_info_logic.AND_ONE,
addMemo: false, addMemo: false,
order: 100, order: 100,
position: 0, position: 0,
@ -1791,11 +1791,11 @@ async function checkWorldInfo(chat, maxContext) {
hasAnyMatch = true; hasAnyMatch = true;
} }
// Simplified AND ONE/NOT ONE (AND/NOR) if statement. (Proper fix for PR#1356 by Bronya) // Simplified AND ONE / NOT ONE if statement. (Proper fix for PR#1356 by Bronya)
// If AND ONE logic and the main checks pass OR if NOT ONE logic and the main checks do not pass // If AND ONE logic and the main checks pass OR if NOT ONE logic and the main checks do not pass
if ((selectiveLogic === world_info_logic.AND && hasSecondaryMatch) || (selectiveLogic === world_info_logic.NOT_ALL && !hasSecondaryMatch)) { if ((selectiveLogic === world_info_logic.AND_ONE && hasSecondaryMatch) || (selectiveLogic === world_info_logic.NOT_ALL && !hasSecondaryMatch)) {
// Differ both logic statements in the debugger // Differ both logic statements in the debugger
if (selectiveLogic === world_info_logic.AND) { if (selectiveLogic === world_info_logic.AND_ONE) {
console.debug(`(AND ONE Check) Activating WI Entry ${entry.uid}. Found match for word: ${substituted} ${secondarySubstituted}`); console.debug(`(AND ONE Check) Activating WI Entry ${entry.uid}. Found match for word: ${substituted} ${secondarySubstituted}`);
} else { } else {
console.debug(`(NOT ONE Check) Activating WI Entry ${entry.uid}. Found match for word "${substituted}" without secondary keyword: ${secondarySubstituted}`); console.debug(`(NOT ONE Check) Activating WI Entry ${entry.uid}. Found match for word "${substituted}" without secondary keyword: ${secondarySubstituted}`);
@ -1805,9 +1805,9 @@ async function checkWorldInfo(chat, maxContext) {
} }
} }
// Handle NOT ALL (NOT AND) logic // Handle NOT ALL logic
if (selectiveLogic === world_info_logic.NOT_ONE && !hasAnyMatch) { if (selectiveLogic === world_info_logic.NOT_ONE && !hasAnyMatch) {
console.debug(`(NOT ALL Check) Activating WI Entry ${entry.uid}. Found match for word "${substituted}" without secondary keyword.`); console.debug(`(NOT ALL Check) Activating WI Entry ${entry.uid}, no secondary keywords found.`);
activatedNow.add(entry); activatedNow.add(entry);
} }
@ -1975,7 +1975,7 @@ function convertAgnaiMemoryBook(inputObj) {
content: entry.entry, content: entry.entry,
constant: false, constant: false,
selective: false, selective: false,
selectiveLogic: world_info_logic.AND, selectiveLogic: world_info_logic.AND_ONE,
order: entry.weight, order: entry.weight,
position: 0, position: 0,
disable: !entry.enabled, disable: !entry.enabled,
@ -2003,7 +2003,7 @@ function convertRisuLorebook(inputObj) {
content: entry.content, content: entry.content,
constant: entry.alwaysActive, constant: entry.alwaysActive,
selective: entry.selective, selective: entry.selective,
selectiveLogic: world_info_logic.AND, selectiveLogic: world_info_logic.AND_ONE,
order: entry.insertorder, order: entry.insertorder,
position: world_info_position.before, position: world_info_position.before,
disable: false, disable: false,
@ -2036,7 +2036,7 @@ function convertNovelLorebook(inputObj) {
content: entry.text, content: entry.text,
constant: false, constant: false,
selective: false, selective: false,
selectiveLogic: world_info_logic.AND, selectiveLogic: world_info_logic.AND_ONE,
order: entry.contextConfig?.budgetPriority ?? 0, order: entry.contextConfig?.budgetPriority ?? 0,
position: 0, position: 0,
disable: !entry.enabled, disable: !entry.enabled,
@ -2078,7 +2078,7 @@ function convertCharacterBook(characterBook) {
probability: entry.extensions?.probability ?? null, probability: entry.extensions?.probability ?? null,
useProbability: entry.extensions?.useProbability ?? false, useProbability: entry.extensions?.useProbability ?? false,
depth: entry.extensions?.depth ?? DEFAULT_DEPTH, depth: entry.extensions?.depth ?? DEFAULT_DEPTH,
selectiveLogic: entry.extensions?.selectiveLogic ?? world_info_logic.AND, selectiveLogic: entry.extensions?.selectiveLogic ?? world_info_logic.AND_ONE,
group: entry.extensions?.group ?? '', group: entry.extensions?.group ?? '',
}; };
}); });