@webex/plugin-meetings 3.12.0-next.8 → 3.12.0-task-refactor.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 (201) hide show
  1. package/dist/annotation/index.js +5 -14
  2. package/dist/annotation/index.js.map +1 -1
  3. package/dist/breakouts/breakout.js +1 -1
  4. package/dist/breakouts/index.js +1 -1
  5. package/dist/config.js +2 -8
  6. package/dist/config.js.map +1 -1
  7. package/dist/constants.js +6 -29
  8. package/dist/constants.js.map +1 -1
  9. package/dist/hashTree/hashTreeParser.js +29 -1563
  10. package/dist/hashTree/hashTreeParser.js.map +1 -1
  11. package/dist/hashTree/types.js +3 -13
  12. package/dist/hashTree/types.js.map +1 -1
  13. package/dist/index.js +2 -11
  14. package/dist/index.js.map +1 -1
  15. package/dist/interceptors/index.js +0 -7
  16. package/dist/interceptors/index.js.map +1 -1
  17. package/dist/interceptors/locusRouteToken.js +5 -27
  18. package/dist/interceptors/locusRouteToken.js.map +1 -1
  19. package/dist/interpretation/index.js +2 -2
  20. package/dist/interpretation/index.js.map +1 -1
  21. package/dist/interpretation/siLanguage.js +1 -1
  22. package/dist/locus-info/controlsUtils.js +3 -7
  23. package/dist/locus-info/controlsUtils.js.map +1 -1
  24. package/dist/locus-info/index.js +247 -642
  25. package/dist/locus-info/index.js.map +1 -1
  26. package/dist/locus-info/selfUtils.js +0 -1
  27. package/dist/locus-info/selfUtils.js.map +1 -1
  28. package/dist/locus-info/types.js.map +1 -1
  29. package/dist/media/MediaConnectionAwaiter.js +1 -57
  30. package/dist/media/MediaConnectionAwaiter.js.map +1 -1
  31. package/dist/media/properties.js +2 -4
  32. package/dist/media/properties.js.map +1 -1
  33. package/dist/meeting/in-meeting-actions.js +1 -7
  34. package/dist/meeting/in-meeting-actions.js.map +1 -1
  35. package/dist/meeting/index.js +1036 -1481
  36. package/dist/meeting/index.js.map +1 -1
  37. package/dist/meeting/request.js +0 -50
  38. package/dist/meeting/request.js.map +1 -1
  39. package/dist/meeting/request.type.js.map +1 -1
  40. package/dist/meeting/util.js +3 -133
  41. package/dist/meeting/util.js.map +1 -1
  42. package/dist/meetings/index.js +59 -142
  43. package/dist/meetings/index.js.map +1 -1
  44. package/dist/meetings/util.js +7 -11
  45. package/dist/meetings/util.js.map +1 -1
  46. package/dist/member/index.js +0 -10
  47. package/dist/member/index.js.map +1 -1
  48. package/dist/member/util.js +0 -10
  49. package/dist/member/util.js.map +1 -1
  50. package/dist/metrics/constants.js +1 -7
  51. package/dist/metrics/constants.js.map +1 -1
  52. package/dist/multistream/mediaRequestManager.js +60 -9
  53. package/dist/multistream/mediaRequestManager.js.map +1 -1
  54. package/dist/multistream/remoteMediaManager.js +0 -11
  55. package/dist/multistream/remoteMediaManager.js.map +1 -1
  56. package/dist/multistream/sendSlotManager.js +2 -116
  57. package/dist/multistream/sendSlotManager.js.map +1 -1
  58. package/dist/reachability/clusterReachability.js +18 -171
  59. package/dist/reachability/clusterReachability.js.map +1 -1
  60. package/dist/reachability/index.js +11 -21
  61. package/dist/reachability/index.js.map +1 -1
  62. package/dist/reachability/reachabilityPeerConnection.js +1 -1
  63. package/dist/reachability/reachabilityPeerConnection.js.map +1 -1
  64. package/dist/reactions/reactions.type.js.map +1 -1
  65. package/dist/reconnection-manager/index.js +1 -0
  66. package/dist/reconnection-manager/index.js.map +1 -1
  67. package/dist/types/common/browser-detection.d.ts +0 -1
  68. package/dist/types/common/events/events-scope.d.ts +0 -1
  69. package/dist/types/common/events/events.d.ts +0 -1
  70. package/dist/types/config.d.ts +0 -5
  71. package/dist/types/constants.d.ts +1 -24
  72. package/dist/types/hashTree/hashTreeParser.d.ts +11 -260
  73. package/dist/types/hashTree/types.d.ts +0 -20
  74. package/dist/types/index.d.ts +0 -1
  75. package/dist/types/interceptors/index.d.ts +1 -2
  76. package/dist/types/interceptors/locusRouteToken.d.ts +0 -2
  77. package/dist/types/locus-info/index.d.ts +47 -68
  78. package/dist/types/locus-info/types.d.ts +12 -28
  79. package/dist/types/media/MediaConnectionAwaiter.d.ts +1 -10
  80. package/dist/types/media/properties.d.ts +1 -2
  81. package/dist/types/meeting/in-meeting-actions.d.ts +0 -6
  82. package/dist/types/meeting/index.d.ts +7 -86
  83. package/dist/types/meeting/request.d.ts +1 -16
  84. package/dist/types/meeting/request.type.d.ts +0 -5
  85. package/dist/types/meeting/util.d.ts +0 -31
  86. package/dist/types/meeting-info/util.d.ts +0 -1
  87. package/dist/types/meeting-info/utilv2.d.ts +0 -1
  88. package/dist/types/meetings/index.d.ts +2 -4
  89. package/dist/types/member/index.d.ts +0 -1
  90. package/dist/types/member/types.d.ts +4 -4
  91. package/dist/types/member/util.d.ts +0 -5
  92. package/dist/types/metrics/constants.d.ts +0 -6
  93. package/dist/types/multistream/mediaRequestManager.d.ts +23 -0
  94. package/dist/types/multistream/sendSlotManager.d.ts +1 -23
  95. package/dist/types/reachability/clusterReachability.d.ts +3 -30
  96. package/dist/types/reactions/reactions.type.d.ts +0 -1
  97. package/dist/types/recording-controller/util.d.ts +5 -5
  98. package/dist/types/roap/index.d.ts +1 -1
  99. package/dist/webinar/index.js +163 -438
  100. package/dist/webinar/index.js.map +1 -1
  101. package/package.json +24 -26
  102. package/src/annotation/index.ts +7 -27
  103. package/src/config.ts +0 -5
  104. package/src/constants.ts +1 -30
  105. package/src/hashTree/hashTreeParser.ts +25 -1523
  106. package/src/hashTree/types.ts +1 -24
  107. package/src/index.ts +1 -8
  108. package/src/interceptors/index.ts +1 -2
  109. package/src/interceptors/locusRouteToken.ts +5 -22
  110. package/src/interpretation/index.ts +2 -2
  111. package/src/locus-info/controlsUtils.ts +0 -17
  112. package/src/locus-info/index.ts +213 -707
  113. package/src/locus-info/selfUtils.ts +0 -1
  114. package/src/locus-info/types.ts +12 -27
  115. package/src/media/MediaConnectionAwaiter.ts +1 -41
  116. package/src/media/properties.ts +1 -3
  117. package/src/meeting/in-meeting-actions.ts +0 -12
  118. package/src/meeting/index.ts +84 -461
  119. package/src/meeting/request.ts +0 -42
  120. package/src/meeting/request.type.ts +0 -6
  121. package/src/meeting/util.ts +2 -160
  122. package/src/meetings/index.ts +60 -180
  123. package/src/meetings/util.ts +9 -10
  124. package/src/member/index.ts +0 -10
  125. package/src/member/util.ts +0 -12
  126. package/src/metrics/constants.ts +0 -7
  127. package/src/multistream/mediaRequestManager.ts +54 -4
  128. package/src/multistream/remoteMediaManager.ts +0 -13
  129. package/src/multistream/sendSlotManager.ts +3 -97
  130. package/src/reachability/clusterReachability.ts +27 -153
  131. package/src/reachability/index.ts +1 -15
  132. package/src/reachability/reachabilityPeerConnection.ts +1 -3
  133. package/src/reactions/reactions.type.ts +0 -1
  134. package/src/reconnection-manager/index.ts +1 -0
  135. package/src/webinar/index.ts +6 -265
  136. package/test/unit/spec/annotation/index.ts +7 -69
  137. package/test/unit/spec/interceptors/locusRouteToken.ts +0 -44
  138. package/test/unit/spec/locus-info/controlsUtils.js +1 -56
  139. package/test/unit/spec/locus-info/index.js +90 -1457
  140. package/test/unit/spec/media/MediaConnectionAwaiter.ts +1 -41
  141. package/test/unit/spec/media/properties.ts +3 -12
  142. package/test/unit/spec/meeting/in-meeting-actions.ts +2 -8
  143. package/test/unit/spec/meeting/index.js +128 -981
  144. package/test/unit/spec/meeting/request.js +0 -70
  145. package/test/unit/spec/meeting/utils.js +26 -438
  146. package/test/unit/spec/meetings/index.js +33 -845
  147. package/test/unit/spec/meetings/utils.js +1 -51
  148. package/test/unit/spec/member/index.js +4 -28
  149. package/test/unit/spec/member/util.js +27 -65
  150. package/test/unit/spec/multistream/mediaRequestManager.ts +85 -2
  151. package/test/unit/spec/multistream/remoteMediaManager.ts +0 -30
  152. package/test/unit/spec/multistream/sendSlotManager.ts +36 -135
  153. package/test/unit/spec/reachability/clusterReachability.ts +1 -125
  154. package/test/unit/spec/reachability/index.ts +3 -26
  155. package/test/unit/spec/reconnection-manager/index.js +8 -4
  156. package/test/unit/spec/webinar/index.ts +37 -534
  157. package/dist/aiEnableRequest/index.js +0 -184
  158. package/dist/aiEnableRequest/index.js.map +0 -1
  159. package/dist/aiEnableRequest/utils.js +0 -36
  160. package/dist/aiEnableRequest/utils.js.map +0 -1
  161. package/dist/hashTree/constants.js +0 -22
  162. package/dist/hashTree/constants.js.map +0 -1
  163. package/dist/hashTree/hashTree.js +0 -533
  164. package/dist/hashTree/hashTree.js.map +0 -1
  165. package/dist/hashTree/utils.js +0 -69
  166. package/dist/hashTree/utils.js.map +0 -1
  167. package/dist/interceptors/constant.js +0 -12
  168. package/dist/interceptors/constant.js.map +0 -1
  169. package/dist/interceptors/dataChannelAuthToken.js +0 -290
  170. package/dist/interceptors/dataChannelAuthToken.js.map +0 -1
  171. package/dist/interceptors/utils.js +0 -27
  172. package/dist/interceptors/utils.js.map +0 -1
  173. package/dist/types/aiEnableRequest/index.d.ts +0 -5
  174. package/dist/types/aiEnableRequest/utils.d.ts +0 -2
  175. package/dist/types/hashTree/constants.d.ts +0 -9
  176. package/dist/types/hashTree/hashTree.d.ts +0 -136
  177. package/dist/types/hashTree/utils.d.ts +0 -22
  178. package/dist/types/interceptors/constant.d.ts +0 -5
  179. package/dist/types/interceptors/dataChannelAuthToken.d.ts +0 -43
  180. package/dist/types/interceptors/utils.d.ts +0 -1
  181. package/dist/types/webinar/utils.d.ts +0 -6
  182. package/dist/webinar/utils.js +0 -25
  183. package/dist/webinar/utils.js.map +0 -1
  184. package/src/aiEnableRequest/README.md +0 -84
  185. package/src/aiEnableRequest/index.ts +0 -170
  186. package/src/aiEnableRequest/utils.ts +0 -25
  187. package/src/hashTree/constants.ts +0 -10
  188. package/src/hashTree/hashTree.ts +0 -480
  189. package/src/hashTree/utils.ts +0 -62
  190. package/src/interceptors/constant.ts +0 -6
  191. package/src/interceptors/dataChannelAuthToken.ts +0 -170
  192. package/src/interceptors/utils.ts +0 -16
  193. package/src/webinar/utils.ts +0 -16
  194. package/test/unit/spec/aiEnableRequest/index.ts +0 -981
  195. package/test/unit/spec/aiEnableRequest/utils.ts +0 -130
  196. package/test/unit/spec/hashTree/hashTree.ts +0 -721
  197. package/test/unit/spec/hashTree/hashTreeParser.ts +0 -3670
  198. package/test/unit/spec/hashTree/utils.ts +0 -140
  199. package/test/unit/spec/interceptors/dataChannelAuthToken.ts +0 -210
  200. package/test/unit/spec/interceptors/utils.ts +0 -75
  201. package/test/unit/spec/webinar/utils.ts +0 -39
