@codingame/monaco-vscode-katex-common 27.0.0 → 28.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 (181) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +2 -0
  3. package/vscode/src/vs/platform/actions/browser/buttonbar.js +2 -2
  4. package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.d.ts +30 -2
  5. package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.js +1 -0
  6. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +15 -15
  7. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +17 -11
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +5 -0
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +90 -43
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
  12. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.d.ts +26 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +106 -0
  14. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +8 -8
  15. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +6 -0
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +63 -10
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +1 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +13 -10
  19. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +2 -2
  20. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +28 -2
  21. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +133 -28
  22. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +69 -0
  23. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +55 -46
  24. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +10 -10
  25. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +38 -37
  26. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  27. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +5 -5
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +1 -1
  31. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +2 -2
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +72 -57
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +4 -4
  35. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.d.ts +1 -16
  36. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +4 -110
  37. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  38. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.d.ts +1 -1
  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.d.ts +1 -1
  41. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  42. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +1 -1
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.d.ts +1 -1
  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 +1 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.d.ts +1 -1
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.d.ts +1 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.d.ts +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.d.ts +1 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +59 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.js +29 -0
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.d.ts +1 -1
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +2 -2
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.d.ts +1 -1
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.d.ts +1 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorContentPart.d.ts +1 -1
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.d.ts +1 -1
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.d.ts +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +3 -3
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +13 -13
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +1 -1
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +8 -6
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownTableScrolling.d.ts +15 -0
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownTableScrolling.js +55 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.d.ts +1 -1
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +6 -6
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.d.ts +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +1 -1
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +6 -4
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.d.ts +1 -1
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +26 -6
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +290 -126
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.d.ts +1 -1
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.d.ts +1 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +9 -7
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.d.ts +22 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +263 -0
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +1 -1
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +6 -6
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +5 -5
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.d.ts +1 -1
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.d.ts +1 -1
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +1 -1
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +22 -13
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +12 -18
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +1 -1
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +2 -2
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.d.ts +3 -13
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +6 -260
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.d.ts +1 -1
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.d.ts +1 -1
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +14 -14
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +17 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +129 -117
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTipContent.css +0 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +1 -1
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +1 -1
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.d.ts +1 -1
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +1 -1
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.d.ts +8 -1
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +56 -3
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.d.ts +5 -1
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +20 -4
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatResultListSubPart.d.ts +1 -1
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.d.ts +1 -1
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +1 -1
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +15 -15
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +43 -1
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +42 -41
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +2 -4
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +14 -14
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +1 -1
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.d.ts +1 -1
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +3 -3
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +1 -1
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.d.ts +1 -1
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.d.ts +1 -1
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +4 -2
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +61 -39
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.js +7 -8
  136. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +1 -10
  137. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +81 -191
  138. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  139. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +31 -17
  140. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +334 -181
  141. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.js +7 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +3 -0
  144. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +51 -55
  145. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +104 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +127 -0
  147. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +5 -5
  148. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +2 -1
  149. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +16 -9
  150. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +2 -1
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +22 -0
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +213 -0
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +1 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +10 -16
  155. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +6 -4
  156. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +174 -10
  157. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatViewWelcome.css +2 -12
  158. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +12 -16
  159. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +1 -0
  160. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +5 -1
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +36 -50
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageWidget.css +19 -4
  163. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +22 -6
  164. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +15 -15
  165. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +3 -1
  166. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +24 -4
  167. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +3 -3
  168. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +5 -5
  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 +2 -2
  172. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatEditorAffordance.css +1 -1
  173. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +3 -3
  174. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +1 -1
  175. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +38 -46
  176. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  177. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  178. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  179. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  180. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  181. package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.js +6 -10
@@ -24,6 +24,8 @@ export interface IAgentSessionsControlOptions extends IAgentSessionsSorterOption
24
24
  readonly filter: IAgentSessionsFilter;
