@vscode/chat-lib 0.0.1 → 0.0.3

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 (476) hide show
  1. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts +2 -1
  2. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts.map +1 -1
  3. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js +70 -28
  4. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js.map +1 -1
  5. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.d.ts +4 -3
  6. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.d.ts.map +1 -1
  7. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js +85 -109
  8. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js.map +1 -1
  9. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts.map +1 -1
  10. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js +14 -6
  11. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js.map +1 -1
  12. package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts.map +1 -1
  13. package/dist/src/_internal/extension/xtab/common/promptCrafting.js +6 -5
  14. package/dist/src/_internal/extension/xtab/common/promptCrafting.js.map +1 -1
  15. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts +1 -0
  16. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
  17. package/dist/src/_internal/extension/xtab/node/xtabProvider.js +44 -42
  18. package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
  19. package/dist/src/_internal/platform/authentication/node/copilotTokenManager.d.ts.map +1 -1
  20. package/dist/src/_internal/platform/authentication/node/copilotTokenManager.js +8 -4
  21. package/dist/src/_internal/platform/authentication/node/copilotTokenManager.js.map +1 -1
  22. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +8 -0
  23. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
  24. package/dist/src/_internal/platform/configuration/common/configurationService.js +11 -3
  25. package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
  26. package/dist/src/_internal/platform/endpoint/common/capiClient.d.ts +1 -1
  27. package/dist/src/_internal/platform/endpoint/common/capiClient.d.ts.map +1 -1
  28. package/dist/src/_internal/platform/endpoint/common/capiClient.js +2 -2
  29. package/dist/src/_internal/platform/endpoint/common/capiClient.js.map +1 -1
  30. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts +4 -0
  31. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts.map +1 -1
  32. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js +7 -0
  33. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js.map +1 -1
  34. package/dist/src/_internal/platform/endpoint/node/capiClientImpl.d.ts.map +1 -1
  35. package/dist/src/_internal/platform/endpoint/node/capiClientImpl.js +1 -1
  36. package/dist/src/_internal/platform/endpoint/node/capiClientImpl.js.map +1 -1
  37. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts +1 -1
  38. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts.map +1 -1
  39. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js.map +1 -1
  40. package/dist/src/_internal/platform/endpoint/node/responsesApi.js +10 -4
  41. package/dist/src/_internal/platform/endpoint/node/responsesApi.js.map +1 -1
  42. package/dist/src/_internal/platform/env/common/envService.d.ts +5 -0
  43. package/dist/src/_internal/platform/env/common/envService.d.ts.map +1 -1
  44. package/dist/src/_internal/platform/env/common/envService.js +2 -1
  45. package/dist/src/_internal/platform/env/common/envService.js.map +1 -1
  46. package/dist/src/_internal/platform/env/common/nullEnvService.d.ts +3 -0
  47. package/dist/src/_internal/platform/env/common/nullEnvService.d.ts.map +1 -1
  48. package/dist/src/_internal/platform/env/common/nullEnvService.js +8 -1
  49. package/dist/src/_internal/platform/env/common/nullEnvService.js.map +1 -1
  50. package/dist/src/_internal/platform/github/common/githubService.d.ts +3 -3
  51. package/dist/src/_internal/platform/github/common/githubService.d.ts.map +1 -1
  52. package/dist/src/_internal/platform/github/common/githubService.js.map +1 -1
  53. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts +0 -3
  54. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts.map +1 -1
  55. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js +0 -5
  56. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js.map +1 -1
  57. package/dist/src/_internal/platform/networking/common/fetcherService.d.ts +2 -1
  58. package/dist/src/_internal/platform/networking/common/fetcherService.d.ts.map +1 -1
  59. package/dist/src/_internal/platform/networking/common/fetcherService.js.map +1 -1
  60. package/dist/src/_internal/platform/networking/common/networking.d.ts.map +1 -1
  61. package/dist/src/_internal/platform/networking/common/networking.js.map +1 -1
  62. package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.d.ts +7 -0
  63. package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.d.ts.map +1 -1
  64. package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.js +1 -0
  65. package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.js.map +1 -1
  66. package/dist/src/_internal/platform/telemetry/common/telemetry.d.ts +1 -0
  67. package/dist/src/_internal/platform/telemetry/common/telemetry.d.ts.map +1 -1
  68. package/dist/src/_internal/platform/telemetry/common/telemetry.js.map +1 -1
  69. package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts +8 -0
  70. package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts.map +1 -1
  71. package/dist/src/_internal/util/common/test/shims/chatTypes.js +19 -1
  72. package/dist/src/_internal/util/common/test/shims/chatTypes.js.map +1 -1
  73. package/dist/src/_internal/util/common/test/shims/enums.d.ts +6 -0
  74. package/dist/src/_internal/util/common/test/shims/enums.d.ts.map +1 -1
  75. package/dist/src/_internal/util/common/test/shims/enums.js +8 -1
  76. package/dist/src/_internal/util/common/test/shims/enums.js.map +1 -1
  77. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.d.ts.map +1 -1
  78. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js +9 -1
  79. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js.map +1 -1
  80. package/dist/src/_internal/vscodeTypes.d.ts +5 -0
  81. package/dist/src/_internal/vscodeTypes.d.ts.map +1 -1
  82. package/dist/src/_internal/vscodeTypes.js +6 -1
  83. package/dist/src/_internal/vscodeTypes.js.map +1 -1
  84. package/dist/src/main.d.ts +15 -1
  85. package/dist/src/main.d.ts.map +1 -1
  86. package/dist/src/main.js +73 -13
  87. package/dist/src/main.js.map +1 -1
  88. package/dist/src/package.json +70 -31
  89. package/package.json +7 -9
  90. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/fragments.d.ts +0 -42
  91. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/fragments.d.ts.map +0 -1
  92. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/fragments.js +0 -125
  93. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/fragments.js.map +0 -1
  94. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/implementation.d.ts +0 -60
  95. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/implementation.d.ts.map +0 -1
  96. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/implementation.js +0 -416
  97. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/implementation.js.map +0 -1
  98. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/projectedText.d.ts +0 -30
  99. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/projectedText.d.ts.map +0 -1
  100. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/projectedText.js +0 -64
  101. package/dist/src/_internal/extension/prompts/node/inline/summarizedDocument/projectedText.js.map +0 -1
  102. package/dist/src/_internal/extension/prompts/node/inline/visualization.d.ts +0 -26
  103. package/dist/src/_internal/extension/prompts/node/inline/visualization.d.ts.map +0 -1
  104. package/dist/src/_internal/extension/prompts/node/inline/visualization.js +0 -41
  105. package/dist/src/_internal/extension/prompts/node/inline/visualization.js.map +0 -1
  106. package/dist/src/_internal/platform/editing/common/abstractText.d.ts +0 -58
  107. package/dist/src/_internal/platform/editing/common/abstractText.d.ts.map +0 -1
  108. package/dist/src/_internal/platform/editing/common/abstractText.js +0 -129
  109. package/dist/src/_internal/platform/editing/common/abstractText.js.map +0 -1
  110. package/dist/src/_internal/platform/parser/node/nodes.d.ts +0 -93
  111. package/dist/src/_internal/platform/parser/node/nodes.d.ts.map +0 -1
  112. package/dist/src/_internal/platform/parser/node/nodes.js +0 -133
  113. package/dist/src/_internal/platform/parser/node/nodes.js.map +0 -1
  114. package/dist/src/_internal/platform/telemetry/common/nullTelemetryService.d.ts +0 -18
  115. package/dist/src/_internal/platform/telemetry/common/nullTelemetryService.d.ts.map +0 -1
  116. package/dist/src/_internal/platform/telemetry/common/nullTelemetryService.js +0 -50
  117. package/dist/src/_internal/platform/telemetry/common/nullTelemetryService.js.map +0 -1
  118. package/dist/src/_internal/util/common/arrays.d.ts +0 -18
  119. package/dist/src/_internal/util/common/arrays.d.ts.map +0 -1
  120. package/dist/src/_internal/util/common/arrays.js +0 -80
  121. package/dist/src/_internal/util/common/arrays.js.map +0 -1
  122. package/src/_internal/extension/byok/node/openAIEndpoint.ts +0 -171
  123. package/src/_internal/extension/common/constants.ts +0 -90
  124. package/src/_internal/extension/inlineEdits/common/delayer.ts +0 -108
  125. package/src/_internal/extension/inlineEdits/common/editRebase.ts +0 -268
  126. package/src/_internal/extension/inlineEdits/common/ghNearbyNesProvider.tsx +0 -163
  127. package/src/_internal/extension/inlineEdits/common/nearbyCursorInlineEditProvider.ts +0 -225
  128. package/src/_internal/extension/inlineEdits/common/rejectionCollector.ts +0 -164
  129. package/src/_internal/extension/inlineEdits/node/debugRecorder.ts +0 -205
  130. package/src/_internal/extension/inlineEdits/node/importFiltering.ts +0 -25
  131. package/src/_internal/extension/inlineEdits/node/nesConfigs.ts +0 -12
  132. package/src/_internal/extension/inlineEdits/node/nextEditCache.ts +0 -278
  133. package/src/_internal/extension/inlineEdits/node/nextEditProvider.ts +0 -778
  134. package/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.ts +0 -983
  135. package/src/_internal/extension/inlineEdits/node/nextEditResult.ts +0 -40
  136. package/src/_internal/extension/prompt/common/importStatement.ts +0 -25
  137. package/src/_internal/extension/prompt/node/chatMLFetcher.ts +0 -706
  138. package/src/_internal/extension/prompts/node/inline/summarizedDocument/fragments.ts +0 -146
  139. package/src/_internal/extension/prompts/node/inline/summarizedDocument/implementation.ts +0 -527
  140. package/src/_internal/extension/prompts/node/inline/summarizedDocument/projectedText.ts +0 -76
  141. package/src/_internal/extension/prompts/node/inline/visualization.ts +0 -65
  142. package/src/_internal/extension/vscode.proposed.activeComment.d.ts +0 -23
  143. package/src/_internal/extension/vscode.proposed.aiRelatedInformation.d.ts +0 -49
  144. package/src/_internal/extension/vscode.proposed.aiSettingsSearch.d.ts +0 -31
  145. package/src/_internal/extension/vscode.proposed.aiTextSearchProvider.d.ts +0 -41
  146. package/src/_internal/extension/vscode.proposed.authLearnMore.d.ts +0 -16
  147. package/src/_internal/extension/vscode.proposed.chatBinaryReferenceData.d.ts +0 -41
  148. package/src/_internal/extension/vscode.proposed.chatEditing.d.ts +0 -29
  149. package/src/_internal/extension/vscode.proposed.chatParticipantAdditions.d.ts +0 -636
  150. package/src/_internal/extension/vscode.proposed.chatParticipantPrivate.d.ts +0 -276
  151. package/src/_internal/extension/vscode.proposed.chatProvider.d.ts +0 -62
  152. package/src/_internal/extension/vscode.proposed.chatReadonlyPromptReference.d.ts +0 -17
  153. package/src/_internal/extension/vscode.proposed.chatReferenceDiagnostic.d.ts +0 -23
  154. package/src/_internal/extension/vscode.proposed.chatSessionsProvider.d.ts +0 -218
  155. package/src/_internal/extension/vscode.proposed.chatStatusItem.d.ts +0 -61
  156. package/src/_internal/extension/vscode.proposed.codeActionAI.d.ts +0 -16
  157. package/src/_internal/extension/vscode.proposed.commentReveal.d.ts +0 -32
  158. package/src/_internal/extension/vscode.proposed.contribCommentThreadAdditionalMenu.d.ts +0 -8
  159. package/src/_internal/extension/vscode.proposed.contribCommentsViewThreadMenus.d.ts +0 -6
  160. package/src/_internal/extension/vscode.proposed.contribSourceControlInputBoxMenu.d.ts +0 -7
  161. package/src/_internal/extension/vscode.proposed.dataChannels.d.ts +0 -19
  162. package/src/_internal/extension/vscode.proposed.defaultChatParticipant.d.ts +0 -52
  163. package/src/_internal/extension/vscode.proposed.documentFiltersExclusive.d.ts +0 -13
  164. package/src/_internal/extension/vscode.proposed.embeddings.d.ts +0 -33
  165. package/src/_internal/extension/vscode.proposed.extensionsAny.d.ts +0 -40
  166. package/src/_internal/extension/vscode.proposed.findFiles2.d.ts +0 -125
  167. package/src/_internal/extension/vscode.proposed.findTextInFiles.d.ts +0 -104
  168. package/src/_internal/extension/vscode.proposed.findTextInFiles2.d.ts +0 -144
  169. package/src/_internal/extension/vscode.proposed.inlineCompletionsAdditions.d.ts +0 -202
  170. package/src/_internal/extension/vscode.proposed.interactive.d.ts +0 -11
  171. package/src/_internal/extension/vscode.proposed.languageModelCapabilities.d.ts +0 -25
  172. package/src/_internal/extension/vscode.proposed.languageModelDataPart.d.ts +0 -163
  173. package/src/_internal/extension/vscode.proposed.languageModelSystem.d.ts +0 -17
  174. package/src/_internal/extension/vscode.proposed.languageModelThinkingPart.d.ts +0 -49
  175. package/src/_internal/extension/vscode.proposed.languageModelToolResultAudience.d.ts +0 -36
  176. package/src/_internal/extension/vscode.proposed.mappedEditsProvider.d.ts +0 -110
  177. package/src/_internal/extension/vscode.proposed.newSymbolNamesProvider.d.ts +0 -47
  178. package/src/_internal/extension/vscode.proposed.readonlyMessage.d.ts +0 -14
  179. package/src/_internal/extension/vscode.proposed.resolvers.d.ts +0 -475
  180. package/src/_internal/extension/vscode.proposed.scmInputBoxValueProvider.d.ts +0 -25
  181. package/src/_internal/extension/vscode.proposed.taskProblemMatcherStatus.d.ts +0 -42
  182. package/src/_internal/extension/vscode.proposed.terminalDataWriteEvent.d.ts +0 -32
  183. package/src/_internal/extension/vscode.proposed.terminalExecuteCommandEvent.d.ts +0 -48
  184. package/src/_internal/extension/vscode.proposed.terminalQuickFixProvider.d.ts +0 -87
  185. package/src/_internal/extension/vscode.proposed.terminalSelection.d.ts +0 -16
  186. package/src/_internal/extension/vscode.proposed.testObserver.d.ts +0 -199
  187. package/src/_internal/extension/vscode.proposed.textDocumentChangeReason.d.ts +0 -30
  188. package/src/_internal/extension/vscode.proposed.textSearchProvider.d.ts +0 -281
  189. package/src/_internal/extension/vscode.proposed.textSearchProvider2.d.ts +0 -297
  190. package/src/_internal/extension/xtab/common/promptCrafting.ts +0 -670
  191. package/src/_internal/extension/xtab/node/xtabEndpoint.ts +0 -102
  192. package/src/_internal/extension/xtab/node/xtabProvider.ts +0 -976
  193. package/src/_internal/extension/xtab/node/xtabUtils.ts +0 -62
  194. package/src/_internal/platform/authentication/common/authentication.ts +0 -309
  195. package/src/_internal/platform/authentication/common/copilotToken.ts +0 -300
  196. package/src/_internal/platform/authentication/common/copilotTokenManager.ts +0 -59
  197. package/src/_internal/platform/authentication/common/copilotTokenStore.ts +0 -40
  198. package/src/_internal/platform/authentication/common/staticGitHubAuthenticationService.ts +0 -96
  199. package/src/_internal/platform/authentication/node/copilotTokenManager.ts +0 -303
  200. package/src/_internal/platform/chat/common/chatMLFetcher.ts +0 -124
  201. package/src/_internal/platform/chat/common/chatQuotaService.ts +0 -63
  202. package/src/_internal/platform/chat/common/chatQuotaServiceImpl.ts +0 -96
  203. package/src/_internal/platform/chat/common/commonTypes.ts +0 -353
  204. package/src/_internal/platform/chat/common/conversationOptions.ts +0 -16
  205. package/src/_internal/platform/chat/common/globalStringUtils.ts +0 -54
  206. package/src/_internal/platform/chat/common/interactionService.ts +0 -35
  207. package/src/_internal/platform/configuration/common/configurationService.ts +0 -803
  208. package/src/_internal/platform/configuration/common/defaultsOnlyConfigurationService.ts +0 -39
  209. package/src/_internal/platform/configuration/common/jsonSchema.ts +0 -139
  210. package/src/_internal/platform/configuration/common/validator.ts +0 -242
  211. package/src/_internal/platform/diff/common/diffService.ts +0 -41
  212. package/src/_internal/platform/diff/common/diffWorker.ts +0 -83
  213. package/src/_internal/platform/diff/node/diffServiceImpl.ts +0 -85
  214. package/src/_internal/platform/editing/common/abstractText.ts +0 -177
  215. package/src/_internal/platform/editing/common/notebookDocumentSnapshot.ts +0 -122
  216. package/src/_internal/platform/editing/common/positionOffsetTransformer.ts +0 -202
  217. package/src/_internal/platform/editing/common/textDocumentSnapshot.ts +0 -274
  218. package/src/_internal/platform/endpoint/common/capiClient.ts +0 -37
  219. package/src/_internal/platform/endpoint/common/chatModelCapabilities.ts +0 -115
  220. package/src/_internal/platform/endpoint/common/domainService.ts +0 -27
  221. package/src/_internal/platform/endpoint/common/endpointProvider.ts +0 -104
  222. package/src/_internal/platform/endpoint/common/endpointTypes.ts +0 -12
  223. package/src/_internal/platform/endpoint/common/licenseAgreement.ts +0 -11
  224. package/src/_internal/platform/endpoint/common/statefulMarkerContainer.tsx +0 -85
  225. package/src/_internal/platform/endpoint/common/thinkingDataContainer.tsx +0 -44
  226. package/src/_internal/platform/endpoint/node/capiClientImpl.ts +0 -18
  227. package/src/_internal/platform/endpoint/node/chatEndpoint.ts +0 -435
  228. package/src/_internal/platform/endpoint/node/domainServiceImpl.ts +0 -80
  229. package/src/_internal/platform/endpoint/node/proxyXtabEndpoint.ts +0 -43
  230. package/src/_internal/platform/endpoint/node/responsesApi.ts +0 -326
  231. package/src/_internal/platform/env/common/envService.ts +0 -134
  232. package/src/_internal/platform/env/common/nullEnvService.ts +0 -68
  233. package/src/_internal/platform/env/common/packagejson.ts +0 -49
  234. package/src/_internal/platform/git/common/gitExtensionService.ts +0 -21
  235. package/src/_internal/platform/git/common/nullGitExtensionService.ts +0 -20
  236. package/src/_internal/platform/git/vscode/git.d.ts +0 -414
  237. package/src/_internal/platform/github/common/githubAPI.ts +0 -44
  238. package/src/_internal/platform/github/common/githubService.ts +0 -87
  239. package/src/_internal/platform/github/common/nullOctokitServiceImpl.ts +0 -21
  240. package/src/_internal/platform/ignore/common/ignoreService.ts +0 -72
  241. package/src/_internal/platform/inlineCompletions/common/api.ts +0 -198
  242. package/src/_internal/platform/inlineEdits/common/dataTypes/diagnosticData.ts +0 -32
  243. package/src/_internal/platform/inlineEdits/common/dataTypes/documentId.ts +0 -52
  244. package/src/_internal/platform/inlineEdits/common/dataTypes/edit.ts +0 -165
  245. package/src/_internal/platform/inlineEdits/common/dataTypes/editUtils.ts +0 -74
  246. package/src/_internal/platform/inlineEdits/common/dataTypes/fetchCancellationError.ts +0 -14
  247. package/src/_internal/platform/inlineEdits/common/dataTypes/languageContext.ts +0 -107
  248. package/src/_internal/platform/inlineEdits/common/dataTypes/languageId.ts +0 -14
  249. package/src/_internal/platform/inlineEdits/common/dataTypes/permutation.ts +0 -69
  250. package/src/_internal/platform/inlineEdits/common/dataTypes/rootedLineEdit.ts +0 -49
  251. package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLength.ts +0 -74
  252. package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/combineTextEditInfos.ts +0 -132
  253. package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/length.ts +0 -184
  254. package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/textEditInfo.ts +0 -32
  255. package/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.ts +0 -89
  256. package/src/_internal/platform/inlineEdits/common/debugRecorderBookmark.ts +0 -10
  257. package/src/_internal/platform/inlineEdits/common/editReason.ts +0 -134
  258. package/src/_internal/platform/inlineEdits/common/inlineEditLogContext.ts +0 -490
  259. package/src/_internal/platform/inlineEdits/common/observableGit.ts +0 -49
  260. package/src/_internal/platform/inlineEdits/common/observableWorkspace.ts +0 -239
  261. package/src/_internal/platform/inlineEdits/common/responseProcessor.ts +0 -249
  262. package/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.ts +0 -468
  263. package/src/_internal/platform/inlineEdits/common/statelessNextEditProviders.ts +0 -59
  264. package/src/_internal/platform/inlineEdits/common/utils/observable.ts +0 -54
  265. package/src/_internal/platform/inlineEdits/common/utils/stringifyChatMessages.ts +0 -29
  266. package/src/_internal/platform/inlineEdits/common/utils/utils.ts +0 -56
  267. package/src/_internal/platform/inlineEdits/common/workspaceEditTracker/historyContextProvider.ts +0 -60
  268. package/src/_internal/platform/inlineEdits/common/workspaceEditTracker/nesHistoryContextProvider.ts +0 -353
  269. package/src/_internal/platform/inlineEdits/common/workspaceEditTracker/nesXtabHistoryTracker.ts +0 -176
  270. package/src/_internal/platform/languageContextProvider/common/languageContextProviderService.ts +0 -25
  271. package/src/_internal/platform/languageContextProvider/common/nullLanguageContextProviderService.ts +0 -38
  272. package/src/_internal/platform/languageServer/common/languageContextService.ts +0 -186
  273. package/src/_internal/platform/languages/common/languageDiagnosticsService.ts +0 -67
  274. package/src/_internal/platform/languages/common/testLanguageDiagnosticsService.ts +0 -28
  275. package/src/_internal/platform/log/common/logService.ts +0 -232
  276. package/src/_internal/platform/nesFetch/common/completionsAPI.ts +0 -78
  277. package/src/_internal/platform/nesFetch/common/completionsFetchService.ts +0 -118
  278. package/src/_internal/platform/nesFetch/common/responseStream.ts +0 -151
  279. package/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.ts +0 -236
  280. package/src/_internal/platform/nesFetch/node/streamTransformer.ts +0 -95
  281. package/src/_internal/platform/networking/common/fetch.ts +0 -349
  282. package/src/_internal/platform/networking/common/fetcherService.ts +0 -84
  283. package/src/_internal/platform/networking/common/networking.ts +0 -442
  284. package/src/_internal/platform/networking/common/openai.ts +0 -273
  285. package/src/_internal/platform/networking/node/chatStream.ts +0 -137
  286. package/src/_internal/platform/networking/node/stream.ts +0 -749
  287. package/src/_internal/platform/notebook/common/alternativeContent.ts +0 -89
  288. package/src/_internal/platform/notebook/common/alternativeContentFormat.ts +0 -10
  289. package/src/_internal/platform/notebook/common/alternativeContentProvider.json.ts +0 -262
  290. package/src/_internal/platform/notebook/common/alternativeContentProvider.text.ts +0 -243
  291. package/src/_internal/platform/notebook/common/alternativeContentProvider.ts +0 -41
  292. package/src/_internal/platform/notebook/common/alternativeContentProvider.xml.ts +0 -205
  293. package/src/_internal/platform/notebook/common/alternativeNotebookDocument.ts +0 -155
  294. package/src/_internal/platform/notebook/common/helpers.ts +0 -212
  295. package/src/_internal/platform/notebook/common/notebookService.ts +0 -43
  296. package/src/_internal/platform/openai/node/fetch.ts +0 -596
  297. package/src/_internal/platform/parser/node/nodes.ts +0 -190
  298. package/src/_internal/platform/requestLogger/node/nullRequestLogger.ts +0 -26
  299. package/src/_internal/platform/requestLogger/node/requestLogger.ts +0 -383
  300. package/src/_internal/platform/simulationTestContext/common/simulationTestContext.ts +0 -29
  301. package/src/_internal/platform/snippy/common/snippyService.ts +0 -25
  302. package/src/_internal/platform/telemetry/common/nullExperimentationService.ts +0 -64
  303. package/src/_internal/platform/telemetry/common/nullTelemetryService.ts +0 -53
  304. package/src/_internal/platform/telemetry/common/telemetry.ts +0 -215
  305. package/src/_internal/platform/telemetry/common/telemetryData.ts +0 -205
  306. package/src/_internal/platform/thinking/common/thinking.ts +0 -61
  307. package/src/_internal/platform/thinking/common/thinkingUtils.ts +0 -57
  308. package/src/_internal/platform/tokenizer/node/parseTikTokens.ts +0 -23
  309. package/src/_internal/platform/tokenizer/node/tikTokenizerImpl.ts +0 -74
  310. package/src/_internal/platform/tokenizer/node/tikTokenizerWorker.ts +0 -24
  311. package/src/_internal/platform/tokenizer/node/tokenizer.ts +0 -357
  312. package/src/_internal/platform/workspace/common/workspaceService.ts +0 -226
  313. package/src/_internal/platform/workspaceRecorder/common/workspaceLog.ts +0 -118
  314. package/src/_internal/util/common/anomalyDetection.ts +0 -112
  315. package/src/_internal/util/common/arrays.ts +0 -81
  316. package/src/_internal/util/common/async.ts +0 -155
  317. package/src/_internal/util/common/cache.ts +0 -183
  318. package/src/_internal/util/common/crypto.ts +0 -41
  319. package/src/_internal/util/common/errors.ts +0 -22
  320. package/src/_internal/util/common/globals.d.ts +0 -12
  321. package/src/_internal/util/common/imageUtils.ts +0 -154
  322. package/src/_internal/util/common/languages.ts +0 -940
  323. package/src/_internal/util/common/notebooks.ts +0 -286
  324. package/src/_internal/util/common/result.ts +0 -71
  325. package/src/_internal/util/common/services.ts +0 -43
  326. package/src/_internal/util/common/test/shims/chatTypes.ts +0 -448
  327. package/src/_internal/util/common/test/shims/editing.ts +0 -233
  328. package/src/_internal/util/common/test/shims/enums.ts +0 -61
  329. package/src/_internal/util/common/test/shims/l10n.ts +0 -37
  330. package/src/_internal/util/common/test/shims/newSymbolName.ts +0 -23
  331. package/src/_internal/util/common/test/shims/terminal.ts +0 -33
  332. package/src/_internal/util/common/test/shims/vscodeTypesShim.ts +0 -115
  333. package/src/_internal/util/common/time.ts +0 -31
  334. package/src/_internal/util/common/tokenizer.ts +0 -30
  335. package/src/_internal/util/common/tracing.ts +0 -52
  336. package/src/_internal/util/common/types.ts +0 -33
  337. package/src/_internal/util/common/variableLengthQuantity.ts +0 -40
  338. package/src/_internal/util/node/worker.ts +0 -130
  339. package/src/_internal/util/vs/base/common/arrays.ts +0 -926
  340. package/src/_internal/util/vs/base/common/arraysFind.ts +0 -206
  341. package/src/_internal/util/vs/base/common/assert.ts +0 -89
  342. package/src/_internal/util/vs/base/common/async.ts +0 -2582
  343. package/src/_internal/util/vs/base/common/buffer.ts +0 -501
  344. package/src/_internal/util/vs/base/common/cache.ts +0 -122
  345. package/src/_internal/util/vs/base/common/cancellation.ts +0 -150
  346. package/src/_internal/util/vs/base/common/charCode.ts +0 -452
  347. package/src/_internal/util/vs/base/common/codicons.ts +0 -66
  348. package/src/_internal/util/vs/base/common/codiconsLibrary.ts +0 -618
  349. package/src/_internal/util/vs/base/common/codiconsUtil.ts +0 -30
  350. package/src/_internal/util/vs/base/common/collections.ts +0 -156
  351. package/src/_internal/util/vs/base/common/diff/diff.ts +0 -1317
  352. package/src/_internal/util/vs/base/common/diff/diffChange.ts +0 -62
  353. package/src/_internal/util/vs/base/common/equals.ts +0 -148
  354. package/src/_internal/util/vs/base/common/errors.ts +0 -342
  355. package/src/_internal/util/vs/base/common/event.ts +0 -1782
  356. package/src/_internal/util/vs/base/common/extpath.ts +0 -425
  357. package/src/_internal/util/vs/base/common/filters.ts +0 -928
  358. package/src/_internal/util/vs/base/common/functional.ts +0 -34
  359. package/src/_internal/util/vs/base/common/glob.ts +0 -839
  360. package/src/_internal/util/vs/base/common/hash.ts +0 -326
  361. package/src/_internal/util/vs/base/common/htmlContent.ts +0 -212
  362. package/src/_internal/util/vs/base/common/iconLabels.ts +0 -118
  363. package/src/_internal/util/vs/base/common/iterator.ts +0 -196
  364. package/src/_internal/util/vs/base/common/lazy.ts +0 -59
  365. package/src/_internal/util/vs/base/common/lifecycle.ts +0 -845
  366. package/src/_internal/util/vs/base/common/linkedList.ts +0 -144
  367. package/src/_internal/util/vs/base/common/map.ts +0 -954
  368. package/src/_internal/util/vs/base/common/marshallingIds.ts +0 -35
  369. package/src/_internal/util/vs/base/common/mime.ts +0 -136
  370. package/src/_internal/util/vs/base/common/naturalLanguage/korean.ts +0 -425
  371. package/src/_internal/util/vs/base/common/network.ts +0 -429
  372. package/src/_internal/util/vs/base/common/numbers.ts +0 -166
  373. package/src/_internal/util/vs/base/common/objects.ts +0 -242
  374. package/src/_internal/util/vs/base/common/observable.ts +0 -10
  375. package/src/_internal/util/vs/base/common/observableInternal/base.ts +0 -208
  376. package/src/_internal/util/vs/base/common/observableInternal/changeTracker.ts +0 -96
  377. package/src/_internal/util/vs/base/common/observableInternal/commonFacade/cancellation.ts +0 -9
  378. package/src/_internal/util/vs/base/common/observableInternal/commonFacade/deps.ts +0 -12
  379. package/src/_internal/util/vs/base/common/observableInternal/debugLocation.ts +0 -88
  380. package/src/_internal/util/vs/base/common/observableInternal/debugName.ts +0 -150
  381. package/src/_internal/util/vs/base/common/observableInternal/experimental/utils.ts +0 -62
  382. package/src/_internal/util/vs/base/common/observableInternal/index.ts +0 -61
  383. package/src/_internal/util/vs/base/common/observableInternal/logging/consoleObservableLogger.ts +0 -388
  384. package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/debuggerApi.d.ts +0 -154
  385. package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/debuggerRpc.ts +0 -80
  386. package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/devToolsLogger.ts +0 -485
  387. package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/rpc.ts +0 -103
  388. package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/utils.ts +0 -69
  389. package/src/_internal/util/vs/base/common/observableInternal/logging/logging.ts +0 -133
  390. package/src/_internal/util/vs/base/common/observableInternal/map.ts +0 -81
  391. package/src/_internal/util/vs/base/common/observableInternal/observables/baseObservable.ts +0 -172
  392. package/src/_internal/util/vs/base/common/observableInternal/observables/constObservable.ts +0 -44
  393. package/src/_internal/util/vs/base/common/observableInternal/observables/derived.ts +0 -190
  394. package/src/_internal/util/vs/base/common/observableInternal/observables/derivedImpl.ts +0 -445
  395. package/src/_internal/util/vs/base/common/observableInternal/observables/lazyObservableValue.ts +0 -154
  396. package/src/_internal/util/vs/base/common/observableInternal/observables/observableFromEvent.ts +0 -174
  397. package/src/_internal/util/vs/base/common/observableInternal/observables/observableSignal.ts +0 -67
  398. package/src/_internal/util/vs/base/common/observableInternal/observables/observableSignalFromEvent.ts +0 -62
  399. package/src/_internal/util/vs/base/common/observableInternal/observables/observableValue.ts +0 -131
  400. package/src/_internal/util/vs/base/common/observableInternal/observables/observableValueOpts.ts +0 -37
  401. package/src/_internal/util/vs/base/common/observableInternal/reactions/autorun.ts +0 -188
  402. package/src/_internal/util/vs/base/common/observableInternal/reactions/autorunImpl.ts +0 -256
  403. package/src/_internal/util/vs/base/common/observableInternal/set.ts +0 -78
  404. package/src/_internal/util/vs/base/common/observableInternal/transaction.ts +0 -115
  405. package/src/_internal/util/vs/base/common/observableInternal/utils/promise.ts +0 -129
  406. package/src/_internal/util/vs/base/common/observableInternal/utils/runOnChange.ts +0 -65
  407. package/src/_internal/util/vs/base/common/observableInternal/utils/utils.ts +0 -281
  408. package/src/_internal/util/vs/base/common/observableInternal/utils/utilsCancellation.ts +0 -101
  409. package/src/_internal/util/vs/base/common/observableInternal/utils/valueWithChangeEvent.ts +0 -31
  410. package/src/_internal/util/vs/base/common/path.ts +0 -1591
  411. package/src/_internal/util/vs/base/common/platform.ts +0 -282
  412. package/src/_internal/util/vs/base/common/process.ts +0 -78
  413. package/src/_internal/util/vs/base/common/resources.ts +0 -446
  414. package/src/_internal/util/vs/base/common/sequence.ts +0 -36
  415. package/src/_internal/util/vs/base/common/sseParser.ts +0 -247
  416. package/src/_internal/util/vs/base/common/stopwatch.ts +0 -43
  417. package/src/_internal/util/vs/base/common/stream.ts +0 -792
  418. package/src/_internal/util/vs/base/common/strings.ts +0 -1364
  419. package/src/_internal/util/vs/base/common/symbols.ts +0 -11
  420. package/src/_internal/util/vs/base/common/themables.ts +0 -106
  421. package/src/_internal/util/vs/base/common/types.ts +0 -345
  422. package/src/_internal/util/vs/base/common/uint.ts +0 -61
  423. package/src/_internal/util/vs/base/common/uri.ts +0 -752
  424. package/src/_internal/util/vs/base/common/uuid.ts +0 -72
  425. package/src/_internal/util/vs/base-common.d.ts +0 -42
  426. package/src/_internal/util/vs/editor/common/core/editOperation.ts +0 -62
  427. package/src/_internal/util/vs/editor/common/core/edits/edit.ts +0 -399
  428. package/src/_internal/util/vs/editor/common/core/edits/lineEdit.ts +0 -414
  429. package/src/_internal/util/vs/editor/common/core/edits/stringEdit.ts +0 -568
  430. package/src/_internal/util/vs/editor/common/core/edits/textEdit.ts +0 -411
  431. package/src/_internal/util/vs/editor/common/core/position.ts +0 -186
  432. package/src/_internal/util/vs/editor/common/core/range.ts +0 -519
  433. package/src/_internal/util/vs/editor/common/core/ranges/lineRange.ts +0 -416
  434. package/src/_internal/util/vs/editor/common/core/ranges/offsetRange.ts +0 -275
  435. package/src/_internal/util/vs/editor/common/core/text/abstractText.ts +0 -127
  436. package/src/_internal/util/vs/editor/common/core/text/positionToOffset.ts +0 -26
  437. package/src/_internal/util/vs/editor/common/core/text/positionToOffsetImpl.ts +0 -144
  438. package/src/_internal/util/vs/editor/common/core/text/textLength.ts +0 -150
  439. package/src/_internal/util/vs/editor/common/core/wordHelper.ts +0 -177
  440. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.ts +0 -210
  441. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/dynamicProgrammingDiffing.ts +0 -109
  442. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/myersDiffAlgorithm.ts +0 -178
  443. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines.ts +0 -331
  444. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.ts +0 -273
  445. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.ts +0 -475
  446. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/lineSequence.ts +0 -47
  447. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.ts +0 -248
  448. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/utils.ts +0 -76
  449. package/src/_internal/util/vs/editor/common/diff/legacyLinesDiffComputer.ts +0 -693
  450. package/src/_internal/util/vs/editor/common/diff/linesDiffComputer.ts +0 -61
  451. package/src/_internal/util/vs/editor/common/diff/rangeMapping.ts +0 -418
  452. package/src/_internal/util/vs/editor/common/model/prefixSumComputer.ts +0 -304
  453. package/src/_internal/util/vs/nls.messages.ts +0 -21
  454. package/src/_internal/util/vs/nls.ts +0 -243
  455. package/src/_internal/util/vs/platform/instantiation/common/descriptors.ts +0 -23
  456. package/src/_internal/util/vs/platform/instantiation/common/graph.ts +0 -113
  457. package/src/_internal/util/vs/platform/instantiation/common/instantiation.ts +0 -127
  458. package/src/_internal/util/vs/platform/instantiation/common/instantiationService.ts +0 -483
  459. package/src/_internal/util/vs/platform/instantiation/common/serviceCollection.ts +0 -34
  460. package/src/_internal/util/vs/vscode-globals-nls.d.ts +0 -42
  461. package/src/_internal/util/vs/vscode-globals-product.d.ts +0 -35
  462. package/src/_internal/util/vs/workbench/api/common/extHostTypes/diagnostic.ts +0 -109
  463. package/src/_internal/util/vs/workbench/api/common/extHostTypes/es5ClassCompat.ts +0 -34
  464. package/src/_internal/util/vs/workbench/api/common/extHostTypes/location.ts +0 -51
  465. package/src/_internal/util/vs/workbench/api/common/extHostTypes/markdownString.ts +0 -83
  466. package/src/_internal/util/vs/workbench/api/common/extHostTypes/notebooks.ts +0 -296
  467. package/src/_internal/util/vs/workbench/api/common/extHostTypes/position.ts +0 -195
  468. package/src/_internal/util/vs/workbench/api/common/extHostTypes/range.ts +0 -167
  469. package/src/_internal/util/vs/workbench/api/common/extHostTypes/selection.ts +0 -94
  470. package/src/_internal/util/vs/workbench/api/common/extHostTypes/snippetString.ts +0 -103
  471. package/src/_internal/util/vs/workbench/api/common/extHostTypes/snippetTextEdit.ts +0 -44
  472. package/src/_internal/util/vs/workbench/api/common/extHostTypes/symbolInformation.ts +0 -89
  473. package/src/_internal/util/vs/workbench/api/common/extHostTypes/textEdit.ts +0 -99
  474. package/src/_internal/vscodeTypes.ts +0 -100
  475. package/src/main.ts +0 -207
  476. package/src/package.json +0 -4063
