@vscode/chat-lib 0.43.2026040705 → 0.44.1

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 (152) hide show
  1. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsFromNetwork.d.ts +1 -5
  2. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsFromNetwork.d.ts.map +1 -1
  3. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsFromNetwork.js +3 -11
  4. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsFromNetwork.js.map +1 -1
  5. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networking.d.ts +0 -30
  6. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networking.d.ts.map +1 -1
  7. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networking.js +4 -82
  8. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/networking.js.map +1 -1
  9. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.d.ts +2 -10
  10. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.d.ts.map +1 -1
  11. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.js +6 -160
  12. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/fetch.js.map +1 -1
  13. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts +11 -0
  14. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts.map +1 -1
  15. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.js +21 -3
  16. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.js.map +1 -1
  17. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts +2 -2
  18. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts.map +1 -1
  19. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js +34 -12
  20. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js.map +1 -1
  21. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts +1 -1
  22. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts.map +1 -1
  23. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js +22 -15
  24. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js.map +1 -1
  25. package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.js +2 -2
  26. package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.js.map +1 -1
  27. package/dist/src/_internal/extension/xtab/node/cursorLineDivergence.d.ts +41 -0
  28. package/dist/src/_internal/extension/xtab/node/cursorLineDivergence.d.ts.map +1 -0
  29. package/dist/src/_internal/extension/xtab/node/cursorLineDivergence.js +181 -0
  30. package/dist/src/_internal/extension/xtab/node/cursorLineDivergence.js.map +1 -0
  31. package/dist/src/_internal/extension/xtab/node/editIntent.d.ts +31 -0
  32. package/dist/src/_internal/extension/xtab/node/editIntent.d.ts.map +1 -0
  33. package/dist/src/_internal/extension/xtab/node/editIntent.js +193 -0
  34. package/dist/src/_internal/extension/xtab/node/editIntent.js.map +1 -0
  35. package/dist/src/_internal/extension/xtab/node/responseFormatHandlers.d.ts +52 -0
  36. package/dist/src/_internal/extension/xtab/node/responseFormatHandlers.d.ts.map +1 -0
  37. package/dist/src/_internal/extension/xtab/node/responseFormatHandlers.js +159 -0
  38. package/dist/src/_internal/extension/xtab/node/responseFormatHandlers.js.map +1 -0
  39. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts +10 -37
  40. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
  41. package/dist/src/_internal/extension/xtab/node/xtabProvider.js +277 -349
  42. package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
  43. package/dist/src/_internal/extension/xtab/node/xtabUtils.d.ts +10 -0
  44. package/dist/src/_internal/extension/xtab/node/xtabUtils.d.ts.map +1 -1
  45. package/dist/src/_internal/extension/xtab/node/xtabUtils.js +24 -0
  46. package/dist/src/_internal/extension/xtab/node/xtabUtils.js.map +1 -1
  47. package/dist/src/_internal/platform/authentication/common/copilotToken.d.ts +1 -0
  48. package/dist/src/_internal/platform/authentication/common/copilotToken.d.ts.map +1 -1
  49. package/dist/src/_internal/platform/authentication/common/copilotToken.js +3 -0
  50. package/dist/src/_internal/platform/authentication/common/copilotToken.js.map +1 -1
  51. package/dist/src/_internal/platform/chat/common/commonTypes.d.ts.map +1 -1
  52. package/dist/src/_internal/platform/chat/common/commonTypes.js +34 -4
  53. package/dist/src/_internal/platform/chat/common/commonTypes.js.map +1 -1
  54. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +17 -4
  55. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
  56. package/dist/src/_internal/platform/configuration/common/configurationService.js +22 -9
  57. package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
  58. package/dist/src/_internal/platform/configuration/common/defaultsOnlyConfigurationService.d.ts +1 -1
  59. package/dist/src/_internal/platform/configuration/common/defaultsOnlyConfigurationService.d.ts.map +1 -1
  60. package/dist/src/_internal/platform/configuration/common/defaultsOnlyConfigurationService.js +1 -1
  61. package/dist/src/_internal/platform/configuration/common/defaultsOnlyConfigurationService.js.map +1 -1
  62. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts +20 -0
  63. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts.map +1 -1
  64. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js +45 -1
  65. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js.map +1 -1
  66. package/dist/src/_internal/platform/endpoint/common/endpointProvider.d.ts +2 -0
  67. package/dist/src/_internal/platform/endpoint/common/endpointProvider.d.ts.map +1 -1
  68. package/dist/src/_internal/platform/endpoint/common/endpointProvider.js.map +1 -1
  69. package/dist/src/_internal/platform/endpoint/common/statefulMarkerContainer.d.ts +5 -0
  70. package/dist/src/_internal/platform/endpoint/common/statefulMarkerContainer.d.ts.map +1 -1
  71. package/dist/src/_internal/platform/endpoint/common/statefulMarkerContainer.js +13 -0
  72. package/dist/src/_internal/platform/endpoint/common/statefulMarkerContainer.js.map +1 -1
  73. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts +3 -1
  74. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts.map +1 -1
  75. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js +14 -14
  76. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js.map +1 -1
  77. package/dist/src/_internal/platform/endpoint/node/messagesApi.d.ts.map +1 -1
  78. package/dist/src/_internal/platform/endpoint/node/messagesApi.js +28 -12
  79. package/dist/src/_internal/platform/endpoint/node/messagesApi.js.map +1 -1
  80. package/dist/src/_internal/platform/endpoint/node/responsesApi.d.ts +12 -2
  81. package/dist/src/_internal/platform/endpoint/node/responsesApi.d.ts.map +1 -1
  82. package/dist/src/_internal/platform/endpoint/node/responsesApi.js +201 -23
  83. package/dist/src/_internal/platform/endpoint/node/responsesApi.js.map +1 -1
  84. package/dist/src/_internal/platform/git/common/gitService.d.ts +7 -3
  85. package/dist/src/_internal/platform/git/common/gitService.d.ts.map +1 -1
  86. package/dist/src/_internal/platform/git/common/gitService.js.map +1 -1
  87. package/dist/src/_internal/platform/github/common/githubAPI.d.ts +1 -0
  88. package/dist/src/_internal/platform/github/common/githubAPI.d.ts.map +1 -1
  89. package/dist/src/_internal/platform/github/common/githubAPI.js +2 -0
  90. package/dist/src/_internal/platform/github/common/githubAPI.js.map +1 -1
  91. package/dist/src/_internal/platform/github/common/githubService.d.ts +3 -2
  92. package/dist/src/_internal/platform/github/common/githubService.d.ts.map +1 -1
  93. package/dist/src/_internal/platform/github/common/githubService.js.map +1 -1
  94. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.d.ts +12 -3
  95. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.d.ts.map +1 -1
  96. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.js +72 -46
  97. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.js.map +1 -1
  98. package/dist/src/_internal/platform/inlineEdits/common/utils/utils.d.ts +3 -0
  99. package/dist/src/_internal/platform/inlineEdits/common/utils/utils.d.ts.map +1 -1
  100. package/dist/src/_internal/platform/inlineEdits/common/utils/utils.js +12 -0
  101. package/dist/src/_internal/platform/inlineEdits/common/utils/utils.js.map +1 -1
  102. package/dist/src/_internal/platform/log/common/logService.d.ts +5 -0
  103. package/dist/src/_internal/platform/log/common/logService.d.ts.map +1 -1
  104. package/dist/src/_internal/platform/log/common/logService.js +22 -0
  105. package/dist/src/_internal/platform/log/common/logService.js.map +1 -1
  106. package/dist/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.d.ts +1 -1
  107. package/dist/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.d.ts.map +1 -1
  108. package/dist/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.js +1 -1
  109. package/dist/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.js.map +1 -1
  110. package/dist/src/_internal/platform/networking/common/anthropic.d.ts +0 -16
  111. package/dist/src/_internal/platform/networking/common/anthropic.d.ts.map +1 -1
  112. package/dist/src/_internal/platform/networking/common/anthropic.js +10 -42
  113. package/dist/src/_internal/platform/networking/common/anthropic.js.map +1 -1
  114. package/dist/src/_internal/platform/networking/common/fetcherService.d.ts +1 -0
  115. package/dist/src/_internal/platform/networking/common/fetcherService.d.ts.map +1 -1
  116. package/dist/src/_internal/platform/networking/common/fetcherService.js.map +1 -1
  117. package/dist/src/_internal/platform/networking/common/networking.d.ts +22 -4
  118. package/dist/src/_internal/platform/networking/common/networking.d.ts.map +1 -1
  119. package/dist/src/_internal/platform/networking/common/networking.js.map +1 -1
  120. package/dist/src/_internal/platform/networking/node/chatStream.d.ts +10 -0
  121. package/dist/src/_internal/platform/networking/node/chatStream.d.ts.map +1 -1
  122. package/dist/src/_internal/platform/networking/node/chatStream.js +28 -0
  123. package/dist/src/_internal/platform/networking/node/chatStream.js.map +1 -1
  124. package/dist/src/_internal/platform/networking/node/chatWebSocketManager.d.ts +23 -5
  125. package/dist/src/_internal/platform/networking/node/chatWebSocketManager.d.ts.map +1 -1
  126. package/dist/src/_internal/platform/networking/node/chatWebSocketManager.js +67 -20
  127. package/dist/src/_internal/platform/networking/node/chatWebSocketManager.js.map +1 -1
  128. package/dist/src/_internal/platform/networking/node/chatWebSocketTelemetry.d.ts +15 -1
  129. package/dist/src/_internal/platform/networking/node/chatWebSocketTelemetry.d.ts.map +1 -1
  130. package/dist/src/_internal/platform/networking/node/chatWebSocketTelemetry.js +51 -7
  131. package/dist/src/_internal/platform/networking/node/chatWebSocketTelemetry.js.map +1 -1
  132. package/dist/src/_internal/platform/requestLogger/common/requestLogger.d.ts +171 -0
  133. package/dist/src/_internal/platform/requestLogger/common/requestLogger.d.ts.map +1 -0
  134. package/dist/src/_internal/platform/requestLogger/common/requestLogger.js +145 -0
  135. package/dist/src/_internal/platform/requestLogger/common/requestLogger.js.map +1 -0
  136. package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.d.ts +2 -1
  137. package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.d.ts.map +1 -1
  138. package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.js.map +1 -1
  139. package/dist/src/_internal/platform/requestLogger/node/requestLogger.d.ts +4 -166
  140. package/dist/src/_internal/platform/requestLogger/node/requestLogger.d.ts.map +1 -1
  141. package/dist/src/_internal/platform/requestLogger/node/requestLogger.js +3 -139
  142. package/dist/src/_internal/platform/requestLogger/node/requestLogger.js.map +1 -1
  143. package/dist/src/main.d.ts +2 -0
  144. package/dist/src/main.d.ts.map +1 -1
  145. package/dist/src/main.js +48 -6
  146. package/dist/src/main.js.map +1 -1
  147. package/dist/src/package.json +106 -96
  148. package/package.json +71 -71
  149. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/stream.d.ts +0 -182
  150. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/stream.d.ts.map +0 -1
  151. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/stream.js +0 -558
  152. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/openai/stream.js.map +0 -1
