@vscode/chat-lib 0.42.2026032703 → 0.43.2026033101

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 (114) hide show
  1. package/dist/src/_internal/extension/inlineEdits/common/editRebase.d.ts +4 -5
  2. package/dist/src/_internal/extension/inlineEdits/common/editRebase.d.ts.map +1 -1
  3. package/dist/src/_internal/extension/inlineEdits/common/editRebase.js +8 -3
  4. package/dist/src/_internal/extension/inlineEdits/common/editRebase.js.map +1 -1
  5. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts +2 -0
  6. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts.map +1 -1
  7. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js +149 -14
  8. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js.map +1 -1
  9. package/dist/src/_internal/platform/authentication/common/authentication.d.ts +14 -6
  10. package/dist/src/_internal/platform/authentication/common/authentication.d.ts.map +1 -1
  11. package/dist/src/_internal/platform/authentication/common/authentication.js.map +1 -1
  12. package/dist/src/_internal/platform/authentication/common/copilotToken.d.ts +6 -0
  13. package/dist/src/_internal/platform/authentication/common/copilotToken.d.ts.map +1 -1
  14. package/dist/src/_internal/platform/authentication/common/copilotToken.js +1 -0
  15. package/dist/src/_internal/platform/authentication/common/copilotToken.js.map +1 -1
  16. package/dist/src/_internal/platform/authentication/common/staticGitHubAuthenticationService.d.ts +4 -4
  17. package/dist/src/_internal/platform/authentication/common/staticGitHubAuthenticationService.d.ts.map +1 -1
  18. package/dist/src/_internal/platform/authentication/common/staticGitHubAuthenticationService.js.map +1 -1
  19. package/dist/src/_internal/platform/authentication/node/copilotTokenManager.d.ts.map +1 -1
  20. package/dist/src/_internal/platform/authentication/node/copilotTokenManager.js +1 -7
  21. package/dist/src/_internal/platform/authentication/node/copilotTokenManager.js.map +1 -1
  22. package/dist/src/_internal/platform/chat/common/chatQuotaService.d.ts +14 -0
  23. package/dist/src/_internal/platform/chat/common/chatQuotaService.d.ts.map +1 -1
  24. package/dist/src/_internal/platform/chat/common/chatQuotaService.js.map +1 -1
  25. package/dist/src/_internal/platform/chat/common/chatQuotaServiceImpl.d.ts +2 -1
  26. package/dist/src/_internal/platform/chat/common/chatQuotaServiceImpl.d.ts.map +1 -1
  27. package/dist/src/_internal/platform/chat/common/chatQuotaServiceImpl.js +24 -0
  28. package/dist/src/_internal/platform/chat/common/chatQuotaServiceImpl.js.map +1 -1
  29. package/dist/src/_internal/platform/chat/common/commonTypes.d.ts +1 -1
  30. package/dist/src/_internal/platform/chat/common/commonTypes.d.ts.map +1 -1
  31. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +2 -0
  32. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
  33. package/dist/src/_internal/platform/configuration/common/configurationService.js +2 -0
  34. package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
  35. package/dist/src/_internal/platform/endpoint/common/capiClient.d.ts.map +1 -1
  36. package/dist/src/_internal/platform/endpoint/common/capiClient.js +2 -1
  37. package/dist/src/_internal/platform/endpoint/common/capiClient.js.map +1 -1
  38. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts +1 -0
  39. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts.map +1 -1
  40. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js +11 -3
  41. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js.map +1 -1
  42. package/dist/src/_internal/platform/endpoint/common/endpointTypes.d.ts +1 -0
  43. package/dist/src/_internal/platform/endpoint/common/endpointTypes.d.ts.map +1 -1
  44. package/dist/src/_internal/platform/endpoint/common/endpointTypes.js +1 -0
  45. package/dist/src/_internal/platform/endpoint/common/endpointTypes.js.map +1 -1
  46. package/dist/src/_internal/platform/endpoint/common/phaseDataContainer.d.ts +8 -2
  47. package/dist/src/_internal/platform/endpoint/common/phaseDataContainer.d.ts.map +1 -1
  48. package/dist/src/_internal/platform/endpoint/common/phaseDataContainer.js +26 -2
  49. package/dist/src/_internal/platform/endpoint/common/phaseDataContainer.js.map +1 -1
  50. package/dist/src/_internal/platform/endpoint/common/responseOutputMessageIdContainer.d.ts +19 -0
  51. package/dist/src/_internal/platform/endpoint/common/responseOutputMessageIdContainer.d.ts.map +1 -0
  52. package/dist/src/_internal/platform/endpoint/common/responseOutputMessageIdContainer.js +64 -0
  53. package/dist/src/_internal/platform/endpoint/common/responseOutputMessageIdContainer.js.map +1 -0
  54. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js +1 -1
  55. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js.map +1 -1
  56. package/dist/src/_internal/platform/endpoint/node/messagesApi.d.ts +9 -0
  57. package/dist/src/_internal/platform/endpoint/node/messagesApi.d.ts.map +1 -1
  58. package/dist/src/_internal/platform/endpoint/node/messagesApi.js +31 -11
  59. package/dist/src/_internal/platform/endpoint/node/messagesApi.js.map +1 -1
  60. package/dist/src/_internal/platform/endpoint/node/responsesApi.d.ts.map +1 -1
  61. package/dist/src/_internal/platform/endpoint/node/responsesApi.js +19 -6
  62. package/dist/src/_internal/platform/endpoint/node/responsesApi.js.map +1 -1
  63. package/dist/src/_internal/platform/git/common/gitService.d.ts +5 -0
  64. package/dist/src/_internal/platform/git/common/gitService.d.ts.map +1 -1
  65. package/dist/src/_internal/platform/git/common/gitService.js.map +1 -1
  66. package/dist/src/_internal/platform/github/common/githubService.d.ts +6 -5
  67. package/dist/src/_internal/platform/github/common/githubService.d.ts.map +1 -1
  68. package/dist/src/_internal/platform/github/common/githubService.js +0 -3
  69. package/dist/src/_internal/platform/github/common/githubService.js.map +1 -1
  70. package/dist/src/_internal/platform/github/common/nullOctokitServiceImpl.d.ts +0 -1
  71. package/dist/src/_internal/platform/github/common/nullOctokitServiceImpl.d.ts.map +1 -1
  72. package/dist/src/_internal/platform/github/common/nullOctokitServiceImpl.js +0 -3
  73. package/dist/src/_internal/platform/github/common/nullOctokitServiceImpl.js.map +1 -1
  74. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.d.ts +2 -0
  75. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.d.ts.map +1 -1
  76. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.js +5 -0
  77. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.js.map +1 -1
  78. package/dist/src/_internal/platform/networking/common/fetch.d.ts +2 -0
  79. package/dist/src/_internal/platform/networking/common/fetch.d.ts.map +1 -1
  80. package/dist/src/_internal/platform/networking/common/fetch.js.map +1 -1
  81. package/dist/src/_internal/platform/networking/node/chatWebSocketManager.d.ts +47 -21
  82. package/dist/src/_internal/platform/networking/node/chatWebSocketManager.d.ts.map +1 -1
  83. package/dist/src/_internal/platform/networking/node/chatWebSocketManager.js +138 -58
  84. package/dist/src/_internal/platform/networking/node/chatWebSocketManager.js.map +1 -1
  85. package/dist/src/_internal/platform/networking/node/chatWebSocketTelemetry.d.ts +15 -11
  86. package/dist/src/_internal/platform/networking/node/chatWebSocketTelemetry.d.ts.map +1 -1
  87. package/dist/src/_internal/platform/networking/node/chatWebSocketTelemetry.js +22 -8
  88. package/dist/src/_internal/platform/networking/node/chatWebSocketTelemetry.js.map +1 -1
  89. package/dist/src/_internal/platform/otel/common/genAiAttributes.d.ts +20 -0
  90. package/dist/src/_internal/platform/otel/common/genAiAttributes.d.ts.map +1 -1
  91. package/dist/src/_internal/platform/otel/common/genAiAttributes.js +18 -0
  92. package/dist/src/_internal/platform/otel/common/genAiAttributes.js.map +1 -1
  93. package/dist/src/_internal/platform/otel/common/genAiEvents.d.ts +7 -0
  94. package/dist/src/_internal/platform/otel/common/genAiEvents.d.ts.map +1 -1
  95. package/dist/src/_internal/platform/otel/common/genAiEvents.js +74 -0
  96. package/dist/src/_internal/platform/otel/common/genAiEvents.js.map +1 -1
  97. package/dist/src/_internal/platform/otel/common/genAiMetrics.d.ts +18 -0
  98. package/dist/src/_internal/platform/otel/common/genAiMetrics.d.ts.map +1 -1
  99. package/dist/src/_internal/platform/otel/common/genAiMetrics.js +73 -0
  100. package/dist/src/_internal/platform/otel/common/genAiMetrics.js.map +1 -1
  101. package/dist/src/_internal/platform/otel/common/index.d.ts +1 -0
  102. package/dist/src/_internal/platform/otel/common/index.d.ts.map +1 -1
  103. package/dist/src/_internal/platform/otel/common/index.js +4 -1
  104. package/dist/src/_internal/platform/otel/common/index.js.map +1 -1
  105. package/dist/src/_internal/platform/otel/common/workspaceOTelMetadata.d.ts +18 -0
  106. package/dist/src/_internal/platform/otel/common/workspaceOTelMetadata.d.ts.map +1 -0
  107. package/dist/src/_internal/platform/otel/common/workspaceOTelMetadata.js +62 -0
  108. package/dist/src/_internal/platform/otel/common/workspaceOTelMetadata.js.map +1 -0
  109. package/dist/src/_internal/platform/requestLogger/common/capturingToken.d.ts +1 -13
  110. package/dist/src/_internal/platform/requestLogger/common/capturingToken.d.ts.map +1 -1
  111. package/dist/src/_internal/platform/requestLogger/common/capturingToken.js +1 -8
  112. package/dist/src/_internal/platform/requestLogger/common/capturingToken.js.map +1 -1
  113. package/dist/src/package.json +48 -13
  114. package/package.json +1 -1
