@codingame/monaco-vscode-chat-service-override 17.2.0 → 18.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 (159) hide show
  1. package/index.js +7 -4
  2. package/package.json +36 -30
  3. package/vscode/src/vs/base/common/objectCache.d.ts +2 -2
  4. package/vscode/src/vs/base/common/objectCache.js +3 -3
  5. package/vscode/src/vs/platform/browserElements/common/browserElements.d.ts +10 -0
  6. package/vscode/src/vs/platform/browserElements/common/browserElements.js +9 -0
  7. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatAccessibilityHelp.js +40 -40
  8. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.d.ts +6 -0
  9. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatClearActions.js +158 -0
  10. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.d.ts +1 -1
  11. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCodeblockActions.js +13 -13
  12. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.d.ts +8 -0
  13. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContext.js +256 -0
  14. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.d.ts +3 -4
  15. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatContextActions.js +234 -572
  16. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatCopyActions.js +4 -4
  17. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatDeveloperActions.js +4 -3
  18. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatFileTreeActions.js +4 -4
  19. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatGettingStarted.js +1 -1
  20. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatImportExport.js +5 -5
  21. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatMoveActions.js +29 -19
  22. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.d.ts +1 -1
  23. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatQuickInputActions.js +11 -11
  24. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.d.ts +1 -0
  25. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolActions.js +107 -0
  26. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.d.ts +3 -0
  27. package/vscode/src/vs/workbench/contrib/chat/browser/actions/chatToolPicker.js +344 -0
  28. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.d.ts +4 -3
  29. package/vscode/src/vs/workbench/contrib/chat/browser/actions/codeBlockOperations.js +84 -37
  30. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatAttachInstructionsAction.d.ts +18 -3
  31. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatAttachInstructionsAction.js +137 -14
  32. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatModeActions.d.ts +1 -0
  33. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatModeActions.js +54 -0
  34. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatRunPromptAction.js +40 -10
  35. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatSaveToPromptAction.d.ts +1 -1
  36. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/chatSaveToPromptAction.js +3 -3
  37. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/promptFilePickers.d.ts +15 -5
  38. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/promptFilePickers.js +171 -101
  39. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/attachInstructions.d.ts +2 -2
  40. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/attachInstructions.js +2 -2
  41. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/dialogs/askToSelectPrompt/utils/runPrompt.d.ts +1 -1
  42. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/index.d.ts +0 -1
  43. package/vscode/src/vs/workbench/contrib/chat/browser/actions/promptActions/index.js +2 -1
  44. package/vscode/src/vs/workbench/contrib/chat/browser/chat.contribution.js +176 -69
  45. package/vscode/src/vs/workbench/contrib/chat/browser/chatAccessibilityService.d.ts +1 -1
  46. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingCodeEditorIntegration.js +15 -29
  47. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorAccessibility.js +2 -2
  48. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorActions.js +22 -22
  49. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingEditorOverlay.js +35 -29
  50. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.d.ts +1 -0
  51. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedDocumentEntry.js +80 -32
  52. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.d.ts +5 -3
  53. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedFileEntry.js +11 -9
  54. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingModifiedNotebookEntry.js +12 -11
  55. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingServiceImpl.js +13 -11
  56. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.d.ts +2 -2
  57. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSession.js +15 -13
  58. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/chatEditingSessionStorage.js +3 -5
  59. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookCellEntry.js +10 -9
  60. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/chatEditingNotebookEditorIntegration.js +18 -8
  61. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.d.ts +1 -1
  62. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/notebook/overlayToolbarDecorator.js +1 -1
  63. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditing/simpleBrowserEditorOverlay.js +118 -33
  64. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.d.ts +2 -2
  65. package/vscode/src/vs/workbench/contrib/chat/browser/chatEditor.js +5 -5
  66. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.d.ts +1 -3
  67. package/vscode/src/vs/workbench/contrib/chat/browser/chatParticipant.contribution.js +46 -48
  68. package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.d.ts +49 -0
  69. package/vscode/src/vs/workbench/contrib/chat/browser/chatPasteProviders.js +379 -0
  70. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.d.ts +1 -1
  71. package/vscode/src/vs/workbench/contrib/chat/browser/chatQuick.js +1 -1
  72. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.d.ts +1 -1
  73. package/vscode/src/vs/workbench/contrib/chat/browser/chatResponseAccessibleView.js +31 -10
  74. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.d.ts +2 -1
  75. package/vscode/src/vs/workbench/contrib/chat/browser/chatSetup.js +382 -152
  76. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.d.ts +1 -1
  77. package/vscode/src/vs/workbench/contrib/chat/browser/chatStatus.js +99 -56
  78. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.d.ts +2 -1
  79. package/vscode/src/vs/workbench/contrib/chat/browser/chatVariables.js +11 -1
  80. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.d.ts +1 -3
  81. package/vscode/src/vs/workbench/contrib/chat/browser/chatViewPane.js +9 -21
  82. package/vscode/src/vs/workbench/contrib/chat/browser/codeBlockContextProviderService.d.ts +1 -1
  83. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorContrib.js +10 -6
  84. package/vscode/src/vs/workbench/contrib/chat/browser/contrib/chatInputEditorHover.js +1 -1
  85. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.d.ts +18 -5
  86. package/vscode/src/vs/workbench/contrib/chat/browser/languageModelToolsService.js +95 -24
  87. package/vscode/src/vs/workbench/contrib/chat/browser/media/chatSetup.css +92 -5
  88. package/vscode/src/vs/workbench/contrib/chat/browser/media/github.svg +1 -0
  89. package/vscode/src/vs/workbench/contrib/chat/browser/media/google.svg +6 -0
  90. package/vscode/src/vs/workbench/contrib/chat/browser/media/simpleBrowserOverlay.css +10 -4
  91. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/createPromptCommand.d.ts +1 -0
  92. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/createPromptCommand.js +111 -111
  93. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptName.d.ts +3 -4
  94. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptName.js +36 -10
  95. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptSourceFolder.d.ts +5 -17
  96. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/dialogs/askForPromptSourceFolder.js +91 -17
  97. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/errors.js +2 -2
  98. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/utils/createPromptFile.d.ts +1 -4
  99. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/createPromptCommand/utils/createPromptFile.js +4 -5
  100. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.d.ts +1 -0
  101. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/promptToolsCodeLensProvider.js +95 -0
  102. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.d.ts +24 -0
  103. package/vscode/src/vs/workbench/contrib/chat/browser/tools/toolSetsContribution.js +348 -0
  104. package/vscode/src/vs/workbench/contrib/chat/browser/viewsWelcome/chatViewsWelcomeHandler.js +5 -5
  105. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.d.ts +2 -2
  106. package/vscode/src/vs/workbench/contrib/chat/common/chatProgressTypes/chatToolInvocation.js +2 -2
  107. package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.d.ts +30 -0
  108. package/vscode/src/vs/workbench/contrib/chat/common/chatResponseResourceFileSystemProvider.js +93 -0
  109. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.d.ts +5 -2
  110. package/vscode/src/vs/workbench/contrib/chat/common/chatServiceImpl.js +46 -36
  111. package/vscode/src/vs/workbench/contrib/chat/common/chatSessionStore.js +2 -2
  112. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/configMigration.d.ts +5 -1
  113. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/configMigration.js +21 -11
  114. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/index.js +6 -1
  115. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/index.js +3 -2
  116. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptHeaderDiagnosticsProvider.d.ts +4 -3
  117. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptHeaderDiagnosticsProvider.js +12 -8
  118. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkDiagnosticsProvider.d.ts +3 -3
  119. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkDiagnosticsProvider.js +1 -2
  120. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptLinkProvider.js +3 -3
  121. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/promptPathAutocompletion.js +5 -5
  122. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceBase.d.ts +2 -1
  123. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceBase.js +9 -5
  124. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceManagerBase.d.ts +3 -2
  125. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/providerInstanceManagerBase.js +12 -8
  126. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.d.ts +1 -1
  127. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/parsers/textModelPromptParser.js +3 -3
  128. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.d.ts +21 -10
  129. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/service/promptsService.js +111 -124
  130. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.d.ts +22 -8
  131. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/promptFilesLocator.js +159 -97
  132. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/treeUtils.d.ts +15 -3
  133. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/utils/treeUtils.js +2 -14
  134. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.d.ts +8 -2
  135. package/vscode/src/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution.js +198 -33
  136. package/vscode/src/vs/workbench/contrib/chat/common/voiceChatService.js +1 -1
  137. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChat.contribution.js +7 -7
  138. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatAccessibleView.js +1 -1
  139. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatCurrentLine.js +28 -18
  140. package/vscode/src/vs/workbench/contrib/inlineChat/browser/inlineChatNotebook.js +1 -1
  141. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.d.ts +1 -1
  142. package/vscode/src/vs/workbench/contrib/notebook/browser/diff/inlineDiff/notebookModifiedCellDecorator.js +2 -2
  143. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/attachInstructionsCommand.d.ts +0 -6
  144. package/vscode/src/vs/workbench/contrib/chat/browser/promptSyntax/contributions/attachInstructionsCommand.js +0 -73
  145. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterDecoration.d.ts +0 -29
  146. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterDecoration.js +0 -74
  147. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterMarkerDecoration.d.ts +0 -14
  148. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/frontMatterMarkerDecoration.js +0 -40
  149. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/decorationBase.d.ts +0 -23
  150. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/decorationBase.js +0 -40
  151. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/index.d.ts +0 -5
  152. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/index.js +0 -9
  153. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/reactiveDecorationBase.d.ts +0 -23
  154. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/reactiveDecorationBase.js +0 -68
  155. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/decorations/utils/types.d.ts +0 -13
  156. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/promptDecorationsProvider.d.ts +0 -19
  157. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/promptDecorationsProvider.js +0 -121
  158. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/types.d.ts +0 -13
  159. package/vscode/src/vs/workbench/contrib/chat/common/promptSyntax/contributions/languageFeatures/providers/decorationsProvider/types.js +0 -13