@@ -25,7 +25,7 @@ const statelessNextEditProvider_1 = require("../../../platform/inlineEdits/commo
25
25
  const observable_1 = require("../../../platform/inlineEdits/common/utils/observable");
26
26
  const logService_1 = require("../../../platform/log/common/logService");
27
27
  const capturingToken_1 = require("../../../platform/requestLogger/common/capturingToken");
28
- const requestLogger_1 = require("../../../platform/requestLogger/node/requestLogger");
28
+ const requestLogger_1 = require("../../../platform/requestLogger/common/requestLogger");
29
29
  const snippyService_1 = require("../../../platform/snippy/common/snippyService");
30
30
  const nullExperimentationService_1 = require("../../../platform/telemetry/common/nullExperimentationService");
31
31
  const errors_1 = require("../../../util/common/errors");
@@ -72,6 +72,13 @@ function computeReducedWindow(window, activeDocSelection, documentBeforeEdits) {
72
72
  function convertLineEditToEdit(nextLineEdit, document) {
73
73
  const rootedLineEdit = new rootedLineEdit_1.RootedLineEdit(document, nextLineEdit);
74
74
  const suggestedEdit = rootedLineEdit.toEdit();
75
+ // LineReplacement.toSingleTextEdit always joins newLines with '\n'.
76
+ // If the document uses '\r\n' line endings, we need to match that in
77
+ // the replacement text so that applying the edit produces consistent
78
+ // line endings and the resulting content matches what VS Code reports.
79
+ if (document.value.includes('\r\n')) {
80
+ return new stringEdit_1.StringEdit(suggestedEdit.replacements.map(r => new stringEdit_1.StringReplacement(r.replaceRange, r.newText.replace(/\n/g, '\r\n'))));
81
+ }
75
82
  return suggestedEdit;
76
83
  }
77
84
  function createDocStateLookupMap(projectedDocuments, xtabEditHistory) {
@@ -227,6 +234,11 @@ let NextEditProvider = NextEditProvider_1 = class NextEditProvider extends lifec
227
234
  logger.trace('cached edit was previously rejected');
228
235
  telemetryBuilder.setStatus('previouslyRejectedCache');
229
236
  telemetryBuilder.setWasPreviouslyRejected();
237
+ logContext.markAsPreviouslyRejected();
238
+ const rejectedEdit = cachedEdit.rebasedEdit ?? cachedEdit.edit;
239
+ if (rejectedEdit) {
240
+ this._rejectionCollector.reject(docId, rejectedEdit);
241
+ }
230
242
  const nextEditResult = new nextEditResult_1.NextEditResult(logContext.requestId, cachedEdit.source, undefined);
231
243
  return nextEditResult;
232
244
  }
@@ -313,6 +325,9 @@ let NextEditProvider = NextEditProvider_1 = class NextEditProvider extends lifec
313
325
  return new nextEditResult_1.NextEditResult(logContext.requestId, req, { jumpToPosition: error.nextCursorPosition, targetDocumentId: error.nextCursorDocumentId, documentBeforeEdits: documentAtInvocationTime, isFromCursorJump: false, isSubsequentEdit: false });
314
326
  }
315
327
  }