@@ -3,11 +3,10 @@ import { AnnotatedStringReplacement, IEditData, StringEdit, StringReplacement }
3
3
  import { OffsetRange } from '../../../util/vs/editor/common/core/ranges/offsetRange';
4
4
  export interface NesRebaseConfigs {
5
5
  /**
6
- * When enabled, if the user's typed text can be aligned as a subsequence of the
7
- * suggestion's insert text, the rebase absorbs it instead of failing.
8
- * For example, "()" aligns with "(n: number): number" because "(" and ")"
9
- * appear in that order; "(n: )" aligns similarly. Text like "abc" that cannot
10
- * be matched as a subsequence is not absorbed.
6
+ * When enabled, if the user's typed text is an editor auto-close pair
7
+ * (e.g. `()`, `[]`, `{}`, `<>`, `""`, `''`, ` `` `) and both characters
8
+ * appear in order in the suggestion's insert text, the rebase absorbs
9
+ * the typed pair instead of failing.
11
10
  */
12
11
  readonly absorbSubsequenceTyping?: boolean;
13
12
  }
@@ -1 +1 @@
1
- {"version":3,"file":"editRebase.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/common/editRebase.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAElE,OAAO,EAAuB,0BAA0B,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAgB,MAAM,sDAAsD,CAAC;AAC/K,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AAOrF,MAAM,WAAW,gBAAgB;IAChC;;;;;;OAMG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAC3C;AAED,qBAAa,iBAAkB,YAAW,SAAS,CAAC,iBAAiB,CAAC;aAEpD,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;IAG9B,IAAI,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,SAAS;CAM5D;AAED,wBAAgB,SAAS,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,GAAG,SAAS,EAAE,aAAa,EAAE,SAAS,iBAAiB,EAAE,EAAE,aAAa,EAAE,0BAA0B,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,WAAW,EAAE,EAAE,UAAU,EAAE,QAAQ,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAE,gBAAqB,GAAG;IAAE,WAAW,EAAE,iBAAiB,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,mBAAmB,GAAG,cAAc,GAAG,OAAO,GAAG,mBAAmB,CAUxgB;AAmED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,UAAgC,WASjJ;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,GAAG,SAAS,EAAE,UAAU,GAAE,gBAAqB,GAAG,UAAU,GAAG,SAAS,CAE7M;AA4GD,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,2BAA2B,IAAI,CAAC"}
1
+ {"version":3,"file":"editRebase.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/common/editRebase.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,yCAAyC,CAAC;AAElE,OAAO,EAAuB,0BAA0B,EAAE,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAgB,MAAM,sDAAsD,CAAC;AAC/K,OAAO,EAAE,WAAW,EAAE,MAAM,wDAAwD,CAAC;AAOrF,MAAM,WAAW,gBAAgB;IAChC;;;;;OAKG;IACH,QAAQ,CAAC,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAC3C;AAED,qBAAa,iBAAkB,YAAW,SAAS,CAAC,iBAAiB,CAAC;aAEpD,KAAK,EAAE,MAAM;gBAAb,KAAK,EAAE,MAAM;IAG9B,IAAI,CAAC,IAAI,EAAE,iBAAiB,GAAG,iBAAiB,GAAG,SAAS;CAM5D;AAED,wBAAgB,SAAS,CAAC,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,WAAW,GAAG,SAAS,EAAE,aAAa,EAAE,SAAS,iBAAiB,EAAE,EAAE,aAAa,EAAE,0BAA0B,CAAC,iBAAiB,CAAC,EAAE,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,EAAE,gBAAgB,EAAE,SAAS,WAAW,EAAE,EAAE,UAAU,EAAE,QAAQ,GAAG,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAE,gBAAqB,GAAG;IAAE,WAAW,EAAE,iBAAiB,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,EAAE,GAAG,mBAAmB,GAAG,cAAc,GAAG,OAAO,GAAG,mBAAmB,CAUxgB;AAmED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,UAAgC,WASjJ;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,GAAG,SAAS,EAAE,UAAU,GAAE,gBAAqB,GAAG,UAAU,GAAG,SAAS,CAE7M;AA4GD,eAAO,MAAM,kBAAkB,KAAK,CAAC;AACrC,eAAO,MAAM,2BAA2B,IAAI,CAAC"}
@@ -221,6 +221,11 @@ function isSubsequenceOf(typed, suggestion) {
221
221
  }
