@vkontakte/calls-sdk 2.8.2-dev.968ce3b.0 → 2.8.2-dev.9920ff6.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.
package/CallsSDK.d.ts CHANGED
@@ -46,7 +46,7 @@ import ParticipantLayout, { Layout, RequestKeyFrame, StopStream } from './types/
46
46
  import { ParticipantListChunkParameters } from './types/ParticipantListChunk';
47
47
  import ParticipantPriority from './types/ParticipantPriority';
48
48
  import { MediaType, ParticipantStreamDescription } from './types/ParticipantStreamDescription';
49
- import { Room, RoomsUpdate, RoomParticipantUpdate, Rooms } from './types/Room';
49
+ import { Room, RoomsUpdate, RoomParticipantUpdate, Rooms, IRoomId } from './types/Room';
50
50
  import RoomsEventType from './enums/RoomsEventType';
51
51
  import { ScreenCaptureSettings } from './types/ScreenCaptureSettings';
52
52
  import SignalingMessage from './types/SignalingMessage';
@@ -379,8 +379,8 @@ export declare function updateDisplayLayout(layout: ParticipantLayout[]): Promis
379
379
  * @param roles Список ролей
380
380
  * @param revoke Забрать роли
381
381
  */
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>;
382
+ export declare function grantRoles(externalId: ExternalId, roles: UserRole[], revoke?: boolean): Promise<void>;
383
+ export declare function grantRolesInternal(uid: OkUserId, deviceIdx: number, roles: UserRole[], revoke?: boolean): Promise<void>;
384
384
  /**
385
385
  * Выключить или выключить микрофон и/или камеру собеседнику (только если есть соответствующая роль)
386
386
  *
@@ -396,8 +396,9 @@ export declare function muteParticipantInternal({ uid, muteStates, requestedMedi
396
396
  *
397
397
  * @param externalId Внешний ID пользователя
398
398
  * @param unpin Открепить
399
+ * @param roomId Идентификатор комнаты
399
400
  */
400
- export declare function pinParticipant(externalId: string | ExternalParticipantId, unpin?: boolean, roomId?: number | null): Promise<void>;
401
+ export declare function pinParticipant(externalId: ExternalId, unpin?: boolean, roomId?: number | null): Promise<void>;
401
402
  export declare function pinParticipantInternal(uid: OkUserId, unpin?: boolean, deviceIdx?: number, roomId?: number | null): Promise<void>;
402
403
  /**
403
404
  * Устанавливает настройки пользовательского медиа
@@ -433,7 +434,7 @@ export declare function chatHistory(count?: number): Promise<void>;
433
434
  * @param data Данные
434
435
  * @param externalId Внешний ID пользователя (если не указано, отправит всем)
435
436
  */
436
- export declare function customData(data: JSONObject, externalId?: string | ExternalParticipantId | null): Promise<void>;
437
+ export declare function customData(data: JSONObject, externalId?: ExternalId | null): Promise<void>;
437
438
  export declare function customDataInternal(data: JSONObject, uid?: OkUserId | null, deviceIdx?: number): Promise<void>;
438
439
  /**
439
440
  * Создать токен комнаты для подключения по ссылке
@@ -446,6 +447,18 @@ export declare function customDataInternal(data: JSONObject, uid?: OkUserId | nu
446
447
  export declare function startConversation(payload?: string, requireAuthToJoin?: boolean, { onlyAdminCanShareMovie }?: {
447
448
  onlyAdminCanShareMovie?: boolean | undefined;
448
449
  }): Promise<string>;
450
+ /**
451
+ * Создать токен комнаты в режиме Audience для подключения по ссылке
452
+ *
453
+ * @param payload Дополнительные данные для передачи на сервер
454
+ * @param requireAuthToJoin Запретить анонимам подключаться по ссылке (если поддерживается сервером)
455
+ * @param startConversationParameters Дополнительные параметры для создания звонка (например onlyAdminCanShareMovie)
456
+ * @param speakerIds Список внешних ID пользователей, которые будут выступать в роли спикеров
457
+ * @returns Токен комнаты
458
+ */
459
+ export declare function startAudienceConversation(payload: string | undefined, requireAuthToJoin: boolean | undefined, { onlyAdminCanShareMovie, }: {
460
+ onlyAdminCanShareMovie?: boolean | undefined;
461
+ } | undefined, speakerIds: ExternalUserId[]): Promise<string>;
449
462
  /**
450
463
  * Создать токен комнаты для подключения по ссылке к существующему звонку
451
464
  *
@@ -501,7 +514,7 @@ export declare function stopStream(roomId?: number | null): Promise<undefined>;
501
514
  * @param role Роль, если null, то роль удалится
502
515
  * @param roomId ID сессионного зала записи. Если null, то роль применится в основном звонке
503
516
  */
