@codingame/monaco-vscode-katex-common 29.1.1 → 30.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 (180) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/platform/actions/browser/buttonbar.js +14 -13
  3. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +16 -16
  4. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +9 -9
  5. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  6. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +34 -34
  7. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +12 -20
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +14 -0
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +208 -0
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +22 -0
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +637 -0
  12. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.d.ts +1 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +1 -0
  14. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +8 -8
  15. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +9 -1
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +202 -13
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +4 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +17 -8
  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 +53 -5
  21. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +296 -63
  22. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +59 -23
  23. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +55 -42
  24. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +12 -12
  25. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +110 -59
  26. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +14 -14
  27. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +7 -7
  28. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +12 -12
  29. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +1 -1
  30. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +5 -4
  31. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +24 -0
  32. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +384 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  34. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.d.ts +12 -7
  35. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatArtifactsWidget.js +220 -61
  36. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentMarkdownRenderer.js +1 -2
  37. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  38. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  39. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +6 -0
  40. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +14 -1
  41. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +1 -1
  42. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  43. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  44. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentCodePools.js +5 -4
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +3 -3
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +1 -1
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +5 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +14 -14
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +11 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +40 -12
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -8
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +2 -2
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +1 -0
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +97 -54
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +5 -4
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +6 -6
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +5 -5
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +6 -6
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +8 -7
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +15 -2
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +155 -22
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +9 -9
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.d.ts +3 -1
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +36 -19
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +2 -2
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +14 -14
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +13 -0
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +1 -1
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +1 -1
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +3 -3
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.d.ts +17 -0
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMissingSandboxDepsConfirmationSubPart.js +68 -0
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatModifiedFilesConfirmationSubPart.js +6 -6
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +16 -16
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +33 -25
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +7 -7
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +12 -3
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +5 -5
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +5 -5
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +4 -13
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +37 -113
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +1 -1
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +10 -3
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +66 -39
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +13 -2
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +103 -61
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +2 -1
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +35 -23
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +4 -4
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +6 -6
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +5 -5
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +1 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +4 -1
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +2 -1
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +39 -24
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +6 -5
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +44 -18
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +3 -3
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +60 -10
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +7 -7
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +2 -2
  113. package/vscode/src/vs/workbench/contrib/chat/common/chatImageExtraction.js +6 -6
  114. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +15 -15
  115. package/vscode/src/vs/workbench/contrib/chat/common/widget/codeBlockModelCollection.js +4 -0
  116. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +4 -4
  117. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +5 -5
  118. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +4 -1
  119. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +5 -2
  120. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +6 -11
  121. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
  122. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +39 -39
  123. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  124. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  125. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  126. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.d.ts +26 -0
  127. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/cellOperations.js +746 -0
  128. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.d.ts +13 -0
  129. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/insertCellActions.js +300 -0
  130. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.d.ts +8 -0
  131. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffCellEditorOptions.js +55 -0
  132. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.d.ts +273 -0
  133. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffComponents.js +1963 -0
  134. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.d.ts +50 -0
  135. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementOutputs.js +314 -0
  136. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.d.ts +258 -0
  137. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffElementViewModel.js +886 -0
  138. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.d.ts +41 -0
  139. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/diffNestedCellViewModel.js +118 -0
  140. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.d.ts +17 -0
  141. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/editorHeightCalculator.js +71 -0
  142. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.d.ts +27 -0
  143. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/eventDispatcher.js +40 -0
  144. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.d.ts +23 -0
  145. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookCellDiffDecorator.js +313 -0
  146. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.d.ts +51 -0
  147. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookDeletedCellDecorator.js +265 -0
  148. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.d.ts +24 -0
  149. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiff.js +185 -0
  150. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.d.ts +28 -0
  151. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInlineDiffWidget.js +104 -0
  152. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.d.ts +10 -0
  153. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookInsertedCellDecorator.js +43 -0
  154. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.d.ts +21 -0
  155. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalCellModelFactory.js +41 -0
  156. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.d.ts +25 -0
  157. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookOriginalModelRefFactory.js +69 -0
  158. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiff.css +469 -0
  159. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.d.ts +149 -0
  160. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditor.js +933 -0
  161. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.d.ts +180 -0
  162. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffEditorBrowser.js +32 -0
  163. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.d.ts +102 -0
  164. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffList.js +643 -0
  165. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.d.ts +30 -0
  166. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffOverviewRuler.js +197 -0
  167. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.d.ts +75 -0
  168. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/notebookDiffViewModel.js +539 -0
  169. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.d.ts +13 -0
  170. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/unchangedEditorRegions.js +39 -0
  171. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.d.ts +19 -0
  172. package/vscode/src/vs/workbench/contrib/notebook/common/model/notebookMetadataTextModel.js +90 -0
  173. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.d.ts +26 -0
  174. package/vscode/src/vs/workbench/contrib/notebook/common/notebookDiff.js +92 -0
  175. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  176. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +0 -152
  178. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +0 -1317
  179. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalPromptFileSystem.d.ts +0 -47
  180. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalPromptFileSystem.js +0 -95
