@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.
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts +7 -21
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts.map +1 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js +175 -409
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js.map +1 -1
- package/dist/src/_internal/extension/xtab/common/tags.d.ts +0 -13
- package/dist/src/_internal/extension/xtab/common/tags.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/common/tags.js +1 -15
- 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 +20 -6
- package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +0 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.js +0 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
- package/dist/src/_internal/platform/github/common/githubAPI.d.ts +0 -3
- package/dist/src/_internal/platform/github/common/githubAPI.d.ts.map +1 -1
- package/dist/src/_internal/platform/github/common/githubAPI.js +0 -6
- package/dist/src/_internal/platform/github/common/githubAPI.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/observableWorkspace.d.ts +1 -0
- 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/networking/common/fetch.d.ts +1 -0
- package/dist/src/_internal/platform/networking/common/fetch.d.ts.map +1 -1
- package/dist/src/_internal/platform/networking/common/fetch.js +8 -0
- package/dist/src/_internal/platform/networking/common/fetch.js.map +1 -1
- package/dist/src/_internal/platform/openai/node/fetch.d.ts +33 -2
- package/dist/src/_internal/platform/openai/node/fetch.d.ts.map +1 -1
- package/dist/src/_internal/platform/openai/node/fetch.js +401 -0
- package/dist/src/_internal/platform/openai/node/fetch.js.map +1 -1
- package/dist/src/package.json +13 -32
- package/package.json +1 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.d.ts +0 -42
- package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.d.ts.map +0 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.js +0 -171
- 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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"}
|
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.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": "
|
|
4471
|
-
"watch:tsc-extension-web": "
|
|
4472
|
-
"watch:tsc-simulation-workbench": "
|
|
4473
|
-
"typecheck": "
|
|
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.
|
|
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.
|
|
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,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"}
|