@webex/plugin-meetings 3.11.0 → 3.12.0-next.2

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 (170) hide show
  1. package/dist/aiEnableRequest/index.js +184 -0
  2. package/dist/aiEnableRequest/index.js.map +1 -0
  3. package/dist/aiEnableRequest/utils.js +36 -0
  4. package/dist/aiEnableRequest/utils.js.map +1 -0
  5. package/dist/annotation/index.js +14 -5
  6. package/dist/annotation/index.js.map +1 -1
  7. package/dist/breakouts/breakout.js +1 -1
  8. package/dist/breakouts/index.js +1 -1
  9. package/dist/config.js +7 -2
  10. package/dist/config.js.map +1 -1
  11. package/dist/constants.js +28 -6
  12. package/dist/constants.js.map +1 -1
  13. package/dist/hashTree/constants.js +3 -1
  14. package/dist/hashTree/constants.js.map +1 -1
  15. package/dist/hashTree/hashTree.js +18 -0
  16. package/dist/hashTree/hashTree.js.map +1 -1
  17. package/dist/hashTree/hashTreeParser.js +850 -410
  18. package/dist/hashTree/hashTreeParser.js.map +1 -1
  19. package/dist/hashTree/types.js +4 -2
  20. package/dist/hashTree/types.js.map +1 -1
  21. package/dist/hashTree/utils.js +10 -0
  22. package/dist/hashTree/utils.js.map +1 -1
  23. package/dist/index.js +11 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/interceptors/constant.js +12 -0
  26. package/dist/interceptors/constant.js.map +1 -0
  27. package/dist/interceptors/dataChannelAuthToken.js +290 -0
  28. package/dist/interceptors/dataChannelAuthToken.js.map +1 -0
  29. package/dist/interceptors/index.js +7 -0
  30. package/dist/interceptors/index.js.map +1 -1
  31. package/dist/interceptors/utils.js +27 -0
  32. package/dist/interceptors/utils.js.map +1 -0
  33. package/dist/interpretation/index.js +2 -2
  34. package/dist/interpretation/index.js.map +1 -1
  35. package/dist/interpretation/siLanguage.js +1 -1
  36. package/dist/locus-info/controlsUtils.js +5 -3
  37. package/dist/locus-info/controlsUtils.js.map +1 -1
  38. package/dist/locus-info/index.js +522 -131
  39. package/dist/locus-info/index.js.map +1 -1
  40. package/dist/locus-info/selfUtils.js +1 -0
  41. package/dist/locus-info/selfUtils.js.map +1 -1
  42. package/dist/locus-info/types.js.map +1 -1
  43. package/dist/media/MediaConnectionAwaiter.js +57 -1
  44. package/dist/media/MediaConnectionAwaiter.js.map +1 -1
  45. package/dist/media/properties.js +4 -2
  46. package/dist/media/properties.js.map +1 -1
  47. package/dist/meeting/in-meeting-actions.js +7 -1
  48. package/dist/meeting/in-meeting-actions.js.map +1 -1
  49. package/dist/meeting/index.js +1173 -877
  50. package/dist/meeting/index.js.map +1 -1
  51. package/dist/meeting/request.js +50 -0
  52. package/dist/meeting/request.js.map +1 -1
  53. package/dist/meeting/request.type.js.map +1 -1
  54. package/dist/meeting/util.js +133 -3
  55. package/dist/meeting/util.js.map +1 -1
  56. package/dist/meetings/index.js +117 -48
  57. package/dist/meetings/index.js.map +1 -1
  58. package/dist/member/index.js +10 -0
  59. package/dist/member/index.js.map +1 -1
  60. package/dist/member/util.js +10 -0
  61. package/dist/member/util.js.map +1 -1
  62. package/dist/metrics/constants.js +2 -1
  63. package/dist/metrics/constants.js.map +1 -1
  64. package/dist/multistream/mediaRequestManager.js +9 -60
  65. package/dist/multistream/mediaRequestManager.js.map +1 -1
  66. package/dist/multistream/remoteMediaManager.js +11 -0
  67. package/dist/multistream/remoteMediaManager.js.map +1 -1
  68. package/dist/reachability/index.js +18 -10
  69. package/dist/reachability/index.js.map +1 -1
  70. package/dist/reactions/reactions.type.js.map +1 -1
  71. package/dist/reconnection-manager/index.js +0 -1
  72. package/dist/reconnection-manager/index.js.map +1 -1
  73. package/dist/types/aiEnableRequest/index.d.ts +5 -0
  74. package/dist/types/aiEnableRequest/utils.d.ts +2 -0
  75. package/dist/types/config.d.ts +4 -0
  76. package/dist/types/constants.d.ts +23 -1
  77. package/dist/types/hashTree/constants.d.ts +1 -0
  78. package/dist/types/hashTree/hashTree.d.ts +7 -0
  79. package/dist/types/hashTree/hashTreeParser.d.ts +122 -14
  80. package/dist/types/hashTree/types.d.ts +3 -0
  81. package/dist/types/hashTree/utils.d.ts +6 -0
  82. package/dist/types/index.d.ts +1 -0
  83. package/dist/types/interceptors/constant.d.ts +5 -0
  84. package/dist/types/interceptors/dataChannelAuthToken.d.ts +43 -0
  85. package/dist/types/interceptors/index.d.ts +2 -1
  86. package/dist/types/interceptors/utils.d.ts +1 -0
  87. package/dist/types/locus-info/index.d.ts +60 -8
  88. package/dist/types/locus-info/types.d.ts +7 -0
  89. package/dist/types/media/MediaConnectionAwaiter.d.ts +10 -1
  90. package/dist/types/media/properties.d.ts +2 -1
  91. package/dist/types/meeting/in-meeting-actions.d.ts +6 -0
  92. package/dist/types/meeting/index.d.ts +61 -7
  93. package/dist/types/meeting/request.d.ts +16 -1
  94. package/dist/types/meeting/request.type.d.ts +5 -0
  95. package/dist/types/meeting/util.d.ts +31 -0
  96. package/dist/types/meetings/index.d.ts +4 -2
  97. package/dist/types/member/index.d.ts +1 -0
  98. package/dist/types/member/util.d.ts +5 -0
  99. package/dist/types/metrics/constants.d.ts +1 -0
  100. package/dist/types/multistream/mediaRequestManager.d.ts +0 -23
  101. package/dist/types/reactions/reactions.type.d.ts +1 -0
  102. package/dist/types/webinar/utils.d.ts +6 -0
  103. package/dist/webinar/index.js +291 -91
  104. package/dist/webinar/index.js.map +1 -1
  105. package/dist/webinar/utils.js +25 -0
  106. package/dist/webinar/utils.js.map +1 -0
  107. package/package.json +24 -23
  108. package/src/aiEnableRequest/README.md +84 -0
  109. package/src/aiEnableRequest/index.ts +170 -0
  110. package/src/aiEnableRequest/utils.ts +25 -0
  111. package/src/annotation/index.ts +27 -7
  112. package/src/config.ts +4 -0
  113. package/src/constants.ts +29 -1
  114. package/src/hashTree/constants.ts +1 -0
  115. package/src/hashTree/hashTree.ts +17 -0
  116. package/src/hashTree/hashTreeParser.ts +745 -252
  117. package/src/hashTree/types.ts +4 -0
  118. package/src/hashTree/utils.ts +9 -0
  119. package/src/index.ts +8 -1
  120. package/src/interceptors/constant.ts +6 -0
  121. package/src/interceptors/dataChannelAuthToken.ts +170 -0
  122. package/src/interceptors/index.ts +2 -1
  123. package/src/interceptors/utils.ts +16 -0
  124. package/src/interpretation/index.ts +2 -2
  125. package/src/locus-info/controlsUtils.ts +11 -0
  126. package/src/locus-info/index.ts +579 -113
  127. package/src/locus-info/selfUtils.ts +1 -0
  128. package/src/locus-info/types.ts +8 -0
  129. package/src/media/MediaConnectionAwaiter.ts +41 -1
  130. package/src/media/properties.ts +3 -1
  131. package/src/meeting/in-meeting-actions.ts +12 -0
  132. package/src/meeting/index.ts +291 -76
  133. package/src/meeting/request.ts +42 -0
  134. package/src/meeting/request.type.ts +6 -0
  135. package/src/meeting/util.ts +160 -2
  136. package/src/meetings/index.ts +157 -44
  137. package/src/member/index.ts +10 -0
  138. package/src/member/util.ts +12 -0
  139. package/src/metrics/constants.ts +1 -0
  140. package/src/multistream/mediaRequestManager.ts +4 -54
  141. package/src/multistream/remoteMediaManager.ts +13 -0
  142. package/src/reachability/index.ts +9 -0
  143. package/src/reactions/reactions.type.ts +1 -0
  144. package/src/reconnection-manager/index.ts +0 -1
  145. package/src/webinar/index.ts +191 -6
  146. package/src/webinar/utils.ts +16 -0
  147. package/test/unit/spec/aiEnableRequest/index.ts +981 -0
  148. package/test/unit/spec/aiEnableRequest/utils.ts +130 -0
  149. package/test/unit/spec/annotation/index.ts +69 -7
  150. package/test/unit/spec/hashTree/hashTree.ts +66 -0
  151. package/test/unit/spec/hashTree/hashTreeParser.ts +2225 -189
  152. package/test/unit/spec/interceptors/dataChannelAuthToken.ts +210 -0
  153. package/test/unit/spec/interceptors/utils.ts +75 -0
  154. package/test/unit/spec/locus-info/controlsUtils.js +29 -0
  155. package/test/unit/spec/locus-info/index.js +1134 -55
  156. package/test/unit/spec/media/MediaConnectionAwaiter.ts +41 -1
  157. package/test/unit/spec/media/properties.ts +12 -3
  158. package/test/unit/spec/meeting/in-meeting-actions.ts +8 -2
  159. package/test/unit/spec/meeting/index.js +829 -115
  160. package/test/unit/spec/meeting/request.js +70 -0
  161. package/test/unit/spec/meeting/utils.js +438 -26
  162. package/test/unit/spec/meetings/index.js +653 -32
  163. package/test/unit/spec/member/index.js +28 -4
  164. package/test/unit/spec/member/util.js +65 -27
  165. package/test/unit/spec/multistream/mediaRequestManager.ts +2 -85
  166. package/test/unit/spec/multistream/remoteMediaManager.ts +30 -0
  167. package/test/unit/spec/reachability/index.ts +23 -0
  168. package/test/unit/spec/reconnection-manager/index.js +4 -8
  169. package/test/unit/spec/webinar/index.ts +474 -37
  170. package/test/unit/spec/webinar/utils.ts +39 -0
