@vkontakte/calls-sdk 2.8.12-dev.73c9f7fe.0 → 2.8.12-dev.7afbc576.0

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.
Files changed (39) hide show
  1. package/CallsSDK.d.ts +25 -13
  2. package/abstract/BaseApi.d.ts +4 -8
  3. package/calls-sdk.cjs.js +6 -6
  4. package/calls-sdk.esm.js +726 -417
  5. package/classes/AudioFix.d.ts +2 -2
  6. package/classes/AudioOutput.d.ts +2 -2
  7. package/classes/MediaSource.d.ts +2 -2
  8. package/classes/SpecListener.d.ts +2 -2
  9. package/classes/codec/LibVPxDecoder.d.ts +2 -2
  10. package/classes/codec/LibVPxEncoder.d.ts +2 -2
  11. package/classes/codec/WebCodecsDecoder.d.ts +2 -2
  12. package/classes/codec/WebCodecsEncoder.d.ts +2 -2
  13. package/classes/codec/WorkerBase.d.ts +3 -3
  14. package/classes/conversation/Conversation.d.ts +7 -4
  15. package/classes/screenshare/ScreenCaptureReceiver.d.ts +2 -2
  16. package/classes/screenshare/ScreenCaptureSender.d.ts +2 -2
  17. package/classes/screenshare/StreamBuilder.d.ts +2 -2
  18. package/classes/stat/CallLifecycleStats.d.ts +2 -2
  19. package/classes/stat/CodecStatsAggregator.d.ts +2 -2
  20. package/classes/stat/ConversationStats.d.ts +11 -4
  21. package/classes/stat/StatAggregator.d.ts +2 -2
  22. package/classes/stat/StatDrainScheduler.d.ts +78 -0
  23. package/classes/stat/StatEventCollector.d.ts +37 -0
  24. package/classes/stat/StatPings.d.ts +2 -2
  25. package/classes/stat/StatQueue.d.ts +61 -0
  26. package/classes/stat/StatSignalingCommands.d.ts +2 -2
  27. package/classes/stat/StatUnloadJournal.d.ts +30 -0
  28. package/classes/transport/DirectTransport.d.ts +2 -2
  29. package/classes/transport/ServerTransport.d.ts +2 -2
  30. package/classes/transport/SimulcastSender.d.ts +2 -2
  31. package/classes/transport/Transport.d.ts +2 -2
  32. package/default/Api.d.ts +9 -1
  33. package/default/Signaling.d.ts +2 -2
  34. package/enums/SessionError.d.ts +10 -0
  35. package/package.json +1 -1
  36. package/static/Params.d.ts +14 -0
  37. package/static/WebRTCUtils.d.ts +5 -5
  38. package/types/FastHangup.d.ts +66 -0
  39. package/classes/StatsLogger.d.ts +0 -41
package/CallsSDK.d.ts CHANGED
@@ -68,6 +68,7 @@ import { VmojiError } from './types/Vmoji';
68
68
  import { VolumeDetector } from './classes/VolumeDetector';
69
69
  import { FastStartHandler, FastStartParams } from './types/FastStart';
70
70
  import { FastJoinHandler, FastJoinParams, FastJoinResponse } from './types/FastJoin';
71
+ import { FastHangupHandler, FastHangupParams, FastHangupResponse, HangupParams } from './types/FastHangup';
71
72
  import PushData from './types/PushData';
72
73
  export type { CurrentLogItem, DebugLogGetParams, DebugLogSessionInfo, DebugLogStorageStats } from './utils/DebugStorage';
73
74
  /**
@@ -271,6 +272,15 @@ export declare function getInbounds(): Promise<PushData[]>;
271
272
  * @param authToken Токен авторизации
272
273
  * @param apiBaseUrl Базовый адрес для API. Если не передан, то не меняет установленный
273
274
  */
275
+ /**
276
+ * Запускает отправку клиентской статистики.
277
+ *
278
+ * Нужен только если `init()` был вызван с `autoStartStats: false`: до этого
279
+ * момента события копятся в IndexedDB и в сеть не уходят. Первый дрейн после
280
+ * старта забирает всё накопленное. Повторные вызовы и вызов после автостарта
281
+ * ничего не делают.
282
+ */
283
+ export declare function startStats(): void;
274
284
  export declare function authorize(authToken?: string, apiBaseUrl?: IAPIBaseUrl): Promise<void>;
