@vscode/chat-lib 0.0.1 → 0.0.2

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 (391) hide show
  1. package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts.map +1 -1
  2. package/dist/src/_internal/extension/xtab/common/promptCrafting.js +6 -5
  3. package/dist/src/_internal/extension/xtab/common/promptCrafting.js.map +1 -1
  4. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +1 -0
  5. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
  6. package/dist/src/_internal/platform/configuration/common/configurationService.js +1 -0
  7. package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
  8. package/dist/src/_internal/platform/env/common/envService.d.ts +5 -0
  9. package/dist/src/_internal/platform/env/common/envService.d.ts.map +1 -1
  10. package/dist/src/_internal/platform/env/common/envService.js +2 -1
  11. package/dist/src/_internal/platform/env/common/envService.js.map +1 -1
  12. package/dist/src/_internal/platform/env/common/nullEnvService.d.ts +3 -0
  13. package/dist/src/_internal/platform/env/common/nullEnvService.d.ts.map +1 -1
  14. package/dist/src/_internal/platform/env/common/nullEnvService.js +8 -1
  15. package/dist/src/_internal/platform/env/common/nullEnvService.js.map +1 -1
  16. package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.d.ts +7 -0
  17. package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.d.ts.map +1 -1
  18. package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.js +1 -0
  19. package/dist/src/_internal/platform/telemetry/common/nullExperimentationService.js.map +1 -1
  20. package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts +8 -0
  21. package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts.map +1 -1
  22. package/dist/src/_internal/util/common/test/shims/chatTypes.js +19 -1
  23. package/dist/src/_internal/util/common/test/shims/chatTypes.js.map +1 -1
  24. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.d.ts.map +1 -1
  25. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js +8 -1
  26. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js.map +1 -1
  27. package/dist/src/_internal/vscodeTypes.d.ts +4 -0
  28. package/dist/src/_internal/vscodeTypes.d.ts.map +1 -1
  29. package/dist/src/_internal/vscodeTypes.js +5 -1
  30. package/dist/src/_internal/vscodeTypes.js.map +1 -1
  31. package/dist/src/main.d.ts +5 -0
  32. package/dist/src/main.d.ts.map +1 -1
  33. package/dist/src/main.js +12 -0
  34. package/dist/src/main.js.map +1 -1
  35. package/dist/src/package.json +46 -19
  36. package/package.json +3 -6
  37. package/src/_internal/extension/byok/node/openAIEndpoint.ts +0 -171
  38. package/src/_internal/extension/common/constants.ts +0 -90
  39. package/src/_internal/extension/inlineEdits/common/delayer.ts +0 -108
  40. package/src/_internal/extension/inlineEdits/common/editRebase.ts +0 -268
  41. package/src/_internal/extension/inlineEdits/common/ghNearbyNesProvider.tsx +0 -163
  42. package/src/_internal/extension/inlineEdits/common/nearbyCursorInlineEditProvider.ts +0 -225
  43. package/src/_internal/extension/inlineEdits/common/rejectionCollector.ts +0 -164
  44. package/src/_internal/extension/inlineEdits/node/debugRecorder.ts +0 -205
  45. package/src/_internal/extension/inlineEdits/node/importFiltering.ts +0 -25
  46. package/src/_internal/extension/inlineEdits/node/nesConfigs.ts +0 -12
  47. package/src/_internal/extension/inlineEdits/node/nextEditCache.ts +0 -278
  48. package/src/_internal/extension/inlineEdits/node/nextEditProvider.ts +0 -778
  49. package/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.ts +0 -983
  50. package/src/_internal/extension/inlineEdits/node/nextEditResult.ts +0 -40
  51. package/src/_internal/extension/prompt/common/importStatement.ts +0 -25
  52. package/src/_internal/extension/prompt/node/chatMLFetcher.ts +0 -706
  53. package/src/_internal/extension/prompts/node/inline/summarizedDocument/fragments.ts +0 -146
  54. package/src/_internal/extension/prompts/node/inline/summarizedDocument/implementation.ts +0 -527
  55. package/src/_internal/extension/prompts/node/inline/summarizedDocument/projectedText.ts +0 -76
  56. package/src/_internal/extension/prompts/node/inline/visualization.ts +0 -65
  57. package/src/_internal/extension/vscode.proposed.activeComment.d.ts +0 -23
  58. package/src/_internal/extension/vscode.proposed.aiRelatedInformation.d.ts +0 -49
  59. package/src/_internal/extension/vscode.proposed.aiSettingsSearch.d.ts +0 -31
  60. package/src/_internal/extension/vscode.proposed.aiTextSearchProvider.d.ts +0 -41
  61. package/src/_internal/extension/vscode.proposed.authLearnMore.d.ts +0 -16
  62. package/src/_internal/extension/vscode.proposed.chatBinaryReferenceData.d.ts +0 -41
  63. package/src/_internal/extension/vscode.proposed.chatEditing.d.ts +0 -29
  64. package/src/_internal/extension/vscode.proposed.chatParticipantAdditions.d.ts +0 -636
  65. package/src/_internal/extension/vscode.proposed.chatParticipantPrivate.d.ts +0 -276
  66. package/src/_internal/extension/vscode.proposed.chatProvider.d.ts +0 -62
  67. package/src/_internal/extension/vscode.proposed.chatReadonlyPromptReference.d.ts +0 -17
  68. package/src/_internal/extension/vscode.proposed.chatReferenceDiagnostic.d.ts +0 -23
  69. package/src/_internal/extension/vscode.proposed.chatSessionsProvider.d.ts +0 -218
  70. package/src/_internal/extension/vscode.proposed.chatStatusItem.d.ts +0 -61
  71. package/src/_internal/extension/vscode.proposed.codeActionAI.d.ts +0 -16
  72. package/src/_internal/extension/vscode.proposed.commentReveal.d.ts +0 -32
  73. package/src/_internal/extension/vscode.proposed.contribCommentThreadAdditionalMenu.d.ts +0 -8
  74. package/src/_internal/extension/vscode.proposed.contribCommentsViewThreadMenus.d.ts +0 -6
  75. package/src/_internal/extension/vscode.proposed.contribSourceControlInputBoxMenu.d.ts +0 -7
  76. package/src/_internal/extension/vscode.proposed.dataChannels.d.ts +0 -19
  77. package/src/_internal/extension/vscode.proposed.defaultChatParticipant.d.ts +0 -52
  78. package/src/_internal/extension/vscode.proposed.documentFiltersExclusive.d.ts +0 -13
  79. package/src/_internal/extension/vscode.proposed.embeddings.d.ts +0 -33
  80. package/src/_internal/extension/vscode.proposed.extensionsAny.d.ts +0 -40
  81. package/src/_internal/extension/vscode.proposed.findFiles2.d.ts +0 -125
  82. package/src/_internal/extension/vscode.proposed.findTextInFiles.d.ts +0 -104
  83. package/src/_internal/extension/vscode.proposed.findTextInFiles2.d.ts +0 -144
  84. package/src/_internal/extension/vscode.proposed.inlineCompletionsAdditions.d.ts +0 -202
  85. package/src/_internal/extension/vscode.proposed.interactive.d.ts +0 -11
  86. package/src/_internal/extension/vscode.proposed.languageModelCapabilities.d.ts +0 -25
  87. package/src/_internal/extension/vscode.proposed.languageModelDataPart.d.ts +0 -163
  88. package/src/_internal/extension/vscode.proposed.languageModelSystem.d.ts +0 -17
  89. package/src/_internal/extension/vscode.proposed.languageModelThinkingPart.d.ts +0 -49
  90. package/src/_internal/extension/vscode.proposed.languageModelToolResultAudience.d.ts +0 -36
  91. package/src/_internal/extension/vscode.proposed.mappedEditsProvider.d.ts +0 -110
  92. package/src/_internal/extension/vscode.proposed.newSymbolNamesProvider.d.ts +0 -47
  93. package/src/_internal/extension/vscode.proposed.readonlyMessage.d.ts +0 -14
  94. package/src/_internal/extension/vscode.proposed.resolvers.d.ts +0 -475
  95. package/src/_internal/extension/vscode.proposed.scmInputBoxValueProvider.d.ts +0 -25
  96. package/src/_internal/extension/vscode.proposed.taskProblemMatcherStatus.d.ts +0 -42
  97. package/src/_internal/extension/vscode.proposed.terminalDataWriteEvent.d.ts +0 -32
  98. package/src/_internal/extension/vscode.proposed.terminalExecuteCommandEvent.d.ts +0 -48
  99. package/src/_internal/extension/vscode.proposed.terminalQuickFixProvider.d.ts +0 -87
  100. package/src/_internal/extension/vscode.proposed.terminalSelection.d.ts +0 -16
  101. package/src/_internal/extension/vscode.proposed.testObserver.d.ts +0 -199
  102. package/src/_internal/extension/vscode.proposed.textDocumentChangeReason.d.ts +0 -30
  103. package/src/_internal/extension/vscode.proposed.textSearchProvider.d.ts +0 -281
  104. package/src/_internal/extension/vscode.proposed.textSearchProvider2.d.ts +0 -297
  105. package/src/_internal/extension/xtab/common/promptCrafting.ts +0 -670
  106. package/src/_internal/extension/xtab/node/xtabEndpoint.ts +0 -102
  107. package/src/_internal/extension/xtab/node/xtabProvider.ts +0 -976
  108. package/src/_internal/extension/xtab/node/xtabUtils.ts +0 -62
  109. package/src/_internal/platform/authentication/common/authentication.ts +0 -309
  110. package/src/_internal/platform/authentication/common/copilotToken.ts +0 -300
  111. package/src/_internal/platform/authentication/common/copilotTokenManager.ts +0 -59
  112. package/src/_internal/platform/authentication/common/copilotTokenStore.ts +0 -40
  113. package/src/_internal/platform/authentication/common/staticGitHubAuthenticationService.ts +0 -96
  114. package/src/_internal/platform/authentication/node/copilotTokenManager.ts +0 -303
  115. package/src/_internal/platform/chat/common/chatMLFetcher.ts +0 -124
  116. package/src/_internal/platform/chat/common/chatQuotaService.ts +0 -63
  117. package/src/_internal/platform/chat/common/chatQuotaServiceImpl.ts +0 -96
  118. package/src/_internal/platform/chat/common/commonTypes.ts +0 -353
  119. package/src/_internal/platform/chat/common/conversationOptions.ts +0 -16
  120. package/src/_internal/platform/chat/common/globalStringUtils.ts +0 -54
  121. package/src/_internal/platform/chat/common/interactionService.ts +0 -35
  122. package/src/_internal/platform/configuration/common/configurationService.ts +0 -803
  123. package/src/_internal/platform/configuration/common/defaultsOnlyConfigurationService.ts +0 -39
  124. package/src/_internal/platform/configuration/common/jsonSchema.ts +0 -139
  125. package/src/_internal/platform/configuration/common/validator.ts +0 -242
  126. package/src/_internal/platform/diff/common/diffService.ts +0 -41
  127. package/src/_internal/platform/diff/common/diffWorker.ts +0 -83
  128. package/src/_internal/platform/diff/node/diffServiceImpl.ts +0 -85
  129. package/src/_internal/platform/editing/common/abstractText.ts +0 -177
  130. package/src/_internal/platform/editing/common/notebookDocumentSnapshot.ts +0 -122
  131. package/src/_internal/platform/editing/common/positionOffsetTransformer.ts +0 -202
  132. package/src/_internal/platform/editing/common/textDocumentSnapshot.ts +0 -274
  133. package/src/_internal/platform/endpoint/common/capiClient.ts +0 -37
  134. package/src/_internal/platform/endpoint/common/chatModelCapabilities.ts +0 -115
  135. package/src/_internal/platform/endpoint/common/domainService.ts +0 -27
  136. package/src/_internal/platform/endpoint/common/endpointProvider.ts +0 -104
  137. package/src/_internal/platform/endpoint/common/endpointTypes.ts +0 -12
  138. package/src/_internal/platform/endpoint/common/licenseAgreement.ts +0 -11
  139. package/src/_internal/platform/endpoint/common/statefulMarkerContainer.tsx +0 -85
  140. package/src/_internal/platform/endpoint/common/thinkingDataContainer.tsx +0 -44
  141. package/src/_internal/platform/endpoint/node/capiClientImpl.ts +0 -18
  142. package/src/_internal/platform/endpoint/node/chatEndpoint.ts +0 -435
  143. package/src/_internal/platform/endpoint/node/domainServiceImpl.ts +0 -80
  144. package/src/_internal/platform/endpoint/node/proxyXtabEndpoint.ts +0 -43
  145. package/src/_internal/platform/endpoint/node/responsesApi.ts +0 -326
  146. package/src/_internal/platform/env/common/envService.ts +0 -134
  147. package/src/_internal/platform/env/common/nullEnvService.ts +0 -68
  148. package/src/_internal/platform/env/common/packagejson.ts +0 -49
  149. package/src/_internal/platform/git/common/gitExtensionService.ts +0 -21
  150. package/src/_internal/platform/git/common/nullGitExtensionService.ts +0 -20
  151. package/src/_internal/platform/git/vscode/git.d.ts +0 -414
  152. package/src/_internal/platform/github/common/githubAPI.ts +0 -44
  153. package/src/_internal/platform/github/common/githubService.ts +0 -87
  154. package/src/_internal/platform/github/common/nullOctokitServiceImpl.ts +0 -21
  155. package/src/_internal/platform/ignore/common/ignoreService.ts +0 -72
  156. package/src/_internal/platform/inlineCompletions/common/api.ts +0 -198
  157. package/src/_internal/platform/inlineEdits/common/dataTypes/diagnosticData.ts +0 -32
  158. package/src/_internal/platform/inlineEdits/common/dataTypes/documentId.ts +0 -52
  159. package/src/_internal/platform/inlineEdits/common/dataTypes/edit.ts +0 -165
  160. package/src/_internal/platform/inlineEdits/common/dataTypes/editUtils.ts +0 -74
  161. package/src/_internal/platform/inlineEdits/common/dataTypes/fetchCancellationError.ts +0 -14
  162. package/src/_internal/platform/inlineEdits/common/dataTypes/languageContext.ts +0 -107
  163. package/src/_internal/platform/inlineEdits/common/dataTypes/languageId.ts +0 -14
  164. package/src/_internal/platform/inlineEdits/common/dataTypes/permutation.ts +0 -69
  165. package/src/_internal/platform/inlineEdits/common/dataTypes/rootedLineEdit.ts +0 -49
  166. package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLength.ts +0 -74
  167. package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/combineTextEditInfos.ts +0 -132
  168. package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/length.ts +0 -184
  169. package/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/textEditInfo.ts +0 -32
  170. package/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.ts +0 -89
  171. package/src/_internal/platform/inlineEdits/common/debugRecorderBookmark.ts +0 -10
  172. package/src/_internal/platform/inlineEdits/common/editReason.ts +0 -134
  173. package/src/_internal/platform/inlineEdits/common/inlineEditLogContext.ts +0 -490
  174. package/src/_internal/platform/inlineEdits/common/observableGit.ts +0 -49
  175. package/src/_internal/platform/inlineEdits/common/observableWorkspace.ts +0 -239
  176. package/src/_internal/platform/inlineEdits/common/responseProcessor.ts +0 -249
  177. package/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.ts +0 -468
  178. package/src/_internal/platform/inlineEdits/common/statelessNextEditProviders.ts +0 -59
  179. package/src/_internal/platform/inlineEdits/common/utils/observable.ts +0 -54
  180. package/src/_internal/platform/inlineEdits/common/utils/stringifyChatMessages.ts +0 -29
  181. package/src/_internal/platform/inlineEdits/common/utils/utils.ts +0 -56
  182. package/src/_internal/platform/inlineEdits/common/workspaceEditTracker/historyContextProvider.ts +0 -60
  183. package/src/_internal/platform/inlineEdits/common/workspaceEditTracker/nesHistoryContextProvider.ts +0 -353
  184. package/src/_internal/platform/inlineEdits/common/workspaceEditTracker/nesXtabHistoryTracker.ts +0 -176
  185. package/src/_internal/platform/languageContextProvider/common/languageContextProviderService.ts +0 -25
  186. package/src/_internal/platform/languageContextProvider/common/nullLanguageContextProviderService.ts +0 -38
  187. package/src/_internal/platform/languageServer/common/languageContextService.ts +0 -186
  188. package/src/_internal/platform/languages/common/languageDiagnosticsService.ts +0 -67
  189. package/src/_internal/platform/languages/common/testLanguageDiagnosticsService.ts +0 -28
  190. package/src/_internal/platform/log/common/logService.ts +0 -232
  191. package/src/_internal/platform/nesFetch/common/completionsAPI.ts +0 -78
  192. package/src/_internal/platform/nesFetch/common/completionsFetchService.ts +0 -118
  193. package/src/_internal/platform/nesFetch/common/responseStream.ts +0 -151
  194. package/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.ts +0 -236
  195. package/src/_internal/platform/nesFetch/node/streamTransformer.ts +0 -95
  196. package/src/_internal/platform/networking/common/fetch.ts +0 -349
  197. package/src/_internal/platform/networking/common/fetcherService.ts +0 -84
  198. package/src/_internal/platform/networking/common/networking.ts +0 -442
  199. package/src/_internal/platform/networking/common/openai.ts +0 -273
  200. package/src/_internal/platform/networking/node/chatStream.ts +0 -137
  201. package/src/_internal/platform/networking/node/stream.ts +0 -749
  202. package/src/_internal/platform/notebook/common/alternativeContent.ts +0 -89
  203. package/src/_internal/platform/notebook/common/alternativeContentFormat.ts +0 -10
  204. package/src/_internal/platform/notebook/common/alternativeContentProvider.json.ts +0 -262
  205. package/src/_internal/platform/notebook/common/alternativeContentProvider.text.ts +0 -243
  206. package/src/_internal/platform/notebook/common/alternativeContentProvider.ts +0 -41
  207. package/src/_internal/platform/notebook/common/alternativeContentProvider.xml.ts +0 -205
  208. package/src/_internal/platform/notebook/common/alternativeNotebookDocument.ts +0 -155
  209. package/src/_internal/platform/notebook/common/helpers.ts +0 -212
  210. package/src/_internal/platform/notebook/common/notebookService.ts +0 -43
  211. package/src/_internal/platform/openai/node/fetch.ts +0 -596
  212. package/src/_internal/platform/parser/node/nodes.ts +0 -190
  213. package/src/_internal/platform/requestLogger/node/nullRequestLogger.ts +0 -26
  214. package/src/_internal/platform/requestLogger/node/requestLogger.ts +0 -383
  215. package/src/_internal/platform/simulationTestContext/common/simulationTestContext.ts +0 -29
  216. package/src/_internal/platform/snippy/common/snippyService.ts +0 -25
  217. package/src/_internal/platform/telemetry/common/nullExperimentationService.ts +0 -64
  218. package/src/_internal/platform/telemetry/common/nullTelemetryService.ts +0 -53
  219. package/src/_internal/platform/telemetry/common/telemetry.ts +0 -215
  220. package/src/_internal/platform/telemetry/common/telemetryData.ts +0 -205
  221. package/src/_internal/platform/thinking/common/thinking.ts +0 -61
  222. package/src/_internal/platform/thinking/common/thinkingUtils.ts +0 -57
  223. package/src/_internal/platform/tokenizer/node/parseTikTokens.ts +0 -23
  224. package/src/_internal/platform/tokenizer/node/tikTokenizerImpl.ts +0 -74
  225. package/src/_internal/platform/tokenizer/node/tikTokenizerWorker.ts +0 -24
  226. package/src/_internal/platform/tokenizer/node/tokenizer.ts +0 -357
  227. package/src/_internal/platform/workspace/common/workspaceService.ts +0 -226
  228. package/src/_internal/platform/workspaceRecorder/common/workspaceLog.ts +0 -118
  229. package/src/_internal/util/common/anomalyDetection.ts +0 -112
  230. package/src/_internal/util/common/arrays.ts +0 -81
  231. package/src/_internal/util/common/async.ts +0 -155
  232. package/src/_internal/util/common/cache.ts +0 -183
  233. package/src/_internal/util/common/crypto.ts +0 -41
  234. package/src/_internal/util/common/errors.ts +0 -22
  235. package/src/_internal/util/common/globals.d.ts +0 -12
  236. package/src/_internal/util/common/imageUtils.ts +0 -154
  237. package/src/_internal/util/common/languages.ts +0 -940
  238. package/src/_internal/util/common/notebooks.ts +0 -286
  239. package/src/_internal/util/common/result.ts +0 -71
  240. package/src/_internal/util/common/services.ts +0 -43
  241. package/src/_internal/util/common/test/shims/chatTypes.ts +0 -448
  242. package/src/_internal/util/common/test/shims/editing.ts +0 -233
  243. package/src/_internal/util/common/test/shims/enums.ts +0 -61
  244. package/src/_internal/util/common/test/shims/l10n.ts +0 -37
  245. package/src/_internal/util/common/test/shims/newSymbolName.ts +0 -23
  246. package/src/_internal/util/common/test/shims/terminal.ts +0 -33
  247. package/src/_internal/util/common/test/shims/vscodeTypesShim.ts +0 -115
  248. package/src/_internal/util/common/time.ts +0 -31
  249. package/src/_internal/util/common/tokenizer.ts +0 -30
  250. package/src/_internal/util/common/tracing.ts +0 -52
  251. package/src/_internal/util/common/types.ts +0 -33
  252. package/src/_internal/util/common/variableLengthQuantity.ts +0 -40
  253. package/src/_internal/util/node/worker.ts +0 -130
  254. package/src/_internal/util/vs/base/common/arrays.ts +0 -926
  255. package/src/_internal/util/vs/base/common/arraysFind.ts +0 -206
  256. package/src/_internal/util/vs/base/common/assert.ts +0 -89
  257. package/src/_internal/util/vs/base/common/async.ts +0 -2582
  258. package/src/_internal/util/vs/base/common/buffer.ts +0 -501
  259. package/src/_internal/util/vs/base/common/cache.ts +0 -122
  260. package/src/_internal/util/vs/base/common/cancellation.ts +0 -150
  261. package/src/_internal/util/vs/base/common/charCode.ts +0 -452
  262. package/src/_internal/util/vs/base/common/codicons.ts +0 -66
  263. package/src/_internal/util/vs/base/common/codiconsLibrary.ts +0 -618
  264. package/src/_internal/util/vs/base/common/codiconsUtil.ts +0 -30
  265. package/src/_internal/util/vs/base/common/collections.ts +0 -156
  266. package/src/_internal/util/vs/base/common/diff/diff.ts +0 -1317
  267. package/src/_internal/util/vs/base/common/diff/diffChange.ts +0 -62
  268. package/src/_internal/util/vs/base/common/equals.ts +0 -148
  269. package/src/_internal/util/vs/base/common/errors.ts +0 -342
  270. package/src/_internal/util/vs/base/common/event.ts +0 -1782
  271. package/src/_internal/util/vs/base/common/extpath.ts +0 -425
  272. package/src/_internal/util/vs/base/common/filters.ts +0 -928
  273. package/src/_internal/util/vs/base/common/functional.ts +0 -34
  274. package/src/_internal/util/vs/base/common/glob.ts +0 -839
  275. package/src/_internal/util/vs/base/common/hash.ts +0 -326
  276. package/src/_internal/util/vs/base/common/htmlContent.ts +0 -212
  277. package/src/_internal/util/vs/base/common/iconLabels.ts +0 -118
  278. package/src/_internal/util/vs/base/common/iterator.ts +0 -196
  279. package/src/_internal/util/vs/base/common/lazy.ts +0 -59
  280. package/src/_internal/util/vs/base/common/lifecycle.ts +0 -845
  281. package/src/_internal/util/vs/base/common/linkedList.ts +0 -144
  282. package/src/_internal/util/vs/base/common/map.ts +0 -954
  283. package/src/_internal/util/vs/base/common/marshallingIds.ts +0 -35
  284. package/src/_internal/util/vs/base/common/mime.ts +0 -136
  285. package/src/_internal/util/vs/base/common/naturalLanguage/korean.ts +0 -425
  286. package/src/_internal/util/vs/base/common/network.ts +0 -429
  287. package/src/_internal/util/vs/base/common/numbers.ts +0 -166
  288. package/src/_internal/util/vs/base/common/objects.ts +0 -242
  289. package/src/_internal/util/vs/base/common/observable.ts +0 -10
  290. package/src/_internal/util/vs/base/common/observableInternal/base.ts +0 -208
  291. package/src/_internal/util/vs/base/common/observableInternal/changeTracker.ts +0 -96
  292. package/src/_internal/util/vs/base/common/observableInternal/commonFacade/cancellation.ts +0 -9
  293. package/src/_internal/util/vs/base/common/observableInternal/commonFacade/deps.ts +0 -12
  294. package/src/_internal/util/vs/base/common/observableInternal/debugLocation.ts +0 -88
  295. package/src/_internal/util/vs/base/common/observableInternal/debugName.ts +0 -150
  296. package/src/_internal/util/vs/base/common/observableInternal/experimental/utils.ts +0 -62
  297. package/src/_internal/util/vs/base/common/observableInternal/index.ts +0 -61
  298. package/src/_internal/util/vs/base/common/observableInternal/logging/consoleObservableLogger.ts +0 -388
  299. package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/debuggerApi.d.ts +0 -154
  300. package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/debuggerRpc.ts +0 -80
  301. package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/devToolsLogger.ts +0 -485
  302. package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/rpc.ts +0 -103
  303. package/src/_internal/util/vs/base/common/observableInternal/logging/debugger/utils.ts +0 -69
  304. package/src/_internal/util/vs/base/common/observableInternal/logging/logging.ts +0 -133
  305. package/src/_internal/util/vs/base/common/observableInternal/map.ts +0 -81
  306. package/src/_internal/util/vs/base/common/observableInternal/observables/baseObservable.ts +0 -172
  307. package/src/_internal/util/vs/base/common/observableInternal/observables/constObservable.ts +0 -44
  308. package/src/_internal/util/vs/base/common/observableInternal/observables/derived.ts +0 -190
  309. package/src/_internal/util/vs/base/common/observableInternal/observables/derivedImpl.ts +0 -445
  310. package/src/_internal/util/vs/base/common/observableInternal/observables/lazyObservableValue.ts +0 -154
  311. package/src/_internal/util/vs/base/common/observableInternal/observables/observableFromEvent.ts +0 -174
  312. package/src/_internal/util/vs/base/common/observableInternal/observables/observableSignal.ts +0 -67
  313. package/src/_internal/util/vs/base/common/observableInternal/observables/observableSignalFromEvent.ts +0 -62
  314. package/src/_internal/util/vs/base/common/observableInternal/observables/observableValue.ts +0 -131
  315. package/src/_internal/util/vs/base/common/observableInternal/observables/observableValueOpts.ts +0 -37
  316. package/src/_internal/util/vs/base/common/observableInternal/reactions/autorun.ts +0 -188
  317. package/src/_internal/util/vs/base/common/observableInternal/reactions/autorunImpl.ts +0 -256
  318. package/src/_internal/util/vs/base/common/observableInternal/set.ts +0 -78
  319. package/src/_internal/util/vs/base/common/observableInternal/transaction.ts +0 -115
  320. package/src/_internal/util/vs/base/common/observableInternal/utils/promise.ts +0 -129
  321. package/src/_internal/util/vs/base/common/observableInternal/utils/runOnChange.ts +0 -65
  322. package/src/_internal/util/vs/base/common/observableInternal/utils/utils.ts +0 -281
  323. package/src/_internal/util/vs/base/common/observableInternal/utils/utilsCancellation.ts +0 -101
  324. package/src/_internal/util/vs/base/common/observableInternal/utils/valueWithChangeEvent.ts +0 -31
  325. package/src/_internal/util/vs/base/common/path.ts +0 -1591
  326. package/src/_internal/util/vs/base/common/platform.ts +0 -282
  327. package/src/_internal/util/vs/base/common/process.ts +0 -78
  328. package/src/_internal/util/vs/base/common/resources.ts +0 -446
  329. package/src/_internal/util/vs/base/common/sequence.ts +0 -36
  330. package/src/_internal/util/vs/base/common/sseParser.ts +0 -247
  331. package/src/_internal/util/vs/base/common/stopwatch.ts +0 -43
  332. package/src/_internal/util/vs/base/common/stream.ts +0 -792
  333. package/src/_internal/util/vs/base/common/strings.ts +0 -1364
  334. package/src/_internal/util/vs/base/common/symbols.ts +0 -11
  335. package/src/_internal/util/vs/base/common/themables.ts +0 -106
  336. package/src/_internal/util/vs/base/common/types.ts +0 -345
  337. package/src/_internal/util/vs/base/common/uint.ts +0 -61
  338. package/src/_internal/util/vs/base/common/uri.ts +0 -752
  339. package/src/_internal/util/vs/base/common/uuid.ts +0 -72
  340. package/src/_internal/util/vs/base-common.d.ts +0 -42
  341. package/src/_internal/util/vs/editor/common/core/editOperation.ts +0 -62
  342. package/src/_internal/util/vs/editor/common/core/edits/edit.ts +0 -399
  343. package/src/_internal/util/vs/editor/common/core/edits/lineEdit.ts +0 -414
  344. package/src/_internal/util/vs/editor/common/core/edits/stringEdit.ts +0 -568
  345. package/src/_internal/util/vs/editor/common/core/edits/textEdit.ts +0 -411
  346. package/src/_internal/util/vs/editor/common/core/position.ts +0 -186
  347. package/src/_internal/util/vs/editor/common/core/range.ts +0 -519
  348. package/src/_internal/util/vs/editor/common/core/ranges/lineRange.ts +0 -416
  349. package/src/_internal/util/vs/editor/common/core/ranges/offsetRange.ts +0 -275
  350. package/src/_internal/util/vs/editor/common/core/text/abstractText.ts +0 -127
  351. package/src/_internal/util/vs/editor/common/core/text/positionToOffset.ts +0 -26
  352. package/src/_internal/util/vs/editor/common/core/text/positionToOffsetImpl.ts +0 -144
  353. package/src/_internal/util/vs/editor/common/core/text/textLength.ts +0 -150
  354. package/src/_internal/util/vs/editor/common/core/wordHelper.ts +0 -177
  355. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/diffAlgorithm.ts +0 -210
  356. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/dynamicProgrammingDiffing.ts +0 -109
  357. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/algorithms/myersDiffAlgorithm.ts +0 -178
  358. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/computeMovedLines.ts +0 -331
  359. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer.ts +0 -273
  360. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/heuristicSequenceOptimizations.ts +0 -475
  361. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/lineSequence.ts +0 -47
  362. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/linesSliceCharSequence.ts +0 -248
  363. package/src/_internal/util/vs/editor/common/diff/defaultLinesDiffComputer/utils.ts +0 -76
  364. package/src/_internal/util/vs/editor/common/diff/legacyLinesDiffComputer.ts +0 -693
  365. package/src/_internal/util/vs/editor/common/diff/linesDiffComputer.ts +0 -61
  366. package/src/_internal/util/vs/editor/common/diff/rangeMapping.ts +0 -418
  367. package/src/_internal/util/vs/editor/common/model/prefixSumComputer.ts +0 -304
  368. package/src/_internal/util/vs/nls.messages.ts +0 -21
  369. package/src/_internal/util/vs/nls.ts +0 -243
  370. package/src/_internal/util/vs/platform/instantiation/common/descriptors.ts +0 -23
  371. package/src/_internal/util/vs/platform/instantiation/common/graph.ts +0 -113
  372. package/src/_internal/util/vs/platform/instantiation/common/instantiation.ts +0 -127
  373. package/src/_internal/util/vs/platform/instantiation/common/instantiationService.ts +0 -483
  374. package/src/_internal/util/vs/platform/instantiation/common/serviceCollection.ts +0 -34
  375. package/src/_internal/util/vs/vscode-globals-nls.d.ts +0 -42
  376. package/src/_internal/util/vs/vscode-globals-product.d.ts +0 -35
  377. package/src/_internal/util/vs/workbench/api/common/extHostTypes/diagnostic.ts +0 -109
  378. package/src/_internal/util/vs/workbench/api/common/extHostTypes/es5ClassCompat.ts +0 -34
  379. package/src/_internal/util/vs/workbench/api/common/extHostTypes/location.ts +0 -51
  380. package/src/_internal/util/vs/workbench/api/common/extHostTypes/markdownString.ts +0 -83
  381. package/src/_internal/util/vs/workbench/api/common/extHostTypes/notebooks.ts +0 -296
  382. package/src/_internal/util/vs/workbench/api/common/extHostTypes/position.ts +0 -195
  383. package/src/_internal/util/vs/workbench/api/common/extHostTypes/range.ts +0 -167
  384. package/src/_internal/util/vs/workbench/api/common/extHostTypes/selection.ts +0 -94
  385. package/src/_internal/util/vs/workbench/api/common/extHostTypes/snippetString.ts +0 -103
  386. package/src/_internal/util/vs/workbench/api/common/extHostTypes/snippetTextEdit.ts +0 -44
  387. package/src/_internal/util/vs/workbench/api/common/extHostTypes/symbolInformation.ts +0 -89
  388. package/src/_internal/util/vs/workbench/api/common/extHostTypes/textEdit.ts +0 -99
  389. package/src/_internal/vscodeTypes.ts +0 -100
  390. package/src/main.ts +0 -207
  391. package/src/package.json +0 -4063
