@codingame/monaco-vscode-chat-service-override 31.0.0 → 32.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 (341) hide show
  1. package/index.d.ts +1 -1
  2. package/index.js +21 -5
  3. package/package.json +5 -5
  4. package/vscode/src/vs/base/common/defaultAccount.d.ts +69 -0
  5. package/vscode/src/vs/base/common/defaultAccount.js +12 -0
  6. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.d.ts +91 -22
  7. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostProtocolClient.js +301 -68
  8. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.d.ts +24 -5
  9. package/vscode/src/vs/platform/agentHost/browser/remoteAgentHostServiceImpl.js +89 -16
  10. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.d.ts +17 -5
  11. package/vscode/src/vs/platform/agentHost/browser/webSocketClientTransport.js +73 -10
  12. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.d.ts +32 -6
  13. package/vscode/src/vs/platform/agentHost/common/agentHostFileSystemProvider.js +32 -20
  14. package/vscode/src/vs/platform/agentHost/common/agentHostPermissionService.d.ts +37 -0
  15. package/vscode/src/vs/platform/agentHost/common/agentHostPermissionService.js +15 -0
  16. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +242 -201
  17. package/vscode/src/vs/platform/agentHost/common/agentService.js +3 -1
  18. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.d.ts +35 -0
  19. package/vscode/src/vs/platform/agentHost/common/ahpJsonlLogger.js +106 -0
  20. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.d.ts +38 -30
  21. package/vscode/src/vs/platform/agentHost/common/state/agentSubscription.js +2 -1
  22. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +114 -4
  23. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.d.ts +10 -10
  24. package/vscode/src/vs/platform/agentHost/common/state/protocol/reducers.js +52 -19
  25. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.d.ts +42 -0
  26. package/vscode/src/vs/platform/agentHost/common/state/protocol/version/registry.js +7 -0
  27. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +42 -41
  28. package/vscode/src/vs/platform/agentHost/common/state/sessionTransport.d.ts +6 -6
  29. package/vscode/src/vs/platform/agentHost/common/transportConstants.d.ts +15 -0
  30. package/vscode/src/vs/platform/agentHost/common/transportConstants.js +6 -0
  31. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.d.ts +4 -3
  32. package/vscode/src/vs/platform/agentPlugins/common/pluginParsers.js +4 -3
  33. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.d.ts +4 -2
  34. package/vscode/src/vs/platform/networkFilter/common/networkFilterService.js +15 -7
  35. package/vscode/src/vs/workbench/contrib/browserView/common/browserChatToolReferenceNames.d.ts +19 -0
  36. package/vscode/src/vs/workbench/contrib/browserView/common/browserChatToolReferenceNames.js +17 -0
  37. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  38. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +2 -2
  39. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +16 -16
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +14 -10
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +64 -59
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +31 -16
  44. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +18 -9
  45. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.d.ts +16 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +8 -8
  47. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +30 -5
  48. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  49. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +8 -7
  50. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  51. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  52. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  53. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +12 -12
  54. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +12 -12
  55. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +27 -18
  56. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  57. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +11 -11
  58. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  59. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +21 -20
  60. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +22 -22
  61. package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.d.ts +12 -0
  62. package/vscode/src/vs/workbench/contrib/chat/browser/actions/reviewEdits.js +171 -0
  63. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.d.ts +1 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
  65. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +4 -4
  66. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  67. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginItems.d.ts +1 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +3 -2
  69. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +12 -10
  70. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.d.ts +28 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostPermissionUiContribution.js +99 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.d.ts +2 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentHost/agentHostSessionWorkingDirectoryResolver.js +11 -4
  74. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +9 -3
  75. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +63 -53
  76. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.d.ts +2 -0
  77. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +10 -7
  78. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +3 -3
  79. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  80. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  81. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  82. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +5 -4
  83. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +25 -48
  84. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  85. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  86. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +5 -0
  87. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +8 -4
  88. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +99 -39
  89. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.d.ts +2 -2
  90. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +17 -30
  91. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.d.ts +78 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemsModel.js +38 -0
  93. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +35 -37
  94. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +347 -326
  95. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.d.ts +6 -2
  96. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidgetUtils.js +1 -11
  97. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +113 -109
  98. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +37 -15
  99. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +436 -134
  100. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +1 -1
  101. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.d.ts +2 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWelcomePagePromptLaunchers.js +52 -26
  103. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationCreatorService.js +7 -1
  104. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +2 -1
  105. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +13 -5
  106. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.d.ts +23 -0
  107. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedAgentPluginDetail.js +60 -0
  108. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.d.ts +25 -0
  109. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/embeddedMcpServerDetail.js +93 -0
  110. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +9 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +73 -104
  112. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +272 -41
  113. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationWelcomePromptLaunchers.css +12 -2
  114. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +30 -1
  115. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +430 -185
  116. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.d.ts +5 -2
  117. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +44 -3
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +480 -279
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +32 -32
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.d.ts +138 -0
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheDiff.js +221 -0
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.d.ts +84 -0
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugCacheExplorerView.js +1216 -0
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.d.ts +2 -1
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditor.js +32 -4
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +26 -19
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +28 -25
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +13 -13
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +25 -24
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  137. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  138. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.d.ts +2 -1
  139. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +68 -33
  140. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  141. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.d.ts +3 -2
  142. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugTypes.js +1 -0
  143. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/media/chatDebug.css +650 -6
  144. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +2 -2
  145. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +46 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +533 -0
  147. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +29 -0
  148. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +390 -0
  149. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  150. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.d.ts +101 -0
  151. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationWidget.js +509 -0
  152. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +2 -2
  153. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +18 -3
  154. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +1 -1
  155. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +11 -11
  156. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +3 -2
  157. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +130 -0
  158. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingExplanationWidget.css +276 -0
  159. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +1 -1
  160. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
  161. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +8 -7
  162. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +2 -2
  163. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +1 -7
  164. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +6 -87
  165. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +1 -1
  166. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +116 -182
  167. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +12 -39
  168. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  169. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +31 -31
  170. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  171. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +61 -41
  172. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  173. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  174. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +27 -27
  175. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +2 -0
  176. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +16 -13
  177. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.d.ts +20 -0
  178. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +106 -36
  179. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +25 -7
  180. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +629 -425
  181. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.d.ts +9 -1
  182. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +105 -29
  183. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.d.ts +1 -0
  184. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/media/chatStatus.css +175 -148
  185. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +20 -33
  186. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +9 -2
  187. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  188. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  189. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  190. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  191. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  192. package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.d.ts +58 -0
  193. package/vscode/src/vs/workbench/contrib/chat/browser/githubRepoFetcher.js +339 -0
  194. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/media/planReviewFeedback.css +160 -0
  196. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.d.ts +9 -0
  197. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorActions.js +123 -0
  198. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.d.ts +37 -0
  199. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackEditorContribution.js +572 -0
  200. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.d.ts +36 -0
  201. package/vscode/src/vs/workbench/contrib/chat/browser/planReviewFeedback/planReviewFeedbackService.js +167 -0
  202. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.d.ts +49 -7
  203. package/vscode/src/vs/workbench/contrib/chat/browser/pluginGitCommandService.js +315 -19
  204. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +45 -24
  205. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +15 -15
  206. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +6 -6
  207. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  208. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +44 -40
  209. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +5 -5
  210. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  211. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +4 -1
  212. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +2 -2
  213. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  214. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  215. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  216. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  217. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +20 -20
  218. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +39 -39
  219. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +9 -1
  220. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +111 -52
  221. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.d.ts +3 -7
  222. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +13 -47
  223. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.d.ts +3 -2
  224. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolHelpers.js +4 -8
  225. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.d.ts +18 -0
  226. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolResultCompressorService.js +56 -0
  227. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.d.ts +3 -7
  228. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +14 -52
  229. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  230. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.d.ts +3 -1
  231. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +17 -2
  232. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.d.ts +2 -0
  233. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +23 -12
  234. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.d.ts +39 -0
  235. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletions.js +136 -0
  236. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.d.ts +72 -0
  237. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/agentHostInputCompletionsBase.js +56 -0
  238. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +7 -0
  239. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +14 -1
  240. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +41 -26
  241. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +30 -12
  242. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  243. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  244. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +2 -5
  245. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +25 -6
  246. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  247. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.d.ts +2 -2
  248. package/vscode/src/vs/workbench/contrib/chat/common/chatDebugServiceImpl.js +5 -4
  249. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +1 -0
  250. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +108 -45
  251. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +7 -3
  252. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +3 -1
  253. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +20 -1
  254. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +65 -26
  255. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.d.ts +5 -3
  256. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +38 -11
  257. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +17 -1
  258. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +165 -16
  259. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +1 -0
  260. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +62 -1
  261. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +18 -18
  262. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +2 -1
  263. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  264. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -3
  265. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +15 -21
  266. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.d.ts +1 -3
  267. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +18 -24
  268. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +4 -2
  269. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +203 -180
  270. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  271. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.d.ts +30 -0
  272. package/vscode/src/vs/workbench/contrib/chat/common/workingDirectory.js +35 -0
  273. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.d.ts +2 -1
  274. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +27 -2
  275. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.d.ts +1 -1
  276. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +14 -49
  277. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +0 -16
  278. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +35 -177
  279. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -8
  280. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.d.ts +1 -2
  281. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +2 -3
  282. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +4 -4
  283. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -11
  284. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  285. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  286. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +13 -13
  287. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +5 -5
  288. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  289. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.d.ts +29 -3
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +129 -3
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +3 -2
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +2 -1
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +14 -6
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.d.ts +1 -4
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +12 -38
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +4 -4
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.d.ts +12 -7
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sendToTerminalTool.js +77 -70
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.d.ts +32 -0
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalOutputCompressor.js +232 -0
  311. package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.d.ts +83 -0
  312. package/vscode/src/vs/workbench/services/agentHost/common/agentHostPermissionService.js +243 -0
  313. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +0 -749
  314. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.js +0 -14
  315. package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.d.ts +0 -17
  316. package/vscode/src/vs/platform/agentHost/common/state/sessionCapabilities.js +0 -5
  317. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +0 -40
  318. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.js +0 -14
  319. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.d.ts +0 -61
  320. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +0 -638
  321. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.d.ts +0 -131
  322. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationItemSource.js +0 -363
  323. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.d.ts +0 -24
  324. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/promptsServiceCustomizationItemProvider.js +0 -306
  325. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +0 -23
  326. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +0 -97
  327. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/media/chatStatusWidget.css +0 -57
  328. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.d.ts +0 -50
  329. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginService.js +0 -29
  330. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.d.ts +0 -50
  331. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookClaudeCompat.js +0 -78
  332. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.d.ts +0 -77
  333. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCompatibility.js +0 -120
  334. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.d.ts +0 -10
  335. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/hookCopilotCliCompat.js +0 -23
  336. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +0 -242
  337. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +0 -1701
  338. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +0 -191
  339. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +0 -728
  340. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.d.ts +0 -14
  341. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatHistoryService.js +0 -69
