@gitlab/duo-ui 13.0.4 → 13.2.0

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.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,17 @@
1
+ # [13.2.0](https://gitlab.com/gitlab-org/duo-ui/compare/v13.1.0...v13.2.0) (2025-10-28)
2
+
3
+
4
+ ### Features
5
+
6
+ * **AgenticDuoChat:** message tool details ([8102ae9](https://gitlab.com/gitlab-org/duo-ui/commit/8102ae9c690966f749f8b967025c87fb0e32f97b))
7
+
8
+ # [13.1.0](https://gitlab.com/gitlab-org/duo-ui/compare/v13.0.4...v13.1.0) (2025-10-28)
9
+
10
+
11
+ ### Features
12
+
13
+ * **AgenticDuoChat:** Add `canCancel` props ([1e6d9b5](https://gitlab.com/gitlab-org/duo-ui/commit/1e6d9b5982f07205385efe2cc543c51f90a8db29))
14
+
1
15
  ## [13.0.4](https://gitlab.com/gitlab-org/duo-ui/compare/v13.0.3...v13.0.4) (2025-10-27)
2
16
 
3
17
 
@@ -264,6 +264,11 @@ var script = {
264
264
  required: false,
265
265
  default: false
266
266
  },
267
+ canCancel: {
268
+ type: Boolean,
269
+ required: false,
270
+ default: true
271
+ },
267
272
  /**
268
273
  * Optional parameter to pass in the working directory - needed for MessageMap Tool type
269
274
  */
@@ -700,7 +705,7 @@ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=
700
705
  },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:{
701
706
  'resizable-content': _vm.shouldRenderResizable,
702
707
  'duo-chat-drawer': !_vm.shouldRenderResizable,
703
- },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,"session-id":_vm.sessionId,"agents":_vm.agents},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,"working-directory":_vm.workingDirectory},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-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","disabled":_vm.isPromptEmpty || !_vm.hasValidPrompt,"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,2030360392)},[_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",attrs:{"disabled":!_vm.canSubmit,"data-testid":"chat-prompt-input","placeholder":_vm.inputPlaceholder,"character-count-limit":_vm.maxPromptLength,"textarea-classes":[
708
+ },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,"session-id":_vm.sessionId,"agents":_vm.agents},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,"working-directory":_vm.workingDirectory},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-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","disabled":_vm.isPromptEmpty || !_vm.hasValidPrompt,"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,"disabled":!_vm.canCancel},on:{"click":_vm.cancelPrompt}})]},proxy:true}],null,false,2657534213)},[_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",attrs:{"disabled":!_vm.canSubmit,"data-testid":"chat-prompt-input","placeholder":_vm.inputPlaceholder,"character-count-limit":_vm.maxPromptLength,"textarea-classes":[
704
709
  'gl-absolute',
705
710
  '!gl-h-full',
706
711
  'gl-rounded-br-none',
@@ -2,6 +2,7 @@ import { GlIcon, GlLink } from '@gitlab/ui';
2
2
  import { translate } from '../../../../../utils/i18n';
3
3
  import MessageToolApproval from '../../duo_chat_message_tool_approval/message_tool_approval';
4
4
  import { APPROVAL_TOOL_NAMES } from '../../../constants';
5
+ import MessageToolDetails from './message_tool_details';
5
6
  import BaseMessage from './message_base';
6
7
  import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
7
8
 
@@ -15,11 +16,15 @@ const i18n = {
15
16
  FILE_PATH_LABEL: translate('DuoChatMessage.filePathLabel', 'File path'),
16
17
  RAN_TERMINAL_COMMAND: translate('DuoChatMessage.ranTerminalCommand', 'Ran terminal command')
17
18
  };
19
+
20
+ // Hide details section for specified subtypes
21
+ const hiddenSubTypes = ['command_output'];
18
22
  var script = {
19
23
  name: 'DuoToolMessage',
20
24
  components: {
21
25
  BaseMessage,
22
26
  MessageToolApproval,
27
+ MessageToolDetails,
23
28
  GlIcon,
24
29
  GlLink
25
30
  },
@@ -47,6 +52,11 @@ var script = {
47
52
  default: ''
48
53
  }
49
54
  },
55
+ data() {
56
+ return {
57
+ isDetailsOpen: false
58
+ };
59
+ },
50
60
  computed: {
51
61
  iconName() {
52
62
  switch (this.toolName) {
@@ -89,6 +99,12 @@ var script = {
89
99
  hasCommandOutput() {
90
100
  return this.message.message_sub_type === 'command_output';
91
101
  },
102
+ hasToolInfoArgs() {
103
+ return Object.keys(this.toolArgs).length > 0;
104
+ },
105
+ hasToolInfoResponse() {
106
+ return Object.prototype.hasOwnProperty.call(this.message.tool_info || {}, 'tool_response');
107
+ },
92
108
  toolName() {
93
109
  var _this$message$tool_in4;
94
110
  return (_this$message$tool_in4 = this.message.tool_info) === null || _this$message$tool_in4 === void 0 ? void 0 : _this$message$tool_in4.name;
@@ -100,8 +116,15 @@ var script = {
100
116
  toolWorkingDirectory() {
101
117
  return this.workingDirectory;
102
118
  },
119
+ collapseIconName() {
120
+ return this.isDetailsOpen ? 'chevron-down' : 'chevron-right';
121
+ },
103
122
  requiresApproval() {
104
123
  return [APPROVAL_TOOL_NAMES.runCommand, APPROVAL_TOOL_NAMES.runGitCommand, APPROVAL_TOOL_NAMES.createIssue, APPROVAL_TOOL_NAMES.updateIssue, APPROVAL_TOOL_NAMES.createMergeRequest, APPROVAL_TOOL_NAMES.updateMergeRequest, APPROVAL_TOOL_NAMES.createEpic, APPROVAL_TOOL_NAMES.updateEpic, APPROVAL_TOOL_NAMES.createCommit].includes(this.toolName);
124
+ },
125
+ shouldShowDetails() {
126
+ var _this$message;
127
+ return !hiddenSubTypes.includes((_this$message = this.message) === null || _this$message === void 0 ? void 0 : _this$message.message_sub_type) && (this.hasToolInfoArgs || this.hasToolInfoResponse);
105
128
  }
106
129
  },
107
130
  methods: {
@@ -110,6 +133,17 @@ var script = {
110
133
  if (pathToEmit) {
111
134
  this.$emit('open-file-path', pathToEmit);
112
135
  }
136
+ },
137
+ toggleClickToolDetails() {
138
+ if (!this.shouldShowDetails) return; // don't act as accordion if details are hidden
139
+ this.isDetailsOpen = !this.isDetailsOpen;
140
+ },
141
+ toggleKeydownToolDetails(e) {
142
+ if (!this.shouldShowDetails) return; // don't act as accordion if details are hidden
143
+ if (e.key === 'Enter' || e.key === ' ') {
144
+ e.preventDefault();
145
+ this.isDetailsOpen = !this.isDetailsOpen;
146
+ }
113
147
  }
114
148
  }
115
149
  };
@@ -120,7 +154,7 @@ const __vue_script__ = script;
120
154
  /* template */
121
155
  var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.requiresApproval)?_c('message-tool-approval',{attrs:{"message":_vm.message,"working-directory":_vm.workingDirectory,"approval-status":"approved"}}):_c('base-message',{attrs:{"message":_vm.message},scopedSlots:_vm._u([{key:"message",fn:function(ref){
122
156
  var content = ref.content;
123
- 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.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()])])]}}])})};
157
+ 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",class:{ 'gl-cursor-pointer': _vm.shouldShowDetails },on:{"click":_vm.toggleClickToolDetails,"keydown":_vm.toggleKeydownToolDetails}},[_c('span',{attrs:{"data-testid":"tool-message-content"}},[_vm._v(_vm._s(content))]),_vm._v(" "),(_vm.shouldShowDetails)?_c('gl-icon',{attrs:{"name":_vm.collapseIconName}}):_vm._e()],1),_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.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()])]),_vm._v(" "),(_vm.shouldShowDetails)?_c('message-tool-details',{attrs:{"message":_vm.message,"is-expanded":_vm.isDetailsOpen}}):_vm._e()]}}])})};
124
158
  var __vue_staticRenderFns__ = [];
125
159
 
126
160
  /* style */
