mirror of
https://github.com/SillyTavern/SillyTavern.git
synced 2025-06-05 21:59:27 +02:00
Fix resetting world info for None option
This commit is contained in:
31
server.js
31
server.js
@@ -1084,16 +1084,7 @@ function findTavernWorldEntry(info, key) {
|
||||
}
|
||||
|
||||
async function synchronizeKoboldWorldInfo(worldInfoName) {
|
||||
const koboldFolderName = getKoboldWorldInfoName(worldInfoName);
|
||||
const filename = `${worldInfoName}.json`;
|
||||
const pathToWorldInfo = path.join('public/KoboldAI Worlds/', filename);
|
||||
|
||||
if (!fs.existsSync(pathToWorldInfo)) {
|
||||
throw new Error(`World info file ${filename} doesn't exist.`);
|
||||
}
|
||||
|
||||
const tavernWorldInfoText = fs.readFileSync(pathToWorldInfo, 'utf8');
|
||||
const tavernWorldInfo = JSON.parse(tavernWorldInfoText);
|
||||
const { koboldFolderName, tavernWorldInfo } = readWorldInfoFile(worldInfoName);
|
||||
|
||||
// Get existing world info
|
||||
const koboldWorldInfo = await getAsync(`${api_server}/v1/world_info`, baseRequestArgs);
|
||||
@@ -1108,7 +1099,7 @@ async function synchronizeKoboldWorldInfo(worldInfoName) {
|
||||
} = await validateKoboldWorldInfo(koboldFolderName, koboldWorldInfo, tavernWorldInfo);
|
||||
|
||||
// Create folder if not already exists
|
||||
if (shouldCreateWorld) {
|
||||
if (koboldFolderName && shouldCreateWorld) {
|
||||
koboldWorldUid = await createKoboldFolder(koboldFolderName, tavernEntriesToCreate, tavernWorldInfo);
|
||||
}
|
||||
|
||||
@@ -1117,6 +1108,24 @@ async function synchronizeKoboldWorldInfo(worldInfoName) {
|
||||
await createTavernEntries(tavernEntriesToCreate, koboldWorldUid, tavernWorldInfo);
|
||||
}
|
||||
|
||||
function readWorldInfoFile(worldInfoName) {
|
||||
if (!worldInfoName) {
|
||||
return { koboldFolderName: null, tavernWorldInfo: { entries: {}, folders: {} }};
|
||||
}
|
||||
|
||||
const koboldFolderName = getKoboldWorldInfoName(worldInfoName);
|
||||
const filename = `${worldInfoName}.json`;
|
||||
const pathToWorldInfo = path.join('public/KoboldAI Worlds/', filename);
|
||||
|
||||
if (!fs.existsSync(pathToWorldInfo)) {
|
||||
throw new Error(`World info file ${filename} doesn't exist.`);
|
||||
}
|
||||
|
||||
const tavernWorldInfoText = fs.readFileSync(pathToWorldInfo, 'utf8');
|
||||
const tavernWorldInfo = JSON.parse(tavernWorldInfoText);
|
||||
return { koboldFolderName, tavernWorldInfo };
|
||||
}
|
||||
|
||||
async function createKoboldFolder(koboldFolderName, tavernEntriesToCreate, tavernWorldInfo) {
|
||||
const createdFolder = await postAsync(`${api_server}/v1/world_info/folders`, { data: {}, ...baseRequestArgs });
|
||||
const koboldWorldUid = createdFolder.uid;
|
||||
|
Reference in New Issue
Block a user