@@ -236,10 +236,10 @@ let InlineAnchorWidget = class InlineAnchorWidget extends Disposable {
236
236
  );
237
237
  if (location.range) {
238
238
  if (location.range.startLineNumber === location.range.endLineNumber) {
239
- element.setAttribute("aria-label", ( localize(6679, "{0} line {1}", filePathLabel, location.range.startLineNumber)));
239
+ element.setAttribute("aria-label", ( localize(6734, "{0} line {1}", filePathLabel, location.range.startLineNumber)));
240
240
  } else {
241
241
  element.setAttribute("aria-label", ( localize(
242
- 6680,
242
+ 6735,
243
243
  "{0} lines {1} to {2}",
244
244
  filePathLabel,
245
245
  location.range.startLineNumber,
@@ -309,7 +309,7 @@ registerAction2(class AddFileToChatAction extends Action2 {
309
309
  constructor() {
310
310
  super({
311
311
  id: AddFileToChatAction.id,
312
- title: ( localize2(6681, "Add File to Chat")),
312
+ title: ( localize2(6736, "Add File to Chat")),
313
313
  menu: [{
314
314
  id: MenuId.ChatInlineResourceAnchorContext,
315
315
  group: "chat",
@@ -333,7 +333,7 @@ registerAction2(class CopyResourceAction extends Action2 {
333
333
  constructor() {
334
334
  super({
335
335
  id: CopyResourceAction.id,
336
- title: ( localize2(6682, "Copy")),
336
+ title: ( localize2(6737, "Copy")),
337
337
  f1: false,
338
338
  precondition: chatAttachmentResourceContextKey,
339
339
  keybinding: {
@@ -360,7 +360,7 @@ registerAction2(class OpenToSideResourceAction extends Action2 {
360
360
  constructor() {
361
361
  super({
362
362
  id: OpenToSideResourceAction.id,
363
- title: ( localize2(6683, "Open to the Side")),
363
+ title: ( localize2(6738, "Open to the Side")),
364
364
  f1: false,
365
365
  precondition: chatAttachmentResourceContextKey,
366
366
  keybinding: {
@@ -426,8 +426,8 @@ registerAction2(class GoToDefinitionAction extends Action2 {
426
426
  super({
427
427
  id: GoToDefinitionAction.id,
428
428
  title: {
429
- ...( localize2(6684, "Go to Definition")),
430
- mnemonicTitle: ( localize(6685, "Go to &&Definition"))
429
+ ...( localize2(6739, "Go to Definition")),
430
+ mnemonicTitle: ( localize(6740, "Go to &&Definition"))
431
431
  },
432
432
  menu: ( [
433
433
  MenuId.ChatInlineSymbolAnchorContext,
@@ -484,8 +484,8 @@ registerAction2(class GoToTypeDefinitionsAction extends Action2 {
484
484
  super({
485
485
  id: GoToTypeDefinitionsAction.id,
486
486
  title: {
487
- ...( localize2(6686, "Go to Type Definitions")),
488
- mnemonicTitle: ( localize(6687, "Go to &&Type Definitions"))
487
+ ...( localize2(6741, "Go to Type Definitions")),
488
+ mnemonicTitle: ( localize(6742, "Go to &&Type Definitions"))
489
489
  },
490
490
  menu: ( [
491
491
  MenuId.ChatInlineSymbolAnchorContext,
@@ -510,8 +510,8 @@ registerAction2(class GoToImplementations extends Action2 {
510
510
  super({
511
511
  id: GoToImplementations.id,
512
512
  title: {
513
- ...( localize2(6688, "Go to Implementations")),
514
- mnemonicTitle: ( localize(6689, "Go to &&Implementations"))
513
+ ...( localize2(6743, "Go to Implementations")),
514
+ mnemonicTitle: ( localize(6744, "Go to &&Implementations"))
515
515
  },
516
516
  menu: ( [
517
517
  MenuId.ChatInlineSymbolAnchorContext,
@@ -536,8 +536,8 @@ registerAction2(class GoToReferencesAction extends Action2 {
536
536
  super({
537
537
  id: GoToReferencesAction.id,
538
538
  title: {
539
- ...( localize2(6690, "Go to References")),
540
- mnemonicTitle: ( localize(6691, "Go to &&References"))
539
+ ...( localize2(6745, "Go to References")),
540
+ mnemonicTitle: ( localize(6746, "Go to &&References"))
541
541
  },
542
542
  menu: ( [
543
543
  MenuId.ChatInlineSymbolAnchorContext,
@@ -555,4 +555,4 @@ registerAction2(class GoToReferencesAction extends Action2 {
555
555
  }
556
556
  });
557
557
 
558
- export { InlineAnchorWidget, renderFileWidgets };
558
+ export { InlineAnchorWidget, getEditorOverrideForChatResource, renderFileWidgets };
@@ -15,6 +15,7 @@ import { ILabelService } from "@codingame/monaco-vscode-api/vscode/vs/platform/l
15
15
  import { IMarkdownRenderer } from "@codingame/monaco-vscode-api/vscode/vs/platform/markdown/browser/markdownRenderer";
16
16
  import { IEditorService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service";
17
17
  import { IAiEditTelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryService.service";
18
+ import { IEditSessionDiffStats, IEditSessionEntryDiff } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService";
18
19
  import { IChatProgressRenderableResponseContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel";
19
20
  import { IChatMarkdownContent } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService";
20
21
  import { IChatService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service";
@@ -48,6 +49,12 @@ export declare class ChatMarkdownContentPart extends Disposable implements IChat
48
49
  readonly domNode: HTMLElement;
49
50
  private readonly _onDidChangeHeight;
50
51
  readonly onDidChangeHeight: Event<void>;
52
+ private readonly _onDidChangeDiff;
53
+ /**
54
+ * Fires when any edit pill (CollapsedCodeBlock) in this markdown part updates its diff.
55
+ * The aggregated stats reflect the total added/removed across all edit pills.
56
+ */
57
+ readonly onDidChangeDiff: Event<IEditSessionDiffStats>;
51
58
  private readonly allRefs;
52
59
  private readonly _codeblocks;
53
60
  get codeblocks(): IChatCodeBlockInfo[];
@@ -55,6 +62,7 @@ export declare class ChatMarkdownContentPart extends Disposable implements IChat
55
62
  constructor(markdown: IChatMarkdownContent, context: IChatContentPartRenderContext, editorPool: EditorPool, fillInIncompleteTokens: boolean | undefined, codeBlockStartIndex: number | undefined, renderer: IMarkdownRenderer, markdownRenderOptions: MarkdownRenderOptions | undefined, currentWidth: number, codeBlockModelCollection: CodeBlockModelCollection, rendererOptions: IChatMarkdownContentPartOptions, contextKeyService: IContextKeyService, configurationService: IConfigurationService, textModelService: ITextModelService, instantiationService: IInstantiationService, aiEditTelemetryService: IAiEditTelemetryService);
56
63
  dispose(): void;
57
64
  private renderCodeBlockPill;
65
+ private fireAggregatedDiff;
58
66
  private renderCodeBlock;
59
67
  hasSameContent(other: IChatProgressRenderableResponseContent): boolean;
60
68
  layout(width: number): void;
@@ -84,6 +92,9 @@ export declare class CollapsedCodeBlock extends Disposable {
84
92
  private readonly hover;
85
93
  private tooltip;
86
94
  private currentDiff;
95
+ get diff(): IEditSessionEntryDiff | undefined;
96
+ private readonly _onDidChangeDiff;
97
+ readonly onDidChangeDiff: Event<IEditSessionEntryDiff>;
87
98
  private readonly progressStore;
88
99
  constructor(sessionResource: URI, requestId: string, inUndoStop: string | undefined, labelService: ILabelService, editorService: IEditorService, modelService: IModelService, languageService: ILanguageService, contextMenuService: IContextMenuService, contextKeyService: IContextKeyService, menuService: IMenuService, hoverService: IHoverService, chatService: IChatService, configurationService: IConfigurationService);
89
100
  private registerListeners;
@@ -99,6 +99,8 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
99
99
  this.codeblocksPartId = String(++ChatMarkdownContentPart_1.ID_POOL);
100
100
  this._onDidChangeHeight = this._register(( new Emitter()));
101
101
  this.onDidChangeHeight = this._onDidChangeHeight.event;
102
+ this._onDidChangeDiff = this._register(( new Emitter()));
103
+ this.onDidChangeDiff = this._onDidChangeDiff.event;
102
104
  this.allRefs = [];
103
105
  this._codeblocks = [];
104
106
  this.mathLayoutParticipants = ( new Set());
@@ -293,7 +295,6 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
293
295
  this._codeblocks[codeBlockInfo.codeBlockPartIndex].codemapperUri = e.codemapperUri;
294
296
  });
295
297
  }
296
- this.allRefs.push(ref);
297
298
  const ownerMarkdownPartId = this.codeblocksPartId;
298
299
  const info = new (class {
299
300
  constructor() {
@@ -382,14 +383,35 @@ let ChatMarkdownContentPart = class ChatMarkdownContentPart extends Disposable {
382
383
  }
383
384
  renderCodeBlockPill(sessionResource, requestId, inUndoStop, codemapperUri) {
384
385
  const codeBlock = this.instantiationService.createInstance(CollapsedCodeBlock, sessionResource, requestId, inUndoStop);
385
- if (codemapperUri) {
386
- codeBlock.render(codemapperUri);
387
- }
388
- return {
386
+ const diffListenerStore = ( new DisposableStore());
387
+ const ref = {
389
388
  object: codeBlock,
390
389
  isStale: () => false,
391
- dispose: () => codeBlock.dispose()
390
+ dispose: () => {
391
+ codeBlock.dispose();
392
+ diffListenerStore.dispose();
393
+ }
392
394
  };
395
+ this.allRefs.push(ref);
396
+ diffListenerStore.add(codeBlock.onDidChangeDiff(() => this.fireAggregatedDiff()));
397
+ if (codemapperUri) {
398
+ codeBlock.render(codemapperUri);
399
+ }
400
+ return ref;
401
+ }
402
+ fireAggregatedDiff() {
403
+ let totalAdded = 0;
404
+ let totalRemoved = 0;
405
+ for (const ref of this.allRefs) {
406
+ if (ref.object instanceof CollapsedCodeBlock && ref.object.diff) {
407
+ totalAdded += ref.object.diff.added;
408
+ totalRemoved += ref.object.diff.removed;
409
+ }
410
+ }
411
+ this._onDidChangeDiff.fire({
412
+ added: totalAdded,
413
+ removed: totalRemoved
414
+ });
393
415
  }
394
416
  renderCodeBlock(data, text, isComplete, currentWidth) {
395
417
  const ref = this.editorPool.get();
@@ -456,6 +478,9 @@ let CollapsedCodeBlock = class CollapsedCodeBlock extends Disposable {
456
478
  get uri() {
457
479
  return this._uri;
458
480
  }
481
+ get diff() {
482
+ return this.currentDiff;
483
+ }
459
484
  constructor(
460
485
  sessionResource,
461
486
  requestId,
@@ -486,6 +511,8 @@ let CollapsedCodeBlock = class CollapsedCodeBlock extends Disposable {
486
511
  this.chatService = chatService;
487
512
  this.configurationService = configurationService;
488
513
  this.hover = this._register(( new MutableDisposable()));
514
+ this._onDidChangeDiff = this._register(( new Emitter()));
515
+ this.onDidChangeDiff = this._onDidChangeDiff.event;
489
516
  this.progressStore = this._store.add(( new DisposableStore()));
490
517
  this.element = $("div.chat-codeblock-pill-container");
491
518
  this.statusIndicatorContainer = $("div.status-indicator-container");
@@ -588,7 +615,7 @@ let CollapsedCodeBlock = class CollapsedCodeBlock extends Disposable {
588
615
  statusIconEl.classList.add(...statusIconClasses);
589
616
  const entry = editSession.readEntry(uri, r);
590
617
  const rwRatio = Math.floor((entry?.rewriteRatio.read(r) || 0) * 100);
591
- statusLabelEl.textContent = ( localize(6692, "Applying edits"));
618
+ statusLabelEl.textContent = ( localize(6747, "Applying edits"));
592
619
  const showAnimation = this.configurationService.getValue(ChatConfiguration.ShowCodeBlockProgressAnimation);
593
620
  if (showAnimation) {
594
621
  progressFill.style.width = `${rwRatio}%`;
@@ -597,13 +624,13 @@ let CollapsedCodeBlock = class CollapsedCodeBlock extends Disposable {
597
624
  } else {
598
625
  progressFill.style.width = "0%";
599
626
  this.pillElement.classList.remove("progress-filling");
600
- labelDetail.textContent = rwRatio === 0 || !rwRatio ? ( localize(6693, "Generating edits...")) : ( localize(6694, "({0}%)...", rwRatio));
627
+ labelDetail.textContent = rwRatio === 0 || !rwRatio ? ( localize(6748, "Generating edits...")) : ( localize(6749, "({0}%)...", rwRatio));
601
628
  }
602
629
  } else {
603
630
  const statusCodeicon = Codicon.check;
604
631
  statusIconClasses = ThemeIcon.asClassNameArray(statusCodeicon);
605
632
  statusIconEl.classList.add(...statusIconClasses);
606
- statusLabelEl.textContent = ( localize(6695, "Edited"));
633
+ statusLabelEl.textContent = ( localize(6750, "Edited"));
607
634
  const fileKind = uri.path.endsWith("/") ? FileKind.FOLDER : FileKind.FILE;
608
635
  pillIconClasses = getIconClasses(this.modelService, this.languageService, uri, fileKind);
609
636
  iconEl.classList.add(...pillIconClasses);
@@ -621,12 +648,13 @@ let CollapsedCodeBlock = class CollapsedCodeBlock extends Disposable {
621
648
  const labelRemoved = this.pillElement.querySelector(".label-removed") ?? this.pillElement.appendChild($$1("span.label-removed"));
622
649
  if (changes && !changes?.identical && !changes?.quitEarly) {
623
650
  this.currentDiff = changes;
651
+ this._onDidChangeDiff.fire(changes);
624
652
  labelAdded.textContent = `+${changes.added}`;
625
653
  labelRemoved.textContent = `-${changes.removed}`;
626
- const insertionsFragment = changes.added === 1 ? ( localize(6696, "1 insertion")) : ( localize(6697, "{0} insertions", changes.added));
627
- const deletionsFragment = changes.removed === 1 ? ( localize(6698, "1 deletion")) : ( localize(6699, "{0} deletions", changes.removed));
654
+ const insertionsFragment = changes.added === 1 ? ( localize(6751, "1 insertion")) : ( localize(6752, "{0} insertions", changes.added));
655
+ const deletionsFragment = changes.removed === 1 ? ( localize(6753, "1 deletion")) : ( localize(6754, "{0} deletions", changes.removed));
628
656
  const summary = ( localize(
629
- 6700,
657
+ 6755,
630
658
  "Edited {0}, {1}, {2}",
631
659
  iconText,
632
660
  insertionsFragment,
@@ -92,25 +92,25 @@ let ChatMcpServersInteractionContentPart = class ChatMcpServersInteractionConten
92
92
  text: "`" + escapeMarkdownSyntaxTokens(s.label) + "`",
93
93
  id: McpCommandIds.ServerOptions,
94
94
  arguments: [s.id],
95
- tooltip: ( localize(6701, "Show options for {0}", s.label))
95
+ tooltip: ( localize(6756, "Show options for {0}", s.label))
96
96
  }, false))).join(", ");
97
97
  }
98
98
  updateDetailedProgress(state) {
99
99
  const skipText = createMarkdownCommandLink({
100
- text: ( localize(6702, "Skip?")),
100
+ text: ( localize(6757, "Skip?")),
101
101
  id: McpCommandIds.SkipCurrentAutostart,
102
- tooltip: ( localize(6703, "Skip starting this MCP server"))
102
+ tooltip: ( localize(6758, "Skip starting this MCP server"))
103
103
  });
104
104
  let content;
105
105
  if (state.starting.length === 0) {
106
106
  content = ( new MarkdownString(undefined, {
107
107
  isTrusted: true
108
- })).appendText(( localize(6704, "Activating MCP extensions...")) + " ").appendMarkdown(skipText);
108
+ })).appendText(( localize(6759, "Activating MCP extensions...")) + " ").appendMarkdown(skipText);
109
109
  } else {
110
110
  const serverLinks = this.createServerCommandLinks(state.starting);
111
111
  content = ( new MarkdownString(undefined, {
112
112
  isTrusted: true
113
- })).appendMarkdown(( localize(6705, "Starting MCP servers {0}...", serverLinks)) + " ").appendMarkdown(skipText);
113
+ })).appendMarkdown(( localize(6760, "Starting MCP servers {0}...", serverLinks)) + " ").appendMarkdown(skipText);
114
114
  }
115
115
  if (this.workingProgressPart) {
116
116
  this.workingProgressPart.updateMessage(content);
@@ -149,12 +149,12 @@ let ChatMcpServersInteractionContentPart = class ChatMcpServersInteractionConten
149
149
  const count = serversRequiringInteraction.length;
150
150
  const links = this.createServerCommandLinks(serversRequiringInteraction);
151
151
  const content = count === 1 ? ( localize(
152
- 6706,
152
+ 6761,
153
153
  "The MCP server {0} may have new tools and requires interaction to start. [Start it now?]({1})",
154
154
  links,
155
155
  "#start"
156
156
  )) : ( localize(
157
- 6707,
157
+ 6762,
158
158
  "The MCP servers {0} may have new tools and require interaction to start. [Start them now?]({1})",
159
159
  links,
160
160
  "#start"
@@ -196,7 +196,7 @@ let ChatMcpServersInteractionContentPart = class ChatMcpServersInteractionConten
196
196
  const serversToStart = state.serversRequiringInteraction;
197
197
  for (let i = 0; i < serversToStart.length; i++) {
198
198
  const serverInfo = serversToStart[i];
199
- startLink.textContent = ( localize(6708, "Starting {0}...", serverInfo.label));
199
+ startLink.textContent = ( localize(6763, "Starting {0}...", serverInfo.label));
200
200
  const server = this.mcpService.servers.get().find(s => s.definition.id === serverInfo.id);
201
201
  if (server) {
202
202
  await startServerAndWaitForLiveTools(server, {
@@ -64,7 +64,7 @@ let ChatMultiDiffContentPart = class ChatMultiDiffContentPart extends Disposable
64
64
  const viewListButton = ( new ButtonWithIcon(viewListButtonContainer, {}));
65
65
  this._register(autorun(reader => {
66
66
  const fileCount = this.diffData.read(reader).resources.length;
67
- viewListButton.label = fileCount === 1 ? ( localize(6709, "Changed 1 file")) : ( localize(6710, "Changed {0} files", fileCount));
67
+ viewListButton.label = fileCount === 1 ? ( localize(6764, "Changed 1 file")) : ( localize(6765, "Changed {0} files", fileCount));
68
68
  }));
69
69
  const setExpansionState = () => {
70
70
  viewListButton.icon = this.isCollapsed ? Codicon.chevronRight : Codicon.chevronDown;
@@ -86,7 +86,7 @@ let ChatMultiDiffContentPart = class ChatMultiDiffContentPart extends Disposable
86
86
  renderViewAllFileChangesButton(container) {
87
87
  const button = container.appendChild($(".chat-view-changes-icon"));
88
88
  button.classList.add(...ThemeIcon.asClassNameArray(Codicon.diffMultiple));
89
- button.title = ( localize(6711, "Open Changes"));
89
+ button.title = ( localize(6766, "Open Changes"));
90
90
  return addDisposableListener(button, "click", e => {
91
91
  const source = ( URI.parse(`multi-diff-editor:${( ( new Date()).getMilliseconds().toString()) + ( Math.random().toString())}`));
92
92
  const {
@@ -143,7 +143,7 @@ let ChatMultiDiffContentPart = class ChatMultiDiffContentPart extends Disposable
143
143
  alwaysConsumeMouseWheel: false,
144
144
  accessibilityProvider: {
145
145
  getAriaLabel: element => element.uri.path,
146
- getWidgetAriaLabel: () => ( localize(6712, "File Changes"))
146
+ getWidgetAriaLabel: () => ( localize(6767, "File Changes"))
147
147
  }
148
148
  })
149
149
  );
@@ -259,7 +259,7 @@ class ChatMultiDiffListRenderer {
259
259
  const removedElement = changesSummary.appendChild($(".deletions"));
260
260
  removedElement.textContent = `-${element.diff.removed}`;
261
261
  changesSummary.setAttribute("aria-label", ( localize(
262
- 6713,
262
+ 6768,
263
263
  "{0} lines added, {1} lines removed",
264
264
  element.diff.added,
265
265
  element.diff.removed
@@ -146,7 +146,7 @@ let ChatWorkingProgressContentPart = class ChatWorkingProgressContentPart extend
146
146
  configurationService,
147
147
  languageModelToolsService
148
148
  ) {
149
- const defaultLabel = ( localize(6714, "Working"));
149
+ const defaultLabel = ( localize(6769, "Working"));
150
150
  const pool = buildPhrasePool([defaultLabel], configurationService);
151
151
  const label = pool[Math.floor(Math.random() * pool.length)];
152
152
  const progressMessage = {
@@ -168,7 +168,7 @@ let ChatWorkingProgressContentPart = class ChatWorkingProgressContentPart extend
168
168
  );
169
169
  this._register(languageModelToolsService.onDidPrepareToolCallBecomeUnresponsive(e => {
170
170
  if (isEqual(context.element.sessionResource, e.sessionResource)) {
171
- this.updateMessage(( new MarkdownString(( localize(6715, "Waiting for tool '{0}' to respond...", e.toolData.displayName)))));
171
+ this.updateMessage(( new MarkdownString(( localize(6770, "Waiting for tool '{0}' to respond...", e.toolData.displayName)))));
172
172
  }
173
173
  }));
174
174
  }
@@ -151,6 +151,7 @@ export declare class ChatQuestionCarouselPart extends Disposable implements ICha
151
151
  private renderSingleSelect;
152
152
  private renderMultiSelect;
153
153
  private getCurrentAnswer;
154
+ private getOptionsWithDefaultsFirst;
154
155
  /**
155
156
  * Renders a "Skipped" message when the carousel is dismissed without answers.
156
157
  */