@webex/plugin-meetings 3.0.0-beta.15 → 3.0.0-beta.151

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 (480) hide show
  1. package/README.md +45 -1
  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 +359 -0
  7. package/dist/annotation/index.js.map +1 -0
  8. package/dist/breakouts/breakout.js +193 -0
  9. package/dist/breakouts/breakout.js.map +1 -0
  10. package/dist/breakouts/collection.js +23 -0
  11. package/dist/breakouts/collection.js.map +1 -0
  12. package/dist/breakouts/edit-lock-error.js +52 -0
  13. package/dist/breakouts/edit-lock-error.js.map +1 -0
  14. package/dist/breakouts/events.js +43 -0
  15. package/dist/breakouts/events.js.map +1 -0
  16. package/dist/breakouts/index.js +1046 -0
  17. package/dist/breakouts/index.js.map +1 -0
  18. package/dist/breakouts/request.js +78 -0
  19. package/dist/breakouts/request.js.map +1 -0
  20. package/dist/breakouts/utils.js +67 -0
  21. package/dist/breakouts/utils.js.map +1 -0
  22. package/dist/common/browser-detection.js +1 -21
  23. package/dist/common/browser-detection.js.map +1 -1
  24. package/dist/common/collection.js +5 -20
  25. package/dist/common/collection.js.map +1 -1
  26. package/dist/common/config.js +0 -7
  27. package/dist/common/config.js.map +1 -1
  28. package/dist/common/errors/captcha-error.js +0 -21
  29. package/dist/common/errors/captcha-error.js.map +1 -1
  30. package/dist/common/errors/intent-to-join.js +0 -21
  31. package/dist/common/errors/intent-to-join.js.map +1 -1
  32. package/dist/common/errors/join-meeting.js +0 -21
  33. package/dist/common/errors/join-meeting.js.map +1 -1
  34. package/dist/common/errors/media.js +0 -21
  35. package/dist/common/errors/media.js.map +1 -1
  36. package/dist/common/errors/parameter.js +0 -28
  37. package/dist/common/errors/parameter.js.map +1 -1
  38. package/dist/common/errors/password-error.js +0 -21
  39. package/dist/common/errors/password-error.js.map +1 -1
  40. package/dist/common/errors/permission.js +0 -21
  41. package/dist/common/errors/permission.js.map +1 -1
  42. package/dist/common/errors/reconnection-in-progress.js +0 -17
  43. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  44. package/dist/common/errors/reconnection.js +0 -21
  45. package/dist/common/errors/reconnection.js.map +1 -1
  46. package/dist/common/errors/stats.js +0 -21
  47. package/dist/common/errors/stats.js.map +1 -1
  48. package/dist/common/errors/webex-errors.js +9 -43
  49. package/dist/common/errors/webex-errors.js.map +1 -1
  50. package/dist/common/errors/webex-meetings-error.js +1 -24
  51. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  52. package/dist/common/events/events-scope.js +0 -22
  53. package/dist/common/events/events-scope.js.map +1 -1
  54. package/dist/common/events/events.js +0 -23
  55. package/dist/common/events/events.js.map +1 -1
  56. package/dist/common/events/trigger-proxy.js +0 -12
  57. package/dist/common/events/trigger-proxy.js.map +1 -1
  58. package/dist/common/events/util.js +0 -15
  59. package/dist/common/events/util.js.map +1 -1
  60. package/dist/common/logs/logger-config.js +0 -4
  61. package/dist/common/logs/logger-config.js.map +1 -1
  62. package/dist/common/logs/logger-proxy.js +1 -8
  63. package/dist/common/logs/logger-proxy.js.map +1 -1
  64. package/dist/common/logs/request.js +35 -61
  65. package/dist/common/logs/request.js.map +1 -1
  66. package/dist/common/queue.js +4 -14
  67. package/dist/common/queue.js.map +1 -1
  68. package/dist/config.js +7 -13
  69. package/dist/config.js.map +1 -1
  70. package/dist/constants.js +208 -64
  71. package/dist/constants.js.map +1 -1
  72. package/dist/controls-options-manager/constants.js +14 -0
  73. package/dist/controls-options-manager/constants.js.map +1 -0
  74. package/dist/controls-options-manager/enums.js +27 -0
  75. package/dist/controls-options-manager/enums.js.map +1 -0
  76. package/dist/controls-options-manager/index.js +297 -0
  77. package/dist/controls-options-manager/index.js.map +1 -0
  78. package/dist/controls-options-manager/types.js +7 -0
  79. package/dist/controls-options-manager/types.js.map +1 -0
  80. package/dist/controls-options-manager/util.js +300 -0
  81. package/dist/controls-options-manager/util.js.map +1 -0
  82. package/dist/index.js +78 -17
  83. package/dist/index.js.map +1 -1
  84. package/dist/locus-info/controlsUtils.js +100 -29
  85. package/dist/locus-info/controlsUtils.js.map +1 -1
  86. package/dist/locus-info/embeddedAppsUtils.js +3 -26
  87. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  88. package/dist/locus-info/fullState.js +0 -15
  89. package/dist/locus-info/fullState.js.map +1 -1
  90. package/dist/locus-info/hostUtils.js +4 -12
  91. package/dist/locus-info/hostUtils.js.map +1 -1
  92. package/dist/locus-info/index.js +387 -208
  93. package/dist/locus-info/index.js.map +1 -1
  94. package/dist/locus-info/infoUtils.js +0 -38
  95. package/dist/locus-info/infoUtils.js.map +1 -1
  96. package/dist/locus-info/mediaSharesUtils.js +54 -38
  97. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  98. package/dist/locus-info/parser.js +90 -126
  99. package/dist/locus-info/parser.js.map +1 -1
  100. package/dist/locus-info/selfUtils.js +93 -92
  101. package/dist/locus-info/selfUtils.js.map +1 -1
  102. package/dist/media/index.js +70 -219
  103. package/dist/media/index.js.map +1 -1
  104. package/dist/media/properties.js +74 -198
  105. package/dist/media/properties.js.map +1 -1
  106. package/dist/media/util.js +1 -8
  107. package/dist/media/util.js.map +1 -1
  108. package/dist/mediaQualityMetrics/config.js +505 -495
  109. package/dist/mediaQualityMetrics/config.js.map +1 -1
  110. package/dist/meeting/in-meeting-actions.js +79 -14
  111. package/dist/meeting/in-meeting-actions.js.map +1 -1
  112. package/dist/meeting/index.js +2685 -3324
  113. package/dist/meeting/index.js.map +1 -1
  114. package/dist/meeting/locusMediaRequest.js +291 -0
  115. package/dist/meeting/locusMediaRequest.js.map +1 -0
  116. package/dist/meeting/muteState.js +243 -185
  117. package/dist/meeting/muteState.js.map +1 -1
  118. package/dist/meeting/request.js +296 -342
  119. package/dist/meeting/request.js.map +1 -1
  120. package/dist/meeting/request.type.js +0 -1
  121. package/dist/meeting/request.type.js.map +1 -1
  122. package/dist/meeting/state.js +16 -26
  123. package/dist/meeting/state.js.map +1 -1
  124. package/dist/meeting/util.js +446 -585
  125. package/dist/meeting/util.js.map +1 -1
  126. package/dist/meeting-info/collection.js +3 -25
  127. package/dist/meeting-info/collection.js.map +1 -1
  128. package/dist/meeting-info/index.js +8 -31
  129. package/dist/meeting-info/index.js.map +1 -1
  130. package/dist/meeting-info/meeting-info-v2.js +261 -242
  131. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  132. package/dist/meeting-info/request.js +1 -16
  133. package/dist/meeting-info/request.js.map +1 -1
  134. package/dist/meeting-info/util.js +98 -183
  135. package/dist/meeting-info/util.js.map +1 -1
  136. package/dist/meeting-info/utilv2.js +156 -232
  137. package/dist/meeting-info/utilv2.js.map +1 -1
  138. package/dist/meetings/collection.js +24 -20
  139. package/dist/meetings/collection.js.map +1 -1
  140. package/dist/meetings/index.js +526 -372
  141. package/dist/meetings/index.js.map +1 -1
  142. package/dist/meetings/meetings.types.js +7 -0
  143. package/dist/meetings/meetings.types.js.map +1 -0
  144. package/dist/meetings/request.js +21 -40
  145. package/dist/meetings/request.js.map +1 -1
  146. package/dist/meetings/util.js +172 -141
  147. package/dist/meetings/util.js.map +1 -1
  148. package/dist/member/index.js +58 -57
  149. package/dist/member/index.js.map +1 -1
  150. package/dist/member/types.js +15 -0
  151. package/dist/member/types.js.map +1 -0
  152. package/dist/member/util.js +101 -69
  153. package/dist/member/util.js.map +1 -1
  154. package/dist/members/collection.js +12 -12
  155. package/dist/members/collection.js.map +1 -1
  156. package/dist/members/index.js +123 -162
  157. package/dist/members/index.js.map +1 -1
  158. package/dist/members/request.js +120 -85
  159. package/dist/members/request.js.map +1 -1
  160. package/dist/members/types.js +15 -0
  161. package/dist/members/types.js.map +1 -0
  162. package/dist/members/util.js +314 -260
  163. package/dist/members/util.js.map +1 -1
  164. package/dist/metrics/config.js +50 -16
  165. package/dist/metrics/config.js.map +1 -1
  166. package/dist/metrics/constants.js +4 -7
  167. package/dist/metrics/constants.js.map +1 -1
  168. package/dist/metrics/index.js +75 -147
  169. package/dist/metrics/index.js.map +1 -1
  170. package/dist/multistream/mediaRequestManager.js +170 -50
  171. package/dist/multistream/mediaRequestManager.js.map +1 -1
  172. package/dist/multistream/receiveSlot.js +58 -65
  173. package/dist/multistream/receiveSlot.js.map +1 -1
  174. package/dist/multistream/receiveSlotManager.js +73 -94
  175. package/dist/multistream/receiveSlotManager.js.map +1 -1
  176. package/dist/multistream/remoteMedia.js +55 -74
  177. package/dist/multistream/remoteMedia.js.map +1 -1
  178. package/dist/multistream/remoteMediaGroup.js +66 -43
  179. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  180. package/dist/multistream/remoteMediaManager.js +502 -442
  181. package/dist/multistream/remoteMediaManager.js.map +1 -1
  182. package/dist/networkQualityMonitor/index.js +24 -51
  183. package/dist/networkQualityMonitor/index.js.map +1 -1
  184. package/dist/personal-meeting-room/index.js +3 -38
  185. package/dist/personal-meeting-room/index.js.map +1 -1
  186. package/dist/personal-meeting-room/request.js +2 -33
  187. package/dist/personal-meeting-room/request.js.map +1 -1
  188. package/dist/personal-meeting-room/util.js +0 -13
  189. package/dist/personal-meeting-room/util.js.map +1 -1
  190. package/dist/reachability/index.js +190 -199
  191. package/dist/reachability/index.js.map +1 -1
  192. package/dist/reachability/request.js +14 -23
  193. package/dist/reachability/request.js.map +1 -1
  194. package/dist/reactions/constants.js +13 -0
  195. package/dist/reactions/constants.js.map +1 -0
  196. package/dist/reactions/reactions.js +2 -4
  197. package/dist/reactions/reactions.js.map +1 -1
  198. package/dist/reactions/reactions.type.js +18 -24
  199. package/dist/reactions/reactions.type.js.map +1 -1
  200. package/dist/reconnection-manager/index.js +356 -476
  201. package/dist/reconnection-manager/index.js.map +1 -1
  202. package/dist/recording-controller/enums.js +17 -0
  203. package/dist/recording-controller/enums.js.map +1 -0
  204. package/dist/recording-controller/index.js +343 -0
  205. package/dist/recording-controller/index.js.map +1 -0
  206. package/dist/recording-controller/util.js +63 -0
  207. package/dist/recording-controller/util.js.map +1 -0
  208. package/dist/roap/index.js +32 -75
  209. package/dist/roap/index.js.map +1 -1
  210. package/dist/roap/request.js +129 -136
  211. package/dist/roap/request.js.map +1 -1
  212. package/dist/roap/turnDiscovery.js +143 -103
  213. package/dist/roap/turnDiscovery.js.map +1 -1
  214. package/dist/statsAnalyzer/global.js +1 -95
  215. package/dist/statsAnalyzer/global.js.map +1 -1
  216. package/dist/statsAnalyzer/index.js +369 -462
  217. package/dist/statsAnalyzer/index.js.map +1 -1
  218. package/dist/statsAnalyzer/mqaUtil.js +144 -94
  219. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  220. package/dist/transcription/index.js +9 -44
  221. package/dist/transcription/index.js.map +1 -1
  222. package/dist/types/annotation/annotation.types.d.ts +43 -0
  223. package/dist/types/annotation/constants.d.ts +31 -0
  224. package/dist/types/annotation/index.d.ts +124 -0
  225. package/dist/types/breakouts/breakout.d.ts +8 -0
  226. package/dist/types/breakouts/collection.d.ts +5 -0
  227. package/dist/types/breakouts/edit-lock-error.d.ts +15 -0
  228. package/dist/types/breakouts/events.d.ts +2 -0
  229. package/dist/types/breakouts/index.d.ts +5 -0
  230. package/dist/types/breakouts/request.d.ts +22 -0
  231. package/dist/types/breakouts/utils.d.ts +15 -0
  232. package/dist/types/common/browser-detection.d.ts +9 -0
  233. package/dist/types/common/collection.d.ts +48 -0
  234. package/dist/types/common/config.d.ts +2 -0
  235. package/dist/types/common/errors/captcha-error.d.ts +15 -0
  236. package/dist/types/common/errors/intent-to-join.d.ts +16 -0
  237. package/dist/types/common/errors/join-meeting.d.ts +17 -0
  238. package/dist/types/common/errors/media.d.ts +15 -0
  239. package/dist/types/common/errors/parameter.d.ts +15 -0
  240. package/dist/types/common/errors/password-error.d.ts +15 -0
  241. package/dist/types/common/errors/permission.d.ts +14 -0
  242. package/dist/types/common/errors/reconnection-in-progress.d.ts +9 -0
  243. package/dist/types/common/errors/reconnection.d.ts +15 -0
  244. package/dist/types/common/errors/stats.d.ts +15 -0
  245. package/dist/types/common/errors/webex-errors.d.ts +69 -0
  246. package/dist/types/common/errors/webex-meetings-error.d.ts +20 -0
  247. package/dist/types/common/events/events-scope.d.ts +17 -0
  248. package/dist/types/common/events/events.d.ts +12 -0
  249. package/dist/types/common/events/trigger-proxy.d.ts +2 -0
  250. package/dist/types/common/events/util.d.ts +2 -0
  251. package/dist/types/common/logs/logger-config.d.ts +2 -0
  252. package/dist/types/common/logs/logger-proxy.d.ts +2 -0
  253. package/dist/types/common/logs/request.d.ts +34 -0
  254. package/dist/types/common/queue.d.ts +32 -0
  255. package/dist/types/config.d.ts +72 -0
  256. package/dist/types/constants.d.ts +978 -0
  257. package/dist/types/controls-options-manager/constants.d.ts +4 -0
  258. package/dist/types/controls-options-manager/enums.d.ts +15 -0
  259. package/dist/types/controls-options-manager/index.d.ts +136 -0
  260. package/dist/types/controls-options-manager/types.d.ts +43 -0
  261. package/dist/types/controls-options-manager/util.d.ts +1 -0
  262. package/dist/types/index.d.ts +7 -0
  263. package/dist/types/locus-info/controlsUtils.d.ts +2 -0
  264. package/dist/types/locus-info/embeddedAppsUtils.d.ts +2 -0
  265. package/dist/types/locus-info/fullState.d.ts +2 -0
  266. package/dist/types/locus-info/hostUtils.d.ts +2 -0
  267. package/dist/types/locus-info/index.d.ts +315 -0
  268. package/dist/types/locus-info/infoUtils.d.ts +2 -0
  269. package/dist/types/locus-info/mediaSharesUtils.d.ts +2 -0
  270. package/dist/types/locus-info/parser.d.ts +212 -0
  271. package/dist/types/locus-info/selfUtils.d.ts +2 -0
  272. package/dist/types/media/index.d.ts +34 -0
  273. package/dist/types/media/properties.d.ts +86 -0
  274. package/dist/types/media/util.d.ts +2 -0
  275. package/dist/types/mediaQualityMetrics/config.d.ts +365 -0
  276. package/dist/types/meeting/in-meeting-actions.d.ts +149 -0
  277. package/dist/types/meeting/index.d.ts +1509 -0
  278. package/dist/types/meeting/locusMediaRequest.d.ts +70 -0
  279. package/dist/types/meeting/muteState.d.ts +184 -0
  280. package/dist/types/meeting/request.d.ts +270 -0
  281. package/dist/types/meeting/request.type.d.ts +11 -0
  282. package/dist/types/meeting/state.d.ts +9 -0
  283. package/dist/types/meeting/util.d.ts +75 -0
  284. package/dist/types/meeting-info/collection.d.ts +20 -0
  285. package/dist/types/meeting-info/index.d.ts +57 -0
  286. package/dist/types/meeting-info/meeting-info-v2.d.ts +122 -0
  287. package/dist/types/meeting-info/request.d.ts +22 -0
  288. package/dist/types/meeting-info/util.d.ts +2 -0
  289. package/dist/types/meeting-info/utilv2.d.ts +2 -0
  290. package/dist/types/meetings/collection.d.ts +31 -0
  291. package/dist/types/meetings/index.d.ts +364 -0
  292. package/dist/types/meetings/meetings.types.d.ts +4 -0
  293. package/dist/types/meetings/request.d.ts +27 -0
  294. package/dist/types/meetings/util.d.ts +18 -0
  295. package/dist/types/member/index.d.ts +157 -0
  296. package/dist/types/member/types.d.ts +21 -0
  297. package/dist/types/member/util.d.ts +2 -0
  298. package/dist/types/members/collection.d.ts +29 -0
  299. package/dist/types/members/index.d.ts +353 -0
  300. package/dist/types/members/request.d.ts +114 -0
  301. package/dist/types/members/types.d.ts +24 -0
  302. package/dist/types/members/util.d.ts +210 -0
  303. package/dist/types/metrics/config.d.ts +195 -0
  304. package/dist/types/metrics/constants.d.ts +55 -0
  305. package/dist/types/metrics/index.d.ts +169 -0
  306. package/dist/types/multistream/mediaRequestManager.d.ts +104 -0
  307. package/dist/types/multistream/receiveSlot.d.ts +68 -0
  308. package/dist/types/multistream/receiveSlotManager.d.ts +56 -0
  309. package/dist/types/multistream/remoteMedia.d.ts +72 -0
  310. package/dist/types/multistream/remoteMediaGroup.d.ts +47 -0
  311. package/dist/types/multistream/remoteMediaManager.d.ts +277 -0
  312. package/dist/types/networkQualityMonitor/index.d.ts +70 -0
  313. package/dist/types/personal-meeting-room/index.d.ts +47 -0
  314. package/dist/types/personal-meeting-room/request.d.ts +14 -0
  315. package/dist/types/personal-meeting-room/util.d.ts +2 -0
  316. package/dist/types/reachability/index.d.ts +152 -0
  317. package/dist/types/reachability/request.d.ts +37 -0
  318. package/dist/types/reactions/constants.d.ts +3 -0
  319. package/dist/types/reactions/reactions.d.ts +4 -0
  320. package/dist/types/reactions/reactions.type.d.ts +52 -0
  321. package/dist/types/reconnection-manager/index.d.ts +126 -0
  322. package/dist/types/recording-controller/enums.d.ts +7 -0
  323. package/dist/types/recording-controller/index.d.ts +193 -0
  324. package/dist/types/recording-controller/util.d.ts +13 -0
  325. package/dist/types/roap/index.d.ts +77 -0
  326. package/dist/types/roap/request.d.ts +36 -0
  327. package/dist/types/roap/turnDiscovery.d.ts +91 -0
  328. package/dist/types/statsAnalyzer/global.d.ts +36 -0
  329. package/dist/types/statsAnalyzer/index.d.ts +200 -0
  330. package/dist/types/statsAnalyzer/mqaUtil.d.ts +24 -0
  331. package/dist/types/transcription/index.d.ts +64 -0
  332. package/package.json +28 -21
  333. package/src/annotation/annotation.types.ts +52 -0
  334. package/src/annotation/constants.ts +36 -0
  335. package/src/annotation/index.ts +343 -0
  336. package/src/breakouts/README.md +220 -0
  337. package/src/breakouts/breakout.ts +163 -0
  338. package/src/breakouts/collection.ts +19 -0
  339. package/src/breakouts/edit-lock-error.ts +25 -0
  340. package/src/breakouts/events.ts +37 -0
  341. package/src/breakouts/index.ts +921 -0
  342. package/src/breakouts/request.ts +55 -0
  343. package/src/breakouts/utils.ts +57 -0
  344. package/src/common/errors/webex-errors.ts +6 -2
  345. package/src/common/logs/logger-proxy.ts +1 -1
  346. package/src/config.ts +5 -7
  347. package/src/constants.ts +155 -20
  348. package/src/controls-options-manager/constants.ts +5 -0
  349. package/src/controls-options-manager/enums.ts +18 -0
  350. package/src/controls-options-manager/index.ts +278 -0
  351. package/src/controls-options-manager/types.ts +59 -0
  352. package/src/controls-options-manager/util.ts +286 -0
  353. package/src/index.ts +34 -0
  354. package/src/locus-info/controlsUtils.ts +108 -0
  355. package/src/locus-info/index.ts +310 -21
  356. package/src/locus-info/mediaSharesUtils.ts +48 -0
  357. package/src/locus-info/parser.ts +2 -1
  358. package/src/locus-info/selfUtils.ts +71 -1
  359. package/src/media/index.ts +70 -142
  360. package/src/media/properties.ts +41 -104
  361. package/src/mediaQualityMetrics/config.ts +379 -377
  362. package/src/meeting/in-meeting-actions.ts +156 -0
  363. package/src/meeting/index.ts +1730 -1768
  364. package/src/meeting/locusMediaRequest.ts +309 -0
  365. package/src/meeting/muteState.ts +228 -132
  366. package/src/meeting/request.ts +100 -91
  367. package/src/meeting/request.type.ts +2 -0
  368. package/src/meeting/util.ts +421 -421
  369. package/src/meeting-info/meeting-info-v2.ts +134 -13
  370. package/src/meeting-info/utilv2.ts +13 -3
  371. package/src/meetings/collection.ts +20 -0
  372. package/src/meetings/index.ts +375 -83
  373. package/src/meetings/meetings.types.ts +9 -0
  374. package/src/meetings/request.ts +3 -1
  375. package/src/meetings/util.ts +103 -4
  376. package/src/member/index.ts +40 -0
  377. package/src/member/types.ts +24 -0
  378. package/src/member/util.ts +81 -1
  379. package/src/members/collection.ts +8 -0
  380. package/src/members/index.ts +108 -6
  381. package/src/members/request.ts +98 -17
  382. package/src/members/types.ts +28 -0
  383. package/src/members/util.ts +319 -240
  384. package/src/metrics/config.ts +49 -10
  385. package/src/metrics/constants.ts +2 -4
  386. package/src/metrics/index.ts +43 -27
  387. package/src/multistream/mediaRequestManager.ts +210 -45
  388. package/src/multistream/receiveSlot.ts +68 -26
  389. package/src/multistream/receiveSlotManager.ts +61 -38
  390. package/src/multistream/remoteMedia.ts +29 -3
  391. package/src/multistream/remoteMediaGroup.ts +61 -2
  392. package/src/multistream/remoteMediaManager.ts +260 -66
  393. package/src/networkQualityMonitor/index.ts +6 -6
  394. package/src/reachability/index.ts +75 -25
  395. package/src/reachability/request.ts +10 -5
  396. package/src/reactions/constants.ts +4 -0
  397. package/src/reactions/reactions.ts +4 -4
  398. package/src/reactions/reactions.type.ts +28 -3
  399. package/src/reconnection-manager/index.ts +53 -32
  400. package/src/recording-controller/enums.ts +8 -0
  401. package/src/recording-controller/index.ts +315 -0
  402. package/src/recording-controller/util.ts +58 -0
  403. package/src/roap/index.ts +21 -30
  404. package/src/roap/request.ts +51 -52
  405. package/src/roap/turnDiscovery.ts +51 -27
  406. package/src/statsAnalyzer/global.ts +1 -94
  407. package/src/statsAnalyzer/index.ts +380 -390
  408. package/src/statsAnalyzer/mqaUtil.ts +106 -99
  409. package/test/integration/spec/converged-space-meetings.js +233 -0
  410. package/test/integration/spec/journey.js +332 -255
  411. package/test/integration/spec/space-meeting.js +78 -5
  412. package/test/integration/spec/transcription.js +1 -1
  413. package/test/unit/spec/annotation/index.ts +436 -0
  414. package/test/unit/spec/breakouts/breakout.ts +203 -0
  415. package/test/unit/spec/breakouts/collection.ts +15 -0
  416. package/test/unit/spec/breakouts/edit-lock-error.ts +30 -0
  417. package/test/unit/spec/breakouts/events.ts +77 -0
  418. package/test/unit/spec/breakouts/index.ts +1790 -0
  419. package/test/unit/spec/breakouts/request.ts +104 -0
  420. package/test/unit/spec/breakouts/utils.js +72 -0
  421. package/test/unit/spec/controls-options-manager/index.js +287 -0
  422. package/test/unit/spec/controls-options-manager/util.js +518 -0
  423. package/test/unit/spec/fixture/locus.js +1 -0
  424. package/test/unit/spec/locus-info/controlsUtils.js +303 -30
  425. package/test/unit/spec/locus-info/index.js +615 -4
  426. package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
  427. package/test/unit/spec/locus-info/selfConstant.js +38 -0
  428. package/test/unit/spec/locus-info/selfUtils.js +200 -0
  429. package/test/unit/spec/media/index.ts +118 -22
  430. package/test/unit/spec/media/properties.ts +9 -9
  431. package/test/unit/spec/meeting/in-meeting-actions.ts +76 -0
  432. package/test/unit/spec/meeting/index.js +2394 -1381
  433. package/test/unit/spec/meeting/locusMediaRequest.ts +436 -0
  434. package/test/unit/spec/meeting/muteState.js +370 -208
  435. package/test/unit/spec/meeting/request.js +354 -42
  436. package/test/unit/spec/meeting/utils.js +268 -156
  437. package/test/unit/spec/meeting-info/meetinginfov2.js +383 -5
  438. package/test/unit/spec/meeting-info/utilv2.js +21 -0
  439. package/test/unit/spec/meetings/collection.js +14 -0
  440. package/test/unit/spec/meetings/index.js +842 -128
  441. package/test/unit/spec/meetings/utils.js +206 -2
  442. package/test/unit/spec/member/index.js +24 -0
  443. package/test/unit/spec/member/util.js +384 -32
  444. package/test/unit/spec/members/index.js +320 -1
  445. package/test/unit/spec/members/request.js +206 -27
  446. package/test/unit/spec/members/utils.js +184 -0
  447. package/test/unit/spec/metrics/index.js +98 -0
  448. package/test/unit/spec/multistream/mediaRequestManager.ts +676 -105
  449. package/test/unit/spec/multistream/receiveSlot.ts +77 -18
  450. package/test/unit/spec/multistream/receiveSlotManager.ts +69 -39
  451. package/test/unit/spec/multistream/remoteMedia.ts +32 -2
  452. package/test/unit/spec/multistream/remoteMediaGroup.ts +271 -5
  453. package/test/unit/spec/multistream/remoteMediaManager.ts +672 -65
  454. package/test/unit/spec/networkQualityMonitor/index.js +4 -4
  455. package/test/unit/spec/reachability/index.ts +176 -25
  456. package/test/unit/spec/reachability/request.js +66 -0
  457. package/test/unit/spec/reconnection-manager/index.js +46 -13
  458. package/test/unit/spec/recording-controller/index.js +231 -0
  459. package/test/unit/spec/recording-controller/util.js +102 -0
  460. package/test/unit/spec/roap/index.ts +21 -51
  461. package/test/unit/spec/roap/request.ts +187 -0
  462. package/test/unit/spec/roap/turnDiscovery.ts +73 -34
  463. package/test/unit/spec/stats-analyzer/index.js +94 -43
  464. package/test/utils/constants.js +9 -0
  465. package/test/utils/integrationTestUtils.js +46 -0
  466. package/test/utils/testUtils.js +0 -45
  467. package/test/utils/webex-config.js +4 -0
  468. package/test/utils/webex-test-users.js +7 -3
  469. package/tsconfig.json +6 -0
  470. package/dist/media/internal-media-core-wrapper.js +0 -22
  471. package/dist/media/internal-media-core-wrapper.js.map +0 -1
  472. package/dist/meeting/effectsState.js +0 -334
  473. package/dist/meeting/effectsState.js.map +0 -1
  474. package/dist/multistream/multistreamMedia.js +0 -117
  475. package/dist/multistream/multistreamMedia.js.map +0 -1
  476. package/src/index.js +0 -15
  477. package/src/media/internal-media-core-wrapper.ts +0 -9
  478. package/src/meeting/effectsState.ts +0 -211
  479. package/src/multistream/multistreamMedia.ts +0 -93
  480. package/test/unit/spec/meeting/effectsState.js +0 -281
