@webex/plugin-meetings 3.0.0-beta.9 → 3.0.0-bnr.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 (1033) hide show
  1. package/UPGRADING.md +9 -9
  2. package/browsers.js +19 -24
  3. package/dist/breakouts/breakout.js +178 -0
  4. package/dist/breakouts/breakout.js.map +1 -0
  5. package/dist/breakouts/collection.js +23 -0
  6. package/dist/breakouts/collection.js.map +1 -0
  7. package/dist/breakouts/edit-lock-error.js +52 -0
  8. package/dist/breakouts/edit-lock-error.js.map +1 -0
  9. package/dist/breakouts/index.js +843 -0
  10. package/dist/breakouts/index.js.map +1 -0
  11. package/dist/breakouts/request.js +78 -0
  12. package/dist/breakouts/request.js.map +1 -0
  13. package/dist/breakouts/utils.js +56 -0
  14. package/dist/breakouts/utils.js.map +1 -0
  15. package/dist/common/browser-detection.d.ts +9 -0
  16. package/dist/common/browser-detection.js +1 -20
  17. package/dist/common/browser-detection.js.map +1 -1
  18. package/dist/common/collection.d.ts +48 -0
  19. package/dist/common/collection.js +5 -20
  20. package/dist/common/collection.js.map +1 -1
  21. package/dist/common/config.d.ts +2 -0
  22. package/dist/common/config.js +0 -7
  23. package/dist/common/config.js.map +1 -1
  24. package/dist/common/errors/captcha-error.d.ts +15 -0
  25. package/dist/common/errors/captcha-error.js +5 -26
  26. package/dist/common/errors/captcha-error.js.map +1 -1
  27. package/dist/common/errors/intent-to-join.d.ts +16 -0
  28. package/dist/common/errors/intent-to-join.js +5 -26
  29. package/dist/common/errors/intent-to-join.js.map +1 -1
  30. package/dist/common/errors/join-meeting.d.ts +17 -0
  31. package/dist/common/errors/join-meeting.js +6 -27
  32. package/dist/common/errors/join-meeting.js.map +1 -1
  33. package/dist/common/errors/media.d.ts +15 -0
  34. package/dist/common/errors/media.js +5 -26
  35. package/dist/common/errors/media.js.map +1 -1
  36. package/dist/common/errors/parameter.d.ts +15 -0
  37. package/dist/common/errors/parameter.js +5 -33
  38. package/dist/common/errors/parameter.js.map +1 -1
  39. package/dist/common/errors/password-error.d.ts +15 -0
  40. package/dist/common/errors/password-error.js +5 -26
  41. package/dist/common/errors/password-error.js.map +1 -1
  42. package/dist/common/errors/permission.d.ts +14 -0
  43. package/dist/common/errors/permission.js +4 -25
  44. package/dist/common/errors/permission.js.map +1 -1
  45. package/dist/common/errors/reconnection-in-progress.d.ts +9 -0
  46. package/dist/common/errors/reconnection-in-progress.js +0 -17
  47. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  48. package/dist/common/errors/reconnection.d.ts +15 -0
  49. package/dist/common/errors/reconnection.js +5 -26
  50. package/dist/common/errors/reconnection.js.map +1 -1
  51. package/dist/common/errors/stats.d.ts +15 -0
  52. package/dist/common/errors/stats.js +5 -26
  53. package/dist/common/errors/stats.js.map +1 -1
  54. package/dist/common/errors/webex-errors.d.ts +81 -0
  55. package/dist/common/errors/webex-errors.js +6 -41
  56. package/dist/common/errors/webex-errors.js.map +1 -1
  57. package/dist/common/errors/webex-meetings-error.d.ts +20 -0
  58. package/dist/common/errors/webex-meetings-error.js +1 -24
  59. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  60. package/dist/common/events/events-scope.d.ts +17 -0
  61. package/dist/common/events/events-scope.js +0 -22
  62. package/dist/common/events/events-scope.js.map +1 -1
  63. package/dist/common/events/events.d.ts +12 -0
  64. package/dist/common/events/events.js +0 -23
  65. package/dist/common/events/events.js.map +1 -1
  66. package/dist/common/events/trigger-proxy.d.ts +2 -0
  67. package/dist/common/events/trigger-proxy.js +0 -12
  68. package/dist/common/events/trigger-proxy.js.map +1 -1
  69. package/dist/common/events/util.d.ts +2 -0
  70. package/dist/common/events/util.js +0 -15
  71. package/dist/common/events/util.js.map +1 -1
  72. package/dist/common/logs/logger-config.d.ts +2 -0
  73. package/dist/common/logs/logger-config.js +0 -4
  74. package/dist/common/logs/logger-config.js.map +1 -1
  75. package/dist/common/logs/logger-proxy.d.ts +2 -0
  76. package/dist/common/logs/logger-proxy.js +1 -8
  77. package/dist/common/logs/logger-proxy.js.map +1 -1
  78. package/dist/common/logs/request.d.ts +34 -0
  79. package/dist/common/logs/request.js +35 -61
  80. package/dist/common/logs/request.js.map +1 -1
  81. package/dist/common/queue.d.ts +32 -0
  82. package/dist/common/queue.js +4 -14
  83. package/dist/common/queue.js.map +1 -1
  84. package/dist/config.d.ts +73 -0
  85. package/dist/config.js +6 -6
  86. package/dist/config.js.map +1 -1
  87. package/dist/constants.d.ts +924 -0
  88. package/dist/constants.js +143 -52
  89. package/dist/constants.js.map +1 -1
  90. package/dist/controls-options-manager/constants.d.ts +4 -0
  91. package/dist/controls-options-manager/constants.js +14 -0
  92. package/dist/controls-options-manager/constants.js.map +1 -0
  93. package/dist/controls-options-manager/enums.d.ts +5 -0
  94. package/dist/controls-options-manager/enums.js +16 -0
  95. package/dist/controls-options-manager/enums.js.map +1 -0
  96. package/dist/controls-options-manager/index.d.ts +120 -0
  97. package/dist/controls-options-manager/index.js +261 -0
  98. package/dist/controls-options-manager/index.js.map +1 -0
  99. package/dist/controls-options-manager/util.d.ts +7 -0
  100. package/dist/controls-options-manager/util.js +39 -0
  101. package/dist/controls-options-manager/util.js.map +1 -0
  102. package/dist/docs/markdown/index.md +12 -0
  103. package/dist/docs/markdown/plugin-meetings.constants._active_.md +11 -0
  104. package/dist/docs/markdown/plugin-meetings.constants._answer_.md +11 -0
  105. package/dist/docs/markdown/plugin-meetings.constants._call_.md +11 -0
  106. package/dist/docs/markdown/plugin-meetings.constants._conflict_.md +11 -0
  107. package/dist/docs/markdown/plugin-meetings.constants._conversation_url_.md +11 -0
  108. package/dist/docs/markdown/plugin-meetings.constants._created_.md +11 -0
  109. package/dist/docs/markdown/plugin-meetings.constants._error_.md +11 -0
  110. package/dist/docs/markdown/plugin-meetings.constants._forced_.md +11 -0
  111. package/dist/docs/markdown/plugin-meetings.constants._id_.md +11 -0
  112. package/dist/docs/markdown/plugin-meetings.constants._idle_.md +11 -0
  113. package/dist/docs/markdown/plugin-meetings.constants._in_.md +11 -0
  114. package/dist/docs/markdown/plugin-meetings.constants._in_lobby_.md +11 -0
  115. package/dist/docs/markdown/plugin-meetings.constants._in_meeting_.md +11 -0
  116. package/dist/docs/markdown/plugin-meetings.constants._inactive_.md +11 -0
  117. package/dist/docs/markdown/plugin-meetings.constants._incoming_.md +11 -0
  118. package/dist/docs/markdown/plugin-meetings.constants._join_.md +11 -0
  119. package/dist/docs/markdown/plugin-meetings.constants._joined_.md +11 -0
  120. package/dist/docs/markdown/plugin-meetings.constants._left_.md +11 -0
  121. package/dist/docs/markdown/plugin-meetings.constants._locus_id_.md +11 -0
  122. package/dist/docs/markdown/plugin-meetings.constants._meeting_.md +11 -0
  123. package/dist/docs/markdown/plugin-meetings.constants._meeting_center_.md +11 -0
  124. package/dist/docs/markdown/plugin-meetings.constants._meeting_id_.md +11 -0
  125. package/dist/docs/markdown/plugin-meetings.constants._meeting_link_.md +11 -0
  126. package/dist/docs/markdown/plugin-meetings.constants._meeting_uuid_.md +11 -0
  127. package/dist/docs/markdown/plugin-meetings.constants._move_media_.md +11 -0
  128. package/dist/docs/markdown/plugin-meetings.constants._none_.md +11 -0
  129. package/dist/docs/markdown/plugin-meetings.constants._not_in_meeting_.md +11 -0
  130. package/dist/docs/markdown/plugin-meetings.constants._observe_.md +11 -0
  131. package/dist/docs/markdown/plugin-meetings.constants._people_.md +11 -0
  132. package/dist/docs/markdown/plugin-meetings.constants._personal_room_.md +11 -0
  133. package/dist/docs/markdown/plugin-meetings.constants._receive_only_.md +11 -0
  134. package/dist/docs/markdown/plugin-meetings.constants._remove_.md +11 -0
  135. package/dist/docs/markdown/plugin-meetings.constants._requested_.md +11 -0
  136. package/dist/docs/markdown/plugin-meetings.constants._resource_room_.md +11 -0
  137. package/dist/docs/markdown/plugin-meetings.constants._room_.md +11 -0
  138. package/dist/docs/markdown/plugin-meetings.constants._s_line.md +11 -0
  139. package/dist/docs/markdown/plugin-meetings.constants._send_only_.md +11 -0
  140. package/dist/docs/markdown/plugin-meetings.constants._send_receive_.md +11 -0
  141. package/dist/docs/markdown/plugin-meetings.constants._sip_bridge_.md +11 -0
  142. package/dist/docs/markdown/plugin-meetings.constants._sip_uri_.md +11 -0
  143. package/dist/docs/markdown/plugin-meetings.constants._slides_.md +11 -0
  144. package/dist/docs/markdown/plugin-meetings.constants._unknown_.md +11 -0
  145. package/dist/docs/markdown/plugin-meetings.constants._user_.md +11 -0
  146. package/dist/docs/markdown/plugin-meetings.constants._wait_.md +11 -0
  147. package/dist/docs/markdown/plugin-meetings.constants._webex_meeting_.md +11 -0
  148. package/dist/docs/markdown/plugin-meetings.constants.alert.md +11 -0
  149. package/dist/docs/markdown/plugin-meetings.constants.alternate_redirect_true.md +11 -0
  150. package/dist/docs/markdown/plugin-meetings.constants.answer.md +11 -0
  151. package/dist/docs/markdown/plugin-meetings.constants.api.md +14 -0
  152. package/dist/docs/markdown/plugin-meetings.constants.audio.md +11 -0
  153. package/dist/docs/markdown/plugin-meetings.constants.audio_input.md +11 -0
  154. package/dist/docs/markdown/plugin-meetings.constants.audio_status.md +11 -0
  155. package/dist/docs/markdown/plugin-meetings.constants.available_resolutions.md +60 -0
  156. package/dist/docs/markdown/plugin-meetings.constants.bnr_status.md +16 -0
  157. package/dist/docs/markdown/plugin-meetings.constants.breakouts.md +51 -0
  158. package/dist/docs/markdown/plugin-meetings.constants.calendar.md +11 -0
  159. package/dist/docs/markdown/plugin-meetings.constants.calendar_events.md +17 -0
  160. package/dist/docs/markdown/plugin-meetings.constants.calendar_events_api.md +11 -0
  161. package/dist/docs/markdown/plugin-meetings.constants.call.md +11 -0
  162. package/dist/docs/markdown/plugin-meetings.constants.call_removed_reason.md +15 -0
  163. package/dist/docs/markdown/plugin-meetings.constants.claim.md +11 -0
  164. package/dist/docs/markdown/plugin-meetings.constants.cmr_meetings.md +11 -0
  165. package/dist/docs/markdown/plugin-meetings.constants.complete.md +11 -0
  166. package/dist/docs/markdown/plugin-meetings.constants.connection_state.md +18 -0
  167. package/dist/docs/markdown/plugin-meetings.constants.content.md +11 -0
  168. package/dist/docs/markdown/plugin-meetings.constants.controls.md +11 -0
  169. package/dist/docs/markdown/plugin-meetings.constants.conversation_service.md +11 -0
  170. package/dist/docs/markdown/plugin-meetings.constants.conversation_url.md +11 -0
  171. package/dist/docs/markdown/plugin-meetings.constants.correlation_id.md +11 -0
  172. package/dist/docs/markdown/plugin-meetings.constants.decline.md +11 -0
  173. package/dist/docs/markdown/plugin-meetings.constants.default_excluded_stats.md +11 -0
  174. package/dist/docs/markdown/plugin-meetings.constants.default_get_stats_filter.md +13 -0
  175. package/dist/docs/markdown/plugin-meetings.constants.development.md +11 -0
  176. package/dist/docs/markdown/plugin-meetings.constants.dialer_regex.md +15 -0
  177. package/dist/docs/markdown/plugin-meetings.constants.display_hints.md +51 -0
  178. package/dist/docs/markdown/plugin-meetings.constants.embedded_app_types.md +14 -0
  179. package/dist/docs/markdown/plugin-meetings.constants.end.md +11 -0
  180. package/dist/docs/markdown/plugin-meetings.constants.ended.md +11 -0
  181. package/dist/docs/markdown/plugin-meetings.constants.error.md +11 -0
  182. package/dist/docs/markdown/plugin-meetings.constants.error_dictionary.md +62 -0
  183. package/dist/docs/markdown/plugin-meetings.constants.event_triggers.md +82 -0
  184. package/dist/docs/markdown/plugin-meetings.constants.event_types.md +21 -0
  185. package/dist/docs/markdown/plugin-meetings.constants.events.md +26 -0
  186. package/dist/docs/markdown/plugin-meetings.constants.floor_action.md +15 -0
  187. package/dist/docs/markdown/plugin-meetings.constants.full_state.md +17 -0
  188. package/dist/docs/markdown/plugin-meetings.constants.gathering.md +11 -0
  189. package/dist/docs/markdown/plugin-meetings.constants.hecate.md +11 -0
  190. package/dist/docs/markdown/plugin-meetings.constants.host.md +11 -0
  191. package/dist/docs/markdown/plugin-meetings.constants.http_verbs.md +17 -0
  192. package/dist/docs/markdown/plugin-meetings.constants.https_protocol.md +11 -0
  193. package/dist/docs/markdown/plugin-meetings.constants.ice_fail_timeout.md +11 -0
  194. package/dist/docs/markdown/plugin-meetings.constants.ice_gathering_state.md +15 -0
  195. package/dist/docs/markdown/plugin-meetings.constants.ice_state.md +18 -0
  196. package/dist/docs/markdown/plugin-meetings.constants.ice_timeout.md +11 -0
  197. package/dist/docs/markdown/plugin-meetings.constants.intent_to_join.md +11 -0
  198. package/dist/docs/markdown/plugin-meetings.constants.ipv4_regex.md +11 -0
  199. package/dist/docs/markdown/plugin-meetings.constants.join.md +11 -0
  200. package/dist/docs/markdown/plugin-meetings.constants.layout_types.md +13 -0
  201. package/dist/docs/markdown/plugin-meetings.constants.leave.md +11 -0
  202. package/dist/docs/markdown/plugin-meetings.constants.live.md +11 -0
  203. package/dist/docs/markdown/plugin-meetings.constants.local.md +11 -0
  204. package/dist/docs/markdown/plugin-meetings.constants.loci.md +11 -0
  205. package/dist/docs/markdown/plugin-meetings.constants.locus.md +26 -0
  206. package/dist/docs/markdown/plugin-meetings.constants.locus_url.md +11 -0
  207. package/dist/docs/markdown/plugin-meetings.constants.locusevent.md +33 -0
  208. package/dist/docs/markdown/plugin-meetings.constants.locusinfo.md +43 -0
  209. package/dist/docs/markdown/plugin-meetings.constants.max_random_delay_for_meeting_info.md +11 -0
  210. package/dist/docs/markdown/plugin-meetings.constants.md +186 -0
  211. package/dist/docs/markdown/plugin-meetings.constants.media.md +11 -0
  212. package/dist/docs/markdown/plugin-meetings.constants.media_devices.md +15 -0
  213. package/dist/docs/markdown/plugin-meetings.constants.media_peer_connection_name.md +11 -0
  214. package/dist/docs/markdown/plugin-meetings.constants.media_state.md +14 -0
  215. package/dist/docs/markdown/plugin-meetings.constants.media_track_constraint.md +17 -0
  216. package/dist/docs/markdown/plugin-meetings.constants.mediacontent.md +14 -0
  217. package/dist/docs/markdown/plugin-meetings.constants.meet.md +11 -0
  218. package/dist/docs/markdown/plugin-meetings.constants.meet_m.md +11 -0
  219. package/dist/docs/markdown/plugin-meetings.constants.meeting_audio_state_machine.md +20 -0
  220. package/dist/docs/markdown/plugin-meetings.constants.meeting_end_reason.md +14 -0
  221. package/dist/docs/markdown/plugin-meetings.constants.meeting_errors.md +102 -0
  222. package/dist/docs/markdown/plugin-meetings.constants.meeting_info_failure_reason.md +16 -0
  223. package/dist/docs/markdown/plugin-meetings.constants.meeting_removed_reason.md +19 -0
  224. package/dist/docs/markdown/plugin-meetings.constants.meeting_state.md +25 -0
  225. package/dist/docs/markdown/plugin-meetings.constants.meeting_state_machine.md +31 -0
  226. package/dist/docs/markdown/plugin-meetings.constants.meeting_video_state_machine.md +20 -0
  227. package/dist/docs/markdown/plugin-meetings.constants.meetinginfo.md +11 -0
  228. package/dist/docs/markdown/plugin-meetings.constants.meetings.md +11 -0
  229. package/dist/docs/markdown/plugin-meetings.constants.metrics_join_times_max_duration.md +11 -0
  230. package/dist/docs/markdown/plugin-meetings.constants.moderator_false.md +11 -0
  231. package/dist/docs/markdown/plugin-meetings.constants.moderator_true.md +11 -0
  232. package/dist/docs/markdown/plugin-meetings.constants.mqa_inteval.md +11 -0
  233. package/dist/docs/markdown/plugin-meetings.constants.mqa_stats.md +82 -0
  234. package/dist/docs/markdown/plugin-meetings.constants.network_status.md +15 -0
  235. package/dist/docs/markdown/plugin-meetings.constants.network_type.md +16 -0
  236. package/dist/docs/markdown/plugin-meetings.constants.offline.md +11 -0
  237. package/dist/docs/markdown/plugin-meetings.constants.online.md +11 -0
  238. package/dist/docs/markdown/plugin-meetings.constants.participant.md +11 -0
  239. package/dist/docs/markdown/plugin-meetings.constants.participant_deltas.md +22 -0
  240. package/dist/docs/markdown/plugin-meetings.constants.password_status.md +16 -0
  241. package/dist/docs/markdown/plugin-meetings.constants.pc_bail_timeout.md +11 -0
  242. package/dist/docs/markdown/plugin-meetings.constants.peer_connection_state.md +14 -0
  243. package/dist/docs/markdown/plugin-meetings.constants.provisional_type_dial_in.md +11 -0
  244. package/dist/docs/markdown/plugin-meetings.constants.provisional_type_dial_out.md +11 -0
  245. package/dist/docs/markdown/plugin-meetings.constants.pstn_status.md +18 -0
  246. package/dist/docs/markdown/plugin-meetings.constants.quality_levels.md +19 -0
  247. package/dist/docs/markdown/plugin-meetings.constants.reachability.md +15 -0
  248. package/dist/docs/markdown/plugin-meetings.constants.ready.md +11 -0
  249. package/dist/docs/markdown/plugin-meetings.constants.reconnection.md +19 -0
  250. package/dist/docs/markdown/plugin-meetings.constants.recording_state.md +16 -0
  251. package/dist/docs/markdown/plugin-meetings.constants.remote.md +11 -0
  252. package/dist/docs/markdown/plugin-meetings.constants.resource.md +15 -0
  253. package/dist/docs/markdown/plugin-meetings.constants.retry_timeout.md +11 -0
  254. package/dist/docs/markdown/plugin-meetings.constants.roap.md +22 -0
  255. package/dist/docs/markdown/plugin-meetings.constants.self_roles.md +14 -0
  256. package/dist/docs/markdown/plugin-meetings.constants.send_dtmf_endpoint.md +11 -0
  257. package/dist/docs/markdown/plugin-meetings.constants.sendrecv.md +11 -0
  258. package/dist/docs/markdown/plugin-meetings.constants.share.md +11 -0
  259. package/dist/docs/markdown/plugin-meetings.constants.share_peer_connection_name.md +11 -0
  260. package/dist/docs/markdown/plugin-meetings.constants.share_status.md +16 -0
  261. package/dist/docs/markdown/plugin-meetings.constants.share_stopped_reason.md +14 -0
  262. package/dist/docs/markdown/plugin-meetings.constants.sip_uri.md +11 -0
  263. package/dist/docs/markdown/plugin-meetings.constants.stats.md +16 -0
  264. package/dist/docs/markdown/plugin-meetings.constants.type.md +11 -0
  265. package/dist/docs/markdown/plugin-meetings.constants.use_uri_lookup_false.md +11 -0
  266. package/dist/docs/markdown/plugin-meetings.constants.uuid_reg.md +11 -0
  267. package/dist/docs/markdown/plugin-meetings.constants.valid_email_address.md +11 -0
  268. package/dist/docs/markdown/plugin-meetings.constants.valid_pin.md +11 -0
  269. package/dist/docs/markdown/plugin-meetings.constants.valid_pmr_address.md +11 -0
  270. package/dist/docs/markdown/plugin-meetings.constants.valid_pmr_link.md +11 -0
  271. package/dist/docs/markdown/plugin-meetings.constants.video.md +11 -0
  272. package/dist/docs/markdown/plugin-meetings.constants.video_input.md +11 -0
  273. package/dist/docs/markdown/plugin-meetings.constants.video_resolutions.md +24 -0
  274. package/dist/docs/markdown/plugin-meetings.constants.video_status.md +11 -0
  275. package/dist/docs/markdown/plugin-meetings.constants.wbxappapi_service.md +11 -0
  276. package/dist/docs/markdown/plugin-meetings.constants.webex_dot_com.md +11 -0
  277. package/dist/docs/markdown/plugin-meetings.constants.whiteboard.md +11 -0
  278. package/dist/docs/markdown/plugin-meetings.constants.www_dot.md +11 -0
  279. package/dist/docs/markdown/plugin-meetings.md +28 -0
  280. package/dist/docs/markdown/plugin-meetings.meeting.default._constructor_.md +21 -0
  281. package/dist/docs/markdown/plugin-meetings.meeting.default.acknowledge.md +28 -0
  282. package/dist/docs/markdown/plugin-meetings.meeting.default.addmedia.md +28 -0
  283. package/dist/docs/markdown/plugin-meetings.meeting.default.admit.md +32 -0
  284. package/dist/docs/markdown/plugin-meetings.meeting.default.attrs.md +11 -0
  285. package/dist/docs/markdown/plugin-meetings.meeting.default.audio.md +11 -0
  286. package/dist/docs/markdown/plugin-meetings.meeting.default.breakouts.md +11 -0
  287. package/dist/docs/markdown/plugin-meetings.meeting.default.callevents.md +11 -0
  288. package/dist/docs/markdown/plugin-meetings.meeting.default.cancelphoneinvite.md +30 -0
  289. package/dist/docs/markdown/plugin-meetings.meeting.default.canupdatemedia.md +19 -0
  290. package/dist/docs/markdown/plugin-meetings.meeting.default.changevideolayout.md +38 -0
  291. package/dist/docs/markdown/plugin-meetings.meeting.default.clearmeetingdata.md +13 -0
  292. package/dist/docs/markdown/plugin-meetings.meeting.default.closelocalshare.md +21 -0
  293. package/dist/docs/markdown/plugin-meetings.meeting.default.closelocalstream.md +21 -0
  294. package/dist/docs/markdown/plugin-meetings.meeting.default.closepeerconnections.md +21 -0
  295. package/dist/docs/markdown/plugin-meetings.meeting.default.closeremotestream.md +26 -0
  296. package/dist/docs/markdown/plugin-meetings.meeting.default.closeremotetracks.md +19 -0
  297. package/dist/docs/markdown/plugin-meetings.meeting.default.controlsoptionsmanager.md +11 -0
  298. package/dist/docs/markdown/plugin-meetings.meeting.default.conversationurl.md +11 -0
  299. package/dist/docs/markdown/plugin-meetings.meeting.default.correlationid.md +11 -0
  300. package/dist/docs/markdown/plugin-meetings.meeting.default.createmediaconnection.md +26 -0
  301. package/dist/docs/markdown/plugin-meetings.meeting.default.decline.md +28 -0
  302. package/dist/docs/markdown/plugin-meetings.meeting.default.deferjoin.md +11 -0
  303. package/dist/docs/markdown/plugin-meetings.meeting.default.destination.md +11 -0
  304. package/dist/docs/markdown/plugin-meetings.meeting.default.destinationtype.md +11 -0
  305. package/dist/docs/markdown/plugin-meetings.meeting.default.deviceurl.md +11 -0
  306. package/dist/docs/markdown/plugin-meetings.meeting.default.dialindevicestatus.md +11 -0
  307. package/dist/docs/markdown/plugin-meetings.meeting.default.dialinurl.md +11 -0
  308. package/dist/docs/markdown/plugin-meetings.meeting.default.dialoutdevicestatus.md +11 -0
  309. package/dist/docs/markdown/plugin-meetings.meeting.default.dialouturl.md +11 -0
  310. package/dist/docs/markdown/plugin-meetings.meeting.default.disconnectphoneaudio.md +19 -0
  311. package/dist/docs/markdown/plugin-meetings.meeting.default.endcallinitiatejoinreq.md +11 -0
  312. package/dist/docs/markdown/plugin-meetings.meeting.default.endjoinreqresp.md +11 -0
  313. package/dist/docs/markdown/plugin-meetings.meeting.default.endlocalsdpgenremotesdprecvdelay.md +11 -0
  314. package/dist/docs/markdown/plugin-meetings.meeting.default.endmeetingforall.md +21 -0
  315. package/dist/docs/markdown/plugin-meetings.meeting.default.fetchmeetinginfo.md +29 -0
  316. package/dist/docs/markdown/plugin-meetings.meeting.default.fetchmeetinginfotimeoutid.md +11 -0
  317. package/dist/docs/markdown/plugin-meetings.meeting.default.floorgrantpending.md +11 -0
  318. package/dist/docs/markdown/plugin-meetings.meeting.default.forwardevent.md +29 -0
  319. package/dist/docs/markdown/plugin-meetings.meeting.default.getanalyzermetricsprepayload.md +32 -0
  320. package/dist/docs/markdown/plugin-meetings.meeting.default.getcallinitiatejoinreq.md +17 -0
  321. package/dist/docs/markdown/plugin-meetings.meeting.default.getdevices.md +13 -0
  322. package/dist/docs/markdown/plugin-meetings.meeting.default.getjoinreqresp.md +17 -0
  323. package/dist/docs/markdown/plugin-meetings.meeting.default.getlocalsdpgenremotesdprecvdelay.md +17 -0
  324. package/dist/docs/markdown/plugin-meetings.meeting.default.getmediaconnectiondebugid.md +15 -0
  325. package/dist/docs/markdown/plugin-meetings.meeting.default.getmediastreams.md +15 -0
  326. package/dist/docs/markdown/plugin-meetings.meeting.default.getmembers.md +21 -0
  327. package/dist/docs/markdown/plugin-meetings.meeting.default.getsendingmediadelayduration.md +24 -0
  328. package/dist/docs/markdown/plugin-meetings.meeting.default.getsetupdelayduration.md +24 -0
  329. package/dist/docs/markdown/plugin-meetings.meeting.default.getsupporteddevices.md +16 -0
  330. package/dist/docs/markdown/plugin-meetings.meeting.default.gettotaljmt.md +17 -0
  331. package/dist/docs/markdown/plugin-meetings.meeting.default.guest.md +11 -0
  332. package/dist/docs/markdown/plugin-meetings.meeting.default.handledatachannelurlchange.md +26 -0
  333. package/dist/docs/markdown/plugin-meetings.meeting.default.handleroapfailure.md +13 -0
  334. package/dist/docs/markdown/plugin-meetings.meeting.default.hasjoinedonce.md +11 -0
  335. package/dist/docs/markdown/plugin-meetings.meeting.default.haswebsocketconnected.md +11 -0
  336. package/dist/docs/markdown/plugin-meetings.meeting.default.hostid.md +11 -0
  337. package/dist/docs/markdown/plugin-meetings.meeting.default.id.md +11 -0
  338. package/dist/docs/markdown/plugin-meetings.meeting.default.inmeetingactions.md +11 -0
  339. package/dist/docs/markdown/plugin-meetings.meeting.default.invite.md +33 -0
  340. package/dist/docs/markdown/plugin-meetings.meeting.default.isaudioconnected.md +21 -0
  341. package/dist/docs/markdown/plugin-meetings.meeting.default.isaudiomuted.md +21 -0
  342. package/dist/docs/markdown/plugin-meetings.meeting.default.isaudioself.md +21 -0
  343. package/dist/docs/markdown/plugin-meetings.meeting.default.islocalsharelive.md +11 -0
  344. package/dist/docs/markdown/plugin-meetings.meeting.default.ismultistream.md +11 -0
  345. package/dist/docs/markdown/plugin-meetings.meeting.default.isreactionssupported.md +19 -0
  346. package/dist/docs/markdown/plugin-meetings.meeting.default.isroapinprogress.md +11 -0
  347. package/dist/docs/markdown/plugin-meetings.meeting.default.issharing.md +11 -0
  348. package/dist/docs/markdown/plugin-meetings.meeting.default.istranscriptionsupported.md +23 -0
  349. package/dist/docs/markdown/plugin-meetings.meeting.default.isvideoconnected.md +21 -0
  350. package/dist/docs/markdown/plugin-meetings.meeting.default.isvideomuted.md +21 -0
  351. package/dist/docs/markdown/plugin-meetings.meeting.default.isvideoself.md +21 -0
  352. package/dist/docs/markdown/plugin-meetings.meeting.default.join.md +28 -0
  353. package/dist/docs/markdown/plugin-meetings.meeting.default.joinedwith.md +11 -0
  354. package/dist/docs/markdown/plugin-meetings.meeting.default.joinwithmedia.md +36 -0
  355. package/dist/docs/markdown/plugin-meetings.meeting.default.keepalivetimerid.md +11 -0
  356. package/dist/docs/markdown/plugin-meetings.meeting.default.lastvideolayoutinfo.md +11 -0
  357. package/dist/docs/markdown/plugin-meetings.meeting.default.leave.md +31 -0
  358. package/dist/docs/markdown/plugin-meetings.meeting.default.lockmeeting.md +21 -0
  359. package/dist/docs/markdown/plugin-meetings.meeting.default.locusid.md +11 -0
  360. package/dist/docs/markdown/plugin-meetings.meeting.default.locusinfo.md +11 -0
  361. package/dist/docs/markdown/plugin-meetings.meeting.default.locusurl.md +11 -0
  362. package/dist/docs/markdown/plugin-meetings.meeting.default.md +227 -0
  363. package/dist/docs/markdown/plugin-meetings.meeting.default.mediaconnections.md +11 -0
  364. package/dist/docs/markdown/plugin-meetings.meeting.default.mediaid.md +11 -0
  365. package/dist/docs/markdown/plugin-meetings.meeting.default.medianegotiatedevent.md +13 -0
  366. package/dist/docs/markdown/plugin-meetings.meeting.default.mediaproperties.md +11 -0
  367. package/dist/docs/markdown/plugin-meetings.meeting.default.mediarequestmanagers.md +16 -0
  368. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingfinitestatemachine.md +11 -0
  369. package/dist/docs/markdown/plugin-meetings.meeting.default.meetinginfo.md +11 -0
  370. package/dist/docs/markdown/plugin-meetings.meeting.default.meetinginfofailurereason.md +11 -0
  371. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingjoinurl.md +11 -0
  372. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingnumber.md +11 -0
  373. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingrequest.md +11 -0
  374. package/dist/docs/markdown/plugin-meetings.meeting.default.meetingstate.md +11 -0
  375. package/dist/docs/markdown/plugin-meetings.meeting.default.members.md +11 -0
  376. package/dist/docs/markdown/plugin-meetings.meeting.default.movefrom.md +28 -0
  377. package/dist/docs/markdown/plugin-meetings.meeting.default.moveto.md +28 -0
  378. package/dist/docs/markdown/plugin-meetings.meeting.default.mute.md +29 -0
  379. package/dist/docs/markdown/plugin-meetings.meeting.default.muteaudio.md +21 -0
  380. package/dist/docs/markdown/plugin-meetings.meeting.default.mutevideo.md +21 -0
  381. package/dist/docs/markdown/plugin-meetings.meeting.default.namespace.md +11 -0
  382. package/dist/docs/markdown/plugin-meetings.meeting.default.networkqualitymonitor.md +11 -0
  383. package/dist/docs/markdown/plugin-meetings.meeting.default.networkstatus.md +11 -0
  384. package/dist/docs/markdown/plugin-meetings.meeting.default.options.md +11 -0
  385. package/dist/docs/markdown/plugin-meetings.meeting.default.orgid.md +11 -0
  386. package/dist/docs/markdown/plugin-meetings.meeting.default.owner.md +11 -0
  387. package/dist/docs/markdown/plugin-meetings.meeting.default.parsemeetinginfo.md +34 -0
  388. package/dist/docs/markdown/plugin-meetings.meeting.default.partner.md +11 -0
  389. package/dist/docs/markdown/plugin-meetings.meeting.default.passwordstatus.md +11 -0
  390. package/dist/docs/markdown/plugin-meetings.meeting.default.pauserecording.md +21 -0
  391. package/dist/docs/markdown/plugin-meetings.meeting.default.permissiontoken.md +11 -0
  392. package/dist/docs/markdown/plugin-meetings.meeting.default.policy.md +11 -0
  393. package/dist/docs/markdown/plugin-meetings.meeting.default.processnextqueuedmediaupdate.md +13 -0
  394. package/dist/docs/markdown/plugin-meetings.meeting.default.publishtracks.md +33 -0
  395. package/dist/docs/markdown/plugin-meetings.meeting.default.queuedmediaupdates.md +11 -0
  396. package/dist/docs/markdown/plugin-meetings.meeting.default.receiveslotmanager.md +11 -0
  397. package/dist/docs/markdown/plugin-meetings.meeting.default.reconnect.md +28 -0
  398. package/dist/docs/markdown/plugin-meetings.meeting.default.reconnectionmanager.md +11 -0
  399. package/dist/docs/markdown/plugin-meetings.meeting.default.recording.md +11 -0
  400. package/dist/docs/markdown/plugin-meetings.meeting.default.recordingcontroller.md +11 -0
  401. package/dist/docs/markdown/plugin-meetings.meeting.default.refreshcaptcha.md +21 -0
  402. package/dist/docs/markdown/plugin-meetings.meeting.default.remotemediamanager.md +11 -0
  403. package/dist/docs/markdown/plugin-meetings.meeting.default.remove.md +28 -0
  404. package/dist/docs/markdown/plugin-meetings.meeting.default.requiredcaptcha.md +11 -0
  405. package/dist/docs/markdown/plugin-meetings.meeting.default.resource.md +11 -0
  406. package/dist/docs/markdown/plugin-meetings.meeting.default.resourceid.md +11 -0
  407. package/dist/docs/markdown/plugin-meetings.meeting.default.resourceurl.md +11 -0
  408. package/dist/docs/markdown/plugin-meetings.meeting.default.resumerecording.md +21 -0
  409. package/dist/docs/markdown/plugin-meetings.meeting.default.roap.md +11 -0
  410. package/dist/docs/markdown/plugin-meetings.meeting.default.roapseq.md +11 -0
  411. package/dist/docs/markdown/plugin-meetings.meeting.default.selfid.md +11 -0
  412. package/dist/docs/markdown/plugin-meetings.meeting.default.senddtmf.md +28 -0
  413. package/dist/docs/markdown/plugin-meetings.meeting.default.sendreaction.md +29 -0
  414. package/dist/docs/markdown/plugin-meetings.meeting.default.setdisallowunmute.md +26 -0
  415. package/dist/docs/markdown/plugin-meetings.meeting.default.setendcallinitiatejoinreq.md +17 -0
  416. package/dist/docs/markdown/plugin-meetings.meeting.default.setendjoinreqresp.md +17 -0
  417. package/dist/docs/markdown/plugin-meetings.meeting.default.setendlocalsdpgenremotesdprecvdelay.md +17 -0
  418. package/dist/docs/markdown/plugin-meetings.meeting.default.setendsendingmediadelay.md +24 -0
  419. package/dist/docs/markdown/plugin-meetings.meeting.default.setendsetupdelay.md +24 -0
  420. package/dist/docs/markdown/plugin-meetings.meeting.default.setlocalsharetrack.md +28 -0
  421. package/dist/docs/markdown/plugin-meetings.meeting.default.setlocaltracks.md +28 -0
  422. package/dist/docs/markdown/plugin-meetings.meeting.default.setlocalvideoquality.md +26 -0
  423. package/dist/docs/markdown/plugin-meetings.meeting.default.setmeetingquality.md +31 -0
  424. package/dist/docs/markdown/plugin-meetings.meeting.default.setmercurylistener.md +21 -0
  425. package/dist/docs/markdown/plugin-meetings.meeting.default.setmuteall.md +28 -0
  426. package/dist/docs/markdown/plugin-meetings.meeting.default.setmuteonentry.md +26 -0
  427. package/dist/docs/markdown/plugin-meetings.meeting.default.setremotequalitylevel.md +26 -0
  428. package/dist/docs/markdown/plugin-meetings.meeting.default.setsipuri.md +26 -0
  429. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartcallinitiatejoinreq.md +17 -0
  430. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartjoinreqresp.md +17 -0
  431. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartlocalsdpgenremotesdprecvdelay.md +17 -0
  432. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartsendingmediadelay.md +24 -0
  433. package/dist/docs/markdown/plugin-meetings.meeting.default.setstartsetupdelay.md +24 -0
  434. package/dist/docs/markdown/plugin-meetings.meeting.default.setupbreakoutslistener.md +19 -0
  435. package/dist/docs/markdown/plugin-meetings.meeting.default.setupmediaconnectionlisteners.md +11 -0
  436. package/dist/docs/markdown/plugin-meetings.meeting.default.setupstatsanalyzereventhandlers.md +13 -0
  437. package/dist/docs/markdown/plugin-meetings.meeting.default.sharescreen.md +32 -0
  438. package/dist/docs/markdown/plugin-meetings.meeting.default.sharestatus.md +11 -0
  439. package/dist/docs/markdown/plugin-meetings.meeting.default.sipuri.md +11 -0
  440. package/dist/docs/markdown/plugin-meetings.meeting.default.startcallinitiatejoinreq.md +11 -0
  441. package/dist/docs/markdown/plugin-meetings.meeting.default.startjoinreqresp.md +11 -0
  442. package/dist/docs/markdown/plugin-meetings.meeting.default.startkeepalive.md +13 -0
  443. package/dist/docs/markdown/plugin-meetings.meeting.default.startlocalsdpgenremotesdprecvdelay.md +11 -0
  444. package/dist/docs/markdown/plugin-meetings.meeting.default.startrecording.md +21 -0
  445. package/dist/docs/markdown/plugin-meetings.meeting.default.startwhiteboardshare.md +29 -0
  446. package/dist/docs/markdown/plugin-meetings.meeting.default.state.md +11 -0
  447. package/dist/docs/markdown/plugin-meetings.meeting.default.statsanalyzer.md +11 -0
  448. package/dist/docs/markdown/plugin-meetings.meeting.default.stopkeepalive.md +13 -0
  449. package/dist/docs/markdown/plugin-meetings.meeting.default.stopreceivingtranscription.md +19 -0
  450. package/dist/docs/markdown/plugin-meetings.meeting.default.stoprecording.md +21 -0
  451. package/dist/docs/markdown/plugin-meetings.meeting.default.stopshare.md +28 -0
  452. package/dist/docs/markdown/plugin-meetings.meeting.default.stopwhiteboardshare.md +28 -0
  453. package/dist/docs/markdown/plugin-meetings.meeting.default.togglereactions.md +28 -0
  454. package/dist/docs/markdown/plugin-meetings.meeting.default.transcription.md +11 -0
  455. package/dist/docs/markdown/plugin-meetings.meeting.default.transfer.md +29 -0
  456. package/dist/docs/markdown/plugin-meetings.meeting.default.type.md +11 -0
  457. package/dist/docs/markdown/plugin-meetings.meeting.default.unlockmeeting.md +21 -0
  458. package/dist/docs/markdown/plugin-meetings.meeting.default.unmuteaudio.md +21 -0
  459. package/dist/docs/markdown/plugin-meetings.meeting.default.unmutevideo.md +21 -0
  460. package/dist/docs/markdown/plugin-meetings.meeting.default.unpublishtracks.md +26 -0
  461. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetlocalsharetrack.md +21 -0
  462. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetlocalvideotrack.md +21 -0
  463. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetpeerconnections.md +21 -0
  464. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetremotestream.md +26 -0
  465. package/dist/docs/markdown/plugin-meetings.meeting.default.unsetremotetracks.md +19 -0
  466. package/dist/docs/markdown/plugin-meetings.meeting.default.updateaudio.md +34 -0
  467. package/dist/docs/markdown/plugin-meetings.meeting.default.updatellmconnection.md +19 -0
  468. package/dist/docs/markdown/plugin-meetings.meeting.default.updatemedia.md +32 -0
  469. package/dist/docs/markdown/plugin-meetings.meeting.default.updatemediaconnections.md +11 -0
  470. package/dist/docs/markdown/plugin-meetings.meeting.default.updateshare.md +35 -0
  471. package/dist/docs/markdown/plugin-meetings.meeting.default.updatevideo.md +34 -0
  472. package/dist/docs/markdown/plugin-meetings.meeting.default.uploadlogs.md +28 -0
  473. package/dist/docs/markdown/plugin-meetings.meeting.default.usephoneaudio.md +28 -0
  474. package/dist/docs/markdown/plugin-meetings.meeting.default.userid.md +11 -0
  475. package/dist/docs/markdown/plugin-meetings.meeting.default.verifypassword.md +35 -0
  476. package/dist/docs/markdown/plugin-meetings.meeting.default.video.md +11 -0
  477. package/dist/docs/markdown/plugin-meetings.meeting.default.wirelessshare.md +11 -0
  478. package/dist/docs/markdown/plugin-meetings.meeting.md +18 -0
  479. package/dist/docs/markdown/plugin-meetings.meeting.media_update_type.md +17 -0
  480. package/dist/docs/markdown/plugin-meetings.meetings._constructor_.md +22 -0
  481. package/dist/docs/markdown/plugin-meetings.meetings.create.md +30 -0
  482. package/dist/docs/markdown/plugin-meetings.meetings.fetchuserpreferredwebexsite.md +19 -0
  483. package/dist/docs/markdown/plugin-meetings.meetings.geohintinfo.md +11 -0
  484. package/dist/docs/markdown/plugin-meetings.meetings.getallmeetings.md +31 -0
  485. package/dist/docs/markdown/plugin-meetings.meetings.getgeohint.md +19 -0
  486. package/dist/docs/markdown/plugin-meetings.meetings.getlogger.md +19 -0
  487. package/dist/docs/markdown/plugin-meetings.meetings.getmeetingbytype.md +29 -0
  488. package/dist/docs/markdown/plugin-meetings.meetings.getpersonalmeetingroom.md +21 -0
  489. package/dist/docs/markdown/plugin-meetings.meetings.getreachability.md +21 -0
  490. package/dist/docs/markdown/plugin-meetings.meetings.getscheduledmeetings.md +19 -0
  491. package/dist/docs/markdown/plugin-meetings.meetings.loggerrequest.md +11 -0
  492. package/dist/docs/markdown/plugin-meetings.meetings.md +57 -0
  493. package/dist/docs/markdown/plugin-meetings.meetings.media.md +11 -0
  494. package/dist/docs/markdown/plugin-meetings.meetings.meetingcollection.md +11 -0
  495. package/dist/docs/markdown/plugin-meetings.meetings.meetinginfo.md +11 -0
  496. package/dist/docs/markdown/plugin-meetings.meetings.namespace.md +11 -0
  497. package/dist/docs/markdown/plugin-meetings.meetings.personalmeetingroom.md +11 -0
  498. package/dist/docs/markdown/plugin-meetings.meetings.preferredwebexsite.md +11 -0
  499. package/dist/docs/markdown/plugin-meetings.meetings.reachability.md +11 -0
  500. package/dist/docs/markdown/plugin-meetings.meetings.register.md +21 -0
  501. package/dist/docs/markdown/plugin-meetings.meetings.registered.md +11 -0
  502. package/dist/docs/markdown/plugin-meetings.meetings.request.md +11 -0
  503. package/dist/docs/markdown/plugin-meetings.meetings.setreachability.md +21 -0
  504. package/dist/docs/markdown/plugin-meetings.meetings.startreachability.md +21 -0
  505. package/dist/docs/markdown/plugin-meetings.meetings.syncmeetings.md +21 -0
  506. package/dist/docs/markdown/plugin-meetings.meetings.unregister.md +21 -0
  507. package/dist/docs/markdown/plugin-meetings.meetings.uploadlogs.md +34 -0
  508. package/dist/docs/markdown/plugin-meetings.reactions.md +13 -0
  509. package/dist/docs/markdown/plugin-meetings.reactions.reactions.md +11 -0
  510. package/dist/docs/markdown/plugin-meetings.reactions.skintones.md +11 -0
  511. package/dist/docs/markdown/plugin-meetings.remotemedia.getmaxfs.md +26 -0
  512. package/dist/docs/markdown/plugin-meetings.remotemedia.md +31 -0
  513. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia._constructor_.md +22 -0
  514. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.csi.md +13 -0
  515. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.id.md +11 -0
  516. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.md +40 -0
  517. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.mediatype.md +13 -0
  518. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.memberid.md +13 -0
  519. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.setsizehint.md +25 -0
  520. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.sourcestate.md +13 -0
  521. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.stream.md +13 -0
  522. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemediaevents.md +14 -0
  523. package/dist/docs/markdown/plugin-meetings.remotemedia.remotemediaid.md +11 -0
  524. package/dist/docs/markdown/plugin-meetings.remotemedia.remotevideoresolution.md +11 -0
  525. package/dist/docs/markdown/plugin-meetings.remotemediagroup.md +12 -0
  526. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup._constructor_.md +24 -0
  527. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.getremotemedia.md +26 -0
  528. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.includes.md +27 -0
  529. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.ispinned.md +22 -0
  530. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.md +28 -0
  531. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.pin.md +25 -0
  532. package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.unpin.md +24 -0
  533. package/dist/docs/markdown/plugin-meetings.triggerproxy.md +11 -0
  534. package/dist/docs/metadata/index.api.json +14144 -0
  535. package/dist/docs/metadata/index.api.md +2075 -0
  536. package/dist/docs/metadata/index.d.ts +5594 -0
  537. package/dist/index.d.ts +4 -0
  538. package/dist/index.js +72 -17
  539. package/dist/index.js.map +1 -1
  540. package/dist/locus-info/controlsUtils.d.ts +2 -0
  541. package/dist/locus-info/controlsUtils.js +31 -29
  542. package/dist/locus-info/controlsUtils.js.map +1 -1
  543. package/dist/locus-info/embeddedAppsUtils.d.ts +2 -0
  544. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  545. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  546. package/dist/locus-info/fullState.d.ts +2 -0
  547. package/dist/locus-info/fullState.js +0 -15
  548. package/dist/locus-info/fullState.js.map +1 -1
  549. package/dist/locus-info/hostUtils.d.ts +2 -0
  550. package/dist/locus-info/hostUtils.js +4 -12
  551. package/dist/locus-info/hostUtils.js.map +1 -1
  552. package/dist/locus-info/index.d.ts +269 -0
  553. package/dist/locus-info/index.js +202 -201
  554. package/dist/locus-info/index.js.map +1 -1
  555. package/dist/locus-info/infoUtils.d.ts +2 -0
  556. package/dist/locus-info/infoUtils.js +3 -37
  557. package/dist/locus-info/infoUtils.js.map +1 -1
  558. package/dist/locus-info/mediaSharesUtils.d.ts +2 -0
  559. package/dist/locus-info/mediaSharesUtils.js +12 -38
  560. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  561. package/dist/locus-info/parser.d.ts +212 -0
  562. package/dist/locus-info/parser.js +88 -123
  563. package/dist/locus-info/parser.js.map +1 -1
  564. package/dist/locus-info/selfUtils.d.ts +2 -0
  565. package/dist/locus-info/selfUtils.js +80 -89
  566. package/dist/locus-info/selfUtils.js.map +1 -1
  567. package/dist/media/index.d.ts +32 -0
  568. package/dist/media/index.js +56 -146
  569. package/dist/media/index.js.map +1 -1
  570. package/dist/media/properties.d.ts +108 -0
  571. package/dist/media/properties.js +71 -117
  572. package/dist/media/properties.js.map +1 -1
  573. package/dist/media/util.d.ts +2 -0
  574. package/dist/media/util.js +2 -9
  575. package/dist/media/util.js.map +1 -1
  576. package/dist/mediaQualityMetrics/config.d.ts +233 -0
  577. package/dist/mediaQualityMetrics/config.js +505 -495
  578. package/dist/mediaQualityMetrics/config.js.map +1 -1
  579. package/dist/meeting/effectsState.d.ts +42 -0
  580. package/dist/meeting/effectsState.js +118 -192
  581. package/dist/meeting/effectsState.js.map +1 -1
  582. package/dist/meeting/in-meeting-actions.d.ts +79 -0
  583. package/dist/meeting/in-meeting-actions.js +31 -14
  584. package/dist/meeting/in-meeting-actions.js.map +1 -1
  585. package/dist/meeting/index.d.ts +1621 -0
  586. package/dist/meeting/index.js +2175 -2266
  587. package/dist/meeting/index.js.map +1 -1
  588. package/dist/meeting/muteState.d.ts +116 -0
  589. package/dist/meeting/muteState.js +252 -113
  590. package/dist/meeting/muteState.js.map +1 -1
  591. package/dist/meeting/request.d.ts +255 -0
  592. package/dist/meeting/request.js +297 -283
  593. package/dist/meeting/request.js.map +1 -1
  594. package/dist/meeting/request.type.js +7 -0
  595. package/dist/meeting/request.type.js.map +1 -0
  596. package/dist/meeting/state.d.ts +9 -0
  597. package/dist/meeting/state.js +21 -31
  598. package/dist/meeting/state.js.map +1 -1
  599. package/dist/meeting/util.d.ts +2 -0
  600. package/dist/meeting/util.js +63 -217
  601. package/dist/meeting/util.js.map +1 -1
  602. package/dist/meeting-info/collection.d.ts +20 -0
  603. package/dist/meeting-info/collection.js +3 -25
  604. package/dist/meeting-info/collection.js.map +1 -1
  605. package/dist/meeting-info/index.d.ts +57 -0
  606. package/dist/meeting-info/index.js +10 -33
  607. package/dist/meeting-info/index.js.map +1 -1
  608. package/dist/meeting-info/meeting-info-v2.d.ts +93 -0
  609. package/dist/meeting-info/meeting-info-v2.js +181 -268
  610. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  611. package/dist/meeting-info/request.d.ts +22 -0
  612. package/dist/meeting-info/request.js +1 -16
  613. package/dist/meeting-info/request.js.map +1 -1
  614. package/dist/meeting-info/util.d.ts +2 -0
  615. package/dist/meeting-info/util.js +98 -183
  616. package/dist/meeting-info/util.js.map +1 -1
  617. package/dist/meeting-info/utilv2.d.ts +2 -0
  618. package/dist/meeting-info/utilv2.js +137 -228
  619. package/dist/meeting-info/utilv2.js.map +1 -1
  620. package/dist/meetings/collection.d.ts +23 -0
  621. package/dist/meetings/collection.js +24 -20
  622. package/dist/meetings/collection.js.map +1 -1
  623. package/dist/meetings/index.d.ts +297 -0
  624. package/dist/meetings/index.js +566 -587
  625. package/dist/meetings/index.js.map +1 -1
  626. package/dist/meetings/request.d.ts +27 -0
  627. package/dist/meetings/request.js +23 -42
  628. package/dist/meetings/request.js.map +1 -1
  629. package/dist/meetings/util.d.ts +18 -0
  630. package/dist/meetings/util.js +151 -155
  631. package/dist/meetings/util.js.map +1 -1
  632. package/dist/member/index.d.ts +145 -0
  633. package/dist/member/index.js +80 -88
  634. package/dist/member/index.js.map +1 -1
  635. package/dist/member/types.js +15 -0
  636. package/dist/member/types.js.map +1 -0
  637. package/dist/member/util.d.ts +2 -0
  638. package/dist/member/util.js +90 -69
  639. package/dist/member/util.js.map +1 -1
  640. package/dist/members/collection.d.ts +24 -0
  641. package/dist/members/collection.js +12 -12
  642. package/dist/members/collection.js.map +1 -1
  643. package/dist/members/index.d.ts +298 -0
  644. package/dist/members/index.js +139 -204
  645. package/dist/members/index.js.map +1 -1
  646. package/dist/members/request.d.ts +50 -0
  647. package/dist/members/request.js +41 -55
  648. package/dist/members/request.js.map +1 -1
  649. package/dist/members/types.js +15 -0
  650. package/dist/members/types.js.map +1 -0
  651. package/dist/members/util.d.ts +2 -0
  652. package/dist/members/util.js +76 -46
  653. package/dist/members/util.js.map +1 -1
  654. package/dist/metrics/config.d.ts +169 -0
  655. package/dist/metrics/config.js +4 -14
  656. package/dist/metrics/config.js.map +1 -1
  657. package/dist/metrics/constants.d.ts +57 -0
  658. package/dist/metrics/constants.js +1 -6
  659. package/dist/metrics/constants.js.map +1 -1
  660. package/dist/metrics/index.d.ts +152 -0
  661. package/dist/metrics/index.js +53 -158
  662. package/dist/metrics/index.js.map +1 -1
  663. package/dist/multistream/mediaRequestManager.js +116 -52
  664. package/dist/multistream/mediaRequestManager.js.map +1 -1
  665. package/dist/multistream/receiveSlot.js +58 -65
  666. package/dist/multistream/receiveSlot.js.map +1 -1
  667. package/dist/multistream/receiveSlotManager.js +58 -93
  668. package/dist/multistream/receiveSlotManager.js.map +1 -1
  669. package/dist/multistream/remoteMedia.js +55 -74
  670. package/dist/multistream/remoteMedia.js.map +1 -1
  671. package/dist/multistream/remoteMediaGroup.js +6 -40
  672. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  673. package/dist/multistream/remoteMediaManager.js +466 -442
  674. package/dist/multistream/remoteMediaManager.js.map +1 -1
  675. package/dist/networkQualityMonitor/index.d.ts +70 -0
  676. package/dist/networkQualityMonitor/index.js +32 -59
  677. package/dist/networkQualityMonitor/index.js.map +1 -1
  678. package/dist/peer-connection-manager/index.d.ts +6 -0
  679. package/dist/peer-connection-manager/index.js +671 -0
  680. package/dist/peer-connection-manager/index.js.map +1 -0
  681. package/dist/peer-connection-manager/util.d.ts +6 -0
  682. package/dist/peer-connection-manager/util.js +110 -0
  683. package/dist/peer-connection-manager/util.js.map +1 -0
  684. package/dist/personal-meeting-room/index.d.ts +47 -0
  685. package/dist/personal-meeting-room/index.js +10 -45
  686. package/dist/personal-meeting-room/index.js.map +1 -1
  687. package/dist/personal-meeting-room/request.d.ts +14 -0
  688. package/dist/personal-meeting-room/request.js +2 -33
  689. package/dist/personal-meeting-room/request.js.map +1 -1
  690. package/dist/personal-meeting-room/util.d.ts +2 -0
  691. package/dist/personal-meeting-room/util.js +0 -13
  692. package/dist/personal-meeting-room/util.js.map +1 -1
  693. package/dist/plugin-meetings.d.ts +5399 -0
  694. package/dist/reachability/index.d.ts +139 -0
  695. package/dist/reachability/index.js +190 -199
  696. package/dist/reachability/index.js.map +1 -1
  697. package/dist/reachability/request.d.ts +35 -0
  698. package/dist/reachability/request.js +14 -23
  699. package/dist/reachability/request.js.map +1 -1
  700. package/dist/reactions/constants.js +13 -0
  701. package/dist/reactions/constants.js.map +1 -0
  702. package/dist/reactions/reactions.d.ts +4 -0
  703. package/dist/reactions/reactions.js +109 -0
  704. package/dist/reactions/reactions.js.map +1 -0
  705. package/dist/reactions/reactions.type.d.ts +32 -0
  706. package/dist/reactions/reactions.type.js +36 -0
  707. package/dist/reactions/reactions.type.js.map +1 -0
  708. package/dist/reconnection-manager/index.d.ts +112 -0
  709. package/dist/reconnection-manager/index.js +328 -465
  710. package/dist/reconnection-manager/index.js.map +1 -1
  711. package/dist/recording-controller/enums.d.ts +7 -0
  712. package/dist/recording-controller/enums.js +17 -0
  713. package/dist/recording-controller/enums.js.map +1 -0
  714. package/dist/recording-controller/index.d.ts +193 -0
  715. package/dist/recording-controller/index.js +343 -0
  716. package/dist/recording-controller/index.js.map +1 -0
  717. package/dist/recording-controller/util.d.ts +13 -0
  718. package/dist/recording-controller/util.js +63 -0
  719. package/dist/recording-controller/util.js.map +1 -0
  720. package/dist/roap/collection.d.ts +10 -0
  721. package/dist/roap/collection.js +63 -0
  722. package/dist/roap/collection.js.map +1 -0
  723. package/dist/roap/handler.d.ts +47 -0
  724. package/dist/roap/handler.js +279 -0
  725. package/dist/roap/handler.js.map +1 -0
  726. package/dist/roap/index.d.ts +116 -0
  727. package/dist/roap/index.js +27 -59
  728. package/dist/roap/index.js.map +1 -1
  729. package/dist/roap/request.d.ts +35 -0
  730. package/dist/roap/request.js +143 -134
  731. package/dist/roap/request.js.map +1 -1
  732. package/dist/roap/state.d.ts +9 -0
  733. package/dist/roap/state.js +127 -0
  734. package/dist/roap/state.js.map +1 -0
  735. package/dist/roap/turnDiscovery.d.ts +67 -0
  736. package/dist/roap/turnDiscovery.js +86 -101
  737. package/dist/roap/turnDiscovery.js.map +1 -1
  738. package/dist/roap/util.d.ts +2 -0
  739. package/dist/roap/util.js +76 -0
  740. package/dist/roap/util.js.map +1 -0
  741. package/dist/statsAnalyzer/global.d.ts +126 -0
  742. package/dist/statsAnalyzer/global.js +1 -95
  743. package/dist/statsAnalyzer/global.js.map +1 -1
  744. package/dist/statsAnalyzer/index.d.ts +190 -0
  745. package/dist/statsAnalyzer/index.js +356 -457
  746. package/dist/statsAnalyzer/index.js.map +1 -1
  747. package/dist/statsAnalyzer/mqaUtil.d.ts +22 -0
  748. package/dist/statsAnalyzer/mqaUtil.js +144 -94
  749. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  750. package/dist/transcription/index.d.ts +64 -0
  751. package/dist/transcription/index.js +13 -45
  752. package/dist/transcription/index.js.map +1 -1
  753. package/dist/types/breakouts/breakout.d.ts +8 -0
  754. package/dist/types/breakouts/collection.d.ts +5 -0
  755. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  756. package/dist/types/breakouts/index.d.ts +5 -0
  757. package/dist/types/breakouts/request.d.ts +22 -0
  758. package/dist/types/breakouts/utils.d.ts +8 -0
  759. package/dist/types/common/browser-detection.d.ts +9 -0
  760. package/dist/types/common/collection.d.ts +48 -0
  761. package/dist/types/common/config.d.ts +2 -0
  762. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  763. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  764. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  765. package/dist/types/common/errors/media.d.ts +15 -0
  766. package/dist/types/common/errors/parameter.d.ts +15 -0
  767. package/dist/types/common/errors/password-error.d.ts +15 -0
  768. package/dist/types/common/errors/permission.d.ts +14 -0
  769. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  770. package/dist/types/common/errors/reconnection.d.ts +15 -0
  771. package/dist/types/common/errors/stats.d.ts +15 -0
  772. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  773. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  774. package/dist/types/common/events/events-scope.d.ts +17 -0
  775. package/dist/types/common/events/events.d.ts +12 -0
  776. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  777. package/dist/types/common/events/util.d.ts +2 -0
  778. package/dist/types/common/logs/logger-config.d.ts +2 -0
  779. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  780. package/dist/types/common/logs/request.d.ts +34 -0
  781. package/dist/types/common/queue.d.ts +32 -0
  782. package/dist/types/config.d.ts +77 -0
  783. package/dist/types/constants.d.ts +944 -0
  784. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  785. package/dist/types/controls-options-manager/enums.d.ts +6 -0
  786. package/dist/types/controls-options-manager/index.d.ts +128 -0
  787. package/dist/types/controls-options-manager/util.d.ts +9 -0
  788. package/dist/types/index.d.ts +7 -0
  789. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  790. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  791. package/dist/types/locus-info/fullState.d.ts +2 -0
  792. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  793. package/dist/types/locus-info/index.d.ts +276 -0
  794. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  795. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  796. package/dist/types/locus-info/parser.d.ts +212 -0
  797. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  798. package/dist/types/media/index.d.ts +32 -0
  799. package/dist/types/media/properties.d.ts +108 -0
  800. package/dist/types/media/util.d.ts +2 -0
  801. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  802. package/dist/types/meeting/effectsState.d.ts +42 -0
  803. package/dist/types/meeting/in-meeting-actions.d.ts +101 -0
  804. package/dist/types/meeting/index.d.ts +1723 -0
  805. package/dist/types/meeting/muteState.d.ts +185 -0
  806. package/dist/types/meeting/request.d.ts +271 -0
  807. package/dist/types/meeting/request.type.d.ts +11 -0
  808. package/dist/types/meeting/state.d.ts +9 -0
  809. package/dist/types/meeting/util.d.ts +2 -0
  810. package/dist/types/meeting-info/collection.d.ts +20 -0
  811. package/dist/types/meeting-info/index.d.ts +57 -0
  812. package/dist/types/meeting-info/meeting-info-v2.d.ts +93 -0
  813. package/dist/types/meeting-info/request.d.ts +22 -0
  814. package/dist/types/meeting-info/util.d.ts +2 -0
  815. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  816. package/dist/types/meetings/collection.d.ts +31 -0
  817. package/dist/types/meetings/index.d.ts +316 -0
  818. package/dist/types/meetings/request.d.ts +27 -0
  819. package/dist/types/meetings/util.d.ts +18 -0
  820. package/dist/types/member/index.d.ts +156 -0
  821. package/dist/types/member/types.d.ts +21 -0
  822. package/dist/types/member/util.d.ts +2 -0
  823. package/dist/types/members/collection.d.ts +29 -0
  824. package/dist/types/members/index.d.ts +343 -0
  825. package/dist/types/members/request.d.ts +58 -0
  826. package/dist/types/members/types.d.ts +24 -0
  827. package/dist/types/members/util.d.ts +2 -0
  828. package/dist/types/metrics/config.d.ts +171 -0
  829. package/dist/types/metrics/constants.d.ts +53 -0
  830. package/dist/types/metrics/index.d.ts +152 -0
  831. package/dist/types/multistream/mediaRequestManager.d.ts +68 -0
  832. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  833. package/dist/types/multistream/receiveSlotManager.d.ts +49 -0
  834. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  835. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  836. package/dist/types/multistream/remoteMediaManager.d.ts +263 -0
  837. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  838. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  839. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  840. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  841. package/dist/types/reachability/index.d.ts +152 -0
  842. package/dist/types/reachability/request.d.ts +37 -0
  843. package/dist/types/reactions/constants.d.ts +3 -0
  844. package/dist/types/reactions/reactions.d.ts +4 -0
  845. package/dist/types/reactions/reactions.type.d.ts +52 -0
  846. package/dist/types/reconnection-manager/index.d.ts +126 -0
  847. package/dist/types/recording-controller/enums.d.ts +7 -0
  848. package/dist/types/recording-controller/index.d.ts +193 -0
  849. package/dist/types/recording-controller/util.d.ts +13 -0
  850. package/dist/types/roap/index.d.ts +77 -0
  851. package/dist/types/roap/request.d.ts +38 -0
  852. package/dist/types/roap/turnDiscovery.d.ts +74 -0
  853. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  854. package/dist/types/statsAnalyzer/index.d.ts +195 -0
  855. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  856. package/dist/types/transcription/index.d.ts +64 -0
  857. package/dist/types/tsdoc-metadata.json +11 -0
  858. package/internal-README.md +7 -6
  859. package/package.json +28 -20
  860. package/src/breakouts/README.md +219 -0
  861. package/src/breakouts/breakout.ts +153 -0
  862. package/src/breakouts/collection.ts +19 -0
  863. package/src/breakouts/edit-lock-error.ts +25 -0
  864. package/src/breakouts/index.ts +745 -0
  865. package/src/breakouts/request.ts +55 -0
  866. package/src/breakouts/utils.ts +44 -0
  867. package/src/common/browser-detection.ts +9 -6
  868. package/src/common/collection.ts +3 -1
  869. package/src/common/errors/captcha-error.ts +6 -6
  870. package/src/common/errors/intent-to-join.ts +6 -6
  871. package/src/common/errors/join-meeting.ts +12 -8
  872. package/src/common/errors/media.ts +6 -6
  873. package/src/common/errors/parameter.ts +9 -6
  874. package/src/common/errors/password-error.ts +6 -6
  875. package/src/common/errors/permission.ts +5 -5
  876. package/src/common/errors/reconnection.ts +6 -6
  877. package/src/common/errors/stats.ts +6 -6
  878. package/src/common/errors/webex-errors.ts +7 -5
  879. package/src/common/errors/webex-meetings-error.ts +1 -1
  880. package/src/common/events/events-scope.ts +5 -1
  881. package/src/common/events/events.ts +5 -1
  882. package/src/common/events/trigger-proxy.ts +8 -3
  883. package/src/common/events/util.ts +1 -2
  884. package/src/common/logs/logger-proxy.ts +21 -10
  885. package/src/common/logs/request.ts +11 -8
  886. package/src/config.ts +16 -12
  887. package/src/constants.ts +92 -6
  888. package/src/controls-options-manager/constants.ts +5 -0
  889. package/src/controls-options-manager/enums.ts +7 -0
  890. package/src/controls-options-manager/index.ts +240 -0
  891. package/src/controls-options-manager/util.ts +30 -0
  892. package/src/index.ts +33 -0
  893. package/src/locus-info/controlsUtils.ts +63 -24
  894. package/src/locus-info/fullState.ts +15 -11
  895. package/src/locus-info/hostUtils.ts +4 -3
  896. package/src/locus-info/index.ts +148 -43
  897. package/src/locus-info/infoUtils.ts +16 -4
  898. package/src/locus-info/mediaSharesUtils.ts +4 -4
  899. package/src/locus-info/parser.ts +46 -68
  900. package/src/locus-info/selfUtils.ts +174 -56
  901. package/src/media/index.ts +131 -179
  902. package/src/media/properties.ts +43 -36
  903. package/src/media/util.ts +1 -1
  904. package/src/mediaQualityMetrics/config.ts +380 -378
  905. package/src/meeting/in-meeting-actions.ts +67 -3
  906. package/src/meeting/index.ts +2395 -1523
  907. package/src/meeting/muteState.ts +271 -68
  908. package/src/meeting/request.ts +228 -132
  909. package/src/meeting/request.type.ts +13 -0
  910. package/src/meeting/state.ts +45 -30
  911. package/src/meeting/util.ts +127 -111
  912. package/src/meeting-info/collection.ts +2 -1
  913. package/src/meeting-info/index.ts +32 -30
  914. package/src/meeting-info/meeting-info-v2.ts +108 -108
  915. package/src/meeting-info/request.ts +9 -3
  916. package/src/meeting-info/util.ts +54 -46
  917. package/src/meeting-info/utilv2.ts +59 -53
  918. package/src/meetings/collection.ts +21 -1
  919. package/src/meetings/index.ts +673 -466
  920. package/src/meetings/request.ts +29 -25
  921. package/src/meetings/util.ts +94 -30
  922. package/src/member/index.ts +86 -49
  923. package/src/member/types.ts +24 -0
  924. package/src/member/util.ts +92 -13
  925. package/src/members/collection.ts +8 -1
  926. package/src/members/index.ts +246 -129
  927. package/src/members/request.ts +67 -14
  928. package/src/members/types.ts +28 -0
  929. package/src/members/util.ts +103 -50
  930. package/src/metrics/config.ts +255 -90
  931. package/src/metrics/constants.ts +0 -6
  932. package/src/metrics/index.ts +90 -93
  933. package/src/multistream/mediaRequestManager.ts +144 -40
  934. package/src/multistream/receiveSlot.ts +69 -26
  935. package/src/multistream/receiveSlotManager.ts +50 -38
  936. package/src/multistream/remoteMedia.ts +30 -4
  937. package/src/multistream/remoteMediaGroup.ts +4 -3
  938. package/src/multistream/remoteMediaManager.ts +230 -66
  939. package/src/networkQualityMonitor/index.ts +24 -27
  940. package/src/personal-meeting-room/index.ts +12 -16
  941. package/src/personal-meeting-room/request.ts +10 -3
  942. package/src/personal-meeting-room/util.ts +3 -3
  943. package/src/reachability/index.ts +131 -79
  944. package/src/reachability/request.ts +43 -34
  945. package/src/reactions/constants.ts +4 -0
  946. package/src/reactions/reactions.ts +104 -0
  947. package/src/reactions/reactions.type.ts +62 -0
  948. package/src/reconnection-manager/index.ts +190 -111
  949. package/src/recording-controller/enums.ts +8 -0
  950. package/src/recording-controller/index.ts +315 -0
  951. package/src/recording-controller/util.ts +58 -0
  952. package/src/roap/index.ts +50 -42
  953. package/src/roap/request.ts +86 -53
  954. package/src/roap/turnDiscovery.ts +69 -38
  955. package/src/statsAnalyzer/global.ts +8 -104
  956. package/src/statsAnalyzer/index.ts +593 -376
  957. package/src/statsAnalyzer/mqaUtil.ts +203 -90
  958. package/src/transcription/index.ts +34 -32
  959. package/test/integration/spec/converged-space-meetings.js +176 -0
  960. package/test/integration/spec/journey.js +665 -464
  961. package/test/integration/spec/space-meeting.js +319 -204
  962. package/test/integration/spec/transcription.js +7 -8
  963. package/test/unit/spec/breakouts/breakout.ts +178 -0
  964. package/test/unit/spec/breakouts/collection.ts +15 -0
  965. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  966. package/test/unit/spec/breakouts/index.ts +1252 -0
  967. package/test/unit/spec/breakouts/request.ts +104 -0
  968. package/test/unit/spec/breakouts/utils.js +54 -0
  969. package/test/unit/spec/common/browser-detection.js +9 -28
  970. package/test/unit/spec/controls-options-manager/index.js +204 -0
  971. package/test/unit/spec/controls-options-manager/util.js +86 -0
  972. package/test/unit/spec/fixture/locus.js +92 -90
  973. package/test/unit/spec/locus-info/controlsUtils.js +133 -34
  974. package/test/unit/spec/locus-info/embeddedAppsUtils.js +8 -6
  975. package/test/unit/spec/locus-info/index.js +303 -2
  976. package/test/unit/spec/locus-info/infoUtils.js +41 -32
  977. package/test/unit/spec/locus-info/lib/BasicSeqCmp.json +88 -430
  978. package/test/unit/spec/locus-info/lib/SeqCmp.json +513 -685
  979. package/test/unit/spec/locus-info/parser.js +3 -9
  980. package/test/unit/spec/locus-info/selfConstant.js +101 -103
  981. package/test/unit/spec/locus-info/selfUtils.js +165 -12
  982. package/test/unit/spec/media/index.ts +72 -8
  983. package/test/unit/spec/media/properties.ts +9 -9
  984. package/test/unit/spec/meeting/in-meeting-actions.ts +29 -2
  985. package/test/unit/spec/meeting/index.js +2479 -794
  986. package/test/unit/spec/meeting/muteState.js +164 -70
  987. package/test/unit/spec/meeting/request.js +141 -43
  988. package/test/unit/spec/meeting/utils.js +135 -164
  989. package/test/unit/spec/meeting-info/meetinginfov2.js +100 -73
  990. package/test/unit/spec/meeting-info/request.js +7 -9
  991. package/test/unit/spec/meeting-info/util.js +11 -12
  992. package/test/unit/spec/meeting-info/utilv2.js +110 -74
  993. package/test/unit/spec/meetings/collection.js +15 -1
  994. package/test/unit/spec/meetings/index.js +622 -263
  995. package/test/unit/spec/meetings/utils.js +65 -14
  996. package/test/unit/spec/member/index.js +24 -1
  997. package/test/unit/spec/member/util.js +359 -32
  998. package/test/unit/spec/members/index.js +294 -54
  999. package/test/unit/spec/members/request.js +50 -20
  1000. package/test/unit/spec/members/utils.js +147 -4
  1001. package/test/unit/spec/metrics/index.js +16 -21
  1002. package/test/unit/spec/multistream/mediaRequestManager.ts +369 -68
  1003. package/test/unit/spec/multistream/receiveSlot.ts +76 -17
  1004. package/test/unit/spec/multistream/receiveSlotManager.ts +60 -38
  1005. package/test/unit/spec/multistream/remoteMedia.ts +32 -2
  1006. package/test/unit/spec/multistream/remoteMediaGroup.ts +5 -5
  1007. package/test/unit/spec/multistream/remoteMediaManager.ts +549 -65
  1008. package/test/unit/spec/networkQualityMonitor/index.js +24 -18
  1009. package/test/unit/spec/personal-meeting-room/personal-meeting-room.js +2 -7
  1010. package/test/unit/spec/reachability/index.ts +176 -27
  1011. package/test/unit/spec/reachability/request.js +66 -0
  1012. package/test/unit/spec/reconnection-manager/index.js +58 -31
  1013. package/test/unit/spec/recording-controller/index.js +231 -0
  1014. package/test/unit/spec/recording-controller/util.js +102 -0
  1015. package/test/unit/spec/roap/index.ts +12 -8
  1016. package/test/unit/spec/roap/request.ts +217 -0
  1017. package/test/unit/spec/roap/turnDiscovery.ts +72 -49
  1018. package/test/unit/spec/stats-analyzer/index.js +108 -57
  1019. package/test/utils/cmr.js +44 -42
  1020. package/test/utils/constants.js +9 -0
  1021. package/test/utils/testUtils.js +98 -77
  1022. package/test/utils/webex-config.js +22 -18
  1023. package/test/utils/webex-test-users.js +57 -50
  1024. package/tsconfig.json +6 -0
  1025. package/dist/media/internal-media-core-wrapper.js +0 -22
  1026. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  1027. package/dist/multistream/multistreamMedia.js +0 -116
  1028. package/dist/multistream/multistreamMedia.js.map +0 -1
  1029. package/src/index.js +0 -15
  1030. package/src/media/internal-media-core-wrapper.ts +0 -9
  1031. package/src/meeting/effectsState.ts +0 -211
  1032. package/src/multistream/multistreamMedia.ts +0 -92
  1033. package/test/unit/spec/meeting/effectsState.js +0 -291
