@vscode/chat-lib 0.4.1-5 → 0.4.1-7
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/completions-core/vscode-node/lib/src/ghostText/completionsFromNetwork.js +1 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsFromNetwork.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/editRebase.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/editRebase.js +2 -35
- package/dist/src/_internal/extension/inlineEdits/common/editRebase.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.js +2 -35
- 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 +9 -0
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js +77 -61
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.d.ts +7 -0
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js +12 -3
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js.map +1 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts +3 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts.map +1 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js +29 -48
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js.map +1 -1
- package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.d.ts +15 -0
- package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.js +56 -3
- 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/xtabCustomDiffPatchResponseHandler.js +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabCustomDiffPatchResponseHandler.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 +3 -1
- package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabProvider.js +15 -10
- package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +11 -6
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.js +12 -7
- package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts +1 -0
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js +13 -3
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/triggerOptions.d.ts +8 -0
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/triggerOptions.d.ts.map +1 -0
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/triggerOptions.js +17 -0
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/triggerOptions.js.map +1 -0
- package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.js +5 -5
- package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts +3 -0
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js +5 -0
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.js +2 -35
- package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.js.map +1 -1
- package/dist/src/_internal/platform/nesFetch/common/responseStream.js +2 -35
- package/dist/src/_internal/platform/nesFetch/common/responseStream.js.map +1 -1
- package/dist/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.js +3 -36
- package/dist/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.js.map +1 -1
- package/dist/src/_internal/platform/networking/common/fetcherService.d.ts +43 -1
- package/dist/src/_internal/platform/networking/common/fetcherService.d.ts.map +1 -1
- package/dist/src/_internal/platform/networking/common/fetcherService.js +29 -4
- package/dist/src/_internal/platform/networking/common/fetcherService.js.map +1 -1
- package/dist/src/_internal/platform/networking/common/networking.d.ts +35 -4
- package/dist/src/_internal/platform/networking/common/networking.d.ts.map +1 -1
- package/dist/src/_internal/platform/networking/common/networking.js +21 -6
- package/dist/src/_internal/platform/networking/common/networking.js.map +1 -1
- package/dist/src/_internal/platform/proxyModels/node/proxyModelsService.js +4 -37
- package/dist/src/_internal/platform/proxyModels/node/proxyModelsService.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/errors.d.ts +4 -2
- package/dist/src/_internal/util/common/errors.d.ts.map +1 -1
- package/dist/src/_internal/util/common/errors.js +16 -12
- package/dist/src/_internal/util/common/errors.js.map +1 -1
- package/dist/src/_internal/util/common/result.js +4 -37
- package/dist/src/_internal/util/common/result.js.map +1 -1
- package/dist/src/main.d.ts.map +1 -1
- package/dist/src/main.js +8 -0
- package/dist/src/main.js.map +1 -1
- package/dist/src/package.json +110 -105
- package/package.json +1 -1
|
@@ -3,50 +3,17 @@
|
|
|
3
3
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
4
4
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
-
if (k2 === undefined) k2 = k;
|
|
8
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
-
}
|
|
12
|
-
Object.defineProperty(o, k2, desc);
|
|
13
|
-
}) : (function(o, m, k, k2) {
|
|
14
|
-
if (k2 === undefined) k2 = k;
|
|
15
|
-
o[k2] = m[k];
|
|
16
|
-
}));
|
|
17
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
-
}) : function(o, v) {
|
|
20
|
-
o["default"] = v;
|
|
21
|
-
});
|
|
22
6
|
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
23
7
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
24
8
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
25
9
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
26
10
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
27
11
|
};
|
|
28
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
29
|
-
var ownKeys = function(o) {
|
|
30
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
31
|
-
var ar = [];
|
|
32
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
33
|
-
return ar;
|
|
34
|
-
};
|
|
35
|
-
return ownKeys(o);
|
|
36
|
-
};
|
|
37
|
-
return function (mod) {
|
|
38
|
-
if (mod && mod.__esModule) return mod;
|
|
39
|
-
var result = {};
|
|
40
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
41
|
-
__setModuleDefault(result, mod);
|
|
42
|
-
return result;
|
|
43
|
-
};
|
|
44
|
-
})();
|
|
45
12
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
46
13
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
47
14
|
};
|
|
48
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
49
|
-
exports.NextEditFetchRequest = exports.NextEditProvider = void 0;
|
|
16
|
+
exports.NextEditFetchRequest = exports.NextEditProvider = exports.NesOutcome = void 0;
|
|
50
17
|
const path_1 = require("path");
|
|
51
18
|
const configurationService_1 = require("../../../platform/configuration/common/configurationService");
|
|
52
19
|
const edit_1 = require("../../../platform/inlineEdits/common/dataTypes/edit");
|
|
@@ -60,12 +27,12 @@ const capturingToken_1 = require("../../../platform/requestLogger/common/capturi
|
|
|
60
27
|
const requestLogger_1 = require("../../../platform/requestLogger/node/requestLogger");
|
|
61
28
|
const snippyService_1 = require("../../../platform/snippy/common/snippyService");
|
|
62
29
|
const nullExperimentationService_1 = require("../../../platform/telemetry/common/nullExperimentationService");
|
|
63
|
-
const
|
|
30
|
+
const errors_1 = require("../../../util/common/errors");
|
|
64
31
|
const result_1 = require("../../../util/common/result");
|
|
65
32
|
const assert_1 = require("../../../util/vs/base/common/assert");
|
|
66
33
|
const async_1 = require("../../../util/vs/base/common/async");
|
|
67
34
|
const cache_1 = require("../../../util/vs/base/common/cache");
|
|
68
|
-
const
|
|
35
|
+
const errors_2 = require("../../../util/vs/base/common/errors");
|
|
69
36
|
const lifecycle_1 = require("../../../util/vs/base/common/lifecycle");
|
|
70
37
|
const observable_2 = require("../../../util/vs/base/common/observable");
|
|
71
38
|
const stopwatch_1 = require("../../../util/vs/base/common/stopwatch");
|
|
@@ -107,6 +74,12 @@ function convertLineEditToEdit(nextLineEdit, projectedDocuments, docId) {
|
|
|
107
74
|
const suggestedEdit = rootedLineEdit.toEdit();
|
|
108
75
|
return suggestedEdit;
|
|
109
76
|
}
|
|
77
|
+
var NesOutcome;
|
|
78
|
+
(function (NesOutcome) {
|
|
79
|
+
NesOutcome["Accepted"] = "accepted";
|
|
80
|
+
NesOutcome["Rejected"] = "rejected";
|
|
81
|
+
NesOutcome["Ignored"] = "ignored";
|
|
82
|
+
})(NesOutcome || (exports.NesOutcome = NesOutcome = {}));
|
|
110
83
|
let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
111
84
|
get lastRejectionTime() {
|
|
112
85
|
return this._lastRejectionTime;
|
|
@@ -114,6 +87,9 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
114
87
|
get lastTriggerTime() {
|
|
115
88
|
return this._lastTriggerTime;
|
|
116
89
|
}
|
|
90
|
+
get lastOutcome() {
|
|
91
|
+
return this._lastOutcome;
|
|
92
|
+
}
|
|
117
93
|
constructor(_workspace, _statelessNextEditProvider, _historyContextProvider, _xtabHistoryTracker, _debugRecorder, _configService, _snippyService, _logService, _expService, _requestLogger) {
|
|
118
94
|
super();
|
|
119
95
|
this._workspace = _workspace;
|
|
@@ -149,7 +125,20 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
149
125
|
}));
|
|
150
126
|
}).recomputeInitiallyAndOnChange(this._store);
|
|
151
127
|
}
|
|
128
|
+
_cancelSpeculativeRequest() {
|
|
129
|
+
if (this._speculativePendingRequest) {
|
|
130
|
+
this._speculativePendingRequest.request.cancellationTokenSource.cancel();
|
|
131
|
+
this._speculativePendingRequest = null;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
152
134
|
_cancelPendingRequestDueToDocChange(docId, docValue) {
|
|
135
|
+
// Note: we intentionally do NOT cancel the speculative request here.
|
|
136
|
+
// The speculative request's postEditContent represents a *future* document state
|
|
137
|
+
// (after the user would accept the suggestion), so it will almost never match the
|
|
138
|
+
// current document value while the user is still typing. Cancelling here would
|
|
139
|
+
// wastefully kill and recreate the speculative request on every keystroke.
|
|
140
|
+
// Instead, speculative requests are cancelled by the appropriate lifecycle handlers:
|
|
141
|
+
// handleRejection, handleIgnored, _triggerSpeculativeRequest, and _executeNewNextEditRequest.
|
|
153
142
|
const isAsyncCompletions = this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsAsyncCompletions, this._expService);
|
|
154
143
|
if (isAsyncCompletions || this._pendingStatelessNextEditRequest === null) {
|
|
155
144
|
return;
|
|
@@ -175,7 +164,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
175
164
|
}
|
|
176
165
|
catch (error) {
|
|
177
166
|
logContext.setError(error);
|
|
178
|
-
telemetryBuilder.setNextEditProviderError(
|
|
167
|
+
telemetryBuilder.setNextEditProviderError(errors_1.ErrorUtils.toString(error));
|
|
179
168
|
throw error;
|
|
180
169
|
}
|
|
181
170
|
finally {
|
|
@@ -190,7 +179,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
190
179
|
const doc = this._workspace.getDocument(docId);
|
|
191
180
|
if (!doc) {
|
|
192
181
|
logger.trace(`Document "${docId.baseName}" not found`);
|
|
193
|
-
throw new
|
|
182
|
+
throw new errors_2.BugIndicatingError(`Document "${docId.baseName}" not found`);
|
|
194
183
|
}
|
|
195
184
|
const documentAtInvocationTime = doc.value.get();
|
|
196
185
|
const selections = doc.selection.get();
|
|
@@ -210,6 +199,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
210
199
|
let targetDocumentId = docId;
|
|
211
200
|
let isRebasedCachedEdit = false;
|
|
212
201
|
let isSubsequentCachedEdit = false;
|
|
202
|
+
let isFromSpeculativeRequest = false;
|
|
213
203
|
if (cachedEdit) {
|
|
214
204
|
logger.trace('using cached edit');
|
|
215
205
|
const actualEdit = cachedEdit.rebasedEdit || cachedEdit.edit;
|
|
@@ -266,6 +256,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
266
256
|
logger.trace('fetch succeeded');
|
|
267
257
|
logContext.setResponseResults([suggestedNextEdit]); // TODO: other streamed edits?
|
|
268
258
|
edit = { actualEdit: suggestedNextEdit, isFromCursorJump: result.val.isFromCursorJump };
|
|
259
|
+
isFromSpeculativeRequest = result.val.isFromSpeculativeRequest ?? false;
|
|
269
260
|
}
|
|
270
261
|
}
|
|
271
262
|
}
|
|
@@ -305,7 +296,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
305
296
|
telemetryBuilder.setStatus('notAccepted'); // Acceptance pending.
|
|
306
297
|
const nextEditResult = new nextEditResult_1.NextEditResult(logContext.requestId, req, { edit: edit.actualEdit, isFromCursorJump: edit.isFromCursorJump, documentBeforeEdits: currentDocument, targetDocumentId });
|
|
307
298
|
telemetryBuilder.setHasNextEdit(true);
|
|
308
|
-
const delay = this.computeMinimumResponseDelay({ triggerTime, isRebasedCachedEdit, isSubsequentCachedEdit, enforceCacheDelay: context.enforceCacheDelay }, logger);
|
|
299
|
+
const delay = this.computeMinimumResponseDelay({ triggerTime, isRebasedCachedEdit, isSubsequentCachedEdit, isFromSpeculativeRequest, enforceCacheDelay: context.enforceCacheDelay }, logger);
|
|
309
300
|
if (delay > 0) {
|
|
310
301
|
await (0, async_1.timeout)(delay);
|
|
311
302
|
if (cancellationToken.isCancellationRequested) {
|
|
@@ -356,7 +347,8 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
356
347
|
const existingNextEditRequest = (pendingRequestStillCurrent || nesConfigs.isAsyncCompletions) && !this._pendingStatelessNextEditRequest?.cancellationTokenSource.token.isCancellationRequested
|
|
357
348
|
&& this._pendingStatelessNextEditRequest || undefined;
|
|
358
349
|
// Check if we can reuse the speculative pending request (from when a suggestion was shown)
|
|
359
|
-
const speculativeRequestMatches = this._speculativePendingRequest?.
|
|
350
|
+
const speculativeRequestMatches = this._speculativePendingRequest?.docId === curDocId
|
|
351
|
+
&& this._speculativePendingRequest?.postEditContent === documentAtInvocationTime.value
|
|
360
352
|
&& !this._speculativePendingRequest.request.cancellationTokenSource.token.isCancellationRequested;
|
|
361
353
|
const speculativeRequest = speculativeRequestMatches ? this._speculativePendingRequest?.request : undefined;
|
|
362
354
|
// Prefer speculative request if it matches (it was specifically created for this post-edit state)
|
|
@@ -371,9 +363,14 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
371
363
|
const requestStillCurrent = speculativeRequest
|
|
372
364
|
? speculativeRequestMatches // For speculative, we already checked it matches
|
|
373
365
|
: pendingRequestStillCurrent;
|
|
366
|
+
const reusedRequestKind = speculativeRequest ? "speculative" /* ReusedRequestKind.Speculative */ : "async" /* ReusedRequestKind.Async */;
|
|
374
367
|
if (requestStillCurrent) {
|
|
375
|
-
const nextEditResult = await this._joinNextEditRequest(requestToReuse, telemetryBuilder, logContext, cancellationToken);
|
|
368
|
+
const nextEditResult = await this._joinNextEditRequest(requestToReuse, reusedRequestKind, telemetryBuilder, logContext, cancellationToken);
|
|
376
369
|
telemetryBuilder.setStatelessNextEditTelemetry(nextEditResult.telemetry);
|
|
370
|
+
if (speculativeRequest) {
|
|
371
|
+
const firstEdit = await requestToReuse.firstEdit.p;
|
|
372
|
+
return firstEdit.map(val => ({ ...val, isFromSpeculativeRequest: true }));
|
|
373
|
+
}
|
|
377
374
|
return nextEditResult.nextEdit.isError() ? nextEditResult.nextEdit : requestToReuse.firstEdit.p;
|
|
378
375
|
}
|
|
379
376
|
else if (nesConfigs.isEagerBackupRequest) {
|
|
@@ -391,7 +388,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
391
388
|
.catch(() => undefined);
|
|
392
389
|
};
|
|
393
390
|
// Simultaneously attempt to join + rebase the stale request
|
|
394
|
-
const nextEditResult = await this._joinNextEditRequest(requestToReuse, telemetryBuilder, logContext, cancellationToken);
|
|
391
|
+
const nextEditResult = await this._joinNextEditRequest(requestToReuse, reusedRequestKind, telemetryBuilder, logContext, cancellationToken);
|
|
395
392
|
const cacheResult = await requestToReuse.firstEdit.p;
|
|
396
393
|
if (cacheResult.isOk() && cacheResult.val.edit) {
|
|
397
394
|
const rebasedCachedEdit = this._nextEditCache.tryRebaseCacheEntry(cacheResult.val, documentAtInvocationTime, selectionAtInvocationTime);
|
|
@@ -415,7 +412,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
415
412
|
return backupRes.nextEditResult.nextEdit.isError() ? backupRes.nextEditResult.nextEdit : backupRes.nextEditRequest.firstEdit.p;
|
|
416
413
|
}
|
|
417
414
|
else {
|
|
418
|
-
const nextEditResult = await this._joinNextEditRequest(requestToReuse, telemetryBuilder, logContext, cancellationToken);
|
|
415
|
+
const nextEditResult = await this._joinNextEditRequest(requestToReuse, reusedRequestKind, telemetryBuilder, logContext, cancellationToken);
|
|
419
416
|
// Needs rebasing.
|
|
420
417
|
const cacheResult = await requestToReuse.firstEdit.p;
|
|
421
418
|
if (cacheResult.isOk() && cacheResult.val.edit) {
|
|
@@ -436,7 +433,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
436
433
|
&& this._pendingStatelessNextEditRequest || undefined;
|
|
437
434
|
if (existingNextEditRequest2) {
|
|
438
435
|
logger.trace('reusing 2nd existing next edit request after rebase failed');
|
|
439
|
-
const nextEditResult2 = await this._joinNextEditRequest(existingNextEditRequest2, telemetryBuilder, logContext, cancellationToken);
|
|
436
|
+
const nextEditResult2 = await this._joinNextEditRequest(existingNextEditRequest2, "async" /* ReusedRequestKind.Async */, telemetryBuilder, logContext, cancellationToken);
|
|
440
437
|
telemetryBuilder.setStatelessNextEditTelemetry(nextEditResult2.telemetry);
|
|
441
438
|
return nextEditResult2.nextEdit.isError() ? nextEditResult2.nextEdit : existingNextEditRequest2.firstEdit.p;
|
|
442
439
|
}
|
|
@@ -449,10 +446,9 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
449
446
|
telemetryBuilder.setStatelessNextEditTelemetry(nextEditResult.telemetry);
|
|
450
447
|
return nextEditResult.nextEdit.isError() ? nextEditResult.nextEdit : nextEditRequest.firstEdit.p;
|
|
451
448
|
}
|
|
452
|
-
async _joinNextEditRequest(nextEditRequest, telemetryBuilder, logContext, cancellationToken) {
|
|
453
|
-
// TODO: Will the telemetry look alright in this case?
|
|
449
|
+
async _joinNextEditRequest(nextEditRequest, reusedRequestKind, telemetryBuilder, logContext, cancellationToken) {
|
|
454
450
|
telemetryBuilder.setHeaderRequestId(nextEditRequest.headerRequestId);
|
|
455
|
-
telemetryBuilder.
|
|
451
|
+
telemetryBuilder.setReusedRequest(reusedRequestKind);
|
|
456
452
|
telemetryBuilder.setRequest(nextEditRequest);
|
|
457
453
|
logContext.setRequestInput(nextEditRequest);
|
|
458
454
|
logContext.setIsCachedResult(nextEditRequest.logContext);
|
|
@@ -483,6 +479,13 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
483
479
|
this._pendingStatelessNextEditRequest.cancellationTokenSource.cancel();
|
|
484
480
|
this._pendingStatelessNextEditRequest = null;
|
|
485
481
|
}
|
|
482
|
+
// Cancel speculative request if it doesn't match the document/state
|
|
483
|
+
// of this new request — it was built for a different document or post-edit state.
|
|
484
|
+
if (this._speculativePendingRequest
|
|
485
|
+
&& (this._speculativePendingRequest.docId !== curDocId
|
|
486
|
+
|| this._speculativePendingRequest.postEditContent !== nextEditRequest.documentBeforeEdits.value)) {
|
|
487
|
+
this._cancelSpeculativeRequest();
|
|
488
|
+
}
|
|
486
489
|
this._pendingStatelessNextEditRequest = nextEditRequest;
|
|
487
490
|
const removeFromPending = () => {
|
|
488
491
|
if (this._pendingStatelessNextEditRequest === nextEditRequest) {
|
|
@@ -514,7 +517,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
514
517
|
const statePerDoc = new cache_1.CachedFunction((id) => {
|
|
515
518
|
const doc = projectedDocuments.find(d => d.nextEditDoc.id === id);
|
|
516
519
|
if (!doc) {
|
|
517
|
-
throw new
|
|
520
|
+
throw new errors_2.BugIndicatingError();
|
|
518
521
|
}
|
|
519
522
|
return {
|
|
520
523
|
docContents: doc.documentAfterEdits,
|
|
@@ -624,8 +627,8 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
624
627
|
handleStreamEnd(completionReason, res.value.telemetryBuilder);
|
|
625
628
|
}
|
|
626
629
|
catch (err) {
|
|
627
|
-
logger.trace(`Error while streaming further edits: ${
|
|
628
|
-
const errorReason = new statelessNextEditProvider_1.NoNextEditReason.Unexpected(
|
|
630
|
+
logger.trace(`Error while streaming further edits: ${errors_1.ErrorUtils.toString(err)}`);
|
|
631
|
+
const errorReason = new statelessNextEditProvider_1.NoNextEditReason.Unexpected(errors_1.ErrorUtils.fromUnknown(err));
|
|
629
632
|
handleStreamEnd(errorReason, firstTelemetry);
|
|
630
633
|
}
|
|
631
634
|
})();
|
|
@@ -679,7 +682,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
679
682
|
nextEditRequest.liveDependentants++;
|
|
680
683
|
return disposables;
|
|
681
684
|
}
|
|
682
|
-
computeMinimumResponseDelay({ triggerTime, isRebasedCachedEdit, isSubsequentCachedEdit, enforceCacheDelay }, logger) {
|
|
685
|
+
computeMinimumResponseDelay({ triggerTime, isRebasedCachedEdit, isSubsequentCachedEdit, isFromSpeculativeRequest, enforceCacheDelay }, logger) {
|
|
683
686
|
if (!enforceCacheDelay) {
|
|
684
687
|
logger.trace('[minimumDelay] no minimum delay enforced due to enforceCacheDelay being false');
|
|
685
688
|
return 0;
|
|
@@ -687,6 +690,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
687
690
|
const cacheDelay = this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsCacheDelay, this._expService);
|
|
688
691
|
const rebasedCacheDelay = this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsRebasedCacheDelay, this._expService);
|
|
689
692
|
const subsequentCacheDelay = this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsSubsequentCacheDelay, this._expService);
|
|
693
|
+
const speculativeRequestDelay = this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsSpeculativeRequestDelay, this._expService);
|
|
690
694
|
let minimumResponseDelay = cacheDelay;
|
|
691
695
|
if (isRebasedCachedEdit && rebasedCacheDelay !== undefined) {
|
|
692
696
|
minimumResponseDelay = rebasedCacheDelay;
|
|
@@ -694,15 +698,19 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
694
698
|
else if (isSubsequentCachedEdit && subsequentCacheDelay !== undefined) {
|
|
695
699
|
minimumResponseDelay = subsequentCacheDelay;
|
|
696
700
|
}
|
|
701
|
+
else if (isFromSpeculativeRequest && speculativeRequestDelay !== undefined) {
|
|
702
|
+
minimumResponseDelay = speculativeRequestDelay;
|
|
703
|
+
}
|
|
697
704
|
const nextEditProviderCallLatency = Date.now() - triggerTime;
|
|
698
705
|
// if the provider call took longer than the minimum delay, we don't need to delay further
|
|
699
706
|
const delay = Math.max(0, minimumResponseDelay - nextEditProviderCallLatency);
|
|
700
|
-
logger.trace(`[minimumDelay] expected delay: ${minimumResponseDelay}ms, effective delay: ${delay}. isRebasedCachedEdit: ${isRebasedCachedEdit} (rebasedCacheDelay: ${rebasedCacheDelay}), isSubsequentCachedEdit: ${isSubsequentCachedEdit} (subsequentCacheDelay: ${subsequentCacheDelay})`);
|
|
707
|
+
logger.trace(`[minimumDelay] expected delay: ${minimumResponseDelay}ms, effective delay: ${delay}. isRebasedCachedEdit: ${isRebasedCachedEdit} (rebasedCacheDelay: ${rebasedCacheDelay}), isSubsequentCachedEdit: ${isSubsequentCachedEdit} (subsequentCacheDelay: ${subsequentCacheDelay}), isFromSpeculativeRequest: ${isFromSpeculativeRequest} (speculativeRequestDelay: ${speculativeRequestDelay})`);
|
|
701
708
|
return delay;
|
|
702
709
|
}
|
|
703
710
|
handleShown(suggestion) {
|
|
704
711
|
this._lastShownTime = Date.now();
|
|
705
712
|
this._lastShownSuggestionId = suggestion.requestId;
|
|
713
|
+
this._lastOutcome = undefined; // clear so that outcome is "pending" until resolved
|
|
706
714
|
// Trigger speculative request for the post-edit document state
|
|
707
715
|
const speculativeRequestsEnablement = this._configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsSpeculativeRequests, this._expService);
|
|
708
716
|
if (speculativeRequestsEnablement === xtabPromptOptions_1.SpeculativeRequestsEnablement.On) {
|
|
@@ -760,7 +768,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
760
768
|
return;
|
|
761
769
|
}
|
|
762
770
|
// Check if we already have a speculative request for this post-edit state
|
|
763
|
-
if (this._speculativePendingRequest?.postEditContent === postEditContent) {
|
|
771
|
+
if (this._speculativePendingRequest?.docId === docId && this._speculativePendingRequest?.postEditContent === postEditContent) {
|
|
764
772
|
logger.trace('already have speculative request for post-edit state');
|
|
765
773
|
return;
|
|
766
774
|
}
|
|
@@ -773,8 +781,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
773
781
|
return;
|
|
774
782
|
}
|
|
775
783
|
// Cancel any previous speculative request
|
|
776
|
-
this.
|
|
777
|
-
this._speculativePendingRequest = null;
|
|
784
|
+
this._cancelSpeculativeRequest();
|
|
778
785
|
const historyContext = this._historyContextProvider.getHistoryContext(docId);
|
|
779
786
|
if (!historyContext) {
|
|
780
787
|
logger.trace('no history context for speculative request');
|
|
@@ -785,18 +792,18 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
785
792
|
const logContext = new inlineEditLogContext_1.InlineEditRequestLogContext(docId.uri, 0, undefined);
|
|
786
793
|
const req = new NextEditFetchRequest(`sp-${suggestion.source.opportunityId}`, logContext, undefined, `sp-${(0, uuid_1.generateUuid)()}`);
|
|
787
794
|
logger.trace(`triggering speculative request for post-edit state (opportunityId=${req.opportunityId}, headerRequestId=${req.headerRequestId})`);
|
|
788
|
-
logger.trace(`triggering speculative request for post-edit state (opportunityId=${req.opportunityId}, headerRequestId=${req.headerRequestId})`);
|
|
789
795
|
try {
|
|
790
796
|
const speculativeRequest = await this._createSpeculativeRequest(req, doc, shiftedSelection, historyContext, postEditContent, rootedEdit, result.edit, logger);
|
|
791
797
|
if (speculativeRequest) {
|
|
792
798
|
this._speculativePendingRequest = {
|
|
793
799
|
request: speculativeRequest,
|
|
800
|
+
docId,
|
|
794
801
|
postEditContent,
|
|
795
802
|
};
|
|
796
803
|
}
|
|
797
804
|
}
|
|
798
805
|
catch (e) {
|
|
799
|
-
logger.trace(`speculative request failed: ${
|
|
806
|
+
logger.trace(`speculative request failed: ${errors_1.ErrorUtils.toString(e)}`);
|
|
800
807
|
}
|
|
801
808
|
}
|
|
802
809
|
/**
|
|
@@ -869,7 +876,7 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
869
876
|
const statePerDoc = new cache_1.CachedFunction((id) => {
|
|
870
877
|
const doc = projectedDocuments.find(d => d.nextEditDoc.id === id);
|
|
871
878
|
if (!doc) {
|
|
872
|
-
throw new
|
|
879
|
+
throw new errors_2.BugIndicatingError();
|
|
873
880
|
}
|
|
874
881
|
return {
|
|
875
882
|
docContents: doc.documentAfterEdits,
|
|
@@ -929,12 +936,13 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
929
936
|
logger.trace(`speculative request completed with ${ithEdit + 1} edits`);
|
|
930
937
|
}
|
|
931
938
|
catch (e) {
|
|
932
|
-
logger.trace(`speculative provider call error: ${
|
|
939
|
+
logger.trace(`speculative provider call error: ${errors_1.ErrorUtils.toString(e)}`);
|
|
933
940
|
}
|
|
934
941
|
}
|
|
935
942
|
handleAcceptance(docId, suggestion) {
|
|
936
943
|
this.runSnippy(docId, suggestion);
|
|
937
944
|
this._statelessNextEditProvider.handleAcceptance?.();
|
|
945
|
+
this._lastOutcome = NesOutcome.Accepted;
|
|
938
946
|
const logger = this._logger.createSubLogger(suggestion.source.opportunityId.substring(4, 8)).createSubLogger('handleAcceptance');
|
|
939
947
|
if (suggestion === this._lastNextEditResult) {
|
|
940
948
|
logger.trace('setting shouldExpandEditWindow to true due to acceptance of last suggestion');
|
|
@@ -946,6 +954,10 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
946
954
|
}
|
|
947
955
|
handleRejection(docId, suggestion) {
|
|
948
956
|
(0, types_1.assertType)(suggestion.result, '@ulugbekna: undefined edit cannot be rejected?');
|
|
957
|
+
// The user rejected the suggestion, so the speculative request (which
|
|
958
|
+
// predicted the post-accept state) will never be reused. Cancel it to
|
|
959
|
+
// avoid wasting a server slot.
|
|
960
|
+
this._cancelSpeculativeRequest();
|
|
949
961
|
const shownDuration = Date.now() - this._lastShownTime;
|
|
950
962
|
if (shownDuration > 1000 && suggestion.result.edit) {
|
|
951
963
|
// we can argue that the user had the time to review this
|
|
@@ -954,14 +966,18 @@ let NextEditProvider = class NextEditProvider extends lifecycle_1.Disposable {
|
|
|
954
966
|
this._nextEditCache.rejectedNextEdit(suggestion.source.headerRequestId);
|
|
955
967
|
}
|
|
956
968
|
this._lastRejectionTime = Date.now();
|
|
969
|
+
this._lastOutcome = NesOutcome.Rejected;
|
|
957
970
|
this._statelessNextEditProvider.handleRejection?.();
|
|
958
971
|
}
|
|
959
972
|
handleIgnored(docId, suggestion, supersededBy) {
|
|
973
|
+
this._lastOutcome = NesOutcome.Ignored;
|
|
960
974
|
// Check if this was the last shown suggestion
|
|
961
975
|
const wasShown = this._lastShownSuggestionId === suggestion.requestId;
|
|
962
976
|
const wasSuperseded = supersededBy !== undefined;
|
|
963
977
|
if (wasShown && !wasSuperseded) {
|
|
964
|
-
//
|
|
978
|
+
// The shown suggestion was dismissed (not superseded by a new one),
|
|
979
|
+
// so the speculative request for its post-accept state is useless.
|
|
980
|
+
this._cancelSpeculativeRequest();
|
|
965
981
|
this._statelessNextEditProvider.handleIgnored?.();
|
|
966
982
|
}
|
|
967
983
|
}
|
|
@@ -986,7 +1002,7 @@ exports.NextEditProvider = NextEditProvider = __decorate([
|
|
|
986
1002
|
], NextEditProvider);
|
|
987
1003
|
function assertDefined(value) {
|
|
988
1004
|
if (!value) {
|
|
989
|
-
throw new
|
|
1005
|
+
throw new errors_2.BugIndicatingError('expected value to be defined, but it was not');
|
|
990
1006
|
}
|
|
991
1007
|
return value;
|
|
992
1008
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nextEditProvider.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/node/nextEditProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"nextEditProvider.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/node/nextEditProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,12 +36,17 @@ export interface ITelemetryRecording {
|
|
|
36
36
|
readonly entriesSize: number;
|
|
37
37
|
readonly requestTime: number;
|
|
38
38
|
}
|
|
39
|
+
export declare const enum ReusedRequestKind {
|
|
40
|
+
Speculative = "speculative",
|
|
41
|
+
Async = "async"
|
|
42
|
+
}
|
|
39
43
|
export interface ILlmNESTelemetry extends Partial<IStatelessNextEditTelemetry> {
|
|
40
44
|
readonly providerId: string;
|
|
41
45
|
readonly headerRequestId: string | undefined;
|
|
42
46
|
readonly nextEditProviderDuration: number | undefined;
|
|
43
47
|
readonly fetchStartedAfterMs: number | undefined;
|
|
44
48
|
readonly isFromCache: boolean;
|
|
49
|
+
readonly reusedRequest: ReusedRequestKind | undefined;
|
|
45
50
|
readonly subsequentEditOrder: number | undefined;
|
|
46
51
|
readonly activeDocumentOriginalLineCount: number | undefined;
|
|
47
52
|
readonly activeDocumentEditsCount: number | undefined;
|
|
@@ -121,6 +126,8 @@ export declare class LlmNESTelemetryBuilder extends Disposable {
|
|
|
121
126
|
setHeaderRequestId(uuid: string): this;
|
|
122
127
|
private _isFromCache;
|
|
123
128
|
setIsFromCache(): this;
|
|
129
|
+
private _reusedRequest;
|
|
130
|
+
setReusedRequest(kind: ReusedRequestKind): this;
|
|
124
131
|
private _subsequentEditOrder;
|
|
125
132
|
setSubsequentEditOrder(subsequentEditOrder: number | undefined): this;
|
|
126
133
|
private _request;
|