@webex/plugin-meetings 3.11.0 → 3.12.0-next.10

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 (176) hide show
  1. package/dist/aiEnableRequest/index.js +184 -0
  2. package/dist/aiEnableRequest/index.js.map +1 -0
  3. package/dist/aiEnableRequest/utils.js +36 -0
  4. package/dist/aiEnableRequest/utils.js.map +1 -0
  5. package/dist/annotation/index.js +14 -5
  6. package/dist/annotation/index.js.map +1 -1
  7. package/dist/breakouts/breakout.js +1 -1
  8. package/dist/breakouts/index.js +1 -1
  9. package/dist/config.js +7 -2
  10. package/dist/config.js.map +1 -1
  11. package/dist/constants.js +28 -6
  12. package/dist/constants.js.map +1 -1
  13. package/dist/hashTree/constants.js +13 -2
  14. package/dist/hashTree/constants.js.map +1 -1
  15. package/dist/hashTree/hashTree.js +18 -0
  16. package/dist/hashTree/hashTree.js.map +1 -1
  17. package/dist/hashTree/hashTreeParser.js +869 -420
  18. package/dist/hashTree/hashTreeParser.js.map +1 -1
  19. package/dist/hashTree/types.js +4 -2
  20. package/dist/hashTree/types.js.map +1 -1
  21. package/dist/hashTree/utils.js +32 -0
  22. package/dist/hashTree/utils.js.map +1 -1
  23. package/dist/index.js +11 -2
  24. package/dist/index.js.map +1 -1
  25. package/dist/interceptors/constant.js +12 -0
  26. package/dist/interceptors/constant.js.map +1 -0
  27. package/dist/interceptors/dataChannelAuthToken.js +290 -0
  28. package/dist/interceptors/dataChannelAuthToken.js.map +1 -0
  29. package/dist/interceptors/index.js +7 -0
  30. package/dist/interceptors/index.js.map +1 -1
  31. package/dist/interceptors/utils.js +27 -0
  32. package/dist/interceptors/utils.js.map +1 -0
  33. package/dist/interpretation/index.js +2 -2
  34. package/dist/interpretation/index.js.map +1 -1
  35. package/dist/interpretation/siLanguage.js +1 -1
  36. package/dist/locus-info/controlsUtils.js +5 -3
  37. package/dist/locus-info/controlsUtils.js.map +1 -1
  38. package/dist/locus-info/index.js +522 -131
  39. package/dist/locus-info/index.js.map +1 -1
  40. package/dist/locus-info/selfUtils.js +1 -0
  41. package/dist/locus-info/selfUtils.js.map +1 -1
  42. package/dist/locus-info/types.js.map +1 -1
  43. package/dist/media/MediaConnectionAwaiter.js +57 -1
  44. package/dist/media/MediaConnectionAwaiter.js.map +1 -1
  45. package/dist/media/properties.js +4 -2
  46. package/dist/media/properties.js.map +1 -1
  47. package/dist/meeting/in-meeting-actions.js +7 -1
  48. package/dist/meeting/in-meeting-actions.js.map +1 -1
  49. package/dist/meeting/index.js +1304 -928
  50. package/dist/meeting/index.js.map +1 -1
  51. package/dist/meeting/request.js +50 -0
  52. package/dist/meeting/request.js.map +1 -1
  53. package/dist/meeting/request.type.js.map +1 -1
  54. package/dist/meeting/util.js +133 -3
  55. package/dist/meeting/util.js.map +1 -1
  56. package/dist/meetings/index.js +117 -48
  57. package/dist/meetings/index.js.map +1 -1
  58. package/dist/member/index.js +10 -0
  59. package/dist/member/index.js.map +1 -1
  60. package/dist/member/util.js +10 -0
  61. package/dist/member/util.js.map +1 -1
  62. package/dist/metrics/constants.js +6 -1
  63. package/dist/metrics/constants.js.map +1 -1
  64. package/dist/multistream/mediaRequestManager.js +9 -60
  65. package/dist/multistream/mediaRequestManager.js.map +1 -1
  66. package/dist/multistream/remoteMediaManager.js +11 -0
  67. package/dist/multistream/remoteMediaManager.js.map +1 -1
  68. package/dist/multistream/sendSlotManager.js +116 -2
  69. package/dist/multistream/sendSlotManager.js.map +1 -1
  70. package/dist/reachability/index.js +18 -10
  71. package/dist/reachability/index.js.map +1 -1
  72. package/dist/reactions/reactions.type.js.map +1 -1
  73. package/dist/reconnection-manager/index.js +0 -1
  74. package/dist/reconnection-manager/index.js.map +1 -1
  75. package/dist/types/aiEnableRequest/index.d.ts +5 -0
  76. package/dist/types/aiEnableRequest/utils.d.ts +2 -0
  77. package/dist/types/config.d.ts +4 -0
  78. package/dist/types/constants.d.ts +23 -1
  79. package/dist/types/hashTree/constants.d.ts +2 -0
  80. package/dist/types/hashTree/hashTree.d.ts +7 -0
  81. package/dist/types/hashTree/hashTreeParser.d.ts +122 -14
  82. package/dist/types/hashTree/types.d.ts +3 -0
  83. package/dist/types/hashTree/utils.d.ts +17 -0
  84. package/dist/types/index.d.ts +1 -0
  85. package/dist/types/interceptors/constant.d.ts +5 -0
  86. package/dist/types/interceptors/dataChannelAuthToken.d.ts +43 -0
  87. package/dist/types/interceptors/index.d.ts +2 -1
  88. package/dist/types/interceptors/utils.d.ts +1 -0
  89. package/dist/types/locus-info/index.d.ts +60 -8
  90. package/dist/types/locus-info/types.d.ts +7 -0
  91. package/dist/types/media/MediaConnectionAwaiter.d.ts +10 -1
  92. package/dist/types/media/properties.d.ts +2 -1
  93. package/dist/types/meeting/in-meeting-actions.d.ts +6 -0
  94. package/dist/types/meeting/index.d.ts +72 -7
  95. package/dist/types/meeting/request.d.ts +16 -1
  96. package/dist/types/meeting/request.type.d.ts +5 -0
  97. package/dist/types/meeting/util.d.ts +31 -0
  98. package/dist/types/meetings/index.d.ts +4 -2
  99. package/dist/types/member/index.d.ts +1 -0
  100. package/dist/types/member/util.d.ts +5 -0
  101. package/dist/types/metrics/constants.d.ts +5 -0
  102. package/dist/types/multistream/mediaRequestManager.d.ts +0 -23
  103. package/dist/types/multistream/sendSlotManager.d.ts +23 -1
  104. package/dist/types/reactions/reactions.type.d.ts +1 -0
  105. package/dist/types/webinar/utils.d.ts +6 -0
  106. package/dist/webinar/index.js +438 -163
  107. package/dist/webinar/index.js.map +1 -1
  108. package/dist/webinar/utils.js +25 -0
  109. package/dist/webinar/utils.js.map +1 -0
  110. package/package.json +24 -23
  111. package/src/aiEnableRequest/README.md +84 -0
  112. package/src/aiEnableRequest/index.ts +170 -0
  113. package/src/aiEnableRequest/utils.ts +25 -0
  114. package/src/annotation/index.ts +27 -7
  115. package/src/config.ts +4 -0
  116. package/src/constants.ts +29 -1
  117. package/src/hashTree/constants.ts +10 -0
  118. package/src/hashTree/hashTree.ts +17 -0
  119. package/src/hashTree/hashTreeParser.ts +764 -264
  120. package/src/hashTree/types.ts +4 -0
  121. package/src/hashTree/utils.ts +26 -0
  122. package/src/index.ts +8 -1
  123. package/src/interceptors/constant.ts +6 -0
  124. package/src/interceptors/dataChannelAuthToken.ts +170 -0
  125. package/src/interceptors/index.ts +2 -1
  126. package/src/interceptors/utils.ts +16 -0
  127. package/src/interpretation/index.ts +2 -2
  128. package/src/locus-info/controlsUtils.ts +11 -0
  129. package/src/locus-info/index.ts +579 -113
  130. package/src/locus-info/selfUtils.ts +1 -0
  131. package/src/locus-info/types.ts +8 -0
  132. package/src/media/MediaConnectionAwaiter.ts +41 -1
  133. package/src/media/properties.ts +3 -1
  134. package/src/meeting/in-meeting-actions.ts +12 -0
  135. package/src/meeting/index.ts +389 -87
  136. package/src/meeting/request.ts +42 -0
  137. package/src/meeting/request.type.ts +6 -0
  138. package/src/meeting/util.ts +160 -2
  139. package/src/meetings/index.ts +157 -44
  140. package/src/member/index.ts +10 -0
  141. package/src/member/util.ts +12 -0
  142. package/src/metrics/constants.ts +6 -0
  143. package/src/multistream/mediaRequestManager.ts +4 -54
  144. package/src/multistream/remoteMediaManager.ts +13 -0
  145. package/src/multistream/sendSlotManager.ts +97 -3
  146. package/src/reachability/index.ts +9 -0
  147. package/src/reactions/reactions.type.ts +1 -0
  148. package/src/reconnection-manager/index.ts +0 -1
  149. package/src/webinar/index.ts +265 -6
  150. package/src/webinar/utils.ts +16 -0
  151. package/test/unit/spec/aiEnableRequest/index.ts +981 -0
  152. package/test/unit/spec/aiEnableRequest/utils.ts +130 -0
  153. package/test/unit/spec/annotation/index.ts +69 -7
  154. package/test/unit/spec/hashTree/hashTree.ts +66 -0
  155. package/test/unit/spec/hashTree/hashTreeParser.ts +2469 -195
  156. package/test/unit/spec/hashTree/utils.ts +88 -1
  157. package/test/unit/spec/interceptors/dataChannelAuthToken.ts +210 -0
  158. package/test/unit/spec/interceptors/utils.ts +75 -0
  159. package/test/unit/spec/locus-info/controlsUtils.js +29 -0
  160. package/test/unit/spec/locus-info/index.js +1134 -55
  161. package/test/unit/spec/media/MediaConnectionAwaiter.ts +41 -1
  162. package/test/unit/spec/media/properties.ts +12 -3
  163. package/test/unit/spec/meeting/in-meeting-actions.ts +8 -2
  164. package/test/unit/spec/meeting/index.js +884 -152
  165. package/test/unit/spec/meeting/request.js +70 -0
  166. package/test/unit/spec/meeting/utils.js +438 -26
  167. package/test/unit/spec/meetings/index.js +653 -32
  168. package/test/unit/spec/member/index.js +28 -4
  169. package/test/unit/spec/member/util.js +65 -27
  170. package/test/unit/spec/multistream/mediaRequestManager.ts +2 -85
  171. package/test/unit/spec/multistream/remoteMediaManager.ts +30 -0
  172. package/test/unit/spec/multistream/sendSlotManager.ts +135 -36
  173. package/test/unit/spec/reachability/index.ts +23 -0
  174. package/test/unit/spec/reconnection-manager/index.js +4 -8
  175. package/test/unit/spec/webinar/index.ts +534 -37
  176. package/test/unit/spec/webinar/utils.ts +39 -0
