@gitlab/duo-ui 10.12.0 → 10.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/components/agentic_chat/agentic_duo_chat.js +2 -2
  3. package/dist/components/agentic_chat/components/agentic_tool_approval_flow/agentic_tool_approval_modal/agentic_tool_approval_modal.js +1 -1
  4. package/dist/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu.js +1 -1
  5. package/dist/components/chat/components/duo_chat_header/duo_chat_header.js +1 -1
  6. package/dist/components/chat/components/duo_chat_message/duo_chat_message.js +4 -4
  7. package/dist/components/chat/components/duo_chat_message/message_types/message_base.js +1 -1
  8. package/dist/components/chat/components/duo_chat_message/message_types/message_tool.js +1 -1
  9. package/dist/components/chat/components/duo_chat_message/message_types/message_user.js +1 -1
  10. package/dist/components/chat/components/duo_chat_message_tool_approval/message_tool_approval.js +1 -1
  11. package/dist/components/chat/components/duo_chat_predefined_prompts/duo_chat_predefined_prompts.js +1 -1
  12. package/dist/components/chat/components/duo_chat_threads/duo_chat_threads.js +1 -1
  13. package/dist/components/chat/components/duo_chat_threads/duo_chat_threads_empty.js +1 -1
  14. package/dist/components/chat/duo_chat.js +2 -2
  15. package/dist/components/ui/duo_navigation_bar/duo_navigation_bar.js +1 -1
  16. package/dist/components/ui/duo_recent_collapsible/duo_recent_collapsible.js +1 -1
  17. package/dist/components/ui/duo_terminal_command/duo_terminal_command.js +1 -1
  18. package/package.json +2 -1
  19. package/src/components/agentic_chat/agentic_duo_chat.vue +4 -4
  20. package/src/components/agentic_chat/components/agentic_tool_approval_flow/agentic_tool_approval_modal/agentic_tool_approval_modal.vue +2 -2
  21. package/src/components/chat/components/duo_chat_context/duo_chat_context_item_menu/duo_chat_context_item_menu.vue +2 -2
  22. package/src/components/chat/components/duo_chat_header/duo_chat_header.vue +2 -2
  23. package/src/components/chat/components/duo_chat_message/duo_chat_message.vue +4 -4
  24. package/src/components/chat/components/duo_chat_message/message_types/message_base.vue +1 -1
  25. package/src/components/chat/components/duo_chat_message/message_types/message_tool.vue +4 -4
  26. package/src/components/chat/components/duo_chat_message/message_types/message_user.vue +1 -1
  27. package/src/components/chat/components/duo_chat_message_tool_approval/message_tool_approval.vue +6 -6
  28. package/src/components/chat/components/duo_chat_predefined_prompts/duo_chat_predefined_prompts.vue +0 -1
  29. package/src/components/chat/components/duo_chat_threads/duo_chat_threads.vue +4 -4
  30. package/src/components/chat/components/duo_chat_threads/duo_chat_threads_empty.vue +2 -2
  31. package/src/components/chat/duo_chat.vue +4 -4
  32. package/src/components/ui/duo_navigation_bar/duo_navigation_bar.vue +1 -1
  33. package/src/components/ui/duo_recent_collapsible/duo_recent_collapsible.vue +1 -1
  34. package/src/components/ui/duo_terminal_command/duo_terminal_command.vue +4 -4
package/CHANGELOG.md CHANGED
@@ -1,3 +1,10 @@
1
+ ## [10.12.1](https://gitlab.com/gitlab-org/duo-ui/compare/v10.12.0...v10.12.1) (2025-07-24)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * Remove question icon from DuoChatPredefinedPrompts ([8e55188](https://gitlab.com/gitlab-org/duo-ui/commit/8e5518879108163e66c07bb3a1948e162f4f9089))
7
+
1
8
  # [10.12.0](https://gitlab.com/gitlab-org/duo-ui/compare/v10.11.0...v10.12.0) (2025-07-22)
2
9
 
3
10
 
@@ -642,10 +642,10 @@ const __vue_script__ = script;
642
642
  var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.shouldRenderResizable ? 'vue-resizable' : 'div',{tag:"component",class:{
643
643
  'duo-chat-resizable': _vm.shouldRenderResizable,
644
644
  'non-resizable-wrapper': !_vm.shouldRenderResizable,
645
- },attrs:{"width":_vm.shouldRenderResizable ? _vm.dimensions.width : null,"height":_vm.shouldRenderResizable ? _vm.dimensions.height : null,"max-width":_vm.shouldRenderResizable ? _vm.dimensions.maxWidth : null,"max-height":_vm.shouldRenderResizable ? _vm.dimensions.maxHeight : null,"min-width":_vm.shouldRenderResizable ? _vm.dimensions.minWidth : null,"left":_vm.shouldRenderResizable ? _vm.dimensions.left : null,"top":_vm.shouldRenderResizable ? _vm.dimensions.top : null,"fit-parent":true,"min-height":_vm.shouldRenderResizable ? _vm.dimensions.minHeight : null,"active":_vm.shouldRenderResizable ? ['l', 't', 'lt'] : null},on:{"resize:end":_vm.updateSize}},[(!_vm.isHidden)?_c('aside',{staticClass:"markdown-code-block duo-chat gl-bottom-0 gl-max-h-full gl-flex gl-flex-col",class:{
645
+ },attrs:{"width":_vm.shouldRenderResizable ? _vm.dimensions.width : null,"height":_vm.shouldRenderResizable ? _vm.dimensions.height : null,"max-width":_vm.shouldRenderResizable ? _vm.dimensions.maxWidth : null,"max-height":_vm.shouldRenderResizable ? _vm.dimensions.maxHeight : null,"min-width":_vm.shouldRenderResizable ? _vm.dimensions.minWidth : null,"left":_vm.shouldRenderResizable ? _vm.dimensions.left : null,"top":_vm.shouldRenderResizable ? _vm.dimensions.top : null,"fit-parent":true,"min-height":_vm.shouldRenderResizable ? _vm.dimensions.minHeight : null,"active":_vm.shouldRenderResizable ? ['l', 't', 'lt'] : null},on:{"resize:end":_vm.updateSize}},[(!_vm.isHidden)?_c('aside',{staticClass:"markdown-code-block duo-chat gl-bottom-0 gl-flex gl-max-h-full gl-flex-col",class:{
646
646
  'resizable-content': _vm.shouldRenderResizable,
647
647
  'duo-chat-drawer': !_vm.shouldRenderResizable,
648
- },attrs:{"id":"chat-component","role":"complementary","data-testid":"chat-component"}},[(_vm.showHeader)?_c('duo-chat-header',{ref:"header",attrs:{"active-thread-id":_vm.activeThreadId,"title":_vm.isMultithreaded && _vm.currentView === 'list' ? _vm.$options.i18n.CHAT_HISTORY_TITLE : _vm.title,"subtitle":_vm.activeThreadTitleForView,"error":_vm.error,"is-multithreaded":_vm.isMultithreaded,"current-view":_vm.currentView,"should-render-resizable":_vm.shouldRenderResizable,"badge-type":_vm.isMultithreaded ? null : _vm.badgeType},on:{"go-back":_vm.onGoBack,"new-chat":_vm.onNewChat,"close":_vm.hideChat},scopedSlots:_vm._u([{key:"subheader",fn:function(){return [_vm._t("subheader")]},proxy:true}],null,true)}):_vm._e(),_vm._v(" "),_c('div',{staticClass:"gl-overflow-y-auto gl-flex gl-flex-col gl-flex-1 gl-flex-grow gl-bg-inherit gl-overscroll-contain",attrs:{"data-testid":"chat-history"},on:{"scroll":_vm.handleScrollingThrottled}},[(_vm.shouldShowThreadList)?_c('duo-chat-threads',{attrs:{"threads":_vm.threadList,"preferred-locale":_vm.preferredLocale},on:{"new-chat":_vm.onNewChat,"select-thread":_vm.onSelectThread,"delete-thread":_vm.onDeleteThread,"close":_vm.hideChat}}):_c('transition-group',{staticClass:"duo-chat-history gl-p-5 gl-mt-auto",attrs:{"mode":"out-in","tag":"section","name":"message"}},[_vm._l((_vm.conversations),function(conversation,index){return _c('duo-chat-conversation',{key:("conversation-" + index),attrs:{"enable-code-insertion":_vm.enableCodeInsertion,"messages":conversation,"show-delimiter":index > 0,"with-feedback":_vm.withFeedback,"is-tool-approval-processing":_vm.isToolApprovalProcessing},on:{"track-feedback":_vm.onTrackFeedback,"insert-code-snippet":_vm.onInsertCodeSnippet,"copy-code-snippet":_vm.onCopyCodeSnippet,"copy-message":_vm.onCopyMessage,"get-context-item-content":_vm.onGetContextItemContent,"approve-tool":_vm.onApproveToolCall,"deny-tool":_vm.onDenyToolCall,"open-file-path":_vm.onOpenFilePath}})}),_vm._v(" "),(!_vm.hasMessages && !_vm.isLoading)?[_c('div',{key:"empty-state-message",staticClass:"duo-chat-message gl-rounded-bl-none gl-leading-20 gl-text-gray-900 gl-break-anywhere",attrs:{"data-testid":"gl-duo-chat-empty-state"}},[(_vm.emptyStateTitle)?_c('p',{staticClass:"gl-m-0",attrs:{"data-testid":"gl-duo-chat-empty-state-title"}},[_vm._v("\n "+_vm._s(_vm.emptyStateTitle)+"\n ")]):_vm._e(),_vm._v(" "),_c('duo-chat-predefined-prompts',{key:"predefined-prompts",attrs:{"prompts":_vm.predefinedPrompts},on:{"click":_vm.sendPredefinedPrompt}})],1)]:_vm._e(),_vm._v(" "),(_vm.isLoading)?_c('duo-chat-loader',{key:"loader",attrs:{"tool-name":_vm.toolName}}):_vm._e(),_vm._v(" "),_c('div',{key:"anchor",ref:"anchor",staticClass:"scroll-anchor"})],2)],1),_vm._v(" "),(_vm.isChatAvailable && !_vm.shouldShowThreadList)?_c('footer',{staticClass:"duo-chat-drawer-footer gl-border-0 gl-bg-default gl-pb-3 gl-shrink-0 gl-relative gl-z-2",class:{ 'duo-chat-drawer-body-scrim-on-footer': !_vm.scrolledToBottom },attrs:{"data-testid":"chat-footer"}},[_c('gl-form',{attrs:{"data-testid":"chat-prompt-form"},on:{"submit":function($event){$event.stopPropagation();$event.preventDefault();return _vm.sendChatPrompt.apply(null, arguments)}}},[_c('div',{staticClass:"gl-relative gl-max-w-full"},[_vm._t("context-items-menu",null,{"isOpen":_vm.contextItemsMenuIsOpen,"onClose":_vm.closeContextItemsMenuOpen,"setRef":_vm.setContextItemsMenuRef,"focusPrompt":_vm.focusChatInput})],2),_vm._v(" "),_c('gl-form-input-group',{scopedSlots:_vm._u([{key:"append",fn:function(){return [(_vm.canSubmit)?_c('gl-button',{staticClass:"!gl-absolute gl-bottom-2 gl-right-2 !gl-rounded-full",attrs:{"icon":"paper-airplane","category":"primary","variant":"confirm","type":"submit","data-testid":"chat-prompt-submit-button","aria-label":_vm.$options.i18n.CHAT_SUBMIT_LABEL}}):_c('gl-button',{staticClass:"!gl-absolute gl-bottom-2 gl-right-2 !gl-rounded-full",attrs:{"icon":"stop","category":"primary","variant":"default","data-testid":"chat-prompt-cancel-button","aria-label":_vm.$options.i18n.CHAT_CANCEL_LABEL},on:{"click":_vm.cancelPrompt}})]},proxy:true}],null,false,3738248012)},[_c('div',{staticClass:"duo-chat-input gl-min-h-8 gl-max-w-full gl-grow gl-align-top",attrs:{"data-value":_vm.prompt}},[(_vm.shouldShowSlashCommands)?_c('gl-card',{ref:"commands",staticClass:"slash-commands !gl-absolute gl-w-full -gl-translate-y-full gl-list-none gl-pl-0 gl-shadow-md",attrs:{"body-class":"!gl-p-2"}},_vm._l((_vm.filteredSlashCommands),function(command,index){return _c('gl-dropdown-item',{key:command.name,class:{ 'active-command': index === _vm.activeCommandIndex },on:{"click":function($event){return _vm.selectSlashCommand(index)}},nativeOn:{"mouseenter":function($event){_vm.activeCommandIndex = index;}}},[_c('span',{staticClass:"gl-flex gl-justify-between"},[_c('span',{staticClass:"gl-block"},[_vm._v(_vm._s(command.name))]),_vm._v(" "),_c('small',{staticClass:"gl-pl-3 gl-text-right gl-italic gl-text-subtle"},[_vm._v(_vm._s(command.description))])])])}),1):_vm._e(),_vm._v(" "),_c('gl-form-textarea',{ref:"prompt",staticClass:"gl-absolute !gl-h-full gl-rounded-br-none gl-rounded-tr-none !gl-bg-transparent !gl-py-4 !gl-shadow-none",class:{ 'gl-truncate': !_vm.prompt },attrs:{"disabled":!_vm.canSubmit,"data-testid":"chat-prompt-input","placeholder":_vm.inputPlaceholder,"autofocus":""},on:{"compositionend":_vm.compositionEnd},nativeOn:{"keydown":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},"keyup":function($event){return _vm.onInputKeyup.apply(null, arguments)}},model:{value:(_vm.prompt),callback:function ($$v) {_vm.prompt=$$v;},expression:"prompt"}})],1)])],1),_vm._v(" "),_vm._t("footer-controls"),_vm._v(" "),_c('p',{staticClass:"gl-mb-0 gl-mt-3 gl-px-4 gl-text-sm gl-text-secondary"},[_vm._v("\n "+_vm._s(_vm.$options.i18n.CHAT_DISCLAMER)+"\n ")])],2):_vm._e()],1):_vm._e()])};
648
+ },attrs:{"id":"chat-component","role":"complementary","data-testid":"chat-component"}},[(_vm.showHeader)?_c('duo-chat-header',{ref:"header",attrs:{"active-thread-id":_vm.activeThreadId,"title":_vm.isMultithreaded && _vm.currentView === 'list' ? _vm.$options.i18n.CHAT_HISTORY_TITLE : _vm.title,"subtitle":_vm.activeThreadTitleForView,"error":_vm.error,"is-multithreaded":_vm.isMultithreaded,"current-view":_vm.currentView,"should-render-resizable":_vm.shouldRenderResizable,"badge-type":_vm.isMultithreaded ? null : _vm.badgeType},on:{"go-back":_vm.onGoBack,"new-chat":_vm.onNewChat,"close":_vm.hideChat},scopedSlots:_vm._u([{key:"subheader",fn:function(){return [_vm._t("subheader")]},proxy:true}],null,true)}):_vm._e(),_vm._v(" "),_c('div',{staticClass:"gl-flex gl-flex-1 gl-flex-grow gl-flex-col gl-overflow-y-auto gl-overscroll-contain gl-bg-inherit",attrs:{"data-testid":"chat-history"},on:{"scroll":_vm.handleScrollingThrottled}},[(_vm.shouldShowThreadList)?_c('duo-chat-threads',{attrs:{"threads":_vm.threadList,"preferred-locale":_vm.preferredLocale},on:{"new-chat":_vm.onNewChat,"select-thread":_vm.onSelectThread,"delete-thread":_vm.onDeleteThread,"close":_vm.hideChat}}):_c('transition-group',{staticClass:"duo-chat-history gl-mt-auto gl-p-5",attrs:{"mode":"out-in","tag":"section","name":"message"}},[_vm._l((_vm.conversations),function(conversation,index){return _c('duo-chat-conversation',{key:("conversation-" + index),attrs:{"enable-code-insertion":_vm.enableCodeInsertion,"messages":conversation,"show-delimiter":index > 0,"with-feedback":_vm.withFeedback,"is-tool-approval-processing":_vm.isToolApprovalProcessing},on:{"track-feedback":_vm.onTrackFeedback,"insert-code-snippet":_vm.onInsertCodeSnippet,"copy-code-snippet":_vm.onCopyCodeSnippet,"copy-message":_vm.onCopyMessage,"get-context-item-content":_vm.onGetContextItemContent,"approve-tool":_vm.onApproveToolCall,"deny-tool":_vm.onDenyToolCall,"open-file-path":_vm.onOpenFilePath}})}),_vm._v(" "),(!_vm.hasMessages && !_vm.isLoading)?[_c('div',{key:"empty-state-message",staticClass:"duo-chat-message gl-rounded-bl-none gl-leading-20 gl-text-gray-900 gl-break-anywhere",attrs:{"data-testid":"gl-duo-chat-empty-state"}},[(_vm.emptyStateTitle)?_c('p',{staticClass:"gl-m-0",attrs:{"data-testid":"gl-duo-chat-empty-state-title"}},[_vm._v("\n "+_vm._s(_vm.emptyStateTitle)+"\n ")]):_vm._e(),_vm._v(" "),_c('duo-chat-predefined-prompts',{key:"predefined-prompts",attrs:{"prompts":_vm.predefinedPrompts},on:{"click":_vm.sendPredefinedPrompt}})],1)]:_vm._e(),_vm._v(" "),(_vm.isLoading)?_c('duo-chat-loader',{key:"loader",attrs:{"tool-name":_vm.toolName}}):_vm._e(),_vm._v(" "),_c('div',{key:"anchor",ref:"anchor",staticClass:"scroll-anchor"})],2)],1),_vm._v(" "),(_vm.isChatAvailable && !_vm.shouldShowThreadList)?_c('footer',{staticClass:"duo-chat-drawer-footer gl-relative gl-z-2 gl-shrink-0 gl-border-0 gl-bg-default gl-pb-3",class:{ 'duo-chat-drawer-body-scrim-on-footer': !_vm.scrolledToBottom },attrs:{"data-testid":"chat-footer"}},[_c('gl-form',{attrs:{"data-testid":"chat-prompt-form"},on:{"submit":function($event){$event.stopPropagation();$event.preventDefault();return _vm.sendChatPrompt.apply(null, arguments)}}},[_c('div',{staticClass:"gl-relative gl-max-w-full"},[_vm._t("context-items-menu",null,{"isOpen":_vm.contextItemsMenuIsOpen,"onClose":_vm.closeContextItemsMenuOpen,"setRef":_vm.setContextItemsMenuRef,"focusPrompt":_vm.focusChatInput})],2),_vm._v(" "),_c('gl-form-input-group',{scopedSlots:_vm._u([{key:"append",fn:function(){return [(_vm.canSubmit)?_c('gl-button',{staticClass:"!gl-absolute gl-bottom-2 gl-right-2 !gl-rounded-full",attrs:{"icon":"paper-airplane","category":"primary","variant":"confirm","type":"submit","data-testid":"chat-prompt-submit-button","aria-label":_vm.$options.i18n.CHAT_SUBMIT_LABEL}}):_c('gl-button',{staticClass:"!gl-absolute gl-bottom-2 gl-right-2 !gl-rounded-full",attrs:{"icon":"stop","category":"primary","variant":"default","data-testid":"chat-prompt-cancel-button","aria-label":_vm.$options.i18n.CHAT_CANCEL_LABEL},on:{"click":_vm.cancelPrompt}})]},proxy:true}],null,false,3738248012)},[_c('div',{staticClass:"duo-chat-input gl-min-h-8 gl-max-w-full gl-grow gl-align-top",attrs:{"data-value":_vm.prompt}},[(_vm.shouldShowSlashCommands)?_c('gl-card',{ref:"commands",staticClass:"slash-commands !gl-absolute gl-w-full -gl-translate-y-full gl-list-none gl-pl-0 gl-shadow-md",attrs:{"body-class":"!gl-p-2"}},_vm._l((_vm.filteredSlashCommands),function(command,index){return _c('gl-dropdown-item',{key:command.name,class:{ 'active-command': index === _vm.activeCommandIndex },on:{"click":function($event){return _vm.selectSlashCommand(index)}},nativeOn:{"mouseenter":function($event){_vm.activeCommandIndex = index;}}},[_c('span',{staticClass:"gl-flex gl-justify-between"},[_c('span',{staticClass:"gl-block"},[_vm._v(_vm._s(command.name))]),_vm._v(" "),_c('small',{staticClass:"gl-pl-3 gl-text-right gl-italic gl-text-subtle"},[_vm._v(_vm._s(command.description))])])])}),1):_vm._e(),_vm._v(" "),_c('gl-form-textarea',{ref:"prompt",staticClass:"gl-absolute !gl-h-full gl-rounded-br-none gl-rounded-tr-none !gl-bg-transparent !gl-py-4 !gl-shadow-none",class:{ 'gl-truncate': !_vm.prompt },attrs:{"disabled":!_vm.canSubmit,"data-testid":"chat-prompt-input","placeholder":_vm.inputPlaceholder,"autofocus":""},on:{"compositionend":_vm.compositionEnd},nativeOn:{"keydown":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},"keyup":function($event){return _vm.onInputKeyup.apply(null, arguments)}},model:{value:(_vm.prompt),callback:function ($$v) {_vm.prompt=$$v;},expression:"prompt"}})],1)])],1),_vm._v(" "),_vm._t("footer-controls"),_vm._v(" "),_c('p',{staticClass:"gl-mb-0 gl-mt-3 gl-px-4 gl-text-sm gl-text-secondary"},[_vm._v("\n "+_vm._s(_vm.$options.i18n.CHAT_DISCLAMER)+"\n ")])],2):_vm._e()],1):_vm._e()])};
649
649
  var __vue_staticRenderFns__ = [];
