@codingame/monaco-vscode-chat-service-override 25.1.2 → 26.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 (334) hide show
  1. package/index.js +24 -3
  2. package/package.json +5 -5
  3. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +23 -3
  4. package/vscode/src/vs/platform/browserElements/common/browserElements.js +13 -6
  5. package/vscode/src/vs/platform/domWidget/browser/domWidget.js +4 -4
  6. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.d.ts +1 -1
  7. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatAccessibilityService.js +42 -27
  8. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.d.ts +14 -0
  9. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatResponseAccessibleView.js +218 -74
  10. package/vscode/src/vs/workbench/contrib/chat/browser/accessibility/chatTerminalOutputAccessibleView.js +6 -8
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityActions.js +14 -9
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +165 -168
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAgentRecommendationActions.js +27 -25
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +141 -140
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +189 -121
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +14 -15
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.d.ts +60 -0
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCustomizationDiagnosticsAction.js +435 -0
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +28 -12
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +10 -12
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.d.ts +3 -1
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +37 -16
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.d.ts +11 -0
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +54 -24
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatLanguageModelActions.js +73 -34
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +71 -30
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatNewActions.js +151 -89
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatPromptNavigationActions.js +12 -15
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +39 -40
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +90 -125
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +5 -2
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +263 -143
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatTransfer.js +4 -4
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +188 -126
  35. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.d.ts +1 -1
  36. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessions.contribution.js +37 -28
  37. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.d.ts +21 -9
  38. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsActions.js +392 -226
  39. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsPicker.js +31 -27
  40. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsQuickAccess.js +25 -23
  41. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsService.js +1 -3
  42. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.d.ts +2 -0
  43. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjection.js +13 -0
  44. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.d.ts +20 -0
  45. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionActions.js +83 -0
  46. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.d.ts +68 -0
  47. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionProjectionService.js +319 -0
  48. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.d.ts +1 -0
  49. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentSessionsExperiments.contribution.js +215 -0
  50. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.d.ts +179 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/agentTitleBarStatusWidget.js +951 -0
  52. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agentsessionprojection.css +20 -0
  53. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/agenttitlebarstatuswidget.css +388 -0
  54. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/media/unifiedQuickAccess.css +195 -0
  55. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.d.ts +120 -0
  56. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccess.js +394 -0
  57. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.d.ts +38 -0
  58. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/experiments/unifiedQuickAccessActions.js +95 -0
  59. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.d.ts +3 -1
  60. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/localAgentSessionsProvider.js +31 -29
  61. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatAttachmentResolveService.js +49 -47
  62. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/chatVariables.js +4 -6
  63. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/media/simpleBrowserOverlay.css +0 -1
  64. package/vscode/src/vs/workbench/contrib/chat/browser/attachments/simpleBrowserEditorOverlay.js +188 -151
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +1012 -639
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCheckpointTimelineImpl.js +256 -151
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.d.ts +8 -1
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +182 -101
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.d.ts +79 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingDeletedFileEntry.js +193 -0
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +9 -7
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.d.ts +68 -0
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingExplanationModelManager.js +253 -0
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +4 -5
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +69 -50
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +3 -4
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +52 -33
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.d.ts +5 -6
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +274 -155
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingOperations.js +1 -1
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.d.ts +2 -10
  82. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +130 -104
  83. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +12 -2
  84. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +385 -160
  85. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +53 -36
  86. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelChangeService.js +112 -75
  87. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingTextModelContentProviders.js +19 -10
  88. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditorController.css +31 -11
  89. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingModifiedNotebookSnapshot.js +39 -17
  90. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNewNotebookContentEdits.js +10 -14
  91. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.d.ts +0 -2
  92. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +25 -16
  93. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.d.ts +1 -1
  94. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +265 -203
  95. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookFileSystemProvider.js +29 -26
  96. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/helpers.js +114 -60
  97. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/notebookCellChanges.js +16 -19
  98. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +44 -30
  99. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagement.contribution.js +119 -45
  100. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.d.ts +1 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditor.js +152 -136
  102. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatManagementEditorInput.js +12 -8
  103. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.d.ts +51 -31
  104. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsViewModel.js +323 -217
  105. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.d.ts +4 -3
  106. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatModelsWidget.js +653 -401
  107. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/chatUsageWidget.js +52 -40
  108. package/vscode/src/vs/workbench/contrib/chat/browser/chatManagement/media/chatModelsWidget.css +22 -3
  109. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.d.ts +5 -2
  110. package/vscode/src/vs/workbench/contrib/chat/browser/chatOutputItemRenderer.js +43 -28
  111. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +182 -136
  112. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.d.ts +33 -0
  113. package/vscode/src/vs/workbench/contrib/chat/browser/chatRepoInfo.js +548 -0
  114. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.d.ts +0 -1
  115. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupContributions.js +222 -138
  116. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.d.ts +3 -3
  117. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupController.js +151 -113
  118. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.d.ts +6 -4
  119. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupProviders.js +453 -217
  120. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.d.ts +1 -1
  121. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/chatSetupRunner.js +162 -88
  122. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup/media/chatSetup.css +2 -1
  123. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.d.ts +0 -2
  124. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatus.js +1 -13
  125. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.d.ts +1 -0
  126. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusDashboard.js +309 -233
  127. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusEntry.js +55 -53
  128. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.js +3 -1
  129. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.d.ts +37 -0
  130. package/vscode/src/vs/workbench/contrib/chat/browser/chatTipService.js +109 -0
  131. package/vscode/src/vs/workbench/contrib/chat/browser/chatWindowNotifier.js +35 -23
  132. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.d.ts +9 -4
  133. package/vscode/src/vs/workbench/contrib/chat/browser/contextContrib/chatContextService.js +73 -33
  134. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.d.ts +47 -0
  135. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelsConfigurationService.js +333 -0
  136. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/chatModeActions.js +39 -25
  137. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionContribution.js +9 -5
  138. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptCodingAgentActionOverlay.js +23 -20
  139. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptFileActions.js +2 -0
  140. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +20 -16
  141. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptUrlHandler.js +65 -57
  142. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/runPromptAction.js +48 -36
  143. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/saveAsPromptFileActions.js +20 -12
  144. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.d.ts +4 -0
  145. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/skillActions.js +52 -0
  146. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsConfirmationService.js +155 -159
  147. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.d.ts +24 -14
  148. package/vscode/src/vs/workbench/contrib/chat/browser/tools/languageModelToolsService.js +521 -246
  149. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +107 -76
  150. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +28 -24
  151. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/chatMarkdownAnchorService.js +10 -6
  152. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.d.ts +16 -0
  153. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatContentParts/toolInvocationParts/chatToolOutputStateCache.js +57 -0
  154. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatLayoutService.js +4 -6
  155. package/vscode/src/vs/workbench/contrib/chat/browser/widget/chatWidgetService.js +56 -44
  156. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.d.ts +0 -3
  157. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/chatStatusWidget.js +37 -47
  158. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatEditorInputContentProvider.js +5 -7
  159. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.d.ts +10 -0
  160. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputCompletions.js +1284 -0
  161. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorContrib.js +179 -125
  162. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/chatInputEditorHover.js +9 -11
  163. package/vscode/src/vs/workbench/contrib/chat/browser/widget/input/editor/editorHoverWrapper.js +7 -6
  164. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/chatQuick.js +96 -78
  165. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/editor/chatEditor.js +58 -53
  166. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.d.ts +25 -11
  167. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewPane.js +484 -292
  168. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.d.ts +1 -6
  169. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/chatViewTitleControl.js +65 -92
  170. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewPane.css +16 -19
  171. package/vscode/src/vs/workbench/contrib/chat/browser/widgetHosts/viewPane/media/chatViewTitleControl.css +1 -0
  172. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.d.ts +9 -1
  173. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceImpl.js +331 -189
  174. package/vscode/src/vs/workbench/contrib/chat/common/chatService/chatServiceTelemetry.js +81 -93
  175. package/vscode/src/vs/workbench/contrib/chat/common/ignoredFiles.js +1 -3
  176. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.d.ts +5 -3
  177. package/vscode/src/vs/workbench/contrib/chat/common/model/chatModelStore.js +6 -7
  178. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.d.ts +36 -8
  179. package/vscode/src/vs/workbench/contrib/chat/common/model/chatProgressTypes/chatToolInvocation.js +169 -31
  180. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.d.ts +6 -0
  181. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionOperationLog.js +141 -0
  182. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.d.ts +6 -4
  183. package/vscode/src/vs/workbench/contrib/chat/common/model/chatSessionStore.js +218 -144
  184. package/vscode/src/vs/workbench/contrib/chat/common/model/chatTransferService.js +20 -10
  185. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.d.ts +109 -0
  186. package/vscode/src/vs/workbench/contrib/chat/common/model/objectMutationLog.js +349 -0
  187. package/vscode/src/vs/workbench/contrib/chat/common/participants/chatSlashCommands.js +9 -8
  188. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.d.ts +9 -0
  189. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/chatPromptFilesContribution.js +139 -36
  190. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/PromptHeaderDefinitionProvider.js +3 -6
  191. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptBodyAutocompletion.js +64 -51
  192. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptCodeActions.js +49 -34
  193. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptDocumentSemanticTokensProvider.js +21 -13
  194. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.d.ts +1 -1
  195. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHeaderAutocompletion.js +125 -97
  196. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptHovers.js +91 -131
  197. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptLinkProvider.js +8 -5
  198. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.d.ts +5 -0
  199. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/languageProviders/promptValidator.js +488 -222
  200. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/promptFileContributions.js +32 -12
  201. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.d.ts +58 -13
  202. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsServiceImpl.js +717 -200
  203. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +79 -18
  204. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +371 -130
  205. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.d.ts +0 -1
  206. package/vscode/src/vs/workbench/contrib/chat/common/tools/chatTodoListService.js +3 -7
  207. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +79 -61
  208. package/vscode/src/vs/workbench/contrib/chat/common/widget/chatResponseResourceFileSystemProvider.js +27 -21
  209. package/vscode/src/vs/workbench/contrib/editTelemetry/browser/telemetry/aiEditTelemetry/aiEditTelemetryServiceImpl.js +7 -10
  210. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.d.ts +1 -1
  211. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +26 -32
  212. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibilityHelp.js +2 -2
  213. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.d.ts +8 -60
  214. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatActions.js +115 -426
  215. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.d.ts +15 -0
  216. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatDefaultModel.js +127 -0
  217. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +1 -37
  218. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.d.ts +16 -0
  219. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionService.js +21 -0
  220. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.d.ts +51 -0
  221. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatSessionServiceImpl.js +334 -0
  222. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.d.ts +41 -0
  223. package/vscode/src/vs/workbench/contrib/mcp/browser/mcpPromptArgumentPick.js +424 -0
  224. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.d.ts +4 -0
  225. package/vscode/src/vs/workbench/contrib/notebook/browser/contrib/chat/notebookChatUtils.js +58 -0
  226. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.d.ts +7 -0
  227. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/cellChatActions.js +195 -0
  228. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.d.ts +8 -0
  229. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebook.chat.contribution.js +368 -0
  230. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.d.ts +2 -0
  231. package/vscode/src/vs/workbench/contrib/notebook/browser/controller/chat/notebookChatContext.js +7 -0
  232. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  233. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +1 -1
  234. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/browser/remoteCodingAgents.contribution.js +23 -25
  235. package/vscode/src/vs/workbench/contrib/remoteCodingAgents/common/remoteCodingAgentsService.js +7 -8
  236. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibilityHelp.js +34 -38
  237. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatAccessibleView.js +8 -12
  238. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatActions.js +103 -95
  239. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatController.js +28 -16
  240. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatEnabler.js +4 -5
  241. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.d.ts +12 -8
  242. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatService.js +65 -54
  243. package/vscode/src/vs/workbench/contrib/terminalContrib/chat/browser/terminalChatWidget.js +86 -60
  244. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/alternativeRecommendation.js +13 -26
  245. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/commandFileWriteParser.d.ts +24 -0
  246. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.d.ts +26 -0
  247. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/commandParsers/sedFileWriteParser.js +142 -0
  248. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.d.ts +2 -1
  249. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/basicExecuteStrategy.js +56 -46
  250. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.d.ts +2 -2
  251. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/executeStrategy.js +63 -31
  252. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.d.ts +2 -1
  253. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/noneExecuteStrategy.js +35 -30
  254. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.d.ts +2 -1
  255. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/richExecuteStrategy.js +44 -37
  256. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/executeStrategy/strategyHelpers.js +3 -4
  257. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/outputHelpers.js +3 -3
  258. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.d.ts +11 -0
  259. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalHelpers.js +70 -50
  260. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/runInTerminalToolTelemetry.js +26 -394
  261. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/taskHelpers.js +85 -49
  262. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/terminal.chatAgentTools.contribution.js +68 -27
  263. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.d.ts +1 -0
  264. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/toolTerminalCreator.js +67 -45
  265. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.d.ts +12 -0
  266. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/awaitTerminalTool.js +106 -0
  267. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.d.ts +2 -2
  268. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/commandLineAutoApprover.js +177 -97
  269. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/autoApprove/npmScriptAutoApprover.js +136 -49
  270. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAnalyzer.d.ts +2 -1
  271. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineAutoApproveAnalyzer.js +128 -112
  272. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineFileWriteAnalyzer.js +51 -49
  273. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.d.ts +8 -0
  274. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineAnalyzer/commandLineSandboxAnalyzer.js +25 -0
  275. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/commandLinePresenter.d.ts +41 -0
  276. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.d.ts +19 -0
  277. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/nodeCommandLinePresenter.js +37 -0
  278. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.d.ts +19 -0
  279. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/pythonCommandLinePresenter.js +37 -0
  280. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.d.ts +19 -0
  281. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/rubyCommandLinePresenter.js +44 -0
  282. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.d.ts +12 -0
  283. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLinePresenter/sandboxedCommandLinePresenter.js +21 -0
  284. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineCdPrefixRewriter.js +5 -14
  285. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLinePreventHistoryRewriter.js +2 -4
  286. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineRewriter.d.ts +1 -0
  287. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.d.ts +8 -0
  288. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/commandLineRewriter/commandLineSandboxRewriter.js +29 -0
  289. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalLastCommandTool.js +30 -31
  290. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalOutputTool.js +16 -17
  291. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/getTerminalSelectionTool.js +19 -20
  292. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.d.ts +11 -0
  293. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/killTerminalTool.js +58 -0
  294. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.d.ts +31 -3
  295. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/outputMonitor.js +325 -199
  296. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.d.ts +1 -1
  297. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/monitoring/types.js +1 -1
  298. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalConfirmationTool.js +33 -38
  299. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.d.ts +45 -5
  300. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/runInTerminalTool.js +746 -456
  301. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/createAndRunTaskTool.js +145 -98
  302. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/getTaskOutputTool.js +88 -37
  303. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/runTaskTool.js +120 -51
  304. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/task/taskHelpers.js +25 -28
  305. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.d.ts +5 -0
  306. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/terminalCommandArtifactCollector.js +58 -12
  307. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.d.ts +12 -0
  308. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/tools/toolIds.js +17 -0
  309. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.d.ts +8 -1
  310. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/browser/treeSitterCommandParser.js +47 -28
  311. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.d.ts +37 -0
  312. package/vscode/src/vs/workbench/contrib/terminalContrib/chatAgentTools/common/terminalSandboxService.js +171 -0
  313. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.d.ts +0 -58
  314. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsControl.js +0 -213
  315. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.d.ts +0 -39
  316. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsFilter.js +0 -243
  317. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.d.ts +0 -7
  318. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsOpener.js +0 -41
  319. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.d.ts +0 -166
  320. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/agentSessionsViewer.js +0 -607
  321. package/vscode/src/vs/workbench/contrib/chat/browser/agentSessions/media/agentsessionsviewer.css +0 -255
  322. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.d.ts +0 -46
  323. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +0 -396
  324. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.d.ts +0 -9
  325. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +0 -379
  326. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/media/chatEditingEditorOverlay.css +0 -117
  327. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.d.ts +0 -141
  328. package/vscode/src/vs/workbench/contrib/chat/browser/chatSessions/chatSessions.contribution.js +0 -961
  329. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +0 -36
  330. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +0 -447
  331. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.d.ts +0 -6
  332. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsParametersSchema.js +0 -251
  333. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.d.ts +0 -10
  334. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +0 -42