@@ -0,0 +1,509 @@
1
+
2
+ import { registerCss } from '@codingame/monaco-vscode-api/css';
3
+ import * as chatEditingExplanationWidget from './media/chatEditingExplanationWidget.css';
4
+ import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
5
+ import { Disposable, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
6
+ import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
7
+ import { EditorOption } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/config/editorOptions';
8
+ import { renderIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/iconLabel/iconLabels';
9
+ import { $, addDisposableListener, clearNode, createTextNode, getTotalWidth } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
10
+ import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
11
+ import { Range } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/range';
12
+ import { overviewRulerRangeHighlight } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/core/editorColorRegistry';
13
+ import { OverviewRulerLane } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model';
14
+ import { themeColorFromId } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService';
15
+ import { ChatViewId } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat';
16
+ import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
17
+ import '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/index';
18
+ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
19
+
20
+ registerCss(chatEditingExplanationWidget);
21
+ function getChangeTexts(change, diffInfo) {
22
+ const originalLines = [];
23
+ const modifiedLines = [];
24
+ for (let i = change.original.startLineNumber; i < change.original.endLineNumberExclusive; i++) {
25
+ const line = diffInfo.originalModel.getLineContent(i);
26
+ originalLines.push(line);
27
+ }
28
+ for (let i = change.modified.startLineNumber; i < change.modified.endLineNumberExclusive; i++) {
29
+ const line = diffInfo.modifiedModel.getLineContent(i);
30
+ modifiedLines.push(line);
31
+ }
32
+ return {
33
+ originalText: originalLines.join("\n"),
34
+ modifiedText: modifiedLines.join("\n")
35
+ };
36
+ }
37
+ function groupNearbyChanges(changes, lineThreshold = 5) {
38
+ if (changes.length === 0) {
39
+ return [];
40
+ }
41
+ const groups = [];
42
+ let currentGroup = [changes[0]];
43
+ for (let i = 1; i < changes.length; i++) {
44
+ const firstChange = currentGroup[0];
45
+ const currentChange = changes[i];
46
+ const widgetLine = firstChange.modified.startLineNumber;
47
+ const lastLine = currentChange.modified.startLineNumber;
48
+ const verticalSpan = lastLine - widgetLine;
49
+ if (verticalSpan <= lineThreshold) {
50
+ currentGroup.push(currentChange);
51
+ } else {
52
+ groups.push(currentGroup);
53
+ currentGroup = [currentChange];
54
+ }
55
+ }
56
+ if (currentGroup.length > 0) {
57
+ groups.push(currentGroup);
58
+ }
59
+ return groups;
60
+ }
61
+ class ChatEditingExplanationWidget extends Disposable {
62
+ static {
63
+ this._idPool = 0;
64
+ }
65
+ constructor(
66
+ _editor,
67
+ _changes,
68
+ diffInfo,
69
+ _chatWidgetService,
70
+ _viewsService,
71
+ _chatSessionResource
72
+ ) {
73
+ super();
74
+ this._editor = _editor;
75
+ this._changes = _changes;
76
+ this._chatWidgetService = _chatWidgetService;
77
+ this._viewsService = _viewsService;
78
+ this._chatSessionResource = _chatSessionResource;
79
+ this._id = `chat-explanation-widget-${ChatEditingExplanationWidget._idPool++}`;
80
+ this._explanationItems = ( new Map());
81
+ this._position = null;
82
+ this._explanations = [];
83
+ this._isExpanded = true;
84
+ this._isAllRead = false;
85
+ this._disposed = false;
86
+ this._startLineNumber = 1;
87
+ this._eventStore = this._register(( new DisposableStore()));
88
+ this._uri = diffInfo.modifiedModel.uri;
89
+ this._rangeHighlightDecoration = this._editor.createDecorationsCollection();
90
+ this._explanations = ( this._changes.map(change => {
91
+ const {
92
+ originalText,
93
+ modifiedText
94
+ } = getChangeTexts(change, diffInfo);
95
+ return {
96
+ startLineNumber: change.modified.startLineNumber,
97
+ endLineNumber: change.modified.endLineNumberExclusive - 1,
98
+ explanation: ( localize(6367, "Generating explanation...")),
99
+ read: false,
100
+ loading: true,
101
+ originalText,
102
+ modifiedText
103
+ };
104
+ }));
105
+ this._domNode = $("div.chat-explanation-widget");
106
+ this._headerNode = $("div.chat-explanation-header");
107
+ this._readIndicator = $("div.chat-explanation-read-indicator");
108
+ this._updateReadIndicator();
109
+ this._headerNode.appendChild(this._readIndicator);
110
+ this._titleNode = $("span.chat-explanation-title");
111
+ this._updateTitle();
112
+ this._headerNode.appendChild(this._titleNode);
113
+ this._headerNode.appendChild($("span.chat-explanation-spacer"));
114
+ this._toggleButton = $("div.chat-explanation-toggle");
115
+ this._updateToggleButton();
116
+ this._headerNode.appendChild(this._toggleButton);
117
+ this._dismissButton = $("div.chat-explanation-dismiss");
118
+ this._dismissButton.appendChild(renderIcon(Codicon.close));
119
+ this._dismissButton.title = ( localize(6368, "Dismiss"));
120
+ this._headerNode.appendChild(this._dismissButton);
121
+ this._domNode.appendChild(this._headerNode);
122
+ this._bodyNode = $("div.chat-explanation-body");
123
+ this._buildExplanationItems();
124
+ this._domNode.appendChild(this._bodyNode);
125
+ const arrow = $("div.chat-explanation-arrow");
126
+ this._domNode.appendChild(arrow);
127
+ this._setupEventHandlers();
128
+ this._domNode.classList.add("visible");
129
+ this._editor.addOverlayWidget(this);
130
+ }
131
+ _setupEventHandlers() {
132
+ this._eventStore.add(addDisposableListener(this._readIndicator, "click", e => {
133
+ e.stopPropagation();
134
+ this._isAllRead = !this._isAllRead;
135
+ for (const exp of this._explanations) {
136
+ exp.read = this._isAllRead;
137
+ }
138
+ this._updateReadIndicator();
139
+ this._updateExplanationItemsReadState();
140
+ }));
141
+ this._eventStore.add(addDisposableListener(this._toggleButton, "click", e => {
142
+ e.stopPropagation();
143
+ this._toggleExpanded();
144
+ }));
145
+ this._eventStore.add(addDisposableListener(this._headerNode, "click", () => {
146
+ this._toggleExpanded();
147
+ }));
148
+ this._eventStore.add(addDisposableListener(this._dismissButton, "click", e => {
149
+ e.stopPropagation();
150
+ this._dismiss();
151
+ }));
152
+ }
153
+ _toggleExpanded() {
154
+ this._isExpanded = !this._isExpanded;
155
+ this._bodyNode.classList.toggle("collapsed", !this._isExpanded);
156
+ this._updateToggleButton();
157
+ this._editor.layoutOverlayWidget(this);
158
+ }
159
+ _dismiss() {
160
+ this._domNode.classList.add("fadeOut");
161
+ const dispose = () => {
162
+ this.dispose();
163
+ };
164
+ const handle = setTimeout(dispose, 150);
165
+ this._domNode.addEventListener("animationend", () => {
166
+ clearTimeout(handle);
167
+ dispose();
168
+ }, {
169
+ once: true
170
+ });
171
+ }
172
+ _updateReadIndicator() {
173
+ clearNode(this._readIndicator);
174
+ const allRead = this._explanations.every(e => e.read);
175
+ const someRead = ( this._explanations.some(e => e.read));
176
+ this._isAllRead = allRead;
177
+ if (allRead) {
178
+ this._readIndicator.appendChild(renderIcon(Codicon.circle));
179
+ this._readIndicator.classList.add("read");
180
+ this._readIndicator.classList.remove("partial", "unread");
181
+ this._readIndicator.title = ( localize(6369, "Mark as unread"));
182
+ } else if (someRead) {
183
+ this._readIndicator.appendChild(renderIcon(Codicon.circleFilled));
184
+ this._readIndicator.classList.remove("read", "unread");
185
+ this._readIndicator.classList.add("partial");
186
+ this._readIndicator.title = ( localize(6370, "Mark all as read"));
187
+ } else {
188
+ this._readIndicator.appendChild(renderIcon(Codicon.circleFilled));
189
+ this._readIndicator.classList.remove("read", "partial");
190
+ this._readIndicator.classList.add("unread");
191
+ this._readIndicator.title = ( localize(6371, "Mark as read"));
192
+ }
193
+ }
194
+ _updateTitle() {
195
+ const count = this._explanations.length;
196
+ if (count === 1) {
197
+ this._titleNode.textContent = ( localize(6372, "1 change"));
198
+ } else {
199
+ this._titleNode.textContent = ( localize(6373, "{0} changes", count));
200
+ }
201
+ }
202
+ _updateToggleButton() {
203
+ clearNode(this._toggleButton);
204
+ if (this._isExpanded) {
205
+ this._toggleButton.appendChild(renderIcon(Codicon.chevronUp));
206
+ this._toggleButton.title = ( localize(6374, "Collapse"));
207
+ } else {
208
+ this._toggleButton.appendChild(renderIcon(Codicon.chevronDown));
209
+ this._toggleButton.title = ( localize(6375, "Expand"));
210
+ }
211
+ }
212
+ _buildExplanationItems() {
213
+ clearNode(this._bodyNode);
214
+ this._explanationItems.clear();
215
+ for (let i = 0; i < this._explanations.length; i++) {
216
+ const exp = this._explanations[i];
217
+ const item = $("div.chat-explanation-item");
218
+ const lineInfo = $("span.chat-explanation-line-info");
219
+ if (exp.startLineNumber === exp.endLineNumber) {
220
+ lineInfo.textContent = ( localize(6376, "Line {0}", exp.startLineNumber));
221
+ } else {
222
+ lineInfo.textContent = ( localize(6377, "Lines {0}-{1}", exp.startLineNumber, exp.endLineNumber));
223
+ }
224
+ item.appendChild(lineInfo);
225
+ const text = $("span.chat-explanation-text");
226
+ if (exp.loading) {
227
+ const loadingIcon = renderIcon(ThemeIcon.modify(Codicon.loading, "spin"));
228
+ loadingIcon.classList.add("chat-explanation-loading");
229
+ text.appendChild(loadingIcon);
230
+ const loadingText = createTextNode(" " + exp.explanation);
231
+ text.appendChild(loadingText);
232
+ } else {
233
+ text.textContent = exp.explanation;
234
+ }
235
+ item.appendChild(text);
236
+ const itemReadIndicator = $("div.chat-explanation-item-read");
237
+ this._updateItemReadIndicator(itemReadIndicator, exp.read);
238
+ item.appendChild(itemReadIndicator);
239
+ const replyButton = $("div.chat-explanation-reply-button");
240
+ replyButton.appendChild(renderIcon(Codicon.arrowRight));
241
+ replyButton.title = ( localize(6378, "Follow up on this change"));
242
+ item.appendChild(replyButton);
243
+ this._eventStore.add(addDisposableListener(replyButton, "click", async e => {
244
+ e.stopPropagation();
245
+ const range = ( new Range(exp.startLineNumber, 1, exp.endLineNumber, 1));
246
+ let chatWidget;
247
+ if (this._chatSessionResource) {
248
+ chatWidget = await this._chatWidgetService.openSession(this._chatSessionResource);
249
+ } else {
250
+ await this._viewsService.openView(ChatViewId, true);
251
+ chatWidget = this._chatWidgetService.lastFocusedWidget;
252
+ }
253
+ if (chatWidget) {
254
+ chatWidget.attachmentModel.addContext(chatWidget.attachmentModel.asFileVariableEntry(this._uri, range));
255
+ }
256
+ }));
257
+ this._eventStore.add(addDisposableListener(item, "click", e => {
258
+ e.stopPropagation();
259
+ exp.read = !exp.read;
260
+ this._updateItemReadIndicator(itemReadIndicator, exp.read);
261
+ this._updateReadIndicator();
262
+ }));
263
+ this._eventStore.add(addDisposableListener(item, "mouseenter", () => {
264
+ const range = ( new Range(
265
+ exp.startLineNumber,
266
+ 1,
267
+ exp.endLineNumber,
268
+ this._editor.getModel()?.getLineMaxColumn(exp.endLineNumber) ?? 1
269
+ ));
270
+ this._rangeHighlightDecoration.set([
271
+ {
272
+ range,
273
+ options: {
274
+ description: "chat-explanation-range-highlight",
275
+ className: "rangeHighlight",
276
+ isWholeLine: true,
277
+ linesDecorationsClassName: "chat-explanation-range-glyph"
278
+ }
279
+ },
280
+ {
281
+ range,
282
+ options: {
283
+ description: "chat-explanation-range-highlight-overview",
284
+ overviewRuler: {
285
+ color: themeColorFromId(overviewRulerRangeHighlight),
286
+ position: OverviewRulerLane.Full
287
+ }
288
+ }
289
+ }]);
290
+ }));
291
+ this._eventStore.add(addDisposableListener(item, "mouseleave", () => {
292
+ this._rangeHighlightDecoration.clear();
293
+ }));
294
+ this._explanationItems.set(i, {
295
+ item,
296
+ readIndicator: itemReadIndicator,
297
+ textElement: text
298
+ });
299
+ this._bodyNode.appendChild(item);
300
+ }
301
+ }
302
+ setExplanationByLineNumber(startLineNumber, endLineNumber, explanation) {
303
+ for (let i = 0; i < this._explanations.length; i++) {
304
+ const exp = this._explanations[i];
305
+ if (exp.startLineNumber === startLineNumber && exp.endLineNumber === endLineNumber) {
306
+ exp.explanation = explanation;
307
+ exp.loading = false;
308
+ this._updateExplanationText(i);
309
+ return true;
310
+ }
311
+ }
312
+ return false;
313
+ }
314
+ get explanationCount() {
315
+ return this._explanations.length;
316
+ }
317
+ _updateExplanationText(index) {
318
+ const itemData = this._explanationItems.get(index);
319
+ const exp = this._explanations[index];
320
+ if (itemData && exp) {
321
+ clearNode(itemData.textElement);
322
+ itemData.textElement.textContent = exp.explanation;
323
+ }
324
+ }
325
+ _updateItemReadIndicator(element, read) {
326
+ clearNode(element);
327
+ if (read) {
328
+ element.appendChild(renderIcon(Codicon.circle));
329
+ element.classList.add("read");
330
+ element.classList.remove("unread");
331
+ } else {
332
+ element.appendChild(renderIcon(Codicon.circleFilled));
333
+ element.classList.remove("read");
334
+ element.classList.add("unread");
335
+ }
336
+ }
337
+ _updateExplanationItemsReadState() {
338
+ this._explanationItems.forEach((
339
+ {
340
+ readIndicator
341
+ },
342
+ index
343
+ ) => {
344
+ const exp = this._explanations[index];
345
+ this._updateItemReadIndicator(readIndicator, exp.read);
346
+ });
347
+ }
348
+ layout(startLineNumber) {
349
+ if (this._disposed) {
350
+ return;
351
+ }
352
+ this._startLineNumber = startLineNumber;
353
+ const lineHeight = this._editor.getOption(EditorOption.lineHeight);
354
+ const {
355
+ contentLeft,
356
+ contentWidth,
357
+ verticalScrollbarWidth
358
+ } = this._editor.getLayoutInfo();
359
+ const scrollTop = this._editor.getScrollTop();
360
+ const widgetWidth = getTotalWidth(this._domNode) || 280;
361
+ this._position = {
362
+ stackOrdinal: 2,
363
+ preference: {
364
+ top: this._editor.getTopForLineNumber(startLineNumber) - scrollTop - lineHeight,
365
+ left: contentLeft + contentWidth - (2 * verticalScrollbarWidth + widgetWidth)
366
+ }
367
+ };
368
+ this._editor.layoutOverlayWidget(this);
369
+ }
370
+ toggle(show) {
371
+ this._domNode.classList.toggle("visible", show);
372
+ if (show && this._explanations.length > 0) {
373
+ this.layout(this._explanations[0].startLineNumber);
374
+ }
375
+ }
376
+ relayout() {
377
+ if (this._startLineNumber) {
378
+ this.layout(this._startLineNumber);
379
+ }
380
+ }
381
+ getId() {
382
+ return this._id;
383
+ }
384
+ getDomNode() {
385
+ return this._domNode;
386
+ }
387
+ getPosition() {
388
+ return this._position;
389
+ }
390
+ dispose() {
391
+ if (this._disposed) {
392
+ return;
393
+ }
394
+ this._disposed = true;
395
+ this._rangeHighlightDecoration.clear();
396
+ this._editor.removeOverlayWidget(this);
397
+ super.dispose();
398
+ }
399
+ }
400
+ class ChatEditingExplanationWidgetManager extends Disposable {
401
+ constructor(_editor, _chatWidgetService, _viewsService, modelManager, _modelUri) {
402
+ super();
403
+ this._editor = _editor;
404
+ this._chatWidgetService = _chatWidgetService;
405
+ this._viewsService = _viewsService;
406
+ this._modelUri = _modelUri;
407
+ this._widgets = [];
408
+ this._visible = false;
409
+ this._register(this._editor.onDidChangeModel(() => {
410
+ const newUri = this._editor.getModel()?.uri;
411
+ if (this._modelUri) {
412
+ if (newUri && ( newUri.toString()) === ( this._modelUri.toString())) {
413
+ for (const widget of this._widgets) {
414
+ widget.toggle(this._visible);
415
+ widget.relayout();
416
+ }
417
+ } else {
418
+ for (const widget of this._widgets) {
419
+ widget.toggle(false);
420
+ }
421
+ }
422
+ }
423
+ }));
424
+ this._register(autorun(r => {
425
+ const state = modelManager.state.read(r);
426
+ const uriState = state.get(this._modelUri);
427
+ if (uriState) {
428
+ this._diffInfo = uriState.diffInfo;
429
+ this._chatSessionResource = uriState.chatSessionResource;
430
+ if (this._widgets.length === 0 && this._diffInfo) {
431
+ this._createWidgets(this._diffInfo, this._chatSessionResource);
432
+ }
433
+ if (uriState.progress === "complete") {
434
+ this._handleExplanations(this._modelUri, uriState.explanations);
435
+ }
436
+ this.show();
437
+ } else {
438
+ this.hide();
439
+ }
440
+ }));
441
+ }
442
+ _createWidgets(diffInfo, chatSessionResource) {
443
+ if (diffInfo.identical || diffInfo.changes.length === 0) {
444
+ return;
445
+ }
446
+ const groups = groupNearbyChanges(diffInfo.changes, 5);
447
+ for (const group of groups) {
448
+ const widget = ( new ChatEditingExplanationWidget(
449
+ this._editor,
450
+ group,
451
+ diffInfo,
452
+ this._chatWidgetService,
453
+ this._viewsService,
454
+ chatSessionResource
455
+ ));
456
+ this._widgets.push(widget);
457
+ this._register(widget);
458
+ widget.layout(group[0].modified.startLineNumber);
459
+ }
460
+ this._register(
461
+ Event.any(this._editor.onDidScrollChange, this._editor.onDidLayoutChange)(() => {
462
+ for (const widget of this._widgets) {
463
+ widget.relayout();
464
+ }
465
+ })
466
+ );
467
+ }
468
+ _handleExplanations(uri, explanations) {
469
+ if (!this._modelUri || ( uri.toString()) !== ( this._modelUri.toString())) {
470
+ return;
471
+ }
472
+ for (const explanation of explanations) {
473
+ for (const widget of this._widgets) {
474
+ if (widget.setExplanationByLineNumber(
475
+ explanation.startLineNumber,
476
+ explanation.endLineNumber,
477
+ explanation.explanation
478
+ )) {
479
+ break;
480
+ }
481
+ }
482
+ }
483
+ }
484
+ show() {
485
+ this._visible = true;
486
+ for (const widget of this._widgets) {
487
+ widget.toggle(true);
488
+ widget.relayout();
489
+ }
490
+ }
491
+ hide() {
492
+ this._visible = false;
493
+ for (const widget of this._widgets) {
494
+ widget.toggle(false);
495
+ }
496
+ }
497
+ _clearWidgets() {
498
+ for (const widget of this._widgets) {
499
+ widget.dispose();
500
+ }
501
+ this._widgets.length = 0;
502
+ }
503
+ dispose() {
504
+ this._clearWidgets();
505
+ super.dispose();
506
+ }
507
+ }
508
+
509
+ export { ChatEditingExplanationWidget, ChatEditingExplanationWidgetManager };
@@ -142,7 +142,7 @@ let ChatEditingModifiedDocumentEntry = class ChatEditingModifiedDocumentEntry ex
142
142
  if (inProgress) {
143
143
  const res = this._lastModifyingResponseObs.read(r);
144
144
  const req = res && res.session.getRequests().find(value => value.id === res.requestId);
145
- resourceFilter.value = markerService.installResourceFilter(this.modifiedURI, req?.message.text || ( localize(6143, "Chat Edits")));
145
+ resourceFilter.value = markerService.installResourceFilter(this.modifiedURI, req?.message.text || ( localize(6379, "Chat Edits")));
146
146
  } else {
147
147
  resourceFilter.clear();
148
148
  }
@@ -187,7 +187,7 @@ let ChatEditingModifiedDocumentEntry = class ChatEditingModifiedDocumentEntry ex
187
187
  }
188
188
  _createUndoRedoElement(response) {
189
189
  const request = response.session.getRequests().find(req => req.id === response.requestId);
190
- const label = request?.message.text ? ( localize(6144, "Chat Edit: '{0}'", request.message.text)) : ( localize(6145, "Chat Edit"));
190
+ const label = request?.message.text ? ( localize(6380, "Chat Edit: '{0}'", request.message.text)) : ( localize(6381, "Chat Edit"));
191
191
  return ( new SingleModelEditStackElement(label, "chat.edit", this.modifiedModel, null));
192
192
  }
193
193
  async acceptAgentEdits(resource, textEdits, isLastEdits, responseModel) {
@@ -42,7 +42,7 @@ class AutoAcceptControl {
42
42
  this.cancel = cancel;
43
43
  }
44
44
  }
45
- const pendingRewriteMinimap = registerColor("minimap.chatEditHighlight", ( transparent(editorBackground, 0.6)), ( localize(6146, "Color of pending edit regions in the minimap")));
45
+ const pendingRewriteMinimap = registerColor("minimap.chatEditHighlight", ( transparent(editorBackground, 0.6)), ( localize(6382, "Color of pending edit regions in the minimap")));
46
46
  let AbstractChatEditingModifiedFileEntry = class AbstractChatEditingModifiedFileEntry extends Disposable {
47
47
  static {
48
48
  AbstractChatEditingModifiedFileEntry_1 = this;
@@ -232,7 +232,7 @@ let AbstractChatEditingModifiedFileEntry = class AbstractChatEditingModifiedFile
232
232
  });
233
233
  }
