@codingame/monaco-vscode-extensions-service-override 37.0.0 → 37.2.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 (202) hide show
  1. package/index.js +2 -17
  2. package/package.json +3 -3
  3. package/service-override/tools/missingMainThreadCustomers.d.ts +1 -0
  4. package/service-override/tools/missingMainThreadCustomers.js +274 -0
  5. package/vscode/src/vs/platform/extensionManagement/common/extensionManagementCLI.js +29 -29
  6. package/vscode/src/vs/workbench/api/browser/mainThreadAgentEditorComments.d.ts +1 -1
  7. package/vscode/src/vs/workbench/api/browser/mainThreadAgentEditorComments.js +1 -1
  8. package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.d.ts +1 -1
  9. package/vscode/src/vs/workbench/api/browser/mainThreadAiEmbeddingVector.js +1 -1
  10. package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.d.ts +1 -1
  11. package/vscode/src/vs/workbench/api/browser/mainThreadAiRelatedInformation.js +1 -1
  12. package/vscode/src/vs/workbench/api/browser/mainThreadAiSettingsSearch.d.ts +1 -1
  13. package/vscode/src/vs/workbench/api/browser/mainThreadAiSettingsSearch.js +1 -1
  14. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.d.ts +1 -1
  15. package/vscode/src/vs/workbench/api/browser/mainThreadAuthentication.js +29 -29
  16. package/vscode/src/vs/workbench/api/browser/mainThreadBrowserTunnelProxy.d.ts +1 -1
  17. package/vscode/src/vs/workbench/api/browser/mainThreadBrowserTunnelProxy.js +1 -1
  18. package/vscode/src/vs/workbench/api/browser/mainThreadBrowsers.d.ts +1 -1
  19. package/vscode/src/vs/workbench/api/browser/mainThreadBrowsers.js +1 -1
  20. package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.d.ts +1 -1
  21. package/vscode/src/vs/workbench/api/browser/mainThreadBulkEdits.js +1 -1
  22. package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +1 -1
  23. package/vscode/src/vs/workbench/api/browser/mainThreadChatOutputRenderer.d.ts +1 -1
  24. package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.d.ts +1 -1
  25. package/vscode/src/vs/workbench/api/browser/mainThreadClipboard.js +1 -1
  26. package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.d.ts +1 -1
  27. package/vscode/src/vs/workbench/api/browser/mainThreadCodeInsets.js +1 -1
  28. package/vscode/src/vs/workbench/api/browser/mainThreadCommands.d.ts +1 -1
  29. package/vscode/src/vs/workbench/api/browser/mainThreadCommands.js +1 -1
  30. package/vscode/src/vs/workbench/api/browser/mainThreadComments.d.ts +1 -1
  31. package/vscode/src/vs/workbench/api/browser/mainThreadComments.js +2 -2
  32. package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.d.ts +1 -1
  33. package/vscode/src/vs/workbench/api/browser/mainThreadConfiguration.js +1 -1
  34. package/vscode/src/vs/workbench/api/browser/mainThreadConsole.d.ts +1 -1
  35. package/vscode/src/vs/workbench/api/browser/mainThreadConsole.js +1 -1
  36. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.d.ts +1 -1
  37. package/vscode/src/vs/workbench/api/browser/mainThreadCustomEditors.js +2 -2
  38. package/vscode/src/vs/workbench/api/browser/mainThreadDataChannels.d.ts +1 -1
  39. package/vscode/src/vs/workbench/api/browser/mainThreadDataChannels.js +7 -7
  40. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.d.ts +1 -1
  41. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +1 -1
  42. package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.d.ts +1 -1
  43. package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +1 -1
  44. package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.d.ts +1 -1
  45. package/vscode/src/vs/workbench/api/browser/mainThreadDiagnostics.js +1 -1
  46. package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.d.ts +1 -1
  47. package/vscode/src/vs/workbench/api/browser/mainThreadDialogs.js +1 -1
  48. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.d.ts +1 -1
  49. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentContentProviders.js +1 -1
  50. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentDiff.d.ts +1 -1
  51. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentDiff.js +1 -1
  52. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.d.ts +1 -1
  53. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +2 -2
  54. package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.d.ts +1 -1
  55. package/vscode/src/vs/workbench/api/browser/mainThreadDownloadService.js +1 -1
  56. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.d.ts +1 -1
  57. package/vscode/src/vs/workbench/api/browser/mainThreadEditSessionIdentityParticipant.js +2 -2
  58. package/vscode/src/vs/workbench/api/browser/mainThreadEditor.d.ts +1 -1
  59. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.d.ts +1 -1
  60. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +1 -1
  61. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.d.ts +1 -1
  62. package/vscode/src/vs/workbench/api/browser/mainThreadEmbeddings.d.ts +1 -1
  63. package/vscode/src/vs/workbench/api/browser/mainThreadEmbeddings.js +1 -1
  64. package/vscode/src/vs/workbench/api/browser/mainThreadErrors.js +1 -1
  65. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.d.ts +1 -1
  66. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +12 -12
  67. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.d.ts +1 -1
  68. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +1 -1
  69. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.d.ts +1 -1
  70. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +21 -21
  71. package/vscode/src/vs/workbench/api/browser/mainThreadGitExtensionService.d.ts +1 -1
  72. package/vscode/src/vs/workbench/api/browser/mainThreadGitExtensionService.js +1 -1
  73. package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.d.ts +1 -1
  74. package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +1 -1
  75. package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.d.ts +1 -1
  76. package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +1 -1
  77. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.d.ts +1 -1
  78. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +1 -1
  79. package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.d.ts +1 -1
  80. package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +1 -1
  81. package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.d.ts +1 -1
  82. package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +1 -1
  83. package/vscode/src/vs/workbench/api/browser/mainThreadLogService.d.ts +1 -1
  84. package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +1 -1
  85. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.d.ts +1 -1
  86. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +1 -1
  87. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.d.ts +1 -1
  88. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +5 -5
  89. package/vscode/src/vs/workbench/api/browser/mainThreadMeteredConnection.d.ts +1 -1
  90. package/vscode/src/vs/workbench/api/browser/mainThreadMeteredConnection.js +1 -1
  91. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.d.ts +1 -1
  92. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +4 -4
  93. package/vscode/src/vs/workbench/api/browser/mainThreadPower.d.ts +1 -1
  94. package/vscode/src/vs/workbench/api/browser/mainThreadPower.js +1 -1
  95. package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.d.ts +1 -1
  96. package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.js +1 -1
  97. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.d.ts +1 -1
  98. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +2 -2
  99. package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.d.ts +1 -1
  100. package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +1 -1
  101. package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.d.ts +1 -1
  102. package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +1 -1
  103. package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.d.ts +1 -1
  104. package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +1 -1
  105. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.d.ts +1 -1
  106. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +1 -1
  107. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.d.ts +1 -1
  108. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +2 -2
  109. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.d.ts +1 -1
  110. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +1 -1
  111. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.d.ts +1 -1
  112. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +1 -1
  113. package/vscode/src/vs/workbench/api/browser/mainThreadShare.d.ts +1 -1
  114. package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +1 -1
  115. package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.d.ts +1 -1
  116. package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.js +1 -1
  117. package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.d.ts +1 -1
  118. package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +1 -1
  119. package/vscode/src/vs/workbench/api/browser/mainThreadStorage.d.ts +1 -1
  120. package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +1 -1
  121. package/vscode/src/vs/workbench/api/browser/mainThreadTask.d.ts +1 -1
  122. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +2 -2
  123. package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.d.ts +1 -1
  124. package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +1 -1
  125. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.d.ts +1 -1
  126. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +1 -1
  127. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.d.ts +1 -1
  128. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +1 -1
  129. package/vscode/src/vs/workbench/api/browser/mainThreadTesting.d.ts +1 -1
  130. package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +1 -1
  131. package/vscode/src/vs/workbench/api/browser/mainThreadTheming.d.ts +1 -1
  132. package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +1 -1
  133. package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.d.ts +1 -1
  134. package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +1 -1
  135. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.d.ts +1 -1
  136. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +1 -1
  137. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.d.ts +1 -1
  138. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +3 -3
  139. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.d.ts +1 -1
  140. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +3 -3
  141. package/vscode/src/vs/workbench/api/browser/mainThreadUrls.d.ts +1 -1
  142. package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +1 -1
  143. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.d.ts +1 -1
  144. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +1 -1
  145. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.d.ts +1 -1
  146. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.d.ts +1 -1
  147. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.d.ts +1 -1
  148. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +1 -1
  149. package/vscode/src/vs/workbench/api/browser/mainThreadWindow.d.ts +1 -1
  150. package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +1 -1
  151. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.d.ts +1 -1
  152. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +6 -6
  153. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +1 -1
  154. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +23 -23
  155. package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +2 -2
  156. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +12 -12
  157. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +2 -2
  158. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +1 -1
  159. package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +4 -4
  160. package/vscode/src/vs/workbench/services/themes/browser/cssExtensionPoint.js +5 -5
  161. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.d.ts +0 -104
  162. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +0 -827
  163. package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.d.ts +0 -15
  164. package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.js +0 -71
  165. package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.d.ts +0 -16
  166. package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.js +0 -95
  167. package/vscode/src/vs/workbench/api/browser/mainThreadChatDebug.d.ts +0 -22
  168. package/vscode/src/vs/workbench/api/browser/mainThreadChatDebug.js +0 -286
  169. package/vscode/src/vs/workbench/api/browser/mainThreadChatInputNotification.d.ts +0 -10
  170. package/vscode/src/vs/workbench/api/browser/mainThreadChatInputNotification.js +0 -38
  171. package/vscode/src/vs/workbench/api/browser/mainThreadChatQuota.d.ts +0 -9
  172. package/vscode/src/vs/workbench/api/browser/mainThreadChatQuota.js +0 -22
  173. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.d.ts +0 -130
  174. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +0 -907
  175. package/vscode/src/vs/workbench/api/browser/mainThreadChatStatus.d.ts +0 -10
  176. package/vscode/src/vs/workbench/api/browser/mainThreadChatStatus.js +0 -28
  177. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.d.ts +0 -63
  178. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +0 -305
  179. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.d.ts +0 -27
  180. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +0 -167
  181. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.d.ts +0 -46
  182. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +0 -356
  183. package/vscode/src/vs/workbench/api/browser/mainThreadMcp.d.ts +0 -108
  184. package/vscode/src/vs/workbench/api/browser/mainThreadMcp.js +0 -698
  185. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.d.ts +0 -22
  186. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +0 -210
  187. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.d.ts +0 -24
  188. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +0 -138
  189. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.d.ts +0 -29
  190. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +0 -194
  191. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.d.ts +0 -17
  192. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +0 -128
  193. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.d.ts +0 -27
  194. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +0 -149
  195. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.d.ts +0 -49
  196. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +0 -372
  197. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.d.ts +0 -10
  198. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.js +0 -26
  199. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.d.ts +0 -9
  200. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +0 -43
  201. package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.d.ts +0 -32
  202. package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.js +0 -45
