@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
@@ -22,6 +22,7 @@ import { EditorActivation } from '@codingame/monaco-vscode-api/vscode/vs/platfor
22
22
  import { KeybindingWeight } from '@codingame/monaco-vscode-api/vscode/vs/platform/keybinding/common/keybindingsRegistry';
23
23
  import { IEditorService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorService.service';
24
24
  import { IAgentSessionsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.service';
25
+ import { isImplicitVariableEntry, isWorkspaceVariableEntry, isStringVariableEntry, isPromptFileVariableEntry, isPromptTextVariableEntry } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/attachments/chatVariableEntries';
25
26
  import { isChatViewTitleActionContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatActions';
26
27
  import { ChatContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/actions/chatContextKeys';
27
28
  import { chatEditingWidgetFileStateContextKey, ModifiedFileEntryState, CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME, chatEditingResourceContextKey, decidedChatEditingResourceContextKey, applyingChatEditsFailedContextKey, hasUndecidedChatEditingResourceContextKey, hasAppliedChatEditsContextKey } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService';
@@ -85,7 +86,7 @@ registerAction2(class OpenFileInDiffAction extends WorkingSetAction {
85
86
  constructor() {
86
87
  super({
87
88
  id: "chatEditing.openFileInDiff",
88
- title: ( localize2(5918, "Open Changes in Diff Editor")),
89
+ title: ( localize2(5964, "Open Changes in Diff Editor")),
89
90
  icon: Codicon.diffSingle,
90
91
  menu: [{
91
92
  id: MenuId.ChatEditingWidgetModifiedFilesToolbar,
@@ -116,7 +117,7 @@ registerAction2(class AcceptAction extends WorkingSetAction {
116
117
  constructor() {
117
118
  super({
118
119
  id: "chatEditing.acceptFile",
119
- title: ( localize2(5919, "Keep")),
120
+ title: ( localize2(5965, "Keep")),
120
121
  icon: Codicon.check,
121
122
  menu: [{
122
123
  when: ( ContextKeyExpr.and(( ContextKeyExpr.equals("resourceScheme", CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME)), ContextKeyExpr.notIn(
@@ -142,7 +143,7 @@ registerAction2(class DiscardAction extends WorkingSetAction {
142
143
  constructor() {
143
144
  super({
144
145
  id: "chatEditing.discardFile",
145
- title: ( localize2(5920, "Undo")),
146
+ title: ( localize2(5966, "Undo")),
146
147
  icon: Codicon.discard,
147
148
  menu: [{
148
149
  when: ( ContextKeyExpr.and(( ContextKeyExpr.equals("resourceScheme", CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME)), ContextKeyExpr.notIn(
@@ -168,9 +169,9 @@ class ChatEditingAcceptAllAction extends EditingSessionAction {
168
169
  constructor() {
169
170
  super({
170
171
  id: "chatEditing.acceptAllFiles",
171
- title: ( localize(5921, "Keep")),
172
+ title: ( localize(5967, "Keep")),
172
173
  icon: Codicon.check,
173
- tooltip: ( localize(5922, "Keep All Edits")),
174
+ tooltip: ( localize(5968, "Keep All Edits")),
174
175
  precondition: hasUndecidedChatEditingResourceContextKey,
175
176
  keybinding: {
176
177
  primary: KeyMod.CtrlCmd | KeyCode.Enter,
@@ -194,9 +195,9 @@ class ChatEditingDiscardAllAction extends EditingSessionAction {
194
195
  constructor() {
195
196
  super({
196
197
  id: "chatEditing.discardAllFiles",
197
- title: ( localize(5923, "Undo")),
198
+ title: ( localize(5969, "Undo")),
198
199
  icon: Codicon.discard,
199
- tooltip: ( localize(5924, "Undo All Edits")),
200
+ tooltip: ( localize(5970, "Undo All Edits")),
200
201
  precondition: hasUndecidedChatEditingResourceContextKey,
201
202
  menu: [{
202
203
  id: MenuId.ChatEditingWidgetToolbar,
@@ -227,8 +228,8 @@ class ToggleExplanationWidgetAction extends EditingSessionAction {
227
228
  constructor() {
228
229
  super({
229
230
  id: ToggleExplanationWidgetAction.ID,
230
- title: ( localize(5925, "Explain")),
231
- tooltip: ( localize(5926, "Toggle Change Explanations")),
231
+ title: ( localize(5971, "Explain")),
232
+ tooltip: ( localize(5972, "Toggle Change Explanations")),
232
233
  precondition: hasUndecidedChatEditingResourceContextKey,
233
234
  menu: [{
234
235
  id: MenuId.ChatEditingWidgetToolbar,
@@ -252,17 +253,17 @@ async function discardAllEditsWithConfirmation(accessor, currentEditingSession)
252
253
  const entries = currentEditingSession.entries.get().filter(e => e.state.get() === ModifiedFileEntryState.Modified);
253
254
  if (entries.length > 0) {
254
255
  const confirmation = await dialogService.confirm({
255
- title: ( localize(5927, "Undo all edits?")),
256
+ title: ( localize(5973, "Undo all edits?")),
256
257
  message: entries.length === 1 ? ( localize(
257
- 5928,
258
+ 5974,
258
259
  "This will undo changes made in {0}. Do you want to proceed?",
259
260
  basename(entries[0].modifiedURI)
260
261
  )) : ( localize(
261
- 5929,
262
+ 5975,
262
263
  "This will undo changes made in {0} files. Do you want to proceed?",
263
264
  entries.length
264
265
  )),
265
- primaryButton: ( localize(5930, "Yes")),
266
+ primaryButton: ( localize(5976, "Yes")),
266
267
  type: "info"
267
268
  });
268
269
  if (!confirmation.confirmed) {
@@ -277,7 +278,7 @@ class ChatEditingShowChangesAction extends EditingSessionAction {
277
278
  this.ID = "chatEditing.viewChanges";
278
279
  }
279
280
  static {
280
- this.LABEL = ( localize(5931, "View All Edits"));
281
+ this.LABEL = ( localize(5977, "View All Edits"));
281
282
  }
282
283
  constructor() {
283
284
  super({
@@ -310,15 +311,14 @@ class ViewAllSessionChangesAction extends Action2 {
310
311
  constructor() {
311
312
  super({
312
313
  id: ViewAllSessionChangesAction.ID,
313
- title: ( localize2(5932, "View All Changes")),
314
+ title: ( localize2(5978, "View All Changes")),
314
315
  icon: Codicon.diffMultiple,
315
316
  category: CHAT_CATEGORY,
316
317
  precondition: ChatContextKeys.hasAgentSessionChanges,
317
318
  menu: [{
318
319
  id: MenuId.ChatEditingSessionChangesToolbar,
319
320
  group: "navigation",
320
- order: 10,
321
- when: ChatContextKeys.hasAgentSessionChanges
321
+ order: 10
322
322
  }]
323
323
  });
324
324
  }
@@ -347,7 +347,7 @@ class ViewAllSessionChangesAction extends Action2 {
347
347
  multiDiffSourceUri: sessionResource.with({
348
348
  scheme: sessionResource.scheme + "-worktree-changes"
349
349
  }),
350
- title: ( localize(5933, "All Session Changes")),
350
+ title: ( localize(5979, "All Session Changes")),
351
351
  resources
352
352
  });
353
353
  session?.setRead(true);
@@ -359,6 +359,14 @@ class ViewAllSessionChangesAction extends Action2 {
359
359
  }
360
360
  }
361
361
  registerAction2(ViewAllSessionChangesAction);
362
+ function filterToUserAttachedContext(attachedContext) {
363
+ if (!attachedContext?.length) {
364
+ return [];
365
+ }
366
+ return attachedContext.filter(
367
+ a => !isImplicitVariableEntry(a) && !isWorkspaceVariableEntry(a) && !isStringVariableEntry(a) && !(isPromptFileVariableEntry(a) && a.automaticallyAdded) && !(isPromptTextVariableEntry(a) && a.automaticallyAdded)
368
+ );
369
+ }
362
370
  async function restoreSnapshotWithConfirmationByRequestId(accessor, sessionResource, requestId) {
363
371
  const configurationService = accessor.get(IConfigurationService);
364
372
  const dialogService = accessor.get(IDialogService);
@@ -367,16 +375,16 @@ async function restoreSnapshotWithConfirmationByRequestId(accessor, sessionResou
367
375
  const chatService = accessor.get(IChatService);
368
376
  const chatModel = chatService.getSession(sessionResource);
369
377
  if (!chatModel) {
370
- return;
378
+ return false;
371
379
  }
372
380
  const session = chatModel.editingSession;
373
381
  if (!session) {
374
- return;
382
+ return false;
375
383
  }
376
384
  const chatRequests = chatModel.getRequests();
377
385
  const itemIndex = chatRequests.findIndex(request => request.id === requestId);
378
386
  if (itemIndex === -1) {
379
- return;
387
+ return false;
380
388
  }
381
389
  const editsToUndo = chatRequests.length - itemIndex;
382
390
  const requestsToRemove = chatRequests.slice(itemIndex);
@@ -387,13 +395,13 @@ async function restoreSnapshotWithConfirmationByRequestId(accessor, sessionResou
387
395
  if (editsToUndo === 1) {
388
396
  if (entriesModifiedInRequestsToRemove.length === 1) {
389
397
  message = ( localize(
390
- 5934,
398
+ 5980,
391
399
  "This will remove your last request and undo the edits made to {0}. Do you want to proceed?",
392
400
  basename(entriesModifiedInRequestsToRemove[0].modifiedURI)
393
401
  ));
394
402
  } else {
395
403
  message = ( localize(
396
- 5935,
404
+ 5981,
397
405
  "This will remove your last request and undo edits made to {0} files in your working set. Do you want to proceed?",
398
406
  entriesModifiedInRequestsToRemove.length
399
407
  ));
@@ -401,24 +409,24 @@ async function restoreSnapshotWithConfirmationByRequestId(accessor, sessionResou
401
409
  } else {
402
410
  if (entriesModifiedInRequestsToRemove.length === 1) {
403
411
  message = ( localize(
404
- 5936,
412
+ 5982,
405
413
  "This will remove all subsequent requests and undo edits made to {0}. Do you want to proceed?",
406
414
  basename(entriesModifiedInRequestsToRemove[0].modifiedURI)
407
415
  ));
408
416
  } else {
409
417
  message = ( localize(
410
- 5937,
418
+ 5983,
411
419
  "This will remove all subsequent requests and undo edits made to {0} files in your working set. Do you want to proceed?",
412
420
  entriesModifiedInRequestsToRemove.length
413
421
  ));
414
422
  }
415
423
  }
416
424
  const confirmation = shouldPrompt ? await dialogService.confirm({
417
- title: editsToUndo === 1 ? ( localize(5938, "Do you want to undo your last edit?")) : ( localize(5939, "Do you want to undo {0} edits?", editsToUndo)),
425
+ title: editsToUndo === 1 ? ( localize(5984, "Do you want to undo your last edit?")) : ( localize(5985, "Do you want to undo {0} edits?", editsToUndo)),
418
426
  message: message,
419
- primaryButton: ( localize(5940, "Yes")),
427
+ primaryButton: ( localize(5986, "Yes")),
420
428
  checkbox: {
421
- label: ( localize(5941, "Don't ask again")),
429
+ label: ( localize(5987, "Don't ask again")),
422
430
  checked: false
423
431
  },
424
432
  type: "info"
@@ -427,26 +435,27 @@ async function restoreSnapshotWithConfirmationByRequestId(accessor, sessionResou
427
435
  };
428
436
  if (!confirmation.confirmed) {
429
437
  widget?.viewModel?.model.setCheckpoint(undefined);
430
- return;
438
+ return false;
431
439
  }
432
440
  if (confirmation.checkboxChecked) {
433
441
  await configurationService.updateValue("chat.editing.confirmEditRequestRemoval", false);
434
442
  }
435
443
  const snapshotRequestId = chatRequests[itemIndex].id;
436
444
  await session.restoreSnapshot(snapshotRequestId, undefined);
445
+ return true;
437
446
  }
438
447
  async function restoreSnapshotWithConfirmation(accessor, item) {
439
448
  const requestId = isRequestVM(item) ? item.id : isResponseVM(item) ? item.requestId : undefined;
440
449
  if (!requestId) {
441
- return;
450
+ return false;
442
451
  }
443
- await restoreSnapshotWithConfirmationByRequestId(accessor, item.sessionResource, requestId);
452
+ return restoreSnapshotWithConfirmationByRequestId(accessor, item.sessionResource, requestId);
444
453
  }
445
454
  registerAction2(class RemoveAction extends Action2 {
446
455
  constructor() {
447
456
  super({
448
457
  id: "workbench.action.chat.undoEdits",
449
- title: ( localize2(5942, "Undo Requests")),
458
+ title: ( localize2(5988, "Undo Requests")),
450
459
  f1: false,
451
460
  category: CHAT_CATEGORY,
452
461
  icon: Codicon.discard,
@@ -477,10 +486,14 @@ registerAction2(class RemoveAction extends Action2 {
477
486
  if (!item) {
478
487
  return;
479
488
  }
480
- await restoreSnapshotWithConfirmation(accessor, item);
481
- if (isRequestVM(item) && configurationService.getValue("chat.undoRequests.restoreInput")) {
489
+ const confirmed = await restoreSnapshotWithConfirmation(accessor, item);
490
+ if (confirmed && isRequestVM(item) && configurationService.getValue("chat.undoRequests.restoreInput")) {
482
491
  widget?.focusInput();
483
492
  widget?.input.setValue(item.messageText, false);
493
+ const userAttachments = filterToUserAttachedContext(item.attachedContext);
494
+ if (userAttachments.length) {
495
+ await widget?.input.restoreAttachments(userAttachments);
496
+ }
484
497
  }
485
498
  }
486
499
  });
@@ -488,8 +501,8 @@ registerAction2(class RestoreCheckpointAction extends Action2 {
488
501
  constructor() {
489
502
  super({
490
503
  id: "workbench.action.chat.restoreCheckpoint",
491
- title: ( localize2(5943, "Restore Checkpoint")),
492
- tooltip: ( localize2(5944, "Restores workspace and chat to this point")),
504
+ title: ( localize2(5989, "Restore Checkpoint")),
505
+ tooltip: ( localize2(5990, "Restores workspace and chat to this point")),
493
506
  f1: false,
494
507
  category: CHAT_CATEGORY,
495
508
  keybinding: {
@@ -504,7 +517,7 @@ registerAction2(class RestoreCheckpointAction extends Action2 {
504
517
  id: MenuId.ChatMessageCheckpoint,
505
518
  group: "navigation",
506
519
  order: 2,
507
- when: ( ContextKeyExpr.and(ChatContextKeys.isRequest, ( ChatContextKeys.lockedToCodingAgent.negate())))
520
+ when: ( ContextKeyExpr.and(ChatContextKeys.isRequest, ( ChatContextKeys.lockedToCodingAgent.negate()), ( ChatContextKeys.isFirstRequest.negate())))
508
521
  }]
509
522
  });
510
523
  }
@@ -518,11 +531,45 @@ registerAction2(class RestoreCheckpointAction extends Action2 {
518
531
  if (!item) {
519
532
  return;
520
533
  }
534
+ const userAttachments = isRequestVM(item) ? filterToUserAttachedContext(item.attachedContext) : [];
521
535
  if (isRequestVM(item)) {
522
536
  widget?.focusInput();
523
537
  widget?.input.setValue(item.messageText, false);
524
538
  }
525
539
  widget?.viewModel?.model.setCheckpoint(item.id);
540
+ const confirmed = await restoreSnapshotWithConfirmation(accessor, item);
541
+ if (confirmed && userAttachments.length) {
542
+ await widget?.input.restoreAttachments(userAttachments);
543
+ }
544
+ }
545
+ });
546
+ registerAction2(class StartOverAction extends Action2 {
547
+ constructor() {
548
+ super({
549
+ id: "workbench.action.chat.startOver",
550
+ title: ( localize2(5991, "Start Over")),
551
+ tooltip: ( localize2(5992, "Clears the chat and undoes all changes")),
552
+ f1: false,
553
+ category: CHAT_CATEGORY,
554
+ menu: [{
555
+ id: MenuId.ChatMessageCheckpoint,
556
+ group: "navigation",
557
+ order: 2,
558
+ when: ( ContextKeyExpr.and(ChatContextKeys.isRequest, ( ChatContextKeys.lockedToCodingAgent.negate()), ChatContextKeys.isFirstRequest))
559
+ }]
560
+ });
561
+ }
562
+ async run(accessor, ...args) {
563
+ let item = args[0];
564
+ const chatWidgetService = accessor.get(IChatWidgetService);
565
+ const widget = (isChatTreeItem(item) && chatWidgetService.getWidgetBySessionResource(item.sessionResource)) || chatWidgetService.lastFocusedWidget;
566
+ if (!isResponseVM(item) && !isRequestVM(item)) {
567
+ item = widget?.getFocus();
568
+ }
569
+ if (!item) {
570
+ return;
571
+ }
572
+ widget?.viewModel?.model.setCheckpoint(item.id);
526
573
  await restoreSnapshotWithConfirmation(accessor, item);
527
574
  }
528
575
  });
@@ -530,7 +577,7 @@ registerAction2(class RestoreLastCheckpoint extends Action2 {
530
577
  constructor() {
531
578
  super({
532
579
  id: "workbench.action.chat.restoreLastCheckpoint",
533
- title: ( localize2(5945, "Restore to Last Checkpoint")),
580
+ title: ( localize2(5993, "Restore to Last Checkpoint")),
534
581
  f1: true,
535
582
  category: CHAT_CATEGORY,
536
583
  icon: Codicon.discard,
@@ -555,7 +602,7 @@ registerAction2(class RestoreLastCheckpoint extends Action2 {
555
602
  }
556
603
  const checkpointRequest = chatModel.checkpoint;
557
604
  if (!checkpointRequest) {
558
- alert(( localize(5946, "There is no checkpoint to restore.")));
605
+ alert(( localize(5994, "There is no checkpoint to restore.")));
559
606
  return;
560
607
  }
561
608
  widget?.viewModel?.model.setCheckpoint(checkpointRequest.id);
@@ -568,7 +615,7 @@ registerAction2(class EditAction extends Action2 {
568
615
  constructor() {
569
616
  super({
570
617
  id: "workbench.action.chat.editRequests",
571
- title: ( localize2(5947, "Edit Request")),
618
+ title: ( localize2(5995, "Edit Request")),
572
619
  f1: false,
573
620
  category: CHAT_CATEGORY,
574
621
  icon: Codicon.edit,
@@ -607,7 +654,7 @@ registerAction2(class OpenWorkingSetHistoryAction extends Action2 {
607
654
  constructor() {
608
655
  super({
609
656
  id: OpenWorkingSetHistoryAction.id,
610
- title: ( localize(5948, "Open File")),
657
+ title: ( localize(5996, "Open File")),
611
658
  menu: [{
612
659
  id: MenuId.ChatEditingCodeBlockContext,
613
660
  group: "navigation",
@@ -633,7 +680,7 @@ registerAction2(class OpenWorkingSetHistoryAction extends Action2 {
633
680
  constructor() {
634
681
  super({
635
682
  id: OpenWorkingSetHistoryAction.id,
636
- title: ( localize(5949, "Open File Snapshot")),
683
+ title: ( localize(5997, "Open File Snapshot")),
637
684
  menu: [{
638
685
  id: MenuId.ChatEditingCodeBlockContext,
639
686
  group: "navigation",
@@ -657,7 +704,7 @@ registerAction2(class OpenWorkingSetHistoryAction extends Action2 {
657
704
  if (snapshot) {
658
705
  const editor = await editorService.openEditor({
659
706
  resource: snapshot,
660
- label: ( localize(5950, "{0} (Snapshot)", basename(context.uri))),
707
+ label: ( localize(5998, "{0} (Snapshot)", basename(context.uri))),
661
708
  options: {
662
709
  activation: EditorActivation.ACTIVATE
663
710
  }
@@ -674,7 +721,7 @@ registerAction2(class ResolveSymbolsContextAction extends EditingSessionAction {
674
721
  constructor() {
675
722
  super({
676
723
  id: "workbench.action.edits.addFilesFromReferences",
677
- title: ( localize2(5951, "Add Files From References")),
724
+ title: ( localize2(5999, "Add Files From References")),
678
725
  f1: false,
679
726
  category: CHAT_CATEGORY,
680
727
  menu: {
@@ -693,21 +740,25 @@ registerAction2(class ResolveSymbolsContextAction extends EditingSessionAction {
693
740
  const languageFeaturesService = accessor.get(ILanguageFeaturesService);
694
741
  const symbol = args[0];
695
742
  const modelReference = await textModelService.createModelReference(symbol.uri);
696
- const textModel = modelReference.object.textEditorModel;
697
- if (!textModel) {
698
- return;
699
- }
700
- const position = ( new Position(symbol.range.startLineNumber, symbol.range.startColumn));
701
- const [references, definitions, implementations] = await Promise.all([
702
- this.getReferences(position, textModel, languageFeaturesService),
703
- this.getDefinitions(position, textModel, languageFeaturesService),
704
- this.getImplementations(position, textModel, languageFeaturesService)
705
- ]);
706
- const attachments = [];
707
- for (const reference of [...definitions, ...implementations, ...references]) {
708
- attachments.push(chatWidget.attachmentModel.asFileVariableEntry(reference.uri));
743
+ try {
744
+ const textModel = modelReference.object.textEditorModel;
745
+ if (!textModel) {
746
+ return;
747
+ }
748
+ const position = ( new Position(symbol.range.startLineNumber, symbol.range.startColumn));
749
+ const [references, definitions, implementations] = await Promise.all([
750
+ this.getReferences(position, textModel, languageFeaturesService),
751
+ this.getDefinitions(position, textModel, languageFeaturesService),
752
+ this.getImplementations(position, textModel, languageFeaturesService)
753
+ ]);
754
+ const attachments = [];
755
+ for (const reference of [...definitions, ...implementations, ...references]) {
756
+ attachments.push(chatWidget.attachmentModel.asFileVariableEntry(reference.uri));
757
+ }
758
+ chatWidget.attachmentModel.addContext(...attachments);
759
+ } finally {
760
+ modelReference.dispose();
709
761
  }
710
- chatWidget.attachmentModel.addContext(...attachments);
711
762
  }
712
763
  async getReferences(position, textModel, languageFeaturesService) {
713
764
  const referenceProviders = languageFeaturesService.referenceProvider.all(textModel);
@@ -738,7 +789,7 @@ class ViewPreviousEditsAction extends EditingSessionAction {
738
789
  this.Id = "chatEditing.viewPreviousEdits";
739
790
  }
740
791
  static {
741
- this.Label = ( localize(5952, "View Previous Edits"));
792
+ this.Label = ( localize(6000, "View Previous Edits"));
742
793
  }
743
794
  constructor() {
744
795
  super({
@@ -65,7 +65,7 @@ class NavigateAction extends ChatEditingEditorAction {
65
65
  constructor(next) {
66
66
  super({
67
67
  id: next ? "chatEditor.action.navigateNext" : "chatEditor.action.navigatePrevious",
68
- title: next ? ( localize2(5954, "Go to Next Chat Edit")) : ( localize2(5955, "Go to Previous Chat Edit")),
68
+ title: next ? ( localize2(6002, "Go to Next Chat Edit")) : ( localize2(6003, "Go to Previous Chat Edit")),
69
69
  icon: next ? Codicon.arrowDown : Codicon.arrowUp,
70
70
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ctxHasEditorModification)),
71
71
  keybinding: {
@@ -129,9 +129,9 @@ class KeepOrUndoAction extends ChatEditingEditorAction {
129
129
  constructor(id, _keep) {
130
130
  super({
131
131
  id,
132
- title: _keep ? ( localize2(5956, "Keep Chat Edits")) : ( localize2(5957, "Undo Chat Edits")),
133
- shortTitle: _keep ? ( localize2(5958, "Keep")) : ( localize2(5959, "Undo")),
134
- tooltip: _keep ? ( localize2(5960, "Keep Chat Edits in this File")) : ( localize2(5961, "Undo Chat Edits in this File")),
132
+ title: _keep ? ( localize2(6004, "Keep Chat Edits")) : ( localize2(6005, "Undo Chat Edits")),
133
+ shortTitle: _keep ? ( localize2(6006, "Keep")) : ( localize2(6007, "Undo")),
134
+ tooltip: _keep ? ( localize2(6008, "Keep Chat Edits in this File")) : ( localize2(6009, "Undo Chat Edits in this File")),
135
135
  precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxIsCurrentlyBeingModified.negate()))),
136
136
  icon: _keep ? Codicon.check : Codicon.discard,
137
137
  f1: true,
@@ -184,8 +184,8 @@ class AcceptRejectHunkAction extends ChatEditingEditorAction {
184
184
  constructor(_accept) {
185
185
  super({
186
186
  id: _accept ? acceptHunkId : undoHunkId,
187
- title: _accept ? ( localize2(5962, "Keep this Change")) : ( localize2(5963, "Undo this Change")),
188
- shortTitle: _accept ? ( localize2(5964, "Keep")) : ( localize2(5965, "Undo")),
187
+ title: _accept ? ( localize2(6010, "Keep this Change")) : ( localize2(6011, "Undo this Change")),
188
+ shortTitle: _accept ? ( localize2(6012, "Keep")) : ( localize2(6013, "Undo")),
189
189
  precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxIsCurrentlyBeingModified.negate()))),
190
190
  f1: true,
191
191
  keybinding: {
@@ -233,7 +233,7 @@ class ToggleDiffAction extends ChatEditingEditorAction {
233
233
  constructor() {
234
234
  super({
235
235
  id: "chatEditor.action.toggleDiff",
236
- title: ( localize2(5966, "Toggle Diff Editor for Chat Edits")),
236
+ title: ( localize2(6014, "Toggle Diff Editor for Chat Edits")),
237
237
  category: CHAT_CATEGORY,
238
238
  toggled: {
239
239
  condition: ( ContextKeyExpr.or(EditorContextKeys.inDiffEditor, ( ActiveEditorContext.isEqualTo(TEXT_DIFF_EDITOR_ID)))),
@@ -270,7 +270,7 @@ class ToggleAccessibleDiffViewAction extends ChatEditingEditorAction {
270
270
  constructor() {
271
271
  super({
272
272
  id: "chatEditor.action.showAccessibleDiffView",
273
- title: ( localize2(5967, "Show Accessible Diff View for Chat Edits")),
273
+ title: ( localize2(6015, "Show Accessible Diff View for Chat Edits")),
274
274
  f1: true,
275
275
  precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxIsCurrentlyBeingModified.negate()))),
276
276
  keybinding: {
@@ -288,7 +288,7 @@ class ReviewChangesAction extends ChatEditingEditorAction {
288
288
  constructor() {
289
289
  super({
290
290
  id: "chatEditor.action.reviewChanges",
291
- title: ( localize2(5968, "Review")),
291
+ title: ( localize2(6016, "Review")),
292
292
  precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxIsCurrentlyBeingModified.negate()))),
293
293
  menu: [{
294
294
  id: MenuId.ChatEditingEditorContent,
@@ -309,8 +309,8 @@ class AcceptAllEditsAction extends ChatEditingEditorAction {
309
309
  constructor() {
310
310
  super({
311
311
  id: AcceptAllEditsAction.ID,
312
- title: ( localize2(5969, "Keep All Chat Edits")),
313
- tooltip: ( localize2(5970, "Keep All Chat Edits in this Session")),
312
+ title: ( localize2(6017, "Keep All Chat Edits")),
313
+ tooltip: ( localize2(6018, "Keep All Chat Edits in this Session")),
314
314
  precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxIsCurrentlyBeingModified.negate()))),
315
315
  icon: Codicon.checkAll,
316
316
  f1: true,
@@ -329,7 +329,7 @@ class MultiDiffAcceptDiscardAction extends Action2 {
329
329
  constructor(accept) {
330
330
  super({
331
331
  id: accept ? "chatEditing.multidiff.acceptAllFiles" : "chatEditing.multidiff.discardAllFiles",
332
- title: accept ? ( localize(5971, "Keep All Edits")) : ( localize(5972, "Undo All Edits")),
332
+ title: accept ? ( localize(6019, "Keep All Edits")) : ( localize(6020, "Undo All Edits")),
333
333
  icon: accept ? Codicon.check : Codicon.discard,
334
334
  menu: {
335
335
  when: ( ContextKeyExpr.equals("resourceScheme", CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME)),
@@ -380,7 +380,7 @@ class ExplainMultiDiffAction extends Action2 {
380
380
  constructor() {
381
381
  super({
382
382
  id: "chatEditing.multidiff.explain",
383
- title: ( localize(5973, "Explain")),
383
+ title: ( localize(6021, "Explain")),
384
384
  menu: {
385
385
  when: ( ContextKeyExpr.and(( ContextKeyExpr.or(...( explainMultiDiffSchemes.map(scheme => ( ContextKeyExpr.equals("resourceScheme", scheme)))))), ( ContextKeyExpr.has(`config.${ChatConfiguration.ExplainChangesEnabled}`)))),
386
386
  id: MenuId.MultiDiffEditorContent,
@@ -526,7 +526,7 @@ function registerChatEditorActions() {
526
526
  MenuRegistry.appendMenuItem(MenuId.ChatEditingEditorContent, {
527
527
  command: {
528
528
  id: navigationBearingFakeActionId,
529
- title: ( localize(5974, "Navigation Status")),
529
+ title: ( localize(6022, "Navigation Status")),
530
530
  precondition: ( ContextKeyExpr.false())
531
531
  },
532
532
  group: "navigate",
@@ -200,9 +200,9 @@ let ChatEditorOverlayWidget = class ChatEditorOverlayWidget extends Disposable {
200
200
  } = that._navigationBearings.read(r);
201
201
  if (changeCount > 0) {
202
202
  const n = activeIdx === -1 ? "1" : `${activeIdx + 1}`;
203
- this.label.innerText = ( localize(5982, "{0} of {1}", n, changeCount));
203
+ this.label.innerText = ( localize(6030, "{0} of {1}", n, changeCount));
204
204
  } else {
205
- this.label.innerText = ( localize(5983, "—"));
205
+ this.label.innerText = ( localize(6031, "—"));
206
206
  }
207
207
  this.updateTooltip();
208
208
  }));
@@ -217,18 +217,18 @@ let ChatEditorOverlayWidget = class ChatEditorOverlayWidget extends Disposable {
217
217
  }
218
218
  let result;
219
219
  if (changeCount === 1 && entriesCount === 1) {
220
- result = ( localize(5984, "1 change in 1 file"));
220
+ result = ( localize(6032, "1 change in 1 file"));
221
221
  } else if (changeCount === 1) {
222
- result = ( localize(5985, "1 change in {0} files", entriesCount));
222
+ result = ( localize(6033, "1 change in {0} files", entriesCount));
223
223
  } else if (entriesCount === 1) {
224
- result = ( localize(5986, "{0} changes in 1 file", changeCount));
224
+ result = ( localize(6034, "{0} changes in 1 file", changeCount));
225
225
  } else {
226
- result = ( localize(5987, "{0} changes in {1} files", changeCount, entriesCount));
226
+ result = ( localize(6035, "{0} changes in {1} files", changeCount, entriesCount));
227
227
  }
228
228
  if (!that._isBusy.get()) {
229
229
  return result;
230
230
  }
231
- return localize(5988, "{0} - Working...", result);
231
+ return localize(6036, "{0} - Working...", result);
232
232
  }
233
233
  })();
234
234
  }
@@ -95,7 +95,7 @@ class ChatEditingExplanationWidget extends Disposable {
95
95
  return {
96
96
  startLineNumber: change.modified.startLineNumber,
97
97
  endLineNumber: change.modified.endLineNumberExclusive - 1,
98
- explanation: ( localize(5992, "Generating explanation...")),
98
+ explanation: ( localize(6040, "Generating explanation...")),
99
99
  read: false,
100
100
  loading: true,
101
101
  originalText,
@@ -116,7 +116,7 @@ class ChatEditingExplanationWidget extends Disposable {
116
116
  this._headerNode.appendChild(this._toggleButton);
117
117
  this._dismissButton = $("div.chat-explanation-dismiss");
118
118
  this._dismissButton.appendChild(renderIcon(Codicon.close));
119
- this._dismissButton.title = ( localize(5993, "Dismiss"));
119
+ this._dismissButton.title = ( localize(6041, "Dismiss"));
120
120
  this._headerNode.appendChild(this._dismissButton);
121
121
  this._domNode.appendChild(this._headerNode);
122
122
  this._bodyNode = $("div.chat-explanation-body");
@@ -178,35 +178,35 @@ class ChatEditingExplanationWidget extends Disposable {
178
178
  this._readIndicator.appendChild(renderIcon(Codicon.circle));
179
179
  this._readIndicator.classList.add("read");
180
180
  this._readIndicator.classList.remove("partial", "unread");
181
- this._readIndicator.title = ( localize(5994, "Mark as unread"));
181
+ this._readIndicator.title = ( localize(6042, "Mark as unread"));
182
182
  } else if (someRead) {
183
183
  this._readIndicator.appendChild(renderIcon(Codicon.circleFilled));
184
184
  this._readIndicator.classList.remove("read", "unread");
185
185
  this._readIndicator.classList.add("partial");
186
- this._readIndicator.title = ( localize(5995, "Mark all as read"));
186
+ this._readIndicator.title = ( localize(6043, "Mark all as read"));
187
187
  } else {
188
188
  this._readIndicator.appendChild(renderIcon(Codicon.circleFilled));
189
189
  this._readIndicator.classList.remove("read", "partial");
190
190
  this._readIndicator.classList.add("unread");
191
- this._readIndicator.title = ( localize(5996, "Mark as read"));
191
+ this._readIndicator.title = ( localize(6044, "Mark as read"));
192
192
  }
193
193
  }
194
194
  _updateTitle() {
195
195
  const count = this._explanations.length;
196
196
  if (count === 1) {
197
- this._titleNode.textContent = ( localize(5997, "1 change"));
197
+ this._titleNode.textContent = ( localize(6045, "1 change"));
198
198
  } else {
199
- this._titleNode.textContent = ( localize(5998, "{0} changes", count));
199
+ this._titleNode.textContent = ( localize(6046, "{0} changes", count));
200
200
  }
201
201
  }
202
202
  _updateToggleButton() {
203
203
  clearNode(this._toggleButton);
204
204
  if (this._isExpanded) {
205
205
  this._toggleButton.appendChild(renderIcon(Codicon.chevronUp));
206
- this._toggleButton.title = ( localize(5999, "Collapse"));
206
+ this._toggleButton.title = ( localize(6047, "Collapse"));
207
207
  } else {
208
208
  this._toggleButton.appendChild(renderIcon(Codicon.chevronDown));
209
- this._toggleButton.title = ( localize(6000, "Expand"));
209
+ this._toggleButton.title = ( localize(6048, "Expand"));
210
210
  }
211
211
  }
212
212
  _buildExplanationItems() {
@@ -217,9 +217,9 @@ class ChatEditingExplanationWidget extends Disposable {
217
217
  const item = $("div.chat-explanation-item");
218
218
  const lineInfo = $("span.chat-explanation-line-info");
219
219
  if (exp.startLineNumber === exp.endLineNumber) {
220
- lineInfo.textContent = ( localize(6001, "Line {0}", exp.startLineNumber));
220
+ lineInfo.textContent = ( localize(6049, "Line {0}", exp.startLineNumber));
221
221
  } else {
222
- lineInfo.textContent = ( localize(6002, "Lines {0}-{1}", exp.startLineNumber, exp.endLineNumber));
222
+ lineInfo.textContent = ( localize(6050, "Lines {0}-{1}", exp.startLineNumber, exp.endLineNumber));
223
223
  }
224
224
  item.appendChild(lineInfo);
225
225
  const text = $("span.chat-explanation-text");
@@ -238,7 +238,7 @@ class ChatEditingExplanationWidget extends Disposable {
238
238
  item.appendChild(itemReadIndicator);
239
239
  const replyButton = $("div.chat-explanation-reply-button");
240
240
  replyButton.appendChild(renderIcon(Codicon.arrowRight));
241
- replyButton.title = ( localize(6003, "Follow up on this change"));
241
+ replyButton.title = ( localize(6051, "Follow up on this change"));
242
242
  item.appendChild(replyButton);
243
243
  this._eventStore.add(addDisposableListener(replyButton, "click", async e => {
244
244
  e.stopPropagation();
@@ -151,7 +151,7 @@ let ChatSessionPickerActionItem = class ChatSessionPickerActionItem extends Acti
151
151
  domChildren.push($(
152
152
  "span.chat-session-option-label",
153
153
  undefined,
154
- this.currentOption?.name ?? group?.description ?? ( localize(6142, "Pick Option"))
154
+ this.currentOption?.name ?? group?.description ?? ( localize(6192, "Pick Option"))
155
155
  ));
156
156
  }
157
157
  domChildren.push(...renderLabelWithIcons(`$(chevron-down)`));