@codingame/monaco-vscode-katex-common 30.0.1 → 31.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 (276) hide show
  1. package/package.json +3 -3
  2. package/vscode/src/vs/platform/actions/browser/actionbar.d.ts +16 -0
  3. package/vscode/src/vs/platform/actions/browser/actionbar.js +22 -0
  4. package/vscode/src/vs/platform/actions/browser/buttonbar.js +2 -2
  5. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.d.ts +50 -0
  6. package/vscode/src/vs/platform/networkFilter/common/domainMatcher.js +138 -0
  7. package/vscode/src/vs/platform/networkFilter/common/settings.d.ts +12 -0
  8. package/vscode/src/vs/platform/networkFilter/common/settings.js +14 -0
  9. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +18 -0
  10. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +13 -0
  11. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.d.ts +73 -0
  12. package/vscode/src/vs/platform/sandbox/common/terminalSandboxService.js +10 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +3 -1
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +51 -24
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +2 -1
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +64 -72
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +10 -10
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +2 -1
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +17 -14
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +13 -13
  23. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +1 -1
  24. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +17 -18
  25. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +5 -2
  26. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +5 -0
  27. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +73 -9
  28. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +1 -1
  29. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +32 -32
  30. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.d.ts +1 -0
  31. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentModel.js +20 -2
  32. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +1 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +73 -49
  34. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +12 -12
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.d.ts +0 -6
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +41 -99
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +2 -1
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +13 -9
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
  42. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +14 -15
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.d.ts +11 -12
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +339 -161
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +9 -2
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +9 -4
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +33 -5
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.d.ts +43 -1
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollections.js +147 -2
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +4 -0
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +55 -6
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.d.ts +1 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.js +7 -5
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +1 -3
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +42 -10
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animation.d.ts +18 -0
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animationRegistry.d.ts +15 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/animationRegistry.js +16 -0
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/blockAnimations.d.ts +13 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/animations/blockAnimations.js +33 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/buffer.d.ts +46 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/bufferRegistry.d.ts +11 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/bufferRegistry.js +12 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/offBuffer.d.ts +9 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/offBuffer.js +12 -0
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.d.ts +23 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/paragraphBuffer.js +37 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/wordBuffer.d.ts +34 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/buffers/wordBuffer.js +68 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.d.ts +77 -0
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/chatIncrementalRendering.js +170 -0
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatIncrementalRendering/media/chatIncrementalRendering.css +112 -0
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +3 -1
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +26 -16
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +24 -6
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +111 -145
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.d.ts +58 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPlanReviewPart.js +425 -0
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +16 -7
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +68 -25
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +5 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +101 -45
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +36 -4
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +217 -25
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +6 -6
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +23 -3
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +168 -60
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +10 -10
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +18 -17
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +1 -5
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +7 -18
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.d.ts +1 -5
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +7 -19
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +24 -19
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +104 -78
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +11 -2
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatPlanReview.css +257 -0
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +19 -0
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatSubagentContent.css +30 -0
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +1 -1
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +12 -0
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatToolConfirmationCarousel.css +286 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.js +2 -2
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +15 -11
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +1 -7
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +25 -47
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +29 -53
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +258 -321
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.d.ts +53 -0
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationCarouselPart.js +392 -0
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +1 -3
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +24 -30
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +2 -3
  136. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +9 -8
  137. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  138. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +5 -5
  139. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
  140. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.d.ts +6 -3
  141. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/terminalToolAutoExpand.js +2 -3
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +38 -11
  144. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +577 -113
  145. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +0 -7
  146. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +4 -7
  147. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +1 -8
  148. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +58 -75
  149. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  150. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +44 -12
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +362 -188
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +0 -2
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +4 -5
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +42 -95
  155. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +2 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +9 -10
  157. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +57 -38
  158. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +21 -15
  159. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/{modelPickerActionItem2.js → modelPickerActionItem.js} +5 -7
  160. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +38 -31
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +4 -5
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +94 -40
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +7 -7
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +2 -2
  166. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +16 -0
  167. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +218 -0
  168. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +7 -7
  169. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +6 -1
  170. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +15 -15
  171. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +12 -21
  172. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +2 -32
  173. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +355 -156
  174. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +2 -13
  175. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +72 -65
  176. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +4 -43
  177. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +238 -204
  178. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.d.ts +4 -19
  179. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +128 -115
  180. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.d.ts +6 -9
  181. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +152 -49
  182. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +64 -0
  183. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +40 -40
  184. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  185. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  186. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  187. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +2 -2
  188. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +24 -24
  189. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +3 -3
  190. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +7 -7
  191. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +1 -1
  192. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +5 -5
  193. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +1 -1
  194. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  196. package/vscode/src/vs/workbench/contrib/terminal/terminalContribChatExports.d.ts +2 -0
  197. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.d.ts +2 -0
  198. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +41 -0
  199. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
  200. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
  201. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
  202. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +45 -0
  203. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +165 -0
  204. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +53 -0
  205. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +163 -0
  206. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +27 -0
  207. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +142 -0
  208. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +29 -0
  209. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +144 -0
  210. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.d.ts +40 -0
  211. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +174 -0
  212. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.d.ts +7 -0
  213. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +43 -0
  214. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +42 -0
  215. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +256 -0
  216. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +42 -0
  217. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +94 -0
  218. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +42 -0
  219. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +221 -0
  220. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +31 -0
  221. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +392 -0
  222. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.d.ts +45 -0
  223. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +243 -0
  224. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +52 -0
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.js +10 -0
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.d.ts +20 -0
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +310 -0
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.d.ts +19 -0
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +168 -0
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +11 -0
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +33 -0
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +13 -0
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +22 -0
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.d.ts +22 -0
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineBackgroundDetachRewriter.js +47 -0
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.d.ts +5 -0
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +27 -0
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.d.ts +14 -0
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +29 -0
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.d.ts +8 -0
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePwshChainOperatorRewriter.js +33 -0
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +24 -0
  250. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -0
  251. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +32 -0
  252. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +108 -0
  253. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +412 -0
  254. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +42 -0
  255. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +23 -0
  256. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/outputAnalyzer.d.ts +9 -0
  257. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +192 -0
  258. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +2258 -0
  259. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.d.ts +22 -0
  260. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +43 -0
  261. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +17 -0
  262. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +118 -0
  263. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.d.ts +22 -0
  264. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalToolAutoApprove.js +44 -0
  265. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +1 -0
  266. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +25 -0
  267. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +141 -0
  268. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +85 -0
  269. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +608 -0
  270. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.d.ts +0 -40
  271. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +0 -196
  272. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +0 -29
  273. package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.d.ts +0 -46
  274. package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.js +0 -215
  275. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +0 -18
  276. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +0 -107