328
+ else if (error instanceof statelessNextEditProvider_1.NoNextEditReason.GotCancelled) {
329
+ logContext.setIsSkipped();
330
+ }
316
331
  const emptyResult = new nextEditResult_1.NextEditResult(logContext.requestId, req, undefined);
317
332
  if (!edit) {
318
333
  logger.trace('had no edit');
@@ -328,6 +343,7 @@ let NextEditProvider = NextEditProvider_1 = class NextEditProvider extends lifec
328
343
  logger.trace('edit was previously rejected');
329
344
  telemetryBuilder.setStatus('previouslyRejected');
330
345
  telemetryBuilder.setWasPreviouslyRejected();
346
+ logContext.markAsPreviouslyRejected();
331
347
  return emptyResult;
332
348
  }
333
349
  logContext.setResult(rootedLineEdit_1.RootedLineEdit.fromEdit(new edit_1.RootedEdit(documentAtInvocationTime, new stringEdit_1.StringEdit([edit.actualEdit]))));
@@ -608,7 +624,7 @@ let NextEditProvider = NextEditProvider_1 = class NextEditProvider extends lifec
608
624
  // populate the cache
609
625
  const nextEditReplacement = rebasedEdit.replacements[0];
610
626
  targetDocState.nextEdits.push(nextEditReplacement);
