@vkontakte/calls-sdk 2.6.2-dev.ec4dca1.0 → 2.6.2-dev.ef18584.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 (42) hide show
  1. package/CallsSDK.d.ts +26 -12
  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 +21 -8
  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 +14 -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 +3 -1
  22. package/package.json +1 -1
  23. package/static/ApiTransport.d.ts +1 -1
  24. package/static/External.d.ts +20 -8
  25. package/static/Params.d.ts +47 -4
  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/Feedback.d.ts +22 -0
  32. package/types/LayoutUtils.d.ts +5 -0
  33. package/types/MediaSettings.d.ts +4 -0
  34. package/types/MovieShare.d.ts +30 -7
  35. package/types/ParticipantLayout.d.ts +7 -1
  36. package/types/ParticipantStreamDescription.d.ts +2 -1
  37. package/types/SignalingMessage.d.ts +13 -0
  38. package/types/WaitingHall.d.ts +2 -8
  39. package/utils/ArrayDequeue.d.ts +24 -0
  40. package/utils/ArrayDequeue.spec.d.ts +1 -0
  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,7 +47,11 @@ 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';
49
- import { ISharedMovieInfo, ISharedMovieStoppedInfo, ISharedMovieState, ISharedMovieStateResponse, IAddMovieParams } from './types/MovieShare';
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';
54
+ import { ArrayDequeue } from './utils/ArrayDequeue';
50
55
  /**
51
56
  * Информация о текущем браузере
52
57
  */
@@ -185,9 +190,10 @@ export declare function init(params: Partial<ParamsObject>): Promise<void>;
185
190
  * @param payload Дополнительные данные для передачи на сервер
186
191
  * @param joiningAllowed Создать токен комнаты для подключения по ссылке
187
192
  * @param requireAuthToJoin Запретить анонимам подключаться по ссылке (если поддерживается сервером)
193
+ * @param onlyAdminCanShareMovie Только администратор может включать совметсный просмотр
188
194
  */
189
- export declare function callTo(externalId?: string | ExternalId | string[] | ExternalId[], mediaOptions?: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean): Promise<ConversationData>;
190
- export declare function callInternal(ids: OkUserId[], type: CallType, mediaOptions: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean): Promise<ConversationData>;
195
+ export declare function callTo(externalId?: string | ExternalId | string[] | ExternalId[], mediaOptions?: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, onlyAdminCanShareMovie?: boolean): Promise<ConversationData>;
196
+ export declare function callInternal(ids: OkUserId[], type: CallType, mediaOptions: MediaOption[], payload?: string, joiningAllowed?: boolean, requireAuthToJoin?: boolean, onlyAdminCanShareMovie?: boolean): Promise<ConversationData>;
191
197
  /**
192
198
  * Обработать пуш о входящем звонке
193
199
  *
@@ -275,6 +281,13 @@ export declare function changeDevice(kind: MediaDeviceKind, deviceId: string): P
275
281
  * @param state Включить или выключить
276
282
  */
277
283
  export declare function captureScreen(state: boolean): Promise<void>;
284
+ /**
285
+ * Включить/выключить захват экрана
286
+ *
287
+ * @param screenState Включить или выключить захват экрана.
288
+ * @param audioShareState Включить или выключить захват звука. Может быть использован только вместе с захватом экрана.
289
+ */
290
+ export declare function captureScreenAndAudio(screenState: boolean, audioShareState: boolean): Promise<void>;
278
291
  /**
279
292
  * Позволяет установить кастомный стрим для видео
280
293
  * например для стрима из canvas, с наложением изображений
@@ -394,9 +407,12 @@ export declare function customDataInternal(data: JSONObject, uid?: OkUserId | nu
394
407
  *
395
408
  * @param payload Дополнительные данные для передачи на сервер
396
409
  * @param requireAuthToJoin Запретить анонимам подключаться по ссылке (если поддерживается сервером)
410
+ * @param startConversationParameters Дополнительные параметры для создания звонка (например onlyAdminCanShareMovie)
397
411
  * @returns Токен комнаты
398
412
  */
399
- export declare function startConversation(payload?: string, requireAuthToJoin?: boolean): Promise<string>;
413
+ export declare function startConversation(payload?: string, requireAuthToJoin?: boolean, { onlyAdminCanShareMovie }?: {
414
+ onlyAdminCanShareMovie?: boolean;
415
+ }): Promise<string>;
400
416
  /**
401
417
  * Создать токен комнаты для подключения по ссылке к существующему звонку
402
418
  *
@@ -455,12 +471,9 @@ export declare function addMovie(params: IAddMovieParams): Promise<{
455
471
  /**
456
472
  * Изменить видео/лайв в звонке
457
473
  *
458
- * @param movieId
459
- * @param gain
460
- * @param offset
461
- * @param pause
474
+ * @param params
462
475
  */
