@camstack/addon-pipeline-orchestrator 1.2.38 → 1.2.40

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.
@@ -1 +1 @@
1
- 1.0.291+a579655
1
+ 1.0.293+ba7e4da
@@ -405,7 +405,7 @@ __d(function(g,r,i,_a,m,_e,_d){'use strict';m.exports=function(e,n,o,t,a,f,s,d){
405
405
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return t}});var t={}},324,[]);
406
406
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.installOnUIRuntime=function(t){const o=globalThis?.expo?.installOnUIRuntime;if(!o)throw Error("Native method to install Expo Modules on the worklets UI runtime wasn't found in `expo-modules-core`.");o(t)}},325,[]);
407
407
  __d(function(g,r,i,a,m,e,d){"use strict";var t,n,o;Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"AppOwnership",{enumerable:!0,get:function(){return t}}),Object.defineProperty(e,"ExecutionEnvironment",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"UserInterfaceIdiom",{enumerable:!0,get:function(){return o}}),(function(t){t.Expo="expo"})(t||(t={})),(function(t){t.Bare="bare",t.Standalone="standalone",t.StoreClient="storeClient"})(n||(n={})),(function(t){t.Handset="handset",t.Tablet="tablet",t.Desktop="desktop",t.TV="tv",t.Unsupported="unsupported"})(o||(o={}))},326,[]);
408
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return s}});var t=r(d[0]);const n=(Date.now()+'-'+Math.floor(1e9*Math.random())).toString();function o(){if('undefined'!=typeof navigator&&'string'==typeof navigator.userAgent){const t=navigator.userAgent.toLowerCase();if(t.includes('edge'))return'Edge';if(t.includes('edg'))return'Chromium Edge';if(t.includes('opr')&&'opr'in window&&window.opr)return'Opera';if(t.includes('chrome')&&'chrome'in window&&window.chrome)return'Chrome';if(t.includes('trident'))return'IE';if(t.includes('firefox'))return'Firefox';if(t.includes('safari'))return'Safari'}}var s={get appOwnership(){return null},get executionEnvironment(){return t.ExecutionEnvironment.Bare},get sessionId(){return n},get isHeadless(){return'undefined'==typeof navigator||/\bHeadlessChrome\//.test(navigator.userAgent)},get expoVersion(){return this.manifest.sdkVersion||null},get linkingUri(){return'undefined'!=typeof location?location.origin:''},get expoRuntimeVersion(){return this.expoVersion},get deviceName(){return o()},get systemFonts(){return[]},get statusBarHeight(){return 0},get deviceYearClass(){return null},get manifest(){return"{\"name\":\"CamStack\",\"slug\":\"camstack\",\"version\":\"1.0.291\",\"sdkVersion\":\"57.0.0\",\"platforms\":[\"ios\",\"android\",\"web\"],\"runtimeVersion\":\"1.0.171\",\"orientation\":\"default\",\"icon\":\"./assets/images/icon.png\",\"scheme\":\"camstack\",\"userInterfaceStyle\":\"automatic\",\"web\":{\"output\":\"single\",\"favicon\":\"./assets/images/favicon.png\",\"shortName\":\"CamStack\",\"backgroundColor\":\"#e67e22\",\"name\":\"CamStack\"},\"experiments\":{\"typedRoutes\":true,\"reactCompiler\":true,\"baseUrl\":\"/viewer/camstack\"},\"extra\":{\"router\":{\"root\":\"app\"},\"eas\":{\"projectId\":\"8fb06894-6375-41ff-959f-1a22a03dbd73\"}},\"updates\":{\"url\":\"https://u.expo.dev/8fb06894-6375-41ff-959f-1a22a03dbd73\"},\"owner\":\"zentik-notifier\"}"},get manifest2(){return null},get experienceUrl(){return'undefined'!=typeof location?location.origin:''},get debugMode(){return!1},getWebViewUserAgentAsync:async()=>'undefined'!=typeof navigator?navigator.userAgent:null}},327,[326]);
408
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return s}});var t=r(d[0]);const n=(Date.now()+'-'+Math.floor(1e9*Math.random())).toString();function o(){if('undefined'!=typeof navigator&&'string'==typeof navigator.userAgent){const t=navigator.userAgent.toLowerCase();if(t.includes('edge'))return'Edge';if(t.includes('edg'))return'Chromium Edge';if(t.includes('opr')&&'opr'in window&&window.opr)return'Opera';if(t.includes('chrome')&&'chrome'in window&&window.chrome)return'Chrome';if(t.includes('trident'))return'IE';if(t.includes('firefox'))return'Firefox';if(t.includes('safari'))return'Safari'}}var s={get appOwnership(){return null},get executionEnvironment(){return t.ExecutionEnvironment.Bare},get sessionId(){return n},get isHeadless(){return'undefined'==typeof navigator||/\bHeadlessChrome\//.test(navigator.userAgent)},get expoVersion(){return this.manifest.sdkVersion||null},get linkingUri(){return'undefined'!=typeof location?location.origin:''},get expoRuntimeVersion(){return this.expoVersion},get deviceName(){return o()},get systemFonts(){return[]},get statusBarHeight(){return 0},get deviceYearClass(){return null},get manifest(){return"{\"name\":\"CamStack\",\"slug\":\"camstack\",\"version\":\"1.0.293\",\"sdkVersion\":\"57.0.0\",\"platforms\":[\"ios\",\"android\",\"web\"],\"runtimeVersion\":\"1.0.171\",\"orientation\":\"default\",\"icon\":\"./assets/images/icon.png\",\"scheme\":\"camstack\",\"userInterfaceStyle\":\"automatic\",\"web\":{\"output\":\"single\",\"favicon\":\"./assets/images/favicon.png\",\"shortName\":\"CamStack\",\"backgroundColor\":\"#e67e22\",\"name\":\"CamStack\"},\"experiments\":{\"typedRoutes\":true,\"reactCompiler\":true,\"baseUrl\":\"/viewer/camstack\"},\"extra\":{\"router\":{\"root\":\"app\"},\"eas\":{\"projectId\":\"8fb06894-6375-41ff-959f-1a22a03dbd73\"}},\"updates\":{\"url\":\"https://u.expo.dev/8fb06894-6375-41ff-959f-1a22a03dbd73\"},\"owner\":\"zentik-notifier\"}"},get manifest2(){return null},get experienceUrl(){return'undefined'!=typeof location?location.origin:''},get debugMode(){return!1},getWebViewUserAgentAsync:async()=>'undefined'!=typeof navigator?navigator.userAgent:null}},327,[326]);
409
409
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.SITEMAP_ROUTE_NAME=e.NOT_FOUND_ROUTE_NAME=e.INTERNAL_SLOT_NAME=void 0,e.INTERNAL_SLOT_NAME='__root',e.NOT_FOUND_ROUTE_NAME='+not-found',e.SITEMAP_ROUTE_NAME='_sitemap'},328,[]);
410
410
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.useCurrentRouteInfo=function(){const n=(0,u.useStateForPath)();return(0,t.useMemo)(()=>n?(0,o.getCachedRouteInfo)(n):void 0,[n])};const t=r(d[0]),o=r(d[1]),u=r(d[2])},329,[17,330,338]);
411
411
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.routeInfoSubscribe=e.routeInfoSubscribers=void 0,e.getCachedRouteInfo=function(s){let u=o.get(s);if(!u){u=(0,t.getRouteInfoFromState)(s);const f=JSON.stringify(u),c=n.get(f);c?u=c:n.set(f,u),o.set(s,u)}return u},e.setCachedRouteInfo=function(t,s){o.set(t,s),n.set(JSON.stringify(s),s)};const t=r(d[0]),o=new WeakMap,n=new Map;e.routeInfoSubscribers=new Set;e.routeInfoSubscribe=t=>(e.routeInfoSubscribers.add(t),()=>{e.routeInfoSubscribers.delete(t)})},330,[331]);
@@ -2832,7 +2832,7 @@ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{v
2832
2832
  __d(function(g,r,i,_a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"CAMERA_SWITCHES_KEY",{enumerable:!0,get:function(){return u}}),e.cameraSwitchesKey=l,e.useCameraSwitches=function(u,w){const h=(0,t.c)(13),y=void 0===w||w,{controller:f,state:p}=(0,c.useConnection)();let C,S,v,E;h[0]!==u?(C=l(u),h[0]=u,h[1]=C):C=h[1];h[2]!==u||h[3]!==y||h[4]!==p?(S=y&&Number.isFinite(u)&&"connected"===p,h[2]=u,h[3]=y,h[4]=p,h[5]=S):S=h[5];h[6]!==f||h[7]!==u?(v=async()=>{const t=f.getSystem();if(!t)throw new Error("not connected");const n=await(0,a.capQuery)(t.trpcClient,"pipelineOrchestrator","getCameraSwitches",{deviceId:u}),c=(0,s.parseCameraSwitchGroup)(n);if(null===c)throw new Error("camera switches unreadable");return c},h[6]=f,h[7]=u,h[8]=v):v=h[8];h[9]!==C||h[10]!==S||h[11]!==v?(E={queryKey:C,enabled:S,staleTime:o.RECONCILE_MS,refetchInterval:o.RECONCILE_MS,queryFn:v},h[9]=C,h[10]=S,h[11]=v,h[12]=E):E=h[12];return(0,n.useQuery)(E)},e.useSetCameraSwitch=function(o){const u=(0,t.c)(15),{controller:w}=(0,c.useConnection)(),h=(0,n.useQueryClient)();let y;u[0]!==o?(y=l(o),u[0]=o,u[1]=y):y=u[1];const f=y;let p,C,S,v,E;u[2]!==w||u[3]!==o?(p=async t=>{const{switchId:n,enabled:c}=t,u=w.getSystem();if(!u)throw new Error("not connected");const l=await(0,a.capMutateOrThrow)(u.trpcClient,"pipelineOrchestrator","setCameraSwitch",{deviceId:o,switchId:n,enabled:c}),h=(0,s.parseCameraSwitchGroup)(l);if(null===h)throw new Error("camera switches unreadable");return h},u[2]=w,u[3]=o,u[4]=p):p=u[4];u[5]!==f||u[6]!==h?(C=async t=>{const{switchId:n,enabled:c}=t;await h.cancelQueries({queryKey:f});const a=h.getQueryData(f);return void 0!==a&&h.setQueryData(f,(0,s.applySwitchOptimistic)(a,n,c)),a},S=(t,n,c)=>{void 0!==c&&h.setQueryData(f,c)},v=t=>{h.setQueryData(f,t),h.invalidateQueries({queryKey:["v2","cameras"]}),h.invalidateQueries({queryKey:["v2","recording"]})},u[5]=f,u[6]=h,u[7]=C,u[8]=S,u[9]=v):(C=u[7],S=u[8],v=u[9]);u[10]!==p||u[11]!==C||u[12]!==S||u[13]!==v?(E={mutationFn:p,onMutate:C,onError:S,onSuccess:v},u[10]=p,u[11]=C,u[12]=S,u[13]=v,u[14]=E):E=u[14];return(0,n.useMutation)(E)},e.useSwitchedOffMap=function(u,w){const f=(0,t.c)(11),{controller:p,state:C}=(0,c.useConnection)();let S;f[0]!==u?(S=[...u].sort(y),f[0]=u,f[1]=S):S=f[1];const v=S,E=w&&"connected"===C;let b,I;if(f[2]!==E||f[3]!==p||f[4]!==v){let t;f[6]!==E||f[7]!==p?(t=t=>({queryKey:l(t),enabled:E,staleTime:o.RECONCILE_MS,refetchInterval:o.RECONCILE_MS,queryFn:async()=>{const n=p.getSystem();if(!n)throw new Error("not connected");const c=await(0,a.capQuery)(n.trpcClient,"pipelineOrchestrator","getCameraSwitches",{deviceId:t}),o=(0,s.parseCameraSwitchGroup)(c);if(null===o)throw new Error("camera switches unreadable");return o}}),f[6]=E,f[7]=p,f[8]=t):t=f[8],b=v.map(t),f[2]=E,f[3]=p,f[4]=v,f[5]=b}else b=f[5];f[9]!==b?(I={queries:b,combine:h},f[9]=b,f[10]=I):I=f[10];return(0,n.useQueries)(I)};var t=r(d[0]);r(d[1]);var n=r(d[2]),c=r(d[3]),a=r(d[4]),o=r(d[5]),s=r(d[6]);const u='camera-switches';function l(t){return['v2',u,t]}const w=Object.freeze({});function h(t){const n={};for(const c of t){const t=c.data;if(void 0===t)continue;const a=(0,s.switchedOffIds)(t.switches);a.length>0&&(n[t.deviceId]=a)}return 0===Object.keys(n).length?w:n}function y(t,n){return t-n}},1543,[15,17,1472,1006,1541,1537,1544]);
