@vscode/chat-lib 0.4.1-7 → 0.4.1-9
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 +3 -1
- package/dist/src/_internal/extension/inlineEdits/common/delay.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/delay.js +6 -0
- package/dist/src/_internal/extension/inlineEdits/common/delay.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.d.ts +6 -0
- package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.js +17 -0
- package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.js.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 +70 -34
- 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 +7 -1
- 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 +43 -6
- package/dist/src/_internal/extension/xtab/common/promptCrafting.js.map +1 -1
- package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.d.ts +7 -0
- package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.js +64 -18
- package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.js.map +1 -1
- package/dist/src/_internal/extension/xtab/common/tags.d.ts +1 -0
- package/dist/src/_internal/extension/xtab/common/tags.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/common/tags.js +1 -0
- package/dist/src/_internal/extension/xtab/common/tags.js.map +1 -1
- 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 +1 -0
- package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabProvider.js +60 -10
- package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
- package/dist/src/_internal/platform/authentication/common/copilotToken.d.ts +4 -0
- package/dist/src/_internal/platform/authentication/common/copilotToken.d.ts.map +1 -1
- package/dist/src/_internal/platform/authentication/common/copilotToken.js +6 -0
- package/dist/src/_internal/platform/authentication/common/copilotToken.js.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +7 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.js +7 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts +44 -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 +71 -2
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts +12 -1
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js +17 -1
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.d.ts.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.js +7 -9
- package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.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/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/package.json +49 -11
- package/package.json +1 -1
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
export declare class DelaySession {
|
|
2
2
|
private baseDebounceTime;
|
|
3
|
-
private
|
|
3
|
+
private expectedTotalTime;
|
|
4
4
|
private readonly providerInvocationTime;
|
|
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;
|
|
9
|
+
setExpectedTotalTime(expectedTotalTime: number): void;
|
|
8
10
|
getDebounceTime(): number;
|
|
9
11
|
getArtificialDelay(): number;
|
|
10
12
|
}
|
|
@@ -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,
|
|
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,iBAAiB;IACzB,OAAO,CAAC,QAAQ,CAAC,sBAAsB;IALxC,OAAO,CAAC,aAAa,CAAK;gBAGjB,gBAAgB,EAAE,MAAM,EACxB,iBAAiB,EAAE,MAAM,GAAG,SAAS,EAC5B,sBAAsB,GAAE,MAAmB;IAItD,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAI7C,mBAAmB,CAAC,gBAAgB,EAAE,MAAM,GAAG,IAAI;IAInD,oBAAoB,CAAC,iBAAiB,EAAE,MAAM,GAAG,IAAI;IAI5D,eAAe;IAaf,kBAAkB;CASlB"}
|
|
@@ -15,6 +15,12 @@ class DelaySession {
|
|
|
15
15
|
setExtraDebounce(extraDebounce) {
|
|
16
16
|
this.extraDebounce = extraDebounce;
|
|
17
17
|
}
|
|
18
|
+
setBaseDebounceTime(baseDebounceTime) {
|
|
19
|
+
this.baseDebounceTime = baseDebounceTime;
|
|
20
|
+
}
|
|
21
|
+
setExpectedTotalTime(expectedTotalTime) {
|
|
22
|
+
this.expectedTotalTime = expectedTotalTime;
|
|
23
|
+
}
|
|
18
24
|
getDebounceTime() {
|
|
19
25
|
const expectedDebounceTime = this.expectedTotalTime === undefined
|
|
20
26
|
? 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,
|
|
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,EACxB,iBAAqC,EAC5B,yBAAiC,IAAI,CAAC,GAAG,EAAE;QAFpD,qBAAgB,GAAhB,gBAAgB,CAAQ;QACxB,sBAAiB,GAAjB,iBAAiB,CAAoB;QAC5B,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;IAEM,oBAAoB,CAAC,iBAAyB;QACpD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;IAC5C,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;AA5CD,oCA4CC"}
|
|
@@ -53,10 +53,16 @@ export declare class UserInteractionMonitor {
|
|
|
53
53
|
protected _recentUserActionsForTiming: (NESUserAction & {
|
|
54
54
|
kind: ActionKind.Accepted | ActionKind.Rejected;
|
|
55
55
|
})[];
|
|
56
|
+
private _lastActionWasAcceptance;
|
|
56
57
|
constructor(_configurationService: IConfigurationService, _experimentationService: IExperimentationService, _logService: ILogService, _telemetryService: ITelemetryService);
|
|
57
58
|
handleAcceptance(): void;
|
|
58
59
|
handleRejection(): void;
|
|
59
60
|
handleIgnored(): void;
|
|
61
|
+
/**
|
|
62
|
+
* Returns true if the last recorded user action was an acceptance.
|
|
63
|
+
* Used to skip aggressiveness min-response-time delay after accepts.
|
|
64
|
+
*/
|
|
65
|
+
get wasLastActionAcceptance(): boolean;
|
|
60
66
|
private _recordUserAction;
|
|
61
67
|
createDelaySession(requestTime: number | undefined): DelaySession;
|
|
62
68
|
private _getExpectedTotalTime;
|
|
@@ -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;IAiBV,OAAO,CAAC,QAAQ,CAAC,qBAAqB;IACpC,OAAO,CAAC,QAAQ,CAAC,uBAAuB;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAlBtD;;;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;IAEpH,OAAO,CAAC,wBAAwB,CAAS;gBAGA,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;;;OAGG;IACH,IAAI,uBAAuB,IAAI,OAAO,CAErC;IAED,OAAO,CAAC,iBAAiB;IAkBlB,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"}
|
|
@@ -145,6 +145,7 @@ let UserInteractionMonitor = class UserInteractionMonitor {
|
|
|
145
145
|
* Only includes accepted and rejected actions (ignored actions don't affect timing).
|
|
146
146
|
*/
|
|
147
147
|
this._recentUserActionsForTiming = [];
|
|
148
|
+
this._lastActionWasAcceptance = false;
|
|
148
149
|
}
|
|
149
150
|
// Capture user interactions
|
|
150
151
|
handleAcceptance() {
|
|
@@ -156,8 +157,16 @@ let UserInteractionMonitor = class UserInteractionMonitor {
|
|
|
156
157
|
handleIgnored() {
|
|
157
158
|
this._recordUserAction(ActionKind.Ignored);
|
|
158
159
|
}
|
|
160
|
+
/**
|
|
161
|
+
* Returns true if the last recorded user action was an acceptance.
|
|
162
|
+
* Used to skip aggressiveness min-response-time delay after accepts.
|
|
163
|
+
*/
|
|
164
|
+
get wasLastActionAcceptance() {
|
|
165
|
+
return this._lastActionWasAcceptance;
|
|
166
|
+
}
|
|
159
167
|
_recordUserAction(kind) {
|
|
160
168
|
const now = Date.now();
|
|
169
|
+
this._lastActionWasAcceptance = kind === ActionKind.Accepted;
|
|
161
170
|
// Always record for aggressiveness calculation
|
|
162
171
|
this._recentUserActionsForAggressiveness.push({ time: now, kind });
|
|
163
172
|
this._recentUserActionsForAggressiveness = this._recentUserActionsForAggressiveness.slice(-exports.MAX_INTERACTIONS_STORED);
|
|
@@ -205,10 +214,18 @@ let UserInteractionMonitor = class UserInteractionMonitor {
|
|
|
205
214
|
* The score is returned to avoid race conditions when logging telemetry.
|
|
206
215
|
*/
|
|
207
216
|
getAggressivenessLevel() {
|
|
217
|
+
// User-facing setting takes priority when explicitly set to a non-default value
|
|
218
|
+
const userAggressiveness = this._configurationService.getExperimentBasedConfig(configurationService_1.ConfigKey.Advanced.InlineEditsAggressiveness, this._experimentationService);
|
|
219
|
+
const userLevel = xtabPromptOptions_1.AggressivenessSetting.toLevel(userAggressiveness);
|
|
220
|
+
if (userLevel !== undefined) {
|
|
221
|
+
return { aggressivenessLevel: userLevel, userHappinessScore: undefined };
|
|
222
|
+
}
|
|
223
|
+
// Team-internal experiment-based override
|
|
208
224
|
const configuredAggressivenessLevel = this._configurationService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsXtabAggressivenessLevel, this._experimentationService);
|
|
209
225
|
if (configuredAggressivenessLevel !== undefined) {
|
|
210
226
|
return { aggressivenessLevel: configuredAggressivenessLevel, userHappinessScore: undefined };
|
|
211
227
|
}
|
|
228
|
+
// Default or unrecognized: fall through to happiness-score-based logic
|
|
212
229
|
let level;
|
|
213
230
|
const config = this._getUserHappinessScoreConfiguration();
|
|
214
231
|
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":"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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
|
}
|
|
@@ -222,7 +223,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
222
223
|
const providerRequestStartDateTime = (this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsDebounceUseCoreRequestTime, this._expService)
|
|
223
224
|
? (context.requestIssuedDateTime ?? undefined)
|
|
224
225
|
: undefined);
|
|
225
|
-
req = new NextEditFetchRequest(context.requestUuid, logContext, providerRequestStartDateTime);
|
|
226
|
+
req = new NextEditFetchRequest(context.requestUuid, logContext, providerRequestStartDateTime, false);
|
|
226
227
|
telemetryBuilder.setHeaderRequestId(req.headerRequestId);
|
|
227
228
|
const startVersion = doc.value.get();
|
|
228
229
|
logger.trace('awaiting firstEdit promise');
|
|
@@ -271,7 +272,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
271
272
|
}
|
|
272
273
|
else {
|
|
273
274
|
telemetryBuilder.setStatus('emptyEditsButHasNextCursorPosition');
|
|
274
|
-
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 });
|
|
275
276
|
}
|
|
276
277
|
}
|
|
277
278
|
const emptyResult = new nextEditResult_1.NextEditResult(logContext.requestId, req, undefined);
|
|
@@ -294,7 +295,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
294
295
|
logContext.setResult(rootedLineEdit_1.RootedLineEdit.fromEdit(new edit_1.RootedEdit(documentAtInvocationTime, new stringEdit_1.StringEdit([edit.actualEdit]))));
|
|
295
296
|
(0, assert_1.assert)(currentDocument !== undefined, 'should be defined if edit is defined');
|
|
296
297
|
telemetryBuilder.setStatus('notAccepted'); // Acceptance pending.
|
|
297
|
-
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 });
|
|
298
299
|
telemetryBuilder.setHasNextEdit(true);
|
|
299
300
|
const delay = this.computeMinimumResponseDelay({ triggerTime, isRebasedCachedEdit, isSubsequentCachedEdit, isFromSpeculativeRequest, enforceCacheDelay: context.enforceCacheDelay }, logger);
|
|
300
301
|
if (delay > 0) {
|
|
@@ -473,7 +474,8 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
473
474
|
const nLinesEditWindow = (shouldExpandEditWindow
|
|
474
475
|
? this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsAutoExpandEditWindowLines, this._expService)
|
|
475
476
|
: undefined);
|
|
476
|
-
const nextEditRequest = new statelessNextEditProvider_1.StatelessNextEditRequest(req.headerRequestId, req.opportunityId, doc.value.get(), projectedDocuments.map(d => d.nextEditDoc), activeDocAndIdx.idx, xtabEditHistory, firstEdit, nLinesEditWindow,
|
|
477
|
+
const nextEditRequest = new statelessNextEditProvider_1.StatelessNextEditRequest(req.headerRequestId, req.opportunityId, doc.value.get(), projectedDocuments.map(d => d.nextEditDoc), activeDocAndIdx.idx, xtabEditHistory, firstEdit, nLinesEditWindow, false, // isSpeculative
|
|
478
|
+
logContext, req.log.recordingBookmark, recording, req.providerRequestStartDateTime);
|
|
477
479
|
let nextEditResult;
|
|
478
480
|
if (this._pendingStatelessNextEditRequest) {
|
|
479
481
|
this._pendingStatelessNextEditRequest.cancellationTokenSource.cancel();
|
|
@@ -731,12 +733,14 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
731
733
|
}
|
|
732
734
|
// Compute the post-edit document content
|
|
733
735
|
const postEditContent = result.edit.replace(result.documentBeforeEdits.value);
|
|
734
|
-
const
|
|
735
|
-
const
|
|
736
|
+
const preciseEdit = result.edit.removeCommonSuffixPrefix(result.documentBeforeEdits.value);
|
|
737
|
+
const postEditCursorOffset = preciseEdit.replaceRange.start + preciseEdit.newText.length;
|
|
738
|
+
const postEditCursorOffsetRange = new offsetRange_1.OffsetRange(postEditCursorOffset, postEditCursorOffset);
|
|
739
|
+
const selections = [postEditCursorOffsetRange];
|
|
736
740
|
const rootedEdit = new edit_1.RootedEdit(result.documentBeforeEdits, new stringEdit_1.StringEdit([result.edit]));
|
|
737
741
|
const postEditContentST = new abstractText_1.StringText(postEditContent);
|
|
738
742
|
let cachedEdit = this._nextEditCache.lookupNextEdit(docId, postEditContentST, selections);
|
|
739
|
-
let shiftedSelection;
|
|
743
|
+
let shiftedSelection = postEditCursorOffsetRange;
|
|
740
744
|
if (cachedEdit) {
|
|
741
745
|
// first cachedEdit should be without edits because of noSuggestions caching
|
|
742
746
|
if (cachedEdit.edit) {
|
|
@@ -744,17 +748,22 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
744
748
|
return;
|
|
745
749
|
}
|
|
746
750
|
else if (cachedEdit.editWindow) {
|
|
747
|
-
|
|
748
|
-
const
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
754
|
-
|
|
755
|
-
|
|
756
|
-
|
|
757
|
-
|
|
751
|
+
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');
|
|
752
|
+
const cursorPlacement = this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsSpeculativeRequestsCursorPlacement, this._expService);
|
|
753
|
+
if (cursorPlacement === xtabPromptOptions_1.SpeculativeRequestsCursorPlacement.AfterEditWindow) {
|
|
754
|
+
logger.trace('cursor placement config is AfterEditWindow, shifting selection to after edit window');
|
|
755
|
+
shiftedSelection = NextEditProvider_1.shiftSelectionAfterEditWindow(postEditContentST, cachedEdit.editWindow);
|
|
756
|
+
cachedEdit = this._nextEditCache.lookupNextEdit(docId, postEditContentST, [shiftedSelection]);
|
|
757
|
+
if (cachedEdit?.edit) {
|
|
758
|
+
logger.trace('already have cached edit for post-edit state (after shifting selection)');
|
|
759
|
+
return;
|
|
760
|
+
}
|
|
761
|
+
else {
|
|
762
|
+
logger.trace('no cached edit even after shifting selection');
|
|
763
|
+
}
|
|
764
|
+
}
|
|
765
|
+
else {
|
|
766
|
+
logger.trace(`cursor placement config is ${cursorPlacement}, not shifting selection`);
|
|
758
767
|
}
|
|
759
768
|
}
|
|
760
769
|
else {
|
|
@@ -790,10 +799,13 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
790
799
|
// Create a speculative request
|
|
791
800
|
// Use a dummy version since this is speculative and we don't have the actual post-edit version
|
|
792
801
|
const logContext = new inlineEditLogContext_1.InlineEditRequestLogContext(docId.uri, 0, undefined);
|
|
793
|
-
const req = new NextEditFetchRequest(`sp-${suggestion.source.opportunityId}`, logContext, undefined, `sp-${(0, uuid_1.generateUuid)()}`);
|
|
802
|
+
const req = new NextEditFetchRequest(`sp-${suggestion.source.opportunityId}`, logContext, undefined, true, `sp-${(0, uuid_1.generateUuid)()}`);
|
|
794
803
|
logger.trace(`triggering speculative request for post-edit state (opportunityId=${req.opportunityId}, headerRequestId=${req.headerRequestId})`);
|
|
795
804
|
try {
|
|
796
|
-
const speculativeRequest = await this._createSpeculativeRequest(req, doc, shiftedSelection, historyContext, postEditContent, rootedEdit, result.edit,
|
|
805
|
+
const speculativeRequest = await this._createSpeculativeRequest(req, doc, shiftedSelection, historyContext, postEditContent, rootedEdit, result.edit, {
|
|
806
|
+
triggeredBySpeculativeRequest: suggestion.source.isSpeculative,
|
|
807
|
+
isSubsequentEdit: suggestion.result?.isSubsequentEdit ?? false,
|
|
808
|
+
}, logger);
|
|
797
809
|
if (speculativeRequest) {
|
|
798
810
|
this._speculativePendingRequest = {
|
|
799
811
|
request: speculativeRequest,
|
|
@@ -811,7 +823,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
811
823
|
* The request will populate the cache so that when the user accepts the suggestion,
|
|
812
824
|
* the next NES request can reuse or find the result in cache.
|
|
813
825
|
*/
|
|
814
|
-
async _createSpeculativeRequest(req, doc, shiftedSelection, historyContext, postEditContent, rootedEdit, appliedEdit, parentLogger) {
|
|
826
|
+
async _createSpeculativeRequest(req, doc, shiftedSelection, historyContext, postEditContent, rootedEdit, appliedEdit, { triggeredBySpeculativeRequest, isSubsequentEdit }, parentLogger) {
|
|
815
827
|
const logger = parentLogger.createSubLogger('_createSpeculativeRequest');
|
|
816
828
|
const curDocId = doc.id;
|
|
817
829
|
const recording = this._debugRecorder?.getRecentLog();
|
|
@@ -834,18 +846,11 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
834
846
|
const workspaceRoot = this._workspace.getWorkspaceRoot(curDocId);
|
|
835
847
|
const postEditEdit = new stringEdit_1.StringEdit([appliedEdit]);
|
|
836
848
|
const postEditLineEdit = rootedLineEdit_1.RootedLineEdit.fromEdit(new edit_1.RootedEdit(doc.value.get(), postEditEdit)).removeCommonSuffixPrefixLines().edit;
|
|
837
|
-
let selection = shiftedSelection;
|
|
838
|
-
if (selection === undefined) {
|
|
839
|
-
const appliedEditEndPos = postEditText.getTransformer().getPosition(appliedEdit.replaceRange.endExclusive + appliedEdit.getLengthDelta());
|
|
840
|
-
const pos = new position_1.Position(appliedEditEndPos.lineNumber, 1);
|
|
841
|
-
const offset = postEditText.getTransformer().getOffset(pos);
|
|
842
|
-
selection = new offsetRange_1.OffsetRange(offset, offset);
|
|
843
|
-
}
|
|
844
849
|
const nextEditDoc = new statelessNextEditProvider_1.StatelessNextEditDocument(curDocId, workspaceRoot, docHist.languageId, doc.value.get().getLines(), // lines before the NES edit
|
|
845
850
|
postEditLineEdit, // the NES edit as LineEdit
|
|
846
851
|
doc.value.get(), // document before NES edit
|
|
847
852
|
edit_1.Edits.single(postEditEdit), // the NES edit as Edits
|
|
848
|
-
|
|
853
|
+
shiftedSelection);
|
|
849
854
|
return {
|
|
850
855
|
recentEdit: new edit_1.RootedEdit(doc.value.get(), postEditEdit),
|
|
851
856
|
nextEditDoc,
|
|
@@ -857,9 +862,29 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
857
862
|
const suggestedEdit = { kind: 'edit', docId: curDocId, edit: rootedEdit };
|
|
858
863
|
xtabEditHistory.push(suggestedEdit);
|
|
859
864
|
const firstEdit = new async_1.DeferredPromise();
|
|
860
|
-
|
|
865
|
+
// FIXME@ulugbekna: implement advanced expansion
|
|
866
|
+
const autoExpandEditWindowLinesSetting = this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsSpeculativeRequestsAutoExpandEditWindowLines, this._expService);
|
|
867
|
+
let nLinesEditWindow;
|
|
868
|
+
switch (autoExpandEditWindowLinesSetting) {
|
|
869
|
+
case xtabPromptOptions_1.SpeculativeRequestsAutoExpandEditWindowLines.Off:
|
|
870
|
+
nLinesEditWindow = undefined;
|
|
871
|
+
break;
|
|
872
|
+
case xtabPromptOptions_1.SpeculativeRequestsAutoExpandEditWindowLines.Always:
|
|
873
|
+
nLinesEditWindow = this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsAutoExpandEditWindowLines, this._expService);
|
|
874
|
+
break;
|
|
875
|
+
case xtabPromptOptions_1.SpeculativeRequestsAutoExpandEditWindowLines.Smart: {
|
|
876
|
+
const isModelOnRightTrack = triggeredBySpeculativeRequest || isSubsequentEdit;
|
|
877
|
+
nLinesEditWindow = (isModelOnRightTrack
|
|
878
|
+
? this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsAutoExpandEditWindowLines, this._expService)
|
|
879
|
+
: undefined);
|
|
880
|
+
break;
|
|
881
|
+
}
|
|
882
|
+
default:
|
|
883
|
+
(0, assert_1.assertNever)(autoExpandEditWindowLinesSetting);
|
|
884
|
+
}
|
|
861
885
|
const nextEditRequest = new statelessNextEditProvider_1.StatelessNextEditRequest(req.headerRequestId, req.opportunityId, postEditText, // documentBeforeEdits is the post-edit state
|
|
862
|
-
projectedDocuments.map(d => d.nextEditDoc), activeDocAndIdx.idx, xtabEditHistory, firstEdit, nLinesEditWindow,
|
|
886
|
+
projectedDocuments.map(d => d.nextEditDoc), activeDocAndIdx.idx, xtabEditHistory, firstEdit, nLinesEditWindow, true, // isSpeculative
|
|
887
|
+
logContext, undefined, // recordingBookmark
|
|
863
888
|
recording, undefined);
|
|
864
889
|
logger.trace('starting speculative provider call');
|
|
865
890
|
// Start the provider call - this runs in the background and populates the cache
|
|
@@ -939,6 +964,16 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
939
964
|
logger.trace(`speculative provider call error: ${errors_1.ErrorUtils.toString(e)}`);
|
|
940
965
|
}
|
|
941
966
|
}
|
|
967
|
+
static shiftSelectionAfterEditWindow(postEditContentST, editWindowOffsetRange) {
|
|
968
|
+
const trans = postEditContentST.getTransformer();
|
|
969
|
+
const endOfEditWindow = trans.getPosition(editWindowOffsetRange.endExclusive - 1);
|
|
970
|
+
const shiftedCursorLineNumber = (endOfEditWindow.lineNumber + 1 < postEditContentST.lineRange.endLineNumberExclusive
|
|
971
|
+
? endOfEditWindow.lineNumber + 1
|
|
972
|
+
: endOfEditWindow.lineNumber);
|
|
973
|
+
const shiftedSelectionCursorOffset = trans.getOffset(new position_1.Position(shiftedCursorLineNumber, 1));
|
|
974
|
+
const shiftedSelection = new offsetRange_1.OffsetRange(shiftedSelectionCursorOffset, shiftedSelectionCursorOffset);
|
|
975
|
+
return shiftedSelection;
|
|
976
|
+
}
|
|
942
977
|
handleAcceptance(docId, suggestion) {
|
|
943
978
|
this.runSnippy(docId, suggestion);
|
|
944
979
|
this._statelessNextEditProvider.handleAcceptance?.();
|
|
@@ -993,7 +1028,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
993
1028
|
}
|
|
994
1029
|
};
|
|
995
1030
|
exports.NextEditProvider = NextEditProvider;
|
|
996
|
-
exports.NextEditProvider = NextEditProvider = __decorate([
|
|
1031
|
+
exports.NextEditProvider = NextEditProvider = NextEditProvider_1 = __decorate([
|
|
997
1032
|
__param(5, configurationService_1.IConfigurationService),
|
|
998
1033
|
__param(6, snippyService_1.ISnippyService),
|
|
999
1034
|
__param(7, logService_1.ILogService),
|
|
@@ -1007,10 +1042,11 @@ function assertDefined(value) {
|
|
|
1007
1042
|
return value;
|
|
1008
1043
|
}
|
|
1009
1044
|
class NextEditFetchRequest {
|
|
1010
|
-
constructor(opportunityId, log, providerRequestStartDateTime, headerRequestId = (0, uuid_1.generateUuid)()) {
|
|
1045
|
+
constructor(opportunityId, log, providerRequestStartDateTime, isSpeculative, headerRequestId = (0, uuid_1.generateUuid)()) {
|
|
1011
1046
|
this.opportunityId = opportunityId;
|
|
1012
1047
|
this.log = log;
|
|
1013
1048
|
this.providerRequestStartDateTime = providerRequestStartDateTime;
|
|
1049
|
+
this.isSpeculative = isSpeculative;
|
|
1014
1050
|
this.headerRequestId = headerRequestId;
|
|
1015
1051
|
}
|
|
1016
1052
|
}
|