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