234
234
  _notifyAction(action) {
235
- if (action.kind === "chatEditingHunkAction") {
235
+ if (action.kind === "chatEditingHunkAction" && action.outcome === "accepted") {
236
236
  this._aiEditTelemetryService.handleCodeAccepted({
237
237
  suggestionId: undefined,
238
238
  acceptanceMethod: "accept",
@@ -243,7 +243,22 @@ let AbstractChatEditingModifiedFileEntry = class AbstractChatEditingModifiedFile
243
243
  editDeltaInfo: ( new EditDeltaInfo(action.linesAdded, action.linesRemoved, -1, -1)),
244
244
  feature: this._telemetryInfo.feature,
245
245
  languageId: action.languageId,
246
- source: undefined
246
+ source: undefined,
247
+ sourceRequestId: this._telemetryInfo.requestId
248
+ });
249
+ } else if (action.kind === "chatEditingHunkAction" && action.outcome === "rejected") {
250
+ this._aiEditTelemetryService.handleCodeRejected({
251
+ suggestionId: undefined,
252
+ rejectionMethod: "reject",
253
+ presentation: "highlightedEdit",
254
+ modelId: this._telemetryInfo.modelId,
255
+ modeId: this._telemetryInfo.modeId,
256
+ applyCodeBlockSuggestionId: this._telemetryInfo.applyCodeBlockSuggestionId,
257
+ editDeltaInfo: ( new EditDeltaInfo(action.linesAdded, action.linesRemoved, -1, -1)),
258
+ feature: this._telemetryInfo.feature,
259
+ languageId: action.languageId,
260
+ source: undefined,
261
+ sourceRequestId: this._telemetryInfo.requestId
247
262
  });
248
263
  }
249
264
  this._chatService.notifyUserAction({
@@ -485,7 +485,7 @@ let ChatEditingModifiedNotebookEntry = class ChatEditingModifiedNotebookEntry ex
485
485
  }
486
486
  _createUndoRedoElement(response) {
487
487
  const request = response.session.getRequests().find(req => req.id === response.requestId);
488
- const label = request?.message.text ? ( localize(6147, "Chat Edit: '{0}'", request.message.text)) : ( localize(6148, "Chat Edit"));
488
+ const label = request?.message.text ? ( localize(6383, "Chat Edit: '{0}'", request.message.text)) : ( localize(6384, "Chat Edit"));
489
489
  const transientOptions = this.transientOptions;
490
490
  const outputSizeLimit = this.configurationService.getValue(NotebookSetting.outputBackupSizeLimit) * 1024;
491
491
  let initial = createSnapshot(this.modifiedModel, transientOptions, outputSizeLimit);
@@ -4,7 +4,7 @@ import { delta, compareBy } from '@codingame/monaco-vscode-api/vscode/vs/base/co
4
4
  import { Codicon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/codicons';
5
5
  import { groupBy } from '@codingame/monaco-vscode-api/vscode/vs/base/common/collections';
6
6
  import { ErrorNoTelemetry } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
7
- import { Event, Emitter } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
7
+ import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
8
8
  import { Iterable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/iterator';
9
9
  import { Disposable, dispose, DisposableStore, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
10
10
  import { LinkedList } from '@codingame/monaco-vscode-api/vscode/vs/base/common/linkedList';
@@ -36,6 +36,7 @@ import { INotebookService } from '@codingame/monaco-vscode-api/vscode/vs/workben
36
36
  import { chatEditingAgentSupportsReadonlyReferencesContextKey, ChatEditingSessionState, ModifiedFileEntryState, CHAT_EDITING_MULTI_DIFF_SOURCE_RESOLVER_SCHEME, parseChatMultiDiffUri, chatEditingResourceContextKey, inChatEditingSessionContextKey } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/editing/chatEditingService';
37
37
  import { isCellTextEditOperationArray } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatModel';
38
38
  import { IChatService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatService/chatService.service';
39
+ import { getChatSessionType } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/model/chatUri';
39
40
  import { ChatEditorInput } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditorInput';
40
41
  import { AbstractChatEditingModifiedFileEntry } from './chatEditingModifiedFileEntry.js';
41
42
  import { ChatEditingSession } from './chatEditingSession.js';
@@ -125,7 +126,7 @@ let ChatEditingService = class ChatEditingService extends Disposable {
125
126
  }
126
127
  e.join(storageTask, {
127
128
  id: "join.chatEditingSession",
128
- label: ( localize(6149, "Saving chat edits history"))
129
+ label: ( localize(6385, "Saving chat edits history"))
129
130
  });
130
131
  }));
131
132
  }
@@ -159,7 +160,7 @@ let ChatEditingService = class ChatEditingService extends Disposable {
159
160
  this.getEditingSession(chatModel.sessionResource) === undefined,
160
161
  "CANNOT have more than one editing session per chat session"
161
162
  );
162
- const provider = this._providers.get(chatModel.sessionResource.scheme);
163
+ const provider = this._providers.get(getChatSessionType(chatModel.sessionResource));
163
164
  const session = provider ? provider.createEditingSession(chatModel.sessionResource) : this._instantiationService.createInstance(
164
165
  ChatEditingSession,
165
166
  chatModel.sessionResource,
@@ -217,10 +218,7 @@ let ChatEditingService = class ChatEditingService extends Disposable {
217
218
  K[K["Workspace"] = 1] = "Workspace";
218
219
  })(K || (K = {}));
219
220
  const editsSeen = [];
220
- let editorDidChange = false;
221
- const editorListener = Event.once(this._editorService.onDidActiveEditorChange)(() => {
222
- editorDidChange = true;
223
- });
221
+ const initialActiveEditor = this._editorService.activeEditorPane?.input;
224
222
  const editorOpenPromises = ( new ResourceMap());
225
223
  const openChatEditedFiles = this._configurationService.getValue("accessibility.openChatEditedFiles");
226
224
  const ensureEditorOpen = partUri => {
@@ -231,6 +229,8 @@ let ChatEditingService = class ChatEditingService extends Disposable {
231
229
  editorOpenPromises.set(uri, (async () => {
232
230
  if (this.notebookService.getNotebookTextModel(uri) || uri.scheme === Schemas.untitled || (await this._fileService.exists(uri).catch(() => false))) {
233
231
  const activeUri = this._editorService.activeEditorPane?.input.resource;
232
+ const currentActiveEditor = this._editorService.activeEditorPane?.input;
233
+ const editorDidChange = initialActiveEditor && currentActiveEditor ? !initialActiveEditor.matches(currentActiveEditor) : initialActiveEditor !== currentActiveEditor;
234
234
  const inactive = editorDidChange || this._editorService.activeEditorPane?.input instanceof ChatEditorInput && isEqual(
235
235
  this._editorService.activeEditorPane.input.sessionResource,
236
236
  session.chatSessionResource
@@ -242,7 +242,8 @@ let ChatEditingService = class ChatEditingService extends Disposable {
242
242
  options: {
243
243
  inactive,
244
244
  preserveFocus: true,
245
- pinned: true
245
+ pinned: true,
246
+ isExplicit: false
246
247
  }
247
248
  });
248
249
  }
@@ -256,7 +257,6 @@ let ChatEditingService = class ChatEditingService extends Disposable {
256
257
  }
257
258
  editsSeen.length = 0;
258
259
  editorOpenPromises.clear();
259
- editorListener.dispose();
260
260
  };
261
261
  const handleResponseParts = async () => {
262
262
  if (responseModel.isCanceled) {
@@ -358,7 +358,7 @@ class ChatDecorationsProvider extends Disposable {
358
358
  constructor(_sessions) {
359
359
  super();
360
360
  this._sessions = _sessions;
361
- this.label = ( localize(6150, "Chat Editing"));
361
+ this.label = ( localize(6386, "Chat Editing"));
362
362
  this._currentEntries = derived(this, r => {
363
363
  const sessions = this._sessions.read(r);
364
364
  if (!sessions) {
@@ -402,7 +402,7 @@ class ChatDecorationsProvider extends Disposable {
402
402
  return {
403
403
  weight: 1000,
404
404
  letter: Codicon.diffModified,
405
- tooltip: ( localize(6151, "Pending changes from chat")),
405
+ tooltip: ( localize(6387, "Pending changes from chat")),
406
406
  bubble: true
407
407
  };
408
408
  }