@webex/plugin-meetings 3.11.0-next.3 → 3.11.0-next.31

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 (138) hide show
  1. package/dist/aiEnableRequest/index.js +181 -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 +3 -3
  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 +5 -1
  10. package/dist/config.js.map +1 -1
  11. package/dist/constants.js +21 -4
  12. package/dist/constants.js.map +1 -1
  13. package/dist/hashTree/hashTree.js +18 -0
  14. package/dist/hashTree/hashTree.js.map +1 -1
  15. package/dist/hashTree/hashTreeParser.js +603 -266
  16. package/dist/hashTree/hashTreeParser.js.map +1 -1
  17. package/dist/hashTree/types.js +4 -2
  18. package/dist/hashTree/types.js.map +1 -1
  19. package/dist/hashTree/utils.js +10 -0
  20. package/dist/hashTree/utils.js.map +1 -1
  21. package/dist/index.js +11 -2
  22. package/dist/index.js.map +1 -1
  23. package/dist/interceptors/constant.js +12 -0
  24. package/dist/interceptors/constant.js.map +1 -0
  25. package/dist/interceptors/dataChannelAuthToken.js +233 -0
  26. package/dist/interceptors/dataChannelAuthToken.js.map +1 -0
  27. package/dist/interceptors/index.js +7 -0
  28. package/dist/interceptors/index.js.map +1 -1
  29. package/dist/interpretation/index.js +2 -2
  30. package/dist/interpretation/index.js.map +1 -1
  31. package/dist/interpretation/siLanguage.js +1 -1
  32. package/dist/locus-info/index.js +88 -44
  33. package/dist/locus-info/index.js.map +1 -1
  34. package/dist/locus-info/selfUtils.js +1 -0
  35. package/dist/locus-info/selfUtils.js.map +1 -1
  36. package/dist/locus-info/types.js.map +1 -1
  37. package/dist/media/MediaConnectionAwaiter.js +57 -1
  38. package/dist/media/MediaConnectionAwaiter.js.map +1 -1
  39. package/dist/media/properties.js +4 -2
  40. package/dist/media/properties.js.map +1 -1
  41. package/dist/meeting/in-meeting-actions.js +3 -1
  42. package/dist/meeting/in-meeting-actions.js.map +1 -1
  43. package/dist/meeting/index.js +149 -42
  44. package/dist/meeting/index.js.map +1 -1
  45. package/dist/meeting/request.js +50 -0
  46. package/dist/meeting/request.js.map +1 -1
  47. package/dist/meeting/request.type.js.map +1 -1
  48. package/dist/meeting/util.js +121 -2
  49. package/dist/meeting/util.js.map +1 -1
  50. package/dist/meetings/index.js +78 -36
  51. package/dist/meetings/index.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/util.js +10 -0
  55. package/dist/member/util.js.map +1 -1
  56. package/dist/metrics/constants.js +2 -1
  57. package/dist/metrics/constants.js.map +1 -1
  58. package/dist/multistream/mediaRequestManager.js +1 -1
  59. package/dist/multistream/mediaRequestManager.js.map +1 -1
  60. package/dist/multistream/remoteMediaManager.js +11 -0
  61. package/dist/multistream/remoteMediaManager.js.map +1 -1
  62. package/dist/reactions/reactions.type.js.map +1 -1
  63. package/dist/types/aiEnableRequest/index.d.ts +5 -0
  64. package/dist/types/aiEnableRequest/utils.d.ts +2 -0
  65. package/dist/types/config.d.ts +3 -0
  66. package/dist/types/constants.d.ts +16 -0
  67. package/dist/types/hashTree/hashTree.d.ts +7 -0
  68. package/dist/types/hashTree/hashTreeParser.d.ts +83 -12
  69. package/dist/types/hashTree/types.d.ts +3 -0
  70. package/dist/types/hashTree/utils.d.ts +6 -0
  71. package/dist/types/index.d.ts +1 -0
  72. package/dist/types/interceptors/constant.d.ts +5 -0
  73. package/dist/types/interceptors/dataChannelAuthToken.d.ts +35 -0
  74. package/dist/types/interceptors/index.d.ts +2 -1
  75. package/dist/types/locus-info/index.d.ts +9 -2
  76. package/dist/types/locus-info/types.d.ts +1 -0
  77. package/dist/types/media/MediaConnectionAwaiter.d.ts +10 -1
  78. package/dist/types/media/properties.d.ts +2 -1
  79. package/dist/types/meeting/in-meeting-actions.d.ts +2 -0
  80. package/dist/types/meeting/index.d.ts +28 -5
  81. package/dist/types/meeting/request.d.ts +16 -1
  82. package/dist/types/meeting/request.type.d.ts +5 -0
  83. package/dist/types/meeting/util.d.ts +29 -0
  84. package/dist/types/meetings/index.d.ts +4 -2
  85. package/dist/types/member/index.d.ts +1 -0
  86. package/dist/types/member/util.d.ts +5 -0
  87. package/dist/types/metrics/constants.d.ts +1 -0
  88. package/dist/types/reactions/reactions.type.d.ts +1 -0
  89. package/dist/webinar/index.js +1 -1
  90. package/package.json +22 -22
  91. package/src/aiEnableRequest/README.md +84 -0
  92. package/src/aiEnableRequest/index.ts +164 -0
  93. package/src/aiEnableRequest/utils.ts +25 -0
  94. package/src/annotation/index.ts +7 -4
  95. package/src/config.ts +3 -0
  96. package/src/constants.ts +20 -0
  97. package/src/hashTree/hashTree.ts +17 -0
  98. package/src/hashTree/hashTreeParser.ts +525 -188
  99. package/src/hashTree/types.ts +4 -0
  100. package/src/hashTree/utils.ts +9 -0
  101. package/src/index.ts +8 -1
  102. package/src/interceptors/constant.ts +6 -0
  103. package/src/interceptors/dataChannelAuthToken.ts +142 -0
  104. package/src/interceptors/index.ts +2 -1
  105. package/src/interpretation/index.ts +2 -2
  106. package/src/locus-info/index.ts +123 -35
  107. package/src/locus-info/selfUtils.ts +1 -0
  108. package/src/locus-info/types.ts +1 -0
  109. package/src/media/MediaConnectionAwaiter.ts +41 -1
  110. package/src/media/properties.ts +3 -1
  111. package/src/meeting/in-meeting-actions.ts +4 -0
  112. package/src/meeting/index.ts +116 -22
  113. package/src/meeting/request.ts +42 -0
  114. package/src/meeting/request.type.ts +6 -0
  115. package/src/meeting/util.ts +148 -1
  116. package/src/meetings/index.ts +94 -9
  117. package/src/member/index.ts +10 -0
  118. package/src/member/util.ts +12 -0
  119. package/src/metrics/constants.ts +1 -0
  120. package/src/multistream/mediaRequestManager.ts +1 -1
  121. package/src/multistream/remoteMediaManager.ts +13 -0
  122. package/src/reactions/reactions.type.ts +1 -0
  123. package/test/unit/spec/aiEnableRequest/index.ts +953 -0
  124. package/test/unit/spec/aiEnableRequest/utils.ts +130 -0
  125. package/test/unit/spec/hashTree/hashTree.ts +66 -0
  126. package/test/unit/spec/hashTree/hashTreeParser.ts +1594 -162
  127. package/test/unit/spec/interceptors/dataChannelAuthToken.ts +141 -0
  128. package/test/unit/spec/locus-info/index.js +173 -45
  129. package/test/unit/spec/media/MediaConnectionAwaiter.ts +41 -1
  130. package/test/unit/spec/media/properties.ts +12 -3
  131. package/test/unit/spec/meeting/in-meeting-actions.ts +4 -2
  132. package/test/unit/spec/meeting/index.js +497 -81
  133. package/test/unit/spec/meeting/request.js +64 -0
  134. package/test/unit/spec/meeting/utils.js +369 -22
  135. package/test/unit/spec/meetings/index.js +550 -10
  136. package/test/unit/spec/member/index.js +28 -4
  137. package/test/unit/spec/member/util.js +65 -27
  138. package/test/unit/spec/multistream/remoteMediaManager.ts +30 -0
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
+ _Object$defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _webexCore = require("@webex/webex-core");
9
+ var _constants = require("../constants");
10
+ /*!
11
+ * Copyright (c) 2015-2026 Cisco Systems, Inc. See LICENSE file.
12
+ */
13
+
14
+ /**
15
+ * @class AIEnableRequest
16
+ */
17
+ var AIEnableRequest = _webexCore.WebexPlugin.extend({
18
+ namespace: _constants.MEETINGS,
19
+ props: {
20
+ approvalUrl: 'string',
21
+ selfParticipantId: 'string',
22
+ hasSubscribedToEvents: 'boolean'
23
+ },
24
+ /**
25
+ * Update the approval url for handoff
26
+ * @param {string} approvalUrl
27
+ * @returns {void}
28
+ */
29
+ approvalUrlUpdate: function approvalUrlUpdate(approvalUrl) {
30
+ this.set('approvalUrl', approvalUrl);
31
+ },
32
+ /**
33
+ * Update the self participant id
34
+ * @param {string} selfParticipantId
35
+ * @returns {void}
36
+ */
37
+ selfParticipantIdUpdate: function selfParticipantIdUpdate(selfParticipantId) {
38
+ this.set('selfParticipantId', selfParticipantId);
39
+ if (!this.hasSubscribedToEvents) {
40
+ this.listenToApprovalRequests();
41
+ this.set('hasSubscribedToEvents', true);
42
+ }
43
+ },
44
+ /**
45
+ * Listen to locus approval request events and trigger a new event with necessary details when an AI enablement approval request is received
46
+ * @returns {void}
47
+ */
48
+ listenToApprovalRequests: function listenToApprovalRequests() {
49
+ var _this = this;
50
+ this.listenTo(this.webex.internal.mercury, "event:".concat(_constants.LOCUSEVENT.APPROVAL_REQUEST), function (event) {
51
+ var _event$data, _event$data$approval;
52
+ 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$;
54
+ var _event$data$approval2 = event.data.approval,
55
+ receivers = _event$data$approval2.receivers,
56
+ initiator = _event$data$approval2.initiator,
57
+ actionType = _event$data$approval2.actionType,
58
+ url = _event$data$approval2.url;
59
+ var approverId = receivers === null || receivers === void 0 ? void 0 : (_receivers$ = receivers[0]) === null || _receivers$ === void 0 ? void 0 : _receivers$.participantId;
60
+ var isApprover = !!approverId && approverId === _this.selfParticipantId;
61
+ var initiatorId = initiator === null || initiator === void 0 ? void 0 : initiator.participantId;
62
+ var isInitiator = !!initiatorId && initiatorId === _this.selfParticipantId;
63
+ if (!isApprover && !isInitiator) {
64
+ return;
65
+ }
66
+ _this.trigger(_constants.AI_ENABLE_REQUEST.EVENTS.APPROVAL_REQUEST_ARRIVED, {
67
+ actionType: actionType,
68
+ isApprover: isApprover,
69
+ isInitiator: isInitiator,
70
+ initiatorId: initiatorId,
71
+ approverId: approverId,
72
+ url: url
73
+ });
74
+ }
75
+ });
76
+ },
77
+ /**
78
+ * Helper method to send AI assistant request
79
+ * @param {Object} params
80
+ * @param {string} params.url approval url
81
+ * @param {string} params.actionType the type of action (REQUESTED, ACCEPTED, DECLINED, DECLINED_ALL)
82
+ * @param {string} params.initiatorId
83
+ * @param {string} params.approverId
84
+ * @param {string} params.method HTTP method to use for the request
85
+ * @returns {Promise}
86
+ */
87
+ sendApprovalRequest: function sendApprovalRequest(_ref) {
88
+ var url = _ref.url,
89
+ actionType = _ref.actionType,
90
+ initiatorId = _ref.initiatorId,
91
+ approverId = _ref.approverId,
92
+ method = _ref.method;
93
+ return this.request({
94
+ method: method,
95
+ uri: url,
96
+ body: {
97
+ actionType: actionType,
98
+ resourceType: _constants.AI_ENABLE_REQUEST.RESOURCE_TYPE,
99
+ initiator: {
100
+ participantId: initiatorId
101
+ },
102
+ approver: {
103
+ participantId: approverId
104
+ }
105
+ }
106
+ });
107
+ },
108
+ /**
109
+ * Sends a request to enable the AI assistant
110
+ * @param {Object} params
111
+ * @param {string} params.approverId
112
+ * @returns {Promise}
113
+ */
114
+ requestEnableAIAssistant: function requestEnableAIAssistant(_ref2) {
115
+ var approverId = _ref2.approverId;
116
+ return this.sendApprovalRequest({
117
+ url: this.approvalUrl,
118
+ actionType: _constants.AI_ENABLE_REQUEST.ACTION_TYPE.REQUESTED,
119
+ initiatorId: this.selfParticipantId,
120
+ approverId: approverId,
121
+ method: _constants.HTTP_VERBS.POST
122
+ });
123
+ },
124
+ /**
125
+ * Sends a request to accept the AI assistant enablement
126
+ * @param {Object} params
127
+ * @param {string} params.url approval url
128
+ * @param {string} params.initiatorId
129
+ * @returns {Promise}
130
+ */
131
+ acceptEnableAIAssistantRequest: function acceptEnableAIAssistantRequest(_ref3) {
132
+ var url = _ref3.url,
133
+ initiatorId = _ref3.initiatorId;
134
+ return this.sendApprovalRequest({
135
+ url: url,
136
+ actionType: _constants.AI_ENABLE_REQUEST.ACTION_TYPE.ACCEPTED,
137
+ initiatorId: initiatorId,
138
+ approverId: this.selfParticipantId,
139
+ method: _constants.HTTP_VERBS.PUT
140
+ });
141
+ },
142
+ /**
143
+ * Sends a request to decline the AI assistant enablement
144
+ * @param {Object} params
145
+ * @param {string} params.url approval url
146
+ * @param {string} params.initiatorId
147
+ * @returns {Promise}
148
+ */
149
+ declineEnableAIAssistantRequest: function declineEnableAIAssistantRequest(_ref4) {
150
+ var url = _ref4.url,
151
+ initiatorId = _ref4.initiatorId;
152
+ return this.sendApprovalRequest({
153
+ url: url,
154
+ actionType: _constants.AI_ENABLE_REQUEST.ACTION_TYPE.DECLINED,
155
+ initiatorId: initiatorId,
156
+ approverId: this.selfParticipantId,
157
+ method: _constants.HTTP_VERBS.PUT
158
+ });
159
+ },
160
+ /**
161
+ * Sends a request to decline all AI assistant enablement requests
162
+ * @param {Object} params
163
+ * @param {string} params.url approval url
164
+ * @param {string} params.initiatorId
165
+ * @returns {Promise}
166
+ */
167
+ declineAllEnableAIAssistantRequests: function declineAllEnableAIAssistantRequests(_ref5) {
168
+ var url = _ref5.url,
169
+ initiatorId = _ref5.initiatorId;
170
+ return this.sendApprovalRequest({
171
+ url: url,
172
+ actionType: _constants.AI_ENABLE_REQUEST.ACTION_TYPE.DECLINED_ALL,
173
+ initiatorId: initiatorId,
174
+ approverId: this.selfParticipantId,
175
+ method: _constants.HTTP_VERBS.PUT
176
+ });
177
+ },
178
+ version: "3.11.0-next.31"
179
+ });
180
+ var _default = exports.default = AIEnableRequest;
181
+ //# sourceMappingURL=index.js.map
@@ -0,0 +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","trigger","EVENTS","APPROVAL_REQUEST_ARRIVED","sendApprovalRequest","_ref","method","request","uri","body","approver","requestEnableAIAssistant","_ref2","ACTION_TYPE","REQUESTED","HTTP_VERBS","POST","acceptEnableAIAssistantRequest","_ref3","ACCEPTED","PUT","declineEnableAIAssistantRequest","_ref4","DECLINED","declineAllEnableAIAssistantRequests","_ref5","DECLINED_ALL","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 (!isApprover && !isInitiator) {\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":[]}
@@ -0,0 +1,36 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
5
+ _Object$defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.getAIEnablementApprover = void 0;
9
+ var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
10
+ /* eslint-disable import/prefer-default-export */
11
+
12
+ var getAIEnablementApprover = exports.getAIEnablementApprover = function getAIEnablementApprover(meeting) {
13
+ var members = (0, _values.default)(meeting.members.membersCollection.members);
14
+
15
+ // find the host, if the host has the capability, return the host id
16
+ var host = members.find(function (member) {
17
+ return member.roles.moderator && member.canApproveAIEnablement;
18
+ });
19
+ if (host) {
20
+ return host.id;
21
+ }
22
+
23
+ // find the cohosts, if the host has the capability, return the host id
24
+ var cohosts = members.filter(function (member) {
25
+ return member.roles.cohost && member.canApproveAIEnablement;
26
+ }).sort(function (a, b) {
27
+ return a.id.localeCompare(b.id);
28
+ });
29
+ if (cohosts.length > 0) {
30
+ return cohosts[0].id;
31
+ }
32
+
33
+ // if no cohost has the capability, return null
34
+ return null;
35
+ };
36
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getAIEnablementApprover","exports","meeting","members","_values","default","membersCollection","host","find","member","roles","moderator","canApproveAIEnablement","id","cohosts","filter","cohost","sort","a","b","localeCompare","length"],"sources":["utils.ts"],"sourcesContent":["/* eslint-disable import/prefer-default-export */\nimport Meeting from '../meeting';\n\nexport const getAIEnablementApprover = (meeting: Meeting) => {\n const members = Object.values(meeting.members.membersCollection.members);\n\n // find the host, if the host has the capability, return the host id\n const host = members.find((member) => member.roles.moderator && member.canApproveAIEnablement);\n\n if (host) {\n return host.id;\n }\n\n // find the cohosts, if the host has the capability, return the host id\n const cohosts = members\n .filter((member) => member.roles.cohost && member.canApproveAIEnablement)\n .sort((a, b) => a.id.localeCompare(b.id));\n\n if (cohosts.length > 0) {\n return cohosts[0].id;\n }\n\n // if no cohost has the capability, return null\n return null;\n};\n"],"mappings":";;;;;;;;;AAAA;;AAGO,IAAMA,uBAAuB,GAAAC,OAAA,CAAAD,uBAAA,GAAG,SAA1BA,uBAAuBA,CAAIE,OAAgB,EAAK;EAC3D,IAAMC,OAAO,GAAG,IAAAC,OAAA,CAAAC,OAAA,EAAcH,OAAO,CAACC,OAAO,CAACG,iBAAiB,CAACH,OAAO,CAAC;;EAExE;EACA,IAAMI,IAAI,GAAGJ,OAAO,CAACK,IAAI,CAAC,UAACC,MAAM;IAAA,OAAKA,MAAM,CAACC,KAAK,CAACC,SAAS,IAAIF,MAAM,CAACG,sBAAsB;EAAA,EAAC;EAE9F,IAAIL,IAAI,EAAE;IACR,OAAOA,IAAI,CAACM,EAAE;EAChB;;EAEA;EACA,IAAMC,OAAO,GAAGX,OAAO,CACpBY,MAAM,CAAC,UAACN,MAAM;IAAA,OAAKA,MAAM,CAACC,KAAK,CAACM,MAAM,IAAIP,MAAM,CAACG,sBAAsB;EAAA,EAAC,CACxEK,IAAI,CAAC,UAACC,CAAC,EAAEC,CAAC;IAAA,OAAKD,CAAC,CAACL,EAAE,CAACO,aAAa,CAACD,CAAC,CAACN,EAAE,CAAC;EAAA,EAAC;EAE3C,IAAIC,OAAO,CAACO,MAAM,GAAG,CAAC,EAAE;IACtB,OAAOP,OAAO,CAAC,CAAC,CAAC,CAACD,EAAE;EACtB;;EAEA;EACA,OAAO,IAAI;AACb,CAAC","ignoreList":[]}
@@ -153,7 +153,7 @@ var AnnotationChannel = /*#__PURE__*/function (_WebexPlugin) {
153
153
  key: "eventCommandProcessor",
154
154
  value: function eventCommandProcessor(e) {
155
155
  var _e$data, _e$data2, _e$data2$approval, _e$data3, _e$data3$approval;
156
- if ((e === null || e === void 0 ? void 0 : (_e$data = e.data) === null || _e$data === void 0 ? void 0 : _e$data.eventType) === 'locus.approval_request' && (e === null || e === void 0 ? void 0 : (_e$data2 = e.data) === null || _e$data2 === void 0 ? void 0 : (_e$data2$approval = _e$data2.approval) === null || _e$data2$approval === void 0 ? void 0 : _e$data2$approval.resourceType) === _constants.ANNOTATION_RESOURCE_TYPE && e !== null && e !== void 0 && (_e$data3 = e.data) !== null && _e$data3 !== void 0 && (_e$data3$approval = _e$data3.approval) !== null && _e$data3$approval !== void 0 && _e$data3$approval.actionType) {
156
+ if ((e === null || e === void 0 ? void 0 : (_e$data = e.data) === null || _e$data === void 0 ? void 0 : _e$data.eventType) === _constants2.LOCUSEVENT.APPROVAL_REQUEST && (e === null || e === void 0 ? void 0 : (_e$data2 = e.data) === null || _e$data2 === void 0 ? void 0 : (_e$data2$approval = _e$data2.approval) === null || _e$data2$approval === void 0 ? void 0 : _e$data2$approval.resourceType) === _constants.ANNOTATION_RESOURCE_TYPE && e !== null && e !== void 0 && (_e$data3 = e.data) !== null && _e$data3 !== void 0 && (_e$data3$approval = _e$data3.approval) !== null && _e$data3$approval !== void 0 && _e$data3$approval.actionType) {
157
157
  _triggerProxy.default.trigger(this, {
158
158
  file: 'annotation',
159
159
  function: 'approval_request'
@@ -190,7 +190,7 @@ var AnnotationChannel = /*#__PURE__*/function (_WebexPlugin) {
190
190
  value: function listenToEvents() {
191
191
  if (!this.hasSubscribedToEvents) {
192
192
  // @ts-ignore
193
- this.webex.internal.mercury.on('event:locus.approval_request', this.eventCommandProcessor, this);
193
+ this.webex.internal.mercury.on("event:".concat(_constants2.LOCUSEVENT.APPROVAL_REQUEST), this.eventCommandProcessor, this);
194
194
  // @ts-ignore
195
195
  this.webex.internal.llm.on('event:relay.event', this.eventDataProcessor, this);
196
196
  this.hasSubscribedToEvents = true;
@@ -206,7 +206,7 @@ var AnnotationChannel = /*#__PURE__*/function (_WebexPlugin) {
206
206
  value: function deregisterEvents() {
207
207
  if (this.hasSubscribedToEvents) {
208
208
  // @ts-ignore
209
- this.webex.internal.mercury.off('event:locus.approval_request', this.eventCommandProcessor);
209
+ this.webex.internal.mercury.off("event:".concat(_constants2.LOCUSEVENT.APPROVAL_REQUEST), this.eventCommandProcessor);
210
210
 
211
211
  // @ts-ignore
212
212
  this.webex.internal.llm.off('event:relay.event', this.eventDataProcessor);
@@ -1 +1 @@
1
- {"version":3,"names":["_uuid","_interopRequireDefault","require","_webexCore","_triggerProxy","_constants","_constants2","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","AnnotationChannel","_WebexPlugin","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","ANNOTATION","_ref","_asyncToGenerator2","_regenerator","mark","_callee","actionType","requestData","body","wrap","_context","prev","next","resourceType","shareInstanceId","toUserId","receivers","participantId","deviceUrl","toDeviceUrl","abrupt","request","method","HTTP_VERBS","POST","url","approvalUrl","stop","_x","_x2","encryptionKeyUrl","content","webex","internal","encryption","decryptText","then","res","encryptText","strokeData","llm","isConnected","encryptContent","encryptedContent","publishEncrypted","seqNum","_inherits2","_createClass2","key","value","processStrokeMessage","data","_this2","decryptContent","decryptedContent","TriggerProxy","trigger","file","function","EVENT_TRIGGERS","ANNOTATION_STROKE_DATA","payload","eventCommandProcessor","_e$data","_e$data2","_e$data2$approval","_e$data3","_e$data3$approval","eventType","approval","ANNOTATION_RESOURCE_TYPE","ANNOTATION_COMMAND","type","eventDataProcessor","_e$data4","relayType","ANNOTATION_RELAY_TYPES","ANNOTATION_CLIENT","listenToEvents","hasSubscribedToEvents","mercury","on","deregisterEvents","off","locusUrlUpdate","locusUrl","approvalUrlUpdate","acceptRequest","PUT","ANNOTATION_ACTION_TYPE","ACCEPTED","declineRequest","DECLINED","approveAnnotation","sendAnnotationAction","REQUESTED","cancelApproveAnnotation","CANCELED","closeAnnotation","CLOSED","id","recipients","route","getBinding","headers","to","ANNOTATION_REQUEST_TYPE","ANNOTATION_MESSAGE","deviceId","seq","requesterId","version","trackingId","config","trackingIdPrefix","uuid","v4","toString","timestamp","Date","getTime","sequenceNumber","filterMessage","socket","send","WebexPlugin","_default","exports"],"sources":["index.ts"],"sourcesContent":["import uuid from 'uuid';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {WebexPlugin, config} from '@webex/webex-core';\nimport TriggerProxy from '../common/events/trigger-proxy';\n\nimport {\n EVENT_TRIGGERS,\n ANNOTATION_RELAY_TYPES,\n ANNOTATION,\n ANNOTATION_REQUEST_TYPE,\n ANNOTATION_ACTION_TYPE,\n ANNOTATION_RESOURCE_TYPE,\n} from './constants';\n\nimport {StrokeData, RequestData, IAnnotationChannel, CommandRequestBody} from './annotation.types';\nimport {HTTP_VERBS} from '../constants';\n\n/**\n * @description Annotation to handle LLM and Mercury message and locus API\n * @class\n */\nclass AnnotationChannel extends WebexPlugin implements IAnnotationChannel {\n namespace = ANNOTATION;\n\n private seqNum: number;\n\n hasSubscribedToEvents: boolean;\n\n approvalUrl: string;\n locusUrl: string;\n deviceUrl: string;\n\n /**\n * Initializes annotation module\n */\n constructor(...args) {\n super(...args);\n this.seqNum = 1;\n }\n\n /**\n * Process Stroke Data\n * @param {object} data\n * @returns {void}\n */\n private processStrokeMessage(data) {\n const {request} = data;\n this.decryptContent(request.value.encryptionKeyUrl, request.value.content).then(\n (decryptedContent) => {\n request.value.content = decryptedContent;\n TriggerProxy.trigger(\n this,\n {\n file: 'annotation',\n function: 'processStrokeMessage',\n },\n EVENT_TRIGGERS.ANNOTATION_STROKE_DATA,\n {\n payload: data,\n }\n );\n }\n );\n }\n\n /** bind all events from mercury\n * @param {Object} e\n * @returns {undefined}\n */\n private eventCommandProcessor(e) {\n if (\n e?.data?.eventType === 'locus.approval_request' &&\n e?.data?.approval?.resourceType === ANNOTATION_RESOURCE_TYPE &&\n e?.data?.approval?.actionType\n ) {\n TriggerProxy.trigger(\n this,\n {\n file: 'annotation',\n function: 'approval_request',\n },\n EVENT_TRIGGERS.ANNOTATION_COMMAND,\n {\n type: e.data.approval.actionType,\n payload: e.data.approval,\n }\n );\n }\n }\n\n /** bind all events from llm\n * @param {Object} e\n * @returns {undefined}\n */\n private eventDataProcessor(e) {\n switch (e?.data?.relayType) {\n case ANNOTATION_RELAY_TYPES.ANNOTATION_CLIENT:\n this.processStrokeMessage(e.data);\n break;\n default:\n break;\n }\n }\n\n /**\n * Listen to websocket messages\n * @returns {undefined}\n */\n private listenToEvents() {\n if (!this.hasSubscribedToEvents) {\n // @ts-ignore\n this.webex.internal.mercury.on(\n 'event:locus.approval_request',\n this.eventCommandProcessor,\n this\n );\n // @ts-ignore\n this.webex.internal.llm.on('event:relay.event', this.eventDataProcessor, this);\n this.hasSubscribedToEvents = true;\n }\n }\n\n /**\n * Remove event listeners\n * @returns {undefined}\n */\n public deregisterEvents() {\n if (this.hasSubscribedToEvents) {\n // @ts-ignore\n this.webex.internal.mercury.off('event:locus.approval_request', this.eventCommandProcessor);\n\n // @ts-ignore\n this.webex.internal.llm.off('event:relay.event', this.eventDataProcessor);\n\n this.hasSubscribedToEvents = false;\n }\n }\n\n /**\n * set locusUrl\n * @param {string} locusUrl\n * @returns {void}\n */\n public locusUrlUpdate(locusUrl: string) {\n this.locusUrl = locusUrl;\n this.listenToEvents();\n }\n\n /**\n * set approved url\n * @param {string} approvalUrl\n * @returns {void}\n */\n public approvalUrlUpdate(approvalUrl: string) {\n this.approvalUrl = approvalUrl;\n }\n\n /**\n * accept request\n * @param {object} approval\n * @returns {Promise}\n */\n public acceptRequest(approval) {\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.PUT,\n url: approval.url,\n body: {\n resourceType: ANNOTATION_RESOURCE_TYPE,\n actionType: ANNOTATION_ACTION_TYPE.ACCEPTED,\n },\n });\n }\n\n /**\n * presenter declined request annotation\n * @param {approval} approval\n * @returns {Promise}\n */\n public declineRequest(approval) {\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.PUT,\n url: approval.url,\n body: {\n resourceType: ANNOTATION_RESOURCE_TYPE,\n actionType: ANNOTATION_ACTION_TYPE.DECLINED,\n },\n });\n }\n\n /**\n * request approved annotation\n * @param {RequestData} requestData\n * @returns {Promise}\n */\n public approveAnnotation(requestData: RequestData) {\n return this.sendAnnotationAction(ANNOTATION_ACTION_TYPE.REQUESTED, requestData);\n }\n\n /**\n * cancel approved annotation\n * @param {object} requestData\n * @param {object} approval\n * @returns {Promise}\n */\n public cancelApproveAnnotation(requestData: RequestData, approval) {\n const body: CommandRequestBody = {\n actionType: ANNOTATION_ACTION_TYPE.CANCELED,\n resourceType: 'AnnotationOnShare',\n shareInstanceId: requestData.shareInstanceId,\n };\n\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.PUT,\n url: `${approval.url}`,\n body,\n });\n }\n\n /**\n * close annotation\n * @param {object} requestData\n * @returns {Promise}\n */\n public closeAnnotation(requestData: RequestData) {\n return this.sendAnnotationAction(ANNOTATION_ACTION_TYPE.CLOSED, requestData);\n }\n\n /**\n * send annotation command\n * @param {ANNOTATION_ACTION_TYPE} actionType\n * @param {RequestData} requestData\n * @returns {Promise}\n */\n private sendAnnotationAction = async (\n actionType: ANNOTATION_ACTION_TYPE,\n requestData: RequestData\n ): Promise<void> => {\n const body: CommandRequestBody = {\n actionType,\n resourceType: 'AnnotationOnShare',\n shareInstanceId: requestData.shareInstanceId,\n };\n if (requestData?.toUserId) {\n body.receivers = [{participantId: requestData.toUserId, deviceUrl: requestData.toDeviceUrl}];\n }\n\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.POST,\n url: `${this.approvalUrl}`,\n body,\n });\n };\n\n /**\n * decrypt data\n * @param {string} encryptionKeyUrl\n * @param {string} content encrypted content\n * @returns {string} decrypted content\n */\n private decryptContent = (encryptionKeyUrl: string, content: string): Promise<any> => {\n // @ts-ignore\n return this.webex.internal.encryption.decryptText(encryptionKeyUrl, content).then((res) => {\n return res;\n });\n };\n\n /**\n * encrypt data\n * @param {string} encryptionKeyUrl\n * @param {string} content original content\n * @returns {string} encrypted content\n */\n private encryptContent = (encryptionKeyUrl: string, content: string): Promise<any> => {\n // @ts-ignore\n return this.webex.internal.encryption.encryptText(encryptionKeyUrl, content).then((res) => {\n return res;\n });\n };\n\n /**\n * Sends stroke data to presenter\n * @param {StrokeData} strokeData\n * @returns {void}\n */\n public sendStrokeData = (strokeData: StrokeData): void => {\n // @ts-ignore\n if (!this.webex.internal.llm.isConnected()) return;\n this.encryptContent(strokeData.encryptionKeyUrl, strokeData.content).then(\n (encryptedContent) => {\n this.publishEncrypted(encryptedContent, strokeData);\n }\n );\n };\n\n /**\n * private encrypted the strokes data\n * @param {string} encryptedContent\n * @param {StrokeData} strokeData\n * @returns {void}\n */\n private publishEncrypted(encryptedContent: string, strokeData: StrokeData) {\n const data = {\n id: `${this.seqNum}`,\n type: 'publishRequest',\n recipients: {\n // @ts-ignore\n route: this.webex.internal.llm.getBinding(),\n },\n headers: {\n to: strokeData.toUserId,\n },\n data: {\n eventType: 'relay.event',\n relayType: ANNOTATION_RELAY_TYPES.ANNOTATION_CLIENT,\n request: {\n value: {\n type: ANNOTATION_REQUEST_TYPE.ANNOTATION_MESSAGE,\n content: encryptedContent,\n deviceId: strokeData.deviceId,\n seq: this.seqNum,\n requesterId: strokeData.requesterId,\n version: strokeData.version,\n shareInstanceId: strokeData.shareInstanceId,\n encryptionKeyUrl: strokeData.encryptionKeyUrl,\n },\n },\n },\n trackingId: `${config.trackingIdPrefix}_${uuid.v4().toString()}`,\n timestamp: new Date().getTime(),\n sequenceNumber: this.seqNum,\n filterMessage: false,\n };\n\n // @ts-ignore\n this.webex.internal.llm.socket.send(data);\n this.seqNum += 1;\n }\n}\n\nexport default AnnotationChannel;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_uuid","_interopRequireDefault","require","_webexCore","_triggerProxy","_constants","_constants2","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","AnnotationChannel","_WebexPlugin","_this","_classCallCheck2","_len","arguments","length","args","Array","_key","concat","_defineProperty2","ANNOTATION","_ref","_asyncToGenerator2","_regenerator","mark","_callee","actionType","requestData","body","wrap","_context","prev","next","resourceType","shareInstanceId","toUserId","receivers","participantId","deviceUrl","toDeviceUrl","abrupt","request","method","HTTP_VERBS","POST","url","approvalUrl","stop","_x","_x2","encryptionKeyUrl","content","webex","internal","encryption","decryptText","then","res","encryptText","strokeData","llm","isConnected","encryptContent","encryptedContent","publishEncrypted","seqNum","_inherits2","_createClass2","key","value","processStrokeMessage","data","_this2","decryptContent","decryptedContent","TriggerProxy","trigger","file","function","EVENT_TRIGGERS","ANNOTATION_STROKE_DATA","payload","eventCommandProcessor","_e$data","_e$data2","_e$data2$approval","_e$data3","_e$data3$approval","eventType","LOCUSEVENT","APPROVAL_REQUEST","approval","ANNOTATION_RESOURCE_TYPE","ANNOTATION_COMMAND","type","eventDataProcessor","_e$data4","relayType","ANNOTATION_RELAY_TYPES","ANNOTATION_CLIENT","listenToEvents","hasSubscribedToEvents","mercury","on","deregisterEvents","off","locusUrlUpdate","locusUrl","approvalUrlUpdate","acceptRequest","PUT","ANNOTATION_ACTION_TYPE","ACCEPTED","declineRequest","DECLINED","approveAnnotation","sendAnnotationAction","REQUESTED","cancelApproveAnnotation","CANCELED","closeAnnotation","CLOSED","id","recipients","route","getBinding","headers","to","ANNOTATION_REQUEST_TYPE","ANNOTATION_MESSAGE","deviceId","seq","requesterId","version","trackingId","config","trackingIdPrefix","uuid","v4","toString","timestamp","Date","getTime","sequenceNumber","filterMessage","socket","send","WebexPlugin","_default","exports"],"sources":["index.ts"],"sourcesContent":["import uuid from 'uuid';\n// eslint-disable-next-line import/no-extraneous-dependencies\nimport {WebexPlugin, config} from '@webex/webex-core';\nimport TriggerProxy from '../common/events/trigger-proxy';\n\nimport {\n EVENT_TRIGGERS,\n ANNOTATION_RELAY_TYPES,\n ANNOTATION,\n ANNOTATION_REQUEST_TYPE,\n ANNOTATION_ACTION_TYPE,\n ANNOTATION_RESOURCE_TYPE,\n} from './constants';\n\nimport {StrokeData, RequestData, IAnnotationChannel, CommandRequestBody} from './annotation.types';\nimport {HTTP_VERBS, LOCUSEVENT} from '../constants';\n\n/**\n * @description Annotation to handle LLM and Mercury message and locus API\n * @class\n */\nclass AnnotationChannel extends WebexPlugin implements IAnnotationChannel {\n namespace = ANNOTATION;\n\n private seqNum: number;\n\n hasSubscribedToEvents: boolean;\n\n approvalUrl: string;\n locusUrl: string;\n deviceUrl: string;\n\n /**\n * Initializes annotation module\n */\n constructor(...args) {\n super(...args);\n this.seqNum = 1;\n }\n\n /**\n * Process Stroke Data\n * @param {object} data\n * @returns {void}\n */\n private processStrokeMessage(data) {\n const {request} = data;\n this.decryptContent(request.value.encryptionKeyUrl, request.value.content).then(\n (decryptedContent) => {\n request.value.content = decryptedContent;\n TriggerProxy.trigger(\n this,\n {\n file: 'annotation',\n function: 'processStrokeMessage',\n },\n EVENT_TRIGGERS.ANNOTATION_STROKE_DATA,\n {\n payload: data,\n }\n );\n }\n );\n }\n\n /** bind all events from mercury\n * @param {Object} e\n * @returns {undefined}\n */\n private eventCommandProcessor(e) {\n if (\n e?.data?.eventType === LOCUSEVENT.APPROVAL_REQUEST &&\n e?.data?.approval?.resourceType === ANNOTATION_RESOURCE_TYPE &&\n e?.data?.approval?.actionType\n ) {\n TriggerProxy.trigger(\n this,\n {\n file: 'annotation',\n function: 'approval_request',\n },\n EVENT_TRIGGERS.ANNOTATION_COMMAND,\n {\n type: e.data.approval.actionType,\n payload: e.data.approval,\n }\n );\n }\n }\n\n /** bind all events from llm\n * @param {Object} e\n * @returns {undefined}\n */\n private eventDataProcessor(e) {\n switch (e?.data?.relayType) {\n case ANNOTATION_RELAY_TYPES.ANNOTATION_CLIENT:\n this.processStrokeMessage(e.data);\n break;\n default:\n break;\n }\n }\n\n /**\n * Listen to websocket messages\n * @returns {undefined}\n */\n private listenToEvents() {\n if (!this.hasSubscribedToEvents) {\n // @ts-ignore\n this.webex.internal.mercury.on(\n `event:${LOCUSEVENT.APPROVAL_REQUEST}`,\n this.eventCommandProcessor,\n this\n );\n // @ts-ignore\n this.webex.internal.llm.on('event:relay.event', this.eventDataProcessor, this);\n this.hasSubscribedToEvents = true;\n }\n }\n\n /**\n * Remove event listeners\n * @returns {undefined}\n */\n public deregisterEvents() {\n if (this.hasSubscribedToEvents) {\n // @ts-ignore\n this.webex.internal.mercury.off(\n `event:${LOCUSEVENT.APPROVAL_REQUEST}`,\n this.eventCommandProcessor\n );\n\n // @ts-ignore\n this.webex.internal.llm.off('event:relay.event', this.eventDataProcessor);\n\n this.hasSubscribedToEvents = false;\n }\n }\n\n /**\n * set locusUrl\n * @param {string} locusUrl\n * @returns {void}\n */\n public locusUrlUpdate(locusUrl: string) {\n this.locusUrl = locusUrl;\n this.listenToEvents();\n }\n\n /**\n * set approved url\n * @param {string} approvalUrl\n * @returns {void}\n */\n public approvalUrlUpdate(approvalUrl: string) {\n this.approvalUrl = approvalUrl;\n }\n\n /**\n * accept request\n * @param {object} approval\n * @returns {Promise}\n */\n public acceptRequest(approval) {\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.PUT,\n url: approval.url,\n body: {\n resourceType: ANNOTATION_RESOURCE_TYPE,\n actionType: ANNOTATION_ACTION_TYPE.ACCEPTED,\n },\n });\n }\n\n /**\n * presenter declined request annotation\n * @param {approval} approval\n * @returns {Promise}\n */\n public declineRequest(approval) {\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.PUT,\n url: approval.url,\n body: {\n resourceType: ANNOTATION_RESOURCE_TYPE,\n actionType: ANNOTATION_ACTION_TYPE.DECLINED,\n },\n });\n }\n\n /**\n * request approved annotation\n * @param {RequestData} requestData\n * @returns {Promise}\n */\n public approveAnnotation(requestData: RequestData) {\n return this.sendAnnotationAction(ANNOTATION_ACTION_TYPE.REQUESTED, requestData);\n }\n\n /**\n * cancel approved annotation\n * @param {object} requestData\n * @param {object} approval\n * @returns {Promise}\n */\n public cancelApproveAnnotation(requestData: RequestData, approval) {\n const body: CommandRequestBody = {\n actionType: ANNOTATION_ACTION_TYPE.CANCELED,\n resourceType: 'AnnotationOnShare',\n shareInstanceId: requestData.shareInstanceId,\n };\n\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.PUT,\n url: `${approval.url}`,\n body,\n });\n }\n\n /**\n * close annotation\n * @param {object} requestData\n * @returns {Promise}\n */\n public closeAnnotation(requestData: RequestData) {\n return this.sendAnnotationAction(ANNOTATION_ACTION_TYPE.CLOSED, requestData);\n }\n\n /**\n * send annotation command\n * @param {ANNOTATION_ACTION_TYPE} actionType\n * @param {RequestData} requestData\n * @returns {Promise}\n */\n private sendAnnotationAction = async (\n actionType: ANNOTATION_ACTION_TYPE,\n requestData: RequestData\n ): Promise<void> => {\n const body: CommandRequestBody = {\n actionType,\n resourceType: 'AnnotationOnShare',\n shareInstanceId: requestData.shareInstanceId,\n };\n if (requestData?.toUserId) {\n body.receivers = [{participantId: requestData.toUserId, deviceUrl: requestData.toDeviceUrl}];\n }\n\n // @ts-ignore\n return this.request({\n method: HTTP_VERBS.POST,\n url: `${this.approvalUrl}`,\n body,\n });\n };\n\n /**\n * decrypt data\n * @param {string} encryptionKeyUrl\n * @param {string} content encrypted content\n * @returns {string} decrypted content\n */\n private decryptContent = (encryptionKeyUrl: string, content: string): Promise<any> => {\n // @ts-ignore\n return this.webex.internal.encryption.decryptText(encryptionKeyUrl, content).then((res) => {\n return res;\n });\n };\n\n /**\n * encrypt data\n * @param {string} encryptionKeyUrl\n * @param {string} content original content\n * @returns {string} encrypted content\n */\n private encryptContent = (encryptionKeyUrl: string, content: string): Promise<any> => {\n // @ts-ignore\n return this.webex.internal.encryption.encryptText(encryptionKeyUrl, content).then((res) => {\n return res;\n });\n };\n\n /**\n * Sends stroke data to presenter\n * @param {StrokeData} strokeData\n * @returns {void}\n */\n public sendStrokeData = (strokeData: StrokeData): void => {\n // @ts-ignore\n if (!this.webex.internal.llm.isConnected()) return;\n this.encryptContent(strokeData.encryptionKeyUrl, strokeData.content).then(\n (encryptedContent) => {\n this.publishEncrypted(encryptedContent, strokeData);\n }\n );\n };\n\n /**\n * private encrypted the strokes data\n * @param {string} encryptedContent\n * @param {StrokeData} strokeData\n * @returns {void}\n */\n private publishEncrypted(encryptedContent: string, strokeData: StrokeData) {\n const data = {\n id: `${this.seqNum}`,\n type: 'publishRequest',\n recipients: {\n // @ts-ignore\n route: this.webex.internal.llm.getBinding(),\n },\n headers: {\n to: strokeData.toUserId,\n },\n data: {\n eventType: 'relay.event',\n relayType: ANNOTATION_RELAY_TYPES.ANNOTATION_CLIENT,\n request: {\n value: {\n type: ANNOTATION_REQUEST_TYPE.ANNOTATION_MESSAGE,\n content: encryptedContent,\n deviceId: strokeData.deviceId,\n seq: this.seqNum,\n requesterId: strokeData.requesterId,\n version: strokeData.version,\n shareInstanceId: strokeData.shareInstanceId,\n encryptionKeyUrl: strokeData.encryptionKeyUrl,\n },\n },\n },\n trackingId: `${config.trackingIdPrefix}_${uuid.v4().toString()}`,\n timestamp: new Date().getTime(),\n sequenceNumber: this.seqNum,\n filterMessage: false,\n };\n\n // @ts-ignore\n this.webex.internal.llm.socket.send(data);\n this.seqNum += 1;\n }\n}\n\nexport default AnnotationChannel;\n"],"mappings":"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","ignoreList":[]}
@@ -209,7 +209,7 @@ var Breakout = _webexCore.WebexPlugin.extend({
209
209
  sessionId: this.sessionId
210
210
  });
211
211
  },
212
- version: "3.11.0-next.3"
212
+ version: "3.11.0-next.31"
213
213
  });
214
214
  var _default = exports.default = Breakout;
215
215
  //# sourceMappingURL=breakout.js.map
@@ -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.11.0-next.3"
1112
+ version: "3.11.0-next.31"
1113
1113
  });
1114
1114
  var _default = exports.default = Breakouts;
1115
1115
  //# sourceMappingURL=index.js.map
package/dist/config.js CHANGED
@@ -109,7 +109,11 @@ var _default = exports.default = {
109
109
  // if set to 0 or undefined, logs won't be uploaded periodically, if you want periodic logs, recommended value is 1
110
110
  stopIceGatheringAfterFirstRelayCandidate: false,
111
111
  enableAudioTwccForMultistream: false,
112
- enablePerUdpUrlReachability: false // true: separate peer connection per each UDP URL; false: single peer connection for all URLs
112
+ enablePerUdpUrlReachability: false,
113
+ // true: separate peer connection per each UDP URL; false: single peer connection for all URLs
114
+ locus: {
115
+ excludedDataSets: ['attendees'] // attendees data set only applies to webinar attendees and we never really need that
116
+ }
113
117
  }
114
118
  };
115
119
  //# sourceMappingURL=config.js.map
@@ -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","degradationPreferences","maxMacroblocksLimit","iceCandidatesGatheringTimeout","backendIpv6NativeSupport","enableReachabilityChecks","reachabilityGetClusterTimeout","logUploadIntervalMultiplicationFactor","stopIceGatheringAfterFirstRelayCandidate","enableAudioTwccForMultistream","enablePerUdpUrlReachability"],"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 },\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 },\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;IACzB,CAAC;IACDC,sBAAsB,EAAE;MACtBC,mBAAmB,EAAE;IACvB,CAAC;IACD;IACAC,6BAA6B,EAAET,SAAS;IACxCU,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,CAAE;EACtC;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","experimental","enableMediaNegotiatedEvent","enableUnifiedMeetings","enableAdhocMeetings","enableTcpReachability","enableTlsReachability","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 },\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;IACzB,CAAC;IACDC,sBAAsB,EAAE;MACtBC,mBAAmB,EAAE;IACvB,CAAC;IACD;IACAC,6BAA6B,EAAET,SAAS;IACxCU,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
@@ -4,8 +4,8 @@ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/defi
4
4
  _Object$defineProperty(exports, "__esModule", {
5
5
  value: true
6
6
  });
7
- exports.MODERATOR_FALSE = exports.MEET_M = exports.MEET_CO = exports.MEET_CISCO = exports.MEETING_VIDEO_STATE_MACHINE = exports.MEETING_STATE_MACHINE = exports.MEETING_STATE = exports.MEETING_REMOVED_REASON = exports.MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC = exports.MEETING_PERMISSION_TOKEN_REFRESH_REASON = exports.MEETING_INFO_FAILURE_REASON = exports.MEETING_ERRORS = exports.MEETING_END_REASON = exports.MEETING_AUDIO_STATE_MACHINE = exports.MEETINGS = exports.MEETINGNUMBER = exports.MEETINGINFO = exports.MEET = exports.MEDIA_TRACK_CONSTRAINT = exports.MEDIA_STATE = exports.MEDIA_PEER_CONNECTION_NAME = exports.MEDIA_DEVICES = exports.MEDIA = exports.MAX_RANDOM_DELAY_FOR_MEETING_INFO = exports.LOCUS_URL = exports.LOCUS_LLM_EVENT = exports.LOCUSINFO = exports.LOCUSEVENT = exports.LOCUS = exports.LOCI = exports.LOCAL_SHARE_ERRORS = exports.LOCAL = exports.LIVE = exports.LEAVE = exports.LAYOUT_TYPES = exports.LANGUAGE_ENGLISH = exports.JOIN_LINK_MTID = exports.JOIN_BEFORE_HOST = exports.JOIN = exports.IP_VERSION = exports.IPV4_REGEX = exports.INTERSTITIAL_DISPLAY_HINTS = exports.INTERPRETATION = exports.INTENT_TO_JOIN = exports.INITIAL_REGISTRATION_STATUS = exports.ICE_TIMEOUT = exports.ICE_STATE = exports.ICE_GATHERING_STATE = exports.ICE_FAIL_TIMEOUT = exports.ICE_AND_DTLS_CONNECTION_TIMEOUT = exports.HTTP_VERBS = exports.HTTPS_PROTOCOL = exports.HOST = exports.HECATE = exports.HEADERS = exports.GATHERING = exports.FULL_STATE = exports.FLOOR_ACTION = exports.EVENT_TYPES = exports.EVENT_TRIGGERS = exports.EVENTS = exports.ERROR_DICTIONARY = exports.ERROR = exports.ENDED = exports.END = exports.EMBEDDED_APP_TYPES = exports.DISPLAY_HINTS = exports.DIALER_REGEX = exports.DEVELOPMENT = exports.DESTINATION_TYPE = exports.DEFAULT_MEETING_INFO_REQUEST_BODY = exports.DEFAULT_LARGE_SCALE_WEBINAR_ATTENDEE_SEARCH_LIMIT = exports.DEFAULT_EXCLUDED_STATS = exports.DECLINE = exports.CORRELATION_ID = exports.CONVERSATION_URL = exports.CONVERSATION_SERVICE = exports.CONTROLS = exports.CONTENT = exports.CONNECTION_STATE = exports.COMPLETE = exports.CMR_MEETINGS = exports.CLAIM = exports.CALL_REMOVED_REASON = exports.CALL = exports.CALENDAR_EVENTS_API = exports.CALENDAR_EVENTS = exports.CALENDAR = exports.BREAKOUTS = exports.BNR_STATUS = exports.AVAILABLE_RESOLUTIONS = exports.AUDIO_STATUS = exports.AUDIO = exports.ASSIGN_ROLES_ERROR_CODES = exports.API = exports.ANSWER = exports.ANNOTATION = exports.ALTERNATE_REDIRECT_TRUE = exports.ALIAS = exports.ALERT = void 0;
8
- exports._WEBEX_MEETING_ = exports._WAIT_ = exports._USER_ = exports._UNKNOWN_ = exports._S_LINE = exports._SPACE_SHARE_ = exports._SLIDES_ = exports._SIP_URI_ = exports._SIP_BRIDGE_ = exports._SEND_RECEIVE_ = exports._SEND_ONLY_ = exports._ROOM_ = exports._RESOURCE_ROOM_ = exports._REQUESTED_ = exports._REMOVE_ = exports._RECEIVE_ONLY_ = exports._PERSONAL_ROOM_ = exports._PEOPLE_ = exports._ON_HOLD_LOBBY_ = exports._OBSERVE_ = exports._NOT_IN_MEETING_ = exports._NONE_ = exports._MOVE_MEDIA_ = exports._MOVED_ = exports._MEETING_UUID_ = exports._MEETING_LINK_ = exports._MEETING_ID_ = exports._MEETING_CENTER_ = exports._MEETING_ = exports._LOCUS_ID_ = exports._LEFT_ = exports._JOIN_ = exports._JOINED_ = exports._IN_MEETING_ = exports._IN_LOBBY_ = exports._IN_ = exports._INCOMING_ = exports._INACTIVE_ = exports._ID_ = exports._IDLE_ = exports._FORCED_ = exports._ERROR_ = exports._CREATED_ = exports._CONVERSATION_URL_ = exports._CONFLICT_ = exports._CALL_ = exports._ANSWER_ = exports._ACTIVE_ = exports.WWW_DOT = exports.WHITEBOARD = exports.WEBINAR_ERROR_WEBCAST = exports.WEBINAR_ERROR_REGISTRATION_ID = exports.WEBEX_DOT_COM = exports.WBXAPPAPI_SERVICE = exports.VIDEO_STATUS = exports.VIDEO = exports.VALID_PMR_LINK = exports.VALID_PMR_ADDRESS = exports.VALID_PIN = exports.VALID_EMAIL_ADDRESS = exports.UUID_REG = exports.USE_URI_LOOKUP_FALSE = exports.TYPE = exports.STAGE_MANAGER_TYPE = exports.SIP_URI = exports.SHARE_STOPPED_REASON = exports.SHARE_STATUS = exports.SHARE_PEER_CONNECTION_NAME = exports.SHARE = exports.SEND_DTMF_ENDPOINT = exports.SENDRECV = exports.SELF_ROLES = exports.SELF_POLICY = exports.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT = exports.ROAP = exports.RETRY_TIMEOUT = exports.RESOURCE = exports.REMOTE = exports.REGISTRATION_ID_STATUS = exports.RECORDING_STATE = exports.RECONNECTION = exports.READY = exports.REACHABILITY = exports.QUALITY_LEVELS = exports.PSTN_STATUS = exports.PROVISIONAL_TYPE_DIAL_OUT = exports.PROVISIONAL_TYPE_DIAL_IN = exports.PEER_CONNECTION_STATE = exports.PASSWORD_STATUS = exports.PARTICIPANT_DELTAS = exports.PARTICIPANT = exports.ONLINE = exports.OFFLINE = exports.NETWORK_STATUS = exports.NAMED_MEDIA_GROUP_TYPE_AUDIO = exports.MediaContent = exports.MQA_INTERVAL = exports.MODERATOR_TRUE = void 0;
7
+ exports.MEET_M = exports.MEET_CO = exports.MEET_CISCO = exports.MEETING_VIDEO_STATE_MACHINE = exports.MEETING_STATE_MACHINE = exports.MEETING_STATE = exports.MEETING_REMOVED_REASON = exports.MEETING_PERMISSION_TOKEN_REFRESH_THRESHOLD_IN_SEC = exports.MEETING_PERMISSION_TOKEN_REFRESH_REASON = exports.MEETING_INFO_FAILURE_REASON = exports.MEETING_ERRORS = exports.MEETING_END_REASON = exports.MEETING_AUDIO_STATE_MACHINE = exports.MEETINGS = exports.MEETINGNUMBER = exports.MEETINGINFO = exports.MEET = exports.MEDIA_TRACK_CONSTRAINT = exports.MEDIA_STATE = exports.MEDIA_PEER_CONNECTION_NAME = exports.MEDIA_DEVICES = exports.MEDIA = exports.MAX_RANDOM_DELAY_FOR_MEETING_INFO = exports.LOCUS_URL = exports.LOCUS_LLM_EVENT = exports.LOCUSINFO = exports.LOCUSEVENT = exports.LOCUS = exports.LOCI = exports.LOCAL_SHARE_ERRORS = exports.LOCAL = exports.LIVE = exports.LEAVE = exports.LAYOUT_TYPES = exports.LANGUAGE_ENGLISH = exports.JOIN_LINK_MTID = exports.JOIN_BEFORE_HOST = exports.JOIN = exports.IP_VERSION = exports.IPV4_REGEX = exports.INTERSTITIAL_DISPLAY_HINTS = exports.INTERPRETATION = exports.INTENT_TO_JOIN = exports.INITIAL_REGISTRATION_STATUS = exports.ICE_TIMEOUT = exports.ICE_STATE = exports.ICE_GATHERING_STATE = exports.ICE_FAIL_TIMEOUT = exports.ICE_AND_DTLS_CONNECTION_TIMEOUT = exports.HTTP_VERBS = exports.HTTPS_PROTOCOL = exports.HOST = exports.HECATE = exports.HEADERS = exports.GATHERING = exports.FULL_STATE = exports.FLOOR_ACTION = exports.EVENT_TYPES = exports.EVENT_TRIGGERS = exports.EVENTS = exports.ERROR_DICTIONARY = exports.ERROR = exports.ENDED = exports.END = exports.EMBEDDED_APP_TYPES = exports.DISPLAY_HINTS = exports.DIALER_REGEX = exports.DEVELOPMENT = exports.DESTINATION_TYPE = exports.DEFAULT_MEETING_INFO_REQUEST_BODY = exports.DEFAULT_LARGE_SCALE_WEBINAR_ATTENDEE_SEARCH_LIMIT = exports.DEFAULT_EXCLUDED_STATS = exports.DECLINE = exports.CORRELATION_ID = exports.CONVERSATION_URL = exports.CONVERSATION_SERVICE = exports.CONTROLS = exports.CONTENT = exports.CONNECTION_STATE = exports.COMPLETE = exports.CMR_MEETINGS = exports.CLAIM = exports.CALL_REMOVED_REASON = exports.CALL = exports.CALENDAR_EVENTS_API = exports.CALENDAR_EVENTS = exports.CALENDAR = exports.BREAKOUTS = exports.BNR_STATUS = exports.AVAILABLE_RESOLUTIONS = exports.AUDIO_STATUS = exports.AUDIO = exports.ASSIGN_ROLES_ERROR_CODES = exports.API = exports.ANSWER = exports.ANNOTATION = exports.ALTERNATE_REDIRECT_TRUE = exports.ALIAS = exports.ALERT = exports.AI_ENABLE_REQUEST = void 0;
8
+ exports._WEBEX_MEETING_ = exports._WAIT_ = exports._USER_ = exports._UNKNOWN_ = exports._S_LINE = exports._SPACE_SHARE_ = exports._SLIDES_ = exports._SIP_URI_ = exports._SIP_BRIDGE_ = exports._SEND_RECEIVE_ = exports._SEND_ONLY_ = exports._ROOM_ = exports._RESOURCE_ROOM_ = exports._REQUESTED_ = exports._REMOVE_ = exports._RECEIVE_ONLY_ = exports._PERSONAL_ROOM_ = exports._PEOPLE_ = exports._ON_HOLD_LOBBY_ = exports._OBSERVE_ = exports._NOT_IN_MEETING_ = exports._NONE_ = exports._MOVE_MEDIA_ = exports._MOVED_ = exports._MEETING_UUID_ = exports._MEETING_LINK_ = exports._MEETING_ID_ = exports._MEETING_CENTER_ = exports._MEETING_ = exports._LOCUS_ID_ = exports._LEFT_ = exports._JOIN_ = exports._JOINED_ = exports._IN_MEETING_ = exports._IN_LOBBY_ = exports._IN_ = exports._INCOMING_ = exports._INACTIVE_ = exports._ID_ = exports._IDLE_ = exports._FORCED_ = exports._ERROR_ = exports._CREATED_ = exports._CONVERSATION_URL_ = exports._CONFLICT_ = exports._CALL_ = exports._ANSWER_ = exports._ACTIVE_ = exports.WWW_DOT = exports.WHITEBOARD = exports.WEBINAR_ERROR_WEBCAST = exports.WEBINAR_ERROR_REGISTRATION_ID = exports.WEBEX_DOT_COM = exports.WBXAPPAPI_SERVICE = exports.VIDEO_STATUS = exports.VIDEO = exports.VALID_PMR_LINK = exports.VALID_PMR_ADDRESS = exports.VALID_PIN = exports.VALID_EMAIL_ADDRESS = exports.UUID_REG = exports.USE_URI_LOOKUP_FALSE = exports.TYPE = exports.STAGE_MANAGER_TYPE = exports.SIP_URI = exports.SHARE_STOPPED_REASON = exports.SHARE_STATUS = exports.SHARE_PEER_CONNECTION_NAME = exports.SHARE = exports.SEND_DTMF_ENDPOINT = exports.SENDRECV = exports.SELF_ROLES = exports.SELF_POLICY = exports.ROAP_OFFER_ANSWER_EXCHANGE_TIMEOUT = exports.ROAP = exports.RETRY_TIMEOUT = exports.RESOURCE = exports.REMOTE = exports.REGISTRATION_ID_STATUS = exports.RECORDING_STATE = exports.RECONNECTION = exports.READY = exports.REACHABILITY = exports.QUALITY_LEVELS = exports.PSTN_STATUS = exports.PROVISIONAL_TYPE_DIAL_OUT = exports.PROVISIONAL_TYPE_DIAL_IN = exports.PEER_CONNECTION_STATE = exports.PASSWORD_STATUS = exports.PARTICIPANT_DELTAS = exports.PARTICIPANT = exports.ONLINE = exports.OFFLINE = exports.NETWORK_STATUS = exports.NAMED_MEDIA_GROUP_TYPE_AUDIO = exports.MediaContent = exports.MQA_INTERVAL = exports.MODERATOR_TRUE = exports.MODERATOR_FALSE = void 0;
9
9
  var _common = require("@webex/common");
10
10
  // @ts-ignore
11
11
 
@@ -339,7 +339,8 @@ var EVENT_TRIGGERS = exports.EVENT_TRIGGERS = {
339
339
  MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED: 'meeting:transcription:spokenLanguageUpdate',
340
340
  MEETING_MANUAL_CAPTION_UPDATED: 'meeting:manualCaptionControl:updated',
341
341
  MEETING_CAPTION_RECEIVED: 'meeting:caption-received',
342
- MEETING_PARTICIPANT_REASON_CHANGED: 'meeting:participant-reason-changed'
342
+ MEETING_PARTICIPANT_REASON_CHANGED: 'meeting:participant-reason-changed',
343
+ MEETING_AI_ENABLE_REQUEST: 'meeting:aiEnableRequest'
343
344
  };
344
345
  var EVENT_TYPES = exports.EVENT_TYPES = {
345
346
  SELF: 'self',
@@ -690,6 +691,7 @@ var LOCUSINFO = exports.LOCUSINFO = {
690
691
  SELF_IS_SHARING_BLOCKED_CHANGE: 'SELF_IS_SHARING_BLOCKED_CHANGE',
691
692
  SELF_MEETING_BREAKOUTS_CHANGED: 'SELF_MEETING_BREAKOUTS_CHANGED',
692
693
  SELF_MEETING_INTERPRETATION_CHANGED: 'SELF_MEETING_INTERPRETATION_CHANGED',
694
+ SELF_ID_CHANGED: 'SELF_ID_CHANGED',
693
695
  SELF_MEETING_BRB_CHANGED: 'SELF_MEETING_BRB_CHANGED',
694
696
  MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',
695
697
  LINKS_SERVICES: 'LINKS_SERVICES',
@@ -726,6 +728,7 @@ var LOCUSEVENT = exports.LOCUSEVENT = {
726
728
  RECORDING_STOPPED: 'locus.recording_stopped',
727
729
  SELF_CHANGED: 'locus.self_changed',
728
730
  HASH_TREE_DATA_UPDATED: 'locus.state_message',
731
+ APPROVAL_REQUEST: 'locus.approval_request',
729
732
  // events generated internally by SDK
730
733
  SDK_LOCUS_FROM_SYNC_MEETINGS: 'jsSdk.locus_from_sync_meetings',
731
734
  // generated for each meeting from response to GET /loci Locus API call
@@ -977,7 +980,9 @@ var DISPLAY_HINTS = exports.DISPLAY_HINTS = {
977
980
  DISABLE_RDC_MEETING_OPTION: 'DISABLE_RDC_MEETING_OPTION',
978
981
  // Polling QA
979
982
  ENABLE_ATTENDEE_START_POLLING_QA: 'ENABLE_ATTENDEE_START_POLLING_QA',
980
- DISABLE_ATTENDEE_START_POLLING_QA: 'DISABLE_ATTENDEE_START_POLLING_QA'
983
+ DISABLE_ATTENDEE_START_POLLING_QA: 'DISABLE_ATTENDEE_START_POLLING_QA',
984
+ // AI
985
+ ATTENDEE_REQUEST_AI_ASSISTANT_ENABLED: 'ATTENDEE_REQUEST_AI_ASSISTANT_ENABLED'
981
986
  };
982
987
  var INTERSTITIAL_DISPLAY_HINTS = exports.INTERSTITIAL_DISPLAY_HINTS = [DISPLAY_HINTS.VOIP_IS_ENABLED];
983
988
  var SELF_ROLES = exports.SELF_ROLES = {
@@ -1288,4 +1293,16 @@ var STAGE_MANAGER_TYPE = exports.STAGE_MANAGER_TYPE = {
1288
1293
  NAME_LABEL: 4
1289
1294
  };
1290
1295
  var DEFAULT_LARGE_SCALE_WEBINAR_ATTENDEE_SEARCH_LIMIT = exports.DEFAULT_LARGE_SCALE_WEBINAR_ATTENDEE_SEARCH_LIMIT = 50;
1296
+ var AI_ENABLE_REQUEST = exports.AI_ENABLE_REQUEST = {
1297
+ EVENTS: {
1298
+ APPROVAL_REQUEST_ARRIVED: 'APPROVAL_REQUEST_ARRIVED'
1299
+ },
1300
+ ACTION_TYPE: {
1301
+ REQUESTED: 'REQUESTED',
1302
+ ACCEPTED: 'ACCEPTED',
1303
+ DECLINED: 'DECLINED',
1304
+ DECLINED_ALL: 'DECLINED_ALL'
1305
+ },
1306
+ RESOURCE_TYPE: 'AiAssistant'
1307
+ };
1291
1308
  //# sourceMappingURL=constants.js.map