@vkontakte/calls-sdk 2.8.11-dev.185dd9e4.0 → 2.8.11-dev.1cb064f7.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 (68) hide show
  1. package/CallsSDK.d.ts +57 -15
  2. package/abstract/BaseApi.d.ts +1 -1
  3. package/abstract/BaseSignaling.d.ts +4 -5
  4. package/calls-sdk.cjs.js +16 -13
  5. package/calls-sdk.esm.js +11693 -13
  6. package/classes/AudioFix.d.ts +5 -1
  7. package/classes/AudioOutput.d.ts +5 -1
  8. package/classes/CallRegistry.d.ts +22 -0
  9. package/classes/Conversation.d.ts +20 -6
  10. package/classes/DebugInfo.d.ts +3 -0
  11. package/classes/DisplayLayoutRequester.d.ts +39 -0
  12. package/classes/MediaSource.d.ts +12 -1
  13. package/classes/ParticipantIdRegistry.d.ts +3 -0
  14. package/classes/ProducerCommandSerializationService.d.ts +3 -0
  15. package/classes/SignalingActor.d.ts +3 -1
  16. package/classes/SpeakerDetector.d.ts +2 -1
  17. package/classes/SpecListener.d.ts +7 -1
  18. package/classes/StatsLogger.d.ts +29 -0
  19. package/classes/VideoEffectsFpsLimiter.d.ts +3 -0
  20. package/classes/asr/AsrReceiver.d.ts +3 -1
  21. package/classes/codec/LibVPxDecoder.d.ts +3 -0
  22. package/classes/codec/LibVPxEncoder.d.ts +3 -1
  23. package/classes/codec/WebCodecsDecoder.d.ts +3 -0
  24. package/classes/codec/WebCodecsEncoder.d.ts +3 -1
  25. package/classes/codec/WorkerBase.d.ts +5 -0
  26. package/classes/screenshare/BaseStreamBuilder.d.ts +4 -1
  27. package/classes/screenshare/CanvasRenderer.d.ts +3 -1
  28. package/classes/screenshare/ScreenCaptureReceiver.d.ts +7 -1
  29. package/classes/screenshare/ScreenCaptureSender.d.ts +5 -1
  30. package/classes/screenshare/ScreenCongestionControl.d.ts +3 -1
  31. package/classes/screenshare/StreamBuilder.d.ts +5 -1
  32. package/classes/screenshare/TrackGeneratorRenderer.d.ts +3 -1
  33. package/classes/screenshare/WebmBuilder.d.ts +3 -1
  34. package/classes/stat/CodecStatsAggregator.d.ts +7 -7
  35. package/classes/stat/ConversationStats.d.ts +21 -0
  36. package/classes/stat/StatAggregator.d.ts +6 -6
  37. package/classes/stat/StatFirstMediaReceived.d.ts +4 -1
  38. package/classes/stat/StatPings.d.ts +9 -9
  39. package/classes/stat/StatScreenShareFirstFrame.d.ts +3 -1
  40. package/classes/stat/StatSignalingCommands.d.ts +8 -8
  41. package/classes/transport/BaseTransport.d.ts +1 -1
  42. package/classes/transport/DirectStatReporter.d.ts +3 -1
  43. package/classes/transport/DirectTransport.d.ts +9 -1
  44. package/classes/transport/PerfStatReporter.d.ts +5 -1
  45. package/classes/transport/ServerTransport.d.ts +10 -2
  46. package/classes/transport/Transport.d.ts +11 -14
  47. package/default/Signaling.d.ts +12 -1
  48. package/enums/SignalingNotification.d.ts +2 -1
  49. package/enums/TransportState.d.ts +10 -0
  50. package/enums/TransportTopology.d.ts +5 -0
  51. package/package.json +1 -1
  52. package/static/Capabilities.d.ts +5 -0
  53. package/static/Debug.d.ts +27 -8
  54. package/static/External.d.ts +146 -71
  55. package/static/Params.d.ts +98 -70
  56. package/static/Utils.d.ts +3 -2
  57. package/static/WebRTCUtils.d.ts +6 -4
  58. package/types/Capabilities.d.ts +24 -0
  59. package/types/Conversation.d.ts +1 -1
  60. package/types/FastStart.d.ts +1 -0
  61. package/types/ParticipantLayout.d.ts +33 -0
  62. package/types/PerfStatReporter.d.ts +2 -1
  63. package/types/SignalingMessage.d.ts +8 -1
  64. package/types/Statistics.d.ts +1 -1
  65. package/utils/DebugStorage.d.ts +100 -1
  66. package/classes/Logger.d.ts +0 -36
  67. package/classes/stat/EventMetricsService.d.ts +0 -9
  68. package/static/ConversationDebugLogger.d.ts +0 -13
