From ece4163034994c0db03b6717f8260c00d444b598 Mon Sep 17 00:00:00 2001 From: kwaroran Date: Fri, 12 May 2023 23:01:55 +0900 Subject: [PATCH] [feat] added character lore settings --- src/lang/en.ts | 3 +- src/lib/ChatScreens/CreatorQuote.svelte | 6 +- src/lib/SideBars/LoreBookSetting.svelte | 98 ++++++++++++++++--------- src/ts/database.ts | 9 +++ src/ts/process/lorebook.ts | 85 +++++++++++++-------- tailwind.config.js | 2 + 6 files changed, 135 insertions(+), 68 deletions(-) diff --git a/src/lang/en.ts b/src/lang/en.ts index 03377ff5..fbd2b0fa 100644 --- a/src/lang/en.ts +++ b/src/lang/en.ts @@ -239,5 +239,6 @@ export const languageEnglish = { settings: "Settings", selective: "Selective", SecondaryKeys: 'Secondary keys', - + useGlobalSettings: "Use Global Settings", + recursiveScanning: "Recursive Scanning" } diff --git a/src/lib/ChatScreens/CreatorQuote.svelte b/src/lib/ChatScreens/CreatorQuote.svelte index af357ba6..51fbab95 100644 --- a/src/lib/ChatScreens/CreatorQuote.svelte +++ b/src/lib/ChatScreens/CreatorQuote.svelte @@ -1,6 +1,6 @@ -
-
-

{language.creatorNotes} +
+
+

{language.creatorNotes} diff --git a/src/lib/SideBars/LoreBookSetting.svelte b/src/lib/SideBars/LoreBookSetting.svelte index 08cdc644..8fa21dd3 100644 --- a/src/lib/SideBars/LoreBookSetting.svelte +++ b/src/lib/SideBars/LoreBookSetting.svelte @@ -5,6 +5,7 @@ import { DownloadIcon, FolderUpIcon, ImportIcon, PlusIcon } from "lucide-svelte"; import { addLorebook, exportLoreBook, importLoreBook } from "../../ts/process/lorebook"; import LoreBookData from "./LoreBookData.svelte"; + import Check from "../Others/Check.svelte"; let submenu = 0 @@ -25,42 +26,71 @@ {language.settings}

-{submenu === 0 ? $DataBase.characters[$selectedCharID].type === 'group' ? language.groupLoreInfo : language.globalLoreInfo : language.localLoreInfo} - -
- {#if submenu === 0} - {#if $DataBase.characters[$selectedCharID].globalLore.length === 0} - No Lorebook - {:else} - {#each $DataBase.characters[$selectedCharID].globalLore as book, i} - {#if i !== 0} -
- {/if} - { - let lore = $DataBase.characters[$selectedCharID].globalLore - lore.splice(i, 1) - $DataBase.characters[$selectedCharID].globalLore = lore - }}/> - {/each} +{#if submenu !== 2} + {submenu === 0 ? $DataBase.characters[$selectedCharID].type === 'group' ? language.groupLoreInfo : language.globalLoreInfo : language.localLoreInfo} +
+ {#if submenu === 0} + {#if $DataBase.characters[$selectedCharID].globalLore.length === 0} + No Lorebook + {:else} + {#each $DataBase.characters[$selectedCharID].globalLore as book, i} + {#if i !== 0} +
+ {/if} + { + let lore = $DataBase.characters[$selectedCharID].globalLore + lore.splice(i, 1) + $DataBase.characters[$selectedCharID].globalLore = lore + }}/> + {/each} + {/if} + {:else if submenu === 1} + {#if $DataBase.characters[$selectedCharID].chats[$DataBase.characters[$selectedCharID].chatPage].localLore.length === 0} + No Lorebook + {:else} + {#each $DataBase.characters[$selectedCharID].chats[$DataBase.characters[$selectedCharID].chatPage].localLore as book, i} + {#if i !== 0} +
+ {/if} + { + let lore = $DataBase.characters[$selectedCharID].chats[$DataBase.characters[$selectedCharID].chatPage].localLore + lore.splice(i, 1) + $DataBase.characters[$selectedCharID].chats[$DataBase.characters[$selectedCharID].chatPage].localLore = lore + }}/> + {/each} + {/if} {/if} +
+{:else} + {#if $DataBase.characters[$selectedCharID].loreSettings} +
+ { + $DataBase.characters[$selectedCharID].loreSettings = undefined + }}/> + {language.useGlobalSettings} +
+
+ + {language.recursiveScanning} +
+ {language.loreBookDepth} + + {language.loreBookToken} + {:else} - {#if $DataBase.characters[$selectedCharID].chats[$DataBase.characters[$selectedCharID].chatPage].localLore.length === 0} - No Lorebook - {:else} - {#each $DataBase.characters[$selectedCharID].chats[$DataBase.characters[$selectedCharID].chatPage].localLore as book, i} - {#if i !== 0} -
- {/if} - { - let lore = $DataBase.characters[$selectedCharID].chats[$DataBase.characters[$selectedCharID].chatPage].localLore - lore.splice(i, 1) - $DataBase.characters[$selectedCharID].chats[$DataBase.characters[$selectedCharID].chatPage].localLore = lore - }}/> - {/each} - {/if} +
+ { + $DataBase.characters[$selectedCharID].loreSettings = { + tokenBudget: $DataBase.loreBookToken, + scanDepth:$DataBase.loreBookDepth, + recursiveScanning: false + } + }}/> + {language.useGlobalSettings} +
{/if} - -
+{/if} +{#if submenu !== 2}
- +{/if}