@vscode/chat-lib 0.0.5-18 → 0.0.5-19

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.
Files changed (37) hide show
  1. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts +7 -21
  2. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts.map +1 -1
  3. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js +175 -409
  4. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js.map +1 -1
  5. package/dist/src/_internal/extension/xtab/common/tags.d.ts +0 -13
  6. package/dist/src/_internal/extension/xtab/common/tags.d.ts.map +1 -1
  7. package/dist/src/_internal/extension/xtab/common/tags.js +1 -15
  8. package/dist/src/_internal/extension/xtab/common/tags.js.map +1 -1
  9. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
  10. package/dist/src/_internal/extension/xtab/node/xtabProvider.js +20 -6
  11. package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
  12. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +0 -1
  13. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
  14. package/dist/src/_internal/platform/configuration/common/configurationService.js +0 -1
  15. package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
  16. package/dist/src/_internal/platform/github/common/githubAPI.d.ts +0 -3
  17. package/dist/src/_internal/platform/github/common/githubAPI.d.ts.map +1 -1
  18. package/dist/src/_internal/platform/github/common/githubAPI.js +0 -6
  19. package/dist/src/_internal/platform/github/common/githubAPI.js.map +1 -1
  20. package/dist/src/_internal/platform/inlineEdits/common/observableWorkspace.d.ts +1 -0
  21. package/dist/src/_internal/platform/inlineEdits/common/observableWorkspace.d.ts.map +1 -1
  22. package/dist/src/_internal/platform/inlineEdits/common/observableWorkspace.js +1 -1
  23. package/dist/src/_internal/platform/inlineEdits/common/observableWorkspace.js.map +1 -1
  24. package/dist/src/_internal/platform/networking/common/fetch.d.ts +1 -0
  25. package/dist/src/_internal/platform/networking/common/fetch.d.ts.map +1 -1
  26. package/dist/src/_internal/platform/networking/common/fetch.js +8 -0
  27. package/dist/src/_internal/platform/networking/common/fetch.js.map +1 -1
  28. package/dist/src/_internal/platform/openai/node/fetch.d.ts +33 -2
  29. package/dist/src/_internal/platform/openai/node/fetch.d.ts.map +1 -1
  30. package/dist/src/_internal/platform/openai/node/fetch.js +401 -0
  31. package/dist/src/_internal/platform/openai/node/fetch.js.map +1 -1
  32. package/dist/src/package.json +13 -32
  33. package/package.json +1 -1
  34. package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.d.ts +0 -42
  35. package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.d.ts.map +0 -1
  36. package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.js +0 -171
  37. package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.js.map +0 -1
@@ -5,6 +5,23 @@
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");
8
25
  var FetchResponseKind;
9
26
  (function (FetchResponseKind) {
10
27
  FetchResponseKind["Success"] = "success";
@@ -29,4 +46,388 @@ var ChatFailKind;
29
46
  ChatFailKind["NotFound"] = "notFound";
30
47
  ChatFailKind["Unknown"] = "unknown";
31
48
  })(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
+ }
32
433
  //# 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;;;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"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../../../../src/_internal/platform/openai/node/fetch.ts"],"names":[],"mappings":"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"}
@@ -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.34.0",
5
+ "version": "0.33.0",
6
6
  "build": "1",
7
7
  "internalAIKey": "1058ec22-3c95-4951-8443-f26c1f325911",
8
8
  "completionsCoreVersion": "1.378.1799",
@@ -2304,12 +2304,6 @@
2304
2304
  "title": "Change Completions Model",
2305
2305
  "category": "GitHub Copilot",
2306
2306
  "enablement": "github.copilot.extensionUnification.activated && !isWeb"
2307
- },
2308
- {
2309
- "command": "github.copilot.chat.applyCopilotCLIAgentSessionChanges",
2310
- "title": "%github.copilot.command.applyCopilotCLIAgentSessionChanges%",
2311
- "icon": "$(git-stash-pop)",
2312
- "category": "GitHub Copilot"
2313
2307
  }
2314
2308
  ],
