@vkontakte/calls-sdk 2.8.2-dev.6ab2bbe.0 → 2.8.2-dev.769c043.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 (53) hide show
  1. package/CallsSDK.d.ts +37 -10
  2. package/abstract/BaseApi.d.ts +5 -4
  3. package/abstract/BaseSignaling.d.ts +11 -5
  4. package/calls-sdk.cjs.js +8 -8
  5. package/calls-sdk.esm.js +8 -8
  6. package/classes/Conversation.d.ts +23 -13
  7. package/classes/FpsMeter.d.ts +10 -0
  8. package/classes/MediaSource.d.ts +1 -1
  9. package/classes/SpecListener.d.ts +0 -1
  10. package/classes/codec/IDecoder.d.ts +0 -1
  11. package/classes/codec/Types.d.ts +11 -1
  12. package/classes/codec/WebCodecsDecoder.d.ts +0 -1
  13. package/classes/screenshare/BaseRenderer.d.ts +0 -1
  14. package/classes/screenshare/CanvasRenderer.d.ts +2 -0
  15. package/classes/screenshare/PacketHistory.d.ts +2 -2
  16. package/classes/screenshare/ScreenCaptureSender.d.ts +12 -3
  17. package/classes/screenshare/ScreenCongestionControl.d.ts +1 -1
  18. package/classes/screenshare/StreamBuilder.d.ts +1 -0
  19. package/classes/screenshare/TrackGeneratorRenderer.d.ts +0 -1
  20. package/classes/screenshare/Utils.d.ts +1 -1
  21. package/classes/stat/StatAggregator.d.ts +1 -1
  22. package/classes/stat/StatFirstMediaReceived.d.ts +14 -2
  23. package/classes/transport/BaseTransport.d.ts +13 -0
  24. package/classes/transport/DirectTransport.d.ts +4 -9
  25. package/classes/transport/ServerTransport.d.ts +4 -8
  26. package/classes/transport/Transport.d.ts +4 -4
  27. package/default/Api.d.ts +9 -12
  28. package/default/Signaling.d.ts +11 -5
  29. package/enums/FatalError.d.ts +1 -0
  30. package/enums/SignalingCommandType.d.ts +3 -1
  31. package/enums/SignalingNotification.d.ts +0 -1
  32. package/package.json +3 -3
  33. package/static/External.d.ts +46 -28
  34. package/static/Params.d.ts +49 -51
  35. package/static/Utils.d.ts +6 -2
  36. package/types/Asr.d.ts +22 -1
  37. package/types/Conversation.d.ts +4 -0
  38. package/types/ExternalId.d.ts +8 -14
  39. package/types/{Logger.d.ts → IEventualStatLog.d.ts} +2 -2
  40. package/types/MovieShare.d.ts +2 -2
  41. package/types/Participant.d.ts +4 -3
  42. package/types/ParticipantLayout.d.ts +2 -2
  43. package/types/ParticipantListChunk.d.ts +1 -1
  44. package/types/ParticipantStreamDescription.d.ts +3 -3
  45. package/types/PerfStatReporter.d.ts +1 -1
  46. package/types/Room.d.ts +4 -0
  47. package/types/SignalingCommand.d.ts +2 -1
  48. package/types/SignalingMessage.d.ts +25 -4
  49. package/types/Statistics.d.ts +2 -2
  50. package/utils/ArrayDequeue.d.ts +1 -1
  51. package/utils/ArrayList.d.ts +5 -2
  52. package/utils/FastList.d.ts +5 -2
  53. package/utils/IList.d.ts +5 -2
package/CallsSDK.d.ts CHANGED
@@ -33,7 +33,7 @@ import { JSONArray, JSONObject, JSONType } from './static/Json';
33
33
  import { ParamsObject } from './static/Params';
34
34
  import Utils from './static/Utils';
35
35
  import WebRTCUtils, { FacingMode } from './static/WebRTCUtils';
36
- import { IAsrStartParams } from './types/Asr';
36
+ import { IAsrStartParams, IAsrStopParams, IAsrData } from './types/Asr';
37
37
  import ConversationParams from './types/ConversationParams';
