@webex/plugin-meetings 3.0.0-beta.31 → 3.0.0-beta.310

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 (378) hide show
  1. package/README.md +46 -8
  2. package/dist/annotation/annotation.types.js +7 -0
  3. package/dist/annotation/annotation.types.js.map +1 -0
  4. package/dist/annotation/constants.js +49 -0
  5. package/dist/annotation/constants.js.map +1 -0
  6. package/dist/annotation/index.js +342 -0
  7. package/dist/annotation/index.js.map +1 -0
  8. package/dist/breakouts/breakout.js +94 -15
  9. package/dist/breakouts/breakout.js.map +1 -1
  10. package/dist/breakouts/edit-lock-error.js +52 -0
  11. package/dist/breakouts/edit-lock-error.js.map +1 -0
  12. package/dist/breakouts/events.js +45 -0
  13. package/dist/breakouts/events.js.map +1 -0
  14. package/dist/breakouts/index.js +709 -35
  15. package/dist/breakouts/index.js.map +1 -1
  16. package/dist/breakouts/utils.js +45 -1
  17. package/dist/breakouts/utils.js.map +1 -1
  18. package/dist/common/errors/no-meeting-info.js +51 -0
  19. package/dist/common/errors/no-meeting-info.js.map +1 -0
  20. package/dist/common/errors/reclaim-host-role-errors.js +158 -0
  21. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -0
  22. package/dist/common/errors/webex-errors.js +48 -7
  23. package/dist/common/errors/webex-errors.js.map +1 -1
  24. package/dist/common/logs/logger-proxy.js +1 -1
  25. package/dist/common/logs/logger-proxy.js.map +1 -1
  26. package/dist/common/logs/request.js +5 -1
  27. package/dist/common/logs/request.js.map +1 -1
  28. package/dist/common/queue.js +24 -9
  29. package/dist/common/queue.js.map +1 -1
  30. package/dist/config.js +5 -11
  31. package/dist/config.js.map +1 -1
  32. package/dist/constants.js +233 -29
  33. package/dist/constants.js.map +1 -1
  34. package/dist/controls-options-manager/enums.js +14 -2
  35. package/dist/controls-options-manager/enums.js.map +1 -1
  36. package/dist/controls-options-manager/index.js +109 -15
  37. package/dist/controls-options-manager/index.js.map +1 -1
  38. package/dist/controls-options-manager/types.js +7 -0
  39. package/dist/controls-options-manager/types.js.map +1 -0
  40. package/dist/controls-options-manager/util.js +309 -18
  41. package/dist/controls-options-manager/util.js.map +1 -1
  42. package/dist/index.js +112 -1
  43. package/dist/index.js.map +1 -1
  44. package/dist/interpretation/collection.js +23 -0
  45. package/dist/interpretation/collection.js.map +1 -0
  46. package/dist/interpretation/index.js +366 -0
  47. package/dist/interpretation/index.js.map +1 -0
  48. package/dist/interpretation/siLanguage.js +25 -0
  49. package/dist/interpretation/siLanguage.js.map +1 -0
  50. package/dist/locus-info/controlsUtils.js +91 -2
  51. package/dist/locus-info/controlsUtils.js.map +1 -1
  52. package/dist/locus-info/index.js +383 -62
  53. package/dist/locus-info/index.js.map +1 -1
  54. package/dist/locus-info/infoUtils.js +7 -1
  55. package/dist/locus-info/infoUtils.js.map +1 -1
  56. package/dist/locus-info/mediaSharesUtils.js +57 -1
  57. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  58. package/dist/locus-info/parser.js +249 -72
  59. package/dist/locus-info/parser.js.map +1 -1
  60. package/dist/locus-info/selfUtils.js +89 -14
  61. package/dist/locus-info/selfUtils.js.map +1 -1
  62. package/dist/media/index.js +61 -116
  63. package/dist/media/index.js.map +1 -1
  64. package/dist/media/properties.js +73 -124
  65. package/dist/media/properties.js.map +1 -1
  66. package/dist/meeting/in-meeting-actions.js +82 -2
  67. package/dist/meeting/in-meeting-actions.js.map +1 -1
  68. package/dist/meeting/index.js +3777 -2929
  69. package/dist/meeting/index.js.map +1 -1
  70. package/dist/meeting/locusMediaRequest.js +292 -0
  71. package/dist/meeting/locusMediaRequest.js.map +1 -0
  72. package/dist/meeting/muteState.js +230 -124
  73. package/dist/meeting/muteState.js.map +1 -1
  74. package/dist/meeting/request.js +260 -196
  75. package/dist/meeting/request.js.map +1 -1
  76. package/dist/meeting/util.js +601 -417
  77. package/dist/meeting/util.js.map +1 -1
  78. package/dist/meeting-info/index.js +73 -7
  79. package/dist/meeting-info/index.js.map +1 -1
  80. package/dist/meeting-info/meeting-info-v2.js +192 -51
  81. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  82. package/dist/meeting-info/util.js +1 -1
  83. package/dist/meeting-info/util.js.map +1 -1
  84. package/dist/meeting-info/utilv2.js +36 -36
  85. package/dist/meeting-info/utilv2.js.map +1 -1
  86. package/dist/meetings/collection.js +39 -0
  87. package/dist/meetings/collection.js.map +1 -1
  88. package/dist/meetings/index.js +415 -115
  89. package/dist/meetings/index.js.map +1 -1
  90. package/dist/meetings/meetings.types.js +7 -0
  91. package/dist/meetings/meetings.types.js.map +1 -0
  92. package/dist/meetings/request.js +2 -0
  93. package/dist/meetings/request.js.map +1 -1
  94. package/dist/meetings/util.js +72 -6
  95. package/dist/meetings/util.js.map +1 -1
  96. package/dist/member/index.js +58 -0
  97. package/dist/member/index.js.map +1 -1
  98. package/dist/member/types.js +25 -0
  99. package/dist/member/types.js.map +1 -0
  100. package/dist/member/util.js +132 -25
  101. package/dist/member/util.js.map +1 -1
  102. package/dist/members/collection.js +10 -0
  103. package/dist/members/collection.js.map +1 -1
  104. package/dist/members/index.js +102 -6
  105. package/dist/members/index.js.map +1 -1
  106. package/dist/members/request.js +106 -38
  107. package/dist/members/request.js.map +1 -1
  108. package/dist/members/types.js +15 -0
  109. package/dist/members/types.js.map +1 -0
  110. package/dist/members/util.js +326 -232
  111. package/dist/members/util.js.map +1 -1
  112. package/dist/metrics/constants.js +13 -5
  113. package/dist/metrics/constants.js.map +1 -1
  114. package/dist/metrics/index.js +1 -468
  115. package/dist/metrics/index.js.map +1 -1
  116. package/dist/multistream/mediaRequestManager.js +238 -49
  117. package/dist/multistream/mediaRequestManager.js.map +1 -1
  118. package/dist/multistream/receiveSlot.js +29 -16
  119. package/dist/multistream/receiveSlot.js.map +1 -1
  120. package/dist/multistream/receiveSlotManager.js +39 -36
  121. package/dist/multistream/receiveSlotManager.js.map +1 -1
  122. package/dist/multistream/remoteMedia.js +44 -18
  123. package/dist/multistream/remoteMedia.js.map +1 -1
  124. package/dist/multistream/remoteMediaGroup.js +60 -3
  125. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  126. package/dist/multistream/remoteMediaManager.js +209 -59
  127. package/dist/multistream/remoteMediaManager.js.map +1 -1
  128. package/dist/multistream/sendSlotManager.js +233 -0
  129. package/dist/multistream/sendSlotManager.js.map +1 -0
  130. package/dist/reachability/index.js +225 -59
  131. package/dist/reachability/index.js.map +1 -1
  132. package/dist/reachability/request.js +17 -8
  133. package/dist/reachability/request.js.map +1 -1
  134. package/dist/reconnection-manager/index.js +201 -156
  135. package/dist/reconnection-manager/index.js.map +1 -1
  136. package/dist/recording-controller/index.js +21 -2
  137. package/dist/recording-controller/index.js.map +1 -1
  138. package/dist/recording-controller/util.js +9 -8
  139. package/dist/recording-controller/util.js.map +1 -1
  140. package/dist/roap/index.js +62 -32
  141. package/dist/roap/index.js.map +1 -1
  142. package/dist/roap/request.js +112 -97
  143. package/dist/roap/request.js.map +1 -1
  144. package/dist/roap/turnDiscovery.js +95 -36
  145. package/dist/roap/turnDiscovery.js.map +1 -1
  146. package/dist/rtcMetrics/constants.js +12 -0
  147. package/dist/rtcMetrics/constants.js.map +1 -0
  148. package/dist/rtcMetrics/index.js +117 -0
  149. package/dist/rtcMetrics/index.js.map +1 -0
  150. package/dist/statsAnalyzer/index.js +86 -78
  151. package/dist/statsAnalyzer/index.js.map +1 -1
  152. package/dist/statsAnalyzer/mqaUtil.js +11 -10
  153. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  154. package/dist/types/annotation/annotation.types.d.ts +42 -0
  155. package/dist/types/annotation/constants.d.ts +31 -0
  156. package/dist/types/annotation/index.d.ts +117 -0
  157. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  158. package/dist/types/breakouts/events.d.ts +8 -0
  159. package/dist/types/breakouts/utils.d.ts +14 -0
  160. package/dist/types/common/errors/no-meeting-info.d.ts +14 -0
  161. package/dist/types/common/errors/reclaim-host-role-errors.d.ts +60 -0
  162. package/dist/types/common/errors/webex-errors.d.ts +25 -1
  163. package/dist/types/common/logs/request.d.ts +2 -0
  164. package/dist/types/common/queue.d.ts +9 -7
  165. package/dist/types/config.d.ts +1 -7
  166. package/dist/types/constants.d.ts +194 -24
  167. package/dist/types/controls-options-manager/enums.d.ts +11 -1
  168. package/dist/types/controls-options-manager/index.d.ts +17 -1
  169. package/dist/types/controls-options-manager/types.d.ts +43 -0
  170. package/dist/types/controls-options-manager/util.d.ts +1 -7
  171. package/dist/types/index.d.ts +6 -4
  172. package/dist/types/interpretation/collection.d.ts +5 -0
  173. package/dist/types/interpretation/index.d.ts +5 -0
  174. package/dist/types/interpretation/siLanguage.d.ts +5 -0
  175. package/dist/types/locus-info/index.d.ts +57 -4
  176. package/dist/types/locus-info/parser.d.ts +67 -6
  177. package/dist/types/media/index.d.ts +2 -0
  178. package/dist/types/media/properties.d.ts +34 -48
  179. package/dist/types/meeting/in-meeting-actions.d.ts +82 -2
  180. package/dist/types/meeting/index.d.ts +463 -510
  181. package/dist/types/meeting/locusMediaRequest.d.ts +74 -0
  182. package/dist/types/meeting/muteState.d.ts +99 -23
  183. package/dist/types/meeting/request.d.ts +72 -43
  184. package/dist/types/meeting/util.d.ts +101 -1
  185. package/dist/types/meeting-info/index.d.ts +13 -1
  186. package/dist/types/meeting-info/meeting-info-v2.d.ts +31 -1
  187. package/dist/types/meetings/collection.d.ts +17 -0
  188. package/dist/types/meetings/index.d.ts +98 -20
  189. package/dist/types/meetings/meetings.types.d.ts +4 -0
  190. package/dist/types/member/index.d.ts +14 -0
  191. package/dist/types/member/types.d.ts +32 -0
  192. package/dist/types/members/collection.d.ts +5 -0
  193. package/dist/types/members/index.d.ts +35 -2
  194. package/dist/types/members/request.d.ts +73 -9
  195. package/dist/types/members/types.d.ts +25 -0
  196. package/dist/types/members/util.d.ts +214 -1
  197. package/dist/types/metrics/constants.d.ts +12 -4
  198. package/dist/types/metrics/index.d.ts +4 -119
  199. package/dist/types/multistream/mediaRequestManager.d.ts +73 -5
  200. package/dist/types/multistream/receiveSlot.d.ts +13 -11
  201. package/dist/types/multistream/receiveSlotManager.d.ts +14 -4
  202. package/dist/types/multistream/remoteMedia.d.ts +8 -29
  203. package/dist/types/multistream/remoteMediaGroup.d.ts +0 -9
  204. package/dist/types/multistream/remoteMediaManager.d.ts +46 -2
  205. package/dist/types/multistream/sendSlotManager.d.ts +61 -0
  206. package/dist/types/reachability/index.d.ts +61 -7
  207. package/dist/types/reachability/request.d.ts +7 -3
  208. package/dist/types/reconnection-manager/index.d.ts +9 -0
  209. package/dist/types/recording-controller/index.d.ts +15 -1
  210. package/dist/types/recording-controller/util.d.ts +5 -4
  211. package/dist/types/roap/index.d.ts +2 -1
  212. package/dist/types/roap/request.d.ts +15 -11
  213. package/dist/types/roap/turnDiscovery.d.ts +21 -3
  214. package/dist/types/rtcMetrics/constants.d.ts +4 -0
  215. package/dist/types/rtcMetrics/index.d.ts +47 -0
  216. package/dist/types/statsAnalyzer/index.d.ts +7 -1
  217. package/dist/types/webinar/collection.d.ts +16 -0
  218. package/dist/types/webinar/index.d.ts +5 -0
  219. package/dist/webinar/collection.js +44 -0
  220. package/dist/webinar/collection.js.map +1 -0
  221. package/dist/webinar/index.js +69 -0
  222. package/dist/webinar/index.js.map +1 -0
  223. package/package.json +23 -20
  224. package/src/annotation/annotation.types.ts +50 -0
  225. package/src/annotation/constants.ts +36 -0
  226. package/src/annotation/index.ts +328 -0
  227. package/src/breakouts/README.md +42 -12
  228. package/src/breakouts/breakout.ts +67 -9
  229. package/src/breakouts/edit-lock-error.ts +25 -0
  230. package/src/breakouts/events.ts +56 -0
  231. package/src/breakouts/index.ts +592 -20
  232. package/src/breakouts/utils.ts +42 -0
  233. package/src/common/errors/no-meeting-info.ts +24 -0
  234. package/src/common/errors/reclaim-host-role-errors.ts +134 -0
  235. package/src/common/errors/webex-errors.ts +44 -2
  236. package/src/common/logs/logger-proxy.ts +1 -1
  237. package/src/common/logs/request.ts +5 -1
  238. package/src/common/queue.ts +22 -8
  239. package/src/config.ts +4 -10
  240. package/src/constants.ts +221 -19
  241. package/src/controls-options-manager/enums.ts +12 -0
  242. package/src/controls-options-manager/index.ts +116 -21
  243. package/src/controls-options-manager/types.ts +59 -0
  244. package/src/controls-options-manager/util.ts +294 -14
  245. package/src/index.ts +40 -0
  246. package/src/interpretation/README.md +60 -0
  247. package/src/interpretation/collection.ts +19 -0
  248. package/src/interpretation/index.ts +332 -0
  249. package/src/interpretation/siLanguage.ts +18 -0
  250. package/src/locus-info/controlsUtils.ts +108 -0
  251. package/src/locus-info/index.ts +413 -59
  252. package/src/locus-info/infoUtils.ts +10 -2
  253. package/src/locus-info/mediaSharesUtils.ts +64 -0
  254. package/src/locus-info/parser.ts +258 -47
  255. package/src/locus-info/selfUtils.ts +81 -5
  256. package/src/media/index.ts +102 -122
  257. package/src/media/properties.ts +87 -110
  258. package/src/meeting/in-meeting-actions.ts +163 -3
  259. package/src/meeting/index.ts +3132 -2541
  260. package/src/meeting/locusMediaRequest.ts +313 -0
  261. package/src/meeting/muteState.ts +229 -131
  262. package/src/meeting/request.ts +177 -121
  263. package/src/meeting/util.ts +588 -394
  264. package/src/meeting-info/index.ts +81 -8
  265. package/src/meeting-info/meeting-info-v2.ts +170 -14
  266. package/src/meeting-info/util.ts +1 -1
  267. package/src/meeting-info/utilv2.ts +23 -23
  268. package/src/meetings/collection.ts +33 -0
  269. package/src/meetings/index.ts +445 -123
  270. package/src/meetings/meetings.types.ts +12 -0
  271. package/src/meetings/request.ts +2 -0
  272. package/src/meetings/util.ts +80 -11
  273. package/src/member/index.ts +58 -0
  274. package/src/member/types.ts +38 -0
  275. package/src/member/util.ts +141 -25
  276. package/src/members/collection.ts +8 -0
  277. package/src/members/index.ts +134 -8
  278. package/src/members/request.ts +97 -17
  279. package/src/members/types.ts +29 -0
  280. package/src/members/util.ts +333 -240
  281. package/src/metrics/constants.ts +12 -4
  282. package/src/metrics/index.ts +1 -490
  283. package/src/multistream/mediaRequestManager.ts +289 -79
  284. package/src/multistream/receiveSlot.ts +31 -17
  285. package/src/multistream/receiveSlotManager.ts +34 -24
  286. package/src/multistream/remoteMedia.ts +27 -2
  287. package/src/multistream/remoteMediaGroup.ts +59 -0
  288. package/src/multistream/remoteMediaManager.ts +148 -30
  289. package/src/multistream/sendSlotManager.ts +170 -0
  290. package/src/reachability/index.ts +228 -37
  291. package/src/reachability/request.ts +17 -8
  292. package/src/reconnection-manager/index.ts +83 -56
  293. package/src/recording-controller/index.ts +20 -3
  294. package/src/recording-controller/util.ts +26 -9
  295. package/src/roap/index.ts +63 -32
  296. package/src/roap/request.ts +100 -104
  297. package/src/roap/turnDiscovery.ts +48 -26
  298. package/src/rtcMetrics/constants.ts +3 -0
  299. package/src/rtcMetrics/index.ts +100 -0
  300. package/src/statsAnalyzer/index.ts +105 -91
  301. package/src/statsAnalyzer/mqaUtil.ts +13 -14
  302. package/src/webinar/collection.ts +31 -0
  303. package/src/webinar/index.ts +62 -0
  304. package/test/integration/spec/converged-space-meetings.js +60 -3
  305. package/test/integration/spec/journey.js +320 -261
  306. package/test/integration/spec/space-meeting.js +76 -3
  307. package/test/unit/spec/annotation/index.ts +418 -0
  308. package/test/unit/spec/breakouts/breakout.ts +118 -28
  309. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  310. package/test/unit/spec/breakouts/events.ts +89 -0
  311. package/test/unit/spec/breakouts/index.ts +1395 -69
  312. package/test/unit/spec/breakouts/utils.js +52 -1
  313. package/test/unit/spec/common/queue.js +31 -2
  314. package/test/unit/spec/controls-options-manager/index.js +163 -0
  315. package/test/unit/spec/controls-options-manager/util.js +576 -60
  316. package/test/unit/spec/fixture/locus.js +1 -0
  317. package/test/unit/spec/interpretation/collection.ts +15 -0
  318. package/test/unit/spec/interpretation/index.ts +589 -0
  319. package/test/unit/spec/interpretation/siLanguage.ts +28 -0
  320. package/test/unit/spec/locus-info/controlsUtils.js +316 -43
  321. package/test/unit/spec/locus-info/index.js +1304 -33
  322. package/test/unit/spec/locus-info/infoUtils.js +37 -15
  323. package/test/unit/spec/locus-info/lib/SeqCmp.json +16 -0
  324. package/test/unit/spec/locus-info/mediaSharesUtils.ts +32 -0
  325. package/test/unit/spec/locus-info/parser.js +116 -35
  326. package/test/unit/spec/locus-info/selfConstant.js +27 -4
  327. package/test/unit/spec/locus-info/selfUtils.js +208 -17
  328. package/test/unit/spec/media/index.ts +104 -37
  329. package/test/unit/spec/media/properties.ts +2 -2
  330. package/test/unit/spec/meeting/in-meeting-actions.ts +81 -3
  331. package/test/unit/spec/meeting/index.js +5216 -1956
  332. package/test/unit/spec/meeting/locusMediaRequest.ts +442 -0
  333. package/test/unit/spec/meeting/muteState.js +408 -208
  334. package/test/unit/spec/meeting/request.js +483 -49
  335. package/test/unit/spec/meeting/utils.js +679 -64
  336. package/test/unit/spec/meeting-info/index.js +300 -0
  337. package/test/unit/spec/meeting-info/meetinginfov2.js +526 -5
  338. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  339. package/test/unit/spec/meetings/collection.js +26 -0
  340. package/test/unit/spec/meetings/index.js +1011 -205
  341. package/test/unit/spec/meetings/utils.js +202 -2
  342. package/test/unit/spec/member/index.js +61 -6
  343. package/test/unit/spec/member/util.js +510 -34
  344. package/test/unit/spec/members/index.js +432 -1
  345. package/test/unit/spec/members/request.js +206 -27
  346. package/test/unit/spec/members/utils.js +210 -0
  347. package/test/unit/spec/metrics/index.js +1 -50
  348. package/test/unit/spec/multistream/mediaRequestManager.ts +803 -162
  349. package/test/unit/spec/multistream/receiveSlot.ts +28 -20
  350. package/test/unit/spec/multistream/receiveSlotManager.ts +32 -30
  351. package/test/unit/spec/multistream/remoteMedia.ts +30 -0
  352. package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
  353. package/test/unit/spec/multistream/remoteMediaManager.ts +326 -0
  354. package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
  355. package/test/unit/spec/reachability/index.ts +549 -9
  356. package/test/unit/spec/reachability/request.js +68 -0
  357. package/test/unit/spec/reconnection-manager/index.js +85 -9
  358. package/test/unit/spec/recording-controller/index.js +294 -218
  359. package/test/unit/spec/recording-controller/util.js +223 -96
  360. package/test/unit/spec/roap/index.ts +178 -64
  361. package/test/unit/spec/roap/request.ts +203 -85
  362. package/test/unit/spec/roap/turnDiscovery.ts +82 -36
  363. package/test/unit/spec/rtcMetrics/index.ts +73 -0
  364. package/test/unit/spec/stats-analyzer/index.js +136 -2
  365. package/test/unit/spec/webinar/collection.ts +13 -0
  366. package/test/unit/spec/webinar/index.ts +60 -0
  367. package/test/utils/integrationTestUtils.js +46 -0
  368. package/test/utils/testUtils.js +0 -52
  369. package/dist/meeting/effectsState.js +0 -262
  370. package/dist/meeting/effectsState.js.map +0 -1
  371. package/dist/metrics/config.js +0 -299
  372. package/dist/metrics/config.js.map +0 -1
  373. package/dist/types/meeting/effectsState.d.ts +0 -42
  374. package/dist/types/metrics/config.d.ts +0 -178
  375. package/src/index.js +0 -16
  376. package/src/meeting/effectsState.ts +0 -211
  377. package/src/metrics/config.ts +0 -495
  378. package/test/unit/spec/meeting/effectsState.js +0 -285