2315
2309
  "configuration": [
@@ -3384,11 +3378,6 @@
3384
3378
  "command": "github.copilot.chat.replay",
3385
3379
  "group": "navigation@9",
3386
3380
  "when": "resourceLangId == chatReplay"
3387
- },
3388
- {
3389
- "command": "github.copilot.chat.applyCopilotCLIAgentSessionChanges",
3390
- "group": "navigation@1",
3391
- "when": "resourceScheme == copilotcli-worktree-changes"
3392
3381
  }
3393
3382
  ],
3394
3383
  "editor/context": [
@@ -3646,10 +3635,6 @@
3646
3635
  {
3647
3636
  "command": "github.copilot.cloud.sessions.proxy.closeChatSessionPullRequest",
3648
3637
  "when": "false"
3649
- },
3650
- {
3651
- "command": "github.copilot.chat.applyCopilotCLIAgentSessionChanges",
3652
- "when": "false"
3653
3638
  }
3654
3639
  ],
3655
3640
  "view/title": [
@@ -3977,11 +3962,6 @@
3977
3962
  "command": "github.copilot.cloud.sessions.proxy.closeChatSessionPullRequest",
3978
3963
  "when": "chatSessionType == copilot-cloud-agent",
3979
3964
  "group": "context"
3980
- },
3981
- {
3982
- "command": "github.copilot.cli.sessions.delete",
3983
- "when": "chatSessionType == copilotcli && config.chat.agentSessionsViewLocation == 'single-view'",
3984
- "group": "context"
3985
3965
  }
3986
3966
  ]
3987
3967
  },
@@ -4467,10 +4447,10 @@
4467
4447
  "compile": "tsx .esbuild.ts --dev",
4468
4448
  "watch": "npm-run-all -p watch:*",
4469
4449
  "watch:esbuild": "tsx .esbuild.ts --watch --dev",
4470
- "watch:tsc-extension": "tsgo --noEmit --watch --project tsconfig.json",
4471
- "watch:tsc-extension-web": "tsgo --noEmit --watch --project tsconfig.worker.json",
4472
- "watch:tsc-simulation-workbench": "tsgo --noEmit --watch --project test/simulation/workbench/tsconfig.json",
4473
- "typecheck": "tsgo --noEmit --project tsconfig.json && tsgo --noEmit --project test/simulation/workbench/tsconfig.json && tsgo --noEmit --project tsconfig.worker.json && tsgo --noEmit --project src/extension/completions-core/vscode-node/extension/src/copilotPanel/webView/tsconfig.json",
4450
+ "watch:tsc-extension": "tsc --noEmit --watch --project tsconfig.json",
4451
+ "watch:tsc-extension-web": "tsc --noEmit --watch --project tsconfig.worker.json",
4452
+ "watch:tsc-simulation-workbench": "tsc --noEmit --watch --project test/simulation/workbench/tsconfig.json",
4453
+ "typecheck": "tsc --noEmit --project tsconfig.json && tsc --noEmit --project test/simulation/workbench/tsconfig.json && tsc --noEmit --project tsconfig.worker.json && tsc --noEmit --project src/extension/completions-core/vscode-node/extension/src/copilotPanel/webView/tsconfig.json",
4474
4454
  "lint": "eslint . --max-warnings=0",
4475
4455
  "lint-staged": "eslint --max-warnings=0",
4476
4456
  "tsfmt": "npx tsfmt -r --verify",
@@ -4509,6 +4489,7 @@
4509
4489
  "@fluentui/react-icons": "^2.0.305",
4510
4490
  "@hediet/node-reload": "^0.8.0",
4511
4491
  "@keyv/sqlite": "^4.0.5",
4492
+ "@nteract/messaging": "^7.0.20",
4512
4493
  "@octokit/types": "^14.1.0",
4513
4494
  "@parcel/watcher": "^2.5.1",
4514
4495
  "@stylistic/eslint-plugin": "^3.0.1",
@@ -4527,12 +4508,11 @@
4527
4508
  "@types/tar": "^6.1.13",
4528
4509
  "@types/vinyl": "^2.0.12",
4529
4510
  "@types/vscode": "^1.102.0",
4530
- "@types/vscode-webview": "^1.57.4",
4531
4511
  "@types/yargs": "^17.0.24",
4512
+ "@types/vscode-webview": "^1.57.4",
4532
4513
  "@typescript-eslint/eslint-plugin": "^8.35.0",
4533
4514
  "@typescript-eslint/parser": "^8.32.0",
