@100mslive/hms-video-store 0.15.1-alpha.3 → 0.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";var oo=Object.create;var bt=Object.defineProperty,co=Object.defineProperties,lo=Object.getOwnPropertyDescriptor,uo=Object.getOwnPropertyDescriptors,po=Object.getOwnPropertyNames,Si=Object.getOwnPropertySymbols,ta=Object.getPrototypeOf,Gr=Object.prototype.hasOwnProperty,ia=Object.prototype.propertyIsEnumerable,ho=Reflect.get;var ea=(a,e,t)=>e in a?bt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,m=(a,e)=>{for(var t in e||(e={}))Gr.call(e,t)&&ea(a,t,e[t]);if(Si)for(var t of Si(e))ia.call(e,t)&&ea(a,t,e[t]);return a},M=(a,e)=>co(a,uo(e));var $r=(a,e)=>{var t={};for(var i in a)Gr.call(a,i)&&e.indexOf(i)<0&&(t[i]=a[i]);if(a!=null&&Si)for(var i of Si(a))e.indexOf(i)<0&&ia.call(a,i)&&(t[i]=a[i]);return t};var mo=(a,e)=>()=>{try{return e||a((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}},So=(a,e)=>{for(var t in e)bt(a,t,{get:e[t],enumerable:!0})},ra=(a,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of po(e))!Gr.call(a,r)&&r!==t&&bt(a,r,{get:()=>e[r],enumerable:!(i=lo(e,r))||i.enumerable});return a};var We=(a,e,t)=>(t=a!=null?oo(ta(a)):{},ra(e||!a||!a.__esModule?bt(t,"default",{value:a,enumerable:!0}):t,a)),go=a=>ra(bt({},"__esModule",{value:!0}),a);var me=(a,e,t)=>ho(ta(a),t,e);var c=(a,e,t)=>new Promise((i,r)=>{var s=l=>{try{o(t.next(l))}catch(u){r(u)}},n=l=>{try{o(t.throw(l))}catch(u){r(u)}},o=l=>l.done?i(l.value):Promise.resolve(l.value).then(s,n);o((t=t.apply(a,e)).next())});var Zr=mo((uu,Eo)=>{Eo.exports={version:"0.15.1-alpha.3",license:"MIT",repository:{type:"git",url:"https://github.com/100mslive/web-sdks.git",directory:"packages/hms-video-store"},main:"dist/index.cjs.js",module:"dist/index.js",typings:"dist/index.d.ts",files:["dist"],engines:{node:">=12"},exports:{".":{require:"./dist/index.cjs.js",import:"./dist/index.js",default:"./dist/index.js"}},sideEffects:!1,scripts:{prestart:"rm -rf dist && yarn types:build",start:'concurrently "yarn dev" "yarn types"',dev:"node ../../scripts/dev","build:only":"node ../../scripts/build",build:"yarn build:only && yarn types:build",types:"tsc -w","types:build":"tsc -p tsconfig.json",format:"prettier --write src/**/*.ts",test:"jest --maxWorkers=1","test:watch":"jest --watch","test:coverage":"jest --coverage",lint:"eslint -c ../../.eslintrc .","lint:fix":"yarn lint --fix",prepare:"yarn build",size:"size-limit",analyze:"size-limit --why",docs:"rm -rf ./docs && typedoc && rm -f ./docs/README.md && mkdir ./docs/home &&mv ./docs/modules.md ./docs/home/content.md && node ../../scripts/docs-store && npx prettier --write './docs/**/*'"},name:"@100mslive/hms-video-store",author:"100ms",dependencies:{eventemitter2:"^6.4.9",immer:"^9.0.6","lodash.isequal":"^4.5.0",reselect:"4.0.0","sdp-transform":"^2.14.1","ua-parser-js":"^2.0.6",uuid:"^11.1.1","webrtc-adapter":"^8.0.0",zustand:"3.5.7"},devDependencies:{"@types/dom-screen-wake-lock":"^1.0.1","@types/lodash.isequal":"^4.5.8","@types/sdp-transform":"^2.4.4","@types/ua-parser-js":"^0.7.39","@types/uuid":"^8.3.0","jest-canvas-mock":"^2.3.1","jsdom-worker":"^0.3.0",tslib:"^2.2.0"},description:"@100mslive Core SDK which abstracts the complexities of webRTC while providing a reactive store for data management with a unidirectional data flow",keywords:["video","webrtc","conferencing","100ms"],gitHead:"82521cb6aced12ec7e7f5a945e9fbbc1d45f0fd5"}});var Pl={};So(Pl,{ConnectivityState:()=>Nn,DeviceType:()=>ls,Diagnostics:()=>gt,DomainCategory:()=>Jr,EventBus:()=>Tt,HLSPlaylistType:()=>ns,HLSStreamType:()=>os,HMSAudioDeviceCategory:()=>Hi,HMSAudioMode:()=>Ri,HMSAudioPluginType:()=>ki,HMSLogLevel:()=>Kr,HMSMessageType:()=>sa,HMSNotificationSeverity:()=>Wr,HMSNotificationTypes:()=>Ti,HMSPeerType:()=>Ai,HMSPlaylistType:()=>qr,HMSPluginUnsupportedTypes:()=>Ei,HMSReactiveStore:()=>et,HMSRecordingState:()=>as,HMSRoomState:()=>gi,HMSStats:()=>kt,HMSTrackExceptionTrackType:()=>zr,HMSTranscriptionMode:()=>ds,HMSTranscriptionState:()=>cs,HMSVideoPluginCanvasContextType:()=>Oi,HMSVideoPluginType:()=>Ni,createDefaultStatsStore:()=>At,createDefaultStoreState:()=>It,getAudioDeviceCategory:()=>Ci,parsedUserAgent:()=>J,selectAppData:()=>Gc,selectAppDataByPath:()=>Wc,selectAudioPlaylist:()=>Ls,selectAudioPlaylistTrackByPeerID:()=>ad,selectAudioTrackByID:()=>jc,selectAudioTrackByPeerID:()=>vn,selectAudioTrackVolume:()=>Bs,selectAudioVolumeByPeerID:()=>ud,selectAuxiliaryAudioByPeerID:()=>id,selectAuxiliaryTracksByPeerID:()=>Yc,selectAvailableRoleNames:()=>Tc,selectBroadcastMessages:()=>En,selectBroadcastMessagesUnreadCount:()=>gd,selectCameraStreamByPeerID:()=>zc,selectConnectionQualities:()=>Qo,selectConnectionQualityByPeerID:()=>td,selectDegradedTracks:()=>uc,selectDevices:()=>jo,selectDidIJoinWithin:()=>Vd,selectDominantSpeaker:()=>ic,selectEffectsKey:()=>Hc,selectErrors:()=>sn,selectFullAppData:()=>qi,selectHLSState:()=>yc,selectHMSBroadcastMessages:()=>on,selectHMSMessages:()=>mt,selectHMSMessagesCount:()=>pc,selectHMSStats:()=>no,selectHandRaisedPeers:()=>Dc,selectHasPeerHandRaised:()=>Pd,selectIsAllowedToPreviewMedia:()=>wd,selectIsAllowedToPublish:()=>Ld,selectIsAllowedToSubscribe:()=>fc,selectIsAudioLocallyMuted:()=>Us,selectIsConnectedToRoom:()=>Ce,selectIsEffectsEnabled:()=>Ac,selectIsInPreview:()=>bs,selectIsLargeRoom:()=>Ic,selectIsLocalAudioEnabled:()=>rc,selectIsLocalAudioInterrupted:()=>sc,selectIsLocalAudioPluginPresent:()=>xd,selectIsLocalScreenShared:()=>ji,selectIsLocalVideoDisplayEnabled:()=>Ps,selectIsLocalVideoEnabled:()=>Ki,selectIsLocalVideoInterrupted:()=>ac,selectIsLocalVideoPluginPresent:()=>Od,selectIsLocallyMutedByPeerID:()=>dd,selectIsPeerAudioEnabled:()=>od,selectIsPeerVideoEnabled:()=>cd,selectIsRoleAllowedToPublish:()=>Dd,selectIsScreenShareLocallyMutedByPeerID:()=>ld,selectIsSomeoneScreenSharing:()=>nc,selectIsTranscriptionAllowedByMode:()=>Ad,selectIsTranscriptionEnabled:()=>gc,selectIsVBEnabled:()=>Rc,selectLocalAudioTrackID:()=>ue,selectLocalMediaSettings:()=>ks,selectLocalPeer:()=>X,selectLocalPeerID:()=>Ie,selectLocalPeerName:()=>Xo,selectLocalPeerRole:()=>ze,selectLocalPeerRoleName:()=>Zo,selectLocalTrackIDs:()=>Es,selectLocalVideoTrackID:()=>ie,selectMessageByMessageID:()=>Id,selectMessageIDsInOrder:()=>ys,selectMessagesByPeerID:()=>Td,selectMessagesByRole:()=>fd,selectMessagesMap:()=>$t,selectMessagesUnreadCountByPeerID:()=>Md,selectMessagesUnreadCountByRole:()=>vd,selectPeerAudioByID:()=>ed,selectPeerByCondition:()=>Ud,selectPeerByID:()=>se,selectPeerCount:()=>Jo,selectPeerMetadata:()=>Ed,selectPeerName:()=>bd,selectPeerNameByID:()=>qc,selectPeerScreenSharing:()=>nn,selectPeerSharingAudio:()=>oc,selectPeerSharingAudioPlaylist:()=>lc,selectPeerSharingVideoPlaylist:()=>dc,selectPeerTypeByID:()=>Kc,selectPeers:()=>Me,selectPeersByCondition:()=>Bd,selectPeersByRole:()=>yd,selectPeersByRoles:()=>kd,selectPeersMap:()=>Y,selectPeersScreenSharing:()=>cc,selectPeersWithAudioStatus:()=>Rd,selectPermissions:()=>As,selectPollByID:()=>Vs,selectPolls:()=>wc,selectPollsMap:()=>Rs,selectPreviewRole:()=>Is,selectPreviewRoleName:()=>cn,selectRTMPState:()=>Mc,selectRecentError:()=>qo,selectRecordingState:()=>vc,selectRemotePeers:()=>tc,selectRoleByRoleName:()=>Pn,selectRoleChangeRequest:()=>Cd,selectRolesMap:()=>ye,selectRoom:()=>V,selectRoomID:()=>Ko,selectRoomStartTime:()=>bc,selectRoomStarted:()=>Sc,selectRoomState:()=>oe,selectScreenAudioTrackByID:()=>Qc,selectScreenShareAudioByPeerID:()=>xs,selectScreenShareByPeerID:()=>nd,selectScreenSharesByPeerId:()=>Os,selectScreenVideoTrackByID:()=>Jc,selectScreenshareAudioVolumeByPeerID:()=>pd,selectSessionId:()=>Pc,selectSessionMetadata:()=>Lc,selectSessionStore:()=>$c,selectSimulcastLayerByTrack:()=>hd,selectSpeakers:()=>an,selectTemplateAppData:()=>Cc,selectTrackAudioByID:()=>Xc,selectTrackByID:()=>Kt,selectTracksMap:()=>_,selectTranscriptionsState:()=>kc,selectTranslationState:()=>Ec,selectUnreadHMSBroadcastMessagesCount:()=>mc,selectUnreadHMSMessagesCount:()=>hc,selectVideoPlaylist:()=>ws,selectVideoPlaylistAudioTrackByPeerID:()=>sd,selectVideoPlaylistVideoTrackByPeerID:()=>rd,selectVideoTrackByID:()=>Ns,selectVideoTrackByPeerID:()=>fn,selectWhiteboard:()=>_c,selectWhiteboards:()=>dn,simulcastMapping:()=>Ue});module.exports=go(Pl);var gi=(o=>(o.Disconnected="Disconnected",o.Preview="Preview",o.Connecting="Connecting",o.Connected="Connected",o.Reconnecting="Reconnecting",o.Disconnecting="Disconnecting",o.Failed="Failed",o))(gi||{});var It=()=>({room:{id:"",isConnected:!1,name:"",peers:[],localPeer:"",roomState:"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:[],sessionStore:{},templateAppData:{},polls:{},whiteboards:{},hideLocalPeer:!1}),At=()=>({peerStats:{},remoteTrackStats:{},localTrackStats:{},localPeer:{id:""}});var sa=(e=>(e.CHAT="chat",e))(sa||{});var Wr=(t=>(t.INFO="info",t.ERROR="error",t))(Wr||{}),Ti=(D=>(D.PEER_JOINED="PEER_JOINED",D.PEER_LEFT="PEER_LEFT",D.PEER_LIST="PEER_LIST",D.NEW_MESSAGE="NEW_MESSAGE",D.ERROR="ERROR",D.RECONNECTING="RECONNECTING",D.RECONNECTED="RECONNECTED",D.TRACK_ADDED="TRACK_ADDED",D.TRACK_REMOVED="TRACK_REMOVED",D.TRACK_MUTED="TRACK_MUTED",D.TRACK_UNMUTED="TRACK_UNMUTED",D.TRACK_DEGRADED="TRACK_DEGRADED",D.TRACK_RESTORED="TRACK_RESTORED",D.TRACK_DESCRIPTION_CHANGED="TRACK_DESCRIPTION_CHANGED",D.ROLE_UPDATED="ROLE_UPDATED",D.CHANGE_TRACK_STATE_REQUEST="CHANGE_TRACK_STATE_REQUEST",D.CHANGE_MULTI_TRACK_STATE_REQUEST="CHANGE_MULTI_TRACK_STATE_REQUEST",D.ROOM_ENDED="ROOM_ENDED",D.REMOVED_FROM_ROOM="REMOVED_FROM_ROOM",D.DEVICE_CHANGE_UPDATE="DEVICE_CHANGE_UPDATE",D.PLAYLIST_TRACK_ENDED="PLAYLIST_TRACK_ENDED",D.NAME_UPDATED="NAME_UPDATED",D.METADATA_UPDATED="METADATA_UPDATED",D.POLL_CREATED="POLL_CREATED",D.POLL_STARTED="POLL_STARTED",D.POLL_STOPPED="POLL_STOPPED",D.POLL_VOTES_UPDATED="POLL_VOTES_UPDATED",D.POLLS_LIST="POLLS_LIST",D.HAND_RAISE_CHANGED="HAND_RAISE_CHANGED",D.TRANSCRIPTION_STATE_UPDATED="TRANSCRIPTION_STATE_UPDATED",D.TRACK_INTERRUPTION_START="TRACK_INTERRUPTION_START",D.TRACK_INTERRUPTION_END="TRACK_INTERRUPTION_END",D))(Ti||{});var qr=(t=>(t.audio="audio",t.video="video",t))(qr||{});var I=require("reselect");function qe(a,e){let t,i;if(e)for(let r of e.auxiliaryTracks){let s=a[r];To(s)&&(i=Rt(s)?s:i,t=Ht(s)?s:t)}return{video:t,audio:i}}function Rt(a){return a&&a.type==="audio"}function Ht(a){return a&&a.type==="video"}function To(a){return a&&a.source==="screen"}function fi(a){return a&&a.source==="audioplaylist"}function Ct(a){return a&&a.source==="videoplaylist"}function aa(a){return a?!!(a!=null&&a.degraded):!1}function tt(a,e){return e&&a.tracks[e]?a.tracks[e].enabled:!1}function na(a,e){return e&&a.tracks[e]?a.tracks[e].displayEnabled:!1}function Lt(a){var r;let e=!1,t=!1,i=!1;return(r=a==null?void 0:a.publishParams)!=null&&r.allowed&&(e=a.publishParams.allowed.includes("video"),t=a.publishParams.allowed.includes("audio"),i=a.publishParams.allowed.includes("screen")),{video:e,audio:t,screen:i}}var Kr=(l=>(l[l.VERBOSE=0]="VERBOSE",l[l.DEBUG=1]="DEBUG",l[l.INFO=2]="INFO",l[l.WARN=3]="WARN",l[l.TIME=4]="TIME",l[l.TIMEEND=5]="TIMEEND",l[l.ERROR=6]="ERROR",l[l.NONE=7]="NONE",l))(Kr||{}),fo=typeof window!="undefined"&&typeof window.expect!="undefined",d=class{static v(e,...t){this.log(0,e,...t)}static d(e,...t){this.log(1,e,...t)}static i(e,...t){this.log(2,e,...t)}static w(e,...t){this.log(3,e,...t)}static e(e,...t){this.log(6,e,...t)}static time(e){this.log(4,"[HMSPerformanceTiming]",e)}static timeEnd(e){this.log(5,"[HMSPerformanceTiming]",e,e)}static cleanup(){performance.clearMarks(),performance.clearMeasures()}static log(e,t,...i){if(!(this.level.valueOf()>e.valueOf()))switch(e){case 0:{console.log(t,...i);break}case 1:{console.debug(t,...i);break}case 2:{console.info(t,...i);break}case 3:{console.warn(t,...i);break}case 6:{console.error(t,...i);break}case 4:{performance.mark(i[0]);break}case 5:{let r=i[0];try{let s=performance.measure(r,r);this.log(1,t,r,s==null?void 0:s.duration),performance.clearMarks(r),performance.clearMeasures(r)}catch(s){this.log(1,t,r,s)}break}}}};d.level=fo?7:0;var it=class{constructor(e){this.tracks=new Array;this.nativeStream=e,this.id=e.id}updateId(e){this.id=e}};var ma=require("ua-parser-js");var jr=new ma.UAParser,wt=null,Qr=null,F=typeof window!="undefined";if(F)try{let a=jr.getResult(),e=a.withClientHints();e&&typeof e.then=="function"?(Qr=e,Qr.then(t=>{wt=t}).catch(()=>{wt=a})):(d.d("UAParser","Client Hints not supported, using standard UA parsing"),wt=e)}catch(a){wt=jr.getResult()}var _e=()=>wt||jr.getResult(),J={getBrowser:()=>_e().browser,getOS:()=>_e().os,getDevice:()=>_e().device,getCPU:()=>_e().cpu,getEngine:()=>_e().engine,getUA:()=>_e().ua,getResult:_e,withClientHints:()=>Qr||Promise.resolve(_e())},oa,Ke=typeof window=="undefined"&&!((oa=J.getBrowser().name)!=null&&oa.toLowerCase().includes("electron"));var vo=()=>!Ke,Nl=vo(),Sa=()=>J.getDevice().type==="mobile",Mo=()=>{var a;return typeof navigator!="undefined"&&navigator.maxTouchPoints>1&&!!((a=J.getOS().name)!=null&&a.toLowerCase().includes("mac"))},vi=()=>{let a=J.getDevice().type;return a==="mobile"||a==="tablet"||Mo()},ga=()=>typeof document!="undefined"&&document.hidden,Ta=()=>{var a;return((a=J.getOS().name)==null?void 0:a.toLowerCase())==="ios"},ca,da,fa=(da=(ca=J.getBrowser())==null?void 0:ca.name)==null?void 0:da.toLowerCase().includes("safari"),la,ua,va=((ua=(la=J.getBrowser())==null?void 0:la.name)==null?void 0:ua.toLowerCase())==="firefox",pa,ha,Ma=((ha=(pa=J.getEngine())==null?void 0:pa.name)==null?void 0:ha.toLowerCase())==="blink";var Aa=require("uuid");var Jr=(i=>(i.CUSTOM="CUSTOM",i.LOCAL="LOCAL",i.HMS="HMS",i))(Jr||{});function yo(){if(F&&window){let a=window.location.hostname;return a==="localhost"||a==="127.0.0.1"?"LOCAL":a.includes("app.100ms.live")?"HMS":"CUSTOM"}return"CUSTOM"}var rt=yo();var ka=require("uuid");var E={WebSocketConnectionErrors:{FAILED_TO_CONNECT:1e3,WEBSOCKET_CONNECTION_LOST:1003,ABNORMAL_CLOSE:1006},APIErrors:{SERVER_ERRORS:2e3,INIT_CONFIG_NOT_AVAILABLE:2002,ENDPOINT_UNREACHABLE:2003,INVALID_TOKEN_FORMAT:2004},TracksErrors:{GENERIC_TRACK:3e3,CANT_ACCESS_CAPTURE_DEVICE:3001,DEVICE_NOT_AVAILABLE:3002,DEVICE_IN_USE:3003,DEVICE_LOST_MIDWAY:3004,NOTHING_TO_RETURN:3005,INVALID_VIDEO_SETTINGS:3006,CODEC_CHANGE_NOT_PERMITTED:3007,AUTOPLAY_ERROR:3008,OVER_CONSTRAINED:3009,NO_AUDIO_DETECTED:3010,SYSTEM_DENIED_PERMISSION:3011,CURRENT_TAB_NOT_SHARED:3012,AUDIO_PLAYBACK_ERROR:3013,SELECTED_DEVICE_MISSING:3014,NO_DATA:3015},WebrtcErrors:{CREATE_OFFER_FAILED:4001,CREATE_ANSWER_FAILED:4002,SET_LOCAL_DESCRIPTION_FAILED:4003,SET_REMOTE_DESCRIPTION_FAILED:4004,ICE_FAILURE:4005,ICE_DISCONNECTED:4006,STATS_FAILED:4007},WebsocketMethodErrors:{SERVER_ERRORS:5e3,ALREADY_JOINED:5001,CANNOT_JOIN_PREVIEW_IN_PROGRESS:5002},GenericErrors:{NOT_CONNECTED:6e3,SIGNALLING:6001,UNKNOWN:6002,NOT_READY:6003,JSON_PARSING_FAILED:6004,TRACK_METADATA_MISSING:6005,RTC_TRACK_MISSING:6006,PEER_METADATA_MISSING:6007,INVALID_ROLE:6008,PREVIEW_IN_PROGRESS:6009,MISSING_MEDIADEVICES:6010,MISSING_RTCPEERCONNECTION:6011,LOCAL_STORAGE_ACCESS_DENIED:6012,VALIDATION_FAILED:6013},PlaylistErrors:{NO_ENTRY_TO_PLAY:8001,NO_ENTRY_IS_PLAYING:8002}};var k=class a extends Error{constructor(t,i,r,s,n,o=!1){super(s);this.code=t;this.name=i;this.message=s;this.description=n;this.isTerminal=o;Object.setPrototypeOf(this,a.prototype),this.action=r.toString()}toAnalyticsProperties(){return{error_name:this.name,error_code:this.code,error_message:this.message,error_description:this.description,action:this.action,is_terminal:this.isTerminal}}addNativeError(t){this.nativeError=t}toString(){var t;return`{
1
+ "use strict";var oo=Object.create;var bt=Object.defineProperty,co=Object.defineProperties,lo=Object.getOwnPropertyDescriptor,uo=Object.getOwnPropertyDescriptors,po=Object.getOwnPropertyNames,Si=Object.getOwnPropertySymbols,ta=Object.getPrototypeOf,Gr=Object.prototype.hasOwnProperty,ia=Object.prototype.propertyIsEnumerable,ho=Reflect.get;var ea=(a,e,t)=>e in a?bt(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t,m=(a,e)=>{for(var t in e||(e={}))Gr.call(e,t)&&ea(a,t,e[t]);if(Si)for(var t of Si(e))ia.call(e,t)&&ea(a,t,e[t]);return a},M=(a,e)=>co(a,uo(e));var $r=(a,e)=>{var t={};for(var i in a)Gr.call(a,i)&&e.indexOf(i)<0&&(t[i]=a[i]);if(a!=null&&Si)for(var i of Si(a))e.indexOf(i)<0&&ia.call(a,i)&&(t[i]=a[i]);return t};var mo=(a,e)=>()=>{try{return e||a((e={exports:{}}).exports,e),e.exports}catch(t){throw e=0,t}},So=(a,e)=>{for(var t in e)bt(a,t,{get:e[t],enumerable:!0})},ra=(a,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of po(e))!Gr.call(a,r)&&r!==t&&bt(a,r,{get:()=>e[r],enumerable:!(i=lo(e,r))||i.enumerable});return a};var We=(a,e,t)=>(t=a!=null?oo(ta(a)):{},ra(e||!a||!a.__esModule?bt(t,"default",{value:a,enumerable:!0}):t,a)),go=a=>ra(bt({},"__esModule",{value:!0}),a);var me=(a,e,t)=>ho(ta(a),t,e);var c=(a,e,t)=>new Promise((i,r)=>{var s=l=>{try{o(t.next(l))}catch(u){r(u)}},n=l=>{try{o(t.throw(l))}catch(u){r(u)}},o=l=>l.done?i(l.value):Promise.resolve(l.value).then(s,n);o((t=t.apply(a,e)).next())});var Zr=mo((uu,Eo)=>{Eo.exports={version:"0.15.1",license:"MIT",repository:{type:"git",url:"https://github.com/100mslive/web-sdks.git",directory:"packages/hms-video-store"},main:"dist/index.cjs.js",module:"dist/index.js",typings:"dist/index.d.ts",files:["dist"],engines:{node:">=12"},exports:{".":{require:"./dist/index.cjs.js",import:"./dist/index.js",default:"./dist/index.js"}},sideEffects:!1,scripts:{prestart:"rm -rf dist && yarn types:build",start:'concurrently "yarn dev" "yarn types"',dev:"node ../../scripts/dev","build:only":"node ../../scripts/build",build:"yarn build:only && yarn types:build",types:"tsc -w","types:build":"tsc -p tsconfig.json",format:"prettier --write src/**/*.ts",test:"jest --maxWorkers=1","test:watch":"jest --watch","test:coverage":"jest --coverage",lint:"eslint -c ../../.eslintrc .","lint:fix":"yarn lint --fix",prepare:"yarn build",size:"size-limit",analyze:"size-limit --why",docs:"rm -rf ./docs && typedoc && rm -f ./docs/README.md && mkdir ./docs/home &&mv ./docs/modules.md ./docs/home/content.md && node ../../scripts/docs-store && npx prettier --write './docs/**/*'"},name:"@100mslive/hms-video-store",author:"100ms",dependencies:{eventemitter2:"^6.4.9",immer:"^9.0.6","lodash.isequal":"^4.5.0",reselect:"4.0.0","sdp-transform":"^2.14.1","ua-parser-js":"^2.0.6",uuid:"^11.1.1","webrtc-adapter":"^8.0.0",zustand:"3.5.7"},devDependencies:{"@types/dom-screen-wake-lock":"^1.0.1","@types/lodash.isequal":"^4.5.8","@types/sdp-transform":"^2.4.4","@types/ua-parser-js":"^0.7.39","@types/uuid":"^8.3.0","jest-canvas-mock":"^2.3.1","jsdom-worker":"^0.3.0",tslib:"^2.2.0"},description:"@100mslive Core SDK which abstracts the complexities of webRTC while providing a reactive store for data management with a unidirectional data flow",keywords:["video","webrtc","conferencing","100ms"],gitHead:"8ab2e2f747591a298371e00222d32152ff629a89"}});var Pl={};So(Pl,{ConnectivityState:()=>Nn,DeviceType:()=>ls,Diagnostics:()=>gt,DomainCategory:()=>Jr,EventBus:()=>Tt,HLSPlaylistType:()=>ns,HLSStreamType:()=>os,HMSAudioDeviceCategory:()=>Hi,HMSAudioMode:()=>Ri,HMSAudioPluginType:()=>ki,HMSLogLevel:()=>Kr,HMSMessageType:()=>sa,HMSNotificationSeverity:()=>Wr,HMSNotificationTypes:()=>Ti,HMSPeerType:()=>Ai,HMSPlaylistType:()=>qr,HMSPluginUnsupportedTypes:()=>Ei,HMSReactiveStore:()=>et,HMSRecordingState:()=>as,HMSRoomState:()=>gi,HMSStats:()=>kt,HMSTrackExceptionTrackType:()=>zr,HMSTranscriptionMode:()=>ds,HMSTranscriptionState:()=>cs,HMSVideoPluginCanvasContextType:()=>Oi,HMSVideoPluginType:()=>Ni,createDefaultStatsStore:()=>At,createDefaultStoreState:()=>It,getAudioDeviceCategory:()=>Ci,parsedUserAgent:()=>J,selectAppData:()=>Gc,selectAppDataByPath:()=>Wc,selectAudioPlaylist:()=>Ls,selectAudioPlaylistTrackByPeerID:()=>ad,selectAudioTrackByID:()=>jc,selectAudioTrackByPeerID:()=>vn,selectAudioTrackVolume:()=>Bs,selectAudioVolumeByPeerID:()=>ud,selectAuxiliaryAudioByPeerID:()=>id,selectAuxiliaryTracksByPeerID:()=>Yc,selectAvailableRoleNames:()=>Tc,selectBroadcastMessages:()=>En,selectBroadcastMessagesUnreadCount:()=>gd,selectCameraStreamByPeerID:()=>zc,selectConnectionQualities:()=>Qo,selectConnectionQualityByPeerID:()=>td,selectDegradedTracks:()=>uc,selectDevices:()=>jo,selectDidIJoinWithin:()=>Vd,selectDominantSpeaker:()=>ic,selectEffectsKey:()=>Hc,selectErrors:()=>sn,selectFullAppData:()=>qi,selectHLSState:()=>yc,selectHMSBroadcastMessages:()=>on,selectHMSMessages:()=>mt,selectHMSMessagesCount:()=>pc,selectHMSStats:()=>no,selectHandRaisedPeers:()=>Dc,selectHasPeerHandRaised:()=>Pd,selectIsAllowedToPreviewMedia:()=>wd,selectIsAllowedToPublish:()=>Ld,selectIsAllowedToSubscribe:()=>fc,selectIsAudioLocallyMuted:()=>Us,selectIsConnectedToRoom:()=>Ce,selectIsEffectsEnabled:()=>Ac,selectIsInPreview:()=>bs,selectIsLargeRoom:()=>Ic,selectIsLocalAudioEnabled:()=>rc,selectIsLocalAudioInterrupted:()=>sc,selectIsLocalAudioPluginPresent:()=>xd,selectIsLocalScreenShared:()=>ji,selectIsLocalVideoDisplayEnabled:()=>Ps,selectIsLocalVideoEnabled:()=>Ki,selectIsLocalVideoInterrupted:()=>ac,selectIsLocalVideoPluginPresent:()=>Od,selectIsLocallyMutedByPeerID:()=>dd,selectIsPeerAudioEnabled:()=>od,selectIsPeerVideoEnabled:()=>cd,selectIsRoleAllowedToPublish:()=>Dd,selectIsScreenShareLocallyMutedByPeerID:()=>ld,selectIsSomeoneScreenSharing:()=>nc,selectIsTranscriptionAllowedByMode:()=>Ad,selectIsTranscriptionEnabled:()=>gc,selectIsVBEnabled:()=>Rc,selectLocalAudioTrackID:()=>ue,selectLocalMediaSettings:()=>ks,selectLocalPeer:()=>X,selectLocalPeerID:()=>Ie,selectLocalPeerName:()=>Xo,selectLocalPeerRole:()=>ze,selectLocalPeerRoleName:()=>Zo,selectLocalTrackIDs:()=>Es,selectLocalVideoTrackID:()=>ie,selectMessageByMessageID:()=>Id,selectMessageIDsInOrder:()=>ys,selectMessagesByPeerID:()=>Td,selectMessagesByRole:()=>fd,selectMessagesMap:()=>$t,selectMessagesUnreadCountByPeerID:()=>Md,selectMessagesUnreadCountByRole:()=>vd,selectPeerAudioByID:()=>ed,selectPeerByCondition:()=>Ud,selectPeerByID:()=>se,selectPeerCount:()=>Jo,selectPeerMetadata:()=>Ed,selectPeerName:()=>bd,selectPeerNameByID:()=>qc,selectPeerScreenSharing:()=>nn,selectPeerSharingAudio:()=>oc,selectPeerSharingAudioPlaylist:()=>lc,selectPeerSharingVideoPlaylist:()=>dc,selectPeerTypeByID:()=>Kc,selectPeers:()=>Me,selectPeersByCondition:()=>Bd,selectPeersByRole:()=>yd,selectPeersByRoles:()=>kd,selectPeersMap:()=>Y,selectPeersScreenSharing:()=>cc,selectPeersWithAudioStatus:()=>Rd,selectPermissions:()=>As,selectPollByID:()=>Vs,selectPolls:()=>wc,selectPollsMap:()=>Rs,selectPreviewRole:()=>Is,selectPreviewRoleName:()=>cn,selectRTMPState:()=>Mc,selectRecentError:()=>qo,selectRecordingState:()=>vc,selectRemotePeers:()=>tc,selectRoleByRoleName:()=>Pn,selectRoleChangeRequest:()=>Cd,selectRolesMap:()=>ye,selectRoom:()=>V,selectRoomID:()=>Ko,selectRoomStartTime:()=>bc,selectRoomStarted:()=>Sc,selectRoomState:()=>oe,selectScreenAudioTrackByID:()=>Qc,selectScreenShareAudioByPeerID:()=>xs,selectScreenShareByPeerID:()=>nd,selectScreenSharesByPeerId:()=>Os,selectScreenVideoTrackByID:()=>Jc,selectScreenshareAudioVolumeByPeerID:()=>pd,selectSessionId:()=>Pc,selectSessionMetadata:()=>Lc,selectSessionStore:()=>$c,selectSimulcastLayerByTrack:()=>hd,selectSpeakers:()=>an,selectTemplateAppData:()=>Cc,selectTrackAudioByID:()=>Xc,selectTrackByID:()=>Kt,selectTracksMap:()=>_,selectTranscriptionsState:()=>kc,selectTranslationState:()=>Ec,selectUnreadHMSBroadcastMessagesCount:()=>mc,selectUnreadHMSMessagesCount:()=>hc,selectVideoPlaylist:()=>ws,selectVideoPlaylistAudioTrackByPeerID:()=>sd,selectVideoPlaylistVideoTrackByPeerID:()=>rd,selectVideoTrackByID:()=>Ns,selectVideoTrackByPeerID:()=>fn,selectWhiteboard:()=>_c,selectWhiteboards:()=>dn,simulcastMapping:()=>Ue});module.exports=go(Pl);var gi=(o=>(o.Disconnected="Disconnected",o.Preview="Preview",o.Connecting="Connecting",o.Connected="Connected",o.Reconnecting="Reconnecting",o.Disconnecting="Disconnecting",o.Failed="Failed",o))(gi||{});var It=()=>({room:{id:"",isConnected:!1,name:"",peers:[],localPeer:"",roomState:"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:[],sessionStore:{},templateAppData:{},polls:{},whiteboards:{},hideLocalPeer:!1}),At=()=>({peerStats:{},remoteTrackStats:{},localTrackStats:{},localPeer:{id:""}});var sa=(e=>(e.CHAT="chat",e))(sa||{});var Wr=(t=>(t.INFO="info",t.ERROR="error",t))(Wr||{}),Ti=(D=>(D.PEER_JOINED="PEER_JOINED",D.PEER_LEFT="PEER_LEFT",D.PEER_LIST="PEER_LIST",D.NEW_MESSAGE="NEW_MESSAGE",D.ERROR="ERROR",D.RECONNECTING="RECONNECTING",D.RECONNECTED="RECONNECTED",D.TRACK_ADDED="TRACK_ADDED",D.TRACK_REMOVED="TRACK_REMOVED",D.TRACK_MUTED="TRACK_MUTED",D.TRACK_UNMUTED="TRACK_UNMUTED",D.TRACK_DEGRADED="TRACK_DEGRADED",D.TRACK_RESTORED="TRACK_RESTORED",D.TRACK_DESCRIPTION_CHANGED="TRACK_DESCRIPTION_CHANGED",D.ROLE_UPDATED="ROLE_UPDATED",D.CHANGE_TRACK_STATE_REQUEST="CHANGE_TRACK_STATE_REQUEST",D.CHANGE_MULTI_TRACK_STATE_REQUEST="CHANGE_MULTI_TRACK_STATE_REQUEST",D.ROOM_ENDED="ROOM_ENDED",D.REMOVED_FROM_ROOM="REMOVED_FROM_ROOM",D.DEVICE_CHANGE_UPDATE="DEVICE_CHANGE_UPDATE",D.PLAYLIST_TRACK_ENDED="PLAYLIST_TRACK_ENDED",D.NAME_UPDATED="NAME_UPDATED",D.METADATA_UPDATED="METADATA_UPDATED",D.POLL_CREATED="POLL_CREATED",D.POLL_STARTED="POLL_STARTED",D.POLL_STOPPED="POLL_STOPPED",D.POLL_VOTES_UPDATED="POLL_VOTES_UPDATED",D.POLLS_LIST="POLLS_LIST",D.HAND_RAISE_CHANGED="HAND_RAISE_CHANGED",D.TRANSCRIPTION_STATE_UPDATED="TRANSCRIPTION_STATE_UPDATED",D.TRACK_INTERRUPTION_START="TRACK_INTERRUPTION_START",D.TRACK_INTERRUPTION_END="TRACK_INTERRUPTION_END",D))(Ti||{});var qr=(t=>(t.audio="audio",t.video="video",t))(qr||{});var I=require("reselect");function qe(a,e){let t,i;if(e)for(let r of e.auxiliaryTracks){let s=a[r];To(s)&&(i=Rt(s)?s:i,t=Ht(s)?s:t)}return{video:t,audio:i}}function Rt(a){return a&&a.type==="audio"}function Ht(a){return a&&a.type==="video"}function To(a){return a&&a.source==="screen"}function fi(a){return a&&a.source==="audioplaylist"}function Ct(a){return a&&a.source==="videoplaylist"}function aa(a){return a?!!(a!=null&&a.degraded):!1}function tt(a,e){return e&&a.tracks[e]?a.tracks[e].enabled:!1}function na(a,e){return e&&a.tracks[e]?a.tracks[e].displayEnabled:!1}function Lt(a){var r;let e=!1,t=!1,i=!1;return(r=a==null?void 0:a.publishParams)!=null&&r.allowed&&(e=a.publishParams.allowed.includes("video"),t=a.publishParams.allowed.includes("audio"),i=a.publishParams.allowed.includes("screen")),{video:e,audio:t,screen:i}}var Kr=(l=>(l[l.VERBOSE=0]="VERBOSE",l[l.DEBUG=1]="DEBUG",l[l.INFO=2]="INFO",l[l.WARN=3]="WARN",l[l.TIME=4]="TIME",l[l.TIMEEND=5]="TIMEEND",l[l.ERROR=6]="ERROR",l[l.NONE=7]="NONE",l))(Kr||{}),fo=typeof window!="undefined"&&typeof window.expect!="undefined",d=class{static v(e,...t){this.log(0,e,...t)}static d(e,...t){this.log(1,e,...t)}static i(e,...t){this.log(2,e,...t)}static w(e,...t){this.log(3,e,...t)}static e(e,...t){this.log(6,e,...t)}static time(e){this.log(4,"[HMSPerformanceTiming]",e)}static timeEnd(e){this.log(5,"[HMSPerformanceTiming]",e,e)}static cleanup(){performance.clearMarks(),performance.clearMeasures()}static log(e,t,...i){if(!(this.level.valueOf()>e.valueOf()))switch(e){case 0:{console.log(t,...i);break}case 1:{console.debug(t,...i);break}case 2:{console.info(t,...i);break}case 3:{console.warn(t,...i);break}case 6:{console.error(t,...i);break}case 4:{performance.mark(i[0]);break}case 5:{let r=i[0];try{let s=performance.measure(r,r);this.log(1,t,r,s==null?void 0:s.duration),performance.clearMarks(r),performance.clearMeasures(r)}catch(s){this.log(1,t,r,s)}break}}}};d.level=fo?7:0;var it=class{constructor(e){this.tracks=new Array;this.nativeStream=e,this.id=e.id}updateId(e){this.id=e}};var ma=require("ua-parser-js");var jr=new ma.UAParser,wt=null,Qr=null,F=typeof window!="undefined";if(F)try{let a=jr.getResult(),e=a.withClientHints();e&&typeof e.then=="function"?(Qr=e,Qr.then(t=>{wt=t}).catch(()=>{wt=a})):(d.d("UAParser","Client Hints not supported, using standard UA parsing"),wt=e)}catch(a){wt=jr.getResult()}var _e=()=>wt||jr.getResult(),J={getBrowser:()=>_e().browser,getOS:()=>_e().os,getDevice:()=>_e().device,getCPU:()=>_e().cpu,getEngine:()=>_e().engine,getUA:()=>_e().ua,getResult:_e,withClientHints:()=>Qr||Promise.resolve(_e())},oa,Ke=typeof window=="undefined"&&!((oa=J.getBrowser().name)!=null&&oa.toLowerCase().includes("electron"));var vo=()=>!Ke,Nl=vo(),Sa=()=>J.getDevice().type==="mobile",Mo=()=>{var a;return typeof navigator!="undefined"&&navigator.maxTouchPoints>1&&!!((a=J.getOS().name)!=null&&a.toLowerCase().includes("mac"))},vi=()=>{let a=J.getDevice().type;return a==="mobile"||a==="tablet"||Mo()},ga=()=>typeof document!="undefined"&&document.hidden,Ta=()=>{var a;return((a=J.getOS().name)==null?void 0:a.toLowerCase())==="ios"},ca,da,fa=(da=(ca=J.getBrowser())==null?void 0:ca.name)==null?void 0:da.toLowerCase().includes("safari"),la,ua,va=((ua=(la=J.getBrowser())==null?void 0:la.name)==null?void 0:ua.toLowerCase())==="firefox",pa,ha,Ma=((ha=(pa=J.getEngine())==null?void 0:pa.name)==null?void 0:ha.toLowerCase())==="blink";var Aa=require("uuid");var Jr=(i=>(i.CUSTOM="CUSTOM",i.LOCAL="LOCAL",i.HMS="HMS",i))(Jr||{});function yo(){if(F&&window){let a=window.location.hostname;return a==="localhost"||a==="127.0.0.1"?"LOCAL":a.includes("app.100ms.live")?"HMS":"CUSTOM"}return"CUSTOM"}var rt=yo();var ka=require("uuid");var E={WebSocketConnectionErrors:{FAILED_TO_CONNECT:1e3,WEBSOCKET_CONNECTION_LOST:1003,ABNORMAL_CLOSE:1006},APIErrors:{SERVER_ERRORS:2e3,INIT_CONFIG_NOT_AVAILABLE:2002,ENDPOINT_UNREACHABLE:2003,INVALID_TOKEN_FORMAT:2004},TracksErrors:{GENERIC_TRACK:3e3,CANT_ACCESS_CAPTURE_DEVICE:3001,DEVICE_NOT_AVAILABLE:3002,DEVICE_IN_USE:3003,DEVICE_LOST_MIDWAY:3004,NOTHING_TO_RETURN:3005,INVALID_VIDEO_SETTINGS:3006,CODEC_CHANGE_NOT_PERMITTED:3007,AUTOPLAY_ERROR:3008,OVER_CONSTRAINED:3009,NO_AUDIO_DETECTED:3010,SYSTEM_DENIED_PERMISSION:3011,CURRENT_TAB_NOT_SHARED:3012,AUDIO_PLAYBACK_ERROR:3013,SELECTED_DEVICE_MISSING:3014,NO_DATA:3015},WebrtcErrors:{CREATE_OFFER_FAILED:4001,CREATE_ANSWER_FAILED:4002,SET_LOCAL_DESCRIPTION_FAILED:4003,SET_REMOTE_DESCRIPTION_FAILED:4004,ICE_FAILURE:4005,ICE_DISCONNECTED:4006,STATS_FAILED:4007},WebsocketMethodErrors:{SERVER_ERRORS:5e3,ALREADY_JOINED:5001,CANNOT_JOIN_PREVIEW_IN_PROGRESS:5002},GenericErrors:{NOT_CONNECTED:6e3,SIGNALLING:6001,UNKNOWN:6002,NOT_READY:6003,JSON_PARSING_FAILED:6004,TRACK_METADATA_MISSING:6005,RTC_TRACK_MISSING:6006,PEER_METADATA_MISSING:6007,INVALID_ROLE:6008,PREVIEW_IN_PROGRESS:6009,MISSING_MEDIADEVICES:6010,MISSING_RTCPEERCONNECTION:6011,LOCAL_STORAGE_ACCESS_DENIED:6012,VALIDATION_FAILED:6013},PlaylistErrors:{NO_ENTRY_TO_PLAY:8001,NO_ENTRY_IS_PLAYING:8002}};var k=class a extends Error{constructor(t,i,r,s,n,o=!1){super(s);this.code=t;this.name=i;this.message=s;this.description=n;this.isTerminal=o;Object.setPrototypeOf(this,a.prototype),this.action=r.toString()}toAnalyticsProperties(){return{error_name:this.name,error_code:this.code,error_message:this.message,error_description:this.description,action:this.action,is_terminal:this.isTerminal}}addNativeError(t){this.nativeError=t}toString(){var t;return`{
2
2
  code: ${this.code};
3
3
  name: ${this.name};
4
4
  action: ${this.action};