Reasoning: Support auto-parse for impersonation results (#4489)

6221c540e4f1c208ed534c1fa9affad32b28efdb

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

Signed
2 files changed, +27 -2Ignore whitespace
public/scripts/extensions/translate/index.js+4 -2
@@ -182,9 +182,11 @@ function isGeneratingSwipe(messageId) {
182 return $(`#chat .mes[mesid="${messageId}"] .mes_text`).text() === '...';182 return $(`#chat .mes[mesid="${messageId}"] .mes_text`).text() === '...';
183}183}
184184
185async function translateImpersonate(text) {185async function translateImpersonate() {
186 const sendTextArea = $('#send_textarea');
187 const text = sendTextArea.val().toString();
186 const translatedText = await translate(text, extension_settings.translate.target_language);188 const translatedText = await translate(text, extension_settings.translate.target_language);
187 $('#send_textarea').val(translatedText);189 sendTextArea.val(translatedText);
188}190}
189191
190/**192/**
public/scripts/reasoning.js+23 -0
@@ -1348,6 +1348,29 @@ function registerReasoningAppEvents() {
1348 for (const event of [event_types.GENERATION_STOPPED, event_types.GENERATION_ENDED, event_types.CHAT_CHANGED]) {1348 for (const event of [event_types.GENERATION_STOPPED, event_types.GENERATION_ENDED, event_types.CHAT_CHANGED]) {
1349 eventSource.on(event, () => PromptReasoning.clearLatest());1349 eventSource.on(event, () => PromptReasoning.clearLatest());
1350 }1350 }
1351
1352 eventSource.makeFirst(event_types.IMPERSONATE_READY, async () => {
1353 if (!power_user.reasoning.auto_parse) {
1354 return;
1355 }
1356
1357 const sendTextArea = /** @type {HTMLTextAreaElement} */ (document.getElementById('send_textarea'));
1358
1359 if (!sendTextArea) {
1360 console.warn('[Reasoning] Send textarea not found');
1361 return;
1362 }
1363
1364 console.debug('[Reasoning] Auto-parsing reasoning block for impersonation');
1365
1366 if (!sendTextArea.value) {
1367 console.debug('[Reasoning] Reasoning is empty, skipping');
1368 return;
1369 }
1370
1371 sendTextArea.value = removeReasoningFromString(sendTextArea.value);
1372 sendTextArea.dispatchEvent(new Event('input', { bubbles: true }));
1373 });
1351}1374}
13521375
1353/**1376/**