@codingame/monaco-vscode-katex-common 26.2.2 → 28.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 (230) hide show
  1. package/package.json +2 -2
  2. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.d.ts +10 -4
  3. package/vscode/src/vs/platform/actionWidget/browser/actionWidgetDropdown.js +37 -11
  4. package/vscode/src/vs/platform/actions/browser/buttonbar.d.ts +3 -0
  5. package/vscode/src/vs/platform/actions/browser/buttonbar.js +15 -4
  6. package/vscode/src/vs/platform/mcp/common/modelContextProtocolApps.d.ts +576 -0
  7. package/vscode/src/vs/{workbench/contrib → platform}/mcp/common/modelContextProtocolApps.js +1 -0
  8. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityProvider.js +15 -15
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.d.ts +5 -0
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContinueInAction.js +176 -17
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatElicitationActions.js +1 -1
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.d.ts +5 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatExecuteActions.js +127 -64
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.d.ts +1 -0
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTitleActions.js +12 -11
  16. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.d.ts +26 -0
  17. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionApprovalModel.js +106 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionHoverWidget.js +9 -9
  19. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +14 -0
  20. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +105 -29
  21. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +13 -1
  22. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +69 -43
  23. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +2 -2
  24. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +35 -7
  25. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +187 -78
  26. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +138 -32
  27. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.d.ts +23 -6
  28. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentWidgets.js +394 -87
  29. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.d.ts +1 -0
  30. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatImplicitContext.js +28 -13
  31. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/implicitContextAttachment.js +38 -19
  32. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingActions.js +113 -116
  33. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +16 -15
  34. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +2 -2
  35. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +8 -8
  36. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +14 -14
  37. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +5 -5
  38. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +1 -1
  39. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessionPickerActionItem.js +2 -1
  40. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +30 -11
  41. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +250 -132
  42. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/searchableOptionPickerActionItem.js +4 -4
  43. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.d.ts +1 -16
  44. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewWelcomeController.js +4 -110
  45. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatAgentHover.js +2 -2
  46. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.d.ts +1 -1
  47. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAgentCommandContentPart.js +1 -1
  48. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.d.ts +1 -1
  49. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAnonymousRateLimitedPart.js +2 -2
  50. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.d.ts +3 -1
  51. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatAttachmentsContentPart.js +9 -4
  52. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.d.ts +2 -4
  53. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatChangesSummaryPart.js +7 -10
  54. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.d.ts +1 -1
  55. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCodeCitationContentPart.js +1 -1
  56. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.d.ts +4 -2
  57. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleContentPart.js +22 -4
  58. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.d.ts +3 -2
  59. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCollapsibleMarkdownContentPart.js +11 -3
  60. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.d.ts +1 -1
  61. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatCommandContentPart.js +1 -1
  62. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.d.ts +1 -1
  63. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationContentPart.js +2 -2
  64. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.d.ts +1 -1
  65. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatConfirmationWidget.js +1 -1
  66. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.d.ts +59 -0
  67. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatContentParts.js +29 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.d.ts +0 -2
  69. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDiffBlockPart.js +0 -6
  70. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.d.ts +1 -1
  71. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatDisabledClaudeHooksContentPart.js +2 -2
  72. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatElicitationContentPart.d.ts +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.d.ts +4 -2
  74. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorConfirmationPart.js +6 -3
  75. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatErrorContentPart.d.ts +1 -1
  76. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.d.ts +1 -1
  77. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatExtensionsContentPart.js +1 -1
  78. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.d.ts +3 -2
  79. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatHookContentPart.js +7 -6
  80. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.d.ts +0 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatInlineAnchorWidget.js +26 -27
  82. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.d.ts +4 -1
  83. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownContentPart.js +53 -20
  84. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownTableScrolling.d.ts +15 -0
  85. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownTableScrolling.js +55 -0
  86. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.d.ts +1 -1
  87. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMcpServersInteractionContentPart.js +8 -7
  88. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.d.ts +1 -1
  89. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMultiDiffContentPart.js +4 -4
  90. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.d.ts +3 -2
  91. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatProgressContentPart.js +24 -10
  92. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.d.ts +4 -4
  93. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatPullRequestContentPart.js +11 -6
  94. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.d.ts +62 -7
  95. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuestionCarouselPart.js +414 -129
  96. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.d.ts +1 -1
  97. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatQuotaExceededPart.js +4 -4
  98. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.d.ts +4 -3
  99. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatReferencesContentPart.js +19 -12
  100. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.d.ts +22 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatResourceGroupWidget.js +263 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.d.ts +14 -5
  103. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSubagentContentPart.js +98 -26
  104. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatSuggestNextWidget.js +5 -5
  105. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.d.ts +1 -1
  106. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTaskContentPart.js +1 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.d.ts +1 -1
  108. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTextEditContentPart.js +1 -1
  109. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.d.ts +11 -2
  110. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatThinkingContentPart.js +252 -80
  111. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.d.ts +29 -1
  112. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTipContentPart.js +246 -8
  113. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.d.ts +4 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTodoListWidget.js +39 -18
  115. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.d.ts +6 -4
  116. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolInputOutputContentPart.js +36 -23
  117. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.d.ts +3 -13
  118. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatToolOutputContentSubPart.js +6 -260
  119. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.d.ts +1 -1
  120. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatTreeContentPart.js +1 -1
  121. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.d.ts +1 -1
  122. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatWorkspaceEditContentPart.js +3 -3
  123. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.d.ts +5 -7
  124. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/codeBlockPart.js +42 -37
  125. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatCodeBlockPill.css +12 -3
  126. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatConfirmationWidget.css +65 -18
  127. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatHookContentPart.css +9 -6
  128. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatInlineAnchorWidget.css +2 -2
  129. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatQuestionCarousel.css +356 -415
  130. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTerminalToolProgressPart.css +14 -7
  131. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatThinkingContent.css +102 -7
  132. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/chatTipContent.css +68 -19
  133. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/media/codeBlockPart.css +48 -15
  134. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.d.ts +5 -2
  135. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/abstractToolConfirmationSubPart.js +47 -23
  136. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.d.ts +1 -1
  137. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatExtensionsInstallToolSubPart.js +4 -4
  138. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.d.ts +1 -2
  139. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatInputOutputMarkdownProgressPart.js +0 -5
  140. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.d.ts +8 -1
  141. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppModel.js +57 -4
  142. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.d.ts +5 -1
  143. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatMcpAppSubPart.js +24 -8
  144. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatResultListSubPart.d.ts +1 -1
  145. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.d.ts +18 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatSimpleToolProgressPart.js +103 -0
  147. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.d.ts +1 -1
  148. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolConfirmationSubPart.js +15 -18
  149. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.d.ts +44 -1
  150. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatTerminalToolProgressPart.js +85 -89
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.d.ts +3 -5
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolConfirmationSubPart.js +15 -17
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.d.ts +4 -2
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolInvocationPart.js +41 -2
  155. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.d.ts +1 -1
  156. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputPart.js +2 -2
  157. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPartUtilities.js +3 -3
  158. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.d.ts +2 -2
  159. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolPostExecuteConfirmationPart.js +6 -5
  160. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.d.ts +1 -1
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolProgressPart.js +13 -1
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.d.ts +1 -1
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolStreamingSubPart.js +2 -1
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatDragAndDrop.js +11 -11
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.d.ts +21 -5
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListRenderer.js +341 -88
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.d.ts +6 -0
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatListWidget.js +13 -4
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.d.ts +35 -0
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatQuestionCarouselAutoReply.js +440 -0
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.d.ts +24 -10
  172. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidget.js +437 -241
  173. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatFollowups.js +1 -1
  174. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.d.ts +77 -17
  175. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPart.js +521 -284
  176. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.d.ts +1 -1
  177. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatInputPickerActionItem.js +7 -1
  178. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.d.ts +71 -0
  179. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelPicker.js +664 -0
  180. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.d.ts +104 -0
  181. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatModelSelectionLogic.js +127 -0
  182. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.d.ts +12 -1
  183. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/delegationSessionPickerActionItem.js +57 -16
  184. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.d.ts +4 -7
  185. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modePickerActionItem.js +89 -49
  186. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.d.ts +1 -0
  187. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.d.ts +28 -0
  188. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem2.js +87 -0
  189. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.d.ts +22 -0
  190. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/permissionPickerActionItem.js +213 -0
  191. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.d.ts +1 -0
  192. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/sessionTargetPickerActionItem.js +15 -17
  193. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/workspacePickerActionItem.js +7 -4
  194. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chat.css +563 -140
  195. package/vscode/src/vs/workbench/contrib/chat/browser/widget/media/chatViewWelcome.css +35 -26
  196. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.d.ts +2 -2
  197. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageDetails.js +26 -23
  198. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.d.ts +26 -6
  199. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatContextUsageWidget.js +145 -79
  200. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageDetails.css +36 -50
  201. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatContextUsageWidget.css +35 -15
  202. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.d.ts +7 -0
  203. package/vscode/src/vs/workbench/contrib/chat/common/widget/annotations.js +127 -30
  204. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.d.ts +1 -0
  205. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatColors.js +20 -14
  206. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.d.ts +6 -6
  207. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAffordance.js +96 -34
  208. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.d.ts +11 -2
  209. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatController.js +68 -27
  210. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.d.ts +5 -0
  211. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatEditorAffordance.js +125 -13
  212. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.d.ts +8 -11
  213. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatGutterAffordance.js +54 -45
  214. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.d.ts +11 -10
  215. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatOverlayWidget.js +172 -112
  216. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatWidget.js +5 -5
  217. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatZoneWidget.js +1 -1
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChat.css +2 -44
  219. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatEditorAffordance.css +28 -4
  220. package/vscode/src/vs/workbench/contrib/inlineChat/browser/media/inlineChatOverlayWidget.css +84 -3
  221. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.d.ts +9 -2
  222. package/vscode/src/vs/workbench/contrib/inlineChat/common/inlineChat.js +58 -41
  223. package/vscode/src/vs/workbench/contrib/interactive/browser/replInputHintContentWidget.js +3 -3
  224. package/vscode/src/vs/workbench/contrib/mcp/common/modelContextProtocolApps.d.ts +1 -548
  225. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/cellStatusBar/executionStatusBarItemController.js +7 -7
  226. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/find/notebookFindWidget.js +2 -2
  227. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditor.js +1 -1
  228. package/vscode/src/vs/workbench/contrib/replNotebook/browser/replEditorInput.js +1 -1
  229. package/vscode/src/vs/workbench/contrib/terminal/browser/chatTerminalCommandMirror.js +6 -10
  230. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/modelPickerActionItem.js +0 -187
