@webex/plugin-meetings 3.12.0-next.6 → 3.12.0-next.61
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 +8 -3
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/index.js +26 -2
- package/dist/breakouts/index.js.map +1 -1
- package/dist/config.js +2 -0
- package/dist/config.js.map +1 -1
- package/dist/constants.js +6 -3
- 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 +38 -24
- 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 +716 -370
- 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/index.js +7 -0
- package/dist/index.js.map +1 -1
- package/dist/interceptors/locusRetry.js +23 -8
- package/dist/interceptors/locusRetry.js.map +1 -1
- package/dist/interpretation/index.js +10 -1
- package/dist/interpretation/index.js.map +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/locus-info/controlsUtils.js +4 -1
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +289 -87
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/types.js +19 -0
- package/dist/locus-info/types.js.map +1 -1
- package/dist/media/index.js +3 -1
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +1 -0
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +3 -1
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +907 -535
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/util.js +19 -2
- package/dist/meeting/util.js.map +1 -1
- package/dist/meetings/index.js +231 -78
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.js +6 -1
- package/dist/meetings/meetings.types.js.map +1 -1
- package/dist/meetings/request.js +39 -0
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +79 -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/metrics/constants.js +4 -1
- package/dist/metrics/constants.js.map +1 -1
- package/dist/multistream/codec/constants.js +63 -0
- package/dist/multistream/codec/constants.js.map +1 -0
- package/dist/multistream/mediaRequestManager.js +62 -15
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js +9 -0
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/recording-controller/index.js +1 -3
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/types/config.d.ts +2 -0
- package/dist/types/constants.d.ts +2 -0
- package/dist/types/controls-options-manager/constants.d.ts +6 -1
- package/dist/types/controls-options-manager/index.d.ts +10 -0
- package/dist/types/hashTree/constants.d.ts +1 -0
- package/dist/types/hashTree/hashTreeParser.d.ts +92 -16
- package/dist/types/hashTree/utils.d.ts +11 -0
- package/dist/types/index.d.ts +2 -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 +21 -1
- package/dist/types/media/properties.d.ts +1 -0
- package/dist/types/meeting/in-meeting-actions.d.ts +2 -0
- package/dist/types/meeting/index.d.ts +87 -3
- package/dist/types/meeting/util.d.ts +8 -0
- package/dist/types/meetings/index.d.ts +30 -2
- package/dist/types/meetings/meetings.types.d.ts +15 -0
- package/dist/types/meetings/request.d.ts +14 -0
- 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/types/metrics/constants.d.ts +3 -0
- package/dist/types/multistream/codec/constants.d.ts +7 -0
- package/dist/types/multistream/mediaRequestManager.d.ts +22 -5
- package/dist/types/reactions/reactions.type.d.ts +3 -0
- package/dist/webinar/index.js +361 -235
- 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 +3 -1
- package/src/breakouts/index.ts +31 -0
- package/src/config.ts +2 -0
- package/src/constants.ts +5 -1
- package/src/controls-options-manager/constants.ts +14 -1
- package/src/controls-options-manager/index.ts +47 -24
- package/src/controls-options-manager/util.ts +81 -1
- package/src/hashTree/constants.ts +9 -0
- package/src/hashTree/hashTreeParser.ts +429 -183
- package/src/hashTree/utils.ts +17 -0
- package/src/index.ts +5 -0
- package/src/interceptors/locusRetry.ts +25 -4
- package/src/interpretation/index.ts +25 -8
- package/src/locus-info/controlsUtils.ts +3 -1
- package/src/locus-info/index.ts +291 -97
- package/src/locus-info/types.ts +25 -1
- package/src/media/index.ts +3 -0
- package/src/media/properties.ts +1 -0
- package/src/meeting/in-meeting-actions.ts +4 -0
- package/src/meeting/index.ts +388 -33
- package/src/meeting/util.ts +20 -2
- package/src/meetings/index.ts +134 -44
- package/src/meetings/meetings.types.ts +19 -0
- package/src/meetings/request.ts +43 -0
- package/src/meetings/util.ts +97 -1
- package/src/member/index.ts +10 -0
- package/src/member/types.ts +1 -0
- package/src/member/util.ts +3 -0
- package/src/metrics/constants.ts +3 -0
- package/src/multistream/codec/constants.ts +58 -0
- package/src/multistream/mediaRequestManager.ts +119 -28
- package/src/multistream/receiveSlot.ts +18 -0
- package/src/reactions/reactions.type.ts +3 -0
- package/src/recording-controller/index.ts +1 -2
- package/src/webinar/index.ts +162 -21
- package/test/unit/spec/aiEnableRequest/index.ts +86 -0
- package/test/unit/spec/breakouts/breakout.ts +9 -3
- package/test/unit/spec/breakouts/index.ts +49 -0
- package/test/unit/spec/controls-options-manager/index.js +140 -29
- package/test/unit/spec/controls-options-manager/util.js +165 -0
- package/test/unit/spec/hashTree/hashTreeParser.ts +1508 -149
- package/test/unit/spec/hashTree/utils.ts +88 -1
- package/test/unit/spec/interceptors/locusRetry.ts +205 -4
- package/test/unit/spec/interpretation/index.ts +26 -4
- package/test/unit/spec/locus-info/controlsUtils.js +172 -57
- package/test/unit/spec/locus-info/index.js +475 -81
- package/test/unit/spec/media/index.ts +31 -0
- package/test/unit/spec/meeting/in-meeting-actions.ts +2 -0
- package/test/unit/spec/meeting/index.js +1131 -49
- package/test/unit/spec/meeting/muteState.js +3 -0
- package/test/unit/spec/meeting/utils.js +33 -0
- package/test/unit/spec/meetings/index.js +360 -10
- package/test/unit/spec/meetings/request.js +141 -0
- package/test/unit/spec/meetings/utils.js +189 -0
- package/test/unit/spec/member/index.js +7 -0
- package/test/unit/spec/member/util.js +24 -0
- package/test/unit/spec/multistream/mediaRequestManager.ts +501 -37
- package/test/unit/spec/recording-controller/index.js +9 -8
- package/test/unit/spec/webinar/index.ts +141 -16
package/dist/hashTree/utils.js
CHANGED
|
@@ -8,8 +8,10 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
8
8
|
exports.deleteNestedObjectsWithHtMeta = void 0;
|
|
9
9
|
exports.isMetadata = isMetadata;
|
|
10
10
|
exports.isSelf = isSelf;
|
|
11
|
+
exports.sortByInitPriority = sortByInitPriority;
|
|
11
12
|
var _isArray = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/array/is-array"));
|
|
12
13
|
var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
|
|
14
|
+
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/toConsumableArray"));
|
|
13
15
|
var _typeof2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/typeof"));
|
|
14
16
|
var _types = require("./types");
|
|
15
17
|
/* eslint-disable import/prefer-default-export */
|
|
@@ -66,4 +68,24 @@ var _deleteNestedObjectsWithHtMeta = exports.deleteNestedObjectsWithHtMeta = fun
|
|
|
66
68
|
}
|
|
67
69
|
}
|
|
68
70
|
};
|
|
71
|
+
|
|
72
|
+
/**
|
|
73
|
+
* Reorders items so that those matching the given priority list come first (in priority order),
|
|
74
|
+
* followed by everything else in their original order.
|
|
75
|
+
*
|
|
76
|
+
* @param {Array<T>} items - The items to reorder
|
|
77
|
+
* @param {string[]} priority - Ordered list of names that should come first
|
|
78
|
+
* @returns {Array<T>} A new array with prioritized items first
|
|
79
|
+
*/
|
|
80
|
+
function sortByInitPriority(items, priority) {
|
|
81
|
+
var prioritized = priority.map(function (name) {
|
|
82
|
+
return items.find(function (item) {
|
|
83
|
+
return item.name === name;
|
|
84
|
+
});
|
|
85
|
+
}).filter(Boolean);
|
|
86
|
+
var rest = items.filter(function (item) {
|
|
87
|
+
return !priority.includes(item.name);
|
|
88
|
+
});
|
|
89
|
+
return [].concat((0, _toConsumableArray2.default)(prioritized), (0, _toConsumableArray2.default)(rest));
|
|
90
|
+
}
|
|
69
91
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_types","require","isSelf","object","htMeta","elementId","type","toLowerCase","ObjectType","self","isMetadata","metadata","deleteNestedObjectsWithHtMeta","exports","currentLocusPart","parent","currentKey","_typeof2","default","undefined","_isArray","splice","Number","i","length","_i","_Object$keys","_keys","key","Object","prototype","hasOwnProperty","call"],"sources":["utils.ts"],"sourcesContent":["/* eslint-disable import/prefer-default-export */\n\nimport {ObjectType, HashTreeObject} from './types';\n\n/**\n * Checks if the given hash tree object is of type \"self\"\n * @param {HashTreeObject} object object to check\n * @returns {boolean} True if the object is of type \"self\", false otherwise\n */\nexport function isSelf(object: HashTreeObject) {\n return object.htMeta.elementId.type.toLowerCase() === ObjectType.self;\n}\n\n/**\n * Checks if the given hash tree object is of type \"Metadata\"\n * @param {HashTreeObject} object object to check\n * @returns {boolean} True if the object is of type \"Metadata\", false otherwise\n */\nexport function isMetadata(object: HashTreeObject) {\n return object.htMeta.elementId.type.toLowerCase() === ObjectType.metadata;\n}\n\n/**\n * Analyzes given part of Locus DTO recursively and delete any nested objects that have their own htMeta\n *\n * @param {Object} currentLocusPart part of locus DTO to analyze\n * @param {Object} parent parent object\n * @param {string|number} currentKey key of the parent object that currentLocusPart is\n * @returns {void}\n */\nexport const deleteNestedObjectsWithHtMeta = (\n currentLocusPart: any,\n parent?: any,\n currentKey?: string | number\n) => {\n if (typeof currentLocusPart !== 'object' || currentLocusPart === null) {\n return;\n }\n\n if (parent && currentKey !== undefined && currentLocusPart.htMeta) {\n if (Array.isArray(parent)) {\n parent.splice(Number(currentKey), 1);\n } else {\n delete parent[currentKey];\n }\n\n return;\n }\n\n if (Array.isArray(currentLocusPart)) {\n // iterate array in reverse, so that indexes remain valid when deleting elements\n for (let i = currentLocusPart.length - 1; i >= 0; i -= 1) {\n deleteNestedObjectsWithHtMeta(currentLocusPart[i], currentLocusPart, i);\n }\n } else {\n for (const key of Object.keys(currentLocusPart)) {\n if (Object.prototype.hasOwnProperty.call(currentLocusPart, key)) {\n deleteNestedObjectsWithHtMeta(currentLocusPart[key], currentLocusPart, key);\n }\n }\n }\n};\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_types","require","isSelf","object","htMeta","elementId","type","toLowerCase","ObjectType","self","isMetadata","metadata","deleteNestedObjectsWithHtMeta","exports","currentLocusPart","parent","currentKey","_typeof2","default","undefined","_isArray","splice","Number","i","length","_i","_Object$keys","_keys","key","Object","prototype","hasOwnProperty","call","sortByInitPriority","items","priority","prioritized","map","name","find","item","filter","Boolean","rest","includes","concat","_toConsumableArray2"],"sources":["utils.ts"],"sourcesContent":["/* eslint-disable import/prefer-default-export */\n\nimport {ObjectType, HashTreeObject} from './types';\n\n/**\n * Checks if the given hash tree object is of type \"self\"\n * @param {HashTreeObject} object object to check\n * @returns {boolean} True if the object is of type \"self\", false otherwise\n */\nexport function isSelf(object: HashTreeObject) {\n return object.htMeta.elementId.type.toLowerCase() === ObjectType.self;\n}\n\n/**\n * Checks if the given hash tree object is of type \"Metadata\"\n * @param {HashTreeObject} object object to check\n * @returns {boolean} True if the object is of type \"Metadata\", false otherwise\n */\nexport function isMetadata(object: HashTreeObject) {\n return object.htMeta.elementId.type.toLowerCase() === ObjectType.metadata;\n}\n\n/**\n * Analyzes given part of Locus DTO recursively and delete any nested objects that have their own htMeta\n *\n * @param {Object} currentLocusPart part of locus DTO to analyze\n * @param {Object} parent parent object\n * @param {string|number} currentKey key of the parent object that currentLocusPart is\n * @returns {void}\n */\nexport const deleteNestedObjectsWithHtMeta = (\n currentLocusPart: any,\n parent?: any,\n currentKey?: string | number\n) => {\n if (typeof currentLocusPart !== 'object' || currentLocusPart === null) {\n return;\n }\n\n if (parent && currentKey !== undefined && currentLocusPart.htMeta) {\n if (Array.isArray(parent)) {\n parent.splice(Number(currentKey), 1);\n } else {\n delete parent[currentKey];\n }\n\n return;\n }\n\n if (Array.isArray(currentLocusPart)) {\n // iterate array in reverse, so that indexes remain valid when deleting elements\n for (let i = currentLocusPart.length - 1; i >= 0; i -= 1) {\n deleteNestedObjectsWithHtMeta(currentLocusPart[i], currentLocusPart, i);\n }\n } else {\n for (const key of Object.keys(currentLocusPart)) {\n if (Object.prototype.hasOwnProperty.call(currentLocusPart, key)) {\n deleteNestedObjectsWithHtMeta(currentLocusPart[key], currentLocusPart, key);\n }\n }\n }\n};\n\n/**\n * Reorders items so that those matching the given priority list come first (in priority order),\n * followed by everything else in their original order.\n *\n * @param {Array<T>} items - The items to reorder\n * @param {string[]} priority - Ordered list of names that should come first\n * @returns {Array<T>} A new array with prioritized items first\n */\nexport function sortByInitPriority<T extends {name: string}>(items: T[], priority: string[]): T[] {\n const prioritized = priority\n .map((name) => items.find((item) => item.name === name))\n .filter(Boolean) as T[];\n const rest = items.filter((item) => !priority.includes(item.name));\n\n return [...prioritized, ...rest];\n}\n"],"mappings":";;;;;;;;;;;;;;;AAEA,IAAAA,MAAA,GAAAC,OAAA;AAFA;;AAIA;AACA;AACA;AACA;AACA;AACO,SAASC,MAAMA,CAACC,MAAsB,EAAE;EAC7C,OAAOA,MAAM,CAACC,MAAM,CAACC,SAAS,CAACC,IAAI,CAACC,WAAW,CAAC,CAAC,KAAKC,iBAAU,CAACC,IAAI;AACvE;;AAEA;AACA;AACA;AACA;AACA;AACO,SAASC,UAAUA,CAACP,MAAsB,EAAE;EACjD,OAAOA,MAAM,CAACC,MAAM,CAACC,SAAS,CAACC,IAAI,CAACC,WAAW,CAAC,CAAC,KAAKC,iBAAU,CAACG,QAAQ;AAC3E;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,IAAMC,8BAA6B,GAAAC,OAAA,CAAAD,6BAAA,GAAG,SAAhCA,6BAA6BA,CACxCE,gBAAqB,EACrBC,MAAY,EACZC,UAA4B,EACzB;EACH,IAAI,IAAAC,QAAA,CAAAC,OAAA,EAAOJ,gBAAgB,MAAK,QAAQ,IAAIA,gBAAgB,KAAK,IAAI,EAAE;IACrE;EACF;EAEA,IAAIC,MAAM,IAAIC,UAAU,KAAKG,SAAS,IAAIL,gBAAgB,CAACV,MAAM,EAAE;IACjE,IAAI,IAAAgB,QAAA,CAAAF,OAAA,EAAcH,MAAM,CAAC,EAAE;MACzBA,MAAM,CAACM,MAAM,CAACC,MAAM,CAACN,UAAU,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC,MAAM;MACL,OAAOD,MAAM,CAACC,UAAU,CAAC;IAC3B;IAEA;EACF;EAEA,IAAI,IAAAI,QAAA,CAAAF,OAAA,EAAcJ,gBAAgB,CAAC,EAAE;IACnC;IACA,KAAK,IAAIS,CAAC,GAAGT,gBAAgB,CAACU,MAAM,GAAG,CAAC,EAAED,CAAC,IAAI,CAAC,EAAEA,CAAC,IAAI,CAAC,EAAE;MACxDX,8BAA6B,CAACE,gBAAgB,CAACS,CAAC,CAAC,EAAET,gBAAgB,EAAES,CAAC,CAAC;IACzE;EACF,CAAC,MAAM;IACL,SAAAE,EAAA,MAAAC,YAAA,GAAkB,IAAAC,KAAA,CAAAT,OAAA,EAAYJ,gBAAgB,CAAC,EAAAW,EAAA,GAAAC,YAAA,CAAAF,MAAA,EAAAC,EAAA,IAAE;MAA5C,IAAMG,GAAG,GAAAF,YAAA,CAAAD,EAAA;MACZ,IAAII,MAAM,CAACC,SAAS,CAACC,cAAc,CAACC,IAAI,CAAClB,gBAAgB,EAAEc,GAAG,CAAC,EAAE;QAC/DhB,8BAA6B,CAACE,gBAAgB,CAACc,GAAG,CAAC,EAAEd,gBAAgB,EAAEc,GAAG,CAAC;MAC7E;IACF;EACF;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASK,kBAAkBA,CAA2BC,KAAU,EAAEC,QAAkB,EAAO;EAChG,IAAMC,WAAW,GAAGD,QAAQ,CACzBE,GAAG,CAAC,UAACC,IAAI;IAAA,OAAKJ,KAAK,CAACK,IAAI,CAAC,UAACC,IAAI;MAAA,OAAKA,IAAI,CAACF,IAAI,KAAKA,IAAI;IAAA,EAAC;EAAA,EAAC,CACvDG,MAAM,CAACC,OAAO,CAAQ;EACzB,IAAMC,IAAI,GAAGT,KAAK,CAACO,MAAM,CAAC,UAACD,IAAI;IAAA,OAAK,CAACL,QAAQ,CAACS,QAAQ,CAACJ,IAAI,CAACF,IAAI,CAAC;EAAA,EAAC;EAElE,UAAAO,MAAA,KAAAC,mBAAA,CAAA5B,OAAA,EAAWkB,WAAW,OAAAU,mBAAA,CAAA5B,OAAA,EAAKyB,IAAI;AACjC","ignoreList":[]}
|
package/dist/index.js
CHANGED
|
@@ -167,6 +167,12 @@ _Object$defineProperty(exports, "SdpResponseTimeoutError", {
|
|
|
167
167
|
return _webexErrors.SdpResponseTimeoutError;
|
|
168
168
|
}
|
|
169
169
|
});
|
|
170
|
+
_Object$defineProperty(exports, "SitePreferenceSelectOption", {
|
|
171
|
+
enumerable: true,
|
|
172
|
+
get: function get() {
|
|
173
|
+
return _meetings2.SitePreferenceSelectOption;
|
|
174
|
+
}
|
|
175
|
+
});
|
|
170
176
|
_Object$defineProperty(exports, "StreamEventNames", {
|
|
171
177
|
enumerable: true,
|
|
172
178
|
get: function get() {
|
|
@@ -246,6 +252,7 @@ var _sdkAnnotationTypes = _interopRequireWildcard(require("./annotation/annotati
|
|
|
246
252
|
exports.sdkAnnotationTypes = _sdkAnnotationTypes;
|
|
247
253
|
var _MeetingInfoV = _interopRequireWildcard(require("./meeting-info/meeting-info-v2"));
|
|
248
254
|
exports.MeetingInfoV2 = _MeetingInfoV;
|
|
255
|
+
var _meetings2 = require("./meetings/meetings.types");
|
|
249
256
|
var _remoteMedia = require("./multistream/remoteMedia");
|
|
250
257
|
var _triggerProxy = _interopRequireDefault(require("./common/events/trigger-proxy"));
|
|
251
258
|
var _utils = require("./aiEnableRequest/utils");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_webexCore","require","_meetings","_interopRequireDefault","_config","_interceptors","_captchaError","_intentToJoin","_passwordError","_permission","_joinWebinarError","_reclaimHostRoleErrors","_meeting","_utilv","_joinMeeting","_webexErrors","_mediaHelpers","_CONSTANTS","_interopRequireWildcard","exports","CONSTANTS","_REACTIONS","REACTIONS","_sdkAnnotationTypes","sdkAnnotationTypes","_MeetingInfoV","MeetingInfoV2","_remoteMedia","_triggerProxy","_utils","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","_Object$defineProperty","_Object$getOwnPropertyDescriptor","registerPlugin","Meetings","config","interceptors","LocusRetryStatusInterceptor","create","LocusRouteTokenInterceptor","DataChannelAuthTokenInterceptor","_default"],"sources":["index.ts"],"sourcesContent":["/* eslint-env browser */\nimport {registerPlugin} from '@webex/webex-core';\n\nimport Meetings from './meetings';\nimport config from './config';\nimport {\n LocusRetryStatusInterceptor,\n LocusRouteTokenInterceptor,\n DataChannelAuthTokenInterceptor,\n} from './interceptors';\nimport CaptchaError from './common/errors/captcha-error';\nimport IntentToJoinError from './common/errors/intent-to-join';\nimport PasswordError from './common/errors/password-error';\nimport PermissionError from './common/errors/permission';\nimport JoinWebinarError from './common/errors/join-webinar-error';\nimport {\n ReclaimHostEmptyWrongKeyError,\n ReclaimHostIsHostAlreadyError,\n ReclaimHostNotAllowedError,\n ReclaimHostNotSupportedError,\n} from './common/errors/reclaim-host-role-errors';\nimport Meeting from './meeting';\nimport MeetingInfoUtil from './meeting-info/utilv2';\nimport JoinMeetingError from './common/errors/join-meeting';\nimport {SdpResponseTimeoutError} from './common/errors/webex-errors';\n\nregisterPlugin('meetings', Meetings, {\n config,\n interceptors: {\n LocusRetryStatusInterceptor: LocusRetryStatusInterceptor.create,\n LocusRouteTokenInterceptor: LocusRouteTokenInterceptor.create,\n DataChannelAuthTokenInterceptor: DataChannelAuthTokenInterceptor.create,\n },\n});\n\nexport {\n LocalStream,\n LocalDisplayStream,\n LocalSystemAudioStream,\n LocalStreamEventNames,\n StreamEventNames,\n RemoteStreamEventNames,\n type ServerMuteReason,\n LocalMicrophoneStreamEventNames,\n LocalCameraStreamEventNames,\n LocalMicrophoneStream,\n LocalCameraStream,\n createMicrophoneStream,\n createCameraStream,\n createCameraAndMicrophoneStreams,\n createDisplayStream,\n createDisplayStreamWithAudio,\n createDisplayMedia,\n FacingMode,\n DisplaySurface,\n PresetCameraConstraints,\n type VideoContentHint,\n type StreamState,\n} from '@webex/media-helpers';\n\nexport default Meetings;\n\nexport * as CONSTANTS from './constants';\nexport * as REACTIONS from './reactions/reactions';\nexport * as sdkAnnotationTypes from './annotation/annotation.types';\nexport * as MeetingInfoV2 from './meeting-info/meeting-info-v2';\nexport {type Reaction} from './reactions/reactions.type';\n\nexport {\n CaptchaError,\n IntentToJoinError,\n JoinMeetingError,\n PasswordError,\n PermissionError,\n ReclaimHostIsHostAlreadyError,\n ReclaimHostNotAllowedError,\n ReclaimHostNotSupportedError,\n ReclaimHostEmptyWrongKeyError,\n Meeting,\n MeetingInfoUtil,\n JoinWebinarError,\n SdpResponseTimeoutError,\n};\n\nexport {RemoteMedia} from './multistream/remoteMedia';\n\nexport {default as TriggerProxy} from './common/events/trigger-proxy';\n\nexport {getAIEnablementApprover} from './aiEnableRequest/utils';\n"],"mappings":"
|
|
1
|
+
{"version":3,"names":["_webexCore","require","_meetings","_interopRequireDefault","_config","_interceptors","_captchaError","_intentToJoin","_passwordError","_permission","_joinWebinarError","_reclaimHostRoleErrors","_meeting","_utilv","_joinMeeting","_webexErrors","_mediaHelpers","_CONSTANTS","_interopRequireWildcard","exports","CONSTANTS","_REACTIONS","REACTIONS","_sdkAnnotationTypes","sdkAnnotationTypes","_MeetingInfoV","MeetingInfoV2","_meetings2","_remoteMedia","_triggerProxy","_utils","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","_Object$defineProperty","_Object$getOwnPropertyDescriptor","registerPlugin","Meetings","config","interceptors","LocusRetryStatusInterceptor","create","LocusRouteTokenInterceptor","DataChannelAuthTokenInterceptor","_default"],"sources":["index.ts"],"sourcesContent":["/* eslint-env browser */\nimport {registerPlugin} from '@webex/webex-core';\n\nimport Meetings from './meetings';\nimport config from './config';\nimport {\n LocusRetryStatusInterceptor,\n LocusRouteTokenInterceptor,\n DataChannelAuthTokenInterceptor,\n} from './interceptors';\nimport CaptchaError from './common/errors/captcha-error';\nimport IntentToJoinError from './common/errors/intent-to-join';\nimport PasswordError from './common/errors/password-error';\nimport PermissionError from './common/errors/permission';\nimport JoinWebinarError from './common/errors/join-webinar-error';\nimport {\n ReclaimHostEmptyWrongKeyError,\n ReclaimHostIsHostAlreadyError,\n ReclaimHostNotAllowedError,\n ReclaimHostNotSupportedError,\n} from './common/errors/reclaim-host-role-errors';\nimport Meeting from './meeting';\nimport MeetingInfoUtil from './meeting-info/utilv2';\nimport JoinMeetingError from './common/errors/join-meeting';\nimport {SdpResponseTimeoutError} from './common/errors/webex-errors';\n\nregisterPlugin('meetings', Meetings, {\n config,\n interceptors: {\n LocusRetryStatusInterceptor: LocusRetryStatusInterceptor.create,\n LocusRouteTokenInterceptor: LocusRouteTokenInterceptor.create,\n DataChannelAuthTokenInterceptor: DataChannelAuthTokenInterceptor.create,\n },\n});\n\nexport {\n LocalStream,\n LocalDisplayStream,\n LocalSystemAudioStream,\n LocalStreamEventNames,\n StreamEventNames,\n RemoteStreamEventNames,\n type ServerMuteReason,\n LocalMicrophoneStreamEventNames,\n LocalCameraStreamEventNames,\n LocalMicrophoneStream,\n LocalCameraStream,\n createMicrophoneStream,\n createCameraStream,\n createCameraAndMicrophoneStreams,\n createDisplayStream,\n createDisplayStreamWithAudio,\n createDisplayMedia,\n FacingMode,\n DisplaySurface,\n PresetCameraConstraints,\n type VideoContentHint,\n type StreamState,\n} from '@webex/media-helpers';\n\nexport default Meetings;\n\nexport * as CONSTANTS from './constants';\nexport * as REACTIONS from './reactions/reactions';\nexport * as sdkAnnotationTypes from './annotation/annotation.types';\nexport * as MeetingInfoV2 from './meeting-info/meeting-info-v2';\nexport {type Reaction} from './reactions/reactions.type';\nexport {SitePreferenceSelectOption} from './meetings/meetings.types';\nexport type {\n FetchSitePreferencesMeViaSiteOptions,\n SitePreferencesResponse,\n} from './meetings/meetings.types';\n\nexport {\n CaptchaError,\n IntentToJoinError,\n JoinMeetingError,\n PasswordError,\n PermissionError,\n ReclaimHostIsHostAlreadyError,\n ReclaimHostNotAllowedError,\n ReclaimHostNotSupportedError,\n ReclaimHostEmptyWrongKeyError,\n Meeting,\n MeetingInfoUtil,\n JoinWebinarError,\n SdpResponseTimeoutError,\n};\n\nexport {RemoteMedia} from './multistream/remoteMedia';\n\nexport {default as TriggerProxy} from './common/events/trigger-proxy';\n\nexport {getAIEnablementApprover} from './aiEnableRequest/utils';\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -31,14 +31,12 @@ var LocusRetryStatusInterceptor = exports.default = /*#__PURE__*/function (_Inte
|
|
|
31
31
|
(0, _inherits2.default)(LocusRetryStatusInterceptor, _Interceptor);
|
|
32
32
|
return (0, _createClass2.default)(LocusRetryStatusInterceptor, [{
|
|
33
33
|
key: "onResponseError",
|
|
34
|
-
value:
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
*/
|
|
41
|
-
function onResponseError(options, reason) {
|
|
34
|
+
value: function onResponseError(options, reason) {
|
|
35
|
+
// Don't retry /hashtree or /sync calls for 429 or any 5xx — during a sync storm retries
|
|
36
|
+
// make things worse. The normal sync timers will handle recovery for these endpoints.
|
|
37
|
+
if ((reason.statusCode === 429 || reason.statusCode >= 500) && LocusRetryStatusInterceptor.isLocusHashtreeOrSync(options.uri)) {
|
|
38
|
+
return _promise.default.reject(reason);
|
|
39
|
+
}
|
|
42
40
|
if ((reason.statusCode === 503 || reason.statusCode === 429) && options.uri.includes('locus')) {
|
|
43
41
|
var hasRetriedLocusRequest = rateLimitExpiryTime.get(this);
|
|
44
42
|
var retryAfterTime = options.headers['retry-after'] || 2000;
|
|
@@ -87,6 +85,23 @@ var LocusRetryStatusInterceptor = exports.default = /*#__PURE__*/function (_Inte
|
|
|
87
85
|
webex: this
|
|
88
86
|
});
|
|
89
87
|
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Check whether a URI is a Locus /hashtree or /sync endpoint.
|
|
91
|
+
* @param {string} uri
|
|
92
|
+
* @returns {boolean}
|
|
93
|
+
*/
|
|
94
|
+
}, {
|
|
95
|
+
key: "isLocusHashtreeOrSync",
|
|
96
|
+
value: function isLocusHashtreeOrSync(uri) {
|
|
97
|
+
try {
|
|
98
|
+
var _URL = new URL(uri),
|
|
99
|
+
pathname = _URL.pathname;
|
|
100
|
+
return pathname.includes('/locus/') && (pathname.endsWith('/hashtree') || pathname.endsWith('/sync'));
|
|
101
|
+
} catch (_unused) {
|
|
102
|
+
return false;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
90
105
|
}]);
|
|
91
106
|
}(_httpCore.Interceptor);
|
|
92
107
|
//# sourceMappingURL=locusRetry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_httpCore","require","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","rateLimitExpiryTime","_weakMap","LocusRetryStatusInterceptor","exports","_Interceptor","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","onResponseError","options","reason","statusCode","uri","includes","hasRetriedLocusRequest","get","retryAfterTime","headers","set","
|
|
1
|
+
{"version":3,"names":["_httpCore","require","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","rateLimitExpiryTime","_weakMap","LocusRetryStatusInterceptor","exports","_Interceptor","_classCallCheck2","arguments","_inherits2","_createClass2","key","value","onResponseError","options","reason","statusCode","isLocusHashtreeOrSync","uri","_promise","reject","includes","hasRetriedLocusRequest","get","retryAfterTime","headers","set","handleRetryRequestLocusServiceError","_this","resolve","timeout","setTimeout","clearTimeout","webex","request","method","body","then","catch","create","_URL","URL","pathname","endsWith","_unused","Interceptor"],"sources":["locusRetry.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2020 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Interceptor} from '@webex/http-core';\n\nconst rateLimitExpiryTime = new WeakMap();\n/**\n * @class\n */\nexport default class LocusRetryStatusInterceptor extends Interceptor {\n /**\n * @returns {LocusRetryStatusInterceptor}\n */\n static create() {\n // @ts-ignore\n return new LocusRetryStatusInterceptor({webex: this});\n }\n\n /**\n * Check whether a URI is a Locus /hashtree or /sync endpoint.\n * @param {string} uri\n * @returns {boolean}\n */\n private static isLocusHashtreeOrSync(uri: string): boolean {\n try {\n const {pathname} = new URL(uri);\n\n return (\n pathname.includes('/locus/') &&\n (pathname.endsWith('/hashtree') || pathname.endsWith('/sync'))\n );\n } catch {\n return false;\n }\n }\n\n onResponseError(options, reason) {\n // Don't retry /hashtree or /sync calls for 429 or any 5xx — during a sync storm retries\n // make things worse. The normal sync timers will handle recovery for these endpoints.\n if (\n (reason.statusCode === 429 || reason.statusCode >= 500) &&\n LocusRetryStatusInterceptor.isLocusHashtreeOrSync(options.uri)\n ) {\n return Promise.reject(reason);\n }\n\n if ((reason.statusCode === 503 || reason.statusCode === 429) && options.uri.includes('locus')) {\n const hasRetriedLocusRequest = rateLimitExpiryTime.get(this);\n const retryAfterTime = options.headers['retry-after'] || 2000;\n\n if (hasRetriedLocusRequest) {\n rateLimitExpiryTime.set(this, false);\n\n return Promise.reject(options);\n }\n rateLimitExpiryTime.set(this, true);\n\n return this.handleRetryRequestLocusServiceError(options, retryAfterTime);\n }\n\n return Promise.reject(reason);\n }\n\n /**\n * Handle retries for locus service unavailable errors\n * @param {Object} options associated with the request\n * @param {number} retryAfterTime retry after time in milliseconds\n * @returns {Promise}\n */\n handleRetryRequestLocusServiceError(options, retryAfterTime) {\n return new Promise((resolve, reject) => {\n const timeout = setTimeout(() => {\n clearTimeout(timeout);\n\n // @ts-ignore\n this.webex\n .request({\n method: options.method,\n uri: options.uri,\n body: options.body,\n })\n .then(resolve)\n .catch(reject);\n }, retryAfterTime);\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAIA,IAAAA,SAAA,GAAAC,OAAA;AAA6C,SAAAC,WAAAC,CAAA,EAAAC,CAAA,EAAAC,CAAA,WAAAD,CAAA,OAAAE,gBAAA,CAAAC,OAAA,EAAAH,CAAA,OAAAI,2BAAA,CAAAD,OAAA,EAAAJ,CAAA,EAAAM,yBAAA,KAAAC,kBAAA,CAAAN,CAAA,EAAAC,CAAA,YAAAC,gBAAA,CAAAC,OAAA,EAAAJ,CAAA,EAAAQ,WAAA,IAAAP,CAAA,CAAAQ,KAAA,CAAAT,CAAA,EAAAE,CAAA;AAAA,SAAAI,0BAAA,cAAAN,CAAA,IAAAU,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAN,kBAAA,CAAAG,OAAA,iCAAAV,CAAA,aAAAM,yBAAA,YAAAA,0BAAA,aAAAN,CAAA,UAJ7C;AACA;AACA;AAIA,IAAMc,mBAAmB,GAAG,IAAAC,QAAA,CAAAX,OAAA,CAAY,CAAC;AACzC;AACA;AACA;AAFA,IAGqBY,2BAA2B,GAAAC,OAAA,CAAAb,OAAA,0BAAAc,YAAA;EAAA,SAAAF,4BAAA;IAAA,IAAAG,gBAAA,CAAAf,OAAA,QAAAY,2BAAA;IAAA,OAAAjB,UAAA,OAAAiB,2BAAA,EAAAI,SAAA;EAAA;EAAA,IAAAC,UAAA,CAAAjB,OAAA,EAAAY,2BAAA,EAAAE,YAAA;EAAA,WAAAI,aAAA,CAAAlB,OAAA,EAAAY,2BAAA;IAAAO,GAAA;IAAAC,KAAA,EA2B9C,SAAAC,eAAeA,CAACC,OAAO,EAAEC,MAAM,EAAE;MAC/B;MACA;MACA,IACE,CAACA,MAAM,CAACC,UAAU,KAAK,GAAG,IAAID,MAAM,CAACC,UAAU,IAAI,GAAG,KACtDZ,2BAA2B,CAACa,qBAAqB,CAACH,OAAO,CAACI,GAAG,CAAC,EAC9D;QACA,OAAOC,QAAA,CAAA3B,OAAA,CAAQ4B,MAAM,CAACL,MAAM,CAAC;MAC/B;MAEA,IAAI,CAACA,MAAM,CAACC,UAAU,KAAK,GAAG,IAAID,MAAM,CAACC,UAAU,KAAK,GAAG,KAAKF,OAAO,CAACI,GAAG,CAACG,QAAQ,CAAC,OAAO,CAAC,EAAE;QAC7F,IAAMC,sBAAsB,GAAGpB,mBAAmB,CAACqB,GAAG,CAAC,IAAI,CAAC;QAC5D,IAAMC,cAAc,GAAGV,OAAO,CAACW,OAAO,CAAC,aAAa,CAAC,IAAI,IAAI;QAE7D,IAAIH,sBAAsB,EAAE;UAC1BpB,mBAAmB,CAACwB,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC;UAEpC,OAAOP,QAAA,CAAA3B,OAAA,CAAQ4B,MAAM,CAACN,OAAO,CAAC;QAChC;QACAZ,mBAAmB,CAACwB,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;QAEnC,OAAO,IAAI,CAACC,mCAAmC,CAACb,OAAO,EAAEU,cAAc,CAAC;MAC1E;MAEA,OAAOL,QAAA,CAAA3B,OAAA,CAAQ4B,MAAM,CAACL,MAAM,CAAC;IAC/B;;IAEA;AACF;AACA;AACA;AACA;AACA;EALE;IAAAJ,GAAA;IAAAC,KAAA,EAMA,SAAAe,mCAAmCA,CAACb,OAAO,EAAEU,cAAc,EAAE;MAAA,IAAAI,KAAA;MAC3D,OAAO,IAAAT,QAAA,CAAA3B,OAAA,CAAY,UAACqC,OAAO,EAAET,MAAM,EAAK;QACtC,IAAMU,OAAO,GAAGC,UAAU,CAAC,YAAM;UAC/BC,YAAY,CAACF,OAAO,CAAC;;UAErB;UACAF,KAAI,CAACK,KAAK,CACPC,OAAO,CAAC;YACPC,MAAM,EAAErB,OAAO,CAACqB,MAAM;YACtBjB,GAAG,EAAEJ,OAAO,CAACI,GAAG;YAChBkB,IAAI,EAAEtB,OAAO,CAACsB;UAChB,CAAC,CAAC,CACDC,IAAI,CAACR,OAAO,CAAC,CACbS,KAAK,CAAClB,MAAM,CAAC;QAClB,CAAC,EAAEI,cAAc,CAAC;MACpB,CAAC,CAAC;IACJ;EAAC;IAAAb,GAAA;IAAAC,KAAA;IA3ED;AACF;AACA;IACE,SAAO2B,MAAMA,CAAA,EAAG;MACd;MACA,OAAO,IAAInC,2BAA2B,CAAC;QAAC6B,KAAK,EAAE;MAAI,CAAC,CAAC;IACvD;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAtB,GAAA;IAAAC,KAAA,EAKA,SAAeK,qBAAqBA,CAACC,GAAW,EAAW;MACzD,IAAI;QACF,IAAAsB,IAAA,GAAmB,IAAIC,GAAG,CAACvB,GAAG,CAAC;UAAxBwB,QAAQ,GAAAF,IAAA,CAARE,QAAQ;QAEf,OACEA,QAAQ,CAACrB,QAAQ,CAAC,SAAS,CAAC,KAC3BqB,QAAQ,CAACC,QAAQ,CAAC,WAAW,CAAC,IAAID,QAAQ,CAACC,QAAQ,CAAC,OAAO,CAAC,CAAC;MAElE,CAAC,CAAC,OAAAC,OAAA,EAAM;QACN,OAAO,KAAK;MACd;IACF;EAAC;AAAA,EAzBsDC,qBAAW","ignoreList":[]}
|
|
@@ -10,6 +10,7 @@ var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/pr
|
|
|
10
10
|
var _webexCore = require("@webex/webex-core");
|
|
11
11
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
12
12
|
var _constants = require("../constants");
|
|
13
|
+
var _util = _interopRequireDefault(require("../meeting/util"));
|
|
13
14
|
var _collection = _interopRequireDefault(require("./collection"));
|
|
14
15
|
/*!
|
|
15
16
|
* Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.
|
|
@@ -212,6 +213,7 @@ var SimultaneousInterpretation = _webexCore.WebexPlugin.extend({
|
|
|
212
213
|
* @returns {Promise}
|
|
213
214
|
*/
|
|
214
215
|
updateInterpreters: function updateInterpreters(interpreters) {
|
|
216
|
+
var meeting = this.webex.meetings.meetingCollection.getByKey('locusUrl', this.locusUrl);
|
|
215
217
|
return this.request({
|
|
216
218
|
method: _constants.HTTP_VERBS.PATCH,
|
|
217
219
|
uri: "".concat(this.locusUrl, "/controls"),
|
|
@@ -220,6 +222,9 @@ var SimultaneousInterpretation = _webexCore.WebexPlugin.extend({
|
|
|
220
222
|
interpreters: interpreters
|
|
221
223
|
}
|
|
222
224
|
}
|
|
225
|
+
}).then(function (response) {
|
|
226
|
+
_util.default.updateLocusFromApiResponse(meeting, response);
|
|
227
|
+
return response;
|
|
223
228
|
}).catch(function (error) {
|
|
224
229
|
_loggerProxy.default.logger.error('Meeting:interpretation#updateInterpreters failed', error);
|
|
225
230
|
throw error;
|
|
@@ -236,6 +241,7 @@ var SimultaneousInterpretation = _webexCore.WebexPlugin.extend({
|
|
|
236
241
|
if (!this.selfParticipantId) {
|
|
237
242
|
return _promise.default.reject(new Error('Missing self participant id'));
|
|
238
243
|
}
|
|
244
|
+
var meeting = this.webex.meetings.meetingCollection.getByKey('locusUrl', this.locusUrl);
|
|
239
245
|
return this.request({
|
|
240
246
|
method: _constants.HTTP_VERBS.PATCH,
|
|
241
247
|
uri: "".concat(this.locusUrl, "/participant/").concat(this.selfParticipantId, "/controls"),
|
|
@@ -247,6 +253,9 @@ var SimultaneousInterpretation = _webexCore.WebexPlugin.extend({
|
|
|
247
253
|
order: this.order
|
|
248
254
|
}
|
|
249
255
|
}
|
|
256
|
+
}).then(function (response) {
|
|
257
|
+
_util.default.updateLocusFromApiResponse(meeting, response);
|
|
258
|
+
return response;
|
|
250
259
|
}).catch(function (error) {
|
|
251
260
|
_loggerProxy.default.logger.error('Meeting:interpretation#changeDirection failed', error);
|
|
252
261
|
throw error;
|
|
@@ -372,7 +381,7 @@ var SimultaneousInterpretation = _webexCore.WebexPlugin.extend({
|
|
|
372
381
|
throw error;
|
|
373
382
|
});
|
|
374
383
|
},
|
|
375
|
-
version: "3.12.0-next.
|
|
384
|
+
version: "3.12.0-next.61"
|
|
376
385
|
});
|
|
377
386
|
var _default = exports.default = SimultaneousInterpretation;
|
|
378
387
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_webexCore","require","_loggerProxy","_interopRequireDefault","_constants","_collection","SimultaneousInterpretation","WebexPlugin","extend","namespace","MEETINGS","collections","siLanguages","SILanguageCollection","props","locusUrl","approvalUrl","originalLanguage","sourceLanguage","targetLanguage","receiveLanguage","order","isActive","selfParticipantId","canManageInterpreters","supportLanguages","meetingSIEnabled","hostSIEnabled","selfIsInterpreter","derived","shouldQuerySupportLanguages","cache","deps","fn","initialize","_this","listenTo","querySupportLanguages","listenToHandoffRequests","cleanUp","stopListening","locusUrlUpdate","set","approvalUrlUpdate","updateCanManageInterpreters","updateHostSIEnabled","updateMeetingSIEnabled","updateInterpretation","interpretation","updateSelfInterpretation","_ref","preTargetLanguage","_ref2","getTargetLanguageCode","_this$siLanguages$get","get","languageCode","_this2","request","method","HTTP_VERBS","GET","uri","concat","then","result","_result$body","body","trigger","INTERPRETATION","EVENTS","SUPPORT_LANGUAGES_UPDATE","catch","error","LoggerProxy","logger","getInterpreters","updateInterpreters","interpreters","PATCH","changeDirection","_promise","default","reject","Error","_this3","webex","internal","mercury","LOCUSEVENT","APPROVAL_REQUEST","event","_event$data","_event$data$approval","data","approval","resourceType","RESOURCE_TYPE","_receivers$","_event$data$approval2","receivers","initiator","actionType","url","receiverId","participantId","isReceiver","senderId","isSender","HANDOFF_REQUESTS_ARRIVED","handoffInterpreter","POST","ACTION_TYPE","OFFERED","requestHandoff","REQUESTED","acceptRequest","PUT","ACCEPTED","declineRequest","DECLINED","version","_default","exports"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {HTTP_VERBS, INTERPRETATION, LOCUSEVENT, MEETINGS} from '../constants';\n\nimport SILanguageCollection from './collection';\n\n/**\n * @class SimultaneousInterpretation\n */\nconst SimultaneousInterpretation = WebexPlugin.extend({\n namespace: MEETINGS,\n collections: {\n siLanguages: SILanguageCollection,\n },\n\n props: {\n locusUrl: 'string', // appears current meeting's locus url\n approvalUrl: 'string', // appears current meeting's approval url for handoff between interpreters\n originalLanguage: 'string', // appears current meeting's original language\n sourceLanguage: 'string', // appears self interpreter's source language\n targetLanguage: 'string', // appears self interpreter's target language\n receiveLanguage: 'string', // appears self's receive language\n order: 'number', // appears the order of self as interpreter\n isActive: 'boolean', // appears self is interpreter and is active\n selfParticipantId: 'string', // appears the self participant id\n canManageInterpreters: 'boolean', // appears the ability to manage interpreters\n supportLanguages: 'array', // appears the support languages\n meetingSIEnabled: 'boolean', // appears the meeting support SI feature\n hostSIEnabled: 'boolean', // appears the meeting host/interpreter feature of SI enabled\n selfIsInterpreter: 'boolean', // current user is interpreter or not\n },\n derived: {\n shouldQuerySupportLanguages: {\n cache: false,\n deps: ['canManageInterpreters', 'hostSIEnabled', 'locusUrl'],\n /**\n * Returns should query support languages or not\n * @returns {boolean}\n */\n fn() {\n return !!(this.canManageInterpreters && this.hostSIEnabled && this.locusUrl);\n },\n },\n },\n /**\n * initialize for interpretation\n * @returns {void}\n */\n initialize() {\n this.listenTo(this, 'change:shouldQuerySupportLanguages', () => {\n if (this.shouldQuerySupportLanguages && !this.supportLanguages) {\n this.querySupportLanguages();\n }\n });\n this.listenToHandoffRequests();\n },\n\n /**\n * Calls this to clean up listeners\n * @returns {void}\n */\n cleanUp() {\n this.stopListening();\n },\n /**\n * Update the current locus url of the meeting\n * @param {string} locusUrl // locus url\n * @returns {void}\n */\n locusUrlUpdate(locusUrl) {\n this.set('locusUrl', locusUrl);\n },\n /**\n * Update the approval url for handoff\n * @param {string} approvalUrl // approval url\n * @returns {void}\n */\n approvalUrlUpdate(approvalUrl) {\n this.set('approvalUrl', approvalUrl);\n },\n /**\n * Update whether self has capability to manage interpreters (only host can manage it)\n * @param {boolean} canManageInterpreters\n * @returns {void}\n */\n updateCanManageInterpreters(canManageInterpreters) {\n this.set('canManageInterpreters', canManageInterpreters);\n },\n /**\n * Update whether the meeting's host si is enabled or not\n * @param {boolean} hostSIEnabled\n * @returns {void}\n */\n updateHostSIEnabled(hostSIEnabled) {\n this.set('hostSIEnabled', hostSIEnabled);\n },\n\n /**\n * Update whether the meeting support SI feature or not from meeting info\n * @param {boolean} meetingSIEnabled\n * @param {boolean} selfIsInterpreter\n * @returns {void}\n */\n updateMeetingSIEnabled(meetingSIEnabled: boolean, selfIsInterpreter): void {\n this.set('meetingSIEnabled', meetingSIEnabled);\n this.set('selfIsInterpreter', selfIsInterpreter);\n },\n\n /**\n * Update the interpretation languages channels which user can choose to subscribe\n * @param {Object} interpretation\n * @returns {void}\n */\n updateInterpretation(interpretation) {\n this.siLanguages.set(interpretation?.siLanguages || []);\n },\n /**\n * Update self's interpretation information (self is interpreter)\n * @param {Object} interpretation\n * @param {String} selfParticipantId\n * @returns {bool} is target language changed\n */\n updateSelfInterpretation({interpretation, selfParticipantId}) {\n const preTargetLanguage = this.targetLanguage;\n const {originalLanguage, sourceLanguage, order, isActive, targetLanguage, receiveLanguage} =\n interpretation || {};\n this.set({originalLanguage, sourceLanguage, order, isActive, targetLanguage, receiveLanguage});\n this.set('selfParticipantId', selfParticipantId);\n this.set('selfIsInterpreter', !!targetLanguage);\n\n return !!(preTargetLanguage !== targetLanguage);\n },\n\n /**\n * Get the language code of the interpreter target language\n * @returns {number}\n */\n getTargetLanguageCode() {\n if (this.selfIsInterpreter) {\n return this.siLanguages.get(this.targetLanguage)?.languageCode;\n }\n\n return 0;\n },\n\n /**\n * query interpretation languages\n * @returns {Promise}\n */\n querySupportLanguages() {\n return this.request({\n method: HTTP_VERBS.GET,\n uri: `${this.locusUrl}/languages/interpretation`,\n })\n .then((result) => {\n this.set('supportLanguages', result.body?.siLanguages);\n this.trigger(INTERPRETATION.EVENTS.SUPPORT_LANGUAGES_UPDATE);\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#querySupportLanguages failed', error);\n throw error;\n });\n },\n /**\n * get interpreters of the meeting\n * @returns {Promise}\n */\n getInterpreters() {\n return this.request({\n method: HTTP_VERBS.GET,\n uri: `${this.locusUrl}/interpretation/interpreters`,\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#getInterpreters failed', error);\n throw error;\n });\n },\n /**\n * update interpreters of the meeting\n * @param {Array} interpreters\n * @returns {Promise}\n */\n updateInterpreters(interpreters) {\n return this.request({\n method: HTTP_VERBS.PATCH,\n uri: `${this.locusUrl}/controls`,\n body: {\n interpretation: {\n interpreters,\n },\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#updateInterpreters failed', error);\n throw error;\n });\n },\n /**\n * Change direction of interpretation for an interpreter participant\n * @returns {Promise}\n */\n changeDirection() {\n if (!this.sourceLanguage || !this.targetLanguage) {\n return Promise.reject(new Error('Missing sourceLanguage or targetLanguage'));\n }\n\n if (!this.selfParticipantId) {\n return Promise.reject(new Error('Missing self participant id'));\n }\n\n return this.request({\n method: HTTP_VERBS.PATCH,\n uri: `${this.locusUrl}/participant/${this.selfParticipantId}/controls`,\n body: {\n interpretation: {\n sourceLanguage: this.targetLanguage,\n targetLanguage: this.sourceLanguage,\n isActive: this.isActive,\n order: this.order,\n },\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#changeDirection failed', error);\n throw error;\n });\n },\n /**\n * Sets up a listener for handoff requests from mercury\n * @returns {void}\n */\n listenToHandoffRequests() {\n this.listenTo(this.webex.internal.mercury, `event:${LOCUSEVENT.APPROVAL_REQUEST}`, (event) => {\n if (event?.data?.approval?.resourceType === INTERPRETATION.RESOURCE_TYPE) {\n const {receivers, initiator, actionType, url} = event.data.approval;\n const receiverId = receivers?.[0]?.participantId;\n const isReceiver = !!receiverId && receiverId === this.selfParticipantId;\n const senderId = initiator?.participantId;\n const isSender = !!senderId && senderId === this.selfParticipantId;\n if (!isReceiver && !isSender) {\n return;\n }\n this.trigger(INTERPRETATION.EVENTS.HANDOFF_REQUESTS_ARRIVED, {\n actionType,\n isReceiver,\n isSender,\n senderId,\n receiverId,\n url,\n });\n }\n });\n },\n /**\n * handoff the active interpreter role to another interpreter in same group, only the interpreter is allowed to call this api\n * @param {string} participantId the participant id you want to hand off\n * @returns {Promise}\n */\n handoffInterpreter(participantId) {\n if (!participantId) {\n return Promise.reject(new Error('Missing target participant id'));\n }\n if (!this.approvalUrl) {\n return Promise.reject(new Error('Missing approval url'));\n }\n\n return this.request({\n method: HTTP_VERBS.POST,\n uri: this.approvalUrl,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.OFFERED,\n resourceType: INTERPRETATION.RESOURCE_TYPE,\n receivers: [\n {\n participantId,\n },\n ],\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#handoffInterpreter failed', error);\n throw error;\n });\n },\n /**\n * the in-active interpreter request to hand off the active role to self\n * @returns {Promise}\n */\n requestHandoff() {\n if (!this.approvalUrl) {\n return Promise.reject(new Error('Missing approval url'));\n }\n\n return this.request({\n method: HTTP_VERBS.POST,\n uri: this.approvalUrl,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.REQUESTED,\n resourceType: INTERPRETATION.RESOURCE_TYPE,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#requestHandoff failed', error);\n throw error;\n });\n },\n /**\n * accept the request of handoff\n * @param {String} url the url get from last approval event\n * @returns {Promise}\n */\n acceptRequest(url) {\n if (!url) {\n return Promise.reject(new Error('Missing the url to accept'));\n }\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: url,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.ACCEPTED,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#acceptRequest failed', error);\n throw error;\n });\n },\n /**\n * decline the request of handoff\n * @param {String} url the url get from last approval event\n * @returns {Promise}\n */\n declineRequest(url) {\n if (!url) {\n return Promise.reject(new Error('Missing the url to decline'));\n }\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: url,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.DECLINED,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#declineRequest failed', error);\n throw error;\n });\n },\n});\n\nexport default SimultaneousInterpretation;\n"],"mappings":";;;;;;;;;AAGA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAEA,IAAAI,WAAA,GAAAF,sBAAA,CAAAF,OAAA;AAPA;AACA;AACA;;AAOA;AACA;AACA;AACA,IAAMK,0BAA0B,GAAGC,sBAAW,CAACC,MAAM,CAAC;EACpDC,SAAS,EAAEC,mBAAQ;EACnBC,WAAW,EAAE;IACXC,WAAW,EAAEC;EACf,CAAC;EAEDC,KAAK,EAAE;IACLC,QAAQ,EAAE,QAAQ;IAAE;IACpBC,WAAW,EAAE,QAAQ;IAAE;IACvBC,gBAAgB,EAAE,QAAQ;IAAE;IAC5BC,cAAc,EAAE,QAAQ;IAAE;IAC1BC,cAAc,EAAE,QAAQ;IAAE;IAC1BC,eAAe,EAAE,QAAQ;IAAE;IAC3BC,KAAK,EAAE,QAAQ;IAAE;IACjBC,QAAQ,EAAE,SAAS;IAAE;IACrBC,iBAAiB,EAAE,QAAQ;IAAE;IAC7BC,qBAAqB,EAAE,SAAS;IAAE;IAClCC,gBAAgB,EAAE,OAAO;IAAE;IAC3BC,gBAAgB,EAAE,SAAS;IAAE;IAC7BC,aAAa,EAAE,SAAS;IAAE;IAC1BC,iBAAiB,EAAE,SAAS,CAAE;EAChC,CAAC;EACDC,OAAO,EAAE;IACPC,2BAA2B,EAAE;MAC3BC,KAAK,EAAE,KAAK;MACZC,IAAI,EAAE,CAAC,uBAAuB,EAAE,eAAe,EAAE,UAAU,CAAC;MAC5D;AACN;AACA;AACA;MACMC,EAAE,WAAFA,EAAEA,CAAA,EAAG;QACH,OAAO,CAAC,EAAE,IAAI,CAACT,qBAAqB,IAAI,IAAI,CAACG,aAAa,IAAI,IAAI,CAACZ,QAAQ,CAAC;MAC9E;IACF;EACF,CAAC;EACD;AACF;AACA;AACA;EACEmB,UAAU,WAAVA,UAAUA,CAAA,EAAG;IAAA,IAAAC,KAAA;IACX,IAAI,CAACC,QAAQ,CAAC,IAAI,EAAE,oCAAoC,EAAE,YAAM;MAC9D,IAAID,KAAI,CAACL,2BAA2B,IAAI,CAACK,KAAI,CAACV,gBAAgB,EAAE;QAC9DU,KAAI,CAACE,qBAAqB,CAAC,CAAC;MAC9B;IACF,CAAC,CAAC;IACF,IAAI,CAACC,uBAAuB,CAAC,CAAC;EAChC,CAAC;EAED;AACF;AACA;AACA;EACEC,OAAO,WAAPA,OAAOA,CAAA,EAAG;IACR,IAAI,CAACC,aAAa,CAAC,CAAC;EACtB,CAAC;EACD;AACF;AACA;AACA;AACA;EACEC,cAAc,WAAdA,cAAcA,CAAC1B,QAAQ,EAAE;IACvB,IAAI,CAAC2B,GAAG,CAAC,UAAU,EAAE3B,QAAQ,CAAC;EAChC,CAAC;EACD;AACF;AACA;AACA;AACA;EACE4B,iBAAiB,WAAjBA,iBAAiBA,CAAC3B,WAAW,EAAE;IAC7B,IAAI,CAAC0B,GAAG,CAAC,aAAa,EAAE1B,WAAW,CAAC;EACtC,CAAC;EACD;AACF;AACA;AACA;AACA;EACE4B,2BAA2B,WAA3BA,2BAA2BA,CAACpB,qBAAqB,EAAE;IACjD,IAAI,CAACkB,GAAG,CAAC,uBAAuB,EAAElB,qBAAqB,CAAC;EAC1D,CAAC;EACD;AACF;AACA;AACA;AACA;EACEqB,mBAAmB,WAAnBA,mBAAmBA,CAAClB,aAAa,EAAE;IACjC,IAAI,CAACe,GAAG,CAAC,eAAe,EAAEf,aAAa,CAAC;EAC1C,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEmB,sBAAsB,WAAtBA,sBAAsBA,CAACpB,gBAAyB,EAAEE,iBAAiB,EAAQ;IACzE,IAAI,CAACc,GAAG,CAAC,kBAAkB,EAAEhB,gBAAgB,CAAC;IAC9C,IAAI,CAACgB,GAAG,CAAC,mBAAmB,EAAEd,iBAAiB,CAAC;EAClD,CAAC;EAED;AACF;AACA;AACA;AACA;EACEmB,oBAAoB,WAApBA,oBAAoBA,CAACC,cAAc,EAAE;IACnC,IAAI,CAACpC,WAAW,CAAC8B,GAAG,CAAC,CAAAM,cAAc,aAAdA,cAAc,uBAAdA,cAAc,CAAEpC,WAAW,KAAI,EAAE,CAAC;EACzD,CAAC;EACD;AACF;AACA;AACA;AACA;AACA;EACEqC,wBAAwB,WAAxBA,wBAAwBA,CAAAC,IAAA,EAAsC;IAAA,IAApCF,cAAc,GAAAE,IAAA,CAAdF,cAAc;MAAEzB,iBAAiB,GAAA2B,IAAA,CAAjB3B,iBAAiB;IACzD,IAAM4B,iBAAiB,GAAG,IAAI,CAAChC,cAAc;IAC7C,IAAAiC,KAAA,GACEJ,cAAc,IAAI,CAAC,CAAC;MADf/B,gBAAgB,GAAAmC,KAAA,CAAhBnC,gBAAgB;MAAEC,cAAc,GAAAkC,KAAA,CAAdlC,cAAc;MAAEG,KAAK,GAAA+B,KAAA,CAAL/B,KAAK;MAAEC,QAAQ,GAAA8B,KAAA,CAAR9B,QAAQ;MAAEH,cAAc,GAAAiC,KAAA,CAAdjC,cAAc;MAAEC,eAAe,GAAAgC,KAAA,CAAfhC,eAAe;IAEzF,IAAI,CAACsB,GAAG,CAAC;MAACzB,gBAAgB,EAAhBA,gBAAgB;MAAEC,cAAc,EAAdA,cAAc;MAAEG,KAAK,EAALA,KAAK;MAAEC,QAAQ,EAARA,QAAQ;MAAEH,cAAc,EAAdA,cAAc;MAAEC,eAAe,EAAfA;IAAe,CAAC,CAAC;IAC9F,IAAI,CAACsB,GAAG,CAAC,mBAAmB,EAAEnB,iBAAiB,CAAC;IAChD,IAAI,CAACmB,GAAG,CAAC,mBAAmB,EAAE,CAAC,CAACvB,cAAc,CAAC;IAE/C,OAAO,CAAC,EAAEgC,iBAAiB,KAAKhC,cAAc,CAAC;EACjD,CAAC;EAED;AACF;AACA;AACA;EACEkC,qBAAqB,WAArBA,qBAAqBA,CAAA,EAAG;IACtB,IAAI,IAAI,CAACzB,iBAAiB,EAAE;MAAA,IAAA0B,qBAAA;MAC1B,QAAAA,qBAAA,GAAO,IAAI,CAAC1C,WAAW,CAAC2C,GAAG,CAAC,IAAI,CAACpC,cAAc,CAAC,cAAAmC,qBAAA,uBAAzCA,qBAAA,CAA2CE,YAAY;IAChE;IAEA,OAAO,CAAC;EACV,CAAC;EAED;AACF;AACA;AACA;EACEnB,qBAAqB,WAArBA,qBAAqBA,CAAA,EAAG;IAAA,IAAAoB,MAAA;IACtB,OAAO,IAAI,CAACC,OAAO,CAAC;MAClBC,MAAM,EAAEC,qBAAU,CAACC,GAAG;MACtBC,GAAG,KAAAC,MAAA,CAAK,IAAI,CAAChD,QAAQ;IACvB,CAAC,CAAC,CACCiD,IAAI,CAAC,UAACC,MAAM,EAAK;MAAA,IAAAC,YAAA;MAChBT,MAAI,CAACf,GAAG,CAAC,kBAAkB,GAAAwB,YAAA,GAAED,MAAM,CAACE,IAAI,cAAAD,YAAA,uBAAXA,YAAA,CAAatD,WAAW,CAAC;MACtD6C,MAAI,CAACW,OAAO,CAACC,yBAAc,CAACC,MAAM,CAACC,wBAAwB,CAAC;IAC9D,CAAC,CAAC,CACDC,KAAK,CAAC,UAACC,KAAK,EAAK;MAChBC,oBAAW,CAACC,MAAM,CAACF,KAAK,CAAC,qDAAqD,EAAEA,KAAK,CAAC;MACtF,MAAMA,KAAK;IACb,CAAC,CAAC;EACN,CAAC;EACD;AACF;AACA;AACA;EACEG,eAAe,WAAfA,eAAeA,CAAA,EAAG;IAChB,OAAO,IAAI,CAAClB,OAAO,CAAC;MAClBC,MAAM,EAAEC,qBAAU,CAACC,GAAG;MACtBC,GAAG,KAAAC,MAAA,CAAK,IAAI,CAAChD,QAAQ;IACvB,CAAC,CAAC,CAACyD,KAAK,CAAC,UAACC,KAAK,EAAK;MAClBC,oBAAW,CAACC,MAAM,CAACF,KAAK,CAAC,+CAA+C,EAAEA,KAAK,CAAC;MAChF,MAAMA,KAAK;IACb,CAAC,CAAC;EACJ,CAAC;EACD;AACF;AACA;AACA;AACA;EACEI,kBAAkB,WAAlBA,kBAAkBA,CAACC,YAAY,EAAE;IAC/B,OAAO,IAAI,CAACpB,OAAO,CAAC;MAClBC,MAAM,EAAEC,qBAAU,CAACmB,KAAK;MACxBjB,GAAG,KAAAC,MAAA,CAAK,IAAI,CAAChD,QAAQ,cAAW;MAChCoD,IAAI,EAAE;QACJnB,cAAc,EAAE;UACd8B,YAAY,EAAZA;QACF;MACF;IACF,CAAC,CAAC,CAACN,KAAK,CAAC,UAACC,KAAK,EAAK;MAClBC,oBAAW,CAACC,MAAM,CAACF,KAAK,CAAC,kDAAkD,EAAEA,KAAK,CAAC;MACnF,MAAMA,KAAK;IACb,CAAC,CAAC;EACJ,CAAC;EACD;AACF;AACA;AACA;EACEO,eAAe,WAAfA,eAAeA,CAAA,EAAG;IAChB,IAAI,CAAC,IAAI,CAAC9D,cAAc,IAAI,CAAC,IAAI,CAACC,cAAc,EAAE;MAChD,OAAO8D,QAAA,CAAAC,OAAA,CAAQC,MAAM,CAAC,IAAIC,KAAK,CAAC,0CAA0C,CAAC,CAAC;IAC9E;IAEA,IAAI,CAAC,IAAI,CAAC7D,iBAAiB,EAAE;MAC3B,OAAO0D,QAAA,CAAAC,OAAA,CAAQC,MAAM,CAAC,IAAIC,KAAK,CAAC,6BAA6B,CAAC,CAAC;IACjE;IAEA,OAAO,IAAI,CAAC1B,OAAO,CAAC;MAClBC,MAAM,EAAEC,qBAAU,CAACmB,KAAK;MACxBjB,GAAG,KAAAC,MAAA,CAAK,IAAI,CAAChD,QAAQ,mBAAAgD,MAAA,CAAgB,IAAI,CAACxC,iBAAiB,cAAW;MACtE4C,IAAI,EAAE;QACJnB,cAAc,EAAE;UACd9B,cAAc,EAAE,IAAI,CAACC,cAAc;UACnCA,cAAc,EAAE,IAAI,CAACD,cAAc;UACnCI,QAAQ,EAAE,IAAI,CAACA,QAAQ;UACvBD,KAAK,EAAE,IAAI,CAACA;QACd;MACF;IACF,CAAC,CAAC,CAACmD,KAAK,CAAC,UAACC,KAAK,EAAK;MAClBC,oBAAW,CAACC,MAAM,CAACF,KAAK,CAAC,+CAA+C,EAAEA,KAAK,CAAC;MAChF,MAAMA,KAAK;IACb,CAAC,CAAC;EACJ,CAAC;EACD;AACF;AACA;AACA;EACEnC,uBAAuB,WAAvBA,uBAAuBA,CAAA,EAAG;IAAA,IAAA+C,MAAA;IACxB,IAAI,CAACjD,QAAQ,CAAC,IAAI,CAACkD,KAAK,CAACC,QAAQ,CAACC,OAAO,WAAAzB,MAAA,CAAW0B,qBAAU,CAACC,gBAAgB,GAAI,UAACC,KAAK,EAAK;MAAA,IAAAC,WAAA,EAAAC,oBAAA;MAC5F,IAAI,CAAAF,KAAK,aAALA,KAAK,wBAAAC,WAAA,GAALD,KAAK,CAAEG,IAAI,cAAAF,WAAA,wBAAAC,oBAAA,GAAXD,WAAA,CAAaG,QAAQ,cAAAF,oBAAA,uBAArBA,oBAAA,CAAuBG,YAAY,MAAK3B,yBAAc,CAAC4B,aAAa,EAAE;QAAA,IAAAC,WAAA;QACxE,IAAAC,qBAAA,GAAgDR,KAAK,CAACG,IAAI,CAACC,QAAQ;UAA5DK,SAAS,GAAAD,qBAAA,CAATC,SAAS;UAAEC,SAAS,GAAAF,qBAAA,CAATE,SAAS;UAAEC,UAAU,GAAAH,qBAAA,CAAVG,UAAU;UAAEC,GAAG,GAAAJ,qBAAA,CAAHI,GAAG;QAC5C,IAAMC,UAAU,GAAGJ,SAAS,aAATA,SAAS,wBAAAF,WAAA,GAATE,SAAS,CAAG,CAAC,CAAC,cAAAF,WAAA,uBAAdA,WAAA,CAAgBO,aAAa;QAChD,IAAMC,UAAU,GAAG,CAAC,CAACF,UAAU,IAAIA,UAAU,KAAKnB,MAAI,CAAC9D,iBAAiB;QACxE,IAAMoF,QAAQ,GAAGN,SAAS,aAATA,SAAS,uBAATA,SAAS,CAAEI,aAAa;QACzC,IAAMG,QAAQ,GAAG,CAAC,CAACD,QAAQ,IAAIA,QAAQ,KAAKtB,MAAI,CAAC9D,iBAAiB;QAClE,IAAI,CAACmF,UAAU,IAAI,CAACE,QAAQ,EAAE;UAC5B;QACF;QACAvB,MAAI,CAACjB,OAAO,CAACC,yBAAc,CAACC,MAAM,CAACuC,wBAAwB,EAAE;UAC3DP,UAAU,EAAVA,UAAU;UACVI,UAAU,EAAVA,UAAU;UACVE,QAAQ,EAARA,QAAQ;UACRD,QAAQ,EAARA,QAAQ;UACRH,UAAU,EAAVA,UAAU;UACVD,GAAG,EAAHA;QACF,CAAC,CAAC;MACJ;IACF,CAAC,CAAC;EACJ,CAAC;EACD;AACF;AACA;AACA;AACA;EACEO,kBAAkB,WAAlBA,kBAAkBA,CAACL,aAAa,EAAE;IAChC,IAAI,CAACA,aAAa,EAAE;MAClB,OAAOxB,QAAA,CAAAC,OAAA,CAAQC,MAAM,CAAC,IAAIC,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnE;IACA,IAAI,CAAC,IAAI,CAACpE,WAAW,EAAE;MACrB,OAAOiE,QAAA,CAAAC,OAAA,CAAQC,MAAM,CAAC,IAAIC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1D;IAEA,OAAO,IAAI,CAAC1B,OAAO,CAAC;MAClBC,MAAM,EAAEC,qBAAU,CAACmD,IAAI;MACvBjD,GAAG,EAAE,IAAI,CAAC9C,WAAW;MACrBmD,IAAI,EAAE;QACJmC,UAAU,EAAEjC,yBAAc,CAAC2C,WAAW,CAACC,OAAO;QAC9CjB,YAAY,EAAE3B,yBAAc,CAAC4B,aAAa;QAC1CG,SAAS,EAAE,CACT;UACEK,aAAa,EAAbA;QACF,CAAC;MAEL;IACF,CAAC,CAAC,CAACjC,KAAK,CAAC,UAACC,KAAK,EAAK;MAClBC,oBAAW,CAACC,MAAM,CAACF,KAAK,CAAC,kDAAkD,EAAEA,KAAK,CAAC;MACnF,MAAMA,KAAK;IACb,CAAC,CAAC;EACJ,CAAC;EACD;AACF;AACA;AACA;EACEyC,cAAc,WAAdA,cAAcA,CAAA,EAAG;IACf,IAAI,CAAC,IAAI,CAAClG,WAAW,EAAE;MACrB,OAAOiE,QAAA,CAAAC,OAAA,CAAQC,MAAM,CAAC,IAAIC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAC1D;IAEA,OAAO,IAAI,CAAC1B,OAAO,CAAC;MAClBC,MAAM,EAAEC,qBAAU,CAACmD,IAAI;MACvBjD,GAAG,EAAE,IAAI,CAAC9C,WAAW;MACrBmD,IAAI,EAAE;QACJmC,UAAU,EAAEjC,yBAAc,CAAC2C,WAAW,CAACG,SAAS;QAChDnB,YAAY,EAAE3B,yBAAc,CAAC4B;MAC/B;IACF,CAAC,CAAC,CAACzB,KAAK,CAAC,UAACC,KAAK,EAAK;MAClBC,oBAAW,CAACC,MAAM,CAACF,KAAK,CAAC,8CAA8C,EAAEA,KAAK,CAAC;MAC/E,MAAMA,KAAK;IACb,CAAC,CAAC;EACJ,CAAC;EACD;AACF;AACA;AACA;AACA;EACE2C,aAAa,WAAbA,aAAaA,CAACb,GAAG,EAAE;IACjB,IAAI,CAACA,GAAG,EAAE;MACR,OAAOtB,QAAA,CAAAC,OAAA,CAAQC,MAAM,CAAC,IAAIC,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/D;IAEA,OAAO,IAAI,CAAC1B,OAAO,CAAC;MAClBC,MAAM,EAAEC,qBAAU,CAACyD,GAAG;MACtBvD,GAAG,EAAEyC,GAAG;MACRpC,IAAI,EAAE;QACJmC,UAAU,EAAEjC,yBAAc,CAAC2C,WAAW,CAACM;MACzC;IACF,CAAC,CAAC,CAAC9C,KAAK,CAAC,UAACC,KAAK,EAAK;MAClBC,oBAAW,CAACC,MAAM,CAACF,KAAK,CAAC,6CAA6C,EAAEA,KAAK,CAAC;MAC9E,MAAMA,KAAK;IACb,CAAC,CAAC;EACJ,CAAC;EACD;AACF;AACA;AACA;AACA;EACE8C,cAAc,WAAdA,cAAcA,CAAChB,GAAG,EAAE;IAClB,IAAI,CAACA,GAAG,EAAE;MACR,OAAOtB,QAAA,CAAAC,OAAA,CAAQC,MAAM,CAAC,IAAIC,KAAK,CAAC,4BAA4B,CAAC,CAAC;IAChE;IAEA,OAAO,IAAI,CAAC1B,OAAO,CAAC;MAClBC,MAAM,EAAEC,qBAAU,CAACyD,GAAG;MACtBvD,GAAG,EAAEyC,GAAG;MACRpC,IAAI,EAAE;QACJmC,UAAU,EAAEjC,yBAAc,CAAC2C,WAAW,CAACQ;MACzC;IACF,CAAC,CAAC,CAAChD,KAAK,CAAC,UAACC,KAAK,EAAK;MAClBC,oBAAW,CAACC,MAAM,CAACF,KAAK,CAAC,8CAA8C,EAAEA,KAAK,CAAC;MAC/E,MAAMA,KAAK;IACb,CAAC,CAAC;EACJ,CAAC;EAAAgD,OAAA;AACH,CAAC,CAAC;AAAC,IAAAC,QAAA,GAAAC,OAAA,CAAAzC,OAAA,GAEY5E,0BAA0B","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_webexCore","require","_loggerProxy","_interopRequireDefault","_constants","_util","_collection","SimultaneousInterpretation","WebexPlugin","extend","namespace","MEETINGS","collections","siLanguages","SILanguageCollection","props","locusUrl","approvalUrl","originalLanguage","sourceLanguage","targetLanguage","receiveLanguage","order","isActive","selfParticipantId","canManageInterpreters","supportLanguages","meetingSIEnabled","hostSIEnabled","selfIsInterpreter","derived","shouldQuerySupportLanguages","cache","deps","fn","initialize","_this","listenTo","querySupportLanguages","listenToHandoffRequests","cleanUp","stopListening","locusUrlUpdate","set","approvalUrlUpdate","updateCanManageInterpreters","updateHostSIEnabled","updateMeetingSIEnabled","updateInterpretation","interpretation","updateSelfInterpretation","_ref","preTargetLanguage","_ref2","getTargetLanguageCode","_this$siLanguages$get","get","languageCode","_this2","request","method","HTTP_VERBS","GET","uri","concat","then","result","_result$body","body","trigger","INTERPRETATION","EVENTS","SUPPORT_LANGUAGES_UPDATE","catch","error","LoggerProxy","logger","getInterpreters","updateInterpreters","interpreters","meeting","webex","meetings","meetingCollection","getByKey","PATCH","response","MeetingUtil","updateLocusFromApiResponse","changeDirection","_promise","default","reject","Error","_this3","internal","mercury","LOCUSEVENT","APPROVAL_REQUEST","event","_event$data","_event$data$approval","data","approval","resourceType","RESOURCE_TYPE","_receivers$","_event$data$approval2","receivers","initiator","actionType","url","receiverId","participantId","isReceiver","senderId","isSender","HANDOFF_REQUESTS_ARRIVED","handoffInterpreter","POST","ACTION_TYPE","OFFERED","requestHandoff","REQUESTED","acceptRequest","PUT","ACCEPTED","declineRequest","DECLINED","version","_default","exports"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {HTTP_VERBS, INTERPRETATION, LOCUSEVENT, MEETINGS} from '../constants';\nimport MeetingUtil from '../meeting/util';\n\nimport SILanguageCollection from './collection';\n\n/**\n * @class SimultaneousInterpretation\n */\nconst SimultaneousInterpretation = WebexPlugin.extend({\n namespace: MEETINGS,\n collections: {\n siLanguages: SILanguageCollection,\n },\n\n props: {\n locusUrl: 'string', // appears current meeting's locus url\n approvalUrl: 'string', // appears current meeting's approval url for handoff between interpreters\n originalLanguage: 'string', // appears current meeting's original language\n sourceLanguage: 'string', // appears self interpreter's source language\n targetLanguage: 'string', // appears self interpreter's target language\n receiveLanguage: 'string', // appears self's receive language\n order: 'number', // appears the order of self as interpreter\n isActive: 'boolean', // appears self is interpreter and is active\n selfParticipantId: 'string', // appears the self participant id\n canManageInterpreters: 'boolean', // appears the ability to manage interpreters\n supportLanguages: 'array', // appears the support languages\n meetingSIEnabled: 'boolean', // appears the meeting support SI feature\n hostSIEnabled: 'boolean', // appears the meeting host/interpreter feature of SI enabled\n selfIsInterpreter: 'boolean', // current user is interpreter or not\n },\n derived: {\n shouldQuerySupportLanguages: {\n cache: false,\n deps: ['canManageInterpreters', 'hostSIEnabled', 'locusUrl'],\n /**\n * Returns should query support languages or not\n * @returns {boolean}\n */\n fn() {\n return !!(this.canManageInterpreters && this.hostSIEnabled && this.locusUrl);\n },\n },\n },\n /**\n * initialize for interpretation\n * @returns {void}\n */\n initialize() {\n this.listenTo(this, 'change:shouldQuerySupportLanguages', () => {\n if (this.shouldQuerySupportLanguages && !this.supportLanguages) {\n this.querySupportLanguages();\n }\n });\n this.listenToHandoffRequests();\n },\n\n /**\n * Calls this to clean up listeners\n * @returns {void}\n */\n cleanUp() {\n this.stopListening();\n },\n /**\n * Update the current locus url of the meeting\n * @param {string} locusUrl // locus url\n * @returns {void}\n */\n locusUrlUpdate(locusUrl) {\n this.set('locusUrl', locusUrl);\n },\n /**\n * Update the approval url for handoff\n * @param {string} approvalUrl // approval url\n * @returns {void}\n */\n approvalUrlUpdate(approvalUrl) {\n this.set('approvalUrl', approvalUrl);\n },\n /**\n * Update whether self has capability to manage interpreters (only host can manage it)\n * @param {boolean} canManageInterpreters\n * @returns {void}\n */\n updateCanManageInterpreters(canManageInterpreters) {\n this.set('canManageInterpreters', canManageInterpreters);\n },\n /**\n * Update whether the meeting's host si is enabled or not\n * @param {boolean} hostSIEnabled\n * @returns {void}\n */\n updateHostSIEnabled(hostSIEnabled) {\n this.set('hostSIEnabled', hostSIEnabled);\n },\n\n /**\n * Update whether the meeting support SI feature or not from meeting info\n * @param {boolean} meetingSIEnabled\n * @param {boolean} selfIsInterpreter\n * @returns {void}\n */\n updateMeetingSIEnabled(meetingSIEnabled: boolean, selfIsInterpreter): void {\n this.set('meetingSIEnabled', meetingSIEnabled);\n this.set('selfIsInterpreter', selfIsInterpreter);\n },\n\n /**\n * Update the interpretation languages channels which user can choose to subscribe\n * @param {Object} interpretation\n * @returns {void}\n */\n updateInterpretation(interpretation) {\n this.siLanguages.set(interpretation?.siLanguages || []);\n },\n /**\n * Update self's interpretation information (self is interpreter)\n * @param {Object} interpretation\n * @param {String} selfParticipantId\n * @returns {bool} is target language changed\n */\n updateSelfInterpretation({interpretation, selfParticipantId}) {\n const preTargetLanguage = this.targetLanguage;\n const {originalLanguage, sourceLanguage, order, isActive, targetLanguage, receiveLanguage} =\n interpretation || {};\n this.set({originalLanguage, sourceLanguage, order, isActive, targetLanguage, receiveLanguage});\n this.set('selfParticipantId', selfParticipantId);\n this.set('selfIsInterpreter', !!targetLanguage);\n\n return !!(preTargetLanguage !== targetLanguage);\n },\n\n /**\n * Get the language code of the interpreter target language\n * @returns {number}\n */\n getTargetLanguageCode() {\n if (this.selfIsInterpreter) {\n return this.siLanguages.get(this.targetLanguage)?.languageCode;\n }\n\n return 0;\n },\n\n /**\n * query interpretation languages\n * @returns {Promise}\n */\n querySupportLanguages() {\n return this.request({\n method: HTTP_VERBS.GET,\n uri: `${this.locusUrl}/languages/interpretation`,\n })\n .then((result) => {\n this.set('supportLanguages', result.body?.siLanguages);\n this.trigger(INTERPRETATION.EVENTS.SUPPORT_LANGUAGES_UPDATE);\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#querySupportLanguages failed', error);\n throw error;\n });\n },\n /**\n * get interpreters of the meeting\n * @returns {Promise}\n */\n getInterpreters() {\n return this.request({\n method: HTTP_VERBS.GET,\n uri: `${this.locusUrl}/interpretation/interpreters`,\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#getInterpreters failed', error);\n throw error;\n });\n },\n /**\n * update interpreters of the meeting\n * @param {Array} interpreters\n * @returns {Promise}\n */\n updateInterpreters(interpreters) {\n const meeting = this.webex.meetings.meetingCollection.getByKey('locusUrl', this.locusUrl);\n\n return this.request({\n method: HTTP_VERBS.PATCH,\n uri: `${this.locusUrl}/controls`,\n body: {\n interpretation: {\n interpreters,\n },\n },\n })\n .then((response) => {\n MeetingUtil.updateLocusFromApiResponse(meeting, response);\n\n return response;\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#updateInterpreters failed', error);\n throw error;\n });\n },\n /**\n * Change direction of interpretation for an interpreter participant\n * @returns {Promise}\n */\n changeDirection() {\n if (!this.sourceLanguage || !this.targetLanguage) {\n return Promise.reject(new Error('Missing sourceLanguage or targetLanguage'));\n }\n\n if (!this.selfParticipantId) {\n return Promise.reject(new Error('Missing self participant id'));\n }\n\n const meeting = this.webex.meetings.meetingCollection.getByKey('locusUrl', this.locusUrl);\n\n return this.request({\n method: HTTP_VERBS.PATCH,\n uri: `${this.locusUrl}/participant/${this.selfParticipantId}/controls`,\n body: {\n interpretation: {\n sourceLanguage: this.targetLanguage,\n targetLanguage: this.sourceLanguage,\n isActive: this.isActive,\n order: this.order,\n },\n },\n })\n .then((response) => {\n MeetingUtil.updateLocusFromApiResponse(meeting, response);\n\n return response;\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#changeDirection failed', error);\n throw error;\n });\n },\n /**\n * Sets up a listener for handoff requests from mercury\n * @returns {void}\n */\n listenToHandoffRequests() {\n this.listenTo(this.webex.internal.mercury, `event:${LOCUSEVENT.APPROVAL_REQUEST}`, (event) => {\n if (event?.data?.approval?.resourceType === INTERPRETATION.RESOURCE_TYPE) {\n const {receivers, initiator, actionType, url} = event.data.approval;\n const receiverId = receivers?.[0]?.participantId;\n const isReceiver = !!receiverId && receiverId === this.selfParticipantId;\n const senderId = initiator?.participantId;\n const isSender = !!senderId && senderId === this.selfParticipantId;\n if (!isReceiver && !isSender) {\n return;\n }\n this.trigger(INTERPRETATION.EVENTS.HANDOFF_REQUESTS_ARRIVED, {\n actionType,\n isReceiver,\n isSender,\n senderId,\n receiverId,\n url,\n });\n }\n });\n },\n /**\n * handoff the active interpreter role to another interpreter in same group, only the interpreter is allowed to call this api\n * @param {string} participantId the participant id you want to hand off\n * @returns {Promise}\n */\n handoffInterpreter(participantId) {\n if (!participantId) {\n return Promise.reject(new Error('Missing target participant id'));\n }\n if (!this.approvalUrl) {\n return Promise.reject(new Error('Missing approval url'));\n }\n\n return this.request({\n method: HTTP_VERBS.POST,\n uri: this.approvalUrl,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.OFFERED,\n resourceType: INTERPRETATION.RESOURCE_TYPE,\n receivers: [\n {\n participantId,\n },\n ],\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#handoffInterpreter failed', error);\n throw error;\n });\n },\n /**\n * the in-active interpreter request to hand off the active role to self\n * @returns {Promise}\n */\n requestHandoff() {\n if (!this.approvalUrl) {\n return Promise.reject(new Error('Missing approval url'));\n }\n\n return this.request({\n method: HTTP_VERBS.POST,\n uri: this.approvalUrl,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.REQUESTED,\n resourceType: INTERPRETATION.RESOURCE_TYPE,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#requestHandoff failed', error);\n throw error;\n });\n },\n /**\n * accept the request of handoff\n * @param {String} url the url get from last approval event\n * @returns {Promise}\n */\n acceptRequest(url) {\n if (!url) {\n return Promise.reject(new Error('Missing the url to accept'));\n }\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: url,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.ACCEPTED,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#acceptRequest failed', error);\n throw error;\n });\n },\n /**\n * decline the request of handoff\n * @param {String} url the url get from last approval event\n * @returns {Promise}\n */\n declineRequest(url) {\n if (!url) {\n return Promise.reject(new Error('Missing the url to decline'));\n }\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: url,\n body: {\n actionType: INTERPRETATION.ACTION_TYPE.DECLINED,\n },\n }).catch((error) => {\n LoggerProxy.logger.error('Meeting:interpretation#declineRequest failed', error);\n throw error;\n });\n },\n});\n\nexport default SimultaneousInterpretation;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -18,7 +18,7 @@ var SILanguage = _webexCore.WebexPlugin.extend({
|
|
|
18
18
|
languageCode: 'number',
|
|
19
19
|
languageName: 'string'
|
|
20
20
|
},
|
|
21
|
-
version: "3.12.0-next.
|
|
21
|
+
version: "3.12.0-next.61"
|
|
22
22
|
});
|
|
23
23
|
var _default = exports.default = SILanguage;
|
|
24
24
|
//# sourceMappingURL=siLanguage.js.map
|
|
@@ -36,11 +36,14 @@ var ControlsUtils = {};
|
|
|
36
36
|
ControlsUtils.parse = function (controls) {
|
|
37
37
|
var parsedControls = _objectSpread({}, controls);
|
|
38
38
|
if (controls && controls.record) {
|
|
39
|
+
var _controls$record$meta, _controls$record$meta2, _controls$record$meta3;
|
|
39
40
|
parsedControls.record = {
|
|
40
41
|
modifiedBy: ControlsUtils.getId(controls),
|
|
41
42
|
paused: controls.record.paused ? controls.record.paused : false,
|
|
42
43
|
recording: controls.record.recording,
|
|
43
|
-
lastModified: controls.record.meta.lastModified
|
|
44
|
+
lastModified: (_controls$record$meta = controls.record.meta) === null || _controls$record$meta === void 0 ? void 0 : _controls$record$meta.lastModified,
|
|
45
|
+
modifiedByServiceAppName: (_controls$record$meta2 = controls.record.meta) === null || _controls$record$meta2 === void 0 ? void 0 : _controls$record$meta2.modifiedByServiceAppName,
|
|
46
|
+
modifiedByServiceAppId: (_controls$record$meta3 = controls.record.meta) === null || _controls$record$meta3 === void 0 ? void 0 : _controls$record$meta3.modifiedByServiceAppId
|
|
44
47
|
};
|
|
45
48
|
}
|
|
46
49
|
if (controls && controls.meetingContainer) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_lodash","require","_constants","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","ControlsUtils","parse","controls","parsedControls","record","modifiedBy","getId","paused","recording","lastModified","meta","meetingContainer","meetingContainerUrl","transcribe","transcribing","caption","spokenLanguage","hesiodLlmId","aiSummaryNotification","manualCaptionControl","enabled","entryExitTone","mode","video","videoEnabled","muteOnEntry","shareControl","control","disallowUnmute","reactions","showDisplayNameWithReactions","viewTheParticipantList","_controls$viewThePart","_controls$viewThePart2","_controls$viewThePart3","_controls$viewThePart4","_controls$viewThePart5","_controls$viewThePart6","panelistEnabled","attendeeCount","raiseHand","webcastControl","streaming","meetingFull","_controls$meetingFull","_controls$meetingFull2","_controls$meetingFull3","_controls$meetingFull4","meetingPanelistFull","practiceSession","annotationControl","rdcControl","pollingQAControl","autoEndMeetingWarning","extensionDurationMinutes","countdownDurationMinutes","countdownStartedAt","getControls","oldControls","newControls","_current$muteOnEntry","_previous$muteOnEntry","_current$shareControl","_previous$shareContro","_current$disallowUnmu","_previous$disallowUnm","_current$reactions","_previous$reactions","_current$reactions2","_previous$reactions2","_current$viewTheParti","_previous$viewThePart","_current$viewTheParti2","_previous$viewThePart2","_current$viewTheParti3","_previous$viewThePart3","_current$raiseHand","_previous$raiseHand","_current$video","_previous$video","_previous$record","_previous$record2","_current$record","_previous$record3","_current$record2","_previous$record4","_current$record3","_previous$meetingCont","_current$meetingConta","_previous$transcribe","_current$transcribe","_previous$transcribe2","_current$transcribe2","_previous$transcribe3","_current$transcribe3","_previous$transcribe4","_current$transcribe4","_previous$transcribe5","_current$transcribe5","_previous$transcribe6","_current$transcribe6","_previous$transcribe7","_current$transcribe7","_previous$transcribe8","_current$transcribe8","_previous$manualCapti","_current$manualCaptio","_previous$manualCapti2","_current$manualCaptio2","_newControls$video","_previous$webcastCont","_current$webcastContr","_previous$meetingFull","_current$meetingFull","_previous$meetingFull2","_current$meetingFull2","_previous$practiceSes","_current$practiceSess","_current$annotationCo","_previous$annotationC","_current$rdcControl","_previous$rdcControl","_current$pollingQACon","_previous$pollingQACo","_current$autoEndMeeti","_previous$autoEndMeet","_current$autoEndMeeti2","_previous$autoEndMeet2","_current$autoEndMeeti3","_previous$autoEndMeet3","_current$autoEndMeeti4","_previous$autoEndMeet4","previous","current","updates","hasMuteOnEntryChanged","hasShareControlChanged","hasDisallowUnmuteChanged","hasReactionsChanged","hasReactionDisplayNamesChanged","hasViewTheParticipantListChanged","hasRaiseHandChanged","hasVideoChanged","hasRecordingPausedChanged","isEqual","hasRecordingChanged","hasMeetingContainerChanged","hasTranscribeChanged","hasHesiodLLMIdChanged","hasAiSummaryNotificationChanged","hasTranscribeSpokenLanguageChanged","hasManualCaptionChanged","hasEntryExitToneChanged","hasBreakoutChanged","breakout","hasInterpretationChanged","interpretation","hasVideoEnabledChanged","undefined","hasWebcastChanged","hasMeetingFullChanged","hasPracticeSessionEnabledChanged","hasStageViewChanged","videoLayout","hasAnnotationControlChanged","hasRemoteDesktopControlChanged","hasPollingQAControlChanged","hasAutoEndMeetingChanged","isNeedReplaceMembers","_oldControls$breakout","_controls$breakout","_oldControls$breakout2","_controls$breakout2","groupId","sessionId","getSessionSwitchStatus","oldLocus","newLocus","_oldLocus$controls","_newLocus$controls","_oldLocus$self","_newLocus$participant","_newLocus$participant2","_newLocus$participant3","_newLocus$controls2","_newLocus$controls2$b","_newLocus$controls3","_newLocus$controls3$b","_newLocus$controls3$b2","status","isReturnToMain","isJoinToBreakout","needUseCache","self","isCreator","participants","state","MEETING_STATE","STATES","JOINED","sessionType","BREAKOUTS","SESSION_TYPES","MAIN","groups","BREAKOUT","isMainSessionDTO","locus","_locus$controls","_locus$controls$break","_default","exports"],"sources":["controlsUtils.ts"],"sourcesContent":["import {isEqual} from 'lodash';\nimport {BREAKOUTS, MEETING_STATE} from '../constants';\n\nconst ControlsUtils: any = {};\n\n/**\n * Controls\n * @typedef {Object} LocusControls\n * @property {Object} record\n * @property {Boolean} record.recording\n * @property {Object} record.meta\n * @property {String} record.meta.modifiedBy\n */\n\n/**\n * parse the relevant host values that we care about: id\n * @param {LocusControls} controls\n * @returns {Object} parsedObject - parsed host or null if host was undefined\n * @returns {String} parsedObject.recordingId\n */\nControlsUtils.parse = (controls: any) => {\n const parsedControls = {...controls};\n\n if (controls && controls.record) {\n parsedControls.record = {\n modifiedBy: ControlsUtils.getId(controls),\n paused: controls.record.paused ? controls.record.paused : false,\n recording: controls.record.recording,\n lastModified: controls.record.meta.lastModified,\n };\n }\n\n if (controls && controls.meetingContainer) {\n parsedControls.meetingContainer = {\n meetingContainerUrl: controls.meetingContainer.meetingContainerUrl,\n };\n }\n\n if (controls && controls.transcribe) {\n parsedControls.transcribe = {\n transcribing: controls.transcribe.transcribing,\n caption: controls.transcribe.caption,\n spokenLanguage: controls.transcribe.spokenLanguage,\n hesiodLlmId: controls.transcribe.hesiodLlmId,\n aiSummaryNotification: controls.transcribe.aiSummaryNotification,\n };\n }\n\n if (controls && controls.manualCaptionControl) {\n parsedControls.manualCaptionControl = {\n enabled: controls.manualCaptionControl.enabled,\n };\n }\n\n if (controls && controls.entryExitTone) {\n parsedControls.entryExitTone = controls.entryExitTone.enabled\n ? controls.entryExitTone.mode\n : null;\n }\n\n if (controls && controls.video) {\n parsedControls.videoEnabled = controls.video.enabled;\n }\n\n if (controls?.muteOnEntry) {\n parsedControls.muteOnEntry = {enabled: controls.muteOnEntry.enabled};\n }\n\n if (controls?.shareControl) {\n parsedControls.shareControl = {control: controls.shareControl.control};\n }\n\n if (controls?.disallowUnmute) {\n parsedControls.disallowUnmute = {enabled: controls.disallowUnmute.enabled};\n }\n\n if (controls?.reactions) {\n parsedControls.reactions = {\n enabled: controls.reactions.enabled,\n showDisplayNameWithReactions: controls.reactions.showDisplayNameWithReactions,\n };\n }\n\n if (controls?.viewTheParticipantList) {\n parsedControls.viewTheParticipantList = {\n enabled: controls.viewTheParticipantList?.enabled ?? false,\n panelistEnabled: controls.viewTheParticipantList?.panelistEnabled ?? false,\n attendeeCount: controls.viewTheParticipantList?.attendeeCount ?? 0,\n };\n }\n\n if (controls?.raiseHand) {\n parsedControls.raiseHand = {enabled: controls.raiseHand.enabled};\n }\n\n if (controls?.video) {\n parsedControls.video = {enabled: controls.video.enabled};\n }\n\n if (controls?.webcastControl) {\n parsedControls.webcastControl = {streaming: controls.webcastControl.streaming};\n }\n\n if (controls?.meetingFull) {\n parsedControls.meetingFull = {\n meetingFull: controls.meetingFull?.meetingFull ?? false,\n meetingPanelistFull: controls.meetingFull?.meetingPanelistFull ?? false,\n };\n }\n\n if (controls?.practiceSession) {\n parsedControls.practiceSession = {\n enabled: controls.practiceSession.enabled,\n };\n }\n\n if (controls?.annotationControl) {\n parsedControls.annotationControl = {\n enabled: controls.annotationControl.enabled,\n };\n }\n\n if (controls?.rdcControl) {\n parsedControls.rdcControl = {\n enabled: controls.rdcControl.enabled,\n };\n }\n\n if (controls?.pollingQAControl) {\n parsedControls.pollingQAControl = {\n enabled: controls.pollingQAControl.enabled,\n };\n }\n\n if (controls?.autoEndMeetingWarning) {\n parsedControls.autoEndMeetingWarning = {\n enabled: controls.autoEndMeetingWarning.enabled,\n extensionDurationMinutes: controls.autoEndMeetingWarning.extensionDurationMinutes,\n countdownDurationMinutes: controls.autoEndMeetingWarning.countdownDurationMinutes,\n countdownStartedAt: controls.autoEndMeetingWarning.countdownStartedAt,\n };\n }\n\n return parsedControls;\n};\n\n/**\n * parses and returns previous state vs current state and triggers the changes.\n * @param {LocusControls} oldControls previous state\n * @param {LocusControls} newControls current state\n * @returns {Object} combination of state plus the changes\n */\nControlsUtils.getControls = (oldControls: any, newControls: any) => {\n const previous = ControlsUtils.parse(oldControls);\n const current = ControlsUtils.parse(newControls);\n\n return {\n previous,\n current,\n updates: {\n hasMuteOnEntryChanged: current?.muteOnEntry?.enabled !== previous?.muteOnEntry?.enabled,\n\n hasShareControlChanged: current?.shareControl?.control !== previous?.shareControl?.control,\n\n hasDisallowUnmuteChanged:\n current?.disallowUnmute?.enabled !== previous?.disallowUnmute?.enabled,\n\n hasReactionsChanged: current?.reactions?.enabled !== previous?.reactions?.enabled,\n\n hasReactionDisplayNamesChanged:\n current?.reactions?.showDisplayNameWithReactions !==\n previous?.reactions?.showDisplayNameWithReactions,\n\n hasViewTheParticipantListChanged:\n current?.viewTheParticipantList?.enabled !== previous?.viewTheParticipantList?.enabled ||\n current?.viewTheParticipantList?.panelistEnabled !==\n previous?.viewTheParticipantList?.panelistEnabled ||\n current?.viewTheParticipantList?.attendeeCount !==\n previous?.viewTheParticipantList?.attendeeCount,\n\n hasRaiseHandChanged: current?.raiseHand?.enabled !== previous?.raiseHand?.enabled,\n\n hasVideoChanged: current?.video?.enabled !== previous?.video?.enabled,\n\n hasRecordingPausedChanged:\n current?.record &&\n !isEqual(previous?.record?.paused, current.record.paused) &&\n (previous?.record?.recording || current?.record?.recording), // see comments directly below\n\n hasRecordingChanged:\n current?.record &&\n !isEqual(previous?.record?.recording, current?.record?.recording) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.record?.recording || current?.record?.recording), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasMeetingContainerChanged:\n current?.meetingContainer &&\n !isEqual(\n previous?.meetingContainer?.meetingContainerUrl,\n current?.meetingContainer?.meetingContainerUrl\n ),\n\n hasTranscribeChanged:\n current?.transcribe &&\n !isEqual(previous?.transcribe?.transcribing, current?.transcribe?.transcribing) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.transcribe?.transcribing || current?.transcribe?.transcribing), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasHesiodLLMIdChanged:\n current?.transcribe &&\n !isEqual(previous?.transcribe?.hesiodLlmId, current?.transcribe?.hesiodLlmId) &&\n !!(previous?.transcribe?.hesiodLlmId || current?.transcribe?.hesiodLlmId),\n\n hasAiSummaryNotificationChanged:\n current?.transcribe &&\n !isEqual(\n previous?.transcribe?.aiSummaryNotification,\n current?.transcribe?.aiSummaryNotification\n ) &&\n !!(\n previous?.transcribe?.aiSummaryNotification || current?.transcribe?.aiSummaryNotification\n ),\n\n hasTranscribeSpokenLanguageChanged:\n current?.transcribe &&\n !isEqual(previous?.transcribe?.spokenLanguage, current?.transcribe?.spokenLanguage) &&\n !!(previous?.transcribe?.spokenLanguage || current?.transcribe?.spokenLanguage),\n\n hasManualCaptionChanged:\n current?.manualCaptionControl &&\n !isEqual(previous?.manualCaptionControl?.enabled, current?.manualCaptionControl?.enabled) &&\n (previous?.manualCaptionControl?.enabled || current?.manualCaptionControl?.enabled),\n\n hasEntryExitToneChanged: !!(\n newControls.entryExitTone &&\n !isEqual(previous?.entryExitTone, current?.entryExitTone) &&\n (previous?.entryExitTone || current?.entryExitTone)\n ),\n\n hasBreakoutChanged: !isEqual(previous?.breakout, current?.breakout),\n\n hasInterpretationChanged: !isEqual(previous?.interpretation, current?.interpretation),\n\n hasVideoEnabledChanged:\n newControls.video?.enabled !== undefined &&\n !isEqual(previous?.videoEnabled, current?.videoEnabled),\n\n hasWebcastChanged: !isEqual(\n previous?.webcastControl?.streaming,\n current?.webcastControl?.streaming\n ),\n\n hasMeetingFullChanged:\n !isEqual(previous?.meetingFull?.meetingFull, current?.meetingFull?.meetingFull) ||\n !isEqual(\n previous?.meetingFull?.meetingPanelistFull,\n current?.meetingFull?.meetingPanelistFull\n ),\n\n hasPracticeSessionEnabledChanged: !isEqual(\n !!previous?.practiceSession?.enabled,\n !!current?.practiceSession?.enabled\n ),\n\n hasStageViewChanged: !isEqual(previous?.videoLayout, current?.videoLayout),\n\n hasAnnotationControlChanged:\n current?.annotationControl?.enabled !== previous?.annotationControl?.enabled,\n\n hasRemoteDesktopControlChanged:\n current?.rdcControl?.enabled !== previous?.rdcControl?.enabled,\n\n hasPollingQAControlChanged:\n current?.pollingQAControl?.enabled !== previous?.pollingQAControl?.enabled,\n\n hasAutoEndMeetingChanged:\n current?.autoEndMeetingWarning?.enabled !== previous?.autoEndMeetingWarning?.enabled ||\n current?.autoEndMeetingWarning?.extensionDurationMinutes !==\n previous?.autoEndMeetingWarning?.extensionDurationMinutes ||\n current?.autoEndMeetingWarning?.countdownDurationMinutes !==\n previous?.autoEndMeetingWarning?.countdownDurationMinutes ||\n current?.autoEndMeetingWarning?.countdownStartedAt !==\n previous?.autoEndMeetingWarning?.countdownStartedAt,\n },\n };\n};\n\n/**\n * Extract the id from the record controls object\n * @param {LocusControls} controls\n * @returns {String|null}\n */\nControlsUtils.getId = (controls: any) => {\n if (controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\n/**\n * check whether to replace the meeting's members or not.\n * For case joined breakout session, need replace meeting's members\n * @param {LocusControls} oldControls\n * @param {LocusControls} controls\n * @returns {Boolean}\n */\nControlsUtils.isNeedReplaceMembers = (oldControls: any, controls: any) => {\n // no breakout case\n if (!oldControls?.breakout || !controls?.breakout) {\n return false;\n }\n\n return (\n oldControls?.breakout?.groupId !== controls?.breakout?.groupId ||\n oldControls?.breakout?.sessionId !== controls?.breakout?.sessionId\n );\n};\n\n/**\n * determine the switch status between breakout session and main session.\n * @param {LocusInfo} oldLocus\n * @param {LocusInfo} newLocus\n * @returns {Object}\n */\nControlsUtils.getSessionSwitchStatus = (oldLocus: any, newLocus: any) => {\n const status = {isReturnToMain: false, isJoinToBreakout: false};\n // no breakout case\n if (!oldLocus.controls?.breakout || !newLocus.controls?.breakout) {\n return status;\n }\n\n // It is used to fix the timing issue triggered when the creator leaves session to ensure that the member list is complete\n const needUseCache = !!(\n oldLocus.self?.isCreator &&\n newLocus.participants?.length === 1 &&\n newLocus.participants?.[0].isCreator &&\n newLocus.participants?.[0].state === MEETING_STATE.STATES.JOINED &&\n newLocus.controls?.breakout?.sessionType === BREAKOUTS.SESSION_TYPES.MAIN &&\n newLocus.controls?.breakout?.groups?.length\n );\n\n const isReturnToMain =\n oldLocus.controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT &&\n newLocus.controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.MAIN;\n\n status.isReturnToMain = needUseCache || isReturnToMain;\n status.isJoinToBreakout =\n oldLocus.controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.MAIN &&\n newLocus.controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT;\n\n return status;\n};\n\nControlsUtils.isMainSessionDTO = (locus: any) => {\n return locus?.controls?.breakout?.sessionType !== BREAKOUTS.SESSION_TYPES.BREAKOUT;\n};\n\nexport default ControlsUtils;\n"],"mappings":";;;;;;;;;;;;;;AAAA,IAAAA,OAAA,GAAAC,OAAA;AACA,IAAAC,UAAA,GAAAD,OAAA;AAAsD,SAAAE,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAH,CAAA,OAAAI,6BAAA,QAAAC,CAAA,GAAAD,6BAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAM,gCAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAe,MAAA,CAAAZ,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,CAAAC,OAAA,EAAAjB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAiB,iCAAA,GAAAC,wBAAA,CAAAnB,CAAA,EAAAkB,iCAAA,CAAAhB,CAAA,KAAAH,OAAA,CAAAe,MAAA,CAAAZ,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAmB,sBAAA,CAAApB,CAAA,EAAAC,CAAA,EAAAM,gCAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA;AAEtD,IAAMqB,aAAkB,GAAG,CAAC,CAAC;;AAE7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACAA,aAAa,CAACC,KAAK,GAAG,UAACC,QAAa,EAAK;EACvC,IAAMC,cAAc,GAAAb,aAAA,KAAOY,QAAQ,CAAC;EAEpC,IAAIA,QAAQ,IAAIA,QAAQ,CAACE,MAAM,EAAE;IAC/BD,cAAc,CAACC,MAAM,GAAG;MACtBC,UAAU,EAAEL,aAAa,CAACM,KAAK,CAACJ,QAAQ,CAAC;MACzCK,MAAM,EAAEL,QAAQ,CAACE,MAAM,CAACG,MAAM,GAAGL,QAAQ,CAACE,MAAM,CAACG,MAAM,GAAG,KAAK;MAC/DC,SAAS,EAAEN,QAAQ,CAACE,MAAM,CAACI,SAAS;MACpCC,YAAY,EAAEP,QAAQ,CAACE,MAAM,CAACM,IAAI,CAACD;IACrC,CAAC;EACH;EAEA,IAAIP,QAAQ,IAAIA,QAAQ,CAACS,gBAAgB,EAAE;IACzCR,cAAc,CAACQ,gBAAgB,GAAG;MAChCC,mBAAmB,EAAEV,QAAQ,CAACS,gBAAgB,CAACC;IACjD,CAAC;EACH;EAEA,IAAIV,QAAQ,IAAIA,QAAQ,CAACW,UAAU,EAAE;IACnCV,cAAc,CAACU,UAAU,GAAG;MAC1BC,YAAY,EAAEZ,QAAQ,CAACW,UAAU,CAACC,YAAY;MAC9CC,OAAO,EAAEb,QAAQ,CAACW,UAAU,CAACE,OAAO;MACpCC,cAAc,EAAEd,QAAQ,CAACW,UAAU,CAACG,cAAc;MAClDC,WAAW,EAAEf,QAAQ,CAACW,UAAU,CAACI,WAAW;MAC5CC,qBAAqB,EAAEhB,QAAQ,CAACW,UAAU,CAACK;IAC7C,CAAC;EACH;EAEA,IAAIhB,QAAQ,IAAIA,QAAQ,CAACiB,oBAAoB,EAAE;IAC7ChB,cAAc,CAACgB,oBAAoB,GAAG;MACpCC,OAAO,EAAElB,QAAQ,CAACiB,oBAAoB,CAACC;IACzC,CAAC;EACH;EAEA,IAAIlB,QAAQ,IAAIA,QAAQ,CAACmB,aAAa,EAAE;IACtClB,cAAc,CAACkB,aAAa,GAAGnB,QAAQ,CAACmB,aAAa,CAACD,OAAO,GACzDlB,QAAQ,CAACmB,aAAa,CAACC,IAAI,GAC3B,IAAI;EACV;EAEA,IAAIpB,QAAQ,IAAIA,QAAQ,CAACqB,KAAK,EAAE;IAC9BpB,cAAc,CAACqB,YAAY,GAAGtB,QAAQ,CAACqB,KAAK,CAACH,OAAO;EACtD;EAEA,IAAIlB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEuB,WAAW,EAAE;IACzBtB,cAAc,CAACsB,WAAW,GAAG;MAACL,OAAO,EAAElB,QAAQ,CAACuB,WAAW,CAACL;IAAO,CAAC;EACtE;EAEA,IAAIlB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEwB,YAAY,EAAE;IAC1BvB,cAAc,CAACuB,YAAY,GAAG;MAACC,OAAO,EAAEzB,QAAQ,CAACwB,YAAY,CAACC;IAAO,CAAC;EACxE;EAEA,IAAIzB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAE0B,cAAc,EAAE;IAC5BzB,cAAc,CAACyB,cAAc,GAAG;MAACR,OAAO,EAAElB,QAAQ,CAAC0B,cAAc,CAACR;IAAO,CAAC;EAC5E;EAEA,IAAIlB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAE2B,SAAS,EAAE;IACvB1B,cAAc,CAAC0B,SAAS,GAAG;MACzBT,OAAO,EAAElB,QAAQ,CAAC2B,SAAS,CAACT,OAAO;MACnCU,4BAA4B,EAAE5B,QAAQ,CAAC2B,SAAS,CAACC;IACnD,CAAC;EACH;EAEA,IAAI5B,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAE6B,sBAAsB,EAAE;IAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IACpClC,cAAc,CAAC4B,sBAAsB,GAAG;MACtCX,OAAO,GAAAY,qBAAA,IAAAC,sBAAA,GAAE/B,QAAQ,CAAC6B,sBAAsB,cAAAE,sBAAA,uBAA/BA,sBAAA,CAAiCb,OAAO,cAAAY,qBAAA,cAAAA,qBAAA,GAAI,KAAK;MAC1DM,eAAe,GAAAJ,sBAAA,IAAAC,sBAAA,GAAEjC,QAAQ,CAAC6B,sBAAsB,cAAAI,sBAAA,uBAA/BA,sBAAA,CAAiCG,eAAe,cAAAJ,sBAAA,cAAAA,sBAAA,GAAI,KAAK;MAC1EK,aAAa,GAAAH,sBAAA,IAAAC,sBAAA,GAAEnC,QAAQ,CAAC6B,sBAAsB,cAAAM,sBAAA,uBAA/BA,sBAAA,CAAiCE,aAAa,cAAAH,sBAAA,cAAAA,sBAAA,GAAI;IACnE,CAAC;EACH;EAEA,IAAIlC,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEsC,SAAS,EAAE;IACvBrC,cAAc,CAACqC,SAAS,GAAG;MAACpB,OAAO,EAAElB,QAAQ,CAACsC,SAAS,CAACpB;IAAO,CAAC;EAClE;EAEA,IAAIlB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEqB,KAAK,EAAE;IACnBpB,cAAc,CAACoB,KAAK,GAAG;MAACH,OAAO,EAAElB,QAAQ,CAACqB,KAAK,CAACH;IAAO,CAAC;EAC1D;EAEA,IAAIlB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEuC,cAAc,EAAE;IAC5BtC,cAAc,CAACsC,cAAc,GAAG;MAACC,SAAS,EAAExC,QAAQ,CAACuC,cAAc,CAACC;IAAS,CAAC;EAChF;EAEA,IAAIxC,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEyC,WAAW,EAAE;IAAA,IAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;IACzB5C,cAAc,CAACwC,WAAW,GAAG;MAC3BA,WAAW,GAAAC,qBAAA,IAAAC,sBAAA,GAAE3C,QAAQ,CAACyC,WAAW,cAAAE,sBAAA,uBAApBA,sBAAA,CAAsBF,WAAW,cAAAC,qBAAA,cAAAA,qBAAA,GAAI,KAAK;MACvDI,mBAAmB,GAAAF,sBAAA,IAAAC,sBAAA,GAAE7C,QAAQ,CAACyC,WAAW,cAAAI,sBAAA,uBAApBA,sBAAA,CAAsBC,mBAAmB,cAAAF,sBAAA,cAAAA,sBAAA,GAAI;IACpE,CAAC;EACH;EAEA,IAAI5C,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAE+C,eAAe,EAAE;IAC7B9C,cAAc,CAAC8C,eAAe,GAAG;MAC/B7B,OAAO,EAAElB,QAAQ,CAAC+C,eAAe,CAAC7B;IACpC,CAAC;EACH;EAEA,IAAIlB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEgD,iBAAiB,EAAE;IAC/B/C,cAAc,CAAC+C,iBAAiB,GAAG;MACjC9B,OAAO,EAAElB,QAAQ,CAACgD,iBAAiB,CAAC9B;IACtC,CAAC;EACH;EAEA,IAAIlB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEiD,UAAU,EAAE;IACxBhD,cAAc,CAACgD,UAAU,GAAG;MAC1B/B,OAAO,EAAElB,QAAQ,CAACiD,UAAU,CAAC/B;IAC/B,CAAC;EACH;EAEA,IAAIlB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEkD,gBAAgB,EAAE;IAC9BjD,cAAc,CAACiD,gBAAgB,GAAG;MAChChC,OAAO,EAAElB,QAAQ,CAACkD,gBAAgB,CAAChC;IACrC,CAAC;EACH;EAEA,IAAIlB,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEmD,qBAAqB,EAAE;IACnClD,cAAc,CAACkD,qBAAqB,GAAG;MACrCjC,OAAO,EAAElB,QAAQ,CAACmD,qBAAqB,CAACjC,OAAO;MAC/CkC,wBAAwB,EAAEpD,QAAQ,CAACmD,qBAAqB,CAACC,wBAAwB;MACjFC,wBAAwB,EAAErD,QAAQ,CAACmD,qBAAqB,CAACE,wBAAwB;MACjFC,kBAAkB,EAAEtD,QAAQ,CAACmD,qBAAqB,CAACG;IACrD,CAAC;EACH;EAEA,OAAOrD,cAAc;AACvB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACAH,aAAa,CAACyD,WAAW,GAAG,UAACC,WAAgB,EAAEC,WAAgB,EAAK;EAAA,IAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,kBAAA,EAAAC,mBAAA,EAAAC,mBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,kBAAA,EAAAC,mBAAA,EAAAC,cAAA,EAAAC,eAAA,EAAAC,gBAAA,EAAAC,iBAAA,EAAAC,eAAA,EAAAC,iBAAA,EAAAC,gBAAA,EAAAC,iBAAA,EAAAC,gBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,mBAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,kBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,oBAAA,EAAAC,sBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,mBAAA,EAAAC,oBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,sBAAA;EAClE,IAAMC,QAAQ,GAAGpI,aAAa,CAACC,KAAK,CAACyD,WAAW,CAAC;EACjD,IAAM2E,OAAO,GAAGrI,aAAa,CAACC,KAAK,CAAC0D,WAAW,CAAC;EAEhD,OAAO;IACLyE,QAAQ,EAARA,QAAQ;IACRC,OAAO,EAAPA,OAAO;IACPC,OAAO,EAAE;MACPC,qBAAqB,EAAE,CAAAF,OAAO,aAAPA,OAAO,wBAAAzE,oBAAA,GAAPyE,OAAO,CAAE5G,WAAW,cAAAmC,oBAAA,uBAApBA,oBAAA,CAAsBxC,OAAO,OAAKgH,QAAQ,aAARA,QAAQ,wBAAAvE,qBAAA,GAARuE,QAAQ,CAAE3G,WAAW,cAAAoC,qBAAA,uBAArBA,qBAAA,CAAuBzC,OAAO;MAEvFoH,sBAAsB,EAAE,CAAAH,OAAO,aAAPA,OAAO,wBAAAvE,qBAAA,GAAPuE,OAAO,CAAE3G,YAAY,cAAAoC,qBAAA,uBAArBA,qBAAA,CAAuBnC,OAAO,OAAKyG,QAAQ,aAARA,QAAQ,wBAAArE,qBAAA,GAARqE,QAAQ,CAAE1G,YAAY,cAAAqC,qBAAA,uBAAtBA,qBAAA,CAAwBpC,OAAO;MAE1F8G,wBAAwB,EACtB,CAAAJ,OAAO,aAAPA,OAAO,wBAAArE,qBAAA,GAAPqE,OAAO,CAAEzG,cAAc,cAAAoC,qBAAA,uBAAvBA,qBAAA,CAAyB5C,OAAO,OAAKgH,QAAQ,aAARA,QAAQ,wBAAAnE,qBAAA,GAARmE,QAAQ,CAAExG,cAAc,cAAAqC,qBAAA,uBAAxBA,qBAAA,CAA0B7C,OAAO;MAExEsH,mBAAmB,EAAE,CAAAL,OAAO,aAAPA,OAAO,wBAAAnE,kBAAA,GAAPmE,OAAO,CAAExG,SAAS,cAAAqC,kBAAA,uBAAlBA,kBAAA,CAAoB9C,OAAO,OAAKgH,QAAQ,aAARA,QAAQ,wBAAAjE,mBAAA,GAARiE,QAAQ,CAAEvG,SAAS,cAAAsC,mBAAA,uBAAnBA,mBAAA,CAAqB/C,OAAO;MAEjFuH,8BAA8B,EAC5B,CAAAN,OAAO,aAAPA,OAAO,wBAAAjE,mBAAA,GAAPiE,OAAO,CAAExG,SAAS,cAAAuC,mBAAA,uBAAlBA,mBAAA,CAAoBtC,4BAA4B,OAChDsG,QAAQ,aAARA,QAAQ,wBAAA/D,oBAAA,GAAR+D,QAAQ,CAAEvG,SAAS,cAAAwC,oBAAA,uBAAnBA,oBAAA,CAAqBvC,4BAA4B;MAEnD8G,gCAAgC,EAC9B,CAAAP,OAAO,aAAPA,OAAO,wBAAA/D,qBAAA,GAAP+D,OAAO,CAAEtG,sBAAsB,cAAAuC,qBAAA,uBAA/BA,qBAAA,CAAiClD,OAAO,OAAKgH,QAAQ,aAARA,QAAQ,wBAAA7D,qBAAA,GAAR6D,QAAQ,CAAErG,sBAAsB,cAAAwC,qBAAA,uBAAhCA,qBAAA,CAAkCnD,OAAO,KACtF,CAAAiH,OAAO,aAAPA,OAAO,wBAAA7D,sBAAA,GAAP6D,OAAO,CAAEtG,sBAAsB,cAAAyC,sBAAA,uBAA/BA,sBAAA,CAAiClC,eAAe,OAC9C8F,QAAQ,aAARA,QAAQ,wBAAA3D,sBAAA,GAAR2D,QAAQ,CAAErG,sBAAsB,cAAA0C,sBAAA,uBAAhCA,sBAAA,CAAkCnC,eAAe,KACnD,CAAA+F,OAAO,aAAPA,OAAO,wBAAA3D,sBAAA,GAAP2D,OAAO,CAAEtG,sBAAsB,cAAA2C,sBAAA,uBAA/BA,sBAAA,CAAiCnC,aAAa,OAC5C6F,QAAQ,aAARA,QAAQ,wBAAAzD,sBAAA,GAARyD,QAAQ,CAAErG,sBAAsB,cAAA4C,sBAAA,uBAAhCA,sBAAA,CAAkCpC,aAAa;MAEnDsG,mBAAmB,EAAE,CAAAR,OAAO,aAAPA,OAAO,wBAAAzD,kBAAA,GAAPyD,OAAO,CAAE7F,SAAS,cAAAoC,kBAAA,uBAAlBA,kBAAA,CAAoBxD,OAAO,OAAKgH,QAAQ,aAARA,QAAQ,wBAAAvD,mBAAA,GAARuD,QAAQ,CAAE5F,SAAS,cAAAqC,mBAAA,uBAAnBA,mBAAA,CAAqBzD,OAAO;MAEjF0H,eAAe,EAAE,CAAAT,OAAO,aAAPA,OAAO,wBAAAvD,cAAA,GAAPuD,OAAO,CAAE9G,KAAK,cAAAuD,cAAA,uBAAdA,cAAA,CAAgB1D,OAAO,OAAKgH,QAAQ,aAARA,QAAQ,wBAAArD,eAAA,GAARqD,QAAQ,CAAE7G,KAAK,cAAAwD,eAAA,uBAAfA,eAAA,CAAiB3D,OAAO;MAErE2H,yBAAyB,EACvB,CAAAV,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEjI,MAAM,KACf,CAAC,IAAA4I,eAAO,EAACZ,QAAQ,aAARA,QAAQ,wBAAApD,gBAAA,GAARoD,QAAQ,CAAEhI,MAAM,cAAA4E,gBAAA,uBAAhBA,gBAAA,CAAkBzE,MAAM,EAAE8H,OAAO,CAACjI,MAAM,CAACG,MAAM,CAAC,KACxD,CAAA6H,QAAQ,aAARA,QAAQ,wBAAAnD,iBAAA,GAARmD,QAAQ,CAAEhI,MAAM,cAAA6E,iBAAA,uBAAhBA,iBAAA,CAAkBzE,SAAS,MAAI6H,OAAO,aAAPA,OAAO,wBAAAnD,eAAA,GAAPmD,OAAO,CAAEjI,MAAM,cAAA8E,eAAA,uBAAfA,eAAA,CAAiB1E,SAAS,EAAC;MAAE;;MAE/DyI,mBAAmB,EACjB,CAAAZ,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEjI,MAAM,KACf,CAAC,IAAA4I,eAAO,EAACZ,QAAQ,aAARA,QAAQ,wBAAAjD,iBAAA,GAARiD,QAAQ,CAAEhI,MAAM,cAAA+E,iBAAA,uBAAhBA,iBAAA,CAAkB3E,SAAS,EAAE6H,OAAO,aAAPA,OAAO,wBAAAjD,gBAAA,GAAPiD,OAAO,CAAEjI,MAAM,cAAAgF,gBAAA,uBAAfA,gBAAA,CAAiB5E,SAAS,CAAC;MAAI;MACpE,CAAA4H,QAAQ,aAARA,QAAQ,wBAAA/C,iBAAA,GAAR+C,QAAQ,CAAEhI,MAAM,cAAAiF,iBAAA,uBAAhBA,iBAAA,CAAkB7E,SAAS,MAAI6H,OAAO,aAAPA,OAAO,wBAAA/C,gBAAA,GAAP+C,OAAO,CAAEjI,MAAM,cAAAkF,gBAAA,uBAAfA,gBAAA,CAAiB9E,SAAS,EAAC;MAAE;;MAE/D0I,0BAA0B,EACxB,CAAAb,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE1H,gBAAgB,KACzB,CAAC,IAAAqI,eAAO,EACNZ,QAAQ,aAARA,QAAQ,wBAAA7C,qBAAA,GAAR6C,QAAQ,CAAEzH,gBAAgB,cAAA4E,qBAAA,uBAA1BA,qBAAA,CAA4B3E,mBAAmB,EAC/CyH,OAAO,aAAPA,OAAO,wBAAA7C,qBAAA,GAAP6C,OAAO,CAAE1H,gBAAgB,cAAA6E,qBAAA,uBAAzBA,qBAAA,CAA2B5E,mBAC7B,CAAC;MAEHuI,oBAAoB,EAClB,CAAAd,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAExH,UAAU,KACnB,CAAC,IAAAmI,eAAO,EAACZ,QAAQ,aAARA,QAAQ,wBAAA3C,oBAAA,GAAR2C,QAAQ,CAAEvH,UAAU,cAAA4E,oBAAA,uBAApBA,oBAAA,CAAsB3E,YAAY,EAAEuH,OAAO,aAAPA,OAAO,wBAAA3C,mBAAA,GAAP2C,OAAO,CAAExH,UAAU,cAAA6E,mBAAA,uBAAnBA,mBAAA,CAAqB5E,YAAY,CAAC;MAAI;MAClF,CAAAsH,QAAQ,aAARA,QAAQ,wBAAAzC,qBAAA,GAARyC,QAAQ,CAAEvH,UAAU,cAAA8E,qBAAA,uBAApBA,qBAAA,CAAsB7E,YAAY,MAAIuH,OAAO,aAAPA,OAAO,wBAAAzC,oBAAA,GAAPyC,OAAO,CAAExH,UAAU,cAAA+E,oBAAA,uBAAnBA,oBAAA,CAAqB9E,YAAY,EAAC;MAAE;;MAE7EsI,qBAAqB,EACnB,CAAAf,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAExH,UAAU,KACnB,CAAC,IAAAmI,eAAO,EAACZ,QAAQ,aAARA,QAAQ,wBAAAvC,qBAAA,GAARuC,QAAQ,CAAEvH,UAAU,cAAAgF,qBAAA,uBAApBA,qBAAA,CAAsB5E,WAAW,EAAEoH,OAAO,aAAPA,OAAO,wBAAAvC,oBAAA,GAAPuC,OAAO,CAAExH,UAAU,cAAAiF,oBAAA,uBAAnBA,oBAAA,CAAqB7E,WAAW,CAAC,IAC7E,CAAC,EAAEmH,QAAQ,aAARA,QAAQ,gBAAArC,qBAAA,GAARqC,QAAQ,CAAEvH,UAAU,cAAAkF,qBAAA,eAApBA,qBAAA,CAAsB9E,WAAW,IAAIoH,OAAO,aAAPA,OAAO,gBAAArC,oBAAA,GAAPqC,OAAO,CAAExH,UAAU,cAAAmF,oBAAA,eAAnBA,oBAAA,CAAqB/E,WAAW,CAAC;MAE3EoI,+BAA+B,EAC7B,CAAAhB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAExH,UAAU,KACnB,CAAC,IAAAmI,eAAO,EACNZ,QAAQ,aAARA,QAAQ,wBAAAnC,qBAAA,GAARmC,QAAQ,CAAEvH,UAAU,cAAAoF,qBAAA,uBAApBA,qBAAA,CAAsB/E,qBAAqB,EAC3CmH,OAAO,aAAPA,OAAO,wBAAAnC,oBAAA,GAAPmC,OAAO,CAAExH,UAAU,cAAAqF,oBAAA,uBAAnBA,oBAAA,CAAqBhF,qBACvB,CAAC,IACD,CAAC,EACCkH,QAAQ,aAARA,QAAQ,gBAAAjC,qBAAA,GAARiC,QAAQ,CAAEvH,UAAU,cAAAsF,qBAAA,eAApBA,qBAAA,CAAsBjF,qBAAqB,IAAImH,OAAO,aAAPA,OAAO,gBAAAjC,oBAAA,GAAPiC,OAAO,CAAExH,UAAU,cAAAuF,oBAAA,eAAnBA,oBAAA,CAAqBlF,qBAAqB,CAC1F;MAEHoI,kCAAkC,EAChC,CAAAjB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAExH,UAAU,KACnB,CAAC,IAAAmI,eAAO,EAACZ,QAAQ,aAARA,QAAQ,wBAAA/B,qBAAA,GAAR+B,QAAQ,CAAEvH,UAAU,cAAAwF,qBAAA,uBAApBA,qBAAA,CAAsBrF,cAAc,EAAEqH,OAAO,aAAPA,OAAO,wBAAA/B,oBAAA,GAAP+B,OAAO,CAAExH,UAAU,cAAAyF,oBAAA,uBAAnBA,oBAAA,CAAqBtF,cAAc,CAAC,IACnF,CAAC,EAAEoH,QAAQ,aAARA,QAAQ,gBAAA7B,qBAAA,GAAR6B,QAAQ,CAAEvH,UAAU,cAAA0F,qBAAA,eAApBA,qBAAA,CAAsBvF,cAAc,IAAIqH,OAAO,aAAPA,OAAO,gBAAA7B,oBAAA,GAAP6B,OAAO,CAAExH,UAAU,cAAA2F,oBAAA,eAAnBA,oBAAA,CAAqBxF,cAAc,CAAC;MAEjFuI,uBAAuB,EACrB,CAAAlB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAElH,oBAAoB,KAC7B,CAAC,IAAA6H,eAAO,EAACZ,QAAQ,aAARA,QAAQ,wBAAA3B,qBAAA,GAAR2B,QAAQ,CAAEjH,oBAAoB,cAAAsF,qBAAA,uBAA9BA,qBAAA,CAAgCrF,OAAO,EAAEiH,OAAO,aAAPA,OAAO,wBAAA3B,qBAAA,GAAP2B,OAAO,CAAElH,oBAAoB,cAAAuF,qBAAA,uBAA7BA,qBAAA,CAA+BtF,OAAO,CAAC,KACxF,CAAAgH,QAAQ,aAARA,QAAQ,wBAAAzB,sBAAA,GAARyB,QAAQ,CAAEjH,oBAAoB,cAAAwF,sBAAA,uBAA9BA,sBAAA,CAAgCvF,OAAO,MAAIiH,OAAO,aAAPA,OAAO,wBAAAzB,sBAAA,GAAPyB,OAAO,CAAElH,oBAAoB,cAAAyF,sBAAA,uBAA7BA,sBAAA,CAA+BxF,OAAO,EAAC;MAErFoI,uBAAuB,EAAE,CAAC,EACxB7F,WAAW,CAACtC,aAAa,IACzB,CAAC,IAAA2H,eAAO,EAACZ,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE/G,aAAa,EAAEgH,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEhH,aAAa,CAAC,KACxD+G,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAE/G,aAAa,IAAIgH,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEhH,aAAa,CAAC,CACpD;MAEDoI,kBAAkB,EAAE,CAAC,IAAAT,eAAO,EAACZ,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEsB,QAAQ,EAAErB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEqB,QAAQ,CAAC;MAEnEC,wBAAwB,EAAE,CAAC,IAAAX,eAAO,EAACZ,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAEwB,cAAc,EAAEvB,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEuB,cAAc,CAAC;MAErFC,sBAAsB,EACpB,EAAAhD,kBAAA,GAAAlD,WAAW,CAACpC,KAAK,cAAAsF,kBAAA,uBAAjBA,kBAAA,CAAmBzF,OAAO,MAAK0I,SAAS,IACxC,CAAC,IAAAd,eAAO,EAACZ,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE5G,YAAY,EAAE6G,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE7G,YAAY,CAAC;MAEzDuI,iBAAiB,EAAE,CAAC,IAAAf,eAAO,EACzBZ,QAAQ,aAARA,QAAQ,wBAAAtB,qBAAA,GAARsB,QAAQ,CAAE3F,cAAc,cAAAqE,qBAAA,uBAAxBA,qBAAA,CAA0BpE,SAAS,EACnC2F,OAAO,aAAPA,OAAO,wBAAAtB,qBAAA,GAAPsB,OAAO,CAAE5F,cAAc,cAAAsE,qBAAA,uBAAvBA,qBAAA,CAAyBrE,SAC3B,CAAC;MAEDsH,qBAAqB,EACnB,CAAC,IAAAhB,eAAO,EAACZ,QAAQ,aAARA,QAAQ,wBAAApB,qBAAA,GAARoB,QAAQ,CAAEzF,WAAW,cAAAqE,qBAAA,uBAArBA,qBAAA,CAAuBrE,WAAW,EAAE0F,OAAO,aAAPA,OAAO,wBAAApB,oBAAA,GAAPoB,OAAO,CAAE1F,WAAW,cAAAsE,oBAAA,uBAApBA,oBAAA,CAAsBtE,WAAW,CAAC,IAC/E,CAAC,IAAAqG,eAAO,EACNZ,QAAQ,aAARA,QAAQ,wBAAAlB,sBAAA,GAARkB,QAAQ,CAAEzF,WAAW,cAAAuE,sBAAA,uBAArBA,sBAAA,CAAuBlE,mBAAmB,EAC1CqF,OAAO,aAAPA,OAAO,wBAAAlB,qBAAA,GAAPkB,OAAO,CAAE1F,WAAW,cAAAwE,qBAAA,uBAApBA,qBAAA,CAAsBnE,mBACxB,CAAC;MAEHiH,gCAAgC,EAAE,CAAC,IAAAjB,eAAO,EACxC,CAAC,EAACZ,QAAQ,aAARA,QAAQ,gBAAAhB,qBAAA,GAARgB,QAAQ,CAAEnF,eAAe,cAAAmE,qBAAA,eAAzBA,qBAAA,CAA2BhG,OAAO,GACpC,CAAC,EAACiH,OAAO,aAAPA,OAAO,gBAAAhB,qBAAA,GAAPgB,OAAO,CAAEpF,eAAe,cAAAoE,qBAAA,eAAxBA,qBAAA,CAA0BjG,OAAO,CACrC,CAAC;MAED8I,mBAAmB,EAAE,CAAC,IAAAlB,eAAO,EAACZ,QAAQ,aAARA,QAAQ,uBAARA,QAAQ,CAAE+B,WAAW,EAAE9B,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAE8B,WAAW,CAAC;MAE1EC,2BAA2B,EACzB,CAAA/B,OAAO,aAAPA,OAAO,wBAAAf,qBAAA,GAAPe,OAAO,CAAEnF,iBAAiB,cAAAoE,qBAAA,uBAA1BA,qBAAA,CAA4BlG,OAAO,OAAKgH,QAAQ,aAARA,QAAQ,wBAAAb,qBAAA,GAARa,QAAQ,CAAElF,iBAAiB,cAAAqE,qBAAA,uBAA3BA,qBAAA,CAA6BnG,OAAO;MAE9EiJ,8BAA8B,EAC5B,CAAAhC,OAAO,aAAPA,OAAO,wBAAAb,mBAAA,GAAPa,OAAO,CAAElF,UAAU,cAAAqE,mBAAA,uBAAnBA,mBAAA,CAAqBpG,OAAO,OAAKgH,QAAQ,aAARA,QAAQ,wBAAAX,oBAAA,GAARW,QAAQ,CAAEjF,UAAU,cAAAsE,oBAAA,uBAApBA,oBAAA,CAAsBrG,OAAO;MAEhEkJ,0BAA0B,EACxB,CAAAjC,OAAO,aAAPA,OAAO,wBAAAX,qBAAA,GAAPW,OAAO,CAAEjF,gBAAgB,cAAAsE,qBAAA,uBAAzBA,qBAAA,CAA2BtG,OAAO,OAAKgH,QAAQ,aAARA,QAAQ,wBAAAT,qBAAA,GAARS,QAAQ,CAAEhF,gBAAgB,cAAAuE,qBAAA,uBAA1BA,qBAAA,CAA4BvG,OAAO;MAE5EmJ,wBAAwB,EACtB,CAAAlC,OAAO,aAAPA,OAAO,wBAAAT,qBAAA,GAAPS,OAAO,CAAEhF,qBAAqB,cAAAuE,qBAAA,uBAA9BA,qBAAA,CAAgCxG,OAAO,OAAKgH,QAAQ,aAARA,QAAQ,wBAAAP,qBAAA,GAARO,QAAQ,CAAE/E,qBAAqB,cAAAwE,qBAAA,uBAA/BA,qBAAA,CAAiCzG,OAAO,KACpF,CAAAiH,OAAO,aAAPA,OAAO,wBAAAP,sBAAA,GAAPO,OAAO,CAAEhF,qBAAqB,cAAAyE,sBAAA,uBAA9BA,sBAAA,CAAgCxE,wBAAwB,OACtD8E,QAAQ,aAARA,QAAQ,wBAAAL,sBAAA,GAARK,QAAQ,CAAE/E,qBAAqB,cAAA0E,sBAAA,uBAA/BA,sBAAA,CAAiCzE,wBAAwB,KAC3D,CAAA+E,OAAO,aAAPA,OAAO,wBAAAL,sBAAA,GAAPK,OAAO,CAAEhF,qBAAqB,cAAA2E,sBAAA,uBAA9BA,sBAAA,CAAgCzE,wBAAwB,OACtD6E,QAAQ,aAARA,QAAQ,wBAAAH,sBAAA,GAARG,QAAQ,CAAE/E,qBAAqB,cAAA4E,sBAAA,uBAA/BA,sBAAA,CAAiC1E,wBAAwB,KAC3D,CAAA8E,OAAO,aAAPA,OAAO,wBAAAH,sBAAA,GAAPG,OAAO,CAAEhF,qBAAqB,cAAA6E,sBAAA,uBAA9BA,sBAAA,CAAgC1E,kBAAkB,OAChD4E,QAAQ,aAARA,QAAQ,wBAAAD,sBAAA,GAARC,QAAQ,CAAE/E,qBAAqB,cAAA8E,sBAAA,uBAA/BA,sBAAA,CAAiC3E,kBAAkB;IACzD;EACF,CAAC;AACH,CAAC;;AAED;AACA;AACA;AACA;AACA;AACAxD,aAAa,CAACM,KAAK,GAAG,UAACJ,QAAa,EAAK;EACvC,IAAIA,QAAQ,CAACE,MAAM,CAACM,IAAI,EAAE;IACxB,OAAOR,QAAQ,CAACE,MAAM,CAACM,IAAI,CAACL,UAAU;EACxC;EAEA,OAAO,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACAL,aAAa,CAACwK,oBAAoB,GAAG,UAAC9G,WAAgB,EAAExD,QAAa,EAAK;EAAA,IAAAuK,qBAAA,EAAAC,kBAAA,EAAAC,sBAAA,EAAAC,mBAAA;EACxE;EACA,IAAI,EAAClH,WAAW,aAAXA,WAAW,eAAXA,WAAW,CAAEgG,QAAQ,KAAI,EAACxJ,QAAQ,aAARA,QAAQ,eAARA,QAAQ,CAAEwJ,QAAQ,GAAE;IACjD,OAAO,KAAK;EACd;EAEA,OACE,CAAAhG,WAAW,aAAXA,WAAW,wBAAA+G,qBAAA,GAAX/G,WAAW,CAAEgG,QAAQ,cAAAe,qBAAA,uBAArBA,qBAAA,CAAuBI,OAAO,OAAK3K,QAAQ,aAARA,QAAQ,wBAAAwK,kBAAA,GAARxK,QAAQ,CAAEwJ,QAAQ,cAAAgB,kBAAA,uBAAlBA,kBAAA,CAAoBG,OAAO,KAC9D,CAAAnH,WAAW,aAAXA,WAAW,wBAAAiH,sBAAA,GAAXjH,WAAW,CAAEgG,QAAQ,cAAAiB,sBAAA,uBAArBA,sBAAA,CAAuBG,SAAS,OAAK5K,QAAQ,aAARA,QAAQ,wBAAA0K,mBAAA,GAAR1K,QAAQ,CAAEwJ,QAAQ,cAAAkB,mBAAA,uBAAlBA,mBAAA,CAAoBE,SAAS;AAEtE,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA9K,aAAa,CAAC+K,sBAAsB,GAAG,UAACC,QAAa,EAAEC,QAAa,EAAK;EAAA,IAAAC,kBAAA,EAAAC,kBAAA,EAAAC,cAAA,EAAAC,qBAAA,EAAAC,sBAAA,EAAAC,sBAAA,EAAAC,mBAAA,EAAAC,qBAAA,EAAAC,mBAAA,EAAAC,qBAAA,EAAAC,sBAAA;EACvE,IAAMC,MAAM,GAAG;IAACC,cAAc,EAAE,KAAK;IAAEC,gBAAgB,EAAE;EAAK,CAAC;EAC/D;EACA,IAAI,GAAAb,kBAAA,GAACF,QAAQ,CAAC9K,QAAQ,cAAAgL,kBAAA,eAAjBA,kBAAA,CAAmBxB,QAAQ,KAAI,GAAAyB,kBAAA,GAACF,QAAQ,CAAC/K,QAAQ,cAAAiL,kBAAA,eAAjBA,kBAAA,CAAmBzB,QAAQ,GAAE;IAChE,OAAOmC,MAAM;EACf;;EAEA;EACA,IAAMG,YAAY,GAAG,CAAC,EACpB,CAAAZ,cAAA,GAAAJ,QAAQ,CAACiB,IAAI,cAAAb,cAAA,eAAbA,cAAA,CAAec,SAAS,IACxB,EAAAb,qBAAA,GAAAJ,QAAQ,CAACkB,YAAY,cAAAd,qBAAA,uBAArBA,qBAAA,CAAuB7L,MAAM,MAAK,CAAC,KAAA8L,sBAAA,GACnCL,QAAQ,CAACkB,YAAY,cAAAb,sBAAA,eAArBA,sBAAA,CAAwB,CAAC,CAAC,CAACY,SAAS,IACpC,EAAAX,sBAAA,GAAAN,QAAQ,CAACkB,YAAY,cAAAZ,sBAAA,uBAArBA,sBAAA,CAAwB,CAAC,CAAC,CAACa,KAAK,MAAKC,wBAAa,CAACC,MAAM,CAACC,MAAM,IAChE,EAAAf,mBAAA,GAAAP,QAAQ,CAAC/K,QAAQ,cAAAsL,mBAAA,wBAAAC,qBAAA,GAAjBD,mBAAA,CAAmB9B,QAAQ,cAAA+B,qBAAA,uBAA3BA,qBAAA,CAA6Be,WAAW,MAAKC,oBAAS,CAACC,aAAa,CAACC,IAAI,KAAAjB,mBAAA,GACzET,QAAQ,CAAC/K,QAAQ,cAAAwL,mBAAA,gBAAAC,qBAAA,GAAjBD,mBAAA,CAAmBhC,QAAQ,cAAAiC,qBAAA,gBAAAC,sBAAA,GAA3BD,qBAAA,CAA6BiB,MAAM,cAAAhB,sBAAA,eAAnCA,sBAAA,CAAqCpM,MAAM,CAC5C;EAED,IAAMsM,cAAc,GAClBd,QAAQ,CAAC9K,QAAQ,CAACwJ,QAAQ,CAAC8C,WAAW,KAAKC,oBAAS,CAACC,aAAa,CAACG,QAAQ,IAC3E5B,QAAQ,CAAC/K,QAAQ,CAACwJ,QAAQ,CAAC8C,WAAW,KAAKC,oBAAS,CAACC,aAAa,CAACC,IAAI;EAEzEd,MAAM,CAACC,cAAc,GAAGE,YAAY,IAAIF,cAAc;EACtDD,MAAM,CAACE,gBAAgB,GACrBf,QAAQ,CAAC9K,QAAQ,CAACwJ,QAAQ,CAAC8C,WAAW,KAAKC,oBAAS,CAACC,aAAa,CAACC,IAAI,IACvE1B,QAAQ,CAAC/K,QAAQ,CAACwJ,QAAQ,CAAC8C,WAAW,KAAKC,oBAAS,CAACC,aAAa,CAACG,QAAQ;EAE7E,OAAOhB,MAAM;AACf,CAAC;AAED7L,aAAa,CAAC8M,gBAAgB,GAAG,UAACC,KAAU,EAAK;EAAA,IAAAC,eAAA,EAAAC,qBAAA;EAC/C,OAAO,CAAAF,KAAK,aAALA,KAAK,wBAAAC,eAAA,GAALD,KAAK,CAAE7M,QAAQ,cAAA8M,eAAA,wBAAAC,qBAAA,GAAfD,eAAA,CAAiBtD,QAAQ,cAAAuD,qBAAA,uBAAzBA,qBAAA,CAA2BT,WAAW,MAAKC,oBAAS,CAACC,aAAa,CAACG,QAAQ;AACpF,CAAC;AAAC,IAAAK,QAAA,GAAAC,OAAA,CAAAvN,OAAA,GAEaI,aAAa","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_lodash","require","_constants","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","ControlsUtils","parse","controls","parsedControls","record","_controls$record$meta","_controls$record$meta2","_controls$record$meta3","modifiedBy","getId","paused","recording","lastModified","meta","modifiedByServiceAppName","modifiedByServiceAppId","meetingContainer","meetingContainerUrl","transcribe","transcribing","caption","spokenLanguage","hesiodLlmId","aiSummaryNotification","manualCaptionControl","enabled","entryExitTone","mode","video","videoEnabled","muteOnEntry","shareControl","control","disallowUnmute","reactions","showDisplayNameWithReactions","viewTheParticipantList","_controls$viewThePart","_controls$viewThePart2","_controls$viewThePart3","_controls$viewThePart4","_controls$viewThePart5","_controls$viewThePart6","panelistEnabled","attendeeCount","raiseHand","webcastControl","streaming","meetingFull","_controls$meetingFull","_controls$meetingFull2","_controls$meetingFull3","_controls$meetingFull4","meetingPanelistFull","practiceSession","annotationControl","rdcControl","pollingQAControl","autoEndMeetingWarning","extensionDurationMinutes","countdownDurationMinutes","countdownStartedAt","getControls","oldControls","newControls","_current$muteOnEntry","_previous$muteOnEntry","_current$shareControl","_previous$shareContro","_current$disallowUnmu","_previous$disallowUnm","_current$reactions","_previous$reactions","_current$reactions2","_previous$reactions2","_current$viewTheParti","_previous$viewThePart","_current$viewTheParti2","_previous$viewThePart2","_current$viewTheParti3","_previous$viewThePart3","_current$raiseHand","_previous$raiseHand","_current$video","_previous$video","_previous$record","_previous$record2","_current$record","_previous$record3","_current$record2","_previous$record4","_current$record3","_previous$meetingCont","_current$meetingConta","_previous$transcribe","_current$transcribe","_previous$transcribe2","_current$transcribe2","_previous$transcribe3","_current$transcribe3","_previous$transcribe4","_current$transcribe4","_previous$transcribe5","_current$transcribe5","_previous$transcribe6","_current$transcribe6","_previous$transcribe7","_current$transcribe7","_previous$transcribe8","_current$transcribe8","_previous$manualCapti","_current$manualCaptio","_previous$manualCapti2","_current$manualCaptio2","_newControls$video","_previous$webcastCont","_current$webcastContr","_previous$meetingFull","_current$meetingFull","_previous$meetingFull2","_current$meetingFull2","_previous$practiceSes","_current$practiceSess","_current$annotationCo","_previous$annotationC","_current$rdcControl","_previous$rdcControl","_current$pollingQACon","_previous$pollingQACo","_current$autoEndMeeti","_previous$autoEndMeet","_current$autoEndMeeti2","_previous$autoEndMeet2","_current$autoEndMeeti3","_previous$autoEndMeet3","_current$autoEndMeeti4","_previous$autoEndMeet4","previous","current","updates","hasMuteOnEntryChanged","hasShareControlChanged","hasDisallowUnmuteChanged","hasReactionsChanged","hasReactionDisplayNamesChanged","hasViewTheParticipantListChanged","hasRaiseHandChanged","hasVideoChanged","hasRecordingPausedChanged","isEqual","hasRecordingChanged","hasMeetingContainerChanged","hasTranscribeChanged","hasHesiodLLMIdChanged","hasAiSummaryNotificationChanged","hasTranscribeSpokenLanguageChanged","hasManualCaptionChanged","hasEntryExitToneChanged","hasBreakoutChanged","breakout","hasInterpretationChanged","interpretation","hasVideoEnabledChanged","undefined","hasWebcastChanged","hasMeetingFullChanged","hasPracticeSessionEnabledChanged","hasStageViewChanged","videoLayout","hasAnnotationControlChanged","hasRemoteDesktopControlChanged","hasPollingQAControlChanged","hasAutoEndMeetingChanged","isNeedReplaceMembers","_oldControls$breakout","_controls$breakout","_oldControls$breakout2","_controls$breakout2","groupId","sessionId","getSessionSwitchStatus","oldLocus","newLocus","_oldLocus$controls","_newLocus$controls","_oldLocus$self","_newLocus$participant","_newLocus$participant2","_newLocus$participant3","_newLocus$controls2","_newLocus$controls2$b","_newLocus$controls3","_newLocus$controls3$b","_newLocus$controls3$b2","status","isReturnToMain","isJoinToBreakout","needUseCache","self","isCreator","participants","state","MEETING_STATE","STATES","JOINED","sessionType","BREAKOUTS","SESSION_TYPES","MAIN","groups","BREAKOUT","isMainSessionDTO","locus","_locus$controls","_locus$controls$break","_default","exports"],"sources":["controlsUtils.ts"],"sourcesContent":["import {isEqual} from 'lodash';\nimport {BREAKOUTS, MEETING_STATE} from '../constants';\n\nconst ControlsUtils: any = {};\n\n/**\n * Controls\n * @typedef {Object} LocusControls\n * @property {Object} record\n * @property {Boolean} record.recording\n * @property {Object} record.meta\n * @property {String} record.meta.modifiedBy\n */\n\n/**\n * parse the relevant host values that we care about: id\n * @param {LocusControls} controls\n * @returns {Object} parsedObject - parsed host or null if host was undefined\n * @returns {String} parsedObject.recordingId\n */\nControlsUtils.parse = (controls: any) => {\n const parsedControls = {...controls};\n\n if (controls && controls.record) {\n parsedControls.record = {\n modifiedBy: ControlsUtils.getId(controls),\n paused: controls.record.paused ? controls.record.paused : false,\n recording: controls.record.recording,\n lastModified: controls.record.meta?.lastModified,\n modifiedByServiceAppName: controls.record.meta?.modifiedByServiceAppName,\n modifiedByServiceAppId: controls.record.meta?.modifiedByServiceAppId,\n };\n }\n\n if (controls && controls.meetingContainer) {\n parsedControls.meetingContainer = {\n meetingContainerUrl: controls.meetingContainer.meetingContainerUrl,\n };\n }\n\n if (controls && controls.transcribe) {\n parsedControls.transcribe = {\n transcribing: controls.transcribe.transcribing,\n caption: controls.transcribe.caption,\n spokenLanguage: controls.transcribe.spokenLanguage,\n hesiodLlmId: controls.transcribe.hesiodLlmId,\n aiSummaryNotification: controls.transcribe.aiSummaryNotification,\n };\n }\n\n if (controls && controls.manualCaptionControl) {\n parsedControls.manualCaptionControl = {\n enabled: controls.manualCaptionControl.enabled,\n };\n }\n\n if (controls && controls.entryExitTone) {\n parsedControls.entryExitTone = controls.entryExitTone.enabled\n ? controls.entryExitTone.mode\n : null;\n }\n\n if (controls && controls.video) {\n parsedControls.videoEnabled = controls.video.enabled;\n }\n\n if (controls?.muteOnEntry) {\n parsedControls.muteOnEntry = {enabled: controls.muteOnEntry.enabled};\n }\n\n if (controls?.shareControl) {\n parsedControls.shareControl = {control: controls.shareControl.control};\n }\n\n if (controls?.disallowUnmute) {\n parsedControls.disallowUnmute = {enabled: controls.disallowUnmute.enabled};\n }\n\n if (controls?.reactions) {\n parsedControls.reactions = {\n enabled: controls.reactions.enabled,\n showDisplayNameWithReactions: controls.reactions.showDisplayNameWithReactions,\n };\n }\n\n if (controls?.viewTheParticipantList) {\n parsedControls.viewTheParticipantList = {\n enabled: controls.viewTheParticipantList?.enabled ?? false,\n panelistEnabled: controls.viewTheParticipantList?.panelistEnabled ?? false,\n attendeeCount: controls.viewTheParticipantList?.attendeeCount ?? 0,\n };\n }\n\n if (controls?.raiseHand) {\n parsedControls.raiseHand = {enabled: controls.raiseHand.enabled};\n }\n\n if (controls?.video) {\n parsedControls.video = {enabled: controls.video.enabled};\n }\n\n if (controls?.webcastControl) {\n parsedControls.webcastControl = {streaming: controls.webcastControl.streaming};\n }\n\n if (controls?.meetingFull) {\n parsedControls.meetingFull = {\n meetingFull: controls.meetingFull?.meetingFull ?? false,\n meetingPanelistFull: controls.meetingFull?.meetingPanelistFull ?? false,\n };\n }\n\n if (controls?.practiceSession) {\n parsedControls.practiceSession = {\n enabled: controls.practiceSession.enabled,\n };\n }\n\n if (controls?.annotationControl) {\n parsedControls.annotationControl = {\n enabled: controls.annotationControl.enabled,\n };\n }\n\n if (controls?.rdcControl) {\n parsedControls.rdcControl = {\n enabled: controls.rdcControl.enabled,\n };\n }\n\n if (controls?.pollingQAControl) {\n parsedControls.pollingQAControl = {\n enabled: controls.pollingQAControl.enabled,\n };\n }\n\n if (controls?.autoEndMeetingWarning) {\n parsedControls.autoEndMeetingWarning = {\n enabled: controls.autoEndMeetingWarning.enabled,\n extensionDurationMinutes: controls.autoEndMeetingWarning.extensionDurationMinutes,\n countdownDurationMinutes: controls.autoEndMeetingWarning.countdownDurationMinutes,\n countdownStartedAt: controls.autoEndMeetingWarning.countdownStartedAt,\n };\n }\n\n return parsedControls;\n};\n\n/**\n * parses and returns previous state vs current state and triggers the changes.\n * @param {LocusControls} oldControls previous state\n * @param {LocusControls} newControls current state\n * @returns {Object} combination of state plus the changes\n */\nControlsUtils.getControls = (oldControls: any, newControls: any) => {\n const previous = ControlsUtils.parse(oldControls);\n const current = ControlsUtils.parse(newControls);\n\n return {\n previous,\n current,\n updates: {\n hasMuteOnEntryChanged: current?.muteOnEntry?.enabled !== previous?.muteOnEntry?.enabled,\n\n hasShareControlChanged: current?.shareControl?.control !== previous?.shareControl?.control,\n\n hasDisallowUnmuteChanged:\n current?.disallowUnmute?.enabled !== previous?.disallowUnmute?.enabled,\n\n hasReactionsChanged: current?.reactions?.enabled !== previous?.reactions?.enabled,\n\n hasReactionDisplayNamesChanged:\n current?.reactions?.showDisplayNameWithReactions !==\n previous?.reactions?.showDisplayNameWithReactions,\n\n hasViewTheParticipantListChanged:\n current?.viewTheParticipantList?.enabled !== previous?.viewTheParticipantList?.enabled ||\n current?.viewTheParticipantList?.panelistEnabled !==\n previous?.viewTheParticipantList?.panelistEnabled ||\n current?.viewTheParticipantList?.attendeeCount !==\n previous?.viewTheParticipantList?.attendeeCount,\n\n hasRaiseHandChanged: current?.raiseHand?.enabled !== previous?.raiseHand?.enabled,\n\n hasVideoChanged: current?.video?.enabled !== previous?.video?.enabled,\n\n hasRecordingPausedChanged:\n current?.record &&\n !isEqual(previous?.record?.paused, current.record.paused) &&\n (previous?.record?.recording || current?.record?.recording), // see comments directly below\n\n hasRecordingChanged:\n current?.record &&\n !isEqual(previous?.record?.recording, current?.record?.recording) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.record?.recording || current?.record?.recording), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasMeetingContainerChanged:\n current?.meetingContainer &&\n !isEqual(\n previous?.meetingContainer?.meetingContainerUrl,\n current?.meetingContainer?.meetingContainerUrl\n ),\n\n hasTranscribeChanged:\n current?.transcribe &&\n !isEqual(previous?.transcribe?.transcribing, current?.transcribe?.transcribing) && // upon first join, previous?.record?.recording = undefined; thus, never going to be equal and will always return true\n (previous?.transcribe?.transcribing || current?.transcribe?.transcribing), // therefore, condition added to prevent false firings of #meeting:recording:stopped upon first joining a meeting\n\n hasHesiodLLMIdChanged:\n current?.transcribe &&\n !isEqual(previous?.transcribe?.hesiodLlmId, current?.transcribe?.hesiodLlmId) &&\n !!(previous?.transcribe?.hesiodLlmId || current?.transcribe?.hesiodLlmId),\n\n hasAiSummaryNotificationChanged:\n current?.transcribe &&\n !isEqual(\n previous?.transcribe?.aiSummaryNotification,\n current?.transcribe?.aiSummaryNotification\n ) &&\n !!(\n previous?.transcribe?.aiSummaryNotification || current?.transcribe?.aiSummaryNotification\n ),\n\n hasTranscribeSpokenLanguageChanged:\n current?.transcribe &&\n !isEqual(previous?.transcribe?.spokenLanguage, current?.transcribe?.spokenLanguage) &&\n !!(previous?.transcribe?.spokenLanguage || current?.transcribe?.spokenLanguage),\n\n hasManualCaptionChanged:\n current?.manualCaptionControl &&\n !isEqual(previous?.manualCaptionControl?.enabled, current?.manualCaptionControl?.enabled) &&\n (previous?.manualCaptionControl?.enabled || current?.manualCaptionControl?.enabled),\n\n hasEntryExitToneChanged: !!(\n newControls.entryExitTone &&\n !isEqual(previous?.entryExitTone, current?.entryExitTone) &&\n (previous?.entryExitTone || current?.entryExitTone)\n ),\n\n hasBreakoutChanged: !isEqual(previous?.breakout, current?.breakout),\n\n hasInterpretationChanged: !isEqual(previous?.interpretation, current?.interpretation),\n\n hasVideoEnabledChanged:\n newControls.video?.enabled !== undefined &&\n !isEqual(previous?.videoEnabled, current?.videoEnabled),\n\n hasWebcastChanged: !isEqual(\n previous?.webcastControl?.streaming,\n current?.webcastControl?.streaming\n ),\n\n hasMeetingFullChanged:\n !isEqual(previous?.meetingFull?.meetingFull, current?.meetingFull?.meetingFull) ||\n !isEqual(\n previous?.meetingFull?.meetingPanelistFull,\n current?.meetingFull?.meetingPanelistFull\n ),\n\n hasPracticeSessionEnabledChanged: !isEqual(\n !!previous?.practiceSession?.enabled,\n !!current?.practiceSession?.enabled\n ),\n\n hasStageViewChanged: !isEqual(previous?.videoLayout, current?.videoLayout),\n\n hasAnnotationControlChanged:\n current?.annotationControl?.enabled !== previous?.annotationControl?.enabled,\n\n hasRemoteDesktopControlChanged:\n current?.rdcControl?.enabled !== previous?.rdcControl?.enabled,\n\n hasPollingQAControlChanged:\n current?.pollingQAControl?.enabled !== previous?.pollingQAControl?.enabled,\n\n hasAutoEndMeetingChanged:\n current?.autoEndMeetingWarning?.enabled !== previous?.autoEndMeetingWarning?.enabled ||\n current?.autoEndMeetingWarning?.extensionDurationMinutes !==\n previous?.autoEndMeetingWarning?.extensionDurationMinutes ||\n current?.autoEndMeetingWarning?.countdownDurationMinutes !==\n previous?.autoEndMeetingWarning?.countdownDurationMinutes ||\n current?.autoEndMeetingWarning?.countdownStartedAt !==\n previous?.autoEndMeetingWarning?.countdownStartedAt,\n },\n };\n};\n\n/**\n * Extract the id from the record controls object\n * @param {LocusControls} controls\n * @returns {String|null}\n */\nControlsUtils.getId = (controls: any) => {\n if (controls.record.meta) {\n return controls.record.meta.modifiedBy;\n }\n\n return null;\n};\n\n/**\n * check whether to replace the meeting's members or not.\n * For case joined breakout session, need replace meeting's members\n * @param {LocusControls} oldControls\n * @param {LocusControls} controls\n * @returns {Boolean}\n */\nControlsUtils.isNeedReplaceMembers = (oldControls: any, controls: any) => {\n // no breakout case\n if (!oldControls?.breakout || !controls?.breakout) {\n return false;\n }\n\n return (\n oldControls?.breakout?.groupId !== controls?.breakout?.groupId ||\n oldControls?.breakout?.sessionId !== controls?.breakout?.sessionId\n );\n};\n\n/**\n * determine the switch status between breakout session and main session.\n * @param {LocusInfo} oldLocus\n * @param {LocusInfo} newLocus\n * @returns {Object}\n */\nControlsUtils.getSessionSwitchStatus = (oldLocus: any, newLocus: any) => {\n const status = {isReturnToMain: false, isJoinToBreakout: false};\n // no breakout case\n if (!oldLocus.controls?.breakout || !newLocus.controls?.breakout) {\n return status;\n }\n\n // It is used to fix the timing issue triggered when the creator leaves session to ensure that the member list is complete\n const needUseCache = !!(\n oldLocus.self?.isCreator &&\n newLocus.participants?.length === 1 &&\n newLocus.participants?.[0].isCreator &&\n newLocus.participants?.[0].state === MEETING_STATE.STATES.JOINED &&\n newLocus.controls?.breakout?.sessionType === BREAKOUTS.SESSION_TYPES.MAIN &&\n newLocus.controls?.breakout?.groups?.length\n );\n\n const isReturnToMain =\n oldLocus.controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT &&\n newLocus.controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.MAIN;\n\n status.isReturnToMain = needUseCache || isReturnToMain;\n status.isJoinToBreakout =\n oldLocus.controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.MAIN &&\n newLocus.controls.breakout.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT;\n\n return status;\n};\n\nControlsUtils.isMainSessionDTO = (locus: any) => {\n return locus?.controls?.breakout?.sessionType !== BREAKOUTS.SESSION_TYPES.BREAKOUT;\n};\n\nexport default ControlsUtils;\n"],"mappings":"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","ignoreList":[]}
|