@webex/plugin-meetings 3.1.0-next.12 → 3.1.0-next.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/breakouts/breakout.js +1 -1
- package/dist/breakouts/index.js +1 -1
- package/dist/interpretation/index.js +1 -1
- package/dist/interpretation/siLanguage.js +1 -1
- package/dist/meeting/index.js +3 -2
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +27 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -1
- package/dist/meeting/util.js +0 -16
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting/voicea-meeting.js +37 -49
- package/dist/meeting/voicea-meeting.js.map +1 -1
- package/dist/roap/request.js +3 -27
- package/dist/roap/request.js.map +1 -1
- package/dist/types/meeting/locusMediaRequest.d.ts +1 -0
- package/dist/types/meeting/voicea-meeting.d.ts +3 -2
- package/dist/webinar/index.js +1 -1
- package/package.json +3 -3
- package/src/meeting/index.ts +5 -3
- package/src/meeting/locusMediaRequest.ts +31 -0
- package/src/meeting/util.ts +1 -16
- package/src/meeting/voicea-meeting.ts +44 -46
- package/src/roap/request.ts +1 -24
- package/test/unit/spec/meeting/index.js +2 -2
- package/test/unit/spec/meeting/locusMediaRequest.ts +49 -0
- package/test/unit/spec/meeting/utils.js +0 -10
- package/test/unit/spec/meeting/voicea-meeting.ts +5 -14
- package/test/unit/spec/roap/request.ts +0 -37
|
@@ -4,15 +4,23 @@ var _Array$from = require("@babel/runtime-corejs2/core-js/array/from");
|
|
|
4
4
|
var _Symbol = require("@babel/runtime-corejs2/core-js/symbol");
|
|
5
5
|
var _Symbol$iterator = require("@babel/runtime-corejs2/core-js/symbol/iterator");
|
|
6
6
|
var _Array$isArray = require("@babel/runtime-corejs2/core-js/array/is-array");
|
|
7
|
+
var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
|
|
8
|
+
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
|
|
9
|
+
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
|
|
10
|
+
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
|
|
11
|
+
var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
|
|
7
12
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
8
13
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
9
14
|
_Object$defineProperty(exports, "__esModule", {
|
|
10
15
|
value: true
|
|
11
16
|
});
|
|
12
17
|
exports.processNewCaptions = exports.getSpeakerFromProxyOrStore = exports.getSpeaker = void 0;
|
|
18
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
13
19
|
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/slicedToArray"));
|
|
14
20
|
var _values = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/values"));
|
|
15
21
|
var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
|
|
22
|
+
function ownKeys(e, r) { var t = _Object$keys(e); if (_Object$getOwnPropertySymbols) { var o = _Object$getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return _Object$getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
23
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
16
24
|
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof _Symbol !== "undefined" && o[_Symbol$iterator] || o["@@iterator"]; if (!it) { if (_Array$isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }
|
|
17
25
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return _Array$from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
18
26
|
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
@@ -59,39 +67,6 @@ var processNewCaptions = exports.processNewCaptions = function processNewCaption
|
|
|
59
67
|
meeting = _ref2.meeting;
|
|
60
68
|
var transcriptId = data.transcriptId;
|
|
61
69
|
var transcriptData = meeting.transcription;
|
|
62
|
-
if (data.isFinal) {
|
|
63
|
-
var _data$transcript, _data$transcript2, _data$transcript3;
|
|
64
|
-
transcriptData.interimCaptions[transcriptId].forEach(function (interimId) {
|
|
65
|
-
var interimTranscriptIndex = transcriptData.captions.findIndex(function (transcript) {
|
|
66
|
-
return transcript.id === interimId;
|
|
67
|
-
});
|
|
68
|
-
if (interimTranscriptIndex !== -1) {
|
|
69
|
-
transcriptData.captions.splice(interimTranscriptIndex, 1);
|
|
70
|
-
}
|
|
71
|
-
});
|
|
72
|
-
delete transcriptData.interimCaptions[transcriptId];
|
|
73
|
-
var csisKey = (_data$transcript = data.transcript) === null || _data$transcript === void 0 ? void 0 : _data$transcript.csis[0];
|
|
74
|
-
var _getSpeakerFromProxyO = getSpeakerFromProxyOrStore({
|
|
75
|
-
meetingMembers: meeting.members.membersCollection.members,
|
|
76
|
-
transcriptData: transcriptData,
|
|
77
|
-
csisKey: csisKey
|
|
78
|
-
}),
|
|
79
|
-
needsCaching = _getSpeakerFromProxyO.needsCaching,
|
|
80
|
-
speaker = _getSpeakerFromProxyO.speaker;
|
|
81
|
-
if (needsCaching) {
|
|
82
|
-
transcriptData.speakerProxy[csisKey] = speaker;
|
|
83
|
-
}
|
|
84
|
-
var captionData = {
|
|
85
|
-
id: transcriptId,
|
|
86
|
-
isFinal: data.isFinal,
|
|
87
|
-
translations: data.translations,
|
|
88
|
-
text: (_data$transcript2 = data.transcript) === null || _data$transcript2 === void 0 ? void 0 : _data$transcript2.text,
|
|
89
|
-
currentSpokenLanguage: (_data$transcript3 = data.transcript) === null || _data$transcript3 === void 0 ? void 0 : _data$transcript3.transcript_language_code,
|
|
90
|
-
timestamp: data.timestamp,
|
|
91
|
-
speaker: speaker
|
|
92
|
-
};
|
|
93
|
-
transcriptData.captions.push(captionData);
|
|
94
|
-
}
|
|
95
70
|
var _data$transcripts = data.transcripts,
|
|
96
71
|
transcripts = _data$transcripts === void 0 ? [] : _data$transcripts;
|
|
97
72
|
var transcriptsPerCsis = new _map.default();
|
|
@@ -106,12 +81,10 @@ var processNewCaptions = exports.processNewCaptions = function processNewCaption
|
|
|
106
81
|
_transcript$csis = (0, _slicedToArray2.default)(transcript.csis, 1),
|
|
107
82
|
csisMember = _transcript$csis[0];
|
|
108
83
|
var newCaption = "".concat((_transcriptsPerCsis$g = (_transcriptsPerCsis$g2 = transcriptsPerCsis.get(csisMember)) === null || _transcriptsPerCsis$g2 === void 0 ? void 0 : _transcriptsPerCsis$g2.text) !== null && _transcriptsPerCsis$g !== void 0 ? _transcriptsPerCsis$g : '', " ").concat(text).trim();
|
|
109
|
-
|
|
110
|
-
// eslint-disable-next-line camelcase
|
|
111
|
-
transcriptsPerCsis.set(csisMember, {
|
|
84
|
+
transcriptsPerCsis.set(csisMember, _objectSpread(_objectSpread({}, transcript), {}, {
|
|
112
85
|
text: newCaption,
|
|
113
86
|
currentSpokenLanguage: currentSpokenLanguage
|
|
114
|
-
});
|
|
87
|
+
}));
|
|
115
88
|
}
|
|
116
89
|
} catch (err) {
|
|
117
90
|
_iterator.e(err);
|
|
@@ -123,37 +96,52 @@ var processNewCaptions = exports.processNewCaptions = function processNewCaption
|
|
|
123
96
|
_step2;
|
|
124
97
|
try {
|
|
125
98
|
var _loop = function _loop() {
|
|
99
|
+
var _meeting$transcriptio, _meeting$transcriptio2, _meeting$transcriptio3, _meeting$transcriptio4, _data$transcripts$;
|
|
126
100
|
var _step2$value = (0, _slicedToArray2.default)(_step2.value, 2),
|
|
127
101
|
key = _step2$value[0],
|
|
128
102
|
value = _step2$value[1];
|
|
129
|
-
var
|
|
103
|
+
var _getSpeakerFromProxyO = getSpeakerFromProxyOrStore({
|
|
130
104
|
meetingMembers: meeting.members.membersCollection.members,
|
|
131
105
|
transcriptData: transcriptData,
|
|
132
106
|
csisKey: key
|
|
133
107
|
}),
|
|
134
|
-
needsCaching =
|
|
135
|
-
speaker =
|
|
108
|
+
needsCaching = _getSpeakerFromProxyO.needsCaching,
|
|
109
|
+
speaker = _getSpeakerFromProxyO.speaker;
|
|
110
|
+
var speakerId = speaker.speakerId;
|
|
111
|
+
var interimId = "".concat(transcriptId, "_").concat(speakerId);
|
|
136
112
|
if (needsCaching) {
|
|
137
113
|
transcriptData.speakerProxy[key] = speaker;
|
|
138
114
|
}
|
|
139
|
-
var speakerId = speaker.speakerId;
|
|
140
|
-
var interimId = "".concat(transcriptId, "_").concat(speakerId);
|
|
141
115
|
var captionData = {
|
|
142
116
|
id: interimId,
|
|
143
117
|
isFinal: data.isFinal,
|
|
144
118
|
translations: value.translations,
|
|
145
119
|
text: value.text,
|
|
146
|
-
currentCaptionLanguage: value.currentSpokenLanguage,
|
|
120
|
+
currentCaptionLanguage: ((_meeting$transcriptio = meeting.transcription) === null || _meeting$transcriptio === void 0 ? void 0 : (_meeting$transcriptio2 = _meeting$transcriptio.languageOptions) === null || _meeting$transcriptio2 === void 0 ? void 0 : _meeting$transcriptio2.currentCaptionLanguage) || value.currentSpokenLanguage,
|
|
121
|
+
currentSpokenLanguage: ((_meeting$transcriptio3 = meeting.transcription) === null || _meeting$transcriptio3 === void 0 ? void 0 : (_meeting$transcriptio4 = _meeting$transcriptio3.languageOptions) === null || _meeting$transcriptio4 === void 0 ? void 0 : _meeting$transcriptio4.currentSpokenLanguage) || ((_data$transcripts$ = data.transcripts[0]) === null || _data$transcripts$ === void 0 ? void 0 : _data$transcripts$.transcript_language_code),
|
|
147
122
|
timestamp: value === null || value === void 0 ? void 0 : value.timestamp,
|
|
148
123
|
speaker: speaker
|
|
149
124
|
};
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
125
|
+
if (!data.isFinal) {
|
|
126
|
+
var interimTranscriptIndex = transcriptData.captions.findIndex(function (transcript) {
|
|
127
|
+
return transcript.id === interimId;
|
|
128
|
+
});
|
|
129
|
+
if (interimTranscriptIndex !== -1) {
|
|
130
|
+
transcriptData.captions.splice(interimTranscriptIndex, 1);
|
|
131
|
+
}
|
|
132
|
+
interimTranscriptionIds.push(interimId);
|
|
133
|
+
} else {
|
|
134
|
+
transcriptData.interimCaptions[transcriptId].forEach(function (innerInterimId) {
|
|
135
|
+
var interimTranscriptIndex = transcriptData.captions.findIndex(function (transcript) {
|
|
136
|
+
return transcript.id === innerInterimId;
|
|
137
|
+
});
|
|
138
|
+
if (interimTranscriptIndex !== -1) {
|
|
139
|
+
transcriptData.captions.splice(interimTranscriptIndex, 1);
|
|
140
|
+
}
|
|
141
|
+
});
|
|
142
|
+
delete transcriptData.interimCaptions[transcriptId];
|
|
143
|
+
captionData.id = transcriptId;
|
|
155
144
|
}
|
|
156
|
-
interimTranscriptionIds.push(interimId);
|
|
157
145
|
transcriptData.captions.push(captionData);
|
|
158
146
|
};
|
|
159
147
|
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getSpeaker","exports","members","csis","arguments","length","undefined","_values","default","find","member","_member$participant$s","memberCSIs","participant","status","some","csi","includes","getSpeakerFromProxyOrStore","_ref","_meetingMember$partic","_meetingMember$partic2","csisKey","meetingMembers","transcriptData","speaker","speakerId","name","needsCaching","speakerProxy","meetingMember","person","id","processNewCaptions","_ref2","data","meeting","transcriptId","transcription","isFinal","_data$transcript","_data$transcript2","_data$transcript3","interimCaptions","forEach","interimId","interimTranscriptIndex","captions","findIndex","transcript","splice","_getSpeakerFromProxyO","membersCollection","captionData","translations","text","currentSpokenLanguage","transcript_language_code","timestamp","push","_data$transcripts","transcripts","transcriptsPerCsis","_map","_iterator","_createForOfIteratorHelper","_step","s","n","done","_transcriptsPerCsis$g","_transcriptsPerCsis$g2","value","_transcript$csis","_slicedToArray2","csisMember","newCaption","concat","get","trim","set","err","e","f","interimTranscriptionIds","_iterator2","_step2","_loop","_step2$value","key","_getSpeakerFromProxyO2","currentCaptionLanguage"],"sources":["voicea-meeting.ts"],"sourcesContent":["export const getSpeaker = (members, csis = []) =>\n Object.values(members).find((member: any) => {\n const memberCSIs = member.participant.status.csis ?? [];\n\n return csis.some((csi) => memberCSIs.includes(csi));\n });\n\nexport const getSpeakerFromProxyOrStore = ({csisKey, meetingMembers, transcriptData}) => {\n let speaker = {\n speakerId: '',\n name: '',\n };\n\n let needsCaching = false;\n\n if (csisKey && transcriptData.speakerProxy[csisKey]) {\n speaker = transcriptData.speakerProxy[csisKey];\n\n return {speaker, needsCaching};\n }\n\n const meetingMember: any = getSpeaker(meetingMembers, [csisKey]);\n\n speaker = {\n speakerId: meetingMember?.participant.person.id ?? '',\n name: meetingMember?.participant.person.name ?? '',\n };\n\n needsCaching = true;\n\n return {speaker, needsCaching};\n};\n\nexport const processNewCaptions = ({data, meeting}) => {\n const {transcriptId} = data;\n const transcriptData = meeting.transcription;\n\n if (data.isFinal) {\n transcriptData.interimCaptions[transcriptId].forEach((interimId) => {\n const interimTranscriptIndex = transcriptData.captions.findIndex(\n (transcript) => transcript.id === interimId\n );\n\n if (interimTranscriptIndex !== -1) {\n transcriptData.captions.splice(interimTranscriptIndex, 1);\n }\n });\n delete transcriptData.interimCaptions[transcriptId];\n const csisKey = data.transcript?.csis[0];\n\n const {needsCaching, speaker} = getSpeakerFromProxyOrStore({\n meetingMembers: meeting.members.membersCollection.members,\n transcriptData,\n csisKey,\n });\n\n if (needsCaching) {\n transcriptData.speakerProxy[csisKey] = speaker;\n }\n const captionData = {\n id: transcriptId,\n isFinal: data.isFinal,\n translations: data.translations,\n text: data.transcript?.text,\n currentSpokenLanguage: data.transcript?.transcript_language_code,\n timestamp: data.timestamp,\n speaker,\n };\n transcriptData.captions.push(captionData);\n }\n const {transcripts = []} = data;\n const transcriptsPerCsis = new Map();\n\n for (const transcript of transcripts) {\n const {\n text,\n transcript_language_code: currentSpokenLanguage,\n csis: [csisMember],\n } = transcript;\n\n const newCaption = `${transcriptsPerCsis.get(csisMember)?.text ?? ''} ${text}`.trim();\n\n // eslint-disable-next-line camelcase\n transcriptsPerCsis.set(csisMember, {text: newCaption, currentSpokenLanguage});\n }\n const interimTranscriptionIds = [];\n\n for (const [key, value] of transcriptsPerCsis) {\n const {needsCaching, speaker} = getSpeakerFromProxyOrStore({\n meetingMembers: meeting.members.membersCollection.members,\n transcriptData,\n csisKey: key,\n });\n\n if (needsCaching) {\n transcriptData.speakerProxy[key] = speaker;\n }\n const {speakerId} = speaker;\n const interimId = `${transcriptId}_${speakerId}`;\n const captionData = {\n id: interimId,\n isFinal: data.isFinal,\n translations: value.translations,\n text: value.text,\n currentCaptionLanguage: value.currentSpokenLanguage,\n timestamp: value?.timestamp,\n speaker,\n };\n\n const interimTranscriptIndex = transcriptData.captions.findIndex(\n (transcript) => transcript.id === interimId\n );\n\n if (interimTranscriptIndex !== -1) {\n transcriptData.captions.splice(interimTranscriptIndex, 1);\n }\n\n interimTranscriptionIds.push(interimId);\n transcriptData.captions.push(captionData);\n }\n transcriptData.interimCaptions[transcriptId] = interimTranscriptionIds;\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["getSpeaker","exports","members","csis","arguments","length","undefined","_values","default","find","member","_member$participant$s","memberCSIs","participant","status","some","csi","includes","getSpeakerFromProxyOrStore","_ref","_meetingMember$partic","_meetingMember$partic2","csisKey","meetingMembers","transcriptData","speaker","speakerId","name","needsCaching","speakerProxy","meetingMember","person","id","processNewCaptions","_ref2","data","meeting","transcriptId","transcription","_data$transcripts","transcripts","transcriptsPerCsis","_map","_iterator","_createForOfIteratorHelper","_step","s","n","done","_transcriptsPerCsis$g","_transcriptsPerCsis$g2","transcript","value","text","currentSpokenLanguage","transcript_language_code","_transcript$csis","_slicedToArray2","csisMember","newCaption","concat","get","trim","set","_objectSpread","err","e","f","interimTranscriptionIds","_iterator2","_step2","_loop","_meeting$transcriptio","_meeting$transcriptio2","_meeting$transcriptio3","_meeting$transcriptio4","_data$transcripts$","_step2$value","key","_getSpeakerFromProxyO","membersCollection","interimId","captionData","isFinal","translations","currentCaptionLanguage","languageOptions","timestamp","interimTranscriptIndex","captions","findIndex","splice","push","interimCaptions","forEach","innerInterimId"],"sources":["voicea-meeting.ts"],"sourcesContent":["import {type MeetingTranscriptPayload} from '@webex/internal-plugin-voicea';\n\nexport const getSpeaker = (members, csis = []) =>\n Object.values(members).find((member: any) => {\n const memberCSIs = member.participant.status.csis ?? [];\n\n return csis.some((csi) => memberCSIs.includes(csi));\n });\n\nexport const getSpeakerFromProxyOrStore = ({csisKey, meetingMembers, transcriptData}) => {\n let speaker = {\n speakerId: '',\n name: '',\n };\n\n let needsCaching = false;\n\n if (csisKey && transcriptData.speakerProxy[csisKey]) {\n speaker = transcriptData.speakerProxy[csisKey];\n\n return {speaker, needsCaching};\n }\n\n const meetingMember: any = getSpeaker(meetingMembers, [csisKey]);\n\n speaker = {\n speakerId: meetingMember?.participant.person.id ?? '',\n name: meetingMember?.participant.person.name ?? '',\n };\n\n needsCaching = true;\n\n return {speaker, needsCaching};\n};\n\nexport const processNewCaptions = ({\n data,\n meeting,\n}: {\n data: MeetingTranscriptPayload;\n meeting: any;\n}) => {\n const {transcriptId} = data;\n const transcriptData = meeting.transcription;\n\n const {transcripts = []} = data;\n const transcriptsPerCsis = new Map();\n\n for (const transcript of transcripts) {\n const {\n text,\n transcript_language_code: currentSpokenLanguage,\n csis: [csisMember],\n } = transcript;\n\n const newCaption = `${transcriptsPerCsis.get(csisMember)?.text ?? ''} ${text}`.trim();\n\n transcriptsPerCsis.set(csisMember, {\n ...transcript,\n text: newCaption,\n currentSpokenLanguage,\n });\n }\n const interimTranscriptionIds = [];\n\n for (const [key, value] of transcriptsPerCsis) {\n const {needsCaching, speaker} = getSpeakerFromProxyOrStore({\n meetingMembers: meeting.members.membersCollection.members,\n transcriptData,\n csisKey: key,\n });\n const {speakerId} = speaker;\n const interimId = `${transcriptId}_${speakerId}`;\n\n if (needsCaching) {\n transcriptData.speakerProxy[key] = speaker;\n }\n\n const captionData = {\n id: interimId,\n isFinal: data.isFinal,\n translations: value.translations,\n text: value.text,\n currentCaptionLanguage:\n meeting.transcription?.languageOptions?.currentCaptionLanguage ||\n value.currentSpokenLanguage,\n currentSpokenLanguage:\n meeting.transcription?.languageOptions?.currentSpokenLanguage ||\n data.transcripts[0]?.transcript_language_code,\n timestamp: value?.timestamp,\n speaker,\n };\n\n if (!data.isFinal) {\n const interimTranscriptIndex = transcriptData.captions.findIndex(\n (transcript) => transcript.id === interimId\n );\n\n if (interimTranscriptIndex !== -1) {\n transcriptData.captions.splice(interimTranscriptIndex, 1);\n }\n\n interimTranscriptionIds.push(interimId);\n } else {\n transcriptData.interimCaptions[transcriptId].forEach((innerInterimId) => {\n const interimTranscriptIndex = transcriptData.captions.findIndex(\n (transcript) => transcript.id === innerInterimId\n );\n\n if (interimTranscriptIndex !== -1) {\n transcriptData.captions.splice(interimTranscriptIndex, 1);\n }\n });\n delete transcriptData.interimCaptions[transcriptId];\n captionData.id = transcriptId;\n }\n transcriptData.captions.push(captionData);\n }\n transcriptData.interimCaptions[transcriptId] = interimTranscriptionIds;\n};\n"],"mappings":"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"}
|
package/dist/roap/request.js
CHANGED
|
@@ -105,12 +105,11 @@ var RoapRequest = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin
|
|
|
105
105
|
key: "sendRoap",
|
|
106
106
|
value: (function () {
|
|
107
107
|
var _sendRoap = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(options) {
|
|
108
|
-
var
|
|
109
|
-
var roapMessage, locusSelfUrl, mediaId, meetingId, locusMediaRequest, ipVersion, _yield$this$attachRea, localSdpWithReachabilityData, joinCookie;
|
|
108
|
+
var roapMessage, locusSelfUrl, mediaId, locusMediaRequest, ipVersion, _yield$this$attachRea, localSdpWithReachabilityData, joinCookie;
|
|
110
109
|
return _regenerator.default.wrap(function _callee2$(_context2) {
|
|
111
110
|
while (1) switch (_context2.prev = _context2.next) {
|
|
112
111
|
case 0:
|
|
113
|
-
roapMessage = options.roapMessage, locusSelfUrl = options.locusSelfUrl, mediaId = options.mediaId,
|
|
112
|
+
roapMessage = options.roapMessage, locusSelfUrl = options.locusSelfUrl, mediaId = options.mediaId, locusMediaRequest = options.locusMediaRequest, ipVersion = options.ipVersion;
|
|
114
113
|
if (!mediaId) {
|
|
115
114
|
_loggerProxy.default.logger.info('Roap:request#sendRoap --> sending empty mediaID');
|
|
116
115
|
}
|
|
@@ -130,14 +129,6 @@ var RoapRequest = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin
|
|
|
130
129
|
localSdpWithReachabilityData = _yield$this$attachRea.localSdp;
|
|
131
130
|
joinCookie = _yield$this$attachRea.joinCookie;
|
|
132
131
|
_loggerProxy.default.logger.info("Roap:request#sendRoap --> ".concat(locusSelfUrl, " \n ").concat(roapMessage.messageType, " \n seq:").concat(roapMessage.seq));
|
|
133
|
-
|
|
134
|
-
// @ts-ignore
|
|
135
|
-
this.webex.internal.newMetrics.submitClientEvent({
|
|
136
|
-
name: 'client.locus.media.request',
|
|
137
|
-
options: {
|
|
138
|
-
meetingId: meetingId
|
|
139
|
-
}
|
|
140
|
-
});
|
|
141
132
|
return _context2.abrupt("return", locusMediaRequest.send({
|
|
142
133
|
type: 'RoapMessage',
|
|
143
134
|
selfUrl: locusSelfUrl,
|
|
@@ -147,13 +138,6 @@ var RoapRequest = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin
|
|
|
147
138
|
reachability: localSdpWithReachabilityData.reachability,
|
|
148
139
|
ipVersion: ipVersion
|
|
149
140
|
}).then(function (res) {
|
|
150
|
-
// @ts-ignore
|
|
151
|
-
_this.webex.internal.newMetrics.submitClientEvent({
|
|
152
|
-
name: 'client.locus.media.response',
|
|
153
|
-
options: {
|
|
154
|
-
meetingId: meetingId
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
141
|
// always it will be the first mediaConnection Object
|
|
158
142
|
var mediaConnections = res.body.mediaConnections && res.body.mediaConnections.length > 0 && res.body.mediaConnections[0];
|
|
159
143
|
_loggerProxy.default.logger.debug("Roap:request#sendRoap --> response:".concat((0, _stringify.default)(mediaConnections, null, 2), "'\n StatusCode:'").concat(res.statusCode));
|
|
@@ -165,19 +149,11 @@ var RoapRequest = exports.default = /*#__PURE__*/function (_StatelessWebexPlugin
|
|
|
165
149
|
mediaConnections: res.body.mediaConnections
|
|
166
150
|
});
|
|
167
151
|
}).catch(function (err) {
|
|
168
|
-
// @ts-ignore
|
|
169
|
-
_this.webex.internal.newMetrics.submitClientEvent({
|
|
170
|
-
name: 'client.locus.media.response',
|
|
171
|
-
options: {
|
|
172
|
-
meetingId: meetingId,
|
|
173
|
-
rawError: err
|
|
174
|
-
}
|
|
175
|
-
});
|
|
176
152
|
_loggerProxy.default.logger.error("Roap:request#sendRoap --> Error:", err);
|
|
177
153
|
_loggerProxy.default.logger.error("Roap:request#sendRoapRequest --> roapMessage that caused error:".concat((0, _stringify.default)(roapMessage, null, 2), " + '\\n mediaId:'").concat(options.mediaId));
|
|
178
154
|
throw err;
|
|
179
155
|
}));
|
|
180
|
-
case
|
|
156
|
+
case 12:
|
|
181
157
|
case "end":
|
|
182
158
|
return _context2.stop();
|
|
183
159
|
}
|
package/dist/roap/request.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_webexCore","require","_loggerProxy","_interopRequireDefault","_constants","ownKeys","e","r","t","_Object$keys2","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","_Reflect$construct","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","RoapRequest","exports","_StatelessWebexPlugin","_inherits2","_super","_classCallCheck2","_createClass2","key","value","_attachReachabilityData","_asyncToGenerator2","_regenerator","mark","_callee","localSdp","joinCookie","reachabilityResult","joinCookieRaw","wrap","_callee$","_context","prev","next","webex","meetings","reachability","getReachabilityResults","sent","_keys","boundedStorage","get","REACHABILITY","namespace","localStorageJoinCookie","catch","JSON","parse","LoggerProxy","logger","error","concat","abrupt","stop","attachReachabilityData","_x","_sendRoap","_callee2","options","_this","roapMessage","locusSelfUrl","mediaId","meetingId","locusMediaRequest","ipVersion","_yield$this$attachRea","localSdpWithReachabilityData","_callee2$","_context2","info","warn","_promise","reject","Error","messageType","seq","internal","newMetrics","submitClientEvent","name","send","type","selfUrl","then","res","mediaConnections","body","debug","_stringify","statusCode","locus","roapSeq","err","rawError","sendRoap","_x2","StatelessWebexPlugin"],"sources":["request.ts"],"sourcesContent":["// @ts-ignore\nimport {StatelessWebexPlugin} from '@webex/webex-core';\n\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {IP_VERSION, REACHABILITY} from '../constants';\nimport {LocusMediaRequest} from '../meeting/locusMediaRequest';\n\n/**\n * @class RoapRequest\n */\nexport default class RoapRequest extends StatelessWebexPlugin {\n /**\n * Returns reachability data.\n * @param {Object} localSdp\n * @returns {Object}\n */\n async attachReachabilityData(localSdp) {\n let joinCookie;\n\n // @ts-ignore\n const reachabilityResult = await this.webex.meetings.reachability.getReachabilityResults();\n\n if (reachabilityResult && Object.keys(reachabilityResult).length) {\n localSdp.reachability = reachabilityResult;\n }\n\n // @ts-ignore\n const joinCookieRaw = await this.webex.boundedStorage\n .get(REACHABILITY.namespace, REACHABILITY.localStorageJoinCookie)\n .catch(() => {});\n\n if (joinCookieRaw) {\n try {\n joinCookie = JSON.parse(joinCookieRaw);\n } catch (e) {\n LoggerProxy.logger.error(\n `MeetingRequest#constructor --> Error in parsing join cookie data: ${e}`\n );\n }\n }\n\n return {localSdp, joinCookie};\n }\n\n /**\n * Sends a ROAP message\n * @param {Object} options\n * @param {Object} options.roapMessage\n * @param {String} options.locusSelfUrl\n * @param {String} options.mediaId\n * @param {String} options.correlationId\n * @param {String} options.meetingId\n * @param {IP_VERSION} options.ipVersion only required for offers\n * @returns {Promise} returns the response/failure of the request\n */\n async sendRoap(options: {\n roapMessage: any;\n locusSelfUrl: string;\n mediaId: string;\n meetingId: string;\n ipVersion?: IP_VERSION;\n locusMediaRequest?: LocusMediaRequest;\n }) {\n const {roapMessage, locusSelfUrl, mediaId, meetingId, locusMediaRequest, ipVersion} = options;\n\n if (!mediaId) {\n LoggerProxy.logger.info('Roap:request#sendRoap --> sending empty mediaID');\n }\n\n if (!locusMediaRequest) {\n LoggerProxy.logger.warn(\n 'Roap:request#sendRoap --> locusMediaRequest unavailable, not sending roap'\n );\n\n return Promise.reject(new Error('sendRoap called when locusMediaRequest is undefined'));\n }\n const {localSdp: localSdpWithReachabilityData, joinCookie} = await this.attachReachabilityData({\n roapMessage,\n });\n\n LoggerProxy.logger.info(\n `Roap:request#sendRoap --> ${locusSelfUrl} \\n ${roapMessage.messageType} \\n seq:${roapMessage.seq}`\n );\n\n // @ts-ignore\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.locus.media.request',\n options: {\n meetingId,\n },\n });\n\n return locusMediaRequest\n .send({\n type: 'RoapMessage',\n selfUrl: locusSelfUrl,\n joinCookie,\n mediaId,\n roapMessage,\n reachability: localSdpWithReachabilityData.reachability,\n ipVersion,\n })\n .then((res) => {\n // @ts-ignore\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.locus.media.response',\n options: {\n meetingId,\n },\n });\n // always it will be the first mediaConnection Object\n const mediaConnections =\n res.body.mediaConnections &&\n res.body.mediaConnections.length > 0 &&\n res.body.mediaConnections[0];\n\n LoggerProxy.logger.debug(\n `Roap:request#sendRoap --> response:${JSON.stringify(\n mediaConnections,\n null,\n 2\n )}'\\n StatusCode:'${res.statusCode}`\n );\n const {locus} = res.body;\n\n locus.roapSeq = options.roapMessage.seq;\n\n return {\n locus,\n ...(mediaConnections && {mediaConnections: res.body.mediaConnections}),\n };\n })\n .catch((err) => {\n // @ts-ignore\n this.webex.internal.newMetrics.submitClientEvent({\n name: 'client.locus.media.response',\n options: {\n meetingId,\n rawError: err,\n },\n });\n LoggerProxy.logger.error(`Roap:request#sendRoap --> Error:`, err);\n LoggerProxy.logger.error(\n `Roap:request#sendRoapRequest --> roapMessage that caused error:${JSON.stringify(\n roapMessage,\n null,\n 2\n )} + '\\\\n mediaId:'${options.mediaId}`\n );\n throw err;\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAEA,IAAAC,YAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAAsD,SAAAI,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,aAAA,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;AAAA,SAAAqB,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAV,OAAA,EAAAK,OAAA,GAAAM,MAAA,MAAAL,yBAAA,QAAAM,SAAA,OAAAF,gBAAA,CAAAV,OAAA,QAAAa,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAL,KAAA,EAAAd,SAAA,EAAAiB,SAAA,YAAAD,MAAA,GAAAF,KAAA,CAAAhB,KAAA,OAAAE,SAAA,gBAAAoB,2BAAA,CAAAf,OAAA,QAAAW,MAAA;AAAA,SAAAJ,0BAAA,eAAAS,OAAA,qBAAAF,kBAAA,oBAAAA,kBAAA,CAAAG,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAR,kBAAA,CAAAK,OAAA,8CAAApC,CAAA,sBAJtD;AAOA;AACA;AACA;AAFA,IAGqBwC,WAAW,GAAAC,OAAA,CAAAxB,OAAA,0BAAAyB,qBAAA;EAAA,IAAAC,UAAA,CAAA1B,OAAA,EAAAuB,WAAA,EAAAE,qBAAA;EAAA,IAAAE,MAAA,GAAAvB,YAAA,CAAAmB,WAAA;EAAA,SAAAA,YAAA;IAAA,IAAAK,gBAAA,CAAA5B,OAAA,QAAAuB,WAAA;IAAA,OAAAI,MAAA,CAAAlC,KAAA,OAAAE,SAAA;EAAA;EAAA,IAAAkC,aAAA,CAAA7B,OAAA,EAAAuB,WAAA;IAAAO,GAAA;IAAAC,KAAA;IAC9B;AACF;AACA;AACA;AACA;IAJE;MAAA,IAAAC,uBAAA,OAAAC,kBAAA,CAAAjC,OAAA,gBAAAkC,YAAA,CAAAlC,OAAA,CAAAmC,IAAA,CAKA,SAAAC,QAA6BC,QAAQ;QAAA,IAAAC,UAAA,EAAAC,kBAAA,EAAAC,aAAA;QAAA,OAAAN,YAAA,CAAAlC,OAAA,CAAAyC,IAAA,UAAAC,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;YAAA;cAAAF,QAAA,CAAAE,IAAA;cAAA,OAIF,IAAI,CAACC,KAAK,CAACC,QAAQ,CAACC,YAAY,CAACC,sBAAsB,CAAC,CAAC;YAAA;cAApFV,kBAAkB,GAAAI,QAAA,CAAAO,IAAA;cAExB,IAAIX,kBAAkB,IAAI,IAAAY,KAAA,CAAAnD,OAAA,EAAYuC,kBAAkB,CAAC,CAAC3C,MAAM,EAAE;gBAChEyC,QAAQ,CAACW,YAAY,GAAGT,kBAAkB;cAC5C;;cAEA;cAAAI,QAAA,CAAAE,IAAA;cAAA,OAC4B,IAAI,CAACC,KAAK,CAACM,cAAc,CAClDC,GAAG,CAACC,uBAAY,CAACC,SAAS,EAAED,uBAAY,CAACE,sBAAsB,CAAC,CAChEC,KAAK,CAAC,YAAM,CAAC,CAAC,CAAC;YAAA;cAFZjB,aAAa,GAAAG,QAAA,CAAAO,IAAA;cAInB,IAAIV,aAAa,EAAE;gBACjB,IAAI;kBACFF,UAAU,GAAGoB,IAAI,CAACC,KAAK,CAACnB,aAAa,CAAC;gBACxC,CAAC,CAAC,OAAOzD,CAAC,EAAE;kBACV6E,oBAAW,CAACC,MAAM,CAACC,KAAK,sEAAAC,MAAA,CAC+ChF,CAAC,CACxE,CAAC;gBACH;cACF;cAAC,OAAA4D,QAAA,CAAAqB,MAAA,WAEM;gBAAC3B,QAAQ,EAARA,QAAQ;gBAAEC,UAAU,EAAVA;cAAU,CAAC;YAAA;YAAA;cAAA,OAAAK,QAAA,CAAAsB,IAAA;UAAA;QAAA,GAAA7B,OAAA;MAAA,CAC9B;MAAA,SAAA8B,uBAAAC,EAAA;QAAA,OAAAnC,uBAAA,CAAAvC,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAuE,sBAAA;IAAA;IAED;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;IAVE;EAAA;IAAApC,GAAA;IAAAC,KAAA;MAAA,IAAAqC,SAAA,OAAAnC,kBAAA,CAAAjC,OAAA,gBAAAkC,YAAA,CAAAlC,OAAA,CAAAmC,IAAA,CAWA,SAAAkC,SAAeC,OAOd;QAAA,IAAAC,KAAA;QAAA,IAAAC,WAAA,EAAAC,YAAA,EAAAC,OAAA,EAAAC,SAAA,EAAAC,iBAAA,EAAAC,SAAA,EAAAC,qBAAA,EAAAC,4BAAA,EAAAzC,UAAA;QAAA,OAAAJ,YAAA,CAAAlC,OAAA,CAAAyC,IAAA,UAAAuC,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAArC,IAAA,GAAAqC,SAAA,CAAApC,IAAA;YAAA;cACQ2B,WAAW,GAAoEF,OAAO,CAAtFE,WAAW,EAAEC,YAAY,GAAsDH,OAAO,CAAzEG,YAAY,EAAEC,OAAO,GAA6CJ,OAAO,CAA3DI,OAAO,EAAEC,SAAS,GAAkCL,OAAO,CAAlDK,SAAS,EAAEC,iBAAiB,GAAeN,OAAO,CAAvCM,iBAAiB,EAAEC,SAAS,GAAIP,OAAO,CAApBO,SAAS;cAElF,IAAI,CAACH,OAAO,EAAE;gBACZd,oBAAW,CAACC,MAAM,CAACqB,IAAI,CAAC,iDAAiD,CAAC;cAC5E;cAAC,IAEIN,iBAAiB;gBAAAK,SAAA,CAAApC,IAAA;gBAAA;cAAA;cACpBe,oBAAW,CAACC,MAAM,CAACsB,IAAI,CACrB,2EACF,CAAC;cAAC,OAAAF,SAAA,CAAAjB,MAAA,WAEKoB,QAAA,CAAApF,OAAA,CAAQqF,MAAM,CAAC,IAAIC,KAAK,CAAC,qDAAqD,CAAC,CAAC;YAAA;cAAAL,SAAA,CAAApC,IAAA;cAAA,OAEtB,IAAI,CAACqB,sBAAsB,CAAC;gBAC7FM,WAAW,EAAXA;cACF,CAAC,CAAC;YAAA;cAAAM,qBAAA,GAAAG,SAAA,CAAA/B,IAAA;cAFe6B,4BAA4B,GAAAD,qBAAA,CAAtCzC,QAAQ;cAAgCC,UAAU,GAAAwC,qBAAA,CAAVxC,UAAU;cAIzDsB,oBAAW,CAACC,MAAM,CAACqB,IAAI,8BAAAnB,MAAA,CACQU,YAAY,UAAAV,MAAA,CAAOS,WAAW,CAACe,WAAW,cAAAxB,MAAA,CAAWS,WAAW,CAACgB,GAAG,CACnG,CAAC;;cAED;cACA,IAAI,CAAC1C,KAAK,CAAC2C,QAAQ,CAACC,UAAU,CAACC,iBAAiB,CAAC;gBAC/CC,IAAI,EAAE,4BAA4B;gBAClCtB,OAAO,EAAE;kBACPK,SAAS,EAATA;gBACF;cACF,CAAC,CAAC;cAAC,OAAAM,SAAA,CAAAjB,MAAA,WAEIY,iBAAiB,CACrBiB,IAAI,CAAC;gBACJC,IAAI,EAAE,aAAa;gBACnBC,OAAO,EAAEtB,YAAY;gBACrBnC,UAAU,EAAVA,UAAU;gBACVoC,OAAO,EAAPA,OAAO;gBACPF,WAAW,EAAXA,WAAW;gBACXxB,YAAY,EAAE+B,4BAA4B,CAAC/B,YAAY;gBACvD6B,SAAS,EAATA;cACF,CAAC,CAAC,CACDmB,IAAI,CAAC,UAACC,GAAG,EAAK;gBACb;gBACA1B,KAAI,CAACzB,KAAK,CAAC2C,QAAQ,CAACC,UAAU,CAACC,iBAAiB,CAAC;kBAC/CC,IAAI,EAAE,6BAA6B;kBACnCtB,OAAO,EAAE;oBACPK,SAAS,EAATA;kBACF;gBACF,CAAC,CAAC;gBACF;gBACA,IAAMuB,gBAAgB,GACpBD,GAAG,CAACE,IAAI,CAACD,gBAAgB,IACzBD,GAAG,CAACE,IAAI,CAACD,gBAAgB,CAACtG,MAAM,GAAG,CAAC,IACpCqG,GAAG,CAACE,IAAI,CAACD,gBAAgB,CAAC,CAAC,CAAC;gBAE9BtC,oBAAW,CAACC,MAAM,CAACuC,KAAK,uCAAArC,MAAA,CACgB,IAAAsC,UAAA,CAAArG,OAAA,EACpCkG,gBAAgB,EAChB,IAAI,EACJ,CACF,CAAC,sBAAAnC,MAAA,CAAmBkC,GAAG,CAACK,UAAU,CACpC,CAAC;gBACD,IAAOC,KAAK,GAAIN,GAAG,CAACE,IAAI,CAAjBI,KAAK;gBAEZA,KAAK,CAACC,OAAO,GAAGlC,OAAO,CAACE,WAAW,CAACgB,GAAG;gBAEvC,OAAA9F,aAAA;kBACE6G,KAAK,EAALA;gBAAK,GACDL,gBAAgB,IAAI;kBAACA,gBAAgB,EAAED,GAAG,CAACE,IAAI,CAACD;gBAAgB,CAAC;cAEzE,CAAC,CAAC,CACDzC,KAAK,CAAC,UAACgD,GAAG,EAAK;gBACd;gBACAlC,KAAI,CAACzB,KAAK,CAAC2C,QAAQ,CAACC,UAAU,CAACC,iBAAiB,CAAC;kBAC/CC,IAAI,EAAE,6BAA6B;kBACnCtB,OAAO,EAAE;oBACPK,SAAS,EAATA,SAAS;oBACT+B,QAAQ,EAAED;kBACZ;gBACF,CAAC,CAAC;gBACF7C,oBAAW,CAACC,MAAM,CAACC,KAAK,qCAAqC2C,GAAG,CAAC;gBACjE7C,oBAAW,CAACC,MAAM,CAACC,KAAK,mEAAAC,MAAA,CAC4C,IAAAsC,UAAA,CAAArG,OAAA,EAChEwE,WAAW,EACX,IAAI,EACJ,CACF,CAAC,uBAAAT,MAAA,CAAoBO,OAAO,CAACI,OAAO,CACtC,CAAC;gBACD,MAAM+B,GAAG;cACX,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAxB,SAAA,CAAAhB,IAAA;UAAA;QAAA,GAAAI,QAAA;MAAA,CACL;MAAA,SAAAsC,SAAAC,GAAA;QAAA,OAAAxC,SAAA,CAAA3E,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAgH,QAAA;IAAA;EAAA;EAAA,OAAApF,WAAA;AAAA,EA7IsCsF,+BAAoB"}
|
|
1
|
+
{"version":3,"names":["_webexCore","require","_loggerProxy","_interopRequireDefault","_constants","ownKeys","e","r","t","_Object$keys2","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","result","NewTarget","constructor","_Reflect$construct","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","RoapRequest","exports","_StatelessWebexPlugin","_inherits2","_super","_classCallCheck2","_createClass2","key","value","_attachReachabilityData","_asyncToGenerator2","_regenerator","mark","_callee","localSdp","joinCookie","reachabilityResult","joinCookieRaw","wrap","_callee$","_context","prev","next","webex","meetings","reachability","getReachabilityResults","sent","_keys","boundedStorage","get","REACHABILITY","namespace","localStorageJoinCookie","catch","JSON","parse","LoggerProxy","logger","error","concat","abrupt","stop","attachReachabilityData","_x","_sendRoap","_callee2","options","roapMessage","locusSelfUrl","mediaId","locusMediaRequest","ipVersion","_yield$this$attachRea","localSdpWithReachabilityData","_callee2$","_context2","info","warn","_promise","reject","Error","messageType","seq","send","type","selfUrl","then","res","mediaConnections","body","debug","_stringify","statusCode","locus","roapSeq","err","sendRoap","_x2","StatelessWebexPlugin"],"sources":["request.ts"],"sourcesContent":["// @ts-ignore\nimport {StatelessWebexPlugin} from '@webex/webex-core';\n\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {IP_VERSION, REACHABILITY} from '../constants';\nimport {LocusMediaRequest} from '../meeting/locusMediaRequest';\n\n/**\n * @class RoapRequest\n */\nexport default class RoapRequest extends StatelessWebexPlugin {\n /**\n * Returns reachability data.\n * @param {Object} localSdp\n * @returns {Object}\n */\n async attachReachabilityData(localSdp) {\n let joinCookie;\n\n // @ts-ignore\n const reachabilityResult = await this.webex.meetings.reachability.getReachabilityResults();\n\n if (reachabilityResult && Object.keys(reachabilityResult).length) {\n localSdp.reachability = reachabilityResult;\n }\n\n // @ts-ignore\n const joinCookieRaw = await this.webex.boundedStorage\n .get(REACHABILITY.namespace, REACHABILITY.localStorageJoinCookie)\n .catch(() => {});\n\n if (joinCookieRaw) {\n try {\n joinCookie = JSON.parse(joinCookieRaw);\n } catch (e) {\n LoggerProxy.logger.error(\n `MeetingRequest#constructor --> Error in parsing join cookie data: ${e}`\n );\n }\n }\n\n return {localSdp, joinCookie};\n }\n\n /**\n * Sends a ROAP message\n * @param {Object} options\n * @param {Object} options.roapMessage\n * @param {String} options.locusSelfUrl\n * @param {String} options.mediaId\n * @param {String} options.correlationId\n * @param {String} options.meetingId\n * @param {IP_VERSION} options.ipVersion only required for offers\n * @returns {Promise} returns the response/failure of the request\n */\n async sendRoap(options: {\n roapMessage: any;\n locusSelfUrl: string;\n mediaId: string;\n meetingId: string;\n ipVersion?: IP_VERSION;\n locusMediaRequest?: LocusMediaRequest;\n }) {\n const {roapMessage, locusSelfUrl, mediaId, locusMediaRequest, ipVersion} = options;\n\n if (!mediaId) {\n LoggerProxy.logger.info('Roap:request#sendRoap --> sending empty mediaID');\n }\n\n if (!locusMediaRequest) {\n LoggerProxy.logger.warn(\n 'Roap:request#sendRoap --> locusMediaRequest unavailable, not sending roap'\n );\n\n return Promise.reject(new Error('sendRoap called when locusMediaRequest is undefined'));\n }\n const {localSdp: localSdpWithReachabilityData, joinCookie} = await this.attachReachabilityData({\n roapMessage,\n });\n\n LoggerProxy.logger.info(\n `Roap:request#sendRoap --> ${locusSelfUrl} \\n ${roapMessage.messageType} \\n seq:${roapMessage.seq}`\n );\n\n return locusMediaRequest\n .send({\n type: 'RoapMessage',\n selfUrl: locusSelfUrl,\n joinCookie,\n mediaId,\n roapMessage,\n reachability: localSdpWithReachabilityData.reachability,\n ipVersion,\n })\n .then((res) => {\n // always it will be the first mediaConnection Object\n const mediaConnections =\n res.body.mediaConnections &&\n res.body.mediaConnections.length > 0 &&\n res.body.mediaConnections[0];\n\n LoggerProxy.logger.debug(\n `Roap:request#sendRoap --> response:${JSON.stringify(\n mediaConnections,\n null,\n 2\n )}'\\n StatusCode:'${res.statusCode}`\n );\n const {locus} = res.body;\n\n locus.roapSeq = options.roapMessage.seq;\n\n return {\n locus,\n ...(mediaConnections && {mediaConnections: res.body.mediaConnections}),\n };\n })\n .catch((err) => {\n LoggerProxy.logger.error(`Roap:request#sendRoap --> Error:`, err);\n LoggerProxy.logger.error(\n `Roap:request#sendRoapRequest --> roapMessage that caused error:${JSON.stringify(\n roapMessage,\n null,\n 2\n )} + '\\\\n mediaId:'${options.mediaId}`\n );\n throw err;\n });\n }\n}\n"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { type MeetingTranscriptPayload } from '@webex/internal-plugin-voicea';
|
|
1
2
|
export declare const getSpeaker: (members: any, csis?: any[]) => unknown;
|
|
2
3
|
export declare const getSpeakerFromProxyOrStore: ({ csisKey, meetingMembers, transcriptData }: {
|
|
3
4
|
csisKey: any;
|
|
@@ -10,7 +11,7 @@ export declare const getSpeakerFromProxyOrStore: ({ csisKey, meetingMembers, tra
|
|
|
10
11
|
};
|
|
11
12
|
needsCaching: boolean;
|
|
12
13
|
};
|
|
13
|
-
export declare const processNewCaptions: ({ data, meeting }: {
|
|
14
|
-
data:
|
|
14
|
+
export declare const processNewCaptions: ({ data, meeting, }: {
|
|
15
|
+
data: MeetingTranscriptPayload;
|
|
15
16
|
meeting: any;
|
|
16
17
|
}) => void;
|
package/dist/webinar/index.js
CHANGED
|
@@ -62,7 +62,7 @@ var Webinar = _webexCore.WebexPlugin.extend({
|
|
|
62
62
|
updateCanManageWebcast: function updateCanManageWebcast(canManageWebcast) {
|
|
63
63
|
this.set('canManageWebcast', canManageWebcast);
|
|
64
64
|
},
|
|
65
|
-
version: "3.1.0-next.
|
|
65
|
+
version: "3.1.0-next.14"
|
|
66
66
|
});
|
|
67
67
|
var _default = exports.default = Webinar;
|
|
68
68
|
//# sourceMappingURL=index.js.map
|
package/package.json
CHANGED
|
@@ -43,7 +43,7 @@
|
|
|
43
43
|
"@webex/eslint-config-legacy": "0.0.0",
|
|
44
44
|
"@webex/jest-config-legacy": "0.0.0",
|
|
45
45
|
"@webex/legacy-tools": "0.0.0",
|
|
46
|
-
"@webex/plugin-meetings": "3.1.0-next.
|
|
46
|
+
"@webex/plugin-meetings": "3.1.0-next.14",
|
|
47
47
|
"@webex/plugin-rooms": "3.1.0-next.2",
|
|
48
48
|
"@webex/test-helper-chai": "3.1.0-next.2",
|
|
49
49
|
"@webex/test-helper-mocha": "3.1.0-next.2",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"@webex/internal-plugin-metrics": "3.1.0-next.2",
|
|
71
71
|
"@webex/internal-plugin-support": "3.1.0-next.2",
|
|
72
72
|
"@webex/internal-plugin-user": "3.1.0-next.2",
|
|
73
|
-
"@webex/internal-plugin-voicea": "3.1.0-next.
|
|
73
|
+
"@webex/internal-plugin-voicea": "3.1.0-next.14",
|
|
74
74
|
"@webex/media-helpers": "3.1.0-next.2",
|
|
75
75
|
"@webex/plugin-people": "3.1.0-next.2",
|
|
76
76
|
"@webex/plugin-rooms": "3.1.0-next.2",
|
|
@@ -91,5 +91,5 @@
|
|
|
91
91
|
"//": [
|
|
92
92
|
"TODO: upgrade jwt-decode when moving to node 18"
|
|
93
93
|
],
|
|
94
|
-
"version": "3.1.0-next.
|
|
94
|
+
"version": "3.1.0-next.14"
|
|
95
95
|
}
|
package/src/meeting/index.ts
CHANGED
|
@@ -38,6 +38,7 @@ import {
|
|
|
38
38
|
import {
|
|
39
39
|
EVENT_TRIGGERS as VOICEAEVENTS,
|
|
40
40
|
TURN_ON_CAPTION_STATUS,
|
|
41
|
+
type MeetingTranscriptPayload,
|
|
41
42
|
} from '@webex/internal-plugin-voicea';
|
|
42
43
|
import {processNewCaptions} from './voicea-meeting';
|
|
43
44
|
|
|
@@ -654,7 +655,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
654
655
|
this.transcription.isListening = !!data.isListening;
|
|
655
656
|
this.transcription.commandText = data.text ?? '';
|
|
656
657
|
},
|
|
657
|
-
[VOICEAEVENTS.NEW_CAPTION]: (data) => {
|
|
658
|
+
[VOICEAEVENTS.NEW_CAPTION]: (data: MeetingTranscriptPayload) => {
|
|
658
659
|
processNewCaptions({data, meeting: this});
|
|
659
660
|
|
|
660
661
|
LoggerProxy.logger.debug(
|
|
@@ -4694,12 +4695,12 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
4694
4695
|
* @throws TranscriptionNotSupportedError
|
|
4695
4696
|
*/
|
|
4696
4697
|
isTranscriptionSupported() {
|
|
4697
|
-
if (this.locusInfo.controls.transcribe?.
|
|
4698
|
+
if (this.locusInfo.controls.transcribe?.caption) {
|
|
4698
4699
|
return true;
|
|
4699
4700
|
}
|
|
4700
4701
|
|
|
4701
4702
|
LoggerProxy.logger.error(
|
|
4702
|
-
'Meeting:index#isTranscriptionSupported -->
|
|
4703
|
+
'Meeting:index#isTranscriptionSupported --> Closed Captions is not enabled/supported'
|
|
4703
4704
|
);
|
|
4704
4705
|
|
|
4705
4706
|
return false;
|
|
@@ -6705,6 +6706,7 @@ export default class Meeting extends StatelessWebexPlugin {
|
|
|
6705
6706
|
this.locusMediaRequest = new LocusMediaRequest(
|
|
6706
6707
|
{
|
|
6707
6708
|
correlationId: this.correlationId,
|
|
6709
|
+
meetingId: this.id,
|
|
6708
6710
|
device: {
|
|
6709
6711
|
url: this.deviceUrl,
|
|
6710
6712
|
// @ts-ignore
|
|
@@ -88,6 +88,7 @@ export type Config = {
|
|
|
88
88
|
regionCode?: string;
|
|
89
89
|
};
|
|
90
90
|
correlationId: string;
|
|
91
|
+
meetingId: string;
|
|
91
92
|
preferTranscoding: boolean;
|
|
92
93
|
};
|
|
93
94
|
|
|
@@ -223,6 +224,14 @@ export class LocusMediaRequest extends WebexPlugin {
|
|
|
223
224
|
localMedias.roapMessage = request.roapMessage;
|
|
224
225
|
localMedias.reachability = request.reachability;
|
|
225
226
|
body.clientMediaPreferences.joinCookie = request.joinCookie;
|
|
227
|
+
|
|
228
|
+
// @ts-ignore
|
|
229
|
+
this.webex.internal.newMetrics.submitClientEvent({
|
|
230
|
+
name: 'client.locus.media.request',
|
|
231
|
+
options: {
|
|
232
|
+
meetingId: this.config.meetingId,
|
|
233
|
+
},
|
|
234
|
+
});
|
|
226
235
|
break;
|
|
227
236
|
}
|
|
228
237
|
|
|
@@ -256,6 +265,16 @@ export class LocusMediaRequest extends WebexPlugin {
|
|
|
256
265
|
this.confluenceState = 'created';
|
|
257
266
|
}
|
|
258
267
|
|
|
268
|
+
if (request.type === 'RoapMessage') {
|
|
269
|
+
// @ts-ignore
|
|
270
|
+
this.webex.internal.newMetrics.submitClientEvent({
|
|
271
|
+
name: 'client.locus.media.response',
|
|
272
|
+
options: {
|
|
273
|
+
meetingId: this.config.meetingId,
|
|
274
|
+
},
|
|
275
|
+
});
|
|
276
|
+
}
|
|
277
|
+
|
|
259
278
|
return result;
|
|
260
279
|
})
|
|
261
280
|
.catch((e) => {
|
|
@@ -265,6 +284,18 @@ export class LocusMediaRequest extends WebexPlugin {
|
|
|
265
284
|
) {
|
|
266
285
|
this.confluenceState = 'not created';
|
|
267
286
|
}
|
|
287
|
+
|
|
288
|
+
if (request.type === 'RoapMessage') {
|
|
289
|
+
// @ts-ignore
|
|
290
|
+
this.webex.internal.newMetrics.submitClientEvent({
|
|
291
|
+
name: 'client.locus.media.response',
|
|
292
|
+
options: {
|
|
293
|
+
meetingId: this.config.meetingId,
|
|
294
|
+
rawError: e,
|
|
295
|
+
},
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
|
|
268
299
|
throw e;
|
|
269
300
|
});
|
|
270
301
|
}
|
package/src/meeting/util.ts
CHANGED
|
@@ -47,7 +47,6 @@ const MeetingUtil = {
|
|
|
47
47
|
},
|
|
48
48
|
|
|
49
49
|
remoteUpdateAudioVideo: (meeting, audioMuted?: boolean, videoMuted?: boolean) => {
|
|
50
|
-
const webex = meeting.getWebexObject();
|
|
51
50
|
if (!meeting) {
|
|
52
51
|
return Promise.reject(new ParameterError('You need a meeting object.'));
|
|
53
52
|
}
|
|
@@ -60,12 +59,6 @@ const MeetingUtil = {
|
|
|
60
59
|
);
|
|
61
60
|
}
|
|
62
61
|
|
|
63
|
-
// @ts-ignore
|
|
64
|
-
webex.internal.newMetrics.submitClientEvent({
|
|
65
|
-
name: 'client.locus.media.request',
|
|
66
|
-
options: {meetingId: meeting.id},
|
|
67
|
-
});
|
|
68
|
-
|
|
69
62
|
return meeting.locusMediaRequest
|
|
70
63
|
.send({
|
|
71
64
|
type: 'LocalMute',
|
|
@@ -77,15 +70,7 @@ const MeetingUtil = {
|
|
|
77
70
|
videoMuted,
|
|
78
71
|
},
|
|
79
72
|
})
|
|
80
|
-
.then((response) =>
|
|
81
|
-
// @ts-ignore
|
|
82
|
-
webex.internal.newMetrics.submitClientEvent({
|
|
83
|
-
name: 'client.locus.media.response',
|
|
84
|
-
options: {meetingId: meeting.id},
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
return response?.body?.locus;
|
|
88
|
-
});
|
|
73
|
+
.then((response) => response?.body?.locus);
|
|
89
74
|
},
|
|
90
75
|
|
|
91
76
|
hasOwner: (info) => info && info.owner,
|