@100mslive/hms-video-store 0.6.1-alpha.0 → 0.6.1-alpha.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.
@@ -292,6 +292,24 @@ export interface IHMSActions {
292
292
  * JSON.stringify.
293
293
  */
294
294
  changeMetadata(metadata: string | any): Promise<void>;
295
+ /**
296
+ * If you want to update the metadata of the session. If an object is passed, it should be serializable using
297
+ * JSON.stringify.
298
+ *
299
+ * Session metadata is available to every peer in the room and is persisted throughout a session
300
+ * till the last peer leaves a room
301
+ *
302
+ * @alpha - the API is not stable and might have breaking changes later
303
+ */
304
+ setSessionMetadata(metadata: any, options?: {
305
+ localOnly: boolean;
306
+ }): Promise<void>;
307
+ /**
308
+ * Fetch the current room metadata from the server and populate it in store
309
+ *
310
+ * @alpha - the API is not stable and might have breaking changes later
311
+ */
312
+ populateSessionMetadata(): Promise<void>;
295
313
  /**
296
314
  * Set the type of logs from the SDK you want to be logged in the browser console.
297
315
  *
@@ -88,6 +88,10 @@ export declare class HMSSDKActions implements IHMSActions {
88
88
  sendHLSTimedMetadata(metadataList: sdkTypes.HLSTimedMetadata[]): Promise<void>;
89
89
  changeName(name: string): Promise<void>;
90
90
  changeMetadata(metadata: string | any): Promise<void>;
91
+ setSessionMetadata(metadata: any, options?: {
92
+ localOnly: boolean;
93
+ }): Promise<void>;
94
+ populateSessionMetadata(): Promise<void>;
91
95
  setRemoteTrackEnabled(trackID: HMSTrackID | HMSTrackID[], enabled: boolean): Promise<void>;
92
96
  setRemoteTracksEnabled(params: HMSChangeMultiTrackStateParams): Promise<void>;
93
97
  setLogLevel(level: HMSLogLevel): void;
@@ -1,5 +1,5 @@
1
1
  import { HMSRoleChangeRequest as SDKHMSRoleChangeRequest, HMSTrack as SDKHMSTrack } from '@100mslive/hms-video';
2
- import { HMSDeviceChangeEvent, HMSException, HMSMessage, HMSPeer, HMSPeerID, HMSPlaylistItem, HMSRole, HMSRoleChangeStoreRequest, HMSRoleName, HMSRoom, HMSTrack } from '../schema';
2
+ import { HMSDeviceChangeEvent, HMSException, HMSMessage, HMSPeer, HMSPeerID, HMSPlaylistItem, HMSRole, HMSRoleChangeStoreRequest, HMSRoleName, HMSRoom, HMSTrack, HMSVideoTrack } from '../schema';
3
3
  import * as sdkTypes from './sdkTypes';
4
4
  /**
5
5
  * This file has conversion functions from schema defined in sdk to normalised schema defined in store.
@@ -13,7 +13,7 @@ export declare class SDKToHMS {
13
13
  static convertTrack(sdkTrack: SDKHMSTrack, peerId?: HMSPeerID): HMSTrack;
14
14
  static enrichTrack(track: HMSTrack, sdkTrack: SDKHMSTrack): void;
15
15
  static updateDeviceID(track: HMSTrack, sdkTrack: SDKHMSTrack): void;
16
- static enrichVideoTrack(track: HMSTrack, sdkTrack: SDKHMSTrack): void;
16
+ static enrichVideoTrack(track: HMSVideoTrack, sdkTrack: SDKHMSTrack): void;
17
17
  static enrichPluginsDetails(track: HMSTrack, sdkTrack: SDKHMSTrack): void;
18
18
  static convertRoom(sdkRoom: sdkTypes.HMSRoom): Partial<HMSRoom>;
19
19
  static convertMessage(sdkMessage: sdkTypes.HMSMessage): Partial<HMSMessage> & Pick<HMSMessage, 'sender'>;
@@ -54,7 +54,7 @@ export interface HMSReconnectionNotification extends BaseNotification {
54
54
  type: HMSNotificationTypes.RECONNECTED | HMSNotificationTypes.RECONNECTING;
55
55
  data: null;
56
56
  }
57
- export declare type HMSNotification = HMSPeerNotification | HMSPeerListNotification | HMSTrackNotification | HMSMessageNotification | HMSExceptionNotification | HMSChangeTrackStateRequestNotification | HMSChangeMultiTrackStateRequestNotification | HMSLeaveRoomRequestNotification | HMSDeviceChangeEventNotification | HMSPlaylistItemNotification<any>;
57
+ export declare type HMSNotification = HMSPeerNotification | HMSPeerListNotification | HMSTrackNotification | HMSMessageNotification | HMSExceptionNotification | HMSChangeTrackStateRequestNotification | HMSChangeMultiTrackStateRequestNotification | HMSLeaveRoomRequestNotification | HMSDeviceChangeEventNotification | HMSReconnectionNotification | HMSPlaylistItemNotification<any>;
58
58
  export declare enum HMSNotificationSeverity {
59
59
  INFO = "info",
60
60
  ERROR = "error"
@@ -103,7 +103,7 @@ export declare type HMSNotificationMapping<T extends HMSNotificationTypes, C = a
103
103
  [HMSNotificationTypes.ROOM_ENDED]: HMSLeaveRoomRequestNotification;
104
104
  [HMSNotificationTypes.REMOVED_FROM_ROOM]: HMSLeaveRoomRequestNotification;
105
105
  [HMSNotificationTypes.DEVICE_CHANGE_UPDATE]: HMSDeviceChangeEventNotification;
106
- [HMSNotificationTypes.PLAYLIST_TRACK_ENDED]: HMSPlaylistItem<C>;
106
+ [HMSNotificationTypes.PLAYLIST_TRACK_ENDED]: HMSPlaylistItemNotification<C>;
107
107
  [HMSNotificationTypes.ERROR]: HMSExceptionNotification;
108
108
  [HMSNotificationTypes.CHANGE_TRACK_STATE_REQUEST]: HMSChangeTrackStateRequestNotification;
109
109
  [HMSNotificationTypes.CHANGE_MULTI_TRACK_STATE_REQUEST]: HMSChangeMultiTrackStateRequestNotification;
@@ -37,24 +37,40 @@ export interface HMSPeer {
37
37
  * deviceID - this is the ID of the source device for the track. This can be a dummy ID when track is on mute.
38
38
  * degraded - tells whether the track has been degraded(receiving lower video quality/no video) due to bad network locally
39
39
  */
40
- export interface HMSTrack {
40
+ interface BaseTrack {
41
41
  id: HMSTrackID;
42
42
  source?: HMSTrackSource;
43
43
  type: HMSTrackType;
44
44
  enabled: boolean;
45
- height?: number;
46
- width?: number;
45
+ displayEnabled?: boolean;
47
46
  peerId?: string;
48
47
  deviceID?: string;
49
48
  plugins?: string[];
50
- displayEnabled?: boolean;
49
+ }
50
+ export interface HMSAudioTrack extends BaseTrack {
51
+ source: 'regular' | 'audioplaylist' | string;
52
+ type: 'audio';
51
53
  volume?: number;
54
+ }
55
+ export interface HMSScreenAudioTrack extends HMSAudioTrack {
56
+ source: 'screen';
57
+ type: 'audio';
58
+ }
59
+ export interface HMSVideoTrack extends BaseTrack {
60
+ source: 'regular' | 'videoplaylist' | string;
61
+ type: 'video';
62
+ facingMode?: HMSTrackFacingMode;
52
63
  layer?: HMSSimulcastLayer;
53
64
  layerDefinitions?: SimulcastLayerDefinition[];
65
+ height?: number;
66
+ width?: number;
54
67
  degraded?: boolean;
68
+ }
69
+ export interface HMSScreenVideoTrack extends Omit<HMSVideoTrack, 'facingMode'> {
70
+ source: 'screen';
55
71
  displaySurface?: HMSTrackDisplaySurface;
56
- facingMode?: HMSTrackFacingMode;
57
72
  }
73
+ export declare type HMSTrack = HMSVideoTrack | HMSAudioTrack | HMSScreenVideoTrack | HMSScreenAudioTrack;
58
74
  /**
59
75
  * HMS Speaker stores the details of peers speaking at any point of time along with
60
76
  * their audio levels. This can be used to current speakers or highlight videotiles.
@@ -23,6 +23,7 @@ export interface HMSStore {
23
23
  roles: Record<string, HMSRole>;
24
24
  appData?: Record<string, any>;
25
25
  roleChangeRequests: HMSRoleChangeStoreRequest[];
26
+ sessionMetadata?: any;
26
27
  errors: HMSException[];
27
28
  }
28
29
  export interface HMSStatsStore {
@@ -1,15 +1,15 @@
1
- import { HMSPeer, HMSStore, HMSTrack, HMSTrackID } from '../schema';
1
+ import { HMSPeer, HMSStore, HMSTrack, HMSTrackID, HMSVideoTrack } from '../schema';
2
2
  declare type trackCheck = (track: HMSTrack | undefined) => boolean | undefined;
3
3
  export declare function getPeerTracksByCondition(tracks: Record<HMSTrackID, HMSTrack>, peer: HMSPeer | null, trackCheckFn?: trackCheck): {
4
- video: HMSTrack | undefined;
5
- audio: HMSTrack | undefined;
4
+ video: import("../schema").HMSAudioTrack | HMSVideoTrack | import("../schema").HMSScreenVideoTrack | undefined;
5
+ audio: import("../schema").HMSAudioTrack | HMSVideoTrack | import("../schema").HMSScreenVideoTrack | undefined;
6
6
  };
7
7
  export declare function isAudio(track: HMSTrack | undefined): boolean | undefined;
8
8
  export declare function isVideo(track: HMSTrack | undefined): boolean | undefined;
9
9
  export declare function isScreenShare(track: HMSTrack | undefined): boolean | undefined;
10
10
  export declare function isAudioPlaylist(track: HMSTrack | undefined): boolean | undefined;
11
11
  export declare function isVideoPlaylist(track: HMSTrack | undefined): boolean | undefined;
12
- export declare function isDegraded(track: HMSTrack | undefined): boolean;
12
+ export declare function isDegraded(track: HMSVideoTrack): boolean;
13
13
  export declare function isTrackEnabled(store: HMSStore, trackID?: string): boolean;
14
14
  /**
15
15
  * Should UI show the video track as enabled
@@ -1,4 +1,4 @@
1
- import { HMSMessage, HMSPeer, HMSPeerID, HMSRoom, HMSRoomState, HMSStore } from '../schema';
1
+ import { HMSMessage, HMSPeer, HMSPeerID, HMSRoom, HMSRoomState, HMSStore, HMSVideoTrack } from '../schema';
2
2
  import { HMSRole } from '../hmsSDKStore/sdkTypes';
3
3
  /**
4
4
  * Select the current {@link HMSRoom} object to which you are connected.
@@ -147,7 +147,7 @@ export declare const selectPeerSharingAudioPlaylist: import("reselect").OutputSe
147
147
  /**
148
148
  * Select an array of tracks that have been degraded(receiving lower video quality/no video) due to bad network locally.
149
149
  */
150
- export declare const selectDegradedTracks: import("reselect").OutputSelector<HMSStore, import("../schema").HMSTrack[], (res: import("../schema").HMSTrack[]) => import("../schema").HMSTrack[]>;
150
+ export declare const selectDegradedTracks: import("reselect").OutputSelector<HMSStore, HMSVideoTrack[], (res: import("../schema").HMSTrack[]) => HMSVideoTrack[]>;
151
151
  /**
152
152
  * Select the number of messages(sent and received).
153
153
  */
@@ -212,3 +212,5 @@ export declare const selectRTMPState: import("reselect").OutputSelector<HMSStore
212
212
  export declare const selectHLSState: import("reselect").OutputSelector<HMSStore, import("@100mslive/hms-video/dist/interfaces/room").HMSHLS, (res: HMSRoom) => import("@100mslive/hms-video/dist/interfaces/room").HMSHLS>;
213
213
  export declare const selectSessionId: import("reselect").OutputSelector<HMSStore, string, (res: HMSRoom) => string>;
214
214
  export declare const selectRoomStartTime: import("reselect").OutputSelector<HMSStore, Date | undefined, (res: HMSRoom) => Date | undefined>;
215
+ /** @alpha */
216
+ export declare const selectSessionMetadata: (store: HMSStore) => any;
@@ -1,4 +1,4 @@
1
- import { HMSPeerID, HMSRoleName, HMSStore, HMSTrack } from '../schema';
1
+ import { HMSPeerID, HMSRoleName, HMSStore, HMSTrack, HMSAudioTrack, HMSVideoTrack, HMSScreenVideoTrack } from '../schema';
2
2
  /**
3
3
  * Select the {@link HMSPeer} object given a peer ID.
4
4
  */
@@ -16,20 +16,36 @@ export declare const selectPeerNameByID: (id?: string | undefined) => import("./
16
16
  /**
17
17
  * Select the {@link HMSTrack} object given a track ID.
18
18
  */
19
- export declare const selectTrackByID: (id?: string | undefined) => import("./common").StoreSelector<HMSStore, HMSTrack | null>;
19
+ export declare const selectTrackByID: (id?: string | undefined) => import("./common").StoreSelector<HMSStore, HMSAudioTrack | HMSVideoTrack | HMSScreenVideoTrack | null>;
20
+ /**
21
+ * Select the {@link HMSVideoTrack} object given a track ID.
22
+ */
23
+ export declare const selectVideoTrackByID: (id?: string | undefined) => import("./common").StoreSelector<HMSStore, HMSVideoTrack | null>;
24
+ /**
25
+ * Select the {@link HMSAudioTrack} object given a track ID.
26
+ */
27
+ export declare const selectAudioTrackByID: (id?: string | undefined) => import("./common").StoreSelector<HMSStore, HMSAudioTrack | null>;
28
+ /**
29
+ * Select the {@link HMSScreenAudioTrack} object given a track ID.
30
+ */
31
+ export declare const selectScreenAudioTrackByID: (id?: string | undefined) => import("./common").StoreSelector<HMSStore, HMSAudioTrack | null>;
32
+ /**
33
+ * Select the {@link HMSScreenVideoTrack} object given a track ID.
34
+ */
35
+ export declare const selectScreenVideoTrackByID: (id?: string | undefined) => import("./common").StoreSelector<HMSStore, HMSScreenVideoTrack | null>;
20
36
  /**
21
37
  * Select the primary video track of a peer given a peer ID.
22
38
  */
23
- export declare const selectVideoTrackByPeerID: (id?: string | undefined) => import("./common").StoreSelector<HMSStore, HMSTrack | undefined>;
39
+ export declare const selectVideoTrackByPeerID: (id?: string | undefined) => import("./common").StoreSelector<HMSStore, HMSVideoTrack | undefined>;
24
40
  /**
25
41
  * Select the primary audio track of a peer given a peer ID.
26
42
  */
27
- export declare const selectAudioTrackByPeerID: (id?: string | undefined) => import("./common").StoreSelector<HMSStore, HMSTrack | undefined>;
43
+ export declare const selectAudioTrackByPeerID: (id?: string | undefined) => import("./common").StoreSelector<HMSStore, HMSAudioTrack | undefined>;
28
44
  /**
29
45
  * Select the camera stream of a peer given a peer ID.
30
46
  * This is the primary video track of a peer.
31
47
  */
32
- export declare const selectCameraStreamByPeerID: (id?: string | undefined) => import("./common").StoreSelector<HMSStore, HMSTrack | undefined>;
48
+ export declare const selectCameraStreamByPeerID: (id?: string | undefined) => import("./common").StoreSelector<HMSStore, HMSVideoTrack | undefined>;
33
49
  /**
34
50
  * Select an array of auxiliary tracks of a peer given a peer ID.
35
51
  */
@@ -47,27 +63,27 @@ export declare const selectConnectionQualityByPeerID: (id?: string | undefined)
47
63
  * Select the first auxiliary audio track of a peer given a peer ID.
48
64
  */
49
65
  export declare const selectAuxiliaryAudioByPeerID: (id?: string | undefined) => import("./common").StoreSelector<HMSStore, HMSTrack | undefined>;
50
- export declare const selectVideoPlaylistVideoTrackByPeerID: (id?: string | undefined) => import("./common").StoreSelector<HMSStore, HMSTrack | undefined>;
51
- export declare const selectVideoPlaylistAudioTrackByPeerID: (id?: string | undefined) => import("./common").StoreSelector<HMSStore, HMSTrack | undefined>;
52
- export declare const selectAudioPlaylistTrackByPeerID: (id?: string | undefined) => import("./common").StoreSelector<HMSStore, HMSTrack | undefined>;
66
+ export declare const selectVideoPlaylistVideoTrackByPeerID: (id?: string | undefined) => import("./common").StoreSelector<HMSStore, HMSAudioTrack | HMSVideoTrack | HMSScreenVideoTrack | undefined>;
67
+ export declare const selectVideoPlaylistAudioTrackByPeerID: (id?: string | undefined) => import("./common").StoreSelector<HMSStore, HMSAudioTrack | HMSVideoTrack | HMSScreenVideoTrack | undefined>;
68
+ export declare const selectAudioPlaylistTrackByPeerID: (id?: string | undefined) => import("./common").StoreSelector<HMSStore, HMSAudioTrack | HMSVideoTrack | HMSScreenVideoTrack | undefined>;
53
69
  export declare const selectScreenSharesByPeerId: (id?: string | undefined) => import("./common").StoreSelector<HMSStore, {
54
- video: HMSTrack | undefined;
55
- audio: HMSTrack | undefined;
70
+ video: HMSAudioTrack | HMSVideoTrack | HMSScreenVideoTrack | undefined;
71
+ audio: HMSAudioTrack | HMSVideoTrack | HMSScreenVideoTrack | undefined;
56
72
  }>;
57
73
  /**
58
74
  * Select the screen share video track of a peer given a peer ID.
59
75
  */
60
- export declare const selectScreenShareByPeerID: (id?: string) => import("reselect").OutputSelector<HMSStore, HMSTrack | undefined, (res: {
61
- video: HMSTrack | undefined;
62
- audio: HMSTrack | undefined;
63
- }) => HMSTrack | undefined>;
76
+ export declare const selectScreenShareByPeerID: (id?: string) => import("reselect").OutputSelector<HMSStore, HMSAudioTrack | HMSVideoTrack | HMSScreenVideoTrack | undefined, (res: {
77
+ video: HMSAudioTrack | HMSVideoTrack | HMSScreenVideoTrack | undefined;
78
+ audio: HMSAudioTrack | HMSVideoTrack | HMSScreenVideoTrack | undefined;
79
+ }) => HMSAudioTrack | HMSVideoTrack | HMSScreenVideoTrack | undefined>;
64
80
  /**
65
81
  * Select the screen share audio track of a peer given a peer ID.
66
82
  */
67
- export declare const selectScreenShareAudioByPeerID: (id?: string) => import("reselect").OutputSelector<HMSStore, HMSTrack | undefined, (res: {
68
- video: HMSTrack | undefined;
69
- audio: HMSTrack | undefined;
70
- }) => HMSTrack | undefined>;
83
+ export declare const selectScreenShareAudioByPeerID: (id?: string) => import("reselect").OutputSelector<HMSStore, HMSAudioTrack | HMSVideoTrack | HMSScreenVideoTrack | undefined, (res: {
84
+ video: HMSAudioTrack | HMSVideoTrack | HMSScreenVideoTrack | undefined;
85
+ audio: HMSAudioTrack | HMSVideoTrack | HMSScreenVideoTrack | undefined;
86
+ }) => HMSAudioTrack | HMSVideoTrack | HMSScreenVideoTrack | undefined>;
71
87
  /**
72
88
  * Select a boolean denoting whether a peer has unmuted audio and sharing it to other peers.
73
89
  */
package/dist/index.cjs.js CHANGED
@@ -1,2 +1,2 @@
1
- var Nt=Object.create;var z=Object.defineProperty,xt=Object.defineProperties,Lt=Object.getOwnPropertyDescriptor,Ot=Object.getOwnPropertyDescriptors,_t=Object.getOwnPropertyNames,Xe=Object.getOwnPropertySymbols,wt=Object.getPrototypeOf,ze=Object.prototype.hasOwnProperty,Ut=Object.prototype.propertyIsEnumerable;var Ze=(s,e,t)=>e in s?z(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,_=(s,e)=>{for(var t in e||(e={}))ze.call(e,t)&&Ze(s,t,e[t]);if(Xe)for(var t of Xe(e))Ut.call(e,t)&&Ze(s,t,e[t]);return s},W=(s,e)=>xt(s,Ot(e)),et=s=>z(s,"__esModule",{value:!0});var Kt=(s,e)=>{et(s);for(var t in e)z(s,t,{get:e[t],enumerable:!0})},Vt=(s,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of _t(e))!ze.call(s,i)&&i!=="default"&&z(s,i,{get:()=>e[i],enumerable:!(t=Lt(e,i))||t.enumerable});return s},D=s=>Vt(et(z(s!=null?Nt(wt(s)):{},"default",s&&s.__esModule&&"default"in s?{get:()=>s.default,enumerable:!0}:{value:s,enumerable:!0})),s);var S=(s,e,t)=>new Promise((i,o)=>{var r=u=>{try{a(t.next(u))}catch(R){o(R)}},n=u=>{try{a(t.throw(u))}catch(R){o(R)}},a=u=>u.done?i(u.value):Promise.resolve(u.value).then(r,n);a((t=t.apply(s,e)).next())});Kt(exports,{HMSAudioPluginType:()=>c.HMSAudioPluginType,HMSLogLevel:()=>c.HMSLogLevel,HMSMessageType:()=>fe,HMSNotificationSeverity:()=>P,HMSNotificationTypes:()=>m,HMSPlaylistType:()=>T,HMSReactiveStore:()=>L,HMSRoomState:()=>g,HMSStats:()=>ae,HMSVideoPluginCanvasContextType:()=>c.HMSVideoPluginCanvasContextType,HMSVideoPluginType:()=>c.HMSVideoPluginType,createDefaultStatsStore:()=>ee,createDefaultStoreState:()=>Z,parsedUserAgent:()=>c.parsedUserAgent,selectAppData:()=>Hs,selectAppDataByPath:()=>gs,selectAudioPlaylist:()=>we,selectAudioPlaylistTrackByPeerID:()=>bs,selectAudioTrackByPeerID:()=>Ht,selectAudioTrackVolume:()=>$e,selectAudioVolumeByPeerID:()=>Os,selectAuxiliaryAudioByPeerID:()=>Is,selectAuxiliaryTracksByPeerID:()=>fs,selectAvailableRoleNames:()=>cs,selectBroadcastMessages:()=>ft,selectBroadcastMessagesUnreadCount:()=>Vs,selectCameraStreamByPeerID:()=>ys,selectConnectionQualities:()=>Ft,selectConnectionQualityByPeerID:()=>Ds,selectDegradedTracks:()=>rs,selectDevices:()=>$t,selectDidIJoinWithin:()=>ri,selectDominantSpeaker:()=>zt,selectFullAppData:()=>de,selectHLSState:()=>us,selectHMSMessages:()=>oe,selectHMSMessagesCount:()=>Ne,selectHMSStats:()=>Et,selectIsAllowedToPublish:()=>Xs,selectIsAllowedToSubscribe:()=>Ss,selectIsAudioLocallyMuted:()=>je,selectIsConnectedToRoom:()=>nt,selectIsInPreview:()=>as,selectIsLocalAudioEnabled:()=>Zt,selectIsLocalAudioPluginPresent:()=>si,selectIsLocalScreenShared:()=>Me,selectIsLocalVideoDisplayEnabled:()=>Ae,selectIsLocalVideoEnabled:()=>ue,selectIsLocalVideoPluginPresent:()=>ti,selectIsLocallyMutedByPeerID:()=>xs,selectIsPeerAudioEnabled:()=>As,selectIsPeerVideoEnabled:()=>Ns,selectIsScreenShareLocallyMutedByPeerID:()=>Ls,selectIsSomeoneScreenSharing:()=>es,selectLocalAudioTrackID:()=>A,selectLocalMediaSettings:()=>be,selectLocalPeer:()=>E,selectLocalPeerID:()=>q,selectLocalPeerName:()=>Qt,selectLocalPeerRole:()=>re,selectLocalPeerRoleName:()=>Jt,selectLocalTrackIDs:()=>Ce,selectLocalVideoTrackID:()=>N,selectMessageIDsInOrder:()=>Ee,selectMessagesByPeerID:()=>Bs,selectMessagesByRole:()=>qs,selectMessagesMap:()=>ve,selectMessagesUnreadCountByPeerID:()=>$s,selectMessagesUnreadCountByRole:()=>js,selectPeerAudioByID:()=>Ps,selectPeerByCondition:()=>ii,selectPeerByID:()=>x,selectPeerCount:()=>Gt,selectPeerMetadata:()=>Gs,selectPeerName:()=>Ws,selectPeerNameByID:()=>hs,selectPeerScreenSharing:()=>at,selectPeerSharingAudio:()=>ts,selectPeerSharingAudioPlaylist:()=>os,selectPeerSharingVideoPlaylist:()=>is,selectPeers:()=>F,selectPeersByCondition:()=>oi,selectPeersByRole:()=>Fs,selectPeersMap:()=>v,selectPeersScreenSharing:()=>ss,selectPeersWithAudioStatus:()=>Qs,selectPermissions:()=>Le,selectRTMPState:()=>ds,selectRecordingState:()=>ls,selectRemotePeers:()=>Xt,selectRoleByRoleName:()=>zs,selectRoleChangeRequest:()=>Ys,selectRolesMap:()=>K,selectRoom:()=>I,selectRoomID:()=>jt,selectRoomStartTime:()=>ps,selectRoomStarted:()=>xe,selectRoomState:()=>b,selectScreenShareAudioByPeerID:()=>qe,selectScreenShareByPeerID:()=>Cs,selectScreenSharesByPeerId:()=>Be,selectScreenshareAudioVolumeByPeerID:()=>_s,selectSessionId:()=>Ms,selectSimulcastLayerByTrack:()=>ws,selectSpeakers:()=>rt,selectTrackAudioByID:()=>ks,selectTrackByID:()=>J,selectTracksMap:()=>y,selectUnreadHMSMessagesCount:()=>ns,selectVideoPlaylist:()=>Ue,selectVideoPlaylistAudioTrackByPeerID:()=>Es,selectVideoPlaylistVideoTrackByPeerID:()=>vs,selectVideoTrackByPeerID:()=>mt});var bt=D(require("immer")),Ct=D(require("zustand/vanilla")),At=D(require("zustand/shallow")),ye=D(require("@100mslive/hms-video"));var g;(function(a){a.Disconnected="Disconnected",a.Preview="Preview",a.Connecting="Connecting",a.Connected="Connected",a.Reconnecting="Reconnecting",a.Disconnecting="Disconnecting",a.Failed="Failed"})(g||(g={}));var Z=()=>({room:{id:"",isConnected:!1,name:"",peers:[],shareableLink:"",localPeer:"",hasWaitingRoom:!1,roomState:g.Disconnected,recording:{browser:{running:!1},server:{running:!1},hls:{running:!1}},rtmp:{running:!1},hls:{running:!1,variants:[]},sessionId:""},peers:{},tracks:{},playlist:{audio:{list:{},selection:{id:"",hasPrevious:!1,hasNext:!1},progress:0,volume:0,currentTime:0,playbackRate:1},video:{list:{},selection:{id:"",hasPrevious:!1,hasNext:!1},progress:0,volume:0,currentTime:0,playbackRate:1}},messages:{byID:{},allIDs:[]},speakers:{},connectionQualities:{},settings:{audioInputDeviceId:"",audioOutputDeviceId:"",videoInputDeviceId:""},devices:{audioInput:[],audioOutput:[],videoInput:[]},roles:{},roleChangeRequests:[],errors:[]}),ee=()=>({peerStats:{},trackStats:{},localPeer:{id:""}});var fe;(function(e){e.CHAT="chat"})(fe||(fe={}));var P;(function(t){t.INFO="info",t.ERROR="error"})(P||(P={}));var m;(function(l){l.PEER_JOINED="PEER_JOINED",l.PEER_LEFT="PEER_LEFT",l.PEER_LIST="PEER_LIST",l.NEW_MESSAGE="NEW_MESSAGE",l.ERROR="ERROR",l.RECONNECTING="RECONNECTING",l.RECONNECTED="RECONNECTED",l.TRACK_ADDED="TRACK_ADDED",l.TRACK_REMOVED="TRACK_REMOVED",l.TRACK_MUTED="TRACK_MUTED",l.TRACK_UNMUTED="TRACK_UNMUTED",l.TRACK_DEGRADED="TRACK_DEGRADED",l.TRACK_RESTORED="TRACK_RESTORED",l.TRACK_DESCRIPTION_CHANGED="TRACK_DESCRIPTION_CHANGED",l.ROLE_UPDATED="ROLE_UPDATED",l.CHANGE_TRACK_STATE_REQUEST="CHANGE_TRACK_STATE_REQUEST",l.CHANGE_MULTI_TRACK_STATE_REQUEST="CHANGE_MULTI_TRACK_STATE_REQUEST",l.ROOM_ENDED="ROOM_ENDED",l.REMOVED_FROM_ROOM="REMOVED_FROM_ROOM",l.DEVICE_CHANGE_UPDATE="DEVICE_CHANGE_UPDATE",l.PLAYLIST_TRACK_ENDED="PLAYLIST_TRACK_ENDED",l.NAME_UPDATED="NAME_UPDATED",l.METADATA_UPDATED="METADATA_UPDATED"})(m||(m={}));var T;(function(t){t.audio="audio",t.video="video"})(T||(T={}));var c=D(require("@100mslive/hms-video"));var U=D(require("@100mslive/hms-video"));var tt=(s,e)=>{let t=Ie(Object.keys(s),Object.keys(e));for(let i of t){let o=s[i],r=e[i];Re(o,r)?(w(o.auxiliaryTracks,r.auxiliaryTracks)&&(r.auxiliaryTracks=o.auxiliaryTracks),Object.assign(o,r)):Pe(o,r)?delete s[i]:De(o,r)&&(s[i]=r)}},st=(s,e)=>{let t=Ie(Object.keys(s),Object.keys(e));for(let i of t){let o=s[i],r=e[i];Re(o,r)?(Bt(o,r),Object.assign(o,r)):Pe(o,r)?delete s[i]:De(o,r)&&(s[i]=r)}},ke=(s,e)=>{let t=Ie(Object.keys(s),Object.keys(e));for(let i of t){let o=s[i],r=e[i];Re(o,r)?Object.assign(o,r):Pe(o,r)?delete s[i]:De(o,r)&&(s[i]=r)}},Bt=(s,e)=>{s.plugins&&w(s.plugins,e.plugins)&&(e.plugins=s.plugins),s.layerDefinitions&&w(s.layerDefinitions,e.layerDefinitions)&&(e.layerDefinitions=s.layerDefinitions)},Re=(s,e)=>s&&e,Pe=(s,e)=>s&&!e,De=(s,e)=>!s&&e,w=(s,e)=>{if(s===e||s.length===0&&(e==null?void 0:e.length)===0)return!0;if(!s||!e||s.length!==e.length)return!1;for(let t=0;t<s.length;t++)if(s[t]!==e[t])return!1;return!0},Ie=(s,e)=>{let t=new Set;for(let i of s)t.add(i);for(let i of e)t.add(i);return Array.from(t)};var H=class{static convertPeer(e){var t,i,o;return{id:e.peerId,name:e.name,roleName:(t=e.role)==null?void 0:t.name,isLocal:e.isLocal,videoTrack:(i=e.videoTrack)==null?void 0:i.trackId,audioTrack:(o=e.audioTrack)==null?void 0:o.trackId,auxiliaryTracks:e.auxiliaryTracks.map(r=>r.trackId),customerUserId:e.customerUserId,customerDescription:e.metadata,metadata:e.metadata,joinedAt:e.joinedAt}}static convertTrack(e,t){let i={id:e.trackId,source:e.source,type:e.type,enabled:e.enabled,displayEnabled:e.enabled,peerId:e.peerId||t};return this.enrichTrack(i,e),i}static enrichTrack(e,t){let i=t.getMediaTrackSettings();e.source==="screen"&&e.type==="video"&&(e.displaySurface=i.displaySurface),e.type==="video"&&(e.facingMode=i.facingMode),e.height=i.height,e.width=i.width,t instanceof U.HMSRemoteAudioTrack&&(e.volume=t.getVolume()||0),H.updateDeviceID(e,t),H.enrichVideoTrack(e,t),H.enrichPluginsDetails(e,t)}static updateDeviceID(e,t){var i;t instanceof U.HMSLocalVideoTrack||t instanceof U.HMSLocalAudioTrack?e.deviceID=t.settings.deviceId:e.deviceID=(i=t.getMediaTrackSettings())==null?void 0:i.deviceId}static enrichVideoTrack(e,t){t instanceof U.HMSRemoteVideoTrack&&(e.layer=t.getSimulcastLayer(),e.degraded=t.degraded,w(t.getSimulcastDefinitions(),e.layerDefinitions)||(e.layerDefinitions=t.getSimulcastDefinitions()))}static enrichPluginsDetails(e,t){(t instanceof U.HMSLocalVideoTrack||t instanceof U.HMSLocalAudioTrack)&&(w(t.getPlugins(),e.plugins)||(e.plugins=t.getPlugins()))}static convertRoom(e){var r,n;let{recording:t,rtmp:i,hls:o}=H.convertRecordingStreamingState(e==null?void 0:e.recording,e==null?void 0:e.rtmp,e==null?void 0:e.hls);return{id:e.id,name:e.name,localPeer:(n=(r=e.localPeer)==null?void 0:r.peerId)!=null?n:"",hasWaitingRoom:e.hasWaitingRoom,shareableLink:e.shareableLink,recording:t,rtmp:i,hls:o,sessionId:e.sessionId,startedAt:e.startedAt,joinedAt:e.joinedAt,peerCount:e.peerCount}}static convertMessage(e){var t,i,o,r,n,a,u;return{sender:(t=e.sender)==null?void 0:t.peerId,senderName:(i=e.sender)==null?void 0:i.name,senderRole:(r=(o=e.sender)==null?void 0:o.role)==null?void 0:r.name,senderUserId:(n=e.sender)==null?void 0:n.customerUserId,recipientPeer:(a=e.recipientPeer)==null?void 0:a.peerId,recipientRoles:(u=e.recipientRoles)==null?void 0:u.map(R=>R.name),time:e.time,type:e.type,message:e.message}}static convertRoles(e){let t={};return e&&e.forEach(i=>{t[i.name]=i}),t}static convertRoleChangeRequest(e){var t;return{requestedBy:(t=e.requestedBy)==null?void 0:t.peerId,roleName:e.role.name,token:e.token}}static convertException(e){return{code:e.code,action:e.action,name:e.name,message:e.message,description:e.description,isTerminal:e.isTerminal,nativeError:e.nativeError,timestamp:new Date}}static convertDeviceChangeUpdate(e){let t={devices:e.devices,selection:e.selection,type:e.type};return e.error&&(t.error=this.convertException(e.error)),t}static convertPlaylist(e){let t=this.getConvertedPlaylistType(e,T.audio),i=this.getConvertedPlaylistType(e,T.video);return{audio:t,video:i}}static convertPlaylistItem(e,t){let i=t.type,o=e.getCurrentSelection(i),r=e.isPlaying(i),n=t.url===(o==null?void 0:o.url);return W(_({},t),{type:t.type,selected:n,playing:n&&r})}static getConvertedPlaylistType(e,t){let i={},o=e.getCurrentSelection(t),r=e.getCurrentProgress(t),n=e.getVolume(t),a=e.getList(t),u=e.getCurrentIndex(t);return e.getList(t).forEach(R=>{i[R.id]=H.convertPlaylistItem(e,R)}),{list:i,selection:{id:o==null?void 0:o.id,hasPrevious:u>0,hasNext:u<a.length-1},progress:r,volume:n,currentTime:e.getCurrentTime(t),playbackRate:e.getPlaybackRate(t)}}static convertRecordingStreamingState(e,t,i){var o;return{recording:{browser:_({running:!1},e==null?void 0:e.browser),server:_({running:!1},e==null?void 0:e.server),hls:_({running:!1},e==null?void 0:e.hls)},rtmp:_({running:!1},t),hls:{variants:((o=i==null?void 0:i.variants)==null?void 0:o.map(r=>r))||[],running:!!(i==null?void 0:i.running),error:i==null?void 0:i.error}}}};var d=D(require("reselect"));function $(s,e,t=qt){let i,o;if(e)for(let r of e.auxiliaryTracks){let n=s[r];t(n)&&(o=te(n)?n:o,i=se(n)?n:i)}return{video:i,audio:o}}function te(s){return s&&s.type==="audio"}function se(s){return s&&s.type==="video"}function qt(s){return s&&s.source==="screen"}function le(s){return s&&s.source==="audioplaylist"}function ie(s){return s&&s.source==="videoplaylist"}function it(s){return Boolean(s==null?void 0:s.degraded)}function Q(s,e){return e&&s.tracks[e]?s.tracks[e].enabled:!1}function ot(s,e){return e&&s.tracks[e]?s.tracks[e].displayEnabled:!1}var I=s=>s.room,jt=(0,d.createSelector)(I,s=>s.id),v=s=>s.peers,ve=s=>s.messages.byID,Ee=s=>s.messages.allIDs,y=s=>s.tracks,be=s=>s.settings,de=s=>s.appData,$t=s=>s.devices,rt=s=>s.speakers,Ft=s=>s.connectionQualities,nt=(0,d.createSelector)([I],s=>s&&s.isConnected),Gt=(0,d.createSelector)([nt,I],(s,e)=>s?e.peerCount!==void 0?e.peerCount||1:e.peers.length:Math.max(e.peerCount!==void 0?e.peerCount:e.peers.length-1,0)),F=(0,d.createSelector)([I,v],(s,e)=>s.peers.map(t=>e[t])),Wt=(0,d.createSelector)(y,s=>Object.values(s)),E=(0,d.createSelector)(I,v,(s,e)=>e[s.localPeer]),q=(0,d.createSelector)(I,s=>s.localPeer),Qt=(0,d.createSelector)(E,s=>s==null?void 0:s.name),Jt=(0,d.createSelector)(E,s=>s==null?void 0:s.roleName),A=(0,d.createSelector)(E,s=>s==null?void 0:s.audioTrack),N=(0,d.createSelector)(E,s=>s==null?void 0:s.videoTrack),Yt=(0,d.createSelector)(E,s=>s==null?void 0:s.auxiliaryTracks),Ce=(0,d.createSelector)([A,N,Yt],(s,e,t)=>{let i=[...t];return s&&i.unshift(s),e&&i.unshift(e),i}),Xt=(0,d.createSelector)(F,s=>s.filter(e=>!e.isLocal)),zt=(0,d.createSelector)(v,rt,(s,e)=>{let t=Object.entries(e).sort((i,o)=>{var a,u;let r=((a=i[1])==null?void 0:a.audioLevel)||0;return(((u=o[1])==null?void 0:u.audioLevel)||0)>r?1:-1});if(t.length>0&&t[0][1].audioLevel&&t[0][1].audioLevel>0){let i=t[0][1].peerID;if(i in s)return s[i]}return null}),Zt=s=>{let e=E(s);return Q(s,e==null?void 0:e.audioTrack)},ue=s=>{let e=E(s);return Q(s,e==null?void 0:e.videoTrack)},Ae=s=>{let e=E(s);return ot(s,e==null?void 0:e.videoTrack)},Me=(0,d.createSelector)(E,y,(s,e)=>{let{video:t,audio:i}=$(e,s);return!!(t||i)}),at=(0,d.createSelector)(v,y,(s,e)=>{let t;for(let i in s){let o=s[i],{video:r,audio:n}=$(e,o);if(r)return o;n&&!t&&(t=o)}return t}),es=(0,d.createSelector)(at,s=>!!s),ts=(0,d.createSelector)(v,y,(s,e)=>{for(let t in s){let i=s[t],{audio:o,video:r}=$(e,i);if(!r&&!!o)return i}}),ss=(0,d.createSelector)(v,y,(s,e)=>{let t=[],i=[];for(let o in s){let r=s[o],{video:n,audio:a}=$(e,r);n?t.push(r):a&&i.push(r)}return t.concat(i)}),is=(0,d.createSelector)(v,y,(s,e)=>{for(let t in e){let i=e[t];if(ie(i)&&se(i)&&i.peerId)return s[i.peerId]}}),os=(0,d.createSelector)(v,y,(s,e)=>{for(let t in e){let i=e[t];if(le(i)&&i.peerId)return s[i.peerId]}}),rs=(0,d.createSelector)(Wt,s=>s.filter(it)),Ne=(0,d.createSelector)(Ee,s=>s.length),ns=(0,d.createSelector)(ve,s=>Object.values(s).filter(e=>!e.read).length),oe=(0,d.createSelector)(Ee,ve,(s,e)=>{let t=[];return s.forEach(i=>{t.push(e[i])}),t}),b=(0,d.createSelector)([I],s=>s&&s.roomState),as=(0,d.createSelector)(b,s=>s===g.Preview),xe=(0,d.createSelector)(I,s=>s.roomState!==g.Disconnected),K=s=>s.roles,cs=(0,d.createSelector)([K],s=>Object.keys(s)),re=(0,d.createSelector)([E,K],(s,e)=>(s==null?void 0:s.roleName)?e[s.roleName]:null),Ss=(0,d.createSelector)([re],s=>{var e;return((e=s==null?void 0:s.subscribeParams)==null?void 0:e.subscribeToRoles)?s.subscribeParams.subscribeToRoles.length>0:!1}),Le=(0,d.createSelector)(re,s=>s==null?void 0:s.permissions),ls=(0,d.createSelector)(I,s=>s.recording),ds=(0,d.createSelector)(I,s=>s.rtmp),us=(0,d.createSelector)(I,s=>s.hls),Ms=(0,d.createSelector)(I,s=>s.sessionId),ps=(0,d.createSelector)(I,s=>s.startedAt);var Oe=D(require("reselect"));var ct=(s=T.audio)=>e=>e.playlist[s].list,_e=(s=T.audio)=>e=>e.playlist[s].selection,St=(s=T.audio)=>e=>e.playlist[s].progress,lt=(s=T.audio)=>e=>e.playlist[s].currentTime,dt=(s=T.audio)=>e=>e.playlist[s].playbackRate,ut=(s=T.audio)=>e=>e.playlist[s].volume,Mt=(s=T.audio)=>(0,Oe.createSelector)(ct(s),e=>Object.values(e)),pt=(s=T.audio)=>(0,Oe.createSelector)(ct(s),_e(s),(e,t)=>{if(!!t.id)return e[t.id]}),we={selection:_e(T.audio),progress:St(T.audio),currentTime:lt(T.audio),playbackRate:dt(T.audio),volume:ut(T.audio),list:Mt(T.audio),selectedItem:pt(T.audio)},Ue={selection:_e(T.video),progress:St(T.video),currentTime:lt(T.video),playbackRate:dt(T.video),volume:ut(T.video),list:Mt(T.video),selectedItem:pt(T.video)};var f=D(require("reselect"));function M(s){return e=>t=>s(t,e)}var ne="HMS-Store:",p=class{static v(e,...t){this.log(c.HMSLogLevel.VERBOSE,e,...t)}static d(...e){this.log(c.HMSLogLevel.DEBUG,...e)}static i(...e){this.log(c.HMSLogLevel.INFO,...e)}static w(...e){this.log(c.HMSLogLevel.WARN,...e)}static e(...e){this.log(c.HMSLogLevel.ERROR,...e)}static time(e){this.log(c.HMSLogLevel.TIME,"[HMSPerformanceTiming]",e)}static timeEnd(e){this.log(c.HMSLogLevel.TIMEEND,"[HMSPerformanceTiming]",e,e)}static cleanUp(){performance.clearMarks(),performance.clearMeasures()}static log(e,...t){if(!(this.level.valueOf()>e.valueOf()))switch(e){case c.HMSLogLevel.VERBOSE:{console.log(ne,...t);break}case c.HMSLogLevel.DEBUG:{console.debug(ne,...t);break}case c.HMSLogLevel.INFO:{console.info(ne,...t);break}case c.HMSLogLevel.WARN:{console.warn(ne,...t);break}case c.HMSLogLevel.ERROR:{console.error(ne,...t);break}case c.HMSLogLevel.TIME:{performance.mark(t[1]);break}case c.HMSLogLevel.TIMEEND:{let i=t[0],o=t[1];try{let r=performance.measure(o,o);this.log(c.HMSLogLevel.DEBUG,i,o,r==null?void 0:r.duration),performance.clearMarks(o),performance.clearMeasures(o)}catch(r){this.log(c.HMSLogLevel.DEBUG,i,o,r)}break}}}};p.level=c.HMSLogLevel.VERBOSE;var Ke=(s,e)=>e,Ts=(s,e)=>e,Tt=(s,e)=>e,ms=(s,e)=>e,C=(0,f.createSelector)([v,Ke],(s,e)=>e?s[e]:null),Ve=(0,f.createSelector)([y,Ts],(s,e)=>e?s[e]:null),x=M(C),Hs=M((0,f.createSelector)([de,ms],(s,e)=>{if(!!s)return e?s[e]:s})),gs=(...s)=>(0,f.createSelector)([de],e=>{if(!!e){if(s&&s.length>0){let t=e;for(let i of s){if(!i)return t;t=t==null?void 0:t[i]}return t}return e}}),hs=M((0,f.createSelector)(C,s=>s==null?void 0:s.name)),J=M(Ve),mt=M((s,e)=>{let t=C(s,e);if(t&&t.videoTrack&&t.videoTrack!=="")return s.tracks[t.videoTrack]}),Ht=M((s,e)=>{let t=C(s,e);if(t&&t.audioTrack&&t.audioTrack!=="")return s.tracks[t.audioTrack]}),ys=mt,fs=M((s,e)=>{let t=C(s,e);return(t==null?void 0:t.auxiliaryTracks.map(i=>s.tracks[i]))||[]}),gt=(s,e)=>e?s.speakers[e]:null,ks=M((0,f.createSelector)(gt,s=>(s==null?void 0:s.audioLevel)||0)),Rs=(s,e)=>{let t=Ht(e)(s);return gt(s,t==null?void 0:t.id)},Ps=M((0,f.createSelector)(Rs,s=>(s==null?void 0:s.audioLevel)||0)),Ds=M((s,e)=>{if(e)return s.connectionQualities[e]}),Is=M((s,e)=>{let t=C(s,e);if(t){let i=t==null?void 0:t.auxiliaryTracks.find(o=>te(s.tracks[o]));return i?s.tracks[i]:void 0}}),vs=M((0,f.createSelector)(y,C,(s,e)=>{let t=e==null?void 0:e.auxiliaryTracks.find(i=>{let o=s[i];return ie(o)&&se(o)});return t?s[t]:void 0})),Es=M((0,f.createSelector)(y,C,(s,e)=>{let t=e==null?void 0:e.auxiliaryTracks.find(i=>{let o=s[i];return ie(o)&&te(o)});return t?s[t]:void 0})),bs=M((0,f.createSelector)(y,C,(s,e)=>{let t=e==null?void 0:e.auxiliaryTracks.find(i=>{let o=s[i];return le(o)&&te(o)});return t?s[t]:void 0})),Be=M((0,f.createSelector)(y,C,(s,e)=>$(s,e))),Cs=s=>(0,f.createSelector)(Be(s),e=>e.video),qe=s=>(0,f.createSelector)(Be(s),e=>e.audio),As=M((s,e)=>{let t=C(s,e);return Q(s,t==null?void 0:t.audioTrack)}),Ns=M((s,e)=>{let t=C(s,e);return Q(s,t==null?void 0:t.videoTrack)}),je=M((s,e)=>{if(e&&s.tracks[e])return s.tracks[e].volume===0}),xs=M((s,e)=>{let t=C(s,e);return je(t==null?void 0:t.audioTrack)(s)}),Ls=M((s,e)=>{let t=qe(e)(s);return je(t==null?void 0:t.id)(s)}),$e=M((s,e)=>{let t=Ve(s,e);if(t){if(t.type!=="audio"){p.w("Please pass audio track here");return}return t.volume}}),Os=M((s,e)=>{let t=C(s,e);return $e(t==null?void 0:t.audioTrack)(s)}),_s=M((s,e)=>{let t=qe(e)(s);return $e(t==null?void 0:t.id)(s)}),ws=M((s,e)=>{let t=Ve(s,e);if(t){if(t.type!=="video"){p.w("Please pass video track here");return}return t.layer}}),ht=(0,f.createSelector)([oe,q,Ke],(s,e,t)=>{if(!!t)return s.filter(i=>{var o;return!i.recipientPeer&&!((o=i.recipientRoles)==null?void 0:o.length)||i.sender&&![e,t].includes(i.sender)?!1:[e,t].includes(i.recipientPeer)})}),yt=(0,f.createSelector)([oe,Tt],(s,e)=>{if(!!e)return s.filter(t=>{var i,o;return((i=t.recipientRoles)==null?void 0:i.length)?(o=t.recipientRoles)==null?void 0:o.includes(e):!1})}),ft=(0,f.createSelector)(oe,s=>s.filter(e=>{var t;return!e.recipientPeer&&!((t=e.recipientRoles)==null?void 0:t.length)})),Us=(0,f.createSelector)([yt,Tt],s=>s?s.filter(e=>!e.read).length:0),Ks=(0,f.createSelector)([ht,Ke],s=>s?s.filter(e=>!e.read).length:0),Vs=(0,f.createSelector)(ft,s=>s.filter(e=>!e.read).length),Bs=M(ht),qs=M(yt),js=M(Us),$s=M(Ks),Fs=s=>(0,f.createSelector)([F],e=>e.filter(t=>t.roleName===s)),Gs=s=>(0,f.createSelector)(x(s),e=>{try{return(e==null?void 0:e.metadata)&&e.metadata!==""?JSON.parse(e.metadata):{}}catch(t){return console.error("cannot parse peer metadata",t),{}}}),Ws=s=>(0,f.createSelector)(x(s),e=>e==null?void 0:e.name);var pe=D(require("reselect")),Qs=(0,pe.createSelector)([v,y],(s,e)=>Object.values(s).map(i=>{var o;return{peer:i,isAudioEnabled:i.audioTrack?(o=e[i.audioTrack])==null?void 0:o.enabled:!1}})),Js=s=>s.roleChangeRequests[0]||null,Ys=(0,pe.createSelector)([Js,v,K],(s,e,t)=>s?{requestedBy:s.requestedBy?e[s.requestedBy]:void 0,role:t[s.roleName],token:s.token}:null),Xs=(0,pe.createSelector)([re],s=>{var o;let e=!1,t=!1,i=!1;return((o=s==null?void 0:s.publishParams)==null?void 0:o.allowed)&&(e=s.publishParams.allowed.includes("video"),t=s.publishParams.allowed.includes("audio"),i=s.publishParams.allowed.includes("screen")),{video:e,audio:t,screen:i}});var V=D(require("reselect"));var zs=s=>(0,V.createSelector)([K],e=>e[s]),Zs=(0,V.createSelector)([N,y],(s,e)=>{let t=null;return s&&(t=e[s]),(t==null?void 0:t.plugins)||[]}),ei=(0,V.createSelector)([A,y],(s,e)=>{let t=null;return s&&(t=e[s]),(t==null?void 0:t.plugins)||[]}),ti=s=>(0,V.createSelector)([Zs],e=>e.includes(s)),si=s=>(0,V.createSelector)([ei],e=>e.includes(s)),ii=s=>(0,V.createSelector)(F,e=>e.find(s)),oi=s=>(0,V.createSelector)(F,e=>e.filter(s)),ri=s=>(0,V.createSelector)(I,e=>e.joinedAt&&Date.now()-e.joinedAt.getTime()<=s);var G=D(require("@100mslive/hms-video"));var Te=D(require("@100mslive/hms-video"));function kt(s){return s instanceof Te.HMSRemoteAudioTrack||s instanceof Te.HMSRemoteVideoTrack}var me=class{constructor(e,t,i,o){this.playlistManager=e;this.syncPlaylistState=i;this.store=o;this.type=t}play(e){return S(this,null,function*(){if(!e){p.w("Please pass id to play");return}yield this.playlistManager.setEnabled(!0,{id:e,type:this.type})})}pause(){return S(this,null,function*(){let e=this.type===T.audio?we:Ue,t=this.store.getState(e.selection);if(!t.id){p.w("No item is currently playing to pause");return}yield this.playlistManager.setEnabled(!1,{id:t.id,type:this.type})})}playNext(){return S(this,null,function*(){yield this.playlistManager.playNext(this.type)})}playPrevious(){return S(this,null,function*(){yield this.playlistManager.playPrevious(this.type)})}seek(e){this.playlistManager.seek(e,this.type),this.syncPlaylistState(`seekOn${this.type}Playlist`)}seekTo(e){this.playlistManager.seekTo(e,this.type),this.syncPlaylistState(`seekToOn${this.type}Playlist`)}setVolume(e){this.playlistManager.setVolume(e,this.type),this.syncPlaylistState(`setVolumeOn${this.type}Playlist`)}setList(e){this.playlistManager.setList(e),this.syncPlaylistState(`setListOn${this.type}Playlist`)}stop(){return S(this,null,function*(){yield this.playlistManager.stop(this.type),this.syncPlaylistState(`stop${this.type}Playlist`)})}setIsAutoplayOn(e){this.playlistManager.setIsAutoplayOn(this.type,e)}setPlaybackRate(e){this.playlistManager.setPlaybackRate(this.type,e),this.syncPlaylistState(`set${this.type}PlaybackRate`)}removeItem(e){return S(this,null,function*(){let t=yield this.playlistManager.removeItem(e,this.type);return t&&this.syncPlaylistState(`remove${this.type}PlaylistItem`),t})}clearList(){return S(this,null,function*(){yield this.playlistManager.clearList(this.type),this.syncPlaylistState(`clear${this.type}Playlist`)})}};var He={[c.HMSPeerUpdate.PEER_JOINED]:m.PEER_JOINED,[c.HMSPeerUpdate.PEER_LEFT]:m.PEER_LEFT,[c.HMSPeerUpdate.ROLE_UPDATED]:m.ROLE_UPDATED,[c.HMSPeerUpdate.NAME_UPDATED]:m.NAME_UPDATED,[c.HMSPeerUpdate.METADATA_UPDATED]:m.METADATA_UPDATED},ge={[c.HMSTrackUpdate.TRACK_ADDED]:m.TRACK_ADDED,[c.HMSTrackUpdate.TRACK_REMOVED]:m.TRACK_REMOVED,[c.HMSTrackUpdate.TRACK_MUTED]:m.TRACK_MUTED,[c.HMSTrackUpdate.TRACK_UNMUTED]:m.TRACK_UNMUTED,[c.HMSTrackUpdate.TRACK_DEGRADED]:m.TRACK_DEGRADED,[c.HMSTrackUpdate.TRACK_RESTORED]:m.TRACK_RESTORED,[c.HMSTrackUpdate.TRACK_DESCRIPTION_CHANGED]:m.TRACK_DESCRIPTION_CHANGED};var Fe=class{constructor(e,t,i){this.hmsSDKTracks={};this.hmsSDKPeers={};this.isRoomJoinCalled=!1;this.ignoredMessageTypes=[];this.setProgress=({type:e,progress:t})=>{this.setState(i=>{i.playlist[e].progress=t,i.playlist[e].currentTime=this.sdk.getPlaylistManager().getCurrentTime(e)},"playlistProgress")};this.syncPlaylistState=e=>{this.setState(t=>{Object.assign(t.playlist,H.convertPlaylist(this.sdk.getPlaylistManager()))},e)};this.sendPeerUpdateNotification=(e,t)=>{let i=this.store.getState(x(t.peerId)),o=He[e]||"peerUpdate";this.syncRoomState(o),i||(i=this.store.getState(x(t.peerId))),this.hmsNotifications.sendPeerUpdate(e,i)};this.setState=(e,t)=>this.store.namedSetState(e,t);this.store=e,this.sdk=t,this.hmsNotifications=i}refreshDevices(){return S(this,null,function*(){yield this.sdk.refreshDevices()})}unblockAudio(){return S(this,null,function*(){yield this.sdk.getAudioOutput().unblockAutoplay()})}setVolume(e,t){t?this.setTrackVolume(e,t):(this.sdk.getAudioOutput().setVolume(e),this.syncRoomState("setOutputVolume"))}setAudioOutputDevice(e){this.sdk.getAudioOutput().setDevice(e)&&this.setState(i=>{i.settings.audioOutputDeviceId=e},"setAudioOutputDevice")}setPreferredLayer(e,t){let i=this.hmsSDKTracks[e];i?i instanceof G.HMSRemoteVideoTrack?(i.preferLayer(t),this.updateVideoLayer(e,"setPreferredLayer")):p.w(`track ${e} is not an video track`):this.logPossibleInconsistency(`track ${e} not present, unable to set preffer layer`)}preview(e){return S(this,null,function*(){if(this.isRoomJoinCalled){this.logPossibleInconsistency("attempting to call preview after join was called");return}let t=this.store.getState(b);if(t===g.Preview||t===g.Connecting){this.logPossibleInconsistency("attempting to call preview while room is in preview/connecting");return}try{this.setState(i=>{i.room.roomState=g.Connecting},"connecting"),yield this.sdkPreviewWithListeners(e)}catch(i){throw p.e("Cannot show preview. Failed to connect to room - ",i),i}})}join(e){return S(this,null,function*(){if(this.isRoomJoinCalled){this.logPossibleInconsistency("room join is called again");return}try{this.isRoomJoinCalled=!0,this.setState(t=>{t.room.roomState=g.Connecting},"join"),yield this.sdkJoinWithListeners(e)}catch(t){throw this.isRoomJoinCalled=!1,p.e("Failed to connect to room - ",t),t}})}leave(){return S(this,null,function*(){if(!this.store.getState(xe)){this.logPossibleInconsistency("room leave is called when no room is connected");return}let t=this.store.getState(b);return this.setState(i=>{i.room.roomState=g.Disconnecting},"leaving"),this.sdk.leave().then(()=>{this.resetState("leave"),p.i("left room")}).catch(i=>{p.e("error in leaving room - ",i),this.setState(o=>{o.room.roomState=t},"revertLeave")})})}setScreenShareEnabled(e,t){return S(this,null,function*(){let i={audioOnly:!1,videoOnly:!1};typeof t=="object"?Object.assign(i,t):typeof t=="boolean"&&(i.audioOnly=t);try{e?yield this.startScreenShare(i):yield this.stopScreenShare()}catch(o){throw this.hmsNotifications.sendError(H.convertException(o)),o}})}addTrack(e,t="regular"){return S(this,null,function*(){yield this.sdk.addTrack(e,t),this.syncRoomState("addTrack")})}removeTrack(e){return S(this,null,function*(){yield this.sdk.removeTrack(e),this.syncRoomState("removeTrack")})}setLocalAudioEnabled(e){return S(this,null,function*(){let t=this.store.getState(A);t&&(yield this.setEnabledTrack(t,e))})}setLocalVideoEnabled(e){return S(this,null,function*(){let t=this.store.getState(N);t&&(yield this.setEnabledTrack(t,e))})}setEnabledTrack(e,t){return S(this,null,function*(){var r;if(((r=this.store.getState().tracks[e])==null?void 0:r.enabled)===t){this.logPossibleInconsistency(`local track[${e}] enabled state - ${t}`);return}this.setState(n=>{n.tracks[e]?n.tracks[e].displayEnabled=t:this.logPossibleInconsistency("track id not found for setEnabled")},"displayEnabled");try{yield this.setEnabledSDKTrack(e,t),this.syncRoomState("setEnabled")}catch(n){throw this.setState(a=>{a.tracks[e].displayEnabled=!t},"rollbackDisplayEnabled"),this.hmsNotifications.sendError(H.convertException(n)),n}let o=t?c.HMSTrackUpdate.TRACK_UNMUTED:c.HMSTrackUpdate.TRACK_MUTED;this.hmsNotifications.sendTrackUpdate(o,e)})}setAudioSettings(e){return S(this,null,function*(){let t=this.store.getState(A);t&&(yield this.setSDKLocalAudioTrackSettings(t,e),this.syncRoomState("setAudioSettings"))})}setVideoSettings(e){return S(this,null,function*(){let t=this.store.getState(N);t&&(yield this.setSDKLocalVideoTrackSettings(t,e),this.syncRoomState("setVideoSettings"))})}sendMessage(e){this.sendBroadcastMessage(e)}sendBroadcastMessage(e,t){return S(this,null,function*(){let i=yield this.sdk.sendBroadcastMessage(e,t);this.updateMessageInStore(i,{message:e,type:t})})}sendGroupMessage(e,t,i){return S(this,null,function*(){let o=this.store.getState(K),r=t.map(a=>o[a]),n=yield this.sdk.sendGroupMessage(e,r,i);this.updateMessageInStore(n,{message:e,recipientRoles:t,type:i})})}sendDirectMessage(e,t,i){return S(this,null,function*(){let o=this.hmsSDKPeers[t],r=yield this.sdk.sendDirectMessage(e,o,i);this.updateMessageInStore(r,{message:e,recipientPeer:o.peerId,type:i})})}updateMessageInStore(e,t){if(!e)throw p.w("sendMessage","Failed to send message",t),Error(`sendMessage Failed - ${JSON.stringify(t)}`);let i=H.convertMessage(e);return i.read=!0,i.senderName="You",i.ignored=this.ignoredMessageTypes.includes(i.type),this.putMessageInStore(i),i}setMessageRead(e,t){this.setState(i=>{t?i.messages.byID[t]?i.messages.byID[t].read=e:this.logPossibleInconsistency("no message with id is found"):i.messages.allIDs.forEach(o=>{i.messages.byID[o].read=e})},"setMessageRead")}attachVideo(e,t){return S(this,null,function*(){if(this.localAndVideoUnmuting(e))return new Promise(i=>{let o=this.store.subscribe(r=>S(this,null,function*(){r&&(yield this.attachVideoInternal(e,t),o(),i())}),ue)});yield this.attachVideoInternal(e,t)})}detachVideo(e,t){return S(this,null,function*(){let i=this.hmsSDKTracks[e];(i==null?void 0:i.type)==="video"?(i.removeSink(t),this.updateVideoLayer(e,"detachVideo")):(t&&(t.srcObject=null),this.logPossibleInconsistency("no video track found to remove sink"))})}addPluginToVideoTrack(e,t){return S(this,null,function*(){return this.addRemoveVideoPlugin(e,"add",t)})}addPluginToAudioTrack(e){return S(this,null,function*(){return this.addRemoveAudioPlugin(e,"add")})}validateVideoPluginSupport(e){let t={};if(t.isSupported=!1,!e)return p.w("no plugin passed in for checking support"),t.errMsg="no plugin passed in for checking support",t;let i=this.store.getState(N);if(!i)return p.w("video Track not added to local peer yet"),t.errMsg="call this function only after local peer has video track",t;let o=this.hmsSDKTracks[i];return o?t=o.validatePlugin(e):(p.w(`track ${i} not present, unable to validate plugin`),t.errMsg=`track ${i} not present, unable to validate plugin`),t}validateAudioPluginSupport(e){let t={};if(t.isSupported=!1,!e)return p.w('no plugin passed in for checking support"'),t.errMsg='no plugin passed in for checking support"',t;let i=this.store.getState(A);if(!i)return p.w("audio track not added to local peer yet"),t.errMsg="call this function only after local peer has audio track",t;let o=this.hmsSDKTracks[i];return o?t=o.validatePlugin(e):(p.w(`track ${i} not present, unable to validate plugin`),t.errMsg=`track ${i} not present, unable to validate plugin`),t}removePluginFromVideoTrack(e){return S(this,null,function*(){return this.addRemoveVideoPlugin(e,"remove")})}removePluginFromAudioTrack(e){return S(this,null,function*(){return this.addRemoveAudioPlugin(e,"remove")})}changeRole(e,t,i=!1){return S(this,null,function*(){let o=this.hmsSDKPeers[e];if(!o){this.logPossibleInconsistency(`Unknown peer ID given ${e} for changerole`);return}yield this.sdk.changeRole(o,t,i)})}acceptChangeRole(e){return S(this,null,function*(){let t=e.requestedBy?this.hmsSDKPeers[e.requestedBy.id]:void 0;t||p.w(`peer for which role change is requested no longer available - ${e.requestedBy}`);let i={requestedBy:t,role:e.role,token:e.token};yield this.sdk.acceptChangeRole(i),this.removeRoleChangeRequest(e)})}initAppData(e){this.setState(t=>{t.appData=e},"initAppData")}setAppData(e,t,i){let o=(t==null?void 0:t.constructor.name)==="Object";this.setState(r=>{if(r.appData)i&&o?Object.assign(r.appData[e],t):r.appData[e]=t;else{let n={[e]:t};r.appData=n}},`setAppData-${e}`)}rejectChangeRole(e){this.removeRoleChangeRequest(e)}endRoom(e,t){return S(this,null,function*(){let i=this.store.getState(Le);if(!(i==null?void 0:i.endRoom)){p.w("You are not allowed to perform this action - endRoom");return}let o=this.store.getState(b);this.setState(r=>{r.room.roomState=g.Disconnecting},"endingRoom");try{yield this.sdk.endRoom(e,t),this.resetState("endRoom")}catch(r){p.e("error in ending room - ",r),this.setState(n=>{n.room.roomState=o},"revertEndRoom")}})}removePeer(e,t){return S(this,null,function*(){let i=this.hmsSDKPeers[e];if(i&&!i.isLocal)yield this.sdk.removePeer(i,t);else{this.logPossibleInconsistency(`No remote peer found for peerID - ${e}`);return}})}startRTMPOrRecording(e){return S(this,null,function*(){yield this.sdk.startRTMPOrRecording(e)})}stopRTMPAndRecording(){return S(this,null,function*(){yield this.sdk.stopRTMPAndRecording()})}startHLSStreaming(e){return S(this,null,function*(){yield this.sdk.startHLSStreaming(e)})}stopHLSStreaming(e){return S(this,null,function*(){yield this.sdk.stopHLSStreaming(e)})}sendHLSTimedMetadata(e){return S(this,null,function*(){yield this.sdk.sendHLSTimedMetadata(e)})}changeName(e){return S(this,null,function*(){yield this.sdk.changeName(e)})}changeMetadata(e){return S(this,null,function*(){typeof e!="string"&&(e=JSON.stringify(e)),yield this.sdk.changeMetadata(e)})}setRemoteTrackEnabled(e,t){return S(this,null,function*(){if(typeof e=="string"){let i=this.hmsSDKTracks[e];i&&kt(i)?yield this.sdk.changeTrackState(i,t):this.logPossibleInconsistency(`No remote track with ID ${e} found for change track state`)}else Array.isArray(e)&&e.forEach(i=>this.setRemoteTrackEnabled(i,t))})}setRemoteTracksEnabled(e){return S(this,null,function*(){let t={enabled:e.enabled,type:e.type,source:e.source};if(e.roles){let i=this.store.getState(K);t.roles=e.roles.map(o=>i[o])}yield this.sdk.changeMultiTrackState(t)})}setLogLevel(e){p.level=e,this.sdk.setLogLevel(e)}ignoreMessageTypes(e,t=!1){if(t)this.ignoredMessageTypes=e;else for(let i of e)this.ignoredMessageTypes.includes(i)||this.ignoredMessageTypes.push(i)}resetState(e="resetState"){this.isRoomJoinCalled=!1,this.hmsSDKTracks={},p.cleanUp(),this.setState(t=>{Object.assign(t,Z())},e)}sdkJoinWithListeners(e){return S(this,null,function*(){yield this.sdk.join(e,{onJoin:this.onJoin.bind(this),onRoomUpdate:this.onRoomUpdate.bind(this),onPeerUpdate:this.onPeerUpdate.bind(this),onTrackUpdate:this.onTrackUpdate.bind(this),onMessageReceived:this.onMessageReceived.bind(this),onError:this.onError.bind(this),onReconnected:this.onReconnected.bind(this),onReconnecting:this.onReconnecting.bind(this),onRoleChangeRequest:this.onRoleChangeRequest.bind(this),onRoleUpdate:this.onRoleUpdate.bind(this),onDeviceChange:this.onDeviceChange.bind(this),onChangeTrackStateRequest:this.onChangeTrackStateRequest.bind(this),onChangeMultiTrackStateRequest:this.onChangeMultiTrackStateRequest.bind(this),onRemovedFromRoom:this.onRemovedFromRoom.bind(this),onNetworkQuality:this.onNetworkQuality.bind(this)}),this.sdk.addAudioListener({onAudioLevelUpdate:this.onAudioLevelUpdate.bind(this)}),this.sdk.addConnectionQualityListener({onConnectionQualityUpdate:this.onConnectionQualityUpdate.bind(this)})})}onRemovedFromRoom(e){var o;let t=this.store.getState(x((o=e.requestedBy)==null?void 0:o.peerId));this.hmsNotifications.sendLeaveRoom(W(_({},e),{requestedBy:t||void 0}));let i=e.roomEnded||!t?"roomEnded":"removedFromRoom";p.i(`resetting state after peer removed ${i}`,e),this.resetState(i)}onDeviceChange(e){let t=e.devices;if(!t)return;let i=this.store.getState(E);if(this.setState(o=>{w(o.devices.audioInput,t.audioInput)||(o.devices.audioInput=t.audioInput),w(o.devices.videoInput,t.videoInput)||(o.devices.videoInput=t.videoInput),w(o.devices.audioOutput,t.audioOutput)||(o.devices.audioOutput=t.audioOutput),this.hmsSDKPeers[i==null?void 0:i.id]&&Object.assign(o.settings,this.getMediaSettings(this.hmsSDKPeers[i==null?void 0:i.id]))},"deviceChange"),e.selection){let o=H.convertDeviceChangeUpdate(e);this.hmsNotifications.sendDeviceChange(o)}}sdkPreviewWithListeners(e){return S(this,null,function*(){yield this.sdk.preview(e,{onPreview:this.onPreview.bind(this),onError:this.onError.bind(this),onReconnected:this.onReconnected.bind(this),onReconnecting:this.onReconnecting.bind(this),onDeviceChange:this.onDeviceChange.bind(this),onRoomUpdate:this.onRoomUpdate.bind(this),onPeerUpdate:this.onPeerUpdate.bind(this),onNetworkQuality:this.onNetworkQuality.bind(this)}),this.sdk.addAudioListener({onAudioLevelUpdate:this.onAudioLevelUpdate.bind(this)})})}onNetworkQuality(e){this.setState(t=>{var o;let i=t.room.localPeer||((o=this.sdk.getLocalPeer())==null?void 0:o.peerId);i&&(t.connectionQualities[i]={peerID:i,downlinkQuality:e})},"ConnectionQuality")}startScreenShare(e){return S(this,null,function*(){this.store.getState(Me)?this.logPossibleInconsistency("start screenshare is called while it's on"):(yield this.sdk.startScreenShare(()=>this.syncRoomState("screenshareStopped"),e),this.syncRoomState("startScreenShare"))})}stopScreenShare(){return S(this,null,function*(){this.store.getState(Me)?(yield this.sdk.stopScreenShare(),this.syncRoomState("stopScreenShare")):this.logPossibleInconsistency("stop screenshare is called while it's not on")})}attachVideoInternal(e,t){return S(this,null,function*(){let i=this.hmsSDKTracks[e];i&&i.type==="video"?(i.addSink(t),this.updateVideoLayer(e,"attachVideo")):this.logPossibleInconsistency("no video track found to add sink")})}syncRoomState(e){e=`${e}_fullSync`,p.time(`store-sync-${e}`);let t={},i=[],o={},r={},n={},a=this.sdk.getPeers();for(let k of a){let O=H.convertPeer(k);t[O.id]=O,i.push(O.id),this.hmsSDKPeers[O.id]=k;let X=[k.audioTrack,k.videoTrack,...k.auxiliaryTracks];for(let Se of X){if(!Se)continue;let Ye=H.convertTrack(Se);o[Ye.id]=Ye,r[Se.trackId]=Se}O.isLocal&&Object.assign(n,this.getMediaSettings(k))}let u=this.sdk.getRecordingState(),R=this.sdk.getRTMPState(),j=this.sdk.getHLSState();this.setState(k=>{k.room.peers=i;let O=k.peers,X=k.tracks;tt(O,t),st(X,o),Object.assign(k.settings,n),this.hmsSDKTracks=r,Object.assign(k.roles,H.convertRoles(this.sdk.getRoles())),Object.assign(k.playlist,H.convertPlaylist(this.sdk.getPlaylistManager())),Object.assign(k.room,H.convertRecordingStreamingState(u,R,j))},e),p.timeEnd(`store-sync-${e}`)}onPreview(e){this.setState(t=>{Object.assign(t.room,H.convertRoom(e)),t.room.roomState=g.Preview},"previewStart"),this.syncRoomState("previewSync")}onJoin(e){let t=this.sdk.getPlaylistManager();this.audioPlaylist=new me(t,T.audio,this.syncPlaylistState.bind(this),this.store),this.videoPlaylist=new me(t,T.video,this.syncRoomState.bind(this),this.store),this.syncRoomState("joinSync"),this.setState(i=>{Object.assign(i.room,H.convertRoom(e)),i.room.isConnected=!0,i.room.roomState=g.Connected},"joined"),t.onProgress(this.setProgress),t.onNewTrackStart(i=>{this.syncPlaylistState(`${i.type}PlaylistUpdate`)}),t.onPlaylistEnded(i=>{this.syncPlaylistState(`${i}PlaylistEnded`)}),t.onCurrentTrackEnded(i=>{this.hmsNotifications.sendPlaylistTrackEnded(H.convertPlaylistItem(t,i)),this.syncPlaylistState(`${i.type}PlaylistItemEnded`)})}onRoomUpdate(e,t){this.setState(i=>{Object.assign(i.room,H.convertRoom(t))},e)}onPeerUpdate(e,t){if(![c.HMSPeerUpdate.BECAME_DOMINANT_SPEAKER,c.HMSPeerUpdate.RESIGNED_DOMINANT_SPEAKER].includes(e)){if(Array.isArray(t)){this.syncRoomState("peersJoined");let i=[];for(let o of t){let r=this.store.getState(x(o.peerId));r&&i.push(r)}this.hmsNotifications.sendPeerList(i);return}this.sendPeerUpdateNotification(e,t)}}onTrackUpdate(e,t,i){if(e===c.HMSTrackUpdate.TRACK_REMOVED)this.hmsNotifications.sendTrackUpdate(e,t.trackId),this.handleTrackRemove(t,i);else{let o=ge[e]||"trackUpdate";this.syncRoomState(o),this.hmsNotifications.sendTrackUpdate(e,t.trackId)}}onMessageReceived(e){let t=H.convertMessage(e);t.read=!1,t.ignored=this.ignoredMessageTypes.includes(t.type),this.putMessageInStore(t),this.hmsNotifications.sendMessageReceived(t)}putMessageInStore(e){e.ignored||this.setState(t=>{e.id=String(this.store.getState(Ne)+1),t.messages.byID[e.id]=e,t.messages.allIDs.push(e.id)},"newMessage")}onAudioLevelUpdate(e){this.setState(t=>{let i={};e.forEach(r=>{if(!r.track||!r.peer)return;let n=r.track.trackId;i[n]=r.audioLevel,t.speakers[n]||(t.speakers[n]={audioLevel:r.audioLevel,peerID:r.peer.peerId,trackID:n})});let o=Object.entries(t.speakers);for(let[r,n]of o)n.audioLevel=i[r]||0,n.audioLevel===0&&delete t.speakers[r]},"audioLevel")}onConnectionQualityUpdate(e){this.setState(t=>{let i=new Set;e.forEach(r=>{let n=r.peerID;!n||(i.add(n),t.connectionQualities[n]?Object.assign(t.connectionQualities[n],r):t.connectionQualities[n]=r)});let o=Object.keys(t.connectionQualities);for(let r of o)i.has(r)||delete t.connectionQualities[r]},"connectionQuality")}onChangeTrackStateRequest(e){var r;let t=this.store.getState(x((r=e.requestedBy)==null?void 0:r.peerId)),i=this.getStoreLocalTrackIDfromSDKTrack(e.track),o=this.store.getState(J(i));if(!o)return this.logPossibleInconsistency(`Not found track for which track state change was requested, ${e.track}`);e.enabled||this.syncRoomState("changeTrackStateRequest"),this.hmsNotifications.sendChangeTrackStateRequest({requestedBy:t||void 0,track:o,enabled:e.enabled})}onChangeMultiTrackStateRequest(e){var r;let t=this.store.getState(x((r=e.requestedBy)==null?void 0:r.peerId));e.enabled||this.syncRoomState("changeMultiTrackStateRequest");let i=[],o=this.store.getState(y);for(let n of e.tracks){let a=this.getStoreLocalTrackIDfromSDKTrack(n);a&&o[a]&&i.push(o[a])}this.hmsNotifications.sendChangeMultiTrackStateRequest({requestedBy:t||void 0,tracks:i,enabled:e.enabled,type:e.type,source:e.source})}onReconnected(){this.syncRoomState("reconnectedSync"),this.hmsNotifications.sendReconnected(),this.setState(e=>{e.room.roomState=e.room.isConnected?g.Connected:g.Preview},"reconnected")}onReconnecting(e){let t=H.convertException(e);p.e("Reconnection: received error from sdk",t),this.hmsNotifications.sendReconnecting(t),this.setState(i=>{i.room.roomState=g.Reconnecting,i.errors.push(t)},"reconnecting")}onError(e){let t=H.convertException(e);t.isTerminal?(this.leave().then(()=>p.e("error from SDK, left room.")),this.setState(i=>{i.room.roomState=g.Failed,i.errors.push(t)},"errorTerminal")):this.store.getState().errors.length<50&&this.setState(o=>{o.errors.push(t)},"error"),this.syncRoomState("errorSync"),this.hmsNotifications.sendError(t),p.e("received error from sdk",t instanceof G.HMSException?`${t}`:t)}updateVideoLayer(e,t){let i=this.hmsSDKTracks[e];if(i&&i instanceof G.HMSRemoteVideoTrack){let o=this.store.getState(J(e));((o==null?void 0:o.layer)!==i.getSimulcastLayer()||(o==null?void 0:o.degraded)!==i.degraded)&&this.setState(n=>{n.tracks[e].layer=i.getSimulcastLayer(),n.tracks[e].degraded=i.degraded},t)}}handleTrackRemove(e,t){this.setState(i=>{let o=i.peers[t.peerId],r=i.tracks,n=e.trackId;if(this.isSameStoreSDKTrack(n,o==null?void 0:o.audioTrack))o==null||delete o.audioTrack;else if(this.isSameStoreSDKTrack(n,o==null?void 0:o.videoTrack))o==null||delete o.videoTrack;else{let a=o==null?void 0:o.auxiliaryTracks.indexOf(n);a>-1&&this.isSameStoreSDKTrack(n,o==null?void 0:o.auxiliaryTracks[a])&&(o==null||o.auxiliaryTracks.splice(a,1))}delete r[n],delete this.hmsSDKTracks[n]},"trackRemoved")}setEnabledSDKTrack(e,t){return S(this,null,function*(){let i=this.hmsSDKTracks[e];i?yield i.setEnabled(t):this.logPossibleInconsistency(`track ${e} not present, unable to enabled/disable`)})}setSDKLocalVideoTrackSettings(e,t){return S(this,null,function*(){let i=this.hmsSDKTracks[e];i?yield i.setSettings(t):this.logPossibleInconsistency(`local track ${e} not present, unable to set settings`)})}setSDKLocalAudioTrackSettings(e,t){return S(this,null,function*(){let i=this.hmsSDKTracks[e];i?yield i.setSettings(t):this.logPossibleInconsistency(`local track ${e} not present, unable to set settings`)})}getMediaSettings(e){var r;let t=this.store.getState(be),i=e.audioTrack,o=e.videoTrack;return{audioInputDeviceId:(i==null?void 0:i.settings.deviceId)||t.audioInputDeviceId,videoInputDeviceId:(o==null?void 0:o.settings.deviceId)||t.videoInputDeviceId,audioOutputDeviceId:(r=this.sdk.getAudioOutput().getDevice())==null?void 0:r.deviceId}}setTrackVolume(e,t){let i=this.hmsSDKTracks[t];i?i instanceof G.HMSAudioTrack?(i.setVolume(e),this.setState(o=>{let r=o.tracks[t];r&&(r.volume=e)},"trackVolume")):p.w(`track ${t} is not an audio track`):this.logPossibleInconsistency(`track ${t} not present, unable to set volume`)}localAndVideoUnmuting(e){if(this.store.getState(E).videoTrack!==e)return!1;let i=this.store.getState(Ae),o=this.store.getState(ue);return i&&!o}logPossibleInconsistency(e){p.w("possible inconsistency detected - ",e)}addRemoveVideoPlugin(e,t,i){return S(this,null,function*(){if(!e){p.w("Invalid plugin received in store");return}let o=this.store.getState(N);if(o){let r=this.hmsSDKTracks[o];r?(t==="add"?yield r.addPlugin(e,i):t==="remove"&&(yield r.removePlugin(e)),this.syncRoomState(`${t}VideoPlugin`)):this.logPossibleInconsistency(`track ${o} not present, unable to remove plugin`)}})}addRemoveAudioPlugin(e,t){return S(this,null,function*(){if(!e){p.w("Invalid plugin received in store");return}let i=this.store.getState(A);if(i){let o=this.hmsSDKTracks[i];o?(t==="add"?yield o.addPlugin(e):t==="remove"&&(yield o.removePlugin(e)),this.syncRoomState(`${t}AudioPlugin`)):this.logPossibleInconsistency(`track ${i} not present, unable to remove plugin`)}})}isSameStoreSDKTrack(e,t){var i;return t?((i=this.hmsSDKTracks[t])==null?void 0:i.trackId)===e:!1}onRoleChangeRequest(e){this.setState(t=>{t.roleChangeRequests.length===0&&t.roleChangeRequests.push(H.convertRoleChangeRequest(e))},"roleChangeRequest")}removeRoleChangeRequest(e){this.setState(t=>{let i=t.roleChangeRequests.findIndex(o=>o.token===e.token);i!==-1&&t.roleChangeRequests.splice(i,1)},"removeRoleChangeRequest")}onRoleUpdate(){this.syncRoomState("roleUpdate")}getStoreLocalTrackIDfromSDKTrack(e){return this.store.getState(Ce).find(i=>this.hmsSDKTracks[i].trackId===e.trackId)}};var Rt=D(require("eventemitter2"));var Ge="hmsNotification",We=class{constructor(e){this.id=0;this.onNotification=(e,t)=>{let i=o=>{if(t){let r;if(Array.isArray(t)?r=t.includes(o.type):r=t===o.type,!r)return}e(o)};return this.eventEmitter.addListener(Ge,i),()=>{this.eventEmitter.removeListener(Ge,i)}};this.store=e,this.eventEmitter=new Rt.EventEmitter2}sendPlaylistTrackEnded(e){let t=this.createNotification(m.PLAYLIST_TRACK_ENDED,e,P.INFO);this.emitEvent(t)}sendDeviceChange(e){var i;let t=this.createNotification(m.DEVICE_CHANGE_UPDATE,e,e.error?P.ERROR:P.INFO,`Selected ${e.type} device - ${(i=e.selection)==null?void 0:i.label}`);this.emitEvent(t)}sendLeaveRoom(e){var o;let t=(o=e.requestedBy)==null?void 0:o.name,i=this.createNotification(e.roomEnded||!t?m.ROOM_ENDED:m.REMOVED_FROM_ROOM,e,P.INFO,`${e.roomEnded?"Room ended":"Removed from room"} ${t?`by ${t}`:""}`);this.emitEvent(i)}sendPeerList(e){let t=this.createNotification(m.PEER_LIST,e,P.INFO);this.emitEvent(t)}sendPeerUpdate(e,t){let i=this.store.getState(x(t==null?void 0:t.id))||t,o=He[e];if(o){let r=this.createNotification(o,i,P.INFO);this.emitEvent(r)}}sendTrackUpdate(e,t){let i=this.store.getState(J(t)),o=ge[e];if(o){let r=this.createNotification(o,i,P.INFO);this.emitEvent(r)}}sendMessageReceived(e){let t=this.createNotification(m.NEW_MESSAGE,e,P.INFO);this.emitEvent(t)}sendError(e){let t=this.createNotification(m.ERROR,e,P.ERROR);this.emitEvent(t)}sendReconnecting(e){let t=this.createNotification(m.RECONNECTING,e,P.ERROR);this.emitEvent(t)}sendReconnected(){let e=this.createNotification(m.RECONNECTED,null,P.INFO);this.emitEvent(e)}sendChangeTrackStateRequest(e){let t=this.createNotification(m.CHANGE_TRACK_STATE_REQUEST,e,P.INFO);this.emitEvent(t)}sendChangeMultiTrackStateRequest(e){let t=this.createNotification(m.CHANGE_MULTI_TRACK_STATE_REQUEST,e,P.INFO);this.emitEvent(t)}emitEvent(e){this.eventEmitter.emit(Ge,e)}createNotification(e,t,i,o=""){return this.id++,{id:this.id,type:e,message:o,data:t,severity:i}}};var Pt=D(require("@100mslive/hms-video")),he=s=>Pt.isBrowser?`${s} ${document.title}`:s;var Dt=(s,e,t)=>{let i;t.getState(b)===g.Connected&&(i=It(s,e,t)),t.subscribe(o=>{[g.Connected,g.Reconnecting].includes(o)?i||(i=It(s,e,t)):i&&(ci(e),i())},b)},It=(s,e,t)=>{var r,n;let i=ni(t,e);(r=s.getWebrtcInternals())==null||r.start();let o=(n=s.getWebrtcInternals())==null?void 0:n.onStatsChange(a=>ai(e,a,t));return()=>{i(),o&&o()}},ni=(s,e)=>{let t,i,o;return s.getState(q)?e.namedSetState(r=>{r.localPeer.id=s.getState(q)},"localpeer-id"):t=s.subscribe(r=>{r&&e.namedSetState(n=>{n.localPeer.id=r},"localpeer-id")},q),s.getState(N)?e.namedSetState(r=>{r.localPeer.videoTrack=s.getState(N)},"localpeer-videotrack-id"):i=s.subscribe(r=>{r&&e.namedSetState(n=>{n.localPeer.videoTrack=r},"localpeer-videotrack-id")},N),s.getState(A)?e.namedSetState(r=>{r.localPeer.videoTrack=s.getState(A)},"localpeer-audiotrack-id"):o=s.subscribe(r=>{r&&e.namedSetState(n=>{n.localPeer.videoTrack=r},"localpeer-audiotrack-id")},A),()=>{t==null||t(),i==null||i(),o==null||o()}},ai=(s,e,t)=>{let i=t.getState(y);s.namedSetState(o=>{let r={},n=Object.keys(i);for(let R of n){let j=e.getTrackStats(R);j&&(r[R]=j)}ke(o.trackStats,r);let u={[t.getState(q)]:e.getLocalPeerStats()};ke(o.peerStats,u)},"webrtc-stats")},ci=(s,e="resetState")=>{s.namedSetState(t=>{Object.assign(t,ee())},e)};var ae=class{constructor(e,t){this.hmsStore=e;this.sdk=t;this.store=L.createNewHMSStore(he("HMSStatsStore"),ee),this.getState=this.store.getState,this.subscribe=this.store.subscribe,this.getPublishPeerConnection=()=>new Promise(i=>{var o,r;this.hmsStore.getState(b)==="Connected"?i((r=(o=this.sdk)==null?void 0:o.getWebrtcInternals())==null?void 0:r.getPublishPeerConnection()):this.hmsStore.subscribe(n=>{var a,u;n==="Connected"&&i((u=(a=this.sdk)==null?void 0:a.getWebrtcInternals())==null?void 0:u.getPublishPeerConnection())},b)}),this.getSubscribePeerConnection=()=>new Promise(i=>{var o,r;this.hmsStore.getState(b)==="Connected"?i((r=(o=this.sdk)==null?void 0:o.getWebrtcInternals())==null?void 0:r.getSubscribePeerConnection()):this.hmsStore.subscribe(n=>{var a,u;n==="Connected"&&i((u=(a=this.sdk)==null?void 0:a.getWebrtcInternals())==null?void 0:u.getSubscribePeerConnection())},b)}),!!this.sdk&&Dt(this.sdk,this.store,this.hmsStore)}};var h=D(require("reselect"));var Si=s=>s.localPeer.id,li=s=>s.localPeer.audioTrack,di=s=>s.localPeer.videoTrack,ui=(s,e)=>e,Mi=(s,e)=>e,Qe=s=>s.trackStats,vt=s=>s.peerStats,B=(0,h.createSelector)([vt,Si],(s,e)=>s[e]),pi=(0,h.createSelector)(B,s=>{var e;return(e=s==null?void 0:s.subscribe)==null?void 0:e.packetsLost}),Ti=(0,h.createSelector)(B,s=>{var e;return(e=s==null?void 0:s.subscribe)==null?void 0:e.jitter}),mi=(0,h.createSelector)(B,s=>{var e;return(e=s==null?void 0:s.publish)==null?void 0:e.bitrate}),Hi=(0,h.createSelector)(B,s=>{var e;return(e=s==null?void 0:s.subscribe)==null?void 0:e.bitrate}),gi=(0,h.createSelector)(B,s=>{var e;return(e=s==null?void 0:s.publish)==null?void 0:e.availableOutgoingBitrate}),hi=(0,h.createSelector)(B,s=>{var e;return(e=s==null?void 0:s.subscribe)==null?void 0:e.availableIncomingBitrate}),yi=(0,h.createSelector)(B,s=>{var e;return(e=s==null?void 0:s.publish)==null?void 0:e.bytesSent}),fi=(0,h.createSelector)(B,s=>{var e;return(e=s==null?void 0:s.subscribe)==null?void 0:e.bytesReceived}),ki=(0,h.createSelector)([vt,ui],(s,e)=>e?s[e]:void 0),Y=(0,h.createSelector)([Qe,Mi],(s,e)=>e?s[e]:void 0),Ri=M(ki),Pi=M(Y),Di=M((0,h.createSelector)(Y,s=>s==null?void 0:s.bitrate)),Ii=M((0,h.createSelector)(Y,s=>s==null?void 0:s.bytesReceived)),vi=M((0,h.createSelector)(Y,s=>s==null?void 0:s.framesPerSecond)),Ei=M((0,h.createSelector)(Y,s=>s==null?void 0:s.jitter)),bi=M((0,h.createSelector)(Y,s=>s==null?void 0:s.packetsLost)),Je=(0,h.createSelector)([Qe,li],(s,e)=>e?s[e]:void 0),ce=(0,h.createSelector)([Qe,di],(s,e)=>e?s[e]:void 0),Ci=(0,h.createSelector)(Je,s=>s==null?void 0:s.bitrate),Ai=(0,h.createSelector)(ce,s=>s==null?void 0:s.bitrate),Ni=(0,h.createSelector)(Je,s=>s==null?void 0:s.bytesSent),xi=(0,h.createSelector)(ce,s=>s==null?void 0:s.bytesSent),Li=(0,h.createSelector)(ce,s=>s==null?void 0:s.framesPerSecond),Oi=(0,h.createSelector)(ce,s=>s==null?void 0:s.qualityLimitationReason),Et={localPeerStats:B,packetsLost:pi,jitter:Ti,publishBitrate:mi,subscribeBitrate:Hi,availablePublishBitrate:gi,availableSubscribeBitrate:hi,totalBytesSent:yi,totalBytesReceived:fi,peerStatsByID:Ri,trackStatsByID:Pi,bitrateByTrackID:Di,bytesReceivedByTrackID:Ii,framerateByTrackID:vi,jitterByTrackID:Ei,packetsLostByTrackID:bi,localAudioTrackStats:Je,localVideoTrackStats:ce,localAudioTrackBitrate:Ci,localVideoTrackBitrate:Ai,localAudioTrackBytesSent:Ni,localVideoTrackBytesSent:xi,localVideoTrackFramerate:Li,localVideoTrackQualityLimitationReason:Oi};var L=class{constructor(e,t,i){this.getStats=()=>(this.stats||(this.stats=new ae(this.store,this.sdk)),this.stats);e?this.store=e:this.store=L.createNewHMSStore(he("HMSStore"),Z),i?this.notifications=i:this.notifications=new We(this.store),t?this.actions=t:(this.sdk=new ye.HMSSdk,this.actions=new Fe(this.store,this.sdk,this.notifications)),this.initialTriggerOnSubscribe=!1,ye.isBrowser&&(window.__hms=this)}triggerOnSubscribe(){this.initialTriggerOnSubscribe||(L.makeStoreTriggerOnSubscribe(this.store),this.initialTriggerOnSubscribe=!0)}getStore(){return this.store}getHMSActions(){return this.actions}getActions(){return this.actions}getNotifications(){return{onNotification:this.notifications.onNotification}}static createNewHMSStore(e,t){let i=(0,Ct.default)(()=>t()),o=i.setState;i.setState=a=>{let u=typeof a=="function"?(0,bt.default)(a):a;o(u)};let r=i.getState;i.getState=a=>{if(a){let u=a.name||"byIDSelector";window.selectorsCount||(window.selectorsCount={}),window.selectorsCount[u]=(window.selectorsCount[u]||0)+1;let R=performance.now(),j=a(r()),k=performance.now()-R;return k>1&&(window.expensiveSelectors=window.expensiveSelectors||new Map,window.expensiveSelectors.set(u,k)),j}return r()},L.compareWithShallowCheckInSubscribe(i);let n=L.setUpDevtools(i,e);return W(_({},i),{namedSetState:n})}static makeStoreTriggerOnSubscribe(e){let t=e.subscribe;e.subscribe=(i,o,r)=>(i(e.getState(o),void 0),t(i,o,r))}static compareWithShallowCheckInSubscribe(e){let t=e.subscribe;e.subscribe=(i,o,r)=>(o||(o=n=>n),r=r||At.default,t(i,o,r))}static setUpDevtools(e,t){let i;try{i=window.__REDUX_DEVTOOLS_EXTENSION__||window.top.__REDUX_DEVTOOLS_EXTENSION__}catch(n){}if(!i)return n=>{e.setState(n)};let o=i.connect(L.devtoolsOptions(t));o.prefix=t?`${t} > `:"";let r=e.setState;return e.setState=n=>{r(n),o.send(`${o.prefix}setState`,e.getState())},o.subscribe(L.devtoolsSubscribe(o,e,r)),o.send("setUpStore",e.getState()),(n,a)=>{r(n);let u=a||`${o.prefix}action`;o.send(u,e.getState())}}static devtoolsOptions(e){return{name:e,actionsBlacklist:["audioLevel","playlistProgress","connectionQuality"]}}static devtoolsSubscribe(e,t,i){return o=>{var r,n,a,u;if(o.type==="DISPATCH"&&o.state)["JUMP_TO_ACTION","JUMP_TO_STATE"].includes(o.payload.type)?i(JSON.parse(o.state)):t.setState(JSON.parse(o.state));else if(o.type==="DISPATCH"&&((r=o.payload)==null?void 0:r.type)==="COMMIT")e.init(t.getState());else if(o.type==="DISPATCH"&&((n=o.payload)==null?void 0:n.type)==="IMPORT_STATE"){let R=(a=o.payload.nextLiftedState)==null?void 0:a.actionsById;(((u=o.payload.nextLiftedState)==null?void 0:u.computedStates)||[]).forEach(({state:k},O)=>{let X=R[O]||`${e.prefix}setState`;O===0?e.init(k):(i(k),e.send(X,t.getState()))})}}}};
1
+ var Lt=Object.create;var X=Object.defineProperty,Ot=Object.defineProperties,_t=Object.getOwnPropertyDescriptor,wt=Object.getOwnPropertyDescriptors,Ut=Object.getOwnPropertyNames,Ze=Object.getOwnPropertySymbols,Vt=Object.getPrototypeOf,et=Object.prototype.hasOwnProperty,Kt=Object.prototype.propertyIsEnumerable;var tt=(s,e,t)=>e in s?X(s,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):s[e]=t,_=(s,e)=>{for(var t in e||(e={}))et.call(e,t)&&tt(s,t,e[t]);if(Ze)for(var t of Ze(e))Kt.call(e,t)&&tt(s,t,e[t]);return s},W=(s,e)=>Ot(s,wt(e)),st=s=>X(s,"__esModule",{value:!0});var Bt=(s,e)=>{st(s);for(var t in e)X(s,t,{get:e[t],enumerable:!0})},qt=(s,e,t)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Ut(e))!et.call(s,i)&&i!=="default"&&X(s,i,{get:()=>e[i],enumerable:!(t=_t(e,i))||t.enumerable});return s},D=s=>qt(st(X(s!=null?Lt(Vt(s)):{},"default",s&&s.__esModule&&"default"in s?{get:()=>s.default,enumerable:!0}:{value:s,enumerable:!0})),s);var S=(s,e,t)=>new Promise((i,o)=>{var r=M=>{try{n(t.next(M))}catch(R){o(R)}},a=M=>{try{n(t.throw(M))}catch(R){o(R)}},n=M=>M.done?i(M.value):Promise.resolve(M.value).then(r,a);n((t=t.apply(s,e)).next())});Bt(exports,{HMSAudioPluginType:()=>c.HMSAudioPluginType,HMSLogLevel:()=>c.HMSLogLevel,HMSMessageType:()=>ke,HMSNotificationSeverity:()=>P,HMSNotificationTypes:()=>m,HMSPlaylistType:()=>T,HMSReactiveStore:()=>L,HMSRoomState:()=>y,HMSStats:()=>ce,HMSVideoPluginCanvasContextType:()=>c.HMSVideoPluginCanvasContextType,HMSVideoPluginType:()=>c.HMSVideoPluginType,createDefaultStatsStore:()=>Z,createDefaultStoreState:()=>z,parsedUserAgent:()=>c.parsedUserAgent,selectAppData:()=>Rs,selectAppDataByPath:()=>Ps,selectAudioPlaylist:()=>Ue,selectAudioPlaylistTrackByPeerID:()=>Us,selectAudioTrackByID:()=>Is,selectAudioTrackByPeerID:()=>ht,selectAudioTrackVolume:()=>Ge,selectAudioVolumeByPeerID:()=>$s,selectAuxiliaryAudioByPeerID:()=>Os,selectAuxiliaryTracksByPeerID:()=>Cs,selectAvailableRoleNames:()=>ls,selectBroadcastMessages:()=>Rt,selectBroadcastMessagesUnreadCount:()=>Js,selectCameraStreamByPeerID:()=>bs,selectConnectionQualities:()=>Wt,selectConnectionQualityByPeerID:()=>Ls,selectDegradedTracks:()=>ns,selectDevices:()=>Gt,selectDidIJoinWithin:()=>pi,selectDominantSpeaker:()=>es,selectFullAppData:()=>ue,selectHLSState:()=>ps,selectHMSMessages:()=>ie,selectHMSMessagesCount:()=>xe,selectHMSStats:()=>Ct,selectIsAllowedToPublish:()=>ai,selectIsAllowedToSubscribe:()=>ds,selectIsAudioLocallyMuted:()=>Fe,selectIsConnectedToRoom:()=>ct,selectIsInPreview:()=>Ss,selectIsLocalAudioEnabled:()=>ts,selectIsLocalAudioPluginPresent:()=>di,selectIsLocalScreenShared:()=>pe,selectIsLocalVideoDisplayEnabled:()=>Ne,selectIsLocalVideoEnabled:()=>Me,selectIsLocalVideoPluginPresent:()=>li,selectIsLocallyMutedByPeerID:()=>qs,selectIsPeerAudioEnabled:()=>Ks,selectIsPeerVideoEnabled:()=>Bs,selectIsScreenShareLocallyMutedByPeerID:()=>js,selectIsSomeoneScreenSharing:()=>ss,selectLocalAudioTrackID:()=>A,selectLocalMediaSettings:()=>Ce,selectLocalPeer:()=>E,selectLocalPeerID:()=>q,selectLocalPeerName:()=>Yt,selectLocalPeerRole:()=>oe,selectLocalPeerRoleName:()=>Xt,selectLocalTrackIDs:()=>Ae,selectLocalVideoTrackID:()=>N,selectMessageIDsInOrder:()=>be,selectMessagesByPeerID:()=>Ys,selectMessagesByRole:()=>Xs,selectMessagesMap:()=>Ee,selectMessagesUnreadCountByPeerID:()=>Zs,selectMessagesUnreadCountByRole:()=>zs,selectPeerAudioByID:()=>xs,selectPeerByCondition:()=>ui,selectPeerByID:()=>x,selectPeerCount:()=>Qt,selectPeerMetadata:()=>ti,selectPeerName:()=>si,selectPeerNameByID:()=>Ds,selectPeerScreenSharing:()=>St,selectPeerSharingAudio:()=>is,selectPeerSharingAudioPlaylist:()=>as,selectPeerSharingVideoPlaylist:()=>rs,selectPeers:()=>F,selectPeersByCondition:()=>Mi,selectPeersByRole:()=>ei,selectPeersMap:()=>v,selectPeersScreenSharing:()=>os,selectPeersWithAudioStatus:()=>ii,selectPermissions:()=>Oe,selectRTMPState:()=>Ms,selectRecordingState:()=>us,selectRemotePeers:()=>Zt,selectRoleByRoleName:()=>ni,selectRoleChangeRequest:()=>ri,selectRolesMap:()=>V,selectRoom:()=>I,selectRoomID:()=>Ft,selectRoomStartTime:()=>ms,selectRoomStarted:()=>Le,selectRoomState:()=>b,selectScreenAudioTrackByID:()=>vs,selectScreenShareAudioByPeerID:()=>$e,selectScreenShareByPeerID:()=>Vs,selectScreenSharesByPeerId:()=>je,selectScreenVideoTrackByID:()=>Es,selectScreenshareAudioVolumeByPeerID:()=>Fs,selectSessionId:()=>Ts,selectSessionMetadata:()=>Hs,selectSimulcastLayerByTrack:()=>Gs,selectSpeakers:()=>nt,selectTrackAudioByID:()=>As,selectTrackByID:()=>ne,selectTracksMap:()=>H,selectUnreadHMSMessagesCount:()=>cs,selectVideoPlaylist:()=>Ve,selectVideoPlaylistAudioTrackByPeerID:()=>ws,selectVideoPlaylistVideoTrackByPeerID:()=>_s,selectVideoTrackByID:()=>qe,selectVideoTrackByPeerID:()=>gt});var At=D(require("immer")),Nt=D(require("zustand/vanilla")),xt=D(require("zustand/shallow")),fe=D(require("@100mslive/hms-video"));var y;(function(n){n.Disconnected="Disconnected",n.Preview="Preview",n.Connecting="Connecting",n.Connected="Connected",n.Reconnecting="Reconnecting",n.Disconnecting="Disconnecting",n.Failed="Failed"})(y||(y={}));var z=()=>({room:{id:"",isConnected:!1,name:"",peers:[],shareableLink:"",localPeer:"",hasWaitingRoom:!1,roomState:y.Disconnected,recording:{browser:{running:!1},server:{running:!1},hls:{running:!1}},rtmp:{running:!1},hls:{running:!1,variants:[]},sessionId:""},peers:{},tracks:{},playlist:{audio:{list:{},selection:{id:"",hasPrevious:!1,hasNext:!1},progress:0,volume:0,currentTime:0,playbackRate:1},video:{list:{},selection:{id:"",hasPrevious:!1,hasNext:!1},progress:0,volume:0,currentTime:0,playbackRate:1}},messages:{byID:{},allIDs:[]},speakers:{},connectionQualities:{},settings:{audioInputDeviceId:"",audioOutputDeviceId:"",videoInputDeviceId:""},devices:{audioInput:[],audioOutput:[],videoInput:[]},roles:{},roleChangeRequests:[],errors:[]}),Z=()=>({peerStats:{},trackStats:{},localPeer:{id:""}});var ke;(function(e){e.CHAT="chat"})(ke||(ke={}));var P;(function(t){t.INFO="info",t.ERROR="error"})(P||(P={}));var m;(function(l){l.PEER_JOINED="PEER_JOINED",l.PEER_LEFT="PEER_LEFT",l.PEER_LIST="PEER_LIST",l.NEW_MESSAGE="NEW_MESSAGE",l.ERROR="ERROR",l.RECONNECTING="RECONNECTING",l.RECONNECTED="RECONNECTED",l.TRACK_ADDED="TRACK_ADDED",l.TRACK_REMOVED="TRACK_REMOVED",l.TRACK_MUTED="TRACK_MUTED",l.TRACK_UNMUTED="TRACK_UNMUTED",l.TRACK_DEGRADED="TRACK_DEGRADED",l.TRACK_RESTORED="TRACK_RESTORED",l.TRACK_DESCRIPTION_CHANGED="TRACK_DESCRIPTION_CHANGED",l.ROLE_UPDATED="ROLE_UPDATED",l.CHANGE_TRACK_STATE_REQUEST="CHANGE_TRACK_STATE_REQUEST",l.CHANGE_MULTI_TRACK_STATE_REQUEST="CHANGE_MULTI_TRACK_STATE_REQUEST",l.ROOM_ENDED="ROOM_ENDED",l.REMOVED_FROM_ROOM="REMOVED_FROM_ROOM",l.DEVICE_CHANGE_UPDATE="DEVICE_CHANGE_UPDATE",l.PLAYLIST_TRACK_ENDED="PLAYLIST_TRACK_ENDED",l.NAME_UPDATED="NAME_UPDATED",l.METADATA_UPDATED="METADATA_UPDATED"})(m||(m={}));var T;(function(t){t.audio="audio",t.video="video"})(T||(T={}));var c=D(require("@100mslive/hms-video"));var U=D(require("@100mslive/hms-video"));var it=(s,e)=>{let t=ve(Object.keys(s),Object.keys(e));for(let i of t){let o=s[i],r=e[i];Pe(o,r)?(w(o.auxiliaryTracks,r.auxiliaryTracks)&&(r.auxiliaryTracks=o.auxiliaryTracks),Object.assign(o,r)):De(o,r)?delete s[i]:Ie(o,r)&&(s[i]=r)}},ot=(s,e)=>{let t=ve(Object.keys(s),Object.keys(e));for(let i of t){let o=s[i],r=e[i];Pe(o,r)?(jt(o,r),Object.assign(o,r)):De(o,r)?delete s[i]:Ie(o,r)&&(s[i]=r)}},Re=(s,e)=>{let t=ve(Object.keys(s),Object.keys(e));for(let i of t){let o=s[i],r=e[i];Pe(o,r)?Object.assign(o,r):De(o,r)?delete s[i]:Ie(o,r)&&(s[i]=r)}},jt=(s,e)=>{s.plugins&&w(s.plugins,e.plugins)&&(e.plugins=s.plugins),s.type==="video"&&s.layerDefinitions&&w(s.layerDefinitions,e.layerDefinitions)&&(e.layerDefinitions=s.layerDefinitions)},Pe=(s,e)=>s&&e,De=(s,e)=>s&&!e,Ie=(s,e)=>!s&&e,w=(s,e)=>{if(s===e||s.length===0&&(e==null?void 0:e.length)===0)return!0;if(!s||!e||s.length!==e.length)return!1;for(let t=0;t<s.length;t++)if(s[t]!==e[t])return!1;return!0},ve=(s,e)=>{let t=new Set;for(let i of s)t.add(i);for(let i of e)t.add(i);return Array.from(t)};var h=class{static convertPeer(e){var t,i,o;return{id:e.peerId,name:e.name,roleName:(t=e.role)==null?void 0:t.name,isLocal:e.isLocal,videoTrack:(i=e.videoTrack)==null?void 0:i.trackId,audioTrack:(o=e.audioTrack)==null?void 0:o.trackId,auxiliaryTracks:e.auxiliaryTracks.map(r=>r.trackId),customerUserId:e.customerUserId,customerDescription:e.metadata,metadata:e.metadata,joinedAt:e.joinedAt}}static convertTrack(e,t){let i={id:e.trackId,source:e.source,type:e.type,enabled:e.enabled,displayEnabled:e.enabled,peerId:e.peerId||t};return this.enrichTrack(i,e),i}static enrichTrack(e,t){let i=t.getMediaTrackSettings();t instanceof U.HMSRemoteAudioTrack&&(e.volume=t.getVolume()||0),h.updateDeviceID(e,t),e.type==="video"&&(e.source==="screen"?e.displaySurface=i.displaySurface:e.source==="regular"&&(e.facingMode=i.facingMode),e.height=i.height,e.width=i.width,h.enrichVideoTrack(e,t)),h.enrichPluginsDetails(e,t)}static updateDeviceID(e,t){var i;t instanceof U.HMSLocalVideoTrack||t instanceof U.HMSLocalAudioTrack?e.deviceID=t.settings.deviceId:e.deviceID=(i=t.getMediaTrackSettings())==null?void 0:i.deviceId}static enrichVideoTrack(e,t){t instanceof U.HMSRemoteVideoTrack&&(e.layer=t.getSimulcastLayer(),e.degraded=t.degraded,w(t.getSimulcastDefinitions(),e.layerDefinitions)||(e.layerDefinitions=t.getSimulcastDefinitions()))}static enrichPluginsDetails(e,t){(t instanceof U.HMSLocalVideoTrack||t instanceof U.HMSLocalAudioTrack)&&(w(t.getPlugins(),e.plugins)||(e.plugins=t.getPlugins()))}static convertRoom(e){var r,a;let{recording:t,rtmp:i,hls:o}=h.convertRecordingStreamingState(e==null?void 0:e.recording,e==null?void 0:e.rtmp,e==null?void 0:e.hls);return{id:e.id,name:e.name,localPeer:(a=(r=e.localPeer)==null?void 0:r.peerId)!=null?a:"",hasWaitingRoom:e.hasWaitingRoom,shareableLink:e.shareableLink,recording:t,rtmp:i,hls:o,sessionId:e.sessionId,startedAt:e.startedAt,joinedAt:e.joinedAt,peerCount:e.peerCount}}static convertMessage(e){var t,i,o,r,a,n,M;return{sender:(t=e.sender)==null?void 0:t.peerId,senderName:(i=e.sender)==null?void 0:i.name,senderRole:(r=(o=e.sender)==null?void 0:o.role)==null?void 0:r.name,senderUserId:(a=e.sender)==null?void 0:a.customerUserId,recipientPeer:(n=e.recipientPeer)==null?void 0:n.peerId,recipientRoles:(M=e.recipientRoles)==null?void 0:M.map(R=>R.name),time:e.time,type:e.type,message:e.message}}static convertRoles(e){let t={};return e&&e.forEach(i=>{t[i.name]=i}),t}static convertRoleChangeRequest(e){var t;return{requestedBy:(t=e.requestedBy)==null?void 0:t.peerId,roleName:e.role.name,token:e.token}}static convertException(e){return{code:e.code,action:e.action,name:e.name,message:e.message,description:e.description,isTerminal:e.isTerminal,nativeError:e.nativeError,timestamp:new Date}}static convertDeviceChangeUpdate(e){let t={devices:e.devices,selection:e.selection,type:e.type};return e.error&&(t.error=this.convertException(e.error)),t}static convertPlaylist(e){let t=this.getConvertedPlaylistType(e,T.audio),i=this.getConvertedPlaylistType(e,T.video);return{audio:t,video:i}}static convertPlaylistItem(e,t){let i=t.type,o=e.getCurrentSelection(i),r=e.isPlaying(i),a=t.url===(o==null?void 0:o.url);return W(_({},t),{type:t.type,selected:a,playing:a&&r})}static getConvertedPlaylistType(e,t){let i={},o=e.getCurrentSelection(t),r=e.getCurrentProgress(t),a=e.getVolume(t),n=e.getList(t),M=e.getCurrentIndex(t);return e.getList(t).forEach(R=>{i[R.id]=h.convertPlaylistItem(e,R)}),{list:i,selection:{id:o==null?void 0:o.id,hasPrevious:M>0,hasNext:M<n.length-1},progress:r,volume:a,currentTime:e.getCurrentTime(t),playbackRate:e.getPlaybackRate(t)}}static convertRecordingStreamingState(e,t,i){var o;return{recording:{browser:_({running:!1},e==null?void 0:e.browser),server:_({running:!1},e==null?void 0:e.server),hls:_({running:!1},e==null?void 0:e.hls)},rtmp:_({running:!1},t),hls:{variants:((o=i==null?void 0:i.variants)==null?void 0:o.map(r=>r))||[],running:!!(i==null?void 0:i.running),error:i==null?void 0:i.error}}}};var u=D(require("reselect"));function $(s,e,t=$t){let i,o;if(e)for(let r of e.auxiliaryTracks){let a=s[r];t(a)&&(o=ee(a)?a:o,i=te(a)?a:i)}return{video:i,audio:o}}function ee(s){return s&&s.type==="audio"}function te(s){return s&&s.type==="video"}function $t(s){return s&&s.source==="screen"}function de(s){return s&&s.source==="audioplaylist"}function se(s){return s&&s.source==="videoplaylist"}function rt(s){return s?Boolean(s==null?void 0:s.degraded):!1}function Q(s,e){return e&&s.tracks[e]?s.tracks[e].enabled:!1}function at(s,e){return e&&s.tracks[e]?s.tracks[e].displayEnabled:!1}var I=s=>s.room,Ft=(0,u.createSelector)(I,s=>s.id),v=s=>s.peers,Ee=s=>s.messages.byID,be=s=>s.messages.allIDs,H=s=>s.tracks,Ce=s=>s.settings,ue=s=>s.appData,Gt=s=>s.devices,nt=s=>s.speakers,Wt=s=>s.connectionQualities,ct=(0,u.createSelector)([I],s=>s&&s.isConnected),Qt=(0,u.createSelector)([ct,I],(s,e)=>s?e.peerCount!==void 0?e.peerCount||1:e.peers.length:Math.max(e.peerCount!==void 0?e.peerCount:e.peers.length-1,0)),F=(0,u.createSelector)([I,v],(s,e)=>s.peers.map(t=>e[t])),Jt=(0,u.createSelector)(H,s=>Object.values(s)),E=(0,u.createSelector)(I,v,(s,e)=>e[s.localPeer]),q=(0,u.createSelector)(I,s=>s.localPeer),Yt=(0,u.createSelector)(E,s=>s==null?void 0:s.name),Xt=(0,u.createSelector)(E,s=>s==null?void 0:s.roleName),A=(0,u.createSelector)(E,s=>s==null?void 0:s.audioTrack),N=(0,u.createSelector)(E,s=>s==null?void 0:s.videoTrack),zt=(0,u.createSelector)(E,s=>s==null?void 0:s.auxiliaryTracks),Ae=(0,u.createSelector)([A,N,zt],(s,e,t)=>{let i=[...t];return s&&i.unshift(s),e&&i.unshift(e),i}),Zt=(0,u.createSelector)(F,s=>s.filter(e=>!e.isLocal)),es=(0,u.createSelector)(v,nt,(s,e)=>{let t=Object.entries(e).sort((i,o)=>{var n,M;let r=((n=i[1])==null?void 0:n.audioLevel)||0;return(((M=o[1])==null?void 0:M.audioLevel)||0)>r?1:-1});if(t.length>0&&t[0][1].audioLevel&&t[0][1].audioLevel>0){let i=t[0][1].peerID;if(i in s)return s[i]}return null}),ts=s=>{let e=E(s);return Q(s,e==null?void 0:e.audioTrack)},Me=s=>{let e=E(s);return Q(s,e==null?void 0:e.videoTrack)},Ne=s=>{let e=E(s);return at(s,e==null?void 0:e.videoTrack)},pe=(0,u.createSelector)(E,H,(s,e)=>{let{video:t,audio:i}=$(e,s);return!!(t||i)}),St=(0,u.createSelector)(v,H,(s,e)=>{let t;for(let i in s){let o=s[i],{video:r,audio:a}=$(e,o);if(r)return o;a&&!t&&(t=o)}return t}),ss=(0,u.createSelector)(St,s=>!!s),is=(0,u.createSelector)(v,H,(s,e)=>{for(let t in s){let i=s[t],{audio:o,video:r}=$(e,i);if(!r&&!!o)return i}}),os=(0,u.createSelector)(v,H,(s,e)=>{let t=[],i=[];for(let o in s){let r=s[o],{video:a,audio:n}=$(e,r);a?t.push(r):n&&i.push(r)}return t.concat(i)}),rs=(0,u.createSelector)(v,H,(s,e)=>{for(let t in e){let i=e[t];if(se(i)&&te(i)&&i.peerId)return s[i.peerId]}}),as=(0,u.createSelector)(v,H,(s,e)=>{for(let t in e){let i=e[t];if(de(i)&&i.peerId)return s[i.peerId]}}),ns=(0,u.createSelector)(Jt,s=>s.filter(rt)),xe=(0,u.createSelector)(be,s=>s.length),cs=(0,u.createSelector)(Ee,s=>Object.values(s).filter(e=>!e.read).length),ie=(0,u.createSelector)(be,Ee,(s,e)=>{let t=[];return s.forEach(i=>{t.push(e[i])}),t}),b=(0,u.createSelector)([I],s=>s&&s.roomState),Ss=(0,u.createSelector)(b,s=>s===y.Preview),Le=(0,u.createSelector)(I,s=>s.roomState!==y.Disconnected),V=s=>s.roles,ls=(0,u.createSelector)([V],s=>Object.keys(s)),oe=(0,u.createSelector)([E,V],(s,e)=>(s==null?void 0:s.roleName)?e[s.roleName]:null),ds=(0,u.createSelector)([oe],s=>{var e;return((e=s==null?void 0:s.subscribeParams)==null?void 0:e.subscribeToRoles)?s.subscribeParams.subscribeToRoles.length>0:!1}),Oe=(0,u.createSelector)(oe,s=>s==null?void 0:s.permissions),us=(0,u.createSelector)(I,s=>s.recording),Ms=(0,u.createSelector)(I,s=>s.rtmp),ps=(0,u.createSelector)(I,s=>s.hls),Ts=(0,u.createSelector)(I,s=>s.sessionId),ms=(0,u.createSelector)(I,s=>s.startedAt),Hs=s=>s.sessionMetadata;var _e=D(require("reselect"));var lt=(s=T.audio)=>e=>e.playlist[s].list,we=(s=T.audio)=>e=>e.playlist[s].selection,dt=(s=T.audio)=>e=>e.playlist[s].progress,ut=(s=T.audio)=>e=>e.playlist[s].currentTime,Mt=(s=T.audio)=>e=>e.playlist[s].playbackRate,pt=(s=T.audio)=>e=>e.playlist[s].volume,Tt=(s=T.audio)=>(0,_e.createSelector)(lt(s),e=>Object.values(e)),mt=(s=T.audio)=>(0,_e.createSelector)(lt(s),we(s),(e,t)=>{if(!!t.id)return e[t.id]}),Ue={selection:we(T.audio),progress:dt(T.audio),currentTime:ut(T.audio),playbackRate:Mt(T.audio),volume:pt(T.audio),list:Tt(T.audio),selectedItem:mt(T.audio)},Ve={selection:we(T.video),progress:dt(T.video),currentTime:ut(T.video),playbackRate:Mt(T.video),volume:pt(T.video),list:Tt(T.video),selectedItem:mt(T.video)};var g=D(require("reselect"));function d(s){return e=>t=>s(t,e)}var re="HMS-Store:",p=class{static v(e,...t){this.log(c.HMSLogLevel.VERBOSE,e,...t)}static d(...e){this.log(c.HMSLogLevel.DEBUG,...e)}static i(...e){this.log(c.HMSLogLevel.INFO,...e)}static w(...e){this.log(c.HMSLogLevel.WARN,...e)}static e(...e){this.log(c.HMSLogLevel.ERROR,...e)}static time(e){this.log(c.HMSLogLevel.TIME,"[HMSPerformanceTiming]",e)}static timeEnd(e){this.log(c.HMSLogLevel.TIMEEND,"[HMSPerformanceTiming]",e,e)}static cleanUp(){performance.clearMarks(),performance.clearMeasures()}static log(e,...t){if(!(this.level.valueOf()>e.valueOf()))switch(e){case c.HMSLogLevel.VERBOSE:{console.log(re,...t);break}case c.HMSLogLevel.DEBUG:{console.debug(re,...t);break}case c.HMSLogLevel.INFO:{console.info(re,...t);break}case c.HMSLogLevel.WARN:{console.warn(re,...t);break}case c.HMSLogLevel.ERROR:{console.error(re,...t);break}case c.HMSLogLevel.TIME:{performance.mark(t[1]);break}case c.HMSLogLevel.TIMEEND:{let i=t[0],o=t[1];try{let r=performance.measure(o,o);this.log(c.HMSLogLevel.DEBUG,i,o,r==null?void 0:r.duration),performance.clearMarks(o),performance.clearMeasures(o)}catch(r){this.log(c.HMSLogLevel.DEBUG,i,o,r)}break}}}};p.level=c.HMSLogLevel.VERBOSE;var Ke=(s,e)=>e,ae=(s,e)=>e,Ht=(s,e)=>e,gs=(s,e)=>e,C=(0,g.createSelector)([v,Ke],(s,e)=>e?s[e]:null),Be=(0,g.createSelector)([H,ae],(s,e)=>e?s[e]:null),hs=(0,g.createSelector)([H,ae],(s,e)=>{if(!e)return null;let t=s[e];return t.type==="video"?t:null}),ys=(0,g.createSelector)([H,ae],(s,e)=>{if(!e)return null;let t=s[e];return t.type==="audio"?t:null}),fs=(0,g.createSelector)([H,ae],(s,e)=>{if(!e)return null;let t=s[e];return t.type==="audio"&&t.source==="screen"?t:null}),ks=(0,g.createSelector)([H,ae],(s,e)=>{if(!e)return null;let t=s[e];return t.type==="video"&&t.source==="screen"?t:null}),x=d(C),Rs=d((0,g.createSelector)([ue,gs],(s,e)=>{if(!!s)return e?s[e]:s})),Ps=(...s)=>(0,g.createSelector)([ue],e=>{if(!!e){if(s&&s.length>0){let t=e;for(let i of s){if(!i)return t;t=t==null?void 0:t[i]}return t}return e}}),Ds=d((0,g.createSelector)(C,s=>s==null?void 0:s.name)),ne=d(Be),qe=d(hs),Is=d(ys),vs=d(fs),Es=d(ks),gt=d((s,e)=>{let t=C(s,e);if(t&&t.videoTrack&&t.videoTrack!=="")return s.tracks[t.videoTrack]}),ht=d((s,e)=>{let t=C(s,e);if(t&&t.audioTrack&&t.audioTrack!=="")return s.tracks[t.audioTrack]}),bs=gt,Cs=d((s,e)=>{let t=C(s,e);return(t==null?void 0:t.auxiliaryTracks.map(i=>s.tracks[i]))||[]}),yt=(s,e)=>e?s.speakers[e]:null,As=d((0,g.createSelector)(yt,s=>(s==null?void 0:s.audioLevel)||0)),Ns=(s,e)=>{let t=ht(e)(s);return yt(s,t==null?void 0:t.id)},xs=d((0,g.createSelector)(Ns,s=>(s==null?void 0:s.audioLevel)||0)),Ls=d((s,e)=>{if(e)return s.connectionQualities[e]}),Os=d((s,e)=>{let t=C(s,e);if(t){let i=t==null?void 0:t.auxiliaryTracks.find(o=>ee(s.tracks[o]));return i?s.tracks[i]:void 0}}),_s=d((0,g.createSelector)(H,C,(s,e)=>{let t=e==null?void 0:e.auxiliaryTracks.find(i=>{let o=s[i];return se(o)&&te(o)});return t?s[t]:void 0})),ws=d((0,g.createSelector)(H,C,(s,e)=>{let t=e==null?void 0:e.auxiliaryTracks.find(i=>{let o=s[i];return se(o)&&ee(o)});return t?s[t]:void 0})),Us=d((0,g.createSelector)(H,C,(s,e)=>{let t=e==null?void 0:e.auxiliaryTracks.find(i=>{let o=s[i];return de(o)&&ee(o)});return t?s[t]:void 0})),je=d((0,g.createSelector)(H,C,(s,e)=>$(s,e))),Vs=s=>(0,g.createSelector)(je(s),e=>e.video),$e=s=>(0,g.createSelector)(je(s),e=>e.audio),Ks=d((s,e)=>{let t=C(s,e);return Q(s,t==null?void 0:t.audioTrack)}),Bs=d((s,e)=>{let t=C(s,e);return Q(s,t==null?void 0:t.videoTrack)}),Fe=d((s,e)=>{if(e&&s.tracks[e])return s.tracks[e].volume===0}),qs=d((s,e)=>{let t=C(s,e);return Fe(t==null?void 0:t.audioTrack)(s)}),js=d((s,e)=>{let t=$e(e)(s);return Fe(t==null?void 0:t.id)(s)}),Ge=d((s,e)=>{let t=Be(s,e);if(t){if(t.type!=="audio"){p.w("Please pass audio track here");return}return t.volume}}),$s=d((s,e)=>{let t=C(s,e);return Ge(t==null?void 0:t.audioTrack)(s)}),Fs=d((s,e)=>{let t=$e(e)(s);return Ge(t==null?void 0:t.id)(s)}),Gs=d((s,e)=>{let t=Be(s,e);if(t){if(t.type!=="video"){p.w("Please pass video track here");return}return t.layer}}),ft=(0,g.createSelector)([ie,q,Ke],(s,e,t)=>{if(!!t)return s.filter(i=>{var o;return!i.recipientPeer&&!((o=i.recipientRoles)==null?void 0:o.length)||i.sender&&![e,t].includes(i.sender)?!1:[e,t].includes(i.recipientPeer)})}),kt=(0,g.createSelector)([ie,Ht],(s,e)=>{if(!!e)return s.filter(t=>{var i,o;return((i=t.recipientRoles)==null?void 0:i.length)?(o=t.recipientRoles)==null?void 0:o.includes(e):!1})}),Rt=(0,g.createSelector)(ie,s=>s.filter(e=>{var t;return!e.recipientPeer&&!((t=e.recipientRoles)==null?void 0:t.length)})),Ws=(0,g.createSelector)([kt,Ht],s=>s?s.filter(e=>!e.read).length:0),Qs=(0,g.createSelector)([ft,Ke],s=>s?s.filter(e=>!e.read).length:0),Js=(0,g.createSelector)(Rt,s=>s.filter(e=>!e.read).length),Ys=d(ft),Xs=d(kt),zs=d(Ws),Zs=d(Qs),ei=s=>(0,g.createSelector)([F],e=>e.filter(t=>t.roleName===s)),ti=s=>(0,g.createSelector)(x(s),e=>{try{return(e==null?void 0:e.metadata)&&e.metadata!==""?JSON.parse(e.metadata):{}}catch(t){return console.error("cannot parse peer metadata",t),{}}}),si=s=>(0,g.createSelector)(x(s),e=>e==null?void 0:e.name);var Te=D(require("reselect")),ii=(0,Te.createSelector)([v,H],(s,e)=>Object.values(s).map(i=>{var o;return{peer:i,isAudioEnabled:i.audioTrack?(o=e[i.audioTrack])==null?void 0:o.enabled:!1}})),oi=s=>s.roleChangeRequests[0]||null,ri=(0,Te.createSelector)([oi,v,V],(s,e,t)=>s?{requestedBy:s.requestedBy?e[s.requestedBy]:void 0,role:t[s.roleName],token:s.token}:null),ai=(0,Te.createSelector)([oe],s=>{var o;let e=!1,t=!1,i=!1;return((o=s==null?void 0:s.publishParams)==null?void 0:o.allowed)&&(e=s.publishParams.allowed.includes("video"),t=s.publishParams.allowed.includes("audio"),i=s.publishParams.allowed.includes("screen")),{video:e,audio:t,screen:i}});var K=D(require("reselect"));var ni=s=>(0,K.createSelector)([V],e=>e[s]),ci=(0,K.createSelector)([N,H],(s,e)=>{let t=null;return s&&(t=e[s]),(t==null?void 0:t.plugins)||[]}),Si=(0,K.createSelector)([A,H],(s,e)=>{let t=null;return s&&(t=e[s]),(t==null?void 0:t.plugins)||[]}),li=s=>(0,K.createSelector)([ci],e=>e.includes(s)),di=s=>(0,K.createSelector)([Si],e=>e.includes(s)),ui=s=>(0,K.createSelector)(F,e=>e.find(s)),Mi=s=>(0,K.createSelector)(F,e=>e.filter(s)),pi=s=>(0,K.createSelector)(I,e=>e.joinedAt&&Date.now()-e.joinedAt.getTime()<=s);var G=D(require("@100mslive/hms-video"));var me=D(require("@100mslive/hms-video"));function Pt(s){return s instanceof me.HMSRemoteAudioTrack||s instanceof me.HMSRemoteVideoTrack}var He=class{constructor(e,t,i,o){this.playlistManager=e;this.syncPlaylistState=i;this.store=o;this.type=t}play(e){return S(this,null,function*(){if(!e){p.w("Please pass id to play");return}yield this.playlistManager.setEnabled(!0,{id:e,type:this.type})})}pause(){return S(this,null,function*(){let e=this.type===T.audio?Ue:Ve,t=this.store.getState(e.selection);if(!t.id){p.w("No item is currently playing to pause");return}yield this.playlistManager.setEnabled(!1,{id:t.id,type:this.type})})}playNext(){return S(this,null,function*(){yield this.playlistManager.playNext(this.type)})}playPrevious(){return S(this,null,function*(){yield this.playlistManager.playPrevious(this.type)})}seek(e){this.playlistManager.seek(e,this.type),this.syncPlaylistState(`seekOn${this.type}Playlist`)}seekTo(e){this.playlistManager.seekTo(e,this.type),this.syncPlaylistState(`seekToOn${this.type}Playlist`)}setVolume(e){this.playlistManager.setVolume(e,this.type),this.syncPlaylistState(`setVolumeOn${this.type}Playlist`)}setList(e){this.playlistManager.setList(e),this.syncPlaylistState(`setListOn${this.type}Playlist`)}stop(){return S(this,null,function*(){yield this.playlistManager.stop(this.type),this.syncPlaylistState(`stop${this.type}Playlist`)})}setIsAutoplayOn(e){this.playlistManager.setIsAutoplayOn(this.type,e)}setPlaybackRate(e){this.playlistManager.setPlaybackRate(this.type,e),this.syncPlaylistState(`set${this.type}PlaybackRate`)}removeItem(e){return S(this,null,function*(){let t=yield this.playlistManager.removeItem(e,this.type);return t&&this.syncPlaylistState(`remove${this.type}PlaylistItem`),t})}clearList(){return S(this,null,function*(){yield this.playlistManager.clearList(this.type),this.syncPlaylistState(`clear${this.type}Playlist`)})}};var ge={[c.HMSPeerUpdate.PEER_JOINED]:m.PEER_JOINED,[c.HMSPeerUpdate.PEER_LEFT]:m.PEER_LEFT,[c.HMSPeerUpdate.ROLE_UPDATED]:m.ROLE_UPDATED,[c.HMSPeerUpdate.NAME_UPDATED]:m.NAME_UPDATED,[c.HMSPeerUpdate.METADATA_UPDATED]:m.METADATA_UPDATED},he={[c.HMSTrackUpdate.TRACK_ADDED]:m.TRACK_ADDED,[c.HMSTrackUpdate.TRACK_REMOVED]:m.TRACK_REMOVED,[c.HMSTrackUpdate.TRACK_MUTED]:m.TRACK_MUTED,[c.HMSTrackUpdate.TRACK_UNMUTED]:m.TRACK_UNMUTED,[c.HMSTrackUpdate.TRACK_DEGRADED]:m.TRACK_DEGRADED,[c.HMSTrackUpdate.TRACK_RESTORED]:m.TRACK_RESTORED,[c.HMSTrackUpdate.TRACK_DESCRIPTION_CHANGED]:m.TRACK_DESCRIPTION_CHANGED};var We=class{constructor(e,t,i){this.hmsSDKTracks={};this.hmsSDKPeers={};this.isRoomJoinCalled=!1;this.ignoredMessageTypes=[];this.setProgress=({type:e,progress:t})=>{this.setState(i=>{i.playlist[e].progress=t,i.playlist[e].currentTime=this.sdk.getPlaylistManager().getCurrentTime(e)},"playlistProgress")};this.syncPlaylistState=e=>{this.setState(t=>{Object.assign(t.playlist,h.convertPlaylist(this.sdk.getPlaylistManager()))},e)};this.sendPeerUpdateNotification=(e,t)=>{let i=this.store.getState(x(t.peerId)),o=ge[e]||"peerUpdate";this.syncRoomState(o),i||(i=this.store.getState(x(t.peerId))),this.hmsNotifications.sendPeerUpdate(e,i)};this.setState=(e,t)=>this.store.namedSetState(e,t);this.store=e,this.sdk=t,this.hmsNotifications=i}refreshDevices(){return S(this,null,function*(){yield this.sdk.refreshDevices()})}unblockAudio(){return S(this,null,function*(){yield this.sdk.getAudioOutput().unblockAutoplay()})}setVolume(e,t){t?this.setTrackVolume(e,t):(this.sdk.getAudioOutput().setVolume(e),this.syncRoomState("setOutputVolume"))}setAudioOutputDevice(e){this.sdk.getAudioOutput().setDevice(e)&&this.setState(i=>{i.settings.audioOutputDeviceId=e},"setAudioOutputDevice")}setPreferredLayer(e,t){let i=this.hmsSDKTracks[e];i?i instanceof G.HMSRemoteVideoTrack?(i.preferLayer(t),this.updateVideoLayer(e,"setPreferredLayer")):p.w(`track ${e} is not an video track`):this.logPossibleInconsistency(`track ${e} not present, unable to set preffer layer`)}preview(e){return S(this,null,function*(){if(this.isRoomJoinCalled){this.logPossibleInconsistency("attempting to call preview after join was called");return}let t=this.store.getState(b);if(t===y.Preview||t===y.Connecting){this.logPossibleInconsistency("attempting to call preview while room is in preview/connecting");return}try{this.setState(i=>{i.room.roomState=y.Connecting},"connecting"),yield this.sdkPreviewWithListeners(e)}catch(i){throw p.e("Cannot show preview. Failed to connect to room - ",i),i}})}join(e){return S(this,null,function*(){if(this.isRoomJoinCalled){this.logPossibleInconsistency("room join is called again");return}try{this.isRoomJoinCalled=!0,this.setState(t=>{t.room.roomState=y.Connecting},"join"),yield this.sdkJoinWithListeners(e)}catch(t){throw this.isRoomJoinCalled=!1,p.e("Failed to connect to room - ",t),t}})}leave(){return S(this,null,function*(){if(!this.store.getState(Le)){this.logPossibleInconsistency("room leave is called when no room is connected");return}let t=this.store.getState(b);return this.setState(i=>{i.room.roomState=y.Disconnecting},"leaving"),this.sdk.leave().then(()=>{this.resetState("leave"),p.i("left room")}).catch(i=>{p.e("error in leaving room - ",i),this.setState(o=>{o.room.roomState=t},"revertLeave")})})}setScreenShareEnabled(e,t){return S(this,null,function*(){let i={audioOnly:!1,videoOnly:!1};typeof t=="object"?Object.assign(i,t):typeof t=="boolean"&&(i.audioOnly=t);try{e?yield this.startScreenShare(i):yield this.stopScreenShare()}catch(o){throw this.hmsNotifications.sendError(h.convertException(o)),o}})}addTrack(e,t="regular"){return S(this,null,function*(){yield this.sdk.addTrack(e,t),this.syncRoomState("addTrack")})}removeTrack(e){return S(this,null,function*(){yield this.sdk.removeTrack(e),this.syncRoomState("removeTrack")})}setLocalAudioEnabled(e){return S(this,null,function*(){let t=this.store.getState(A);t&&(yield this.setEnabledTrack(t,e))})}setLocalVideoEnabled(e){return S(this,null,function*(){let t=this.store.getState(N);t&&(yield this.setEnabledTrack(t,e))})}setEnabledTrack(e,t){return S(this,null,function*(){var r;if(((r=this.store.getState().tracks[e])==null?void 0:r.enabled)===t){this.logPossibleInconsistency(`local track[${e}] enabled state - ${t}`);return}this.setState(a=>{a.tracks[e]?a.tracks[e].displayEnabled=t:this.logPossibleInconsistency("track id not found for setEnabled")},"displayEnabled");try{yield this.setEnabledSDKTrack(e,t),this.syncRoomState("setEnabled")}catch(a){throw this.setState(n=>{n.tracks[e].displayEnabled=!t},"rollbackDisplayEnabled"),this.hmsNotifications.sendError(h.convertException(a)),a}let o=t?c.HMSTrackUpdate.TRACK_UNMUTED:c.HMSTrackUpdate.TRACK_MUTED;this.hmsNotifications.sendTrackUpdate(o,e)})}setAudioSettings(e){return S(this,null,function*(){let t=this.store.getState(A);t&&(yield this.setSDKLocalAudioTrackSettings(t,e),this.syncRoomState("setAudioSettings"))})}setVideoSettings(e){return S(this,null,function*(){let t=this.store.getState(N);t&&(yield this.setSDKLocalVideoTrackSettings(t,e),this.syncRoomState("setVideoSettings"))})}sendMessage(e){this.sendBroadcastMessage(e)}sendBroadcastMessage(e,t){return S(this,null,function*(){let i=yield this.sdk.sendBroadcastMessage(e,t);this.updateMessageInStore(i,{message:e,type:t})})}sendGroupMessage(e,t,i){return S(this,null,function*(){let o=this.store.getState(V),r=t.map(n=>o[n]),a=yield this.sdk.sendGroupMessage(e,r,i);this.updateMessageInStore(a,{message:e,recipientRoles:t,type:i})})}sendDirectMessage(e,t,i){return S(this,null,function*(){let o=this.hmsSDKPeers[t],r=yield this.sdk.sendDirectMessage(e,o,i);this.updateMessageInStore(r,{message:e,recipientPeer:o.peerId,type:i})})}updateMessageInStore(e,t){if(!e)throw p.w("sendMessage","Failed to send message",t),Error(`sendMessage Failed - ${JSON.stringify(t)}`);let i=h.convertMessage(e);return i.read=!0,i.senderName="You",i.ignored=this.ignoredMessageTypes.includes(i.type),this.putMessageInStore(i),i}setMessageRead(e,t){this.setState(i=>{t?i.messages.byID[t]?i.messages.byID[t].read=e:this.logPossibleInconsistency("no message with id is found"):i.messages.allIDs.forEach(o=>{i.messages.byID[o].read=e})},"setMessageRead")}attachVideo(e,t){return S(this,null,function*(){if(this.localAndVideoUnmuting(e))return new Promise(i=>{let o=this.store.subscribe(r=>S(this,null,function*(){r&&(yield this.attachVideoInternal(e,t),o(),i())}),Me)});yield this.attachVideoInternal(e,t)})}detachVideo(e,t){return S(this,null,function*(){let i=this.hmsSDKTracks[e];(i==null?void 0:i.type)==="video"?(i.removeSink(t),this.updateVideoLayer(e,"detachVideo")):(t&&(t.srcObject=null),this.logPossibleInconsistency("no video track found to remove sink"))})}addPluginToVideoTrack(e,t){return S(this,null,function*(){return this.addRemoveVideoPlugin(e,"add",t)})}addPluginToAudioTrack(e){return S(this,null,function*(){return this.addRemoveAudioPlugin(e,"add")})}validateVideoPluginSupport(e){let t={};if(t.isSupported=!1,!e)return p.w("no plugin passed in for checking support"),t.errMsg="no plugin passed in for checking support",t;let i=this.store.getState(N);if(!i)return p.w("video Track not added to local peer yet"),t.errMsg="call this function only after local peer has video track",t;let o=this.hmsSDKTracks[i];return o?t=o.validatePlugin(e):(p.w(`track ${i} not present, unable to validate plugin`),t.errMsg=`track ${i} not present, unable to validate plugin`),t}validateAudioPluginSupport(e){let t={};if(t.isSupported=!1,!e)return p.w('no plugin passed in for checking support"'),t.errMsg='no plugin passed in for checking support"',t;let i=this.store.getState(A);if(!i)return p.w("audio track not added to local peer yet"),t.errMsg="call this function only after local peer has audio track",t;let o=this.hmsSDKTracks[i];return o?t=o.validatePlugin(e):(p.w(`track ${i} not present, unable to validate plugin`),t.errMsg=`track ${i} not present, unable to validate plugin`),t}removePluginFromVideoTrack(e){return S(this,null,function*(){return this.addRemoveVideoPlugin(e,"remove")})}removePluginFromAudioTrack(e){return S(this,null,function*(){return this.addRemoveAudioPlugin(e,"remove")})}changeRole(e,t,i=!1){return S(this,null,function*(){let o=this.hmsSDKPeers[e];if(!o){this.logPossibleInconsistency(`Unknown peer ID given ${e} for changerole`);return}yield this.sdk.changeRole(o,t,i)})}acceptChangeRole(e){return S(this,null,function*(){let t=e.requestedBy?this.hmsSDKPeers[e.requestedBy.id]:void 0;t||p.w(`peer for which role change is requested no longer available - ${e.requestedBy}`);let i={requestedBy:t,role:e.role,token:e.token};yield this.sdk.acceptChangeRole(i),this.removeRoleChangeRequest(e)})}initAppData(e){this.setState(t=>{t.appData=e},"initAppData")}setAppData(e,t,i){let o=(t==null?void 0:t.constructor.name)==="Object";this.setState(r=>{if(r.appData)i&&o?Object.assign(r.appData[e],t):r.appData[e]=t;else{let a={[e]:t};r.appData=a}},`setAppData-${e}`)}rejectChangeRole(e){this.removeRoleChangeRequest(e)}endRoom(e,t){return S(this,null,function*(){let i=this.store.getState(Oe);if(!(i==null?void 0:i.endRoom)){p.w("You are not allowed to perform this action - endRoom");return}let o=this.store.getState(b);this.setState(r=>{r.room.roomState=y.Disconnecting},"endingRoom");try{yield this.sdk.endRoom(e,t),this.resetState("endRoom")}catch(r){p.e("error in ending room - ",r),this.setState(a=>{a.room.roomState=o},"revertEndRoom")}})}removePeer(e,t){return S(this,null,function*(){let i=this.hmsSDKPeers[e];if(i&&!i.isLocal)yield this.sdk.removePeer(i,t);else{this.logPossibleInconsistency(`No remote peer found for peerID - ${e}`);return}})}startRTMPOrRecording(e){return S(this,null,function*(){yield this.sdk.startRTMPOrRecording(e)})}stopRTMPAndRecording(){return S(this,null,function*(){yield this.sdk.stopRTMPAndRecording()})}startHLSStreaming(e){return S(this,null,function*(){yield this.sdk.startHLSStreaming(e)})}stopHLSStreaming(e){return S(this,null,function*(){yield this.sdk.stopHLSStreaming(e)})}sendHLSTimedMetadata(e){return S(this,null,function*(){yield this.sdk.sendHLSTimedMetadata(e)})}changeName(e){return S(this,null,function*(){yield this.sdk.changeName(e)})}changeMetadata(e){return S(this,null,function*(){typeof e!="string"&&(e=JSON.stringify(e)),yield this.sdk.changeMetadata(e)})}setSessionMetadata(i){return S(this,arguments,function*(e,t={localOnly:!1}){t.localOnly||(yield this.sdk.setSessionMetadata(e)),this.setState(o=>{o.sessionMetadata=e},`setSessionMetadata${t.localOnly?"LocalOnly":""}`)})}populateSessionMetadata(){return S(this,null,function*(){let e=yield this.sdk.getSessionMetadata();this.setState(t=>{t.sessionMetadata=e},"populateSessionMetadata")})}setRemoteTrackEnabled(e,t){return S(this,null,function*(){if(typeof e=="string"){let i=this.hmsSDKTracks[e];i&&Pt(i)?yield this.sdk.changeTrackState(i,t):this.logPossibleInconsistency(`No remote track with ID ${e} found for change track state`)}else Array.isArray(e)&&e.forEach(i=>this.setRemoteTrackEnabled(i,t))})}setRemoteTracksEnabled(e){return S(this,null,function*(){let t={enabled:e.enabled,type:e.type,source:e.source};if(e.roles){let i=this.store.getState(V);t.roles=e.roles.map(o=>i[o])}yield this.sdk.changeMultiTrackState(t)})}setLogLevel(e){p.level=e,this.sdk.setLogLevel(e)}ignoreMessageTypes(e,t=!1){if(t)this.ignoredMessageTypes=e;else for(let i of e)this.ignoredMessageTypes.includes(i)||this.ignoredMessageTypes.push(i)}resetState(e="resetState"){this.isRoomJoinCalled=!1,this.hmsSDKTracks={},p.cleanUp(),this.setState(t=>{Object.assign(t,z())},e)}sdkJoinWithListeners(e){return S(this,null,function*(){yield this.sdk.join(e,{onJoin:this.onJoin.bind(this),onRoomUpdate:this.onRoomUpdate.bind(this),onPeerUpdate:this.onPeerUpdate.bind(this),onTrackUpdate:this.onTrackUpdate.bind(this),onMessageReceived:this.onMessageReceived.bind(this),onError:this.onError.bind(this),onReconnected:this.onReconnected.bind(this),onReconnecting:this.onReconnecting.bind(this),onRoleChangeRequest:this.onRoleChangeRequest.bind(this),onRoleUpdate:this.onRoleUpdate.bind(this),onDeviceChange:this.onDeviceChange.bind(this),onChangeTrackStateRequest:this.onChangeTrackStateRequest.bind(this),onChangeMultiTrackStateRequest:this.onChangeMultiTrackStateRequest.bind(this),onRemovedFromRoom:this.onRemovedFromRoom.bind(this),onNetworkQuality:this.onNetworkQuality.bind(this)}),this.sdk.addAudioListener({onAudioLevelUpdate:this.onAudioLevelUpdate.bind(this)}),this.sdk.addConnectionQualityListener({onConnectionQualityUpdate:this.onConnectionQualityUpdate.bind(this)})})}onRemovedFromRoom(e){var o;let t=this.store.getState(x((o=e.requestedBy)==null?void 0:o.peerId));this.hmsNotifications.sendLeaveRoom(W(_({},e),{requestedBy:t||void 0}));let i=e.roomEnded||!t?"roomEnded":"removedFromRoom";p.i(`resetting state after peer removed ${i}`,e),this.resetState(i)}onDeviceChange(e){let t=e.devices;if(!t)return;let i=this.store.getState(E);if(this.setState(o=>{w(o.devices.audioInput,t.audioInput)||(o.devices.audioInput=t.audioInput),w(o.devices.videoInput,t.videoInput)||(o.devices.videoInput=t.videoInput),w(o.devices.audioOutput,t.audioOutput)||(o.devices.audioOutput=t.audioOutput),this.hmsSDKPeers[i==null?void 0:i.id]&&Object.assign(o.settings,this.getMediaSettings(this.hmsSDKPeers[i==null?void 0:i.id]))},"deviceChange"),e.selection){let o=h.convertDeviceChangeUpdate(e);this.hmsNotifications.sendDeviceChange(o)}}sdkPreviewWithListeners(e){return S(this,null,function*(){yield this.sdk.preview(e,{onPreview:this.onPreview.bind(this),onError:this.onError.bind(this),onReconnected:this.onReconnected.bind(this),onReconnecting:this.onReconnecting.bind(this),onDeviceChange:this.onDeviceChange.bind(this),onRoomUpdate:this.onRoomUpdate.bind(this),onPeerUpdate:this.onPeerUpdate.bind(this),onNetworkQuality:this.onNetworkQuality.bind(this)}),this.sdk.addAudioListener({onAudioLevelUpdate:this.onAudioLevelUpdate.bind(this)})})}onNetworkQuality(e){this.setState(t=>{var o;let i=t.room.localPeer||((o=this.sdk.getLocalPeer())==null?void 0:o.peerId);i&&(t.connectionQualities[i]={peerID:i,downlinkQuality:e})},"ConnectionQuality")}startScreenShare(e){return S(this,null,function*(){this.store.getState(pe)?this.logPossibleInconsistency("start screenshare is called while it's on"):(yield this.sdk.startScreenShare(()=>this.syncRoomState("screenshareStopped"),e),this.syncRoomState("startScreenShare"))})}stopScreenShare(){return S(this,null,function*(){this.store.getState(pe)?(yield this.sdk.stopScreenShare(),this.syncRoomState("stopScreenShare")):this.logPossibleInconsistency("stop screenshare is called while it's not on")})}attachVideoInternal(e,t){return S(this,null,function*(){let i=this.hmsSDKTracks[e];i&&i.type==="video"?(i.addSink(t),this.updateVideoLayer(e,"attachVideo")):this.logPossibleInconsistency("no video track found to add sink")})}syncRoomState(e){e=`${e}_fullSync`,p.time(`store-sync-${e}`);let t={},i=[],o={},r={},a={},n=this.sdk.getPeers();for(let k of n){let O=h.convertPeer(k);t[O.id]=O,i.push(O.id),this.hmsSDKPeers[O.id]=k;let Y=[k.audioTrack,k.videoTrack,...k.auxiliaryTracks];for(let le of Y){if(!le)continue;let ze=h.convertTrack(le);o[ze.id]=ze,r[le.trackId]=le}O.isLocal&&Object.assign(a,this.getMediaSettings(k))}let M=this.sdk.getRecordingState(),R=this.sdk.getRTMPState(),j=this.sdk.getHLSState();this.setState(k=>{k.room.peers=i;let O=k.peers,Y=k.tracks;it(O,t),ot(Y,o),Object.assign(k.settings,a),this.hmsSDKTracks=r,Object.assign(k.roles,h.convertRoles(this.sdk.getRoles())),Object.assign(k.playlist,h.convertPlaylist(this.sdk.getPlaylistManager())),Object.assign(k.room,h.convertRecordingStreamingState(M,R,j))},e),p.timeEnd(`store-sync-${e}`)}onPreview(e){this.setState(t=>{Object.assign(t.room,h.convertRoom(e)),t.room.roomState=y.Preview},"previewStart"),this.syncRoomState("previewSync")}onJoin(e){let t=this.sdk.getPlaylistManager();this.audioPlaylist=new He(t,T.audio,this.syncPlaylistState.bind(this),this.store),this.videoPlaylist=new He(t,T.video,this.syncRoomState.bind(this),this.store),this.syncRoomState("joinSync"),this.setState(i=>{Object.assign(i.room,h.convertRoom(e)),i.room.isConnected=!0,i.room.roomState=y.Connected},"joined"),t.onProgress(this.setProgress),t.onNewTrackStart(i=>{this.syncPlaylistState(`${i.type}PlaylistUpdate`)}),t.onPlaylistEnded(i=>{this.syncPlaylistState(`${i}PlaylistEnded`)}),t.onCurrentTrackEnded(i=>{this.hmsNotifications.sendPlaylistTrackEnded(h.convertPlaylistItem(t,i)),this.syncPlaylistState(`${i.type}PlaylistItemEnded`)})}onRoomUpdate(e,t){this.setState(i=>{Object.assign(i.room,h.convertRoom(t))},e)}onPeerUpdate(e,t){if(![c.HMSPeerUpdate.BECAME_DOMINANT_SPEAKER,c.HMSPeerUpdate.RESIGNED_DOMINANT_SPEAKER].includes(e)){if(Array.isArray(t)){this.syncRoomState("peersJoined");let i=[];for(let o of t){let r=this.store.getState(x(o.peerId));r&&i.push(r)}this.hmsNotifications.sendPeerList(i);return}this.sendPeerUpdateNotification(e,t)}}onTrackUpdate(e,t,i){if(e===c.HMSTrackUpdate.TRACK_REMOVED)this.hmsNotifications.sendTrackUpdate(e,t.trackId),this.handleTrackRemove(t,i);else{let o=he[e]||"trackUpdate";this.syncRoomState(o),this.hmsNotifications.sendTrackUpdate(e,t.trackId)}}onMessageReceived(e){let t=h.convertMessage(e);t.read=!1,t.ignored=this.ignoredMessageTypes.includes(t.type),this.putMessageInStore(t),this.hmsNotifications.sendMessageReceived(t)}putMessageInStore(e){e.ignored||this.setState(t=>{e.id=String(this.store.getState(xe)+1),t.messages.byID[e.id]=e,t.messages.allIDs.push(e.id)},"newMessage")}onAudioLevelUpdate(e){this.setState(t=>{let i={};e.forEach(r=>{if(!r.track||!r.peer)return;let a=r.track.trackId;i[a]=r.audioLevel,t.speakers[a]||(t.speakers[a]={audioLevel:r.audioLevel,peerID:r.peer.peerId,trackID:a})});let o=Object.entries(t.speakers);for(let[r,a]of o)a.audioLevel=i[r]||0,a.audioLevel===0&&delete t.speakers[r]},"audioLevel")}onConnectionQualityUpdate(e){this.setState(t=>{let i=new Set;e.forEach(r=>{let a=r.peerID;!a||(i.add(a),t.connectionQualities[a]?Object.assign(t.connectionQualities[a],r):t.connectionQualities[a]=r)});let o=Object.keys(t.connectionQualities);for(let r of o)i.has(r)||delete t.connectionQualities[r]},"connectionQuality")}onChangeTrackStateRequest(e){var r;let t=this.store.getState(x((r=e.requestedBy)==null?void 0:r.peerId)),i=this.getStoreLocalTrackIDfromSDKTrack(e.track),o=this.store.getState(ne(i));if(!o)return this.logPossibleInconsistency(`Not found track for which track state change was requested, ${e.track}`);e.enabled||this.syncRoomState("changeTrackStateRequest"),this.hmsNotifications.sendChangeTrackStateRequest({requestedBy:t||void 0,track:o,enabled:e.enabled})}onChangeMultiTrackStateRequest(e){var r;let t=this.store.getState(x((r=e.requestedBy)==null?void 0:r.peerId));e.enabled||this.syncRoomState("changeMultiTrackStateRequest");let i=[],o=this.store.getState(H);for(let a of e.tracks){let n=this.getStoreLocalTrackIDfromSDKTrack(a);n&&o[n]&&i.push(o[n])}this.hmsNotifications.sendChangeMultiTrackStateRequest({requestedBy:t||void 0,tracks:i,enabled:e.enabled,type:e.type,source:e.source})}onReconnected(){this.syncRoomState("reconnectedSync"),this.hmsNotifications.sendReconnected(),this.setState(e=>{e.room.roomState=e.room.isConnected?y.Connected:y.Preview},"reconnected")}onReconnecting(e){let t=h.convertException(e);p.e("Reconnection: received error from sdk",t),this.hmsNotifications.sendReconnecting(t),this.setState(i=>{i.room.roomState=y.Reconnecting,i.errors.push(t)},"reconnecting")}onError(e){let t=h.convertException(e);t.isTerminal?(this.leave().then(()=>p.e("error from SDK, left room.")),this.setState(i=>{i.room.roomState=y.Failed,i.errors.push(t)},"errorTerminal")):this.store.getState().errors.length<50&&this.setState(o=>{o.errors.push(t)},"error"),this.syncRoomState("errorSync"),this.hmsNotifications.sendError(t),p.e("received error from sdk",t instanceof G.HMSException?`${t}`:t)}updateVideoLayer(e,t){let i=this.hmsSDKTracks[e];if(i&&i instanceof G.HMSRemoteVideoTrack){let o=this.store.getState(qe(e));((o==null?void 0:o.layer)!==i.getSimulcastLayer()||(o==null?void 0:o.degraded)!==i.degraded)&&this.setState(a=>{let n=a.tracks[e];n.layer=i.getSimulcastLayer(),n.degraded=i.degraded},t)}}handleTrackRemove(e,t){this.setState(i=>{let o=i.peers[t.peerId],r=i.tracks,a=e.trackId;if(this.isSameStoreSDKTrack(a,o==null?void 0:o.audioTrack))o==null||delete o.audioTrack;else if(this.isSameStoreSDKTrack(a,o==null?void 0:o.videoTrack))o==null||delete o.videoTrack;else{let n=o==null?void 0:o.auxiliaryTracks.indexOf(a);n>-1&&this.isSameStoreSDKTrack(a,o==null?void 0:o.auxiliaryTracks[n])&&(o==null||o.auxiliaryTracks.splice(n,1))}delete r[a],delete this.hmsSDKTracks[a]},"trackRemoved")}setEnabledSDKTrack(e,t){return S(this,null,function*(){let i=this.hmsSDKTracks[e];i?yield i.setEnabled(t):this.logPossibleInconsistency(`track ${e} not present, unable to enabled/disable`)})}setSDKLocalVideoTrackSettings(e,t){return S(this,null,function*(){let i=this.hmsSDKTracks[e];i?yield i.setSettings(t):this.logPossibleInconsistency(`local track ${e} not present, unable to set settings`)})}setSDKLocalAudioTrackSettings(e,t){return S(this,null,function*(){let i=this.hmsSDKTracks[e];i?yield i.setSettings(t):this.logPossibleInconsistency(`local track ${e} not present, unable to set settings`)})}getMediaSettings(e){var r;let t=this.store.getState(Ce),i=e.audioTrack,o=e.videoTrack;return{audioInputDeviceId:(i==null?void 0:i.settings.deviceId)||t.audioInputDeviceId,videoInputDeviceId:(o==null?void 0:o.settings.deviceId)||t.videoInputDeviceId,audioOutputDeviceId:(r=this.sdk.getAudioOutput().getDevice())==null?void 0:r.deviceId}}setTrackVolume(e,t){let i=this.hmsSDKTracks[t];i?i instanceof G.HMSAudioTrack?(i.setVolume(e),this.setState(o=>{let r=o.tracks[t];r&&r.type==="audio"&&(r.volume=e)},"trackVolume")):p.w(`track ${t} is not an audio track`):this.logPossibleInconsistency(`track ${t} not present, unable to set volume`)}localAndVideoUnmuting(e){if(this.store.getState(E).videoTrack!==e)return!1;let i=this.store.getState(Ne),o=this.store.getState(Me);return i&&!o}logPossibleInconsistency(e){p.w("possible inconsistency detected - ",e)}addRemoveVideoPlugin(e,t,i){return S(this,null,function*(){if(!e){p.w("Invalid plugin received in store");return}let o=this.store.getState(N);if(o){let r=this.hmsSDKTracks[o];r?(t==="add"?yield r.addPlugin(e,i):t==="remove"&&(yield r.removePlugin(e)),this.syncRoomState(`${t}VideoPlugin`)):this.logPossibleInconsistency(`track ${o} not present, unable to remove plugin`)}})}addRemoveAudioPlugin(e,t){return S(this,null,function*(){if(!e){p.w("Invalid plugin received in store");return}let i=this.store.getState(A);if(i){let o=this.hmsSDKTracks[i];o?(t==="add"?yield o.addPlugin(e):t==="remove"&&(yield o.removePlugin(e)),this.syncRoomState(`${t}AudioPlugin`)):this.logPossibleInconsistency(`track ${i} not present, unable to remove plugin`)}})}isSameStoreSDKTrack(e,t){var i;return t?((i=this.hmsSDKTracks[t])==null?void 0:i.trackId)===e:!1}onRoleChangeRequest(e){this.setState(t=>{t.roleChangeRequests.length===0&&t.roleChangeRequests.push(h.convertRoleChangeRequest(e))},"roleChangeRequest")}removeRoleChangeRequest(e){this.setState(t=>{let i=t.roleChangeRequests.findIndex(o=>o.token===e.token);i!==-1&&t.roleChangeRequests.splice(i,1)},"removeRoleChangeRequest")}onRoleUpdate(){this.syncRoomState("roleUpdate")}getStoreLocalTrackIDfromSDKTrack(e){return this.store.getState(Ae).find(i=>this.hmsSDKTracks[i].trackId===e.trackId)}};var Dt=D(require("eventemitter2"));var Qe="hmsNotification",Je=class{constructor(e){this.id=0;this.onNotification=(e,t)=>{let i=o=>{if(t){let r;if(Array.isArray(t)?r=t.includes(o.type):r=t===o.type,!r)return}e(o)};return this.eventEmitter.addListener(Qe,i),()=>{this.eventEmitter.removeListener(Qe,i)}};this.store=e,this.eventEmitter=new Dt.EventEmitter2({maxListeners:Object.keys(m).length})}sendPlaylistTrackEnded(e){let t=this.createNotification(m.PLAYLIST_TRACK_ENDED,e,P.INFO);this.emitEvent(t)}sendDeviceChange(e){var i;let t=this.createNotification(m.DEVICE_CHANGE_UPDATE,e,e.error?P.ERROR:P.INFO,`Selected ${e.type} device - ${(i=e.selection)==null?void 0:i.label}`);this.emitEvent(t)}sendLeaveRoom(e){var o;let t=(o=e.requestedBy)==null?void 0:o.name,i=this.createNotification(e.roomEnded||!t?m.ROOM_ENDED:m.REMOVED_FROM_ROOM,e,P.INFO,`${e.roomEnded?"Room ended":"Removed from room"} ${t?`by ${t}`:""}`);this.emitEvent(i)}sendPeerList(e){let t=this.createNotification(m.PEER_LIST,e,P.INFO);this.emitEvent(t)}sendPeerUpdate(e,t){let i=this.store.getState(x(t==null?void 0:t.id))||t,o=ge[e];if(o){let r=this.createNotification(o,i,P.INFO);this.emitEvent(r)}}sendTrackUpdate(e,t){let i=this.store.getState(ne(t)),o=he[e];if(o){let r=this.createNotification(o,i,P.INFO);this.emitEvent(r)}}sendMessageReceived(e){let t=this.createNotification(m.NEW_MESSAGE,e,P.INFO);this.emitEvent(t)}sendError(e){let t=this.createNotification(m.ERROR,e,P.ERROR);this.emitEvent(t)}sendReconnecting(e){let t=this.createNotification(m.RECONNECTING,e,P.ERROR);this.emitEvent(t)}sendReconnected(){let e=this.createNotification(m.RECONNECTED,null,P.INFO);this.emitEvent(e)}sendChangeTrackStateRequest(e){let t=this.createNotification(m.CHANGE_TRACK_STATE_REQUEST,e,P.INFO);this.emitEvent(t)}sendChangeMultiTrackStateRequest(e){let t=this.createNotification(m.CHANGE_MULTI_TRACK_STATE_REQUEST,e,P.INFO);this.emitEvent(t)}emitEvent(e){this.eventEmitter.emit(Qe,e)}createNotification(e,t,i,o=""){return this.id++,{id:this.id,type:e,message:o,data:t,severity:i}}};var It=D(require("@100mslive/hms-video")),ye=s=>It.isBrowser?`${s} ${document.title}`:s;var vt=(s,e,t)=>{let i;t.getState(b)===y.Connected&&(i=Et(s,e,t)),t.subscribe(o=>{[y.Connected,y.Reconnecting].includes(o)?i||(i=Et(s,e,t)):i&&(Hi(e),i())},b)},Et=(s,e,t)=>{var r,a;let i=Ti(t,e);(r=s.getWebrtcInternals())==null||r.start();let o=(a=s.getWebrtcInternals())==null?void 0:a.onStatsChange(n=>mi(e,n,t));return()=>{i(),o&&o()}},Ti=(s,e)=>{let t,i,o;return s.getState(q)?e.namedSetState(r=>{r.localPeer.id=s.getState(q)},"localpeer-id"):t=s.subscribe(r=>{r&&e.namedSetState(a=>{a.localPeer.id=r},"localpeer-id")},q),s.getState(N)?e.namedSetState(r=>{r.localPeer.videoTrack=s.getState(N)},"localpeer-videotrack-id"):i=s.subscribe(r=>{r&&e.namedSetState(a=>{a.localPeer.videoTrack=r},"localpeer-videotrack-id")},N),s.getState(A)?e.namedSetState(r=>{r.localPeer.videoTrack=s.getState(A)},"localpeer-audiotrack-id"):o=s.subscribe(r=>{r&&e.namedSetState(a=>{a.localPeer.videoTrack=r},"localpeer-audiotrack-id")},A),()=>{t==null||t(),i==null||i(),o==null||o()}},mi=(s,e,t)=>{let i=t.getState(H);s.namedSetState(o=>{let r={},a=Object.keys(i);for(let R of a){let j=e.getTrackStats(R);j&&(r[R]=j)}Re(o.trackStats,r);let M={[t.getState(q)]:e.getLocalPeerStats()};Re(o.peerStats,M)},"webrtc-stats")},Hi=(s,e="resetState")=>{s.namedSetState(t=>{Object.assign(t,Z())},e)};var ce=class{constructor(e,t){this.hmsStore=e;this.sdk=t;this.store=L.createNewHMSStore(ye("HMSStatsStore"),Z),this.getState=this.store.getState,this.subscribe=this.store.subscribe,this.getPublishPeerConnection=()=>new Promise(i=>{var o,r;this.hmsStore.getState(b)==="Connected"?i((r=(o=this.sdk)==null?void 0:o.getWebrtcInternals())==null?void 0:r.getPublishPeerConnection()):this.hmsStore.subscribe(a=>{var n,M;a==="Connected"&&i((M=(n=this.sdk)==null?void 0:n.getWebrtcInternals())==null?void 0:M.getPublishPeerConnection())},b)}),this.getSubscribePeerConnection=()=>new Promise(i=>{var o,r;this.hmsStore.getState(b)==="Connected"?i((r=(o=this.sdk)==null?void 0:o.getWebrtcInternals())==null?void 0:r.getSubscribePeerConnection()):this.hmsStore.subscribe(a=>{var n,M;a==="Connected"&&i((M=(n=this.sdk)==null?void 0:n.getWebrtcInternals())==null?void 0:M.getSubscribePeerConnection())},b)}),!!this.sdk&&vt(this.sdk,this.store,this.hmsStore)}};var f=D(require("reselect"));var gi=s=>s.localPeer.id,hi=s=>s.localPeer.audioTrack,yi=s=>s.localPeer.videoTrack,fi=(s,e)=>e,ki=(s,e)=>e,Ye=s=>s.trackStats,bt=s=>s.peerStats,B=(0,f.createSelector)([bt,gi],(s,e)=>s[e]),Ri=(0,f.createSelector)(B,s=>{var e;return(e=s==null?void 0:s.subscribe)==null?void 0:e.packetsLost}),Pi=(0,f.createSelector)(B,s=>{var e;return(e=s==null?void 0:s.subscribe)==null?void 0:e.jitter}),Di=(0,f.createSelector)(B,s=>{var e;return(e=s==null?void 0:s.publish)==null?void 0:e.bitrate}),Ii=(0,f.createSelector)(B,s=>{var e;return(e=s==null?void 0:s.subscribe)==null?void 0:e.bitrate}),vi=(0,f.createSelector)(B,s=>{var e;return(e=s==null?void 0:s.publish)==null?void 0:e.availableOutgoingBitrate}),Ei=(0,f.createSelector)(B,s=>{var e;return(e=s==null?void 0:s.subscribe)==null?void 0:e.availableIncomingBitrate}),bi=(0,f.createSelector)(B,s=>{var e;return(e=s==null?void 0:s.publish)==null?void 0:e.bytesSent}),Ci=(0,f.createSelector)(B,s=>{var e;return(e=s==null?void 0:s.subscribe)==null?void 0:e.bytesReceived}),Ai=(0,f.createSelector)([bt,fi],(s,e)=>e?s[e]:void 0),J=(0,f.createSelector)([Ye,ki],(s,e)=>e?s[e]:void 0),Ni=d(Ai),xi=d(J),Li=d((0,f.createSelector)(J,s=>s==null?void 0:s.bitrate)),Oi=d((0,f.createSelector)(J,s=>s==null?void 0:s.bytesReceived)),_i=d((0,f.createSelector)(J,s=>s==null?void 0:s.framesPerSecond)),wi=d((0,f.createSelector)(J,s=>s==null?void 0:s.jitter)),Ui=d((0,f.createSelector)(J,s=>s==null?void 0:s.packetsLost)),Xe=(0,f.createSelector)([Ye,hi],(s,e)=>e?s[e]:void 0),Se=(0,f.createSelector)([Ye,yi],(s,e)=>e?s[e]:void 0),Vi=(0,f.createSelector)(Xe,s=>s==null?void 0:s.bitrate),Ki=(0,f.createSelector)(Se,s=>s==null?void 0:s.bitrate),Bi=(0,f.createSelector)(Xe,s=>s==null?void 0:s.bytesSent),qi=(0,f.createSelector)(Se,s=>s==null?void 0:s.bytesSent),ji=(0,f.createSelector)(Se,s=>s==null?void 0:s.framesPerSecond),$i=(0,f.createSelector)(Se,s=>s==null?void 0:s.qualityLimitationReason),Ct={localPeerStats:B,packetsLost:Ri,jitter:Pi,publishBitrate:Di,subscribeBitrate:Ii,availablePublishBitrate:vi,availableSubscribeBitrate:Ei,totalBytesSent:bi,totalBytesReceived:Ci,peerStatsByID:Ni,trackStatsByID:xi,bitrateByTrackID:Li,bytesReceivedByTrackID:Oi,framerateByTrackID:_i,jitterByTrackID:wi,packetsLostByTrackID:Ui,localAudioTrackStats:Xe,localVideoTrackStats:Se,localAudioTrackBitrate:Vi,localVideoTrackBitrate:Ki,localAudioTrackBytesSent:Bi,localVideoTrackBytesSent:qi,localVideoTrackFramerate:ji,localVideoTrackQualityLimitationReason:$i};var L=class{constructor(e,t,i){this.getStats=()=>(this.stats||(this.stats=new ce(this.store,this.sdk)),this.stats);e?this.store=e:this.store=L.createNewHMSStore(ye("HMSStore"),z),i?this.notifications=i:this.notifications=new Je(this.store),t?this.actions=t:(this.sdk=new fe.HMSSdk,this.actions=new We(this.store,this.sdk,this.notifications)),this.initialTriggerOnSubscribe=!1,fe.isBrowser&&(window.__hms=this)}triggerOnSubscribe(){this.initialTriggerOnSubscribe||(L.makeStoreTriggerOnSubscribe(this.store),this.initialTriggerOnSubscribe=!0)}getStore(){return this.store}getHMSActions(){return this.actions}getActions(){return this.actions}getNotifications(){return{onNotification:this.notifications.onNotification}}static createNewHMSStore(e,t){let i=(0,Nt.default)(()=>t()),o=i.setState;i.setState=n=>{let M=typeof n=="function"?(0,At.default)(n):n;o(M)};let r=i.getState;i.getState=n=>{if(n){let M=n.name||"byIDSelector";window.selectorsCount||(window.selectorsCount={}),window.selectorsCount[M]=(window.selectorsCount[M]||0)+1;let R=performance.now(),j=n(r()),k=performance.now()-R;return k>1&&(window.expensiveSelectors=window.expensiveSelectors||new Map,window.expensiveSelectors.set(M,k)),j}return r()},L.compareWithShallowCheckInSubscribe(i);let a=L.setUpDevtools(i,e);return W(_({},i),{namedSetState:a})}static makeStoreTriggerOnSubscribe(e){let t=e.subscribe;e.subscribe=(i,o,r)=>(i(e.getState(o),void 0),t(i,o,r))}static compareWithShallowCheckInSubscribe(e){let t=e.subscribe;e.subscribe=(i,o,r)=>(o||(o=a=>a),r=r||xt.default,t(i,o,r))}static setUpDevtools(e,t){let i;try{i=window.__REDUX_DEVTOOLS_EXTENSION__||window.top.__REDUX_DEVTOOLS_EXTENSION__}catch(a){}if(!i)return a=>{e.setState(a)};let o=i.connect(L.devtoolsOptions(t));o.prefix=t?`${t} > `:"";let r=e.setState;return e.setState=a=>{r(a),o.send(`${o.prefix}setState`,e.getState())},o.subscribe(L.devtoolsSubscribe(o,e,r)),o.send("setUpStore",e.getState()),(a,n)=>{r(a);let M=n||`${o.prefix}action`;o.send(M,e.getState())}}static devtoolsOptions(e){return{name:e,actionsBlacklist:["audioLevel","playlistProgress","connectionQuality"]}}static devtoolsSubscribe(e,t,i){return o=>{var r,a,n,M;if(o.type==="DISPATCH"&&o.state)["JUMP_TO_ACTION","JUMP_TO_STATE"].includes(o.payload.type)?i(JSON.parse(o.state)):t.setState(JSON.parse(o.state));else if(o.type==="DISPATCH"&&((r=o.payload)==null?void 0:r.type)==="COMMIT")e.init(t.getState());else if(o.type==="DISPATCH"&&((a=o.payload)==null?void 0:a.type)==="IMPORT_STATE"){let R=(n=o.payload.nextLiftedState)==null?void 0:n.actionsById;(((M=o.payload.nextLiftedState)==null?void 0:M.computedStates)||[]).forEach(({state:k},O)=>{let Y=R[O]||`${e.prefix}setState`;O===0?e.init(k):(i(k),e.send(Y,t.getState()))})}}}};
2
2
  //# sourceMappingURL=index.cjs.js.map