650
650
 
651
651
  /* style */
@@ -101,7 +101,7 @@ var script = {
101
101
  const __vue_script__ = script;
102
102
 
103
103
  /* template */
104
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-modal',{attrs:{"visible":_vm.visible,"modal-id":"agentic-tool-approval-modal","title":_vm.$options.i18n.TITLE,"action-primary":_vm.approveAction,"action-cancel":_vm.denyAction,"no-close-on-backdrop":true,"no-close-on-esc":true,"data-testid":"agentic-tool-approval-modal"},on:{"primary":_vm.handleApprove,"canceled":_vm.handleDeny,"hide":_vm.handleModalHide}},[_c('div',{staticClass:"gl-mb-4"},[_c('p',{staticClass:"gl-mb-3",attrs:{"data-testid":"approval-description"}},[_vm._v("\n "+_vm._s(_vm.description)+"\n ")]),_vm._v(" "),(_vm.toolDetails)?_c('div',{staticClass:"gl-bg-gray-10 gl-p-3 gl-rounded-base gl-mb-3",attrs:{"data-testid":"tool-details"}},[_c('strong',[_vm._v(_vm._s(_vm.$options.i18n.TOOL_LABEL)+" "+_vm._s(_vm.toolName))]),_vm._v(" "),(_vm.toolDetails.parameters)?_c('pre',{staticClass:"gl-mt-2 gl-mb-0 gl-text-inherit",attrs:{"data-testid":"tool-parameters"}},[_vm._v(_vm._s(JSON.stringify(_vm.toolDetails.parameters, null, 2)))]):_vm._e()]):_vm._e()])])};
104
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-modal',{attrs:{"visible":_vm.visible,"modal-id":"agentic-tool-approval-modal","title":_vm.$options.i18n.TITLE,"action-primary":_vm.approveAction,"action-cancel":_vm.denyAction,"no-close-on-backdrop":true,"no-close-on-esc":true,"data-testid":"agentic-tool-approval-modal"},on:{"primary":_vm.handleApprove,"canceled":_vm.handleDeny,"hide":_vm.handleModalHide}},[_c('div',{staticClass:"gl-mb-4"},[_c('p',{staticClass:"gl-mb-3",attrs:{"data-testid":"approval-description"}},[_vm._v("\n "+_vm._s(_vm.description)+"\n ")]),_vm._v(" "),(_vm.toolDetails)?_c('div',{staticClass:"gl-mb-3 gl-rounded-base gl-bg-gray-10 gl-p-3",attrs:{"data-testid":"tool-details"}},[_c('strong',[_vm._v(_vm._s(_vm.$options.i18n.TOOL_LABEL)+" "+_vm._s(_vm.toolName))]),_vm._v(" "),(_vm.toolDetails.parameters)?_c('pre',{staticClass:"gl-mb-0 gl-mt-2 gl-text-inherit",attrs:{"data-testid":"tool-parameters"}},[_vm._v(_vm._s(JSON.stringify(_vm.toolDetails.parameters, null, 2)))]):_vm._e()]):_vm._e()])])};
105
105
  var __vue_staticRenderFns__ = [];
106
106
 
107
107
  /* style */
@@ -233,7 +233,7 @@ var script = {
233
233
  const __vue_script__ = script;
234
234
 
235
235
  /* template */
236
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.selections.length)?_c('duo-chat-context-item-selections',{staticClass:"gl-mb-3",attrs:{"selections":_vm.selections,"removable":true,"title":_vm.$options.i18n.selectedContextItemsTitle,"default-collapsed":false,"data-testid":"primary-context-item-selections"},on:{"remove":_vm.removeItem,"get-content":_vm.onGetContextItemContent}}):_vm._e(),_vm._v(" "),(_vm.open)?_c('div',{attrs:{"tabindex":"0","data-testid":"context-item-menu-wrapper"},on:{"keydown":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"esc",27,$event.key,["Esc","Escape"])){ return null; }return _vm.handleEsc.apply(null, arguments)}}},[_c('gl-card',{staticClass:"slash-commands !gl-absolute gl-bottom-0 gl-w-full gl-pl-0 gl-shadow-md",attrs:{"body-class":"!gl-p-2","data-testid":"context-item-menu"}},[_c('div',{staticClass:"gl-flex gl-mb-2"},[(_vm.selectedCategory)?_c('gl-button',{staticClass:"!gl-shadow-none",attrs:{"size":"small","icon":"chevron-lg-left","aria-label":"Go back","data-testid":"context-item-menu-back-button"},on:{"click":function($event){return _vm.handleEsc()}}}):_vm._e(),_vm._v(" "),_c('gl-button',{staticClass:"gl-ml-auto !gl-shadow-none",attrs:{"size":"small","icon":"close","aria-label":"Close menu","data-testid":"context-item-menu-close-button"},on:{"click":function($event){return _vm.closeMenu()}}})],1),_vm._v(" "),(_vm.showCategorySelection)?_c('duo-chat-context-item-menu-category-items',{attrs:{"active-index":_vm.activeIndex,"categories":_vm.categories},on:{"select":_vm.selectCategory,"active-index-change":function($event){_vm.activeIndex = $event;}}}):_c('duo-chat-context-item-menu-search-items',{attrs:{"active-index":_vm.activeIndex,"category":_vm.selectedCategory,"loading":_vm.loading,"error":_vm.error,"results":_vm.results},on:{"select":_vm.selectItem,"keyup":_vm.handleKeyUp,"active-index-change":function($event){_vm.activeIndex = $event;}},model:{value:(_vm.searchQuery),callback:function ($$v) {_vm.searchQuery=$$v;},expression:"searchQuery"}}),_vm._v(" "),(_vm.selections.length)?_c('duo-chat-context-item-selections',{staticClass:"gl-mt-2 !gl-mb-0 gl-max-h-13 gl-overflow-y-auto",attrs:{"selections":_vm.selections,"removable":true,"title":_vm.$options.i18n.selectedContextItemsTitle,"default-collapsed":false,"data-testid":"in-menu-context-item-selections"},on:{"remove":_vm.removeItem,"get-content":_vm.onGetContextItemContent}}):_vm._e()],1)],1):_vm._e()],1)};
236
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[(_vm.selections.length)?_c('duo-chat-context-item-selections',{staticClass:"gl-mb-3",attrs:{"selections":_vm.selections,"removable":true,"title":_vm.$options.i18n.selectedContextItemsTitle,"default-collapsed":false,"data-testid":"primary-context-item-selections"},on:{"remove":_vm.removeItem,"get-content":_vm.onGetContextItemContent}}):_vm._e(),_vm._v(" "),(_vm.open)?_c('div',{attrs:{"tabindex":"0","data-testid":"context-item-menu-wrapper"},on:{"keydown":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"esc",27,$event.key,["Esc","Escape"])){ return null; }return _vm.handleEsc.apply(null, arguments)}}},[_c('gl-card',{staticClass:"slash-commands !gl-absolute gl-bottom-0 gl-w-full gl-pl-0 gl-shadow-md",attrs:{"body-class":"!gl-p-2","data-testid":"context-item-menu"}},[_c('div',{staticClass:"gl-mb-2 gl-flex"},[(_vm.selectedCategory)?_c('gl-button',{staticClass:"!gl-shadow-none",attrs:{"size":"small","icon":"chevron-lg-left","aria-label":"Go back","data-testid":"context-item-menu-back-button"},on:{"click":function($event){return _vm.handleEsc()}}}):_vm._e(),_vm._v(" "),_c('gl-button',{staticClass:"gl-ml-auto !gl-shadow-none",attrs:{"size":"small","icon":"close","aria-label":"Close menu","data-testid":"context-item-menu-close-button"},on:{"click":function($event){return _vm.closeMenu()}}})],1),_vm._v(" "),(_vm.showCategorySelection)?_c('duo-chat-context-item-menu-category-items',{attrs:{"active-index":_vm.activeIndex,"categories":_vm.categories},on:{"select":_vm.selectCategory,"active-index-change":function($event){_vm.activeIndex = $event;}}}):_c('duo-chat-context-item-menu-search-items',{attrs:{"active-index":_vm.activeIndex,"category":_vm.selectedCategory,"loading":_vm.loading,"error":_vm.error,"results":_vm.results},on:{"select":_vm.selectItem,"keyup":_vm.handleKeyUp,"active-index-change":function($event){_vm.activeIndex = $event;}},model:{value:(_vm.searchQuery),callback:function ($$v) {_vm.searchQuery=$$v;},expression:"searchQuery"}}),_vm._v(" "),(_vm.selections.length)?_c('duo-chat-context-item-selections',{staticClass:"!gl-mb-0 gl-mt-2 gl-max-h-13 gl-overflow-y-auto",attrs:{"selections":_vm.selections,"removable":true,"title":_vm.$options.i18n.selectedContextItemsTitle,"default-collapsed":false,"data-testid":"in-menu-context-item-selections"},on:{"remove":_vm.removeItem,"get-content":_vm.onGetContextItemContent}}):_vm._e()],1)],1):_vm._e()],1)};
237
237
  var __vue_staticRenderFns__ = [];
238
238
 
239
239
  /* style */
