@vkontakte/calls-sdk 2.8.2-dev.35f93f5.0 → 2.8.2-dev.5360f31.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 (46) hide show
  1. package/CallsSDK.d.ts +68 -43
  2. package/abstract/BaseApi.d.ts +11 -9
  3. package/abstract/BaseSignaling.d.ts +8 -7
  4. package/calls-sdk.cjs.js +8 -8
  5. package/calls-sdk.esm.js +8 -8
  6. package/classes/Conversation.d.ts +20 -14
  7. package/classes/FpsMeter.d.ts +10 -0
  8. package/classes/codec/Types.d.ts +11 -1
  9. package/classes/screenshare/PacketHistory.d.ts +2 -2
  10. package/classes/screenshare/ScreenCaptureSender.d.ts +12 -3
  11. package/classes/screenshare/ScreenCongestionControl.d.ts +1 -1
  12. package/classes/screenshare/StreamBuilder.d.ts +1 -0
  13. package/classes/screenshare/Utils.d.ts +1 -1
  14. package/classes/stat/StatAggregator.d.ts +1 -1
  15. package/classes/transport/ServerTransport.d.ts +2 -0
  16. package/classes/transport/Transport.d.ts +2 -1
  17. package/default/Api.d.ts +12 -13
  18. package/default/ApiExternal.d.ts +11 -0
  19. package/default/Signaling.d.ts +8 -7
  20. package/enums/FatalError.d.ts +1 -0
  21. package/enums/SignalingCommandType.d.ts +4 -2
  22. package/package.json +2 -2
  23. package/static/ApiTransport.d.ts +3 -1
  24. package/static/External.d.ts +40 -15
  25. package/static/Params.d.ts +43 -26
  26. package/static/Utils.d.ts +8 -4
  27. package/types/Asr.d.ts +22 -1
  28. package/types/Conversation.d.ts +4 -0
  29. package/types/ExternalId.d.ts +13 -15
  30. package/types/{Logger.d.ts → IEventualStatLog.d.ts} +2 -2
  31. package/types/MovieShare.d.ts +2 -2
  32. package/types/MuteStates.d.ts +1 -1
  33. package/types/Params.d.ts +1 -0
  34. package/types/Participant.d.ts +2 -2
  35. package/types/ParticipantLayout.d.ts +2 -2
  36. package/types/ParticipantListChunk.d.ts +1 -1
  37. package/types/ParticipantStreamDescription.d.ts +0 -1
  38. package/types/PerfStatReporter.d.ts +1 -1
  39. package/types/Room.d.ts +3 -0
  40. package/types/SignalingMessage.d.ts +13 -4
  41. package/types/Statistics.d.ts +3 -4
  42. package/types/Streams.d.ts +7 -0
  43. package/utils/ArrayDequeue.d.ts +1 -1
  44. package/utils/ArrayList.d.ts +5 -2
  45. package/utils/FastList.d.ts +5 -2
  46. package/utils/IList.d.ts +5 -2
package/CallsSDK.d.ts CHANGED
@@ -1,20 +1,20 @@
1
1
  /**
2
2
  * CallsSDK
3
3
  */
4
- import type * as Vmoji from '@vkontakte/calls-vmoji';
5
4
  import type { IEffect, VideoEffects } from '@vkontakte/calls-video-effects';
5
+ import type * as Vmoji from '@vkontakte/calls-vmoji';
6
6
  import BaseApi from './abstract/BaseApi';
7
7
  import BaseLogger from './abstract/BaseLogger';
8
8
  import BaseSignaling, { AddParticipantParams } from './abstract/BaseSignaling';
9
9
  import HangupReason, { HangupReasonData } from './classes/HangupReason';
10
10
  import { MediaTrackKind } from './classes/MediaSource';
11
- import { StatResult } from './types/Statistics';
12
11
  import { TransportTopology } from './classes/transport/Transport';
13
12
  import Api from './default/Api';
14
13
  import Signaling from './default/Signaling';
15
14
  import CallDirection from './enums/CallDirection';
16
15
  import CallType from './enums/CallType';
17
16
  import ChatRoomEventType from './enums/ChatRoomEventType';
17
+ import ConversationFeature from './enums/ConversationFeature';
18
18
  import ConversationOption from './enums/ConversationOption';