@@ -0,0 +1,74 @@
1
+ import { WebexPlugin } from '@webex/webex-core';
2
+ import { IP_VERSION } from '../constants';
3
+ export type MediaRequestType = 'RoapMessage' | 'LocalMute';
4
+ export type RequestResult = any;
5
+ export type RoapRequest = {
6
+ type: 'RoapMessage';
7
+ selfUrl: string;
8
+ mediaId: string;
9
+ roapMessage: any;
10
+ reachability: any;
11
+ sequence?: any;
12
+ joinCookie: any;
13
+ ipVersion?: IP_VERSION;
14
+ };
15
+ export type LocalMuteRequest = {
16
+ type: 'LocalMute';
17
+ selfUrl: string;
18
+ mediaId: string;
19
+ sequence?: any;
20
+ muteOptions: {
21
+ audioMuted?: boolean;
22
+ videoMuted?: boolean;
23
+ };
24
+ };
25
+ export type Request = RoapRequest | LocalMuteRequest;
26
+ export type Config = {
27
+ device: {
28
+ url: string;
29
+ deviceType: string;
30
+ countryCode?: string;
31
+ regionCode?: string;
32
+ };
33
+ correlationId: string;
34
+ preferTranscoding: boolean;
35
+ };
36
+ /**
37
+ * This class manages all /media API requests to Locus. Every call to that
38
+ * Locus API has to go through this class.
39
+ */
40
+ export declare class LocusMediaRequest extends WebexPlugin {
41
+ private config;
42
+ private latestAudioMuted?;
43
+ private latestVideoMuted?;
44
+ private isRequestInProgress;
45
+ private queuedRequests;
46
+ private confluenceState;
47
+ /**
48
+ * Constructor
49
+ */
50
+ constructor(config: Config, options: any);
51
+ /**
52
+ * Add a request to the internal queue.
53
+ */
54
+ private addToQueue;
55
+ /**
56
+ * Takes the next request from the queue and executes it. Once that
57
+ * request is completed, the next one will be taken from the queue
58
+ * and executed and this is repeated until the queue is empty.
59
+ */
60
+ private executeNextQueuedRequest;
61
+ /**
62
+ * Returns latest requested audio and video mute values. If they have never been
63
+ * requested, we assume audio/video to be muted.
64
+ */
65
+ private getLatestMuteState;
66
+ /**
67
+ * Prepares the uri and body for the media request to be sent to Locus
68
+ */
69
+ private sendHttpRequest;
70
+ /**
71
+ * Sends a media request to Locus
72
+ */
73
+ send(request: Request): Promise<RequestResult>;
74
+ }
@@ -1,45 +1,94 @@
1
- export declare const createMuteState: (type: any, meeting: any, mediaDirection: any) => MuteState;
1
+ import { ServerMuteReason } from '@webex/media-helpers';
2
+ export declare const createMuteState: (type: any, meeting: any, enabled: boolean) => MuteState;
2
3
  /** The purpose of this class is to manage the local and remote mute state and make sure that the server state always matches
3
4
  the last requested state by the client.
4
5
 
5
6
  More info about Locus muting API: https://sqbu-github.cisco.com/pages/WebExSquared/locus/guides/mute.html#
7
+
8
+ This class is exported only for unit tests. It should never be instantiated directly with new MuteState(), instead createMuteState() should be called
6
9
  */
