Path: blob/main/extensions/copilot/src/platform/endpoint/node/copilotChatEndpoint.ts
13401 views
/*---------------------------------------------------------------------------------------------1* Copyright (c) Microsoft Corporation. All rights reserved.2* Licensed under the MIT License. See License.txt in the project root for license information.3*--------------------------------------------------------------------------------------------*/45import { IInstantiationService } from '../../../util/vs/platform/instantiation/common/instantiation';6import { IAuthenticationService } from '../../authentication/common/authentication';7import { IChatMLFetcher } from '../../chat/common/chatMLFetcher';8import { IConfigurationService } from '../../configuration/common/configurationService';9import { IEnvService } from '../../env/common/envService';10import { ILogService } from '../../log/common/logService';11import { IFetcherService } from '../../networking/common/fetcherService';12import { RawMessageConversionCallback } from '../../networking/common/openai';13import { IChatWebSocketManager } from '../../networking/node/chatWebSocketManager';14import { IExperimentationService } from '../../telemetry/common/nullExperimentationService';15import { ITelemetryService } from '../../telemetry/common/telemetry';16import { ITokenizerProvider } from '../../tokenizer/node/tokenizer';17import { ICAPIClientService } from '../common/capiClient';18import { IDomainService } from '../common/domainService';19import { IChatModelInformation } from '../common/endpointProvider';20import { ChatEndpoint } from './chatEndpoint';2122export class CopilotChatEndpoint extends ChatEndpoint {23constructor(24modelMetadata: IChatModelInformation,25@IDomainService domainService: IDomainService,26@ICAPIClientService capiClientService: ICAPIClientService,27@IFetcherService fetcherService: IFetcherService,28@IEnvService envService: IEnvService,29@ITelemetryService telemetryService: ITelemetryService,30@IAuthenticationService authService: IAuthenticationService,31@IChatMLFetcher chatMLFetcher: IChatMLFetcher,32@ITokenizerProvider tokenizerProvider: ITokenizerProvider,33@IInstantiationService instantiationService: IInstantiationService,34@IConfigurationService configurationService: IConfigurationService,35@IExperimentationService experimentService: IExperimentationService,36@IChatWebSocketManager chatWebSocketService: IChatWebSocketManager,37@ILogService logService: ILogService38) {39super(40modelMetadata,41domainService,42chatMLFetcher,43tokenizerProvider,44instantiationService,45configurationService,46experimentService,47chatWebSocketService,48logService49);50}5152protected override getCompletionsCallback(): RawMessageConversionCallback | undefined {53return (out, data) => {54if (data && data.id) {55out.reasoning_opaque = data.id;56out.reasoning_text = Array.isArray(data.text) ? data.text.join('') : data.text;57}58};59}60}616263