38
38
  import ConversationResponse from './types/ConversationResponse';
39
39
  import { ExternalId, ExternalIdType, ExternalParticipant, ExternalParticipantId, ExternalParticipantListChunk, ExternalParticipantListMarker, ExternalParticipantListMarkers, ExternalUserId } from './types/ExternalId';
@@ -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';
@@ -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
  *
@@ -356,6 +356,7 @@ export declare function setLocalResolution(resolution: {
356
356
  * Отрицательный приоритет выключит видео.
357
357
  *
358
358
  * @param priorities Список приоритетов
359
+ * @deprecated Use updateDisplayLayout instead
359
360
  */
360
361
  export declare function changePriorities(priorities: ParticipantPriority[]): Promise<void>;
361
362
  /**
@@ -443,8 +444,20 @@ export declare function customDataInternal(data: JSONObject, uid?: OkUserId | nu
443
444
  * @returns Токен комнаты
444
445
  */
445
446
  export declare function startConversation(payload?: string, requireAuthToJoin?: boolean, { onlyAdminCanShareMovie }?: {
446
- onlyAdminCanShareMovie?: boolean;
447
+ onlyAdminCanShareMovie?: boolean | undefined;
447
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>;
448
461
  /**
449
462
  * Создать токен комнаты для подключения по ссылке к существующему звонку
450
463
  *
@@ -482,12 +495,12 @@ export declare function forceRelayPolicy(enabled: boolean): void;
482
495
  * @param groupId
483
496
  * @param roomId
484
497
  */
485
- 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>;
486
499
  /**
487
500
  * Завершить трансляцию звонка
488
501
  * @param roomId
489
502
  */
490
- export declare function stopStream(roomId?: number | null): Promise<never>;
503
+ export declare function stopStream(roomId?: number | null): Promise<undefined>;
491
504
  /**
492
505
  * Устанавливает роль участника в запись звонка
493
506
  * Если хотя бы у одного участника звонка выставлена роль, то в записи звонка будут
@@ -604,12 +617,26 @@ export declare function setVmojiSvg(svg: string | ArrayBuffer, externalId?: Exte
604
617
  */
605
618
  export declare function getWaitingHall(pageMarker?: string | null, count?: number, backward?: boolean): Promise<WaitingHallResponse>;
606
619
  /**
607
- * Разрешить/запретить пользователю войти из зала ожидания
620
+ * Разрешить/запретить пользователю войти из зала ожидания/стать спикером комнаты
621
+ * в режиме Audience
608
622
  *
609
623
  * @param externalId Внешний ID пользователя
610
- * @param demote Запретить вход
624
+ * @param demote Запретить вход/отобрать права спикера
611
625
  */
612
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>;
613
640
  export declare function getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<ExternalParticipantListChunk>;
614
641
  export declare function getParticipants(parameters: IGetParticipantsParameters): Promise<ExternalParticipant[]>;
615
642
  export declare function feedback(key: string): Promise<SignalingMessage>;
@@ -627,7 +654,7 @@ export declare function startAsr(params: IAsrStartParams): Promise<void>;
627
654
  /**
628
655
  * Заканчивает текстовую расшифровку звонка
629
656
  */
630
- export declare function stopAsr(): Promise<void>;
657
+ export declare function stopAsr(params?: IAsrStopParams): Promise<void>;
631
658
  /**
632
659
  * Запрашивает/отключает реал-тайм расшифровку звонка
633
660
  */
@@ -636,5 +663,5 @@ export declare function requestAsr(request: boolean): Promise<void>;
636
663
  * Версия SDK
637
664
  */
638
665
  export declare function version(): string;
639
- 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, };
666
+ 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, };
640
667
  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,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;
@@ -1,5 +1,6 @@
1
1
  import EventEmitter from '../classes/EventEmitter';
2
2
  import { ParticipantIdRegistry } from '../classes/ParticipantIdRegistry';
3
+ import { StreamDescriptionString } from '../types/ParticipantStreamDescription';
3
4
  import { PerfStatReport } from '../types/PerfStatReporter';
4
5
  import { TransportTopology } from '../classes/transport/Transport';
5
6
  import ConversationFeature from '../enums/ConversationFeature';
@@ -9,7 +10,7 @@ import RecordRole from '../enums/RecordRole';
9
10
  import SignalingConnectionType from '../enums/SignalingConnectionType';
10
11
  import UserRole from '../enums/UserRole';
11
12
  import { JSONObject } from '../static/Json';
12
- import { IAsrStartParams } from '../types/Asr';
13
+ import { IAsrStartParams, IAsrStopParams } from '../types/Asr';
13
14
  import ConversationResponse from '../types/ConversationResponse';
14
15
  import MediaModifiers from '../types/MediaModifiers';
15
16
  import MediaSettings from '../types/MediaSettings';
@@ -55,11 +56,14 @@ export default abstract class BaseSignaling extends EventEmitter {
55
56
  [key: string]: number | boolean | string;
56
57
  }): Promise<SignalingMessage>;
57
58
  abstract acceptProducer(description: RTCSessionDescriptionInit, ssrcs: string[]): Promise<SignalingMessage>;
59
+ /**
60
+ * @deprecated Use updateDisplayLayout instead
61
+ */
58
62
  abstract changePriorities(priorities: {
59
63
  [key: string]: number;
60
64
  }): Promise<SignalingMessage | void>;
61
65
  abstract updateDisplayLayout(layouts: {
62
- [streamDesc: string]: ParticipantLayout | StopStream | RequestKeyFrame;
66
+ [streamDesc: StreamDescriptionString]: ParticipantLayout | StopStream | RequestKeyFrame;
63
67
  }): Promise<SignalingMessage | void>;
64
68
  abstract addMovie(data: IAddMovieParams): Promise<SignalingMessage>;
65
69
  abstract updateMovie(data: IUpdateMovieData): Promise<SignalingMessage>;
@@ -89,6 +93,8 @@ export default abstract class BaseSignaling extends EventEmitter {
89
93
  }): Promise<SignalingMessage>;
