@webex/plugin-meetings 2.60.0-next.9 → 2.60.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -46
- package/dist/common/browser-detection.js +3 -2
- package/dist/common/browser-detection.js.map +1 -1
- package/dist/common/collection.js +4 -3
- package/dist/common/collection.js.map +1 -1
- package/dist/common/config.js +2 -1
- package/dist/common/config.js.map +1 -1
- package/dist/common/errors/captcha-error.js +2 -1
- package/dist/common/errors/captcha-error.js.map +1 -1
- package/dist/common/errors/intent-to-join.js +2 -1
- package/dist/common/errors/intent-to-join.js.map +1 -1
- package/dist/common/errors/join-meeting.js +2 -1
- package/dist/common/errors/join-meeting.js.map +1 -1
- package/dist/common/errors/media.js +2 -1
- package/dist/common/errors/media.js.map +1 -1
- package/dist/common/errors/parameter.js +4 -3
- package/dist/common/errors/parameter.js.map +1 -1
- package/dist/common/errors/password-error.js +2 -1
- package/dist/common/errors/password-error.js.map +1 -1
- package/dist/common/errors/permission.js +2 -1
- package/dist/common/errors/permission.js.map +1 -1
- package/dist/common/errors/{reclaim-host-role-errors.js → reclaim-host-role-error.js} +11 -7
- package/dist/common/errors/reclaim-host-role-error.js.map +1 -0
- package/dist/common/errors/reconnection-in-progress.js +2 -1
- package/dist/common/errors/reconnection-in-progress.js.map +1 -1
- package/dist/common/errors/reconnection.js +2 -1
- package/dist/common/errors/reconnection.js.map +1 -1
- package/dist/common/errors/stats.js +2 -1
- package/dist/common/errors/stats.js.map +1 -1
- package/dist/common/errors/webex-errors.d.ts +8 -20
- package/dist/common/errors/webex-errors.js +28 -48
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/errors/webex-meetings-error.js +2 -1
- package/dist/common/errors/webex-meetings-error.js.map +1 -1
- package/dist/common/events/events-scope.js +2 -1
- package/dist/common/events/events-scope.js.map +1 -1
- package/dist/common/events/events.js +2 -1
- package/dist/common/events/events.js.map +1 -1
- package/dist/common/events/trigger-proxy.js +2 -1
- package/dist/common/events/trigger-proxy.js.map +1 -1
- package/dist/common/events/util.js +2 -1
- package/dist/common/events/util.js.map +1 -1
- package/dist/common/logs/logger-config.js +2 -1
- package/dist/common/logs/logger-config.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +3 -2
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/logs/request.d.ts +1 -3
- package/dist/common/logs/request.js +5 -8
- package/dist/common/logs/request.js.map +1 -1
- package/dist/common/queue.d.ts +7 -9
- package/dist/common/queue.js +9 -22
- package/dist/common/queue.js.map +1 -1
- package/dist/config.d.ts +7 -5
- package/dist/config.js +11 -8
- package/dist/config.js.map +1 -1
- package/dist/constants.d.ts +97 -217
- package/dist/constants.js +441 -416
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/constants.js +6 -3
- package/dist/controls-options-manager/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.d.ts +1 -11
- package/dist/controls-options-manager/enums.js +6 -15
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.d.ts +1 -17
- package/dist/controls-options-manager/index.js +38 -127
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/util.d.ts +7 -1
- package/dist/controls-options-manager/util.js +19 -309
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.d.ts +3 -6
- package/dist/index.js +4 -116
- package/dist/index.js.map +1 -1
- package/dist/locus-info/controlsUtils.js +11 -100
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/embeddedAppsUtils.js +4 -3
- package/dist/locus-info/embeddedAppsUtils.js.map +1 -1
- package/dist/locus-info/fullState.js +2 -1
- package/dist/locus-info/fullState.js.map +1 -1
- package/dist/locus-info/hostUtils.js +2 -1
- package/dist/locus-info/hostUtils.js.map +1 -1
- package/dist/locus-info/index.d.ts +4 -57
- package/dist/locus-info/index.js +84 -425
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +5 -13
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +3 -58
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.d.ts +6 -66
- package/dist/locus-info/parser.js +80 -253
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +13 -97
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.d.ts +0 -2
- package/dist/media/index.js +319 -107
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.d.ts +53 -38
- package/dist/media/properties.js +153 -96
- package/dist/media/properties.js.map +1 -1
- package/dist/media/util.js +22 -1
- package/dist/media/util.js.map +1 -1
- package/dist/mediaQualityMetrics/config.d.ts +230 -234
- package/dist/mediaQualityMetrics/config.js +498 -302
- package/dist/mediaQualityMetrics/config.js.map +1 -1
- package/dist/meeting/effectsState.d.ts +42 -0
- package/dist/meeting/effectsState.js +260 -0
- package/dist/meeting/effectsState.js.map +1 -0
- package/dist/meeting/in-meeting-actions.d.ts +0 -88
- package/dist/meeting/in-meeting-actions.js +3 -94
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.d.ts +494 -591
- package/dist/meeting/index.js +2969 -4707
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/muteState.d.ts +25 -93
- package/dist/meeting/muteState.js +133 -224
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.d.ts +47 -82
- package/dist/meeting/request.js +199 -297
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/state.js +2 -1
- package/dist/meeting/state.js.map +1 -1
- package/dist/meeting/util.d.ts +1 -102
- package/dist/meeting/util.js +435 -605
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/collection.js +4 -3
- package/dist/meeting-info/collection.js.map +1 -1
- package/dist/meeting-info/index.d.ts +1 -13
- package/dist/meeting-info/index.js +7 -74
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.d.ts +1 -31
- package/dist/meeting-info/meeting-info-v2.js +63 -200
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/request.js +2 -1
- package/dist/meeting-info/request.js.map +1 -1
- package/dist/meeting-info/util.js +3 -2
- package/dist/meeting-info/util.js.map +1 -1
- package/dist/meeting-info/utilv2.js +41 -39
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/collection.d.ts +0 -17
- package/dist/meetings/collection.js +4 -42
- package/dist/meetings/collection.js.map +1 -1
- package/dist/meetings/index.d.ts +21 -103
- package/dist/meetings/index.js +124 -486
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/request.js +3 -4
- package/dist/meetings/request.js.map +1 -1
- package/dist/meetings/util.js +6 -107
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.d.ts +1 -13
- package/dist/member/index.js +2 -45
- package/dist/member/index.js.map +1 -1
- package/dist/member/member.types.js +4 -3
- package/dist/member/member.types.js.map +1 -1
- package/dist/member/util.js +29 -120
- package/dist/member/util.js.map +1 -1
- package/dist/members/collection.d.ts +0 -5
- package/dist/members/collection.js +2 -11
- package/dist/members/collection.js.map +1 -1
- package/dist/members/index.d.ts +11 -56
- package/dist/members/index.js +47 -174
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.d.ts +11 -67
- package/dist/members/request.js +54 -102
- package/dist/members/request.js.map +1 -1
- package/dist/members/types.js +4 -3
- package/dist/members/types.js.map +1 -1
- package/dist/members/util.d.ts +1 -214
- package/dist/members/util.js +284 -327
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/config.d.ts +169 -0
- package/dist/metrics/config.js +289 -0
- package/dist/metrics/config.js.map +1 -0
- package/dist/metrics/constants.d.ts +6 -15
- package/dist/metrics/constants.js +9 -17
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.d.ts +111 -4
- package/dist/metrics/index.js +452 -4
- package/dist/metrics/index.js.map +1 -1
- package/dist/networkQualityMonitor/index.js +4 -5
- package/dist/networkQualityMonitor/index.js.map +1 -1
- package/dist/peer-connection-manager/index.d.ts +6 -0
- package/dist/peer-connection-manager/index.js +671 -0
- package/dist/peer-connection-manager/index.js.map +1 -0
- package/dist/peer-connection-manager/util.d.ts +6 -0
- package/dist/peer-connection-manager/util.js +110 -0
- package/dist/peer-connection-manager/util.js.map +1 -0
- package/dist/personal-meeting-room/index.js +3 -2
- package/dist/personal-meeting-room/index.js.map +1 -1
- package/dist/personal-meeting-room/request.js +3 -2
- package/dist/personal-meeting-room/request.js.map +1 -1
- package/dist/personal-meeting-room/util.js +2 -1
- package/dist/personal-meeting-room/util.js.map +1 -1
- package/dist/reachability/index.d.ts +7 -62
- package/dist/reachability/index.js +72 -265
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.d.ts +3 -7
- package/dist/reachability/request.js +10 -18
- package/dist/reachability/request.js.map +1 -1
- package/dist/reactions/reactions.d.ts +2 -2
- package/dist/reactions/reactions.js +6 -4
- package/dist/reactions/reactions.js.map +1 -1
- package/dist/reactions/reactions.type.d.ts +3 -23
- package/dist/reactions/reactions.type.js +23 -21
- package/dist/reactions/reactions.type.js.map +1 -1
- package/dist/reconnection-manager/index.d.ts +8 -32
- package/dist/reconnection-manager/index.js +231 -282
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/enums.js +5 -4
- package/dist/recording-controller/enums.js.map +1 -1
- package/dist/recording-controller/index.d.ts +1 -15
- package/dist/recording-controller/index.js +46 -57
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.d.ts +4 -5
- package/dist/recording-controller/util.js +10 -10
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/collection.d.ts +10 -0
- package/dist/roap/collection.js +63 -0
- package/dist/roap/collection.js.map +1 -0
- package/dist/roap/handler.d.ts +47 -0
- package/dist/roap/handler.js +279 -0
- package/dist/roap/handler.js.map +1 -0
- package/dist/roap/index.d.ts +47 -9
- package/dist/roap/index.js +235 -101
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.d.ts +12 -18
- package/dist/roap/request.js +180 -126
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/state.d.ts +9 -0
- package/dist/roap/state.js +127 -0
- package/dist/roap/state.js.map +1 -0
- package/dist/roap/turnDiscovery.d.ts +16 -27
- package/dist/roap/turnDiscovery.js +105 -115
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/roap/util.d.ts +2 -0
- package/dist/roap/util.js +76 -0
- package/dist/roap/util.js.map +1 -0
- package/dist/statsAnalyzer/global.d.ts +83 -1
- package/dist/statsAnalyzer/global.js +85 -2
- package/dist/statsAnalyzer/global.js.map +1 -1
- package/dist/statsAnalyzer/index.d.ts +30 -28
- package/dist/statsAnalyzer/index.js +509 -374
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/statsAnalyzer/mqaUtil.d.ts +6 -8
- package/dist/statsAnalyzer/mqaUtil.js +83 -116
- package/dist/statsAnalyzer/mqaUtil.js.map +1 -1
- package/dist/transcription/index.js +2 -1
- package/dist/transcription/index.js.map +1 -1
- package/package.json +26 -35
- package/src/common/errors/webex-errors.ts +12 -36
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/logs/request.ts +1 -5
- package/src/common/queue.ts +8 -22
- package/src/config.ts +7 -5
- package/src/constants.ts +97 -244
- package/src/controls-options-manager/enums.ts +0 -12
- package/src/controls-options-manager/index.ts +21 -116
- package/src/controls-options-manager/util.ts +14 -294
- package/src/index.js +15 -0
- package/src/locus-info/controlsUtils.ts +0 -110
- package/src/locus-info/index.ts +61 -449
- package/src/locus-info/infoUtils.ts +2 -14
- package/src/locus-info/mediaSharesUtils.ts +0 -64
- package/src/locus-info/parser.ts +47 -258
- package/src/locus-info/selfUtils.ts +2 -85
- package/src/media/index.ts +370 -153
- package/src/media/properties.ts +136 -106
- package/src/media/util.ts +21 -0
- package/src/mediaQualityMetrics/config.ts +377 -244
- package/src/meeting/effectsState.ts +209 -0
- package/src/meeting/in-meeting-actions.ts +0 -176
- package/src/meeting/index.ts +2482 -3929
- package/src/meeting/muteState.ts +138 -224
- package/src/meeting/request.ts +127 -207
- package/src/meeting/util.ts +423 -590
- package/src/meeting-info/index.ts +8 -81
- package/src/meeting-info/meeting-info-v2.ts +13 -163
- package/src/meeting-info/util.ts +1 -1
- package/src/meeting-info/utilv2.ts +28 -28
- package/src/meetings/collection.ts +0 -33
- package/src/meetings/index.ts +126 -486
- package/src/meetings/request.ts +0 -2
- package/src/meetings/util.ts +5 -116
- package/src/member/index.ts +1 -43
- package/src/member/util.ts +28 -125
- package/src/members/collection.ts +0 -8
- package/src/members/index.ts +52 -187
- package/src/members/request.ts +27 -87
- package/src/members/util.ts +291 -332
- package/src/metrics/config.ts +485 -0
- package/src/metrics/constants.ts +6 -15
- package/src/metrics/index.ts +471 -1
- package/src/networkQualityMonitor/index.ts +6 -6
- package/src/peer-connection-manager/index.ts +847 -0
- package/src/peer-connection-manager/util.ts +119 -0
- package/src/reachability/index.ts +45 -238
- package/src/reachability/request.ts +8 -17
- package/src/reactions/reactions.ts +4 -4
- package/src/reactions/reactions.type.ts +4 -30
- package/src/reconnection-manager/index.ts +156 -168
- package/src/recording-controller/index.ts +3 -20
- package/src/recording-controller/util.ts +9 -26
- package/src/roap/collection.ts +62 -0
- package/src/roap/handler.ts +294 -0
- package/src/roap/index.ts +241 -98
- package/src/roap/request.ts +148 -74
- package/src/roap/state.ts +156 -0
- package/src/roap/turnDiscovery.ts +56 -62
- package/src/roap/util.ts +100 -0
- package/src/statsAnalyzer/global.ts +84 -1
- package/src/statsAnalyzer/index.ts +642 -413
- package/src/statsAnalyzer/mqaUtil.ts +114 -111
- package/test/integration/spec/journey.js +264 -320
- package/test/integration/spec/space-meeting.js +4 -77
- package/test/unit/spec/common/queue.js +2 -31
- package/test/unit/spec/controls-options-manager/index.js +0 -163
- package/test/unit/spec/controls-options-manager/util.js +60 -576
- package/test/unit/spec/fixture/locus.js +0 -1
- package/test/unit/spec/locus-info/controlsUtils.js +30 -323
- package/test/unit/spec/locus-info/index.js +15 -1389
- package/test/unit/spec/locus-info/infoUtils.js +16 -54
- package/test/unit/spec/locus-info/lib/SeqCmp.json +0 -16
- package/test/unit/spec/locus-info/lib/selfConstant.js +0 -48
- package/test/unit/spec/locus-info/parser.js +35 -116
- package/test/unit/spec/locus-info/selfUtils.js +0 -275
- package/test/unit/spec/media/properties.ts +84 -75
- package/test/unit/spec/meeting/effectsState.js +281 -0
- package/test/unit/spec/meeting/in-meeting-actions.ts +0 -86
- package/test/unit/spec/meeting/index.js +3136 -8547
- package/test/unit/spec/meeting/muteState.js +213 -409
- package/test/unit/spec/meeting/request.js +42 -512
- package/test/unit/spec/meeting/utils.js +24 -741
- package/test/unit/spec/meeting-info/meetinginfov2.js +5 -527
- package/test/unit/spec/meeting-info/utilv2.js +0 -21
- package/test/unit/spec/meetings/collection.js +0 -26
- package/test/unit/spec/meetings/index.js +211 -1278
- package/test/unit/spec/meetings/utils.js +2 -202
- package/test/unit/spec/member/index.js +9 -32
- package/test/unit/spec/member/util.js +61 -499
- package/test/unit/spec/members/index.js +5 -394
- package/test/unit/spec/members/request.js +27 -206
- package/test/unit/spec/members/utils.js +38 -173
- package/test/unit/spec/metrics/index.js +50 -1
- package/test/unit/spec/networkQualityMonitor/index.js +4 -4
- package/test/unit/spec/peerconnection-manager/index.js +218 -0
- package/test/unit/spec/peerconnection-manager/utils.js +49 -0
- package/test/unit/spec/peerconnection-manager/utils.test-fixtures.ts +388 -0
- package/test/unit/spec/reachability/index.ts +24 -598
- package/test/unit/spec/reconnection-manager/index.js +24 -162
- package/test/unit/spec/recording-controller/index.js +218 -293
- package/test/unit/spec/recording-controller/util.js +96 -223
- package/test/unit/spec/roap/index.ts +76 -200
- package/test/unit/spec/roap/turnDiscovery.ts +48 -86
- package/test/unit/spec/roap/util.js +30 -0
- package/test/unit/spec/stats-analyzer/index.js +174 -188
- package/test/utils/testUtils.js +45 -0
- package/test/utils/webex-config.js +0 -4
- package/test/utils/webex-test-users.js +3 -7
- package/dist/annotation/annotation.types.d.ts +0 -42
- package/dist/annotation/annotation.types.js +0 -7
- package/dist/annotation/annotation.types.js.map +0 -1
- package/dist/annotation/constants.d.ts +0 -31
- package/dist/annotation/constants.js +0 -41
- package/dist/annotation/constants.js.map +0 -1
- package/dist/annotation/index.d.ts +0 -117
- package/dist/annotation/index.js +0 -357
- package/dist/annotation/index.js.map +0 -1
- package/dist/breakouts/breakout.d.ts +0 -8
- package/dist/breakouts/breakout.js +0 -215
- package/dist/breakouts/breakout.js.map +0 -1
- package/dist/breakouts/collection.d.ts +0 -5
- package/dist/breakouts/collection.js +0 -22
- package/dist/breakouts/collection.js.map +0 -1
- package/dist/breakouts/edit-lock-error.d.ts +0 -15
- package/dist/breakouts/edit-lock-error.js +0 -51
- package/dist/breakouts/edit-lock-error.js.map +0 -1
- package/dist/breakouts/events.d.ts +0 -8
- package/dist/breakouts/events.js +0 -44
- package/dist/breakouts/events.js.map +0 -1
- package/dist/breakouts/index.d.ts +0 -5
- package/dist/breakouts/index.js +0 -1047
- package/dist/breakouts/index.js.map +0 -1
- package/dist/breakouts/request.d.ts +0 -22
- package/dist/breakouts/request.js +0 -77
- package/dist/breakouts/request.js.map +0 -1
- package/dist/breakouts/utils.d.ts +0 -15
- package/dist/breakouts/utils.js +0 -64
- package/dist/breakouts/utils.js.map +0 -1
- package/dist/common/errors/no-meeting-info.d.ts +0 -14
- package/dist/common/errors/no-meeting-info.js +0 -50
- package/dist/common/errors/no-meeting-info.js.map +0 -1
- package/dist/common/errors/reclaim-host-role-errors.js.map +0 -1
- package/dist/controls-options-manager/types.d.ts +0 -43
- package/dist/controls-options-manager/types.js +0 -7
- package/dist/controls-options-manager/types.js.map +0 -1
- package/dist/interpretation/collection.d.ts +0 -5
- package/dist/interpretation/collection.js +0 -22
- package/dist/interpretation/collection.js.map +0 -1
- package/dist/interpretation/index.d.ts +0 -5
- package/dist/interpretation/index.js +0 -365
- package/dist/interpretation/index.js.map +0 -1
- package/dist/interpretation/siLanguage.d.ts +0 -5
- package/dist/interpretation/siLanguage.js +0 -24
- package/dist/interpretation/siLanguage.js.map +0 -1
- package/dist/meeting/locusMediaRequest.d.ts +0 -74
- package/dist/meeting/locusMediaRequest.js +0 -291
- package/dist/meeting/locusMediaRequest.js.map +0 -1
- package/dist/meeting/request.type.d.ts +0 -11
- package/dist/meeting/request.type.js +0 -7
- package/dist/meeting/request.type.js.map +0 -1
- package/dist/meetings/meetings.types.d.ts +0 -4
- package/dist/meetings/meetings.types.js +0 -7
- package/dist/meetings/meetings.types.js.map +0 -1
- package/dist/member/types.d.ts +0 -32
- package/dist/member/types.js +0 -23
- package/dist/member/types.js.map +0 -1
- package/dist/multistream/mediaRequestManager.d.ts +0 -118
- package/dist/multistream/mediaRequestManager.js +0 -344
- package/dist/multistream/mediaRequestManager.js.map +0 -1
- package/dist/multistream/receiveSlot.d.ts +0 -68
- package/dist/multistream/receiveSlot.js +0 -200
- package/dist/multistream/receiveSlot.js.map +0 -1
- package/dist/multistream/receiveSlotManager.d.ts +0 -56
- package/dist/multistream/receiveSlotManager.js +0 -174
- package/dist/multistream/receiveSlotManager.js.map +0 -1
- package/dist/multistream/remoteMedia.d.ts +0 -72
- package/dist/multistream/remoteMedia.js +0 -268
- package/dist/multistream/remoteMedia.js.map +0 -1
- package/dist/multistream/remoteMediaGroup.d.ts +0 -47
- package/dist/multistream/remoteMediaGroup.js +0 -267
- package/dist/multistream/remoteMediaGroup.js.map +0 -1
- package/dist/multistream/remoteMediaManager.d.ts +0 -285
- package/dist/multistream/remoteMediaManager.js +0 -1211
- package/dist/multistream/remoteMediaManager.js.map +0 -1
- package/dist/multistream/sendSlotManager.d.ts +0 -61
- package/dist/multistream/sendSlotManager.js +0 -236
- package/dist/multistream/sendSlotManager.js.map +0 -1
- package/dist/reactions/constants.d.ts +0 -3
- package/dist/reactions/constants.js +0 -12
- package/dist/reactions/constants.js.map +0 -1
- package/dist/rtcMetrics/constants.d.ts +0 -4
- package/dist/rtcMetrics/constants.js +0 -11
- package/dist/rtcMetrics/constants.js.map +0 -1
- package/dist/rtcMetrics/index.d.ts +0 -54
- package/dist/rtcMetrics/index.js +0 -140
- package/dist/rtcMetrics/index.js.map +0 -1
- package/dist/webinar/collection.d.ts +0 -16
- package/dist/webinar/collection.js +0 -43
- package/dist/webinar/collection.js.map +0 -1
- package/dist/webinar/index.d.ts +0 -5
- package/dist/webinar/index.js +0 -68
- package/dist/webinar/index.js.map +0 -1
- package/src/annotation/annotation.types.ts +0 -50
- package/src/annotation/constants.ts +0 -36
- package/src/annotation/index.ts +0 -328
- package/src/breakouts/README.md +0 -220
- package/src/breakouts/breakout.ts +0 -188
- package/src/breakouts/collection.ts +0 -19
- package/src/breakouts/edit-lock-error.ts +0 -25
- package/src/breakouts/events.ts +0 -56
- package/src/breakouts/index.ts +0 -925
- package/src/breakouts/request.ts +0 -55
- package/src/breakouts/utils.ts +0 -57
- package/src/common/errors/no-meeting-info.ts +0 -24
- package/src/controls-options-manager/types.ts +0 -59
- package/src/index.ts +0 -40
- package/src/interpretation/README.md +0 -60
- package/src/interpretation/collection.ts +0 -19
- package/src/interpretation/index.ts +0 -332
- package/src/interpretation/siLanguage.ts +0 -18
- package/src/meeting/locusMediaRequest.ts +0 -313
- package/src/meeting/request.type.ts +0 -13
- package/src/meetings/meetings.types.ts +0 -12
- package/src/member/types.ts +0 -38
- package/src/multistream/mediaRequestManager.ts +0 -440
- package/src/multistream/receiveSlot.ts +0 -184
- package/src/multistream/receiveSlotManager.ts +0 -166
- package/src/multistream/remoteMedia.ts +0 -254
- package/src/multistream/remoteMediaGroup.ts +0 -284
- package/src/multistream/remoteMediaManager.ts +0 -1145
- package/src/multistream/sendSlotManager.ts +0 -170
- package/src/reactions/constants.ts +0 -4
- package/src/rtcMetrics/constants.ts +0 -3
- package/src/rtcMetrics/index.ts +0 -124
- package/src/webinar/collection.ts +0 -31
- package/src/webinar/index.ts +0 -62
- package/test/integration/spec/converged-space-meetings.js +0 -233
- package/test/unit/spec/annotation/index.ts +0 -418
- package/test/unit/spec/breakouts/breakout.ts +0 -237
- package/test/unit/spec/breakouts/collection.ts +0 -15
- package/test/unit/spec/breakouts/edit-lock-error.ts +0 -30
- package/test/unit/spec/breakouts/events.ts +0 -89
- package/test/unit/spec/breakouts/index.ts +0 -1790
- package/test/unit/spec/breakouts/request.ts +0 -104
- package/test/unit/spec/breakouts/utils.js +0 -72
- package/test/unit/spec/interpretation/collection.ts +0 -15
- package/test/unit/spec/interpretation/index.ts +0 -589
- package/test/unit/spec/interpretation/siLanguage.ts +0 -28
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +0 -32
- package/test/unit/spec/media/index.ts +0 -290
- package/test/unit/spec/meeting/locusMediaRequest.ts +0 -442
- package/test/unit/spec/meeting-info/index.js +0 -300
- package/test/unit/spec/multistream/mediaRequestManager.ts +0 -1418
- package/test/unit/spec/multistream/receiveSlot.ts +0 -163
- package/test/unit/spec/multistream/receiveSlotManager.ts +0 -203
- package/test/unit/spec/multistream/remoteMedia.ts +0 -255
- package/test/unit/spec/multistream/remoteMediaGroup.ts +0 -662
- package/test/unit/spec/multistream/remoteMediaManager.ts +0 -1924
- package/test/unit/spec/multistream/sendSlotManager.ts +0 -242
- package/test/unit/spec/reachability/request.js +0 -68
- package/test/unit/spec/roap/request.ts +0 -232
- package/test/unit/spec/rtcMetrics/index.ts +0 -93
- package/test/unit/spec/webinar/collection.ts +0 -13
- package/test/unit/spec/webinar/index.ts +0 -60
- package/test/utils/constants.js +0 -9
- package/test/utils/integrationTestUtils.js +0 -46
- /package/dist/common/errors/{reclaim-host-role-errors.d.ts → reclaim-host-role-error.d.ts} +0 -0
- /package/src/common/errors/{reclaim-host-role-errors.ts → reclaim-host-role-error.ts} +0 -0
|
@@ -225,7 +225,7 @@ MeetingInfoUtil.generateOptions = /*#__PURE__*/function () {
|
|
|
225
225
|
_context.next = 47;
|
|
226
226
|
break;
|
|
227
227
|
case 46:
|
|
228
|
-
throw new _parameter.default('MeetingInfo is fetched with
|
|
228
|
+
throw new _parameter.default('MeetingInfo is fetched with meeting link, sip uri, phone number, hydra room id, hydra people id, or a conversation url.');
|
|
229
229
|
case 47:
|
|
230
230
|
return _context.abrupt("return", _promise.default.resolve(options));
|
|
231
231
|
case 48:
|
|
@@ -297,5 +297,6 @@ MeetingInfoUtil.getRequestParams = function (resourceOptions, type, value, api)
|
|
|
297
297
|
}
|
|
298
298
|
return requestParams;
|
|
299
299
|
};
|
|
300
|
-
var _default =
|
|
300
|
+
var _default = MeetingInfoUtil;
|
|
301
|
+
exports.default = _default;
|
|
301
302
|
//# sourceMappingURL=util.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_url","_interopRequireDefault","require","_btoa","_common","_parameter","_loggerProxy","_constants","MeetingInfoUtil","extractDestination","destination","type","dest","_LOCUS_ID_","url","ParameterError","getParsedUrl","link","parsedUrl","parse","protocol","concat","HTTPS_PROTOCOL","error","LoggerProxy","logger","warn","isMeetingLink","value","hostNameBool","hostname","includes","WEBEX_DOT_COM","pathNameBool","pathname","MEET","MEET_M","JOIN","isConversationUrl","webex","clusterId","internal","services","getClusterId","endsWith","CONVERSATION_SERVICE","convertLinkToSip","user","userIndex","lastIndexOf","substring","company","companyIndex","replace","WWW_DOT","isSipUri","sipString","sipUri","DIALER_REGEX","SIP_ADDRESS","exec","isPhoneNumber","phoneNumber","isValidNumber","PHONE_NUMBER","test","getHydraId","_deconstructHydraId","deconstructHydraId","id","cluster","UUID_REG","_ROOM_","room","_PEOPLE_","people","getSipUriFromHydraPersonId","get","then","res","emails","length","catch","err","generateOptions","_ref","_asyncToGenerator2","default","_regenerator","mark","_callee","from","options","hydraId","serviceUrl","wrap","_callee$","_context","prev","next","abrupt","_MEETING_LINK_","_SIP_URI_","_CONVERSATION_URL_","wasHydraPerson","_promise","resolve","waitForCatalog","getServiceUrlFromClusterId","t0","stop","_x","apply","arguments","getResourceUrl","resource","LOCI","MEETINGINFO","method","HTTP_VERBS","GET","uri","_PERSONAL_ROOM_","_MEETING_ID_","encodeURIComponent","TYPE","USE_URI_LOOKUP_FALSE","PUT","btoa","getRequestParams","resourceOptions","api","requestParams","ALTERNATE_REDIRECT_TRUE","body","lookupType","_default","exports"],"sources":["util.ts"],"sourcesContent":["import url from 'url';\n\nimport btoa from 'btoa';\n// @ts-ignore\nimport {deconstructHydraId} from '@webex/common';\n\nimport ParameterError from '../common/errors/parameter';\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nimport {\n _SIP_URI_,\n _PERSONAL_ROOM_,\n _MEETING_ID_,\n _CONVERSATION_URL_,\n _LOCUS_ID_,\n _MEETING_LINK_,\n _PEOPLE_,\n _ROOM_,\n HTTP_VERBS,\n USE_URI_LOOKUP_FALSE,\n TYPE,\n LOCI,\n MEETINGINFO,\n ALTERNATE_REDIRECT_TRUE,\n DIALER_REGEX,\n WEBEX_DOT_COM,\n CONVERSATION_SERVICE,\n WWW_DOT,\n JOIN,\n MEET,\n MEET_M,\n HTTPS_PROTOCOL,\n UUID_REG,\n} from '../constants';\n\nconst MeetingInfoUtil: any = {};\n\nMeetingInfoUtil.extractDestination = (destination, type) => {\n let dest = destination;\n\n if (type === _LOCUS_ID_) {\n if (!(destination && destination.url)) {\n throw new ParameterError('You cannot create a meeting by locus without a locus.url defined');\n }\n dest = destination.url;\n }\n\n return dest;\n};\n\nMeetingInfoUtil.getParsedUrl = (link) => {\n try {\n let parsedUrl = url.parse(link);\n\n if (!parsedUrl) {\n return false;\n }\n // hack for links such as <company>.webex.com/meet/<user> without a protocol\n if (!parsedUrl.protocol) {\n parsedUrl = url.parse(`${HTTPS_PROTOCOL}${link}`);\n }\n\n return parsedUrl;\n } catch (error) {\n LoggerProxy.logger.warn(\n `Meeting-info:util#getParsedUrl --> unable to parse the URL, error: ${error}`\n );\n\n return null;\n }\n};\n\n/**\n * Helper function to check if a string matches a known meeting link pattern\n * @param {String} value string to parse and see if it matches a meeting link\n * @returns {Boolean}\n */\nMeetingInfoUtil.isMeetingLink = (value: string) => {\n const parsedUrl = MeetingInfoUtil.getParsedUrl(value);\n const hostNameBool = parsedUrl.hostname && parsedUrl.hostname.includes(WEBEX_DOT_COM);\n const pathNameBool =\n parsedUrl.pathname &&\n (parsedUrl.pathname.includes(`/${MEET}`) ||\n parsedUrl.pathname.includes(`/${MEET_M}`) ||\n parsedUrl.pathname.includes(`/${JOIN}`));\n\n return hostNameBool && pathNameBool;\n};\n\nMeetingInfoUtil.isConversationUrl = (value, webex) => {\n const clusterId = webex.internal.services.getClusterId(value);\n\n if (clusterId) {\n return clusterId.endsWith(CONVERSATION_SERVICE);\n }\n\n return false;\n};\n\nMeetingInfoUtil.convertLinkToSip = (value) => {\n const parsedUrl = MeetingInfoUtil.getParsedUrl(value);\n\n if (!parsedUrl) {\n return null;\n }\n let user;\n\n if (parsedUrl.pathname) {\n const userIndex = parsedUrl.pathname.lastIndexOf('/');\n\n user = parsedUrl.pathname.substring(userIndex + 1);\n }\n if (!user) {\n return null;\n }\n let company;\n\n if (parsedUrl.hostname) {\n const companyIndex = parsedUrl.hostname.lastIndexOf(`.${WEBEX_DOT_COM}`);\n\n company = parsedUrl.hostname.substring(0, companyIndex).replace(WWW_DOT, '');\n }\n if (!company) {\n return null;\n }\n\n return `${user}@${company}.${WEBEX_DOT_COM}`;\n};\n\nMeetingInfoUtil.isSipUri = (sipString) => {\n // TODO: lets remove regex from this equation and user URI matchers and such\n // have not found a great sip uri parser library as of now\n const sipUri = DIALER_REGEX.SIP_ADDRESS.exec(sipString);\n\n return sipUri;\n};\n\nMeetingInfoUtil.isPhoneNumber = (phoneNumber) => {\n const isValidNumber = DIALER_REGEX.PHONE_NUMBER.test(phoneNumber);\n\n return isValidNumber;\n};\n\nMeetingInfoUtil.getHydraId = (destination) => {\n const {type, id, cluster} = deconstructHydraId(destination);\n\n if (id && UUID_REG.test(id)) {\n if (type === _ROOM_) {\n return {room: true, destination: id, cluster};\n }\n if (type === _PEOPLE_) {\n return {people: true, destination: id, cluster};\n }\n\n return {};\n }\n\n return {};\n};\n\nMeetingInfoUtil.getSipUriFromHydraPersonId = (destination, webex) =>\n webex.people\n .get(destination)\n .then((res) => {\n if (res.emails && res.emails.length) {\n return res.emails[0];\n }\n throw new ParameterError('Hydra Id Lookup was an invalid hydra person id.');\n })\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting-info:util#MeetingInfoUtil.getSipUriFromHydraPersonId --> getSipUriFromHydraPersonId ${err} `\n );\n throw err;\n });\n\nMeetingInfoUtil.generateOptions = async (from) => {\n const {destination, type, webex} = from;\n\n if (type) {\n return {\n destination,\n type,\n };\n }\n const options: any = {};\n const hydraId = MeetingInfoUtil.getHydraId(destination);\n\n if (MeetingInfoUtil.isMeetingLink(destination)) {\n LoggerProxy.logger.warn(\n 'Meeting-info:util#generateOptions --> WARN, use of Meeting Link is deprecated, please use a SIP URI instead'\n );\n\n options.type = _MEETING_LINK_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isSipUri(destination)) {\n options.type = _SIP_URI_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isPhoneNumber(destination)) {\n options.type = _SIP_URI_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isConversationUrl(destination, webex)) {\n options.type = _CONVERSATION_URL_;\n options.destination = destination;\n } else if (hydraId.people) {\n options.type = _SIP_URI_;\n\n return MeetingInfoUtil.getSipUriFromHydraPersonId(hydraId.destination, webex).then((res) => {\n options.destination = res;\n\n // Since hydra person ids require a unique case in which they are\n // entirely converted to a SIP URI, we need to set a flag for detecting\n // this type of destination.\n options.wasHydraPerson = true;\n\n return Promise.resolve(options);\n });\n } else if (hydraId.room) {\n options.type = _CONVERSATION_URL_;\n try {\n await webex.internal.services.waitForCatalog('postauth');\n\n const serviceUrl = webex.internal.services.getServiceUrlFromClusterId(\n {\n cluster: hydraId.cluster,\n },\n webex\n );\n\n options.destination = hydraId.destination\n ? `${serviceUrl}/conversations/${hydraId.destination}`\n : serviceUrl;\n } catch (e) {\n LoggerProxy.logger.error(`Meeting-info:util#generateOptions --> ${e}`);\n throw e;\n }\n } else {\n throw new ParameterError(\n 'MeetingInfo is fetched with the meeting link, SIP URI, phone number, Hydra people ID, or a conversation URL.'\n );\n }\n\n return Promise.resolve(options);\n};\n\n/**\n * Helper function to build up a correct locus url depending on the value passed\n * @param {String} type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {Object} value ?? value.value\n * @returns {Object} returns an object with {resource, method}\n */\nMeetingInfoUtil.getResourceUrl = (type: string, value: any) => {\n let resource = `/${LOCI}/${MEETINGINFO}`;\n let method = HTTP_VERBS.GET;\n let uri = null;\n\n switch (type) {\n case _SIP_URI_:\n case _PERSONAL_ROOM_:\n case _MEETING_ID_:\n resource = `/${LOCI}/${MEETINGINFO}/${encodeURIComponent(\n value\n )}?${TYPE}=${type}&${USE_URI_LOOKUP_FALSE}`;\n break;\n case _CONVERSATION_URL_:\n method = HTTP_VERBS.PUT;\n break;\n case _LOCUS_ID_:\n uri = `${value}/${MEETINGINFO}`;\n method = HTTP_VERBS.PUT;\n break;\n case _MEETING_LINK_:\n resource = `$/${LOCI}/${MEETINGINFO}/${btoa(\n value\n )}?${TYPE}=${_MEETING_LINK_}&${USE_URI_LOOKUP_FALSE}`;\n break;\n default:\n }\n\n return {\n uri,\n resource,\n method,\n };\n};\n\nMeetingInfoUtil.getRequestParams = (resourceOptions, type, value, api) => {\n let requestParams: any = {\n method: resourceOptions.method,\n api,\n resource: resourceOptions.resource,\n };\n\n if (resourceOptions.method === HTTP_VERBS.GET) {\n // for handling URL redirections\n requestParams.resource = requestParams.resource.concat(`&${ALTERNATE_REDIRECT_TRUE}`);\n } else if (type !== _LOCUS_ID_) {\n // locus id check is a PUT not sure why\n requestParams.resource = requestParams.resource.concat(`?${ALTERNATE_REDIRECT_TRUE}`);\n requestParams.body = {\n value,\n lookupType: type,\n };\n } else if (type === _LOCUS_ID_) {\n requestParams = {\n method: resourceOptions.method,\n uri: resourceOptions.uri,\n };\n }\n\n return requestParams;\n};\n\nexport default MeetingInfoUtil;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_url","_interopRequireDefault","require","_btoa","_common","_parameter","_loggerProxy","_constants","MeetingInfoUtil","extractDestination","destination","type","dest","_LOCUS_ID_","url","ParameterError","getParsedUrl","link","parsedUrl","parse","protocol","concat","HTTPS_PROTOCOL","error","LoggerProxy","logger","warn","isMeetingLink","value","hostNameBool","hostname","includes","WEBEX_DOT_COM","pathNameBool","pathname","MEET","MEET_M","JOIN","isConversationUrl","webex","clusterId","internal","services","getClusterId","endsWith","CONVERSATION_SERVICE","convertLinkToSip","user","userIndex","lastIndexOf","substring","company","companyIndex","replace","WWW_DOT","isSipUri","sipString","sipUri","DIALER_REGEX","SIP_ADDRESS","exec","isPhoneNumber","phoneNumber","isValidNumber","PHONE_NUMBER","test","getHydraId","_deconstructHydraId","deconstructHydraId","id","cluster","UUID_REG","_ROOM_","room","_PEOPLE_","people","getSipUriFromHydraPersonId","get","then","res","emails","length","catch","err","generateOptions","_ref","_asyncToGenerator2","default","_regenerator","mark","_callee","from","options","hydraId","serviceUrl","wrap","_callee$","_context","prev","next","abrupt","_MEETING_LINK_","_SIP_URI_","_CONVERSATION_URL_","wasHydraPerson","_promise","resolve","waitForCatalog","getServiceUrlFromClusterId","t0","stop","_x","apply","arguments","getResourceUrl","resource","LOCI","MEETINGINFO","method","HTTP_VERBS","GET","uri","_PERSONAL_ROOM_","_MEETING_ID_","encodeURIComponent","TYPE","USE_URI_LOOKUP_FALSE","PUT","btoa","getRequestParams","resourceOptions","api","requestParams","ALTERNATE_REDIRECT_TRUE","body","lookupType","_default","exports"],"sources":["util.ts"],"sourcesContent":["import url from 'url';\n\nimport btoa from 'btoa';\n// @ts-ignore\nimport {deconstructHydraId} from '@webex/common';\n\nimport ParameterError from '../common/errors/parameter';\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nimport {\n _SIP_URI_,\n _PERSONAL_ROOM_,\n _MEETING_ID_,\n _CONVERSATION_URL_,\n _LOCUS_ID_,\n _MEETING_LINK_,\n _PEOPLE_,\n _ROOM_,\n HTTP_VERBS,\n USE_URI_LOOKUP_FALSE,\n TYPE,\n LOCI,\n MEETINGINFO,\n ALTERNATE_REDIRECT_TRUE,\n DIALER_REGEX,\n WEBEX_DOT_COM,\n CONVERSATION_SERVICE,\n WWW_DOT,\n JOIN,\n MEET,\n MEET_M,\n HTTPS_PROTOCOL,\n UUID_REG,\n} from '../constants';\n\nconst MeetingInfoUtil: any = {};\n\nMeetingInfoUtil.extractDestination = (destination, type) => {\n let dest = destination;\n\n if (type === _LOCUS_ID_) {\n if (!(destination && destination.url)) {\n throw new ParameterError('You cannot create a meeting by locus without a locus.url defined');\n }\n dest = destination.url;\n }\n\n return dest;\n};\n\nMeetingInfoUtil.getParsedUrl = (link) => {\n try {\n let parsedUrl = url.parse(link);\n\n if (!parsedUrl) {\n return false;\n }\n // hack for links such as <company>.webex.com/meet/<user> without a protocol\n if (!parsedUrl.protocol) {\n parsedUrl = url.parse(`${HTTPS_PROTOCOL}${link}`);\n }\n\n return parsedUrl;\n } catch (error) {\n LoggerProxy.logger.warn(\n `Meeting-info:util#getParsedUrl --> unable to parse the URL, error: ${error}`\n );\n\n return null;\n }\n};\n\n/**\n * Helper function to check if a string matches a known meeting link pattern\n * @param {String} value string to parse and see if it matches a meeting link\n * @returns {Boolean}\n */\nMeetingInfoUtil.isMeetingLink = (value: string) => {\n const parsedUrl = MeetingInfoUtil.getParsedUrl(value);\n const hostNameBool = parsedUrl.hostname && parsedUrl.hostname.includes(WEBEX_DOT_COM);\n const pathNameBool =\n parsedUrl.pathname &&\n (parsedUrl.pathname.includes(`/${MEET}`) ||\n parsedUrl.pathname.includes(`/${MEET_M}`) ||\n parsedUrl.pathname.includes(`/${JOIN}`));\n\n return hostNameBool && pathNameBool;\n};\n\nMeetingInfoUtil.isConversationUrl = (value, webex) => {\n const clusterId = webex.internal.services.getClusterId(value);\n\n if (clusterId) {\n return clusterId.endsWith(CONVERSATION_SERVICE);\n }\n\n return false;\n};\n\nMeetingInfoUtil.convertLinkToSip = (value) => {\n const parsedUrl = MeetingInfoUtil.getParsedUrl(value);\n\n if (!parsedUrl) {\n return null;\n }\n let user;\n\n if (parsedUrl.pathname) {\n const userIndex = parsedUrl.pathname.lastIndexOf('/');\n\n user = parsedUrl.pathname.substring(userIndex + 1);\n }\n if (!user) {\n return null;\n }\n let company;\n\n if (parsedUrl.hostname) {\n const companyIndex = parsedUrl.hostname.lastIndexOf(`.${WEBEX_DOT_COM}`);\n\n company = parsedUrl.hostname.substring(0, companyIndex).replace(WWW_DOT, '');\n }\n if (!company) {\n return null;\n }\n\n return `${user}@${company}.${WEBEX_DOT_COM}`;\n};\n\nMeetingInfoUtil.isSipUri = (sipString) => {\n // TODO: lets remove regex from this equation and user URI matchers and such\n // have not found a great sip uri parser library as of now\n const sipUri = DIALER_REGEX.SIP_ADDRESS.exec(sipString);\n\n return sipUri;\n};\n\nMeetingInfoUtil.isPhoneNumber = (phoneNumber) => {\n const isValidNumber = DIALER_REGEX.PHONE_NUMBER.test(phoneNumber);\n\n return isValidNumber;\n};\n\nMeetingInfoUtil.getHydraId = (destination) => {\n const {type, id, cluster} = deconstructHydraId(destination);\n\n if (id && UUID_REG.test(id)) {\n if (type === _ROOM_) {\n return {room: true, destination: id, cluster};\n }\n if (type === _PEOPLE_) {\n return {people: true, destination: id, cluster};\n }\n\n return {};\n }\n\n return {};\n};\n\nMeetingInfoUtil.getSipUriFromHydraPersonId = (destination, webex) =>\n webex.people\n .get(destination)\n .then((res) => {\n if (res.emails && res.emails.length) {\n return res.emails[0];\n }\n throw new ParameterError('Hydra Id Lookup was an invalid hydra person id.');\n })\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting-info:util#MeetingInfoUtil.getSipUriFromHydraPersonId --> getSipUriFromHydraPersonId ${err} `\n );\n throw err;\n });\n\nMeetingInfoUtil.generateOptions = async (from) => {\n const {destination, type, webex} = from;\n\n if (type) {\n return {\n destination,\n type,\n };\n }\n const options: any = {};\n const hydraId = MeetingInfoUtil.getHydraId(destination);\n\n if (MeetingInfoUtil.isMeetingLink(destination)) {\n LoggerProxy.logger.warn(\n 'Meeting-info:util#generateOptions --> WARN, use of Meeting Link is deprecated, please use a SIP URI instead'\n );\n\n options.type = _MEETING_LINK_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isSipUri(destination)) {\n options.type = _SIP_URI_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isPhoneNumber(destination)) {\n options.type = _SIP_URI_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isConversationUrl(destination, webex)) {\n options.type = _CONVERSATION_URL_;\n options.destination = destination;\n } else if (hydraId.people) {\n options.type = _SIP_URI_;\n\n return MeetingInfoUtil.getSipUriFromHydraPersonId(hydraId.destination, webex).then((res) => {\n options.destination = res;\n\n // Since hydra person ids require a unique case in which they are\n // entirely converted to a SIP URI, we need to set a flag for detecting\n // this type of destination.\n options.wasHydraPerson = true;\n\n return Promise.resolve(options);\n });\n } else if (hydraId.room) {\n options.type = _CONVERSATION_URL_;\n try {\n await webex.internal.services.waitForCatalog('postauth');\n\n const serviceUrl = webex.internal.services.getServiceUrlFromClusterId(\n {\n cluster: hydraId.cluster,\n },\n webex\n );\n\n options.destination = hydraId.destination\n ? `${serviceUrl}/conversations/${hydraId.destination}`\n : serviceUrl;\n } catch (e) {\n LoggerProxy.logger.error(`Meeting-info:util#generateOptions --> ${e}`);\n throw e;\n }\n } else {\n throw new ParameterError(\n 'MeetingInfo is fetched with meeting link, sip uri, phone number, hydra room id, hydra people id, or a conversation url.'\n );\n }\n\n return Promise.resolve(options);\n};\n\n/**\n * Helper function to build up a correct locus url depending on the value passed\n * @param {String} type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {Object} value ?? value.value\n * @returns {Object} returns an object with {resource, method}\n */\nMeetingInfoUtil.getResourceUrl = (type: string, value: any) => {\n let resource = `/${LOCI}/${MEETINGINFO}`;\n let method = HTTP_VERBS.GET;\n let uri = null;\n\n switch (type) {\n case _SIP_URI_:\n case _PERSONAL_ROOM_:\n case _MEETING_ID_:\n resource = `/${LOCI}/${MEETINGINFO}/${encodeURIComponent(\n value\n )}?${TYPE}=${type}&${USE_URI_LOOKUP_FALSE}`;\n break;\n case _CONVERSATION_URL_:\n method = HTTP_VERBS.PUT;\n break;\n case _LOCUS_ID_:\n uri = `${value}/${MEETINGINFO}`;\n method = HTTP_VERBS.PUT;\n break;\n case _MEETING_LINK_:\n resource = `$/${LOCI}/${MEETINGINFO}/${btoa(\n value\n )}?${TYPE}=${_MEETING_LINK_}&${USE_URI_LOOKUP_FALSE}`;\n break;\n default:\n }\n\n return {\n uri,\n resource,\n method,\n };\n};\n\nMeetingInfoUtil.getRequestParams = (resourceOptions, type, value, api) => {\n let requestParams: any = {\n method: resourceOptions.method,\n api,\n resource: resourceOptions.resource,\n };\n\n if (resourceOptions.method === HTTP_VERBS.GET) {\n // for handling URL redirections\n requestParams.resource = requestParams.resource.concat(`&${ALTERNATE_REDIRECT_TRUE}`);\n } else if (type !== _LOCUS_ID_) {\n // locus id check is a PUT not sure why\n requestParams.resource = requestParams.resource.concat(`?${ALTERNATE_REDIRECT_TRUE}`);\n requestParams.body = {\n value,\n lookupType: type,\n };\n } else if (type === _LOCUS_ID_) {\n requestParams = {\n method: resourceOptions.method,\n uri: resourceOptions.uri,\n };\n }\n\n return requestParams;\n};\n\nexport default MeetingInfoUtil;\n"],"mappings":"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"}
|
|
@@ -1,10 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
var _Object$keys = require("@babel/runtime-corejs2/core-js/object/keys");
|
|
4
|
-
var _Object$getOwnPropertySymbols = require("@babel/runtime-corejs2/core-js/object/get-own-property-symbols");
|
|
5
|
-
var _Object$getOwnPropertyDescriptor = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptor");
|
|
6
|
-
var _Object$getOwnPropertyDescriptors = require("@babel/runtime-corejs2/core-js/object/get-own-property-descriptors");
|
|
7
|
-
var _Object$defineProperties = require("@babel/runtime-corejs2/core-js/object/define-properties");
|
|
8
3
|
var _Object$defineProperty = require("@babel/runtime-corejs2/core-js/object/define-property");
|
|
9
4
|
var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequireDefault");
|
|
10
5
|
_Object$defineProperty(exports, "__esModule", {
|
|
@@ -13,18 +8,15 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
13
8
|
exports.default = void 0;
|
|
14
9
|
var _regenerator = _interopRequireDefault(require("@babel/runtime-corejs2/regenerator"));
|
|
15
10
|
var _promise = _interopRequireDefault(require("@babel/runtime-corejs2/core-js/promise"));
|
|
16
|
-
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
17
11
|
var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/asyncToGenerator"));
|
|
18
12
|
var _url = _interopRequireDefault(require("url"));
|
|
19
13
|
var _common = require("@webex/common");
|
|
20
14
|
var _constants = require("../constants");
|
|
21
15
|
var _parameter = _interopRequireDefault(require("../common/errors/parameter"));
|
|
22
16
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(e, _Object$getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { _Object$defineProperty(e, r, _Object$getOwnPropertyDescriptor(t, r)); }); } return e; } // @ts-ignore
|
|
17
|
+
// @ts-ignore
|
|
18
|
+
|
|
26
19
|
var MeetingInfoUtil = {};
|
|
27
|
-
var meetingInfoError = 'MeetingInfo is fetched with the meeting link, SIP URI, phone number, Hydra people ID, or a conversation URL.';
|
|
28
20
|
MeetingInfoUtil.getParsedUrl = function (link) {
|
|
29
21
|
try {
|
|
30
22
|
var parsedUrl = _url.default.parse(link);
|
|
@@ -50,7 +42,7 @@ MeetingInfoUtil.getParsedUrl = function (link) {
|
|
|
50
42
|
MeetingInfoUtil.isMeetingLink = function (value) {
|
|
51
43
|
var parsedUrl = MeetingInfoUtil.getParsedUrl(value);
|
|
52
44
|
var hostNameBool = parsedUrl.hostname && parsedUrl.hostname.includes(_constants.WEBEX_DOT_COM);
|
|
53
|
-
var pathNameBool = parsedUrl.pathname && (parsedUrl.pathname.includes("/".concat(_constants.MEET)) || parsedUrl.pathname.includes("/".concat(_constants.MEET_M)) || parsedUrl.pathname.includes("/".concat(_constants.
|
|
45
|
+
var pathNameBool = parsedUrl.pathname && (parsedUrl.pathname.includes("/".concat(_constants.MEET)) || parsedUrl.pathname.includes("/".concat(_constants.MEET_M)) || parsedUrl.pathname.includes("/".concat(_constants.JOIN)));
|
|
54
46
|
return hostNameBool && pathNameBool;
|
|
55
47
|
};
|
|
56
48
|
MeetingInfoUtil.isConversationUrl = function (value, webex) {
|
|
@@ -107,7 +99,7 @@ MeetingInfoUtil.getSipUriFromHydraPersonId = function (destination, webex) {
|
|
|
107
99
|
};
|
|
108
100
|
MeetingInfoUtil.getDestinationType = /*#__PURE__*/function () {
|
|
109
101
|
var _ref = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(from) {
|
|
110
|
-
var type, webex, destination, _options, res, _res$items$, orgId, userId, options, hydraId;
|
|
102
|
+
var type, webex, destination, _options, res, _res$items$, orgId, userId, options, hydraId, serviceUrl;
|
|
111
103
|
return _regenerator.default.wrap(function _callee$(_context) {
|
|
112
104
|
while (1) switch (_context.prev = _context.next) {
|
|
113
105
|
case 0:
|
|
@@ -168,7 +160,7 @@ MeetingInfoUtil.getDestinationType = /*#__PURE__*/function () {
|
|
|
168
160
|
_loggerProxy.default.logger.warn('Meeting-info:util#generateOptions --> WARN, use of Meeting Link is deprecated, please use a SIP URI instead');
|
|
169
161
|
options.type = _constants._MEETING_LINK_;
|
|
170
162
|
options.destination = destination;
|
|
171
|
-
_context.next =
|
|
163
|
+
_context.next = 62;
|
|
172
164
|
break;
|
|
173
165
|
case 25:
|
|
174
166
|
if (!MeetingInfoUtil.isSipUri(destination)) {
|
|
@@ -177,7 +169,7 @@ MeetingInfoUtil.getDestinationType = /*#__PURE__*/function () {
|
|
|
177
169
|
}
|
|
178
170
|
options.type = _constants._SIP_URI_;
|
|
179
171
|
options.destination = destination;
|
|
180
|
-
_context.next =
|
|
172
|
+
_context.next = 62;
|
|
181
173
|
break;
|
|
182
174
|
case 30:
|
|
183
175
|
if (!MeetingInfoUtil.isPhoneNumber(destination)) {
|
|
@@ -186,7 +178,7 @@ MeetingInfoUtil.getDestinationType = /*#__PURE__*/function () {
|
|
|
186
178
|
}
|
|
187
179
|
options.type = _constants._SIP_URI_;
|
|
188
180
|
options.destination = destination;
|
|
189
|
-
_context.next =
|
|
181
|
+
_context.next = 62;
|
|
190
182
|
break;
|
|
191
183
|
case 35:
|
|
192
184
|
if (!MeetingInfoUtil.isConversationUrl(destination, webex)) {
|
|
@@ -195,7 +187,7 @@ MeetingInfoUtil.getDestinationType = /*#__PURE__*/function () {
|
|
|
195
187
|
}
|
|
196
188
|
options.type = _constants._CONVERSATION_URL_;
|
|
197
189
|
options.destination = destination;
|
|
198
|
-
_context.next =
|
|
190
|
+
_context.next = 62;
|
|
199
191
|
break;
|
|
200
192
|
case 40:
|
|
201
193
|
if (!(hydraId && hydraId.people)) {
|
|
@@ -213,23 +205,39 @@ MeetingInfoUtil.getDestinationType = /*#__PURE__*/function () {
|
|
|
213
205
|
return _promise.default.resolve(options);
|
|
214
206
|
}));
|
|
215
207
|
case 45:
|
|
216
|
-
if (!hydraId.room) {
|
|
217
|
-
_context.next =
|
|
208
|
+
if (!(hydraId && hydraId.room)) {
|
|
209
|
+
_context.next = 60;
|
|
218
210
|
break;
|
|
219
211
|
}
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
212
|
+
options.type = _constants._CONVERSATION_URL_;
|
|
213
|
+
_context.prev = 47;
|
|
214
|
+
_context.next = 50;
|
|
215
|
+
return webex.internal.services.waitForCatalog('postauth');
|
|
223
216
|
case 50:
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
217
|
+
serviceUrl = webex.internal.services.getServiceUrlFromClusterId({
|
|
218
|
+
cluster: hydraId.cluster
|
|
219
|
+
}, webex);
|
|
220
|
+
options.destination = hydraId.destination ? "".concat(serviceUrl, "/conversations/").concat(hydraId.destination) : serviceUrl;
|
|
221
|
+
_context.next = 58;
|
|
222
|
+
break;
|
|
223
|
+
case 54:
|
|
224
|
+
_context.prev = 54;
|
|
225
|
+
_context.t0 = _context["catch"](47);
|
|
226
|
+
_loggerProxy.default.logger.error("Meeting-info:util#getDestinationType --> ".concat(_context.t0));
|
|
227
|
+
throw _context.t0;
|
|
228
|
+
case 58:
|
|
229
|
+
_context.next = 62;
|
|
230
|
+
break;
|
|
231
|
+
case 60:
|
|
232
|
+
_loggerProxy.default.logger.warn("Meeting-info:util#getDestinationType --> ('MeetingInfo is fetched with meeting link, sip uri, phone number, hydra room id, hydra people id, or a conversation url.");
|
|
233
|
+
throw new _parameter.default('MeetingInfo is fetched with meeting link, sip uri, phone number, hydra room id, hydra people id, or a conversation url.');
|
|
234
|
+
case 62:
|
|
227
235
|
return _context.abrupt("return", _promise.default.resolve(options));
|
|
228
|
-
case
|
|
236
|
+
case 63:
|
|
229
237
|
case "end":
|
|
230
238
|
return _context.stop();
|
|
231
239
|
}
|
|
232
|
-
}, _callee);
|
|
240
|
+
}, _callee, null, [[47, 54]]);
|
|
233
241
|
}));
|
|
234
242
|
return function (_x) {
|
|
235
243
|
return _ref.apply(this, arguments);
|
|
@@ -240,7 +248,6 @@ MeetingInfoUtil.getDestinationType = /*#__PURE__*/function () {
|
|
|
240
248
|
* Helper function to build up a correct locus url depending on the value passed
|
|
241
249
|
* @param {Object} options type and value to fetch meeting info
|
|
242
250
|
* @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]
|
|
243
|
-
* @param {String} options.installedOrgID org ID of user's machine
|
|
244
251
|
* @param {Object} options.destination ?? value.value
|
|
245
252
|
* @returns {Object} returns an object with {resource, method}
|
|
246
253
|
*/
|
|
@@ -249,11 +256,11 @@ MeetingInfoUtil.getRequestBody = function (options) {
|
|
|
249
256
|
var type = options.type,
|
|
250
257
|
destination = options.destination,
|
|
251
258
|
password = options.password,
|
|
252
|
-
captchaInfo = options.captchaInfo
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
259
|
+
captchaInfo = options.captchaInfo;
|
|
260
|
+
var body = {
|
|
261
|
+
supportHostKey: true,
|
|
262
|
+
supportCountryList: true
|
|
263
|
+
};
|
|
257
264
|
switch (type) {
|
|
258
265
|
case _constants._SIP_URI_:
|
|
259
266
|
body.sipUrl = destination;
|
|
@@ -293,12 +300,6 @@ MeetingInfoUtil.getRequestBody = function (options) {
|
|
|
293
300
|
body.captchaID = captchaInfo.id;
|
|
294
301
|
body.captchaVerifyCode = captchaInfo.code;
|
|
295
302
|
}
|
|
296
|
-
if (installedOrgID) {
|
|
297
|
-
body.installedOrgID = installedOrgID;
|
|
298
|
-
}
|
|
299
|
-
if (locusId) {
|
|
300
|
-
body.locusId = locusId;
|
|
301
|
-
}
|
|
302
303
|
return body;
|
|
303
304
|
};
|
|
304
305
|
|
|
@@ -337,5 +338,6 @@ MeetingInfoUtil.getDirectMeetingInfoURI = function (options) {
|
|
|
337
338
|
}
|
|
338
339
|
return preferredWebexSite ? "https://".concat(preferredWebexSite, "/wbxappapi/v1/meetingInfo") : null;
|
|
339
340
|
};
|
|
340
|
-
var _default =
|
|
341
|
+
var _default = MeetingInfoUtil;
|
|
342
|
+
exports.default = _default;
|
|
341
343
|
//# sourceMappingURL=utilv2.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_url","_interopRequireDefault","require","_common","_constants","_parameter","_loggerProxy","_webexErrors","ownKeys","e","r","t","_Object$keys","_Object$getOwnPropertySymbols","o","filter","_Object$getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","arguments","length","Object","forEach","_defineProperty2","default","_Object$getOwnPropertyDescriptors","_Object$defineProperties","_Object$defineProperty","MeetingInfoUtil","meetingInfoError","getParsedUrl","link","parsedUrl","url","parse","protocol","concat","HTTPS_PROTOCOL","error","LoggerProxy","logger","warn","isMeetingLink","value","hostNameBool","hostname","includes","WEBEX_DOT_COM","pathNameBool","pathname","MEET","MEET_M","MEET_CISCO","MEET_CO","JOIN","isConversationUrl","webex","clusterId","internal","services","getClusterId","endsWith","CONVERSATION_SERVICE","isSipUri","sipString","sipUri","DIALER_REGEX","SIP_ADDRESS","exec","isPhoneNumber","phoneNumber","isValidNumber","PHONE_NUMBER","test","getHydraId","destination","_deconstructHydraId","deconstructHydraId","type","id","cluster","UUID_REG","_ROOM_","room","_PEOPLE_","people","getSipUriFromHydraPersonId","get","then","res","emails","ParameterError","catch","err","getDestinationType","_ref","_asyncToGenerator2","_regenerator","mark","_callee","from","_options","_res$items$","orgId","userId","options","hydraId","wrap","_callee$","_context","prev","next","_PERSONAL_ROOM_","device","VALID_EMAIL_ADDRESS","email","list","sent","items","abrupt","config","meetings","disableHydraId","_MEETING_LINK_","_SIP_URI_","_CONVERSATION_URL_","wasHydraPerson","_promise","resolve","SpaceIDDeprecatedError","stop","_x","getRequestBody","_destination$info","_destination$info2","password","captchaInfo","installedOrgID","locusId","extraParams","body","DEFAULT_MEETING_INFO_REQUEST_BODY","sipUrl","_MEETING_ID_","meetingKey","conversationUrl","_LOCUS_ID_","info","webExMeetingId","meetingUrl","_MEETING_UUID_","meetingUUID","captchaID","captchaVerifyCode","code","getWebexSite","uri","_uri$match","exceptedDomains","site","match","getDirectMeetingInfoURI","_destination$info3","preferredWebexSite","webExSite","_default","exports"],"sources":["utilv2.ts"],"sourcesContent":["import url from 'url';\n\n// @ts-ignore\nimport {deconstructHydraId} from '@webex/common';\n\nimport {\n _SIP_URI_,\n _PERSONAL_ROOM_,\n _MEETING_ID_,\n _CONVERSATION_URL_,\n _LOCUS_ID_,\n _MEETING_LINK_,\n _PEOPLE_,\n _ROOM_,\n _MEETING_UUID_,\n DIALER_REGEX,\n WEBEX_DOT_COM,\n CONVERSATION_SERVICE,\n JOIN,\n MEET,\n MEET_M,\n MEET_CISCO,\n MEET_CO,\n HTTPS_PROTOCOL,\n UUID_REG,\n VALID_EMAIL_ADDRESS,\n DEFAULT_MEETING_INFO_REQUEST_BODY,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport {SpaceIDDeprecatedError} from '../common/errors/webex-errors';\n\nconst MeetingInfoUtil: any = {};\nconst meetingInfoError =\n 'MeetingInfo is fetched with the meeting link, SIP URI, phone number, Hydra people ID, or a conversation URL.';\n\nMeetingInfoUtil.getParsedUrl = (link) => {\n try {\n let parsedUrl = url.parse(link);\n\n if (!parsedUrl) {\n return false;\n }\n // hack for links such as <company>.webex.com/meet/<user> without a protocol\n if (!parsedUrl.protocol) {\n parsedUrl = url.parse(`${HTTPS_PROTOCOL}${link}`);\n }\n\n return parsedUrl;\n } catch (error) {\n LoggerProxy.logger.warn(\n `Meeting-info:util#getParsedUrl --> unable to parse the URL, error: ${error}`\n );\n\n return null;\n }\n};\n\n/**\n * Helper function to check if a string matches a known meeting link pattern\n * @param {String} value string to parse and see if it matches a meeting link\n * @returns {Boolean}\n */\nMeetingInfoUtil.isMeetingLink = (value: string) => {\n const parsedUrl = MeetingInfoUtil.getParsedUrl(value);\n const hostNameBool = parsedUrl.hostname && parsedUrl.hostname.includes(WEBEX_DOT_COM);\n const pathNameBool =\n parsedUrl.pathname &&\n (parsedUrl.pathname.includes(`/${MEET}`) ||\n parsedUrl.pathname.includes(`/${MEET_M}`) ||\n parsedUrl.pathname.includes(`/${MEET_CISCO}`) ||\n parsedUrl.pathname.includes(`/${MEET_CO}`) ||\n parsedUrl.pathname.includes(`/${JOIN}`));\n\n return hostNameBool && pathNameBool;\n};\n\nMeetingInfoUtil.isConversationUrl = (value, webex) => {\n const clusterId = webex.internal.services.getClusterId(value);\n\n if (clusterId) {\n return clusterId.endsWith(CONVERSATION_SERVICE);\n }\n\n return false;\n};\n\nMeetingInfoUtil.isSipUri = (sipString) => {\n // TODO: lets remove regex from this equation and user URI matchers and such\n // have not found a great sip uri parser library as of now\n const sipUri = DIALER_REGEX.SIP_ADDRESS.exec(sipString);\n\n return sipUri;\n};\n\nMeetingInfoUtil.isPhoneNumber = (phoneNumber) => {\n const isValidNumber = DIALER_REGEX.PHONE_NUMBER.test(phoneNumber);\n\n return isValidNumber;\n};\n\nMeetingInfoUtil.getHydraId = (destination) => {\n const {type, id, cluster} = deconstructHydraId(destination);\n\n if (id && UUID_REG.test(id)) {\n if (type === _ROOM_) {\n return {room: true, destination: id, cluster};\n }\n if (type === _PEOPLE_) {\n return {people: true, destination: id, cluster};\n }\n\n return {};\n }\n\n return {};\n};\n\nMeetingInfoUtil.getSipUriFromHydraPersonId = (destination, webex) =>\n webex.people\n .get(destination)\n .then((res) => {\n if (res.emails && res.emails.length) {\n return res.emails[0];\n }\n throw new ParameterError('Hydra Id Lookup was an invalid hydra person id.');\n })\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting-info:util#MeetingInfoUtil.getSipUriFromHydraPersonId --> getSipUriFromHydraPersonId ${err} `\n );\n throw err;\n });\n\nMeetingInfoUtil.getDestinationType = async (from) => {\n const {type, webex} = from;\n let {destination} = from;\n\n if (type === _PERSONAL_ROOM_) {\n // this case checks if your type is personal room\n if (!destination) {\n // if we are not getting anything in desination we fetch org and user ids from webex instance\n destination = {\n userId: webex.internal.device.userId,\n orgId: webex.internal.device.orgId,\n };\n } else {\n const options = VALID_EMAIL_ADDRESS.test(destination)\n ? {email: destination}\n : {id: destination}; // we are assuming userId as default\n const res = await webex.people.list(options);\n\n let {orgId, id: userId} = res.items[0];\n\n userId = deconstructHydraId(userId).id;\n orgId = deconstructHydraId(orgId).id;\n destination = {userId, orgId};\n }\n }\n if (type) {\n return {\n destination,\n type,\n };\n }\n const options: any = {};\n let hydraId;\n\n if (webex && webex.config && webex.config.meetings && webex.config.meetings.disableHydraId) {\n hydraId = null;\n } else {\n hydraId = MeetingInfoUtil.getHydraId(destination);\n }\n\n if (MeetingInfoUtil.isMeetingLink(destination)) {\n LoggerProxy.logger.warn(\n 'Meeting-info:util#generateOptions --> WARN, use of Meeting Link is deprecated, please use a SIP URI instead'\n );\n\n options.type = _MEETING_LINK_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isSipUri(destination)) {\n options.type = _SIP_URI_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isPhoneNumber(destination)) {\n options.type = _SIP_URI_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isConversationUrl(destination, webex)) {\n options.type = _CONVERSATION_URL_;\n options.destination = destination;\n } else if (hydraId && hydraId.people) {\n options.type = _SIP_URI_;\n\n return MeetingInfoUtil.getSipUriFromHydraPersonId(hydraId && hydraId.destination, webex).then(\n (res) => {\n options.destination = res;\n\n // Since hydra person ids require a unique case in which they are\n // entirely converted to a SIP URI, we need to set a flag for detecting\n // this type of destination.\n options.wasHydraPerson = true;\n\n return Promise.resolve(options);\n }\n );\n } else if (hydraId.room) {\n LoggerProxy.logger.error(\n `Meeting-info:util#getDestinationType --> Using the space ID as a destination is no longer supported. Please refer to the [migration guide](https://github.com/webex/webex-js-sdk/wiki/Migration-to-Unified-Space-Meetings) to migrate to use the meeting ID or SIP address.`\n );\n // Error code 30105 added as Space ID deprecated as of beta, Please refer migration guide.\n throw new SpaceIDDeprecatedError();\n } else {\n LoggerProxy.logger.warn(`Meeting-info:util#getDestinationType --> ${meetingInfoError}`);\n throw new ParameterError(`${meetingInfoError}`);\n }\n\n return Promise.resolve(options);\n};\n\n/**\n * Helper function to build up a correct locus url depending on the value passed\n * @param {Object} options type and value to fetch meeting info\n * @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {String} options.installedOrgID org ID of user's machine\n * @param {Object} options.destination ?? value.value\n * @returns {Object} returns an object with {resource, method}\n */\nMeetingInfoUtil.getRequestBody = (options: {type: string; destination: object} | any) => {\n const {type, destination, password, captchaInfo, installedOrgID, locusId, extraParams} = options;\n const body: any = {\n ...DEFAULT_MEETING_INFO_REQUEST_BODY,\n ...extraParams,\n };\n\n switch (type) {\n case _SIP_URI_:\n body.sipUrl = destination;\n break;\n case _PERSONAL_ROOM_:\n body.userId = destination.userId;\n body.orgId = destination.orgId;\n break;\n case _MEETING_ID_:\n body.meetingKey = destination;\n break;\n case _CONVERSATION_URL_:\n body.conversationUrl = destination;\n break;\n case _LOCUS_ID_:\n // use meetingID for the completer meeting info for the already started meeting\n if (destination.info?.webExMeetingId) {\n body.meetingKey = destination.info.webExMeetingId;\n } else if (destination.info?.sipUri) {\n body.sipUrl = destination.info.sipUri;\n }\n break;\n case _MEETING_LINK_:\n body.meetingUrl = destination;\n break;\n case _MEETING_UUID_: {\n body.meetingUUID = destination;\n break;\n }\n default:\n }\n\n if (password) {\n body.password = password;\n }\n\n if (captchaInfo) {\n body.captchaID = captchaInfo.id;\n body.captchaVerifyCode = captchaInfo.code;\n }\n\n if (installedOrgID) {\n body.installedOrgID = installedOrgID;\n }\n\n if (locusId) {\n body.locusId = locusId;\n }\n\n return body;\n};\n\n/**\n * Helper function to parse the webex site/host from a URI string.\n * @param {String} uri string (e.g. '10019857020@convergedats.webex.com')\n * @returns {String} the site/host part of the URI string (e.g. 'convergedats.webex.com')\n */\nMeetingInfoUtil.getWebexSite = (uri: string) => {\n const exceptedDomains = ['meet.webex.com', 'meetup.webex.com', 'ciscospark.com'];\n const site = uri?.match(/.+@([^.]+\\.[^.]+\\.[^.]+)$/)?.[1];\n\n return exceptedDomains.includes(site) ? null : site;\n};\n\n/**\n * Helper function to return the direct URI for fetching meeting info (to avoid a redirect).\n * @param {Object} options type and value to fetch meeting info\n * @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {Object} options.destination ?? value.value\n * @returns {String} returns a URI string or null of there is no direct URI\n */\nMeetingInfoUtil.getDirectMeetingInfoURI = (options: {type: string; destination: any}) => {\n const {type, destination} = options;\n\n let preferredWebexSite = null;\n\n switch (type) {\n case _SIP_URI_:\n preferredWebexSite = MeetingInfoUtil.getWebexSite(destination);\n break;\n case _LOCUS_ID_:\n preferredWebexSite = destination.info?.webExSite;\n break;\n default:\n }\n\n return preferredWebexSite ? `https://${preferredWebexSite}/wbxappapi/v1/meetingInfo` : null;\n};\n\nexport default MeetingInfoUtil;\n"],"mappings":";;;;;;;;;;;;;;;;;AAAA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AAGA,IAAAC,OAAA,GAAAD,OAAA;AAEA,IAAAE,UAAA,GAAAF,OAAA;AAuBA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,YAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,YAAA,GAAAL,OAAA;AAAqE,SAAAM,QAAAC,CAAA,EAAAC,CAAA,QAAAC,CAAA,GAAAC,YAAA,CAAAH,CAAA,OAAAI,6BAAA,QAAAC,CAAA,GAAAD,6BAAA,CAAAJ,CAAA,GAAAC,CAAA,KAAAI,CAAA,GAAAA,CAAA,CAAAC,MAAA,WAAAL,CAAA,WAAAM,gCAAA,CAAAP,CAAA,EAAAC,CAAA,EAAAO,UAAA,OAAAN,CAAA,CAAAO,IAAA,CAAAC,KAAA,CAAAR,CAAA,EAAAG,CAAA,YAAAH,CAAA;AAAA,SAAAS,cAAAX,CAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAW,SAAA,CAAAC,MAAA,EAAAZ,CAAA,UAAAC,CAAA,WAAAU,SAAA,CAAAX,CAAA,IAAAW,SAAA,CAAAX,CAAA,QAAAA,CAAA,OAAAF,OAAA,CAAAe,MAAA,CAAAZ,CAAA,OAAAa,OAAA,WAAAd,CAAA,QAAAe,gBAAA,CAAAC,OAAA,EAAAjB,CAAA,EAAAC,CAAA,EAAAC,CAAA,CAAAD,CAAA,SAAAiB,iCAAA,GAAAC,wBAAA,CAAAnB,CAAA,EAAAkB,iCAAA,CAAAhB,CAAA,KAAAH,OAAA,CAAAe,MAAA,CAAAZ,CAAA,GAAAa,OAAA,WAAAd,CAAA,IAAAmB,sBAAA,CAAApB,CAAA,EAAAC,CAAA,EAAAM,gCAAA,CAAAL,CAAA,EAAAD,CAAA,iBAAAD,CAAA,IA5BrE;AA8BA,IAAMqB,eAAoB,GAAG,CAAC,CAAC;AAC/B,IAAMC,gBAAgB,GACpB,8GAA8G;AAEhHD,eAAe,CAACE,YAAY,GAAG,UAACC,IAAI,EAAK;EACvC,IAAI;IACF,IAAIC,SAAS,GAAGC,YAAG,CAACC,KAAK,CAACH,IAAI,CAAC;IAE/B,IAAI,CAACC,SAAS,EAAE;MACd,OAAO,KAAK;IACd;IACA;IACA,IAAI,CAACA,SAAS,CAACG,QAAQ,EAAE;MACvBH,SAAS,GAAGC,YAAG,CAACC,KAAK,IAAAE,MAAA,CAAIC,yBAAc,EAAAD,MAAA,CAAGL,IAAI,CAAE,CAAC;IACnD;IAEA,OAAOC,SAAS;EAClB,CAAC,CAAC,OAAOM,KAAK,EAAE;IACdC,oBAAW,CAACC,MAAM,CAACC,IAAI,uEAAAL,MAAA,CACiDE,KAAK,CAC7E,CAAC;IAED,OAAO,IAAI;EACb;AACF,CAAC;;AAED;AACA;AACA;AACA;AACA;AACAV,eAAe,CAACc,aAAa,GAAG,UAACC,KAAa,EAAK;EACjD,IAAMX,SAAS,GAAGJ,eAAe,CAACE,YAAY,CAACa,KAAK,CAAC;EACrD,IAAMC,YAAY,GAAGZ,SAAS,CAACa,QAAQ,IAAIb,SAAS,CAACa,QAAQ,CAACC,QAAQ,CAACC,wBAAa,CAAC;EACrF,IAAMC,YAAY,GAChBhB,SAAS,CAACiB,QAAQ,KACjBjB,SAAS,CAACiB,QAAQ,CAACH,QAAQ,KAAAV,MAAA,CAAKc,eAAI,CAAE,CAAC,IACtClB,SAAS,CAACiB,QAAQ,CAACH,QAAQ,KAAAV,MAAA,CAAKe,iBAAM,CAAE,CAAC,IACzCnB,SAAS,CAACiB,QAAQ,CAACH,QAAQ,KAAAV,MAAA,CAAKgB,qBAAU,CAAE,CAAC,IAC7CpB,SAAS,CAACiB,QAAQ,CAACH,QAAQ,KAAAV,MAAA,CAAKiB,kBAAO,CAAE,CAAC,IAC1CrB,SAAS,CAACiB,QAAQ,CAACH,QAAQ,KAAAV,MAAA,CAAKkB,eAAI,CAAE,CAAC,CAAC;EAE5C,OAAOV,YAAY,IAAII,YAAY;AACrC,CAAC;AAEDpB,eAAe,CAAC2B,iBAAiB,GAAG,UAACZ,KAAK,EAAEa,KAAK,EAAK;EACpD,IAAMC,SAAS,GAAGD,KAAK,CAACE,QAAQ,CAACC,QAAQ,CAACC,YAAY,CAACjB,KAAK,CAAC;EAE7D,IAAIc,SAAS,EAAE;IACb,OAAOA,SAAS,CAACI,QAAQ,CAACC,+BAAoB,CAAC;EACjD;EAEA,OAAO,KAAK;AACd,CAAC;AAEDlC,eAAe,CAACmC,QAAQ,GAAG,UAACC,SAAS,EAAK;EACxC;EACA;EACA,IAAMC,MAAM,GAAGC,uBAAY,CAACC,WAAW,CAACC,IAAI,CAACJ,SAAS,CAAC;EAEvD,OAAOC,MAAM;AACf,CAAC;AAEDrC,eAAe,CAACyC,aAAa,GAAG,UAACC,WAAW,EAAK;EAC/C,IAAMC,aAAa,GAAGL,uBAAY,CAACM,YAAY,CAACC,IAAI,CAACH,WAAW,CAAC;EAEjE,OAAOC,aAAa;AACtB,CAAC;AAED3C,eAAe,CAAC8C,UAAU,GAAG,UAACC,WAAW,EAAK;EAC5C,IAAAC,mBAAA,GAA4B,IAAAC,0BAAkB,EAACF,WAAW,CAAC;IAApDG,IAAI,GAAAF,mBAAA,CAAJE,IAAI;IAAEC,EAAE,GAAAH,mBAAA,CAAFG,EAAE;IAAEC,OAAO,GAAAJ,mBAAA,CAAPI,OAAO;EAExB,IAAID,EAAE,IAAIE,mBAAQ,CAACR,IAAI,CAACM,EAAE,CAAC,EAAE;IAC3B,IAAID,IAAI,KAAKI,iBAAM,EAAE;MACnB,OAAO;QAACC,IAAI,EAAE,IAAI;QAAER,WAAW,EAAEI,EAAE;QAAEC,OAAO,EAAPA;MAAO,CAAC;IAC/C;IACA,IAAIF,IAAI,KAAKM,mBAAQ,EAAE;MACrB,OAAO;QAACC,MAAM,EAAE,IAAI;QAAEV,WAAW,EAAEI,EAAE;QAAEC,OAAO,EAAPA;MAAO,CAAC;IACjD;IAEA,OAAO,CAAC,CAAC;EACX;EAEA,OAAO,CAAC,CAAC;AACX,CAAC;AAEDpD,eAAe,CAAC0D,0BAA0B,GAAG,UAACX,WAAW,EAAEnB,KAAK;EAAA,OAC9DA,KAAK,CAAC6B,MAAM,CACTE,GAAG,CAACZ,WAAW,CAAC,CAChBa,IAAI,CAAC,UAACC,GAAG,EAAK;IACb,IAAIA,GAAG,CAACC,MAAM,IAAID,GAAG,CAACC,MAAM,CAACtE,MAAM,EAAE;MACnC,OAAOqE,GAAG,CAACC,MAAM,CAAC,CAAC,CAAC;IACtB;IACA,MAAM,IAAIC,kBAAc,CAAC,iDAAiD,CAAC;EAC7E,CAAC,CAAC,CACDC,KAAK,CAAC,UAACC,GAAG,EAAK;IACdtD,oBAAW,CAACC,MAAM,CAACF,KAAK,gGAAAF,MAAA,CACyEyD,GAAG,MACpG,CAAC;IACD,MAAMA,GAAG;EACX,CAAC,CAAC;AAAA;AAENjE,eAAe,CAACkE,kBAAkB;EAAA,IAAAC,IAAA,OAAAC,kBAAA,CAAAxE,OAAA,gBAAAyE,YAAA,CAAAzE,OAAA,CAAA0E,IAAA,CAAG,SAAAC,QAAOC,IAAI;IAAA,IAAAtB,IAAA,EAAAtB,KAAA,EAAAmB,WAAA,EAAA0B,QAAA,EAAAZ,GAAA,EAAAa,WAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,OAAA,EAAAC,OAAA;IAAA,OAAAT,YAAA,CAAAzE,OAAA,CAAAmF,IAAA,UAAAC,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAC,IAAA,GAAAD,QAAA,CAAAE,IAAA;QAAA;UACvCjC,IAAI,GAAWsB,IAAI,CAAnBtB,IAAI,EAAEtB,KAAK,GAAI4C,IAAI,CAAb5C,KAAK;UACbmB,WAAW,GAAIyB,IAAI,CAAnBzB,WAAW;UAAA,MAEZG,IAAI,KAAKkC,0BAAe;YAAAH,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,IAErBpC,WAAW;YAAAkC,QAAA,CAAAE,IAAA;YAAA;UAAA;UACd;UACApC,WAAW,GAAG;YACZ6B,MAAM,EAAEhD,KAAK,CAACE,QAAQ,CAACuD,MAAM,CAACT,MAAM;YACpCD,KAAK,EAAE/C,KAAK,CAACE,QAAQ,CAACuD,MAAM,CAACV;UAC/B,CAAC;UAACM,QAAA,CAAAE,IAAA;UAAA;QAAA;UAEIN,QAAO,GAAGS,8BAAmB,CAACzC,IAAI,CAACE,WAAW,CAAC,GACjD;YAACwC,KAAK,EAAExC;UAAW,CAAC,GACpB;YAACI,EAAE,EAAEJ;UAAW,CAAC,EAAE;UAAAkC,QAAA,CAAAE,IAAA;UAAA,OACLvD,KAAK,CAAC6B,MAAM,CAAC+B,IAAI,CAACX,QAAO,CAAC;QAAA;UAAtChB,GAAG,GAAAoB,QAAA,CAAAQ,IAAA;UAAAf,WAAA,GAEiBb,GAAG,CAAC6B,KAAK,CAAC,CAAC,CAAC,EAAjCf,KAAK,GAAAD,WAAA,CAALC,KAAK,EAAMC,MAAM,GAAAF,WAAA,CAAVvB,EAAE;UAEdyB,MAAM,GAAG,IAAA3B,0BAAkB,EAAC2B,MAAM,CAAC,CAACzB,EAAE;UACtCwB,KAAK,GAAG,IAAA1B,0BAAkB,EAAC0B,KAAK,CAAC,CAACxB,EAAE;UACpCJ,WAAW,GAAG;YAAC6B,MAAM,EAANA,MAAM;YAAED,KAAK,EAALA;UAAK,CAAC;QAAC;UAAA,KAG9BzB,IAAI;YAAA+B,QAAA,CAAAE,IAAA;YAAA;UAAA;UAAA,OAAAF,QAAA,CAAAU,MAAA,WACC;YACL5C,WAAW,EAAXA,WAAW;YACXG,IAAI,EAAJA;UACF,CAAC;QAAA;UAEG2B,OAAY,GAAG,CAAC,CAAC;UAGvB,IAAIjD,KAAK,IAAIA,KAAK,CAACgE,MAAM,IAAIhE,KAAK,CAACgE,MAAM,CAACC,QAAQ,IAAIjE,KAAK,CAACgE,MAAM,CAACC,QAAQ,CAACC,cAAc,EAAE;YAC1FhB,OAAO,GAAG,IAAI;UAChB,CAAC,MAAM;YACLA,OAAO,GAAG9E,eAAe,CAAC8C,UAAU,CAACC,WAAW,CAAC;UACnD;UAAC,KAEG/C,eAAe,CAACc,aAAa,CAACiC,WAAW,CAAC;YAAAkC,QAAA,CAAAE,IAAA;YAAA;UAAA;UAC5CxE,oBAAW,CAACC,MAAM,CAACC,IAAI,CACrB,6GACF,CAAC;UAEDgE,OAAO,CAAC3B,IAAI,GAAG6C,yBAAc;UAC7BlB,OAAO,CAAC9B,WAAW,GAAGA,WAAW;UAACkC,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAA,KACzBnF,eAAe,CAACmC,QAAQ,CAACY,WAAW,CAAC;YAAAkC,QAAA,CAAAE,IAAA;YAAA;UAAA;UAC9CN,OAAO,CAAC3B,IAAI,GAAG8C,oBAAS;UACxBnB,OAAO,CAAC9B,WAAW,GAAGA,WAAW;UAACkC,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAA,KACzBnF,eAAe,CAACyC,aAAa,CAACM,WAAW,CAAC;YAAAkC,QAAA,CAAAE,IAAA;YAAA;UAAA;UACnDN,OAAO,CAAC3B,IAAI,GAAG8C,oBAAS;UACxBnB,OAAO,CAAC9B,WAAW,GAAGA,WAAW;UAACkC,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAA,KACzBnF,eAAe,CAAC2B,iBAAiB,CAACoB,WAAW,EAAEnB,KAAK,CAAC;YAAAqD,QAAA,CAAAE,IAAA;YAAA;UAAA;UAC9DN,OAAO,CAAC3B,IAAI,GAAG+C,6BAAkB;UACjCpB,OAAO,CAAC9B,WAAW,GAAGA,WAAW;UAACkC,QAAA,CAAAE,IAAA;UAAA;QAAA;UAAA,MACzBL,OAAO,IAAIA,OAAO,CAACrB,MAAM;YAAAwB,QAAA,CAAAE,IAAA;YAAA;UAAA;UAClCN,OAAO,CAAC3B,IAAI,GAAG8C,oBAAS;UAAC,OAAAf,QAAA,CAAAU,MAAA,WAElB3F,eAAe,CAAC0D,0BAA0B,CAACoB,OAAO,IAAIA,OAAO,CAAC/B,WAAW,EAAEnB,KAAK,CAAC,CAACgC,IAAI,CAC3F,UAACC,GAAG,EAAK;YACPgB,OAAO,CAAC9B,WAAW,GAAGc,GAAG;;YAEzB;YACA;YACA;YACAgB,OAAO,CAACqB,cAAc,GAAG,IAAI;YAE7B,OAAOC,QAAA,CAAAvG,OAAA,CAAQwG,OAAO,CAACvB,OAAO,CAAC;UACjC,CACF,CAAC;QAAA;UAAA,KACQC,OAAO,CAACvB,IAAI;YAAA0B,QAAA,CAAAE,IAAA;YAAA;UAAA;UACrBxE,oBAAW,CAACC,MAAM,CAACF,KAAK,8QAExB,CAAC;UACD;UAAA,MACM,IAAI2F,mCAAsB,CAAC,CAAC;QAAA;UAElC1F,oBAAW,CAACC,MAAM,CAACC,IAAI,6CAAAL,MAAA,CAA6CP,gBAAgB,CAAE,CAAC;UAAC,MAClF,IAAI8D,kBAAc,IAAAvD,MAAA,CAAIP,gBAAgB,CAAE,CAAC;QAAA;UAAA,OAAAgF,QAAA,CAAAU,MAAA,WAG1CQ,QAAA,CAAAvG,OAAA,CAAQwG,OAAO,CAACvB,OAAO,CAAC;QAAA;QAAA;UAAA,OAAAI,QAAA,CAAAqB,IAAA;MAAA;IAAA,GAAA/B,OAAA;EAAA,CAChC;EAAA,iBAAAgC,EAAA;IAAA,OAAApC,IAAA,CAAA9E,KAAA,OAAAE,SAAA;EAAA;AAAA;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACAS,eAAe,CAACwG,cAAc,GAAG,UAAC3B,OAAkD,EAAK;EAAA,IAAA4B,iBAAA,EAAAC,kBAAA;EACvF,IAAOxD,IAAI,GAA8E2B,OAAO,CAAzF3B,IAAI;IAAEH,WAAW,GAAiE8B,OAAO,CAAnF9B,WAAW;IAAE4D,QAAQ,GAAuD9B,OAAO,CAAtE8B,QAAQ;IAAEC,WAAW,GAA0C/B,OAAO,CAA5D+B,WAAW;IAAEC,cAAc,GAA0BhC,OAAO,CAA/CgC,cAAc;IAAEC,OAAO,GAAiBjC,OAAO,CAA/BiC,OAAO;IAAEC,WAAW,GAAIlC,OAAO,CAAtBkC,WAAW;EACrF,IAAMC,IAAS,GAAA1H,aAAA,CAAAA,aAAA,KACV2H,4CAAiC,GACjCF,WAAW,CACf;EAED,QAAQ7D,IAAI;IACV,KAAK8C,oBAAS;MACZgB,IAAI,CAACE,MAAM,GAAGnE,WAAW;MACzB;IACF,KAAKqC,0BAAe;MAClB4B,IAAI,CAACpC,MAAM,GAAG7B,WAAW,CAAC6B,MAAM;MAChCoC,IAAI,CAACrC,KAAK,GAAG5B,WAAW,CAAC4B,KAAK;MAC9B;IACF,KAAKwC,uBAAY;MACfH,IAAI,CAACI,UAAU,GAAGrE,WAAW;MAC7B;IACF,KAAKkD,6BAAkB;MACrBe,IAAI,CAACK,eAAe,GAAGtE,WAAW;MAClC;IACF,KAAKuE,qBAAU;MACb;MACA,KAAAb,iBAAA,GAAI1D,WAAW,CAACwE,IAAI,cAAAd,iBAAA,eAAhBA,iBAAA,CAAkBe,cAAc,EAAE;QACpCR,IAAI,CAACI,UAAU,GAAGrE,WAAW,CAACwE,IAAI,CAACC,cAAc;MACnD,CAAC,MAAM,KAAAd,kBAAA,GAAI3D,WAAW,CAACwE,IAAI,cAAAb,kBAAA,eAAhBA,kBAAA,CAAkBrE,MAAM,EAAE;QACnC2E,IAAI,CAACE,MAAM,GAAGnE,WAAW,CAACwE,IAAI,CAAClF,MAAM;MACvC;MACA;IACF,KAAK0D,yBAAc;MACjBiB,IAAI,CAACS,UAAU,GAAG1E,WAAW;MAC7B;IACF,KAAK2E,yBAAc;MAAE;QACnBV,IAAI,CAACW,WAAW,GAAG5E,WAAW;QAC9B;MACF;IACA;EACF;EAEA,IAAI4D,QAAQ,EAAE;IACZK,IAAI,CAACL,QAAQ,GAAGA,QAAQ;EAC1B;EAEA,IAAIC,WAAW,EAAE;IACfI,IAAI,CAACY,SAAS,GAAGhB,WAAW,CAACzD,EAAE;IAC/B6D,IAAI,CAACa,iBAAiB,GAAGjB,WAAW,CAACkB,IAAI;EAC3C;EAEA,IAAIjB,cAAc,EAAE;IAClBG,IAAI,CAACH,cAAc,GAAGA,cAAc;EACtC;EAEA,IAAIC,OAAO,EAAE;IACXE,IAAI,CAACF,OAAO,GAAGA,OAAO;EACxB;EAEA,OAAOE,IAAI;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACAhH,eAAe,CAAC+H,YAAY,GAAG,UAACC,GAAW,EAAK;EAAA,IAAAC,UAAA;EAC9C,IAAMC,eAAe,GAAG,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,CAAC;EAChF,IAAMC,IAAI,GAAGH,GAAG,aAAHA,GAAG,wBAAAC,UAAA,GAAHD,GAAG,CAAEI,KAAK,CAAC,2BAA2B,CAAC,cAAAH,UAAA,uBAAvCA,UAAA,CAA0C,CAAC,CAAC;EAEzD,OAAOC,eAAe,CAAChH,QAAQ,CAACiH,IAAI,CAAC,GAAG,IAAI,GAAGA,IAAI;AACrD,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA;AACAnI,eAAe,CAACqI,uBAAuB,GAAG,UAACxD,OAAyC,EAAK;EAAA,IAAAyD,kBAAA;EACvF,IAAOpF,IAAI,GAAiB2B,OAAO,CAA5B3B,IAAI;IAAEH,WAAW,GAAI8B,OAAO,CAAtB9B,WAAW;EAExB,IAAIwF,kBAAkB,GAAG,IAAI;EAE7B,QAAQrF,IAAI;IACV,KAAK8C,oBAAS;MACZuC,kBAAkB,GAAGvI,eAAe,CAAC+H,YAAY,CAAChF,WAAW,CAAC;MAC9D;IACF,KAAKuE,qBAAU;MACbiB,kBAAkB,IAAAD,kBAAA,GAAGvF,WAAW,CAACwE,IAAI,cAAAe,kBAAA,uBAAhBA,kBAAA,CAAkBE,SAAS;MAChD;IACF;EACF;EAEA,OAAOD,kBAAkB,cAAA/H,MAAA,CAAc+H,kBAAkB,iCAA8B,IAAI;AAC7F,CAAC;AAAC,IAAAE,QAAA,GAAAC,OAAA,CAAA9I,OAAA,GAEaI,eAAe"}
|
|
1
|
+
{"version":3,"names":["_url","_interopRequireDefault","require","_common","_constants","_parameter","_loggerProxy","MeetingInfoUtil","getParsedUrl","link","parsedUrl","url","parse","protocol","concat","HTTPS_PROTOCOL","error","LoggerProxy","logger","warn","isMeetingLink","value","hostNameBool","hostname","includes","WEBEX_DOT_COM","pathNameBool","pathname","MEET","MEET_M","JOIN","isConversationUrl","webex","clusterId","internal","services","getClusterId","endsWith","CONVERSATION_SERVICE","isSipUri","sipString","sipUri","DIALER_REGEX","SIP_ADDRESS","exec","isPhoneNumber","phoneNumber","isValidNumber","PHONE_NUMBER","test","getHydraId","destination","_deconstructHydraId","deconstructHydraId","type","id","cluster","UUID_REG","_ROOM_","room","_PEOPLE_","people","getSipUriFromHydraPersonId","get","then","res","emails","length","ParameterError","catch","err","getDestinationType","_ref","_asyncToGenerator2","default","_regenerator","mark","_callee","from","_options","_res$items$","orgId","userId","options","hydraId","serviceUrl","wrap","_callee$","_context","prev","next","_PERSONAL_ROOM_","device","VALID_EMAIL_ADDRESS","email","list","sent","items","abrupt","config","meetings","disableHydraId","_MEETING_LINK_","_SIP_URI_","_CONVERSATION_URL_","wasHydraPerson","_promise","resolve","waitForCatalog","getServiceUrlFromClusterId","t0","stop","_x","apply","arguments","getRequestBody","_destination$info","_destination$info2","password","captchaInfo","body","supportHostKey","supportCountryList","sipUrl","_MEETING_ID_","meetingKey","conversationUrl","_LOCUS_ID_","info","webExMeetingId","meetingUrl","_MEETING_UUID_","meetingUUID","captchaID","captchaVerifyCode","code","getWebexSite","uri","_uri$match","exceptedDomains","site","match","getDirectMeetingInfoURI","_destination$info3","preferredWebexSite","webExSite","_default","exports"],"sources":["utilv2.ts"],"sourcesContent":["import url from 'url';\n\n// @ts-ignore\nimport {deconstructHydraId} from '@webex/common';\n\nimport {\n _SIP_URI_,\n _PERSONAL_ROOM_,\n _MEETING_ID_,\n _CONVERSATION_URL_,\n _LOCUS_ID_,\n _MEETING_LINK_,\n _PEOPLE_,\n _ROOM_,\n _MEETING_UUID_,\n DIALER_REGEX,\n WEBEX_DOT_COM,\n CONVERSATION_SERVICE,\n JOIN,\n MEET,\n MEET_M,\n HTTPS_PROTOCOL,\n UUID_REG,\n VALID_EMAIL_ADDRESS,\n} from '../constants';\nimport ParameterError from '../common/errors/parameter';\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nconst MeetingInfoUtil: any = {};\n\nMeetingInfoUtil.getParsedUrl = (link) => {\n try {\n let parsedUrl = url.parse(link);\n\n if (!parsedUrl) {\n return false;\n }\n // hack for links such as <company>.webex.com/meet/<user> without a protocol\n if (!parsedUrl.protocol) {\n parsedUrl = url.parse(`${HTTPS_PROTOCOL}${link}`);\n }\n\n return parsedUrl;\n } catch (error) {\n LoggerProxy.logger.warn(\n `Meeting-info:util#getParsedUrl --> unable to parse the URL, error: ${error}`\n );\n\n return null;\n }\n};\n\n/**\n * Helper function to check if a string matches a known meeting link pattern\n * @param {String} value string to parse and see if it matches a meeting link\n * @returns {Boolean}\n */\nMeetingInfoUtil.isMeetingLink = (value: string) => {\n const parsedUrl = MeetingInfoUtil.getParsedUrl(value);\n const hostNameBool = parsedUrl.hostname && parsedUrl.hostname.includes(WEBEX_DOT_COM);\n const pathNameBool =\n parsedUrl.pathname &&\n (parsedUrl.pathname.includes(`/${MEET}`) ||\n parsedUrl.pathname.includes(`/${MEET_M}`) ||\n parsedUrl.pathname.includes(`/${JOIN}`));\n\n return hostNameBool && pathNameBool;\n};\n\nMeetingInfoUtil.isConversationUrl = (value, webex) => {\n const clusterId = webex.internal.services.getClusterId(value);\n\n if (clusterId) {\n return clusterId.endsWith(CONVERSATION_SERVICE);\n }\n\n return false;\n};\n\nMeetingInfoUtil.isSipUri = (sipString) => {\n // TODO: lets remove regex from this equation and user URI matchers and such\n // have not found a great sip uri parser library as of now\n const sipUri = DIALER_REGEX.SIP_ADDRESS.exec(sipString);\n\n return sipUri;\n};\n\nMeetingInfoUtil.isPhoneNumber = (phoneNumber) => {\n const isValidNumber = DIALER_REGEX.PHONE_NUMBER.test(phoneNumber);\n\n return isValidNumber;\n};\n\nMeetingInfoUtil.getHydraId = (destination) => {\n const {type, id, cluster} = deconstructHydraId(destination);\n\n if (id && UUID_REG.test(id)) {\n if (type === _ROOM_) {\n return {room: true, destination: id, cluster};\n }\n if (type === _PEOPLE_) {\n return {people: true, destination: id, cluster};\n }\n\n return {};\n }\n\n return {};\n};\n\nMeetingInfoUtil.getSipUriFromHydraPersonId = (destination, webex) =>\n webex.people\n .get(destination)\n .then((res) => {\n if (res.emails && res.emails.length) {\n return res.emails[0];\n }\n throw new ParameterError('Hydra Id Lookup was an invalid hydra person id.');\n })\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting-info:util#MeetingInfoUtil.getSipUriFromHydraPersonId --> getSipUriFromHydraPersonId ${err} `\n );\n throw err;\n });\n\nMeetingInfoUtil.getDestinationType = async (from) => {\n const {type, webex} = from;\n let {destination} = from;\n\n if (type === _PERSONAL_ROOM_) {\n // this case checks if your type is personal room\n if (!destination) {\n // if we are not getting anything in desination we fetch org and user ids from webex instance\n destination = {\n userId: webex.internal.device.userId,\n orgId: webex.internal.device.orgId,\n };\n } else {\n const options = VALID_EMAIL_ADDRESS.test(destination)\n ? {email: destination}\n : {id: destination}; // we are assuming userId as default\n const res = await webex.people.list(options);\n\n let {orgId, id: userId} = res.items[0];\n\n userId = deconstructHydraId(userId).id;\n orgId = deconstructHydraId(orgId).id;\n destination = {userId, orgId};\n }\n }\n if (type) {\n return {\n destination,\n type,\n };\n }\n const options: any = {};\n let hydraId;\n\n if (webex && webex.config && webex.config.meetings && webex.config.meetings.disableHydraId) {\n hydraId = null;\n } else {\n hydraId = MeetingInfoUtil.getHydraId(destination);\n }\n\n if (MeetingInfoUtil.isMeetingLink(destination)) {\n LoggerProxy.logger.warn(\n 'Meeting-info:util#generateOptions --> WARN, use of Meeting Link is deprecated, please use a SIP URI instead'\n );\n\n options.type = _MEETING_LINK_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isSipUri(destination)) {\n options.type = _SIP_URI_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isPhoneNumber(destination)) {\n options.type = _SIP_URI_;\n options.destination = destination;\n } else if (MeetingInfoUtil.isConversationUrl(destination, webex)) {\n options.type = _CONVERSATION_URL_;\n options.destination = destination;\n } else if (hydraId && hydraId.people) {\n options.type = _SIP_URI_;\n\n return MeetingInfoUtil.getSipUriFromHydraPersonId(hydraId && hydraId.destination, webex).then(\n (res) => {\n options.destination = res;\n\n // Since hydra person ids require a unique case in which they are\n // entirely converted to a SIP URI, we need to set a flag for detecting\n // this type of destination.\n options.wasHydraPerson = true;\n\n return Promise.resolve(options);\n }\n );\n } else if (hydraId && hydraId.room) {\n options.type = _CONVERSATION_URL_;\n try {\n await webex.internal.services.waitForCatalog('postauth');\n\n const serviceUrl = webex.internal.services.getServiceUrlFromClusterId(\n {\n cluster: hydraId.cluster,\n },\n webex\n );\n\n options.destination = hydraId.destination\n ? `${serviceUrl}/conversations/${hydraId.destination}`\n : serviceUrl;\n } catch (e) {\n LoggerProxy.logger.error(`Meeting-info:util#getDestinationType --> ${e}`);\n throw e;\n }\n } else {\n LoggerProxy.logger.warn(\n \"Meeting-info:util#getDestinationType --> ('MeetingInfo is fetched with meeting link, sip uri, phone number, hydra room id, hydra people id, or a conversation url.\"\n );\n throw new ParameterError(\n 'MeetingInfo is fetched with meeting link, sip uri, phone number, hydra room id, hydra people id, or a conversation url.'\n );\n }\n\n return Promise.resolve(options);\n};\n\n/**\n * Helper function to build up a correct locus url depending on the value passed\n * @param {Object} options type and value to fetch meeting info\n * @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {Object} options.destination ?? value.value\n * @returns {Object} returns an object with {resource, method}\n */\nMeetingInfoUtil.getRequestBody = (options: {type: string; destination: object} | any) => {\n const {type, destination, password, captchaInfo} = options;\n const body: any = {\n supportHostKey: true,\n supportCountryList: true,\n };\n\n switch (type) {\n case _SIP_URI_:\n body.sipUrl = destination;\n break;\n case _PERSONAL_ROOM_:\n body.userId = destination.userId;\n body.orgId = destination.orgId;\n break;\n case _MEETING_ID_:\n body.meetingKey = destination;\n break;\n case _CONVERSATION_URL_:\n body.conversationUrl = destination;\n break;\n case _LOCUS_ID_:\n // use meetingID for the completer meeting info for the already started meeting\n if (destination.info?.webExMeetingId) {\n body.meetingKey = destination.info.webExMeetingId;\n } else if (destination.info?.sipUri) {\n body.sipUrl = destination.info.sipUri;\n }\n break;\n case _MEETING_LINK_:\n body.meetingUrl = destination;\n break;\n case _MEETING_UUID_: {\n body.meetingUUID = destination;\n break;\n }\n default:\n }\n\n if (password) {\n body.password = password;\n }\n\n if (captchaInfo) {\n body.captchaID = captchaInfo.id;\n body.captchaVerifyCode = captchaInfo.code;\n }\n\n return body;\n};\n\n/**\n * Helper function to parse the webex site/host from a URI string.\n * @param {String} uri string (e.g. '10019857020@convergedats.webex.com')\n * @returns {String} the site/host part of the URI string (e.g. 'convergedats.webex.com')\n */\nMeetingInfoUtil.getWebexSite = (uri: string) => {\n const exceptedDomains = ['meet.webex.com', 'meetup.webex.com', 'ciscospark.com'];\n const site = uri?.match(/.+@([^.]+\\.[^.]+\\.[^.]+)$/)?.[1];\n\n return exceptedDomains.includes(site) ? null : site;\n};\n\n/**\n * Helper function to return the direct URI for fetching meeting info (to avoid a redirect).\n * @param {Object} options type and value to fetch meeting info\n * @param {String} options.type One of [SIP_URI, PERSONAL_ROOM, MEETING_ID, CONVERSATION_URL, LOCUS_ID, MEETING_LINK]\n * @param {Object} options.destination ?? value.value\n * @returns {String} returns a URI string or null of there is no direct URI\n */\nMeetingInfoUtil.getDirectMeetingInfoURI = (options: {type: string; destination: any}) => {\n const {type, destination} = options;\n\n let preferredWebexSite = null;\n\n switch (type) {\n case _SIP_URI_:\n preferredWebexSite = MeetingInfoUtil.getWebexSite(destination);\n break;\n case _LOCUS_ID_:\n preferredWebexSite = destination.info?.webExSite;\n break;\n default:\n }\n\n return preferredWebexSite ? `https://${preferredWebexSite}/wbxappapi/v1/meetingInfo` : null;\n};\n\nexport default MeetingInfoUtil;\n"],"mappings":"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"}
|
|
@@ -20,21 +20,4 @@ export default class MeetingCollection extends Collection {
|
|
|
20
20
|
* @memberof MeetingCollection
|
|
21
21
|
*/
|
|
22
22
|
getByKey(key: string, value: any): any;
|
|
23
|
-
/**
|
|
24
|
-
* get a specific meeting searching for key
|
|
25
|
-
* @param {String} breakoutUrl
|
|
26
|
-
* @returns {Meeting} if found, else returns null
|
|
27
|
-
* @public
|
|
28
|
-
* @memberof MeetingCollection
|
|
29
|
-
*/
|
|
30
|
-
getActiveBreakoutLocus(breakoutUrl: string): any;
|
|
31
|
-
/**
|
|
32
|
-
* Gets the meeting that has a webrtc media connection
|
|
33
|
-
* NOTE: this function assumes there is no more than 1 such meeting
|
|
34
|
-
*
|
|
35
|
-
* @returns {Meeting} first meeting found, else undefined
|
|
36
|
-
* @public
|
|
37
|
-
* @memberof MeetingCollection
|
|
38
|
-
*/
|
|
39
|
-
getActiveWebrtcMeeting(): any;
|
|
40
23
|
}
|
|
@@ -12,7 +12,7 @@ var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpe
|
|
|
12
12
|
var _inherits2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/inherits"));
|
|
13
13
|
var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/possibleConstructorReturn"));
|
|
14
14
|
var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/getPrototypeOf"));
|
|
15
|
-
var
|
|
15
|
+
var _find2 = _interopRequireDefault(require("lodash/find"));
|
|
16
16
|
var _collection = _interopRequireDefault(require("../common/collection"));
|
|
17
17
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
18
18
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
@@ -20,7 +20,7 @@ function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !_R
|
|
|
20
20
|
* @export
|
|
21
21
|
* @class MeetingCollection
|
|
22
22
|
*/
|
|
23
|
-
var MeetingCollection =
|
|
23
|
+
var MeetingCollection = /*#__PURE__*/function (_Collection) {
|
|
24
24
|
(0, _inherits2.default)(MeetingCollection, _Collection);
|
|
25
25
|
var _super = _createSuper(MeetingCollection);
|
|
26
26
|
/**
|
|
@@ -55,52 +55,14 @@ var MeetingCollection = exports.default = /*#__PURE__*/function (_Collection) {
|
|
|
55
55
|
value: function getByKey(key, value) {
|
|
56
56
|
if (key && value) {
|
|
57
57
|
// @ts-ignore
|
|
58
|
-
return (0,
|
|
58
|
+
return (0, _find2.default)(this.meetings, function (meeting) {
|
|
59
59
|
return meeting[key] === value;
|
|
60
60
|
});
|
|
61
61
|
}
|
|
62
62
|
return null;
|
|
63
63
|
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* get a specific meeting searching for key
|
|
67
|
-
* @param {String} breakoutUrl
|
|
68
|
-
* @returns {Meeting} if found, else returns null
|
|
69
|
-
* @public
|
|
70
|
-
* @memberof MeetingCollection
|
|
71
|
-
*/
|
|
72
|
-
}, {
|
|
73
|
-
key: "getActiveBreakoutLocus",
|
|
74
|
-
value: function getActiveBreakoutLocus(breakoutUrl) {
|
|
75
|
-
if (breakoutUrl) {
|
|
76
|
-
// @ts-ignore
|
|
77
|
-
return (0, _lodash.find)(
|
|
78
|
-
// @ts-ignore
|
|
79
|
-
this.meetings, function (meeting) {
|
|
80
|
-
var _meeting$breakouts, _meeting$breakouts2;
|
|
81
|
-
return ((_meeting$breakouts = meeting.breakouts) === null || _meeting$breakouts === void 0 ? void 0 : _meeting$breakouts.url) === breakoutUrl && ((_meeting$breakouts2 = meeting.breakouts) === null || _meeting$breakouts2 === void 0 ? void 0 : _meeting$breakouts2.isActiveBreakout);
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
return null;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
/**
|
|
88
|
-
* Gets the meeting that has a webrtc media connection
|
|
89
|
-
* NOTE: this function assumes there is no more than 1 such meeting
|
|
90
|
-
*
|
|
91
|
-
* @returns {Meeting} first meeting found, else undefined
|
|
92
|
-
* @public
|
|
93
|
-
* @memberof MeetingCollection
|
|
94
|
-
*/
|
|
95
|
-
}, {
|
|
96
|
-
key: "getActiveWebrtcMeeting",
|
|
97
|
-
value: function getActiveWebrtcMeeting() {
|
|
98
|
-
// @ts-ignore
|
|
99
|
-
return (0, _lodash.find)(this.meetings, function (meeting) {
|
|
100
|
-
return meeting.mediaProperties.webrtcMediaConnection;
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
64
|
}]);
|
|
104
65
|
return MeetingCollection;
|
|
105
66
|
}(_collection.default);
|
|
67
|
+
exports.default = MeetingCollection;
|
|
106
68
|
//# sourceMappingURL=collection.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_collection","_interopRequireDefault","require","_createSuper","Derived","hasNativeReflectConstruct","_isNativeReflectConstruct","_createSuperInternal","Super","_getPrototypeOf2","default","result","NewTarget","constructor","_Reflect$construct","arguments","apply","_possibleConstructorReturn2","Reflect","sham","Proxy","Boolean","prototype","valueOf","call","e","MeetingCollection","_Collection","_inherits2","_super","_classCallCheck2","_createClass2","key","value","set","meeting","meetings","id","getByKey","_find2","Collection","exports"],"sources":["collection.ts"],"sourcesContent":["import {find} from 'lodash';\n\nimport Collection from '../common/collection';\n\n/**\n * @export\n * @class MeetingCollection\n */\nexport default class MeetingCollection extends Collection {\n /**\n * @constructor\n * @public\n * @memberof MeetingCollection\n */\n constructor() {\n super('meetings');\n }\n\n set(meeting) {\n // @ts-ignore\n this.meetings[meeting.id] = meeting;\n\n // @ts-ignore\n return this.meetings[meeting.id];\n }\n\n /**\n * get a specific meeting searching for key\n * @param {String} key\n * @param {Any} value\n * @returns {Meeting} if found, else returns null\n * @public\n * @memberof MeetingCollection\n */\n public getByKey(key: string, value: any) {\n if (key && value) {\n // @ts-ignore\n return find(this.meetings, (meeting) => meeting[key] === value);\n }\n\n return null;\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;AAEA,IAAAA,WAAA,GAAAC,sBAAA,CAAAC,OAAA;AAA8C,SAAAC,aAAAC,OAAA,QAAAC,yBAAA,GAAAC,yBAAA,oBAAAC,qBAAA,QAAAC,KAAA,OAAAC,gBAAA,CAAAC,OAAA,EAAAN,OAAA,GAAAO,MAAA,MAAAN,yBAAA,QAAAO,SAAA,OAAAH,gBAAA,CAAAC,OAAA,QAAAG,WAAA,EAAAF,MAAA,GAAAG,kBAAA,CAAAN,KAAA,EAAAO,SAAA,EAAAH,SAAA,YAAAD,MAAA,GAAAH,KAAA,CAAAQ,KAAA,OAAAD,SAAA,gBAAAE,2BAAA,CAAAP,OAAA,QAAAC,MAAA;AAAA,SAAAL,0BAAA,eAAAY,OAAA,qBAAAJ,kBAAA,oBAAAA,kBAAA,CAAAK,IAAA,2BAAAC,KAAA,oCAAAC,OAAA,CAAAC,SAAA,CAAAC,OAAA,CAAAC,IAAA,CAAAV,kBAAA,CAAAO,OAAA,8CAAAI,CAAA;AAE9C;AACA;AACA;AACA;AAHA,IAIqBC,iBAAiB,0BAAAC,WAAA;EAAA,IAAAC,UAAA,CAAAlB,OAAA,EAAAgB,iBAAA,EAAAC,WAAA;EAAA,IAAAE,MAAA,GAAA1B,YAAA,CAAAuB,iBAAA;EACpC;AACF;AACA;AACA;AACA;EACE,SAAAA,kBAAA,EAAc;IAAA,IAAAI,gBAAA,CAAApB,OAAA,QAAAgB,iBAAA;IAAA,OAAAG,MAAA,CAAAL,IAAA,OACN,UAAU;EAClB;EAAC,IAAAO,aAAA,CAAArB,OAAA,EAAAgB,iBAAA;IAAAM,GAAA;IAAAC,KAAA,EAED,SAAAC,IAAIC,OAAO,EAAE;MACX;MACA,IAAI,CAACC,QAAQ,CAACD,OAAO,CAACE,EAAE,CAAC,GAAGF,OAAO;;MAEnC;MACA,OAAO,IAAI,CAACC,QAAQ,CAACD,OAAO,CAACE,EAAE,CAAC;IAClC;;IAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EAPE;IAAAL,GAAA;IAAAC,KAAA,EAQA,SAAAK,SAAgBN,GAAW,EAAEC,KAAU,EAAE;MACvC,IAAID,GAAG,IAAIC,KAAK,EAAE;QAChB;QACA,OAAO,IAAAM,MAAA,CAAA7B,OAAA,EAAK,IAAI,CAAC0B,QAAQ,EAAE,UAACD,OAAO;UAAA,OAAKA,OAAO,CAACH,GAAG,CAAC,KAAKC,KAAK;QAAA,EAAC;MACjE;MAEA,OAAO,IAAI;IACb;EAAC;EAAA,OAAAP,iBAAA;AAAA,EAjC4Cc,mBAAU;AAAAC,OAAA,CAAA/B,OAAA,GAAAgB,iBAAA"}
|