25
25
  readonly source: string;
26
26
  readonly disableHover?: boolean;
27
+ readonly showIsolationIcon?: boolean;
28
+ readonly enableApprovalRow?: boolean;
27
29
  getHoverPosition(): HoverPosition;
28
30
  trackActiveEditorSession(): boolean;
29
31
  collapseOlderSections?(): boolean;
@@ -45,6 +47,7 @@ export declare class AgentSessionsControl extends Disposable implements IAgentSe
45
47
  private readonly editorService;
46
48
  private sessionsContainer;
47
49
  get element(): HTMLElement | undefined;
50
+ private emptyFilterMessage;
48
51
  private sessionsList;
49
52
  private sessionsListFindIsOpen;
50
53
  private readonly updateSessionsListThrottler;
@@ -58,7 +61,10 @@ export declare class AgentSessionsControl extends Disposable implements IAgentSe
58
61
  constructor(container: HTMLElement, options: IAgentSessionsControlOptions, contextMenuService: IContextMenuService, contextKeyService: IContextKeyService, instantiationService: IInstantiationService, chatSessionsService: IChatSessionsService, commandService: ICommandService, menuService: IMenuService, agentSessionsService: IAgentSessionsService, telemetryService: ITelemetryService, editorService: IEditorService);
59
62
  private registerListeners;
60
63
  private revealAndFocusActiveEditorSession;
64
+ private create;
65
+ private createEmptyFilterMessage;
61
66
  private createList;
67
+ private updateEmpty;
62
68
  private hasTodaySessions;
63
69
  private openAgentSession;
64
70
  private showContextMenu;