19
19
  import FatalError from './enums/FatalError';
20
20
  import HangupType from './enums/HangupType';
@@ -22,6 +22,7 @@ import MediaOption from './enums/MediaOption';
22
22
  import MuteState from './enums/MuteState';
23
23
  import ParticipantState from './enums/ParticipantState';
24
24
  import RecordRole from './enums/RecordRole';
25
+ import RoomsEventType from './enums/RoomsEventType';
25
26
  import SignalingCommandType from './enums/SignalingCommandType';
26
27
  import SignalingConnectionType from './enums/SignalingConnectionType';
27
28
  import SignalingNotification from './enums/SignalingNotification';
@@ -33,31 +34,31 @@ import { JSONArray, JSONObject, JSONType } from './static/Json';
33
34
  import { ParamsObject } from './static/Params';
34
35
  import Utils from './static/Utils';
35
36
  import WebRTCUtils, { FacingMode } from './static/WebRTCUtils';
36
- import { IAsrStartParams } from './types/Asr';
37
+ import { IAsrData, IAsrStartParams, IAsrStopParams } from './types/Asr';
38
+ import { ConversationData } from './types/Conversation';
39
+ import { IFeaturesPerRole } from './types/ConversationFeature';
37
40
  import ConversationParams from './types/ConversationParams';
38
41
  import ConversationResponse from './types/ConversationResponse';
39
42
  import { ExternalId, ExternalIdType, ExternalParticipant, ExternalParticipantId, ExternalParticipantListChunk, ExternalParticipantListMarker, ExternalParticipantListMarkers, ExternalUserId } from './types/ExternalId';
43
+ import { IFeedbackExternal } from './types/Feedback';
40
44
  import IceServer from './types/IceServer';
41
45
  import MediaModifiers from './types/MediaModifiers';
42
46
  import { IVideoDimentions, MediaSettings } from './types/MediaSettings';
47
+ import { IAddMovieParams, IMovieMetaData, IMoviePreview, IOnRemoteMovieData, ISharedMovieInfo, ISharedMovieState, ISharedMovieStateResponse, ISharedMovieStoppedInfo, IUpdateMovieData } from './types/MovieShare';
43
48
  import MuteStates, { IMuteParticipantInternalParams, IMuteParticipantParams } from './types/MuteStates';
44
49
  import { IGetParticipantsParameters, OkUserId, ParticipantListMarker, ParticipantListMarkers, ParticipantListType, ParticipantStateMapped } from './types/Participant';
45
50
  import ParticipantLayout, { Layout, RequestKeyFrame, StopStream } from './types/ParticipantLayout';
46
51
  import { ParticipantListChunkParameters } from './types/ParticipantListChunk';
47
52
  import ParticipantPriority from './types/ParticipantPriority';
48
53
  import { MediaType, ParticipantStreamDescription } from './types/ParticipantStreamDescription';
49
- import { Room, RoomsUpdate, RoomParticipantUpdate, Rooms } from './types/Room';
50
- import RoomsEventType from './enums/RoomsEventType';
54
+ import { IRoomId, Room, RoomParticipantUpdate, Rooms, RoomsUpdate } from './types/Room';
51
55
  import { ScreenCaptureSettings } from './types/ScreenCaptureSettings';
52
56
  import SignalingMessage from './types/SignalingMessage';
53
- import { WaitingHallResponse } from './types/WaitingHall';
54
- import { IFeedbackExternal } from './types/Feedback';
55
- import { ISharedMovieInfo, ISharedMovieStoppedInfo, ISharedMovieState, ISharedMovieStateResponse, IAddMovieParams, IOnRemoteMovieData, IMoviePreview, IUpdateMovieData, IMovieMetaData } from './types/MovieShare';
57
+ import { StatResult } from './types/Statistics';
56
58
  import { IStartStreamData, IStopStreamData } from './types/Streams';
57
- import ConversationFeature from './enums/ConversationFeature';
58
- import { IFeaturesPerRole } from './types/ConversationFeature';
59
+ import { WaitingHallResponse } from './types/WaitingHall';
59
60
  import { ArrayDequeue } from './utils/ArrayDequeue';