222
222
  return true;
223
223
  }
224
+ const autoClosePairs = new Set(['()', '[]', '{}', '<>', '""', `''`, '``']);
225
+ /** Returns true if `text` is an editor auto-close pair such as `()`, `[]`, `{}`, etc. */
226
+ function isAutoClosePair(text) {
227
+ return autoClosePairs.has(text);
228
+ }
224
229
  function agreementIndexOf(content, ourE, baseE, previousBaseE, ourNewTextOffset, resolution, nesConfigs) {
225
230
  const originalBaseNewText = baseE.newText;
226
231
  const minStart = previousBaseE ? previousBaseE.replaceRange.endExclusive : ourE.replaceRange.start;
@@ -234,9 +239,9 @@ function agreementIndexOf(content, ourE, baseE, previousBaseE, ourNewTextOffset,
234
239
  return j + baseE.newText.length;
235
240
  }
236
241
  // User typed text not found in suggestion (or rejected by strict limits) — absorb if it aligns as a subsequence.
237
- // Guard: only attempt for short typed text to avoid expensive matching on long pastes
238
- // and to stay consistent with the existing strict safeguards.
239
- if (nesConfigs.absorbSubsequenceTyping && originalBaseNewText.length <= exports.maxImperfectAgreementLength && isSubsequenceOf(originalBaseNewText, ourE.newText.substring(ourNewTextOffset))) {
242
+ // Guard: restrict to known editor auto-close pairs via isAutoClosePair(...) (effectively 2-character pairs)
243
+ // to avoid expensive matching on long pastes and to stay consistent with the existing strict safeguards.
244
+ if (nesConfigs.absorbSubsequenceTyping && isAutoClosePair(originalBaseNewText) && isSubsequenceOf(originalBaseNewText, ourE.newText.substring(ourNewTextOffset))) {
240
245
  return ourNewTextOffset;
241
246
  }
242
247
  return -1;
@@ -1 +1 @@
1
- {"version":3,"file":"editRebase.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/common/editRebase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editRebase.js","sourceRoot":"","sources":["../../../../../../src/_internal/extension/inlineEdits/common/editRebase.ts"],"names":[],"mappings":"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"}
@@ -107,6 +107,8 @@ export declare class ChatMLFetcherImpl extends AbstractChatMLFetcher {
107
107
  private processCanceledResponse;
108
108
  private processFailedResponse;
109
109
  private processError;
110
+ private _handleWebSocketCAPIError;
111
+ private _handleWebSocketError;
110
112
  private scrubErrorDetail;
111
113
  }
112
114
  export declare function createTelemetryData(chatEndpointInfo: IChatEndpoint, location: ChatLocation, headerRequestId: string): TelemetryData;
@@ -1 +1 @@
1
- {"version":3,"file":"chatMLFetcher.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/prompt/node/chatMLFetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chatMLFetcher.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/extension/prompt/node/chatMLFetcher.ts"],"names":[],"mappings":"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"}
@@ -401,7 +401,7 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
401
401
  .split(',')
402
402
  .map(s => parseInt(s.trim(), 10));
403
403
  const retryAfterServerError = enableRetryOnError && actualStatusCode !== undefined && statusCodesToRetry.includes(actualStatusCode);
404
- const retryWithoutWebSocket = enableRetryOnError && useWebSocket;
404
+ const retryWithoutWebSocket = enableRetryOnError && useWebSocket && (response.failKind === fetch_2.ChatFailKind.ServerError || response.failKind === fetch_2.ChatFailKind.Unknown);
405
405
  if (retryAfterServerError || retryWithoutWebSocket) {
406
406
  const { retryResult } = await this._retryAfterError({
407
407
  opts,
@@ -469,7 +469,7 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
469
469
  if (err.resumeEventSeen) {
470
470
  resumeEventSeen = true;
471
471
  }
472
- const processed = this.processError(err, ourRequestId, err.gitHubRequestId, usernameToScrub);
472
+ const processed = this.processError(err, ourRequestId, err.gitHubRequestId, usernameToScrub, (0, autoChatEndpoint_1.isAutoModel)(chatEndpoint) === 1);
473
473
  const retryNetworkError = enableRetryOnError && processed.type === commonTypes_1.ChatFetchResponseType.NetworkError && this._configurationService.getExperimentBasedConfig(configurationService_1.ConfigKey.TeamInternal.RetryNetworkErrors, this._experimentationService);
474
474
  const retryWithoutWebSocket = enableRetryOnError && useWebSocket && (processed.type === commonTypes_1.ChatFetchResponseType.NetworkError || processed.type === commonTypes_1.ChatFetchResponseType.Failed);
475
475
  if (retryNetworkError || retryWithoutWebSocket) {
@@ -663,9 +663,9 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
663
663
  if (opts.useWebSocket && retryResult.type === commonTypes_1.ChatFetchResponseType.Success) {
664
664
  this._consecutiveWebSocketRetryFallbacks++;
665
665
  this._logService.info(`[ChatWebSocketManager] WebSocket request failed with successful HTTP fallback (${this._consecutiveWebSocketRetryFallbacks} consecutive).`);
666
- if (opts.conversationId && opts.turnId) {
666
+ if (opts.conversationId) {
667
667
  // Closing here because the retry is transparent.
668
- this._webSocketManager.closeConnection(opts.conversationId, opts.turnId);
668
+ this._webSocketManager.closeConnection(opts.conversationId);
669
669
  }
670
670
  }
671
671
  return { retryResult, connectivityTestError, connectivityTestErrorGitHubRequestId };
@@ -806,7 +806,7 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
806
806
  if (request.messages?.some((m) => Array.isArray(m.content) ? m.content.some(c => 'image_url' in c) : false) && chatEndpointInfo.supportsVision) {
807
807
  additionalHeaders['Copilot-Vision-Request'] = 'true';
808
808
  }
809
- const connection = this._webSocketManager.getOrCreateConnection(conversationId, turnId, additionalHeaders);
809
+ const connection = this._webSocketManager.getOrCreateConnection(conversationId, additionalHeaders);
810
810
  try {
811
811
  await connection.connect();
812
812
  }
@@ -836,9 +836,11 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
836
836
  telemetryData.properties['headerRequestId'] = ourRequestId;
837
837
  this._telemetryService.sendGHTelemetryEvent('request.sent', telemetryData.properties, telemetryData.measurements);
838
838
  const requestStart = Date.now();
839
- const handle = connection.sendRequest(request, { userInitiated: !!userInitiatedRequest }, cancellationToken);
839
+ const handle = connection.sendRequest(request, { userInitiated: !!userInitiatedRequest, turnId }, cancellationToken);
840
840
  const extendedBaseTelemetryData = baseTelemetryData.extendedBy({ modelCallId });
841
841
  const processor = this._instantiationService.createInstance(responsesApi_1.OpenAIResponsesProcessor, extendedBaseTelemetryData, modelRequestId.headerRequestId, modelRequestId.gitHubRequestId);
842
+ // Set up streaming first so event listeners are registered before we
843
+ // await the first event — AsyncIterableObject runs its executor eagerly.
842
844
  const chatCompletions = new async_1.AsyncIterableObject(async (emitter) => {
843
845
  try {
844
846
  await new Promise((resolve, reject) => {
@@ -848,6 +850,19 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
848
850
  (0, responsesApi_1.sendCompletionOutputTelemetry)(this._telemetryService, this._logService, completion, extendedBaseTelemetryData);
849
851
  emitter.emitOne(completion);
850
852
  }
853
+ if (event.type === 'response.completed') {
854
+ const snapshots = event.copilot_quota_snapshots;
855
+ if (snapshots && typeof snapshots === 'object') {
856
+ this._chatQuotaService.processQuotaSnapshots(snapshots);
857
+ }
858
+ }
859
+ });
860
+ handle.onCAPIError(event => {
861
+ // Mid-stream CAPI error — throw so the caller can handle it
862
+ const error = new Error(`${event.error.message} (${event.error.code})`);
863
+ error.gitHubRequestId = modelRequestId.gitHubRequestId;
864
+ error.capiWebSocketError = event;
865
+ reject(error);
851
866
  });
852
867
  handle.onError(error => {
853
868
  error.gitHubRequestId = modelRequestId.gitHubRequestId;
@@ -864,14 +879,12 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
864
879
  this._telemetryService.sendGHTelemetryEvent('request.error', telemetryData.properties, telemetryData.measurements);
865
880
  reject(error);
866
881
  });
867
- handle.onComplete(() => {
868
- const totalTimeMs = Date.now() - requestStart;
869
- telemetryData.measurements.totalTimeMs = totalTimeMs;
870
- this._logService.debug(`request.response: [websocket], took ${totalTimeMs} ms`);
871
- this._telemetryService.sendGHTelemetryEvent('request.response', telemetryData.properties, telemetryData.measurements);
872
- resolve();
873
- });
882
+ handle.done.then(resolve, reject);
874
883
  });
884
+ const totalTimeMs = Date.now() - requestStart;
885
+ telemetryData.measurements.totalTimeMs = totalTimeMs;
886
+ this._logService.debug(`request.response: [websocket], took ${totalTimeMs} ms`);
887
+ this._telemetryService.sendGHTelemetryEvent('request.response', telemetryData.properties, telemetryData.measurements);
875
888
  }
876
889
  finally {
877
890
  let messagesToLog = request.messages;
@@ -888,6 +901,25 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
888
901
  (0, chatStream_1.sendEngineMessagesTelemetry)(this._telemetryService, messagesToLog ?? [], telemetryData, false, this._logService);
889
902
  }
890
903
  });
904
+ // Wait for the first event to determine the response type,
905
+ // analogous to checking HTTP status code before streaming the body.
906
+ const firstEvent = await handle.firstEvent;
907
+ if (cancellationToken.isCancellationRequested) {
908
+ return { result: { type: fetch_2.FetchResponseKind.Canceled, reason: 'after first WebSocket event' } };
909
+ }
910
+ // CAPI error before any stream events — return Failed like HTTP non-200
911
+ if ((0, chatWebSocketManager_1.isCAPIWebSocketError)(firstEvent)) {
912
+ const totalTimeMs = Date.now() - requestStart;
913
+ telemetryData.measurements.totalTimeMs = totalTimeMs;
914
+ telemetryData.properties.error = `${firstEvent.error.message} (${firstEvent.error.code})`;
915
+ this._logService.debug(`request.error: [websocket capi error], took ${totalTimeMs} ms`);
916
+ this._telemetryService.sendGHTelemetryEvent('request.error', telemetryData.properties, telemetryData.measurements);
917
+ return { result: await this._handleWebSocketCAPIError(firstEvent, modelRequestId) };
918
+ }
919
+ // Clear stale quota-exceeded state if the server accepted the request.
920
+ if (this._authenticationService.copilotToken?.isFreeUser && this._authenticationService.copilotToken?.isChatQuotaExceeded) {
921
+ this._authenticationService.resetCopilotToken();
922
+ }
891
923
  return {
892
924
  result: {
893
925
  type: fetch_2.FetchResponseKind.Success,
@@ -1477,7 +1509,11 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
1477
1509
  }
1478
1510
  return { type: commonTypes_1.ChatFetchResponseType.Failed, reason, requestId, serverRequestId };
1479
1511
  }
1480
- processError(err, requestId, gitHubRequestId, usernameToScrub) {
1512
+ processError(err, requestId, gitHubRequestId, usernameToScrub, isAuto) {
1513
+ const capiWebSocketError = err?.capiWebSocketError;
1514
+ if (capiWebSocketError) {
1515
+ return this._handleWebSocketError(capiWebSocketError, requestId, gitHubRequestId, isAuto);
1516
+ }
1481
1517
  const fetcher = this._fetcherService;
1482
1518
  // If we cancelled a network request, we don't want to log an error
1483
1519
  if (fetcher.isAbortError(err)) {
@@ -1540,6 +1576,105 @@ let ChatMLFetcherImpl = class ChatMLFetcherImpl extends AbstractChatMLFetcher {
1540
1576
  };
1541
1577
  }
1542
1578
  }
1579
+ async _handleWebSocketCAPIError(event, modelRequestId) {
1580
+ const { code, message } = event.error;
1581
+ const capiError = { code, message };
1582
+ const codePrefix = code.split(':')[0];
1583
+ this._logService.error(`WebSocket CAPI error: ${message} (${code})`);
1584
+ if (codePrefix === 'rate_limited' || codePrefix === 'user_model_rate_limited' || codePrefix === 'user_global_rate_limited' || codePrefix === 'integration_rate_limited' || codePrefix === 'model_overloaded' || codePrefix === 'agent_mode_limit_exceeded') {
1585
+ return {
1586
+ type: fetch_2.FetchResponseKind.Failed,
1587
+ modelRequestId,
1588
+ failKind: fetch_2.ChatFailKind.RateLimited,
1589
+ reason: message,
1590
+ data: { capiError },
1591
+ };
1592
+ }
1593
+ if (codePrefix === 'quota_exceeded' || codePrefix === 'free_quota_exceeded' || codePrefix === 'overage_limit_reached' || codePrefix === 'billing_not_configured') {
1594
+ // Refresh the copilot token so isChatQuotaExceeded reflects the new state,
1595
+ // matching the HTTP 402 handler behavior.
1596
+ if (!this._authenticationService.copilotToken?.isChatQuotaExceeded) {
1597
+ this._authenticationService.resetCopilotToken(402);
1598
+ await this._authenticationService.getCopilotToken();
1599
+ }
1600
+ return {
1601
+ type: fetch_2.FetchResponseKind.Failed,
1602
+ modelRequestId,
1603
+ failKind: fetch_2.ChatFailKind.QuotaExceeded,
1604
+ reason: message,
1605
+ data: { capiError },
1606
+ };
1607
+ }
1608
+ if (code === 'content_filter') {
1609
+ return {
1610
+ type: fetch_2.FetchResponseKind.Failed,
1611
+ modelRequestId,
1612
+ failKind: fetch_2.ChatFailKind.ContentFilter,
1613
+ reason: message,
1614
+ };
1615
+ }
1616
+ if (code === 'not_found') {
1617
+ return {
1618
+ type: fetch_2.FetchResponseKind.Failed,
1619
+ modelRequestId,
1620
+ failKind: fetch_2.ChatFailKind.NotFound,
1621
+ reason: message,
1622
+ };
1623
+ }
1624
+ if (code === 'request_too_large') {
1625
+ return {
1626
+ type: fetch_2.FetchResponseKind.Failed,
1627
+ modelRequestId,
1628
+ failKind: fetch_2.ChatFailKind.Unknown,
1629
+ reason: `Request Failed: ${code} ${message}`,
1630
+ };
1631
+ }
1632
+ if (code === 'service_unavailable') {
1633
+ return {
1634
+ type: fetch_2.FetchResponseKind.Failed,
1635
+ modelRequestId,
1636
+ failKind: fetch_2.ChatFailKind.ServerError,
1637
+ reason: `Request Failed: ${code} ${message}`,
1638
+ };
1639
+ }
1640
+ if (code === 'bad_request') {
1641
+ return {
1642
+ type: fetch_2.FetchResponseKind.Failed,
1643
+ modelRequestId,
1644
+ failKind: fetch_2.ChatFailKind.Unknown,
1645
+ reason: `Request Failed: ${code} ${message}`,
1646
+ };
1647
+ }
1648
+ // internal_error, session_expired, or any unknown code
1649
+ return {
1650
+ type: fetch_2.FetchResponseKind.Failed,
1651
+ modelRequestId,
1652
+ failKind: fetch_2.ChatFailKind.ServerError,
1653
+ reason: `Request Failed: ${code} ${message || 'WebSocket server error'}`,
1654
+ };
1655
+ }
1656
+ _handleWebSocketError(event, requestId, serverRequestId, isAuto) {
1657
+ const { code, message } = event.error;
1658
+ const capiError = { code, message };
1659
+ const codePrefix = code.split(':')[0];
1660
+ if (codePrefix === 'rate_limited' || codePrefix === 'user_model_rate_limited' || codePrefix === 'user_global_rate_limited' || codePrefix === 'integration_rate_limited' || codePrefix === 'model_overloaded' || codePrefix === 'agent_mode_limit_exceeded') {
1661
+ return { type: commonTypes_1.ChatFetchResponseType.RateLimited, reason: message, requestId, serverRequestId, retryAfter: undefined, rateLimitKey: '', isAuto, capiError };
1662
+ }
1663
+ if (codePrefix === 'quota_exceeded' || codePrefix === 'free_quota_exceeded' || codePrefix === 'overage_limit_reached' || codePrefix === 'billing_not_configured') {
1664
+ return { type: commonTypes_1.ChatFetchResponseType.QuotaExceeded, reason: message, requestId, serverRequestId, capiError, retryAfter: undefined };
1665
+ }
1666
+ if (code === 'content_filter') {
1667
+ return { type: commonTypes_1.ChatFetchResponseType.PromptFiltered, reason: message, category: openai_1.FilterReason.Prompt, requestId, serverRequestId };
1668
+ }
1669
+ if (code === 'not_found') {
1670
+ return { type: commonTypes_1.ChatFetchResponseType.NotFound, reason: message, requestId, serverRequestId };
1671
+ }
1672
+ if (code === 'bad_request') {
1673
+ return { type: commonTypes_1.ChatFetchResponseType.BadRequest, reason: message, requestId, serverRequestId };
1674
+ }
1675
+ // internal_error, session_expired, service_unavailable, request_too_large, or any unknown code
1676
+ return { type: commonTypes_1.ChatFetchResponseType.Failed, reason: `Request Failed: ${code} ${message || 'WebSocket server error'}`, requestId, serverRequestId };
1677
+ }
1543
1678
  scrubErrorDetail(errorDetail, usernameToScrub) {
1544
1679
  if (usernameToScrub) {
1545
1680
  const regex = new RegExp((0, strings_1.escapeRegExpCharacters)(usernameToScrub), 'ig');