7
- declare class MuteState {
8
- pendingPromiseReject: any;
9
- pendingPromiseResolve: any;
10
- state: any;
10
+ export declare class MuteState {
11
+ state: {
12
+ client: {
13
+ enabled: boolean;
14
+ localMute: boolean;
15
+ };
16
+ server: {
17
+ localMute: boolean;
18
+ remoteMute: boolean;
19
+ unmuteAllowed: boolean;
20
+ };
21
+ syncToServerInProgress: boolean;
22
+ };
11
23
  type: any;
24
+ ignoreMuteStateChange: boolean;
12
25
  /**
13
26
  * Constructor
14
27
  *
15
28
  * @param {String} type - audio or video
16
29
  * @param {Object} meeting - the meeting object (used for reading current remote mute status)
30
+ * @param {boolean} enabled - whether the client audio/video is enabled at all
31
+ */
32
+ constructor(type: string, meeting: any, enabled: boolean);
33
+ /**
34
+ * Starts the mute state machine. Needs to be called after a new MuteState instance is created.
35
+ *
36
+ * @param {Object} meeting - the meeting object
37
+ * @returns {void}
38
+ */
39
+ init(meeting: any): void;
40
+ /**
41
+ * This method needs to be called whenever the local audio/video stream has changed.
42
+ * It reapplies the remote mute state onto the new stream and also reads the current
43
+ * local mute state from the stream and updates the internal state machine and sends
44
+ * any required requests to the server.
45
+ *
46
+ * @param {Object} meeting - the meeting object
47
+ * @returns {void}
17
48
  */
18
- constructor(type: string, meeting: any);
49
+ handleLocalStreamChange(meeting: any): void;
19
50
  /**
20
- * Handles mute/unmute request from the client/user. Returns a promise that's resolved once the server update is completed or
21
- * at the point that this request becomese superseded by another client request.
51
+ * Enables/disables audio/video
22
52
  *
23
- * The client doesn't have to wait for the returned promise to resolve before calling handleClientRequest() again. If
24
- * handleClientRequest() is called again before the previous one resolved, the MuteState class will make sure that eventually
25
- * the server state will match the last requested state from the client.
53
+ * @param {Object} meeting - the meeting object
54
+ * @param {boolean} enable
55
+ * @returns {void}
56
+ */
57
+ enable(meeting: any, enable: boolean): void;
58
+ /**
59
+ * Mutes/unmutes local stream
26
60
  *
61
+ * @param {Object} meeting - the meeting object
62
+ * @param {Boolean} mute - true to mute the stream, false to unmute it
63
+ * @param {ServerMuteReason} reason - reason for muting/unmuting
64
+ * @returns {void}
65
+ */
66
+ private muteLocalStream;
67
+ /**
68
+ * This method should be called when the local stream mute state is changed
27
69
  * @public
28
70
  * @memberof MuteState
29
71
  * @param {Object} [meeting] the meeting object
30
72
  * @param {Boolean} [mute] true for muting, false for unmuting request
31
- * @returns {Promise}
73
+ * @returns {void}
32
74
  */
33
- handleClientRequest(meeting?: object, mute?: boolean): Promise<unknown>;
75
+ handleLocalStreamMuteStateChange(meeting?: object, mute?: boolean): void;
34
76
  /**
35
- * Applies the current mute state to the local track (by enabling or disabling it accordingly)
77
+ * Applies the current mute state to the local stream (by enabling or disabling it accordingly)
36
78
  *
37
79
  * @public
38
80
  * @param {Object} [meeting] the meeting object
81
+ * @param {ServerMuteReason} reason - reason why we're applying our client state to the local stream
39
82
  * @memberof MuteState
40
83
  * @returns {void}
41
84
  */
42
- applyClientStateLocally(meeting?: any): void;
85
+ applyClientStateLocally(meeting?: any, reason?: ServerMuteReason): void;
86
+ /** Returns true if client is locally muted - it takes into account not just the client local mute state,
87
+ * but also whether audio/video is enabled at all
88
+ *
89
+ * @returns {boolean}
90
+ */
91
+ private getClientLocalMuteState;
43
92
  /**
44
93
  * Updates the server local and remote mute values so that they match the current client desired state.
45
94
  *
@@ -67,16 +116,29 @@ declare class MuteState {
67
116
  * @returns {Promise}
68
117
  */
69
118
  private sendRemoteMuteRequestToServer;
119
+ /** Sets the mute state of the local stream according to what server thinks is our state
120
+ * @param {Object} meeting - the meeting object
121
+ * @param {ServerMuteReason} serverMuteReason - reason why we're applying server mute to the local stream
122
+ * @returns {void}
123
+ */
124
+ private applyServerMuteToLocalStream;
125
+ /** Applies the current value for unmute allowed to the underlying stream
126
+ *
127
+ * @param {Meeting} meeting
128
+ * @returns {void}
129
+ */
130
+ private applyUnmuteAllowedToStream;
70
131
  /**
71
132
  * This method should be called whenever the server remote mute state is changed
72
133
  *
73
134
  * @public
74
135
  * @memberof MuteState
136
+ * @param {Meeting} meeting
75
137
  * @param {Boolean} [muted] true if user is remotely muted, false otherwise
76
138
  * @param {Boolean} [unmuteAllowed] indicates if user is allowed to unmute self (false when "hard mute" feature is used)
77
139
  * @returns {undefined}
78
140
  */
79
- handleServerRemoteMuteUpdate(muted?: boolean, unmuteAllowed?: boolean): void;
141
+ handleServerRemoteMuteUpdate(meeting: any, muted?: boolean, unmuteAllowed?: boolean): void;
80
142
  /**
81
143
  * This method should be called whenever we receive from the server a requirement to locally unmute
82
144
  *
@@ -87,22 +149,36 @@ declare class MuteState {
87
149
  */
88
150
  handleServerLocalUnmuteRequired(meeting?: object): void;
89
151
  /**
90
- * Returns true if the user is locally or remotely muted
152
+ * Returns true if the user is locally or remotely muted.
153
+ * It only checks the mute status, ignoring the fact whether audio/video is enabled.
154
+ *
155
+ * @public
156
+ * @memberof MuteState
157
+ * @returns {Boolean}
158
+ */
159
+ isMuted(): boolean;
160
+ /**
161
+ * Returns true if the user is remotely muted
162
+ *
163
+ * @public
164
+ * @memberof MuteState
165
+ * @returns {Boolean}
166
+ */
167
+ isRemotelyMuted(): boolean;
168
+ /**
169
+ * Returns true if unmute is allowed
91
170
  *
92
171
  * @public
93
172
  * @memberof MuteState
94
173
  * @returns {Boolean}
95
174
  */
96
- isMuted(): any;
175
+ isUnmuteAllowed(): boolean;
97
176
  /**
98
- * Returns true if the user is muted as a result of the client request (and not remotely muted)
177
+ * Returns true if the user is locally muted or audio/video is disabled
99
178
  *
100
179
  * @public
101
180
  * @memberof MuteState
102
181
  * @returns {Boolean}
103
182
  */
104
- isSelf(): boolean;
105
- get muted(): any;
106
- get self(): boolean;
183
+ isLocallyMuted(): boolean;
107
184
  }
108
- export {};
@@ -1,11 +1,26 @@
1
1
  import { StatelessWebexPlugin } from '@webex/webex-core';
2
+ import { IP_VERSION } from '../constants';
2
3
  import { SendReactionOptions, ToggleReactionsOptions } from './request.type';
4
+ import { AnnotationInfo } from '../annotation/annotation.types';
3
5
  /**
4
6
  * @class MeetingRequest
5
7
  */
6
8
  export default class MeetingRequest extends StatelessWebexPlugin {
7
9
  changeVideoLayoutDebounced: any;
10
+ meetingRef: WeakRef<any>;
11
+ locusDeltaRequest: (options: object) => Promise<any>;
12
+ buildLocusDeltaRequestOptions: (options: object) => Promise<any>;
13
+ /**
14
+ * Constructor
15
+ * @param {Object} attrs
16
+ * @param {Object} options
17
+ */
8
18
  constructor(attrs: any, options: any);
19
+ /**
20
+ * Returns joinCookie from boundedStorage if present.
21
+ * @returns {Object} joinCookie
22
+ */
23
+ private getJoinCookie;
9
24
  /**
10
25
  * Make a network request to join a meeting
11
26
  * @param {Object} options
@@ -20,12 +35,16 @@ export default class MeetingRequest extends StatelessWebexPlugin {
20
35
  * @param {boolean} options.moveToResource
21
36
  * @param {Object} options.roapMessage
22
37
  * @param {boolean} options.breakoutsSupported
38
+ * @param {String} options.locale,
39
+ * @param {Array} options.deviceCapabilities
40
+ * @param {boolean} options.liveAnnotationSupported
23
41
  * @returns {Promise}
24
42
  */
25
43
  joinMeeting(options: {
26
44
  sipUri: string;
27
45
  deviceUrl: string;
28
46
  locusUrl: string;
47
+ locusClusterUrl: string;
29
48
  resourceId: string;
30
49
  correlationId: string;
31
50
  ensureConversation: boolean;
@@ -39,6 +58,10 @@ export default class MeetingRequest extends StatelessWebexPlugin {
39
58
  permissionToken: any;
40
59
  preferTranscoding: any;
41
60
  breakoutsSupported: boolean;
61
+ locale?: string;
62
+ deviceCapabilities?: Array<string>;
63
+ liveAnnotationSupported: boolean;
64
+ ipVersion?: IP_VERSION;
42
65
  }): Promise<any>;
43
66
  /**
44
67
  * Send a request to refresh the captcha
@@ -73,26 +96,13 @@ export default class MeetingRequest extends StatelessWebexPlugin {
73
96
  */
74
97
  private dialOut;
75
98
  /**
76
- * Syns the missed delta event
99
+ * Sends a requests to get the latest locus DTO, it might be a full Locus or a delta, depending on the url provided
77
100
  * @param {Object} options
78
- * @param {boolean} options.desync flag to get partial or whole locus object
79
- * @param {String} options.syncUrl sync url to get ht elatest locus delta
80
- * @returns {Promise}
81
- */
82
- syncMeeting(options: {
83
- desync: boolean;
84
- syncUrl: string;
85
- }): any;
86
- /**
87
- * Request to get the complete locus object
88
- * @param {Object} options
89
- * @param {boolean} options.desync flag to get partial or whole locus object
90
101
  * @param {String} options.locusUrl sync url to get ht elatest locus delta
91
102
  * @returns {Promise}
92
103
  */
93
- getFullLocus(options: {
94
- desync: boolean;
95
- locusUrl: string;
104
+ getLocusDTO(options: {
105
+ url: string;
96
106
  }): any;
97
107
  /**
98
108
  * Make a network request to make a provisioned phone leave the meeting
@@ -106,13 +116,36 @@ export default class MeetingRequest extends StatelessWebexPlugin {
106
116
  */
107
117
  private disconnectPhoneAudio;
108
118
  /**
109
- * Make a network request to leave a meeting
119
+ * Prepares request options to to leave a meeting
110
120
  * @param {Object} options
111
121
  * @param {Url} options.locusUrl
112
122
  * @param {String} options.selfId
113
123
  * @param {Url} options.deviceUrl
114
124
  * @param {String} options.resourceId,
115
125
  * @param {String} options.correlationId
126
+ * @returns {Object} request options
127
+ */
128
+ prepareLeaveMeetingRequestOptions({ locusUrl, selfId, deviceUrl: url, resourceId, correlationId, }: {
129
+ locusUrl: string;
130
+ selfId: string;
131
+ deviceUrl: string;
132
+ resourceId: string;
133
+ correlationId: string;
134
+ }): {
135
+ method: string;
136
+ uri: string;
137
+ body: {
138
+ device: {
139
+ deviceType: any;
140
+ url: string;
141
+ };
142
+ usingResource: string;
143
+ correlationId: string;
144
+ };
145
+ };
146
+ /**
147
+ * Make a network request to leave a meeting
148
+ * @param {Object} options
116
149
  * @returns {Promise}
117
150
  */
118
151
  leaveMeeting({ locusUrl, selfId, deviceUrl: url, resourceId, correlationId, }: {
@@ -121,7 +154,13 @@ export default class MeetingRequest extends StatelessWebexPlugin {
121
154
  deviceUrl: string;
122
155
  resourceId: string;
123
156
  correlationId: string;
124
- }): any;
157
+ }): Promise<any>;
158
+ /**
159
+ * Builds request options to leave a meeting
160
+ * @param {Object} options
161
+ * @returns {Object} request options
162
+ */
163
+ buildLeaveMeetingRequestOptions(options: any): Promise<any>;
125
164
  /**
126
165
  * Make a network request to acknowledge a meeting
127
166
  * @param {Object} options
@@ -134,8 +173,14 @@ export default class MeetingRequest extends StatelessWebexPlugin {
134
173
  locusUrl: string;
135
174
  deviceUrl: string;
136
175
  correlationId: string;
137
- }): any;
138
- lockMeeting(options: any): any;
176
+ }): Promise<any>;
177
+ /**
178
+ * Makes a network request to lock the meeting
179
+ * @param {Object} options
180
+ * @param {Boolean} options.lock Whether it is locked or not
181
+ * @returns {Promise}
182
+ */
183
+ lockMeeting(options: any): Promise<any>;
139
184
  /**
140
185
  * Make a network request to decline a meeting
141
186
  * @param {Object} options
@@ -148,25 +193,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
148
193
  locusUrl: string;
149
194
  deviceUrl: string;
150
195
  reason: string;
151
- }): any;
152
- /**
153
- * Toggle remote audio and/or video
154
- * @param {Object} options options for toggling
155
- * @param {String} options.selfId Locus self id??
156
- * @param {String} options.locusUrl Locus url
157
- * @param {String} options.deviceUrl Url of a device
158
- * @param {String} options.resourceId Populated if you are paired to a device
159
- * @param {String} options.localMedias local sdps
160
- * @param {Boolean} options.preferTranscoding false for multistream (Homer), true for transcoded media (Edonus)
161
- * @returns {Promise}
162
- */
163
- remoteAudioVideoToggle(options: {
164
- selfId: string;
165
- locusUrl: string;
166
- deviceUrl: string;
167
- resourceId: string;
168
- localMedias: string;
169
- } | any): any;
196
+ }): Promise<any>;
170
197
  /**
171
198
  * change the content floor grant
172
199
  * @param {Object} options options for floor grant
@@ -183,6 +210,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
183
210
  deviceUrl: string;
184
211
  resourceId: string;
185
212
  uri: string;
213
+ annotationInfo: AnnotationInfo;
186
214
  } | any): any;
187
215
  /**
188
216
  * Sends a request to the DTMF endpoint to send tones
@@ -196,7 +224,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
196
224
  locusUrl: string;
197
225
  deviceUrl: string;
198
226
  tones: string;
199
- }): any;
227
+ }): Promise<any>;
200
228
  /**
201
229
  * Sends a request to the controls endpoint to set the video layout
202
230
  * @param {Object} options
@@ -223,7 +251,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
223
251
  width: number;
224
252
  height: number;
225
253
  };
226
- }): any;
254
+ }): Promise<any>;
227
255
  /**
228
256
  * Make a network request to end meeting for all
229
257
  * @param {Object} options
@@ -232,7 +260,7 @@ export default class MeetingRequest extends StatelessWebexPlugin {
232
260
  */
233
261
  endMeetingForAll({ locusUrl }: {
234
262
  locusUrl: string;
235
- }): any;
263
+ }): Promise<any>;
236
264
  /**
237
265
  * Send a locus keepAlive (used in lobby)
238
266
  * @param {Object} options
@@ -257,5 +285,6 @@ export default class MeetingRequest extends StatelessWebexPlugin {
257
285
  * @param {locusUrl} options.locusUrl
258
286
  * @returns {Promise}
259
287
  */