@@ -5,9 +5,13 @@ import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbenc
5
5
  import { IContextMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
6
6
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
7
7
  import { WorkbenchCompressibleAsyncDataTree } from '@codingame/monaco-vscode-api/vscode/vs/platform/list/browser/listService';
8
- import { append, $, EventHelper } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
8
+ import { append, $, hide, addDisposableListener, EventType, EventHelper, setVisibility } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
9
+ import { StandardKeyboardEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/keyboardEvent';
10
+ import { KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
11
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
9
12
  import { isAgentSessionSection, AgentSessionSection, isAgentSession } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel';
10
- import { AgentSessionsSorter, AgentSessionsListDelegate, AgentSessionsCompressionDelegate, AgentSessionRenderer, AgentSessionSectionRenderer, AgentSessionsDataSource, AgentSessionsKeyboardNavigationLabelProvider, AgentSessionsIdentityProvider, AgentSessionsDragAndDrop, AgentSessionsAccessibilityProvider } from './agentSessionsViewer.js';
13
+ import { AgentSessionsSorter, AgentSessionRenderer, AgentSessionsDataSource, AgentSessionsListDelegate, AgentSessionsCompressionDelegate, AgentSessionSectionRenderer, AgentSessionsKeyboardNavigationLabelProvider, AgentSessionsIdentityProvider, AgentSessionsDragAndDrop, AgentSessionsAccessibilityProvider } from './agentSessionsViewer.js';
14
+ import { AgentSessionApprovalModel } from './agentSessionApprovalModel.js';
11
15
  import { MenuId } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
12
16
  import { IMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions.service';
13
17
  import { IChatSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatSessionsService.service';
@@ -64,7 +68,7 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
64
68
  this.focusedAgentSessionReadContextKey = ChatContextKeys.isReadAgentSession.bindTo(this.contextKeyService);
65
69
  this.focusedAgentSessionTypeContextKey = ChatContextKeys.agentSessionType.bindTo(this.contextKeyService);
66
70
  this.hasMultipleAgentSessionsSelectedContextKey = ChatContextKeys.hasMultipleAgentSessionsSelected.bindTo(this.contextKeyService);
67
- this.createList(this.container);
71
+ this.create(this.container);
68
72
  this.registerListeners();
69
73
  }
70
74
  registerListeners() {
@@ -90,8 +94,32 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
90
94
  this.sessionsList.setSelection([matchingSession]);
91
95
  }
92
96
  }
93
- createList(container) {
97
+ create(container) {
94
98
  this.sessionsContainer = append(container, $(".agent-sessions-viewer"));
99
+ this.createEmptyFilterMessage(this.sessionsContainer);
100
+ this.createList(this.sessionsContainer);
101
+ }
102
+ createEmptyFilterMessage(container) {
103
+ this.emptyFilterMessage = append(container, $(".agent-sessions-empty-filter-message"));
104
+ hide(this.emptyFilterMessage);
105
+ const span = append(this.emptyFilterMessage, $("span"));
106
+ span.textContent = `${( localize(5109, "No matching sessions"))} - `;
107
+ const link = append(this.emptyFilterMessage, $("span.reset-filter-link"));
108
+ link.textContent = ( localize(5110, "Reset Filter"));
109
+ link.tabIndex = 0;
110
+ link.setAttribute("role", "button");
111
+ this._register(
112
+ addDisposableListener(link, EventType.CLICK, () => this.options.filter.reset())
113
+ );
114
+ this._register(addDisposableListener(link, EventType.KEY_DOWN, e => {
115
+ const event = ( new StandardKeyboardEvent(e));
116
+ if (event.keyCode === KeyCode.Enter || event.keyCode === KeyCode.Space) {
117
+ EventHelper.stop(e, true);
118
+ this.options.filter.reset();
119
+ }
120
+ }));
121
+ }
122
+ createList(container) {
95
123
  const collapseByDefault = element => {
96
124
  if (isAgentSessionSection(element)) {
97
125
  if (element.section === AgentSessionSection.More && !this.options.filter.getExcludes().read) {
@@ -117,16 +145,22 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
117
145
  return false;
118
146
  };
119
147
  const sorter = ( new AgentSessionsSorter(this.options));
148
+ const approvalModel = this.options.enableApprovalRow ? this._register(this.instantiationService.createInstance(AgentSessionApprovalModel)) : undefined;
149
+ const sessionRenderer = this._register(
150
+ this.instantiationService.createInstance(AgentSessionRenderer, this.options, approvalModel)
151
+ );
152
+ const sessionFilter = this._register(( new AgentSessionsDataSource(this.options.filter, sorter)));
120
153
  const list = this.sessionsList = this._register(this.instantiationService.createInstance(
121
154
  WorkbenchCompressibleAsyncDataTree,
122
155
  "AgentSessionsView",
123
- this.sessionsContainer,
124
- ( new AgentSessionsListDelegate()),
156
+ container,
157
+ ( new AgentSessionsListDelegate(approvalModel)),
125
158
  ( new AgentSessionsCompressionDelegate()),
126
- [this._register(
127
- this.instantiationService.createInstance(AgentSessionRenderer, this.options)
128
- ), this.instantiationService.createInstance(AgentSessionSectionRenderer)],
129
- ( new AgentSessionsDataSource(this.options.filter, sorter)),
159
+ [
160
+ sessionRenderer,
161
+ this.instantiationService.createInstance(AgentSessionSectionRenderer)
162
+ ],
163
+ sessionFilter,
130
164
  {
131
165
  accessibilityProvider: ( new AgentSessionsAccessibilityProvider()),
132
166
  dnd: this.instantiationService.createInstance(AgentSessionsDragAndDrop),
@@ -143,6 +177,14 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
143
177
  }
144
178
  ));
145
179
  ChatContextKeys.agentSessionsViewerFocused.bindTo(list.contextKeyService);
180
+ this._register(sessionRenderer.onDidChangeItemHeight(session => {
181
+ if (list.hasNode(session)) {
182
+ list.updateElementHeight(session, undefined);
183
+ }
184
+ }));
185
+ this._register(sessionFilter.onDidGetChildren(count => {
186
+ this.updateEmpty(count === 0);
187
+ }));
146
188
  const model = this.agentSessionsService.model;
147
189
  this._register(this.options.filter.onDidChange(async () => {
148
190
  if (this.visible) {
@@ -190,6 +232,17 @@ let AgentSessionsControl = class AgentSessionsControl extends Disposable {
190
232
  this.updateSectionCollapseStates();
191
233
  }));
192
234
  }
235
+ updateEmpty(isEmpty) {
236
+ if (!this.emptyFilterMessage || !this.sessionsList) {
237
+ return;
238
+ }
239
+ const model = this.agentSessionsService.model;
240
+ const hasSessionsInModel = model.sessions.length > 0;
241
+ const isFilterActive = !this.options.filter.isDefault();
242
+ const showEmpty = hasSessionsInModel && isEmpty && isFilterActive;
243
+ setVisibility(showEmpty, this.emptyFilterMessage);
244
+ setVisibility(!showEmpty, this.sessionsList.getHTMLElement());
245
+ }
193
246
  hasTodaySessions() {
194
247
  const startOfToday = ( new Date()).setHours(0, 0, 0, 0);
195
248
  return ( this.agentSessionsService.model.sessions.some(
@@ -52,4 +52,5 @@ export declare class AgentSessionsFilter extends Disposable implements Required<
52
52
  getExcludes(): IAgentSessionsFilterExcludes;
53
53
  exclude(session: IAgentSession): boolean;
54
54
  notifyResults(count: number): void;
55
+ reset(): void;
55
56
  }
@@ -166,16 +166,16 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
166
166
  registerStateActions(disposables, menuId) {
167
167
  const states = [{
168
168
  id: ChatSessionStatus.Completed,
169
- label: ( localize(5089, "Completed"))
169
+ label: ( localize(5111, "Completed"))
170
170
  }, {
171
171
  id: ChatSessionStatus.InProgress,
172
- label: ( localize(5090, "In Progress"))
172
+ label: ( localize(5112, "In Progress"))
173
173
  }, {
174
174
  id: ChatSessionStatus.NeedsInput,
175
- label: ( localize(5091, "Input Needed"))
175
+ label: ( localize(5113, "Input Needed"))
176
176
  }, {
177
177
  id: ChatSessionStatus.Failed,
178
- label: ( localize(5092, "Failed"))
178
+ label: ( localize(5114, "Failed"))
179
179
  }];
180
180
  const that = this;
181
181
  let counter = 0;
@@ -212,7 +212,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
212
212
  constructor() {
213
213
  super({
214
214
  id: `agentSessions.filter.toggleExcludeArchived.${menuId.id.toLowerCase()}`,
215
- title: ( localize(5093, "Archived")),
215
+ title: ( localize(5115, "Archived")),
216
216
  menu: {
217
217
  id: menuId,
218
218
  group: "3_props",
@@ -235,7 +235,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
235
235
  constructor() {
236
236
  super({
237
237
  id: `agentSessions.filter.toggleExcludeRead.${menuId.id.toLowerCase()}`,
238
- title: ( localize(5094, "Read")),
238
+ title: ( localize(5116, "Read")),
239
239
  menu: {
240
240
  id: menuId,
241
241
  group: "3_props",
@@ -258,7 +258,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
258
258
  constructor() {
259
259
  super({
260
260
  id: `agentSessions.filter.resetExcludes.${menuId.id.toLowerCase()}`,
261
- title: ( localize(5095, "Reset")),
261
+ title: ( localize(5117, "Reset")),
262
262
  menu: {
263
263
  id: menuId,
264
264
  group: "4_reset",
@@ -267,9 +267,7 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
267
267
  });
268
268
  }
269
269
  run() {
270
- that.storeExcludes({
271
- ...DEFAULT_EXCLUDES
272
- });
270
+ that.reset();
273
271
  }
274
272
  }));
275
273
  }
@@ -304,6 +302,11 @@ let AgentSessionsFilter = class AgentSessionsFilter extends Disposable {
304
302
  notifyResults(count) {
305
303
  this.options.notifyResults?.(count);
306
304
  }
305
+ reset() {
306
+ this.storeExcludes({
307
+ ...DEFAULT_EXCLUDES
308
+ });
309
+ }
307
310
  };
308
311
  AgentSessionsFilter = ( __decorate([( __param(1, IChatSessionsService)), ( __param(2, IStorageService))], AgentSessionsFilter));
309
312
 
@@ -72,7 +72,7 @@ async function openSessionDefault(accessor, session, openOptions) {
72
72
  target = ChatViewPaneTarget;
73
73
  }
74
74
  const isLocalChatSession = session.resource.scheme === Schemas.vscodeChatEditor || session.resource.scheme === Schemas.vscodeLocalChatSession;
75
- if (!isLocalChatSession && !(await chatSessionsService.canResolveChatSession(session.resource))) {
75
+ if (!isLocalChatSession && !(await chatSessionsService.canResolveChatSession(session.resource.scheme))) {
76
76
  target = openOptions?.sideBySide ? SIDE_GROUP : ACTIVE_GROUP;
77
77
  options = {
78
78
  ...options,
@@ -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(5097, "Failed to open chat session: {0}", toErrorMessage(error))));
84
+ notificationService.error(( localize(5119, "Failed to open chat session: {0}", toErrorMessage(error))));
85
85
  return undefined;
86
86
  }
87
87
  }
@@ -20,6 +20,7 @@ import { MenuWorkbenchToolBar } from "@codingame/monaco-vscode-api/vscode/vs/pla
20
20
  import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
21
21
  import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
22
22
  import { AgentSessionsGrouping } from "./agentSessionsFilter.js";
23
+ import { AgentSessionApprovalModel } from "./agentSessionApprovalModel.js";
23
24
  export type AgentSessionListItem = IAgentSession | IAgentSessionSection;
24
25
  interface IAgentSessionItemTemplate {
25
26
  readonly element: HTMLElement;
@@ -35,25 +36,36 @@ interface IAgentSessionItemTemplate {
35
36
  readonly badge: HTMLElement;
36
37
  readonly separator: HTMLElement;
37
38
  readonly description: HTMLElement;
39
+ readonly approvalRow: HTMLElement;
40
+ readonly approvalLabel: HTMLElement;
41
+ readonly approvalButtonContainer: HTMLElement;
38
42
  readonly contextKeyService: IContextKeyService;
39
43
  readonly elementDisposable: DisposableStore;
40
44
  readonly disposables: IDisposable;
41
45
  }
42
46
  export interface IAgentSessionRendererOptions {
43
47
  readonly disableHover?: boolean;
48
+ readonly showIsolationIcon?: boolean;
44
49
  getHoverPosition(): HoverPosition;
45
50
  }
46
51
  export declare class AgentSessionRenderer extends Disposable implements ICompressibleTreeRenderer<IAgentSession, FuzzyScore, IAgentSessionItemTemplate> {
47
52
  private readonly options;
53
+ private readonly _approvalModel;
48
54
  private readonly markdownRendererService;
49
55
  private readonly productService;
50
56
  private readonly hoverService;
51
57
  private readonly instantiationService;
52
58
  private readonly contextKeyService;
53
59
  static readonly TEMPLATE_ID = "agent-session";
60
+ static readonly APPROVAL_ROW_MAX_LINES = 3;
61
+ private static readonly _APPROVAL_ROW_LINE_HEIGHT;
62
+ private static readonly _APPROVAL_ROW_OVERHEAD;
63
+ static getApprovalRowHeight(label: string): number;
54
64
  readonly templateId = "agent-session";
55
65
  private readonly sessionHover;
56
- constructor(options: IAgentSessionRendererOptions, markdownRendererService: IMarkdownRendererService, productService: IProductService, hoverService: IHoverService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService);
66
+ private readonly _onDidChangeItemHeight;
67
+ readonly onDidChangeItemHeight: Event<IAgentSession>;
68
+ constructor(options: IAgentSessionRendererOptions, _approvalModel: AgentSessionApprovalModel | undefined, markdownRendererService: IMarkdownRendererService, productService: IProductService, hoverService: IHoverService, instantiationService: IInstantiationService, contextKeyService: IContextKeyService);
57
69
  renderTemplate(container: HTMLElement): IAgentSessionItemTemplate;
58
70
  renderElement(session: ITreeNode<IAgentSession, FuzzyScore>, index: number, template: IAgentSessionItemTemplate, details?: ITreeElementRenderDetails): void;
59
71
  private renderBadge;
@@ -65,6 +77,7 @@ export declare class AgentSessionRenderer extends Disposable implements ICompres
65
77
  private renderStatus;
66
78
  private renderHover;
67
79
  private buildHoverContent;
80
+ private renderApprovalRow;
68
81
  renderCompressedElements(node: ITreeNode<ICompressedTreeNode<IAgentSession>, FuzzyScore>, index: number, templateData: IAgentSessionItemTemplate, details?: ITreeElementRenderDetails): void;
69
82
  disposeElement(element: ITreeNode<IAgentSession, FuzzyScore>, index: number, template: IAgentSessionItemTemplate, details?: ITreeElementRenderDetails): void;
70
83
  disposeTemplate(templateData: IAgentSessionItemTemplate): void;
@@ -90,9 +103,12 @@ export declare class AgentSessionSectionRenderer implements ICompressibleTreeRen
90
103
  disposeTemplate(templateData: IAgentSessionSectionTemplate): void;
91
104
  }
92
105
  export declare class AgentSessionsListDelegate implements IListVirtualDelegate<AgentSessionListItem> {
106
+ private readonly _approvalModel?;
93
107
  static readonly ITEM_HEIGHT = 54;
94
108
  static readonly SECTION_HEIGHT = 26;
109
+ constructor(_approvalModel?: AgentSessionApprovalModel | undefined);
95
110
  getHeight(element: AgentSessionListItem): number;
111
+ hasDynamicHeight(element: AgentSessionListItem): boolean;
96
112
  getTemplateId(element: AgentSessionListItem): string;
97
113
  }
98
114
  export declare class AgentSessionsAccessibilityProvider implements IListAccessibilityProvider<AgentSessionListItem> {
@@ -135,11 +151,21 @@ export interface IAgentSessionsFilter {
135
151
  * Get the current filter excludes for display in the UI.
136
152
  */
137
153
  getExcludes(): IAgentSessionsFilterExcludes;
154
+ /**
155
+ * Whether the filter is at its default state (no custom filters applied).
156
+ */
157
+ isDefault(): boolean;
158
+ /**
159
+ * Reset the filter to its default state.
160
+ */
161
+ reset(): void;
138
162
  }
139
- export declare class AgentSessionsDataSource implements IAsyncDataSource<IAgentSessionsModel, AgentSessionListItem> {
163
+ export declare class AgentSessionsDataSource extends Disposable implements IAsyncDataSource<IAgentSessionsModel, AgentSessionListItem> {
140
164
  private readonly filter;
141
165
  private readonly sorter;
142
166
  private static readonly CAPPED_SESSIONS_LIMIT;
167
+ private readonly _onDidGetChildren;
168
+ readonly onDidGetChildren: Event<number>;
143
169
  constructor(filter: IAgentSessionsFilter | undefined, sorter: ITreeSorter<IAgentSession>);
144
170
  hasChildren(element: IAgentSessionsModel | AgentSessionListItem): boolean;
145
171
  getChildren(element: IAgentSessionsModel | AgentSessionListItem): Iterable<AgentSessionListItem>;