@webex/plugin-meetings 3.11.0-webex-services-ready.1 → 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.
- package/dist/aiEnableRequest/index.js +184 -0
- package/dist/aiEnableRequest/index.js.map +1 -0
- package/dist/aiEnableRequest/utils.js +36 -0
- package/dist/aiEnableRequest/utils.js.map +1 -0
- package/dist/annotation/index.js +14 -5
- package/dist/annotation/index.js.map +1 -1
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/config.js +5 -1
- package/dist/config.js.map +1 -1
- package/dist/constants.js +28 -6
- package/dist/constants.js.map +1 -1
- package/dist/hashTree/constants.js +3 -1
- package/dist/hashTree/constants.js.map +1 -1
- package/dist/hashTree/hashTree.js +18 -0
- package/dist/hashTree/hashTree.js.map +1 -1
- package/dist/hashTree/hashTreeParser.js +709 -380
- package/dist/hashTree/hashTreeParser.js.map +1 -1
- package/dist/hashTree/types.js +4 -2
- package/dist/hashTree/types.js.map +1 -1
- package/dist/hashTree/utils.js +10 -0
- package/dist/hashTree/utils.js.map +1 -1
- package/dist/index.js +11 -2
- package/dist/index.js.map +1 -1
- package/dist/interceptors/constant.js +12 -0
- package/dist/interceptors/constant.js.map +1 -0
- package/dist/interceptors/dataChannelAuthToken.js +290 -0
- package/dist/interceptors/dataChannelAuthToken.js.map +1 -0
- package/dist/interceptors/index.js +7 -0
- package/dist/interceptors/index.js.map +1 -1
- package/dist/interceptors/utils.js +27 -0
- package/dist/interceptors/utils.js.map +1 -0
- package/dist/interpretation/index.js +2 -2
- package/dist/interpretation/index.js.map +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.js +5 -3
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +217 -79
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/selfUtils.js +1 -0
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/locus-info/types.js.map +1 -1
- package/dist/media/MediaConnectionAwaiter.js +57 -1
- package/dist/media/MediaConnectionAwaiter.js.map +1 -1
- package/dist/media/properties.js +4 -2
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +7 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +1071 -862
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/request.js +50 -0
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/request.type.js.map +1 -1
- package/dist/meeting/util.js +133 -3
- package/dist/meeting/util.js.map +1 -1
- package/dist/meetings/index.js +100 -45
- package/dist/meetings/index.js.map +1 -1
- package/dist/member/index.js +10 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/util.js +10 -0
- package/dist/member/util.js.map +1 -1
- package/dist/metrics/constants.js +2 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +9 -60
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +11 -0
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.js +0 -1
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/types/aiEnableRequest/index.d.ts +5 -0
- package/dist/types/aiEnableRequest/utils.d.ts +2 -0
- package/dist/types/config.d.ts +3 -0
- package/dist/types/constants.d.ts +23 -1
- package/dist/types/hashTree/constants.d.ts +1 -0
- package/dist/types/hashTree/hashTree.d.ts +7 -0
- package/dist/types/hashTree/hashTreeParser.d.ts +99 -14
- package/dist/types/hashTree/types.d.ts +3 -0
- package/dist/types/hashTree/utils.d.ts +6 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/interceptors/constant.d.ts +5 -0
- package/dist/types/interceptors/dataChannelAuthToken.d.ts +43 -0
- package/dist/types/interceptors/index.d.ts +2 -1
- package/dist/types/interceptors/utils.d.ts +1 -0
- package/dist/types/locus-info/index.d.ts +21 -2
- package/dist/types/locus-info/types.d.ts +1 -0
- package/dist/types/media/MediaConnectionAwaiter.d.ts +10 -1
- package/dist/types/media/properties.d.ts +2 -1
- package/dist/types/meeting/in-meeting-actions.d.ts +6 -0
- package/dist/types/meeting/index.d.ts +38 -6
- package/dist/types/meeting/request.d.ts +16 -1
- package/dist/types/meeting/request.type.d.ts +5 -0
- package/dist/types/meeting/util.d.ts +31 -0
- package/dist/types/meetings/index.d.ts +4 -2
- package/dist/types/member/index.d.ts +1 -0
- package/dist/types/member/util.d.ts +5 -0
- package/dist/types/metrics/constants.d.ts +1 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +0 -23
- package/dist/types/reactions/reactions.type.d.ts +1 -0
- package/dist/types/webinar/utils.d.ts +6 -0
- package/dist/webinar/index.js +260 -90
- package/dist/webinar/index.js.map +1 -1
- package/dist/webinar/utils.js +25 -0
- package/dist/webinar/utils.js.map +1 -0
- package/package.json +24 -23
- package/src/aiEnableRequest/README.md +84 -0
- package/src/aiEnableRequest/index.ts +170 -0
- package/src/aiEnableRequest/utils.ts +25 -0
- package/src/annotation/index.ts +27 -7
- package/src/config.ts +3 -0
- package/src/constants.ts +29 -1
- package/src/hashTree/constants.ts +1 -0
- package/src/hashTree/hashTree.ts +17 -0
- package/src/hashTree/hashTreeParser.ts +627 -249
- package/src/hashTree/types.ts +4 -0
- package/src/hashTree/utils.ts +9 -0
- package/src/index.ts +8 -1
- package/src/interceptors/constant.ts +6 -0
- package/src/interceptors/dataChannelAuthToken.ts +170 -0
- package/src/interceptors/index.ts +2 -1
- package/src/interceptors/utils.ts +16 -0
- package/src/interpretation/index.ts +2 -2
- package/src/locus-info/controlsUtils.ts +11 -0
- package/src/locus-info/index.ts +231 -61
- package/src/locus-info/selfUtils.ts +1 -0
- package/src/locus-info/types.ts +1 -0
- package/src/media/MediaConnectionAwaiter.ts +41 -1
- package/src/media/properties.ts +3 -1
- package/src/meeting/in-meeting-actions.ts +12 -0
- package/src/meeting/index.ts +188 -43
- package/src/meeting/request.ts +42 -0
- package/src/meeting/request.type.ts +6 -0
- package/src/meeting/util.ts +160 -2
- package/src/meetings/index.ts +135 -41
- package/src/member/index.ts +10 -0
- package/src/member/util.ts +12 -0
- package/src/metrics/constants.ts +1 -0
- package/src/multistream/mediaRequestManager.ts +4 -54
- package/src/multistream/remoteMediaManager.ts +13 -0
- package/src/reactions/reactions.type.ts +1 -0
- package/src/reconnection-manager/index.ts +0 -1
- package/src/webinar/index.ts +162 -5
- package/src/webinar/utils.ts +16 -0
- package/test/unit/spec/aiEnableRequest/index.ts +981 -0
- package/test/unit/spec/aiEnableRequest/utils.ts +130 -0
- package/test/unit/spec/annotation/index.ts +69 -7
- package/test/unit/spec/hashTree/hashTree.ts +66 -0
- package/test/unit/spec/hashTree/hashTreeParser.ts +1869 -189
- package/test/unit/spec/interceptors/dataChannelAuthToken.ts +210 -0
- package/test/unit/spec/interceptors/utils.ts +75 -0
- package/test/unit/spec/locus-info/controlsUtils.js +29 -0
- package/test/unit/spec/locus-info/index.js +383 -46
- package/test/unit/spec/media/MediaConnectionAwaiter.ts +41 -1
- package/test/unit/spec/media/properties.ts +12 -3
- package/test/unit/spec/meeting/in-meeting-actions.ts +8 -2
- package/test/unit/spec/meeting/index.js +662 -85
- package/test/unit/spec/meeting/request.js +70 -0
- package/test/unit/spec/meeting/utils.js +438 -26
- package/test/unit/spec/meetings/index.js +652 -31
- package/test/unit/spec/member/index.js +28 -4
- package/test/unit/spec/member/util.js +65 -27
- package/test/unit/spec/multistream/mediaRequestManager.ts +2 -85
- package/test/unit/spec/multistream/remoteMediaManager.ts +30 -0
- package/test/unit/spec/reconnection-manager/index.js +4 -8
- package/test/unit/spec/webinar/index.ts +348 -36
- 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":[]}
|
package/dist/annotation/index.js
CHANGED
|
@@ -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) ===
|
|
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(
|
|
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(
|
|
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:
|
|
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
|
-
|
|
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":"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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","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: "3.
|
|
212
|
+
version: "3.12.0"
|
|
213
213
|
});
|
|
214
214
|
var _default = exports.default = Breakout;
|
|
215
215
|
//# sourceMappingURL=breakout.js.map
|
package/dist/breakouts/index.js
CHANGED
|
@@ -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.
|
|
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
|
|
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
|
package/dist/config.js.map
CHANGED
|
@@ -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;
|
|
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.
|
|
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
|