@vscode/chat-lib 0.4.1-0 → 0.4.1-10

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 (181) hide show
  1. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsFromNetwork.js +1 -1
  2. package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsFromNetwork.js.map +1 -1
  3. package/dist/src/_internal/extension/inlineEdits/common/delay.d.ts +3 -1
  4. package/dist/src/_internal/extension/inlineEdits/common/delay.d.ts.map +1 -1
  5. package/dist/src/_internal/extension/inlineEdits/common/delay.js +6 -0
  6. package/dist/src/_internal/extension/inlineEdits/common/delay.js.map +1 -1
  7. package/dist/src/_internal/extension/inlineEdits/common/editRebase.d.ts.map +1 -1
  8. package/dist/src/_internal/extension/inlineEdits/common/editRebase.js +2 -35
  9. package/dist/src/_internal/extension/inlineEdits/common/editRebase.js.map +1 -1
  10. package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.d.ts +6 -0
  11. package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.d.ts.map +1 -1
  12. package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.js +19 -35
  13. package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.js.map +1 -1
  14. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts +1 -0
  15. package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts.map +1 -1
  16. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts +12 -1
  17. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts.map +1 -1
  18. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js +150 -97
  19. package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js.map +1 -1
  20. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.d.ts +7 -0
  21. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.d.ts.map +1 -1
  22. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js +18 -3
  23. package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js.map +1 -1
  24. package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.d.ts +2 -0
  25. package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.d.ts.map +1 -1
  26. package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.js.map +1 -1
  27. package/dist/src/_internal/extension/power/common/powerService.d.ts +11 -0
  28. package/dist/src/_internal/extension/power/common/powerService.d.ts.map +1 -1
  29. package/dist/src/_internal/extension/power/common/powerService.js +5 -0
  30. package/dist/src/_internal/extension/power/common/powerService.js.map +1 -1
  31. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts +11 -1
  32. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts.map +1 -1
  33. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js +235 -56
  34. package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js.map +1 -1
  35. package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.d.ts +26 -3
  36. package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.d.ts.map +1 -1
  37. package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.js +27 -9
  38. package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.js.map +1 -1
  39. package/dist/src/_internal/extension/xtab/common/diffHistoryForPrompt.d.ts +6 -1
  40. package/dist/src/_internal/extension/xtab/common/diffHistoryForPrompt.d.ts.map +1 -1
  41. package/dist/src/_internal/extension/xtab/common/diffHistoryForPrompt.js +3 -1
  42. package/dist/src/_internal/extension/xtab/common/diffHistoryForPrompt.js.map +1 -1
  43. package/dist/src/_internal/extension/xtab/common/lintErrors.js +2 -1
  44. package/dist/src/_internal/extension/xtab/common/lintErrors.js.map +1 -1
  45. package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts +6 -1
  46. package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts.map +1 -1
  47. package/dist/src/_internal/extension/xtab/common/promptCrafting.js +43 -6
  48. package/dist/src/_internal/extension/xtab/common/promptCrafting.js.map +1 -1
  49. package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.d.ts +22 -0
  50. package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.d.ts.map +1 -1
  51. package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.js +116 -17
  52. package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.js.map +1 -1
  53. package/dist/src/_internal/extension/xtab/common/similarFilesContextService.d.ts +10 -0
  54. package/dist/src/_internal/extension/xtab/common/similarFilesContextService.d.ts.map +1 -0
  55. package/dist/src/_internal/extension/xtab/common/similarFilesContextService.js +10 -0
  56. package/dist/src/_internal/extension/xtab/common/similarFilesContextService.js.map +1 -0
  57. package/dist/src/_internal/extension/xtab/common/tags.d.ts +1 -0
  58. package/dist/src/_internal/extension/xtab/common/tags.d.ts.map +1 -1
  59. package/dist/src/_internal/extension/xtab/common/tags.js +1 -0
  60. package/dist/src/_internal/extension/xtab/common/tags.js.map +1 -1
  61. package/dist/src/_internal/extension/xtab/node/xtabCustomDiffPatchResponseHandler.js +1 -1
  62. package/dist/src/_internal/extension/xtab/node/xtabCustomDiffPatchResponseHandler.js.map +1 -1
  63. package/dist/src/_internal/extension/xtab/node/xtabEndpoint.d.ts.map +1 -1
  64. package/dist/src/_internal/extension/xtab/node/xtabEndpoint.js +1 -0
  65. package/dist/src/_internal/extension/xtab/node/xtabEndpoint.js.map +1 -1
  66. package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.d.ts.map +1 -1
  67. package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.js +3 -2
  68. package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.js.map +1 -1
  69. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts +4 -1
  70. package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
  71. package/dist/src/_internal/extension/xtab/node/xtabProvider.js +91 -20
  72. package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
  73. package/dist/src/_internal/platform/authentication/common/copilotToken.d.ts +4 -0
  74. package/dist/src/_internal/platform/authentication/common/copilotToken.d.ts.map +1 -1
  75. package/dist/src/_internal/platform/authentication/common/copilotToken.js +6 -0
  76. package/dist/src/_internal/platform/authentication/common/copilotToken.js.map +1 -1
  77. package/dist/src/_internal/platform/authentication/node/copilotTokenManager.js +1 -1
  78. package/dist/src/_internal/platform/authentication/node/copilotTokenManager.js.map +1 -1
  79. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +29 -24
  80. package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
  81. package/dist/src/_internal/platform/configuration/common/configurationService.js +32 -19
  82. package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
  83. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts +2 -1
  84. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts.map +1 -1
  85. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js +17 -7
  86. package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js.map +1 -1
  87. package/dist/src/_internal/platform/endpoint/common/endpointProvider.d.ts +1 -0
  88. package/dist/src/_internal/platform/endpoint/common/endpointProvider.d.ts.map +1 -1
  89. package/dist/src/_internal/platform/endpoint/common/endpointProvider.js.map +1 -1
  90. package/dist/src/_internal/platform/endpoint/node/autoChatEndpoint.d.ts.map +1 -1
  91. package/dist/src/_internal/platform/endpoint/node/autoChatEndpoint.js +1 -0
  92. package/dist/src/_internal/platform/endpoint/node/autoChatEndpoint.js.map +1 -1
  93. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts +1 -0
  94. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts.map +1 -1
  95. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js +4 -3
  96. package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js.map +1 -1
  97. package/dist/src/_internal/platform/endpoint/node/messagesApi.d.ts +6 -1
  98. package/dist/src/_internal/platform/endpoint/node/messagesApi.d.ts.map +1 -1
  99. package/dist/src/_internal/platform/endpoint/node/messagesApi.js +48 -15
  100. package/dist/src/_internal/platform/endpoint/node/messagesApi.js.map +1 -1
  101. package/dist/src/_internal/platform/endpoint/node/proxyXtabEndpoint.d.ts.map +1 -1
  102. package/dist/src/_internal/platform/endpoint/node/proxyXtabEndpoint.js +1 -0
  103. package/dist/src/_internal/platform/endpoint/node/proxyXtabEndpoint.js.map +1 -1
  104. package/dist/src/_internal/platform/endpoint/node/responsesApi.d.ts +1 -0
  105. package/dist/src/_internal/platform/endpoint/node/responsesApi.d.ts.map +1 -1
  106. package/dist/src/_internal/platform/endpoint/node/responsesApi.js +20 -2
  107. package/dist/src/_internal/platform/endpoint/node/responsesApi.js.map +1 -1
  108. package/dist/src/_internal/platform/github/common/githubService.d.ts +2 -1
  109. package/dist/src/_internal/platform/github/common/githubService.d.ts.map +1 -1
  110. package/dist/src/_internal/platform/github/common/githubService.js.map +1 -1
  111. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/triggerOptions.d.ts +8 -0
  112. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/triggerOptions.d.ts.map +1 -0
  113. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/triggerOptions.js +17 -0
  114. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/triggerOptions.js.map +1 -0
  115. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts +44 -0
  116. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts.map +1 -1
  117. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js +71 -2
  118. package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js.map +1 -1
  119. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.js +5 -5
  120. package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.js.map +1 -1
  121. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts +15 -1
  122. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts.map +1 -1
  123. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js +22 -1
  124. package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js.map +1 -1
  125. package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.d.ts.map +1 -1
  126. package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.js +9 -44
  127. package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.js.map +1 -1
  128. package/dist/src/_internal/platform/nesFetch/common/responseStream.js +2 -35
  129. package/dist/src/_internal/platform/nesFetch/common/responseStream.js.map +1 -1
  130. package/dist/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.js +3 -36
  131. package/dist/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.js.map +1 -1
  132. package/dist/src/_internal/platform/networking/common/anthropic.d.ts +11 -16
  133. package/dist/src/_internal/platform/networking/common/anthropic.d.ts.map +1 -1
  134. package/dist/src/_internal/platform/networking/common/anthropic.js +33 -38
  135. package/dist/src/_internal/platform/networking/common/anthropic.js.map +1 -1
  136. package/dist/src/_internal/platform/networking/common/fetcherService.d.ts +43 -1
  137. package/dist/src/_internal/platform/networking/common/fetcherService.d.ts.map +1 -1
  138. package/dist/src/_internal/platform/networking/common/fetcherService.js +29 -4
  139. package/dist/src/_internal/platform/networking/common/fetcherService.js.map +1 -1
  140. package/dist/src/_internal/platform/networking/common/networking.d.ts +40 -4
  141. package/dist/src/_internal/platform/networking/common/networking.d.ts.map +1 -1
  142. package/dist/src/_internal/platform/networking/common/networking.js +21 -6
  143. package/dist/src/_internal/platform/networking/common/networking.js.map +1 -1
  144. package/dist/src/_internal/platform/networking/node/chatWebSocketManager.d.ts +71 -0
  145. package/dist/src/_internal/platform/networking/node/chatWebSocketManager.d.ts.map +1 -0
  146. package/dist/src/_internal/platform/networking/node/chatWebSocketManager.js +308 -0
  147. package/dist/src/_internal/platform/networking/node/chatWebSocketManager.js.map +1 -0
  148. package/dist/src/_internal/platform/proxyModels/node/proxyModelsService.js +4 -37
  149. package/dist/src/_internal/platform/proxyModels/node/proxyModelsService.js.map +1 -1
  150. package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.d.ts +1 -0
  151. package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.d.ts.map +1 -1
  152. package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.js +3 -0
  153. package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.js.map +1 -1
  154. package/dist/src/_internal/platform/requestLogger/node/requestLogger.d.ts +2 -0
  155. package/dist/src/_internal/platform/requestLogger/node/requestLogger.d.ts.map +1 -1
  156. package/dist/src/_internal/platform/requestLogger/node/requestLogger.js.map +1 -1
  157. package/dist/src/_internal/platform/telemetry/common/telemetry.d.ts +9 -1
  158. package/dist/src/_internal/platform/telemetry/common/telemetry.d.ts.map +1 -1
  159. package/dist/src/_internal/platform/telemetry/common/telemetry.js +33 -15
  160. package/dist/src/_internal/platform/telemetry/common/telemetry.js.map +1 -1
  161. package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.d.ts +1 -1
  162. package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.d.ts.map +1 -1
  163. package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.js +3 -2
  164. package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.js.map +1 -1
  165. package/dist/src/_internal/util/common/errors.d.ts +4 -2
  166. package/dist/src/_internal/util/common/errors.d.ts.map +1 -1
  167. package/dist/src/_internal/util/common/errors.js +16 -12
  168. package/dist/src/_internal/util/common/errors.js.map +1 -1
  169. package/dist/src/_internal/util/common/result.js +4 -37
  170. package/dist/src/_internal/util/common/result.js.map +1 -1
  171. package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts +14 -2
  172. package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts.map +1 -1
  173. package/dist/src/_internal/util/common/test/shims/chatTypes.js +17 -3
  174. package/dist/src/_internal/util/common/test/shims/chatTypes.js.map +1 -1
  175. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js +1 -1
  176. package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js.map +1 -1
  177. package/dist/src/main.d.ts.map +1 -1
  178. package/dist/src/main.js +10 -0
  179. package/dist/src/main.js.map +1 -1
  180. package/dist/src/package.json +221 -294
  181. package/package.json +2 -2
