@codingame/monaco-vscode-katex-common 26.2.2 → 27.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (183) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.d.ts +10 -4
  3. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +35 -11
  4. package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +3 -0
  5. package/vscode/src/vs/platform/actions/browser/buttonbar.js +15 -4
  6. package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.d.ts +548 -0
  7. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +15 -15
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +5 -0
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +168 -15
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +67 -51
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.d.ts +1 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +12 -11
  14. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +9 -9
  15. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +8 -0
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +42 -19
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +12 -1
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +63 -40
  19. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
  20. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +7 -5
  21. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +77 -73
  22. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +69 -32
  23. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +23 -6
  24. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +381 -83
  25. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +1 -0
  26. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +28 -13
  27. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +38 -19
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +109 -113
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +16 -15
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +2 -2
  31. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +8 -8
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +14 -14
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +2 -1
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +28 -9
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +226 -123
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +4 -4
  37. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +4 -4
  38. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  39. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  41. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +3 -1
  42. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +9 -4
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +1 -3
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +7 -10
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.d.ts +3 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.js +22 -4
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.d.ts +2 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.js +11 -3
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.d.ts +0 -2
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +0 -6
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +2 -2
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.d.ts +3 -1
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.js +6 -3
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.d.ts +2 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +5 -4
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +0 -1
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +26 -27
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +3 -0
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +51 -20
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -7
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +2 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +20 -8
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.d.ts +3 -3
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.js +11 -6
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +36 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +166 -45
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.d.ts +3 -2
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +16 -11
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +14 -5
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +98 -26
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +5 -5
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.js +1 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +10 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +241 -78
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.d.ts +29 -1
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +252 -8
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.d.ts +4 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +39 -18
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +5 -3
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +36 -23
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +5 -5
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +5 -7
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +42 -37
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCodeBlockPill.css +12 -3
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +48 -18
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatHookContentPart.css +9 -6
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css +2 -2
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +351 -422
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +14 -7
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +102 -7
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTipContent.css +69 -19
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/codeBlockPart.css +48 -15
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +4 -1
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +47 -23
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +0 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +0 -5
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +2 -2
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +7 -7
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.d.ts +18 -0
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.js +103 -0
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +15 -18
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +1 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +61 -66
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +1 -1
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +7 -9
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +3 -1
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +41 -2
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +3 -3
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +6 -5
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +13 -1
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.js +2 -1
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +17 -3
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +310 -79
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +6 -0
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +13 -4
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.d.ts +35 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.js +441 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +24 -1
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +392 -86
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +52 -6
  136. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +271 -187
  137. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +68 -0
  138. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +668 -0
  139. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +12 -1
  140. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +57 -16
  141. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +2 -6
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +78 -45
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +1 -0
  144. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +28 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +86 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +9 -5
  147. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +4 -3
  148. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +393 -134
  149. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatViewWelcome.css +36 -17
  150. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +2 -2
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +20 -13
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +25 -6
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +141 -79
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageWidget.css +18 -13
  155. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.d.ts +7 -0
  156. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +108 -27
  157. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +1 -0
  158. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +20 -14
  159. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +4 -6
  160. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +74 -32
  161. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +11 -2
  162. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +68 -27
  163. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +5 -0
  164. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +125 -13
  165. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +8 -11
  166. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +54 -45
  167. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +11 -10
  168. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +172 -112
  169. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
  170. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
  171. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +0 -42
  172. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatEditorAffordance.css +27 -3
  173. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +83 -2
  174. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +8 -1
  175. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +58 -33
  176. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  177. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.d.ts +1 -548
  178. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  179. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  180. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  181. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +0 -187
  183. /package/vscode/src/vs/{workbench/contrib → platform}/mcp/common/modelContextProtocolApps.js +0 -0
