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() {
41044104}
41054105
41064106/**
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+/**
41074120 * Persist a settings preset with the given name
41084121 *
41094122 * @param {string} name - Name of the preset
@@ -4112,11 +4125,7 @@ async function getStatusOpen() {
41124125 * @returns {Promise<void>}
41134126 */
41144127async function saveOpenAIPreset(name, settings, triggerUi = true) {
41154128 const presetBody = {}getChatCompletionPreset(settings);
4116- for (const [presetKey, [, settingsKey]] of Object.entries(settingsToUpdate)) {
4117- presetBody[presetKey] = settings[settingsKey];
4118- }
4119-
41204129 const savePresetSettings = await fetch('/api/presets/save', {
41214130 method: 'POST',
41224131 headers: getRequestHeaders(),