import { ChatFetchError } from '../../../platform/chat/common/commonTypes'; import { type ImageTelemetryMeasurements } from '../../../platform/image/common/imageTelemetry'; import { FetcherId } from '../../../platform/networking/common/fetcherService'; import { IChatEndpoint, IChatRequestTelemetryProperties, IEndpointBody } from '../../../platform/networking/common/networking'; import { ChatCompletion } from '../../../platform/networking/common/openai'; import { ITelemetryService } from '../../../platform/telemetry/common/telemetry'; import { TelemetryData } from '../../../platform/telemetry/common/telemetryData'; export interface IChatMLFetcherSuccessfulData { chatCompletion: ChatCompletion; baseTelemetry: TelemetryData; userInitiatedRequest: boolean | undefined; interactionType: string; chatEndpointInfo: IChatEndpoint | undefined; requestBody: IEndpointBody; maxResponseTokens: number; promptTokenCount: number; timeToFirstToken: number; timeToFirstTokenEmitted: number; hasImageMessages: boolean; imageTelemetryMeasurements: ImageTelemetryMeasurements; transport: string; fetcher: FetcherId | undefined; bytesReceived: number | undefined; suspendEventSeen: boolean | undefined; resumeEventSeen: boolean | undefined; modelCallId: string | undefined; } export interface IChatMLFetcherCancellationProperties { source: string; requestId: string; model: string; apiType: string | undefined; transport: string; interactionType: string; conversationId?: string; associatedRequestId?: string; parentRequestId?: string; retryAfterError?: string; retryAfterErrorGitHubRequestId?: string; connectivityTestError?: string; connectivityTestErrorGitHubRequestId?: string; retryAfterFilterCategory?: string; fetcher: FetcherId | undefined; suspendEventSeen: boolean | undefined; resumeEventSeen: boolean | undefined; } export interface IChatMLFetcherCancellationMeasures { totalTokenMax: number; promptTokenCount: number; tokenCountMax: number; timeToFirstToken: number | undefined; timeToFirstTokenEmitted?: number; timeToCancelled: number; isVisionRequest: number; isBYOK: number; isAuto: number; bytesReceived: number | undefined; issuedTime: number; imageTelemetryMeasurements: ImageTelemetryMeasurements; } export interface IChatMLFetcherErrorData { processed: ChatFetchError; telemetryProperties: IChatRequestTelemetryProperties | undefined; chatEndpointInfo: IChatEndpoint; requestBody: IEndpointBody; tokenCount: number; maxResponseTokens: number; timeToFirstToken: number; isVisionRequest: boolean; imageTelemetryMeasurements: ImageTelemetryMeasurements; transport: string; interactionType: string; fetcher: FetcherId | undefined; bytesReceived: number | undefined; issuedTime: number; wasRetried: boolean; suspendEventSeen: boolean | undefined; resumeEventSeen: boolean | undefined; } export declare class ChatMLFetcherTelemetrySender { static sendSuccessTelemetry(telemetryService: ITelemetryService, { chatCompletion, baseTelemetry, userInitiatedRequest, interactionType, chatEndpointInfo, requestBody, maxResponseTokens, promptTokenCount, timeToFirstToken, timeToFirstTokenEmitted, hasImageMessages, imageTelemetryMeasurements, transport, fetcher, bytesReceived, suspendEventSeen, resumeEventSeen, modelCallId, }: IChatMLFetcherSuccessfulData): void; static sendCancellationTelemetry(telemetryService: ITelemetryService, { source, requestId, model, apiType, transport, interactionType, conversationId, associatedRequestId, parentRequestId, retryAfterError, retryAfterErrorGitHubRequestId, connectivityTestError, connectivityTestErrorGitHubRequestId, retryAfterFilterCategory, fetcher, suspendEventSeen, resumeEventSeen, }: IChatMLFetcherCancellationProperties, { totalTokenMax, promptTokenCount, tokenCountMax, timeToFirstToken, timeToFirstTokenEmitted, timeToCancelled, isVisionRequest, isBYOK, isAuto, bytesReceived, issuedTime, imageTelemetryMeasurements, }: IChatMLFetcherCancellationMeasures): void; static sendResponseErrorTelemetry(telemetryService: ITelemetryService, { processed, telemetryProperties, chatEndpointInfo, requestBody, tokenCount, maxResponseTokens, timeToFirstToken, isVisionRequest, imageTelemetryMeasurements, transport, interactionType, fetcher, bytesReceived, issuedTime, wasRetried, suspendEventSeen, resumeEventSeen, }: IChatMLFetcherErrorData): void; } //# sourceMappingURL=chatMLFetcherTelemetry.d.ts.map