2833
2833
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.parseCameraSwitchGroup=function(l){if(!(0,n.isRecord)(l))return null;const o=l.deviceId;if('number'!=typeof o||!Number.isFinite(o))return null;if(!Array.isArray(l.switches))return null;const s=[];for(const n of l.switches){const l=t(n);null!==l&&s.push(l)}return{deviceId:o,switches:s}},e.switchedOffIds=function(n){return n.filter(n=>n.available&&!n.enabled).map(n=>n.id)},e.switchControlKind=function(n,t){return n.available?t?'toggle':'read-only':'unavailable'},e.canOperateSwitches=function(n){return n},e.unavailableReasonKey=function(n){return'no-provider'===n?'v2.cameraSwitches.unavailableNoProvider':'source-unreachable'===n?'v2.cameraSwitches.unavailableUnreachable':'v2.cameraSwitches.unavailableUnknown'},e.applySwitchOptimistic=function(n,t,l){return Object.assign({},n,{switches:n.switches.map(n=>n.id===t&&n.available?Object.assign({},n,{enabled:l}):n)})};var n=r(d[0]);function t(t){if(!(0,n.isRecord)(t))return null;const{id:l,label:o,costWhenOff:s,available:c,enabled:u,unavailableReason:f}=t;return'string'!=typeof l||0===l.length||'string'!=typeof o||'string'!=typeof s||'boolean'!=typeof c||'boolean'!=typeof u?null:{id:l,label:o,costWhenOff:s,available:c,unavailableReason:'string'==typeof f?f:null,enabled:u}}},1544,[1541]);
2834
2834
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.SwitchedOffBadge=function(e){const t=(0,n.c)(14),{switchedOff:s,compact:h,accessibilityLabel:k}=e,w=void 0!==h&&h,{colors:_}=(0,u.useTheme)();if(0===s.length)return null;let p;t[0]!==_.warning?(p=[b.badge,{backgroundColor:_.warning}],t[0]=_.warning,t[1]=p):p=t[1];const y=w?9:10;let j,v,x;t[2]!==_.background||t[3]!==y?(j=(0,f.jsx)(l.PowerOff,{size:y,color:_.background}),t[2]=_.background,t[3]=y,t[4]=j):j=t[4];t[5]!==_.background||t[6]!==w||t[7]!==s.length?(v=w?null:(0,f.jsx)(o.default,{style:[b.count,{color:_.background}],children:s.length}),t[5]=_.background,t[6]=w,t[7]=s.length,t[8]=v):v=t[8];t[9]!==k||t[10]!==p||t[11]!==j||t[12]!==v?(x=(0,f.jsxs)(c.default,{accessibilityLabel:k,style:p,children:[j,v]}),t[9]=k,t[10]=p,t[11]=j,t[12]=v,t[13]=x):x=t[13];return x};var n=r(d[0]);r(d[1]);var t=e(r(d[2])),o=e(r(d[3])),c=e(r(d[4])),l=r(d[5]),u=r(d[6]),s=r(d[7]),f=r(d[8]);const b=t.default.create({badge:{flexDirection:'row',alignItems:'center',gap:2,paddingHorizontal:4,paddingVertical:2,borderRadius:s.RADIUS.sm},count:{fontSize:10,fontWeight:'700'}})},1545,[15,17,33,112,20,813,999,1001,10]);
2835
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useSnapshot=function(t,p,S){const{controller:y}=(0,s.useConnection)(),{token:k,server:w}=(0,u.useServer)(),C=(0,o.useSnapshotRefreshStore)(n=>n.epoch),M=y.getSystem()?.serverUrl??w?.serverUrl??null,b=(0,c.useSnapshotVersion)(t),A=(0,c.useSnapshotLink)(t,S,p),I=A.row,U=null!==I?I.neverCaptured:b.known&&null===b.lastCapturedAt,E=p&&(!A.ready||A.supported&&null!==I&&!I.sleeping&&null!==I.ageMs&&I.ageMs>f),[_,q]=(0,n.useState)(0);(0,n.useEffect)(()=>{if(b.known)return void q(0);const n=setInterval(()=>q(n=>n+1),v);return()=>clearInterval(n)},[b.known]);const L=(0,l.resolveSnapshotUri)({serverUrl:M,deviceId:t,lastCapturedAt:I?.capturedAt??b.lastCapturedAt,identityKnown:null!==I||b.known,fallbackTick:_,refreshEpoch:C,width:S,link:null}),R=(0,n.useRef)(null);null!==L&&(R.current={deviceId:t,uri:L});const T=L??(R.current?.deviceId===t?R.current.uri:null),[$,j]=(0,n.useState)(!1),[K,O]=(0,n.useState)(!1),[z,B]=(0,n.useState)(null),D=(0,n.useRef)(!1);(0,n.useEffect)(()=>{D.current=!1,j(!1),O(!1),B(null)},[t]);return(0,n.useMemo)(()=>{const n=k&&T?{Authorization:`Bearer ${k}`}:void 0;return Object.assign({uri:T},n?{headers:n}:{},{onLoad:()=>{D.current=!0,j(!0),O(!1),B(T)},onError:()=>{D.current||O(!0),B(T)},isLoading:!$&&(E||null!==T&&!K),failed:K&&!$,refreshing:$&&(E||null!==T&&z!==T),neverCaptured:U,capturedAt:I?.capturedAt??null,ageMs:I?.ageMs??null,stale:null!==I&&(I.sleeping||null!==I.ageMs&&I.ageMs>h),sleeping:I?.sleeping??!1})},[T,k,$,K,z,U,I,E])},e.useSnapshotDataUri=function(n,u){const{controller:l,state:o}=(0,s.useConnection)();return(0,t.useQuery)({queryKey:['v2','snapshot-data',n],enabled:u&&'connected'===o,staleTime:p,refetchInterval:p,queryFn:async()=>{const t=l.getSystem();if(!t)return null;try{const s=await t.trpcClient.snapshot.getSnapshot.query({deviceId:n});return s?.base64?`data:${s.contentType};base64,${s.base64}`:null}catch{return null}}}).data??null};var n=r(d[0]),t=r(d[1]),s=r(d[2]),u=r(d[3]),l=r(d[4]),o=r(d[5]),c=r(d[6]);const p=3e4,v=3e4,h=3e4,f=15e3},1546,[17,1472,1006,1547,1553,1126,1554]);
2835
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useSnapshot=function(t,p,S){const{controller:y}=(0,u.useConnection)(),{token:C,server:M}=(0,l.useServer)(),k=(0,o.useSnapshotRefreshStore)(n=>n.epoch),w=y.getSystem()?.serverUrl??M?.serverUrl??null,A=(0,c.useSnapshotVersion)(t),b=(0,c.useSnapshotLink)(t,S,p),I=b.row,U=null!==I?I.neverCaptured:A.known&&null===A.lastCapturedAt,E=p&&(!b.ready||b.supported&&null!==I&&!I.sleeping&&null!==I.ageMs&&I.ageMs>f),_=b.ready&&(!b.supported||null!==I&&(I.neverCaptured||I.sleeping||null===I.ageMs||I.ageMs<=f)),[q,L]=(0,n.useState)(0);(0,n.useEffect)(()=>{if(A.known)return void L(0);const n=setInterval(()=>L(n=>n+1),h);return()=>clearInterval(n)},[A.known]);const R=null!=I?.capturedAt?Math.max(I.capturedAt,A.lastCapturedAt??0):A.lastCapturedAt,T=null===R?I?.ageMs??null:Math.max(0,Date.now()-R),$=_?(0,s.resolveSnapshotUri)({serverUrl:w,deviceId:t,lastCapturedAt:R,identityKnown:null!==I||A.known,fallbackTick:q,refreshEpoch:k,width:S,link:null}):null,j=(0,n.useRef)(null);null!==$&&(j.current={deviceId:t,uri:$});const x=$??(j.current?.deviceId===t?j.current.uri:null),[D,K]=(0,n.useState)(!1),[O,z]=(0,n.useState)(!1),[B,F]=(0,n.useState)(null),P=(0,n.useRef)(!1);(0,n.useEffect)(()=>{P.current=!1,K(!1),z(!1),F(null)},[t]);return(0,n.useMemo)(()=>{const n=C&&x?{Authorization:`Bearer ${C}`}:void 0;return Object.assign({uri:x},n?{headers:n}:{},{onLoad:()=>{P.current=!0,K(!0),z(!1),F(x)},onError:()=>{P.current||z(!0),F(x)},isLoading:!D&&(E||null!==x&&!O),failed:O&&!D,refreshing:D&&(E||null!==x&&B!==x),neverCaptured:U,capturedAt:R,ageMs:T,stale:null!==I&&(I.sleeping||null!==T&&T>v),sleeping:I?.sleeping??!1})},[x,C,D,O,B,U,I,E,R,T])},e.useSnapshotDataUri=function(n,l){const{controller:s,state:o}=(0,u.useConnection)();return(0,t.useQuery)({queryKey:['v2','snapshot-data',n],enabled:l&&'connected'===o,staleTime:p,refetchInterval:p,queryFn:async()=>{const t=s.getSystem();if(!t)return null;try{const u=await t.trpcClient.snapshot.getSnapshot.query({deviceId:n});return u?.base64?`data:${u.contentType};base64,${u.base64}`:null}catch{return null}}}).data??null};var n=r(d[0]),t=r(d[1]),u=r(d[2]),l=r(d[3]),s=r(d[4]),o=r(d[5]),c=r(d[6]);const p=3e4,h=3e4,v=3e4,f=15e3},1546,[17,1472,1006,1547,1553,1126,1554]);
2836
2836
  __d(function(g,r,i,_a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.ServerProvider=function({children:S}){const f=(0,t.useMemo)(()=>new n.ServerStore(l.asyncKvStore),[]),[k,p]=(0,t.useState)(!0),[y,C]=(0,t.useState)(null),[U,b]=(0,t.useState)(null),[E,h]=(0,t.useState)(null),[T,O]=(0,t.useState)([]),[P,x]=(0,t.useState)([]);(0,t.useEffect)(()=>{let t=!1;return(async()=>{try{const[n,s,o]=await Promise.all([f.getActiveServer(),f.getToken(),f.getLastServerUrl()]);if(t)return;const l=s&&!(0,u.isJwtExpired)(s)?s:null;s&&!l&&f.signOut(),C(n),b(l),h(o);const c=n?await f.getEndpoints(n.id):[];if(t)return;O(c),x(n?(0,a.endpointsToCandidates)(c,n.serverUrl):[])}finally{t||((0,o.markBoot)('serverRestored'),p(!1))}})(),()=>{t=!0}},[f]);const L=(0,t.useCallback)(async(t,n)=>{await f.upsertServer(t),await f.setActive(t.id),await f.setToken(n),C(t),b(n);const s=await f.getEndpoints(t.id);O(s),x((0,a.endpointsToCandidates)(s,t.serverUrl))},[f]),_=(0,t.useCallback)(async()=>{null!==y&&'undefined'!=typeof window&&((t,n)=>{try{return new URL(t).origin===new URL(n).origin}catch{return!1}})(y.serverUrl,window.location.origin)&&await(0,s.clearHubSession)(window.location.origin),await f.signOut(),b(null)},[f,y]),H=(0,t.useCallback)(async()=>{await f.signOut(),b(null)},[f]),M=(0,t.useCallback)(async t=>{await f.setToken(t)},[f]);(0,t.useEffect)(()=>((0,c.setUnauthorizedHandler)(()=>{H()}),()=>(0,c.setUnauthorizedHandler)(null)),[H]);const R=y?.id??null,j=(0,t.useCallback)(t=>{R&&(f.setEndpoints(R,t),O(t))},[f,R]),z=(0,t.useCallback)(async t=>{h(t),await f.setLastServerUrl(t)},[f]),A=(0,t.useMemo)(()=>({loading:k,server:y,token:U,endpoints:T,initialCandidates:P,onEndpointsDiscovered:j,save:L,signOut:_,clearToken:H,persistToken:M,lastServerUrl:E,rememberServerUrl:z}),[k,y,U,T,P,j,L,_,H,M,E,z]);return(0,v.jsx)(w.Provider,{value:A,children:S})},e.useServer=function(){const n=(0,t.useContext)(w);if(!n)throw new Error("useServer must be used within ServerProvider");return n};var t=r(d[0]);r(d[1]);var n=r(d[2]),s=r(d[3]),a=r(d[4]),o=r(d[5]),l=r(d[6]),u=r(d[7]),c=r(d[8]),v=r(d[9]);const w=(0,t.createContext)(null)},1547,[17,136,1548,1549,1122,1121,1551,1125,1552,10]);
