@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,62 +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 { IResponsePart } from '../../../platform/chat/common/chatMLFetcher';
7
- import { AsyncIterableObject } from '../../../util/vs/base/common/async';
8
-
9
-
10
- export function toLines(stream: AsyncIterableObject<IResponsePart>) {
11
- return new AsyncIterableObject<string>(async (emitter) => {
12
- let buffer = '';
13
-
14
- for await (const chunk of stream) {
15
- buffer += chunk.delta.text;
16
-
17
- const parts = buffer.split(/\r?\n/);
18
- buffer = parts.pop() ?? '';
19
-
20
- emitter.emitMany(parts);
21
- }
22
-
23
- if (buffer) {
24
- emitter.emitOne(buffer);
25
- }
26
- });
27
- }
28
-
29
- /**
30
- * Remove backticks on the first and last lines.
31
- */
32
- export function linesWithBackticksRemoved(linesStream: AsyncIterableObject<string>) {
33
- return new AsyncIterableObject<string>(async (emitter) => {
34
- let lineN = -1;
35
-
36
- let bufferedBacktickLine: string | undefined;
37
-
38
- for await (const line of linesStream) {
39
- ++lineN;
40
-
41
- if (bufferedBacktickLine) {
42
- emitter.emitOne(bufferedBacktickLine);
43
- bufferedBacktickLine = undefined;
44
- }
45
-
46
- if (line.match(/^```[a-z]*$/)) {
47
- if (lineN === 0) {
48
- continue;
49
- } else {
50
- // maybe middle of stream or last line
51
- // we set it to buffer; if it's midle of stream, it will be emitted
52
- // if last line, it will be omitted
53
- bufferedBacktickLine = line;
54
- }
55
- } else {
56
- emitter.emitOne(line);
57
- }
58
- }
59
-
60
- // ignore bufferedLine
61
- });
62
- }
@@ -1,309 +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
- import type { AuthenticationGetSessionOptions, AuthenticationSession } from 'vscode';
6
- import { createServiceIdentifier } from '../../../util/common/services';
7
- import { Emitter, Event } from '../../../util/vs/base/common/event';
8
- import { Disposable } from '../../../util/vs/base/common/lifecycle';
9
- import { derived } from '../../../util/vs/base/common/observableInternal';
10
- import { AuthPermissionMode, ConfigKey, IConfigurationService } from '../../configuration/common/configurationService';
11
- import { ILogService } from '../../log/common/logService';
12
- import { CopilotToken } from './copilotToken';
13
- import { ICopilotTokenManager } from './copilotTokenManager';
14
- import { ICopilotTokenStore } from './copilotTokenStore';
15
-
16
- // Minimum set of scopes needed for Copilot to work
17
- export const GITHUB_SCOPE_USER_EMAIL = ['user:email'];
18
-
19
- // Old list of scopes still used for backwards compatibility
20
- export const GITHUB_SCOPE_READ_USER = ['read:user'];
21
-
22
- // The same scopes that GitHub Pull Request, GitHub Repositories, and others use
23
- export const GITHUB_SCOPE_ALIGNED = ['read:user', 'user:email', 'repo', 'workflow'];
24
-
25
- export class MinimalModeError extends Error {
26
- constructor() {
27
- super('The authentication service is in minimal mode.');
28
- this.name = 'MinimalModeError';
29
- }
30
- }
31
-
32
- export const IAuthenticationService = createServiceIdentifier<IAuthenticationService>('IAuthenticationService');
33
- export interface IAuthenticationService {
34
-
35
- readonly _serviceBrand: undefined;
36
-
37
- /**
38
- * Whether the authentication service is in minimal mode. If true, the authentication service will not attempt to
39
- * fetch the permissive token. This means that:
40
- * * {@link getPermissiveGitHubSession} interactive flows will always throw an error
41
- * * {@link getPermissiveGitHubSession} silent flows and {@link permissiveGitHubSession} will always return undefined
42
- */
43
- readonly isMinimalMode: boolean;
44
-
45
- /**
46
- * Event emitter that will fire an event every time the authentication status changes. This is used for example to detect when the user
47
- * logs out of GitHub or when they log in with a more permissive token.
48
- *
49
- * @note For best practice of handling of the user's authentication state, you should react to this event.
50
- */
51
- readonly onDidAuthenticationChange: Event<void>;
52
-
53
- /**
54
- * @deprecated Use {@link onDidAuthenticationChange} instead. This event fires when the access token changes and not the copilot token.
55
- */
56
- readonly onDidAccessTokenChange: Event<void>;
57
-
58
- /**
59
- * Checks if there is currently any session available in the cache. Does not make any network requests and does not
60
- * call out to the underlying authentication provider.
61
- *
62
- * @note See {@link getAnyGitHubToken} for more information and for an async version by calling {@link getAnyGitHubSession} with `{ silent: true }`.
63
- * @note For best practice of handling of the user's authentication state, you should react to {@link onDidAuthenticationChange}.
64
- * @note This token will have at least the `user:email` scope to be able to access the minimum Copilot API.
65
- */
66
- readonly anyGitHubSession: AuthenticationSession | undefined;
67
-
68
- /**
69
- * Returns a currently valid GitHub session, also known as session or auth session. Skips the cache and calls
70
- * the underlying authentication provider using the options passed in.
71
- *
72
- * @note You should typically use the synchronous version {@link anyGitHubToken} if you are fetching a session silently.
73
- * @note For best practice of handling of the user's authentication state, you should react to {@link onDidAuthenticationChange}.
74
- * @note This token will have at least the `user:email` scope to be able to access the minimum Copilot API.
75
- * @returns an auth session or undefined if none is found.
76
- */
77
- getAnyGitHubSession(options?: AuthenticationGetSessionOptions): Promise<AuthenticationSession | undefined>;
78
-
79
- /**
80
- * Checks if there is currently a permissive session available in the cache. Does not make any network requests and does not
81
- * call out to the underlying authentication provider.
82
- *
83
- * @note See {@link getPermissiveGitHubToken} for more information and for an async version by calling {@link getPermissiveGitHubSession} with `{ silent: true }`.
84
- * @note For best practice of handling of the user's authentication state, you should react to {@link onDidAuthenticationChange}.
85
- * @returns undefined if no auth session is available or Minimal Mode is enabled. Otherwise, returns an auth session with the `repo` scope.
86
- */
87
- readonly permissiveGitHubSession: AuthenticationSession | undefined;
88
- /**
89
- * Returns a currently valid permissive GitHub session, also known as session or auth session. Skips the cache and calls
90
- * the underlying authentication provider using the options passed in.
91
- *
92
- * @note We have the {@link IAuthenticationChatUpgradeService} to upgrade the session to a permissive one. Use this for confirmation in Chat/Edits instead of showing the modal.
93
- * @note You should typically use the synchronous version {@link getPermissiveGitHubToken} if you are fetching a session silently.
94
- * @note For best practice of handling of the user's authentication state, you should react to {@link onDidAuthenticationChange}.
95
- * @note This token will have at least the `repo` scope to be able to access the extended features of the Copilot API.
96
- * @returns an auth session or undefined if none is found.
97
- * @throws MinimalModeError {@link MinimalModeError} if the authentication service is in minimal mode.
98
- */
99
- getPermissiveGitHubSession(options: AuthenticationGetSessionOptions): Promise<AuthenticationSession | undefined>;
100
-
101
- /**
102
- * Checks if there is currently a Copilot token available in the cache. Does not make any network requests.
103
- * See {@link getCopilotToken} for more information and for an async version.
104
- *
105
- * @note we omit token here because it is possibly expired. If you need it, use {@link getCopilotToken} instead as it includes a refresh mechanism.
106
- * @note For best practice of handling of the user's authentication state, you should react to {@link onDidAuthenticationChange}.
107
- */
108
- readonly copilotToken: Omit<CopilotToken, 'token'> | undefined;
109
-
110
-
111
- /**
112
- * Return the token needed to authenticate with the speculative decoding endpoint.
113
- * This token is public as it is set via a request to the ChatMLFetcher and reset either via expiration or a 403 response from the SD endpoint.
114
- * @note There is no guarantee this is a valid token and it can still reject due to 403 with the SD endpoint
115
- */
116
- speculativeDecodingEndpointToken: string | undefined;
117
-
118
- /**
119
- * Return a currently valid Copilot token, retrieving a fresh one if
120
- * necessary.
121
- *
122
- * @param force will force a refresh of the token, even if not expired
123
- * @returns a Copilot token or throws an error if none is found.
124
- * @note For best practice of handling of the user's authentication state, you should react to {@link onDidAuthenticationChange}.
125
- */
126
- getCopilotToken(force?: boolean): Promise<CopilotToken>;
127
-
128
- /**
129
- * Drop the current Copilot token as we received an HTTP error while trying
130
- * to use it that indicates it's no longer valid.
131
- */
132
- resetCopilotToken(httpError?: number): void;
133
-
134
- /**
135
- * Fired when the authentication state changes for ado.
136
- */
137
- readonly onDidAdoAuthenticationChange: Event<void>;
138
-
139
- /**
140
- * Returns a valid Azure DevOps session for the user
141
- */
142
- getAdoAccessTokenBase64(options?: AuthenticationGetSessionOptions): Promise<string | undefined>;
143
- }
144
-
145
- export abstract class BaseAuthenticationService extends Disposable implements IAuthenticationService {
146
- declare readonly _serviceBrand: undefined;
147
-
148
- protected readonly _onDidAuthenticationChange = this._register(new Emitter<void>());
149
- readonly onDidAuthenticationChange: Event<void> = this._onDidAuthenticationChange.event;
150
-
151
- protected readonly _onDidAccessTokenChange = this._register(new Emitter<void>());
152
- readonly onDidAccessTokenChange: Event<void> = this._onDidAccessTokenChange.event;
153
-
154
- protected readonly _onDidAdoAuthenticationChange = this._register(new Emitter<void>());
155
- readonly onDidAdoAuthenticationChange: Event<void> = this._onDidAdoAuthenticationChange.event;
156
-
157
- constructor(
158
- @ILogService protected readonly _logService: ILogService,
159
- @ICopilotTokenStore protected readonly _tokenStore: ICopilotTokenStore,
160
- @ICopilotTokenManager private readonly _tokenManager: ICopilotTokenManager,
161
- @IConfigurationService protected readonly _configurationService: IConfigurationService,
162
- ) {
163
- super();
164
- this._register(_tokenManager.onDidCopilotTokenRefresh(() => {
165
- this._logService.debug('Handling CopilotToken refresh.');
166
- void this._handleAuthChangeEvent();
167
- }));
168
- }
169
-
170
- //#region isMinimalMode
171
-
172
- protected _isMinimalMode = derived(r => this._configurationService.getConfigObservable(ConfigKey.Shared.AuthPermissions).read(r) === AuthPermissionMode.Minimal);
173
- get isMinimalMode(): boolean {
174
- return this._isMinimalMode.get();
175
- }
176
-
177
- //#endregion
178
-
179
- //#region Any GitHub Token
180
-
181
- protected _anyGitHubSession: AuthenticationSession | undefined;
182
- get anyGitHubSession(): AuthenticationSession | undefined {
183
- return this._anyGitHubSession;
184
- }
185
- abstract getAnyGitHubSession(options?: AuthenticationGetSessionOptions): Promise<AuthenticationSession | undefined>;
186
-
187
- //#endregion
188
-
189
- //#region Permissive GitHub Token
190
-
191
- protected _permissiveGitHubSession: AuthenticationSession | undefined;
192
- get permissiveGitHubSession(): AuthenticationSession | undefined {
193
- return this._permissiveGitHubSession;
194
- }
195
- abstract getPermissiveGitHubSession(options: AuthenticationGetSessionOptions): Promise<AuthenticationSession | undefined>;
196
-
197
- //#endregion
198
-
199
- //#region Ado
200
-
201
- protected _anyAdoSession: AuthenticationSession | undefined;
202
- get anyAdoSession(): AuthenticationSession | undefined {
203
- return this._anyAdoSession;
204
- }
205
- protected abstract getAnyAdoSession(options?: AuthenticationGetSessionOptions): Promise<AuthenticationSession | undefined>;
206
-
207
- //#endregion
208
-
209
- //#region Copilot Token
210
-
211
- private _copilotTokenError: Error | undefined;
212
- get copilotToken(): CopilotToken | undefined {
213
- return this._tokenStore.copilotToken;
214
- }
215
- async getCopilotToken(force?: boolean): Promise<CopilotToken> {
216
- try {
217
- await this.getAnyGitHubSession({ silent: true });
218
- // TODO: could this take in an auth session?
219
- const token = await this._tokenManager.getCopilotToken(force);
220
- this._tokenStore.copilotToken = token;
221
- this._copilotTokenError = undefined;
222
- return token;
223
- } catch (afterError) {
224
- this._tokenStore.copilotToken = undefined;
225
- const beforeError = this._copilotTokenError;
226
- this._copilotTokenError = afterError;
227
- // This handles the case where the user still can't get a Copilot Token,
228
- // but the error has change. I.e. They go from being not signed in (no copilot token can be minted)
229
- // to an account that doesn't have a valid subscription (no copilot token can be minted).
230
- // NOTE: if either error is undefined, this event should be fired elsewhere already.
231
- if (beforeError && afterError && beforeError.message !== afterError.message) {
232
- this._onDidAuthenticationChange.fire();
233
- }
234
- throw afterError;
235
- }
236
- }
237
-
238
- resetCopilotToken(httpError?: number): void {
239
- this._tokenStore.copilotToken = undefined;
240
- this._tokenManager.resetCopilotToken(httpError);
241
- }
242
-
243
- //#endregion
244
-
245
- // #region Speculative decoding endpoint token
246
- public speculativeDecodingEndpointToken: string | undefined;
247
- // #endregion
248
-
249
- //#region ADO Token
250
- abstract getAdoAccessTokenBase64(options?: AuthenticationGetSessionOptions): Promise<string | undefined>
251
- //#endregion
252
-
253
- protected async _handleAuthChangeEvent(): Promise<void> {
254
- const anyGitHubSessionBefore = this._anyGitHubSession;
255
- const permissiveGitHubSessionBefore = this._permissiveGitHubSession;
256
- const anyAdoSessionBefore = this._anyAdoSession;
257
- const copilotTokenBefore = this._tokenStore.copilotToken;
258
- const copilotTokenErrorBefore = this._copilotTokenError;
259
-
260
- // Update caches
261
- const resolved = await Promise.allSettled([
262
- this.getAnyGitHubSession({ silent: true }),
263
- this.getPermissiveGitHubSession({ silent: true }),
264
- this.getAnyAdoSession({ silent: true }),
265
- ]);
266
- for (const res of resolved) {
267
- if (res.status === 'rejected') {
268
- this._logService.error(`Error getting a session: ${res.reason}`);
269
- }
270
- }
271
-
272
- if (
273
- anyGitHubSessionBefore?.accessToken !== this._anyGitHubSession?.accessToken ||
274
- permissiveGitHubSessionBefore?.accessToken !== this._permissiveGitHubSession?.accessToken
275
- ) {
276
- this._onDidAccessTokenChange.fire();
277
- this._logService.debug('Auth state changed, minting a new CopilotToken...');
278
- // The auth state has changed, so mint a new Copilot token
279
- try {
280
- await this.getCopilotToken(true);
281
- } catch (e) {
282
- // Ignore errors
283
- }
284
- this._logService.debug('Minted a new CopilotToken.');
285
- return;
286
- }
287
-
288
- if (anyAdoSessionBefore?.accessToken !== this._anyAdoSession?.accessToken) {
289
- this._logService.debug(`Ado auth state changed, firing event. Had token before: ${!!anyAdoSessionBefore?.accessToken}. Has token now: ${!!this._anyAdoSession?.accessToken}.`);
290
- this._onDidAdoAuthenticationChange.fire();
291
- }
292
-
293
- // Auth state hasn't changed, but the Copilot token might have
294
- try {
295
- await this.getCopilotToken();
296
- } catch (e) {
297
- // Ignore errors
298
- }
299
-
300
- if (copilotTokenBefore?.token !== this._tokenStore.copilotToken?.token ||
301
- // React to errors changing too (i.e. I go from zero session to a session that doesn't have Copilot access)
302
- copilotTokenErrorBefore?.message !== this._copilotTokenError?.message
303
- ) {
304
- this._logService.debug('CopilotToken state changed, firing event.');
305
- this._onDidAuthenticationChange.fire();
306
- }
307
- this._logService.debug('Finished handling auth change event.');
308
- }
309
- }
@@ -1,300 +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 { CopilotUserQuotaInfo } from '../../chat/common/chatQuotaService';
7
-
8
- /**
9
- * A function used to determine if the org list contains an internal organization
10
- * @param orgList The list of organizations the user is a member of
11
- * Whether or not it contains an internal org
12
- */
13
- export function containsInternalOrg(orgList: string[]): boolean {
14
- return containsGitHubOrg(orgList) || containsMicrosoftOrg(orgList);
15
- }
16
-
17
- /**
18
- * A function used to determine if the org list contains a GitHub organization
19
- * @param orgList The list of organizations the user is a member of
20
- * Whether or not it contains a GitHub org
21
- */
22
- function containsGitHubOrg(orgList: string[]): boolean {
23
- const GITHUB_ORGANIZATIONS = ['4535c7beffc844b46bb1ed4aa04d759a'];
24
- // Check if the user is part of an allowed organization.
25
- for (const org of orgList) {
26
- if (GITHUB_ORGANIZATIONS.includes(org)) {
27
- return true;
28
- }
29
- }
30
- return false;
31
- }
32
-
33
- /**
34
- * A function used to determine if the org list contains a Microsoft organization
35
- * @param orgList The list of organizations the user is a member of
36
- * Whether or not it contains a Microsoft org
37
- */
38
- function containsMicrosoftOrg(orgList: string[]): boolean {
39
- const MICROSOFT_ORGANIZATIONS = ['a5db0bcaae94032fe715fb34a5e4bce2', '7184f66dfcee98cb5f08a1cb936d5225',
40
- '1cb18ac6eedd49b43d74a1c5beb0b955', 'ea9395b9a9248c05ee6847cbd24355ed'];
41
- // Check if the user is part of a Microsoft organization.
42
- for (const org of orgList) {
43
- if (MICROSOFT_ORGANIZATIONS.includes(org)) {
44
- return true;
45
- }
46
- }
47
- return false;
48
- }
49
-
50
- export class CopilotToken {
51
- private readonly tokenMap: Map<string, string>;
52
- constructor(private readonly _info: ExtendedTokenInfo) {
53
- this.tokenMap = this.parseToken(_info.token);
54
- }
55
-
56
- private parseToken(token: string): Map<string, string> {
57
- const result = new Map<string, string>();
58
- const firstPart = token?.split(':')[0];
59
- const fields = firstPart?.split(';');
60
- for (const field of fields) {
61
- const [key, value] = field.split('=');
62
- result.set(key, value);
63
- }
64
- return result;
65
- }
66
-
67
- get token(): string {
68
- return this._info.token;
69
- }
70
-
71
- get sku(): string | undefined {
72
- return this._info.sku;
73
- }
74
-
75
- /**
76
- * Evaluates `has_cfi_access?` which is defined as `!has_cfb_access? && !has_cfe_access?`
77
- * (cfb = copilot for business, cfe = copilot for enterprise).
78
- * So it's also true for copilot free users.
79
- */
80
- get isIndividual(): boolean {
81
- return this._info.individual ?? false;
82
- }
83
-
84
- get organizationList(): string[] {
85
- return this._info.organization_list || [];
86
- }
87
-
88
- get enterpriseList(): number[] {
89
- return this._info.enterprise_list || [];
90
- }
91
-
92
- get endpoints(): { api: string; telemetry: string; proxy: string; 'origin-tracker'?: string } | undefined {
93
- return this._info.endpoints;
94
- }
95
-
96
- get isInternal() {
97
- return containsInternalOrg(this.organizationList);
98
- }
99
-
100
- get isMicrosoftInternal(): boolean {
101
- return containsMicrosoftOrg(this.organizationList);
102
- }
103
-
104
- get isGitHubInternal(): boolean {
105
- return containsGitHubOrg(this.organizationList);
106
- }
107
-
108
- get isFreeUser(): boolean {
109
- return this.sku === 'free_limited_copilot';
110
- }
111
-
112
- get isChatQuotaExceeded(): boolean {
113
- return this.isFreeUser && (this._info.limited_user_quotas?.chat ?? 1) <= 0;
114
- }
115
-
116
- get isCompletionsQuotaExceeded(): boolean {
117
- return this.isFreeUser && (this._info.limited_user_quotas?.completions ?? 1) <= 0;
118
- }
119
-
120
- get codeQuoteEnabled(): boolean {
121
- return this._info.code_quote_enabled ?? false;
122
- }
123
-
124
- get isVscodeTeamMember(): boolean {
125
- return this._info.isVscodeTeamMember;
126
- }
127
-
128
- get copilotPlan(): 'free' | 'individual' | 'individual_pro' | 'business' | 'enterprise' {
129
- if (this.isFreeUser) {
130
- return 'free';
131
- }
132
- const plan = this._info.copilot_plan;
133
- switch (plan) {
134
- case 'individual':
135
- case 'individual_pro':
136
- case 'business':
137
- case 'enterprise':
138
- return plan;
139
- default:
140
- // Default to 'individual' for unexpected values
141
- return 'individual';
142
- }
143
- }
144
-
145
- get quotaInfo() {
146
- return { quota_snapshots: this._info.quota_snapshots, quota_reset_date: this._info.quota_reset_date };
147
- }
148
-
149
- get username(): string {
150
- return this._info.username;
151
- }
152
-
153
- private _isTelemetryEnabled: boolean | undefined;
154
- isTelemetryEnabled(): boolean {
155
- if (this._isTelemetryEnabled === undefined) {
156
- this._isTelemetryEnabled = this._info.telemetry === 'enabled';
157
- }
158
- return this._isTelemetryEnabled;
159
- }
160
-
161
- private _isPublicSuggestionsEnabled: boolean | undefined;
162
- isPublicSuggestionsEnabled(): boolean {
163
- if (this._isPublicSuggestionsEnabled === undefined) {
164
- this._isPublicSuggestionsEnabled = this._info.public_suggestions === 'enabled';
165
- }
166
- return this._isPublicSuggestionsEnabled;
167
- }
168
-
169
- isChatEnabled(): boolean {
170
- return this._info.chat_enabled ?? false;
171
- }
172
-
173
- isCopilotIgnoreEnabled(): boolean {
174
- return this._info.copilotignore_enabled ?? false;
175
- }
176
-
177
- get isCopilotCodeReviewEnabled(): boolean {
178
- return (this.getTokenValue('ccr') === '1');
179
- }
180
-
181
- isEditorPreviewFeaturesEnabled(): boolean {
182
- // Editor preview features are disabled if the flag is present and set to 0
183
- return this.getTokenValue('editor_preview_features') !== '0';
184
- }
185
-
186
- isMcpEnabled(): boolean {
187
- // MCP is disabled if the flag is present and set to 0
188
- return this.getTokenValue('mcp') !== '0';
189
- }
190
-
191
- getTokenValue(key: string): string | undefined {
192
- return this.tokenMap.get(key);
193
- }
194
-
195
- isExpandedClientSideIndexingEnabled(): boolean {
196
- return this._info.blackbird_clientside_indexing === true;
197
- }
198
- }
199
-
200
- /**
201
- * Details of the user's telemetry consent status we get from the server during token retrieval.
202
- *
203
- * `unconfigured` is a transitional state for pre-GA that indicates the user is in the Technical Preview
204
- * and needs to be asked about telemetry consent client-side. It can be removed post-GA as the server
205
- * will never return it again.
206
- *
207
- * `enabled` indicates that they agreed to full telemetry.
208
- *
209
- * `disabled` indicates that they opted out of full telemetry so we can only send the core messages
210
- * that users cannot opt-out of.
211
- *
212
- */
213
- export type UserTelemetryChoice = 'enabled' | 'disabled';
214
- /**
215
- * A notification we get from the server during token retrieval. Needs to be presented to the user.
216
- */
217
- type ServerSideNotification = {
218
- message: string;
219
- url: string;
220
- title: string;
221
- };
222
- /**
223
- * A notification that warns the user about upcoming problems.
224
- */
225
- type WarningNotification = ServerSideNotification & {
226
- notification_id: string;
227
- };
228
- /**
229
- * A notification in case of an error.
230
- */
231
- type ErrorNotification = ServerSideNotification;
232
- /**
233
- * A server response containing a Copilot token and metadata associated with it.
234
- */
235
- export interface TokenInfo {
236
- // v2 format: fields:mac
237
- // fields are ';' separated key=value pairs, including tid (tracking_id), dom (domain), and exp (unix_time).
238
- token: string;
239
- expires_at: number; // unix time UTC in seconds
240
- refresh_in: number; // seconds to refresh token
241
- user_notification?: WarningNotification;
242
- error_details?: ErrorNotification;
243
- organization_list?: string[];
244
- code_quote_enabled?: boolean;
245
- public_suggestions?: string;
246
- telemetry?: string;
247
- copilotignore_enabled?: boolean;
248
- endpoints?: { api: string; telemetry: string; proxy: string; 'origin-tracker'?: string };
249
- chat_enabled?: boolean;
250
- limited_user_quotas?: { chat: number; completions: number };
251
- enterprise_list?: number[];
252
- individual?: boolean;
253
- sku?: string; // e.g. 'copilot_enterprise_seat'
254
- message?: string; // error message
255
- }
256
-
257
- /**
258
- * A server response containing the user info for the copilot user from the /copilot_internal/user endpoint
259
- */
260
-
261
- export interface CopilotUserInfo extends CopilotUserQuotaInfo {
262
- access_type_sku: string;
263
- analytics_tracking_id: string;
264
- assigned_date: string;
265
- can_signup_for_limited: boolean;
266
- chat_enabled: boolean;
267
- copilot_plan: string;
268
- organization_login_list: string[];
269
- organization_list: Array<{
270
- login: string;
271
- name: string | null;
272
- }>;
273
- }
274
-
275
- // The token info extended with additional metadata that is helpful to have
276
- export type ExtendedTokenInfo = TokenInfo & { username: string; isVscodeTeamMember: boolean; blackbird_clientside_indexing?: boolean } & Pick<CopilotUserInfo, 'copilot_plan' | 'quota_snapshots' | 'quota_reset_date'>;
277
-
278
- export type TokenEnvelope = Omit<TokenInfo, 'token' | 'organization_list'>;
279
-
280
- export type TokenErrorReason = 'NotAuthorized' | 'FailedToGetToken' | 'TokenInvalid' | 'GitHubLoginFailed' | 'HTTP401' | 'RateLimited';
281
-
282
- export enum TokenErrorNotificationId {
283
- EnterPriseManagedUserAccount = 'enterprise_managed_user_account',
284
- NotSignedUp = 'not_signed_up',
285
- NoCopilotAccess = 'no_copilot_access',
286
- SubscriptionEnded = 'subscription_ended',
287
- ServerError = 'server_error',
288
- FeatureFlagBlocked = 'feature_flag_blocked',
289
- SpammyUser = 'spammy_user',
290
- CodespacesDemoInactive = 'codespaces_demo_inactive', //TODO: Handle this if this is still applicable
291
- SnippyNotConfigured = 'snippy_not_configured'
292
- }
293
-
294
- export type TokenError = {
295
- reason: TokenErrorReason;
296
- notification_id?: TokenErrorNotificationId;
297
- message?: string; // TODO: not used yet, but will be for 466 errors
298
- };
299
-
300
- export type TokenInfoOrError = ({ kind: 'success' } & ExtendedTokenInfo) | ({ kind: 'failure' } & TokenError);