@codingame/monaco-vscode-chat-service-override 29.1.0 → 30.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (258) hide show
  1. package/index.js +5 -2
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/agentHost/common/agentService.d.ts +37 -39
  4. package/vscode/src/vs/platform/agentHost/common/agentService.js +3 -1
  5. package/vscode/src/vs/platform/agentHost/common/agentService.service.d.ts +11 -1
  6. package/vscode/src/vs/platform/agentHost/common/state/protocol/action-origin.generated.d.ts +4 -4
  7. package/vscode/src/vs/platform/agentHost/common/state/protocol/actions.d.ts +132 -42
  8. package/vscode/src/vs/platform/agentHost/common/state/protocol/commands.d.ts +54 -0
  9. package/vscode/src/vs/platform/agentHost/common/state/protocol/errors.d.ts +15 -0
  10. package/vscode/src/vs/platform/agentHost/common/state/protocol/messages.d.ts +5 -1
  11. package/vscode/src/vs/platform/agentHost/common/state/protocol/state.d.ts +188 -51
  12. package/vscode/src/vs/platform/agentHost/common/state/sessionActions.d.ts +7 -6
  13. package/vscode/src/vs/platform/agentHost/common/state/sessionProtocol.d.ts +1 -1
  14. package/vscode/src/vs/platform/agentHost/common/state/sessionState.d.ts +7 -2
  15. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.d.ts +6 -0
  16. package/vscode/src/vs/platform/sandbox/browser/sandboxHelperService.js +14 -0
  17. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.d.ts +18 -0
  18. package/vscode/src/vs/platform/sandbox/common/sandboxHelperIpc.js +13 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +2 -2
  20. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +37 -16
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +8 -8
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +59 -59
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +1 -1
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +12 -12
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +10 -8
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +37 -3
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -4
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +2 -2
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatForkActions.js +6 -6
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +3 -3
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +13 -13
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +6 -6
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +20 -11
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatOpenAgentDebugPanelAction.js +14 -14
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPluginActions.js +18 -13
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +2 -2
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQueueActions.js +10 -10
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +8 -8
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +19 -19
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.d.ts +36 -0
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/createPluginAction.js +482 -0
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginActions.js +8 -8
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditor.js +2 -2
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginEditor/agentPluginEditorInput.js +2 -2
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.d.ts +10 -2
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginRepositoryService.js +43 -10
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentPluginsView.js +13 -13
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +3 -3
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +74 -76
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +5 -5
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +1 -1
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +1 -1
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +4 -4
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +1 -1
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +4 -4
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +27 -35
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +17 -17
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +4 -4
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.d.ts +5 -8
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsController.js +86 -80
  61. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.d.ts +3 -2
  62. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationDebugPanel.js +38 -4
  63. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationIcons.js +14 -14
  64. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.d.ts +38 -18
  65. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationListWidget.js +427 -167
  66. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagement.contribution.js +37 -37
  67. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.d.ts +15 -0
  68. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditor.js +108 -37
  69. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.d.ts +8 -1
  70. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationManagementEditorInput.js +28 -2
  71. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.d.ts +2 -0
  72. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/aiCustomizationWorkspaceService.js +11 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.d.ts +1 -3
  74. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/customizationHarnessService.js +3 -20
  75. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.d.ts +4 -0
  76. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/mcpListWidget.js +65 -68
  77. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/media/aiCustomizationManagement.css +2 -0
  78. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.d.ts +1 -0
  79. package/vscode/src/vs/workbench/contrib/chat/browser/aiCustomization/pluginListWidget.js +64 -51
  80. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +19 -19
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +288 -195
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatCustomizationDiscoveryRenderer.js +21 -21
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugDetailPanel.js +6 -6
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEditorInput.js +2 -2
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventDetailRenderer.js +19 -19
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugEventList.js +7 -7
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFilters.js +4 -4
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowChartView.js +7 -7
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugFlowGraph.js +21 -21
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHomeView.js +12 -12
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugHookContentRenderer.js +17 -17
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugLogsView.js +21 -21
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugMessageContentRenderer.js +8 -8
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugModelTurnContentRenderer.js +23 -23
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugOverviewView.js +28 -28
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatDebug/chatDebugToolCallContentRenderer.js +11 -11
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +1 -1
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.d.ts +1 -0
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +3 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +3 -3
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +1 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +5 -2
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +1 -0
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +1 -1
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +2 -1
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +10 -3
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +4 -2
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +19 -7
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +3 -2
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +54 -12
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +3 -3
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatImageCarouselService.js +1 -1
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +9 -8
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +14 -14
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +4 -4
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +2 -2
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +50 -50
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +11 -11
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +3 -3
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +30 -30
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +2 -2
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetup.js +1 -1
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +3 -1
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +86 -17
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +10 -10
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupGrowthSession.js +6 -6
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +29 -26
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +12 -12
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatSlashCommands.js +19 -19
  132. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +65 -65
  133. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +24 -16
  134. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipCatalog.js +17 -17
  135. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +2 -6
  136. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +4 -4
  137. package/vscode/src/vs/workbench/contrib/chat/browser/claudePluginRecommendations.js +2 -2
  138. package/vscode/src/vs/workbench/contrib/chat/browser/defaultModelContribution.js +4 -4
  139. package/vscode/src/vs/workbench/contrib/chat/browser/enablementActions.js +4 -4
  140. package/vscode/src/vs/workbench/contrib/chat/browser/enablementStatusWidget.js +2 -2
  141. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +1 -1
  142. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.d.ts +3 -6
  143. package/vscode/src/vs/workbench/contrib/chat/browser/pluginInstallService.js +54 -39
  144. package/vscode/src/vs/workbench/contrib/chat/browser/pluginSources.js +16 -16
  145. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.d.ts +24 -3
  146. package/vscode/src/vs/workbench/contrib/chat/browser/pluginUrlHandler.js +72 -14
  147. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +6 -6
  148. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookActions.js +26 -26
  149. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/hookUtils.js +3 -3
  150. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +2 -2
  151. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileContributions.js +181 -0
  152. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +3 -3
  153. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +8 -8
  154. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +7 -7
  155. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +3 -3
  156. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +3 -3
  157. package/vscode/src/vs/workbench/contrib/chat/browser/promptsDebugContribution.js +8 -6
  158. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +37 -37
  159. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +28 -23
  160. package/vscode/src/vs/workbench/contrib/chat/browser/tools/renameTool.js +6 -6
  161. package/vscode/src/vs/workbench/contrib/chat/browser/tools/usagesTool.js +7 -7
  162. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatQueuePickerActionItem.js +9 -9
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +6 -6
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.d.ts +12 -0
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletionUtils.js +62 -0
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +1 -10
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +148 -88
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +1 -1
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +1 -1
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +1 -1
  172. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +1 -1
  173. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +1 -0
  174. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +16 -9
  175. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +2 -2
  176. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.d.ts +8 -0
  177. package/vscode/src/vs/workbench/contrib/chat/common/chatArtifactExtraction.js +158 -0
  178. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +8 -3
  179. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +155 -76
  180. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +1 -2
  181. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +5 -4
  182. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +5 -1
  183. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +7 -6
  184. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.d.ts +31 -1
  185. package/vscode/src/vs/workbench/contrib/chat/common/plugins/agentPluginServiceImpl.js +228 -1
  186. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.d.ts +66 -0
  187. package/vscode/src/vs/workbench/contrib/chat/common/plugins/fileBackedInstalledPluginsStore.js +190 -0
  188. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.d.ts +25 -3
  189. package/vscode/src/vs/workbench/contrib/chat/common/plugins/pluginMarketplaceService.js +130 -107
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.d.ts +1 -0
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +19 -18
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +5 -5
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +5 -5
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +12 -12
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +2 -18
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +169 -266
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +12 -10
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +149 -206
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +3 -3
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +27 -22
  201. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.d.ts +20 -8
  202. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatArtifactsService.js +183 -43
  203. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  204. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +1 -1
  205. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +2 -3
  206. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +4 -4
  207. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +21 -21
  208. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +2 -2
  209. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +11 -11
  210. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +14 -14
  211. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +1 -1
  212. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +11 -11
  213. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +6 -6
  214. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +1 -1
  215. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  216. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +7 -7
  217. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +16 -16
  218. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +20 -20
  219. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +2 -2
  220. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +1 -1
  221. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +3 -1
  222. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +4 -2
  223. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +3 -2
  224. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +6 -6
  225. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.d.ts +1 -0
  226. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +1 -0
  227. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.d.ts +1 -3
  228. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +26 -23
  229. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +3 -3
  230. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +1 -1
  231. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +12 -12
  232. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +2 -2
  233. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +4 -9
  234. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +3 -3
  235. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +16 -6
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +3 -3
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +3 -3
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +9 -9
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +2 -2
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +150 -50
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/sandboxOutputAnalyzer.js +2 -2
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +14 -14
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +7 -7
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +14 -14
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +1 -1
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +66 -5
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +239 -48
  248. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +0 -14
  249. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +0 -208
  250. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +0 -22
  251. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +0 -637
  252. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +0 -24
  253. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +0 -384
  254. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.d.ts +0 -33
  255. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalCustomizations.js +0 -47
  256. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/internalCustomizations/internalSkill.d.ts +0 -30
  257. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +0 -55
  258. /package/vscode/src/vs/workbench/contrib/chat/{common → browser}/promptSyntax/promptFileContributions.d.ts +0 -0