60
- import { ConversationData } from './types/Conversation';
61
+ import { ApiExternal } from './default/ApiExternal';
61
62
  /**
62
63
  * Информация о текущем браузере
63
64
  */
@@ -224,8 +225,8 @@ export declare function init(params: Partial<ParamsObject>): Promise<void>;
224
225
  * @param requireAuthToJoin Запретить анонимам подключаться по ссылке (если поддерживается сервером)
225
226
  * @param onlyAdminCanShareMovie Только администратор может включать совметсный просмотр
226
227
  */
227
- export declare function callTo(externalId?: string | ExternalId | string[] | ExternalId[], mediaOptions?: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, onlyAdminCanShareMovie?: boolean): Promise<ConversationData>;
228
- export declare function callInternal(ids: OkUserId[], type: CallType, mediaOptions: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, onlyAdminCanShareMovie?: boolean): Promise<ConversationData>;
228
+ export declare function callTo(externalId?: ExternalId | ExternalId[], mediaOptions?: (MediaOption.AUDIO | MediaOption.VIDEO | MediaOption.ANIMOJI)[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, onlyAdminCanShareMovie?: boolean): Promise<ConversationData>;
229
+ export declare function callInternal(ids: OkUserId[], type: CallType | undefined, mediaOptions: (MediaOption.AUDIO | MediaOption.VIDEO | MediaOption.ANIMOJI)[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, onlyAdminCanShareMovie?: boolean): Promise<ConversationData>;
229
230
  /**
230
231
  * Обработать пуш о входящем звонке
231
232
  *
@@ -249,7 +250,7 @@ export declare function authorize(authToken?: string): Promise<void>;
249
250
  *
250
251
  * @param mediaOptions Нужно ли включать камеру и микрофон
251
252
  */
252
- export declare function acceptCall(mediaOptions?: MediaOption[]): Promise<ConversationData>;
253
+ export declare function acceptCall(mediaOptions?: (MediaOption.AUDIO | MediaOption.VIDEO | MediaOption.ANIMOJI)[]): Promise<ConversationData>;
253
254
  /**
254
255
  * Отклонить входящий звонок
255
256
  */
@@ -260,8 +261,8 @@ export declare function declineCall(): Promise<void>;
260
261
  * @param conversationId ID звонка
261
262
  * @param mediaOptions Нужно ли включать камеру и микрофон
262
263
  */
263
- export declare function joinCall(conversationId: string, mediaOptions?: MediaOption[]): Promise<ConversationData>;
264
- export declare function joinCallInternal(conversationId: string, mediaOptions: MediaOption[], chatId?: string): Promise<ConversationData>;
264
+ export declare function joinCall(conversationId: string, mediaOptions?: (MediaOption.AUDIO | MediaOption.VIDEO | MediaOption.ANIMOJI)[]): Promise<ConversationData>;
265
+ export declare function joinCallInternal(conversationId: string, mediaOptions: (MediaOption.AUDIO | MediaOption.VIDEO | MediaOption.ANIMOJI)[], chatId?: string): Promise<ConversationData>;
265
266
  /**
266
267
  * Присоединиться к звонку по ссылке
267
268
  *
@@ -282,7 +283,7 @@ export declare function hangup(): Promise<void>;
282
283
  * @param externalId Внешний ID пользователя
283
284
  * @param params Параметры
284
285
  */
285
- export declare function addParticipant(externalId: string | ExternalId, params?: AddParticipantParams): Promise<void>;
286
+ export declare function addParticipant(externalId: ExternalId, params?: AddParticipantParams): Promise<void>;
286
287
  export declare function addParticipantInternal(uid: OkUserId, params?: AddParticipantParams): Promise<void>;
287
288
  /**
288
289
  * Удалить собеседника из звонка
@@ -290,7 +291,7 @@ export declare function addParticipantInternal(uid: OkUserId, params?: AddPartic
290
291
  * @param externalId Внешний ID пользователя
291
292
  * @param ban Забанить пользователя
292
293
  */
293
- export declare function removeParticipant(externalId: string | ExternalId, ban?: boolean): Promise<void>;
294
+ export declare function removeParticipant(externalId: ExternalId, ban?: boolean): Promise<void>;
294
295
  export declare function removeParticipantInternal(uid: OkUserId, ban?: boolean): Promise<void>;
295
296
  /**
296
297
  * Изменить камеру на фронтальную или заднюю (для мобильных устройств)
@@ -379,8 +380,8 @@ export declare function updateDisplayLayout(layout: ParticipantLayout[]): Promis
379
380
  * @param roles Список ролей
380
381
  * @param revoke Забрать роли
381
382
  */
382
- export declare function grantRoles(externalId: string | ExternalId, roles: UserRole[], revoke?: boolean): Promise<void>;
383
- export declare function grantRolesInternal(uid: OkUserId, roles: UserRole[], revoke?: boolean): Promise<void>;
383
+ export declare function grantRoles(externalId: ExternalId, roles: UserRole[], revoke?: boolean): Promise<void>;
384
+ export declare function grantRolesInternal(uid: OkUserId, deviceIdx: number, roles: UserRole[], revoke?: boolean): Promise<void>;
384
385
  /**
385
386
  * Выключить или выключить микрофон и/или камеру собеседнику (только если есть соответствующая роль)
386
387
  *
@@ -396,8 +397,9 @@ export declare function muteParticipantInternal({ uid, muteStates, requestedMedi
396
397
  *
397
398
  * @param externalId Внешний ID пользователя
398
399
  * @param unpin Открепить
400
+ * @param roomId Идентификатор комнаты
399
401
  */
400
- export declare function pinParticipant(externalId: string | ExternalParticipantId, unpin?: boolean, roomId?: number | null): Promise<void>;
402
+ export declare function pinParticipant(externalId: ExternalId, unpin?: boolean, roomId?: number | null): Promise<void>;
401
403
  export declare function pinParticipantInternal(uid: OkUserId, unpin?: boolean, deviceIdx?: number, roomId?: number | null): Promise<void>;
402
404
  /**
403
405
  * Устанавливает настройки пользовательского медиа
@@ -419,7 +421,7 @@ export declare function changeConversationOptions(changes: {
419
421
  * @param message Сообщение
420
422
  * @param externalId Внешний ID пользователя (если не указано, отправит всем)
421
423
  */
422
- export declare function chatMessage(message: string, externalId?: string | ExternalId | null): Promise<void>;
424
+ export declare function chatMessage(message: string, externalId?: ExternalId | null): Promise<void>;
423
425
  export declare function chatMessageInternal(message: string, uid?: OkUserId | null): Promise<void>;
424
426
  /**
425
427
  * Получить историю сообщений чата
@@ -433,7 +435,7 @@ export declare function chatHistory(count?: number): Promise<void>;
433
435
  * @param data Данные
434
436
  * @param externalId Внешний ID пользователя (если не указано, отправит всем)
435
437
  */
436
- export declare function customData(data: JSONObject, externalId?: string | ExternalParticipantId | null): Promise<void>;
438
+ export declare function customData(data: JSONObject, externalId?: ExternalId | null): Promise<void>;
437
439
  export declare function customDataInternal(data: JSONObject, uid?: OkUserId | null, deviceIdx?: number): Promise<void>;
438
440
  /**
439
441
  * Создать токен комнаты для подключения по ссылке
@@ -444,8 +446,20 @@ export declare function customDataInternal(data: JSONObject, uid?: OkUserId | nu
444
446
  * @returns Токен комнаты
445
447
  */
446
448
  export declare function startConversation(payload?: string, requireAuthToJoin?: boolean, { onlyAdminCanShareMovie }?: {
447
- onlyAdminCanShareMovie?: boolean;
449
+ onlyAdminCanShareMovie?: boolean | undefined;
448
450
  }): Promise<string>;
451
+ /**
452
+ * Создать токен комнаты в режиме Audience для подключения по ссылке
453
+ *
454
+ * @param payload Дополнительные данные для передачи на сервер
455
+ * @param requireAuthToJoin Запретить анонимам подключаться по ссылке (если поддерживается сервером)
456
+ * @param startConversationParameters Дополнительные параметры для создания звонка (например onlyAdminCanShareMovie)
457
+ * @param speakerIds Список внешних ID пользователей, которые будут выступать в роли спикеров
458
+ * @returns Токен комнаты
459
+ */
460
+ export declare function startAudienceConversation(payload: string | undefined, requireAuthToJoin: boolean | undefined, { onlyAdminCanShareMovie, }: {
461
+ onlyAdminCanShareMovie?: boolean | undefined;
462
+ } | undefined, speakerIds: ExternalUserId[]): Promise<string>;
449
463
  /**
450
464
  * Создать токен комнаты для подключения по ссылке к существующему звонку
451
465
  *
@@ -483,25 +497,22 @@ export declare function forceRelayPolicy(enabled: boolean): void;
483
497
  * @param groupId
484
498
  * @param roomId
485
499
  */
486
- export declare function startStream(isRecord?: boolean, name?: string | null, movieId?: string | null, privacy?: 'PUBLIC' | 'FRIENDS' | 'DIRECT_LINK', groupId?: string | null, roomId?: number | null): Promise<never>;
500
+ 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>;
487
501
  /**
488
502
  * Завершить трансляцию звонка
489
503
  * @param roomId
490
504
  */
491
- export declare function stopStream(roomId?: number | null): Promise<never>;
505
+ export declare function stopStream(roomId?: number | null): Promise<undefined>;
492
506
  /**
493
507
  * Устанавливает роль участника в запись звонка
494
508
  * Если хотя бы у одного участника звонка выставлена роль, то в записи звонка будут
495
509
  * видны только те участники, у кого есть роль.
496
- * KING - участник показывается крупно в записи звонка (только один участник имеет такую роль)
497
- * PAWN - участник показывается в записи звонка
498
- * null - роль удаляется
499
- *
500
- * @param externalId Внешний ID пользователя
501
- * @param role Роль, если null, то роль удалится
502
- * @param roomId ID сессионного зала записи. Если null, то роль применится в основном звонке
510
+ * @param king участник показывается крупно в записи звонка (только один участник имеет такую роль)
511
+ * @param pawns участник показывается в записи звонка
512
+ * @param hideParticipantCount скрыть/показать количество невидимых участников
513
+ * @param roomId комната
503
514
  */
504
- export declare function recordSetRole(externalId: string | ExternalParticipantId, role: RecordRole | null, roomId?: number | null): Promise<void>;
515
+ export declare function recordSetConf(king?: ExternalId, pawns?: ExternalId[], hideParticipantCount?: boolean, roomId?: number | null): Promise<void>;
505
516
  /**
506
517
  * Получить информацию о трансляции звонка
507
518
  */
@@ -545,9 +556,9 @@ export declare function activateRooms(roomIds: number[], deactivate: boolean): P
545
556
  /**
546
557
  * Cменить сессионный зал
547
558
  * @param toRoomId
548
- * @param participantId
559
+ * @param externalId
549
560
  */
550
- export declare function switchRoom(toRoomId?: number | null, participantId?: string | ExternalParticipantId | null): Promise<void>;
561
+ export declare function switchRoom(toRoomId?: number | null, externalId?: ExternalId | null): Promise<void>;
551
562
  /**
552
563
  * Удалить сессионные залы
553
564
  * @param roomIds
@@ -590,12 +601,12 @@ export declare function setAudioStream(stream: MediaStream): Promise<void>;
590
601
  *
591
602
  * @param {(string|ArrayBuffer)} svg - svg в незашифрованном (string)
592
603
  * или зашифрованном (ArrayBuffer) виде
593
- * @param {(ExternalParticipantId|null)} externalId - externalId внешнего участника звонка,
604
+ * @param {(ExternalId|null)} externalId - externalId внешнего участника звонка,
594
605
  * не требуется для текущего участника (текущего пользователя клиента)
595
606
  * @param {(string|null)} customKey - кастомный ключ расшифровки svg,
596
607
  * нужен только в случае присвоения участнику чужого аватара
597
608
  */
598
- export declare function setVmojiSvg(svg: string | ArrayBuffer, externalId?: ExternalParticipantId | null, customKey?: string | null): Promise<void>;
609
+ export declare function setVmojiSvg(svg: string | ArrayBuffer, externalId?: ExternalId | null, customKey?: string | null): Promise<void>;
599
610
  /**
600
611
  * Получить состояние зала ожидания
601
612
  *
@@ -605,12 +616,26 @@ export declare function setVmojiSvg(svg: string | ArrayBuffer, externalId?: Exte
605
616
  */
606
617
  export declare function getWaitingHall(pageMarker?: string | null, count?: number, backward?: boolean): Promise<WaitingHallResponse>;
607
618
  /**
608
- * Разрешить/запретить пользователю войти из зала ожидания
619
+ * Разрешить/запретить пользователю войти из зала ожидания/стать спикером комнаты
620
+ * в режиме Audience
609
621
  *
610
622
  * @param externalId Внешний ID пользователя
611
- * @param demote Запретить вход
623
+ * @param demote Запретить вход/отобрать права спикера
612
624
  */
613
625
  export declare function promoteParticipant(externalId: ExternalId, demote?: boolean): Promise<void>;
626
+ /**
627
+ * Запросить/отозвать запрос на получение права стать спикером в комнате в
628
+ * режиме Audience
629
+ *
630
+ * @param demote Отозвать запрос
631
+ */
632
+ export declare function requestPromotion(demote?: boolean): Promise<void>;
633
+ /**
634
+ * Согласиться/отказаться стать спикером в комнате в режиме Audience.
635
+ *
636
+ * @param reject Отказаться стать спикером
637
+ */
638
+ export declare function acceptPromotion(reject?: boolean): Promise<void>;
614
639
  export declare function getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<ExternalParticipantListChunk>;
615
640
  export declare function getParticipants(parameters: IGetParticipantsParameters): Promise<ExternalParticipant[]>;
616
641
  export declare function feedback(key: string): Promise<SignalingMessage>;
@@ -628,7 +653,7 @@ export declare function startAsr(params: IAsrStartParams): Promise<void>;
628
653
  /**
629
654
  * Заканчивает текстовую расшифровку звонка
630
655
  */
631
- export declare function stopAsr(): Promise<void>;
656
+ export declare function stopAsr(params?: IAsrStopParams): Promise<void>;
632
657
  /**
633
658
  * Запрашивает/отключает реал-тайм расшифровку звонка
634
659
  */
@@ -637,5 +662,5 @@ export declare function requestAsr(request: boolean): Promise<void>;
637
662
  * Версия SDK
638
663
  */
639
664
  export declare function version(): string;
640
- export type { AddParticipantParams, ConversationData, ConversationParams, ConversationResponse, ExternalId, ExternalParticipant, ExternalParticipantListChunk, ExternalParticipantListMarker, ExternalParticipantListMarkers as ExternalParticipantMarkers, ExternalParticipantId, HangupReasonData, IAsrStartParams, IceServer, JSONArray, JSONObject, JSONType, Layout, MediaModifiers, MediaSettings, MuteStates, OkUserId, ParamsObject, 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, Room, RoomsUpdate, RoomParticipantUpdate, IUpdateMovieData, IFeaturesPerRole, IMuteParticipantParams, IMuteParticipantInternalParams, IStartStreamData, IStopStreamData, };
641
- export { Api, 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, };
665
+ export type { AddParticipantParams, ConversationData, ConversationParams, ConversationResponse, ExternalId, ExternalParticipant, ExternalParticipantListChunk, ExternalParticipantListMarker, ExternalParticipantListMarkers as ExternalParticipantMarkers, ExternalParticipantId, HangupReasonData, IAsrStartParams, IAsrStopParams, IAsrData, IceServer, JSONArray, JSONObject, JSONType, Layout, MediaModifiers, MediaSettings, MuteStates, OkUserId, ParamsObject, 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, };
666
+ export { Api, 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, };
@@ -2,13 +2,13 @@ import CallType from '../enums/CallType';
2
2
  import { ConversationData } from '../types/Conversation';
3
3
  import ConversationParams from '../types/ConversationParams';
4
4
  import ConversationResponse from '../types/ConversationResponse';
5
- import { ExternalId, ExternalUserId } from '../types/ExternalId';
6
- import { CompositeUserId, OkUserId } from '../types/Participant';
5
+ import { ExternalId, ExternalParticipantId, ExternalUserId } from '../types/ExternalId';
6
+ import { CompositeUserId, OkUserId, ParticipantId } from '../types/Participant';
7
7
  export type LogItem = {
8
8
  count?: number;
9
9
  custom: {
10
10
  vcid: ConversationData['id'] | null;
11
- [k: string]: string | number;
11
+ [k: string]: string | number | null;
12
12
  };
13
13
  data?: string[];
14
14
  groups?: string[];
@@ -22,10 +22,11 @@ export type LogItem = {
22
22
  export default abstract class BaseApi {
23
23
  abstract init(): void;
24
24
  abstract authorize(): Promise<void>;
25
- abstract userId(participantId: CompositeUserId): Promise<ExternalId>;
25
+ abstract userId(participantId: ParticipantId): Promise<ExternalParticipantId>;
26
26
  abstract createConversation(conversationId: string, payload?: string, requireAuthToJoin?: boolean, createConversationParameters?: {
27
27
  onlyAdminCanShareMovie?: boolean;
28
- }): Promise<ConversationResponse>;
28
+ audienceMode?: boolean;
29
+ }, speakerIds?: OkUserId[]): Promise<ConversationResponse>;
29
30
  abstract startConversation(conversationId: string, ids?: OkUserId[], type?: CallType, isVideo?: boolean, payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, createConversationParameters?: {
30
31
  onlyAdminCanShareMovie?: boolean;
31
32
  }): Promise<ConversationResponse>;
@@ -43,10 +44,11 @@ export default abstract class BaseApi {
43
44
  abstract setUserId(userId: OkUserId): void;
44
45
  log(items: LogItem[]): void;
45
46
  prepareUserIds(ids: OkUserId[]): Promise<void>;
46
- abstract getOkIdsByExternalIds(externalIds: (string | ExternalId)[]): Promise<OkUserId[]>;
47
- abstract getExternalIdsByOkIds(uids: OkUserId[]): Promise<ExternalId[]>;
48
- getCachedOkIdByExternalId(externalId: ExternalId): CompositeUserId | null;
49
- cacheExternalId(participantId: CompositeUserId, externalId: ExternalId): void;
47
+ abstract getOkIdsByExternalIds(externalIds: ExternalId[]): Promise<OkUserId[]>;
48
+ abstract getParticipantIdsByExternalIds(externalIds: ExternalId[]): Promise<Map<ExternalId, ParticipantId>>;
49
+ abstract getExternalIdsByOkIds(uids: OkUserId[]): Promise<ExternalParticipantId[]>;
50
+ getCachedOkIdByExternalId(externalId: ExternalId): ParticipantId | null;
51
+ cacheExternalId(participantId: CompositeUserId, externalId: ExternalParticipantId): void;
50
52
  hangupConversation(conversationId: string): void;
51
53
  removeHistoryRecords(recordIds: number[]): Promise<void>;
52
54
  cleanup(): void;
@@ -6,11 +6,10 @@ import { TransportTopology } from '../classes/transport/Transport';
6
6
  import ConversationFeature from '../enums/ConversationFeature';
7
7
  import ConversationOption from '../enums/ConversationOption';
8
8
  import MediaOption from '../enums/MediaOption';
9
- import RecordRole from '../enums/RecordRole';
10
9
  import SignalingConnectionType from '../enums/SignalingConnectionType';
11
10
  import UserRole from '../enums/UserRole';
12
11
  import { JSONObject } from '../static/Json';
13
- import { IAsrStartParams } from '../types/Asr';
12
+ import { IAsrStartParams, IAsrStopParams } from '../types/Asr';
14
13
  import ConversationResponse from '../types/ConversationResponse';
15
14
  import MediaModifiers from '../types/MediaModifiers';
16
15
  import MediaSettings from '../types/MediaSettings';
@@ -20,7 +19,7 @@ import { CompositeUserId, ParticipantId } from '../types/Participant';
20
19
  import { ParticipantLayout, RequestKeyFrame, StopStream } from '../types/ParticipantLayout';
21
20
  import { ParticipantListChunkParameters } from '../types/ParticipantListChunk';
22
21
  import SignalingMessage from '../types/SignalingMessage';
23
- import { IStartStreamData, IStopStreamData } from '../types/Streams';
22
+ import { IRecordConfData, IStartStreamData, IStopStreamData } from '../types/Streams';
24
23
  import { WaitingParticipantId } from '../types/WaitingHall';
25
24
  import { SharingStatReport } from '../classes/screenshare/SharingStatReport';
26
25
  /**
@@ -75,7 +74,7 @@ export default abstract class BaseSignaling extends EventEmitter {
75
74
  abstract removeRooms(roomIds: number[]): Promise<SignalingMessage>;
76
75
  abstract startStream(data: IStartStreamData): Promise<SignalingMessage>;
77
76
  abstract stopStream(data: IStopStreamData): Promise<SignalingMessage>;
78
- abstract recordSetRole(participantId: ParticipantId, role: RecordRole | null, roomId: number | null): Promise<SignalingMessage>;
77
+ abstract recordSetConf(conf: IRecordConfData): Promise<SignalingMessage>;
79
78
  abstract getRecordStatus(): Promise<SignalingMessage>;
80
79
  abstract switchTopology(topology: TransportTopology, force?: boolean): Promise<SignalingMessage>;
81
80
  abstract reportPerfStat(report: PerfStatReport): Promise<SignalingMessage>;
@@ -83,7 +82,7 @@ export default abstract class BaseSignaling extends EventEmitter {
83
82
  abstract chatMessage(message: string, participantId: CompositeUserId | null): Promise<SignalingMessage>;
84
83
  abstract chatHistory(count: number): Promise<SignalingMessage>;
85
84
  abstract customData(data: JSONObject, participantId: ParticipantId | null): Promise<SignalingMessage>;
86
- abstract grantRoles(participantId: CompositeUserId, roles: UserRole[], revoke: boolean): Promise<SignalingMessage>;
85
+ abstract grantRoles(participantId: ParticipantId, roles: UserRole[], revoke: boolean): Promise<SignalingMessage>;
87
86
  abstract muteParticipant(participantId: ParticipantId | null, muteStates: MuteStates, requestedMedia: MediaOption[], roomId: number | null): Promise<SignalingMessage>;
88
87
  abstract enableFeatureForRoles(feature: ConversationFeature, roles: UserRole[]): Promise<SignalingMessage>;
89
88
  abstract pinParticipant(participantId: ParticipantId, unpin: boolean, roomId: number | null): Promise<SignalingMessage>;
@@ -93,6 +92,8 @@ export default abstract class BaseSignaling extends EventEmitter {
93
92
  }): Promise<SignalingMessage>;
94
93
  abstract getWaitingHall(fromId: WaitingParticipantId | null, count?: number, backward?: boolean): Promise<SignalingMessage>;
95
94
  abstract promoteParticipant(participantId: CompositeUserId, demote?: boolean): Promise<SignalingMessage>;
95
+ abstract requestPromotion(demote: boolean): Promise<SignalingMessage>;
96
+ abstract acceptPromotion(reject: boolean): Promise<SignalingMessage>;
96
97
  abstract feedback(key: string): Promise<SignalingMessage>;
97
98
  abstract setProducerNotificationDataChannel(dataChannel: RTCDataChannel): void;
98
99
  abstract setProducerCommandDataChannel(dataChannel: RTCDataChannel): void;
@@ -101,7 +102,7 @@ export default abstract class BaseSignaling extends EventEmitter {
101
102
  abstract getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<SignalingMessage>;
102
103
  abstract getParticipants(externalIds: SignalingMessage.ExternalId[]): Promise<SignalingMessage>;
103
104
  abstract startAsr(params: IAsrStartParams): Promise<SignalingMessage>;
104
- abstract stopAsr(): Promise<SignalingMessage>;
105
+ abstract stopAsr(params?: IAsrStopParams): Promise<SignalingMessage>;
105
106
  abstract requestAsr(request: boolean): Promise<SignalingMessage>;
106
107
  get ready(): boolean;
107
108
  setParticipantIdRegistry(participantIdRegistry: ParticipantIdRegistry): void;
@@ -110,6 +111,6 @@ export default abstract class BaseSignaling extends EventEmitter {
110
111
  setConversationId(conversationId: string): void;
111
112
  readyToSend(isReady?: boolean): void;
112
113
  cleanup(): void;
113
- requestTestMode(consumerCommand: string, producerCommand: string): void;
114
+ requestTestMode(consumerCommand: string, producerCommand: string | null): void;
114
115
  getNextCommandSequenceNumber(): number;
115
116
  }