@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
@@ -13,13 +13,15 @@ import { IMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/ac
13
13
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
14
14
  import { ICommandService } from '@codingame/monaco-vscode-api/vscode/vs/platform/commands/common/commands.service';
15
15
  import { ACTION_ID_NEW_CHAT } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/actions/chatActions';
16
- import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
16
+ import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
17
17
  import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
18
+ import { Throttler } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
18
19
  import { MarshalledId } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marshallingIds';
19
20
  import { Separator } from '@codingame/monaco-vscode-api/vscode/vs/base/common/actions';
20
21
  import { RenderIndentGuides, TreeFindMode } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/tree/abstractTree';
21
22
  import { IAgentSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service';
22
23
  import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
24
+ import { getAgentSessionTime } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
23
25
  import { openSession } from './agentSessionsOpener.js';
24
26
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
25
27
  import { ChatEditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput';
@@ -54,6 +56,9 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
54
56
  this.telemetryService = telemetryService;
55
57
  this.editorService = editorService;
56
58
  this.sessionsListFindIsOpen = false;
59
+ this.updateSessionsListThrottler = this._register(( new Throttler()));
60
+ this._onDidUpdate = this._register(( new Emitter()));
61
+ this.onDidUpdate = this._onDidUpdate.event;
57
62
  this.visible = true;
58
63
  this.focusedAgentSessionArchivedContextKey = ChatContextKeys.isArchivedAgentSession.bindTo(this.contextKeyService);
59
64
  this.focusedAgentSessionReadContextKey = ChatContextKeys.isReadAgentSession.bindTo(this.contextKeyService);
@@ -95,6 +100,19 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
95
100
  if (element.section === AgentSessionSection.Archived && this.options.filter.getExcludes().archived) {
96
101
  return true;
97
102
  }
103
+ if (this.options.collapseOlderSections?.()) {
104
+ const olderSections = [
105
+ AgentSessionSection.Week,
106
+ AgentSessionSection.Older,
107
+ AgentSessionSection.Archived
108
+ ];
109
+ if (olderSections.includes(element.section)) {
110
+ return true;
111
+ }
112
+ if (element.section === AgentSessionSection.Yesterday && this.hasTodaySessions()) {
113
+ return true;
114
+ }
115
+ }
98
116
  }
99
117
  return false;
100
118
  };
@@ -129,12 +147,12 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
129
147
  this._register(this.options.filter.onDidChange(async () => {
130
148
  if (this.visible) {
131
149
  this.updateSectionCollapseStates();
132
- list.updateChildren();
150
+ this.update();
133
151
  }
134
152
  }));
135
153
  this._register(model.onDidChangeSessions(() => {
136
154
  if (this.visible) {
137
- list.updateChildren();
155
+ this.update();
138
156
  }
139
157
  }));
140
158
  list.setInput(model);
@@ -172,6 +190,12 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
172
190
  this.updateSectionCollapseStates();
173
191
  }));
174
192
  }
193
+ hasTodaySessions() {
194
+ const startOfToday = ( new Date()).setHours(0, 0, 0, 0);
195
+ return ( this.agentSessionsService.model.sessions.some(
196
+ session => !session.isArchived() && getAgentSessionTime(session.timing) >= startOfToday
197
+ ));
198
+ }
175
199
  async openAgentSession(e) {
176
200
  const element = e.element;
177
201
  if (!element || isAgentSessionSection(element)) {
@@ -182,9 +206,13 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
182
206
  source: this.options.source
183
207
  });
184
208
  const options = this.options.overrideSessionOpenOptions?.(e) ?? e;
185
- const widget = await this.instantiationService.invokeFunction(openSession, element, options);
186
- if (widget) {
187
- this.options.notifySessionOpened?.(element.resource, widget);
209
+ if (this.options.overrideSessionOpen) {
210
+ await this.options.overrideSessionOpen(element.resource, options);
211
+ } else {
212
+ const widget = await this.instantiationService.invokeFunction(openSession, element, options);
213
+ if (widget) {
214
+ this.options.notifySessionOpened?.(element.resource, widget);
215
+ }
188
216
  }
189
217
  }
