@codingame/monaco-vscode-extensions-service-override 37.1.0 → 37.3.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 (207) 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 +37 -37
  6. package/vscode/src/vs/workbench/api/browser/mainThreadAgentEditorComments.d.ts +1 -1
  7. package/vscode/src/vs/workbench/api/browser/mainThreadAgentEditorComments.js +3 -3
  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 +32 -32
  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 +7 -7
  22. package/vscode/src/vs/workbench/api/browser/mainThreadCLICommands.js +2 -2
  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 +9 -9
  40. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.d.ts +1 -1
  41. package/vscode/src/vs/workbench/api/browser/mainThreadDebugService.js +7 -7
  42. package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.d.ts +1 -1
  43. package/vscode/src/vs/workbench/api/browser/mainThreadDecorations.js +2 -2
  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 +4 -2
  50. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentDiff.d.ts +1 -1
  51. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentDiff.js +5 -5
  52. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.d.ts +1 -1
  53. package/vscode/src/vs/workbench/api/browser/mainThreadDocumentsAndEditors.js +9 -9
  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/mainThreadEditor.js +5 -5
  60. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.d.ts +1 -1
  61. package/vscode/src/vs/workbench/api/browser/mainThreadEditorTabs.js +1 -1
  62. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.d.ts +1 -1
  63. package/vscode/src/vs/workbench/api/browser/mainThreadEditors.js +10 -10
  64. package/vscode/src/vs/workbench/api/browser/mainThreadEmbeddings.d.ts +1 -1
  65. package/vscode/src/vs/workbench/api/browser/mainThreadEmbeddings.js +1 -1
  66. package/vscode/src/vs/workbench/api/browser/mainThreadErrors.js +1 -1
  67. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.d.ts +1 -1
  68. package/vscode/src/vs/workbench/api/browser/mainThreadExtensionService.js +13 -13
  69. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.d.ts +1 -1
  70. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystem.js +3 -3
  71. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.d.ts +1 -1
  72. package/vscode/src/vs/workbench/api/browser/mainThreadFileSystemEventService.js +21 -21
  73. package/vscode/src/vs/workbench/api/browser/mainThreadGitExtensionService.d.ts +1 -1
  74. package/vscode/src/vs/workbench/api/browser/mainThreadGitExtensionService.js +5 -5
  75. package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.d.ts +1 -1
  76. package/vscode/src/vs/workbench/api/browser/mainThreadInteractive.js +1 -1
  77. package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.d.ts +1 -1
  78. package/vscode/src/vs/workbench/api/browser/mainThreadLabelService.js +1 -1
  79. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.d.ts +1 -1
  80. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageFeatures.js +16 -16
  81. package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.d.ts +1 -1
  82. package/vscode/src/vs/workbench/api/browser/mainThreadLanguages.js +2 -2
  83. package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.d.ts +1 -1
  84. package/vscode/src/vs/workbench/api/browser/mainThreadLocalization.js +1 -1
  85. package/vscode/src/vs/workbench/api/browser/mainThreadLogService.d.ts +1 -1
  86. package/vscode/src/vs/workbench/api/browser/mainThreadLogService.js +1 -1
  87. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.d.ts +1 -1
  88. package/vscode/src/vs/workbench/api/browser/mainThreadManagedSockets.js +1 -1
  89. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.d.ts +1 -1
  90. package/vscode/src/vs/workbench/api/browser/mainThreadMessageService.js +7 -7
  91. package/vscode/src/vs/workbench/api/browser/mainThreadMeteredConnection.d.ts +1 -1
  92. package/vscode/src/vs/workbench/api/browser/mainThreadMeteredConnection.js +1 -1
  93. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.d.ts +1 -1
  94. package/vscode/src/vs/workbench/api/browser/mainThreadOutputService.js +4 -4
  95. package/vscode/src/vs/workbench/api/browser/mainThreadPower.d.ts +1 -1
  96. package/vscode/src/vs/workbench/api/browser/mainThreadPower.js +1 -1
  97. package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.d.ts +1 -1
  98. package/vscode/src/vs/workbench/api/browser/mainThreadProfileContentHandlers.js +1 -1
  99. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.d.ts +1 -1
  100. package/vscode/src/vs/workbench/api/browser/mainThreadProgress.js +2 -2
  101. package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.d.ts +1 -1
  102. package/vscode/src/vs/workbench/api/browser/mainThreadQuickDiff.js +3 -3
  103. package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.d.ts +1 -1
  104. package/vscode/src/vs/workbench/api/browser/mainThreadQuickOpen.js +4 -4
  105. package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.d.ts +1 -1
  106. package/vscode/src/vs/workbench/api/browser/mainThreadRemoteConnectionData.js +1 -1
  107. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.d.ts +1 -1
  108. package/vscode/src/vs/workbench/api/browser/mainThreadSCM.js +8 -8
  109. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.d.ts +1 -1
  110. package/vscode/src/vs/workbench/api/browser/mainThreadSaveParticipant.js +2 -2
  111. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.d.ts +1 -1
  112. package/vscode/src/vs/workbench/api/browser/mainThreadSearch.js +1 -1
  113. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.d.ts +1 -1
  114. package/vscode/src/vs/workbench/api/browser/mainThreadSecretState.js +3 -3
  115. package/vscode/src/vs/workbench/api/browser/mainThreadShare.d.ts +1 -1
  116. package/vscode/src/vs/workbench/api/browser/mainThreadShare.js +1 -1
  117. package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.d.ts +1 -1
  118. package/vscode/src/vs/workbench/api/browser/mainThreadSpeech.js +1 -1
  119. package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.d.ts +1 -1
  120. package/vscode/src/vs/workbench/api/browser/mainThreadStatusBar.js +1 -1
  121. package/vscode/src/vs/workbench/api/browser/mainThreadStorage.d.ts +1 -1
  122. package/vscode/src/vs/workbench/api/browser/mainThreadStorage.js +1 -1
  123. package/vscode/src/vs/workbench/api/browser/mainThreadTask.d.ts +1 -1
  124. package/vscode/src/vs/workbench/api/browser/mainThreadTask.js +3 -3
  125. package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.d.ts +1 -1
  126. package/vscode/src/vs/workbench/api/browser/mainThreadTelemetry.js +1 -1
  127. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.d.ts +2 -2
  128. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalService.js +6 -6
  129. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.d.ts +1 -1
  130. package/vscode/src/vs/workbench/api/browser/mainThreadTerminalShellIntegration.js +2 -2
  131. package/vscode/src/vs/workbench/api/browser/mainThreadTesting.d.ts +1 -1
  132. package/vscode/src/vs/workbench/api/browser/mainThreadTesting.js +13 -7
  133. package/vscode/src/vs/workbench/api/browser/mainThreadTheming.d.ts +1 -1
  134. package/vscode/src/vs/workbench/api/browser/mainThreadTheming.js +1 -1
  135. package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.d.ts +1 -1
  136. package/vscode/src/vs/workbench/api/browser/mainThreadTimeline.js +1 -1
  137. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.d.ts +1 -1
  138. package/vscode/src/vs/workbench/api/browser/mainThreadTreeViews.js +14 -9
  139. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.d.ts +1 -1
  140. package/vscode/src/vs/workbench/api/browser/mainThreadTunnelService.js +7 -7
  141. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.d.ts +1 -1
  142. package/vscode/src/vs/workbench/api/browser/mainThreadUriOpeners.js +3 -3
  143. package/vscode/src/vs/workbench/api/browser/mainThreadUrls.d.ts +1 -1
  144. package/vscode/src/vs/workbench/api/browser/mainThreadUrls.js +1 -1
  145. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.d.ts +1 -1
  146. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewManager.js +1 -1
  147. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewPanels.d.ts +1 -1
  148. package/vscode/src/vs/workbench/api/browser/mainThreadWebviewViews.d.ts +1 -1
  149. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.d.ts +1 -1
  150. package/vscode/src/vs/workbench/api/browser/mainThreadWebviews.js +2 -2
  151. package/vscode/src/vs/workbench/api/browser/mainThreadWindow.d.ts +1 -1
  152. package/vscode/src/vs/workbench/api/browser/mainThreadWindow.js +1 -1
  153. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.d.ts +1 -1
  154. package/vscode/src/vs/workbench/api/browser/mainThreadWorkspace.js +15 -13
  155. package/vscode/src/vs/workbench/contrib/customEditor/common/customTextEditorModel.js +1 -1
  156. package/vscode/src/vs/workbench/services/extensionManagement/browser/extensionBisect.js +25 -25
  157. package/vscode/src/vs/workbench/services/extensionManagement/browser/webExtensionsScannerService.js +37 -32
  158. package/vscode/src/vs/workbench/services/extensions/browser/extensionService.js +18 -10
  159. package/vscode/src/vs/workbench/services/extensions/common/abstractExtensionService.js +55 -45
  160. package/vscode/src/vs/workbench/services/extensions/common/extensionHostManager.js +5 -5
  161. package/vscode/src/vs/workbench/services/extensions/common/extensionRunningLocationTracker.js +3 -1
  162. package/vscode/src/vs/workbench/services/extensions/common/extensionsProposedApi.js +4 -2
  163. package/vscode/src/vs/workbench/services/extensions/common/extensionsUtil.js +4 -4
  164. package/vscode/src/vs/workbench/services/extensions/common/lazyCreateExtensionHostManager.js +4 -2
  165. package/vscode/src/vs/workbench/services/themes/browser/cssExtensionPoint.js +5 -5
  166. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.d.ts +0 -104
  167. package/vscode/src/vs/workbench/api/browser/mainThreadChatAgents2.js +0 -827
  168. package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.d.ts +0 -15
  169. package/vscode/src/vs/workbench/api/browser/mainThreadChatCodeMapper.js +0 -71
  170. package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.d.ts +0 -16
  171. package/vscode/src/vs/workbench/api/browser/mainThreadChatContext.js +0 -95
  172. package/vscode/src/vs/workbench/api/browser/mainThreadChatDebug.d.ts +0 -22
  173. package/vscode/src/vs/workbench/api/browser/mainThreadChatDebug.js +0 -286
  174. package/vscode/src/vs/workbench/api/browser/mainThreadChatInputNotification.d.ts +0 -10
  175. package/vscode/src/vs/workbench/api/browser/mainThreadChatInputNotification.js +0 -38
  176. package/vscode/src/vs/workbench/api/browser/mainThreadChatQuota.d.ts +0 -9
  177. package/vscode/src/vs/workbench/api/browser/mainThreadChatQuota.js +0 -22
  178. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.d.ts +0 -130
  179. package/vscode/src/vs/workbench/api/browser/mainThreadChatSessions.js +0 -907
  180. package/vscode/src/vs/workbench/api/browser/mainThreadChatStatus.d.ts +0 -10
  181. package/vscode/src/vs/workbench/api/browser/mainThreadChatStatus.js +0 -28
  182. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.d.ts +0 -63
  183. package/vscode/src/vs/workbench/api/browser/mainThreadDocuments.js +0 -305
  184. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.d.ts +0 -27
  185. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModelTools.js +0 -167
  186. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.d.ts +0 -46
  187. package/vscode/src/vs/workbench/api/browser/mainThreadLanguageModels.js +0 -356
  188. package/vscode/src/vs/workbench/api/browser/mainThreadMcp.d.ts +0 -108
  189. package/vscode/src/vs/workbench/api/browser/mainThreadMcp.js +0 -698
  190. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.d.ts +0 -22
  191. package/vscode/src/vs/workbench/api/browser/mainThreadNotebook.js +0 -210
  192. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.d.ts +0 -24
  193. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocuments.js +0 -138
  194. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.d.ts +0 -29
  195. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDocumentsAndEditors.js +0 -194
  196. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.d.ts +0 -17
  197. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookDto.js +0 -128
  198. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.d.ts +0 -27
  199. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookEditors.js +0 -149
  200. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.d.ts +0 -49
  201. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookKernels.js +0 -372
  202. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.d.ts +0 -10
  203. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookRenderers.js +0 -26
  204. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.d.ts +0 -9
  205. package/vscode/src/vs/workbench/api/browser/mainThreadNotebookSaveParticipant.js +0 -43
  206. package/vscode/src/vs/workbench/services/extensions/common/extHostCustomers.d.ts +0 -32
  207. 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(3012, "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
- 3013,
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
- }