@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.
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsFromNetwork.js +1 -1
- package/dist/src/_internal/extension/completions-core/vscode-node/lib/src/ghostText/completionsFromNetwork.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/delay.d.ts +3 -1
- package/dist/src/_internal/extension/inlineEdits/common/delay.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/delay.js +6 -0
- package/dist/src/_internal/extension/inlineEdits/common/delay.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/editRebase.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/editRebase.js +2 -35
- package/dist/src/_internal/extension/inlineEdits/common/editRebase.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.d.ts +6 -0
- package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.js +19 -35
- package/dist/src/_internal/extension/inlineEdits/common/userInteractionMonitor.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts +1 -0
- package/dist/src/_internal/extension/inlineEdits/node/nextEditCache.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts +12 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js +150 -97
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProvider.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.d.ts +7 -0
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js +18 -3
- package/dist/src/_internal/extension/inlineEdits/node/nextEditProviderTelemetry.js.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.d.ts +2 -0
- package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.d.ts.map +1 -1
- package/dist/src/_internal/extension/inlineEdits/node/nextEditResult.js.map +1 -1
- package/dist/src/_internal/extension/power/common/powerService.d.ts +11 -0
- package/dist/src/_internal/extension/power/common/powerService.d.ts.map +1 -1
- package/dist/src/_internal/extension/power/common/powerService.js +5 -0
- package/dist/src/_internal/extension/power/common/powerService.js.map +1 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts +11 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.d.ts.map +1 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js +235 -56
- package/dist/src/_internal/extension/prompt/node/chatMLFetcher.js.map +1 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.d.ts +26 -3
- package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.d.ts.map +1 -1
- package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.js +27 -9
- package/dist/src/_internal/extension/prompt/node/chatMLFetcherTelemetry.js.map +1 -1
- package/dist/src/_internal/extension/xtab/common/diffHistoryForPrompt.d.ts +6 -1
- package/dist/src/_internal/extension/xtab/common/diffHistoryForPrompt.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/common/diffHistoryForPrompt.js +3 -1
- package/dist/src/_internal/extension/xtab/common/diffHistoryForPrompt.js.map +1 -1
- package/dist/src/_internal/extension/xtab/common/lintErrors.js +2 -1
- package/dist/src/_internal/extension/xtab/common/lintErrors.js.map +1 -1
- package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts +6 -1
- package/dist/src/_internal/extension/xtab/common/promptCrafting.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/common/promptCrafting.js +43 -6
- package/dist/src/_internal/extension/xtab/common/promptCrafting.js.map +1 -1
- package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.d.ts +22 -0
- package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.js +116 -17
- package/dist/src/_internal/extension/xtab/common/recentFilesForPrompt.js.map +1 -1
- package/dist/src/_internal/extension/xtab/common/similarFilesContextService.d.ts +10 -0
- package/dist/src/_internal/extension/xtab/common/similarFilesContextService.d.ts.map +1 -0
- package/dist/src/_internal/extension/xtab/common/similarFilesContextService.js +10 -0
- package/dist/src/_internal/extension/xtab/common/similarFilesContextService.js.map +1 -0
- package/dist/src/_internal/extension/xtab/common/tags.d.ts +1 -0
- package/dist/src/_internal/extension/xtab/common/tags.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/common/tags.js +1 -0
- package/dist/src/_internal/extension/xtab/common/tags.js.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabCustomDiffPatchResponseHandler.js +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabCustomDiffPatchResponseHandler.js.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabEndpoint.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabEndpoint.js +1 -0
- package/dist/src/_internal/extension/xtab/node/xtabEndpoint.js.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.js +3 -2
- package/dist/src/_internal/extension/xtab/node/xtabNextCursorPredictor.js.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts +4 -1
- package/dist/src/_internal/extension/xtab/node/xtabProvider.d.ts.map +1 -1
- package/dist/src/_internal/extension/xtab/node/xtabProvider.js +91 -20
- package/dist/src/_internal/extension/xtab/node/xtabProvider.js.map +1 -1
- package/dist/src/_internal/platform/authentication/common/copilotToken.d.ts +4 -0
- package/dist/src/_internal/platform/authentication/common/copilotToken.d.ts.map +1 -1
- package/dist/src/_internal/platform/authentication/common/copilotToken.js +6 -0
- package/dist/src/_internal/platform/authentication/common/copilotToken.js.map +1 -1
- package/dist/src/_internal/platform/authentication/node/copilotTokenManager.js +1 -1
- package/dist/src/_internal/platform/authentication/node/copilotTokenManager.js.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts +29 -24
- package/dist/src/_internal/platform/configuration/common/configurationService.d.ts.map +1 -1
- package/dist/src/_internal/platform/configuration/common/configurationService.js +32 -19
- package/dist/src/_internal/platform/configuration/common/configurationService.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts +2 -1
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js +17 -7
- package/dist/src/_internal/platform/endpoint/common/chatModelCapabilities.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/endpointProvider.d.ts +1 -0
- package/dist/src/_internal/platform/endpoint/common/endpointProvider.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/common/endpointProvider.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/autoChatEndpoint.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/autoChatEndpoint.js +1 -0
- package/dist/src/_internal/platform/endpoint/node/autoChatEndpoint.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts +1 -0
- package/dist/src/_internal/platform/endpoint/node/chatEndpoint.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js +4 -3
- package/dist/src/_internal/platform/endpoint/node/chatEndpoint.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/messagesApi.d.ts +6 -1
- package/dist/src/_internal/platform/endpoint/node/messagesApi.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/messagesApi.js +48 -15
- package/dist/src/_internal/platform/endpoint/node/messagesApi.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/proxyXtabEndpoint.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/proxyXtabEndpoint.js +1 -0
- package/dist/src/_internal/platform/endpoint/node/proxyXtabEndpoint.js.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/responsesApi.d.ts +1 -0
- package/dist/src/_internal/platform/endpoint/node/responsesApi.d.ts.map +1 -1
- package/dist/src/_internal/platform/endpoint/node/responsesApi.js +20 -2
- package/dist/src/_internal/platform/endpoint/node/responsesApi.js.map +1 -1
- package/dist/src/_internal/platform/github/common/githubService.d.ts +2 -1
- package/dist/src/_internal/platform/github/common/githubService.d.ts.map +1 -1
- package/dist/src/_internal/platform/github/common/githubService.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/triggerOptions.d.ts +8 -0
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/triggerOptions.d.ts.map +1 -0
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/triggerOptions.js +17 -0
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/triggerOptions.js.map +1 -0
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts +44 -0
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.d.ts.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js +71 -2
- package/dist/src/_internal/platform/inlineEdits/common/dataTypes/xtabPromptOptions.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.js +5 -5
- package/dist/src/_internal/platform/inlineEdits/common/inlineEditLogContext.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts +15 -1
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.d.ts.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js +22 -1
- package/dist/src/_internal/platform/inlineEdits/common/statelessNextEditProvider.js.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.d.ts.map +1 -1
- package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.js +9 -44
- package/dist/src/_internal/platform/inlineEdits/node/inlineEditsModelService.js.map +1 -1
- package/dist/src/_internal/platform/nesFetch/common/responseStream.js +2 -35
- package/dist/src/_internal/platform/nesFetch/common/responseStream.js.map +1 -1
- package/dist/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.js +3 -36
- package/dist/src/_internal/platform/nesFetch/node/completionsFetchServiceImpl.js.map +1 -1
- package/dist/src/_internal/platform/networking/common/anthropic.d.ts +11 -16
- package/dist/src/_internal/platform/networking/common/anthropic.d.ts.map +1 -1
- package/dist/src/_internal/platform/networking/common/anthropic.js +33 -38
- package/dist/src/_internal/platform/networking/common/anthropic.js.map +1 -1
- package/dist/src/_internal/platform/networking/common/fetcherService.d.ts +43 -1
- package/dist/src/_internal/platform/networking/common/fetcherService.d.ts.map +1 -1
- package/dist/src/_internal/platform/networking/common/fetcherService.js +29 -4
- package/dist/src/_internal/platform/networking/common/fetcherService.js.map +1 -1
- package/dist/src/_internal/platform/networking/common/networking.d.ts +40 -4
- package/dist/src/_internal/platform/networking/common/networking.d.ts.map +1 -1
- package/dist/src/_internal/platform/networking/common/networking.js +21 -6
- package/dist/src/_internal/platform/networking/common/networking.js.map +1 -1
- package/dist/src/_internal/platform/networking/node/chatWebSocketManager.d.ts +71 -0
- package/dist/src/_internal/platform/networking/node/chatWebSocketManager.d.ts.map +1 -0
- package/dist/src/_internal/platform/networking/node/chatWebSocketManager.js +308 -0
- package/dist/src/_internal/platform/networking/node/chatWebSocketManager.js.map +1 -0
- package/dist/src/_internal/platform/proxyModels/node/proxyModelsService.js +4 -37
- package/dist/src/_internal/platform/proxyModels/node/proxyModelsService.js.map +1 -1
- package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.d.ts +1 -0
- package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.d.ts.map +1 -1
- package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.js +3 -0
- package/dist/src/_internal/platform/requestLogger/node/nullRequestLogger.js.map +1 -1
- package/dist/src/_internal/platform/requestLogger/node/requestLogger.d.ts +2 -0
- package/dist/src/_internal/platform/requestLogger/node/requestLogger.d.ts.map +1 -1
- package/dist/src/_internal/platform/requestLogger/node/requestLogger.js.map +1 -1
- package/dist/src/_internal/platform/telemetry/common/telemetry.d.ts +9 -1
- package/dist/src/_internal/platform/telemetry/common/telemetry.d.ts.map +1 -1
- package/dist/src/_internal/platform/telemetry/common/telemetry.js +33 -15
- package/dist/src/_internal/platform/telemetry/common/telemetry.js.map +1 -1
- package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.d.ts +1 -1
- package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.d.ts.map +1 -1
- package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.js +3 -2
- package/dist/src/_internal/platform/telemetry/node/azureInsightsReporter.js.map +1 -1
- package/dist/src/_internal/util/common/errors.d.ts +4 -2
- package/dist/src/_internal/util/common/errors.d.ts.map +1 -1
- package/dist/src/_internal/util/common/errors.js +16 -12
- package/dist/src/_internal/util/common/errors.js.map +1 -1
- package/dist/src/_internal/util/common/result.js +4 -37
- package/dist/src/_internal/util/common/result.js.map +1 -1
- package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts +14 -2
- package/dist/src/_internal/util/common/test/shims/chatTypes.d.ts.map +1 -1
- package/dist/src/_internal/util/common/test/shims/chatTypes.js +17 -3
- package/dist/src/_internal/util/common/test/shims/chatTypes.js.map +1 -1
- package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js +1 -1
- package/dist/src/_internal/util/common/test/shims/vscodeTypesShim.js.map +1 -1
- package/dist/src/main.d.ts.map +1 -1
- package/dist/src/main.js +10 -0
- package/dist/src/main.js.map +1 -1
- package/dist/src/package.json +221 -294
- 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,
|
|
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(
|
|
248
|
-
export declare function getRequest(
|
|
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":"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,MAAM,EAAE,MAAM,iCAAiC,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"networking.d.ts","sourceRoot":"","sources":["../../../../../../src/_internal/platform/networking/common/networking.ts"],"names":[],"mappings":"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"}
|
|
@@ -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(
|
|
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(
|
|
122
|
-
return networkRequest(
|
|
136
|
+
function postRequest(accessor, options) {
|
|
137
|
+
return networkRequest(accessor, { ...options, requestType: 'POST' });
|
|
123
138
|
}
|
|
124
|
-
function getRequest(
|
|
125
|
-
return networkRequest(
|
|
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":";AAAA;;;gGAGgG;;;
|
|
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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"}
|