From b8ead62da43aa829061c10c3f1305f3683a2ca57 Mon Sep 17 00:00:00 2001 From: kwaroran Date: Wed, 24 May 2023 10:40:02 +0900 Subject: [PATCH] [fix] lorebook replace error --- src/ts/process/lorebook.ts | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/src/ts/process/lorebook.ts b/src/ts/process/lorebook.ts index 137fb056..f88ef962 100644 --- a/src/ts/process/lorebook.ts +++ b/src/ts/process/lorebook.ts @@ -68,7 +68,7 @@ export async function loadLoreBookPrompt(){ const characterLore = char.globalLore const chatLore = char.chats[page].localLore const globalLore = db.loreBook[db.loreBookPage].data - const fullLore = characterLore.concat(chatLore.concat(globalLore)) + const fullLore = characterLore.concat(chatLore.concat(globalLore ?? [])) const currentChat = char.chats[page].message const loreDepth = char.loreSettings?.scanDepth ?? db.loreBookDepth const loreToken = char.loreSettings?.tokenBudget ?? db.loreBookToken @@ -78,18 +78,20 @@ export async function loadLoreBookPrompt(){ let formatedLore:formatedLore[] = [] for (const lore of fullLore){ - if(lore.key.length > 1 || lore.alwaysActive){ - formatedLore.push({ - keys: lore.alwaysActive ? 'always' : lore.key.replace(rmRegex, '').toLocaleLowerCase().split(',').filter((a) => { - return a.length > 1 - }), - secondKey: lore.selective ? lore.secondkey.replace(rmRegex, '').toLocaleLowerCase().split(',').filter((a) => { - return a.length > 1 - }) : [], - content: lore.content, - order: lore.insertorder, - activatied: false - }) + if(lore && lore.key){ + if(lore.key.length > 1 || lore.alwaysActive){ + formatedLore.push({ + keys: lore.alwaysActive ? 'always' : lore.key.replace(rmRegex, '').toLocaleLowerCase().split(',').filter((a) => { + return a.length > 1 + }), + secondKey: lore.selective ? lore.secondkey.replace(rmRegex, '').toLocaleLowerCase().split(',').filter((a) => { + return a.length > 1 + }) : [], + content: lore.content, + order: lore.insertorder, + activatied: false + }) + } } }