@vscode/chat-lib 0.4.1-6 → 0.4.1-8

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 (81) hide show
  1. package/dist/src/_internal/extension/inlineEdits/common/delay.d.ts +1 -0
  2. package/dist/src/_internal/extension/inlineEdits/common/delay.d.ts.map +1 -1
  3. package/dist/src/_internal/extension/inlineEdits/common/delay.js +3 -0
  4. package/dist/src/_internal/extension/inlineEdits/common/delay.js.map +1 -1
  5. package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.d.ts.map +1 -1
  6. package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.js +8 -0
  7. package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.js.map +1 -1
  8. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts +1 -0
  9. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts.map +1 -1
  10. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts +3 -1
  11. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts.map +1 -1
  12. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js +79 -35
  13. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js.map +1 -1
  14. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.d.ts.map +1 -1
  15. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js +11 -3
  16. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js.map +1 -1
  17. package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.d.ts +2 -0
  18. package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.d.ts.map +1 -1
  19. package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.js.map +1 -1
  20. package/dist/src/_internal/extension/xtab/common/diffHistoryForPrompt.d.ts +6 -1
  21. package/dist/src/_internal/extension/xtab/common/diffHistoryForPrompt.d.ts.map +1 -1
  22. package/dist/src/_internal/extension/xtab/common/diffHistoryForPrompt.js +3 -1
  23. package/dist/src/_internal/extension/xtab/common/diffHistoryForPrompt.js.map +1 -1
  24. package/dist/src/_internal/extension/xtab/common/lintErrors.js +2 -1
  25. package/dist/src/_internal/extension/xtab/common/lintErrors.js.map +1 -1
  26. package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts +6 -1
  27. package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts.map +1 -1
  28. package/dist/src/_internal/extension/xtab/common/promptCrafting.js +2 -2
  29. package/dist/src/_internal/extension/xtab/common/promptCrafting.js.map +1 -1
  30. package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.d.ts +22 -0
  31. package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.d.ts.map +1 -1
  32. package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.js +116 -17
  33. package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.js.map +1 -1
  34. package/dist/src/_internal/extension/xtab/common/similarFilesContextService.d.ts +10 -0
  35. package/dist/src/_internal/extension/xtab/common/similarFilesContextService.d.ts.map +1 -0
  36. package/dist/src/_internal/extension/xtab/common/similarFilesContextService.js +10 -0
  37. package/dist/src/_internal/extension/xtab/common/similarFilesContextService.js.map +1 -0
  38. package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.js +1 -1
  39. package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.js.map +1 -1
  40. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts +4 -1
  41. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
  42. package/dist/src/_internal/extension/xtab/node/xtabProvider.js +34 -3
  43. package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
  44. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +8 -1
  45. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
  46. package/dist/src/_internal/platform/configuration/common/configurationService.js +7 -0
  47. package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
  48. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts +34 -0
  49. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts.map +1 -1
  50. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js +46 -1
  51. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js.map +1 -1
  52. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts +13 -0
  53. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts.map +1 -1
  54. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js +20 -0
  55. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js.map +1 -1
  56. package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.d.ts +1 -0
  57. package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.d.ts.map +1 -1
  58. package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.js +3 -0
  59. package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.js.map +1 -1
  60. package/dist/src/_internal/platform/requestLogger/node/requestLogger.d.ts +2 -0
  61. package/dist/src/_internal/platform/requestLogger/node/requestLogger.d.ts.map +1 -1
  62. package/dist/src/_internal/platform/requestLogger/node/requestLogger.js.map +1 -1
  63. package/dist/src/_internal/platform/telemetry/common/telemetry.d.ts +9 -1
  64. package/dist/src/_internal/platform/telemetry/common/telemetry.d.ts.map +1 -1
  65. package/dist/src/_internal/platform/telemetry/common/telemetry.js +33 -15
  66. package/dist/src/_internal/platform/telemetry/common/telemetry.js.map +1 -1
  67. package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.d.ts +1 -1
  68. package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.d.ts.map +1 -1
  69. package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.js +3 -2
  70. package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.js.map +1 -1
  71. package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts +11 -0
  72. package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts.map +1 -1
  73. package/dist/src/_internal/util/common/test/shims/chatTypes.js +15 -2
  74. package/dist/src/_internal/util/common/test/shims/chatTypes.js.map +1 -1
  75. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js +1 -1
  76. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js.map +1 -1
  77. package/dist/src/main.d.ts.map +1 -1
  78. package/dist/src/main.js +7 -0
  79. package/dist/src/main.js.map +1 -1
  80. package/dist/src/package.json +58 -29
  81. package/package.json +1 -1