@@ -0,0 +1,77 @@
1
+ import { StatelessWebexPlugin } from '@webex/webex-core';
2
+ import Meeting from '../meeting';
3
+ /**
4
+ * Roap options
5
+ * @typedef {Object} RoapOptions
6
+ * @property {String} sdp
7
+ * @property {Meeting} meeting
8
+ * @property {Number} seq
9
+ * @property {Number} tieBreaker
10
+ * @property {Boolean} reconnect
11
+ */
12
+ /**
13
+ * @typedef {Object} SeqOptions
14
+ * @property {String} correlationId
15
+ * @property {String} mediaId
16
+ * @property {Number} seq
17
+ */
18
+ /**
19
+ * @class Roap
20
+ * @export
21
+ * @private
22
+ */
23
+ export default class Roap extends StatelessWebexPlugin {
24
+ attrs: any;
25
+ lastRoapOffer: any;
26
+ options: any;
27
+ roapHandler: any;
28
+ roapRequest: any;
29
+ turnDiscovery: any;
30
+ /**
31
+ *
32
+ * @param {Object} attrs
33
+ * @param {Object} options
34
+ */
35
+ constructor(attrs: any, options: any);
36
+ /**
37
+ *
38
+ * @param {SeqOptions} options
39
+ * @returns {null}
40
+ * @memberof Roap
41
+ */
42
+ sendRoapOK(options: any): Promise<any>;
43
+ /**
44
+ * Sends a ROAP answer...
45
+ * @param {SeqOptions} options
46
+ * @param {Boolean} options.audioMuted
47
+ * @param {Boolean} options.videoMuted
48
+ * @returns {Promise}
49
+ * @memberof Roap
50
+ */
51
+ sendRoapAnswer(options: any): any;
52
+ /**
53
+ * Sends a ROAP error...
54
+ * @param {Object} options
55
+ * @returns {Promise}
56
+ * @memberof Roap
57
+ */
58
+ sendRoapError(options: any): any;
59
+ /**
60
+ * sends a roap media request
61
+ * @param {RoapOptions} options
62
+ * @returns {Promise}
63
+ * @memberof Roap
64
+ */
65
+ sendRoapMediaRequest(options: any): any;
66
+ /**
67
+ * Performs a TURN server discovery procedure, which involves exchanging
68
+ * some roap messages with the server. This exchange has to be done before
69
+ * any other roap messages are sent
70
+ *
71
+ * @param {Meeting} meeting
72
+ * @param {Boolean} isReconnecting should be set to true if this is a new
73
+ * media connection just after a reconnection
74
+ * @returns {Promise}
75
+ */
76
+ doTurnDiscovery(meeting: Meeting, isReconnecting: boolean): any;
77
+ }
@@ -0,0 +1,36 @@
1
+ import { StatelessWebexPlugin } from '@webex/webex-core';
2
+ import { LocusMediaRequest } from '../meeting/locusMediaRequest';
3
+ /**
4
+ * @class RoapRequest
5
+ */
6
+ export default class RoapRequest extends StatelessWebexPlugin {
7
+ /**
8
+ * Returns reachability data.
9
+ * @param {Object} localSdp
10
+ * @returns {Object}
11
+ */
12
+ attachReachabilityData(localSdp: any): Promise<{
13
+ localSdp: any;
14
+ joinCookie: any;
15
+ }>;
16
+ /**
17
+ * Sends a ROAP message
18
+ * @param {Object} options
19
+ * @param {Object} options.roapMessage
20
+ * @param {String} options.locusSelfUrl
21
+ * @param {String} options.mediaId
22
+ * @param {String} options.correlationId
23
+ * @param {String} options.meetingId
24
+ * @returns {Promise} returns the response/failure of the request
25
+ */
26
+ sendRoap(options: {
27
+ roapMessage: any;
28
+ locusSelfUrl: string;
29
+ mediaId: string;
30
+ meetingId: string;
31
+ locusMediaRequest?: LocusMediaRequest;
32
+ }): Promise<{
33
+ mediaConnections: any;
34
+ locus: any;
35
+ }>;
36
+ }
@@ -0,0 +1,91 @@
1
+ import RoapRequest from './request';
2
+ import Meeting from '../meeting';
3
+ /**
4
+ * Handles the process of finding out TURN server information from Linus.
5
+ * This is achieved by sending a TURN_DISCOVERY_REQUEST.
6
+ */
7
+ export default class TurnDiscovery {
8
+ private roapRequest;
9
+ private defer?;
10
+ private turnInfo;
11
+ private responseTimer?;
12
+ /**
13
+ * Constructor
14
+ *
15
+ * @param {RoapRequest} roapRequest
16
+ */
17
+ constructor(roapRequest: RoapRequest);
18
+ /**
19
+ * waits for TURN_DISCOVERY_RESPONSE message to arrive
20
+ *
21
+ * @returns {Promise}
22
+ * @private
23
+ * @memberof Roap
24
+ */
25
+ private waitForTurnDiscoveryResponse;
26
+ /**
27
+ * handles TURN_DISCOVERY_RESPONSE roap message
28
+ *
29
+ * @param {Object} roapMessage
30
+ * @returns {void}
31
+ * @public
32
+ * @memberof Roap
33
+ */
34
+ handleTurnDiscoveryResponse(roapMessage: object): void;
35
+ /**
36
+ * sends the TURN_DISCOVERY_REQUEST roap request
37
+ *
38
+ * @param {Meeting} meeting
39
+ * @param {Boolean} isReconnecting
40
+ * @returns {Promise}
41
+ * @private
42
+ * @memberof Roap
43
+ */
44
+ sendRoapTurnDiscoveryRequest(meeting: Meeting, isReconnecting: boolean): Promise<void>;
45
+ /**
46
+ * Sends the OK message that server expects to receive
47
+ * after it sends us TURN_DISCOVERY_RESPONSE
48
+ *
49
+ * @param {Meeting} meeting
50
+ * @returns {Promise}
51
+ */
52
+ sendRoapOK(meeting: Meeting): Promise<{
53
+ mediaConnections: any;
54
+ locus: any;
55
+ }>;
56
+ /**
57
+ * Gets the reason why reachability is skipped.
58
+ *
59
+ * @param {Meeting} meeting
60
+ * @returns {Promise<string>} Promise with empty string if reachability is not skipped or a reason if it is skipped
61
+ */
62
+ private getSkipReason;
63
+ /**
64
+ * Checks if TURN discovery is skipped.
65
+ *
66
+ * @param {Meeting} meeting
67
+ * @returns {Boolean} true if TURN discovery is being skipped, false if it is being done
68
+ */
69
+ isSkipped(meeting: any): Promise<boolean>;
70
+ /**
71
+ * Retrieves TURN server information from the backend by doing
72
+ * a roap message exchange:
73
+ * client server
74
+ * | -----TURN_DISCOVERY_REQUEST-----> |
75
+ * | <----TURN_DISCOVERY_RESPONSE----- |
76
+ * | --------------OK----------------> |
77
+ *
78
+ * This TURN discovery roap exchange is always done with seq=0.
79
+ * The RoapMediaConnection SDP exchange always starts with seq=1,
80
+ * so it works fine no matter if TURN discovery is done or not.
81
+ *
82
+ * @param {Meeting} meeting
83
+ * @param {Boolean} isReconnecting should be set to true if this is a new
84
+ * media connection just after a reconnection
85
+ * @returns {Promise}
86
+ */
87
+ doTurnDiscovery(meeting: Meeting, isReconnecting?: boolean): Promise<{
88
+ turnServerInfo: any;
89
+ turnDiscoverySkippedReason: any;
90
+ }>;
91
+ }
@@ -0,0 +1,36 @@
1
+ declare const STATS_DEFAULT: {
2
+ encryption: string;
3
+ bandwidth: {
4
+ systemBandwidth: number;
5
+ sentPerSecond: number;
6
+ encodedPerSecond: number;
7
+ helper: {
8
+ audioBytesSent: number;
9
+ videoBytestSent: number;
10
+ };
11
+ speed: number;
12
+ };
13
+ results: {};
14
+ connectionType: {
15
+ systemNetworkType: string;
16
+ systemIpAddress: string;
17
+ local: {
18
+ candidateType: any[];
19
+ transport: any[];
20
+ ipAddress: any[];
21
+ networkType: any[];
22
+ };
23
+ remote: {
24
+ candidateType: any[];
25
+ transport: any[];
26
+ ipAddress: any[];
27
+ networkType: any[];
28
+ };
29
+ };
30
+ resolutions: {};
31
+ internal: {
32
+ remote: {};
33
+ candidates: {};
34
+ };
35
+ };
36
+ export default STATS_DEFAULT;
@@ -0,0 +1,200 @@
1
+ /// <reference types="node" />
2
+ import EventsScope from '../common/events/events-scope';
3
+ import { ReceiveSlot } from '../multistream/receiveSlot';
4
+ export declare const EVENTS: {
5
+ MEDIA_QUALITY: string;
6
+ LOCAL_MEDIA_STARTED: string;
7
+ LOCAL_MEDIA_STOPPED: string;
8
+ REMOTE_MEDIA_STARTED: string;
9
+ REMOTE_MEDIA_STOPPED: string;
10
+ };
11
+ type ReceiveSlotCallback = (csi: number) => ReceiveSlot | undefined;
12
+ /**
13
+ * Stats Analyzer class that will emit events based on detected quality
14
+ *
15
+ * @export
16
+ * @class StatsAnalyzer
17
+ * @extends {EventsScope}
18
+ */
19
+ export declare class StatsAnalyzer extends EventsScope {
20
+ config: any;
21
+ correlationId: any;
22
+ lastEmittedStartStopEvent: any;
23
+ lastMqaDataSent: any;
24
+ lastStatsResults: any;
25
+ meetingMediaStatus: any;
26
+ mqaInterval: NodeJS.Timeout;
27
+ mqaSentCount: any;
28
+ networkQualityMonitor: any;
29
+ mediaConnection: any;
30
+ statsInterval: NodeJS.Timeout;
31
+ statsResults: any;
32
+ statsStarted: any;
33
+ receiveSlotCallback: ReceiveSlotCallback;
34
+ /**
35
+ * Creates a new instance of StatsAnalyzer
36
+ * @constructor
37
+ * @public
38
+ * @param {Object} config SDK Configuration Object
39
+ * @param {Function} receiveSlotCallback Callback used to access receive slots.
40
+ * @param {Object} networkQualityMonitor class for assessing network characteristics (jitter, packetLoss, latency)
41
+ * @param {Object} statsResults Default properties for stats
42
+ */
43
+ constructor(config: any, receiveSlotCallback?: ReceiveSlotCallback, networkQualityMonitor?: object, statsResults?: object);
44
+ /**
45
+ * Resets cumulative stats arrays.
46
+ *
47
+ * @public
48
+ * @memberof StatsAnalyzer
49
+ * @returns {void}
50
+ */
51
+ resetStatsResults(): void;
52
+ /**
53
+ * sets mediaStatus status for analyzing metrics
54
+ *
55
+ * @public
56
+ * @param {Object} status for the audio and video
57
+ * @memberof StatsAnalyzer
58
+ * @returns {void}
59
+ */
60
+ updateMediaStatus(status: object): void;
61
+ /**
62
+ * captures MQA data from media connection
63
+ *
64
+ * @public
65
+ * @memberof StatsAnalyzer
66
+ * @returns {void}
67
+ */
68
+ sendMqaData(): void;
69
+ /**
70
+ * updated the media connection when changed
71
+ *
72
+ * @private
73
+ * @memberof StatsAnalyzer
74
+ * @param {RoapMediaConnection} mediaConnection
75
+ * @returns {void}
76
+ */
77
+ updateMediaConnection(mediaConnection: any): void;
78
+ /**
79
+ * Starts the stats analyzer on interval
80
+ *
81
+ * @public
82
+ * @memberof StatsAnalyzer
83
+ * @param {RoapMediaConnection} mediaConnection
84
+ * @returns {Promise}
85
+ */
86
+ startAnalyzer(mediaConnection: any): any;
87
+ /**
88
+ * Cleans up the analyzer when done
89
+ *
90
+ * @public
91
+ * @memberof StatsAnalyzer
92
+ * @returns {void}
93
+ */
94
+ stopAnalyzer(): any;
95
+ /**
96
+ * Parse a single result of get stats
97
+ *
98
+ * @private
99
+ * @param {*} getStatsResult
100
+ * @param {String} type
101
+ * @param {boolean} isSender
102
+ * @returns {void}
103
+ * @memberof StatsAnalyzer
104
+ */
105
+ private parseGetStatsResult;
106
+ /**
107
+ * Filters the get stats results for types
108
+ * @private
109
+ * @param {Array} statsItem
110
+ * @param {String} type
111
+ * @param {boolean} isSender
112
+ * @returns {void}
113
+ */
114
+ filterAndParseGetStatsResults(statsItem: any, type: string, isSender: boolean): void;
115
+ /**
116
+ * parse the audio
117
+ * @param {String} result
118
+ * @param {boolean} type
119
+ * @returns {void}
120
+ */
121
+ parseAudioSource(result: any, type: any): void;
122
+ /**
123
+ * emits started/stopped events for local/remote media by checking
124
+ * if given values are increasing or not. The previousValue, currentValue
125
+ * params can be any numerical value like number of receive packets or
126
+ * decoded frames, etc.
127
+ *
128
+ * @private
129
+ * @param {string} mediaType
130
+ * @param {number} previousValue - value to compare
131
+ * @param {number} currentValue - value to compare (must be same type of value as previousValue)
132
+ * @param {boolean} isLocal - true if stats are for local media being sent out, false for remote media being received
133
+ * @memberof StatsAnalyzer
134
+ * @returns {void}
135
+ */
136
+ emitStartStopEvents: (mediaType: string, previousValue: number, currentValue: number, isLocal: boolean) => void;
137
+ /**
138
+ * compares current and previous stats to check if packets are not sent
139
+ *
140
+ * @private
141
+ * @memberof StatsAnalyzer
142
+ * @returns {void}
143
+ */
144
+ private compareLastStatsResult;
145
+ /**
146
+ * Does a `getStats` on all the transceivers and parses the results
147
+ *
148
+ * @private
149
+ * @memberof StatsAnalyzer
150
+ * @returns {Promise}
151
+ */
152
+ private getStatsAndParse;
153
+ /**
154
+ * Processes OutboundRTP stats result and stores
155
+ * @private
156
+ * @param {*} result
157
+ * @param {*} mediaType
158
+ * @returns {void}
159
+ */
160
+ private processOutboundRTPResult;
161
+ /**
162
+ * Processes InboundRTP stats result and stores
163
+ * @private
164
+ * @param {*} result
165
+ * @param {*} mediaType
166
+ * @returns {void}
167
+ */
168
+ private processInboundRTPResult;
169
+ /**
170
+ * Processes remote and local candidate result and stores
171
+ * @private
172
+ * @param {*} result
173
+ * @param {*} type
174
+ * @param {boolean} isSender
175
+ * @param {boolean} isRemote
176
+ *
177
+ * @returns {void}
178
+ */
179
+ parseCandidate: (result: any, type: any, isSender: boolean, isRemote: boolean) => void;
180
+ /**
181
+ * Process Track results
182
+ *
183
+ * @private
184
+ * @param {*} result
185
+ * @param {*} mediaType
186
+ * @returns {void}
187
+ * @memberof StatsAnalyzer
188
+ */
189
+ private processTrackResult;
190
+ /**
191
+ *
192
+ * @private
193
+ * @param {*} result
194
+ * @param {*} type
195
+ * @returns {void}
196
+ * @memberof StatsAnalyzer
197
+ */
198
+ compareSentAndReceived(result: any, type: any): void;
199
+ }
200
+ export {};
@@ -0,0 +1,24 @@
1
+ export declare const getAudioReceiverMqa: ({ audioReceiver, statsResults, lastMqaDataSent, mediaType }: {
2
+ audioReceiver: any;
3
+ statsResults: any;
4
+ lastMqaDataSent: any;
5
+ mediaType: any;
6
+ }) => void;
7
+ export declare const getAudioSenderMqa: ({ audioSender, statsResults, lastMqaDataSent, mediaType }: {
8
+ audioSender: any;
9
+ statsResults: any;
10
+ lastMqaDataSent: any;
11
+ mediaType: any;
12
+ }) => void;
13
+ export declare const getVideoReceiverMqa: ({ videoReceiver, statsResults, lastMqaDataSent, mediaType }: {
14
+ videoReceiver: any;
15
+ statsResults: any;
16
+ lastMqaDataSent: any;
17
+ mediaType: any;
18
+ }) => void;
19
+ export declare const getVideoSenderMqa: ({ videoSender, statsResults, lastMqaDataSent, mediaType }: {
20
+ videoSender: any;
21
+ statsResults: any;
22
+ lastMqaDataSent: any;
23
+ mediaType: any;
24
+ }) => void;
@@ -0,0 +1,64 @@
1
+ /**
2
+ * @description Meeting Webex assistance transcription feature.
3
+ * @exports
4
+ * @class Transcription
5
+ */
6
+ export default class Transcription {
7
+ webSocketUrl: any;
8
+ sessionID: any;
9
+ members: any;
10
+ memberCSIs: any;
11
+ webSocket: any;
12
+ /**
13
+ * @param {string} webSocketUrl
14
+ * @param {sessionID} sessionId
15
+ * @param {object} members
16
+ * @constructor
17
+ * @memberof Transcription
18
+ */
19
+ constructor(webSocketUrl: string, sessionId: any, members: object);
20
+ /**
21
+ * open the Low Latency Mercury connection
22
+ * An event parameter will be send to the callback.
23
+ *
24
+ * @param {string} token
25
+ * @param {string} sessionID
26
+ * @returns {void}
27
+ */
28
+ connect(token: string): void;
29
+ /**
30
+ * Sets callback to invoke when the web socket connection is closed.
31
+ *
32
+ * @param {Function} callback
33
+ * @returns {void}
34
+ */
35
+ onCloseSocket(callback: any): void;
36
+ /**
37
+ * Sets callback to invoke when a web socket connection error occurs.
38
+ * An event parameter will be send to the callback.
39
+ *
40
+ * @param {Function} callback
41
+ * @returns {void}
42
+ */
43
+ onErrorSocket(callback: any): void;
44
+ /**
45
+ * Get current speaker from the given csis payload and update the global csis map
46
+ *
47
+ * @private
48
+ * @param {object} csis
49
+ * @returns {object}
50
+ */
51
+ private getSpeaker;
52
+ /**
53
+ * Sends transcription data to given callback as it arrives.
54
+ *
55
+ * @param {Function} callback
56
+ * @returns {void}
57
+ */
58
+ subscribe(callback: any): void;
59
+ /**
60
+ * Close the LLM web socket connection
61
+ * @returns {void}
62
+ */
63
+ closeSocket(): void;
64
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/plugin-meetings",
3
- "version": "3.0.0-beta.15",
3
+ "version": "3.0.0-beta.151",
4
4
  "description": "",
5
5
  "license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)",
6
6
  "contributors": [
@@ -12,6 +12,7 @@
12
12
  "Taymoor Khan <taykhan@cisco.com>"
13
13
  ],
14
14
  "main": "dist/index.js",
15
+ "types": "dist/types/index.d.ts",
15
16
  "devMain": "src/index.js",
16
17
  "repository": {
17
18
  "type": "git",
@@ -27,32 +28,38 @@
27
28
  "envify"
28
29
  ]
29
30
  },