463
- export declare function updateMovie(movieId: string, gain?: number, offset?: number, pause?: boolean): Promise<void>;
476
+ export declare function updateMovie(params: IUpdateMovieData): Promise<void>;
464
477
  /**
465
478
  * Удалить видео/лайв из звонка
466
479
  *
@@ -516,6 +529,8 @@ export declare function getWaitingHall(pageMarker?: string | null, count?: numbe
516
529
  export declare function promoteParticipant(externalId: ExternalId, demote?: boolean): Promise<void>;
517
530
  export declare function getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<import("./types/ExternalId").ExternalParticipantListChunk>;
518
531
  export declare function getParticipants(parameters: IGetParticipantsParameters): Promise<ExternalParticipant[]>;
532
+ export declare function feedback(key: string): Promise<SignalingMessage>;
533
+ export declare function enableFeatureForRoles(feature: ConversationFeature, roles: UserRole[]): Promise<void>;
519
534
  /**
520
535
  * Удаляет записи истории звонков
521
536
  *
@@ -526,6 +541,5 @@ export declare function removeHistoryRecords(recordIds: number[]): Promise<void>
526
541
  * Версия SDK
527
542
  */
528
543
  export declare function version(): string;
529
- 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, };
530
- 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, };
531
- export type { ISharedMovieInfo, ISharedMovieStoppedInfo, ISharedMovieState, ISharedMovieStateResponse, IAddMovieParams, };
544
+ 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, };
545
+ 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, ArrayDequeue, };
@@ -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,9 +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';
14
- import { IAddMovieParams, ISharedMovieState } from '../types/MovieShare';
15
+ import { IAddMovieParams, IUpdateMovieData } from '../types/MovieShare';
15
16
  import MuteStates from '../types/MuteStates';
16
17
  import { CompositeUserId, ParticipantId } from '../types/Participant';
18
+ import { ParticipantLayout, RequestKeyFrame, StopStream } from '../types/ParticipantLayout';
17
19
  import { ParticipantListChunkParameters } from '../types/ParticipantListChunk';
18
20
  import SignalingMessage from '../types/SignalingMessage';
19
21
  import { WaitingParticipantId } from '../types/WaitingHall';
@@ -54,10 +56,10 @@ export default abstract class BaseSignaling extends EventEmitter {
54
56
  [key: string]: number;
55
57
  }): Promise<SignalingMessage | void>;
56
58
  abstract updateDisplayLayout(layouts: {
57
- [key: string]: string;
59
+ [streamDesc: string]: ParticipantLayout | StopStream | RequestKeyFrame;
58
60
  }): Promise<SignalingMessage | void>;
59
61
  abstract addMovie(data: IAddMovieParams): Promise<SignalingMessage>;
60
- abstract updateMovie(data: ISharedMovieState): Promise<SignalingMessage>;
62
+ abstract updateMovie(data: IUpdateMovieData): Promise<SignalingMessage>;
61
63
  abstract removeMovie(data: any): Promise<SignalingMessage>;
62
64
  abstract startStream(data: any): Promise<SignalingMessage>;
63
65
  abstract stopStream(): Promise<SignalingMessage>;
@@ -70,6 +72,7 @@ export default abstract class BaseSignaling extends EventEmitter {
70
72
  abstract customData(data: JSONObject, participantId: ParticipantId | null): Promise<SignalingMessage>;
71
73
  abstract grantRoles(participantId: CompositeUserId, roles: UserRole[], revoke: boolean): Promise<SignalingMessage>;
72
74
  abstract muteParticipant(participantId: ParticipantId | null, muteStates: MuteStates, requestedMedia: MediaOption[]): Promise<SignalingMessage>;
75
+ abstract enableFeatureForRoles(feature: ConversationFeature, roles: UserRole[]): Promise<SignalingMessage>;
73
76
  abstract pinParticipant(participantId: ParticipantId, unpin: boolean): Promise<SignalingMessage>;
74
77
  abstract updateMediaModifiers(mediaModifiers: MediaModifiers): Promise<SignalingMessage>;
75
78
  abstract changeOptions(changes: {
@@ -77,8 +80,10 @@ export default abstract class BaseSignaling extends EventEmitter {
77
80
  }): Promise<SignalingMessage>;
78
81
  abstract getWaitingHall(fromId: WaitingParticipantId | null, count?: number, backward?: boolean): Promise<SignalingMessage>;
79
82
  abstract promoteParticipant(participantId: CompositeUserId, demote?: boolean): Promise<SignalingMessage>;
83
+ abstract feedback(key: string): Promise<SignalingMessage>;
80
84
  abstract setProducerNotificationDataChannel(dataChannel: RTCDataChannel): void;
81
85
  abstract setProducerCommandDataChannel(dataChannel: RTCDataChannel): void;
86
+ abstract useCommandDataChannel(status: boolean): void;
82
87
  abstract getParticipantListChunk(participantListChunkParameters: ParticipantListChunkParameters): Promise<SignalingMessage>;
83
88
  abstract getParticipants(externalIds: SignalingMessage.ExternalId[]): Promise<SignalingMessage>;
84
89
  get ready(): boolean;