@codingame/monaco-vscode-katex-common 33.0.9 → 34.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (255) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/base/browser/ui/pixelSpinner/pixelSpinner.css +169 -0
  3. package/vscode/src/vs/base/browser/ui/pixelSpinner/pixelSpinner.d.ts +28 -0
  4. package/vscode/src/vs/base/browser/ui/pixelSpinner/pixelSpinner.js +61 -0
  5. package/vscode/src/vs/platform/actions/browser/actionWidgetDropdownActionViewItem.d.ts +1 -1
  6. package/vscode/src/vs/platform/actions/browser/actionWidgetDropdownActionViewItem.js +1 -1
  7. package/vscode/src/vs/platform/actions/browser/buttonbar.js +2 -2
  8. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +18 -17
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +9 -9
  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 +40 -38
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +11 -11
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +14 -14
  15. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.d.ts +1 -16
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.contribution.js +4 -48
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.d.ts +16 -18
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostChatInputPicker.js +81 -69
  19. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.d.ts +1 -3
  20. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostGenericConfigChips.js +5 -22
  21. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionUri.d.ts +2 -0
  22. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionUri.js +21 -0
  23. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/media/agentHostChatInputPicker.css +18 -28
  24. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +8 -8
  25. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +2 -2
  26. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +9 -9
  27. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
  28. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +30 -30
  29. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +13 -2
  30. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +177 -80
  31. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +15 -15
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +34 -34
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.d.ts +7 -2
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +69 -5
  35. package/vscode/src/vs/workbench/contrib/chat/browser/tools/chatToolRiskAssessmentService.js +3 -3
  36. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +13 -13
  37. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  38. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +10 -10
  39. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +25 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +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.js +1 -1
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.d.ts +2 -1
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.js +4 -2
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +2 -2
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.d.ts +93 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatEditPillElement.js +140 -0
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExternalEditContentPart.d.ts +46 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExternalEditContentPart.js +134 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +13 -13
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +2 -15
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +49 -117
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +30 -30
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +2 -0
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +47 -4
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +3 -1
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +52 -51
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +18 -14
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +23 -13
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +13 -11
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.d.ts +15 -1
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +87 -11
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +21 -4
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +102 -35
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +17 -17
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +2 -2
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +14 -14
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCodeBlockPill.css +1 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +22 -1
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +22 -0
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +6 -2
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +1 -1
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +21 -2
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.js +2 -2
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +6 -6
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.js +1 -1
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +35 -18
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +1 -0
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +62 -35
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +8 -8
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +6 -6
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.d.ts +2 -2
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +15 -12
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.d.ts +1 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +10 -3
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.d.ts +2 -2
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.js +13 -15
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/toolRiskBadgeWidget.js +4 -4
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +19 -1
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +154 -59
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +6 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +21 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatOptions.d.ts +4 -3
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatOptions.js +6 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +17 -2
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +113 -23
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatGoalBannerWidget.d.ts +21 -0
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatGoalBannerWidget.js +64 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.d.ts +10 -1
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationService.js +7 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.d.ts +11 -1
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputNotificationWidget.js +18 -7
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +26 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +361 -66
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +2 -2
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.js +4 -4
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatusActionViewItem.d.ts +30 -0
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputStatusActionViewItem.js +147 -0
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +11 -5
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +133 -87
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatPhoneInputPresenter.js +2 -4
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +4 -2
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +13 -7
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatGoalBannerWidget.css +81 -0
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatInputNotificationWidget.css +32 -18
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +6 -6
  136. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +2 -2
  137. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +39 -40
  138. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +23 -2
  139. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +66 -11
  140. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -6
  141. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +373 -32
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +7 -7
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +5 -3
  144. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +18 -0
  145. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +7 -7
  146. package/vscode/src/vs/workbench/contrib/chat/common/chatPermissionWarnings.js +6 -6
  147. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +18 -18
  148. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService.d.ts +12 -2
  149. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatWidgetHistoryService.js +54 -11
  150. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +3 -3
  151. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
  152. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
  153. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +30 -30
  154. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  155. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  156. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  157. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  158. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
  159. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
  160. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  161. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
  162. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
  163. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  164. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  165. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  166. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.d.ts +0 -76
  167. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +0 -191
  168. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +0 -50
  169. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +0 -138
  170. package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +0 -12
  171. package/vscode/src/vs/platform/networkFilter/common/settings.js +0 -14
  172. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +0 -18
  173. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +0 -13
  174. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +0 -87
  175. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +0 -10
  176. package/vscode/src/vs/workbench/contrib/terminal/terminalContribChatExports.d.ts +0 -2
  177. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +0 -2
  178. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +0 -41
  179. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +0 -24
  180. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +0 -26
  181. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +0 -142
  182. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +0 -52
  183. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +0 -232
  184. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +0 -65
  185. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +0 -225
  186. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +0 -27
  187. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +0 -143
  188. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +0 -37
  189. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +0 -205
  190. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +0 -40
  191. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +0 -174
  192. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +0 -7
  193. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +0 -43
  194. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +0 -52
  195. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +0 -260
  196. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +0 -44
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +0 -98
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +0 -42
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +0 -225
  200. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +0 -31
  201. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +0 -392
  202. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +0 -45
  203. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +0 -243
  204. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +0 -53
  205. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +0 -10
  206. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +0 -20
  207. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +0 -310
  208. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +0 -27
  209. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +0 -177
  210. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +0 -11
  211. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +0 -33
  212. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +0 -41
  213. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +0 -19
  214. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +0 -37
  215. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +0 -19
  216. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +0 -37
  217. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +0 -19
  218. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +0 -44
  219. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +0 -13
  220. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +0 -22
  221. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +0 -42
  222. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +0 -102
  223. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +0 -5
  224. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +0 -27
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +0 -14
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +0 -29
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +0 -8
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +0 -33
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +0 -24
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +0 -15
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +0 -53
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +0 -177
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +0 -512
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +0 -42
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +0 -23
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +0 -9
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +0 -258
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +0 -2623
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +0 -22
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +0 -43
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +0 -17
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +0 -118
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.d.ts +0 -22
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.js +0 -44
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +0 -1
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +0 -58
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +0 -223
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxCommandRules.d.ts +0 -31
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxCommandRules.js +0 -49
  250. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxReadAllowList.d.ts +0 -18
  251. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxReadAllowList.js +0 -302
  252. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxRuntimeConfigurationPerOperation.d.ts +0 -7
  253. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxRuntimeConfigurationPerOperation.js +0 -118
  254. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +0 -114
  255. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +0 -788