package/CallsSDK.d.ts CHANGED
@@ -9,7 +9,7 @@ import { AddParticipantParams } from './abstract/BaseSignaling';
9
9
  import HangupReason, { HangupReasonData, CustomError } from './classes/HangupReason';
10
10
  import { MediaTrackKind } from './classes/MediaSource';
11
11
  import { AudienceModeHandsResponse } from './types/AudienceMode';
12
- import { TransportTopology } from './classes/transport/Transport';
12
+ import TransportTopology from './enums/TransportTopology';
13
13
  import Api from './default/Api';
14
14
  import Signaling from './default/Signaling';
15
15
  import CallDirection from './enums/CallDirection';
@@ -30,6 +30,7 @@ import SignalingNotification from './enums/SignalingNotification';
30
30
  import UserRole from './enums/UserRole';
31
31
  import UserType from './enums/UserType';
32
32
  import { DebugMessageType } from './static/Debug';
33
+ import * as DebugStorage from './utils/DebugStorage';
33
34
  import { ParticipantStatus } from './static/External';
34
35
  import { JSONArray, JSONObject, JSONType } from './static/Json';
35
36
  import { ParamsObject } from './static/Params';
@@ -49,7 +50,7 @@ import { IAddMovieParams, IMovieMetaData, IMoviePreview, IOnRemoteMovieData, ISh
49
50
  import MuteStates, { IMuteParticipantInternalParams, IMuteParticipantParams } from './types/MuteStates';
50
51
  import { IAPIBaseUrl, IApiEnv } from './types/Params';
51
52
  import { CompositeUserId, IGetParticipantsParameters, OkUserId, ParticipantId, ParticipantListMarker, ParticipantListMarkers, ParticipantListType, ParticipantsStateList, ParticipantStateMapped, ParticipantStateData, ParticipantStateDataKey, ParticipantStateDataValue } from './types/Participant';
52
- import ParticipantLayout, { Layout, RequestKeyFrame, StopStream } from './types/ParticipantLayout';
53
+ import ParticipantLayout, { DisplayLayoutRequest, Layout, RequestKeyFrame, StopStream } from './types/ParticipantLayout';
53
54
  import { ParticipantListChunkParameters } from './types/ParticipantListChunk';
54
55
  import ParticipantPriority from './types/ParticipantPriority';
55
56
  import { MediaType, ParticipantStreamDescription } from './types/ParticipantStreamDescription';
@@ -66,6 +67,7 @@ import { VmojiError } from './types/Vmoji';
66
67
  import { VolumeDetector } from './classes/VolumeDetector';
67
68
  import { FastStartHandler, FastStartParams } from './types/FastStart';
68
69
  import { FastJoinHandler, FastJoinParams, FastJoinResponse } from './types/FastJoin';
70
+ export type { CurrentLogItem, DebugLogGetParams, DebugLogSessionInfo, DebugLogStorageStats } from './utils/DebugStorage';
69
71
  /**
70
72
  * Информация о текущем браузере
71
73
  */
@@ -265,11 +267,11 @@ export declare function authorize(authToken?: string, apiBaseUrl?: IAPIBaseUrl):
265
267
  *
266
268
  * @param mediaOptions Нужно ли включать камеру и микрофон
267
269
  */
268
- export declare function acceptCall(mediaOptions?: MediaOption[]): Promise<ConversationData>;
270
+ export declare function acceptCall(mediaOptions?: MediaOption[], conversationId?: string): Promise<ConversationData>;
269
271
  /**
270
272
  * Отклонить входящий звонок
271
273
  */
272
- export declare function declineCall(): Promise<void>;
274
+ export declare function declineCall(conversationId?: string): Promise<void>;
273
275
  /**
274
276
  * Присоединиться к активному звонку
275
277
  *
@@ -292,7 +294,7 @@ export declare function joinCallByLink(joinLink: string, mediaOptions?: MediaOpt
292
294
  /**
293
295
  * Завершить текущий разговор
294
296
  */
295
- export declare function hangup(): Promise<void>;
297
+ export declare function hangup(conversationId?: string): Promise<void>;
296
298
  /**
297
299
  * Добавить собеседника в звонок
298
300
  *
@@ -340,7 +342,7 @@ export declare function changeDevice(kind: MediaDeviceKind, deviceId: string): P
340
342
  * state Включить или выключить захват экрана
341
343
  * settings Параметры захваты экрана
342
344
  */
343
- export declare function captureScreen(stateOrSettings: boolean | ScreenCaptureSettings): Promise<void>;
345
+ export declare function captureScreen(stateOrSettings: boolean | ScreenCaptureSettings, conversationId?: string): Promise<void>;
344
346
  /**
345
347
  * Включить/выключить передачу точек вимоджи
346
348
  *
@@ -361,13 +363,13 @@ export declare function setVideoStream(stream: MediaStream, isScreen?: boolean):
361
363
  *
362
364
  * @param enabled
363
365
  */
364
- export declare function toggleLocalVideo(enabled: boolean): Promise<void>;
366
+ export declare function toggleLocalVideo(enabled: boolean, conversationId?: string): Promise<void>;
365
367
  /**
366
368
  * Включить или выключить свой микрофон
367
369
  *
368
370
  * @param enabled
369
371
  */
370
- export declare function toggleLocalAudio(enabled: boolean): Promise<void>;
372
+ export declare function toggleLocalAudio(enabled: boolean, conversationId?: string): Promise<void>;
371
373
  /**
372
374
  * Изменяет размеры локального видео
373
375
  *
@@ -393,12 +395,6 @@ export declare function changePriorities(priorities: ParticipantPriority[]): Pro
393
395
  * @param externalId Внешний ID пользователя
394
396
  */
395
397
  export declare function changeParticipantState(state: ParticipantStateData, externalId?: ExternalId): Promise<void>;
396
- /**
397
- * Ставит звонок на удержание
398
- *
399
- * @param hold - true/false
400
- */
401
- export declare function hold(hold: boolean): Promise<void>;
402
398
  /**
403
399
  * Принудительно опустить руки участников в текущем сессионном зале админа
404
400
  */
@@ -410,6 +406,12 @@ export declare function putHandsDown(): Promise<void>;
410
406
  * @param layout Список приоритетов
411
407
  */
412
408
  export declare function updateDisplayLayout(layout: ParticipantLayout[]): Promise<void>;
409
+ /**
410
+ * Запрашивает стримы, которые клиент хочет получать для отображения.
411
+ *
412
+ * @param requests Полный список стримов, которые должны приходить на клиент
413
+ */
414
+ export declare function requestDisplayLayout(requests: DisplayLayoutRequest[]): Promise<void>;
413
415
  /**
414
416
  * Выдать или забрать роли в звонке пользователю
415
417
  *
@@ -631,6 +633,38 @@ export declare function debug(enabled: boolean): void;
631
633
  * @param args
632
634
  */
633
635
  export declare function debugMessage(type: DebugMessageType, ...args: any[]): void;
636
+ /**
637
+ * Локальные отладочные логи, сохраненные в браузере.
638
+ *
639
+ * Работает при включенном параметре `debugLog: true`.
640
+ * Логи хранятся в IndexedDB: последние 10 звонков, максимум 25 МБ суммарно.
641
+ */
642
+ export declare const debugLogs: {
643
+ /**
644
+ * Возвращает список сохраненных локальных сессий логирования.
645
+ */
646
+ list: typeof DebugStorage.list;
647
+ /**
648
+ * Возвращает логи конкретного звонка вместе с глобальным контекстом SDK.
649
+ */
650
+ get: typeof DebugStorage.get;
651
+ /**
652
+ * Возвращает логи конкретного звонка вместе с глобальным контекстом SDK JSON-строкой.
653
+ */
654
+ getJson: typeof DebugStorage.getJson;
655
+ /**
656
+ * Скачивает логи конкретного звонка вместе с глобальным контекстом SDK JSON-файлом.
657
+ */
658
+ download: typeof DebugStorage.download;
659
+ /**
660
+ * Очищает логи конкретного звонка или все локальные логи SDK.
661
+ */
662
+ clear: typeof DebugStorage.clear;
663
+ /**
664
+ * Возвращает статистику локального хранилища логов.
665
+ */
666
+ stats: typeof DebugStorage.stats;
667
+ };
634
668
  /**
635
669
  * Отправляет клиенские логи по conversationId на сервер OK
636
670
  * @example можно посмотреть в examples/anonym/index.html
@@ -741,9 +775,17 @@ export declare function stopUrlSharing(): Promise<void>;
741
775
  export declare function sendTestCommand(name: string, params?: any): void;
742
776
  export declare function startAnalyzingAudio(expectAudio: boolean, expectedActiveTracks?: number | null, expectedTrackFrequencies?: number[] | null): void;
743
777
  export declare function stopAnalyzingAudio(): void;
778
+ export declare function switchCall(conversationId: string): Promise<void>;
779
+ export declare function getActiveCallId(): string | null;
780
+ /**
781
+ * Возвращает текущее время, скорректированное на смещение относительно серверного времени.
782
+ * Доступно после установки соединения (начало/присоединение к звонку).
783
+ * Если активного звонка нет — возвращает Date.now().
784
+ */
785
+ export declare function getSyncedTime(): number;
744
786
  /**
745
787
  * Версия SDK
746
788
  */
747
789
  export declare function version(): string;
748
- export type { AddParticipantParams, AudienceModeHandsResponse, BrowserName, CompositeUserId, ConversationData, ConversationParams, ConversationResponse, CustomError, ExternalId, ExternalParticipant, ExternalParticipantListChunk, ExternalParticipantListMarker, ExternalParticipantListMarkers as ExternalParticipantMarkers, ExternalParticipantId, 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, };
790
+ export type { AddParticipantParams, AudienceModeHandsResponse, BrowserName, 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, };
749
791
  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, };
