@webex/plugin-meetings 3.8.1 → 3.9.0-next.10

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 (294) hide show
  1. package/README.md +26 -13
  2. package/dist/breakouts/breakout.js +1 -1
  3. package/dist/breakouts/index.js +1 -1
  4. package/dist/constants.js +32 -3
  5. package/dist/constants.js.map +1 -1
  6. package/dist/controls-options-manager/enums.js +1 -0
  7. package/dist/controls-options-manager/enums.js.map +1 -1
  8. package/dist/controls-options-manager/types.js.map +1 -1
  9. package/dist/controls-options-manager/util.js +26 -0
  10. package/dist/controls-options-manager/util.js.map +1 -1
  11. package/dist/interpretation/index.js +1 -1
  12. package/dist/interpretation/siLanguage.js +1 -1
  13. package/dist/locus-info/controlsUtils.js +11 -3
  14. package/dist/locus-info/controlsUtils.js.map +1 -1
  15. package/dist/locus-info/index.js +84 -91
  16. package/dist/locus-info/index.js.map +1 -1
  17. package/dist/locus-info/parser.js +4 -1
  18. package/dist/locus-info/parser.js.map +1 -1
  19. package/dist/media/index.js +2 -2
  20. package/dist/media/index.js.map +1 -1
  21. package/dist/meeting/brbState.js +17 -14
  22. package/dist/meeting/brbState.js.map +1 -1
  23. package/dist/meeting/in-meeting-actions.js +11 -1
  24. package/dist/meeting/in-meeting-actions.js.map +1 -1
  25. package/dist/meeting/index.js +484 -287
  26. package/dist/meeting/index.js.map +1 -1
  27. package/dist/meeting/request.js +19 -0
  28. package/dist/meeting/request.js.map +1 -1
  29. package/dist/meeting/request.type.js.map +1 -1
  30. package/dist/{rtcMetrics/constants.js → meeting/type.js} +1 -5
  31. package/dist/meeting/type.js.map +1 -0
  32. package/dist/meeting/util.js +68 -2
  33. package/dist/meeting/util.js.map +1 -1
  34. package/dist/meetings/index.js +35 -33
  35. package/dist/meetings/index.js.map +1 -1
  36. package/dist/members/index.js +14 -11
  37. package/dist/members/index.js.map +1 -1
  38. package/dist/members/request.js +3 -3
  39. package/dist/members/request.js.map +1 -1
  40. package/dist/members/util.js +25 -8
  41. package/dist/members/util.js.map +1 -1
  42. package/dist/metrics/constants.js +1 -0
  43. package/dist/metrics/constants.js.map +1 -1
  44. package/dist/multistream/mediaRequestManager.js +1 -1
  45. package/dist/multistream/mediaRequestManager.js.map +1 -1
  46. package/dist/multistream/remoteMedia.js +34 -5
  47. package/dist/multistream/remoteMedia.js.map +1 -1
  48. package/dist/multistream/remoteMediaGroup.js +42 -2
  49. package/dist/multistream/remoteMediaGroup.js.map +1 -1
  50. package/dist/multistream/sendSlotManager.js +32 -2
  51. package/dist/multistream/sendSlotManager.js.map +1 -1
  52. package/dist/reachability/index.js +8 -13
  53. package/dist/reachability/index.js.map +1 -1
  54. package/dist/types/constants.d.ts +28 -0
  55. package/dist/types/controls-options-manager/enums.d.ts +2 -1
  56. package/dist/types/controls-options-manager/types.d.ts +4 -1
  57. package/dist/types/locus-info/index.d.ts +2 -9
  58. package/dist/types/meeting/brbState.d.ts +0 -1
  59. package/dist/types/meeting/in-meeting-actions.d.ts +10 -0
  60. package/dist/types/meeting/index.d.ts +47 -19
  61. package/dist/types/meeting/request.d.ts +9 -1
  62. package/dist/types/meeting/request.type.d.ts +74 -0
  63. package/dist/types/meeting/type.d.ts +9 -0
  64. package/dist/types/meeting/util.d.ts +3 -0
  65. package/dist/types/members/index.d.ts +12 -8
  66. package/dist/types/members/request.d.ts +1 -1
  67. package/dist/types/members/util.d.ts +13 -6
  68. package/dist/types/metrics/constants.d.ts +1 -0
  69. package/dist/types/multistream/remoteMedia.d.ts +20 -1
  70. package/dist/types/multistream/remoteMediaGroup.d.ts +11 -0
  71. package/dist/types/multistream/sendSlotManager.d.ts +16 -0
  72. package/dist/types/reachability/index.d.ts +2 -2
  73. package/dist/webinar/index.js +1 -1
  74. package/package.json +24 -25
  75. package/src/constants.ts +32 -2
  76. package/src/controls-options-manager/enums.ts +1 -0
  77. package/src/controls-options-manager/types.ts +6 -1
  78. package/src/controls-options-manager/util.ts +31 -0
  79. package/src/locus-info/controlsUtils.ts +15 -0
  80. package/src/locus-info/index.ts +103 -92
  81. package/src/locus-info/parser.ts +5 -1
  82. package/src/media/index.ts +2 -2
  83. package/src/meeting/brbState.ts +13 -9
  84. package/src/meeting/in-meeting-actions.ts +21 -0
  85. package/src/meeting/index.ts +278 -73
  86. package/src/meeting/request.ts +16 -0
  87. package/src/meeting/request.type.ts +64 -0
  88. package/src/meeting/type.ts +9 -0
  89. package/src/meeting/util.ts +73 -2
  90. package/src/meetings/index.ts +3 -2
  91. package/src/members/index.ts +22 -12
  92. package/src/members/request.ts +2 -2
  93. package/src/members/util.ts +34 -6
  94. package/src/metrics/constants.ts +1 -0
  95. package/src/multistream/mediaRequestManager.ts +7 -7
  96. package/src/multistream/remoteMedia.ts +34 -4
  97. package/src/multistream/remoteMediaGroup.ts +37 -2
  98. package/src/multistream/sendSlotManager.ts +34 -2
  99. package/src/reachability/index.ts +8 -16
  100. package/test/unit/spec/controls-options-manager/util.js +58 -0
  101. package/test/unit/spec/locus-info/controlsUtils.js +52 -0
  102. package/test/unit/spec/locus-info/index.js +247 -89
  103. package/test/unit/spec/locus-info/parser.js +3 -2
  104. package/test/unit/spec/media/index.ts +107 -0
  105. package/test/unit/spec/meeting/brbState.ts +23 -4
  106. package/test/unit/spec/meeting/in-meeting-actions.ts +10 -0
  107. package/test/unit/spec/meeting/index.js +976 -91
  108. package/test/unit/spec/meeting/request.js +71 -0
  109. package/test/unit/spec/meeting/utils.js +122 -1
  110. package/test/unit/spec/meetings/index.js +2 -0
  111. package/test/unit/spec/members/index.js +98 -11
  112. package/test/unit/spec/members/request.js +57 -2
  113. package/test/unit/spec/members/utils.js +139 -17
  114. package/test/unit/spec/multistream/mediaRequestManager.ts +19 -6
  115. package/test/unit/spec/multistream/remoteMedia.ts +66 -2
  116. package/test/unit/spec/multistream/sendSlotManager.ts +59 -0
  117. package/test/unit/spec/reachability/index.ts +160 -9
  118. package/dist/annotation/annotation.types.d.ts +0 -42
  119. package/dist/annotation/constants.d.ts +0 -31
  120. package/dist/annotation/index.d.ts +0 -117
  121. package/dist/breakouts/breakout.d.ts +0 -8
  122. package/dist/breakouts/collection.d.ts +0 -5
  123. package/dist/breakouts/edit-lock-error.d.ts +0 -15
  124. package/dist/breakouts/events.d.ts +0 -8
  125. package/dist/breakouts/index.d.ts +0 -5
  126. package/dist/breakouts/request.d.ts +0 -22
  127. package/dist/breakouts/utils.d.ts +0 -15
  128. package/dist/common/browser-detection.d.ts +0 -9
  129. package/dist/common/collection.d.ts +0 -48
  130. package/dist/common/config.d.ts +0 -2
  131. package/dist/common/errors/captcha-error.d.ts +0 -15
  132. package/dist/common/errors/intent-to-join.d.ts +0 -16
  133. package/dist/common/errors/join-meeting.d.ts +0 -17
  134. package/dist/common/errors/media.d.ts +0 -15
  135. package/dist/common/errors/no-meeting-info.d.ts +0 -14
  136. package/dist/common/errors/parameter.d.ts +0 -15
  137. package/dist/common/errors/password-error.d.ts +0 -15
  138. package/dist/common/errors/permission.d.ts +0 -14
  139. package/dist/common/errors/reclaim-host-role-error.d.ts +0 -60
  140. package/dist/common/errors/reclaim-host-role-error.js +0 -158
  141. package/dist/common/errors/reclaim-host-role-error.js.map +0 -1
  142. package/dist/common/errors/reclaim-host-role-errors.d.ts +0 -60
  143. package/dist/common/errors/reconnection-in-progress.d.ts +0 -9
  144. package/dist/common/errors/reconnection-in-progress.js +0 -35
  145. package/dist/common/errors/reconnection-in-progress.js.map +0 -1
  146. package/dist/common/errors/reconnection.d.ts +0 -15
  147. package/dist/common/errors/stats.d.ts +0 -15
  148. package/dist/common/errors/webex-errors.d.ts +0 -81
  149. package/dist/common/errors/webex-meetings-error.d.ts +0 -20
  150. package/dist/common/events/events-scope.d.ts +0 -17
  151. package/dist/common/events/events.d.ts +0 -12
  152. package/dist/common/events/trigger-proxy.d.ts +0 -2
  153. package/dist/common/events/util.d.ts +0 -2
  154. package/dist/common/logs/logger-config.d.ts +0 -2
  155. package/dist/common/logs/logger-proxy.d.ts +0 -2
  156. package/dist/common/logs/request.d.ts +0 -34
  157. package/dist/common/queue.d.ts +0 -32
  158. package/dist/config.d.ts +0 -73
  159. package/dist/constants.d.ts +0 -952
  160. package/dist/controls-options-manager/constants.d.ts +0 -4
  161. package/dist/controls-options-manager/enums.d.ts +0 -5
  162. package/dist/controls-options-manager/index.d.ts +0 -120
  163. package/dist/controls-options-manager/types.d.ts +0 -43
  164. package/dist/controls-options-manager/util.d.ts +0 -7
  165. package/dist/index.d.ts +0 -4
  166. package/dist/interceptors/index.d.ts +0 -2
  167. package/dist/interceptors/locusRetry.d.ts +0 -27
  168. package/dist/interpretation/collection.d.ts +0 -5
  169. package/dist/interpretation/index.d.ts +0 -5
  170. package/dist/interpretation/siLanguage.d.ts +0 -5
  171. package/dist/locus-info/controlsUtils.d.ts +0 -2
  172. package/dist/locus-info/embeddedAppsUtils.d.ts +0 -2
  173. package/dist/locus-info/fullState.d.ts +0 -2
  174. package/dist/locus-info/hostUtils.d.ts +0 -2
  175. package/dist/locus-info/index.d.ts +0 -269
  176. package/dist/locus-info/infoUtils.d.ts +0 -2
  177. package/dist/locus-info/mediaSharesUtils.d.ts +0 -2
  178. package/dist/locus-info/parser.d.ts +0 -212
  179. package/dist/locus-info/selfUtils.d.ts +0 -2
  180. package/dist/media/index.d.ts +0 -32
  181. package/dist/media/properties.d.ts +0 -108
  182. package/dist/media/util.d.ts +0 -2
  183. package/dist/mediaQualityMetrics/config.d.ts +0 -233
  184. package/dist/mediaQualityMetrics/config.js +0 -513
  185. package/dist/mediaQualityMetrics/config.js.map +0 -1
  186. package/dist/meeting/effectsState.d.ts +0 -42
  187. package/dist/meeting/effectsState.js +0 -260
  188. package/dist/meeting/effectsState.js.map +0 -1
  189. package/dist/meeting/in-meeting-actions.d.ts +0 -79
  190. package/dist/meeting/index.d.ts +0 -1622
  191. package/dist/meeting/locusMediaRequest.d.ts +0 -74
  192. package/dist/meeting/muteState.d.ts +0 -116
  193. package/dist/meeting/request.d.ts +0 -257
  194. package/dist/meeting/request.type.d.ts +0 -11
  195. package/dist/meeting/state.d.ts +0 -9
  196. package/dist/meeting/util.d.ts +0 -2
  197. package/dist/meeting/voicea-meeting.d.ts +0 -16
  198. package/dist/meeting-info/collection.d.ts +0 -20
  199. package/dist/meeting-info/index.d.ts +0 -57
  200. package/dist/meeting-info/meeting-info-v2.d.ts +0 -93
  201. package/dist/meeting-info/request.d.ts +0 -22
  202. package/dist/meeting-info/util.d.ts +0 -2
  203. package/dist/meeting-info/utilv2.d.ts +0 -2
  204. package/dist/meetings/collection.d.ts +0 -23
  205. package/dist/meetings/index.d.ts +0 -296
  206. package/dist/meetings/meetings.types.d.ts +0 -4
  207. package/dist/meetings/request.d.ts +0 -27
  208. package/dist/meetings/util.d.ts +0 -18
  209. package/dist/member/index.d.ts +0 -148
  210. package/dist/member/member.types.d.ts +0 -11
  211. package/dist/member/member.types.js +0 -18
  212. package/dist/member/member.types.js.map +0 -1
  213. package/dist/member/types.d.ts +0 -32
  214. package/dist/member/util.d.ts +0 -2
  215. package/dist/members/collection.d.ts +0 -24
  216. package/dist/members/index.d.ts +0 -308
  217. package/dist/members/request.d.ts +0 -58
  218. package/dist/members/types.d.ts +0 -25
  219. package/dist/members/util.d.ts +0 -2
  220. package/dist/metrics/config.d.ts +0 -169
  221. package/dist/metrics/config.js +0 -289
  222. package/dist/metrics/config.js.map +0 -1
  223. package/dist/metrics/constants.d.ts +0 -59
  224. package/dist/metrics/index.d.ts +0 -152
  225. package/dist/multistream/mediaRequestManager.d.ts +0 -119
  226. package/dist/multistream/receiveSlot.d.ts +0 -68
  227. package/dist/multistream/receiveSlotManager.d.ts +0 -56
  228. package/dist/multistream/remoteMedia.d.ts +0 -72
  229. package/dist/multistream/remoteMediaGroup.d.ts +0 -49
  230. package/dist/multistream/remoteMediaManager.d.ts +0 -300
  231. package/dist/multistream/sendSlotManager.d.ts +0 -69
  232. package/dist/networkQualityMonitor/index.d.ts +0 -70
  233. package/dist/networkQualityMonitor/index.js +0 -226
  234. package/dist/networkQualityMonitor/index.js.map +0 -1
  235. package/dist/peer-connection-manager/index.d.ts +0 -6
  236. package/dist/peer-connection-manager/index.js +0 -671
  237. package/dist/peer-connection-manager/index.js.map +0 -1
  238. package/dist/peer-connection-manager/util.d.ts +0 -6
  239. package/dist/peer-connection-manager/util.js +0 -110
  240. package/dist/peer-connection-manager/util.js.map +0 -1
  241. package/dist/personal-meeting-room/index.d.ts +0 -47
  242. package/dist/personal-meeting-room/request.d.ts +0 -14
  243. package/dist/personal-meeting-room/util.d.ts +0 -2
  244. package/dist/reachability/clusterReachability.d.ts +0 -109
  245. package/dist/reachability/index.d.ts +0 -139
  246. package/dist/reachability/request.d.ts +0 -35
  247. package/dist/reachability/util.d.ts +0 -8
  248. package/dist/reactions/constants.d.ts +0 -3
  249. package/dist/reactions/reactions.d.ts +0 -4
  250. package/dist/reactions/reactions.type.d.ts +0 -32
  251. package/dist/reconnection-manager/index.d.ts +0 -112
  252. package/dist/recording-controller/enums.d.ts +0 -7
  253. package/dist/recording-controller/index.d.ts +0 -193
  254. package/dist/recording-controller/util.d.ts +0 -13
  255. package/dist/roap/collection.d.ts +0 -10
  256. package/dist/roap/collection.js +0 -63
  257. package/dist/roap/collection.js.map +0 -1
  258. package/dist/roap/handler.d.ts +0 -47
  259. package/dist/roap/handler.js +0 -279
  260. package/dist/roap/handler.js.map +0 -1
  261. package/dist/roap/index.d.ts +0 -116
  262. package/dist/roap/request.d.ts +0 -35
  263. package/dist/roap/state.d.ts +0 -9
  264. package/dist/roap/state.js +0 -127
  265. package/dist/roap/state.js.map +0 -1
  266. package/dist/roap/turnDiscovery.d.ts +0 -81
  267. package/dist/roap/util.d.ts +0 -2
  268. package/dist/roap/util.js +0 -76
  269. package/dist/roap/util.js.map +0 -1
  270. package/dist/rtcMetrics/constants.d.ts +0 -4
  271. package/dist/rtcMetrics/constants.js.map +0 -1
  272. package/dist/rtcMetrics/index.d.ts +0 -61
  273. package/dist/rtcMetrics/index.js +0 -197
  274. package/dist/rtcMetrics/index.js.map +0 -1
  275. package/dist/statsAnalyzer/global.d.ts +0 -118
  276. package/dist/statsAnalyzer/global.js +0 -127
  277. package/dist/statsAnalyzer/global.js.map +0 -1
  278. package/dist/statsAnalyzer/index.d.ts +0 -193
  279. package/dist/statsAnalyzer/index.js +0 -1019
  280. package/dist/statsAnalyzer/index.js.map +0 -1
  281. package/dist/statsAnalyzer/mqaUtil.d.ts +0 -22
  282. package/dist/statsAnalyzer/mqaUtil.js +0 -181
  283. package/dist/statsAnalyzer/mqaUtil.js.map +0 -1
  284. package/dist/transcription/index.d.ts +0 -64
  285. package/dist/types/common/errors/reconnection-in-progress.d.ts +0 -9
  286. package/dist/types/mediaQualityMetrics/config.d.ts +0 -241
  287. package/dist/types/networkQualityMonitor/index.d.ts +0 -70
  288. package/dist/types/rtcMetrics/constants.d.ts +0 -4
  289. package/dist/types/rtcMetrics/index.d.ts +0 -71
  290. package/dist/types/statsAnalyzer/global.d.ts +0 -36
  291. package/dist/types/statsAnalyzer/index.d.ts +0 -217
  292. package/dist/types/statsAnalyzer/mqaUtil.d.ts +0 -48
  293. package/dist/webinar/collection.d.ts +0 -16
  294. package/dist/webinar/index.d.ts +0 -5