@@ -95,10 +95,10 @@ class PluginInstalledItemRenderer {
95
95
  templateData.container.classList.toggle("disabled", !enabled);
96
96
  templateData.status.className = "mcp-server-status";
97
97
  if (enabled) {
98
- templateData.status.textContent = ( localize(5442, "Enabled"));
98
+ templateData.status.textContent = ( localize(5474, "Enabled"));
99
99
  templateData.status.classList.add("running");
100
100
  } else {
101
- templateData.status.textContent = ( localize(5443, "Disabled"));
101
+ templateData.status.textContent = ( localize(5475, "Disabled"));
102
102
  templateData.status.classList.add("disabled");
103
103
  }
104
104
  }));
@@ -143,12 +143,12 @@ class PluginMarketplaceItemRenderer {
143
143
  renderElement(element, _index, templateData) {
144
144
  templateData.elementDisposables.clear();
145
145
  templateData.name.textContent = element.item.name;
146
- templateData.publisher.textContent = element.item.marketplace ? ( localize(5444, "by {0}", element.item.marketplace)) : "";
146
+ templateData.publisher.textContent = element.item.marketplace ? ( localize(5476, "by {0}", element.item.marketplace)) : "";
147
147
  templateData.description.textContent = element.item.description || "";
148
- templateData.installButton.label = ( localize(5445, "Install"));
148
+ templateData.installButton.label = ( localize(5477, "Install"));
149
149
  templateData.installButton.enabled = true;
150
150
  templateData.elementDisposables.add(templateData.installButton.onDidClick(async () => {
151
- templateData.installButton.label = ( localize(5446, "Installing..."));
151
+ templateData.installButton.label = ( localize(5478, "Installing..."));
152
152
  templateData.installButton.enabled = false;
153
153
  try {
154
154
  await this.pluginInstallService.installPlugin({
@@ -162,9 +162,9 @@ class PluginMarketplaceItemRenderer {
162
162
  marketplaceType: element.item.marketplaceType,
163
163
  readmeUri: element.item.readmeUri
164
164
  });
165
- templateData.installButton.label = ( localize(5447, "Installed"));
165
+ templateData.installButton.label = ( localize(5479, "Installed"));
166
166
  } catch (_e) {
167
- templateData.installButton.label = ( localize(5445, "Install"));
167
+ templateData.installButton.label = ( localize(5477, "Install"));
168
168
  templateData.installButton.enabled = true;
169
169
  }
170
170
  }));
@@ -251,7 +251,7 @@ let PluginListWidget = class PluginListWidget extends Disposable {
251
251
  this.searchAndButtonContainer = append(this.element, $(".list-search-and-button-container"));
252
252
  const searchContainer = append(this.searchAndButtonContainer, $(".list-search-container"));
253
253
  this.searchInput = this._register(( new InputBox(searchContainer, this.contextViewService, {
254
- placeholder: ( localize(5448, "Type to search...")),
254
+ placeholder: ( localize(5480, "Type to search...")),
255
255
  inputBoxStyles: defaultInputBoxStyles
256
256
  })));
257
257
  this._register(this.searchInput.onDidChange(() => {
@@ -269,7 +269,7 @@ let PluginListWidget = class PluginListWidget extends Disposable {
269
269
  secondary: true,
270
270
  supportIcons: true
271
271
  })));
272
- this.browseButton.label = `$(${Codicon.library.id}) ${( localize(5449, "Browse Marketplace"))}`;
272
+ this.browseButton.label = `$(${Codicon.library.id}) ${( localize(5481, "Browse Marketplace"))}`;
273
273
  this.browseButton.element.classList.add("list-add-button");
274
274
  this._register(this.browseButton.onDidClick(() => {
275
275
  this.toggleBrowseMode(!this.browseMode);
@@ -280,24 +280,40 @@ let PluginListWidget = class PluginListWidget extends Disposable {
280
280
  supportIcons: true
281
281
  })));
282
282
  installFromSourceButton.label = `$(${Codicon.add.id})`;
283
- installFromSourceButton.setTitle(( localize(5450, "Install Plugin from Source")));
283
+ installFromSourceButton.setTitle(( localize(5482, "Install Plugin from Source")));
284
284
  installFromSourceButton.element.classList.add("list-icon-button");
285
285
  this._register(this.hoverService.setupManagedHover(
286
286
  getDefaultHoverDelegate("element"),
287
287
  installFromSourceButton.element,
288
- ( localize(5451, "Install Plugin from Source"))
288
+ ( localize(5483, "Install Plugin from Source"))
289
289
  ));
290
290
  this._register(installFromSourceButton.onDidClick(() => {
291
291
  this.commandService.executeCommand("workbench.action.chat.installPluginFromSource");
292
292
  }));
293
+ const createPluginButton = this._register(( new Button(buttonContainer, {
294
+ ...defaultButtonStyles,
295
+ secondary: true,
296
+ supportIcons: true
297
+ })));
298
+ createPluginButton.label = `$(${Codicon.save.id})`;
299
+ createPluginButton.setTitle(( localize(5484, "Create Plugin")));
300
+ createPluginButton.element.classList.add("list-icon-button");
301
+ this._register(this.hoverService.setupManagedHover(
302
+ getDefaultHoverDelegate("element"),
303
+ createPluginButton.element,
304
+ ( localize(5485, "Create Plugin"))
305
+ ));
306
+ this._register(createPluginButton.onDidClick(() => {
307
+ this.commandService.executeCommand("workbench.action.chat.createPlugin");
308
+ }));
293
309
  this.backLink = append(this.element, $(".mcp-back-link"));
294
310
  this.backLink.setAttribute("role", "button");
295
311
  this.backLink.tabIndex = 0;
296
- this.backLink.setAttribute("aria-label", ( localize(5452, "Back to installed plugins")));
312
+ this.backLink.setAttribute("aria-label", ( localize(5486, "Back to installed plugins")));
297
313
  const backIcon = append(this.backLink, $("span"));
298
314
  backIcon.classList.add(...ThemeIcon.asClassNameArray(Codicon.arrowLeft));
299
315
  const backText = append(this.backLink, $("span"));
300
- backText.textContent = ( localize(5453, "Back to installed plugins"));
316
+ backText.textContent = ( localize(5487, "Back to installed plugins"));
301
317
  this._register(addDisposableListener(this.backLink, "click", () => {
302
318
  this.toggleBrowseMode(false);
303
319
  }));
@@ -318,11 +334,11 @@ let PluginListWidget = class PluginListWidget extends Disposable {
318
334
  this.sectionHeader = append(this.element, $(".section-footer"));
319
335
  this.sectionDescription = append(this.sectionHeader, $("p.section-footer-description"));
320
336
  this.sectionDescription.textContent = ( localize(
321
- 5454,
337
+ 5488,
322
338
  "Extend your AI agent with plugins that add commands, skills, agents, hooks, and MCP servers from reusable packages."
323
339
  ));
324
340
  this.sectionLink = append(this.sectionHeader, $("a.section-footer-link"));
325
- this.sectionLink.textContent = ( localize(5455, "Learn more about agent plugins"));
341
+ this.sectionLink.textContent = ( localize(5489, "Learn more about agent plugins"));
326
342
  this.sectionLink.href = "https://code.visualstudio.com/docs/copilot/customization/agent-plugins";
327
343
  this._register(addDisposableListener(this.sectionLink, "click", e => {
328
344
  e.preventDefault();
@@ -349,11 +365,11 @@ let PluginListWidget = class PluginListWidget extends Disposable {
349
365
  getAriaLabel(element) {
350
366
  if (element.type === "group-header") {
351
367
  return localize(
352
- 5456,
368
+ 5490,
353
369
  "{0}, {1} items, {2}",
354
370
  element.label,
355
371
  element.count,
356
- element.collapsed ? ( localize(5457, "collapsed")) : ( localize(5458, "expanded"))
372
+ element.collapsed ? ( localize(5491, "collapsed")) : ( localize(5492, "expanded"))
357
373
  );
358
374
  }
359
375
  if (element.type === "marketplace-item") {
@@ -362,7 +378,7 @@ let PluginListWidget = class PluginListWidget extends Disposable {
362
378
  return element.item.name;
363
379
  },
364
380
  getWidgetAriaLabel() {
365
- return localize(5459, "Plugins");
381
+ return localize(5493, "Plugins");
366
382
  }
367
383
  },
368
384
  openOnSingleClick: true,
@@ -420,7 +436,7 @@ let PluginListWidget = class PluginListWidget extends Disposable {
420
436
  this.searchQuery = "";
421
437
  this.backLink.style.display = browse ? "" : "none";
422
438
  this.browseButton.element.parentElement.style.display = browse ? "none" : "";
423
- this.searchInput.setPlaceHolder(browse ? ( localize(5460, "Search plugin marketplace...")) : ( localize(5448, "Type to search...")));
439
+ this.searchInput.setPlaceHolder(browse ? ( localize(5494, "Search plugin marketplace...")) : ( localize(5480, "Type to search...")));
424
440
  if (browse) {
425
441
  void this.queryMarketplace();
426
442
  } else {
@@ -437,7 +453,7 @@ let PluginListWidget = class PluginListWidget extends Disposable {
437
453
  const cts = this.marketplaceCts = ( new CancellationTokenSource());
438
454
  this.emptyContainer.style.display = "flex";
439
455
  this.listContainer.style.display = "none";
440
- this.emptyText.textContent = ( localize(5461, "Loading marketplace..."));
456
+ this.emptyText.textContent = ( localize(5495, "Loading marketplace..."));
441
457
  this.emptySubtext.textContent = "";
442
458
  try {
443
459
  const plugins = await this.pluginMarketplaceService.fetchMarketplacePlugins(cts.token);
@@ -459,8 +475,8 @@ let PluginListWidget = class PluginListWidget extends Disposable {
459
475
  this.marketplaceItems = [];
460
476
  this.emptyContainer.style.display = "flex";
461
477
  this.listContainer.style.display = "none";
462
- this.emptyText.textContent = ( localize(5462, "Unable to load marketplace"));
463
- this.emptySubtext.textContent = ( localize(5463, "Check your connection and try again"));
478
+ this.emptyText.textContent = ( localize(5496, "Unable to load marketplace"));
479
+ this.emptySubtext.textContent = ( localize(5497, "Check your connection and try again"));
464
480
  }
465
481
  }
466
482
  }
@@ -469,10 +485,10 @@ let PluginListWidget = class PluginListWidget extends Disposable {
469
485
  this.emptyContainer.style.display = "flex";
470
486
  this.listContainer.style.display = "none";
471
487
  if (this.searchQuery.trim()) {
472
- this.emptyText.textContent = ( localize(5464, "No plugins match '{0}'", this.searchQuery));
473
- this.emptySubtext.textContent = ( localize(5465, "Try a different search term"));
488
+ this.emptyText.textContent = ( localize(5498, "No plugins match '{0}'", this.searchQuery));
489
+ this.emptySubtext.textContent = ( localize(5499, "Try a different search term"));
474
490
  } else {
475
- this.emptyText.textContent = ( localize(5466, "No plugins available"));
491
+ this.emptyText.textContent = ( localize(5500, "No plugins available"));
476
492
  this.emptySubtext.textContent = "";
477
493
  }
478
494
  } else {
@@ -495,11 +511,11 @@ let PluginListWidget = class PluginListWidget extends Disposable {
495
511
  this.emptyContainer.style.display = "flex";
496
512
  this.listContainer.style.display = "none";
497
513
  if (this.searchQuery.trim()) {
498
- this.emptyText.textContent = ( localize(5467, "No plugins match '{0}'", this.searchQuery));
499
- this.emptySubtext.textContent = ( localize(5465, "Try a different search term"));
514
+ this.emptyText.textContent = ( localize(5501, "No plugins match '{0}'", this.searchQuery));
515
+ this.emptySubtext.textContent = ( localize(5499, "Try a different search term"));
500
516
  } else {
501
- this.emptyText.textContent = ( localize(5468, "No plugins installed"));
502
- this.emptySubtext.textContent = ( localize(5469, "Browse the marketplace to discover and install plugins"));
517
+ this.emptyText.textContent = ( localize(5502, "No plugins installed"));
518
+ this.emptySubtext.textContent = ( localize(5503, "Browse the marketplace to discover and install plugins"));
503
519
  }
504
520
  } else {
505
521
  this.emptyContainer.style.display = "none";
@@ -515,12 +531,12 @@ let PluginListWidget = class PluginListWidget extends Disposable {
515
531
  type: "group-header",
516
532
  id: "plugin-group-enabled",
517
533
  group: "enabled",
518
- label: ( localize(5470, "Enabled")),
534
+ label: ( localize(5504, "Enabled")),
519
535
  icon: pluginIcon,
520
536
  count: enabledPlugins.length,
521
537
  isFirst,
522
538
  description: ( localize(
523
- 5471,
539
+ 5505,
524
540
  "Plugins that are currently active and providing commands, skills, agents, and other capabilities."
525
541
  )),
526
542
  collapsed
@@ -541,12 +557,12 @@ let PluginListWidget = class PluginListWidget extends Disposable {
541
557
  type: "group-header",
542
558
  id: "plugin-group-disabled",
543
559
  group: "disabled",
544
- label: ( localize(5472, "Disabled")),
560
+ label: ( localize(5506, "Disabled")),
545
561
  icon: pluginIcon,
546
562
  count: disabledPlugins.length,
547
563
  isFirst,
548
564
  description: ( localize(
549
- 5473,
565
+ 5507,
550
566
  "Plugins that are installed but currently disabled. Enable them to use their capabilities."
551
567
  )),
552
568
  collapsed
@@ -581,29 +597,26 @@ let PluginListWidget = class PluginListWidget extends Disposable {
581
597
  layout(height, width) {
582
598
  this.lastHeight = height;
583
599
  this.lastWidth = width;
584
- const sectionFooterHeight = this.sectionHeader.offsetHeight || 0;
585
- const searchBarHeight = this.searchAndButtonContainer.offsetHeight || 52;
586
- const backLinkHeight = this.browseMode ? (this.backLink.offsetHeight || 28) : 0;
587
- const listHeight = height - sectionFooterHeight - searchBarHeight - backLinkHeight;
588
- this.listContainer.style.height = `${Math.max(0, listHeight)}px`;
589
- this.list.layout(Math.max(0, listHeight), width);
590
- if (sectionFooterHeight === 0) {
591
- getWindow(this.listContainer).requestAnimationFrame(() => {
592
- if (this._store.isDisposed) {
593
- return;
594
- }
595
- const actualFooterHeight = this.sectionHeader.offsetHeight;
596
- if (actualFooterHeight > 0) {
597
- const correctedHeight = height - actualFooterHeight - searchBarHeight - backLinkHeight;
598
- this.listContainer.style.height = `${Math.max(0, correctedHeight)}px`;
599
- this.list.layout(Math.max(0, correctedHeight), width);
600
- }
601
- });
600
+ this.element.style.height = `${height}px`;
601
+ const searchBarHeight = this.searchAndButtonContainer.offsetHeight;
602
+ if (searchBarHeight === 0) {
603
+ getWindow(this.element).requestAnimationFrame(() => this.layout(this.lastHeight, this.lastWidth));
604
+ return;
602
605
  }
606
+ const footerHeight = this.sectionHeader.offsetHeight;
607
+ const backLinkHeight = this.browseMode ? this.backLink.offsetHeight : 0;
608
+ const listHeight = Math.max(0, height - searchBarHeight - footerHeight - backLinkHeight);
609
+ this.listContainer.style.height = `${listHeight}px`;
610
+ this.list.layout(listHeight, width);
603
611
  }
604
612
  focusSearch() {
605
613
  this.searchInput.focus();
606
614
  }
615
+ revealLastItem() {
616
+ if (this.list.length > 0) {
617
+ this.list.reveal(this.list.length - 1);
618
+ }
619
+ }
607
620
  focus() {
608
621
  this.list.domFocus();
609
622
  if (this.list.length > 0) {
@@ -106,7 +106,7 @@ let ChatAttachmentResolveService = class ChatAttachmentResolveService {
106
106
  }
107
107
  const readFile = await this.fileService.readFile(resource);
108
108
  if (stat.size > 30 * 1024 * 1024) {
109
- this.dialogService.error(( localize(5474, "Image is too large")), ( localize(5475, "The image {0} is too large to be attached.", fileName)));
109
+ this.dialogService.error(( localize(5508, "Image is too large")), ( localize(5509, "The image {0} is too large to be attached.", fileName)));
110
110
  throw ( new Error("Image is too large"));
111
111
  }
112
112
  dataBuffer = readFile.value;
@@ -86,29 +86,29 @@ let SimpleBrowserOverlayWidget = class SimpleBrowserOverlayWidget {
86
86
  const mainContent = createElement("div");
87
87
  mainContent.className = "element-selection-main-content";
88
88
  const message = createElement("span");
89
- const startSelectionMessage = ( localize(5528, "Add element to chat"));
89
+ const startSelectionMessage = ( localize(5564, "Add element to chat"));
90
90
  message.textContent = startSelectionMessage;
91
91
  mainContent.appendChild(message);
92
92
  let cts;
93
93
  const actions = [];
94
94
  actions.push(toAction({
95
95
  id: "singleSelection",
96
- label: ( localize(5529, "Select an Element")),
96
+ label: ( localize(5565, "Select an Element")),
97
97
  enabled: true,
98
98
  run: async () => {
99
99
  await startElementSelection();
100
100
  }
101
101
  }), toAction({
102
102
  id: "continuousSelection",
103
- label: ( localize(5530, "Continuous Selection")),
103
+ label: ( localize(5566, "Continuous Selection")),
104
104
  enabled: true,
105
105
  run: async () => {
106
106
  this._editor.focus();
107
107
  cts = ( new CancellationTokenSource());
108
- message.textContent = ( localize(5531, "Selecting element..."));
108
+ message.textContent = ( localize(5567, "Selecting element..."));
109
109
  this.hideElement(startButton.element);
110
110
  this.showElement(cancelButton.element);
111
- cancelButton.label = ( localize(5532, "Done"));
111
+ cancelButton.label = ( localize(5568, "Done"));
112
112
  while (!cts.token.isCancellationRequested) {
113
113
  try {
114
114
  await this.addElementToChat(cts);
@@ -118,7 +118,7 @@ let SimpleBrowserOverlayWidget = class SimpleBrowserOverlayWidget {
118
118
  break;
119
119
  }
120
120
  }
121
- message.textContent = ( localize(5533, "Element added to chat"));
121
+ message.textContent = ( localize(5569, "Element added to chat"));
122
122
  finishedSelecting();
123
123
  }
124
124
  }));
@@ -127,33 +127,33 @@ let SimpleBrowserOverlayWidget = class SimpleBrowserOverlayWidget {
127
127
  addPrimaryActionToDropdown: false,
128
128
  contextMenuProvider: this.contextMenuService,
129
129
  supportShortLabel: true,
130
- title: ( localize(5534, "Click to select an element.")),
130
+ title: ( localize(5570, "Click to select an element.")),
131
131
  supportIcons: true,
132
132
  ...defaultButtonStyles
133
133
  })));
134
- startButton.primaryButton.label = ( localize(5535, "Start"));
134
+ startButton.primaryButton.label = ( localize(5571, "Start"));
135
135
  startButton.element.classList.add("element-selection-start");
136
136
  const cancelButton = this._showStore.add(( new Button(mainContent, {
137
137
  ...defaultButtonStyles,
138
138
  supportIcons: true,
139
- title: ( localize(5536, "Click to cancel selection."))
139
+ title: ( localize(5572, "Click to cancel selection."))
140
140
  })));
141
141
  cancelButton.element.className = "element-selection-cancel hidden";
142
- const cancelButtonLabel = ( localize(5537, "Cancel"));
142
+ const cancelButtonLabel = ( localize(5573, "Cancel"));
143
143
  cancelButton.label = cancelButtonLabel;
144
144
  const configure = this._showStore.add(( new Button(mainContent, {
145
145
  supportIcons: true,
146
- title: ( localize(5538, "Configure Attachments Sent"))
146
+ title: ( localize(5574, "Configure Attachments Sent"))
147
147
  })));
148
148
  configure.icon = Codicon.gear;
149
149
  const collapseOverlay = this._showStore.add(( new Button(mainContent, {
150
150
  supportIcons: true,
151
- title: ( localize(5539, "Collapse Overlay"))
151
+ title: ( localize(5575, "Collapse Overlay"))
152
152
  })));
153
153
  collapseOverlay.icon = Codicon.chevronRight;
154
154
  const nextSelection = this._showStore.add(( new Button(mainContent, {
155
155
  supportIcons: true,
156
- title: ( localize(5540, "Select Again"))
156
+ title: ( localize(5576, "Select Again"))
157
157
  })));
158
158
  nextSelection.icon = Codicon.close;
159
159
  nextSelection.element.classList.add("hidden");
@@ -161,7 +161,7 @@ let SimpleBrowserOverlayWidget = class SimpleBrowserOverlayWidget {
161
161
  expandContainer.className = "element-expand-container hidden";
162
162
  const expandOverlay = this._showStore.add(( new Button(expandContainer, {
163
163
  supportIcons: true,
164
- title: ( localize(5541, "Expand Overlay"))
164
+ title: ( localize(5577, "Expand Overlay"))
165
165
  })));
166
166
  expandOverlay.icon = Codicon.layout;
167
167
  this._domNode.appendChild(mainContent);
@@ -184,11 +184,11 @@ let SimpleBrowserOverlayWidget = class SimpleBrowserOverlayWidget {
184
184
  const startElementSelection = async () => {
185
185
  cts = ( new CancellationTokenSource());
186
186
  this._editor.focus();
187
- message.textContent = ( localize(5531, "Selecting element..."));
187
+ message.textContent = ( localize(5567, "Selecting element..."));
188
188
  this.hideElement(startButton.element);
189
189
  this.showElement(cancelButton.element);
190
190
  await this.addElementToChat(cts);
191
- message.textContent = ( localize(5533, "Element added to chat"));
191
+ message.textContent = ( localize(5569, "Element added to chat"));
192
192
  finishedSelecting();
193
193
  };
194
194
  this._showStore.add(
@@ -198,7 +198,7 @@ let SimpleBrowserOverlayWidget = class SimpleBrowserOverlayWidget {
198
198
  );
199
199
  this._showStore.add(addDisposableListener(cancelButton.element, "click", () => {
200
200
  cts.cancel();
201
- message.textContent = ( localize(5542, "Selection canceled"));
201
+ message.textContent = ( localize(5578, "Selection canceled"));
202
202
  finishedSelecting();
203
203
  }));
204
204
  this._showStore.add(addDisposableListener(collapseOverlay.element, "click", () => {
@@ -338,7 +338,7 @@ let SimpleBrowserOverlayController = class SimpleBrowserOverlayController {
338
338
  let cts = ( new CancellationTokenSource());
339
339
  const show = async (locator, browserType) => {
340
340
  widget.setActiveLocator(locator, browserType);
341
- connectingWebviewElement.textContent = ( localize(5543, "Connecting to webview..."));
341
+ connectingWebviewElement.textContent = ( localize(5579, "Connecting to webview..."));
342
342
  if (!container.contains(connectingWebviewElement)) {
343
343
  container.appendChild(connectingWebviewElement);
344
344
  }
@@ -347,7 +347,7 @@ let SimpleBrowserOverlayController = class SimpleBrowserOverlayController {
347
347
  try {
348
348
  await this._browserElementsService.startDebugSession(cts.token, locator);
349
349
  } catch (error) {
350
- connectingWebviewElement.textContent = ( localize(5544, "Please reopen the preview."));
350
+ connectingWebviewElement.textContent = ( localize(5580, "Please reopen the preview."));
351
351
  return;
352
352
  }
353
353
  if (cts.token.isCancellationRequested) {