@vkontakte/calls-sdk 2.8.11-dev.fdf6f999.0 → 2.8.12-beta.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 (41) hide show
  1. package/CallsSDK.d.ts +12 -24
  2. package/abstract/BaseApi.d.ts +4 -5
  3. package/abstract/BaseSignaling.d.ts +3 -4
  4. package/calls-sdk.cjs.js +9 -11
  5. package/calls-sdk.esm.js +6147 -5794
  6. package/classes/CallRegistry.d.ts +26 -0
  7. package/classes/Conversation.d.ts +48 -31
  8. package/classes/MediaSource.d.ts +7 -0
  9. package/classes/SpecListener.d.ts +5 -0
  10. package/classes/StatsLogger.d.ts +17 -5
  11. package/classes/codec/WorkerBase.d.ts +2 -0
  12. package/classes/stat/CallLifecycleStats.d.ts +47 -0
  13. package/classes/stat/ConversationStats.d.ts +5 -4
  14. package/classes/stat/FirstMediaSentProbe.d.ts +13 -0
  15. package/classes/stat/StatPings.d.ts +1 -2
  16. package/classes/stat/StatSignalingCommands.d.ts +1 -2
  17. package/classes/transport/BaseTransport.d.ts +7 -1
  18. package/classes/transport/DirectTransport.d.ts +6 -11
  19. package/classes/transport/ServerTransport.d.ts +1 -15
  20. package/classes/transport/Transport.d.ts +9 -21
  21. package/default/Api.d.ts +9 -8
  22. package/default/Signaling.d.ts +2 -0
  23. package/default/SignalingTransport.d.ts +3 -1
  24. package/enums/HangupType.d.ts +1 -0
  25. package/enums/SignalingNotification.d.ts +3 -1
  26. package/enums/Stat.d.ts +6 -1
  27. package/package.json +1 -1
  28. package/static/Capabilities.d.ts +5 -0
  29. package/static/External.d.ts +143 -76
  30. package/static/Params.d.ts +103 -100
  31. package/static/ParticipantConnectionStatusUtils.d.ts +16 -0
  32. package/types/Capabilities.d.ts +24 -0
  33. package/types/Conversation.d.ts +12 -2
  34. package/types/ExternalId.d.ts +1 -1
  35. package/types/Participant.d.ts +12 -1
  36. package/types/PushData.d.ts +3 -0
  37. package/types/SignalingMessage.d.ts +14 -1
  38. package/types/Statistics.d.ts +0 -4
  39. package/types/WebTransport.d.ts +3 -1
  40. package/static/DebugVideoStats.d.ts +0 -37
  41. package/types/VideoStreamDebug.d.ts +0 -5
@@ -20,7 +20,6 @@ import MuteStates from '../types/MuteStates';
20
20
  import { ParticipantsStateList, ParticipantStateMapped } from '../types/Participant';
21
21
  import { IRoomId, Room, RoomParticipantUpdate, Rooms, RoomsUpdate } from '../types/Room';
22
22
  import { VmojiError } from '../types/Vmoji';
23
- import type { VideoStreamDebugInfo } from '../types/VideoStreamDebug';
24
23
  import { DebugMessageType } from './Debug';
25
24
  import { JSONObject } from './Json';
26
25
  import { ParticipantCapabilities } from './SignalingCapabilities';
@@ -36,7 +35,8 @@ export declare enum ParticipantStatus {
36
35
  RECONNECT = "RECONNECT",
37
36
  ERROR = "ERROR",
38
37
  HANGUP = "HANGUP",
39
- PERMISSIONS = "PERMISSIONS"
38
+ PERMISSIONS = "PERMISSIONS",
39
+ ONHOLD = "ONHOLD"
40
40
  }
41
41
  /**
42
42
  * Функции обратного вызова для передачи в параметрах инициализации
@@ -48,103 +48,117 @@ declare namespace External {
48
48
  *
49
49
  * @param stream
50
50
  * @param mediaSettings
51
+ * @param conversationId ID звонка
51
52
  */
52
- function onLocalStream(stream: MediaStream | null, mediaSettings: MediaSettings): void;
53
+ function onLocalStream(stream: MediaStream | null, mediaSettings: MediaSettings, conversationId?: string): void;
53
54
  /**
54
55
  * Локальный стрим с экрана добавлен/удалён
55
56
  *
56
57
  * @param stream
57
58
  * @param mediaSettings
59
+ * @param conversationId
58
60
  */