90
94
  abstract getWaitingHall(fromId: WaitingParticipantId | null, count?: number, backward?: boolean): Promise<SignalingMessage>;
91
95
  abstract promoteParticipant(participantId: CompositeUserId, demote?: boolean): Promise<SignalingMessage>;
96
+ abstract requestPromotion(demote: boolean): Promise<SignalingMessage>;
97
+ abstract acceptPromotion(reject: boolean): Promise<SignalingMessage>;
92
98
  abstract feedback(key: string): Promise<SignalingMessage>;
93
99
  abstract setProducerNotificationDataChannel(dataChannel: RTCDataChannel): void;
94
100
  abstract setProducerCommandDataChannel(dataChannel: RTCDataChannel): void;
@@ -97,15 +103,15 @@ export default abstract class BaseSignaling extends EventEmitter {
97
103
  abstract getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<SignalingMessage>;
98
104
  abstract getParticipants(externalIds: SignalingMessage.ExternalId[]): Promise<SignalingMessage>;
99
105
  abstract startAsr(params: IAsrStartParams): Promise<SignalingMessage>;
100
- abstract stopAsr(): Promise<SignalingMessage>;
106
+ abstract stopAsr(params?: IAsrStopParams): Promise<SignalingMessage>;
101
107
  abstract requestAsr(request: boolean): Promise<SignalingMessage>;
102
108
  get ready(): boolean;
103
109
  setParticipantIdRegistry(participantIdRegistry: ParticipantIdRegistry): void;
104
110
  requestRealloc(): void;
105
111
  setEndpoint(endpoint: string): void;
106
112
  setConversationId(conversationId: string): void;
107
- readyToSend(): void;
113
+ readyToSend(isReady?: boolean): void;
108
114
  cleanup(): void;
109
- requestTestMode(consumerCommand: string, producerCommand: string): void;
115
+ requestTestMode(consumerCommand: string, producerCommand: string | null): void;
110
116
  getNextCommandSequenceNumber(): number;
111
117
  }