@webex/plugin-meetings 3.12.0-next.4 → 3.12.0-next.40
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/AGENTS.md +9 -0
- package/dist/aiEnableRequest/index.js +15 -2
- package/dist/aiEnableRequest/index.js.map +1 -1
- package/dist/breakouts/breakout.js +6 -2
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/constants.js +1 -1
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +11 -1
- package/dist/controls-options-manager/constants.js.map +1 -1
- package/dist/controls-options-manager/index.js +23 -21
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/util.js +91 -0
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/hashTree/constants.js +10 -1
- package/dist/hashTree/constants.js.map +1 -1
- package/dist/hashTree/hashTreeParser.js +554 -350
- package/dist/hashTree/hashTreeParser.js.map +1 -1
- package/dist/hashTree/utils.js +22 -0
- package/dist/hashTree/utils.js.map +1 -1
- package/dist/interceptors/locusRetry.js +23 -8
- package/dist/interceptors/locusRetry.js.map +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/index.js +274 -85
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/types.js +16 -0
- package/dist/locus-info/types.js.map +1 -1
- package/dist/meeting/index.js +710 -499
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/util.js +1 -0
- package/dist/meeting/util.js.map +1 -1
- package/dist/meetings/index.js +174 -77
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/util.js +49 -5
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +10 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js.map +1 -1
- package/dist/member/util.js +3 -0
- package/dist/member/util.js.map +1 -1
- package/dist/types/controls-options-manager/constants.d.ts +6 -1
- package/dist/types/hashTree/constants.d.ts +1 -0
- package/dist/types/hashTree/hashTreeParser.d.ts +53 -15
- package/dist/types/hashTree/utils.d.ts +11 -0
- package/dist/types/interceptors/locusRetry.d.ts +4 -4
- package/dist/types/locus-info/index.d.ts +46 -6
- package/dist/types/locus-info/types.d.ts +17 -1
- package/dist/types/meeting/index.d.ts +64 -1
- package/dist/types/member/index.d.ts +1 -0
- package/dist/types/member/types.d.ts +1 -0
- package/dist/types/member/util.d.ts +1 -0
- package/dist/webinar/index.js +301 -226
- package/dist/webinar/index.js.map +1 -1
- package/package.json +22 -22
- package/src/aiEnableRequest/index.ts +16 -0
- package/src/breakouts/breakout.ts +2 -1
- package/src/constants.ts +1 -1
- package/src/controls-options-manager/constants.ts +14 -1
- package/src/controls-options-manager/index.ts +26 -19
- package/src/controls-options-manager/util.ts +81 -1
- package/src/hashTree/constants.ts +9 -0
- package/src/hashTree/hashTreeParser.ts +278 -160
- package/src/hashTree/utils.ts +17 -0
- package/src/interceptors/locusRetry.ts +25 -4
- package/src/locus-info/index.ts +274 -93
- package/src/locus-info/types.ts +19 -1
- package/src/meeting/index.ts +206 -22
- package/src/meeting/util.ts +1 -0
- package/src/meetings/index.ts +77 -43
- package/src/meetings/util.ts +56 -1
- package/src/member/index.ts +10 -0
- package/src/member/types.ts +1 -0
- package/src/member/util.ts +3 -0
- package/src/webinar/index.ts +75 -1
- package/test/unit/spec/aiEnableRequest/index.ts +86 -0
- package/test/unit/spec/breakouts/breakout.ts +7 -3
- package/test/unit/spec/controls-options-manager/index.js +114 -6
- package/test/unit/spec/controls-options-manager/util.js +165 -0
- package/test/unit/spec/hashTree/hashTreeParser.ts +996 -51
- package/test/unit/spec/hashTree/utils.ts +88 -1
- package/test/unit/spec/interceptors/locusRetry.ts +205 -4
- package/test/unit/spec/locus-info/index.js +397 -81
- package/test/unit/spec/meeting/index.js +271 -44
- package/test/unit/spec/meeting/utils.js +4 -0
- package/test/unit/spec/meetings/index.js +195 -13
- package/test/unit/spec/meetings/utils.js +137 -0
- package/test/unit/spec/member/index.js +7 -0
- package/test/unit/spec/member/util.js +24 -0
- package/test/unit/spec/webinar/index.ts +60 -0
package/AGENTS.md
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
# Unit tests
|
|
2
|
+
Plugin-meetings unit tests are slow, so always run only the tests you care about.
|
|
3
|
+
To run a single test or a set of tests for plugin-meetings, always temporarily add `.only` in the test code, for example:
|
|
4
|
+
```javascript
|
|
5
|
+
it.only('should do something', () => {
|
|
6
|
+
// test code
|
|
7
|
+
});
|
|
8
|
+
```
|
|
9
|
+
and always remove '.only' once you finish running the tests.
|
|
@@ -17,6 +17,7 @@ var _constants = require("../constants");
|
|
|
17
17
|
var AIEnableRequest = _webexCore.WebexPlugin.extend({
|
|
18
18
|
namespace: _constants.MEETINGS,
|
|
19
19
|
props: {
|
|
20
|
+
locusUrl: 'string',
|
|
20
21
|
approvalUrl: 'string',
|
|
21
22
|
selfParticipantId: 'string',
|
|
22
23
|
hasSubscribedToEvents: 'boolean'
|
|
@@ -41,6 +42,14 @@ var AIEnableRequest = _webexCore.WebexPlugin.extend({
|
|
|
41
42
|
this.set('hasSubscribedToEvents', true);
|
|
42
43
|
}
|
|
43
44
|
},
|
|
45
|
+
/**
|
|
46
|
+
* Update the locus url
|
|
47
|
+
* @param {string} locusUrl
|
|
48
|
+
* @returns {void}
|
|
49
|
+
*/
|
|
50
|
+
locusUrlUpdate: function locusUrlUpdate(locusUrl) {
|
|
51
|
+
this.locusUrl = locusUrl;
|
|
52
|
+
},
|
|
44
53
|
/**
|
|
45
54
|
* Listen to locus approval request events and trigger a new event with necessary details when an AI enablement approval request is received
|
|
46
55
|
* @returns {void}
|
|
@@ -50,7 +59,11 @@ var AIEnableRequest = _webexCore.WebexPlugin.extend({
|
|
|
50
59
|
this.listenTo(this.webex.internal.mercury, "event:".concat(_constants.LOCUSEVENT.APPROVAL_REQUEST), function (event) {
|
|
51
60
|
var _event$data, _event$data$approval;
|
|
52
61
|
if ((event === null || event === void 0 ? void 0 : (_event$data = event.data) === null || _event$data === void 0 ? void 0 : (_event$data$approval = _event$data.approval) === null || _event$data$approval === void 0 ? void 0 : _event$data$approval.resourceType) === _constants.AI_ENABLE_REQUEST.RESOURCE_TYPE) {
|
|
53
|
-
var _receivers$;
|
|
62
|
+
var _event$data2, _receivers$;
|
|
63
|
+
if ((event === null || event === void 0 ? void 0 : (_event$data2 = event.data) === null || _event$data2 === void 0 ? void 0 : _event$data2.locusUrl) !== _this.locusUrl) {
|
|
64
|
+
_this.webex.logger.info('AIEnableRequest: Ignoring approval request for different locus');
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
54
67
|
var _event$data$approval2 = event.data.approval,
|
|
55
68
|
receivers = _event$data$approval2.receivers,
|
|
56
69
|
initiator = _event$data$approval2.initiator,
|
|
@@ -178,7 +191,7 @@ var AIEnableRequest = _webexCore.WebexPlugin.extend({
|
|
|
178
191
|
method: _constants.HTTP_VERBS.PUT
|
|
179
192
|
});
|
|
180
193
|
},
|
|
181
|
-
version: "3.12.0-next.
|
|
194
|
+
version: "3.12.0-next.40"
|
|
182
195
|
});
|
|
183
196
|
var _default = exports.default = AIEnableRequest;
|
|
184
197
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_webexCore","require","_constants","AIEnableRequest","WebexPlugin","extend","namespace","MEETINGS","props","approvalUrl","selfParticipantId","hasSubscribedToEvents","approvalUrlUpdate","set","selfParticipantIdUpdate","listenToApprovalRequests","_this","listenTo","webex","internal","mercury","concat","LOCUSEVENT","APPROVAL_REQUEST","event","_event$data","_event$data$approval","data","approval","resourceType","AI_ENABLE_REQUEST","RESOURCE_TYPE","_receivers$","_event$data$approval2","receivers","initiator","actionType","url","approverId","participantId","isApprover","initiatorId","isInitiator","ACTION_TYPE","DECLINED_ALL","trigger","EVENTS","APPROVAL_REQUEST_ARRIVED","sendApprovalRequest","_ref","method","request","uri","body","approver","requestEnableAIAssistant","_ref2","REQUESTED","HTTP_VERBS","POST","acceptEnableAIAssistantRequest","_ref3","ACCEPTED","PUT","declineEnableAIAssistantRequest","_ref4","DECLINED","declineAllEnableAIAssistantRequests","_ref5","version","_default","exports","default"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2026 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport {AI_ENABLE_REQUEST, HTTP_VERBS, LOCUSEVENT, MEETINGS} from '../constants';\n\n/**\n * @class AIEnableRequest\n */\nconst AIEnableRequest = WebexPlugin.extend({\n namespace: MEETINGS,\n\n props: {\n approvalUrl: 'string',\n selfParticipantId: 'string',\n hasSubscribedToEvents: 'boolean',\n },\n\n /**\n * Update the approval url for handoff\n * @param {string} approvalUrl\n * @returns {void}\n */\n approvalUrlUpdate(approvalUrl) {\n this.set('approvalUrl', approvalUrl);\n },\n\n /**\n * Update the self participant id\n * @param {string} selfParticipantId\n * @returns {void}\n */\n selfParticipantIdUpdate(selfParticipantId) {\n this.set('selfParticipantId', selfParticipantId);\n\n if (!this.hasSubscribedToEvents) {\n this.listenToApprovalRequests();\n this.set('hasSubscribedToEvents', true);\n }\n },\n\n /**\n * Listen to locus approval request events and trigger a new event with necessary details when an AI enablement approval request is received\n * @returns {void}\n */\n listenToApprovalRequests() {\n this.listenTo(this.webex.internal.mercury, `event:${LOCUSEVENT.APPROVAL_REQUEST}`, (event) => {\n if (event?.data?.approval?.resourceType === AI_ENABLE_REQUEST.RESOURCE_TYPE) {\n const {receivers, initiator, actionType, url} = event.data.approval;\n const approverId = receivers?.[0]?.participantId;\n const isApprover = !!approverId && approverId === this.selfParticipantId;\n const initiatorId = initiator?.participantId;\n const isInitiator = !!initiatorId && initiatorId === this.selfParticipantId;\n if (\n !isApprover &&\n !isInitiator &&\n // Not just the initiator needs to know about declined all because\n // all future requests will be rejected if the meeting is in the declined all state\n actionType !== AI_ENABLE_REQUEST.ACTION_TYPE.DECLINED_ALL\n ) {\n return;\n }\n this.trigger(AI_ENABLE_REQUEST.EVENTS.APPROVAL_REQUEST_ARRIVED, {\n actionType,\n isApprover,\n isInitiator,\n initiatorId,\n approverId,\n url,\n });\n }\n });\n },\n\n /**\n * Helper method to send AI assistant request\n * @param {Object} params\n * @param {string} params.url approval url\n * @param {string} params.actionType the type of action (REQUESTED, ACCEPTED, DECLINED, DECLINED_ALL)\n * @param {string} params.initiatorId\n * @param {string} params.approverId\n * @param {string} params.method HTTP method to use for the request\n * @returns {Promise}\n */\n sendApprovalRequest({url, actionType, initiatorId, approverId, method}) {\n return this.request({\n method,\n uri: url,\n body: {\n actionType,\n resourceType: AI_ENABLE_REQUEST.RESOURCE_TYPE,\n initiator: {\n participantId: initiatorId,\n },\n approver: {\n participantId: approverId,\n },\n },\n });\n },\n\n /**\n * Sends a request to enable the AI assistant\n * @param {Object} params\n * @param {string} params.approverId\n * @returns {Promise}\n */\n requestEnableAIAssistant({approverId}) {\n return this.sendApprovalRequest({\n url: this.approvalUrl,\n actionType: AI_ENABLE_REQUEST.ACTION_TYPE.REQUESTED,\n initiatorId: this.selfParticipantId,\n approverId,\n method: HTTP_VERBS.POST,\n });\n },\n\n /**\n * Sends a request to accept the AI assistant enablement\n * @param {Object} params\n * @param {string} params.url approval url\n * @param {string} params.initiatorId\n * @returns {Promise}\n */\n acceptEnableAIAssistantRequest({url, initiatorId}) {\n return this.sendApprovalRequest({\n url,\n actionType: AI_ENABLE_REQUEST.ACTION_TYPE.ACCEPTED,\n initiatorId,\n approverId: this.selfParticipantId,\n method: HTTP_VERBS.PUT,\n });\n },\n\n /**\n * Sends a request to decline the AI assistant enablement\n * @param {Object} params\n * @param {string} params.url approval url\n * @param {string} params.initiatorId\n * @returns {Promise}\n */\n declineEnableAIAssistantRequest({url, initiatorId}) {\n return this.sendApprovalRequest({\n url,\n actionType: AI_ENABLE_REQUEST.ACTION_TYPE.DECLINED,\n initiatorId,\n approverId: this.selfParticipantId,\n method: HTTP_VERBS.PUT,\n });\n },\n\n /**\n * Sends a request to decline all AI assistant enablement requests\n * @param {Object} params\n * @param {string} params.url approval url\n * @param {string} params.initiatorId\n * @returns {Promise}\n */\n declineAllEnableAIAssistantRequests({url, initiatorId}) {\n return this.sendApprovalRequest({\n url,\n actionType: AI_ENABLE_REQUEST.ACTION_TYPE.DECLINED_ALL,\n initiatorId,\n approverId: this.selfParticipantId,\n method: HTTP_VERBS.PUT,\n });\n },\n});\n\nexport default AIEnableRequest;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_webexCore","require","_constants","AIEnableRequest","WebexPlugin","extend","namespace","MEETINGS","props","locusUrl","approvalUrl","selfParticipantId","hasSubscribedToEvents","approvalUrlUpdate","set","selfParticipantIdUpdate","listenToApprovalRequests","locusUrlUpdate","_this","listenTo","webex","internal","mercury","concat","LOCUSEVENT","APPROVAL_REQUEST","event","_event$data","_event$data$approval","data","approval","resourceType","AI_ENABLE_REQUEST","RESOURCE_TYPE","_event$data2","_receivers$","logger","info","_event$data$approval2","receivers","initiator","actionType","url","approverId","participantId","isApprover","initiatorId","isInitiator","ACTION_TYPE","DECLINED_ALL","trigger","EVENTS","APPROVAL_REQUEST_ARRIVED","sendApprovalRequest","_ref","method","request","uri","body","approver","requestEnableAIAssistant","_ref2","REQUESTED","HTTP_VERBS","POST","acceptEnableAIAssistantRequest","_ref3","ACCEPTED","PUT","declineEnableAIAssistantRequest","_ref4","DECLINED","declineAllEnableAIAssistantRequests","_ref5","version","_default","exports","default"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2026 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport {AI_ENABLE_REQUEST, HTTP_VERBS, LOCUSEVENT, MEETINGS} from '../constants';\n\n/**\n * @class AIEnableRequest\n */\nconst AIEnableRequest = WebexPlugin.extend({\n namespace: MEETINGS,\n\n props: {\n locusUrl: 'string',\n approvalUrl: 'string',\n selfParticipantId: 'string',\n hasSubscribedToEvents: 'boolean',\n },\n\n /**\n * Update the approval url for handoff\n * @param {string} approvalUrl\n * @returns {void}\n */\n approvalUrlUpdate(approvalUrl) {\n this.set('approvalUrl', approvalUrl);\n },\n\n /**\n * Update the self participant id\n * @param {string} selfParticipantId\n * @returns {void}\n */\n selfParticipantIdUpdate(selfParticipantId) {\n this.set('selfParticipantId', selfParticipantId);\n\n if (!this.hasSubscribedToEvents) {\n this.listenToApprovalRequests();\n this.set('hasSubscribedToEvents', true);\n }\n },\n\n /**\n * Update the locus url\n * @param {string} locusUrl\n * @returns {void}\n */\n locusUrlUpdate(locusUrl: string) {\n this.locusUrl = locusUrl;\n },\n\n /**\n * Listen to locus approval request events and trigger a new event with necessary details when an AI enablement approval request is received\n * @returns {void}\n */\n listenToApprovalRequests() {\n this.listenTo(this.webex.internal.mercury, `event:${LOCUSEVENT.APPROVAL_REQUEST}`, (event) => {\n if (event?.data?.approval?.resourceType === AI_ENABLE_REQUEST.RESOURCE_TYPE) {\n if (event?.data?.locusUrl !== this.locusUrl) {\n this.webex.logger.info('AIEnableRequest: Ignoring approval request for different locus');\n\n return;\n }\n\n const {receivers, initiator, actionType, url} = event.data.approval;\n const approverId = receivers?.[0]?.participantId;\n const isApprover = !!approverId && approverId === this.selfParticipantId;\n const initiatorId = initiator?.participantId;\n const isInitiator = !!initiatorId && initiatorId === this.selfParticipantId;\n if (\n !isApprover &&\n !isInitiator &&\n // Not just the initiator needs to know about declined all because\n // all future requests will be rejected if the meeting is in the declined all state\n actionType !== AI_ENABLE_REQUEST.ACTION_TYPE.DECLINED_ALL\n ) {\n return;\n }\n this.trigger(AI_ENABLE_REQUEST.EVENTS.APPROVAL_REQUEST_ARRIVED, {\n actionType,\n isApprover,\n isInitiator,\n initiatorId,\n approverId,\n url,\n });\n }\n });\n },\n\n /**\n * Helper method to send AI assistant request\n * @param {Object} params\n * @param {string} params.url approval url\n * @param {string} params.actionType the type of action (REQUESTED, ACCEPTED, DECLINED, DECLINED_ALL)\n * @param {string} params.initiatorId\n * @param {string} params.approverId\n * @param {string} params.method HTTP method to use for the request\n * @returns {Promise}\n */\n sendApprovalRequest({url, actionType, initiatorId, approverId, method}) {\n return this.request({\n method,\n uri: url,\n body: {\n actionType,\n resourceType: AI_ENABLE_REQUEST.RESOURCE_TYPE,\n initiator: {\n participantId: initiatorId,\n },\n approver: {\n participantId: approverId,\n },\n },\n });\n },\n\n /**\n * Sends a request to enable the AI assistant\n * @param {Object} params\n * @param {string} params.approverId\n * @returns {Promise}\n */\n requestEnableAIAssistant({approverId}) {\n return this.sendApprovalRequest({\n url: this.approvalUrl,\n actionType: AI_ENABLE_REQUEST.ACTION_TYPE.REQUESTED,\n initiatorId: this.selfParticipantId,\n approverId,\n method: HTTP_VERBS.POST,\n });\n },\n\n /**\n * Sends a request to accept the AI assistant enablement\n * @param {Object} params\n * @param {string} params.url approval url\n * @param {string} params.initiatorId\n * @returns {Promise}\n */\n acceptEnableAIAssistantRequest({url, initiatorId}) {\n return this.sendApprovalRequest({\n url,\n actionType: AI_ENABLE_REQUEST.ACTION_TYPE.ACCEPTED,\n initiatorId,\n approverId: this.selfParticipantId,\n method: HTTP_VERBS.PUT,\n });\n },\n\n /**\n * Sends a request to decline the AI assistant enablement\n * @param {Object} params\n * @param {string} params.url approval url\n * @param {string} params.initiatorId\n * @returns {Promise}\n */\n declineEnableAIAssistantRequest({url, initiatorId}) {\n return this.sendApprovalRequest({\n url,\n actionType: AI_ENABLE_REQUEST.ACTION_TYPE.DECLINED,\n initiatorId,\n approverId: this.selfParticipantId,\n method: HTTP_VERBS.PUT,\n });\n },\n\n /**\n * Sends a request to decline all AI assistant enablement requests\n * @param {Object} params\n * @param {string} params.url approval url\n * @param {string} params.initiatorId\n * @returns {Promise}\n */\n declineAllEnableAIAssistantRequests({url, initiatorId}) {\n return this.sendApprovalRequest({\n url,\n actionType: AI_ENABLE_REQUEST.ACTION_TYPE.DECLINED_ALL,\n initiatorId,\n approverId: this.selfParticipantId,\n method: HTTP_VERBS.PUT,\n });\n },\n});\n\nexport default AIEnableRequest;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -192,7 +192,11 @@ var Breakout = _webexCore.WebexPlugin.extend({
|
|
|
192
192
|
return;
|
|
193
193
|
}
|
|
194
194
|
this.breakoutRosterLocus = locus;
|
|
195
|
-
|
|
195
|
+
// The roster via breakout roster event is full roster, use replace strategy to update the members
|
|
196
|
+
this.members.locusParticipantsUpdate({
|
|
197
|
+
participants: locus.participants,
|
|
198
|
+
isReplace: true
|
|
199
|
+
});
|
|
196
200
|
},
|
|
197
201
|
/**
|
|
198
202
|
* Broadcast message to this breakout session's participants
|
|
@@ -209,7 +213,7 @@ var Breakout = _webexCore.WebexPlugin.extend({
|
|
|
209
213
|
sessionId: this.sessionId
|
|
210
214
|
});
|
|
211
215
|
},
|
|
212
|
-
version: "3.12.0-next.
|
|
216
|
+
version: "3.12.0-next.40"
|
|
213
217
|
});
|
|
214
218
|
var _default = exports.default = Breakout;
|
|
215
219
|
//# sourceMappingURL=breakout.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_webexCore","require","_uuid","_interopRequireDefault","_constants","_members","_request","_events","Breakout","WebexPlugin","extend","idAttribute","namespace","MEETINGS","breakoutRequest","BreakoutRequest","props","active","allowed","assigned","assignedCurrent","requested","current","name","sessionId","sessionType","groupId","url","requestedLastModifiedTime","derived","isMain","cache","deps","fn","initialize","webex","breakoutRosterLocus","join","_this","_asyncToGenerator2","default","_regenerator","mark","_callee","breakoutMoveId","deviceUrl","meetingId","meeting","result","wrap","_context","prev","next","uuid","v4","internal","device","collection","parent","meetings","getMeetingByType","_ID_","breakoutEvent","onBreakoutMoveRequest","currentSession","newMetrics","submitClientEvent","bind","request","method","HTTP_VERBS","POST","uri","concat","body","sent","onBreakoutMoveResponse","abrupt","stop","leave","Error","mainSession","breakouts","filter","breakout","askForHelp","initMembers","members","Members","isNeedHandleRoster","locus","_this$breakoutRosterL","_this$breakoutRosterL2","_this$breakoutRosterL3","_locus$sequence","_locus$sequence$entri","sequence","entries","length","prevSequence","currentSequence","parseRoster","locusParticipantsUpdate","broadcast","message","options","version","_default","exports"],"sources":["breakout.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin} from '@webex/webex-core';\n\nimport uuid from 'uuid';\nimport {_ID_, HTTP_VERBS, MEETINGS} from '../constants';\nimport Members from '../members';\nimport BreakoutRequest from './request';\nimport breakoutEvent from './events';\n/**\n * @class\n */\nconst Breakout = WebexPlugin.extend({\n idAttribute: 'sessionId',\n\n namespace: MEETINGS,\n\n breakoutRequest: BreakoutRequest,\n props: {\n active: ['boolean', false, false], // this session is active\n allowed: ['boolean', false, false], // allowed to join this session\n assigned: ['boolean', false, false], // assigned to this session, but not necessarily joined yet\n assignedCurrent: ['boolean', false, false], // assigned AND current session\n requested: ['boolean', false, false], // requested by the host to join this session\n current: ['boolean', false, false], // the current joined session\n name: 'string',\n sessionId: 'string',\n sessionType: 'string',\n groupId: 'string',\n url: 'string', // where to send requests to\n requestedLastModifiedTime: 'string',\n },\n\n derived: {\n isMain: {\n cache: false, // fix issue: sometimes the derived will not change even if the deps changed\n deps: ['sessionType'],\n /**\n * If the breakout has no name, assume it is the main session\n * @returns {boolean}\n */\n fn() {\n return this.sessionType === 'MAIN';\n },\n },\n },\n /**\n * initializer for the Breakout class\n * @returns {void}\n */\n initialize() {\n // @ts-ignore\n this.breakoutRequest = new BreakoutRequest({webex: this.webex});\n this.breakoutRosterLocus = null;\n },\n\n /**\n * Joins the breakout session\n * @returns {Promise}\n */\n async join() {\n const breakoutMoveId = uuid.v4();\n const deviceUrl = this.webex.internal.device.url;\n const {meetingId} = this.collection.parent;\n const meeting = this.webex.meetings.getMeetingByType(_ID_, meetingId);\n breakoutEvent.onBreakoutMoveRequest(\n {currentSession: this, meeting, breakoutMoveId},\n // @ts-ignore\n this.webex.internal.newMetrics.submitClientEvent.bind(this.webex.internal.newMetrics)\n );\n const result = await this.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/move`,\n body: {\n breakoutMoveId,\n deviceUrl,\n groupId: this.groupId,\n sessionId: this.sessionId,\n },\n });\n breakoutEvent.onBreakoutMoveResponse(\n {currentSession: this, meeting, breakoutMoveId},\n // @ts-ignore\n this.webex.internal.newMetrics.submitClientEvent.bind(this.webex.internal.newMetrics)\n );\n\n return result;\n },\n\n /**\n * Leaves the breakout session to return to the main session\n * @returns {Promise}\n * @throws {Error} if an attempt is made to leave the main session or if the main session cannot be found\n */\n leave() {\n if (this.isMain) {\n throw new Error('Cannot leave the main session');\n }\n\n const mainSession = this.parent.breakouts.filter((breakout) => breakout.isMain)[0];\n\n if (!mainSession) {\n throw new Error('Cannot leave, no main session found');\n }\n\n return mainSession.join();\n },\n\n /**\n * Sends a help request for the current breakout\n * @returns {Promise}\n */\n askForHelp() {\n return this.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/help`,\n body: {\n groupId: this.groupId,\n sessionId: this.sessionId,\n },\n });\n },\n\n /**\n * inits the members object\n * @returns {void}\n */\n initMembers() {\n const {meetingId} = this.collection.parent;\n const meeting = this.webex.meetings.getMeetingByType(_ID_, meetingId);\n this.members = new Members(\n {\n meeting,\n },\n {parent: this.webex}\n );\n },\n\n /**\n * check sequence and determine whether to update the new roster or not\n * @param {Object} locus Locus object\n * @returns {Boolean}\n */\n isNeedHandleRoster(locus: any) {\n if (!this.breakoutRosterLocus?.sequence?.entries?.length || !locus?.sequence?.entries?.length) {\n return true;\n }\n const prevSequence = this.breakoutRosterLocus.sequence.entries[0];\n const currentSequence = locus.sequence.entries[0];\n\n return currentSequence > prevSequence;\n },\n /**\n * Parses the participants from the locus object\n * @param {Object} locus Locus object\n * @returns {void}\n */\n parseRoster(locus) {\n if (!this.members) {\n this.initMembers();\n }\n if (!this.isNeedHandleRoster(locus)) {\n return;\n }\n this.breakoutRosterLocus = locus;\n this.members.locusParticipantsUpdate(locus);\n },\n\n /**\n * Broadcast message to this breakout session's participants\n * @param {String} message\n * @param {Object} options\n * @returns {Promise}\n */\n broadcast(message, options) {\n return this.breakoutRequest.broadcast({\n url: this.url,\n message,\n options,\n groupId: this.groupId,\n sessionId: this.sessionId,\n });\n },\n});\n\nexport default Breakout;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_webexCore","require","_uuid","_interopRequireDefault","_constants","_members","_request","_events","Breakout","WebexPlugin","extend","idAttribute","namespace","MEETINGS","breakoutRequest","BreakoutRequest","props","active","allowed","assigned","assignedCurrent","requested","current","name","sessionId","sessionType","groupId","url","requestedLastModifiedTime","derived","isMain","cache","deps","fn","initialize","webex","breakoutRosterLocus","join","_this","_asyncToGenerator2","default","_regenerator","mark","_callee","breakoutMoveId","deviceUrl","meetingId","meeting","result","wrap","_context","prev","next","uuid","v4","internal","device","collection","parent","meetings","getMeetingByType","_ID_","breakoutEvent","onBreakoutMoveRequest","currentSession","newMetrics","submitClientEvent","bind","request","method","HTTP_VERBS","POST","uri","concat","body","sent","onBreakoutMoveResponse","abrupt","stop","leave","Error","mainSession","breakouts","filter","breakout","askForHelp","initMembers","members","Members","isNeedHandleRoster","locus","_this$breakoutRosterL","_this$breakoutRosterL2","_this$breakoutRosterL3","_locus$sequence","_locus$sequence$entri","sequence","entries","length","prevSequence","currentSequence","parseRoster","locusParticipantsUpdate","participants","isReplace","broadcast","message","options","version","_default","exports"],"sources":["breakout.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {WebexPlugin} from '@webex/webex-core';\n\nimport uuid from 'uuid';\nimport {_ID_, HTTP_VERBS, MEETINGS} from '../constants';\nimport Members from '../members';\nimport BreakoutRequest from './request';\nimport breakoutEvent from './events';\n/**\n * @class\n */\nconst Breakout = WebexPlugin.extend({\n idAttribute: 'sessionId',\n\n namespace: MEETINGS,\n\n breakoutRequest: BreakoutRequest,\n props: {\n active: ['boolean', false, false], // this session is active\n allowed: ['boolean', false, false], // allowed to join this session\n assigned: ['boolean', false, false], // assigned to this session, but not necessarily joined yet\n assignedCurrent: ['boolean', false, false], // assigned AND current session\n requested: ['boolean', false, false], // requested by the host to join this session\n current: ['boolean', false, false], // the current joined session\n name: 'string',\n sessionId: 'string',\n sessionType: 'string',\n groupId: 'string',\n url: 'string', // where to send requests to\n requestedLastModifiedTime: 'string',\n },\n\n derived: {\n isMain: {\n cache: false, // fix issue: sometimes the derived will not change even if the deps changed\n deps: ['sessionType'],\n /**\n * If the breakout has no name, assume it is the main session\n * @returns {boolean}\n */\n fn() {\n return this.sessionType === 'MAIN';\n },\n },\n },\n /**\n * initializer for the Breakout class\n * @returns {void}\n */\n initialize() {\n // @ts-ignore\n this.breakoutRequest = new BreakoutRequest({webex: this.webex});\n this.breakoutRosterLocus = null;\n },\n\n /**\n * Joins the breakout session\n * @returns {Promise}\n */\n async join() {\n const breakoutMoveId = uuid.v4();\n const deviceUrl = this.webex.internal.device.url;\n const {meetingId} = this.collection.parent;\n const meeting = this.webex.meetings.getMeetingByType(_ID_, meetingId);\n breakoutEvent.onBreakoutMoveRequest(\n {currentSession: this, meeting, breakoutMoveId},\n // @ts-ignore\n this.webex.internal.newMetrics.submitClientEvent.bind(this.webex.internal.newMetrics)\n );\n const result = await this.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/move`,\n body: {\n breakoutMoveId,\n deviceUrl,\n groupId: this.groupId,\n sessionId: this.sessionId,\n },\n });\n breakoutEvent.onBreakoutMoveResponse(\n {currentSession: this, meeting, breakoutMoveId},\n // @ts-ignore\n this.webex.internal.newMetrics.submitClientEvent.bind(this.webex.internal.newMetrics)\n );\n\n return result;\n },\n\n /**\n * Leaves the breakout session to return to the main session\n * @returns {Promise}\n * @throws {Error} if an attempt is made to leave the main session or if the main session cannot be found\n */\n leave() {\n if (this.isMain) {\n throw new Error('Cannot leave the main session');\n }\n\n const mainSession = this.parent.breakouts.filter((breakout) => breakout.isMain)[0];\n\n if (!mainSession) {\n throw new Error('Cannot leave, no main session found');\n }\n\n return mainSession.join();\n },\n\n /**\n * Sends a help request for the current breakout\n * @returns {Promise}\n */\n askForHelp() {\n return this.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/help`,\n body: {\n groupId: this.groupId,\n sessionId: this.sessionId,\n },\n });\n },\n\n /**\n * inits the members object\n * @returns {void}\n */\n initMembers() {\n const {meetingId} = this.collection.parent;\n const meeting = this.webex.meetings.getMeetingByType(_ID_, meetingId);\n this.members = new Members(\n {\n meeting,\n },\n {parent: this.webex}\n );\n },\n\n /**\n * check sequence and determine whether to update the new roster or not\n * @param {Object} locus Locus object\n * @returns {Boolean}\n */\n isNeedHandleRoster(locus: any) {\n if (!this.breakoutRosterLocus?.sequence?.entries?.length || !locus?.sequence?.entries?.length) {\n return true;\n }\n const prevSequence = this.breakoutRosterLocus.sequence.entries[0];\n const currentSequence = locus.sequence.entries[0];\n\n return currentSequence > prevSequence;\n },\n /**\n * Parses the participants from the locus object\n * @param {Object} locus Locus object\n * @returns {void}\n */\n parseRoster(locus) {\n if (!this.members) {\n this.initMembers();\n }\n if (!this.isNeedHandleRoster(locus)) {\n return;\n }\n this.breakoutRosterLocus = locus;\n // The roster via breakout roster event is full roster, use replace strategy to update the members\n this.members.locusParticipantsUpdate({participants: locus.participants, isReplace: true});\n },\n\n /**\n * Broadcast message to this breakout session's participants\n * @param {String} message\n * @param {Object} options\n * @returns {Promise}\n */\n broadcast(message, options) {\n return this.breakoutRequest.broadcast({\n url: this.url,\n message,\n options,\n groupId: this.groupId,\n sessionId: this.sessionId,\n });\n },\n});\n\nexport default Breakout;\n"],"mappings":"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","ignoreList":[]}
|
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.12.0-next.
|
|
1112
|
+
version: "3.12.0-next.40"
|
|
1113
1113
|
});
|
|
1114
1114
|
var _default = exports.default = Breakouts;
|
|
1115
1115
|
//# sourceMappingURL=index.js.map
|
package/dist/constants.js
CHANGED
|
@@ -369,7 +369,7 @@ var MEETING_REMOVED_REASON = exports.MEETING_REMOVED_REASON = {
|
|
|
369
369
|
SELF_REMOVED: 'SELF_REMOVED',
|
|
370
370
|
// server or host removed you from the meeting
|
|
371
371
|
MEETING_INACTIVE_TERMINATING: 'MEETING_INACTIVE_TERMINATING',
|
|
372
|
-
// Meeting got ended or everyone left the meeting
|
|
372
|
+
// Meeting got ended or everyone left the meeting (historically was sent on Locus TERMINATING or INACTIVE, but now only on INACTIVE as that's the final state)
|
|
373
373
|
CLIENT_LEAVE_REQUEST: 'CLIENT_LEAVE_REQUEST',
|
|
374
374
|
// You triggered leave meeting
|
|
375
375
|
CLIENT_LEAVE_REQUEST_TAB_CLOSED: 'CLIENT_LEAVE_REQUEST_TAB_CLOSED',
|