275
285
  /**
276
286
  * Принять входящий звонок
@@ -281,13 +291,13 @@ export declare function acceptCall(mediaOptions?: MediaOption[], conversationId?
281
291
  /**
282
292
  * Отклонить входящий звонок
283
293
  *
284
- * @param conversationId ID звонка
285
- * @param params.reason Причина завершения для проброса в сигналинг
286
- * (по умолчанию `REJECTED`). См. {@link ClientHangupReason}.
294
+ * @param params Параметры завершения. `params.conversationId` — ID звонка
295
+ * (по умолчанию текущий активный), `params.reason` — причина завершения
296
+ * для проброса в сигналинг (по умолчанию `REJECTED`). См. {@link ClientHangupReason}.
297
+ * `params.onFastHangup` — опционально: вместо Calls API hangup при отклонении.
298
+ * На закрытии вкладки не используется. См. {@link HangupParams}.
287
299
  */
288
- export declare function declineCall(conversationId?: string, params?: {
289
- reason?: ClientHangupReason;
290
- }): Promise<void>;
300
+ export declare function declineCall(params?: HangupParams): Promise<void>;
291
301
  /**
292
302
  * Присоединиться к активному звонку
293
303
  *
@@ -310,13 +320,15 @@ export declare function joinCallByLink(joinLink: string, mediaOptions?: MediaOpt
310
320
  /**
311
321
  * Завершить текущий разговор
312
322
  *
313
- * @param conversationId ID звонка
314
- * @param params.reason Причина завершения для проброса в сигналинг.
315
- * По умолчанию `HUNGUP` (если звонок активен) или `CANCELED`. См. {@link ClientHangupReason}.
323
+ * @param params Параметры завершения. `params.conversationId` — ID звонка
324
+ * (по умолчанию текущий активный), `params.reason` — причина завершения
325
+ * для проброса в сигналинг: по умолчанию `HUNGUP` (если звонок активен) или `CANCELED`.
326
+ * См. {@link ClientHangupReason}.
327
+ * `params.onFastHangup` — опционально: вместо Calls API hangup, если обработчик передан.
328
+ * Без него API hangup не вызывается (signaling hangup остаётся). На `pagehide` всегда beacon.
329
+ * См. {@link HangupParams}.
316
330
  */
317
- export declare function hangup(conversationId?: string, params?: {
318
- reason?: ClientHangupReason;
319
- }): Promise<void>;
331
+ export declare function hangup(params?: HangupParams): Promise<void>;
320
332
  /**
321
333
  * Добавить собеседника в звонок
322
334
  *
@@ -801,5 +813,5 @@ export declare function getSyncedTime(): number;
801
813
  * Версия SDK
802
814
  */
803
815
  export declare function version(): string;