@@ -0,0 +1,70 @@
1
+ import { GlCollapse, GlCard } from '@gitlab/ui';
2
+ import ToolKvSection from './message_tool_kv_section';
3
+ import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
4
+
5
+ var script = {
6
+ name: 'MessageToolDetails',
7
+ components: {
8
+ GlCollapse,
9
+ GlCard,
10
+ ToolKvSection
11
+ },
12
+ props: {
13
+ message: {
14
+ type: Object,
15
+ required: true
16
+ },
17
+ isExpanded: {
18
+ type: Boolean,
19
+ required: true
20
+ }
21
+ },
22
+ computed: {
23
+ toolInfo() {
24
+ var _this$message;
25
+ return ((_this$message = this.message) === null || _this$message === void 0 ? void 0 : _this$message.tool_info) || {};
26
+ },
27
+ collapseId() {
28
+ var _this$message2;
29
+ return `tool-details-${((_this$message2 = this.message) === null || _this$message2 === void 0 ? void 0 : _this$message2.id) || Math.random().toString(36).slice(2)}`;
30
+ }
31
+ }
32
+ };
33
+
34
+ /* script */
35
+ const __vue_script__ = script;
36
+
37
+ /* template */
38
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('gl-collapse',{attrs:{"id":_vm.collapseId,"visible":_vm.isExpanded}},[_c('gl-card',{staticClass:"gl-mt-2"},[_c('div',{staticClass:"gl-grid gl-gap-7 gl-px-3 gl-py-3"},[_c('tool-kv-section',{attrs:{"title":"Request","value":_vm.toolInfo.args}}),_vm._v(" "),_c('tool-kv-section',{attrs:{"title":"Response","value":_vm.toolInfo.tool_response}})],1)])],1)};
39
+ var __vue_staticRenderFns__ = [];
40
+
41
+ /* style */
42
+ const __vue_inject_styles__ = undefined;
43
+ /* scoped */
44
+ const __vue_scope_id__ = undefined;
45
+ /* module identifier */
46
+ const __vue_module_identifier__ = undefined;
47
+ /* functional template */
48
+ const __vue_is_functional_template__ = false;
49
+ /* style inject */
50
+
51
+ /* style inject SSR */
52
+
53
+ /* style inject shadow dom */
54
+
55
+
56
+
57
+ const __vue_component__ = __vue_normalize__(
58
+ { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
59
+ __vue_inject_styles__,
60
+ __vue_script__,
61
+ __vue_scope_id__,
62
+ __vue_is_functional_template__,
63
+ __vue_module_identifier__,
64
+ false,
65
+ undefined,
66
+ undefined,
67
+ undefined
68
+ );
69
+
70
+ export default __vue_component__;
@@ -0,0 +1,171 @@
1
+ import { nextTick } from 'vue';
2
+ import { GlTooltipDirective, GlButton } from '@gitlab/ui';
3
+ import isEmpty from 'lodash/isEmpty';
4
+ import { checkClipboardPermissions } from '../utils';
5
+ import __vue_normalize__ from 'vue-runtime-helpers/dist/normalize-component.js';
6
+
7
+ function makePretty(value) {
8
+ let visited = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : new WeakSet();
9
+ if (isEmpty(value)) return {
10
+ result: '',
11
+ isJson: false
12
+ };
13
+ if (typeof value === 'string') {
14
+ try {
15
+ const parsed = JSON.parse(value);
16
+ return {
17
+ result: JSON.stringify(parsed, null, 2),
18
+ isJson: true
19
+ };
20
+ } catch (e) {
21
+ return {
22
+ result: value,
23
+ isJson: false
24
+ };
25
+ }
26
+ }
27
+ try {
28
+ if (typeof value === 'object' && visited.has(value)) {
29
+ return {
30
+ result: '',
31
+ isJson: false
32
+ };
33
+ }
34
+ if ('content' in value) {
35
+ visited.add(value);
36
+ return makePretty(value.content, visited);
37
+ }
38
+ return {
39
+ result: JSON.stringify(value, null, 2),
40
+ isJson: true
41
+ };
42
+ } catch (e) {
43
+ return {
44
+ result: String(value),
45
+ isJson: false
46
+ };
47
+ }
48
+ }
49
+ var script = {
50
+ name: 'ToolKvSection',
51
+ directives: {
52
+ GlTooltip: GlTooltipDirective
53
+ },
54
+ components: {
55
+ GlButton
56
+ },
57
+ inject: {
58
+ renderGFM: {
59
+ from: 'renderGFM',
60
+ default: () => element => {
61
+ element.classList.add('gl-markdown', 'gl-compact-markdown');
62
+ }
63
+ }
64
+ },
65
+ props: {
66
+ title: {
67
+ type: String,
68
+ required: true
69
+ },
70
+ value: {
71
+ type: [String, Number, Boolean, Array, Object, null],
72
+ required: false,
73
+ default: null
74
+ },
75
+ // Optional monospace + scroll (useful for JSON / logs)
76
+ maxHeight: {
77
+ type: String,
78
+ required: false,
79
+ default: '260px'
80
+ }
81
+ },
82
+ computed: {
83
+ prettyResult() {
84
+ return makePretty(this.value);
85
+ },
86
+ pretty() {
87
+ return this.prettyResult.result;
88
+ },
89
+ hasContent() {
90
+ return this.pretty && this.pretty.length > 0;
91
+ },
92
+ isJson() {
93
+ return this.prettyResult.isJson;
94
+ }
95
+ },
96
+ async mounted() {
97
+ if (this.isJson) {
98
+ await nextTick();
99
+ this.applyJsonHighlight();
100
+ }
101
+ },
102
+ methods: {
103
+ async copy() {
104
+ const textToCopy = this.pretty;
105
+ const hasClipboardPermission = await checkClipboardPermissions();
106
+ try {
107
+ // Dispatch custom event for VS Code and other environments
108
+ // This bubbles up to parent components that handle clipboard operations
109
+ this.$el.dispatchEvent(new CustomEvent('copy-code-snippet', {
110
+ bubbles: true,
111
+ cancelable: true,
112
+ detail: {
113
+ code: textToCopy
114
+ }
115
+ }));
116
+
117
+ // If we have clipboard permission, also copy directly
118
+ if (hasClipboardPermission) {
119
+ await navigator.clipboard.writeText(textToCopy);
120
+ }
121
+ this.$emit('copied', this.title);
122
+ } catch (e) {
123
+ // eslint-disable-next-line no-console
124
+ console.warn('Failed to copy:', e);
125
+ }
126
+ },
127
+ async applyJsonHighlight() {
128
+ if (this.renderGFM && typeof this.renderGFM === 'function' && this.$refs.content) {
129
+ this.renderGFM(this.$refs.content);
130
+ }
131
+ }
132
+ }
133
+ };
134
+
135
+ /* script */
136
+ const __vue_script__ = script;
137
+
138
+ /* template */
139
+ var __vue_render__ = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.hasContent)?_c('section',[_c('header',{staticClass:"gl-display-flex gl-align-items-center gl-justify-content-space-between gl-mb-2",attrs:{"data-testid":"tool-section-header"}},[_c('div',{staticClass:"gl-display-flex gl-align-items-center gl-gap-2"},[_c('strong',{staticClass:"gl-text-gray-900"},[_vm._v(_vm._s(_vm.title))])])]),_vm._v(" "),_c('div',{staticClass:"gl-display-block gl-relative gl-block gl-rounded-base gl-border-gray-100 gl-bg-gray-50 gl-p-5",style:({ maxHeight: _vm.maxHeight, overflow: 'auto' })},[_c('div',{staticClass:"gl-absolute gl-right-5 gl-top-5 gl-z-1"},[(_vm.pretty)?_c('gl-button',{directives:[{name:"gl-tooltip",rawName:"v-gl-tooltip"}],attrs:{"category":"tertiary","size":"small","icon":"copy-to-clipboard","title":"Copy to clipboard","aria-label":"Copy to clipboard"},on:{"click":function($event){$event.stopPropagation();return _vm.copy.apply(null, arguments)}}}):_vm._e()],1),_vm._v(" "),_c('pre',{ref:"content",staticClass:"gl-font-mono gl-m-0 !gl-border-0 gl-text-gray-900",class:_vm.isJson ? 'code js-syntax-highlight language-json' : '',staticStyle:{"white-space":"pre-wrap"}},[_vm._v(_vm._s(_vm.pretty))])])]):_vm._e()};
140
+ var __vue_staticRenderFns__ = [];
141
+
142
+ /* style */
143
+ const __vue_inject_styles__ = undefined;
144
+ /* scoped */
145
+ const __vue_scope_id__ = undefined;
146
+ /* module identifier */
147
+ const __vue_module_identifier__ = undefined;
148
+ /* functional template */
149
+ const __vue_is_functional_template__ = false;
150
+ /* style inject */
151
+
152
+ /* style inject SSR */
153
+
154
+ /* style inject shadow dom */
155
+
156
+
157
+
158
+ const __vue_component__ = __vue_normalize__(
159
+ { render: __vue_render__, staticRenderFns: __vue_staticRenderFns__ },
160
+ __vue_inject_styles__,
161
+ __vue_script__,
162
+ __vue_scope_id__,
163
+ __vue_is_functional_template__,
164
+ __vue_module_identifier__,
165
+ false,
166
+ undefined,
167
+ undefined,
168
+ undefined
169
+ );
170
+
171
+ export default __vue_component__;
package/dist/tailwind.css CHANGED
@@ -1,2 +1,2 @@
1
- *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::-webkit-backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.gl-animate-skeleton-loader{background-color:var(--gl-skeleton-loader-background-color);background-image:linear-gradient(to right,var(--gl-skeleton-loader-background-color) 0,var(--gl-skeleton-loader-shimmer-color) 23%,var(--gl-skeleton-loader-shimmer-color) 27%,var(--gl-skeleton-loader-background-color) 50%);background-position:-32rem 0;background-repeat:no-repeat;background-size:32rem 100%;max-width:32rem;overflow:hidden}@media (prefers-reduced-motion:no-preference){.gl-animate-skeleton-loader{animation:gl-keyframes-skeleton-loader 2.5s linear;animation-delay:inherit;animation-iteration-count:3}}@keyframes gl-keyframes-skeleton-loader{0%{background-position-x:-32rem}to{background-position-x:32rem}}.gl-border{border-color:var(--gl-border-color-default);border-style:solid}.gl-border-t{border-top-color:var(--gl-border-color-default);border-top-style:solid}.gl-border-r{border-right-color:var(--gl-border-color-default);border-right-style:solid}.gl-border-b{border-bottom-color:var(--gl-border-color-default);border-bottom-style:solid}.gl-heading-4{font-size:1rem}.gl-heading-3,.gl-heading-4{color:var(--gl-text-color-heading);font-weight:600;letter-spacing:inherit;line-height:1.25;margin-bottom:1rem;margin-top:0}.gl-heading-3{font-size:clamp(1.125rem,.9027777778rem + .462962963vw,1.25rem)}.gl-sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.gl-pointer-events-auto{pointer-events:auto}.gl-invisible{visibility:hidden}.gl-collapse{visibility:collapse}.gl-static{position:static}.gl-fixed{position:fixed}.\!gl-absolute{position:absolute!important}.gl-absolute{position:absolute}.gl-relative{position:relative}.gl-sticky{position:sticky}.gl-bottom-0{bottom:var(--gl-spacing-scale-0)}.gl-bottom-2{bottom:var(--gl-spacing-scale-2)}.gl-bottom-\[-1\.6rem\]{bottom:-1.6rem}.gl-bottom-\[-25px\]{bottom:-25px}.gl-bottom-\[-5rem\]{bottom:-5rem}.gl-left-0{left:var(--gl-spacing-scale-0)}.gl-right-0{right:var(--gl-spacing-scale-0)}.gl-right-2{right:var(--gl-spacing-scale-2)}.gl-right-3{right:var(--gl-spacing-scale-3)}.gl-right-px{right:var(--gl-spacing-scale-px)}.gl-top-0{top:var(--gl-spacing-scale-0)}.\!gl-z-9999{z-index:var(--gl-zindex-9999)!important}.gl-z-2{z-index:var(--gl-zindex-2)}.gl-z-9999{z-index:var(--gl-zindex-9999)}.gl-float-right{float:right}.\!gl-m-0{margin:var(--gl-spacing-scale-0)!important}.gl-m-0{margin:var(--gl-spacing-scale-0)}.gl-m-3{margin:var(--gl-spacing-scale-3)}.gl-m-auto{margin:auto}.\!gl-mx-2{margin-left:var(--gl-spacing-scale-2)!important;margin-right:var(--gl-spacing-scale-2)!important}.-gl-mx-1{margin-left:calc(var(--gl-spacing-scale-1)*-1);margin-right:calc(var(--gl-spacing-scale-1)*-1)}.-gl-mx-2{margin-left:calc(var(--gl-spacing-scale-2)*-1);margin-right:calc(var(--gl-spacing-scale-2)*-1)}.-gl-mx-3{margin-left:calc(var(--gl-spacing-scale-3)*-1);margin-right:calc(var(--gl-spacing-scale-3)*-1)}.-gl-mx-4{margin-left:calc(var(--gl-spacing-scale-4)*-1);margin-right:calc(var(--gl-spacing-scale-4)*-1)}.-gl-my-1{margin-bottom:calc(var(--gl-spacing-scale-1)*-1);margin-top:calc(var(--gl-spacing-scale-1)*-1)}.-gl-my-3{margin-bottom:calc(var(--gl-spacing-scale-3)*-1);margin-top:calc(var(--gl-spacing-scale-3)*-1)}.gl-mx-0{margin-left:var(--gl-spacing-scale-0);margin-right:var(--gl-spacing-scale-0)}.gl-mx-2{margin-left:var(--gl-spacing-scale-2);margin-right:var(--gl-spacing-scale-2)}.gl-mx-3{margin-left:var(--gl-spacing-scale-3);margin-right:var(--gl-spacing-scale-3)}.gl-mx-4{margin-left:var(--gl-spacing-scale-4);margin-right:var(--gl-spacing-scale-4)}.gl-mx-auto{margin-left:auto;margin-right:auto}.gl-my-0{margin-bottom:var(--gl-spacing-scale-0);margin-top:var(--gl-spacing-scale-0)}.gl-my-2{margin-bottom:var(--gl-spacing-scale-2);margin-top:var(--gl-spacing-scale-2)}.gl-my-3{margin-bottom:var(--gl-spacing-scale-3);margin-top:var(--gl-spacing-scale-3)}.gl-my-4{margin-bottom:var(--gl-spacing-scale-4);margin-top:var(--gl-spacing-scale-4)}.gl-my-5{margin-bottom:var(--gl-spacing-scale-5);margin-top:var(--gl-spacing-scale-5)}.\!gl-mb-0{margin-bottom:var(--gl-spacing-scale-0)!important}.\!gl-mb-4{margin-bottom:var(--gl-spacing-scale-4)!important}.\!gl-mt-1{margin-top:var(--gl-spacing-scale-1)!important}.-gl-ml-2{margin-left:calc(var(--gl-spacing-scale-2)*-1)}.-gl-mr-3{margin-right:calc(var(--gl-spacing-scale-3)*-1)}.-gl-mt-2{margin-top:calc(var(--gl-spacing-scale-2)*-1)}.gl-mb-0{margin-bottom:var(--gl-spacing-scale-0)}.gl-mb-1{margin-bottom:var(--gl-spacing-scale-1)}.gl-mb-2{margin-bottom:var(--gl-spacing-scale-2)}.gl-mb-3{margin-bottom:var(--gl-spacing-scale-3)}.gl-mb-4{margin-bottom:var(--gl-spacing-scale-4)}.gl-mb-5{margin-bottom:var(--gl-spacing-scale-5)}.gl-mb-8{margin-bottom:var(--gl-spacing-scale-8)}.gl-ml-1{margin-left:var(--gl-spacing-scale-1)}.gl-ml-2{margin-left:var(--gl-spacing-scale-2)}.gl-ml-3{margin-left:var(--gl-spacing-scale-3)}.gl-ml-5{margin-left:var(--gl-spacing-scale-5)}.gl-ml-auto{margin-left:auto}.gl-mr-1{margin-right:var(--gl-spacing-scale-1)}.gl-mr-2{margin-right:var(--gl-spacing-scale-2)}.gl-mr-3{margin-right:var(--gl-spacing-scale-3)}.gl-mr-auto{margin-right:auto}.gl-mt-0{margin-top:var(--gl-spacing-scale-0)}.gl-mt-1{margin-top:var(--gl-spacing-scale-1)}.gl-mt-2{margin-top:var(--gl-spacing-scale-2)}.gl-mt-3{margin-top:var(--gl-spacing-scale-3)}.gl-mt-4{margin-top:var(--gl-spacing-scale-4)}.gl-mt-5{margin-top:var(--gl-spacing-scale-5)}.gl-mt-6{margin-top:var(--gl-spacing-scale-6)}.gl-mt-auto{margin-top:auto}.\!gl-block{display:block!important}.gl-block{display:block}.gl-inline-block{display:inline-block}.gl-flex{display:flex}.gl-inline-flex{display:inline-flex}.gl-table{display:table}.gl-grid{display:grid}.gl-hidden{display:none}.\!gl-h-full{height:100%!important}.gl-h-0{height:var(--gl-spacing-scale-0)}.gl-h-1{height:var(--gl-spacing-scale-1)}.gl-h-4{height:var(--gl-spacing-scale-4)}.gl-h-5{height:var(--gl-spacing-scale-5)}.gl-h-\[80px\]{height:80px}.gl-h-auto{height:auto}.gl-h-full{height:100%}.gl-max-h-13{max-height:var(--gl-spacing-scale-13)}.gl-max-h-31{max-height:var(--gl-spacing-scale-31)}.gl-max-h-full{max-height:100%}.gl-min-h-8{min-height:var(--gl-spacing-scale-8)}.gl-min-h-full{min-height:100%}.\!gl-w-31{width:var(--gl-spacing-scale-31)!important}.\!gl-w-auto{width:auto!important}.gl-w-1\/2{width:50%}.gl-w-1\/3{width:33.333333%}.gl-w-2\/3{width:66.666667%}.gl-w-3\/4{width:75%}.gl-w-4\/10{width:40%}.gl-w-5{width:var(--gl-spacing-scale-5)}.gl-w-6{width:var(--gl-spacing-scale-6)}.gl-w-9{width:var(--gl-spacing-scale-9)}.gl-w-auto{width:auto}.gl-w-full{width:100%}.gl-min-w-0{min-width:var(--gl-spacing-scale-0)}.gl-min-w-5{min-width:var(--gl-spacing-scale-5)}.gl-min-w-9{min-width:var(--gl-spacing-scale-9)}.gl-min-w-\[33\%\]{min-width:33%}.gl-max-w-1\/2{max-width:50%}.gl-max-w-17\/20{max-width:85%}.gl-max-w-full{max-width:100%}.gl-flex-1{flex:1 1 0%}.gl-flex-auto{flex:1 1 auto}.gl-flex-shrink-0,.gl-shrink-0{flex-shrink:0}.gl-flex-grow,.gl-grow{flex-grow:1}.gl-basis-0{flex-basis:var(--gl-spacing-scale-0)}.-gl-translate-y-full{--tw-translate-y:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\!gl-cursor-grabbing{cursor:grabbing!important}.\!gl-cursor-not-allowed{cursor:not-allowed!important}.\!gl-cursor-text{cursor:text!important}.gl-cursor-default{cursor:default}.gl-cursor-grab{cursor:grab}.gl-cursor-not-allowed{cursor:not-allowed}.gl-cursor-pointer{cursor:pointer}.gl-cursor-text{cursor:text}.gl-list-none{list-style-type:none}.gl-flex-row{flex-direction:row}.gl-flex-col{flex-direction:column}.gl-flex-wrap{flex-wrap:wrap}.gl-flex-nowrap{flex-wrap:nowrap}.gl-content-center{align-content:center}.gl-items-start{align-items:flex-start}.gl-items-end{align-items:flex-end}.gl-items-center{align-items:center}.gl-items-baseline{align-items:baseline}.\!gl-justify-start{justify-content:flex-start!important}.gl-justify-start{justify-content:flex-start}.gl-justify-end{justify-content:flex-end}.gl-justify-center{justify-content:center}.gl-justify-between{justify-content:space-between}.gl-gap-1{gap:var(--gl-spacing-scale-1)}.gl-gap-2{gap:var(--gl-spacing-scale-2)}.gl-gap-3{gap:var(--gl-spacing-scale-3)}.gl-gap-4{gap:var(--gl-spacing-scale-4)}.gl-gap-5{gap:var(--gl-spacing-scale-5)}.gl-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(var(--gl-spacing-scale-1)*var(--tw-space-y-reverse));margin-top:calc(var(--gl-spacing-scale-1)*(1 - var(--tw-space-y-reverse)))}.gl-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(var(--gl-spacing-scale-2)*var(--tw-space-y-reverse));margin-top:calc(var(--gl-spacing-scale-2)*(1 - var(--tw-space-y-reverse)))}.gl-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(var(--gl-spacing-scale-3)*var(--tw-space-y-reverse));margin-top:calc(var(--gl-spacing-scale-3)*(1 - var(--tw-space-y-reverse)))}.gl-self-start{align-self:flex-start}.gl-self-center{align-self:center}.gl-overflow-auto{overflow:auto}.gl-overflow-hidden{overflow:hidden}.\!gl-overflow-visible{overflow:visible!important}.gl-overflow-visible{overflow:visible}.gl-overflow-y-auto{overflow-y:auto}.gl-overflow-x-hidden{overflow-x:hidden}.gl-overflow-y-scroll{overflow-y:scroll}.gl-overscroll-contain{overscroll-behavior:contain}.gl-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\!gl-text-ellipsis{text-overflow:ellipsis!important}.gl-text-ellipsis{text-overflow:ellipsis}.\!gl-whitespace-normal{white-space:normal!important}.gl-whitespace-normal{white-space:normal}.gl-whitespace-nowrap{white-space:nowrap}.gl-whitespace-pre-wrap{white-space:pre-wrap}.gl-text-pretty{text-wrap:pretty}.gl-break-words{overflow-wrap:break-word}.gl-break-all{word-break:break-all}.\!gl-rounded-control{border-radius:var(--gl-control-border-radius)!important}.\!gl-rounded-default{border-radius:var(--gl-border-radius-default)!important}.\!gl-rounded-full{border-radius:var(--gl-border-radius-full)!important}.\!gl-rounded-none{border-radius:var(--gl-border-radius-none)!important}.gl-rounded-\[1rem\]{border-radius:1rem}.gl-rounded-base{border-radius:.25rem}.gl-rounded-full{border-radius:var(--gl-border-radius-full)}.gl-rounded-lg{border-radius:var(--gl-border-radius-lg)}.gl-rounded-t-default{border-top-left-radius:var(--gl-border-radius-default);border-top-right-radius:var(--gl-border-radius-default)}.gl-rounded-bl-\[12px\]{border-bottom-left-radius:12px}.gl-rounded-bl-none{border-bottom-left-radius:var(--gl-border-radius-none)}.gl-rounded-br-\[18px\]{border-bottom-right-radius:18px}.gl-rounded-br-lg{border-bottom-right-radius:var(--gl-border-radius-lg)}.gl-rounded-br-none{border-bottom-right-radius:var(--gl-border-radius-none)}.gl-rounded-tl-\[12px\]{border-top-left-radius:12px}.gl-rounded-tr-\[12px\]{border-top-right-radius:12px}.gl-rounded-tr-lg{border-top-right-radius:var(--gl-border-radius-lg)}.gl-rounded-tr-none{border-top-right-radius:var(--gl-border-radius-none)}.gl-border{border-width:1px}.gl-border-0{border-width:0}.\!gl-border-b-0{border-bottom-width:0!important}.gl-border-b,.gl-border-b-1{border-bottom-width:1px}.gl-border-r{border-right-width:1px}.gl-border-t,.gl-border-t-1{border-top-width:1px}.gl-border-t-2{border-top-width:2px}.gl-border-solid{border-style:solid}.gl-border-dashed{border-style:dashed}.gl-border-none{border-style:none}.gl-border-dropdown{border-color:var(--gl-dropdown-border-color)}.gl-border-gray-100{border-color:var(--gray-100)}.gl-border-gray-500{border-color:var(--gray-500)}.gl-border-red-500{border-color:var(--red-500)}.gl-border-strong{border-color:var(--gl-border-color-strong)}.gl-border-subtle{border-color:var(--gl-border-color-subtle)}.gl-border-b-dropdown-divider{border-bottom-color:var(--gl-dropdown-divider-color)}.gl-border-t-dropdown-divider{border-top-color:var(--gl-dropdown-divider-color)}.\!gl-bg-transparent{background-color:initial!important}.gl-bg-blue-100{background-color:var(--blue-100)}.gl-bg-blue-50{background-color:var(--blue-50)}.gl-bg-default{background-color:var(--gl-background-color-default)}.gl-bg-dropdown{background-color:var(--gl-dropdown-background-color)}.gl-bg-feedback-danger{background-color:var(--gl-feedback-danger-background-color)}.gl-bg-feedback-info{background-color:var(--gl-feedback-info-background-color)}.gl-bg-gray-10{background-color:var(--gray-10)}.gl-bg-gray-50{background-color:var(--gray-50)}.gl-bg-inherit{background-color:inherit}.gl-bg-status-neutral{background-color:var(--gl-status-neutral-background-color)}.gl-bg-strong{background-color:var(--gl-background-color-strong)}.gl-bg-subtle{background-color:var(--gl-background-color-subtle)}.gl-bg-transparent{background-color:initial}.gl-bg-white{background-color:var(--white)}.gl-fill-current{fill:currentColor}.gl-fill-icon-danger{fill:var(--gl-icon-color-danger)}.gl-fill-icon-default{fill:var(--gl-icon-color-default)}.gl-fill-icon-disabled{fill:var(--gl-icon-color-disabled)}.gl-fill-icon-info{fill:var(--gl-icon-color-info)}.gl-fill-icon-link{fill:var(--gl-icon-color-link)}.gl-fill-icon-strong{fill:var(--gl-icon-color-strong)}.gl-fill-icon-subtle{fill:var(--gl-icon-color-subtle)}.gl-fill-icon-success{fill:var(--gl-icon-color-success)}.gl-fill-icon-warning{fill:var(--gl-icon-color-warning)}.\!gl-p-0{padding:var(--gl-spacing-scale-0)!important}.\!gl-p-2{padding:var(--gl-spacing-scale-2)!important}.\!gl-p-4{padding:var(--gl-spacing-scale-4)!important}.gl-p-0{padding:var(--gl-spacing-scale-0)}.gl-p-1{padding:var(--gl-spacing-scale-1)}.gl-p-2{padding:var(--gl-spacing-scale-2)}.gl-p-3{padding:var(--gl-spacing-scale-3)}.gl-p-4{padding:var(--gl-spacing-scale-4)}.gl-p-5{padding:var(--gl-spacing-scale-5)}.\!gl-px-2{padding-left:var(--gl-spacing-scale-2)!important;padding-right:var(--gl-spacing-scale-2)!important}.\!gl-px-3{padding-left:var(--gl-spacing-scale-3)!important;padding-right:var(--gl-spacing-scale-3)!important}.\!gl-py-2{padding-bottom:var(--gl-spacing-scale-2)!important;padding-top:var(--gl-spacing-scale-2)!important}.\!gl-py-4{padding-bottom:var(--gl-spacing-scale-4)!important;padding-top:var(--gl-spacing-scale-4)!important}.gl-px-0{padding-left:var(--gl-spacing-scale-0);padding-right:var(--gl-spacing-scale-0)}.gl-px-1{padding-left:var(--gl-spacing-scale-1);padding-right:var(--gl-spacing-scale-1)}.gl-px-2{padding-left:var(--gl-spacing-scale-2);padding-right:var(--gl-spacing-scale-2)}.gl-px-3{padding-left:var(--gl-spacing-scale-3);padding-right:var(--gl-spacing-scale-3)}.gl-px-4{padding-left:var(--gl-spacing-scale-4);padding-right:var(--gl-spacing-scale-4)}.gl-px-5{padding-left:var(--gl-spacing-scale-5);padding-right:var(--gl-spacing-scale-5)}.gl-py-2{padding-bottom:var(--gl-spacing-scale-2);padding-top:var(--gl-spacing-scale-2)}.gl-py-3{padding-bottom:var(--gl-spacing-scale-3);padding-top:var(--gl-spacing-scale-3)}.gl-py-4{padding-bottom:var(--gl-spacing-scale-4);padding-top:var(--gl-spacing-scale-4)}.gl-py-5{padding-bottom:var(--gl-spacing-scale-5);padding-top:var(--gl-spacing-scale-5)}.gl-py-6{padding-bottom:var(--gl-spacing-scale-6);padding-top:var(--gl-spacing-scale-6)}.\!gl-pl-9{padding-left:var(--gl-spacing-scale-9)!important}.\!gl-pr-7{padding-right:var(--gl-spacing-scale-7)!important}.\!gl-pr-9{padding-right:var(--gl-spacing-scale-9)!important}.\!gl-pt-0{padding-top:var(--gl-spacing-scale-0)!important}.gl-pb-2{padding-bottom:var(--gl-spacing-scale-2)}.gl-pb-3{padding-bottom:var(--gl-spacing-scale-3)}.gl-pl-0{padding-left:var(--gl-spacing-scale-0)}.gl-pl-2{padding-left:var(--gl-spacing-scale-2)}.gl-pl-3{padding-left:var(--gl-spacing-scale-3)}.gl-pl-4{padding-left:var(--gl-spacing-scale-4)}.gl-pl-5{padding-left:var(--gl-spacing-scale-5)}.gl-pl-6{padding-left:var(--gl-spacing-scale-6)}.gl-pl-7{padding-left:var(--gl-spacing-scale-7)}.gl-pr-2{padding-right:var(--gl-spacing-scale-2)}.gl-pr-3{padding-right:var(--gl-spacing-scale-3)}.gl-pr-5{padding-right:var(--gl-spacing-scale-5)}.gl-pr-6{padding-right:var(--gl-spacing-scale-6)}.gl-pr-7{padding-right:var(--gl-spacing-scale-7)}.gl-pr-8{padding-right:var(--gl-spacing-scale-8)}.gl-pt-1{padding-top:var(--gl-spacing-scale-1)}.gl-pt-2{padding-top:var(--gl-spacing-scale-2)}.gl-pt-3{padding-top:var(--gl-spacing-scale-3)}.gl-pt-4{padding-top:var(--gl-spacing-scale-4)}.\!gl-text-left{text-align:left!important}.gl-text-left{text-align:left}.gl-text-center{text-align:center}.gl-text-right{text-align:right}.gl-align-top{vertical-align:top}.gl-align-middle{vertical-align:middle}.gl-align-bottom{vertical-align:bottom}.\!gl-align-text-bottom{vertical-align:text-bottom!important}.gl-font-monospace{font-family:var(--gl-font-family-monospace)}.gl-font-regular{font-family:var(--gl-font-family-regular)}.\!gl-text-sm{font-size:var(--gl-font-size-sm)!important}.gl-text-\[0\.875rem\]{font-size:.875rem}.gl-text-base{font-size:var(--gl-font-size-base)}.gl-text-lg{font-size:var(--gl-font-size-lg)}.gl-text-md{font-size:var(--gl-font-size-md)}.gl-text-size-h-display{font-size:1.75rem}.gl-text-size-h2{font-size:1.1875rem}.gl-text-sm{font-size:var(--gl-font-size-sm)}.gl-text-xs{font-size:var(--gl-font-size-xs)}.gl-font-bold{font-weight:var(--gl-font-weight-bold)}.gl-font-normal{font-weight:var(--gl-font-weight-normal)}.gl-font-semibold{font-weight:var(--gl-font-weight-semibold)}.gl-lowercase{text-transform:lowercase}.gl-italic{font-style:italic}.gl-leading-1{line-height:1}.gl-leading-20{line-height:var(--gl-line-height-20)}.gl-leading-36{line-height:var(--gl-line-height-36)}.gl-leading-normal{line-height:1rem}.\!gl-text-default{color:var(--gl-text-color-default)!important}.\!gl-text-subtle{color:var(--gl-text-color-subtle)!important}.\!gl-text-success{color:var(--gl-text-color-success)!important}.gl-text-blue-100{color:var(--blue-100)}.gl-text-blue-500{color:var(--blue-500)}.gl-text-blue-600{color:var(--blue-600)}.gl-text-blue-700{color:var(--blue-700)}.gl-text-blue-900{color:var(--blue-900)}.gl-text-danger{color:var(--gl-text-color-danger)}.gl-text-default{color:var(--gl-text-color-default)}.gl-text-feedback-info{color:var(--gl-feedback-info-text-color)}.gl-text-gray-500{color:var(--gray-500)}.gl-text-gray-700{color:var(--gray-700)}.gl-text-gray-900{color:var(--gray-900)}.gl-text-green-500{color:var(--green-500)}.gl-text-green-600{color:var(--green-600)}.gl-text-inherit{color:inherit}.gl-text-neutral-0{color:var(--gl-color-neutral-0)}.gl-text-neutral-950{color:var(--gl-color-neutral-950)}.gl-text-orange-500{color:var(--orange-500)}.gl-text-red-500{color:var(--red-500)}.gl-text-red-600{color:var(--red-600)}.gl-text-strong{color:var(--gl-text-color-strong)}.gl-text-subtle{color:var(--gl-text-color-subtle)}.\!gl-opacity-0{opacity:var(--gl-opacity-0)!important}.gl-opacity-10{opacity:var(--gl-opacity-10)}.gl-opacity-\[50\%\]{opacity:50%}.\!gl-shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.gl-shadow-md{--tw-shadow:var(--gl-shadow-md);--tw-shadow-colored:var(--gl-shadow-md)}.gl-shadow-md,.gl-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.gl-shadow-sm{--tw-shadow:var(--gl-shadow-sm);--tw-shadow-colored:var(--gl-shadow-sm)}.gl-outline-none{outline:2px solid #0000;outline-offset:2px}.gl-transition-all{transition-duration:.2s;transition-property:all;transition-timing-function:ease}.gl-font-monospace{font-family:var(--default-mono-font,"GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace;font-variant-ligatures:none}.gl-break-anywhere{overflow-wrap:anywhere;word-break:normal}.gl-border-b-solid{border-bottom-style:solid}.gl-border-t-solid{border-top-style:solid}.focus-within\:\!gl-shadow-none:focus-within{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.hover\:\!gl-cursor-not-allowed:hover{cursor:not-allowed!important}.hover\:gl-cursor-pointer:hover{cursor:pointer}.hover\:gl-bg-gray-50:hover{background-color:var(--gray-50)}.hover\:gl-no-underline:hover{text-decoration-line:none}.focus\:\!gl-focus-inset:focus{box-shadow:inset 0 0 0 2px var(--gl-focus-ring-outer-color),inset 0 0 0 3px var(--gl-focus-ring-inner-color),inset 0 0 0 1px var(--gl-focus-ring-inner-color)!important;outline:none!important}@media (min-width:576px){.\@sm\:gl-block{display:block}.\@sm\:gl-flex-nowrap{flex-wrap:nowrap}.\@sm\:gl-gap-3{gap:var(--gl-spacing-scale-3)}.sm\:gl-mt-3{margin-top:var(--gl-spacing-scale-3)}.sm\:\!gl-hidden{display:none!important}.sm\:gl-max-w-1\/2{max-width:50%}}.\[\&\>button\]\:focus-within\:\!gl-shadow-none:focus-within>button{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}
1
+ *,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::-webkit-backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }.gl-animate-skeleton-loader{background-color:var(--gl-skeleton-loader-background-color);background-image:linear-gradient(to right,var(--gl-skeleton-loader-background-color) 0,var(--gl-skeleton-loader-shimmer-color) 23%,var(--gl-skeleton-loader-shimmer-color) 27%,var(--gl-skeleton-loader-background-color) 50%);background-position:-32rem 0;background-repeat:no-repeat;background-size:32rem 100%;max-width:32rem;overflow:hidden}@media (prefers-reduced-motion:no-preference){.gl-animate-skeleton-loader{animation:gl-keyframes-skeleton-loader 2.5s linear;animation-delay:inherit;animation-iteration-count:3}}@keyframes gl-keyframes-skeleton-loader{0%{background-position-x:-32rem}to{background-position-x:32rem}}.gl-border{border-color:var(--gl-border-color-default);border-style:solid}.gl-border-t{border-top-color:var(--gl-border-color-default);border-top-style:solid}.gl-border-r{border-right-color:var(--gl-border-color-default);border-right-style:solid}.gl-border-b{border-bottom-color:var(--gl-border-color-default);border-bottom-style:solid}.gl-heading-4{font-size:1rem}.gl-heading-3,.gl-heading-4{color:var(--gl-text-color-heading);font-weight:600;letter-spacing:inherit;line-height:1.25;margin-bottom:1rem;margin-top:0}.gl-heading-3{font-size:clamp(1.125rem,.9027777778rem + .462962963vw,1.25rem)}.gl-sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.gl-pointer-events-auto{pointer-events:auto}.gl-invisible{visibility:hidden}.gl-collapse{visibility:collapse}.gl-static{position:static}.gl-fixed{position:fixed}.\!gl-absolute{position:absolute!important}.gl-absolute{position:absolute}.gl-relative{position:relative}.gl-sticky{position:sticky}.gl-bottom-0{bottom:var(--gl-spacing-scale-0)}.gl-bottom-2{bottom:var(--gl-spacing-scale-2)}.gl-bottom-\[-1\.6rem\]{bottom:-1.6rem}.gl-bottom-\[-25px\]{bottom:-25px}.gl-bottom-\[-5rem\]{bottom:-5rem}.gl-left-0{left:var(--gl-spacing-scale-0)}.gl-right-0{right:var(--gl-spacing-scale-0)}.gl-right-2{right:var(--gl-spacing-scale-2)}.gl-right-3{right:var(--gl-spacing-scale-3)}.gl-right-5{right:var(--gl-spacing-scale-5)}.gl-right-px{right:var(--gl-spacing-scale-px)}.gl-top-0{top:var(--gl-spacing-scale-0)}.gl-top-5{top:var(--gl-spacing-scale-5)}.\!gl-z-9999{z-index:var(--gl-zindex-9999)!important}.gl-z-1{z-index:var(--gl-zindex-1)}.gl-z-2{z-index:var(--gl-zindex-2)}.gl-z-9999{z-index:var(--gl-zindex-9999)}.gl-float-right{float:right}.\!gl-m-0{margin:var(--gl-spacing-scale-0)!important}.gl-m-0{margin:var(--gl-spacing-scale-0)}.gl-m-3{margin:var(--gl-spacing-scale-3)}.gl-m-auto{margin:auto}.\!gl-mx-2{margin-left:var(--gl-spacing-scale-2)!important;margin-right:var(--gl-spacing-scale-2)!important}.-gl-mx-1{margin-left:calc(var(--gl-spacing-scale-1)*-1);margin-right:calc(var(--gl-spacing-scale-1)*-1)}.-gl-mx-2{margin-left:calc(var(--gl-spacing-scale-2)*-1);margin-right:calc(var(--gl-spacing-scale-2)*-1)}.-gl-mx-3{margin-left:calc(var(--gl-spacing-scale-3)*-1);margin-right:calc(var(--gl-spacing-scale-3)*-1)}.-gl-mx-4{margin-left:calc(var(--gl-spacing-scale-4)*-1);margin-right:calc(var(--gl-spacing-scale-4)*-1)}.-gl-my-1{margin-bottom:calc(var(--gl-spacing-scale-1)*-1);margin-top:calc(var(--gl-spacing-scale-1)*-1)}.-gl-my-3{margin-bottom:calc(var(--gl-spacing-scale-3)*-1);margin-top:calc(var(--gl-spacing-scale-3)*-1)}.gl-mx-0{margin-left:var(--gl-spacing-scale-0);margin-right:var(--gl-spacing-scale-0)}.gl-mx-2{margin-left:var(--gl-spacing-scale-2);margin-right:var(--gl-spacing-scale-2)}.gl-mx-3{margin-left:var(--gl-spacing-scale-3);margin-right:var(--gl-spacing-scale-3)}.gl-mx-4{margin-left:var(--gl-spacing-scale-4);margin-right:var(--gl-spacing-scale-4)}.gl-mx-auto{margin-left:auto;margin-right:auto}.gl-my-0{margin-bottom:var(--gl-spacing-scale-0);margin-top:var(--gl-spacing-scale-0)}.gl-my-2{margin-bottom:var(--gl-spacing-scale-2);margin-top:var(--gl-spacing-scale-2)}.gl-my-3{margin-bottom:var(--gl-spacing-scale-3);margin-top:var(--gl-spacing-scale-3)}.gl-my-4{margin-bottom:var(--gl-spacing-scale-4);margin-top:var(--gl-spacing-scale-4)}.gl-my-5{margin-bottom:var(--gl-spacing-scale-5);margin-top:var(--gl-spacing-scale-5)}.\!gl-mb-0{margin-bottom:var(--gl-spacing-scale-0)!important}.\!gl-mb-4{margin-bottom:var(--gl-spacing-scale-4)!important}.\!gl-mt-1{margin-top:var(--gl-spacing-scale-1)!important}.-gl-ml-2{margin-left:calc(var(--gl-spacing-scale-2)*-1)}.-gl-mr-3{margin-right:calc(var(--gl-spacing-scale-3)*-1)}.-gl-mt-2{margin-top:calc(var(--gl-spacing-scale-2)*-1)}.gl-mb-0{margin-bottom:var(--gl-spacing-scale-0)}.gl-mb-1{margin-bottom:var(--gl-spacing-scale-1)}.gl-mb-2{margin-bottom:var(--gl-spacing-scale-2)}.gl-mb-3{margin-bottom:var(--gl-spacing-scale-3)}.gl-mb-4{margin-bottom:var(--gl-spacing-scale-4)}.gl-mb-5{margin-bottom:var(--gl-spacing-scale-5)}.gl-mb-8{margin-bottom:var(--gl-spacing-scale-8)}.gl-ml-1{margin-left:var(--gl-spacing-scale-1)}.gl-ml-2{margin-left:var(--gl-spacing-scale-2)}.gl-ml-3{margin-left:var(--gl-spacing-scale-3)}.gl-ml-5{margin-left:var(--gl-spacing-scale-5)}.gl-ml-auto{margin-left:auto}.gl-mr-1{margin-right:var(--gl-spacing-scale-1)}.gl-mr-2{margin-right:var(--gl-spacing-scale-2)}.gl-mr-3{margin-right:var(--gl-spacing-scale-3)}.gl-mr-auto{margin-right:auto}.gl-mt-0{margin-top:var(--gl-spacing-scale-0)}.gl-mt-1{margin-top:var(--gl-spacing-scale-1)}.gl-mt-2{margin-top:var(--gl-spacing-scale-2)}.gl-mt-3{margin-top:var(--gl-spacing-scale-3)}.gl-mt-4{margin-top:var(--gl-spacing-scale-4)}.gl-mt-5{margin-top:var(--gl-spacing-scale-5)}.gl-mt-6{margin-top:var(--gl-spacing-scale-6)}.gl-mt-auto{margin-top:auto}.\!gl-block{display:block!important}.gl-block{display:block}.gl-inline-block{display:inline-block}.gl-flex{display:flex}.gl-inline-flex{display:inline-flex}.gl-table{display:table}.gl-grid{display:grid}.gl-hidden{display:none}.\!gl-h-full{height:100%!important}.gl-h-0{height:var(--gl-spacing-scale-0)}.gl-h-1{height:var(--gl-spacing-scale-1)}.gl-h-4{height:var(--gl-spacing-scale-4)}.gl-h-5{height:var(--gl-spacing-scale-5)}.gl-h-\[80px\]{height:80px}.gl-h-auto{height:auto}.gl-h-full{height:100%}.gl-max-h-13{max-height:var(--gl-spacing-scale-13)}.gl-max-h-31{max-height:var(--gl-spacing-scale-31)}.gl-max-h-full{max-height:100%}.gl-min-h-8{min-height:var(--gl-spacing-scale-8)}.gl-min-h-full{min-height:100%}.\!gl-w-31{width:var(--gl-spacing-scale-31)!important}.\!gl-w-auto{width:auto!important}.gl-w-1\/2{width:50%}.gl-w-1\/3{width:33.333333%}.gl-w-2\/3{width:66.666667%}.gl-w-3\/4{width:75%}.gl-w-4\/10{width:40%}.gl-w-5{width:var(--gl-spacing-scale-5)}.gl-w-6{width:var(--gl-spacing-scale-6)}.gl-w-9{width:var(--gl-spacing-scale-9)}.gl-w-auto{width:auto}.gl-w-full{width:100%}.gl-min-w-0{min-width:var(--gl-spacing-scale-0)}.gl-min-w-5{min-width:var(--gl-spacing-scale-5)}.gl-min-w-9{min-width:var(--gl-spacing-scale-9)}.gl-min-w-\[33\%\]{min-width:33%}.gl-max-w-1\/2{max-width:50%}.gl-max-w-17\/20{max-width:85%}.gl-max-w-full{max-width:100%}.gl-flex-1{flex:1 1 0%}.gl-flex-auto{flex:1 1 auto}.gl-flex-shrink-0,.gl-shrink-0{flex-shrink:0}.gl-flex-grow,.gl-grow{flex-grow:1}.gl-basis-0{flex-basis:var(--gl-spacing-scale-0)}.-gl-translate-y-full{--tw-translate-y:-100%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\!gl-cursor-grabbing{cursor:grabbing!important}.\!gl-cursor-not-allowed{cursor:not-allowed!important}.\!gl-cursor-text{cursor:text!important}.gl-cursor-default{cursor:default}.gl-cursor-grab{cursor:grab}.gl-cursor-not-allowed{cursor:not-allowed}.gl-cursor-pointer{cursor:pointer}.gl-cursor-text{cursor:text}.gl-list-none{list-style-type:none}.gl-flex-row{flex-direction:row}.gl-flex-col{flex-direction:column}.gl-flex-wrap{flex-wrap:wrap}.gl-flex-nowrap{flex-wrap:nowrap}.gl-content-center{align-content:center}.gl-items-start{align-items:flex-start}.gl-items-end{align-items:flex-end}.gl-items-center{align-items:center}.gl-items-baseline{align-items:baseline}.\!gl-justify-start{justify-content:flex-start!important}.gl-justify-start{justify-content:flex-start}.gl-justify-end{justify-content:flex-end}.gl-justify-center{justify-content:center}.gl-justify-between{justify-content:space-between}.gl-gap-1{gap:var(--gl-spacing-scale-1)}.gl-gap-2{gap:var(--gl-spacing-scale-2)}.gl-gap-3{gap:var(--gl-spacing-scale-3)}.gl-gap-4{gap:var(--gl-spacing-scale-4)}.gl-gap-5{gap:var(--gl-spacing-scale-5)}.gl-gap-7{gap:var(--gl-spacing-scale-7)}.gl-space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(var(--gl-spacing-scale-1)*var(--tw-space-y-reverse));margin-top:calc(var(--gl-spacing-scale-1)*(1 - var(--tw-space-y-reverse)))}.gl-space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(var(--gl-spacing-scale-2)*var(--tw-space-y-reverse));margin-top:calc(var(--gl-spacing-scale-2)*(1 - var(--tw-space-y-reverse)))}.gl-space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(var(--gl-spacing-scale-3)*var(--tw-space-y-reverse));margin-top:calc(var(--gl-spacing-scale-3)*(1 - var(--tw-space-y-reverse)))}.gl-self-start{align-self:flex-start}.gl-self-center{align-self:center}.gl-overflow-auto{overflow:auto}.gl-overflow-hidden{overflow:hidden}.\!gl-overflow-visible{overflow:visible!important}.gl-overflow-visible{overflow:visible}.gl-overflow-y-auto{overflow-y:auto}.gl-overflow-x-hidden{overflow-x:hidden}.gl-overflow-y-scroll{overflow-y:scroll}.gl-overscroll-contain{overscroll-behavior:contain}.gl-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.\!gl-text-ellipsis{text-overflow:ellipsis!important}.gl-text-ellipsis{text-overflow:ellipsis}.\!gl-whitespace-normal{white-space:normal!important}.gl-whitespace-normal{white-space:normal}.gl-whitespace-nowrap{white-space:nowrap}.gl-whitespace-pre-wrap{white-space:pre-wrap}.gl-text-pretty{text-wrap:pretty}.gl-break-words{overflow-wrap:break-word}.gl-break-all{word-break:break-all}.\!gl-rounded-control{border-radius:var(--gl-control-border-radius)!important}.\!gl-rounded-default{border-radius:var(--gl-border-radius-default)!important}.\!gl-rounded-full{border-radius:var(--gl-border-radius-full)!important}.\!gl-rounded-none{border-radius:var(--gl-border-radius-none)!important}.gl-rounded-\[1rem\]{border-radius:1rem}.gl-rounded-base{border-radius:.25rem}.gl-rounded-full{border-radius:var(--gl-border-radius-full)}.gl-rounded-lg{border-radius:var(--gl-border-radius-lg)}.gl-rounded-t-default{border-top-left-radius:var(--gl-border-radius-default);border-top-right-radius:var(--gl-border-radius-default)}.gl-rounded-bl-\[12px\]{border-bottom-left-radius:12px}.gl-rounded-bl-none{border-bottom-left-radius:var(--gl-border-radius-none)}.gl-rounded-br-\[18px\]{border-bottom-right-radius:18px}.gl-rounded-br-lg{border-bottom-right-radius:var(--gl-border-radius-lg)}.gl-rounded-br-none{border-bottom-right-radius:var(--gl-border-radius-none)}.gl-rounded-tl-\[12px\]{border-top-left-radius:12px}.gl-rounded-tr-\[12px\]{border-top-right-radius:12px}.gl-rounded-tr-lg{border-top-right-radius:var(--gl-border-radius-lg)}.gl-rounded-tr-none{border-top-right-radius:var(--gl-border-radius-none)}.\!gl-border-0{border-width:0!important}.gl-border{border-width:1px}.gl-border-0{border-width:0}.\!gl-border-b-0{border-bottom-width:0!important}.gl-border-b,.gl-border-b-1{border-bottom-width:1px}.gl-border-r{border-right-width:1px}.gl-border-t,.gl-border-t-1{border-top-width:1px}.gl-border-t-2{border-top-width:2px}.gl-border-solid{border-style:solid}.gl-border-dashed{border-style:dashed}.gl-border-none{border-style:none}.gl-border-dropdown{border-color:var(--gl-dropdown-border-color)}.gl-border-gray-100{border-color:var(--gray-100)}.gl-border-gray-500{border-color:var(--gray-500)}.gl-border-red-500{border-color:var(--red-500)}.gl-border-strong{border-color:var(--gl-border-color-strong)}.gl-border-subtle{border-color:var(--gl-border-color-subtle)}.gl-border-b-dropdown-divider{border-bottom-color:var(--gl-dropdown-divider-color)}.gl-border-t-dropdown-divider{border-top-color:var(--gl-dropdown-divider-color)}.\!gl-bg-transparent{background-color:initial!important}.gl-bg-blue-100{background-color:var(--blue-100)}.gl-bg-blue-50{background-color:var(--blue-50)}.gl-bg-default{background-color:var(--gl-background-color-default)}.gl-bg-dropdown{background-color:var(--gl-dropdown-background-color)}.gl-bg-feedback-danger{background-color:var(--gl-feedback-danger-background-color)}.gl-bg-feedback-info{background-color:var(--gl-feedback-info-background-color)}.gl-bg-gray-10{background-color:var(--gray-10)}.gl-bg-gray-50{background-color:var(--gray-50)}.gl-bg-inherit{background-color:inherit}.gl-bg-status-neutral{background-color:var(--gl-status-neutral-background-color)}.gl-bg-strong{background-color:var(--gl-background-color-strong)}.gl-bg-subtle{background-color:var(--gl-background-color-subtle)}.gl-bg-transparent{background-color:initial}.gl-bg-white{background-color:var(--white)}.gl-fill-current{fill:currentColor}.gl-fill-icon-danger{fill:var(--gl-icon-color-danger)}.gl-fill-icon-default{fill:var(--gl-icon-color-default)}.gl-fill-icon-disabled{fill:var(--gl-icon-color-disabled)}.gl-fill-icon-info{fill:var(--gl-icon-color-info)}.gl-fill-icon-link{fill:var(--gl-icon-color-link)}.gl-fill-icon-strong{fill:var(--gl-icon-color-strong)}.gl-fill-icon-subtle{fill:var(--gl-icon-color-subtle)}.gl-fill-icon-success{fill:var(--gl-icon-color-success)}.gl-fill-icon-warning{fill:var(--gl-icon-color-warning)}.\!gl-p-0{padding:var(--gl-spacing-scale-0)!important}.\!gl-p-2{padding:var(--gl-spacing-scale-2)!important}.\!gl-p-4{padding:var(--gl-spacing-scale-4)!important}.gl-p-0{padding:var(--gl-spacing-scale-0)}.gl-p-1{padding:var(--gl-spacing-scale-1)}.gl-p-2{padding:var(--gl-spacing-scale-2)}.gl-p-3{padding:var(--gl-spacing-scale-3)}.gl-p-4{padding:var(--gl-spacing-scale-4)}.gl-p-5{padding:var(--gl-spacing-scale-5)}.\!gl-px-2{padding-left:var(--gl-spacing-scale-2)!important;padding-right:var(--gl-spacing-scale-2)!important}.\!gl-px-3{padding-left:var(--gl-spacing-scale-3)!important;padding-right:var(--gl-spacing-scale-3)!important}.\!gl-py-2{padding-bottom:var(--gl-spacing-scale-2)!important;padding-top:var(--gl-spacing-scale-2)!important}.\!gl-py-4{padding-bottom:var(--gl-spacing-scale-4)!important;padding-top:var(--gl-spacing-scale-4)!important}.gl-px-0{padding-left:var(--gl-spacing-scale-0);padding-right:var(--gl-spacing-scale-0)}.gl-px-1{padding-left:var(--gl-spacing-scale-1);padding-right:var(--gl-spacing-scale-1)}.gl-px-2{padding-left:var(--gl-spacing-scale-2);padding-right:var(--gl-spacing-scale-2)}.gl-px-3{padding-left:var(--gl-spacing-scale-3);padding-right:var(--gl-spacing-scale-3)}.gl-px-4{padding-left:var(--gl-spacing-scale-4);padding-right:var(--gl-spacing-scale-4)}.gl-px-5{padding-left:var(--gl-spacing-scale-5);padding-right:var(--gl-spacing-scale-5)}.gl-py-2{padding-bottom:var(--gl-spacing-scale-2);padding-top:var(--gl-spacing-scale-2)}.gl-py-3{padding-bottom:var(--gl-spacing-scale-3);padding-top:var(--gl-spacing-scale-3)}.gl-py-4{padding-bottom:var(--gl-spacing-scale-4);padding-top:var(--gl-spacing-scale-4)}.gl-py-5{padding-bottom:var(--gl-spacing-scale-5);padding-top:var(--gl-spacing-scale-5)}.gl-py-6{padding-bottom:var(--gl-spacing-scale-6);padding-top:var(--gl-spacing-scale-6)}.\!gl-pl-9{padding-left:var(--gl-spacing-scale-9)!important}.\!gl-pr-7{padding-right:var(--gl-spacing-scale-7)!important}.\!gl-pr-9{padding-right:var(--gl-spacing-scale-9)!important}.\!gl-pt-0{padding-top:var(--gl-spacing-scale-0)!important}.gl-pb-2{padding-bottom:var(--gl-spacing-scale-2)}.gl-pb-3{padding-bottom:var(--gl-spacing-scale-3)}.gl-pl-0{padding-left:var(--gl-spacing-scale-0)}.gl-pl-2{padding-left:var(--gl-spacing-scale-2)}.gl-pl-3{padding-left:var(--gl-spacing-scale-3)}.gl-pl-4{padding-left:var(--gl-spacing-scale-4)}.gl-pl-5{padding-left:var(--gl-spacing-scale-5)}.gl-pl-6{padding-left:var(--gl-spacing-scale-6)}.gl-pl-7{padding-left:var(--gl-spacing-scale-7)}.gl-pr-2{padding-right:var(--gl-spacing-scale-2)}.gl-pr-3{padding-right:var(--gl-spacing-scale-3)}.gl-pr-5{padding-right:var(--gl-spacing-scale-5)}.gl-pr-6{padding-right:var(--gl-spacing-scale-6)}.gl-pr-7{padding-right:var(--gl-spacing-scale-7)}.gl-pr-8{padding-right:var(--gl-spacing-scale-8)}.gl-pt-1{padding-top:var(--gl-spacing-scale-1)}.gl-pt-2{padding-top:var(--gl-spacing-scale-2)}.gl-pt-3{padding-top:var(--gl-spacing-scale-3)}.gl-pt-4{padding-top:var(--gl-spacing-scale-4)}.\!gl-text-left{text-align:left!important}.gl-text-left{text-align:left}.gl-text-center{text-align:center}.gl-text-right{text-align:right}.gl-align-top{vertical-align:top}.gl-align-middle{vertical-align:middle}.gl-align-bottom{vertical-align:bottom}.\!gl-align-text-bottom{vertical-align:text-bottom!important}.gl-font-monospace{font-family:var(--gl-font-family-monospace)}.gl-font-regular{font-family:var(--gl-font-family-regular)}.\!gl-text-sm{font-size:var(--gl-font-size-sm)!important}.gl-text-\[0\.875rem\]{font-size:.875rem}.gl-text-base{font-size:var(--gl-font-size-base)}.gl-text-lg{font-size:var(--gl-font-size-lg)}.gl-text-md{font-size:var(--gl-font-size-md)}.gl-text-size-h-display{font-size:1.75rem}.gl-text-size-h2{font-size:1.1875rem}.gl-text-sm{font-size:var(--gl-font-size-sm)}.gl-text-xs{font-size:var(--gl-font-size-xs)}.gl-font-bold{font-weight:var(--gl-font-weight-bold)}.gl-font-normal{font-weight:var(--gl-font-weight-normal)}.gl-font-semibold{font-weight:var(--gl-font-weight-semibold)}.gl-lowercase{text-transform:lowercase}.gl-italic{font-style:italic}.gl-leading-1{line-height:1}.gl-leading-20{line-height:var(--gl-line-height-20)}.gl-leading-36{line-height:var(--gl-line-height-36)}.gl-leading-normal{line-height:1rem}.\!gl-text-default{color:var(--gl-text-color-default)!important}.\!gl-text-subtle{color:var(--gl-text-color-subtle)!important}.\!gl-text-success{color:var(--gl-text-color-success)!important}.gl-text-blue-100{color:var(--blue-100)}.gl-text-blue-500{color:var(--blue-500)}.gl-text-blue-600{color:var(--blue-600)}.gl-text-blue-700{color:var(--blue-700)}.gl-text-blue-900{color:var(--blue-900)}.gl-text-danger{color:var(--gl-text-color-danger)}.gl-text-default{color:var(--gl-text-color-default)}.gl-text-feedback-info{color:var(--gl-feedback-info-text-color)}.gl-text-gray-500{color:var(--gray-500)}.gl-text-gray-700{color:var(--gray-700)}.gl-text-gray-900{color:var(--gray-900)}.gl-text-green-500{color:var(--green-500)}.gl-text-green-600{color:var(--green-600)}.gl-text-inherit{color:inherit}.gl-text-neutral-0{color:var(--gl-color-neutral-0)}.gl-text-neutral-950{color:var(--gl-color-neutral-950)}.gl-text-orange-500{color:var(--orange-500)}.gl-text-red-500{color:var(--red-500)}.gl-text-red-600{color:var(--red-600)}.gl-text-strong{color:var(--gl-text-color-strong)}.gl-text-subtle{color:var(--gl-text-color-subtle)}.\!gl-opacity-0{opacity:var(--gl-opacity-0)!important}.gl-opacity-10{opacity:var(--gl-opacity-10)}.gl-opacity-\[50\%\]{opacity:50%}.\!gl-shadow-none{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.gl-shadow-md{--tw-shadow:var(--gl-shadow-md);--tw-shadow-colored:var(--gl-shadow-md)}.gl-shadow-md,.gl-shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.gl-shadow-sm{--tw-shadow:var(--gl-shadow-sm);--tw-shadow-colored:var(--gl-shadow-sm)}.gl-outline-none{outline:2px solid #0000;outline-offset:2px}.gl-transition-all{transition-duration:.2s;transition-property:all;transition-timing-function:ease}.gl-font-monospace{font-family:var(--default-mono-font,"GitLab Mono"),"JetBrains Mono","Menlo","DejaVu Sans Mono","Liberation Mono","Consolas","Ubuntu Mono","Courier New","andale mono","lucida console",monospace;font-variant-ligatures:none}.gl-break-anywhere{overflow-wrap:anywhere;word-break:normal}.gl-border-b-solid{border-bottom-style:solid}.gl-border-t-solid{border-top-style:solid}.focus-within\:\!gl-shadow-none:focus-within{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}.hover\:\!gl-cursor-not-allowed:hover{cursor:not-allowed!important}.hover\:gl-cursor-pointer:hover{cursor:pointer}.hover\:gl-bg-gray-50:hover{background-color:var(--gray-50)}.hover\:gl-no-underline:hover{text-decoration-line:none}.focus\:\!gl-focus-inset:focus{box-shadow:inset 0 0 0 2px var(--gl-focus-ring-outer-color),inset 0 0 0 3px var(--gl-focus-ring-inner-color),inset 0 0 0 1px var(--gl-focus-ring-inner-color)!important;outline:none!important}@media (min-width:576px){.\@sm\:gl-block{display:block}.\@sm\:gl-flex-nowrap{flex-wrap:nowrap}.\@sm\:gl-gap-3{gap:var(--gl-spacing-scale-3)}.sm\:gl-mt-3{margin-top:var(--gl-spacing-scale-3)}.sm\:\!gl-hidden{display:none!important}.sm\:gl-max-w-1\/2{max-width:50%}}.\[\&\>button\]\:focus-within\:\!gl-shadow-none:focus-within>button{--tw-shadow:0 0 #0000!important;--tw-shadow-colored:0 0 #0000!important;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)!important}
2
2
  /*# sourceMappingURL=tailwind.css.map */
@@ -1 +1 @@
1
- {"version":3,"sources":["tailwind.css"],"names":[],"mappings":"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","file":"tailwind.css","sourcesContent":["@tailwind base;\n@tailwind components;\n@tailwind utilities;\n"]}
1
+ {"version":3,"sources":["tailwind.css"],"names":[],"mappings":"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","file":"tailwind.css","sourcesContent":["@tailwind base;\n@tailwind components;\n@tailwind utilities;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gitlab/duo-ui",
3
- "version": "13.0.4",
3
+ "version": "13.2.0",
4
4
  "description": "Duo UI Components",
5
5
  "license": "MIT",
6
6
  "main": "dist/index.js",
@@ -103,7 +103,7 @@
103
103
  "@gitlab/fonts": "^1.3.1",
104
104
  "@gitlab/stylelint-config": "6.2.2",
105
105
  "@gitlab/svgs": "^3.149.0",
106
- "@gitlab/ui": "^123.11.1",
106
+ "@gitlab/ui": "^123.11.2",
107
107
  "@jest/test-sequencer": "^29.7.0",
108
108
  "@rollup/plugin-commonjs": "^11.1.0",
109
109
  "@rollup/plugin-node-resolve": "^7.1.3",
@@ -324,6 +324,11 @@ export default {
324
324
  required: false,
325
325
  default: false,
326
326
  },
327
+ canCancel: {
328
+ type: Boolean,
329
+ required: false,
330
+ default: true,
331
+ },
327
332
  /**
328
333
  * Optional parameter to pass in the working directory - needed for MessageMap Tool type
329
334
  */
@@ -1007,6 +1012,7 @@ export default {
1007
1012
  class="!gl-absolute gl-bottom-2 gl-right-2 !gl-rounded-full"
1008
1013
  data-testid="chat-prompt-cancel-button"
1009
1014
  :aria-label="$options.i18n.CHAT_CANCEL_LABEL"
1015
+ :disabled="!canCancel"
1010
1016
  @click="cancelPrompt"
1011
1017
  />
1012
1018
  </template>
@@ -3,6 +3,7 @@ import { GlIcon, GlLink } from '@gitlab/ui';
3
3
  import { translate } from '../../../../../utils/i18n';
4
4
  import MessageToolApproval from '../../duo_chat_message_tool_approval/message_tool_approval.vue';
5
5
  import { APPROVAL_TOOL_NAMES } from '../../../constants';
6
+ import MessageToolDetails from './message_tool_details.vue';
6
7
  import BaseMessage from './message_base.vue';
7
8
 
8
9
  export const i18n = {
@@ -16,11 +17,15 @@ export const i18n = {
16
17
  RAN_TERMINAL_COMMAND: translate('DuoChatMessage.ranTerminalCommand', 'Ran terminal command'),
17
18
  };
18
19
 
20
+ // Hide details section for specified subtypes
21
+ const hiddenSubTypes = ['command_output'];
22
+
19
23
  export default {
20
24
  name: 'DuoToolMessage',
21
25
  components: {
22
26
  BaseMessage,
23
27
  MessageToolApproval,
28
+ MessageToolDetails,
24
29
  GlIcon,
25
30
  GlLink,
26
31
  },
@@ -48,6 +53,9 @@ export default {
48
53
  default: '',
49
54
  },
50
55
  },
56
+ data() {
57
+ return { isDetailsOpen: false };
58
+ },
51
59
  computed: {
52
60
  iconName() {
53
61
  switch (this.toolName) {
@@ -88,6 +96,12 @@ export default {
88
96
  hasCommandOutput() {
89
97
  return this.message.message_sub_type === 'command_output';
90
98
  },
99
+ hasToolInfoArgs() {
100
+ return Object.keys(this.toolArgs).length > 0;
101
+ },
102
+ hasToolInfoResponse() {
103
+ return Object.prototype.hasOwnProperty.call(this.message.tool_info || {}, 'tool_response');
104
+ },
91
105
  toolName() {
92
106
  return this.message.tool_info?.name;
93
107
  },
@@ -97,6 +111,9 @@ export default {
97
111
  toolWorkingDirectory() {
98
112
  return this.workingDirectory;
99
113
  },
114
+ collapseIconName() {
115
+ return this.isDetailsOpen ? 'chevron-down' : 'chevron-right';
116
+ },
100
117
  requiresApproval() {
101
118
  return [
102
119
  APPROVAL_TOOL_NAMES.runCommand,
@@ -110,6 +127,12 @@ export default {
110
127
  APPROVAL_TOOL_NAMES.createCommit,
111
128
  ].includes(this.toolName);
112
129
  },
130
+ shouldShowDetails() {
131
+ return (
132
+ !hiddenSubTypes.includes(this.message?.message_sub_type) &&
133
+ (this.hasToolInfoArgs || this.hasToolInfoResponse)
134
+ );
135
+ },
113
136
  },
114
137
  methods: {
115
138
  onOpenFilePath(filePath) {
@@ -118,6 +141,17 @@ export default {
118
141
  this.$emit('open-file-path', pathToEmit);
119
142
  }
120
143
  },
144
+ toggleClickToolDetails() {
145
+ if (!this.shouldShowDetails) return; // don't act as accordion if details are hidden
146
+ this.isDetailsOpen = !this.isDetailsOpen;
147
+ },
148
+ toggleKeydownToolDetails(e) {
149
+ if (!this.shouldShowDetails) return; // don't act as accordion if details are hidden
150
+ if (e.key === 'Enter' || e.key === ' ') {
151
+ e.preventDefault();
152
+ this.isDetailsOpen = !this.isDetailsOpen;
153
+ }
154
+ },
121
155
  },
122
156
  };
123
157
  </script>
@@ -135,8 +169,14 @@ export default {
135
169
  <gl-icon :name="iconName" />
136
170
  </div>
137
171
  <div class="gl-flex-1">
138
- <div class="gl-mb-2">
172
+ <div
173
+ class="gl-mb-2"
174
+ :class="{ 'gl-cursor-pointer': shouldShowDetails }"
175
+ @click="toggleClickToolDetails"
176
+ @keydown="toggleKeydownToolDetails"
177
+ >
139
178
  <span data-testid="tool-message-content">{{ content }}</span>
179
+ <gl-icon v-if="shouldShowDetails" :name="collapseIconName" />
140
180
  </div>
141
181
 
142
182
  <div v-if="projectId" class="gl-mb-2" data-testid="tool-message-project-info">
@@ -168,6 +208,11 @@ export default {
168
208
  </div>
169
209
  </div>
170
210
  </div>
211
+ <message-tool-details
212
+ v-if="shouldShowDetails"
213
+ :message="message"
214
+ :is-expanded="isDetailsOpen"
215
+ />
171
216
  </template>
172
217
  </base-message>
173
218
  </template>
@@ -0,0 +1,32 @@
1
+ <script>
2
+ import { GlCollapse, GlCard } from '@gitlab/ui';
3
+ import ToolKvSection from './message_tool_kv_section.vue';
4
+
5
+ export default {
6
+ name: 'MessageToolDetails',
7
+ components: { GlCollapse, GlCard, ToolKvSection },
8
+ props: {
9
+ message: { type: Object, required: true },
10
+ isExpanded: { type: Boolean, required: true },
11
+ },
12
+ computed: {
13
+ toolInfo() {
14
+ return this.message?.tool_info || {};
15
+ },
16
+ collapseId() {
17
+ return `tool-details-${this.message?.id || Math.random().toString(36).slice(2)}`;
18
+ },
19
+ },
20
+ };
21
+ </script>
22
+
23
+ <template>
24
+ <gl-collapse :id="collapseId" :visible="isExpanded">
25
+ <gl-card class="gl-mt-2">
26
+ <div class="gl-grid gl-gap-7 gl-px-3 gl-py-3">
27
+ <tool-kv-section title="Request" :value="toolInfo.args" />
28
+ <tool-kv-section title="Response" :value="toolInfo.tool_response" />
29
+ </div>
30
+ </gl-card>
31
+ </gl-collapse>
32
+ </template>
@@ -0,0 +1,145 @@
1
+ <script>
2
+ import { nextTick } from 'vue';
3
+ import { GlButton, GlTooltipDirective } from '@gitlab/ui';
4
+ import isEmpty from 'lodash/isEmpty';
5
+ import { checkClipboardPermissions } from '../utils';
6
+
7
+ function makePretty(value, visited = new WeakSet()) {
8
+ if (isEmpty(value)) return { result: '', isJson: false };
9
+ if (typeof value === 'string') {
10
+ try {
11
+ const parsed = JSON.parse(value);
12
+ return { result: JSON.stringify(parsed, null, 2), isJson: true };
13
+ } catch (e) {
14
+ return { result: value, isJson: false };
15
+ }
16
+ }
17
+
18
+ try {
19
+ if (typeof value === 'object' && visited.has(value)) {
20
+ return { result: '', isJson: false };
21
+ }
22
+ if ('content' in value) {
23
+ visited.add(value);
24
+ return makePretty(value.content, visited);
25
+ }
26
+
27
+ return { result: JSON.stringify(value, null, 2), isJson: true };
28
+ } catch (e) {
29
+ return { result: String(value), isJson: false };
30
+ }
31
+ }
32
+
33
+ export default {
34
+ name: 'ToolKvSection',
35
+ directives: { GlTooltip: GlTooltipDirective },
36
+ components: { GlButton },
37
+ inject: {
38
+ renderGFM: {
39
+ from: 'renderGFM',
40
+ default: () => (element) => {
41
+ element.classList.add('gl-markdown', 'gl-compact-markdown');
42
+ },
43
+ },
44
+ },
45
+ props: {
46
+ title: { type: String, required: true },
47
+ value: { type: [String, Number, Boolean, Array, Object, null], required: false, default: null },
48
+ // Optional monospace + scroll (useful for JSON / logs)
49
+ maxHeight: { type: String, required: false, default: '260px' },
50
+ },
51
+ computed: {
52
+ prettyResult() {
53
+ return makePretty(this.value);
54
+ },
55
+ pretty() {
56
+ return this.prettyResult.result;
57
+ },
58
+ hasContent() {
59
+ return this.pretty && this.pretty.length > 0;
60
+ },
61
+ isJson() {
62
+ return this.prettyResult.isJson;
63
+ },
64
+ },
65
+ async mounted() {
66
+ if (this.isJson) {
67
+ await nextTick();
68
+ this.applyJsonHighlight();
69
+ }
70
+ },
71
+ methods: {
72
+ async copy() {
73
+ const textToCopy = this.pretty;
74
+ const hasClipboardPermission = await checkClipboardPermissions();
75
+
76
+ try {
77
+ // Dispatch custom event for VS Code and other environments
78
+ // This bubbles up to parent components that handle clipboard operations
79
+ this.$el.dispatchEvent(
80
+ new CustomEvent('copy-code-snippet', {
81
+ bubbles: true,
82
+ cancelable: true,
83
+ detail: {
84
+ code: textToCopy,
85
+ },
86
+ })
87
+ );
88
+
89
+ // If we have clipboard permission, also copy directly
90
+ if (hasClipboardPermission) {
91
+ await navigator.clipboard.writeText(textToCopy);
92
+ }
93
+
94
+ this.$emit('copied', this.title);
95
+ } catch (e) {
96
+ // eslint-disable-next-line no-console
97
+ console.warn('Failed to copy:', e);
98
+ }
99
+ },
100
+ async applyJsonHighlight() {
101
+ if (this.renderGFM && typeof this.renderGFM === 'function' && this.$refs.content) {
102
+ this.renderGFM(this.$refs.content);
103
+ }
104
+ },
105
+ },
106
+ };
107
+ </script>
108
+
109
+ <template>
110
+ <section v-if="hasContent">
111
+ <header
112
+ class="gl-display-flex gl-align-items-center gl-justify-content-space-between gl-mb-2"
113
+ data-testid="tool-section-header"
114
+ >
115
+ <div class="gl-display-flex gl-align-items-center gl-gap-2">
116
+ <strong class="gl-text-gray-900">{{ title }}</strong>
117
+ </div>
118
+ </header>
119
+
120
+ <div
121
+ class="gl-display-block gl-relative gl-block gl-rounded-base gl-border-gray-100 gl-bg-gray-50 gl-p-5"
122
+ :style="{ maxHeight, overflow: 'auto' }"
123
+ >
124
+ <div class="gl-absolute gl-right-5 gl-top-5 gl-z-1">
125
+ <gl-button
126
+ v-if="pretty"
127
+ v-gl-tooltip
128
+ category="tertiary"
129
+ size="small"
130
+ icon="copy-to-clipboard"
131
+ title="Copy to clipboard"
132
+ aria-label="Copy to clipboard"
133
+ @click.stop="copy"
134
+ />
135
+ </div>
136
+ <pre
137
+ ref="content"
138
+ class="gl-font-mono gl-m-0 !gl-border-0 gl-text-gray-900"
139
+ :class="isJson ? 'code js-syntax-highlight language-json' : ''"
140
+ style="white-space: pre-wrap"
141
+ >{{ pretty }}</pre
142
+ >
143
+ </div>
144
+ </section>
145
+ </template>