@wazo/sdk 0.37.18 → 0.37.22

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 (163) hide show
  1. package/dist/wazo-sdk.js +13 -5
  2. package/esm/__tests__/api-client.test.js +52 -9
  3. package/esm/__tests__/web-rtc-client.test.js +80 -20
  4. package/esm/api/agentd.js +27 -4
  5. package/esm/api/amid.js +27 -4
  6. package/esm/api/application.js +27 -4
  7. package/esm/api/auth.js +29 -5
  8. package/esm/api/call-logd.js +29 -6
  9. package/esm/api/calld.js +27 -4
  10. package/esm/api/chatd.js +27 -4
  11. package/esm/api/confd.js +51 -8
  12. package/esm/api/ctid-ng.js +27 -4
  13. package/esm/api/dird.js +27 -4
  14. package/esm/api/webhookd.js +27 -4
  15. package/esm/api-client.js +54 -11
  16. package/esm/checker/Checker.js +83 -21
  17. package/esm/checker/checks/aor.js +54 -11
  18. package/esm/checker/checks/api.js +54 -11
  19. package/esm/checker/checks/ice-ipv4.js +1 -1
  20. package/esm/checker/checks/index.js +84 -22
  21. package/esm/checker/checks/symmetric-nat.js +1 -1
  22. package/esm/checker/checks/wazo-websocket.js +29 -4
  23. package/esm/checker/checks/webrtc-transport.js +82 -22
  24. package/esm/checker/checks/webrtc.js +82 -22
  25. package/esm/domain/AdHocAPIConference.js +54 -11
  26. package/esm/domain/Agent.js +1 -1
  27. package/esm/domain/BadResponse.js +1 -1
  28. package/esm/domain/Call.js +1 -1
  29. package/esm/domain/CallLog.js +3 -3
  30. package/esm/domain/CallSession.js +1 -1
  31. package/esm/domain/ChatMessage.js +1 -1
  32. package/esm/domain/ChatRoom.js +1 -1
  33. package/esm/domain/Contact.js +2 -1
  34. package/esm/domain/Country.js +1 -1
  35. package/esm/domain/Device/DebugDevice.js +1 -1
  36. package/esm/domain/ExternalApp.js +1 -1
  37. package/esm/domain/Features.js +54 -10
  38. package/esm/domain/ForwardOption.js +2 -1
  39. package/esm/domain/IndirectTransfer.js +1 -1
  40. package/esm/domain/Line.js +1 -1
  41. package/esm/domain/Meeting.js +20 -3
  42. package/esm/domain/NotificationOptions.js +1 -1
  43. package/esm/domain/Phone/CTIPhone.js +55 -11
  44. package/esm/domain/Phone/WebRTCPhone.js +39 -6
  45. package/esm/domain/Profile.js +2 -1
  46. package/esm/domain/Recording.js +2 -2
  47. package/esm/domain/Relocation.js +1 -1
  48. package/esm/domain/Room.js +1 -1
  49. package/esm/domain/ServerError.js +1 -1
  50. package/esm/domain/Session.js +2 -2
  51. package/esm/domain/SipLine.js +1 -1
  52. package/esm/domain/Subscription.js +1 -1
  53. package/esm/domain/SwitchboardCall.js +1 -1
  54. package/esm/domain/Voicemail.js +1 -1
  55. package/esm/domain/__tests__/CallLog.test.js +2 -2
  56. package/esm/index.js +101 -24
  57. package/esm/lib/WazoSessionDescriptionHandler.js +28 -4
  58. package/esm/service/CallApi.js +54 -11
  59. package/esm/service/IssueReporter.js +27 -4
  60. package/esm/service/__tests__/IssueReporter.test.js +26 -3
  61. package/esm/service/getApiClient.js +55 -11
  62. package/esm/simple/Auth.js +101 -23
  63. package/esm/simple/Configuration.js +100 -23
  64. package/esm/simple/Directory.js +53 -10
  65. package/esm/simple/Phone.js +100 -23
  66. package/esm/simple/Websocket.js +30 -4
  67. package/esm/simple/index.js +100 -23
  68. package/esm/simple/room/LocalParticipant.js +113 -40
  69. package/esm/simple/room/Participant.js +112 -37
  70. package/esm/simple/room/RemoteParticipant.js +114 -41
  71. package/esm/simple/room/Room.js +113 -37
  72. package/esm/simple/room/SipRoom.js +101 -26
  73. package/esm/simple/room/Stream.js +101 -26
  74. package/esm/simple/room/__tests__/RemoteParticipant.test.js +99 -22
  75. package/esm/simple/utils.js +99 -22
  76. package/esm/utils/Emitter.js +1 -1
  77. package/esm/utils/Heartbeat.js +1 -1
  78. package/esm/utils/__tests__/api-requester.test.js +26 -3
  79. package/esm/utils/api-requester.js +28 -4
  80. package/esm/utils/compare-version.js +1 -1
  81. package/esm/utils/isMobile.js +1 -1
  82. package/esm/utils/new-from.js +1 -1
  83. package/esm/utils/once.js +1 -1
  84. package/esm/utils/update-from.js +1 -1
  85. package/esm/web-rtc-client.js +83 -22
  86. package/esm/websocket-client.js +30 -4
  87. package/lib/__tests__/api-client.test.js +61 -18
  88. package/lib/__tests__/web-rtc-client.test.js +97 -37
  89. package/lib/api/agentd.js +27 -4
  90. package/lib/api/amid.js +27 -4
  91. package/lib/api/application.js +27 -4
  92. package/lib/api/auth.js +28 -5
  93. package/lib/api/call-logd.js +34 -11
  94. package/lib/api/calld.js +30 -7
  95. package/lib/api/chatd.js +28 -5
  96. package/lib/api/confd.js +51 -8
  97. package/lib/api/ctid-ng.js +30 -7
  98. package/lib/api/dird.js +27 -4
  99. package/lib/api/webhookd.js +27 -4
  100. package/lib/api-client.js +61 -18
  101. package/lib/checker/Checker.js +100 -38
  102. package/lib/checker/checks/aor.js +61 -18
  103. package/lib/checker/checks/api.js +61 -18
  104. package/lib/checker/checks/index.js +100 -38
  105. package/lib/checker/checks/wazo-websocket.js +31 -6
  106. package/lib/checker/checks/webrtc-transport.js +97 -37
  107. package/lib/checker/checks/webrtc.js +97 -37
  108. package/lib/domain/AdHocAPIConference.js +61 -18
  109. package/lib/domain/Call.js +1 -1
  110. package/lib/domain/CallLog.js +7 -7
  111. package/lib/domain/ChatMessage.js +1 -1
  112. package/lib/domain/Contact.js +1 -1
  113. package/lib/domain/Features.js +62 -19
  114. package/lib/domain/ForwardOption.js +1 -1
  115. package/lib/domain/Meeting.js +19 -2
  116. package/lib/domain/Phone/CTIPhone.js +63 -20
  117. package/lib/domain/Phone/WebRTCPhone.js +40 -8
  118. package/lib/domain/Profile.js +1 -1
  119. package/lib/domain/Recording.js +3 -3
  120. package/lib/domain/Voicemail.js +1 -1
  121. package/lib/domain/__tests__/Call.test.js +1 -1
  122. package/lib/domain/__tests__/CallLog.test.js +13 -13
  123. package/lib/domain/__tests__/Voicemail.test.js +1 -1
  124. package/lib/index.js +120 -43
  125. package/lib/lib/WazoSessionDescriptionHandler.js +32 -9
  126. package/lib/service/CallApi.js +61 -18
  127. package/lib/service/IssueReporter.js +27 -4
  128. package/lib/service/__tests__/IssueReporter.test.js +27 -4
  129. package/lib/service/getApiClient.js +62 -19
  130. package/lib/simple/Auth.js +119 -42
  131. package/lib/simple/Configuration.js +118 -41
  132. package/lib/simple/Directory.js +61 -18
  133. package/lib/simple/Phone.js +118 -41
  134. package/lib/simple/Websocket.js +32 -6
  135. package/lib/simple/index.js +118 -41
  136. package/lib/simple/room/LocalParticipant.js +132 -59
  137. package/lib/simple/room/Participant.js +130 -55
  138. package/lib/simple/room/RemoteParticipant.js +133 -60
  139. package/lib/simple/room/Room.js +131 -56
  140. package/lib/simple/room/SipRoom.js +120 -45
  141. package/lib/simple/room/Stream.js +120 -45
  142. package/lib/simple/room/__tests__/RemoteParticipant.test.js +118 -41
  143. package/lib/simple/utils.js +118 -41
  144. package/lib/utils/Emitter.js +1 -1
  145. package/lib/utils/PhoneNumberUtil.js +2 -2
  146. package/lib/utils/__tests__/PhoneNumberUtil.test.js +2 -2
  147. package/lib/utils/__tests__/api-requester.test.js +27 -4
  148. package/lib/utils/__tests__/sdp.test.js +12 -12
  149. package/lib/utils/api-requester.js +28 -5
  150. package/lib/utils/sdp.js +10 -10
  151. package/lib/web-rtc-client.js +98 -38
  152. package/lib/websocket-client.js +33 -7
  153. package/package.json +2 -2
  154. package/src/api/confd.js +5 -2
  155. package/src/domain/CallLog.js +1 -1
  156. package/src/domain/Meeting.js +19 -2
  157. package/src/domain/Phone/WebRTCPhone.js +11 -2
  158. package/src/domain/Recording.js +1 -1
  159. package/src/service/IssueReporter.js +26 -3
  160. package/src/simple/Phone.js +5 -0
  161. package/src/types/WebSocketMessage.js +5 -1
  162. package/src/web-rtc-client.js +28 -11
  163. package/src/websocket-client.js +2 -0