804
- export type { AddParticipantParams, AudienceModeHandsResponse, BrowserName, ClientHangupReason, CompositeUserId, ConversationData, ConversationParams, ConversationResponse, CustomError, ExternalId, ExternalParticipant, ExternalParticipantListChunk, ExternalParticipantListMarker, ExternalParticipantListMarkers as ExternalParticipantMarkers, ExternalParticipantId, DisplayLayoutRequest, GetParticipantsSignalingResponse, GetRoomsSignalingResponse, HangupReasonData, IApiEnv, IAPIBaseUrl, IAsrStartParams, IAsrStopParams, IAsrData, IceServer, JSONArray, JSONObject, JSONType, Layout, MediaModifiers, MediaSettings, MuteStates, OkUserId, ParamsObject, ParticipantId, ParticipantLayout, ParticipantListMarkers, ParticipantListType, ParticipantPriority, ParticipantsStateList, ParticipantStateData, ParticipantStateDataKey, ParticipantStateMapped, ParticipantStreamDescription, ParticipantListChunkParameters, ParticipantListMarker, RequestKeyFrame, Rooms, IGetParticipantsParameters, ScreenCaptureSettings, SignalingMessage, StatResult, StopStream, WaitingHallResponse, IMovieMetaData, IVideoDimentions, IFeedbackExternal, ISharedMovieInfo, ISharedMovieStoppedInfo, ISharedMovieState, ISharedMovieStateResponse, IAddMovieParams, IOnRemoteMovieData, IMoviePreview, IRoomId, Room, RoomsUpdate, RoomParticipantUpdate, IUpdateMovieData, IFeaturesPerRole, IMuteParticipantParams, IMuteParticipantInternalParams, IStartStreamData, IStopStreamData, IPublishStreamData, VmojiError, FastStartHandler, FastStartParams, FastJoinHandler, FastJoinParams, FastJoinResponse, };
816
+ export type { AddParticipantParams, AudienceModeHandsResponse, BrowserName, ClientHangupReason, CompositeUserId, ConversationData, ConversationParams, ConversationResponse, CustomError, ExternalId, ExternalParticipant, ExternalParticipantListChunk, ExternalParticipantListMarker, ExternalParticipantListMarkers as ExternalParticipantMarkers, ExternalParticipantId, DisplayLayoutRequest, GetParticipantsSignalingResponse, GetRoomsSignalingResponse, HangupReasonData, IApiEnv, IAPIBaseUrl, IAsrStartParams, IAsrStopParams, IAsrData, IceServer, JSONArray, JSONObject, JSONType, Layout, MediaModifiers, MediaSettings, MuteStates, OkUserId, ParamsObject, ParticipantId, ParticipantLayout, ParticipantListMarkers, ParticipantListType, ParticipantPriority, ParticipantsStateList, ParticipantStateData, ParticipantStateDataKey, ParticipantStateMapped, ParticipantStreamDescription, ParticipantListChunkParameters, ParticipantListMarker, RequestKeyFrame, Rooms, IGetParticipantsParameters, ScreenCaptureSettings, SignalingMessage, StatResult, StopStream, WaitingHallResponse, IMovieMetaData, IVideoDimentions, IFeedbackExternal, ISharedMovieInfo, ISharedMovieStoppedInfo, ISharedMovieState, ISharedMovieStateResponse, IAddMovieParams, IOnRemoteMovieData, IMoviePreview, IRoomId, Room, RoomsUpdate, RoomParticipantUpdate, IUpdateMovieData, IFeaturesPerRole, IMuteParticipantParams, IMuteParticipantInternalParams, IStartStreamData, IStopStreamData, IPublishStreamData, VmojiError, FastStartHandler, FastStartParams, FastJoinHandler, FastJoinParams, FastJoinResponse, FastHangupHandler, FastHangupParams, FastHangupResponse, HangupParams, };
805
817
  export { Api, AuthData, BaseLogger, CallDirection, CallType, ChatRoomEventType, ConversationOption, DebugMessageType, ExternalIdType, FacingMode, FatalError, HangupReason, HangupType, MediaOption, MediaTrackKind, MediaType, MuteState, ParticipantState, ParticipantStateDataValue, ParticipantStatus, RecordRole, Signaling, SignalingCommandType, SignalingConnectionType, SignalingNotification, UserRole, UserType, TransportTopology, RoomsEventType, ConversationFeature, ArrayDequeue, ApiExternal, VolumeDetector, };
@@ -12,13 +12,6 @@ export type ClientStats = {
12
12
  vcid: ConversationData['id'] | null;
13
13
  [k: string]: string | number | boolean | null;
14
14
  };
15
- export type ClientEvent = {
16
- timestamp: number;
17
- call_topology: 'D' | 'S';
18
- event_type: string;
19
- vcid: ConversationData['id'] | null;
20
- [k: string]: string | number | boolean | null;
21
- };
22
15
  export type LogItem = {
23
16
  count?: number;
24
17
  custom: ClientStats;
@@ -69,8 +62,11 @@ export default abstract class BaseApi {
69
62
  log(items: LogItem[]): void;
70
63
  /**
71
64
  * method: vchat.clientStats
65
+ *
66
+ * Резолвится только после подтверждённой сервером отправки: вызывающий
67
+ * код удаляет события из очереди по факту резолва.
72
68
  */
73
- logClientStats(items: ClientStats[]): void;
69
+ logClientStats(items: ClientStats[]): Promise<void>;
74
70
  abstract uploadDebugLogs(conversationId: string, startTime: number, endTime: number, log: string): Promise<void>;
75
71
  getCachedOkIdByExternalId(externalId: ExternalId): ParticipantId | null;
76
72
  getCachedRawOkIdByExternalId(externalId: ExternalId): OkUserId | null;