59
- function onScreenStream(stream: MediaStream | null, mediaSettings: MediaSettings): void;
61
+ function onScreenStream(stream: MediaStream | null, mediaSettings: MediaSettings, conversationId?: string): void;
60
62
  /**
61
63
  * Локальный стрим вимоджи добавлен/удалён
62
64
  *
63
65
  * @param stream
64
66
  * @param mediaSettings
67
+ * @param conversationId
65
68
  */
66
- function onVmojiStream(stream: MediaStream | null, mediaSettings: MediaSettings): void;
69
+ function onVmojiStream(stream: MediaStream | null, mediaSettings: MediaSettings, conversationId?: string): void;
67
70
  /**
68
71
  * Получена ошибка Vmoji
69
72
  *
70
73
  * @param error
74
+ * @param conversationId
71
75
  */
72
- function onVmojiError(error: VmojiError): void;
76
+ function onVmojiError(error: VmojiError, conversationId?: string): void;
73
77
  /**
74
78
  * Локальный стрим изменился
75
79
  *
76
80
  * @param mediaSettings
77
81
  * @param kind
82
+ * @param conversationId
78
83
  */
79
- function onLocalStreamUpdate(mediaSettings: MediaSettings, kind: MediaTrackKind): void;
84
+ function onLocalStreamUpdate(mediaSettings: MediaSettings, kind: MediaTrackKind, conversationId?: string): void;
80
85
  /**
81
86
  * Изменился статус локального соединения
82
87
  *
83
88
  * @param status
89
+ * @param conversationId ID звонка
84
90
  */
85
- function onLocalStatus(status: ParticipantStatus): void;
91
+ function onLocalStatus(status: ParticipantStatus, conversationId?: string): void;
86
92
  /**
87
93
  * Получен стрим собеседника.
88
94
  * Если сервер закончил стримить собеседника, вместо стрима будет передан null
89
95
  *
90
96
  * @param userId
91
97
  * @param stream
98
+ * @param conversationId ID звонка
92
99
  */
93
- function onRemoteStream(userId: ExternalParticipantId, stream: MediaStream | null): void;
100
+ function onRemoteStream(userId: ExternalParticipantId, stream: MediaStream | null, conversationId?: string): void;
94
101
  /**
95
102
  * Получен стрим лайв от собеседника.
96
103
  * Если сервер закончил стримить собеседника, вместо стрима будет передан null
97
104
  *
98
105
  * @param userId
99
106
  * @param data
107
+ * @param conversationId
100
108
  */
101
- function onRemoteLive(userId: ExternalParticipantId, data: IOnRemoteMovieData): void;
109
+ function onRemoteLive(userId: ExternalParticipantId, data: IOnRemoteMovieData, conversationId?: string): void;
102
110
  /**
103
111
  * Получен собственный стрим лайв.
104
112
  * Если сервер закончил стримить собеседника, вместо стрима будет передан null
105
113
  *
106
114
  * @param userId
107
115
  * @param data
116
+ * @param conversationId
108
117
  */
109
- function onLocalLive(userId: ExternalParticipantId, data: IOnRemoteMovieData): void;
118
+ function onLocalLive(userId: ExternalParticipantId, data: IOnRemoteMovieData, conversationId?: string): void;
110
119
  /**
111
120
  * Получено обновление стрима или лайва от собеседника.
112
121
  *
113
122
  * @param userId
114
123
  * @param data
124
+ * @param conversationId
115
125
  */
116
- function onRemoteLiveUpdate(userId: ExternalParticipantId, data: ISharedMovieState): void;
126
+ function onRemoteLiveUpdate(userId: ExternalParticipantId, data: ISharedMovieState, conversationId?: string): void;
117
127
  /**
118
128
  * Получено обновление собственного стрима или лайва.
119
129
  *
120
130
  * @param userId
121
131
  * @param data
132
+ * @param conversationId
122
133
  */
123
- function onLocalLiveUpdate(userId: ExternalParticipantId, data: ISharedMovieState): void;
134
+ function onLocalLiveUpdate(userId: ExternalParticipantId, data: ISharedMovieState, conversationId?: string): void;
124
135
  /**
125
136
  * Получен стрим с экрана собеседника.
126
137
  * Если сервер закончил стримить экран собеседника, вместо стрима будет передан null
127
138
  *
128
139
  * @param userId
129
140
  * @param stream
141
+ * @param conversationId ID звонка
130
142
  */