@@ -5,6 +5,7 @@ export declare class DelaySession {
5
5
  private extraDebounce;
6
6
  constructor(baseDebounceTime: number, expectedTotalTime: number | undefined, providerInvocationTime?: number);
7
7
  setExtraDebounce(extraDebounce: number): void;
8
+ setBaseDebounceTime(baseDebounceTime: number): void;
8
9
  getDebounceTime(): number;
9
10
  getArtificialDelay(): number;
10
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"delay.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/common/delay.ts"],"names":[],"mappings":"AAMA,qBAAa,YAAY;IAIvB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IALxC,OAAO,CAAC,aAAa,CAAK;gBAGjB,gBAAgB,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,sBAAsB,GAAE,MAAmB;IAItD,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAIpD,eAAe;IAaf,kBAAkB;CASlB"}
1
+ {"version":3,"file":"delay.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/common/delay.ts"],"names":[],"mappings":"AAMA,qBAAa,YAAY;IAIvB,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAClC,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IALxC,OAAO,CAAC,aAAa,CAAK;gBAGjB,gBAAgB,EAAE,MAAM,EACf,iBAAiB,EAAE,MAAM,GAAG,SAAS,EACrC,sBAAsB,GAAE,MAAmB;IAItD,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAI7C,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAI1D,eAAe;IAaf,kBAAkB;CASlB"}
@@ -15,6 +15,9 @@ class DelaySession {
15
15
  setExtraDebounce(extraDebounce) {
16
16
  this.extraDebounce = extraDebounce;
17
17
  }
18
+ setBaseDebounceTime(baseDebounceTime) {
19
+ this.baseDebounceTime = baseDebounceTime;
20
+ }
18
21
  getDebounceTime() {
19
22
  const expectedDebounceTime = this.expectedTotalTime === undefined
20
23
  ? this.baseDebounceTime
@@ -1 +1 @@
1
- {"version":3,"file":"delay.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/common/delay.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAGhG,MAAa,YAAY;IAGxB,YACS,gBAAwB,EACf,iBAAqC,EACrC,yBAAiC,IAAI,CAAC,GAAG,EAAE;QAFpD,qBAAgB,GAAhB,gBAAgB,CAAQ;QACf,sBAAiB,GAAjB,iBAAiB,CAAoB;QACrC,2BAAsB,GAAtB,sBAAsB,CAAqB;QALrD,kBAAa,GAAG,CAAC,CAAC;IAO1B,CAAC;IAEM,gBAAgB,CAAC,aAAqB;QAC5C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACpC,CAAC;IAED,eAAe;QACd,MAAM,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,KAAK,SAAS;YAChE,CAAC,CAAC,IAAI,CAAC,gBAAgB;YACvB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAE3D,MAAM,8BAA8B,GAAG,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC;QAEjF,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAClE,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,8BAA8B,GAAG,gBAAgB,CAAC,CAAC;QAE1F,OAAO,kBAAkB,CAAC;IAC3B,CAAC;IAED,kBAAkB;QACjB,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,CAAC,CAAC;QACV,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,CAAC;QACrE,OAAO,KAAK,CAAC;IACd,CAAC;CACD;AApCD,oCAoCC"}
1
+ {"version":3,"file":"delay.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/common/delay.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAGhG,MAAa,YAAY;IAGxB,YACS,gBAAwB,EACf,iBAAqC,EACrC,yBAAiC,IAAI,CAAC,GAAG,EAAE;QAFpD,qBAAgB,GAAhB,gBAAgB,CAAQ;QACf,sBAAiB,GAAjB,iBAAiB,CAAoB;QACrC,2BAAsB,GAAtB,sBAAsB,CAAqB;QALrD,kBAAa,GAAG,CAAC,CAAC;IAO1B,CAAC;IAEM,gBAAgB,CAAC,aAAqB;QAC5C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;IACpC,CAAC;IAEM,mBAAmB,CAAC,gBAAwB;QAClD,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC1C,CAAC;IAED,eAAe;QACd,MAAM,oBAAoB,GAAG,IAAI,CAAC,iBAAiB,KAAK,SAAS;YAChE,CAAC,CAAC,IAAI,CAAC,gBAAgB;YACvB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAE3D,MAAM,8BAA8B,GAAG,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC;QAEjF,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAClE,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,8BAA8B,GAAG,gBAAgB,CAAC,CAAC;QAE1F,OAAO,kBAAkB,CAAC;IAC3B,CAAC;IAED,kBAAkB;QACjB,IAAI,IAAI,CAAC,iBAAiB,KAAK,SAAS,EAAE,CAAC;YAC1C,OAAO,CAAC,CAAC;QACV,CAAC;QAED,MAAM,gBAAgB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,sBAAsB,CAAC;QAClE,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,iBAAiB,GAAG,gBAAgB,CAAC,CAAC;QACrE,OAAO,KAAK,CAAC;IACd,CAAC;CACD;AAxCD,oCAwCC"}
@@ -1 +1 @@
1
- {"version":3,"file":"userInteractionMonitor.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/common/userInteractionMonitor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAa,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AAC/G,OAAO,EAAE,mBAAmB,EAA0F,+BAA+B,EAAE,MAAM,kEAAkE,CAAC;AAChO,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+DAA+D,CAAC;AACxG,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,oBAAY,UAAU;IACrB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CACjB;AAED,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,aAAa,EAAE,EACxB,MAAM,EAAE,+BAA+B,GACrC,aAAa,EAAE,CAyCjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,aAAa,EAAE,EACxB,MAAM,EAAE,+BAA+B,GACrC,MAAM,CA0DR;AAED,qBAAa,sBAAsB;IAeV,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACpC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAhBtD;;;OAGG;IACH,SAAS,CAAC,mCAAmC,EAAE,aAAa,EAAE,CAAM;IAEpE;;;OAGG;IACH,SAAS,CAAC,2BAA2B,EAAE,CAAC,aAAa,GAAG;QAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAA;KAAE,CAAC,EAAE,CAAM;gBAG3E,qBAAqB,EAAE,qBAAqB,EAC1C,uBAAuB,EAAE,uBAAuB,EAC5D,WAAW,EAAE,WAAW,EAClB,iBAAiB,EAAE,iBAAiB;IAKlE,gBAAgB,IAAI,IAAI;IAIxB,eAAe,IAAI,IAAI;IAIvB,aAAa,IAAI,IAAI;IAI5B,OAAO,CAAC,iBAAiB;IAgBlB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY;IASxE,OAAO,CAAC,qBAAqB;IAiC7B;;;OAGG;IACI,sBAAsB,IAAI;QAAE,mBAAmB,EAAE,mBAAmB,CAAC;QAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE;IAoBrH,SAAS,CAAC,mCAAmC,IAAI,+BAA+B;IA2BhF,OAAO,CAAC,sBAAsB;CAG9B"}
1
+ {"version":3,"file":"userInteractionMonitor.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/common/userInteractionMonitor.ts"],"names":[],"mappings":"AAKA,OAAO,EAAa,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AAC/G,OAAO,EAAE,mBAAmB,EAAiH,+BAA+B,EAAE,MAAM,kEAAkE,CAAC;AACvP,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,+DAA+D,CAAC;AACxG,OAAO,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AAEjF,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,oBAAY,UAAU;IACrB,QAAQ,aAAa;IACrB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,UAAU,CAAC;CACjB;AAED,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAC9C,eAAO,MAAM,uBAAuB,KAAK,CAAC;AAE1C;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,aAAa,EAAE,EACxB,MAAM,EAAE,+BAA+B,GACrC,aAAa,EAAE,CAyCjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACpC,OAAO,EAAE,aAAa,EAAE,EACxB,MAAM,EAAE,+BAA+B,GACrC,MAAM,CA0DR;AAED,qBAAa,sBAAsB;IAeV,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACpC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAhBtD;;;OAGG;IACH,SAAS,CAAC,mCAAmC,EAAE,aAAa,EAAE,CAAM;IAEpE;;;OAGG;IACH,SAAS,CAAC,2BAA2B,EAAE,CAAC,aAAa,GAAG;QAAE,IAAI,EAAE,UAAU,CAAC,QAAQ,GAAG,UAAU,CAAC,QAAQ,CAAA;KAAE,CAAC,EAAE,CAAM;gBAG3E,qBAAqB,EAAE,qBAAqB,EAC1C,uBAAuB,EAAE,uBAAuB,EAC5D,WAAW,EAAE,WAAW,EAClB,iBAAiB,EAAE,iBAAiB;IAKlE,gBAAgB,IAAI,IAAI;IAIxB,eAAe,IAAI,IAAI;IAIvB,aAAa,IAAI,IAAI;IAI5B,OAAO,CAAC,iBAAiB;IAgBlB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,YAAY;IASxE,OAAO,CAAC,qBAAqB;IAiC7B;;;OAGG;IACI,sBAAsB,IAAI;QAAE,mBAAmB,EAAE,mBAAmB,CAAC;QAAC,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE;IA6BrH,SAAS,CAAC,mCAAmC,IAAI,+BAA+B;IA2BhF,OAAO,CAAC,sBAAsB;CAG9B"}
@@ -205,10 +205,18 @@ let UserInteractionMonitor = class UserInteractionMonitor {
205
205
  * The score is returned to avoid race conditions when logging telemetry.
206
206
  */
207
207
  getAggressivenessLevel() {
208
+ // User-facing setting takes priority when explicitly set to a non-default value
209
+ const userAggressiveness = this._configurationService.getExperimentBasedConfig(configurationService_1.ConfigKey.Advanced.InlineEditsAggressiveness, this._experimentationService);
210
+ const userLevel = xtabPromptOptions_1.AggressivenessSetting.toLevel(userAggressiveness);
211
+ if (userLevel !== undefined) {
212
+ return { aggressivenessLevel: userLevel, userHappinessScore: undefined };
213
+ }
214
+ // Team-internal experiment-based override
208
215
  const configuredAggressivenessLevel = this._configurationService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsXtabAggressivenessLevel, this._experimentationService);
209
216
  if (configuredAggressivenessLevel !== undefined) {
210
217
  return { aggressivenessLevel: configuredAggressivenessLevel, userHappinessScore: undefined };
211
218
  }
219
+ // Default or unrecognized: fall through to happiness-score-based logic
212
220
  let level;
213
221
  const config = this._getUserHappinessScoreConfiguration();
214
222
  const userHappinessScore = this._getUserHappinessScore(config);
@@ -1 +1 @@
1
- {"version":3,"file":"userInteractionMonitor.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/common/userInteractionMonitor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"userInteractionMonitor.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/common/userInteractionMonitor.ts"],"names":[],"mappings":"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"}
@@ -44,6 +44,7 @@ export interface CachedEdit {
44
44
  export type CachedOrRebasedEdit = CachedEdit & {
45
45
  rebasedEdit?: StringReplacement;
46
46
  rebasedEditIndex?: number;
47
+ isFromSpeculativeRequest?: boolean;
47
48
  };
48
49
  export declare class NextEditCache extends Disposable {
49
50
  readonly workspace: ObservableWorkspace;
@@ -1 +1 @@
1
- {"version":3,"file":"nextEditCache.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/node/nextEditCache.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nextEditCache.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/node/nextEditCache.ts"],"names":[],"mappings":"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"}
@@ -93,6 +93,7 @@ export declare class NextEditProvider extends Disposable implements INextEditPro
93
93
  * Runs the provider call for a speculative request and caches results.
94
94
  */
95
95
  private _runSpeculativeProviderCall;
96
+ private static shiftSelectionAfterEditWindow;
96
97
  handleAcceptance(docId: DocumentId, suggestion: NextEditResult): void;
97
98
  handleRejection(docId: DocumentId, suggestion: NextEditResult): void;
98
99
  handleIgnored(docId: DocumentId, suggestion: NextEditResult, supersededBy: INextEditResult | undefined): void;
@@ -103,7 +104,8 @@ export declare class NextEditFetchRequest {
103
104
  readonly opportunityId: string;
104
105
  readonly log: InlineEditRequestLogContext;
105
106
  readonly providerRequestStartDateTime: number | undefined;
107
+ readonly isSpeculative: boolean;
106
108
  readonly headerRequestId: string;
107
- constructor(opportunityId: string, log: InlineEditRequestLogContext, providerRequestStartDateTime: number | undefined, headerRequestId?: string);
109
+ constructor(opportunityId: string, log: InlineEditRequestLogContext, providerRequestStartDateTime: number | undefined, isSpeculative: boolean, headerRequestId?: string);
108
110
  }
109
111
  //# sourceMappingURL=nextEditProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"nextEditProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/node/nextEditProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nextEditProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/node/nextEditProvider.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
12
12
  var __param = (this && this.__param) || function (paramIndex, decorator) {
13
13
  return function (target, key) { decorator(target, key, paramIndex); }
14
14
  };
15
+ var NextEditProvider_1;
15
16
  Object.defineProperty(exports, "__esModule", { value: true });
16
17
  exports.NextEditFetchRequest = exports.NextEditProvider = exports.NesOutcome = void 0;
17
18
  const path_1 = require("path");
@@ -80,7 +81,7 @@ var NesOutcome;
80
81
  NesOutcome["Rejected"] = "rejected";
81
82
  NesOutcome["Ignored"] = "ignored";
82
83
  })(NesOutcome || (exports.NesOutcome = NesOutcome = {}));
83
- let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
84
+ let NextEditProvider = NextEditProvider_1 = class NextEditProvider extends lifecycle_1.Disposable {
84
85
  get lastRejectionTime() {
85
86
  return this._lastRejectionTime;
86
87
  }
@@ -199,6 +200,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
199
200
  let targetDocumentId = docId;
200
201
  let isRebasedCachedEdit = false;
201
202
  let isSubsequentCachedEdit = false;
203
+ let isFromSpeculativeRequest = false;
202
204
  if (cachedEdit) {
203
205
  logger.trace('using cached edit');
204
206
  const actualEdit = cachedEdit.rebasedEdit || cachedEdit.edit;
@@ -221,7 +223,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
221
223
  const providerRequestStartDateTime = (this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsDebounceUseCoreRequestTime, this._expService)
222
224
  ? (context.requestIssuedDateTime ?? undefined)
223
225
  : undefined);
224
- req = new NextEditFetchRequest(context.requestUuid, logContext, providerRequestStartDateTime);
226
+ req = new NextEditFetchRequest(context.requestUuid, logContext, providerRequestStartDateTime, false);
225
227
  telemetryBuilder.setHeaderRequestId(req.headerRequestId);
226
228
  const startVersion = doc.value.get();
227
229
  logger.trace('awaiting firstEdit promise');
@@ -255,6 +257,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
255
257
  logger.trace('fetch succeeded');
256
258
  logContext.setResponseResults([suggestedNextEdit]); // TODO: other streamed edits?
257
259
  edit = { actualEdit: suggestedNextEdit, isFromCursorJump: result.val.isFromCursorJump };
260
+ isFromSpeculativeRequest = result.val.isFromSpeculativeRequest ?? false;
258
261
  }
259
262
  }
260
263
  }