@@ -440,6 +440,7 @@ class IssueReporter {
440
440
 
441
441
 
442
442
 
443
+
443
444
 
444
445
  constructor() {
445
446
  addLevelsTo(this);
@@ -451,12 +452,17 @@ class IssueReporter {
451
452
  this.bufferTimeout = null;
452
453
  this._boundProcessBuffer = this._processBuffer.bind(this);
453
454
  this._boundParseLoggerBody = this._parseLoggerBody.bind(this);
455
+ this._callback = null;
454
456
  }
455
457
 
456
458
  init() {
457
459
  this._catchConsole();
458
460
  }
459
461
 
462
+ setCallback(cb ) {
463
+ this._callback = cb;
464
+ }
465
+
460
466
  configureRemoteClient(configuration = { tag: 'wazo-sdk', host: null, port: null, level: null, extra: {} }) {
461
467
  this.remoteClientConfiguration = configuration;
462
468
  }
@@ -492,6 +498,7 @@ class IssueReporter {
492
498
 
493
499
  // Handle category label
494
500
  let category = null;
501
+ let skipSendToRemote = false;
495
502
  let extra = {};
496
503
  if (args[0].indexOf(CATEGORY_PREFIX) === 0) {
497
504
  category = args[0].split('=')[1];
@@ -507,6 +514,7 @@ class IssueReporter {
507
514
  errorMessage: lastArg.message,
508
515
  errorStack: lastArg.stack,
509
516
  errorType: lastArg.constructor.name,
517
+ skipSendToRemote: lastArg.skipSendToRemote,
510
518
  };
511
519
  } else {
512
520
  extra = lastArg;
@@ -515,6 +523,11 @@ class IssueReporter {
515
523
  args.splice(1, 1);
516
524
  }
517
525
 
526
+ if (extra.skipSendToRemote) {
527
+ skipSendToRemote = true;
528
+ delete extra.skipSendToRemote;
529
+ }
530
+
518
531
  const date = moment().format('YYYY-MM-DD HH:mm:ss.SSS');
519
532
  const message = args.join(', ');
520
533
  let consoleMessage = message;
@@ -535,7 +548,13 @@ class IssueReporter {
535
548
  const oldMethod = this.oldConsoleMethods[consoleLevel] || this.oldConsoleMethods.log;
536
549
  oldMethod.apply(oldMethod, [date, consoleMessage]);
537
550
 
538
- this._sendToRemoteLogger(level, { date, message, category, ...extra });
551
+ if (this._callback) {
552
+ this._callback(level, consoleMessage);
553
+ }
554
+
555
+ if (!skipSendToRemote) {
556
+ this._sendToRemoteLogger(level, { date, message, category, ...extra });
557
+ }
539
558
  }
540
559
 
541
560
  logRequest(url , options , response , start ) {
@@ -680,7 +699,11 @@ class IssueReporter {
680
699
  },
681
700
  // $FlowFixMe
682
701
  body,
683
- }).catch(() => {
702
+ }).catch((e ) => {
703
+ // $FlowFixMe
704
+ e.skipSendToRemote = true;
705
+ this.log('error', this._makeCategory('grafana'), 'Sending log to grafana, error', e);
706
+
684
707
  setTimeout(() => {
685
708
  if (isArray) {
686
709
  payload = payload.map(message => {
@@ -692,7 +715,7 @@ class IssueReporter {
692
715
  payload._retry = retry + 1;
693
716
  }
694
717
 
695
- this._sendDebugToGrafana(body, retry + 1);
718
+ this._sendDebugToGrafana(payload, retry + 1);
696
719
  }, 5000 + retry * 1000);
697
720
  });
698
721
  }
@@ -2630,7 +2653,8 @@ class ExternalApp {
2630
2653
 
2631
2654
 
2632
2655
 
2633
-
2656
+
2657
+
2634
2658
 
2635
2659
 
2636
2660
  class Meeting {
@@ -2642,6 +2666,7 @@ class Meeting {
2642
2666
 
2643
2667
 
2644
2668
 
2669
+
2645
2670
 
2646
2671
 
2647
2672
  static parse(plain ) {
@@ -2653,14 +2678,28 @@ class Meeting {
2653
2678
  port: plain.port,
2654
2679
  uuid: plain.uuid,
2655
2680
  number: plain.number,
2681
+ persistent: plain.persistent,
2656
2682
  });
2657
2683
  }
2658
2684
 
2685
+ static parseMany(items ) {
2686
+ return items.map(plain => Meeting.parse(plain));
2687
+ }
2688
+
2659
2689
  static newFrom(meeting ) {
2660
2690
  return newFrom(meeting, Meeting);
2661
2691
  }
2662
2692
 
2663
- constructor({ uuid, name, guestSipAuthorization, ownerUuids, port, uri, number } = {}) {
2693
+ constructor({
2694
+ uuid,
2695
+ name,
2696
+ guestSipAuthorization,
2697
+ ownerUuids,
2698
+ port,
2699
+ uri,
2700
+ number,
2701
+ persistent,
2702
+ } = {}) {
2664
2703
  this.guestSipAuthorization = guestSipAuthorization;
2665
2704
  this.uri = uri;
2666
2705
  this.name = name;
@@ -2668,6 +2707,7 @@ class Meeting {
2668
2707
  this.port = port;
2669
2708
  this.uuid = uuid;
2670
2709
  this.number = number;
2710
+ this.persistent = persistent;
2671
2711
 
2672
2712
  // Useful to compare instead of instanceof with minified code
2673
2713
  this.type = 'Meeting';
@@ -2745,8 +2785,11 @@ var confdMethods = (client , baseUrl ) => ({
2745
2785
  }
2746
2786
  },
2747
2787
 
2748
- createMyMeeting: (name ) =>
2749
- client.post(`${baseUrl}/users/me/meetings`, { name }).then(Meeting.parse),
2788
+ getMyMeetings: () =>
2789
+ client.get(`${baseUrl}/users/me/meetings`).then(response => Meeting.parseMany(response.items)),
2790
+
2791
+ createMyMeeting: (name , persistent ) =>
2792
+ client.post(`${baseUrl}/users/me/meetings`, { name, persistent }).then(Meeting.parse),
2750
2793
 
2751
2794
  deleteMyMeeting: (meetingUuid ) =>
2752
2795
  client.delete(`${baseUrl}/users/me/meetings/${meetingUuid}`, null),
@@ -3576,7 +3619,7 @@ class Recording {
3576
3619
 
3577
3620
 
3578
3621
 
3579
- static parseMany(recordings ) {
3622
+ static parseMany(recordings = []) {
3580
3623
  return recordings.map(item => Recording.parse(item));
3581
3624
  }
3582
3625
 
@@ -3702,7 +3745,7 @@ class CallLog {
3702
3745
  duration: (plain.duration || 0) * 1000, // duration is in seconds
3703
3746
  start: moment(plain.start).toDate(),
3704
3747
  end: plain.end ? moment(plain.end).toDate() : null,
3705
- recordings: Recording.parseMany(plain.recordings),
3748
+ recordings: Recording.parseMany(plain.recordings || []),
3706
3749
  });
3707
3750
  }
3708
3751
 
@@ -6956,7 +6999,9 @@ class WebRTCClient extends Emitter {
6956
6999
  const inviteOptions = {
6957
7000
  requestDelegate: {
6958
7001
  onAccept: (response ) => {
6959
- session.sessionDescriptionHandler.peerConnection.sfu = conference;
7002
+ if (session.sessionDescriptionHandler.peerConnection) {
7003
+ session.sessionDescriptionHandler.peerConnection.sfu = conference;
7004
+ }
6960
7005
  this._onAccepted(session, response.session, true);
6961
7006
  },
6962
7007
  onReject: (response ) => {
@@ -7292,7 +7337,7 @@ class WebRTCClient extends Emitter {
7292
7337
  // We search for the last transceiver without `video-` in the mid (video- means remote transceiver)
7293
7338
  const transceivers = pc.getTransceivers();
7294
7339
  const transceiverIdx = lastIndexOf(transceivers, transceiver =>
7295
- transceiver.sender.track === null && transceiver.mid.indexOf('video') === -1);
7340
+ transceiver.sender.track === null && transceiver.mid && transceiver.mid.indexOf('video') === -1);
7296
7341
 
7297
7342
  videoSender = transceiverIdx !== -1 ? transceivers[transceiverIdx].sender : null;
7298
7343
  } else {
@@ -7828,6 +7873,16 @@ class WebRTCClient extends Emitter {
7828
7873
  return this.hasRemoteVideo(sessionId) ? this.getRemoteStream(sessionId) : null;
7829
7874
  }
7830
7875
 
7876
+ // Useful in a react-native environment when remoteMediaStream is not updated
7877
+ getRemoteVideoStreamFromPc(sessionId ) {
7878
+ const pc = this.getPeerConnection(sessionId);
7879
+ if (!pc) {
7880
+ return null;
7881
+ }
7882
+
7883
+ return pc.getRemoteStreams().find(stream => !!stream.getVideoTracks().length);
7884
+ }
7885
+
7831
7886
  hasVideo(sessionId ) {
7832
7887
  return this.hasLocalVideo(sessionId) || this.hasRemoteVideo(sessionId);
7833
7888
  }
@@ -8338,6 +8393,7 @@ class WebRTCClient extends Emitter {
8338
8393
  session.sessionDescriptionHandler.remoteMediaStream.onaddtrack = onTrack;
8339
8394
 
8340
8395
  pc.oniceconnectionstatechange = () => {
8396
+ logger$8.info('on ice connection state changed', { state: pc.iceConnectionState });
8341
8397
  if (pc.iceConnectionState === 'disconnected') {
8342
8398
  this.eventEmitter.emit(ON_DISCONNECTED$1);
8343
8399
  }
@@ -8606,18 +8662,22 @@ class WebRTCClient extends Emitter {
8606
8662
  });
8607
8663
 
8608
8664
  networkStats.packetsLost = packetsLost;
8609
- networkStats.audioBytesSent = audioBytesSent;
8665
+ networkStats.totalAudioBytesSent = audioBytesSent;
8666
+ networkStats.audioBytesSent = audioBytesSent - lastAudioSent;
8667
+ networkStats.totalAudioBytesReceived = audioBytesReceived - lastAudioReceived;
8610
8668
  networkStats.audioBytesReceived = audioBytesReceived;
8611
- networkStats.videoBytesSent = videoBytesSent;
8612
- networkStats.videoBytesReceived = videoBytesReceived;
8669
+ networkStats.totalVideoBytesSent = videoBytesSent;
8670
+ networkStats.videoBytesSent = videoBytesSent - lastVideoSent;
8671
+ networkStats.totalVideoBytesReceived = videoBytesReceived;
8672
+ networkStats.videoBytesReceived = videoBytesReceived - lastVideoReceived;
8673
+ networkStats.totalTransportSent = transportSent - lastTransportSent;
8613
8674
  networkStats.transportSent = transportSent;
8614
- networkStats.transportReceived = transportReceived;
8675
+ networkStats.totalTransportReceived = transportReceived;
8676
+ networkStats.transportReceived = transportReceived - lastTransportReceived;
8615
8677
 
8616
- const bandwidth = (networkStats.audioBytesSent - lastAudioSent) + (networkStats.videoBytesSent - lastVideoSent)
8617
- + (networkStats.audioBytesReceived - lastAudioReceived) + (networkStats.videoBytesReceived - lastVideoReceived)
8618
- + (networkStats.transportReceived - lastTransportReceived) + (networkStats.transportSent - lastTransportSent);
8619
-
8620
- networkStats.bandwidth = bandwidth;
8678
+ networkStats.bandwidth = networkStats.audioBytesSent + networkStats.audioBytesReceived
8679
+ + networkStats.videoBytesSent + networkStats.videoBytesReceived + networkStats.transportReceived
8680
+ + networkStats.transportSent;
8621
8681
 
8622
8682
  this.eventEmitter.emit(ON_NETWORK_STATS$1, session, networkStats, this.sessionNetworkStats[sessionId]);
8623
8683
  this.sessionNetworkStats[sessionId].push(networkStats);
@@ -8999,7 +9059,10 @@ class WebRTCPhone extends Emitter {
8999
9059
 
9000
9060
  onCancel(message);
9001
9061
  const elsewhere = message.data.indexOf('cause=26') !== -1 && message.data.indexOf('completed elsewhere') !== -1;
9002
- this.eventEmitter.emit(ON_CALL_CANCELED, this._createCallSession(sipSession), elsewhere);
9062
+ const callSession = this._createCallSession(sipSession);
9063
+ delete this.callSessions[callSession.getId()];
9064
+
9065
+ this.eventEmitter.emit(ON_CALL_CANCELED, callSession, elsewhere);
9003
9066
  };
9004
9067
  } else if (sipSession instanceof Invitation) {
9005
9068
  console.warn('sipSession._onCancel not found, please update the wazo SDK accordingly');
@@ -9028,9 +9091,11 @@ class WebRTCPhone extends Emitter {
9028
9091
  case SessionState.Terminated: {
9029
9092
  logger$7.info('WebRTC phone - call terminated', { sipId: sipSession.id });
9030
9093
 
9094
+ // Should be called before `_onCallTerminated` or the callCount will not decrement...
9095
+ const callSession = this._createCallSession(sipSession);
9031
9096
  const wasCurrentSession = this._onCallTerminated(sipSession);
9032
9097
 
9033
- return this.eventEmitter.emit(ON_CALL_ENDED, this._createCallSession(sipSession), wasCurrentSession);
9098
+ return this.eventEmitter.emit(ON_CALL_ENDED, callSession, wasCurrentSession);
9034
9099
  }
9035
9100
  }
9036
9101
  });
@@ -9978,6 +10043,10 @@ class WebRTCPhone extends Emitter {
9978
10043
  return callSession ? this.client.getRemoteVideoStream(callSession.sipCallId) : null;
9979
10044
  }
9980
10045
 
10046
+ getRemoteVideoStreamFromPc(callSession ) {
10047
+ return callSession ? this.client.getRemoteVideoStreamFromPc(callSession.sipCallId) : null;
10048
+ }
10049
+
9981
10050
  hasRemoteVideo(callSession ) {
9982
10051
  return callSession ? this.client.hasRemoteVideo(callSession.sipCallId) : false;
9983
10052
  }
@@ -10661,6 +10730,11 @@ class Phone extends Emitter {
10661
10730
  return this.getRemoteVideoStream(callSession);
10662
10731
  }
10663
10732
 
10733
+ // Useful in a react-native environment when remoteMediaStream is not updated
10734
+ getRemoteVideoStreamFromPc(callSession ) {
10735
+ return this.phone ? this.phone.getRemoteVideoStreamFromPc(callSession) : false;
10736
+ }
10737
+
10664
10738
  hasVideo(callSession ) {
10665
10739
  return this.phone ? this.phone.hasVideo(callSession) : false;
10666
10740
  }
@@ -10820,6 +10894,7 @@ const AGENT_PAUSED = 'agent_paused';
10820
10894
  const AGENT_UNPAUSED = 'agent_unpaused';
10821
10895
  const CONFERENCE_ADHOC_PARTICIPANT_LEFT = 'conference_adhoc_participant_left';
10822
10896
  const CONFERENCE_ADHOC_DELETED = 'conference_adhoc_deleted';
10897
+ const MEETING_USER_PROGRESS = 'meeting_user_progress';
10823
10898
 
10824
10899
  const BLACKLIST_EVENTS = [
10825
10900
  CHAT_MESSAGE_SENT,
@@ -11170,6 +11245,7 @@ WebSocketClient.eventLists = [
11170
11245
  AGENT_UNPAUSED,
11171
11246
  CONFERENCE_ADHOC_PARTICIPANT_LEFT,
11172
11247
  CONFERENCE_ADHOC_DELETED,
11248
+ MEETING_USER_PROGRESS,
11173
11249
  ];
11174
11250
 
11175
11251
  var WebSocketClient$1 = /*#__PURE__*/Object.freeze({
@@ -11240,6 +11316,7 @@ var WebSocketClient$1 = /*#__PURE__*/Object.freeze({
11240
11316
  AGENT_UNPAUSED: AGENT_UNPAUSED,
11241
11317
  CONFERENCE_ADHOC_PARTICIPANT_LEFT: CONFERENCE_ADHOC_PARTICIPANT_LEFT,
11242
11318
  CONFERENCE_ADHOC_DELETED: CONFERENCE_ADHOC_DELETED,
11319
+ MEETING_USER_PROGRESS: MEETING_USER_PROGRESS,
11243
11320
  HEARTBEAT_ENGINE_VERSION: HEARTBEAT_ENGINE_VERSION,
11244
11321
  'default': WebSocketClient
11245
11322
  });
@@ -11331,7 +11408,7 @@ var Websocket$1 = global.wazoWebsocketInstance;
11331
11408
 
11332
11409
  const logger$3 = IssueReporter$1.loggerFor('sdk-sip-room');
11333
11410
 
11334
- class SipRoom extends Room$1 {
11411
+ class SipRoom extends Room {
11335
11412
 
11336
11413
  static async connect({ extension, constraints, audioOnly = false, extra, room } ) {
11337
11414
  logger$3.info('connecting to sip room', { extension, audioOnly, room: !!room });
@@ -11661,7 +11738,7 @@ class NotificationOptions {
11661
11738
 
11662
11739
 
11663
11740
  // Represents a conference room, like `9000`.
11664
- class Room$2 {
11741
+ class Room$1 {
11665
11742
 
11666
11743
 
11667
11744
 
@@ -11682,7 +11759,7 @@ class Room$2 {
11682
11759
  }
11683
11760
 
11684
11761
  connect(callSession ) {
11685
- return new Room$2({ ...this, connectedCallSession: callSession });
11762
+ return new Room$1({ ...this, connectedCallSession: callSession });
11686
11763
  }
11687
11764
 
11688
11765
  has(callSession ) {
@@ -11691,7 +11768,7 @@ class Room$2 {
11691
11768
 
11692
11769
  addParticipant(uuid , extension , talking = null) {
11693
11770
  if (!this.participants.some(participant => participant.uuid === uuid || participant.extension === extension)) {
11694
- return new Room$2({ ...this, participants: [...this.participants, { uuid, extension, talking }] });
11771
+ return new Room$1({ ...this, participants: [...this.participants, { uuid, extension, talking }] });
11695
11772
  }
11696
11773
 
11697
11774
  return this;
@@ -11710,7 +11787,7 @@ class Room$2 {
11710
11787
  updatedParticipants.push(participant);
11711
11788
  }
11712
11789
 
11713
- return new Room$2({ ...this, participants: updatedParticipants });
11790
+ return new Room$1({ ...this, participants: updatedParticipants });
11714
11791
  }
11715
11792
 
11716
11793
  updateParticipantByExtension(extension , participant , shouldAdd = false) {
@@ -11726,7 +11803,7 @@ class Room$2 {
11726
11803
  updatedParticipants.push(participant);
11727
11804
  }
11728
11805
 
11729
- return new Room$2({ ...this, participants: updatedParticipants });
11806
+ return new Room$1({ ...this, participants: updatedParticipants });
11730
11807
  }
11731
11808
 
11732
11809
  hasCallWithId(id ) {
@@ -11734,18 +11811,18 @@ class Room$2 {
11734
11811
  }
11735
11812
 
11736
11813
  disconnect() {
11737
- return new Room$2({ ...this, connectedCallSession: null });
11814
+ return new Room$1({ ...this, connectedCallSession: null });
11738
11815
  }
11739
11816
 
11740
11817
  removeParticipantWithUUID(uuid ) {
11741
- return new Room$2({
11818
+ return new Room$1({
11742
11819
  ...this,
11743
11820
  participants: this.participants.filter(participant => participant.uuid !== uuid),
11744
11821
  });
11745
11822
  }
11746
11823
 
11747
11824
  removeParticipantWithExtension(extension ) {
11748
- return new Room$2({
11825
+ return new Room$1({
11749
11826
  ...this,
11750
11827
  participants: this.participants.filter(participant => participant.extension !== extension),
11751
11828
  });
@@ -11756,7 +11833,7 @@ class Room$2 {
11756
11833
  }
11757
11834
 
11758
11835
  static newFrom(room ) {
11759
- return newFrom(room, Room$2);
11836
+ return newFrom(room, Room$1);
11760
11837
  }
11761
11838
  }
11762
11839
 
@@ -12427,10 +12504,10 @@ const Wazo = {
12427
12504
  Auth: Auth$1,
12428
12505
  Phone: Phone$1,
12429
12506
  Websocket: Websocket$1,
12430
- Room: Room$1,
12507
+ Room,
12431
12508
  SipRoom,
12432
12509
  RemoteParticipant,
12433
- LocalParticipant: LocalParticipant$1,
12510
+ LocalParticipant,
12434
12511
  Stream,
12435
12512
  createLocalVideoStream,
12436
12513
  createLocalAudioStream,
@@ -12460,7 +12537,7 @@ const Wazo = {
12460
12537
  Session,
12461
12538
  Voicemail,
12462
12539
  Relocation,
12463
- ConferenceRoom: Room$2,
12540
+ ConferenceRoom: Room$1,
12464
12541
  CallSession,
12465
12542
  IndirectTransfer,
12466
12543
  SwitchboardCall,
@@ -13330,8 +13407,6 @@ class Room extends Emitter {
13330
13407
  }
13331
13408
  }
13332
13409
 
13333
- var Room$1 = Room;
13334
-
13335
13410
  //
13336
13411
 
13337
13412
  const logger = IssueReporter$1.loggerFor('room');
@@ -13627,6 +13702,4 @@ class Participant extends Emitter {
13627
13702
  class LocalParticipant extends Participant {
13628
13703
  }
13629
13704
 
13630
- var LocalParticipant$1 = LocalParticipant;
13631
-
13632
- export { LocalParticipant$1 as default };
13705
+ export default LocalParticipant;