@codingame/monaco-vscode-katex-common 26.2.2 → 27.0.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.
Files changed (183) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.d.ts +10 -4
  3. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +35 -11
  4. package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +3 -0
  5. package/vscode/src/vs/platform/actions/browser/buttonbar.js +15 -4
  6. package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.d.ts +548 -0
  7. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +15 -15
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +5 -0
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +168 -15
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +67 -51
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.d.ts +1 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +12 -11
  14. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +9 -9
  15. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +8 -0
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +42 -19
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +12 -1
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +63 -40
  19. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
  20. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +7 -5
  21. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +77 -73
  22. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +69 -32
  23. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +23 -6
  24. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +381 -83
  25. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +1 -0
  26. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +28 -13
  27. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +38 -19
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +109 -113
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +16 -15
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +2 -2
  31. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +8 -8
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +14 -14
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +2 -1
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +28 -9
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +226 -123
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +4 -4
  37. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +4 -4
  38. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  39. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  41. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +3 -1
  42. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +9 -4
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +1 -3
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +7 -10
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.d.ts +3 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.js +22 -4
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.d.ts +2 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.js +11 -3
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.d.ts +0 -2
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +0 -6
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +2 -2
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.d.ts +3 -1
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.js +6 -3
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.d.ts +2 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +5 -4
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +0 -1
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +26 -27
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +3 -0
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +51 -20
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -7
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +2 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +20 -8
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.d.ts +3 -3
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.js +11 -6
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +36 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +166 -45
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.d.ts +3 -2
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +16 -11
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +14 -5
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +98 -26
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +5 -5
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.js +1 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +10 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +241 -78
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.d.ts +29 -1
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +252 -8
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.d.ts +4 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +39 -18
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +5 -3
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +36 -23
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +5 -5
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +5 -7
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +42 -37
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCodeBlockPill.css +12 -3
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +48 -18
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatHookContentPart.css +9 -6
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css +2 -2
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +351 -422
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +14 -7
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +102 -7
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTipContent.css +69 -19
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/codeBlockPart.css +48 -15
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +4 -1
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +47 -23
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +0 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +0 -5
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +2 -2
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +7 -7
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.d.ts +18 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.js +103 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +15 -18
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +1 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +61 -66
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +1 -1
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +7 -9
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +3 -1
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +41 -2
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +3 -3
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +6 -5
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +13 -1
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.js +2 -1
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +17 -3
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +310 -79
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +6 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +13 -4
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.d.ts +35 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.js +441 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +24 -1
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +392 -86
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +52 -6
  136. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +271 -187
  137. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +68 -0
  138. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +668 -0
  139. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +12 -1
  140. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +57 -16
  141. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +2 -6
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +78 -45
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +1 -0
  144. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +28 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +86 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +9 -5
  147. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +4 -3
  148. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +393 -134
  149. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatViewWelcome.css +36 -17
  150. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +2 -2
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +20 -13
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +25 -6
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +141 -79
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageWidget.css +18 -13
  155. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.d.ts +7 -0
  156. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +108 -27
  157. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +1 -0
  158. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +20 -14
  159. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +4 -6
  160. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +74 -32
  161. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +11 -2
  162. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +68 -27
  163. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +5 -0
  164. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +125 -13
  165. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +8 -11
  166. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +54 -45
  167. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +11 -10
  168. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +172 -112
  169. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
  170. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
  171. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +0 -42
  172. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatEditorAffordance.css +27 -3
  173. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +83 -2
  174. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +8 -1
  175. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +58 -33
  176. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  177. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.d.ts +1 -548
  178. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  179. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  180. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  181. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +0 -187
  183. /package/vscode/src/vs/{workbench/contrib → platform}/mcp/common/modelContextProtocolApps.js +0 -0
@@ -29,7 +29,7 @@ import { ServiceCollection } from '@codingame/monaco-vscode-api/vscode/vs/platfo
29
29
  import { renderAsPlaintext } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/markdownRenderer';
30
30
  import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
31
31
  import { AgentSessionHoverWidget } from './agentSessionHoverWidget.js';
32
- import { AgentSessionProviders } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
32
+ import { AgentSessionProviders, getAgentSessionTime } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
33
33
  import { AgentSessionsGrouping } from './agentSessionsFilter.js';
34
34
  import { isSessionInProgressStatus, ChatSessionStatus } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
35
35
 