@@ -269,7 +272,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
269
272
  }
270
273
  else {
271
274
  telemetryBuilder.setStatus('emptyEditsButHasNextCursorPosition');
272
- return new nextEditResult_1.NextEditResult(logContext.requestId, req, { jumpToPosition: error.nextCursorPosition, documentBeforeEdits: documentAtInvocationTime, isFromCursorJump: false });
275
+ return new nextEditResult_1.NextEditResult(logContext.requestId, req, { jumpToPosition: error.nextCursorPosition, documentBeforeEdits: documentAtInvocationTime, isFromCursorJump: false, isSubsequentEdit: false });
273
276
  }
274
277
  }
275
278
  const emptyResult = new nextEditResult_1.NextEditResult(logContext.requestId, req, undefined);
@@ -292,9 +295,9 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
292
295
  logContext.setResult(rootedLineEdit_1.RootedLineEdit.fromEdit(new edit_1.RootedEdit(documentAtInvocationTime, new stringEdit_1.StringEdit([edit.actualEdit]))));
293
296
  (0, assert_1.assert)(currentDocument !== undefined, 'should be defined if edit is defined');
294
297
  telemetryBuilder.setStatus('notAccepted'); // Acceptance pending.
295
- const nextEditResult = new nextEditResult_1.NextEditResult(logContext.requestId, req, { edit: edit.actualEdit, isFromCursorJump: edit.isFromCursorJump, documentBeforeEdits: currentDocument, targetDocumentId });
298
+ const nextEditResult = new nextEditResult_1.NextEditResult(logContext.requestId, req, { edit: edit.actualEdit, isFromCursorJump: edit.isFromCursorJump, documentBeforeEdits: currentDocument, targetDocumentId, isSubsequentEdit: isSubsequentCachedEdit });
296
299
  telemetryBuilder.setHasNextEdit(true);