@@ -0,0 +1,103 @@
1
+
2
+ import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
+ import { ProgressBar } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/progressbar/progressbar';
4
+ import { Lazy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lazy';
5
+ import { toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
7
+ import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/languages/language.service';
8
+ import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
9
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
10
+ import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
11
+ import { ChatConfiguration } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
12
+ import { IChatToolInvocation } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService';
13
+ import { ChatCollapsibleInputOutputContentPart } from '../chatToolInputOutputContentPart.js';
14
+ import { BaseChatToolInvocationSubPart } from './chatToolInvocationSubPart.js';
15
+ import { getToolApprovalMessage } from './chatToolPartUtilities.js';
16
+ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
17
+
18
+ var ChatSimpleToolProgressPart_1;
19
+ let ChatSimpleToolProgressPart = class ChatSimpleToolProgressPart extends BaseChatToolInvocationSubPart {
20
+ static {
21
+ ChatSimpleToolProgressPart_1 = this;
22
+ }
23
+ static {
24
+ this._expandedByDefault = ( new WeakMap());
25
+ }
26
+ get codeblocks() {
27
+ return this.collapsibleListPart.codeblocks;
28
+ }
29
+ constructor(
30
+ toolInvocation,
31
+ context,
32
+ codeBlockStartIndex,
33
+ message,
34
+ subtitle,
35
+ data,
36
+ isError,
37
+ instantiationService,
38
+ modelService,
39
+ languageService,
40
+ configurationService
41
+ ) {
42
+ super(toolInvocation);
43
+ let codeBlockIndex = codeBlockStartIndex;
44
+ const createIOPart = (content, label) => {
45
+ return {
46
+ kind: "code",
47
+ data: content,
48
+ languageId: "plaintext",
49
+ codeBlockIndex: codeBlockIndex++,
50
+ ownerMarkdownPartId: this.codeblocksPartId,
51
+ options: {
52
+ hideToolbar: true,
53
+ reserveWidth: 19,
54
+ maxHeightInLines: 13,
55
+ verticalPadding: 5,
56
+ editorOptions: {
57
+ wordWrap: "on"
58
+ }
59
+ }
60
+ };
61
+ };
62
+ const inputPart = createIOPart(data.input);
63
+ const outputParts = data.output ? [createIOPart(data.output)] : undefined;
64
+ const collapsibleListPart = this.collapsibleListPart = this._register(instantiationService.createInstance(
65
+ ChatCollapsibleInputOutputContentPart,
66
+ message,
67
+ subtitle,
68
+ this.getAutoApprovalMessageContent(),
69
+ context,
70
+ inputPart,
71
+ outputParts ? {
72
+ parts: outputParts
73
+ } : undefined,
74
+ isError,
75
+ (isError && configurationService.getValue(ChatConfiguration.AutoExpandToolFailures)) || (ChatSimpleToolProgressPart_1._expandedByDefault.get(toolInvocation) ?? false)
76
+ ));
77
+ this._register(toDisposable(
78
+ () => ChatSimpleToolProgressPart_1._expandedByDefault.set(toolInvocation, collapsibleListPart.expanded)
79
+ ));
80
+ const progressObservable = toolInvocation.kind === "toolInvocation" ? ( toolInvocation.state.map(
81
+ (s, r) => s.type === IChatToolInvocation.StateKind.Executing ? s.progress.read(r) : undefined
82
+ )) : undefined;
83
+ const progressBar = ( new Lazy(() => this._register(( new ProgressBar(collapsibleListPart.domNode)))));
84
+ if (progressObservable) {
85
+ this._register(autorun(reader => {
86
+ const progress = progressObservable?.read(reader);
87
+ if (progress?.message) {
88
+ collapsibleListPart.title = progress.message;
89
+ }
90
+ if (progress?.progress && !IChatToolInvocation.isComplete(toolInvocation, reader)) {
91
+ progressBar.value.setWorked(progress.progress * 100);
92
+ }
93
+ }));
94
+ }
95
+ this.domNode = collapsibleListPart.domNode;
96
+ }
97
+ getAutoApprovalMessageContent() {
98
+ return getToolApprovalMessage(this.toolInvocation);
99
+ }
100
+ };
101
+ ChatSimpleToolProgressPart = ChatSimpleToolProgressPart_1 = ( __decorate([( __param(7, IInstantiationService)), ( __param(8, IModelService)), ( __param(9, ILanguageService)), ( __param(10, IConfigurationService))], ChatSimpleToolProgressPart));
102
+
103
+ export { ChatSimpleToolProgressPart };
@@ -113,7 +113,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
113
113
  moreActions = [];
114
114
  if (!autoApproveWarningAccepted) {
115
115
  moreActions.push({
116
- label: ( localize(6045, "Enable Auto Approve...")),
116
+ label: ( localize(6568, "Enable Auto Approve...")),
117
117
  data: {
118
118
  type: "enable"
119
119
  }
@@ -175,9 +175,6 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
175
175
  uriPromise: Promise.resolve(model.uri),
176
176
  chatSessionResource: this.context.element.sessionResource
177
177
  });
178
- this._register(editor.object.onDidChangeContentHeight(() => {
179
- editor.object.layout(this.currentWidthDelegate());
180
- }));
181
178
  this._register(model.onDidChangeContent(e => {
182
179
  const currentValue = model.getValue();
183
180
  if (currentValue !== initialContent) {
@@ -322,7 +319,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
322
319
  }
323
320
  const target = scope === "workspace" ? ConfigurationTarget.WORKSPACE : ConfigurationTarget.USER;
324
321
  const settingsUri = createCommandUri(TerminalContribCommandId.OpenTerminalSettingsLink, target);
325
- return `[\`${e.key}\`](${( settingsUri.toString())} "${( localize(6046, "View rule in settings"))}")`;
322
+ return `[\`${e.key}\`](${( settingsUri.toString())} "${( localize(6569, "View rule in settings"))}")`;
326
323
  })).join(", ");
327
324
  }
328
325
  const mdTrustSettings = {
@@ -333,33 +330,33 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
333
330
  const parts = [];
334
331
  if (sessionRules.length > 0) {
335
332
  parts.push(sessionRules.length === 1 ? ( localize(
336
- 6047,
333
+ 6570,
337
334
  "Session auto approve rule {0} added",
338
335
  formatRuleLinks(sessionRules, "session")
339
336
  )) : ( localize(
340
- 6048,
337
+ 6571,
341
338
  "Session auto approve rules {0} added",
342
339
  formatRuleLinks(sessionRules, "session")
343
340
  )));
344
341
  }
345
342
  if (workspaceRules.length > 0) {
346
343
  parts.push(workspaceRules.length === 1 ? ( localize(
347
- 6049,
344
+ 6572,
348
345
  "Workspace auto approve rule {0} added",
349
346
  formatRuleLinks(workspaceRules, "workspace")
350
347
  )) : ( localize(
351
- 6050,
348
+ 6573,
352
349
  "Workspace auto approve rules {0} added",
353
350
  formatRuleLinks(workspaceRules, "workspace")
354
351
  )));
355
352
  }
356
353
  if (userRules.length > 0) {
357
354
  parts.push(userRules.length === 1 ? ( localize(
358
- 6051,
355
+ 6574,
359
356
  "User auto approve rule {0} added",
360
357
  formatRuleLinks(userRules, "user")
361
358
  )) : ( localize(
362
- 6052,
359
+ 6575,
363
360
  "User auto approve rules {0} added",
364
361
  formatRuleLinks(userRules, "user")
365
362
  )));
@@ -389,7 +386,7 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
389
386
  enabledCommands: [TerminalContribCommandId.DisableSessionAutoApproval]
390
387
  }
391
388
  };
392
- terminalData.autoApproveInfo = ( new MarkdownString(`${( localize(6053, "All commands will be auto approved for this session"))} ([${( localize(6054, "Disable"))}](${( disableUri.toString())}))`, mdTrustSettings));
389
+ terminalData.autoApproveInfo = ( new MarkdownString(`${( localize(6576, "All commands will be auto approved for this session"))} ([${( localize(6577, "Disable"))}](${( disableUri.toString())}))`, mdTrustSettings));
393
390
  toolConfirmKind = ToolConfirmKind.UserAction;
394
391
  break;
395
392
  }
@@ -413,11 +410,11 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
413
410
  };
