@webex/plugin-meetings 3.0.0-test.1 → 3.1.0-next.1

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 (331) hide show
  1. package/.eslintrc.js +6 -0
  2. package/babel.config.js +3 -0
  3. package/dist/annotation/constants.js +12 -20
  4. package/dist/annotation/constants.js.map +1 -1
  5. package/dist/annotation/index.js +25 -10
  6. package/dist/annotation/index.js.map +1 -1
  7. package/dist/breakouts/breakout.js +2 -3
  8. package/dist/breakouts/breakout.js.map +1 -1
  9. package/dist/breakouts/collection.js +1 -2
  10. package/dist/breakouts/collection.js.map +1 -1
  11. package/dist/breakouts/edit-lock-error.js +1 -2
  12. package/dist/breakouts/edit-lock-error.js.map +1 -1
  13. package/dist/breakouts/events.js +1 -2
  14. package/dist/breakouts/events.js.map +1 -1
  15. package/dist/breakouts/index.js +13 -14
  16. package/dist/breakouts/index.js.map +1 -1
  17. package/dist/breakouts/request.js +1 -2
  18. package/dist/breakouts/request.js.map +1 -1
  19. package/dist/breakouts/utils.js +3 -6
  20. package/dist/breakouts/utils.js.map +1 -1
  21. package/dist/common/browser-detection.js +2 -3
  22. package/dist/common/browser-detection.js.map +1 -1
  23. package/dist/common/collection.js +3 -4
  24. package/dist/common/collection.js.map +1 -1
  25. package/dist/common/config.js +1 -2
  26. package/dist/common/config.js.map +1 -1
  27. package/dist/common/errors/captcha-error.js +1 -2
  28. package/dist/common/errors/captcha-error.js.map +1 -1
  29. package/dist/common/errors/intent-to-join.js +1 -2
  30. package/dist/common/errors/intent-to-join.js.map +1 -1
  31. package/dist/common/errors/join-meeting.js +1 -2
  32. package/dist/common/errors/join-meeting.js.map +1 -1
  33. package/dist/common/errors/media.js +1 -2
  34. package/dist/common/errors/media.js.map +1 -1
  35. package/dist/common/errors/no-meeting-info.js +1 -2
  36. package/dist/common/errors/no-meeting-info.js.map +1 -1
  37. package/dist/common/errors/parameter.js +3 -4
  38. package/dist/common/errors/parameter.js.map +1 -1
  39. package/dist/common/errors/password-error.js +1 -2
  40. package/dist/common/errors/password-error.js.map +1 -1
  41. package/dist/common/errors/permission.js +1 -2
  42. package/dist/common/errors/permission.js.map +1 -1
  43. package/dist/common/errors/reclaim-host-role-errors.js +6 -10
  44. package/dist/common/errors/reclaim-host-role-errors.js.map +1 -1
  45. package/dist/common/errors/reconnection-in-progress.js +1 -2
  46. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  47. package/dist/common/errors/reconnection.js +1 -2
  48. package/dist/common/errors/reconnection.js.map +1 -1
  49. package/dist/common/errors/stats.js +1 -2
  50. package/dist/common/errors/stats.js.map +1 -1
  51. package/dist/common/errors/webex-errors.js +14 -15
  52. package/dist/common/errors/webex-errors.js.map +1 -1
  53. package/dist/common/errors/webex-meetings-error.js +1 -2
  54. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  55. package/dist/common/events/events-scope.js +1 -2
  56. package/dist/common/events/events-scope.js.map +1 -1
  57. package/dist/common/events/events.js +1 -2
  58. package/dist/common/events/events.js.map +1 -1
  59. package/dist/common/events/trigger-proxy.js +1 -2
  60. package/dist/common/events/trigger-proxy.js.map +1 -1
  61. package/dist/common/events/util.js +1 -2
  62. package/dist/common/events/util.js.map +1 -1
  63. package/dist/common/logs/logger-config.js +1 -2
  64. package/dist/common/logs/logger-config.js.map +1 -1
  65. package/dist/common/logs/logger-proxy.js +1 -2
  66. package/dist/common/logs/logger-proxy.js.map +1 -1
  67. package/dist/common/logs/request.js +3 -4
  68. package/dist/common/logs/request.js.map +1 -1
  69. package/dist/common/queue.js +2 -4
  70. package/dist/common/queue.js.map +1 -1
  71. package/dist/config.js +4 -3
  72. package/dist/config.js.map +1 -1
  73. package/dist/constants.js +207 -380
  74. package/dist/constants.js.map +1 -1
  75. package/dist/controls-options-manager/constants.js +3 -6
  76. package/dist/controls-options-manager/constants.js.map +1 -1
  77. package/dist/controls-options-manager/enums.js +7 -10
  78. package/dist/controls-options-manager/enums.js.map +1 -1
  79. package/dist/controls-options-manager/index.js +27 -32
  80. package/dist/controls-options-manager/index.js.map +1 -1
  81. package/dist/controls-options-manager/util.js +1 -2
  82. package/dist/controls-options-manager/util.js.map +1 -1
  83. package/dist/index.js +71 -4
  84. package/dist/index.js.map +1 -1
  85. package/dist/interceptors/index.js.map +1 -1
  86. package/dist/interceptors/locusRetry.js +4 -3
  87. package/dist/interceptors/locusRetry.js.map +1 -1
  88. package/dist/interpretation/collection.js +1 -2
  89. package/dist/interpretation/collection.js.map +1 -1
  90. package/dist/interpretation/index.js +4 -5
  91. package/dist/interpretation/index.js.map +1 -1
  92. package/dist/interpretation/siLanguage.js +2 -3
  93. package/dist/interpretation/siLanguage.js.map +1 -1
  94. package/dist/locus-info/controlsUtils.js +12 -13
  95. package/dist/locus-info/controlsUtils.js.map +1 -1
  96. package/dist/locus-info/embeddedAppsUtils.js +3 -4
  97. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  98. package/dist/locus-info/fullState.js +1 -2
  99. package/dist/locus-info/fullState.js.map +1 -1
  100. package/dist/locus-info/hostUtils.js +1 -2
  101. package/dist/locus-info/hostUtils.js.map +1 -1
  102. package/dist/locus-info/index.js +23 -27
  103. package/dist/locus-info/index.js.map +1 -1
  104. package/dist/locus-info/infoUtils.js +3 -4
  105. package/dist/locus-info/infoUtils.js.map +1 -1
  106. package/dist/locus-info/mediaSharesUtils.js +16 -3
  107. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  108. package/dist/locus-info/parser.js +6 -10
  109. package/dist/locus-info/parser.js.map +1 -1
  110. package/dist/locus-info/selfUtils.js +12 -6
  111. package/dist/locus-info/selfUtils.js.map +1 -1
  112. package/dist/media/MediaConnectionAwaiter.js +163 -0
  113. package/dist/media/MediaConnectionAwaiter.js.map +1 -0
  114. package/dist/media/index.js +9 -5
  115. package/dist/media/index.js.map +1 -1
  116. package/dist/media/properties.js +7 -28
  117. package/dist/media/properties.js.map +1 -1
  118. package/dist/media/util.js +1 -2
  119. package/dist/media/util.js.map +1 -1
  120. package/dist/mediaQualityMetrics/config.js +9 -18
  121. package/dist/mediaQualityMetrics/config.js.map +1 -1
  122. package/dist/meeting/in-meeting-actions.js +14 -2
  123. package/dist/meeting/in-meeting-actions.js.map +1 -1
  124. package/dist/meeting/index.js +1411 -1036
  125. package/dist/meeting/index.js.map +1 -1
  126. package/dist/meeting/locusMediaRequest.js +4 -5
  127. package/dist/meeting/locusMediaRequest.js.map +1 -1
  128. package/dist/meeting/muteState.js +2 -4
  129. package/dist/meeting/muteState.js.map +1 -1
  130. package/dist/meeting/request.js +45 -36
  131. package/dist/meeting/request.js.map +1 -1
  132. package/dist/meeting/state.js +1 -2
  133. package/dist/meeting/state.js.map +1 -1
  134. package/dist/meeting/util.js +13 -10
  135. package/dist/meeting/util.js.map +1 -1
  136. package/dist/meeting/voicea-meeting.js +169 -0
  137. package/dist/meeting/voicea-meeting.js.map +1 -0
  138. package/dist/meeting-info/collection.js +3 -4
  139. package/dist/meeting-info/collection.js.map +1 -1
  140. package/dist/meeting-info/index.js +5 -4
  141. package/dist/meeting-info/index.js.map +1 -1
  142. package/dist/meeting-info/meeting-info-v2.js +27 -29
  143. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  144. package/dist/meeting-info/request.js +1 -2
  145. package/dist/meeting-info/request.js.map +1 -1
  146. package/dist/meeting-info/util.js +306 -269
  147. package/dist/meeting-info/util.js.map +1 -1
  148. package/dist/meeting-info/utilv2.js +336 -294
  149. package/dist/meeting-info/utilv2.js.map +1 -1
  150. package/dist/meetings/collection.js +5 -6
  151. package/dist/meetings/collection.js.map +1 -1
  152. package/dist/meetings/index.js +44 -17
  153. package/dist/meetings/index.js.map +1 -1
  154. package/dist/meetings/request.js +2 -3
  155. package/dist/meetings/request.js.map +1 -1
  156. package/dist/meetings/util.js +1 -4
  157. package/dist/meetings/util.js.map +1 -1
  158. package/dist/member/index.js +1 -3
  159. package/dist/member/index.js.map +1 -1
  160. package/dist/member/types.js +6 -8
  161. package/dist/member/types.js.map +1 -1
  162. package/dist/member/util.js +1 -2
  163. package/dist/member/util.js.map +1 -1
  164. package/dist/members/collection.js +1 -2
  165. package/dist/members/collection.js.map +1 -1
  166. package/dist/members/index.js +8 -7
  167. package/dist/members/index.js.map +1 -1
  168. package/dist/members/request.js +2 -3
  169. package/dist/members/request.js.map +1 -1
  170. package/dist/members/types.js +3 -4
  171. package/dist/members/types.js.map +1 -1
  172. package/dist/members/util.js +3 -4
  173. package/dist/members/util.js.map +1 -1
  174. package/dist/metrics/constants.js +1 -2
  175. package/dist/metrics/constants.js.map +1 -1
  176. package/dist/metrics/index.js +3 -2
  177. package/dist/metrics/index.js.map +1 -1
  178. package/dist/multistream/mediaRequestManager.js +9 -11
  179. package/dist/multistream/mediaRequestManager.js.map +1 -1
  180. package/dist/multistream/receiveSlot.js +3 -5
  181. package/dist/multistream/receiveSlot.js.map +1 -1
  182. package/dist/multistream/receiveSlotManager.js +7 -9
  183. package/dist/multistream/receiveSlotManager.js.map +1 -1
  184. package/dist/multistream/remoteMedia.js +3 -5
  185. package/dist/multistream/remoteMedia.js.map +1 -1
  186. package/dist/multistream/remoteMediaGroup.js +7 -6
  187. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  188. package/dist/multistream/remoteMediaManager.js +32 -29
  189. package/dist/multistream/remoteMediaManager.js.map +1 -1
  190. package/dist/multistream/sendSlotManager.js +9 -6
  191. package/dist/multistream/sendSlotManager.js.map +1 -1
  192. package/dist/networkQualityMonitor/index.js +1 -2
  193. package/dist/networkQualityMonitor/index.js.map +1 -1
  194. package/dist/personal-meeting-room/index.js +2 -3
  195. package/dist/personal-meeting-room/index.js.map +1 -1
  196. package/dist/personal-meeting-room/request.js +2 -3
  197. package/dist/personal-meeting-room/request.js.map +1 -1
  198. package/dist/personal-meeting-room/util.js +1 -2
  199. package/dist/personal-meeting-room/util.js.map +1 -1
  200. package/dist/reachability/clusterReachability.js +35 -20
  201. package/dist/reachability/clusterReachability.js.map +1 -1
  202. package/dist/reachability/index.js +41 -12
  203. package/dist/reachability/index.js.map +1 -1
  204. package/dist/reachability/request.js +25 -20
  205. package/dist/reachability/request.js.map +1 -1
  206. package/dist/reachability/util.js +19 -0
  207. package/dist/reachability/util.js.map +1 -1
  208. package/dist/reactions/constants.js +1 -2
  209. package/dist/reactions/constants.js.map +1 -1
  210. package/dist/reactions/reactions.js +2 -4
  211. package/dist/reactions/reactions.js.map +1 -1
  212. package/dist/reactions/reactions.type.js +6 -8
  213. package/dist/reactions/reactions.type.js.map +1 -1
  214. package/dist/reconnection-manager/index.js +18 -11
  215. package/dist/reconnection-manager/index.js.map +1 -1
  216. package/dist/recording-controller/enums.js +4 -5
  217. package/dist/recording-controller/enums.js.map +1 -1
  218. package/dist/recording-controller/index.js +43 -51
  219. package/dist/recording-controller/index.js.map +1 -1
  220. package/dist/recording-controller/util.js +1 -2
  221. package/dist/recording-controller/util.js.map +1 -1
  222. package/dist/roap/index.js +17 -3
  223. package/dist/roap/index.js.map +1 -1
  224. package/dist/roap/request.js +10 -10
  225. package/dist/roap/request.js.map +1 -1
  226. package/dist/roap/turnDiscovery.js +316 -134
  227. package/dist/roap/turnDiscovery.js.map +1 -1
  228. package/dist/rtcMetrics/constants.js +1 -2
  229. package/dist/rtcMetrics/constants.js.map +1 -1
  230. package/dist/rtcMetrics/index.js +4 -6
  231. package/dist/rtcMetrics/index.js.map +1 -1
  232. package/dist/statsAnalyzer/global.js +1 -2
  233. package/dist/statsAnalyzer/global.js.map +1 -1
  234. package/dist/statsAnalyzer/index.js +123 -96
  235. package/dist/statsAnalyzer/index.js.map +1 -1
  236. package/dist/statsAnalyzer/mqaUtil.js +24 -31
  237. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  238. package/dist/transcription/index.js +1 -2
  239. package/dist/transcription/index.js.map +1 -1
  240. package/dist/types/common/logs/request.d.ts +1 -1
  241. package/dist/types/config.d.ts +1 -0
  242. package/dist/types/constants.d.ts +10 -5
  243. package/dist/types/index.d.ts +11 -0
  244. package/dist/types/media/MediaConnectionAwaiter.d.ts +61 -0
  245. package/dist/types/meeting/index.d.ts +71 -16
  246. package/dist/types/meeting/request.d.ts +3 -0
  247. package/dist/types/meeting/util.d.ts +1 -0
  248. package/dist/types/meeting/voicea-meeting.d.ts +16 -0
  249. package/dist/types/meeting-info/index.d.ts +1 -1
  250. package/dist/types/meeting-info/meeting-info-v2.d.ts +1 -1
  251. package/dist/types/meeting-info/util.d.ts +49 -2
  252. package/dist/types/meeting-info/utilv2.d.ts +65 -2
  253. package/dist/types/meetings/index.d.ts +11 -2
  254. package/dist/types/members/util.d.ts +1 -1
  255. package/dist/types/multistream/mediaRequestManager.d.ts +1 -2
  256. package/dist/types/multistream/remoteMediaGroup.d.ts +1 -1
  257. package/dist/types/multistream/remoteMediaManager.d.ts +1 -2
  258. package/dist/types/multistream/sendSlotManager.d.ts +1 -2
  259. package/dist/types/reachability/clusterReachability.d.ts +1 -0
  260. package/dist/types/reachability/index.d.ts +4 -0
  261. package/dist/types/reachability/util.d.ts +7 -0
  262. package/dist/types/roap/index.d.ts +10 -2
  263. package/dist/types/roap/turnDiscovery.d.ts +64 -17
  264. package/dist/webinar/collection.js +1 -2
  265. package/dist/webinar/collection.js.map +1 -1
  266. package/dist/webinar/index.js +2 -3
  267. package/dist/webinar/index.js.map +1 -1
  268. package/jest.config.js +3 -0
  269. package/package.json +44 -25
  270. package/process +1 -0
  271. package/src/config.ts +3 -4
  272. package/src/constants.ts +13 -4
  273. package/src/index.ts +27 -0
  274. package/src/interpretation/index.ts +2 -2
  275. package/src/locus-info/mediaSharesUtils.ts +16 -0
  276. package/src/locus-info/selfUtils.ts +5 -0
  277. package/src/media/MediaConnectionAwaiter.ts +174 -0
  278. package/src/media/index.ts +3 -1
  279. package/src/media/properties.ts +6 -31
  280. package/src/meeting/index.ts +526 -227
  281. package/src/meeting/request.ts +18 -2
  282. package/src/meeting/util.ts +6 -1
  283. package/src/meeting/voicea-meeting.ts +122 -0
  284. package/src/meeting-info/meeting-info-v2.ts +5 -11
  285. package/src/meeting-info/util.ts +244 -233
  286. package/src/meeting-info/utilv2.ts +262 -245
  287. package/src/meetings/index.ts +18 -0
  288. package/src/member/index.ts +0 -1
  289. package/src/multistream/mediaRequestManager.ts +1 -1
  290. package/src/multistream/remoteMediaGroup.ts +1 -1
  291. package/src/multistream/remoteMediaManager.ts +1 -2
  292. package/src/multistream/sendSlotManager.ts +1 -2
  293. package/src/reachability/clusterReachability.ts +20 -5
  294. package/src/reachability/index.ts +24 -1
  295. package/src/reachability/request.ts +15 -11
  296. package/src/reachability/util.ts +21 -0
  297. package/src/reconnection-manager/index.ts +1 -1
  298. package/src/roap/index.ts +25 -3
  299. package/src/roap/request.ts +2 -2
  300. package/src/roap/turnDiscovery.ts +244 -78
  301. package/src/statsAnalyzer/index.ts +63 -27
  302. package/test/integration/spec/journey.js +2 -2
  303. package/test/unit/spec/breakouts/breakout.ts +2 -1
  304. package/test/unit/spec/breakouts/index.ts +7 -4
  305. package/test/unit/spec/interpretation/index.ts +4 -1
  306. package/test/unit/spec/locus-info/index.js +27 -18
  307. package/test/unit/spec/locus-info/mediaSharesUtils.ts +9 -0
  308. package/test/unit/spec/locus-info/selfUtils.js +41 -11
  309. package/test/unit/spec/media/MediaConnectionAwaiter.ts +344 -0
  310. package/test/unit/spec/media/index.ts +94 -78
  311. package/test/unit/spec/media/properties.ts +16 -70
  312. package/test/unit/spec/meeting/index.js +757 -141
  313. package/test/unit/spec/meeting/request.js +21 -0
  314. package/test/unit/spec/meeting/utils.js +58 -11
  315. package/test/unit/spec/meeting/voicea-meeting.ts +266 -0
  316. package/test/unit/spec/meeting-info/meetinginfov2.js +20 -15
  317. package/test/unit/spec/meeting-info/utilv2.js +6 -0
  318. package/test/unit/spec/meetings/index.js +101 -13
  319. package/test/unit/spec/metrics/index.js +1 -2
  320. package/test/unit/spec/multistream/mediaRequestManager.ts +1 -0
  321. package/test/unit/spec/multistream/remoteMediaGroup.ts +0 -1
  322. package/test/unit/spec/multistream/remoteMediaManager.ts +0 -1
  323. package/test/unit/spec/reachability/clusterReachability.ts +86 -22
  324. package/test/unit/spec/reachability/index.ts +197 -60
  325. package/test/unit/spec/reachability/request.js +15 -7
  326. package/test/unit/spec/reachability/util.ts +32 -2
  327. package/test/unit/spec/reconnection-manager/index.js +28 -0
  328. package/test/unit/spec/recording-controller/index.js +0 -1
  329. package/test/unit/spec/roap/index.ts +61 -6
  330. package/test/unit/spec/roap/turnDiscovery.ts +299 -17
  331. package/test/unit/spec/stats-analyzer/index.js +179 -0
