@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,10 +0,0 @@
1
- import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
2
- import { IChatStatusItemService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.service";
3
- import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js";
4
- import { ChatStatusItemDto, MainThreadChatStatusShape } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
5
- export declare class MainThreadChatStatus extends Disposable implements MainThreadChatStatusShape {
6
- private readonly _chatStatusItemService;
7
- constructor(_extHostContext: IExtHostContext, _chatStatusItemService: IChatStatusItemService);
8
- $setEntry(id: string, entry: ChatStatusItemDto): void;
9
- $disposeEntry(id: string): void;
10
- }
@@ -1,28 +0,0 @@
1
-
2
- import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
4
- import { IChatStatusItemService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/browser/chatStatus/chatStatusItemService.service';
5
- import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
6
- import { MainContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
7
-
8
- let MainThreadChatStatus = class MainThreadChatStatus extends Disposable {
9
- constructor(_extHostContext, _chatStatusItemService) {
10
- super();
11
- this._chatStatusItemService = _chatStatusItemService;
12
- }
13
- $setEntry(id, entry) {
14
- this._chatStatusItemService.setOrUpdateEntry({
15
- id,
16
- label: entry.title,
17
- description: entry.description,
18
- detail: entry.detail,
19
- tooltip: entry.tooltip
20
- });
21
- }
22
- $disposeEntry(id) {
23
- this._chatStatusItemService.deleteEntry(id);
24
- }
25
- };
26
- MainThreadChatStatus = __decorate([extHostNamedCustomer(MainContext.MainThreadChatStatus), ( __param(1, IChatStatusItemService))], MainThreadChatStatus);
27
-
28
- export { MainThreadChatStatus };
@@ -1,63 +0,0 @@
1
- import { IReference, 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 { ITextModel } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/model";
4
- import { IModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service";
5
- import { ITextModelService } from "@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service";
6
- import { IFileService } from "@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service";
7
- import { MainThreadDocumentsShape } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
8
- import { ITextFileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles.service";
9
- import { IWorkbenchEnvironmentService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service";
10
- import { IExtUri } from "@codingame/monaco-vscode-api/vscode/vs/base/common/resources";
11
- import { IWorkingCopyFileService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/workingCopy/common/workingCopyFileService.service";
12
- import { IUriIdentityService } from "@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service";
13
- import { Event } from "@codingame/monaco-vscode-api/vscode/vs/base/common/event";
14
- import { IPathService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service";
15
- import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js";
16
- export declare class BoundModelReferenceCollection {
17
- private readonly _extUri;
18
- private readonly _maxAge;
19
- private readonly _maxLength;
20
- private readonly _maxSize;
21
- private _data;
22
- private _length;
23
- constructor(_extUri: IExtUri, _maxAge?: number, // auto-dispse by age
24
- _maxLength?: number, // auto-dispose by total length
25
- _maxSize?: number);
26
- dispose(): void;
27
- remove(uri: URI): void;
28
- add(uri: URI, ref: IReference<unknown>, length?: number): void;
29
- private _cleanup;
30
- }
31
- export declare class MainThreadDocuments extends Disposable implements MainThreadDocumentsShape {
32
- private readonly _modelService;
33
- private readonly _textFileService;
34
- private readonly _fileService;
35
- private readonly _textModelResolverService;
36
- private readonly _environmentService;
37
- private readonly _uriIdentityService;
38
- private readonly _pathService;
39
- private _onIsCaughtUpWithContentChanges;
40
- readonly onIsCaughtUpWithContentChanges: Event<URI>;
41
- private readonly _proxy;
42
- private readonly _modelTrackers;
43
- private readonly _modelReferenceCollection;
44
- constructor(extHostContext: IExtHostContext, _modelService: IModelService, _textFileService: ITextFileService, _fileService: IFileService, _textModelResolverService: ITextModelService, _environmentService: IWorkbenchEnvironmentService, _uriIdentityService: IUriIdentityService, workingCopyFileService: IWorkingCopyFileService, _pathService: IPathService);
45
- dispose(): void;
46
- isCaughtUpWithContentChanges(resource: URI): boolean;
47
- private _shouldHandleFileEvent;
48
- handleModelAdded(model: ITextModel): void;
49
- private _onModelModeChanged;
50
- handleModelRemoved(modelUrl: URI): void;
51
- $trySaveDocument(uri: UriComponents): Promise<boolean>;
52
- $tryOpenDocument(uriData: UriComponents, options?: {
53
- encoding?: string;
54
- }): Promise<URI>;
55
- $tryCreateDocument(options?: {
56
- language?: string;
57
- content?: string;
58
- encoding?: string;
59
- }): Promise<URI>;
60
- private _handleAsResourceInput;
61
- private _handleUntitledScheme;
62
- private _doCreateUntitled;
63
- }
@@ -1,305 +0,0 @@
1
-
2
- import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { toErrorMessage } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errorMessage';
4
- import { dispose, Disposable } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
- import { Schemas } from '@codingame/monaco-vscode-api/vscode/vs/base/common/network';
6
- import { URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
7
- import { shouldSynchronizeModel } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/model';
8
- import { IModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/model.service';
9
- import { ITextModelService } from '@codingame/monaco-vscode-api/vscode/vs/editor/common/services/resolverService.service';
10
- import { FileOperation } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files';
11
- import { IFileService } from '@codingame/monaco-vscode-api/vscode/vs/platform/files/common/files.service';
12
- import { ExtHostContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
13
- import { TextFileResolveReason, EncodingMode } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles';
14
- import { ITextFileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/textfile/common/textfiles.service';
15
- import { IWorkbenchEnvironmentService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/environment/common/environmentService.service';
16
- import { extUri, toLocalResource } from '@codingame/monaco-vscode-api/vscode/vs/base/common/resources';
17
- import { IWorkingCopyFileService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/workingCopy/common/workingCopyFileService.service';
18
- import { IUriIdentityService } from '@codingame/monaco-vscode-api/vscode/vs/platform/uriIdentity/common/uriIdentity.service';
19
- import { Emitter, Event } from '@codingame/monaco-vscode-api/vscode/vs/base/common/event';
20
- import { IPathService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/path/common/pathService.service';
21
- import { ResourceMap } from '@codingame/monaco-vscode-api/vscode/vs/base/common/map';
22
- import { onUnexpectedError, ErrorNoTelemetry } from '@codingame/monaco-vscode-api/vscode/vs/base/common/errors';
23
-
24
- class BoundModelReferenceCollection {
25
- constructor(
26
- _extUri,
27
- _maxAge = 1000 * 60 * 3,
28
- _maxLength = 1024 * 1024 * 80,
29
- _maxSize = 50
30
- ) {
31
- this._extUri = _extUri;
32
- this._maxAge = _maxAge;
33
- this._maxLength = _maxLength;
34
- this._maxSize = _maxSize;
35
- this._data = ( new Array());
36
- this._length = 0;
37
- }
38
- dispose() {
39
- this._data = dispose(this._data);
40
- }
41
- remove(uri) {
42
- for (const entry of [...this._data] ) {
43
- if (this._extUri.isEqualOrParent(entry.uri, uri)) {
44
- entry.dispose();
45
- }
46
- }
47
- }
48
- add(uri, ref, length = 0) {
49
- const dispose = () => {
50
- const idx = this._data.indexOf(entry);
51
- if (idx >= 0) {
52
- this._length -= length;
53
- ref.dispose();
54
- clearTimeout(handle);
55
- this._data.splice(idx, 1);
56
- }
57
- };
58
- const handle = setTimeout(dispose, this._maxAge);
59
- const entry = {
60
- uri,
61
- length,
62
- dispose
63
- };
64
- this._data.push(entry);
65
- this._length += length;
66
- this._cleanup();
67
- }
68
- _cleanup() {
69
- while (this._length > this._maxLength) {
70
- this._data[0].dispose();
71
- }
72
- const extraSize = Math.ceil(this._maxSize * 1.2);
73
- if (this._data.length >= extraSize) {
74
- dispose(this._data.slice(0, extraSize - this._maxSize));
75
- }
76
- }
77
- }
78
- class ModelTracker extends Disposable {
79
- constructor(_model, _onIsCaughtUpWithContentChanges, _proxy, _textFileService) {
80
- super();
81
- this._model = _model;
82
- this._onIsCaughtUpWithContentChanges = _onIsCaughtUpWithContentChanges;
83
- this._proxy = _proxy;
84
- this._textFileService = _textFileService;
85
- this._knownVersionId = this._model.getVersionId();
86
- this._store.add(this._model.onDidChangeContent(e => {
87
- this._knownVersionId = e.versionId;
88
- if (e.detailedReasonsChangeLengths.length !== 1) {
89
- onUnexpectedError(( new Error(`Unexpected reasons: ${( e.detailedReasons.map(r => ( r.toString())))}`)));
90
- }
91
- const evt = {
92
- changes: e.changes,
93
- isEolChange: e.isEolChange,
94
- isUndoing: e.isUndoing,
95
- isRedoing: e.isRedoing,
96
- isFlush: e.isFlush,
97
- eol: e.eol,
98
- versionId: e.versionId,
99
- detailedReason: e.detailedReasons[0].metadata
100
- };
101
- this._proxy.$acceptModelChanged(this._model.uri, evt, this._textFileService.isDirty(this._model.uri));
102
- if (this.isCaughtUpWithContentChanges()) {
103
- this._onIsCaughtUpWithContentChanges.fire(this._model.uri);
104
- }
105
- }));
106
- }
107
- isCaughtUpWithContentChanges() {
108
- return (this._model.getVersionId() === this._knownVersionId);
109
- }
110
- }
111
- let MainThreadDocuments = class MainThreadDocuments extends Disposable {
112
- constructor(
113
- extHostContext,
114
- _modelService,
115
- _textFileService,
116
- _fileService,
117
- _textModelResolverService,
118
- _environmentService,
119
- _uriIdentityService,
120
- workingCopyFileService,
121
- _pathService
122
- ) {
123
- super();
124
- this._modelService = _modelService;
125
- this._textFileService = _textFileService;
126
- this._fileService = _fileService;
127
- this._textModelResolverService = _textModelResolverService;
128
- this._environmentService = _environmentService;
129
- this._uriIdentityService = _uriIdentityService;
130
- this._pathService = _pathService;
131
- this._onIsCaughtUpWithContentChanges = this._store.add(( new Emitter()));
132
- this.onIsCaughtUpWithContentChanges = this._onIsCaughtUpWithContentChanges.event;
133
- this._modelTrackers = ( new ResourceMap());
134
- this._modelReferenceCollection = this._store.add(( new BoundModelReferenceCollection(_uriIdentityService.extUri)));
135
- this._proxy = ( extHostContext.getProxy(ExtHostContext.ExtHostDocuments));
136
- this._store.add(_modelService.onModelLanguageChanged(this._onModelModeChanged, this));
137
- this._store.add(_textFileService.files.onDidSave(e => {
138
- if (this._shouldHandleFileEvent(e.model.resource)) {
139
- this._proxy.$acceptModelSaved(e.model.resource);
140
- }
141
- }));
142
- this._store.add(_textFileService.files.onDidChangeDirty(m => {
143
- if (this._shouldHandleFileEvent(m.resource)) {
144
- this._proxy.$acceptDirtyStateChanged(m.resource, m.isDirty());
145
- }
146
- }));
147
- this._store.add(Event.any(
148
- _textFileService.files.onDidChangeEncoding,
149
- _textFileService.untitled.onDidChangeEncoding
150
- )(m => {
151
- if (this._shouldHandleFileEvent(m.resource)) {
152
- const encoding = m.getEncoding();
153
- if (encoding) {
154
- this._proxy.$acceptEncodingChanged(m.resource, encoding);
155
- }
156
- }
157
- }));
158
- this._store.add(workingCopyFileService.onDidRunWorkingCopyFileOperation(e => {
159
- const isMove = e.operation === FileOperation.MOVE;
160
- if (isMove || e.operation === FileOperation.DELETE) {
161
- for (const pair of e.files) {
162
- const removed = isMove ? pair.source : pair.target;
163
- if (removed) {
164
- this._modelReferenceCollection.remove(removed);
165
- }
166
- }
167
- }
168
- }));
169
- }
170
- dispose() {
171
- dispose(( this._modelTrackers.values()));
172
- this._modelTrackers.clear();
173
- super.dispose();
174
- }
175
- isCaughtUpWithContentChanges(resource) {
176
- const tracker = this._modelTrackers.get(resource);
177
- if (tracker) {
178
- return tracker.isCaughtUpWithContentChanges();
179
- }
180
- return true;
181
- }
182
- _shouldHandleFileEvent(resource) {
183
- const model = this._modelService.getModel(resource);
184
- return !!model && shouldSynchronizeModel(model);
185
- }
186
- handleModelAdded(model) {
187
- if (!shouldSynchronizeModel(model)) {
188
- return;
189
- }
190
- this._modelTrackers.set(model.uri, ( new ModelTracker(
191
- model,
192
- this._onIsCaughtUpWithContentChanges,
193
- this._proxy,
194
- this._textFileService
195
- )));
196
- }
197
- _onModelModeChanged(event) {
198
- const {
199
- model
200
- } = event;
201
- if (!( this._modelTrackers.has(model.uri))) {
202
- return;
203
- }
204
- this._proxy.$acceptModelLanguageChanged(model.uri, model.getLanguageId());
205
- }
206
- handleModelRemoved(modelUrl) {
207
- if (!( this._modelTrackers.has(modelUrl))) {
208
- return;
209
- }
210
- this._modelTrackers.get(modelUrl).dispose();
211
- this._modelTrackers.delete(modelUrl);
212
- }
213
- async $trySaveDocument(uri) {
214
- const target = await this._textFileService.save(URI.revive(uri));
215
- return Boolean(target);
216
- }
217
- async $tryOpenDocument(uriData, options) {
218
- const inputUri = URI.revive(uriData);
219
- if (!inputUri.scheme || !(inputUri.fsPath || inputUri.authority)) {
220
- throw ( new ErrorNoTelemetry(`Invalid uri. Scheme and authority or path must be set.`));
221
- }
222
- const canonicalUri = this._uriIdentityService.asCanonicalUri(inputUri);
223
- let promise;
224
- switch (canonicalUri.scheme) {
225
- case Schemas.untitled:
226
- promise = this._handleUntitledScheme(canonicalUri, options);
227
- break;
228
- case Schemas.file:
229
- default:
230
- promise = this._handleAsResourceInput(canonicalUri, options);
231
- break;
232
- }
233
- let documentUri;
234
- try {
235
- documentUri = await promise;
236
- } catch (err) {
237
- throw ( new ErrorNoTelemetry(`cannot open ${( canonicalUri.toString())}. Detail: ${toErrorMessage(err)}`));
238
- }
239
- if (!documentUri) {
240
- throw ( new ErrorNoTelemetry(`cannot open ${( canonicalUri.toString())}`));
241
- } else if (!extUri.isEqual(documentUri, canonicalUri)) {
242
- throw ( new ErrorNoTelemetry(`cannot open ${( canonicalUri.toString())}. Detail: Actual document opened as ${( documentUri.toString())}`));
243
- } else if (!( this._modelTrackers.has(canonicalUri))) {
244
- throw ( new ErrorNoTelemetry(`cannot open ${( canonicalUri.toString())}. Detail: Files above 50MB cannot be synchronized with extensions.`));
245
- } else {
246
- return canonicalUri;
247
- }
248
- }
249
- $tryCreateDocument(options) {
250
- return this._doCreateUntitled(undefined, options);
251
- }
252
- async _handleAsResourceInput(uri, options) {
253
- if (options?.encoding) {
254
- const model = await this._textFileService.files.resolve(uri, {
255
- encoding: options.encoding,
256
- reason: TextFileResolveReason.REFERENCE
257
- });
258
- if (model.isDirty()) {
259
- throw ( new ErrorNoTelemetry(
260
- `Cannot re-open a dirty text document with different encoding. Save it first.`
261
- ));
262
- }
263
- await model.setEncoding(options.encoding, EncodingMode.Decode);
264
- }
265
- const ref = await this._textModelResolverService.createModelReference(uri);
266
- this._modelReferenceCollection.add(uri, ref, ref.object.textEditorModel.getValueLength());
267
- return ref.object.textEditorModel.uri;
268
- }
269
- async _handleUntitledScheme(uri, options) {
270
- const asLocalUri = toLocalResource(
271
- uri,
272
- this._environmentService.remoteAuthority,
273
- this._pathService.defaultUriScheme
274
- );
275
- const exists = await this._fileService.exists(asLocalUri);
276
- if (exists) {
277
- return Promise.reject(( new Error("file already exists")));
278
- }
279
- return await this._doCreateUntitled(Boolean(uri.path) ? uri : undefined, options);
280
- }
281
- async _doCreateUntitled(associatedResource, options) {
282
- const model = this._textFileService.untitled.create({
283
- associatedResource,
284
- languageId: options?.language,
285
- initialValue: options?.content,
286
- encoding: options?.encoding
287
- });
288
- if (options?.encoding) {
289
- await model.setEncoding(options.encoding);
290
- }
291
- const resource = model.resource;
292
- const ref = await this._textModelResolverService.createModelReference(resource);
293
- if (!( this._modelTrackers.has(resource))) {
294
- ref.dispose();
295
- throw ( new Error(`expected URI ${( resource.toString())} to have come to LIFE`));
296
- }
297
- this._modelReferenceCollection.add(resource, ref, ref.object.textEditorModel.getValueLength());
298
- Event.once(model.onDidRevert)(() => this._modelReferenceCollection.remove(resource));
299
- this._proxy.$acceptDirtyStateChanged(resource, true);
300
- return resource;
301
- }
302
- };
303
- MainThreadDocuments = ( __decorate([( __param(1, IModelService)), ( __param(2, ITextFileService)), ( __param(3, IFileService)), ( __param(4, ITextModelService)), ( __param(5, IWorkbenchEnvironmentService)), ( __param(6, IUriIdentityService)), ( __param(7, IWorkingCopyFileService)), ( __param(8, IPathService))], MainThreadDocuments));
304
-
305
- export { BoundModelReferenceCollection, MainThreadDocuments };
@@ -1,27 +0,0 @@
1
- import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
- import { Disposable } from "@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle";
3
- import { ExtensionIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions";
4
- import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
5
- import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service";
6
- import { IToolInvocation, IToolProgressStep, IToolResult } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService";
7
- import { ILanguageModelToolsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service";
8
- import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js";
9
- import { Dto, SerializableObjectWithBuffers } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/proxyIdentifier";
10
- import { IToolDataDto, IToolDefinitionDto, MainThreadLanguageModelToolsShape } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
11
- export declare class MainThreadLanguageModelTools extends Disposable implements MainThreadLanguageModelToolsShape {
12
- private readonly _languageModelToolsService;
13
- private readonly _logService;
14
- private readonly _productService;
15
- private readonly _proxy;
16
- private readonly _tools;
17
- private readonly _runningToolCalls;
18
- constructor(extHostContext: IExtHostContext, _languageModelToolsService: ILanguageModelToolsService, _logService: ILogService, _productService: IProductService);
19
- private getToolDtos;
20
- $getTools(): Promise<IToolDataDto[]>;
21
- $invokeTool(dto: Dto<IToolInvocation>, token?: CancellationToken): Promise<Dto<IToolResult> | SerializableObjectWithBuffers<Dto<IToolResult>>>;
22
- $acceptToolProgress(callId: string, progress: IToolProgressStep): void;
23
- $countTokensForInvocation(callId: string, input: string, token: CancellationToken): Promise<number>;
24
- $registerTool(id: string, hasHandleToolStream: boolean): void;
25
- $registerToolWithDefinition(extensionId: ExtensionIdentifier, definition: IToolDefinitionDto, hasHandleToolStream: boolean): void;
26
- $unregisterTool(name: string): void;
27
- }
@@ -1,167 +0,0 @@
1
-
2
- import { __decorate, __param } from '@codingame/monaco-vscode-api/external/tslib/tslib.es6';
3
- import { CancellationToken } from '@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation';
4
- import { Disposable, DisposableMap, DisposableStore } from '@codingame/monaco-vscode-api/vscode/vs/base/common/lifecycle';
5
- import { revive } from '@codingame/monaco-vscode-api/vscode/vs/base/common/marshalling';
6
- import { ThemeIcon } from '@codingame/monaco-vscode-api/vscode/vs/base/common/themables';
7
- import { isUriComponents, URI } from '@codingame/monaco-vscode-api/vscode/vs/base/common/uri';
8
- import { ExtensionIdentifier } from '@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions';
9
- import { ILogService } from '@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service';
10
- import { IProductService } from '@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service';
11
- import { toToolSetKey } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsContribution';
12
- import { toolResultHasBuffers, ToolDataSource, ToolSet } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService';
13
- import { ILanguageModelToolsService } from '@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/tools/languageModelToolsService.service';
14
- import { extHostNamedCustomer } from '../../services/extensions/common/extHostCustomers.js';
15
- import { SerializableObjectWithBuffers } from '@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/proxyIdentifier';
16
- import { ExtHostContext, MainContext } from '@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol';
17
-
18
- let MainThreadLanguageModelTools = class MainThreadLanguageModelTools extends Disposable {
19
- constructor(extHostContext, _languageModelToolsService, _logService, _productService) {
20
- super();
21
- this._languageModelToolsService = _languageModelToolsService;
22
- this._logService = _logService;
23
- this._productService = _productService;
24
- this._tools = this._register(( new DisposableMap()));
25
- this._runningToolCalls = ( new Map());
26
- this._proxy = ( extHostContext.getProxy(ExtHostContext.ExtHostLanguageModelTools));
27
- this._register(
28
- this._languageModelToolsService.onDidChangeTools(e => this._proxy.$onDidChangeTools(this.getToolDtos()))
29
- );
30
- }
31
- getToolDtos() {
32
- const fullReferenceNameMap = this._languageModelToolsService.getFullReferenceNameMap();
33
- return ( Array.from(this._languageModelToolsService.getAllToolsIncludingDisabled()).map(tool => ({
34
- id: tool.id,
35
- displayName: tool.displayName,
36
- toolReferenceName: tool.toolReferenceName,
37
- legacyToolReferenceFullNames: tool.legacyToolReferenceFullNames,
38
- fullReferenceName: fullReferenceNameMap.get(tool) ?? undefined,
39
- tags: tool.tags,
40
- userDescription: tool.userDescription,
41
- modelDescription: tool.modelDescription,
42
- inputSchema: tool.inputSchema,
43
- source: tool.source
44
- })));
45
- }
46
- async $getTools() {
47
- return this.getToolDtos();
48
- }
49
- async $invokeTool(dto, token) {
50
- const result = await this._languageModelToolsService.invokeTool(
51
- revive(dto),
52
- (input, token) => this._proxy.$countTokensForInvocation(dto.callId, input, token),
53
- token ?? CancellationToken.None
54
- );
55
- const out = {
56
- content: result.content,
57
- toolMetadata: result.toolMetadata,
58
- toolResultError: result.toolResultError
59
- };
60
- return toolResultHasBuffers(result) ? ( new SerializableObjectWithBuffers(out)) : out;
61
- }
62
- $acceptToolProgress(callId, progress) {
63
- this._runningToolCalls.get(callId)?.progress.report(progress);
64
- }
65
- $countTokensForInvocation(callId, input, token) {
66
- const fn = this._runningToolCalls.get(callId);
67
- if (!fn) {
68
- throw ( new Error(`Tool invocation call ${callId} not found`));
69
- }
70
- return fn.countTokens(input, token);
71
- }
72
- $registerTool(id, hasHandleToolStream) {
73
- const disposable = this._languageModelToolsService.registerToolImplementation(id, {
74
- invoke: async (dto, countTokens, progress, token) => {
75
- try {
76
- this._runningToolCalls.set(dto.callId, {
77
- countTokens,
78
- progress
79
- });
80
- const resultSerialized = await this._proxy.$invokeTool(dto, token);
81
- const resultDto = resultSerialized instanceof SerializableObjectWithBuffers ? resultSerialized.value : resultSerialized;
82
- return revive(resultDto);
83
- } finally {
84
- this._runningToolCalls.delete(dto.callId);
85
- }
86
- },
87
- prepareToolInvocation: (context, token) => this._proxy.$prepareToolInvocation(id, context, token),
88
- handleToolStream: hasHandleToolStream ? (context, token) => this._proxy.$handleToolStream(id, context, token) : undefined
89
- });
90
- this._tools.set(id, disposable);
91
- }
92
- $registerToolWithDefinition(extensionId, definition, hasHandleToolStream) {
93
- let icon;
94
- if (definition.icon) {
95
- if (ThemeIcon.isThemeIcon(definition.icon)) {
96
- icon = definition.icon;
97
- } else if (typeof definition.icon === "object" && definition.icon !== null && isUriComponents(definition.icon)) {
98
- icon = {
99
- dark: URI.revive(definition.icon)
100
- };
101
- } else {
102
- const iconObj = definition.icon;
103
- icon = {
104
- dark: URI.revive(iconObj.dark),
105
- light: iconObj.light ? URI.revive(iconObj.light) : undefined
106
- };
107
- }
108
- }
109
- const isBuiltinTool = this._productService.defaultChatAgent?.chatExtensionId ? ExtensionIdentifier.equals(extensionId, this._productService.defaultChatAgent.chatExtensionId) : false;
110
- const source = isBuiltinTool ? ToolDataSource.Internal : revive(definition.source);
111
- const toolData = {
112
- id: definition.id,
113
- displayName: definition.displayName,
114
- toolReferenceName: definition.toolReferenceName,
115
- legacyToolReferenceFullNames: definition.legacyToolReferenceFullNames,
116
- tags: definition.tags,
117
- userDescription: definition.userDescription,
118
- modelDescription: definition.modelDescription,
119
- inputSchema: definition.inputSchema,
120
- source,
121
- icon,
122
- models: definition.models,
123
- canBeReferencedInPrompt: !!definition.userDescription && !definition.toolSet
124
- };
125
- const id = definition.id;
126
- const store = ( new DisposableStore());
127
- store.add(this._languageModelToolsService.registerTool(toolData, {
128
- invoke: async (dto, countTokens, progress, token) => {
129
- try {
130
- this._runningToolCalls.set(dto.callId, {
131
- countTokens,
132
- progress
133
- });
134
- const resultSerialized = await this._proxy.$invokeTool(dto, token);
135
- const resultDto = resultSerialized instanceof SerializableObjectWithBuffers ? resultSerialized.value : resultSerialized;
136
- return revive(resultDto);
137
- } finally {
138
- this._runningToolCalls.delete(dto.callId);
139
- }
140
- },
141
- handleToolStream: hasHandleToolStream ? (context, token) => this._proxy.$handleToolStream(id, context, token) : undefined,
142
- prepareToolInvocation: (context, token) => this._proxy.$prepareToolInvocation(id, context, token)
143
- }));
144
- if (definition.toolSet) {
145
- const ts = this._languageModelToolsService.getToolSet(toToolSetKey(extensionId, definition.toolSet)) || this._languageModelToolsService.getToolSet(definition.toolSet);
146
- if (!ts || !(ts instanceof ToolSet)) {
147
- this._logService.warn(
148
- `ToolSet ${definition.toolSet} not found for tool ${definition.id} from extension ${extensionId.value}`
149
- );
150
- } else {
151
- store.add(ts.addTool(toolData));
152
- }
153
- }
154
- this._tools.set(id, store);
155
- }
156
- $unregisterTool(name) {
157
- this._tools.deleteAndDispose(name);
158
- }
159
- };
160
- MainThreadLanguageModelTools = __decorate([
161
- extHostNamedCustomer(MainContext.MainThreadLanguageModelTools),
162
- ( __param(1, ILanguageModelToolsService)),
163
- ( __param(2, ILogService)),
164
- ( __param(3, IProductService))
165
- ], MainThreadLanguageModelTools);
166
-
167
- export { MainThreadLanguageModelTools };
@@ -1,46 +0,0 @@
1
- import { CancellationToken } from "@codingame/monaco-vscode-api/vscode/vs/base/common/cancellation";
2
- import { SerializedError } from "@codingame/monaco-vscode-api/vscode/vs/base/common/errors";
3
- import { UriComponents } from "@codingame/monaco-vscode-api/vscode/vs/base/common/uri";
4
- import { ExtensionIdentifier } from "@codingame/monaco-vscode-api/vscode/vs/platform/extensions/common/extensions";
5
- import { ILogService } from "@codingame/monaco-vscode-api/vscode/vs/platform/log/common/log.service";
6
- import { IProductService } from "@codingame/monaco-vscode-api/vscode/vs/platform/product/common/productService.service";
7
- import { ILanguageModelIgnoredFilesService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/ignoredFiles.service";
8
- import { IChatMessage, IChatResponsePart, ILanguageModelChatSelector } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels";
9
- import { ILanguageModelsService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/contrib/chat/common/languageModels.service";
10
- import { IAuthenticationAccessService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/browser/authenticationAccessService.service";
11
- import { IAuthenticationService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/authentication/common/authentication.service";
12
- import { IExtHostContext } from "../../services/extensions/common/extHostCustomers.js";
13
- import { IExtensionService } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/extensions.service";
14
- import { SerializableObjectWithBuffers } from "@codingame/monaco-vscode-api/vscode/vs/workbench/services/extensions/common/proxyIdentifier";
15
- import { MainThreadLanguageModelsShape } from "@codingame/monaco-vscode-api/vscode/vs/workbench/api/common/extHost.protocol";
16
- export declare class MainThreadLanguageModels implements MainThreadLanguageModelsShape {
17
- private readonly _chatProviderService;
18
- private readonly _logService;
19
- private readonly _productService;
20
- private readonly _authenticationService;
21
- private readonly _authenticationAccessService;
22
- private readonly _extensionService;
23
- private readonly _ignoredFilesService;
24
- private readonly _proxy;
25
- private readonly _store;
26
- private readonly _providerRegistrations;
27
- private readonly _lmProviderChange;
28
- private readonly _pendingProgress;
29
- private readonly _pendingCancelCTS;
30
- private readonly _ignoredFileProviderRegistrations;
31
- constructor(extHostContext: IExtHostContext, _chatProviderService: ILanguageModelsService, _logService: ILogService, _productService: IProductService, _authenticationService: IAuthenticationService, _authenticationAccessService: IAuthenticationAccessService, _extensionService: IExtensionService, _ignoredFilesService: ILanguageModelIgnoredFilesService);
32
- dispose(): void;
33
- $registerLanguageModelProvider(vendor: string): void;
34
- $onLMProviderChange(vendor: string): void;
35
- $reportResponsePart(requestId: number, chunk: SerializableObjectWithBuffers<IChatResponsePart | IChatResponsePart[]>): Promise<void>;
36
- $reportResponseDone(requestId: number, err: SerializedError | undefined): Promise<void>;
37
- $unregisterProvider(vendor: string): void;
38
- $cancelLanguageModelChatRequest(requestId: number): void;
39
- $selectChatModels(selector: ILanguageModelChatSelector): Promise<string[]>;
40
- $tryStartChatRequest(extension: ExtensionIdentifier, modelIdentifier: string, requestId: number, messages: SerializableObjectWithBuffers<IChatMessage[]>, options: {}, token: CancellationToken): Promise<void>;
41
- $countTokens(modelId: string, value: string | IChatMessage, token: CancellationToken): Promise<number>;
42
- private _registerAuthenticationProvider;
43
- $fileIsIgnored(uri: UriComponents, token: CancellationToken): Promise<boolean>;
44
- $registerFileIgnoreProvider(handle: number): void;
45
- $unregisterFileIgnoreProvider(handle: number): void;
46
- }