190
218
  async showContextMenu(
@@ -222,7 +250,7 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
222
250
  menu.dispose();
223
251
  }
224
252
  async showAgentSessionContextMenu(session, anchor) {
225
- await this.chatSessionsService.activateChatSessionItemProvider(session.providerType);
253
+ this.chatSessionsService.activateChatSessionItemProvider(session.providerType);
226
254
  const contextOverlay = [];
227
255
  contextOverlay.push([ChatContextKeys.isArchivedAgentSession.key, session.isArchived()]);
228
256
  contextOverlay.push([ChatContextKeys.isReadAgentSession.key, session.isRead()]);
@@ -273,16 +301,8 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
273
301
  }
274
302
  case AgentSessionSection.More:
275
303
  {
276
- if (child.collapsed) {
277
- let autoExpandMore = false;
278
- if (this.sessionsListFindIsOpen) {
279
- autoExpandMore = true;
280
- } else if (this.options.filter.getExcludes().read && ( child.element.sessions.some(session => !session.isRead()))) {
281
- autoExpandMore = true;
282
- }
283
- if (autoExpandMore) {
284
- this.sessionsList.expand(child.element);
285
- }
304
+ if (child.collapsed && this.sessionsListFindIsOpen) {
305
+ this.sessionsList.expand(child.element);
286
306
  }
287
307
  break;
288
308
  }
@@ -293,7 +313,10 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
293
313
  return this.agentSessionsService.model.resolve(undefined);
294
314
  }
295
315
  async update() {
296
- await this.sessionsList?.updateChildren();
316
+ return this.updateSessionsListThrottler.queue(async () => {
317
+ await this.sessionsList?.updateChildren();
318
+ this._onDidUpdate.fire();
319
+ });
297
320
  }
298
321
  setVisible(visible) {
299
322
  if (this.visible === visible) {
@@ -301,7 +324,7 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
301
324
  }
302
325
  this.visible = visible;
303
326
  if (this.visible) {
304
- this.sessionsList?.updateChildren();
327
+ this.update();
305
328
  }
306
329
  }