@@ -1,3 +1,4 @@
1
+ import { LocalCameraStream, LocalMicrophoneStream } from '@webex/media-helpers';
1
2
  import { SELF_POLICY, IP_VERSION } from '../constants';
2
3
  declare const MeetingUtil: {
3
4
  parseLocusJoin: (response: any) => any;
@@ -0,0 +1,16 @@
1
+ export declare const getSpeaker: (members: any, csis?: any[]) => unknown;
2
+ export declare const getSpeakerFromProxyOrStore: ({ csisKey, meetingMembers, transcriptData }: {
3
+ csisKey: any;
4
+ meetingMembers: any;
5
+ transcriptData: any;
6
+ }) => {
7
+ speaker: {
8
+ speakerId: string;
9
+ name: string;
10
+ };
11
+ needsCaching: boolean;
12
+ };
13
+ export declare const processNewCaptions: ({ data, meeting }: {
14
+ data: any;
15
+ meeting: any;
16
+ }) => void;
@@ -65,5 +65,5 @@ export default class MeetingInfo {
65
65
  }, installedOrgID?: any, locusId?: any, extraParams?: object, options?: {
66
66
  meetingId?: string;
67
67
  sendCAevents?: boolean;
68
- }): any;
68
+ }): Promise<any>;
69
69
  }