31
+ "scripts": {
32
+ "build": "yarn run -T tsc --declaration true --declarationDir ./dist/types"
33
+ },
30
34
  "devDependencies": {
31
- "@webex/plugin-meetings": "3.0.0-beta.15",
32
- "@webex/test-helper-chai": "3.0.0-beta.15",
33
- "@webex/test-helper-mocha": "3.0.0-beta.15",
34
- "@webex/test-helper-mock-webex": "3.0.0-beta.15",
35
- "@webex/test-helper-retry": "3.0.0-beta.15",
36
- "@webex/test-helper-test-users": "3.0.0-beta.15",
35
+ "@webex/plugin-meetings": "3.0.0-beta.151",
36
+ "@webex/test-helper-chai": "3.0.0-beta.151",
37
+ "@webex/test-helper-mocha": "3.0.0-beta.151",
38
+ "@webex/test-helper-mock-webex": "3.0.0-beta.151",
39
+ "@webex/test-helper-retry": "3.0.0-beta.151",
40
+ "@webex/test-helper-test-users": "3.0.0-beta.151",
37
41
  "chai": "^4.3.4",
38
42
  "chai-as-promised": "^7.1.1",
39
43
  "jsdom-global": "3.0.2",
40
44
  "sinon": "^9.2.4",
41
- "typed-emitter": "^2.1.0"
45
+ "typed-emitter": "^2.1.0",
46
+ "typescript": "^4.7.4"
42
47
  },