@@ -13,8 +13,7 @@ import { EditorGroupView } from '@codingame/monaco-vscode-api/vscode/vs/workbenc
13
13
  import { Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
14
14
  import { ServiceCollection } from '@codingame/monaco-vscode-api/vscode/vs/platform/instantiation/common/serviceCollection';
15
15
  import { IContextKeyService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service';
16
- import { EditorResourceAccessor, SideBySideEditor } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor';
17
- import { joinPath, isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
16
+ import { joinPath } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
18
17
  import { CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
19
18
  import { IHostService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/host/browser/host.service';
20
19
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
@@ -30,7 +29,8 @@ import { IPreferencesService } from '@codingame/monaco-vscode-api/vscode/vs/work
30
29
  import { IBrowserElementsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/browserElements/browser/browserElementsService.service';
31
30
  import { IContextMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
32
31
  import { toAction } from '@codingame/monaco-vscode-api/vscode/vs/base/common/actions';
33
- import { BrowserType } from '../../../../../platform/browserElements/common/browserElements.js';
32
+ import { getDisplayNameFromOuterHTML } from '../../../../../platform/browserElements/common/browserElements.js';
33
+ import { ITelemetryService } from '@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service';
34
34
  import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
35
35
  import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
36
36
  import { observableSignalFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableSignalFromEvent';
@@ -38,7 +38,20 @@ import { derivedOpts } from '@codingame/monaco-vscode-api/vscode/vs/base/common/
38
38
 
39
39
  registerCss(simpleBrowserOverlay);
40
40
  let SimpleBrowserOverlayWidget = class SimpleBrowserOverlayWidget {
41
- constructor(_editor, _container, _hostService, _chatWidgetService, fileService, environmentService, logService, configurationService, _preferencesService, _browserElementsService, contextMenuService) {
41
+ constructor(
42
+ _editor,
43
+ _container,
44
+ _hostService,
45
+ _chatWidgetService,
46
+ fileService,
47
+ environmentService,
48
+ logService,
49
+ configurationService,
50
+ _preferencesService,
51
+ _browserElementsService,
52
+ contextMenuService,
53
+ telemetryService
54
+ ) {
42
55
  this._editor = _editor;
43
56
  this._container = _container;
44
57
  this._hostService = _hostService;
@@ -50,58 +63,60 @@ let SimpleBrowserOverlayWidget = class SimpleBrowserOverlayWidget {
50
63
  this._preferencesService = _preferencesService;
51
64
  this._browserElementsService = _browserElementsService;
52
65
  this.contextMenuService = contextMenuService;
66
+ this.telemetryService = telemetryService;
53
67
  this._showStore = ( new DisposableStore());
54
68
  this._timeout = undefined;
55
- this._activeBrowserType = undefined;
69
+ this._activeLocator = undefined;
70
+ this._browserType = undefined;
56
71
  this._showStore.add(this.configurationService.onDidChangeConfiguration(e => {
57
- if (e.affectsConfiguration('chat.sendElementsToChat.enabled')) {
58
- if (this.configurationService.getValue('chat.sendElementsToChat.enabled')) {
72
+ if (e.affectsConfiguration("chat.sendElementsToChat.enabled")) {
73
+ if (this.configurationService.getValue("chat.sendElementsToChat.enabled")) {
59
74
  this.showElement(this._domNode);
60
- }
61
- else {
75
+ } else {
62
76
  this.hideElement(this._domNode);
63
77
  }
64
78
  }
65
79
  }));
66
- this.imagesFolder = joinPath(this.environmentService.workspaceStorageHome, 'vscode-chat-images');
80
+ this.imagesFolder = joinPath(this.environmentService.workspaceStorageHome, "vscode-chat-images");
67
81
  cleanupOldImages(this.fileService, this.logService, this.imagesFolder);
68
- this._domNode = createElement('div');
69
- this._domNode.className = 'element-selection-message';
70
- const mainContent = createElement('div');
71
- mainContent.className = 'element-selection-main-content';
72
- const message = createElement('span');
73
- const startSelectionMessage = ( localize(4976, 'Add element to chat'));
82
+ this._domNode = createElement("div");
83
+ this._domNode.className = "element-selection-message";
84
+ const mainContent = createElement("div");
85
+ mainContent.className = "element-selection-main-content";
86
+ const message = createElement("span");
87
+ const startSelectionMessage = ( localize(5105, "Add element to chat"));
74
88
  message.textContent = startSelectionMessage;
75
89
  mainContent.appendChild(message);
76
90
  let cts;
77
91
  const actions = [];
78
92
  actions.push(toAction({
79
- id: 'singleSelection',
80
- label: ( localize(4977, 'Select an Element')),
93
+ id: "singleSelection",
94
+ label: ( localize(5106, "Select an Element")),
81
95
  enabled: true,
82
- run: async () => { await startElementSelection(); }
96
+ run: async () => {
97
+ await startElementSelection();
98
+ }
83
99
  }), toAction({
84
- id: 'continuousSelection',
85
- label: ( localize(4978, 'Continuous Selection')),
100
+ id: "continuousSelection",
101
+ label: ( localize(5107, "Continuous Selection")),
86
102
  enabled: true,
87
103
  run: async () => {
88
104
  this._editor.focus();
89
105
  cts = ( new CancellationTokenSource());
90
- message.textContent = ( localize(4979, 'Selecting element...'));
106
+ message.textContent = ( localize(5108, "Selecting element..."));
91
107
  this.hideElement(startButton.element);
92
108
  this.showElement(cancelButton.element);
93
- cancelButton.label = ( localize(4980, 'Done'));
109
+ cancelButton.label = ( localize(5109, "Done"));
94
110
  while (!cts.token.isCancellationRequested) {
95
111
  try {
96
112
  await this.addElementToChat(cts);
97
- }
98
- catch (err) {
99
- this.logService.error('Failed to select this element.', err);
113
+ } catch (err) {
114
+ this.logService.error("Failed to select this element.", err);
100
115
  cts.cancel();
101
116
  break;
102
117
  }
103
118
  }
104
- message.textContent = ( localize(4981, 'Element added to chat'));
119
+ message.textContent = ( localize(5110, "Element added to chat"));
105
120
  finishedSelecting();
106
121
  }
107
122
  }));
@@ -110,29 +125,42 @@ let SimpleBrowserOverlayWidget = class SimpleBrowserOverlayWidget {
110
125
  addPrimaryActionToDropdown: false,
111
126
  contextMenuProvider: this.contextMenuService,
112
127
  supportShortLabel: true,
113
- title: ( localize(4982, 'Click to select an element.')),
128
+ title: ( localize(5111, "Click to select an element.")),
114
129
  supportIcons: true,
115
130
  ...defaultButtonStyles
116
131
  })));
117
- startButton.primaryButton.label = ( localize(4983, 'Start'));
118
- startButton.element.classList.add('element-selection-start');
119
- const cancelButton = this._showStore.add(( new Button(
120
- mainContent,
121
- { ...defaultButtonStyles, supportIcons: true, title: ( localize(4984, 'Click to cancel selection.')) }
122
- )));
123
- cancelButton.element.className = 'element-selection-cancel hidden';
124
- const cancelButtonLabel = ( localize(4985, 'Cancel'));
132
+ startButton.primaryButton.label = ( localize(5112, "Start"));
133
+ startButton.element.classList.add("element-selection-start");
134
+ const cancelButton = this._showStore.add(( new Button(mainContent, {
135
+ ...defaultButtonStyles,
136
+ supportIcons: true,
137
+ title: ( localize(5113, "Click to cancel selection."))
138
+ })));
139
+ cancelButton.element.className = "element-selection-cancel hidden";
140
+ const cancelButtonLabel = ( localize(5114, "Cancel"));
125
141
  cancelButton.label = cancelButtonLabel;
126
- const configure = this._showStore.add(( new Button(mainContent, { supportIcons: true, title: ( localize(4986, "Configure Attachments Sent")) })));
142
+ const configure = this._showStore.add(( new Button(mainContent, {
143
+ supportIcons: true,
144
+ title: ( localize(5115, "Configure Attachments Sent"))
145
+ })));
127
146
  configure.icon = Codicon.gear;
128
- const collapseOverlay = this._showStore.add(( new Button(mainContent, { supportIcons: true, title: ( localize(4987, "Collapse Overlay")) })));
147
+ const collapseOverlay = this._showStore.add(( new Button(mainContent, {
148
+ supportIcons: true,
149
+ title: ( localize(5116, "Collapse Overlay"))
150
+ })));
129
151
  collapseOverlay.icon = Codicon.chevronRight;
130
- const nextSelection = this._showStore.add(( new Button(mainContent, { supportIcons: true, title: ( localize(4988, "Select Again")) })));
152
+ const nextSelection = this._showStore.add(( new Button(mainContent, {
153
+ supportIcons: true,
154
+ title: ( localize(5117, "Select Again"))
155
+ })));
131
156
  nextSelection.icon = Codicon.close;
132
- nextSelection.element.classList.add('hidden');
133
- const expandContainer = createElement('div');
134
- expandContainer.className = 'element-expand-container hidden';
135
- const expandOverlay = this._showStore.add(( new Button(expandContainer, { supportIcons: true, title: ( localize(4989, "Expand Overlay")) })));
157
+ nextSelection.element.classList.add("hidden");
158
+ const expandContainer = createElement("div");
159
+ expandContainer.className = "element-expand-container hidden";
160
+ const expandOverlay = this._showStore.add(( new Button(expandContainer, {
161
+ supportIcons: true,
162
+ title: ( localize(5118, "Expand Overlay"))
163
+ })));
136
164
  expandOverlay.icon = Codicon.layout;
137
165
  this._domNode.appendChild(mainContent);
138
166
  this._domNode.appendChild(expandContainer);
@@ -154,106 +182,118 @@ let SimpleBrowserOverlayWidget = class SimpleBrowserOverlayWidget {
154
182
  const startElementSelection = async () => {
155
183
  cts = ( new CancellationTokenSource());
156
184
  this._editor.focus();
157
- message.textContent = ( localize(4979, 'Selecting element...'));
185
+ message.textContent = ( localize(5108, "Selecting element..."));
158
186
  this.hideElement(startButton.element);
159
187
  this.showElement(cancelButton.element);
160
188
  await this.addElementToChat(cts);
161
- message.textContent = ( localize(4981, 'Element added to chat'));
189
+ message.textContent = ( localize(5110, "Element added to chat"));
162
190
  finishedSelecting();
163
191
  };
164
- this._showStore.add(addDisposableListener(startButton.primaryButton.element, 'click', async () => {
165
- await startElementSelection();
166
- }));
167
- this._showStore.add(addDisposableListener(cancelButton.element, 'click', () => {
192
+ this._showStore.add(
193
+ addDisposableListener(startButton.primaryButton.element, "click", async () => {
194
+ await startElementSelection();
195
+ })
196
+ );
197
+ this._showStore.add(addDisposableListener(cancelButton.element, "click", () => {
168
198
  cts.cancel();
169
- message.textContent = ( localize(4990, 'Selection canceled'));
199
+ message.textContent = ( localize(5119, "Selection canceled"));
170
200
  finishedSelecting();
171
201
  }));
172
- this._showStore.add(addDisposableListener(collapseOverlay.element, 'click', () => {
202
+ this._showStore.add(addDisposableListener(collapseOverlay.element, "click", () => {
173
203
  this.hideElement(mainContent);
174
204
  this.showElement(expandContainer);
175
205
  }));
176
- this._showStore.add(addDisposableListener(expandOverlay.element, 'click', () => {
206
+ this._showStore.add(addDisposableListener(expandOverlay.element, "click", () => {
177
207
  this.showElement(mainContent);
178
208
  this.hideElement(expandContainer);
179
209
  }));
180
- this._showStore.add(addDisposableListener(nextSelection.element, 'click', () => {
210
+ this._showStore.add(addDisposableListener(nextSelection.element, "click", () => {
181
211
  clearTimeout(this._timeout);
182
212
  message.textContent = startSelectionMessage;
183
213
  resetButtons();
184
214
  }));
185
- this._showStore.add(addDisposableListener(configure.element, 'click', () => {
186
- this._preferencesService.openSettings({ jsonEditor: false, query: '@id:chat.sendElementsToChat.enabled,chat.sendElementsToChat.attachCSS,chat.sendElementsToChat.attachImages' });
215
+ this._showStore.add(addDisposableListener(configure.element, "click", () => {
216
+ this._preferencesService.openSettings({
217
+ jsonEditor: false,
218
+ query: "@id:chat.sendElementsToChat.enabled,chat.sendElementsToChat.attachCSS,chat.sendElementsToChat.attachImages"
219
+ });
187
220
  }));
188
221
  }
189
- setActiveBrowserType(type) {
190
- this._activeBrowserType = type;
222
+ setActiveLocator(locator, browserType) {
223
+ this._activeLocator = locator;
224
+ this._browserType = browserType;
191
225
  }
192
226
  hideElement(element) {
193
- if (element.classList.contains('hidden')) {
227
+ if (element.classList.contains("hidden")) {
194
228
  return;
195
229
  }
196
- element.classList.add('hidden');
230
+ element.classList.add("hidden");
197
231
  }
198
232
  showElement(element) {
199
- if (!element.classList.contains('hidden')) {
233
+ if (!element.classList.contains("hidden")) {
200
234
  return;
201
235
  }
202
- element.classList.remove('hidden');
236
+ element.classList.remove("hidden");
203
237
  }
204
238
  async addElementToChat(cts) {
205
- const editorContainer = this._container.querySelector('.editor-container');
239
+ this.telemetryService.publicLog2("simpleBrowser.addElementToChat.start", {
240
+ browserType: this._browserType
241
+ });
242
+ const editorContainer = this._container.querySelector(".editor-container");
206
243
  const editorContainerPosition = editorContainer ? editorContainer.getBoundingClientRect() : this._container.getBoundingClientRect();
207
- const elementData = await this._browserElementsService.getElementData(editorContainerPosition, cts.token, this._activeBrowserType);
244
+ const elementData = await this._browserElementsService.getElementData({
245
+ x: editorContainerPosition.x,
246
+ y: editorContainerPosition.y + 32.4,
247
+ width: editorContainerPosition.width,
248
+ height: editorContainerPosition.height - 32.4
249
+ }, cts.token, this._activeLocator);
208
250
  if (!elementData) {
209
- throw ( new Error('Element data not found'));
251
+ throw ( new Error("Element data not found"));
210
252
  }
211
253
  const bounds = elementData.bounds;
212
254
  const toAttach = [];
213
255
  const widget = (await this._chatWidgetService.revealWidget()) ?? this._chatWidgetService.lastFocusedWidget;
214
- let value = 'Attached HTML and CSS Context\n\n' + elementData.outerHTML;
215
- if (this.configurationService.getValue('chat.sendElementsToChat.attachCSS')) {
216
- value += '\n\n' + elementData.computedStyle;
256
+ const attachCss = this.configurationService.getValue("chat.sendElementsToChat.attachCSS");
257
+ let value = (attachCss ? "Attached HTML and CSS Context" : "Attached HTML Context") + "\n\n" + elementData.outerHTML;
258
+ if (attachCss) {
259
+ value += "\n\n" + elementData.computedStyle;
217
260
  }
261
+ const displayName = getDisplayNameFromOuterHTML(elementData.outerHTML);
218
262
  toAttach.push({
219
- id: 'element-' + Date.now(),
220
- name: this.getDisplayNameFromOuterHTML(elementData.outerHTML),
221
- fullName: this.getDisplayNameFromOuterHTML(elementData.outerHTML),
263
+ id: "element-" + Date.now(),
264
+ name: displayName,
265
+ fullName: displayName,
222
266
  value: value,
223
- kind: 'element',
224
- icon: ThemeIcon.fromId(Codicon.layout.id),
267
+ kind: "element",
268
+ icon: ThemeIcon.fromId(Codicon.layout.id)
225
269
  });
226
- if (this.configurationService.getValue('chat.sendElementsToChat.attachImages')) {
227
- this._domNode.style.display = 'none';
270
+ if (this.configurationService.getValue("chat.sendElementsToChat.attachImages")) {
271
+ this._domNode.style.display = "none";
228
272
  await ( new Promise(resolve => setTimeout(resolve, 100)));
229
273
  const screenshot = await this._hostService.getScreenshot(bounds);
230
274
  if (!screenshot) {
231
- throw ( new Error('Screenshot failed'));
275
+ throw ( new Error("Screenshot failed"));
232
276
  }
233
- const fileReference = await createFileForMedia(this.fileService, this.imagesFolder, screenshot.buffer, 'image/png');
277
+ const fileReference = await createFileForMedia(this.fileService, this.imagesFolder, screenshot.buffer, "image/png");
234
278
  toAttach.push({
235
- id: 'element-screenshot-' + Date.now(),
236
- name: 'Element Screenshot',
237
- fullName: 'Element Screenshot',
238
- kind: 'image',
279
+ id: "element-screenshot-" + Date.now(),
280
+ name: "Element Screenshot",
281
+ fullName: "Element Screenshot",
282
+ kind: "image",
239
283
  value: screenshot.buffer,
240
- references: fileReference ? [{ reference: fileReference, kind: 'reference' }] : [],
284
+ references: fileReference ? [{
285
+ reference: fileReference,
286
+ kind: "reference"
287
+ }] : []
241
288
  });
242
- this._domNode.style.display = '';
289
+ this._domNode.style.display = "";
243
290
  }
244
291
  widget?.attachmentModel?.addContext(...toAttach);
245
- }
246
- getDisplayNameFromOuterHTML(outerHTML) {
247
- const firstElementMatch = outerHTML.match(/^<(\w+)([^>]*?)>/);
248
- if (!firstElementMatch) {
249
- throw ( new Error('No outer element found'));
250
- }
251
- const tagName = firstElementMatch[1];
252
- const idMatch = firstElementMatch[2].match(/\s+id\s*=\s*["']([^"']+)["']/i);
253
- const id = idMatch ? `#${idMatch[1]}` : '';
254
- const classMatch = firstElementMatch[2].match(/\s+class\s*=\s*["']([^"']+)["']/i);
255
- const className = classMatch ? `.${classMatch[1].replace(/\s+/g, '.')}` : '';
256
- return `${tagName}${id}${className}`;
292
+ this.telemetryService.publicLog2("simpleBrowser.addElementToChat.added", {
293
+ browserType: this._browserType,
294
+ attachCss,
295
+ attachImages: this.configurationService.getValue("chat.sendElementsToChat.attachImages") ?? false
296
+ });
257
297
  }
258
298
  dispose() {
259
299
  this._showStore.dispose();
@@ -262,28 +302,24 @@ let SimpleBrowserOverlayWidget = class SimpleBrowserOverlayWidget {
262
302
  return this._domNode;
263
303
  }
264
304
  };
265
- SimpleBrowserOverlayWidget = ( __decorate([
266
- ( __param(2, IHostService)),
267
- ( __param(3, IChatWidgetService)),
268
- ( __param(4, IFileService)),
269
- ( __param(5, IEnvironmentService)),
270
- ( __param(6, ILogService)),
271
- ( __param(7, IConfigurationService)),
272
- ( __param(8, IPreferencesService)),
273
- ( __param(9, IBrowserElementsService)),
274
- ( __param(10, IContextMenuService))
275
- ], SimpleBrowserOverlayWidget));
305
+ SimpleBrowserOverlayWidget = ( __decorate([( __param(2, IHostService)), ( __param(3, IChatWidgetService)), ( __param(4, IFileService)), ( __param(5, IEnvironmentService)), ( __param(6, ILogService)), ( __param(7, IConfigurationService)), ( __param(8, IPreferencesService)), ( __param(9, IBrowserElementsService)), ( __param(10, IContextMenuService)), ( __param(11, ITelemetryService))], SimpleBrowserOverlayWidget));
276
306
  let SimpleBrowserOverlayController = class SimpleBrowserOverlayController {
277
- constructor(container, group, instaService, configurationService, _browserElementsService) {
307
+ constructor(
308
+ container,
309
+ group,
310
+ instaService,
311
+ configurationService,
312
+ _browserElementsService
313
+ ) {
278
314
  this.configurationService = configurationService;
279
315
  this._browserElementsService = _browserElementsService;
280
316
  this._store = ( new DisposableStore());
281
- this._domNode = createElement('div');
282
- if (!this.configurationService.getValue('chat.sendElementsToChat.enabled')) {
317
+ this._domNode = createElement("div");
318
+ if (!this.configurationService.getValue("chat.sendElementsToChat.enabled")) {
283
319
  return;
284
320
  }
285
- this._domNode.classList.add('chat-simple-browser-overlay');
286
- this._domNode.style.position = 'absolute';
321
+ this._domNode.classList.add("chat-simple-browser-overlay");
322
+ this._domNode.style.position = "absolute";
287
323
  this._domNode.style.bottom = `5px`;
288
324
  this._domNode.style.right = `5px`;
289
325
  this._domNode.style.zIndex = `100`;
@@ -291,30 +327,25 @@ let SimpleBrowserOverlayController = class SimpleBrowserOverlayController {
291
327
  this._domNode.appendChild(widget.getDomNode());
292
328
  this._store.add(toDisposable(() => this._domNode.remove()));
293
329
  this._store.add(widget);
294
- const connectingWebviewElement = createElement('div');
295
- connectingWebviewElement.className = 'connecting-webview-element';
296
- const getActiveBrowserType = () => {
297
- const editor = group.activeEditorPane;
298
- const isSimpleBrowser = editor?.input.editorId === 'mainThreadWebview-simpleBrowser.view';
299
- const isLiveServer = editor?.input.editorId === 'mainThreadWebview-browserPreview';
300
- return isSimpleBrowser ? BrowserType.SimpleBrowser : isLiveServer ? BrowserType.LiveServer : undefined;
301
- };
330
+ const connectingWebviewElement = createElement("div");
331
+ connectingWebviewElement.className = "connecting-webview-element";
302
332
  let cts = ( new CancellationTokenSource());
303
- const show = async () => {
304
- connectingWebviewElement.textContent = ( localize(4991, 'Connecting to webview...'));
333
+ const show = async (locator, browserType) => {
334
+ widget.setActiveLocator(locator, browserType);
335
+ connectingWebviewElement.textContent = ( localize(5120, "Connecting to webview..."));
305
336
  if (!container.contains(connectingWebviewElement)) {
306
337
  container.appendChild(connectingWebviewElement);
307
338
  }
339
+ cts.cancel();
308
340
  cts = ( new CancellationTokenSource());
309
- const activeBrowserType = getActiveBrowserType();
310
- if (activeBrowserType) {
311
- try {
312
- await this._browserElementsService.startDebugSession(cts.token, activeBrowserType);
313
- }
314
- catch (error) {
315
- connectingWebviewElement.textContent = ( localize(4992, 'Please reopen the preview.'));
316
- return;
317
- }
341
+ try {
342
+ await this._browserElementsService.startDebugSession(cts.token, locator);
343
+ } catch (error) {
344
+ connectingWebviewElement.textContent = ( localize(5121, "Please reopen the preview."));
345
+ return;
346
+ }
347
+ if (cts.token.isCancellationRequested) {
348
+ return;
318
349
  }
319
350
  if (!container.contains(this._domNode)) {
320
351
  container.appendChild(this._domNode);
@@ -322,48 +353,57 @@ let SimpleBrowserOverlayController = class SimpleBrowserOverlayController {
322
353
  connectingWebviewElement.remove();
323
354
  };
324
355
  const hide = () => {
356
+ widget.setActiveLocator(undefined, undefined);
357
+ cts.cancel();
325
358
  if (container.contains(this._domNode)) {
326
- cts.cancel();
327
359
  this._domNode.remove();
328
360
  }
329
361
  connectingWebviewElement.remove();
330
362
  };
331
363
  const activeEditorSignal = observableSignalFromEvent(this, Event.any(group.onDidActiveEditorChange, group.onDidModelChange));
332
- const activeUriObs = derivedOpts({ equalsFn: isEqual }, r => {
364
+ const activeIdObs = derivedOpts({}, r => {
333
365
  activeEditorSignal.read(r);
334
366
  const editor = group.activeEditorPane;
335
- const activeBrowser = getActiveBrowserType();
336
- widget.setActiveBrowserType(activeBrowser);
337
- if (activeBrowser) {
338
- const uri = EditorResourceAccessor.getOriginalUri(editor?.input, { supportSideBySide: SideBySideEditor.PRIMARY });
339
- return uri;
367
+ const isSimpleBrowser = editor?.input.editorId === "mainThreadWebview-simpleBrowser.view";
368
+ const isLiveServer = editor?.input.editorId === "mainThreadWebview-browserPreview";
369
+ if (isSimpleBrowser || isLiveServer) {
370
+ const webviewInput = editor.input;
371
+ const browserType = isSimpleBrowser ? "simpleBrowser" : "livePreview";
372
+ return {
373
+ webviewId: webviewInput.webview.container.id,
374
+ browserType
375
+ };
340
376
  }
341
377
  return undefined;
342
378
  });
343
379
  this._store.add(autorun(r => {
344
- const data = activeUriObs.read(r);
345
- if (!data) {
380
+ const activeEditor = activeIdObs.read(r);
381
+ if (!activeEditor) {
346
382
  hide();
347
383
  return;
348
384
  }
349
- show();
385
+ show({
386
+ webviewId: activeEditor.webviewId
387
+ }, activeEditor.browserType);
350
388
  }));
351
389
  }
352
390
  dispose() {
353
391
  this._store.dispose();
354
392
  }
355
393
  };
356
- SimpleBrowserOverlayController = ( __decorate([
357
- ( __param(2, IInstantiationService)),
358
- ( __param(3, IConfigurationService)),
359
- ( __param(4, IBrowserElementsService))
360
- ], SimpleBrowserOverlayController));
394
+ SimpleBrowserOverlayController = ( __decorate([( __param(2, IInstantiationService)), ( __param(3, IConfigurationService)), ( __param(4, IBrowserElementsService))], SimpleBrowserOverlayController));
361
395
  let SimpleBrowserOverlay = class SimpleBrowserOverlay {
362
- static { this.ID = 'chat.simpleBrowser.overlay'; }
396
+ static {
397
+ this.ID = "chat.simpleBrowser.overlay";
398
+ }
363
399
  constructor(editorGroupsService, instantiationService) {
364
400
  this._store = ( new DisposableStore());
365
- const editorGroups = observableFromEvent(this, Event.any(editorGroupsService.onDidAddGroup, editorGroupsService.onDidRemoveGroup), () => editorGroupsService.groups);
366
- const overlayWidgets = ( new DisposableMap());
401
+ const editorGroups = observableFromEvent(
402
+ this,
403
+ Event.any(editorGroupsService.onDidAddGroup, editorGroupsService.onDidRemoveGroup),
404
+ () => editorGroupsService.groups
405
+ );
406
+ const overlayWidgets = this._store.add(( new DisposableMap()));
367
407
  this._store.add(autorun(r => {
368
408
  const toDelete = ( new Set(( overlayWidgets.keys())));
369
409
  const groups = editorGroups.read(r);
@@ -388,9 +428,6 @@ let SimpleBrowserOverlay = class SimpleBrowserOverlay {
388
428
  this._store.dispose();
389
429
  }
390
430
  };
391
- SimpleBrowserOverlay = ( __decorate([
392
- ( __param(0, IEditorGroupsService)),
393
- ( __param(1, IInstantiationService))
394
- ], SimpleBrowserOverlay));
431
+ SimpleBrowserOverlay = ( __decorate([( __param(0, IEditorGroupsService)), ( __param(1, IInstantiationService))], SimpleBrowserOverlay));
395
432
 
396
433
  export { SimpleBrowserOverlay };