@@ -81,7 +81,7 @@ export default class MeetingInfoV2 {
81
81
  * @public
82
82
  * @memberof MeetingInfo
83
83
  */
84
- fetchInfoOptions(destination: string, type?: string): any;
84
+ fetchInfoOptions(destination: string, type?: string): Promise<any>;
85
85
  /**
86
86
  * Raises a MeetingInfoV2PolicyError for policy error codes
87
87
  * @param {any} err the error from the request
@@ -1,2 +1,49 @@
1
- declare const MeetingInfoUtil: any;
2
- export default MeetingInfoUtil;
1
+ /// <reference types="node" />
2
+ import url from 'url';
3
+ /**
4
+ * @class MeetingInfoUtil
5
+ */
6
+ export default class MeetingInfoUtil {
7
+ static extractDestination(destination: any, type: any): any;
8
+ static getParsedUrl(link: any): false | url.UrlWithStringQuery;
9
+ /**
10
+ * Helper function to check if a string matches a known meeting link pattern
11
+ * @param {String} value string to parse and see if it matches a meeting link
12
+ * @returns {Boolean}
13
+ */
14
+ static isMeetingLink(value: string): any;
15
+ static isConversationUrl(value: any, webex: any): any;
16
+ static convertLinkToSip(value: any): string;
17
+ static isSipUri(sipString: any): RegExpExecArray;
18
+ static isPhoneNumber(phoneNumber: any): boolean;
19
+ static getHydraId(destination: any): {
20
+ room: boolean;
21
+ destination: any;
22
+ cluster: any;
23
+ people?: undefined;
24
+ } | {
25
+ people: boolean;
26
+ destination: any;
27
+ cluster: any;
28
+ room?: undefined;
29
+ } | {
30
+ room?: undefined;
31
+ destination?: undefined;
32
+ cluster?: undefined;
33
+ people?: undefined;
34
+ };
35
+ static getSipUriFromHydraPersonId(destination: any, webex: any): any;
36
+ static generateOptions(from: any): Promise<any>;
37
+ /**
38
+ * Helper function to build up a correct locus url depending on the value passed
39
+ * @param {String} type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]
40
+ * @param {Object} value ?? value.value
41
+ * @returns {Object} returns an object with {resource, method}
42
+ */
43
+ static getResourceUrl(type: string, value: any): {
44
+ uri: any;
45
+ resource: string;
46
+ method: string;
47
+ };
48
+ static getRequestParams(resourceOptions: any, type: any, value: any, api: any): any;
49
+ }
@@ -1,2 +1,65 @@
1
- declare const MeetingInfoUtil: any;
2
- export default MeetingInfoUtil;
1
+ /// <reference types="node" />
2
+ import url from 'url';
3
+ /**
4
+ * @class MeetingInfoUtil
5
+ */
6
+ export default class MeetingInfoUtil {
7
+ static meetingInfoError: string;
8
+ static getParsedUrl(link: any): false | url.UrlWithStringQuery;
9
+ /**
10
+ * Helper function to check if a string matches a known meeting link pattern
11
+ * @param {String} value string to parse and see if it matches a meeting link
12
+ * @returns {Boolean}
13
+ */
14
+ static isMeetingLink(value: string): any;
15
+ static isConversationUrl(value: any, webex: any): any;
16
+ static isSipUri(sipString: any): RegExpExecArray;
17
+ static isPhoneNumber(phoneNumber: any): boolean;
18
+ static getHydraId(destination: any): {
19
+ room: boolean;
20
+ destination: any;
21
+ cluster: any;
22
+ people?: undefined;
23
+ } | {
24
+ people: boolean;
25
+ destination: any;
26
+ cluster: any;
27
+ room?: undefined;
28
+ } | {
29
+ room?: undefined;
30
+ destination?: undefined;
31
+ cluster?: undefined;
32
+ people?: undefined;
33
+ };
34
+ static getSipUriFromHydraPersonId(destination: any, webex: any): any;
35
+ static getDestinationType(from: any): Promise<any>;
36
+ /**
37
+ * Helper function to build up a correct locus url depending on the value passed
38
+ * @param {Object} options type and value to fetch meeting info
39
+ * @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]
40
+ * @param {String} options.installedOrgID org ID of user's machine
41
+ * @param {Object} options.destination ?? value.value
42
+ * @returns {Object} returns an object with {resource, method}
43
+ */
44
+ static getRequestBody(options: {
45
+ type: string;
46
+ destination: object;
47
+ } | any): any;
48
+ /**
49
+ * Helper function to parse the webex site/host from a URI string.
50
+ * @param {String} uri string (e.g. '10019857020@convergedats.webex.com')
51
+ * @returns {String} the site/host part of the URI string (e.g. 'convergedats.webex.com')
52
+ */
53
+ static getWebexSite(uri: string): string;
54
+ /**
55
+ * Helper function to return the direct URI for fetching meeting info (to avoid a redirect).
56
+ * @param {Object} options type and value to fetch meeting info
57
+ * @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]
58
+ * @param {Object} options.destination ?? value.value
59
+ * @returns {String} returns a URI string or null of there is no direct URI
60
+ */
61
+ static getDirectMeetingInfoURI(options: {
62
+ type: string;
63
+ destination: any;
64
+ }): string;
65
+ }
@@ -2,6 +2,7 @@ import '@webex/internal-plugin-mercury';
2
2
  import '@webex/internal-plugin-conversation';
3
3
  import '@webex/internal-plugin-metrics';
4
4
  import { WebexPlugin } from '@webex/webex-core';
5
+ import * as mediaHelpersModule from '@webex/media-helpers';
5
6
  import 'webrtc-adapter';
6
7
  import { CallStateForMetrics } from '../meeting';
7
8
  import Reachability from '../reachability';
@@ -175,6 +176,14 @@ export default class Meetings extends WebexPlugin {
175
176
  * @returns {undefined}
176
177
  */
177
178
  private _toggleTcpReachability;
179
+ /**
180
+ * API to toggle TLS reachability, needs to be called before webex.meetings.register()
181
+ * @param {Boolean} newValue
182
+ * @private
183
+ * @memberof Meetings
184
+ * @returns {undefined}
185
+ */
186
+ private _toggleTlsReachability;
178
187
  /**
179
188
  * Explicitly sets up the meetings plugin by registering
180
189
  * the device, connecting to mercury, and listening for locus events.
@@ -201,7 +210,7 @@ export default class Meetings extends WebexPlugin {
201
210
  * @public
202
211
  * @memberof Meetings
203
212
  */
204
- createNoiseReductionEffect: (options?: INoiseReductionEffect) => Promise<any>;
213
+ createNoiseReductionEffect: (options?: INoiseReductionEffect) => Promise<mediaHelpersModule.NoiseReductionEffect>;
205
214
  /**
206
215
  * Creates a virtual background effect
207
216
  *
@@ -210,7 +219,7 @@ export default class Meetings extends WebexPlugin {
210
219
  * @public
211
220
  * @memberof Meetings
212
221
  */
213
- createVirtualBackgroundEffect: (options?: IVirtualBackgroundEffect) => Promise<any>;
222
+ createVirtualBackgroundEffect: (options?: IVirtualBackgroundEffect) => Promise<mediaHelpersModule.VirtualBackgroundEffect>;
214
223
  /**
215
224
  * Uploads logs to the webex services for tracking
216
225
  * @param {Object} [options={}]
@@ -191,7 +191,7 @@ declare const MembersUtil: {
191
191
  };
192
192
  memberId: any;
193
193
  dtmf: {
194
- correlationId: any;
194
+ correlationId: string;
195
195
  tones: any;
196
196
  direction: string;
197
197
  };
@@ -1,5 +1,4 @@
1
- import { StreamRequest } from '@webex/internal-media-core';
2
- import { NamedMediaGroup } from '@webex/json-multistream';
1
+ import { StreamRequest, NamedMediaGroup } from '@webex/internal-media-core';
3
2
  import { ReceiveSlot } from './receiveSlot';
4
3
  export interface ActiveSpeakerPolicyInfo {
5
4
  policy: 'active-speaker';
@@ -1,4 +1,4 @@
1
- import { NamedMediaGroup } from '@webex/json-multistream';
1
+ import { NamedMediaGroup } from '@webex/internal-media-core';
2
2
  import { RemoteMedia, RemoteVideoResolution } from './remoteMedia';
3
3
  import { MediaRequestManager } from './mediaRequestManager';
4
4
  import { CSI, ReceiveSlot } from './receiveSlot';
@@ -1,6 +1,5 @@
1
1
  import { EventMap } from 'typed-emitter';
2
- import { MediaType } from '@webex/internal-media-core';
3
- import { NamedMediaGroup } from '@webex/json-multistream';
2
+ import { MediaType, NamedMediaGroup } from '@webex/internal-media-core';
4
3
  import EventsScope from '../common/events/events-scope';
5
4
  import { RemoteMedia, RemoteVideoResolution } from './remoteMedia';
6
5
  import { CSI } from './receiveSlot';
@@ -1,5 +1,4 @@
1
- import { SendSlot, MediaType, LocalStream, MultistreamRoapMediaConnection } from '@webex/internal-media-core';
2
- import { NamedMediaGroup } from '@webex/json-multistream';
1
+ import { SendSlot, MediaType, LocalStream, MultistreamRoapMediaConnection, NamedMediaGroup } from '@webex/internal-media-core';
3
2
  export default class SendSlotManager {
4
3
  private readonly slots;
5
4
  private readonly LoggerProxy;
@@ -15,6 +15,7 @@ export type ClusterReachabilityResult = {
15
15
  export declare class ClusterReachability {
16
16
  private numUdpUrls;
17
17
  private numTcpUrls;
18
+ private numXTlsUrls;
18
19
  private result;
19
20
  private pc?;
20
21
  private defer;
@@ -8,10 +8,14 @@ export type ReachabilityMetrics = {
8
8
  reachability_public_udp_failed: number;
9
9
  reachability_public_tcp_success: number;
10
10
  reachability_public_tcp_failed: number;
11
+ reachability_public_xtls_success: number;
12
+ reachability_public_xtls_failed: number;
11
13
  reachability_vmn_udp_success: number;
12
14
  reachability_vmn_udp_failed: number;
13
15
  reachability_vmn_tcp_success: number;
14
16
  reachability_vmn_tcp_failed: number;
17
+ reachability_vmn_xtls_success: number;
18
+ reachability_vmn_xtls_failed: number;
15
19
  };
16
20
  /**
17
21
  * This is the type that matches what backend expects us to send to them. It is a bit weird, because
@@ -6,3 +6,10 @@
6
6
  * @returns {string} url of a turn server
7
7
  */
8
8
  export declare function convertStunUrlToTurn(stunUrl: string, protocol: 'udp' | 'tcp'): string;
9
+ /**
10
+ * Converts a stun url to a turns url
11
+ *
12
+ * @param {string} stunUrl url of a stun server
13
+ * @returns {string} url of a turns server
14
+ */
15
+ export declare function convertStunUrlToTurnTls(stunUrl: string): string;
@@ -1,5 +1,7 @@
1
1
  import { StatelessWebexPlugin } from '@webex/webex-core';
2
+ import TurnDiscovery, { TurnDiscoveryResult } from './turnDiscovery';
2
3
  import Meeting from '../meeting';
4
+ export { type TurnDiscoveryResult, type TurnServerInfo, type TurnDiscoverySkipReason, } from './turnDiscovery';
3
5
  /**
4
6
  * Roap options
5
7
  * @typedef {Object} RoapOptions
@@ -26,7 +28,7 @@ export default class Roap extends StatelessWebexPlugin {
26
28
  options: any;
27
29
  roapHandler: any;
28
30
  roapRequest: any;
29
- turnDiscovery: any;
31
+ turnDiscovery: TurnDiscovery;
30
32
  /**
31
33
  *
32
34
  * @param {Object} attrs
@@ -74,5 +76,11 @@ export default class Roap extends StatelessWebexPlugin {
74
76
  * @param {Boolean} [isForced]
75
77
  * @returns {Promise}
76
78
  */
77
- doTurnDiscovery(meeting: Meeting, isReconnecting: boolean, isForced?: boolean): any;
79
+ doTurnDiscovery(meeting: Meeting, isReconnecting: boolean, isForced?: boolean): Promise<TurnDiscoveryResult>;
80
+ generateTurnDiscoveryRequestMessage(meeting: Meeting, isForced: boolean): Promise<{
81
+ roapMessage?: object;
82
+ turnDiscoverySkippedReason: string;
83
+ }>;
84
+ handleTurnDiscoveryHttpResponse(meeting: Meeting, httpResponse: object): Promise<TurnDiscoveryResult>;
85
+ abortTurnDiscovery(): void;
78
86
  }
@@ -1,5 +1,21 @@
1
+ import { Enum } from '../constants';
1
2
  import RoapRequest from './request';
2
3
  import Meeting from '../meeting';
4
+ declare const TurnDiscoverySkipReason: {
5
+ readonly missingHttpResponse: "missing http response";
6
+ readonly reachability: "reachability";
7
+ readonly alreadyInProgress: "already in progress";
8
+ };
9
+ export type TurnDiscoverySkipReason = Enum<typeof TurnDiscoverySkipReason> | string | undefined;
10
+ export type TurnServerInfo = {
11
+ url: string;
12
+ username: string;
13
+ password: string;
14
+ };
15
+ export type TurnDiscoveryResult = {
16
+ turnServerInfo?: TurnServerInfo;
17
+ turnDiscoverySkippedReason: TurnDiscoverySkipReason;
18
+ };
3
19
  /**
4
20
  * Handles the process of finding out TURN server information from Linus.
5
21
  * This is achieved by sending a TURN_DISCOVERY_REQUEST.
@@ -24,7 +40,8 @@ export default class TurnDiscovery {
24
40
  */
25
41
  private waitForTurnDiscoveryResponse;
26
42
  /**
27
- * handles TURN_DISCOVERY_RESPONSE roap message
43
+ * Handles TURN_DISCOVERY_RESPONSE roap message. Use it if the roap message comes over the websocket,
44
+ * otherwise use handleTurnDiscoveryHttpResponse() if it comes in the http response.
28
45
  *
29
46
  * @param {Object} roapMessage
30
47
  * @param {string} from string to indicate how we got the response (used just for logging)
@@ -34,13 +51,52 @@ export default class TurnDiscovery {
34
51
  */
35
52
  handleTurnDiscoveryResponse(roapMessage: any, from: string): void;
36
53
  /**
37
- * handles TURN_DISCOVERY_RESPONSE roap message that came in http response
54
+ * Generates TURN_DISCOVERY_REQUEST roap message. When this method returns a roapMessage, it means that a TURN discovery process has started.
55
+ * It needs be ended by calling handleTurnDiscoveryHttpResponse() once you get a response from the backend. If you don't get any response
56
+ * or want to abort, you need to call abort().
38
57
  *
39
- * @param {Object} roapMessage
40
- * @returns {Promise}
58
+ * @param {Meeting} meeting
59
+ * @param {boolean} isForced
60
+ * @returns {Object}
61
+ */
62
+ generateTurnDiscoveryRequestMessage(meeting: Meeting, isForced: boolean): Promise<{
63
+ roapMessage?: object;
64
+ turnDiscoverySkippedReason: TurnDiscoverySkipReason;
65
+ }>;
66
+ /**
67
+ * Handles any errors that occur during TURN discovery without re-throwing them.
68
+ *
69
+ * @param {Meeting} meeting
70
+ * @param {Error} error
71
+ * @returns {TurnDiscoveryResult}
72
+ */
73
+ private handleTurnDiscoveryFailure;
74
+ /**
75
+ * Handles TURN_DISCOVERY_RESPONSE roap message that came in http response. If the response is not valid,
76
+ * it returns an object with turnServerInfo set to undefined. In that case you need to call abort()
77
+ * to end the TURN discovery process.
78
+ *
79
+ * @param {Meeting} meeting
80
+ * @param {Object|undefined} httpResponse can be undefined to indicate that we didn't get the response
81
+ * @returns {Promise<TurnDiscoveryResult>}
41
82
  * @memberof Roap
42
83
  */
43
- private handleTurnDiscoveryResponseInHttpResponse;
84
+ handleTurnDiscoveryHttpResponse(meeting: Meeting, httpResponse?: object): Promise<TurnDiscoveryResult>;
85
+ /**
86
+ * Aborts current TURN discovery. This method needs to be called if you called generateTurnDiscoveryRequestMessage(),
87
+ * but then never got any response from the server.
88
+ * @returns {void}
89
+ */
90
+ abort(): void;
91
+ /**
92
+ * Parses the TURN_DISCOVERY_RESPONSE roap message out of the http response
93
+ * and returns it.
94
+ *
95
+ * @param {Meeting} meeting
96
+ * @param {any} httpResponse
97
+ * @returns {any}
98
+ */
99
+ private parseHttpTurnDiscoveryResponse;
44
100
  /**
45
101
  * sends the TURN_DISCOVERY_REQUEST roap request
46
102
  *
@@ -50,7 +106,7 @@ export default class TurnDiscovery {
50
106
  * @private
51
107
  * @memberof Roap
52
108
  */
53
- sendRoapTurnDiscoveryRequest(meeting: Meeting, isReconnecting: boolean): Promise<any>;
109
+ private sendRoapTurnDiscoveryRequest;
54
110
  /**
55
111
  * Sends the OK message that server expects to receive
56
112
  * after it sends us TURN_DISCOVERY_RESPONSE
@@ -94,15 +150,6 @@ export default class TurnDiscovery {
94
150
  * @param {Boolean} [isForced]
95
151
  * @returns {Promise}
96
152
  */
97
- doTurnDiscovery(meeting: Meeting, isReconnecting?: boolean, isForced?: boolean): Promise<{
98
- turnServerInfo: any;
99
- turnDiscoverySkippedReason: string;
100
- } | {
101
- turnServerInfo: {
102
- url: string;
103
- username: string;
104
- password: string;
105
- };
106
- turnDiscoverySkippedReason: any;
107
- }>;
153
+ doTurnDiscovery(meeting: Meeting, isReconnecting?: boolean, isForced?: boolean): Promise<TurnDiscoveryResult>;
108
154
  }
