import { DyNTS_Bot_MessageWrapper } from '../../bot/_models/bot-message-wrapper.interface'; import { DyFM_AI_Message, DyFM_AI_MessageRole } from '@futdevpro/fsm-dynamo/ai'; import { DyNTS_Ass_global_settings } from './ass-global-settings.const'; export class DyNTS_Ass_Util { /** * Convert bot messages (from any comms platform) to AI conversation format * Uses EXISTING DyFM_AI_Message type from fsm-dynamo * Same logic as DiAs_Util.convertDiscordMessagesToOAIConversation but platform-agnostic */ static convertBotMessagesToAIConversation>( set: { messages: T_BotMessage[], botClientId: string, botDisplayName: string, issuer: string, } ): DyFM_AI_Message[] { return set.messages.map(message => { const isBot = ( message.isBot || message.authorId === set.botClientId || message.authorName === set.botDisplayName || message.authorDisplayName === set.botDisplayName ); if (isBot) { // Check if bot message should be treated as user message if (DyNTS_Ass_global_settings.userTranslationFlags.some( flag => message.content.includes(flag) )) { return { role: DyFM_AI_MessageRole.user, content: message.content, }; } else { return { role: DyFM_AI_MessageRole.assistant, content: message.content, }; } } else { return { role: DyFM_AI_MessageRole.user, content: message.content, }; } }); } }