@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.
- package/dist/src/_internal/extension/inlineEdits/common/delay.d.ts +1 -0
- package/dist/src/_internal/extension/inlineEdits/common/delay.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/delay.js +3 -0
- package/dist/src/_internal/extension/inlineEdits/common/delay.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.js +8 -0
- package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts +1 -0
- package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts +3 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js +79 -35
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js +11 -3
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.d.ts +2 -0
- package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.js.map +1 -1
- package/dist/src/_internal/extension/xtab/common/diffHistoryForPrompt.d.ts +6 -1
- package/dist/src/_internal/extension/xtab/common/diffHistoryForPrompt.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/common/diffHistoryForPrompt.js +3 -1
- package/dist/src/_internal/extension/xtab/common/diffHistoryForPrompt.js.map +1 -1
- package/dist/src/_internal/extension/xtab/common/lintErrors.js +2 -1
- package/dist/src/_internal/extension/xtab/common/lintErrors.js.map +1 -1
- package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts +6 -1
- package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/common/promptCrafting.js +2 -2
- package/dist/src/_internal/extension/xtab/common/promptCrafting.js.map +1 -1
- package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.d.ts +22 -0
- package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.js +116 -17
- package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.js.map +1 -1
- package/dist/src/_internal/extension/xtab/common/similarFilesContextService.d.ts +10 -0
- package/dist/src/_internal/extension/xtab/common/similarFilesContextService.d.ts.map +1 -0
- package/dist/src/_internal/extension/xtab/common/similarFilesContextService.js +10 -0
- package/dist/src/_internal/extension/xtab/common/similarFilesContextService.js.map +1 -0
- package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.js +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.js.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts +4 -1
- package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabProvider.js +34 -3
- package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +8 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.js +7 -0
- package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts +34 -0
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js +46 -1
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts +13 -0
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js +20 -0
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js.map +1 -1
- package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.d.ts +1 -0
- package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.d.ts.map +1 -1
- package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.js +3 -0
- package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.js.map +1 -1
- package/dist/src/_internal/platform/requestLogger/node/requestLogger.d.ts +2 -0
- package/dist/src/_internal/platform/requestLogger/node/requestLogger.d.ts.map +1 -1
- package/dist/src/_internal/platform/requestLogger/node/requestLogger.js.map +1 -1
- package/dist/src/_internal/platform/telemetry/common/telemetry.d.ts +9 -1
- package/dist/src/_internal/platform/telemetry/common/telemetry.d.ts.map +1 -1
- package/dist/src/_internal/platform/telemetry/common/telemetry.js +33 -15
- package/dist/src/_internal/platform/telemetry/common/telemetry.js.map +1 -1
- package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.d.ts +1 -1
- package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.d.ts.map +1 -1
- package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.js +3 -2
- package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.js.map +1 -1
- package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts +11 -0
- package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts.map +1 -1
- package/dist/src/_internal/util/common/test/shims/chatTypes.js +15 -2
- package/dist/src/_internal/util/common/test/shims/chatTypes.js.map +1 -1
- package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js +1 -1
- package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js.map +1 -1
- package/dist/src/main.d.ts.map +1 -1
- package/dist/src/main.js +7 -0
- package/dist/src/main.js.map +1 -1
- package/dist/src/package.json +58 -29
- 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;
|
|
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;
|
|
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,
|
|
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":";AAAA;;;gGAGgG;;;;;;;;;;;;AAiChG,8DA4CC;AAYD,sDA6DC;AApJD,sGAA+G;AAC/G,
|
|
1
|
+
{"version":3,"file":"userInteractionMonitor.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/common/userInteractionMonitor.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;;;;;;;;;;AAiChG,8DA4CC;AAYD,sDA6DC;AApJD,sGAA+G;AAC/G,wGAAuP;AACvP,wEAAsE;AACtE,8GAAwG;AACxG,4EAAiF;AACjF,wDAAyD;AACzD,mCAAuC;AAEvC,IAAY,UAIX;AAJD,WAAY,UAAU;IACrB,mCAAqB,CAAA;IACrB,mCAAqB,CAAA;IACrB,iCAAmB,CAAA;AACpB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAUY,QAAA,2BAA2B,GAAG,EAAE,CAAC;AACjC,QAAA,uBAAuB,GAAG,EAAE,CAAC;AAE1C;;;;;GAKG;AACH,SAAgB,yBAAyB,CACxC,OAAwB,EACxB,MAAuC;IAEvC,MAAM,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC;IAE5E,IAAI,CAAC,uBAAuB,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACpD,2DAA2D;QAC3D,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,mCAA2B,CAAC,CAAC;IACpD,CAAC;IAED,MAAM,MAAM,GAAoB,EAAE,CAAC;IACnC,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,YAAY,GAAG,CAAC,CAAC;IAErB,iCAAiC;IACjC,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,mCAA2B,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7F,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAE1B,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;YACxC,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,IAAI,uBAAuB,IAAI,kBAAkB,IAAI,YAAY,EAAE,CAAC;gBACnE,IAAI,GAAG,IAAI,CAAC;YACb,CAAC;YACD,IAAI,iBAAiB,IAAI,YAAY,IAAI,YAAY,EAAE,CAAC;gBACvD,IAAI,GAAG,IAAI,CAAC;YACb,CAAC;YAED,IAAI,IAAI,EAAE,CAAC;gBACV,SAAS;YACV,CAAC;YAED,kBAAkB,EAAE,CAAC;YACrB,YAAY,EAAE,CAAC;QAChB,CAAC;aAAM,CAAC;YACP,kBAAkB,GAAG,CAAC,CAAC,CAAC,2CAA2C;QACpE,CAAC;QAED,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACrB,CAAC;IAED,qCAAqC;IACrC,MAAM,CAAC,OAAO,EAAE,CAAC;IACjB,OAAO,MAAM,CAAC;AACf,CAAC;AAED;;;;;;;;;GASG;AACH,SAAgB,qBAAqB,CACpC,OAAwB,EACxB,MAAuC;IAEvC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,GAAG,CAAC,CAAC,6BAA6B;IAC1C,CAAC;IAED,8CAA8C;IAC9C,MAAM,MAAM,GAAG,yBAAyB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAE1D,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,CAAC,CAAC,6CAA6C;IAC1D,CAAC;IAED,2BAA2B;IAC3B,IAAI,aAAa,GAAG,CAAC,CAAC,CAAC,oCAAoC;IAC3D,IAAI,WAAW,GAAG,CAAC,CAAC,CAAC,yBAAyB;IAC9C,IAAI,iBAAiB,GAAG,CAAC,CAAC,CAAC,6CAA6C;IAExE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;QAEzB,4DAA4D;QAC5D,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;YAClE,SAAS;QACV,CAAC;QAED,iBAAiB,EAAE,CAAC;QAEpB,mEAAmE;QACnE,0EAA0E;QAC1E,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;QAErB,oDAAoD;QACpD,IAAI,KAAa,CAAC;QAClB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,UAAU,CAAC,QAAQ;gBACvB,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC;gBAC7B,MAAM;YACP,KAAK,UAAU,CAAC,QAAQ;gBACvB,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC;gBAC7B,MAAM;YACP,KAAK,UAAU,CAAC,OAAO;gBACtB,KAAK,GAAG,MAAM,CAAC,YAAY,CAAC;gBAC5B,MAAM;QACR,CAAC;QAED,8DAA8D;QAC9D,MAAM,UAAU,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;QAElG,aAAa,IAAI,UAAU,GAAG,MAAM,CAAC;QACrC,WAAW,IAAI,MAAM,CAAC;IACvB,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,GAAG,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC;IAErE,oEAAoE;IACpE,iDAAiD;IACjD,MAAM,cAAc,GAAG,iBAAiB,GAAG,mCAA2B,CAAC;IACvE,OAAO,GAAG,GAAG,CAAC,QAAQ,GAAG,GAAG,CAAC,GAAG,cAAc,CAAC;AAChD,CAAC;AAEM,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IAclC,YACwB,qBAA6D,EAC3D,uBAAiE,EAC7E,WAAyC,EACnC,iBAAqD;QAHhC,0BAAqB,GAArB,qBAAqB,CAAuB;QAC1C,4BAAuB,GAAvB,uBAAuB,CAAyB;QAC5D,gBAAW,GAAX,WAAW,CAAa;QAClB,sBAAiB,GAAjB,iBAAiB,CAAmB;QAhBzE;;;WAGG;QACO,wCAAmC,GAAoB,EAAE,CAAC;QAEpE;;;WAGG;QACO,gCAA2B,GAA4E,EAAE,CAAC;IAOhH,CAAC;IAEL,4BAA4B;IAErB,gBAAgB;QACtB,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAEM,eAAe;QACrB,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAEM,aAAa;QACnB,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC5C,CAAC;IAEO,iBAAiB,CAAC,IAAgB;QACzC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,+CAA+C;QAC/C,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;QACnE,IAAI,CAAC,mCAAmC,GAAG,IAAI,CAAC,mCAAmC,CAAC,KAAK,CAAC,CAAC,+BAAuB,CAAC,CAAC;QAEpH,qDAAqD;QACrD,IAAI,IAAI,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;YAC3D,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,2BAA2B,CAAC,KAAK,CAAC,CAAC,mCAA2B,CAAC,CAAC;QACzG,CAAC;IACF,CAAC;IAED,2DAA2D;IAEpD,kBAAkB,CAAC,WAA+B;QACxD,MAAM,gBAAgB,GAAG,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,gCAAS,CAAC,YAAY,CAAC,mBAAmB,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAEvJ,MAAM,sBAAsB,GAAG,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,gCAAS,CAAC,YAAY,CAAC,iCAAiC,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC3K,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE5G,OAAO,IAAI,oBAAY,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,WAAW,CAAC,CAAC;IAC3E,CAAC;IAEO,qBAAqB,CAAC,gBAAwB;QACrD,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,aAAa;QAC5D,MAAM,iBAAiB,GAAG,IAAI,CAAC,CAAC,YAAY;QAC5C,MAAM,iBAAiB,GAAG,EAAE,CAAC,CAAC,QAAQ;QACtC,MAAM,gBAAgB,GAAG,GAAG,CAAC;QAC7B,MAAM,iBAAiB,GAAG,GAAG,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,IAAI,UAAU,GAAG,CAAC,CAAC;QAEnB,kDAAkD;QAClD,iEAAiE;QACjE,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,2BAA2B,EAAE,CAAC;YACvD,MAAM,eAAe,GAAG,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC;YAC1C,IAAI,eAAe,GAAG,sBAAsB,EAAE,CAAC;gBAC9C,SAAS;YACV,CAAC;YAED,qDAAqD;YACrD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,eAAe,GAAG,sBAAsB,CAAC,CAAC;YACxE,MAAM,YAAY,GAAG,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC;YAChG,UAAU,IAAI,CAAC,GAAG,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,CAAC;QACtD,CAAC;QAED,IAAI,YAAY,GAAG,gBAAgB,GAAG,UAAU,CAAC;QAEjD,+CAA+C;QAC/C,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAC,CAAC;QAEtF,OAAO,YAAY,CAAC;IACrB,CAAC;IAED,4DAA4D;IAE5D;;;OAGG;IACI,sBAAsB;QAC5B,gFAAgF;QAChF,MAAM,kBAAkB,GAAG,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,gCAAS,CAAC,QAAQ,CAAC,yBAAyB,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAC3J,MAAM,SAAS,GAAG,yCAAqB,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QACpE,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC;QAC1E,CAAC;QAED,0CAA0C;QAC1C,MAAM,6BAA6B,GAAG,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,gCAAS,CAAC,YAAY,CAAC,kCAAkC,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAEnL,IAAI,6BAA6B,KAAK,SAAS,EAAE,CAAC;YACjD,OAAO,EAAE,mBAAmB,EAAE,6BAA6B,EAAE,kBAAkB,EAAE,SAAS,EAAE,CAAC;QAC9F,CAAC;QAED,uEAAuE;QACvE,IAAI,KAA0B,CAAC;QAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,mCAAmC,EAAE,CAAC;QAC1D,MAAM,kBAAkB,GAAG,IAAI,CAAC,sBAAsB,CAAC,MAAM,CAAC,CAAC;QAC/D,IAAI,kBAAkB,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;YAChD,KAAK,GAAG,uCAAmB,CAAC,IAAI,CAAC;QAClC,CAAC;aAAM,IAAI,kBAAkB,IAAI,MAAM,CAAC,eAAe,EAAE,CAAC;YACzD,KAAK,GAAG,uCAAmB,CAAC,MAAM,CAAC;QACpC,CAAC;aAAM,CAAC;YACP,KAAK,GAAG,uCAAmB,CAAC,GAAG,CAAC;QACjC,CAAC;QACD,OAAO,EAAE,mBAAmB,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;IAC3D,CAAC;IAES,mCAAmC;QAC5C,MAAM,SAAS,GAAG,gCAAS,CAAC,YAAY,CAAC,gDAAgD,CAAC;QAC1F,MAAM,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,wBAAwB,CAAC,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;QAClH,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,8DAA0C,CAAC;QACnD,CAAC;QAED,IAAI,CAAC;YACJ,OAAO,IAAA,8DAA0C,EAAC,YAAY,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACV,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,0EAA0E,CAAC,CAAC;YACtG,yHAAyH;YACzH;;;;;;;;cAQE;YACF,IAAI,CAAC,iBAAiB,CAAC,sBAAsB,CAAC,0CAA0C,EAAE,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,EAAE,YAAY,EAAE,mBAAU,CAAC,QAAQ,CAAC,mBAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC;YACjN,OAAO,8DAA0C,CAAC;QACnD,CAAC;IACF,CAAC;IAEO,sBAAsB,CAAC,MAAuC;QACrE,OAAO,qBAAqB,CAAC,IAAI,CAAC,mCAAmC,EAAE,MAAM,CAAC,CAAC;IAChF,CAAC;CACD,CAAA;AA5JY,wDAAsB;iCAAtB,sBAAsB;IAehC,WAAA,4CAAqB,CAAA;IACrB,WAAA,oDAAuB,CAAA;IACvB,WAAA,wBAAW,CAAA;IACX,WAAA,6BAAiB,CAAA;GAlBP,sBAAsB,CA4JlC"}
|
|
@@ -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":"AAKA,OAAO,EAAa,qBAAqB,EAAE,MAAM,6DAA6D,CAAC;AAC/G,OAAO,EAAE,UAAU,EAAE,MAAM,2DAA2D,CAAC;AACvF,OAAO,EAAuB,mBAAmB,EAAE,MAAM,0DAA0D,CAAC;AAEpH,OAAO,EAAW,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,uBAAuB,EAAE,MAAM,+DAA+D,CAAC;AAExG,OAAO,EAAE,UAAU,EAAgB,MAAM,wCAAwC,CAAC;AAElF,OAAO,EAAE,0BAA0B,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,sDAAsD,CAAC;AACjI,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AACrF,OAAO,EAAE,UAAU,EAAE,MAAM,uDAAuD,CAAC;AACnF,OAAO,EAAwB,iBAAiB,EAAa,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,WAAW,cAAc;IAC9B,gBAAgB,EAAE,OAAO,CAAC;IAC1B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,WAAW,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,UAAU,CAAC;IAClB,kBAAkB,EAAE,UAAU,CAAC;IAC/B,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB;;;OAGG;IACH,kBAAkB,CAAC,EAAE,WAAW,CAAC;IACjC,IAAI,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACpC,gBAAgB,EAAE,OAAO,CAAC;IAC1B,KAAK,CAAC,EAAE,iBAAiB,EAAE,CAAC;IAC5B,aAAa,EAAE,0BAA0B,CAAC,iBAAiB,CAAC,EAAE,EAAE,CAAC;IACjE,aAAa,CAAC,EAAE,UAAU,CAAC;IAC3B,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,oBAAoB,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,MAAM,mBAAmB,GAAG,UAAU,GAAG;IAAE,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
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
|
|
725
|
-
const
|
|
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
|
-
|
|
738
|
-
const
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
}
|