@webex/plugin-meetings 2.35.3 → 2.35.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (212) hide show
  1. package/dist/common/browser-detection.js.map +1 -1
  2. package/dist/common/collection.js.map +1 -1
  3. package/dist/common/config.js.map +1 -1
  4. package/dist/common/errors/captcha-error.js +7 -0
  5. package/dist/common/errors/captcha-error.js.map +1 -1
  6. package/dist/common/errors/intent-to-join.js +8 -0
  7. package/dist/common/errors/intent-to-join.js.map +1 -1
  8. package/dist/common/errors/join-meeting.js +8 -0
  9. package/dist/common/errors/join-meeting.js.map +1 -1
  10. package/dist/common/errors/media.js +7 -0
  11. package/dist/common/errors/media.js.map +1 -1
  12. package/dist/common/errors/parameter.js.map +1 -1
  13. package/dist/common/errors/password-error.js +7 -0
  14. package/dist/common/errors/password-error.js.map +1 -1
  15. package/dist/common/errors/permission.js +7 -0
  16. package/dist/common/errors/permission.js.map +1 -1
  17. package/dist/common/errors/reconnection-in-progress.js.map +1 -1
  18. package/dist/common/errors/reconnection.js +7 -0
  19. package/dist/common/errors/reconnection.js.map +1 -1
  20. package/dist/common/errors/stats.js +7 -0
  21. package/dist/common/errors/stats.js.map +1 -1
  22. package/dist/common/errors/webex-errors.js.map +1 -1
  23. package/dist/common/errors/webex-meetings-error.js +5 -2
  24. package/dist/common/errors/webex-meetings-error.js.map +1 -1
  25. package/dist/common/events/events-scope.js.map +1 -1
  26. package/dist/common/events/events.js.map +1 -1
  27. package/dist/common/events/trigger-proxy.js.map +1 -1
  28. package/dist/common/events/util.js.map +1 -1
  29. package/dist/common/logs/logger-config.js.map +1 -1
  30. package/dist/common/logs/logger-proxy.js.map +1 -1
  31. package/dist/common/logs/request.js +3 -0
  32. package/dist/common/logs/request.js.map +1 -1
  33. package/dist/common/queue.js.map +1 -1
  34. package/dist/config.js.map +1 -1
  35. package/dist/constants.js.map +1 -1
  36. package/dist/locus-info/controlsUtils.js.map +1 -1
  37. package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
  38. package/dist/locus-info/fullState.js.map +1 -1
  39. package/dist/locus-info/hostUtils.js.map +1 -1
  40. package/dist/locus-info/index.js +43 -5
  41. package/dist/locus-info/index.js.map +1 -1
  42. package/dist/locus-info/infoUtils.js.map +1 -1
  43. package/dist/locus-info/mediaSharesUtils.js.map +1 -1
  44. package/dist/locus-info/parser.js +12 -3
  45. package/dist/locus-info/parser.js.map +1 -1
  46. package/dist/locus-info/selfUtils.js.map +1 -1
  47. package/dist/media/index.js.map +1 -1
  48. package/dist/media/properties.js +12 -0
  49. package/dist/media/properties.js.map +1 -1
  50. package/dist/media/util.js.map +1 -1
  51. package/dist/mediaQualityMetrics/config.js.map +1 -1
  52. package/dist/meeting/effectsState.js +8 -1
  53. package/dist/meeting/effectsState.js.map +1 -1
  54. package/dist/meeting/index.js +151 -32
  55. package/dist/meeting/index.js.map +1 -1
  56. package/dist/meeting/muteState.js +6 -0
  57. package/dist/meeting/muteState.js.map +1 -1
  58. package/dist/meeting/request.js +54 -24
  59. package/dist/meeting/request.js.map +1 -1
  60. package/dist/meeting/state.js.map +1 -1
  61. package/dist/meeting/util.js.map +1 -1
  62. package/dist/meeting-info/collection.js +4 -1
  63. package/dist/meeting-info/collection.js.map +1 -1
  64. package/dist/meeting-info/index.js +5 -0
  65. package/dist/meeting-info/index.js.map +1 -1
  66. package/dist/meeting-info/meeting-info-v2.js +14 -2
  67. package/dist/meeting-info/meeting-info-v2.js.map +1 -1
  68. package/dist/meeting-info/request.js +3 -0
  69. package/dist/meeting-info/request.js.map +1 -1
  70. package/dist/meeting-info/util.js.map +1 -1
  71. package/dist/meeting-info/utilv2.js.map +1 -1
  72. package/dist/meetings/collection.js +4 -1
  73. package/dist/meetings/collection.js.map +1 -1
  74. package/dist/meetings/index.js +72 -20
  75. package/dist/meetings/index.js.map +1 -1
  76. package/dist/meetings/request.js +4 -0
  77. package/dist/meetings/request.js.map +1 -1
  78. package/dist/meetings/util.js.map +1 -1
  79. package/dist/member/index.js +30 -7
  80. package/dist/member/index.js.map +1 -1
  81. package/dist/member/util.js +2 -1
  82. package/dist/member/util.js.map +1 -1
  83. package/dist/members/collection.js +1 -0
  84. package/dist/members/collection.js.map +1 -1
  85. package/dist/members/index.js +12 -1
  86. package/dist/members/index.js.map +1 -1
  87. package/dist/members/request.js +19 -9
  88. package/dist/members/request.js.map +1 -1
  89. package/dist/members/util.js.map +1 -1
  90. package/dist/metrics/config.js.map +1 -1
  91. package/dist/metrics/constants.js.map +1 -1
  92. package/dist/metrics/index.js +8 -0
  93. package/dist/metrics/index.js.map +1 -1
  94. package/dist/networkQualityMonitor/index.js +10 -2
  95. package/dist/networkQualityMonitor/index.js.map +1 -1
  96. package/dist/peer-connection-manager/index.js +11 -4
  97. package/dist/peer-connection-manager/index.js.map +1 -1
  98. package/dist/personal-meeting-room/index.js +11 -0
  99. package/dist/personal-meeting-room/index.js.map +1 -1
  100. package/dist/personal-meeting-room/request.js +2 -1
  101. package/dist/personal-meeting-room/request.js.map +1 -1
  102. package/dist/personal-meeting-room/util.js.map +1 -1
  103. package/dist/reachability/index.js +17 -7
  104. package/dist/reachability/index.js.map +1 -1
  105. package/dist/reachability/request.js +1 -0
  106. package/dist/reachability/request.js.map +1 -1
  107. package/dist/reconnection-manager/index.js +21 -2
  108. package/dist/reconnection-manager/index.js.map +1 -1
  109. package/dist/roap/collection.js +1 -0
  110. package/dist/roap/collection.js.map +1 -1
  111. package/dist/roap/handler.js +14 -2
  112. package/dist/roap/handler.js.map +1 -1
  113. package/dist/roap/index.js +11 -1
  114. package/dist/roap/index.js.map +1 -1
  115. package/dist/roap/request.js +7 -2
  116. package/dist/roap/request.js.map +1 -1
  117. package/dist/roap/state.js.map +1 -1
  118. package/dist/roap/turnDiscovery.js +9 -1
  119. package/dist/roap/turnDiscovery.js.map +1 -1
  120. package/dist/roap/util.js.map +1 -1
  121. package/dist/statsAnalyzer/global.js.map +1 -1
  122. package/dist/statsAnalyzer/index.js +19 -1
  123. package/dist/statsAnalyzer/index.js.map +1 -1
  124. package/dist/statsAnalyzer/mqaUtil.js +9 -3
  125. package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
  126. package/dist/transcription/index.js +10 -3
  127. package/dist/transcription/index.js.map +1 -1
  128. package/package.json +17 -17
  129. package/src/common/{browser-detection.js → browser-detection.ts} +1 -1
  130. package/src/common/collection.ts +6 -6
  131. package/src/common/{config.js → config.ts} +1 -1
  132. package/src/common/errors/{captcha-error.js → captcha-error.ts} +5 -1
  133. package/src/common/errors/{intent-to-join.js → intent-to-join.ts} +6 -1
  134. package/src/common/errors/{join-meeting.js → join-meeting.ts} +6 -1
  135. package/src/common/errors/{media.js → media.ts} +5 -1
  136. package/src/common/errors/parameter.ts +3 -2
  137. package/src/common/errors/{password-error.js → password-error.ts} +5 -1
  138. package/src/common/errors/{permission.js → permission.ts} +5 -1
  139. package/src/common/errors/{reconnection-in-progress.js → reconnection-in-progress.ts} +0 -0
  140. package/src/common/errors/{reconnection.js → reconnection.ts} +5 -1
  141. package/src/common/errors/{stats.js → stats.ts} +5 -1
  142. package/src/common/errors/{webex-errors.js → webex-errors.ts} +1 -2
  143. package/src/common/errors/{webex-meetings-error.js → webex-meetings-error.ts} +3 -1
  144. package/src/common/events/{events-scope.js → events-scope.ts} +1 -1
  145. package/src/common/events/{events.js → events.ts} +0 -0
  146. package/src/common/events/{trigger-proxy.js → trigger-proxy.ts} +1 -2
  147. package/src/common/events/{util.js → util.ts} +1 -1
  148. package/src/common/logs/{logger-config.js → logger-config.ts} +1 -2
  149. package/src/common/logs/{logger-proxy.js → logger-proxy.ts} +1 -1
  150. package/src/common/logs/{request.js → request.ts} +12 -2
  151. package/src/common/queue.ts +1 -2
  152. package/src/{config.js → config.ts} +1 -0
  153. package/src/constants.ts +1 -0
  154. package/src/locus-info/{controlsUtils.js → controlsUtils.ts} +4 -4
  155. package/src/locus-info/{embeddedAppsUtils.js → embeddedAppsUtils.ts} +5 -6
  156. package/src/locus-info/{fullState.js → fullState.ts} +1 -1
  157. package/src/locus-info/{hostUtils.js → hostUtils.ts} +5 -5
  158. package/src/locus-info/{index.js → index.ts} +67 -32
  159. package/src/locus-info/{infoUtils.js → infoUtils.ts} +3 -4
  160. package/src/locus-info/{mediaSharesUtils.js → mediaSharesUtils.ts} +13 -13
  161. package/src/locus-info/{parser.js → parser.ts} +22 -12
  162. package/src/locus-info/{selfUtils.js → selfUtils.ts} +17 -19
  163. package/src/media/{index.js → index.ts} +108 -39
  164. package/src/media/{properties.js → properties.ts} +16 -4
  165. package/src/media/{util.js → util.ts} +2 -3
  166. package/src/mediaQualityMetrics/{config.js → config.ts} +1 -1
  167. package/src/meeting/{effectsState.js → effectsState.ts} +12 -6
  168. package/src/meeting/{index.js → index.ts} +323 -147
  169. package/src/meeting/{muteState.js → muteState.ts} +16 -11
  170. package/src/meeting/{request.js → request.ts} +124 -36
  171. package/src/meeting/{state.js → state.ts} +6 -6
  172. package/src/meeting/{util.js → util.ts} +4 -4
  173. package/src/meeting-info/{collection.js → collection.ts} +4 -1
  174. package/src/meeting-info/{index.js → index.ts} +10 -6
  175. package/src/meeting-info/{meeting-info-v2.js → meeting-info-v2.ts} +28 -10
  176. package/src/meeting-info/{request.js → request.ts} +6 -2
  177. package/src/meeting-info/{util.js → util.ts} +6 -5
  178. package/src/meeting-info/{utilv2.js → utilv2.ts} +8 -7
  179. package/src/meetings/{collection.js → collection.ts} +5 -2
  180. package/src/meetings/{index.js → index.ts} +88 -22
  181. package/src/meetings/{request.js → request.ts} +6 -1
  182. package/src/meetings/{util.js → util.ts} +5 -3
  183. package/src/member/{index.js → index.ts} +46 -15
  184. package/src/member/{util.js → util.ts} +17 -16
  185. package/src/members/{collection.js → collection.ts} +2 -1
  186. package/src/members/{index.js → index.ts} +39 -26
  187. package/src/members/{request.js → request.ts} +16 -5
  188. package/src/members/{util.js → util.ts} +7 -7
  189. package/src/metrics/{config.js → config.ts} +0 -2
  190. package/src/metrics/{constants.js → constants.ts} +0 -0
  191. package/src/metrics/{index.js → index.ts} +27 -8
  192. package/src/networkQualityMonitor/{index.js → index.ts} +18 -3
  193. package/src/peer-connection-manager/{index.js → index.ts} +72 -28
  194. package/src/personal-meeting-room/{index.js → index.ts} +17 -4
  195. package/src/personal-meeting-room/{request.js → request.ts} +3 -1
  196. package/src/personal-meeting-room/{util.js → util.ts} +1 -1
  197. package/src/reachability/{index.js → index.ts} +28 -17
  198. package/src/reachability/request.ts +4 -2
  199. package/src/reconnection-manager/{index.js → index.ts} +42 -13
  200. package/src/roap/{collection.js → collection.ts} +1 -0
  201. package/src/roap/{handler.js → handler.ts} +15 -4
  202. package/src/roap/{index.js → index.ts} +23 -10
  203. package/src/roap/{request.js → request.ts} +19 -3
  204. package/src/roap/{state.js → state.ts} +3 -2
  205. package/src/roap/turnDiscovery.ts +14 -5
  206. package/src/roap/{util.js → util.ts} +1 -2
  207. package/src/statsAnalyzer/{global.js → global.ts} +0 -0
  208. package/src/statsAnalyzer/{index.js → index.ts} +36 -17
  209. package/src/statsAnalyzer/{mqaUtil.js → mqaUtil.ts} +6 -1
  210. package/src/transcription/{index.js → index.ts} +16 -11
  211. package/test/integration/spec/space-meeting.js +1 -2
  212. package/test/unit/spec/roap/util.js +1 -1
