@vkontakte/calls-sdk 2.6.2-dev.3e4fbdf.0 → 2.6.2-dev.459e12e.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 +63 -9
  2. package/abstract/BaseApi.d.ts +1 -1
  3. package/abstract/BaseSignaling.d.ts +11 -3
  4. package/calls-sdk.cjs.js +8 -8
  5. package/calls-sdk.esm.js +8 -8
  6. package/classes/Conversation.d.ts +35 -7
  7. package/classes/MediaSource.d.ts +7 -2
  8. package/classes/ProducerCommandSerializationService.d.ts +2 -0
  9. package/classes/codec/IEncoder.d.ts +3 -0
  10. package/classes/codec/LibVPxEncoder.d.ts +4 -1
  11. package/classes/codec/Types.d.ts +6 -1
  12. package/classes/codec/WebCodecsEncoder.d.ts +4 -1
  13. package/classes/screenshare/PacketHistory.d.ts +30 -0
  14. package/classes/screenshare/PacketHistory.test.d.ts +1 -0
  15. package/classes/screenshare/ScreenCaptureSender.d.ts +15 -1
  16. package/classes/screenshare/ScreenCongestionControl.d.ts +25 -0
  17. package/classes/screenshare/SharingStatReport.d.ts +6 -0
  18. package/classes/screenshare/Utils.d.ts +5 -0
  19. package/classes/transport/ServerTransport.d.ts +2 -1
  20. package/default/Api.d.ts +1 -1
  21. package/default/Signaling.d.ts +11 -3
  22. package/enums/LiveStatus.d.ts +7 -0
  23. package/enums/MediaOption.d.ts +2 -1
  24. package/enums/RoomsEventType.d.ts +6 -0
  25. package/enums/SignalingCommandType.d.ts +10 -1
  26. package/enums/SignalingNotification.d.ts +7 -1
  27. package/package.json +1 -1
  28. package/static/External.d.ts +46 -5
  29. package/static/Params.d.ts +61 -10
  30. package/static/Polyfills.d.ts +7 -0
  31. package/static/Utils.d.ts +2 -1
  32. package/static/WebRTCUtils.d.ts +44 -11
  33. package/static/WebRTCUtils.test.d.ts +1 -0
  34. package/types/Asr.d.ts +5 -0
  35. package/types/Conversation.d.ts +1 -0
  36. package/types/ConversationFeature.d.ts +3 -0
  37. package/types/MediaSettings.d.ts +4 -0
  38. package/types/MovieShare.d.ts +4 -1
  39. package/types/Participant.d.ts +1 -0
  40. package/types/ParticipantListChunk.d.ts +2 -0
  41. package/types/ParticipantStreamDescription.d.ts +2 -1
  42. package/types/Room.d.ts +77 -0
  43. package/types/SignalingMessage.d.ts +53 -2
  44. package/utils/ArrayDequeue.d.ts +24 -0
  45. package/utils/ArrayDequeue.spec.d.ts +1 -0
  46. package/worker/LibVPxEncoderWorker.d.ts +1 -1
package/CallsSDK.d.ts CHANGED
@@ -45,11 +45,16 @@ import ParticipantLayout, { Layout, StopStream } from './types/ParticipantLayout
45
45
  import { ParticipantListChunkParameters } from './types/ParticipantListChunk';
46
46
  import ParticipantPriority from './types/ParticipantPriority';
47
47
  import { MediaType, ParticipantStreamDescription } from './types/ParticipantStreamDescription';
48
+ import { Room, RoomsUpdate, RoomParticipantUpdate } from './types/Room';
49
+ import RoomsEventType from './enums/RoomsEventType';
48
50
  import SignalingMessage from './types/SignalingMessage';
49
51
  import { WaitingHallResponse } from './types/WaitingHall';
50
52
  import { IFeedbackExternal } from './types/Feedback';
51
53
  import { ISharedMovieInfo, ISharedMovieStoppedInfo, ISharedMovieState, ISharedMovieStateResponse, IAddMovieParams, IOnRemoteMovieData, IMoviePreview, IUpdateMovieData } from './types/MovieShare';
52
54
  import ConversationFeature from './enums/ConversationFeature';
55
+ import { IFeaturesPerRole } from './types/ConversationFeature';
56
+ import { ArrayDequeue } from './utils/ArrayDequeue';
57
+ import { AsrInfo } from './types/Asr';
53
58
  /**
54
59
  * Информация о текущем браузере
55
60
  */
