@vscode/chat-lib 0.1.0 → 0.1.1-1
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/delayer.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/delayer.js +4 -3
- package/dist/src/_internal/extension/inlineEdits/common/delayer.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js +1 -2
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.d.ts +0 -1
- 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/prompt/node/chatMLFetcher.d.ts +21 -7
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts.map +1 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js +409 -175
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js.map +1 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.d.ts +42 -0
- package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.d.ts.map +1 -0
- package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.js +171 -0
- package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.js.map +1 -0
- package/dist/src/_internal/extension/xtab/common/tags.d.ts +13 -0
- package/dist/src/_internal/extension/xtab/common/tags.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/common/tags.js +15 -1
- package/dist/src/_internal/extension/xtab/common/tags.js.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabProvider.js +16 -23
- package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +2 -3
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.js +4 -5
- package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts +2 -0
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js +39 -4
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js.map +1 -1
- package/dist/src/_internal/platform/github/common/githubAPI.d.ts +5 -6
- package/dist/src/_internal/platform/github/common/githubAPI.d.ts.map +1 -1
- package/dist/src/_internal/platform/github/common/githubAPI.js +6 -0
- package/dist/src/_internal/platform/github/common/githubAPI.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/observableWorkspace.d.ts +0 -1
- package/dist/src/_internal/platform/inlineEdits/common/observableWorkspace.d.ts.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/observableWorkspace.js +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/observableWorkspace.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts +21 -9
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js +51 -17
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js.map +1 -1
- package/dist/src/_internal/platform/networking/common/fetch.d.ts +0 -1
- package/dist/src/_internal/platform/networking/common/fetch.d.ts.map +1 -1
- package/dist/src/_internal/platform/networking/common/fetch.js +0 -8
- package/dist/src/_internal/platform/networking/common/fetch.js.map +1 -1
- package/dist/src/_internal/platform/openai/node/fetch.d.ts +2 -33
- package/dist/src/_internal/platform/openai/node/fetch.d.ts.map +1 -1
- package/dist/src/_internal/platform/openai/node/fetch.js +0 -401
- package/dist/src/_internal/platform/openai/node/fetch.js.map +1 -1
- package/dist/src/package.json +49 -28
- package/package.json +1 -1
|
@@ -5,23 +5,6 @@
|
|
|
5
5
|
*--------------------------------------------------------------------------------------------*/
|
|
6
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
7
|
exports.ChatFailKind = exports.FetchResponseKind = void 0;
|
|
8
|
-
exports.fetchAndStreamChat = fetchAndStreamChat;
|
|
9
|
-
const crypto_1 = require("../../../util/common/crypto");
|
|
10
|
-
const uuid_1 = require("../../../util/vs/base/common/uuid");
|
|
11
|
-
const instantiation_1 = require("../../../util/vs/platform/instantiation/common/instantiation");
|
|
12
|
-
const authentication_1 = require("../../authentication/common/authentication");
|
|
13
|
-
const chatQuotaService_1 = require("../../chat/common/chatQuotaService");
|
|
14
|
-
const commonTypes_1 = require("../../chat/common/commonTypes");
|
|
15
|
-
const interactionService_1 = require("../../chat/common/interactionService");
|
|
16
|
-
const capiClient_1 = require("../../endpoint/common/capiClient");
|
|
17
|
-
const logService_1 = require("../../log/common/logService");
|
|
18
|
-
const fetch_1 = require("../../networking/common/fetch");
|
|
19
|
-
const fetcherService_1 = require("../../networking/common/fetcherService");
|
|
20
|
-
const networking_1 = require("../../networking/common/networking");
|
|
21
|
-
const chatStream_1 = require("../../networking/node/chatStream");
|
|
22
|
-
const stream_1 = require("../../networking/node/stream");
|
|
23
|
-
const telemetry_1 = require("../../telemetry/common/telemetry");
|
|
24
|
-
const telemetryData_1 = require("../../telemetry/common/telemetryData");
|
|
25
8
|
var FetchResponseKind;
|
|
26
9
|
(function (FetchResponseKind) {
|
|
27
10
|
FetchResponseKind["Success"] = "success";
|
|
@@ -46,388 +29,4 @@ var ChatFailKind;
|
|
|
46
29
|
ChatFailKind["NotFound"] = "notFound";
|
|
47
30
|
ChatFailKind["Unknown"] = "unknown";
|
|
48
31
|
})(ChatFailKind || (exports.ChatFailKind = ChatFailKind = {}));
|
|
49
|
-
/**
|
|
50
|
-
* A fetcher specialized to fetch ChatML completions. This differs from the standard fetcher in the form that ChatML
|
|
51
|
-
* requires a different datamodel. Details can be found here https://platform.openai.com/docs/guides/chat
|
|
52
|
-
*
|
|
53
|
-
* This fetcher was created because the standard fetcher is tightly coupled to the OpenAI API completion models and a major refactoring
|
|
54
|
-
* or rewrite is necessary to have a more generic fetcher that can be used for both completions and chat models.
|
|
55
|
-
*/
|
|
56
|
-
async function fetchAndStreamChat(accessor, chatEndpointInfo, request, baseTelemetryData, finishedCb, secretKey, location, ourRequestId, nChoices, userInitiatedRequest, cancel, telemetryProperties, useFetcher) {
|
|
57
|
-
const logService = accessor.get(logService_1.ILogService);
|
|
58
|
-
const telemetryService = accessor.get(telemetry_1.ITelemetryService);
|
|
59
|
-
const chatQuotaService = accessor.get(chatQuotaService_1.IChatQuotaService);
|
|
60
|
-
const authenticationService = accessor.get(authentication_1.IAuthenticationService);
|
|
61
|
-
const instantiationService = accessor.get(instantiation_1.IInstantiationService);
|
|
62
|
-
if (cancel?.isCancellationRequested) {
|
|
63
|
-
return { type: FetchResponseKind.Canceled, reason: 'before fetch request' };
|
|
64
|
-
}
|
|
65
|
-
logService.debug(`modelMaxPromptTokens ${chatEndpointInfo.modelMaxPromptTokens}`);
|
|
66
|
-
logService.debug(`modelMaxResponseTokens ${request.max_tokens ?? 2048}`);
|
|
67
|
-
logService.debug(`chat model ${chatEndpointInfo.model}`);
|
|
68
|
-
secretKey ??= (await authenticationService.getCopilotToken()).token;
|
|
69
|
-
if (!secretKey) {
|
|
70
|
-
// If no key is set we error
|
|
71
|
-
const urlOrRequestMetadata = (0, networking_1.stringifyUrlOrRequestMetadata)(chatEndpointInfo.urlOrRequestMetadata);
|
|
72
|
-
logService.error(`Failed to send request to ${urlOrRequestMetadata} due to missing key`);
|
|
73
|
-
(0, stream_1.sendCommunicationErrorTelemetry)(telemetryService, `Failed to send request to ${urlOrRequestMetadata} due to missing key`);
|
|
74
|
-
return {
|
|
75
|
-
type: FetchResponseKind.Failed,
|
|
76
|
-
modelRequestId: undefined,
|
|
77
|
-
failKind: ChatFailKind.TokenExpiredOrInvalid,
|
|
78
|
-
reason: 'key is missing'
|
|
79
|
-
};
|
|
80
|
-
}
|
|
81
|
-
// Generate unique ID to link input and output messages
|
|
82
|
-
const modelCallId = (0, uuid_1.generateUuid)();
|
|
83
|
-
const response = await instantiationService.invokeFunction(accessor => fetchWithInstrumentation(accessor, chatEndpointInfo, ourRequestId, request, secretKey, location, userInitiatedRequest, cancel, { ...telemetryProperties, modelCallId }, useFetcher));
|
|
84
|
-
if (cancel?.isCancellationRequested) {
|
|
85
|
-
const body = await response.body();
|
|
86
|
-
try {
|
|
87
|
-
// Destroy the stream so that the server is hopefully notified we don't want any more data
|
|
88
|
-
// and can cancel/forget about the request itself.
|
|
89
|
-
body.destroy();
|
|
90
|
-
}
|
|
91
|
-
catch (e) {
|
|
92
|
-
logService.error(e, `Error destroying stream`);
|
|
93
|
-
telemetryService.sendGHTelemetryException(e, 'Error destroying stream');
|
|
94
|
-
}
|
|
95
|
-
return { type: FetchResponseKind.Canceled, reason: 'after fetch request' };
|
|
96
|
-
}
|
|
97
|
-
if (response.status === 200 && authenticationService.copilotToken?.isFreeUser && authenticationService.copilotToken?.isChatQuotaExceeded) {
|
|
98
|
-
authenticationService.resetCopilotToken();
|
|
99
|
-
}
|
|
100
|
-
if (response.status !== 200) {
|
|
101
|
-
const telemetryData = createTelemetryData(chatEndpointInfo, location, ourRequestId);
|
|
102
|
-
logService.info('Request ID for failed request: ' + ourRequestId);
|
|
103
|
-
return instantiationService.invokeFunction(handleError, telemetryData, response, ourRequestId);
|
|
104
|
-
}
|
|
105
|
-
// Extend baseTelemetryData with modelCallId for output messages
|
|
106
|
-
const extendedBaseTelemetryData = baseTelemetryData.extendedBy({ modelCallId });
|
|
107
|
-
const chatCompletions = await chatEndpointInfo.processResponseFromChatEndpoint(telemetryService, logService, response, nChoices ?? /* OpenAI's default */ 1, finishedCb, extendedBaseTelemetryData, cancel);
|
|
108
|
-
// CAPI will return us a Copilot Edits Session Header which is our token to using the speculative decoding endpoint
|
|
109
|
-
// We should store this in the auth service for easy use later
|
|
110
|
-
if (response.headers.get('Copilot-Edits-Session')) {
|
|
111
|
-
authenticationService.speculativeDecodingEndpointToken = response.headers.get('Copilot-Edits-Session') ?? undefined;
|
|
112
|
-
}
|
|
113
|
-
chatQuotaService.processQuotaHeaders(response.headers);
|
|
114
|
-
return {
|
|
115
|
-
type: FetchResponseKind.Success,
|
|
116
|
-
chatCompletions: chatCompletions,
|
|
117
|
-
getProcessingTime: () => (0, fetch_1.getProcessingTime)(response),
|
|
118
|
-
};
|
|
119
|
-
}
|
|
120
|
-
function createTelemetryData(chatEndpointInfo, location, headerRequestId) {
|
|
121
|
-
return telemetryData_1.TelemetryData.createAndMarkAsIssued({
|
|
122
|
-
endpoint: 'completions',
|
|
123
|
-
engineName: 'chat',
|
|
124
|
-
uiKind: commonTypes_1.ChatLocation.toString(location),
|
|
125
|
-
headerRequestId
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
async function handleError(accessor, telemetryData, response, requestId) {
|
|
129
|
-
const logService = accessor.get(logService_1.ILogService);
|
|
130
|
-
const telemetryService = accessor.get(telemetry_1.ITelemetryService);
|
|
131
|
-
const authenticationService = accessor.get(authentication_1.IAuthenticationService);
|
|
132
|
-
const modelRequestIdObj = (0, fetch_1.getRequestId)(response, undefined);
|
|
133
|
-
requestId = modelRequestIdObj.headerRequestId || requestId;
|
|
134
|
-
modelRequestIdObj.headerRequestId = requestId;
|
|
135
|
-
telemetryData.properties.error = `Response status was ${response.status}`;
|
|
136
|
-
telemetryData.properties.status = String(response.status);
|
|
137
|
-
telemetryService.sendGHTelemetryEvent('request.shownWarning', telemetryData.properties, telemetryData.measurements);
|
|
138
|
-
const text = await response.text();
|
|
139
|
-
let jsonData;
|
|
140
|
-
try {
|
|
141
|
-
jsonData = JSON.parse(text);
|
|
142
|
-
jsonData = jsonData?.error ?? jsonData; // Extract nested error object if it exists
|
|
143
|
-
}
|
|
144
|
-
catch {
|
|
145
|
-
// JSON parsing failed, it's not json content.
|
|
146
|
-
}
|
|
147
|
-
if (400 <= response.status && response.status < 500) {
|
|
148
|
-
if (response.status === 400 && text.includes('off_topic')) {
|
|
149
|
-
return {
|
|
150
|
-
type: FetchResponseKind.Failed,
|
|
151
|
-
modelRequestId: modelRequestIdObj,
|
|
152
|
-
failKind: ChatFailKind.OffTopic,
|
|
153
|
-
reason: 'filtered as off_topic by intent classifier: message was not programming related',
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
if (response.status === 401 && text.includes('authorize_url') && jsonData?.authorize_url) {
|
|
157
|
-
return {
|
|
158
|
-
type: FetchResponseKind.Failed,
|
|
159
|
-
modelRequestId: modelRequestIdObj,
|
|
160
|
-
failKind: ChatFailKind.AgentUnauthorized,
|
|
161
|
-
reason: response.statusText || response.statusText,
|
|
162
|
-
data: jsonData
|
|
163
|
-
};
|
|
164
|
-
}
|
|
165
|
-
if (response.status === 400 && jsonData?.code === 'previous_response_not_found') {
|
|
166
|
-
return {
|
|
167
|
-
type: FetchResponseKind.Failed,
|
|
168
|
-
modelRequestId: modelRequestIdObj,
|
|
169
|
-
failKind: ChatFailKind.InvalidPreviousResponseId,
|
|
170
|
-
reason: jsonData.message || 'Invalid previous response ID',
|
|
171
|
-
data: jsonData,
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
if (response.status === 401 || response.status === 403) {
|
|
175
|
-
// Token has expired or invalid, fetch a new one on next request
|
|
176
|
-
// TODO(drifkin): these actions should probably happen in vsc specific code
|
|
177
|
-
authenticationService.resetCopilotToken(response.status);
|
|
178
|
-
return {
|
|
179
|
-
type: FetchResponseKind.Failed,
|
|
180
|
-
modelRequestId: modelRequestIdObj,
|
|
181
|
-
failKind: ChatFailKind.TokenExpiredOrInvalid,
|
|
182
|
-
reason: jsonData?.message || `token expired or invalid: ${response.status}`,
|
|
183
|
-
};
|
|
184
|
-
}
|
|
185
|
-
if (response.status === 402) {
|
|
186
|
-
// When we receive a 402, we have exceed a quota
|
|
187
|
-
// This is stored on the token so let's refresh it
|
|
188
|
-
authenticationService.resetCopilotToken(response.status);
|
|
189
|
-
const retryAfter = response.headers.get('retry-after');
|
|
190
|
-
const convertToDate = (retryAfterString) => {
|
|
191
|
-
if (!retryAfterString) {
|
|
192
|
-
return undefined;
|
|
193
|
-
}
|
|
194
|
-
// Try treating it as a date
|
|
195
|
-
const retryAfterDate = new Date(retryAfterString);
|
|
196
|
-
if (!isNaN(retryAfterDate.getDate())) {
|
|
197
|
-
return retryAfterDate;
|
|
198
|
-
}
|
|
199
|
-
// It is not a date, try treating it as a duration from the current date
|
|
200
|
-
const retryAfterDuration = parseInt(retryAfterString, 10);
|
|
201
|
-
if (isNaN(retryAfterDuration)) {
|
|
202
|
-
return undefined;
|
|
203
|
-
}
|
|
204
|
-
return new Date(Date.now() + retryAfterDuration * 1000);
|
|
205
|
-
};
|
|
206
|
-
const retryAfterDate = convertToDate(retryAfter);
|
|
207
|
-
return {
|
|
208
|
-
type: FetchResponseKind.Failed,
|
|
209
|
-
modelRequestId: modelRequestIdObj,
|
|
210
|
-
failKind: ChatFailKind.QuotaExceeded,
|
|
211
|
-
reason: jsonData?.message ?? 'Free tier quota exceeded',
|
|
212
|
-
data: {
|
|
213
|
-
capiError: jsonData,
|
|
214
|
-
retryAfter: retryAfterDate
|
|
215
|
-
}
|
|
216
|
-
};
|
|
217
|
-
}
|
|
218
|
-
if (response.status === 404) {
|
|
219
|
-
let errorReason;
|
|
220
|
-
// Check if response body is valid JSON
|
|
221
|
-
if (!jsonData) {
|
|
222
|
-
errorReason = text;
|
|
223
|
-
}
|
|
224
|
-
else {
|
|
225
|
-
errorReason = JSON.stringify(jsonData);
|
|
226
|
-
}
|
|
227
|
-
return {
|
|
228
|
-
type: FetchResponseKind.Failed,
|
|
229
|
-
modelRequestId: modelRequestIdObj,
|
|
230
|
-
failKind: ChatFailKind.NotFound,
|
|
231
|
-
reason: errorReason
|
|
232
|
-
};
|
|
233
|
-
}
|
|
234
|
-
if (response.status === 422) {
|
|
235
|
-
return {
|
|
236
|
-
type: FetchResponseKind.Failed,
|
|
237
|
-
modelRequestId: modelRequestIdObj,
|
|
238
|
-
failKind: ChatFailKind.ContentFilter,
|
|
239
|
-
reason: 'Filtered by Responsible AI Service'
|
|
240
|
-
};
|
|
241
|
-
}
|
|
242
|
-
if (response.status === 424) {
|
|
243
|
-
return {
|
|
244
|
-
type: FetchResponseKind.Failed,
|
|
245
|
-
modelRequestId: modelRequestIdObj,
|
|
246
|
-
failKind: ChatFailKind.AgentFailedDependency,
|
|
247
|
-
reason: text
|
|
248
|
-
};
|
|
249
|
-
}
|
|
250
|
-
if (response.status === 429) {
|
|
251
|
-
let rateLimitReason = text;
|
|
252
|
-
rateLimitReason = jsonData?.message ?? jsonData?.code;
|
|
253
|
-
if (text.includes('extension_blocked') && jsonData?.code === 'extension_blocked' && jsonData?.type === 'rate_limit_error') {
|
|
254
|
-
return {
|
|
255
|
-
type: FetchResponseKind.Failed,
|
|
256
|
-
modelRequestId: modelRequestIdObj,
|
|
257
|
-
failKind: ChatFailKind.ExtensionBlocked,
|
|
258
|
-
reason: 'Extension blocked',
|
|
259
|
-
data: {
|
|
260
|
-
...jsonData?.message,
|
|
261
|
-
retryAfter: response.headers.get('retry-after'),
|
|
262
|
-
}
|
|
263
|
-
};
|
|
264
|
-
}
|
|
265
|
-
// HTTP 429 Too Many Requests
|
|
266
|
-
return {
|
|
267
|
-
type: FetchResponseKind.Failed,
|
|
268
|
-
modelRequestId: modelRequestIdObj,
|
|
269
|
-
failKind: ChatFailKind.RateLimited,
|
|
270
|
-
reason: rateLimitReason,
|
|
271
|
-
data: {
|
|
272
|
-
retryAfter: response.headers.get('retry-after'),
|
|
273
|
-
rateLimitKey: response.headers.get('x-ratelimit-exceeded'),
|
|
274
|
-
capiError: jsonData
|
|
275
|
-
}
|
|
276
|
-
};
|
|
277
|
-
}
|
|
278
|
-
if (response.status === 466) {
|
|
279
|
-
logService.info(text);
|
|
280
|
-
return {
|
|
281
|
-
type: FetchResponseKind.Failed,
|
|
282
|
-
modelRequestId: modelRequestIdObj,
|
|
283
|
-
failKind: ChatFailKind.ClientNotSupported,
|
|
284
|
-
reason: `client not supported: ${text}`
|
|
285
|
-
};
|
|
286
|
-
}
|
|
287
|
-
if (response.status === 499) {
|
|
288
|
-
logService.info('Cancelled by server');
|
|
289
|
-
return {
|
|
290
|
-
type: FetchResponseKind.Failed,
|
|
291
|
-
modelRequestId: modelRequestIdObj,
|
|
292
|
-
failKind: ChatFailKind.ServerCanceled,
|
|
293
|
-
reason: 'canceled by server'
|
|
294
|
-
};
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
else if (500 <= response.status && response.status < 600) {
|
|
298
|
-
if (response.status === 503) {
|
|
299
|
-
return {
|
|
300
|
-
type: FetchResponseKind.Failed,
|
|
301
|
-
modelRequestId: modelRequestIdObj,
|
|
302
|
-
failKind: ChatFailKind.RateLimited,
|
|
303
|
-
reason: 'Upstream provider rate limit hit',
|
|
304
|
-
data: {
|
|
305
|
-
retryAfter: null,
|
|
306
|
-
rateLimitKey: null,
|
|
307
|
-
capiError: { code: 'upstream_provider_rate_limit', message: text }
|
|
308
|
-
}
|
|
309
|
-
};
|
|
310
|
-
}
|
|
311
|
-
const reasonNoText = `Server error: ${response.status}`;
|
|
312
|
-
const reason = `${reasonNoText} ${text}`;
|
|
313
|
-
logService.error(reason);
|
|
314
|
-
// HTTP 5xx Server Error
|
|
315
|
-
return {
|
|
316
|
-
type: FetchResponseKind.Failed,
|
|
317
|
-
modelRequestId: modelRequestIdObj,
|
|
318
|
-
failKind: ChatFailKind.ServerError,
|
|
319
|
-
reason: reasonNoText,
|
|
320
|
-
};
|
|
321
|
-
}
|
|
322
|
-
logService.error(`Request Failed: ${response.status} ${text}`);
|
|
323
|
-
(0, stream_1.sendCommunicationErrorTelemetry)(telemetryService, 'Unhandled status from server: ' + response.status, text);
|
|
324
|
-
return {
|
|
325
|
-
type: FetchResponseKind.Failed,
|
|
326
|
-
modelRequestId: modelRequestIdObj,
|
|
327
|
-
failKind: ChatFailKind.Unknown,
|
|
328
|
-
reason: `Request Failed: ${response.status} ${text}`
|
|
329
|
-
};
|
|
330
|
-
}
|
|
331
|
-
async function fetchWithInstrumentation(accessor, chatEndpoint, ourRequestId, request, secretKey, location, userInitiatedRequest, cancel, telemetryProperties, useFetcher) {
|
|
332
|
-
const logService = accessor.get(logService_1.ILogService);
|
|
333
|
-
const telemetryService = accessor.get(telemetry_1.ITelemetryService);
|
|
334
|
-
const fetcherService = accessor.get(fetcherService_1.IFetcherService);
|
|
335
|
-
const capiClientService = accessor.get(capiClient_1.ICAPIClientService);
|
|
336
|
-
const interactionService = accessor.get(interactionService_1.IInteractionService);
|
|
337
|
-
// If request contains an image, we include this header.
|
|
338
|
-
const additionalHeaders = {
|
|
339
|
-
'X-Interaction-Id': interactionService.interactionId,
|
|
340
|
-
'X-Initiator': userInitiatedRequest ? 'user' : 'agent', // Agent = a system request / not the primary user query.
|
|
341
|
-
};
|
|
342
|
-
if (request.messages?.some((m) => Array.isArray(m.content) ? m.content.some(c => 'image_url' in c) : false) && chatEndpoint.supportsVision) {
|
|
343
|
-
additionalHeaders['Copilot-Vision-Request'] = 'true';
|
|
344
|
-
}
|
|
345
|
-
const telemetryData = telemetryData_1.TelemetryData.createAndMarkAsIssued({
|
|
346
|
-
endpoint: 'completions',
|
|
347
|
-
engineName: 'chat',
|
|
348
|
-
uiKind: commonTypes_1.ChatLocation.toString(location),
|
|
349
|
-
...telemetryProperties // This includes the modelCallId from fetchAndStreamChat
|
|
350
|
-
}, {
|
|
351
|
-
maxTokenWindow: chatEndpoint.modelMaxPromptTokens
|
|
352
|
-
});
|
|
353
|
-
for (const [key, value] of Object.entries(request)) {
|
|
354
|
-
if (key === 'messages' || key === 'input') {
|
|
355
|
-
continue;
|
|
356
|
-
} // Skip messages (PII)
|
|
357
|
-
telemetryData.properties[`request.option.${key}`] = JSON.stringify(value) ?? 'undefined';
|
|
358
|
-
}
|
|
359
|
-
// The request ID we are passed in is sent in the request to the proxy, and included in our pre-request telemetry.
|
|
360
|
-
// We hope (but do not rely on) that the model will use the same ID in the response, allowing us to correlate
|
|
361
|
-
// the request and response.
|
|
362
|
-
telemetryData.properties['headerRequestId'] = ourRequestId;
|
|
363
|
-
telemetryService.sendGHTelemetryEvent('request.sent', telemetryData.properties, telemetryData.measurements);
|
|
364
|
-
const requestStart = Date.now();
|
|
365
|
-
const intent = locationToIntent(location);
|
|
366
|
-
// Wrap the Promise with success/error callbacks so we can log/measure it
|
|
367
|
-
return (0, networking_1.postRequest)(fetcherService, telemetryService, capiClientService, chatEndpoint, secretKey, await (0, crypto_1.createRequestHMAC)(process.env.HMAC_SECRET), intent, ourRequestId, request, additionalHeaders, cancel, useFetcher).then(response => {
|
|
368
|
-
const apim = response.headers.get('apim-request-id');
|
|
369
|
-
if (apim) {
|
|
370
|
-
logService.debug(`APIM request id: ${apim}`);
|
|
371
|
-
}
|
|
372
|
-
const ghRequestId = response.headers.get('x-github-request-id');
|
|
373
|
-
if (ghRequestId) {
|
|
374
|
-
logService.debug(`GH request id: ${ghRequestId}`);
|
|
375
|
-
}
|
|
376
|
-
// This ID is hopefully the one the same as ourRequestId, but it is not guaranteed.
|
|
377
|
-
// If they are different then we will override the original one we set in telemetryData above.
|
|
378
|
-
const modelRequestId = (0, fetch_1.getRequestId)(response, undefined);
|
|
379
|
-
telemetryData.extendWithRequestId(modelRequestId);
|
|
380
|
-
// TODO: Add response length (requires parsing)
|
|
381
|
-
const totalTimeMs = Date.now() - requestStart;
|
|
382
|
-
telemetryData.measurements.totalTimeMs = totalTimeMs;
|
|
383
|
-
logService.debug(`request.response: [${(0, networking_1.stringifyUrlOrRequestMetadata)(chatEndpoint.urlOrRequestMetadata)}], took ${totalTimeMs} ms`);
|
|
384
|
-
telemetryService.sendGHTelemetryEvent('request.response', telemetryData.properties, telemetryData.measurements);
|
|
385
|
-
return response;
|
|
386
|
-
})
|
|
387
|
-
.catch(error => {
|
|
388
|
-
if (fetcherService.isAbortError(error)) {
|
|
389
|
-
// If we cancelled a network request, we don't want to log a `request.error`
|
|
390
|
-
throw error;
|
|
391
|
-
}
|
|
392
|
-
const warningTelemetry = telemetryData.extendedBy({ error: 'Network exception' });
|
|
393
|
-
telemetryService.sendGHTelemetryEvent('request.shownWarning', warningTelemetry.properties, warningTelemetry.measurements);
|
|
394
|
-
telemetryData.properties.code = String(error.code ?? '');
|
|
395
|
-
telemetryData.properties.errno = String(error.errno ?? '');
|
|
396
|
-
telemetryData.properties.message = String(error.message ?? '');
|
|
397
|
-
telemetryData.properties.type = String(error.type ?? '');
|
|
398
|
-
const totalTimeMs = Date.now() - requestStart;
|
|
399
|
-
telemetryData.measurements.totalTimeMs = totalTimeMs;
|
|
400
|
-
logService.debug(`request.response: [${(0, networking_1.stringifyUrlOrRequestMetadata)(chatEndpoint.urlOrRequestMetadata)}] took ${totalTimeMs} ms`);
|
|
401
|
-
telemetryService.sendGHTelemetryEvent('request.error', telemetryData.properties, telemetryData.measurements);
|
|
402
|
-
throw error;
|
|
403
|
-
})
|
|
404
|
-
.finally(() => {
|
|
405
|
-
(0, chatStream_1.sendEngineMessagesTelemetry)(telemetryService, request.messages ?? [], telemetryData, false, logService);
|
|
406
|
-
});
|
|
407
|
-
}
|
|
408
|
-
/**
|
|
409
|
-
* WARNING: The value that is returned from this function drives the disablement of RAI for full-file rewrite requests
|
|
410
|
-
* in Copilot Edits, Copilot Chat, Agent Mode, and Inline Chat.
|
|
411
|
-
* If your chat location generates full-file rewrite requests and you are unsure if changing something here will cause problems, please talk to @roblourens
|
|
412
|
-
*/
|
|
413
|
-
function locationToIntent(location) {
|
|
414
|
-
switch (location) {
|
|
415
|
-
case commonTypes_1.ChatLocation.Panel:
|
|
416
|
-
return 'conversation-panel';
|
|
417
|
-
case commonTypes_1.ChatLocation.Editor:
|
|
418
|
-
return 'conversation-inline';
|
|
419
|
-
case commonTypes_1.ChatLocation.EditingSession:
|
|
420
|
-
return 'conversation-edits';
|
|
421
|
-
case commonTypes_1.ChatLocation.Notebook:
|
|
422
|
-
return 'conversation-notebook';
|
|
423
|
-
case commonTypes_1.ChatLocation.Terminal:
|
|
424
|
-
return 'conversation-terminal';
|
|
425
|
-
case commonTypes_1.ChatLocation.Other:
|
|
426
|
-
return 'conversation-other';
|
|
427
|
-
case commonTypes_1.ChatLocation.Agent:
|
|
428
|
-
return 'conversation-agent';
|
|
429
|
-
case commonTypes_1.ChatLocation.ResponsesProxy:
|
|
430
|
-
return 'responses-proxy';
|
|
431
|
-
}
|
|
432
|
-
}
|
|
433
32
|
//# sourceMappingURL=fetch.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../../src/_internal/platform/openai/node/fetch.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AA6FhG,gDA4GC;AArMD,wDAAgE;AAChE,4DAAiE;AACjE,gGAAuH;AACvH,+EAAoF;AACpF,yEAAuE;AACvE,+DAA6D;AAC7D,6EAA2E;AAC3E,iEAAsE;AACtE,4DAA0D;AAC1D,yDAAwI;AACxI,2EAA8F;AAC9F,mEAA8H;AAE9H,iEAA+E;AAC/E,yDAA+E;AAC/E,gEAA0F;AAC1F,wEAAqE;AAuBrE,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC5B,wCAAmB,CAAA;IACnB,sCAAiB,CAAA;IACjB,0CAAqB,CAAA;AACtB,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B;AAqBD,IAAY,YAgBX;AAhBD,WAAY,YAAY;IACvB,qCAAqB,CAAA;IACrB,+DAA+C,CAAA;IAC/C,iDAAiC,CAAA;IACjC,yDAAyC,CAAA;IACzC,2CAA2B,CAAA;IAC3B,+CAA+B,CAAA;IAC/B,qDAAqC,CAAA;IACrC,2CAA2B,CAAA;IAC3B,+CAA+B,CAAA;IAC/B,kDAAkC,CAAA;IAClC,0DAA0C,CAAA;IAC1C,qDAAqC,CAAA;IACrC,uEAAuD,CAAA;IACvD,qCAAqB,CAAA;IACrB,mCAAmB,CAAA;AACpB,CAAC,EAhBW,YAAY,4BAAZ,YAAY,QAgBvB;AAED;;;;;;GAMG;AACI,KAAK,UAAU,kBAAkB,CACvC,QAA0B,EAC1B,gBAA+B,EAC/B,OAAsB,EACtB,iBAAgC,EAChC,UAA4B,EAC5B,SAA6B,EAC7B,QAAsB,EACtB,YAAoB,EACpB,QAA4B,EAC5B,oBAA8B,EAC9B,MAAsC,EACtC,mBAAqD,EACrD,UAAsB;IAEtB,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,wBAAW,CAAC,CAAC;IAC7C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,6BAAiB,CAAC,CAAC;IACzD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,oCAAiB,CAAC,CAAC;IACzD,MAAM,qBAAqB,GAAG,QAAQ,CAAC,GAAG,CAAC,uCAAsB,CAAC,CAAC;IACnE,MAAM,oBAAoB,GAAG,QAAQ,CAAC,GAAG,CAAC,qCAAqB,CAAC,CAAC;IACjE,IAAI,MAAM,EAAE,uBAAuB,EAAE,CAAC;QACrC,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,sBAAsB,EAAE,CAAC;IAC7E,CAAC;IAED,UAAU,CAAC,KAAK,CAAC,wBAAwB,gBAAgB,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAClF,UAAU,CAAC,KAAK,CAAC,0BAA0B,OAAO,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC,CAAC;IACzE,UAAU,CAAC,KAAK,CAAC,cAAc,gBAAgB,CAAC,KAAK,EAAE,CAAC,CAAC;IAEzD,SAAS,KAAK,CAAC,MAAM,qBAAqB,CAAC,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC;IACpE,IAAI,CAAC,SAAS,EAAE,CAAC;QAChB,4BAA4B;QAC5B,MAAM,oBAAoB,GAAG,IAAA,0CAA6B,EAAC,gBAAgB,CAAC,oBAAoB,CAAC,CAAC;QAClG,UAAU,CAAC,KAAK,CAAC,6BAA6B,oBAAoB,qBAAqB,CAAC,CAAC;QACzF,IAAA,wCAA+B,EAAC,gBAAgB,EAAE,6BAA6B,oBAAoB,qBAAqB,CAAC,CAAC;QAC1H,OAAO;YACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;YAC9B,cAAc,EAAE,SAAS;YACzB,QAAQ,EAAE,YAAY,CAAC,qBAAqB;YAC5C,MAAM,EAAE,gBAAgB;SACxB,CAAC;IACH,CAAC;IAED,uDAAuD;IACvD,MAAM,WAAW,GAAG,IAAA,mBAAY,GAAE,CAAC;IAEnC,MAAM,QAAQ,GAAG,MAAM,oBAAoB,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CACrE,wBAAwB,CACvB,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,OAAO,EACP,SAAS,EACT,QAAQ,EACR,oBAAoB,EACpB,MAAM,EACN,EAAE,GAAG,mBAAmB,EAAE,WAAW,EAAE,EACvC,UAAU,CACV,CAAC,CAAC;IAEJ,IAAI,MAAM,EAAE,uBAAuB,EAAE,CAAC;QACrC,MAAM,IAAI,GAAG,MAAM,QAAS,CAAC,IAAI,EAAE,CAAC;QACpC,IAAI,CAAC;YACJ,0FAA0F;YAC1F,kDAAkD;YACjD,IAA0B,CAAC,OAAO,EAAE,CAAC;QACvC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;YAC/C,gBAAgB,CAAC,wBAAwB,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,qBAAqB,EAAE,CAAC;IAC5E,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,qBAAqB,CAAC,YAAY,EAAE,UAAU,IAAI,qBAAqB,CAAC,YAAY,EAAE,mBAAmB,EAAE,CAAC;QAC1I,qBAAqB,CAAC,iBAAiB,EAAE,CAAC;IAC3C,CAAC;IAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;QAC7B,MAAM,aAAa,GAAG,mBAAmB,CAAC,gBAAgB,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;QACpF,UAAU,CAAC,IAAI,CAAC,iCAAiC,GAAG,YAAY,CAAC,CAAC;QAClE,OAAO,oBAAoB,CAAC,cAAc,CAAC,WAAW,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;IAChG,CAAC;IAED,gEAAgE;IAChE,MAAM,yBAAyB,GAAG,iBAAiB,CAAC,UAAU,CAAC,EAAE,WAAW,EAAE,CAAC,CAAC;IAEhF,MAAM,eAAe,GAAG,MAAM,gBAAgB,CAAC,+BAA+B,CAC7E,gBAAgB,EAChB,UAAU,EACV,QAAQ,EACR,QAAQ,IAAI,sBAAsB,CAAC,CAAC,EACpC,UAAU,EACV,yBAAyB,EACzB,MAAM,CACN,CAAC;IAEF,mHAAmH;IACnH,8DAA8D;IAC9D,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,EAAE,CAAC;QACnD,qBAAqB,CAAC,gCAAgC,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,SAAS,CAAC;IACrH,CAAC;IAED,gBAAgB,CAAC,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEvD,OAAO;QACN,IAAI,EAAE,iBAAiB,CAAC,OAAO;QAC/B,eAAe,EAAE,eAAe;QAChC,iBAAiB,EAAE,GAAG,EAAE,CAAC,IAAA,yBAAiB,EAAC,QAAQ,CAAC;KACpD,CAAC;AACH,CAAC;AAED,SAAS,mBAAmB,CAAC,gBAA+B,EAAE,QAAsB,EAAE,eAAuB;IAC5G,OAAO,6BAAa,CAAC,qBAAqB,CAAC;QAC1C,QAAQ,EAAE,aAAa;QACvB,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,0BAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvC,eAAe;KACf,CAAC,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,WAAW,CACzB,QAA0B,EAC1B,aAA4B,EAC5B,QAAkB,EAClB,SAAiB;IAEjB,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,wBAAW,CAAC,CAAC;IAC7C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,6BAAiB,CAAC,CAAC;IACzD,MAAM,qBAAqB,GAAG,QAAQ,CAAC,GAAG,CAAC,uCAAsB,CAAC,CAAC;IACnE,MAAM,iBAAiB,GAAG,IAAA,oBAAY,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC5D,SAAS,GAAG,iBAAiB,CAAC,eAAe,IAAI,SAAS,CAAC;IAC3D,iBAAiB,CAAC,eAAe,GAAG,SAAS,CAAC;IAE9C,aAAa,CAAC,UAAU,CAAC,KAAK,GAAG,uBAAuB,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC1E,aAAa,CAAC,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC1D,gBAAgB,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAEpH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACnC,IAAI,QAAyC,CAAC;IAC9C,IAAI,CAAC;QACJ,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC5B,QAAQ,GAAG,QAAQ,EAAE,KAAK,IAAI,QAAQ,CAAC,CAAC,2CAA2C;IACpF,CAAC;IAAC,MAAM,CAAC;QACR,8CAA8C;IAC/C,CAAC;IAED,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAErD,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAC3D,OAAO;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;gBAC9B,cAAc,EAAE,iBAAiB;gBACjC,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,MAAM,EAAE,iFAAiF;aACzF,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,QAAQ,EAAE,aAAa,EAAE,CAAC;YAC1F,OAAO;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;gBAC9B,cAAc,EAAE,iBAAiB;gBACjC,QAAQ,EAAE,YAAY,CAAC,iBAAiB;gBACxC,MAAM,EAAE,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,UAAU;gBAClD,IAAI,EAAE,QAAQ;aACd,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,EAAE,IAAI,KAAK,6BAA6B,EAAE,CAAC;YACjF,OAAO;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;gBAC9B,cAAc,EAAE,iBAAiB;gBACjC,QAAQ,EAAE,YAAY,CAAC,yBAAyB;gBAChD,MAAM,EAAE,QAAQ,CAAC,OAAO,IAAI,8BAA8B;gBAC1D,IAAI,EAAE,QAAQ;aACd,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YACxD,gEAAgE;YAChE,2EAA2E;YAC3E,qBAAqB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YACzD,OAAO;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;gBAC9B,cAAc,EAAE,iBAAiB;gBACjC,QAAQ,EAAE,YAAY,CAAC,qBAAqB;gBAC5C,MAAM,EAAE,QAAQ,EAAE,OAAO,IAAI,6BAA6B,QAAQ,CAAC,MAAM,EAAE;aAC3E,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7B,gDAAgD;YAChD,kDAAkD;YAClD,qBAAqB,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;YAEzD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAEvD,MAAM,aAAa,GAAG,CAAC,gBAA+B,EAAoB,EAAE;gBAC3E,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACvB,OAAO,SAAS,CAAC;gBAClB,CAAC;gBAED,4BAA4B;gBAC5B,MAAM,cAAc,GAAG,IAAI,IAAI,CAAC,gBAAgB,CAAC,CAAC;gBAClD,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC;oBACtC,OAAO,cAAc,CAAC;gBACvB,CAAC;gBAED,wEAAwE;gBACxE,MAAM,kBAAkB,GAAG,QAAQ,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC;gBAC1D,IAAI,KAAK,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBAC/B,OAAO,SAAS,CAAC;gBAClB,CAAC;gBAED,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,kBAAkB,GAAG,IAAI,CAAC,CAAC;YACzD,CAAC,CAAC;YAEF,MAAM,cAAc,GAAG,aAAa,CAAC,UAAU,CAAC,CAAC;YAEjD,OAAO;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;gBAC9B,cAAc,EAAE,iBAAiB;gBACjC,QAAQ,EAAE,YAAY,CAAC,aAAa;gBACpC,MAAM,EAAE,QAAQ,EAAE,OAAO,IAAI,0BAA0B;gBACvD,IAAI,EAAE;oBACL,SAAS,EAAE,QAAQ;oBACnB,UAAU,EAAE,cAAc;iBAC1B;aACD,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7B,IAAI,WAAmB,CAAC;YAExB,uCAAuC;YACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,WAAW,GAAG,IAAI,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACP,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC;YAED,OAAO;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;gBAC9B,cAAc,EAAE,iBAAiB;gBACjC,QAAQ,EAAE,YAAY,CAAC,QAAQ;gBAC/B,MAAM,EAAE,WAAW;aACnB,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7B,OAAO;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;gBAC9B,cAAc,EAAE,iBAAiB;gBACjC,QAAQ,EAAE,YAAY,CAAC,aAAa;gBACpC,MAAM,EAAE,oCAAoC;aAC5C,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7B,OAAO;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;gBAC9B,cAAc,EAAE,iBAAiB;gBACjC,QAAQ,EAAE,YAAY,CAAC,qBAAqB;gBAC5C,MAAM,EAAE,IAAI;aACZ,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7B,IAAI,eAAe,GAAG,IAAI,CAAC;YAC3B,eAAe,GAAG,QAAQ,EAAE,OAAO,IAAI,QAAQ,EAAE,IAAI,CAAC;YAEtD,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,IAAI,QAAQ,EAAE,IAAI,KAAK,mBAAmB,IAAI,QAAQ,EAAE,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBAC3H,OAAO;oBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;oBAC9B,cAAc,EAAE,iBAAiB;oBACjC,QAAQ,EAAE,YAAY,CAAC,gBAAgB;oBACvC,MAAM,EAAE,mBAAmB;oBAC3B,IAAI,EAAE;wBACL,GAAG,QAAQ,EAAE,OAAO;wBACpB,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;qBAC/C;iBACD,CAAC;YACH,CAAC;YAED,6BAA6B;YAC7B,OAAO;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;gBAC9B,cAAc,EAAE,iBAAiB;gBACjC,QAAQ,EAAE,YAAY,CAAC,WAAW;gBAClC,MAAM,EAAE,eAAe;gBACvB,IAAI,EAAE;oBACL,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC;oBAC/C,YAAY,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;oBAC1D,SAAS,EAAE,QAAQ;iBACnB;aACD,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7B,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;gBAC9B,cAAc,EAAE,iBAAiB;gBACjC,QAAQ,EAAE,YAAY,CAAC,kBAAkB;gBACzC,MAAM,EAAE,yBAAyB,IAAI,EAAE;aACvC,CAAC;QACH,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7B,UAAU,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;YACvC,OAAO;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;gBAC9B,cAAc,EAAE,iBAAiB;gBACjC,QAAQ,EAAE,YAAY,CAAC,cAAc;gBACrC,MAAM,EAAE,oBAAoB;aAC5B,CAAC;QACH,CAAC;IAEF,CAAC;SAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC;QAE5D,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;YAC7B,OAAO;gBACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;gBAC9B,cAAc,EAAE,iBAAiB;gBACjC,QAAQ,EAAE,YAAY,CAAC,WAAW;gBAClC,MAAM,EAAE,kCAAkC;gBAC1C,IAAI,EAAE;oBACL,UAAU,EAAE,IAAI;oBAChB,YAAY,EAAE,IAAI;oBAClB,SAAS,EAAE,EAAE,IAAI,EAAE,8BAA8B,EAAE,OAAO,EAAE,IAAI,EAAE;iBAClE;aACD,CAAC;QACH,CAAC;QAED,MAAM,YAAY,GAAG,iBAAiB,QAAQ,CAAC,MAAM,EAAE,CAAC;QACxD,MAAM,MAAM,GAAG,GAAG,YAAY,IAAI,IAAI,EAAE,CAAC;QACzC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACzB,wBAAwB;QACxB,OAAO;YACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;YAC9B,cAAc,EAAE,iBAAiB;YACjC,QAAQ,EAAE,YAAY,CAAC,WAAW;YAClC,MAAM,EAAE,YAAY;SACpB,CAAC;IACH,CAAC;IAED,UAAU,CAAC,KAAK,CAAC,mBAAmB,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC,CAAC;IAE/D,IAAA,wCAA+B,EAAC,gBAAgB,EAAE,gCAAgC,GAAG,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IAE5G,OAAO;QACN,IAAI,EAAE,iBAAiB,CAAC,MAAM;QAC9B,cAAc,EAAE,iBAAiB;QACjC,QAAQ,EAAE,YAAY,CAAC,OAAO;QAC9B,MAAM,EAAE,mBAAmB,QAAQ,CAAC,MAAM,IAAI,IAAI,EAAE;KACpD,CAAC;AACH,CAAC;AAED,KAAK,UAAU,wBAAwB,CACtC,QAA0B,EAC1B,YAA2B,EAC3B,YAAoB,EACpB,OAAsB,EACtB,SAAiB,EACjB,QAAsB,EACtB,oBAA8B,EAC9B,MAA0B,EAC1B,mBAAyC,EACzC,UAAsB;IAEtB,MAAM,UAAU,GAAG,QAAQ,CAAC,GAAG,CAAC,wBAAW,CAAC,CAAC;IAC7C,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,6BAAiB,CAAC,CAAC;IACzD,MAAM,cAAc,GAAG,QAAQ,CAAC,GAAG,CAAC,gCAAe,CAAC,CAAC;IACrD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,+BAAkB,CAAC,CAAC;IAC3D,MAAM,kBAAkB,GAAG,QAAQ,CAAC,GAAG,CAAC,wCAAmB,CAAC,CAAC;IAE7D,wDAAwD;IACxD,MAAM,iBAAiB,GAA2B;QACjD,kBAAkB,EAAE,kBAAkB,CAAC,aAAa;QACpD,aAAa,EAAE,oBAAoB,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,yDAAyD;KACjH,CAAC;IACF,IAAI,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC,CAAkB,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,WAAW,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,YAAY,CAAC,cAAc,EAAE,CAAC;QAC7J,iBAAiB,CAAC,wBAAwB,CAAC,GAAG,MAAM,CAAC;IACtD,CAAC;IACD,MAAM,aAAa,GAAG,6BAAa,CAAC,qBAAqB,CAAC;QACzD,QAAQ,EAAE,aAAa;QACvB,UAAU,EAAE,MAAM;QAClB,MAAM,EAAE,0BAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACvC,GAAG,mBAAmB,CAAC,wDAAwD;KAC/E,EAAE;QACF,cAAc,EAAE,YAAY,CAAC,oBAAoB;KACjD,CAAC,CAAC;IAEH,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACpD,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,OAAO,EAAE,CAAC;YAC3C,SAAS;QACV,CAAC,CAAC,sBAAsB;QACxB,aAAa,CAAC,UAAU,CAAC,kBAAkB,GAAG,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,WAAW,CAAC;IAC1F,CAAC;IAED,kHAAkH;IAClH,6GAA6G;IAC7G,4BAA4B;IAC5B,aAAa,CAAC,UAAU,CAAC,iBAAiB,CAAC,GAAG,YAAY,CAAC;IAE3D,gBAAgB,CAAC,oBAAoB,CAAC,cAAc,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;IAE5G,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAChC,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAE1C,yEAAyE;IACzE,OAAO,IAAA,wBAAW,EACjB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,SAAS,EACT,MAAM,IAAA,0BAAiB,EAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,EAChD,MAAM,EACN,YAAY,EACZ,OAAO,EACP,iBAAiB,EACjB,MAAM,EACN,UAAU,CACV,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;QACjB,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;QACrD,IAAI,IAAI,EAAE,CAAC;YACV,UAAU,CAAC,KAAK,CAAC,oBAAoB,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,MAAM,WAAW,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAChE,IAAI,WAAW,EAAE,CAAC;YACjB,UAAU,CAAC,KAAK,CAAC,kBAAkB,WAAW,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,mFAAmF;QACnF,8FAA8F;QAC9F,MAAM,cAAc,GAAG,IAAA,oBAAY,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzD,aAAa,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC;QAElD,+CAA+C;QAC/C,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;QAC9C,aAAa,CAAC,YAAY,CAAC,WAAW,GAAG,WAAW,CAAC;QAErD,UAAU,CAAC,KAAK,CAAC,sBAAsB,IAAA,0CAA6B,EAAC,YAAY,CAAC,oBAAoB,CAAC,WAAW,WAAW,KAAK,CAAC,CAAC;QAEpI,gBAAgB,CAAC,oBAAoB,CAAC,kBAAkB,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;QAEhH,OAAO,QAAQ,CAAC;IACjB,CAAC,CAAC;SACA,KAAK,CAAC,KAAK,CAAC,EAAE;QACd,IAAI,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;YACxC,4EAA4E;YAC5E,MAAM,KAAK,CAAC;QACb,CAAC;QAED,MAAM,gBAAgB,GAAG,aAAa,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC;QAClF,gBAAgB,CAAC,oBAAoB,CAAC,sBAAsB,EAAE,gBAAgB,CAAC,UAAU,EAAE,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAE1H,aAAa,CAAC,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QACzD,aAAa,CAAC,UAAU,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;QAC3D,aAAa,CAAC,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;QAC/D,aAAa,CAAC,UAAU,CAAC,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;QAEzD,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,YAAY,CAAC;QAC9C,aAAa,CAAC,YAAY,CAAC,WAAW,GAAG,WAAW,CAAC;QAErD,UAAU,CAAC,KAAK,CAAC,sBAAsB,IAAA,0CAA6B,EAAC,YAAY,CAAC,oBAAoB,CAAC,UAAU,WAAW,KAAK,CAAC,CAAC;QAEnI,gBAAgB,CAAC,oBAAoB,CAAC,eAAe,EAAE,aAAa,CAAC,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;QAE7G,MAAM,KAAK,CAAC;IACb,CAAC,CAAC;SACD,OAAO,CAAC,GAAG,EAAE;QACb,IAAA,wCAA2B,EAAC,gBAAgB,EAAE,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,UAAU,CAAC,CAAC;IACzG,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,QAAsB;IAC/C,QAAQ,QAAQ,EAAE,CAAC;QAClB,KAAK,0BAAY,CAAC,KAAK;YACtB,OAAO,oBAAoB,CAAC;QAC7B,KAAK,0BAAY,CAAC,MAAM;YACvB,OAAO,qBAAqB,CAAC;QAC9B,KAAK,0BAAY,CAAC,cAAc;YAC/B,OAAO,oBAAoB,CAAC;QAC7B,KAAK,0BAAY,CAAC,QAAQ;YACzB,OAAO,uBAAuB,CAAC;QAChC,KAAK,0BAAY,CAAC,QAAQ;YACzB,OAAO,uBAAuB,CAAC;QAChC,KAAK,0BAAY,CAAC,KAAK;YACtB,OAAO,oBAAoB,CAAC;QAC7B,KAAK,0BAAY,CAAC,KAAK;YACtB,OAAO,oBAAoB,CAAC;QAC7B,KAAK,0BAAY,CAAC,cAAc;YAC/B,OAAO,iBAAiB,CAAC;IAC3B,CAAC;AACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../../src/_internal/platform/openai/node/fetch.ts"],"names":[],"mappings":";AAAA;;;gGAGgG;;;AAKhG,IAAY,iBAIX;AAJD,WAAY,iBAAiB;IAC5B,wCAAmB,CAAA;IACnB,sCAAiB,CAAA;IACjB,0CAAqB,CAAA;AACtB,CAAC,EAJW,iBAAiB,iCAAjB,iBAAiB,QAI5B;AAoBD,IAAY,YAgBX;AAhBD,WAAY,YAAY;IACvB,qCAAqB,CAAA;IACrB,+DAA+C,CAAA;IAC/C,iDAAiC,CAAA;IACjC,yDAAyC,CAAA;IACzC,2CAA2B,CAAA;IAC3B,+CAA+B,CAAA;IAC/B,qDAAqC,CAAA;IACrC,2CAA2B,CAAA;IAC3B,+CAA+B,CAAA;IAC/B,kDAAkC,CAAA;IAClC,0DAA0C,CAAA;IAC1C,qDAAqC,CAAA;IACrC,uEAAuD,CAAA;IACvD,qCAAqB,CAAA;IACrB,mCAAmB,CAAA;AACpB,CAAC,EAhBW,YAAY,4BAAZ,YAAY,QAgBvB"}
|
package/dist/src/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "copilot-chat",
|
|
3
3
|
"displayName": "GitHub Copilot Chat",
|
|
4
4
|
"description": "AI chat features powered by Copilot",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.34.0",
|
|
6
6
|
"build": "1",
|
|
7
7
|
"internalAIKey": "1058ec22-3c95-4951-8443-f26c1f325911",
|
|
8
8
|
"completionsCoreVersion": "1.378.1799",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"icon": "assets/copilot.png",
|
|
24
24
|
"pricing": "Trial",
|
|
25
25
|
"engines": {
|
|
26
|
-
"vscode": "^1.
|
|
26
|
+
"vscode": "^1.107.0",
|
|
27
27
|
"npm": ">=9.0.0",
|
|
28
28
|
"node": ">=22.14.0"
|
|
29
29
|
},
|
|
@@ -2212,6 +2212,11 @@
|
|
|
2212
2212
|
"title": "Export All Prompt Logs as JSON...",
|
|
2213
2213
|
"icon": "$(export)"
|
|
2214
2214
|
},
|
|
2215
|
+
{
|
|
2216
|
+
"command": "github.copilot.chat.showAsChatSession",
|
|
2217
|
+
"title": "Show as chat session",
|
|
2218
|
+
"icon": "$(chat-sparkle)"
|
|
2219
|
+
},
|
|
2215
2220
|
{
|
|
2216
2221
|
"command": "github.copilot.debug.collectWorkspaceIndexDiagnostics",
|
|
2217
2222
|
"title": "%github.copilot.command.collectWorkspaceIndexDiagnostics%",
|
|
@@ -2304,6 +2309,12 @@
|
|
|
2304
2309
|
"title": "Change Completions Model",
|
|
2305
2310
|
"category": "GitHub Copilot",
|
|
2306
2311
|
"enablement": "github.copilot.extensionUnification.activated && !isWeb"
|
|
2312
|
+
},
|
|
2313
|
+
{
|
|
2314
|
+
"command": "github.copilot.chat.applyCopilotCLIAgentSessionChanges",
|
|
2315
|
+
"title": "%github.copilot.command.applyCopilotCLIAgentSessionChanges%",
|
|
2316
|
+
"icon": "$(git-stash-pop)",
|
|
2317
|
+
"category": "GitHub Copilot"
|
|
2307
2318
|
}
|
|
2308
2319
|
],
|
|
2309
2320
|
"configuration": [
|
|
@@ -2876,24 +2887,6 @@
|
|
|
2876
2887
|
"experimental"
|
|
2877
2888
|
]
|
|
2878
2889
|
},
|
|
2879
|
-
"github.copilot.chat.edits.temporalContext.enabled": {
|
|
2880
|
-
"type": "boolean",
|
|
2881
|
-
"default": false,
|
|
2882
|
-
"description": "%github.copilot.chat.edits.temporalContext.enabled%",
|
|
2883
|
-
"tags": [
|
|
2884
|
-
"experimental",
|
|
2885
|
-
"onExp"
|
|
2886
|
-
]
|
|
2887
|
-
},
|
|
2888
|
-
"github.copilot.chat.editor.temporalContext.enabled": {
|
|
2889
|
-
"type": "boolean",
|
|
2890
|
-
"default": false,
|
|
2891
|
-
"description": "%github.copilot.chat.editor.temporalContext.enabled%",
|
|
2892
|
-
"tags": [
|
|
2893
|
-
"experimental",
|
|
2894
|
-
"onExp"
|
|
2895
|
-
]
|
|
2896
|
-
},
|
|
2897
2890
|
"github.copilot.chat.setupTests.enabled": {
|
|
2898
2891
|
"type": "boolean",
|
|
2899
2892
|
"default": true,
|
|
@@ -3378,6 +3371,23 @@
|
|
|
3378
3371
|
"command": "github.copilot.chat.replay",
|
|
3379
3372
|
"group": "navigation@9",
|
|
3380
3373
|
"when": "resourceLangId == chatReplay"
|
|
3374
|
+
},
|
|
3375
|
+
{
|
|
3376
|
+
"command": "github.copilot.chat.showAsChatSession",
|
|
3377
|
+
"group": "navigation@9",
|
|
3378
|
+
"when": "resourceLangId == chatReplay"
|
|
3379
|
+
},
|
|
3380
|
+
{
|
|
3381
|
+
"command": "github.copilot.chat.applyCopilotCLIAgentSessionChanges",
|
|
3382
|
+
"group": "navigation@1",
|
|
3383
|
+
"when": "resourceScheme == copilotcli-worktree-changes"
|
|
3384
|
+
}
|
|
3385
|
+
],
|
|
3386
|
+
"explorer/context": [
|
|
3387
|
+
{
|
|
3388
|
+
"command": "github.copilot.chat.showAsChatSession",
|
|
3389
|
+
"when": "resourceFilename === 'benchRun.chatReplay.json' || resourceFilename === 'chat-export-logs.json'",
|
|
3390
|
+
"group": "2_copilot@1"
|
|
3381
3391
|
}
|
|
3382
3392
|
],
|
|
3383
3393
|
"editor/context": [
|
|
@@ -3635,6 +3645,14 @@
|
|
|
3635
3645
|
{
|
|
3636
3646
|
"command": "github.copilot.cloud.sessions.proxy.closeChatSessionPullRequest",
|
|
3637
3647
|
"when": "false"
|
|
3648
|
+
},
|
|
3649
|
+
{
|
|
3650
|
+
"command": "github.copilot.chat.applyCopilotCLIAgentSessionChanges",
|
|
3651
|
+
"when": "false"
|
|
3652
|
+
},
|
|
3653
|
+
{
|
|
3654
|
+
"command": "github.copilot.chat.showAsChatSession",
|
|
3655
|
+
"when": "false"
|
|
3638
3656
|
}
|
|
3639
3657
|
],
|
|
3640
3658
|
"view/title": [
|
|
@@ -3962,6 +3980,11 @@
|
|
|
3962
3980
|
"command": "github.copilot.cloud.sessions.proxy.closeChatSessionPullRequest",
|
|
3963
3981
|
"when": "chatSessionType == copilot-cloud-agent",
|
|
3964
3982
|
"group": "context"
|
|
3983
|
+
},
|
|
3984
|
+
{
|
|
3985
|
+
"command": "github.copilot.cli.sessions.delete",
|
|
3986
|
+
"when": "chatSessionType == copilotcli && config.chat.agentSessionsViewLocation == 'single-view'",
|
|
3987
|
+
"group": "context"
|
|
3965
3988
|
}
|
|
3966
3989
|
]
|
|
3967
3990
|
},
|
|
@@ -4489,7 +4512,6 @@
|
|
|
4489
4512
|
"@fluentui/react-icons": "^2.0.305",
|
|
4490
4513
|
"@hediet/node-reload": "^0.8.0",
|
|
4491
4514
|
"@keyv/sqlite": "^4.0.5",
|
|
4492
|
-
"@nteract/messaging": "^7.0.20",
|
|
4493
4515
|
"@octokit/types": "^14.1.0",
|
|
4494
4516
|
"@parcel/watcher": "^2.5.1",
|
|
4495
4517
|
"@stylistic/eslint-plugin": "^3.0.1",
|
|
@@ -4508,8 +4530,8 @@
|
|
|
4508
4530
|
"@types/tar": "^6.1.13",
|
|
4509
4531
|
"@types/vinyl": "^2.0.12",
|
|
4510
4532
|
"@types/vscode": "^1.102.0",
|
|
4511
|
-
"@types/yargs": "^17.0.24",
|
|
4512
4533
|
"@types/vscode-webview": "^1.57.4",
|
|
4534
|
+
"@types/yargs": "^17.0.24",
|
|
4513
4535
|
"@typescript-eslint/eslint-plugin": "^8.35.0",
|
|
4514
4536
|
"@typescript-eslint/parser": "^8.32.0",
|
|
4515
4537
|
"@typescript-eslint/typescript-estree": "^8.26.1",
|
|
@@ -4523,7 +4545,6 @@
|
|
|
4523
4545
|
"@vscode/test-electron": "^2.5.2",
|
|
4524
4546
|
"@vscode/test-web": "^0.0.71",
|
|
4525
4547
|
"@vscode/vsce": "3.6.0",
|
|
4526
|
-
"@vscode/zeromq": "0.2.7",
|
|
4527
4548
|
"copyfiles": "^2.4.1",
|
|
4528
4549
|
"csv-parse": "^6.0.0",
|
|
4529
4550
|
"dotenv": "^17.2.0",
|
|
@@ -4580,12 +4601,12 @@
|
|
|
4580
4601
|
"dependencies": {
|
|
4581
4602
|
"@anthropic-ai/claude-code": "^1.0.120",
|
|
4582
4603
|
"@anthropic-ai/sdk": "^0.68.0",
|
|
4583
|
-
"@github/copilot": "^0.0.
|
|
4604
|
+
"@github/copilot": "^0.0.356",
|
|
4584
4605
|
"@google/genai": "^1.22.0",
|
|
4585
4606
|
"@humanwhocodes/gitignore-to-minimatch": "1.0.2",
|
|
4586
4607
|
"@microsoft/tiktokenizer": "^1.0.10",
|
|
4587
4608
|
"@vscode/copilot-api": "^0.1.13",
|
|
4588
|
-
"@vscode/extension-telemetry": "^1.
|
|
4609
|
+
"@vscode/extension-telemetry": "^1.2.0",
|
|
4589
4610
|
"@vscode/l10n": "^0.0.18",
|
|
4590
4611
|
"@vscode/prompt-tsx": "^0.4.0-alpha.5",
|
|
4591
4612
|
"@vscode/tree-sitter-wasm": "0.0.5-php.2",
|
|
@@ -4594,6 +4615,7 @@
|
|
|
4594
4615
|
"ajv": "^8.17.1",
|
|
4595
4616
|
"applicationinsights": "^2.9.7",
|
|
4596
4617
|
"diff": "^8.0.2",
|
|
4618
|
+
"dompurify": "^3.3.0",
|
|
4597
4619
|
"ignore": "^7.0.5",
|
|
4598
4620
|
"isbinaryfile": "^5.0.4",
|
|
4599
4621
|
"jsonc-parser": "^3.3.1",
|
|
@@ -4602,12 +4624,11 @@
|
|
|
4602
4624
|
"minimatch": "^10.0.3",
|
|
4603
4625
|
"undici": "^7.11.0",
|
|
4604
4626
|
"vscode-tas-client": "^0.1.84",
|
|
4605
|
-
"web-tree-sitter": "^0.23.0"
|
|
4606
|
-
"dompurify": "^3.3.0"
|
|
4627
|
+
"web-tree-sitter": "^0.23.0"
|
|
4607
4628
|
},
|
|
4608
4629
|
"overrides": {
|
|
4609
4630
|
"@aminya/node-gyp-build": "npm:node-gyp-build@4.8.1",
|
|
4610
4631
|
"string_decoder": "npm:string_decoder@1.2.0",
|
|
4611
4632
|
"node-gyp": "npm:node-gyp@10.3.1"
|
|
4612
4633
|
}
|
|
4613
|
-
}
|
|
4634
|
+
}
|