@@ -28,6 +28,8 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/he
28
28
 
29
29
  var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
30
30
 
31
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
32
+
31
33
  var _uuid = require("uuid");
32
34
 
33
35
  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; } } }; }
@@ -51,6 +53,11 @@ var Transcription = /*#__PURE__*/function () {
51
53
  */
52
54
  function Transcription(webSocketUrl, sessionId, members) {
53
55
  (0, _classCallCheck2.default)(this, Transcription);
56
+ (0, _defineProperty2.default)(this, "webSocketUrl", void 0);
57
+ (0, _defineProperty2.default)(this, "sessionID", void 0);
58
+ (0, _defineProperty2.default)(this, "members", void 0);
59
+ (0, _defineProperty2.default)(this, "memberCSIs", void 0);
60
+ (0, _defineProperty2.default)(this, "webSocket", void 0);
54
61
  this.webSocketUrl = webSocketUrl;
55
62
  this.sessionID = sessionId;
56
63
  this.members = members;
@@ -87,7 +94,7 @@ var Transcription = /*#__PURE__*/function () {
87
94
  /**
88
95
  * Sets callback to invoke when the web socket connection is closed.
89
96
  *
90
- * @param {function} callback
97
+ * @param {Function} callback
91
98
  * @returns {void}
92
99
  */
93
100
 
@@ -104,7 +111,7 @@ var Transcription = /*#__PURE__*/function () {
104
111
  * Sets callback to invoke when a web socket connection error occurs.
105
112
  * An event parameter will be send to the callback.
106
113
  *
107
- * @param {function} callback
114
+ * @param {Function} callback
108
115
  * @returns {void}
109
116
  */
110
117
 
@@ -177,7 +184,7 @@ var Transcription = /*#__PURE__*/function () {
177
184
  /**
178
185
  * Sends transcription data to given callback as it arrives.
179
186
  *
180
- * @param {function} callback
187
+ * @param {Function} callback
181
188
  * @returns {void}
182
189
  */
183
190
 
@@ -1 +1 @@
1
- {"version":3,"names":["Transcription","webSocketUrl","sessionId","members","sessionID","memberCSIs","params","webSocket","WebSocket","token","onopen","send","id","uuidv4","type","data","trackingId","toString","callback","onclose","event","onerror","csis","csi","member","membersCollection","find","participant","status","selfIsSpeaking","includes","speaker","transcription","onmessage","JSON","parse","voiceaPayload","getSpeaker","messageID","transcript_id","personID","timestamp","close"],"sources":["index.js"],"sourcesContent":["import {v4 as uuidv4} from 'uuid';\n\n/**\n * @description Meeting Webex assistance transcription feature.\n * @exports\n * @class Transcription\n */\nexport default class Transcription {\n /**\n * @param {string} webSocketUrl\n * @param {sessionID} sessionId\n * @param {object} members\n * @constructor\n * @memberof Transcription\n */\n constructor(webSocketUrl, sessionId, members) {\n this.webSocketUrl = webSocketUrl;\n this.sessionID = sessionId;\n this.members = members;\n this.memberCSIs = {};\n\n const params = '?outboundWireFormat=text&bufferStates=true&aliasHttpStatus=true';\n\n this.webSocket = new WebSocket(`${this.webSocketUrl}${params}`);\n }\n\n /**\n * open the Low Latency Mercury connection\n * An event parameter will be send to the callback.\n *\n * @param {string} token\n * @param {string} sessionID\n * @returns {void}\n */\n connect(token) {\n this.webSocket.onopen = () => {\n this.webSocket.send(JSON.stringify({\n id: uuidv4(),\n type: 'authorization',\n data: {token: `Bearer ${token}`},\n trackingId: `webex-js-sdk_${this.sessionID}${Date.now.toString()}`\n }));\n };\n }\n\n /**\n * Sets callback to invoke when the web socket connection is closed.\n *\n * @param {function} callback\n * @returns {void}\n */\n onCloseSocket(callback) {\n if (callback) {\n this.webSocket.onclose = (event) => {\n callback(event);\n };\n }\n }\n\n /**\n * Sets callback to invoke when a web socket connection error occurs.\n * An event parameter will be send to the callback.\n *\n * @param {function} callback\n * @returns {void}\n */\n onErrorSocket(callback) {\n if (callback) {\n this.webSocket.onerror = (event) => {\n callback(event);\n };\n }\n }\n\n /**\n * Get current speaker from the given csis payload and update the global csis map\n *\n * @private\n * @param {object} csis\n * @returns {object}\n */\n getSpeaker(csis) {\n for (const csi of csis) {\n const member = this.memberCSIs[csi];\n\n if (member) {\n return member;\n }\n }\n\n return Object.values(this.members.membersCollection.members)\n .find((member) => {\n const memberCSIs = member.participant.status.csis;\n let selfIsSpeaking = false;\n\n for (const csi of csis) {\n if (memberCSIs.includes(csi)) {\n this.memberCSIs[csi] = member;\n selfIsSpeaking = true;\n break;\n }\n }\n\n return selfIsSpeaking;\n });\n }\n\n /**\n * Sends transcription data to given callback as it arrives.\n *\n * @param {function} callback\n * @returns {void}\n */\n subscribe(callback) {\n let data, csis, speaker, transcription;\n\n this.webSocket.onmessage = (event) => {\n data = JSON.parse(event.data);\n csis = data.data?.voiceaPayload?.csis || [];\n speaker = this.getSpeaker(csis);\n transcription = data.data?.voiceaPayload?.data || '';\n\n this.webSocket.send(JSON.stringify({messageID: data.id, type: 'ack'}));\n\n if (transcription) {\n callback(\n {\n id: data.data?.voiceaPayload?.transcript_id,\n personID: speaker?.id,\n transcription,\n timestamp: data.timestamp,\n type: data?.data?.voiceaPayload?.type\n }\n );\n }\n };\n }\n\n /**\n * Close the LLM web socket connection\n * @returns {void}\n */\n closeSocket() {\n this.webSocket.close();\n }\n}\n\n"],"mappings":"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"}
1
+ {"version":3,"names":["Transcription","webSocketUrl","sessionId","members","sessionID","memberCSIs","params","webSocket","WebSocket","token","onopen","send","id","uuidv4","type","data","trackingId","toString","callback","onclose","event","onerror","csis","csi","member","membersCollection","find","participant","status","selfIsSpeaking","includes","speaker","transcription","onmessage","JSON","parse","voiceaPayload","getSpeaker","messageID","transcript_id","personID","timestamp","close"],"sources":["index.ts"],"sourcesContent":["import {v4 as uuidv4} from 'uuid';\n\n/**\n * @description Meeting Webex assistance transcription feature.\n * @exports\n * @class Transcription\n */\nexport default class Transcription {\n webSocketUrl: any;\n sessionID: any;\n members: any;\n memberCSIs: any;\n webSocket: any;\n\n /**\n * @param {string} webSocketUrl\n * @param {sessionID} sessionId\n * @param {object} members\n * @constructor\n * @memberof Transcription\n */\n constructor(webSocketUrl: string, sessionId: any, members: object) {\n this.webSocketUrl = webSocketUrl;\n this.sessionID = sessionId;\n this.members = members;\n this.memberCSIs = {};\n\n const params = '?outboundWireFormat=text&bufferStates=true&aliasHttpStatus=true';\n\n this.webSocket = new WebSocket(`${this.webSocketUrl}${params}`);\n }\n\n /**\n * open the Low Latency Mercury connection\n * An event parameter will be send to the callback.\n *\n * @param {string} token\n * @param {string} sessionID\n * @returns {void}\n */\n connect(token: string) {\n this.webSocket.onopen = () => {\n this.webSocket.send(JSON.stringify({\n id: uuidv4(),\n type: 'authorization',\n data: {token: `Bearer ${token}`},\n trackingId: `webex-js-sdk_${this.sessionID}${Date.now.toString()}`\n }));\n };\n }\n\n /**\n * Sets callback to invoke when the web socket connection is closed.\n *\n * @param {Function} callback\n * @returns {void}\n */\n onCloseSocket(callback: Function) {\n if (callback) {\n this.webSocket.onclose = (event) => {\n callback(event);\n };\n }\n }\n\n /**\n * Sets callback to invoke when a web socket connection error occurs.\n * An event parameter will be send to the callback.\n *\n * @param {Function} callback\n * @returns {void}\n */\n onErrorSocket(callback: Function) {\n if (callback) {\n this.webSocket.onerror = (event) => {\n callback(event);\n };\n }\n }\n\n /**\n * Get current speaker from the given csis payload and update the global csis map\n *\n * @private\n * @param {object} csis\n * @returns {object}\n */\n private getSpeaker(csis: any) {\n for (const csi of csis) {\n const member = this.memberCSIs[csi];\n\n if (member) {\n return member;\n }\n }\n\n return Object.values(this.members.membersCollection.members)\n .find((member: any) => {\n const memberCSIs = member.participant.status.csis;\n let selfIsSpeaking = false;\n\n for (const csi of csis) {\n if (memberCSIs.includes(csi)) {\n this.memberCSIs[csi] = member;\n selfIsSpeaking = true;\n break;\n }\n }\n\n return selfIsSpeaking;\n });\n }\n\n /**\n * Sends transcription data to given callback as it arrives.\n *\n * @param {Function} callback\n * @returns {void}\n */\n subscribe(callback: Function) {\n let data, csis, speaker, transcription;\n\n this.webSocket.onmessage = (event) => {\n data = JSON.parse(event.data);\n csis = data.data?.voiceaPayload?.csis || [];\n speaker = this.getSpeaker(csis);\n transcription = data.data?.voiceaPayload?.data || '';\n\n this.webSocket.send(JSON.stringify({messageID: data.id, type: 'ack'}));\n\n if (transcription) {\n callback(\n {\n id: data.data?.voiceaPayload?.transcript_id,\n personID: speaker?.id,\n transcription,\n timestamp: data.timestamp,\n type: data?.data?.voiceaPayload?.type\n }\n );\n }\n };\n }\n\n /**\n * Close the LLM web socket connection\n * @returns {void}\n */\n closeSocket() {\n this.webSocket.close();\n }\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@webex/plugin-meetings",
3
- "version": "2.35.3",
3
+ "version": "2.35.4",
4
4
  "description": "",
5
5
  "license": "Cisco EULA (https://www.cisco.com/c/en/us/products/end-user-license-agreement.html)",
6
6
  "contributors": [
@@ -28,30 +28,30 @@
28
28
  ]
29
29
  },
30
30
  "devDependencies": {
31
- "@webex/plugin-meetings": "2.35.3",
32
- "@webex/test-helper-chai": "2.35.3",
33
- "@webex/test-helper-mocha": "2.35.3",
34
- "@webex/test-helper-mock-webex": "2.35.3",
35
- "@webex/test-helper-retry": "2.35.3",
36
- "@webex/test-helper-test-users": "2.35.3",
31
+ "@webex/plugin-meetings": "2.35.4",
32
+ "@webex/test-helper-chai": "2.35.4",
33
+ "@webex/test-helper-mocha": "2.35.4",
34
+ "@webex/test-helper-mock-webex": "2.35.4",
35
+ "@webex/test-helper-retry": "2.35.4",
36
+ "@webex/test-helper-test-users": "2.35.4",
37
37
  "chai": "^4.3.4",
38
38
  "chai-as-promised": "^7.1.1",
39
39
  "jsdom-global": "3.0.2",
40
40
  "sinon": "^9.2.4"
41
41
  },
42
42
  "dependencies": {
43
- "@webex/common": "2.35.3",
43
+ "@webex/common": "2.35.4",
44
44
  "@webex/internal-media-core": "0.0.7-beta",
45
- "@webex/internal-plugin-conversation": "2.35.3",
46
- "@webex/internal-plugin-device": "2.35.3",
47
- "@webex/internal-plugin-mercury": "2.35.3",
48
- "@webex/internal-plugin-metrics": "2.35.3",
49
- "@webex/internal-plugin-support": "2.35.3",
50
- "@webex/internal-plugin-user": "2.35.3",
51
- "@webex/plugin-people": "2.35.3",
52
- "@webex/plugin-rooms": "2.35.3",
45
+ "@webex/internal-plugin-conversation": "2.35.4",
46
+ "@webex/internal-plugin-device": "2.35.4",
47
+ "@webex/internal-plugin-mercury": "2.35.4",
48
+ "@webex/internal-plugin-metrics": "2.35.4",
49
+ "@webex/internal-plugin-support": "2.35.4",
50
+ "@webex/internal-plugin-user": "2.35.4",
51
+ "@webex/plugin-people": "2.35.4",
52
+ "@webex/plugin-rooms": "2.35.4",
53
53
  "@webex/ts-sdp": "1.0.1",
54
- "@webex/webex-core": "2.35.3",
54
+ "@webex/webex-core": "2.35.4",
55
55
  "bowser": "^2.11.0",
56
56
  "btoa": "^1.2.1",
57
57
  "dotenv": "^4.0.0",
@@ -30,7 +30,7 @@ const createDetectionObject = (results) => {
30
30
  };
31
31
  };
32
32
 
33
- export default memoize((agent) => (agent || window.navigator?.userAgent ?
33
+ export default memoize((agent?: any) => (agent || window.navigator?.userAgent ?
34
34
  createDetectionObject(bowser.getParser(agent || window.navigator.userAgent)) :
35
35
  mockDetectionObject
36
36
  ));
@@ -13,7 +13,7 @@ export default class Collection {
13
13
  * @param {String} property
14
14
  * @memberof Collection
15
15
  */
16
- constructor(property) {
16
+ constructor(property: string) {
17
17
  if (!property || !isString(property)) {
18
18
  throw new ParameterError('Collection expects a string to use as a property name.');
19
19
  }
@@ -41,7 +41,7 @@ export default class Collection {
41
41
  * @public
42
42
  * @memberof Collection
43
43
  */
44
- get(id) {
44
+ public get(id: string) {
45
45
  return this[this.propertyName] && this[this.propertyName][id] ? this[this.propertyName][id] : null;
46
46
  }
47
47
 
@@ -52,7 +52,7 @@ export default class Collection {
52
52
  * @public
53
53
  * @memberof Collection
54
54
  */
55
- set(id, value) {
55
+ public set(id: string, value: any) {
56
56
  this[this.propertyName][id] = value;
57
57
 
58
58
  return this.get(id);
@@ -65,7 +65,7 @@ export default class Collection {
65
65
  * @public
66
66
  * @memberof Collection
67
67
  */
68
- delete(id) {
68
+ public delete(id: string) {
69
69
  delete this[this.propertyName][id];
70
70
  }
71
71
 
@@ -74,7 +74,7 @@ export default class Collection {
74
74
  * @public
75
75
  * @memberof Collection
76
76
  */
77
- getAll() {
77
+ public getAll() {
78
78
  return this[this.propertyName];
79
79
  }
80
80
 
@@ -84,7 +84,7 @@ export default class Collection {
84
84
  * @public
85
85
  * @memberof Collection
86
86
  */
87
- setAll(set) {
87
+ public setAll(set: object) {
88
88
  this[this.propertyName] = set;
89
89
 
90
90
  return this.getAll();
@@ -1,4 +1,4 @@
1
- const StaticConfig = {};
1
+ const StaticConfig: any = {};
2
2
 
3
3
  StaticConfig.set = (options) => {
4
4
  const values = {};
@@ -4,13 +4,17 @@ import {ERROR_DICTIONARY} from '../../constants';
4
4
  * Extended Error object to signify captcha related errors
5
5
  */
6
6
  export default class CaptchaError extends Error {
7
+ code: any;
8
+ error: any;
9
+ sdkMessage: any;
10
+
7
11
  /**
8
12
  *
9
13
  * @constructor
10
14
  * @param {String} [message]
11
15
  * @param {Object} [error]
12
16
  */
13
- constructor(message = ERROR_DICTIONARY.CAPTCHA.MESSAGE, error = null) {
17
+ constructor(message: string = ERROR_DICTIONARY.CAPTCHA.MESSAGE, error: any = null) {
14
18
  super(message);
15
19
  this.name = ERROR_DICTIONARY.CAPTCHA.NAME;
16
20
  this.sdkMessage = ERROR_DICTIONARY.CAPTCHA.MESSAGE;
@@ -4,13 +4,18 @@ import {ERROR_DICTIONARY} from '../../constants';
4
4
  * Extended Error object to signify the intent to join for unclaimed PMR scenarios
5
5
  */
6
6
  export default class IntentToJoinError extends Error {
7
+ code: any;
8
+ error: any;
9
+ joinIntentRequired: any;
10
+ sdkMessage: any;
11
+
7
12
  /**
8
13
  *
9
14
  * @constructor
10
15
  * @param {String} [message]
11
16
  * @param {Object} [error]
12
17
  */
13
- constructor(message = ERROR_DICTIONARY.INTENT_TO_JOIN.MESSAGE, error = null) {
18
+ constructor(message: string = ERROR_DICTIONARY.INTENT_TO_JOIN.MESSAGE, error: any = null) {
14
19
  super(message);
15
20
  this.name = ERROR_DICTIONARY.INTENT_TO_JOIN.NAME;
16
21
  this.sdkMessage = ERROR_DICTIONARY.INTENT_TO_JOIN.MESSAGE;
@@ -4,6 +4,11 @@ import {ERROR_DICTIONARY} from '../../constants';
4
4
  * Extended Error object to signify a join meeting error
5
5
  */
6
6
  export default class JoinMeetingError extends Error {
7
+ code: any;
8
+ error: any;
9
+ joinOptions: any;
10
+ sdkMessage: any;
11
+
7
12
  /**
8
13
  *
9
14
  * @constructor
@@ -11,7 +16,7 @@ export default class JoinMeetingError extends Error {
11
16
  * @param {String} [message]
12
17
  * @param {Object} [error]
13
18
  */
14
- constructor(options = {}, message = ERROR_DICTIONARY.JOIN_MEETING.MESSAGE, error = null) {
19
+ constructor(options: object = {}, message: string = ERROR_DICTIONARY.JOIN_MEETING.MESSAGE, error: any = null) {
15
20
  super(message);
16
21
  this.name = ERROR_DICTIONARY.JOIN_MEETING.NAME;
17
22
  this.sdkMessage = ERROR_DICTIONARY.JOIN_MEETING.MESSAGE;
@@ -4,13 +4,17 @@ import {ERROR_DICTIONARY} from '../../constants';
4
4
  * Extended Error object for media errors
5
5
  */
6
6
  export default class MediaError extends Error {
7
+ code: any;
8
+ error: any;
9
+ sdkMessage: any;
10
+
7
11
  /**
8
12
  *
9
13
  * @constructor
10
14
  * @param {String} [message]
11
15
  * @param {Object} [error]
12
16
  */
13
- constructor(message = ERROR_DICTIONARY.MEDIA.MESSAGE, error = null) {
17
+ constructor(message: string = ERROR_DICTIONARY.MEDIA.MESSAGE, error: any = null) {
14
18
  super(message);
15
19
  this.name = ERROR_DICTIONARY.RECONNECTION.NAME;
16
20
  this.sdkMessage = ERROR_DICTIONARY.MEDIA.MESSAGE;
@@ -1,4 +1,4 @@
1
- import * as MEETINGCONSTANTS from '../../constants';
1
+ import * as MEETINGCONSTANTS from '../../constants';
2
2
 
3
3
  /**
4
4
  * Extended Error object for general parameter errors
@@ -7,13 +7,14 @@ export default class ParameterError extends Error {
7
7
  sdkMessage: string;
8
8
  error: null;
9
9
  code: number;
10
+
10
11
  /**
11
12
  *
12
13
  * @constructor
13
14
  * @param {String} [message]
14
15
  * @param {Object} [error]
15
16
  */
16
- constructor(message = MEETINGCONSTANTS.ERROR_DICTIONARY.PARAMETER.MESSAGE, error = null) {
17
+ constructor(message: string = MEETINGCONSTANTS.ERROR_DICTIONARY.PARAMETER.MESSAGE, error: any = null) {
17
18
  super(message);
18
19
 
19
20
  if (Error.captureStackTrace) {
@@ -4,13 +4,17 @@ import {ERROR_DICTIONARY} from '../../constants';
4
4
  * Extended Error object to signify password related errors
5
5
  */
6
6
  export default class PasswordError extends Error {
7
+ code: any;
8
+ error: any;
9
+ sdkMessage: any;
10
+
7
11
  /**
8
12
  *
9
13
  * @constructor
10
14
  * @param {String} [message]
11
15
  * @param {Object} [error]
12
16
  */
13
- constructor(message = ERROR_DICTIONARY.PASSWORD.MESSAGE, error = null) {
17
+ constructor(message: string = ERROR_DICTIONARY.PASSWORD.MESSAGE, error: any = null) {
14
18
  super(message);
15
19
  this.name = ERROR_DICTIONARY.PASSWORD.NAME;
16
20
  this.sdkMessage = ERROR_DICTIONARY.PASSWORD.MESSAGE;
@@ -4,12 +4,16 @@ import {ERROR_DICTIONARY} from '../../constants';
4
4
  * Extended Error object for general parameter errors
5
5
  */
6
6
  export default class PermissionError extends Error {
7
+ code: any;
8
+ error: any;
9
+ sdkMessage: any;
10
+
7
11
  /**
8
12
  * @constructor
9
13
  * @param {String} [message]
10
14
  * @param {Object} [error]
11
15
  */
12
- constructor(message = ERROR_DICTIONARY.PERMISSION.MESSAGE, error = null) {
16
+ constructor(message: string = ERROR_DICTIONARY.PERMISSION.MESSAGE, error: any = null) {
13
17
  super(message);
14
18
  this.name = ERROR_DICTIONARY.PERMISSION.NAME;
15
19
  this.sdkMessage = ERROR_DICTIONARY.PERMISSION.MESSAGE;
@@ -4,13 +4,17 @@ import {ERROR_DICTIONARY} from '../../constants';
4
4
  * Extended Error object to signify the intent to join for unclaimed PMR scenarios
5
5
  */
6
6
  export default class ReconnectionError extends Error {
7
+ code: any;
8
+ error: any;
9
+ sdkMessage: any;
10
+
7
11
  /**
8
12
  *
9
13
  * @constructor
10
14
  * @param {String} [message]
11
15
  * @param {Object} [error]
12
16
  */
13
- constructor(message = ERROR_DICTIONARY.RECONNECTION.MESSAGE, error = null) {
17
+ constructor(message: string = ERROR_DICTIONARY.RECONNECTION.MESSAGE, error: any = null) {
14
18
  super(message);
15
19
  this.name = ERROR_DICTIONARY.RECONNECTION.NAME;
16
20
  this.sdkMessage = ERROR_DICTIONARY.RECONNECTION.MESSAGE;
@@ -4,13 +4,17 @@ import {ERROR_DICTIONARY} from '../../constants';
4
4
  * Extended Error object for Stats Errors
5
5
  */
6
6
  export default class StatsError extends Error {
7
+ code: any;
8
+ error: any;
9
+ sdkMessage: any;
10
+
7
11
  /**
8
12
  *
9
13
  * @constructor
10
14
  * @param {String} [message]
11
15
  * @param {Object} [error]
12
16
  */
13
- constructor(message = ERROR_DICTIONARY.STATS.MESSAGE, error = null) {
17
+ constructor(message: string = ERROR_DICTIONARY.STATS.MESSAGE, error: any = null) {
14
18
  super(message);
15
19
  this.name = ERROR_DICTIONARY.STATS.NAME;
16
20
  this.sdkMessage = ERROR_DICTIONARY.STATS.MESSAGE;
@@ -5,7 +5,6 @@
5
5
  // 3) Any errors we generate from the SDK can be split into various categories
6
6
  // Parameter validation, user action, connection, media specific(They can have different range)
7
7
 
8
-
9
8
  // TODO: all the errors from the server need to be captured
10
9
 
11
10
  // add a way to log and send metrics if needed
@@ -20,7 +19,7 @@ const WebExMeetingsErrors = {};
20
19
  * @param {string} [message] - Error message
21
20
  * @returns {WebexMeetingsError}
22
21
  */
23
- export function createMeetingsError(code, message) {
22
+ export function createMeetingsError(code?: number, message?: string) {
24
23
  code = typeof code === 'number' ? code : 0;
25
24
  message = typeof message === 'string' && message ? message : 'Unknown error';
26
25
 
@@ -3,6 +3,8 @@
3
3
  * @property {number} code - Error code
4
4
  */
5
5
  export default class WebexMeetingsError extends Error {
6
+ code: any;
7
+
6
8
  /**
7
9
  * Creates a new {@link WebexMeetingsError}
8
10
  * @param {number} code - Error code
@@ -10,7 +12,7 @@ export default class WebexMeetingsError extends Error {
10
12
  * @param {string} [fileName] - Name of the script file where error was generated
11
13
  * @param {number} [lineNumber] - Line number of the script file where error was generated
12
14
  */
13
- constructor(code, ...args) {
15
+ constructor(code: number, ...args: any[]) {
14
16
  super(...args);
15
17
 
16
18
  this.name = 'WebexMeetingsError';
@@ -18,7 +18,7 @@ export default class EventsScope extends ChildEmitter {
18
18
  * @param {*} args
19
19
  * @returns {Function}
20
20
  */
21
- emit(scope, eventName, args) {
21
+ emit(scope: any, eventName: any, args: any) {
22
22
  LoggerProxy.logger.debug(`${EventsUtil.getScopeLog(scope)}event#${eventName}${LoggerConfig.verboseEvents ? ` -- ${EventsUtil.getEventLog(args)}` : ''}`);
23
23
 
24
24
  return super.emit(eventName, args);
File without changes
@@ -1,4 +1,3 @@
1
-
2
1
  import LoggerProxy from '../logs/logger-proxy';
3
2
  import LoggerConfig from '../logs/logger-config';
4
3
  import ParameterError from '../errors/parameter';
@@ -6,7 +5,7 @@ import ParameterError from '../errors/parameter';
6
5
  import EventsUtil from './util';
7
6
 
8
7
 
9
- const TriggerProxy = {};
8
+ const TriggerProxy: any = {};
10
9
 
11
10
  TriggerProxy.trigger = (instance, scope, trigger, payload) => {
12
11
  if (!instance || !instance.trigger) {
@@ -2,7 +2,7 @@ import {inspect} from 'util';
2
2
 
3
3
  import LoggerProxy from '../logs/logger-proxy';
4
4
 
5
- const EventsUtil = {};
5
+ const EventsUtil: any = {};
6
6
 
7
7
  EventsUtil.getEventLog = (args) => {
8
8
  let argString = '';
@@ -1,5 +1,4 @@
1
-
2
- const LoggerConfig = {};
1
+ const LoggerConfig: any = {};
3
2
 
4
3
  LoggerConfig.set = (options) => {
5
4
  LoggerConfig.verboseEvents = options.verboseEvents;
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable no-unused-vars */
2
2
  import LoggerConfig from './logger-config';
3
3
 
4
- const LoggerProxy = {
4
+ const LoggerProxy: any = {
5
5
  logger: {
6
6
  info: (args) => { console.error('LoggerProxy->info#NO LOGGER DEFINED'); },
7
7
  log: (args) => { console.error('LoggerProxy->log#NO LOGGER DEFINED'); },
@@ -6,13 +6,15 @@ import LoggerProxy from './logger-proxy';
6
6
  * @class LogsRequest
7
7
  */
8
8
  export default class LogsRequest {
9
+ webex: any;
10
+
9
11
  /**
10
12
  *
11
13
  * @param {Object} options
12
14
  * @param {Object} options.webex Webex SDK instance
13
15
  * @param {ClientMetrics} metrics
14
16
  */
15
- constructor(options) {
17
+ constructor(options: { webex: object }) {
16
18
  this.webex = options.webex;
17
19
  }
18
20
 
@@ -28,7 +30,15 @@ export default class LogsRequest {
28
30
  * @returns {Promise.<String>} Feedback ID
29
31
  * @memberof LogsRequest
30
32
  */
31
- async uploadLogs(options = {}) {
33
+ async uploadLogs(
34
+ options: {
35
+ feedbackId?: string;
36
+ locusId?: string;
37
+ correlationId?: string;
38
+ callStart?: string;
39
+ meetingId?: string;
40
+ } = {}
41
+ ) {
32
42
  const id = options.feedbackId || uuid.v4();
33
43
  const {
34
44
  locusId, correlationId, meetingId, callStart
@@ -23,7 +23,7 @@ export default class SimpleQueue {
23
23
  * @param {object} item
24
24
  * @returns {undefined}
25
25
  */
26
- enqueue(item) {
26
+ enqueue(item: object) {
27
27
  this.queue.push(item);
28
28
  }
29
29
 
@@ -48,4 +48,3 @@ export default class SimpleQueue {
48
48
  return this.queue.length;
49
49
  }
50
50
  }
51
-
@@ -1,4 +1,5 @@
1
1
  import {
2
+ // @ts-ignore
2
3
  deviceType
3
4
  } from '@webex/common';
4
5
 
package/src/constants.ts CHANGED
@@ -1,3 +1,4 @@
1
+ // @ts-ignore
1
2
  import { hydraTypes } from '@webex/common';
2
3
 
3
4
  // *********** LOWERCASE / CAMELCASE STRINGS ************
@@ -1,6 +1,6 @@
1
1
  import {isEqual} from 'lodash';
2
2
 
3
- const ControlsUtils = {};
3
+ const ControlsUtils: any = {};
4
4
 
5
5
  /**
6
6
  * Controls
@@ -17,7 +17,7 @@ const ControlsUtils = {};
17
17
  * @returns {Object} parsedObject - parsed host or null if host was undefined
18
18
  * @returns {String} parsedObject.recordingId
19
19
  */
20
- ControlsUtils.parse = (controls) => {
20
+ ControlsUtils.parse = (controls: any) => {
21
21
  const parsedControls = {...controls};
22
22
 
23
23
  if (controls && controls.record) {
@@ -55,7 +55,7 @@ ControlsUtils.parse = (controls) => {
55
55
  * @param {LocusControls} newControls current state
56
56
  * @returns {Object} combination of state plus the changes
57
57
  */
58
- ControlsUtils.getControls = (oldControls, newControls) => {
58
+ ControlsUtils.getControls = (oldControls: any, newControls: any) => {
59
59
  const previous = ControlsUtils.parse(oldControls);
60
60
  const current = ControlsUtils.parse(newControls);
61
61
 
@@ -91,7 +91,7 @@ ControlsUtils.getControls = (oldControls, newControls) => {
91
91
  * @param {LocusControls} controls
92
92
  * @returns {String|null}
93
93
  */
94
- ControlsUtils.getId = (controls) => {
94
+ ControlsUtils.getId = (controls: any) => {
95
95
  if (controls.record.meta) {
96
96
  return controls.record.meta.modifiedBy;
97
97
  }
@@ -1,7 +1,6 @@
1
1
  import {EMBEDDED_APP_TYPES} from '../constants';
2
2
 
3
- const EmbeddedAppsUtils = {};
4
-
3
+ const EmbeddedAppsUtils: any = {};
5
4
  const SLIDO_REGEX = /.sli.do\//;
6
5
 
7
6
  /**
@@ -9,8 +8,8 @@ const SLIDO_REGEX = /.sli.do\//;
9
8
  * @param {Object} embeddedApp - raw embedded app object
10
9
  * @returns {Object} parsedObject - parsed embedded app object
11
10
  */
12
- EmbeddedAppsUtils.parseApp = (embeddedApp) => {
13
- const parsedApp = {...embeddedApp};
11
+ EmbeddedAppsUtils.parseApp = (embeddedApp: object) => {
12
+ const parsedApp: any = {...embeddedApp};
14
13
 
15
14
  parsedApp.type = EMBEDDED_APP_TYPES.OTHER;
16
15
  const url = parsedApp.instanceInfo?.appInstanceUrl;
@@ -29,7 +28,7 @@ EmbeddedAppsUtils.parseApp = (embeddedApp) => {
29
28
  * @param {any[]} apps2 - an array of apps
30
29
  * @returns {boolean} true if the arrays are different
31
30
  */
32
- EmbeddedAppsUtils.areSimilar = (apps1, apps2) => {
31
+ EmbeddedAppsUtils.areSimilar = (apps1: any[], apps2: any[]) => {
33
32
  if (!apps1 || !apps2) {
34
33
  return apps1 === apps2;
35
34
  }
@@ -52,7 +51,7 @@ EmbeddedAppsUtils.areSimilar = (apps1, apps2) => {
52
51
  * @param {array} embeddedApps
53
52
  * @returns {array} result - new array of parsed embedded app objects
54
53
  */
55
- EmbeddedAppsUtils.parse = (embeddedApps) =>
54
+ EmbeddedAppsUtils.parse = (embeddedApps: Array<any>) =>
56
55
  embeddedApps && embeddedApps.map(EmbeddedAppsUtils.parseApp);
57
56
 
58
57
  export default EmbeddedAppsUtils;
@@ -1,6 +1,6 @@
1
1
  import {FULL_STATE} from '../constants';
2
2
 
3
- const FullState = {};
3
+ const FullState: any = {};
4
4
 
5
5
  FullState.parse = (fullState) => ({
6
6
  type: fullState.type || FULL_STATE.UNKNOWN,