@@ -1,33 +1,15 @@
1
1
  import {Enum} from '../constants';
2
2
 
3
- // todo: Locus docs have now more types like EMBEDDED_APP - need to add support for them once Locus implements them
3
+ // todo: Locus docs have now more types like CONTROL_ENTRY, EMBEDDED_APP, FULL_STATE, INFO, MEDIA_SHARE - need to add support for them once Locus implements them
4
4
  export const ObjectType = {
5
5
  participant: 'participant',
6
6
  self: 'self',
7
7
  locus: 'locus',
8
8
  mediaShare: 'mediashare',
9
- info: 'info',
10
- fullState: 'fullstate',
11
- links: 'links',
12
- control: 'controlentry',
13
- metadata: 'metadata',
14
- embeddedApp: 'embeddedapp',
15
9
  } as const;
16
10
 
17
11
  export type ObjectType = Enum<typeof ObjectType>;
18
12
 
19
- // mapping from ObjectType to top level LocusDTO keys
20
- export const ObjectTypeToLocusKeyMap = {
21
- [ObjectType.links]: 'links',
22
- [ObjectType.info]: 'info',
23
- [ObjectType.fullState]: 'fullState',
24
- [ObjectType.self]: 'self',
25
- [ObjectType.participant]: 'participants', // note: each object is a single participant in participants array
26
- [ObjectType.mediaShare]: 'mediaShares', // note: each object is a single mediaShare in mediaShares array
27
- [ObjectType.control]: 'controls', // note: each object is a single control entry in controls object
28
- [ObjectType.embeddedApp]: 'embeddedApps', // note: each object is a single embedded app in embeddedApps array
29
- };
30
-
31
13
  export interface HtMeta {
32
14
  elementId: {
33
15
  type: ObjectType;
@@ -36,8 +18,3 @@ export interface HtMeta {
36
18
  };
37
19
  dataSetNames: string[];
38
20
  }
39
-
40
- export interface HashTreeObject {
41
- htMeta: HtMeta;
42
- data: Record<string, any>;
43
- }
package/src/index.ts CHANGED
@@ -3,11 +3,7 @@ import {registerPlugin} from '@webex/webex-core';
3
3
 
4
4
  import Meetings from './meetings';
5
5
  import config from './config';
6
- import {
7
- LocusRetryStatusInterceptor,
8
- LocusRouteTokenInterceptor,
9
- DataChannelAuthTokenInterceptor,
10
- } from './interceptors';
6
+ import {LocusRetryStatusInterceptor, LocusRouteTokenInterceptor} from './interceptors';
11
7
  import CaptchaError from './common/errors/captcha-error';
12
8
  import IntentToJoinError from './common/errors/intent-to-join';
13
9
  import PasswordError from './common/errors/password-error';
@@ -29,7 +25,6 @@ registerPlugin('meetings', Meetings, {
29
25
  interceptors: {
30
26
  LocusRetryStatusInterceptor: LocusRetryStatusInterceptor.create,
31
27
  LocusRouteTokenInterceptor: LocusRouteTokenInterceptor.create,
32
- DataChannelAuthTokenInterceptor: DataChannelAuthTokenInterceptor.create,
33
28
  },
34
29
  });
35
30
 
@@ -85,5 +80,3 @@ export {
85
80
  export {RemoteMedia} from './multistream/remoteMedia';
86
81
 
87
82
  export {default as TriggerProxy} from './common/events/trigger-proxy';
88
-
89
- export {getAIEnablementApprover} from './aiEnableRequest/utils';
@@ -1,5 +1,4 @@
1
1
  import LocusRetryStatusInterceptor from './locusRetry';
2
2
  import LocusRouteTokenInterceptor from './locusRouteToken';
3
- import DataChannelAuthTokenInterceptor from './dataChannelAuthToken';
4
3
 
5
- export {LocusRetryStatusInterceptor, LocusRouteTokenInterceptor, DataChannelAuthTokenInterceptor};
4
+ export {LocusRetryStatusInterceptor, LocusRouteTokenInterceptor};
@@ -3,6 +3,7 @@
3
3
  */
4
4
 
5
5
  import {Interceptor} from '@webex/http-core';
6
+ import {has} from 'lodash';
6
7
 
7
8
  const LOCUS_ID_REGEX = /\/locus\/api\/v1\/loci\/([a-f0-9-]{36})/i;
8
9
  const X_CISCO_PART_ROUTE_TOKEN = 'X-Cisco-Part-Route-Token';
@@ -24,30 +25,16 @@ export default class LocusRouteTokenInterceptor extends Interceptor {
24
25
  return url?.match(LOCUS_ID_REGEX)?.[1];
25
26
  }
26
27
 
27
- getLocusIdByResponseBody(body: any) {
28
- return body?.locus?.url?.match(LOCUS_ID_REGEX)?.[1];
29
- }
30
-
31
- // Helper function to get header value case insensitively
32
- getHeader(headers: Record<string, string>, name: string) {
33
- const key = Object.keys(headers).find((k) => k.toLowerCase() === name.toLowerCase());
34
-
35
- return key ? headers[key] : undefined;
36
- }
37
-
38
28
  /**
39
29
  * @param {Object} options
40
30
  * @param {HttpResponse} response
41
31
  * @returns {Promise<HttpResponse>}
42
32
  */
43
33
  onResponse(options, response) {
44
- const locusId =
45
- this.getLocusIdByResponseBody(response.body) || this.getLocusIdByRequestUrl(options.uri);
34
+ const locusId = this.getLocusIdByRequestUrl(options.uri);
46
35
  if (locusId) {
47
- const hasRouteToken = Object.keys(response.headers).some(
48
- (key) => key.toLowerCase() === X_CISCO_PART_ROUTE_TOKEN.toLowerCase()
49
- );
50
- const token = this.getHeader(response.headers, X_CISCO_PART_ROUTE_TOKEN);
36
+ const hasRouteToken = has(response.headers, X_CISCO_PART_ROUTE_TOKEN);
37
+ const token = response.headers[X_CISCO_PART_ROUTE_TOKEN];
51
38
  if (hasRouteToken) {
52
39
  this.updateToken(locusId, token);
53
40
  }
@@ -79,11 +66,7 @@ export default class LocusRouteTokenInterceptor extends Interceptor {
79
66
  * @returns {void}
80
67
  */
81
68
  updateToken(locusId, token) {
82
- if (token === 'null' || token === null) {
83
- delete ROUTE_TOKEN[locusId];
84
- } else {
85
- ROUTE_TOKEN[locusId] = token;
86
- }
69
+ ROUTE_TOKEN[locusId] = token;
87
70
  }
88
71
 
89
72
  /**
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import {WebexPlugin} from '@webex/webex-core';
5
5
  import LoggerProxy from '../common/logs/logger-proxy';
6
- import {HTTP_VERBS, INTERPRETATION, LOCUSEVENT, MEETINGS} from '../constants';
6
+ import {HTTP_VERBS, INTERPRETATION, MEETINGS} from '../constants';
7
7
 
8
8
  import SILanguageCollection from './collection';
9
9
 
@@ -230,7 +230,7 @@ const SimultaneousInterpretation = WebexPlugin.extend({
230
230
  * @returns {void}
231
231
  */
232
232
  listenToHandoffRequests() {
233
- this.listenTo(this.webex.internal.mercury, `event:${LOCUSEVENT.APPROVAL_REQUEST}`, (event) => {
233
+ this.listenTo(this.webex.internal.mercury, 'event:locus.approval_request', (event) => {
234
234
  if (event?.data?.approval?.resourceType === INTERPRETATION.RESOURCE_TYPE) {
235
235
  const {receivers, initiator, actionType, url} = event.data.approval;
236
236
  const receiverId = receivers?.[0]?.participantId;
@@ -41,8 +41,6 @@ ControlsUtils.parse = (controls: any) => {
41
41
  transcribing: controls.transcribe.transcribing,
42
42
  caption: controls.transcribe.caption,
43
43
  spokenLanguage: controls.transcribe.spokenLanguage,
44
- hesiodLlmId: controls.transcribe.hesiodLlmId,
45
- aiSummaryNotification: controls.transcribe.aiSummaryNotification,
46
44
  };
47
45
  }
48
46
 
@@ -204,21 +202,6 @@ ControlsUtils.getControls = (oldControls: any, newControls: any) => {
204
202
  !isEqual(previous?.transcribe?.transcribing, current?.transcribe?.transcribing) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true
205
203
  (previous?.transcribe?.transcribing || current?.transcribe?.transcribing), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting
206
204
 
207
- hasHesiodLLMIdChanged:
208
- current?.transcribe &&
209
- !isEqual(previous?.transcribe?.hesiodLlmId, current?.transcribe?.hesiodLlmId) &&
210
- !!(previous?.transcribe?.hesiodLlmId || current?.transcribe?.hesiodLlmId),
211
-
212
- hasAiSummaryNotificationChanged:
213
- current?.transcribe &&
214
- !isEqual(
215
- previous?.transcribe?.aiSummaryNotification,
216
- current?.transcribe?.aiSummaryNotification
217
- ) &&
218
- !!(
219
- previous?.transcribe?.aiSummaryNotification || current?.transcribe?.aiSummaryNotification
220
- ),
221
-
222
205
  hasTranscribeSpokenLanguageChanged:
223
206
  current?.transcribe &&
224
207
  !isEqual(previous?.transcribe?.spokenLanguage, current?.transcribe?.spokenLanguage) &&