2837
2837
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"ServerStore",{enumerable:!0,get:function(){return o}});const t='v2.servers',s='v2.activeServerId',n='v2.token',v='v2.lastServerUrl',c=t=>`v2.endpoints.${t}`;class o{constructor(t){this.kv=t}async getServers(){const s=await this.kv.getItem(t);return s?JSON.parse(s):[]}async upsertServer(s){const n=[...(await this.getServers()).filter(t=>t.id!==s.id),s];await this.kv.setItem(t,JSON.stringify(n))}async setActive(t){await this.kv.setItem(s,t)}async getActiveServer(){const t=await this.kv.getItem(s);if(!t)return null;return(await this.getServers()).find(s=>s.id===t)??null}async setLastServerUrl(t){await this.kv.setItem(v,t)}async getLastServerUrl(){const t=await this.kv.getItem(v);if(t)return t;const s=await this.getActiveServer();if(s)return s.serverUrl;const n=await this.getServers(),c=n[n.length-1];return c?.serverUrl??null}async setToken(t){await this.kv.setItem(n,t)}async getToken(){return this.kv.getItem(n)}async signOut(){await this.kv.removeItem(n)}async getEndpoints(t){const s=await this.kv.getItem(c(t));if(!s)return[];try{const t=JSON.parse(s);return Array.isArray(t)?t:[]}catch{return[]}}async setEndpoints(t,s){await this.kv.setItem(c(t),JSON.stringify(s))}}},1548,[]);
2838
2838
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"EXCHANGE_SESSION_HEADER",{enumerable:!0,get:function(){return n}}),e.shouldAttemptHubSessionExchange=function(t){if(t.hasServerConfigured)return!1;if('web'!==t.platform)return!1;if(!t.pathname)return!1;const n=t.webBasePath&&''!==t.webBasePath?t.webBasePath:null;if(n)return t.pathname===n||t.pathname.startsWith(`${n}/`);return t.pathname.startsWith(u)},e.exchangeHubSession=async function(u,s){return(0,t.postHubAuthMutation)(Object.assign({baseUrl:u,procedure:'auth.exchangeSession',input:{},headers:{[n]:'1'},credentials:'include'},s?{fetchFn:s}:{}))},e.clearHubSession=async function(t,n){const u=n??fetch;try{return(await u(`${t.replace(/\/+$/,'')}/api/auth/session`,{method:'DELETE',credentials:'include'})).ok}catch{return!1}},e.buildHubLoginUrl=function(t,n){return`${t.replace(/\/+$/,'')}/login?redirect=${encodeURIComponent(n)}`};var t=r(d[0]);const n='x-camstack-exchange',u='/viewer/'},1549,[1550]);
@@ -2852,7 +2852,7 @@ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{v
2852
2852
  __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"LOW_BATTERY_PCT",{enumerable:!0,get:function(){return s}}),_e.BatteryBadge=function(e){const c=(0,t.c)(12),{battery:y,colors:_,size:b}=e,h=void 0===b?14:b,p="none"!==y.charging,x=y.percentage<=s,B=p?_.info:x?_.danger:_.foregroundMuted,j=p?l.BatteryCharging:x?l.BatteryLow:l.BatteryFull;let M,v,w;c[0]!==j||c[1]!==B||c[2]!==h?(M=(0,u.jsx)(j,{size:h,color:B}),c[0]=j,c[1]=B,c[2]=h,c[3]=M):M=c[3];c[4]!==y.binary||c[5]!==y.percentage||c[6]!==B||c[7]!==h?(v=y.binary?null:(0,u.jsxs)(o.default,{style:[f.text,{color:B,fontSize:Math.max(9,h-3)}],children:[Math.round(y.percentage),"%"]}),c[4]=y.binary,c[5]=y.percentage,c[6]=B,c[7]=h,c[8]=v):v=c[8];c[9]!==M||c[10]!==v?(w=(0,u.jsxs)(n.default,{style:f.row,children:[M,v]}),c[9]=M,c[10]=v,c[11]=w):w=c[11];return w};var t=r(d[0]);r(d[1]);var n=e(r(d[2])),o=e(r(d[3])),c=e(r(d[4])),l=r(d[5]),u=r(d[6]);const s=20;const f=c.default.create({row:{flexDirection:'row',alignItems:'center',gap:3},text:{fontWeight:'600'}})},1563,[15,17,20,112,33,813,10]);
2853
2853
  __d(function(g,_r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"MOTION_CATEGORY",{enumerable:!0,get:function(){return s}}),Object.defineProperty(e,"MOTION_ANALYSIS_CATEGORY",{enumerable:!0,get:function(){return l}}),e.parseMotionAnalysis=p,e.parseMotionEvent=v,e.useMotion=I,e.useMotionRegions=function(r,u){const c=(0,t.c)(6),{controller:s,state:f}=(0,o.useConnection)(),y=u&&"connected"===f;let b;c[0]===Symbol.for("react.memo_cache_sentinel")?(b=[],c[0]=b):b=c[0];const[v,I]=(0,n.useState)(b);let S,h;c[1]!==y||c[2]!==s||c[3]!==r?(S=()=>{if(!y)return void I([]);const t=s.getSystem();if(!t)return;const n=t.subscribeEvent(l,t=>{const n=p(t);n&&n.deviceId===r&&I(n.detected?n.regions:[])});return()=>{n(),I([])}},h=[s,y,r],c[1]=y,c[2]=s,c[3]=r,c[4]=S,c[5]=h):(S=c[4],h=c[5]);return(0,n.useEffect)(S,h),v},e.motionHoldDeadline=S,e.isMotionHoldOn=h,e.useMotionHighlight=function(r,o){const c=(0,t.c)(4),{active:s}=I(r,o),l=1e3*(0,u.useSettingsStore)(C),[f,y]=(0,n.useState)(!1),b=(0,n.useRef)(!1);let p,v;c[0]!==s||c[1]!==l?(p=()=>{if(s)return b.current=!0,void y(!0);if(!b.current)return void y(!1);b.current=!1;const t=Date.now(),n=S(t,l);y(h(!1,n,t));const r=n-t;if(r<=0)return;const o=setTimeout(()=>y(!1),r);return()=>clearTimeout(o)},v=[s,l],c[0]=s,c[1]=l,c[2]=p,c[3]=v):(p=c[2],v=c[3]);return(0,n.useEffect)(p,v),f};var t=_r(d[0]),n=_r(d[1]),r=_r(d[2]),o=_r(d[3]),u=_r(d[4]),c=_r(d[5]);const s='motion.on-motion-changed',l='detection.motion-analysis';function f(t){return'object'==typeof t&&null!==t}function y(t){return!(!f(t)||'boolean'!=typeof t.detected)&&t.detected}function b(t,n,r){if(!f(t)||n<=0||r<=0)return null;const o=t.bbox;if(!f(o))return null;const{x:u,y:c,w:s,h:l}=o;return'number'!=typeof u||'number'!=typeof c||'number'!=typeof s||'number'!=typeof l?null:s>0&&l>0?{x:u/n,y:c/r,w:s/n,h:l/r,pixelCount:'number'==typeof t.pixelCount?t.pixelCount:0,intensity:'number'==typeof t.intensity?t.intensity:0}:null}function p(t){if(!f(t))return null;const n=f(t.data)?t.data:t,r=f(t.source)?t.source:null,o='number'==typeof n.deviceId?n.deviceId:r?.deviceId;if('number'!=typeof o)return null;const u='number'==typeof n.frameWidth?n.frameWidth:0,c='number'==typeof n.frameHeight?n.frameHeight:0,s=n.regions,l=Array.isArray(s)?s.map(t=>b(t,u,c)).filter(t=>null!==t):[];return{deviceId:o,detected:!0===n.detected,regions:l}}function v(t){if(!f(t))return null;const n=t.deviceId,r=t.detected;return'number'!=typeof n||'boolean'!=typeof r?null:{deviceId:n,detected:r}}function I(u,l){const f=(0,t.c)(16),{controller:b,state:p}=(0,o.useConnection)(),I=l&&"connected"===p;let S,h,C;f[0]!==u?(S=["v2","motion",u],f[0]=u,f[1]=S):S=f[1],f[2]!==b||f[3]!==u?(h=async()=>{const t=b.getSystem();if(!t)return!1;try{return y(await t.trpcClient.motion.getStatus.query({deviceId:u}))}catch{return!1}},f[2]=b,f[3]=u,f[4]=h):h=f[4],f[5]!==I||f[6]!==S||f[7]!==h?(C={queryKey:S,enabled:I,staleTime:c.RECONCILE_MS,refetchInterval:c.RECONCILE_MS,queryFn:h},f[5]=I,f[6]=S,f[7]=h,f[8]=C):C=f[8];const{data:E}=(0,r.useQuery)(C),M=void 0!==E&&E,[O,_]=(0,n.useState)(null);let x,A;f[9]!==I||f[10]!==b||f[11]!==u?(x=()=>{if(!I)return void _(null);const t=b.getSystem();if(!t)return;const n=t.subscribeEvent(s,t=>{const n=v(t);n&&n.deviceId===u&&_(n.detected)});return()=>{n(),_(null)}},A=[b,I,u],f[9]=I,f[10]=b,f[11]=u,f[12]=x,f[13]=A):(x=f[12],A=f[13]),(0,n.useEffect)(x,A);const T=O??M;let H;return f[14]!==T?(H={active:T},f[14]=T,f[15]=H):H=f[15],H}function S(t,n){return t+Math.max(0,n)}function h(t,n,r){return t||r<n}function C(t){return t.settings.grid.motionHoldSec}},1564,[15,17,1472,1006,1532,1537]);
2854
2854
  __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.useAppForeground=s,_e.useScreenActive=function(){const e=(0,t.c)(1),[n,u]=(0,c.useState)(!0);let f;e[0]===Symbol.for("react.memo_cache_sentinel")?(f=()=>(u(!0),()=>u(!1)),e[0]=f):f=e[0];(0,o.useFocusEffect)(f);const l=s();return n&&l};var e,t=r(d[0]),c=r(d[1]),n=r(d[2]),u=(e=n)&&e.__esModule?e:{default:e},o=r(d[3]);function s(){const e=(0,t.c)(2),[n,o]=(0,c.useState)(f);let s,l;return e[0]===Symbol.for("react.memo_cache_sentinel")?(s=()=>{const e=u.default.addEventListener("change",e=>{o("active"===e)});return()=>e.remove()},l=[],e[0]=s,e[1]=l):(s=e[0],l=e[1]),(0,c.useEffect)(s,l),n}function f(){return"active"===u.default.currentState}},1565,[15,17,226,743]);