@@ -2,6 +2,7 @@
2
2
  import { registerCss } from '@codingame/monaco-vscode-api/css';
3
3
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
4
4
  import { h, addDisposableListener, EventType, DisposableResizeObserver, clearNode, getActiveWindow, getComputedStyle, createTextNode, createElement, $, EventHelper } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
5
+ import { createPixelSpinner } from '../../../../../../../base/browser/ui/pixelSpinner/pixelSpinner.js';
5
6
  import { MarkdownString, isMarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
6
7
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
7
8
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
@@ -94,11 +95,13 @@ let TerminalCommandDecoration = class TerminalCommandDecoration extends Disposab
94
95
  super();
95
96
  this._options = _options;
96
97
  this._hoverService = _hoverService;
98
+ this._hoverRegistered = false;
97
99
  const decorationElements = h("span.chat-terminal-command-decoration@decoration", {
98
100
  role: "img",
99
101
  tabIndex: 0
100
102
  });
101
103
  this._element = decorationElements.decoration;
104
+ createPixelSpinner(this._element);
102
105
  this._attachElementToContainer();
103
106
  }
104
107
  _attachElementToContainer() {
@@ -115,10 +118,12 @@ let TerminalCommandDecoration = class TerminalCommandDecoration extends Disposab
115
118
  container.insertBefore(decoration, container.firstElementChild ?? null);
116
119
  }
117
120
  }
118
- this._register(this._hoverService.setupDelayedHover(decoration, () => ({
119
- content: this._getHoverText()
120
- })));
121
- this._attachInteractionHandlers(decoration);
121
+ if (!this._hoverRegistered) {
122
+ this._hoverRegistered = true;
123
+ this._register(this._hoverService.setupDelayedHover(decoration, () => ({
124
+ content: this._getHoverText()
125
+ })));
126
+ }
122
127
  }
123
128
  _getHoverText() {
124
129
  const command = this._options.getResolvedCommand();
@@ -153,12 +158,18 @@ let TerminalCommandDecoration = class TerminalCommandDecoration extends Disposab
153
158
  }
154
159
  const decorationState = getTerminalCommandDecorationState(command, storedState);
155
160
  const tooltip = getTerminalCommandDecorationTooltip(command, storedState);
161
+ const isRunning = this._options.getIsRunning();
156
162
  decoration.className = `chat-terminal-command-decoration ${DecorationSelector.CommandDecoration}`;
157
- decoration.classList.add(DecorationSelector.Codicon);
158
- for (const className of decorationState.classNames) {
159
- decoration.classList.add(className);
163
+ if (isRunning) {
164
+ const nonIconClasses = decorationState.classNames.filter(c => c !== DecorationSelector.Codicon && !c.startsWith("codicon-"));
165
+ decoration.classList.add("chat-terminal-running-spinner", ...nonIconClasses);
166
+ } else {
167
+ decoration.classList.add(
168
+ DecorationSelector.Codicon,
169
+ ...decorationState.classNames,
170
+ ...ThemeIcon.asClassNameArray(decorationState.icon)
171
+ );
160
172
  }
161
- decoration.classList.add(...ThemeIcon.asClassNameArray(decorationState.icon));
162
173
  const isInteractive = !decoration.classList.contains(DecorationSelector.Default);
163
174
  decoration.tabIndex = isInteractive ? 0 : -1;
164
175
  if (isInteractive) {
@@ -173,12 +184,6 @@ let TerminalCommandDecoration = class TerminalCommandDecoration extends Disposab
173
184
  decoration.removeAttribute("aria-label");
174
185
  }
175
186
  }
176
- _attachInteractionHandlers(decoration) {
177
- if (this._interactionElement === decoration) {
178
- return;
179
- }
180
- this._interactionElement = decoration;
181
- }
182
187
  };
183
188
  TerminalCommandDecoration = ( __decorate([( __param(1, IHoverService))], TerminalCommandDecoration));
184
189
  let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends BaseChatToolInvocationSubPart {
@@ -247,7 +252,8 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
247
252
  terminalData: this._terminalData,
248
253
  getCommandBlock: () => elements.commandBlock,
249
254
  getIconElement: () => undefined,
250
- getResolvedCommand: () => this._getResolvedCommand()
255
+ getResolvedCommand: () => this._getResolvedCommand(),
256
+ getIsRunning: () => this._isInvocationRunning()
251
257
  }));
252
258
  const displayCommand = terminalData.presentationOverrides?.commandLine ?? command;
253
259
  const displayLanguage = terminalData.presentationOverrides?.language ?? terminalData.language;
@@ -327,7 +333,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
327
333
  const markdownOptions = {
328
334
  codeBlockRenderOptions,
329
335
  accessibilityOptions: pastTenseMessage ? {
330
- statusMessage: ( localize(7416, "{0}", stripIcons(pastTenseMessage)))
336
+ statusMessage: ( localize(7555, "{0}", stripIcons(pastTenseMessage)))
331
337
  } : undefined
332
338
  };
