@webex/plugin-meetings 3.11.0 → 3.12.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/dist/aiEnableRequest/index.js +184 -0
  2. package/dist/aiEnableRequest/index.js.map +1 -0
  3. package/dist/aiEnableRequest/utils.js +36 -0
  4. package/dist/aiEnableRequest/utils.js.map +1 -0
  5. package/dist/annotation/index.js +14 -5
  6. package/dist/annotation/index.js.map +1 -1
  7. package/dist/breakouts/breakout.js +1 -1
  8. package/dist/breakouts/index.js +1 -1
  9. package/dist/config.js +5 -1
  10. package/dist/config.js.map +1 -1
  11. package/dist/constants.js +28 -6
  12. package/dist/constants.js.map +1 -1
  13. package/dist/hashTree/constants.js +3 -1
  14. package/dist/hashTree/constants.js.map +1 -1
  15. package/dist/hashTree/hashTree.js +18 -0
  16. package/dist/hashTree/hashTree.js.map +1 -1
  17. package/dist/hashTree/hashTreeParser.js +709 -380
  18. package/dist/hashTree/hashTreeParser.js.map +1 -1
  19. package/dist/hashTree/types.js +4 -2
  20. package/dist/hashTree/types.js.map +1 -1
  21. package/dist/hashTree/utils.js +10 -0
  22. package/dist/hashTree/utils.js.map +1 -1
  23. package/dist/index.js +11 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/interceptors/constant.js +12 -0
  26. package/dist/interceptors/constant.js.map +1 -0
  27. package/dist/interceptors/dataChannelAuthToken.js +290 -0
  28. package/dist/interceptors/dataChannelAuthToken.js.map +1 -0
  29. package/dist/interceptors/index.js +7 -0
  30. package/dist/interceptors/index.js.map +1 -1
  31. package/dist/interceptors/utils.js +27 -0
  32. package/dist/interceptors/utils.js.map +1 -0
  33. package/dist/interpretation/index.js +2 -2
  34. package/dist/interpretation/index.js.map +1 -1
  35. package/dist/interpretation/siLanguage.js +1 -1
  36. package/dist/locus-info/controlsUtils.js +5 -3
  37. package/dist/locus-info/controlsUtils.js.map +1 -1
  38. package/dist/locus-info/index.js +217 -79
  39. package/dist/locus-info/index.js.map +1 -1
  40. package/dist/locus-info/selfUtils.js +1 -0
  41. package/dist/locus-info/selfUtils.js.map +1 -1
  42. package/dist/locus-info/types.js.map +1 -1
  43. package/dist/media/MediaConnectionAwaiter.js +57 -1
  44. package/dist/media/MediaConnectionAwaiter.js.map +1 -1
  45. package/dist/media/properties.js +4 -2
  46. package/dist/media/properties.js.map +1 -1
  47. package/dist/meeting/in-meeting-actions.js +7 -1
  48. package/dist/meeting/in-meeting-actions.js.map +1 -1
  49. package/dist/meeting/index.js +1082 -861
  50. package/dist/meeting/index.js.map +1 -1
  51. package/dist/meeting/request.js +50 -0
  52. package/dist/meeting/request.js.map +1 -1
  53. package/dist/meeting/request.type.js.map +1 -1
  54. package/dist/meeting/util.js +133 -3
  55. package/dist/meeting/util.js.map +1 -1
  56. package/dist/meetings/index.js +100 -45
  57. package/dist/meetings/index.js.map +1 -1
  58. package/dist/member/index.js +10 -0
  59. package/dist/member/index.js.map +1 -1
  60. package/dist/member/util.js +10 -0
  61. package/dist/member/util.js.map +1 -1
  62. package/dist/metrics/constants.js +2 -1
  63. package/dist/metrics/constants.js.map +1 -1
  64. package/dist/multistream/mediaRequestManager.js +9 -60
  65. package/dist/multistream/mediaRequestManager.js.map +1 -1
  66. package/dist/multistream/remoteMediaManager.js +11 -0
  67. package/dist/multistream/remoteMediaManager.js.map +1 -1
  68. package/dist/reachability/index.js +18 -10
  69. package/dist/reachability/index.js.map +1 -1
  70. package/dist/reactions/reactions.type.js.map +1 -1
  71. package/dist/reconnection-manager/index.js +0 -1
  72. package/dist/reconnection-manager/index.js.map +1 -1
  73. package/dist/types/aiEnableRequest/index.d.ts +5 -0
  74. package/dist/types/aiEnableRequest/utils.d.ts +2 -0
  75. package/dist/types/config.d.ts +3 -0
  76. package/dist/types/constants.d.ts +23 -1
  77. package/dist/types/hashTree/constants.d.ts +1 -0
  78. package/dist/types/hashTree/hashTree.d.ts +7 -0
  79. package/dist/types/hashTree/hashTreeParser.d.ts +99 -14
  80. package/dist/types/hashTree/types.d.ts +3 -0
  81. package/dist/types/hashTree/utils.d.ts +6 -0
  82. package/dist/types/index.d.ts +1 -0
  83. package/dist/types/interceptors/constant.d.ts +5 -0
  84. package/dist/types/interceptors/dataChannelAuthToken.d.ts +43 -0
  85. package/dist/types/interceptors/index.d.ts +2 -1
  86. package/dist/types/interceptors/utils.d.ts +1 -0
  87. package/dist/types/locus-info/index.d.ts +21 -2
  88. package/dist/types/locus-info/types.d.ts +1 -0
  89. package/dist/types/media/MediaConnectionAwaiter.d.ts +10 -1
  90. package/dist/types/media/properties.d.ts +2 -1
  91. package/dist/types/meeting/in-meeting-actions.d.ts +6 -0
  92. package/dist/types/meeting/index.d.ts +38 -6
  93. package/dist/types/meeting/request.d.ts +16 -1
  94. package/dist/types/meeting/request.type.d.ts +5 -0
  95. package/dist/types/meeting/util.d.ts +31 -0
  96. package/dist/types/meetings/index.d.ts +4 -2
  97. package/dist/types/member/index.d.ts +1 -0
  98. package/dist/types/member/util.d.ts +5 -0
  99. package/dist/types/metrics/constants.d.ts +1 -0
  100. package/dist/types/multistream/mediaRequestManager.d.ts +0 -23
  101. package/dist/types/reactions/reactions.type.d.ts +1 -0
  102. package/dist/types/webinar/utils.d.ts +6 -0
  103. package/dist/webinar/index.js +260 -90
  104. package/dist/webinar/index.js.map +1 -1
  105. package/dist/webinar/utils.js +25 -0
  106. package/dist/webinar/utils.js.map +1 -0
  107. package/package.json +24 -23
  108. package/src/aiEnableRequest/README.md +84 -0
  109. package/src/aiEnableRequest/index.ts +170 -0
  110. package/src/aiEnableRequest/utils.ts +25 -0
  111. package/src/annotation/index.ts +27 -7
  112. package/src/config.ts +3 -0
  113. package/src/constants.ts +29 -1
  114. package/src/hashTree/constants.ts +1 -0
  115. package/src/hashTree/hashTree.ts +17 -0
  116. package/src/hashTree/hashTreeParser.ts +627 -249
  117. package/src/hashTree/types.ts +4 -0
  118. package/src/hashTree/utils.ts +9 -0
  119. package/src/index.ts +8 -1
  120. package/src/interceptors/constant.ts +6 -0
  121. package/src/interceptors/dataChannelAuthToken.ts +170 -0
  122. package/src/interceptors/index.ts +2 -1
  123. package/src/interceptors/utils.ts +16 -0
  124. package/src/interpretation/index.ts +2 -2
  125. package/src/locus-info/controlsUtils.ts +11 -0
  126. package/src/locus-info/index.ts +231 -61
  127. package/src/locus-info/selfUtils.ts +1 -0
  128. package/src/locus-info/types.ts +1 -0
  129. package/src/media/MediaConnectionAwaiter.ts +41 -1
  130. package/src/media/properties.ts +3 -1
  131. package/src/meeting/in-meeting-actions.ts +12 -0
  132. package/src/meeting/index.ts +205 -44
  133. package/src/meeting/request.ts +42 -0
  134. package/src/meeting/request.type.ts +6 -0
  135. package/src/meeting/util.ts +160 -2
  136. package/src/meetings/index.ts +135 -41
  137. package/src/member/index.ts +10 -0
  138. package/src/member/util.ts +12 -0
  139. package/src/metrics/constants.ts +1 -0
  140. package/src/multistream/mediaRequestManager.ts +4 -54
  141. package/src/multistream/remoteMediaManager.ts +13 -0
  142. package/src/reachability/index.ts +9 -0
  143. package/src/reactions/reactions.type.ts +1 -0
  144. package/src/reconnection-manager/index.ts +0 -1
  145. package/src/webinar/index.ts +162 -5
  146. package/src/webinar/utils.ts +16 -0
  147. package/test/unit/spec/aiEnableRequest/index.ts +981 -0
  148. package/test/unit/spec/aiEnableRequest/utils.ts +130 -0
  149. package/test/unit/spec/annotation/index.ts +69 -7
  150. package/test/unit/spec/hashTree/hashTree.ts +66 -0
  151. package/test/unit/spec/hashTree/hashTreeParser.ts +1869 -189
  152. package/test/unit/spec/interceptors/dataChannelAuthToken.ts +210 -0
  153. package/test/unit/spec/interceptors/utils.ts +75 -0
  154. package/test/unit/spec/locus-info/controlsUtils.js +29 -0
  155. package/test/unit/spec/locus-info/index.js +383 -46
  156. package/test/unit/spec/media/MediaConnectionAwaiter.ts +41 -1
  157. package/test/unit/spec/media/properties.ts +12 -3
  158. package/test/unit/spec/meeting/in-meeting-actions.ts +8 -2
  159. package/test/unit/spec/meeting/index.js +716 -115
  160. package/test/unit/spec/meeting/request.js +70 -0
  161. package/test/unit/spec/meeting/utils.js +438 -26
  162. package/test/unit/spec/meetings/index.js +652 -31
  163. package/test/unit/spec/member/index.js +28 -4
  164. package/test/unit/spec/member/util.js +65 -27
  165. package/test/unit/spec/multistream/mediaRequestManager.ts +2 -85
  166. package/test/unit/spec/multistream/remoteMediaManager.ts +30 -0
  167. package/test/unit/spec/reachability/index.ts +23 -0
  168. package/test/unit/spec/reconnection-manager/index.js +4 -8
  169. package/test/unit/spec/webinar/index.ts +348 -36
  170. package/test/unit/spec/webinar/utils.ts +39 -0