131
- function onRemoteScreenStream(userId: ExternalParticipantId, stream: MediaStream | null): void;
143
+ function onRemoteScreenStream(userId: ExternalParticipantId, stream: MediaStream | null, conversationId?: string): void;
132
144
  /**
133
145
  * Получен стрим вимоджи собеседника.
134
146
  * Если сервер закончил стримить собеседника, вместо стрима будет передан null
135
147
  *
136
148
  * @param userId
137
149
  * @param stream
150
+ * @param conversationId
138
151
  */
139
- function onRemoteVmojiStream(userId: ExternalParticipantId, stream: MediaStream | null): void;
152
+ function onRemoteVmojiStream(userId: ExternalParticipantId, stream: MediaStream | null, conversationId?: string): void;
140
153
  /**
141
154
  * Cтрим собеседника приостановлен/возобновлен.
142
155
  *
143
156
  * @param userId
144
157
  * @param mediaType тип отключённого/включённого потока
145
158
  * @param suspended true - стрим был приостановлен, false - стрим был запущен
159
+ * @param conversationId
146
160
  */
147
- function onRemoteStreamSuspended(userId: ExternalParticipantId, mediaType: MediaType, suspended: boolean): void;
161
+ function onRemoteStreamSuspended(userId: ExternalParticipantId, mediaType: MediaType, suspended: boolean, conversationId?: string): void;
148
162
  /**
149
163
  * Начат звонок
150
164
  *
@@ -153,106 +167,120 @@ declare namespace External {
153
167
  * @param muteStates Состояние устройств при входе в звонок
154
168
  * @param participants Список участников звонка
155
169
  * @param rooms Список сессионных залов в звонке
170
+ * @param conversationId ID звонка
156
171
  */
157
- function onConversation(userId: ExternalParticipantId, mediaModifiers: MediaModifiers, muteStates: MuteStates, participants: ExternalParticipant[], rooms?: Rooms): void;
172
+ function onConversation(userId: ExternalParticipantId, mediaModifiers: MediaModifiers, muteStates: MuteStates, participants: ExternalParticipant[], rooms?: Rooms, conversationId?: string): void;
158
173
  /**
159
174
  * Постраничные данные про участников при начале звонка
160
175
  * @param chunk
176
+ * @param conversationId
161
177
  */
162
- function onConversationParticipantListChunk(chunk: ExternalParticipantListChunk): void;
178
+ function onConversationParticipantListChunk(chunk: ExternalParticipantListChunk, conversationId?: string): void;
163
179
  /**
164
180
  * Изменились данные стрима собеседника
165
181
  *
166
182
  * @param userId
167
183
  * @param mediaSettings
168
184
  * @param markers
185
+ * @param conversationId
169
186
  */
170
- function onRemoteMediaSettings(userId: ExternalParticipantId, mediaSettings: MediaSettings, markers: ExternalParticipantListMarkers | null): void;
187
+ function onRemoteMediaSettings(userId: ExternalParticipantId, mediaSettings: MediaSettings, markers: ExternalParticipantListMarkers | null, conversationId?: string): void;
171
188
  /**
172
189
  * Изменились данные собственного стрима
173
190
  *
174
191
  * @param userId
175
192
  * @param mediaSettings
193
+ * @param conversationId
176
194
  */
177
- function onLocalMediaSettings(userId: ExternalParticipantId, mediaSettings: MediaSettings): void;
195
+ function onLocalMediaSettings(userId: ExternalParticipantId, mediaSettings: MediaSettings, conversationId?: string): void;
178
196
  /**
179
197
  * Полученны данные по стримам (лайв/мувик) от собеседника
180
198
  *
181
199
  * @param userId
182
200
  * @param sharedMovieInfo
183
201
  * @param roomId
202
+ * @param conversationId
184
203
  */
185
- function onRemoteSharedMovieInfo(userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId): void;
204
+ function onRemoteSharedMovieInfo(userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId, conversationId?: string): void;
186
205
  /**
187
206
  * Полученны данные по остановленным стримам (лайв/мувик) от собеседника
188
207
  *
189
208
  * @param userId
190
209
  * @param sharedMovieStoppedInfo
191
210
  * @param roomId
211
+ * @param conversationId
192
212
  */
193
- function onRemoteSharedMovieStoppedInfo(userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId): void;
213
+ function onRemoteSharedMovieStoppedInfo(userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId, conversationId?: string): void;
194
214
  /**
195
215
  * Полученны данные по собственным стримам (лайв/мувик)
196
216
  *
197
217
  * @param userId
198
218
  * @param sharedMovieInfo
199
219
  * @param roomId
220
+ * @param conversationId
200
221
  */