155
+ export {};
@@ -39,6 +39,5 @@ var WebinarCollection = /*#__PURE__*/function () {
39
39
  }]);
40
40
  return WebinarCollection;
41
41
  }();
42
- var _default = WebinarCollection;
43
- exports.default = _default;
42
+ var _default = exports.default = WebinarCollection;
44
43
  //# sourceMappingURL=collection.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["WebinarCollection","MEETINGS","webinarInfo","id","info"],"sources":["collection.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {MEETINGS} from '../constants';\n\nclass WebinarCollection {\n webinarInfo: any;\n\n namespace = MEETINGS;\n\n mainIndex = 'sessionId';\n\n constructor() {\n this.webinarInfo = {};\n }\n\n set(id, info) {\n this.webinarInfo[id] = info;\n }\n\n /**\n * @param {String} id\n * @returns {Member}\n */\n get(id: string) {\n return this.webinarInfo[id];\n }\n}\n\nexport default WebinarCollection;\n"],"mappings":";;;;;;;;;;;AAIA;AAJA;AACA;AACA;AAFA,IAMMA,iBAAiB;EAOrB,6BAAc;IAAA;IAAA;IAAA,iDAJFC,mBAAQ;IAAA,iDAER,WAAW;IAGrB,IAAI,CAACC,WAAW,GAAG,CAAC,CAAC;EACvB;EAAC;IAAA;IAAA,OAED,aAAIC,EAAE,EAAEC,IAAI,EAAE;MACZ,IAAI,CAACF,WAAW,CAACC,EAAE,CAAC,GAAGC,IAAI;IAC7B;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,aAAID,EAAU,EAAE;MACd,OAAO,IAAI,CAACD,WAAW,CAACC,EAAE,CAAC;IAC7B;EAAC;EAAA;AAAA;AAAA,eAGYH,iBAAiB;AAAA"}
