@vkontakte/calls-sdk 2.6.2-beta.2 → 2.6.2-beta.21

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 (42) hide show
  1. package/CallsSDK.d.ts +26 -9
  2. package/abstract/BaseApi.d.ts +6 -2
  3. package/abstract/BaseSignaling.d.ts +8 -3
  4. package/calls-sdk.cjs.js +8 -8
  5. package/calls-sdk.esm.js +8 -8
  6. package/classes/Conversation.d.ts +23 -7
  7. package/classes/MediaSource.d.ts +7 -2
  8. package/classes/ParticipantIdRegistry.d.ts +2 -0
  9. package/classes/ProducerCommandSerializationService.d.ts +17 -0
  10. package/classes/screenshare/ScreenCaptureSender.d.ts +1 -0
  11. package/classes/screenshare/Utils.d.ts +1 -0
  12. package/classes/transport/ServerTransport.d.ts +2 -0
  13. package/default/Api.d.ts +7 -2
  14. package/default/Api.test.d.ts +1 -0
  15. package/default/Signaling.d.ts +13 -4
  16. package/enums/ConversationFeature.d.ts +2 -1
  17. package/enums/ConversationOption.d.ts +3 -1
  18. package/enums/HangupType.d.ts +3 -1
  19. package/enums/MediaOption.d.ts +3 -1
  20. package/enums/SignalingCommandType.d.ts +3 -1
  21. package/enums/SignalingNotification.d.ts +7 -1
  22. package/package.json +1 -1
  23. package/static/ApiTransport.d.ts +1 -1
  24. package/static/External.d.ts +75 -4
  25. package/static/Params.d.ts +79 -2
  26. package/static/Utils.d.ts +5 -1
  27. package/static/WebRTCUtils.d.ts +2 -1
  28. package/types/Conversation.d.ts +12 -0
  29. package/types/ConversationFeature.d.ts +3 -0
  30. package/types/ConversationParams.d.ts +1 -0
  31. package/types/ExternalId.d.ts +2 -0
  32. package/types/Feedback.d.ts +22 -0
  33. package/types/LayoutUtils.d.ts +5 -0
  34. package/types/MediaSettings.d.ts +5 -1
  35. package/types/MovieShare.d.ts +55 -0
  36. package/types/Participant.d.ts +2 -0
  37. package/types/ParticipantLayout.d.ts +7 -1
  38. package/types/ParticipantStreamDescription.d.ts +2 -1
  39. package/types/SignalingMessage.d.ts +22 -0
  40. package/types/WaitingHall.d.ts +2 -8
  41. package/utils/Conversation.d.ts +2 -0
  42. package/utils/MsgPackerBufferUtils.d.ts +31 -0
package/CallsSDK.d.ts CHANGED
@@ -9,6 +9,7 @@ import { ConversationData } from './classes/Conversation';
9
9
  import HangupReason, { HangupReasonData } from './classes/HangupReason';
10
10
  import { MediaTrackKind } from './classes/MediaSource';
11
11
  import { StatResult } from './classes/transport/Statistics';
12
+ import { TransportTopology } from './classes/transport/Transport';
12
13
  import Api from './default/Api';
13
14
  import Signaling from './default/Signaling';
14
15
  import CallDirection from './enums/CallDirection';
@@ -46,6 +47,10 @@ import ParticipantPriority from './types/ParticipantPriority';
46
47
  import { MediaType, ParticipantStreamDescription } from './types/ParticipantStreamDescription';
47
48
  import SignalingMessage from './types/SignalingMessage';
48
49
  import { WaitingHallResponse } from './types/WaitingHall';
50
+ import { IFeedbackExternal } from './types/Feedback';
51
+ import { ISharedMovieInfo, ISharedMovieStoppedInfo, ISharedMovieState, ISharedMovieStateResponse, IAddMovieParams, IOnRemoteMovieData, IMoviePreview, IUpdateMovieData } from './types/MovieShare';
52
+ import ConversationFeature from './enums/ConversationFeature';
53
+ import { IFeaturesPerRole } from './types/ConversationFeature';
49
54
  /**
50
55
  * Информация о текущем браузере
51
56
  */
@@ -184,9 +189,10 @@ export declare function init(params: Partial<ParamsObject>): Promise<void>;
184
189
  * @param payload Дополнительные данные для передачи на сервер
185
190
  * @param joiningAllowed Создать токен комнаты для подключения по ссылке
186
191
  * @param requireAuthToJoin Запретить анонимам подключаться по ссылке (если поддерживается сервером)
192
+ * @param onlyAdminCanShareMovie Только администратор может включать совметсный просмотр
187
193
  */