@@ -21,6 +21,8 @@ import RecordingController from '../recording-controller';
21
21
  import ControlsOptionsManager from '../controls-options-manager';
22
22
  import { LocusMediaRequest } from './locusMediaRequest';
23
23
  import { BrbState } from './brbState';
24
+ import { SetStageOptions } from './request.type';
25
+ import { Invitee } from './type';
24
26
  export type CaptionData = {
25
27
  id: string;
26
28
  isFinal: boolean;
@@ -66,6 +68,13 @@ export type AddMediaOptions = {
66
68
  remoteMediaManagerConfig?: RemoteMediaManagerConfiguration;
67
69
  bundlePolicy?: BundlePolicy;
68
70
  allowMediaInLobby?: boolean;
71
+ additionalMediaOptions?: AdditionalMediaOptions;
72
+ };
73
+ export type AdditionalMediaOptions = {
74
+ sendVideo?: boolean;
75
+ receiveVideo?: boolean;
76
+ sendAudio?: boolean;
77
+ receiveAudio?: boolean;
69
78
  };
70
79
  export type CallStateForMetrics = {
71
80
  correlationId?: string;
@@ -74,6 +83,7 @@ export type CallStateForMetrics = {
74
83
  loginType?: string;
75
84
  userNameInput?: string;
76
85
  emailInput?: string;
86
+ pstnCorrelationId?: string;
77
87
  };
78
88
  export declare const MEDIA_UPDATE_TYPE: {
79
89
  TRANSCODED_MEDIA_CONNECTION: string;
@@ -479,10 +489,11 @@ export default class Meeting extends StatelessWebexPlugin {
479
489
  /**
480
490
  * @param {Object} attrs
481
491
  * @param {Object} options
492
+ * @param {Function} callback - if provided, it will be called with the newly created meeting object as soon as the meeting.id is set
482
493
  * @constructor
483
494
  * @memberof Meeting
484
495
  */
485
- constructor(attrs: any, options: object);
496
+ constructor(attrs: any, options: object, callback: (meeting: Meeting) => void);
486
497
  /**
487
498
  * returns meeting is joined
488
499
  * @private
@@ -505,6 +516,16 @@ export default class Meeting extends StatelessWebexPlugin {
505
516
  * @param {string} correlationId
506
517
  */
507
518
  set correlationId(correlationId: string);
519
+ /**
520
+ * Getter - Returns callStateForMetrics.pstnCorrelationId
521
+ * @returns {string | undefined}
522
+ */
523
+ get pstnCorrelationId(): string | undefined;
524
+ /**
525
+ * Setter - sets callStateForMetrics.pstnCorrelationId
526
+ * @param {string | undefined} correlationId
527
+ */
528
+ set pstnCorrelationId(correlationId: string | undefined);
508
529
  /**
509
530
  * Getter - Returns callStateForMetrics.userNameInput
510
531
  * @returns {string}
@@ -854,43 +875,37 @@ export default class Meeting extends StatelessWebexPlugin {
854
875
  private updateMeetingObject;
855
876
  /**
856
877
  * Invite a guest to the call that isn't normally part of this call
857
- * @param {Object} invitee
878
+ * @param {Invitee} invitee
858
879
  * @param {String} invitee.emailAddress
859
880
  * @param {String} invitee.email
860
881
  * @param {String} invitee.phoneNumber
861
882
  * @param {Boolean} [alertIfActive]
883
+ * @param {Boolean} [invitee.skipEmailValidation]
884
+ * @param {Boolean} [invitee.isInternalNumber]
862
885
  * @returns {Promise} see #members.addMember
863
886
  * @public
864
887
  * @memberof Meeting
865
888
  */
866
- invite(invitee: {
867
- emailAddress: string;
868
- email: string;
869
- phoneNumber: string;
870
- roles: Array<string>;
871
- }, alertIfActive?: boolean): any;
889
+ invite(invitee: Invitee, alertIfActive?: boolean): any;
872
890
  /**
873
891
  * Cancel an outgoing phone call invitation made during a meeting
874
- * @param {Object} invitee
892
+ * @param {Invitee} invitee
875
893
  * @param {String} invitee.phoneNumber
876
894
  * @returns {Promise} see #members.cancelPhoneInvite
877
895
  * @public
878
896
  * @memberof Meeting
879
897
  */
880
- cancelPhoneInvite(invitee: {
881
- phoneNumber: string;
882
- }): any;
898
+ cancelPhoneInvite(invitee: Invitee): any;
883
899
  /**
884
- * Cancel an SIP call invitation made during a meeting
885
- * @param {Object} invitee
900
+ * Cancel an SIP/phone call invitation made during a meeting
901
+ * @param {Invitee} invitee
886
902
  * @param {String} invitee.memberId
887
- * @returns {Promise} see #members.cancelSIPInvite
903
+ * @param {Boolean} [invitee.isInternalNumber] - When cancel phone invitation, if the number is internal
904
+ * @returns {Promise} see #members.cancelInviteByMemberId
888
905
  * @public
889
906
  * @memberof Meeting
890
907
  */
891
- cancelSIPInvite(invitee: {
892
- memberId: string;
893
- }): any;
908
+ cancelInviteByMemberId(invitee: Invitee): any;
894
909
  /**
895
910
  * Admit the guest(s) to the call once they are waiting.
896
911
  * If the host/cohost is in a breakout session, the locus url
@@ -1337,7 +1352,7 @@ export default class Meeting extends StatelessWebexPlugin {
1337
1352
  * @memberof Meeting
1338
1353
  * @returns {Promise}
1339
1354
  */
1340
- disconnectPhoneAudio(): Promise<[any, any]>;
1355
+ disconnectPhoneAudio(): Promise<void>;
1341
1356
  /**
1342
1357
  * Moves the call to the specified resourceId
1343
1358
  * @param {String} resourceId
@@ -1993,5 +2008,18 @@ export default class Meeting extends StatelessWebexPlugin {
1993
2008
  * @returns {Promise<MediaReachabilityMetrics>}
1994
2009
  */
1995
2010
  private getMediaReachabilityMetricFields;
2011
+ /**
2012
+ * Set the stage for the meeting
2013
+ *
2014
+ * @param {SetStageOptions} options Options to use when setting the stage
2015
+ * @returns {Promise} The locus request
2016
+ */
2017
+ setStage({ activeSpeakerProportion, customBackground, customLogo, customNameLabel, importantParticipants, lockAttendeeViewOnStage, showActiveSpeaker, }?: SetStageOptions): Promise<any>;
2018
+ /**
2019
+ * Unset the stage for the meeting
2020
+ *
2021
+ * @returns {Promise} The locus request
2022
+ */
2023
+ unsetStage(): Promise<any>;
1996
2024
  }
1997
2025
  export {};
@@ -1,5 +1,5 @@
1
1
  import { StatelessWebexPlugin } from '@webex/webex-core';
2
- import { SendReactionOptions, BrbOptions, ToggleReactionsOptions, PostMeetingDataConsentOptions } from './request.type';
2
+ import { SendReactionOptions, BrbOptions, ToggleReactionsOptions, PostMeetingDataConsentOptions, SynchronizeVideoLayout } from './request.type';
3
3
  import { AnnotationInfo } from '../annotation/annotation.types';
4
4
  import { ClientMediaPreferences } from '../reachability/reachability.types';
5
5
  /**
@@ -314,4 +314,12 @@ export default class MeetingRequest extends StatelessWebexPlugin {
314
314
  * @returns {Promise}
315
315
  */
316
316
  setPostMeetingDataConsent({ postMeetingDataConsent, locusUrl, deviceUrl, selfId, }: PostMeetingDataConsentOptions): Promise<any>;
317
+ /**
318
+ * Synchronize the stage for a meeting
319
+ *
320
+ * @param {LocusUrl} locusUrl The locus URL
321
+ * @param {SetStageVideoLayout} videoLayout The video layout to synchronize
322
+ * @returns {Promise} The locus request
323
+ */
324
+ synchronizeStage(locusUrl: string, videoLayout: SynchronizeVideoLayout): Promise<any>;
317
325
  }
@@ -21,3 +21,77 @@ export type PostMeetingDataConsentOptions = {
21
21
  deviceUrl: string;
22
22
  selfId: string;
23
23
  };
24
+ export type StageCustomLogoPositions = 'LowerLeft' | 'LowerMiddle' | 'LowerRight' | 'UpperLeft' | 'UpperMiddle' | 'UpperRight';
25
+ export type StageNameLabelType = 'Primary' | 'PrimaryInverted' | 'Secondary' | 'SecondaryInverted';
26
+ export type StageCustomBackground = {
27
+ url: string;
28
+ [others: string]: unknown;
29
+ };
30
+ export type StageCustomLogo = {
31
+ url: string;
32
+ position: StageCustomLogoPositions;
33
+ [others: string]: unknown;
34
+ };
35
+ export type StageCustomNameLabel = {
36
+ accentColor: string;
37
+ background: {
38
+ color: string;
39
+ };
40
+ border: {
41
+ color: string;
42
+ };
43
+ content: {
44
+ displayName: {
45
+ color: string;
46
+ };
47
+ subtitle: {
48
+ color: string;
49
+ };
50
+ };
51
+ decoration: {
52
+ color: string;
53
+ };
54
+ fadeOut?: {
55
+ delay: number;
56
+ };
57
+ type: StageNameLabelType;
58
+ [others: string]: unknown;
59
+ };
60
+ export type SetStageOptions = {
61
+ activeSpeakerProportion?: number;
62
+ customBackground?: StageCustomBackground;
63
+ customLogo?: StageCustomLogo;
64
+ customNameLabel?: StageCustomNameLabel;
65
+ importantParticipants?: {
66
+ mainCsi: number;
67
+ participantId: string;
68
+ }[];
69
+ lockAttendeeViewOnStage?: boolean;
70
+ showActiveSpeaker?: boolean;
71
+ };
72
+ export type SetStageVideoLayout = {
73
+ overrideDefault: true;
74
+ lockAttendeeViewOnStageOnly: boolean;
75
+ stageParameters: {
76
+ importantParticipants?: {
77
+ participantId: string;
78
+ mainCsi: number;
79
+ order: number;
80
+ }[];
81
+ showActiveSpeaker: {
82
+ show: boolean;
83
+ order: number;
84
+ };
85
+ activeSpeakerProportion: number;
86
+ stageManagerType: number;
87
+ };
88
+ customLayouts?: {
89
+ background?: StageCustomBackground;
90
+ logo?: StageCustomLogo;
91
+ };
92
+ nameLabelStyle?: StageCustomNameLabel;
93
+ };
94
+ export type UnsetStageVideoLayout = {
95
+ overrideDefault: false;
96
+ };
97
+ export type SynchronizeVideoLayout = SetStageVideoLayout | UnsetStageVideoLayout;
@@ -0,0 +1,9 @@
1
+ export type Invitee = {
2
+ memberId: string;
3
+ emailAddress: string;
4
+ email: string;
5
+ phoneNumber: string;
6
+ roles: Array<string>;
7
+ skipEmailValidation?: boolean;
8
+ isInternalNumber?: boolean;
9
+ };
@@ -71,6 +71,9 @@ declare const MeetingUtil: {
71
71
  canStopTranscribing: (displayHints: any) => any;
72
72
  isClosedCaptionActive: (displayHints: any) => any;
73
73
  canStartManualCaption: (displayHints: any) => any;
74
+ isLocalRecordingStarted: (displayHints: any) => any;
75
+ isLocalRecordingStopped: (displayHints: any) => any;
76
+ isLocalRecordingPaused: (displayHints: any) => any;
74
77
  canStopManualCaption: (displayHints: any) => any;
75
78
  isManualCaptionActive: (displayHints: any) => any;
76
79
  isWebexAssistantActive: (displayHints: any) => any;
@@ -4,6 +4,7 @@ import MembersCollection from './collection';
4
4
  import { ReceiveSlotManager } from '../multistream/receiveSlotManager';
5
5
  import { MediaRequestManager } from '../multistream/mediaRequestManager';
6
6
  import { ServerRoleShape } from './types';
7
+ import { Invitee } from '../meeting/type';
7
8
  /**
8
9
  * @class Members
9
10
  */
@@ -212,26 +213,28 @@ export default class Members extends StatelessWebexPlugin {
212
213
  private update;
213
214
  /**
214
215
  * Adds a guest Member to the associated meeting
215
- * @param {String} invitee
216
+ * @param {Invitee} invitee
216
217
  * @param {Boolean} [alertIfActive]
217
218
  * @returns {Promise}
218
219
  * @memberof Members
219
220
  */
220
- addMember(invitee: any, alertIfActive?: boolean): any;
221
+ addMember(invitee: Invitee, alertIfActive?: boolean): any;
221
222
  /**
222
223
  * Cancels an outgoing PSTN call to the associated meeting
223
- * @param {String} invitee
224
+ * @param {Invitee} invitee
224
225
  * @returns {Promise}
225
226
  * @memberof Members
226
227
  */
227
- cancelPhoneInvite(invitee: any): any;
228
+ cancelPhoneInvite(invitee: Invitee): any;
228
229
  /**
229
- * Cancels an SIP call to the associated meeting
230
- * @param {String} invitee
230
+ * Cancels an SIP/phone call to the associated meeting
231
+ * @param {Invitee} invitee
232
+ * @param {String} invitee.memberId - The memberId of the invitee
233
+ * @param {Boolean} [invitee.isInternalNumber] - When cancel phone invitation, if the number is internal
231
234
  * @returns {Promise}
232
235
  * @memberof Members
233
236
  */
234
- cancelSIPInvite(invitee: any): any;
237
+ cancelInviteByMemberId(invitee: Invitee): any;
235
238
  /**
236
239
  * Admits waiting members (invited guests to meeting)
237
240
  * @param {Array} memberIds
@@ -335,9 +338,10 @@ export default class Members extends StatelessWebexPlugin {
335
338
  * @param {string} memberId - id of the participant who is receiving request
336
339
  * @param {string} requestingParticipantId - id of the participant who is sending request (optional)
337
340
  * @param {string} [alias] - alias name
341
+ * @param {string} [suffix] - name suffix (optional)
338
342
  * @returns {Promise}
339
343
  * @public
340
344
  * @memberof Members
341
345
  */
342
- editDisplayName(memberId: string, requestingParticipantId: string, alias: string): any;
346
+ editDisplayName(memberId: string, requestingParticipantId: string, alias: string, suffix?: string): any;
343
347
  }
@@ -136,5 +136,5 @@ export default class MembersRequest extends StatelessWebexPlugin {
136
136
  * @throws {Error} if the options are not valid and complete, must have invitee with memberId AND locusUrl
137
137
  * @memberof MembersRequest
138
138
  */
139
- cancelSIPInvite(options: any): Promise<any>;
139
+ cancelInviteByMemberId(options: any): Promise<any>;
140
140
  }
@@ -1,4 +1,5 @@
1
1
  import { RoleAssignmentOptions, RoleAssignmentRequest, ServerRoleShape } from './types';
2
+ import { Invitee } from '../meeting/type';
2
3
  declare const MembersUtil: {
3
4
  /**
4
5
  * @param {Object} invitee with emailAddress, email or phoneNumber
@@ -26,6 +27,7 @@ declare const MembersUtil: {
26
27
  */
27
28
  getAddMemberBody: (options: any) => {
28
29
  invitees: {
30
+ isInternalNumber?: any;
29
31
  roles?: any;
30
32
  address: any;
31
33
  }[];
@@ -55,13 +57,14 @@ declare const MembersUtil: {
55
57
  uri: any;
56
58
  body: {
57
59
  invitees: {
60
+ isInternalNumber?: any;
58
61
  roles?: any;
59
62
  address: any;
60
63
  }[];
61
64
  alertIfActive: any;
62
65
  };
63
66
  };
64
- isInvalidInvitee: (invitee: any) => boolean;
67
+ isInvalidInvitee: (invitee: Invitee) => boolean;
65
68
  getRemoveMemberRequestParams: (options: any) => {
66
69
  method: string;
67
70
  uri: string;
@@ -107,13 +110,15 @@ declare const MembersUtil: {
107
110
  * @param {String} requestingParticipantId id of the participant who is sending request (optional)
108
111
  * @param {String} alias alias name
109
112
  * @param {String} locusUrl url
113
+ * @param {String} suffix optional suffix
110
114
  * @returns {Object} consists of {memberID: string, requestingParticipantId: string, alias: string, locusUrl: string}
111
115
  */
112
- generateEditDisplayNameMemberOptions: (memberId: any, requestingParticipantId: any, alias: any, locusUrl: any) => {
116
+ generateEditDisplayNameMemberOptions: (memberId: any, requestingParticipantId: any, alias: any, locusUrl: any, suffix: any) => {
113
117
  memberId: any;
114
118
  requestingParticipantId: any;
115
119
  alias: any;
116
120
  locusUrl: any;
121
+ suffix: any;
117
122
  };
118
123
  getMuteMemberRequestParams: (options: any) => {
119
124
  method: string;
@@ -175,8 +180,9 @@ declare const MembersUtil: {
175
180
  method: string;
176
181
  uri: string;
177
182
  body: {
178
- aliasValue: any;
179
- requestingParticipantId: any;
183
+ aliasValue: string;
184
+ requestingParticipantId: string;
185
+ suffixValue?: string;
180
186
  };
181
187
  };
182
188
  getTransferHostToMemberRequestParams: (options: any) => {
@@ -228,16 +234,17 @@ declare const MembersUtil: {
228
234
  }[];
229
235
  };
230
236
  };
231
- cancelSIPInviteOptions: (invitee: any, locusUrl: any) => {
237
+ cancelInviteByMemberIdOptions: (invitee: any, locusUrl: any) => {
232
238
  invitee: any;
233
239
  locusUrl: any;
234
240
  };
235
- generateCancelSIPInviteRequestParams: (options: any) => {
241
+ generateCancelInviteByMemberIdRequestParams: (options: any) => {
236
242
  method: string;
237
243
  uri: any;
238
244
  body: {
239
245
  actionType: string;
240
246
  invitees: {
247
+ isInternalNumber?: any;
241
248
  address: any;
242
249
  }[];
243
250
  };
@@ -69,6 +69,7 @@ declare const BEHAVIORAL_METRICS: {
69
69
  MEETING_INFO_POLICY_ERROR: string;
70
70
  LOCUS_DELTA_SYNC_FAILED: string;
71
71
  LOCUS_DELTA_OUT_OF_ORDER: string;
72
+ LOCUS_SYNC_HANDLING_FAILED: string;
72
73
  PERMISSION_TOKEN_REFRESH: string;
73
74
  PERMISSION_TOKEN_REFRESH_ERROR: string;
74
75
  TURN_DISCOVERY_LATENCY: string;
@@ -7,9 +7,17 @@ export declare const RemoteMediaEvents: {
7
7
  Stopped: string;
8
8
  };
9
9
  export type RemoteVideoResolution = 'thumbnail' | 'very small' | 'small' | 'medium' | 'large' | 'best';
10
+ export declare const MAX_FS_VALUES: {
11
+ '90p': number;
12
+ '180p': number;
13
+ '360p': number;
14
+ '540p': number;
15
+ '720p': number;
16
+ '1080p': number;
17
+ };
10
18
  /**
11
19
  * Converts pane size into h264 maxFs
12
- * @param {PaneSize} paneSize
20
+ * @param {RemoteVideoResolution} paneSize
13
21
  * @returns {number}
14
22
  */
15
23
  export declare function getMaxFs(paneSize: RemoteVideoResolution): number;
@@ -29,6 +37,12 @@ export declare class RemoteMedia extends EventsScope {
29
37
  private readonly options;
30
38
  private mediaRequestId?;
31
39
  readonly id: RemoteMediaId;
40
+ /**
41
+ * The max frame size of the media request, used for logging and media requests.
42
+ * Set by setSizeHint() based on video element dimensions.
43
+ * When > 0, this value takes precedence over options.resolution in sendMediaRequest().
44
+ */
45
+ private maxFrameSize;
32
46
  /**
33
47
  * Constructs RemoteMedia instance
34
48
  *
@@ -45,6 +59,11 @@ export declare class RemoteMedia extends EventsScope {
45
59
  * @note width/height of 0 will be ignored
46
60
  */
47
61
  setSizeHint(width: any, height: any): void;
62
+ /**
63
+ * Get the current effective maxFs value that would be used in media requests
64
+ * @returns {number | undefined} The maxFs value, or undefined if no constraints
65
+ */
66
+ getEffectiveMaxFs(): number | undefined;
48
67
  /**
49
68
  * registers event listeners on the receive slot and forwards all the events
50
69
  */
@@ -45,5 +45,16 @@ export declare class RemoteMediaGroup {
45
45
  * @returns true if remote media is found
46
46
  */
47
47
  includes(remoteMedia: RemoteMedia, filter?: 'all' | 'pinned' | 'unpinned'): boolean;
48
+ /**
49
+ * Calculate the effective maxFs for the active speaker media request based on unpinned RemoteMedia instances
50
+ * @returns {number | undefined} The calculated maxFs value, or undefined if no constraints
51
+ * @private
52
+ */
53
+ private getEffectiveMaxFsForActiveSpeaker;
54
+ /**
55
+ * Get the current effective maxFs that would be used for the active speaker media request
56
+ * @returns {number | undefined} The effective maxFs value
57
+ */
58
+ getEffectiveMaxFs(): number | undefined;
48
59
  }
49
60
  export {};
@@ -1,7 +1,17 @@
1
1
  import { SendSlot, MediaType, LocalStream, MultistreamRoapMediaConnection, NamedMediaGroup, StreamState } from '@webex/internal-media-core';
2
+ /**
3
+ * This class is used to manage the sendSlots for the given media types.
4
+ */
2
5
  export default class SendSlotManager {
3
6
  private readonly slots;
4
7
  private readonly LoggerProxy;
8
+ private readonly sourceStateOverrides;
9
+ /**
10
+ * Constructor for SendSlotManager
11
+ *
12
+ * @param {any} LoggerProxy is used to log the messages
13
+ * @constructor
14
+ */
5
15
  constructor(LoggerProxy: any);
6
16
  /**
7
17
  * This method is used to create a sendSlot for the given mediaType and returns the created sendSlot
@@ -32,6 +42,12 @@ export default class SendSlotManager {
32
42
  * @returns {void}
33
43
  */
34
44
  setSourceStateOverride(mediaType: MediaType, state: StreamState | null): void;
45
+ /**
46
+ * Gets the source state override for the given media type.
47
+ * @param {MediaType} mediaType - The type of media to get the source state override for.
48
+ * @returns {StreamState | null} - The current source state override or null if not set.
49
+ */
50
+ private getSourceStateOverride;
35
51
  /**
36
52
  * This method publishes the given stream to the sendSlot for the given mediaType
37
53
  * @param {MediaType} mediaType MediaType of the sendSlot to which a stream needs to be published (AUDIO_MAIN/VIDEO_MAIN/AUDIO_SLIDES/VIDEO_SLIDES)
@@ -68,12 +68,12 @@ export default class Reachability extends EventsScope {
68
68
  }>;
69
69
  /**
70
70
  * Checks if the given subnet is reachable
71
- * @param {string} mediaServerIp - media server ip
71
+ * @param {string} selectedSubnetFirstOctet - selected subnet first octet, e.g. "10" for "10.X.X.X"
72
72
  * @returns {boolean | null} true if reachable, false if not reachable, null if mediaServerIp is not provided
73
73
  * @public
74
74
  * @memberof Reachability
75
75
  */
76
- isSubnetReachable(mediaServerIp?: string): boolean | null;
76
+ isSubnetReachable(selectedSubnetFirstOctet: string): boolean | null;
77
77
  /**
78
78
  * Gets a list of media clusters from the backend and performs reachability checks on all the clusters
79
79
  * @param {string} trigger - explains the reason for starting reachability
@@ -458,7 +458,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
458
458
  }, _callee7);
459
459
  }))();
460
460
  },
461
- version: "3.8.1"
461
+ version: "3.9.0-next.10"
462
462
  });
463
463
  var _default = exports.default = Webinar;
464
464
  //# sourceMappingURL=index.js.map
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@webex/plugin-meetings",
3
3
  "description": "",
4
- "license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)",
4
+ "license": "Cisco's General Terms (https://www.cisco.com/site/us/en/about/legal/contract-experience/index.html)",
5
5
  "contributors": [
6
6
  "Adam Weeks <adweeks@cisco.com> (https://adamweeks.com/)",
7
7
  "Arun Ganeshan <arungane@cisco.com>",
@@ -43,13 +43,12 @@
43
43
  "@webex/eslint-config-legacy": "0.0.0",
44
44
  "@webex/jest-config-legacy": "0.0.0",
45
45
  "@webex/legacy-tools": "0.0.0",
46
- "@webex/plugin-meetings": "3.8.1",
47
- "@webex/plugin-rooms": "3.8.1",
48
- "@webex/test-helper-chai": "3.8.1",
49
- "@webex/test-helper-mocha": "3.8.1",
50
- "@webex/test-helper-mock-webex": "3.8.1",
51
- "@webex/test-helper-retry": "3.8.1",
52
- "@webex/test-helper-test-users": "3.8.1",
46
+ "@webex/plugin-rooms": "3.9.0-next.2",
47
+ "@webex/test-helper-chai": "3.8.1-next.11",
48
+ "@webex/test-helper-mocha": "3.8.1-next.11",
49
+ "@webex/test-helper-mock-webex": "3.8.1-next.11",
50
+ "@webex/test-helper-retry": "3.8.1-next.11",
51
+ "@webex/test-helper-test-users": "3.8.1-next.11",
53
52
  "chai": "^4.3.4",
54
53
  "chai-as-promised": "^7.1.1",
55
54
  "eslint": "^8.24.0",
@@ -61,23 +60,23 @@
61
60
  "typescript": "^4.7.4"
62
61
  },
63
62
  "dependencies": {
64
- "@webex/common": "3.8.1",
65
- "@webex/event-dictionary-ts": "^1.0.1753",
66
- "@webex/internal-media-core": "2.17.1",
67
- "@webex/internal-plugin-conversation": "3.8.1",
68
- "@webex/internal-plugin-device": "3.8.1",
69
- "@webex/internal-plugin-llm": "3.8.1",
70
- "@webex/internal-plugin-mercury": "3.8.1",
71
- "@webex/internal-plugin-metrics": "3.8.1",
72
- "@webex/internal-plugin-support": "3.8.1",
73
- "@webex/internal-plugin-user": "3.8.1",
74
- "@webex/internal-plugin-voicea": "3.8.1",
75
- "@webex/media-helpers": "3.8.1",
76
- "@webex/plugin-people": "3.8.1",
77
- "@webex/plugin-rooms": "3.8.1",
63
+ "@webex/common": "3.8.1-next.11",
64
+ "@webex/event-dictionary-ts": "^1.0.1819",
65
+ "@webex/internal-media-core": "2.18.5",
66
+ "@webex/internal-plugin-conversation": "3.9.0-next.2",
67
+ "@webex/internal-plugin-device": "3.9.0-next.2",
68
+ "@webex/internal-plugin-llm": "3.9.0-next.2",
69
+ "@webex/internal-plugin-mercury": "3.9.0-next.2",
70
+ "@webex/internal-plugin-metrics": "3.9.0-next.2",
71
+ "@webex/internal-plugin-support": "3.9.0-next.3",
72
+ "@webex/internal-plugin-user": "3.9.0-next.2",
73
+ "@webex/internal-plugin-voicea": "3.9.0-next.2",
74
+ "@webex/media-helpers": "3.8.1-next.16",
75
+ "@webex/plugin-people": "3.9.0-next.2",
76
+ "@webex/plugin-rooms": "3.9.0-next.2",
78
77
  "@webex/ts-sdp": "^1.8.1",
79
- "@webex/web-capabilities": "^1.4.0",
80
- "@webex/webex-core": "3.8.1",
78
+ "@webex/web-capabilities": "^1.6.0",
79
+ "@webex/webex-core": "3.9.0-next.2",
81
80
  "ampersand-collection": "^2.0.2",
82
81
  "bowser": "^2.11.0",
83
82
  "btoa": "^1.2.1",
@@ -93,5 +92,5 @@
93
92
  "//": [
94
93
  "TODO: upgrade jwt-decode when moving to node 18"
95
94
  ],
96
- "version": "3.8.1"
95
+ "version": "3.9.0-next.10"
97
96
  }