@vkontakte/calls-sdk 2.8.6-dev.41ce7d89.0 → 2.8.6-dev.4240fc69.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 (57) hide show
  1. package/CallsSDK.d.ts +31 -14
  2. package/abstract/BaseApi.d.ts +2 -1
  3. package/abstract/BaseSignaling.d.ts +7 -3
  4. package/calls-sdk.cjs.js +8 -8
  5. package/calls-sdk.esm.js +8 -8
  6. package/classes/Conversation.d.ts +22 -12
  7. package/classes/Logger.d.ts +3 -0
  8. package/classes/MediaSource.d.ts +12 -0
  9. package/classes/ProducerCommandSerializationService.d.ts +2 -0
  10. package/classes/SignalingActor.d.ts +9 -0
  11. package/classes/codec/IEncoder.d.ts +0 -1
  12. package/classes/screenshare/BaseStreamBuilder.d.ts +1 -1
  13. package/classes/stat/CodecStatsAggregator.d.ts +19 -0
  14. package/classes/stat/EventMetricsService.d.ts +9 -0
  15. package/classes/transport/ServerTransport.d.ts +5 -0
  16. package/classes/transport/Statistics.d.ts +23 -10
  17. package/classes/transport/Transport.d.ts +1 -0
  18. package/default/Api.d.ts +2 -1
  19. package/default/ApiExternal.d.ts +3 -2
  20. package/default/Signaling.d.ts +21 -11
  21. package/enums/ChatRoomEventType.d.ts +1 -1
  22. package/enums/ConversationOption.d.ts +3 -3
  23. package/enums/RecordRole.d.ts +1 -1
  24. package/enums/SignalingCommandType.d.ts +2 -1
  25. package/enums/SignalingTransportStat.d.ts +17 -0
  26. package/enums/Stat.d.ts +36 -21
  27. package/package.json +7 -3
  28. package/static/ApiTransport.d.ts +4 -3
  29. package/static/External.d.ts +2 -2
  30. package/static/Params.d.ts +59 -12
  31. package/static/SimulcastInfo.d.ts +13 -0
  32. package/static/Utils.d.ts +3 -2
  33. package/static/WebRTCUtils.d.ts +5 -0
  34. package/types/ChangeSimulcast.d.ts +6 -0
  35. package/types/Conversation.d.ts +28 -1
  36. package/types/ConversationParams.d.ts +14 -1
  37. package/types/ConversationResponse.d.ts +9 -0
  38. package/types/ExternalId.d.ts +3 -0
  39. package/types/FastStart.d.ts +46 -0
  40. package/types/MovieShare.d.ts +4 -0
  41. package/types/Params.d.ts +1 -0
  42. package/types/Participant.d.ts +9 -0
  43. package/types/PerfStatReporter.d.ts +1 -0
  44. package/types/SignalingMessage.d.ts +2 -1
  45. package/types/SimulcastInfo.d.ts +10 -0
  46. package/types/Statistics.d.ts +158 -4
  47. package/types/Streams.d.ts +1 -0
  48. package/types/VideoSettings.d.ts +12 -0
  49. package/types/WebTransport.d.ts +25 -0
  50. package/utils/LengthPrefixed.d.ts +48 -0
  51. package/utils/Lz4.d.ts +1 -0
  52. package/utils/MsgPackerBufferUtils.d.ts +1 -1
  53. package/utils/VariableLengthInteger.d.ts +18 -0
  54. package/worker/LibVPxDecoderWorker.d.ts +0 -1
  55. package/worker/LibVPxEncoderWorker.d.ts +0 -1
  56. package/worker/WebCodecsDecoderWorker.d.ts +0 -1
  57. package/worker/WebCodecsEncoderWorker.d.ts +0 -1
package/CallsSDK.d.ts CHANGED
@@ -47,8 +47,8 @@ import MediaModifiers from './types/MediaModifiers';
47
47
  import { IVideoDimentions, MediaSettings } from './types/MediaSettings';
48
48
  import { IAddMovieParams, IMovieMetaData, IMoviePreview, IOnRemoteMovieData, ISharedMovieInfo, ISharedMovieState, ISharedMovieStateResponse, ISharedMovieStoppedInfo, IUpdateMovieData } from './types/MovieShare';