201
- function onLocalSharedMovieInfo(userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId): void;
222
+ function onLocalSharedMovieInfo(userId: ExternalParticipantId, sharedMovieInfo: ISharedMovieInfo, roomId?: IRoomId, conversationId?: string): void;
202
223
  /**
203
224
  * Полученны данные по собственным остановленным стримам (лайв/мувик)
204
225
  *
205
226
  * @param userId
206
227
  * @param sharedMovieStoppedInfo
207
228
  * @param roomId
229
+ * @param conversationId
208
230
  */
209
- function onLocalSharedMovieStoppedInfo(userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId): void;
231
+ function onLocalSharedMovieStoppedInfo(userId: ExternalParticipantId, sharedMovieStoppedInfo: ISharedMovieStoppedInfo, roomId?: IRoomId, conversationId?: string): void;
210
232
  /**
211
233
  * Получены данные о совместном использовании стороннего web-приложения
212
234
  *
213
235
  * @param userId
214
236
  * @param sharedUrl
215
237
  * @param roomId
238
+ * @param conversationId
216
239
  */
217
- function onRemoteSharedUrl(userId: ExternalParticipantId, sharedUrl: string | undefined, roomId: IRoomId): void;
240
+ function onRemoteSharedUrl(userId: ExternalParticipantId, sharedUrl: string | undefined, roomId: IRoomId, conversationId?: string): void;
218
241
  /**
219
242
  * Добавили участника
220
243
  *
221
244
  * @param userId
222
245
  * @param markers
246
+ * @param conversationId ID звонка
223
247
  */
224
- function onParticipantAdded(userId: ExternalId, markers: ExternalParticipantListMarkers | null): void;
248
+ function onParticipantAdded(userId: ExternalId, markers: ExternalParticipantListMarkers | null, conversationId?: string): void;
225
249
  /**
226
250
  * Участник подключился
227
251
  *
228
252
  * @param userId
229
253
  * @param markers
254
+ * @param conversationId ID звонка
230
255
  */
231
- function onParticipantJoined(userId: ExternalId, markers: ExternalParticipantListMarkers | null): void;
232
- function onLocalParticipantState(participantState: ParticipantStateMapped, global?: boolean): void;
256
+ function onParticipantJoined(userId: ExternalId, markers: ExternalParticipantListMarkers | null, conversationId?: string): void;
257
+ function onLocalParticipantState(participantState: ParticipantStateMapped, global?: boolean, conversationId?: string): void;
233
258
  /**
234
259
  * Изменились данные состояний собеседника
235
260
  *
236
261
  * @param userId
237
262
  * @param participantState
238
263
  * @param markers
264
+ * @param conversationId
239
265
  */
240
- function onRemoteParticipantState(userId: ExternalParticipantId, participantState: ParticipantStateMapped, markers: ExternalParticipantListMarkers | null): void;
266
+ function onRemoteParticipantState(userId: ExternalParticipantId, participantState: ParticipantStateMapped, markers: ExternalParticipantListMarkers | null, conversationId?: string): void;
241
267
  /**
242
268
  * Изменились данные состояний нескольких собеседников
243
269
  *
244
270
  * @param stateList
245
271
  * @param roomId
272
+ * @param conversationId
246
273
  */
247
- function onRemoteParticipantsState(stateList: ParticipantsStateList, roomId?: IRoomId): void;
274
+ function onRemoteParticipantsState(stateList: ParticipantsStateList, roomId?: IRoomId, conversationId?: string): void;
248
275
  /**
249
276
  * Изменился статус соединения собеседников
250
277
  *
251
278
  * @param userIds
252
279
  * @param status
253
280
  * @param data
281
+ * @param conversationId ID звонка
254
282
  */
255
- function onRemoteStatus(userIds: ExternalParticipantId[], status: ParticipantStatus, data?: any): void;
283
+ function onRemoteStatus(userIds: ExternalParticipantId[], status: ParticipantStatus, data?: any, conversationId?: string): void;
256
284
  /**
257
285
  * Разрешения на доступы были запрошены в браузере
258
286
  */
