@codingame/monaco-vscode-katex-common 26.2.1 → 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 +52 -22
  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 +244 -80
  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 +63 -69
  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
@@ -1,10 +1,8 @@
1
1
 
2
2
  import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { h, createElement } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
3
+ import { h, createElement, $ } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
4
4
  import { ButtonWithIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
5
- import { HoverStyle } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/hover/hover';
6
5
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
7
- import { Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
8
6
  import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
9
7
  import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
10
8
  import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
@@ -12,11 +10,16 @@ import { ILanguageService } from '@codingame/monaco-vscode-api/vscode/vs/editor/
12
10
  import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
13
11
  import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
14
12
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
13
+ import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
15
14
  import { IHoverService } from '@codingame/monaco-vscode-api/vscode/vs/platform/hover/browser/hover.service';
15
+ import { observableConfigValue } from '@codingame/monaco-vscode-api/vscode/vs/platform/observable/common/platformObservableUtils';
16
16
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
17
17
  import { LanguageModelPartAudience } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels';
18
+ import { AccessibilityWorkbenchSettingId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/accessibility/browser/accessibilityConfiguration';
18
19
  import { ChatQueryTitlePart } from './chatConfirmationWidget.js';
19
20
  import { ChatToolOutputContentSubPart } from './chatToolOutputContentSubPart.js';
21
+ import { renderFileWidgets } from './chatInlineAnchorWidget.js';
22
+ import { IChatMarkdownAnchorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.service';
20
23
  import { observableValue } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableValue';
21
24
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
22
25
 
@@ -47,7 +50,9 @@ let ChatCollapsibleInputOutputContentPart = class ChatCollapsibleInputOutputCont
47
50
  _instantiationService,
48
51
  hoverService,
49
52
  modelService,
50
- languageService
53
+ languageService,
54
+ chatMarkdownAnchorService,
55
+ configurationService
51
56
  ) {
52
57
  super();
53
58
  this.context = context;
@@ -57,8 +62,8 @@ let ChatCollapsibleInputOutputContentPart = class ChatCollapsibleInputOutputCont
57
62
  this._instantiationService = _instantiationService;
58
63
  this.modelService = modelService;
59
64
  this.languageService = languageService;
60
- this._onDidChangeHeight = this._register(( new Emitter()));
61
- this.onDidChangeHeight = this._onDidChangeHeight.event;
65
+ this.chatMarkdownAnchorService = chatMarkdownAnchorService;
66
+ this.configurationService = configurationService;
62
67
  this._editorReferences = [];
63
68
  this._contentInitialized = false;
64
69
  const container = h(".chat-confirmation-widget-container");
@@ -69,33 +74,44 @@ let ChatCollapsibleInputOutputContentPart = class ChatCollapsibleInputOutputCont
69
74
  this._titlePart = this._register(
70
75
  _instantiationService.createInstance(ChatQueryTitlePart, titleEl.root, title, subtitle)
71
76
  );
72
- this._register(this._titlePart.onDidChangeHeight(() => this._onDidChangeHeight.fire()));
77
+ renderFileWidgets(
78
+ titleEl.root,
79
+ this._instantiationService,
80
+ this.chatMarkdownAnchorService,
81
+ this._store
82
+ );
73
83
  const spacer = createElement("span");
74
84
  spacer.style.flexGrow = "1";
75
85
  const btn = this._register(( new ButtonWithIcon(elements.root, {})));
76
86
  btn.element.classList.add("chat-confirmation-widget-title", "monaco-text-button");
77
87
  btn.labelElement.append(titleEl.root);
78
- const check = h(
79
- isError ? ThemeIcon.asCSSSelector(Codicon.error) : output ? ThemeIcon.asCSSSelector(Codicon.check) : ThemeIcon.asCSSSelector(ThemeIcon.modify(Codicon.loading, "spin"))
88
+ const hoverChevron = $("span.chat-collapsible-hover-chevron.codicon.codicon-chevron-right");
89
+ hoverChevron.setAttribute("aria-hidden", "true");
90
+ btn.element.appendChild(hoverChevron);
91
+ const showCheckmarks = observableConfigValue(
92
+ AccessibilityWorkbenchSettingId.ShowChatCheckmarks,
93
+ false,
94
+ this.configurationService
80
95
  );
81
- if (progressTooltip) {
82
- this._register(hoverService.setupDelayedHover(check.root, {
83
- content: progressTooltip,
84
- style: HoverStyle.Pointer
85
- }));
86
- }
87
96
  const expanded = this._expanded = observableValue(this, initiallyExpanded);
88
97
  this._register(autorun(r => {
89
98
  const value = expanded.read(r);
90
- btn.icon = isError ? Codicon.error : output ? Codicon.check : ThemeIcon.modify(Codicon.loading, "spin");
99
+ const checkmarksEnabled = showCheckmarks.read(r);
91
100
  elements.root.classList.toggle("collapsed", !value);
101
+ if (isError) {
102
+ btn.icon = Codicon.error;
103
+ } else {
104
+ btn.icon = output ? Codicon.check : ThemeIcon.modify(Codicon.loading, "spin");
105
+ }
106
+ container.root.classList.toggle("show-checkmarks", checkmarksEnabled);
107
+ hoverChevron.classList.toggle("codicon-chevron-right", !value);
108
+ hoverChevron.classList.toggle("codicon-chevron-down", value);
92
109
  if (value && !this._contentInitialized) {
93
110
  this._contentInitialized = true;
94
111
  const messageContainer = h(".chat-confirmation-widget-message");
95
112
  messageContainer.root.appendChild(this.createMessageContents());
96
113
  elements.root.appendChild(messageContainer.root);
97
114
  }
98
- this._onDidChangeHeight.fire();
99
115
  }));
100
116
  const toggle = e => {
101
117
  if (!e.defaultPrevented) {
@@ -129,13 +145,13 @@ let ChatCollapsibleInputOutputContentPart = class ChatCollapsibleInputOutputCont
129
145
  input,
130
146
  output
131
147
  } = this;
132
- contents.inputTitle.textContent = ( localize(6011, "Input"));
148
+ contents.inputTitle.textContent = ( localize(6534, "Input"));
133
149
  this.addCodeBlock(input, contents.input);
134
150
  if (!output) {
135
151
  contents.output.remove();
136
152
  contents.outputTitle.remove();
137
153
  } else {
138
- contents.outputTitle.textContent = ( localize(6012, "Output"));
154
+ contents.outputTitle.textContent = ( localize(6535, "Output"));
139
155
  const outputSubPart = this._register(
140
156
  this._instantiationService.createInstance(ChatToolOutputContentSubPart, this.context, output.parts)
141
157
  );
@@ -163,9 +179,6 @@ let ChatCollapsibleInputOutputContentPart = class ChatCollapsibleInputOutputCont
163
179
  };
164
180
  const editorReference = this._register(this.context.editorPool.get());
165
181
  editorReference.object.render(data, this.context.currentWidth.get() || 300);
166
- this._register(
167
- editorReference.object.onDidChangeContentHeight(() => this._onDidChangeHeight.fire())
168
- );
169
182
  container.appendChild(editorReference.object.element);
170
183
  this._editorReferences.push(editorReference);
171
184
  }
@@ -177,6 +190,6 @@ let ChatCollapsibleInputOutputContentPart = class ChatCollapsibleInputOutputCont
177
190
  this._outputSubPart?.layout(width);
178
191
  }
179
192
  };
180
- ChatCollapsibleInputOutputContentPart = ( __decorate([( __param(8, IContextKeyService)), ( __param(9, IInstantiationService)), ( __param(10, IHoverService)), ( __param(11, IModelService)), ( __param(12, ILanguageService))], ChatCollapsibleInputOutputContentPart));
193
+ ChatCollapsibleInputOutputContentPart = ( __decorate([( __param(8, IContextKeyService)), ( __param(9, IInstantiationService)), ( __param(10, IHoverService)), ( __param(11, IModelService)), ( __param(12, ILanguageService)), ( __param(13, IChatMarkdownAnchorService)), ( __param(14, IConfigurationService))], ChatCollapsibleInputOutputContentPart));
181
194
 
182
195
  export { ChatCollapsibleInputOutputContentPart };
@@ -292,7 +292,7 @@ class SaveResourcesAction extends Action2 {
292
292
  constructor() {
293
293
  super({
294
294
  id: SaveResourcesAction.ID,
295
- title: ( localize2(6013, "Save As...")),
295
+ title: ( localize2(6536, "Save As...")),
296
296
  icon: Codicon.cloudDownload,
297
297
  menu: [{
298
298
  id: MenuId.ChatToolOutputResourceToolbar,
@@ -322,14 +322,14 @@ class SaveResourcesAction extends Action2 {
322
322
  await fileService.writeFile(target, contents.value);
323
323
  }
324
324
  } catch (e) {
325
- notificationService.error(( localize(6014, "Failed to save {0}: {1}", basename(part.uri), e)));
325
+ notificationService.error(( localize(6537, "Failed to save {0}: {1}", basename(part.uri), e)));
326
326
  }
327
327
  };
328
328
  const withProgress = async (thenReveal, todo) => {
329
329
  await progressService.withProgress({
330
330
  location: ProgressLocation.Notification,
331
331
  delay: 5_000,
332
- title: ( localize(6015, "Saving resources..."))
332
+ title: ( localize(6538, "Saving resources..."))
333
333
  }, async report => {
334
334
  for (const task of todo) {
335
335
  await task();
@@ -342,7 +342,7 @@ class SaveResourcesAction extends Action2 {
342
342
  if (workspaceContextService.isInsideWorkspace(thenReveal)) {
343
343
  commandService.executeCommand(REVEAL_IN_EXPLORER_COMMAND_ID, thenReveal);
344
344
  } else {
345
- notificationService.info(( localize(6016, "Saved resources to {0}", labelService.getUriLabel(thenReveal))));
345
+ notificationService.info(( localize(6539, "Saved resources to {0}", labelService.getUriLabel(thenReveal))));
346
346
  }
347
347
  };
348
348
  if (context.parts.length === 1) {
@@ -354,7 +354,7 @@ class SaveResourcesAction extends Action2 {
354
354
  await withProgress(uri, [() => savePart(part, false, uri)]);
355
355
  } else {
356
356
  const uris = await fileDialog.showOpenDialog({
357
- title: ( localize(6017, "Pick folder to save resources")),
357
+ title: ( localize(6540, "Pick folder to save resources")),
358
358
  canSelectFiles: false,
359
359
  canSelectFolders: true,
360
360
  canSelectMany: false,
@@ -83,7 +83,7 @@ let TreePool = class TreePool extends Disposable {
83
83
  },
84
84
  accessibilityProvider: {
85
85
  getAriaLabel: element => element.label,
86
- getWidgetAriaLabel: () => ( localize(6018, "File Tree"))
86
+ getWidgetAriaLabel: () => ( localize(6541, "File Tree"))
87
87
  },
88
88
  alwaysConsumeMouseWheel: false
89
89
  }
@@ -45,15 +45,15 @@ let ChatWorkspaceEditContentPart = class ChatWorkspaceEditContentPart extends Di
45
45
  for (const edit of workspaceEdit.edits) {
46
46
  if (edit.oldResource && !edit.newResource) {
47
47
  renderEntry(( localize(
48
- 6019,
48
+ 6542,
49
49
  "Deleted `{0}`",
50
50
  this.labelService.getUriBasenameLabel(edit.oldResource)
51
51
  )), Codicon.trash);
52
52
  } else if (!edit.oldResource && edit.newResource) {
53
- renderEntry(( localize(6020, "Created []({0})", (edit.newResource.toString()))), Codicon.newFile);
53
+ renderEntry(( localize(6543, "Created []({0})", (edit.newResource.toString()))), Codicon.newFile);
54
54
  } else if (edit.oldResource && edit.newResource) {
55
55
  renderEntry(( localize(
56
- 6021,
56
+ 6544,
57
57
  "Renamed {0} to []({1})",
58
58
  this.labelService.getUriBasenameLabel(edit.oldResource),
59
59
  (edit.newResource.toString())
@@ -1,5 +1,4 @@
1
1
  import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
- import { Emitter, Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
3
2
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
4
3
  import { URI } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
5
4
  import { IDiffEditor } from "@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorBrowser";
@@ -71,8 +70,6 @@ export declare class CodeBlockPart extends Disposable {
71
70
  protected readonly modelService: IModelService;
72
71
  private readonly configurationService;
73
72
  private readonly accessibilityService;
74
- protected readonly _onDidChangeContentHeight: Emitter<void>;
75
- readonly onDidChangeContentHeight: Event<void>;
76
73
  readonly editor: CodeEditorWidget;
77
74
  protected readonly toolbar: MenuWorkbenchToolBar;
78
75
  private readonly contextKeyService;
@@ -81,6 +78,7 @@ export declare class CodeBlockPart extends Disposable {
81
78
  private readonly vulnsListElement;
82
79
  private currentCodeBlockData;
83
80
  private currentScrollWidth;
81
+ private lastLayoutWidth;
84
82
  private isDisposed;
85
83
  private resourceContextKey;
86
84
  private get verticalPadding();
@@ -92,7 +90,7 @@ export declare class CodeBlockPart extends Disposable {
92
90
  private updatePaddingForLayout;
93
91
  private _configureForScreenReader;
94
92
  private getEditorOptionsFromConfig;
95
- layout(width: number): void;
93
+ layout(width?: number | undefined): void;
96
94
  private getContentHeight;
97
95
  render(data: ICodeBlockData, width: number): Promise<void>;
98
96
  reset(): void;
@@ -111,6 +109,7 @@ export interface ICodeCompareBlockActionContext {
111
109
  readonly element: IChatResponseViewModel;
112
110
  readonly diffEditor: IDiffEditor;
113
111
  readonly edit: IChatTextEditGroup;
112
+ toggleDiffViewMode(): void;
114
113
  }
115
114
  export interface ICodeCompareBlockDiffData {
116
115
  modified: ITextModel;
@@ -134,8 +133,6 @@ export declare class CodeCompareBlockPart extends Disposable {
134
133
  private readonly accessibilityService;
135
134
  private readonly labelService;
136
135
  private readonly openerService;
137
- protected readonly _onDidChangeContentHeight: Emitter<void>;
138
- readonly onDidChangeContentHeight: Event<void>;
139
136
  private readonly contextKeyService;
140
137
  private readonly diffEditor;
141
138
  private readonly resourceLabel;
@@ -146,6 +143,7 @@ export declare class CodeCompareBlockPart extends Disposable {
146
143
  private readonly _lastDiffEditorViewModel;
147
144
  private currentScrollWidth;
148
145
  private currentHorizontalPadding;
146
+ private lastLayoutWidth;
149
147
  constructor(options: ChatEditorOptions, menuId: MenuId, delegate: IChatRendererDelegate, overflowWidgetsDomNode: HTMLElement | undefined, isSimpleWidget: boolean | undefined, instantiationService: IInstantiationService, contextKeyService: IContextKeyService, modelService: IModelService, configurationService: IConfigurationService, accessibilityService: IAccessibilityService, labelService: ILabelService, openerService: IOpenerService);
150
148
  get uri(): URI | undefined;
151
149
  private createDiffEditor;
@@ -153,7 +151,7 @@ export declare class CodeCompareBlockPart extends Disposable {
153
151
  private updatePaddingForLayout;
154
152
  private _configureForScreenReader;
155
153
  private getEditorOptionsFromConfig;
156
- layout(width: number): void;
154
+ layout(width?: number | undefined): void;
157
155
  render(data: ICodeCompareBlockData, width: number, token: CancellationToken): Promise<void>;
158
156
  reset(): void;
159
157
  private clearWidgets;
@@ -6,7 +6,7 @@ import { $ as $$1, append, hide, show, clearNode, getTotalHeight, Dimension, res
6
6
  import { renderFormattedText } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/formattedTextRenderer';
7
7
  import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
8
8
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
9
- import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
9
+ import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
10
10
  import { Disposable, MutableDisposable, combinedDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
11
11
  import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
12
12
  import { isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
@@ -61,6 +61,7 @@ import { emptyProgressRunner } from '@codingame/monaco-vscode-api/vscode/vs/plat
61
61
  import { IEditorProgressService } from '@codingame/monaco-vscode-api/vscode/vs/platform/progress/common/progress.service';
62
62
  import { SuggestController } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/suggest/browser/suggestController';
63
63
  import { SnippetController2 } from '@codingame/monaco-vscode-api/vscode/vs/editor/contrib/snippet/browser/snippetController2';
64
+ import { EditorContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorContextKeys';
64
65
 
65
66
  registerCss(codeBlockPart);
66
67
  const $ = $$1;
@@ -116,8 +117,6 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
116
117
  this.modelService = modelService;
117
118
  this.configurationService = configurationService;
118
119
  this.accessibilityService = accessibilityService;
119
- this._onDidChangeContentHeight = this._register(( new Emitter()));
120
- this.onDidChangeContentHeight = this._onDidChangeContentHeight.event;
121
120
  this.currentScrollWidth = 0;
122
121
  this.isDisposed = false;
123
122
  this.element = $(".interactive-result-code-block");
@@ -149,13 +148,13 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
149
148
  multipleDefinitions: "goto",
150
149
  multipleImplementations: "goto"
151
150
  },
152
- ariaLabel: ( localize(6022, "Code block")),
151
+ ariaLabel: ( localize(6545, "Code block")),
153
152
  overflowWidgetsDomNode,
154
153
  tabFocusMode: true,
155
154
  ...this.getEditorOptionsFromConfig()
156
155
  });
157
156
  const toolbarElement = append(this.element, $(".interactive-result-code-block-toolbar"));
158
- const editorScopedService = this.editor.contextKeyService.createScoped(toolbarElement);
157
+ const editorScopedService = this._register(this.editor.contextKeyService.createScoped(toolbarElement));
159
158
  const editorScopedInstantiationService = this._register(scopedInstantiationService.createChild(( new ServiceCollection([IContextKeyService, editorScopedService]))));
160
159
  this.toolbar = this._register(
161
160
  editorScopedInstantiationService.createInstance(MenuWorkbenchToolBar, toolbarElement, menuId, {
@@ -183,7 +182,7 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
183
182
  element.vulnerabilitiesListExpanded = !element.vulnerabilitiesListExpanded;
184
183
  this.vulnsButton.label = this.getVulnerabilitiesLabel();
185
184
  this.element.classList.toggle("chat-vulnerabilities-collapsed", !element.vulnerabilitiesListExpanded);
186
- this._onDidChangeContentHeight.fire();
185
+ this.layout();
187
186
  }));
188
187
  this._register(this.toolbar.onDidChangeDropdownVisibility(e => {
189
188
  toolbarElement.classList.toggle("force-visibility", e);
@@ -205,7 +204,7 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
205
204
  }));
206
205
  this._register(this.editor.onDidContentSizeChange(e => {
207
206
  if (e.contentHeightChanged) {
208
- this._onDidChangeContentHeight.fire();
207
+ this.layout();
209
208
  }
210
209
  }));
211
210
  this._register(this.editor.onDidBlurEditorWidget(() => {
@@ -294,7 +293,11 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
294
293
  ...this.currentCodeBlockData?.renderOptions?.editorOptions
295
294
  };
296
295
  }
297
- layout(width) {
296
+ layout(width = this.lastLayoutWidth) {
297
+ if (width === undefined) {
298
+ return;
299
+ }
300
+ this.lastLayoutWidth = width;
298
301
  const contentHeight = this.getContentHeight();
299
302
  let height = contentHeight;
300
303
  if (this.currentCodeBlockData?.renderOptions?.maxHeightInLines) {
@@ -336,11 +339,11 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
336
339
  });
337
340
  if (!this.editor.getOption(EditorOption.ariaLabel)) {
338
341
  this.editor.updateOptions({
339
- ariaLabel: ( localize(6023, "Code block {0}", data.codeBlockIndex + 1))
342
+ ariaLabel: ( localize(6546, "Code block {0}", data.codeBlockIndex + 1))
340
343
  });
341
344
  }
342
345
  this.layout(width);
343
- this.toolbar.setAriaLabel(( localize(6024, "Code block {0}", data.codeBlockIndex + 1)));
346
+ this.toolbar.setAriaLabel(( localize(6547, "Code block {0}", data.codeBlockIndex + 1)));
344
347
  if (data.renderOptions?.hideToolbar) {
345
348
  hide(this.toolbar.getElement());
346
349
  } else {
@@ -363,7 +366,7 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
363
366
  } else {
364
367
  this.element.classList.add("no-vulns");
365
368
  }
366
- this._onDidChangeContentHeight.fire();
369
+ this.layout();
367
370
  }
368
371
  reset() {
369
372
  this.clearWidgets();
@@ -395,7 +398,7 @@ let CodeBlockPart = class CodeBlockPart extends Disposable {
395
398
  if (!this.currentCodeBlockData || !this.currentCodeBlockData.vulns) {
396
399
  return "";
397
400
  }
398
- const referencesLabel = this.currentCodeBlockData.vulns.length > 1 ? ( localize(6025, "{0} vulnerabilities", this.currentCodeBlockData.vulns.length)) : ( localize(6026, "{0} vulnerability", 1));
401
+ const referencesLabel = this.currentCodeBlockData.vulns.length > 1 ? ( localize(6548, "{0} vulnerabilities", this.currentCodeBlockData.vulns.length)) : ( localize(6549, "{0} vulnerability", 1));
399
402
  const icon = element => element.vulnerabilitiesListExpanded ? Codicon.chevronDown : Codicon.chevronRight;
400
403
  return `${referencesLabel} $(${icon(this.currentCodeBlockData.element).id})`;
401
404
  }
@@ -460,8 +463,6 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
460
463
  this.accessibilityService = accessibilityService;
461
464
  this.labelService = labelService;
462
465
  this.openerService = openerService;
463
- this._onDidChangeContentHeight = this._register(( new Emitter()));
464
- this.onDidChangeContentHeight = this._onDidChangeContentHeight.event;
465
466
  this._lastDiffEditorViewModel = this._store.add(( new MutableDisposable()));
466
467
  this.currentScrollWidth = 0;
467
468
  this.currentHorizontalPadding = 0;
@@ -507,7 +508,7 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
507
508
  multipleDefinitions: "goto",
508
509
  multipleImplementations: "goto"
509
510
  },
510
- ariaLabel: ( localize(6022, "Code block")),
511
+ ariaLabel: ( localize(6545, "Code block")),
511
512
  overflowWidgetsDomNode,
512
513
  ...this.getEditorOptionsFromConfig()
513
514
  });
@@ -540,11 +541,6 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
540
541
  this._register(this.diffEditor.getModifiedEditor().onDidScrollChange(e => {
541
542
  this.currentScrollWidth = e.scrollWidth;
542
543
  }));
543
- this._register(this.diffEditor.onDidContentSizeChange(e => {
544
- if (e.contentHeightChanged) {
545
- this._onDidChangeContentHeight.fire();
546
- }
547
- }));
548
544
  this._register(this.diffEditor.getModifiedEditor().onDidBlurEditorWidget(() => {
549
545
  this.element.classList.remove("focused");
550
546
  WordHighlighterContribution.get(this.diffEditor.getModifiedEditor())?.stopHighlighting();
@@ -591,8 +587,8 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
591
587
  stickyScroll: {
592
588
  enabled: false
593
589
  },
594
- originalAriaLabel: ( localize(6027, "Original")),
595
- modifiedAriaLabel: ( localize(6028, "Modified")),
590
+ originalAriaLabel: ( localize(6550, "Original")),
591
+ modifiedAriaLabel: ( localize(6551, "Modified")),
596
592
  diffAlgorithm: "advanced",
597
593
  readOnly: false,
598
594
  isInEmbeddedEditor: true,
@@ -631,11 +627,9 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
631
627
  }
632
628
  _configureForScreenReader() {
633
629
  const toolbarElt = this.toolbar.getElement();
630
+ toolbarElt.style.display = "block";
634
631
  if (this.accessibilityService.isScreenReaderOptimized()) {
635
- toolbarElt.style.display = "block";
636
- toolbarElt.ariaLabel = ( localize(6029, "Code block toolbar"));
637
- } else {
638
- toolbarElt.style.display = "";
632
+ toolbarElt.ariaLabel = ( localize(6552, "Code block toolbar"));
639
633
  }
640
634
  }
641
635
  getEditorOptionsFromConfig() {
@@ -649,7 +643,11 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
649
643
  lineHeight: this.options.configuration.resultEditor.lineHeight
650
644
  };
651
645
  }
652
- layout(width) {
646
+ layout(width = this.lastLayoutWidth) {
647
+ if (width === undefined) {
648
+ return;
649
+ }
650
+ this.lastLayoutWidth = width;
653
651
  const editorBorder = 2;
654
652
  const toolbar = getTotalHeight(this.editorHeader);
655
653
  const content = this.diffEditor.getModel() ? this.diffEditor.getContentHeight() : getTotalHeight(this.messageElement);
@@ -657,7 +655,6 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
657
655
  width - editorBorder - this.currentHorizontalPadding * 2,
658
656
  toolbar + content
659
657
  );
660
- this.element.style.height = `${dimension.height}px`;
661
658
  this.element.style.width = `${dimension.width}px`;
662
659
  this.diffEditor.layout(dimension.with(undefined, content - editorBorder));
663
660
  this.updatePaddingForLayout();
@@ -673,7 +670,7 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
673
670
  await this.updateEditor(data, token);
674
671
  this.layout(width);
675
672
  this.diffEditor.updateOptions({
676
- ariaLabel: ( localize(6030, "Code Edits")),
673
+ ariaLabel: ( localize(6553, "Code Edits")),
677
674
  readOnly: !!data.isReadOnly
678
675
  });
679
676
  this.resourceLabel.element.setFile(data.edit.uri, {
@@ -683,7 +680,6 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
683
680
  badges: false
684
681
  }
685
682
  });
686
- this._onDidChangeContentHeight.fire();
687
683
  }
688
684
  reset() {
689
685
  this.clearWidgets();
@@ -709,12 +705,12 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
709
705
  });
710
706
  let template;
711
707
  if (data.edit.state.applied === 1) {
712
- template = ( localize(6031, "Applied 1 change in [[``{0}``]]", uriLabel));
708
+ template = ( localize(6554, "Applied 1 change in [[``{0}``]]", uriLabel));
713
709
  } else if (data.edit.state.applied < 0) {
714
- template = ( localize(6032, "Edits in [[``{0}``]] have been rejected", uriLabel));
710
+ template = ( localize(6555, "Edits in [[``{0}``]] have been rejected", uriLabel));
715
711
  } else {
716
712
  template = ( localize(
717
- 6033,
713
+ 6556,
718
714
  "Applied {0} changes in [[``{1}``]]",
719
715
  data.edit.state.applied,
720
716
  uriLabel
@@ -752,12 +748,21 @@ let CodeCompareBlockPart = class CodeCompareBlockPart extends Disposable {
752
748
  } else {
753
749
  this.diffEditor.setModel(null);
754
750
  this._lastDiffEditorViewModel.value = undefined;
755
- this._onDidChangeContentHeight.fire();
756
751
  }
757
752
  this.toolbar.context = {
758
753
  edit: data.edit,
759
754
  element: data.element,
760
- diffEditor: this.diffEditor
755
+ diffEditor: this.diffEditor,
756
+ toggleDiffViewMode: () => {
757
+ const isCurrentlyInline = !!this.diffEditor.getModifiedEditor().contextKeyService.getContextKeyValue(EditorContextKeys.diffEditorInlineMode.key);
758
+ const renderSideBySide = isCurrentlyInline;
759
+ this.diffEditor.updateOptions({
760
+ renderSideBySide,
761
+ compactMode: !renderSideBySide,
762
+ useInlineViewWhenSpaceIsLimited: false
763
+ });
764
+ this.layout();
765
+ }
761
766
  };
762
767
  }
763
768
  };
@@ -832,8 +837,8 @@ let DefaultChatTextEditor = class DefaultChatTextEditor {
832
837
  async _checkSha1(model, item) {
833
838
  if (item.state?.sha1 && this._sha1.computeSHA1(model) && this._sha1.computeSHA1(model) !== item.state.sha1) {
834
839
  const result = await this.dialogService.confirm({
835
- message: ( localize(6034, "The original file has been modified.")),
836
- detail: ( localize(6035, "Do you want to apply the changes anyway?"))
840
+ message: ( localize(6557, "The original file has been modified.")),
841
+ detail: ( localize(6558, "Do you want to apply the changes anyway?"))
837
842
  });
838
843
  if (!result.confirmed) {
839
844
  return false;
@@ -4,14 +4,13 @@
4
4
  *--------------------------------------------------------------------------------------------*/
5
5
 
6
6
  .interactive-item-container.interactive-response .value .chat-markdown-part.rendered-markdown .code:has(.chat-codeblock-pill-container) {
7
- margin-bottom: 8px;
7
+ margin-bottom: 16px;
8
8
  }
9
9
 
10
10
  .chat-markdown-part.rendered-markdown .code .chat-codeblock-pill-container {
11
11
  display: flex;
12
12
  align-items: center;
13
13
  gap: 5px;
14
- margin: 0 0 6px 4px;
15
14
  font-size: var(--vscode-chat-font-size-body-s);
16
15
  color: var(--vscode-descriptionForeground);
17
16
 
@@ -29,10 +28,20 @@
29
28
  color: var(--vscode-icon-foreground) !important;
30
29
 
31
30
  &::before {
32
- font-size: var(--vscode-chat-font-size-body-s);
31
+ font-size: 12px;
33
32
  }
34
33
  }
35
34
 
35
+ .codicon.codicon-check {
36
+ display: none;
37
+ }
38
+
39
+ .show-checkmarks & .codicon.codicon-check {
40
+ display: inline-flex;
41
+ padding-left: 2px;
42
+ margin-left: 0.2em;
43
+ }
44
+
36
45
  .status-label {
37
46
  color: var(--vscode-descriptionForeground);
38
47
  white-space: nowrap;