333
339
  this.markdownPart = this._register(_instantiationService.createInstance(
@@ -349,7 +355,14 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
349
355
  this.getIcon(),
350
356
  terminalData.autoApproveInfo
351
357
  ));
358
+ progressPart.domNode.classList.add("chat-terminal-progress-row");
352
359
  this._decoration.update();
360
+ if (toolInvocation.kind === "toolInvocation") {
361
+ this._register(autorun(reader => {
362
+ toolInvocation.state.read(reader);
363
+ this._decoration.update();
364
+ }));
365
+ }
353
366
  const terminalToolsInThinking = this._configurationService.getValue(ChatConfiguration.TerminalToolsInThinking);
354
367
  const isSimpleTerminal = this._configurationService.getValue(ChatConfiguration.SimpleTerminalCollapsible);
355
368
  const requiresConfirmation = toolInvocation.kind === "toolInvocation" && IChatToolInvocation.getConfirmationMessages(toolInvocation);
@@ -538,12 +551,12 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
538
551
  this._actionBarActions.clear();
539
552
  const actions = [];
540
553
  if (this._toolbarCanContinueInBackground) {
541
- const action = ( new Action(TerminalContribCommandId.ContinueInBackground, ( localize(7417, "Continue in Background")), ThemeIcon.asClassName(Codicon.debugContinue), true, () => this.continueInBackground()));
554
+ const action = ( new Action(TerminalContribCommandId.ContinueInBackground, ( localize(7556, "Continue in Background")), ThemeIcon.asClassName(Codicon.debugContinue), true, () => this.continueInBackground()));
542
555
  this._actionBarActions.add(action);
543
556
  actions.push(action);
544
557
  }
