Add deprecated user_name and character_name fields for backward compatibility

cd992472d57f61375316f3928f2782ad0d0ea259

Cohee <18619528+Cohee1207@users.noreply.github.com>

8 files changed, +33 -3Ignore whitespace
public/global.d.ts+4 -0
@@ -43,6 +43,10 @@ declare global {
4343
4444 interface ChatHeader {
4545 chat_metadata: ChatMetadata;
46+ /** @deprecated For backward compatibility ONLY */
47+ user_name: 'unused';
48+ /** @deprecated For backward compatibility ONLY */
49+ character_name: 'unused';
4650 }
4751
4852 interface ChatMetadata {
public/script.js+2 -0
@@ -6955,6 +6955,8 @@ export async function saveChat({ chatName, withMetadata, mesId, force = false }
69556955 /** @type {ChatHeader} */
69566956 const chatHeader = {
69576957 chat_metadata: metadata,
6958+ user_name: 'unused',
6959+ character_name: 'unused',
69586960 };
69596961
69606962 try {
public/scripts/bookmarks.js+5 -1
@@ -303,7 +303,11 @@ export async function convertSoloToGroupChat() {
303303 const metadata = Object.assign({}, chat_metadata);
304304 delete metadata.main_chat;
305305 /** @type {ChatHeader} */
306306 const chatHeader = { chat_metadata: metadata };
307+ chat_metadata: metadata,
308+ user_name: 'unused',
309+ character_name: 'unused',
310+ };
307311 /** @type {Omit<Group, 'id'>} */
308312 const groupCreateModel = {
309313 name: name,
public/scripts/chats.js+7 -1
@@ -2140,8 +2140,14 @@ export function initChatUtilities() {
21402140 });
21412141
21422142 $(document).on('click', '.assistant_note_export', async function (_e) {
2143+ /** @type {ChatHeader} */
2144+ const chatHeader = {
2145+ chat_metadata: chat_metadata,
2146+ user_name: 'unused',
2147+ character_name: 'unused',
2148+ };
21432149 const chatToSave = [
2144- { chat_metadata: chat_metadata },
2150+ chatHeader,
21452151 ...chat.filter(x => x?.extra?.type !== system_message_types.ASSISTANT_NOTE),
21462152 ];
21472153
public/scripts/group-chats.js+4 -0
@@ -626,6 +626,8 @@ async function saveGroupChat(groupId, shouldSaveGroup, force = false) {
626626 /** @type {ChatHeader} */
627627 const chatHeader = {
628628 chat_metadata: { ...chat_metadata },
629+ user_name: 'unused',
630+ character_name: 'unused',
629631 };
630632 const response = await fetch('/api/chats/group/save', {
631633 method: 'POST',
@@ -2334,6 +2336,8 @@ export async function saveGroupBookmarkChat(groupId, name, metadata, mesId) {
23342336 /** @type {ChatHeader} */
23352337 const chatHeader = {
23362338 chat_metadata: { ...chat_metadata, ...(metadata || {}) },
2339+ user_name: 'unused',
2340+ character_name: 'unused',
23372341 };
23382342
23392343 /** @type {ChatMessage[]} */
src/byaf.js+2 -0
@@ -334,6 +334,8 @@ export class ByafParser {
334334 const chatBackground = chatBackgrounds.find(bg => bg.paths.includes(scenario?.backgroundImage || ''))?.name || '';
335335 /** @type {object[]} */
336336 const chat = [{
337+ user_name: 'unused',
338+ character_name: 'unused',
337339 chat_metadata: {
338340 scenario: scenario?.narrative ?? '',
339341 mes_example: ByafParser.formatExampleMessages(scenario?.exampleMessages),
src/endpoints/chats.js+8 -0
@@ -107,6 +107,8 @@ function importOobaChat(userName, characterName, jsonData) {
107107 /** @type {object[]} */
108108 const chat = [{
109109 chat_metadata: {},
110+ user_name: 'unused',
111+ character_name: 'unused',
110112 }];
111113
112114 for (const arr of jsonData.data_visible) {
@@ -146,6 +148,8 @@ function importAgnaiChat(userName, characterName, jsonData) {
146148 /** @type {object[]} */
147149 const chat = [{
148150 chat_metadata: {},
151+ user_name: 'unused',
152+ character_name: 'unused',
149153 }];
150154
151155 for (const message of jsonData.messages) {
@@ -178,6 +182,8 @@ function importCAIChat(userName, characterName, jsonData) {
178182 function convert(history) {
179183 const starter = {
180184 chat_metadata: {},
185+ user_name: 'unused',
186+ character_name: 'unused',
181187 };
182188
183189 const historyData = history.msgs.map((msg) => ({
@@ -276,6 +282,8 @@ function importRisuChat(userName, characterName, jsonData) {
276282 /** @type {object[]} */
277283 const chat = [{
278284 chat_metadata: {},
285+ user_name: 'unused',
286+ character_name: 'unused',
279287 }];
280288
281289 for (const message of jsonData.data.message) {
src/endpoints/groups.js+1 -1
@@ -81,7 +81,7 @@ export async function migrateGroupChatsMetadataFormat(userDirectories) {
8181 continue;
8282 }
8383 await fsPromises.copyFile(chatFilePath, path.join(backupPath, chatFileName));
8484 const chatHeader = { chat_metadata: chatMetadata, user_name: 'unused', character_name: 'unused' };
8585 const newChatData = [chatHeader, ...chatData];
8686 const newChatDataRaw = newChatData.map(entry => JSON.stringify(entry)).join('\n');
8787 await writeFileAtomic(chatFilePath, newChatDataRaw, 'utf8');