611
- cachedEdit = this._nextEditCache.setKthNextEdit(targetDocState.docId, targetDocState.docContents, ithEdit === 0 ? streamedEdit.window : undefined, nextEditReplacement, ithEdit, ithEdit === 0 ? targetDocState.nextEdits : undefined, ithEdit === 0 ? nextEditRequest.intermediateUserEdit : undefined, req, { isFromCursorJump: streamedEdit.isFromCursorJump, originalEditWindow: streamedEdit.originalWindow });
627
+ cachedEdit = this._nextEditCache.setKthNextEdit(targetDocState.docId, targetDocState.docContents, ithEdit === 0 ? streamedEdit.window : undefined, nextEditReplacement, ithEdit, ithEdit === 0 ? targetDocState.nextEdits : undefined, ithEdit === 0 ? nextEditRequest.intermediateUserEdit : undefined, req, { isFromCursorJump: streamedEdit.isFromCursorJump, originalEditWindow: streamedEdit.originalWindow, cursorOffset: targetDocState.docId === curDocId ? activeDocSelection?.start : undefined });
612
628
  myLogger.trace(`populated cache for ${ithEdit}`);
613
629
  }
614
630
  if (!firstEdit.isSettled) {
@@ -965,11 +981,15 @@ let NextEditProvider = NextEditProvider_1 = class NextEditProvider extends lifec
965
981
  const label = `NES | spec | ${(0, path_1.basename)(doc.id.toUri().fsPath)} (v${doc.version.get()})`;
966
982
  const capturingToken = new capturingToken_1.CapturingToken(label, undefined);
967
983
  void this._requestLogger.captureInvocation(capturingToken, async () => {
984
+ this._addLiveLogContextEntry(logContext, label);
968
985
  try {
969
- await this._runSpeculativeProviderCall(nextEditRequest, projectedDocuments, curDocId, req, logger);
986
+ await this._runSpeculativeProviderCall(nextEditRequest, projectedDocuments, curDocId, req, shiftedSelection.start, logger);
987
+ }
988
+ catch (e) {
989
+ logContext.setError(e);
970
990
  }
971
991
  finally {
972
- this._addLogContextEntry(logContext, label);
992
+ logContext.markCompleted();
973
993
  }
974
994
  });
975
995
  return nextEditRequest;
@@ -977,7 +997,7 @@ let NextEditProvider = NextEditProvider_1 = class NextEditProvider extends lifec
977
997
  /**
978
998
  * Runs the provider call for a speculative request and caches results.
979
999
  */
980
- async _runSpeculativeProviderCall(nextEditRequest, projectedDocuments, curDocId, req, parentLogger) {
1000
+ async _runSpeculativeProviderCall(nextEditRequest, projectedDocuments, curDocId, req, cursorOffset, parentLogger) {
981
1001
  const logger = parentLogger.createSubLogger('_runSpeculativeProviderCall');
982
1002
  const xtabEditHistory = nextEditRequest.xtabEditHistory;
983
1003
  const statePerDoc = createDocStateLookupMap(projectedDocuments, xtabEditHistory);
@@ -989,6 +1009,7 @@ let NextEditProvider = NextEditProvider_1 = class NextEditProvider extends lifec
989
1009
  if (res.done) {
990
1010
  nextEditRequest.firstEdit.complete(result_1.Result.error(res.value.v));
991
1011
  nextEditRequest.setResult(new statelessNextEditProvider_1.StatelessNextEditResult(result_1.Result.error(res.value.v), res.value.telemetryBuilder));
1012
+ logContext.markAsNoSuggestions();
992
1013
  logger.trace('speculative request completed with no edits');
993
1014
  }
994
1015
  else {
@@ -1012,10 +1033,11 @@ let NextEditProvider = NextEditProvider_1 = class NextEditProvider extends lifec
1012
1033
  targetDocState.nextEdits.push(nextEditReplacement);
1013
1034
  // Populate the cache with the speculative result
1014
1035
  const cachedEdit = this._nextEditCache.setKthNextEdit(targetDocState.docId, targetDocState.docContents, ithEdit === 0 ? streamedEdit.window : undefined, nextEditReplacement, ithEdit, ithEdit === 0 ? targetDocState.nextEdits : undefined, undefined, // no userEditSince for speculative
1015
- req, { isFromCursorJump: streamedEdit.isFromCursorJump, originalEditWindow: streamedEdit.originalWindow });
1036
+ req, { isFromCursorJump: streamedEdit.isFromCursorJump, originalEditWindow: streamedEdit.originalWindow, cursorOffset: targetDocState.docId === curDocId ? cursorOffset : undefined });
1016
1037
  if (!nextEditRequest.firstEdit.isSettled && cachedEdit) {
1017
1038
  nextEditRequest.firstEdit.complete(result_1.Result.ok(cachedEdit));
1018
1039
  nextEditRequest.setResult(new statelessNextEditProvider_1.StatelessNextEditResult(result_1.Result.ok(undefined), res.value.telemetryBuilder));
1040
+ logContext.setResponseResults([nextEditReplacement]);
1019
1041
  }
1020
1042
  logger.trace(`cached speculative edit ${ithEdit}`);
1021
1043
  }
@@ -1026,6 +1048,7 @@ let NextEditProvider = NextEditProvider_1 = class NextEditProvider extends lifec
1026
1048
  if (!nextEditRequest.firstEdit.isSettled) {
1027
1049
  nextEditRequest.firstEdit.complete(result_1.Result.error(new statelessNextEditProvider_1.NoNextEditReason.Uncategorized(new Error('Speculative request ended without edits'))));
1028
1050
  nextEditRequest.setResult(new statelessNextEditProvider_1.StatelessNextEditResult(result_1.Result.error(new statelessNextEditProvider_1.NoNextEditReason.Uncategorized(new Error('Speculative request ended without edits'))), res.value.telemetryBuilder));
1051
+ logContext.markAsNoSuggestions();
1029
1052
  }
1030
1053
  });
