@vkontakte/calls-sdk 2.8.11-dev.fdf6f999.0 → 2.8.12-beta.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 +12 -24
- package/abstract/BaseApi.d.ts +4 -5
- package/abstract/BaseSignaling.d.ts +3 -4
- package/calls-sdk.cjs.js +9 -11
- package/calls-sdk.esm.js +6147 -5794
- package/classes/CallRegistry.d.ts +26 -0
- package/classes/Conversation.d.ts +48 -31
- package/classes/MediaSource.d.ts +7 -0
- package/classes/SpecListener.d.ts +5 -0
- package/classes/StatsLogger.d.ts +17 -5
- package/classes/codec/WorkerBase.d.ts +2 -0
- package/classes/stat/CallLifecycleStats.d.ts +47 -0
- package/classes/stat/ConversationStats.d.ts +5 -4
- package/classes/stat/FirstMediaSentProbe.d.ts +13 -0
- package/classes/stat/StatPings.d.ts +1 -2
- package/classes/stat/StatSignalingCommands.d.ts +1 -2
- package/classes/transport/BaseTransport.d.ts +7 -1
- package/classes/transport/DirectTransport.d.ts +6 -11
- package/classes/transport/ServerTransport.d.ts +1 -15
- package/classes/transport/Transport.d.ts +9 -21
- package/default/Api.d.ts +9 -8
- package/default/Signaling.d.ts +2 -0
- package/default/SignalingTransport.d.ts +3 -1
- package/enums/HangupType.d.ts +1 -0
- package/enums/SignalingNotification.d.ts +3 -1
- package/enums/Stat.d.ts +6 -1
- package/package.json +1 -1
- package/static/Capabilities.d.ts +5 -0
- package/static/External.d.ts +143 -76
- package/static/Params.d.ts +103 -100
- package/static/ParticipantConnectionStatusUtils.d.ts +16 -0
- package/types/Capabilities.d.ts +24 -0
- package/types/Conversation.d.ts +12 -2
- package/types/ExternalId.d.ts +1 -1
- package/types/Participant.d.ts +12 -1
- package/types/PushData.d.ts +3 -0
- package/types/SignalingMessage.d.ts +14 -1
- package/types/Statistics.d.ts +0 -4
- package/types/WebTransport.d.ts +3 -1
- package/static/DebugVideoStats.d.ts +0 -37
- package/types/VideoStreamDebug.d.ts +0 -5
package/static/Params.d.ts
CHANGED
|
@@ -23,7 +23,6 @@ import { ParticipantsStateList, ParticipantStateMapped } from '../types/Particip
|
|
|
23
23
|
import { MediaType } from '../types/ParticipantStreamDescription';
|
|
24
24
|
import { IRoomId, Room, RoomParticipantUpdate, Rooms, RoomsUpdate } from '../types/Room';
|
|
25
25
|
import { IAPIBaseUrl, IApiEnv } from '../types/Params';
|
|
26
|
-
import type { VideoStreamDebugInfo } from '../types/VideoStreamDebug';
|
|
27
26
|
import { VmojiError } from '../types/Vmoji';
|
|
28
27
|
import { DebugMessageType } from './Debug';
|
|
29
28
|
import { ParticipantStatus } from './External';
|
|
@@ -101,17 +100,15 @@ export type ParamsObject = {
|
|
|
101
100
|
waitMessageDelay: number;
|
|
102
101
|
/** @hidden */
|
|
103
102
|
waitAnotherTabDelay: number;
|
|
103
|
+
/**
|
|
104
|
+
* Время ожидания регистрации вызываемого абонента после запуска исходящего звонка, ms.
|
|
105
|
+
* Если параметр не задан или равен 0, ожидание не ограничивается.
|
|
106
|
+
*/
|
|
107
|
+
calleeUnavailableWaitingTime?: number;
|
|
104
108
|
/** @hidden */
|
|
105
109
|
debugLog: boolean;
|
|
106
110
|
/** @hidden */
|
|
107
111
|
debug: boolean;
|
|
108
|
-
/**
|
|
109
|
-
* Вкчлючает отправку на клиент статы по входящим/исходящим видео-потокам
|
|
110
|
-
* @hidden
|
|
111
|
-
*
|
|
112
|
-
* _По умолчанию: `false`_
|
|
113
|
-
*/
|
|
114
|
-
debugVideoStreams: boolean;
|
|
115
112
|
/**
|
|
116
113
|
* Выставляет таймаут в ms для fetch запросов от sdk
|
|
117
114
|
* По умолчанию 5000 ms
|
|
@@ -264,13 +261,6 @@ export type ParamsObject = {
|
|
|
264
261
|
perfStatReportEnabled: boolean;
|
|
265
262
|
/** @hidden */
|
|
266
263
|
callStatReportEnabled: boolean;
|
|
267
|
-
/**
|
|
268
|
-
* Включает логирование событий продуктовой статистики.
|
|
269
|
-
*
|
|
270
|
-
* _По умолчанию: `false`_
|
|
271
|
-
* @hidden
|
|
272
|
-
*/
|
|
273
|
-
clientEventsLoggingEnabled: boolean;
|
|
274
264
|
/**
|
|
275
265
|
* Отдавать приоритет кодеку H264 для исходящего видео
|
|
276
266
|
*
|
|
@@ -357,7 +347,14 @@ export type ParamsObject = {
|
|
|
357
347
|
* Включает поддержку режима WAIT_FOR_ADMIN в звонках.
|
|
358
348
|
*/
|
|
359
349
|
waitForAdminInGroupCalls: boolean;
|
|
350
|
+
/**
|
|
351
|
+
* Включает поддержку удержания звонка
|
|
352
|
+
*/
|
|
360
353
|
hold: boolean;
|
|
354
|
+
/**
|
|
355
|
+
* Максимальное количество параллельных звонков
|
|
356
|
+
*/
|
|
357
|
+
maxParallelCalls: number;
|
|
361
358
|
/**
|
|
362
359
|
* Индекс участника для первого chunk'а который придет при установке соединения с сервером
|
|
363
360
|
*
|
|
@@ -489,119 +486,126 @@ export type ParamsObject = {
|
|
|
489
486
|
*/
|
|
490
487
|
webtransport: boolean;
|
|
491
488
|
/**
|
|
492
|
-
*
|
|
493
|
-
*
|
|
489
|
+
* Ждать подтверждения от бэкенда для команд startStream/stopStream.
|
|
490
|
+
* При включении: reject без соединения, resolve/reject по ответу бэкенда,
|
|
491
|
+
* а при реконнекте — по стейту записи из Connection-сообщения.
|
|
494
492
|
*
|
|
495
493
|
* _По умолчанию: `false`_
|
|
496
494
|
*/
|
|
497
|
-
|
|
495
|
+
waitForRecordResponse: boolean;
|
|
498
496
|
/**
|
|
499
497
|
* Включить поддержку прозрачного аудио
|
|
500
498
|
*
|
|
501
499
|
* _По умолчанию: `false`_
|
|
502
500
|
*/
|
|
503
501
|
transparentAudio: boolean;
|
|
502
|
+
/**
|
|
503
|
+
* Включить получение обновлений состояния медийной сессии участников
|
|
504
|
+
*
|
|
505
|
+
* _По умолчанию: `false`_
|
|
506
|
+
*/
|
|
507
|
+
enableSessionStateUpdates: boolean;
|
|
504
508
|
/**
|
|
505
509
|
* Получен локальный стрим с камеры/микрофона
|
|
506
510
|
*/
|
|
507
|
-
onLocalStream?: (stream: MediaStream | null, mediaSettings: MediaSettings) => void;
|
|
511
|
+
onLocalStream?: (stream: MediaStream | null, mediaSettings: MediaSettings, conversationId?: string) => void;
|
|
508
512
|
/**
|
|
509
513
|
* Локальный стрим изменился
|
|
510
514
|
*/
|
|
511
|
-
onLocalStreamUpdate?: (mediaSettings: MediaSettings, kind: MediaTrackKind) => void;
|
|
515
|
+
onLocalStreamUpdate?: (mediaSettings: MediaSettings, kind: MediaTrackKind, conversationId?: string) => void;
|
|
512
516
|
/**
|
|
513
517
|
* Локальный стрим с экрана добавлен/удалён
|
|
514
518
|
*/
|
|
515
|
-
onScreenStream?: (stream: MediaStream | null, mediaSettings: MediaSettings) => void;
|
|
519
|
+
onScreenStream?: (stream: MediaStream | null, mediaSettings: MediaSettings, conversationId?: string) => void;
|
|
516
520
|
/**
|
|
517
521
|
* Локальный стрим вимоджи добавлен/удалён
|
|
518
522
|
*/
|
|
519
|
-
onVmojiStream?: (stream: MediaStream | null, mediaSettings: MediaSettings) => void;
|
|
523
|
+
onVmojiStream?: (stream: MediaStream | null, mediaSettings: MediaSettings, conversationId?: string) => void;
|
|
520
524
|
/**
|
|
521
525
|
* Произошла ошибка вимоджи
|
|
522
526
|
*/
|
|
523
|
-
onVmojiError?: (error: VmojiError) => void;
|
|
527
|
+
onVmojiError?: (error: VmojiError, conversationId?: string) => void;
|
|
524
528
|
/**
|
|
525
529
|
* Изменился статус локального соединения
|
|
526
530
|
*/
|
|
527
|
-
onLocalStatus?: (status: ParticipantStatus) => void;
|
|
531
|
+
onLocalStatus?: (status: ParticipantStatus, conversationId?: string) => void;
|
|
528
532
|
/**
|
|
529
533
|
* Получен стрим собеседника.
|
|
530
534
|
* Если сервер закончил стримить собеседника, вместо стрима будет передан null
|
|
531
535
|
*/
|
|
532
|
-
onRemoteStream?: (userId: ExternalParticipantId, stream: MediaStream | null) => void;
|
|
536
|
+
onRemoteStream?: (userId: ExternalParticipantId, stream: MediaStream | null, conversationId?: string) => void;
|
|
533
537
|
/**
|
|
534
538
|
* Cтрим собеседника приостановлен/возобновлен.
|
|
535
539
|
*/
|
|
536
|
-
onRemoteStreamSuspended?: (userId: ExternalParticipantId, mediaType: MediaType, suspended: boolean) => void;
|
|
540
|
+
onRemoteStreamSuspended?: (userId: ExternalParticipantId, mediaType: MediaType, suspended: boolean, conversationId?: string) => void;
|
|
537
541
|
/**
|
|
538
542
|
* Получен стрим с экрана собеседника.
|
|
539
543
|
* Если сервер закончил стримить экран собеседника, вместо стрима будет передан null
|
|
540
544
|
*/
|
|
541
|
-
onRemoteScreenStream?: (userId: ExternalParticipantId, stream: MediaStream | null) => void;
|
|
545
|
+
onRemoteScreenStream?: (userId: ExternalParticipantId, stream: MediaStream | null, conversationId?: string) => void;
|
|
542
546
|
/**
|
|
543
547
|
* Получен стрим вимоджи собеседника.
|
|
544
548
|
* Если сервер закончил стримить вимоджи собеседника, вместо стрима будет передан null
|
|
545
549
|
*/
|
|
546
|
-
onRemoteVmojiStream?: (userId: ExternalParticipantId, stream: MediaStream | null) => void;
|
|
550
|
+
onRemoteVmojiStream?: (userId: ExternalParticipantId, stream: MediaStream | null, conversationId?: string) => void;
|
|
547
551
|
/**
|
|
548
552
|
* Получен стрим трансляция или мувик от собеседника.
|
|
549
553
|
* Если сервер закончил стримить экран собеседника, вместо стрима будет передан null
|
|
550
554
|
*/
|
|
551
|
-
onRemoteLive?: (userId: ExternalParticipantId, data: IOnRemoteMovieData) => void;
|
|
555
|
+
onRemoteLive?: (userId: ExternalParticipantId, data: IOnRemoteMovieData, conversationId?: string) => void;
|
|
552
556
|
/**
|
|
553
557
|
* Получен собственный стрим трансляция или мувик.
|
|
554
558
|
* Если сервер закончил стримить экран собеседника, вместо стрима будет передан null
|
|
555
559
|
*/
|
|
556
|
-
onLocalLive?: (userId: ExternalParticipantId, data: IOnRemoteMovieData) => void;
|
|
560
|
+
onLocalLive?: (userId: ExternalParticipantId, data: IOnRemoteMovieData, conversationId?: string) => void;
|
|
557
561
|
/**
|
|
558
562
|
* Получено обновление стрима или лайва от собеседника.
|
|
559
563
|
*/
|
|
560
|
-
onRemoteLiveUpdate?: (userId: ExternalParticipantId, data: ISharedMovieState) => void;
|
|
564
|
+
onRemoteLiveUpdate?: (userId: ExternalParticipantId, data: ISharedMovieState, conversationId?: string) => void;
|
|
561
565
|
/**
|
|
562
566
|
* Получено обновление собственного стрима или лайва.
|
|
563
567
|
*/
|
|
564
|
-
onLocalLiveUpdate?: (userId: ExternalParticipantId, data: ISharedMovieState) => void;
|
|
568
|
+
onLocalLiveUpdate?: (userId: ExternalParticipantId, data: ISharedMovieState, conversationId?: string) => void;
|
|
565
569
|
/**
|
|
566
570
|
* Начат звонок
|
|
567
571
|
*/
|
|
568
|
-
onConversation?: (userId: ExternalParticipantId, mediaModifiers: MediaModifiers, muteStates: MuteStates, participants: ExternalParticipant[], rooms?: Rooms) => void;
|
|
572
|
+
onConversation?: (userId: ExternalParticipantId, mediaModifiers: MediaModifiers, muteStates: MuteStates, participants: ExternalParticipant[], rooms?: Rooms, conversationId?: string) => void;
|
|
569
573
|
/**
|
|
570
574
|
* Начальный список участников для постраничного звонка
|
|
571
575
|
*/
|
|
572
|
-
onConversationParticipantListChunk?: (chunk: ExternalParticipantListChunk) => void;
|
|
576
|
+
onConversationParticipantListChunk?: (chunk: ExternalParticipantListChunk, conversationId?: string) => void;
|
|
573
577
|
/**
|
|
574
578
|
* Изменились данные стрима собеседника
|
|
575
579
|
*/
|
|
576
|
-
onRemoteMediaSettings?: (userId: ExternalParticipantId, mediaSettings: MediaSettings, markers: ExternalParticipantListMarkers | null) => void;
|
|
580
|
+
onRemoteMediaSettings?: (userId: ExternalParticipantId, mediaSettings: MediaSettings, markers: ExternalParticipantListMarkers | null, conversationId?: string) => void;
|
|
577
581
|
/**
|
|
578
582
|
* Изменились данные стрима собеседника
|
|
579
583
|
*/
|
|
580
|
-
onLocalMediaSettings?: (userId: ExternalParticipantId, mediaSettings: MediaSettings) => void;
|
|
584
|
+
onLocalMediaSettings?: (userId: ExternalParticipantId, mediaSettings: MediaSettings, conversationId?: string) => void;
|
|
581
585
|
/**
|
|
582
586
|
* Полученны данные по стримам (лайв/мувик) от собеседника
|
|
583
587
|
*/
|
|
584
|
-
onRemoteSharedMovieInfo?: (userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId) => void;
|
|
588
|
+
onRemoteSharedMovieInfo?: (userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId, conversationId?: string) => void;
|
|
585
589
|
/**
|
|
586
590
|
* Полученны данные по остановленным стримам (лайв/мувик) от собеседника
|
|
587
591
|
*/
|
|
588
|
-
onRemoteSharedMovieStoppedInfo?: (userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId) => void;
|
|
592
|
+
onRemoteSharedMovieStoppedInfo?: (userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId, conversationId?: string) => void;
|
|
589
593
|
/**
|
|
590
594
|
* Полученны данные по собственным стримам (лайв/мувик)
|
|
591
595
|
*/
|
|
592
|
-
onLocalSharedMovieInfo?: (userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId) => void;
|
|
596
|
+
onLocalSharedMovieInfo?: (userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId, conversationId?: string) => void;
|
|
593
597
|
/**
|
|
594
598
|
* Полученны данные по собственным остановленным стримам (лайв/мувик)
|
|
595
599
|
*/
|
|
596
|
-
onLocalSharedMovieStoppedInfo?: (userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId) => void;
|
|
600
|
+
onLocalSharedMovieStoppedInfo?: (userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId, conversationId?: string) => void;
|
|
597
601
|
/**
|
|
598
602
|
* Добавили участника
|
|
599
603
|
*/
|
|
600
|
-
onParticipantAdded?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers | null) => void;
|
|
604
|
+
onParticipantAdded?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers | null, conversationId?: string) => void;
|
|
601
605
|
/**
|
|
602
606
|
* Участник присоединился к звонку
|
|
603
607
|
*/
|
|
604
|
-
onParticipantJoined?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers) => void;
|
|
608
|
+
onParticipantJoined?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers, conversationId?: string) => void;
|
|
605
609
|
/**
|
|
606
610
|
* Получены данные по изменению локальных состояний со стороны админа
|
|
607
611
|
* Например, принудительно опущена рука
|
|
@@ -609,19 +613,19 @@ export type ParamsObject = {
|
|
|
609
613
|
* @param participantState Полный объект состояния участника, полученный от SDK/сервера.
|
|
610
614
|
* @param global `true` – действие глобальное (для всех участников), `false` – действие локальное (только у текущего пользователя).
|
|
611
615
|
*/
|
|
612
|
-
onLocalParticipantState?: (participantState: ParticipantStateMapped, global: boolean) => void;
|
|
616
|
+
onLocalParticipantState?: (participantState: ParticipantStateMapped, global: boolean, conversationId?: string) => void;
|
|
613
617
|
/**
|
|
614
618
|
* Изменились данные состояний собеседника
|
|
615
619
|
*/
|
|
616
|
-
onRemoteParticipantState?: (userId: ExternalParticipantId, participantState: ParticipantStateMapped, markers: ExternalParticipantListMarkers | null) => void;
|
|
620
|
+
onRemoteParticipantState?: (userId: ExternalParticipantId, participantState: ParticipantStateMapped, markers: ExternalParticipantListMarkers | null, conversationId?: string) => void;
|
|
617
621
|
/**
|
|
618
622
|
* Изменились данные состояний нескольких собеседников
|
|
619
623
|
*/
|
|
620
|
-
onRemoteParticipantsState?: (stateList: ParticipantsStateList, roomId?: IRoomId) => void;
|
|
624
|
+
onRemoteParticipantsState?: (stateList: ParticipantsStateList, roomId?: IRoomId, conversationId?: string) => void;
|
|
621
625
|
/**
|
|
622
626
|
* Изменился статус соединения собеседников
|
|
623
627
|
*/
|
|
624
|
-
onRemoteStatus?: (userIds: ExternalParticipantId[], status: ParticipantStatus, data: any) => void;
|
|
628
|
+
onRemoteStatus?: (userIds: ExternalParticipantId[], status: ParticipantStatus, data: any, conversationId?: string) => void;
|
|
625
629
|
/**
|
|
626
630
|
* Разрешения на доступы были запрошены в браузере
|
|
627
631
|
*/
|
|
@@ -633,56 +637,56 @@ export type ParamsObject = {
|
|
|
633
637
|
/**
|
|
634
638
|
* Пользователь отключился от звонка
|
|
635
639
|
*/
|
|
636
|
-
onRemoteRemoved?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers | null) => void;
|
|
640
|
+
onRemoteRemoved?: (userId: ExternalParticipantId, markers: ExternalParticipantListMarkers | null, conversationId?: string) => void;
|
|
637
641
|
/**
|
|
638
642
|
* Изменилось состояние звонка
|
|
639
643
|
*/
|
|
640
|
-
onCallState?: (isCallActive: boolean, canAddParticipants: boolean, conversation: ConversationData) => void;
|
|
644
|
+
onCallState?: (isCallActive: boolean, canAddParticipants: boolean, conversation: ConversationData, conversationId?: string) => void;
|
|
641
645
|
/**
|
|
642
646
|
* Изменилось состояние камеры или микрофона
|
|
643
647
|
*/
|
|
644
|
-
onDeviceSwitched?: (mediaOption: MediaOption, enabled: boolean) => void;
|
|
648
|
+
onDeviceSwitched?: (mediaOption: MediaOption, enabled: boolean, conversationId?: string) => void;
|
|
645
649
|
/**
|
|
646
650
|
* Изменились состояния устройств пользователя или разрешения включать камеру/микрофон
|
|
647
651
|
*/
|
|
648
|
-
onMuteStates?: (muteStates: MuteStates, unmuteOptions: MediaOption[], mediaOptions: MediaOption[], muteAll: boolean, unmute: boolean, userId: ExternalParticipantId | null, adminId: ExternalParticipantId | null, stateUpdated?: boolean, requestedMedia?: MediaOption[], roomId?: number | null) => void;
|
|
652
|
+
onMuteStates?: (muteStates: MuteStates, unmuteOptions: MediaOption[], mediaOptions: MediaOption[], muteAll: boolean, unmute: boolean, userId: ExternalParticipantId | null, adminId: ExternalParticipantId | null, stateUpdated?: boolean, requestedMedia?: MediaOption[], roomId?: number | null, conversationId?: string) => void;
|
|
649
653
|
/**
|
|
650
654
|
* Изменились роли собеседника в звонке
|
|
651
655
|
*/
|
|
652
|
-
onRolesChanged?: (userId: ExternalParticipantId, roles: UserRole[], isInitial?: boolean) => void;
|
|
656
|
+
onRolesChanged?: (userId: ExternalParticipantId, roles: UserRole[], isInitial?: boolean, conversationId?: string) => void;
|
|
653
657
|
/**
|
|
654
658
|
* Изменились свои роли в звонке
|
|
655
659
|
*/
|
|
656
|
-
onLocalRolesChanged?: (roles: UserRole[], isInitial?: boolean) => void;
|
|
660
|
+
onLocalRolesChanged?: (roles: UserRole[], isInitial?: boolean, conversationId?: string) => void;
|
|
657
661
|
/**
|
|
658
662
|
* Закрепляет/открепляет собеседника для всех
|
|
659
663
|
*/
|
|
660
|
-
onPinnedParticipant?: (userId: ExternalParticipantId, unpin: boolean, markers: ExternalParticipantListMarkers | null, roomId?: number | null) => void;
|
|
664
|
+
onPinnedParticipant?: (userId: ExternalParticipantId, unpin: boolean, markers: ExternalParticipantListMarkers | null, roomId?: number | null, conversationId?: string) => void;
|
|
661
665
|
/**
|
|
662
666
|
* Закрепляет/открепляет текущего пользователя у других собеседников
|
|
663
667
|
*/
|
|
664
|
-
onLocalPin?: (unpin: boolean) => void;
|
|
668
|
+
onLocalPin?: (unpin: boolean, conversationId?: string) => void;
|
|
665
669
|
/**
|
|
666
670
|
* Изменились опции звонка
|
|
667
671
|
*/
|
|
668
|
-
onOptionsChanged?: (options: ConversationOption[]) => void;
|
|
669
|
-
onRateNeeded?:
|
|
672
|
+
onOptionsChanged?: (options: ConversationOption[], conversationId?: string) => void;
|
|
673
|
+
onRateNeeded?: (conversationId?: string) => void;
|
|
670
674
|
/**
|
|
671
675
|
* Изменился говорящий в звонке
|
|
672
676
|
*/
|
|
673
|
-
onSpeakerChanged?: (userId: ExternalParticipantId) => void;
|
|
677
|
+
onSpeakerChanged?: (userId: ExternalParticipantId, conversationId?: string) => void;
|
|
674
678
|
/**
|
|
675
679
|
* Громкость собеседников
|
|
676
680
|
*/
|
|
677
681
|
onVolumesDetected?: (volumes: {
|
|
678
682
|
uid: ExternalParticipantId;
|
|
679
683
|
volume: number;
|
|
680
|
-
}[]) => void;
|
|
684
|
+
}[], conversationId?: string) => void;
|
|
681
685
|
/**
|
|
682
686
|
* Громкость своего микрофона
|
|
683
687
|
*/
|
|
684
688
|
onLocalVolume?: (volume: number, isMicEnabled: boolean) => void;
|
|
685
|
-
onJoinStatus?:
|
|
689
|
+
onJoinStatus?: (available: boolean, chatId: string, conversationId?: string) => void;
|
|
686
690
|
/**
|
|
687
691
|
* Звонок был завершен
|
|
688
692
|
*/
|
|
@@ -690,12 +694,12 @@ export type ParamsObject = {
|
|
|
690
694
|
/**
|
|
691
695
|
* Входящий звонок был принят мной
|
|
692
696
|
*/
|
|
693
|
-
onCallAccepted?: () => void;
|
|
697
|
+
onCallAccepted?: (conversationId?: string) => void;
|
|
694
698
|
/**
|
|
695
699
|
* Исходящий звонок был принят кем-то
|
|
696
700
|
* @param userId
|
|
697
701
|
*/
|
|
698
|
-
onAcceptedCall?: (userId: ExternalParticipantId, capabilities: ParticipantCapabilities) => void;
|
|
702
|
+
onAcceptedCall?: (userId: ExternalParticipantId, capabilities: ParticipantCapabilities, conversationId?: string) => void;
|
|
699
703
|
/**
|
|
700
704
|
* Список устройств изменился
|
|
701
705
|
*/
|
|
@@ -712,25 +716,25 @@ export type ParamsObject = {
|
|
|
712
716
|
/**
|
|
713
717
|
* Получено сообщение чата
|
|
714
718
|
*/
|
|
715
|
-
onChatMessage?: (message: string, from: ExternalParticipantId, direct: boolean) => void;
|
|
719
|
+
onChatMessage?: (message: string, from: ExternalParticipantId, direct: boolean, conversationId?: string) => void;
|
|
716
720
|
/**
|
|
717
721
|
* Получены данные от собеседника
|
|
718
722
|
*/
|
|
719
|
-
onCustomData?: (data: JSONObject, from: ExternalParticipantId, direct: boolean) => void;
|
|
723
|
+
onCustomData?: (data: JSONObject, from: ExternalParticipantId, direct: boolean, conversationId?: string) => void;
|
|
720
724
|
/**
|
|
721
725
|
* Начата трансляция/запись звонка
|
|
722
726
|
*/
|
|
723
|
-
onRecordStarted?: (initiator: ExternalParticipantId, movieId: number, startTime: number, type: 'STREAM' | 'RECORD', externalMovieId?: string, externalOwnerId?: string, roomId?: number | null) => void;
|
|
727
|
+
onRecordStarted?: (initiator: ExternalParticipantId, movieId: number, startTime: number, type: 'STREAM' | 'RECORD', externalMovieId?: string, externalOwnerId?: string, roomId?: number | null, conversationId?: string) => void;
|
|
724
728
|
/**
|
|
725
729
|
* Закончена трансляция/запись звонка
|
|
726
730
|
*/
|
|
727
|
-
onRecordStopped?: (roomId: number | null, stopBy: ExternalParticipantId | null) => void;
|
|
731
|
+
onRecordStopped?: (roomId: number | null, stopBy: ExternalParticipantId | null, conversationId?: string) => void;
|
|
728
732
|
/**
|
|
729
733
|
* Состояние своей сети
|
|
730
734
|
*
|
|
731
735
|
* @param rating Оценка качества соединения от 0 до 1
|
|
732
736
|
*/
|
|
733
|
-
onLocalNetworkStatusChanged?: (rating: number) => void;
|
|
737
|
+
onLocalNetworkStatusChanged?: (rating: number, conversationId?: string) => void;
|
|
734
738
|
/**
|
|
735
739
|
* Состояние сети участников
|
|
736
740
|
*
|
|
@@ -739,7 +743,7 @@ export type ParamsObject = {
|
|
|
739
743
|
onNetworkStatusChanged?: (status: {
|
|
740
744
|
uid: ExternalParticipantId;
|
|
741
745
|
rating: number;
|
|
742
|
-
}[]) => void;
|
|
746
|
+
}[], conversationId?: string) => void;
|
|
743
747
|
/**
|
|
744
748
|
* Получено отладочное сообщение. Работает только при выключенном режиме отладки
|
|
745
749
|
*/
|
|
@@ -767,74 +771,74 @@ export type ParamsObject = {
|
|
|
767
771
|
* @param addedParticipantIds Некоторое количество участников, добавленных в зал
|
|
768
772
|
* @param removedParticipantIds Некоторое количество участников, убранных из зала
|
|
769
773
|
*/
|
|
770
|
-
onChatRoomUpdated?: (eventType: ChatRoomEventType, totalCount: number, firstParticipants: ExternalId[], addedParticipantIds: ExternalId[], removedParticipantIds: ExternalId[]) => void;
|
|
774
|
+
onChatRoomUpdated?: (eventType: ChatRoomEventType, totalCount: number, firstParticipants: ExternalId[], addedParticipantIds: ExternalId[], removedParticipantIds: ExternalId[], conversationId?: string) => void;
|
|
771
775
|
/**
|
|
772
776
|
* Получен микшированный аудио стрим.
|
|
773
777
|
* @hidden
|
|
774
778
|
* @param stream стрим от WebRTC
|
|
775
779
|
*/
|
|
776
|
-
onRemoteMixedAudioStream?: (stream: MediaStream) => void;
|
|
780
|
+
onRemoteMixedAudioStream?: (stream: MediaStream, conversationId?: string) => void;
|
|
777
781
|
/**
|
|
778
782
|
* Получена новая ссылка на звонок
|
|
779
783
|
* @param joinLink токен присоединения к звонку
|
|
780
784
|
*/
|
|
781
|
-
onJoinLinkChanged?: (joinLink: string) => void;
|
|
785
|
+
onJoinLinkChanged?: (joinLink: string, conversationId?: string) => void;
|
|
782
786
|
/**
|
|
783
787
|
* Получено обновление списка сессионных залов
|
|
784
788
|
* @param updates список обновлений по залам
|
|
785
789
|
*/
|
|
786
|
-
onRoomsUpdated?: (updates: Partial<Record<RoomsEventType, RoomsUpdate
|
|
790
|
+
onRoomsUpdated?: (updates: Partial<Record<RoomsEventType, RoomsUpdate>>, conversationId?: string) => void;
|
|
787
791
|
/**
|
|
788
792
|
* Получено обновление сессионных зало
|
|
789
793
|
* @param eventTypes список событий
|
|
790
794
|
* @param roomId номер сессионного зала
|
|
791
795
|
* @param room сессионный зал
|
|
792
796
|
*/
|
|
793
|
-
onRoomUpdated?: (eventTypes: RoomsEventType[], roomId: number, room: Room | null, deactivate: boolean | null) => void;
|
|
797
|
+
onRoomUpdated?: (eventTypes: RoomsEventType[], roomId: number, room: Room | null, deactivate: boolean | null, conversationId?: string) => void;
|
|
794
798
|
/**
|
|
795
799
|
* Получение обновление списка участников в сессионном зале
|
|
796
800
|
* @param update обновление списка участников
|
|
797
801
|
*/
|
|
798
|
-
onRoomParticipantsUpdated?: (update: RoomParticipantUpdate) => void;
|
|
802
|
+
onRoomParticipantsUpdated?: (update: RoomParticipantUpdate, conversationId?: string) => void;
|
|
799
803
|
/**
|
|
800
804
|
* Получение информации о смене зала
|
|
801
805
|
* @param roomId номер сессионного зала
|
|
802
806
|
*/
|
|
803
|
-
onRoomSwitched?: (roomId: number | null) => void;
|
|
807
|
+
onRoomSwitched?: (roomId: number | null, conversationId?: string) => void;
|
|
804
808
|
/**
|
|
805
809
|
* Установить id сессионного зала на старте звонка
|
|
806
810
|
* @param roomId номер сессионного зала
|
|
807
811
|
*/
|
|
808
|
-
onRoomStart?: (roomId: number | null) => void;
|
|
812
|
+
onRoomStart?: (roomId: number | null, conversationId?: string) => void;
|
|
809
813
|
/**
|
|
810
814
|
* Получены новые реакции в звонке
|
|
811
815
|
* @param feedback массив с реакциями
|
|
812
816
|
*/
|
|
813
|
-
onFeedback?: (feedback: IFeedbackExternal[], roomId: number | null) => void;
|
|
817
|
+
onFeedback?: (feedback: IFeedbackExternal[], roomId: number | null, conversationId?: string) => void;
|
|
814
818
|
/**
|
|
815
819
|
* Изменился список ролей, которым доступны ConversationFeatures
|
|
816
820
|
*
|
|
817
821
|
* @param featuresPerRole Объект вида ключ: ConversationFeature = значение: UserRole[]
|
|
818
822
|
* (если ключ фичи отсутствует, или в ролях пустой массив, считаем фичу доступной для всех пользователей)
|
|
819
823
|
*/
|
|
820
|
-
onFeaturesPerRoleChanged?: (featuresPerRole: IFeaturesPerRole) => void;
|
|
824
|
+
onFeaturesPerRoleChanged?: (featuresPerRole: IFeaturesPerRole, conversationId?: string) => void;
|
|
821
825
|
/**
|
|
822
826
|
* Изменился Vmoji-аватар пользователя
|
|
823
827
|
* @param externalId Id пользователя, у которого изменился аватар
|
|
824
828
|
*/
|
|
825
|
-
onParticipantVmojiUpdate?: (externalId: ExternalParticipantId) => void;
|
|
829
|
+
onParticipantVmojiUpdate?: (externalId: ExternalParticipantId, conversationId?: string) => void;
|
|
826
830
|
/**
|
|
827
831
|
* Начата текстовая расшифровка звонка
|
|
828
832
|
* @param initiatorId Id пользователя, запустившего расшифровку звонка
|
|
829
833
|
* @param movieId Id расшифровки
|
|
830
834
|
* @param roomId Id комнаты
|
|
831
835
|
*/
|
|
832
|
-
onAsrStarted?: (initiatorId: ExternalParticipantId, movieId: number, roomId: number | null) => void;
|
|
836
|
+
onAsrStarted?: (initiatorId: ExternalParticipantId, movieId: number, roomId: number | null, conversationId?: string) => void;
|
|
833
837
|
/**
|
|
834
838
|
* Закончена текстовая расшифровка звонка
|
|
835
839
|
* @param roomId Id комнаты
|
|
836
840
|
*/
|
|
837
|
-
onAsrStopped?: (roomId: number | null) => void;
|
|
841
|
+
onAsrStopped?: (roomId: number | null, conversationId?: string) => void;
|
|
838
842
|
/**
|
|
839
843
|
* Получена расшифровка речи
|
|
840
844
|
* @param id Id пользователя, произнесшего реплику
|
|
@@ -842,56 +846,53 @@ export type ParamsObject = {
|
|
|
842
846
|
* @param timestamp Время расшифровки
|
|
843
847
|
* @param duration Длительность реплики в расшифровке
|
|
844
848
|
*/
|
|
845
|
-
onAsrTranscription?: (id: ExternalParticipantId, text: string, timestamp: number, duration: number) => void;
|
|
849
|
+
onAsrTranscription?: (id: ExternalParticipantId, text: string, timestamp: number, duration: number, conversationId?: string) => void;
|
|
846
850
|
/**
|
|
847
851
|
* Установка начальных параметров текстовой расшифровки звонка. (Используется при входе в звонок/ смене комнаты)
|
|
848
852
|
* @param data Начальная информация по ASR
|
|
849
853
|
* @param roomId Id Комнаты
|
|
850
854
|
*/
|
|
851
|
-
onAsrSet?: (data: IAsrData | null, roomId: number | null) => void;
|
|
855
|
+
onAsrSet?: (data: IAsrData | null, roomId: number | null, conversationId?: string) => void;
|
|
852
856
|
/**
|
|
853
857
|
* Админ начал/остановил совместное использование стороннего web-приложения
|
|
854
858
|
* @param userId id участника-админа
|
|
855
859
|
* @param sharedUrl url страницы
|
|
856
860
|
*/
|
|
857
|
-
onRemoteSharedUrl?: (userId: ExternalParticipantId, sharedUrl: string | undefined, roomId: IRoomId) => void;
|
|
861
|
+
onRemoteSharedUrl?: (userId: ExternalParticipantId, sharedUrl: string | undefined, roomId: IRoomId, conversationId?: string) => void;
|
|
858
862
|
/**
|
|
859
863
|
* Изменился id участника (деанонимизация)
|
|
860
864
|
* @param prevId
|
|
861
865
|
* @param newId
|
|
862
866
|
*/
|
|
863
|
-
onParticipantIdChanged?: (prevId: ExternalParticipantId, newId: ExternalParticipantId) => void;
|
|
867
|
+
onParticipantIdChanged?: (prevId: ExternalParticipantId, newId: ExternalParticipantId, conversationId?: string) => void;
|
|
864
868
|
/**
|
|
865
869
|
* Предложение включить режим автоматического отключения приёма видео
|
|
866
870
|
* в плохой сети
|
|
867
871
|
* @param bandwidth текущая полоса пропускания, kbps
|
|
868
872
|
*/
|
|
869
|
-
onVideoSuspendSuggest?: (bandwidth: number) => void;
|
|
873
|
+
onVideoSuspendSuggest?: (bandwidth: number, conversationId?: string) => void;
|
|
870
874
|
/**
|
|
871
875
|
* Одобрено повышение пользователя в зале ожидания/зале в режиме Audience
|
|
872
876
|
*
|
|
873
877
|
* @param adminParticipantId админ, одобривший повышение
|
|
874
878
|
*/
|
|
875
|
-
onPromotionApproved?: (adminParticipantId: ExternalParticipantId) => void;
|
|
879
|
+
onPromotionApproved?: (adminParticipantId: ExternalParticipantId, conversationId?: string) => void;
|
|
876
880
|
/**
|
|
877
881
|
* Участник повышен/разжалован в зале ожидания/зале в режиме Audience
|
|
878
882
|
*
|
|
879
883
|
* @param demoted участник разжалован
|
|
880
884
|
*/
|
|
881
|
-
onPromoted?: (demoted: boolean) => void;
|
|
885
|
+
onPromoted?: (demoted: boolean, conversationId?: string) => void;
|
|
882
886
|
/**
|
|
883
|
-
*
|
|
887
|
+
* Активным установлен определенный звонок
|
|
888
|
+
*
|
|
889
|
+
* @param conversationId ID звонка
|
|
884
890
|
*/
|
|
885
|
-
|
|
891
|
+
onCallActive?: (conversationId: string) => void;
|
|
886
892
|
/**
|
|
887
|
-
*
|
|
888
|
-
*
|
|
889
|
-
* Работает только если включен `debugVideoStreams`.
|
|
890
|
-
*
|
|
891
|
-
* @param externalParticipantId Id участника, к которому относится видеопоток
|
|
892
|
-
* @param info Структурированные данные о дебаге видеопотока
|
|
893
|
+
* Собеседник подключился к сигналлингу
|
|
893
894
|
*/
|
|
894
|
-
|
|
895
|
+
onPeerRegistered?: (conversationId?: string) => void;
|
|
895
896
|
};
|
|
896
897
|
export default abstract class Params {
|
|
897
898
|
private static _params;
|
|
@@ -942,8 +943,8 @@ export default abstract class Params {
|
|
|
942
943
|
static get waitResponseDelay(): number;
|
|
943
944
|
static get waitMessageDelay(): number;
|
|
944
945
|
static get waitAnotherTabDelay(): number;
|
|
946
|
+
static get calleeUnavailableWaitingTime(): number | undefined;
|
|
945
947
|
static get debugLog(): boolean;
|
|
946
|
-
static get debugVideoStreams(): false | ((externalParticipantId: ExternalParticipantId, info: VideoStreamDebugInfo) => void) | undefined;
|
|
947
948
|
static get forceRelayPolicy(): boolean;
|
|
948
949
|
static set forceRelayPolicy(value: boolean);
|
|
949
950
|
static get videoMinWidth(): number;
|
|
@@ -982,7 +983,6 @@ export default abstract class Params {
|
|
|
982
983
|
static get networkStatisticsInterval(): number;
|
|
983
984
|
static get perfStatReportEnabled(): boolean;
|
|
984
985
|
static get callStatReportEnabled(): boolean;
|
|
985
|
-
static get clientEventsLoggingEnabled(): boolean;
|
|
986
986
|
static get enableLogPerfStatReport(): boolean;
|
|
987
987
|
static get asrDataChannel(): boolean;
|
|
988
988
|
static get consumerScreenDataChannelPacketSize(): number;
|
|
@@ -1002,6 +1002,7 @@ export default abstract class Params {
|
|
|
1002
1002
|
static get addParticipant(): boolean;
|
|
1003
1003
|
static get waitForAdminInGroupCalls(): boolean;
|
|
1004
1004
|
static get hold(): boolean;
|
|
1005
|
+
static get maxParallelCalls(): number;
|
|
1005
1006
|
static get participantListChunkInitIndex(): number;
|
|
1006
1007
|
static get participantListChunkInitCount(): number | null;
|
|
1007
1008
|
static get filterObservers(): boolean;
|
|
@@ -1023,8 +1024,9 @@ export default abstract class Params {
|
|
|
1023
1024
|
static get enableVideoEffectsFpsDegradation(): boolean;
|
|
1024
1025
|
static get simulcast(): boolean;
|
|
1025
1026
|
static get webtransport(): boolean;
|
|
1026
|
-
static get
|
|
1027
|
+
static get waitForRecordResponse(): boolean;
|
|
1027
1028
|
static get transparentAudio(): boolean;
|
|
1029
|
+
static get enableSessionStateUpdates(): boolean;
|
|
1028
1030
|
static toJSON(): {
|
|
1029
1031
|
apiKey: string;
|
|
1030
1032
|
apiEnv: string;
|
|
@@ -1058,7 +1060,8 @@ export default abstract class Params {
|
|
|
1058
1060
|
switchVideoAtBadNetwork: boolean;
|
|
1059
1061
|
simulcast: boolean;
|
|
1060
1062
|
webtransport: boolean;
|
|
1061
|
-
|
|
1063
|
+
waitForRecordResponse: boolean;
|
|
1062
1064
|
transparentAudio: boolean;
|
|
1065
|
+
enableSessionStateUpdates: boolean;
|
|
1063
1066
|
};
|
|
1064
1067
|
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ParticipantConnectionStatus, ParticipantSessionState } from '../types/Participant';
|
|
2
|
+
import { ParticipantStatus } from './External';
|
|
3
|
+
import TransportState from '../enums/TransportState';
|
|
4
|
+
type StatusTransition = {
|
|
5
|
+
status: ParticipantStatus;
|
|
6
|
+
shouldNotify: boolean;
|
|
7
|
+
};
|
|
8
|
+
declare namespace ParticipantConnectionStatusUtils {
|
|
9
|
+
function create(status?: Partial<ParticipantConnectionStatus> | null): ParticipantConnectionStatus;
|
|
10
|
+
function fromTransportState(state?: TransportState): ParticipantStatus | null;
|
|
11
|
+
function computeEffective(status: ParticipantConnectionStatus): ParticipantStatus;
|
|
12
|
+
function setSessionState(status: ParticipantConnectionStatus, sessionState?: ParticipantSessionState, sessionStateConnectedBySpeaker?: boolean): StatusTransition;
|
|
13
|
+
function setTransport(status: ParticipantConnectionStatus, transport: ParticipantStatus): StatusTransition;
|
|
14
|
+
function setSessionStateApplicable(status: ParticipantConnectionStatus, applicable: boolean): StatusTransition;
|
|
15
|
+
}
|
|
16
|
+
export default ParticipantConnectionStatusUtils;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export type TCapabilities = {
|
|
2
|
+
estimatedPerformanceIndex: number;
|
|
3
|
+
audioMix: boolean;
|
|
4
|
+
consumerUpdate: boolean;
|
|
5
|
+
producerNotificationDataChannelVersion: number;
|
|
6
|
+
producerCommandDataChannelVersion: number;
|
|
7
|
+
consumerScreenDataChannelVersion: number;
|
|
8
|
+
producerScreenDataChannelVersion: number;
|
|
9
|
+
asrDataChannelVersion: number;
|
|
10
|
+
animojiDataChannelVersion: number;
|
|
11
|
+
animojiBackendRender: boolean;
|
|
12
|
+
onDemandTracks: boolean;
|
|
13
|
+
unifiedPlan: boolean;
|
|
14
|
+
singleSession: boolean;
|
|
15
|
+
videoTracksCount: number;
|
|
16
|
+
red: boolean;
|
|
17
|
+
audioShare: boolean;
|
|
18
|
+
fastScreenShare: boolean;
|
|
19
|
+
videoSuspend: boolean;
|
|
20
|
+
simulcast: boolean;
|
|
21
|
+
consumerFastScreenShare: boolean;
|
|
22
|
+
consumerFastScreenShareQualityOnDemand: boolean;
|
|
23
|
+
transparentAudio: boolean;
|
|
24
|
+
};
|
package/types/Conversation.d.ts
CHANGED
|
@@ -7,7 +7,8 @@ import MediaOption from '../enums/MediaOption';
|
|
|
7
7
|
import UserRole from '../enums/UserRole';
|
|
8
8
|
import { AsrInfo } from './Asr';
|
|
9
9
|
import { IFeaturesPerRole } from './ConversationFeature';
|
|
10
|
-
import { ExternalId, ExternalParticipantId } from './ExternalId';
|
|
10
|
+
import { ExternalId, ExternalParticipantId, ExternalUserId } from './ExternalId';
|
|
11
|
+
import { FastJoinHandler } from './FastJoin';
|
|
11
12
|
import { FastStartHandler } from './FastStart';
|
|
12
13
|
import MediaModifiers from './MediaModifiers';
|
|
13
14
|
import MuteStates from './MuteStates';
|
|
@@ -84,6 +85,16 @@ export type ConversationOnStartParams = {
|
|
|
84
85
|
onFastStart?: FastStartHandler;
|
|
85
86
|
conversationId?: string;
|
|
86
87
|
};
|
|
88
|
+
export type ConversationOnJoinParams = {
|
|
89
|
+
conversationId?: string;
|
|
90
|
+
mediaOptions: MediaOption[];
|
|
91
|
+
chatId?: string;
|
|
92
|
+
joinLink?: string;
|
|
93
|
+
observedIds?: ExternalUserId[];
|
|
94
|
+
payload?: string;
|
|
95
|
+
onFastJoin?: FastJoinHandler;
|
|
96
|
+
anonymous?: boolean;
|
|
97
|
+
};
|
|
87
98
|
export type StartConversationParams = {
|
|
88
99
|
opponentIds?: OkUserId[];
|
|
89
100
|
opponentType: CallType;
|
|
@@ -94,7 +105,6 @@ export type StartConversationParams = {
|
|
|
94
105
|
requireAuthToJoin?: boolean;
|
|
95
106
|
onlyAdminCanShareMovie?: boolean;
|
|
96
107
|
externalIds?: ExternalId[];
|
|
97
|
-
startedTime: number;
|
|
98
108
|
onFastStart?: FastStartHandler;
|
|
99
109
|
conversationId?: string;
|
|
100
110
|
};
|