188
- export declare function callTo(externalId?: string | ExternalId | string[] | ExternalId[], mediaOptions?: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean): Promise<ConversationData>;
189
- export declare function callInternal(ids: OkUserId[], type: CallType, mediaOptions: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean): Promise<ConversationData>;
194
+ export declare function callTo(externalId?: string | ExternalId | string[] | ExternalId[], mediaOptions?: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, onlyAdminCanShareMovie?: boolean): Promise<ConversationData>;
195
+ export declare function callInternal(ids: OkUserId[], type: CallType, mediaOptions: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, onlyAdminCanShareMovie?: boolean): Promise<ConversationData>;
190
196
  /**
191
197
  * Обработать пуш о входящем звонке
192
198
  *
@@ -274,6 +280,13 @@ export declare function changeDevice(kind: MediaDeviceKind, deviceId: string): P
274
280
  * @param state Включить или выключить
275
281
  */
276
282
  export declare function captureScreen(state: boolean): Promise<void>;
283
+ /**
284
+ * Включить/выключить захват экрана
285
+ *
286
+ * @param screenState Включить или выключить захват экрана.
287
+ * @param audioShareState Включить или выключить захват звука. Может быть использован только вместе с захватом экрана.
288
+ */
289
+ export declare function captureScreenAndAudio(screenState: boolean, audioShareState: boolean): Promise<void>;
277
290
  /**
278
291
  * Позволяет установить кастомный стрим для видео
279
292
  * например для стрима из canvas, с наложением изображений
@@ -393,9 +406,12 @@ export declare function customDataInternal(data: JSONObject, uid?: OkUserId | nu
393
406
  *
394
407
  * @param payload Дополнительные данные для передачи на сервер
395
408
  * @param requireAuthToJoin Запретить анонимам подключаться по ссылке (если поддерживается сервером)
409
+ * @param startConversationParameters Дополнительные параметры для создания звонка (например onlyAdminCanShareMovie)
396
410
  * @returns Токен комнаты
397
411
  */
398
- export declare function startConversation(payload?: string, requireAuthToJoin?: boolean): Promise<string>;
412
+ export declare function startConversation(payload?: string, requireAuthToJoin?: boolean, { onlyAdminCanShareMovie }?: {
413
+ onlyAdminCanShareMovie?: boolean;
414
+ }): Promise<string>;
399
415
  /**
400
416
  * Создать токен комнаты для подключения по ссылке к существующему звонку
401
417
  *
@@ -447,17 +463,16 @@ export declare function getStreamInfo(): Promise<{
447
463
  *
448
464
  * @param movieId
449
465
  */