1031
1054
  }
@@ -1093,16 +1116,15 @@ let NextEditProvider = NextEditProvider_1 = class NextEditProvider extends lifec
1093
1116
  }
1094
1117
  this._snippyService.handlePostInsertion(docId.toUri(), suggestion.result.documentBeforeEdits, suggestion.result.edit);
1095
1118
  }
1096
- _addLogContextEntry(logContext, debugNameOverride) {
1097
- if (!logContext.includeInLogTree) {
1098
- return;
1099
- }
1119
+ _addLiveLogContextEntry(logContext, debugNameOverride) {
1100
1120
  this._requestLogger.addEntry({
1101
1121
  type: "MarkdownContentRequest" /* LoggedRequestKind.MarkdownContentRequest */,
1102
1122
  debugName: debugNameOverride ?? logContext.getDebugName(),
1103
- icon: logContext.getIcon(),
1123
+ icon: () => logContext.getIcon(),
1104
1124
  startTimeMs: logContext.time,
1105
- markdownContent: logContext.toLogDocument(),
1125
+ markdownContent: () => logContext.toLogDocument(),
1126
+ onDidChange: logContext.onDidChange,
1127
+ isVisible: () => logContext.includeInLogTree,
1106
1128
  });
1107
1129
  }
1108
1130
  clearCache() {
@@ -1 +1 @@
1
- {"version":3,"file":"nextEditProvider.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/node/nextEditProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nextEditProvider.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/node/nextEditProvider.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ import { IFetcherService } from '../../../platform/networking/common/fetcherServ
14
14
  import { IChatEndpoint } from '../../../platform/networking/common/networking';
15
15
  import { IChatWebSocketManager } from '../../../platform/networking/node/chatWebSocketManager';
16
16
  import { IOTelService } from '../../../platform/otel/common/otelService';
17
- import { IRequestLogger } from '../../../platform/requestLogger/node/requestLogger';
17
+ import { IRequestLogger } from '../../../platform/requestLogger/common/requestLogger';
18
18
  import { IExperimentationService } from '../../../platform/telemetry/common/nullExperimentationService';
19
19
  import { ITelemetryService } from '../../../platform/telemetry/common/telemetry';
20
20
  import { TelemetryData } from '../../../platform/telemetry/common/telemetryData';
@@ -1 +1 @@
1
- {"version":3,"file":"chatMLFetcher.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/prompt/node/chatMLFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatMLFetcher.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/prompt/node/chatMLFetcher.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,8 @@ const stream_1 = require("../../../platform/networking/node/stream");
41
41
  const fetch_2 = require("../../../platform/openai/node/fetch");
42
42
  const index_1 = require("../../../platform/otel/common/index");
43
43
  const otelService_1 = require("../../../platform/otel/common/otelService");
44
- const requestLogger_1 = require("../../../platform/requestLogger/node/requestLogger");
44
+ const requestLogger_1 = require("../../../platform/requestLogger/common/requestLogger");
45
+ const requestLogger_2 = require("../../../platform/requestLogger/node/requestLogger");
45
46
  const nullExperimentationService_1 = require("../../../platform/telemetry/common/nullExperimentationService");
46
47
  const telemetry_1 = require("../../../platform/telemetry/common/telemetry");
47
48
  const telemetryData_1 = require("../../../platform/telemetry/common/telemetryData");
@@ -153,6 +154,7 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
153
154
  });
154
155
  const baseTelemetry = telemetryData_1.TelemetryData.createAndMarkAsIssued({
155
156
  ...telemetryProperties,
157
+ headerRequestId: ourRequestId,
156
158
  baseModel: chatEndpoint.model,
157
159
  uiKind: commonTypes_1.ChatLocation.toString(location)
158
160
  });
@@ -189,9 +191,11 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
189
191
  };
190
192
  }