package/src/constants.ts CHANGED
@@ -44,6 +44,7 @@ export const LOCAL = 'local';
44
44
  export const LOCI = 'loci';
45
45
  export const LOCUS_URL = 'locusUrl';
46
46
  export const END = 'end';
47
+ export const LLM_PRACTICE_SESSION = 'llm-practice-session';
47
48
 
48
49
  export const MAX_RANDOM_DELAY_FOR_MEETING_INFO = 3 * 60 * 1000;
49
50
  export const MEETINGINFO = 'meetingInfo';
@@ -364,6 +365,8 @@ export const EVENT_TRIGGERS = {
364
365
  MEETING_CONTROLS_VIEW_THE_PARTICIPANTS_LIST_UPDATED:
365
366
  'meeting:controls:view-the-participants-list:updated',
366
367
  MEETING_CONTROLS_RAISE_HAND_UPDATED: 'meeting:controls:raise-hand:updated',
368
+ MEETING_CONTROLS_AI_SUMMARY_NOTIFICATION_UPDATED:
369
+ 'meeting:controls:ai-summary-notification:updated',
367
370
  MEETING_CONTROLS_VIDEO_UPDATED: 'meeting:controls:video:updated',
368
371
  MEETING_CONTROLS_STAGE_VIEW_UPDATED: 'meeting:controls:stage-view:updated',
369
372
  MEETING_CONTROLS_WEBCAST_UPDATED: 'meeting:controls:webcast:updated',
@@ -387,6 +390,7 @@ export const EVENT_TRIGGERS = {
387
390
  MEETING_MANUAL_CAPTION_UPDATED: 'meeting:manualCaptionControl:updated',
388
391
  MEETING_CAPTION_RECEIVED: 'meeting:caption-received',
389
392
  MEETING_PARTICIPANT_REASON_CHANGED: 'meeting:participant-reason-changed',
393
+ MEETING_AI_ENABLE_REQUEST: 'meeting:aiEnableRequest',
390
394
  };
391
395
 
392
396
  export const EVENT_TYPES = {
@@ -413,7 +417,6 @@ export const HEADERS = {
413
417
  // Meeting actually ended
414
418
  export const MEETING_REMOVED_REASON = {
415
419
  SELF_REMOVED: 'SELF_REMOVED', // server or host removed you from the meeting
416
- FULLSTATE_REMOVED: 'FULLSTATE_REMOVED', // meeting got dropped ? not sure
417
420
  MEETING_INACTIVE_TERMINATING: 'MEETING_INACTIVE_TERMINATING', // Meeting got ended or everyone left the meeting
418
421
  CLIENT_LEAVE_REQUEST: 'CLIENT_LEAVE_REQUEST', // You triggered leave meeting
419
422
  CLIENT_LEAVE_REQUEST_TAB_CLOSED: 'CLIENT_LEAVE_REQUEST_TAB_CLOSED', // You triggered leave meeting, such as closing the browser tab directly
@@ -704,6 +707,7 @@ export const LOCUSINFO = {
704
707
  CONTROLS_MEETING_LAYOUT_UPDATED: 'CONTROLS_MEETING_LAYOUT_UPDATED',
705
708
  CONTROLS_RECORDING_UPDATED: 'CONTROLS_RECORDING_UPDATED',
706
709
  CONTROLS_MEETING_TRANSCRIBE_UPDATED: 'CONTROLS_MEETING_TRANSCRIBE_UPDATED',
710
+ CONTROLS_AI_SUMMARY_NOTIFICATION_UPDATED: 'CONTROLS_AI_SUMMARY_NOTIFICATION_UPDATED',
707
711
  CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED:
708
712
  'CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED',
709
713
  CONTROLS_MEETING_MANUAL_CAPTION_UPDATED: 'CONTROLS_MEETING_MANUAL_CAPTION_UPDATED',
@@ -750,6 +754,7 @@ export const LOCUSINFO = {
750
754
  SELF_IS_SHARING_BLOCKED_CHANGE: 'SELF_IS_SHARING_BLOCKED_CHANGE',
751
755
  SELF_MEETING_BREAKOUTS_CHANGED: 'SELF_MEETING_BREAKOUTS_CHANGED',
752
756
  SELF_MEETING_INTERPRETATION_CHANGED: 'SELF_MEETING_INTERPRETATION_CHANGED',
757
+ SELF_ID_CHANGED: 'SELF_ID_CHANGED',
753
758
  SELF_MEETING_BRB_CHANGED: 'SELF_MEETING_BRB_CHANGED',
754
759
  MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',
755
760
  LINKS_SERVICES: 'LINKS_SERVICES',
@@ -797,6 +802,8 @@ export const LOCUSEVENT = {
797
802
 
798
803
  HASH_TREE_DATA_UPDATED: 'locus.state_message',
799
804
 
805
+ APPROVAL_REQUEST: 'locus.approval_request',
806
+
800
807
  // events generated internally by SDK
801
808
  SDK_LOCUS_FROM_SYNC_MEETINGS: 'jsSdk.locus_from_sync_meetings', // generated for each meeting from response to GET /loci Locus API call
802
809
  SDK_NO_EVENT: 'jsSdk.no_event', // used in cases where eventType is irrelevant
@@ -977,6 +984,8 @@ export const DISPLAY_HINTS = {
977
984
  LOWER_SOMEONE_ELSES_HAND: 'LOWER_SOMEONE_ELSES_HAND',
978
985
  LEAVE_TRANSFER_HOST_END_MEETING: 'LEAVE_TRANSFER_HOST_END_MEETING',
979
986
  LEAVE_END_MEETING: 'LEAVE_END_MEETING',
987
+ END_MEETING: 'END_MEETING',
988
+ REQUIRE_HOST_END_MEETING_BEFORE_LEAVE: 'REQUIRE_HOST_END_MEETING_BEFORE_LEAVE',
980
989
  STREAMING_STATUS_STARTED: 'STREAMING_STATUS_STARTED',
981
990
  STREAMING_STATUS_STOPPED: 'STREAMING_STATUS_STOPPED',
982
991
  CAPTION_START: 'CAPTION_START',
@@ -1080,6 +1089,10 @@ export const DISPLAY_HINTS = {
1080
1089
  // Polling QA
1081
1090
  ENABLE_ATTENDEE_START_POLLING_QA: 'ENABLE_ATTENDEE_START_POLLING_QA',
1082
1091
  DISABLE_ATTENDEE_START_POLLING_QA: 'DISABLE_ATTENDEE_START_POLLING_QA',
1092
+
1093
+ // AI
1094
+ ATTENDEE_REQUEST_AI_ASSISTANT_ENABLED: 'ATTENDEE_REQUEST_AI_ASSISTANT_ENABLED',
1095
+ ATTENDEE_REQUEST_AI_ASSISTANT_DECLINED_ALL: 'ATTENDEE_REQUEST_AI_ASSISTANT_DECLINED_ALL',
1083
1096
  };
1084
1097
 
1085
1098
  export const INTERSTITIAL_DISPLAY_HINTS = [DISPLAY_HINTS.VOIP_IS_ENABLED];
@@ -1401,3 +1414,18 @@ export const STAGE_MANAGER_TYPE = {
1401
1414
  BACKGROUND: 0b010,
1402
1415
  NAME_LABEL: 0b100,
1403
1416
  };
1417
+
1418
+ export const DEFAULT_LARGE_SCALE_WEBINAR_ATTENDEE_SEARCH_LIMIT = 50;
1419
+
1420
+ export const AI_ENABLE_REQUEST = {
1421
+ EVENTS: {
1422
+ APPROVAL_REQUEST_ARRIVED: 'APPROVAL_REQUEST_ARRIVED',
1423
+ },
1424
+ ACTION_TYPE: {
1425
+ REQUESTED: 'REQUESTED',
1426
+ ACCEPTED: 'ACCEPTED',
1427
+ DECLINED: 'DECLINED',
1428
+ DECLINED_ALL: 'DECLINED_ALL',
1429
+ },
1430
+ RESOURCE_TYPE: 'AiAssistant',
1431
+ };
@@ -6,4 +6,5 @@ export const DataSetNames = {
6
6
  ATD_ACTIVE: 'atd-active', // only sent to panelists, over LLM; the attendees that have their hands raised or are allowed to unmute themselves
7
7
  ATD_UNMUTED: 'atd-unmuted', // sent to web client, over LLM, not sent to panelists; the attendees that are unmuted
8
8
  SELF: 'self', // sent to web client, over Mercury
9
+ UNJOINED: 'unjoined', // sent when you are not joined, but can still see some stuff from the meeting (mutually exclusive with "main")
9
10
  };
@@ -371,6 +371,23 @@ class HashTree {
371
371
  return items;
372
372
  }
373
373
 
374
+ /**
375
+ * Retrieves the version of a specific item by its id and type.
376
+ * @param {number} id The ID of the item.
377
+ * @param {ObjectType} type The type of the item.
378
+ * @returns {number | undefined} The version of the item if found, undefined otherwise.
379
+ */
380
+ getItemVersion(id: number, type: ObjectType): number | undefined {
381
+ if (this.numLeaves === 0) {
382
+ return undefined;
383
+ }
384
+
385
+ const index = id % this.numLeaves;
386
+ const item = this.leaves[index]?.[type]?.[id];
387
+
388
+ return item?.version;
389
+ }
390
+
374
391
  /**
375
392
  * Resizes the HashTree to have a new number of leaf nodes, redistributing all existing items.
376
393
  * @param {number} newNumLeaves The new number of leaf nodes (must be 0 or a power of 2).