feat: add function to retrieve chat completion preset from settings
| @@ -4104,6 +4104,19 @@ async function getStatusOpen() { | ||
| 4104 | 4104 | } |
| 4105 | 4105 | |
| 4106 | 4106 | /** |
| 4107 | + * Get OpenAI preset body from settings | |
| 4108 | + * @param {ChatCompletionSettings} settings The settings object | |
| 4109 | + * @returns {Object} The preset body object | |
| 4110 | + */ | |
| 4111 | +export function getChatCompletionPreset(settings = oai_settings) { | |
| 4112 | + const presetBody = {}; | |
| 4113 | + for (const [presetKey, [, settingsKey]] of Object.entries(settingsToUpdate)) { | |
| 4114 | + presetBody[presetKey] = settings[settingsKey]; | |
| 4115 | + } | |
| 4116 | + return structuredClone(presetBody); | |
| 4117 | +} | |
| 4118 | + | |
| 4119 | +/** | |
| 4107 | 4120 | * Persist a settings preset with the given name |
| 4108 | 4121 | * |
| 4109 | 4122 | * @param {string} name - Name of the preset |
| @@ -4112,11 +4125,7 @@ async function getStatusOpen() { | ||
| 4112 | 4125 | * @returns {Promise<void>} |
| 4113 | 4126 | */ |
| 4114 | 4127 | async function saveOpenAIPreset(name, settings, triggerUi = true) { |
| 4115 | 4128 | const presetBody = {}getChatCompletionPreset(settings); |
| 4116 | - for (const [presetKey, [, settingsKey]] of Object.entries(settingsToUpdate)) { | |
| 4117 | - presetBody[presetKey] = settings[settingsKey]; | |
| 4118 | - } | |
| 4119 | - | |
| 4120 | 4129 | const savePresetSettings = await fetch('/api/presets/save', { |
| 4121 | 4130 | method: 'POST', |
| 4122 | 4131 | headers: getRequestHeaders(), |