@@ -1,8 +1,12 @@
1
+ /* eslint no-shadow: ["error", { "allow": ["eventType"] }] */
2
+
1
3
  import '@webex/internal-plugin-mercury';
2
4
  import '@webex/internal-plugin-conversation';
3
5
  // @ts-ignore
4
6
  import {WebexPlugin} from '@webex/webex-core';
5
- import {MediaConnection as MC} from '@webex/internal-media-core';
7
+ import {setLogger} from '@webex/internal-media-core';
8
+
9
+ import * as mediaHelpersModule from '@webex/media-helpers';
6
10
 
7
11
  import 'webrtc-adapter';
8
12
 
@@ -37,7 +41,11 @@ import {
37
41
  _ID_,
38
42
  MEETING_REMOVED_REASON,
39
43
  _CONVERSATION_URL_,
40
- CONVERSATION_URL
44
+ CONVERSATION_URL,
45
+ MEETINGNUMBER,
46
+ BREAKOUTS,
47
+ _JOINED_,
48
+ _MOVED_,
41
49
  } from '../constants';
42
50
  import BEHAVIORAL_METRICS from '../metrics/constants';
43
51
  import MeetingInfo from '../meeting-info';
@@ -45,7 +53,7 @@ import MeetingInfoV2 from '../meeting-info/meeting-info-v2';
45
53
  import Meeting from '../meeting';
