diff --git a/package-lock.json b/package-lock.json index 8f6d0529b70..824eae5db20 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9567,9 +9567,9 @@ } }, "node_modules/@lg-chat/chat-window": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@lg-chat/chat-window/-/chat-window-6.0.1.tgz", - "integrity": "sha512-fW98Q+4QcFsDj4tbRTiYfMehiXRbkIk7CYPFrqL1zsvjRFxCwT0r6IbxQFk5a+JPwiXK9LqEWdq1AFVJA0NKHw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@lg-chat/chat-window/-/chat-window-6.0.2.tgz", + "integrity": "sha512-v0h9iCDP9OVcP42XXG/R5ZNsiTPEZgSrbYgK7tPiX7bPKJc+DtOPy2Gc3+hMQLHdnr1/4Rptq96SnVdmVrbv8A==", "dependencies": { "@leafygreen-ui/emotion": "^5.2.0", "@leafygreen-ui/lib": "^15.7.0", @@ -9655,11 +9655,10 @@ } }, "node_modules/@lg-chat/message": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@lg-chat/message/-/message-11.0.1.tgz", - "integrity": "sha512-7aW9eDPOIWzfuoyUTFHc7uVYCyvZar9N2SrwHTIIcJHzUBQDsElTAdPUgkwLMkDmqrOSKgZMoSuRofQMAi53Jw==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@lg-chat/message/-/message-12.0.0.tgz", + "integrity": "sha512-ZVz6L4Ju8U1zByQLDEYJfOWKzJUCVraiuw/GrcR0fG+xIjkT572oZ7P3EYzSnNPxpMLl46/ovSwlXrd6faSNTQ==", "dependencies": { - "@leafygreen-ui/avatar": "^3.3.0", "@leafygreen-ui/badge": "^10.2.4", "@leafygreen-ui/banner": "^10.2.5", "@leafygreen-ui/button": "^25.2.1", @@ -9709,9 +9708,9 @@ } }, "node_modules/@lg-chat/message-prompts": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@lg-chat/message-prompts/-/message-prompts-4.2.1.tgz", - "integrity": "sha512-MXWKKekEoxPib9RKmp6r6eKOEI76blWEPn8nK75B34eCsk7U7HnoKBcstBsoB8ab2gDHqGHJpOYSpmLq21EVQQ==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@lg-chat/message-prompts/-/message-prompts-4.2.2.tgz", + "integrity": "sha512-JBf5ns7tkk9Xx2GvLQQ0V8gNGPYX4fwjkl5FgQV2kBEgEC80DihfE6OdxyZQ4OwRWOrWL4wTlSXCmbsaLBh9PA==", "dependencies": { "@leafygreen-ui/emotion": "^5.2.0", "@leafygreen-ui/icon": "^14.8.0", @@ -49519,11 +49518,11 @@ "@leafygreen-ui/tokens": "^4.2.2", "@leafygreen-ui/tooltip": "^14.3.1", "@leafygreen-ui/typography": "^22.2.4", - "@lg-chat/chat-window": "^6.0.1", + "@lg-chat/chat-window": "^6.0.2", "@lg-chat/input-bar": "^12.2.2", "@lg-chat/leafygreen-chat-provider": "^6.0.0", - "@lg-chat/message": "^11.0.1", - "@lg-chat/message-prompts": "^4.2.1", + "@lg-chat/message": "^12.0.0", + "@lg-chat/message-prompts": "^4.2.2", "@mongodb-js/compass-context-menu": "^0.3.5", "@mongodb-js/diagramming": "^2.3.3", "@react-aria/interactions": "^3.9.1", @@ -62517,9 +62516,9 @@ } }, "@lg-chat/chat-window": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/@lg-chat/chat-window/-/chat-window-6.0.1.tgz", - "integrity": "sha512-fW98Q+4QcFsDj4tbRTiYfMehiXRbkIk7CYPFrqL1zsvjRFxCwT0r6IbxQFk5a+JPwiXK9LqEWdq1AFVJA0NKHw==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@lg-chat/chat-window/-/chat-window-6.0.2.tgz", + "integrity": "sha512-v0h9iCDP9OVcP42XXG/R5ZNsiTPEZgSrbYgK7tPiX7bPKJc+DtOPy2Gc3+hMQLHdnr1/4Rptq96SnVdmVrbv8A==", "requires": { "@leafygreen-ui/emotion": "^5.2.0", "@leafygreen-ui/lib": "^15.7.0", @@ -62590,11 +62589,10 @@ } }, "@lg-chat/message": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@lg-chat/message/-/message-11.0.1.tgz", - "integrity": "sha512-7aW9eDPOIWzfuoyUTFHc7uVYCyvZar9N2SrwHTIIcJHzUBQDsElTAdPUgkwLMkDmqrOSKgZMoSuRofQMAi53Jw==", + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@lg-chat/message/-/message-12.0.0.tgz", + "integrity": "sha512-ZVz6L4Ju8U1zByQLDEYJfOWKzJUCVraiuw/GrcR0fG+xIjkT572oZ7P3EYzSnNPxpMLl46/ovSwlXrd6faSNTQ==", "requires": { - "@leafygreen-ui/avatar": "^3.3.0", "@leafygreen-ui/badge": "^10.2.4", "@leafygreen-ui/banner": "^10.2.5", "@leafygreen-ui/button": "^25.2.1", @@ -62635,9 +62633,9 @@ } }, "@lg-chat/message-prompts": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/@lg-chat/message-prompts/-/message-prompts-4.2.1.tgz", - "integrity": "sha512-MXWKKekEoxPib9RKmp6r6eKOEI76blWEPn8nK75B34eCsk7U7HnoKBcstBsoB8ab2gDHqGHJpOYSpmLq21EVQQ==", + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@lg-chat/message-prompts/-/message-prompts-4.2.2.tgz", + "integrity": "sha512-JBf5ns7tkk9Xx2GvLQQ0V8gNGPYX4fwjkl5FgQV2kBEgEC80DihfE6OdxyZQ4OwRWOrWL4wTlSXCmbsaLBh9PA==", "requires": { "@leafygreen-ui/emotion": "^5.2.0", "@leafygreen-ui/icon": "^14.8.0", @@ -63780,11 +63778,11 @@ "@leafygreen-ui/tokens": "^4.2.2", "@leafygreen-ui/tooltip": "^14.3.1", "@leafygreen-ui/typography": "^22.2.4", - "@lg-chat/chat-window": "^6.0.1", + "@lg-chat/chat-window": "^6.0.2", "@lg-chat/input-bar": "^12.2.2", "@lg-chat/leafygreen-chat-provider": "^6.0.0", - "@lg-chat/message": "^11.0.1", - "@lg-chat/message-prompts": "^4.2.1", + "@lg-chat/message": "^12.0.0", + "@lg-chat/message-prompts": "^4.2.2", "@mongodb-js/compass-context-menu": "^0.3.5", "@mongodb-js/diagramming": "^2.3.3", "@mongodb-js/eslint-config-compass": "^1.4.16", diff --git a/packages/compass-assistant/src/components/assistant-chat.tsx b/packages/compass-assistant/src/components/assistant-chat.tsx index 4c28aa26934..6f9f11a9787 100644 --- a/packages/compass-assistant/src/components/assistant-chat.tsx +++ b/packages/compass-assistant/src/components/assistant-chat.tsx @@ -646,6 +646,7 @@ export const AssistantChat: React.FunctionComponent = ({ sourceType="markdown" isSender={isSender} messageBody={displayText} + data-role={message.role} data-testid={`assistant-message-${id}`} > {isSender === false && ( diff --git a/packages/compass-components/package.json b/packages/compass-components/package.json index c4f724789db..40ae79881c7 100644 --- a/packages/compass-components/package.json +++ b/packages/compass-components/package.json @@ -81,11 +81,11 @@ "@leafygreen-ui/tokens": "^4.2.2", "@leafygreen-ui/tooltip": "^14.3.1", "@leafygreen-ui/typography": "^22.2.4", - "@lg-chat/chat-window": "^6.0.1", + "@lg-chat/chat-window": "^6.0.2", "@lg-chat/input-bar": "^12.2.2", "@lg-chat/leafygreen-chat-provider": "^6.0.0", - "@lg-chat/message": "^11.0.1", - "@lg-chat/message-prompts": "^4.2.1", + "@lg-chat/message": "^12.0.0", + "@lg-chat/message-prompts": "^4.2.2", "@mongodb-js/compass-context-menu": "^0.3.5", "@mongodb-js/diagramming": "^2.3.3", "@react-aria/interactions": "^3.9.1", diff --git a/packages/compass-e2e-tests/tests/assistant.test.ts b/packages/compass-e2e-tests/tests/assistant.test.ts index b76c4b4aea7..81e816e834f 100644 --- a/packages/compass-e2e-tests/tests/assistant.test.ts +++ b/packages/compass-e2e-tests/tests/assistant.test.ts @@ -564,20 +564,14 @@ async function getDisplayedMessages( const displayedMessages: Message[] = []; for (const messageElement of messageElements) { - const textElements = await messageElement.$$('p').getElements(); - const isAssistantMessage = - textElements.length !== 1 && - (await textElements[0].getText()) === 'MongoDB Assistant'; - // Get the message text content. - // In case of Assistant messages, skip the MongoDB Assistant text. - const text = isAssistantMessage - ? await textElements[1].getText() - : await textElements[0].getText(); - - displayedMessages.push({ - text: text, - role: isAssistantMessage ? ('assistant' as const) : ('user' as const), - }); + const text = await messageElement.getText(); + const role = await messageElement.getAttribute('data-role'); + if (role !== 'user' && role !== 'assistant') { + throw new Error( + `Expected data-role to be "user | assistant", got ${role}` + ); + } + displayedMessages.push({ text, role }); } return displayedMessages;