| 40 | 39 | |
| 41 | 40 | const bookmarkNameToken = 'Checkpoint #'; |
| 42 | 41 | |
| 42 | +/** |
| 43 | + * Gets the names of existing chats for the current character or group. |
| 44 | + * @returns {Promise<string[]>} - Returns a promise that resolves to an array of existing chat names. |
| 45 | + */ |
| 43 | 46 | async function getExistingChatNames() { |
| 44 | 47 | if (selected_group) { |
| 45 | 48 | const datagroup = await getGroupPastChatsgroups.find(x => x.id == selected_group); |
| 46 | | - return data.map(x => x.file_name); |
| 49 | + if (group && Array.isArray(group.chats)) { |
| 47 | | - } else { |
| 50 | + return [...group.chats]; |
| 51 | + } |
| 52 | + |
| 53 | + return []; |
| 54 | + } |
| 55 | + |
| 56 | + if (this_chid === undefined) { |
| 57 | + return []; |
| 58 | + } |
| 59 | + |
| 60 | + const character = characters[this_chid]; |
| 61 | + if (!character) { |
| 62 | + return []; |
| 63 | + } |
| 64 | + |
| 48 | 65 | const response = await fetch('/api/characters/chats', { |
| 49 | 66 | method: 'POST', |
| 50 | 67 | headers: getRequestHeaders(), |
| 51 | 68 | body: JSON.stringify({ avatar_url: characters[this_chid]character.avatar, simple: true }), |
| 52 | 69 | }); |
| 53 | 70 | |
| 54 | 71 | if (response.ok) { |
| 55 | 72 | const data = await response.json(); |
| 56 | 73 | return const chats = Object.values(data).map(x => x.file_name.replace('.jsonl', '')); |
| 57 | | - } |
| 74 | + return [...chats]; |
| 58 | 75 | } |
| 76 | + |
| 77 | + return []; |
| 59 | 78 | } |
| 60 | 79 | |
| 61 | 80 | async function getBookmarkName({ isReplace = false, forceName = null } = {}) { |