@@ -3,16 +3,16 @@ import { Raw } from '@vscode/prompt-tsx';
3
3
  import type { CancellationToken } from 'vscode';
4
4
  import { ITokenizer, TokenizerType } from '../../../util/common/tokenizer';
5
5
  import { AsyncIterableObject } from '../../../util/vs/base/common/async';
6
+ import { ServicesAccessor } from '../../../util/vs/platform/instantiation/common/instantiation';
6
7
  import { Source } from '../../chat/common/chatMLFetcher';
7
8
  import type { ChatLocation, ChatResponse } from '../../chat/common/commonTypes';
8
- import { ICAPIClientService } from '../../endpoint/common/capiClient';
9
9
  import { CustomModel, EndpointEditToolName } from '../../endpoint/common/endpointProvider';
10
10
  import { ILogService } from '../../log/common/logService';
11
11
  import { ITelemetryService, TelemetryProperties } from '../../telemetry/common/telemetry';
12
12
  import { TelemetryData } from '../../telemetry/common/telemetryData';
13
13
  import { AnthropicMessagesTool, ContextManagement } from './anthropic';
14
14
  import { FinishedCallback, OpenAiFunctionTool, OpenAiResponsesFunctionTool, OptionalChatRequestParams, Prediction } from './fetch';
15
- import { FetcherId, FetchOptions, IAbortController, IFetcherService, PaginationOptions, Response } from './fetcherService';
15
+ import { FetcherId, FetchOptions, IAbortController, PaginationOptions, Response } from './fetcherService';
16
16
  import { ChatCompletion, OpenAIContextManagement, RawMessageConversionCallback } from './openai';
