import type { ErrorCategory } from "../types"; import type * as AppTracerSdk from "@apptracer/sdk/lite"; import type { ITracerError, ITracerErrorData, ITracerUploaderConfig } from "@apptracer/sdk/lite"; export type { AppTracerSdk }; export type IComponentName = string & {}; export interface IAppTracerConfig { enabled: boolean; sampleRate: number; whiteErrorCategoryList: ErrorCategory[]; blackErrorCategoryList: ErrorCategory[]; whiteErrorIdList: string[]; blackErrorIdList: string[]; /** Токен apptracer для отправки репортов. Если не задан — используется дефолт из @vkontakte/videoplayer-shared */ apptracerAppToken?: string; } export interface IAppTracerOptions extends IAppTracerConfig { userId?: Parameters[0]; } export interface IAppTracerEnvParams { version: ITracerUploaderConfig["versionName"]; env: ITracerUploaderConfig["environment"]; } /** * Контекст для AppTracer. * Передаётся в конструктор и обновляется через updateContext. */ export interface IAppTracerContext { /** ID видео (united_video_id) */ movieId?: number; /** ID альбома */ albumId?: number; /** Место запуска плеера: embed или direct */ place?: "embed" | "direct" | string; /** Домен реферера */ refDomain?: string; /** Автозапуск воспроизведения */ autoplay?: boolean; /** Мобильное устройство */ mobile?: boolean; /** Является ли видео клипом */ clip?: boolean; /** Текущий формат видео (HLS, DASH, MPEG) */ currentFormat?: string; /** Video Session ID от статистики */ vsid?: string; } export type IAppTracerErrorDataKeys = Required["keys"];