307
330
  layout(height, width) {
@@ -2,6 +2,7 @@ import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/l
2
2
  import { MenuId } from "@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions";
3
3
  import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
4
4
  import { IChatSessionsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service";
5
+ import { AgentSessionProviders } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions";
5
6
  import { IAgentSession } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel";
6
7
  import { IAgentSessionsFilter, IAgentSessionsFilterExcludes } from "./agentSessionsViewer.js";
7
8
  export declare enum AgentSessionsGrouping {
@@ -9,7 +10,17 @@ export declare enum AgentSessionsGrouping {
9
10
  Date = "date"
10
11
  }
11
12
  export interface IAgentSessionsFilterOptions extends Partial<IAgentSessionsFilter> {
12
- readonly filterMenuId: MenuId;
13
+ readonly filterMenuId?: MenuId;
14
+ /**
15
+ * When set, only these providers appear in the filter menu (opt-in).
16
+ * When unset, all registered contributions plus `Local` are shown.
17
+ */
18
+ readonly allowedProviders?: AgentSessionProviders[];
19
+ /**
20
+ * Optional label overrides for providers shown in the filter menu.
21
+ * For example, the sessions window maps `Background` → "Local".
22
+ */
23
+ readonly providerLabelOverrides?: ReadonlyMap<string, string>;
13
24
  readonly limitResults?: () => number | undefined;
14
25
  notifyResults?(count: number): void;
15
26
  readonly groupResults?: () => AgentSessionsGrouping | undefined;
@@ -9,7 +9,7 @@ import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/
9
9
  import { StorageScope, StorageTarget } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage';
10
10
  import { IStorageService } from '@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service';
11
11
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
12
- import { AgentSessionProviders, getAgentSessionProviderName } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
12
+ import { getAgentSessionProvider, getAgentSessionProviderName, AgentSessionProviders } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
13
13
  import '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel';
14
14
  import { ChatSessionStatus } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService';
15
15
 
@@ -30,6 +30,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
30
30
  this.options = options;
31
31
  this.chatSessionsService = chatSessionsService;
32
32
  this.storageService = storageService;
33
+ this.STORAGE_KEY = `agentSessions.filterExcludes.agentsessionsviewerfiltersubmenu`;
33
34
  this._onDidChange = this._register(( new Emitter()));
34
35
  this.onDidChange = this._onDidChange.event;
35
36
  this.limitResults = () => this.options.limitResults?.();
@@ -37,7 +38,6 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
37
38
  this.excludes = DEFAULT_EXCLUDES;
38
39
  this.isStoringExcludes = false;
39
40
  this.actionDisposables = this._register(( new DisposableStore()));
40
- this.STORAGE_KEY = `agentSessions.filterExcludes.${this.options.filterMenuId.id.toLowerCase()}`;
41
41
  this.updateExcludes(false);
42
42
  this.registerListeners();
43
43
  }
@@ -94,25 +94,45 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
94
94
  }
95
95
  updateFilterActions() {
96
96
  this.actionDisposables.clear();
97
- this.registerProviderActions(this.actionDisposables);
98
- this.registerStateActions(this.actionDisposables);
99
- this.registerArchivedActions(this.actionDisposables);
100
- this.registerReadActions(this.actionDisposables);
101
- this.registerResetAction(this.actionDisposables);
97
+ const menuId = this.options.filterMenuId;
98
+ if (!menuId) {
99
+ return;
100
+ }
101
+ this.registerProviderActions(this.actionDisposables, menuId);
102
+ this.registerStateActions(this.actionDisposables, menuId);
103
+ this.registerArchivedActions(this.actionDisposables, menuId);
104
+ this.registerReadActions(this.actionDisposables, menuId);
105
+ this.registerResetAction(this.actionDisposables, menuId);
102
106
  }
103
- registerProviderActions(disposables) {
104
- const providers = ( ( Object.values(AgentSessionProviders)).map(provider => ({
105
- id: provider,
106
- label: getAgentSessionProviderName(provider)
107
- })));
108
- for (const provider of this.chatSessionsService.getAllChatSessionContributions()) {
109
- if (providers.find(p => p.id === provider.type)) {
110
- continue;
107
+ registerProviderActions(disposables, menuId) {
108
+ const labelOverrides = this.options.providerLabelOverrides;
109
+ const resolveLabel = id => {
110
+ if (labelOverrides?.has(id)) {
111
+ return labelOverrides.get(id);
112
+ }
113
+ const knownProvider = getAgentSessionProvider(id);
114
+ return knownProvider ? getAgentSessionProviderName(knownProvider) : id;
115
+ };
116
+ let providers;
117
+ if (this.options.allowedProviders) {
118
+ providers = ( this.options.allowedProviders.map(id => ({
119
+ id,
120
+ label: resolveLabel(id)
121
+ })));
122
+ } else {
123
+ providers = [{
124
+ id: AgentSessionProviders.Local,
125
+ label: resolveLabel(AgentSessionProviders.Local)
126
+ }];
127
+ for (const contribution of this.chatSessionsService.getAllChatSessionContributions()) {
128
+ if (providers.find(p => p.id === contribution.type)) {
129
+ continue;
130
+ }
131
+ providers.push({
132
+ id: contribution.type,
133
+ label: resolveLabel(contribution.type)
134
+ });
111
135
  }
112
- providers.push({
113
- id: provider.type,
114
- label: provider.name
115
- });
116
136
  }
117
137
  const that = this;
118
138
  let counter = 0;
@@ -120,10 +140,10 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
120
140
  disposables.add(registerAction2(class extends Action2 {
121
141
  constructor() {
122
142
  super({
123
- id: `agentSessions.filter.toggleExclude:${provider.id}.${that.options.filterMenuId.id.toLowerCase()}`,
143
+ id: `agentSessions.filter.toggleExclude:${provider.id}.${menuId.id.toLowerCase()}`,
124
144
  title: provider.label,
125
145
  menu: {
126
- id: that.options.filterMenuId,
146
+ id: menuId,
127
147
  group: "1_providers",
128
148
  order: counter++
129
149
  },
@@ -143,19 +163,19 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
143
163
  }));
144
164
  }
145
165
  }
146
- registerStateActions(disposables) {
166
+ registerStateActions(disposables, menuId) {
147
167
  const states = [{
148
168
  id: ChatSessionStatus.Completed,
149
- label: ( localize(4975, "Completed"))
169
+ label: ( localize(5089, "Completed"))
150
170
  }, {
151
171
  id: ChatSessionStatus.InProgress,
152
- label: ( localize(4976, "In Progress"))
172
+ label: ( localize(5090, "In Progress"))
153
173
  }, {
154
174
  id: ChatSessionStatus.NeedsInput,
155
- label: ( localize(4977, "Input Needed"))
175
+ label: ( localize(5091, "Input Needed"))
156
176
  }, {
157
177
  id: ChatSessionStatus.Failed,
158
- label: ( localize(4978, "Failed"))
178
+ label: ( localize(5092, "Failed"))
159
179
  }];
160
180
  const that = this;
161
181
  let counter = 0;
@@ -163,10 +183,10 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
163
183
  disposables.add(registerAction2(class extends Action2 {
164
184
  constructor() {
165
185
  super({
166
- id: `agentSessions.filter.toggleExcludeState:${state.id}.${that.options.filterMenuId.id.toLowerCase()}`,
186
+ id: `agentSessions.filter.toggleExcludeState:${state.id}.${menuId.id.toLowerCase()}`,
167
187
  title: state.label,
168
188
  menu: {
169
- id: that.options.filterMenuId,
189
+ id: menuId,
170
190
  group: "2_states",
171
191
  order: counter++
172
192
  },
@@ -186,15 +206,15 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
186
206
  }));
187
207
  }
188
208
  }
189
- registerArchivedActions(disposables) {
209
+ registerArchivedActions(disposables, menuId) {
190
210
  const that = this;
191
211
  disposables.add(registerAction2(class extends Action2 {
192
212
  constructor() {
193
213
  super({
194
- id: `agentSessions.filter.toggleExcludeArchived.${that.options.filterMenuId.id.toLowerCase()}`,
195
- title: ( localize(4979, "Archived")),
214
+ id: `agentSessions.filter.toggleExcludeArchived.${menuId.id.toLowerCase()}`,
215
+ title: ( localize(5093, "Archived")),
196
216
  menu: {
197
- id: that.options.filterMenuId,
217
+ id: menuId,
198
218
  group: "3_props",
199
219
  order: 1000
200
220
  },
@@ -209,15 +229,15 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
209
229
  }
210
230
  }));
211
231
  }
212
- registerReadActions(disposables) {
232
+ registerReadActions(disposables, menuId) {
213
233
  const that = this;
214
234
  disposables.add(registerAction2(class extends Action2 {
215
235
  constructor() {
216
236
  super({
217
- id: `agentSessions.filter.toggleExcludeRead.${that.options.filterMenuId.id.toLowerCase()}`,
218
- title: ( localize(4980, "Read")),
237
+ id: `agentSessions.filter.toggleExcludeRead.${menuId.id.toLowerCase()}`,
238
+ title: ( localize(5094, "Read")),
219
239
  menu: {
220
- id: that.options.filterMenuId,
240
+ id: menuId,
221
241
  group: "3_props",
222
242
  order: 0
223
243
  },
@@ -232,15 +252,15 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
232
252
  }
233
253
  }));
234
254
  }
235
- registerResetAction(disposables) {
255
+ registerResetAction(disposables, menuId) {
236
256
  const that = this;
237
257
  disposables.add(registerAction2(class extends Action2 {
238
258
  constructor() {
239
259
  super({
240
- id: `agentSessions.filter.resetExcludes.${that.options.filterMenuId.id.toLowerCase()}`,
241
- title: ( localize(4981, "Reset")),
260
+ id: `agentSessions.filter.resetExcludes.${menuId.id.toLowerCase()}`,
261
+ title: ( localize(5095, "Reset")),
242
262
  menu: {
243
- id: that.options.filterMenuId,
263
+ id: menuId,
244
264
  group: "4_reset",
245
265
  order: 0
246
266
  }
@@ -264,6 +284,9 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
264
284
  if (typeof overrideExclude === "boolean") {
265
285
  return overrideExclude;
266
286
  }
287
+ if (this.options.allowedProviders && !this.options.allowedProviders.includes(session.providerType)) {
288
+ return true;
289
+ }
267
290
  if (this.excludes.read && session.isRead()) {
268
291
  return true;
269
292
  }
@@ -81,7 +81,7 @@ async function openSessionDefault(accessor, session, openOptions) {
81
81
  }
82
82
  return await chatWidgetService.openSession(session.resource, target, options);
83
83
  } catch (error) {
84
- notificationService.error(( localize(4983, "Failed to open chat session: {0}", toErrorMessage(error))));
84
+ notificationService.error(( localize(5097, "Failed to open chat session: {0}", toErrorMessage(error))));
85
85
  return undefined;
86
86
  }
87
87
  }
@@ -25,20 +25,22 @@ interface IAgentSessionItemTemplate {
25
25
  readonly element: HTMLElement;
26
26
  readonly icon: HTMLElement;
27
27
  readonly title: IconLabel;
28
+ readonly statusContainer: HTMLElement;
29
+ readonly statusProviderIcon: HTMLElement;
30
+ readonly statusTime: HTMLElement;
28
31
  readonly titleToolbar: MenuWorkbenchToolBar;
29
32
  readonly diffContainer: HTMLElement;
30
33
  readonly diffAddedSpan: HTMLSpanElement;
31
34
  readonly diffRemovedSpan: HTMLSpanElement;
32
35
  readonly badge: HTMLElement;
36
+ readonly separator: HTMLElement;
33
37
  readonly description: HTMLElement;
34
- readonly statusContainer: HTMLElement;
35
- readonly statusProviderIcon: HTMLElement;
36
- readonly statusTime: HTMLElement;
37
38
  readonly contextKeyService: IContextKeyService;
38
39
  readonly elementDisposable: DisposableStore;
39
40
  readonly disposables: IDisposable;
40
41
  }
41
42
  export interface IAgentSessionRendererOptions {
43
+ readonly disableHover?: boolean;
42
44
  getHoverPosition(): HoverPosition;
43
45
  }
44
46
  export declare class AgentSessionRenderer extends Disposable implements ICompressibleTreeRenderer<IAgentSession, FuzzyScore, IAgentSessionItemTemplate> {
@@ -88,7 +90,7 @@ export declare class AgentSessionSectionRenderer implements ICompressibleTreeRen
88
90
  disposeTemplate(templateData: IAgentSessionSectionTemplate): void;
89
91
  }
90
92
  export declare class AgentSessionsListDelegate implements IListVirtualDelegate<AgentSessionListItem> {
91
- static readonly ITEM_HEIGHT = 52;
93
+ static readonly ITEM_HEIGHT = 54;
92
94
  static readonly SECTION_HEIGHT = 26;
93
95
  getHeight(element: AgentSessionListItem): number;
94
96
  getTemplateId(element: AgentSessionListItem): string;
@@ -146,7 +148,6 @@ export declare class AgentSessionsDataSource implements IAsyncDataSource<IAgentS
146
148
  private groupSessionsByDate;
147
149
  }
148
150
  export declare const AgentSessionSectionLabels: {
149
- inProgress: string;
150
151
  today: string;
151
152
  yesterday: string;
152
153
  week: string;
@@ -155,6 +156,7 @@ export declare const AgentSessionSectionLabels: {
155
156
  more: string;
156
157
  };
157
158
  export declare function groupAgentSessionsByDate(sessions: IAgentSession[]): Map<AgentSessionSection, IAgentSessionSection>;
159
+ export declare function sessionDateFromNow(sessionTime: number): string;
158
160
  export declare class AgentSessionsIdentityProvider implements IIdentityProvider<IAgentSessionsModel | AgentSessionListItem> {
159
161
  getId(element: IAgentSessionsModel | AgentSessionListItem): string;
160
162
  getGroupId(element: IAgentSessionsModel | AgentSessionListItem): number | NotSelectableGroupIdType;