4534
4515
  "@typescript-eslint/typescript-estree": "^8.26.1",
4535
- "@typescript/native-preview": "^7.0.0-dev.20251110.1",
4536
4516
  "@vitest/coverage-v8": "^3.2.4",
4537
4517
  "@vitest/snapshot": "^1.5.0",
4538
4518
  "@vscode/debugadapter": "^1.68.0",
@@ -4543,6 +4523,7 @@
4543
4523
  "@vscode/test-electron": "^2.5.2",
4544
4524
  "@vscode/test-web": "^0.0.71",
4545
4525
  "@vscode/vsce": "3.6.0",
4526
+ "@vscode/zeromq": "0.2.7",
4546
4527
  "copyfiles": "^2.4.1",
4547
4528
  "csv-parse": "^6.0.0",
4548
4529
  "dotenv": "^17.2.0",
@@ -4599,12 +4580,12 @@
4599
4580
  "dependencies": {
4600
4581
  "@anthropic-ai/claude-code": "^1.0.120",
4601
4582
  "@anthropic-ai/sdk": "^0.68.0",
4602
- "@github/copilot": "^0.0.354",
4583
+ "@github/copilot": "^0.0.343",
4603
4584
  "@google/genai": "^1.22.0",
4604
4585
  "@humanwhocodes/gitignore-to-minimatch": "1.0.2",
4605
4586
  "@microsoft/tiktokenizer": "^1.0.10",
4606
4587
  "@vscode/copilot-api": "^0.1.13",
4607
- "@vscode/extension-telemetry": "^1.2.0",
4588
+ "@vscode/extension-telemetry": "^1.0.0",
4608
4589
  "@vscode/l10n": "^0.0.18",
4609
4590
  "@vscode/prompt-tsx": "^0.4.0-alpha.5",
4610
4591
  "@vscode/tree-sitter-wasm": "0.0.5-php.2",
@@ -4613,7 +4594,6 @@
4613
4594
  "ajv": "^8.17.1",
4614
4595
  "applicationinsights": "^2.9.7",
4615
4596
  "diff": "^8.0.2",
4616
- "dompurify": "^3.3.0",
4617
4597
  "ignore": "^7.0.5",
4618
4598
  "isbinaryfile": "^5.0.4",
4619
4599
  "jsonc-parser": "^3.3.1",
@@ -4622,11 +4602,12 @@
4622
4602
  "minimatch": "^10.0.3",
4623
4603
  "undici": "^7.11.0",
4624
4604
  "vscode-tas-client": "^0.1.84",
4625
- "web-tree-sitter": "^0.23.0"
4605
+ "web-tree-sitter": "^0.23.0",
4606
+ "dompurify": "^3.3.0"
4626
4607
  },
4627
4608
  "overrides": {
4628
4609
  "@aminya/node-gyp-build": "npm:node-gyp-build@4.8.1",
4629
4610
  "string_decoder": "npm:string_decoder@1.2.0",
4630
4611
  "node-gyp": "npm:node-gyp@10.3.1"
4631
4612
  }
4632
- }
4613
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vscode/chat-lib",
3
- "version": "0.0.5-18",
3
+ "version": "0.0.5-19",
4
4
  "description": "Chat and inline editing SDK extracted from VS Code Copilot Chat",
5
5
  "main": "dist/src/main.js",
6
6
  "types": "dist/src/main.d.ts",