@@ -269,23 +297,26 @@ declare namespace External {
269
297
  *
270
298
  * @param userId
271
299
  * @param markers
300
+ * @param conversationId ID звонка
272
301
  */
273
- function onRemoteRemoved(userId: ExternalParticipantId, markers: ExternalParticipantListMarkers | null): void;
302
+ function onRemoteRemoved(userId: ExternalParticipantId, markers: ExternalParticipantListMarkers | null, conversationId?: string): void;
274
303
  /**
275
304
  * Изменилось состояние звонка
276
305
  *
277
306
  * @param isCallActive Активен ли сейчас звонок
278
307
  * @param canAddParticipants Можно ли добавлять собеседников
279
308
  * @param conversation Информация о звонке
309
+ * @param conversationId ID звонка
280
310
  */
281
- function onCallState(isCallActive: boolean, canAddParticipants: boolean, conversation: ConversationData): void;
311
+ function onCallState(isCallActive: boolean, canAddParticipants: boolean, conversation: ConversationData, conversationId?: string): void;
282
312
  /**
283
313
  * Изменилось состояние камеры или микрофона
284
314
  *
285
315
  * @param mediaOption Тип устройства
286
316
  * @param enabled Включено или выключено
317
+ * @param conversationId ID звонка
287
318
  */
288
- function onDeviceSwitched(mediaOption: MediaOption, enabled: boolean): void;
319
+ function onDeviceSwitched(mediaOption: MediaOption, enabled: boolean, conversationId?: string): void;
289
320
  /**
290
321
  * Изменились состояния устройств пользователя или разрешения включать камеру/микрофон
291
322
  *
@@ -299,23 +330,26 @@ declare namespace External {
299
330
  * @param stateUpdated Если `true`, значит глобальное/персональное состояние изменилось и поля `muteStates`/`unmuteOptions` содержат обновления, если `false`, значит, эти поля не имеют значения
300
331
  * @param requestedMedia Какие устройства попросили включить участника
301
332
  * @param roomId ID сессионного зала или ничего в случае основного зала
333
+ * @param conversationId
302
334
  */
303
- function onMuteStates(muteStates: MuteStates, unmuteOptions: MediaOption[], mediaOptions: MediaOption[], muteAll?: boolean, unmute?: boolean, userId?: ExternalParticipantId | null, adminId?: ExternalParticipantId | null, stateUpdated?: boolean, requestedMedia?: MediaOption[], roomId?: number | null): void;
335
+ function onMuteStates(muteStates: MuteStates, unmuteOptions: MediaOption[], mediaOptions: MediaOption[], muteAll?: boolean, unmute?: boolean, userId?: ExternalParticipantId | null, adminId?: ExternalParticipantId | null, stateUpdated?: boolean, requestedMedia?: MediaOption[], roomId?: number | null, conversationId?: string): void;
304
336
  /**
305
337
  * Изменились роли собеседника в звонке
306
338
  *
307
339
  * @param userId Внешний ID пользователя
308
340
  * @param roles Список ролей
309
341
  * @param isInitial Коллбек вызван при инициализации (переподключение в звонок, заранее назначенный админ)
342
+ * @param conversationId
310
343
  */
311
- function onRolesChanged(userId: ExternalId, roles: UserRole[], isInitial?: boolean): void;
344
+ function onRolesChanged(userId: ExternalId, roles: UserRole[], isInitial?: boolean, conversationId?: string): void;
312
345
  /**
313
346
  * Изменились свои роли в звонке
314
347
  *
315
348
  * @param roles Список ролей
316
349
  * @param isInitial Коллбек вызван при инициализации (переподключение в звонок, заранее назначенный админ)
350
+ * @param conversationId
317
351
  */
318
- function onLocalRolesChanged(roles: UserRole[], isInitial?: boolean): void;
352
+ function onLocalRolesChanged(roles: UserRole[], isInitial?: boolean, conversationId?: string): void;
319
353
  /**
320
354
  * Закрепляет/открепляет собеседника для всех
321
355
  *
@@ -323,47 +357,62 @@ declare namespace External {
323
357
  * @param unpin Открепить или закрепить
324
358
  * @param markers
325
359
  * @param roomId ID сессионного зала или ничего в случае основного зала
360
+ * @param conversationId
326
361
  */
327
- function onPinnedParticipant(userId: ExternalParticipantId, unpin: boolean, markers: ExternalParticipantListMarkers | null, roomId?: number | null): void;
362
+ function onPinnedParticipant(userId: ExternalParticipantId, unpin: boolean, markers: ExternalParticipantListMarkers | null, roomId?: number | null, conversationId?: string): void;
328
363
  /**
329
364
  * Закрепляет/открепляет текущего пользователя у других собеседников
330
365
  *
331
366
  * @param unpin Открепить или закрепить
332
367
  * @param roomId ID сессионного зала или ничего в случае основного зала
368
+ * @param conversationId
333
369
  */
334
- function onLocalPin(unpin: boolean, roomId?: number | null): void;
370
+ function onLocalPin(unpin: boolean, roomId?: number | null, conversationId?: string): void;
335
371
  /**
336
372
  * Изменились опции звонка
337
373
  *
338
374
  * @param options Список опций звонка
375
+ * @param conversationId
339
376
  */
340
- function onOptionsChanged(options: ConversationOption[]): void;
377
+ function onOptionsChanged(options: ConversationOption[], conversationId?: string): void;
341
378
  /**
342
379
  * Входящий звонок был принят мной
380
+ *
381
+ * @param conversationId ID звонка
382
+ */
383
+ function onCallAccepted(conversationId?: string): void;
384
+ /**
385
+ * Установление определенного звонка как активного
386
+ *
387
+ * @param conversationId ID звонка
343
388
  */
344
- function onCallAccepted(): void;
389
+ function onCallActive(conversationId: string): void;
345
390
  /**
346
391
  * Исходящий звонок был принят кем-то
392
+ *
347
393
  * @param userId
348
394
  * @param capabilities
395
+ * @param conversationId ID звонка
349
396
  */
350
- function onAcceptedCall(userId: ExternalId, capabilities: ParticipantCapabilities): void;
351
- function onRateNeeded(): void;
397
+ function onAcceptedCall(userId: ExternalId, capabilities: ParticipantCapabilities, conversationId?: string): void;
398
+ function onRateNeeded(conversationId?: string): void;
352
399
  /**
353
400
  * Изменился говорящий в звонке
354
401
  *
355
402
  * @param userId
403
+ * @param conversationId ID звонка
356
404
  */
357
- function onSpeakerChanged(userId: ExternalParticipantId): void;
405
+ function onSpeakerChanged(userId: ExternalParticipantId, conversationId?: string): void;
358
406
  /**
359
407
  * Громкость собеседников
360
408
  *
361
409
  * @param volumes
410
+ * @param conversationId
362
411
  */
363
412
  function onVolumesDetected(volumes: {
364
413
  uid: ExternalParticipantId;
365
414
  volume: number;
366
- }[]): void;
415
+ }[], conversationId?: string): void;
367
416
  /**
368
417
  * Громкость своего микрофона
369
418
  *
@@ -371,7 +420,7 @@ declare namespace External {
371
420
  * @param isMicEnabled
372
421
  */