@@ -0,0 +1,184 @@
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
+ // Not just the initiator needs to know about declined all because
65
+ // all future requests will be rejected if the meeting is in the declined all state
66
+ actionType !== _constants.AI_ENABLE_REQUEST.ACTION_TYPE.DECLINED_ALL) {
67
+ return;
68
+ }
69
+ _this.trigger(_constants.AI_ENABLE_REQUEST.EVENTS.APPROVAL_REQUEST_ARRIVED, {
70
+ actionType: actionType,
71
+ isApprover: isApprover,
72
+ isInitiator: isInitiator,
73
+ initiatorId: initiatorId,
74
+ approverId: approverId,
75
+ url: url
76
+ });
77
+ }
78
+ });
79
+ },
80
+ /**
81
+ * Helper method to send AI assistant request
82
+ * @param {Object} params
83
+ * @param {string} params.url approval url
84
+ * @param {string} params.actionType the type of action (REQUESTED, ACCEPTED, DECLINED, DECLINED_ALL)
85
+ * @param {string} params.initiatorId
86
+ * @param {string} params.approverId
87
+ * @param {string} params.method HTTP method to use for the request
88
+ * @returns {Promise}
89
+ */
90
+ sendApprovalRequest: function sendApprovalRequest(_ref) {
91
+ var url = _ref.url,
92
+ actionType = _ref.actionType,
93
+ initiatorId = _ref.initiatorId,
94
+ approverId = _ref.approverId,
95
+ method = _ref.method;
96
+ return this.request({
97
+ method: method,
98
+ uri: url,
99
+ body: {
100
+ actionType: actionType,
101
+ resourceType: _constants.AI_ENABLE_REQUEST.RESOURCE_TYPE,
102
+ initiator: {
103
+ participantId: initiatorId
104
+ },
105
+ approver: {
106
+ participantId: approverId
107
+ }
108
+ }
109
+ });
110
+ },
111
+ /**
112
+ * Sends a request to enable the AI assistant
113
+ * @param {Object} params
114
+ * @param {string} params.approverId
115
+ * @returns {Promise}
116
+ */
117
+ requestEnableAIAssistant: function requestEnableAIAssistant(_ref2) {
118
+ var approverId = _ref2.approverId;
119
+ return this.sendApprovalRequest({
120
+ url: this.approvalUrl,
121
+ actionType: _constants.AI_ENABLE_REQUEST.ACTION_TYPE.REQUESTED,
122
+ initiatorId: this.selfParticipantId,
123
+ approverId: approverId,
124
+ method: _constants.HTTP_VERBS.POST
125
+ });
126
+ },
127
+ /**
128
+ * Sends a request to accept the AI assistant enablement
129
+ * @param {Object} params
130
+ * @param {string} params.url approval url
131
+ * @param {string} params.initiatorId
132
+ * @returns {Promise}
133
+ */
134
+ acceptEnableAIAssistantRequest: function acceptEnableAIAssistantRequest(_ref3) {
135
+ var url = _ref3.url,
136
+ initiatorId = _ref3.initiatorId;
137
+ return this.sendApprovalRequest({
138
+ url: url,
139
+ actionType: _constants.AI_ENABLE_REQUEST.ACTION_TYPE.ACCEPTED,
140
+ initiatorId: initiatorId,
141
+ approverId: this.selfParticipantId,
142
+ method: _constants.HTTP_VERBS.PUT
143
+ });
144
+ },
145
+ /**
146
+ * Sends a request to decline the AI assistant enablement
147
+ * @param {Object} params
148
+ * @param {string} params.url approval url
149
+ * @param {string} params.initiatorId
150
+ * @returns {Promise}
151
+ */
152
+ declineEnableAIAssistantRequest: function declineEnableAIAssistantRequest(_ref4) {
153
+ var url = _ref4.url,
154
+ initiatorId = _ref4.initiatorId;
155
+ return this.sendApprovalRequest({
156
+ url: url,
157
+ actionType: _constants.AI_ENABLE_REQUEST.ACTION_TYPE.DECLINED,
158
+ initiatorId: initiatorId,
159
+ approverId: this.selfParticipantId,
160
+ method: _constants.HTTP_VERBS.PUT
161
+ });
162
+ },
163
+ /**
164
+ * Sends a request to decline all AI assistant enablement requests
165
+ * @param {Object} params
166
+ * @param {string} params.url approval url
167
+ * @param {string} params.initiatorId
168
+ * @returns {Promise}
169
+ */
170
+ declineAllEnableAIAssistantRequests: function declineAllEnableAIAssistantRequests(_ref5) {
171
+ var url = _ref5.url,
172
+ initiatorId = _ref5.initiatorId;
173
+ return this.sendApprovalRequest({
174
+ url: url,
175
+ actionType: _constants.AI_ENABLE_REQUEST.ACTION_TYPE.DECLINED_ALL,
176
+ initiatorId: initiatorId,
177
+ approverId: this.selfParticipantId,
178
+ method: _constants.HTTP_VERBS.PUT
179
+ });
180
+ },
181
+ version: "3.12.0"
182
+ });
183
+ var _default = exports.default = AIEnableRequest;
184
+ //# 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","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":[]}
@@ -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,9 +190,11 @@ 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
+ // @ts-ignore
197
+ this.webex.internal.llm.on("event:relay.event:".concat(_constants2.LLM_PRACTICE_SESSION), this.eventDataProcessor, this);
196
198
  this.hasSubscribedToEvents = true;
