Opussy bug fix
This commit is contained in:
@@ -9,7 +9,8 @@
|
||||
* - Manual regeneration support
|
||||
*/
|
||||
|
||||
import { generateRaw, characters, this_chid } from '../../../../../../../script.js';
|
||||
import { characters, this_chid } from '../../../../../../../script.js';
|
||||
import { safeGenerateRaw } from '../../utils/responseExtractor.js';
|
||||
import { executeSlashCommandsOnChatInput } from '../../../../../../../scripts/slash-commands.js';
|
||||
import { selected_group, getGroupMembers } from '../../../../../../group-chats.js';
|
||||
import { extensionSettings, sessionAvatarPrompts, setSessionAvatarPrompt } from '../../core/state.js';
|
||||
@@ -254,7 +255,7 @@ async function generateAvatarPrompt(characterName) {
|
||||
// console.log('[RPG Avatar] Using external API for avatar prompt generation');
|
||||
response = await generateWithExternalAPI(promptMessages);
|
||||
} else {
|
||||
response = await generateRaw({
|
||||
response = await safeGenerateRaw({
|
||||
prompt: promptMessages,
|
||||
quietToLoud: false
|
||||
});
|
||||
|
||||
@@ -3,8 +3,9 @@
|
||||
* Handles API calls for RPG tracker generation
|
||||
*/
|
||||
|
||||
import { generateRaw, chat, eventSource } from '../../../../../../../script.js';
|
||||
import { chat, eventSource } from '../../../../../../../script.js';
|
||||
import { executeSlashCommandsOnChatInput } from '../../../../../../../scripts/slash-commands.js';
|
||||
import { safeGenerateRaw, extractTextFromResponse } from '../../utils/responseExtractor.js';
|
||||
|
||||
// Custom event name for when RPG Companion finishes updating tracker data
|
||||
// Other extensions can listen for this event to know when RPG Companion is done
|
||||
@@ -107,11 +108,10 @@ export async function generateWithExternalAPI(messages) {
|
||||
|
||||
const data = await response.json();
|
||||
|
||||
if (!data.choices || !data.choices[0] || !data.choices[0].message) {
|
||||
throw new Error('Invalid response format from external API');
|
||||
const content = extractTextFromResponse(data);
|
||||
if (!content || !content.trim()) {
|
||||
throw new Error('Invalid response format from external API — no text content found');
|
||||
}
|
||||
|
||||
const content = data.choices[0].message.content;
|
||||
// console.log('[RPG Companion] External API response received successfully');
|
||||
|
||||
return content;
|
||||
@@ -255,8 +255,8 @@ export async function updateRPGData(renderUserStats, renderInfoBox, renderThough
|
||||
// console.log('[RPG Companion] Using external API for tracker generation');
|
||||
response = await generateWithExternalAPI(prompt);
|
||||
} else {
|
||||
// Separate mode: Use SillyTavern's generateRaw
|
||||
response = await generateRaw({
|
||||
// Separate mode: Use SillyTavern's generateRaw (with extended thinking fallback)
|
||||
response = await safeGenerateRaw({
|
||||
prompt: prompt,
|
||||
quietToLoud: false
|
||||
});
|
||||
|
||||
@@ -4,7 +4,8 @@
|
||||
*/
|
||||
|
||||
import { getContext } from '../../../../../../extensions.js';
|
||||
import { generateRaw, chat, saveChatDebounced, characters, this_chid, user_avatar } from '../../../../../../../script.js';
|
||||
import { chat, saveChatDebounced, characters, this_chid, user_avatar } from '../../../../../../../script.js';
|
||||
import { safeGenerateRaw } from '../../utils/responseExtractor.js';
|
||||
import { selected_group, getGroupMembers, groups } from '../../../../../../group-chats.js';
|
||||
import { executeSlashCommandsOnChatInput } from '../../../../../../../scripts/slash-commands.js';
|
||||
import { extensionSettings } from '../../core/state.js';
|
||||
@@ -81,7 +82,7 @@ export class EncounterModal {
|
||||
// Store request for potential regeneration
|
||||
this.lastRequest = { type: 'init', prompt: initPrompt };
|
||||
|
||||
const response = await generateRaw({
|
||||
const response = await safeGenerateRaw({
|
||||
prompt: initPrompt,
|
||||
quietToLoud: false
|
||||
});
|
||||
@@ -816,7 +817,7 @@ export class EncounterModal {
|
||||
// Store request for potential regeneration
|
||||
this.lastRequest = { type: 'action', action, prompt: actionPrompt };
|
||||
|
||||
const response = await generateRaw({
|
||||
const response = await safeGenerateRaw({
|
||||
prompt: actionPrompt,
|
||||
quietToLoud: false
|
||||
});
|
||||
@@ -1078,7 +1079,7 @@ export class EncounterModal {
|
||||
// Generate summary
|
||||
const summaryPrompt = await buildCombatSummaryPrompt(currentEncounter.encounterLog, result);
|
||||
|
||||
const summaryResponse = await generateRaw({
|
||||
const summaryResponse = await safeGenerateRaw({
|
||||
prompt: summaryPrompt,
|
||||
quietToLoud: false
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user