504
- export declare function recordSetRole(externalId: string | ExternalParticipantId, role: RecordRole | null, roomId?: number | null): Promise<void>;
517
+ export declare function recordSetRole(externalId: ExternalId, role: RecordRole | null, roomId?: number | null): Promise<void>;
505
518
  /**
506
519
  * Получить информацию о трансляции звонка
507
520
  */
@@ -545,9 +558,9 @@ export declare function activateRooms(roomIds: number[], deactivate: boolean): P
545
558
  /**
546
559
  * Cменить сессионный зал
547
560
  * @param toRoomId
548
- * @param participantId
561
+ * @param externalId
549
562
  */
550
- export declare function switchRoom(toRoomId?: number | null, participantId?: string | ExternalParticipantId | null): Promise<void>;
563
+ export declare function switchRoom(toRoomId?: number | null, externalId?: ExternalId | null): Promise<void>;
551
564
  /**
552
565
  * Удалить сессионные залы
553
566
  * @param roomIds
@@ -590,12 +603,12 @@ export declare function setAudioStream(stream: MediaStream): Promise<void>;
590
603
  *
591
604
  * @param {(string|ArrayBuffer)} svg - svg в незашифрованном (string)
592
605
  * или зашифрованном (ArrayBuffer) виде
593
- * @param {(ExternalParticipantId|null)} externalId - externalId внешнего участника звонка,
606
+ * @param {(ExternalId|null)} externalId - externalId внешнего участника звонка,
594
607
  * не требуется для текущего участника (текущего пользователя клиента)
595
608
  * @param {(string|null)} customKey - кастомный ключ расшифровки svg,
596
609
  * нужен только в случае присвоения участнику чужого аватара
597
610
  */
598
- export declare function setVmojiSvg(svg: string | ArrayBuffer, externalId?: ExternalParticipantId | null, customKey?: string | null): Promise<void>;
611
+ export declare function setVmojiSvg(svg: string | ArrayBuffer, externalId?: ExternalId | null, customKey?: string | null): Promise<void>;
599
612
  /**
600
613
  * Получить состояние зала ожидания
601
614
  *
@@ -605,12 +618,26 @@ export declare function setVmojiSvg(svg: string | ArrayBuffer, externalId?: Exte
605
618
  */
606
619
  export declare function getWaitingHall(pageMarker?: string | null, count?: number, backward?: boolean): Promise<WaitingHallResponse>;
607
620
  /**
608
- * Разрешить/запретить пользователю войти из зала ожидания
621
+ * Разрешить/запретить пользователю войти из зала ожидания/стать спикером комнаты
622
+ * в режиме Audience
609
623
  *
610
624
  * @param externalId Внешний ID пользователя
611
- * @param demote Запретить вход
625
+ * @param demote Запретить вход/отобрать права спикера
612
626
  */
613
627
  export declare function promoteParticipant(externalId: ExternalId, demote?: boolean): Promise<void>;