17
17
  /**
18
18
  * Encapsulates all the functionality related to making GET/POST requests using
@@ -146,6 +146,10 @@ export interface IMakeChatRequestOptions {
146
146
  location: ChatLocation;
147
147
  /** Optional source of the chat request */
148
148
  source?: Source;
149
+ /** Conversation identifier used for request-scoped state (for example WebSocket connection reuse). */
150
+ conversationId?: string;
151
+ /** Identifier for a single tool-calling turn within a conversation. */
152
+ turnId?: string;
149
153
  /** Additional request options */
150
154
  requestOptions?: Omit<OptionalChatRequestParams, 'n'>;
151
155
  /** Indicates if the request was user-initiated */
@@ -166,6 +170,11 @@ export interface IMakeChatRequestOptions {
166
170
  canRetryOnceWithoutRollback?: boolean;
167
171
  /** Custom metadata to be displayed in the log document */
168
172
  customMetadata?: Record<string, string | number | boolean | undefined>;
173
+ /**
174
+ * Options for the kind of request being made (e.g. subagent). Controls the X-Interaction-Type header.
175
+ * See notes on each interface.
176
+ */
177
+ requestKindOptions?: IBackgroundRequestOptions | ISubagentRequestOptions;
169
178
  }
170
179
  export type IChatRequestTelemetryProperties = {
171
180
  requestId?: string;
@@ -191,6 +200,7 @@ export interface IChatEndpoint extends IEndpoint {
191
200
  readonly maxOutputTokens: number;
192
201
  /** The model ID- this may change and will be `copilot-base` for the base model. Use `family` to switch behavior based on model type. */
193
202
  readonly model: string;
203
+ readonly modelProvider: string;
194
204
  readonly apiType?: string;
195
205
  readonly supportsThinkingContentInHistory?: boolean;
196
206
  readonly supportsAdaptiveThinking?: boolean;
@@ -243,9 +253,35 @@ export interface IChatEndpoint extends IEndpoint {
243
253
  }
244
254
  /** Function to create a standard request body for CAPI completions */
245
255
  export declare function createCapiRequestBody(options: ICreateEndpointBodyOptions, model: string, callback?: RawMessageConversionCallback): IEndpointBody;
256
+ export interface INetworkRequestOptions {
257
+ readonly requestType: 'GET' | 'POST';
258
+ readonly endpointOrUrl: IEndpoint | string | RequestMetadata;
259
+ readonly secretKey: string;
260
+ readonly intent: string;
261
+ readonly requestId: string;
262
+ readonly body?: IEndpointBody;
263
+ readonly additionalHeaders?: Record<string, string>;
264
+ readonly cancelToken?: CancellationToken;
265
+ readonly useFetcher?: FetcherId;
266
+ readonly canRetryOnce?: boolean;
267
+ readonly location?: ChatLocation;
268
+ readonly requestKindOptions?: IBackgroundRequestOptions | ISubagentRequestOptions;
269
+ }
270
+ /**
271
+ * A background request is one that is not associated with a user request.
272
+ */
273
+ export interface IBackgroundRequestOptions {
274
+ readonly kind: 'background';
275
+ }
276
+ /**
277
+ * A subagent request is a request made by a subagent, indicated with a subAgentInvocationId included in the request from VS Code.
278
+ */
279
+ export interface ISubagentRequestOptions {
280
+ readonly kind: 'subagent';
281
+ }
246
282
  export declare function canRetryOnceNetworkError(reason: any): boolean;
247
- export declare function postRequest(fetcherService: IFetcherService, telemetryService: ITelemetryService, capiClientService: ICAPIClientService, endpointOrUrl: IEndpoint | string | RequestMetadata, secretKey: string, hmac: string | undefined, intent: string, requestId: string, body?: IEndpointBody, additionalHeaders?: Record<string, string>, cancelToken?: CancellationToken, useFetcher?: FetcherId, canRetryOnce?: boolean, location?: ChatLocation): Promise<Response>;
248
- export declare function getRequest(fetcherService: IFetcher, telemetryService: ITelemetryService, capiClientService: ICAPIClientService, endpointOrUrl: IEndpoint | string | RequestMetadata, secretKey: string, hmac: string | undefined, intent: string, requestId: string, body?: IEndpointBody, additionalHeaders?: Record<string, string>, cancelToken?: CancellationToken): Promise<Response>;
283
+ export declare function postRequest(accessor: ServicesAccessor, options: Omit<INetworkRequestOptions, 'requestType'>): Promise<Response>;
284
+ export declare function getRequest(accessor: ServicesAccessor, options: Omit<INetworkRequestOptions, 'requestType'>): Promise<Response>;
249
285
  export declare const IHeaderContributors: import("../../../util/common/services").ServiceIdentifier<HeaderContributors>;
250
286
  export interface IHeaderContributors {
251
287
  readonly _serviceBrand: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"networking.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/platform/networking/common/networking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"networking.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/platform/networking/common/networking.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,MAAM,oBAAoB,CAAC;AACzC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AAEhD,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8DAA8D,CAAC;AAChG,OAAO,EAAE,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAEhF,OAAO,EAAE,WAAW,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACnI,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,gBAAgB,EAAmB,iBAAiB,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC3H,OAAO,EAAE,cAAc,EAAE,uBAAuB,EAAE,4BAA4B,EAAoB,MAAM,UAAU,CAAC;AAEnH;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACxB,mBAAmB,IAAI,MAAM,CAAC;IAC9B,KAAK,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC7D,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,mBAAmB,IAAI,gBAAgB,CAAC;IACxC,YAAY,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC;IAC9B,2BAA2B,CAAC,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC;IAC7C,cAAc,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC;IAClC,4BAA4B,CAAC,GAAG,EAAE,GAAG,GAAG,OAAO,CAAC;IAChD,6BAA6B,CAAC,GAAG,EAAE,GAAG,GAAG,MAAM,CAAC;IAChD,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;CACrF;AAED,eAAO,MAAM,sBAAsB,wCAAwC,CAAC;AAE5E,MAAM,MAAM,UAAU,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AACnD;;;GAGG;AACH,MAAM,WAAW,iBAAiB;IACjC,sBAAsB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;CAClD;AAMD;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B,8BAA8B;IAC9B,KAAK,CAAC,EAAE,CAAC,kBAAkB,GAAG,2BAA2B,GAAG,qBAAqB,CAAC,EAAE,CAAC;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,kBAAkB,CAAC,EAAE,iBAAiB,GAAG,uBAAuB,EAAE,CAAC;IACnE,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAClD,WAAW,CAAC,EAAE,yBAAyB,CAAC,aAAa,CAAC,GAAG;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM,CAAC;IACrG,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,MAAM,CAAC,EAAE;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAC9B,cAAc,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;IAC7C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0BAA0B;IAC1B,GAAG,CAAC,EAAE,GAAG,CAAC;IACV,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mBAAmB;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,qBAAqB;IACrB,KAAK,CAAC,EAAE,SAAS,GAAG,EAAE,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IACjC,OAAO,CAAC,EAAE,CAAC,6BAA6B,CAAC,CAAC;IAC1C,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,IAAI,CAAC,EAAE;QACN,SAAS,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;KACtC,CAAC;IAEF,mBAAmB;IACnB,QAAQ,CAAC,EAAE;QACV,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,UAAU,CAAC;QAC1C,aAAa,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,aAAa,CAAC,EAAE;QACf,MAAM,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;KACnC,CAAC;IAEF,+CAA+C;IAC/C,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,qBAAqB;IACrC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CAChC;AAED,MAAM,WAAW,SAAS;IACzB,QAAQ,CAAC,oBAAoB,EAAE,MAAM,GAAG,eAAe,CAAC;IACxD,eAAe,CAAC,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClE,uBAAuB,CAAC,IAAI,qBAAqB,CAAC;IAClD,aAAa,CAAC,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,GAAG,IAAI,CAAC;IACtD,gBAAgB,IAAI,UAAU,CAAC;IAC/B,QAAQ,CAAC,oBAAoB,EAAE,MAAM,CAAC;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,aAAa,CAAC;CAClC;AAED,wBAAgB,6BAA6B,CAAC,oBAAoB,EAAE,MAAM,GAAG,eAAe,GAAG,MAAM,CAKpG;AAED,MAAM,WAAW,mBAAoB,SAAQ,SAAS;IACrD,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB;IACvC,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,yCAAyC;IACzC,QAAQ,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC;IAC5B,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iDAAiD;IACjD,UAAU,EAAE,gBAAgB,GAAG,SAAS,CAAC;IACzC,qDAAqD;IACrD,QAAQ,EAAE,YAAY,CAAC;IACvB,0CAA0C;IAC1C,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,sGAAsG;IACtG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iCAAiC;IACjC,cAAc,CAAC,EAAE,IAAI,CAAC,yBAAyB,EAAE,GAAG,CAAC,CAAC;IACtD,kDAAkD;IAClD,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,wIAAwI;IACxI,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,8DAA8D;IAC9D,mBAAmB,CAAC,EAAE,+BAA+B,CAAC;IACtD,8KAA8K;IAC9K,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,2LAA2L;IAC3L,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,mDAAmD;IACnD,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,iJAAiJ;IACjJ,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,qEAAqE;IACrE,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,0DAA0D;IAC1D,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC,CAAC;IACvE;;;OAGG;IACH,kBAAkB,CAAC,EAAE,yBAAyB,GAAG,uBAAuB,CAAC;CACzE;AAED,MAAM,MAAM,+BAA+B,GAAG;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,oCAAoC,CAAC,EAAE,MAAM,CAAC;IAC9C,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,uFAAuF;IACvF,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB,CAAA;AAED,MAAM,WAAW,0BAA2B,SAAQ,uBAAuB;IAC1E,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,yBAAyB,CAAC;CACvC;AAED,MAAM,WAAW,aAAc,SAAQ,SAAS;IAC/C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,wIAAwI;IACxI,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gCAAgC,CAAC,EAAE,OAAO,CAAC;IACpD,QAAQ,CAAC,wBAAwB,CAAC,EAAE,OAAO,CAAC;IAC5C,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,kBAAkB,EAAE,OAAO,CAAC;IACrC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,SAAS,oBAAoB,EAAE,CAAC;IAC9D,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,WAAW,CAAC,EAAE,WAAW,CAAC;IACnC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,OAAO,CAAC;IAC1C,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC;;;;;;;;;;OAUG;IACH,+BAA+B,CAC9B,gBAAgB,EAAE,iBAAiB,EACnC,UAAU,EAAE,WAAW,EACvB,QAAQ,EAAE,QAAQ,EAClB,kBAAkB,EAAE,MAAM,EAC1B,cAAc,EAAE,gBAAgB,EAChC,aAAa,EAAE,aAAa,EAC5B,iBAAiB,CAAC,EAAE,iBAAiB,EACrC,QAAQ,CAAC,EAAE,YAAY,GACrB,OAAO,CAAC,mBAAmB,CAAC,cAAc,CAAC,CAAC,CAAC;IAEhD;;;;;;;OAOG;IACH,eAAe,CACd,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,GAAG,CAAC,WAAW,EAAE,EAC3B,UAAU,EAAE,gBAAgB,GAAG,SAAS,EACxC,KAAK,EAAE,iBAAiB,EACxB,QAAQ,EAAE,YAAY,EACtB,MAAM,CAAC,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,IAAI,CAAC,yBAAyB,EAAE,GAAG,CAAC,EACrD,oBAAoB,CAAC,EAAE,OAAO,EAC9B,mBAAmB,CAAC,EAAE,mBAAmB,GACvC,OAAO,CAAC,YAAY,CAAC,CAAC;IAEzB;;;OAGG;IACH,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;IAEpG;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,0BAA0B,GAAG,aAAa,CAAC;IAEtE,sBAAsB,CAAC,oBAAoB,EAAE,MAAM,GAAG,aAAa,CAAC;CACpE;AAED,sEAAsE;AACtE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,0BAA0B,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,4BAA4B,iBAgBhI;AAED,MAAM,WAAW,sBAAsB;IACtC,QAAQ,CAAC,WAAW,EAAE,KAAK,GAAG,MAAM,CAAC;IACrC,QAAQ,CAAC,aAAa,EAAE,SAAS,GAAG,MAAM,GAAG,eAAe,CAAC;IAC7D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpD,QAAQ,CAAC,WAAW,CAAC,EAAE,iBAAiB,CAAC;IACzC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAChC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACjC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,yBAAyB,GAAG,uBAAuB,CAAC;CAClF;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACzC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;CAC1B;AAwFD,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,GAAG,WAWnD;AAED,wBAAgB,WAAW,CAC1B,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC,GAClD,OAAO,CAAC,QAAQ,CAAC,CAEnB;AAED,wBAAgB,UAAU,CACzB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,IAAI,CAAC,sBAAsB,EAAE,aAAa,CAAC,GAClD,OAAO,CAAC,QAAQ,CAAC,CAEnB;AAED,eAAO,MAAM,mBAAmB,+EAAoE,CAAC;AAErG,MAAM,WAAW,mBAAmB;IACnC,QAAQ,CAAC,aAAa,EAAE,SAAS,CAAC;IAClC,GAAG,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC1C,MAAM,CAAC,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAC7C,iBAAiB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAAC;IAC7C,IAAI,IAAI,MAAM,CAAC;CACf;AAED,qBAAa,kBAAmB,YAAW,mBAAmB;IAC7D,SAAiB,aAAa,EAAE,SAAS,CAAC;IAC1C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA2B;IAExD,GAAG,CAAC,WAAW,EAAE,iBAAiB;IAIlC,MAAM,CAAC,WAAW,EAAE,iBAAiB;IAUrC,iBAAiB,CAAC,OAAO,EAAE,UAAU;IAMrC,IAAI;CAGJ"}
@@ -13,6 +13,9 @@ exports.getRequest = getRequest;
13
13
  const services_1 = require("../../../util/common/services");
14
14
  const tokenizer_1 = require("../../../util/common/tokenizer");
15
15
  const errors_1 = require("../../../util/vs/base/common/errors");
16
+ const capiClient_1 = require("../../endpoint/common/capiClient");
17
+ const telemetry_1 = require("../../telemetry/common/telemetry");
18
+ const fetcherService_1 = require("./fetcherService");
16
19
  const openai_1 = require("./openai");
17
20
  exports.userAgentLibraryHeader = 'X-VSCode-User-Agent-Library-Version';
18
21
  // The maximum time to wait for a request to complete.
@@ -38,7 +41,11 @@ function createCapiRequestBody(options, model, callback) {
38
41
  }
39
42
  return request;
40
43
  }
41
- function networkRequest(fetcher, telemetryService, capiClientService, requestType, endpointOrUrl, secretKey, intent, requestId, body, additionalHeaders, cancelToken, useFetcher, canRetryOnce = true, location) {
44
+ function networkRequest(accessor, options) {
45
+ const fetcher = accessor.get(fetcherService_1.IFetcherService);
46
+ const telemetryService = accessor.get(telemetry_1.ITelemetryService);
47
+ const capiClientService = accessor.get(capiClient_1.ICAPIClientService);
48
+ const { requestType, endpointOrUrl, secretKey, intent, requestId, body, additionalHeaders, cancelToken, useFetcher, canRetryOnce = true, location } = options;
42
49
  // TODO @lramos15 Eventually don't even construct this fake endpoint object.
43
50
  const endpoint = typeof endpointOrUrl === 'string' || 'type' in endpointOrUrl ? {
44
51
  modelMaxPromptTokens: 0,
@@ -51,15 +58,23 @@ function networkRequest(fetcher, telemetryService, capiClientService, requestTyp
51
58
  name: '',
52
59
  version: '',
53
60
  } : endpointOrUrl;
61
+ const agentInteractionType = options.requestKindOptions?.kind === 'subagent' ?
62
+ 'conversation-subagent' :
63
+ options.requestKindOptions?.kind === 'background' ?
64
+ 'conversation-background' :
65
+ intent === 'conversation-agent' ? intent : undefined;
54
66
  const headers = {
55
67
  Authorization: `Bearer ${secretKey}`,
56
68
  'X-Request-Id': requestId,
57
- 'X-Interaction-Type': intent,
58
69
  'OpenAI-Intent': intent, // Tells CAPI who flighted this request. Helps find buggy features
59
70
  'X-GitHub-Api-Version': '2025-05-01',
60
71
  ...additionalHeaders,
61
72
  ...(endpoint.getExtraHeaders ? endpoint.getExtraHeaders(location) : {}),
62
73
  };
74
+ if (agentInteractionType) {
75
+ headers['X-Interaction-Type'] = agentInteractionType;
76
+ headers['X-Agent-Task-Id'] = requestId;
77
+ }
63
78
  if (endpoint.interceptBody) {
64
79
  endpoint.interceptBody(body);
65
80
  }
@@ -118,11 +133,11 @@ function canRetryOnceNetworkError(reason) {
118
133
  'ERR_HTTP2_PROTOCOL_ERROR',
119
134
  ].includes(reason?.code);
120
135
  }
121
- function postRequest(fetcherService, telemetryService, capiClientService, endpointOrUrl, secretKey, hmac, intent, requestId, body, additionalHeaders, cancelToken, useFetcher, canRetryOnce = true, location) {
122
- return networkRequest(fetcherService, telemetryService, capiClientService, 'POST', endpointOrUrl, secretKey, intent, requestId, body, additionalHeaders, cancelToken, useFetcher, canRetryOnce, location);
136
+ function postRequest(accessor, options) {
137
+ return networkRequest(accessor, { ...options, requestType: 'POST' });
123
138
  }
124
- function getRequest(fetcherService, telemetryService, capiClientService, endpointOrUrl, secretKey, hmac, intent, requestId, body, additionalHeaders, cancelToken) {
125
- return networkRequest(fetcherService, telemetryService, capiClientService, 'GET', endpointOrUrl, secretKey, intent, requestId, body, additionalHeaders, cancelToken);
139
+ function getRequest(accessor, options) {
140
+ return networkRequest(accessor, { ...options, requestType: 'GET' });
126
141
  }
127
142
  exports.IHeaderContributors = (0, services_1.createServiceIdentifier)('headerContributors');
128
143
  class HeaderContributors {
@@ -1 +1 @@
1
- {"version":3,"file":"networking.js","sourceRoot":"","sources":["../../../../../../src/_internal/platform/networking/common/networking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"networking.js","sourceRoot":"","sources":["../../../../../../src/_internal/platform/networking/common/networking.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import type { OpenAI } from 'openai';
2
+ import { CancellationToken } from '../../../util/vs/base/common/cancellation';
3
+ import { Event } from '../../../util/vs/base/common/event';
4
+ import { Disposable, IDisposable } from '../../../util/vs/base/common/lifecycle';
5
+ import { ICAPIClientService } from '../../endpoint/common/capiClient';
6
+ import { ILogService } from '../../log/common/logService';
7
+ export declare const IChatWebSocketManager: import("../../../util/common/services").ServiceIdentifier<IChatWebSocketManager>;
8
+ export interface IChatWebSocketManager {
9
+ readonly _serviceBrand: undefined;
10
+ /**
11
+ * Gets or creates a WebSocket connection for the given conversation turn.
12
+ * The connection is scoped to a single turn, reused across tool call rounds
13
+ * within the same turn, but closed when a new turn starts.
14
+ */
15
+ getOrCreateConnection(conversationId: string, turnId: string, secretKey: string): Promise<IChatWebSocketConnection>;
16
+ /**
17
+ * Returns true if there is an open WebSocket connection for the given
18
+ * conversation and run. Used to decide whether the server already has
19
+ * context from earlier iterations in this turn.
20
+ */
21
+ hasActiveConnection(conversationId: string, turnId: string): boolean;
22
+ /**
23
+ * Closes and removes the connection for a specific conversation.
24
+ * When turnId is provided, the connection is only closed if it matches
25
+ * the currently tracked run for that conversation.
26
+ */
27
+ closeConnection(conversationId: string, turnId?: string): void;
28
+ /**
29
+ * Closes all active connections.
30
+ */
31
+ closeAll(): void;
32
+ }
33
+ /**
34
+ * No-op implementation for contexts where WebSocket is not available (web, tests, chat-lib).
35
+ */
36
+ export declare class NullChatWebSocketManager implements IChatWebSocketManager {
37
+ readonly _serviceBrand: undefined;
38
+ getOrCreateConnection(_conversationId: string, _turnId: string, _secretKey: string): Promise<IChatWebSocketConnection>;
39
+ hasActiveConnection(_conversationId: string, _turnId: string): boolean;
40
+ closeConnection(_conversationId: string, _turnId?: string): void;
41
+ closeAll(): void;
42
+ }
43
+ export interface IChatWebSocketConnection extends IDisposable {
44
+ /** Sends a response.create request and returns an async iterable of response events. */
45
+ sendRequest(body: Record<string, unknown>, token: CancellationToken): IChatWebSocketRequestHandle;
46
+ /** Whether the connection is currently open and usable. */
47
+ readonly isOpen: boolean;
48
+ }
49
+ export interface IChatWebSocketRequestHandle {
50
+ /** Fires for each JSON event received from the server. */
51
+ readonly onEvent: Event<OpenAI.Responses.ResponseStreamEvent>;
52
+ /** Fires when an error occurs. */
53
+ readonly onError: Event<Error>;
54
+ /** Fires when the request completes (response.completed received). */
55
+ readonly onComplete: Event<void>;
56
+ /** Resolves when the request has finished (completed or errored). */
57
+ readonly done: Promise<void>;
58
+ }
59
+ export declare class ChatWebSocketManager extends Disposable implements IChatWebSocketManager {
60
+ private readonly _logService;
61
+ private readonly _capiClientService;
62
+ readonly _serviceBrand: undefined;
63
+ private readonly _connections;
64
+ constructor(_logService: ILogService, _capiClientService: ICAPIClientService);
65
+ getOrCreateConnection(conversationId: string, turnId: string, secretKey: string): Promise<IChatWebSocketConnection>;
66
+ hasActiveConnection(conversationId: string, turnId: string): boolean;
67
+ closeConnection(conversationId: string, turnId?: string): void;
68
+ closeAll(): void;
69
+ dispose(): void;
70
+ }
71
+ //# sourceMappingURL=chatWebSocketManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatWebSocketManager.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/platform/networking/node/chatWebSocketManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,308 @@
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
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
7
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
8
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
9
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
10
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
11
+ };
12
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
13
+ return function (target, key) { decorator(target, key, paramIndex); }
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.ChatWebSocketManager = exports.NullChatWebSocketManager = exports.IChatWebSocketManager = void 0;
17
+ const services_1 = require("../../../util/common/services");
18
+ const errors_1 = require("../../../util/vs/base/common/errors");
19
+ const event_1 = require("../../../util/vs/base/common/event");
20
+ const lifecycle_1 = require("../../../util/vs/base/common/lifecycle");
21
+ const uri_1 = require("../../../util/vs/base/common/uri");
22
+ const capiClient_1 = require("../../endpoint/common/capiClient");
23
+ const endpointProvider_1 = require("../../endpoint/common/endpointProvider");
24
+ const logService_1 = require("../../log/common/logService");
25
+ exports.IChatWebSocketManager = (0, services_1.createServiceIdentifier)('IChatWebSocketManager');
26
+ /**
27
+ * No-op implementation for contexts where WebSocket is not available (web, tests, chat-lib).
28
+ */
29
+ class NullChatWebSocketManager {
30
+ async getOrCreateConnection(_conversationId, _turnId, _secretKey) {
31
+ throw new Error('WebSocket not available');
32
+ }
33
+ hasActiveConnection(_conversationId, _turnId) { return false; }
34
+ closeConnection(_conversationId, _turnId) { }
35
+ closeAll() { }
36
+ }
37
+ exports.NullChatWebSocketManager = NullChatWebSocketManager;
38
+ let ChatWebSocketManager = class ChatWebSocketManager extends lifecycle_1.Disposable {
39
+ constructor(_logService, _capiClientService) {
40
+ super();
41
+ this._logService = _logService;
42
+ this._capiClientService = _capiClientService;
43
+ this._connections = new Map();
44
+ }
45
+ async getOrCreateConnection(conversationId, turnId, secretKey) {
46
+ const existing = this._connections.get(conversationId);
47
+ // Reuse the connection if it's for the same turn and still open.
48
+ if (existing?.turnId === turnId && existing.connection.isOpen) {
49
+ this._logService.debug(`[ChatWebSocketManager] Reusing connection for conversation ${conversationId} turn ${turnId}`);
50
+ return existing.connection;
51
+ }
52
+ if (existing) {
53
+ this._logService.debug(`[ChatWebSocketManager] Closing previous connection for conversation ${conversationId} (turn changed)`);
54
+ existing.connection.dispose();
55
+ this._connections.delete(conversationId);
56
+ }
57
+ const uri = uri_1.URI.parse(this._capiClientService.capiPingURL);
58
+ const wsUrl = uri.with({ scheme: uri.scheme === 'https' ? 'wss' : 'ws', path: endpointProvider_1.ModelSupportedEndpoint.Responses }).toString();
59
+ const connection = new ChatWebSocketConnection(wsUrl, secretKey, this._logService, conversationId, turnId);
60
+ this._logService.debug(`[ChatWebSocketManager] Creating new connection for conversation ${conversationId} turn ${turnId}`);
61
+ this._connections.set(conversationId, { turnId, connection });
62
+ // Remove from map when disposed externally
63
+ connection.onDidDispose(() => {
64
+ const entry = this._connections.get(conversationId);
65
+ if (entry?.connection === connection) {
66
+ this._connections.delete(conversationId);
67
+ }
68
+ });
69
+ await connection.connect();
70
+ return connection;
71
+ }
72
+ hasActiveConnection(conversationId, turnId) {
73
+ const entry = this._connections.get(conversationId);
74
+ return !!entry && entry.turnId === turnId && entry.connection.isOpen;
75
+ }
76
+ closeConnection(conversationId, turnId) {
77
+ const entry = this._connections.get(conversationId);
78
+ if (entry) {
79
+ if (turnId && entry.turnId !== turnId) {
80
+ this._logService.debug(`[ChatWebSocketManager] Not closing connection for conversation ${conversationId}: requested turn ${turnId} does not match active turn ${entry.turnId}`);
81
+ return;
82
+ }
83
+ this._logService.debug(`[ChatWebSocketManager] Closing connection for conversation ${conversationId} turn ${turnId}`);
84
+ entry.connection.dispose();
85
+ this._connections.delete(conversationId);
86
+ }
87
+ }
88
+ closeAll() {
89
+ for (const entry of this._connections.values()) {
90
+ entry.connection.dispose();
91
+ }
92
+ this._connections.clear();
93
+ }
94
+ dispose() {
95
+ this.closeAll();
96
+ super.dispose();
97
+ }
98
+ };
99
+ exports.ChatWebSocketManager = ChatWebSocketManager;
100
+ exports.ChatWebSocketManager = ChatWebSocketManager = __decorate([
101
+ __param(0, logService_1.ILogService),
102
+ __param(1, capiClient_1.ICAPIClientService)
103
+ ], ChatWebSocketManager);
104
+ function wsCloseCodeToString(code) {
105
+ switch (code) {
106
+ case 1000: return 'Normal Closure';
107
+ case 1001: return 'Going Away';
108
+ case 1002: return 'Protocol Error';
109
+ case 1003: return 'Unsupported Data';
110
+ case 1005: return 'No Status Received';
111
+ case 1006: return 'Abnormal Closure';
112
+ case 1007: return 'Invalid Payload';
113
+ case 1008: return 'Policy Violation';
114
+ case 1009: return 'Message Too Big';
115
+ case 1010: return 'Missing Extension';
116
+ case 1011: return 'Internal Error';
117
+ case 1012: return 'Service Restart';
118
+ case 1013: return 'Try Again Later';
119
+ case 1014: return 'Bad Gateway';
120
+ case 1015: return 'TLS Handshake Failed';
121
+ default: return 'Unknown';
122
+ }
123
+ }
124
+ class ChatWebSocketConnection extends lifecycle_1.Disposable {
125
+ constructor(_url, _secretKey, _logService, _conversationId, _turnId) {
126
+ super();
127
+ this._url = _url;
128
+ this._secretKey = _secretKey;
129
+ this._logService = _logService;
130
+ this._conversationId = _conversationId;
131
+ this._turnId = _turnId;
132
+ this._state = 2 /* ConnectionState.Closed */;
133
+ this._onDidDispose = this._register(new event_1.Emitter());
134
+ this.onDidDispose = this._onDidDispose.event;
135
+ }
136
+ get isOpen() {
137
+ return this._state === 1 /* ConnectionState.Open */ && !!this._ws;
138
+ }
139
+ async connect() {
140
+ if (this._state === 1 /* ConnectionState.Open */) {
141
+ return;
142
+ }
143
+ this._state = 0 /* ConnectionState.Connecting */;
144
+ this._logService.debug(`[ChatWebSocketManager] Connecting to ${this._url} for conversation ${this._conversationId} turn ${this._turnId}`);
145
+ return new Promise((resolve, reject) => {
146
+ const ws = new WebSocket(this._url, {
147
+ headers: {
148
+ 'Authorization': `Bearer ${this._secretKey}`,
149
+ 'Copilot-Integration-Id': 'vscode-chat',
150
+ },
151
+ });
152
+ const onOpen = () => {
153
+ cleanup();
154
+ this._state = 1 /* ConnectionState.Open */;
155
+ this._ws = ws;
156
+ this._setupMessageHandlers(ws);
157
+ this._logService.debug(`[ChatWebSocketManager] Connected for conversation ${this._conversationId} turn ${this._turnId}`);
158
+ resolve();
159
+ };
160
+ const onError = (event) => {
161
+ cleanup();
162
+ this._state = 2 /* ConnectionState.Closed */;
163
+ const errorMessage = 'message' in event ? String(event.message) : 'WebSocket connection failed';
164
+ this._logService.error(`[ChatWebSocketManager] Connection error for conversation ${this._conversationId} turn ${this._turnId}: ${errorMessage}`);
165
+ reject(new Error(errorMessage));
166
+ };
167
+ const onClose = () => {
168
+ cleanup();
169
+ this._state = 2 /* ConnectionState.Closed */;
170
+ this._logService.debug(`[ChatWebSocketManager] Connection closed during setup for conversation ${this._conversationId} turn ${this._turnId}`);
171
+ reject(new Error('WebSocket closed during connection setup'));
172
+ };
173
+ const cleanup = () => {
174
+ ws.removeEventListener('open', onOpen);
175
+ ws.removeEventListener('error', onError);
176
+ ws.removeEventListener('close', onClose);
177
+ };
178
+ ws.addEventListener('open', onOpen);
179
+ ws.addEventListener('error', onError);
180
+ ws.addEventListener('close', onClose);
181
+ });
182
+ }
183
+ _setupMessageHandlers(ws) {
184
+ ws.addEventListener('message', (event) => {
185
+ if (typeof event.data !== 'string') {
186
+ return; // Only process text messages
187
+ }
188
+ let parsed;
189
+ try {
190
+ parsed = JSON.parse(event.data);
191
+ }
192
+ catch {
193
+ this._logService.error(`[ChatWebSocketManager] Failed to parse message for conversation ${this._conversationId} turn ${this._turnId}`);
194
+ return;
195
+ }
196
+ this._activeRequest?.handleEvent(parsed);
197
+ });
198
+ ws.addEventListener('close', (event) => {
199
+ this._state = 2 /* ConnectionState.Closed */;
200
+ this._logService.debug(`[ChatWebSocketManager] Connection closed for conversation ${this._conversationId} turn ${this._turnId} (code: ${event.code} ${wsCloseCodeToString(event.code)}${event.reason ? `, reason: ${event.reason}` : ''})`);
201
+ this._activeRequest?.handleConnectionClose(event.code, event.reason);
202
+ this._activeRequest = undefined;
203
+ });
204
+ ws.addEventListener('error', (event) => {
205
+ const errorMessage = 'message' in event ? String(event.message) : 'WebSocket error';
206
+ this._logService.error(`[ChatWebSocketManager] Error for conversation ${this._conversationId} turn ${this._turnId}: ${errorMessage}`);
207
+ this._activeRequest?.handleError(new Error(errorMessage));
208
+ });
209
+ }
210
+ sendRequest(body, token) {
211
+ if (!this._ws || this._state !== 1 /* ConnectionState.Open */) {
212
+ throw new Error('WebSocket is not connected');
213
+ }
214
+ // Cancel any previous in-flight request
215
+ this._activeRequest?.handleError(new Error('Request superseded by new request'));
216
+ const request = new ChatWebSocketActiveRequest();
217
+ this._activeRequest = request;
218
+ // Handle cancellation
219
+ const cancelDisposable = token.onCancellationRequested(() => {
220
+ if (this._activeRequest === request) {
221
+ request.handleError(new errors_1.CancellationError());
222
+ this._activeRequest = undefined;
223
+ }
224
+ });
225
+ request.done.finally(() => cancelDisposable.dispose());
226
+ const message = {
227
+ type: 'response.create',
228
+ ...body,
229
+ };
230
+ // Remove `stream: true` as WebSocket always streams
231
+ delete message['stream'];
232
+ this._logService.debug(`[ChatWebSocketManager] Sending request for conversation ${this._conversationId} turn ${this._turnId}`);
233
+ this._ws.send(JSON.stringify(message));
234
+ return request;
235
+ }
236
+ dispose() {
237
+ this._activeRequest?.handleError(new Error('Connection disposed'));
238
+ this._activeRequest = undefined;
239
+ if (this._ws) {
240
+ this._ws.close();
241
+ this._ws = undefined;
242
+ }
243
+ this._state = 2 /* ConnectionState.Closed */;
244
+ this._onDidDispose.fire();
245
+ super.dispose();
246
+ }
247
+ }
248
+ class ChatWebSocketActiveRequest {
249
+ constructor() {
250
+ this._onEvent = new event_1.Emitter();
251
+ this.onEvent = this._onEvent.event;
252
+ this._onError = new event_1.Emitter();
253
+ this.onError = this._onError.event;
254
+ this._onComplete = new event_1.Emitter();
255
+ this.onComplete = this._onComplete.event;
256
+ this._settled = false;
257
+ this.done = new Promise((resolve, reject) => {
258
+ this._resolve = resolve;
259
+ this._reject = reject;
260
+ });
261
+ }
262
+ handleEvent(event) {
263
+ if (this._settled) {
264
+ return;
265
+ }
266
+ if (event.type === 'error') {
267
+ const error = new Error(event.message || 'Server error');
268
+ error.code = event.code || undefined;
269
+ this._onError.fire(error);
270
+ this._settled = true;
271
+ this._reject(error);
272
+ this._dispose();
273
+ return;
274
+ }
275
+ this._onEvent.fire(event);
276
+ if (event.type === 'response.completed') {
277
+ this._onComplete.fire();
278
+ this._settled = true;
279
+ this._resolve();
280
+ this._dispose();
281
+ }
282
+ }
283
+ handleConnectionClose(code, reason) {
284
+ if (this._settled) {
285
+ return;
286
+ }
287
+ const error = new Error(`WebSocket closed unexpectedly (code: ${code} ${wsCloseCodeToString(code)}${reason ? `, reason: ${reason}` : ''})`);
288
+ this._onError.fire(error);
289
+ this._settled = true;
290
+ this._reject(error);
291
+ this._dispose();
292
+ }
293
+ handleError(error) {
294
+ if (this._settled) {
295
+ return;
296
+ }
297
+ this._onError.fire(error);
298
+ this._settled = true;
299
+ this._reject(error);
300
+ this._dispose();
301
+ }
302
+ _dispose() {
303
+ this._onEvent.dispose();
304
+ this._onError.dispose();
305
+ this._onComplete.dispose();
306
+ }
307
+ }
308
+ //# sourceMappingURL=chatWebSocketManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatWebSocketManager.js","sourceRoot":"","sources":["../../../../../../src/_internal/platform/networking/node/chatWebSocketManager.ts"],"names":[],"mappings":"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"}