2855
- __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.SnapshotImage=function(e){const f=(0,n.c)(32),{source:y,deviceId:h,style:v,contentFit:_,onLoad:I}=e,p=void 0===_?"cover":_;let F;f[0]!==y.headers||f[1]!==y.uri?(F=null===y.uri?null:y.headers?{uri:y.uri,headers:y.headers}:{uri:y.uri},f[0]=y.headers,f[1]=y.uri,f[2]=F):F=f[2];const S=F,[b,j]=(0,t.useState)(null),x=b?.deviceId===h?b.source:null,D=(0,t.useRef)(0),E=(0,t.useRef)(!1);let L;f[3]===Symbol.for("react.memo_cache_sentinel")?(L=()=>{D.current=Date.now(),E.current=!1},f[3]=L):L=f[3];const P=S?.uri;let k;f[4]!==P?(k=[P],f[4]=P,f[5]=k):k=f[5];(0,t.useEffect)(L,k);const w=S??x;if(null===w)return null;const K=null!==S&&null!==x&&S.uri!==x.uri;let M;f[6]!==p||f[7]!==h||f[8]!==x||f[9]!==K?(M=null!==x&&K?(0,s.jsx)(l.Image,{source:x,recyclingKey:`${String(h)}:painted`,style:u.default.absoluteFill,contentFit:p,cachePolicy:"memory-disk"}):null,f[6]=p,f[7]=h,f[8]=x,f[9]=K,f[10]=M):M=f[10];const R=w.uri,O=String(h);let $,q,z,A,B;f[11]!==S||f[12]!==I?($=e=>{null!==S&&e.source.url===S.uri&&(E.current=!0,I?.(e))},f[11]=S,f[12]=I,f[13]=$):$=f[13];f[14]!==S||f[15]!==h||f[16]!==y?(q=()=>{if(null===S||!E.current)return;const e=Date.now()-D.current;j({deviceId:h,source:S}),y.onLoad(),e>=1e3&&c.log.info("media:snapshot","image displayed",{deviceId:h,ms:e})},f[14]=S,f[15]=h,f[16]=y,f[17]=q):q=f[17];f[18]!==S||f[19]!==y?(z=()=>{null!==S&&y.onError()},f[18]=S,f[19]=y,f[20]=z):z=f[20];f[21]!==p||f[22]!==q||f[23]!==z||f[24]!==O||f[25]!==$||f[26]!==w?(A=(0,s.jsx)(l.Image,{source:w,recyclingKey:O,style:u.default.absoluteFill,contentFit:p,cachePolicy:"memory-disk",transition:0,onLoad:$,onDisplay:q,onError:z},R),f[21]=p,f[22]=q,f[23]=z,f[24]=O,f[25]=$,f[26]=w,f[27]=A):A=f[27];f[28]!==v||f[29]!==A||f[30]!==M?(B=(0,s.jsxs)(o.default,{style:v,children:[M,A]}),f[28]=v,f[29]=A,f[30]=M,f[31]=B):B=f[31];return B};var n=r(d[0]),t=r(d[1]),l=r(d[2]),u=e(r(d[3])),o=e(r(d[4])),c=r(d[5]),s=r(d[6])},1566,[15,17,1567,33,20,1117,10]);
2855
+ __d(function(g,r,i,a,m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.SnapshotImage=function(e){const f=(0,t.c)(33),{source:y,deviceId:h,style:p,contentFit:v,onLoad:_}=e,I=void 0===v?"cover":v;let A;f[0]!==y.headers||f[1]!==y.uri?(A=null===y.uri?null:y.headers?{uri:y.uri,headers:y.headers}:{uri:y.uri},f[0]=y.headers,f[1]=y.uri,f[2]=A):A=f[2];const F=A,[S,b]=(0,l.useState)(null),j=S?.deviceId===h?S.source:null,x=(0,l.useRef)(0),D=(0,l.useRef)(!1);let M;f[3]===Symbol.for("react.memo_cache_sentinel")?(M=()=>{x.current=Date.now(),D.current=!1},f[3]=M):M=f[3];const w=F?.uri;let E;f[4]!==w?(E=[w],f[4]=w,f[5]=E):E=f[5];(0,l.useEffect)(M,E);const L=F??j;if(null===L)return null;const P=null!==F&&null!==j&&F.uri!==j.uri;let k;f[6]!==I||f[7]!==h||f[8]!==j||f[9]!==P?(k=null!==j&&P?(0,s.jsx)(n.Image,{source:j,recyclingKey:`${String(h)}:painted`,style:u.default.absoluteFill,contentFit:I,cachePolicy:"memory-disk"}):null,f[6]=I,f[7]=h,f[8]=j,f[9]=P,f[10]=k):k=f[10];const K=L.uri,R=String(h);let O,$,q,z,B;f[11]!==F||f[12]!==_?(O=e=>{null!==F&&e.source.url===F.uri&&(D.current=!0,_?.(e))},f[11]=F,f[12]=_,f[13]=O):O=f[13];f[14]!==F||f[15]!==h||f[16]!==j||f[17]!==y?($=()=>{if(null===F||!D.current)return;const e=Date.now()-x.current,t=null===y.capturedAt?null:Math.max(0,Date.now()-y.capturedAt);b({deviceId:h,source:F}),y.onLoad(),(e>=1e3||null!==t&&t>=3e4)&&c.log.info("media:snapshot","image displayed",{deviceId:h,ms:e,capturedAt:y.capturedAt,frameAgeMs:t,stale:y.stale,initial:null===j})},f[14]=F,f[15]=h,f[16]=j,f[17]=y,f[18]=$):$=f[18];f[19]!==F||f[20]!==y?(q=()=>{null!==F&&y.onError()},f[19]=F,f[20]=y,f[21]=q):q=f[21];f[22]!==I||f[23]!==$||f[24]!==q||f[25]!==R||f[26]!==O||f[27]!==L?(z=(0,s.jsx)(n.Image,{source:L,recyclingKey:R,style:u.default.absoluteFill,contentFit:I,cachePolicy:"memory-disk",transition:0,onLoad:O,onDisplay:$,onError:q},K),f[22]=I,f[23]=$,f[24]=q,f[25]=R,f[26]=O,f[27]=L,f[28]=z):z=f[28];f[29]!==p||f[30]!==z||f[31]!==k?(B=(0,s.jsxs)(o.default,{style:p,children:[k,z]}),f[29]=p,f[30]=z,f[31]=k,f[32]=B):B=f[32];return B};var t=r(d[0]),l=r(d[1]),n=r(d[2]),u=e(r(d[3])),o=e(r(d[4])),c=r(d[5]),s=r(d[6])},1566,[15,17,1567,33,20,1117,10]);
2856
2856
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"Image",{enumerable:!0,get:function(){return n.Image}}),Object.defineProperty(e,"ImageBackground",{enumerable:!0,get:function(){return u.ImageBackground}}),Object.defineProperty(e,"useImage",{enumerable:!0,get:function(){return c.useImage}});var t=r(d[0]);Object.keys(t).forEach(function(n){'default'===n||Object.prototype.hasOwnProperty.call(e,n)||Object.defineProperty(e,n,{enumerable:!0,get:function(){return t[n]}})});var n=r(d[1]),u=r(d[2]),c=r(d[3])},1567,[1568,1569,1592,1593]);
2857
2857
  __d(function(g,r,i,a,m,e,d){},1568,[]);
2858
2858
  __d(function(g,r,i,a,m,_e,d){"use strict";const e=["style","source","placeholder","contentFit","contentPosition","transition","fadeDuration","resizeMode","defaultSource","loadingIndicatorSource","sfEffect"],t=["resizeMode","fontWeight","color","fontSize"];function n(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"Image",{enumerable:!0,get:function(){return v}});var o=n(r(d[0])),c=r(d[1]),s=n(r(d[2])),u=n(r(d[3])),l=n(r(d[4])),f=n(r(d[5])),h=n(r(d[6])),y=r(d[7]),p=r(d[8]),w=r(d[9]);function A(e){if(null==e)return null;return(Array.isArray(e)?e:[e]).map(e=>'string'==typeof e?{effect:e}:e)}let C=!1,R=!1;class v extends s.default.PureComponent{constructor(e){super(e),this.nativeViewRef=(0,c.createSnapshotFriendlyRef)(),this.containerViewRef=(0,c.createSnapshotFriendlyRef)()}getAnimatableRef=()=>this.containerViewRef.current;static Image=h.default.Image;static async prefetch(e,t){let n,o='memory-disk';switch(typeof t){case'string':o=t;break;case'object':o=t.cachePolicy??o,n=t.headers}return h.default.prefetch(Array.isArray(e)?e:[e],o,n)}static async clearMemoryCache(){return await h.default.clearMemoryCache()}static async clearDiskCache(){return await h.default.clearDiskCache()}static async getCachePathAsync(e){return await h.default.getCachePathAsync(e)}static async writeToCacheAsync(e,t){return await h.default.writeToCacheAsync(e,t)}static async readFromCacheAsync(e){return await h.default.readFromCacheAsync(e)}static configureCache(e){return h.default.configureCache(e)}static async generateBlurhashAsync(e,t){return h.default.generateBlurhashAsync(e,t)}static async generateThumbhashAsync(e){return h.default.generateThumbhashAsync(e)}async startAnimating(){await(this.nativeViewRef.current?.startAnimating())}async stopAnimating(){await(this.nativeViewRef.current?.stopAnimating())}async lockResourceAsync(){await(this.nativeViewRef.current?.lockResourceAsync())}async unlockResourceAsync(){await(this.nativeViewRef.current?.unlockResourceAsync())}async reloadAsync(){await(this.nativeViewRef.current?.reloadAsync())}static async loadAsync(e,t){const n=(0,p.resolveSource)(e),o=t?.tintColor?Object.assign({},t,{tintColor:(0,l.default)(t.tintColor)}):t;return await h.default.loadAsync(n,o)}render(){const n=this.props,{style:c,source:s,placeholder:l,contentFit:h,contentPosition:v,transition:b,fadeDuration:S,resizeMode:V,defaultSource:P,loadingIndicatorSource:k,sfEffect:I}=n,F=(0,o.default)(n,e),M=u.default.flatten(c)||{},{resizeMode:j,fontWeight:z,color:T,fontSize:_}=M,O=(0,o.default)(M,t),D=V??j;!P&&!k||C||(console.warn('[expo-image]: `defaultSource` and `loadingIndicatorSource` props are deprecated, use `placeholder` instead'),C=!0),F.children&&!R&&(console.warn('The <Image> component does not support children. If you want to render content on top of the image, consider using the <ImageBackground> component or absolute positioning.'),R=!0);const W=(0,p.resolveSources)(s),x=Array.isArray(W)&&W.some(e=>e?.uri?.startsWith('sf:/')),B=x&&_?Object.assign({width:_,height:_},O):O;return(0,w.jsx)(f.default,Object.assign({},F,{style:B,source:W,placeholder:(0,p.resolveSources)(l??P??k),contentFit:(0,y.resolveContentFit)(h,D,x),contentPosition:(0,y.resolveContentPosition)(v),transition:(0,y.resolveTransition)(b,S),sfEffect:A(I),tintColor:x&&T&&!F.tintColor?T:F.tintColor,symbolWeight:x?'number'==typeof z?String(z):z:null,symbolSize:x&&_?_:null,nativeViewRef:this.nativeViewRef,containerViewRef:this.containerViewRef}))}}},1569,[120,289,17,33,40,1570,1590,1579,1575,10]);
@@ -3227,7 +3227,7 @@ __d(function(g,r,i,_a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule'
3227
3227
  __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),_e.isAvailableAsync=async function(){if(l.default)return!l.default.isAvailableAsync||await l.default.isAvailableAsync();return!1},_e.shareAsync=async function(e,n={}){if(!l.default||!l.default.shareAsync)throw new t.UnavailabilityError('Sharing','shareAsync');return await l.default.shareAsync(e,n)},_e.getSharedPayloads=function(){return l.default.getSharedPayloads()},_e.getResolvedSharedPayloadsAsync=async function(){return await l.default.getResolvedSharedPayloadsAsync()},_e.clearSharedPayloads=function(){l.default.clearSharedPayloads()};var e,t=r(d[0]),n=r(d[1]),l=(e=n)&&e.__esModule?e:{default:e}},1922,[289,1923]);