49
49
  import MuteStates, { IMuteParticipantInternalParams, IMuteParticipantParams } from './types/MuteStates';
50
- import { IApiEnv } from './types/Params';
51
- import { CompositeUserId, IGetParticipantsParameters, OkUserId, ParticipantId, ParticipantListMarker, ParticipantListMarkers, ParticipantListType, ParticipantsStateList, ParticipantStateMapped } from './types/Participant';
50
+ import { IAPIBaseUrl, IApiEnv } from './types/Params';
51
+ import { CompositeUserId, IGetParticipantsParameters, OkUserId, ParticipantId, ParticipantListMarker, ParticipantListMarkers, ParticipantListType, ParticipantsStateList, ParticipantStateMapped, ParticipantStateData, ParticipantStateDataKey, ParticipantStateDataValue } from './types/Participant';
52
52
  import ParticipantLayout, { Layout, RequestKeyFrame, StopStream } from './types/ParticipantLayout';
53
53
  import { ParticipantListChunkParameters } from './types/ParticipantListChunk';
54
54
  import ParticipantPriority from './types/ParticipantPriority';
@@ -64,6 +64,7 @@ import { ApiExternal } from './default/ApiExternal';
64
64
  import AuthData from './static/AuthData';
65
65
  import { VmojiError } from './types/Vmoji';
66
66
  import { VolumeDetector } from './classes/VolumeDetector';
67
+ import { FastStartHandler, FastStartParams } from './types/FastStart';
67
68
  /**
68
69
  * Информация о текущем браузере
69
70
  */
@@ -233,9 +234,10 @@ export declare function init(params: Partial<ParamsObject>): Promise<void>;
233
234
  * @param joiningAllowed Создать токен комнаты для подключения по ссылке
234
235
  * @param requireAuthToJoin Запретить анонимам подключаться по ссылке (если поддерживается сервером)
235
236
  * @param onlyAdminCanShareMovie Только администратор может включать совметсный просмотр
237
+ * @param onFastStart Функция для обработки быстрого старта
236
238
  */
237
- export declare function callTo(externalId?: ExternalId | ExternalId[], mediaOptions?: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, onlyAdminCanShareMovie?: boolean): Promise<ConversationData>;
238
- export declare function callInternal(ids: OkUserId[], type: CallType | undefined, mediaOptions: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, onlyAdminCanShareMovie?: boolean): Promise<ConversationData>;
239
+ export declare function callTo(externalId?: ExternalId | ExternalId[], mediaOptions?: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, onlyAdminCanShareMovie?: boolean, onFastStart?: FastStartHandler): Promise<ConversationData>;
240
+ export declare function callInternal(ids: OkUserId[], type: CallType | undefined, mediaOptions: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, onlyAdminCanShareMovie?: boolean, externalIds?: ExternalId[], onFastStart?: FastStartHandler): Promise<ConversationData>;
239
241
  /**
240
242
  * Обработать пуш о входящем звонке
241
243
  *
@@ -245,15 +247,17 @@ export declare function callInternal(ids: OkUserId[], type: CallType | undefined
245
247
  * `acceptCall` и `declineCall` будут работать только после вызова `processPush`
246
248
  *
247
249
  * @param conversationId ID звонка
250
+ * @param conversationParams conversationParams в base64
248
251
  */
249
- export declare function processPush(conversationId: string): Promise<void>;
250
- export declare function processPushInternal(conversationId: string, type?: UserType, peerId?: number): Promise<void>;
252
+ export declare function processPush(conversationId: string, conversationParams?: string): Promise<void>;
253
+ export declare function processPushInternal(conversationId: string, type?: UserType, peerId?: number, conversationParams?: string, wsEndpoint?: string, userId?: number): Promise<void>;
251
254
  /**
252
255
  * Авторизоваться для совершения звонков
253
256
  *
254
257
  * @param authToken Токен авторизации
258
+ * @param apiBaseUrl Базовый адрес для API. Если не передан, то не меняет установленный
255
259
  */
256
- export declare function authorize(authToken?: string): Promise<void>;
260
+ export declare function authorize(authToken?: string, apiBaseUrl?: IAPIBaseUrl): Promise<void>;
257
261
  /**
258
262
  * Принять входящий звонок
259
263
  *
@@ -293,6 +297,11 @@ export declare function hangup(): Promise<void>;
293
297
  * @param params Параметры
294
298
  */