260
- toggleReactions({ enable, locusUrl, requestingParticipantId }: ToggleReactionsOptions): any;
288
+ toggleReactions({ enable, locusUrl, requestingParticipantId }: ToggleReactionsOptions): Promise<any>;
289
+ getLocusStatusByUrl(locusUrl: string): any;
261
290
  }
@@ -1,2 +1,102 @@
1
- declare const MeetingUtil: any;
1
+ import { SELF_POLICY, IP_VERSION } from '../constants';
2
+ declare const MeetingUtil: {
3
+ parseLocusJoin: (response: any) => any;
4
+ remoteUpdateAudioVideo: (meeting: any, audioMuted?: boolean, videoMuted?: boolean) => any;
5
+ hasOwner: (info: any) => any;
6
+ isOwnerSelf: (owner: any, selfId: any) => boolean;
7
+ isPinOrGuest: (err: any) => boolean;
8
+ /**
9
+ * Returns the current state of knowledge about whether we are on an ipv4-only or ipv6-only or mixed (ipv4 and ipv6) network.
10
+ * The return value matches the possible values of "ipver" parameter used by the backend APIs.
11
+ *
12
+ * @param {Object} webex webex instance
13
+ * @returns {IP_VERSION|undefined} ipver value to be passed to the backend APIs or undefined if we should not pass any value to the backend
14
+ */
15
+ getIpVersion(webex: any): IP_VERSION | undefined;
16
+ joinMeeting: (meeting: any, options: any) => any;
17
+ cleanUp: (meeting: any) => any;
18
+ disconnectPhoneAudio: (meeting: any, phoneUrl: any) => any;
19
+ /**
20
+ * Returns options for leaving a meeting.
21
+ * @param {any} meeting
22
+ * @param {any} options
23
+ * @returns {any} leave options
24
+ */
25
+ prepareLeaveMeetingOptions: (meeting: any, options?: any) => any;
26
+ leaveMeeting: (meeting: any, options?: any) => any;
27
+ declineMeeting: (meeting: any, reason: any) => any;
28
+ isUserInLeftState: (locusInfo: any) => boolean;
29
+ isUserInIdleState: (locusInfo: any) => boolean;
30
+ isUserInJoinedState: (locusInfo: any) => boolean;
31
+ isMediaEstablished: (currentMediaStatus: any) => any;
32
+ joinMeetingOptions: (meeting: any, options?: any) => any;
33
+ /**
34
+ * Returns request options for leaving a meeting.
35
+ * @param {any} meeting
36
+ * @param {any} options
37
+ * @returns {any} request options
38
+ */
39
+ buildLeaveFetchRequestOptions: (meeting: any, options?: any) => any;
40
+ getTrack: (stream: any) => {
41
+ audioTrack: any;
42
+ videoTrack: any;
43
+ };
44
+ getModeratorFromLocusInfo: (locusInfo: any) => any;
45
+ getPolicyFromLocusInfo: (locusInfo: any) => any;
46
+ getUserDisplayHintsFromLocusInfo: (locusInfo: any) => any;
47
+ canInviteNewParticipants: (displayHints: any) => any;
48
+ canAdmitParticipant: (displayHints: any) => any;
49
+ canUserLock: (displayHints: any) => any;
50
+ canUserUnlock: (displayHints: any) => any;
51
+ canUserRaiseHand: (displayHints: any) => any;
52
+ canUserLowerAllHands: (displayHints: any) => any;
53
+ canUserLowerSomeoneElsesHand: (displayHints: any) => any;
54
+ bothLeaveAndEndMeetingAvailable: (displayHints: any) => any;
55
+ canManageBreakout: (displayHints: any) => any;
56
+ canBroadcastMessageToBreakout: (displayHints: any, policies?: {}) => boolean;
57
+ isSuppressBreakoutSupport: (displayHints: any) => any;
58
+ canAdmitLobbyToBreakout: (displayHints: any) => boolean;
59
+ isBreakoutPreassignmentsEnabled: (displayHints: any) => boolean;
60
+ canUserAskForHelp: (displayHints: any) => boolean;
61
+ lockMeeting: (actions: any, request: any, locusUrl: any) => any;
62
+ unlockMeeting: (actions: any, request: any, locusUrl: any) => any;
63
+ handleAudioLogging: (audioStream?: LocalMicrophoneStream) => void;
64
+ handleVideoLogging: (videoStream?: LocalCameraStream) => void;
65
+ handleDeviceLogging: (devices?: any[]) => void;
66
+ endMeetingForAll: (meeting: any) => any;
67
+ canEnableClosedCaption: (displayHints: any) => any;
68
+ isSaveTranscriptsEnabled: (displayHints: any) => any;
69
+ canStartTranscribing: (displayHints: any) => any;
70
+ canStopTranscribing: (displayHints: any) => any;
71
+ isClosedCaptionActive: (displayHints: any) => any;
72
+ isWebexAssistantActive: (displayHints: any) => any;
73
+ canViewCaptionPanel: (displayHints: any) => any;
74
+ isRealTimeTranslationEnabled: (displayHints: any) => any;
75
+ canSelectSpokenLanguages: (displayHints: any) => any;
76
+ waitingForOthersToJoin: (displayHints: any) => any;
77
+ canSendReactions: (originalValue: any, displayHints: any) => any;
78
+ canUserRenameSelfAndObserved: (displayHints: any) => any;
79
+ canUserRenameOthers: (displayHints: any) => any;
80
+ canShareWhiteBoard: (displayHints: any) => any;
81
+ /**
82
+ * Adds the current locus sequence information to a request body
83
+ * @param {Object} meeting The meeting object
84
+ * @param {Object} requestBody The body of a request to locus
85
+ * @returns {void}
86
+ */
87
+ addSequence: (meeting: any, requestBody: any) => void;
88
+ /**
89
+ * Updates the locus info for the meeting with the delta locus
90
+ * returned from requests that include the sequence information
91
+ * Returns the original response object
92
+ * @param {Object} meeting The meeting object
93
+ * @param {Object} response The response of the http request
94
+ * @returns {Object}
95
+ */
96
+ updateLocusWithDelta: (meeting: any, response: any) => any;
97
+ generateBuildLocusDeltaRequestOptions: (originalMeeting: any) => (originalOptions: any) => any;
98
+ generateLocusDeltaRequest: (originalMeeting: any) => (originalOptions: any) => any;
99
+ selfSupportsFeature: (feature: SELF_POLICY, userPolicies: Record<SELF_POLICY, boolean>) => boolean;
100
+ parseInterpretationInfo: (meeting: any, meetingInfo: any) => void;
101
+ };
2
102
  export default MeetingUtil;