@@ -76,7 +76,7 @@ var script = {
76
76
  const __vue_script__ = script;
77
77
 
78
78
  /* template */
79
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:"gl-border-b gl-bg-default gl-p-0 gl-shrink-0",attrs:{"data-testid":"chat-header"}},[_c('div',{staticClass:"drawer-title gl-flex gl-items-center gl-justify-start gl-p-5"},[_c('div',{staticClass:"gl-flex-1 gl-overflow-hidden"},[_c('div',{staticClass:"gl-flex gl-items-center"},[_c('h3',{staticClass:"gl-my-0 gl-text-size-h2"},[_vm._v(_vm._s(_vm.title))]),_vm._v(" "),(_vm.badgeType)?_c('gl-experiment-badge',{attrs:{"type":_vm.badgeType,"container-id":"chat-component"}}):_vm._e()],1),_vm._v(" "),(_vm.subtitle)?_c('h4',{staticClass:"gl-whitespace-nowrap gl-overflow-hidden gl-text-ellipsis gl-font-normal gl-text-subtle gl-mb-0 gl-text-sm gl-pr-3",attrs:{"data-testid":"chat-subtitle"}},[_vm._v("\n "+_vm._s(_vm.subtitle)+"\n ")]):_vm._e()]),_vm._v(" "),_c('div',{staticClass:"gl-flex gl-gap-3"},[(_vm.isMultithreaded && (_vm.activeThreadId || _vm.currentView === _vm.VIEW_TYPES.LIST))?_c('gl-button',{directives:[{name:"gl-tooltip",rawName:"v-gl-tooltip"}],attrs:{"title":_vm.$options.i18n.CHAT_NEW_TOOLTIP,"data-testid":"chat-new-button","variant":"confirm","category":"tertiary","size":"small","icon":"duo-chat-new","aria-label":_vm.$options.i18n.CHAT_NEW_LABEL},on:{"click":function($event){return _vm.$emit('new-chat')}}}):_vm._e(),_vm._v(" "),(_vm.isMultithreaded && _vm.currentView === _vm.VIEW_TYPES.CHAT)?_c('gl-button',{directives:[{name:"gl-tooltip",rawName:"v-gl-tooltip"}],attrs:{"title":_vm.$options.i18n.CHAT_HISTORY_TOOLTIP,"data-testid":"go-back-to-list-button","category":"tertiary","size":"small","icon":"history","aria-label":_vm.$options.i18n.CHAT_BACK_LABEL},on:{"click":function($event){return _vm.$emit('go-back')}}}):_vm._e(),_vm._v(" "),(_vm.isMultithreaded && _vm.activeThreadId && _vm.currentView === _vm.VIEW_TYPES.LIST)?_c('gl-button',{directives:[{name:"gl-tooltip",rawName:"v-gl-tooltip"}],attrs:{"title":_vm.$options.i18n.CHAT_BACK_TO_CHAT_TOOLTIP,"data-testid":"go-back-to-chat-button","category":"tertiary","size":"small","icon":"go-back","aria-label":_vm.$options.i18n.CHAT_BACK_TO_CHAT_TOOLTIP},on:{"click":function($event){return _vm.$emit('go-back-to-chat')}}}):_vm._e(),_vm._v(" "),_c('gl-button',{staticClass:"gl-ml-auto",attrs:{"category":"tertiary","variant":"default","icon":"close","size":"small","data-testid":"chat-close-button","aria-label":_vm.$options.i18n.CHAT_CLOSE_LABEL},on:{"click":function($event){return _vm.$emit('close')}}})],1)]),_vm._v(" "),_vm._t("subheader"),_vm._v(" "),(_vm.error)?_c('gl-alert',{key:"error",staticClass:"!gl-pl-9",attrs:{"dismissible":false,"variant":"danger","role":"alert","data-testid":"chat-error"}},[_c('span',{directives:[{name:"safe-html",rawName:"v-safe-html",value:(_vm.error),expression:"error"}]})]):_vm._e()],2)};
79
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('header',{staticClass:"gl-border-b gl-shrink-0 gl-bg-default gl-p-0",attrs:{"data-testid":"chat-header"}},[_c('div',{staticClass:"drawer-title gl-flex gl-items-center gl-justify-start gl-p-5"},[_c('div',{staticClass:"gl-flex-1 gl-overflow-hidden"},[_c('div',{staticClass:"gl-flex gl-items-center"},[_c('h3',{staticClass:"gl-my-0 gl-text-size-h2"},[_vm._v(_vm._s(_vm.title))]),_vm._v(" "),(_vm.badgeType)?_c('gl-experiment-badge',{attrs:{"type":_vm.badgeType,"container-id":"chat-component"}}):_vm._e()],1),_vm._v(" "),(_vm.subtitle)?_c('h4',{staticClass:"gl-mb-0 gl-overflow-hidden gl-text-ellipsis gl-whitespace-nowrap gl-pr-3 gl-text-sm gl-font-normal gl-text-subtle",attrs:{"data-testid":"chat-subtitle"}},[_vm._v("\n "+_vm._s(_vm.subtitle)+"\n ")]):_vm._e()]),_vm._v(" "),_c('div',{staticClass:"gl-flex gl-gap-3"},[(_vm.isMultithreaded && (_vm.activeThreadId || _vm.currentView === _vm.VIEW_TYPES.LIST))?_c('gl-button',{directives:[{name:"gl-tooltip",rawName:"v-gl-tooltip"}],attrs:{"title":_vm.$options.i18n.CHAT_NEW_TOOLTIP,"data-testid":"chat-new-button","variant":"confirm","category":"tertiary","size":"small","icon":"duo-chat-new","aria-label":_vm.$options.i18n.CHAT_NEW_LABEL},on:{"click":function($event){return _vm.$emit('new-chat')}}}):_vm._e(),_vm._v(" "),(_vm.isMultithreaded && _vm.currentView === _vm.VIEW_TYPES.CHAT)?_c('gl-button',{directives:[{name:"gl-tooltip",rawName:"v-gl-tooltip"}],attrs:{"title":_vm.$options.i18n.CHAT_HISTORY_TOOLTIP,"data-testid":"go-back-to-list-button","category":"tertiary","size":"small","icon":"history","aria-label":_vm.$options.i18n.CHAT_BACK_LABEL},on:{"click":function($event){return _vm.$emit('go-back')}}}):_vm._e(),_vm._v(" "),(_vm.isMultithreaded && _vm.activeThreadId && _vm.currentView === _vm.VIEW_TYPES.LIST)?_c('gl-button',{directives:[{name:"gl-tooltip",rawName:"v-gl-tooltip"}],attrs:{"title":_vm.$options.i18n.CHAT_BACK_TO_CHAT_TOOLTIP,"data-testid":"go-back-to-chat-button","category":"tertiary","size":"small","icon":"go-back","aria-label":_vm.$options.i18n.CHAT_BACK_TO_CHAT_TOOLTIP},on:{"click":function($event){return _vm.$emit('go-back-to-chat')}}}):_vm._e(),_vm._v(" "),_c('gl-button',{staticClass:"gl-ml-auto",attrs:{"category":"tertiary","variant":"default","icon":"close","size":"small","data-testid":"chat-close-button","aria-label":_vm.$options.i18n.CHAT_CLOSE_LABEL},on:{"click":function($event){return _vm.$emit('close')}}})],1)]),_vm._v(" "),_vm._t("subheader"),_vm._v(" "),(_vm.error)?_c('gl-alert',{key:"error",staticClass:"!gl-pl-9",attrs:{"dismissible":false,"variant":"danger","role":"alert","data-testid":"chat-error"}},[_c('span',{directives:[{name:"safe-html",rawName:"v-safe-html",value:(_vm.error),expression:"error"}]})]):_vm._e()],2)};
80
80
  var __vue_staticRenderFns__ = [];
81
81
 
82
82
  /* style */
@@ -288,12 +288,12 @@ var script = {
288
288
  const __vue_script__ = script;
289
289
 
290
290
  /* template */
291
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-flex gl-flex-row gl-items-end duo-chat-message-container",on:{"mouseenter":function($event){_vm.hovered = true;},"mouseleave":function($event){_vm.hovered = false;
292
- _vm.copied = false;}}},[(_vm.isAssistantMessage || _vm.isUserMessage)?[_c('div',{staticClass:"duo-chat-message gl-leading-20 gl-break-anywhere md gl-w-full",class:{
293
- 'gl-ml-auto gl-p-3 gl-bg-feedback-info gl-text-feedback-info': _vm.isUserMessage,
291
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"duo-chat-message-container gl-flex gl-flex-row gl-items-end",on:{"mouseenter":function($event){_vm.hovered = true;},"mouseleave":function($event){_vm.hovered = false;
292
+ _vm.copied = false;}}},[(_vm.isAssistantMessage || _vm.isUserMessage)?[_c('div',{staticClass:"duo-chat-message md gl-w-full gl-leading-20 gl-break-anywhere",class:{
293
+ 'gl-ml-auto gl-bg-feedback-info gl-p-3 gl-text-feedback-info': _vm.isUserMessage,
294
294
  'gl-text-default': _vm.isAssistantMessage && !_vm.error,
295
295
  'duo-chat-message-with-error gl-bg-feedback-danger gl-p-3': _vm.error,
296
- },on:{"insert-code-snippet":_vm.onInsertCodeSnippet,"copy-code-snippet":_vm.onCopyCodeSnippet}},[(_vm.showA11yFromText)?_c('div',{staticClass:"gl-sr-only"},[_vm._v("\n "+_vm._s(_vm.isUserMessage ? _vm.$options.i18n.FROM_ME : _vm.$options.i18n.FROM_DUO)+"\n ")]):_vm._e(),_vm._v(" "),_c('div',{ref:"content-wrapper",class:{ 'has-error': _vm.error }},[(_vm.displaySelectedContextItems && _vm.isAssistantMessage)?_c('duo-chat-context-item-selections',{attrs:{"selections":_vm.selectedContextItems,"title":_vm.selectedContextItemsTitle,"default-collapsed":_vm.selectedContextItemsDefaultCollapsed,"variant":"assistant"},on:{"get-content":_vm.onGetContextItemContent}}):_vm._e(),_vm._v(" "),(_vm.error)?_c('div',{staticClass:"gl-flex"},[(_vm.error)?_c('gl-icon',{staticClass:"error-icon gl-mr-3 gl-mt-1 gl-shrink-0 gl-text-danger",attrs:{"aria-label":_vm.$options.i18n.MESSAGE_ERROR,"name":"error","size":16,"data-testid":"error"}}):_vm._e(),_vm._v(" "),_c('div',{directives:[{name:"safe-html",rawName:"v-safe-html:[$options.safeHtmlConfigExtension]",value:(_vm.renderedError),expression:"renderedError",arg:_vm.$options.safeHtmlConfigExtension}],ref:"error-message"})],1):_c('div',[_c('div',{staticClass:"gl-flex"},[(_vm.isUserMessage)?_c('gl-avatar',{staticClass:"gl-mr-3 gl-mt-1",attrs:{"size":16,"entity-name":"User","src":_vm.avatarUrl}}):_vm._e(),_vm._v(" "),_c('div',{directives:[{name:"safe-html",rawName:"v-safe-html:[$options.safeHtmlConfigExtension]",value:(_vm.messageContent),expression:"messageContent",arg:_vm.$options.safeHtmlConfigExtension}],ref:"content"})],1),_vm._v(" "),(_vm.isAssistantMessage)?[(_vm.sources)?_c('documentation-sources',{attrs:{"sources":_vm.sources}}):_vm._e(),_vm._v(" "),_c('div',{staticClass:"duo-chat-message-feedback gl-mt-4 gl-flex gl-items-end"},[(_vm.isChunkAndNotCancelled)?_c('gl-animated-loader-icon',{attrs:{"is-on":true}}):_vm._e(),_vm._v(" "),(_vm.shouldShowFeedbackLink)?_c('message-feedback',{attrs:{"has-feedback":_vm.hasFeedback},on:{"feedback":_vm.logEvent}}):_vm._e()],1)]:_vm._e()],2),_vm._v(" "),(_vm.displaySelectedContextItems && _vm.isUserMessage)?_c('duo-chat-context-item-selections',{attrs:{"selections":_vm.selectedContextItems,"title":_vm.selectedContextItemsTitle,"default-collapsed":_vm.selectedContextItemsDefaultCollapsed,"variant":"user"},on:{"get-content":_vm.onGetContextItemContent}}):_vm._e()],1)]),_vm._v(" "),_c('transition',{attrs:{"name":"duo-chat-message-actions"}},[(_vm.shouldShowCopyAction)?_c('div',{staticClass:"gl-bg-subtle duo-chat-message-actions gl-rounded-tr-lg gl-rounded-br-lg"},[_c('gl-button',{directives:[{name:"gl-tooltip",rawName:"v-gl-tooltip.hover",modifiers:{"hover":true}}],class:{ '!gl-text-success': _vm.copied },attrs:{"title":_vm.copied ? _vm.$options.i18n.CHAT_MESSAGE_COPIED : _vm.$options.i18n.CHAT_MESSAGE_COPY,"icon":_vm.copied ? 'check-circle-filled' : 'copy-to-clipboard',"category":"tertiary"},on:{"click":_vm.copyMessage}})],1):_vm._e()])]:_c('message-map',{attrs:{"message":_vm.message,"with-feedback":_vm.withFeedback,"data-testid":"workflow-message"},on:{"open-file-path":_vm.onOpenFilePath,"feedback":_vm.logEvent,"insert-code-snippet":_vm.onInsertCodeSnippet,"copy-code-snippet":_vm.onCopyCodeSnippet}})],2)};
296
+ },on:{"insert-code-snippet":_vm.onInsertCodeSnippet,"copy-code-snippet":_vm.onCopyCodeSnippet}},[(_vm.showA11yFromText)?_c('div',{staticClass:"gl-sr-only"},[_vm._v("\n "+_vm._s(_vm.isUserMessage ? _vm.$options.i18n.FROM_ME : _vm.$options.i18n.FROM_DUO)+"\n ")]):_vm._e(),_vm._v(" "),_c('div',{ref:"content-wrapper",class:{ 'has-error': _vm.error }},[(_vm.displaySelectedContextItems && _vm.isAssistantMessage)?_c('duo-chat-context-item-selections',{attrs:{"selections":_vm.selectedContextItems,"title":_vm.selectedContextItemsTitle,"default-collapsed":_vm.selectedContextItemsDefaultCollapsed,"variant":"assistant"},on:{"get-content":_vm.onGetContextItemContent}}):_vm._e(),_vm._v(" "),(_vm.error)?_c('div',{staticClass:"gl-flex"},[(_vm.error)?_c('gl-icon',{staticClass:"error-icon gl-mr-3 gl-mt-1 gl-shrink-0 gl-text-danger",attrs:{"aria-label":_vm.$options.i18n.MESSAGE_ERROR,"name":"error","size":16,"data-testid":"error"}}):_vm._e(),_vm._v(" "),_c('div',{directives:[{name:"safe-html",rawName:"v-safe-html:[$options.safeHtmlConfigExtension]",value:(_vm.renderedError),expression:"renderedError",arg:_vm.$options.safeHtmlConfigExtension}],ref:"error-message"})],1):_c('div',[_c('div',{staticClass:"gl-flex"},[(_vm.isUserMessage)?_c('gl-avatar',{staticClass:"gl-mr-3 gl-mt-1",attrs:{"size":16,"entity-name":"User","src":_vm.avatarUrl}}):_vm._e(),_vm._v(" "),_c('div',{directives:[{name:"safe-html",rawName:"v-safe-html:[$options.safeHtmlConfigExtension]",value:(_vm.messageContent),expression:"messageContent",arg:_vm.$options.safeHtmlConfigExtension}],ref:"content"})],1),_vm._v(" "),(_vm.isAssistantMessage)?[(_vm.sources)?_c('documentation-sources',{attrs:{"sources":_vm.sources}}):_vm._e(),_vm._v(" "),_c('div',{staticClass:"duo-chat-message-feedback gl-mt-4 gl-flex gl-items-end"},[(_vm.isChunkAndNotCancelled)?_c('gl-animated-loader-icon',{attrs:{"is-on":true}}):_vm._e(),_vm._v(" "),(_vm.shouldShowFeedbackLink)?_c('message-feedback',{attrs:{"has-feedback":_vm.hasFeedback},on:{"feedback":_vm.logEvent}}):_vm._e()],1)]:_vm._e()],2),_vm._v(" "),(_vm.displaySelectedContextItems && _vm.isUserMessage)?_c('duo-chat-context-item-selections',{attrs:{"selections":_vm.selectedContextItems,"title":_vm.selectedContextItemsTitle,"default-collapsed":_vm.selectedContextItemsDefaultCollapsed,"variant":"user"},on:{"get-content":_vm.onGetContextItemContent}}):_vm._e()],1)]),_vm._v(" "),_c('transition',{attrs:{"name":"duo-chat-message-actions"}},[(_vm.shouldShowCopyAction)?_c('div',{staticClass:"duo-chat-message-actions gl-rounded-br-lg gl-rounded-tr-lg gl-bg-subtle"},[_c('gl-button',{directives:[{name:"gl-tooltip",rawName:"v-gl-tooltip.hover",modifiers:{"hover":true}}],class:{ '!gl-text-success': _vm.copied },attrs:{"title":_vm.copied ? _vm.$options.i18n.CHAT_MESSAGE_COPIED : _vm.$options.i18n.CHAT_MESSAGE_COPY,"icon":_vm.copied ? 'check-circle-filled' : 'copy-to-clipboard',"category":"tertiary"},on:{"click":_vm.copyMessage}})],1):_vm._e()])]:_c('message-map',{attrs:{"message":_vm.message,"with-feedback":_vm.withFeedback,"data-testid":"workflow-message"},on:{"open-file-path":_vm.onOpenFilePath,"feedback":_vm.logEvent,"insert-code-snippet":_vm.onInsertCodeSnippet,"copy-code-snippet":_vm.onCopyCodeSnippet}})],2)};
297
297
  var __vue_staticRenderFns__ = [];