@@ -73,9 +73,13 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
73
73
  [h("div.agent-session-diff-container@diffContainer", [
74
74
  h("span.agent-session-diff-added@addedSpan"),
75
75
  h("span.agent-session-diff-removed@removedSpan")
76
- ]), h("div.agent-session-badge@badge"), h("div.agent-session-description@description"), h("div.agent-session-status@statusContainer", [
77
- h("span.agent-session-status-provider-icon@statusProviderIcon"),
78
- h("span.agent-session-status-time@statusTime")
76
+ ]), h("div.agent-session-description@description"), h("div.agent-session-details-right", [
77
+ h("div.agent-session-badge@badge"),
78
+ h("span.agent-session-separator@separator"),
79
+ h("div.agent-session-status@statusContainer", [
80
+ h("span.agent-session-status-provider-icon@statusProviderIcon"),
81
+ h("span.agent-session-status-time@statusTime")
82
+ ])
79
83
  ])]
80
84
  )])
81
85
  ]);
@@ -104,6 +108,7 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
104
108
  diffAddedSpan: elements.addedSpan,
105
109
  diffRemovedSpan: elements.removedSpan,
106
110
  badge: elements.badge,
111
+ separator: elements.separator,
107
112
  description: elements.description,
108
113
  statusContainer: elements.statusContainer,
109
114
  statusProviderIcon: elements.statusProviderIcon,
@@ -146,14 +151,12 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
146
151
  hasAgentSessionChanges = hasDiff;
147
152
  }
148
153
  ChatContextKeys.hasAgentSessionChanges.bindTo(template.contextKeyService).set(hasAgentSessionChanges);
149
- let hasBadge = false;
150
- if (!isSessionInProgressStatus(session.element.status)) {
151
- hasBadge = this.renderBadge(session, template);
152
- }
154
+ const hasBadge = this.renderBadge(session, template);
153
155
  template.badge.classList.toggle("has-badge", hasBadge);
154
156
  if (!hasDiff) {
155
- this.renderDescription(session, template, hasBadge);
157
+ this.renderDescription(session, template);
156
158
  }
159
+ template.separator.classList.toggle("has-separator", hasBadge);
157
160
  this.renderStatus(session, template);
158
161
  this.renderHover(session, template);
159
162
  }
@@ -209,35 +212,32 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
209
212
  }
210
213
  return Codicon.circleSmallFilled;
211
214
  }
212
- renderDescription(session, template, hasBadge) {
215
+ renderDescription(session, template) {
213
216
  const description = session.element.description;
214
217
  if (description) {
215
218
  this.renderMarkdownOrText(description, template.description, template.elementDisposable);
219
+ return;
216
220
  }
217
- else {
218
- if (session.element.status === ChatSessionStatus.InProgress) {
219
- template.description.textContent = ( localize(4990, "Working..."));
220
- } else if (session.element.status === ChatSessionStatus.NeedsInput) {
221
- template.description.textContent = ( localize(4991, "Input needed."));
222
- } else if (hasBadge && session.element.status === ChatSessionStatus.Completed) {
223
- template.description.textContent = "";
224
- } else if (session.element.timing.lastRequestEnded && session.element.timing.lastRequestStarted && session.element.timing.lastRequestEnded > session.element.timing.lastRequestStarted) {
225
- const duration = this.toDuration(
226
- session.element.timing.lastRequestStarted,
227
- session.element.timing.lastRequestEnded,
228
- false,
229
- true
230
- );
231
- template.description.textContent = session.element.status === ChatSessionStatus.Failed ? ( localize(4992, "Failed after {0}.", duration)) : ( localize(4993, "Completed in {0}.", duration));
232
- } else {
233
- template.description.textContent = session.element.status === ChatSessionStatus.Failed ? ( localize(4994, "Failed")) : ( localize(4995, "Completed"));
234
- }
221
+ if (session.element.status === ChatSessionStatus.InProgress) {
222
+ template.description.textContent = ( localize(5104, "Working..."));
223
+ } else if (session.element.status === ChatSessionStatus.NeedsInput) {
224
+ template.description.textContent = ( localize(5105, "Input needed."));
225
+ } else if (session.element.timing.lastRequestEnded && session.element.timing.lastRequestStarted && session.element.timing.lastRequestEnded > session.element.timing.lastRequestStarted) {
226
+ const duration = this.toDuration(
227
+ session.element.timing.lastRequestStarted,
228
+ session.element.timing.lastRequestEnded,
229
+ false,
230
+ true
231
+ );
232
+ template.description.textContent = session.element.status === ChatSessionStatus.Failed ? ( localize(5106, "Failed after {0}", duration)) : ( localize(5107, "Completed in {0}", duration));
233
+ } else {
234
+ template.description.textContent = session.element.status === ChatSessionStatus.Failed ? ( localize(5108, "Failed")) : ( localize(5109, "Completed"));
235
235
  }
236
236
  }
237
237
  toDuration(startTime, endTime, useFullTimeWords, disallowNow) {
238
238
  const elapsed = Math.max(Math.round((endTime - startTime) / 1000) * 1000, 1000 );
239
239
  if (!disallowNow && elapsed < 60000) {
240
- return localize(4996, "now");
240
+ return localize(5110, "now");
241
241
  }
242
242
  return getDurationString(elapsed, useFullTimeWords);
243
243
  }
@@ -248,17 +248,18 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
248
248
  timeLabel = this.toDuration(session.timing.lastRequestStarted, Date.now(), false, false);
249
249
  }
250
250
  if (!timeLabel) {
251
- const date = session.timing.lastRequestEnded ?? session.timing.lastRequestStarted ?? session.timing.created;
251
+ const date = getAgentSessionTime(session.timing);
252
252
  const seconds = Math.round((( new Date()).getTime() - date) / 1000);
253
253
  if (seconds < 60) {
254
- timeLabel = ( localize(4996, "now"));
254
+ timeLabel = ( localize(5110, "now"));
255
255
  } else {
256
- timeLabel = fromNow(date, true);
256
+ timeLabel = sessionDateFromNow(date);
257
257
  }
258
258
  }
259
259
  return timeLabel;
260
260
  };