450
- export declare function addMovie(movieId: string): Promise<{
466
+ export declare function addMovie(params: IAddMovieParams): Promise<{
451
467
  movieId: string;
452
468
  streamType: string;
453
469
  }>;
454
470
  /**
455
471
  * Изменить видео/лайв в звонке
456
472
  *
457
- * @param movieId
458
- * @param gain
473
+ * @param params
459
474
  */
460
- export declare function updateMovie(movieId: string, gain?: number, offset?: string, pause?: boolean): Promise<void>;
475
+ export declare function updateMovie(params: IUpdateMovieData): Promise<void>;
461
476
  /**
462
477
  * Удалить видео/лайв из звонка
463
478
  *
@@ -513,6 +528,8 @@ export declare function getWaitingHall(pageMarker?: string | null, count?: numbe
513
528
  export declare function promoteParticipant(externalId: ExternalId, demote?: boolean): Promise<void>;
514
529
  export declare function getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<import("./types/ExternalId").ExternalParticipantListChunk>;
515
530
  export declare function getParticipants(parameters: IGetParticipantsParameters): Promise<ExternalParticipant[]>;
531
+ export declare function feedback(key: string): Promise<SignalingMessage>;
532
+ export declare function enableFeatureForRoles(feature: ConversationFeature, roles: UserRole[]): Promise<void>;
516
533
  /**
517
534
  * Удаляет записи истории звонков
518
535
  *
@@ -523,5 +540,5 @@ export declare function removeHistoryRecords(recordIds: number[]): Promise<void>
523
540
  * Версия SDK
524
541
  */
525
542
  export declare function version(): string;
526
- 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, };
527
- 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, };
543
+ 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, IFeaturesPerRole, };
544
+ 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, ConversationFeature, };
@@ -19,8 +19,12 @@ export default abstract class BaseApi {
19
19
  abstract init(): void;
20
20
  abstract authorize(): Promise<void>;
21
21
  abstract userId(participantId: CompositeUserId): Promise<ExternalId>;
22
- abstract createConversation(conversationId: string, payload?: string, requireAuthToJoin?: boolean): Promise<ConversationResponse>;
23
- abstract startConversation(conversationId: string, ids?: OkUserId[], type?: CallType, isVideo?: boolean, payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean): Promise<ConversationResponse>;
22
+ abstract createConversation(conversationId: string, payload?: string, requireAuthToJoin?: boolean, createConversationParameters?: {
23
+ onlyAdminCanShareMovie?: boolean;
24
+ }): Promise<ConversationResponse>;
25
+ abstract startConversation(conversationId: string, ids?: OkUserId[], type?: CallType, isVideo?: boolean, payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, createConversationParameters?: {
26
+ onlyAdminCanShareMovie?: boolean;
27
+ }): Promise<ConversationResponse>;
24
28
  abstract joinConversation(conversationId: string, isVideo?: boolean, chatId?: string): Promise<ConversationResponse>;
25
29
  createJoinLink(conversationId: string): Promise<{
26
30
  join_link: string;
@@ -2,6 +2,7 @@ import EventEmitter from '../classes/EventEmitter';
2
2
  import { ParticipantIdRegistry } from '../classes/ParticipantIdRegistry';
3
3
  import { PerfStatReport } from '../classes/transport/PerfStatReporter';
4
4
  import { TransportTopology } from '../classes/transport/Transport';
5
+ import ConversationFeature from '../enums/ConversationFeature';
5
6
  import ConversationOption from '../enums/ConversationOption';
6
7
  import MediaOption from '../enums/MediaOption';
7
8
  import RecordRole from '../enums/RecordRole';
@@ -11,8 +12,10 @@ import { JSONObject } from '../static/Json';
11
12
  import ConversationResponse from '../types/ConversationResponse';
12
13
  import MediaModifiers from '../types/MediaModifiers';
13
14
  import MediaSettings from '../types/MediaSettings';
15
+ import { IAddMovieParams, IUpdateMovieData } from '../types/MovieShare';
14
16
  import MuteStates from '../types/MuteStates';
15
17
  import { CompositeUserId, ParticipantId } from '../types/Participant';
18
+ import { ParticipantLayout, RequestKeyFrame, StopStream } from '../types/ParticipantLayout';
16
19
  import { ParticipantListChunkParameters } from '../types/ParticipantListChunk';
17
20
  import SignalingMessage from '../types/SignalingMessage';
18
21
  import { WaitingParticipantId } from '../types/WaitingHall';
@@ -53,10 +56,10 @@ export default abstract class BaseSignaling extends EventEmitter {
53
56
  [key: string]: number;
54
57
  }): Promise<SignalingMessage | void>;
55
58
  abstract updateDisplayLayout(layouts: {
56
- [key: string]: string;
59
+ [streamDesc: string]: ParticipantLayout | StopStream | RequestKeyFrame;
57
60
  }): Promise<SignalingMessage | void>;
58
- abstract addMovie(data: any): Promise<SignalingMessage>;
59
- abstract updateMovie(data: any): Promise<SignalingMessage>;
61
+ abstract addMovie(data: IAddMovieParams): Promise<SignalingMessage>;
62
+ abstract updateMovie(data: IUpdateMovieData): Promise<SignalingMessage>;
60
63
  abstract removeMovie(data: any): Promise<SignalingMessage>;
61
64
  abstract startStream(data: any): Promise<SignalingMessage>;
62
65
  abstract stopStream(): Promise<SignalingMessage>;
@@ -69,6 +72,7 @@ export default abstract class BaseSignaling extends EventEmitter {
69
72
  abstract customData(data: JSONObject, participantId: ParticipantId | null): Promise<SignalingMessage>;
70
73
  abstract grantRoles(participantId: CompositeUserId, roles: UserRole[], revoke: boolean): Promise<SignalingMessage>;
71
74
  abstract muteParticipant(participantId: ParticipantId | null, muteStates: MuteStates, requestedMedia: MediaOption[]): Promise<SignalingMessage>;
75
+ abstract enableFeatureForRoles(feature: ConversationFeature, roles: UserRole[]): Promise<SignalingMessage>;
72
76
  abstract pinParticipant(participantId: ParticipantId, unpin: boolean): Promise<SignalingMessage>;
73
77
  abstract updateMediaModifiers(mediaModifiers: MediaModifiers): Promise<SignalingMessage>;
74
78
  abstract changeOptions(changes: {
@@ -76,6 +80,7 @@ export default abstract class BaseSignaling extends EventEmitter {
76
80
  }): Promise<SignalingMessage>;
77
81
  abstract getWaitingHall(fromId: WaitingParticipantId | null, count?: number, backward?: boolean): Promise<SignalingMessage>;
78
82
  abstract promoteParticipant(participantId: CompositeUserId, demote?: boolean): Promise<SignalingMessage>;
83
+ abstract feedback(key: string): Promise<SignalingMessage>;
79
84
  abstract setProducerNotificationDataChannel(dataChannel: RTCDataChannel): void;
80
85
  abstract setProducerCommandDataChannel(dataChannel: RTCDataChannel): void;
81
86
  abstract useCommandDataChannel(status: boolean): void;