3228
3228
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"default",{enumerable:!0,get:function(){return o}});var n=r(d[0]),o={isAvailableAsync:async()=>'undefined'!=typeof navigator&&!!navigator.share,async shareAsync(o,s={}){if(!navigator.share)throw new n.UnavailabilityError('navigator','share');await navigator.share(Object.assign({},s,{url:o}))},getSharedPayloads(){throw new Error('Receiving share payloads is not supported on web.')},async getResolvedSharedPayloadsAsync(){throw new Error('Receiving share payloads is not supported on web.')},clearSharedPayloads(){throw new Error('Receiving share payloads is not supported on web.')}}},1923,[289]);
3229
3229
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useWebFullscreen=function(){const c=(0,n.c)(5),l=(0,t.useRef)(null),[u,s]=(0,t.useState)(!1);let o,f,_;c[0]===Symbol.for("react.memo_cache_sentinel")?(o=()=>{const n=()=>s(null!==document.fullscreenElement);return document.addEventListener("fullscreenchange",n),()=>document.removeEventListener("fullscreenchange",n)},f=[],c[0]=o,c[1]=f):(o=c[0],f=c[1]);(0,t.useEffect)(o,f),c[2]===Symbol.for("react.memo_cache_sentinel")?(_=()=>{const n=l.current;document.fullscreenElement?document.exitFullscreen():n&&"function"==typeof n.requestFullscreen&&n.requestFullscreen()},c[2]=_):_=c[2];const v=_;let E;c[3]!==u?(E={ref:l,isFullscreen:u,toggle:v},c[3]=u,c[4]=E):E=c[4];return E};var n=r(d[0]),t=r(d[1]);r(d[2])},1924,[15,17,136]);
3230
- __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"initialPlaybackState",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"RECONCILE_TOLERANCE_MS",{enumerable:!0,get:function(){return s}}),Object.defineProperty(e,"MAX_STRAGGLER_REPORTS",{enumerable:!0,get:function(){return u}}),e.playbackReducer=b,e.shouldEmit=h,Object.defineProperty(e,"COMMIT_DEDUPE_TOLERANCE_MS",{enumerable:!0,get:function(){return k}}),Object.defineProperty(e,"COMMIT_DEDUPE_WINDOW_MS",{enumerable:!0,get:function(){return y}}),e.shouldCommit=E,e.selectActiveEpoch=O,e.selectPlaybackStatus=function(t){const n='live'===t.mode?'live':'gap'===t.mode?'gap':'error'===t.mode?'error':'playing';return(0,c.derivePlaybackStatus)({mode:n,playheadEpoch:O(t)})},e.makePlaybackBridge=S,e.usePlaybackMachine=function(n,c=()=>!1){const[s,u]=(0,t.useReducer)(b,o),l=(0,t.useRef)(0),p=(0,t.useRef)(null),h=(0,t.useRef)(c);h.current=c;const k=(0,t.useMemo)(()=>S(n,u,l,p,()=>h.current()),[n]);return Object.assign({state:s},k)};var t=r(d[0]),n=r(d[1]),c=r(d[2]);const o={mode:'live',playhead:null,seekTarget:null,seekAnchor:null,seekLanded:!1,stragglerReports:0,lastSource:null},s=1500,u=3;function l(t,n){return'playback'!==t.mode?t:null===t.seekAnchor?Object.assign({},t,{playhead:n}):t.seekLanded?t:Math.abs(n-t.seekAnchor)<=s||t.stragglerReports+1>=u?Object.assign({},t,{playhead:n,seekLanded:!0,seekAnchor:null,stragglerReports:0}):Object.assign({},t,{stragglerReports:t.stragglerReports+1})}function p(t,n){return'gap'!==n&&'error'!==n||'playback'!==t.mode?t:Object.assign({},t,{mode:n})}function b(t,n){switch(n.type){case'SCRUB_BEGIN':return Object.assign({},t,{mode:'seeking',seekTarget:null,lastSource:n.source});case'SCRUB_MOVE':return Object.assign({},t,{mode:'seeking',seekTarget:n.epoch,lastSource:n.source});case'SCRUB_COMMIT':case'SEEK':return Object.assign({},t,{mode:'playback',playhead:n.epoch,seekTarget:null,seekAnchor:n.epoch,seekLanded:!1,stragglerReports:0,lastSource:n.source});case'GO_LIVE':return Object.assign({},t,{mode:'live',playhead:null,seekTarget:null,seekAnchor:null,seekLanded:!1,stragglerReports:0});case'POSITION_REPORT':return l(t,n.epoch);case'EMBED_STATE':return p(t,n.embed);default:return t}}function h(t,n,c=70){return n-t>=c}const k=750,y=2e3;function E(t,n,c,o=k,s=y){if(null===t)return!0;const u=Math.abs(n-t.epoch)<=o,l=c-t.at<=s;return!(u&&l)}function O(t){return'seeking'===t.mode?t.seekTarget:t.playhead}function S(t,c,o,s={current:null},u=()=>!1){const l=(t,c,o)=>{const l=Date.now();if(u())return s.current={epoch:t,at:l},void c(t);E(s.current,t,l)?(s.current={epoch:t,at:l},c(t)):n.log.debug('playback:machine','commit deduped',{epoch:t,kind:o,last:s.current})};return{beginScrub:n=>{c({type:'SCRUB_BEGIN',source:n}),t.scrubStart()},moveScrub:(n,s)=>{c({type:'SCRUB_MOVE',epoch:n,source:s});const u=Date.now();h(o.current,u)&&(o.current=u,t.scrubTo(n))},commitScrub:(o,s)=>{c({type:'SCRUB_COMMIT',epoch:o,source:s}),n.log.debug('playback:machine','commitScrub',{epoch:o,source:s}),l(o,t.scrubCommit,'scrubCommit')},seek:(o,s)=>{c({type:'SEEK',epoch:o,source:s}),n.log.debug('playback:machine','seek',{epoch:o,source:s}),l(o,t.seek,'seek')},goLive:()=>{c({type:'GO_LIVE'}),s.current=null,t.goLive()},reportPosition:t=>c({type:'POSITION_REPORT',epoch:t}),reportEmbedState:t=>c({type:'EMBED_STATE',embed:t})}}},1925,[17,1117,1926]);
3230
+ __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"initialPlaybackState",{enumerable:!0,get:function(){return o}}),Object.defineProperty(e,"RECONCILE_TOLERANCE_MS",{enumerable:!0,get:function(){return s}}),Object.defineProperty(e,"MAX_STRAGGLER_REPORTS",{enumerable:!0,get:function(){return u}}),e.playbackReducer=b,e.shouldEmit=h,Object.defineProperty(e,"COMMIT_DEDUPE_TOLERANCE_MS",{enumerable:!0,get:function(){return k}}),Object.defineProperty(e,"COMMIT_DEDUPE_WINDOW_MS",{enumerable:!0,get:function(){return y}}),e.shouldCommit=E,e.selectActiveEpoch=O,e.selectPlaybackStatus=function(t){const n='live'===t.mode?'live':'gap'===t.mode?'gap':'error'===t.mode?'error':'playing';return(0,c.derivePlaybackStatus)({mode:n,playheadEpoch:O(t)})},e.makePlaybackBridge=S,e.usePlaybackMachine=function(n,c=()=>!1){const[s,u]=(0,t.useReducer)(b,o),l=(0,t.useRef)(0),p=(0,t.useRef)(null),h=(0,t.useRef)(c);h.current=c;const k=(0,t.useMemo)(()=>S(n,u,l,p,()=>h.current()),[n]);return Object.assign({state:s},k)};var t=r(d[0]),n=r(d[1]),c=r(d[2]);const o={mode:'live',playhead:null,seekTarget:null,seekAnchor:null,seekLanded:!1,stragglerReports:0,lastSource:null},s=1500,u=3;function l(t,n){return'playback'!==t.mode?t:null===t.seekAnchor?Object.assign({},t,{playhead:n}):t.seekLanded?t:Math.abs(n-t.seekAnchor)<=s||t.stragglerReports+1>=u?Object.assign({},t,{playhead:n,seekLanded:!0,seekAnchor:null,stragglerReports:0}):Object.assign({},t,{stragglerReports:t.stragglerReports+1})}function p(t,n){return'gap'!==n&&'error'!==n||'playback'!==t.mode?t:Object.assign({},t,{mode:n})}function b(t,n){switch(n.type){case'SCRUB_BEGIN':return Object.assign({},t,{mode:'seeking',seekTarget:null,lastSource:n.source});case'SCRUB_MOVE':return Object.assign({},t,{mode:'seeking',seekTarget:n.epoch,lastSource:n.source});case'SCRUB_COMMIT':case'SEEK':return Object.assign({},t,{mode:'playback',playhead:n.epoch,seekTarget:null,seekAnchor:n.epoch,seekLanded:!1,stragglerReports:0,lastSource:n.source});case'GO_LIVE':return Object.assign({},t,{mode:'live',playhead:null,seekTarget:null,seekAnchor:null,seekLanded:!1,stragglerReports:0});case'POSITION_REPORT':return l(t,n.epoch);case'EMBED_STATE':return p(t,n.embed);default:return t}}function h(t,n,c=40){return n-t>=c}const k=750,y=2e3;function E(t,n,c,o=k,s=y){if(null===t)return!0;const u=Math.abs(n-t.epoch)<=o,l=c-t.at<=s;return!(u&&l)}function O(t){return'seeking'===t.mode?t.seekTarget:t.playhead}function S(t,c,o,s={current:null},u=()=>!1){const l=(t,c,o)=>{const l=Date.now();if(u())return s.current={epoch:t,at:l},void c(t);E(s.current,t,l)?(s.current={epoch:t,at:l},c(t)):n.log.debug('playback:machine','commit deduped',{epoch:t,kind:o,last:s.current})};return{beginScrub:n=>{c({type:'SCRUB_BEGIN',source:n}),t.scrubStart()},moveScrub:(n,s)=>{c({type:'SCRUB_MOVE',epoch:n,source:s});const u=Date.now();h(o.current,u)&&(o.current=u,t.scrubTo(n))},commitScrub:(o,s)=>{c({type:'SCRUB_COMMIT',epoch:o,source:s}),n.log.debug('playback:machine','commitScrub',{epoch:o,source:s}),l(o,t.scrubCommit,'scrubCommit')},seek:(o,s)=>{c({type:'SEEK',epoch:o,source:s}),n.log.debug('playback:machine','seek',{epoch:o,source:s}),l(o,t.seek,'seek')},goLive:()=>{c({type:'GO_LIVE'}),s.current=null,t.goLive()},reportPosition:t=>c({type:'POSITION_REPORT',epoch:t}),reportEmbedState:t=>c({type:'EMBED_STATE',embed:t})}}},1925,[17,1117,1926]);
3231
3231
  __d(function(g,r,i,a,m,e,_d){"use strict";function o(o){const t=new Date(o),n=o=>String(o).padStart(2,'0');return`${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}`}Object.defineProperty(e,'__esModule',{value:!0}),e.derivePlaybackStatus=function(t){return'live'===t.mode?{isLive:!0,label:'LIVE',showGoLive:!1}:'gap'===t.mode?{isLive:!1,label:'No footage',showGoLive:!0}:'error'===t.mode?{isLive:!1,label:'Error',showGoLive:!0}:null==t.playheadEpoch?{isLive:!1,label:'\u2026',showGoLive:!0}:{isLive:!1,label:o(t.playheadEpoch),showGoLive:!0}},Object.defineProperty(e,"JOG_MS",{enumerable:!0,get:function(){return t}}),e.resolveJogBase=function(o,t){return o??t},e.jogTarget=function(o,n){return null==o?null:o+n*t};const t=1e4},1926,[]);