297
- const delay = this.computeMinimumResponseDelay({ triggerTime, isRebasedCachedEdit, isSubsequentCachedEdit, enforceCacheDelay: context.enforceCacheDelay }, logger);
300
+ const delay = this.computeMinimumResponseDelay({ triggerTime, isRebasedCachedEdit, isSubsequentCachedEdit, isFromSpeculativeRequest, enforceCacheDelay: context.enforceCacheDelay }, logger);
298
301
  if (delay > 0) {
299
302
  await (0, async_1.timeout)(delay);
300
303
  if (cancellationToken.isCancellationRequested) {
@@ -365,6 +368,10 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
365
368
  if (requestStillCurrent) {
366
369
  const nextEditResult = await this._joinNextEditRequest(requestToReuse, reusedRequestKind, telemetryBuilder, logContext, cancellationToken);
367
370
  telemetryBuilder.setStatelessNextEditTelemetry(nextEditResult.telemetry);
371
+ if (speculativeRequest) {
372
+ const firstEdit = await requestToReuse.firstEdit.p;
373
+ return firstEdit.map(val => ({ ...val, isFromSpeculativeRequest: true }));
374
+ }
368
375
  return nextEditResult.nextEdit.isError() ? nextEditResult.nextEdit : requestToReuse.firstEdit.p;
369
376
  }
370
377
  else if (nesConfigs.isEagerBackupRequest) {
@@ -676,7 +683,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
676
683
  nextEditRequest.liveDependentants++;
677
684
  return disposables;
678
685
  }
679
- computeMinimumResponseDelay({ triggerTime, isRebasedCachedEdit, isSubsequentCachedEdit, enforceCacheDelay }, logger) {
686
+ computeMinimumResponseDelay({ triggerTime, isRebasedCachedEdit, isSubsequentCachedEdit, isFromSpeculativeRequest, enforceCacheDelay }, logger) {
680
687
  if (!enforceCacheDelay) {
681
688
  logger.trace('[minimumDelay] no minimum delay enforced due to enforceCacheDelay being false');
682
689
  return 0;
@@ -684,6 +691,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
684
691
  const cacheDelay = this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsCacheDelay, this._expService);
685
692
  const rebasedCacheDelay = this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsRebasedCacheDelay, this._expService);
686
693
  const subsequentCacheDelay = this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsSubsequentCacheDelay, this._expService);
694
+ const speculativeRequestDelay = this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsSpeculativeRequestDelay, this._expService);
687
695
  let minimumResponseDelay = cacheDelay;
688
696
  if (isRebasedCachedEdit && rebasedCacheDelay !== undefined) {
689
697
  minimumResponseDelay = rebasedCacheDelay;
@@ -691,10 +699,13 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
691
699
  else if (isSubsequentCachedEdit && subsequentCacheDelay !== undefined) {
692
700
  minimumResponseDelay = subsequentCacheDelay;
693
701
  }
702
+ else if (isFromSpeculativeRequest && speculativeRequestDelay !== undefined) {
703
+ minimumResponseDelay = speculativeRequestDelay;
704
+ }
694
705
  const nextEditProviderCallLatency = Date.now() - triggerTime;
695
706
  // if the provider call took longer than the minimum delay, we don't need to delay further
696
707
  const delay = Math.max(0, minimumResponseDelay - nextEditProviderCallLatency);
697
- logger.trace(`[minimumDelay] expected delay: ${minimumResponseDelay}ms, effective delay: ${delay}. isRebasedCachedEdit: ${isRebasedCachedEdit} (rebasedCacheDelay: ${rebasedCacheDelay}), isSubsequentCachedEdit: ${isSubsequentCachedEdit} (subsequentCacheDelay: ${subsequentCacheDelay})`);
708
+ logger.trace(`[minimumDelay] expected delay: ${minimumResponseDelay}ms, effective delay: ${delay}. isRebasedCachedEdit: ${isRebasedCachedEdit} (rebasedCacheDelay: ${rebasedCacheDelay}), isSubsequentCachedEdit: ${isSubsequentCachedEdit} (subsequentCacheDelay: ${subsequentCacheDelay}), isFromSpeculativeRequest: ${isFromSpeculativeRequest} (speculativeRequestDelay: ${speculativeRequestDelay})`);
698
709
  return delay;
699
710
  }
700
711
  handleShown(suggestion) {
@@ -721,12 +732,14 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
721
732
  }
722
733
  // Compute the post-edit document content
723
734
  const postEditContent = result.edit.replace(result.documentBeforeEdits.value);
724
- const postEditCursorOffset = result.edit.replaceRange.endExclusive + result.edit.getLengthDelta();
725
- const selections = [new offsetRange_1.OffsetRange(postEditCursorOffset, postEditCursorOffset)];
735
+ const preciseEdit = result.edit.removeCommonSuffixPrefix(result.documentBeforeEdits.value);
736
+ const postEditCursorOffset = preciseEdit.replaceRange.start + preciseEdit.newText.length;
737
+ const postEditCursorOffsetRange = new offsetRange_1.OffsetRange(postEditCursorOffset, postEditCursorOffset);
738
+ const selections = [postEditCursorOffsetRange];
726
739
  const rootedEdit = new edit_1.RootedEdit(result.documentBeforeEdits, new stringEdit_1.StringEdit([result.edit]));
727
740
  const postEditContentST = new abstractText_1.StringText(postEditContent);
728
741
  let cachedEdit = this._nextEditCache.lookupNextEdit(docId, postEditContentST, selections);
729
- let shiftedSelection;
742
+ let shiftedSelection = postEditCursorOffsetRange;
730
743
  if (cachedEdit) {
731
744
  // first cachedEdit should be without edits because of noSuggestions caching
732
745
  if (cachedEdit.edit) {
@@ -734,17 +747,22 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
734
747
  return;
735
748
  }
736
749
  else if (cachedEdit.editWindow) {
737
- const trans = postEditContentST.getTransformer();
738
- const endOfEditWindow = trans.getPosition(cachedEdit.editWindow.endExclusive - 1);
739
- const shiftedCursorLineNumber = (endOfEditWindow.lineNumber + 1 < postEditContentST.lineRange.endLineNumberExclusive
740
- ? endOfEditWindow.lineNumber + 1
741
- : endOfEditWindow.lineNumber);
742
- const shiftedSelectionCursorOffset = trans.getOffset(new position_1.Position(shiftedCursorLineNumber, 1));
743
- shiftedSelection = new offsetRange_1.OffsetRange(shiftedSelectionCursorOffset, shiftedSelectionCursorOffset);
744
- cachedEdit = this._nextEditCache.lookupNextEdit(docId, postEditContentST, [shiftedSelection]);
745
- if (cachedEdit?.edit) {
746
- logger.trace('already have cached edit for post-edit state (after shifting selection)');
747
- return;
750
+ logger.trace('have cached no-suggestions entry for post-edit state, but it has an edit window. Checking if shifting selection based on cursor placement config can yield a cached edit');
751
+ const cursorPlacement = this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsSpeculativeRequestsCursorPlacement, this._expService);
752
+ if (cursorPlacement === xtabPromptOptions_1.SpeculativeRequestsCursorPlacement.AfterEditWindow) {
753
+ logger.trace('cursor placement config is AfterEditWindow, shifting selection to after edit window');
754
+ shiftedSelection = NextEditProvider_1.shiftSelectionAfterEditWindow(postEditContentST, cachedEdit.editWindow);
755
+ cachedEdit = this._nextEditCache.lookupNextEdit(docId, postEditContentST, [shiftedSelection]);
756
+ if (cachedEdit?.edit) {
757
+ logger.trace('already have cached edit for post-edit state (after shifting selection)');
758
+ return;
759
+ }
760
+ else {
761
+ logger.trace('no cached edit even after shifting selection');
762
+ }
763
+ }
764
+ else {
765
+ logger.trace(`cursor placement config is ${cursorPlacement}, not shifting selection`);
748
766
  }
749
767
  }
750
768
  else {
@@ -780,10 +798,13 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
780
798
  // Create a speculative request
781
799
  // Use a dummy version since this is speculative and we don't have the actual post-edit version
782
800
  const logContext = new inlineEditLogContext_1.InlineEditRequestLogContext(docId.uri, 0, undefined);
783
- const req = new NextEditFetchRequest(`sp-${suggestion.source.opportunityId}`, logContext, undefined, `sp-${(0, uuid_1.generateUuid)()}`);
801
+ const req = new NextEditFetchRequest(`sp-${suggestion.source.opportunityId}`, logContext, undefined, true, `sp-${(0, uuid_1.generateUuid)()}`);
784
802
  logger.trace(`triggering speculative request for post-edit state (opportunityId=${req.opportunityId}, headerRequestId=${req.headerRequestId})`);
785
803
  try {
786
- const speculativeRequest = await this._createSpeculativeRequest(req, doc, shiftedSelection, historyContext, postEditContent, rootedEdit, result.edit, logger);
804
+ const speculativeRequest = await this._createSpeculativeRequest(req, doc, shiftedSelection, historyContext, postEditContent, rootedEdit, result.edit, {
805
+ triggeredBySpeculativeRequest: suggestion.source.isSpeculative,
806
+ isSubsequentEdit: suggestion.result?.isSubsequentEdit ?? false,
807
+ }, logger);
787
808
  if (speculativeRequest) {
788
809
  this._speculativePendingRequest = {
789
810
  request: speculativeRequest,
@@ -801,7 +822,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
801
822
  * The request will populate the cache so that when the user accepts the suggestion,
802
823
  * the next NES request can reuse or find the result in cache.
803
824
  */
804
- async _createSpeculativeRequest(req, doc, shiftedSelection, historyContext, postEditContent, rootedEdit, appliedEdit, parentLogger) {
825
+ async _createSpeculativeRequest(req, doc, shiftedSelection, historyContext, postEditContent, rootedEdit, appliedEdit, { triggeredBySpeculativeRequest, isSubsequentEdit }, parentLogger) {
805
826
  const logger = parentLogger.createSubLogger('_createSpeculativeRequest');
806
827
  const curDocId = doc.id;
807
828
  const recording = this._debugRecorder?.getRecentLog();
@@ -824,18 +845,11 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
824
845
  const workspaceRoot = this._workspace.getWorkspaceRoot(curDocId);
825
846
  const postEditEdit = new stringEdit_1.StringEdit([appliedEdit]);
826
847
  const postEditLineEdit = rootedLineEdit_1.RootedLineEdit.fromEdit(new edit_1.RootedEdit(doc.value.get(), postEditEdit)).removeCommonSuffixPrefixLines().edit;
827
- let selection = shiftedSelection;
828
- if (selection === undefined) {
829
- const appliedEditEndPos = postEditText.getTransformer().getPosition(appliedEdit.replaceRange.endExclusive + appliedEdit.getLengthDelta());
830
- const pos = new position_1.Position(appliedEditEndPos.lineNumber, 1);
831
- const offset = postEditText.getTransformer().getOffset(pos);
832
- selection = new offsetRange_1.OffsetRange(offset, offset);
833
- }
834
848
  const nextEditDoc = new statelessNextEditProvider_1.StatelessNextEditDocument(curDocId, workspaceRoot, docHist.languageId, doc.value.get().getLines(), // lines before the NES edit
835
849
  postEditLineEdit, // the NES edit as LineEdit
836
850
  doc.value.get(), // document before NES edit
837
851
  edit_1.Edits.single(postEditEdit), // the NES edit as Edits
838
- selection);
852
+ shiftedSelection);
839
853
  return {
840
854
  recentEdit: new edit_1.RootedEdit(doc.value.get(), postEditEdit),
841
855
  nextEditDoc,
@@ -847,7 +861,26 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
847
861
  const suggestedEdit = { kind: 'edit', docId: curDocId, edit: rootedEdit };
848
862
  xtabEditHistory.push(suggestedEdit);
849
863
  const firstEdit = new async_1.DeferredPromise();
850
- const nLinesEditWindow = this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsAutoExpandEditWindowLines, this._expService);
864
+ // FIXME@ulugbekna: implement advanced expansion
865
+ const autoExpandEditWindowLinesSetting = this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsSpeculativeRequestsAutoExpandEditWindowLines, this._expService);
866
+ let nLinesEditWindow;
867
+ switch (autoExpandEditWindowLinesSetting) {
868
+ case xtabPromptOptions_1.SpeculativeRequestsAutoExpandEditWindowLines.Off:
869
+ nLinesEditWindow = undefined;
870
+ break;
871
+ case xtabPromptOptions_1.SpeculativeRequestsAutoExpandEditWindowLines.Always:
872
+ nLinesEditWindow = this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsAutoExpandEditWindowLines, this._expService);
873
+ break;
874
+ case xtabPromptOptions_1.SpeculativeRequestsAutoExpandEditWindowLines.Smart: {
875
+ const isModelOnRightTrack = triggeredBySpeculativeRequest || isSubsequentEdit;
876
+ nLinesEditWindow = (isModelOnRightTrack
877
+ ? this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsAutoExpandEditWindowLines, this._expService)
878
+ : undefined);
879
+ break;
880
+ }
881
+ default:
882
+ (0, assert_1.assertNever)(autoExpandEditWindowLinesSetting);
883
+ }
851
884
  const nextEditRequest = new statelessNextEditProvider_1.StatelessNextEditRequest(req.headerRequestId, req.opportunityId, postEditText, // documentBeforeEdits is the post-edit state
852
885
  projectedDocuments.map(d => d.nextEditDoc), activeDocAndIdx.idx, xtabEditHistory, firstEdit, nLinesEditWindow, logContext, undefined, // recordingBookmark
853
886
  recording, undefined);
@@ -929,6 +962,16 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
929
962
  logger.trace(`speculative provider call error: ${errors_1.ErrorUtils.toString(e)}`);
930
963
  }
931
964
  }
965
+ static shiftSelectionAfterEditWindow(postEditContentST, editWindowOffsetRange) {
966
+ const trans = postEditContentST.getTransformer();
967
+ const endOfEditWindow = trans.getPosition(editWindowOffsetRange.endExclusive - 1);
968
+ const shiftedCursorLineNumber = (endOfEditWindow.lineNumber + 1 < postEditContentST.lineRange.endLineNumberExclusive
969
+ ? endOfEditWindow.lineNumber + 1
970
+ : endOfEditWindow.lineNumber);
971
+ const shiftedSelectionCursorOffset = trans.getOffset(new position_1.Position(shiftedCursorLineNumber, 1));
972
+ const shiftedSelection = new offsetRange_1.OffsetRange(shiftedSelectionCursorOffset, shiftedSelectionCursorOffset);
973
+ return shiftedSelection;
974
+ }
932
975
  handleAcceptance(docId, suggestion) {
933
976
  this.runSnippy(docId, suggestion);
934
977
  this._statelessNextEditProvider.handleAcceptance?.();
@@ -983,7 +1026,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
983
1026
  }
984
1027
  };
985
1028
  exports.NextEditProvider = NextEditProvider;
986
- exports.NextEditProvider = NextEditProvider = __decorate([
1029
+ exports.NextEditProvider = NextEditProvider = NextEditProvider_1 = __decorate([
987
1030
  __param(5, configurationService_1.IConfigurationService),
988
1031
  __param(6, snippyService_1.ISnippyService),
989
1032
  __param(7, logService_1.ILogService),
@@ -997,10 +1040,11 @@ function assertDefined(value) {
997
1040
  return value;
998
1041
  }
999
1042
  class NextEditFetchRequest {
1000
- constructor(opportunityId, log, providerRequestStartDateTime, headerRequestId = (0, uuid_1.generateUuid)()) {
1043
+ constructor(opportunityId, log, providerRequestStartDateTime, isSpeculative, headerRequestId = (0, uuid_1.generateUuid)()) {
1001
1044
  this.opportunityId = opportunityId;
1002
1045
  this.log = log;
1003
1046
  this.providerRequestStartDateTime = providerRequestStartDateTime;
1047
+ this.isSpeculative = isSpeculative;
1004
1048
  this.headerRequestId = headerRequestId;
1005
1049
  }
1006
1050
  }