@vkontakte/calls-sdk 2.8.2-beta.13 → 2.8.2-beta.15

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
@@ -225,7 +225,7 @@ export declare function init(params: Partial<ParamsObject>): Promise<void>;
225
225
  * @param onlyAdminCanShareMovie Только администратор может включать совметсный просмотр
226
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 callInternal(ids: OkUserId[], type: CallType | undefined, mediaOptions: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, onlyAdminCanShareMovie?: boolean): Promise<ConversationData>;
229
229
  /**
230
230
  * Обработать пуш о входящем звонке
231
231
  *
@@ -444,8 +444,20 @@ export declare function customDataInternal(data: JSONObject, uid?: OkUserId | nu
444
444
  * @returns Токен комнаты
445
445
  */
446
446
  export declare function startConversation(payload?: string, requireAuthToJoin?: boolean, { onlyAdminCanShareMovie }?: {
447
- onlyAdminCanShareMovie?: boolean;
447
+ onlyAdminCanShareMovie?: boolean | undefined;
448
448
  }): Promise<string>;
449
+ /**
450
+ * Создать токен комнаты в режиме Audience для подключения по ссылке
451
+ *
452
+ * @param payload Дополнительные данные для передачи на сервер
453
+ * @param requireAuthToJoin Запретить анонимам подключаться по ссылке (если поддерживается сервером)
454
+ * @param startConversationParameters Дополнительные параметры для создания звонка (например onlyAdminCanShareMovie)
455
+ * @param speakerIds Список внешних ID пользователей, которые будут выступать в роли спикеров
456
+ * @returns Токен комнаты
457
+ */
458
+ export declare function startAudienceConversation(payload: string | undefined, requireAuthToJoin: boolean | undefined, { onlyAdminCanShareMovie, }: {
459
+ onlyAdminCanShareMovie?: boolean | undefined;
460
+ } | undefined, speakerIds: ExternalUserId[]): Promise<string>;
449
461
  /**
450
462
  * Создать токен комнаты для подключения по ссылке к существующему звонку
451
463
  *
@@ -483,12 +495,12 @@ export declare function forceRelayPolicy(enabled: boolean): void;
483
495
  * @param groupId
484
496
  * @param roomId
485
497
  */
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>;
498
+ 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
499
  /**
488
500
  * Завершить трансляцию звонка
489
501
  * @param roomId
490
502
  */
491
- export declare function stopStream(roomId?: number | null): Promise<never>;
503
+ export declare function stopStream(roomId?: number | null): Promise<undefined>;
492
504
  /**
493
505
  * Устанавливает роль участника в запись звонка
494
506
  * Если хотя бы у одного участника звонка выставлена роль, то в записи звонка будут
@@ -605,12 +617,26 @@ export declare function setVmojiSvg(svg: string | ArrayBuffer, externalId?: Exte
605
617
  */
606
618
  export declare function getWaitingHall(pageMarker?: string | null, count?: number, backward?: boolean): Promise<WaitingHallResponse>;
607
619
  /**
608
- * Разрешить/запретить пользователю войти из зала ожидания
620
+ * Разрешить/запретить пользователю войти из зала ожидания/стать спикером комнаты
621
+ * в режиме Audience
609
622
  *
610
623
  * @param externalId Внешний ID пользователя
611
- * @param demote Запретить вход
624
+ * @param demote Запретить вход/отобрать права спикера
612
625
  */
613
626
  export declare function promoteParticipant(externalId: ExternalId, demote?: boolean): Promise<void>;
627
+ /**
628
+ * Запросить/отозвать запрос на получение права стать спикером в комнате в
629
+ * режиме Audience
630
+ *
631
+ * @param demote Отозвать запрос
632
+ */
633
+ export declare function requestPromotion(demote?: boolean): Promise<void>;
634
+ /**
635
+ * Согласиться/отказаться стать спикером в комнате в режиме Audience.
636
+ *
637
+ * @param reject Отказаться стать спикером
638
+ */
639
+ export declare function acceptPromotion(reject?: boolean): Promise<void>;
614
640
  export declare function getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<ExternalParticipantListChunk>;
615
641
  export declare function getParticipants(parameters: IGetParticipantsParameters): Promise<ExternalParticipant[]>;
616
642
  export declare function feedback(key: string): Promise<SignalingMessage>;
@@ -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';
5
+ import { ExternalId, ExternalParticipantId, ExternalUserId } from '../types/ExternalId';
6
6
  import { CompositeUserId, OkUserId } 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[];
@@ -25,7 +25,8 @@ export default abstract class BaseApi {
25
25
  abstract userId(participantId: CompositeUserId): Promise<ExternalId>;
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,7 +45,7 @@ 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
+ abstract getExternalIdsByOkIds(uids: OkUserId[]): Promise<ExternalParticipantId[]>;
48
49
  getCachedOkIdByExternalId(externalId: ExternalId): CompositeUserId | null;
49
50
  cacheExternalId(participantId: CompositeUserId, externalId: ExternalId): void;
50
51
  hangupConversation(conversationId: string): void;
@@ -93,6 +93,8 @@ 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;
@@ -110,6 +112,6 @@ export default abstract class BaseSignaling extends EventEmitter {
110
112
  setConversationId(conversationId: string): void;
111
113
  readyToSend(isReady?: boolean): void;
112
114
  cleanup(): void;
113
- requestTestMode(consumerCommand: string, producerCommand: string): void;
115
+ requestTestMode(consumerCommand: string, producerCommand: string | null): void;
114
116
  getNextCommandSequenceNumber(): number;
115
117
  }