1
+ {"version":3,"names":["_constants","require","WebinarCollection","_classCallCheck2","default","_defineProperty2","MEETINGS","webinarInfo","_createClass2","key","value","set","id","info","get","_default","exports"],"sources":["collection.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {MEETINGS} from '../constants';\n\nclass WebinarCollection {\n webinarInfo: any;\n\n namespace = MEETINGS;\n\n mainIndex = 'sessionId';\n\n constructor() {\n this.webinarInfo = {};\n }\n\n set(id, info) {\n this.webinarInfo[id] = info;\n }\n\n /**\n * @param {String} id\n * @returns {Member}\n */\n get(id: string) {\n return this.webinarInfo[id];\n }\n}\n\nexport default WebinarCollection;\n"],"mappings":";;;;;;;;;;;AAIA,IAAAA,UAAA,GAAAC,OAAA;AAJA;AACA;AACA;AAFA,IAMMC,iBAAiB;EAOrB,SAAAA,kBAAA,EAAc;IAAA,IAAAC,gBAAA,CAAAC,OAAA,QAAAF,iBAAA;IAAA,IAAAG,gBAAA,CAAAD,OAAA;IAAA,IAAAC,gBAAA,CAAAD,OAAA,qBAJFE,mBAAQ;IAAA,IAAAD,gBAAA,CAAAD,OAAA,qBAER,WAAW;IAGrB,IAAI,CAACG,WAAW,GAAG,CAAC,CAAC;EACvB;EAAC,IAAAC,aAAA,CAAAJ,OAAA,EAAAF,iBAAA;IAAAO,GAAA;IAAAC,KAAA,EAED,SAAAC,IAAIC,EAAE,EAAEC,IAAI,EAAE;MACZ,IAAI,CAACN,WAAW,CAACK,EAAE,CAAC,GAAGC,IAAI;IAC7B;;IAEA;AACF;AACA;AACA;EAHE;IAAAJ,GAAA;IAAAC,KAAA,EAIA,SAAAI,IAAIF,EAAU,EAAE;MACd,OAAO,IAAI,CAACL,WAAW,CAACK,EAAE,CAAC;IAC7B;EAAC;EAAA,OAAAV,iBAAA;AAAA;AAAA,IAAAa,QAAA,GAAAC,OAAA,CAAAZ,OAAA,GAGYF,iBAAiB"}
@@ -62,8 +62,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
62
62
  updateCanManageWebcast: function updateCanManageWebcast(canManageWebcast) {
63
63
  this.set('canManageWebcast', canManageWebcast);
64
64
  },
