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',
}
}
}