Remove reasoning from queit prompt results if auto-parse is enabled Fixes #3457

63e3816e928e44fb2f69ba09b9792917d06357bb

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

2 files changed, +17 -2Ignore whitespace
public/script.js+3 -2
@@ -269,7 +269,7 @@ import { initSettingsSearch } from './scripts/setting-search.js';
269269import { initBulkEdit } from './scripts/bulk-edit.js';
270270import { deriveTemplatesFromChatTemplate } from './scripts/chat-templates.js';
271271import { getContext } from './scripts/st-context.js';
272272import { extractReasoningFromData, initReasoning, PromptReasoning, removeReasoningFromString, updateReasoningTimeUI } from './scripts/reasoning.js';
273273
274274// API OBJECT FOR EXTERNAL WIRING
275275globalThis.SillyTavern = {
@@ -2793,7 +2793,8 @@ export async function generateQuietPrompt(quiet_prompt, quietToLoud, skipWIAN, q
27932793 TempResponseLength.save(main_api, responseLength);
27942794 eventHook = TempResponseLength.setupEventHook(main_api);
27952795 }
27962796 returnconst result = await Generate('quiet', options);
2797+ return removeReasoningFromString(result);
27972798 } finally {
27982799 if (responseLengthCustomized && TempResponseLength.isCustomized()) {
27992800 TempResponseLength.restore(main_api);
public/scripts/reasoning.js+14 -0
@@ -447,6 +447,20 @@ function setReasoningEventHandlers() {
447447}
448448
449449/**
450+ * Removes reasoning from a string if auto-parsing is enabled.
451+ * @param {string} str Input string
452+ * @returns {string} Output string
453+ */
454+export function removeReasoningFromString(str) {
455+ if (!power_user.reasoning.auto_parse) {
456+ return str;
457+ }
458+
459+ const parsedReasoning = parseReasoningFromString(str);
460+ return parsedReasoning?.content ?? str;
461+}
462+
463+/**
450464 * Parses reasoning from a string using the power user reasoning settings.
451465 * @typedef {Object} ParsedReasoning
452466 * @property {string} reasoning Reasoning block