298
298
 
299
299
  /* style */
@@ -72,7 +72,7 @@ const __vue_script__ = script;
72
72
 
73
73
  /* template */
74
74
  var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"duo-chat-message gl-leading-20 gl-break-anywhere",class:{
75
- 'gl-flex gl-items-top': _vm.hasError,
75
+ 'gl-items-top gl-flex': _vm.hasError,
76
76
  }},[(_vm.hasError)?_c('gl-icon',{staticClass:"error-icon gl-border gl-mr-3 gl-mt-2 gl-shrink-0 gl-rounded-full gl-border-red-500 gl-text-red-600",attrs:{"name":"status_warning_borderless","size":16,"data-testid":"error"}}):_vm._e(),_vm._v(" "),_c('div',{ref:"content-wrapper",class:{ 'has-error': _vm.hasError }},[(_vm.hasError)?_c('div',{directives:[{name:"safe-html",rawName:"v-safe-html",value:(_vm.renderedError),expression:"renderedError"}],ref:"error-message"}):_c('div',[_vm._t("message",function(){return [_c('div',{directives:[{name:"safe-html",rawName:"v-safe-html",value:(_vm.messageContent),expression:"messageContent"}],ref:"content"})]},null,{ content: _vm.message.content, htmlContent: _vm.messageContent })],2)])],1)};
77
77
  var __vue_staticRenderFns__ = [];
78
78
 
@@ -98,7 +98,7 @@ const __vue_script__ = script;
98
98
  /* template */
99
99
  var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('base-message',{attrs:{"message":_vm.message},scopedSlots:_vm._u([{key:"message",fn:function(ref){
100
100
  var content = ref.content;
101
- return [_c('div',{staticClass:"gl-flex gl-items-baseline !gl-text-subtle"},[_c('div',{staticClass:"gl-mr-3 gl-flex-shrink-0"},[_c('gl-icon',{attrs:{"name":_vm.iconName}})],1),_vm._v(" "),_c('div',{staticClass:"gl-flex-1"},[_c('div',{staticClass:"gl-mb-2"},[_c('span',{attrs:{"data-testid":"tool-message-content"}},[_vm._v(_vm._s(content))])]),_vm._v(" "),(_vm.projectId)?_c('div',{staticClass:"gl-mb-2",attrs:{"data-testid":"tool-message-project-info"}},[_c('span',{staticClass:"gl-font-weight-bold"},[_vm._v(_vm._s(_vm.$options.i18n.PROJECT_LABEL)+":")]),_vm._v(" "),_c('span',{staticClass:"gl-ml-2",attrs:{"data-testid":"tool-message-project-id"}},[_vm._v(_vm._s(_vm.projectId))])]):_vm._e(),_vm._v(" "),(_vm.branchName)?_c('div',{staticClass:"gl-mb-2",attrs:{"data-testid":"tool-message-branch-info"}},[_c('span',{staticClass:"gl-font-weight-bold"},[_vm._v(_vm._s(_vm.$options.i18n.BRANCH_LABEL)+":")]),_vm._v(" "),_c('span',{staticClass:"gl-ml-2",attrs:{"data-testid":"tool-message-branch-name"}},[_vm._v(_vm._s(_vm.branchName))])]):_vm._e(),_vm._v(" "),(_vm.startBranch)?_c('div',{staticClass:"gl-mb-2",attrs:{"data-testid":"tool-message-start-branch-info"}},[_c('span',{staticClass:"gl-font-weight-bold"},[_vm._v(_vm._s(_vm.$options.i18n.START_BRANCH_LABEL)+":")]),_vm._v(" "),_c('span',{staticClass:"gl-ml-2",attrs:{"data-testid":"tool-message-start-branch-name"}},[_vm._v(_vm._s(_vm.startBranch))])]):_vm._e(),_vm._v(" "),(_vm.commitMessage)?_c('div',{staticClass:"gl-mb-2",attrs:{"data-testid":"tool-message-commit-message-info"}},[_c('span',{staticClass:"gl-font-weight-bold"},[_vm._v(_vm._s(_vm.$options.i18n.COMMIT_MESSAGE_LABEL)+":")]),_vm._v(" "),_c('span',{staticClass:"gl-ml-2",attrs:{"data-testid":"tool-message-commit-message-text"}},[_vm._v(_vm._s(_vm.commitMessage))])]):_vm._e(),_vm._v(" "),(_vm.hasActions)?_c('div',{staticClass:"gl-mb-2",attrs:{"data-testid":"tool-message-actions-section"}},[_c('div',{staticClass:"gl-mb-2"},[_c('span',{staticClass:"gl-font-weight-bold",attrs:{"data-testid":"tool-message-actions-label"}},[_vm._v(_vm._s(_vm.$options.i18n.ACTION_LABEL)+"s:")])]),_vm._v(" "),_vm._l((_vm.toolArgs.actions),function(action,index){return _c('div',{key:index,staticClass:"gl-ml-4 gl-mb-3 gl-p-3 gl-border gl-border-subtle gl-rounded",attrs:{"data-testid":"tool-message-action-item"}},[_c('div',{staticClass:"gl-mb-2"},[_c('span',{staticClass:"gl-font-weight-bold",attrs:{"data-testid":"tool-message-action-type"}},[_vm._v(_vm._s(action.action))])]),_vm._v(" "),(action.file_path)?_c('div',{staticClass:"gl-mb-2"},[_c('span',{staticClass:"gl-font-weight-bold"},[_vm._v(_vm._s(_vm.$options.i18n.FILE_PATH_LABEL)+":")]),_vm._v(" "),_c('gl-link',{staticClass:"gl-ml-2 gl-markdown file-path-link gl-break-all",attrs:{"data-testid":"tool-message-action-file-path-link"},on:{"click":function($event){$event.preventDefault();return _vm.onOpenFilePath(action.file_path)}}},[_c('code',[_vm._v(_vm._s(action.file_path))])])],1):_vm._e(),_vm._v(" "),(action.content)?_c('div',{staticClass:"gl-mb-2",attrs:{"data-testid":"tool-message-action-content"}},[_c('span',{staticClass:"gl-font-weight-bold"},[_vm._v(_vm._s(_vm.$options.i18n.CONTENT_LABEL)+":")]),_vm._v(" "),_c('pre',{staticClass:"gl-mt-2 gl-p-2 gl-bg-subtle gl-rounded gl-text-sm gl-overflow-auto",attrs:{"data-testid":"tool-message-action-content-text"}},[_vm._v(_vm._s(action.content))])]):_vm._e()])})],2):(_vm.messageFilePath)?_c('div',{staticClass:"gl-mb-2"},[_c('span',{staticClass:"gl-font-weight-bold"},[_vm._v(_vm._s(_vm.$options.i18n.FILE_PATH_LABEL)+":")]),_vm._v(" "),_c('gl-link',{staticClass:"gl-ml-2 gl-markdown file-path-link gl-break-all",attrs:{"data-testid":"tool-message-file-path-link"},on:{"click":function($event){$event.preventDefault();return _vm.onOpenFilePath(_vm.messageFilePath)}}},[_c('code',[_vm._v(_vm._s(_vm.messageFilePath))])])],1):_vm._e()])])]}}])})};
101
+ return [_c('div',{staticClass:"gl-flex gl-items-baseline !gl-text-subtle"},[_c('div',{staticClass:"gl-mr-3 gl-flex-shrink-0"},[_c('gl-icon',{attrs:{"name":_vm.iconName}})],1),_vm._v(" "),_c('div',{staticClass:"gl-flex-1"},[_c('div',{staticClass:"gl-mb-2"},[_c('span',{attrs:{"data-testid":"tool-message-content"}},[_vm._v(_vm._s(content))])]),_vm._v(" "),(_vm.projectId)?_c('div',{staticClass:"gl-mb-2",attrs:{"data-testid":"tool-message-project-info"}},[_c('span',{staticClass:"gl-font-weight-bold"},[_vm._v(_vm._s(_vm.$options.i18n.PROJECT_LABEL)+":")]),_vm._v(" "),_c('span',{staticClass:"gl-ml-2",attrs:{"data-testid":"tool-message-project-id"}},[_vm._v(_vm._s(_vm.projectId))])]):_vm._e(),_vm._v(" "),(_vm.branchName)?_c('div',{staticClass:"gl-mb-2",attrs:{"data-testid":"tool-message-branch-info"}},[_c('span',{staticClass:"gl-font-weight-bold"},[_vm._v(_vm._s(_vm.$options.i18n.BRANCH_LABEL)+":")]),_vm._v(" "),_c('span',{staticClass:"gl-ml-2",attrs:{"data-testid":"tool-message-branch-name"}},[_vm._v(_vm._s(_vm.branchName))])]):_vm._e(),_vm._v(" "),(_vm.startBranch)?_c('div',{staticClass:"gl-mb-2",attrs:{"data-testid":"tool-message-start-branch-info"}},[_c('span',{staticClass:"gl-font-weight-bold"},[_vm._v(_vm._s(_vm.$options.i18n.START_BRANCH_LABEL)+":")]),_vm._v(" "),_c('span',{staticClass:"gl-ml-2",attrs:{"data-testid":"tool-message-start-branch-name"}},[_vm._v(_vm._s(_vm.startBranch))])]):_vm._e(),_vm._v(" "),(_vm.commitMessage)?_c('div',{staticClass:"gl-mb-2",attrs:{"data-testid":"tool-message-commit-message-info"}},[_c('span',{staticClass:"gl-font-weight-bold"},[_vm._v(_vm._s(_vm.$options.i18n.COMMIT_MESSAGE_LABEL)+":")]),_vm._v(" "),_c('span',{staticClass:"gl-ml-2",attrs:{"data-testid":"tool-message-commit-message-text"}},[_vm._v(_vm._s(_vm.commitMessage))])]):_vm._e(),_vm._v(" "),(_vm.hasActions)?_c('div',{staticClass:"gl-mb-2",attrs:{"data-testid":"tool-message-actions-section"}},[_c('div',{staticClass:"gl-mb-2"},[_c('span',{staticClass:"gl-font-weight-bold",attrs:{"data-testid":"tool-message-actions-label"}},[_vm._v(_vm._s(_vm.$options.i18n.ACTION_LABEL)+"s:")])]),_vm._v(" "),_vm._l((_vm.toolArgs.actions),function(action,index){return _c('div',{key:index,staticClass:"gl-rounded gl-border gl-mb-3 gl-ml-4 gl-border-subtle gl-p-3",attrs:{"data-testid":"tool-message-action-item"}},[_c('div',{staticClass:"gl-mb-2"},[_c('span',{staticClass:"gl-font-weight-bold",attrs:{"data-testid":"tool-message-action-type"}},[_vm._v(_vm._s(action.action))])]),_vm._v(" "),(action.file_path)?_c('div',{staticClass:"gl-mb-2"},[_c('span',{staticClass:"gl-font-weight-bold"},[_vm._v(_vm._s(_vm.$options.i18n.FILE_PATH_LABEL)+":")]),_vm._v(" "),_c('gl-link',{staticClass:"gl-markdown file-path-link gl-ml-2 gl-break-all",attrs:{"data-testid":"tool-message-action-file-path-link"},on:{"click":function($event){$event.preventDefault();return _vm.onOpenFilePath(action.file_path)}}},[_c('code',[_vm._v(_vm._s(action.file_path))])])],1):_vm._e(),_vm._v(" "),(action.content)?_c('div',{staticClass:"gl-mb-2",attrs:{"data-testid":"tool-message-action-content"}},[_c('span',{staticClass:"gl-font-weight-bold"},[_vm._v(_vm._s(_vm.$options.i18n.CONTENT_LABEL)+":")]),_vm._v(" "),_c('pre',{staticClass:"gl-rounded gl-mt-2 gl-overflow-auto gl-bg-subtle gl-p-2 gl-text-sm",attrs:{"data-testid":"tool-message-action-content-text"}},[_vm._v(_vm._s(action.content))])]):_vm._e()])})],2):(_vm.messageFilePath)?_c('div',{staticClass:"gl-mb-2"},[_c('span',{staticClass:"gl-font-weight-bold"},[_vm._v(_vm._s(_vm.$options.i18n.FILE_PATH_LABEL)+":")]),_vm._v(" "),_c('gl-link',{staticClass:"gl-markdown file-path-link gl-ml-2 gl-break-all",attrs:{"data-testid":"tool-message-file-path-link"},on:{"click":function($event){$event.preventDefault();return _vm.onOpenFilePath(_vm.messageFilePath)}}},[_c('code',[_vm._v(_vm._s(_vm.messageFilePath))])])],1):_vm._e()])])]}}])})};
102
102
  var __vue_staticRenderFns__ = [];
103
103
 
104
104
  /* style */
@@ -18,7 +18,7 @@ var script = {
18
18
  const __vue_script__ = script;
19
19
 
20
20
  /* template */
21
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('base-message',{staticClass:"gl-ml-auto gl-bg-blue-100 gl-text-blue-900 gl-p-4",attrs:{"message":_vm.message}})};
21
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('base-message',{staticClass:"gl-ml-auto gl-bg-blue-100 gl-p-4 gl-text-blue-900",attrs:{"message":_vm.message}})};
22
22
  var __vue_staticRenderFns__ = [];
