feat: add function to retrieve chat completion preset from settings

090c8ec56062f85ad098208689c3b7ffdfc2d5d0

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

1 files changed, +14 -5Ignore whitespace
public/scripts/openai.js+14 -5
@@ -4104,6 +4104,19 @@ async function getStatusOpen() {
4104}4104}
41054105
4106/**4106/**
4107 * Get OpenAI preset body from settings
4108 * @param {ChatCompletionSettings} settings The settings object
4109 * @returns {Object} The preset body object
4110 */
4111export 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 * Persist a settings preset with the given name4120 * Persist a settings preset with the given name
4108 *4121 *
4109 * @param {string} name - Name of the preset4122 * @param {string} name - Name of the preset
@@ -4112,11 +4125,7 @@ async function getStatusOpen() {
4112 * @returns {Promise<void>}4125 * @returns {Promise<void>}
4113 */4126 */
4114async function saveOpenAIPreset(name, settings, triggerUi = true) {4127async function saveOpenAIPreset(name, settings, triggerUi = true) {
4115 const presetBody = {};4128 const presetBody = getChatCompletionPreset(settings);
4116 for (const [presetKey, [, settingsKey]] of Object.entries(settingsToUpdate)) {
4117 presetBody[presetKey] = settings[settingsKey];
4118 }
4119
4120 const savePresetSettings = await fetch('/api/presets/save', {4129 const savePresetSettings = await fetch('/api/presets/save', {
4121 method: 'POST',4130 method: 'POST',
4122 headers: getRequestHeaders(),4131 headers: getRequestHeaders(),