@@ -1 +1 @@
1
- {"version":3,"names":["_types","require","isSelf","object","htMeta","elementId","type","toLowerCase","ObjectType","self","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 * 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":";;;;;;;;;;;;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;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,CAACR,MAAM,EAAE;IACjE,IAAI,IAAAc,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","ignoreList":[]}
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
@@ -215,7 +215,14 @@ _Object$defineProperty(exports, "createMicrophoneStream", {
215
215
  return _mediaHelpers.createMicrophoneStream;
216
216
  }
217
217
  });
218
- exports.sdkAnnotationTypes = exports.default = void 0;
218
+ exports.default = void 0;
219
+ _Object$defineProperty(exports, "getAIEnablementApprover", {
220
+ enumerable: true,
221
+ get: function get() {
222
+ return _utils.getAIEnablementApprover;
223
+ }
224
+ });
225
+ exports.sdkAnnotationTypes = void 0;
219
226
  var _webexCore = require("@webex/webex-core");
220
227
  var _meetings = _interopRequireDefault(require("./meetings"));
221
228
  var _config = _interopRequireDefault(require("./config"));
@@ -241,6 +248,7 @@ var _MeetingInfoV = _interopRequireWildcard(require("./meeting-info/meeting-info
241
248
  exports.MeetingInfoV2 = _MeetingInfoV;
242
249
  var _remoteMedia = require("./multistream/remoteMedia");
243
250
  var _triggerProxy = _interopRequireDefault(require("./common/events/trigger-proxy"));
251
+ var _utils = require("./aiEnableRequest/utils");
244
252
  function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
245
253
  /* eslint-env browser */
246
254
 
@@ -248,7 +256,8 @@ function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var
248
256
  config: _config.default,
249
257
  interceptors: {
250
258
  LocusRetryStatusInterceptor: _interceptors.LocusRetryStatusInterceptor.create,
251
- LocusRouteTokenInterceptor: _interceptors.LocusRouteTokenInterceptor.create
259
+ LocusRouteTokenInterceptor: _interceptors.LocusRouteTokenInterceptor.create,
260
+ DataChannelAuthTokenInterceptor: _interceptors.DataChannelAuthTokenInterceptor.create
252
261
  }
253
262
  });