43
48
  "dependencies": {
44
- "@webex/common": "3.0.0-beta.15",
45
- "@webex/internal-media-core": "^0.0.17-beta",
46
- "@webex/internal-plugin-conversation": "3.0.0-beta.15",
47
- "@webex/internal-plugin-device": "3.0.0-beta.15",
48
- "@webex/internal-plugin-llm": "3.0.0-beta.15",
49
- "@webex/internal-plugin-mercury": "3.0.0-beta.15",
50
- "@webex/internal-plugin-metrics": "3.0.0-beta.15",
51
- "@webex/internal-plugin-support": "3.0.0-beta.15",
52
- "@webex/internal-plugin-user": "3.0.0-beta.15",
53
- "@webex/plugin-people": "3.0.0-beta.15",
54
- "@webex/plugin-rooms": "3.0.0-beta.15",
55
- "@webex/webex-core": "3.0.0-beta.15",
49
+ "@webex/common": "3.0.0-beta.151",
50
+ "@webex/internal-media-core": "1.38.3",
51
+ "@webex/internal-plugin-conversation": "3.0.0-beta.151",
52
+ "@webex/internal-plugin-device": "3.0.0-beta.151",
53
+ "@webex/internal-plugin-llm": "3.0.0-beta.151",
54
+ "@webex/internal-plugin-mercury": "3.0.0-beta.151",
55
+ "@webex/internal-plugin-metrics": "3.0.0-beta.151",
56
+ "@webex/internal-plugin-support": "3.0.0-beta.151",
57
+ "@webex/internal-plugin-user": "3.0.0-beta.151",
58
+ "@webex/media-helpers": "3.0.0-beta.151",
59
+ "@webex/plugin-people": "3.0.0-beta.151",
60
+ "@webex/plugin-rooms": "3.0.0-beta.151",
61
+ "@webex/webex-core": "3.0.0-beta.151",
62
+ "ampersand-collection": "^2.0.2",
56
63
  "bowser": "^2.11.0",
57
64
  "btoa": "^1.2.1",
58
65
  "dotenv": "^4.0.0",
@@ -62,6 +69,6 @@
62
69
  "lodash": "^4.17.21",
63
70
  "sdp-transform": "^2.12.0",
64
71
  "uuid": "^3.3.2",
65
- "webrtc-adapter": "^7.7.0"
72
+ "webrtc-adapter": "^8.1.2"
66
73
  }