373
422
  function onLocalVolume(volume: number, isMicEnabled: boolean): void;
374
- function onJoinStatus(available: boolean, chatId: string): void;
423
+ function onJoinStatus(available: boolean, chatId: string, conversationId?: string): void;
375
424
  /**
376
425
  * Звонок был завершен
377
426
  *
@@ -398,16 +447,18 @@ declare namespace External {
398
447
  * @param message Сообщение
399
448
  * @param from ID отправителя
400
449
  * @param direct Личное сообщение или общее
450
+ * @param conversationId
401
451
  */
402
- function onChatMessage(message: string, from: ExternalParticipantId, direct?: boolean): void;
452
+ function onChatMessage(message: string, from: ExternalParticipantId, direct?: boolean, conversationId?: string): void;
403
453
  /**
404
454
  * Получены данные от собеседника
405
455
  *
406
456
  * @param data Данные
407
457
  * @param from ID отправителя
408
458
  * @param direct Личное сообщение или общее
459
+ * @param conversationId
409
460
  */
410
- function onCustomData(data: JSONObject, from: ExternalParticipantId, direct?: boolean): void;
461
+ function onCustomData(data: JSONObject, from: ExternalParticipantId, direct?: boolean, conversationId?: string): void;
411
462
  /**
412
463
  * Начата запись звонка
413
464
  *
@@ -418,28 +469,33 @@ declare namespace External {
418
469
  * @param externalMovieId Внешний ID ролика
419
470
  * @param externalOwnerId Внешний ID пользователя/группы от которого ведётся трансляция
420
471
  * @param roomId ID зала в котором стартанула запись
472
+ * @param conversationId
421
473
  */
422
- function onRecordStarted(initiator: ExternalParticipantId, movieId: number, startTime: number, type: 'STREAM' | 'RECORD', externalMovieId?: string, externalOwnerId?: string, roomId?: number | null): void;
474
+ function onRecordStarted(initiator: ExternalParticipantId, movieId: number, startTime: number, type: 'STREAM' | 'RECORD', externalMovieId?: string, externalOwnerId?: string, roomId?: number | null, conversationId?: string): void;
423
475
  /**
424
476
  * Закончена запись звонка
425
477
  * @param roomId ID зала в котором остановлена запись
478
+ * @param stopBy
479
+ * @param conversationId
426
480
  */
