@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
@@ -1,171 +0,0 @@
1
- "use strict";
2
- /*---------------------------------------------------------------------------------------------
3
- * Copyright (c) Microsoft Corporation. All rights reserved.
4
- * Licensed under the MIT License. See License.txt in the project root for license information.
5
- *--------------------------------------------------------------------------------------------*/
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.ChatMLFetcherTelemetrySender = void 0;
8
- const autoChatEndpoint_1 = require("../../../platform/endpoint/node/autoChatEndpoint");
9
- const openAIEndpoint_1 = require("../../byok/node/openAIEndpoint");
10
- class ChatMLFetcherTelemetrySender {
11
- static sendSuccessTelemetry(telemetryService, { requestId, chatCompletion, baseTelemetry, userInitiatedRequest, chatEndpointInfo, requestBody, maxResponseTokens, promptTokenCount, timeToFirstToken, timeToFirstTokenEmitted, hasImageMessages }) {
12
- /* __GDPR__
13
- "response.success" : {
14
- "owner": "digitarald",
15
- "comment": "Report quality details for a successful service response.",
16
- "reason": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Reason for why a response finished" },
17
- "filterReason": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Reason for why a response was filtered" },
18
- "source": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Source of the initial request" },
19
- "initiatorType": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Whether the request was initiated by a user or an agent" },
20
- "model": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Model selection for the response" },
21
- "modelInvoked": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Actual model invoked for the response" },
22
- "apiType": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "API type for the response- chat completions or responses" },
23
- "requestId": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Id of the current turn request" },
24
- "associatedRequestId": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Another request ID that this request is associated with (eg, the originating request of a summarization request)." },
25
- "reasoningEffort": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Reasoning effort level" },
26
- "reasoningSummary": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Reasoning summary level" },
27
- "totalTokenMax": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Maximum total token window", "isMeasurement": true },
28
- "clientPromptTokenCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Number of prompt tokens, locally counted", "isMeasurement": true },
29
- "promptTokenCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Number of prompt tokens, server side counted", "isMeasurement": true },
30
- "promptCacheTokenCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Number of prompt tokens hitting cache as reported by server", "isMeasurement": true },
31
- "tokenCountMax": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Maximum generated tokens", "isMeasurement": true },
32
- "tokenCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Number of generated tokens", "isMeasurement": true },
33
- "reasoningTokens": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Number of reasoning tokens", "isMeasurement": true },
34
- "acceptedPredictionTokens": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Number of tokens in the prediction that appeared in the completion", "isMeasurement": true },
35
- "rejectedPredictionTokens": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Number of tokens in the prediction that appeared in the completion", "isMeasurement": true },
36
- "completionTokens": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Number of tokens in the output", "isMeasurement": true },
37
- "timeToFirstToken": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Time to first token", "isMeasurement": true },
38
- "timeToFirstTokenEmitted": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Time to first token emitted (visible text)", "isMeasurement": true },
39
- "timeToComplete": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Time to complete the request", "isMeasurement": true },
40
- "isVisionRequest": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Whether the request was for a vision model", "isMeasurement": true },
41
- "isBYOK": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Whether the request was for a BYOK model", "isMeasurement": true },
42
- "isAuto": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Whether the request was for an Auto model", "isMeasurement": true },
43
- "retryAfterErrorCategory": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "If the response failed and this is a retry attempt, this contains the error category." },
44
- "retryAfterFilterCategory": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "If the response was filtered and this is a retry attempt, this contains the original filtered content category." }
45
- }
46
- */
47
- telemetryService.sendTelemetryEvent('response.success', { github: true, microsoft: true }, {
48
- reason: chatCompletion.finishReason,
49
- filterReason: chatCompletion.filterReason,
50
- source: baseTelemetry?.properties.messageSource ?? 'unknown',
51
- initiatorType: userInitiatedRequest ? 'user' : 'agent',
52
- model: chatEndpointInfo?.model,
53
- modelInvoked: chatCompletion.model,
54
- apiType: chatEndpointInfo?.apiType,
55
- requestId,
56
- associatedRequestId: baseTelemetry?.properties.associatedRequestId,
57
- reasoningEffort: requestBody.reasoning?.effort,
58
- reasoningSummary: requestBody.reasoning?.summary,
59
- ...(baseTelemetry?.properties.retryAfterErrorCategory ? { retryAfterErrorCategory: baseTelemetry.properties.retryAfterErrorCategory } : {}),
60
- ...(baseTelemetry?.properties.retryAfterFilterCategory ? { retryAfterFilterCategory: baseTelemetry.properties.retryAfterFilterCategory } : {}),
61
- }, {
62
- totalTokenMax: chatEndpointInfo?.modelMaxPromptTokens ?? -1,
63
- tokenCountMax: maxResponseTokens,
64
- promptTokenCount: chatCompletion.usage?.prompt_tokens,
65
- promptCacheTokenCount: chatCompletion.usage?.prompt_tokens_details?.cached_tokens,
66
- clientPromptTokenCount: promptTokenCount,
67
- tokenCount: chatCompletion.usage?.total_tokens,
68
- reasoningTokens: chatCompletion.usage?.completion_tokens_details?.reasoning_tokens,
69
- acceptedPredictionTokens: chatCompletion.usage?.completion_tokens_details?.accepted_prediction_tokens,
70
- rejectedPredictionTokens: chatCompletion.usage?.completion_tokens_details?.rejected_prediction_tokens,
71
- completionTokens: chatCompletion.usage?.completion_tokens,
72
- timeToFirstToken,
73
- timeToFirstTokenEmitted,
74
- timeToComplete: baseTelemetry ? Date.now() - baseTelemetry.issuedTime : -1,
75
- isVisionRequest: hasImageMessages ? 1 : -1,
76
- isBYOK: (0, openAIEndpoint_1.isBYOKModel)(chatEndpointInfo),
77
- isAuto: (0, autoChatEndpoint_1.isAutoModel)(chatEndpointInfo)
78
- });
79
- }
80
- static sendCancellationTelemetry(telemetryService, { source, requestId, model, apiType, associatedRequestId }, { totalTokenMax, promptTokenCount, tokenCountMax, timeToFirstToken, timeToFirstTokenEmitted, timeToCancelled, isVisionRequest, isBYOK, isAuto }) {
81
- /* __GDPR__
82
- "response.cancelled" : {
83
- "owner": "digitarald",
84
- "comment": "Report canceled service responses for quality.",
85
- "model": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Model selection for the response" },
86
- "apiType": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "API type for the response- chat completions or responses" },
87
- "source": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Source for why the request was made" },
88
- "requestId": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Id of the request" },
89
- "associatedRequestId": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Another request ID that this request is associated with (eg, the originating request of a summarization request)." },
90
- "totalTokenMax": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Maximum total token window", "isMeasurement": true },
91
- "promptTokenCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Number of prompt tokens", "isMeasurement": true },
92
- "tokenCountMax": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Maximum generated tokens", "isMeasurement": true },
93
- "timeToFirstToken": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Time to first token", "isMeasurement": true },
94
- "timeToFirstTokenEmitted": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Time to first token emitted (visible text)", "isMeasurement": true },
95
- "timeToCancelled": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Time to first token", "isMeasurement": true },
96
- "isVisionRequest": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Whether the request was for a vision model", "isMeasurement": true },
97
- "isBYOK": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Whether the request was for a BYOK model", "isMeasurement": true },
98
- "isAuto": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Whether the request was for an Auto model", "isMeasurement": true },
99
- "retryAfterErrorCategory": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "If the response failed and this is a retry attempt, this contains the error category." },
100
- "retryAfterFilterCategory": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "If the response was filtered and this is a retry attempt, this contains the original filtered content category." }
101
- }
102
- */
103
- telemetryService.sendTelemetryEvent('response.cancelled', { github: true, microsoft: true }, {
104
- apiType,
105
- source,
106
- requestId,
107
- model,
108
- associatedRequestId,
109
- }, {
110
- totalTokenMax,
111
- promptTokenCount,
112
- tokenCountMax,
113
- timeToFirstToken,
114
- timeToFirstTokenEmitted,
115
- timeToCancelled,
116
- isVisionRequest,
117
- isBYOK,
118
- isAuto
119
- });
120
- }
121
- static sendResponseErrorTelemetry(telemetryService, processed, telemetryProperties, ourRequestId, chatEndpointInfo, requestBody, tokenCount, maxResponseTokens, timeToFirstToken, isVisionRequest) {
122
- /* __GDPR__
123
- "response.error" : {
124
- "owner": "digitarald",
125
- "comment": "Report quality issue for when a service response failed.",
126
- "type": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Type of issue" },
127
- "reason": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Reason of issue" },
128
- "model": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Model selection for the response" },
129
- "apiType": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "API type for the response- chat completions or responses" },
130
- "source": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Source for why the request was made" },
131
- "requestId": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Id of the request" },
132
- "associatedRequestId": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Another request ID that this request is associated with (eg, the originating request of a summarization request)." },
133
- "reasoningEffort": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Reasoning effort level" },
134
- "reasoningSummary": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Reasoning summary level" },
135
- "totalTokenMax": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Maximum total token window", "isMeasurement": true },
136
- "promptTokenCount": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Number of prompt tokens", "isMeasurement": true },
137
- "tokenCountMax": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Maximum generated tokens", "isMeasurement": true },
138
- "timeToFirstToken": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Time to first token", "isMeasurement": true },
139
- "timeToFirstTokenEmitted": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Time to first token emitted (visible text)", "isMeasurement": true },
140
- "isVisionRequest": { "classification": "SystemMetaData", "purpose": "PerformanceAndHealth", "comment": "Whether the request was for a vision model", "isMeasurement": true },
141
- "isBYOK": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Whether the request was for a BYOK model", "isMeasurement": true },
142
- "isAuto": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "Whether the request was for an Auto model", "isMeasurement": true },
143
- "retryAfterErrorCategory": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "If the response failed and this is a retry attempt, this contains the error category." },
144
- "retryAfterFilterCategory": { "classification": "SystemMetaData", "purpose": "FeatureInsight", "comment": "If the response was filtered and this is a retry attempt, this contains the original filtered content category." }
145
- }
146
- */
147
- telemetryService.sendTelemetryEvent('response.error', { github: true, microsoft: true }, {
148
- type: processed.type,
149
- reason: processed.reasonDetail || processed.reason,
150
- source: telemetryProperties?.messageSource ?? 'unknown',
151
- requestId: ourRequestId,
152
- model: chatEndpointInfo.model,
153
- apiType: chatEndpointInfo.apiType,
154
- reasoningEffort: requestBody.reasoning?.effort,
155
- reasoningSummary: requestBody.reasoning?.summary,
156
- associatedRequestId: telemetryProperties?.associatedRequestId,
157
- ...(telemetryProperties?.retryAfterErrorCategory ? { retryAfterErrorCategory: telemetryProperties.retryAfterErrorCategory } : {}),
158
- ...(telemetryProperties?.retryAfterFilterCategory ? { retryAfterFilterCategory: telemetryProperties.retryAfterFilterCategory } : {})
159
- }, {
160
- totalTokenMax: chatEndpointInfo.modelMaxPromptTokens ?? -1,
161
- promptTokenCount: tokenCount,
162
- tokenCountMax: maxResponseTokens,
163
- timeToFirstToken,
164
- isVisionRequest: isVisionRequest ? 1 : -1,
165
- isBYOK: (0, openAIEndpoint_1.isBYOKModel)(chatEndpointInfo),
166
- isAuto: (0, autoChatEndpoint_1.isAutoModel)(chatEndpointInfo)
167
- });
168
- }
169
- }
170
- exports.ChatMLFetcherTelemetrySender = ChatMLFetcherTelemetrySender;
171
- //# sourceMappingURL=chatMLFetcherTelemetry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chatMLFetcherTelemetry.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/prompt/node/chatMLFetcherTelemetry.ts"],"names":[],"mappings":"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"}