3232
3232
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"DIVERGENCE_TOLERANCE_MS",{enumerable:!0,get:function(){return n}}),Object.defineProperty(e,"DIVERGENCE_REPORT_INTERVAL_MS",{enumerable:!0,get:function(){return t}}),e.evaluateDivergence=function(u){const{indicatorEpoch:l,playerEpoch:o,nowMs:c,lastReportAt:E}=u;if(null===l||null===o)return null;const s=l-o;return Math.abs(s)<n||null!==E&&c-E<t?null:{deltaMs:s,indicatorAhead:s>0}};const n=2e3,t=1e4},1927,[]);
3233
3233
  __d(function(g,r,i,a,_m,_e,d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"LiveView",{enumerable:!0,get:function(){return R}});var t=r(d[0]),o=e(r(d[1])),s=e(r(d[2])),n=e(r(d[3])),l=e(r(d[4])),c=e(r(d[5])),u=r(d[6]),f=e(u),y=r(d[7]),m=r(d[8]),b=r(d[9]),p=r(d[10]),v=r(d[11]),h=r(d[12]),k=r(d[13]),C=r(d[14]),S=r(d[15]),x=r(d[16]),M=r(d[17]),j=r(d[18]),T=r(d[19]),_=r(d[20]),E=r(d[21]);function I(e){switch(e){case'live':case'loading':case'playing':case'paused':case'gap':case'error':return e;default:return'error'}}const w={code:"function LiveViewWebTsx1(){const{coverOpacity}=this.__closure;return{opacity:coverOpacity.value};}"},R=(0,t.forwardRef)(function({deviceId:e,target:c=k.DEFAULT_TARGET,muted:h=!0,videoStyle:R,showStats:A=!1,highlight:O,onPlaybackState:L,onPlayerState:G,onPosition:H},N){const{server:U,token:z}=(0,b.useServer)(),{colors:D}=(0,p.useTheme)(),{t:F}=(0,y.useTranslation)(),[V,W]=(0,t.useState)({state:'connecting'}),B=V.state,[q,$]=(0,t.useState)(!1),J=U?.serverUrl??null,K=(0,t.useCallback)(()=>J?(0,S.buildPlayerEmbedConfig)({serverUrl:J,token:z??'',deviceId:e,target:c,muted:h,stats:A,highlight:O}):{},[J,z,e,c,h,A,O]),Q=(0,t.useRef)((0,j.createEmbedChannel)()),X=(0,t.useRef)(()=>{});X.current=e=>te(e);const Y=(0,t.useCallback)(t=>{const o=(0,x.coercePlayerHostMessage)(t);if(o)return void('state'===o.type?(M.log.debug('live:state',o.state,{deviceId:e,reason:o.message}),W('error'===o.state&&void 0!==o.message?{state:'error',reason:o.message}:{state:o.state}),'playing'===o.state&&$(!0)):'micState'===o.type&&Q.current.setMicState(o.state));if('object'!=typeof t||null===t)return;const s=t;'position'!==s.type||'number'!=typeof s.positionMs?'recState'===s.type&&'string'==typeof s.state&&L?.(I(s.state)):H?.(s.positionMs)},[H,L,e]),{iframeRef:Z,src:ee,postCommand:te,reload:re}=(0,T.useEmbedIframe)({serverUrl:J,mode:'player',buildConfig:K,onHostMessage:Y});(0,t.useEffect)(()=>{const t=(0,j.createEmbedChannel)(e=>X.current(e));return Q.current=t,(0,j.registerEmbedChannel)(e,t)},[e]),(0,t.useEffect)(()=>te({kind:'setMuted',value:h}),[h,te]),(0,t.useEffect)(()=>te({kind:'setTarget',value:c}),[c,te]),(0,t.useEffect)(()=>te({kind:'setStats',value:A}),[A,te]);const oe=(0,t.useCallback)(()=>{W({state:'connecting'}),re()},[re]),ae=(0,C.useHostAutoRetry)({deviceId:e,state:B,reason:V.reason,rebuild:oe}),se='error'===B&&ae.settling?'connecting':B,ne=(0,t.useMemo)(()=>se===V.state?V:{state:se},[se,V]);(0,t.useEffect)(()=>{G?.(ne)},[ne,G]);const ie=ae.retryNow;(0,t.useImperativeHandle)(N,()=>({startPip(){},getStats:()=>Promise.resolve(null),playRecorded:(t,o)=>te((0,_.playbackCommandToMessage)({kind:'playRecorded',deviceId:e,epochMs:t,profile:o})),seek:e=>te((0,_.playbackCommandToMessage)({kind:'seek',epochMs:e})),scrubStart:()=>te((0,_.playbackCommandToMessage)({kind:'scrubStart'})),scrubTo:e=>te((0,_.playbackCommandToMessage)({kind:'scrubTo',epochMs:e})),scrubEnd:e=>te((0,_.playbackCommandToMessage)({kind:'scrubEnd',epochMs:e})),scrubCommit:e=>te((0,_.playbackCommandToMessage)({kind:'scrubCommit',epochMs:e})),setRate:e=>te((0,_.playbackCommandToMessage)({kind:'setRate',rate:e})),stepFrame:e=>te((0,_.playbackCommandToMessage)({kind:'stepFrame',dir:e})),goLive:()=>te((0,_.playbackCommandToMessage)({kind:'goLive'})),retry:ie}),[te,e,ie]);const le='playing'!==B&&!q,[ce,de]=(0,t.useState)(!0),ue=(0,u.useSharedValue)(1);(0,t.useEffect)(()=>{if(le)return ue.value=1,void de(!0);ue.value=(0,u.withTiming)(0,{duration:220,easing:u.Easing.out(u.Easing.quad)});const e=setTimeout(()=>de(!1),220);return()=>clearTimeout(e)},[le,ue]);const fe=(0,u.useAnimatedStyle)((function({_worklet_7783346216362_init_data:e,coverOpacity:t}){const o=()=>({opacity:t.value});return o.__closure={coverOpacity:t},o.__workletHash=7783346216362,o.__initData=e,o})({_worklet_7783346216362_init_data:w,coverOpacity:ue}));return ee?(0,E.jsxs)(o.default,{style:[P.container,R,{borderColor:D.border}],children:[(0,E.jsx)("iframe",{ref:Z,src:ee,title:`camera-${e}`,allow:"microphone; autoplay; fullscreen",style:{width:'100%',height:'100%',border:'none',background:'#000'}}),ce&&(0,E.jsxs)(f.default.View,{style:[P.overlay,fe],pointerEvents:le&&'error'===se&&void 0===G?'auto':'none',children:[(0,E.jsx)(v.StreamPoster,{deviceId:e,enabled:ce}),'connecting'===se&&void 0===G?(0,E.jsxs)(o.default,{style:P.center,children:[(0,E.jsx)(n.default,{color:D.primary}),(0,E.jsx)(s.default,{style:[P.hint,{color:D.foregroundMuted}],children:F('v2.live.connecting')})]}):'error'===se&&void 0===G?(0,E.jsx)(o.default,{style:P.errorScrim,children:(0,E.jsxs)(o.default,{style:P.center,children:[(0,E.jsx)(s.default,{style:[P.errorText,{color:D.danger}],children:F('v2.live.error')}),void 0!==V.reason?(0,E.jsx)(s.default,{style:[P.hint,{color:D.foregroundMuted}],children:V.reason}):null,(0,E.jsxs)(l.default,{onPress:ie,style:[P.retryButton,{borderColor:D.border}],accessibilityRole:"button",accessibilityLabel:F('v2.live.retry'),children:[(0,E.jsx)(m.RotateCw,{size:16,color:D.foreground}),(0,E.jsx)(s.default,{style:[P.retryLabel,{color:D.foreground}],children:F('v2.live.retry')})]})]})}):null]})]}):(0,E.jsx)(o.default,{style:[P.container,{borderColor:D.border}],children:(0,E.jsx)(o.default,{style:P.center,children:(0,E.jsx)(s.default,{style:[P.errorText,{color:D.danger}],children:F('v2.live.error')})})})}),P=c.default.create({container:{width:'100%',aspectRatio:1.7777777777777777,backgroundColor:'#000',overflow:'hidden',borderRadius:h.RADIUS.md},overlay:Object.assign({},c.default.absoluteFill,{alignItems:'center',justifyContent:'center',backgroundColor:'#000'}),errorScrim:Object.assign({},c.default.absoluteFill,{backgroundColor:'rgba(0,0,0,0.6)'}),center:{flex:1,alignItems:'center',justifyContent:'center',padding:h.SPACING.xl,gap:h.SPACING.md},hint:{fontSize:13,textAlign:'center'},errorText:{fontSize:13,textAlign:'center'},retryButton:{flexDirection:'row',alignItems:'center',gap:h.SPACING.sm,paddingHorizontal:h.SPACING.lg,paddingVertical:h.SPACING.md,borderRadius:h.RADIUS.md,borderWidth:1},retryLabel:{fontSize:13,fontWeight:'600'}})},1928,[17,20,112,240,252,33,1132,786,813,1547,999,1929,1001,1931,1932,1934,1935,1117,1936,1847,1937,10]);