261
- template.statusProviderIcon.className = `agent-session-status-provider-icon ${ThemeIcon.asClassName(session.element.icon)}`;
261
+ const isLocal = session.element.providerType === AgentSessionProviders.Local;
262
+ template.statusProviderIcon.className = isLocal ? "" : `agent-session-status-provider-icon ${ThemeIcon.asClassName(session.element.icon)}`;
262
263
  template.statusTime.textContent = getTimeLabel(session.element);
263
264
  const timer = template.elementDisposable.add(( new IntervalTimer()));
264
265
  timer.cancelAndSet(
@@ -267,6 +268,9 @@ let AgentSessionRenderer = class AgentSessionRenderer extends Disposable {
267
268
  );
268
269
  }
269
270
  renderHover(session, template) {
271
+ if (this.options.disableHover) {
272
+ return;
273
+ }
270
274
  if (!isSessionInProgressStatus(session.element.status) && session.element.isRead()) {
271
275
  return;
272
276
  }
@@ -308,16 +312,16 @@ function toStatusLabel(status) {
308
312
  let statusLabel;
309
313
  switch (status) {
310
314
  case ChatSessionStatus.NeedsInput:
311
- statusLabel = ( localize(4997, "Needs Input"));
315
+ statusLabel = ( localize(5111, "Needs Input"));
312
316
  break;
313
317
  case ChatSessionStatus.InProgress:
314
- statusLabel = ( localize(4998, "In Progress"));
318
+ statusLabel = ( localize(5112, "In Progress"));
315
319
  break;
316
320
  case ChatSessionStatus.Failed:
317
- statusLabel = ( localize(4999, "Failed"));
321
+ statusLabel = ( localize(5113, "Failed"));
318
322
  break;
319
323
  default:
320
- statusLabel = ( localize(5000, "Completed"));
324
+ statusLabel = ( localize(5114, "Completed"));
321
325
  }
322
326
  return statusLabel;
323
327
  }
@@ -376,7 +380,7 @@ let AgentSessionSectionRenderer = class AgentSessionSectionRenderer {
376
380
  AgentSessionSectionRenderer = AgentSessionSectionRenderer_1 = ( __decorate([( __param(0, IInstantiationService)), ( __param(1, IContextKeyService))], AgentSessionSectionRenderer));
377
381
  class AgentSessionsListDelegate {
378
382
  static {
379
- this.ITEM_HEIGHT = 52;
383
+ this.ITEM_HEIGHT = 54;
380
384
  }
381
385
  static {
382
386
  this.SECTION_HEIGHT = 26;
@@ -402,14 +406,14 @@ class AgentSessionsAccessibilityProvider {
402
406
  return "listitem";
403
407
  }
404
408
  getWidgetAriaLabel() {
405
- return localize(5001, "Agent Sessions");
409
+ return localize(5115, "Agent Sessions");
406
410
  }
407
411
  getAriaLabel(element) {
408
412
  if (isAgentSessionSection(element)) {
409
- return localize(5002, "{0} sessions section", element.label);
413
+ return localize(5116, "{0} sessions section", element.label);
410
414
  }
411
415
  return localize(
412
- 5003,
416
+ 5117,
413
417
  "{0} session {1} ({2}), created {3}",
414
418
  element.providerLabel,
415
419
  element.label,
@@ -463,6 +467,9 @@ class AgentSessionsDataSource {
463
467
  groupSessionsIntoSections(sessions) {
464
468
  const sortedSessions = sessions.sort(this.sorter.compare.bind(this.sorter));
465
469
  if (this.filter?.groupResults?.() === AgentSessionsGrouping.Capped) {
470
+ if (this.filter?.getExcludes().read) {
471
+ return sortedSessions;
472
+ }
466
473
  return this.groupSessionsCapped(sortedSessions);
467
474
  } else {
468
475
  return this.groupSessionsByDate(sortedSessions);
@@ -481,7 +488,7 @@ class AgentSessionsDataSource {
481
488
  if (othersSessions.length > 0) {
482
489
  result.push({
483
490
  section: AgentSessionSection.More,
484
- label: ( localize(5004, "More ({0})", othersSessions.length)),
491
+ label: AgentSessionSectionLabels[AgentSessionSection.More],
485
492
  sessions: othersSessions
486
493
  });
487
494
  }
@@ -507,23 +514,21 @@ class AgentSessionsDataSource {
507
514
  return result;
508
515
  }
509
516
  }
510
- const DAY_THRESHOLD = 24 * 60 * 60 * 1000;
511
- const WEEK_THRESHOLD = 7 * DAY_THRESHOLD;
512
517
  const AgentSessionSectionLabels = {
513
- [AgentSessionSection.InProgress]: ( localize(5005, "In Progress")),
514
- [AgentSessionSection.Today]: ( localize(5006, "Today")),
515
- [AgentSessionSection.Yesterday]: ( localize(5007, "Yesterday")),
516
- [AgentSessionSection.Week]: ( localize(5008, "Last Week")),
517
- [AgentSessionSection.Older]: ( localize(5009, "Older")),
518
- [AgentSessionSection.Archived]: ( localize(5010, "Archived")),
519
- [AgentSessionSection.More]: ( localize(5011, "More"))
518
+ [AgentSessionSection.Today]: ( localize(5118, "Today")),
519
+ [AgentSessionSection.Yesterday]: ( localize(5119, "Yesterday")),
520
+ [AgentSessionSection.Week]: ( localize(5120, "Last 7 days")),
521
+ [AgentSessionSection.Older]: ( localize(5121, "Older")),
522
+ [AgentSessionSection.Archived]: ( localize(5122, "Archived")),
523
+ [AgentSessionSection.More]: ( localize(5123, "More"))
520
524
  };
525
+ const DAY_THRESHOLD = 24 * 60 * 60 * 1000;
526
+ const WEEK_THRESHOLD = 7 * DAY_THRESHOLD;
521
527
  function groupAgentSessionsByDate(sessions) {
522
528
  const now = Date.now();
523
529
  const startOfToday = ( new Date(now)).setHours(0, 0, 0, 0);
524
530
  const startOfYesterday = startOfToday - DAY_THRESHOLD;
525
531
  const weekThreshold = now - WEEK_THRESHOLD;
526
- const inProgressSessions = [];
527
532
  const todaySessions = [];
528
533
  const yesterdaySessions = [];
529
534
  const weekSessions = [];
@@ -532,10 +537,8 @@ function groupAgentSessionsByDate(sessions) {
532
537
  for (const session of sessions) {
533
538
  if (session.isArchived()) {
534
539
  archivedSessions.push(session);
535
- } else if (isSessionInProgressStatus(session.status)) {
536
- inProgressSessions.push(session);
537
540
  } else {
538
- const sessionTime = session.timing.lastRequestEnded ?? session.timing.lastRequestStarted ?? session.timing.created;
541
+ const sessionTime = getAgentSessionTime(session.timing);
539
542
  if (sessionTime >= startOfToday) {
540
543
  todaySessions.push(session);
541
544
  } else if (sessionTime >= startOfYesterday) {
@@ -547,11 +550,7 @@ function groupAgentSessionsByDate(sessions) {
547
550
  }
548
551
  }
549
552
  }
550
- return (new Map([[AgentSessionSection.InProgress, {
551
- section: AgentSessionSection.InProgress,
552
- label: AgentSessionSectionLabels[AgentSessionSection.InProgress],
553
- sessions: inProgressSessions
554
- }], [AgentSessionSection.Today, {
553
+ return ( new Map([[AgentSessionSection.Today, {
555
554
  section: AgentSessionSection.Today,
556
555
  label: AgentSessionSectionLabels[AgentSessionSection.Today],
557
556
  sessions: todaySessions
@@ -569,10 +568,23 @@ function groupAgentSessionsByDate(sessions) {
569
568
  sessions: olderSessions
570
569
  }], [AgentSessionSection.Archived, {
571
570
  section: AgentSessionSection.Archived,
572
- label: ( localize(5012, "Archived ({0})", archivedSessions.length)),
571
+ label: AgentSessionSectionLabels[AgentSessionSection.Archived],
573
572
  sessions: archivedSessions
574
573
  }]]));
575
574
  }
575
+ function sessionDateFromNow(sessionTime) {
576
+ const now = Date.now();
577
+ const startOfToday = ( new Date(now)).setHours(0, 0, 0, 0);
578
+ const startOfYesterday = startOfToday - DAY_THRESHOLD;
579
+ const startOfTwoDaysAgo = startOfYesterday - DAY_THRESHOLD;
580
+ if (sessionTime < startOfToday && sessionTime >= startOfYesterday) {
581
+ return localize(5124, "1 day");
582
+ }
583
+ if (sessionTime < startOfYesterday && sessionTime >= startOfTwoDaysAgo) {
584
+ return localize(5125, "2 days");
585
+ }
586
+ return fromNow(sessionTime, false);
587
+ }
576
588
  class AgentSessionsIdentityProvider {
577
589
  getId(element) {
578
590
  if (isAgentSessionSection(element)) {
@@ -608,14 +620,6 @@ class AgentSessionsSorter {
608
620
  if (!aNeedsInput && bNeedsInput) {
609
621
  return 1;
610
622
  }
611
- const aInProgress = sessionA.status === ChatSessionStatus.InProgress;
612
- const bInProgress = sessionB.status === ChatSessionStatus.InProgress;
613
- if (aInProgress && !bInProgress) {
614
- return -1;
615
- }
616
- if (!aInProgress && bInProgress) {
617
- return 1;
618
- }
619
623
  const aArchived = sessionA.isArchived();
620
624
  const bArchived = sessionB.isArchived();
621
625
  if (!aArchived && bArchived) {
@@ -628,8 +632,8 @@ class AgentSessionsSorter {
628
632
  if (typeof override === "number") {
629
633
  return override;
630
634
  }
631
- const timeA = sessionA.timing.lastRequestEnded ?? sessionA.timing.lastRequestStarted ?? sessionA.timing.created;
632
- const timeB = sessionB.timing.lastRequestEnded ?? sessionB.timing.lastRequestStarted ?? sessionB.timing.created;
635
+ const timeA = getAgentSessionTime(sessionA.timing);
636
+ const timeB = getAgentSessionTime(sessionB.timing);
633
637
  return timeB - timeA;
634
638
  }
635
639
  }
@@ -665,7 +669,7 @@ let AgentSessionsDragAndDrop = class AgentSessionsDragAndDrop extends Disposable
665
669
  if (sessions.length === 1) {
666
670
  return sessions[0].label;
667
671
  }
668
- return localize(5013, "{0} agent sessions", sessions.length);
672
+ return localize(5126, "{0} agent sessions", sessions.length);
669
673
  }
670
674
  onDragOver(data, targetElement, targetIndex, targetSector, originalEvent) {
671
675
  return false;
@@ -674,4 +678,4 @@ let AgentSessionsDragAndDrop = class AgentSessionsDragAndDrop extends Disposable
674
678
  };
675
679
  AgentSessionsDragAndDrop = ( __decorate([( __param(0, IInstantiationService))], AgentSessionsDragAndDrop));
676
680
 
677
- export { AgentSessionRenderer, AgentSessionSectionLabels, AgentSessionSectionRenderer, AgentSessionsAccessibilityProvider, AgentSessionsCompressionDelegate, AgentSessionsDataSource, AgentSessionsDragAndDrop, AgentSessionsIdentityProvider, AgentSessionsKeyboardNavigationLabelProvider, AgentSessionsListDelegate, AgentSessionsSorter, groupAgentSessionsByDate, toStatusLabel };
681
+ export { AgentSessionRenderer, AgentSessionSectionLabels, AgentSessionSectionRenderer, AgentSessionsAccessibilityProvider, AgentSessionsCompressionDelegate, AgentSessionsDataSource, AgentSessionsDragAndDrop, AgentSessionsIdentityProvider, AgentSessionsKeyboardNavigationLabelProvider, AgentSessionsListDelegate, AgentSessionsSorter, groupAgentSessionsByDate, sessionDateFromNow, toStatusLabel };
@@ -9,6 +9,14 @@
9
9
  height: 100%;
10
10
  min-height: 0;
11
11
 
12
+ .pane-body & .monaco-scrollable-element {
13
+ padding: 0 6px;
14
+ }
15
+
16
+ .monaco-list-row {
17
+ border-radius: 6px;
18
+ }
19
+
12
20
  .monaco-list-row .force-no-twistie {
13
21
  display: none !important;
14
22
  }
@@ -21,55 +29,56 @@
21
29
  color: unset;
22
30
  }
23
31
  }
32
+ }
24
33
 
34
+ .monaco-list:focus .monaco-list-row.selected .agent-session-details-row {
25
35
  .agent-session-diff-container {
26
- background-color: unset;
27
- outline: 1px solid var(--vscode-agentSessionSelectedBadge-border);
28
-
29
36
  .agent-session-diff-added,
30
37
  .agent-session-diff-removed {
31
- color: unset;
38
+ color: unset;
32
39
  }
33
40
  }
41
+ }
34
42
 
35
- .agent-session-badge {
36
- background-color: unset;
37
- outline: 1px solid var(--vscode-agentSessionSelectedBadge-border);
38
- }
43
+ .monaco-list-row.selected .agent-session-title {
44
+ color: unset;
39
45
  }
40
46
 
41
- .monaco-list:not(:focus) .monaco-list-row.selected .agent-session-details-row .agent-session-diff-container,
42
- .monaco-list:not(:focus) .monaco-list-row.selected .agent-session-details-row .agent-session-badge {
43
- outline: 1px solid var(--vscode-agentSessionSelectedUnfocusedBadge-border);
47
+ .monaco-list:not(:focus) .monaco-list-row.selected .agent-session-details-row {
48
+ color: var(--vscode-descriptionForeground);
44
49
  }
45
50
 
46
51
  .monaco-list-row .agent-session-title-toolbar {
47
52
  /* for the absolute positioning of the toolbar below */
48
53
  position: relative;
49
54
  height: 16px;
55
+ display: none;
50
56
 
51
57
  .monaco-toolbar {
52
58
  /* this is required because the overal height (including the padding needed for hover feedback) would push down the title otherwise */
53
59
  position: relative;
54
60
  right: 0;
55
61
  top: 0;
56
- display: none;
57
62
  }
58
63
  }
59
64
 
60
- .monaco-list-row:hover .agent-session-title-toolbar,
61
- .monaco-list-row.focused .agent-session-title-toolbar {
65
+ /* On hover or keyboard focus: show toolbar */
66
+ .monaco-list-row:hover,
67
+ .monaco-list-row.focused {
62
68
 
63
- .monaco-toolbar {
69
+ .agent-session-title-toolbar {
64
70
  display: block;
65
71
  }
72
+
73
+ .agent-session-title {
74
+ margin-right: 8px;
75
+ }
66
76
  }
67
77
 
68
78
  .agent-session-item {
69
79
  display: flex;
70
80
  flex-direction: row;
71
- /* to offset from possible scrollbar */
72
- padding: 8px 12px 8px 8px;
81
+ padding: 8px 6px;
73
82
 
74
83
  &.archived {
75
84
  color: var(--vscode-descriptionForeground);
@@ -85,10 +94,15 @@
85
94
  .agent-session-icon-col {
86
95
  display: flex;
87
96
  align-items: flex-start;
97
+ line-height: 17px;
88
98
 
89
99
  .agent-session-icon {
90
100
  flex-shrink: 0;
91
- font-size: 16px;
101
+ font-size: 12px;
102
+ height: 16px;
103
+ display: flex;
104
+ align-items: center;
105
+ justify-content: center;
92
106
 
93
107
  &.codicon.codicon-session-in-progress {
94
108
  color: var(--vscode-textLink-foreground);
@@ -113,23 +127,25 @@
113
127
  }
114
128
 
115
129
  .agent-session-main-col {
116
- padding-left: 8px;
130
+ padding-left: 6px;
117
131
  }
118
132
 
119
133
  .agent-session-title-row,
120
134
  .agent-session-details-row {
121
135
  display: flex;
122
136
  align-items: center;
123
- line-height: 16px;
124
137
  }
125
138
 
126
139
  .agent-session-title-row {
140
+ line-height: 17px;
127
141
  padding-bottom: 4px;
128
142
  }
129
143
 
130
144
  .agent-session-details-row {
131
145
  gap: 4px;
132
146
  font-size: 12px;
147
+ line-height: 15px;
148
+ max-height: 15px;
133
149
  color: var(--vscode-descriptionForeground);
134
150
 
135
151
  .rendered-markdown {
@@ -148,13 +164,8 @@
148
164
  }
149
165
  }
150
166
 
151
- .agent-session-diff-container,
152
- .agent-session-badge {
153
- background-color: var(--vscode-toolbar-hoverBackground);
154
- font-weight: 500;
155
- padding: 0 4px;
167
+ .agent-session-diff-container {
156
168
  font-variant-numeric: tabular-nums;
157
- border-radius: 5px;
158
169
  overflow: hidden;
159
170
  }
160
171
 
@@ -175,6 +186,18 @@
175
186
  }
176
187
  }
177
188
 
189
+ .agent-session-separator {
190
+ display: none;
191
+
192
+ &.has-separator {
193
+ display: inline;
194
+
195
+ &::before {
196
+ content: '\00B7';
197
+ }
198
+ }
199
+ }
200
+
178
201
  .agent-session-badge {
179
202
 
180
203
  p {
@@ -186,7 +209,7 @@
186
209
  }
187
210
 
188
211
  .codicon {
189
- font-size: 12px;
212
+ font-size: 11px;
190
213
  }
191
214
  }
192
215
  }
@@ -195,17 +218,32 @@
195
218
  .agent-session-description {
196
219
  /* push other items to the end */
197
220
  flex: 1;
198
- text-overflow: ellipsis;
199
221
  overflow: hidden;
222
+ white-space: nowrap;
223
+ text-overflow: ellipsis;
224
+ }
225
+
226
+ .agent-session-title {
227
+ font-size: 13px;
228
+ }
229
+
230
+ .agent-session-details-right {
231
+ display: flex;
232
+ align-items: center;
233
+ gap: 4px;
234
+ margin-left: auto;
235
+ white-space: nowrap;
236
+ flex-shrink: 0;
200
237
  }
201
238
 
202
239
  .agent-session-status {
203
240
  display: flex;
204
241
  align-items: center;
205
242
  font-variant-numeric: tabular-nums;
243
+ white-space: nowrap;
206
244
 
207
245
  .agent-session-status-provider-icon {
208
- font-size: 12px;
246
+ font-size: 11px;
209
247
  margin-right: 4px;
210
248
 
211
249
  &.hidden {
@@ -219,11 +257,10 @@
219
257
  display: flex;
220
258
  align-items: center;
221
259
  font-size: 11px;
260
+ font-weight: 500;
222
261
  color: var(--vscode-descriptionForeground);
223
- text-transform: uppercase;
224
- letter-spacing: 0.5px;
225
262
  /* align with session item padding */
226
- padding: 0 12px 0 8px;
263
+ padding: 0 6px;
227
264
 
228
265
  .agent-session-section-label {
229
266
  flex: 1;
@@ -3,10 +3,12 @@ import { Disposable, IDisposable } from "@codingame/monaco-vscode-api/vscode/vs/
3
3
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
4
4
  import { IRange } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range";
5
5
  import { Location, SymbolKind } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages";
6
+ import { ILanguageService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service";
7
+ import { IModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service";
6
8
  import { MenuId } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions";
7
9
  import { ICommandService } from "@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service";
8
10
  import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
9
- import { IScopedContextKeyService, RawContextKey } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey";
11
+ import { RawContextKey } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey";
10
12
  import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
11
13
  import { IOpenEditorOptions } from "../../../../../platform/editor/browser/editor.js";
12
14
  import { IHoverService } from "@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service";
@@ -24,6 +26,7 @@ import { IChatContentReference } from "@codingame/monaco-vscode-api/vscode/vs/wo
24
26
  import { IChatRequestPasteVariableEntry, IChatRequestVariableEntry, IElementVariableEntry, INotebookOutputVariableEntry, IPromptFileVariableEntry, IPromptTextVariableEntry, ISCMHistoryItemVariableEntry, ChatRequestToolReferenceEntry, ISCMHistoryItemChangeVariableEntry, ISCMHistoryItemChangeRangeVariableEntry, ITerminalVariableEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries";
25
27
  import { ILanguageModelChatMetadataAndIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels";
26
28
  import { ILanguageModelsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service";
29
+ import { IChatEntitlementService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/chat/common/chatEntitlementService.service";
27
30
  import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
28
31
  declare abstract class AbstractChatAttachmentWidget extends Disposable {
29
32
  protected readonly attachment: IChatRequestVariableEntry;
@@ -72,10 +75,11 @@ export declare class ImageAttachmentWidget extends AbstractChatAttachmentWidget
72
75
  private readonly hoverService;
73
76
  private readonly languageModelsService;
74
77
  private readonly labelService;
78
+ private readonly chatEntitlementService;
75
79
  constructor(resource: URI | undefined, attachment: IChatRequestVariableEntry, currentLanguageModel: ILanguageModelChatMetadataAndIdentifier | undefined, options: {
76
80
  shouldFocusClearButton: boolean;
77
81
  supportsDeletion: boolean;
78
- }, container: HTMLElement, contextResourceLabels: ResourceLabels, commandService: ICommandService, openerService: IOpenerService, configurationService: IConfigurationService, hoverService: IHoverService, languageModelsService: ILanguageModelsService, instantiationService: IInstantiationService, labelService: ILabelService);
82
+ }, container: HTMLElement, contextResourceLabels: ResourceLabels, commandService: ICommandService, openerService: IOpenerService, configurationService: IConfigurationService, hoverService: IHoverService, languageModelsService: ILanguageModelsService, instantiationService: IInstantiationService, labelService: ILabelService, chatEntitlementService: IChatEntitlementService);
79
83
  }
80
84
  export declare class PasteAttachmentWidget extends AbstractChatAttachmentWidget {
81
85
  private readonly hoverService;
@@ -89,11 +93,13 @@ export declare class DefaultChatAttachmentWidget extends AbstractChatAttachmentW
89
93
  private readonly contextKeyService;
90
94
  private readonly instantiationService;
91
95
  private readonly hoverService;
96
+ private readonly modelService;
97
+ private readonly languageService;
92
98
  private readonly _tooltipHover;
93
99
  constructor(resource: URI | undefined, range: IRange | undefined, attachment: IChatRequestVariableEntry, correspondingContentReference: IChatContentReference | undefined, currentLanguageModel: ILanguageModelChatMetadataAndIdentifier | undefined, options: {
94
100
  shouldFocusClearButton: boolean;
95
101
  supportsDeletion: boolean;
96
- }, container: HTMLElement, contextResourceLabels: ResourceLabels, commandService: ICommandService, openerService: IOpenerService, configurationService: IConfigurationService, contextKeyService: IContextKeyService, instantiationService: IInstantiationService, hoverService: IHoverService);
102
+ }, container: HTMLElement, contextResourceLabels: ResourceLabels, commandService: ICommandService, openerService: IOpenerService, configurationService: IConfigurationService, contextKeyService: IContextKeyService, instantiationService: IInstantiationService, hoverService: IHoverService, modelService: IModelService, languageService: ILanguageService);
97
103
  private _setupTooltipHover;
98
104
  }
99
105
  export declare class PromptFileAttachmentWidget extends AbstractChatAttachmentWidget {
@@ -123,10 +129,11 @@ export declare class NotebookCellOutputChatAttachmentWidget extends AbstractChat
123
129
  private readonly languageModelsService;
124
130
  private readonly notebookService;
125
131
  private readonly instantiationService;
132
+ private readonly chatEntitlementService;
126
133
  constructor(resource: URI, attachment: INotebookOutputVariableEntry, currentLanguageModel: ILanguageModelChatMetadataAndIdentifier | undefined, options: {
127
134
  shouldFocusClearButton: boolean;
128
135
  supportsDeletion: boolean;
129
- }, container: HTMLElement, contextResourceLabels: ResourceLabels, commandService: ICommandService, openerService: IOpenerService, configurationService: IConfigurationService, hoverService: IHoverService, languageModelsService: ILanguageModelsService, notebookService: INotebookService, instantiationService: IInstantiationService);
136
+ }, container: HTMLElement, contextResourceLabels: ResourceLabels, commandService: ICommandService, openerService: IOpenerService, configurationService: IConfigurationService, hoverService: IHoverService, languageModelsService: ILanguageModelsService, notebookService: INotebookService, instantiationService: IInstantiationService, chatEntitlementService: IChatEntitlementService);
130
137
  getAriaLabel(attachment: INotebookOutputVariableEntry): string;
131
138
  private renderErrorOutput;
132
139
  private renderGenericOutput;
@@ -134,10 +141,20 @@ export declare class NotebookCellOutputChatAttachmentWidget extends AbstractChat
134
141
  private getOutputItem;
135
142
  }
136
143
  export declare class ElementChatAttachmentWidget extends AbstractChatAttachmentWidget {
144
+ private readonly editorService;
145
+ private readonly hoverService;
137
146
  constructor(attachment: IElementVariableEntry, currentLanguageModel: ILanguageModelChatMetadataAndIdentifier | undefined, options: {
138
147
  shouldFocusClearButton: boolean;
139
148
  supportsDeletion: boolean;
140
- }, container: HTMLElement, contextResourceLabels: ResourceLabels, commandService: ICommandService, openerService: IOpenerService, configurationService: IConfigurationService, editorService: IEditorService);
149
+ }, container: HTMLElement, contextResourceLabels: ResourceLabels, commandService: ICommandService, openerService: IOpenerService, configurationService: IConfigurationService, editorService: IEditorService, hoverService: IHoverService);
150
+ private getHoverContent;
151
+ private shouldRenderRichElementHover;
152
+ private getSimpleHoverContent;
153
+ private getComputedStyleEntriesForHover;
154
+ private getBoxShorthandValue;
155
+ private openElementAttachment;
156
+ private formatElementTag;
157
+ private formatAncestorTag;
141
158
  }
142
159
  export declare class SCMHistoryItemAttachmentWidget extends AbstractChatAttachmentWidget {
143
160
  constructor(attachment: ISCMHistoryItemVariableEntry, currentLanguageModel: ILanguageModelChatMetadataAndIdentifier | undefined, options: {
@@ -165,7 +182,7 @@ export declare class SCMHistoryItemChangeRangeAttachmentWidget extends AbstractC
165
182
  protected openResource(resource: URI, options: IOpenEditorOptions, isDirectory: false, range: IRange | undefined): Promise<void>;
166
183
  }
167
184
  export declare function hookUpResourceAttachmentDragAndContextMenu(accessor: ServicesAccessor, widget: HTMLElement, resource: URI): IDisposable;
168
- export declare function hookUpSymbolAttachmentDragAndContextMenu(accessor: ServicesAccessor, widget: HTMLElement, scopedContextKeyService: IScopedContextKeyService, attachment: {
185
+ export declare function hookUpSymbolAttachmentDragAndContextMenu(accessor: ServicesAccessor, widget: HTMLElement, parentContextKeyService: IContextKeyService, attachment: {
169
186
  name: string;
170
187
  value: Location;
171
188
  kind: SymbolKind;