@@ -49,9 +49,21 @@ export default class MeetingInfo {
49
49
  * Fetches meeting info from the server
50
50
  * @param {String} destination one of many different types of destinations to look up info for
51
51
  * @param {String} [type] to match up with the destination value
52
+ * @param {String} [password] meeting password
53
+ * @param {Object} [captchaInfo] captcha code and id
54
+ * @param {String} [installedOrgID]
55
+ * @param {String} [locusId]
56
+ * @param {Object} [extraParams]
57
+ * @param {Boolean} [options] meeting Id and whether Call Analyzer events should be sent
52
58
  * @returns {Promise} returns a meeting info object
53
59
  * @public
54
60
  * @memberof MeetingInfo
55
61
  */
56
- fetchMeetingInfo(destination: string, type?: string): any;
62
+ fetchMeetingInfo(destination: string, type?: string, password?: string, captchaInfo?: {
63
+ code: string;
64
+ id: string;
65
+ }, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
66
+ meetingId?: string;
67
+ sendCAevents?: boolean;
68
+ }): any;
57
69
  }
@@ -29,6 +29,22 @@ export declare class MeetingInfoV2AdhocMeetingError extends Error {
29
29
  */
30
30
  constructor(wbxAppApiErrorCode?: number, message?: string);
31
31
  }