191
193
  else {
194
+ let tokenCountPromise;
195
+ const countTokens = () => tokenCountPromise ??= chatEndpoint.acquireTokenizer().countMessagesTokens(messages);
192
196
  const copilotToken = await this._authenticationService.getCopilotToken();
193
197
  usernameToScrub = copilotToken.username;
194
- const fetchResult = await this._fetchAndStreamChat(chatEndpoint, requestBody, baseTelemetry, streamRecorder.callback, requestOptions.secretKey, copilotToken, opts.location, ourRequestId, postOptions.n, token, userInitiatedRequest, useWebSocket, turnId, conversationId, telemetryProperties, opts.useFetcher, canRetryOnce, requestKindOptions);
198
+ const fetchResult = await this._fetchAndStreamChat(chatEndpoint, requestBody, baseTelemetry, streamRecorder.callback, requestOptions.secretKey, copilotToken, opts.location, ourRequestId, postOptions.n, token, countTokens, userInitiatedRequest, useWebSocket, turnId, conversationId, telemetryProperties, opts.useFetcher, canRetryOnce, requestKindOptions, opts.summarizedAtRoundId);
195
199
  response = fetchResult.result;
196
200
  actualFetcher = fetchResult.fetcher;
197
201
  actualBytesReceived = fetchResult.bytesReceived;
@@ -249,7 +253,7 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
249
253
  otelInferenceSpan.setAttribute(index_1.GenAiAttr.INPUT_MESSAGES, (0, index_1.truncateForOTel)(JSON.stringify((0, index_1.toInputMessages)(normalized))));
250
254
  }
251
255
  }
252
- tokenCount = await chatEndpoint.acquireTokenizer().countMessagesTokens(messages);
256
+ tokenCount = await countTokens();
253
257
  const extensionId = source?.extensionId ?? constants_1.EXTENSION_ID;
254
258
  this._onDidMakeChatMLRequest.fire({
255
259
  messages,
@@ -712,7 +716,7 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
712
716
  }
713
717
  return { retryResult, connectivityTestError, connectivityTestErrorGitHubRequestId };
714
718
  }
715
- async _fetchAndStreamChat(chatEndpointInfo, request, baseTelemetryData, finishedCb, secretKey, copilotToken, location, ourRequestId, nChoices, cancellationToken, userInitiatedRequest, useWebSocket, turnId, conversationId, telemetryProperties, useFetcher, canRetryOnce, requestKindOptions) {
719
+ async _fetchAndStreamChat(chatEndpointInfo, request, baseTelemetryData, finishedCb, secretKey, copilotToken, location, ourRequestId, nChoices, cancellationToken, countTokens, userInitiatedRequest, useWebSocket, turnId, conversationId, telemetryProperties, useFetcher, canRetryOnce, requestKindOptions, summarizedAtRoundId) {
716
720
  const isPowerSaveBlockerEnabled = this._configurationService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.ChatRequestPowerSaveBlocker, this._experimentationService);
717
721
  const blockerHandle = isPowerSaveBlockerEnabled && location !== commonTypes_1.ChatLocation.Other ? this._powerService.acquirePowerSaveBlocker() : undefined;
718
722
  let suspendEventSeen = false;
@@ -726,7 +730,7 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
726
730
  this._logService.info(`System resumed during streaming request ${ourRequestId} (${commonTypes_1.ChatLocation.toString(location)})`);
727
731
  });