427
- function onRecordStopped(roomId: number | null | undefined, stopBy: ExternalParticipantId | null): void;
481
+ function onRecordStopped(roomId: number | null | undefined, stopBy: ExternalParticipantId | null, conversationId?: string): void;
428
482
  /**
429
483
  * Состояние своей сети
430
484
  *
431
485
  * @param rating Оценка качества соединения от 0 до 1
486
+ * @param conversationId
432
487
  */
433
- function onLocalNetworkStatusChanged(rating: number): void;
488
+ function onLocalNetworkStatusChanged(rating: number, conversationId?: string): void;
434
489
  /**
435
490
  * Состояние сети участников
436
491
  *
437
492
  * @param status Оценки качества соединения участников от 0 до 1
493
+ * @param conversationId
438
494
  */
439
495
  function onNetworkStatusChanged(status: {
440
496
  uid: ExternalParticipantId;
441
497
  rating: number;
442
- }[]): void;
498
+ }[], conversationId?: string): void;
443
499
  /**
444
500
  * Получено отладочное сообщение. Работает только при выключенном режиме отладки
445
501
  *
@@ -469,107 +525,118 @@ declare namespace External {
469
525
  * @param firstParticipants Первые несколько ожидающих в зале
470
526
  * @param addedParticipantIds Некоторое количество участников, добавленных в зал
471
527
  * @param removedParticipantIds Некоторое количество участников, убранных из зала
528
+ * @param conversationId
472
529
  */
473
- function onChatRoomUpdated(eventType: ChatRoomEventType, totalCount: number, firstParticipants: ExternalId[], addedParticipantIds: ExternalId[], removedParticipantIds: ExternalId[]): void;
530
+ function onChatRoomUpdated(eventType: ChatRoomEventType, totalCount: number, firstParticipants: ExternalId[], addedParticipantIds: ExternalId[], removedParticipantIds: ExternalId[], conversationId?: string): void;
474
531
  /**
475
532
  * Участник повышен/разжалован в зале ожидания/зале в режиме Audience
476
533
  *
477
534
  * @param demoted участник разжалован
535
+ * @param conversationId
478
536
  */
479
- function onPromoted(demoted: boolean): void;
537
+ function onPromoted(demoted: boolean, conversationId?: string): void;
480
538
  /**
481
539
  * Получен микшированный аудио стрим.
482
540
  *
483
541
  * @param stream стрим от WebRTC
542
+ * @param conversationId
484
543
  */
485
- function onRemoteMixedAudioStream(stream: MediaStream): void;
544
+ function onRemoteMixedAudioStream(stream: MediaStream, conversationId?: string): void;
486
545
  /**
487
546
  * Получена новая ссылка на звонок
488
547
  * @param joinLink токен присоединения к звонку
548
+ * @param conversationId
489
549
  */
490
- function onJoinLinkChanged(joinLink: string | null): void;
550
+ function onJoinLinkChanged(joinLink: string | null, conversationId?: string): void;
491
551
  /**
492
552
  * Получено обновление по сессионным залам
493
553
  * @param updates
554
+ * @param conversationId
494
555
  */
495
- function onRoomsUpdated(updates: Partial<Record<RoomsEventType, RoomsUpdate>>): void;
556
+ function onRoomsUpdated(updates: Partial<Record<RoomsEventType, RoomsUpdate>>, conversationId?: string): void;
496
557
  /**
497
558
  * Получено обновление по сессионному залу
498
559
  * @param eventTypes
499
560
  * @param roomId
500
561
  * @param room
501
562
  * @param deactivate
563
+ * @param conversationId
502
564
  */
503
- function onRoomUpdated(eventTypes: RoomsEventType[], roomId: number, room: Room | null, deactivate: boolean | null): void;
565
+ function onRoomUpdated(eventTypes: RoomsEventType[], roomId: number, room: Room | null, deactivate: boolean | null, conversationId?: string): void;
504
566
  /**
505
567
  * Получено обновление по участникам сессионного зала
506
568
  * @param update
569
+ * @param conversationId
507
570
  */
508
- function onRoomParticipantsUpdated(update: RoomParticipantUpdate): void;
571
+ function onRoomParticipantsUpdated(update: RoomParticipantUpdate, conversationId?: string): void;
509
572
  /**
510
573
  * Произошел переход в другой активный зал (или основной)
511
574
  * @param roomId
575
+ * @param conversationId
512
576
  */