46
54
  import PersonalMeetingRoom from '../personal-meeting-room';
47
55
  import Reachability from '../reachability';
48
- import Request from '../meetings/request';
56
+ import Request from './request';
49
57
  import PasswordError from '../common/errors/password-error';
50
58
  import CaptchaError from '../common/errors/captcha-error';
51
59
 
@@ -80,21 +88,21 @@ class MediaLogger {
80
88
  }
81
89
  }
82
90
  /**
83
- * Meetings Ready Event
84
- * Emitted when the meetings instance on webex is ready
85
- * @event meetings:ready
86
- * @instance
87
- * @memberof Meetings
88
- */
91
+ * Meetings Ready Event
92
+ * Emitted when the meetings instance on webex is ready
93
+ * @event meetings:ready
94
+ * @instance
95
+ * @memberof Meetings
96
+ */
89
97
 
90
98
  /**
91
- * Meetings Network Disconnected Event
92
- * Emitted when the meetings instance is disconnected from
93
- * the internal mercury server
94
- * @event network:disconnected
95
- * @instance
96
- * @memberof Meetings
97
- */
99
+ * Meetings Network Disconnected Event
100
+ * Emitted when the meetings instance is disconnected from
101
+ * the internal mercury server
102
+ * @event network:disconnected
103
+ * @instance
104
+ * @memberof Meetings
105
+ */
98
106
 