254
263
  var _default = exports.default = _meetings.default;
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","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","_default"],"sources":["index.ts"],"sourcesContent":["/* eslint-env browser */\nimport {registerPlugin} from '@webex/webex-core';\n\nimport Meetings from './meetings';\nimport config from './config';\nimport {LocusRetryStatusInterceptor, LocusRouteTokenInterceptor} 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 },\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,IAAAA,UAAA,GAAAC,OAAA;AAEA,IAAAC,SAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,OAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,aAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,aAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,cAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,WAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,iBAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,sBAAA,GAAAV,OAAA;AAMA,IAAAW,QAAA,GAAAT,sBAAA,CAAAF,OAAA;AACA,IAAAY,MAAA,GAAAV,sBAAA,CAAAF,OAAA;AACA,IAAAa,YAAA,GAAAX,sBAAA,CAAAF,OAAA;AACA,IAAAc,YAAA,GAAAd,OAAA;AAUA,IAAAe,aAAA,GAAAf,OAAA;AAuB8B,IAAAgB,UAAA,GAAAC,uBAAA,CAAAjB,OAAA;AAAAkB,OAAA,CAAAC,SAAA,GAAAH,UAAA;AAAA,IAAAI,UAAA,GAAAH,uBAAA,CAAAjB,OAAA;AAAAkB,OAAA,CAAAG,SAAA,GAAAD,UAAA;AAAA,IAAAE,mBAAA,GAAAL,uBAAA,CAAAjB,OAAA;AAAAkB,OAAA,CAAAK,kBAAA,GAAAD,mBAAA;AAAA,IAAAE,aAAA,GAAAP,uBAAA,CAAAjB,OAAA;AAAAkB,OAAA,CAAAO,aAAA,GAAAD,aAAA;AA0B9B,IAAAE,YAAA,GAAA1B,OAAA;AAEA,IAAA2B,aAAA,GAAAzB,sBAAA,CAAAF,OAAA;AAAsE,SAAAiB,wBAAAW,CAAA,EAAAC,CAAA,6BAAAC,QAAA,MAAAC,CAAA,OAAAD,QAAA,IAAAE,CAAA,OAAAF,QAAA,YAAAb,uBAAA,YAAAA,wBAAAW,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,gBAAAW,OAAA,CAAAX,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAM,GAAA,CAAAZ,CAAA,UAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,GAAAM,CAAA,CAAAQ,GAAA,CAAAd,CAAA,EAAAQ,CAAA,cAAAO,EAAA,IAAAf,CAAA,gBAAAe,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,EAAA,OAAAR,CAAA,IAAAD,CAAA,GAAAY,sBAAA,KAAAC,gCAAA,CAAAnB,CAAA,EAAAe,EAAA,OAAAR,CAAA,CAAAM,GAAA,IAAAN,CAAA,CAAAO,GAAA,IAAAR,CAAA,CAAAE,CAAA,EAAAO,EAAA,EAAAR,CAAA,IAAAC,CAAA,CAAAO,EAAA,IAAAf,CAAA,CAAAe,EAAA,WAAAP,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAjFtE;;AAsBA,IAAAmB,yBAAc,EAAC,UAAU,EAAEC,iBAAQ,EAAE;EACnCC,MAAM,EAANA,eAAM;EACNC,YAAY,EAAE;IACZC,2BAA2B,EAAEA,yCAA2B,CAACC,MAAM;IAC/DC,0BAA0B,EAAEA,wCAA0B,CAACD;EACzD;AACF,CAAC,CAAC;AAAC,IAAAE,QAAA,GAAArC,OAAA,CAAAoB,OAAA,GA2BYW,iBAAQ","ignoreList":[]}
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":"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","ignoreList":[]}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+
3
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
4
+ _Object$defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.RETRY_KEY = exports.RETRY_INTERVAL = exports.MAX_RETRY = exports.DATA_CHANNEL_AUTH_HEADER = void 0;
8
+ var DATA_CHANNEL_AUTH_HEADER = exports.DATA_CHANNEL_AUTH_HEADER = 'Data-Channel-Auth-Token';
9
+ var MAX_RETRY = exports.MAX_RETRY = 1;
10
+ var RETRY_INTERVAL = exports.RETRY_INTERVAL = 2000;
11
+ var RETRY_KEY = exports.RETRY_KEY = '_dcRetryKey';
12
+ //# sourceMappingURL=constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["DATA_CHANNEL_AUTH_HEADER","exports","MAX_RETRY","RETRY_INTERVAL","RETRY_KEY"],"sources":["constant.ts"],"sourcesContent":["const DATA_CHANNEL_AUTH_HEADER = 'Data-Channel-Auth-Token';\nconst MAX_RETRY = 1;\nconst RETRY_INTERVAL = 2000;\nconst RETRY_KEY = '_dcRetryKey';\n\nexport {DATA_CHANNEL_AUTH_HEADER, MAX_RETRY, RETRY_INTERVAL, RETRY_KEY};\n"],"mappings":";;;;;;;AAAA,IAAMA,wBAAwB,GAAAC,OAAA,CAAAD,wBAAA,GAAG,yBAAyB;AAC1D,IAAME,SAAS,GAAAD,OAAA,CAAAC,SAAA,GAAG,CAAC;AACnB,IAAMC,cAAc,GAAAF,OAAA,CAAAE,cAAA,GAAG,IAAI;AAC3B,IAAMC,SAAS,GAAAH,OAAA,CAAAG,SAAA,GAAG,aAAa","ignoreList":[]}
@@ -0,0 +1,290 @@
1
+ "use strict";
2
+
3
+ var _Reflect$construct = require("@babel/runtime-corejs2/core-js/reflect/construct");
4
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
5
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
6
+ _Object$defineProperty(exports, "__esModule", {
7
+ value: true
8
+ });
9
+ exports.default = void 0;
10
+ var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
11
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
12
+ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/classCallCheck"));
13
+ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
14
+ var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
15
+ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
16
+ var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
17
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
18
+ var _map = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/map"));
19
+ var _now = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/date/now"));
20
+ var _keys = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/object/keys"));
21
+ var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
22
+ var _httpCore = require("@webex/http-core");
23
+ var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
24
+ var _constant = require("./constant");
25
+ var _utils = require("./utils");
26
+ function _callSuper(t, o, e) { return o = (0, _getPrototypeOf2.default)(o), (0, _possibleConstructorReturn2.default)(t, _isNativeReflectConstruct() ? _Reflect$construct(o, e || [], (0, _getPrototypeOf2.default)(t).constructor) : o.apply(t, e)); }
27
+ function _isNativeReflectConstruct() { try { var t = !Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); } catch (t) {} return (_isNativeReflectConstruct = function _isNativeReflectConstruct() { return !!t; })(); } /*!
28
+ * Copyright (c) 2015-2026 Cisco Systems, Inc. See LICENSE file.
29
+ */
30
+ /*!
31
+ * Copyright (c) 2015-2026 Cisco Systems, Inc. See LICENSE file.
32
+ */
33
+
34
+ var retryCountMap = new _map.default();
35
+ /**
36
+ * @class
37
+ */
38
+ var DataChannelAuthTokenInterceptor = exports.default = /*#__PURE__*/function (_Interceptor) {
39
+ function DataChannelAuthTokenInterceptor(options) {
40
+ var _this;
41
+ (0, _classCallCheck2.default)(this, DataChannelAuthTokenInterceptor);
42
+ _this = _callSuper(this, DataChannelAuthTokenInterceptor, [options]);
43
+ (0, _defineProperty2.default)(_this, "_refreshDataChannelToken", void 0);
44
+ (0, _defineProperty2.default)(_this, "_isDataChannelTokenEnabled", void 0);
45
+ _this._refreshDataChannelToken = options.refreshDataChannelToken;
46
+ _this._isDataChannelTokenEnabled = options.isDataChannelTokenEnabled;
47
+ return _this;
48
+ }
49
+
50
+ /**
51
+ * @returns {DataChannelAuthTokenInterceptor}
52
+ */
53
+ (0, _inherits2.default)(DataChannelAuthTokenInterceptor, _Interceptor);
54
+ return (0, _createClass2.default)(DataChannelAuthTokenInterceptor, [{
55
+ key: "getRetryKey",
56
+ value: function getRetryKey(options) {
57
+ if (!options[_constant.RETRY_KEY]) {
58
+ options[_constant.RETRY_KEY] = "".concat((0, _now.default)(), "-").concat(Math.random());
59
+ }
60
+ return options[_constant.RETRY_KEY];
61
+ }
62
+
63
+ // Helper function to get header value case insensitively
64
+ }, {
65
+ key: "getHeader",
66
+ value: function getHeader(headers, name) {
67
+ var key = (0, _keys.default)(headers).find(function (k) {
68
+ return k.toLowerCase() === name.toLowerCase();
69
+ });
70
+ return key ? headers[key] : undefined;
71
+ }
72
+
73
+ /**
74
+ * Intercepts outgoing requests and refreshes the Data-Channel-Auth-Token
75
+ * if the current JWT token is expired before the request is sent.
76
+ *
77
+ * @param {Object} options - The original request options.
78
+ * @returns {Promise<Object>} Updated request options with refreshed token if needed.
79
+ */
80
+ }, {
81
+ key: "onRequest",
82
+ value: (function () {
83
+ var _onRequest = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee(options) {
84
+ var token, enabled, newToken, _t;
85
+ return _regenerator.default.wrap(function (_context) {
86
+ while (1) switch (_context.prev = _context.next) {
87
+ case 0:
88
+ token = this.getHeader(options.headers, _constant.DATA_CHANNEL_AUTH_HEADER);
89
+ _context.next = 1;
90
+ return this._isDataChannelTokenEnabled();
91
+ case 1:
92
+ enabled = _context.sent;
93
+ if (!(!token || !enabled)) {
94
+ _context.next = 2;
95
+ break;
96
+ }
97
+ return _context.abrupt("return", options);
98
+ case 2:
99
+ if (!(0, _utils.isJwtTokenExpired)(token)) {
100
+ _context.next = 6;
101
+ break;
102
+ }
103
+ _context.prev = 3;
104
+ _context.next = 4;
105
+ return this._refreshDataChannelToken();
106
+ case 4:
107
+ newToken = _context.sent;
108
+ options.headers[_constant.DATA_CHANNEL_AUTH_HEADER] = newToken;
109
+ _context.next = 6;
110
+ break;
111
+ case 5:
112
+ _context.prev = 5;
113
+ _t = _context["catch"](3);
114
+ _loggerProxy.default.logger.warn("DataChannelAuthTokenInterceptor: refresh failed: ".concat(_t.message));
115
+ case 6:
116
+ return _context.abrupt("return", options);
117
+ case 7:
118
+ case "end":
119
+ return _context.stop();
120
+ }
121
+ }, _callee, this, [[3, 5]]);
122
+ }));
123
+ function onRequest(_x) {
124
+ return _onRequest.apply(this, arguments);
125
+ }
126
+ return onRequest;
127
+ }()
128
+ /**
129
+ * Intercept responses and, on 401/403 with `Data-Channel-Auth-Token` header,
130
+ * attempt to refresh the data channel token and retry the original request once.
131
+ *
132
+ * @param {Object} options
133
+ * @param {Object} reason
134
+ * @returns {Promise<HttpResponse>}
135
+ */
136
+ )
137
+ }, {
138
+ key: "onResponseError",
139
+ value: (function () {
140
+ var _onResponseError = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee2(options, reason) {
141
+ var token, enabled, key, retryCount;
142
+ return _regenerator.default.wrap(function (_context2) {
143
+ while (1) switch (_context2.prev = _context2.next) {
144
+ case 0:
145
+ token = this.getHeader(options.headers, _constant.DATA_CHANNEL_AUTH_HEADER);
146
+ _context2.next = 1;
147
+ return this._isDataChannelTokenEnabled();
148
+ case 1:
149
+ enabled = _context2.sent;
150
+ if (!(!token || !enabled)) {
151
+ _context2.next = 2;
152
+ break;
153
+ }
154
+ return _context2.abrupt("return", _promise.default.reject(reason));
155
+ case 2:
156
+ if (!(reason.statusCode !== 401 && reason.statusCode !== 403)) {
157
+ _context2.next = 3;
158
+ break;
159
+ }
160
+ return _context2.abrupt("return", _promise.default.reject(reason));
161
+ case 3:
162
+ key = this.getRetryKey(options);
163
+ retryCount = retryCountMap.get(key) || 0;
164
+ if (!(retryCount >= _constant.MAX_RETRY)) {
165
+ _context2.next = 4;
166
+ break;
167
+ }
168
+ _loggerProxy.default.logger.error("data channel token refresh exceeded max retry (".concat(_constant.MAX_RETRY, ")"));
169
+ retryCountMap.delete(key);
170
+ return _context2.abrupt("return", _promise.default.reject(reason));
171
+ case 4:
172
+ retryCountMap.set(key, retryCount + 1);
173
+ return _context2.abrupt("return", this.refreshTokenAndRetryWithDelay(options));
174
+ case 5:
175
+ case "end":
176
+ return _context2.stop();
177
+ }
178
+ }, _callee2, this);
179
+ }));
180
+ function onResponseError(_x2, _x3) {
181
+ return _onResponseError.apply(this, arguments);
182
+ }
183
+ return onResponseError;
184
+ }()
185
+ /**
186
+ * Retry the failed data channel request after a delay.
187
+ * Refreshes the Data-Channel-Auth-Token and re-sends the original request.
188
+ *
189
+ * @param {Object} options - Original request options.
190
+ * @returns {Promise<HttpResponse>} - Resolves on successful retry.
191
+ */
192
+ )
193
+ }, {
194
+ key: "refreshTokenAndRetryWithDelay",
195
+ value: function refreshTokenAndRetryWithDelay(options) {
196
+ var _this2 = this;
197
+ return new _promise.default(function (resolve, reject) {
198
+ setTimeout(/*#__PURE__*/(0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee3() {
199
+ var key, newToken, res, msg, err, _t2;
200
+ return _regenerator.default.wrap(function (_context3) {
201
+ while (1) switch (_context3.prev = _context3.next) {
202
+ case 0:
203
+ key = _this2.getRetryKey(options);
204
+ _context3.prev = 1;
205
+ _context3.next = 2;
206
+ return _this2._refreshDataChannelToken();
207
+ case 2:
208
+ newToken = _context3.sent;
209
+ options.headers[_constant.DATA_CHANNEL_AUTH_HEADER] = newToken;
210
+
211
+ // @ts-ignore
212
+ _context3.next = 3;
213
+ return _this2.webex.request(options);
214
+ case 3:
215
+ res = _context3.sent;
216
+ retryCountMap.delete(key);
217
+ resolve(res);
218
+ _context3.next = 5;
219
+ break;
220
+ case 4:
221
+ _context3.prev = 4;
222
+ _t2 = _context3["catch"](1);
223
+ retryCountMap.delete(key);
224
+ msg = (_t2 === null || _t2 === void 0 ? void 0 : _t2.message) || String(_t2);
225
+ err = new Error("DataChannel token refresh failed: ".concat(msg));
226
+ err.statusCode = _t2 === null || _t2 === void 0 ? void 0 : _t2.statusCode;
227
+ err.original = _t2;
228
+ reject(err);
229
+ case 5:
230
+ case "end":
231
+ return _context3.stop();
232
+ }
233
+ }, _callee3, null, [[1, 4]]);
234
+ })), _constant.RETRY_INTERVAL);
235
+ });
236
+ }
237
+ }], [{
238
+ key: "create",
239
+ value: function create() {
240
+ var _this3 = this;
241
+ // @ts-ignore
242
+ return new DataChannelAuthTokenInterceptor({
243
+ webex: this,
244
+ isDataChannelTokenEnabled: function () {
245
+ var _isDataChannelTokenEnabled = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee4() {
246
+ return _regenerator.default.wrap(function (_context4) {
247
+ while (1) switch (_context4.prev = _context4.next) {
248
+ case 0:
249
+ return _context4.abrupt("return", _this3.internal.llm.isDataChannelTokenEnabled());
250
+ case 1:
251
+ case "end":
252
+ return _context4.stop();
253
+ }
254
+ }, _callee4);
255
+ }));
256
+ function isDataChannelTokenEnabled() {
257
+ return _isDataChannelTokenEnabled.apply(this, arguments);
258
+ }
259
+ return isDataChannelTokenEnabled;
260
+ }(),
261
+ refreshDataChannelToken: function () {
262
+ var _refreshDataChannelToken = (0, _asyncToGenerator2.default)(/*#__PURE__*/_regenerator.default.mark(function _callee5() {
263
+ var _yield$_this3$interna, body, _ref2, datachannelToken, dataChannelTokenType;
264
+ return _regenerator.default.wrap(function (_context5) {
265
+ while (1) switch (_context5.prev = _context5.next) {
266
+ case 0:
267
+ _context5.next = 1;
268
+ return _this3.internal.llm.refreshDataChannelToken();
269
+ case 1:
270
+ _yield$_this3$interna = _context5.sent;
271
+ body = _yield$_this3$interna.body;
272
+ _ref2 = body !== null && body !== void 0 ? body : {}, datachannelToken = _ref2.datachannelToken, dataChannelTokenType = _ref2.dataChannelTokenType; // @ts-ignore
273
+ _this3.internal.llm.setDatachannelToken(datachannelToken, dataChannelTokenType);
274
+ return _context5.abrupt("return", datachannelToken);
275
+ case 2:
276
+ case "end":
277
+ return _context5.stop();
278
+ }
279
+ }, _callee5);
280
+ }));
281
+ function refreshDataChannelToken() {
282
+ return _refreshDataChannelToken.apply(this, arguments);
283
+ }
284
+ return refreshDataChannelToken;
285
+ }()
286
+ });
287
+ }
288
+ }]);
289
+ }(_httpCore.Interceptor);
290
+ //# sourceMappingURL=dataChannelAuthToken.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_httpCore","require","_loggerProxy","_interopRequireDefault","_constant","_utils","_callSuper","t","o","e","_getPrototypeOf2","default","_possibleConstructorReturn2","_isNativeReflectConstruct","_Reflect$construct","constructor","apply","Boolean","prototype","valueOf","call","retryCountMap","_map","DataChannelAuthTokenInterceptor","exports","_Interceptor","options","_this","_classCallCheck2","_defineProperty2","_refreshDataChannelToken","refreshDataChannelToken","_isDataChannelTokenEnabled","isDataChannelTokenEnabled","_inherits2","_createClass2","key","value","getRetryKey","RETRY_KEY","concat","_now","Math","random","getHeader","headers","name","_keys","find","k","toLowerCase","undefined","_onRequest","_asyncToGenerator2","_regenerator","mark","_callee","token","enabled","newToken","_t","wrap","_context","prev","next","DATA_CHANNEL_AUTH_HEADER","sent","abrupt","isJwtTokenExpired","LoggerProxy","logger","warn","message","stop","onRequest","_x","arguments","_onResponseError","_callee2","reason","retryCount","_context2","_promise","reject","statusCode","get","MAX_RETRY","error","delete","set","refreshTokenAndRetryWithDelay","onResponseError","_x2","_x3","_this2","resolve","setTimeout","_callee3","res","msg","err","_t2","_context3","webex","request","String","Error","original","RETRY_INTERVAL","create","_this3","_callee4","_context4","internal","llm","_callee5","_yield$_this3$interna","body","_ref2","datachannelToken","dataChannelTokenType","_context5","setDatachannelToken","Interceptor"],"sources":["dataChannelAuthToken.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2026 Cisco Systems, Inc. See LICENSE file.\n */\n\nimport {Interceptor} from '@webex/http-core';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {DATA_CHANNEL_AUTH_HEADER, MAX_RETRY, RETRY_INTERVAL, RETRY_KEY} from './constant';\nimport {isJwtTokenExpired} from './utils';\n\n/*!\n * Copyright (c) 2015-2026 Cisco Systems, Inc. See LICENSE file.\n */\n\nconst retryCountMap = new Map();\ninterface HttpLikeError extends Error {\n statusCode?: number;\n original?: any;\n}\n/**\n * @class\n */\nexport default class DataChannelAuthTokenInterceptor extends Interceptor {\n private _refreshDataChannelToken: () => Promise<string>;\n private _isDataChannelTokenEnabled: () => Promise<boolean>;\n constructor(options) {\n super(options);\n\n this._refreshDataChannelToken = options.refreshDataChannelToken;\n this._isDataChannelTokenEnabled = options.isDataChannelTokenEnabled;\n }\n\n /**\n * @returns {DataChannelAuthTokenInterceptor}\n */\n static create() {\n // @ts-ignore\n return new DataChannelAuthTokenInterceptor({\n webex: this,\n\n isDataChannelTokenEnabled: async () => {\n // @ts-ignore\n return this.internal.llm.isDataChannelTokenEnabled();\n },\n\n refreshDataChannelToken: async () => {\n // @ts-ignore\n const {body} = await this.internal.llm.refreshDataChannelToken();\n const {datachannelToken, dataChannelTokenType} = body ?? {};\n\n // @ts-ignore\n this.internal.llm.setDatachannelToken(datachannelToken, dataChannelTokenType);\n\n return datachannelToken;\n },\n });\n }\n\n private getRetryKey(options) {\n if (!options[RETRY_KEY]) {\n options[RETRY_KEY] = `${Date.now()}-${Math.random()}`;\n }\n\n return options[RETRY_KEY];\n }\n\n // Helper function to get header value case insensitively\n private getHeader(headers: Record<string, string>, name: string) {\n const key = Object.keys(headers).find((k) => k.toLowerCase() === name.toLowerCase());\n\n return key ? headers[key] : undefined;\n }\n\n /**\n * Intercepts outgoing requests and refreshes the Data-Channel-Auth-Token\n * if the current JWT token is expired before the request is sent.\n *\n * @param {Object} options - The original request options.\n * @returns {Promise<Object>} Updated request options with refreshed token if needed.\n */\n async onRequest(options) {\n const token = this.getHeader(options.headers, DATA_CHANNEL_AUTH_HEADER);\n const enabled = await this._isDataChannelTokenEnabled();\n\n if (!token || !enabled) {\n return options;\n }\n\n if (isJwtTokenExpired(token)) {\n try {\n const newToken = await this._refreshDataChannelToken();\n options.headers[DATA_CHANNEL_AUTH_HEADER] = newToken;\n } catch (e) {\n LoggerProxy.logger.warn(`DataChannelAuthTokenInterceptor: refresh failed: ${e.message}`);\n }\n }\n\n return options;\n }\n\n /**\n * Intercept responses and, on 401/403 with `Data-Channel-Auth-Token` header,\n * attempt to refresh the data channel token and retry the original request once.\n *\n * @param {Object} options\n * @param {Object} reason\n * @returns {Promise<HttpResponse>}\n */\n async onResponseError(options, reason) {\n const token = this.getHeader(options.headers, DATA_CHANNEL_AUTH_HEADER);\n const enabled = await this._isDataChannelTokenEnabled();\n\n if (!token || !enabled) {\n return Promise.reject(reason);\n }\n\n if (reason.statusCode !== 401 && reason.statusCode !== 403) {\n return Promise.reject(reason);\n }\n\n const key = this.getRetryKey(options);\n const retryCount = retryCountMap.get(key) || 0;\n\n if (retryCount >= MAX_RETRY) {\n LoggerProxy.logger.error(`data channel token refresh exceeded max retry (${MAX_RETRY})`);\n retryCountMap.delete(key);\n\n return Promise.reject(reason);\n }\n\n retryCountMap.set(key, retryCount + 1);\n\n return this.refreshTokenAndRetryWithDelay(options);\n }\n\n /**\n * Retry the failed data channel request after a delay.\n * Refreshes the Data-Channel-Auth-Token and re-sends the original request.\n *\n * @param {Object} options - Original request options.\n * @returns {Promise<HttpResponse>} - Resolves on successful retry.\n */\n refreshTokenAndRetryWithDelay(options) {\n return new Promise((resolve, reject) => {\n setTimeout(async () => {\n const key = this.getRetryKey(options);\n try {\n const newToken = await this._refreshDataChannelToken();\n\n options.headers[DATA_CHANNEL_AUTH_HEADER] = newToken;\n\n // @ts-ignore\n const res = await this.webex.request(options);\n retryCountMap.delete(key);\n\n resolve(res);\n } catch (e) {\n retryCountMap.delete(key);\n\n const msg = e?.message || String(e);\n\n const err: HttpLikeError = new Error(`DataChannel token refresh failed: ${msg}`);\n err.statusCode = e?.statusCode;\n err.original = e;\n\n reject(err);\n }\n }, RETRY_INTERVAL);\n });\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,6 +5,12 @@ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequ
5
5
  _Object$defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