728
732
  try {
729
- const fetchResult = await this._doFetchAndStreamChat(chatEndpointInfo, request, baseTelemetryData, finishedCb, secretKey, copilotToken, location, ourRequestId, nChoices, cancellationToken, userInitiatedRequest, useWebSocket, turnId, conversationId, telemetryProperties, useFetcher, canRetryOnce, requestKindOptions);
733
+ const fetchResult = await this._doFetchAndStreamChat(chatEndpointInfo, request, baseTelemetryData, finishedCb, secretKey, copilotToken, location, ourRequestId, nChoices, cancellationToken, countTokens, userInitiatedRequest, useWebSocket, turnId, conversationId, telemetryProperties, useFetcher, canRetryOnce, requestKindOptions, summarizedAtRoundId);
730
734
  return { ...fetchResult, suspendEventSeen: suspendEventSeen || undefined, resumeEventSeen: resumeEventSeen || undefined };
731
735
  }
732
736
  catch (err) {
@@ -744,7 +748,7 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
744
748
  blockerHandle?.dispose();
745
749
  }
746
750
  }
747
- async _doFetchAndStreamChat(chatEndpointInfo, request, baseTelemetryData, finishedCb, secretKey, copilotToken, location, ourRequestId, nChoices, cancellationToken, userInitiatedRequest, useWebSocket, turnId, conversationId, telemetryProperties, useFetcher, canRetryOnce, requestKindOptions) {
751
+ async _doFetchAndStreamChat(chatEndpointInfo, request, baseTelemetryData, finishedCb, secretKey, copilotToken, location, ourRequestId, nChoices, cancellationToken, countTokens, userInitiatedRequest, useWebSocket, turnId, conversationId, telemetryProperties, useFetcher, canRetryOnce, requestKindOptions, summarizedAtRoundId) {
748
752
  if (cancellationToken.isCancellationRequested) {
749
753
  return { result: { type: fetch_2.FetchResponseKind.Canceled, reason: 'before fetch request' } };
750
754
  }
@@ -757,9 +761,9 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
757
761
  return undefined;
758
762
  } })()
759
763
  : undefined;