197
199
  }
198
200
  }
@@ -206,10 +208,12 @@ var AnnotationChannel = /*#__PURE__*/function (_WebexPlugin) {
206
208
  value: function deregisterEvents() {
207
209
  if (this.hasSubscribedToEvents) {
208
210
  // @ts-ignore
209
- this.webex.internal.mercury.off('event:locus.approval_request', this.eventCommandProcessor);
211
+ this.webex.internal.mercury.off("event:".concat(_constants2.LOCUSEVENT.APPROVAL_REQUEST), this.eventCommandProcessor);
210
212
 
211
213
  // @ts-ignore
212
214
  this.webex.internal.llm.off('event:relay.event', this.eventDataProcessor);
215
+ // @ts-ignore
216
+ this.webex.internal.llm.off("event:relay.event:".concat(_constants2.LLM_PRACTICE_SESSION), this.eventDataProcessor);
213
217
  this.hasSubscribedToEvents = false;
214
218
  }
215
219
  }
@@ -329,12 +333,17 @@ var AnnotationChannel = /*#__PURE__*/function (_WebexPlugin) {
329
333
  * @returns {void}
330
334
  */
331
335
  function publishEncrypted(encryptedContent, strokeData) {
336
+ // @ts-ignore
337
+ var llm = this.webex.internal.llm;
338
+ var isPracticeSessionConnected = llm.isConnected(_constants2.LLM_PRACTICE_SESSION);
339
+ var socket = isPracticeSessionConnected && llm.getSocket(_constants2.LLM_PRACTICE_SESSION) || llm.socket;
340
+ var binding = isPracticeSessionConnected && llm.getBinding(_constants2.LLM_PRACTICE_SESSION) || llm.getBinding();
332
341
  var data = {
333
342
  id: "".concat(this.seqNum),
334
343
  type: 'publishRequest',
335
344
  recipients: {
336
345
  // @ts-ignore
337
- route: this.webex.internal.llm.getBinding()
346
+ route: binding
338
347
  },
339
348
  headers: {
340
349
  to: strokeData.toUserId
@@ -362,7 +371,7 @@ var AnnotationChannel = /*#__PURE__*/function (_WebexPlugin) {
362
371
  };
363
372
 
364
373
  // @ts-ignore
365
- this.webex.internal.llm.socket.send(data);
374
+ socket.send(data);
366
375
  this.seqNum += 1;
367
376
  }
368
377
  }]);
@@ -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":";;;;;;;;;;;;;;;;;AAAA,IAAAA,KAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,UAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAH,sBAAA,CAAAC,OAAA;AAEA,IAAAG,UAAA,GAAAH,OAAA;AAUA,IAAAI,WAAA,GAAAJ,OAAA;AAAwC,SAAAK,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,CAAAC,OAAA,EAAAH,CAAA,OAAAI,2BAAA,CAAAD,OAAA,EAAAJ,CAAA,EAAAM,yBAAA,KAAAC,kBAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,CAAAC,OAAA,EAAAJ,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAI,0BAAA,cAAAN,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAN,kBAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAM,yBAAA,YAAAA,0BAAA,aAAAN,CAAA,UAdxC;AAgBA;AACA;AACA;AACA;AAHA,IAIMc,iBAAiB,0BAAAC,YAAA;EAWrB;AACF;AACA;EACE,SAAAD,kBAAA,EAAqB;IAAA,IAAAE,KAAA;IAAA,IAAAC,gBAAA,CAAAb,OAAA,QAAAU,iBAAA;IAAA,SAAAI,IAAA,GAAAC,SAAA,CAAAC,MAAA,EAANC,IAAI,OAAAC,KAAA,CAAAJ,IAAA,GAAAK,IAAA,MAAAA,IAAA,GAAAL,IAAA,EAAAK,IAAA;MAAJF,IAAI,CAAAE,IAAA,IAAAJ,SAAA,CAAAI,IAAA;IAAA;IACjBP,KAAA,GAAAjB,UAAA,OAAAe,iBAAA,KAAAU,MAAA,CAASH,IAAI;IAAE,IAAAI,gBAAA,CAAArB,OAAA,EAAAY,KAAA,eAdLU,qBAAU;IAAA,IAAAD,gBAAA,CAAArB,OAAA,EAAAY,KAAA;IAAA,IAAAS,gBAAA,CAAArB,OAAA,EAAAY,KAAA;IAAA,IAAAS,gBAAA,CAAArB,OAAA,EAAAY,KAAA;IAAA,IAAAS,gBAAA,CAAArB,OAAA,EAAAY,KAAA;IAAA,IAAAS,gBAAA,CAAArB,OAAA,EAAAY,KAAA;IAgNtB;AACF;AACA;AACA;AACA;AACA;IALE,IAAAS,gBAAA,CAAArB,OAAA,EAAAY,KAAA;MAAA,IAAAW,IAAA,OAAAC,kBAAA,CAAAxB,OAAA,eAAAyB,YAAA,CAAAzB,OAAA,CAAA0B,IAAA,CAM+B,SAAAC,QAC7BC,UAAkC,EAClCC,WAAwB;QAAA,IAAAC,IAAA;QAAA,OAAAL,YAAA,CAAAzB,OAAA,CAAA+B,IAAA,WAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAElBJ,IAAwB,GAAG;gBAC/BF,UAAU,EAAVA,UAAU;gBACVO,YAAY,EAAE,mBAAmB;gBACjCC,eAAe,EAAEP,WAAW,CAACO;cAC/B,CAAC;cACD,IAAIP,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEQ,QAAQ,EAAE;gBACzBP,IAAI,CAACQ,SAAS,GAAG,CAAC;kBAACC,aAAa,EAAEV,WAAW,CAACQ,QAAQ;kBAAEG,SAAS,EAAEX,WAAW,CAACY;gBAAW,CAAC,CAAC;cAC9F;;cAEA;cAAA,OAAAT,QAAA,CAAAU,MAAA,WACO9B,KAAA,CAAK+B,OAAO,CAAC;gBAClBC,MAAM,EAAEC,sBAAU,CAACC,IAAI;gBACvBC,GAAG,KAAA3B,MAAA,CAAKR,KAAA,CAAKoC,WAAW,CAAE;gBAC1BlB,IAAI,EAAJA;cACF,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAE,QAAA,CAAAiB,IAAA;UAAA;QAAA,GAAAtB,OAAA;MAAA,CACH;MAAA,iBAAAuB,EAAA,EAAAC,GAAA;QAAA,OAAA5B,IAAA,CAAAlB,KAAA,OAAAU,SAAA;MAAA;IAAA;IAED;AACF;AACA;AACA;AACA;AACA;IALE,IAAAM,gBAAA,CAAArB,OAAA,EAAAY,KAAA,oBAMyB,UAACwC,gBAAwB,EAAEC,OAAe,EAAmB;MACpF;MACA,OAAOzC,KAAA,CAAK0C,KAAK,CAACC,QAAQ,CAACC,UAAU,CAACC,WAAW,CAACL,gBAAgB,EAAEC,OAAO,CAAC,CAACK,IAAI,CAAC,UAACC,GAAG,EAAK;QACzF,OAAOA,GAAG;MACZ,CAAC,CAAC;IACJ,CAAC;IAED;AACF;AACA;AACA;AACA;AACA;IALE,IAAAtC,gBAAA,CAAArB,OAAA,EAAAY,KAAA,oBAMyB,UAACwC,gBAAwB,EAAEC,OAAe,EAAmB;MACpF;MACA,OAAOzC,KAAA,CAAK0C,KAAK,CAACC,QAAQ,CAACC,UAAU,CAACI,WAAW,CAACR,gBAAgB,EAAEC,OAAO,CAAC,CAACK,IAAI,CAAC,UAACC,GAAG,EAAK;QACzF,OAAOA,GAAG;MACZ,CAAC,CAAC;IACJ,CAAC;IAED;AACF;AACA;AACA;AACA;IAJE,IAAAtC,gBAAA,CAAArB,OAAA,EAAAY,KAAA,oBAKwB,UAACiD,UAAsB,EAAW;MACxD;MACA,IAAI,CAACjD,KAAA,CAAK0C,KAAK,CAACC,QAAQ,CAACO,GAAG,CAACC,WAAW,CAAC,CAAC,EAAE;MAC5CnD,KAAA,CAAKoD,cAAc,CAACH,UAAU,CAACT,gBAAgB,EAAES,UAAU,CAACR,OAAO,CAAC,CAACK,IAAI,CACvE,UAACO,gBAAgB,EAAK;QACpBrD,KAAA,CAAKsD,gBAAgB,CAACD,gBAAgB,EAAEJ,UAAU,CAAC;MACrD,CACF,CAAC;IACH,CAAC;IAnQCjD,KAAA,CAAKuD,MAAM,GAAG,CAAC;IAAC,OAAAvD,KAAA;EAClB;;EAEA;AACF;AACA;AACA;AACA;EAJE,IAAAwD,UAAA,CAAApE,OAAA,EAAAU,iBAAA,EAAAC,YAAA;EAAA,WAAA0D,aAAA,CAAArE,OAAA,EAAAU,iBAAA;IAAA4D,GAAA;IAAAC,KAAA,EAKA,SAAQC,oBAAoBA,CAACC,IAAI,EAAE;MAAA,IAAAC,MAAA;MACjC,IAAO/B,OAAO,GAAI8B,IAAI,CAAf9B,OAAO;MACd,IAAI,CAACgC,cAAc,CAAChC,OAAO,CAAC4B,KAAK,CAACnB,gBAAgB,EAAET,OAAO,CAAC4B,KAAK,CAAClB,OAAO,CAAC,CAACK,IAAI,CAC7E,UAACkB,gBAAgB,EAAK;QACpBjC,OAAO,CAAC4B,KAAK,CAAClB,OAAO,GAAGuB,gBAAgB;QACxCC,qBAAY,CAACC,OAAO,CAClBJ,MAAI,EACJ;UACEK,IAAI,EAAE,YAAY;UAClBC,QAAQ,EAAE;QACZ,CAAC,EACDC,yBAAc,CAACC,sBAAsB,EACrC;UACEC,OAAO,EAAEV;QACX,CACF,CAAC;MACH,CACF,CAAC;IACH;;IAEA;AACF;AACA;AACA;EAHE;IAAAH,GAAA;IAAAC,KAAA,EAIA,SAAQa,qBAAqBA,CAACtF,CAAC,EAAE;MAAA,IAAAuF,OAAA,EAAAC,QAAA,EAAAC,iBAAA,EAAAC,QAAA,EAAAC,iBAAA;MAC/B,IACE,CAAA3F,CAAC,aAADA,CAAC,wBAAAuF,OAAA,GAADvF,CAAC,CAAE2E,IAAI,cAAAY,OAAA,uBAAPA,OAAA,CAASK,SAAS,MAAK,wBAAwB,IAC/C,CAAA5F,CAAC,aAADA,CAAC,wBAAAwF,QAAA,GAADxF,CAAC,CAAE2E,IAAI,cAAAa,QAAA,wBAAAC,iBAAA,GAAPD,QAAA,CAASK,QAAQ,cAAAJ,iBAAA,uBAAjBA,iBAAA,CAAmBpD,YAAY,MAAKyD,mCAAwB,IAC5D9F,CAAC,aAADA,CAAC,gBAAA0F,QAAA,GAAD1F,CAAC,CAAE2E,IAAI,cAAAe,QAAA,gBAAAC,iBAAA,GAAPD,QAAA,CAASG,QAAQ,cAAAF,iBAAA,eAAjBA,iBAAA,CAAmB7D,UAAU,EAC7B;QACAiD,qBAAY,CAACC,OAAO,CAClB,IAAI,EACJ;UACEC,IAAI,EAAE,YAAY;UAClBC,QAAQ,EAAE;QACZ,CAAC,EACDC,yBAAc,CAACY,kBAAkB,EACjC;UACEC,IAAI,EAAEhG,CAAC,CAAC2E,IAAI,CAACkB,QAAQ,CAAC/D,UAAU;UAChCuD,OAAO,EAAErF,CAAC,CAAC2E,IAAI,CAACkB;QAClB,CACF,CAAC;MACH;IACF;;IAEA;AACF;AACA;AACA;EAHE;IAAArB,GAAA;IAAAC,KAAA,EAIA,SAAQwB,kBAAkBA,CAACjG,CAAC,EAAE;MAAA,IAAAkG,QAAA;MAC5B,QAAQlG,CAAC,aAADA,CAAC,wBAAAkG,QAAA,GAADlG,CAAC,CAAE2E,IAAI,cAAAuB,QAAA,uBAAPA,QAAA,CAASC,SAAS;QACxB,KAAKC,iCAAsB,CAACC,iBAAiB;UAC3C,IAAI,CAAC3B,oBAAoB,CAAC1E,CAAC,CAAC2E,IAAI,CAAC;UACjC;QACF;UACE;MACJ;IACF;;IAEA;AACF;AACA;AACA;EAHE;IAAAH,GAAA;IAAAC,KAAA,EAIA,SAAQ6B,cAAcA,CAAA,EAAG;MACvB,IAAI,CAAC,IAAI,CAACC,qBAAqB,EAAE;QAC/B;QACA,IAAI,CAAC/C,KAAK,CAACC,QAAQ,CAAC+C,OAAO,CAACC,EAAE,CAC5B,8BAA8B,EAC9B,IAAI,CAACnB,qBAAqB,EAC1B,IACF,CAAC;QACD;QACA,IAAI,CAAC9B,KAAK,CAACC,QAAQ,CAACO,GAAG,CAACyC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAACR,kBAAkB,EAAE,IAAI,CAAC;QAC9E,IAAI,CAACM,qBAAqB,GAAG,IAAI;MACnC;IACF;;IAEA;AACF;AACA;AACA;EAHE;IAAA/B,GAAA;IAAAC,KAAA,EAIA,SAAOiC,gBAAgBA,CAAA,EAAG;MACxB,IAAI,IAAI,CAACH,qBAAqB,EAAE;QAC9B;QACA,IAAI,CAAC/C,KAAK,CAACC,QAAQ,CAAC+C,OAAO,CAACG,GAAG,CAAC,8BAA8B,EAAE,IAAI,CAACrB,qBAAqB,CAAC;;QAE3F;QACA,IAAI,CAAC9B,KAAK,CAACC,QAAQ,CAACO,GAAG,CAAC2C,GAAG,CAAC,mBAAmB,EAAE,IAAI,CAACV,kBAAkB,CAAC;QAEzE,IAAI,CAACM,qBAAqB,GAAG,KAAK;MACpC;IACF;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA/B,GAAA;IAAAC,KAAA,EAKA,SAAOmC,cAAcA,CAACC,QAAgB,EAAE;MACtC,IAAI,CAACA,QAAQ,GAAGA,QAAQ;MACxB,IAAI,CAACP,cAAc,CAAC,CAAC;IACvB;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA9B,GAAA;IAAAC,KAAA,EAKA,SAAOqC,iBAAiBA,CAAC5D,WAAmB,EAAE;MAC5C,IAAI,CAACA,WAAW,GAAGA,WAAW;IAChC;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAsB,GAAA;IAAAC,KAAA,EAKA,SAAOsC,aAAaA,CAAClB,QAAQ,EAAE;MAC7B;MACA,OAAO,IAAI,CAAChD,OAAO,CAAC;QAClBC,MAAM,EAAEC,sBAAU,CAACiE,GAAG;QACtB/D,GAAG,EAAE4C,QAAQ,CAAC5C,GAAG;QACjBjB,IAAI,EAAE;UACJK,YAAY,EAAEyD,mCAAwB;UACtChE,UAAU,EAAEmF,iCAAsB,CAACC;QACrC;MACF,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA1C,GAAA;IAAAC,KAAA,EAKA,SAAO0C,cAAcA,CAACtB,QAAQ,EAAE;MAC9B;MACA,OAAO,IAAI,CAAChD,OAAO,CAAC;QAClBC,MAAM,EAAEC,sBAAU,CAACiE,GAAG;QACtB/D,GAAG,EAAE4C,QAAQ,CAAC5C,GAAG;QACjBjB,IAAI,EAAE;UACJK,YAAY,EAAEyD,mCAAwB;UACtChE,UAAU,EAAEmF,iCAAsB,CAACG;QACrC;MACF,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA5C,GAAA;IAAAC,KAAA,EAKA,SAAO4C,iBAAiBA,CAACtF,WAAwB,EAAE;MACjD,OAAO,IAAI,CAACuF,oBAAoB,CAACL,iCAAsB,CAACM,SAAS,EAAExF,WAAW,CAAC;IACjF;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAyC,GAAA;IAAAC,KAAA,EAMA,SAAO+C,uBAAuBA,CAACzF,WAAwB,EAAE8D,QAAQ,EAAE;MACjE,IAAM7D,IAAwB,GAAG;QAC/BF,UAAU,EAAEmF,iCAAsB,CAACQ,QAAQ;QAC3CpF,YAAY,EAAE,mBAAmB;QACjCC,eAAe,EAAEP,WAAW,CAACO;MAC/B,CAAC;;MAED;MACA,OAAO,IAAI,CAACO,OAAO,CAAC;QAClBC,MAAM,EAAEC,sBAAU,CAACiE,GAAG;QACtB/D,GAAG,KAAA3B,MAAA,CAAKuE,QAAQ,CAAC5C,GAAG,CAAE;QACtBjB,IAAI,EAAJA;MACF,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAwC,GAAA;IAAAC,KAAA,EAKA,SAAOiD,eAAeA,CAAC3F,WAAwB,EAAE;MAC/C,OAAO,IAAI,CAACuF,oBAAoB,CAACL,iCAAsB,CAACU,MAAM,EAAE5F,WAAW,CAAC;IAC9E;EAAC;IAAAyC,GAAA;IAAAC,KAAA;IAsED;AACF;AACA;AACA;AACA;AACA;IACE,SAAQL,gBAAgBA,CAACD,gBAAwB,EAAEJ,UAAsB,EAAE;MACzE,IAAMY,IAAI,GAAG;QACXiD,EAAE,KAAAtG,MAAA,CAAK,IAAI,CAAC+C,MAAM,CAAE;QACpB2B,IAAI,EAAE,gBAAgB;QACtB6B,UAAU,EAAE;UACV;UACAC,KAAK,EAAE,IAAI,CAACtE,KAAK,CAACC,QAAQ,CAACO,GAAG,CAAC+D,UAAU,CAAC;QAC5C,CAAC;QACDC,OAAO,EAAE;UACPC,EAAE,EAAElE,UAAU,CAACxB;QACjB,CAAC;QACDoC,IAAI,EAAE;UACJiB,SAAS,EAAE,aAAa;UACxBO,SAAS,EAAEC,iCAAsB,CAACC,iBAAiB;UACnDxD,OAAO,EAAE;YACP4B,KAAK,EAAE;cACLuB,IAAI,EAAEkC,kCAAuB,CAACC,kBAAkB;cAChD5E,OAAO,EAAEY,gBAAgB;cACzBiE,QAAQ,EAAErE,UAAU,CAACqE,QAAQ;cAC7BC,GAAG,EAAE,IAAI,CAAChE,MAAM;cAChBiE,WAAW,EAAEvE,UAAU,CAACuE,WAAW;cACnCC,OAAO,EAAExE,UAAU,CAACwE,OAAO;cAC3BjG,eAAe,EAAEyB,UAAU,CAACzB,eAAe;cAC3CgB,gBAAgB,EAAES,UAAU,CAACT;YAC/B;UACF;QACF,CAAC;QACDkF,UAAU,KAAAlH,MAAA,CAAKmH,iBAAM,CAACC,gBAAgB,OAAApH,MAAA,CAAIqH,aAAI,CAACC,EAAE,CAAC,CAAC,CAACC,QAAQ,CAAC,CAAC,CAAE;QAChEC,SAAS,EAAE,IAAIC,IAAI,CAAC,CAAC,CAACC,OAAO,CAAC,CAAC;QAC/BC,cAAc,EAAE,IAAI,CAAC5E,MAAM;QAC3B6E,aAAa,EAAE;MACjB,CAAC;;MAED;MACA,IAAI,CAAC1F,KAAK,CAACC,QAAQ,CAACO,GAAG,CAACmF,MAAM,CAACC,IAAI,CAACzE,IAAI,CAAC;MACzC,IAAI,CAACN,MAAM,IAAI,CAAC;IAClB;EAAC;AAAA,EA/T6BgF,sBAAW;AAAA,IAAAC,QAAA,GAAAC,OAAA,CAAArJ,OAAA,GAkU5BU,iBAAiB","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","LLM_PRACTICE_SESSION","deregisterEvents","off","locusUrlUpdate","locusUrl","approvalUrlUpdate","acceptRequest","PUT","ANNOTATION_ACTION_TYPE","ACCEPTED","declineRequest","DECLINED","approveAnnotation","sendAnnotationAction","REQUESTED","cancelApproveAnnotation","CANCELED","closeAnnotation","CLOSED","isPracticeSessionConnected","socket","getSocket","binding","getBinding","id","recipients","route","headers","to","ANNOTATION_REQUEST_TYPE","ANNOTATION_MESSAGE","deviceId","seq","requesterId","version","trackingId","config","trackingIdPrefix","uuid","v4","toString","timestamp","Date","getTime","sequenceNumber","filterMessage","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, LLM_PRACTICE_SESSION} 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 // @ts-ignore\n this.webex.internal.llm.on(\n `event:relay.event:${LLM_PRACTICE_SESSION}`,\n this.eventDataProcessor,\n this\n );\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 // @ts-ignore\n this.webex.internal.llm.off(\n `event:relay.event:${LLM_PRACTICE_SESSION}`,\n 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 // @ts-ignore\n const {llm} = this.webex.internal;\n const isPracticeSessionConnected = llm.isConnected(LLM_PRACTICE_SESSION);\n const socket =\n (isPracticeSessionConnected && llm.getSocket(LLM_PRACTICE_SESSION)) || llm.socket;\n const binding =\n (isPracticeSessionConnected && llm.getBinding(LLM_PRACTICE_SESSION)) || llm.getBinding();\n const data = {\n id: `${this.seqNum}`,\n type: 'publishRequest',\n recipients: {\n // @ts-ignore\n route: binding,\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 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: "0.0.0"
212
+ version: "3.12.0"
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: "0.0.0"
1112
+ version: "3.12.0"
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_TRUE = 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_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 = void 0;
7
+ 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.LLM_PRACTICE_SESSION = 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 = exports.MEET_M = void 0;
9
9
  var _common = require("@webex/common");