@@ -1,118 +0,0 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the MIT License. See License.txt in the project root for license information.
4
- *--------------------------------------------------------------------------------------------*/
5
-
6
- import { StringEdit, StringReplacement } from '../../../util/vs/editor/common/core/edits/stringEdit';
7
- import { OffsetRange } from '../../../util/vs/editor/common/core/ranges/offsetRange';
8
-
9
- export type LogDocumentId = number;
10
-
11
- export type LogEntry =
12
- | HeaderLogEntry
13
- | ApplicationStartLogEntry
14
- | DocumentSetContentLogEntry
15
- | DocumentStoreContentLogEntry
16
- | DocumentRestoreContentLogEntry
17
- | DocumentOpenedLogEntry
18
- | DocumentClosedLogEntry
19
- | DocumentChangedLogEntry
20
- | DocumentFocusChangedLogEntry
21
- | DocumentSelectionChangedLogEntry
22
- | DocumentEncounteredLogEntry
23
- | MetaLogEntry
24
- | BookmarkLogEntry
25
- | DocumentEventLogEntry
26
- | EventLogEntry;
27
-
28
- export type DocumentLogEntry = { id: LogDocumentId; time: number };
29
- export namespace DocumentLogEntry {
30
- export function is(entry: unknown): entry is DocumentLogEntry {
31
- return !!entry && typeof entry === 'object' && 'id' in entry && 'time' in entry;
32
- }
33
- }
34
-
35
- /** First entry of the log */
36
- export type HeaderLogEntry = { documentType: "workspaceRecording@1.0"; kind: 'header'; repoRootUri: string; time: number; uuid: string };
37
-
38
- export type ApplicationStartLogEntry = { kind: 'applicationStart'; time: number; commitHash?: string };
39
-
40
- export type DocumentSetContentLogEntry = DocumentLogEntry & { kind: 'setContent'; content: string; /* if undefined, is 0 */ v: number | undefined };
41
-
42
- export type DocumentStoreContentLogEntry = DocumentLogEntry & { kind: 'storeContent'; contentId: string; /* if undefined, is 0 */ v: number | undefined };
43
-
44
- /** Can only restore from a content id set by any previous store content log entry */
45
- export type DocumentRestoreContentLogEntry = DocumentLogEntry & { kind: 'restoreContent'; contentId: string; /* if undefined, is 0 */ v: number | undefined };
46
-
47
- export type DocumentOpenedLogEntry = DocumentLogEntry & { kind: 'opened' };
48
-
49
- export type DocumentClosedLogEntry = DocumentLogEntry & { kind: 'closed' };
50
-
51
- export type DocumentChangedLogEntry = DocumentLogEntry & { kind: 'changed'; edit: ISerializedEdit; v: number };
52
-
53
- export type DocumentFocusChangedLogEntry = DocumentLogEntry & { kind: 'focused' };
54
-
55
- export type DocumentSelectionChangedLogEntry = DocumentLogEntry & { kind: 'selectionChanged'; selection: ISerializedOffsetRange[] };
56
-
57
- export type DocumentEncounteredLogEntry = DocumentLogEntry & { kind: 'documentEncountered'; relativePath: string };
58
-
59
- export type DocumentEventLogEntry = DocumentLogEntry & { kind: 'documentEvent'; data: unknown };
60
-
61
- export type EventLogEntry = { kind: 'event'; time: number; data: unknown };
62
-
63
- export type MetaLogEntry = { kind: 'meta'; data: unknown | { repoRootUri: string } };
64
-
65
- export type BookmarkLogEntry = { kind: 'bookmark'; time: number };
66
-
67
-
68
- // Edit functions
69
-
70
- export type ISerializedOffsetRange = [start: number, endEx: number];
71
- export type ISerializedEdit = [start: number, endEx: number, text: string][];
72
-
73
- export function serializeOffsetRange(offsetRange: OffsetRange): ISerializedOffsetRange {
74
- return [offsetRange.start, offsetRange.endExclusive];
75
- }
76
-
77
- export function deserializeOffsetRange(serialized: ISerializedOffsetRange): OffsetRange {
78
- return new OffsetRange(serialized[0], serialized[1]);
79
- }
80
-
81
- export function serializeEdit(edit: StringEdit): ISerializedEdit {
82
- return edit.replacements.map(e => [e.replaceRange.start, e.replaceRange.endExclusive, e.newText]);
83
- }
84
-
85
- export function deserializeEdit(serialized: ISerializedEdit): StringEdit {
86
- return StringEdit.create(serialized.map(e => StringReplacement.replace(new OffsetRange(e[0], e[1]), e[2])));
87
- }
88
-
89
- export type DocumentEventLogEntryData = IDocumentEventDataSetChangeReason | IDocumentEventFetchStart;
90
- export type EventLogEntryData = IEventFetchEnd;
91
-
92
- export interface IDocumentEventDataSetChangeReason {
93
- sourceId: "TextModel.setChangeReason";
94
- source: string;
95
- v: number;
96
- }
97
-
98
- interface IDocumentEventFetchStart {
99
- sourceId: "InlineCompletions.fetch";
100
- kind: "start";
101
- requestId: number;
102
- v: number;
103
- }
104
-
105
- export interface IEventFetchEnd {
106
- sourceId: "InlineCompletions.fetch";
107
- kind: "end";
108
- requestId: number;
109
- error: string | undefined;
110
- result: IFetchResult[];
111
- }
112
-
113
- interface IFetchResult {
114
- range: string;
115
- text: string;
116
- isInlineEdit: boolean;
117
- source: string;
118
- }
@@ -1,112 +0,0 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the MIT License. See License.txt in the project root for license information.
4
- *--------------------------------------------------------------------------------------------*/
5
-
6
- /** Sometimes the model gets caught in repeating a simplistic and unhelpful pattern
7
- * This file provides functionality to check whether this might be the case
8
- */
9
- interface RepetitionConfig {
10
- max_token_sequence_length: number;
11
- last_tokens_to_consider: number;
12
- }
13
-
14
- const configs: RepetitionConfig[] = [
15
- // in case of single token, 10 repetitions is too much already:
16
- { max_token_sequence_length: 1, last_tokens_to_consider: 10 },
17
- // if the last 30 tokens are a repeat of up to 10 tokens, then it's a pattern:
18
- { max_token_sequence_length: 10, last_tokens_to_consider: 30 },
19
- // if the pattern is very long, it needs to account for a long stretch so we can be sure
20
- { max_token_sequence_length: 20, last_tokens_to_consider: 45 },
21
- { max_token_sequence_length: 30, last_tokens_to_consider: 60 },
22
- { max_token_sequence_length: 60, last_tokens_to_consider: 120 },
23
- ];
24
-
25
- /**
26
- * Given a string calculates how many times each line in the string is repeated
27
- * @param text The string to analyze
28
- * @returns The repeating line, the number of times it repeats, total number of lines
29
- */
30
- export function calculateLineRepetitionStats(text: string): { numberOfRepetitions: number; mostRepeatedLine: string; totalLines: number } {
31
- if (text.length === 0) {
32
- return { numberOfRepetitions: 0, mostRepeatedLine: '', totalLines: 0 };
33
- }
34
- const repetitionMap = new Map<string, number>();
35
- const lines = text.split('\n');
36
- for (let line of lines) {
37
- line = line.trim();
38
- if (line.length === 0) {
39
- continue;
40
- }
41
- const repetitions = repetitionMap.get(line) || 0;
42
- repetitionMap.set(line, repetitions + 1);
43
- }
44
-
45
- let mostRepeatedLine = '';
46
- let maxRepetitions = 0;
47
- for (const [line, repetitions] of repetitionMap.entries()) {
48
- if (repetitions > maxRepetitions) {
49
- maxRepetitions = repetitions;
50
- mostRepeatedLine = line;
51
- }
52
- }
53
-
54
- return { numberOfRepetitions: maxRepetitions, mostRepeatedLine, totalLines: lines.length };
55
- }
56
-
57
- /**
58
- * Return whether the given token array ends in a repetition of a pattern.
59
- * Controlling the necessary pattern length is set in the configs array.
60
- */
61
- export function isRepetitive(tokens: readonly string[]): boolean {
62
- const tokensBackwards = tokens.slice();
63
- tokensBackwards.reverse();
64
- return (
65
- isRepeatedPattern(tokensBackwards) ||
66
- isRepeatedPattern(tokensBackwards.filter(token => token.trim().length > 0))
67
- );
68
- }
69
-
70
- /**
71
- * Determine whether the given array or string starts with the repetition of a pattern,
72
- * according to one of the predefined configs.
73
- */
74
- function isRepeatedPattern<T>(s: ArrayLike<T>): boolean {
75
- const prefix = kmp_prefix_function(s);
76
- for (const config of configs) {
77
- if (s.length < config.last_tokens_to_consider) {
78
- continue;
79
- }
80
- // This is the smallest number of characters that one may shift `s` so that it
81
- // overlaps with itself. That is also the smallest length of a repeated
82
- // pattern that makes up `s`, where the last repetition is possibly truncated.
83
- const patternLength = config.last_tokens_to_consider - 1 - prefix[config.last_tokens_to_consider - 1];
84
- if (patternLength <= config.max_token_sequence_length) {
85
- return true;
86
- }
87
- }
88
- return false;
89
- }
90
-
91
- /** Return the Knuth-Morris-Pratt prefix function pi.
92
- * For each i=0,..,.s.length-1, then
93
- * pi[i] = max(j < i, s.slice(0,i+1).beginsWith(s.slice(0, j+1)))
94
- * (note pi[0] = -1 by this definition)
95
- * Adapted from
96
- * Introduction to Algorithms, 3rd edition, by Thomas H. Cormen, et al.
97
- */
98
- function kmp_prefix_function<T>(s: ArrayLike<T>): number[] {
99
- const pi = Array(s.length).fill(0);
100
- pi[0] = -1;
101
- let k = -1;
102
- for (let q = 1; q < s.length; q++) {
103
- while (k >= 0 && s[k + 1] !== s[q]) {
104
- k = pi[k];
105
- }
106
- if (s[k + 1] === s[q]) {
107
- k++;
108
- }
109
- pi[q] = k;
110
- }
111
- return pi;
112
- }
@@ -1,81 +0,0 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the MIT License. See License.txt in the project root for license information.
4
- *--------------------------------------------------------------------------------------------*/
5
-
6
- /**
7
- * Counts the number of elements in an array that satisfy a given predicate.
8
- */
9
- export function count<T>(array: T[], predicate: (value: T) => boolean): number {
10
- let count = 0;
11
- for (const value of array) {
12
- if (predicate(value)) {
13
- count++;
14
- }
15
- }
16
- return count;
17
- }
18
-
19
- export function findInsertionIndexInSortedArray<T>(array: T[], value: T, isBeforeFunction: (a: T, b: T) => boolean): number {
20
- let low = 0;
21
- let high = array.length;
22
- while (low < high) {
23
- const mid = (low + high) >>> 1;
24
- if (isBeforeFunction(array[mid], value)) {
25
- low = mid + 1;
26
- }
27
- else {
28
- high = mid;
29
- }
30
- }
31
- return low;
32
- }
33
- /**
34
- * Returns the maximum element in the array according to the given sort callback.
35
- * @param arr - The array to search for the maximum element.
36
- * @param compare - The sort callback to use for comparing elements.
37
- * @returns The maximum element in the array according to the given sort callback.
38
- */
39
- export function max<T>(arr: T[], compare: (a: T, b: T) => number): T | undefined {
40
- if (arr.length === 0) {
41
- return undefined;
42
- }
43
-
44
- let maxElement = arr[0];
45
-
46
- for (let i = 1; i < arr.length; i++) {
47
- const currentElement = arr[i];
48
-
49
- if (compare(currentElement, maxElement) > 0) {
50
- maxElement = currentElement;
51
- }
52
- }
53
-
54
- return maxElement;
55
- }
56
-
57
- export function filterMap<T, K>(array: T[], map: (t: T) => K | undefined | null): K[] {
58
- const result: K[] = [];
59
- for (const element of array) {
60
- const mapped = map(element);
61
- if (mapped !== undefined && mapped !== null) {
62
- result.push(mapped);
63
- }
64
- }
65
- return result;
66
- }
67
-
68
- /**
69
- * Behaves just like `Math.min`, so it will return Infinity for an empty array.
70
- */
71
- export function min(array: number[]): number {
72
- if (array.length === 0) {
73
- return Infinity;
74
- }
75
-
76
- let min = array[0];
77
- for (let i = 1; i < array.length; i++) {
78
- min = Math.min(min, array[i]);
79
- }
80
- return min;
81
- }
@@ -1,155 +0,0 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the MIT License. See License.txt in the project root for license information.
4
- *--------------------------------------------------------------------------------------------*/
5
-
6
- import { DeferredPromise } from '../vs/base/common/async';
7
- import { BugIndicatingError, CancellationError } from '../vs/base/common/errors';
8
-
9
- export type Task<T = void> = () => (Promise<T> | T);
10
-
11
- /**
12
- * Processes tasks in the order they were scheduled.
13
- */
14
- export class TaskQueue {
15
- private _runningTask: Task<any> | undefined = undefined;
16
- private _pendingTasks: { task: Task<any>; deferred: DeferredPromise<any>; setUndefinedWhenCleared: boolean }[] = [];
17
-
18
- /**
19
- * Waits for the current and pending tasks to finish, then runs and awaits the given task.
20
- * If the task is skipped because of clearPending, the promise is rejected with a CancellationError.
21
- */
22
- public schedule<T>(task: Task<T>): Promise<T> {
23
- const deferred = new DeferredPromise<T>();
24
- this._pendingTasks.push({ task, deferred, setUndefinedWhenCleared: false });
25
- this._runIfNotRunning();
26
- return deferred.p;
27
- }
28
-
29
- /**
30
- * Waits for the current and pending tasks to finish, then runs and awaits the given task.
31
- * If the task is skipped because of clearPending, the promise is resolved with undefined.
32
- */
33
- public scheduleSkipIfCleared<T>(task: Task<T>): Promise<T | undefined> {
34
- const deferred = new DeferredPromise<T>();
35
- this._pendingTasks.push({ task, deferred, setUndefinedWhenCleared: true });
36
- this._runIfNotRunning();
37
- return deferred.p;
38
- }
39
-
40
- private _runIfNotRunning(): void {
41
- if (this._runningTask === undefined) {
42
- this._processQueue();
43
- }
44
- }
45
-
46
- private async _processQueue(): Promise<void> {
47
- if (this._pendingTasks.length === 0) {
48
- return;
49
- }
50
-
51
- const next = this._pendingTasks.shift();
52
- if (!next) {
53
- return;
54
- }
55
-
56
- if (this._runningTask) {
57
- throw new BugIndicatingError();
58
- }
59
-
60
- this._runningTask = next.task;
61
-
62
- try {
63
- const result = await next.task();
64
- next.deferred.complete(result);
65
- } catch (e) {
66
- next.deferred.error(e);
67
- } finally {
68
- this._runningTask = undefined;
69
- this._processQueue();
70
- }
71
- }
72
-
73
- /**
74
- * Clears all pending tasks. Does not cancel the currently running task.
75
- */
76
- public clearPending(): void {
77
- const tasks = this._pendingTasks;
78
- this._pendingTasks = [];
79
- for (const task of tasks) {
80
- if (task.setUndefinedWhenCleared) {
81
- task.deferred.complete(undefined);
82
- } else {
83
- task.deferred.error(new CancellationError());
84
- }
85
- }
86
- }
87
- }
88
-
89
- export class BatchedProcessor<TArg, TResult> {
90
- private _queue: { arg: TArg; promise: DeferredPromise<TResult> }[] = [];
91
- private _timeout: any | null = null;
92
-
93
- constructor(
94
- private readonly _fn: (args: TArg[]) => Promise<TResult[]>,
95
- private readonly _waitingTimeMs: number
96
- ) { }
97
-
98
- request(arg: TArg): Promise<TResult> {
99
- if (this._timeout === null) {
100
- this._timeout = setTimeout(() => this._flush(), this._waitingTimeMs);
101
- }
102
-
103
- const p = new DeferredPromise<TResult>();
104
- this._queue.push({ arg, promise: p });
105
- return p.p;
106
- }
107
-
108
- private async _flush() {
109
- const queue = this._queue;
110
- this._queue = [];
111
- this._timeout = null;
112
-
113
- const args = queue.map(e => e.arg);
114
-
115
- let results: TResult[];
116
- try {
117
- results = await this._fn(args);
118
- } catch (e) {
119
- for (const entry of queue) {
120
- entry.promise.error(e);
121
- }
122
- return;
123
- }
124
-
125
- for (const [i, result] of results.entries()) {
126
- queue[i].promise.complete(result);
127
- }
128
- }
129
- }
130
-
131
- export function raceFilter<T>(promises: Promise<T>[], filter: (result: T) => boolean): Promise<T | undefined> {
132
- return new Promise((resolve, reject) => {
133
- if (promises.length === 0) {
134
- resolve(undefined);
135
- return;
136
- }
137
-
138
- let resolved = false;
139
- let unresolvedCount = promises.length;
140
- for (const promise of promises) {
141
- promise.then(result => {
142
- unresolvedCount--;
143
- if (!resolved) {
144
- if (filter(result)) {
145
- resolved = true;
146
- resolve(result);
147
- } else if (unresolvedCount === 0) {
148
- // Last one has to resolve the promise
149
- resolve(undefined);
150
- }
151
- }
152
- }).catch(reject);
153
- }
154
- });
155
- }
@@ -1,183 +0,0 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the MIT License. See License.txt in the project root for license information.
4
- *--------------------------------------------------------------------------------------------*/
5
-
6
- import { IDisposable } from '../vs/base/common/lifecycle';
7
-
8
- class Node<T> {
9
- key: string;
10
- value: T;
11
- prev: Node<T> | null = null;
12
- next: Node<T> | null = null;
13
-
14
- constructor(key: string, value: T) {
15
- this.key = key;
16
- this.value = value;
17
- }
18
- }
19
-
20
- export class LRUCache<T> {
21
- private readonly _capacity: number;
22
- private readonly _cache: Map<string, Node<T>>;
23
- private readonly _head: Node<T>;
24
- private readonly _tail: Node<T>;
25
-
26
- constructor(size = 10) {
27
- if (size < 1) {
28
- throw new Error('Cache size must be at least 1');
29
- }
30
- this._capacity = size;
31
- this._cache = new Map<string, Node<T>>();
32
- this._head = new Node<T>('', null as any);
33
- this._tail = new Node<T>('', null as any);
34
- this._head.next = this._tail;
35
- this._tail.prev = this._head;
36
- }
37
-
38
- private _addNode(node: Node<T>) {
39
- node.prev = this._head;
40
- node.next = this._head.next;
41
- this._head.next!.prev = node;
42
- this._head.next = node;
43
- }
44
-
45
- private _removeNode(node: Node<T>) {
46
- const prev = node.prev;
47
- const next = node.next;
48
- prev!.next = next;
49
- next!.prev = prev;
50
- }
51
-
52
- private _moveToHead(node: Node<T>) {
53
- this._removeNode(node);
54
- this._addNode(node);
55
- }
56
-
57
- private _popTail(): Node<T> {
58
- const res = this._tail.prev!;
59
- this._removeNode(res);
60
- return res;
61
- }
62
-
63
- clear() {
64
- this._cache.clear();
65
- this._head.next = this._tail;
66
- this._tail.prev = this._head;
67
- }
68
-
69
- /**
70
- * Deletes the cache entry for the given key, if it exists.
71
- * @param key The key of the cache entry to delete.
72
- * @returns The value of the deleted cache entry, or undefined if the key was not found.
73
- */
74
- deleteKey(key: string): T | undefined {
75
- const node = this._cache.get(key);
76
- if (!node) {
77
- return undefined;
78
- }
79
- this._removeNode(node);
80
- this._cache.delete(key);
81
- return node.value;
82
- }
83
-
84
- get(key: string): T | undefined {
85
- const node = this._cache.get(key);
86
- if (!node) {
87
- return undefined;
88
- }
89
- this._moveToHead(node);
90
- return node.value;
91
- }
92
-
93
- /**
94
- * Return a copy of all the keys stored in the LRU cache, in LRU order.
95
- *
96
- * The returned array is safe to modify, as this call allocates a copy of a
97
- * private array used to represent those keys.
98
- */
99
- keys(): string[] {
100
- const keys: string[] = [];
101
- let current = this._head.next;
102
- while (current !== this._tail) {
103
- keys.push(current!.key);
104
- current = current!.next;
105
- }
106
- return keys;
107
- }
108
-
109
- getValues() {
110
- const values: T[] = [];
111
- let current = this._head.next;
112
- while (current !== this._tail) {
113
- values.push(current!.value);
114
- current = current!.next;
115
- }
116
- return values;
117
- }
118
-
119
- /** @returns the evicted [key, value] */
120
- put(key: string, value: T): [string, T] | undefined {
121
- let node = this._cache.get(key);
122
- if (node) {
123
- node.value = value;
124
- this._moveToHead(node);
125
- } else {
126
- node = new Node<T>(key, value);
127
- this._cache.set(key, node);
128
- this._addNode(node);
129
-
130
- if (this._cache.size > this._capacity) {
131
- const tail = this._popTail();
132
- this._cache.delete(tail.key);
133
- return [tail.key, tail.value] as const;
134
- }
135
- }
136
- }
137
- }
138
-
139
- export class DisposablesLRUCache<T extends IDisposable> implements IDisposable {
140
- private readonly actual: LRUCache<T>;
141
-
142
- constructor(size?: number) {
143
- this.actual = new LRUCache<T>(size);
144
- }
145
-
146
- dispose() {
147
- this.clear();
148
- }
149
-
150
- clear() {
151
- const values = this.actual.getValues();
152
- for (const value of values) {
153
- value.dispose();
154
- }
155
- this.actual.clear();
156
- }
157
-
158
- deleteKey(key: string): void {
159
- const value = this.actual.deleteKey(key);
160
- if (value) {
161
- value.dispose();
162
- }
163
- }
164
-
165
- get(key: string): T | undefined {
166
- return this.actual.get(key);
167
- }
168
-
169
- keys(): string[] {
170
- return this.actual.keys();
171
- }
172
-
173
- getValues() {
174
- return this.actual.getValues();
175
- }
176
-
177
- put(key: string, value: T): void {
178
- const evicted = this.actual.put(key, value);
179
- if (evicted) {
180
- evicted[1].dispose();
181
- }
182
- }
183
- }
@@ -1,41 +0,0 @@
1
- /*---------------------------------------------------------------------------------------------
2
- * Copyright (c) Microsoft Corporation. All rights reserved.
3
- * Licensed under the MIT License. See License.txt in the project root for license information.
4
- *--------------------------------------------------------------------------------------------*/
5
-
6
- export async function createRequestHMAC(hmacSecret: string | undefined): Promise<string | undefined> {
7
- // If we don't have the right env variables this could happen
8
- if (!hmacSecret) {
9
- return undefined;
10
- }
11
-
12
- const key = await crypto.subtle.importKey(
13
- "raw",
14
- new TextEncoder().encode(hmacSecret),
15
- { name: "HMAC", hash: "SHA-256" },
16
- false,
17
- ["sign"]
18
- );
19
-
20
- const current = Math.floor(Date.now() / 1000).toString();
21
- const textEncoder = new TextEncoder();
22
- const data = textEncoder.encode(current);
23
-
24
- const signature = await crypto.subtle.sign("HMAC", key, data);
25
- const signatureArray = Array.from(new Uint8Array(signature));
26
- const signatureHex = signatureArray.map(b => b.toString(16).padStart(2, '0')).join('');
27
-
28
- return `${current}.${signatureHex}`;
29
- }
30
-
31
- export async function createSha256Hash(data: string | Uint8Array): Promise<string> {
32
- const dataUint8 = typeof data === 'string' ? new TextEncoder().encode(data) : data;
33
- const hashBuffer = await crypto.subtle.digest('SHA-256', dataUint8);
34
- const hashArray = new Uint8Array(hashBuffer);
35
- let hashHex = '';
36
- for (const byte of hashArray) {
37
- hashHex += byte.toString(16).padStart(2, '0');
38
- }
39
-
40
- return hashHex;
41
- }