23
23
 
24
24
  /* style */
@@ -118,7 +118,7 @@ var script = {
118
118
  const __vue_script__ = script;
119
119
 
120
120
  /* template */
121
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-border gl-border-transparent gl-p-4 gl-leading-20 gl-break-anywhere md gl-rounded-bl-none gl-border-1 gl-border-solid gl-text-default gl-bg-subtle"},[_c('p',{staticClass:"gl-text-gray-700 gl-mb-3"},[_vm._v("\n "+_vm._s(_vm.$options.i18n.TOOL_APPROVAL_TITLE)+"\n ")]),_vm._v(" "),_c('div',{staticClass:"gl-flex gl-items-center gl-gap-2 gl-mb-3"},[_c('gl-icon',{staticClass:"gl-text-gray-500",attrs:{"name":"work-item-maintenance"}}),_vm._v(" "),_c('strong',[_vm._v(_vm._s(_vm.toolName))])],1),_vm._v(" "),_c('div',{staticClass:"gl-border gl-border-gray-200 gl-rounded-base gl-bg-gray-50 gl-p-3 gl-mb-4"},[_c('p',{staticClass:"gl-text-sm gl-text-gray-500 gl-mb-1"},[_vm._v("\n "+_vm._s(_vm.$options.i18n.REQUEST_TEXT)+"\n ")]),_vm._v(" "),(_vm.hasToolParameters)?_c('code',{staticClass:"gl-text-sm gl-font-monospace gl-whitespace-pre-wrap gl-text-default",attrs:{"data-testid":"tool-parameters"}},[_vm._v(_vm._s(JSON.stringify(_vm.toolParameters, null, 2)))]):_c('span',{staticClass:"gl-text-sm gl-text-gray-500",attrs:{"data-testid":"no-parameters-message"}},[_vm._v("\n "+_vm._s(_vm.$options.i18n.NO_PARAMETERS_TEXT)+"\n ")])]),_vm._v(" "),(!_vm.showDenialReason)?_c('div',{staticClass:"gl-flex gl-justify-between"},[_c('gl-button',{attrs:{"variant":"danger","size":"small","icon":"cancel","data-testid":"deny-tool-inline","disabled":_vm.buttonsDisabled,"loading":_vm.isDenying},on:{"click":_vm.handleDeny}},[_vm._v("\n "+_vm._s(_vm.denyButtonText)+"\n ")]),_vm._v(" "),_c('gl-button',{attrs:{"variant":"confirm","size":"small","icon":"play","data-testid":"approve-tool-inline","disabled":_vm.buttonsDisabled,"loading":_vm.isApproving},on:{"click":_vm.handleApprove}},[_vm._v("\n "+_vm._s(_vm.approveButtonText)+"\n ")])],1):_c('div',{staticClass:"gl-mt-3"},[_c('gl-form-group',{staticClass:"gl-mb-3",attrs:{"label":_vm.$options.i18n.DENIAL_REASON_LABEL,"label-for":"inline-rejection-reason","optional":true}},[_c('gl-form-textarea',{attrs:{"id":"inline-rejection-reason","placeholder":_vm.$options.i18n.DENIAL_REASON_PLACEHOLDER,"rows":2,"no-resize":true,"submit-on-enter":false,"disabled":_vm.buttonsDisabled,"data-testid":"denial-reason-textarea","autofocus":""},on:{"submit":_vm.submitDenial},model:{value:(_vm.denialReason),callback:function ($$v) {_vm.denialReason=$$v;},expression:"denialReason"}})],1),_vm._v(" "),_c('div',{staticClass:"gl-flex gl-gap-3"},[_c('gl-button',{attrs:{"size":"small","data-testid":"cancel-denial","disabled":_vm.buttonsDisabled},on:{"click":_vm.cancelDenial}},[_vm._v("\n "+_vm._s(_vm.$options.i18n.CANCEL_TEXT)+"\n ")]),_vm._v(" "),_c('gl-button',{attrs:{"variant":"danger","size":"small","icon":"cancel","data-testid":"submit-denial","disabled":_vm.buttonsDisabled,"loading":_vm.isDenying},on:{"click":_vm.submitDenial}},[_vm._v("\n "+_vm._s(_vm.denyButtonText)+"\n ")])],1)],1)])};
121
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"md gl-border gl-rounded-bl-none gl-border-1 gl-border-solid gl-border-transparent gl-bg-subtle gl-p-4 gl-leading-20 gl-text-default gl-break-anywhere"},[_c('p',{staticClass:"gl-mb-3 gl-text-gray-700"},[_vm._v("\n "+_vm._s(_vm.$options.i18n.TOOL_APPROVAL_TITLE)+"\n ")]),_vm._v(" "),_c('div',{staticClass:"gl-mb-3 gl-flex gl-items-center gl-gap-2"},[_c('gl-icon',{staticClass:"gl-text-gray-500",attrs:{"name":"work-item-maintenance"}}),_vm._v(" "),_c('strong',[_vm._v(_vm._s(_vm.toolName))])],1),_vm._v(" "),_c('div',{staticClass:"gl-border gl-mb-4 gl-rounded-base gl-border-gray-200 gl-bg-gray-50 gl-p-3"},[_c('p',{staticClass:"gl-mb-1 gl-text-sm gl-text-gray-500"},[_vm._v("\n "+_vm._s(_vm.$options.i18n.REQUEST_TEXT)+"\n ")]),_vm._v(" "),(_vm.hasToolParameters)?_c('code',{staticClass:"gl-whitespace-pre-wrap gl-text-sm gl-text-default gl-font-monospace",attrs:{"data-testid":"tool-parameters"}},[_vm._v(_vm._s(JSON.stringify(_vm.toolParameters, null, 2)))]):_c('span',{staticClass:"gl-text-sm gl-text-gray-500",attrs:{"data-testid":"no-parameters-message"}},[_vm._v("\n "+_vm._s(_vm.$options.i18n.NO_PARAMETERS_TEXT)+"\n ")])]),_vm._v(" "),(!_vm.showDenialReason)?_c('div',{staticClass:"gl-flex gl-justify-between"},[_c('gl-button',{attrs:{"variant":"danger","size":"small","icon":"cancel","data-testid":"deny-tool-inline","disabled":_vm.buttonsDisabled,"loading":_vm.isDenying},on:{"click":_vm.handleDeny}},[_vm._v("\n "+_vm._s(_vm.denyButtonText)+"\n ")]),_vm._v(" "),_c('gl-button',{attrs:{"variant":"confirm","size":"small","icon":"play","data-testid":"approve-tool-inline","disabled":_vm.buttonsDisabled,"loading":_vm.isApproving},on:{"click":_vm.handleApprove}},[_vm._v("\n "+_vm._s(_vm.approveButtonText)+"\n ")])],1):_c('div',{staticClass:"gl-mt-3"},[_c('gl-form-group',{staticClass:"gl-mb-3",attrs:{"label":_vm.$options.i18n.DENIAL_REASON_LABEL,"label-for":"inline-rejection-reason","optional":true}},[_c('gl-form-textarea',{attrs:{"id":"inline-rejection-reason","placeholder":_vm.$options.i18n.DENIAL_REASON_PLACEHOLDER,"rows":2,"no-resize":true,"submit-on-enter":false,"disabled":_vm.buttonsDisabled,"data-testid":"denial-reason-textarea","autofocus":""},on:{"submit":_vm.submitDenial},model:{value:(_vm.denialReason),callback:function ($$v) {_vm.denialReason=$$v;},expression:"denialReason"}})],1),_vm._v(" "),_c('div',{staticClass:"gl-flex gl-gap-3"},[_c('gl-button',{attrs:{"size":"small","data-testid":"cancel-denial","disabled":_vm.buttonsDisabled},on:{"click":_vm.cancelDenial}},[_vm._v("\n "+_vm._s(_vm.$options.i18n.CANCEL_TEXT)+"\n ")]),_vm._v(" "),_c('gl-button',{attrs:{"variant":"danger","size":"small","icon":"cancel","data-testid":"submit-denial","disabled":_vm.buttonsDisabled,"loading":_vm.isDenying},on:{"click":_vm.submitDenial}},[_vm._v("\n "+_vm._s(_vm.denyButtonText)+"\n ")])],1)],1)])};
122
122
  var __vue_staticRenderFns__ = [];
123
123
 
124
124
  /* style */
@@ -29,7 +29,7 @@ var script = {
29
29
  const __vue_script__ = script;
30
30
 
31
31
  /* template */
32
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-mt-5 gl-flex gl-flex-col gl-items-start gl-gap-3"},_vm._l((_vm.prompts),function(prompt,index){return _c('gl-button',{key:("question-" + index),staticClass:"duo-chat-suggestion-button gl-text-left",attrs:{"category":"secondary","variant":"default","icon":"question-o"},on:{"click":function($event){return _vm.handleClick(prompt)}}},[_c('span',{staticClass:"gl-whitespace-normal"},[_vm._v(_vm._s(prompt))])])}),1)};
32
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-mt-5 gl-flex gl-flex-col gl-items-start gl-gap-3"},_vm._l((_vm.prompts),function(prompt,index){return _c('gl-button',{key:("question-" + index),staticClass:"duo-chat-suggestion-button gl-text-left",attrs:{"category":"secondary","variant":"default"},on:{"click":function($event){return _vm.handleClick(prompt)}}},[_c('span',{staticClass:"gl-whitespace-normal"},[_vm._v(_vm._s(prompt))])])}),1)};
33
33
  var __vue_staticRenderFns__ = [];
34
34
 
35
35
  /* style */
@@ -76,7 +76,7 @@ var script = {
76
76
  const __vue_script__ = script;
77
77
 
78
78
  /* template */
79
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-p-5"},[_c('div',{staticClass:"gl-bg-gray-50 gl-text-gray-500 gl-p-4 gl-mb-5 gl-rounded-base",attrs:{"data-testid":"chat-threads-info-banner"}},[_c('p',{staticClass:"gl-m-0 gl-flex"},[_vm._v("\n "+_vm._s(_vm.$options.i18n.CHAT_HISTORY_INFO)+"\n ")])]),_vm._v(" "),(_vm.hasThreads)?_vm._l((_vm.groupedThreads),function(threadsForDate,date){return _c('div',{key:date},[_c('div',{staticClass:"gl-font-bold gl-neutral-900 gl-my-4",attrs:{"data-testid":"chat-threads-date-header"}},[_vm._v("\n "+_vm._s(_vm.formattedLocalDate(date))+"\n ")]),_vm._v(" "),_c('div',_vm._l((threadsForDate),function(thread){return _c('div',{key:thread.id,staticClass:"gl-flex gl-align-center"},[_c('gl-button',{staticClass:"hover:gl-bg-gray-50 gl-text-ellipsis !gl-text-default justify-content-start gl-overflow-hidden gl-rounded-base gl-p-4 gl-w-full gl-whitespace-nowrap",attrs:{"data-testid":"chat-threads-thread-box","category":"tertiary","aria-label":_vm.sprintf(_vm.$options.i18n.OPEN_CHAT_LABEL, {
79
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-p-5"},[_c('div',{staticClass:"gl-mb-5 gl-rounded-base gl-bg-gray-50 gl-p-4 gl-text-gray-500",attrs:{"data-testid":"chat-threads-info-banner"}},[_c('p',{staticClass:"gl-m-0 gl-flex"},[_vm._v("\n "+_vm._s(_vm.$options.i18n.CHAT_HISTORY_INFO)+"\n ")])]),_vm._v(" "),(_vm.hasThreads)?_vm._l((_vm.groupedThreads),function(threadsForDate,date){return _c('div',{key:date},[_c('div',{staticClass:"gl-neutral-900 gl-my-4 gl-font-bold",attrs:{"data-testid":"chat-threads-date-header"}},[_vm._v("\n "+_vm._s(_vm.formattedLocalDate(date))+"\n ")]),_vm._v(" "),_c('div',_vm._l((threadsForDate),function(thread){return _c('div',{key:thread.id,staticClass:"gl-align-center gl-flex"},[_c('gl-button',{staticClass:"justify-content-start gl-w-full gl-overflow-hidden gl-text-ellipsis gl-whitespace-nowrap gl-rounded-base gl-p-4 !gl-text-default hover:gl-bg-gray-50",attrs:{"data-testid":"chat-threads-thread-box","category":"tertiary","aria-label":_vm.sprintf(_vm.$options.i18n.OPEN_CHAT_LABEL, {
80
80
  title: thread.title || thread.goal || 'Untitled Chat',
81
81
  })},on:{"click":function($event){return _vm.onSelectThread(thread)}}},[_vm._v("\n "+_vm._s(thread.title || thread.goal || 'Untitled Chat')+"\n ")]),_vm._v(" "),_c('gl-button',{staticClass:"gl-neutral-900 !gl-px-3",attrs:{"data-testid":"chat-threads-delete-thread-button","icon":"remove","category":"tertiary","size":"small","title":_vm.$options.i18n.THREAD_DELETE_LABEL,"aria-label":_vm.$options.i18n.THREAD_DELETE_LABEL},on:{"click":function($event){return _vm.$emit('delete-thread', thread.id)}}})],1)}),0)])}):_c('duo-chat-threads-empty')],2)};
82
82
  var __vue_staticRenderFns__ = [];