@@ -2,6 +2,7 @@
2
2
  import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
3
3
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
4
4
  import { KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
5
+ import { alert } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/aria/aria';
5
6
  import { basename } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
6
7
  import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
7
8
  import { isCodeEditor } from '@codingame/monaco-vscode-api/vscode/vs/editor/browser/editorBrowser';
@@ -32,6 +33,7 @@ import { CHAT_CATEGORY } from '@codingame/monaco-vscode-api/vscode/vs/workbench/
32
33
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
33
34
  import { isAgentSession } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsModel';
34
35
  import { AgentSessionProviders } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/agentSessions/agentSessions';
36
+ import { IsSessionsWindowContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/contextkeys';
35
37
 
36
38
  class EditingSessionAction extends Action2 {
37
39
  constructor(opts) {
@@ -84,7 +86,7 @@ registerAction2(class OpenFileInDiffAction extends WorkingSetAction {
84
86
  constructor() {
85
87
  super({
86
88
  id: "chatEditing.openFileInDiff",
87
- title: ( localize2(5286, "Open Changes in Diff Editor")),
89
+ title: ( localize2(5787, "Open Changes in Diff Editor")),
88
90
  icon: Codicon.diffSingle,
89
91
  menu: [{
90
92
  id: MenuId.ChatEditingWidgetModifiedFilesToolbar,
@@ -115,7 +117,7 @@ registerAction2(class AcceptAction extends WorkingSetAction {
115
117
  constructor() {
116
118
  super({
117
119
  id: "chatEditing.acceptFile",
118
- title: ( localize2(5287, "Keep")),
120
+ title: ( localize2(5788, "Keep")),
119
121
  icon: Codicon.check,
120
122
  menu: [{
121
123
  when: ( ContextKeyExpr.and(( ContextKeyExpr.equals("resourceScheme", CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME)), ContextKeyExpr.notIn(
@@ -141,7 +143,7 @@ registerAction2(class DiscardAction extends WorkingSetAction {
141
143
  constructor() {
142
144
  super({
143
145
  id: "chatEditing.discardFile",
144
- title: ( localize2(5288, "Undo")),
146
+ title: ( localize2(5789, "Undo")),
145
147
  icon: Codicon.discard,
146
148
  menu: [{
147
149
  when: ( ContextKeyExpr.and(( ContextKeyExpr.equals("resourceScheme", CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME)), ContextKeyExpr.notIn(
@@ -167,9 +169,9 @@ class ChatEditingAcceptAllAction extends EditingSessionAction {
167
169
  constructor() {
168
170
  super({
169
171
  id: "chatEditing.acceptAllFiles",
170
- title: ( localize(5289, "Keep")),
172
+ title: ( localize(5790, "Keep")),
171
173
  icon: Codicon.check,
172
- tooltip: ( localize(5290, "Keep All Edits")),
174
+ tooltip: ( localize(5791, "Keep All Edits")),
173
175
  precondition: hasUndecidedChatEditingResourceContextKey,
174
176
  keybinding: {
175
177
  primary: KeyMod.CtrlCmd | KeyCode.Enter,
@@ -193,9 +195,9 @@ class ChatEditingDiscardAllAction extends EditingSessionAction {
193
195
  constructor() {
194
196
  super({
195
197
  id: "chatEditing.discardAllFiles",
196
- title: ( localize(5291, "Undo")),
198
+ title: ( localize(5792, "Undo")),
197
199
  icon: Codicon.discard,
198
- tooltip: ( localize(5292, "Undo All Edits")),
200
+ tooltip: ( localize(5793, "Undo All Edits")),
199
201
  precondition: hasUndecidedChatEditingResourceContextKey,
200
202
  menu: [{
201
203
  id: MenuId.ChatEditingWidgetToolbar,
@@ -226,8 +228,8 @@ class ToggleExplanationWidgetAction extends EditingSessionAction {
226
228
  constructor() {
227
229
  super({
228
230
  id: ToggleExplanationWidgetAction.ID,
229
- title: ( localize(5293, "Explain")),
230
- tooltip: ( localize(5294, "Toggle Change Explanations")),
231
+ title: ( localize(5794, "Explain")),
232
+ tooltip: ( localize(5795, "Toggle Change Explanations")),
231
233
  precondition: hasUndecidedChatEditingResourceContextKey,
232
234
  menu: [{
233
235
  id: MenuId.ChatEditingWidgetToolbar,
@@ -251,17 +253,17 @@ async function discardAllEditsWithConfirmation(accessor, currentEditingSession)
251
253
  const entries = currentEditingSession.entries.get().filter(e => e.state.get() === ModifiedFileEntryState.Modified);
252
254
  if (entries.length > 0) {
253
255
  const confirmation = await dialogService.confirm({
254
- title: ( localize(5295, "Undo all edits?")),
256
+ title: ( localize(5796, "Undo all edits?")),
255
257
  message: entries.length === 1 ? ( localize(
256
- 5296,
258
+ 5797,
257
259
  "This will undo changes made in {0}. Do you want to proceed?",
258
260
  basename(entries[0].modifiedURI)
259
261
  )) : ( localize(
260
- 5297,
262
+ 5798,
261
263
  "This will undo changes made in {0} files. Do you want to proceed?",
262
264
  entries.length
263
265
  )),
264
- primaryButton: ( localize(5298, "Yes")),
266
+ primaryButton: ( localize(5799, "Yes")),
265
267
  type: "info"
266
268
  });
267
269
  if (!confirmation.confirmed) {
@@ -276,7 +278,7 @@ class ChatEditingShowChangesAction extends EditingSessionAction {
276
278
  this.ID = "chatEditing.viewChanges";
277
279
  }
278
280
  static {
279
- this.LABEL = ( localize(5299, "View All Edits"));
281
+ this.LABEL = ( localize(5800, "View All Edits"));
280
282
  }
281
283
  constructor() {
282
284
  super({
@@ -309,7 +311,7 @@ class ViewAllSessionChangesAction extends Action2 {
309
311
  constructor() {
310
312
  super({
311
313
  id: ViewAllSessionChangesAction.ID,
312
- title: ( localize2(5300, "View All Changes")),
314
+ title: ( localize2(5801, "View All Changes")),
313
315
  icon: Codicon.diffMultiple,
314
316
  category: CHAT_CATEGORY,
315
317
  precondition: ChatContextKeys.hasAgentSessionChanges,
@@ -322,7 +324,7 @@ class ViewAllSessionChangesAction extends Action2 {
322
324
  id: MenuId.AgentSessionItemToolbar,
323
325
  group: "navigation",
324
326
  order: 0,
325
- when: ChatContextKeys.hasAgentSessionChanges
327
+ when: ( ContextKeyExpr.and(ChatContextKeys.hasAgentSessionChanges, ( IsSessionsWindowContext.negate())))
326
328
  }]
327
329
  });
328
330
  }
@@ -351,7 +353,7 @@ class ViewAllSessionChangesAction extends Action2 {
351
353
  multiDiffSourceUri: sessionResource.with({
352
354
  scheme: sessionResource.scheme + "-worktree-changes"
353
355
  }),
354
- title: ( localize(5301, "All Session Changes")),
356
+ title: ( localize(5802, "All Session Changes")),
355
357
  resources
356
358
  });
357
359
  session?.setRead(true);
@@ -363,13 +365,13 @@ class ViewAllSessionChangesAction extends Action2 {
363
365
  }
364
366
  }
365
367
  registerAction2(ViewAllSessionChangesAction);
366
- async function restoreSnapshotWithConfirmation(accessor, item) {
368
+ async function restoreSnapshotWithConfirmationByRequestId(accessor, sessionResource, requestId) {
367
369
  const configurationService = accessor.get(IConfigurationService);
368
370
  const dialogService = accessor.get(IDialogService);
369
371
  const chatWidgetService = accessor.get(IChatWidgetService);
370
- const widget = chatWidgetService.getWidgetBySessionResource(item.sessionResource);
372
+ const widget = chatWidgetService.getWidgetBySessionResource(sessionResource);
371
373
  const chatService = accessor.get(IChatService);
372
- const chatModel = chatService.getSession(item.sessionResource);
374
+ const chatModel = chatService.getSession(sessionResource);
373
375
  if (!chatModel) {
374
376
  return;
375
377
  }
@@ -377,73 +379,80 @@ async function restoreSnapshotWithConfirmation(accessor, item) {
377
379
  if (!session) {
378
380
  return;
379
381
  }
380
- const requestId = isRequestVM(item) ? item.id : isResponseVM(item) ? item.requestId : undefined;
381
- if (requestId) {
382
- const chatRequests = chatModel.getRequests();
383
- const itemIndex = chatRequests.findIndex(request => request.id === requestId);
384
- const editsToUndo = chatRequests.length - itemIndex;
385
- const requestsToRemove = chatRequests.slice(itemIndex);
386
- const requestIdsToRemove = ( new Set(( requestsToRemove.map(request => request.id))));
387
- const entriesModifiedInRequestsToRemove = session.entries.get().filter(entry => ( requestIdsToRemove.has(entry.lastModifyingRequestId))) ?? [];
388
- const shouldPrompt = entriesModifiedInRequestsToRemove.length > 0 && configurationService.getValue("chat.editing.confirmEditRequestRemoval") === true;
389
- let message;
390
- if (editsToUndo === 1) {
391
- if (entriesModifiedInRequestsToRemove.length === 1) {
392
- message = ( localize(
393
- 5302,
394
- "This will remove your last request and undo the edits made to {0}. Do you want to proceed?",
395
- basename(entriesModifiedInRequestsToRemove[0].modifiedURI)
396
- ));
397
- } else {
398
- message = ( localize(
399
- 5303,
400
- "This will remove your last request and undo edits made to {0} files in your working set. Do you want to proceed?",
401
- entriesModifiedInRequestsToRemove.length
402
- ));
403
- }
382
+ const chatRequests = chatModel.getRequests();
383
+ const itemIndex = chatRequests.findIndex(request => request.id === requestId);
384
+ if (itemIndex === -1) {
385
+ return;
386
+ }
387
+ const editsToUndo = chatRequests.length - itemIndex;
388
+ const requestsToRemove = chatRequests.slice(itemIndex);
389
+ const requestIdsToRemove = ( new Set(( requestsToRemove.map(request => request.id))));
390
+ const entriesModifiedInRequestsToRemove = session.entries.get().filter(entry => ( requestIdsToRemove.has(entry.lastModifyingRequestId))) ?? [];
391
+ const shouldPrompt = entriesModifiedInRequestsToRemove.length > 0 && configurationService.getValue("chat.editing.confirmEditRequestRemoval") === true;
392
+ let message;
393
+ if (editsToUndo === 1) {
394
+ if (entriesModifiedInRequestsToRemove.length === 1) {
395
+ message = ( localize(
396
+ 5803,
397
+ "This will remove your last request and undo the edits made to {0}. Do you want to proceed?",
398
+ basename(entriesModifiedInRequestsToRemove[0].modifiedURI)
399
+ ));
404
400
  } else {
405
- if (entriesModifiedInRequestsToRemove.length === 1) {
406
- message = ( localize(
407
- 5304,
408
- "This will remove all subsequent requests and undo edits made to {0}. Do you want to proceed?",
409
- basename(entriesModifiedInRequestsToRemove[0].modifiedURI)
410
- ));
411
- } else {
412
- message = ( localize(
413
- 5305,
414
- "This will remove all subsequent requests and undo edits made to {0} files in your working set. Do you want to proceed?",
415
- entriesModifiedInRequestsToRemove.length
416
- ));
417
- }
418
- }
419
- const confirmation = shouldPrompt ? await dialogService.confirm({
420
- title: editsToUndo === 1 ? ( localize(5306, "Do you want to undo your last edit?")) : ( localize(5307, "Do you want to undo {0} edits?", editsToUndo)),
421
- message: message,
422
- primaryButton: ( localize(5308, "Yes")),
423
- checkbox: {
424
- label: ( localize(5309, "Don't ask again")),
425
- checked: false
426
- },
427
- type: "info"
428
- }) : {
429
- confirmed: true
430
- };
431
- if (!confirmation.confirmed) {
432
- widget?.viewModel?.model.setCheckpoint(undefined);
433
- return;
434
- }
435
- if (confirmation.checkboxChecked) {
436
- await configurationService.updateValue("chat.editing.confirmEditRequestRemoval", false);
437
- }
438
- const snapshotRequestId = chatRequests[itemIndex].id;
439
- await session.restoreSnapshot(snapshotRequestId, undefined);
401
+ message = ( localize(
402
+ 5804,
403
+ "This will remove your last request and undo edits made to {0} files in your working set. Do you want to proceed?",
404
+ entriesModifiedInRequestsToRemove.length
405
+ ));
406
+ }
407
+ } else {
408
+ if (entriesModifiedInRequestsToRemove.length === 1) {
409
+ message = ( localize(
410
+ 5805,
411
+ "This will remove all subsequent requests and undo edits made to {0}. Do you want to proceed?",
412
+ basename(entriesModifiedInRequestsToRemove[0].modifiedURI)
413
+ ));
414
+ } else {
415
+ message = ( localize(
416
+ 5806,
417
+ "This will remove all subsequent requests and undo edits made to {0} files in your working set. Do you want to proceed?",
418
+ entriesModifiedInRequestsToRemove.length
419
+ ));
420
+ }
421
+ }
422
+ const confirmation = shouldPrompt ? await dialogService.confirm({
423
+ title: editsToUndo === 1 ? ( localize(5807, "Do you want to undo your last edit?")) : ( localize(5808, "Do you want to undo {0} edits?", editsToUndo)),
424
+ message: message,
425
+ primaryButton: ( localize(5809, "Yes")),
426
+ checkbox: {
427
+ label: ( localize(5810, "Don't ask again")),
428
+ checked: false
429
+ },
430
+ type: "info"
431
+ }) : {
432
+ confirmed: true
433
+ };
434
+ if (!confirmation.confirmed) {
435
+ widget?.viewModel?.model.setCheckpoint(undefined);
436
+ return;
440
437
  }
438
+ if (confirmation.checkboxChecked) {
439
+ await configurationService.updateValue("chat.editing.confirmEditRequestRemoval", false);
440
+ }
441
+ const snapshotRequestId = chatRequests[itemIndex].id;
442
+ await session.restoreSnapshot(snapshotRequestId, undefined);
443
+ }
444
+ async function restoreSnapshotWithConfirmation(accessor, item) {
445
+ const requestId = isRequestVM(item) ? item.id : isResponseVM(item) ? item.requestId : undefined;
446
+ if (!requestId) {
447
+ return;
448
+ }
449
+ await restoreSnapshotWithConfirmationByRequestId(accessor, item.sessionResource, requestId);
441
450
  }
442
451
  registerAction2(class RemoveAction extends Action2 {
443
452
  constructor() {
444
453
  super({
445
454
  id: "workbench.action.chat.undoEdits",
446
- title: ( localize2(5310, "Undo Requests")),
455
+ title: ( localize2(5811, "Undo Requests")),
447
456
  f1: false,
448
457
  category: CHAT_CATEGORY,
449
458
  icon: Codicon.discard,
@@ -452,7 +461,7 @@ registerAction2(class RemoveAction extends Action2 {
452
461
  mac: {
453
462
  primary: KeyMod.CtrlCmd | KeyCode.Backspace
454
463
  },
455
- when: ( ContextKeyExpr.and(ChatContextKeys.inChatSession, ( EditorContextKeys.textInputFocus.negate()))),
464
+ when: ( ContextKeyExpr.and(ChatContextKeys.inChatSession, ( EditorContextKeys.textInputFocus.negate()), ( ChatContextKeys.inChatQuestionCarousel.negate()))),
456
465
  weight: KeybindingWeight.WorkbenchContrib
457
466
  },
458
467
  menu: [{
@@ -485,8 +494,8 @@ registerAction2(class RestoreCheckpointAction extends Action2 {
485
494
  constructor() {
486
495
  super({
487
496
  id: "workbench.action.chat.restoreCheckpoint",
488
- title: ( localize2(5311, "Restore Checkpoint")),
489
- tooltip: ( localize2(5312, "Restores workspace and chat to this point")),
497
+ title: ( localize2(5812, "Restore Checkpoint")),
498
+ tooltip: ( localize2(5813, "Restores workspace and chat to this point")),
490
499
  f1: false,
491
500
  category: CHAT_CATEGORY,
492
501
  keybinding: {
@@ -494,7 +503,7 @@ registerAction2(class RestoreCheckpointAction extends Action2 {
494
503
  mac: {
495
504
  primary: KeyMod.CtrlCmd | KeyCode.Backspace
496
505
  },
497
- when: ( ContextKeyExpr.and(ChatContextKeys.inChatSession, ( EditorContextKeys.textInputFocus.negate()))),
506
+ when: ( ContextKeyExpr.and(ChatContextKeys.inChatSession, ( EditorContextKeys.textInputFocus.negate()), ( ChatContextKeys.inChatQuestionCarousel.negate()))),
498
507
  weight: KeybindingWeight.WorkbenchContrib
499
508
  },
500
509
  menu: [{
@@ -527,20 +536,11 @@ registerAction2(class RestoreLastCheckpoint extends Action2 {
527
536
  constructor() {
528
537
  super({
529
538
  id: "workbench.action.chat.restoreLastCheckpoint",
530
- title: ( localize2(5313, "Restore to Last Checkpoint")),
531
- f1: false,
539
+ title: ( localize2(5814, "Restore to Last Checkpoint")),
540
+ f1: true,
532
541
  category: CHAT_CATEGORY,
533
542
  icon: Codicon.discard,
534
- menu: [{
535
- id: MenuId.ChatMessageFooter,
536
- group: "navigation",
537
- order: 1,
538
- when: ( ContextKeyExpr.and(
539
- ContextKeyExpr.in(ChatContextKeys.itemId.key, ChatContextKeys.lastItemId.key),
540
- ( ContextKeyExpr.equals(`config.${ChatConfiguration.CheckpointsEnabled}`, true)),
541
- ( ChatContextKeys.lockedToCodingAgent.negate())
542
- ))
543
- }]
543
+ precondition: ( ContextKeyExpr.and(ChatContextKeys.inChatSession, ( ContextKeyExpr.equals(`config.${ChatConfiguration.CheckpointsEnabled}`, true)), ( ChatContextKeys.lockedToCodingAgent.negate())))
544
544
  });
545
545
  }
546
546
  async run(accessor, ...args) {
@@ -551,33 +551,30 @@ registerAction2(class RestoreLastCheckpoint extends Action2 {
551
551
  if (!isResponseVM(item) && !isRequestVM(item)) {
552
552
  item = widget?.getFocus();
553
553
  }
554
- if (!item) {
554
+ const sessionResource = widget?.viewModel?.sessionResource ?? (isChatTreeItem(item) ? item.sessionResource : undefined);
555
+ if (!sessionResource) {
555
556
  return;
556
557
  }
557
- const chatModel = chatService.getSession(item.sessionResource);
558
- if (!chatModel) {
558
+ const chatModel = chatService.getSession(sessionResource);
559
+ if (!chatModel?.editingSession) {
559
560
  return;
560
561
  }
561
- const session = chatModel.editingSession;
562
- if (!session) {
562
+ const checkpointRequest = chatModel.checkpoint;
563
+ if (!checkpointRequest) {
564
+ alert(( localize(5815, "There is no checkpoint to restore.")));
563
565
  return;
564
566
  }
565
- await restoreSnapshotWithConfirmation(accessor, item);
566
- if (isResponseVM(item)) {
567
- widget?.viewModel?.model.setCheckpoint(item.requestId);
568
- const request = chatModel.getRequests().find(request => request.id === item.requestId);
569
- if (request) {
570
- widget?.focusInput();
571
- widget?.input.setValue(request.message.text, false);
572
- }
573
- }
567
+ widget?.viewModel?.model.setCheckpoint(checkpointRequest.id);
568
+ widget?.focusInput();
569
+ widget?.input.setValue(checkpointRequest.message.text, false);
570
+ await restoreSnapshotWithConfirmationByRequestId(accessor, sessionResource, checkpointRequest.id);
574
571
  }
575
572
  });
576
573
  registerAction2(class EditAction extends Action2 {
577
574
  constructor() {
578
575
  super({
579
576
  id: "workbench.action.chat.editRequests",
580
- title: ( localize2(5314, "Edit Request")),
577
+ title: ( localize2(5816, "Edit Request")),
581
578
  f1: false,
582
579
  category: CHAT_CATEGORY,
583
580
  icon: Codicon.edit,
@@ -616,7 +613,7 @@ registerAction2(class OpenWorkingSetHistoryAction extends Action2 {
616
613
  constructor() {
617
614
  super({
618
615
  id: OpenWorkingSetHistoryAction.id,
619
- title: ( localize(5315, "Open File")),
616
+ title: ( localize(5817, "Open File")),
620
617
  menu: [{
621
618
  id: MenuId.ChatEditingCodeBlockContext,
622
619
  group: "navigation",
@@ -642,7 +639,7 @@ registerAction2(class OpenWorkingSetHistoryAction extends Action2 {
642
639
  constructor() {
643
640
  super({
644
641
  id: OpenWorkingSetHistoryAction.id,
645
- title: ( localize(5316, "Open File Snapshot")),
642
+ title: ( localize(5818, "Open File Snapshot")),
646
643
  menu: [{
647
644
  id: MenuId.ChatEditingCodeBlockContext,
648
645
  group: "navigation",
@@ -666,7 +663,7 @@ registerAction2(class OpenWorkingSetHistoryAction extends Action2 {
666
663
  if (snapshot) {
667
664
  const editor = await editorService.openEditor({
668
665
  resource: snapshot,
669
- label: ( localize(5317, "{0} (Snapshot)", basename(context.uri))),
666
+ label: ( localize(5819, "{0} (Snapshot)", basename(context.uri))),
670
667
  options: {
671
668
  activation: EditorActivation.ACTIVATE
672
669
  }
@@ -683,7 +680,7 @@ registerAction2(class ResolveSymbolsContextAction extends EditingSessionAction {
683
680
  constructor() {
684
681
  super({
685
682
  id: "workbench.action.edits.addFilesFromReferences",
686
- title: ( localize2(5318, "Add Files From References")),
683
+ title: ( localize2(5820, "Add Files From References")),
687
684
  f1: false,
688
685
  category: CHAT_CATEGORY,
689
686
  menu: {
@@ -747,7 +744,7 @@ class ViewPreviousEditsAction extends EditingSessionAction {
747
744
  this.Id = "chatEditing.viewPreviousEdits";
748
745
  }
749
746
  static {
750
- this.Label = ( localize(5319, "View Previous Edits"));
747
+ this.Label = ( localize(5821, "View Previous Edits"));
751
748
  }
752
749
  constructor() {
753
750
  super({
@@ -4,6 +4,7 @@ import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/c
4
4
  import { KeyMod, KeyCode } from '@codingame/monaco-vscode-api/vscode/vs/base/common/keyCodes';
5
5
  import { EditorContextKeys } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/editorContextKeys';
6
6
  import { localize2, localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
7
+ import { CONTEXT_ACCESSIBILITY_MODE_ENABLED } from '@codingame/monaco-vscode-api/vscode/vs/platform/accessibility/common/accessibility';
7
8
  import { Action2, MenuId, registerAction2, MenuRegistry } from '@codingame/monaco-vscode-api/vscode/vs/platform/actions/common/actions';
8
9
  import { ContextKeyExpr } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey';
9
10
  import { IInstantiationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation';
@@ -63,7 +64,7 @@ class NavigateAction extends ChatEditingEditorAction {
63
64
  constructor(next) {
64
65
  super({
65
66
  id: next ? "chatEditor.action.navigateNext" : "chatEditor.action.navigatePrevious",
66
- title: next ? ( localize2(5321, "Go to Next Chat Edit")) : ( localize2(5322, "Go to Previous Chat Edit")),
67
+ title: next ? ( localize2(5823, "Go to Next Chat Edit")) : ( localize2(5824, "Go to Previous Chat Edit")),
67
68
  icon: next ? Codicon.arrowDown : Codicon.arrowUp,
68
69
  precondition: ( ContextKeyExpr.and(ChatContextKeys.enabled, ctxHasEditorModification)),
69
70
  keybinding: {
@@ -127,9 +128,9 @@ class KeepOrUndoAction extends ChatEditingEditorAction {
127
128
  constructor(id, _keep) {
128
129
  super({
129
130
  id,
130
- title: _keep ? ( localize2(5323, "Keep Chat Edits")) : ( localize2(5324, "Undo Chat Edits")),
131
- shortTitle: _keep ? ( localize2(5325, "Keep")) : ( localize2(5326, "Undo")),
132
- tooltip: _keep ? ( localize2(5327, "Keep Chat Edits in this File")) : ( localize2(5328, "Undo Chat Edits in this File")),
131
+ title: _keep ? ( localize2(5825, "Keep Chat Edits")) : ( localize2(5826, "Undo Chat Edits")),
132
+ shortTitle: _keep ? ( localize2(5827, "Keep")) : ( localize2(5828, "Undo")),
133
+ tooltip: _keep ? ( localize2(5829, "Keep Chat Edits in this File")) : ( localize2(5830, "Undo Chat Edits in this File")),
133
134
  precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxIsCurrentlyBeingModified.negate()))),
134
135
  icon: _keep ? Codicon.check : Codicon.discard,
135
136
  f1: true,
@@ -179,8 +180,8 @@ class AcceptRejectHunkAction extends ChatEditingEditorAction {
179
180
  constructor(_accept) {
180
181
  super({
181
182
  id: _accept ? acceptHunkId : undoHunkId,
182
- title: _accept ? ( localize2(5329, "Keep this Change")) : ( localize2(5330, "Undo this Change")),
183
- shortTitle: _accept ? ( localize2(5331, "Keep")) : ( localize2(5332, "Undo")),
183
+ title: _accept ? ( localize2(5831, "Keep this Change")) : ( localize2(5832, "Undo this Change")),
184
+ shortTitle: _accept ? ( localize2(5833, "Keep")) : ( localize2(5834, "Undo")),
184
185
  precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxIsCurrentlyBeingModified.negate()))),
185
186
  f1: true,
186
187
  keybinding: {
@@ -227,7 +228,7 @@ class ToggleDiffAction extends ChatEditingEditorAction {
227
228
  constructor() {
228
229
  super({
229
230
  id: "chatEditor.action.toggleDiff",
230
- title: ( localize2(5333, "Toggle Diff Editor for Chat Edits")),
231
+ title: ( localize2(5835, "Toggle Diff Editor for Chat Edits")),
231
232
  category: CHAT_CATEGORY,
232
233
  toggled: {
233
234
  condition: ( ContextKeyExpr.or(EditorContextKeys.inDiffEditor, ( ActiveEditorContext.isEqualTo(TEXT_DIFF_EDITOR_ID)))),
@@ -264,11 +265,11 @@ class ToggleAccessibleDiffViewAction extends ChatEditingEditorAction {
264
265
  constructor() {
265
266
  super({
266
267
  id: "chatEditor.action.showAccessibleDiffView",
267
- title: ( localize2(5334, "Show Accessible Diff View for Chat Edits")),
268
+ title: ( localize2(5836, "Show Accessible Diff View for Chat Edits")),
268
269
  f1: true,
269
270
  precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxIsCurrentlyBeingModified.negate()))),
270
271
  keybinding: {
271
- when: EditorContextKeys.focus,
272
+ when: ( ContextKeyExpr.and(EditorContextKeys.focus, CONTEXT_ACCESSIBILITY_MODE_ENABLED)),
272
273
  weight: KeybindingWeight.WorkbenchContrib,
273
274
  primary: KeyCode.F7
274
275
  }
@@ -282,7 +283,7 @@ class ReviewChangesAction extends ChatEditingEditorAction {
282
283
  constructor() {
283
284
  super({
284
285
  id: "chatEditor.action.reviewChanges",
285
- title: ( localize2(5335, "Review")),
286
+ title: ( localize2(5837, "Review")),
286
287
  precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxIsCurrentlyBeingModified.negate()))),
287
288
  menu: [{
288
289
  id: MenuId.ChatEditingEditorContent,
@@ -303,8 +304,8 @@ class AcceptAllEditsAction extends ChatEditingEditorAction {
303
304
  constructor() {
304
305
  super({
305
306
  id: AcceptAllEditsAction.ID,
306
- title: ( localize2(5336, "Keep All Chat Edits")),
307
- tooltip: ( localize2(5337, "Keep All Chat Edits in this Session")),
307
+ title: ( localize2(5838, "Keep All Chat Edits")),
308
+ tooltip: ( localize2(5839, "Keep All Chat Edits in this Session")),
308
309
  precondition: ( ContextKeyExpr.and(ctxHasEditorModification, ( ctxIsCurrentlyBeingModified.negate()))),
309
310
  icon: Codicon.checkAll,
310
311
  f1: true,
@@ -323,7 +324,7 @@ class MultiDiffAcceptDiscardAction extends Action2 {
323
324
  constructor(accept) {
324
325
  super({
325
326
  id: accept ? "chatEditing.multidiff.acceptAllFiles" : "chatEditing.multidiff.discardAllFiles",
326
- title: accept ? ( localize(5338, "Keep All Edits")) : ( localize(5339, "Undo All Edits")),
327
+ title: accept ? ( localize(5840, "Keep All Edits")) : ( localize(5841, "Undo All Edits")),
327
328
  icon: accept ? Codicon.check : Codicon.discard,
328
329
  menu: {
329
330
  when: ( ContextKeyExpr.equals("resourceScheme", CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME)),
@@ -374,7 +375,7 @@ class ExplainMultiDiffAction extends Action2 {
374
375
  constructor() {
375
376
  super({
376
377
  id: "chatEditing.multidiff.explain",
377
- title: ( localize(5340, "Explain")),
378
+ title: ( localize(5842, "Explain")),
378
379
  menu: {
379
380
  when: ( ContextKeyExpr.and(( ContextKeyExpr.or(...( explainMultiDiffSchemes.map(scheme => ( ContextKeyExpr.equals("resourceScheme", scheme)))))), ( ContextKeyExpr.has(`config.${ChatConfiguration.ExplainChangesEnabled}`)))),
380
381
  id: MenuId.MultiDiffEditorContent,
@@ -520,7 +521,7 @@ function registerChatEditorActions() {
520
521
  MenuRegistry.appendMenuItem(MenuId.ChatEditingEditorContent, {
521
522
  command: {
522
523
  id: navigationBearingFakeActionId,
523
- title: ( localize(5341, "Navigation Status")),
524
+ title: ( localize(5843, "Navigation Status")),
524
525
  precondition: ( ContextKeyExpr.false())
525
526
  },
526
527
  group: "navigate",
@@ -1,7 +1,7 @@
1
1
  import { IObservable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/observable";
2
2
  import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/instantiation";
3
3
  import { IModifiedFileEntry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService";
4
- import { ActionViewItem, IBaseActionViewItemOptions } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionViewItems";
4
+ import { ActionViewItem, IActionViewItemOptions } from "@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/actionbar/actionViewItems";
5
5
  import { IAction, IActionRunner } from "@codingame/monaco-vscode-api/vscode/vs/base/common/actions";
6
6
  import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
7
7
  import { IEditorGroupsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService.service";
@@ -12,7 +12,7 @@ export declare class ChatEditingAcceptRejectActionViewItem extends ActionViewIte
12
12
  private readonly _keybindingService;
13
13
  private readonly _primaryActionIds;
14
14
  private readonly _reveal;
15
- constructor(action: IAction, options: IBaseActionViewItemOptions, _entry: IObservable<IModifiedFileEntry | undefined>, _editor: {
15
+ constructor(action: IAction, options: IActionViewItemOptions, _entry: IObservable<IModifiedFileEntry | undefined>, _editor: {
16
16
  focus(): void;
17
17
  } | undefined, _keybindingService: IKeybindingService, _primaryActionIds?: readonly string[]);
18
18
  render(container: HTMLElement): void;
@@ -90,7 +90,7 @@ class ChatEditingAcceptRejectActionViewItem extends ActionViewItem {
90
90
  }
91
91
  getTooltip() {
92
92
  const value = super.getTooltip();
93
- if (!value || this.options.keybinding) {
93
+ if (!value) {
94
94
  return value;
95
95
  }
96
96
  return this._keybindingService.appendKeybinding(value, this._action.id);
@@ -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(5349, "{0} of {1}", n, changeCount));
203
+ this.label.innerText = ( localize(5851, "{0} of {1}", n, changeCount));
204
204
  } else {
205
- this.label.innerText = ( localize(5350, "—"));
205
+ this.label.innerText = ( localize(5852, "—"));
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(5351, "1 change in 1 file"));
220
+ result = ( localize(5853, "1 change in 1 file"));
221
221
  } else if (changeCount === 1) {
222
- result = ( localize(5352, "1 change in {0} files", entriesCount));
222
+ result = ( localize(5854, "1 change in {0} files", entriesCount));
223
223
  } else if (entriesCount === 1) {
224
- result = ( localize(5353, "{0} changes in 1 file", changeCount));
224
+ result = ( localize(5855, "{0} changes in 1 file", changeCount));
225
225
  } else {
226
- result = ( localize(5354, "{0} changes in {1} files", changeCount, entriesCount));
226
+ result = ( localize(5856, "{0} changes in {1} files", changeCount, entriesCount));
227
227
  }
228
228
  if (!that._isBusy.get()) {
229
229
  return result;
230
230
  }
231
- return localize(5355, "{0} - Working...", result);
231
+ return localize(5857, "{0} - Working...", result);
232
232
  }
233
233
  })();
234
234
  }