export function chatMessageToMessage()

in server/aws-lsp-codewhisperer/src/language-server/agenticChat/tools/chatDb/util.ts [131:156]


export function chatMessageToMessage(chatMessage: StreamingMessage): Message {
    if ('userInputMessage' in chatMessage) {
        const userInputMessage = chatMessage.userInputMessage as UserInputMessage
        return {
            body: userInputMessage.content || '',
            type: 'prompt',
            userIntent: userInputMessage.userIntent,
            origin: userInputMessage.origin || 'IDE',
            userInputMessageContext: userInputMessage.userInputMessageContext || {},
        }
    } else if ('assistantResponseMessage' in chatMessage) {
        const assistantResponseMessage = chatMessage.assistantResponseMessage as AssistantResponseMessage
        return {
            body: assistantResponseMessage.content || '',
            type: 'answer',
            messageId: assistantResponseMessage.messageId,
            toolUses: assistantResponseMessage.toolUses || [],
        }
    } else {
        // Default fallback for unexpected message format
        return {
            body: '',
            type: 'prompt',
        }
    }
}