@webex/plugin-meetings 3.12.0-next.5 → 3.12.0-next.50

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 (136) hide show
  1. package/AGENTS.md +9 -0
  2. package/dist/aiEnableRequest/index.js +15 -2
  3. package/dist/aiEnableRequest/index.js.map +1 -1
  4. package/dist/breakouts/breakout.js +6 -2
  5. package/dist/breakouts/breakout.js.map +1 -1
  6. package/dist/breakouts/index.js +1 -1
  7. package/dist/config.js +1 -0
  8. package/dist/config.js.map +1 -1
  9. package/dist/constants.js +6 -3
  10. package/dist/constants.js.map +1 -1
  11. package/dist/controls-options-manager/constants.js +11 -1
  12. package/dist/controls-options-manager/constants.js.map +1 -1
  13. package/dist/controls-options-manager/index.js +38 -24
  14. package/dist/controls-options-manager/index.js.map +1 -1
  15. package/dist/controls-options-manager/util.js +91 -0
  16. package/dist/controls-options-manager/util.js.map +1 -1
  17. package/dist/hashTree/constants.js +10 -1
  18. package/dist/hashTree/constants.js.map +1 -1
  19. package/dist/hashTree/hashTreeParser.js +593 -358
  20. package/dist/hashTree/hashTreeParser.js.map +1 -1
  21. package/dist/hashTree/utils.js +22 -0
  22. package/dist/hashTree/utils.js.map +1 -1
  23. package/dist/index.js +7 -0
  24. package/dist/index.js.map +1 -1
  25. package/dist/interceptors/locusRetry.js +23 -8
  26. package/dist/interceptors/locusRetry.js.map +1 -1
  27. package/dist/interpretation/index.js +10 -1
  28. package/dist/interpretation/index.js.map +1 -1
  29. package/dist/interpretation/siLanguage.js +1 -1
  30. package/dist/locus-info/controlsUtils.js +4 -1
  31. package/dist/locus-info/controlsUtils.js.map +1 -1
  32. package/dist/locus-info/index.js +277 -86
  33. package/dist/locus-info/index.js.map +1 -1
  34. package/dist/locus-info/types.js +16 -0
  35. package/dist/locus-info/types.js.map +1 -1
  36. package/dist/media/properties.js +1 -0
  37. package/dist/media/properties.js.map +1 -1
  38. package/dist/meeting/in-meeting-actions.js +3 -1
  39. package/dist/meeting/in-meeting-actions.js.map +1 -1
  40. package/dist/meeting/index.js +842 -521
  41. package/dist/meeting/index.js.map +1 -1
  42. package/dist/meeting/util.js +19 -2
  43. package/dist/meeting/util.js.map +1 -1
  44. package/dist/meetings/index.js +199 -77
  45. package/dist/meetings/index.js.map +1 -1
  46. package/dist/meetings/meetings.types.js +6 -1
  47. package/dist/meetings/meetings.types.js.map +1 -1
  48. package/dist/meetings/request.js +39 -0
  49. package/dist/meetings/request.js.map +1 -1
  50. package/dist/meetings/util.js +67 -5
  51. package/dist/meetings/util.js.map +1 -1
  52. package/dist/member/index.js +10 -0
  53. package/dist/member/index.js.map +1 -1
  54. package/dist/member/types.js.map +1 -1
  55. package/dist/member/util.js +3 -0
  56. package/dist/member/util.js.map +1 -1
  57. package/dist/metrics/constants.js +2 -1
  58. package/dist/metrics/constants.js.map +1 -1
  59. package/dist/recording-controller/index.js +1 -3
  60. package/dist/recording-controller/index.js.map +1 -1
  61. package/dist/types/config.d.ts +1 -0
  62. package/dist/types/constants.d.ts +2 -0
  63. package/dist/types/controls-options-manager/constants.d.ts +6 -1
  64. package/dist/types/controls-options-manager/index.d.ts +10 -0
  65. package/dist/types/hashTree/constants.d.ts +1 -0
  66. package/dist/types/hashTree/hashTreeParser.d.ts +61 -15
  67. package/dist/types/hashTree/utils.d.ts +11 -0
  68. package/dist/types/index.d.ts +2 -0
  69. package/dist/types/interceptors/locusRetry.d.ts +4 -4
  70. package/dist/types/locus-info/index.d.ts +46 -6
  71. package/dist/types/locus-info/types.d.ts +17 -1
  72. package/dist/types/media/properties.d.ts +1 -0
  73. package/dist/types/meeting/in-meeting-actions.d.ts +2 -0
  74. package/dist/types/meeting/index.d.ts +70 -1
  75. package/dist/types/meeting/util.d.ts +8 -0
  76. package/dist/types/meetings/index.d.ts +18 -1
  77. package/dist/types/meetings/meetings.types.d.ts +15 -0
  78. package/dist/types/meetings/request.d.ts +14 -0
  79. package/dist/types/member/index.d.ts +1 -0
  80. package/dist/types/member/types.d.ts +1 -0
  81. package/dist/types/member/util.d.ts +1 -0
  82. package/dist/types/metrics/constants.d.ts +1 -0
  83. package/dist/webinar/index.js +361 -235
  84. package/dist/webinar/index.js.map +1 -1
  85. package/package.json +22 -22
  86. package/src/aiEnableRequest/index.ts +16 -0
  87. package/src/breakouts/breakout.ts +2 -1
  88. package/src/config.ts +1 -0
  89. package/src/constants.ts +5 -1
  90. package/src/controls-options-manager/constants.ts +14 -1
  91. package/src/controls-options-manager/index.ts +47 -24
  92. package/src/controls-options-manager/util.ts +81 -1
  93. package/src/hashTree/constants.ts +9 -0
  94. package/src/hashTree/hashTreeParser.ts +306 -160
  95. package/src/hashTree/utils.ts +17 -0
  96. package/src/index.ts +5 -0
  97. package/src/interceptors/locusRetry.ts +25 -4
  98. package/src/interpretation/index.ts +25 -8
  99. package/src/locus-info/controlsUtils.ts +3 -1
  100. package/src/locus-info/index.ts +276 -93
  101. package/src/locus-info/types.ts +19 -1
  102. package/src/media/properties.ts +1 -0
  103. package/src/meeting/in-meeting-actions.ts +4 -0
  104. package/src/meeting/index.ts +315 -26
  105. package/src/meeting/util.ts +20 -2
  106. package/src/meetings/index.ts +104 -43
  107. package/src/meetings/meetings.types.ts +19 -0
  108. package/src/meetings/request.ts +43 -0
  109. package/src/meetings/util.ts +80 -1
  110. package/src/member/index.ts +10 -0
  111. package/src/member/types.ts +1 -0
  112. package/src/member/util.ts +3 -0
  113. package/src/metrics/constants.ts +1 -0
  114. package/src/recording-controller/index.ts +1 -2
  115. package/src/webinar/index.ts +162 -21
  116. package/test/unit/spec/aiEnableRequest/index.ts +86 -0
  117. package/test/unit/spec/breakouts/breakout.ts +7 -3
  118. package/test/unit/spec/controls-options-manager/index.js +140 -29
  119. package/test/unit/spec/controls-options-manager/util.js +165 -0
  120. package/test/unit/spec/hashTree/hashTreeParser.ts +1294 -191
  121. package/test/unit/spec/hashTree/utils.ts +88 -1
  122. package/test/unit/spec/interceptors/locusRetry.ts +205 -4
  123. package/test/unit/spec/interpretation/index.ts +26 -4
  124. package/test/unit/spec/locus-info/controlsUtils.js +172 -57
  125. package/test/unit/spec/locus-info/index.js +443 -81
  126. package/test/unit/spec/meeting/in-meeting-actions.ts +2 -0
  127. package/test/unit/spec/meeting/index.js +836 -41
  128. package/test/unit/spec/meeting/muteState.js +3 -0
  129. package/test/unit/spec/meeting/utils.js +33 -0
  130. package/test/unit/spec/meetings/index.js +275 -10
  131. package/test/unit/spec/meetings/request.js +141 -0
  132. package/test/unit/spec/meetings/utils.js +161 -0
  133. package/test/unit/spec/member/index.js +7 -0
  134. package/test/unit/spec/member/util.js +24 -0
  135. package/test/unit/spec/recording-controller/index.js +9 -8
  136. package/test/unit/spec/webinar/index.ts +141 -16