@@ -244,8 +249,10 @@ export declare function joinCallInternal(conversationId: string, mediaOptions: M
244
249
  * @param joinLink Токен комнаты
245
250
  * @param mediaOptions Нужно ли включать камеру и микрофон
246
251
  * @param anonymToken Токен анонимной авторизации
252
+ * @param observedIds
253
+ * @param payload
247
254
  */
248
- export declare function joinCallByLink(joinLink: string, mediaOptions?: MediaOption[], anonymToken?: string, observedIds?: ExternalUserId[]): Promise<ConversationData>;
255
+ export declare function joinCallByLink(joinLink: string, mediaOptions?: MediaOption[], anonymToken?: string, observedIds?: ExternalUserId[], payload?: string): Promise<ConversationData>;
249
256
  /**
250
257
  * Завершить текущий разговор
251
258
  */
@@ -279,6 +286,13 @@ export declare function changeDevice(kind: MediaDeviceKind, deviceId: string): P
279
286
  * @param state Включить или выключить
280
287
  */
281
288
  export declare function captureScreen(state: boolean): Promise<void>;
289
+ /**
290
+ * Включить/выключить захват экрана
291
+ *
292
+ * @param screenState Включить или выключить захват экрана.
293
+ * @param audioShareState Включить или выключить захват звука. Может быть использован только вместе с захватом экрана.
294
+ */
295
+ export declare function captureScreenAndAudio(screenState: boolean, audioShareState: boolean): Promise<void>;
282
296
  /**
283
297
  * Позволяет установить кастомный стрим для видео
284
298
  * например для стрима из canvas, с наложением изображений
@@ -346,9 +360,12 @@ export declare function grantRolesInternal(uid: OkUserId, roles: UserRole[], rev
346
360
  * @param externalId Внешний ID пользователя (если не указано, сработает на всех)
347
361
  * @param muteStates Состояние устройств пользователя
348
362
  * @param requestedMedia Попросить пользователя включить устройство
363
+ * @param roomId ID сессионного зала, либо ничего если в основном зале
349
364
  */
350
- export declare function muteParticipant(externalId: string | ExternalParticipantId | null, muteStates: MuteStates, requestedMedia?: MediaOption[]): Promise<void>;
351
- export declare function muteParticipantInternal(uid: OkUserId | null, muteStates: MuteStates, requestedMedia?: MediaOption[], deviceIdx?: number): Promise<void>;
365
+ export declare function muteParticipant(externalId: string | ExternalParticipantId | null, muteStates: MuteStates, requestedMedia?: MediaOption[], roomId?: number | null): Promise<void>;
366
+ export declare function muteParticipantInternal(uid: OkUserId | null, muteStates: MuteStates, requestedMedia?: MediaOption[], deviceIdx?: number, roomId?: number | null): Promise<void>;
367
+ export declare function applyMuteStates(muteStates: MuteStates, mediaOptions: MediaOption[], roomId?: number | null): void;
368
+ export declare function changeRecordInfoForRoom(roomId?: number | null): Promise<void>;
352
369
  /**
353
370
  * Закрепить/открепить выбранного собеседника у всех (только если есть соответствующая роль)
354
371
  *
@@ -432,8 +449,8 @@ export declare function setVolume(volume: number): void;
432
449
  * @param enabled
433
450
  */
434
451
  export declare function forceRelayPolicy(enabled: boolean): void;
435
- export declare function startStream(isRecord?: boolean, name?: string | null, movieId?: string | null, privacy?: 'PUBLIC' | 'FRIENDS' | 'DIRECT_LINK', groupId?: string | null): Promise<SignalingMessage>;
436
- export declare function stopStream(): Promise<SignalingMessage>;
452
+ export declare function startStream(isRecord?: boolean, name?: string | null, movieId?: string | null, privacy?: 'PUBLIC' | 'FRIENDS' | 'DIRECT_LINK', groupId?: string | null, roomId?: number | null): Promise<SignalingMessage>;
453
+ export declare function stopStream(roomId?: number | null): Promise<SignalingMessage>;
437
454
  /**
438
455
  * Устанавливает роль участника в запись звонка
439
456
  * Если хотя бы у одного участника звонка выставлена роль, то в записи звонка будут
@@ -444,8 +461,9 @@ export declare function stopStream(): Promise<SignalingMessage>;
444
461
  *
445
462
  * @param externalId Внешний ID пользователя
446
463
  * @param role Роль, если null, то роль удалится
464
+ * @param roomId ID сессионного зала записи. Если null, то роль применится в основном звонке
447
465
  */
448
- export declare function recordSetRole(externalId: string | ExternalParticipantId, role: RecordRole | null): Promise<void>;
466
+ export declare function recordSetRole(externalId: string | ExternalParticipantId, role: RecordRole | null, roomId?: number | null): Promise<void>;
449
467
  export declare function getStreamInfo(): Promise<{
450
468
  movieId: any;
451
469
  preview: any;
@@ -453,7 +471,7 @@ export declare function getStreamInfo(): Promise<{
453
471
  /**
454
472
  * Добавляет видео/лайв в звонок
455
473
  *
456
- * @param movieId
474
+ * @param params
457
475
  */
458
476
  export declare function addMovie(params: IAddMovieParams): Promise<{
459
477
  movieId: string;
@@ -471,6 +489,34 @@ export declare function updateMovie(params: IUpdateMovieData): Promise<void>;
471
489
  * @param movieId
472
490
  */
473
491
  export declare function removeMovie(movieId: string): Promise<void>;
492
+ /**
493
+ * Обновить комнаты
494
+ * @param rooms id в случае обновления комнаты
495
+ * @param assignRandomly рандомно назначить участников комнаты из свободных в соответствии с participantCount
496
+ */
497
+ export declare function updateRooms(rooms: {
498
+ id?: number;
499
+ name?: string;
500
+ participantCount?: number;
501
+ active?: boolean;
502
+ }[], assignRandomly: boolean): Promise<void>;
503
+ /**
504
+ * Активировать комнаты
505
+ * @param roomIds
506
+ * @param deactivate
507
+ */
508
+ export declare function activateRooms(roomIds: number[], deactivate: boolean): Promise<void>;
509
+ /**
510
+ * Cменить комнату
511
+ * @param toRoomId
512
+ * @param participantId
513
+ */
514
+ export declare function switchRoom(toRoomId?: number | null, participantId?: string | ExternalParticipantId | null): Promise<void>;
515
+ /**
516
+ * Удалить комнаты
517
+ * @param roomIds
518
+ */
519
+ export declare function removeRooms(roomIds: number[]): Promise<void>;
474
520
  /**
475
521
  * Устанавливает интервал обновления статистики и вызова `onStatistics`
476
522
  *
@@ -528,9 +574,17 @@ export declare function enableFeatureForRoles(feature: ConversationFeature, role
528
574
  * @param recordIds Идентификаторы записей истории
529
575
  */
530
576
  export declare function removeHistoryRecords(recordIds: number[]): Promise<void>;
577
+ /**
578
+ * Начинает текстовую расшифровку звонка
579
+ */
580
+ export declare function startAsr(): Promise<void>;
581
+ /**
582
+ * Заканчивает текстовую расшифровку звонка
583
+ */
584
+ export declare function stopAsr(): Promise<void>;
531
585
  /**
532
586
  * Версия SDK
533
587
  */
534
588
  export declare function version(): string;
535
- export type { AddParticipantParams, ConversationData, ConversationParams, ConversationResponse, ExternalId, ExternalParticipant, ExternalParticipantListMarkers as ExternalParticipantMarkers, ExternalParticipantId, HangupReasonData, IceServer, JSONArray, JSONObject, JSONType, Layout, MediaModifiers, MediaSettings, MuteStates, OkUserId, ParamsObject, ParticipantLayout, ParticipantPriority, ParticipantStateMapped, ParticipantStreamDescription, ParticipantListChunkParameters, IGetParticipantsParameters, SignalingMessage, StatResult, StopStream, WaitingHallResponse, IVideoDimentions, IFeedbackExternal, ISharedMovieInfo, ISharedMovieStoppedInfo, ISharedMovieState, ISharedMovieStateResponse, IAddMovieParams, IOnRemoteMovieData, IMoviePreview, IUpdateMovieData, };
536
- 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, Utils, TransportTopology, };
589
+ export type { AddParticipantParams, ConversationData, ConversationParams, ConversationResponse, ExternalId, ExternalParticipant, ExternalParticipantListMarkers as ExternalParticipantMarkers, ExternalParticipantId, HangupReasonData, IceServer, JSONArray, JSONObject, JSONType, Layout, MediaModifiers, MediaSettings, MuteStates, OkUserId, ParamsObject, ParticipantLayout, ParticipantPriority, ParticipantStateMapped, ParticipantStreamDescription, ParticipantListChunkParameters, IGetParticipantsParameters, SignalingMessage, StatResult, StopStream, WaitingHallResponse, IVideoDimentions, IFeedbackExternal, ISharedMovieInfo, ISharedMovieStoppedInfo, ISharedMovieState, ISharedMovieStateResponse, IAddMovieParams, IOnRemoteMovieData, IMoviePreview, Room, RoomsUpdate, RoomParticipantUpdate, IUpdateMovieData, IFeaturesPerRole, AsrInfo, };
590
+ 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, Utils, TransportTopology, RoomsEventType, ConversationFeature, ArrayDequeue, };
@@ -33,7 +33,7 @@ export default abstract class BaseApi {
33
33
  success: boolean;
34
34
  }>;
35
35
  getAnonymTokenByLink(joinLink: string, username?: string): Promise<string>;
36
- abstract joinConversationByLink(joinLink: string, isVideo?: boolean, observedIds?: ExternalUserId[]): Promise<ConversationResponse>;
36
+ abstract joinConversationByLink(joinLink: string, isVideo?: boolean, observedIds?: ExternalUserId[], payload?: string): Promise<ConversationResponse>;
37
37
  abstract getConversationParams(conversationId?: string): Promise<ConversationParams>;
38
38
  abstract getUserId(): OkUserId | null;
39
39
  abstract setUserId(userId: OkUserId): void;
@@ -19,6 +19,7 @@ import { ParticipantLayout, RequestKeyFrame, StopStream } from '../types/Partici
19
19
  import { ParticipantListChunkParameters } from '../types/ParticipantListChunk';
20
20
  import SignalingMessage from '../types/SignalingMessage';
21
21
  import { WaitingParticipantId } from '../types/WaitingHall';
22
+ import { SharingStatReport } from '../classes/screenshare/SharingStatReport';
22
23
  /**
23
24
  * Параметры добавления пользователя в звонок
24
25
  */
@@ -61,17 +62,22 @@ export default abstract class BaseSignaling extends EventEmitter {
61
62
  abstract addMovie(data: IAddMovieParams): Promise<SignalingMessage>;
62
63
  abstract updateMovie(data: IUpdateMovieData): Promise<SignalingMessage>;
63
64
  abstract removeMovie(data: any): Promise<SignalingMessage>;
65
+ abstract updateRooms(rooms: Record<any, any>[], assignRandomly: boolean): Promise<SignalingMessage>;
66
+ abstract activateRooms(roomIds: number[], deactivate: boolean): Promise<SignalingMessage>;
67
+ abstract switchRoom(toRoomId: number | null, participantId?: ParticipantId): Promise<SignalingMessage>;
68
+ abstract removeRooms(roomIds: number[]): Promise<SignalingMessage>;
64
69
  abstract startStream(data: any): Promise<SignalingMessage>;
65
- abstract stopStream(): Promise<SignalingMessage>;
66
- abstract recordSetRole(participantId: ParticipantId, role: RecordRole | null): Promise<SignalingMessage>;
70
+ abstract stopStream(data: any): Promise<SignalingMessage>;
71
+ abstract recordSetRole(participantId: ParticipantId, role: RecordRole | null, roomId: number | null): Promise<SignalingMessage>;
67
72
  abstract getRecordStatus(): Promise<SignalingMessage>;
68
73
  abstract switchTopology(topology: TransportTopology, force?: boolean): Promise<SignalingMessage>;
69
74
  abstract reportPerfStat(report: PerfStatReport): Promise<SignalingMessage>;
75
+ abstract reportSharingStat(report: SharingStatReport): Promise<SignalingMessage>;
70
76
  abstract chatMessage(message: string, participantId: CompositeUserId | null): Promise<SignalingMessage>;
71
77
  abstract chatHistory(count: number): Promise<SignalingMessage>;
72
78
  abstract customData(data: JSONObject, participantId: ParticipantId | null): Promise<SignalingMessage>;
73
79
  abstract grantRoles(participantId: CompositeUserId, roles: UserRole[], revoke: boolean): Promise<SignalingMessage>;
74
- abstract muteParticipant(participantId: ParticipantId | null, muteStates: MuteStates, requestedMedia: MediaOption[]): Promise<SignalingMessage>;
80
+ abstract muteParticipant(participantId: ParticipantId | null, muteStates: MuteStates, requestedMedia: MediaOption[], roomId: number | null): Promise<SignalingMessage>;
75
81
  abstract enableFeatureForRoles(feature: ConversationFeature, roles: UserRole[]): Promise<SignalingMessage>;
76
82
  abstract pinParticipant(participantId: ParticipantId, unpin: boolean): Promise<SignalingMessage>;
77
83
  abstract updateMediaModifiers(mediaModifiers: MediaModifiers): Promise<SignalingMessage>;
@@ -86,6 +92,8 @@ export default abstract class BaseSignaling extends EventEmitter {
86
92
  abstract useCommandDataChannel(status: boolean): void;
87
93
  abstract getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<SignalingMessage>;
88
94
  abstract getParticipants(externalIds: SignalingMessage.ExternalId[]): Promise<SignalingMessage>;
95
+ abstract startAsr(): Promise<SignalingMessage>;
96
+ abstract stopAsr(): Promise<SignalingMessage>;
89
97
  get ready(): boolean;
90
98
  setParticipantIdRegistry(participantIdRegistry: ParticipantIdRegistry): void;
91
99
  requestRealloc(): void;