295
299
  export declare function addParticipant(externalIds: ExternalId | ExternalId[], params?: AddParticipantParams): Promise<void>;
300
+ /**
301
+ * @deprecated - используйте addParticipant
302
+ * @param uids
303
+ * @param params
304
+ */
296
305
  export declare function addParticipantInternal(uids: OkUserId[], params?: AddParticipantParams): Promise<void>;
297
306
  /**
298
307
  * Удалить собеседника из звонка
@@ -301,6 +310,11 @@ export declare function addParticipantInternal(uids: OkUserId[], params?: AddPar
301
310
  * @param ban Забанить пользователя
302
311
  */
303
312
  export declare function removeParticipant(externalId: ExternalId, ban?: boolean): Promise<void>;
313
+ /**
314
+ * @deprecated - используйте removeParticipant
315
+ * @param uid
316
+ * @param ban
317
+ */
304
318
  export declare function removeParticipantInternal(uid: OkUserId, ban?: boolean): Promise<void>;
305
319
  /**
306
320
  * Изменить камеру на фронтальную или заднюю (для мобильных устройств)
@@ -375,7 +389,7 @@ export declare function changePriorities(priorities: ParticipantPriority[]): Pro
375
389
  * @param state Список состояний в виде ключ-значение. Максимальная длина ключей и значений - 5 символов. Пустые значения будут пропущены
376
390
  * @param externalId Внешний ID пользователя
377
391
  */
378
- export declare function changeParticipantState(state: Record<string, string>, externalId?: ExternalId): Promise<void>;
392
+ export declare function changeParticipantState(state: ParticipantStateData, externalId?: ExternalId): Promise<void>;
379
393
  /**
380
394
  * Принудительно опустить руки участников в текущем сессионном зале админа
381
395
  */