@@ -16,6 +16,7 @@ import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform
16
16
  import { IEditSessionDiffStats } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService";
17
17
  export declare function getToolInvocationIcon(toolId: string, registeredIcon?: ThemeIcon): ThemeIcon;
18
18
  export declare function createThinkingIcon(icon: ThemeIcon): HTMLElement;
19
+ export declare const defaultThinkingMessages: string[];
19
20
  /**
20
21
  * Builds a phrase pool from defaults and user-configured custom phrases.
21
22
  * In 'replace' mode, only custom phrases are used; in 'append' mode (default),
@@ -69,10 +70,12 @@ export declare class ChatThinkingContentPart extends ChatCollapsibleContentPart
69
70
  private pendingRemovals;
70
71
  private pendingRemovalFlushDisposable;
71
72
  private pendingScrollDisposable;
72
- private mutationObserverDisposable;
73
+ private wrapperResizeObserverDisposable;
74
+ private childResizeObserver;
73
75
  private isUpdatingDimensions;
74
76
  private lastKnownContentHeight;
75
77
  private lastKnownScrollTop;
78
+ private readonly showProgressDetails;
76
79
  private titleShimmerSpan;
77
80
  private titleDetailContainer;
78
81
  private readonly _externalResourceWidget;
@@ -87,7 +90,11 @@ export declare class ChatThinkingContentPart extends ChatCollapsibleContentPart
87
90
  private handleScroll;
88
91
  private updateFadeClasses;
89
92
  private syncDimensionsAndScheduleScroll;
90
- private updateScrollDimensions;
93
+ /**
94
+ * Re-read scrollHeight from the DOM and update cached height if changed.
95
+ */
96
+ private refreshContentHeight;
97
+ private updateScrollDimensionsFromCache;
91
98
  private scrollToBottom;
92
99
  /**
93
100
  * updates scroll dimensions when streaming is complete.
@@ -103,6 +110,7 @@ export declare class ChatThinkingContentPart extends ChatCollapsibleContentPart
103
110
  collapseContent(): void;
104
111
  updateThinking(content: IChatThinkingPart): void;
105
112
  getIsActive(): boolean;
113
+ get isFixedScrollingMode(): boolean;
106
114
  /**
107
115
  * Returns true when this thinking part has no meaningful content to display:
108
116
  * no tool invocations, no lazy items, no hooks, and no thinking text.
@@ -126,12 +134,24 @@ export declare class ChatThinkingContentPart extends ChatCollapsibleContentPart
126
134
  * Appends a tool invocation or content item to the thinking group.
127
135
  * The factory is called lazily - only when the thinking section is expanded.
128
136
  * If already expanded, the factory is called immediately.
137
+ *
138
+ * When the caller has already created the content part eagerly (for example, a
139
+ * pre-built `ChatMarkdownContentPart` wrapped in a factory), the caller MUST pass
140
+ * that part as `eagerDisposable` so it is registered on this thinking part
141
+ * immediately. Otherwise, if the thinking section is collapsed and the lazy item
142
+ * is never materialized (because the user never expands it), the eagerly-created
143
+ * part would leak: its disposable is only referenced from inside the factory's
144
+ * closure, which nothing ever calls.
129
145
  */
130
146
  appendItem(factory: () => {
131
147
  domNode: HTMLElement;
132
148
  disposable?: IDisposable;
133
- }, toolInvocationId?: string, toolInvocationOrMarkdown?: IChatToolInvocation | IChatToolInvocationSerialized | IChatMarkdownContent, originalParent?: HTMLElement, onDidChangeDiff?: Event<IEditSessionDiffStats>): void;
149
+ }, toolInvocationId?: string, toolInvocationOrMarkdown?: IChatToolInvocation | IChatToolInvocationSerialized | IChatMarkdownContent, originalParent?: HTMLElement, onDidChangeDiff?: Event<IEditSessionDiffStats>, eagerDisposable?: IDisposable): void;
134
150
  removeMaterializedItem(toolCallId: string): void;