65
- version: "3.0.0-beta.384"
65
+ version: "3.1.0-next.1"
66
66
  });
67
- var _default = Webinar;
68
- exports.default = _default;
67
+ var _default = exports.default = Webinar;
69
68
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Webinar","WebexPlugin","extend","namespace","MEETINGS","collections","webinar","WebinarCollection","props","locusUrl","webcastUrl","webinarAttendeesSearchingUrl","canManageWebcast","locusUrlUpdate","set","webcastUrlUpdate","webinarAttendeesSearchingUrlUpdate","updateCanManageWebcast"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport {MEETINGS} from '../constants';\n\nimport WebinarCollection from './collection';\n\n/**\n * @class Webinar\n */\nconst Webinar = WebexPlugin.extend({\n namespace: MEETINGS,\n collections: {\n webinar: WebinarCollection,\n },\n\n props: {\n locusUrl: 'string', // appears current webinar's locus url\n webcastUrl: 'string', // current webinar's webcast url\n webinarAttendeesSearchingUrl: 'string', // current webinarAttendeesSearching url\n canManageWebcast: 'boolean', // appears the ability to manage webcast\n },\n\n /**\n * Update the current locus url of the webinar\n * @param {string} locusUrl // locus url\n * @returns {void}\n */\n locusUrlUpdate(locusUrl) {\n this.set('locusUrl', locusUrl);\n },\n\n /**\n * Update the current webcast url of the meeting\n * @param {string} webcastUrl // webcast url\n * @returns {void}\n */\n webcastUrlUpdate(webcastUrl) {\n this.set('webcastUrl', webcastUrl);\n },\n\n /**\n * Update the current webinarAttendeesSearching url of the meeting\n * @param {string} webinarAttendeesSearchingUrl // webinarAttendeesSearching url\n * @returns {void}\n */\n webinarAttendeesSearchingUrlUpdate(webinarAttendeesSearchingUrl) {\n this.set('webinarAttendeesSearchingUrl', webinarAttendeesSearchingUrl);\n },\n\n /**\n * Update whether self has capability to manage start/stop webcast (only host can manage it)\n * @param {boolean} canManageWebcast\n * @returns {void}\n */\n updateCanManageWebcast(canManageWebcast) {\n this.set('canManageWebcast', canManageWebcast);\n },\n});\n\nexport default Webinar;\n"],"mappings":";;;;;;;;AAGA;AACA;AAEA;AANA;AACA;AACA;;AAMA;AACA;AACA;AACA,IAAMA,OAAO,GAAGC,sBAAW,CAACC,MAAM,CAAC;EACjCC,SAAS,EAAEC,mBAAQ;EACnBC,WAAW,EAAE;IACXC,OAAO,EAAEC;EACX,CAAC;EAEDC,KAAK,EAAE;IACLC,QAAQ,EAAE,QAAQ;IAAE;IACpBC,UAAU,EAAE,QAAQ;IAAE;IACtBC,4BAA4B,EAAE,QAAQ;IAAE;IACxCC,gBAAgB,EAAE,SAAS,CAAE;EAC/B,CAAC;EAED;AACF;AACA;AACA;AACA;EACEC,cAAc,0BAACJ,QAAQ,EAAE;IACvB,IAAI,CAACK,GAAG,CAAC,UAAU,EAAEL,QAAQ,CAAC;EAChC,CAAC;EAED;AACF;AACA;AACA;AACA;EACEM,gBAAgB,4BAACL,UAAU,EAAE;IAC3B,IAAI,CAACI,GAAG,CAAC,YAAY,EAAEJ,UAAU,CAAC;EACpC,CAAC;EAED;AACF;AACA;AACA;AACA;EACEM,kCAAkC,8CAACL,4BAA4B,EAAE;IAC/D,IAAI,CAACG,GAAG,CAAC,8BAA8B,EAAEH,4BAA4B,CAAC;EACxE,CAAC;EAED;AACF;AACA;AACA;AACA;EACEM,sBAAsB,kCAACL,gBAAgB,EAAE;IACvC,IAAI,CAACE,GAAG,CAAC,kBAAkB,EAAEF,gBAAgB,CAAC;EAChD,CAAC;EAAA;AACH,CAAC,CAAC;AAAC,eAEYZ,OAAO;AAAA"}
1
+ {"version":3,"names":["_webexCore","require","_constants","_collection","_interopRequireDefault","Webinar","WebexPlugin","extend","namespace","MEETINGS","collections","webinar","WebinarCollection","props","locusUrl","webcastUrl","webinarAttendeesSearchingUrl","canManageWebcast","locusUrlUpdate","set","webcastUrlUpdate","webinarAttendeesSearchingUrlUpdate","updateCanManageWebcast","version","_default","exports","default"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport {MEETINGS} from '../constants';\n\nimport WebinarCollection from './collection';\n\n/**\n * @class Webinar\n */\nconst Webinar = WebexPlugin.extend({\n namespace: MEETINGS,\n collections: {\n webinar: WebinarCollection,\n },\n\n props: {\n locusUrl: 'string', // appears current webinar's locus url\n webcastUrl: 'string', // current webinar's webcast url\n webinarAttendeesSearchingUrl: 'string', // current webinarAttendeesSearching url\n canManageWebcast: 'boolean', // appears the ability to manage webcast\n },\n\n /**\n * Update the current locus url of the webinar\n * @param {string} locusUrl // locus url\n * @returns {void}\n */\n locusUrlUpdate(locusUrl) {\n this.set('locusUrl', locusUrl);\n },\n\n /**\n * Update the current webcast url of the meeting\n * @param {string} webcastUrl // webcast url\n * @returns {void}\n */\n webcastUrlUpdate(webcastUrl) {\n this.set('webcastUrl', webcastUrl);\n },\n\n /**\n * Update the current webinarAttendeesSearching url of the meeting\n * @param {string} webinarAttendeesSearchingUrl // webinarAttendeesSearching url\n * @returns {void}\n */\n webinarAttendeesSearchingUrlUpdate(webinarAttendeesSearchingUrl) {\n this.set('webinarAttendeesSearchingUrl', webinarAttendeesSearchingUrl);\n },\n\n /**\n * Update whether self has capability to manage start/stop webcast (only host can manage it)\n * @param {boolean} canManageWebcast\n * @returns {void}\n */\n updateCanManageWebcast(canManageWebcast) {\n this.set('canManageWebcast', canManageWebcast);\n },\n});\n\nexport default Webinar;\n"],"mappings":";;;;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAEA,IAAAE,WAAA,GAAAC,sBAAA,CAAAH,OAAA;AANA;AACA;AACA;;AAMA;AACA;AACA;AACA,IAAMI,OAAO,GAAGC,sBAAW,CAACC,MAAM,CAAC;EACjCC,SAAS,EAAEC,mBAAQ;EACnBC,WAAW,EAAE;IACXC,OAAO,EAAEC;EACX,CAAC;EAEDC,KAAK,EAAE;IACLC,QAAQ,EAAE,QAAQ;IAAE;IACpBC,UAAU,EAAE,QAAQ;IAAE;IACtBC,4BAA4B,EAAE,QAAQ;IAAE;IACxCC,gBAAgB,EAAE,SAAS,CAAE;EAC/B,CAAC;EAED;AACF;AACA;AACA;AACA;EACEC,cAAc,WAAAA,eAACJ,QAAQ,EAAE;IACvB,IAAI,CAACK,GAAG,CAAC,UAAU,EAAEL,QAAQ,CAAC;EAChC,CAAC;EAED;AACF;AACA;AACA;AACA;EACEM,gBAAgB,WAAAA,iBAACL,UAAU,EAAE;IAC3B,IAAI,CAACI,GAAG,CAAC,YAAY,EAAEJ,UAAU,CAAC;EACpC,CAAC;EAED;AACF;AACA;AACA;AACA;EACEM,kCAAkC,WAAAA,mCAACL,4BAA4B,EAAE;IAC/D,IAAI,CAACG,GAAG,CAAC,8BAA8B,EAAEH,4BAA4B,CAAC;EACxE,CAAC;EAED;AACF;AACA;AACA;AACA;EACEM,sBAAsB,WAAAA,uBAACL,gBAAgB,EAAE;IACvC,IAAI,CAACE,GAAG,CAAC,kBAAkB,EAAEF,gBAAgB,CAAC;EAChD,CAAC;EAAAM,OAAA;AACH,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAEYrB,OAAO"}
package/jest.config.js ADDED
@@ -0,0 +1,3 @@
1
+ const config = require('@webex/jest-config-legacy');
2
+
3
+ module.exports = config;
package/package.json CHANGED
@@ -1,6 +1,5 @@
1
1
  {
2
2
  "name": "@webex/plugin-meetings",
3
- "version": "3.0.0-test.1",
4
3
  "description": "",
5
4
  "license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)",
6
5
  "contributors": [
@@ -29,37 +28,53 @@
29
28
  ]
30
29
  },
31
30
  "scripts": {
32
- "build": "yarn run -T tsc --declaration true --declarationDir ./dist/types"
31
+ "build": "yarn run -T tsc --declaration true --declarationDir ./dist/types",
32
+ "build:src": "webex-legacy-tools build -dest \"./dist\" -src \"./src\" -js -ts -maps && yarn build",
33
+ "deploy:npm": "yarn npm publish",
34
+ "test:broken": "yarn test:style && yarn test:unit && yarn test:integration && yarn test:browser",
35
+ "test:browser": "webex-legacy-tools test --integration --runner karma",
36
+ "test:style": "eslint ./src/**/*.*",
37
+ "test:unit": "webex-legacy-tools test --unit --runner mocha"
33
38
  },
34
39
  "devDependencies": {
35
- "@peculiar/webcrypto": "^1.4.3",
36
- "@webex/plugin-meetings": "workspace:^",
37
- "@webex/test-helper-chai": "workspace:^",
38
- "@webex/test-helper-mocha": "workspace:^",
39
- "@webex/test-helper-mock-webex": "workspace:^",
40
- "@webex/test-helper-retry": "workspace:^",
41
- "@webex/test-helper-test-users": "workspace:^",
40
+ "@babel/core": "^7.17.10",
41
+ "@types/jsdom": "^21",
42
+ "@webex/babel-config-legacy": "0.0.0",
43
+ "@webex/eslint-config-legacy": "0.0.0",
44
+ "@webex/jest-config-legacy": "0.0.0",
45
+ "@webex/legacy-tools": "0.0.0",
46
+ "@webex/plugin-meetings": "3.1.0-next.1",
47
+ "@webex/plugin-rooms": "3.0.0-next.16",
48
+ "@webex/test-helper-chai": "3.0.0-next.14",
49
+ "@webex/test-helper-mocha": "3.0.0-next.14",
50
+ "@webex/test-helper-mock-webex": "3.0.0-next.14",
51
+ "@webex/test-helper-retry": "3.0.0-next.14",
52
+ "@webex/test-helper-test-users": "3.0.0-next.14",
42
53
  "chai": "^4.3.4",
43
54
  "chai-as-promised": "^7.1.1",
55
+ "eslint": "^8.24.0",
56
+ "jsdom": "19.0.0",
44
57
  "jsdom-global": "3.0.2",
58
+ "prettier": "^2.7.1",
45
59
  "sinon": "^9.2.4",
46
60
  "typed-emitter": "^2.1.0",
47
61
  "typescript": "^4.7.4"
48
62
  },
49
63
  "dependencies": {
50
- "@webex/common": "workspace:^",
51
- "@webex/internal-media-core": "2.3.0",
52
- "@webex/internal-plugin-conversation": "workspace:^",
53
- "@webex/internal-plugin-device": "workspace:^",
54
- "@webex/internal-plugin-llm": "workspace:^",
55
- "@webex/internal-plugin-mercury": "workspace:^",
56
- "@webex/internal-plugin-metrics": "workspace:^",
57
- "@webex/internal-plugin-support": "workspace:^",
58
- "@webex/internal-plugin-user": "workspace:^",
59
- "@webex/media-helpers": "workspace:^",
60
- "@webex/plugin-people": "workspace:^",
61
- "@webex/plugin-rooms": "workspace:^",
62
- "@webex/webex-core": "workspace:^",
64
+ "@webex/common": "3.0.0-next.14",
65
+ "@webex/internal-media-core": "2.5.0",
66
+ "@webex/internal-plugin-conversation": "3.0.0-next.16",
67
+ "@webex/internal-plugin-device": "3.0.0-next.14",
68
+ "@webex/internal-plugin-llm": "3.0.0-next.16",
69
+ "@webex/internal-plugin-mercury": "3.0.0-next.16",
70
+ "@webex/internal-plugin-metrics": "3.0.0-next.14",
71
+ "@webex/internal-plugin-support": "3.0.0-next.16",
72
+ "@webex/internal-plugin-user": "3.0.0-next.14",
73
+ "@webex/internal-plugin-voicea": "3.1.0-next.1",
74
+ "@webex/media-helpers": "3.0.1-next.17",
75
+ "@webex/plugin-people": "3.0.0-next.16",
76
+ "@webex/plugin-rooms": "3.0.0-next.16",
77
+ "@webex/webex-core": "3.0.0-next.14",
63
78
  "ampersand-collection": "^2.0.2",
64
79
  "bowser": "^2.11.0",
65
80
  "btoa": "^1.2.1",
@@ -67,10 +82,14 @@
67
82
  "global": "^4.4.0",
68
83
  "ip-anonymize": "^0.1.0",
69
84
  "javascript-state-machine": "^3.1.0",
70
- "jsonwebtoken": "^8.5.1",
85
+ "jwt-decode": "3.1.2",
71
86
  "lodash": "^4.17.21",
72
87
  "sdp-transform": "^2.12.0",
73
88
  "uuid": "^3.3.2",
74
89
  "webrtc-adapter": "^8.1.2"
75
- }
76
- }
90
+ },
91
+ "//": [
92
+ "TODO: upgrade jwt-decode when moving to node 18"
93
+ ],
94
+ "version": "3.1.0-next.1"
95
+ }
package/process ADDED
@@ -0,0 +1 @@
1
+ module.exports = {browser: true};
package/src/config.ts CHANGED
@@ -1,7 +1,5 @@
1
- import {
2
- // @ts-ignore
3
- deviceType,
4
- } from '@webex/common';
1
+ // @ts-ignore
2
+ import {deviceType} from '@webex/common';
5
3
 
6
4
  export default {
7
5
  // TODO: this needs to be defaulted
@@ -89,6 +87,7 @@ export default {
89
87
  enableUnifiedMeetings: true,
90
88
  enableAdhocMeetings: true,
91
89
  enableTcpReachability: false,
90
+ enableTlsReachability: false,
92
91
  },
93
92
  degradationPreferences: {
94
93
  maxMacroblocksLimit: 8192,