@@ -399,8 +413,8 @@ export declare function grantRolesInternal(uid: OkUserId, deviceIdx: number, rol
399
413
  /**
400
414
  * Выключить или выключить микрофон и/или камеру собеседнику (только если есть соответствующая роль)
401
415
  */
402
- export declare function muteParticipant({ externalId, muteStates, requestedMedia, roomId, }: IMuteParticipantParams): Promise<void>;
403
- export declare function muteParticipantInternal({ uid, muteStates, requestedMedia, deviceIdx, roomId, }: IMuteParticipantInternalParams): Promise<void>;
416
+ export declare function muteParticipant({ externalId, muteStates, requestedMedia, roomId }: IMuteParticipantParams): Promise<void>;
417
+ export declare function muteParticipantInternal({ uid, muteStates, requestedMedia, deviceIdx, roomId }: IMuteParticipantInternalParams): Promise<void>;
404
418
  /**
405
419
  * Закрепить/открепить выбранного собеседника у всех (только если есть соответствующая роль)
406
420
  *
@@ -480,7 +494,7 @@ export declare function startConversation(payload?: string, requireAuthToJoin?:
480
494
  * @param speakerIds Список внешних ID пользователей, которые будут выступать в роли спикеров
481
495
  * @returns Токен комнаты
482
496
  */
483
- export declare function startAudienceConversation(payload: string | undefined, requireAuthToJoin: boolean | undefined, { onlyAdminCanShareMovie, audioOnly, }: {
497
+ export declare function startAudienceConversation(payload: string | undefined, requireAuthToJoin: boolean | undefined, { onlyAdminCanShareMovie, audioOnly }: {
484
498
  onlyAdminCanShareMovie?: boolean | undefined;
485
499
  audioOnly?: boolean | undefined;
486
500
  } | undefined, speakerIds: ExternalUserId[]): Promise<string>;
@@ -525,8 +539,9 @@ export declare function startStream(isRecord?: boolean, name?: string | null, mo
525
539
  /**
526
540
  * Завершить трансляцию звонка
527
541
  * @param roomId
542
+ * @param remove не сохранять запись звонка
528
543
  */
529
- export declare function stopStream(roomId?: number | null): Promise<undefined>;
544
+ export declare function stopStream(roomId?: number | null, remove?: boolean): Promise<undefined>;
530
545
  /**
531
546
  * Опубликовать трансляцию звонка
532
547
  * @param roomId
@@ -720,9 +735,11 @@ export declare function requestAsr(request: boolean): Promise<void>;
720
735
  export declare function startUrlSharing(sharedUrl: string): Promise<void>;
721
736
  export declare function stopUrlSharing(): Promise<void>;
722
737
  export declare function sendTestCommand(name: string, params?: any): void;
738
+ export declare function startAnalyzingAudio(expectAudio: boolean): void;
739
+ export declare function stopAnalyzingAudio(): void;
723
740
  /**
724
741
  * Версия SDK
725
742
  */
726
743
  export declare function version(): string;
727
- export type { AddParticipantParams, AudienceModeHandsResponse, BrowserName, CompositeUserId, ConversationData, ConversationParams, ConversationResponse, CustomError, ExternalId, ExternalParticipant, ExternalParticipantListChunk, ExternalParticipantListMarker, ExternalParticipantListMarkers as ExternalParticipantMarkers, ExternalParticipantId, GetParticipantsSignalingResponse, GetRoomsSignalingResponse, HangupReasonData, IApiEnv, IAsrStartParams, IAsrStopParams, IAsrData, IceServer, JSONArray, JSONObject, JSONType, Layout, MediaModifiers, MediaSettings, MuteStates, OkUserId, ParamsObject, ParticipantId, ParticipantLayout, ParticipantListMarkers, ParticipantListType, ParticipantPriority, ParticipantsStateList, 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, IPublishStreamData, VmojiError, };
728
- export { Api, AuthData, BaseLogger, 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, ApiExternal, VolumeDetector, };
744
+ export type { AddParticipantParams, AudienceModeHandsResponse, BrowserName, CompositeUserId, ConversationData, ConversationParams, ConversationResponse, CustomError, ExternalId, ExternalParticipant, ExternalParticipantListChunk, ExternalParticipantListMarker, ExternalParticipantListMarkers as ExternalParticipantMarkers, ExternalParticipantId, GetParticipantsSignalingResponse, GetRoomsSignalingResponse, HangupReasonData, IApiEnv, IAPIBaseUrl, IAsrStartParams, IAsrStopParams, IAsrData, IceServer, JSONArray, JSONObject, JSONType, Layout, MediaModifiers, MediaSettings, MuteStates, OkUserId, ParamsObject, ParticipantId, ParticipantLayout, ParticipantListMarkers, ParticipantListType, ParticipantPriority, ParticipantsStateList, ParticipantStateData, ParticipantStateDataKey, 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, IPublishStreamData, VmojiError, FastStartHandler, FastStartParams, };
745
+ export { Api, AuthData, BaseLogger, CallDirection, CallType, ChatRoomEventType, ConversationOption, DebugMessageType, ExternalIdType, FacingMode, FatalError, HangupReason, HangupType, MediaOption, MediaTrackKind, MediaType, MuteState, ParticipantState, ParticipantStateDataValue, ParticipantStatus, RecordRole, Signaling, SignalingCommandType, SignalingConnectionType, SignalingNotification, UserRole, UserType, TransportTopology, RoomsEventType, ConversationFeature, ArrayDequeue, ApiExternal, VolumeDetector, };
@@ -30,6 +30,7 @@ export type LogItem = {
30
30
  export default abstract class BaseApi {
31
31
  abstract authorize(): Promise<void>;
32
32
  abstract userId(participantId: ParticipantId): Promise<ExternalParticipantId>;
33
+ abstract deviceId(): string;
33
34
  abstract createConversation(conversationId: string, payload?: string, requireAuthToJoin?: boolean, createConversationParameters?: {
34
35
  onlyAdminCanShareMovie?: boolean;
35
36
  audienceMode?: boolean;
@@ -37,7 +38,7 @@ export default abstract class BaseApi {
37
38
  }, speakerIds?: OkUserId[]): Promise<ConversationResponse>;
38
39
  abstract startConversation(conversationId: string, ids?: OkUserId[], type?: CallType, isVideo?: boolean, payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, createConversationParameters?: {
39
40
  onlyAdminCanShareMovie?: boolean;
40
- }): Promise<ConversationResponse>;
41
+ }, externalIds?: ExternalId[]): Promise<ConversationResponse>;
41
42
  abstract joinConversation(conversationId: string, isVideo?: boolean, chatId?: string): Promise<ConversationResponse>;
42
43
  createJoinLink(conversationId: string): Promise<{
43
44
  join_link: string;
@@ -16,10 +16,11 @@ import MediaModifiers from '../types/MediaModifiers';
16
16
  import MediaSettings from '../types/MediaSettings';
17
17
  import { IAddMovieParams, IUpdateMovieData } from '../types/MovieShare';
18
18
  import MuteStates from '../types/MuteStates';
19
- import { CompositeUserId, ParticipantId } from '../types/Participant';
19
+ import { CompositeUserId, ParticipantId, ParticipantStateData } from '../types/Participant';
20
20
  import { ParticipantLayout, RequestKeyFrame, StopStream } from '../types/ParticipantLayout';
21
21
  import { ParticipantListChunkParameters } from '../types/ParticipantListChunk';
22
22
  import SignalingMessage, { GetParticipantsSignalingResponse, GetRoomsSignalingResponse } from '../types/SignalingMessage';
23
+ import { ChangeSimulcast } from '../types/ChangeSimulcast';
23
24
  import { IPublishStreamData, IRecordConfData, IStartStreamData, IStopStreamData } from '../types/Streams';
24
25
  import { SharingStatReport } from '../classes/screenshare/SharingStatReport';
25
26
  /**
@@ -53,9 +54,10 @@ export default abstract class BaseSignaling extends EventEmitter {
53
54
  abstract sendSdp(participantId: ParticipantId, sdp: RTCSessionDescriptionInit, extraPayload?: Record<string, any>): Promise<SignalingMessage>;
54
55
  abstract sendCandidate(participantId: ParticipantId, candidate: RTCIceCandidate): Promise<SignalingMessage>;
55
56
  abstract changeMediaSettings(mediaSettings: MediaSettings): Promise<SignalingMessage>;
56
- abstract changeParticipantState(state: Record<string, string>, compositeUserId?: CompositeUserId): Promise<SignalingMessage>;
57
+ abstract changeParticipantState(state: ParticipantStateData, compositeUserId?: CompositeUserId): Promise<SignalingMessage>;
57
58
  abstract putHandsDown(): Promise<SignalingMessage>;
58
- abstract addParticipant(participantIds: CompositeUserId[], params?: AddParticipantParams): Promise<SignalingMessage>;
59
+ abstract addParticipant(externalIds: CompositeUserId[], params?: AddParticipantParams): Promise<SignalingMessage>;
60
+ abstract addParticipantLegacy(participantIds: CompositeUserId[], params?: AddParticipantParams): Promise<SignalingMessage>;
59
61
  abstract removeParticipant(participantId: CompositeUserId, ban?: boolean): Promise<SignalingMessage>;
60
62
  abstract allocateConsumer(description: RTCSessionDescription | null, capabilities: {
61
63
  [key: string]: number | boolean | string;
@@ -99,6 +101,7 @@ export default abstract class BaseSignaling extends EventEmitter {
99
101
  abstract updateMediaModifiers(mediaModifiers: MediaModifiers): Promise<SignalingMessage>;
100
102
  abstract enableVideoSuspend(enabled: boolean): Promise<SignalingMessage>;
101
103
  abstract enableVideoSuspendSuggest(enabled: boolean): Promise<SignalingMessage>;
104
+ abstract changeSimulcast(changeSimulcast: ChangeSimulcast): Promise<SignalingMessage>;
102
105
  abstract changeOptions(changes: {
103
106
  [key in ConversationOption]?: boolean;
104
107
  }): Promise<SignalingMessage>;
@@ -121,6 +124,7 @@ export default abstract class BaseSignaling extends EventEmitter {
121
124
  setParticipantIdRegistry(participantIdRegistry: ParticipantIdRegistry): void;
122
125
  requestRealloc(): void;
123
126
  setEndpoint(endpoint: string): void;
127
+ setWebTransportEndpoint(endpoint: string | null): void;
124
128
  setConversationId(conversationId: string): void;
125
129
  readyToSend(isReady?: boolean): void;
126
130
  cleanup(): void;