151
+ /**
152
+ * Removes a markdown edit pill child by its part ID (codeblocksPartId).
153
+ */
154
+ removeEditPillByPartId(partId: string): void;
135
155
  /**
136
156
  * removes/re-establishes a lazy item from the thinking container
137
157
  * this is needed so we can check if there are confirmations still needed
@@ -1,7 +1,7 @@
1
1
 
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
- import { $, scheduleAtNextAnimationFrame, getWindow, clearNode, hide } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
+ import { $, scheduleAtNextAnimationFrame, getWindow, DisposableResizeObserver, clearNode, hide } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
5
5
  import { alert } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/aria/aria';
6
6
  import { DomScrollableElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/scrollbar/scrollableElement';
7
7
  import { ScrollbarVisibility } from '@codingame/monaco-vscode-api/vscode/vs/base/common/scrollable';
@@ -91,9 +91,9 @@ var WorkingMessageCategory;
91
91
  WorkingMessageCategory["Terminal"] = "terminal";
92
92
  WorkingMessageCategory["Tool"] = "tool";
93
93
  })(WorkingMessageCategory || (WorkingMessageCategory = {}));
94
- const defaultThinkingMessages = [( localize(6838, "Thinking")), ( localize(6839, "Reasoning")), ( localize(6840, "Considering")), ( localize(6841, "Analyzing")), ( localize(6842, "Evaluating"))];
95
- const terminalMessages = [( localize(6843, "Executing")), ( localize(6844, "Running")), ( localize(6845, "Processing"))];
96
- const toolMessages = [( localize(6846, "Processing")), ( localize(6847, "Preparing")), ( localize(6848, "Loading")), ( localize(6849, "Analyzing")), ( localize(6850, "Evaluating"))];
94
+ const defaultThinkingMessages = [( localize(6950, "Thinking")), ( localize(6951, "Reasoning")), ( localize(6952, "Considering")), ( localize(6953, "Analyzing")), ( localize(6954, "Evaluating")), ( localize(6955, "Working"))];
95
+ const terminalMessages = [( localize(6956, "Executing")), ( localize(6957, "Running")), ( localize(6958, "Processing"))];
96
+ const toolMessages = [( localize(6959, "Processing")), ( localize(6960, "Preparing")), ( localize(6961, "Loading")), ( localize(6962, "Analyzing")), ( localize(6963, "Evaluating"))];
97
97
  function buildPhrasePool(defaults, configurationService) {
98
98
  const config = configurationService.getValue(ChatConfiguration.ThinkingPhrases);
99
99
  const customPhrases = Array.isArray(config?.phrases) ? ( config.phrases.filter(phrase => typeof phrase === "string").map(phrase => phrase.trim())).filter(phrase => phrase.length > 0) : [];
@@ -146,7 +146,7 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
146
146
  storageService
147
147
  ) {
148
148
  const initialText = extractTextFromPart(content);
149
- const extractedTitle = extractTitleFromThinkingContent(initialText) ?? ( localize(6851, "Thinking"));
149
+ const extractedTitle = extractTitleFromThinkingContent(initialText) ?? ( localize(6964, "Thinking"));
150
150
  super(extractedTitle, context, undefined, hoverService, configurationService);
151
151
  this.chatContentMarkdownRenderer = chatContentMarkdownRenderer;
152
152
  this.streamingCompleted = streamingCompleted;
@@ -157,8 +157,8 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
157
157
  this.storageService = storageService;
158
158
  this._onDidChangeHeight = this._register(( new Emitter()));
159
159
  this._asyncRenderCallback = () => this._onDidChangeHeight.fire();
160
- this.defaultTitle = ( localize(6852, "Thinking"));
161
- this.workingTitle = ( localize(6853, "Working"));
160
+ this.defaultTitle = ( localize(6965, "Thinking"));
161
+ this.workingTitle = ( localize(6966, "Working"));
162
162
  this._markdownResult = this._register(( new MutableDisposable()));
163
163
  this.fixedScrollingMode = false;
164
164
  this.autoScrollEnabled = true;
@@ -190,18 +190,20 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
190
190
  this.id = content.id;
191
191
  this.content = content;
192
192
  this.allThinkingParts.push(content);
193
+ this.showProgressDetails = this.configurationService.getValue(ChatConfiguration.ChatPersistentProgressEnabled) !== false;
193
194
  const configuredMode = this.configurationService.getValue("chat.agent.thinkingStyle") ?? ThinkingDisplayMode.Collapsed;
194
195
  this.fixedScrollingMode = configuredMode === ThinkingDisplayMode.FixedScrolling;
195
196
  this.currentTitle = extractedTitle;
196
197
  if (extractedTitle !== this.defaultTitle) {
197
198
  this.lastExtractedTitle = extractedTitle;
199
+ this.extractedTitles.push(extractedTitle);
198
200
  }
199
201
  this.currentThinkingValue = initialText;
200
202
  if (initialText.trim()) {
201
203
  this.appendedItemCount++;
202
204
  }
203
205
  if (this.configurationService.getValue(AccessibilityWorkbenchSettingId.VerboseChatProgressUpdates)) {
204
- alert(( localize(6854, "Thinking")));
206
+ alert(( localize(6967, "Thinking")));
205
207
  }
206
208
  if (configuredMode === ThinkingDisplayMode.Collapsed) {
207
209
  this.setExpanded(false);
@@ -233,6 +235,9 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
233
235
  }
234
236
  if (this.fixedScrollingMode) {
235
237
  node.classList.add("chat-thinking-fixed-mode");
238
+ if (!this.streamingCompleted && !this.element.isComplete && this.showProgressDetails) {
239
+ node.classList.add("chat-thinking-persistent-streaming");
240
+ }
236
241
  this.currentTitle = this.defaultTitle;
237
242
  }
238
243
  this._register(toDisposable(() => {
@@ -309,7 +314,7 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
309
314
  this.wrapper.appendChild(this.textContainer);
310
315
  this.renderMarkdown(this.currentThinkingValue);
311
316
  }
312
- if (!this.streamingCompleted && !this.element.isComplete) {
317
+ if (!this.streamingCompleted && !this.element.isComplete && !(this.fixedScrollingMode && this.showProgressDetails)) {
313
318
  this.workingSpinnerElement = $(".chat-thinking-item.chat-thinking-spinner-item");
314
319
  const spinnerIcon = createThinkingIcon(Codicon.circleFilled);
315
320
  this.workingSpinnerElement.appendChild(spinnerIcon);
@@ -326,21 +331,57 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
326
331
  alwaysConsumeMouseWheel: false
327
332
  })));
328
333
  this._register(this.scrollableElement.onScroll(e => this.handleScroll(e.scrollTop)));
334
+ let pendingMutationRefresh;
329
335
  const mutationObserver = new mainWindow.MutationObserver(() => {
330
- if (!this.streamingCompleted && this.domNode.classList.contains("chat-used-context-collapsed")) {
331
- this.syncDimensionsAndScheduleScroll();
336
+ if (pendingMutationRefresh) {
337
+ return;
332
338
  }
339
+ pendingMutationRefresh = scheduleAtNextAnimationFrame(getWindow(this.wrapper), () => {
340
+ pendingMutationRefresh = undefined;
341
+ if (this.streamingCompleted || !this.domNode.classList.contains("chat-used-context-collapsed")) {
342
+ return;
343
+ }
344
+ this.refreshContentHeight();
345
+ this.updateScrollDimensionsFromCache();
346
+ });
333
347
  });
334
348
  mutationObserver.observe(this.wrapper, {
335
349
  childList: true,
336
- subtree: true,
337
- characterData: true
350
+ subtree: true
338
351
  });
339
- this.mutationObserverDisposable = {
340
- dispose: () => mutationObserver.disconnect()
341
- };
342
- this._register(this.mutationObserverDisposable);
352
+ this._register({
353
+ dispose: () => {
354
+ mutationObserver.disconnect();
355
+ pendingMutationRefresh?.dispose();
356
+ }
357
+ });
358
+ this.childResizeObserver = this._register(( new DisposableResizeObserver(() => {
359
+ if (this.streamingCompleted || !this.domNode.classList.contains("chat-used-context-collapsed")) {
360
+ return;
361
+ }
362
+ this.syncDimensionsAndScheduleScroll();
363
+ })));
364
+ if (this.textContainer) {
365
+ this._register(this.childResizeObserver.observe(this.textContainer));
366
+ }
367
+ if (this.workingSpinnerElement) {
368
+ this._register(this.childResizeObserver.observe(this.workingSpinnerElement));
369
+ }
370
+ const wrapperResizeObserver = this._register(( new DisposableResizeObserver(entries => {
371
+ if (entries[0]) {
372
+ this.lastKnownContentHeight = this.wrapper.scrollHeight;
373
+ if (!this.streamingCompleted && this.domNode.classList.contains("chat-used-context-collapsed")) {
374
+ this.updateScrollDimensionsFromCache();
375
+ }
376
+ }
377
+ })));
378
+ this.wrapperResizeObserverDisposable = this._register(wrapperResizeObserver.observe(this.wrapper));
343
379
  this._register(this._onDidChangeHeight.event(() => {
380
+ if (!this.streamingCompleted && this.wrapperResizeObserverDisposable) {
381
+ this.refreshContentHeight();
382
+ this.updateScrollDimensionsFromCache();
383
+ return;
384
+ }
344
385
  this.syncDimensionsAndScheduleScroll();
345
386
  }));
346
387
  this.syncDimensionsAndScheduleScroll();
@@ -385,38 +426,49 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
385
426
  if (this._store.isDisposed) {
386
427
  return;
387
428
  }
388
- this.isUpdatingDimensions = true;
389
- try {
390
- const contentHeight = this.updateScrollDimensions();
391
- if (this.autoScrollEnabled && contentHeight !== undefined) {
392
- this.scrollToBottom(contentHeight);
393
- }
394
- } finally {
395
- this.isUpdatingDimensions = false;
396
- }
397
- this.updateFadeClasses(this.lastKnownScrollTop, this.lastKnownContentHeight);
429
+ this.refreshContentHeight();
430
+ this.updateScrollDimensionsFromCache();
398
431
  });
399
432
  }
400
- updateScrollDimensions() {
401
- if (!this.scrollableElement) {
402
- return undefined;
433
+ refreshContentHeight() {
434
+ if (!this.wrapper || !this.scrollableElement) {
435
+ return;
436
+ }
437
+ const newHeight = this.wrapper.scrollHeight;
438
+ if (newHeight && newHeight !== this.lastKnownContentHeight) {
439
+ this.lastKnownContentHeight = newHeight;
440
+ }
441
+ }
442
+ updateScrollDimensionsFromCache() {
443
+ if (!this.scrollableElement || this._store.isDisposed) {
444
+ return;
403
445
  }
404
446
  const isCollapsed = this.domNode.classList.contains("chat-used-context-collapsed");
405
447
  if (!isCollapsed) {
406
- return undefined;
448
+ return;
449
+ }
450
+ const contentHeight = this.lastKnownContentHeight;
451
+ if (!contentHeight) {
452
+ return;
407
453
  }
408
- const contentHeight = this.wrapper.scrollHeight;
409
- this.lastKnownContentHeight = contentHeight;
410
454
  const viewportHeight = Math.min(contentHeight, THINKING_SCROLL_MAX_HEIGHT);
411
- this.scrollableElement.setScrollDimensions({
412
- width: this.scrollableElement.getDomNode().clientWidth,
413
- scrollWidth: this.wrapper.scrollWidth,
414
- height: viewportHeight,
415
- scrollHeight: contentHeight
416
- });
417
- this.lastKnownScrollTop = this.scrollableElement.getScrollPosition().scrollTop;
455
+ this.isUpdatingDimensions = true;
456
+ try {
457
+ const viewportWidth = this.scrollableElement.getDomNode().clientWidth;
458
+ this.scrollableElement.setScrollDimensions({
459
+ width: viewportWidth,
460
+ scrollWidth: viewportWidth,
461
+ height: viewportHeight,
462
+ scrollHeight: contentHeight
463
+ });
464
+ if (this.autoScrollEnabled) {
465
+ this.scrollToBottom(contentHeight);
466
+ }
467
+ } finally {
468
+ this.isUpdatingDimensions = false;
469
+ }
470
+ this.updateFadeClasses(this.lastKnownScrollTop, this.lastKnownContentHeight);
418
471
  this.updateDropdownClickability(contentHeight);
419
- return contentHeight;
420
472
  }
421
473
  scrollToBottom(contentHeight) {
422
474
  if (!this.scrollableElement) {
@@ -436,10 +488,12 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
436
488
  return;
437
489
  }
438
490
  const contentHeight = this.wrapper.scrollHeight;
491
+ this.lastKnownContentHeight = contentHeight;
439
492
  const viewportHeight = Math.min(contentHeight, THINKING_SCROLL_MAX_HEIGHT);
493
+ const viewportWidth = this.scrollableElement.getDomNode().clientWidth;
440
494
  this.scrollableElement.setScrollDimensions({
441
- width: this.scrollableElement.getDomNode().clientWidth,
442
- scrollWidth: this.wrapper.scrollWidth,
495
+ width: viewportWidth,
496
+ scrollWidth: viewportWidth,
443
497
  height: viewportHeight,
444
498
  scrollHeight: contentHeight
445
499
  });
@@ -509,9 +563,9 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
509
563
  diffContainer.appendChild($("span.label-added", {}, `+${added}`));
510
564
  diffContainer.appendChild($("span.label-removed", {}, `-${removed}`));
511
565
  labelElement.appendChild(diffContainer);
512
- const insertionsFragment = added === 1 ? ( localize(6855, "1 insertion")) : ( localize(6856, "{0} insertions", added));
513
- const deletionsFragment = removed === 1 ? ( localize(6857, "1 deletion")) : ( localize(6858, "{0} deletions", removed));
514
- this._collapseButton.element.ariaLabel = ( localize(6859, "{0}, {1}, {2}", title, insertionsFragment, deletionsFragment));
566
+ const insertionsFragment = added === 1 ? ( localize(6968, "1 insertion")) : ( localize(6969, "{0} insertions", added));
567
+ const deletionsFragment = removed === 1 ? ( localize(6970, "1 deletion")) : ( localize(6971, "{0} deletions", removed));
568
+ this._collapseButton.element.ariaLabel = ( localize(6972, "{0}, {1}, {2}", title, insertionsFragment, deletionsFragment));
515
569
  } else {
516
570
  this._collapseButton.element.ariaLabel = title;
517
571
  }
@@ -548,7 +602,7 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
548
602
  updateDropdownClickability(knownContentHeight) {
549
603
  let allowExpansion = this.shouldAllowExpansion();
550
604
  if (allowExpansion && this.fixedScrollingMode && !this.streamingCompleted && !this.element.isComplete && this.wrapper) {
551
- const contentHeight = knownContentHeight ?? this.wrapper.scrollHeight;
605
+ const contentHeight = knownContentHeight ?? (this.lastKnownContentHeight || this.wrapper.scrollHeight);
552
606
  if (contentHeight <= THINKING_SCROLL_MAX_HEIGHT) {
553
607
  allowExpansion = false;
554
608
  }
@@ -595,7 +649,8 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
595
649
  this.currentThinkingValue = next;
596
650
  this.renderMarkdown(next, reuseExisting);
597
651
  if (this.fixedScrollingMode && this.scrollableElement) {
598
- this.syncDimensionsAndScheduleScroll();
652
+ this.refreshContentHeight();
653
+ this.updateScrollDimensionsFromCache();
599
654
  }
600
655
  const extractedTitle = extractTitleFromThinkingContent(raw);
601
656
  if (extractedTitle && extractedTitle !== this.currentTitle) {
@@ -616,7 +671,11 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
616
671
  getIsActive() {
617
672
  return this.isActive;
618
673
  }
674
+ get isFixedScrollingMode() {
675
+ return this.fixedScrollingMode;
676
+ }
619
677
  isEffectivelyEmpty() {
678
+ this.processPendingRemovals();
620
679
  if (this.toolInvocationCount > 0 || this.lazyItems.length > 0 || this.hookCount > 0) {
621
680
  return false;
622
681
  }
@@ -645,11 +704,12 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
645
704
  this.wrapper.classList.remove("chat-thinking-streaming");
646
705
  }
647
706
  this.domNode.classList.remove("chat-thinking-active");
707
+ this.domNode.classList.remove("chat-thinking-persistent-streaming");
648
708
  this.domNode.classList.remove("chat-thinking-fade-top", "chat-thinking-fade-bottom");
649
709
  this.streamingCompleted = true;
650
- if (this.mutationObserverDisposable) {
651
- this.mutationObserverDisposable.dispose();
652
- this.mutationObserverDisposable = undefined;
710
+ if (this.wrapperResizeObserverDisposable) {
711
+ this.wrapperResizeObserverDisposable.dispose();
712
+ this.wrapperResizeObserverDisposable = undefined;
653
713
  }
654
714
  if (this.workingSpinnerElement) {
655
715
  this.workingSpinnerElement.remove();
@@ -663,6 +723,7 @@ let ChatThinkingContentPart = ChatThinkingContentPart_1 = class ChatThinkingCont
663
723
  this.updateDropdownClickability();
664
724
  if (this.content.generatedTitle) {
665
725
  this.currentTitle = this.content.generatedTitle;
726
+ this.setGeneratedTitleOnAllParts(this.content.generatedTitle);
666
727
  this.setFinalizedTitle(this.content.generatedTitle);
667
728
  return;
668
729
  }
@@ -992,12 +1053,13 @@ ${this.hookCount > 0 ? `EXAMPLES WITH BLOCKED CONTENT (from hooks):
992
1053
  }
993
1054
  }
994
1055
  setFallbackTitle() {
995
- const finalLabel = this.appendedItemCount > 0 ? this.appendedItemCount === 1 ? ( localize(6860, "Finished with 1 step")) : ( localize(6861, "Finished with {0} steps", this.appendedItemCount)) : ( localize(6862, "Finished Working"));
1056
+ const finalLabel = this.appendedItemCount > 0 ? this.appendedItemCount === 1 ? ( localize(6973, "Finished with 1 step")) : ( localize(6974, "Finished with {0} steps", this.appendedItemCount)) : ( localize(6975, "Finished Working"));
996
1057
  this.currentTitle = finalLabel;
997
1058
  if (this.wrapper) {
998
1059
  this.wrapper.classList.remove("chat-thinking-streaming");
999
1060
  }
1000
1061
  this.domNode.classList.remove("chat-thinking-active");
1062
+ this.domNode.classList.remove("chat-thinking-persistent-streaming");
1001
1063
  this.streamingCompleted = true;
1002
1064
  if (this._collapseButton) {
1003
1065
  this._collapseButton.icon = Codicon.check;
@@ -1010,7 +1072,8 @@ ${this.hookCount > 0 ? `EXAMPLES WITH BLOCKED CONTENT (from hooks):
1010
1072
  toolInvocationId,
1011
1073
  toolInvocationOrMarkdown,
1012
1074
  originalParent,
1013
- onDidChangeDiff
1075
+ onDidChangeDiff,
1076
+ eagerDisposable
1014
1077
  ) {
1015
1078
  this.processPendingRemovals();
1016
1079
  this.trackToolMetadata(toolInvocationId, toolInvocationOrMarkdown);
@@ -1021,6 +1084,9 @@ ${this.hookCount > 0 ? `EXAMPLES WITH BLOCKED CONTENT (from hooks):
1021
1084
  this.updateAggregatedDiff();
1022
1085
  }));
1023
1086
  }
1087
+ if (eagerDisposable) {
1088
+ this._register(eagerDisposable);
1089
+ }
1024
1090
  if (this.workingSpinnerLabel) {
1025
1091
  const isTerminalTool = toolInvocationOrMarkdown && (toolInvocationOrMarkdown.kind === "toolInvocation" || toolInvocationOrMarkdown.kind === "toolInvocationSerialized") && toolInvocationOrMarkdown.toolSpecificData?.kind === "terminal";
1026
1092
  const category = isTerminalTool ? WorkingMessageCategory.Terminal : WorkingMessageCategory.Tool;
@@ -1078,6 +1144,23 @@ ${this.hookCount > 0 ? `EXAMPLES WITH BLOCKED CONTENT (from hooks):
1078
1144
  this.updateDropdownClickability();
1079
1145
  this._onDidChangeHeight.fire();
1080
1146
  }
1147
+ removeEditPillByPartId(partId) {
1148
+ let removed = false;
1149
+ const lazyIndex = this.lazyItems.findIndex(item => item.kind === "tool" && item.toolInvocationId === partId);
1150
+ if (lazyIndex !== -1) {
1151
+ this.lazyItems.splice(lazyIndex, 1);
1152
+ removed = true;
1153
+ }
1154
+ if (this.diffStatsByPartId.delete(partId)) {
1155
+ this.updateAggregatedDiff();
1156
+ removed = true;
1157
+ }
1158
+ if (removed) {
1159
+ this.appendedItemCount = Math.max(0, this.appendedItemCount - 1);
1160
+ this.updateDropdownClickability();
1161
+ this._onDidChangeHeight.fire();
1162
+ }
1163
+ }
1081
1164
  removeLazyItem(toolInvocationId) {
1082
1165
  const index = this.lazyItems.findIndex(item => item.kind === "tool" && item.toolInvocationId === toolInvocationId);
1083
1166
  if (index === -1) {
@@ -1193,7 +1276,7 @@ ${this.hookCount > 0 ? `EXAMPLES WITH BLOCKED CONTENT (from hooks):
1193
1276
  const message = typeof toolInvocationOrMarkdown.invocationMessage === "string" ? toolInvocationOrMarkdown.invocationMessage : toolInvocationOrMarkdown.invocationMessage.value;
1194
1277
  const isStreamingEditTool = toolInvocationOrMarkdown.kind === "toolInvocation" && IChatToolInvocation.isStreaming(toolInvocationOrMarkdown) && isGenericEditToolId(toolInvocationOrMarkdown.toolId);
1195
1278
  if (isStreamingEditTool) {
1196
- toolCallLabel = ( localize(6863, "Editing files"));
1279
+ toolCallLabel = ( localize(6976, "Editing files"));
1197
1280
  } else {
1198
1281
  toolCallLabel = message;
1199
1282
  }
@@ -1202,6 +1285,13 @@ ${this.hookCount > 0 ? `EXAMPLES WITH BLOCKED CONTENT (from hooks):
1202
1285
  this.toolLabelsByCallId.set(toolCallId, toolCallLabel);
1203
1286
  if (toolInvocationOrMarkdown.kind === "toolInvocationSerialized") {
1204
1287
  this.updateExternalResourceParts(toolInvocationOrMarkdown);
1288
+ if (IChatToolInvocation.isEffectivelyHidden(toolInvocationOrMarkdown)) {
1289
+ this.pendingRemovals.push({
1290
+ toolCallId: toolInvocationOrMarkdown.toolCallId,
1291
+ toolLabel: toolCallLabel
1292
+ });
1293
+ this.schedulePendingRemovalsFlush();
1294
+ }
1205
1295
  }
1206
1296
  if (toolInvocationOrMarkdown.kind === "toolInvocation") {
1207
1297
  let currentToolLabel = toolCallLabel;
@@ -1305,9 +1395,9 @@ ${this.hookCount > 0 ? `EXAMPLES WITH BLOCKED CONTENT (from hooks):
1305
1395
  const codeblockInfo = extractCodeblockUrisFromText(toolInvocationOrMarkdown.content.value);
1306
1396
  if (codeblockInfo?.uri) {
1307
1397
  const filename = basename(codeblockInfo.uri);
1308
- toolCallLabel = ( localize(6864, "Edited {0}", filename));
1398
+ toolCallLabel = ( localize(6977, "Edited {0}", filename));
1309
1399
  } else {
1310
- toolCallLabel = ( localize(6865, "Edited file"));
1400
+ toolCallLabel = ( localize(6978, "Edited file"));
1311
1401
  }
1312
1402
  } else {
1313
1403
  toolCallLabel = toolInvocationId;
@@ -1383,7 +1473,22 @@ ${this.hookCount > 0 ? `EXAMPLES WITH BLOCKED CONTENT (from hooks):
1383
1473
  }
1384
1474
  this.appendToWrapper(itemWrapper);
1385
1475
  if (this.fixedScrollingMode && this.scrollableElement) {
1386
- this.syncDimensionsAndScheduleScroll();
1476
+ if (this.childResizeObserver && !this.streamingCompleted) {
1477
+ const observeDisposable = this.childResizeObserver.observe(itemWrapper);
1478
+ const toolCallId = isToolInvocation ? toolInvocationOrMarkdown.toolCallId : undefined;
1479
+ if (toolCallId) {
1480
+ let store = this.toolDisposables.get(toolCallId);
1481
+ if (!store) {
1482
+ store = ( new DisposableStore());
1483
+ this.toolDisposables.set(toolCallId, store);
1484
+ }
1485
+ store.add(observeDisposable);
1486
+ } else {
1487
+ this._register(observeDisposable);
1488
+ }
1489
+ }
1490
+ this.refreshContentHeight();
1491
+ this.updateScrollDimensionsFromCache();
1387
1492
  }
1388
1493
  }
1389
1494
  materializeLazyItem(item) {
@@ -1434,6 +1539,9 @@ ${this.hookCount > 0 ? `EXAMPLES WITH BLOCKED CONTENT (from hooks):
1434
1539
  this.appendedItemCount++;
1435
1540
  this.allThinkingParts.push(content);
1436
1541
  this.textContainer = $(".chat-thinking-item.markdown-content");
1542
+ if (this.childResizeObserver && this.fixedScrollingMode && !this.streamingCompleted) {
1543
+ this._register(this.childResizeObserver.observe(this.textContainer));
1544
+ }
1437
1545
  if (content.value) {
1438
1546
  if (this.isExpanded() || this.hasExpandedOnce || (this.fixedScrollingMode && !this.streamingCompleted)) {
1439
1547
  this.appendToWrapper(this.textContainer);
@@ -1475,7 +1583,7 @@ ${this.hookCount > 0 ? `EXAMPLES WITH BLOCKED CONTENT (from hooks):
1475
1583
  return;
1476
1584
  }
1477
1585
  this.lastExtractedTitle = title;
1478
- const thinkingLabel = ( localize(6866, "{0}: {1}", this.defaultTitle, title));
1586
+ const thinkingLabel = ( localize(6979, "{0}: {1}", this.defaultTitle, title));
1479
1587
  this.currentTitle = thinkingLabel;
1480
1588
  if (!this._collapseButton) {
1481
1589
  return;
@@ -1486,7 +1594,7 @@ ${this.hookCount > 0 ? `EXAMPLES WITH BLOCKED CONTENT (from hooks):
1486
1594
  this.titleShimmerSpan = $("span.chat-thinking-title-shimmer");
1487
1595
  labelElement.appendChild(this.titleShimmerSpan);
1488
1596
  }
1489
- this.titleShimmerSpan.textContent = ( localize(6867, "{0}: ", this.defaultTitle));
1597
+ this.titleShimmerSpan.textContent = ( localize(6980, "{0}: ", this.defaultTitle));
1490
1598
  this._titleDetailRendered.clear();
1491
1599
  const result = this.chatContentMarkdownRenderer.render(( new MarkdownString(title)));
1492
1600
  result.element.classList.add("collapsible-title-content", "chat-thinking-title-detail");
@@ -1533,4 +1641,4 @@ ${this.hookCount > 0 ? `EXAMPLES WITH BLOCKED CONTENT (from hooks):
1533
1641
  };
1534
1642
  ChatThinkingContentPart = ChatThinkingContentPart_1 = ( __decorate([( __param(4, IInstantiationService)), ( __param(5, IConfigurationService)), ( __param(6, IChatMarkdownAnchorService)), ( __param(7, ILanguageModelsService)), ( __param(8, IHoverService)), ( __param(9, IStorageService))], ChatThinkingContentPart));
1535
1643
 
1536
- export { ChatThinkingContentPart, buildPhrasePool, createThinkingIcon, getToolInvocationIcon };
1644
+ export { ChatThinkingContentPart, buildPhrasePool, createThinkingIcon, defaultThinkingMessages, getToolInvocationIcon };
@@ -57,7 +57,7 @@ let ChatTipContentPart = class ChatTipContentPart extends Disposable {
57
57
  this.domNode = $(".chat-tip-widget");
58
58
  this.domNode.tabIndex = 0;
59
59
  this.domNode.setAttribute("role", "region");
60
- this.domNode.setAttribute("aria-roledescription", ( localize(6868, "tip")));
60
+ this.domNode.setAttribute("aria-roledescription", ( localize(6981, "tip")));
61
61
  this._inChatTipContextKey = ChatContextKeys.inChatTip.bindTo(this._contextKeyService);
62
62
  this._multipleChatTipsContextKey = ChatContextKeys.multipleChatTips.bindTo(this._contextKeyService);
63
63
  const focusTracker = this._register(trackFocus(this.domNode));
@@ -119,9 +119,9 @@ let ChatTipContentPart = class ChatTipContentPart extends Disposable {
119
119
  }
120
120
  });
121
121
  this.domNode.appendChild(toolbarContainer);
122
- const textContent = markdownContent.element.textContent ?? ( localize(6869, "Chat tip"));
122
+ const textContent = markdownContent.element.textContent ?? ( localize(6982, "Chat tip"));
123
123
  const hasLink = /\[.*?\]\(.*?\)/.test(tip.content.value);
124
- const ariaLabel = hasLink ? ( localize(6870, "{0} Tab to reach the action.", textContent)) : textContent;
124
+ const ariaLabel = hasLink ? ( localize(6983, "{0} Tab to reach the action.", textContent)) : textContent;
125
125
  this.domNode.setAttribute("aria-label", ariaLabel);
126
126
  }
127
127
  async _handleTipAction(link, mdStr) {
@@ -135,7 +135,7 @@ let ChatTipContentPart = class ChatTipContentPart extends Disposable {
135
135
  }
136
136
  _shouldTriggerSetup() {
137
137
  const sentiment = this._chatEntitlementService.sentiment;
138
- if (!sentiment?.installed) {
138
+ if (!sentiment?.completed) {
139
139
  return true;
140
140
  }
141
141
  return this._chatEntitlementService.entitlement === ChatEntitlement.Unknown;
@@ -146,7 +146,7 @@ registerAction2(class PreviousTipAction extends Action2 {
146
146
  constructor() {
147
147
  super({
148
148
  id: "workbench.action.chat.previousTip",
149
- title: ( localize2(6871, "Previous tip")),
149
+ title: ( localize2(6984, "Previous tip")),
150
150
  icon: Codicon.chevronLeft,
151
151
  precondition: ChatContextKeys.multipleChatTips,
152
152
  f1: false,
@@ -166,7 +166,7 @@ registerAction2(class NextTipAction extends Action2 {
166
166
  constructor() {
167
167
  super({
168
168
  id: "workbench.action.chat.nextTip",
169
- title: ( localize2(6872, "Next tip")),
169
+ title: ( localize2(6985, "Next tip")),
170
170
  icon: Codicon.chevronRight,
171
171
  precondition: ChatContextKeys.multipleChatTips,
172
172
  f1: false,
@@ -186,7 +186,7 @@ registerAction2(class DismissTipToolbarAction extends Action2 {
186
186
  constructor() {
187
187
  super({
188
188
  id: "workbench.action.chat.dismissTipToolbar",
189
- title: ( localize2(6873, "Dismiss tip")),
189
+ title: ( localize2(6986, "Dismiss tip")),
190
190
  icon: Codicon.check,
191
191
  f1: false,
192
192
  menu: [{
@@ -204,7 +204,7 @@ registerAction2(class DismissTipAction extends Action2 {
204
204
  constructor() {
205
205
  super({
206
206
  id: "workbench.action.chat.dismissTip",
207
- title: ( localize2(6874, "Dismiss this tip")),
207
+ title: ( localize2(6987, "Dismiss this tip")),
208
208
  f1: false,
209
209
  menu: [{
210
210
  id: MenuId.ChatTipContext,
@@ -221,7 +221,7 @@ registerAction2(class DisableTipsAction extends Action2 {
221
221
  constructor() {
222
222
  super({
223
223
  id: "workbench.action.chat.disableTips",
224
- title: ( localize2(6875, "Disable tips")),
224
+ title: ( localize2(6988, "Disable tips")),
225
225
  icon: Codicon.bellSlash,
226
226
  f1: false,
227
227
  menu: [{
@@ -246,7 +246,7 @@ registerAction2(class ResetDismissedTipsAction extends Action2 {
246
246
  constructor() {
247
247
  super({
248
248
  id: "workbench.action.chat.resetDismissedTips",
249
- title: ( localize2(6876, "Reset Dismissed Tips")),
249
+ title: ( localize2(6989, "Reset Dismissed Tips")),
250
250
  f1: true,
251
251
  precondition: ChatContextKeys.enabled
252
252
  });