@@ -17,25 +17,30 @@ import { EditorResourceAccessor, SideBySideEditor } from '@codingame/monaco-vsco
17
17
  import { joinPath, isEqual } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
18
18
  import { CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
19
19
  import { IHostService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/host/browser/host.service';
20
- import { showChatView } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/chat';
20
+ import { showChatView } from '@codingame/monaco-vscode-7adbeffb-8051-54a9-8c9b-b62ce9e5836f-common/vscode/vs/workbench/contrib/chat/browser/chat';
21
21
  import { IChatWidgetService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chat.service';
22
22
  import { IViewsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/views/common/viewsService.service';
23
- import { Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
23
+ import { ButtonWithDropdown, Button } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/ui/button/button';
24
24
  import { defaultButtonStyles } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/browser/defaultStyles';
25
25
  import { addDisposableListener } from '@codingame/monaco-vscode-api/vscode/vs/base/browser/dom';
26
26
  import { IConfigurationService } from '@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service';
27
- import { cleanupOldImages, createFileForMedia } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/imageUtils';
27
+ import { cleanupOldImages, createFileForMedia } from '@codingame/monaco-vscode-1cb11a73-359e-5a2f-9e95-6989cc9858ee-common/vscode/vs/workbench/contrib/chat/browser/imageUtils';
28
28
  import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
29
29
  import { IEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/platform/environment/common/environment.service';
30
30
  import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
31
31
  import { IPreferencesService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/preferences/common/preferences.service';
32
- import { observableSignalFromEvent, observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/utils';
33
- import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/autorun';
34
- import { derivedOpts } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/derived';
32
+ import { IBrowserElementsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/browserElements/browser/browserElementsService.service';
33
+ import { IContextMenuService } from '@codingame/monaco-vscode-api/vscode/vs/platform/contextview/browser/contextView.service';
34
+ import { toAction } from '@codingame/monaco-vscode-api/vscode/vs/base/common/actions';
35
+ import { BrowserType } from '../../../../../platform/browserElements/common/browserElements.js';
36
+ import { observableFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableFromEvent';
37
+ import { autorun } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/reactions/autorun';
38
+ import { observableSignalFromEvent } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/observableSignalFromEvent';
39
+ import { derivedOpts } from '@codingame/monaco-vscode-api/vscode/vs/base/common/observableInternal/observables/derived';
35
40
 
36
41
  registerCss(simpleBrowserOverlay);
37
42
  let SimpleBrowserOverlayWidget = class SimpleBrowserOverlayWidget {
38
- constructor(_editor, _container, _hostService, _chatWidgetService, _viewService, fileService, environmentService, logService, configurationService, _preferencesService) {
43
+ constructor(_editor, _container, _hostService, _chatWidgetService, _viewService, fileService, environmentService, logService, configurationService, _preferencesService, _browserElementsService, contextMenuService) {
39
44
  this._editor = _editor;
40
45
  this._container = _container;
41
46
  this._hostService = _hostService;
@@ -46,8 +51,11 @@ let SimpleBrowserOverlayWidget = class SimpleBrowserOverlayWidget {
46
51
  this.logService = logService;
47
52
  this.configurationService = configurationService;
48
53
  this._preferencesService = _preferencesService;
54
+ this._browserElementsService = _browserElementsService;
55
+ this.contextMenuService = contextMenuService;
49
56
  this._showStore = ( new DisposableStore());
50
57
  this._timeout = undefined;
58
+ this._activeBrowserType = undefined;
51
59
  this._showStore.add(this.configurationService.onDidChangeConfiguration(e => {
52
60
  if (e.affectsConfiguration('chat.sendElementsToChat.enabled')) {
53
61
  if (this.configurationService.getValue('chat.sendElementsToChat.enabled')) {
@@ -63,30 +71,67 @@ let SimpleBrowserOverlayWidget = class SimpleBrowserOverlayWidget {
63
71
  this._domNode = document.createElement('div');
64
72
  this._domNode.className = 'element-selection-message';
65
73
  const message = document.createElement('span');
66
- const startSelectionMessage = ( localize(4761, 'Add element to chat'));
74
+ const startSelectionMessage = ( localize(4804, 'Add element to chat'));
67
75
  message.textContent = startSelectionMessage;
68
76
  this._domNode.appendChild(message);
69
77
  let cts;
70
- const selectButton = this._showStore.add(( new Button(
71
- this._domNode,
72
- { ...defaultButtonStyles, supportIcons: true, title: ( localize(4762, 'Click to select an element.')) }
73
- )));
74
- selectButton.element.className = 'element-selection-start';
75
- selectButton.label = ( localize(4763, 'Start'));
78
+ const actions = [];
79
+ actions.push(toAction({
80
+ id: 'singleSelection',
81
+ label: ( localize(4805, 'Select an Element')),
82
+ enabled: true,
83
+ run: async () => { await startElementSelection(); }
84
+ }), toAction({
85
+ id: 'continuousSelection',
86
+ label: ( localize(4806, 'Continuous Selection')),
87
+ enabled: true,
88
+ run: async () => {
89
+ this._editor.focus();
90
+ cts = ( new CancellationTokenSource());
91
+ message.textContent = ( localize(4807, 'Selecting element...'));
92
+ this.hideElement(startButton.element);
93
+ this.showElement(cancelButton.element);
94
+ cancelButton.label = ( localize(4808, 'Done'));
95
+ while (!cts.token.isCancellationRequested) {
96
+ try {
97
+ await this.addElementToChat(cts);
98
+ }
99
+ catch (err) {
100
+ this.logService.error('Failed to select this element.', err);
101
+ cts.cancel();
102
+ break;
103
+ }
104
+ }
105
+ message.textContent = ( localize(4809, 'Element added to chat'));
106
+ finishedSelecting();
107
+ }
108
+ }));
109
+ const startButton = this._showStore.add(( new ButtonWithDropdown(this._domNode, {
110
+ actions: actions,
111
+ addPrimaryActionToDropdown: false,
112
+ contextMenuProvider: this.contextMenuService,
113
+ supportShortLabel: true,
114
+ title: ( localize(4810, 'Click to select an element.')),
115
+ supportIcons: true,
116
+ ...defaultButtonStyles
117
+ })));
118
+ startButton.primaryButton.label = ( localize(4811, 'Start'));
119
+ startButton.element.classList.add('element-selection-start');
76
120
  const cancelButton = this._showStore.add(( new Button(
77
121
  this._domNode,
78
- { ...defaultButtonStyles, supportIcons: true, title: ( localize(4764, 'Click to cancel selection.')) }
122
+ { ...defaultButtonStyles, supportIcons: true, title: ( localize(4812, 'Click to cancel selection.')) }
79
123
  )));
80
124
  cancelButton.element.className = 'element-selection-cancel hidden';
81
- cancelButton.label = ( localize(4765, 'Cancel'));
82
- const configure = this._showStore.add(( new Button(this._domNode, { supportIcons: true, title: ( localize(4766, "Configure Attachments Sent")) })));
125
+ const cancelButtonLabel = ( localize(4813, 'Cancel'));
126
+ cancelButton.label = cancelButtonLabel;
127
+ const configure = this._showStore.add(( new Button(this._domNode, { supportIcons: true, title: ( localize(4814, "Configure Attachments Sent")) })));
83
128
  configure.icon = Codicon.gear;
84
- const collapseOverlay = this._showStore.add(( new Button(this._domNode, { supportIcons: true, title: ( localize(4767, "Collapse Overlay")) })));
129
+ const collapseOverlay = this._showStore.add(( new Button(this._domNode, { supportIcons: true, title: ( localize(4815, "Collapse Overlay")) })));
85
130
  collapseOverlay.icon = Codicon.chevronRight;
86
- const nextSelection = this._showStore.add(( new Button(this._domNode, { supportIcons: true, title: ( localize(4768, "Select Again")) })));
131
+ const nextSelection = this._showStore.add(( new Button(this._domNode, { supportIcons: true, title: ( localize(4816, "Select Again")) })));
87
132
  nextSelection.icon = Codicon.close;
88
133
  nextSelection.element.classList.add('hidden');
89
- const expandOverlay = this._showStore.add(( new Button(this._domNode, { supportIcons: true, title: ( localize(4769, "Expand Overlay")) })));
134
+ const expandOverlay = this._showStore.add(( new Button(this._domNode, { supportIcons: true, title: ( localize(4817, "Expand Overlay")) })));
90
135
  expandOverlay.icon = Codicon.layout;
91
136
  const expandContainer = document.createElement('div');
92
137
  expandContainer.className = 'element-expand-container hidden';
@@ -94,11 +139,12 @@ let SimpleBrowserOverlayWidget = class SimpleBrowserOverlayWidget {
94
139
  this._container.appendChild(expandContainer);
95
140
  const resetButtons = () => {
96
141
  this.hideElement(nextSelection.element);
97
- this.showElement(selectButton.element);
142
+ this.showElement(startButton.element);
98
143
  this.showElement(collapseOverlay.element);
99
144
  };
100
145
  const finishedSelecting = () => {
101
146
  this.hideElement(cancelButton.element);
147
+ cancelButton.label = cancelButtonLabel;
102
148
  this.hideElement(collapseOverlay.element);
103
149
  this.showElement(nextSelection.element);
104
150
  this._timeout = setTimeout(() => {
@@ -106,19 +152,22 @@ let SimpleBrowserOverlayWidget = class SimpleBrowserOverlayWidget {
106
152
  resetButtons();
107
153
  }, 3000);
108
154
  };
109
- this._showStore.add(addDisposableListener(selectButton.element, 'click', async () => {
155
+ const startElementSelection = async () => {
110
156
  cts = ( new CancellationTokenSource());
111
157
  this._editor.focus();
112
- message.textContent = ( localize(4770, 'Selecting element...'));
113
- this.hideElement(selectButton.element);
158
+ message.textContent = ( localize(4807, 'Selecting element...'));
159
+ this.hideElement(startButton.element);
114
160
  this.showElement(cancelButton.element);
115
161
  await this.addElementToChat(cts);
116
- message.textContent = ( localize(4771, 'Element added to chat'));
162
+ message.textContent = ( localize(4809, 'Element added to chat'));
117
163
  finishedSelecting();
164
+ };
165
+ this._showStore.add(addDisposableListener(startButton.primaryButton.element, 'click', async () => {
166
+ await startElementSelection();
118
167
  }));
119
168
  this._showStore.add(addDisposableListener(cancelButton.element, 'click', () => {
120
169
  cts.cancel();
121
- message.textContent = ( localize(4772, 'Selection canceled'));
170
+ message.textContent = ( localize(4818, 'Selection canceled'));
122
171
  finishedSelecting();
123
172
  }));
124
173
  this._showStore.add(addDisposableListener(collapseOverlay.element, 'click', () => {
@@ -138,6 +187,9 @@ let SimpleBrowserOverlayWidget = class SimpleBrowserOverlayWidget {
138
187
  this._preferencesService.openSettings({ jsonEditor: false, query: '@id:chat.sendElementsToChat.enabled,chat.sendElementsToChat.attachCSS,chat.sendElementsToChat.attachImages' });
139
188
  }));
140
189
  }
190
+ setActiveBrowserType(type) {
191
+ this._activeBrowserType = type;
192
+ }
141
193
  hideElement(element) {
142
194
  if (element.classList.contains('hidden')) {
143
195
  return;
@@ -153,13 +205,13 @@ let SimpleBrowserOverlayWidget = class SimpleBrowserOverlayWidget {
153
205
  async addElementToChat(cts) {
154
206
  const editorContainer = this._container.querySelector('.editor-container');
155
207
  const editorContainerPosition = editorContainer ? editorContainer.getBoundingClientRect() : this._container.getBoundingClientRect();
156
- const elementData = await this._hostService.getElementData(editorContainerPosition, cts.token);
208
+ const elementData = await this._browserElementsService.getElementData(editorContainerPosition, cts.token, this._activeBrowserType);
157
209
  if (!elementData) {
158
210
  throw ( new Error('Element data not found'));
159
211
  }
160
212
  const bounds = elementData.bounds;
161
213
  const toAttach = [];
162
- const widget = this._chatWidgetService.lastFocusedWidget ?? (await showChatView(this._viewService));
214
+ const widget = (await showChatView(this._viewService)) ?? this._chatWidgetService.lastFocusedWidget;
163
215
  let value = 'Attached HTML and CSS Context\n\n' + elementData.outerHTML;
164
216
  if (this.configurationService.getValue('chat.sendElementsToChat.attachCSS')) {
165
217
  value += '\n\n' + elementData.computedStyle;
@@ -219,11 +271,14 @@ SimpleBrowserOverlayWidget = ( __decorate([
219
271
  ( __param(6, IEnvironmentService)),
220
272
  ( __param(7, ILogService)),
221
273
  ( __param(8, IConfigurationService)),
222
- ( __param(9, IPreferencesService))
274
+ ( __param(9, IPreferencesService)),
275
+ ( __param(10, IBrowserElementsService)),
276
+ ( __param(11, IContextMenuService))
223
277
  ], SimpleBrowserOverlayWidget));
224
278
  let SimpleBrowserOverlayController = class SimpleBrowserOverlayController {
225
- constructor(container, group, instaService, configurationService) {
279
+ constructor(container, group, instaService, configurationService, _browserElementsService) {
226
280
  this.configurationService = configurationService;
281
+ this._browserElementsService = _browserElementsService;
227
282
  this._store = ( new DisposableStore());
228
283
  this._domNode = document.createElement('div');
229
284
  if (!this.configurationService.getValue('chat.sendElementsToChat.enabled')) {
@@ -238,21 +293,50 @@ let SimpleBrowserOverlayController = class SimpleBrowserOverlayController {
238
293
  this._domNode.appendChild(widget.getDomNode());
239
294
  this._store.add(toDisposable(() => this._domNode.remove()));
240
295
  this._store.add(widget);
241
- const show = () => {
296
+ const connectingWebviewElement = document.createElement('div');
297
+ connectingWebviewElement.className = 'connecting-webview-element';
298
+ const getActiveBrowserType = () => {
299
+ const editor = group.activeEditorPane;
300
+ const isSimpleBrowser = editor?.input.editorId === 'mainThreadWebview-simpleBrowser.view';
301
+ const isLiveServer = editor?.input.editorId === 'mainThreadWebview-browserPreview';
302
+ return isSimpleBrowser ? BrowserType.SimpleBrowser : isLiveServer ? BrowserType.LiveServer : undefined;
303
+ };
304
+ let cts = ( new CancellationTokenSource());
305
+ const show = async () => {
306
+ connectingWebviewElement.textContent = ( localize(4819, 'Connecting to webview...'));
307
+ if (!container.contains(connectingWebviewElement)) {
308
+ container.appendChild(connectingWebviewElement);
309
+ }
310
+ cts = ( new CancellationTokenSource());
311
+ const activeBrowserType = getActiveBrowserType();
312
+ if (activeBrowserType) {
313
+ try {
314
+ await this._browserElementsService.startDebugSession(cts.token, activeBrowserType);
315
+ }
316
+ catch (error) {
317
+ connectingWebviewElement.textContent = ( localize(4820, 'Please reopen the preview.'));
318
+ return;
319
+ }
320
+ }
242
321
  if (!container.contains(this._domNode)) {
243
322
  container.appendChild(this._domNode);
244
323
  }
324
+ connectingWebviewElement.remove();
245
325
  };
246
326
  const hide = () => {
247
327
  if (container.contains(this._domNode)) {
328
+ cts.cancel();
248
329
  this._domNode.remove();
249
330
  }
331
+ connectingWebviewElement.remove();
250
332
  };
251
333
  const activeEditorSignal = observableSignalFromEvent(this, Event.any(group.onDidActiveEditorChange, group.onDidModelChange));
252
334
  const activeUriObs = derivedOpts({ equalsFn: isEqual }, r => {
253
335
  activeEditorSignal.read(r);
254
336
  const editor = group.activeEditorPane;
255
- if (editor?.input.editorId === 'mainThreadWebview-simpleBrowser.view') {
337
+ const activeBrowser = getActiveBrowserType();
338
+ widget.setActiveBrowserType(activeBrowser);
339
+ if (activeBrowser) {
256
340
  const uri = EditorResourceAccessor.getOriginalUri(editor?.input, { supportSideBySide: SideBySideEditor.PRIMARY });
257
341
  return uri;
258
342
  }
@@ -273,7 +357,8 @@ let SimpleBrowserOverlayController = class SimpleBrowserOverlayController {
273
357
  };
274
358
  SimpleBrowserOverlayController = ( __decorate([
275
359
  ( __param(2, IInstantiationService)),
276
- ( __param(3, IConfigurationService))
360
+ ( __param(3, IConfigurationService)),
361
+ ( __param(4, IBrowserElementsService))
277
362
  ], SimpleBrowserOverlayController));
278
363
  let SimpleBrowserOverlay = class SimpleBrowserOverlay {
279
364
  static { this.ID = 'chat.simpleBrowser.overlay'; }
@@ -7,11 +7,11 @@ import { IInstantiationService } from "@codingame/monaco-vscode-api/vscode/vs/pl
7
7
  import { IStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/storage/common/storage.service";
8
8
  import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
9
9
  import { IThemeService } from "@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service";
10
- import { EditorPane } from "@codingame/monaco-vscode-d0fb86d3-2a47-594e-955b-9a24631a7124-common/vscode/vs/workbench/browser/parts/editor/editorPane";
10
+ import { EditorPane } from "@codingame/monaco-vscode-dcfc2191-2da1-54c7-8fb7-e92c5d11ecef-common/vscode/vs/workbench/browser/parts/editor/editorPane";
11
11
  import { IEditorOpenContext } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/editor";
12
12
  import { IEditorGroup } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/editor/common/editorGroupsService";
13
13
  import { IExportableChatData, ISerializableChatData } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatModel";
14
- import { ChatEditorInput } from "@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput";
14
+ import { ChatEditorInput } from "@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput";
15
15
  export interface IChatEditorOptions extends IEditorOptions {
16
16
  target?: {
17
17
  sessionId: string;
@@ -18,13 +18,13 @@ import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/misc
18
18
  import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/quickpickColors';
19
19
  import '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/colors/searchColors';
20
20
  import { IThemeService } from '@codingame/monaco-vscode-api/vscode/vs/platform/theme/common/themeService.service';
21
- import { EditorPane } from '@codingame/monaco-vscode-d0fb86d3-2a47-594e-955b-9a24631a7124-common/vscode/vs/workbench/browser/parts/editor/editorPane';
22
- import { Memento } from '@codingame/monaco-vscode-25a9b730-95ad-54d3-8807-71421ad9b891-common/vscode/vs/workbench/common/memento';
21
+ import { EditorPane } from '@codingame/monaco-vscode-dcfc2191-2da1-54c7-8fb7-e92c5d11ecef-common/vscode/vs/workbench/browser/parts/editor/editorPane';
22
+ import { Memento } from '@codingame/monaco-vscode-924e8f00-6faf-5059-b518-e43427d29ab3-common/vscode/vs/workbench/common/memento';
23
23
  import { EDITOR_DRAG_AND_DROP_BACKGROUND } from '@codingame/monaco-vscode-api/vscode/vs/workbench/common/theme';
24
- import { CHAT_PROVIDER_ID } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/common/chatParticipantContribTypes';
24
+ import { CHAT_PROVIDER_ID } from '@codingame/monaco-vscode-7adbeffb-8051-54a9-8c9b-b62ce9e5836f-common/vscode/vs/workbench/contrib/chat/common/chatParticipantContribTypes';
25
25
  import { ChatAgentLocation, ChatMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/constants';
26
- import { clearChatEditor } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/actions/chatClear';
27
- import { ChatEditorInput } from '@codingame/monaco-vscode-fab30422-b487-5f4e-8d30-8b4d266e3fcd-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
26
+ import { clearChatEditor } from '@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/browser/actions/chatClear';
27
+ import { ChatEditorInput } from '@codingame/monaco-vscode-3a35f433-1297-5707-ab58-c261b8180e6d-common/vscode/vs/workbench/contrib/chat/browser/chatEditorInput';
28
28
  import { ChatWidget } from '@codingame/monaco-vscode-c465110a-57c0-59d7-a6b2-be0a4db7e517-common/vscode/vs/workbench/contrib/chat/browser/chatWidget';
29
29
 
30
30
  let ChatEditor = class ChatEditor extends EditorPane {
@@ -1,16 +1,14 @@
1
1
  import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
2
  import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
3
- import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
4
3
  import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service";
5
4
  import { IWorkbenchContribution } from "@codingame/monaco-vscode-api/vscode/vs/workbench/common/contributions";
6
5
  import { IExtensionsWorkbenchService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/extensions/common/extensions.service";
7
6
  import { IChatAgentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/chatAgents.service";
8
7
  export declare class ChatExtensionPointHandler implements IWorkbenchContribution {
9
8
  private readonly _chatAgentService;
10
- private readonly logService;
11
9
  static readonly ID = "workbench.contrib.chatExtensionPointHandler";
12
10
  private _participantRegistrationDisposables;
13
- constructor(_chatAgentService: IChatAgentService, logService: ILogService);
11
+ constructor(_chatAgentService: IChatAgentService);
14
12
  private handleAndRegisterChatExtensions;
15
13
  }
16
14
  export declare class ChatCompatibilityNotifier extends Disposable implements IWorkbenchContribution {