@@ -7,7 +7,7 @@ import { ExternalId, ExternalParticipantId, ExternalUserId } from '../types/Exte
7
7
  import { CompositeUserId, OkUserId, ParticipantId } from '../types/Participant';
8
8
  export type ClientStats = {
9
9
  vcid: ConversationData['id'] | null;
10
- [k: string]: string | number | null;
10
+ [k: string]: string | number | boolean | null;
11
11
  };
12
12
  export type ClientEvent = {
13
13
  timestamp: number;
@@ -1,9 +1,10 @@
1
1
  import EventEmitter from '../classes/EventEmitter';
2
2
  import { ParticipantIdRegistry } from '../classes/ParticipantIdRegistry';
3
+ import { TCapabilities } from '../types/Capabilities';
3
4
  import { StreamDescriptionString } from '../types/ParticipantStreamDescription';
4
5
  import { PerfStatReport } from '../types/PerfStatReporter';
5
6
  import { NetworkStatReport } from '../types/NetworkStatReport';
6
- import { TransportTopology } from '../classes/transport/Transport';
7
+ import TransportTopology from '../enums/TransportTopology';
7
8
  import ConversationFeature from '../enums/ConversationFeature';
8
9
  import ConversationOption from '../enums/ConversationOption';
9
10
  import MediaOption from '../enums/MediaOption';
@@ -61,14 +62,12 @@ export default abstract class BaseSignaling extends EventEmitter {
61
62
  abstract sendCandidate(participantId: ParticipantId, candidate: RTCIceCandidate): Promise<SignalingMessage>;
62
63
  abstract changeMediaSettings(mediaSettings: MediaSettings): Promise<SignalingMessage>;
63
64
  abstract changeParticipantState(state: ParticipantStateData, compositeUserId?: CompositeUserId): Promise<SignalingMessage>;
64
- abstract hold(hold: boolean): Promise<SignalingMessage>;
65
+ abstract hold(hold: boolean, capabilities?: TCapabilities): Promise<SignalingMessage>;
65
66
  abstract putHandsDown(): Promise<SignalingMessage>;
66
67
  abstract addParticipant(externalIds: CompositeUserId[], params?: AddParticipantParams): Promise<SignalingMessage>;
67
68
  abstract addParticipantLegacy(participantIds: CompositeUserId[], params?: AddParticipantParams): Promise<SignalingMessage>;
68
69
  abstract removeParticipant(participantId: CompositeUserId, ban?: boolean): Promise<SignalingMessage>;
69
- abstract allocateConsumer(description: RTCSessionDescription | null, capabilities: {
70
- [key: string]: number | boolean | string;
71
- }): Promise<SignalingMessage>;
70
+ abstract allocateConsumer(description: RTCSessionDescription | null, capabilities: TCapabilities): Promise<SignalingMessage>;
72
71
  abstract acceptProducer(description: RTCSessionDescriptionInit, ssrcs: string[], sessionId: string): Promise<SignalingMessage>;
73
72
  /**
74
73
  * @deprecated Use updateDisplayLayout instead