414
411
  };
415
412
  return [{
416
- ...getLabelAndTooltip(( localize(6055, "Allow")), AcceptToolConfirmationActionId),
413
+ ...getLabelAndTooltip(( localize(6578, "Allow")), AcceptToolConfirmationActionId),
417
414
  data: true,
418
415
  moreActions
419
416
  }, {
420
- ...getLabelAndTooltip(( localize(6056, "Skip")), SkipToolConfirmationActionId, ( localize(6057, "Proceed without executing this command"))),
417
+ ...getLabelAndTooltip(( localize(6579, "Skip")), SkipToolConfirmationActionId, ( localize(6580, "Proceed without executing this command"))),
421
418
  data: {
422
419
  type: "skip"
423
420
  },
@@ -427,9 +424,9 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
427
424
  async _showAutoApproveWarning() {
428
425
  const promptResult = await this.dialogService.prompt({
429
426
  type: Severity.Info,
430
- message: ( localize(6058, "Enable terminal auto approve?")),
427
+ message: ( localize(6581, "Enable terminal auto approve?")),
431
428
  buttons: [{
432
- label: ( localize(6059, "Enable")),
429
+ label: ( localize(6582, "Enable")),
433
430
  run: () => true
434
431
  }],
435
432
  cancelButton: true,
@@ -437,11 +434,11 @@ let ChatTerminalToolConfirmationSubPart = class ChatTerminalToolConfirmationSubP
437
434
  icon: Codicon.shield,
438
435
  markdownDetails: [{
439
436
  markdown: ( new MarkdownString(( localize(
440
- 6060,
437
+ 6583,
441
438
  "This will enable a configurable subset of commands to run in the terminal autonomously. It provides *best effort protections* and assumes the agent is not acting maliciously."
442
439
  ))))
443
440
  }, {
444
- markdown: ( new MarkdownString(`[${( localize(6061, "Learn more about the potential risks and how to avoid them."))}](https://code.visualstudio.com/docs/copilot/security#_security-considerations)`))
441
+ markdown: ( new MarkdownString(`[${( localize(6584, "Learn more about the potential risks and how to avoid them."))}](https://code.visualstudio.com/docs/copilot/security#_security-considerations)`))
445
442
  }]
446
443
  }
447
444
  });
@@ -49,6 +49,7 @@ export declare class ChatTerminalToolProgressPart extends BaseChatToolInvocation
49
49
  private readonly _decoration;
50
50
  private _userToggledOutput;
51
51
  private _isInThinkingContainer;
52
+ private _usesCollapsibleWrapper;
52
53
  private _thinkingCollapsibleWrapper;
53
54
  private markdownPart;
54
55
  get codeblocks(): IChatCodeBlockInfo[];
@@ -22,6 +22,7 @@ import { timeout } from '@codingame/monaco-vscode-api/vscode/vs/base/common/asyn
22
22
  import { ITerminalChatService, ITerminalService, ITerminalConfigurationService, ITerminalEditorService, ITerminalGroupService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/terminal.service';
23
23
  import { Disposable, MutableDisposable, toDisposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
24
24
  import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
25
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
25
26
  import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
26
27
  import { getTerminalCommandDecorationTooltip, getTerminalCommandDecorationState, DecorationSelector } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/terminal/browser/xterm/decorationStyles';
27
28
  import { DomScrollableElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/scrollbar/scrollableElement';
@@ -33,7 +34,7 @@ import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
33
34
  import { stripIcons } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iconLabels';
34
35
  import { IAccessibleViewService } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/browser/accessibleView.service';
35
36
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
36
- import { AccessibilityVerbositySettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
37
+ import { AccessibilityWorkbenchSettingId, AccessibilityVerbositySettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
37
38
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
38
39
  import { IKeybindingService } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybinding.service';
39
40
  import { DetachedTerminalCommandMirror, DetachedTerminalSnapshotMirror } from '../../../../../terminal/browser/chatTerminalCommandMirror.js';
@@ -56,6 +57,7 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/misc
56
57
  import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quickpickColors';
57
58
  import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
58
59
  import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
60
+ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
59
61
 
60
62
  registerCss(chatTerminalToolProgressPart);
61
63
  const MIN_OUTPUT_ROWS = 1;
@@ -194,6 +196,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
194
196
  this._continueInBackgroundAction = this._register(( new MutableDisposable()));
195
197
  this._userToggledOutput = false;
196
198
  this._isInThinkingContainer = false;
199
+ this._usesCollapsibleWrapper = false;
197
200
  this._elementIndex = context.elementIndex;
198
201
  this._contentIndex = context.contentIndex;
199
202
  this._sessionResource = context.element.sessionResource;
@@ -274,7 +277,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
274
277
  const markdownOptions = {
275
278
  codeBlockRenderOptions,
276
279
  accessibilityOptions: pastTenseMessage ? {
277
- statusMessage: ( localize(6062, "{0}", stripIcons(pastTenseMessage)))
280
+ statusMessage: ( localize(6585, "{0}", stripIcons(pastTenseMessage)))
278
281
  } : undefined
279
282
  };
280
283
  this.markdownPart = this._register(_instantiationService.createInstance(
@@ -299,12 +302,24 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
299
302
  ));
300
303
  this._decoration.update();
301
304
  const terminalToolsInThinking = this._configurationService.getValue(ChatConfiguration.TerminalToolsInThinking);
305
+ const isSimpleTerminal = this._configurationService.getValue(ChatConfiguration.SimpleTerminalCollapsible);
302
306
  const requiresConfirmation = toolInvocation.kind === "toolInvocation" && IChatToolInvocation.getConfirmationMessages(toolInvocation);
303
- if (terminalToolsInThinking && !requiresConfirmation) {
304
- this._isInThinkingContainer = true;
305
- this.domNode = this._createCollapsibleWrapper(progressPart.domNode, command, toolInvocation, context);
307
+ this._isInThinkingContainer = terminalToolsInThinking && !requiresConfirmation;
308
+ this._usesCollapsibleWrapper = this._isInThinkingContainer || isSimpleTerminal;
309
+ if (this._usesCollapsibleWrapper) {
310
+ this.domNode = this._createCollapsibleWrapper(progressPart.domNode, displayCommand, toolInvocation, context);
306
311
  } else {
307
312
  this.domNode = progressPart.domNode;
313
+ const updateCheckmarks = () => this.domNode.classList.toggle(
314
+ "show-checkmarks",
315
+ !!this._configurationService.getValue(AccessibilityWorkbenchSettingId.ShowChatCheckmarks)
316
+ );
317
+ updateCheckmarks();
318
+ this._register(this._configurationService.onDidChangeConfiguration(e => {
319
+ if (e.affectsConfiguration(AccessibilityWorkbenchSettingId.ShowChatCheckmarks)) {
320
+ updateCheckmarks();
321
+ }
322
+ }));
308
323
  }
309
324
  const hasStoredOutput = !!terminalData.terminalCommandOutput;
310
325
  if (expandedStateByInvocation.get(toolInvocation) || (this._isInThinkingContainer && IChatToolInvocation.isComplete(toolInvocation) && hasStoredOutput)) {
@@ -328,6 +343,15 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
328
343
  isComplete
329
344
  ));
330
345
  this._thinkingCollapsibleWrapper = wrapper;
346
+ let isFirstRun = true;
347
+ this._register(autorun(r => {
348
+ const expanded = wrapper.expanded.read(r);
349
+ if (isFirstRun) {
350
+ isFirstRun = false;
351
+ return;
352
+ }
353
+ this._toggleOutput(expanded);
354
+ }));
331
355
  return wrapper.domNode;
332
356
  }
333
357
  expandCollapsibleWrapper() {
@@ -441,7 +465,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
441
465
  if (this._store.isDisposed) {
442
466
  return;
443
467
  }
444
- if (this._isInThinkingContainer) {
468
+ if (this._usesCollapsibleWrapper) {
445
469
  return;
446
470
  }
447
471
  const resolvedCommand = command ?? this._getResolvedCommand();
@@ -532,7 +556,7 @@ let ChatTerminalToolProgressPart = class ChatTerminalToolProgressPart extends Ba
532
556
  hasRealOutput
533
557
  })));
534
558
  store.add(autoExpand.onDidRequestExpand(() => {
535
- if (this._isInThinkingContainer) {
559
+ if (this._usesCollapsibleWrapper) {
536
560
  this.expandCollapsibleWrapper();
537
561
  }
538
562
  this._toggleOutput(true);
@@ -835,7 +859,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
835
859
  if (!commandText) {
836
860
  return;
837
861
  }
838
- const ariaLabel = ( localize(6063, "Terminal output for {0}", commandText));
862
+ const ariaLabel = ( localize(6586, "Terminal output for {0}", commandText));
839
863
  const scrollableDomNode = this._scrollableContainer.getDomNode();
840
864
  scrollableDomNode.setAttribute("role", "region");
841
865
  const accessibleViewHint = this._accessibleViewService.getOpenAriaHint(AccessibilityVerbositySettingId.TerminalChatOutput);
@@ -848,26 +872,26 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
848
872
  if (!commandText) {
849
873
  return undefined;
850
874
  }
851
- const commandHeader = ( localize(6064, "Command: {0}", commandText));
875
+ const commandHeader = ( localize(6587, "Command: {0}", commandText));
852
876
  if (command) {
853
877
  const rawOutput = command.getOutput();
854
878
  if (!rawOutput || rawOutput.trim().length === 0) {
855
- return `${commandHeader}\n${( localize(6065, "No output was produced by the command."))}`;
879
+ return `${commandHeader}\n${( localize(6588, "No output was produced by the command."))}`;
856
880
  }
857
881
  const lines = rawOutput.split("\n");
858
882
  return `${commandHeader}\n${lines.join("\n").trimEnd()}`;
859
883
  }
860
884
  const snapshot = this._getTerminalCommandOutput();
861
885
  if (!snapshot) {
862
- return `${commandHeader}\n${( localize(6066, "Command output is no longer available."))}`;
886
+ return `${commandHeader}\n${( localize(6589, "Command output is no longer available."))}`;
863
887
  }
864
888
  const plain = removeAnsiEscapeCodes((snapshot.text ?? ""));
865
889
  if (!plain.trim().length) {
866
- return `${commandHeader}\n${( localize(6065, "No output was produced by the command."))}`;
890
+ return `${commandHeader}\n${( localize(6588, "No output was produced by the command."))}`;
867
891
  }
868
892
  let outputText = plain.trimEnd();
869
893
  if (snapshot.truncated) {
870
- outputText += `\n${( localize(6067, "Output truncated."))}`;
894
+ outputText += `\n${( localize(6590, "Output truncated."))}`;
871
895
  }
872
896
  return `${commandHeader}\n${outputText}`;
873
897
  }
@@ -946,7 +970,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
946
970
  if (result.lineCount && result.lineCount > 0) {
947
971
  this._hideEmptyMessage();
948
972
  }
949
- this._layoutOutput(result.lineCount, result.maxColumnWidth);
973
+ this._layoutOutput(result.lineCount);
950
974
  if (this._isAtBottom) {
951
975
  this._scrollOutputToBottom();
952
976
  }
@@ -977,17 +1001,17 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
977
1001
  }
978
1002
  if (!hasOutput) {
979
1003
  if (commandFinished) {
980
- this._showEmptyMessage(( localize(6065, "No output was produced by the command.")));
1004
+ this._showEmptyMessage(( localize(6588, "No output was produced by the command.")));
981
1005
  }
982
1006
  } else {
983
1007
  this._hideEmptyMessage();
984
1008
  }
985
- this._layoutOutput(result?.lineCount ?? 0, result?.maxColumnWidth);
1009
+ this._layoutOutput(result?.lineCount ?? 0);
986
1010
  return true;
987
1011
  }
988
1012
  async _renderSnapshotOutput(snapshot) {
989
1013
  if (this._snapshotMirror) {
990
- this._layoutOutput(snapshot.lineCount ?? 0, this._lastRenderedMaxColumnWidth);
1014
+ this._layoutOutput(snapshot.lineCount ?? 0);
991
1015
  return;
992
1016
  }
993
1017
  if (this._store.isDisposed) {
@@ -1004,18 +1028,18 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
1004
1028
  if (hasText) {
1005
1029
  this._hideEmptyMessage();
1006
1030
  } else {
1007
- this._showEmptyMessage(( localize(6065, "No output was produced by the command.")));
1031
+ this._showEmptyMessage(( localize(6588, "No output was produced by the command.")));
1008
1032
  }
1009
1033
  const lineCount = result?.lineCount ?? snapshot.lineCount ?? 0;
1010
- this._layoutOutput(lineCount, result?.maxColumnWidth);
1034
+ this._layoutOutput(lineCount);
1011
1035
  }
1012
1036
  _renderUnavailableMessage(liveTerminalInstance) {
1013
1037
  clearNode(this._terminalContainer);
1014
1038
  this._lastRenderedLineCount = undefined;
1015
1039
  if (!liveTerminalInstance) {
1016
- this._showEmptyMessage(( localize(6068, "Terminal is no longer available.")));
1040
+ this._showEmptyMessage(( localize(6591, "Terminal is no longer available.")));
1017
1041
  } else {
1018
- this._showEmptyMessage(( localize(6069, "Command information is not available.")));
1042
+ this._showEmptyMessage(( localize(6592, "Command information is not available.")));
1019
1043
  }
1020
1044
  }
1021
1045
  async _resolveLiveTerminal() {
@@ -1055,7 +1079,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
1055
1079
  this._scrollableContainer.scanDomNode();
1056
1080
  }
1057
1081
  }
1058
- _layoutOutput(lineCount, maxColumnWidth) {
1082
+ _layoutOutput(lineCount) {
1059
1083
  if (!this._scrollableContainer) {
1060
1084
  return;
1061
1085
  }
@@ -1064,17 +1088,11 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
1064
1088
  } else {
1065
1089
  lineCount = this._lastRenderedLineCount;
1066
1090
  }
1067
- if (maxColumnWidth !== undefined) {
1068
- this._lastRenderedMaxColumnWidth = maxColumnWidth;
1069
- } else {
1070
- maxColumnWidth = this._lastRenderedMaxColumnWidth;
1071
- }
1072
1091
  this._scrollableContainer.scanDomNode();
1073
1092
  if (!this.isExpanded || lineCount === undefined) {
1074
1093
  return;
1075
1094
  }
1076
1095
  const scrollableDomNode = this._scrollableContainer.getDomNode();
1077
- this._applyContentWidth(maxColumnWidth);
1078
1096
  const rowHeight = this._computeRowHeightPx();
1079
1097
  const padding = this._getOutputPadding();
1080
1098
  const minHeight = rowHeight * MIN_OUTPUT_ROWS + padding;
@@ -1117,34 +1135,6 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
1117
1135
  const paddingBottom = Number.parseFloat(style.paddingBottom || "0");
1118
1136
  return paddingTop + paddingBottom;
1119
1137
  }
1120
- _applyContentWidth(maxColumnWidth) {
1121
- if (!this._scrollableContainer) {
1122
- return;
1123
- }
1124
- const window = getActiveWindow();
1125
- const font = this._terminalConfigurationService.getFont(window);
1126
- const charWidth = font.charWidth;
1127
- if (!charWidth || !maxColumnWidth || maxColumnWidth <= 0) {
1128
- return;
1129
- }
1130
- const horizontalPadding = 24;
1131
- const cursorWidth = charWidth;
1132
- const contentWidth = Math.ceil(maxColumnWidth * charWidth) + horizontalPadding + cursorWidth;
1133
- const parentWidth = this.domNode.parentElement?.clientWidth ?? 0;
1134
- const scrollableDomNode = this._scrollableContainer.getDomNode();
1135
- if (parentWidth > 0 && contentWidth < parentWidth) {
1136
- scrollableDomNode.style.width = `${contentWidth}px`;
1137
- this._outputBody.style.width = `${contentWidth}px`;
1138
- this._terminalContainer.style.width = `${contentWidth}px`;
1139
- this._terminalContainer.classList.add("chat-terminal-output-terminal-clipped");
1140
- } else {
1141
- scrollableDomNode.style.width = "";
1142
- this._outputBody.style.width = "";
1143
- this._terminalContainer.style.width = "";
1144
- this._terminalContainer.classList.remove("chat-terminal-output-terminal-clipped");
1145
- }
1146
- this._scrollableContainer.scanDomNode();
1147
- }
1148
1138
  _computeRowHeightPx() {
1149
1139
  const window = getActiveWindow();
1150
1140
  const font = this._terminalConfigurationService.getFont(window);
@@ -1168,7 +1158,7 @@ let ChatTerminalToolOutputSection = class ChatTerminalToolOutputSection extends
1168
1158
  ChatTerminalToolOutputSection = ( __decorate([( __param(5, IAccessibleViewService)), ( __param(6, IInstantiationService)), ( __param(7, ITerminalConfigurationService)), ( __param(8, IThemeService)), ( __param(9, IContextKeyService))], ChatTerminalToolOutputSection));
1169
1159
  let ToggleChatTerminalOutputAction = class ToggleChatTerminalOutputAction extends Action {
1170
1160
  constructor(_toggle, _keybindingService, _telemetryService) {
1171
- super(TerminalContribCommandId.ToggleChatTerminalOutput, ( localize(6070, "Show Output")), ThemeIcon.asClassName(Codicon.chevronRight), true);
1161
+ super(TerminalContribCommandId.ToggleChatTerminalOutput, ( localize(6593, "Show Output")), ThemeIcon.asClassName(Codicon.chevronRight), true);
1172
1162
  this._toggle = _toggle;
1173
1163
  this._keybindingService = _keybindingService;
1174
1164
  this._telemetryService = _telemetryService;
@@ -1191,10 +1181,10 @@ let ToggleChatTerminalOutputAction = class ToggleChatTerminalOutputAction extend
1191
1181
  }
1192
1182
  _updatePresentation() {
1193
1183
  if (this._expanded) {
1194
- this.label = ( localize(6071, "Hide Output"));
1184
+ this.label = ( localize(6594, "Hide Output"));
1195
1185
  this.class = ThemeIcon.asClassName(Codicon.chevronDown);
1196
1186
  } else {
1197
- this.label = ( localize(6070, "Show Output"));
1187
+ this.label = ( localize(6593, "Show Output"));
1198
1188
  this.class = ThemeIcon.asClassName(Codicon.chevronRight);
1199
1189
  }
1200
1190
  }
@@ -1218,7 +1208,7 @@ let FocusChatInstanceAction = class FocusChatInstanceAction extends Action {
1218
1208
  ) {
1219
1209
  super(
1220
1210
  TerminalContribCommandId.FocusChatInstanceAction,
1221
- isTerminalHidden ? ( localize(6072, "Show and Focus Terminal")) : ( localize(6073, "Focus Terminal")),
1211
+ isTerminalHidden ? ( localize(6595, "Show and Focus Terminal")) : ( localize(6596, "Focus Terminal")),
1222
1212
  ThemeIcon.asClassName(Codicon.openInProduct),
1223
1213
  true
1224
1214
  );
@@ -1234,7 +1224,7 @@ let FocusChatInstanceAction = class FocusChatInstanceAction extends Action {
1234
1224
  this._updateTooltip();
1235
1225
  }
1236
1226
  async run() {
1237
- this.label = this._instance?.shellLaunchConfig.hideFromUser ? ( localize(6074, "Show and Focus Terminal")) : ( localize(6073, "Focus Terminal"));
1227
+ this.label = this._instance?.shellLaunchConfig.hideFromUser ? ( localize(6597, "Show and Focus Terminal")) : ( localize(6596, "Focus Terminal"));
1238
1228
  this._updateTooltip();
1239
1229
  let target = "none";
1240
1230
  let location = "panel";
@@ -1291,7 +1281,7 @@ let FocusChatInstanceAction = class FocusChatInstanceAction extends Action {
1291
1281
  FocusChatInstanceAction = ( __decorate([( __param(5, ITerminalService)), ( __param(6, ITerminalEditorService)), ( __param(7, ITerminalGroupService)), ( __param(8, IKeybindingService)), ( __param(9, ITelemetryService))], FocusChatInstanceAction));
1292
1282
  let ContinueInBackgroundAction = class ContinueInBackgroundAction extends Action {
1293
1283
  constructor(_terminalToolSessionId, _terminalChatService) {
1294
- super(TerminalContribCommandId.ContinueInBackground, ( localize(6075, "Continue in Background")), ThemeIcon.asClassName(Codicon.debugContinue), true);
1284
+ super(TerminalContribCommandId.ContinueInBackground, ( localize(6598, "Continue in Background")), ThemeIcon.asClassName(Codicon.debugContinue), true);
1295
1285
  this._terminalToolSessionId = _terminalToolSessionId;
1296
1286
  this._terminalChatService = _terminalChatService;
1297
1287
  }
@@ -1307,14 +1297,18 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
1307
1297
  context,
1308
1298
  initialExpanded,
1309
1299
  isComplete,
1310
- hoverService
1300
+ hoverService,
1301
+ configurationService
1311
1302
  ) {
1312
1303
  const title = isComplete ? `Ran \`${commandText}\`` : `Running \`${commandText}\``;
1313
- super(title, context, undefined, hoverService);
1304
+ super(title, context, undefined, hoverService, configurationService);
1314
1305
  this._terminalContentElement = contentElement;
1315
1306
  this._commandText = commandText;
1316
1307
  this._isComplete = isComplete;
1317
1308
  this.domNode.classList.add("chat-terminal-thinking-collapsible");
1309
+ if (isComplete) {
1310
+ this.icon = Codicon.check;
1311
+ }
1318
1312
  this._setCodeFormattedTitle();
1319
1313
  this.setExpanded(initialExpanded);
1320
1314
  }
@@ -1324,7 +1318,7 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
1324
1318
  }
1325
1319
  const labelElement = this._collapseButton.labelElement;
1326
1320
  labelElement.textContent = "";
1327
- const prefixText = this._isComplete ? ( localize(6076, "Ran ")) : ( localize(6077, "Running "));
1321
+ const prefixText = this._isComplete ? ( localize(6599, "Ran ")) : ( localize(6600, "Running "));
1328
1322
  const ranText = createTextNode(prefixText);
1329
1323
  const codeElement = createElement("code");
1330
1324
  codeElement.textContent = this._commandText;
@@ -1336,6 +1330,7 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
1336
1330
  return;
1337
1331
  }
1338
1332
  this._isComplete = true;
1333
+ this.icon = Codicon.check;
1339
1334
  this._setCodeFormattedTitle();
1340
1335
  }
1341
1336
  initContent() {
@@ -1350,6 +1345,6 @@ let ChatTerminalThinkingCollapsibleWrapper = class ChatTerminalThinkingCollapsib
1350
1345
  return false;
1351
1346
  }
1352
1347
  };
1353
- ChatTerminalThinkingCollapsibleWrapper = ( __decorate([( __param(5, IHoverService))], ChatTerminalThinkingCollapsibleWrapper));
1348
+ ChatTerminalThinkingCollapsibleWrapper = ( __decorate([( __param(5, IHoverService)), ( __param(6, IConfigurationService))], ChatTerminalThinkingCollapsibleWrapper));
1354
1349
 
1355
1350
  export { ChatTerminalToolProgressPart, ContinueInBackgroundAction, FocusChatInstanceAction, ToggleChatTerminalOutputAction };
@@ -32,7 +32,7 @@ export declare class ToolConfirmationSubPart extends AbstractToolConfirmationSub
32
32
  private markdownParts;
33
33
  get codeblocks(): IChatCodeBlockInfo[];
34
34
  constructor(toolInvocation: IChatToolInvocation, context: IChatContentPartRenderContext, renderer: IMarkdownRenderer, editorPool: EditorPool, currentWidthDelegate: () => number, codeBlockModelCollection: CodeBlockModelCollection, codeBlockStartIndex: number, instantiationService: IInstantiationService, keybindingService: IKeybindingService, modelService: IModelService, languageService: ILanguageService, contextKeyService: IContextKeyService, chatWidgetService: IChatWidgetService, commandService: ICommandService, markerService: IMarkerService, languageModelToolsService: ILanguageModelToolsService, chatMarkdownAnchorService: IChatMarkdownAnchorService, confirmationService: ILanguageModelToolsConfirmationService);
35
- protected additionalPrimaryActions(): (Separator | import("../chatConfirmationWidget.js").IChatConfirmationButton<() => void>)[];
35
+ protected additionalPrimaryActions(): (Separator | import("./abstractToolConfirmationSubPart.js").IAbstractToolPrimaryAction)[];
36
36
  protected createContentElement(): HTMLElement | string;
37
37
  protected getTitle(): string;
38
38
  private _makeMarkdownPart;
@@ -82,8 +82,8 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
82
82
  this.render({
83
83
  allowActionId: AcceptToolConfirmationActionId,
84
84
  skipActionId: SkipToolConfirmationActionId,
85
- allowLabel: state.confirmationMessages.confirmResults ? ( localize(6078, "Allow and Review")) : ( localize(6079, "Allow")),
86
- skipLabel: ( localize(6080, "Proceed without running this tool")),
85
+ allowLabel: state.confirmationMessages.confirmResults ? ( localize(6601, "Allow and Review Once")) : ( localize(6602, "Allow Once")),
86
+ skipLabel: ( localize(6603, "Proceed without running this tool")),
87
87
  partType: "chatToolConfirmation",
88
88
  subtitle: typeof toolInvocation.originMessage === "string" ? toolInvocation.originMessage : toolInvocation.originMessage?.value
89
89
  });
@@ -108,6 +108,7 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
108
108
  actions.push({
109
109
  label: action.label,
110
110
  tooltip: action.detail,
111
+ scope: action.scope,
111
112
  data: async () => {
112
113
  const shouldConfirm = await action.select();
113
114
  if (shouldConfirm) {
@@ -121,7 +122,7 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
121
122
  }
122
123
  if (state.confirmationMessages?.confirmResults) {
123
124
  actions.unshift({
124
- label: ( localize(6081, "Allow and Skip Reviewing Result")),
125
+ label: ( localize(6604, "Allow and Skip Reviewing Result")),
125
126
  data: () => {
126
127
  state.confirmationMessages.confirmResults = undefined;
127
128
  this.confirmWith(this.toolInvocation, {
@@ -156,11 +157,11 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
156
157
  };
157
158
  const elements = h("div", [h(".message@messageContainer", [
158
159
  h(".message-wrapper@message"),
159
- h(".see-more@showMore", [h("a", [( localize(6082, "Show More"))])])
160
+ h(".see-more@showMore", [h("a", [( localize(6605, "Show More"))])])
160
161
  ]), h(".editor@editor"), h(".disclaimer@disclaimer")]);
161
162
  if (toolInvocation.toolSpecificData?.kind === "input" && toolInvocation.toolSpecificData.rawInput && !isEmptyObject(toolInvocation.toolSpecificData.rawInput)) {
162
163
  const titleEl = createElement("h3");
163
- titleEl.textContent = ( localize(6083, "Input"));
164
+ titleEl.textContent = ( localize(6606, "Input"));
164
165
  elements.editor.appendChild(titleEl);
165
166
  const inputData = toolInvocation.toolSpecificData;
166
167
  const codeBlockRenderOptions = {
@@ -225,9 +226,6 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
225
226
  uriPromise: Promise.resolve(model.uri),
226
227
  chatSessionResource: this.context.element.sessionResource
227
228
  });
228
- this._register(editor.object.onDidChangeContentHeight(() => {
229
- editor.object.layout(this.currentWidthDelegate());
230
- }));
231
229
  this._register(model.onDidChangeContent(e => {
232
230
  try {
233
231
  inputData.rawInput = JSON.parse(model.getValue());
@@ -236,7 +234,7 @@ let ToolConfirmationSubPart = class ToolConfirmationSubPart extends AbstractTool
236
234
  elements.editor.append(editor.object.element);
237
235
  if (canSeeMore) {
238
236
  const seeMore = h("div.see-more", [h("a@link")]);
239
- seeMore.link.textContent = ( localize(6084, "See more"));
237
+ seeMore.link.textContent = ( localize(6607, "See more"));
240
238
  this._register(addDisposableGenericMouseDownListener(seeMore.link, () => {
241
239
  try {
242
240
  const parsed = JSON.parse(model.getValue());