@@ -17,7 +17,7 @@ var script = {
17
17
  const __vue_script__ = script;
18
18
 
19
19
  /* template */
20
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-h-full gl-flex gl-flex-col gl-align-center gl-items-center gl-justify-center"},[_c('img',{staticClass:"gl-mb-5",attrs:{"src":_vm.$options.ScheduleIllustration,"alt":_vm.$options.i18n.EMPTY_HISTORY_ALT,"data-testid":"empty-state-illustration"}}),_vm._v(" "),_c('h3',{staticClass:"gl-font-bold gl-neutral-900 gl-mb-4",attrs:{"data-testid":"empty-state-title"}},[_vm._v("\n "+_vm._s(_vm.$options.i18n.EMPTY_HISTORY_TITLE)+"\n ")]),_vm._v(" "),_c('p',{staticClass:"gl-align-center",attrs:{"data-testid":"empty-state-description"}},[_vm._v("\n "+_vm._s(_vm.$options.i18n.EMPTY_HISTORY_COPY)+"\n ")])])};
20
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-align-center gl-flex gl-h-full gl-flex-col gl-items-center gl-justify-center"},[_c('img',{staticClass:"gl-mb-5",attrs:{"src":_vm.$options.ScheduleIllustration,"alt":_vm.$options.i18n.EMPTY_HISTORY_ALT,"data-testid":"empty-state-illustration"}}),_vm._v(" "),_c('h3',{staticClass:"gl-neutral-900 gl-mb-4 gl-font-bold",attrs:{"data-testid":"empty-state-title"}},[_vm._v("\n "+_vm._s(_vm.$options.i18n.EMPTY_HISTORY_TITLE)+"\n ")]),_vm._v(" "),_c('p',{staticClass:"gl-align-center",attrs:{"data-testid":"empty-state-description"}},[_vm._v("\n "+_vm._s(_vm.$options.i18n.EMPTY_HISTORY_COPY)+"\n ")])])};
21
21
  var __vue_staticRenderFns__ = [];
22
22
 
23
23
  /* style */
@@ -627,10 +627,10 @@ const __vue_script__ = script;
627
627
  var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c(_vm.shouldRenderResizable ? 'vue-resizable' : 'div',{tag:"component",class:{
628
628
  'duo-chat-resizable': _vm.shouldRenderResizable,
629
629
  'non-resizable-wrapper': !_vm.shouldRenderResizable,
630
- },attrs:{"width":_vm.shouldRenderResizable ? _vm.dimensions.width : null,"height":_vm.shouldRenderResizable ? _vm.dimensions.height : null,"max-width":_vm.shouldRenderResizable ? _vm.dimensions.maxWidth : null,"max-height":_vm.shouldRenderResizable ? _vm.dimensions.maxHeight : null,"min-width":_vm.shouldRenderResizable ? _vm.dimensions.minWidth : null,"left":_vm.shouldRenderResizable ? _vm.dimensions.left : null,"top":_vm.shouldRenderResizable ? _vm.dimensions.top : null,"fit-parent":true,"min-height":_vm.shouldRenderResizable ? _vm.dimensions.minHeight : null,"active":_vm.shouldRenderResizable ? ['l', 't', 'lt'] : null},on:{"resize:end":_vm.updateSize}},[(!_vm.isHidden)?_c('aside',{staticClass:"markdown-code-block duo-chat gl-bottom-0 gl-max-h-full gl-flex gl-flex-col",class:{
630
+ },attrs:{"width":_vm.shouldRenderResizable ? _vm.dimensions.width : null,"height":_vm.shouldRenderResizable ? _vm.dimensions.height : null,"max-width":_vm.shouldRenderResizable ? _vm.dimensions.maxWidth : null,"max-height":_vm.shouldRenderResizable ? _vm.dimensions.maxHeight : null,"min-width":_vm.shouldRenderResizable ? _vm.dimensions.minWidth : null,"left":_vm.shouldRenderResizable ? _vm.dimensions.left : null,"top":_vm.shouldRenderResizable ? _vm.dimensions.top : null,"fit-parent":true,"min-height":_vm.shouldRenderResizable ? _vm.dimensions.minHeight : null,"active":_vm.shouldRenderResizable ? ['l', 't', 'lt'] : null},on:{"resize:end":_vm.updateSize}},[(!_vm.isHidden)?_c('aside',{staticClass:"markdown-code-block duo-chat gl-bottom-0 gl-flex gl-max-h-full gl-flex-col",class:{
631
631
  'resizable-content': _vm.shouldRenderResizable,
632
632
  'duo-chat-drawer': !_vm.shouldRenderResizable,
633
- },attrs:{"id":"chat-component","role":"complementary","data-testid":"chat-component"}},[(_vm.showHeader)?_c('duo-chat-header',{ref:"header",attrs:{"active-thread-id":_vm.activeThreadId,"title":_vm.isMultithreaded && _vm.currentView === 'list' ? _vm.$options.i18n.CHAT_HISTORY_TITLE : _vm.title,"subtitle":_vm.activeThreadTitleForView,"is-multithreaded":_vm.isMultithreaded,"current-view":_vm.currentView,"should-render-resizable":_vm.shouldRenderResizable,"badge-type":_vm.isMultithreaded ? null : _vm.badgeType},on:{"go-back":_vm.onGoBack,"go-back-to-chat":_vm.onGoBackToChat,"new-chat":_vm.onNewChat,"close":_vm.hideChat},scopedSlots:_vm._u([{key:"subheader",fn:function(){return [_vm._t("subheader")]},proxy:true}],null,true)}):_vm._e(),_vm._v(" "),_c('div',{staticClass:"gl-overflow-y-auto gl-flex gl-flex-col gl-flex-1 gl-flex-grow gl-bg-inherit gl-overscroll-contain",attrs:{"data-testid":"chat-history"},on:{"scroll":_vm.handleScrollingThrottled}},[(_vm.shouldShowThreadList)?_c('duo-chat-threads',{attrs:{"threads":_vm.threadList,"preferred-locale":_vm.preferredLocale},on:{"new-chat":_vm.onNewChat,"select-thread":_vm.onSelectThread,"delete-thread":_vm.onDeleteThread,"close":_vm.hideChat}}):_c('transition-group',{staticClass:"duo-chat-history gl-p-5 gl-mt-auto",attrs:{"mode":"out-in","tag":"section","name":"message"}},[_vm._l((_vm.conversations),function(conversation,index){return _c('duo-chat-conversation',{key:("conversation-" + index),attrs:{"enable-code-insertion":_vm.enableCodeInsertion,"messages":conversation,"canceled-request-ids":_vm.canceledRequestIds,"show-delimiter":index > 0,"trusted-urls":_vm.trustedUrls},on:{"track-feedback":_vm.onTrackFeedback,"insert-code-snippet":_vm.onInsertCodeSnippet,"copy-code-snippet":_vm.onCopyCodeSnippet,"copy-message":_vm.onCopyMessage,"get-context-item-content":_vm.onGetContextItemContent,"open-file-path":_vm.onOpenFilePath}})}),_vm._v(" "),(!_vm.hasMessages && !_vm.isLoading)?[_c('div',{key:"empty-state-message",staticClass:"duo-chat-message gl-rounded-bl-none gl-p-4 gl-leading-20 gl-text-gray-900 gl-break-anywhere",attrs:{"data-testid":"gl-duo-chat-empty-state"}},[(_vm.emptyStateTitle)?_c('p',{staticClass:"gl-m-0",attrs:{"data-testid":"gl-duo-chat-empty-state-title"}},[_vm._v("\n "+_vm._s(_vm.emptyStateTitle)+"\n ")]):_vm._e(),_vm._v(" "),_c('duo-chat-predefined-prompts',{key:"predefined-prompts",attrs:{"prompts":_vm.predefinedPrompts},on:{"click":_vm.sendPredefinedPrompt}})],1)]:_vm._e(),_vm._v(" "),(_vm.isLoading)?_c('duo-chat-loader',{key:"loader",attrs:{"tool-name":_vm.toolName}}):_vm._e(),_vm._v(" "),_c('div',{key:"anchor",ref:"anchor",staticClass:"scroll-anchor"})],2)],1),_vm._v(" "),(_vm.isChatAvailable && !_vm.shouldShowThreadList)?_c('footer',{staticClass:"duo-chat-drawer-footer gl-border-0 gl-bg-default gl-pb-3 gl-shrink-0 gl-relative gl-z-2",class:{ 'duo-chat-drawer-body-scrim-on-footer': !_vm.scrolledToBottom },attrs:{"data-testid":"chat-footer"}},[_c('gl-form',{attrs:{"data-testid":"chat-prompt-form"},on:{"submit":function($event){$event.stopPropagation();$event.preventDefault();return _vm.sendChatPrompt.apply(null, arguments)}}},[_c('div',{staticClass:"gl-relative gl-max-w-full"},[_vm._t("context-items-menu",null,{"isOpen":_vm.contextItemsMenuIsOpen,"onClose":_vm.closeContextItemsMenuOpen,"setRef":_vm.setContextItemsMenuRef,"focusPrompt":_vm.focusChatInput})],2),_vm._v(" "),_c('gl-form-input-group',{scopedSlots:_vm._u([{key:"append",fn:function(){return [(_vm.displaySubmitButton)?_c('gl-button',{staticClass:"!gl-absolute gl-bottom-2 gl-right-2 !gl-rounded-full",attrs:{"icon":"paper-airplane","category":"primary","variant":"confirm","type":"submit","data-testid":"chat-prompt-submit-button","aria-label":_vm.$options.i18n.CHAT_SUBMIT_LABEL}}):_c('gl-button',{staticClass:"!gl-absolute gl-bottom-2 gl-right-2 !gl-rounded-full",attrs:{"icon":"stop","category":"primary","variant":"default","data-testid":"chat-prompt-cancel-button","aria-label":_vm.$options.i18n.CHAT_CANCEL_LABEL},on:{"click":_vm.cancelPrompt}})]},proxy:true}],null,false,608602988)},[_c('div',{staticClass:"duo-chat-input gl-min-h-8 gl-max-w-full gl-grow gl-align-top",attrs:{"data-value":_vm.prompt}},[(_vm.shouldShowSlashCommands)?_c('gl-card',{ref:"commands",staticClass:"slash-commands !gl-absolute gl-w-full -gl-translate-y-full gl-list-none gl-pl-0 gl-shadow-md",attrs:{"body-class":"!gl-p-2"}},_vm._l((_vm.filteredSlashCommands),function(command,index){return _c('gl-dropdown-item',{key:command.name,class:{ 'active-command': index === _vm.activeCommandIndex },on:{"click":function($event){return _vm.selectSlashCommand(index)}},nativeOn:{"mouseenter":function($event){_vm.activeCommandIndex = index;}}},[_c('span',{staticClass:"gl-flex gl-justify-between"},[_c('span',{staticClass:"gl-block"},[_vm._v(_vm._s(command.name))]),_vm._v(" "),_c('small',{staticClass:"gl-pl-3 gl-text-right gl-italic gl-text-subtle"},[_vm._v(_vm._s(command.description))])])])}),1):_vm._e(),_vm._v(" "),_c('gl-form-textarea',{ref:"prompt",staticClass:"gl-absolute !gl-h-full gl-rounded-br-none gl-rounded-tr-none !gl-bg-transparent !gl-py-4 !gl-shadow-none",class:{ 'gl-truncate': !_vm.prompt },attrs:{"data-testid":"chat-prompt-input","placeholder":_vm.inputPlaceholder,"autofocus":""},on:{"compositionend":_vm.compositionEnd},nativeOn:{"keydown":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},"keyup":function($event){return _vm.onInputKeyup.apply(null, arguments)}},model:{value:(_vm.prompt),callback:function ($$v) {_vm.prompt=$$v;},expression:"prompt"}})],1)])],1),_vm._v(" "),_vm._t("footer-controls"),_vm._v(" "),_c('p',{staticClass:"gl-mb-0 gl-mt-3 gl-px-4 gl-text-sm gl-text-secondary"},[_vm._v("\n "+_vm._s(_vm.$options.i18n.CHAT_DISCLAMER)+"\n ")])],2):_vm._e()],1):_vm._e()])};
633
+ },attrs:{"id":"chat-component","role":"complementary","data-testid":"chat-component"}},[(_vm.showHeader)?_c('duo-chat-header',{ref:"header",attrs:{"active-thread-id":_vm.activeThreadId,"title":_vm.isMultithreaded && _vm.currentView === 'list' ? _vm.$options.i18n.CHAT_HISTORY_TITLE : _vm.title,"subtitle":_vm.activeThreadTitleForView,"is-multithreaded":_vm.isMultithreaded,"current-view":_vm.currentView,"should-render-resizable":_vm.shouldRenderResizable,"badge-type":_vm.isMultithreaded ? null : _vm.badgeType},on:{"go-back":_vm.onGoBack,"go-back-to-chat":_vm.onGoBackToChat,"new-chat":_vm.onNewChat,"close":_vm.hideChat},scopedSlots:_vm._u([{key:"subheader",fn:function(){return [_vm._t("subheader")]},proxy:true}],null,true)}):_vm._e(),_vm._v(" "),_c('div',{staticClass:"gl-flex gl-flex-1 gl-flex-grow gl-flex-col gl-overflow-y-auto gl-overscroll-contain gl-bg-inherit",attrs:{"data-testid":"chat-history"},on:{"scroll":_vm.handleScrollingThrottled}},[(_vm.shouldShowThreadList)?_c('duo-chat-threads',{attrs:{"threads":_vm.threadList,"preferred-locale":_vm.preferredLocale},on:{"new-chat":_vm.onNewChat,"select-thread":_vm.onSelectThread,"delete-thread":_vm.onDeleteThread,"close":_vm.hideChat}}):_c('transition-group',{staticClass:"duo-chat-history gl-mt-auto gl-p-5",attrs:{"mode":"out-in","tag":"section","name":"message"}},[_vm._l((_vm.conversations),function(conversation,index){return _c('duo-chat-conversation',{key:("conversation-" + index),attrs:{"enable-code-insertion":_vm.enableCodeInsertion,"messages":conversation,"canceled-request-ids":_vm.canceledRequestIds,"show-delimiter":index > 0,"trusted-urls":_vm.trustedUrls},on:{"track-feedback":_vm.onTrackFeedback,"insert-code-snippet":_vm.onInsertCodeSnippet,"copy-code-snippet":_vm.onCopyCodeSnippet,"copy-message":_vm.onCopyMessage,"get-context-item-content":_vm.onGetContextItemContent,"open-file-path":_vm.onOpenFilePath}})}),_vm._v(" "),(!_vm.hasMessages && !_vm.isLoading)?[_c('div',{key:"empty-state-message",staticClass:"duo-chat-message gl-rounded-bl-none gl-p-4 gl-leading-20 gl-text-gray-900 gl-break-anywhere",attrs:{"data-testid":"gl-duo-chat-empty-state"}},[(_vm.emptyStateTitle)?_c('p',{staticClass:"gl-m-0",attrs:{"data-testid":"gl-duo-chat-empty-state-title"}},[_vm._v("\n "+_vm._s(_vm.emptyStateTitle)+"\n ")]):_vm._e(),_vm._v(" "),_c('duo-chat-predefined-prompts',{key:"predefined-prompts",attrs:{"prompts":_vm.predefinedPrompts},on:{"click":_vm.sendPredefinedPrompt}})],1)]:_vm._e(),_vm._v(" "),(_vm.isLoading)?_c('duo-chat-loader',{key:"loader",attrs:{"tool-name":_vm.toolName}}):_vm._e(),_vm._v(" "),_c('div',{key:"anchor",ref:"anchor",staticClass:"scroll-anchor"})],2)],1),_vm._v(" "),(_vm.isChatAvailable && !_vm.shouldShowThreadList)?_c('footer',{staticClass:"duo-chat-drawer-footer gl-relative gl-z-2 gl-shrink-0 gl-border-0 gl-bg-default gl-pb-3",class:{ 'duo-chat-drawer-body-scrim-on-footer': !_vm.scrolledToBottom },attrs:{"data-testid":"chat-footer"}},[_c('gl-form',{attrs:{"data-testid":"chat-prompt-form"},on:{"submit":function($event){$event.stopPropagation();$event.preventDefault();return _vm.sendChatPrompt.apply(null, arguments)}}},[_c('div',{staticClass:"gl-relative gl-max-w-full"},[_vm._t("context-items-menu",null,{"isOpen":_vm.contextItemsMenuIsOpen,"onClose":_vm.closeContextItemsMenuOpen,"setRef":_vm.setContextItemsMenuRef,"focusPrompt":_vm.focusChatInput})],2),_vm._v(" "),_c('gl-form-input-group',{scopedSlots:_vm._u([{key:"append",fn:function(){return [(_vm.displaySubmitButton)?_c('gl-button',{staticClass:"!gl-absolute gl-bottom-2 gl-right-2 !gl-rounded-full",attrs:{"icon":"paper-airplane","category":"primary","variant":"confirm","type":"submit","data-testid":"chat-prompt-submit-button","aria-label":_vm.$options.i18n.CHAT_SUBMIT_LABEL}}):_c('gl-button',{staticClass:"!gl-absolute gl-bottom-2 gl-right-2 !gl-rounded-full",attrs:{"icon":"stop","category":"primary","variant":"default","data-testid":"chat-prompt-cancel-button","aria-label":_vm.$options.i18n.CHAT_CANCEL_LABEL},on:{"click":_vm.cancelPrompt}})]},proxy:true}],null,false,608602988)},[_c('div',{staticClass:"duo-chat-input gl-min-h-8 gl-max-w-full gl-grow gl-align-top",attrs:{"data-value":_vm.prompt}},[(_vm.shouldShowSlashCommands)?_c('gl-card',{ref:"commands",staticClass:"slash-commands !gl-absolute gl-w-full -gl-translate-y-full gl-list-none gl-pl-0 gl-shadow-md",attrs:{"body-class":"!gl-p-2"}},_vm._l((_vm.filteredSlashCommands),function(command,index){return _c('gl-dropdown-item',{key:command.name,class:{ 'active-command': index === _vm.activeCommandIndex },on:{"click":function($event){return _vm.selectSlashCommand(index)}},nativeOn:{"mouseenter":function($event){_vm.activeCommandIndex = index;}}},[_c('span',{staticClass:"gl-flex gl-justify-between"},[_c('span',{staticClass:"gl-block"},[_vm._v(_vm._s(command.name))]),_vm._v(" "),_c('small',{staticClass:"gl-pl-3 gl-text-right gl-italic gl-text-subtle"},[_vm._v(_vm._s(command.description))])])])}),1):_vm._e(),_vm._v(" "),_c('gl-form-textarea',{ref:"prompt",staticClass:"gl-absolute !gl-h-full gl-rounded-br-none gl-rounded-tr-none !gl-bg-transparent !gl-py-4 !gl-shadow-none",class:{ 'gl-truncate': !_vm.prompt },attrs:{"data-testid":"chat-prompt-input","placeholder":_vm.inputPlaceholder,"autofocus":""},on:{"compositionend":_vm.compositionEnd},nativeOn:{"keydown":function($event){if(!$event.type.indexOf('key')&&_vm._k($event.keyCode,"enter",13,$event.key,"Enter")){ return null; }if($event.ctrlKey||$event.shiftKey||$event.altKey||$event.metaKey){ return null; }$event.preventDefault();},"keyup":function($event){return _vm.onInputKeyup.apply(null, arguments)}},model:{value:(_vm.prompt),callback:function ($$v) {_vm.prompt=$$v;},expression:"prompt"}})],1)])],1),_vm._v(" "),_vm._t("footer-controls"),_vm._v(" "),_c('p',{staticClass:"gl-mb-0 gl-mt-3 gl-px-4 gl-text-sm gl-text-secondary"},[_vm._v("\n "+_vm._s(_vm.$options.i18n.CHAT_DISCLAMER)+"\n ")])],2):_vm._e()],1):_vm._e()])};
634
634
  var __vue_staticRenderFns__ = [];