545
558
  if (this._toolbarHasInstance) {
546
- const focusLabel = this._toolbarIsHiddenTerminal ? ( localize(7418, "Show and Focus Terminal")) : ( localize(7419, "Focus Terminal"));
559
+ const focusLabel = this._toolbarIsHiddenTerminal ? ( localize(7557, "Show and Focus Terminal")) : ( localize(7558, "Focus Terminal"));
547
560
  const action = ( new Action(
548
561
  TerminalContribCommandId.FocusChatInstanceAction,
549
562
  focusLabel,
@@ -556,7 +569,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
556
569
  }
557
570
  if (this._toolbarHasOutput && !this._usesCollapsibleWrapper) {
558
571
  const toggleIcon = this._toolbarOutputExpanded ? Codicon.chevronDown : Codicon.chevronRight;
559
- const toggleLabel = this._toolbarOutputExpanded ? ( localize(7420, "Hide Output")) : ( localize(7421, "Show Output"));
572
+ const toggleLabel = this._toolbarOutputExpanded ? ( localize(7559, "Hide Output")) : ( localize(7560, "Show Output"));
560
573
  const action = ( new Action(
561
574
  TerminalContribCommandId.ToggleChatTerminalOutput,
562
575
  toggleLabel,
@@ -579,6 +592,20 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
579
592
  }
580
593
  return this._resolveCommand(target);
581
594
  }
595
+ _isInvocationRunning() {
596
+ const commandExitCode = this._getResolvedCommand()?.exitCode;
597
+ if (commandExitCode !== undefined) {
598
+ return false;
599
+ }
600
+ const storedExitCode = this._terminalData.terminalCommandState?.exitCode;
601
+ if (storedExitCode !== undefined) {
602
+ return false;
603
+ }
604
+ if (!IChatToolInvocation.isComplete(this.toolInvocation)) {
605
+ return true;
606
+ }
607
+ return this._terminalData.isBackground === true || this._terminalData.didContinueInBackground === true;
608
+ }
582
609
  _clearCommandAssociation(options) {
583
610
  this._terminalCommandUri = undefined;
584
611
  if (options?.clearPersistentData) {
@@ -989,7 +1016,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
989
1016
  if (!commandText) {
990
1017
  return;
991
1018
  }
992
- const ariaLabel = ( localize(7422, "Terminal output for {0}", commandText));
1019
+ const ariaLabel = ( localize(7561, "Terminal output for {0}", commandText));
993
1020
  const scrollableDomNode = this._scrollableContainer.getDomNode();
994
1021
  scrollableDomNode.setAttribute("role", "region");
995
1022
  const accessibleViewHint = this._accessibleViewService.getOpenAriaHint(AccessibilityVerbositySettingId.TerminalChatOutput);
@@ -1002,26 +1029,26 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
1002
1029
  if (!commandText) {
1003
1030
  return undefined;
1004
1031
  }
1005
- const commandHeader = ( localize(7423, "Command: {0}", commandText));
1032
+ const commandHeader = ( localize(7562, "Command: {0}", commandText));
1006
1033
  if (command) {
1007
1034
  const rawOutput = command.getOutput();
1008
1035
  if (!rawOutput || rawOutput.trim().length === 0) {
1009
- return `${commandHeader}\n${( localize(7424, "No output was produced by the command."))}`;
1036
+ return `${commandHeader}\n${( localize(7563, "No output was produced by the command."))}`;
1010
1037
  }
1011
1038
  const lines = rawOutput.split("\n");
1012
1039
  return `${commandHeader}\n${lines.join("\n").trimEnd()}`;
1013
1040
  }
1014
1041
  const snapshot = this._getTerminalCommandOutput();
1015
1042
  if (!snapshot) {
1016
- return `${commandHeader}\n${( localize(7425, "Command output is no longer available."))}`;
1043
+ return `${commandHeader}\n${( localize(7564, "Command output is no longer available."))}`;
1017
1044
  }
1018
1045
  const plain = removeAnsiEscapeCodes((snapshot.text ?? ""));
1019
1046
  if (!plain.trim().length) {
1020
- return `${commandHeader}\n${( localize(7424, "No output was produced by the command."))}`;
1047
+ return `${commandHeader}\n${( localize(7563, "No output was produced by the command."))}`;
1021
1048
  }
1022
1049
  let outputText = plain.trimEnd();
1023
1050
  if (snapshot.truncated) {
1024
- outputText += `\n${( localize(7426, "Output truncated."))}`;
1051
+ outputText += `\n${( localize(7565, "Output truncated."))}`;
1025
1052
  }
1026
1053
  return `${commandHeader}\n${outputText}`;
1027
1054
  }
@@ -1133,7 +1160,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
1133
1160
  }
1134
1161
  if (!hasOutput) {
1135
1162
  if (commandFinished) {
1136
- this._showEmptyMessage(( localize(7424, "No output was produced by the command.")));
1163
+ this._showEmptyMessage(( localize(7563, "No output was produced by the command.")));
1137
1164
  }
1138
1165
  } else {
1139
1166
  this._hideEmptyMessage();
@@ -1160,7 +1187,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
1160
1187
  if (hasText) {
1161
1188
  this._hideEmptyMessage();
1162
1189
  } else {
1163
- this._showEmptyMessage(( localize(7424, "No output was produced by the command.")));
1190
+ this._showEmptyMessage(( localize(7563, "No output was produced by the command.")));
1164
1191
  }
1165
1192
  const lineCount = result?.lineCount ?? snapshot.lineCount ?? 0;
1166
1193
  this._layoutOutput(lineCount);
@@ -1169,9 +1196,9 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
1169
1196
  clearNode(this._terminalContainer);
1170
1197
  this._lastRenderedLineCount = undefined;
1171
1198
  if (!liveTerminalInstance) {
1172
- this._showEmptyMessage(( localize(7427, "Terminal is no longer available.")));
1199
+ this._showEmptyMessage(( localize(7566, "Terminal is no longer available.")));
1173
1200
  } else {
1174
- this._showEmptyMessage(( localize(7428, "Command information is not available.")));
1201
+ this._showEmptyMessage(( localize(7567, "Command information is not available.")));
1175
1202
  }
1176
1203
  }
1177
1204
  async _resolveLiveTerminal() {
@@ -1298,7 +1325,7 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
1298
1325
  hoverService,
1299
1326
  configurationService
1300
1327
  ) {
1301
- const title = isSkipped ? ( localize(7429, "Skipped {0}", commandText)) : isRunningInBackground ? ( localize(7430, "Running {0} in background", commandText)) : isComplete ? ( localize(7431, "Ran {0}", commandText)) : ( localize(7432, "Running {0}", commandText));
1328
+ const title = isSkipped ? ( localize(7568, "Skipped {0}", commandText)) : isRunningInBackground ? ( localize(7569, "Running {0} in background", commandText)) : isComplete ? ( localize(7570, "Ran {0}", commandText)) : ( localize(7571, "Running {0}", commandText));
1302
1329
  super(title, context, undefined, hoverService, configurationService);
1303
1330
  this._showLinkDisposables = this._register(( new MutableDisposable()));
1304
1331
  this._terminalContentElement = contentElement;
@@ -1323,8 +1350,8 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
1323
1350
  const labelElement = this._collapseButton.labelElement;
1324
1351
  labelElement.textContent = "";
1325
1352
  if (this._isSandboxWrapped) {
1326
- const prefixText = this._isSkipped ? ( localize(7433, "Skipped ")) : this._isComplete ? ( localize(7434, "Ran ")) : ( localize(7435, "Running "));
1327
- const suffixText = this._isRunningInBackground ? ( localize(7436, " in sandbox (background)")) : ( localize(7437, " in sandbox"));
1353
+ const prefixText = this._isSkipped ? ( localize(7572, "Skipped ")) : this._isComplete ? ( localize(7573, "Ran ")) : ( localize(7574, "Running "));
1354
+ const suffixText = this._isRunningInBackground ? ( localize(7575, " in sandbox (background)")) : ( localize(7576, " in sandbox"));
1328
1355
  labelElement.appendChild(createTextNode(prefixText));
1329
1356
  const codeElement = createElement("code");
1330
1357
  codeElement.textContent = this._commandText;
@@ -1332,14 +1359,14 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
1332
1359
  labelElement.appendChild(createTextNode(suffixText));
1333
1360
  return;
1334
1361
  }
1335
- const prefixText = this._isSkipped ? ( localize(7438, "Skipped ")) : this._isComplete ? ( localize(7439, "Ran ")) : ( localize(7440, "Running "));
1362
+ const prefixText = this._isSkipped ? ( localize(7577, "Skipped ")) : this._isComplete ? ( localize(7578, "Ran ")) : ( localize(7579, "Running "));
1336
1363
  const ranText = createTextNode(prefixText);
1337
1364
  const codeElement = createElement("code");
1338
1365
  codeElement.textContent = this._commandText;
1339
1366
  labelElement.appendChild(ranText);
1340
1367
  labelElement.appendChild(codeElement);
1341
1368
  if (this._isRunningInBackground) {
1342
- labelElement.appendChild(createTextNode(( localize(7441, " in background"))));
1369
+ labelElement.appendChild(createTextNode(( localize(7580, " in background"))));
1343
1370
  }
1344
1371
  }
1345
1372
  _updateShowLink() {
@@ -1355,7 +1382,7 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
1355
1382
  const container = $("span.chat-terminal-show-link-container");
1356
1383
  container.appendChild(createTextNode(" — "));
1357
1384
  const showLink = $("span.chat-terminal-show-link");
1358
- showLink.textContent = ( localize(7442, "Show"));
1385
+ showLink.textContent = ( localize(7581, "Show"));
1359
1386
  showLink.role = "button";
1360
1387
  showLink.tabIndex = 0;
1361
1388
  store.add(addDisposableListener(showLink, EventType.CLICK, e => {
@@ -54,7 +54,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
54
54
  this.domNode = elements.root;
55
55
  this.domNode.tabIndex = -1;
56
56
  this.domNode.setAttribute("role", "group");
57
- this.domNode.setAttribute("aria-label", ( localize(7443, "Tool confirmation carousel")));
57
+ this.domNode.setAttribute("aria-label", ( localize(7582, "Tool confirmation carousel")));
58
58
  this.collapsedTitle = elements.collapsedTitle;
59
59
  this.agentLabel = elements.agentLabel;
60
60
  this.contentContainer = elements.content;
@@ -74,7 +74,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
74
74
  small: true
75
75
  })));
76
76
  this.allowAllButton.element.classList.add("chat-tool-carousel-allow-all-button");
77
- this.allowAllButton.label = ( localize(7444, "Allow All"));
77
+ this.allowAllButton.label = ( localize(7583, "Allow All"));
78
78
  this._register(this.allowAllButton.onDidClick(() => this.allowAll()));
79
79
  this.expandContentButton = this._register(( new Button(elements.overlayActions, {
80
80
  ...defaultButtonStyles,
@@ -96,7 +96,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
96
96
  })));
97
97
  this.dismissButton.element.classList.add("chat-tool-carousel-dismiss-button");
98
98
  this.dismissButton.label = `$(${Codicon.close.id})`;
99
- const dismissButtonLabel = this.items.length === 1 ? ( localize(7445, "Skip")) : ( localize(7446, "Skip All"));
99
+ const dismissButtonLabel = this.items.length === 1 ? ( localize(7584, "Skip")) : ( localize(7585, "Skip All"));
100
100
  this.dismissButton.element.setAttribute("aria-label", dismissButtonLabel);
101
101
  this.dismissButton.element.title = dismissButtonLabel;
102
102
  this._register(this.dismissButton.onDidClick(() => this.skipAll()));
@@ -107,7 +107,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
107
107
  })));