@@ -3337,7 +3337,7 @@ __d(function(g,r,i,a,m,e,_d){"use strict";Object.defineProperty(e,'__esModule',{
3337
3337
  __d(function(g,r,i,a,m,_e,_d){"use strict";function e(e){return e&&e.__esModule?e:{default:e}}Object.defineProperty(_e,'__esModule',{value:!0}),_e.EventsManagementPanel=function(e){const d=(0,t.c)(88),{deviceId:f,cameraName:C,onBack:j,onClose:T}=e,{t:R}=(0,u.useTranslation)(),{colors:A}=(0,y.useTheme)(),[D,B]=(0,n.useState)(x[1].key),E=(0,w.useEventStoreFootprint)(!0),L=(0,w.usePruneEvents)(),I=(0,w.useDeleteDeviceEvents)(),V=L.isPending||I.isPending;let N;d[0]!==f||d[1]!==E.data?.devices?(N=E.data?.devices.find(e=>e.deviceId===f),d[0]=f,d[1]=E.data?.devices,d[2]=N):N=d[2];const _=N;let F;d[3]!==D?(F=x.find(e=>e.key===D)??x[1],d[3]=D,d[4]=F):F=d[4];const G=F;let z;d[5]!==L||d[6]!==G||d[7]!==R?(z=()=>{const e=Date.now()-G.ms;c.default.alert(R("v2.eventsMgmt.pruneConfirmTitle","Prune old events?"),R("v2.eventsMgmt.pruneConfirmBody",{defaultValue:"Delete events older than {{range}} across ALL cameras. This cannot be undone.",range:R(`v2.eventsMgmt.${G.key}`)}),[{text:R("v2.eventsMgmt.cancel","Cancel"),style:"cancel"},{text:R("v2.eventsMgmt.pruneAction","Prune"),style:"destructive",onPress:()=>{L.mutate({olderThanMs:e,reason:"manual"},{onSuccess:e=>c.default.alert(R("v2.eventsMgmt.title","Events"),R("v2.eventsMgmt.pruneResult",{defaultValue:"Deleted {{count}} events.",count:S(e)})),onError:e=>c.default.alert(R("v2.eventsMgmt.title","Events"),e.message)})}}])},d[5]=L,d[6]=G,d[7]=R,d[8]=z):z=d[8];const H=z;let W;d[9]!==C||d[10]!==I||d[11]!==f||d[12]!==R?(W=()=>{c.default.alert(R("v2.eventsMgmt.deleteConfirmTitle","Delete all events?"),R("v2.eventsMgmt.deleteConfirmBody",{defaultValue:"Permanently delete every event for {{name}}. This cannot be undone.",name:C}),[{text:R("v2.eventsMgmt.cancel","Cancel"),style:"cancel"},{text:R("v2.eventsMgmt.deleteAction","Delete"),style:"destructive",onPress:()=>{I.mutate(f,{onSuccess:e=>c.default.alert(R("v2.eventsMgmt.title","Events"),R("v2.eventsMgmt.deleteResult",{defaultValue:"Deleted {{count}} events.",count:S(e)})),onError:e=>c.default.alert(R("v2.eventsMgmt.title","Events"),e.message)})}}])},d[9]=C,d[10]=I,d[11]=f,d[12]=R,d[13]=W):W=d[13];const $=W;let O,U,q,J,K,Q,X,Y,Z,ee,te,ne,se,oe,le,re;d[14]!==R?(O=R("v2.eventsMgmt.title","Events"),d[14]=R,d[15]=O):O=d[15];d[16]!==R?(U=R("v2.eventsMgmt.footprintTitle","Footprint"),d[16]=R,d[17]=U):U=d[17];d[18]!==_?.bytes||d[19]!==_?.rows||d[20]!==E.isLoading||d[21]!==R?(q=E.isLoading?"\u2026":R("v2.eventsMgmt.rowsBytes",{defaultValue:"{{rows}} events \xb7 {{bytes}}",rows:_?.rows??0,bytes:(0,h.formatBytes)(_?.bytes??0)}),d[18]=_?.bytes,d[19]=_?.rows,d[20]=E.isLoading,d[21]=R,d[22]=q):q=d[22];d[23]!==C||d[24]!==q?(J=(0,P.jsx)(p.Row,{label:C,value:q,icon:v.ListTree}),d[23]=C,d[24]=q,d[25]=J):J=d[25];d[26]!==R?(K=R("v2.eventsMgmt.clusterTotal","Cluster total"),d[26]=R,d[27]=K):K=d[27];d[28]!==E.data?.totalBytes||d[29]!==E.data?.totalRows||d[30]!==E.isLoading||d[31]!==R?(Q=E.isLoading?"\u2026":R("v2.eventsMgmt.rowsBytes",{defaultValue:"{{rows}} events \xb7 {{bytes}}",rows:E.data?.totalRows??0,bytes:(0,h.formatBytes)(E.data?.totalBytes??0)}),d[28]=E.data?.totalBytes,d[29]=E.data?.totalRows,d[30]=E.isLoading,d[31]=R,d[32]=Q):Q=d[32];d[33]!==Q||d[34]!==K?(X=(0,P.jsx)(p.Row,{label:K,value:Q,last:!0}),d[33]=Q,d[34]=K,d[35]=X):X=d[35];d[36]!==X||d[37]!==U||d[38]!==J?(Y=(0,P.jsxs)(M.Section,{title:U,children:[J,X]}),d[36]=X,d[37]=U,d[38]=J,d[39]=Y):Y=d[39];d[40]!==R?(Z=R("v2.eventsMgmt.pruneTitle","Prune older than"),d[40]=R,d[41]=Z):Z=d[41];d[42]!==A.background||d[43]!==A.border||d[44]!==A.foregroundMuted||d[45]!==A.primary||d[46]!==A.primaryForeground||d[47]!==D||d[48]!==R?(ee=x.map(e=>{const t=e.key===D;return(0,P.jsx)(l.default,{accessibilityRole:"button",accessibilityState:{selected:t},onPress:()=>B(e.key),style:[k.chip,{backgroundColor:t?A.primary:A.background,borderColor:t?A.primary:A.border}],children:(0,P.jsx)(o.default,{style:{color:t?A.primaryForeground:A.foregroundMuted,fontSize:13,fontWeight:t?"700":"500"},children:R(`v2.eventsMgmt.${e.key}`)})},e.key)}),d[42]=A.background,d[43]=A.border,d[44]=A.foregroundMuted,d[45]=A.primary,d[46]=A.primaryForeground,d[47]=D,d[48]=R,d[49]=ee):ee=d[49];d[50]!==ee?(te=(0,P.jsx)(s.default,{style:k.chipRow,children:ee}),d[50]=ee,d[51]=te):te=d[51];d[52]!==A.foregroundSubtle?(ne=[k.hint,{color:A.foregroundSubtle}],d[52]=A.foregroundSubtle,d[53]=ne):ne=d[53];d[54]!==R?(se=R("v2.eventsMgmt.pruneHint","Applies to all cameras."),d[54]=R,d[55]=se):se=d[55];d[56]!==ne||d[57]!==se?(oe=(0,P.jsx)(o.default,{style:ne,children:se}),d[56]=ne,d[57]=se,d[58]=oe):oe=d[58];d[59]!==te||d[60]!==oe?(le=(0,P.jsxs)(s.default,{style:k.block,children:[te,oe]}),d[59]=te,d[60]=oe,d[61]=le):le=d[61];d[62]!==R?(re=R("v2.eventsMgmt.pruneAction","Prune"),d[62]=R,d[63]=re):re=d[63];const ae=V?void 0:H;let de,ie,ce,ue;d[64]!==re||d[65]!==ae?(de=(0,P.jsx)(p.Row,{label:re,icon:v.Timer,danger:!0,onPress:ae,last:!0}),d[64]=re,d[65]=ae,d[66]=de):de=d[66];d[67]!==Z||d[68]!==le||d[69]!==de?(ie=(0,P.jsxs)(M.Section,{title:Z,children:[le,de]}),d[67]=Z,d[68]=le,d[69]=de,d[70]=ie):ie=d[70];d[71]!==R?(ce=R("v2.eventsMgmt.deleteTitle","Delete camera events"),d[71]=R,d[72]=ce):ce=d[72];d[73]!==R?(ue=R("v2.eventsMgmt.deleteAction","Delete all events for this camera"),d[73]=R,d[74]=ue):ue=d[74];const ve=V?void 0:$;let me,ge,ye;d[75]!==ue||d[76]!==ve?(me=(0,P.jsx)(p.Row,{label:ue,icon:v.Trash2,danger:!0,onPress:ve,last:!0}),d[75]=ue,d[76]=ve,d[77]=me):me=d[77];d[78]!==ce||d[79]!==me?(ge=(0,P.jsx)(M.Section,{title:ce,children:me}),d[78]=ce,d[79]=me,d[80]=ge):ge=d[80];d[81]!==j||d[82]!==T||d[83]!==Y||d[84]!==ie||d[85]!==ge||d[86]!==O?(ye=(0,P.jsxs)(b.TimelinePanelHost,{title:O,onBack:j,onClose:T,children:[Y,ie,ge]}),d[81]=j,d[82]=T,d[83]=Y,d[84]=ie,d[85]=ge,d[86]=O,d[87]=ye):ye=d[87];return ye};var t=r(_d[0]),n=r(_d[1]),s=e(r(_d[2])),o=e(r(_d[3])),l=e(r(_d[4])),d=e(r(_d[5])),c=e(r(_d[6])),u=r(_d[7]),v=r(_d[8]),y=r(_d[9]),f=r(_d[10]),b=r(_d[11]),M=r(_d[12]),p=r(_d[13]),h=r(_d[14]),w=r(_d[15]),P=r(_d[16]);const x=[{key:'older24h',ms:864e5},{key:'older7d',ms:6048e5},{key:'older30d',ms:2592e6}];function S(e){return e.motion+e.object+e.audio}const k=d.default.create({block:{padding:f.SPACING.xl,gap:f.SPACING.md},chipRow:{flexDirection:'row',flexWrap:'wrap',gap:f.SPACING.md},chip:{paddingHorizontal:f.SPACING.lg,paddingVertical:f.SPACING.md,borderRadius:f.RADIUS.lg,borderWidth:1},hint:{fontSize:12}})},2032,[15,17,20,112,252,33,133,786,813,999,1001,1979,1611,1886,1985,2031,10]);
3338
3338
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.useTimelinePanels=function(){const c=(0,t.c)(11),[s,u]=(0,n.useState)(null),[_,f]=(0,n.useState)(l);let p;c[0]===Symbol.for("react.memo_cache_sentinel")?(p=()=>u(null),c[0]=p):p=c[0];const y=p;let b;c[1]===Symbol.for("react.memo_cache_sentinel")?(b=t=>u(n=>n?.kind===t?null:{kind:t}),c[1]=b):b=c[1];const S=b;let h;c[2]===Symbol.for("react.memo_cache_sentinel")?(h=t=>u({kind:t}),c[2]=h):h=c[2];const k=h;let v;c[3]===Symbol.for("react.memo_cache_sentinel")?(v=t=>u({kind:"clusterDetail",cluster:t}),c[3]=v):v=c[3];const x=v;let D;c[4]===Symbol.for("react.memo_cache_sentinel")?(D=t=>{f(t),u({kind:"export"})},c[4]=D):D=c[4];const M=D;let P;c[5]!==s?(P=(0,o.resolveTimelineBody)(s),c[5]=s,c[6]=P):P=c[6];const T=P;let j;c[7]!==T||c[8]!==_||c[9]!==s?(j={panel:s,body:T,close:y,toggle:S,open:k,openCluster:x,openExport:M,exportAnchorMs:_},c[7]=T,c[8]=_,c[9]=s,c[10]=j):j=c[10];return j};var t=r(d[0]),n=r(d[1]),o=r(d[2]);function l(){return Date.now()}},2033,[15,17,1973]);
3339
3339
  __d(function(g,r,i,a,m,e,d){"use strict";function t(t){return Number.isFinite(t)?Math.min(100,Math.max(0,t)):0}Object.defineProperty(e,'__esModule',{value:!0}),e.indicatorOffsetPx=function(n,u){return!Number.isFinite(n)||n<=0?0:Math.round(n*t(u)/100)},Object.defineProperty(e,"FIXED_INDICATOR_POSITION_PCT",{enumerable:!0,get:function(){return n}});const n=10},2034,[]);
3340
- __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"LIVE_EDGE_TOLERANCE_MS",{enumerable:!0,get:function(){return l}}),_e.useTimelineScrub=function(_){const y=(0,e.c)(49),{deviceId:E,topMs:R,zoomIndex:p,isLive:L,indicatorPx:T,viewportHeight:D,timelineFromMs:x,lookbackDays:M,maxLookbackDays:O,onScrubBegin:I,onScrubMove:w,onScrubCommit:G,onGoLive:P,onScrollOffset:B,onExtendLookback:j}=_,z=(0,t.useRef)(null),C=(0,t.useRef)(0),H=(0,t.useRef)(o.idleScrubGesture),N=(0,t.useRef)(!1),q=(0,t.useRef)(!1),A=(0,t.useRef)(null),F=(0,t.useRef)(null),V=(0,t.useRef)(!1),W=(0,t.useRef)(0),J=(0,t.useRef)(L),K=(0,t.useRef)(T),Q=(0,t.useRef)(D),U=(0,t.useRef)(x),X=(0,t.useRef)(u.idleLookbackWalk);let Y,Z;y[0]!==T||y[1]!==L||y[2]!==M||y[3]!==x||y[4]!==D?(Y=()=>{J.current=L,K.current=T,Q.current=D,U.current=x,X.current=(0,u.observeLookbackDays)(X.current,M)},Z=[L,T,D,x,M],y[0]=T,y[1]=L,y[2]=M,y[3]=x,y[4]=D,y[5]=Y,y[6]=Z):(Y=y[5],Z=y[6]);(0,t.useEffect)(Y,Z);const $=(0,t.useRef)(!1),ee=(0,t.useRef)(0),te=(0,t.useRef)(null);let re;y[7]===Symbol.for("react.memo_cache_sentinel")?(re=()=>{$.current=!1,te.current&&(clearTimeout(te.current),te.current=null)},y[7]=re):re=y[7];const ne=re;let ce;y[8]===Symbol.for("react.memo_cache_sentinel")?(ce=(e,t)=>{$.current=!0,ee.current=e,te.current&&clearTimeout(te.current),te.current=setTimeout(()=>{$.current=!1,te.current=null},h),z.current?.scrollToOffset({offset:e,animated:t})},y[8]=ce):ce=y[8];const oe=ce;let ue;y[9]===Symbol.for("react.memo_cache_sentinel")?(ue=()=>{A.current&&(clearTimeout(A.current),A.current=null)},y[9]=ue):ue=y[9];const se=ue;let le;y[10]===Symbol.for("react.memo_cache_sentinel")?(le=()=>{F.current&&(clearTimeout(F.current),F.current=null)},y[10]=le):le=y[10];const ie=le;let ae;y[11]!==T||y[12]!==P||y[13]!==I||y[14]!==G||y[15]!==w||y[16]!==R||y[17]!==D||y[18]!==p?(ae=e=>{for(const t of e)e:switch(t.kind){case"begin":I("timeline");break e;case"move":w(t.epoch,"timeline");break e;case"commit":s.log.info("theater:scrub","seek committed",{epoch:t.epoch,at:new Date(t.epoch).toISOString(),indicatorPx:T,viewportHeight:D,zoomIndex:p,topMs:R}),G(t.epoch,"timeline");break e;case"goLive":J.current||(s.log.debug("theater:live-edge","go-live (scrolled into live edge)",{}),P())}},y[11]=T,y[12]=P,y[13]=I,y[14]=G,y[15]=w,y[16]=R,y[17]=D,y[18]=p,y[19]=ae):ae=y[19];const fe=ae;let me;y[20]!==fe?(me=e=>{const{state:t,commands:n}=(0,o.reduceScrubGesture)(H.current,e);H.current=t,fe(n)},y[20]=fe,y[21]=me):me=y[21];const de=me;let be;y[22]!==de?(be=()=>{se(),A.current=setTimeout(()=>{A.current=null,N.current||q.current||de({kind:"end"})},b)},y[22]=de,y[23]=be):be=y[23];const ke=be;let ve;y[24]!==de||y[25]!==R||y[26]!==p?(ve=e=>{if(se(),!H.current.active||$.current)return;const t=Math.round((0,n.offsetToEpoch)(e,R,p));(0,c.atLiveEdge)(R-t,l)?de({kind:"liveEdge"}):(de({kind:"frame",epoch:t}),de({kind:"end"}))},y[24]=de,y[25]=R,y[26]=p,y[27]=ve):ve=y[27];const he=ve;let ge;y[28]===Symbol.for("react.memo_cache_sentinel")?(ge=()=>{N.current=!0,q.current=!1,V.current=!1,se(),ie()},y[28]=ge):ge=y[28];const Se=ge;let ye;y[29]!==he?(ye=e=>{N.current=!1,se();const t=e.nativeEvent.contentOffset.y;ie(),F.current=setTimeout(()=>{F.current=null,q.current||(V.current=!0,he(t))},k)},y[29]=he,y[30]=ye):ye=y[30];const Ee=ye;let Re;y[31]===Symbol.for("react.memo_cache_sentinel")?(Re=()=>{q.current=!0,ie()},y[31]=Re):Re=y[31];const pe=Re;let Le;y[32]!==he?(Le=e=>{q.current=!1,ie(),V.current?V.current=!1:he(e.nativeEvent.contentOffset.y)},y[32]=he,y[33]=Le):Le=y[33];const Te=Le;let De,xe,Me;y[34]===Symbol.for("react.memo_cache_sentinel")?(De=()=>()=>{se(),ie()},xe=[se,ie],y[34]=De,y[35]=xe):(De=y[34],xe=y[35]);(0,t.useEffect)(De,xe),y[36]!==ke||y[37]!==E||y[38]!==de||y[39]!==O||y[40]!==j||y[41]!==B||y[42]!==R||y[43]!==p?(Me=e=>{const t=e.nativeEvent.contentOffset.y;B(t);const o=K.current,b=Q.current,k=(0,n.epochToOffset)(U.current,R,p);if(t>=o+Math.max(b,k)-b-b){const e=X.current,t=(0,u.decideLookbackExtension)(e,O);if("extend"===t)X.current=(0,u.markLookbackRequested)(e),s.log.info("theater","back-scroll extending lookback",{deviceId:E,fromDays:e.observedDays,oldest:new Date(U.current).toISOString()}),j();else{const n=Date.now();n-W.current>=S&&(W.current=n,s.log.info("theater","back-scroll did NOT extend",{deviceId:E,outcome:t,days:e.observedDays,maxLookbackDays:O}))}}if($.current)return void(Math.abs(t-ee.current)<=v&&ne());if(q.current&&V.current)return;const h=Math.round((0,n.offsetToEpoch)(t,R,p)),_=R-h;if((0,c.atLiveEdge)(_,l))return se(),void de({kind:"liveEdge"});const y=Date.now();H.current.active&&y-C.current<f||(C.current=y,de({kind:"frame",epoch:h})),ke()},y[36]=ke,y[37]=E,y[38]=de,y[39]=O,y[40]=j,y[41]=B,y[42]=R,y[43]=p,y[44]=Me):Me=y[44];const Oe=Me;let Ie;y[45]!==Te||y[46]!==Oe||y[47]!==Ee?(Ie={scrollerRef:z,scrollListTo:oe,onScroll:Oe,onScrollBeginDrag:Se,onScrollEndDrag:Ee,onMomentumScrollBegin:pe,onMomentumScrollEnd:Te},y[45]=Te,y[46]=Oe,y[47]=Ee,y[48]=Ie):Ie=y[48];return Ie};var e=r(d[0]),t=r(d[1]),n=r(d[2]),c=r(d[3]),o=r(d[4]),u=r(d[5]),s=r(d[6]);const l=15e3,f=100,b=300,k=80,v=2,h=500,S=5e3},2035,[15,17,1967,2036,2037,2038,1117]);
3340
+ __d(function(g,r,i,a,m,_e,d){"use strict";Object.defineProperty(_e,'__esModule',{value:!0}),Object.defineProperty(_e,"LIVE_EDGE_TOLERANCE_MS",{enumerable:!0,get:function(){return l}}),_e.useTimelineScrub=function(_){const y=(0,e.c)(49),{deviceId:E,topMs:R,zoomIndex:p,isLive:L,indicatorPx:T,viewportHeight:D,timelineFromMs:x,lookbackDays:M,maxLookbackDays:O,onScrubBegin:I,onScrubMove:w,onScrubCommit:G,onGoLive:P,onScrollOffset:B,onExtendLookback:j}=_,z=(0,t.useRef)(null),C=(0,t.useRef)(0),H=(0,t.useRef)(o.idleScrubGesture),N=(0,t.useRef)(!1),q=(0,t.useRef)(!1),A=(0,t.useRef)(null),F=(0,t.useRef)(null),V=(0,t.useRef)(!1),W=(0,t.useRef)(0),J=(0,t.useRef)(L),K=(0,t.useRef)(T),Q=(0,t.useRef)(D),U=(0,t.useRef)(x),X=(0,t.useRef)(u.idleLookbackWalk);let Y,Z;y[0]!==T||y[1]!==L||y[2]!==M||y[3]!==x||y[4]!==D?(Y=()=>{J.current=L,K.current=T,Q.current=D,U.current=x,X.current=(0,u.observeLookbackDays)(X.current,M)},Z=[L,T,D,x,M],y[0]=T,y[1]=L,y[2]=M,y[3]=x,y[4]=D,y[5]=Y,y[6]=Z):(Y=y[5],Z=y[6]);(0,t.useEffect)(Y,Z);const $=(0,t.useRef)(!1),ee=(0,t.useRef)(0),te=(0,t.useRef)(null);let re;y[7]===Symbol.for("react.memo_cache_sentinel")?(re=()=>{$.current=!1,te.current&&(clearTimeout(te.current),te.current=null)},y[7]=re):re=y[7];const ne=re;let ce;y[8]===Symbol.for("react.memo_cache_sentinel")?(ce=(e,t)=>{$.current=!0,ee.current=e,te.current&&clearTimeout(te.current),te.current=setTimeout(()=>{$.current=!1,te.current=null},h),z.current?.scrollToOffset({offset:e,animated:t})},y[8]=ce):ce=y[8];const oe=ce;let ue;y[9]===Symbol.for("react.memo_cache_sentinel")?(ue=()=>{A.current&&(clearTimeout(A.current),A.current=null)},y[9]=ue):ue=y[9];const se=ue;let le;y[10]===Symbol.for("react.memo_cache_sentinel")?(le=()=>{F.current&&(clearTimeout(F.current),F.current=null)},y[10]=le):le=y[10];const ie=le;let ae;y[11]!==T||y[12]!==P||y[13]!==I||y[14]!==G||y[15]!==w||y[16]!==R||y[17]!==D||y[18]!==p?(ae=e=>{for(const t of e)e:switch(t.kind){case"begin":I("timeline");break e;case"move":w(t.epoch,"timeline");break e;case"commit":s.log.info("theater:scrub","seek committed",{epoch:t.epoch,at:new Date(t.epoch).toISOString(),indicatorPx:T,viewportHeight:D,zoomIndex:p,topMs:R}),G(t.epoch,"timeline");break e;case"goLive":J.current||(s.log.debug("theater:live-edge","go-live (scrolled into live edge)",{}),P())}},y[11]=T,y[12]=P,y[13]=I,y[14]=G,y[15]=w,y[16]=R,y[17]=D,y[18]=p,y[19]=ae):ae=y[19];const fe=ae;let me;y[20]!==fe?(me=e=>{const{state:t,commands:n}=(0,o.reduceScrubGesture)(H.current,e);H.current=t,fe(n)},y[20]=fe,y[21]=me):me=y[21];const de=me;let be;y[22]!==de?(be=()=>{se(),A.current=setTimeout(()=>{A.current=null,N.current||q.current||de({kind:"end"})},b)},y[22]=de,y[23]=be):be=y[23];const ke=be;let ve;y[24]!==de||y[25]!==R||y[26]!==p?(ve=e=>{if(se(),!H.current.active||$.current)return;const t=Math.round((0,n.offsetToEpoch)(e,R,p));(0,c.atLiveEdge)(R-t,l)?de({kind:"liveEdge"}):(de({kind:"frame",epoch:t}),de({kind:"end"}))},y[24]=de,y[25]=R,y[26]=p,y[27]=ve):ve=y[27];const he=ve;let ge;y[28]===Symbol.for("react.memo_cache_sentinel")?(ge=()=>{N.current=!0,q.current=!1,V.current=!1,se(),ie()},y[28]=ge):ge=y[28];const Se=ge;let ye;y[29]!==he?(ye=e=>{N.current=!1,se();const t=e.nativeEvent.contentOffset.y;ie(),F.current=setTimeout(()=>{F.current=null,q.current||(V.current=!0,he(t))},k)},y[29]=he,y[30]=ye):ye=y[30];const Ee=ye;let Re;y[31]===Symbol.for("react.memo_cache_sentinel")?(Re=()=>{q.current=!0,ie()},y[31]=Re):Re=y[31];const pe=Re;let Le;y[32]!==he?(Le=e=>{q.current=!1,ie(),V.current?V.current=!1:he(e.nativeEvent.contentOffset.y)},y[32]=he,y[33]=Le):Le=y[33];const Te=Le;let De,xe,Me;y[34]===Symbol.for("react.memo_cache_sentinel")?(De=()=>()=>{se(),ie()},xe=[se,ie],y[34]=De,y[35]=xe):(De=y[34],xe=y[35]);(0,t.useEffect)(De,xe),y[36]!==ke||y[37]!==E||y[38]!==de||y[39]!==O||y[40]!==j||y[41]!==B||y[42]!==R||y[43]!==p?(Me=e=>{const t=e.nativeEvent.contentOffset.y;B(t);const o=K.current,b=Q.current,k=(0,n.epochToOffset)(U.current,R,p);if(t>=o+Math.max(b,k)-b-b){const e=X.current,t=(0,u.decideLookbackExtension)(e,O);if("extend"===t)X.current=(0,u.markLookbackRequested)(e),s.log.info("theater","back-scroll extending lookback",{deviceId:E,fromDays:e.observedDays,oldest:new Date(U.current).toISOString()}),j();else{const n=Date.now();n-W.current>=S&&(W.current=n,s.log.info("theater","back-scroll did NOT extend",{deviceId:E,outcome:t,days:e.observedDays,maxLookbackDays:O}))}}if($.current)return void(Math.abs(t-ee.current)<=v&&ne());if(q.current&&V.current)return;const h=Math.round((0,n.offsetToEpoch)(t,R,p)),_=R-h;if((0,c.atLiveEdge)(_,l))return se(),void de({kind:"liveEdge"});const y=Date.now();H.current.active&&y-C.current<f||(C.current=y,de({kind:"frame",epoch:h})),ke()},y[36]=ke,y[37]=E,y[38]=de,y[39]=O,y[40]=j,y[41]=B,y[42]=R,y[43]=p,y[44]=Me):Me=y[44];const Oe=Me;let Ie;y[45]!==Te||y[46]!==Oe||y[47]!==Ee?(Ie={scrollerRef:z,scrollListTo:oe,onScroll:Oe,onScrollBeginDrag:Se,onScrollEndDrag:Ee,onMomentumScrollBegin:pe,onMomentumScrollEnd:Te},y[45]=Te,y[46]=Oe,y[47]=Ee,y[48]=Ie):Ie=y[48];return Ie};var e=r(d[0]),t=r(d[1]),n=r(d[2]),c=r(d[3]),o=r(d[4]),u=r(d[5]),s=r(d[6]);const l=15e3,f=50,b=300,k=80,v=2,h=500,S=5e3},2035,[15,17,1967,2036,2037,2038,1117]);
3341
3341
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),e.atLiveEdge=function(t,n){return t<=n}},2036,[]);
3342
3342
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"idleScrubGesture",{enumerable:!0,get:function(){return t}}),e.reduceScrubGesture=function(c,n){switch(n.kind){case'frame':return c.active?{state:Object.assign({},c,{lastEpoch:n.epoch}),commands:[{kind:'move',epoch:n.epoch}]}:{state:{active:!0,lastEpoch:n.epoch},commands:[{kind:'begin'},{kind:'move',epoch:n.epoch}]};case'liveEdge':return{state:t,commands:[{kind:'goLive'}]};case'end':return c.active&&null!==c.lastEpoch?{state:t,commands:[{kind:'commit',epoch:c.lastEpoch}]}:{state:t,commands:[]}}};const t={active:!1,lastEpoch:null}},2037,[]);
3343
3343
  __d(function(g,r,i,a,m,e,d){"use strict";Object.defineProperty(e,'__esModule',{value:!0}),Object.defineProperty(e,"idleLookbackWalk",{enumerable:!0,get:function(){return s}}),e.observeLookbackDays=function(s,t){return t===s.observedDays?s:{observedDays:t,requestedAtDays:-1}},e.decideLookbackExtension=function(s,t){return s.observedDays>=t?'capped':s.requestedAtDays===s.observedDays?'pending':'extend'},e.markLookbackRequested=function(s){return{observedDays:s.observedDays,requestedAtDays:s.observedDays}};const s={observedDays:-1,requestedAtDays:-1}},2038,[]);
@@ -36,6 +36,6 @@
36
36
  </noscript>
37
37
  <!-- The root element for your Expo app. -->
38
38
  <div id="root"></div>
39
- <script src="/viewer/camstack/_expo/static/js/web/index-70aad56008d5ed762df48048319fe745.js" defer></script>
39
+ <script src="/viewer/camstack/_expo/static/js/web/index-f0db2339f4aff67c8437a7a78aa5187a.js" defer></script>
40
40
  </body>
41
41
  </html>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/addon-pipeline-orchestrator",
3
- "version": "1.2.38",
3
+ "version": "1.2.40",
4
4
  "description": "Hub-side camera-to-agent load balancer — tracks runner capacity and dispatches attachCamera calls to the optimal pipeline-runner instance",
5
5
  "keywords": [
6
6
  "camstack",