99
107
  /**
100
108
  * Meetings Registered Event
@@ -105,32 +113,32 @@ class MediaLogger {
105
113
  */
106
114
 
107
115
  /**
108
- * Meeting Removed Event
109
- * Emitted when a meeting was removed from the cache of meetings
110
- * @event meeting:removed
111
- * @instance
112
- * @type {Object}
113
- * @property {String} meetingId the removed meeting
114
- * @property {Object} response the server response
115
- * @property {String} type what type of meeting it was
116
- * @memberof Meetings
117
- */
116
+ * Meeting Removed Event
117
+ * Emitted when a meeting was removed from the cache of meetings
118
+ * @event meeting:removed
119
+ * @instance
120
+ * @type {Object}
121
+ * @property {String} meetingId the removed meeting
122
+ * @property {Object} response the server response
123
+ * @property {String} type what type of meeting it was
124
+ * @memberof Meetings
125
+ */
118
126
 
119
127
  /**
120
- * Meeting Added Event
121
- * Emitted when a meeting was added to the cache of meetings
122
- * @event meeting:added
123
- * @instance
124
- * @type {Object}
125
- * @property {String} meetingId the added meeting
126
- * @property {String} type what type of meeting it was
127
- * @memberof Meetings
128
- */
128
+ * Meeting Added Event
129
+ * Emitted when a meeting was added to the cache of meetings
130
+ * @event meeting:added
131
+ * @instance
132
+ * @type {Object}
133
+ * @property {String} meetingId the added meeting
134
+ * @property {String} type what type of meeting it was
135
+ * @memberof Meetings
136
+ */
129
137
 
