Fix raw textgen preset import via master
| @@ -148,7 +148,7 @@ class PresetManager { | ||
| 148 | 148 | isValid: (data) => PresetManager.isPossiblySystemPromptData(data), |
| 149 | 149 | }, |
| 150 | 150 | 'preset': { |
| 151 | 151 | name: 'Text Completion SettingsPreset', |
| 152 | 152 | getData: () => { |
| 153 | 153 | const manager = getPresetManager('textgenerationwebui'); |
| 154 | 154 | const name = manager.getSelectedPresetName(); |
| @@ -185,7 +185,13 @@ class PresetManager { | ||
| 185 | 185 | return data && textCompletionProps.every(prop => Object.keys(data).includes(prop)); |
| 186 | 186 | } |
| 187 | 187 | |
| 188 | - static async performMasterImport(data) { | |
| 188 | + /** | |
| 189 | + * Imports master settings from JSON data. | |
| 190 | + * @param {object} data Data to import | |
| 191 | + * @param {string} fileName File name | |
| 192 | + * @returns {Promise<void>} | |
| 193 | + */ | |
| 194 | + static async performMasterImport(data, fileName) { | |
| 189 | 195 | if (!data || typeof data !== 'object') { |
| 190 | 196 | toastr.error('Invalid data provided for master import'); |
| 191 | 197 | return; |
| @@ -213,7 +219,7 @@ class PresetManager { | ||
| 213 | 219 | // 4. Text Completion settings |
| 214 | 220 | if (this.isPossiblyTextCompletionData(data)) { |
| 215 | 221 | toastr.info('Importing as settings preset...', 'Text Completion settings detected'); |
| 216 | 222 | return await getPresetManager('textgenerationwebui').savePreset(data.namefileName, data); |
| 217 | 223 | } |
| 218 | 224 | |
| 219 | 225 | const validSections = []; |
| @@ -266,6 +272,10 @@ class PresetManager { | ||
| 266 | 272 | toastr.success(`Imported ${importedSections.length} settings: ${importedSections.join(', ')}`); |
| 267 | 273 | } |
| 268 | 274 | |
| 275 | + /** | |
| 276 | + * Exports master settings to JSON data. | |
| 277 | + * @returns {Promise<string>} JSON data | |
| 278 | + */ | |
| 269 | 279 | static async performMasterExport() { |
| 270 | 280 | const sectionNames = Object.entries(this.masterSections).reduce((acc, [key, section]) => { |
| 271 | 281 | acc[key] = section.name; |
| @@ -907,7 +917,8 @@ export async function initPresetManager() { | ||
| 907 | 917 | } |
| 908 | 918 | |
| 909 | 919 | const data = await parseJsonFile(file); |
| 910 | - await PresetManager.performMasterImport(data); | |
| 920 | + const fileName = file.name.replace('.json', ''); | |
| 921 | + await PresetManager.performMasterImport(data, fileName); | |
| 911 | 922 | }); |
| 912 | 923 | |
| 913 | 924 | $('#af_master_export').on('click', async () => { |