635
635
 
636
636
  /* style */
@@ -40,7 +40,7 @@ var script = {
40
40
  const __vue_script__ = script;
41
41
 
42
42
  /* template */
43
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-flex gl-gap-1 gl-justify-end"},[_vm._l((_vm.navigationItems),function(item){return _c('gl-link',{key:item.routeName,staticClass:"navigation-link nav-bar-link gl-p-2",attrs:{"to":item.to},on:{"click":function($event){return _vm.$emit('navigation-item-selected', item)}}},[_c('gl-icon',{attrs:{"name":item.iconName}})],1)}),_vm._v(" "),_vm._t("custom-content"),_vm._v(" "),(_vm.showDropdown)?_c('gl-dropdown',{attrs:{"text":"More actions","text-sr-only":"","category":"tertiary","variant":"default","size":"medium","icon":"ellipsis_h","block":false,"no-caret":""}},_vm._l((_vm.dropdownItems),function(item){return _c('gl-dropdown-item',{key:item.id,on:{"click":function($event){return _vm.$emit('dropdown-item-selected', item)}}},[_vm._v("\n "+_vm._s(item.text)+"\n ")])}),1):_vm._e()],2)};
43
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-flex gl-justify-end gl-gap-1"},[_vm._l((_vm.navigationItems),function(item){return _c('gl-link',{key:item.routeName,staticClass:"navigation-link nav-bar-link gl-p-2",attrs:{"to":item.to},on:{"click":function($event){return _vm.$emit('navigation-item-selected', item)}}},[_c('gl-icon',{attrs:{"name":item.iconName}})],1)}),_vm._v(" "),_vm._t("custom-content"),_vm._v(" "),(_vm.showDropdown)?_c('gl-dropdown',{attrs:{"text":"More actions","text-sr-only":"","category":"tertiary","variant":"default","size":"medium","icon":"ellipsis_h","block":false,"no-caret":""}},_vm._l((_vm.dropdownItems),function(item){return _c('gl-dropdown-item',{key:item.id,on:{"click":function($event){return _vm.$emit('dropdown-item-selected', item)}}},[_vm._v("\n "+_vm._s(item.text)+"\n ")])}),1):_vm._e()],2)};
44
44
  var __vue_staticRenderFns__ = [];
45
45
 
46
46
  /* style */
@@ -82,7 +82,7 @@ var script = {
82
82
  const __vue_script__ = script;
83
83
 
84
84
  /* template */
85
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-accordion',{attrs:{"auto-collapse":false,"header-level":3}},[(_vm.showViewAllButton)?_c('gl-link',{staticClass:"gl-flex gl-items-center gl-text-sm gl-absolute gl-right-3 gl-mt-2",attrs:{"data-testid":"view-all-toggle"},on:{"click":function($event){return _vm.$emit('view-all-clicked')}}},[_c('span',[_vm._v(_vm._s(_vm.viewAllText))])]):_vm._e(),_vm._v(" "),_c('gl-accordion-item',{class:_vm.wrapperClasses,attrs:{"title":_vm.accordionTitle,"header-class":'gl-flex gl-mb-n3'},model:{value:(_vm.expanded),callback:function ($$v) {_vm.expanded=$$v;},expression:"expanded"}},[_vm._t("default")],2)],1)};
85
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-accordion',{attrs:{"auto-collapse":false,"header-level":3}},[(_vm.showViewAllButton)?_c('gl-link',{staticClass:"gl-absolute gl-right-3 gl-mt-2 gl-flex gl-items-center gl-text-sm",attrs:{"data-testid":"view-all-toggle"},on:{"click":function($event){return _vm.$emit('view-all-clicked')}}},[_c('span',[_vm._v(_vm._s(_vm.viewAllText))])]):_vm._e(),_vm._v(" "),_c('gl-accordion-item',{class:_vm.wrapperClasses,attrs:{"title":_vm.accordionTitle,"header-class":'gl-flex gl-mb-n3'},model:{value:(_vm.expanded),callback:function ($$v) {_vm.expanded=$$v;},expression:"expanded"}},[_vm._t("default")],2)],1)};
86
86
  var __vue_staticRenderFns__ = [];
87
87
 
88
88
  /* style */
@@ -63,7 +63,7 @@ var script = {
63
63
  const __vue_script__ = script;
64
64
 
65
65
  /* template */
66
- var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-border-solid gl-border-neutral-600"},[_c('div',{staticClass:"gl-w-full gl-flex gl-justify-between gl-items-center gl-px-3 gl-py-2"},[_c('span',{staticClass:"gl-flex gl-items-center",attrs:{"data-testid":"terminal-command-header"}},[_c('gl-icon',{staticClass:"gl-mr-3",attrs:{"name":"terminal"}}),_vm._v("\n "+_vm._s(_vm.commandHeader)+"\n ")],1),_vm._v(" "),(_vm.isCommandOutputAvailable)?_c('gl-button',{attrs:{"text":"Toggle visibility","icon":_vm.toggleIcon,"data-testid":"toggle-visibility-button","category":"tertiary"},on:{"click":_vm.toggleVisibility}}):_vm._e()],1),_vm._v(" "),_c('div',{staticClass:"gl-border-t gl-p-3 gl-flex gl-flex-col gl-leading-22"},[_c('code',{staticClass:"gl-text-subtle",attrs:{"data-testid":"terminal-working-directory"}},[_vm._v(_vm._s(_vm.workingDirectory)+" >")]),_vm._v(" "),_c('code',{staticClass:"gl-text-default",attrs:{"data-testid":"terminal-command-action"}},[_vm._v(_vm._s(_vm.commandAction))])]),_vm._v(" "),(_vm.isCommandOutputAvailable)?_c('gl-collapse',{attrs:{"visible":_vm.isVisible}},[_c('div',{staticClass:"gl-p-3 gl-bg-black"},[_c('code',[_vm._v(_vm._s(_vm.commandOutput))])])]):_vm._e(),_vm._v(" "),(_vm.$scopedSlots.actions)?_c('div',{staticClass:"gl-p-3 gl-border-t"},[_vm._t("actions")],2):_vm._e()],1)};
66
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:"gl-border-solid gl-border-neutral-600"},[_c('div',{staticClass:"gl-flex gl-w-full gl-items-center gl-justify-between gl-px-3 gl-py-2"},[_c('span',{staticClass:"gl-flex gl-items-center",attrs:{"data-testid":"terminal-command-header"}},[_c('gl-icon',{staticClass:"gl-mr-3",attrs:{"name":"terminal"}}),_vm._v("\n "+_vm._s(_vm.commandHeader)+"\n ")],1),_vm._v(" "),(_vm.isCommandOutputAvailable)?_c('gl-button',{attrs:{"text":"Toggle visibility","icon":_vm.toggleIcon,"data-testid":"toggle-visibility-button","category":"tertiary"},on:{"click":_vm.toggleVisibility}}):_vm._e()],1),_vm._v(" "),_c('div',{staticClass:"gl-leading-22 gl-border-t gl-flex gl-flex-col gl-p-3"},[_c('code',{staticClass:"gl-text-subtle",attrs:{"data-testid":"terminal-working-directory"}},[_vm._v(_vm._s(_vm.workingDirectory)+" >")]),_vm._v(" "),_c('code',{staticClass:"gl-text-default",attrs:{"data-testid":"terminal-command-action"}},[_vm._v(_vm._s(_vm.commandAction))])]),_vm._v(" "),(_vm.isCommandOutputAvailable)?_c('gl-collapse',{attrs:{"visible":_vm.isVisible}},[_c('div',{staticClass:"gl-bg-black gl-p-3"},[_c('code',[_vm._v(_vm._s(_vm.commandOutput))])])]):_vm._e(),_vm._v(" "),(_vm.$scopedSlots.actions)?_c('div',{staticClass:"gl-border-t gl-p-3"},[_vm._t("actions")],2):_vm._e()],1)};
67
67
  var __vue_staticRenderFns__ = [];
68
68
 
69
69
  /* style */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitlab/duo-ui",
3
- "version": "10.12.0",
3
+ "version": "10.12.1",
4
4
  "description": "Duo UI Components",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -86,6 +86,7 @@
86
86
  "vue": "^2.7.16"
87
87
  },