@@ -1,845 +0,0 @@
1
- //!!! DO NOT modify, this file was COPIED from 'microsoft/vscode'
2
-
3
- /*---------------------------------------------------------------------------------------------
4
- * Copyright (c) Microsoft Corporation. All rights reserved.
5
- * Licensed under the MIT License. See License.txt in the project root for license information.
6
- *--------------------------------------------------------------------------------------------*/
7
-
8
- import { compareBy, numberComparator } from './arrays';
9
- import { groupBy } from './collections';
10
- import { SetMap } from './map';
11
- import { createSingleCallFunction } from './functional';
12
- import { Iterable } from './iterator';
13
- import { BugIndicatingError, onUnexpectedError } from './errors';
14
-
15
- // #region Disposable Tracking
16
-
17
- /**
18
- * Enables logging of potentially leaked disposables.
19
- *
20
- * A disposable is considered leaked if it is not disposed or not registered as the child of
21
- * another disposable. This tracking is very simple an only works for classes that either
22
- * extend Disposable or use a DisposableStore. This means there are a lot of false positives.
23
- */
24
- const TRACK_DISPOSABLES = false;
25
- let disposableTracker: IDisposableTracker | null = null;
26
-
27
- export interface IDisposableTracker {
28
- /**
29
- * Is called on construction of a disposable.
30
- */
31
- trackDisposable(disposable: IDisposable): void;
32
-
33
- /**
34
- * Is called when a disposable is registered as child of another disposable (e.g. {@link DisposableStore}).
35
- * If parent is `null`, the disposable is removed from its former parent.
36
- */
37
- setParent(child: IDisposable, parent: IDisposable | null): void;
38
-
39
- /**
40
- * Is called after a disposable is disposed.
41
- */
42
- markAsDisposed(disposable: IDisposable): void;
43
-
44
- /**
45
- * Indicates that the given object is a singleton which does not need to be disposed.
46
- */
47
- markAsSingleton(disposable: IDisposable): void;
48
- }
49
-
50
- export class GCBasedDisposableTracker implements IDisposableTracker {
51
-
52
- private readonly _registry = new FinalizationRegistry<string>(heldValue => {
53
- console.warn(`[LEAKED DISPOSABLE] ${heldValue}`);
54
- });
55
-
56
- trackDisposable(disposable: IDisposable): void {
57
- const stack = new Error('CREATED via:').stack!;
58
- this._registry.register(disposable, stack, disposable);
59
- }
60
-
61
- setParent(child: IDisposable, parent: IDisposable | null): void {
62
- if (parent) {
63
- this._registry.unregister(child);
64
- } else {
65
- this.trackDisposable(child);
66
- }
67
- }
68
-
69
- markAsDisposed(disposable: IDisposable): void {
70
- this._registry.unregister(disposable);
71
- }
72
-
73
- markAsSingleton(disposable: IDisposable): void {
74
- this._registry.unregister(disposable);
75
- }
76
- }
77
-
78
- export interface DisposableInfo {
79
- value: IDisposable;
80
- source: string | null;
81
- parent: IDisposable | null;
82
- isSingleton: boolean;
83
- idx: number;
84
- }
85
-
86
- export class DisposableTracker implements IDisposableTracker {
87
- private static idx = 0;
88
-
89
- private readonly livingDisposables = new Map<IDisposable, DisposableInfo>();
90
-
91
- private getDisposableData(d: IDisposable): DisposableInfo {
92
- let val = this.livingDisposables.get(d);
93
- if (!val) {
94
- val = { parent: null, source: null, isSingleton: false, value: d, idx: DisposableTracker.idx++ };
95
- this.livingDisposables.set(d, val);
96
- }
97
- return val;
98
- }
99
-
100
- trackDisposable(d: IDisposable): void {
101
- const data = this.getDisposableData(d);
102
- if (!data.source) {
103
- data.source =
104
- new Error().stack!;
105
- }
106
- }
107
-
108
- setParent(child: IDisposable, parent: IDisposable | null): void {
109
- const data = this.getDisposableData(child);
110
- data.parent = parent;
111
- }
112
-
113
- markAsDisposed(x: IDisposable): void {
114
- this.livingDisposables.delete(x);
115
- }
116
-
117
- markAsSingleton(disposable: IDisposable): void {
118
- this.getDisposableData(disposable).isSingleton = true;
119
- }
120
-
121
- private getRootParent(data: DisposableInfo, cache: Map<DisposableInfo, DisposableInfo>): DisposableInfo {
122
- const cacheValue = cache.get(data);
123
- if (cacheValue) {
124
- return cacheValue;
125
- }
126
-
127
- const result = data.parent ? this.getRootParent(this.getDisposableData(data.parent), cache) : data;
128
- cache.set(data, result);
129
- return result;
130
- }
131
-
132
- getTrackedDisposables(): IDisposable[] {
133
- const rootParentCache = new Map<DisposableInfo, DisposableInfo>();
134
-
135
- const leaking = [...this.livingDisposables.entries()]
136
- .filter(([, v]) => v.source !== null && !this.getRootParent(v, rootParentCache).isSingleton)
137
- .flatMap(([k]) => k);
138
-
139
- return leaking;
140
- }
141
-
142
- computeLeakingDisposables(maxReported = 10, preComputedLeaks?: DisposableInfo[]): { leaks: DisposableInfo[]; details: string } | undefined {
143
- let uncoveredLeakingObjs: DisposableInfo[] | undefined;
144
- if (preComputedLeaks) {
145
- uncoveredLeakingObjs = preComputedLeaks;
146
- } else {
147
- const rootParentCache = new Map<DisposableInfo, DisposableInfo>();
148
-
149
- const leakingObjects = [...this.livingDisposables.values()]
150
- .filter((info) => info.source !== null && !this.getRootParent(info, rootParentCache).isSingleton);
151
-
152
- if (leakingObjects.length === 0) {
153
- return;
154
- }
155
- const leakingObjsSet = new Set(leakingObjects.map(o => o.value));
156
-
157
- // Remove all objects that are a child of other leaking objects. Assumes there are no cycles.
158
- uncoveredLeakingObjs = leakingObjects.filter(l => {
159
- return !(l.parent && leakingObjsSet.has(l.parent));
160
- });
161
-
162
- if (uncoveredLeakingObjs.length === 0) {
163
- throw new Error('There are cyclic diposable chains!');
164
- }
165
- }
166
-
167
- if (!uncoveredLeakingObjs) {
168
- return undefined;
169
- }
170
-
171
- function getStackTracePath(leaking: DisposableInfo): string[] {
172
- function removePrefix(array: string[], linesToRemove: (string | RegExp)[]) {
173
- while (array.length > 0 && linesToRemove.some(regexp => typeof regexp === 'string' ? regexp === array[0] : array[0].match(regexp))) {
174
- array.shift();
175
- }
176
- }
177
-
178
- const lines = leaking.source!.split('\n').map(p => p.trim().replace('at ', '')).filter(l => l !== '');
179
- removePrefix(lines, ['Error', /^trackDisposable \(.*\)$/, /^DisposableTracker.trackDisposable \(.*\)$/]);
180
- return lines.reverse();
181
- }
182
-
183
- const stackTraceStarts = new SetMap<string, DisposableInfo>();
184
- for (const leaking of uncoveredLeakingObjs) {
185
- const stackTracePath = getStackTracePath(leaking);
186
- for (let i = 0; i <= stackTracePath.length; i++) {
187
- stackTraceStarts.add(stackTracePath.slice(0, i).join('\n'), leaking);
188
- }
189
- }
190
-
191
- // Put earlier leaks first
192
- uncoveredLeakingObjs.sort(compareBy(l => l.idx, numberComparator));
193
-
194
- let message = '';
195
-
196
- let i = 0;
197
- for (const leaking of uncoveredLeakingObjs.slice(0, maxReported)) {
198
- i++;
199
- const stackTracePath = getStackTracePath(leaking);
200
- const stackTraceFormattedLines = [];
201
-
202
- for (let i = 0; i < stackTracePath.length; i++) {
203
- let line = stackTracePath[i];
204
- const starts = stackTraceStarts.get(stackTracePath.slice(0, i + 1).join('\n'));
205
- line = `(shared with ${starts.size}/${uncoveredLeakingObjs.length} leaks) at ${line}`;
206
-
207
- const prevStarts = stackTraceStarts.get(stackTracePath.slice(0, i).join('\n'));
208
- const continuations = groupBy([...prevStarts].map(d => getStackTracePath(d)[i]), v => v);
209
- delete continuations[stackTracePath[i]];
210
- for (const [cont, set] of Object.entries(continuations)) {
211
- stackTraceFormattedLines.unshift(` - stacktraces of ${set.length} other leaks continue with ${cont}`);
212
- }
213
-
214
- stackTraceFormattedLines.unshift(line);
215
- }
216
-
217
- message += `\n\n\n==================== Leaking disposable ${i}/${uncoveredLeakingObjs.length}: ${leaking.value.constructor.name} ====================\n${stackTraceFormattedLines.join('\n')}\n============================================================\n\n`;
218
- }
219
-
220
- if (uncoveredLeakingObjs.length > maxReported) {
221
- message += `\n\n\n... and ${uncoveredLeakingObjs.length - maxReported} more leaking disposables\n\n`;
222
- }
223
-
224
- return { leaks: uncoveredLeakingObjs, details: message };
225
- }
226
- }
227
-
228
- export function setDisposableTracker(tracker: IDisposableTracker | null): void {
229
- disposableTracker = tracker;
230
- }
231
-
232
- if (TRACK_DISPOSABLES) {
233
- const __is_disposable_tracked__ = '__is_disposable_tracked__';
234
- setDisposableTracker(new class implements IDisposableTracker {
235
- trackDisposable(x: IDisposable): void {
236
- const stack = new Error('Potentially leaked disposable').stack!;
237
- setTimeout(() => {
238
- if (!(x as any)[__is_disposable_tracked__]) {
239
- console.log(stack);
240
- }
241
- }, 3000);
242
- }
243
-
244
- setParent(child: IDisposable, parent: IDisposable | null): void {
245
- if (child && child !== Disposable.None) {
246
- try {
247
- (child as any)[__is_disposable_tracked__] = true;
248
- } catch {
249
- // noop
250
- }
251
- }
252
- }
253
-
254
- markAsDisposed(disposable: IDisposable): void {
255
- if (disposable && disposable !== Disposable.None) {
256
- try {
257
- (disposable as any)[__is_disposable_tracked__] = true;
258
- } catch {
259
- // noop
260
- }
261
- }
262
- }
263
- markAsSingleton(disposable: IDisposable): void { }
264
- });
265
- }
266
-
267
- export function trackDisposable<T extends IDisposable>(x: T): T {
268
- disposableTracker?.trackDisposable(x);
269
- return x;
270
- }
271
-
272
- export function markAsDisposed(disposable: IDisposable): void {
273
- disposableTracker?.markAsDisposed(disposable);
274
- }
275
-
276
- function setParentOfDisposable(child: IDisposable, parent: IDisposable | null): void {
277
- disposableTracker?.setParent(child, parent);
278
- }
279
-
280
- function setParentOfDisposables(children: IDisposable[], parent: IDisposable | null): void {
281
- if (!disposableTracker) {
282
- return;
283
- }
284
- for (const child of children) {
285
- disposableTracker.setParent(child, parent);
286
- }
287
- }
288
-
289
- /**
290
- * Indicates that the given object is a singleton which does not need to be disposed.
291
- */
292
- export function markAsSingleton<T extends IDisposable>(singleton: T): T {
293
- disposableTracker?.markAsSingleton(singleton);
294
- return singleton;
295
- }
296
-
297
- // #endregion
298
-
299
- /**
300
- * An object that performs a cleanup operation when `.dispose()` is called.
301
- *
302
- * Some examples of how disposables are used:
303
- *
304
- * - An event listener that removes itself when `.dispose()` is called.
305
- * - A resource such as a file system watcher that cleans up the resource when `.dispose()` is called.
306
- * - The return value from registering a provider. When `.dispose()` is called, the provider is unregistered.
307
- */
308
- export interface IDisposable {
309
- dispose(): void;
310
- }
311
-
312
- /**
313
- * Check if `thing` is {@link IDisposable disposable}.
314
- */
315
- export function isDisposable<E extends any>(thing: E): thing is E & IDisposable {
316
- return typeof thing === 'object' && thing !== null && typeof (<IDisposable><any>thing).dispose === 'function' && (<IDisposable><any>thing).dispose.length === 0;
317
- }
318
-
319
- /**
320
- * Disposes of the value(s) passed in.
321
- */
322
- export function dispose<T extends IDisposable>(disposable: T): T;
323
- export function dispose<T extends IDisposable>(disposable: T | undefined): T | undefined;
324
- export function dispose<T extends IDisposable, A extends Iterable<T> = Iterable<T>>(disposables: A): A;
325
- export function dispose<T extends IDisposable>(disposables: Array<T>): Array<T>;
326
- export function dispose<T extends IDisposable>(disposables: ReadonlyArray<T>): ReadonlyArray<T>;
327
- export function dispose<T extends IDisposable>(arg: T | Iterable<T> | undefined): any {
328
- if (Iterable.is(arg)) {
329
- const errors: any[] = [];
330
-
331
- for (const d of arg) {
332
- if (d) {
333
- try {
334
- d.dispose();
335
- } catch (e) {
336
- errors.push(e);
337
- }
338
- }
339
- }
340
-
341
- if (errors.length === 1) {
342
- throw errors[0];
343
- } else if (errors.length > 1) {
344
- throw new AggregateError(errors, 'Encountered errors while disposing of store');
345
- }
346
-
347
- return Array.isArray(arg) ? [] : arg;
348
- } else if (arg) {
349
- arg.dispose();
350
- return arg;
351
- }
352
- }
353
-
354
- export function disposeIfDisposable<T extends IDisposable | object>(disposables: Array<T>): Array<T> {
355
- for (const d of disposables) {
356
- if (isDisposable(d)) {
357
- d.dispose();
358
- }
359
- }
360
- return [];
361
- }
362
-
363
- /**
364
- * Combine multiple disposable values into a single {@link IDisposable}.
365
- */
366
- export function combinedDisposable(...disposables: IDisposable[]): IDisposable {
367
- const parent = toDisposable(() => dispose(disposables));
368
- setParentOfDisposables(disposables, parent);
369
- return parent;
370
- }
371
-
372
- /**
373
- * Turn a function that implements dispose into an {@link IDisposable}.
374
- *
375
- * @param fn Clean up function, guaranteed to be called only **once**.
376
- */
377
- export function toDisposable(fn: () => void): IDisposable {
378
- const self = trackDisposable({
379
- dispose: createSingleCallFunction(() => {
380
- markAsDisposed(self);
381
- fn();
382
- })
383
- });
384
- return self;
385
- }
386
-
387
- /**
388
- * Manages a collection of disposable values.
389
- *
390
- * This is the preferred way to manage multiple disposables. A `DisposableStore` is safer to work with than an
391
- * `IDisposable[]` as it considers edge cases, such as registering the same value multiple times or adding an item to a
392
- * store that has already been disposed of.
393
- */
394
- export class DisposableStore implements IDisposable {
395
-
396
- static DISABLE_DISPOSED_WARNING = false;
397
-
398
- private readonly _toDispose = new Set<IDisposable>();
399
- private _isDisposed = false;
400
-
401
- constructor() {
402
- trackDisposable(this);
403
- }
404
-
405
- /**
406
- * Dispose of all registered disposables and mark this object as disposed.
407
- *
408
- * Any future disposables added to this object will be disposed of on `add`.
409
- */
410
- public dispose(): void {
411
- if (this._isDisposed) {
412
- return;
413
- }
414
-
415
- markAsDisposed(this);
416
- this._isDisposed = true;
417
- this.clear();
418
- }
419
-
420
- /**
421
- * @return `true` if this object has been disposed of.
422
- */
423
- public get isDisposed(): boolean {
424
- return this._isDisposed;
425
- }
426
-
427
- /**
428
- * Dispose of all registered disposables but do not mark this object as disposed.
429
- */
430
- public clear(): void {
431
- if (this._toDispose.size === 0) {
432
- return;
433
- }
434
-
435
- try {
436
- dispose(this._toDispose);
437
- } finally {
438
- this._toDispose.clear();
439
- }
440
- }
441
-
442
- /**
443
- * Add a new {@link IDisposable disposable} to the collection.
444
- */
445
- public add<T extends IDisposable>(o: T): T {
446
- if (!o || o === Disposable.None) {
447
- return o;
448
- }
449
- if ((o as unknown as DisposableStore) === this) {
450
- throw new Error('Cannot register a disposable on itself!');
451
- }
452
-
453
- setParentOfDisposable(o, this);
454
- if (this._isDisposed) {
455
- if (!DisposableStore.DISABLE_DISPOSED_WARNING) {
456
- console.warn(new Error('Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!').stack);
457
- }
458
- } else {
459
- this._toDispose.add(o);
460
- }
461
-
462
- return o;
463
- }
464
-
465
- /**
466
- * Deletes a disposable from store and disposes of it. This will not throw or warn and proceed to dispose the
467
- * disposable even when the disposable is not part in the store.
468
- */
469
- public delete<T extends IDisposable>(o: T): void {
470
- if (!o) {
471
- return;
472
- }
473
- if ((o as unknown as DisposableStore) === this) {
474
- throw new Error('Cannot dispose a disposable on itself!');
475
- }
476
- this._toDispose.delete(o);
477
- o.dispose();
478
- }
479
-
480
- /**
481
- * Deletes the value from the store, but does not dispose it.
482
- */
483
- public deleteAndLeak<T extends IDisposable>(o: T): void {
484
- if (!o) {
485
- return;
486
- }
487
- if (this._toDispose.has(o)) {
488
- this._toDispose.delete(o);
489
- setParentOfDisposable(o, null);
490
- }
491
- }
492
-
493
- public assertNotDisposed(): void {
494
- if (this._isDisposed) {
495
- onUnexpectedError(new BugIndicatingError('Object disposed'));
496
- }
497
- }
498
- }
499
-
500
- /**
501
- * Abstract base class for a {@link IDisposable disposable} object.
502
- *
503
- * Subclasses can {@linkcode _register} disposables that will be automatically cleaned up when this object is disposed of.
504
- */
505
- export abstract class Disposable implements IDisposable {
506
-
507
- /**
508
- * A disposable that does nothing when it is disposed of.
509
- *
510
- * TODO: This should not be a static property.
511
- */
512
- static readonly None = Object.freeze<IDisposable>({ dispose() { } });
513
-
514
- protected readonly _store = new DisposableStore();
515
-
516
- constructor() {
517
- trackDisposable(this);
518
- setParentOfDisposable(this._store, this);
519
- }
520
-
521
- public dispose(): void {
522
- markAsDisposed(this);
523
-
524
- this._store.dispose();
525
- }
526
-
527
- /**
528
- * Adds `o` to the collection of disposables managed by this object.
529
- */
530
- protected _register<T extends IDisposable>(o: T): T {
531
- if ((o as unknown as Disposable) === this) {
532
- throw new Error('Cannot register a disposable on itself!');
533
- }
534
- return this._store.add(o);
535
- }
536
- }
537
-
538
- /**
539
- * Manages the lifecycle of a disposable value that may be changed.
540
- *
541
- * This ensures that when the disposable value is changed, the previously held disposable is disposed of. You can
542
- * also register a `MutableDisposable` on a `Disposable` to ensure it is automatically cleaned up.
543
- */
544
- export class MutableDisposable<T extends IDisposable> implements IDisposable {
545
- private _value?: T;
546
- private _isDisposed = false;
547
-
548
- constructor() {
549
- trackDisposable(this);
550
- }
551
-
552
- get value(): T | undefined {
553
- return this._isDisposed ? undefined : this._value;
554
- }
555
-
556
- set value(value: T | undefined) {
557
- if (this._isDisposed || value === this._value) {
558
- return;
559
- }
560
-
561
- this._value?.dispose();
562
- if (value) {
563
- setParentOfDisposable(value, this);
564
- }
565
- this._value = value;
566
- }
567
-
568
- /**
569
- * Resets the stored value and disposed of the previously stored value.
570
- */
571
- clear(): void {
572
- this.value = undefined;
573
- }
574
-
575
- dispose(): void {
576
- this._isDisposed = true;
577
- markAsDisposed(this);
578
- this._value?.dispose();
579
- this._value = undefined;
580
- }
581
-
582
- /**
583
- * Clears the value, but does not dispose it.
584
- * The old value is returned.
585
- */
586
- clearAndLeak(): T | undefined {
587
- const oldValue = this._value;
588
- this._value = undefined;
589
- if (oldValue) {
590
- setParentOfDisposable(oldValue, null);
591
- }
592
- return oldValue;
593
- }
594
- }
595
-
596
- /**
597
- * Manages the lifecycle of a disposable value that may be changed like {@link MutableDisposable}, but the value must
598
- * exist and cannot be undefined.
599
- */
600
- export class MandatoryMutableDisposable<T extends IDisposable> implements IDisposable {
601
- private readonly _disposable = new MutableDisposable<T>();
602
- private _isDisposed = false;
603
-
604
- constructor(initialValue: T) {
605
- this._disposable.value = initialValue;
606
- }
607
-
608
- get value(): T {
609
- return this._disposable.value!;
610
- }
611
-
612
- set value(value: T) {
613
- if (this._isDisposed || value === this._disposable.value) {
614
- return;
615
- }
616
- this._disposable.value = value;
617
- }
618
-
619
- dispose() {
620
- this._isDisposed = true;
621
- this._disposable.dispose();
622
- }
623
- }
624
-
625
- export class RefCountedDisposable {
626
-
627
- private _counter: number = 1;
628
-
629
- constructor(
630
- private readonly _disposable: IDisposable,
631
- ) { }
632
-
633
- acquire() {
634
- this._counter++;
635
- return this;
636
- }
637
-
638
- release() {
639
- if (--this._counter === 0) {
640
- this._disposable.dispose();
641
- }
642
- return this;
643
- }
644
- }
645
-
646
- export interface IReference<T> extends IDisposable {
647
- readonly object: T;
648
- }
649
-
650
- export abstract class ReferenceCollection<T> {
651
-
652
- private readonly references: Map<string, { readonly object: T; counter: number }> = new Map();
653
-
654
- acquire(key: string, ...args: any[]): IReference<T> {
655
- let reference = this.references.get(key);
656
-
657
- if (!reference) {
658
- reference = { counter: 0, object: this.createReferencedObject(key, ...args) };
659
- this.references.set(key, reference);
660
- }
661
-
662
- const { object } = reference;
663
- const dispose = createSingleCallFunction(() => {
664
- if (--reference.counter === 0) {
665
- this.destroyReferencedObject(key, reference.object);
666
- this.references.delete(key);
667
- }
668
- });
669
-
670
- reference.counter++;
671
-
672
- return { object, dispose };
673
- }
674
-
675
- protected abstract createReferencedObject(key: string, ...args: any[]): T;
676
- protected abstract destroyReferencedObject(key: string, object: T): void;
677
- }
678
-
679
- /**
680
- * Unwraps a reference collection of promised values. Makes sure
681
- * references are disposed whenever promises get rejected.
682
- */
683
- export class AsyncReferenceCollection<T> {
684
-
685
- constructor(private referenceCollection: ReferenceCollection<Promise<T>>) { }
686
-
687
- async acquire(key: string, ...args: any[]): Promise<IReference<T>> {
688
- const ref = this.referenceCollection.acquire(key, ...args);
689
-
690
- try {
691
- const object = await ref.object;
692
-
693
- return {
694
- object,
695
- dispose: () => ref.dispose()
696
- };
697
- } catch (error) {
698
- ref.dispose();
699
- throw error;
700
- }
701
- }
702
- }
703
-
704
- export class ImmortalReference<T> implements IReference<T> {
705
- constructor(public object: T) { }
706
- dispose(): void { /* noop */ }
707
- }
708
-
709
- export function disposeOnReturn(fn: (store: DisposableStore) => void): void {
710
- const store = new DisposableStore();
711
- try {
712
- fn(store);
713
- } finally {
714
- store.dispose();
715
- }
716
- }
717
-
718
- /**
719
- * A map the manages the lifecycle of the values that it stores.
720
- */
721
- export class DisposableMap<K, V extends IDisposable = IDisposable> implements IDisposable {
722
-
723
- private readonly _store = new Map<K, V>();
724
- private _isDisposed = false;
725
-
726
- constructor() {
727
- trackDisposable(this);
728
- }
729
-
730
- /**
731
- * Disposes of all stored values and mark this object as disposed.
732
- *
733
- * Trying to use this object after it has been disposed of is an error.
734
- */
735
- dispose(): void {
736
- markAsDisposed(this);
737
- this._isDisposed = true;
738
- this.clearAndDisposeAll();
739
- }
740
-
741
- /**
742
- * Disposes of all stored values and clear the map, but DO NOT mark this object as disposed.
743
- */
744
- clearAndDisposeAll(): void {
745
- if (!this._store.size) {
746
- return;
747
- }
748
-
749
- try {
750
- dispose(this._store.values());
751
- } finally {
752
- this._store.clear();
753
- }
754
- }
755
-
756
- has(key: K): boolean {
757
- return this._store.has(key);
758
- }
759
-
760
- get size(): number {
761
- return this._store.size;
762
- }
763
-
764
- get(key: K): V | undefined {
765
- return this._store.get(key);
766
- }
767
-
768
- set(key: K, value: V, skipDisposeOnOverwrite = false): void {
769
- if (this._isDisposed) {
770
- console.warn(new Error('Trying to add a disposable to a DisposableMap that has already been disposed of. The added object will be leaked!').stack);
771
- }
772
-
773
- if (!skipDisposeOnOverwrite) {
774
- this._store.get(key)?.dispose();
775
- }
776
-
777
- this._store.set(key, value);
778
- setParentOfDisposable(value, this);
779
- }
780
-
781
- /**
782
- * Delete the value stored for `key` from this map and also dispose of it.
783
- */
784
- deleteAndDispose(key: K): void {
785
- this._store.get(key)?.dispose();
786
- this._store.delete(key);
787
- }
788
-
789
- /**
790
- * Delete the value stored for `key` from this map but return it. The caller is
791
- * responsible for disposing of the value.
792
- */
793
- deleteAndLeak(key: K): V | undefined {
794
- const value = this._store.get(key);
795
- if (value) {
796
- setParentOfDisposable(value, null);
797
- }
798
- this._store.delete(key);
799
- return value;
800
- }
801
-
802
- keys(): IterableIterator<K> {
803
- return this._store.keys();
804
- }
805
-
806
- values(): IterableIterator<V> {
807
- return this._store.values();
808
- }
809
-
810
- [Symbol.iterator](): IterableIterator<[K, V]> {
811
- return this._store[Symbol.iterator]();
812
- }
813
- }
814
-
815
- /**
816
- * Call `then` on a Promise, unless the returned disposable is disposed.
817
- */
818
- export function thenIfNotDisposed<T>(promise: Promise<T>, then: (result: T) => void): IDisposable {
819
- let disposed = false;
820
- promise.then(result => {
821
- if (disposed) {
822
- return;
823
- }
824
- then(result);
825
- });
826
- return toDisposable(() => {
827
- disposed = true;
828
- });
829
- }
830
-
831
- /**
832
- * Call `then` on a promise that resolves to a {@link IDisposable}, then either register the
833
- * disposable or register it to the {@link DisposableStore}, depending on whether the store is
834
- * disposed or not.
835
- */
836
- export function thenRegisterOrDispose<T extends IDisposable>(promise: Promise<T>, store: DisposableStore): Promise<T> {
837
- return promise.then(disposable => {
838
- if (store.isDisposed) {
839
- disposable.dispose();
840
- } else {
841
- store.add(disposable);
842
- }
843
- return disposable;
844
- });
845
- }