130
138
  /**
131
- * Maintain a cache of meetings and sync with services.
132
- * @class
133
- */
139
+ * Maintain a cache of meetings and sync with services.
140
+ * @class
141
+ */
134
142
  export default class Meetings extends WebexPlugin {
135
143
  loggerRequest: any;
136
144
  media: any;
@@ -142,120 +150,251 @@ export default class Meetings extends WebexPlugin {
142
150
  request: any;
143
151
  geoHintInfo: any;
144
152
  meetingInfo: any;
153
+ mediaHelpers: any;
145
154
 
146
155
  namespace = MEETINGS;
147
156
 
148
157
  /**
149
- * Initializes the Meetings Plugin
150
- * @constructor
151
- * @public
152
- * @memberof Meetings
153
- */
158
+ * Initializes the Meetings Plugin
159
+ * @constructor
160
+ * @public
161
+ * @memberof Meetings
162
+ */
154
163
  constructor(...args) {
155
164
  super(...args);
156
165
 
157
166
  /**
158
- * The Meetings request to interact with server
159
- * @instance
160
- * @type {Object}
161
- * @private
162
- * @memberof Meetings
163
- */
167
+ * The webrtc-core media helpers. This is a temporary solution required for the SDK sample app
168
+ * to be able to call media helper functions.
169
+ *
170
+ * @instance
171
+ * @type {Object}
172
+ * @private
173
+ * @memberof Meetings
174
+ */
175
+ this.mediaHelpers = mediaHelpersModule;
176
+
177
+ /**
178
+ * The Meetings request to interact with server
179
+ * @instance
180
+ * @type {Object}
181
+ * @private
182
+ * @memberof Meetings
183
+ */
164
184
  // @ts-ignore
165
185
  this.request = new Request({}, {parent: this.webex});
166
186
  /**
167
- * Log upload request helper
168
- * @instance
169
- * @type {Object}
170
- * @private
171
- * @memberof Meetings
172
- */
187
+ * Log upload request helper
188
+ * @instance
189
+ * @type {Object}
190
+ * @private
191
+ * @memberof Meetings
192
+ */
173
193
  // @ts-ignore
174
194
  this.loggerRequest = new LoggerRequest({webex: this.webex});
175
195
  this.meetingCollection = new MeetingCollection();
176
196
  /**
177
- * The PersonalMeetingRoom object to interact with server
178
- * @instance
179
- * @type {Object}
180
- * @public
181
- * @memberof Meetings
182
- */
197
+ * The PersonalMeetingRoom object to interact with server
198
+ * @instance
199
+ * @type {Object}
200
+ * @public
201
+ * @memberof Meetings
202
+ */
183
203
  this.personalMeetingRoom = null;
184
204
  /**
185
- * The Reachability object to interact with server, starts as null until {@link Meeting#setReachability} is called
186
- * starts as null
187
- * @instance
188
- * @type {Object}
189
- * @private
190
- * @memberof Meetings
191
- */
205
+ * The Reachability object to interact with server, starts as null until {@link Meeting#setReachability} is called
206
+ * starts as null
207
+ * @instance
208
+ * @type {Object}
209
+ * @private
210
+ * @memberof Meetings
211
+ */
192
212
  this.reachability = null;
193
213
 
194
214
  /**
195
- * If the meetings plugin has been registered and listening via {@link Meetings#register}
196
- * @instance
197
- * @type {Boolean}
198
- * @public
199
- * @memberof Meetings
200
- */
215
+ * If the meetings plugin has been registered and listening via {@link Meetings#register}
216
+ * @instance
217
+ * @type {Boolean}
218
+ * @public
219
+ * @memberof Meetings
220
+ */
201
221
  this.registered = false;
202
222
 
203
223
  /**
204
- * This values indicates the preferred webex site the user will start there meeting, getsits value from {@link Meetings#register}
205
- * @instance
206
- * @type {String}
207
- * @private
208
- * @memberof Meetings
209
- */
224
+ * This values indicates the preferred webex site the user will start there meeting, getsits value from {@link Meetings#register}
225
+ * @instance
226
+ * @type {String}
227
+ * @private
228
+ * @memberof Meetings
229
+ */
210
230
  this.preferredWebexSite = '';
211
231
 
212
232
  /**
213
- * The public interface for the internal Media util files. These are helpful to expose outside the context
214
- * of a meeting so that a user can access media without creating a meeting instance.
215
- * @instance
216
- * @type {Object}
217
- * @private
218
- * @memberof Meetings
219
- */
233
+ * The public interface for the internal Media util files. These are helpful to expose outside the context
234
+ * of a meeting so that a user can access media without creating a meeting instance.
235
+ * @instance
236
+ * @type {Object}
237
+ * @private
238
+ * @memberof Meetings
239
+ */
220
240
  this.media = {
221
241
  getUserMedia: Media.getUserMedia,
222
- getSupportedDevice: Media.getSupportedDevice
242
+ getSupportedDevice: Media.getSupportedDevice,
223
243
  };
224
244
 
225
245
  this.onReady();
226
246
  }
227
247
 
228
248
  /**
229
- * handle locus events and takes meeting actions with them as they come in
230
- * @param {Object} data a locus event
231
- * @param {String} data.locusUrl
232
- * @param {Object} data.locus
233
- * @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
234
- * @param {String} data.eventType
235
- * @returns {undefined}
236
- * @private
237
- * @memberof Meetings
238
- */
239
- private handleLocusEvent(data: { locusUrl: string; locus: any }, useRandomDelayForInfo: boolean = false) {
240
- let meeting = null;
249
+ * check whether you need to handle this main session's locus data or not
250
+ * @param {Object} meeting current meeting data
251
+ * @param {Object} newLocus new locus data
252
+ * @returns {boolean}
253
+ * @private
254
+ * @memberof Meetings
255
+ */
256
+ private isNeedHandleMainLocus(meeting: any, newLocus: any) {
257
+ const breakoutUrl = newLocus.controls?.breakout?.url;
258
+ const breakoutLocus = this.meetingCollection.getActiveBreakoutLocus(breakoutUrl);
259
+
260
+ const isSelfJoined = newLocus?.self?.state === _JOINED_;
261
+ const isSelfMoved = newLocus?.self?.state === _LEFT_ && newLocus?.self?.reason === _MOVED_;
262
+ const deviceFromNewLocus = MeetingsUtil.getThisDevice(newLocus);
263
+ const isNewLocusJoinThisDevice = MeetingsUtil.joinedOnThisDevice(meeting, newLocus);
264
+ const isBreakoutLocusJoinThisDevice =
265
+ breakoutLocus?.joinedWith?.correlationId &&
266
+ breakoutLocus.joinedWith.correlationId === meeting?.correlationId;
267
+
268
+ if (isSelfJoined && isNewLocusJoinThisDevice) {
269
+ LoggerProxy.logger.log(
270
+ 'Meetings:index#isNeedHandleMainLocus --> self this device shown as JOINED in the main session'
271
+ );
272
+ if (breakoutLocus?.joinedWith && deviceFromNewLocus) {
273
+ const breakoutReplaceAt =
274
+ breakoutLocus.joinedWith.replaces?.length > 0
275
+ ? breakoutLocus.joinedWith.replaces[0].replaceAt
276
+ : '';
277
+ const newLocusReplaceAt =
278
+ deviceFromNewLocus.replaces?.length > 0 ? deviceFromNewLocus.replaces[0].replaceAt : '';
279
+ if (breakoutReplaceAt && newLocusReplaceAt && breakoutReplaceAt > newLocusReplaceAt) {
280
+ LoggerProxy.logger.log(
281
+ `Meetings:index#isNeedHandleMainLocus --> this is expired main joined status locus_dto replacedAt ${newLocusReplaceAt} bo replacedAt ${breakoutReplaceAt}`
282
+ );
283
+
284
+ return false;
285
+ }
286
+ }
287
+
288
+ return true;
289
+ }
290
+ if (isBreakoutLocusJoinThisDevice) {
291
+ LoggerProxy.logger.log(
292
+ `Meetings:index#isNeedHandleMainLocus --> there is active breakout session and joined on this device, and don't need to handle main session: ${breakoutUrl}`
293
+ );
294
+
295
+ return false;
296
+ }
297
+ if (isSelfMoved && newLocus?.self?.removed) {
298
+ LoggerProxy.logger.log(
299
+ 'Meetings:index#isNeedHandleMainLocus --> self moved main locus with self removed status, not need to handle'
300
+ );
301
+
302
+ return false;
303
+ }
304
+ LoggerProxy.logger.log(
305
+ 'Meetings:index#isNeedHandleMainLocus --> this is a normal main session locusDTO update case'
306
+ );
307
+
308
+ return true;
309
+ }
310
+
311
+ /**
312
+ * check whether you need to handle this locus data or not
313
+ * @param {Object} meeting old locus data
314
+ * @param {Object} newLocus new locus data
315
+ * @returns {boolean}
316
+ * @private
317
+ * @memberof Meetings
318
+ */
319
+ private isNeedHandleLocusDTO(meeting: any, newLocus: any) {
320
+ if (newLocus) {
321
+ const isNewLocusAsBreakout =
322
+ newLocus.controls?.breakout?.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT;
323
+ const isSelfMoved = newLocus?.self?.state === _LEFT_ && newLocus?.self?.reason === _MOVED_;
324
+ if (!meeting) {
325
+ if (isNewLocusAsBreakout) {
326
+ LoggerProxy.logger.log(
327
+ `Meetings:index#isNeedHandleLocusDTO --> the first breakout session locusDTO active status: ${newLocus.fullState?.active}`
328
+ );
329
+
330
+ return newLocus.self?.state === _JOINED_;
331
+ }
241
332
 
333
+ return this.isNeedHandleMainLocus(meeting, newLocus);
334
+ }
335
+ if (!isNewLocusAsBreakout) {
336
+ return this.isNeedHandleMainLocus(meeting, newLocus);
337
+ }
338
+
339
+ return !isSelfMoved;
340
+ }
341
+
342
+ return true;
343
+ }
344
+
345
+ /**
346
+ * handle locus events and takes meeting actions with them as they come in
347
+ * @param {Object} data a locus event
348
+ * @param {String} data.locusUrl
349
+ * @param {Object} data.locus
350
+ * @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
351
+ * @param {String} data.eventType
352
+ * @returns {undefined}
353
+ * @private
354
+ * @memberof Meetings
355
+ */
356
+ private handleLocusEvent(data: {locusUrl: string; locus: any}, useRandomDelayForInfo = false) {
357
+ let meeting = null;
242
358
  // getting meeting by correlationId. This will happen for the new event
243
359
  // Either the locus
244
360
  // TODO : Add check for the callBack Address
245
- meeting = this.meetingCollection.getByKey(LOCUS_URL, data.locusUrl) ||
246
- // @ts-ignore
247
- this.meetingCollection.getByKey(CORRELATION_ID, MeetingsUtil.checkForCorrelationId(this.webex.internal.device.url, data.locus)) ||
248
- this.meetingCollection.getByKey(SIP_URI, data.locus.self && data.locus.self.callbackInfo && data.locus.self.callbackInfo.callbackAddress) ||
249
- (data.locus.info?.isUnifiedSpaceMeeting ? undefined : this.meetingCollection.getByKey(CONVERSATION_URL, data.locus.conversationUrl));
361
+ meeting =
362
+ this.meetingCollection.getByKey(LOCUS_URL, data.locusUrl) ||
363
+ // @ts-ignore
364
+ this.meetingCollection.getByKey(
365
+ CORRELATION_ID,
366
+ // @ts-ignore
367
+ MeetingsUtil.checkForCorrelationId(this.webex.internal.device.url, data.locus)
368
+ ) ||
369
+ this.meetingCollection.getByKey(
370
+ SIP_URI,
371
+ data.locus.self &&
372
+ data.locus.self.callbackInfo &&
373
+ data.locus.self.callbackInfo.callbackAddress
374
+ ) ||
375
+ (data.locus.info?.isUnifiedSpaceMeeting
376
+ ? undefined
377
+ : this.meetingCollection.getByKey(CONVERSATION_URL, data.locus.conversationUrl)) ||
378
+ this.meetingCollection.getByKey(MEETINGNUMBER, data.locus?.info?.webExMeetingId);
250
379
 
251
380
  // Special case when locus has got replaced, This only happend once if a replace locus exists
252
381
  // https://sqbu-github.cisco.com/WebExSquared/locus/wiki/Locus-changing-mid-call
253
382
 
254
383
  if (!meeting && data.locus?.replaces?.length > 0) {
255
384
  // Always the last element in the replace is the active one
256
- meeting = this.meetingCollection.getByKey(LOCUS_URL, data.locus.replaces[data.locus.replaces.length - 1].locusUrl);
385
+ meeting = this.meetingCollection.getByKey(
386
+ LOCUS_URL,
387
+ data.locus.replaces[data.locus.replaces.length - 1].locusUrl
388
+ );
257
389
  }
258
390
 
391
+ if (!this.isNeedHandleLocusDTO(meeting, data.locus)) {
392
+ LoggerProxy.logger.log(
393
+ `Meetings:index#handleLocusEvent --> doesn't need to process locus event`
394
+ );
395
+
396
+ return;
397
+ }
259
398
  if (!meeting) {
260
399
  // TODO: create meeting when we get a meeting object
261
400
  // const checkForEnded = (locus) => {
@@ -276,73 +415,92 @@ export default class Meetings extends WebexPlugin {
276
415
  // };
277
416
  // rather then locus object change to locus url
278
417
 
279
- if (data.locus && data.locus.fullState && data.locus.fullState.state === LOCUS.STATE.INACTIVE) {
418
+ if (
419
+ data.locus &&
420
+ data.locus.fullState &&
421
+ data.locus.fullState.state === LOCUS.STATE.INACTIVE
422
+ ) {
280
423
  // just ignore the event as its already ended and not active
281
- LoggerProxy.logger.warn('Meetings:index#handleLocusEvent --> Locus event received for meeting, after it was ended.');
424
+ LoggerProxy.logger.warn(
425
+ 'Meetings:index#handleLocusEvent --> Locus event received for meeting, after it was ended.'
426
+ );
282
427
 
283
428
  return;
284
429
  }
285
430
 
286
-
287
431
  // When its wireless share or guest and user leaves the meeting we dont have to keep the meeting object
288
432
  // Any future events will be neglected
289
433
 
290
- if (data.locus && data.locus.self && (data.locus.self.state === _LEFT_ && data.locus.self.removed === true)) {
434
+ if (
435
+ data.locus &&
436
+ data.locus.self &&
437
+ data.locus.self.state === _LEFT_ &&
438
+ data.locus.self.removed === true
439
+ ) {
291
440
  // just ignore the event as its already ended and not active
292
- LoggerProxy.logger.warn('Meetings:index#handleLocusEvent --> Locus event received for meeting, after it was ended.');
441
+ LoggerProxy.logger.warn(
442
+ 'Meetings:index#handleLocusEvent --> Locus event received for meeting, after it was ended.'
443
+ );
293
444
 
294
445
  return;
295
446
  }
296
447
 
297
- this.create(data.locus, _LOCUS_ID_, useRandomDelayForInfo).then((newMeeting) => {
298
- meeting = newMeeting;
448
+ this.create(data.locus, _LOCUS_ID_, useRandomDelayForInfo)
449
+ .then((newMeeting) => {
450
+ meeting = newMeeting;
299
451
 
300
- // It's a new meeting so initialize the locus data
301
- meeting.locusInfo.initialSetup(data.locus);
302
- }).catch((e) => {
303
- console.log(e);
304
- })
452
+ // It's a new meeting so initialize the locus data
453
+ meeting.locusInfo.initialSetup(data.locus);
454
+ })
455
+ .catch((e) => {
456
+ LoggerProxy.logger.error(e);
457
+ })
305
458
  .finally(() => {
306
459
  // There will be cases where locus event comes in gets created and deleted because its a 1:1 and meeting gets deleted
307
460
  // because the other user left so before sending 'added' event make sure it exists in the collection
308
461
 
309
462
  if (this.getMeetingByType(_ID_, meeting.id)) {
310
- Metrics.postEvent({event: eventType.REMOTE_STARTED, meeting, data: {trigger: trigger.MERCURY_EVENT}});
463
+ Metrics.postEvent({
464
+ event: eventType.REMOTE_STARTED,
465
+ meeting,
466
+ data: {trigger: trigger.MERCURY_EVENT},
467
+ });
311
468
  Trigger.trigger(
312
469
  this,
313
470
  {
314
471
  file: 'meetings',
315
- function: 'handleLocusEvent'
472
+ function: 'handleLocusEvent',
316
473
  },
317
474
  EVENT_TRIGGERS.MEETING_ADDED,
318
475
  {
319
476
  meeting,
320
- type: meeting.type === _MEETING_ ? _JOIN_ : _INCOMING_
477
+ type: meeting.type === _MEETING_ ? _JOIN_ : _INCOMING_,
321
478
  }
322
479
  );
323
- }
324
- else {
480
+ } else {
325
481
  // Meeting got added but was not found in the collection. It might have got destroyed
326
- LoggerProxy.logger.warn('Meetings:index#handleLocusEvent --> Created and destroyed meeting object before sending an event');
482
+ LoggerProxy.logger.warn(
483
+ 'Meetings:index#handleLocusEvent --> Created and destroyed meeting object before sending an event'
484
+ );
327
485
  }
328
486
  });
329
- }
330
- else {
487
+ } else {
331
488
  meeting.locusInfo.parse(meeting, data);
332
489
  }
333
490
  }
334
491
 
335
492
  /**
336
- * handles locus events through mercury that are not roap
337
- * @param {Object} envelope
338
- * @param {Object} envelope.data
339
- * @param {String} envelope.data.eventType
340
- * @returns {undefined}
341
- * @private
342
- * @memberof Meetings
343
- */
344
- private handleLocusMercury(envelope: { data: any }) {
493
+ * handles locus events through mercury that are not roap
494
+ * @param {Object} envelope
495
+ * @param {Object} envelope.data
496
+ * @param {String} envelope.data.eventType
497
+ * @returns {undefined}
498
+ * @private
499
+ * @memberof Meetings
500
+ */
501
+ private handleLocusMercury(envelope: {data: any}) {
345
502
  const {data} = envelope;
503
+ // eslint-disable-next-line @typescript-eslint/no-shadow
346
504
  const {eventType} = data;
347
505
 
348
506
  if (eventType && eventType !== LOCUSEVENT.MESSAGE_ROAP) {
@@ -350,31 +508,29 @@ export default class Meetings extends WebexPlugin {
350
508
  }
351
509
  }
352
510
 
353
-
354
511
  /**
355
- * handles mecury offline event
356
- * @returns {undefined}
357
- * @private
358
- * @memberof Meetings
359
- */
512
+ * handles mecury offline event
513
+ * @returns {undefined}
514
+ * @private
515
+ * @memberof Meetings
516
+ */
360
517
  private handleMercuryOffline() {
361
518
  Trigger.trigger(
362
519
  this,
363
520
  {
364
521
  file: 'meetings/index',
365
- function: 'handleMercuryOffline'
522
+ function: 'handleMercuryOffline',
366
523
  },
367
- EVENT_TRIGGERS.MEETINGS_NETWORK_DISCONNECTED,
524
+ EVENT_TRIGGERS.MEETINGS_NETWORK_DISCONNECTED
368
525
  );
369
526
  }
370
527
 
371
-
372
528
  /**
373
- * registers for locus and roap mercury events
374
- * @returns {undefined}
375
- * @private
376
- * @memberof Meetings
377
- */
529
+ * registers for locus and roap mercury events
530
+ * @returns {undefined}
531
+ * @private
532
+ * @memberof Meetings
533
+ */
378
534
  private listenForEvents() {
379
535
  // @ts-ignore
380
536
  this.webex.internal.mercury.on(LOCUSEVENT.LOCUS_MERCURY, (envelope) => {
@@ -397,11 +553,11 @@ export default class Meetings extends WebexPlugin {
397
553
  }
398
554
 
399
555
  /**
400
- * stops listening for locus and roap mercury events
401
- * @returns {undefined}
402
- * @private
403
- * @memberof Meetings
404
- */
556
+ * stops listening for locus and roap mercury events
557
+ * @returns {undefined}
558
+ * @private
559
+ * @memberof Meetings
560
+ */
405
561
  private stopListeningForEvents() {
406
562
  // @ts-ignore
407
563
  this.webex.internal.mercury.off(LOCUSEVENT.LOCUS_MERCURY);
@@ -412,10 +568,10 @@ export default class Meetings extends WebexPlugin {
412
568
  }
413
569
 
414
570
  /**
415
- * @returns {undefined}
416
- * @private
417
- * @memberof Meetings
418
- */
571
+ * @returns {undefined}
572
+ * @private
573
+ * @memberof Meetings
574
+ */
419
575
  private onReady() {
420
576
  // @ts-ignore
421
577
  this.webex.once(READY, () => {
@@ -427,7 +583,7 @@ export default class Meetings extends WebexPlugin {
427
583
  LoggerProxy.set(this.webex.logger);
428
584
 
429
585
  mediaLogger = new MediaLogger();
430
- MC.setLogger(mediaLogger);
586
+ setLogger(mediaLogger);
431
587
 
432
588
  /**
433
589
  * The MeetingInfo object to interact with server
@@ -437,15 +593,23 @@ export default class Meetings extends WebexPlugin {
437
593
  * @memberof Meetings
438
594
  */
439
595
  // @ts-ignore
440
- this.meetingInfo = this.config.experimental.enableUnifiedMeetings ? new MeetingInfoV2(this.webex) : new MeetingInfo(this.webex);
596
+ this.meetingInfo = this.config.experimental.enableUnifiedMeetings
597
+ ? // @ts-ignore
598
+ new MeetingInfoV2(this.webex)
599
+ : // @ts-ignore
600
+ new MeetingInfo(this.webex);
441
601
  // @ts-ignore
442
- this.personalMeetingRoom = new PersonalMeetingRoom({meetingInfo: this.meetingInfo}, {parent: this.webex});
602
+ this.personalMeetingRoom = new PersonalMeetingRoom(
603
+ {meetingInfo: this.meetingInfo},
604
+ // @ts-ignore
605
+ {parent: this.webex}
606
+ );
443
607
 
444
608
  Trigger.trigger(
445
609
  this,
446
610
  {
447
611
  file: 'meetings',
448
- function: 'onReady'
612
+ function: 'onReady',
449
613
  },
450
614
  EVENT_TRIGGERS.MEETINGS_READY
451
615
  );
@@ -457,12 +621,12 @@ export default class Meetings extends WebexPlugin {
457
621
  }
458
622
 
459
623
  /**
460
- * API to toggle unified meetings
461
- * @param {Boolean} changeState
462
- * @private
463
- * @memberof Meetings
464
- * @returns {undefined}
465
- */
624
+ * API to toggle unified meetings
625
+ * @param {Boolean} changeState
626
+ * @private
627
+ * @memberof Meetings
628
+ * @returns {undefined}
629
+ */
466
630
  private _toggleUnifiedMeetings(changeState: boolean) {
467
631
  if (typeof changeState !== 'boolean') {
468
632
  return;
@@ -477,12 +641,12 @@ export default class Meetings extends WebexPlugin {
477
641
  }
478
642
 
479
643
  /**
480
- * API to enable or disable TURN discovery
481
- * @param {Boolean} enable
482
- * @private
483
- * @memberof Meetings
484
- * @returns {undefined}
485
- */
644
+ * API to enable or disable TURN discovery
645
+ * @param {Boolean} enable
646
+ * @private
647
+ * @memberof Meetings
648
+ * @returns {undefined}
649
+ */
486
650
  private _toggleTurnDiscovery(enable: boolean) {
487
651
  if (typeof enable !== 'boolean') {
488
652
  return;
@@ -492,12 +656,12 @@ export default class Meetings extends WebexPlugin {
492
656
  }
493
657
 
494
658
  /**
495
- * API to toggle starting adhoc meeting
496
- * @param {Boolean} changeState
497
- * @private
498
- * @memberof Meetings
499
- * @returns {undefined}
500
- */
659
+ * API to toggle starting adhoc meeting
660
+ * @param {Boolean} changeState
661
+ * @private
662
+ * @memberof Meetings
663
+ * @returns {undefined}
664
+ */
501
665
  private _toggleAdhocMeetings(changeState: boolean) {
502
666
  if (typeof changeState !== 'boolean') {
503
667
  return;
@@ -510,24 +674,27 @@ export default class Meetings extends WebexPlugin {
510
674
  }
511
675
 
512
676
  /**
513
- * Explicitly sets up the meetings plugin by registering
514
- * the device, connecting to mercury, and listening for locus events.
515
- *
516
- * @returns {Promise}
517
- * @public
518
- * @memberof Meetings
519
- */
677
+ * Explicitly sets up the meetings plugin by registering
678
+ * the device, connecting to mercury, and listening for locus events.
679
+ *
680
+ * @returns {Promise}
681
+ * @public
682
+ * @memberof Meetings
683
+ */
520
684
  public register() {
521
685
  // @ts-ignore
522
686
  if (!this.webex.canAuthorize) {
523
- LoggerProxy.logger.error('Meetings:index#register --> ERROR, Unable to register, SDK cannot authorize');
687
+ LoggerProxy.logger.error(
688
+ 'Meetings:index#register --> ERROR, Unable to register, SDK cannot authorize'
689
+ );
524
690
 
525
691
  return Promise.reject(new Error('SDK cannot authorize'));
526
692
  }
527
693
 
528
-
529
694
  if (this.registered) {
530
- LoggerProxy.logger.info('Meetings:index#register --> INFO, Meetings plugin already registered');
695
+ LoggerProxy.logger.info(
696
+ 'Meetings:index#register --> INFO, Meetings plugin already registered'
697
+ );
531
698
 
532
699
  return Promise.resolve();
533
700
  }
@@ -539,88 +706,97 @@ export default class Meetings extends WebexPlugin {
539
706
  LoggerProxy.logger.error(`Meetings:index#register --> GDM error, ${error.message}`);
540
707
  }),
541
708
  // @ts-ignore
542
- this.webex.internal.device.register()
543
- // @ts-ignore
544
- .then(() => LoggerProxy.logger.info(`Meetings:index#register --> INFO, Device registered ${this.webex.internal.device.url}`))
709
+ this.webex.internal.device
710
+ .register()
711
+ // @ts-ignore
712
+ .then(() =>
713
+ LoggerProxy.logger.info(
714
+ // @ts-ignore
715
+ `Meetings:index#register --> INFO, Device registered ${this.webex.internal.device.url}`
716
+ )
717
+ )
545
718
  // @ts-ignore
546
719
  .then(() => this.webex.internal.mercury.connect()),
547
- MeetingsUtil.checkH264Support.call(this)
548
- ]).then(() => {
549
- this.listenForEvents();
550
- Trigger.trigger(
551
- this,
552
- {
553
- file: 'meetings',
554
- function: 'register'
555
- },
556
- EVENT_TRIGGERS.MEETINGS_REGISTERED
557
- );
558
- this.registered = true;
559
- Metrics.sendBehavioralMetric(
560
- BEHAVIORAL_METRICS.MEETINGS_REGISTRATION_SUCCESS,
561
- );
562
- })
563
- .catch((error) => {
564
- LoggerProxy.logger.error(`Meetings:index#register --> ERROR, Unable to register, ${error.message}`);
565
-
566
- Metrics.sendBehavioralMetric(
567
- BEHAVIORAL_METRICS.MEETINGS_REGISTRATION_FAILED,
720
+ MeetingsUtil.checkH264Support.call(this),
721
+ ])
722
+ .then(() => {
723
+ this.listenForEvents();
724
+ Trigger.trigger(
725
+ this,
568
726
  {
569
- reason: error.message,
570
- stack: error.stack
571
- }
727
+ file: 'meetings',
728
+ function: 'register',
729
+ },
730
+ EVENT_TRIGGERS.MEETINGS_REGISTERED
731
+ );
732
+ this.registered = true;
733
+ Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETINGS_REGISTRATION_SUCCESS);
734
+ })
735
+ .catch((error) => {
736
+ LoggerProxy.logger.error(
737
+ `Meetings:index#register --> ERROR, Unable to register, ${error.message}`
572
738
  );
573
739
 
740
+ Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.MEETINGS_REGISTRATION_FAILED, {
741
+ reason: error.message,
742
+ stack: error.stack,
743
+ });
744
+
574
745
  return Promise.reject(error);
575
746
  });
576
747
  }
577
748
 
578
749
  /**
579
- * Explicitly tears down the meetings plugin by deregistering
580
- * the device, disconnecting from mercury, and stops listening to locus events
581
- *
582
- * @returns {Promise}
583
- * @public
584
- * @memberof Meetings
585
- */
750
+ * Explicitly tears down the meetings plugin by deregistering
751
+ * the device, disconnecting from mercury, and stops listening to locus events
752
+ *
753
+ * @returns {Promise}
754
+ * @public
755
+ * @memberof Meetings
756
+ */
586
757
  unregister() {
587
758
  if (!this.registered) {
588
- LoggerProxy.logger.info('Meetings:index#unregister --> INFO, Meetings plugin already unregistered');
759
+ LoggerProxy.logger.info(
760
+ 'Meetings:index#unregister --> INFO, Meetings plugin already unregistered'
761
+ );
589
762
 
590
763
  return Promise.resolve();
591
764
  }
592
765
 
593
766
  this.stopListeningForEvents();
594
767
 
595
- // @ts-ignore
596
- return this.webex.internal.mercury.disconnect()
597
- // @ts-ignore
598
- .then(() => this.webex.internal.device.unregister())
599
- .then(() => {
600
- Trigger.trigger(
601
- this,
602
- {
603
- file: 'meetings',
604
- function: 'unregister'
605
- },
606
- EVENT_TRIGGERS.MEETINGS_UNREGISTERED
607
- );
608
- this.registered = false;
609
- });
768
+ return (
769
+ // @ts-ignore
770
+ this.webex.internal.mercury
771
+ .disconnect()
772
+ // @ts-ignore
773
+ .then(() => this.webex.internal.device.unregister())
774
+ .then(() => {
775
+ Trigger.trigger(
776
+ this,
777
+ {
778
+ file: 'meetings',
779
+ function: 'unregister',
780
+ },
781
+ EVENT_TRIGGERS.MEETINGS_UNREGISTERED
782
+ );
783
+ this.registered = false;
784
+ })
785
+ );
610
786
  }
611
787
 
612
788
  /**
613
- * Uploads logs to the webex services for tracking
614
- * @param {Object} [options={}]
615
- * @param {String} [options.callStart] Call Start Time
616
- * @param {String} [options.feedbackId] ID used for tracking
617
- * @param {String} [options.locusId]
618
- * @param {String} [options.correlationId]
619
- * @param {String} [options.meetingId] webex meeting ID
620
- * @param {String} [options.userId] userId
621
- * @param {String} [options.orgId] org id
622
- * @returns {String} feedback ID logs were submitted under
623
- */
789
+ * Uploads logs to the webex services for tracking
790
+ * @param {Object} [options={}]
791
+ * @param {String} [options.callStart] Call Start Time
792
+ * @param {String} [options.feedbackId] ID used for tracking
793
+ * @param {String} [options.locusId]
794
+ * @param {String} [options.correlationId]
795
+ * @param {String} [options.meetingId] webex meeting ID
796
+ * @param {String} [options.userId] userId
797
+ * @param {String} [options.orgId] org id
798
+ * @returns {String} feedback ID logs were submitted under
799
+ */
624
800
  uploadLogs(
625
801
  options: {
626
802
  callStart?: string;
@@ -634,79 +810,83 @@ export default class Meetings extends WebexPlugin {
634
810
  ) {
635
811
  LoggerProxy.logger.info('Meetings:index#uploadLogs --> uploading logs');
636
812
 
637
- return this.loggerRequest.uploadLogs(options)
813
+ return this.loggerRequest
814
+ .uploadLogs(options)
638
815
  .then((uploadResult) => {
639
- LoggerProxy.logger.info('Meetings:index#uploadLogs --> Upload logs for meeting completed.', uploadResult);
816
+ LoggerProxy.logger.info(
817
+ 'Meetings:index#uploadLogs --> Upload logs for meeting completed.',
818
+ uploadResult
819
+ );
640
820
  Trigger.trigger(
641
821
  this,
642
822
  {
643
823
  file: 'meetings',
644
- function: 'uploadLogs'
824
+ function: 'uploadLogs',
645
825
  },
646
826
  EVENT_TRIGGERS.MEETING_LOG_UPLOAD_SUCCESS,
647
827
  {
648
828
  meetingId: options.meetingId,
649
- details: uploadResult
829
+ details: uploadResult,
650
830
  }
651
831
  );
652
832
 
653
833
  return uploadResult;
654
834
  })
655
835
  .catch((uploadError) => {
656
- LoggerProxy.logger.error('Meetings:index#uploadLogs --> Unable to upload logs for meeting', uploadError);
836
+ LoggerProxy.logger.error(
837
+ 'Meetings:index#uploadLogs --> Unable to upload logs for meeting',
838
+ uploadError
839
+ );
657
840
  Trigger.trigger(
658
841
  this,
659
842
  {
660
843
  file: 'meetings',
661
- function: 'uploadLogs'
844
+ function: 'uploadLogs',
662
845
  },
663
846
  EVENT_TRIGGERS.MEETING_LOG_UPLOAD_FAILURE,
664
847
  {
665
848
  meetingId: options.meetingId,
666
- reason: uploadError
849
+ reason: uploadError,
667
850
  }
668
851
  );
669
852
 
670
- Metrics.sendBehavioralMetric(
671
- BEHAVIORAL_METRICS.UPLOAD_LOGS_FAILURE,
672
- {
673
- // @ts-ignore - seems like typo
674
- meetingId: options.meetingsId,
675
- reason: uploadError.message,
676
- stack: uploadError.stack,
677
- code: uploadError.code
678
- }
679
- );
853
+ Metrics.sendBehavioralMetric(BEHAVIORAL_METRICS.UPLOAD_LOGS_FAILURE, {
854
+ // @ts-ignore - seems like typo
855
+ meetingId: options.meetingsId,
856
+ reason: uploadError.message,
857
+ stack: uploadError.stack,
858
+ code: uploadError.code,
859
+ });
680
860
  });
681
861
  }
682
862
 
683
863
  /**
684
- * initializes the reachability instance for Meetings
685
- * @returns {undefined}
686
- * @public
687
- * @memberof Meetings
688
- */
864
+ * initializes the reachability instance for Meetings
865
+ * @returns {undefined}
866
+ * @public
867
+ * @memberof Meetings
868
+ */
689
869
  setReachability() {
690
870
  // @ts-ignore
691
871
  this.reachability = new Reachability(this.webex);
692
872
  }
693
873
 
694
874
  /**
695
- * gets the reachability instance for Meetings
696
- * @returns {Reachability}
697
- * @public
698
- * @memberof Meetings
699
- */
875
+ * gets the reachability instance for Meetings
876
+ * @returns {Reachability}
877
+ * @public
878
+ * @memberof Meetings
879
+ */
700
880
  getReachability() {
701
881
  return this.reachability;
702
882
  }
703
883
 
704
884
  /**
705
- * initializes and starts gathering reachability for Meetings
706
- * @returns {Promise}
707
- * @public
708
- * @memberof Meetings
709
- */
885
+ * initializes and starts gathering reachability for Meetings
886
+ * @returns {Promise}
887
+ * @public
888
+ * @memberof Meetings
889
+ */
710
890
  startReachability() {
711
891
  if (!this.reachability) {
712
892
  this.setReachability();
@@ -716,11 +896,11 @@ export default class Meetings extends WebexPlugin {
716
896
  }
717
897
 
718
898
  /**
719
- * Get geoHint for info for meetings
720
- * @returns {Promise}
721
- * @private
722
- * @memberof Meetings
723
- */
899
+ * Get geoHint for info for meetings
900
+ * @returns {Promise}
901
+ * @private
902
+ * @memberof Meetings
903
+ */
724
904
  getGeoHint() {
725
905
  return this.request.fetchGeoHint().then((res) => {
726
906
  this.geoHintInfo = res;
@@ -728,12 +908,12 @@ export default class Meetings extends WebexPlugin {
728
908
  }
729
909
 
730
910
  /**
731
- * Fetch user preferred webex site information
732
- * This also has other infomation about the user
733
- * @returns {Promise}
734
- * @private
735
- * @memberof Meetings
736
- */
911
+ * Fetch user preferred webex site information
912
+ * This also has other infomation about the user
913
+ * @returns {Promise}
914
+ * @private
915
+ * @memberof Meetings
916
+ */
737
917
  fetchUserPreferredWebexSite() {
738
918
  return this.request.getMeetingPreferences().then((res) => {
739
919
  if (res) {
@@ -743,24 +923,24 @@ export default class Meetings extends WebexPlugin {
743
923
  }
744
924
 
745
925
  /**
746
- * gets the personal meeting room instance, for saved PMR values for this user
747
- * @returns {PersonalMeetingRoom}
748
- * @public
749
- * @memberof Meetings
750
- */
926
+ * gets the personal meeting room instance, for saved PMR values for this user
927
+ * @returns {PersonalMeetingRoom}
928
+ * @public
929
+ * @memberof Meetings
930
+ */
751
931
 
752
932
  getPersonalMeetingRoom() {
753
933
  return this.personalMeetingRoom;
754
934
  }
755
935
 
756
936
  /**
757
- * @param {Meeting} meeting
758
- * @param {Object} reason
759
- * @param {String} type
760
- * @returns {Undefined}
761
- * @private
762
- * @memberof Meetings
763
- */
937
+ * @param {Meeting} meeting
938
+ * @param {Object} reason
939
+ * @param {String} type
940
+ * @returns {Undefined}
941
+ * @private
942
+ * @memberof Meetings
943
+ */
764
944
  private destroy(meeting: Meeting, reason: object) {
765
945
  MeetingUtil.cleanUp(meeting);
766
946
  this.meetingCollection.delete(meeting.id);
@@ -768,123 +948,133 @@ export default class Meetings extends WebexPlugin {
768
948
  this,
769
949
  {
770
950
  file: 'meetings',
771
- function: 'destroy'
951
+ function: 'destroy',
772
952
  },
773
953
  EVENT_TRIGGERS.MEETING_REMOVED,
774
954
  {
775
955
  meetingId: meeting.id,
776
- reason
956
+ reason,
777
957
  }
778
958
  );
779
959
  }
780
960
 
781
961
  /**
782
- * Create a meeting.
783
- * @param {string} destination - sipURL, spaceId, phonenumber, or locus object}
784
- * @param {string} [type] - the optional specified type, such as locusId
785
- * @param {Boolean} useRandomDelayForInfo - whether a random delay should be added to fetching meeting info
786
- * @returns {Promise<Meeting>} A new Meeting.
787
- * @public
788
- * @memberof Meetings
789
- */
790
- public create(destination: string, type: string = null, useRandomDelayForInfo: boolean = false) {
962
+ * Create a meeting.
963
+ * @param {string} destination - sipURL, spaceId, phonenumber, or locus object}
964
+ * @param {string} [type] - the optional specified type, such as locusId
965
+ * @param {Boolean} useRandomDelayForInfo - whether a random delay should be added to fetching meeting info
966
+ * @returns {Promise<Meeting>} A new Meeting.
967
+ * @public
968
+ * @memberof Meetings
969
+ */
970
+ public create(destination: string, type: string = null, useRandomDelayForInfo = false) {
791
971
  // TODO: type should be from a dictionary
792
972
 
793
973
  // Validate meeting information based on the provided destination and
794
974
  // type. This must be performed prior to determining if the meeting is
795
975
  // found in the collection, as we mutate the destination for hydra person
796
976
  // id values.
797
- return this.meetingInfo.fetchInfoOptions(destination, type)
798
- // Catch a failure to fetch info options.
799
- .catch((error) => {
800
- LoggerProxy.logger.info(`Meetings:index#create --> INFO, unable to determine info options: ${error.message}`);
801
- })
802
- .then((options: any = {}) => {
803
- // Normalize the destination.
804
- const targetDest = options.destination || destination;
805
-
806
- // check for the conversation URL then sip Url
807
- let meeting = null;
808
-
809
- if (type === _CONVERSATION_URL_ || options.type === _CONVERSATION_URL_) {
810
- const foundMeeting = this.meetingCollection.getByKey(CONVERSATION_URL, targetDest);
811
-
812
- if (foundMeeting) {
813
- const foundMeetingIsNotCalendarMeeting = !foundMeeting.locusInfo.scheduledMeeting;
814
-
815
- // If the found meeting is not a calendar meeting, return that meeting.
816
- // This allows for the creation of instant-meetings when calendar meetings are present.
817
- if (foundMeetingIsNotCalendarMeeting) {
818
- meeting = foundMeeting;
977
+ return (
978
+ this.meetingInfo
979
+ .fetchInfoOptions(destination, type)
980
+ // Catch a failure to fetch info options.
981
+ .catch((error) => {
982
+ LoggerProxy.logger.info(
983
+ `Meetings:index#create --> INFO, unable to determine info options: ${error.message}`
984
+ );
985
+ })
986
+ .then((options: any = {}) => {
987
+ // Normalize the destination.
988
+ const targetDest = options.destination || destination;
989
+
990
+ // check for the conversation URL then sip Url
991
+ let meeting = null;
992
+
993
+ if (type === _CONVERSATION_URL_ || options.type === _CONVERSATION_URL_) {
994
+ const foundMeeting = this.meetingCollection.getByKey(CONVERSATION_URL, targetDest);
995
+
996
+ if (foundMeeting) {
997
+ const foundMeetingIsNotCalendarMeeting = !foundMeeting.locusInfo.scheduledMeeting;
998
+
999
+ // If the found meeting is not a calendar meeting, return that meeting.
1000
+ // This allows for the creation of instant-meetings when calendar meetings are present.
1001
+ if (foundMeetingIsNotCalendarMeeting) {
1002
+ meeting = foundMeeting;
1003
+ }
819
1004
  }
820
1005
  }
821
- }
822
1006
 
823
- // Attempt to collect the meeting if it exists.
824
- if (!meeting) {
825
- meeting = this.meetingCollection.getByKey(SIP_URI, targetDest);
826
- }
1007
+ // Attempt to collect the meeting if it exists.
1008
+ if (!meeting) {
1009
+ meeting = this.meetingCollection.getByKey(SIP_URI, targetDest);
1010
+ }
827
1011
 
828
- // Validate if a meeting was found.
829
- if (!meeting) {
830
- // Create a meeting based on the normalized destination and type.
831
- return this.createMeeting(targetDest, type, useRandomDelayForInfo)
832
- .then((createdMeeting: any) => {
833
- // If the meeting was successfully created.
834
- if (createdMeeting && createdMeeting.on) {
835
- // Create a destruction event for the meeting.
836
- createdMeeting.on(EVENTS.DESTROY_MEETING, (payload) => {
837
- // @ts-ignore
838
- if (this.config.autoUploadLogs) {
839
- this.uploadLogs({
840
- callStart: createdMeeting.locusInfo?.fullState?.lastActive,
841
- correlationId: createdMeeting.correlationId,
842
- feedbackId: createdMeeting.correlationId,
843
- locusId: createdMeeting.locusId,
844
- meetingId: createdMeeting.locusInfo?.info?.webExMeetingId
845
- }).then(() => this.destroy(createdMeeting, payload.reason));
846
- }
847
- else {
848
- this.destroy(createdMeeting, payload.reason);
849
- }
850
- });
851
-
852
- createdMeeting.on(EVENTS.REQUEST_UPLOAD_LOGS, (meetingInstance) => {
853
- // @ts-ignore
854
- if (this.config.autoUploadLogs) {
855
- this.uploadLogs({
856
- callStart: meetingInstance?.locusInfo?.fullState?.lastActive,
857
- correlationId: meetingInstance.correlationId,
858
- feedbackId: meetingInstance.correlationId,
859
- locusId: meetingInstance.locusId,
860
- meetingId: meetingInstance.locusInfo?.info?.webExMeetingId
861
- });
862
- }
863
- });
864
- }
865
- else {
866
- LoggerProxy.logger.error(`Meetings:index#create --> ERROR, meeting does not have on method, will not be destroyed, meeting cleanup impossible for meeting: ${meeting}`);
1012
+ // Validate if a meeting was found.
1013
+ if (!meeting) {
1014
+ // Create a meeting based on the normalized destination and type.
1015
+ return this.createMeeting(targetDest, type, useRandomDelayForInfo).then(
1016
+ (createdMeeting: any) => {
1017
+ // If the meeting was successfully created.
1018
+ if (createdMeeting && createdMeeting.on) {
1019
+ // Create a destruction event for the meeting.
1020
+ createdMeeting.on(EVENTS.DESTROY_MEETING, (payload) => {
1021
+ // @ts-ignore
1022
+ if (this.config.autoUploadLogs) {
1023
+ this.uploadLogs({
1024
+ callStart: createdMeeting.locusInfo?.fullState?.lastActive,
1025
+ correlationId: createdMeeting.correlationId,
1026
+ feedbackId: createdMeeting.correlationId,
1027
+ locusId: createdMeeting.locusId,
1028
+ meetingId: createdMeeting.locusInfo?.info?.webExMeetingId,
1029
+ }).then(() => this.destroy(createdMeeting, payload.reason));
1030
+ } else {
1031
+ this.destroy(createdMeeting, payload.reason);
1032
+ }
1033
+ });
1034
+
1035
+ createdMeeting.on(EVENTS.REQUEST_UPLOAD_LOGS, (meetingInstance) => {
1036
+ // @ts-ignore
1037
+ if (this.config.autoUploadLogs) {
1038
+ this.uploadLogs({
1039
+ callStart: meetingInstance?.locusInfo?.fullState?.lastActive,
1040
+ correlationId: meetingInstance.correlationId,
1041
+ feedbackId: meetingInstance.correlationId,
1042
+ locusId: meetingInstance.locusId,
1043
+ meetingId: meetingInstance.locusInfo?.info?.webExMeetingId,
1044
+ });
1045
+ }
1046
+ });
1047
+ } else {
1048
+ LoggerProxy.logger.error(
1049
+ `Meetings:index#create --> ERROR, meeting does not have on method, will not be destroyed, meeting cleanup impossible for meeting: ${meeting}`
1050
+ );
1051
+ }
1052
+
1053
+ // Return the newly created meeting.
1054
+ return Promise.resolve(createdMeeting);
867
1055
  }
1056
+ );
1057
+ }
868
1058
 
869
- // Return the newly created meeting.
870
- return Promise.resolve(createdMeeting);
871
- });
872
- }
873
-
874
- // Return the existing meeting.
875
- return Promise.resolve(meeting);
876
- });
1059
+ // Return the existing meeting.
1060
+ return Promise.resolve(meeting);
1061
+ })
1062
+ );
877
1063
  }
878
1064
 
879
1065
  /**
880
- * @param {String} destination see create()
881
- * @param {String} type see create()
882
- * @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
883
- * @returns {Promise} a new meeting instance complete with meeting info and destination
884
- * @private
885
- * @memberof Meetings
886
- */
887
- private async createMeeting(destination: any, type: string = null, useRandomDelayForInfo: boolean = false) {
1066
+ * @param {String} destination see create()
1067
+ * @param {String} type see create()
1068
+ * @param {Boolean} useRandomDelayForInfo whether a random delay should be added to fetching meeting info
1069
+ * @returns {Promise} a new meeting instance complete with meeting info and destination
1070
+ * @private
1071
+ * @memberof Meetings
1072
+ */
1073
+ private async createMeeting(
1074
+ destination: any,
1075
+ type: string = null,
1076
+ useRandomDelayForInfo = false
1077
+ ) {
888
1078
  const meeting = new Meeting(
889
1079
  {
890
1080
  // @ts-ignore
@@ -900,7 +1090,7 @@ export default class Meetings extends WebexPlugin {
900
1090
  },
901
1091
  {
902
1092
  // @ts-ignore
903
- parent: this.webex
1093
+ parent: this.webex,
904
1094
  }
905
1095
  );
906
1096
 
@@ -918,7 +1108,10 @@ export default class Meetings extends WebexPlugin {
918
1108
  const startTimeDate = new Date(startTime);
919
1109
  const startTimeDatestamp = startTimeDate.getTime();
920
1110
  const timeToStart = startTimeDatestamp - Date.now();
921
- const maxWaitingTime = Math.max(Math.min(timeToStart, MAX_RANDOM_DELAY_FOR_MEETING_INFO), 0);
1111
+ const maxWaitingTime = Math.max(
1112
+ Math.min(timeToStart, MAX_RANDOM_DELAY_FOR_MEETING_INFO),
1113
+ 0
1114
+ );
922
1115
 
923
1116
  waitingTime = Math.round(Math.random() * maxWaitingTime);
924
1117
  }
@@ -927,22 +1120,28 @@ export default class Meetings extends WebexPlugin {
927
1120
  const {enableUnifiedMeetings} = this.config.experimental;
928
1121
 
929
1122
  if (enableUnifiedMeetings && !isMeetingActive && useRandomDelayForInfo && waitingTime > 0) {
930
- meeting.fetchMeetingInfoTimeoutId = setTimeout(() => meeting.fetchMeetingInfo({}), waitingTime);
1123
+ meeting.fetchMeetingInfoTimeoutId = setTimeout(
1124
+ () => meeting.fetchMeetingInfo({}),
1125
+ waitingTime
1126
+ );
931
1127
  meeting.parseMeetingInfo(undefined, destination);
932
- }
933
- else {
1128
+ } else {
934
1129
  await meeting.fetchMeetingInfo({});
935
1130
  }
936
- }
937
- catch (err) {
1131
+ } catch (err) {
938
1132
  if (!(err instanceof CaptchaError) && !(err instanceof PasswordError)) {
939
1133
  // if there is no meeting info we assume its a 1:1 call or wireless share
940
- LoggerProxy.logger.info(`Meetings:index#createMeeting --> Info Unable to fetch meeting info for ${destination}.`);
941
- LoggerProxy.logger.info('Meetings:index#createMeeting --> Info assuming this destination is a 1:1 or wireless share');
1134
+ LoggerProxy.logger.info(
1135
+ `Meetings:index#createMeeting --> Info Unable to fetch meeting info for ${destination}.`
1136
+ );
1137
+ LoggerProxy.logger.info(
1138
+ 'Meetings:index#createMeeting --> Info assuming this destination is a 1:1 or wireless share'
1139
+ );
942
1140
  }
943
- LoggerProxy.logger.debug(`Meetings:index#createMeeting --> Debug ${err} fetching /meetingInfo for creation.`);
944
- }
945
- finally {
1141
+ LoggerProxy.logger.debug(
1142
+ `Meetings:index#createMeeting --> Debug ${err} fetching /meetingInfo for creation.`
1143
+ );
1144
+ } finally {
946
1145
  // For type LOCUS_ID we need to parse the locus object to get the information
947
1146
  // about the caller and callee
948
1147
  // Meeting Added event will be created in `handleLocusEvent`
@@ -960,12 +1159,12 @@ export default class Meetings extends WebexPlugin {
960
1159
  this,
961
1160
  {
962
1161
  file: 'meetings',
963
- function: 'createMeeting'
1162
+ function: 'createMeeting',
964
1163
  },
965
1164
  EVENT_TRIGGERS.MEETING_ADDED,
966
1165
  {
967
1166
  meeting,
968
- type: meetingAddedType
1167
+ type: meetingAddedType,
969
1168
  }
970
1169
  );
971
1170
  }
@@ -993,26 +1192,26 @@ export default class Meetings extends WebexPlugin {
993
1192
  }
994
1193
 
995
1194
  /**
996
- * get a specifc meeting given it's type matched to the value, i.e., locus url
997
- * @param {String} type
998
- * @param {Object} value
999
- * @returns {Meeting}
1000
- * @public
1001
- * @memberof Meetings
1002
- */
1195
+ * get a specifc meeting given it's type matched to the value, i.e., locus url
1196
+ * @param {String} type
1197
+ * @param {Object} value
1198
+ * @returns {Meeting}
1199
+ * @public
1200
+ * @memberof Meetings
1201
+ */
1003
1202
  public getMeetingByType(type: string, value: object) {
1004
1203
  return this.meetingCollection.getByKey(type, value);
1005
1204
  }
1006
1205
 
1007
1206
  /**
1008
- * Get all meetings.
1009
- * @param {object} options
1010
- * @param {object} options.startDate - get meetings after this start date
1011
- * @param {object} options.endDate - get meetings before this end date
1012
- * @returns {Object} All currently active meetings.
1013
- * @public
1014
- * @memberof Meetings
1015
- */
1207
+ * Get all meetings.
1208
+ * @param {object} options
1209
+ * @param {object} options.startDate - get meetings after this start date
1210
+ * @param {object} options.endDate - get meetings before this end date
1211
+ * @returns {Object} All currently active meetings.
1212
+ * @public
1213
+ * @memberof Meetings
1214
+ */
1016
1215
  public getAllMeetings(
1017
1216
  options: {
1018
1217
  startDate: object;
@@ -1025,57 +1224,65 @@ export default class Meetings extends WebexPlugin {
1025
1224
  }
1026
1225
 
1027
1226
  /**
1028
- * syncs all the meeting from server
1029
- * @returns {undefined}
1030
- * @public
1031
- * @memberof Meetings
1032
- */
1227
+ * syncs all the meeting from server
1228
+ * @returns {undefined}
1229
+ * @public
1230
+ * @memberof Meetings
1231
+ */
1033
1232
  public syncMeetings() {
1034
- return this.request.getActiveMeetings().then((locusArray) => {
1035
- const activeLocusUrl = [];
1036
-
1037
- if (locusArray?.loci && locusArray.loci.length > 0) {
1038
- locusArray.loci.forEach((locus) => {
1039
- activeLocusUrl.push(locus.url);
1040
- this.handleLocusEvent({
1041
- locus,
1042
- locusUrl: locus.url
1233
+ return this.request
1234
+ .getActiveMeetings()
1235
+ .then((locusArray) => {
1236
+ const activeLocusUrl = [];
1237
+
1238
+ if (locusArray?.loci && locusArray.loci.length > 0) {
1239
+ locusArray.loci.forEach((locus) => {
1240
+ activeLocusUrl.push(locus.url);
1241
+ this.handleLocusEvent({
1242
+ locus,
1243
+ locusUrl: locus.url,
1244
+ });
1043
1245
  });
1044
- });
1045
- }
1046
- const meetingsCollection = this.meetingCollection.getAll();
1047
-
1048
- if (Object.keys(meetingsCollection).length > 0) {
1049
- // Some time the mercury event is missed after mercury reconnect
1050
- // if sync returns no locus then clear all the meetings
1051
- for (const meeting of Object.values(meetingsCollection)) {
1052
- // @ts-ignore
1053
- if (!activeLocusUrl.includes(meeting.locusUrl)) {
1054
- // destroy function also uploads logs
1246
+ }
1247
+ const meetingsCollection = this.meetingCollection.getAll();
1248
+
1249
+ if (Object.keys(meetingsCollection).length > 0) {
1250
+ // Some time the mercury event is missed after mercury reconnect
1251
+ // if sync returns no locus then clear all the meetings
1252
+ for (const meeting of Object.values(meetingsCollection)) {
1055
1253
  // @ts-ignore
1056
- this.destroy(meeting, MEETING_REMOVED_REASON.NO_MEETINGS_TO_SYNC);
1254
+ if (!activeLocusUrl.includes(meeting.locusUrl)) {
1255
+ // destroy function also uploads logs
1256
+ // @ts-ignore
1257
+ this.destroy(meeting, MEETING_REMOVED_REASON.NO_MEETINGS_TO_SYNC);
1258
+ }
1057
1259
  }
1058
1260
  }
1059
- }
1060
- });
1261
+ })
1262
+ .catch((error) => {
1263
+ LoggerProxy.logger.error(
1264
+ `Meetings:index#syncMeetings --> failed to sync meetings, ${error}`
1265
+ );
1266
+ throw new Error(error);
1267
+ });
1061
1268
  }
1062
1269
 
1063
1270
  /**
1064
- * Get all scheduled meetings.
1065
- * @param {object} options
1066
- * @param {object} options.startDate - get meetings after this start date
1067
- * @param {object} options.endDate - get meetings before this end date
1068
- * @returns {Object} All scheduled meetings.
1069
- * @memberof Meetings
1070
- */
1271
+ * Get all scheduled meetings.
1272
+ * @param {object} options
1273
+ * @param {object} options.startDate - get meetings after this start date
1274
+ * @param {object} options.endDate - get meetings before this end date
1275
+ * @returns {Object} All scheduled meetings.
1276
+ * @memberof Meetings
1277
+ */
1071
1278
  getScheduledMeetings() {
1072
1279
  return this.meetingCollection.getAll({scheduled: true});
1073
1280
  }
1074
1281
 
1075
1282
  /**
1076
- * Get the logger instance for plugin-meetings
1077
- * @returns {Logger}
1078
- */
1283
+ * Get the logger instance for plugin-meetings
1284
+ * @returns {Logger}
1285
+ */
1079
1286
  getLogger() {
1080
1287
  return LoggerProxy.get();
1081
1288
  }