@@ -1,42 +0,0 @@
1
- import { ChatFetchError } from '../../../platform/chat/common/commonTypes';
2
- import { IChatEndpoint, IEndpointBody } from '../../../platform/networking/common/networking';
3
- import { ChatCompletion } from '../../../platform/networking/common/openai';
4
- import { ITelemetryService, TelemetryProperties } from '../../../platform/telemetry/common/telemetry';
5
- import { TelemetryData } from '../../../platform/telemetry/common/telemetryData';
6
- export interface IChatMLFetcherSuccessfulData {
7
- requestId: string;
8
- chatCompletion: ChatCompletion;
9
- baseTelemetry: TelemetryData | undefined;
10
- userInitiatedRequest: boolean | undefined;
11
- chatEndpointInfo: IChatEndpoint | undefined;
12
- requestBody: IEndpointBody;
13
- maxResponseTokens: number;
14
- promptTokenCount: number;
15
- timeToFirstToken: number;
16
- timeToFirstTokenEmitted: number;
17
- hasImageMessages: boolean;
18
- }
19
- export interface IChatMLFetcherCancellationProperties {
20
- source: string;
21
- requestId: string;
22
- model: string;
23
- apiType: string | undefined;
24
- associatedRequestId?: string;
25
- }
26
- export interface IChatMLFetcherCancellationMeasures {
27
- totalTokenMax: number;
28
- promptTokenCount: number;
29
- tokenCountMax: number;
30
- timeToFirstToken: number | undefined;
31
- timeToFirstTokenEmitted?: number;
32
- timeToCancelled: number;
33
- isVisionRequest: number;
34
- isBYOK: number;
35
- isAuto: number;
36
- }
37
- export declare class ChatMLFetcherTelemetrySender {
38
- static sendSuccessTelemetry(telemetryService: ITelemetryService, { requestId, chatCompletion, baseTelemetry, userInitiatedRequest, chatEndpointInfo, requestBody, maxResponseTokens, promptTokenCount, timeToFirstToken, timeToFirstTokenEmitted, hasImageMessages }: IChatMLFetcherSuccessfulData): void;
39
- static sendCancellationTelemetry(telemetryService: ITelemetryService, { source, requestId, model, apiType, associatedRequestId }: IChatMLFetcherCancellationProperties, { totalTokenMax, promptTokenCount, tokenCountMax, timeToFirstToken, timeToFirstTokenEmitted, timeToCancelled, isVisionRequest, isBYOK, isAuto }: IChatMLFetcherCancellationMeasures): void;
40
- static sendResponseErrorTelemetry(telemetryService: ITelemetryService, processed: ChatFetchError, telemetryProperties: TelemetryProperties | undefined, ourRequestId: string, chatEndpointInfo: IChatEndpoint, requestBody: IEndpointBody, tokenCount: number, maxResponseTokens: number, timeToFirstToken: number, isVisionRequest: boolean): void;
41
- }
42
- //# sourceMappingURL=chatMLFetcherTelemetry.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chatMLFetcherTelemetry.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/prompt/node/chatMLFetcherTelemetry.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,2CAA2C,CAAC;AAE3E,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,4CAA4C,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,8CAA8C,CAAC;AACtG,OAAO,EAAE,aAAa,EAAE,MAAM,kDAAkD,CAAC;AAGjF,MAAM,WAAW,4BAA4B;IAC5C,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;IAC/B,aAAa,EAAE,aAAa,GAAG,SAAS,CAAC;IACzC,oBAAoB,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1C,gBAAgB,EAAE,aAAa,GAAG,SAAS,CAAC;IAC5C,WAAW,EAAE,aAAa,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,MAAM,CAAC;IACzB,uBAAuB,EAAE,MAAM,CAAC;IAChC,gBAAgB,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,oCAAoC;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kCAAkC;IAClD,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,GAAG,SAAS,CAAC;IACrC,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,4BAA4B;WAE1B,oBAAoB,CACjC,gBAAgB,EAAE,iBAAiB,EACnC,EACC,SAAS,EACT,cAAc,EACd,aAAa,EACb,oBAAoB,EACpB,gBAAgB,EAChB,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,EACvB,gBAAgB,EAChB,EAAE,4BAA4B;WAuElB,yBAAyB,CACtC,gBAAgB,EAAE,iBAAiB,EACnC,EACC,MAAM,EACN,SAAS,EACT,KAAK,EACL,OAAO,EACP,mBAAmB,EACnB,EAAE,oCAAoC,EACvC,EACC,aAAa,EACb,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,eAAe,EACf,eAAe,EACf,MAAM,EACN,MAAM,EACN,EAAE,kCAAkC;WA2CxB,0BAA0B,CACvC,gBAAgB,EAAE,iBAAiB,EACnC,SAAS,EAAE,cAAc,EACzB,mBAAmB,EAAE,mBAAmB,GAAG,SAAS,EACpD,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,aAAa,EAC/B,WAAW,EAAE,aAAa,EAC1B,UAAU,EAAE,MAAM,EAClB,iBAAiB,EAAE,MAAM,EACzB,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,OAAO;CAiDzB"}