@vscode/chat-lib 0.71.2026101702 → 0.72.2026102202
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/common/config.d.ts +0 -1
- package/dist/src/_internal/extension/completions/common/config.d.ts.map +1 -1
- package/dist/src/_internal/extension/completions/common/config.js +0 -4
- package/dist/src/_internal/extension/completions/common/config.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/nearbyCursorInlineEditProvider.d.ts +0 -40
- package/dist/src/_internal/extension/inlineEdits/common/nearbyCursorInlineEditProvider.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/nearbyCursorInlineEditProvider.js +0 -153
- package/dist/src/_internal/extension/inlineEdits/common/nearbyCursorInlineEditProvider.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 +23 -9
- package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +0 -11
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.js +1 -15
- package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
- package/dist/src/_internal/platform/configuration/common/validator.d.ts +0 -9
- package/dist/src/_internal/platform/configuration/common/validator.d.ts.map +1 -1
- package/dist/src/_internal/platform/configuration/common/validator.js +0 -76
- package/dist/src/_internal/platform/configuration/common/validator.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/length.d.ts +0 -18
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/length.d.ts.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/length.js +0 -59
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/textEditLengthHelper/length.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts +7 -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 +14 -0
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js.map +1 -1
- package/dist/src/_internal/platform/languages/common/languageDiagnosticsService.d.ts +0 -2
- package/dist/src/_internal/platform/languages/common/languageDiagnosticsService.d.ts.map +1 -1
- package/dist/src/_internal/platform/languages/common/languageDiagnosticsService.js +0 -4
- package/dist/src/_internal/platform/languages/common/languageDiagnosticsService.js.map +1 -1
- package/dist/src/_internal/platform/networking/common/fetch.d.ts +4 -0
- package/dist/src/_internal/platform/networking/common/fetch.d.ts.map +1 -1
- package/dist/src/_internal/platform/terminal/common/terminalService.d.ts +0 -2
- package/dist/src/_internal/platform/terminal/common/terminalService.d.ts.map +1 -1
- package/dist/src/_internal/platform/terminal/common/terminalService.js +0 -8
- package/dist/src/_internal/platform/terminal/common/terminalService.js.map +1 -1
- package/dist/src/package.json +9 -120
- package/package.json +1 -1
|
@@ -24,6 +24,5 @@ export declare enum BlockMode {
|
|
|
24
24
|
*/
|
|
25
25
|
MoreMultiline = "moremultiline"
|
|
26
26
|
}
|
|
27
|
-
export declare function shouldDoParsingTrimming(blockMode: BlockMode): boolean;
|
|
28
27
|
export declare function shouldDoServerTrimming(blockMode: BlockMode): boolean;
|
|
29
28
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/completions/common/config.ts"],"names":[],"mappings":"AAKA,+EAA+E;AAC/E,oBAAY,SAAS;IACpB;;;OAGG;IACH,OAAO,YAAY;IACnB;;;OAGG;IACH,MAAM,WAAW;IACjB;;;OAGG;IACH,gBAAgB,qBAAqB;IACrC;;;;;;OAMG;IACH,aAAa,kBAAkB;CAC/B;AAED,wBAAgB,
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/completions/common/config.ts"],"names":[],"mappings":"AAKA,+EAA+E;AAC/E,oBAAY,SAAS;IACpB;;;OAGG;IACH,OAAO,YAAY;IACnB;;;OAGG;IACH,MAAM,WAAW;IACjB;;;OAGG;IACH,gBAAgB,qBAAqB;IACrC;;;;;;OAMG;IACH,aAAa,kBAAkB;CAC/B;AAED,wBAAgB,sBAAsB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAEpE"}
|
|
@@ -5,7 +5,6 @@
|
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.BlockMode = void 0;
|
|
8
|
-
exports.shouldDoParsingTrimming = shouldDoParsingTrimming;
|
|
9
8
|
exports.shouldDoServerTrimming = shouldDoServerTrimming;
|
|
10
9
|
/** How to determine where to terminate the completion to the current block. */
|
|
11
10
|
var BlockMode;
|
|
@@ -34,9 +33,6 @@ var BlockMode;
|
|
|
34
33
|
*/
|
|
35
34
|
BlockMode["MoreMultiline"] = "moremultiline";
|
|
36
35
|
})(BlockMode || (exports.BlockMode = BlockMode = {}));
|
|
37
|
-
function shouldDoParsingTrimming(blockMode) {
|
|
38
|
-
return [BlockMode.Parsing, BlockMode.ParsingAndServer, BlockMode.MoreMultiline].includes(blockMode);
|
|
39
|
-
}
|
|
40
36
|
function shouldDoServerTrimming(blockMode) {
|
|
41
37
|
return [BlockMode.Server, BlockMode.ParsingAndServer].includes(blockMode);
|
|
42
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/completions/common/config.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AA6BhG,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/completions/common/config.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AA6BhG,wDAEC;AA7BD,+EAA+E;AAC/E,IAAY,SAwBX;AAxBD,WAAY,SAAS;IACpB;;;OAGG;IACH,gCAAmB,CAAA;IACnB;;;OAGG;IACH,8BAAiB,CAAA;IACjB;;;OAGG;IACH,kDAAqC,CAAA;IACrC;;;;;;OAMG;IACH,4CAA+B,CAAA;AAChC,CAAC,EAxBW,SAAS,yBAAT,SAAS,QAwBpB;AAED,SAAgB,sBAAsB,CAAC,SAAoB;IAC1D,OAAO,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,gBAAgB,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AAC3E,CAAC"}
|
|
@@ -1,47 +1,7 @@
|
|
|
1
1
|
import { StatelessNextEditDocument } from '../../../platform/inlineEdits/common/statelessNextEditProvider';
|
|
2
|
-
import { ChoiceLogProbs } from '../../../platform/networking/common/openai';
|
|
3
2
|
import { Range } from '../../../util/vs/editor/common/core/range';
|
|
4
|
-
import { OffsetRange } from '../../../util/vs/editor/common/core/ranges/offsetRange';
|
|
5
3
|
/**
|
|
6
4
|
* Read the selection from the document, otherwise deduce it from the last edit.
|
|
7
5
|
*/
|
|
8
6
|
export declare function getOrDeduceSelectionFromLastEdit(activeDoc: StatelessNextEditDocument): Range | null;
|
|
9
|
-
type Tokens = Token<number>[];
|
|
10
|
-
export declare class Token<T> {
|
|
11
|
-
readonly text: string;
|
|
12
|
-
readonly value: T;
|
|
13
|
-
readonly range: OffsetRange;
|
|
14
|
-
get id(): string;
|
|
15
|
-
constructor(text: string, value: T, offset: number);
|
|
16
|
-
equals(other: Token<T>): boolean;
|
|
17
|
-
deltaOffset(offset: number): Token<T>;
|
|
18
|
-
}
|
|
19
|
-
export declare function clipTokensToRange(tokens: Tokens, range: OffsetRange): Tokens;
|
|
20
|
-
export declare function clipTokensToRangeAndAdjustOffsets(tokens: Tokens, range: OffsetRange): Tokens;
|
|
21
|
-
export declare function removeTokensInRangeAndAdjustOffsets(tokens: Tokens, range: OffsetRange): Tokens;
|
|
22
|
-
export declare function getTokensFromLogProbs(logProbs: ChoiceLogProbs, offset: number): Tokens;
|
|
23
|
-
export declare class LineWithTokens {
|
|
24
|
-
private readonly _text;
|
|
25
|
-
private readonly _tokens;
|
|
26
|
-
private readonly _eol;
|
|
27
|
-
static stringEquals(a: LineWithTokens, b: LineWithTokens): boolean;
|
|
28
|
-
static fromText(text: string, tokens: Tokens | undefined): LineWithTokens[];
|
|
29
|
-
get text(): string;
|
|
30
|
-
get tokens(): Tokens;
|
|
31
|
-
get length(): number;
|
|
32
|
-
get lengthWithEOL(): number;
|
|
33
|
-
get eol(): '\n' | '\r\n';
|
|
34
|
-
constructor(_text: string, _tokens: Tokens, _eol: '\n' | '\r\n');
|
|
35
|
-
trim(): LineWithTokens;
|
|
36
|
-
trimStart(): LineWithTokens;
|
|
37
|
-
trimEnd(): LineWithTokens;
|
|
38
|
-
substring(start: number, end: number): LineWithTokens;
|
|
39
|
-
stringEquals(other: LineWithTokens): boolean;
|
|
40
|
-
equals(other: LineWithTokens): boolean;
|
|
41
|
-
dropTokens(tokens: Tokens): LineWithTokens;
|
|
42
|
-
findTokens(fn: (token: Token<number>) => boolean): Token<number>[];
|
|
43
|
-
}
|
|
44
|
-
export declare function getTokensFromLinesWithTokens(lines: LineWithTokens[]): Tokens;
|
|
45
|
-
export declare function mergeOffsetRangesAtDistance(ranges: OffsetRange[], distance: number): OffsetRange[];
|
|
46
|
-
export {};
|
|
47
7
|
//# sourceMappingURL=nearbyCursorInlineEditProvider.d.ts.map
|
package/dist/src/_internal/extension/inlineEdits/common/nearbyCursorInlineEditProvider.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nearbyCursorInlineEditProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/common/nearbyCursorInlineEditProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gEAAgE,CAAC;AAC3G,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"nearbyCursorInlineEditProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/common/nearbyCursorInlineEditProvider.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,yBAAyB,EAAE,MAAM,gEAAgE,CAAC;AAC3G,OAAO,EAAE,KAAK,EAAE,MAAM,2CAA2C,CAAC;AAGlE;;GAEG;AACH,wBAAgB,gCAAgC,CAAC,SAAS,EAAE,yBAAyB,GAAG,KAAK,GAAG,IAAI,CAQnG"}
|
|
@@ -4,15 +4,7 @@
|
|
|
4
4
|
* Licensed under the MIT License. See License.txt in the project root for license information.
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.LineWithTokens = exports.Token = void 0;
|
|
8
7
|
exports.getOrDeduceSelectionFromLastEdit = getOrDeduceSelectionFromLastEdit;
|
|
9
|
-
exports.clipTokensToRange = clipTokensToRange;
|
|
10
|
-
exports.clipTokensToRangeAndAdjustOffsets = clipTokensToRangeAndAdjustOffsets;
|
|
11
|
-
exports.removeTokensInRangeAndAdjustOffsets = removeTokensInRangeAndAdjustOffsets;
|
|
12
|
-
exports.getTokensFromLogProbs = getTokensFromLogProbs;
|
|
13
|
-
exports.getTokensFromLinesWithTokens = getTokensFromLinesWithTokens;
|
|
14
|
-
exports.mergeOffsetRangesAtDistance = mergeOffsetRangesAtDistance;
|
|
15
|
-
const errors_1 = require("../../../util/vs/base/common/errors");
|
|
16
8
|
const offsetRange_1 = require("../../../util/vs/editor/common/core/ranges/offsetRange");
|
|
17
9
|
/**
|
|
18
10
|
* Read the selection from the document, otherwise deduce it from the last edit.
|
|
@@ -41,149 +33,4 @@ function deduceSelectionFromLastEdit(activeDoc) {
|
|
|
41
33
|
const selectionRange = activeDoc.documentAfterEdits.getTransformer().getRange(new offsetRange_1.OffsetRange(newOffset, newOffset));
|
|
42
34
|
return selectionRange;
|
|
43
35
|
}
|
|
44
|
-
class Token {
|
|
45
|
-
get id() {
|
|
46
|
-
return this.text + '_' + this.range.toString();
|
|
47
|
-
}
|
|
48
|
-
constructor(text, value, offset) {
|
|
49
|
-
this.text = text;
|
|
50
|
-
this.value = value;
|
|
51
|
-
this.range = new offsetRange_1.OffsetRange(offset, offset + text.length);
|
|
52
|
-
}
|
|
53
|
-
equals(other) {
|
|
54
|
-
return this.range.equals(other.range) && this.text === other.text;
|
|
55
|
-
}
|
|
56
|
-
deltaOffset(offset) {
|
|
57
|
-
return new Token(this.text, this.value, this.range.start + offset);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
exports.Token = Token;
|
|
61
|
-
function clipTokensToRange(tokens, range) {
|
|
62
|
-
return tokens.filter(token => range.intersects(token.range));
|
|
63
|
-
}
|
|
64
|
-
function clipTokensToRangeAndAdjustOffsets(tokens, range) {
|
|
65
|
-
return clipTokensToRange(tokens, range).map(token => token.deltaOffset(-range.start));
|
|
66
|
-
}
|
|
67
|
-
function removeTokensInRangeAndAdjustOffsets(tokens, range) {
|
|
68
|
-
const adjustedTokens = [];
|
|
69
|
-
for (let token of tokens) {
|
|
70
|
-
// remove tokens inside the range
|
|
71
|
-
if (range.containsRange(token.range)) {
|
|
72
|
-
continue;
|
|
73
|
-
}
|
|
74
|
-
// adjust the token offset
|
|
75
|
-
if (token.range.start > range.start) {
|
|
76
|
-
token = token.deltaOffset(-range.length);
|
|
77
|
-
}
|
|
78
|
-
adjustedTokens.push(token);
|
|
79
|
-
}
|
|
80
|
-
return adjustedTokens;
|
|
81
|
-
}
|
|
82
|
-
function getTokensFromLogProbs(logProbs, offset) {
|
|
83
|
-
let acc = offset;
|
|
84
|
-
return logProbs.content.map(tokenContent => {
|
|
85
|
-
const token = new Token(tokenContent.token, tokenContent.logprob, acc);
|
|
86
|
-
acc += token.range.length;
|
|
87
|
-
return token;
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
class LineWithTokens {
|
|
91
|
-
static stringEquals(a, b) {
|
|
92
|
-
return a._text === b._text;
|
|
93
|
-
}
|
|
94
|
-
static fromText(text, tokens) {
|
|
95
|
-
tokens = tokens ?? [];
|
|
96
|
-
const lines = [];
|
|
97
|
-
while (true) {
|
|
98
|
-
const eolIdxWith = text.indexOf('\r\n');
|
|
99
|
-
const eolIdxWithout = text.indexOf('\n');
|
|
100
|
-
const eolIdx = (eolIdxWith === -1 ? eolIdxWithout : (eolIdxWithout === -1 ? eolIdxWith : Math.min(eolIdxWith, eolIdxWithout)));
|
|
101
|
-
const eol = (eolIdxWith !== -1 ? '\r\n' : (eolIdxWithout === -1 ? undefined : '\n'));
|
|
102
|
-
if (eol === undefined) {
|
|
103
|
-
lines.push(new LineWithTokens(text, tokens, '\n'));
|
|
104
|
-
break;
|
|
105
|
-
}
|
|
106
|
-
const lineLength = eolIdx + eol.length;
|
|
107
|
-
const line = text.substring(0, eolIdx);
|
|
108
|
-
const lineTokensWithBoundary = tokens.filter(t => t.range.start < lineLength && t.range.endExclusive > 0);
|
|
109
|
-
lines.push(new LineWithTokens(line, lineTokensWithBoundary, eol));
|
|
110
|
-
text = text.substring(lineLength);
|
|
111
|
-
tokens = tokens.map(t => t.deltaOffset(-lineLength)).filter(t => t.range.endExclusive > 0);
|
|
112
|
-
}
|
|
113
|
-
return lines;
|
|
114
|
-
}
|
|
115
|
-
get text() { return this._text; }
|
|
116
|
-
get tokens() { return this._tokens; }
|
|
117
|
-
get length() { return this._text.length; }
|
|
118
|
-
get lengthWithEOL() { return this._text.length + this._eol.length; }
|
|
119
|
-
get eol() { return this._eol; }
|
|
120
|
-
constructor(_text, _tokens, _eol) {
|
|
121
|
-
this._text = _text;
|
|
122
|
-
this._tokens = _tokens;
|
|
123
|
-
this._eol = _eol;
|
|
124
|
-
}
|
|
125
|
-
trim() {
|
|
126
|
-
return this.trimStart().trimEnd();
|
|
127
|
-
}
|
|
128
|
-
trimStart() {
|
|
129
|
-
const lineStartTrimmed = this._text.trimStart();
|
|
130
|
-
const trimmedLength = this._text.length - lineStartTrimmed.length;
|
|
131
|
-
const tokensUpdated = this._tokens.map(t => t.deltaOffset(-trimmedLength)).filter(t => t.range.endExclusive > 0);
|
|
132
|
-
return new LineWithTokens(lineStartTrimmed, tokensUpdated, this._eol);
|
|
133
|
-
}
|
|
134
|
-
trimEnd() {
|
|
135
|
-
const lineEndTrimmed = this._text.trimEnd();
|
|
136
|
-
const tokensUpdated = this._tokens.filter(t => t.range.start < lineEndTrimmed.length);
|
|
137
|
-
return new LineWithTokens(lineEndTrimmed, tokensUpdated, this._eol);
|
|
138
|
-
}
|
|
139
|
-
substring(start, end) {
|
|
140
|
-
const lineSubstring = this._text.substring(start, end);
|
|
141
|
-
const tokensUpdated = this._tokens.map(t => t.deltaOffset(-start)).filter(t => t.range.endExclusive > 0 && t.range.start < lineSubstring.length);
|
|
142
|
-
return new LineWithTokens(lineSubstring, tokensUpdated, this._eol);
|
|
143
|
-
}
|
|
144
|
-
stringEquals(other) {
|
|
145
|
-
return LineWithTokens.stringEquals(this, other);
|
|
146
|
-
}
|
|
147
|
-
equals(other) {
|
|
148
|
-
return this._text === other.text
|
|
149
|
-
&& this._tokens.length === other.tokens.length
|
|
150
|
-
&& this._tokens.every((t, i) => t.equals(other.tokens[i]));
|
|
151
|
-
}
|
|
152
|
-
dropTokens(tokens) {
|
|
153
|
-
return new LineWithTokens(this._text, this._tokens.filter(t => !tokens.some(token => t.equals(token))), this._eol);
|
|
154
|
-
}
|
|
155
|
-
findTokens(fn) {
|
|
156
|
-
return this._tokens.filter(fn);
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
exports.LineWithTokens = LineWithTokens;
|
|
160
|
-
function getTokensFromLinesWithTokens(lines) {
|
|
161
|
-
let offset = 0;
|
|
162
|
-
const tokens = [];
|
|
163
|
-
for (const line of lines) {
|
|
164
|
-
const textLine = line.text + line.eol;
|
|
165
|
-
tokens.push(...line.tokens.map(t => t.deltaOffset(offset)));
|
|
166
|
-
offset += textLine.length;
|
|
167
|
-
}
|
|
168
|
-
const tokensDeduplicated = [];
|
|
169
|
-
const tokensSeen = new Set();
|
|
170
|
-
for (const token of tokens) {
|
|
171
|
-
if (!tokensSeen.has(token.id)) {
|
|
172
|
-
tokensSeen.add(token.id);
|
|
173
|
-
tokensDeduplicated.push(token);
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
return tokensDeduplicated;
|
|
177
|
-
}
|
|
178
|
-
function mergeOffsetRangesAtDistance(ranges, distance) {
|
|
179
|
-
if (distance < 0) {
|
|
180
|
-
throw new errors_1.BugIndicatingError('Distance must be positive');
|
|
181
|
-
}
|
|
182
|
-
const rangesGrown = ranges.map(r => new offsetRange_1.OffsetRange(r.start - distance, r.endExclusive + distance));
|
|
183
|
-
const set = new offsetRange_1.OffsetRangeSet();
|
|
184
|
-
for (const range of rangesGrown) {
|
|
185
|
-
set.addRange(range);
|
|
186
|
-
}
|
|
187
|
-
return set.ranges.map(r => new offsetRange_1.OffsetRange(r.start + distance, r.endExclusive - distance));
|
|
188
|
-
}
|
|
189
36
|
//# sourceMappingURL=nearbyCursorInlineEditProvider.js.map
|
package/dist/src/_internal/extension/inlineEdits/common/nearbyCursorInlineEditProvider.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nearbyCursorInlineEditProvider.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/common/nearbyCursorInlineEditProvider.ts"],"names":[],"mappings":";AAAA;;;gGAGgG
|
|
1
|
+
{"version":3,"file":"nearbyCursorInlineEditProvider.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/common/nearbyCursorInlineEditProvider.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;AAShG,4EAQC;AAbD,wFAAqF;AAErF;;GAEG;AACH,SAAgB,gCAAgC,CAAC,SAAoC;IACpF,MAAM,MAAM,GAAG,IAAI,yBAAW,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACrC,IAAI,SAAS,CAAC,wBAAwB,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9F,OAAO,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,wBAAwB,CAAC,CAAC;IACnG,CAAC;IAED,MAAM,cAAc,GAAG,2BAA2B,CAAC,SAAS,CAAC,CAAC;IAC9D,OAAO,cAAc,CAAC;AACvB,CAAC;AAED,SAAS,2BAA2B,CAAC,SAAoC;IACxE,MAAM,cAAc,GAAG,SAAS,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1D,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QAClC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,oBAAoB,GAAG,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAChE,IAAI,oBAAoB,KAAK,SAAS,EAAE,CAAC;QACxC,OAAO,IAAI,CAAC;IACb,CAAC;IAED,MAAM,WAAW,GAAG,oBAAoB,CAAC,YAAY,CAAC;IACtD,MAAM,OAAO,GAAG,oBAAoB,CAAC,OAAO,CAAC;IAC7C,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;IACnD,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,GAAG,MAAM,CAAC;IAEpD,MAAM,cAAc,GAAG,SAAS,CAAC,kBAAkB,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,IAAI,yBAAW,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;IAErH,OAAO,cAAc,CAAC;AACvB,CAAC"}
|
|
@@ -83,6 +83,7 @@ export declare class XtabProvider implements IStatelessNextEditProvider {
|
|
|
83
83
|
* format handlers only need an `AsyncIterable<string>` line stream.
|
|
84
84
|
*/
|
|
85
85
|
private _performFetch;
|
|
86
|
+
private prepareRequestOptions;
|
|
86
87
|
private _streamEditsImpl;
|
|
87
88
|
private doGetNextEditsWithCursorJump;
|
|
88
89
|
private handleCrossFilePrediction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xtabProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/node/xtabProvider.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"xtabProvider.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/xtab/node/xtabProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -623,7 +623,7 @@ let XtabProvider = class XtabProvider {
|
|
|
623
623
|
* This method encapsulates all fetch infrastructure so that downstream response
|
|
624
624
|
* format handlers only need an `AsyncIterable<string>` line stream.
|
|
625
625
|
*/
|
|
626
|
-
async _performFetch(endpoint, messages, prediction, requestId, fetchMetadata, shouldRemoveCursorTagFromResponse, editWindow, documentBeforeEdits, fetchCancellationToken, tracing) {
|
|
626
|
+
async _performFetch(endpoint, messages, prediction, modelServiceConfig, requestId, fetchMetadata, shouldRemoveCursorTagFromResponse, editWindow, documentBeforeEdits, fetchCancellationToken, tracing) {
|
|
627
627
|
const { tracer, logContext, telemetry } = tracing;
|
|
628
628
|
const useFetcher = this.configService.getExperimentBasedConfig(configurationService_1.ConfigKey.NextEditSuggestionsFetcher, this.expService) || undefined;
|
|
629
629
|
const fetchStreamSource = new chatMLFetcher_1.FetchStreamSource();
|
|
@@ -634,13 +634,7 @@ let XtabProvider = class XtabProvider {
|
|
|
634
634
|
logContext.setHeaderRequestId(requestId);
|
|
635
635
|
telemetry.setFetchStartedAt();
|
|
636
636
|
logContext.setFetchStartTime();
|
|
637
|
-
const requestOptions =
|
|
638
|
-
if (!this.configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsXtabProviderUsePrediction, this.expService)
|
|
639
|
-
&& !this.configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsXtabProviderUseMaxTokens, this.expService)) {
|
|
640
|
-
// ChatMLFetcher adds { max_tokens: endpoint.maxOutputTokens, ...requestOptions } when not using prediction.
|
|
641
|
-
// Explicit undefined overrides that default. JSON serialization then omits max_tokens
|
|
642
|
-
requestOptions.max_tokens = undefined;
|
|
643
|
-
}
|
|
637
|
+
const requestOptions = this.prepareRequestOptions(prediction, modelServiceConfig);
|
|
644
638
|
// we must not await this promise because we want to stream edits as they come in
|
|
645
639
|
const fetchResultPromise = endpoint.makeChatRequest2({
|
|
646
640
|
debugName: XtabProvider_1.ID,
|
|
@@ -723,13 +717,33 @@ let XtabProvider = class XtabProvider {
|
|
|
723
717
|
})();
|
|
724
718
|
return new FetchResult.Lines(linesStream, () => responseSoFar, fetchRequestStopWatch);
|
|
725
719
|
}
|
|
720
|
+
prepareRequestOptions(prediction, modelServiceConfig) {
|
|
721
|
+
const requestOptions = { temperature: 0, stream: true, prediction };
|
|
722
|
+
if (modelServiceConfig.reasoningEffort !== undefined) {
|
|
723
|
+
requestOptions.reasoning_effort = modelServiceConfig.reasoningEffort;
|
|
724
|
+
}
|
|
725
|
+
// Prediction requests do not support token limits.
|
|
726
|
+
if (!this.configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsXtabProviderUsePrediction, this.expService)) {
|
|
727
|
+
const useMaxTokens = this.configService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.InlineEditsXtabProviderUseMaxTokens, this.expService);
|
|
728
|
+
if (!useMaxTokens) {
|
|
729
|
+
// Explicit undefined suppresses the fetcher's default max_tokens limit.
|
|
730
|
+
requestOptions.max_tokens = undefined;
|
|
731
|
+
}
|
|
732
|
+
else if (modelServiceConfig.maxCompletionTokens !== undefined) {
|
|
733
|
+
// Replace the fetcher's default max_tokens limit for reasoning models.
|
|
734
|
+
requestOptions.max_tokens = undefined;
|
|
735
|
+
requestOptions.max_completion_tokens = modelServiceConfig.maxCompletionTokens;
|
|
736
|
+
}
|
|
737
|
+
}
|
|
738
|
+
return requestOptions;
|
|
739
|
+
}
|
|
726
740
|
async *_streamEditsImpl(request, editStreamCtx, responseOpts, fetchMetadata, retryState, delaySession, tracing, cancellationToken, fetchCts, fetchCancellationToken) {
|
|
727
741
|
const { tracer, logContext, telemetry } = tracing;
|
|
728
742
|
const { endpoint, messages, clippedTaggedCurrentDoc, editWindowInfo, promptPieces, prediction, originalEditWindow } = editStreamCtx;
|
|
729
743
|
const { editWindow, editWindowLines, cursorLineInEditWindowOffset, editWindowLineRange } = editWindowInfo;
|
|
730
744
|
const targetDocument = request.getActiveDocument().id;
|
|
731
745
|
// Phase 1: Fetch lifecycle — initiate HTTP request and produce a clean line stream
|
|
732
|
-
const fetchResult = await this._performFetch(endpoint, messages, prediction, request.headerRequestId, fetchMetadata, responseOpts.shouldRemoveCursorTagFromResponse, editWindow, request.documentBeforeEdits, fetchCancellationToken, tracing);
|
|
746
|
+
const fetchResult = await this._performFetch(endpoint, messages, prediction, editStreamCtx.modelServiceConfig, request.headerRequestId, fetchMetadata, responseOpts.shouldRemoveCursorTagFromResponse, editWindow, request.documentBeforeEdits, fetchCancellationToken, tracing);
|
|
733
747
|
if (fetchResult instanceof FetchResult.ModelNotFound) {
|
|
734
748
|
return yield* this.doGetNextEdit(request, delaySession, tracing, cancellationToken, retryState);
|
|
735
749
|
}
|