10
10
  // @ts-ignore
11
11
 
@@ -43,6 +43,7 @@ var LOCAL = exports.LOCAL = 'local';
43
43
  var LOCI = exports.LOCI = 'loci';
44
44
  var LOCUS_URL = exports.LOCUS_URL = 'locusUrl';
45
45
  var END = exports.END = 'end';
46
+ var LLM_PRACTICE_SESSION = exports.LLM_PRACTICE_SESSION = 'llm-practice-session';
46
47
  var MAX_RANDOM_DELAY_FOR_MEETING_INFO = exports.MAX_RANDOM_DELAY_FOR_MEETING_INFO = 3 * 60 * 1000;
47
48
  var MEETINGINFO = exports.MEETINGINFO = 'meetingInfo';
48
49
  var MEET = exports.MEET = 'meet';
@@ -321,6 +322,7 @@ var EVENT_TRIGGERS = exports.EVENT_TRIGGERS = {
321
322
  MEETING_CONTROLS_REACTIONS_UPDATED: 'meeting:controls:reactions:updated',
322
323
  MEETING_CONTROLS_VIEW_THE_PARTICIPANTS_LIST_UPDATED: 'meeting:controls:view-the-participants-list:updated',
323
324
  MEETING_CONTROLS_RAISE_HAND_UPDATED: 'meeting:controls:raise-hand:updated',
325
+ MEETING_CONTROLS_AI_SUMMARY_NOTIFICATION_UPDATED: 'meeting:controls:ai-summary-notification:updated',
324
326
  MEETING_CONTROLS_VIDEO_UPDATED: 'meeting:controls:video:updated',
325
327
  MEETING_CONTROLS_STAGE_VIEW_UPDATED: 'meeting:controls:stage-view:updated',
326
328
  MEETING_CONTROLS_WEBCAST_UPDATED: 'meeting:controls:webcast:updated',
@@ -339,7 +341,8 @@ var EVENT_TRIGGERS = exports.EVENT_TRIGGERS = {
339
341
  MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED: 'meeting:transcription:spokenLanguageUpdate',
340
342
  MEETING_MANUAL_CAPTION_UPDATED: 'meeting:manualCaptionControl:updated',
341
343
  MEETING_CAPTION_RECEIVED: 'meeting:caption-received',
342
- MEETING_PARTICIPANT_REASON_CHANGED: 'meeting:participant-reason-changed'
344
+ MEETING_PARTICIPANT_REASON_CHANGED: 'meeting:participant-reason-changed',
345
+ MEETING_AI_ENABLE_REQUEST: 'meeting:aiEnableRequest'
343
346
  };
344
347
  var EVENT_TYPES = exports.EVENT_TYPES = {
345
348
  SELF: 'self',
@@ -365,8 +368,6 @@ var HEADERS = exports.HEADERS = {
365
368
  var MEETING_REMOVED_REASON = exports.MEETING_REMOVED_REASON = {
366
369
  SELF_REMOVED: 'SELF_REMOVED',
367
370
  // server or host removed you from the meeting
368
- FULLSTATE_REMOVED: 'FULLSTATE_REMOVED',
369
- // meeting got dropped ? not sure
370
371
  MEETING_INACTIVE_TERMINATING: 'MEETING_INACTIVE_TERMINATING',
371
372
  // Meeting got ended or everyone left the meeting
372
373
  CLIENT_LEAVE_REQUEST: 'CLIENT_LEAVE_REQUEST',
@@ -645,6 +646,7 @@ var LOCUSINFO = exports.LOCUSINFO = {
645
646
  CONTROLS_MEETING_LAYOUT_UPDATED: 'CONTROLS_MEETING_LAYOUT_UPDATED',
646
647
  CONTROLS_RECORDING_UPDATED: 'CONTROLS_RECORDING_UPDATED',
647
648
  CONTROLS_MEETING_TRANSCRIBE_UPDATED: 'CONTROLS_MEETING_TRANSCRIBE_UPDATED',
649
+ CONTROLS_AI_SUMMARY_NOTIFICATION_UPDATED: 'CONTROLS_AI_SUMMARY_NOTIFICATION_UPDATED',
648
650
  CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED: 'CONTROLS_MEETING_TRANSCRIPTION_SPOKEN_LANGUAGE_UPDATED',
649
651
  CONTROLS_MEETING_MANUAL_CAPTION_UPDATED: 'CONTROLS_MEETING_MANUAL_CAPTION_UPDATED',
650
652
  CONTROLS_MEETING_HESIOD_LLM_ID_UPDATED: 'CONTROLS_MEETING_HESIOD_LLM_ID_UPDATED',
@@ -690,6 +692,7 @@ var LOCUSINFO = exports.LOCUSINFO = {
690
692
  SELF_IS_SHARING_BLOCKED_CHANGE: 'SELF_IS_SHARING_BLOCKED_CHANGE',
691
693
  SELF_MEETING_BREAKOUTS_CHANGED: 'SELF_MEETING_BREAKOUTS_CHANGED',
692
694
  SELF_MEETING_INTERPRETATION_CHANGED: 'SELF_MEETING_INTERPRETATION_CHANGED',
695
+ SELF_ID_CHANGED: 'SELF_ID_CHANGED',
693
696
  SELF_MEETING_BRB_CHANGED: 'SELF_MEETING_BRB_CHANGED',
694
697
  MEDIA_INACTIVITY: 'MEDIA_INACTIVITY',
695
698
  LINKS_SERVICES: 'LINKS_SERVICES',
@@ -726,6 +729,7 @@ var LOCUSEVENT = exports.LOCUSEVENT = {
726
729
  RECORDING_STOPPED: 'locus.recording_stopped',
727
730
  SELF_CHANGED: 'locus.self_changed',
728
731
  HASH_TREE_DATA_UPDATED: 'locus.state_message',
732
+ APPROVAL_REQUEST: 'locus.approval_request',
729
733
  // events generated internally by SDK
730
734
  SDK_LOCUS_FROM_SYNC_MEETINGS: 'jsSdk.locus_from_sync_meetings',
731
735
  // generated for each meeting from response to GET /loci Locus API call
@@ -888,6 +892,8 @@ var DISPLAY_HINTS = exports.DISPLAY_HINTS = {
888
892
  LOWER_SOMEONE_ELSES_HAND: 'LOWER_SOMEONE_ELSES_HAND',
889
893
  LEAVE_TRANSFER_HOST_END_MEETING: 'LEAVE_TRANSFER_HOST_END_MEETING',
890
894
  LEAVE_END_MEETING: 'LEAVE_END_MEETING',
895
+ END_MEETING: 'END_MEETING',
896
+ REQUIRE_HOST_END_MEETING_BEFORE_LEAVE: 'REQUIRE_HOST_END_MEETING_BEFORE_LEAVE',
891
897
  STREAMING_STATUS_STARTED: 'STREAMING_STATUS_STARTED',
892
898
  STREAMING_STATUS_STOPPED: 'STREAMING_STATUS_STOPPED',
893
899
  CAPTION_START: 'CAPTION_START',
@@ -977,7 +983,10 @@ var DISPLAY_HINTS = exports.DISPLAY_HINTS = {
977
983
  DISABLE_RDC_MEETING_OPTION: 'DISABLE_RDC_MEETING_OPTION',
978
984
  // Polling QA
979
985
  ENABLE_ATTENDEE_START_POLLING_QA: 'ENABLE_ATTENDEE_START_POLLING_QA',
980
- DISABLE_ATTENDEE_START_POLLING_QA: 'DISABLE_ATTENDEE_START_POLLING_QA'
986
+ DISABLE_ATTENDEE_START_POLLING_QA: 'DISABLE_ATTENDEE_START_POLLING_QA',
987
+ // AI
988
+ ATTENDEE_REQUEST_AI_ASSISTANT_ENABLED: 'ATTENDEE_REQUEST_AI_ASSISTANT_ENABLED',
989
+ ATTENDEE_REQUEST_AI_ASSISTANT_DECLINED_ALL: 'ATTENDEE_REQUEST_AI_ASSISTANT_DECLINED_ALL'
981
990
  };
982
991
  var INTERSTITIAL_DISPLAY_HINTS = exports.INTERSTITIAL_DISPLAY_HINTS = [DISPLAY_HINTS.VOIP_IS_ENABLED];
983
992
  var SELF_ROLES = exports.SELF_ROLES = {
@@ -1287,4 +1296,17 @@ var STAGE_MANAGER_TYPE = exports.STAGE_MANAGER_TYPE = {
1287
1296
  BACKGROUND: 2,
1288
1297
  NAME_LABEL: 4
1289
1298
  };
1299
+ var DEFAULT_LARGE_SCALE_WEBINAR_ATTENDEE_SEARCH_LIMIT = exports.DEFAULT_LARGE_SCALE_WEBINAR_ATTENDEE_SEARCH_LIMIT = 50;
1300
+ var AI_ENABLE_REQUEST = exports.AI_ENABLE_REQUEST = {
1301
+ EVENTS: {
1302
+ APPROVAL_REQUEST_ARRIVED: 'APPROVAL_REQUEST_ARRIVED'
1303
+ },
1304
+ ACTION_TYPE: {
1305
+ REQUESTED: 'REQUESTED',
1306
+ ACCEPTED: 'ACCEPTED',
1307
+ DECLINED: 'DECLINED',
1308
+ DECLINED_ALL: 'DECLINED_ALL'
1309
+ },
1310
+ RESOURCE_TYPE: 'AiAssistant'
1311
+ };
1290
1312
  //# sourceMappingURL=constants.js.map