@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,90 +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 { ChatLocation } from '../../platform/chat/common/commonTypes';
7
-
8
- export const enum Intent {
9
- Explain = 'explain',
10
- Review = 'review',
11
- Tests = 'tests',
12
- Fix = 'fix',
13
- New = 'new',
14
- NewNotebook = 'newNotebook',
15
- notebookEditor = 'notebookEditor',
16
- Search = 'search',
17
- SemanticSearch = 'semanticSearch',
18
- Terminal = 'terminal',
19
- TerminalExplain = 'terminalExplain',
20
- VSCode = 'vscode',
21
- Workspace = 'workspace',
22
- Unknown = 'unknown',
23
- StartDebugging = 'startDebugging',
24
- SetupTests = 'setupTests',
25
- Editor = 'editor',
26
- Doc = 'doc',
27
- Edit = 'edit',
28
- Edit2 = 'edit2',
29
- Agent = 'editAgent',
30
- Generate = 'generate',
31
- SearchPanel = 'searchPanel',
32
- SearchKeywords = 'searchKeywords',
33
- AskAgent = 'askAgent',
34
- ChatReplay = 'chatReplay'
35
- }
36
-
37
- export const GITHUB_PLATFORM_AGENT = 'github.copilot-dynamic.platform';
38
-
39
- // TODO@jrieken THIS IS WEIRD. We should read this from package.json
40
- export const agentsToCommands: Partial<Record<Intent, Record<string, Intent>>> = {
41
- [Intent.Workspace]: {
42
- 'explain': Intent.Explain,
43
- 'edit': Intent.Edit,
44
- 'review': Intent.Review,
45
- 'tests': Intent.Tests,
46
- 'fix': Intent.Fix,
47
- 'new': Intent.New,
48
- 'newNotebook': Intent.NewNotebook,
49
- 'semanticSearch': Intent.SemanticSearch,
50
- 'setupTests': Intent.SetupTests,
51
- },
52
- [Intent.VSCode]: {
53
- 'search': Intent.Search,
54
- 'startDebugging': Intent.StartDebugging,
55
- },
56
- [Intent.Terminal]: {
57
- 'explain': Intent.TerminalExplain
58
- },
59
- [Intent.Editor]: {
60
- 'doc': Intent.Doc,
61
- 'fix': Intent.Fix,
62
- 'explain': Intent.Explain,
63
- 'review': Intent.Review,
64
- 'tests': Intent.Tests,
65
- 'edit': Intent.Edit,
66
- 'generate': Intent.Generate
67
- },
68
- [Intent.ChatReplay]: {
69
- 'chatReplay': Intent.ChatReplay
70
- }
71
- };
72
-
73
- // TODO@roblourens gotta tighten up the terminology of "commands", "intents", etc...
74
- export function getAgentForIntent(intentId: Intent, location: ChatLocation): { agent: string; command?: string } | undefined {
75
- if (Object.keys(agentsToCommands).includes(intentId)) {
76
- return { agent: intentId };
77
- }
78
-
79
- for (const [agent, commands] of Object.entries(agentsToCommands)) {
80
- if (location === ChatLocation.Editor && agent !== Intent.Editor) {
81
- continue;
82
- }
83
-
84
- if (Object.values(commands).includes(intentId)) {
85
- return { agent, command: intentId };
86
- }
87
- }
88
- }
89
-
90
- export const EXTENSION_ID = 'GitHub.copilot-chat';
@@ -1,108 +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 { ConfigKey, IConfigurationService } from '../../../platform/configuration/common/configurationService';
7
- import { IExperimentationService } from '../../../platform/telemetry/common/nullExperimentationService';
8
-
9
- export class DelaySession {
10
- private extraDebounce = 0;
11
-
12
- constructor(
13
- private baseDebounceTime: number,
14
- private readonly expectedTotalTime: number | undefined,
15
- private readonly providerInvocationTime: number = Date.now(),
16
- ) {
17
- }
18
-
19
- public setExtraDebounce(extraDebounce: number): void {
20
- this.extraDebounce = extraDebounce;
21
- }
22
-
23
- getDebounceTime() {
24
- const expectedDebounceTime = this.expectedTotalTime === undefined
25
- ? this.baseDebounceTime + this.extraDebounce
26
- : Math.min(this.baseDebounceTime + this.extraDebounce, this.expectedTotalTime);
27
-
28
- const timeAlreadySpent = Date.now() - this.providerInvocationTime;
29
- const actualDebounceTime = Math.max(0, expectedDebounceTime - timeAlreadySpent);
30
-
31
- return actualDebounceTime;
32
- }
33
-
34
- getArtificialDelay() {
35
- if (this.expectedTotalTime === undefined) {
36
- return 0;
37
- }
38
-
39
- const timeAlreadySpent = Date.now() - this.providerInvocationTime;
40
- const delay = Math.max(0, this.expectedTotalTime - timeAlreadySpent);
41
- return delay;
42
- }
43
- }
44
-
45
- export class Delayer {
46
-
47
- private _recentUserActions: { time: number; kind: 'accepted' | 'rejected' }[] = [];
48
-
49
- constructor(
50
- @IConfigurationService private readonly _configurationService: IConfigurationService,
51
- @IExperimentationService private readonly _experimentationService: IExperimentationService,
52
- ) {
53
- }
54
-
55
- public createDelaySession(requestTime: number | undefined): DelaySession {
56
- const baseDebounceTime = this._configurationService.getExperimentBasedConfig(ConfigKey.Internal.InlineEditsDebounce, this._experimentationService);
57
-
58
- const backoffDebounceEnabled = this._configurationService.getExperimentBasedConfig(ConfigKey.Internal.InlineEditsBackoffDebounceEnabled, this._experimentationService);
59
- const expectedTotalTime = backoffDebounceEnabled ? this._getExpectedTotalTime(baseDebounceTime) : undefined;
60
-
61
- return new DelaySession(baseDebounceTime, expectedTotalTime, requestTime);
62
- }
63
-
64
- public handleAcceptance(): void {
65
- this._recordUserAction('accepted');
66
- }
67
-
68
- public handleRejection(): void {
69
- this._recordUserAction('rejected');
70
- }
71
-
72
- private _recordUserAction(kind: 'accepted' | 'rejected') {
73
- this._recentUserActions.push({ time: Date.now(), kind });
74
- // keep at most 10 user actions
75
- this._recentUserActions = this._recentUserActions.slice(-10);
76
- }
77
-
78
- private _getExpectedTotalTime(baseDebounceTime: number): number {
79
- const DEBOUNCE_DECAY_TIME_MS = 10 * 60 * 1000; // 10 minutes
80
- const MAX_DEBOUNCE_TIME = 3000; // 3 seconds
81
- const MIN_DEBOUNCE_TIME = 50; // 50 ms
82
- const REJECTION_WEIGHT = 1.5;
83
- const ACCEPTANCE_WEIGHT = 0.8;
84
- const now = Date.now();
85
- let multiplier = 1;
86
-
87
- // Calculate impact of each action with time decay
88
- for (const action of this._recentUserActions) {
89
- const timeSinceAction = now - action.time;
90
- if (timeSinceAction > DEBOUNCE_DECAY_TIME_MS) {
91
- continue;
92
- }
93
-
94
- // Exponential decay: impact decreases as time passes
95
- const decayFactor = Math.exp(-timeSinceAction / DEBOUNCE_DECAY_TIME_MS);
96
- const actionWeight = action.kind === 'rejected' ? REJECTION_WEIGHT : ACCEPTANCE_WEIGHT;
97
- multiplier *= 1 + ((actionWeight - 1) * decayFactor);
98
- }
99
-
100
- let debounceTime = baseDebounceTime * multiplier;
101
-
102
- // Clamp the debounce time to reasonable bounds
103
- debounceTime = Math.min(MAX_DEBOUNCE_TIME, Math.max(MIN_DEBOUNCE_TIME, debounceTime));
104
-
105
- return debounceTime;
106
- }
107
-
108
- }
@@ -1,268 +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 { SingleEdits } from '../../../platform/inlineEdits/common/dataTypes/edit';
7
- import * as errors from '../../../util/common/errors';
8
- import { ITracer } from '../../../util/common/tracing';
9
- import { AnnotatedStringEdit, AnnotatedStringReplacement, IEditData, StringEdit, StringReplacement, VoidEditData } from '../../../util/vs/editor/common/core/edits/stringEdit';
10
- import { OffsetRange } from '../../../util/vs/editor/common/core/ranges/offsetRange';
11
- import { StringText } from '../../../util/vs/editor/common/core/text/abstractText';
12
- import { DefaultLinesDiffComputer } from '../../../util/vs/editor/common/diff/defaultLinesDiffComputer/defaultLinesDiffComputer';
13
- import { ILinesDiffComputerOptions } from '../../../util/vs/editor/common/diff/linesDiffComputer';
14
-
15
- const TROUBLESHOOT_EDIT_CONSISTENCY = false;
16
-
17
- export interface NesRebaseConfigs {
18
- }
19
-
20
- export class EditDataWithIndex implements IEditData<EditDataWithIndex> {
21
- constructor(
22
- public readonly index: number
23
- ) { }
24
-
25
- join(data: EditDataWithIndex): EditDataWithIndex | undefined {
26
- if (this.index !== data.index) {
27
- return undefined;
28
- }
29
- return this;
30
- }
31
- }
32
-
33
- export function tryRebase(originalDocument: string, editWindow: OffsetRange | undefined, originalEdits: readonly StringReplacement[], detailedEdits: AnnotatedStringReplacement<EditDataWithIndex>[][], userEditSince: StringEdit, currentDocumentContent: string, currentSelection: readonly OffsetRange[], resolution: 'strict' | 'lenient', tracer: ITracer, nesConfigs: NesRebaseConfigs = {}): { rebasedEdit: StringReplacement; rebasedEditIndex: number }[] | 'outsideEditWindow' | 'rebaseFailed' | 'error' | 'inconsistentEdits' {
34
- const start = Date.now();
35
- try {
36
- return _tryRebase(originalDocument, editWindow, originalEdits, detailedEdits, userEditSince, currentDocumentContent, currentSelection, resolution, tracer, nesConfigs);
37
- } catch (err) {
38
- tracer.trace(`Rebase error: ${errors.toString(err)}`);
39
- return 'error';
40
- } finally {
41
- tracer.trace(`Rebase duration: ${Date.now() - start}ms`);
42
- }
43
- }
44
-
45
- function _tryRebase(originalDocument: string, editWindow: OffsetRange | undefined, originalEdits: readonly StringReplacement[], detailedEdits: AnnotatedStringReplacement<EditDataWithIndex>[][], userEditSinceOrig: StringEdit, currentDocumentContent: string, currentSelection: readonly OffsetRange[], resolution: 'strict' | 'lenient', tracer: ITracer, nesConfigs: NesRebaseConfigs) {
46
- if (!checkEditConsistency(originalDocument, userEditSinceOrig, currentDocumentContent, tracer, true)) {
47
- return 'inconsistentEdits';
48
- }
49
- const userEditSince = userEditSinceOrig.removeCommonSuffixAndPrefix(originalDocument);
50
- const cursorRange = currentSelection[0];
51
- if (editWindow && cursorRange) {
52
- const updatedEditWindow = userEditSince.applyToOffsetRangeOrUndefined(editWindow);
53
- if (!updatedEditWindow?.containsRange(cursorRange)) {
54
- return 'outsideEditWindow';
55
- }
56
- }
57
- if (detailedEdits.length < originalEdits.length) {
58
- let intermediateDocument = originalDocument;
59
- for (let index = 0; index < detailedEdits.length; index++) {
60
- const edit = originalEdits[index];
61
- intermediateDocument = StringEdit.single(edit).apply(intermediateDocument);
62
- }
63
- for (let index = detailedEdits.length; index < originalEdits.length; index++) {
64
- const edit = originalEdits[index];
65
- const editData = new EditDataWithIndex(index);
66
- detailedEdits[index] = computeDiff(edit.replaceRange.substring(intermediateDocument), edit.newText, edit.replaceRange.start, editData, {
67
- ignoreTrimWhitespace: false,
68
- computeMoves: false,
69
- extendToSubwords: true,
70
- maxComputationTimeMs: 500,
71
- }) || [new AnnotatedStringReplacement(edit.replaceRange, edit.newText, editData)];
72
- intermediateDocument = StringEdit.single(edit).apply(intermediateDocument);
73
- }
74
- }
75
- const diffedEdit = AnnotatedStringEdit.compose(detailedEdits.map(edits => AnnotatedStringEdit.create(edits)));
76
- const rebasedEdit = tryRebaseEdits(originalDocument, diffedEdit, userEditSince, resolution, nesConfigs);
77
- if (!rebasedEdit) {
78
- return 'rebaseFailed';
79
- }
80
- const grouped = rebasedEdit.replacements.reduce((acc, item) => {
81
- (acc[item.data.index] ||= []).push(item);
82
- return acc;
83
- }, [] as (AnnotatedStringReplacement<EditDataWithIndex>[] | undefined)[]);
84
- const resultEdits: { rebasedEdit: StringReplacement; rebasedEditIndex: number }[] = [];
85
- for (let index = 0; index < grouped.length; index++) {
86
- const group = grouped[index];
87
- if (!group) {
88
- continue;
89
- }
90
- const range = OffsetRange.fromTo(group[0].replaceRange.start, group[group.length - 1].replaceRange.endExclusive);
91
- const newText = group.map((edit, i, a) => {
92
- if (i > 0) {
93
- return currentDocumentContent.substring(a[i - 1].replaceRange.endExclusive, edit.replaceRange.start) + edit.newText;
94
- } else {
95
- return edit.newText;
96
- }
97
- }).join('');
98
- const resultEdit = StringReplacement.replace(range, newText);
99
- if (!resultEdit.removeCommonSuffixAndPrefix(currentDocumentContent).isEmpty) {
100
- resultEdits.push({ rebasedEdit: resultEdit, rebasedEditIndex: index });
101
- }
102
- }
103
- if (resolution === 'strict' && resultEdits.length > 0 && new SingleEdits(originalEdits).apply(originalDocument) !== StringEdit.create(resultEdits.map(r => r.rebasedEdit)).apply(currentDocumentContent)) {
104
- tracer.trace('Result consistency check failed.');
105
- return 'inconsistentEdits';
106
- }
107
- return resultEdits;
108
- }
109
-
110
- export function checkEditConsistency(original: string, edit: StringEdit, current: string, tracer: ITracer, enabled = TROUBLESHOOT_EDIT_CONSISTENCY) {
111
- if (!enabled) {
112
- return true;
113
- }
114
- const consistent = edit.apply(original) === current;
115
- if (!consistent) {
116
- tracer.trace('Edit consistency check failed.');
117
- }
118
- return consistent;
119
- }
120
-
121
- export function tryRebaseStringEdits<T extends IEditData<T>>(content: string, ours: StringEdit, base: StringEdit, resolution: 'strict' | 'lenient', nesConfigs: NesRebaseConfigs = {}): StringEdit | undefined {
122
- return tryRebaseEdits(content, ours.mapData(r => new VoidEditData()), base, resolution, nesConfigs)?.toStringEdit();
123
- }
124
-
125
- function tryRebaseEdits<T extends IEditData<T>>(content: string, ours: AnnotatedStringEdit<T>, baseOrig: StringEdit, resolution: 'strict' | 'lenient', nesConfigs: NesRebaseConfigs): AnnotatedStringEdit<T> | undefined {
126
- const base = baseOrig.removeCommonSuffixAndPrefix(content);
127
-
128
- const newEdits: AnnotatedStringReplacement<T>[] = [];
129
-
130
- let baseIdx = 0;
131
- let ourIdx = 0;
132
- let offset = 0;
133
-
134
- while (ourIdx < ours.replacements.length || baseIdx < base.replacements.length) {
135
- // take the edit that starts first
136
- const baseEdit = base.replacements[baseIdx];
137
- const ourEdit = ours.replacements[ourIdx];
138
-
139
- if (!ourEdit) {
140
- if (resolution === 'strict') {
141
- // baseEdit does not match but interleaves
142
- return undefined;
143
- }
144
- // We processed all our edits
145
- break;
146
- } else if (!baseEdit) {
147
- // no more edits from base
148
- newEdits.push(ourEdit.delta(offset));
149
- ourIdx++;
150
- } else {
151
- let ourE = ourEdit;
152
- if (!ourE.replaceRange.containsRange(baseEdit.replaceRange)) {
153
- // Try to shift our edit to include the base edit.
154
- if (ourE.replaceRange.start > baseEdit.replaceRange.start) {
155
- // Expand our edit to the left to include the base edit.
156
- const added = content.substring(baseEdit.replaceRange.start, ourE.replaceRange.start);
157
- const updated = added + ourE.newText;
158
- // Remove the same text from the right.
159
- if (updated.endsWith(added)) {
160
- ourE = new AnnotatedStringReplacement(
161
- OffsetRange.fromTo(baseEdit.replaceRange.start, ourE.replaceRange.endExclusive - added.length),
162
- updated.substring(0, updated.length - added.length),
163
- ourE.data,
164
- );
165
- }
166
- }
167
- // Skipping the case where there is another edit for now because we might have to merge with it first.
168
- else if (ourIdx === ours.replacements.length - 1 && ourE.replaceRange.endExclusive < baseEdit.replaceRange.endExclusive) {
169
- // Expand our edit to the right to include the base edit.
170
- const added = content.substring(ourE.replaceRange.endExclusive, baseEdit.replaceRange.endExclusive);
171
- const updated = ourE.newText + added;
172
- // Remove the same text from the left.
173
- if (updated.startsWith(added)) {
174
- ourE = new AnnotatedStringReplacement(
175
- OffsetRange.fromTo(ourE.replaceRange.start + added.length, baseEdit.replaceRange.endExclusive),
176
- updated.substring(added.length),
177
- ourE.data,
178
- );
179
- }
180
- }
181
- }
182
- if (ourE.replaceRange.intersectsOrTouches(baseEdit.replaceRange)) {
183
- if (ourE.replaceRange.containsRange(baseEdit.replaceRange) && ourE.newText.length >= baseEdit.newText.length) {
184
- let delta = 0;
185
- let ourNewTextOffset = 0;
186
- let baseE = baseEdit;
187
- let previousBaseE: StringReplacement | undefined;
188
- while (baseE && ourE.replaceRange.containsRange(baseE.replaceRange)) {
189
- ourNewTextOffset = agreementIndexOf(content, ourE, baseE, previousBaseE, ourNewTextOffset, resolution, nesConfigs);
190
- if (ourNewTextOffset === -1) {
191
- // Conflicting
192
- return undefined;
193
- }
194
- delta += baseE.newText.length - baseE.replaceRange.length;
195
- previousBaseE = baseE;
196
- baseE = base.replacements[++baseIdx];
197
- }
198
- newEdits.push(new AnnotatedStringReplacement(
199
- new OffsetRange(ourE.replaceRange.start + offset, ourE.replaceRange.endExclusive + offset + delta),
200
- ourE.newText,
201
- ourE.data,
202
- ));
203
- ourIdx++;
204
- offset += delta;
205
- } else {
206
- // Conflicting
207
- return undefined;
208
- }
209
- } else if (ourEdit.replaceRange.start < baseEdit.replaceRange.start) {
210
- // Our edit starts first
211
- newEdits.push(new AnnotatedStringReplacement(
212
- ourEdit.replaceRange.delta(offset),
213
- ourEdit.newText,
214
- ourEdit.data,
215
- ));
216
- ourIdx++;
217
- } else {
218
- if (resolution === 'strict') {
219
- // baseEdit does not match but interleaves
220
- return undefined;
221
- }
222
- baseIdx++;
223
- offset += baseEdit.newText.length - baseEdit.replaceRange.length;
224
- }
225
- }
226
- }
227
-
228
- return AnnotatedStringEdit.create(newEdits);
229
- }
230
-
231
- export const maxAgreementOffset = 10; // If the user's typing is more than this into the suggestion we consider it a miss.
232
- export const maxImperfectAgreementLength = 5; // If the user's typing is longer than this and the suggestion is not a perfect match we consider it a miss.
233
-
234
- function agreementIndexOf<T extends IEditData<T>>(content: string, ourE: AnnotatedStringReplacement<T>, baseE: StringReplacement, previousBaseE: StringReplacement | undefined, ourNewTextOffset: number, resolution: 'strict' | 'lenient', nesConfigs: NesRebaseConfigs) {
235
- const minStart = previousBaseE ? previousBaseE.replaceRange.endExclusive : ourE.replaceRange.start;
236
- if (minStart < baseE.replaceRange.start) {
237
- baseE = new StringReplacement(
238
- OffsetRange.fromTo(minStart, baseE.replaceRange.endExclusive),
239
- content.substring(minStart, baseE.replaceRange.start) + baseE.newText
240
- );
241
- }
242
- const j = ourE.newText.indexOf(baseE.newText, ourNewTextOffset);
243
- if (resolution === 'strict' && j > maxAgreementOffset) {
244
- return -1;
245
- }
246
- if (resolution === 'strict' && j > 0 && baseE.newText.length > maxImperfectAgreementLength) {
247
- return -1;
248
- }
249
- return j !== -1 ? j + baseE.newText.length : -1;
250
- }
251
-
252
- function computeDiff(original: string, modified: string, offset: number, editData: EditDataWithIndex, options: ILinesDiffComputerOptions): AnnotatedStringReplacement<EditDataWithIndex>[] | undefined {
253
- const originalLines = original.split(/\r\n|\r|\n/);
254
- const modifiedLines = modified.split(/\r\n|\r|\n/);
255
- const diffComputer = new DefaultLinesDiffComputer();
256
- const result = diffComputer.computeDiff(originalLines, modifiedLines, options);
257
- if (result.hitTimeout) {
258
- return undefined;
259
- }
260
-
261
- const originalText = new StringText(original);
262
- const modifiedText = new StringText(modified);
263
- return result.changes.map(change => (change.innerChanges || []).map(innerChange => {
264
- const range = originalText.getTransformer().getOffsetRange(innerChange.originalRange);
265
- const newText = modifiedText.getValueOfRange(innerChange.modifiedRange);
266
- return new AnnotatedStringReplacement(range.delta(offset), newText, editData);
267
- })).flat();
268
- }
@@ -1,163 +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 { StatelessNextEditDocument } from '../../../platform/inlineEdits/common/statelessNextEditProvider';
7
- import { LineEdit } from '../../../util/vs/editor/common/core/edits/lineEdit';
8
- import { StringEdit } from '../../../util/vs/editor/common/core/edits/stringEdit';
9
- import { OffsetRange } from '../../../util/vs/editor/common/core/ranges/offsetRange';
10
-
11
- const N_GRAM_UNDO_RATIO_TO_FILTER_OUT = 0.7;
12
-
13
- export function editWouldDeleteWhatWasJustInserted(activeDocument: StatelessNextEditDocument, lineEdit: LineEdit) {
14
- let edit = lineEdit.toEdit(activeDocument.documentAfterEdits);
15
- // ! important: reduce it to the minimal set of changes
16
- edit = edit.normalizeOnSource(activeDocument.documentAfterEdits.value);
17
- if (!editIsDeletion(edit)) {
18
- return false;
19
- }
20
- // We are deleting something. Is it what was just inserted?
21
- for (let i = activeDocument.recentEdits.edits.length - 1; i >= 0; i--) {
22
- const recentEdit = activeDocument.recentEdits.edits[i];
23
- const rebaseResult = edit.tryRebase(recentEdit);
24
- if (!rebaseResult) {
25
- // the edit we want to do cannot be rebased, which indicates that it would interfere with a recent edit
26
- return true;
27
- }
28
- edit = rebaseResult;
29
- }
30
- return false;
31
- }
32
-
33
- function editIsDeletion(edit: StringEdit): boolean {
34
- const deletedChars = edit.replacements.reduce((acc, singleEdit) => acc + singleEdit.replaceRange.length, 0);
35
- const insertedChars = edit.replacements.reduce((acc, singleEdit) => acc + singleEdit.newText.length, 0);
36
- return insertedChars === 0 && deletedChars > 0;
37
- }
38
-
39
- /**
40
- * Represents information loss/gain (4-grams) via an edit.
41
- */
42
- export class InformationDelta {
43
-
44
- constructor(
45
- public readonly inserted: Set<string> = new Set<string>(),
46
- public readonly deleted: Set<string> = new Set<string>()
47
- ) { }
48
-
49
- combine(other: InformationDelta) {
50
- return new InformationDelta(setUnion(this.inserted, other.inserted), setUnion(this.deleted, other.deleted));
51
- }
52
-
53
- isUndoneBy(other: InformationDelta) {
54
- const otherReallyNewInsertions = setMinus(other.inserted, other.deleted);
55
- const otherReallyDeleted = setMinus(other.deleted, other.inserted);
56
-
57
- const otherReallyDeletesMyInserts = setIntersectionCount(otherReallyDeleted, this.inserted);
58
- const otherReallyInsertsMyDeletes = setIntersectionCount(otherReallyNewInsertions, this.deleted);
59
-
60
- if (otherReallyDeleted.size > 6 && otherReallyDeletesMyInserts / otherReallyDeleted.size > N_GRAM_UNDO_RATIO_TO_FILTER_OUT) {
61
- return true;
62
- }
63
-
64
- if (otherReallyNewInsertions.size > 6 && otherReallyInsertsMyDeletes / otherReallyNewInsertions.size > N_GRAM_UNDO_RATIO_TO_FILTER_OUT) {
65
- return true;
66
- }
67
-
68
- return false;
69
- }
70
- }
71
-
72
- export function getInformationDelta(source: string, edit: StringEdit): InformationDelta {
73
- const inserted = new Set<string>();
74
- const deleted = new Set<string>();
75
- const tryAddDeleted = (deletedRange: OffsetRange | undefined) => {
76
- if (!deletedRange) {
77
- return;
78
- }
79
- const deletedText = source.substring(deletedRange.start, deletedRange.endExclusive);
80
- for (let line of deletedText.split(/\r\n|\r|\n/)) {
81
- line = line.trim();
82
- for (const piece of to4grams(line)) {
83
- deleted.add(piece);
84
- }
85
- }
86
- };
87
- const tryAddInserted = (insertedText: string) => {
88
- for (let line of insertedText.split(/\r\n|\r|\n/)) {
89
- line = line.trim();
90
- for (const piece of to4grams(line)) {
91
- inserted.add(piece);
92
- }
93
- }
94
- };
95
- for (const e of edit.replacements) {
96
- const e1 = e.removeCommonPrefix(source).removeCommonSuffix(source);
97
- const e2 = e.removeCommonSuffix(source).removeCommonPrefix(source);
98
- if (e1.isEmpty) {
99
- continue;
100
- }
101
- tryAddDeleted(e1.replaceRange);
102
- tryAddDeleted(e2.replaceRange);
103
- tryAddDeleted(e1.replaceRange.intersect(e2.replaceRange));
104
-
105
- // tryAddInserted(e1.newText);
106
- // tryAddInserted(e2.newText);
107
- // e1 might have a suffix overlap with the prefix of e1
108
- tryAddInserted(trimOverlap(e1.newText, e2.newText));
109
- }
110
- return new InformationDelta(inserted, deleted);
111
- }
112
-
113
- function trimOverlap(stringToEliminateEnd: string, stringToEliminateStart: string): string {
114
- const length = Math.min(stringToEliminateEnd.length, stringToEliminateStart.length);
115
- for (let trimLength = 0; trimLength < length; trimLength++) {
116
- const str1 = stringToEliminateEnd.slice(0, stringToEliminateEnd.length - trimLength);
117
- const str2 = stringToEliminateStart.slice(trimLength);
118
- if (str1 === str2) {
119
- return str1;
120
- }
121
- }
122
- return '';
123
- }
124
-
125
- function to4grams(text: string) {
126
- const result: string[] = [];
127
- for (let i = 4; i < text.length; i++) {
128
- const ngram = text.slice(i - 4, i);
129
- result.push(ngram);
130
- }
131
- return result;
132
- }
133
-
134
- function setUnion(a: Set<string>, b: Set<string>): Set<string> {
135
- const result = new Set<string>();
136
- for (const el of a) {
137
- result.add(el);
138
- }
139
- for (const el of b) {
140
- result.add(el);
141
- }
142
- return result;
143
- }
144
-
145
- function setMinus(a: Set<string>, b: Set<string>): Set<string> {
146
- const result = new Set<string>();
147
- for (const el of a) {
148
- if (!b.has(el)) {
149
- result.add(el);
150
- }
151
- }
152
- return result;
153
- }
154
-
155
- function setIntersectionCount(a: Set<string>, b: Set<string>): number {
156
- let result = 0;
157
- for (const el of a) {
158
- if (b.has(el)) {
159
- result++;
160
- }
161
- }
162
- return result;
163
- }