@webex/plugin-meetings 3.0.0-bnr.5 → 3.0.0-stream-classes.2
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 +46 -8
- package/dist/annotation/annotation.types.js +7 -0
- package/dist/annotation/annotation.types.js.map +1 -0
- package/dist/annotation/constants.js +49 -0
- package/dist/annotation/constants.js.map +1 -0
- package/dist/annotation/index.js +342 -0
- package/dist/annotation/index.js.map +1 -0
- package/dist/breakouts/breakout.js +70 -32
- package/dist/breakouts/breakout.js.map +1 -1
- package/dist/breakouts/events.js +45 -0
- package/dist/breakouts/events.js.map +1 -0
- package/dist/breakouts/index.js +422 -217
- package/dist/breakouts/index.js.map +1 -1
- package/dist/breakouts/utils.js +12 -1
- package/dist/breakouts/utils.js.map +1 -1
- package/dist/common/errors/webex-errors.js +3 -2
- package/dist/common/errors/webex-errors.js.map +1 -1
- package/dist/common/logs/logger-proxy.js +1 -1
- package/dist/common/logs/logger-proxy.js.map +1 -1
- package/dist/common/queue.js +24 -9
- package/dist/common/queue.js.map +1 -1
- package/dist/config.js +1 -7
- package/dist/config.js.map +1 -1
- package/dist/constants.js +118 -24
- package/dist/constants.js.map +1 -1
- package/dist/controls-options-manager/enums.js +2 -0
- package/dist/controls-options-manager/enums.js.map +1 -1
- package/dist/controls-options-manager/index.js +19 -14
- package/dist/controls-options-manager/index.js.map +1 -1
- package/dist/controls-options-manager/types.js.map +1 -1
- package/dist/controls-options-manager/util.js +80 -11
- package/dist/controls-options-manager/util.js.map +1 -1
- package/dist/index.js +62 -20
- package/dist/index.js.map +1 -1
- package/dist/interpretation/collection.js +23 -0
- package/dist/interpretation/collection.js.map +1 -0
- package/dist/interpretation/index.js +366 -0
- package/dist/interpretation/index.js.map +1 -0
- package/dist/interpretation/siLanguage.js +25 -0
- package/dist/interpretation/siLanguage.js.map +1 -0
- package/dist/locus-info/controlsUtils.js +71 -1
- package/dist/locus-info/controlsUtils.js.map +1 -1
- package/dist/locus-info/index.js +305 -57
- package/dist/locus-info/index.js.map +1 -1
- package/dist/locus-info/infoUtils.js +7 -1
- package/dist/locus-info/infoUtils.js.map +1 -1
- package/dist/locus-info/mediaSharesUtils.js +43 -1
- package/dist/locus-info/mediaSharesUtils.js.map +1 -1
- package/dist/locus-info/parser.js +219 -63
- package/dist/locus-info/parser.js.map +1 -1
- package/dist/locus-info/selfUtils.js +44 -22
- package/dist/locus-info/selfUtils.js.map +1 -1
- package/dist/media/index.js +57 -104
- package/dist/media/index.js.map +1 -1
- package/dist/media/properties.js +60 -121
- package/dist/media/properties.js.map +1 -1
- package/dist/meeting/in-meeting-actions.js +61 -3
- package/dist/meeting/in-meeting-actions.js.map +1 -1
- package/dist/meeting/index.js +2530 -2534
- package/dist/meeting/index.js.map +1 -1
- package/dist/meeting/locusMediaRequest.js +292 -0
- package/dist/meeting/locusMediaRequest.js.map +1 -0
- package/dist/meeting/muteState.js +125 -205
- package/dist/meeting/muteState.js.map +1 -1
- package/dist/meeting/request.js +150 -150
- package/dist/meeting/request.js.map +1 -1
- package/dist/meeting/util.js +568 -438
- package/dist/meeting/util.js.map +1 -1
- package/dist/meeting-info/index.js +48 -7
- package/dist/meeting-info/index.js.map +1 -1
- package/dist/meeting-info/meeting-info-v2.js +94 -38
- package/dist/meeting-info/meeting-info-v2.js.map +1 -1
- package/dist/meeting-info/utilv2.js +4 -2
- package/dist/meeting-info/utilv2.js.map +1 -1
- package/dist/meetings/index.js +260 -85
- package/dist/meetings/index.js.map +1 -1
- package/dist/meetings/meetings.types.js +7 -0
- package/dist/meetings/meetings.types.js.map +1 -0
- package/dist/meetings/util.js +42 -7
- package/dist/meetings/util.js.map +1 -1
- package/dist/member/index.js +26 -0
- package/dist/member/index.js.map +1 -1
- package/dist/member/types.js +11 -1
- package/dist/member/types.js.map +1 -1
- package/dist/member/util.js +60 -23
- package/dist/member/util.js.map +1 -1
- package/dist/members/index.js +4 -1
- package/dist/members/index.js.map +1 -1
- package/dist/members/request.js +75 -45
- package/dist/members/request.js.map +1 -1
- package/dist/members/util.js +308 -317
- package/dist/members/util.js.map +1 -1
- package/dist/metrics/constants.js +1 -0
- package/dist/metrics/constants.js.map +1 -1
- package/dist/metrics/index.js +1 -451
- package/dist/metrics/index.js.map +1 -1
- package/dist/multistream/mediaRequestManager.js +136 -40
- package/dist/multistream/mediaRequestManager.js.map +1 -1
- package/dist/multistream/receiveSlot.js.map +1 -1
- package/dist/multistream/receiveSlotManager.js +4 -4
- package/dist/multistream/receiveSlotManager.js.map +1 -1
- package/dist/multistream/remoteMedia.js.map +1 -1
- package/dist/multistream/remoteMediaGroup.js +60 -3
- package/dist/multistream/remoteMediaGroup.js.map +1 -1
- package/dist/multistream/remoteMediaManager.js +36 -0
- package/dist/multistream/remoteMediaManager.js.map +1 -1
- package/dist/multistream/sendSlotManager.js +233 -0
- package/dist/multistream/sendSlotManager.js.map +1 -0
- package/dist/reachability/index.js +18 -3
- package/dist/reachability/index.js.map +1 -1
- package/dist/reachability/request.js +5 -3
- package/dist/reachability/request.js.map +1 -1
- package/dist/reconnection-manager/index.js +181 -153
- package/dist/reconnection-manager/index.js.map +1 -1
- package/dist/recording-controller/index.js +21 -2
- package/dist/recording-controller/index.js.map +1 -1
- package/dist/recording-controller/util.js +9 -8
- package/dist/recording-controller/util.js.map +1 -1
- package/dist/roap/index.js +25 -32
- package/dist/roap/index.js.map +1 -1
- package/dist/roap/request.js +42 -51
- package/dist/roap/request.js.map +1 -1
- package/dist/roap/turnDiscovery.js +97 -38
- package/dist/roap/turnDiscovery.js.map +1 -1
- package/dist/rtcMetrics/constants.js +12 -0
- package/dist/rtcMetrics/constants.js.map +1 -0
- package/dist/rtcMetrics/index.js +117 -0
- package/dist/rtcMetrics/index.js.map +1 -0
- package/dist/statsAnalyzer/index.js +0 -1
- package/dist/statsAnalyzer/index.js.map +1 -1
- package/dist/types/annotation/annotation.types.d.ts +42 -0
- package/dist/types/annotation/constants.d.ts +31 -0
- package/dist/types/annotation/index.d.ts +117 -0
- package/dist/types/breakouts/events.d.ts +8 -0
- package/dist/types/breakouts/utils.d.ts +7 -0
- package/dist/types/common/errors/webex-errors.d.ts +1 -1
- package/dist/types/common/queue.d.ts +9 -7
- package/dist/types/config.d.ts +0 -6
- package/dist/types/constants.d.ts +95 -22
- package/dist/types/controls-options-manager/enums.d.ts +2 -0
- package/dist/types/controls-options-manager/index.d.ts +1 -1
- package/dist/types/controls-options-manager/types.d.ts +7 -1
- package/dist/types/index.d.ts +1 -1
- package/dist/types/interpretation/collection.d.ts +5 -0
- package/dist/types/interpretation/index.d.ts +5 -0
- package/dist/types/interpretation/siLanguage.d.ts +5 -0
- package/dist/types/locus-info/index.d.ts +47 -2
- package/dist/types/locus-info/parser.d.ts +65 -6
- package/dist/types/media/index.d.ts +2 -0
- package/dist/types/media/properties.d.ts +34 -49
- package/dist/types/meeting/in-meeting-actions.d.ts +60 -2
- package/dist/types/meeting/index.d.ts +268 -473
- package/dist/types/meeting/locusMediaRequest.d.ts +75 -0
- package/dist/types/meeting/muteState.d.ts +53 -54
- package/dist/types/meeting/request.d.ts +61 -43
- package/dist/types/meeting/util.d.ts +93 -1
- package/dist/types/meeting-info/index.d.ts +6 -1
- package/dist/types/meeting-info/meeting-info-v2.d.ts +14 -3
- package/dist/types/meetings/index.d.ts +56 -11
- package/dist/types/meetings/meetings.types.d.ts +4 -0
- package/dist/types/member/index.d.ts +4 -1
- package/dist/types/member/types.d.ts +11 -0
- package/dist/types/members/request.d.ts +56 -11
- package/dist/types/members/util.d.ts +209 -1
- package/dist/types/metrics/constants.d.ts +1 -0
- package/dist/types/metrics/index.d.ts +4 -111
- package/dist/types/multistream/mediaRequestManager.d.ts +27 -10
- package/dist/types/multistream/receiveSlot.d.ts +3 -3
- package/dist/types/multistream/remoteMedia.d.ts +2 -2
- package/dist/types/multistream/remoteMediaManager.d.ts +14 -0
- package/dist/types/multistream/sendSlotManager.d.ts +61 -0
- package/dist/types/reachability/index.d.ts +6 -0
- package/dist/types/reachability/request.d.ts +3 -1
- package/dist/types/reconnection-manager/index.d.ts +2 -2
- package/dist/types/recording-controller/index.d.ts +15 -1
- package/dist/types/recording-controller/util.d.ts +5 -4
- package/dist/types/roap/request.d.ts +8 -8
- package/dist/types/roap/turnDiscovery.d.ts +18 -1
- package/dist/types/rtcMetrics/constants.d.ts +4 -0
- package/dist/types/rtcMetrics/index.d.ts +47 -0
- package/package.json +21 -20
- package/src/annotation/annotation.types.ts +50 -0
- package/src/annotation/constants.ts +36 -0
- package/src/annotation/index.ts +328 -0
- package/src/breakouts/README.md +3 -2
- package/src/breakouts/breakout.ts +62 -27
- package/src/breakouts/events.ts +56 -0
- package/src/breakouts/index.ts +244 -64
- package/src/breakouts/utils.ts +13 -0
- package/src/common/errors/webex-errors.ts +6 -2
- package/src/common/logs/logger-proxy.ts +1 -1
- package/src/common/queue.ts +22 -8
- package/src/config.ts +0 -6
- package/src/constants.ts +111 -19
- package/src/controls-options-manager/enums.ts +2 -0
- package/src/controls-options-manager/index.ts +13 -10
- package/src/controls-options-manager/types.ts +10 -0
- package/src/controls-options-manager/util.ts +82 -11
- package/src/index.ts +18 -11
- package/src/interpretation/README.md +60 -0
- package/src/interpretation/collection.ts +19 -0
- package/src/interpretation/index.ts +332 -0
- package/src/interpretation/siLanguage.ts +18 -0
- package/src/locus-info/controlsUtils.ts +81 -0
- package/src/locus-info/index.ts +318 -57
- package/src/locus-info/infoUtils.ts +10 -2
- package/src/locus-info/mediaSharesUtils.ts +48 -0
- package/src/locus-info/parser.ts +224 -39
- package/src/locus-info/selfUtils.ts +32 -20
- package/src/media/index.ts +94 -108
- package/src/media/properties.ts +69 -109
- package/src/meeting/in-meeting-actions.ts +120 -4
- package/src/meeting/index.ts +1967 -2120
- package/src/meeting/locusMediaRequest.ts +314 -0
- package/src/meeting/muteState.ts +119 -194
- package/src/meeting/request.ts +122 -115
- package/src/meeting/util.ts +549 -413
- package/src/meeting-info/index.ts +54 -8
- package/src/meeting-info/meeting-info-v2.ts +89 -24
- package/src/meeting-info/utilv2.ts +6 -2
- package/src/meetings/index.ts +247 -87
- package/src/meetings/meetings.types.ts +12 -0
- package/src/meetings/util.ts +47 -12
- package/src/member/index.ts +28 -1
- package/src/member/types.ts +14 -0
- package/src/member/util.ts +75 -26
- package/src/members/index.ts +7 -1
- package/src/members/request.ts +61 -21
- package/src/members/util.ts +316 -326
- package/src/metrics/constants.ts +1 -0
- package/src/metrics/index.ts +1 -474
- package/src/multistream/mediaRequestManager.ts +183 -67
- package/src/multistream/receiveSlot.ts +4 -4
- package/src/multistream/receiveSlotManager.ts +4 -4
- package/src/multistream/remoteMedia.ts +2 -2
- package/src/multistream/remoteMediaGroup.ts +59 -0
- package/src/multistream/remoteMediaManager.ts +33 -0
- package/src/multistream/sendSlotManager.ts +170 -0
- package/src/reachability/index.ts +15 -4
- package/src/reachability/request.ts +7 -3
- package/src/reconnection-manager/index.ts +36 -29
- package/src/recording-controller/index.ts +20 -3
- package/src/recording-controller/util.ts +26 -9
- package/src/roap/index.ts +25 -30
- package/src/roap/request.ts +44 -51
- package/src/roap/turnDiscovery.ts +51 -25
- package/src/rtcMetrics/constants.ts +3 -0
- package/src/rtcMetrics/index.ts +100 -0
- package/src/statsAnalyzer/index.ts +0 -1
- package/test/integration/spec/converged-space-meetings.js +60 -3
- package/test/integration/spec/journey.js +336 -259
- package/test/integration/spec/space-meeting.js +76 -3
- package/test/unit/spec/annotation/index.ts +418 -0
- package/test/unit/spec/breakouts/breakout.ts +85 -26
- package/test/unit/spec/breakouts/events.ts +89 -0
- package/test/unit/spec/breakouts/index.ts +636 -98
- package/test/unit/spec/breakouts/utils.js +19 -1
- package/test/unit/spec/common/queue.js +31 -2
- package/test/unit/spec/controls-options-manager/index.js +8 -1
- package/test/unit/spec/controls-options-manager/util.js +576 -397
- package/test/unit/spec/fixture/locus.js +1 -0
- package/test/unit/spec/interpretation/collection.ts +15 -0
- package/test/unit/spec/interpretation/index.ts +589 -0
- package/test/unit/spec/interpretation/siLanguage.ts +28 -0
- package/test/unit/spec/locus-info/controlsUtils.js +195 -1
- package/test/unit/spec/locus-info/index.js +950 -45
- package/test/unit/spec/locus-info/infoUtils.js +37 -15
- package/test/unit/spec/locus-info/mediaSharesUtils.ts +22 -0
- package/test/unit/spec/locus-info/parser.js +62 -22
- package/test/unit/spec/locus-info/selfConstant.js +19 -0
- package/test/unit/spec/locus-info/selfUtils.js +131 -26
- package/test/unit/spec/media/index.ts +82 -79
- package/test/unit/spec/meeting/in-meeting-actions.ts +60 -2
- package/test/unit/spec/meeting/index.js +3208 -1734
- package/test/unit/spec/meeting/locusMediaRequest.ts +443 -0
- package/test/unit/spec/meeting/muteState.js +328 -417
- package/test/unit/spec/meeting/request.js +393 -48
- package/test/unit/spec/meeting/utils.js +552 -76
- package/test/unit/spec/meeting-info/index.js +181 -0
- package/test/unit/spec/meeting-info/meetinginfov2.js +258 -20
- package/test/unit/spec/meeting-info/utilv2.js +21 -0
- package/test/unit/spec/meetings/index.js +631 -145
- package/test/unit/spec/meetings/utils.js +164 -9
- package/test/unit/spec/member/index.js +44 -14
- package/test/unit/spec/member/util.js +296 -155
- package/test/unit/spec/members/index.js +23 -3
- package/test/unit/spec/members/request.js +167 -35
- package/test/unit/spec/metrics/index.js +1 -50
- package/test/unit/spec/multistream/mediaRequestManager.ts +366 -8
- package/test/unit/spec/multistream/receiveSlot.ts +1 -1
- package/test/unit/spec/multistream/remoteMediaGroup.ts +266 -0
- package/test/unit/spec/multistream/remoteMediaManager.ts +123 -0
- package/test/unit/spec/multistream/sendSlotManager.ts +242 -0
- package/test/unit/spec/reachability/index.ts +66 -5
- package/test/unit/spec/reachability/request.js +3 -1
- package/test/unit/spec/reconnection-manager/index.js +55 -5
- package/test/unit/spec/recording-controller/index.js +294 -218
- package/test/unit/spec/recording-controller/util.js +223 -96
- package/test/unit/spec/roap/index.ts +21 -48
- package/test/unit/spec/roap/request.ts +74 -60
- package/test/unit/spec/roap/turnDiscovery.ts +30 -6
- package/test/unit/spec/rtcMetrics/index.ts +68 -0
- package/test/utils/integrationTestUtils.js +46 -0
- package/test/utils/testUtils.js +0 -60
- package/dist/common/browser-detection.d.ts +0 -9
- package/dist/common/collection.d.ts +0 -48
- package/dist/common/config.d.ts +0 -2
- package/dist/common/errors/captcha-error.d.ts +0 -15
- package/dist/common/errors/intent-to-join.d.ts +0 -16
- package/dist/common/errors/join-meeting.d.ts +0 -17
- package/dist/common/errors/media.d.ts +0 -15
- package/dist/common/errors/parameter.d.ts +0 -15
- package/dist/common/errors/password-error.d.ts +0 -15
- package/dist/common/errors/permission.d.ts +0 -14
- package/dist/common/errors/reconnection-in-progress.d.ts +0 -9
- package/dist/common/errors/reconnection.d.ts +0 -15
- package/dist/common/errors/stats.d.ts +0 -15
- package/dist/common/errors/webex-errors.d.ts +0 -81
- package/dist/common/errors/webex-meetings-error.d.ts +0 -20
- package/dist/common/events/events-scope.d.ts +0 -17
- package/dist/common/events/events.d.ts +0 -12
- package/dist/common/events/trigger-proxy.d.ts +0 -2
- package/dist/common/events/util.d.ts +0 -2
- package/dist/common/logs/logger-config.d.ts +0 -2
- package/dist/common/logs/logger-proxy.d.ts +0 -2
- package/dist/common/logs/request.d.ts +0 -34
- package/dist/common/queue.d.ts +0 -32
- package/dist/config.d.ts +0 -73
- package/dist/constants.d.ts +0 -924
- package/dist/controls-options-manager/constants.d.ts +0 -4
- package/dist/controls-options-manager/enums.d.ts +0 -5
- package/dist/controls-options-manager/index.d.ts +0 -120
- package/dist/controls-options-manager/util.d.ts +0 -7
- package/dist/docs/markdown/index.md +0 -12
- package/dist/docs/markdown/plugin-meetings.constants._active_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._answer_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._call_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._conflict_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._conversation_url_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._created_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._error_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._forced_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._id_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._idle_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._in_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._in_lobby_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._in_meeting_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._inactive_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._incoming_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._join_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._joined_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._left_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._locus_id_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._meeting_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._meeting_center_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._meeting_id_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._meeting_link_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._meeting_uuid_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._move_media_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._none_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._not_in_meeting_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._observe_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._people_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._personal_room_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._receive_only_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._remove_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._requested_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._resource_room_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._room_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._s_line.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._send_only_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._send_receive_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._sip_bridge_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._sip_uri_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._slides_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._unknown_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._user_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._wait_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants._webex_meeting_.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.alert.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.alternate_redirect_true.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.answer.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.api.md +0 -14
- package/dist/docs/markdown/plugin-meetings.constants.audio.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.audio_input.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.audio_status.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.available_resolutions.md +0 -60
- package/dist/docs/markdown/plugin-meetings.constants.bnr_status.md +0 -16
- package/dist/docs/markdown/plugin-meetings.constants.breakouts.md +0 -51
- package/dist/docs/markdown/plugin-meetings.constants.calendar.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.calendar_events.md +0 -17
- package/dist/docs/markdown/plugin-meetings.constants.calendar_events_api.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.call.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.call_removed_reason.md +0 -15
- package/dist/docs/markdown/plugin-meetings.constants.claim.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.cmr_meetings.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.complete.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.connection_state.md +0 -18
- package/dist/docs/markdown/plugin-meetings.constants.content.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.controls.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.conversation_service.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.conversation_url.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.correlation_id.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.decline.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.default_excluded_stats.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.default_get_stats_filter.md +0 -13
- package/dist/docs/markdown/plugin-meetings.constants.development.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.dialer_regex.md +0 -15
- package/dist/docs/markdown/plugin-meetings.constants.display_hints.md +0 -51
- package/dist/docs/markdown/plugin-meetings.constants.embedded_app_types.md +0 -14
- package/dist/docs/markdown/plugin-meetings.constants.end.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.ended.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.error.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.error_dictionary.md +0 -62
- package/dist/docs/markdown/plugin-meetings.constants.event_triggers.md +0 -82
- package/dist/docs/markdown/plugin-meetings.constants.event_types.md +0 -21
- package/dist/docs/markdown/plugin-meetings.constants.events.md +0 -26
- package/dist/docs/markdown/plugin-meetings.constants.floor_action.md +0 -15
- package/dist/docs/markdown/plugin-meetings.constants.full_state.md +0 -17
- package/dist/docs/markdown/plugin-meetings.constants.gathering.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.hecate.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.host.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.http_verbs.md +0 -17
- package/dist/docs/markdown/plugin-meetings.constants.https_protocol.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.ice_fail_timeout.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.ice_gathering_state.md +0 -15
- package/dist/docs/markdown/plugin-meetings.constants.ice_state.md +0 -18
- package/dist/docs/markdown/plugin-meetings.constants.ice_timeout.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.intent_to_join.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.ipv4_regex.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.join.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.layout_types.md +0 -13
- package/dist/docs/markdown/plugin-meetings.constants.leave.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.live.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.local.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.loci.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.locus.md +0 -26
- package/dist/docs/markdown/plugin-meetings.constants.locus_url.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.locusevent.md +0 -33
- package/dist/docs/markdown/plugin-meetings.constants.locusinfo.md +0 -43
- package/dist/docs/markdown/plugin-meetings.constants.max_random_delay_for_meeting_info.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.md +0 -186
- package/dist/docs/markdown/plugin-meetings.constants.media.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.media_devices.md +0 -15
- package/dist/docs/markdown/plugin-meetings.constants.media_peer_connection_name.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.media_state.md +0 -14
- package/dist/docs/markdown/plugin-meetings.constants.media_track_constraint.md +0 -17
- package/dist/docs/markdown/plugin-meetings.constants.mediacontent.md +0 -14
- package/dist/docs/markdown/plugin-meetings.constants.meet.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.meet_m.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.meeting_audio_state_machine.md +0 -20
- package/dist/docs/markdown/plugin-meetings.constants.meeting_end_reason.md +0 -14
- package/dist/docs/markdown/plugin-meetings.constants.meeting_errors.md +0 -102
- package/dist/docs/markdown/plugin-meetings.constants.meeting_info_failure_reason.md +0 -16
- package/dist/docs/markdown/plugin-meetings.constants.meeting_removed_reason.md +0 -19
- package/dist/docs/markdown/plugin-meetings.constants.meeting_state.md +0 -25
- package/dist/docs/markdown/plugin-meetings.constants.meeting_state_machine.md +0 -31
- package/dist/docs/markdown/plugin-meetings.constants.meeting_video_state_machine.md +0 -20
- package/dist/docs/markdown/plugin-meetings.constants.meetinginfo.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.meetings.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.metrics_join_times_max_duration.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.moderator_false.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.moderator_true.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.mqa_inteval.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.mqa_stats.md +0 -82
- package/dist/docs/markdown/plugin-meetings.constants.network_status.md +0 -15
- package/dist/docs/markdown/plugin-meetings.constants.network_type.md +0 -16
- package/dist/docs/markdown/plugin-meetings.constants.offline.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.online.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.participant.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.participant_deltas.md +0 -22
- package/dist/docs/markdown/plugin-meetings.constants.password_status.md +0 -16
- package/dist/docs/markdown/plugin-meetings.constants.pc_bail_timeout.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.peer_connection_state.md +0 -14
- package/dist/docs/markdown/plugin-meetings.constants.provisional_type_dial_in.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.provisional_type_dial_out.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.pstn_status.md +0 -18
- package/dist/docs/markdown/plugin-meetings.constants.quality_levels.md +0 -19
- package/dist/docs/markdown/plugin-meetings.constants.reachability.md +0 -15
- package/dist/docs/markdown/plugin-meetings.constants.ready.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.reconnection.md +0 -19
- package/dist/docs/markdown/plugin-meetings.constants.recording_state.md +0 -16
- package/dist/docs/markdown/plugin-meetings.constants.remote.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.resource.md +0 -15
- package/dist/docs/markdown/plugin-meetings.constants.retry_timeout.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.roap.md +0 -22
- package/dist/docs/markdown/plugin-meetings.constants.self_roles.md +0 -14
- package/dist/docs/markdown/plugin-meetings.constants.send_dtmf_endpoint.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.sendrecv.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.share.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.share_peer_connection_name.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.share_status.md +0 -16
- package/dist/docs/markdown/plugin-meetings.constants.share_stopped_reason.md +0 -14
- package/dist/docs/markdown/plugin-meetings.constants.sip_uri.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.stats.md +0 -16
- package/dist/docs/markdown/plugin-meetings.constants.type.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.use_uri_lookup_false.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.uuid_reg.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.valid_email_address.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.valid_pin.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.valid_pmr_address.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.valid_pmr_link.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.video.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.video_input.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.video_resolutions.md +0 -24
- package/dist/docs/markdown/plugin-meetings.constants.video_status.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.wbxappapi_service.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.webex_dot_com.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.whiteboard.md +0 -11
- package/dist/docs/markdown/plugin-meetings.constants.www_dot.md +0 -11
- package/dist/docs/markdown/plugin-meetings.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default._constructor_.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.acknowledge.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.addmedia.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.admit.md +0 -32
- package/dist/docs/markdown/plugin-meetings.meeting.default.attrs.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.audio.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.breakouts.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.callevents.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.cancelphoneinvite.md +0 -30
- package/dist/docs/markdown/plugin-meetings.meeting.default.canupdatemedia.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meeting.default.changevideolayout.md +0 -38
- package/dist/docs/markdown/plugin-meetings.meeting.default.clearmeetingdata.md +0 -13
- package/dist/docs/markdown/plugin-meetings.meeting.default.closelocalshare.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.closelocalstream.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.closepeerconnections.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.closeremotestream.md +0 -26
- package/dist/docs/markdown/plugin-meetings.meeting.default.closeremotetracks.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meeting.default.controlsoptionsmanager.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.conversationurl.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.correlationid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.createmediaconnection.md +0 -26
- package/dist/docs/markdown/plugin-meetings.meeting.default.decline.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.deferjoin.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.destination.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.destinationtype.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.deviceurl.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.dialindevicestatus.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.dialinurl.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.dialoutdevicestatus.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.dialouturl.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.disconnectphoneaudio.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meeting.default.endcallinitiatejoinreq.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.endjoinreqresp.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.endlocalsdpgenremotesdprecvdelay.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.endmeetingforall.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.fetchmeetinginfo.md +0 -29
- package/dist/docs/markdown/plugin-meetings.meeting.default.fetchmeetinginfotimeoutid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.floorgrantpending.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.forwardevent.md +0 -29
- package/dist/docs/markdown/plugin-meetings.meeting.default.getanalyzermetricsprepayload.md +0 -32
- package/dist/docs/markdown/plugin-meetings.meeting.default.getcallinitiatejoinreq.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meeting.default.getdevices.md +0 -13
- package/dist/docs/markdown/plugin-meetings.meeting.default.getjoinreqresp.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meeting.default.getlocalsdpgenremotesdprecvdelay.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meeting.default.getmediaconnectiondebugid.md +0 -15
- package/dist/docs/markdown/plugin-meetings.meeting.default.getmediastreams.md +0 -15
- package/dist/docs/markdown/plugin-meetings.meeting.default.getmembers.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.getsendingmediadelayduration.md +0 -24
- package/dist/docs/markdown/plugin-meetings.meeting.default.getsetupdelayduration.md +0 -24
- package/dist/docs/markdown/plugin-meetings.meeting.default.getsupporteddevices.md +0 -16
- package/dist/docs/markdown/plugin-meetings.meeting.default.gettotaljmt.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meeting.default.guest.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.handledatachannelurlchange.md +0 -26
- package/dist/docs/markdown/plugin-meetings.meeting.default.handleroapfailure.md +0 -13
- package/dist/docs/markdown/plugin-meetings.meeting.default.hasjoinedonce.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.haswebsocketconnected.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.hostid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.id.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.inmeetingactions.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.invite.md +0 -33
- package/dist/docs/markdown/plugin-meetings.meeting.default.isaudioconnected.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.isaudiomuted.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.isaudioself.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.islocalsharelive.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.ismultistream.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.isreactionssupported.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meeting.default.isroapinprogress.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.issharing.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.istranscriptionsupported.md +0 -23
- package/dist/docs/markdown/plugin-meetings.meeting.default.isvideoconnected.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.isvideomuted.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.isvideoself.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.join.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.joinedwith.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.joinwithmedia.md +0 -36
- package/dist/docs/markdown/plugin-meetings.meeting.default.keepalivetimerid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.lastvideolayoutinfo.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.leave.md +0 -31
- package/dist/docs/markdown/plugin-meetings.meeting.default.lockmeeting.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.locusid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.locusinfo.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.locusurl.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.md +0 -227
- package/dist/docs/markdown/plugin-meetings.meeting.default.mediaconnections.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.mediaid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.medianegotiatedevent.md +0 -13
- package/dist/docs/markdown/plugin-meetings.meeting.default.mediaproperties.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.mediarequestmanagers.md +0 -16
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetingfinitestatemachine.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetinginfo.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetinginfofailurereason.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetingjoinurl.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetingnumber.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetingrequest.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.meetingstate.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.members.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.movefrom.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.moveto.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.mute.md +0 -29
- package/dist/docs/markdown/plugin-meetings.meeting.default.muteaudio.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.mutevideo.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.namespace.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.networkqualitymonitor.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.networkstatus.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.options.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.orgid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.owner.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.parsemeetinginfo.md +0 -34
- package/dist/docs/markdown/plugin-meetings.meeting.default.partner.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.passwordstatus.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.pauserecording.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.permissiontoken.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.policy.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.processnextqueuedmediaupdate.md +0 -13
- package/dist/docs/markdown/plugin-meetings.meeting.default.publishtracks.md +0 -33
- package/dist/docs/markdown/plugin-meetings.meeting.default.queuedmediaupdates.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.receiveslotmanager.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.reconnect.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.reconnectionmanager.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.recording.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.recordingcontroller.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.refreshcaptcha.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.remotemediamanager.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.remove.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.requiredcaptcha.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.resource.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.resourceid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.resourceurl.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.resumerecording.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.roap.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.roapseq.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.selfid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.senddtmf.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.sendreaction.md +0 -29
- package/dist/docs/markdown/plugin-meetings.meeting.default.setdisallowunmute.md +0 -26
- package/dist/docs/markdown/plugin-meetings.meeting.default.setendcallinitiatejoinreq.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meeting.default.setendjoinreqresp.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meeting.default.setendlocalsdpgenremotesdprecvdelay.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meeting.default.setendsendingmediadelay.md +0 -24
- package/dist/docs/markdown/plugin-meetings.meeting.default.setendsetupdelay.md +0 -24
- package/dist/docs/markdown/plugin-meetings.meeting.default.setlocalsharetrack.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.setlocaltracks.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.setlocalvideoquality.md +0 -26
- package/dist/docs/markdown/plugin-meetings.meeting.default.setmeetingquality.md +0 -31
- package/dist/docs/markdown/plugin-meetings.meeting.default.setmercurylistener.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.setmuteall.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.setmuteonentry.md +0 -26
- package/dist/docs/markdown/plugin-meetings.meeting.default.setremotequalitylevel.md +0 -26
- package/dist/docs/markdown/plugin-meetings.meeting.default.setsipuri.md +0 -26
- package/dist/docs/markdown/plugin-meetings.meeting.default.setstartcallinitiatejoinreq.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meeting.default.setstartjoinreqresp.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meeting.default.setstartlocalsdpgenremotesdprecvdelay.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meeting.default.setstartsendingmediadelay.md +0 -24
- package/dist/docs/markdown/plugin-meetings.meeting.default.setstartsetupdelay.md +0 -24
- package/dist/docs/markdown/plugin-meetings.meeting.default.setupbreakoutslistener.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meeting.default.setupmediaconnectionlisteners.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.setupstatsanalyzereventhandlers.md +0 -13
- package/dist/docs/markdown/plugin-meetings.meeting.default.sharescreen.md +0 -32
- package/dist/docs/markdown/plugin-meetings.meeting.default.sharestatus.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.sipuri.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.startcallinitiatejoinreq.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.startjoinreqresp.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.startkeepalive.md +0 -13
- package/dist/docs/markdown/plugin-meetings.meeting.default.startlocalsdpgenremotesdprecvdelay.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.startrecording.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.startwhiteboardshare.md +0 -29
- package/dist/docs/markdown/plugin-meetings.meeting.default.state.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.statsanalyzer.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.stopkeepalive.md +0 -13
- package/dist/docs/markdown/plugin-meetings.meeting.default.stopreceivingtranscription.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meeting.default.stoprecording.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.stopshare.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.stopwhiteboardshare.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.togglereactions.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.transcription.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.transfer.md +0 -29
- package/dist/docs/markdown/plugin-meetings.meeting.default.type.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.unlockmeeting.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.unmuteaudio.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.unmutevideo.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.unpublishtracks.md +0 -26
- package/dist/docs/markdown/plugin-meetings.meeting.default.unsetlocalsharetrack.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.unsetlocalvideotrack.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.unsetpeerconnections.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meeting.default.unsetremotestream.md +0 -26
- package/dist/docs/markdown/plugin-meetings.meeting.default.unsetremotetracks.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meeting.default.updateaudio.md +0 -34
- package/dist/docs/markdown/plugin-meetings.meeting.default.updatellmconnection.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meeting.default.updatemedia.md +0 -32
- package/dist/docs/markdown/plugin-meetings.meeting.default.updatemediaconnections.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.updateshare.md +0 -35
- package/dist/docs/markdown/plugin-meetings.meeting.default.updatevideo.md +0 -34
- package/dist/docs/markdown/plugin-meetings.meeting.default.uploadlogs.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.usephoneaudio.md +0 -28
- package/dist/docs/markdown/plugin-meetings.meeting.default.userid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.verifypassword.md +0 -35
- package/dist/docs/markdown/plugin-meetings.meeting.default.video.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.default.wirelessshare.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meeting.md +0 -18
- package/dist/docs/markdown/plugin-meetings.meeting.media_update_type.md +0 -17
- package/dist/docs/markdown/plugin-meetings.meetings._constructor_.md +0 -22
- package/dist/docs/markdown/plugin-meetings.meetings.create.md +0 -30
- package/dist/docs/markdown/plugin-meetings.meetings.fetchuserpreferredwebexsite.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meetings.geohintinfo.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.getallmeetings.md +0 -31
- package/dist/docs/markdown/plugin-meetings.meetings.getgeohint.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meetings.getlogger.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meetings.getmeetingbytype.md +0 -29
- package/dist/docs/markdown/plugin-meetings.meetings.getpersonalmeetingroom.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meetings.getreachability.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meetings.getscheduledmeetings.md +0 -19
- package/dist/docs/markdown/plugin-meetings.meetings.loggerrequest.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.md +0 -57
- package/dist/docs/markdown/plugin-meetings.meetings.media.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.meetingcollection.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.meetinginfo.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.namespace.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.personalmeetingroom.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.preferredwebexsite.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.reachability.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.register.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meetings.registered.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.request.md +0 -11
- package/dist/docs/markdown/plugin-meetings.meetings.setreachability.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meetings.startreachability.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meetings.syncmeetings.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meetings.unregister.md +0 -21
- package/dist/docs/markdown/plugin-meetings.meetings.uploadlogs.md +0 -34
- package/dist/docs/markdown/plugin-meetings.reactions.md +0 -13
- package/dist/docs/markdown/plugin-meetings.reactions.reactions.md +0 -11
- package/dist/docs/markdown/plugin-meetings.reactions.skintones.md +0 -11
- package/dist/docs/markdown/plugin-meetings.remotemedia.getmaxfs.md +0 -26
- package/dist/docs/markdown/plugin-meetings.remotemedia.md +0 -31
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia._constructor_.md +0 -22
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.csi.md +0 -13
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.id.md +0 -11
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.md +0 -40
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.mediatype.md +0 -13
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.memberid.md +0 -13
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.setsizehint.md +0 -25
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.sourcestate.md +0 -13
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemedia.stream.md +0 -13
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemediaevents.md +0 -14
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotemediaid.md +0 -11
- package/dist/docs/markdown/plugin-meetings.remotemedia.remotevideoresolution.md +0 -11
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.md +0 -12
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup._constructor_.md +0 -24
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.getremotemedia.md +0 -26
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.includes.md +0 -27
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.ispinned.md +0 -22
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.md +0 -28
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.pin.md +0 -25
- package/dist/docs/markdown/plugin-meetings.remotemediagroup.remotemediagroup.unpin.md +0 -24
- package/dist/docs/markdown/plugin-meetings.triggerproxy.md +0 -11
- package/dist/docs/metadata/index.api.json +0 -14144
- package/dist/docs/metadata/index.api.md +0 -2075
- package/dist/docs/metadata/index.d.ts +0 -5594
- package/dist/index.d.ts +0 -4
- package/dist/locus-info/controlsUtils.d.ts +0 -2
- package/dist/locus-info/embeddedAppsUtils.d.ts +0 -2
- package/dist/locus-info/fullState.d.ts +0 -2
- package/dist/locus-info/hostUtils.d.ts +0 -2
- package/dist/locus-info/index.d.ts +0 -269
- package/dist/locus-info/infoUtils.d.ts +0 -2
- package/dist/locus-info/mediaSharesUtils.d.ts +0 -2
- package/dist/locus-info/parser.d.ts +0 -212
- package/dist/locus-info/selfUtils.d.ts +0 -2
- package/dist/media/index.d.ts +0 -32
- package/dist/media/properties.d.ts +0 -108
- package/dist/media/util.d.ts +0 -2
- package/dist/mediaQualityMetrics/config.d.ts +0 -233
- package/dist/meeting/effectsState.d.ts +0 -42
- package/dist/meeting/effectsState.js +0 -260
- package/dist/meeting/effectsState.js.map +0 -1
- package/dist/meeting/in-meeting-actions.d.ts +0 -79
- package/dist/meeting/index.d.ts +0 -1621
- package/dist/meeting/muteState.d.ts +0 -116
- package/dist/meeting/request.d.ts +0 -255
- package/dist/meeting/state.d.ts +0 -9
- package/dist/meeting/util.d.ts +0 -2
- package/dist/meeting-info/collection.d.ts +0 -20
- package/dist/meeting-info/index.d.ts +0 -57
- package/dist/meeting-info/meeting-info-v2.d.ts +0 -93
- package/dist/meeting-info/request.d.ts +0 -22
- package/dist/meeting-info/util.d.ts +0 -2
- package/dist/meeting-info/utilv2.d.ts +0 -2
- package/dist/meetings/collection.d.ts +0 -23
- package/dist/meetings/index.d.ts +0 -298
- package/dist/meetings/request.d.ts +0 -27
- package/dist/meetings/util.d.ts +0 -18
- package/dist/member/index.d.ts +0 -145
- package/dist/member/util.d.ts +0 -2
- package/dist/members/collection.d.ts +0 -24
- package/dist/members/index.d.ts +0 -298
- package/dist/members/request.d.ts +0 -50
- package/dist/members/util.d.ts +0 -2
- package/dist/metrics/config.d.ts +0 -169
- package/dist/metrics/config.js +0 -291
- package/dist/metrics/config.js.map +0 -1
- package/dist/metrics/constants.d.ts +0 -57
- package/dist/metrics/index.d.ts +0 -152
- package/dist/networkQualityMonitor/index.d.ts +0 -70
- package/dist/peer-connection-manager/index.d.ts +0 -6
- package/dist/peer-connection-manager/index.js +0 -671
- package/dist/peer-connection-manager/index.js.map +0 -1
- package/dist/peer-connection-manager/util.d.ts +0 -6
- package/dist/peer-connection-manager/util.js +0 -110
- package/dist/peer-connection-manager/util.js.map +0 -1
- package/dist/personal-meeting-room/index.d.ts +0 -47
- package/dist/personal-meeting-room/request.d.ts +0 -14
- package/dist/personal-meeting-room/util.d.ts +0 -2
- package/dist/plugin-meetings.d.ts +0 -5399
- package/dist/reachability/index.d.ts +0 -139
- package/dist/reachability/request.d.ts +0 -35
- package/dist/reactions/reactions.d.ts +0 -4
- package/dist/reactions/reactions.type.d.ts +0 -32
- package/dist/reconnection-manager/index.d.ts +0 -112
- package/dist/recording-controller/enums.d.ts +0 -7
- package/dist/recording-controller/index.d.ts +0 -193
- package/dist/recording-controller/util.d.ts +0 -13
- package/dist/roap/collection.d.ts +0 -10
- package/dist/roap/collection.js +0 -63
- package/dist/roap/collection.js.map +0 -1
- package/dist/roap/handler.d.ts +0 -47
- package/dist/roap/handler.js +0 -279
- package/dist/roap/handler.js.map +0 -1
- package/dist/roap/index.d.ts +0 -116
- package/dist/roap/request.d.ts +0 -35
- package/dist/roap/state.d.ts +0 -9
- package/dist/roap/state.js +0 -127
- package/dist/roap/state.js.map +0 -1
- package/dist/roap/turnDiscovery.d.ts +0 -67
- package/dist/roap/util.d.ts +0 -2
- package/dist/roap/util.js +0 -76
- package/dist/roap/util.js.map +0 -1
- package/dist/statsAnalyzer/global.d.ts +0 -126
- package/dist/statsAnalyzer/index.d.ts +0 -190
- package/dist/statsAnalyzer/mqaUtil.d.ts +0 -22
- package/dist/transcription/index.d.ts +0 -64
- package/dist/types/meeting/effectsState.d.ts +0 -42
- package/dist/types/metrics/config.d.ts +0 -171
- package/dist/types/tsdoc-metadata.json +0 -11
- package/src/metrics/config.ts +0 -487
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["Breakouts","WebexPlugin","extend","namespace","MEETINGS","breakoutRequest","BreakoutRequest","collections","breakouts","BreakoutCollection","props","allowBackToMain","delayCloseTime","enableBreakoutSession","hasBreakoutPreAssignments","groupId","name","sessionId","sessionType","startTime","status","url","locusUrl","breakoutServiceUrl","mainLocusUrl","groups","shouldFetchPreassignments","editLock","intervalID","meetingId","children","currentBreakoutSession","Breakout","derived","isInMainSession","deps","fn","BREAKOUTS","SESSION_TYPES","MAIN","isActiveBreakout","BREAKOUT","STATUS","OPEN","CLOSING","breakoutGroupId","length","id","initialize","listenTo","trigger","EVENTS","BREAKOUTS_CLOSING","debouncedQueryRosters","queryRosters","leading","trailing","listenToBroadcastMessages","listenToBreakoutRosters","webex","cleanUp","stopListening","locusUrlUpdate","set","breakoutServiceUrlUpdate","request","uri","qs","btoa","then","result","rosters","body","forEach","locus","handleRosterUpdate","MEMBERS_UPDATE","catch","error","LoggerProxy","logger","controls","breakout","session","get","parseRoster","internal","llm","event","data","senderUserId","sentTime","message","MESSAGE","mercury","updateBreakout","params","preEnableBreakoutSession","current","SESSION_STATES","ACTIVE","ALLOWED","ASSIGNED_CURRENT","REQUESTED","queryPreAssignments","updateBreakoutSessions","payload","breakoutSessions","state","ASSIGNED","getMainSession","mainSession","filter","isMain","Error","askAllToReturn","method","HTTP_VERBS","POST","broadcast","options","enableBreakouts","err","reject","toggleBreakout","enable","undefined","info","doToggleBreakout","token","editlock","PUT","create","sessions","boServiceErrorHandler","breakInfo","_clearEditLockInfo","resolve","clearSessions","action","ACTION","DELETE","start","START","allowToJoinLater","duration","DEFAULT_DURATION","refresh","end","CLOSE","update","getBreakout","GET","keepEditLockAlive","enableAndLockBreakout","lockBreakout","EDIT_LOCK_STATUS","LOCKED","ttl","DEFAULT_TTL","window","clearInterval","setInterval","unLockEditBreakout","assign","internalSessions","map","item","assigned","memberIds","assignedEmails","emails","anyoneCanJoin","anyone","dynamicAssign","updatedSessions","participants","targetState"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport {debounce, forEach} from 'lodash';\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nimport {BREAKOUTS, MEETINGS, HTTP_VERBS} from '../constants';\n\nimport Breakout from './breakout';\nimport BreakoutCollection from './collection';\nimport BreakoutRequest from './request';\nimport {boServiceErrorHandler} from './utils';\n\n/**\n * @class Breakouts\n */\nconst Breakouts = WebexPlugin.extend({\n namespace: MEETINGS,\n breakoutRequest: BreakoutRequest,\n collections: {\n breakouts: BreakoutCollection,\n },\n\n props: {\n allowBackToMain: 'boolean', // only present when in a breakout session\n delayCloseTime: 'number', // appears once breakouts start\n enableBreakoutSession: 'boolean', // appears from the moment you enable breakouts\n hasBreakoutPreAssignments: 'boolean', // appears from the moment you enable breakouts\n groupId: 'string', // appears from the moment you enable breakouts\n name: 'string', // only present when in a breakout session\n sessionId: 'string', // appears from the moment you enable breakouts\n sessionType: 'string', // appears from the moment you enable breakouts\n startTime: 'string', // appears once breakouts start\n status: 'string', // only present when in a breakout session\n url: 'string', // appears from the moment you enable breakouts\n locusUrl: 'string', // the current locus url\n breakoutServiceUrl: 'string', // the current breakout resource url\n mainLocusUrl: 'string', // the locus url of the main session\n groups: 'array', // appears when create breakouts\n shouldFetchPreassignments: 'boolean', // Controlling the lifecycle of the pre-assign API\n editLock: 'object', // appears when getBreakout info editlock = true\n intervalID: 'number',\n meetingId: 'string',\n },\n children: {\n currentBreakoutSession: Breakout,\n },\n\n derived: {\n isInMainSession: {\n deps: ['sessionType'],\n /**\n * Returns true if the user is in the main session\n * @returns {boolean}\n */\n fn() {\n return this.sessionType === BREAKOUTS.SESSION_TYPES.MAIN;\n },\n },\n isActiveBreakout: {\n deps: ['sessionType', 'status'],\n /**\n * Returns true if the breakout status is active\n * @returns {boolean}\n */\n fn() {\n return (\n this.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT &&\n (this.status === BREAKOUTS.STATUS.OPEN || this.status === BREAKOUTS.STATUS.CLOSING)\n );\n },\n },\n breakoutGroupId: {\n deps: ['groups'],\n /**\n * Returns the actived group id\n * @returns {boolean}\n */\n fn() {\n if (this.groups?.length) {\n return this.groups[0].id;\n }\n\n return '';\n },\n },\n },\n\n /**\n * initialize for the breakouts\n * @returns {void}\n */\n initialize() {\n this.listenTo(this, 'change:status', () => {\n if (this.status === BREAKOUTS.STATUS.CLOSING) {\n this.trigger(BREAKOUTS.EVENTS.BREAKOUTS_CLOSING);\n }\n });\n this.debouncedQueryRosters = debounce(this.queryRosters, 10, {\n leading: true,\n trailing: false,\n });\n this.listenTo(this.breakouts, 'add', () => {\n this.debouncedQueryRosters();\n });\n this.listenToBroadcastMessages();\n this.listenToBreakoutRosters();\n // @ts-ignore\n this.breakoutRequest = new BreakoutRequest({webex: this.webex});\n },\n\n /**\n * Calls this to clean up listeners\n * @returns {void}\n */\n cleanUp() {\n this.stopListening();\n },\n\n /**\n * Update the current locus url of the meeting\n * @param {string} locusUrl // locus url\n * @returns {void}\n */\n locusUrlUpdate(locusUrl) {\n this.set('locusUrl', locusUrl);\n const {isInMainSession, mainLocusUrl} = this;\n if (isInMainSession || !mainLocusUrl) {\n this.set('mainLocusUrl', locusUrl);\n }\n },\n\n /**\n * Update the current breakout resource url\n * @param {string} breakoutServiceUrl\n * @returns {void}\n */\n breakoutServiceUrlUpdate(breakoutServiceUrl) {\n this.set('breakoutServiceUrl', `${breakoutServiceUrl}/breakout/`);\n },\n\n /**\n * The initial roster lists need to be queried because you don't\n * get a breakout.roster event when you join the meeting\n * @returns {void}\n */\n queryRosters() {\n this.webex\n .request({uri: `${this.url}/roster`, qs: {locusUrl: btoa(this.locusUrl)}})\n .then((result) => {\n const {\n body: {rosters},\n } = result;\n\n rosters?.forEach(({locus}) => {\n this.handleRosterUpdate(locus);\n });\n\n this.trigger(BREAKOUTS.EVENTS.MEMBERS_UPDATE);\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:breakouts#queryRosters failed', error);\n });\n },\n\n /**\n *\n * @param {Object} locus // locus object\n * @returns {void}\n */\n handleRosterUpdate(locus) {\n const sessionId = locus.controls?.breakout?.sessionId;\n\n const session = this.breakouts.get(sessionId);\n\n if (!session) {\n return;\n }\n\n session.parseRoster(locus);\n },\n\n /**\n * Sets up listener for broadcast messages sent to the breakout session\n * @returns {void}\n */\n listenToBroadcastMessages() {\n this.listenTo(this.webex.internal.llm, 'event:breakout.message', (event) => {\n const {\n data: {senderUserId, sentTime, message},\n } = event;\n\n this.trigger(BREAKOUTS.EVENTS.MESSAGE, {\n senderUserId,\n sentTime,\n message,\n // FIXME: This is only the current sessionId\n // We'd need to check that the dataChannelUrl is still the same\n // to guarantee that this message was sent to this session\n sessionId: this.currentBreakoutSession.sessionId,\n });\n });\n },\n\n /**\n * Sets up a listener for roster messags from mecury\n * @returns {void}\n */\n listenToBreakoutRosters() {\n this.listenTo(this.webex.internal.mercury, 'event:breakout.roster', (event) => {\n this.handleRosterUpdate(event.data.locus);\n this.trigger(BREAKOUTS.EVENTS.MEMBERS_UPDATE);\n });\n },\n\n /**\n * Updates the information about the current breakout\n * @param {Object} params\n * @returns {void}\n */\n updateBreakout(params) {\n const preEnableBreakoutSession = this.get('enableBreakoutSession');\n this.set(params);\n this.set('groups', params.groups);\n\n this.set('currentBreakoutSession', {\n sessionId: params.sessionId,\n groupId: params.groupId,\n name: params.name,\n current: true,\n sessionType: params.sessionType,\n url: params.url,\n [BREAKOUTS.SESSION_STATES.ACTIVE]: false,\n [BREAKOUTS.SESSION_STATES.ALLOWED]: false,\n [BREAKOUTS.SESSION_STATES.ALLOWED]: false,\n [BREAKOUTS.SESSION_STATES.ASSIGNED_CURRENT]: false,\n [BREAKOUTS.SESSION_STATES.REQUESTED]: false,\n });\n\n // We need to call queryPreAssignments when enableBreakoutSession become true\n if (\n params.enableBreakoutSession &&\n params.hasBreakoutPreAssignments &&\n preEnableBreakoutSession !== params.enableBreakoutSession\n ) {\n this.queryPreAssignments();\n }\n },\n\n /**\n * Updates the information about available breakouts\n * @param {Object} payload\n * @returns {void}\n */\n updateBreakoutSessions(payload) {\n const breakouts = {};\n\n if (payload.breakoutSessions) {\n forEach(BREAKOUTS.SESSION_STATES, (state) => {\n forEach(payload.breakoutSessions[state], (breakout) => {\n const {sessionId} = breakout;\n\n if (!breakouts[sessionId]) {\n breakouts[sessionId] = breakout;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.ACTIVE] = false;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.ASSIGNED] = false;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.ALLOWED] = false;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.ASSIGNED_CURRENT] = false;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.REQUESTED] = false;\n }\n\n breakouts[sessionId][state] = true;\n });\n });\n }\n\n forEach(breakouts, (breakout: typeof Breakout) => {\n // eslint-disable-next-line no-param-reassign\n breakout.url = this.url;\n });\n\n this.breakouts.set(Object.values(breakouts));\n },\n /**\n * get main session\n * @returns {Breakout}\n */\n getMainSession() {\n if (this.isInMainSession) {\n return this.currentBreakoutSession;\n }\n\n const mainSession = this.breakouts.filter((breakout) => breakout.isMain)[0];\n if (!mainSession) {\n throw new Error('no main session found');\n }\n\n return mainSession;\n },\n /**\n * Host/CoHost ask all participants return to main session\n * @returns {Promise}\n */\n askAllToReturn() {\n const mainSession = this.getMainSession();\n\n return this.webex.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/requestMove`,\n body: {\n groupId: mainSession.groupId,\n sessionId: mainSession.sessionId,\n },\n });\n },\n\n /**\n * Broadcast message to all breakout session's participants\n * @param {String} message\n * @param {Object} options\n * @returns {Promise}\n */\n broadcast(message, options) {\n const {breakoutGroupId} = this;\n if (!breakoutGroupId) {\n throw new Error('Cannot broadcast, no breakout session found');\n }\n\n return this.breakoutRequest.broadcast({\n url: this.url,\n message,\n options,\n groupId: breakoutGroupId,\n });\n },\n /**\n * Make enable breakout resource\n * @returns {Promise}\n */\n enableBreakouts() {\n if (this.breakoutServiceUrl) {\n // @ts-ignore\n return this.webex\n .request({\n method: HTTP_VERBS.POST,\n uri: this.breakoutServiceUrl,\n body: {\n locusUrl: this.locusUrl,\n },\n })\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:request#touchBreakout --> Error provisioning error ${err}`\n );\n throw err;\n });\n }\n\n return Promise.reject(new Error(`enableBreakouts: the breakoutServiceUrl is empty`));\n },\n\n /**\n * Make the meeting enable or disable breakout session\n * @param {boolean} enable\n * @returns {Promise}\n */\n async toggleBreakout(enable) {\n if (this.enableBreakoutSession === undefined) {\n const info = await this.enableBreakouts();\n if (!enable) {\n // if enable is false, updateBreakout set the param then set enableBreakoutSession as false\n this.updateBreakout(info.body);\n await this.doToggleBreakout(enable);\n }\n } else {\n await this.doToggleBreakout(enable);\n }\n },\n\n /**\n * do toggle meeting breakout session enable or disable\n * @param {boolean} enable\n * @returns {Promise}\n */\n doToggleBreakout(enable) {\n const body = {\n ...(this.editLock && !!this.editLock.token ? {editlock: {token: this.editLock.token}} : {}),\n ...{enableBreakoutSession: enable},\n };\n\n // @ts-ignore\n return this.webex.request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body,\n });\n },\n\n /**\n * Create new breakout sessions\n * @param {object} sessions -- breakout session group\n * @returns {Promise}\n */\n async create(sessions) {\n const body = {\n ...(this.editLock && !!this.editLock.token ? {editlock: {token: this.editLock.token}} : {}),\n ...{groups: [{sessions}]},\n };\n // @ts-ignore\n const breakInfo = await this.webex\n .request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body,\n })\n .catch((error) => {\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#create'));\n });\n\n if (breakInfo.body?.groups) {\n this.set('groups', breakInfo.body.groups);\n }\n\n // clear edit lock info after save breakout session info\n this._clearEditLockInfo();\n\n return Promise.resolve(breakInfo);\n },\n\n /**\n * Delete all breakout sessions\n * @returns {Promise}\n */\n async clearSessions() {\n const body = {\n ...(this.editLock && !!this.editLock.token ? {editlock: {token: this.editLock.token}} : {}),\n ...{groups: [{action: BREAKOUTS.ACTION.DELETE}]},\n };\n // @ts-ignore\n const breakInfo = await this.webex\n .request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body,\n })\n .catch((error) => {\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#clearSessions'));\n });\n\n if (breakInfo.body?.groups) {\n this.set('groups', breakInfo.body.groups);\n }\n this.shouldFetchPreassignments = false;\n\n return Promise.resolve(breakInfo);\n },\n\n /**\n * Host or cohost starts breakout sessions\n * @param {object} params\n * @returns {Promise}\n */\n start(params = {}) {\n const action = BREAKOUTS.ACTION.START;\n const payload = {\n id: this.breakoutGroupId,\n action,\n allowBackToMain: false,\n allowToJoinLater: false,\n duration: BREAKOUTS.DEFAULT_DURATION,\n ...params,\n };\n\n const body = {\n ...(this.editLock && !!this.editLock.token\n ? {editlock: {token: this.editLock.token, refresh: true}}\n : {}),\n ...{groups: [payload]},\n };\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body,\n }).catch((error) => {\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#start'));\n });\n },\n\n /**\n * Host or cohost ends breakout sessions\n * @param {object} params\n * @returns {Promise}\n */\n end(params = {}) {\n const {delayCloseTime, breakoutGroupId: id} = this;\n const action = BREAKOUTS.ACTION.CLOSE;\n const payload = {\n id,\n action,\n delayCloseTime,\n ...params,\n };\n\n const body = {\n ...(this.editLock && !!this.editLock.token\n ? {editlock: {token: this.editLock.token, refresh: true}}\n : {}),\n ...{groups: [payload]},\n };\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body,\n }).catch((error) => {\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#end'));\n });\n },\n\n /**\n * Host or cohost update breakout sessions\n * @param {Object} params\n * @param {String} params.id\n * @returns {Promise}\n */\n update(params: {id: string}) {\n if (!params.id) {\n return Promise.reject(new Error('Missing breakout group id'));\n }\n const payload = {...params};\n\n const body = {\n ...(this.editLock?.token ? {editlock: {token: this.editLock.token, refresh: true}} : {}),\n ...{groups: [payload]},\n };\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body,\n }).catch((error) => {\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#update'));\n });\n },\n\n /**\n * get existed breakout sessions\n * @param {boolean} editlock -- lock operations of the breakout sessions\n * @returns {Promise}\n */\n async getBreakout(editlock) {\n const breakout = await this.request({\n method: HTTP_VERBS.GET,\n uri: this.url + (editlock ? `?editlock=${editlock}` : ''),\n });\n\n if (breakout.body?.groups) {\n this.set('groups', breakout.body.groups);\n }\n if (editlock && breakout.body?.editlock?.token) {\n this.set('editLock', breakout.body.editlock);\n this.keepEditLockAlive();\n }\n\n return breakout;\n },\n\n /**\n * enable and edit lock breakout\n * @returns {void}\n */\n async enableAndLockBreakout() {\n if (this.enableBreakoutSession) {\n this.lockBreakout();\n } else {\n const info = await this.enableBreakouts();\n\n if (info.body) {\n this.lockBreakout();\n }\n }\n },\n\n /**\n * send breakout edit lock\n * @returns {void}\n */\n async lockBreakout() {\n if (this.editLock && !!this.editLock.token) {\n if (this.editLock.state === BREAKOUTS.EDIT_LOCK_STATUS.LOCKED) {\n throw new Error('Breakout already locked');\n } else {\n this.keepEditLockAlive();\n }\n } else {\n const breakout = await this.getBreakout(true);\n if (breakout.body?.editlock) {\n this.keepEditLockAlive();\n }\n }\n },\n\n /**\n * keep edit lock alive\n * @returns {void}\n */\n keepEditLockAlive() {\n if (this.editLock && !!this.editLock.token) {\n const ttl = this.editLock.ttl < 30 ? BREAKOUTS.DEFAULT_TTL : this.editLock.ttl;\n if (this.intervalID) {\n window.clearInterval(this.intervalID);\n }\n\n this.intervalID = window.setInterval(() => {\n this.request({\n method: HTTP_VERBS.PUT,\n uri: `${this.url}/editlock/${this.editLock.token}`,\n }).catch((error) => {\n this._clearEditLockInfo();\n\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#keepEditLockAlive'));\n });\n }, (ttl / 2) * 1000);\n }\n },\n\n /**\n * unlock edit breakout\n * @returns {void}\n */\n unLockEditBreakout() {\n if (this.editLock && !!this.editLock.token) {\n this.request({\n method: HTTP_VERBS.DELETE,\n uri: `${this.url}/editlock/${this.editLock.token}`,\n })\n .then(() => {\n this._clearEditLockInfo();\n })\n .catch((error) => {\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#unLockEditBreakout'));\n });\n }\n },\n\n /**\n * clear interval and edit lock info\n * @private\n * @returns {void}\n */\n _clearEditLockInfo() {\n if (this.intervalID) {\n clearInterval(this.intervalID);\n }\n this.set('editLock', {});\n },\n\n /**\n * assign participants to breakout session\n * @param {Array} sessions\n * @returns {void}\n */\n assign(sessions: any[]) {\n const internalSessions = sessions.map((item) => {\n return {\n id: item.id,\n assigned: item.memberIds,\n assignedEmails: item.emails,\n anyoneCanJoin: !!item.anyone,\n };\n });\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body: {\n groups: [\n {\n id: this.breakoutGroupId,\n sessions: internalSessions,\n },\n ],\n },\n });\n },\n\n /**\n * The pre-assignments need to be queried when \"hasBreakoutPreAssignments\" is true\n * @returns {void}\n */\n queryPreAssignments() {\n if (!this.shouldFetchPreassignments) {\n this.webex\n .request({uri: `${this.url}/preassignments`, qs: {locusUrl: btoa(this.locusUrl)}})\n .then((result) => {\n if (result.body?.groups) {\n this.set('groups', result.body.groups);\n }\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:breakouts#queryPreAssignments failed', error);\n });\n this.shouldFetchPreassignments = true;\n }\n },\n /**\n * assign participants dynamically after breakout sessions started,\n * but currently it only used for admitting participants from lobby into breakout directly\n * @param {Array} sessions\n * @returns {void}\n */\n dynamicAssign(sessions: any[]) {\n const updatedSessions = sessions.map((item) => {\n return {\n id: item.id,\n participants: item.participants,\n targetState: item.targetState,\n };\n });\n\n const body = {\n groups: [\n {\n id: this.breakoutGroupId,\n sessions: updatedSessions,\n },\n ],\n editlock: null,\n };\n\n if (this.editLock && this.editLock.token) {\n body.editlock = this.editLock;\n }\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: `${this.url}/dynamicAssign`,\n body,\n });\n },\n});\n\nexport default Breakouts;\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAGA;AAEA;AAEA;AAEA;AACA;AACA;AACA;AAA8C;AAAA;AAE9C;AACA;AACA;AACA,IAAMA,SAAS,GAAGC,sBAAW,CAACC,MAAM,CAAC;EACnCC,SAAS,EAAEC,mBAAQ;EACnBC,eAAe,EAAEC,gBAAe;EAChCC,WAAW,EAAE;IACXC,SAAS,EAAEC;EACb,CAAC;EAEDC,KAAK,EAAE;IACLC,eAAe,EAAE,SAAS;IAAE;IAC5BC,cAAc,EAAE,QAAQ;IAAE;IAC1BC,qBAAqB,EAAE,SAAS;IAAE;IAClCC,yBAAyB,EAAE,SAAS;IAAE;IACtCC,OAAO,EAAE,QAAQ;IAAE;IACnBC,IAAI,EAAE,QAAQ;IAAE;IAChBC,SAAS,EAAE,QAAQ;IAAE;IACrBC,WAAW,EAAE,QAAQ;IAAE;IACvBC,SAAS,EAAE,QAAQ;IAAE;IACrBC,MAAM,EAAE,QAAQ;IAAE;IAClBC,GAAG,EAAE,QAAQ;IAAE;IACfC,QAAQ,EAAE,QAAQ;IAAE;IACpBC,kBAAkB,EAAE,QAAQ;IAAE;IAC9BC,YAAY,EAAE,QAAQ;IAAE;IACxBC,MAAM,EAAE,OAAO;IAAE;IACjBC,yBAAyB,EAAE,SAAS;IAAE;IACtCC,QAAQ,EAAE,QAAQ;IAAE;IACpBC,UAAU,EAAE,QAAQ;IACpBC,SAAS,EAAE;EACb,CAAC;EACDC,QAAQ,EAAE;IACRC,sBAAsB,EAAEC;EAC1B,CAAC;EAEDC,OAAO,EAAE;IACPC,eAAe,EAAE;MACfC,IAAI,EAAE,CAAC,aAAa,CAAC;MACrB;AACN;AACA;AACA;MACMC,EAAE,gBAAG;QACH,OAAO,IAAI,CAAClB,WAAW,KAAKmB,oBAAS,CAACC,aAAa,CAACC,IAAI;MAC1D;IACF,CAAC;IACDC,gBAAgB,EAAE;MAChBL,IAAI,EAAE,CAAC,aAAa,EAAE,QAAQ,CAAC;MAC/B;AACN;AACA;AACA;MACMC,EAAE,gBAAG;QACH,OACE,IAAI,CAAClB,WAAW,KAAKmB,oBAAS,CAACC,aAAa,CAACG,QAAQ,KACpD,IAAI,CAACrB,MAAM,KAAKiB,oBAAS,CAACK,MAAM,CAACC,IAAI,IAAI,IAAI,CAACvB,MAAM,KAAKiB,oBAAS,CAACK,MAAM,CAACE,OAAO,CAAC;MAEvF;IACF,CAAC;IACDC,eAAe,EAAE;MACfV,IAAI,EAAE,CAAC,QAAQ,CAAC;MAChB;AACN;AACA;AACA;MACMC,EAAE,gBAAG;QAAA;QACH,oBAAI,IAAI,CAACX,MAAM,yCAAX,aAAaqB,MAAM,EAAE;UACvB,OAAO,IAAI,CAACrB,MAAM,CAAC,CAAC,CAAC,CAACsB,EAAE;QAC1B;QAEA,OAAO,EAAE;MACX;IACF;EACF,CAAC;EAED;AACF;AACA;AACA;EACEC,UAAU,wBAAG;IAAA;IACX,IAAI,CAACC,QAAQ,CAAC,IAAI,EAAE,eAAe,EAAE,YAAM;MACzC,IAAI,KAAI,CAAC7B,MAAM,KAAKiB,oBAAS,CAACK,MAAM,CAACE,OAAO,EAAE;QAC5C,KAAI,CAACM,OAAO,CAACb,oBAAS,CAACc,MAAM,CAACC,iBAAiB,CAAC;MAClD;IACF,CAAC,CAAC;IACF,IAAI,CAACC,qBAAqB,GAAG,wBAAS,IAAI,CAACC,YAAY,EAAE,EAAE,EAAE;MAC3DC,OAAO,EAAE,IAAI;MACbC,QAAQ,EAAE;IACZ,CAAC,CAAC;IACF,IAAI,CAACP,QAAQ,CAAC,IAAI,CAACzC,SAAS,EAAE,KAAK,EAAE,YAAM;MACzC,KAAI,CAAC6C,qBAAqB,EAAE;IAC9B,CAAC,CAAC;IACF,IAAI,CAACI,yBAAyB,EAAE;IAChC,IAAI,CAACC,uBAAuB,EAAE;IAC9B;IACA,IAAI,CAACrD,eAAe,GAAG,IAAIC,gBAAe,CAAC;MAACqD,KAAK,EAAE,IAAI,CAACA;IAAK,CAAC,CAAC;EACjE,CAAC;EAED;AACF;AACA;AACA;EACEC,OAAO,qBAAG;IACR,IAAI,CAACC,aAAa,EAAE;EACtB,CAAC;EAED;AACF;AACA;AACA;AACA;EACEC,cAAc,0BAACxC,QAAQ,EAAE;IACvB,IAAI,CAACyC,GAAG,CAAC,UAAU,EAAEzC,QAAQ,CAAC;IAC9B,IAAOY,eAAe,GAAkB,IAAI,CAArCA,eAAe;MAAEV,YAAY,GAAI,IAAI,CAApBA,YAAY;IACpC,IAAIU,eAAe,IAAI,CAACV,YAAY,EAAE;MACpC,IAAI,CAACuC,GAAG,CAAC,cAAc,EAAEzC,QAAQ,CAAC;IACpC;EACF,CAAC;EAED;AACF;AACA;AACA;AACA;EACE0C,wBAAwB,oCAACzC,kBAAkB,EAAE;IAC3C,IAAI,CAACwC,GAAG,CAAC,oBAAoB,YAAKxC,kBAAkB,gBAAa;EACnE,CAAC;EAED;AACF;AACA;AACA;AACA;EACE+B,YAAY,0BAAG;IAAA;IACb,IAAI,CAACK,KAAK,CACPM,OAAO,CAAC;MAACC,GAAG,YAAK,IAAI,CAAC7C,GAAG,YAAS;MAAE8C,EAAE,EAAE;QAAC7C,QAAQ,EAAE8C,IAAI,CAAC,IAAI,CAAC9C,QAAQ;MAAC;IAAC,CAAC,CAAC,CACzE+C,IAAI,CAAC,UAACC,MAAM,EAAK;MAChB,IACSC,OAAO,GACZD,MAAM,CADRE,IAAI,CAAGD,OAAO;MAGhBA,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEE,OAAO,CAAC,gBAAa;QAAA,IAAXC,KAAK,QAALA,KAAK;QACtB,MAAI,CAACC,kBAAkB,CAACD,KAAK,CAAC;MAChC,CAAC,CAAC;MAEF,MAAI,CAACxB,OAAO,CAACb,oBAAS,CAACc,MAAM,CAACyB,cAAc,CAAC;IAC/C,CAAC,CAAC,CACDC,KAAK,CAAC,UAACC,KAAK,EAAK;MAChBC,oBAAW,CAACC,MAAM,CAACF,KAAK,CAAC,uCAAuC,EAAEA,KAAK,CAAC;IAC1E,CAAC,CAAC;EACN,CAAC;EAED;AACF;AACA;AACA;AACA;EACEH,kBAAkB,8BAACD,KAAK,EAAE;IAAA;IACxB,IAAMzD,SAAS,sBAAGyD,KAAK,CAACO,QAAQ,6EAAd,gBAAgBC,QAAQ,0DAAxB,sBAA0BjE,SAAS;IAErD,IAAMkE,OAAO,GAAG,IAAI,CAAC3E,SAAS,CAAC4E,GAAG,CAACnE,SAAS,CAAC;IAE7C,IAAI,CAACkE,OAAO,EAAE;MACZ;IACF;IAEAA,OAAO,CAACE,WAAW,CAACX,KAAK,CAAC;EAC5B,CAAC;EAED;AACF;AACA;AACA;EACEjB,yBAAyB,uCAAG;IAAA;IAC1B,IAAI,CAACR,QAAQ,CAAC,IAAI,CAACU,KAAK,CAAC2B,QAAQ,CAACC,GAAG,EAAE,wBAAwB,EAAE,UAACC,KAAK,EAAK;MAC1E,kBAEIA,KAAK,CADPC,IAAI;QAAGC,YAAY,eAAZA,YAAY;QAAEC,QAAQ,eAARA,QAAQ;QAAEC,OAAO,eAAPA,OAAO;MAGxC,MAAI,CAAC1C,OAAO,CAACb,oBAAS,CAACc,MAAM,CAAC0C,OAAO,EAAE;QACrCH,YAAY,EAAZA,YAAY;QACZC,QAAQ,EAARA,QAAQ;QACRC,OAAO,EAAPA,OAAO;QACP;QACA;QACA;QACA3E,SAAS,EAAE,MAAI,CAACc,sBAAsB,CAACd;MACzC,CAAC,CAAC;IACJ,CAAC,CAAC;EACJ,CAAC;EAED;AACF;AACA;AACA;EACEyC,uBAAuB,qCAAG;IAAA;IACxB,IAAI,CAACT,QAAQ,CAAC,IAAI,CAACU,KAAK,CAAC2B,QAAQ,CAACQ,OAAO,EAAE,uBAAuB,EAAE,UAACN,KAAK,EAAK;MAC7E,MAAI,CAACb,kBAAkB,CAACa,KAAK,CAACC,IAAI,CAACf,KAAK,CAAC;MACzC,MAAI,CAACxB,OAAO,CAACb,oBAAS,CAACc,MAAM,CAACyB,cAAc,CAAC;IAC/C,CAAC,CAAC;EACJ,CAAC;EAED;AACF;AACA;AACA;AACA;EACEmB,cAAc,0BAACC,MAAM,EAAE;IAAA;IACrB,IAAMC,wBAAwB,GAAG,IAAI,CAACb,GAAG,CAAC,uBAAuB,CAAC;IAClE,IAAI,CAACrB,GAAG,CAACiC,MAAM,CAAC;IAChB,IAAI,CAACjC,GAAG,CAAC,QAAQ,EAAEiC,MAAM,CAACvE,MAAM,CAAC;IAEjC,IAAI,CAACsC,GAAG,CAAC,wBAAwB;MAC/B9C,SAAS,EAAE+E,MAAM,CAAC/E,SAAS;MAC3BF,OAAO,EAAEiF,MAAM,CAACjF,OAAO;MACvBC,IAAI,EAAEgF,MAAM,CAAChF,IAAI;MACjBkF,OAAO,EAAE,IAAI;MACbhF,WAAW,EAAE8E,MAAM,CAAC9E,WAAW;MAC/BG,GAAG,EAAE2E,MAAM,CAAC3E;IAAG,4CACdgB,oBAAS,CAAC8D,cAAc,CAACC,MAAM,EAAG,KAAK,4CACvC/D,oBAAS,CAAC8D,cAAc,CAACE,OAAO,EAAG,KAAK,4CACxChE,oBAAS,CAAC8D,cAAc,CAACE,OAAO,EAAG,KAAK,4CACxChE,oBAAS,CAAC8D,cAAc,CAACG,gBAAgB,EAAG,KAAK,4CACjDjE,oBAAS,CAAC8D,cAAc,CAACI,SAAS,EAAG,KAAK,cAC3C;;IAEF;IACA,IACEP,MAAM,CAACnF,qBAAqB,IAC5BmF,MAAM,CAAClF,yBAAyB,IAChCmF,wBAAwB,KAAKD,MAAM,CAACnF,qBAAqB,EACzD;MACA,IAAI,CAAC2F,mBAAmB,EAAE;IAC5B;EACF,CAAC;EAED;AACF;AACA;AACA;AACA;EACEC,sBAAsB,kCAACC,OAAO,EAAE;IAAA;IAC9B,IAAMlG,SAAS,GAAG,CAAC,CAAC;IAEpB,IAAIkG,OAAO,CAACC,gBAAgB,EAAE;MAC5B,uBAAQtE,oBAAS,CAAC8D,cAAc,EAAE,UAACS,KAAK,EAAK;QAC3C,uBAAQF,OAAO,CAACC,gBAAgB,CAACC,KAAK,CAAC,EAAE,UAAC1B,QAAQ,EAAK;UACrD,IAAOjE,SAAS,GAAIiE,QAAQ,CAArBjE,SAAS;UAEhB,IAAI,CAACT,SAAS,CAACS,SAAS,CAAC,EAAE;YACzBT,SAAS,CAACS,SAAS,CAAC,GAAGiE,QAAQ;YAC/B1E,SAAS,CAACS,SAAS,CAAC,CAACoB,oBAAS,CAAC8D,cAAc,CAACC,MAAM,CAAC,GAAG,KAAK;YAC7D5F,SAAS,CAACS,SAAS,CAAC,CAACoB,oBAAS,CAAC8D,cAAc,CAACU,QAAQ,CAAC,GAAG,KAAK;YAC/DrG,SAAS,CAACS,SAAS,CAAC,CAACoB,oBAAS,CAAC8D,cAAc,CAACE,OAAO,CAAC,GAAG,KAAK;YAC9D7F,SAAS,CAACS,SAAS,CAAC,CAACoB,oBAAS,CAAC8D,cAAc,CAACG,gBAAgB,CAAC,GAAG,KAAK;YACvE9F,SAAS,CAACS,SAAS,CAAC,CAACoB,oBAAS,CAAC8D,cAAc,CAACI,SAAS,CAAC,GAAG,KAAK;UAClE;UAEA/F,SAAS,CAACS,SAAS,CAAC,CAAC2F,KAAK,CAAC,GAAG,IAAI;QACpC,CAAC,CAAC;MACJ,CAAC,CAAC;IACJ;IAEA,uBAAQpG,SAAS,EAAE,UAAC0E,QAAyB,EAAK;MAChD;MACAA,QAAQ,CAAC7D,GAAG,GAAG,MAAI,CAACA,GAAG;IACzB,CAAC,CAAC;IAEF,IAAI,CAACb,SAAS,CAACuD,GAAG,CAAC,qBAAcvD,SAAS,CAAC,CAAC;EAC9C,CAAC;EACD;AACF;AACA;AACA;EACEsG,cAAc,4BAAG;IACf,IAAI,IAAI,CAAC5E,eAAe,EAAE;MACxB,OAAO,IAAI,CAACH,sBAAsB;IACpC;IAEA,IAAMgF,WAAW,GAAG,IAAI,CAACvG,SAAS,CAACwG,MAAM,CAAC,UAAC9B,QAAQ;MAAA,OAAKA,QAAQ,CAAC+B,MAAM;IAAA,EAAC,CAAC,CAAC,CAAC;IAC3E,IAAI,CAACF,WAAW,EAAE;MAChB,MAAM,IAAIG,KAAK,CAAC,uBAAuB,CAAC;IAC1C;IAEA,OAAOH,WAAW;EACpB,CAAC;EACD;AACF;AACA;AACA;EACEI,cAAc,4BAAG;IACf,IAAMJ,WAAW,GAAG,IAAI,CAACD,cAAc,EAAE;IAEzC,OAAO,IAAI,CAACnD,KAAK,CAACM,OAAO,CAAC;MACxBmD,MAAM,EAAEC,qBAAU,CAACC,IAAI;MACvBpD,GAAG,YAAK,IAAI,CAAC7C,GAAG,iBAAc;MAC9BmD,IAAI,EAAE;QACJzD,OAAO,EAAEgG,WAAW,CAAChG,OAAO;QAC5BE,SAAS,EAAE8F,WAAW,CAAC9F;MACzB;IACF,CAAC,CAAC;EACJ,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEsG,SAAS,qBAAC3B,OAAO,EAAE4B,OAAO,EAAE;IAC1B,IAAO3E,eAAe,GAAI,IAAI,CAAvBA,eAAe;IACtB,IAAI,CAACA,eAAe,EAAE;MACpB,MAAM,IAAIqE,KAAK,CAAC,6CAA6C,CAAC;IAChE;IAEA,OAAO,IAAI,CAAC7G,eAAe,CAACkH,SAAS,CAAC;MACpClG,GAAG,EAAE,IAAI,CAACA,GAAG;MACbuE,OAAO,EAAPA,OAAO;MACP4B,OAAO,EAAPA,OAAO;MACPzG,OAAO,EAAE8B;IACX,CAAC,CAAC;EACJ,CAAC;EACD;AACF;AACA;AACA;EACE4E,eAAe,6BAAG;IAChB,IAAI,IAAI,CAAClG,kBAAkB,EAAE;MAC3B;MACA,OAAO,IAAI,CAACoC,KAAK,CACdM,OAAO,CAAC;QACPmD,MAAM,EAAEC,qBAAU,CAACC,IAAI;QACvBpD,GAAG,EAAE,IAAI,CAAC3C,kBAAkB;QAC5BiD,IAAI,EAAE;UACJlD,QAAQ,EAAE,IAAI,CAACA;QACjB;MACF,CAAC,CAAC,CACDuD,KAAK,CAAC,UAAC6C,GAAG,EAAK;QACd3C,oBAAW,CAACC,MAAM,CAACF,KAAK,sEACwC4C,GAAG,EAClE;QACD,MAAMA,GAAG;MACX,CAAC,CAAC;IACN;IAEA,OAAO,iBAAQC,MAAM,CAAC,IAAIT,KAAK,oDAAoD,CAAC;EACtF,CAAC;EAED;AACF;AACA;AACA;AACA;EACQU,cAAc,0BAACC,MAAM,EAAE;IAAA;IAAA;MAAA;MAAA;QAAA;UAAA;YAAA,MACvB,MAAI,CAAChH,qBAAqB,KAAKiH,SAAS;cAAA;cAAA;YAAA;YAAA;YAAA,OACvB,MAAI,CAACL,eAAe,EAAE;UAAA;YAAnCM,IAAI;YAAA,IACLF,MAAM;cAAA;cAAA;YAAA;YACT;YACA,MAAI,CAAC9B,cAAc,CAACgC,IAAI,CAACvD,IAAI,CAAC;YAAC;YAAA,OACzB,MAAI,CAACwD,gBAAgB,CAACH,MAAM,CAAC;UAAA;YAAA;YAAA;UAAA;YAAA;YAAA,OAG/B,MAAI,CAACG,gBAAgB,CAACH,MAAM,CAAC;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EAEvC,CAAC;EAED;AACF;AACA;AACA;AACA;EACEG,gBAAgB,4BAACH,MAAM,EAAE;IACvB,IAAMrD,IAAI,mCACJ,IAAI,CAAC7C,QAAQ,IAAI,CAAC,CAAC,IAAI,CAACA,QAAQ,CAACsG,KAAK,GAAG;MAACC,QAAQ,EAAE;QAACD,KAAK,EAAE,IAAI,CAACtG,QAAQ,CAACsG;MAAK;IAAC,CAAC,GAAG,CAAC,CAAC,GACvF;MAACpH,qBAAqB,EAAEgH;IAAM,CAAC,CACnC;;IAED;IACA,OAAO,IAAI,CAAClE,KAAK,CAACM,OAAO,CAAC;MACxBmD,MAAM,EAAEC,qBAAU,CAACc,GAAG;MACtBjE,GAAG,EAAE,IAAI,CAAC7C,GAAG;MACbmD,IAAI,EAAJA;IACF,CAAC,CAAC;EACJ,CAAC;EAED;AACF;AACA;AACA;AACA;EACQ4D,MAAM,kBAACC,QAAQ,EAAE;IAAA;IAAA;MAAA;MAAA;MAAA;QAAA;UAAA;YACf7D,IAAI,mCACJ,MAAI,CAAC7C,QAAQ,IAAI,CAAC,CAAC,MAAI,CAACA,QAAQ,CAACsG,KAAK,GAAG;cAACC,QAAQ,EAAE;gBAACD,KAAK,EAAE,MAAI,CAACtG,QAAQ,CAACsG;cAAK;YAAC,CAAC,GAAG,CAAC,CAAC,GACvF;cAACxG,MAAM,EAAE,CAAC;gBAAC4G,QAAQ,EAARA;cAAQ,CAAC;YAAC,CAAC,GAE3B;YAAA;YAAA,OACwB,MAAI,CAAC1E,KAAK,CAC/BM,OAAO,CAAC;cACPmD,MAAM,EAAEC,qBAAU,CAACc,GAAG;cACtBjE,GAAG,EAAE,MAAI,CAAC7C,GAAG;cACbmD,IAAI,EAAJA;YACF,CAAC,CAAC,CACDK,KAAK,CAAC,UAACC,KAAK,EAAK;cAChB,OAAO,iBAAQ6C,MAAM,CAAC,IAAAW,4BAAqB,EAACxD,KAAK,EAAE,kBAAkB,CAAC,CAAC;YACzE,CAAC,CAAC;UAAA;YAREyD,SAAS;YAUf,uBAAIA,SAAS,CAAC/D,IAAI,4CAAd,gBAAgB/C,MAAM,EAAE;cAC1B,MAAI,CAACsC,GAAG,CAAC,QAAQ,EAAEwE,SAAS,CAAC/D,IAAI,CAAC/C,MAAM,CAAC;YAC3C;;YAEA;YACA,MAAI,CAAC+G,kBAAkB,EAAE;YAAC,kCAEnB,iBAAQC,OAAO,CAACF,SAAS,CAAC;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EACnC,CAAC;EAED;AACF;AACA;AACA;EACQG,aAAa,2BAAG;IAAA;IAAA;MAAA;MAAA;MAAA;QAAA;UAAA;YACdlE,IAAI,mCACJ,MAAI,CAAC7C,QAAQ,IAAI,CAAC,CAAC,MAAI,CAACA,QAAQ,CAACsG,KAAK,GAAG;cAACC,QAAQ,EAAE;gBAACD,KAAK,EAAE,MAAI,CAACtG,QAAQ,CAACsG;cAAK;YAAC,CAAC,GAAG,CAAC,CAAC,GACvF;cAACxG,MAAM,EAAE,CAAC;gBAACkH,MAAM,EAAEtG,oBAAS,CAACuG,MAAM,CAACC;cAAM,CAAC;YAAC,CAAC,GAElD;YAAA;YAAA,OACwB,MAAI,CAAClF,KAAK,CAC/BM,OAAO,CAAC;cACPmD,MAAM,EAAEC,qBAAU,CAACc,GAAG;cACtBjE,GAAG,EAAE,MAAI,CAAC7C,GAAG;cACbmD,IAAI,EAAJA;YACF,CAAC,CAAC,CACDK,KAAK,CAAC,UAACC,KAAK,EAAK;cAChB,OAAO,iBAAQ6C,MAAM,CAAC,IAAAW,4BAAqB,EAACxD,KAAK,EAAE,yBAAyB,CAAC,CAAC;YAChF,CAAC,CAAC;UAAA;YAREyD,SAAS;YAUf,wBAAIA,SAAS,CAAC/D,IAAI,6CAAd,iBAAgB/C,MAAM,EAAE;cAC1B,MAAI,CAACsC,GAAG,CAAC,QAAQ,EAAEwE,SAAS,CAAC/D,IAAI,CAAC/C,MAAM,CAAC;YAC3C;YACA,MAAI,CAACC,yBAAyB,GAAG,KAAK;YAAC,kCAEhC,iBAAQ+G,OAAO,CAACF,SAAS,CAAC;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EACnC,CAAC;EAED;AACF;AACA;AACA;AACA;EACEO,KAAK,mBAAc;IAAA,IAAb9C,MAAM,uEAAG,CAAC,CAAC;IACf,IAAM2C,MAAM,GAAGtG,oBAAS,CAACuG,MAAM,CAACG,KAAK;IACrC,IAAMrC,OAAO;MACX3D,EAAE,EAAE,IAAI,CAACF,eAAe;MACxB8F,MAAM,EAANA,MAAM;MACNhI,eAAe,EAAE,KAAK;MACtBqI,gBAAgB,EAAE,KAAK;MACvBC,QAAQ,EAAE5G,oBAAS,CAAC6G;IAAgB,GACjClD,MAAM,CACV;IAED,IAAMxB,IAAI,mCACJ,IAAI,CAAC7C,QAAQ,IAAI,CAAC,CAAC,IAAI,CAACA,QAAQ,CAACsG,KAAK,GACtC;MAACC,QAAQ,EAAE;QAACD,KAAK,EAAE,IAAI,CAACtG,QAAQ,CAACsG,KAAK;QAAEkB,OAAO,EAAE;MAAI;IAAC,CAAC,GACvD,CAAC,CAAC,GACH;MAAC1H,MAAM,EAAE,CAACiF,OAAO;IAAC,CAAC,CACvB;IAED,OAAO,IAAI,CAACzC,OAAO,CAAC;MAClBmD,MAAM,EAAEC,qBAAU,CAACc,GAAG;MACtBjE,GAAG,EAAE,IAAI,CAAC7C,GAAG;MACbmD,IAAI,EAAJA;IACF,CAAC,CAAC,CAACK,KAAK,CAAC,UAACC,KAAK,EAAK;MAClB,OAAO,iBAAQ6C,MAAM,CAAC,IAAAW,4BAAqB,EAACxD,KAAK,EAAE,iBAAiB,CAAC,CAAC;IACxE,CAAC,CAAC;EACJ,CAAC;EAED;AACF;AACA;AACA;AACA;EACEsE,GAAG,iBAAc;IAAA,IAAbpD,MAAM,uEAAG,CAAC,CAAC;IACb,IAAOpF,cAAc,GAAyB,IAAI,CAA3CA,cAAc;MAAmBmC,EAAE,GAAI,IAAI,CAA3BF,eAAe;IACtC,IAAM8F,MAAM,GAAGtG,oBAAS,CAACuG,MAAM,CAACS,KAAK;IACrC,IAAM3C,OAAO;MACX3D,EAAE,EAAFA,EAAE;MACF4F,MAAM,EAANA,MAAM;MACN/H,cAAc,EAAdA;IAAc,GACXoF,MAAM,CACV;IAED,IAAMxB,IAAI,mCACJ,IAAI,CAAC7C,QAAQ,IAAI,CAAC,CAAC,IAAI,CAACA,QAAQ,CAACsG,KAAK,GACtC;MAACC,QAAQ,EAAE;QAACD,KAAK,EAAE,IAAI,CAACtG,QAAQ,CAACsG,KAAK;QAAEkB,OAAO,EAAE;MAAI;IAAC,CAAC,GACvD,CAAC,CAAC,GACH;MAAC1H,MAAM,EAAE,CAACiF,OAAO;IAAC,CAAC,CACvB;IAED,OAAO,IAAI,CAACzC,OAAO,CAAC;MAClBmD,MAAM,EAAEC,qBAAU,CAACc,GAAG;MACtBjE,GAAG,EAAE,IAAI,CAAC7C,GAAG;MACbmD,IAAI,EAAJA;IACF,CAAC,CAAC,CAACK,KAAK,CAAC,UAACC,KAAK,EAAK;MAClB,OAAO,iBAAQ6C,MAAM,CAAC,IAAAW,4BAAqB,EAACxD,KAAK,EAAE,eAAe,CAAC,CAAC;IACtE,CAAC,CAAC;EACJ,CAAC;EAED;AACF;AACA;AACA;AACA;AACA;EACEwE,MAAM,kBAACtD,MAAoB,EAAE;IAAA;IAC3B,IAAI,CAACA,MAAM,CAACjD,EAAE,EAAE;MACd,OAAO,iBAAQ4E,MAAM,CAAC,IAAIT,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/D;IACA,IAAMR,OAAO,qBAAOV,MAAM,CAAC;IAE3B,IAAMxB,IAAI,mCACJ,sBAAI,CAAC7C,QAAQ,2CAAb,eAAesG,KAAK,GAAG;MAACC,QAAQ,EAAE;QAACD,KAAK,EAAE,IAAI,CAACtG,QAAQ,CAACsG,KAAK;QAAEkB,OAAO,EAAE;MAAI;IAAC,CAAC,GAAG,CAAC,CAAC,GACpF;MAAC1H,MAAM,EAAE,CAACiF,OAAO;IAAC,CAAC,CACvB;IAED,OAAO,IAAI,CAACzC,OAAO,CAAC;MAClBmD,MAAM,EAAEC,qBAAU,CAACc,GAAG;MACtBjE,GAAG,EAAE,IAAI,CAAC7C,GAAG;MACbmD,IAAI,EAAJA;IACF,CAAC,CAAC,CAACK,KAAK,CAAC,UAACC,KAAK,EAAK;MAClB,OAAO,iBAAQ6C,MAAM,CAAC,IAAAW,4BAAqB,EAACxD,KAAK,EAAE,kBAAkB,CAAC,CAAC;IACzE,CAAC,CAAC;EACJ,CAAC;EAED;AACF;AACA;AACA;AACA;EACQyE,WAAW,uBAACrB,QAAQ,EAAE;IAAA;IAAA;MAAA;MAAA;MAAA;QAAA;UAAA;YAAA;YAAA,OACH,MAAI,CAACjE,OAAO,CAAC;cAClCmD,MAAM,EAAEC,qBAAU,CAACmC,GAAG;cACtBtF,GAAG,EAAE,MAAI,CAAC7C,GAAG,IAAI6G,QAAQ,uBAAgBA,QAAQ,IAAK,EAAE;YAC1D,CAAC,CAAC;UAAA;YAHIhD,QAAQ;YAKd,sBAAIA,QAAQ,CAACV,IAAI,2CAAb,eAAe/C,MAAM,EAAE;cACzB,MAAI,CAACsC,GAAG,CAAC,QAAQ,EAAEmB,QAAQ,CAACV,IAAI,CAAC/C,MAAM,CAAC;YAC1C;YACA,IAAIyG,QAAQ,uBAAIhD,QAAQ,CAACV,IAAI,qEAAb,gBAAe0D,QAAQ,kDAAvB,sBAAyBD,KAAK,EAAE;cAC9C,MAAI,CAAClE,GAAG,CAAC,UAAU,EAAEmB,QAAQ,CAACV,IAAI,CAAC0D,QAAQ,CAAC;cAC5C,MAAI,CAACuB,iBAAiB,EAAE;YAC1B;YAAC,kCAEMvE,QAAQ;UAAA;UAAA;YAAA;QAAA;MAAA;IAAA;EACjB,CAAC;EAED;AACF;AACA;AACA;EACQwE,qBAAqB,mCAAG;IAAA;IAAA;MAAA;MAAA;QAAA;UAAA;YAAA,KACxB,OAAI,CAAC7I,qBAAqB;cAAA;cAAA;YAAA;YAC5B,OAAI,CAAC8I,YAAY,EAAE;YAAC;YAAA;UAAA;YAAA;YAAA,OAED,OAAI,CAAClC,eAAe,EAAE;UAAA;YAAnCM,IAAI;YAEV,IAAIA,IAAI,CAACvD,IAAI,EAAE;cACb,OAAI,CAACmF,YAAY,EAAE;YACrB;UAAC;UAAA;YAAA;QAAA;MAAA;IAAA;EAEL,CAAC;EAED;AACF;AACA;AACA;EACQA,YAAY,0BAAG;IAAA;IAAA;MAAA;MAAA;QAAA;UAAA;YAAA,MACf,OAAI,CAAChI,QAAQ,IAAI,CAAC,CAAC,OAAI,CAACA,QAAQ,CAACsG,KAAK;cAAA;cAAA;YAAA;YAAA,MACpC,OAAI,CAACtG,QAAQ,CAACiF,KAAK,KAAKvE,oBAAS,CAACuH,gBAAgB,CAACC,MAAM;cAAA;cAAA;YAAA;YAAA,MACrD,IAAI3C,KAAK,CAAC,yBAAyB,CAAC;UAAA;YAE1C,OAAI,CAACuC,iBAAiB,EAAE;UAAC;YAAA;YAAA;UAAA;YAAA;YAAA,OAGJ,OAAI,CAACF,WAAW,CAAC,IAAI,CAAC;UAAA;YAAvCrE,QAAQ;YACd,uBAAIA,QAAQ,CAACV,IAAI,4CAAb,gBAAe0D,QAAQ,EAAE;cAC3B,OAAI,CAACuB,iBAAiB,EAAE;YAC1B;UAAC;UAAA;YAAA;QAAA;MAAA;IAAA;EAEL,CAAC;EAED;AACF;AACA;AACA;EACEA,iBAAiB,+BAAG;IAAA;IAClB,IAAI,IAAI,CAAC9H,QAAQ,IAAI,CAAC,CAAC,IAAI,CAACA,QAAQ,CAACsG,KAAK,EAAE;MAC1C,IAAM6B,GAAG,GAAG,IAAI,CAACnI,QAAQ,CAACmI,GAAG,GAAG,EAAE,GAAGzH,oBAAS,CAAC0H,WAAW,GAAG,IAAI,CAACpI,QAAQ,CAACmI,GAAG;MAC9E,IAAI,IAAI,CAAClI,UAAU,EAAE;QACnBoI,MAAM,CAACC,aAAa,CAAC,IAAI,CAACrI,UAAU,CAAC;MACvC;MAEA,IAAI,CAACA,UAAU,GAAGoI,MAAM,CAACE,WAAW,CAAC,YAAM;QACzC,OAAI,CAACjG,OAAO,CAAC;UACXmD,MAAM,EAAEC,qBAAU,CAACc,GAAG;UACtBjE,GAAG,YAAK,OAAI,CAAC7C,GAAG,uBAAa,OAAI,CAACM,QAAQ,CAACsG,KAAK;QAClD,CAAC,CAAC,CAACpD,KAAK,CAAC,UAACC,KAAK,EAAK;UAClB,OAAI,CAAC0D,kBAAkB,EAAE;UAEzB,OAAO,iBAAQb,MAAM,CAAC,IAAAW,4BAAqB,EAACxD,KAAK,EAAE,6BAA6B,CAAC,CAAC;QACpF,CAAC,CAAC;MACJ,CAAC,EAAGgF,GAAG,GAAG,CAAC,GAAI,IAAI,CAAC;IACtB;EACF,CAAC;EAED;AACF;AACA;AACA;EACEK,kBAAkB,gCAAG;IAAA;IACnB,IAAI,IAAI,CAACxI,QAAQ,IAAI,CAAC,CAAC,IAAI,CAACA,QAAQ,CAACsG,KAAK,EAAE;MAC1C,IAAI,CAAChE,OAAO,CAAC;QACXmD,MAAM,EAAEC,qBAAU,CAACwB,MAAM;QACzB3E,GAAG,YAAK,IAAI,CAAC7C,GAAG,uBAAa,IAAI,CAACM,QAAQ,CAACsG,KAAK;MAClD,CAAC,CAAC,CACC5D,IAAI,CAAC,YAAM;QACV,OAAI,CAACmE,kBAAkB,EAAE;MAC3B,CAAC,CAAC,CACD3D,KAAK,CAAC,UAACC,KAAK,EAAK;QAChB,OAAO,iBAAQ6C,MAAM,CAAC,IAAAW,4BAAqB,EAACxD,KAAK,EAAE,8BAA8B,CAAC,CAAC;MACrF,CAAC,CAAC;IACN;EACF,CAAC;EAED;AACF;AACA;AACA;AACA;EACE0D,kBAAkB,gCAAG;IACnB,IAAI,IAAI,CAAC5G,UAAU,EAAE;MACnBqI,aAAa,CAAC,IAAI,CAACrI,UAAU,CAAC;IAChC;IACA,IAAI,CAACmC,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;EAC1B,CAAC;EAED;AACF;AACA;AACA;AACA;EACEqG,MAAM,kBAAC/B,QAAe,EAAE;IACtB,IAAMgC,gBAAgB,GAAGhC,QAAQ,CAACiC,GAAG,CAAC,UAACC,IAAI,EAAK;MAC9C,OAAO;QACLxH,EAAE,EAAEwH,IAAI,CAACxH,EAAE;QACXyH,QAAQ,EAAED,IAAI,CAACE,SAAS;QACxBC,cAAc,EAAEH,IAAI,CAACI,MAAM;QAC3BC,aAAa,EAAE,CAAC,CAACL,IAAI,CAACM;MACxB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,IAAI,CAAC5G,OAAO,CAAC;MAClBmD,MAAM,EAAEC,qBAAU,CAACc,GAAG;MACtBjE,GAAG,EAAE,IAAI,CAAC7C,GAAG;MACbmD,IAAI,EAAE;QACJ/C,MAAM,EAAE,CACN;UACEsB,EAAE,EAAE,IAAI,CAACF,eAAe;UACxBwF,QAAQ,EAAEgC;QACZ,CAAC;MAEL;IACF,CAAC,CAAC;EACJ,CAAC;EAED;AACF;AACA;AACA;EACE7D,mBAAmB,iCAAG;IAAA;IACpB,IAAI,CAAC,IAAI,CAAC9E,yBAAyB,EAAE;MACnC,IAAI,CAACiC,KAAK,CACPM,OAAO,CAAC;QAACC,GAAG,YAAK,IAAI,CAAC7C,GAAG,oBAAiB;QAAE8C,EAAE,EAAE;UAAC7C,QAAQ,EAAE8C,IAAI,CAAC,IAAI,CAAC9C,QAAQ;QAAC;MAAC,CAAC,CAAC,CACjF+C,IAAI,CAAC,UAACC,MAAM,EAAK;QAAA;QAChB,oBAAIA,MAAM,CAACE,IAAI,yCAAX,aAAa/C,MAAM,EAAE;UACvB,OAAI,CAACsC,GAAG,CAAC,QAAQ,EAAEO,MAAM,CAACE,IAAI,CAAC/C,MAAM,CAAC;QACxC;MACF,CAAC,CAAC,CACDoD,KAAK,CAAC,UAACC,KAAK,EAAK;QAChBC,oBAAW,CAACC,MAAM,CAACF,KAAK,CAAC,8CAA8C,EAAEA,KAAK,CAAC;MACjF,CAAC,CAAC;MACJ,IAAI,CAACpD,yBAAyB,GAAG,IAAI;IACvC;EACF,CAAC;EACD;AACF;AACA;AACA;AACA;AACA;EACEoJ,aAAa,yBAACzC,QAAe,EAAE;IAC7B,IAAM0C,eAAe,GAAG1C,QAAQ,CAACiC,GAAG,CAAC,UAACC,IAAI,EAAK;MAC7C,OAAO;QACLxH,EAAE,EAAEwH,IAAI,CAACxH,EAAE;QACXiI,YAAY,EAAET,IAAI,CAACS,YAAY;QAC/BC,WAAW,EAAEV,IAAI,CAACU;MACpB,CAAC;IACH,CAAC,CAAC;IAEF,IAAMzG,IAAI,GAAG;MACX/C,MAAM,EAAE,CACN;QACEsB,EAAE,EAAE,IAAI,CAACF,eAAe;QACxBwF,QAAQ,EAAE0C;MACZ,CAAC,CACF;MACD7C,QAAQ,EAAE;IACZ,CAAC;IAED,IAAI,IAAI,CAACvG,QAAQ,IAAI,IAAI,CAACA,QAAQ,CAACsG,KAAK,EAAE;MACxCzD,IAAI,CAAC0D,QAAQ,GAAG,IAAI,CAACvG,QAAQ;IAC/B;IAEA,OAAO,IAAI,CAACsC,OAAO,CAAC;MAClBmD,MAAM,EAAEC,qBAAU,CAACc,GAAG;MACtBjE,GAAG,YAAK,IAAI,CAAC7C,GAAG,mBAAgB;MAChCmD,IAAI,EAAJA;IACF,CAAC,CAAC;EACJ,CAAC;EAAA;AACH,CAAC,CAAC;AAAC,eAEYxE,SAAS;AAAA"}
|
|
1
|
+
{"version":3,"names":["Breakouts","WebexPlugin","extend","namespace","MEETINGS","breakoutRequest","BreakoutRequest","collections","breakouts","BreakoutCollection","props","allowBackToMain","delayCloseTime","enableBreakoutSession","hasBreakoutPreAssignments","groupId","name","sessionId","sessionType","startTime","status","url","locusUrl","breakoutServiceUrl","mainLocusUrl","groups","manageGroups","preAssignments","editLock","intervalID","meetingId","canManageBreakouts","children","currentBreakoutSession","Breakout","derived","isInMainSession","cache","deps","fn","BREAKOUTS","SESSION_TYPES","MAIN","isActiveBreakout","BREAKOUT","STATUS","OPEN","CLOSING","breakoutGroupId","length","CLOSED","id","breakoutStatus","shouldQueryPreAssignments","initialize","listenTo","trigger","EVENTS","BREAKOUTS_CLOSING","queryPreAssignments","debouncedQueryRosters","queryRosters","leading","trailing","breakout","triggerReturnToMainEvent","listenToCurrentSessionTypeChange","listenToBroadcastMessages","listenToBreakoutRosters","listenToBreakoutHelp","webex","cleanUp","stopListening","locusUrlUpdate","set","updateCanManageBreakouts","breakoutServiceUrlUpdate","request","uri","qs","btoa","then","result","rosters","body","forEach","locus","handleRosterUpdate","MEMBERS_UPDATE","catch","error","LoggerProxy","logger","controls","session","get","parseRoster","isSessionTypeChangedFromSessionToMain","LEAVE_BREAKOUT","internal","llm","event","data","senderUserId","sentTime","message","MESSAGE","mercury","participant","ASK_FOR_HELP","isBreakoutInProgress","currentStatus","isBreakoutIClosing","updateBreakout","params","current","SESSION_STATES","ACTIVE","ALLOWED","ASSIGNED","ASSIGNED_CURRENT","REQUESTED","clearBreakouts","previous","meeting","meetings","getMeetingByType","_ID_","breakoutEvent","onBreakoutJoinResponse","currentSession","breakoutMoveId","newMetrics","submitClientEvent","bind","updateBreakoutSessions","payload","breakoutSessions","state","requestedLastModifiedTime","modifiedAt","reset","getMainSession","mainSession","filter","isMain","Error","askAllToReturn","method","HTTP_VERBS","POST","broadcast","options","enableBreakouts","err","reject","toggleBreakout","enable","undefined","info","doToggleBreakout","token","editlock","PUT","_setManageGroups","breakoutInfo","create","boServiceErrorHandler","_clearEditLockInfo","clearSessions","action","ACTION","DELETE","start","START","allowToJoinLater","refresh","end","CLOSE","update","unlockEdit","getBreakout","GET","keepEditLockAlive","enableAndLockBreakout","lockBreakout","hasBreakoutLocked","EDIT_LOCK_STATUS","LOCKED","ttl","DEFAULT_TTL","window","clearInterval","setInterval","unLockEditBreakout","assign","sessions","internalSessions","map","item","assigned","memberIds","assignedEmails","emails","anyoneCanJoin","anyone","PRE_ASSIGNMENTS_UPDATE","dynamicAssign","updatedSessions","participants","targetState","requested","ASK_RETURN_TO_MAIN"],"sources":["index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2015-2023 Cisco Systems, Inc. See LICENSE file.\n */\nimport {WebexPlugin} from '@webex/webex-core';\nimport {debounce, forEach} from 'lodash';\nimport LoggerProxy from '../common/logs/logger-proxy';\n\nimport {BREAKOUTS, MEETINGS, HTTP_VERBS, _ID_} from '../constants';\n\nimport Breakout from './breakout';\nimport BreakoutCollection from './collection';\nimport BreakoutRequest from './request';\nimport breakoutEvent from './events';\nimport {boServiceErrorHandler, isSessionTypeChangedFromSessionToMain} from './utils';\n\n/**\n * @class Breakouts\n */\nconst Breakouts = WebexPlugin.extend({\n namespace: MEETINGS,\n breakoutRequest: BreakoutRequest,\n collections: {\n breakouts: BreakoutCollection,\n },\n\n props: {\n allowBackToMain: 'boolean', // only present when in a breakout session\n delayCloseTime: 'number', // appears once breakouts start\n enableBreakoutSession: 'boolean', // appears from the moment you enable breakouts\n hasBreakoutPreAssignments: 'boolean', // appears from the moment you enable breakouts\n groupId: 'string', // appears from the moment you enable breakouts\n name: 'string', // only present when in a breakout session\n sessionId: 'string', // appears from the moment you enable breakouts\n sessionType: 'string', // appears from the moment you enable breakouts\n startTime: 'string', // appears once breakouts start\n status: 'string', // only present when in a breakout session\n url: 'string', // appears from the moment you enable breakouts\n locusUrl: 'string', // the current locus url\n breakoutServiceUrl: 'string', // the current breakout resource url\n mainLocusUrl: 'string', // the locus url of the main session\n groups: 'array', // appears when create breakouts\n manageGroups: 'array', // appears when manage breakouts\n preAssignments: 'array', // appears when getPreAssignments info hasBreakoutPreAssignments = true\n editLock: 'object', // appears when getBreakout info editlock = true\n intervalID: 'number',\n meetingId: 'string',\n canManageBreakouts: 'boolean', // appear the ability to manage breakouts\n },\n children: {\n currentBreakoutSession: Breakout,\n },\n\n derived: {\n isInMainSession: {\n cache: false,\n deps: ['sessionType'],\n /**\n * Returns true if the user is in the main session\n * @returns {boolean}\n */\n fn() {\n return this.sessionType === BREAKOUTS.SESSION_TYPES.MAIN;\n },\n },\n isActiveBreakout: {\n cache: false, // fix issue: sometimes the derived will not change even if the deps changed\n deps: ['sessionType', 'status'],\n /**\n * Returns true if the breakout status is active\n * @returns {boolean}\n */\n fn() {\n return (\n this.sessionType === BREAKOUTS.SESSION_TYPES.BREAKOUT &&\n (this.status === BREAKOUTS.STATUS.OPEN || this.status === BREAKOUTS.STATUS.CLOSING)\n );\n },\n },\n breakoutGroupId: {\n cache: false,\n deps: ['manageGroups'],\n /**\n * Returns the active group id\n * @returns {boolean}\n */\n fn() {\n if (this.manageGroups?.length) {\n return this.manageGroups[0].status !== BREAKOUTS.STATUS.CLOSED\n ? this.manageGroups[0].id\n : '';\n }\n\n return '';\n },\n },\n breakoutStatus: {\n cache: true,\n deps: ['isInMainSession', 'status', 'groups'],\n /**\n * Returns the breakout status\n * @returns {boolean}\n */\n fn() {\n return this.isInMainSession ? this.groups?.[0]?.status : this.status;\n },\n },\n shouldQueryPreAssignments: {\n cache: false,\n deps: ['canManageBreakouts', 'enableBreakoutSession', 'hasBreakoutPreAssignments'],\n /**\n * Returns should query preAssignments or not\n * @returns {boolean}\n */\n fn() {\n return !!(\n this.canManageBreakouts &&\n this.enableBreakoutSession &&\n this.hasBreakoutPreAssignments\n );\n },\n },\n },\n\n /**\n * initialize for the breakouts\n * @returns {void}\n */\n initialize() {\n this.listenTo(this, 'change:breakoutStatus', () => {\n if (this.breakoutStatus === BREAKOUTS.STATUS.CLOSING) {\n this.trigger(BREAKOUTS.EVENTS.BREAKOUTS_CLOSING);\n }\n });\n this.listenTo(this, 'change:shouldQueryPreAssignments', () => {\n if (this.shouldQueryPreAssignments && !this.preAssignments) {\n this.queryPreAssignments();\n }\n });\n this.debouncedQueryRosters = debounce(this.queryRosters, 10, {\n leading: true,\n trailing: false,\n });\n this.listenTo(this.breakouts, 'add', (breakout) => {\n this.debouncedQueryRosters();\n this.triggerReturnToMainEvent(breakout);\n });\n this.listenTo(this.breakouts, 'change:requestedLastModifiedTime', (breakout) => {\n this.triggerReturnToMainEvent(breakout);\n });\n this.listenToCurrentSessionTypeChange();\n this.listenToBroadcastMessages();\n this.listenToBreakoutRosters();\n this.listenToBreakoutHelp();\n // @ts-ignore\n this.breakoutRequest = new BreakoutRequest({webex: this.webex});\n },\n\n /**\n * Calls this to clean up listeners\n * @returns {void}\n */\n cleanUp() {\n this.stopListening();\n },\n\n /**\n * Update the current locus url of the meeting\n * @param {string} locusUrl // locus url\n * @returns {void}\n */\n locusUrlUpdate(locusUrl) {\n this.set('locusUrl', locusUrl);\n const {isInMainSession, mainLocusUrl} = this;\n if (isInMainSession || !mainLocusUrl) {\n this.set('mainLocusUrl', locusUrl);\n }\n },\n\n /**\n * Update whether self is moderator/cohost or not\n * @param {boolean} canManageBreakouts\n * @returns {void}\n */\n updateCanManageBreakouts(canManageBreakouts) {\n this.set('canManageBreakouts', canManageBreakouts);\n },\n\n /**\n * Update the current breakout resource url\n * @param {string} breakoutServiceUrl\n * @returns {void}\n */\n breakoutServiceUrlUpdate(breakoutServiceUrl) {\n this.set('breakoutServiceUrl', `${breakoutServiceUrl}/breakout/`);\n },\n\n /**\n * The initial roster lists need to be queried because you don't\n * get a breakout.roster event when you join the meeting\n * @returns {void}\n */\n queryRosters() {\n this.webex\n .request({uri: `${this.url}/roster`, qs: {locusUrl: btoa(this.locusUrl)}})\n .then((result) => {\n const {\n body: {rosters},\n } = result;\n\n rosters?.forEach(({locus}) => {\n this.handleRosterUpdate(locus);\n });\n\n this.trigger(BREAKOUTS.EVENTS.MEMBERS_UPDATE);\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:breakouts#queryRosters failed', error);\n });\n },\n\n /**\n *\n * @param {Object} locus // locus object\n * @returns {void}\n */\n handleRosterUpdate(locus) {\n const sessionId = locus.controls?.breakout?.sessionId;\n\n const session = this.breakouts.get(sessionId);\n\n if (!session) {\n return;\n }\n\n session.parseRoster(locus);\n },\n /**\n *Sets up listener for currentBreakoutSession sessionType changed\n * @returns {void}\n */\n listenToCurrentSessionTypeChange(): void {\n this.listenTo(\n this.currentBreakoutSession,\n 'change:sessionType',\n (currentBreakoutSession, sessionType) => {\n if (isSessionTypeChangedFromSessionToMain(currentBreakoutSession, sessionType)) {\n this.trigger(BREAKOUTS.EVENTS.LEAVE_BREAKOUT);\n }\n }\n );\n },\n\n /**\n * Sets up listener for broadcast messages sent to the breakout session\n * @returns {void}\n */\n listenToBroadcastMessages() {\n this.listenTo(this.webex.internal.llm, 'event:breakout.message', (event) => {\n const {\n data: {senderUserId, sentTime, message},\n } = event;\n\n this.trigger(BREAKOUTS.EVENTS.MESSAGE, {\n senderUserId,\n sentTime,\n message,\n // FIXME: This is only the current sessionId\n // We'd need to check that the dataChannelUrl is still the same\n // to guarantee that this message was sent to this session\n sessionId: this.currentBreakoutSession.sessionId,\n });\n });\n },\n\n /**\n * Sets up a listener for roster messags from mecury\n * @returns {void}\n */\n listenToBreakoutRosters() {\n this.listenTo(this.webex.internal.mercury, 'event:breakout.roster', (event) => {\n this.handleRosterUpdate(event.data.locus);\n this.trigger(BREAKOUTS.EVENTS.MEMBERS_UPDATE);\n });\n },\n\n /**\n * Sets up a listener for ask help notify from mecury\n * @returns {void}\n */\n listenToBreakoutHelp() {\n this.listenTo(this.webex.internal.mercury, 'event:breakout.help', (event) => {\n const {\n data: {participant, sessionId},\n } = event;\n this.trigger(BREAKOUTS.EVENTS.ASK_FOR_HELP, {participant, sessionId});\n });\n },\n\n /**\n * get current breakout is in progress or not\n * @returns {boolean}\n */\n isBreakoutInProgress() {\n const currentStatus = this.groups?.[0]?.status || this.status;\n\n return currentStatus === BREAKOUTS.STATUS.OPEN || currentStatus === BREAKOUTS.STATUS.CLOSING;\n },\n\n /**\n * get current breakout is in closing or not\n * @returns {boolean}\n */\n isBreakoutIClosing() {\n return (this.groups?.[0]?.status || this.status) === BREAKOUTS.STATUS.CLOSING;\n },\n /**\n * Updates the information about the current breakout\n * @param {Object} params\n * @returns {void}\n */\n updateBreakout(params) {\n this.set(params);\n // These values are set manually so they are unset when they are not included in params\n this.set('groups', params.groups);\n this.set('startTime', params.startTime);\n this.set('status', params.status);\n\n this.set('currentBreakoutSession', {\n sessionId: params.sessionId,\n groupId: params.groupId,\n name: params.name,\n current: true,\n sessionType: params.sessionType,\n url: params.url,\n [BREAKOUTS.SESSION_STATES.ACTIVE]: false,\n [BREAKOUTS.SESSION_STATES.ALLOWED]: false,\n [BREAKOUTS.SESSION_STATES.ASSIGNED]: false,\n [BREAKOUTS.SESSION_STATES.ASSIGNED_CURRENT]: false,\n [BREAKOUTS.SESSION_STATES.REQUESTED]: false,\n });\n\n if (!this.isBreakoutInProgress()) {\n this.clearBreakouts();\n }\n\n if (\n this.currentBreakoutSession.previous('sessionId') !== this.currentBreakoutSession.sessionId ||\n this.currentBreakoutSession.previous('groupId') !== this.currentBreakoutSession.groupId\n ) {\n // should report joined session changed\n const meeting = this.webex.meetings.getMeetingByType(_ID_, this.meetingId);\n breakoutEvent.onBreakoutJoinResponse(\n {\n currentSession: this.currentBreakoutSession,\n meeting,\n breakoutMoveId: params.breakoutMoveId,\n },\n // @ts-ignore\n this.webex.internal.newMetrics.submitClientEvent.bind(this.webex.internal.newMetrics)\n );\n }\n },\n\n /**\n * Updates the information about available breakouts\n * @param {Object} payload\n * @returns {void}\n */\n updateBreakoutSessions(payload) {\n const breakouts = {};\n if (this.isBreakoutIClosing()) {\n // fix issue: don't clear/update breakouts collection when in closing since locus DTO will send undefined or\n // only the MAIN session info here, if just update it, will miss the breakout roster info during\n // count down to end breakouts\n return;\n }\n if (payload.breakoutSessions) {\n forEach(BREAKOUTS.SESSION_STATES, (state) => {\n forEach(payload.breakoutSessions[state], (breakout) => {\n const {sessionId} = breakout;\n\n if (!breakouts[sessionId]) {\n breakouts[sessionId] = breakout;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.ACTIVE] = false;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.ASSIGNED] = false;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.ALLOWED] = false;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.ASSIGNED_CURRENT] = false;\n breakouts[sessionId][BREAKOUTS.SESSION_STATES.REQUESTED] = false;\n }\n\n breakouts[sessionId][state] = true;\n\n if (state === BREAKOUTS.SESSION_STATES.REQUESTED) {\n breakouts[sessionId].requestedLastModifiedTime = breakout.modifiedAt;\n }\n });\n });\n }\n forEach(breakouts, (breakout: typeof Breakout) => {\n // eslint-disable-next-line no-param-reassign\n breakout.url = this.url;\n });\n\n this.breakouts.set(Object.values(breakouts));\n },\n /**\n * clear breakouts collection\n * @returns {void}\n */\n clearBreakouts() {\n if (this.breakouts.length > 0) {\n this.breakouts.reset();\n }\n },\n /**\n * get main session\n * @returns {Breakout}\n */\n getMainSession() {\n if (this.isInMainSession) {\n return this.currentBreakoutSession;\n }\n\n const mainSession = this.breakouts.filter((breakout) => breakout.isMain)[0];\n if (!mainSession) {\n throw new Error('no main session found');\n }\n\n return mainSession;\n },\n /**\n * Host/CoHost ask all participants return to main session\n * @returns {Promise}\n */\n askAllToReturn() {\n const mainSession = this.getMainSession();\n\n return this.webex.request({\n method: HTTP_VERBS.POST,\n uri: `${this.url}/requestMove`,\n body: {\n groupId: mainSession.groupId,\n sessionId: mainSession.sessionId,\n },\n });\n },\n\n /**\n * Broadcast message to all breakout session's participants\n * @param {String} message\n * @param {Object} options\n * @returns {Promise}\n */\n broadcast(message, options) {\n const {breakoutGroupId} = this;\n if (!breakoutGroupId) {\n throw new Error('Cannot broadcast, no breakout session found');\n }\n\n return this.breakoutRequest.broadcast({\n url: this.url,\n message,\n options,\n groupId: breakoutGroupId,\n });\n },\n /**\n * Make enable breakout resource\n * @returns {Promise}\n */\n enableBreakouts() {\n if (this.breakoutServiceUrl) {\n // @ts-ignore\n return this.webex\n .request({\n method: HTTP_VERBS.POST,\n uri: this.breakoutServiceUrl,\n body: {\n locusUrl: this.locusUrl,\n },\n })\n .catch((err) => {\n LoggerProxy.logger.error(\n `Meeting:request#touchBreakout --> Error provisioning error ${err}`\n );\n throw err;\n });\n }\n\n return Promise.reject(new Error(`enableBreakouts: the breakoutServiceUrl is empty`));\n },\n\n /**\n * Make the meeting enable or disable breakout session\n * @param {boolean} enable\n * @returns {Promise}\n */\n async toggleBreakout(enable) {\n if (this.enableBreakoutSession === undefined) {\n const info = await this.enableBreakouts();\n // first time enable, set the initial data\n this.updateBreakout(info?.body);\n if (!enable) {\n await this.doToggleBreakout(enable);\n }\n } else {\n await this.doToggleBreakout(enable);\n }\n },\n\n /**\n * do toggle meeting breakout session enable or disable\n * @param {boolean} enable\n * @returns {Promise}\n */\n doToggleBreakout(enable) {\n const body = {\n ...(this.editLock && !!this.editLock.token ? {editlock: {token: this.editLock.token}} : {}),\n ...{enableBreakoutSession: enable},\n };\n\n // @ts-ignore\n return this.webex.request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body,\n });\n },\n\n /**\n * set groups to manageGroups prop\n * @param {Object} breakoutInfo -- breakout groups\n * @returns {void}\n */\n _setManageGroups(breakoutInfo) {\n if (breakoutInfo?.body?.groups) {\n this.set('manageGroups', breakoutInfo.body.groups);\n }\n },\n\n /**\n * Create new breakout sessions\n * @param {object} params -- breakout session group\n * @returns {Promise}\n */\n async create(params) {\n const payload = {...params};\n const body = {\n ...(this.editLock && !!this.editLock.token ? {editlock: {token: this.editLock.token}} : {}),\n ...{groups: [payload]},\n };\n // @ts-ignore\n const breakoutInfo = await this.webex\n .request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body,\n })\n .catch((error) => {\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#create'));\n });\n\n this._setManageGroups(breakoutInfo);\n\n // clear edit lock info after save breakout session info\n this._clearEditLockInfo();\n\n return breakoutInfo;\n },\n\n /**\n * Delete all breakout sessions\n * @returns {Promise}\n */\n async clearSessions() {\n const body = {\n ...(this.editLock && !!this.editLock.token ? {editlock: {token: this.editLock.token}} : {}),\n ...{groups: [{action: BREAKOUTS.ACTION.DELETE}]},\n };\n // @ts-ignore\n const breakoutInfo = await this.webex\n .request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body,\n })\n .catch((error) => {\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#clearSessions'));\n });\n\n this._setManageGroups(breakoutInfo);\n\n return breakoutInfo;\n },\n\n /**\n * Host or cohost starts breakout sessions\n * @param {object} params\n * @returns {Promise}\n */\n async start(params = {}) {\n const action = BREAKOUTS.ACTION.START;\n const payload = {\n id: this.breakoutGroupId,\n action,\n allowBackToMain: false,\n allowToJoinLater: false,\n ...params,\n };\n\n const body = {\n ...(this.editLock && !!this.editLock.token\n ? {editlock: {token: this.editLock.token, refresh: true}}\n : {}),\n ...{groups: [payload]},\n };\n\n const breakoutInfo = await this.request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body,\n }).catch((error) => {\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#start'));\n });\n\n this._setManageGroups(breakoutInfo);\n\n return breakoutInfo;\n },\n\n /**\n * Host or cohost ends breakout sessions\n * @param {object} params\n * @returns {Promise}\n */\n async end(params = {}) {\n const {delayCloseTime, breakoutGroupId: id} = this;\n const action = BREAKOUTS.ACTION.CLOSE;\n const payload = {\n id,\n action,\n delayCloseTime,\n ...params,\n };\n\n const body = {\n ...(this.editLock && !!this.editLock.token\n ? {editlock: {token: this.editLock.token, refresh: true}}\n : {}),\n ...{groups: [payload]},\n };\n\n const breakoutInfo = await this.request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body,\n }).catch((error) => {\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#end'));\n });\n\n this._setManageGroups(breakoutInfo);\n\n return breakoutInfo;\n },\n\n /**\n * Host or cohost update breakout sessions\n * @param {Object} params\n * @param {String} params.id\n * @param {Boolean} unlockEdit\n * @returns {Promise}\n */\n async update(params: {id: string}, unlockEdit?: boolean) {\n if (!params.id) {\n return Promise.reject(new Error('Missing breakout group id'));\n }\n const payload = {...params};\n\n const body = {\n ...(this.editLock?.token\n ? {editlock: {token: this.editLock.token, refresh: !unlockEdit}}\n : {}),\n ...{groups: [payload]},\n };\n\n const breakoutInfo = await this.request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body,\n }).catch((error) => {\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#update'));\n });\n\n if (unlockEdit) {\n this._clearEditLockInfo();\n }\n\n this._setManageGroups(breakoutInfo);\n\n return breakoutInfo;\n },\n\n /**\n * get existed breakout sessions\n * @param {boolean} editlock -- lock operations of the breakout sessions\n * @returns {Promise}\n */\n async getBreakout(editlock) {\n const breakout = await this.request({\n method: HTTP_VERBS.GET,\n uri: this.url + (editlock ? `?editlock=${editlock}` : ''),\n });\n\n this._setManageGroups(breakout);\n if (editlock && breakout.body?.editlock?.token) {\n this.set('editLock', breakout.body.editlock);\n this.keepEditLockAlive();\n }\n\n return breakout;\n },\n\n /**\n * enable and edit lock breakout\n * @returns {void}\n */\n async enableAndLockBreakout() {\n if (this.enableBreakoutSession) {\n this.lockBreakout();\n } else {\n const info = await this.enableBreakouts();\n\n if (info.body) {\n this.lockBreakout();\n }\n }\n },\n\n /**\n * breakout edit locked by yourself or not\n * @returns {boolean}\n */\n hasBreakoutLocked() {\n return (\n this.editLock &&\n this.editLock.token &&\n this.editLock.state === BREAKOUTS.EDIT_LOCK_STATUS.LOCKED\n );\n },\n\n /**\n * send breakout edit lock\n * @returns {void}\n */\n async lockBreakout() {\n if (this.editLock && !!this.editLock.token) {\n if (this.editLock.state === BREAKOUTS.EDIT_LOCK_STATUS.LOCKED) {\n throw new Error('Breakout already locked');\n } else {\n this.keepEditLockAlive();\n }\n } else {\n const breakout = await this.getBreakout(true);\n if (breakout.body?.editlock) {\n this.keepEditLockAlive();\n }\n }\n },\n\n /**\n * keep edit lock alive\n * @returns {void}\n */\n keepEditLockAlive() {\n if (this.editLock && !!this.editLock.token) {\n const ttl = this.editLock.ttl < 30 ? BREAKOUTS.DEFAULT_TTL : this.editLock.ttl;\n if (this.intervalID) {\n window.clearInterval(this.intervalID);\n }\n\n this.intervalID = window.setInterval(() => {\n this.request({\n method: HTTP_VERBS.PUT,\n uri: `${this.url}/editlock/${this.editLock.token}`,\n }).catch((error) => {\n this._clearEditLockInfo();\n\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#keepEditLockAlive'));\n });\n }, (ttl / 2) * 1000);\n }\n },\n\n /**\n * unlock edit breakout\n * @returns {void}\n */\n unLockEditBreakout() {\n if (this.editLock && !!this.editLock.token) {\n this.request({\n method: HTTP_VERBS.DELETE,\n uri: `${this.url}/editlock/${this.editLock.token}`,\n })\n .then(() => {\n this._clearEditLockInfo();\n })\n .catch((error) => {\n return Promise.reject(boServiceErrorHandler(error, 'Breakouts#unLockEditBreakout'));\n });\n }\n },\n\n /**\n * clear interval and edit lock info\n * @private\n * @returns {void}\n */\n _clearEditLockInfo() {\n if (this.intervalID) {\n clearInterval(this.intervalID);\n }\n this.set('editLock', {});\n },\n\n /**\n * assign participants to breakout session\n * @param {Array} sessions\n * @returns {void}\n */\n assign(sessions: any[]) {\n const internalSessions = sessions.map((item) => {\n return {\n id: item.id,\n assigned: item.memberIds,\n assignedEmails: item.emails,\n anyoneCanJoin: !!item.anyone,\n };\n });\n\n const body = {\n ...(this.editLock && !!this.editLock.token\n ? {editlock: {token: this.editLock.token, refresh: true}}\n : {}),\n ...{\n groups: [\n {\n id: this.breakoutGroupId,\n sessions: internalSessions,\n },\n ],\n },\n };\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: this.url,\n body,\n });\n },\n\n /**\n * query preAssignments\n * @returns {void}\n */\n queryPreAssignments() {\n this.webex\n .request({uri: `${this.url}/preassignments`, qs: {locusUrl: btoa(this.locusUrl)}})\n .then((result) => {\n if (result.body?.groups) {\n this.set('preAssignments', result.body.groups);\n this.trigger(BREAKOUTS.EVENTS.PRE_ASSIGNMENTS_UPDATE);\n }\n })\n .catch((error) => {\n LoggerProxy.logger.error('Meeting:breakouts#queryPreAssignments failed', error);\n });\n },\n /**\n * assign participants dynamically after breakout sessions started,\n * but currently it only used for admitting participants from lobby into breakout directly\n * @param {Array} sessions\n * @returns {void}\n */\n dynamicAssign(sessions: any[]) {\n const updatedSessions = sessions.map((item) => {\n return {\n id: item.id,\n participants: item.participants,\n targetState: item.targetState,\n };\n });\n\n const body = {\n groups: [\n {\n id: this.breakoutGroupId,\n sessions: updatedSessions,\n },\n ],\n editlock: null,\n };\n\n if (this.editLock && this.editLock.token) {\n body.editlock = this.editLock;\n }\n\n return this.request({\n method: HTTP_VERBS.PUT,\n uri: `${this.url}/dynamicAssign`,\n body,\n });\n },\n /**\n * trigger ASK_RETURN_TO_MAIN event when main session requested\n * @param {Object} breakout\n * @returns {void}\n */\n triggerReturnToMainEvent(breakout) {\n if (breakout.isMain && breakout.requested) {\n this.trigger(BREAKOUTS.EVENTS.ASK_RETURN_TO_MAIN);\n }\n },\n});\n\nexport default Breakouts;\n"],"mappings":"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"}
|
package/dist/breakouts/utils.js
CHANGED
|
@@ -5,7 +5,7 @@ var _interopRequireDefault = require("@babel/runtime-corejs2/helpers/interopRequ
|
|
|
5
5
|
_Object$defineProperty(exports, "__esModule", {
|
|
6
6
|
value: true
|
|
7
7
|
});
|
|
8
|
-
exports.getBroadcastRoles = exports.boServiceErrorHandler = void 0;
|
|
8
|
+
exports.isSessionTypeChangedFromSessionToMain = exports.getBroadcastRoles = exports.boServiceErrorHandler = void 0;
|
|
9
9
|
var _loggerProxy = _interopRequireDefault(require("../common/logs/logger-proxy"));
|
|
10
10
|
var _editLockError = _interopRequireDefault(require("./edit-lock-error"));
|
|
11
11
|
var _constants = require("../constants");
|
|
@@ -52,5 +52,16 @@ var boServiceErrorHandler = function boServiceErrorHandler(error, position) {
|
|
|
52
52
|
_loggerProxy.default.logger.info("".concat(position, " --> ").concat((_throwError = throwError) === null || _throwError === void 0 ? void 0 : _throwError.message));
|
|
53
53
|
return throwError;
|
|
54
54
|
};
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
*
|
|
58
|
+
* @param {object} breakout
|
|
59
|
+
* @param {string} newSessionType
|
|
60
|
+
* @returns {boolean}
|
|
61
|
+
*/
|
|
55
62
|
exports.boServiceErrorHandler = boServiceErrorHandler;
|
|
63
|
+
var isSessionTypeChangedFromSessionToMain = function isSessionTypeChangedFromSessionToMain(breakout, newSessionType) {
|
|
64
|
+
return breakout.previous('sessionType') === _constants.BREAKOUTS.SESSION_TYPES.BREAKOUT && newSessionType === _constants.BREAKOUTS.SESSION_TYPES.MAIN;
|
|
65
|
+
};
|
|
66
|
+
exports.isSessionTypeChangedFromSessionToMain = isSessionTypeChangedFromSessionToMain;
|
|
56
67
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["getBroadcastRoles","options","recipientRoles","cohosts","presenters","push","boServiceErrorHandler","error","position","errorCode","body","BREAKOUTS","ERROR_CODE","EDIT_LOCK_TOKEN_MISMATCH","EDIT_NOT_AUTHORIZED","throwError","BreakoutEditLockedError","LoggerProxy","logger","info","message"],"sources":["utils.ts"],"sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport BreakoutEditLockedError from './edit-lock-error';\nimport {BREAKOUTS} from '../constants';\n\nexport const getBroadcastRoles = (options): string[] => {\n const recipientRoles = [];\n if (!options || (!options.cohosts && !options.presenters)) {\n return recipientRoles;\n }\n if (options.cohosts) {\n recipientRoles.push('COHOST');\n }\n if (options.presenters) {\n recipientRoles.push('PRESENTER');\n }\n\n return recipientRoles;\n};\n\n/**\n * Deals with all kinds of errors of breakout service\n * @param {object} error // one of the breakout service error\n * @param {string} position // position of the error occur\n * @returns {object}\n */\nexport const boServiceErrorHandler = (error: any, position: string): any => {\n const errorCode = error?.body?.errorCode;\n const {EDIT_LOCK_TOKEN_MISMATCH, EDIT_NOT_AUTHORIZED} = BREAKOUTS.ERROR_CODE;\n let throwError;\n switch (errorCode) {\n case EDIT_LOCK_TOKEN_MISMATCH:\n throwError = new BreakoutEditLockedError('Edit lock token mismatch', error);\n break;\n case EDIT_NOT_AUTHORIZED:\n throwError = new BreakoutEditLockedError('Not authorized to interact with edit lock', error);\n break;\n default:\n throwError = error;\n }\n LoggerProxy.logger.info(`${position} --> ${throwError?.message}`);\n\n return throwError;\n};\n"],"mappings":";;;;;;;;AACA;AACA;AACA;AAHA;;AAKO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiB,CAAIC,OAAO,EAAe;EACtD,IAAMC,cAAc,GAAG,EAAE;EACzB,IAAI,CAACD,OAAO,IAAK,CAACA,OAAO,CAACE,OAAO,IAAI,CAACF,OAAO,CAACG,UAAW,EAAE;IACzD,OAAOF,cAAc;EACvB;EACA,IAAID,OAAO,CAACE,OAAO,EAAE;IACnBD,cAAc,CAACG,IAAI,CAAC,QAAQ,CAAC;EAC/B;EACA,IAAIJ,OAAO,CAACG,UAAU,EAAE;IACtBF,cAAc,CAACG,IAAI,CAAC,WAAW,CAAC;EAClC;EAEA,OAAOH,cAAc;AACvB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALA;AAMO,IAAMI,qBAAqB,GAAG,SAAxBA,qBAAqB,CAAIC,KAAU,EAAEC,QAAgB,EAAU;EAAA;EAC1E,IAAMC,SAAS,GAAGF,KAAK,aAALA,KAAK,sCAALA,KAAK,CAAEG,IAAI,gDAAX,YAAaD,SAAS;EACxC,4BAAwDE,oBAAS,CAACC,UAAU;IAArEC,wBAAwB,yBAAxBA,wBAAwB;IAAEC,mBAAmB,yBAAnBA,mBAAmB;EACpD,IAAIC,UAAU;EACd,QAAQN,SAAS;IACf,KAAKI,wBAAwB;MAC3BE,UAAU,GAAG,IAAIC,sBAAuB,CAAC,0BAA0B,EAAET,KAAK,CAAC;MAC3E;IACF,KAAKO,mBAAmB;MACtBC,UAAU,GAAG,IAAIC,sBAAuB,CAAC,2CAA2C,EAAET,KAAK,CAAC;MAC5F;IACF;MACEQ,UAAU,GAAGR,KAAK;EAAC;EAEvBU,oBAAW,CAACC,MAAM,CAACC,IAAI,WAAIX,QAAQ,iCAAQO,UAAU,gDAAV,YAAYK,OAAO,EAAG;EAEjE,OAAOL,UAAU;AACnB,CAAC;AAAC"}
|
|
1
|
+
{"version":3,"names":["getBroadcastRoles","options","recipientRoles","cohosts","presenters","push","boServiceErrorHandler","error","position","errorCode","body","BREAKOUTS","ERROR_CODE","EDIT_LOCK_TOKEN_MISMATCH","EDIT_NOT_AUTHORIZED","throwError","BreakoutEditLockedError","LoggerProxy","logger","info","message","isSessionTypeChangedFromSessionToMain","breakout","newSessionType","previous","SESSION_TYPES","BREAKOUT","MAIN"],"sources":["utils.ts"],"sourcesContent":["// eslint-disable-next-line import/prefer-default-export\nimport LoggerProxy from '../common/logs/logger-proxy';\nimport BreakoutEditLockedError from './edit-lock-error';\nimport {BREAKOUTS} from '../constants';\n\nexport const getBroadcastRoles = (options): string[] => {\n const recipientRoles = [];\n if (!options || (!options.cohosts && !options.presenters)) {\n return recipientRoles;\n }\n if (options.cohosts) {\n recipientRoles.push('COHOST');\n }\n if (options.presenters) {\n recipientRoles.push('PRESENTER');\n }\n\n return recipientRoles;\n};\n\n/**\n * Deals with all kinds of errors of breakout service\n * @param {object} error // one of the breakout service error\n * @param {string} position // position of the error occur\n * @returns {object}\n */\nexport const boServiceErrorHandler = (error: any, position: string): any => {\n const errorCode = error?.body?.errorCode;\n const {EDIT_LOCK_TOKEN_MISMATCH, EDIT_NOT_AUTHORIZED} = BREAKOUTS.ERROR_CODE;\n let throwError;\n switch (errorCode) {\n case EDIT_LOCK_TOKEN_MISMATCH:\n throwError = new BreakoutEditLockedError('Edit lock token mismatch', error);\n break;\n case EDIT_NOT_AUTHORIZED:\n throwError = new BreakoutEditLockedError('Not authorized to interact with edit lock', error);\n break;\n default:\n throwError = error;\n }\n LoggerProxy.logger.info(`${position} --> ${throwError?.message}`);\n\n return throwError;\n};\n\n/**\n *\n * @param {object} breakout\n * @param {string} newSessionType\n * @returns {boolean}\n */\nexport const isSessionTypeChangedFromSessionToMain = (breakout, newSessionType) => {\n return (\n breakout.previous('sessionType') === BREAKOUTS.SESSION_TYPES.BREAKOUT &&\n newSessionType === BREAKOUTS.SESSION_TYPES.MAIN\n );\n};\n"],"mappings":";;;;;;;;AACA;AACA;AACA;AAHA;;AAKO,IAAMA,iBAAiB,GAAG,SAApBA,iBAAiB,CAAIC,OAAO,EAAe;EACtD,IAAMC,cAAc,GAAG,EAAE;EACzB,IAAI,CAACD,OAAO,IAAK,CAACA,OAAO,CAACE,OAAO,IAAI,CAACF,OAAO,CAACG,UAAW,EAAE;IACzD,OAAOF,cAAc;EACvB;EACA,IAAID,OAAO,CAACE,OAAO,EAAE;IACnBD,cAAc,CAACG,IAAI,CAAC,QAAQ,CAAC;EAC/B;EACA,IAAIJ,OAAO,CAACG,UAAU,EAAE;IACtBF,cAAc,CAACG,IAAI,CAAC,WAAW,CAAC;EAClC;EAEA,OAAOH,cAAc;AACvB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALA;AAMO,IAAMI,qBAAqB,GAAG,SAAxBA,qBAAqB,CAAIC,KAAU,EAAEC,QAAgB,EAAU;EAAA;EAC1E,IAAMC,SAAS,GAAGF,KAAK,aAALA,KAAK,sCAALA,KAAK,CAAEG,IAAI,gDAAX,YAAaD,SAAS;EACxC,4BAAwDE,oBAAS,CAACC,UAAU;IAArEC,wBAAwB,yBAAxBA,wBAAwB;IAAEC,mBAAmB,yBAAnBA,mBAAmB;EACpD,IAAIC,UAAU;EACd,QAAQN,SAAS;IACf,KAAKI,wBAAwB;MAC3BE,UAAU,GAAG,IAAIC,sBAAuB,CAAC,0BAA0B,EAAET,KAAK,CAAC;MAC3E;IACF,KAAKO,mBAAmB;MACtBC,UAAU,GAAG,IAAIC,sBAAuB,CAAC,2CAA2C,EAAET,KAAK,CAAC;MAC5F;IACF;MACEQ,UAAU,GAAGR,KAAK;EAAC;EAEvBU,oBAAW,CAACC,MAAM,CAACC,IAAI,WAAIX,QAAQ,iCAAQO,UAAU,gDAAV,YAAYK,OAAO,EAAG;EAEjE,OAAOL,UAAU;AACnB,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AALA;AAMO,IAAMM,qCAAqC,GAAG,SAAxCA,qCAAqC,CAAIC,QAAQ,EAAEC,cAAc,EAAK;EACjF,OACED,QAAQ,CAACE,QAAQ,CAAC,aAAa,CAAC,KAAKb,oBAAS,CAACc,aAAa,CAACC,QAAQ,IACrEH,cAAc,KAAKZ,oBAAS,CAACc,aAAa,CAACE,IAAI;AAEnD,CAAC;AAAC"}
|
|
@@ -77,14 +77,15 @@ WebExMeetingsErrors[UserNotJoinedError.CODE] = UserNotJoinedError;
|
|
|
77
77
|
* @classdesc Raised whenever the user has not established media yet.
|
|
78
78
|
* @extends WebexMeetingsError
|
|
79
79
|
* @property {number} code - 30103
|
|
80
|
-
* @property {string} message -
|
|
80
|
+
* @property {string} message - error message
|
|
81
81
|
*/
|
|
82
82
|
var NoMediaEstablishedYetError = /*#__PURE__*/function (_WebexMeetingsError3) {
|
|
83
83
|
(0, _inherits2.default)(NoMediaEstablishedYetError, _WebexMeetingsError3);
|
|
84
84
|
var _super3 = _createSuper(NoMediaEstablishedYetError);
|
|
85
|
+
// eslint-disable-next-line require-jsdoc
|
|
85
86
|
function NoMediaEstablishedYetError() {
|
|
86
87
|
(0, _classCallCheck2.default)(this, NoMediaEstablishedYetError);
|
|
87
|
-
return _super3.call(this, NoMediaEstablishedYetError.CODE, '
|
|
88
|
+
return _super3.call(this, NoMediaEstablishedYetError.CODE, 'Webrtc media connection is missing, call addMedia() first');
|
|
88
89
|
}
|
|
89
90
|
return (0, _createClass2.default)(NoMediaEstablishedYetError);
|
|
90
91
|
}(_webexMeetingsError.default);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["WebExMeetingsErrors","createMeetingsError","code","message","WebexMeetingsError","MeetingNotActiveError","CODE","UserNotJoinedError","NoMediaEstablishedYetError","UserInLobbyError","IceGatheringFailed"],"sources":["webex-errors.ts"],"sourcesContent":["// The document would auto generate the doc for errors\n\n// 1) Error codes for Oauth, login, mercury should be separated out (Code range)\n// 2) Errors from the actual locus server or other server in case, we can use the same error code as locus and redirect it\n// 3) Any errors we generate from the SDK can be split into various categories\n// Parameter validation, user action, connection, media specific(They can have different range)\n\n// TODO: all the errors from the server need to be captured\n\n// add a way to log and send metrics if needed\nimport WebexMeetingsError from './webex-meetings-error';\n\nconst WebExMeetingsErrors = {};\n\n/**\n * Create a {@link WebexMeetingsError} for a given code and message.\n * @private\n * @param {number} [code] - Error code\n * @param {string} [message] - Error message\n * @returns {WebexMeetingsError}\n */\nexport function createMeetingsError(code?: number, message?: string) {\n code = typeof code === 'number' ? code : 0;\n message = typeof message === 'string' && message ? message : 'Unknown error';\n\n return WebExMeetingsErrors[code]\n ? new WebExMeetingsErrors[code]()\n : new WebexMeetingsError(code, message);\n}\n\n/**\n * @class MeetingNotActiveError\n * @classdesc Raised whenever Meeting has already ended and user tries to do a action.\n * @extends WebexMeetingsError\n * @property {number} code - 30101\n * @property {string} message - 'Meeting has already Ended or not Active'\n */\nclass MeetingNotActiveError extends WebexMeetingsError {\n static CODE = 30101;\n\n constructor() {\n super(MeetingNotActiveError.CODE, 'Meeting has already Ended or not Active');\n }\n}\n\nexport {MeetingNotActiveError};\nWebExMeetingsErrors[MeetingNotActiveError.CODE] = MeetingNotActiveError;\n\n/**\n * @class UserNotJoinedError\n * @classdesc Raised whenever the user has already left the meeting and user tries to do a action.\n * @extends WebexMeetingsError\n * @property {number} code - 30102\n * @property {string} message - 'User has already left the meeting'\n */\nclass UserNotJoinedError extends WebexMeetingsError {\n static CODE = 30102;\n\n constructor() {\n super(\n UserNotJoinedError.CODE,\n 'User currently not in meeting. Please join a meeting before adding media.'\n );\n }\n}\n\nexport {UserNotJoinedError};\nWebExMeetingsErrors[UserNotJoinedError.CODE] = UserNotJoinedError;\n\n/**\n * @class NoMediaEstablishedYetError\n * @classdesc Raised whenever the user has not established media yet.\n * @extends WebexMeetingsError\n * @property {number} code - 30103\n * @property {string} message -
|
|
1
|
+
{"version":3,"names":["WebExMeetingsErrors","createMeetingsError","code","message","WebexMeetingsError","MeetingNotActiveError","CODE","UserNotJoinedError","NoMediaEstablishedYetError","UserInLobbyError","IceGatheringFailed"],"sources":["webex-errors.ts"],"sourcesContent":["// The document would auto generate the doc for errors\n\n// 1) Error codes for Oauth, login, mercury should be separated out (Code range)\n// 2) Errors from the actual locus server or other server in case, we can use the same error code as locus and redirect it\n// 3) Any errors we generate from the SDK can be split into various categories\n// Parameter validation, user action, connection, media specific(They can have different range)\n\n// TODO: all the errors from the server need to be captured\n\n// add a way to log and send metrics if needed\nimport WebexMeetingsError from './webex-meetings-error';\n\nconst WebExMeetingsErrors = {};\n\n/**\n * Create a {@link WebexMeetingsError} for a given code and message.\n * @private\n * @param {number} [code] - Error code\n * @param {string} [message] - Error message\n * @returns {WebexMeetingsError}\n */\nexport function createMeetingsError(code?: number, message?: string) {\n code = typeof code === 'number' ? code : 0;\n message = typeof message === 'string' && message ? message : 'Unknown error';\n\n return WebExMeetingsErrors[code]\n ? new WebExMeetingsErrors[code]()\n : new WebexMeetingsError(code, message);\n}\n\n/**\n * @class MeetingNotActiveError\n * @classdesc Raised whenever Meeting has already ended and user tries to do a action.\n * @extends WebexMeetingsError\n * @property {number} code - 30101\n * @property {string} message - 'Meeting has already Ended or not Active'\n */\nclass MeetingNotActiveError extends WebexMeetingsError {\n static CODE = 30101;\n\n constructor() {\n super(MeetingNotActiveError.CODE, 'Meeting has already Ended or not Active');\n }\n}\n\nexport {MeetingNotActiveError};\nWebExMeetingsErrors[MeetingNotActiveError.CODE] = MeetingNotActiveError;\n\n/**\n * @class UserNotJoinedError\n * @classdesc Raised whenever the user has already left the meeting and user tries to do a action.\n * @extends WebexMeetingsError\n * @property {number} code - 30102\n * @property {string} message - 'User has already left the meeting'\n */\nclass UserNotJoinedError extends WebexMeetingsError {\n static CODE = 30102;\n\n constructor() {\n super(\n UserNotJoinedError.CODE,\n 'User currently not in meeting. Please join a meeting before adding media.'\n );\n }\n}\n\nexport {UserNotJoinedError};\nWebExMeetingsErrors[UserNotJoinedError.CODE] = UserNotJoinedError;\n\n/**\n * @class NoMediaEstablishedYetError\n * @classdesc Raised whenever the user has not established media yet.\n * @extends WebexMeetingsError\n * @property {number} code - 30103\n * @property {string} message - error message\n */\nclass NoMediaEstablishedYetError extends WebexMeetingsError {\n static CODE = 30103;\n\n // eslint-disable-next-line require-jsdoc\n constructor() {\n super(\n NoMediaEstablishedYetError.CODE,\n 'Webrtc media connection is missing, call addMedia() first'\n );\n }\n}\n\nexport {NoMediaEstablishedYetError};\nWebExMeetingsErrors[NoMediaEstablishedYetError.CODE] = NoMediaEstablishedYetError;\n\n/**\n * @class UserInLobbyError\n * @classdesc Raised whenever the user is in lobby and not joined yet.\n * @extends WebexMeetingsError\n * @property {number} code - 30104\n * @property {string} message - 'user is still in the lobby or not joined'\n */\nclass UserInLobbyError extends WebexMeetingsError {\n static CODE = 30104;\n\n constructor() {\n super(UserInLobbyError.CODE, 'user is still in the lobby or not joined');\n }\n}\n\nexport {UserInLobbyError};\nWebExMeetingsErrors[UserInLobbyError.CODE] = UserInLobbyError;\n\n/**\n * @class IceGatheringFailed\n * @classdesc Raised whenever ice gathering fails.\n * @extends WebexMeetingsError\n * @property {number} code - 30202\n * @property {string} message - 'user failed ice gathering check network/firewall'\n */\nclass IceGatheringFailed extends WebexMeetingsError {\n static CODE = 30202;\n\n constructor() {\n super(IceGatheringFailed.CODE, 'iceConnection: gethering ice candidate failed');\n }\n}\n\nexport {IceGatheringFailed};\nWebExMeetingsErrors[IceGatheringFailed.CODE] = IceGatheringFailed;\n"],"mappings":";;;;;;;;;;;;;;;;AAUA;AAAwD;AAAA;AAExD,IAAMA,mBAAmB,GAAG,CAAC,CAAC;;AAE9B;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,mBAAmB,CAACC,IAAa,EAAEC,OAAgB,EAAE;EACnED,IAAI,GAAG,OAAOA,IAAI,KAAK,QAAQ,GAAGA,IAAI,GAAG,CAAC;EAC1CC,OAAO,GAAG,OAAOA,OAAO,KAAK,QAAQ,IAAIA,OAAO,GAAGA,OAAO,GAAG,eAAe;EAE5E,OAAOH,mBAAmB,CAACE,IAAI,CAAC,GAC5B,IAAIF,mBAAmB,CAACE,IAAI,CAAC,EAAE,GAC/B,IAAIE,2BAAkB,CAACF,IAAI,EAAEC,OAAO,CAAC;AAC3C;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AANA,IAOME,qBAAqB;EAAA;EAAA;EAGzB,iCAAc;IAAA;IAAA,yBACNA,qBAAqB,CAACC,IAAI,EAAE,yCAAyC;EAC7E;EAAC;AAAA,EALiCF,2BAAkB;AAAA;AAAA,8BAAhDC,qBAAqB,UACX,KAAK;AAQrBL,mBAAmB,CAACK,qBAAqB,CAACC,IAAI,CAAC,GAAGD,qBAAqB;;AAEvE;AACA;AACA;AACA;AACA;AACA;AACA;AANA,IAOME,kBAAkB;EAAA;EAAA;EAGtB,8BAAc;IAAA;IAAA,0BAEVA,kBAAkB,CAACD,IAAI,EACvB,2EAA2E;EAE/E;EAAC;AAAA,EAR8BF,2BAAkB;AAAA;AAAA,8BAA7CG,kBAAkB,UACR,KAAK;AAWrBP,mBAAmB,CAACO,kBAAkB,CAACD,IAAI,CAAC,GAAGC,kBAAkB;;AAEjE;AACA;AACA;AACA;AACA;AACA;AACA;AANA,IAOMC,0BAA0B;EAAA;EAAA;EAG9B;EACA,sCAAc;IAAA;IAAA,0BAEVA,0BAA0B,CAACF,IAAI,EAC/B,2DAA2D;EAE/D;EAAC;AAAA,EATsCF,2BAAkB;AAAA;AAAA,8BAArDI,0BAA0B,UAChB,KAAK;AAYrBR,mBAAmB,CAACQ,0BAA0B,CAACF,IAAI,CAAC,GAAGE,0BAA0B;;AAEjF;AACA;AACA;AACA;AACA;AACA;AACA;AANA,IAOMC,gBAAgB;EAAA;EAAA;EAGpB,4BAAc;IAAA;IAAA,0BACNA,gBAAgB,CAACH,IAAI,EAAE,0CAA0C;EACzE;EAAC;AAAA,EAL4BF,2BAAkB;AAAA;AAAA,8BAA3CK,gBAAgB,UACN,KAAK;AAQrBT,mBAAmB,CAACS,gBAAgB,CAACH,IAAI,CAAC,GAAGG,gBAAgB;;AAE7D;AACA;AACA;AACA;AACA;AACA;AACA;AANA,IAOMC,kBAAkB;EAAA;EAAA;EAGtB,8BAAc;IAAA;IAAA,0BACNA,kBAAkB,CAACJ,IAAI,EAAE,+CAA+C;EAChF;EAAC;AAAA,EAL8BF,2BAAkB;AAAA;AAAA,8BAA7CM,kBAAkB,UACR,KAAK;AAQrBV,mBAAmB,CAACU,kBAAkB,CAACJ,IAAI,CAAC,GAAGI,kBAAkB"}
|
|
@@ -7,7 +7,7 @@ _Object$defineProperty(exports, "__esModule", {
|
|
|
7
7
|
});
|
|
8
8
|
exports.default = void 0;
|
|
9
9
|
var _loggerConfig = _interopRequireDefault(require("./logger-config"));
|
|
10
|
-
/* eslint-disable no-unused-vars */
|
|
10
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
11
11
|
|
|
12
12
|
var LoggerProxy = {
|
|
13
13
|
logger: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["LoggerProxy","logger","info","args","console","error","log","warn","trace","debug","set","LoggerConfig","enable","get"],"sources":["logger-proxy.ts"],"sourcesContent":["/* eslint-disable no-unused-vars */\nimport LoggerConfig from './logger-config';\n\nconst LoggerProxy: any = {\n logger: {\n info: (args) => {\n console.error('LoggerProxy->info#NO LOGGER DEFINED');\n },\n log: (args) => {\n console.error('LoggerProxy->log#NO LOGGER DEFINED');\n },\n error: (args) => {\n console.error('LoggerProxy->error#NO LOGGER DEFINED');\n },\n warn: (args) => {\n console.error('LoggerProxy->warn#NO LOGGER DEFINED');\n },\n trace: (args) => {\n console.error('LoggerProxy->trace#NO LOGGER DEFINED');\n },\n debug: (args) => {\n console.error('LoggerProxy->debug#NO LOGGER DEFINED');\n },\n },\n};\n\nLoggerProxy.set = (logger) => {\n if (!LoggerConfig.enable) {\n LoggerProxy.logger = {\n info: () => {},\n log: () => {},\n error: () => {},\n warn: () => {},\n trace: () => {},\n debug: () => {},\n };\n } else {\n LoggerProxy.logger = logger;\n }\n};\n\nLoggerProxy.get = () => LoggerProxy.logger;\n\nexport default LoggerProxy;\n"],"mappings":";;;;;;;;AACA;AADA;;AAGA,IAAMA,WAAgB,GAAG;EACvBC,MAAM,EAAE;IACNC,IAAI,EAAE,cAACC,IAAI,EAAK;MACdC,OAAO,CAACC,KAAK,CAAC,qCAAqC,CAAC;IACtD,CAAC;IACDC,GAAG,EAAE,aAACH,IAAI,EAAK;MACbC,OAAO,CAACC,KAAK,CAAC,oCAAoC,CAAC;IACrD,CAAC;IACDA,KAAK,EAAE,eAACF,IAAI,EAAK;MACfC,OAAO,CAACC,KAAK,CAAC,sCAAsC,CAAC;IACvD,CAAC;IACDE,IAAI,EAAE,cAACJ,IAAI,EAAK;MACdC,OAAO,CAACC,KAAK,CAAC,qCAAqC,CAAC;IACtD,CAAC;IACDG,KAAK,EAAE,eAACL,IAAI,EAAK;MACfC,OAAO,CAACC,KAAK,CAAC,sCAAsC,CAAC;IACvD,CAAC;IACDI,KAAK,EAAE,eAACN,IAAI,EAAK;MACfC,OAAO,CAACC,KAAK,CAAC,sCAAsC,CAAC;IACvD;EACF;AACF,CAAC;AAEDL,WAAW,CAACU,GAAG,GAAG,UAACT,MAAM,EAAK;EAC5B,IAAI,CAACU,qBAAY,CAACC,MAAM,EAAE;IACxBZ,WAAW,CAACC,MAAM,GAAG;MACnBC,IAAI,EAAE,gBAAM,CAAC,CAAC;MACdI,GAAG,EAAE,eAAM,CAAC,CAAC;MACbD,KAAK,EAAE,iBAAM,CAAC,CAAC;MACfE,IAAI,EAAE,gBAAM,CAAC,CAAC;MACdC,KAAK,EAAE,iBAAM,CAAC,CAAC;MACfC,KAAK,EAAE,iBAAM,CAAC;IAChB,CAAC;EACH,CAAC,MAAM;IACLT,WAAW,CAACC,MAAM,GAAGA,MAAM;EAC7B;AACF,CAAC;AAEDD,WAAW,CAACa,GAAG,GAAG;EAAA,OAAMb,WAAW,CAACC,MAAM;AAAA;AAAC,eAE5BD,WAAW;AAAA"}
|
|
1
|
+
{"version":3,"names":["LoggerProxy","logger","info","args","console","error","log","warn","trace","debug","set","LoggerConfig","enable","get"],"sources":["logger-proxy.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-unused-vars */\nimport LoggerConfig from './logger-config';\n\nconst LoggerProxy: any = {\n logger: {\n info: (args) => {\n console.error('LoggerProxy->info#NO LOGGER DEFINED');\n },\n log: (args) => {\n console.error('LoggerProxy->log#NO LOGGER DEFINED');\n },\n error: (args) => {\n console.error('LoggerProxy->error#NO LOGGER DEFINED');\n },\n warn: (args) => {\n console.error('LoggerProxy->warn#NO LOGGER DEFINED');\n },\n trace: (args) => {\n console.error('LoggerProxy->trace#NO LOGGER DEFINED');\n },\n debug: (args) => {\n console.error('LoggerProxy->debug#NO LOGGER DEFINED');\n },\n },\n};\n\nLoggerProxy.set = (logger) => {\n if (!LoggerConfig.enable) {\n LoggerProxy.logger = {\n info: () => {},\n log: () => {},\n error: () => {},\n warn: () => {},\n trace: () => {},\n debug: () => {},\n };\n } else {\n LoggerProxy.logger = logger;\n }\n};\n\nLoggerProxy.get = () => LoggerProxy.logger;\n\nexport default LoggerProxy;\n"],"mappings":";;;;;;;;AACA;AADA;;AAGA,IAAMA,WAAgB,GAAG;EACvBC,MAAM,EAAE;IACNC,IAAI,EAAE,cAACC,IAAI,EAAK;MACdC,OAAO,CAACC,KAAK,CAAC,qCAAqC,CAAC;IACtD,CAAC;IACDC,GAAG,EAAE,aAACH,IAAI,EAAK;MACbC,OAAO,CAACC,KAAK,CAAC,oCAAoC,CAAC;IACrD,CAAC;IACDA,KAAK,EAAE,eAACF,IAAI,EAAK;MACfC,OAAO,CAACC,KAAK,CAAC,sCAAsC,CAAC;IACvD,CAAC;IACDE,IAAI,EAAE,cAACJ,IAAI,EAAK;MACdC,OAAO,CAACC,KAAK,CAAC,qCAAqC,CAAC;IACtD,CAAC;IACDG,KAAK,EAAE,eAACL,IAAI,EAAK;MACfC,OAAO,CAACC,KAAK,CAAC,sCAAsC,CAAC;IACvD,CAAC;IACDI,KAAK,EAAE,eAACN,IAAI,EAAK;MACfC,OAAO,CAACC,KAAK,CAAC,sCAAsC,CAAC;IACvD;EACF;AACF,CAAC;AAEDL,WAAW,CAACU,GAAG,GAAG,UAACT,MAAM,EAAK;EAC5B,IAAI,CAACU,qBAAY,CAACC,MAAM,EAAE;IACxBZ,WAAW,CAACC,MAAM,GAAG;MACnBC,IAAI,EAAE,gBAAM,CAAC,CAAC;MACdI,GAAG,EAAE,eAAM,CAAC,CAAC;MACbD,KAAK,EAAE,iBAAM,CAAC,CAAC;MACfE,IAAI,EAAE,gBAAM,CAAC,CAAC;MACdC,KAAK,EAAE,iBAAM,CAAC,CAAC;MACfC,KAAK,EAAE,iBAAM,CAAC;IAChB,CAAC;EACH,CAAC,MAAM;IACLT,WAAW,CAACC,MAAM,GAAGA,MAAM;EAC7B;AACF,CAAC;AAEDD,WAAW,CAACa,GAAG,GAAG;EAAA,OAAMb,WAAW,CAACC,MAAM;AAAA;AAAC,eAE5BD,WAAW;AAAA"}
|
package/dist/common/queue.js
CHANGED
|
@@ -10,23 +10,28 @@ var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime-corejs2/he
|
|
|
10
10
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/createClass"));
|
|
11
11
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime-corejs2/helpers/defineProperty"));
|
|
12
12
|
/**
|
|
13
|
-
* Simple queue
|
|
13
|
+
* Simple queue in which the elements are always sorted
|
|
14
14
|
*/
|
|
15
|
-
var
|
|
15
|
+
var SortedQueue = /*#__PURE__*/function () {
|
|
16
|
+
// returns -1 if left < right, 0 if left === right, +1 if left > right
|
|
17
|
+
|
|
16
18
|
/**
|
|
17
|
-
* @constructs
|
|
19
|
+
* @constructs SortedQueue
|
|
20
|
+
* @param {Function} compareFunc comparison function used for sorting the elements of the queue
|
|
18
21
|
*/
|
|
19
|
-
function
|
|
20
|
-
(0, _classCallCheck2.default)(this,
|
|
22
|
+
function SortedQueue(compareFunc) {
|
|
23
|
+
(0, _classCallCheck2.default)(this, SortedQueue);
|
|
21
24
|
(0, _defineProperty2.default)(this, "queue", void 0);
|
|
25
|
+
(0, _defineProperty2.default)(this, "compareFunc", void 0);
|
|
22
26
|
this.queue = [];
|
|
27
|
+
this.compareFunc = compareFunc;
|
|
23
28
|
}
|
|
24
29
|
|
|
25
30
|
/**
|
|
26
31
|
* Removes all of the elements from queue.
|
|
27
32
|
* @returns {undefined}
|
|
28
33
|
*/
|
|
29
|
-
(0, _createClass2.default)(
|
|
34
|
+
(0, _createClass2.default)(SortedQueue, [{
|
|
30
35
|
key: "clear",
|
|
31
36
|
value: function clear() {
|
|
32
37
|
this.queue = [];
|
|
@@ -40,7 +45,17 @@ var SimpleQueue = /*#__PURE__*/function () {
|
|
|
40
45
|
}, {
|
|
41
46
|
key: "enqueue",
|
|
42
47
|
value: function enqueue(item) {
|
|
43
|
-
this
|
|
48
|
+
var _this = this;
|
|
49
|
+
// Find the index of the first item in the queue that's greater or equal to the new item.
|
|
50
|
+
// That's where we want to insert the new item.
|
|
51
|
+
var idx = this.queue.findIndex(function (existingItem) {
|
|
52
|
+
return _this.compareFunc(existingItem, item) >= 0;
|
|
53
|
+
});
|
|
54
|
+
if (idx >= 0) {
|
|
55
|
+
this.queue.splice(idx, 0, item);
|
|
56
|
+
} else {
|
|
57
|
+
this.queue.push(item);
|
|
58
|
+
}
|
|
44
59
|
}
|
|
45
60
|
|
|
46
61
|
/**
|
|
@@ -67,7 +82,7 @@ var SimpleQueue = /*#__PURE__*/function () {
|
|
|
67
82
|
return this.queue.length;
|
|
68
83
|
}
|
|
69
84
|
}]);
|
|
70
|
-
return
|
|
85
|
+
return SortedQueue;
|
|
71
86
|
}();
|
|
72
|
-
exports.default =
|
|
87
|
+
exports.default = SortedQueue;
|
|
73
88
|
//# sourceMappingURL=queue.js.map
|
package/dist/common/queue.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["SortedQueue","compareFunc","queue","item","idx","findIndex","existingItem","splice","push","length","shift"],"sources":["queue.ts"],"sourcesContent":["/**\n * Simple queue in which the elements are always sorted\n */\nexport default class SortedQueue<ItemType> {\n queue: ItemType[];\n // returns -1 if left < right, 0 if left === right, +1 if left > right\n compareFunc: (left: ItemType, right: ItemType) => number;\n\n /**\n * @constructs SortedQueue\n * @param {Function} compareFunc comparison function used for sorting the elements of the queue\n */\n constructor(compareFunc: (left: ItemType, right: ItemType) => number) {\n this.queue = [];\n this.compareFunc = compareFunc;\n }\n\n /**\n * Removes all of the elements from queue.\n * @returns {undefined}\n */\n clear() {\n this.queue = [];\n }\n\n /**\n * Inserts the specified element into the queue.\n * @param {object} item\n * @returns {undefined}\n */\n enqueue(item: ItemType) {\n // Find the index of the first item in the queue that's greater or equal to the new item.\n // That's where we want to insert the new item.\n const idx = this.queue.findIndex((existingItem) => {\n return this.compareFunc(existingItem, item) >= 0;\n });\n if (idx >= 0) {\n this.queue.splice(idx, 0, item);\n } else {\n this.queue.push(item);\n }\n }\n\n /**\n * Returns and removes the head of the queue.\n * Returns null if the queue is empty.\n * @returns {(object|null)} Queue item or null.\n */\n dequeue(): ItemType {\n if (this.queue.length === 0) {\n return null;\n }\n\n return this.queue.shift();\n }\n\n /**\n * Returns the number of items in queue.\n * @returns {number}\n */\n size() {\n return this.queue.length;\n }\n}\n"],"mappings":";;;;;;;;;;;AAAA;AACA;AACA;AAFA,IAGqBA,WAAW;EAE9B;;EAGA;AACF;AACA;AACA;EACE,qBAAYC,WAAwD,EAAE;IAAA;IAAA;IAAA;IACpE,IAAI,CAACC,KAAK,GAAG,EAAE;IACf,IAAI,CAACD,WAAW,GAAGA,WAAW;EAChC;;EAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,iBAAQ;MACN,IAAI,CAACC,KAAK,GAAG,EAAE;IACjB;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA,OAKA,iBAAQC,IAAc,EAAE;MAAA;MACtB;MACA;MACA,IAAMC,GAAG,GAAG,IAAI,CAACF,KAAK,CAACG,SAAS,CAAC,UAACC,YAAY,EAAK;QACjD,OAAO,KAAI,CAACL,WAAW,CAACK,YAAY,EAAEH,IAAI,CAAC,IAAI,CAAC;MAClD,CAAC,CAAC;MACF,IAAIC,GAAG,IAAI,CAAC,EAAE;QACZ,IAAI,CAACF,KAAK,CAACK,MAAM,CAACH,GAAG,EAAE,CAAC,EAAED,IAAI,CAAC;MACjC,CAAC,MAAM;QACL,IAAI,CAACD,KAAK,CAACM,IAAI,CAACL,IAAI,CAAC;MACvB;IACF;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA,OAKA,mBAAoB;MAClB,IAAI,IAAI,CAACD,KAAK,CAACO,MAAM,KAAK,CAAC,EAAE;QAC3B,OAAO,IAAI;MACb;MAEA,OAAO,IAAI,CAACP,KAAK,CAACQ,KAAK,EAAE;IAC3B;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,gBAAO;MACL,OAAO,IAAI,CAACR,KAAK,CAACO,MAAM;IAC1B;EAAC;EAAA;AAAA;AAAA"}
|
package/dist/config.js
CHANGED
|
@@ -13,13 +13,7 @@ var _default = {
|
|
|
13
13
|
meetings: {
|
|
14
14
|
deviceType: _common.deviceType.WEB,
|
|
15
15
|
mediaSettings: {
|
|
16
|
-
|
|
17
|
-
sendVideo: true,
|
|
18
|
-
receiveAudio: true,
|
|
19
|
-
receiveVideo: true,
|
|
20
|
-
pstn: false,
|
|
21
|
-
sendShare: false,
|
|
22
|
-
receiveShare: false
|
|
16
|
+
pstn: false
|
|
23
17
|
},
|
|
24
18
|
reconnection: {
|
|
25
19
|
enabled: false,
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["meetings","deviceType","WEB","mediaSettings","
|
|
1
|
+
{"version":3,"names":["meetings","deviceType","WEB","mediaSettings","pstn","reconnection","enabled","autoRejoin","detection","iceReconnectionTimeout","maxRejoinAttempts","stats","enableStatsAnalyzer","autoDowngradeEnabled","interval","analyzerInterval","historyMax","videoPacketLossRatioThreshold","rttThreshold","jitterThreshold","metrics","clientName","clientType","subClientType","mqaMetricsInterval","autoSendMQA","logging","enable","verboseEvents","resolution","maxWidth","maxHeight","idealWidth","idealHeight","screenResolution","bandwidth","audio","video","startBitrate","screenFrameRate","videoShareFrameRate","aspectRatio","autoUploadLogs","enableRtx","receiveTranscription","enableExtmap","enableAutomaticLLM","installedOrgID","undefined","experimental","enableMediaNegotiatedEvent","enableUnifiedMeetings","enableAdhocMeetings","enableTurnDiscovery","degradationPreferences","maxMacroblocksLimit"],"sources":["config.ts"],"sourcesContent":["import {\n // @ts-ignore\n deviceType,\n} from '@webex/common';\n\nexport default {\n // TODO: this needs to be defaulted\n // to JS_SDK and clients set it to WEB or others\n // see https://jira-eng-gpk2.cisco.com/jira/browse/SPARK-73167\n meetings: {\n deviceType: deviceType.WEB,\n mediaSettings: {\n pstn: false,\n },\n reconnection: {\n enabled: false,\n autoRejoin: true,\n detection: true,\n // Timeout duration to wait for ICE to reconnect if a disconnect is received.\n iceReconnectionTimeout: 10000,\n // Amount of times attempting to rejoin a meeting during reconnect\n maxRejoinAttempts: 3,\n },\n stats: {\n // Enable the webrtc stats analyzer that emits quality degradation events\n enableStatsAnalyzer: true,\n // Enable the auto downgrade video quality feature\n autoDowngradeEnabled: false,\n // 1 second intervals to collect stats data\n interval: 1000,\n // we just want to analyze data every 5 sec interval\n analyzerInterval: 5000,\n // hold the last 2 minute of a calls data\n historyMax: 120,\n // Once packet loss hits this ratio, the video will downgrade\n videoPacketLossRatioThreshold: 9, // comparison of packets lost / packets received\n rttThreshold: 500, // 500 ms noticeable quality lag begins based on bandwidth of user\n jitterThreshold: 500, // 500 ms noticeable quality lag begins based on bandwidth of user\n },\n metrics: {\n // change to your client name else data will be muddled\n // you do not need a specific format, and you do not need to register it\n clientName: 'WEBEX_JS_SDK',\n // TODO: for now this line has to be whitelisted, which is problematic for third party\n clientType: 'WEBEX_SDK',\n // Stores the sub client type used when sending metrics\n subClientType: 'WEB_APP',\n // send average values MQA in 60 second intervals\n mqaMetricsInterval: 60000,\n // send to cisco internal MQA data automatically\n // we already send CA\n autoSendMQA: true,\n },\n logging: {\n enable: true,\n verboseEvents: true,\n },\n resolution: {\n maxWidth: 1280,\n maxHeight: 720,\n idealWidth: 1280,\n idealHeight: 720,\n },\n screenResolution: {\n maxWidth: 1920,\n maxHeight: 1080,\n idealWidth: 1920,\n idealHeight: 1080,\n },\n bandwidth: {\n // please note, these are the maximum bandwidth values\n // the server supports, minimums have to be tested\n audio: 64000,\n video: 4000000,\n startBitrate: 2000,\n },\n screenFrameRate: 10,\n videoShareFrameRate: 30,\n aspectRatio: 1.7695852534562213,\n // When enabled, as calls are ended, it will upload the SDK logs and correlate them\n autoUploadLogs: true,\n enableRtx: true,\n receiveTranscription: false,\n enableExtmap: false,\n enableAutomaticLLM: false,\n installedOrgID: undefined,\n experimental: {\n enableMediaNegotiatedEvent: false,\n enableUnifiedMeetings: false,\n enableAdhocMeetings: false,\n enableTurnDiscovery: true,\n },\n degradationPreferences: {\n maxMacroblocksLimit: 8192,\n },\n },\n};\n"],"mappings":";;;;;;;AAAA;AAGuB,eAER;EACb;EACA;EACA;EACAA,QAAQ,EAAE;IACRC,UAAU,EAAEA,kBAAU,CAACC,GAAG;IAC1BC,aAAa,EAAE;MACbC,IAAI,EAAE;IACR,CAAC;IACDC,YAAY,EAAE;MACZC,OAAO,EAAE,KAAK;MACdC,UAAU,EAAE,IAAI;MAChBC,SAAS,EAAE,IAAI;MACf;MACAC,sBAAsB,EAAE,KAAK;MAC7B;MACAC,iBAAiB,EAAE;IACrB,CAAC;IACDC,KAAK,EAAE;MACL;MACAC,mBAAmB,EAAE,IAAI;MACzB;MACAC,oBAAoB,EAAE,KAAK;MAC3B;MACAC,QAAQ,EAAE,IAAI;MACd;MACAC,gBAAgB,EAAE,IAAI;MACtB;MACAC,UAAU,EAAE,GAAG;MACf;MACAC,6BAA6B,EAAE,CAAC;MAAE;MAClCC,YAAY,EAAE,GAAG;MAAE;MACnBC,eAAe,EAAE,GAAG,CAAE;IACxB,CAAC;;IACDC,OAAO,EAAE;MACP;MACA;MACAC,UAAU,EAAE,cAAc;MAC1B;MACAC,UAAU,EAAE,WAAW;MACvB;MACAC,aAAa,EAAE,SAAS;MACxB;MACAC,kBAAkB,EAAE,KAAK;MACzB;MACA;MACAC,WAAW,EAAE;IACf,CAAC;IACDC,OAAO,EAAE;MACPC,MAAM,EAAE,IAAI;MACZC,aAAa,EAAE;IACjB,CAAC;IACDC,UAAU,EAAE;MACVC,QAAQ,EAAE,IAAI;MACdC,SAAS,EAAE,GAAG;MACdC,UAAU,EAAE,IAAI;MAChBC,WAAW,EAAE;IACf,CAAC;IACDC,gBAAgB,EAAE;MAChBJ,QAAQ,EAAE,IAAI;MACdC,SAAS,EAAE,IAAI;MACfC,UAAU,EAAE,IAAI;MAChBC,WAAW,EAAE;IACf,CAAC;IACDE,SAAS,EAAE;MACT;MACA;MACAC,KAAK,EAAE,KAAK;MACZC,KAAK,EAAE,OAAO;MACdC,YAAY,EAAE;IAChB,CAAC;IACDC,eAAe,EAAE,EAAE;IACnBC,mBAAmB,EAAE,EAAE;IACvBC,WAAW,EAAE,kBAAkB;IAC/B;IACAC,cAAc,EAAE,IAAI;IACpBC,SAAS,EAAE,IAAI;IACfC,oBAAoB,EAAE,KAAK;IAC3BC,YAAY,EAAE,KAAK;IACnBC,kBAAkB,EAAE,KAAK;IACzBC,cAAc,EAAEC,SAAS;IACzBC,YAAY,EAAE;MACZC,0BAA0B,EAAE,KAAK;MACjCC,qBAAqB,EAAE,KAAK;MAC5BC,mBAAmB,EAAE,KAAK;MAC1BC,mBAAmB,EAAE;IACvB,CAAC;IACDC,sBAAsB,EAAE;MACtBC,mBAAmB,EAAE;IACvB;EACF;AACF,CAAC;AAAA"}
|