67
74
  }
@@ -0,0 +1,52 @@
1
+ import {ANNOTATION_POLICY} from './constants';
2
+
3
+ /**
4
+ * Type for an StrokeData Object
5
+ */
6
+ type StrokeData = {
7
+ deviceId: string;
8
+ toUserId: string;
9
+ requesterId: string;
10
+ content: string;
11
+ shareInstanceId: string;
12
+ encryptionKeyUrl: string;
13
+ version: string;
14
+ };
15
+
16
+ type RequestData = {
17
+ toUserId: string;
18
+ toDeviceUrl: string;
19
+ shareInstanceId: string;
20
+ };
21
+
22
+ type CommandRequestBody = {
23
+ actionType: string;
24
+ resourceType: string;
25
+ shareInstanceId: string;
26
+ receivers?: any[];
27
+ };
28
+ /**
29
+ * Type for an annotation Object include annotation version and privilege
30
+ */
31
+ type AnnotationInfo = {
32
+ version: string;
33
+ policy: ANNOTATION_POLICY;
34
+ };
35
+
36
+ interface IAnnotationChannel {
37
+ // === below is for presenter
38
+ acceptRequest: (approval) => undefined | Promise<void>;
39
+ declineRequest: (approval) => undefined | Promise<void>;
40
+ closeAnnotation: (requestData: RequestData) => undefined | Promise<void>;
41
+ // change annotation privilege
42
+ changeAnnotationOptions: (remoteShareUrl, annotationInfo) => undefined | Promise<void>;
43
+ // === below is for attendee
44
+ approveAnnotation: (requestData: RequestData) => undefined | Promise<void>;
45
+ cancelApproveAnnotation: (requestData: RequestData, approval) => undefined | Promise<void>;
46
+ sendStrokeData: (strokeData: StrokeData) => void;
47
+ // =====
48
+ approvalUrlUpdate: (approvalUrl: string) => void;
49
+ locusUrlUpdate: (locusUrl: string) => void;
50
+ }
51
+
52
+ export type {StrokeData, RequestData, CommandRequestBody, IAnnotationChannel, AnnotationInfo};