Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/copilot/src/platform/endpoint/test/node/capiEndpoint.ts
13405 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import { RequestMetadata, RequestType } from '@vscode/copilot-api';
7
import { IInstantiationService } from '../../../../util/vs/platform/instantiation/common/instantiation';
8
import { IAuthenticationService } from '../../../authentication/common/authentication';
9
import { IChatMLFetcher } from '../../../chat/common/chatMLFetcher';
10
import { IConfigurationService } from '../../../configuration/common/configurationService';
11
import { ILogService } from '../../../log/common/logService';
12
import { IFetcherService } from '../../../networking/common/fetcherService';
13
import { IChatWebSocketManager } from '../../../networking/node/chatWebSocketManager';
14
import { IExperimentationService } from '../../../telemetry/common/nullExperimentationService';
15
import { ITelemetryService } from '../../../telemetry/common/telemetry';
16
import { ITokenizerProvider } from '../../../tokenizer/node/tokenizer';
17
import { ICAPIClientService } from '../../common/capiClient';
18
import { IDomainService } from '../../common/domainService';
19
import { IChatModelInformation } from '../../common/endpointProvider';
20
import { ChatEndpoint } from '../../node/chatEndpoint';
21
22
export class CAPITestEndpoint extends ChatEndpoint {
23
24
constructor(
25
modelMetadata: IChatModelInformation,
26
private readonly _isModelLablModel: boolean,
27
@IDomainService domainService: IDomainService,
28
@ICAPIClientService capiClientService: ICAPIClientService,
29
@IFetcherService fetcherService: IFetcherService,
30
@ITelemetryService telemetryService: ITelemetryService,
31
@IAuthenticationService authService: IAuthenticationService,
32
@IChatMLFetcher chatMLFetcher: IChatMLFetcher,
33
@ITokenizerProvider tokenizerProvider: ITokenizerProvider,
34
@IInstantiationService instantiationService: IInstantiationService,
35
@IConfigurationService configurationService: IConfigurationService,
36
@IExperimentationService experimentationService: IExperimentationService,
37
@IChatWebSocketManager chatWebSocketService: IChatWebSocketManager,
38
@ILogService logService: ILogService
39
) {
40
super(modelMetadata,
41
domainService,
42
chatMLFetcher,
43
tokenizerProvider,
44
instantiationService,
45
configurationService,
46
experimentationService,
47
chatWebSocketService,
48
logService
49
);
50
}
51
52
override get urlOrRequestMetadata(): RequestMetadata | string {
53
if (this._isModelLablModel) {
54
return { type: RequestType.ChatCompletions, isModelLab: true };
55
} else {
56
return super.urlOrRequestMetadata;
57
}
58
}
59
}
60
61