628
+ /**
629
+ * Запросить/отозвать запрос на получение права стать спикером в комнате в
630
+ * режиме Audience
631
+ *
632
+ * @param demote Отозвать запрос
633
+ */
634
+ export declare function requestPromotion(demote?: boolean): Promise<void>;
635
+ /**
636
+ * Согласиться/отказаться стать спикером в комнате в режиме Audience.
637
+ *
638
+ * @param reject Отказаться стать спикером
639
+ */
640
+ export declare function acceptPromotion(reject?: boolean): Promise<void>;
614
641
  export declare function getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<ExternalParticipantListChunk>;
615
642
  export declare function getParticipants(parameters: IGetParticipantsParameters): Promise<ExternalParticipant[]>;
616
643
  export declare function feedback(key: string): Promise<SignalingMessage>;
@@ -637,5 +664,5 @@ export declare function requestAsr(request: boolean): Promise<void>;
637
664
  * Версия SDK
638
665
  */
639
666
  export declare function version(): string;
640
- 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, Room, RoomsUpdate, RoomParticipantUpdate, IUpdateMovieData, IFeaturesPerRole, IMuteParticipantParams, IMuteParticipantInternalParams, IStartStreamData, IStopStreamData, };
667
+ 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, };
641
668
  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, };
@@ -2,8 +2,8 @@ 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: {
@@ -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>;
@@ -44,9 +45,9 @@ export default abstract class BaseApi {
44
45
  log(items: LogItem[]): void;
45
46
  prepareUserIds(ids: OkUserId[]): Promise<void>;
46
47
  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;
48
+ abstract getExternalIdsByOkIds(uids: OkUserId[]): Promise<ExternalParticipantId[]>;
49
+ getCachedOkIdByExternalId(externalId: ExternalParticipantId): CompositeUserId | null;
50
+ cacheExternalId(participantId: CompositeUserId, externalId: ExternalParticipantId): void;
50
51
  hangupConversation(conversationId: string): void;
51
52
  removeHistoryRecords(recordIds: number[]): Promise<void>;
52
53
  cleanup(): void;
@@ -83,7 +83,7 @@ export default abstract class BaseSignaling extends EventEmitter {
83
83
  abstract chatMessage(message: string, participantId: CompositeUserId | null): Promise<SignalingMessage>;
84
84
  abstract chatHistory(count: number): Promise<SignalingMessage>;
85
85
  abstract customData(data: JSONObject, participantId: ParticipantId | null): Promise<SignalingMessage>;
86
- abstract grantRoles(participantId: CompositeUserId, roles: UserRole[], revoke: boolean): Promise<SignalingMessage>;
86
+ abstract grantRoles(participantId: ParticipantId, roles: UserRole[], revoke: boolean): Promise<SignalingMessage>;
87
87
  abstract muteParticipant(participantId: ParticipantId | null, muteStates: MuteStates, requestedMedia: MediaOption[], roomId: number | null): Promise<SignalingMessage>;
88
88
  abstract enableFeatureForRoles(feature: ConversationFeature, roles: UserRole[]): Promise<SignalingMessage>;
89
89
  abstract pinParticipant(participantId: ParticipantId, unpin: boolean, roomId: number | null): Promise<SignalingMessage>;
@@ -93,11 +93,12 @@ export default abstract class BaseSignaling extends EventEmitter {
93
93
  }): Promise<SignalingMessage>;
94
94
  abstract getWaitingHall(fromId: WaitingParticipantId | null, count?: number, backward?: boolean): Promise<SignalingMessage>;
95
95
  abstract promoteParticipant(participantId: CompositeUserId, demote?: boolean): Promise<SignalingMessage>;
96
+ abstract requestPromotion(demote: boolean): Promise<SignalingMessage>;
97
+ abstract acceptPromotion(reject: boolean): Promise<SignalingMessage>;
96
98
  abstract feedback(key: string): Promise<SignalingMessage>;
97
99
  abstract setProducerNotificationDataChannel(dataChannel: RTCDataChannel): void;
98
100
  abstract setProducerCommandDataChannel(dataChannel: RTCDataChannel): void;
99
101
  abstract useCommandDataChannel(status: boolean): void;
100
- abstract setAsrDataChannel(dataChannel: RTCDataChannel): void;
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>;