108
108
  this.prevButton.element.classList.add("chat-tool-carousel-nav-arrow");
109
109
  this.prevButton.label = `$(${Codicon.chevronLeft.id})`;
110
- this.prevButton.element.setAttribute("aria-label", ( localize(7447, "Previous")));
110
+ this.prevButton.element.setAttribute("aria-label", ( localize(7586, "Previous")));
111
111
  this._register(this.prevButton.onDidClick(() => this.navigateRelative(-1)));
112
112
  this.nextButton = this._register(( new Button(elements.navArrows, {
113
113
  ...defaultButtonStyles,
@@ -116,7 +116,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
116
116
  })));
117
117
  this.nextButton.element.classList.add("chat-tool-carousel-nav-arrow");
118
118
  this.nextButton.label = `$(${Codicon.chevronRight.id})`;
119
- this.nextButton.element.setAttribute("aria-label", ( localize(7448, "Next")));
119
+ this.nextButton.element.setAttribute("aria-label", ( localize(7587, "Next")));
120
120
  this._register(this.nextButton.onDidClick(() => this.navigateRelative(1)));
121
121
  this._register(addDisposableListener(this.agentLabel, "click", e => {
122
122
  e.preventDefault();
@@ -308,7 +308,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
308
308
  if (item?.agentName) {
309
309
  this.agentLabel.textContent = `\u2014 ${item.agentName}`;
310
310
  this.agentLabel.disabled = !item.subAgentInvocationId || !item.scrollToSubagent;
311
- this.agentLabel.title = ( localize(7449, "Scroll to {0}", item.agentName));
311
+ this.agentLabel.title = ( localize(7588, "Scroll to {0}", item.agentName));
312
312
  this.agentLabel.setAttribute("aria-label", this.agentLabel.title);
313
313
  show(this.agentLabel);
314
314
  } else {
@@ -326,7 +326,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
326
326
  setVisibility(multi, this.nextButton.element);
327
327
  setVisibility(multi, this.allowAllButton.element);
328
328
  setVisibility(this.canExpandContent, this.expandContentButton.element);
329
- this.allowAllButton.label = multi ? ( localize(7444, "Allow All")) : ( localize(7450, "Allow"));
329
+ this.allowAllButton.label = multi ? ( localize(7583, "Allow All")) : ( localize(7589, "Allow"));
330
330
  this.updateExpandContentButton();
331
331
  }
332
332
  renderActiveContent() {
@@ -381,7 +381,7 @@ class ChatToolConfirmationCarouselPart extends Disposable {
381
381
  }
382
382
  updateExpandContentButton() {
383
383
  const expanded = this.canExpandContent && this._isContentExpanded;
384
- const label = expanded ? ( localize(7451, "Restore Confirmation Size")) : ( localize(7452, "Expand Confirmation Up"));
384
+ const label = expanded ? ( localize(7590, "Restore Confirmation Size")) : ( localize(7591, "Expand Confirmation Up"));
385
385
  this.expandContentButton.label = expanded ? `$(${Codicon.screenNormal.id})` : `$(${Codicon.screenFull.id})`;
386
386
  this.expandContentButton.element.setAttribute("aria-label", label);
387
387
  this.expandContentButton.element.setAttribute("aria-expanded", String(expanded));
@@ -78,8 +78,8 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
78
78
  this.render({
79
79
  allowActionId: AcceptToolConfirmationActionId,
80
80
  skipActionId: SkipToolConfirmationActionId,
81
- allowLabel: state.confirmationMessages.confirmResults ? ( localize(7453, "Allow and Review Once")) : ( localize(7454, "Allow Once")),
82
- skipLabel: ( localize(7455, "Proceed without running this tool")),
81
+ allowLabel: state.confirmationMessages.confirmResults ? ( localize(7592, "Allow and Review Once")) : ( localize(7593, "Allow Once")),
82
+ skipLabel: ( localize(7594, "Proceed without running this tool")),
83
83
  partType: "chatToolConfirmation",
84
84
  subtitle: typeof toolInvocation.originMessage === "string" ? toolInvocation.originMessage : toolInvocation.originMessage?.value
85
85
  });
@@ -125,7 +125,7 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
125
125
  }
126
126
  if (state.confirmationMessages?.confirmResults) {
127
127
  actions.unshift({
128
- label: ( localize(7456, "Allow and Skip Reviewing Result")),
128
+ label: ( localize(7595, "Allow and Skip Reviewing Result")),
129
129
  data: () => {
130
130
  state.confirmationMessages.confirmResults = undefined;
131
131
  this.confirmWith(this.toolInvocation, {
@@ -167,11 +167,11 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
167
167
  };
168
168
  const elements = h("div", [h(".message@messageContainer", [
169
169
  h(".message-wrapper@message"),
170
- h(".see-more@showMore", [h("a", [( localize(7457, "Show More"))])])
170
+ h(".see-more@showMore", [h("a", [( localize(7596, "Show More"))])])
171
171
  ]), h(".editor@editor"), h(".disclaimer@disclaimer")]);
172
172
  if (toolInvocation.toolSpecificData?.kind === "input" && toolInvocation.toolSpecificData.rawInput && !isEmptyObject(toolInvocation.toolSpecificData.rawInput)) {
173
173
  const titleEl = createElement("h3");
174
- titleEl.textContent = ( localize(7458, "Input"));
174
+ titleEl.textContent = ( localize(7597, "Input"));
175
175
  elements.editor.appendChild(titleEl);
176
176
  const inputData = toolInvocation.toolSpecificData;
177
177
  const codeBlockRenderOptions = {
@@ -241,7 +241,7 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
241
241
  elements.editor.append(editor.object.element);
242
242
  if (canSeeMore) {
243
243
  const seeMore = h("div.see-more", [h("a@link")]);
244
- seeMore.link.textContent = ( localize(7459, "See more"));
244
+ seeMore.link.textContent = ( localize(7598, "See more"));
245
245
  this._register(addDisposableGenericMouseDownListener(seeMore.link, () => {
246
246
  try {
247
247
  const parsed = JSON.parse(model.getValue());
@@ -67,7 +67,7 @@ let ChatToolOutputSubPart = class ChatToolOutputSubPart extends BaseChatToolInvo
67
67
  parent.style.height = `${partState.height}px`;
68
68
  }
69
69
  const progressMessage = $("span");
70
- progressMessage.textContent = ( localize(7460, "Rendering tool output..."));
70
+ progressMessage.textContent = ( localize(7599, "Rendering tool output..."));
71
71
  const progressPart = this._register(this.instantiationService.createInstance(
72
72
  ChatProgressSubPart,
73
73
  progressMessage,
@@ -110,7 +110,7 @@ let ChatToolOutputSubPart = class ChatToolOutputSubPart extends BaseChatToolInvo
110
110
  iconElement.classList.add(...ThemeIcon.asClassNameArray(Codicon.error));
111
111
  errorHeaderNode.append(iconElement);
112
112
  const errorTitleNode = $(".output-error-title");
113
- errorTitleNode.textContent = ( localize(7461, "Error rendering the tool output"));
113
+ errorTitleNode.textContent = ( localize(7600, "Error rendering the tool output"));
114
114
  errorHeaderNode.append(errorTitleNode);
115
115
  const errorMessageNode = $(".output-error-details");
116
116
  errorMessageNode.textContent = error?.message || String(error);
@@ -1,11 +1,11 @@
1
1
  import { IMarkdownString } from "@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent";
2
2
  import { ConfirmedReason, IChatToolInvocation, IChatToolInvocationSerialized } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
3
3
  export declare function isMcpToolInvocation(toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized): boolean;
4
+ export declare function isAskQuestionsToolInvocation(toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized): boolean;
4
5
  /**
5
6
  * Determines whether a tool invocation's progress text should shimmer.
6
- * MCP tools shimmer; askQuestions defers to the caller's default; all others opt out.
7
7
  */
8
- export declare function shouldShimmerForTool(toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized): boolean;
8
+ export declare function shouldShimmerForTool(toolInvocation: IChatToolInvocation | IChatToolInvocationSerialized, content: string | IMarkdownString | undefined): boolean;
9
9
  /**
10
10
  * Creates a markdown message explaining why a tool was auto-approved.
11
11
  * @param toolInvocation The tool invocation to get the approval message for
@@ -6,14 +6,17 @@ import { IChatToolInvocation, ToolConfirmKind } from '@codingame/monaco-vscode-a
6
6
  function isMcpToolInvocation(toolInvocation) {
7
7
  return toolInvocation.source?.type === "mcp" || toolInvocation.toolId.toLowerCase().includes("mcp");
8
8
  }
9
- function shouldShimmerForTool(toolInvocation) {
10
- if (isMcpToolInvocation(toolInvocation)) {
11
- return !IChatToolInvocation.isComplete(toolInvocation);
12
- }
13
- if (toolInvocation.toolId === "copilot_askQuestions" || toolInvocation.toolId === "vscode_askQuestions") {
9
+ function isAskQuestionsToolInvocation(toolInvocation) {
10
+ return toolInvocation.toolId === "copilot_askQuestions" || toolInvocation.toolId === "vscode_askQuestions";
11
+ }
12
+ function shouldShimmerForTool(toolInvocation, content) {
13
+ if (!isAskQuestionsToolInvocation(toolInvocation) || IChatToolInvocation.isComplete(toolInvocation)) {
14
14
  return false;
15
15
  }
16
- return false;
16
+ return getMarkdownValue(content) === getMarkdownValue(toolInvocation.invocationMessage);
17
+ }
18
+ function getMarkdownValue(content) {
19
+ return (typeof content === "string" ? content : content?.value)?.replaceAll(" ", " ").replace(/\\[\\`*_{}\[\]()#+\-!~]/g, escaped => escaped.slice(1));
17
20
  }
18
21
  function getToolApprovalMessage(toolInvocation) {
19
22
  const reason = IChatToolInvocation.executionConfirmedOrDenied(toolInvocation);
@@ -26,20 +29,20 @@ function getApprovalMessageFromReason(reason) {
26
29
  let md;
27
30
  switch (reason.type) {
28
31
  case ToolConfirmKind.Setting:
29
- md = ( localize(7462, "Auto approved by {0}", createMarkdownCommandLink({
32
+ md = ( localize(7601, "Auto approved by {0}", createMarkdownCommandLink({
30
33
  text: "`" + reason.id + "`",
31
34
  id: "workbench.action.openSettings",
32
35
  arguments: [reason.id],
33
- tooltip: ( localize(7463, "Open settings"))
36
+ tooltip: ( localize(7602, "Open settings"))
34
37
  }, false)));
35
38
  break;
36
39
  case ToolConfirmKind.LmServicePerTool:
37
- md = reason.scope === "session" ? ( localize(7464, "Auto approved for this session")) : reason.scope === "workspace" ? ( localize(7465, "Auto approved for this workspace")) : ( localize(7466, "Auto approved for this profile"));
40
+ md = reason.scope === "session" ? ( localize(7603, "Auto approved for this session")) : reason.scope === "workspace" ? ( localize(7604, "Auto approved for this workspace")) : ( localize(7605, "Auto approved for this profile"));
38
41
  md += " (" + createMarkdownCommandLink({
39
- text: ( localize(7467, "Edit")),
42
+ text: ( localize(7606, "Edit")),
40
43
  id: "workbench.action.chat.editToolApproval",
41
44
  arguments: [reason.scope],
42
- tooltip: ( localize(7468, "Edit tool approval settings"))
45
+ tooltip: ( localize(7607, "Edit tool approval settings"))
43
46
  }) + ")";
44
47
  break;
45
48
  case ToolConfirmKind.ConfirmationNotNeeded:
@@ -59,4 +62,4 @@ function getApprovalMessageFromReason(reason) {
59
62
  }));
60
63
  }
61
64
 
62
- export { getApprovalMessageFromReason, getToolApprovalMessage, isMcpToolInvocation, shouldShimmerForTool };
65
+ export { getApprovalMessageFromReason, getToolApprovalMessage, isAskQuestionsToolInvocation, isMcpToolInvocation, shouldShimmerForTool };
@@ -46,8 +46,8 @@ let ChatToolPostExecuteConfirmationPart = class ChatToolPostExecuteConfirmationP
46
46
  this.render({
47
47
  allowActionId: AcceptToolPostConfirmationActionId,
48
48
  skipActionId: SkipToolPostConfirmationActionId,
49
- allowLabel: ( localize(7469, "Allow Once")),
50
- skipLabel: ( localize(7470, "Skip Results")),
49
+ allowLabel: ( localize(7608, "Allow Once")),
50
+ skipLabel: ( localize(7609, "Skip Results")),
51
51
  partType: "chatToolPostConfirmation",
52
52
  subtitle: typeof subtitle === "string" ? subtitle : subtitle?.value
53
53
  });
@@ -63,7 +63,7 @@ let ChatToolPostExecuteConfirmationPart = class ChatToolPostExecuteConfirmationP
63
63
  return this.createResultsDisplay(this.toolInvocation, state.contentForModel);
64
64
  }
65
65
  getTitle() {
66
- return localize(7471, "Approve Tool Result");
66
+ return localize(7610, "Approve Tool Result");
67
67
  }
68
68
  additionalPrimaryActions() {
69
69
  const actions = super.additionalPrimaryActions();
@@ -99,7 +99,7 @@ let ChatToolPostExecuteConfirmationPart = class ChatToolPostExecuteConfirmationP
99
99
  createResultsDisplay(toolInvocation, contentForModel) {
100
100
  const container = $(".tool-postconfirm-display");
101
101
  if (!contentForModel || contentForModel.length === 0) {
102
- container.textContent = ( localize(7472, "No results to display"));
102
+ container.textContent = ( localize(7611, "No results to display"));
103
103
  return container;
104
104
  }
105
105
  const parts = [];
@@ -214,7 +214,7 @@ let ChatToolPostExecuteConfirmationPart = class ChatToolPostExecuteConfirmationP
214
214
  outputSubPart.domNode.classList.add("tool-postconfirm-display");
215
215
  return outputSubPart.domNode;
216
216
  }
217
- container.textContent = ( localize(7473, "No displayable results"));
217
+ container.textContent = ( localize(7612, "No displayable results"));
218
218
  return container;
219
219
  }
220
220
  };
@@ -17,6 +17,7 @@ export declare class ChatToolProgressSubPart extends BaseChatToolInvocationSubPa
17
17
  private createProgressPart;
18
18
  private get toolIsConfirmed();
19
19
  private renderProgressContent;
20
+ private getProgressIcon;
20
21
  private getAnnouncementKey;
21
22
  private computeShouldAnnounce;
22
23
  private provideScreenReaderStatus;
@@ -3,9 +3,11 @@ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib
3
3
  import { createElement, clearNode, reset } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
4
  import { renderAsPlaintext } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/markdownRenderer';
5
5
  import { status } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/aria/aria';
6
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
6
7
  import { MarkdownString } from '@codingame/monaco-vscode-api/vscode/vs/base/common/htmlContent';
7
8
  import { stripIcons } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iconLabels';
8
9
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
10
+ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
9
11
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
10
12
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
11
13
  import { IChatToolInvocation, ToolConfirmKind } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
@@ -89,18 +91,23 @@ let ChatToolProgressSubPart = class ChatToolProgressSubPart extends BaseChatTool
89
91
  if (shouldAnnounce) {
90
92
  this.provideScreenReaderStatus(content);
91
93
  }
94
+ const shouldShimmer = shouldShimmerForTool(this.toolInvocation, content);
92
95
  return this.instantiationService.createInstance(
93
96
  ChatProgressContentPart,
94
97
  progressMessage,
95
98
  this.renderer,
96
99
  this.context,
97
- undefined,
100
+ shouldShimmer ? true : undefined,
98
101
  true,
99
- this.getIcon(),
102
+ this.getProgressIcon(),
100
103
  this.toolInvocation,
101
- shouldShimmerForTool(this.toolInvocation)
104
+ shouldShimmer
102
105
  );
103
106
  }
107
+ getProgressIcon() {
108
+ const icon = this.getIcon();
109
+ return ThemeIcon.isEqual(icon, ThemeIcon.modify(Codicon.loading, "spin")) ? Codicon.check : icon;
110
+ }
104
111
  getAnnouncementKey(kind) {
105
112
  return `${kind}:${this.toolInvocation.toolCallId}`;
106
113
  }
@@ -50,8 +50,8 @@ export declare class TerminalToolAutoExpand extends Disposable {
50
50
  private readonly _options;
51
51
  private _commandFinished;
52
52
  private _receivedData;
53
- private _dataEventTimeout;
54
- private _noDataTimeout;
53
+ private readonly _dataEventTimeout;
54
+ private readonly _noDataTimeout;
55
55
  private readonly _onDidRequestExpand;
56
56
  readonly onDidRequestExpand: Event<void>;
57
57
  constructor(_options: ITerminalToolAutoExpandOptions);
@@ -1,5 +1,5 @@
1
1
 
2
- import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
2
+ import { Disposable, MutableDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
3
3
  import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
4
4
  import { disposableTimeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
5
5
 
@@ -14,6 +14,8 @@ class TerminalToolAutoExpand extends Disposable {
14
14
  this._options = _options;
15
15
  this._commandFinished = false;
16
16
  this._receivedData = false;
17
+ this._dataEventTimeout = this._register(( new MutableDisposable()));
18
+ this._noDataTimeout = this._register(( new MutableDisposable()));
17
19
  this._onDidRequestExpand = this._register(( new Emitter()));
18
20
  this.onDidRequestExpand = this._onDidRequestExpand.event;
19
21
  this._setupListeners();
@@ -21,14 +23,13 @@ class TerminalToolAutoExpand extends Disposable {
21
23
  _setupListeners() {
22
24
  const store = this._register(( new DisposableStore()));
23
25
  store.add(this._options.onCommandExecuted(() => {
24
- if (this._options.shouldAutoExpand() && !this._noDataTimeout) {
25
- this._noDataTimeout = disposableTimeout(() => {
26
- this._noDataTimeout = undefined;
26
+ if (this._options.shouldAutoExpand() && !this._noDataTimeout.value) {
27
+ this._noDataTimeout.value = disposableTimeout(() => {
28
+ this._noDataTimeout.clear();
27
29
  const shouldExpand = this._options.shouldAutoExpand();
28
30
  const hasOutput = this._options.hasRealOutput();
29
31
  if (shouldExpand && hasOutput) {
30
- this._dataEventTimeout?.dispose();
31
- this._dataEventTimeout = undefined;
32
+ this._dataEventTimeout.clear();
32
33
  this._onDidRequestExpand.fire();
33
34
  }
34
35
  }, TerminalToolAutoExpandTimeout.NoData, store);
@@ -39,14 +40,13 @@ class TerminalToolAutoExpand extends Disposable {
39
40
  return;
40
41
  }
41
42
  this._receivedData = true;
42
- if (this._options.shouldAutoExpand() && !this._dataEventTimeout) {
43
- this._dataEventTimeout = disposableTimeout(() => {
44
- this._dataEventTimeout = undefined;
43
+ if (this._options.shouldAutoExpand() && !this._dataEventTimeout.value) {
44
+ this._dataEventTimeout.value = disposableTimeout(() => {
45
+ this._dataEventTimeout.clear();
45
46
  const shouldExpand = this._options.shouldAutoExpand();
46
47
  const hasOutput = this._options.hasRealOutput();
47
48
  if (!this._commandFinished && shouldExpand && hasOutput) {
48
- this._noDataTimeout?.dispose();
49
- this._noDataTimeout = undefined;
49
+ this._noDataTimeout.clear();
50
50
  this._onDidRequestExpand.fire();
51
51
  }
52
52
  }, TerminalToolAutoExpandTimeout.DataEvent, store);
@@ -58,10 +58,8 @@ class TerminalToolAutoExpand extends Disposable {
58
58
  }));
59
59
  }
60
60
  _clearAutoExpandTimeouts() {
61
- this._dataEventTimeout?.dispose();
62
- this._dataEventTimeout = undefined;
63
- this._noDataTimeout?.dispose();
64
- this._noDataTimeout = undefined;
61
+ this._dataEventTimeout.clear();
62
+ this._noDataTimeout.clear();
65
63
  }
66
64
  }
67
65