@vkontakte/calls-sdk 2.8.4-dev.e953776.0 → 2.8.4-dev.f08cd2d.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 (41) hide show
  1. package/CallsSDK.d.ts +14 -9
  2. package/abstract/BaseApi.d.ts +17 -6
  3. package/abstract/BaseSignaling.d.ts +9 -5
  4. package/calls-sdk.cjs.js +8 -8
  5. package/calls-sdk.esm.js +8 -8
  6. package/classes/Conversation.d.ts +15 -3
  7. package/classes/Logger.d.ts +6 -3
  8. package/classes/ProducerCommandSerializationService.d.ts +4 -0
  9. package/classes/screenshare/ScreenCaptureSender.d.ts +3 -0
  10. package/classes/stat/WeightedAverage.d.ts +10 -0
  11. package/classes/transport/BaseTransport.d.ts +0 -1
  12. package/classes/transport/DirectStatReporter.d.ts +43 -0
  13. package/classes/transport/DirectTransport.d.ts +2 -4
  14. package/classes/transport/PerfStatReporter.d.ts +3 -1
  15. package/classes/transport/Transport.d.ts +2 -1
  16. package/default/Api.d.ts +10 -4
  17. package/default/Signaling.d.ts +12 -8
  18. package/enums/SignalingCommandType.d.ts +5 -1
  19. package/enums/SignalingNotification.d.ts +3 -1
  20. package/package.json +3 -3
  21. package/static/Debug.d.ts +1 -0
  22. package/static/External.d.ts +30 -9
  23. package/static/Params.d.ts +57 -7
  24. package/static/Utils.d.ts +4 -2
  25. package/static/WebRTCUtils.d.ts +5 -1
  26. package/types/AudienceMode.d.ts +1 -0
  27. package/types/Conversation.d.ts +8 -6
  28. package/types/EnableVideoSuspend.d.ts +3 -0
  29. package/types/ExternalId.d.ts +1 -0
  30. package/types/MediaSettings.d.ts +0 -9
  31. package/types/MuteStates.d.ts +12 -0
  32. package/types/NetworkStatReport.d.ts +4 -0
  33. package/types/Participant.d.ts +7 -0
  34. package/types/ParticipantStreamDescription.d.ts +2 -1
  35. package/types/Room.d.ts +5 -1
  36. package/types/SignalingCommand.d.ts +4 -4
  37. package/types/SignalingMessage.d.ts +52 -12
  38. package/types/Statistics.d.ts +4 -0
  39. package/types/Streams.d.ts +1 -0
  40. package/types/Vmoji.d.ts +5 -0
  41. package/types/WaitingHall.d.ts +3 -12
package/CallsSDK.d.ts CHANGED
@@ -34,7 +34,7 @@ import { ParticipantStatus } from './static/External';
34
34
  import { JSONArray, JSONObject, JSONType } from './static/Json';
35
35
  import { ParamsObject } from './static/Params';
36
36
  import Utils from './static/Utils';
37
- import WebRTCUtils, { FacingMode } from './static/WebRTCUtils';
37
+ import WebRTCUtils, { BrowserName, FacingMode } from './static/WebRTCUtils';
38
38
  import { IAsrData, IAsrStartParams, IAsrStopParams } from './types/Asr';
39
39
  import { ConversationData } from './types/Conversation';
40
40
  import { IFeaturesPerRole } from './types/ConversationFeature';
@@ -55,13 +55,14 @@ import ParticipantPriority from './types/ParticipantPriority';
55
55
  import { MediaType, ParticipantStreamDescription } from './types/ParticipantStreamDescription';
56
56
  import { IRoomId, Room, RoomParticipantUpdate, Rooms, RoomsUpdate } from './types/Room';
57
57
  import { ScreenCaptureSettings } from './types/ScreenCaptureSettings';
58
- import SignalingMessage from './types/SignalingMessage';
58
+ import SignalingMessage, { GetRoomsSignalingResponse, GetParticipantsSignalingResponse } from './types/SignalingMessage';
59
59
  import { StatResult } from './types/Statistics';
60
60
  import { IStartStreamData, IStopStreamData, IPublishStreamData } from './types/Streams';
61
61
  import { WaitingHallResponse } from './types/WaitingHall';
62
62
  import { ArrayDequeue } from './utils/ArrayDequeue';
63
63
  import { ApiExternal } from './default/ApiExternal';
64
64
  import AuthData from './static/AuthData';
65
+ import { VmojiError } from './types/Vmoji';
65
66
  /**
66
67
  * Информация о текущем браузере
67
68
  */