513
- function onRoomSwitched(roomId: number | null): void;
577
+ function onRoomSwitched(roomId: number | null, conversationId?: string): void;
514
578
  /**
515
579
  * Установить id сессионного зала на старте звонка
516
580
  * @param roomId
581
+ * @param conversationId
517
582
  */
518
- function onRoomStart(roomId: number | null): void;
583
+ function onRoomStart(roomId: number | null, conversationId?: string): void;
519
584
  /**
520
585
  * Получена новая реакция
521
586
  */
522
- function onFeedback(feedback: IFeedbackExternal[], roomId?: number | null): void;
587
+ function onFeedback(feedback: IFeedbackExternal[], roomId?: number | null, conversationId?: string): void;
523
588
  /**
524
589
  * Изменилось состояние пермиссий фич в звонке
525
590
  *
526
591
  * @param featuresPerRole Информация о доступных фичах по ролям
592
+ * @param conversationId
527
593
  */
528
- function onFeaturesPerRoleChanged(featuresPerRole: IFeaturesPerRole): void;
594
+ function onFeaturesPerRoleChanged(featuresPerRole: IFeaturesPerRole, conversationId?: string): void;
529
595
  /**
530
596
  * Изменился Vmoji-аватар пользователя
531
597
  * @param externalId Id пользователя
598
+ * @param conversationId
532
599
  */
533
- function onParticipantVmojiUpdate(externalId: ExternalParticipantId): void;
600
+ function onParticipantVmojiUpdate(externalId: ExternalParticipantId, conversationId?: string): void;
534
601
  /**
535
602
  * Установка начальных параметров текстовой расшифровки звонка. (Используется при входе в звонок/ смене комнаты)
536
603
  * @param data Начальная информация по ASR
537
604
  * @param roomId Id Комнаты
605
+ * @param conversationId
538
606
  */
539
- function onAsrSet(data: IAsrData | null, roomId: number | null): void;
607
+ function onAsrSet(data: IAsrData | null, roomId: number | null, conversationId?: string): void;
540
608
  /**
541
609
  * Начата текстовая расшифровка звонка
542
610
  * @param initiatorId Id пользователя, запустившего расшифровку звонка
543
611
  * @param movieId Id расшифровки
544
612
  * @param roomId Id Комнаты
613
+ * @param conversationId
545
614
  */
546
- function onAsrStarted(initiatorId: ExternalParticipantId, movieId: number, roomId: number | null): void;
615
+ function onAsrStarted(initiatorId: ExternalParticipantId, movieId: number, roomId: number | null, conversationId?: string): void;
547
616
  /**
548
617
  * Закончена текстовая расшифровка звонка
549
618
  * @param roomId Id Комнаты
619
+ * @param conversationId
550
620
  */
551
- function onAsrStopped(roomId: number | null): void;
552
- function onAsrTranscription(id: ExternalParticipantId, text: string, timestamp: number, duration: number): void;
621
+ function onAsrStopped(roomId: number | null, conversationId?: string): void;
622
+ function onAsrTranscription(id: ExternalParticipantId, text: string, timestamp: number, duration: number, conversationId?: string): void;
553
623
  /**
554
624
  * Изменился id участника (деанонимизация)
555
625
  * @param prevId
556
626
  * @param newId
627
+ * @param conversationId
557
628
  */
558
- function onParticipantIdChanged(prevId: ExternalParticipantId, newId: ExternalParticipantId): void;
559
- function onVideoSuspendSuggest(bandwidth: number): void;
629
+ function onParticipantIdChanged(prevId: ExternalParticipantId, newId: ExternalParticipantId, conversationId?: string): void;
630
+ function onVideoSuspendSuggest(bandwidth: number, conversationId?: string): void;
560
631
  /**
561
632
  * Одобрено повышение пользователя в зеле ожидания/зале в режиме Audience
562
633
  *
563
634
  * @param adminParticipantId админ, одобривший повышение
564
635
  */
565
- function onPromotionApproved(adminParticipantId: ExternalParticipantId): void;
636
+ function onPromotionApproved(adminParticipantId: ExternalParticipantId, conversationId?: string): void;
566
637
  /**
567
638
  * Собеседник подключился к сигналлингу
568
639
  */
569
- function onPeerRegistered(): void;
570
- /**
571
- * Дебаг информация по видеопотоку, отформатированная SDK для отображения в клиенте.
572
- */
573
- function onVideoStreamDebug(externalParticipantId: ExternalParticipantId, info: VideoStreamDebugInfo): void;
640
+ function onPeerRegistered(conversationId?: string): void;
574
641
  }
575
642
  export default External;