package/AGENTS.md ADDED
@@ -0,0 +1,9 @@
1
+ # Unit tests
2
+ Plugin-meetings unit tests are slow, so always run only the tests you care about.
3
+ To run a single test or a set of tests for plugin-meetings, always temporarily add `.only` in the test code, for example:
4
+ ```javascript
5
+ it.only('should do something', () => {
6
+ // test code
7
+ });
8
+ ```
9
+ and always remove '.only' once you finish running the tests.
@@ -17,6 +17,7 @@ var _constants = require("../constants");
17
17
  var AIEnableRequest = _webexCore.WebexPlugin.extend({
18
18
  namespace: _constants.MEETINGS,
19
19
  props: {
20
+ locusUrl: 'string',
20
21
  approvalUrl: 'string',
21
22
  selfParticipantId: 'string',
22
23
  hasSubscribedToEvents: 'boolean'
@@ -41,6 +42,14 @@ var AIEnableRequest = _webexCore.WebexPlugin.extend({
41
42
  this.set('hasSubscribedToEvents', true);
42
43
  }
43
44
  },
45
+ /**
46
+ * Update the locus url
47
+ * @param {string} locusUrl
48
+ * @returns {void}
49
+ */
50
+ locusUrlUpdate: function locusUrlUpdate(locusUrl) {
51
+ this.locusUrl = locusUrl;
52
+ },
44
53
  /**
45
54
  * Listen to locus approval request events and trigger a new event with necessary details when an AI enablement approval request is received
46
55
  * @returns {void}
@@ -50,7 +59,11 @@ var AIEnableRequest = _webexCore.WebexPlugin.extend({
50
59
  this.listenTo(this.webex.internal.mercury, "event:".concat(_constants.LOCUSEVENT.APPROVAL_REQUEST), function (event) {
51
60
  var _event$data, _event$data$approval;
52
61
  if ((event === null || event === void 0 ? void 0 : (_event$data = event.data) === null || _event$data === void 0 ? void 0 : (_event$data$approval = _event$data.approval) === null || _event$data$approval === void 0 ? void 0 : _event$data$approval.resourceType) === _constants.AI_ENABLE_REQUEST.RESOURCE_TYPE) {
53
- var _receivers$;
62
+ var _event$data2, _receivers$;
63
+ if ((event === null || event === void 0 ? void 0 : (_event$data2 = event.data) === null || _event$data2 === void 0 ? void 0 : _event$data2.locusUrl) !== _this.locusUrl) {
64
+ _this.webex.logger.info('AIEnableRequest: Ignoring approval request for different locus');
65
+ return;
66
+ }
54
67
  var _event$data$approval2 = event.data.approval,
55
68
  receivers = _event$data$approval2.receivers,
56
69
  initiator = _event$data$approval2.initiator,
@@ -178,7 +191,7 @@ var AIEnableRequest = _webexCore.WebexPlugin.extend({
178
191
  method: _constants.HTTP_VERBS.PUT
179
192
  });
180
193
  },
181
- version: "3.12.0-next.5"
194
+ version: "3.12.0-next.50"
182
195
  });
183
196
  var _default = exports.default = AIEnableRequest;
184
197
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_webexCore","require","_constants","AIEnableRequest","WebexPlugin","extend","namespace","MEETINGS","props","approvalUrl","selfParticipantId","hasSubscribedToEvents","approvalUrlUpdate","set","selfParticipantIdUpdate","listenToApprovalRequests","_this","listenTo","webex","internal","mercury","concat","LOCUSEVENT","APPROVAL_REQUEST","event","_event$data","_event$data$approval","data","approval","resourceType","AI_ENABLE_REQUEST","RESOURCE_TYPE","_receivers$","_event$data$approval2","receivers","initiator","actionType","url","approverId","participantId","isApprover","initiatorId","isInitiator","ACTION_TYPE","DECLINED_ALL","trigger","EVENTS","APPROVAL_REQUEST_ARRIVED","sendApprovalRequest","_ref","method","request","uri","body","approver","requestEnableAIAssistant","_ref2","REQUESTED","HTTP_VERBS","POST","acceptEnableAIAssistantRequest","_ref3","ACCEPTED","PUT","declineEnableAIAssistantRequest","_ref4","DECLINED","declineAllEnableAIAssistantRequests","_ref5","version","_default","exports","default"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2026 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport {AI_ENABLE_REQUEST, HTTP_VERBS, LOCUSEVENT, MEETINGS} from '../constants';\n\n/**\n * @class AIEnableRequest\n */\nconst AIEnableRequest = WebexPlugin.extend({\n namespace: MEETINGS,\n\n props: {\n approvalUrl: 'string',\n selfParticipantId: 'string',\n hasSubscribedToEvents: 'boolean',\n },\n\n /**\n * Update the approval url for handoff\n * @param {string} approvalUrl\n * @returns {void}\n */\n approvalUrlUpdate(approvalUrl) {\n this.set('approvalUrl', approvalUrl);\n },\n\n /**\n * Update the self participant id\n * @param {string} selfParticipantId\n * @returns {void}\n */\n selfParticipantIdUpdate(selfParticipantId) {\n this.set('selfParticipantId', selfParticipantId);\n\n if (!this.hasSubscribedToEvents) {\n this.listenToApprovalRequests();\n this.set('hasSubscribedToEvents', true);\n }\n },\n\n /**\n * Listen to locus approval request events and trigger a new event with necessary details when an AI enablement approval request is received\n * @returns {void}\n */\n listenToApprovalRequests() {\n this.listenTo(this.webex.internal.mercury, `event:${LOCUSEVENT.APPROVAL_REQUEST}`, (event) => {\n if (event?.data?.approval?.resourceType === AI_ENABLE_REQUEST.RESOURCE_TYPE) {\n const {receivers, initiator, actionType, url} = event.data.approval;\n const approverId = receivers?.[0]?.participantId;\n const isApprover = !!approverId && approverId === this.selfParticipantId;\n const initiatorId = initiator?.participantId;\n const isInitiator = !!initiatorId && initiatorId === this.selfParticipantId;\n if (\n !isApprover &&\n !isInitiator &&\n // Not just the initiator needs to know about declined all because\n // all future requests will be rejected if the meeting is in the declined all state\n actionType !== AI_ENABLE_REQUEST.ACTION_TYPE.DECLINED_ALL\n ) {\n return;\n }\n this.trigger(AI_ENABLE_REQUEST.EVENTS.APPROVAL_REQUEST_ARRIVED, {\n actionType,\n isApprover,\n isInitiator,\n initiatorId,\n approverId,\n url,\n });\n }\n });\n },\n\n /**\n * Helper method to send AI assistant request\n * @param {Object} params\n * @param {string} params.url approval url\n * @param {string} params.actionType the type of action (REQUESTED, ACCEPTED, DECLINED, DECLINED_ALL)\n * @param {string} params.initiatorId\n * @param {string} params.approverId\n * @param {string} params.method HTTP method to use for the request\n * @returns {Promise}\n */\n sendApprovalRequest({url, actionType, initiatorId, approverId, method}) {\n return this.request({\n method,\n uri: url,\n body: {\n actionType,\n resourceType: AI_ENABLE_REQUEST.RESOURCE_TYPE,\n initiator: {\n participantId: initiatorId,\n },\n approver: {\n participantId: approverId,\n },\n },\n });\n },\n\n /**\n * Sends a request to enable the AI assistant\n * @param {Object} params\n * @param {string} params.approverId\n * @returns {Promise}\n */\n requestEnableAIAssistant({approverId}) {\n return this.sendApprovalRequest({\n url: this.approvalUrl,\n actionType: AI_ENABLE_REQUEST.ACTION_TYPE.REQUESTED,\n initiatorId: this.selfParticipantId,\n approverId,\n method: HTTP_VERBS.POST,\n });\n },\n\n /**\n * Sends a request to accept the AI assistant enablement\n * @param {Object} params\n * @param {string} params.url approval url\n * @param {string} params.initiatorId\n * @returns {Promise}\n */\n acceptEnableAIAssistantRequest({url, initiatorId}) {\n return this.sendApprovalRequest({\n url,\n actionType: AI_ENABLE_REQUEST.ACTION_TYPE.ACCEPTED,\n initiatorId,\n approverId: this.selfParticipantId,\n method: HTTP_VERBS.PUT,\n });\n },\n\n /**\n * Sends a request to decline the AI assistant enablement\n * @param {Object} params\n * @param {string} params.url approval url\n * @param {string} params.initiatorId\n * @returns {Promise}\n */\n declineEnableAIAssistantRequest({url, initiatorId}) {\n return this.sendApprovalRequest({\n url,\n actionType: AI_ENABLE_REQUEST.ACTION_TYPE.DECLINED,\n initiatorId,\n approverId: this.selfParticipantId,\n method: HTTP_VERBS.PUT,\n });\n },\n\n /**\n * Sends a request to decline all AI assistant enablement requests\n * @param {Object} params\n * @param {string} params.url approval url\n * @param {string} params.initiatorId\n * @returns {Promise}\n */\n declineAllEnableAIAssistantRequests({url, initiatorId}) {\n return this.sendApprovalRequest({\n url,\n actionType: AI_ENABLE_REQUEST.ACTION_TYPE.DECLINED_ALL,\n initiatorId,\n approverId: this.selfParticipantId,\n method: HTTP_VERBS.PUT,\n });\n },\n});\n\nexport default AIEnableRequest;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_webexCore","require","_constants","AIEnableRequest","WebexPlugin","extend","namespace","MEETINGS","props","locusUrl","approvalUrl","selfParticipantId","hasSubscribedToEvents","approvalUrlUpdate","set","selfParticipantIdUpdate","listenToApprovalRequests","locusUrlUpdate","_this","listenTo","webex","internal","mercury","concat","LOCUSEVENT","APPROVAL_REQUEST","event","_event$data","_event$data$approval","data","approval","resourceType","AI_ENABLE_REQUEST","RESOURCE_TYPE","_event$data2","_receivers$","logger","info","_event$data$approval2","receivers","initiator","actionType","url","approverId","participantId","isApprover","initiatorId","isInitiator","ACTION_TYPE","DECLINED_ALL","trigger","EVENTS","APPROVAL_REQUEST_ARRIVED","sendApprovalRequest","_ref","method","request","uri","body","approver","requestEnableAIAssistant","_ref2","REQUESTED","HTTP_VERBS","POST","acceptEnableAIAssistantRequest","_ref3","ACCEPTED","PUT","declineEnableAIAssistantRequest","_ref4","DECLINED","declineAllEnableAIAssistantRequests","_ref5","version","_default","exports","default"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2026 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport {AI_ENABLE_REQUEST, HTTP_VERBS, LOCUSEVENT, MEETINGS} from '../constants';\n\n/**\n * @class AIEnableRequest\n */\nconst AIEnableRequest = WebexPlugin.extend({\n namespace: MEETINGS,\n\n props: {\n locusUrl: 'string',\n approvalUrl: 'string',\n selfParticipantId: 'string',\n hasSubscribedToEvents: 'boolean',\n },\n\n /**\n * Update the approval url for handoff\n * @param {string} approvalUrl\n * @returns {void}\n */\n approvalUrlUpdate(approvalUrl) {\n this.set('approvalUrl', approvalUrl);\n },\n\n /**\n * Update the self participant id\n * @param {string} selfParticipantId\n * @returns {void}\n */\n selfParticipantIdUpdate(selfParticipantId) {\n this.set('selfParticipantId', selfParticipantId);\n\n if (!this.hasSubscribedToEvents) {\n this.listenToApprovalRequests();\n this.set('hasSubscribedToEvents', true);\n }\n },\n\n /**\n * Update the locus url\n * @param {string} locusUrl\n * @returns {void}\n */\n locusUrlUpdate(locusUrl: string) {\n this.locusUrl = locusUrl;\n },\n\n /**\n * Listen to locus approval request events and trigger a new event with necessary details when an AI enablement approval request is received\n * @returns {void}\n */\n listenToApprovalRequests() {\n this.listenTo(this.webex.internal.mercury, `event:${LOCUSEVENT.APPROVAL_REQUEST}`, (event) => {\n if (event?.data?.approval?.resourceType === AI_ENABLE_REQUEST.RESOURCE_TYPE) {\n if (event?.data?.locusUrl !== this.locusUrl) {\n this.webex.logger.info('AIEnableRequest: Ignoring approval request for different locus');\n\n return;\n }\n\n const {receivers, initiator, actionType, url} = event.data.approval;\n const approverId = receivers?.[0]?.participantId;\n const isApprover = !!approverId && approverId === this.selfParticipantId;\n const initiatorId = initiator?.participantId;\n const isInitiator = !!initiatorId && initiatorId === this.selfParticipantId;\n if (\n !isApprover &&\n !isInitiator &&\n // Not just the initiator needs to know about declined all because\n // all future requests will be rejected if the meeting is in the declined all state\n actionType !== AI_ENABLE_REQUEST.ACTION_TYPE.DECLINED_ALL\n ) {\n return;\n }\n this.trigger(AI_ENABLE_REQUEST.EVENTS.APPROVAL_REQUEST_ARRIVED, {\n actionType,\n isApprover,\n isInitiator,\n initiatorId,\n approverId,\n url,\n });\n }\n });\n },\n\n /**\n * Helper method to send AI assistant request\n * @param {Object} params\n * @param {string} params.url approval url\n * @param {string} params.actionType the type of action (REQUESTED, ACCEPTED, DECLINED, DECLINED_ALL)\n * @param {string} params.initiatorId\n * @param {string} params.approverId\n * @param {string} params.method HTTP method to use for the request\n * @returns {Promise}\n */\n sendApprovalRequest({url, actionType, initiatorId, approverId, method}) {\n return this.request({\n method,\n uri: url,\n body: {\n actionType,\n resourceType: AI_ENABLE_REQUEST.RESOURCE_TYPE,\n initiator: {\n participantId: initiatorId,\n },\n approver: {\n participantId: approverId,\n },\n },\n });\n },\n\n /**\n * Sends a request to enable the AI assistant\n * @param {Object} params\n * @param {string} params.approverId\n * @returns {Promise}\n */\n requestEnableAIAssistant({approverId}) {\n return this.sendApprovalRequest({\n url: this.approvalUrl,\n actionType: AI_ENABLE_REQUEST.ACTION_TYPE.REQUESTED,\n initiatorId: this.selfParticipantId,\n approverId,\n method: HTTP_VERBS.POST,\n });\n },\n\n /**\n * Sends a request to accept the AI assistant enablement\n * @param {Object} params\n * @param {string} params.url approval url\n * @param {string} params.initiatorId\n * @returns {Promise}\n */\n acceptEnableAIAssistantRequest({url, initiatorId}) {\n return this.sendApprovalRequest({\n url,\n actionType: AI_ENABLE_REQUEST.ACTION_TYPE.ACCEPTED,\n initiatorId,\n approverId: this.selfParticipantId,\n method: HTTP_VERBS.PUT,\n });\n },\n\n /**\n * Sends a request to decline the AI assistant enablement\n * @param {Object} params\n * @param {string} params.url approval url\n * @param {string} params.initiatorId\n * @returns {Promise}\n */\n declineEnableAIAssistantRequest({url, initiatorId}) {\n return this.sendApprovalRequest({\n url,\n actionType: AI_ENABLE_REQUEST.ACTION_TYPE.DECLINED,\n initiatorId,\n approverId: this.selfParticipantId,\n method: HTTP_VERBS.PUT,\n });\n },\n\n /**\n * Sends a request to decline all AI assistant enablement requests\n * @param {Object} params\n * @param {string} params.url approval url\n * @param {string} params.initiatorId\n * @returns {Promise}\n */\n declineAllEnableAIAssistantRequests({url, initiatorId}) {\n return this.sendApprovalRequest({\n url,\n actionType: AI_ENABLE_REQUEST.ACTION_TYPE.DECLINED_ALL,\n initiatorId,\n approverId: this.selfParticipantId,\n method: HTTP_VERBS.PUT,\n });\n },\n});\n\nexport default AIEnableRequest;\n"],"mappings":"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","ignoreList":[]}
@@ -192,7 +192,11 @@ var Breakout = _webexCore.WebexPlugin.extend({
192
192
  return;
193
193
  }
194
194
  this.breakoutRosterLocus = locus;
195
- this.members.locusParticipantsUpdate(locus);
195
+ // The roster via breakout roster event is full roster, use replace strategy to update the members
196
+ this.members.locusParticipantsUpdate({
197
+ participants: locus.participants,
198
+ isReplace: true
199
+ });
196
200
  },
197
201
  /**
198
202
  * Broadcast message to this breakout session's participants
@@ -209,7 +213,7 @@ var Breakout = _webexCore.WebexPlugin.extend({
209
213
  sessionId: this.sessionId
210
214
  });
211
215
  },
212
- version: "3.12.0-next.5"
216
+ version: "3.12.0-next.50"
213
217
  });
214
218
  var _default = exports.default = Breakout;
215
219
  //# sourceMappingURL=breakout.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_webexCore","require","_uuid","_interopRequireDefault","_constants","_members","_request","_events","Breakout","WebexPlugin","extend","idAttribute","namespace","MEETINGS","breakoutRequest","BreakoutRequest","props","active","allowed","assigned","assignedCurrent","requested","current","name","sessionId","sessionType","groupId","url","requestedLastModifiedTime","derived","isMain","cache","deps","fn","initialize","webex","breakoutRosterLocus","join","_this","_asyncToGenerator2","default","_regenerator","mark","_callee","breakoutMoveId","deviceUrl","meetingId","meeting","result","wrap","_context","prev","next","uuid","v4","internal","device","collection","parent","meetings","getMeetingByType","_ID_","breakoutEvent","onBreakoutMoveRequest","currentSession","newMetrics","submitClientEvent","bind","request","method","HTTP_VERBS","POST","uri","concat","body","sent","onBreakoutMoveResponse","abrupt","stop","leave","Error","mainSession","breakouts","filter","breakout","askForHelp","initMembers","members","Members","isNeedHandleRoster","locus","_this$breakoutRosterL","_this$breakoutRosterL2","_this$breakoutRosterL3","_locus$sequence","_locus$sequence$entri","sequence","entries","length","prevSequence","currentSequence","parseRoster","locusParticipantsUpdate","broadcast","message","options","version","_default","exports"],"sources":["breakout.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin} from '@webex/webex-core';\n\nimport uuid from 'uuid';\nimport {_ID_, HTTP_VERBS, MEETINGS} from '../constants';\nimport Members from '../members';\nimport BreakoutRequest from './request';\nimport breakoutEvent from './events';\n/**\n * @class\n */\nconst Breakout = WebexPlugin.extend({\n idAttribute: 'sessionId',\n\n namespace: MEETINGS,\n\n breakoutRequest: BreakoutRequest,\n props: {\n active: ['boolean', false, false], // this session is active\n allowed: ['boolean', false, false], // allowed to join this session\n assigned: ['boolean', false, false], // assigned to this session, but not necessarily joined yet\n assignedCurrent: ['boolean', false, false], // assigned AND current session\n requested: ['boolean', false, false], // requested by the host to join this session\n current: ['boolean', false, false], // the current joined session\n name: 'string',\n sessionId: 'string',\n sessionType: 'string',\n groupId: 'string',\n url: 'string', // where to send requests to\n requestedLastModifiedTime: 'string',\n },\n\n derived: {\n isMain: {\n cache: false, // fix issue: sometimes the derived will not change even if the deps changed\n deps: ['sessionType'],\n /**\n * If the breakout has no name, assume it is the main session\n * @returns {boolean}\n */\n fn() {\n return this.sessionType === 'MAIN';\n },\n },\n },\n /**\n * initializer for the Breakout class\n * @returns {void}\n */\n initialize() {\n // @ts-ignore\n this.breakoutRequest = new BreakoutRequest({webex: this.webex});\n this.breakoutRosterLocus = null;\n },\n\n /**\n * Joins the breakout session\n * @returns {Promise}\n */\n async join() {\n const breakoutMoveId = uuid.v4();\n const deviceUrl = this.webex.internal.device.url;\n const {meetingId} = this.collection.parent;\n const meeting = this.webex.meetings.getMeetingByType(_ID_, meetingId);\n breakoutEvent.onBreakoutMoveRequest(\n {currentSession: this, meeting, breakoutMoveId},\n // @ts-ignore\n this.webex.internal.newMetrics.submitClientEvent.bind(this.webex.internal.newMetrics)\n );\n const result = await this.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/move`,\n body: {\n breakoutMoveId,\n deviceUrl,\n groupId: this.groupId,\n sessionId: this.sessionId,\n },\n });\n breakoutEvent.onBreakoutMoveResponse(\n {currentSession: this, meeting, breakoutMoveId},\n // @ts-ignore\n this.webex.internal.newMetrics.submitClientEvent.bind(this.webex.internal.newMetrics)\n );\n\n return result;\n },\n\n /**\n * Leaves the breakout session to return to the main session\n * @returns {Promise}\n * @throws {Error} if an attempt is made to leave the main session or if the main session cannot be found\n */\n leave() {\n if (this.isMain) {\n throw new Error('Cannot leave the main session');\n }\n\n const mainSession = this.parent.breakouts.filter((breakout) => breakout.isMain)[0];\n\n if (!mainSession) {\n throw new Error('Cannot leave, no main session found');\n }\n\n return mainSession.join();\n },\n\n /**\n * Sends a help request for the current breakout\n * @returns {Promise}\n */\n askForHelp() {\n return this.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/help`,\n body: {\n groupId: this.groupId,\n sessionId: this.sessionId,\n },\n });\n },\n\n /**\n * inits the members object\n * @returns {void}\n */\n initMembers() {\n const {meetingId} = this.collection.parent;\n const meeting = this.webex.meetings.getMeetingByType(_ID_, meetingId);\n this.members = new Members(\n {\n meeting,\n },\n {parent: this.webex}\n );\n },\n\n /**\n * check sequence and determine whether to update the new roster or not\n * @param {Object} locus Locus object\n * @returns {Boolean}\n */\n isNeedHandleRoster(locus: any) {\n if (!this.breakoutRosterLocus?.sequence?.entries?.length || !locus?.sequence?.entries?.length) {\n return true;\n }\n const prevSequence = this.breakoutRosterLocus.sequence.entries[0];\n const currentSequence = locus.sequence.entries[0];\n\n return currentSequence > prevSequence;\n },\n /**\n * Parses the participants from the locus object\n * @param {Object} locus Locus object\n * @returns {void}\n */\n parseRoster(locus) {\n if (!this.members) {\n this.initMembers();\n }\n if (!this.isNeedHandleRoster(locus)) {\n return;\n }\n this.breakoutRosterLocus = locus;\n this.members.locusParticipantsUpdate(locus);\n },\n\n /**\n * Broadcast message to this breakout session's participants\n * @param {String} message\n * @param {Object} options\n * @returns {Promise}\n */\n broadcast(message, options) {\n return this.breakoutRequest.broadcast({\n url: this.url,\n message,\n options,\n groupId: this.groupId,\n sessionId: this.sessionId,\n });\n },\n});\n\nexport default Breakout;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_webexCore","require","_uuid","_interopRequireDefault","_constants","_members","_request","_events","Breakout","WebexPlugin","extend","idAttribute","namespace","MEETINGS","breakoutRequest","BreakoutRequest","props","active","allowed","assigned","assignedCurrent","requested","current","name","sessionId","sessionType","groupId","url","requestedLastModifiedTime","derived","isMain","cache","deps","fn","initialize","webex","breakoutRosterLocus","join","_this","_asyncToGenerator2","default","_regenerator","mark","_callee","breakoutMoveId","deviceUrl","meetingId","meeting","result","wrap","_context","prev","next","uuid","v4","internal","device","collection","parent","meetings","getMeetingByType","_ID_","breakoutEvent","onBreakoutMoveRequest","currentSession","newMetrics","submitClientEvent","bind","request","method","HTTP_VERBS","POST","uri","concat","body","sent","onBreakoutMoveResponse","abrupt","stop","leave","Error","mainSession","breakouts","filter","breakout","askForHelp","initMembers","members","Members","isNeedHandleRoster","locus","_this$breakoutRosterL","_this$breakoutRosterL2","_this$breakoutRosterL3","_locus$sequence","_locus$sequence$entri","sequence","entries","length","prevSequence","currentSequence","parseRoster","locusParticipantsUpdate","participants","isReplace","broadcast","message","options","version","_default","exports"],"sources":["breakout.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin} from '@webex/webex-core';\n\nimport uuid from 'uuid';\nimport {_ID_, HTTP_VERBS, MEETINGS} from '../constants';\nimport Members from '../members';\nimport BreakoutRequest from './request';\nimport breakoutEvent from './events';\n/**\n * @class\n */\nconst Breakout = WebexPlugin.extend({\n idAttribute: 'sessionId',\n\n namespace: MEETINGS,\n\n breakoutRequest: BreakoutRequest,\n props: {\n active: ['boolean', false, false], // this session is active\n allowed: ['boolean', false, false], // allowed to join this session\n assigned: ['boolean', false, false], // assigned to this session, but not necessarily joined yet\n assignedCurrent: ['boolean', false, false], // assigned AND current session\n requested: ['boolean', false, false], // requested by the host to join this session\n current: ['boolean', false, false], // the current joined session\n name: 'string',\n sessionId: 'string',\n sessionType: 'string',\n groupId: 'string',\n url: 'string', // where to send requests to\n requestedLastModifiedTime: 'string',\n },\n\n derived: {\n isMain: {\n cache: false, // fix issue: sometimes the derived will not change even if the deps changed\n deps: ['sessionType'],\n /**\n * If the breakout has no name, assume it is the main session\n * @returns {boolean}\n */\n fn() {\n return this.sessionType === 'MAIN';\n },\n },\n },\n /**\n * initializer for the Breakout class\n * @returns {void}\n */\n initialize() {\n // @ts-ignore\n this.breakoutRequest = new BreakoutRequest({webex: this.webex});\n this.breakoutRosterLocus = null;\n },\n\n /**\n * Joins the breakout session\n * @returns {Promise}\n */\n async join() {\n const breakoutMoveId = uuid.v4();\n const deviceUrl = this.webex.internal.device.url;\n const {meetingId} = this.collection.parent;\n const meeting = this.webex.meetings.getMeetingByType(_ID_, meetingId);\n breakoutEvent.onBreakoutMoveRequest(\n {currentSession: this, meeting, breakoutMoveId},\n // @ts-ignore\n this.webex.internal.newMetrics.submitClientEvent.bind(this.webex.internal.newMetrics)\n );\n const result = await this.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/move`,\n body: {\n breakoutMoveId,\n deviceUrl,\n groupId: this.groupId,\n sessionId: this.sessionId,\n },\n });\n breakoutEvent.onBreakoutMoveResponse(\n {currentSession: this, meeting, breakoutMoveId},\n // @ts-ignore\n this.webex.internal.newMetrics.submitClientEvent.bind(this.webex.internal.newMetrics)\n );\n\n return result;\n },\n\n /**\n * Leaves the breakout session to return to the main session\n * @returns {Promise}\n * @throws {Error} if an attempt is made to leave the main session or if the main session cannot be found\n */\n leave() {\n if (this.isMain) {\n throw new Error('Cannot leave the main session');\n }\n\n const mainSession = this.parent.breakouts.filter((breakout) => breakout.isMain)[0];\n\n if (!mainSession) {\n throw new Error('Cannot leave, no main session found');\n }\n\n return mainSession.join();\n },\n\n /**\n * Sends a help request for the current breakout\n * @returns {Promise}\n */\n askForHelp() {\n return this.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/help`,\n body: {\n groupId: this.groupId,\n sessionId: this.sessionId,\n },\n });\n },\n\n /**\n * inits the members object\n * @returns {void}\n */\n initMembers() {\n const {meetingId} = this.collection.parent;\n const meeting = this.webex.meetings.getMeetingByType(_ID_, meetingId);\n this.members = new Members(\n {\n meeting,\n },\n {parent: this.webex}\n );\n },\n\n /**\n * check sequence and determine whether to update the new roster or not\n * @param {Object} locus Locus object\n * @returns {Boolean}\n */\n isNeedHandleRoster(locus: any) {\n if (!this.breakoutRosterLocus?.sequence?.entries?.length || !locus?.sequence?.entries?.length) {\n return true;\n }\n const prevSequence = this.breakoutRosterLocus.sequence.entries[0];\n const currentSequence = locus.sequence.entries[0];\n\n return currentSequence > prevSequence;\n },\n /**\n * Parses the participants from the locus object\n * @param {Object} locus Locus object\n * @returns {void}\n */\n parseRoster(locus) {\n if (!this.members) {\n this.initMembers();\n }\n if (!this.isNeedHandleRoster(locus)) {\n return;\n }\n this.breakoutRosterLocus = locus;\n // The roster via breakout roster event is full roster, use replace strategy to update the members\n this.members.locusParticipantsUpdate({participants: locus.participants, isReplace: true});\n },\n\n /**\n * Broadcast message to this breakout session's participants\n * @param {String} message\n * @param {Object} options\n * @returns {Promise}\n */\n broadcast(message, options) {\n return this.breakoutRequest.broadcast({\n url: this.url,\n message,\n options,\n groupId: this.groupId,\n sessionId: this.sessionId,\n });\n },\n});\n\nexport default Breakout;\n"],"mappings":"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","ignoreList":[]}
@@ -1109,7 +1109,7 @@ var Breakouts = _webexCore.WebexPlugin.extend({
1109
1109
  this.trigger(_constants.BREAKOUTS.EVENTS.ASK_RETURN_TO_MAIN);
1110
1110
  }
1111
1111
  },
1112
- version: "3.12.0-next.5"
1112
+ version: "3.12.0-next.50"
1113
1113
  });
1114
1114
  var _default = exports.default = Breakouts;
1115
1115
  //# sourceMappingURL=index.js.map
package/dist/config.js CHANGED
@@ -90,6 +90,7 @@ var _default = exports.default = {
90
90
  enableExtmap: false,
91
91
  enableAutomaticLLM: false,
92
92
  installedOrgID: undefined,
93
+ multipartSitePrefixList: ['.my.', '.mydmz.', '.mybts.', '.mydev.', '.myats2.', '.myats.'],
93
94
  experimental: {
94
95
  enableMediaNegotiatedEvent: false,
95
96
  enableUnifiedMeetings: true,
@@ -1 +1 @@
1
- {"version":3,"names":["_common","require","_default","exports","default","meetings","deviceType","WEB","mediaSettings","pstn","reconnection","enabled","autoRejoin","detection","iceReconnectionTimeout","maxRejoinAttempts","stats","enableStatsAnalyzer","autoDowngradeEnabled","interval","analyzerInterval","historyMax","videoPacketLossRatioThreshold","rttThreshold","jitterThreshold","metrics","clientName","clientType","subClientType","mqaMetricsInterval","autoSendMQA","logging","enable","verboseEvents","resolution","maxWidth","maxHeight","idealWidth","idealHeight","screenResolution","bandwidth","audio","video","startBitrate","screenFrameRate","videoShareFrameRate","aspectRatio","autoUploadLogs","enableRtx","receiveTranscription","enableExtmap","enableAutomaticLLM","installedOrgID","undefined","experimental","enableMediaNegotiatedEvent","enableUnifiedMeetings","enableAdhocMeetings","enableTcpReachability","enableTlsReachability","storeLocusHashTreeEventsForDebugging","degradationPreferences","maxMacroblocksLimit","iceCandidatesGatheringTimeout","backendIpv6NativeSupport","enableReachabilityChecks","reachabilityGetClusterTimeout","logUploadIntervalMultiplicationFactor","stopIceGatheringAfterFirstRelayCandidate","enableAudioTwccForMultistream","enablePerUdpUrlReachability","locus","excludedDataSets"],"sources":["config.ts"],"sourcesContent":["// @ts-ignore\nimport {deviceType} from '@webex/common';\n\nexport default {\n // TODO: this needs to be defaulted\n // to JS_SDK and clients set it to WEB or others\n // see https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-73167\n meetings: {\n deviceType: deviceType.WEB,\n mediaSettings: {\n pstn: false,\n },\n reconnection: {\n enabled: false,\n autoRejoin: true,\n detection: true,\n // Timeout duration to wait for ICE to reconnect if a disconnect is received.\n iceReconnectionTimeout: 10000,\n // Amount of times attempting to rejoin a meeting during reconnect\n maxRejoinAttempts: 3,\n },\n stats: {\n // Enable the webrtc stats analyzer that emits quality degradation events\n enableStatsAnalyzer: true,\n // Enable the auto downgrade video quality feature\n autoDowngradeEnabled: false,\n // 1 second intervals to collect stats data\n interval: 1000,\n // we just want to analyze data every 5 sec interval\n analyzerInterval: 5000,\n // hold the last 2 minute of a calls data\n historyMax: 120,\n // Once packet loss hits this ratio, the video will downgrade\n videoPacketLossRatioThreshold: 9, // comparison of packets lost / packets received\n rttThreshold: 500, // 500 ms noticeable quality lag begins based on bandwidth of user\n jitterThreshold: 500, // 500 ms noticeable quality lag begins based on bandwidth of user\n },\n metrics: {\n // change to your client name else data will be muddled\n // you do not need a specific format, and you do not need to register it\n clientName: 'WEBEX_JS_SDK',\n // TODO: for now this line has to be whitelisted, which is problematic for third party\n clientType: 'WEBEX_SDK',\n // Stores the sub client type used when sending metrics\n subClientType: 'WEB_APP',\n // send average values MQA in 60 second intervals\n mqaMetricsInterval: 60000,\n // send to cisco internal MQA data automatically\n // we already send CA\n autoSendMQA: true,\n },\n logging: {\n enable: true,\n verboseEvents: true,\n },\n resolution: {\n maxWidth: 1280,\n maxHeight: 720,\n idealWidth: 1280,\n idealHeight: 720,\n },\n screenResolution: {\n maxWidth: 1920,\n maxHeight: 1080,\n idealWidth: 1920,\n idealHeight: 1080,\n },\n bandwidth: {\n // please note, these are the maximum bandwidth values\n // the server supports, minimums have to be tested\n audio: 64000,\n video: 4000000,\n startBitrate: 2000,\n },\n screenFrameRate: 10,\n videoShareFrameRate: 30,\n aspectRatio: 1.7695852534562213,\n // When enabled, as calls are ended, it will upload the SDK logs and correlate them\n autoUploadLogs: true,\n enableRtx: true,\n receiveTranscription: false,\n enableExtmap: false,\n enableAutomaticLLM: false,\n installedOrgID: undefined,\n experimental: {\n enableMediaNegotiatedEvent: false,\n enableUnifiedMeetings: true,\n enableAdhocMeetings: true,\n enableTcpReachability: false,\n enableTlsReachability: false,\n storeLocusHashTreeEventsForDebugging: false,\n },\n degradationPreferences: {\n maxMacroblocksLimit: 8192,\n },\n // This only applies to non-multistream meetings\n iceCandidatesGatheringTimeout: undefined,\n backendIpv6NativeSupport: false,\n enableReachabilityChecks: true,\n reachabilityGetClusterTimeout: 5000,\n logUploadIntervalMultiplicationFactor: 0, // if set to 0 or undefined, logs won't be uploaded periodically, if you want periodic logs, recommended value is 1\n stopIceGatheringAfterFirstRelayCandidate: false,\n enableAudioTwccForMultistream: false,\n enablePerUdpUrlReachability: false, // true: separate peer connection per each UDP URL; false: single peer connection for all URLs\n locus: {\n excludedDataSets: ['attendees'], // attendees data set only applies to webinar attendees and we never really need that\n },\n },\n};\n"],"mappings":";;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AADA;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAGe;EACb;EACA;EACA;EACAC,QAAQ,EAAE;IACRC,UAAU,EAAEA,kBAAU,CAACC,GAAG;IAC1BC,aAAa,EAAE;MACbC,IAAI,EAAE;IACR,CAAC;IACDC,YAAY,EAAE;MACZC,OAAO,EAAE,KAAK;MACdC,UAAU,EAAE,IAAI;MAChBC,SAAS,EAAE,IAAI;MACf;MACAC,sBAAsB,EAAE,KAAK;MAC7B;MACAC,iBAAiB,EAAE;IACrB,CAAC;IACDC,KAAK,EAAE;MACL;MACAC,mBAAmB,EAAE,IAAI;MACzB;MACAC,oBAAoB,EAAE,KAAK;MAC3B;MACAC,QAAQ,EAAE,IAAI;MACd;MACAC,gBAAgB,EAAE,IAAI;MACtB;MACAC,UAAU,EAAE,GAAG;MACf;MACAC,6BAA6B,EAAE,CAAC;MAAE;MAClCC,YAAY,EAAE,GAAG;MAAE;MACnBC,eAAe,EAAE,GAAG,CAAE;IACxB,CAAC;IACDC,OAAO,EAAE;MACP;MACA;MACAC,UAAU,EAAE,cAAc;MAC1B;MACAC,UAAU,EAAE,WAAW;MACvB;MACAC,aAAa,EAAE,SAAS;MACxB;MACAC,kBAAkB,EAAE,KAAK;MACzB;MACA;MACAC,WAAW,EAAE;IACf,CAAC;IACDC,OAAO,EAAE;MACPC,MAAM,EAAE,IAAI;MACZC,aAAa,EAAE;IACjB,CAAC;IACDC,UAAU,EAAE;MACVC,QAAQ,EAAE,IAAI;MACdC,SAAS,EAAE,GAAG;MACdC,UAAU,EAAE,IAAI;MAChBC,WAAW,EAAE;IACf,CAAC;IACDC,gBAAgB,EAAE;MAChBJ,QAAQ,EAAE,IAAI;MACdC,SAAS,EAAE,IAAI;MACfC,UAAU,EAAE,IAAI;MAChBC,WAAW,EAAE;IACf,CAAC;IACDE,SAAS,EAAE;MACT;MACA;MACAC,KAAK,EAAE,KAAK;MACZC,KAAK,EAAE,OAAO;MACdC,YAAY,EAAE;IAChB,CAAC;IACDC,eAAe,EAAE,EAAE;IACnBC,mBAAmB,EAAE,EAAE;IACvBC,WAAW,EAAE,kBAAkB;IAC/B;IACAC,cAAc,EAAE,IAAI;IACpBC,SAAS,EAAE,IAAI;IACfC,oBAAoB,EAAE,KAAK;IAC3BC,YAAY,EAAE,KAAK;IACnBC,kBAAkB,EAAE,KAAK;IACzBC,cAAc,EAAEC,SAAS;IACzBC,YAAY,EAAE;MACZC,0BAA0B,EAAE,KAAK;MACjCC,qBAAqB,EAAE,IAAI;MAC3BC,mBAAmB,EAAE,IAAI;MACzBC,qBAAqB,EAAE,KAAK;MAC5BC,qBAAqB,EAAE,KAAK;MAC5BC,oCAAoC,EAAE;IACxC,CAAC;IACDC,sBAAsB,EAAE;MACtBC,mBAAmB,EAAE;IACvB,CAAC;IACD;IACAC,6BAA6B,EAAEV,SAAS;IACxCW,wBAAwB,EAAE,KAAK;IAC/BC,wBAAwB,EAAE,IAAI;IAC9BC,6BAA6B,EAAE,IAAI;IACnCC,qCAAqC,EAAE,CAAC;IAAE;IAC1CC,wCAAwC,EAAE,KAAK;IAC/CC,6BAA6B,EAAE,KAAK;IACpCC,2BAA2B,EAAE,KAAK;IAAE;IACpCC,KAAK,EAAE;MACLC,gBAAgB,EAAE,CAAC,WAAW,CAAC,CAAE;IACnC;EACF;AACF,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_common","require","_default","exports","default","meetings","deviceType","WEB","mediaSettings","pstn","reconnection","enabled","autoRejoin","detection","iceReconnectionTimeout","maxRejoinAttempts","stats","enableStatsAnalyzer","autoDowngradeEnabled","interval","analyzerInterval","historyMax","videoPacketLossRatioThreshold","rttThreshold","jitterThreshold","metrics","clientName","clientType","subClientType","mqaMetricsInterval","autoSendMQA","logging","enable","verboseEvents","resolution","maxWidth","maxHeight","idealWidth","idealHeight","screenResolution","bandwidth","audio","video","startBitrate","screenFrameRate","videoShareFrameRate","aspectRatio","autoUploadLogs","enableRtx","receiveTranscription","enableExtmap","enableAutomaticLLM","installedOrgID","undefined","multipartSitePrefixList","experimental","enableMediaNegotiatedEvent","enableUnifiedMeetings","enableAdhocMeetings","enableTcpReachability","enableTlsReachability","storeLocusHashTreeEventsForDebugging","degradationPreferences","maxMacroblocksLimit","iceCandidatesGatheringTimeout","backendIpv6NativeSupport","enableReachabilityChecks","reachabilityGetClusterTimeout","logUploadIntervalMultiplicationFactor","stopIceGatheringAfterFirstRelayCandidate","enableAudioTwccForMultistream","enablePerUdpUrlReachability","locus","excludedDataSets"],"sources":["config.ts"],"sourcesContent":["// @ts-ignore\nimport {deviceType} from '@webex/common';\n\nexport default {\n // TODO: this needs to be defaulted\n // to JS_SDK and clients set it to WEB or others\n // see https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-73167\n meetings: {\n deviceType: deviceType.WEB,\n mediaSettings: {\n pstn: false,\n },\n reconnection: {\n enabled: false,\n autoRejoin: true,\n detection: true,\n // Timeout duration to wait for ICE to reconnect if a disconnect is received.\n iceReconnectionTimeout: 10000,\n // Amount of times attempting to rejoin a meeting during reconnect\n maxRejoinAttempts: 3,\n },\n stats: {\n // Enable the webrtc stats analyzer that emits quality degradation events\n enableStatsAnalyzer: true,\n // Enable the auto downgrade video quality feature\n autoDowngradeEnabled: false,\n // 1 second intervals to collect stats data\n interval: 1000,\n // we just want to analyze data every 5 sec interval\n analyzerInterval: 5000,\n // hold the last 2 minute of a calls data\n historyMax: 120,\n // Once packet loss hits this ratio, the video will downgrade\n videoPacketLossRatioThreshold: 9, // comparison of packets lost / packets received\n rttThreshold: 500, // 500 ms noticeable quality lag begins based on bandwidth of user\n jitterThreshold: 500, // 500 ms noticeable quality lag begins based on bandwidth of user\n },\n metrics: {\n // change to your client name else data will be muddled\n // you do not need a specific format, and you do not need to register it\n clientName: 'WEBEX_JS_SDK',\n // TODO: for now this line has to be whitelisted, which is problematic for third party\n clientType: 'WEBEX_SDK',\n // Stores the sub client type used when sending metrics\n subClientType: 'WEB_APP',\n // send average values MQA in 60 second intervals\n mqaMetricsInterval: 60000,\n // send to cisco internal MQA data automatically\n // we already send CA\n autoSendMQA: true,\n },\n logging: {\n enable: true,\n verboseEvents: true,\n },\n resolution: {\n maxWidth: 1280,\n maxHeight: 720,\n idealWidth: 1280,\n idealHeight: 720,\n },\n screenResolution: {\n maxWidth: 1920,\n maxHeight: 1080,\n idealWidth: 1920,\n idealHeight: 1080,\n },\n bandwidth: {\n // please note, these are the maximum bandwidth values\n // the server supports, minimums have to be tested\n audio: 64000,\n video: 4000000,\n startBitrate: 2000,\n },\n screenFrameRate: 10,\n videoShareFrameRate: 30,\n aspectRatio: 1.7695852534562213,\n // When enabled, as calls are ended, it will upload the SDK logs and correlate them\n autoUploadLogs: true,\n enableRtx: true,\n receiveTranscription: false,\n enableExtmap: false,\n enableAutomaticLLM: false,\n installedOrgID: undefined,\n multipartSitePrefixList: ['.my.', '.mydmz.', '.mybts.', '.mydev.', '.myats2.', '.myats.'],\n experimental: {\n enableMediaNegotiatedEvent: false,\n enableUnifiedMeetings: true,\n enableAdhocMeetings: true,\n enableTcpReachability: false,\n enableTlsReachability: false,\n storeLocusHashTreeEventsForDebugging: false,\n },\n degradationPreferences: {\n maxMacroblocksLimit: 8192,\n },\n // This only applies to non-multistream meetings\n iceCandidatesGatheringTimeout: undefined,\n backendIpv6NativeSupport: false,\n enableReachabilityChecks: true,\n reachabilityGetClusterTimeout: 5000,\n logUploadIntervalMultiplicationFactor: 0, // if set to 0 or undefined, logs won't be uploaded periodically, if you want periodic logs, recommended value is 1\n stopIceGatheringAfterFirstRelayCandidate: false,\n enableAudioTwccForMultistream: false,\n enablePerUdpUrlReachability: false, // true: separate peer connection per each UDP URL; false: single peer connection for all URLs\n locus: {\n excludedDataSets: ['attendees'], // attendees data set only applies to webinar attendees and we never really need that\n },\n },\n};\n"],"mappings":";;;;;;;AACA,IAAAA,OAAA,GAAAC,OAAA;AADA;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAAC,OAAA,GAGe;EACb;EACA;EACA;EACAC,QAAQ,EAAE;IACRC,UAAU,EAAEA,kBAAU,CAACC,GAAG;IAC1BC,aAAa,EAAE;MACbC,IAAI,EAAE;IACR,CAAC;IACDC,YAAY,EAAE;MACZC,OAAO,EAAE,KAAK;MACdC,UAAU,EAAE,IAAI;MAChBC,SAAS,EAAE,IAAI;MACf;MACAC,sBAAsB,EAAE,KAAK;MAC7B;MACAC,iBAAiB,EAAE;IACrB,CAAC;IACDC,KAAK,EAAE;MACL;MACAC,mBAAmB,EAAE,IAAI;MACzB;MACAC,oBAAoB,EAAE,KAAK;MAC3B;MACAC,QAAQ,EAAE,IAAI;MACd;MACAC,gBAAgB,EAAE,IAAI;MACtB;MACAC,UAAU,EAAE,GAAG;MACf;MACAC,6BAA6B,EAAE,CAAC;MAAE;MAClCC,YAAY,EAAE,GAAG;MAAE;MACnBC,eAAe,EAAE,GAAG,CAAE;IACxB,CAAC;IACDC,OAAO,EAAE;MACP;MACA;MACAC,UAAU,EAAE,cAAc;MAC1B;MACAC,UAAU,EAAE,WAAW;MACvB;MACAC,aAAa,EAAE,SAAS;MACxB;MACAC,kBAAkB,EAAE,KAAK;MACzB;MACA;MACAC,WAAW,EAAE;IACf,CAAC;IACDC,OAAO,EAAE;MACPC,MAAM,EAAE,IAAI;MACZC,aAAa,EAAE;IACjB,CAAC;IACDC,UAAU,EAAE;MACVC,QAAQ,EAAE,IAAI;MACdC,SAAS,EAAE,GAAG;MACdC,UAAU,EAAE,IAAI;MAChBC,WAAW,EAAE;IACf,CAAC;IACDC,gBAAgB,EAAE;MAChBJ,QAAQ,EAAE,IAAI;MACdC,SAAS,EAAE,IAAI;MACfC,UAAU,EAAE,IAAI;MAChBC,WAAW,EAAE;IACf,CAAC;IACDE,SAAS,EAAE;MACT;MACA;MACAC,KAAK,EAAE,KAAK;MACZC,KAAK,EAAE,OAAO;MACdC,YAAY,EAAE;IAChB,CAAC;IACDC,eAAe,EAAE,EAAE;IACnBC,mBAAmB,EAAE,EAAE;IACvBC,WAAW,EAAE,kBAAkB;IAC/B;IACAC,cAAc,EAAE,IAAI;IACpBC,SAAS,EAAE,IAAI;IACfC,oBAAoB,EAAE,KAAK;IAC3BC,YAAY,EAAE,KAAK;IACnBC,kBAAkB,EAAE,KAAK;IACzBC,cAAc,EAAEC,SAAS;IACzBC,uBAAuB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,SAAS,CAAC;IACzFC,YAAY,EAAE;MACZC,0BAA0B,EAAE,KAAK;MACjCC,qBAAqB,EAAE,IAAI;MAC3BC,mBAAmB,EAAE,IAAI;MACzBC,qBAAqB,EAAE,KAAK;MAC5BC,qBAAqB,EAAE,KAAK;MAC5BC,oCAAoC,EAAE;IACxC,CAAC;IACDC,sBAAsB,EAAE;MACtBC,mBAAmB,EAAE;IACvB,CAAC;IACD;IACAC,6BAA6B,EAAEX,SAAS;IACxCY,wBAAwB,EAAE,KAAK;IAC/BC,wBAAwB,EAAE,IAAI;IAC9BC,6BAA6B,EAAE,IAAI;IACnCC,qCAAqC,EAAE,CAAC;IAAE;IAC1CC,wCAAwC,EAAE,KAAK;IAC/CC,6BAA6B,EAAE,KAAK;IACpCC,2BAA2B,EAAE,KAAK;IAAE;IACpCC,KAAK,EAAE;MACLC,gBAAgB,EAAE,CAAC,WAAW,CAAC,CAAE;IACnC;EACF;AACF,CAAC","ignoreList":[]}
package/dist/constants.js CHANGED
@@ -342,7 +342,8 @@ var EVENT_TRIGGERS = exports.EVENT_TRIGGERS = {
342
342
  MEETING_MANUAL_CAPTION_UPDATED: 'meeting:manualCaptionControl:updated',
343
343
  MEETING_CAPTION_RECEIVED: 'meeting:caption-received',
344
344
  MEETING_PARTICIPANT_REASON_CHANGED: 'meeting:participant-reason-changed',
345
- MEETING_AI_ENABLE_REQUEST: 'meeting:aiEnableRequest'
345
+ MEETING_AI_ENABLE_REQUEST: 'meeting:aiEnableRequest',
346
+ MEETING_SRTP_CIPHER_UPDATED: 'meeting:srtpCipher:updated'
346
347
  };
347
348
  var EVENT_TYPES = exports.EVENT_TYPES = {
348
349
  SELF: 'self',
@@ -369,7 +370,7 @@ var MEETING_REMOVED_REASON = exports.MEETING_REMOVED_REASON = {
369
370
  SELF_REMOVED: 'SELF_REMOVED',
370
371
  // server or host removed you from the meeting
371
372
  MEETING_INACTIVE_TERMINATING: 'MEETING_INACTIVE_TERMINATING',
372
- // Meeting got ended or everyone left the meeting
373
+ // Meeting got ended or everyone left the meeting (historically was sent on Locus TERMINATING or INACTIVE, but now only on INACTIVE as that's the final state)
373
374
  CLIENT_LEAVE_REQUEST: 'CLIENT_LEAVE_REQUEST',
374
375
  // You triggered leave meeting
375
376
  CLIENT_LEAVE_REQUEST_TAB_CLOSED: 'CLIENT_LEAVE_REQUEST_TAB_CLOSED',
@@ -986,7 +987,9 @@ var DISPLAY_HINTS = exports.DISPLAY_HINTS = {
986
987
  DISABLE_ATTENDEE_START_POLLING_QA: 'DISABLE_ATTENDEE_START_POLLING_QA',
987
988
  // AI
988
989
  ATTENDEE_REQUEST_AI_ASSISTANT_ENABLED: 'ATTENDEE_REQUEST_AI_ASSISTANT_ENABLED',
989
- ATTENDEE_REQUEST_AI_ASSISTANT_DECLINED_ALL: 'ATTENDEE_REQUEST_AI_ASSISTANT_DECLINED_ALL'
990
+ ATTENDEE_REQUEST_AI_ASSISTANT_DECLINED_ALL: 'ATTENDEE_REQUEST_AI_ASSISTANT_DECLINED_ALL',
991
+ // Anonymous Display Names
992
+ ANONYMOUS_DISPLAY_NAMES_ENABLED: 'ANONYMOUS_DISPLAY_NAMES_ENABLED'
990
993
  };
991
994
  var INTERSTITIAL_DISPLAY_HINTS = exports.INTERSTITIAL_DISPLAY_HINTS = [DISPLAY_HINTS.VOIP_IS_ENABLED];
992
995
  var SELF_ROLES = exports.SELF_ROLES = {