32
+ /**
33
+ * Error preventing join because of a meeting policy
34
+ */
35
+ export declare class MeetingInfoV2PolicyError extends Error {
36
+ meetingInfo: object;
37
+ sdkMessage: string;
38
+ wbxAppApiCode: number;
39
+ /**
40
+ *
41
+ * @constructor
42
+ * @param {Number} [wbxAppApiErrorCode]
43
+ * @param {Object} [meetingInfo]
44
+ * @param {String} [message]
45
+ */
46
+ constructor(wbxAppApiErrorCode?: number, meetingInfo?: object, message?: string);
47
+ }
32
48
  /**
33
49
  * Error to indicate that preferred webex site not present to start adhoc meeting
34
50
  */
@@ -66,14 +82,21 @@ export default class MeetingInfoV2 {
66
82
  * @memberof MeetingInfo
67
83
  */
68
84
  fetchInfoOptions(destination: string, type?: string): any;
85
+ /**
86
+ * Raises a MeetingInfoV2PolicyError for policy error codes
87
+ * @param {any} err the error from the request
88
+ * @returns {void}
89
+ */
90
+ handlePolicyError: (err: any) => void;
69
91
  /**
70
92
  * Creates adhoc space meetings for a space by fetching the conversation infomation
71
93
  * @param {String} conversationUrl conversationUrl to start adhoc meeting on
94
+ * @param {String} installedOrgID org ID of user's machine
72
95
  * @returns {Promise} returns a meeting info object
73
96
  * @public
74
97
  * @memberof MeetingInfo
75
98
  */
76
- createAdhocSpaceMeeting(conversationUrl: string): Promise<any>;
99
+ createAdhocSpaceMeeting(conversationUrl: string, installedOrgID?: string): Promise<any>;
77
100
  /**
78
101
  * Fetches meeting info from the server
79
102
  * @param {String} destination one of many different types of destinations to look up info for
@@ -82,6 +105,10 @@ export default class MeetingInfoV2 {
82
105
  * @param {Object} captchaInfo
83
106
  * @param {String} captchaInfo.code
84
107
  * @param {String} captchaInfo.id
108
+ * @param {String} installedOrgID org ID of user's machine
109
+ * @param {String} locusId
110
+ * @param {Object} extraParams
111
+ * @param {Object} options
85
112
  * @returns {Promise} returns a meeting info object
86
113
  * @public
87
114
  * @memberof MeetingInfo
@@ -89,5 +116,8 @@ export default class MeetingInfoV2 {
89
116
  fetchMeetingInfo(destination: string, type?: string, password?: string, captchaInfo?: {
90
117
  code: string;
91
118
  id: string;
119
+ }, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
120
+ meetingId?: string;
121
+ sendCAevents?: boolean;
92
122
  }): Promise<any>;
93
123
  }