88
88
  "resolutions": {
89
+ "stylus": "npm:@gitlab/noop@1.0.1",
89
90
  "chokidar": "^3.5.2",
90
91
  "sane": "^5.0.1",
91
92
  "jackspeak": "2.1.1"
@@ -727,7 +727,7 @@ export default {
727
727
  'resizable-content': shouldRenderResizable,
728
728
  'duo-chat-drawer': !shouldRenderResizable,
729
729
  }"
730
- class="markdown-code-block duo-chat gl-bottom-0 gl-max-h-full gl-flex gl-flex-col"
730
+ class="markdown-code-block duo-chat gl-bottom-0 gl-flex gl-max-h-full gl-flex-col"
731
731
  role="complementary"
732
732
  data-testid="chat-component"
733
733
  >
@@ -754,7 +754,7 @@ export default {
754
754
  </duo-chat-header>
755
755
 
756
756
  <div
757
- class="gl-overflow-y-auto gl-flex gl-flex-col gl-flex-1 gl-flex-grow gl-bg-inherit gl-overscroll-contain"
757
+ class="gl-flex gl-flex-1 gl-flex-grow gl-flex-col gl-overflow-y-auto gl-overscroll-contain gl-bg-inherit"
758
758
  data-testid="chat-history"
759
759
  @scroll="handleScrollingThrottled"
760
760
  >
@@ -772,7 +772,7 @@ export default {
772
772
  mode="out-in"
773
773
  tag="section"
774
774
  name="message"
775
- class="duo-chat-history gl-p-5 gl-mt-auto"
775
+ class="duo-chat-history gl-mt-auto gl-p-5"
776
776
  >
777
777
  <duo-chat-conversation
778
778
  v-for="(conversation, index) in conversations"
@@ -814,7 +814,7 @@ export default {
814
814
  <footer
815
815
  v-if="isChatAvailable && !shouldShowThreadList"
816
816
  data-testid="chat-footer"
817
- class="duo-chat-drawer-footer gl-border-0 gl-bg-default gl-pb-3 gl-shrink-0 gl-relative gl-z-2"
817
+ class="duo-chat-drawer-footer gl-relative gl-z-2 gl-shrink-0 gl-border-0 gl-bg-default gl-pb-3"
818
818
  :class="{ 'duo-chat-drawer-body-scrim-on-footer': !scrolledToBottom }"
819
819
  >
820
820
  <gl-form data-testid="chat-prompt-form" @submit.stop.prevent="sendChatPrompt">
@@ -122,13 +122,13 @@ export default {
122
122
 
123
123
  <div
124
124
  v-if="toolDetails"
125
- class="gl-bg-gray-10 gl-p-3 gl-rounded-base gl-mb-3"
125
+ class="gl-mb-3 gl-rounded-base gl-bg-gray-10 gl-p-3"
126
126
  data-testid="tool-details"
127
127
  >
128
128
  <strong>{{ $options.i18n.TOOL_LABEL }} {{ toolName }}</strong>
129
129
  <pre
130
130
  v-if="toolDetails.parameters"
131
- class="gl-mt-2 gl-mb-0 gl-text-inherit"
131
+ class="gl-mb-0 gl-mt-2 gl-text-inherit"
132
132
  data-testid="tool-parameters"
133
133
  >{{ JSON.stringify(toolDetails.parameters, null, 2) }}</pre
134
134
  >
@@ -257,7 +257,7 @@ export default {
257
257
  body-class="!gl-p-2"
258
258
  data-testid="context-item-menu"
259
259
  >
260
- <div class="gl-flex gl-mb-2">
260
+ <div class="gl-mb-2 gl-flex">
261
261
  <gl-button
262
262
  v-if="selectedCategory"
263
263
  size="small"
@@ -302,7 +302,7 @@ export default {
302
302
  :removable="true"
303
303
  :title="$options.i18n.selectedContextItemsTitle"
304
304
  :default-collapsed="false"
305
- class="gl-mt-2 !gl-mb-0 gl-max-h-13 gl-overflow-y-auto"
305
+ class="!gl-mb-0 gl-mt-2 gl-max-h-13 gl-overflow-y-auto"
306
306
  data-testid="in-menu-context-item-selections"
307
307
  @remove="removeItem"
308
308
  @get-content="onGetContextItemContent"
@@ -82,7 +82,7 @@ export default {
82
82
  </script>
83
83
 
84
84
  <template>
85
- <header data-testid="chat-header" class="gl-border-b gl-bg-default gl-p-0 gl-shrink-0">
85
+ <header data-testid="chat-header" class="gl-border-b gl-shrink-0 gl-bg-default gl-p-0">
86
86
  <div class="drawer-title gl-flex gl-items-center gl-justify-start gl-p-5">
87
87
  <div class="gl-flex-1 gl-overflow-hidden">
88
88
  <div class="gl-flex gl-items-center">
@@ -91,7 +91,7 @@ export default {
91
91
  </div>
92
92
  <h4
93
93
  v-if="subtitle"
94
- class="gl-whitespace-nowrap gl-overflow-hidden gl-text-ellipsis gl-font-normal gl-text-subtle gl-mb-0 gl-text-sm gl-pr-3"
94
+ class="gl-mb-0 gl-overflow-hidden gl-text-ellipsis gl-whitespace-nowrap gl-pr-3 gl-text-sm gl-font-normal gl-text-subtle"
95
95
  data-testid="chat-subtitle"
96
96
  >
97
97
  {{ subtitle }}
@@ -319,7 +319,7 @@ export default {
319
319
  </script>
320
320
  <template>
321
321
  <div
322
- class="gl-flex gl-flex-row gl-items-end duo-chat-message-container"
322
+ class="duo-chat-message-container gl-flex gl-flex-row gl-items-end"
323
323
  @mouseenter="hovered = true"
324
324
  @mouseleave="
325
325
  hovered = false;
@@ -328,9 +328,9 @@ export default {
328
328
  >
329
329
  <template v-if="isAssistantMessage || isUserMessage">
330
330
  <div
331
- class="duo-chat-message gl-leading-20 gl-break-anywhere md gl-w-full"
331
+ class="duo-chat-message md gl-w-full gl-leading-20 gl-break-anywhere"
332
332
  :class="{
333
- 'gl-ml-auto gl-p-3 gl-bg-feedback-info gl-text-feedback-info': isUserMessage,
333
+ 'gl-ml-auto gl-bg-feedback-info gl-p-3 gl-text-feedback-info': isUserMessage,
334
334
  'gl-text-default': isAssistantMessage && !error,
335
335
  'duo-chat-message-with-error gl-bg-feedback-danger gl-p-3': error,
336
336
  }"
@@ -404,7 +404,7 @@ export default {
404
404
  <transition name="duo-chat-message-actions">
405
405
  <div
406
406
  v-if="shouldShowCopyAction"
407
- class="gl-bg-subtle duo-chat-message-actions gl-rounded-tr-lg gl-rounded-br-lg"
407
+ class="duo-chat-message-actions gl-rounded-br-lg gl-rounded-tr-lg gl-bg-subtle"
408
408
  >
409
409
  <gl-button
410
410
  v-gl-tooltip.hover
@@ -70,7 +70,7 @@ export default {
70
70
  <div
71
71
  class="duo-chat-message gl-leading-20 gl-break-anywhere"
72
72
  :class="{
73
- 'gl-flex gl-items-top': hasError,
73
+ 'gl-items-top gl-flex': hasError,
74
74
  }"
75
75
  >
76
76
  <gl-icon
@@ -135,7 +135,7 @@ export default {
135
135
  <div
136
136
  v-for="(action, index) in toolArgs.actions"
137
137
  :key="index"
138
- class="gl-ml-4 gl-mb-3 gl-p-3 gl-border gl-border-subtle gl-rounded"
138
+ class="gl-rounded gl-border gl-mb-3 gl-ml-4 gl-border-subtle gl-p-3"
139
139
  data-testid="tool-message-action-item"
140
140
  >
141
141
  <div class="gl-mb-2">
@@ -147,7 +147,7 @@ export default {
147
147
  <div v-if="action.file_path" class="gl-mb-2">
148
148
  <span class="gl-font-weight-bold">{{ $options.i18n.FILE_PATH_LABEL }}:</span>
149
149
  <gl-link
150
- class="gl-ml-2 gl-markdown file-path-link gl-break-all"
150
+ class="gl-markdown file-path-link gl-ml-2 gl-break-all"
151
151
  data-testid="tool-message-action-file-path-link"
152
152
  @click.prevent="onOpenFilePath(action.file_path)"
153
153
  >
@@ -158,7 +158,7 @@ export default {
158
158
  <div v-if="action.content" class="gl-mb-2" data-testid="tool-message-action-content">
159
159
  <span class="gl-font-weight-bold">{{ $options.i18n.CONTENT_LABEL }}:</span>
160
160
  <pre
161
- class="gl-mt-2 gl-p-2 gl-bg-subtle gl-rounded gl-text-sm gl-overflow-auto"
161
+ class="gl-rounded gl-mt-2 gl-overflow-auto gl-bg-subtle gl-p-2 gl-text-sm"
162
162
  data-testid="tool-message-action-content-text"
163
163
  >{{ action.content }}</pre
164
164
  >
@@ -169,7 +169,7 @@ export default {
169
169
  <div v-else-if="messageFilePath" class="gl-mb-2">
170
170
  <span class="gl-font-weight-bold">{{ $options.i18n.FILE_PATH_LABEL }}:</span>
171
171
  <gl-link
172
- class="gl-ml-2 gl-markdown file-path-link gl-break-all"
172
+ class="gl-markdown file-path-link gl-ml-2 gl-break-all"
173
173
  data-testid="tool-message-file-path-link"
174
174
  @click.prevent="onOpenFilePath(messageFilePath)"
175
175
  >
@@ -15,5 +15,5 @@ export default {
15
15
  };
16
16
  </script>
17
17
  <template>
18
- <base-message :message="message" class="gl-ml-auto gl-bg-blue-100 gl-text-blue-900 gl-p-4" />
18
+ <base-message :message="message" class="gl-ml-auto gl-bg-blue-100 gl-p-4 gl-text-blue-900" />
19
19
  </template>
@@ -132,24 +132,24 @@ export default {
132
132
 
133
133
  <template>
134
134
  <div
135
- class="gl-border gl-border-transparent gl-p-4 gl-leading-20 gl-break-anywhere md gl-rounded-bl-none gl-border-1 gl-border-solid gl-text-default gl-bg-subtle"
135
+ class="md gl-border gl-rounded-bl-none gl-border-1 gl-border-solid gl-border-transparent gl-bg-subtle gl-p-4 gl-leading-20 gl-text-default gl-break-anywhere"
136
136
  >
137
- <p class="gl-text-gray-700 gl-mb-3">
137
+ <p class="gl-mb-3 gl-text-gray-700">
138
138
  {{ $options.i18n.TOOL_APPROVAL_TITLE }}
139
139
  </p>
140
140
 
141
- <div class="gl-flex gl-items-center gl-gap-2 gl-mb-3">
141
+ <div class="gl-mb-3 gl-flex gl-items-center gl-gap-2">
142
142
  <gl-icon name="work-item-maintenance" class="gl-text-gray-500" />
143
143
  <strong>{{ toolName }}</strong>
144
144
  </div>
145
145
 
146
- <div class="gl-border gl-border-gray-200 gl-rounded-base gl-bg-gray-50 gl-p-3 gl-mb-4">
147
- <p class="gl-text-sm gl-text-gray-500 gl-mb-1">
146
+ <div class="gl-border gl-mb-4 gl-rounded-base gl-border-gray-200 gl-bg-gray-50 gl-p-3">
147
+ <p class="gl-mb-1 gl-text-sm gl-text-gray-500">
148
148
  {{ $options.i18n.REQUEST_TEXT }}
149
149
  </p>
150
150
  <code
151
151
  v-if="hasToolParameters"
152
- class="gl-text-sm gl-font-monospace gl-whitespace-pre-wrap gl-text-default"
152
+ class="gl-whitespace-pre-wrap gl-text-sm gl-text-default gl-font-monospace"
153
153
  data-testid="tool-parameters"
154
154
  >{{ JSON.stringify(toolParameters, null, 2) }}</code
155
155
  >
@@ -32,7 +32,6 @@ export default {
32
32
  :key="`question-${index}`"
33
33
  category="secondary"
34
34
  variant="default"
35
- icon="question-o"
36
35
  class="duo-chat-suggestion-button gl-text-left"
37
36
  @click="handleClick(prompt)"
38
37
  ><span class="gl-whitespace-normal">{{ prompt }}</span></gl-button
@@ -90,7 +90,7 @@ export default {
90
90
  <div class="gl-p-5">
91
91
  <div
92
92
  data-testid="chat-threads-info-banner"
93
- class="gl-bg-gray-50 gl-text-gray-500 gl-p-4 gl-mb-5 gl-rounded-base"
93
+ class="gl-mb-5 gl-rounded-base gl-bg-gray-50 gl-p-4 gl-text-gray-500"
94
94
  >
95
95
  <p class="gl-m-0 gl-flex">
96
96
  {{ $options.i18n.CHAT_HISTORY_INFO }}
@@ -99,16 +99,16 @@ export default {
99
99
 
100
100
  <template v-if="hasThreads">
101
101
  <div v-for="(threadsForDate, date) in groupedThreads" :key="date">
102
- <div data-testid="chat-threads-date-header" class="gl-font-bold gl-neutral-900 gl-my-4">
102
+ <div data-testid="chat-threads-date-header" class="gl-neutral-900 gl-my-4 gl-font-bold">
103
103
  {{ formattedLocalDate(date) }}
104
104
  </div>
105
105
 
106
106
  <div>
107
- <div v-for="thread in threadsForDate" :key="thread.id" class="gl-flex gl-align-center">
107
+ <div v-for="thread in threadsForDate" :key="thread.id" class="gl-align-center gl-flex">
108
108
  <gl-button
109
109
  data-testid="chat-threads-thread-box"
110
110
  category="tertiary"
111
- class="hover:gl-bg-gray-50 gl-text-ellipsis !gl-text-default justify-content-start gl-overflow-hidden gl-rounded-base gl-p-4 gl-w-full gl-whitespace-nowrap"
111
+ class="justify-content-start gl-w-full gl-overflow-hidden gl-text-ellipsis gl-whitespace-nowrap gl-rounded-base gl-p-4 !gl-text-default hover:gl-bg-gray-50"
112
112
  :aria-label="
113
113
  sprintf($options.i18n.OPEN_CHAT_LABEL, {
114
114
  title: thread.title || thread.goal || 'Untitled Chat',
@@ -23,14 +23,14 @@ export default {
23
23
  </script>
24
24
 
25
25
  <template>
26
- <div class="gl-h-full gl-flex gl-flex-col gl-align-center gl-items-center gl-justify-center">
26
+ <div class="gl-align-center gl-flex gl-h-full gl-flex-col gl-items-center gl-justify-center">
27
27
  <img
28
28
  :src="$options.ScheduleIllustration"
29
29
  :alt="$options.i18n.EMPTY_HISTORY_ALT"
30
30
  class="gl-mb-5"
31
31
  data-testid="empty-state-illustration"
32
32
  />
33
- <h3 class="gl-font-bold gl-neutral-900 gl-mb-4" data-testid="empty-state-title">
33
+ <h3 class="gl-neutral-900 gl-mb-4 gl-font-bold" data-testid="empty-state-title">
34
34
  {{ $options.i18n.EMPTY_HISTORY_TITLE }}
35
35
  </h3>
36
36
  <p class="gl-align-center" data-testid="empty-state-description">
@@ -718,7 +718,7 @@ export default {
718
718
  'resizable-content': shouldRenderResizable,
719
719
  'duo-chat-drawer': !shouldRenderResizable,
720
720
  }"
721
- class="markdown-code-block duo-chat gl-bottom-0 gl-max-h-full gl-flex gl-flex-col"
721
+ class="markdown-code-block duo-chat gl-bottom-0 gl-flex gl-max-h-full gl-flex-col"
722
722
  role="complementary"
723
723
  data-testid="chat-component"
724
724
  >
@@ -745,7 +745,7 @@ export default {
745
745
  </duo-chat-header>
746
746
 
747
747
  <div
748
- class="gl-overflow-y-auto gl-flex gl-flex-col gl-flex-1 gl-flex-grow gl-bg-inherit gl-overscroll-contain"
748
+ class="gl-flex gl-flex-1 gl-flex-grow gl-flex-col gl-overflow-y-auto gl-overscroll-contain gl-bg-inherit"
749
749
  data-testid="chat-history"
750
750
  @scroll="handleScrollingThrottled"
751
751
  >
@@ -763,7 +763,7 @@ export default {
763
763
  mode="out-in"
764
764
  tag="section"
765
765
  name="message"
766
- class="duo-chat-history gl-p-5 gl-mt-auto"
766
+ class="duo-chat-history gl-mt-auto gl-p-5"
767
767
  >
768
768
  <duo-chat-conversation
769
769
  v-for="(conversation, index) in conversations"
@@ -803,7 +803,7 @@ export default {
803
803
  <footer
804
804
  v-if="isChatAvailable && !shouldShowThreadList"
805
805
  data-testid="chat-footer"
806
- class="duo-chat-drawer-footer gl-border-0 gl-bg-default gl-pb-3 gl-shrink-0 gl-relative gl-z-2"
806
+ class="duo-chat-drawer-footer gl-relative gl-z-2 gl-shrink-0 gl-border-0 gl-bg-default gl-pb-3"
807
807
  :class="{ 'duo-chat-drawer-body-scrim-on-footer': !scrolledToBottom }"
808
808
  >
809
809
  <gl-form data-testid="chat-prompt-form" @submit.stop.prevent="sendChatPrompt">
@@ -38,7 +38,7 @@ export default {
38
38
  </script>
39
39
 
40
40
  <template>
41
- <div class="gl-flex gl-gap-1 gl-justify-end">
41
+ <div class="gl-flex gl-justify-end gl-gap-1">
42
42
  <gl-link
43
43
  v-for="item in navigationItems"
44
44
  :key="item.routeName"
@@ -83,7 +83,7 @@ export default {
83
83
  <gl-accordion :auto-collapse="false" :header-level="3">
84
84
  <gl-link
85
85
  v-if="showViewAllButton"
86
- class="gl-flex gl-items-center gl-text-sm gl-absolute gl-right-3 gl-mt-2"
86
+ class="gl-absolute gl-right-3 gl-mt-2 gl-flex gl-items-center gl-text-sm"
87
87
  data-testid="view-all-toggle"
88
88
  @click="$emit('view-all-clicked')"
89
89
  >
@@ -62,7 +62,7 @@ export default {
62
62
 
63
63
  <template>
64
64
  <div class="gl-border-solid gl-border-neutral-600">
65
- <div class="gl-w-full gl-flex gl-justify-between gl-items-center gl-px-3 gl-py-2">
65
+ <div class="gl-flex gl-w-full gl-items-center gl-justify-between gl-px-3 gl-py-2">
66
66
  <span class="gl-flex gl-items-center" data-testid="terminal-command-header">
67
67
  <gl-icon name="terminal" class="gl-mr-3" />
68
68
  {{ commandHeader }}
@@ -76,18 +76,18 @@ export default {
76
76
  @click="toggleVisibility"
77
77
  />
78
78
  </div>
79
- <div class="gl-border-t gl-p-3 gl-flex gl-flex-col gl-leading-22">
79
+ <div class="gl-leading-22 gl-border-t gl-flex gl-flex-col gl-p-3">
80
80
  <code class="gl-text-subtle" data-testid="terminal-working-directory"
81
81
  >{{ workingDirectory }} ></code
82
82
  >
83
83
  <code class="gl-text-default" data-testid="terminal-command-action">{{ commandAction }}</code>
84
84
  </div>
85
85
  <gl-collapse v-if="isCommandOutputAvailable" :visible="isVisible">
86
- <div class="gl-p-3 gl-bg-black">
86
+ <div class="gl-bg-black gl-p-3">
87
87
  <code>{{ commandOutput }}</code>
88
88
  </div>
89
89
  </gl-collapse>
90
- <div v-if="$scopedSlots.actions" class="gl-p-3 gl-border-t">
90
+ <div v-if="$scopedSlots.actions" class="gl-border-t gl-p-3">
91
91
  <slot name="actions"></slot>
92
92
  </div>
93
93
  </div>