@@ -1,356 +0,0 @@
1
-
2
- import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { DeferredPromise, AsyncIterableSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/async';
4
- import { VSBuffer } from '@codingame/monaco-vscode-api/vscode/vs/base/common/buffer';
5
- import { CancellationTokenSource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
6
- import { toErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errorMessage';
7
- import { CancellationError, transformErrorFromSerialization, transformErrorForSerialization } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
8
- import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
9
- import { equalSets } from '@codingame/monaco-vscode-api/vscode/vs/base/common/collections';
10
- import { Disposable, DisposableStore, DisposableMap, toDisposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
11
- import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
12
- import { localize } from '@codingame/monaco-vscode-api/vscode/vs/nls';
13
- import { ExtensionIdentifier } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions';
14
- import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
15
- import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
16
- import { resizeImage } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatImageUtils';
17
- import { ILanguageModelIgnoredFilesService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/ignoredFiles.service';
18
- import { ILanguageModelsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service';
19
- import { IAuthenticationAccessService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/browser/authenticationAccessService.service';
20
- import { INTERNAL_AUTH_PROVIDER_PREFIX } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/common/authentication';
21
- import { IAuthenticationService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/common/authentication.service';
22
- import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
23
- import { IExtensionService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service';
24
- import { SerializableObjectWithBuffers } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/proxyIdentifier';
25
- import { ExtHostContext, MainContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
26
- import { LanguageModelError } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHostTypes';
27
-
28
- class RequestCancellationTokenSource extends Disposable {
29
- constructor(parent, onCancellationRequested) {
30
- super();
31
- this._source = this._register(( new CancellationTokenSource(parent)));
32
- if (onCancellationRequested) {
33
- this._register(this._source.token.onCancellationRequested(onCancellationRequested));
34
- }
35
- }
36
- get token() {
37
- return this._source.token;
38
- }
39
- cancel() {
40
- this._source.cancel();
41
- }
42
- }
43
- let MainThreadLanguageModels = class MainThreadLanguageModels {
44
- constructor(
45
- extHostContext,
46
- _chatProviderService,
47
- _logService,
48
- _productService,
49
- _authenticationService,
50
- _authenticationAccessService,
51
- _extensionService,
52
- _ignoredFilesService
53
- ) {
54
- this._chatProviderService = _chatProviderService;
55
- this._logService = _logService;
56
- this._productService = _productService;
57
- this._authenticationService = _authenticationService;
58
- this._authenticationAccessService = _authenticationAccessService;
59
- this._extensionService = _extensionService;
60
- this._ignoredFilesService = _ignoredFilesService;
61
- this._store = ( new DisposableStore());
62
- this._providerRegistrations = ( new DisposableMap());
63
- this._lmProviderChange = ( new Emitter());
64
- this._pendingProgress = ( new Map());
65
- this._pendingCancelCTS = ( new DisposableMap());
66
- this._ignoredFileProviderRegistrations = ( new DisposableMap());
67
- this._proxy = ( extHostContext.getProxy(ExtHostContext.ExtHostChatProvider));
68
- let lastModelIds = ( new Set(this._chatProviderService.getLanguageModelIds()));
69
- this._store.add(this._chatProviderService.onDidChangeLanguageModels(() => {
70
- const currentModelIds = ( new Set(this._chatProviderService.getLanguageModelIds()));
71
- if (equalSets(lastModelIds, currentModelIds)) {
72
- return;
73
- }
74
- lastModelIds = currentModelIds;
75
- this._proxy.$onChatModelsChange();
76
- }));
77
- }
78
- dispose() {
79
- this._lmProviderChange.dispose();
80
- this._providerRegistrations.dispose();
81
- this._pendingProgress.clear();
82
- this._pendingCancelCTS.dispose();
83
- this._ignoredFileProviderRegistrations.dispose();
84
- this._store.dispose();
85
- }
86
- $registerLanguageModelProvider(vendor) {
87
- const disposables = ( new DisposableStore());
88
- try {
89
- disposables.add(this._chatProviderService.registerLanguageModelProvider(vendor, {
90
- onDidChange: Event.filter(this._lmProviderChange.event, e => e.vendor === vendor, disposables),
91
- provideLanguageModelChatInfo: async (options, token) => {
92
- const modelsAndIdentifiers = await this._proxy.$provideLanguageModelChatInfo(vendor, options, token);
93
- const copilotExtensionId = this._productService.defaultChatAgent?.chatExtensionId;
94
- return ( modelsAndIdentifiers.map(m => {
95
- if (m.metadata.auth) {
96
- disposables.add(
97
- this._registerAuthenticationProvider(m.metadata.extension, m.metadata.auth)
98
- );
99
- }
100
- if (m.metadata.isBYOK !== undefined) {
101
- return m;
102
- }
103
- const isBuiltinCopilot = !!copilotExtensionId && ExtensionIdentifier.equals(m.metadata.extension, copilotExtensionId);
104
- return {
105
- ...m,
106
- metadata: {
107
- ...m.metadata,
108
- isBYOK: !isBuiltinCopilot
109
- }
110
- };
111
- }));
112
- },
113
- sendChatRequest: async (modelId, messages, from, options, token) => {
114
- const requestId = (Math.random() * 1e6) | 0;
115
- const defer = ( new DeferredPromise());
116
- defer.p.catch(() => {});
117
- const stream = new AsyncIterableSource();
118
- try {
119
- this._pendingProgress.set(requestId, {
120
- defer,
121
- stream
122
- });
123
- const cts = ( new RequestCancellationTokenSource(token, () => {
124
- this._proxy.$cancelLanguageModelChatRequest(requestId);
125
- }));
126
- this._pendingCancelCTS.set(requestId, cts);
127
- await Promise.all(( messages.flatMap(msg => msg.content).filter(part => part.type === "image_url").map(async part => {
128
- part.value.data = VSBuffer.wrap(await resizeImage(part.value.data.buffer));
129
- })));
130
- if (token.isCancellationRequested) {
131
- this._pendingProgress.delete(requestId);
132
- this._pendingCancelCTS.deleteAndDispose(requestId);
133
- const err = ( new CancellationError());
134
- stream.reject(err);
135
- defer.error(err);
136
- return {
137
- result: defer.p,
138
- stream: stream.asyncIterable
139
- };
140
- }
141
- await this._proxy.$startChatRequest(modelId, requestId, from, ( new SerializableObjectWithBuffers(messages)), options, cts.token);
142
- } catch (err) {
143
- this._pendingProgress.delete(requestId);
144
- this._pendingCancelCTS.deleteAndDispose(requestId);
145
- throw err;
146
- }
147
- return {
148
- result: defer.p,
149
- stream: stream.asyncIterable
150
- };
151
- },
152
- provideTokenCount: (modelId, str, token) => {
153
- return this._proxy.$provideTokenLength(modelId, str, token);
154
- }
155
- }));
156
- this._providerRegistrations.set(vendor, disposables);
157
- } catch (err) {
158
- disposables.dispose();
159
- throw err;
160
- }
161
- }
162
- $onLMProviderChange(vendor) {
163
- this._lmProviderChange.fire({
164
- vendor
165
- });
166
- }
167
- async $reportResponsePart(requestId, chunk) {
168
- const data = this._pendingProgress.get(requestId);
169
- this._logService.trace("[LM] report response PART", Boolean(data), requestId, chunk);
170
- if (data) {
171
- data.stream.emitOne(chunk.value);
172
- }
173
- }
174
- async $reportResponseDone(requestId, err) {
175
- const data = this._pendingProgress.get(requestId);
176
- this._logService.trace("[LM] report response DONE", Boolean(data), requestId, err);
177
- if (data) {
178
- this._pendingProgress.delete(requestId);
179
- this._pendingCancelCTS.deleteAndDispose(requestId);
180
- if (err) {
181
- const error = LanguageModelError.tryDeserialize(err) ?? transformErrorFromSerialization(err);
182
- data.stream.reject(error);
183
- data.defer.error(error);
184
- } else {
185
- data.stream.resolve();
186
- data.defer.complete(undefined);
187
- }
188
- }
189
- }
190
- $unregisterProvider(vendor) {
191
- this._providerRegistrations.deleteAndDispose(vendor);
192
- }
193
- $cancelLanguageModelChatRequest(requestId) {
194
- this._pendingCancelCTS.get(requestId)?.cancel();
195
- }
196
- $selectChatModels(selector) {
197
- return this._chatProviderService.selectLanguageModels(selector);
198
- }
199
- async $tryStartChatRequest(extension, modelIdentifier, requestId, messages, options, token) {
200
- this._logService.trace("[CHAT] request STARTED", extension.value, requestId);
201
- const cts = ( new RequestCancellationTokenSource(token));
202
- this._pendingCancelCTS.set(requestId, cts);
203
- let response;
204
- try {
205
- response = await this._chatProviderService.sendChatRequest(modelIdentifier, extension, messages.value, options, cts.token);
206
- } catch (err) {
207
- this._logService.error("[CHAT] request FAILED", extension.value, requestId, err);
208
- this._pendingCancelCTS.deleteAndDispose(requestId);
209
- throw err;
210
- }
211
- const streaming = (async () => {
212
- try {
213
- for await (const part of response.stream) {
214
- this._logService.trace("[CHAT] request PART", extension.value, requestId, part);
215
- await this._proxy.$acceptResponsePart(requestId, ( new SerializableObjectWithBuffers(part)));
216
- }
217
- this._logService.trace("[CHAT] request DONE", extension.value, requestId);
218
- } catch (err) {
219
- this._logService.error(
220
- "[CHAT] extension request ERRORED in STREAM",
221
- toErrorMessage(err, true),
222
- extension.value,
223
- requestId
224
- );
225
- this._proxy.$acceptResponseDone(requestId, transformErrorForSerialization(err));
226
- }
227
- })();
228
- Promise.allSettled([response.result, streaming]).then(() => {
229
- this._logService.debug("[CHAT] extension request DONE", extension.value, requestId);
230
- this._pendingCancelCTS.deleteAndDispose(requestId);
231
- this._proxy.$acceptResponseDone(requestId, undefined);
232
- }, err => {
233
- this._logService.error(
234
- "[CHAT] extension request ERRORED",
235
- toErrorMessage(err, true),
236
- extension.value,
237
- requestId
238
- );
239
- this._pendingCancelCTS.deleteAndDispose(requestId);
240
- this._proxy.$acceptResponseDone(requestId, transformErrorForSerialization(err));
241
- });
242
- }
243
- $countTokens(modelId, value, token) {
244
- return this._chatProviderService.computeTokenLength(modelId, value, token);
245
- }
246
- _registerAuthenticationProvider(extension, auth) {
247
- const authProviderId = INTERNAL_AUTH_PROVIDER_PREFIX + extension.value;
248
- if (this._authenticationService.getProviderIds().includes(authProviderId)) {
249
- return Disposable.None;
250
- }
251
- const accountLabel = auth.accountLabel ?? ( localize(2966, "Language Models"));
252
- const disposables = ( new DisposableStore());
253
- const provider = ( new LanguageModelAccessAuthProvider(authProviderId, auth.providerLabel, accountLabel));
254
- this._authenticationService.registerAuthenticationProvider(authProviderId, provider);
255
- disposables.add(toDisposable(() => {
256
- this._authenticationService.unregisterAuthenticationProvider(authProviderId);
257
- provider.dispose();
258
- }));
259
- disposables.add(
260
- this._authenticationAccessService.onDidChangeExtensionSessionAccess(async e => {
261
- const allowedExtensions = this._authenticationAccessService.readAllowedExtensions(authProviderId, accountLabel);
262
- const accessList = [];
263
- for (const allowedExtension of allowedExtensions) {
264
- const from = await this._extensionService.getExtension(allowedExtension.id);
265
- if (from) {
266
- accessList.push({
267
- from: from.identifier,
268
- to: extension,
269
- enabled: allowedExtension.allowed ?? true
270
- });
271
- }
272
- }
273
- this._proxy.$updateModelAccesslist(accessList);
274
- })
275
- );
276
- return disposables;
277
- }
278
- $fileIsIgnored(uri, token) {
279
- return this._ignoredFilesService.fileIsIgnored(URI.revive(uri), token);
280
- }
281
- $registerFileIgnoreProvider(handle) {
282
- this._ignoredFileProviderRegistrations.set(handle, this._ignoredFilesService.registerIgnoredFileProvider({
283
- isFileIgnored: async (uri, token) => this._proxy.$isFileIgnored(handle, uri, token)
284
- }));
285
- }
286
- $unregisterFileIgnoreProvider(handle) {
287
- this._ignoredFileProviderRegistrations.deleteAndDispose(handle);
288
- }
289
- };
290
- MainThreadLanguageModels = __decorate(
291
- [extHostNamedCustomer(MainContext.MainThreadLanguageModels), ( __param(1, ILanguageModelsService)), ( __param(2, ILogService)), ( __param(3, IProductService)), ( __param(4, IAuthenticationService)), ( __param(5, IAuthenticationAccessService)), ( __param(6, IExtensionService)), ( __param(7, ILanguageModelIgnoredFilesService))],
292
- MainThreadLanguageModels
293
- );
294
- class LanguageModelAccessAuthProvider {
295
- constructor(id, label, _accountLabel) {
296
- this.id = id;
297
- this.label = label;
298
- this._accountLabel = _accountLabel;
299
- this.supportsMultipleAccounts = false;
300
- this._onDidChangeSessions = ( new Emitter());
301
- this.onDidChangeSessions = this._onDidChangeSessions.event;
302
- }
303
- async getSessions(scopes) {
304
- if (scopes === undefined && !this._session) {
305
- return [];
306
- }
307
- if (this._session) {
308
- return [this._session];
309
- }
310
- return [await this.createSession(scopes || [])];
311
- }
312
- async createSession(scopes) {
313
- this._session = this._createFakeSession(scopes);
314
- this._onDidChangeSessions.fire({
315
- added: [this._session],
316
- changed: [],
317
- removed: []
318
- });
319
- return this._session;
320
- }
321
- removeSession(sessionId) {
322
- if (this._session) {
323
- this._onDidChangeSessions.fire({
324
- added: [],
325
- changed: [],
326
- removed: [this._session]
327
- });
328
- this._session = undefined;
329
- }
330
- return Promise.resolve();
331
- }
332
- confirmation(extensionName, _recreatingSession) {
333
- return localize(
334
- 2967,
335
- "The extension '{0}' wants to access the language models provided by {1}.",
336
- extensionName,
337
- this.label
338
- );
339
- }
340
- _createFakeSession(scopes) {
341
- return {
342
- id: "fake-session",
343
- account: {
344
- id: this.id,
345
- label: this._accountLabel
346
- },
347
- accessToken: "fake-access-token",
348
- scopes
349
- };
350
- }
351
- dispose() {
352
- this._onDidChangeSessions.dispose();
353
- }
354
- }
355
-
356
- export { MainThreadLanguageModels };
@@ -1,108 +0,0 @@
1
- import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
- import { URI, UriComponents } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
3
- import { IContextKeyService } from "@codingame/monaco-vscode-api/vscode/vs/platform/contextkey/common/contextkey.service";
4
- import { IConfigurationService } from "@codingame/monaco-vscode-api/vscode/vs/platform/configuration/common/configuration.service";
5
- import { IDialogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/dialogs/common/dialogs.service";
6
- import { LogLevel } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log";
7
- import { ITelemetryService } from "@codingame/monaco-vscode-api/vscode/vs/platform/telemetry/common/telemetry.service";
8
- import { ISecretStorageService } from "@codingame/monaco-vscode-api/vscode/vs/platform/secrets/common/secrets.service";
9
- import { IWorkbenchMcpGatewayService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpGatewayService.service";
10
- import { IMcpRegistry } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpRegistryTypes.service";
11
- import { McpCollectionDefinition, McpConnectionState, McpServerDefinition } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/mcp/common/mcpTypes";
12
- import { IAuthenticationMcpAccessService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/browser/authenticationMcpAccessService.service";
13
- import { IAuthenticationMcpService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/browser/authenticationMcpService.service";
14
- import { IAuthenticationMcpUsageService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/browser/authenticationMcpUsageService.service";
15
- import { IAuthenticationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/common/authentication.service";
16
- import { IDynamicAuthenticationProviderStorageService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/common/dynamicAuthenticationProviderStorage.service";
17
- import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service";
18
- import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js";
19
- import { IMcpAuthenticationDetails, IMcpAuthenticationOptions, IAuthMetadataSource, MainThreadMcpShape } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
20
- export declare class MainThreadMcp extends Disposable implements MainThreadMcpShape {
21
- private readonly _extHostContext;
22
- private readonly _mcpRegistry;
23
- private readonly dialogService;
24
- private readonly _authenticationService;
25
- private readonly authenticationMcpServersService;
26
- private readonly authenticationMCPServerAccessService;
27
- private readonly authenticationMCPServerUsageService;
28
- private readonly _dynamicAuthenticationProviderStorageService;
29
- private readonly _extensionService;
30
- private readonly _contextKeyService;
31
- private readonly _telemetryService;
32
- private readonly _mcpGatewayService;
33
- private readonly _configurationService;
34
- private readonly _secretStorageService;
35
- private _serverIdCounter;
36
- private readonly _servers;
37
- private readonly _serverDefinitions;
38
- private readonly _serverAuthTracking;
39
- private readonly _proxy;
40
- private readonly _collectionDefinitions;
41
- private readonly _gateways;
42
- constructor(_extHostContext: IExtHostContext, _mcpRegistry: IMcpRegistry, dialogService: IDialogService, _authenticationService: IAuthenticationService, authenticationMcpServersService: IAuthenticationMcpService, authenticationMCPServerAccessService: IAuthenticationMcpAccessService, authenticationMCPServerUsageService: IAuthenticationMcpUsageService, _dynamicAuthenticationProviderStorageService: IDynamicAuthenticationProviderStorageService, _extensionService: IExtensionService, _contextKeyService: IContextKeyService, _telemetryService: ITelemetryService, _mcpGatewayService: IWorkbenchMcpGatewayService, _configurationService: IConfigurationService, _secretStorageService: ISecretStorageService);
43
- private _publishServerDefinitions;
44
- $upsertMcpCollection(collection: McpCollectionDefinition.FromExtHost, serversDto: McpServerDefinition.Serialized[]): void;
45
- $deleteMcpCollection(collectionId: string): void;
46
- $onDidChangeState(id: number, update: McpConnectionState): void;
47
- $onDidPublishLog(id: number, level: LogLevel, log: string): void;
48
- $onDidReceiveMessage(id: number, message: string): void;
49
- $getTokenForProviderId(id: number, providerId: string, scopes: string[], options?: IMcpAuthenticationOptions): Promise<string | undefined>;
50
- $getTokenFromServerMetadata(id: number, authDetails: IMcpAuthenticationDetails, { errorOnUserInteraction, forceNewRegistration, clientId }?: IMcpAuthenticationOptions): Promise<string | undefined>;
51
- private _ensureXaaIssuer;
52
- private _getSessionForProvider;
53
- private continueWithIncorrectAccountPrompt;
54
- private _onDidChangeAuthSessions;
55
- $logMcpAuthSetup(data: IAuthMetadataSource): void;
56
- $startMcpGateway(chatSessionResource?: UriComponents): Promise<{
57
- servers: {
58
- label: string;
59
- address: URI;
60
- }[];
61
- gatewayId: string;
62
- } | undefined>;
63
- $disposeMcpGateway(gatewayId: string): void;
64
- private loginPrompt;
65
- dispose(): void;
66
- }
67
- /**
68
- * The context needed to re-acquire a token for a tracked MCP server, captured when the
69
- * session was first established. The tracker holds this opaquely and replays it verbatim on
70
- * re-validation so the silent token request targets the same authority / resource / audience
71
- * that the original sign-in used. Dropping the authorization server here would let the provider
72
- * fall back to a default authority (e.g. the Microsoft provider's `organizations` tenant) and
73
- * request a token against the wrong tenant.
74
- */
75
- export interface IMcpServerAuthContext {
76
- readonly authorizationServer?: URI;
77
- readonly clientId?: string;
78
- readonly resource?: string;
79
- readonly audience?: string;
80
- }
81
- /**
82
- * Tracks which MCP servers are using which authentication providers.
83
- * Organized by provider ID for efficient lookup when auth sessions change.
84
- */
85
- export declare class McpServerAuthTracker {
86
- private readonly _tracking;
87
- /**
88
- * Track authentication for a server with a specific provider.
89
- * Replaces any existing tracking for this server/provider combination.
90
- */
91
- track(providerId: string, serverId: number, scopes: string[], context: IMcpServerAuthContext): void;
92
- /**
93
- * Remove all authentication tracking for a server across all providers.
94
- */
95
- untrack(serverId: number): void;
96
- /**
97
- * Get all servers using a specific authentication provider.
98
- */
99
- get(providerId: string): ReadonlyArray<{
100
- serverId: number;
101
- scopes: string[];
102
- context: IMcpServerAuthContext;
103
- }> | undefined;
104
- /**
105
- * Clear all tracking data.
106
- */
107
- clear(): void;
108
- }