760
- const chatSessionId = (0, requestLogger_1.getCurrentCapturingToken)()?.chatSessionId;
761
- const parentChatSessionId = (0, requestLogger_1.getCurrentCapturingToken)()?.parentChatSessionId;
762
- const debugLogLabel = (0, requestLogger_1.getCurrentCapturingToken)()?.debugLogLabel;
764
+ const chatSessionId = (0, requestLogger_2.getCurrentCapturingToken)()?.chatSessionId;
765
+ const parentChatSessionId = (0, requestLogger_2.getCurrentCapturingToken)()?.parentChatSessionId;
766
+ const debugLogLabel = (0, requestLogger_2.getCurrentCapturingToken)()?.debugLogLabel;
763
767
  const otelSpan = this._otelService.startSpan(`chat ${chatEndpointInfo.model}`, {
764
768
  kind: 2 /* SpanKind.CLIENT */,
765
769
  attributes: {
@@ -800,7 +804,7 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
800
804
  }
801
805
  // WebSocket path: use persistent WebSocket connection for Responses API endpoints
802
806
  if (useWebSocket && turnId && conversationId) {
803
- const wsResult = await this._doFetchViaWebSocket(chatEndpointInfo, request, baseTelemetryData, finishedCb, secretKey, location, ourRequestId, turnId, conversationId, cancellationToken, userInitiatedRequest, telemetryProperties, requestKindOptions);
807
+ const wsResult = await this._doFetchViaWebSocket(chatEndpointInfo, request, baseTelemetryData, finishedCb, secretKey, location, ourRequestId, turnId, conversationId, cancellationToken, countTokens, userInitiatedRequest, telemetryProperties, requestKindOptions, summarizedAtRoundId);
804
808
  return { ...wsResult, otelSpan };
805
809
  }
806
810
  const httpResult = await this._doFetchViaHttp(chatEndpointInfo, request, baseTelemetryData, finishedCb, secretKey, location, ourRequestId, nChoices, cancellationToken, userInitiatedRequest, telemetryProperties, useFetcher, canRetryOnce, requestKindOptions);
@@ -826,7 +830,7 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
826
830
  * Sends a chat request via a persistent WebSocket connection instead of HTTP POST.
827
831
  * Events are the same Responses API streaming events, processed by OpenAIResponsesProcessor.
828
832
  */
829
- async _doFetchViaWebSocket(chatEndpointInfo, request, baseTelemetryData, finishedCb, secretKey, location, ourRequestId, turnId, conversationId, cancellationToken, userInitiatedRequest, telemetryProperties, requestKindOptions) {
833
+ async _doFetchViaWebSocket(chatEndpointInfo, request, baseTelemetryData, finishedCb, secretKey, location, ourRequestId, turnId, conversationId, cancellationToken, countTokens, userInitiatedRequest, telemetryProperties, requestKindOptions, summarizedAtRoundId) {
830
834
  const intent = locationToIntent(location);
831
835
  const agentInteractionType = requestKindOptions?.kind === 'subagent' ?
832
836
  'conversation-subagent' :
@@ -848,7 +852,7 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
848
852
  if (request.messages?.some((m) => Array.isArray(m.content) ? m.content.some(c => 'image_url' in c) : false) && chatEndpointInfo.supportsVision) {
849
853
  additionalHeaders['Copilot-Vision-Request'] = 'true';
850
854
  }
851
- const connection = this._webSocketManager.getOrCreateConnection(conversationId, additionalHeaders);
855
+ const connection = this._webSocketManager.getOrCreateConnection(conversationId, additionalHeaders, ourRequestId);
852
856
  try {
853
857
  await connection.connect();
854
858
  }
@@ -868,6 +872,8 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
868
872
  maxTokenWindow: chatEndpointInfo.modelMaxPromptTokens
869
873
  });
870
874
  const modelRequestId = (0, fetch_1.getRequestId)(connection.responseHeaders);
875
+ // Request id changes over the lifetime of the connection.
876
+ modelRequestId.headerRequestId = ourRequestId;
871
877
  telemetryData.extendWithRequestId(modelRequestId);
872
878
  for (const [key, value] of Object.entries(request)) {
873
879
  if (key === 'messages' || key === 'input') {
@@ -875,12 +881,11 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
875
881
  } // Skip messages (PII)
876
882
  telemetryData.properties[`request.option.${key}`] = JSON.stringify(value) ?? 'undefined';
877
883
  }
878
- telemetryData.properties['headerRequestId'] = ourRequestId;
879
884
  this._telemetryService.sendGHTelemetryEvent('request.sent', telemetryData.properties, telemetryData.measurements);
880
885
  const requestStart = Date.now();
881
- const handle = connection.sendRequest(request, { userInitiated: !!userInitiatedRequest, turnId }, cancellationToken);
886
+ const handle = connection.sendRequest(request, { userInitiated: !!userInitiatedRequest, turnId, requestId: ourRequestId, countTokens, tokenCountMax: chatEndpointInfo.maxOutputTokens, modelMaxPromptTokens: chatEndpointInfo.modelMaxPromptTokens, summarizedAtRoundId }, cancellationToken);
882
887
  const extendedBaseTelemetryData = baseTelemetryData.extendedBy({ modelCallId });
883
- const processor = this._instantiationService.createInstance(responsesApi_1.OpenAIResponsesProcessor, extendedBaseTelemetryData, modelRequestId.headerRequestId, modelRequestId.gitHubRequestId);
888
+ const processor = this._instantiationService.createInstance(responsesApi_1.OpenAIResponsesProcessor, extendedBaseTelemetryData, this._telemetryService, modelRequestId.headerRequestId, modelRequestId.gitHubRequestId, (0, responsesApi_1.getResponsesApiCompactionThresholdFromBody)(request));
884
889
  // Set up streaming first so event listeners are registered before we
885
890
  // await the first event — AsyncIterableObject runs its executor eagerly.
886
891
  const chatCompletions = new async_1.AsyncIterableObject(async (emitter) => {
@@ -1099,6 +1104,8 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
1099
1104
  // This ID is hopefully the one the same as ourRequestId, but it is not guaranteed.
1100
1105
  // If they are different then we will override the original one we set in telemetryData above.
1101
1106
  const modelRequestId = (0, fetch_1.getRequestId)(response.headers);
1107
+ // Preserve ourRequestId as headerRequestId if the server didn't echo x-request-id
1108
+ modelRequestId.headerRequestId = modelRequestId.headerRequestId || ourRequestId;
1102
1109
  telemetryData.extendWithRequestId(modelRequestId);
1103
1110
  // TODO: Add response length (requires parsing)
1104
1111
  const totalTimeMs = Date.now() - requestStart;