+ _Object$defineProperty(exports, "DataChannelAuthTokenInterceptor", {
9
+ enumerable: true,
10
+ get: function get() {
11
+ return _dataChannelAuthToken.default;
12
+ }
13
+ });
8
14
  _Object$defineProperty(exports, "LocusRetryStatusInterceptor", {
9
15
  enumerable: true,
10
16
  get: function get() {
@@ -19,4 +25,5 @@ _Object$defineProperty(exports, "LocusRouteTokenInterceptor", {
19
25
  });
20
26
  var _locusRetry = _interopRequireDefault(require("./locusRetry"));
21
27
  var _locusRouteToken = _interopRequireDefault(require("./locusRouteToken"));
28
+ var _dataChannelAuthToken = _interopRequireDefault(require("./dataChannelAuthToken"));
22
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_locusRetry","_interopRequireDefault","require","_locusRouteToken"],"sources":["index.ts"],"sourcesContent":["import LocusRetryStatusInterceptor from './locusRetry';\nimport LocusRouteTokenInterceptor from './locusRouteToken';\n\nexport {LocusRetryStatusInterceptor, LocusRouteTokenInterceptor};\n"],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA","ignoreList":[]}
1
+ {"version":3,"names":["_locusRetry","_interopRequireDefault","require","_locusRouteToken","_dataChannelAuthToken"],"sources":["index.ts"],"sourcesContent":["import LocusRetryStatusInterceptor from './locusRetry';\nimport LocusRouteTokenInterceptor from './locusRouteToken';\nimport DataChannelAuthTokenInterceptor from './dataChannelAuthToken';\n\nexport {LocusRetryStatusInterceptor, LocusRouteTokenInterceptor, DataChannelAuthTokenInterceptor};\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,gBAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,qBAAA,GAAAH,sBAAA,CAAAC,OAAA","ignoreList":[]}
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+
3
+ var _typeof = require("@babel/runtime-corejs2/helpers/typeof");
4
+ var _WeakMap = require("@babel/runtime-corejs2/core-js/weak-map");
5
+ var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
6
+ var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
7
+ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
8
+ _Object$defineProperty(exports, "__esModule", {
9
+ value: true
10
+ });
11
+ exports.isJwtTokenExpired = void 0;
12
+ var _now = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/date/now"));
13
+ var jose = _interopRequireWildcard(require("jose"));
14
+ function _interopRequireWildcard(e, t) { if ("function" == typeof _WeakMap) var r = new _WeakMap(), n = new _WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != _typeof(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t in e) "default" !== _t && {}.hasOwnProperty.call(e, _t) && ((i = (o = _Object$defineProperty) && _Object$getOwnPropertyDescriptor(e, _t)) && (i.get || i.set) ? o(f, _t, i) : f[_t] = e[_t]); return f; })(e, t); }
15
+ var EXPIRY_BUFFER = 30 * 1000;
16
+
17
+ // eslint-disable-next-line import/prefer-default-export
18
+ var isJwtTokenExpired = exports.isJwtTokenExpired = function isJwtTokenExpired(token) {
19
+ try {
20
+ var payload = jose.decodeJwt(token);
21
+ if (!(payload !== null && payload !== void 0 && payload.exp)) return false;
22
+ return payload.exp * 1000 < (0, _now.default)() + EXPIRY_BUFFER;
23
+ } catch (_unused) {
24
+ return true;
25
+ }
26
+ };
27
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["jose","_interopRequireWildcard","require","e","t","_WeakMap","r","n","__esModule","o","i","f","__proto__","default","_typeof","has","get","set","_t","hasOwnProperty","call","_Object$defineProperty","_Object$getOwnPropertyDescriptor","EXPIRY_BUFFER","isJwtTokenExpired","exports","token","payload","decodeJwt","exp","_now","_unused"],"sources":["utils.ts"],"sourcesContent":["import * as jose from 'jose';\n\nconst EXPIRY_BUFFER = 30 * 1000;\n\n// eslint-disable-next-line import/prefer-default-export\nexport const isJwtTokenExpired = (token: string): boolean => {\n try {\n const payload = jose.decodeJwt(token);\n\n if (!payload?.exp) return false;\n\n return payload.exp * 1000 < Date.now() + EXPIRY_BUFFER;\n } catch {\n return true;\n }\n};\n"],"mappings":";;;;;;;;;;;;AAAA,IAAAA,IAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA6B,SAAAD,wBAAAE,CAAA,EAAAC,CAAA,6BAAAC,QAAA,MAAAC,CAAA,OAAAD,QAAA,IAAAE,CAAA,OAAAF,QAAA,YAAAJ,uBAAA,YAAAA,wBAAAE,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,gBAAAW,OAAA,CAAAX,CAAA,0BAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAM,GAAA,CAAAZ,CAAA,UAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,GAAAM,CAAA,CAAAQ,GAAA,CAAAd,CAAA,EAAAQ,CAAA,cAAAO,EAAA,IAAAf,CAAA,gBAAAe,EAAA,OAAAC,cAAA,CAAAC,IAAA,CAAAjB,CAAA,EAAAe,EAAA,OAAAR,CAAA,IAAAD,CAAA,GAAAY,sBAAA,KAAAC,gCAAA,CAAAnB,CAAA,EAAAe,EAAA,OAAAR,CAAA,CAAAM,GAAA,IAAAN,CAAA,CAAAO,GAAA,IAAAR,CAAA,CAAAE,CAAA,EAAAO,EAAA,EAAAR,CAAA,IAAAC,CAAA,CAAAO,EAAA,IAAAf,CAAA,CAAAe,EAAA,WAAAP,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAE7B,IAAMmB,aAAa,GAAG,EAAE,GAAG,IAAI;;AAE/B;AACO,IAAMC,iBAAiB,GAAAC,OAAA,CAAAD,iBAAA,GAAG,SAApBA,iBAAiBA,CAAIE,KAAa,EAAc;EAC3D,IAAI;IACF,IAAMC,OAAO,GAAG3B,IAAI,CAAC4B,SAAS,CAACF,KAAK,CAAC;IAErC,IAAI,EAACC,OAAO,aAAPA,OAAO,eAAPA,OAAO,CAAEE,GAAG,GAAE,OAAO,KAAK;IAE/B,OAAOF,OAAO,CAACE,GAAG,GAAG,IAAI,GAAG,IAAAC,IAAA,CAAAjB,OAAA,EAAS,CAAC,GAAGU,aAAa;EACxD,CAAC,CAAC,OAAAQ,OAAA,EAAM;IACN,OAAO,IAAI;EACb;AACF,CAAC","ignoreList":[]}
@@ -258,7 +258,7 @@ var SimultaneousInterpretation = _webexCore.WebexPlugin.extend({
258
258
  */
259
259
  listenToHandoffRequests: function listenToHandoffRequests() {
260
260
  var _this3 = this;
261
- this.listenTo(this.webex.internal.mercury, 'event:locus.approval_request', function (event) {
261
+ this.listenTo(this.webex.internal.mercury, "event:".concat(_constants.LOCUSEVENT.APPROVAL_REQUEST), function (event) {
262
262
  var _event$data, _event$data$approval;
263
263
  if ((event === null || event === void 0 ? void 0 : (_event$data = event.data) === null || _event$data === void 0 ? void 0 : (_event$data$approval = _event$data.approval) === null || _event$data$approval === void 0 ? void 0 : _event$data$approval.resourceType) === _constants.INTERPRETATION.RESOURCE_TYPE) {
264
264
  var _receivers$;
@@ -372,7 +372,7 @@ var SimultaneousInterpretation = _webexCore.WebexPlugin.extend({
372
372
  throw error;
373
373
  });
374
374
  },
375
- version: "0.0.0"
375
+ version: "3.12.0-next.10"
376
376
  });
377
377
  var _default = exports.default = SimultaneousInterpretation;
378
378
  //# sourceMappingURL=index.js.map