@@ -387,11 +388,6 @@ export declare function grantRoles(externalId: ExternalId, roles: UserRole[], re
387
388
  export declare function grantRolesInternal(uid: OkUserId, deviceIdx: number, roles: UserRole[], revoke?: boolean): Promise<void>;
388
389
  /**
389
390
  * Выключить или выключить микрофон и/или камеру собеседнику (только если есть соответствующая роль)
390
- *
391
- * @param externalId Внешний ID пользователя (если не указано, сработает на всех)
392
- * @param muteStates Состояние устройств пользователя
393
- * @param requestedMedia Попросить пользователя включить устройство
394
- * @param roomId ID сессионного зала, либо ничего если в основном зале
395
391
  */
396
392
  export declare function muteParticipant({ externalId, muteStates, requestedMedia, roomId, }: IMuteParticipantParams): Promise<void>;
397
393
  export declare function muteParticipantInternal({ uid, muteStates, requestedMedia, deviceIdx, roomId, }: IMuteParticipantInternalParams): Promise<void>;
@@ -410,6 +406,13 @@ export declare function pinParticipantInternal(uid: OkUserId, unpin?: boolean, d
410
406
  * @param mediaModifiers
411
407
  */
412
408
  export declare function setMediaModifiers(mediaModifiers: MediaModifiers): Promise<void>;
409
+ /**
410
+ * Автоматическое отключения принимаемых видео-потоков
411
+ * в условиях плохого соединения
412
+ *
413
+ * @param enabled true - включить, false - отключить
414
+ */
415
+ export declare function enableVideoSuspend(enabled: boolean): Promise<void>;
413
416
  /**
414
417
  * Включить/выключить опции звонка
415
418
  *
@@ -501,7 +504,7 @@ export declare function forceRelayPolicy(enabled: boolean): void;
501
504
  * @param groupId
502
505
  * @param roomId
503
506
  */
504
- export declare function startStream(isRecord?: boolean, name?: string | null, movieId?: string | null, privacy?: 'PUBLIC' | 'FRIENDS' | 'DIRECT_LINK', groupId?: string | null, roomId?: number | null): Promise<undefined>;
507
+ export declare function startStream(isRecord?: boolean, name?: string | null, movieId?: string | null, privacy?: 'PUBLIC' | 'FRIENDS' | 'DIRECT_LINK', groupId?: string | null, roomId?: number | null, externalAccessKey?: string | null): Promise<undefined>;
505
508
  /**
506
509
  * Завершить трансляцию звонка
507
510
  * @param roomId
@@ -672,9 +675,11 @@ export declare function stopAsr(params?: IAsrStopParams): Promise<void>;
672
675
  * Запрашивает/отключает реал-тайм расшифровку звонка
673
676
  */
674
677
  export declare function requestAsr(request: boolean): Promise<void>;
678
+ export declare function startUrlSharing(sharedUrl: string): Promise<void>;
679
+ export declare function stopUrlSharing(): Promise<void>;
675
680
  /**
676
681
  * Версия SDK
677
682
  */
678
683
  export declare function version(): string;
679
- export type { AddParticipantParams, AudienceModeHandsResponse, CompositeUserId, ConversationData, ConversationParams, ConversationResponse, ExternalId, ExternalParticipant, ExternalParticipantListChunk, ExternalParticipantListMarker, ExternalParticipantListMarkers as ExternalParticipantMarkers, ExternalParticipantId, HangupReasonData, IApiEnv, IAsrStartParams, IAsrStopParams, IAsrData, IceServer, JSONArray, JSONObject, JSONType, Layout, MediaModifiers, MediaSettings, MuteStates, OkUserId, ParamsObject, ParticipantId, ParticipantLayout, ParticipantListMarkers, ParticipantListType, ParticipantPriority, 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, };
684
+ export type { AddParticipantParams, AudienceModeHandsResponse, BrowserName, CompositeUserId, ConversationData, ConversationParams, ConversationResponse, ExternalId, ExternalParticipant, ExternalParticipantListChunk, ExternalParticipantListMarker, ExternalParticipantListMarkers as ExternalParticipantMarkers, ExternalParticipantId, GetParticipantsSignalingResponse, GetRoomsSignalingResponse, HangupReasonData, IApiEnv, IAsrStartParams, IAsrStopParams, IAsrData, IceServer, JSONArray, JSONObject, JSONType, Layout, MediaModifiers, MediaSettings, MuteStates, OkUserId, ParamsObject, ParticipantId, ParticipantLayout, ParticipantListMarkers, ParticipantListType, ParticipantPriority, 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, };
680
685
  export { Api, AuthData, BaseApi, BaseLogger, BaseSignaling, CallDirection, CallType, ChatRoomEventType, ConversationOption, DebugMessageType, ExternalIdType, FacingMode, FatalError, HangupReason, HangupType, MediaOption, MediaTrackKind, MediaType, MuteState, ParticipantState, ParticipantStatus, RecordRole, Signaling, SignalingCommandType, SignalingConnectionType, SignalingNotification, UserRole, UserType, TransportTopology, RoomsEventType, ConversationFeature, ArrayDequeue, ApiExternal, };
@@ -4,12 +4,13 @@ import ConversationParams from '../types/ConversationParams';
4
4
  import ConversationResponse from '../types/ConversationResponse';
5
5
  import { ExternalId, ExternalParticipantId, ExternalUserId } from '../types/ExternalId';
6
6
  import { CompositeUserId, OkUserId, ParticipantId } from '../types/Participant';
7
+ export type ClientStats = {
8
+ vcid: ConversationData['id'] | null;
9
+ [k: string]: string | number | null;
10
+ };
7
11
  export type LogItem = {
8
12
  count?: number;
9
- custom: {
10
- vcid: ConversationData['id'] | null;
11
- [k: string]: string | number | null;
12
- };
13
+ custom: ClientStats;
13
14
  data?: string[];
14
15
  groups?: string[];
15
16
  network?: string;
@@ -43,13 +44,23 @@ export default abstract class BaseApi {
43
44
  abstract getConversationParams(conversationId?: string): Promise<ConversationParams>;
44
45
  abstract getUserId(): OkUserId | null;
45
46
  abstract setUserId(userId: OkUserId): void;
47
+ /**
48
+ * method: log.externalLog
49
+ */
46
50
  log(items: LogItem[]): void;
47
- prepareUserIds(ids: OkUserId[]): Promise<void>;
51
+ /**
52
+ * method: vchat.clientStats
53
+ */
54
+ logClientStats(items: ClientStats[]): void;
48
55
  abstract getOkIdsByExternalIds(externalIds: ExternalId[]): Promise<OkUserId[]>;
49
56
  abstract getParticipantIdsByExternalIds(externalIds: ExternalId[]): Promise<Map<ExternalId, ParticipantId>>;
50
57
  abstract getExternalIdsByOkIds(uids: OkUserId[]): Promise<ExternalParticipantId[]>;
51
58
  getCachedOkIdByExternalId(externalId: ExternalId): ParticipantId | null;
52
- cacheExternalId(participantId: CompositeUserId, externalId: ExternalParticipantId): void;
59
+ cacheExternalId(compositeId: OkUserId | CompositeUserId | ParticipantId, externalId: ExternalParticipantId): void;
60
+ mapDecorativeId(decorativeId: OkUserId | CompositeUserId | ParticipantId, okId: OkUserId | CompositeUserId): void;
61
+ unmapDecorativeId(decorativeId: OkUserId | CompositeUserId | ParticipantId): void;
62
+ getDecorativeIdByInitialId(okId: OkUserId | CompositeUserId | ParticipantId): OkUserId | undefined;
63
+ replaceByInitialIdIdIfExists(id: OkUserId | CompositeUserId | ParticipantId): OkUserId;
53
64
  hangupConversation(conversationId: string): void;
54
65
  sendUserFeedbackStats(conversationId: string, userResponse: number, reason?: string, groupCallUsersCount?: number): void;
55
66
  removeHistoryRecords(recordIds: number[]): Promise<void>;
@@ -2,6 +2,7 @@ import EventEmitter from '../classes/EventEmitter';
2
2
  import { ParticipantIdRegistry } from '../classes/ParticipantIdRegistry';
3
3
  import { StreamDescriptionString } from '../types/ParticipantStreamDescription';
4
4
  import { PerfStatReport } from '../types/PerfStatReporter';
5
+ import { NetworkStatReport } from '../types/NetworkStatReport';
5
6
  import { TransportTopology } from '../classes/transport/Transport';
6
7
  import ConversationFeature from '../enums/ConversationFeature';
7
8
  import ConversationOption from '../enums/ConversationOption';
@@ -18,9 +19,8 @@ import MuteStates from '../types/MuteStates';
18
19
  import { CompositeUserId, ParticipantId } from '../types/Participant';
19
20
  import { ParticipantLayout, RequestKeyFrame, StopStream } from '../types/ParticipantLayout';
20
21
  import { ParticipantListChunkParameters } from '../types/ParticipantListChunk';
21
- import SignalingMessage from '../types/SignalingMessage';
22
+ import SignalingMessage, { GetParticipantsSignalingResponse, GetRoomsSignalingResponse } from '../types/SignalingMessage';
22
23
  import { IPublishStreamData, IRecordConfData, IStartStreamData, IStopStreamData } from '../types/Streams';
23
- import { WaitingParticipantId } from '../types/WaitingHall';
24
24
  import { SharingStatReport } from '../classes/screenshare/SharingStatReport';
25
25
  /**
26
26
  * Параметры добавления пользователя в звонок
@@ -67,10 +67,12 @@ export default abstract class BaseSignaling extends EventEmitter {
67
67
  abstract addMovie(data: IAddMovieParams): Promise<SignalingMessage>;
68
68
  abstract updateMovie(data: IUpdateMovieData): Promise<SignalingMessage>;
69
69
  abstract removeMovie(data: any): Promise<SignalingMessage>;
70
+ abstract startUrlSharing(sharedUrl: string): Promise<SignalingMessage>;
71
+ abstract stopUrlSharing(): Promise<SignalingMessage>;
70
72
  abstract updateRooms(rooms: Record<any, any>[], assignRandomly?: boolean): Promise<SignalingMessage>;
71
73
  abstract activateRooms(roomIds: number[], deactivate: boolean): Promise<SignalingMessage>;
72
74
  abstract switchRoom(toRoomId: number | null, participantId?: ParticipantId): Promise<SignalingMessage>;
73
- abstract getRooms(withParticipants: boolean): Promise<SignalingMessage>;
75
+ abstract getRooms(withParticipants: boolean): Promise<GetRoomsSignalingResponse>;
74
76
  abstract removeRooms(roomIds: number[]): Promise<SignalingMessage>;
75
77
  abstract startStream(data: IStartStreamData): Promise<SignalingMessage>;
76
78
  abstract stopStream(data: IStopStreamData): Promise<SignalingMessage>;
@@ -80,6 +82,7 @@ export default abstract class BaseSignaling extends EventEmitter {
80
82
  abstract switchTopology(topology: TransportTopology, force?: boolean): Promise<SignalingMessage>;
81
83
  abstract reportPerfStat(report: PerfStatReport): Promise<SignalingMessage>;
82
84
  abstract reportSharingStat(report: SharingStatReport): Promise<SignalingMessage>;
85
+ abstract reportNetworkStat(report: NetworkStatReport): Promise<SignalingMessage>;
83
86
  abstract chatMessage(message: string, participantId: CompositeUserId | null): Promise<SignalingMessage>;
84
87
  abstract chatHistory(count: number): Promise<SignalingMessage>;
85
88
  abstract customData(data: JSONObject, participantId: ParticipantId | null): Promise<SignalingMessage>;
@@ -88,10 +91,11 @@ export default abstract class BaseSignaling extends EventEmitter {
88
91
  abstract enableFeatureForRoles(feature: ConversationFeature, roles: UserRole[]): Promise<SignalingMessage>;
89
92
  abstract pinParticipant(participantId: ParticipantId, unpin: boolean, roomId: number | null): Promise<SignalingMessage>;
90
93
  abstract updateMediaModifiers(mediaModifiers: MediaModifiers): Promise<SignalingMessage>;
94
+ abstract enableVideoSuspend(enabled: boolean): Promise<SignalingMessage>;
91
95
  abstract changeOptions(changes: {
92
96
  [key in ConversationOption]?: boolean;
93
97
  }): Promise<SignalingMessage>;
94
- abstract getWaitingHall(fromId: WaitingParticipantId | null, count?: number, backward?: boolean): Promise<SignalingMessage>;
98
+ abstract getWaitingHall(fromId: SignalingMessage.WaitingParticipantId | null, count?: number, backward?: boolean): Promise<SignalingMessage>;
95
99
  abstract promoteParticipant(participantId: CompositeUserId, demote?: boolean): Promise<SignalingMessage>;
96
100
  abstract requestPromotion(unrequest: boolean): Promise<SignalingMessage>;
97
101
  abstract acceptPromotion(reject: boolean): Promise<SignalingMessage>;
@@ -101,7 +105,7 @@ export default abstract class BaseSignaling extends EventEmitter {
101
105
  abstract setProducerCommandDataChannel(dataChannel: RTCDataChannel): void;
102
106
  abstract useCommandDataChannel(status: boolean): void;
103
107
  abstract getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<SignalingMessage>;
104
- abstract getParticipants(externalIds: SignalingMessage.ExternalId[]): Promise<SignalingMessage>;
108
+ abstract getParticipants(externalIds: SignalingMessage.ExternalId[]): Promise<GetParticipantsSignalingResponse>;
105
109
  abstract startAsr(params: IAsrStartParams): Promise<SignalingMessage>;
106
110
  abstract stopAsr(params?: IAsrStopParams): Promise<SignalingMessage>;
107
111
  abstract requestAsr(request: boolean): Promise<SignalingMessage>;