@camstack/addon-admin-ui 1.0.7 → 1.0.8

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.
Files changed (103) hide show
  1. package/dist/assets/{AddLocationWizard-BPXjVkoq.js → AddLocationWizard-DomSxpGI.js} +1 -1
  2. package/dist/assets/AddonCollectionPage-DpSbeFq7.js +1 -0
  3. package/dist/assets/Addons-1gQjuR9S.js +1 -0
  4. package/dist/assets/AdminPage-vtcsGqRq.js +1 -0
  5. package/dist/assets/{AdminTabs-C5BWg3Pz.js → AdminTabs-B7an3aYB.js} +1 -1
  6. package/dist/assets/{BrokerForm-CwBhT_Zu.js → BrokerForm-DImaKHz8.js} +1 -1
  7. package/dist/assets/{BrokerStep-kInoZsZ8.js → BrokerStep-D4L9bUsk.js} +1 -1
  8. package/dist/assets/Capabilities-D0caXSgs.js +1 -0
  9. package/dist/assets/{CapabilityBadges-CqlDFU27.js → CapabilityBadges-BCofv88Z.js} +1 -1
  10. package/dist/assets/{Cluster-vA3G3Xt-.js → Cluster-BtOVpJ4s.js} +1 -1
  11. package/dist/assets/{Dashboard-CIarzGjr.js → Dashboard-TKoXQaIb.js} +1 -1
  12. package/dist/assets/{Data-CBUx81MG.js → Data-B5u4dAnY.js} +1 -1
  13. package/dist/assets/DetectionIntelligence-C4FeIOdR.js +1 -0
  14. package/dist/assets/DeviceDetail-BPaQwx2C.js +2 -0
  15. package/dist/assets/{Devices-KDtIE02J.js → Devices-D1-l4svU.js} +1 -1
  16. package/dist/assets/EmbedPlayerPage-6o-vVqJv.js +1 -0
  17. package/dist/assets/FormBuilder-aFYGmiS4.js +1 -0
  18. package/dist/assets/{Identity-CYHFXu1M.js → Identity-DoN_l5BA.js} +1 -1
  19. package/dist/assets/IntegrationDetail-ChyVujgZ.js +1 -0
  20. package/dist/assets/Integrations-SnvWread.js +1 -0
  21. package/dist/assets/{Integrations-BXICd-JI.js → Integrations-vgx-gq-F.js} +1 -1
  22. package/dist/assets/{Logs-kzrdYdPu.js → Logs-ByT8Fq04.js} +1 -1
  23. package/dist/assets/{MaskShapeCanvas-C5K6H6Th.js → MaskShapeCanvas-CQ2SgaNa.js} +1 -1
  24. package/dist/assets/MotionZonesSettings-CsC6s4D-.js +1 -0
  25. package/dist/assets/MyAccess-CcV3suRC.js +2 -0
  26. package/dist/assets/Network-DSUa74-e.js +1 -0
  27. package/dist/assets/NodeAddonsSettingsPanel-C8dKpqZh.js +1 -0
  28. package/dist/assets/{Pipeline-C460Q1dM.js → Pipeline-DvAGol7e.js} +1 -1
  29. package/dist/assets/PrivacyMaskSettings-BYqj289i.js +1 -0
  30. package/dist/assets/{ProviderIcon-BS00rCO4.js → ProviderIcon-DnjoN_gW.js} +1 -1
  31. package/dist/assets/SchemaTabBar-DRo5sGP1.js +1 -0
  32. package/dist/assets/Settings-McpLfu8Z.js +1 -0
  33. package/dist/assets/Showroom-DBUVcfqM.js +1 -0
  34. package/dist/assets/{StatusBadge-CkYubfRG.js → StatusBadge-BSsUNFG6.js} +1 -1
  35. package/dist/assets/{_virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-BCWO2hJt.js → _virtual_mf-localSharedImportMap___mfe_internal__admin_ui_host-73q_gPW1.js} +1 -1
  36. package/dist/assets/{_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-CK8iQdP1.js → _virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_tanstack_mf_1_react_mf_2_query__loadShare__.js-CCjPq1YD.js} +1 -1
  37. package/dist/assets/{_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_trpc_mf_1_react_mf_2_query__loadShare__.js-DEeasWo3.js → _virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_trpc_mf_1_react_mf_2_query__loadShare__.js-DqrXu-jG.js} +1 -1
  38. package/dist/assets/{_virtual_mf___mfe_internal__admin_ui_host__loadShare__react_mf_2_dom__loadShare__.js-C1rR7FKs.js → _virtual_mf___mfe_internal__admin_ui_host__loadShare__react_mf_2_dom__loadShare__.js-DcnMG4y9.js} +1 -1
  39. package/dist/assets/{_virtual_mf___mfe_internal__admin_ui_host__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-DQOBkcAT.js → _virtual_mf___mfe_internal__admin_ui_host__loadShare__react_mf_2_dom_mf_1_client__loadShare__.js-CUURKTLp.js} +1 -1
  40. package/dist/assets/{_virtual_mf___mfe_internal__admin_ui_host__loadShare__react_mf_2_konva__loadShare__.js-PYw2UAZ_.js → _virtual_mf___mfe_internal__admin_ui_host__loadShare__react_mf_2_konva__loadShare__.js-xmx-auwe.js} +3 -3
  41. package/dist/assets/{bell-CRa7XWAs.js → bell-C5Uv_byR.js} +1 -1
  42. package/dist/assets/circle-check-big-CToOIOTu.js +1 -0
  43. package/dist/assets/{copy-Bi-BgxBp.js → copy-B_qOe5z2.js} +1 -1
  44. package/dist/assets/dist-DBAJfCeK.js +1 -0
  45. package/dist/assets/{dist-B82tlPWR.js → dist-DivYVFrG.js} +1 -1
  46. package/dist/assets/{download-Bq_ArgRU.js → download-BT33CH3j.js} +1 -1
  47. package/dist/assets/{esm-C6_--ziT.js → esm-C2ZjsqSd.js} +3 -3
  48. package/dist/assets/{hostInit-B8ISRO-X.js → hostInit-BzUwQrc2.js} +1 -1
  49. package/dist/assets/index-C9dLNgtt.js +4 -0
  50. package/dist/assets/{key-round-DdK6mTCz.js → key-round-CMLRqbrq.js} +1 -1
  51. package/dist/assets/{mf-entry-bootstrap-0-ebe1e057.js → mf-entry-bootstrap-0-49f53064.js} +2 -2
  52. package/dist/assets/{pencil-WwVUhRC9.js → pencil-CLwBxZCl.js} +1 -1
  53. package/dist/assets/{player-overlays-ZG1nYuYj.js → player-overlays-BD7QrhVv.js} +1 -1
  54. package/dist/assets/plus-tJZHYmsB.js +1 -0
  55. package/dist/assets/{radio-B8E0UhzS.js → radio-CnJYCpke.js} +1 -1
  56. package/dist/assets/{refresh-cw-DewUBhjl.js → refresh-cw-CLgLEKc_.js} +1 -1
  57. package/dist/assets/remoteEntry-CtF0a_XV.js +1 -0
  58. package/dist/assets/{rotate-ccw-CZ8RwUso.js → rotate-ccw-B53meVG1.js} +1 -1
  59. package/dist/assets/rotate-cw-EY9cIQs9.js +1 -0
  60. package/dist/assets/search-BT8SB-Ig.js +1 -0
  61. package/dist/assets/{server-DnaOYw5t.js → server-C-7gGEm3.js} +1 -1
  62. package/dist/assets/{sparkles-D9CcRRON.js → sparkles-DKm7eNvc.js} +1 -1
  63. package/dist/assets/square-UU8oWHzQ.js +1 -0
  64. package/dist/assets/{square-check-big-9Ki4zQ6C.js → square-check-big-XneAXRht.js} +1 -1
  65. package/dist/assets/src-DsE0ulBa.js +1 -0
  66. package/dist/assets/{src-BB1LG2-C.js → src-tFxrblhL.js} +6 -6
  67. package/dist/assets/{upload-DHwenRyJ.js → upload-C45qaDPP.js} +1 -1
  68. package/dist/assets/{useDevice-BuSIXBXp.js → useDevice-CEFTGk-N.js} +1 -1
  69. package/dist/assets/useEventInvalidation-BtLXp2PR.js +1 -0
  70. package/dist/assets/{virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-OHA5nJNY.js → virtual_mf-REMOTE_ENTRY_ID___mfe_internal__admin_ui_host__remoteEntry-_hash_-B5yi8CSR.js} +2 -2
  71. package/dist/assets/{wifi-BJgMgcFe.js → wifi-DstzyoYP.js} +1 -1
  72. package/dist/assets/{zap-BAH9oFRn.js → zap-DHsYuJKW.js} +1 -1
  73. package/dist/index.html +5 -5
  74. package/dist/server/addon.js +4 -4
  75. package/package.json +1 -1
  76. package/dist/assets/AddonCollectionPage-BHk_82L1.js +0 -1
  77. package/dist/assets/Addons-Bu6k7qrw.js +0 -1
  78. package/dist/assets/AdminPage-CN6ZMhf0.js +0 -1
  79. package/dist/assets/Capabilities-DazohgP2.js +0 -1
  80. package/dist/assets/DetectionIntelligence-DmE8QQvK.js +0 -1
  81. package/dist/assets/DeviceDetail-DqTWl3Kz.js +0 -2
  82. package/dist/assets/EmbedPlayerPage-BcG6bilu.js +0 -1
  83. package/dist/assets/FormBuilder-DBTf1H_B.js +0 -1
  84. package/dist/assets/IntegrationDetail-DqViKcp6.js +0 -1
  85. package/dist/assets/Integrations-Cyg_bOkD.js +0 -1
  86. package/dist/assets/MotionZonesSettings-C1INb9Ec.js +0 -1
  87. package/dist/assets/MyAccess-DvxBmUhb.js +0 -2
  88. package/dist/assets/Network-BEet8LbP.js +0 -1
  89. package/dist/assets/NodeAddonsSettingsPanel-BU3fsQhW.js +0 -1
  90. package/dist/assets/PrivacyMaskSettings-Isrt2Rzc.js +0 -1
  91. package/dist/assets/SchemaTabBar-ByWwzBUZ.js +0 -1
  92. package/dist/assets/Settings-BPtVhsDv.js +0 -1
  93. package/dist/assets/Showroom-qtUMm-lj.js +0 -1
  94. package/dist/assets/circle-check-big-Ca1L631f.js +0 -1
  95. package/dist/assets/dist-B8KtyWbO.js +0 -1
  96. package/dist/assets/index-D5OTguVm.js +0 -4
  97. package/dist/assets/plus-D2fCWFPc.js +0 -1
  98. package/dist/assets/remoteEntry-vWrz4ebK.js +0 -1
  99. package/dist/assets/rotate-cw-DiyghCam.js +0 -1
  100. package/dist/assets/search-DZ8Fw9-F.js +0 -1
  101. package/dist/assets/square-CO0xPDBD.js +0 -1
  102. package/dist/assets/src-Cno9Ci3x.js +0 -1
  103. package/dist/assets/useEventInvalidation-wNGhDdi_.js +0 -1
@@ -1 +1 @@
1
- import{T as e,b as t,o as n,x as r}from"./_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_trpc_mf_1_client__loadShare__.js-CSJxMxg6.js";import{d as i,f as a}from"./src-Cno9Ci3x.js";var o=class{constructor(){this.keyToValue=new Map,this.valueToKey=new Map}set(e,t){this.keyToValue.set(e,t),this.valueToKey.set(t,e)}getByKey(e){return this.keyToValue.get(e)}getByValue(e){return this.valueToKey.get(e)}clear(){this.keyToValue.clear(),this.valueToKey.clear()}},s=class{constructor(e){this.generateIdentifier=e,this.kv=new o}register(e,t){this.kv.getByValue(e)||(t||=this.generateIdentifier(e),this.kv.set(t,e))}clear(){this.kv.clear()}getIdentifier(e){return this.kv.getByValue(e)}getValue(e){return this.kv.getByKey(e)}},c=class extends s{constructor(){super(e=>e.name),this.classToAllowedProps=new Map}register(e,t){typeof t==`object`?(t.allowProps&&this.classToAllowedProps.set(e,t.allowProps),super.register(e,t.identifier)):super.register(e,t)}getAllowedProps(e){return this.classToAllowedProps.get(e)}};function l(e){if(`values`in Object)return Object.values(e);let t=[];for(let n in e)e.hasOwnProperty(n)&&t.push(e[n]);return t}function u(e,t){let n=l(e);if(`find`in n)return n.find(t);let r=n;for(let e=0;e<r.length;e++){let n=r[e];if(t(n))return n}}function d(e,t){Object.entries(e).forEach(([e,n])=>t(n,e))}function f(e,t){return e.indexOf(t)!==-1}function p(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t(r))return r}}var m=class{constructor(){this.transfomers={}}register(e){this.transfomers[e.name]=e}findApplicable(e){return u(this.transfomers,t=>t.isApplicable(e))}findByName(e){return this.transfomers[e]}},ee=e=>Object.prototype.toString.call(e).slice(8,-1),h=e=>e===void 0,te=e=>e===null,g=e=>typeof e!=`object`||!e||e===Object.prototype?!1:Object.getPrototypeOf(e)===null?!0:Object.getPrototypeOf(e)===Object.prototype,_=e=>g(e)&&Object.keys(e).length===0,v=e=>Array.isArray(e),ne=e=>typeof e==`string`,re=e=>typeof e==`number`&&!isNaN(e),ie=e=>typeof e==`boolean`,ae=e=>e instanceof RegExp,y=e=>e instanceof Map,b=e=>e instanceof Set,oe=e=>ee(e)===`Symbol`,se=e=>e instanceof Date&&!isNaN(e.valueOf()),ce=e=>e instanceof Error,le=e=>typeof e==`number`&&isNaN(e),ue=e=>ie(e)||te(e)||h(e)||re(e)||ne(e)||oe(e),de=e=>typeof e==`bigint`,fe=e=>e===1/0||e===-1/0,pe=e=>ArrayBuffer.isView(e)&&!(e instanceof DataView),me=e=>e instanceof URL,x=e=>e.replace(/\\/g,`\\\\`).replace(/\./g,`\\.`),S=e=>e.map(String).map(x).join(`.`),C=(e,t)=>{let n=[],r=``;for(let i=0;i<e.length;i++){let a=e.charAt(i);if(!t&&a===`\\`){let t=e.charAt(i+1);if(t===`\\`){r+=`\\`,i++;continue}else if(t!==`.`)throw Error(`invalid path`)}if(a===`\\`&&e.charAt(i+1)===`.`){r+=`.`,i++;continue}if(a===`.`){n.push(r),r=``;continue}r+=a}let i=r;return n.push(i),n};function w(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var he=[w(h,`undefined`,()=>null,()=>void 0),w(de,`bigint`,e=>e.toString(),e=>typeof BigInt<`u`?BigInt(e):(console.error(`Please add a BigInt polyfill.`),e)),w(se,`Date`,e=>e.toISOString(),e=>new Date(e)),w(ce,`Error`,(e,t)=>{let n={name:e.name,message:e.message};return`cause`in e&&(n.cause=e.cause),t.allowedErrorProps.forEach(t=>{n[t]=e[t]}),n},(e,t)=>{let n=Error(e.message,{cause:e.cause});return n.name=e.name,n.stack=e.stack,t.allowedErrorProps.forEach(t=>{n[t]=e[t]}),n}),w(ae,`regexp`,e=>``+e,e=>{let t=e.slice(1,e.lastIndexOf(`/`)),n=e.slice(e.lastIndexOf(`/`)+1);return new RegExp(t,n)}),w(b,`set`,e=>[...e.values()],e=>new Set(e)),w(y,`map`,e=>[...e.entries()],e=>new Map(e)),w(e=>le(e)||fe(e),`number`,e=>le(e)?`NaN`:e>0?`Infinity`:`-Infinity`,Number),w(e=>e===0&&1/e==-1/0,`number`,()=>`-0`,Number),w(me,`URL`,e=>e.toString(),e=>new URL(e))];function T(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var ge=T((e,t)=>oe(e)?!!t.symbolRegistry.getIdentifier(e):!1,(e,t)=>[`symbol`,t.symbolRegistry.getIdentifier(e)],e=>e.description,(e,t,n)=>{let r=n.symbolRegistry.getValue(t[1]);if(!r)throw Error(`Trying to deserialize unknown symbol`);return r}),_e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,Uint8ClampedArray].reduce((e,t)=>(e[t.name]=t,e),{}),ve=T(pe,e=>[`typed-array`,e.constructor.name],e=>[...e],(e,t)=>{let n=_e[t[1]];if(!n)throw Error(`Trying to deserialize unknown typed array`);return new n(e)});function ye(e,t){return e?.constructor?!!t.classRegistry.getIdentifier(e.constructor):!1}var be=T(ye,(e,t)=>[`class`,t.classRegistry.getIdentifier(e.constructor)],(e,t)=>{let n=t.classRegistry.getAllowedProps(e.constructor);if(!n)return{...e};let r={};return n.forEach(t=>{r[t]=e[t]}),r},(e,t,n)=>{let r=n.classRegistry.getValue(t[1]);if(!r)throw Error(`Trying to deserialize unknown class '${t[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);return Object.assign(Object.create(r.prototype),e)}),xe=T((e,t)=>!!t.customTransformerRegistry.findApplicable(e),(e,t)=>[`custom`,t.customTransformerRegistry.findApplicable(e).name],(e,t)=>t.customTransformerRegistry.findApplicable(e).serialize(e),(e,t,n)=>{let r=n.customTransformerRegistry.findByName(t[1]);if(!r)throw Error(`Trying to deserialize unknown custom value`);return r.deserialize(e)}),Se=[be,ge,xe,ve],E=(e,t)=>{let n=p(Se,n=>n.isApplicable(e,t));if(n)return{value:n.transform(e,t),type:n.annotation(e,t)};let r=p(he,n=>n.isApplicable(e,t));if(r)return{value:r.transform(e,t),type:r.annotation}},D={};he.forEach(e=>{D[e.annotation]=e});var Ce=(e,t,n)=>{if(v(t))switch(t[0]){case`symbol`:return ge.untransform(e,t,n);case`class`:return be.untransform(e,t,n);case`custom`:return xe.untransform(e,t,n);case`typed-array`:return ve.untransform(e,t,n);default:throw Error(`Unknown transformation: `+t)}else{let r=D[t];if(!r)throw Error(`Unknown transformation: `+t);return r.untransform(e,n)}},O=(e,t)=>{if(t>e.size)throw Error(`index out of bounds`);let n=e.keys();for(;t>0;)n.next(),t--;return n.next().value};function k(e){if(f(e,`__proto__`))throw Error(`__proto__ is not allowed as a property`);if(f(e,`prototype`))throw Error(`prototype is not allowed as a property`);if(f(e,`constructor`))throw Error(`constructor is not allowed as a property`)}var we=(e,t)=>{k(t);for(let n=0;n<t.length;n++){let r=t[n];if(b(e))e=O(e,+r);else if(y(e)){let i=+r,a=+t[++n]==0?`key`:`value`,o=O(e,i);switch(a){case`key`:e=o;break;case`value`:e=e.get(o);break}}else e=e[r]}return e},A=(e,t,n)=>{if(k(t),t.length===0)return n(e);let r=e;for(let e=0;e<t.length-1;e++){let n=t[e];if(v(r)){let e=+n;r=r[e]}else if(g(r))r=r[n];else if(b(r)){let e=+n;r=O(r,e)}else if(y(r)){if(e===t.length-2)break;let i=+n,a=+t[++e]==0?`key`:`value`,o=O(r,i);switch(a){case`key`:r=o;break;case`value`:r=r.get(o);break}}}let i=t[t.length-1];if(v(r)?r[+i]=n(r[+i]):g(r)&&(r[i]=n(r[i])),b(r)){let e=O(r,+i),t=n(e);e!==t&&(r.delete(e),r.add(t))}if(y(r)){let e=+t[t.length-2],a=O(r,e);switch(+i==0?`key`:`value`){case`key`:{let e=n(a);r.set(e,r.get(a)),e!==a&&r.delete(a);break}case`value`:r.set(a,n(r.get(a)));break}}return e},j=e=>e<1;function M(e,t,n,r=[]){if(!e)return;let i=j(n);if(!v(e)){d(e,(e,a)=>M(e,t,n,[...r,...C(a,i)]));return}let[a,o]=e;o&&d(o,(e,a)=>{M(e,t,n,[...r,...C(a,i)])}),t(a,r)}function Te(e,t,n,r){return M(t,(t,n)=>{e=A(e,n,e=>Ce(e,t,r))},n),e}function Ee(e,t,n){let r=j(n);function i(t,n){let i=we(e,C(n,r));t.map(e=>C(e,r)).forEach(t=>{e=A(e,t,()=>i)})}if(v(t)){let[n,a]=t;n.forEach(t=>{e=A(e,C(t,r),()=>e)}),a&&d(a,i)}else d(t,i);return e}var De=(e,t)=>g(e)||v(e)||y(e)||b(e)||ce(e)||ye(e,t);function Oe(e,t,n){let r=n.get(e);r?r.push(t):n.set(e,[t])}function ke(e,t){let n={},r;return e.forEach(e=>{if(e.length<=1)return;t||(e=e.map(e=>e.map(String)).sort((e,t)=>e.length-t.length));let[i,...a]=e;i.length===0?r=a.map(S):n[S(i)]=a.map(S)}),r?_(n)?[r]:[r,n]:_(n)?void 0:n}var N=(e,t,n,r,i=[],a=[],o=new Map)=>{let s=ue(e);if(!s){Oe(e,i,t);let n=o.get(e);if(n)return r?{transformedValue:null}:n}if(!De(e,n)){let t=E(e,n),r=t?{transformedValue:t.value,annotations:[t.type]}:{transformedValue:e};return s||o.set(e,r),r}if(f(a,e))return{transformedValue:null};let c=E(e,n),l=c?.value??e,u=v(l)?[]:{},p={};d(l,(s,c)=>{if(c===`__proto__`||c===`constructor`||c===`prototype`)throw Error(`Detected property ${c}. This is a prototype pollution risk, please remove it from your object.`);let l=N(s,t,n,r,[...i,c],[...a,e],o);u[c]=l.transformedValue,v(l.annotations)?p[x(c)]=l.annotations:g(l.annotations)&&d(l.annotations,(e,t)=>{p[x(c)+`.`+t]=e})});let m=_(p)?{transformedValue:u,annotations:c?[c.type]:void 0}:{transformedValue:u,annotations:c?[c.type,p]:p};return s||o.set(e,m),m};function P(e){return Object.prototype.toString.call(e).slice(8,-1)}function Ae(e){return P(e)===`Array`}function je(e){if(P(e)!==`Object`)return!1;let t=Object.getPrototypeOf(e);return!!t&&t.constructor===Object&&t===Object.prototype}function Me(e,t,n,r,i){let a={}.propertyIsEnumerable.call(r,t)?`enumerable`:`nonenumerable`;a===`enumerable`&&(e[t]=n),i&&a===`nonenumerable`&&Object.defineProperty(e,t,{value:n,enumerable:!1,writable:!0,configurable:!0})}function F(e,t={}){if(Ae(e))return e.map(e=>F(e,t));if(!je(e))return e;let n=Object.getOwnPropertyNames(e),r=Object.getOwnPropertySymbols(e);return[...n,...r].reduce((n,r)=>{if(r===`__proto__`||Ae(t.props)&&!t.props.includes(r))return n;let i=e[r];return Me(n,r,F(i,t),e,t.nonenumerable),n},{})}var I=class{constructor({dedupe:e=!1}={}){this.classRegistry=new c,this.symbolRegistry=new s(e=>e.description??``),this.customTransformerRegistry=new m,this.allowedErrorProps=[],this.dedupe=e}serialize(e){let t=new Map,n=N(e,t,this,this.dedupe),r={json:n.transformedValue};n.annotations&&(r.meta={...r.meta,values:n.annotations});let i=ke(t,this.dedupe);return i&&(r.meta={...r.meta,referentialEqualities:i}),r.meta&&(r.meta.v=1),r}deserialize(e,t){let{json:n,meta:r}=e,i=t?.inPlace?n:F(n);return r?.values&&(i=Te(i,r.values,r.v??0,this)),r?.referentialEqualities&&(i=Ee(i,r.referentialEqualities,r.v??0)),i}stringify(e){return JSON.stringify(this.serialize(e))}parse(e){return this.deserialize(JSON.parse(e),{inPlace:!0})}registerClass(e,t){this.classRegistry.register(e,t)}registerSymbol(e,t){this.symbolRegistry.register(e,t)}registerCustom(e,t){this.customTransformerRegistry.register({name:t,...e})}allowErrorProps(...e){this.allowedErrorProps.push(...e)}};I.defaultInstance=new I,I.serialize=I.defaultInstance.serialize.bind(I.defaultInstance),I.deserialize=I.defaultInstance.deserialize.bind(I.defaultInstance),I.stringify=I.defaultInstance.stringify.bind(I.defaultInstance),I.parse=I.defaultInstance.parse.bind(I.defaultInstance),I.registerClass=I.defaultInstance.registerClass.bind(I.defaultInstance),I.registerSymbol=I.defaultInstance.registerSymbol.bind(I.defaultInstance),I.registerCustom=I.defaultInstance.registerCustom.bind(I.defaultInstance),I.allowErrorProps=I.defaultInstance.allowErrorProps.bind(I.defaultInstance),I.serialize,I.deserialize,I.stringify,I.parse,I.registerClass,I.registerCustom,I.registerSymbol,I.allowErrorProps;var Ne=1e4,Pe=6e3,Fe=2e3,Ie=3e4,L=class{_serverUrl;useWs;baseRetryMs;maxRetryMs;onConnectionChange;token;_trpcClient;_wsClient=null;mirror=null;mirrorInit=null;connected=!1;connectedPromise=null;_systemProxy;_connectionVersion=0;connectionListeners=new Set;constructor(e){this._serverUrl=e.serverUrl.replace(/\/+$/,``),this.token=e.token;let t=typeof window<`u`;this.useWs=e.useWebSocket??t,this.onConnectionChange=e.onConnectionChange,this.baseRetryMs=e.retryDelayMs??Fe,this.maxRetryMs=e.maxRetryDelayMs??Ie,this._trpcClient=this.buildTrpcClient(),this._systemProxy=a(this._trpcClient)}get serverUrl(){return this._serverUrl}get connectionVersion(){return this._connectionVersion}subscribeConnectionEvents(e){return this.connectionListeners.add(e),()=>{this.connectionListeners.delete(e)}}emitConnectionEvent(e){try{this.onConnectionChange?.(e)}catch{}for(let t of this.connectionListeners)try{t(e,this._connectionVersion)}catch{}}async awaitConnected(e){if(this.connected)return;if(this.connectedPromise)return this.connectedPromise;let t=e??15e3;this.connectedPromise=(async()=>{let e=this._trpcClient.auth.me.query();Number.isFinite(t)?await new Promise((n,r)=>{let i=setTimeout(()=>r(Error(`System.awaitConnected: probe timed out after ${t}ms`)),t);e.then(()=>{clearTimeout(i),n()},e=>{clearTimeout(i),r(e instanceof Error?e:Error(String(e)))})}):await e,this.connected=!0})();try{await this.connectedPromise}finally{this.connectedPromise=null}}async init(e){if(this.mirror?.isReady())return;if(this.mirrorInit)return this.mirrorInit;let t=new i(this._trpcClient);return this.mirror=t,this.mirrorInit=(async()=>{await this.awaitConnected(e),await t.init(e)})().finally(()=>{this.mirrorInit=null}),this.mirrorInit}async awaitReady(){if(!this.mirror?.isReady())return this.mirrorInit?this.mirrorInit:this.init()}isReady(){return this.mirror?.isReady()??!1}isConnected(){return this.connected}reconnect(){this.useWs&&(this.emitConnectionEvent(`connecting`),this._wsClient?.close(),this.disposeMirror(),this.connected=!1,this.connectedPromise=null,this._trpcClient=this.buildTrpcClient(),this._systemProxy=a(this._trpcClient))}switchServerUrl(e){let t=e.replace(/\/+$/,``);t!==this._serverUrl&&(this._serverUrl=t,this.reconnect())}async raceConnectionEndpoints(e){let t=e?.perCandidateTimeoutMs??1500,n=(()=>{try{return new URL(this._serverUrl)}catch{return null}})(),r=n?.port?Number(n.port):n?.protocol===`https:`?443:80,i=n?.protocol===`https:`?`https`:`http`,a=this._trpcClient.localNetwork?.getConnectionEndpoints;if(!a)return{winner:this._serverUrl,switched:!1};let o;try{o=(await a.query({port:r,ipv4Only:e?.ipv4Only,scheme:i})).endpoints}catch{return{winner:this._serverUrl,switched:!1}}if(o.length===0)return{winner:this._serverUrl,switched:!1};let s=await Re(o.map(e=>e.baseUrl),t);return!s||s===this._serverUrl?{winner:s??this._serverUrl,switched:!1}:(this.switchServerUrl(s),{winner:s,switched:!0})}close(){this.disposeMirror(),this.connected=!1,this.connectedPromise=null,this._wsClient?.close()}disposeMirror(){this.mirror?.dispose(),this.mirror=null,this.mirrorInit=null}async login(e,t){let n=await this._trpcClient.auth.login.mutate({username:e,password:t});if(typeof n==`object`&&n&&`token`in n){let e=n,t=e.token;typeof t==`string`&&e.requiresTotp!==!0&&this.setToken(t)}return n}async loginVerifyTotp(e,t){let n=await this._trpcClient.auth.loginVerifyTotp.mutate({challengeToken:e,code:t});if(typeof n==`object`&&n&&`token`in n){let e=n.token;typeof e==`string`&&this.setToken(e)}return n}async logout(){await this._trpcClient.auth.logout.mutate()}async getMe(){return await this._trpcClient.auth.me.query()}async changeOwnPassword(e){return await this._trpcClient.auth.changeOwnPassword.mutate(e)}async setupOwnTotp(){return await this._trpcClient.auth.setupOwnTotp.mutate()}async confirmOwnTotp(e){return await this._trpcClient.auth.confirmOwnTotp.mutate(e)}async disableOwnTotp(){return await this._trpcClient.auth.disableOwnTotp.mutate()}async getOwnTotpStatus(){return await this._trpcClient.auth.getOwnTotpStatus.query()}setToken(e){this.token=e}listDevices(e){return this.mirror?(e?this.mirror.query(e):this.mirror.getAllDevices()).map(e=>this.attachBinding(e)):[]}getDeviceInfo(e){return this.mirror?.getDeviceInfo(e)??null}listDeviceInfos(e){let t=this.mirror;if(!t)return[];let n=e?t.query(e):t.getAllDevices(),r=[];for(let e of n){let n=t.getDeviceInfo(e.deviceId);n&&r.push(n)}return r}getDevice(e){let t=this.mirror?.getDeviceById(e)??null;return t?this.attachBinding(t):null}getDeviceByName(e){let t=this.mirror?.getDeviceByName(e)??null;return t?this.attachBinding(t):null}getDeviceByStableId(e){let t=this.mirror?.getDeviceByStableId(e)??null;return t?this.attachBinding(t):null}async waitForDevice(e,t){this.mirror||await this.init();let n=await this.mirror.waitForDevice(e,t??3e4);return this.attachBinding(n)}onDeviceAdded(e){if(!this.mirror)throw Error(`System.onDeviceAdded: call init() before subscribing`);return this.mirror.onDeviceAdded(e)}onDeviceRemoved(e){if(!this.mirror)throw Error(`System.onDeviceRemoved: call init() before subscribing`);return this.mirror.onDeviceRemoved(e)}attachBinding(e){let t=this.lookupBinding(e.deviceId);if(t===e.binding)return e;let n=e;return n.binding=t,e}lookupBinding(e){return this.mirror?this.mirror.getDeviceById(e)?.binding??null:null}get addonPages(){return this._systemProxy.addonPages}get addonSettings(){return this._systemProxy.addonSettings}get alerts(){return this._systemProxy.alerts}get audioAnalyzer(){return this._systemProxy.audioAnalyzer}get audioCodec(){return this._systemProxy.audioCodec}get backup(){return this._systemProxy.backup}get decoder(){return this._systemProxy.decoder}get deviceManager(){return this._systemProxy.deviceManager}get deviceProvider(){return this._systemProxy.deviceProvider}get deviceState(){return this._systemProxy.deviceState}get metricsProvider(){return this._systemProxy.metricsProvider}get notificationOutput(){return this._systemProxy.notificationOutput}get pipelineExecutor(){return this._systemProxy.pipelineExecutor}get pipelineOrchestrator(){return this._systemProxy.pipelineOrchestrator}get pipelineRunner(){return this._systemProxy.pipelineRunner}get settingsStore(){return this._systemProxy.settingsStore}get storage(){return this._systemProxy.storage}get streamBroker(){return this._systemProxy.streamBroker}get turnProvider(){return this._systemProxy.turnProvider}get userManagement(){return this._systemProxy.userManagement}subscribeEvent(e,t){let n=this._trpcClient.live.onEvent.subscribe({category:e},{onData:e=>{try{t(e)}catch{}}});return()=>{try{n.unsubscribe()}catch{}}}get trpcClient(){return this._trpcClient}get wsClient(){return this._wsClient}buildTrpcClient(){let i=()=>{let e={};return this.token&&(e.Authorization=`Bearer ${this.token}`),e};if(this.useWs){let n=this._serverUrl.replace(/^http/,`ws`)+`/trpc`,i=this.baseRetryMs,a=this.maxRetryMs;return this._wsClient=e({url:n,connectionParams:()=>({token:this.token}),retryDelayMs:e=>Math.min(i*2**e,a),keepAlive:{enabled:!0,intervalMs:Ne,pongTimeoutMs:Pe},onOpen:()=>{this._connectionVersion+=1,this.emitConnectionEvent(`connected`)},onClose:()=>{this.emitConnectionEvent(`disconnected`)}}),r({links:[t({client:this._wsClient,transformer:I})]})}return this._wsClient=null,r({links:[n({url:`${this._serverUrl}/trpc`,headers:i,transformer:I})]})}};function Le(e){return new L(e)}async function Re(e,t){if(e.length===0)return null;if(typeof fetch!=`function`)return e[0]??null;let n=typeof window<`u`&&window.location!==void 0&&window.location.protocol===`https:`?e.filter(e=>e.toLowerCase().startsWith(`https://`)):e;if(n.length===0)return null;let r=n.map(()=>new AbortController),i=n.map(async(e,n)=>{let i=r[n],a=setTimeout(()=>i.abort(),t);try{let t=await fetch(`${e.replace(/\/+$/,``)}/trpc/health`,{method:`GET`,signal:i.signal,credentials:`omit`});if(!t.ok)throw Error(`${t.status}`);return e}finally{clearTimeout(a)}});try{let e=await Promise.any(i);for(let e of r)try{e.abort()}catch{}return e}catch{return null}}var ze=function(e){return e.Motion=`motion`,e.Person=`person`,e.Vehicle=`vehicle`,e.Animal=`animal`,e.Audio=`audio`,e.Face=`face`,e.Plate=`plate`,e.Package=`package`,e.Doorbell=`doorbell`,e.Sensor=`sensor`,e}({}),R=`animal.dog_cat.dog.cat.horse.sheep.cow.elephant.bear.zebra.giraffe.mouse.rabbit.deer.lion.tiger.bird.eagle.owl.pigeon.fish.whale.dolphin.snake.turtle.lizard`.split(`.`),z=[`person`,`people`,`pedestrian`,`rider`,`driver`,`cyclist`,`skier`,`skateboarder`,`face`,`hand`,`head`,`body`],B=[`vehicle`,`car`,`truck`,`bus`,`motorcycle`,`bicycle`,`van`,`ambulance`,`police_car`,`fire_truck`,`train`,`subway`,`tram`,`airplane`,`boat`,`ship`,`helicopter`],V=`face.eyes.nose.mouth.ears.eyebrows.left_eye.right_eye.pupil.iris.eyelid.eye_corner.upper_lip.lower_lip.teeth.chin.cheek.forehead.jaw.glasses.sunglasses.facial_hair.beard.mustache.facial_landmark.facial_keypoint`.split(`.`),H=[`plate`,`license_plate`,`front_plate`,`rear_plate`,`motorcycle_plate`,`temporary_plate`,`dealer_plate`,`licensePlate`,`plate_number`,`plate_character`,`plate_digit`,`plate_letter`,`plate_symbol`,`plate_region`,`plate_country_identifier`,`plate_frame`,`plate_bolt`,`plate_sticker`,`plate_validation_tag`,`damaged_plate`,`obscured_plate`,`dirty_plate`],U=[`motion`,`movement`,`other`],W=[`package`,`packet`],G=[`audio`],K=`speech.scream.babbling.yell.bellow.whoop.whispering.laughter.snicker.crying.cry.sigh.singing.choir.chant.mantra.child_singing.rapping.humming.groan.grunt.whistling.breathing.wheeze.snoring.gasp.pant.snort.cough.throat_clearing.sneeze.sniff.cheering.applause.chatter.crowd.children_playing.bark.yip.howl.bow-wow.growling.whimper_dog.purr.meow.hiss.caterwaul.pets.livestock.doorbell.ding-dong.door.slam.knock.alarm.telephone.music.dog.dogs`.split(`.`),q=[`doorbell`,`ring`],J=[`lock`,`binary`,`flood`,`entry`,`door`,`leak`,`door_open`,`flooded`,`entry_open`],Y={...R.reduce((e,t)=>({...e,[t]:`animal`}),{}),...z.reduce((e,t)=>({...e,[t]:`person`}),{}),...B.reduce((e,t)=>({...e,[t]:`vehicle`}),{}),...U.reduce((e,t)=>({...e,[t]:`motion`}),{}),...W.reduce((e,t)=>({...e,[t]:`package`}),{}),...V.reduce((e,t)=>({...e,[t]:`face`}),{}),...H.reduce((e,t)=>({...e,[t]:`plate`}),{}),...G.reduce((e,t)=>({...e,[t]:`audio`}),{}),...K.reduce((e,t)=>({...e,[t]:`audio`}),{}),...q.reduce((e,t)=>({...e,[t]:`doorbell`}),{}),...J.reduce((e,t)=>({...e,[t]:`sensor`}),{})},Be=e=>V.includes(e),Ve=e=>H.includes(e),He=e=>R.includes(e),Ue=e=>z.includes(e),We=e=>B.includes(e),Ge=e=>U.includes(e),Ke=e=>q.includes(e),qe=e=>W.includes(e),Je=e=>G.includes(e)||K.includes(e),Ye=e=>J.includes(e),Xe=e=>Be(e)||Ve(e),Ze=e=>Y[e],Qe=e=>{let{className:t}=e,n={face:`person`,plate:`vehicle`},r=Y[t];return r&&r!==t?r:n[t]},$e=Object.values(ze),X=$e.filter(e=>e!==`motion`),Z=[`person`,`doorbell`,`package`],et=[...Z,`vehicle`,`animal`,`audio`,`face`,`plate`],tt=[...X];function nt(e,t){switch(e){case`critical`:return Z;case`important`:return et;case`all`:return tt;case`custom`:return t?.length?t:X;default:return X}}var Q={Light:`light`,Switch:`switch`,WindowCovering:`cover`,Lock:`lock`,SecuritySystem:`alarm`,Buttons:`button`,Select:`select`,Siren:`siren`,Sensor:`sensor`,Entry:`entry`,Program:`script`,MediaPlayer:`media_player`,Outlet:`switch`,light:`light`,switch:`switch`,input_boolean:`switch`,cover:`cover`,lock:`lock`,alarm_control_panel:`alarm`,input_button:`button`,button:`button`,input_select:`select`,select:`select`,siren:`siren`,sensor:`sensor`,media_player:`media_player`,script:`script`},rt={light:`light`,switch:`switch`,input_boolean:`switch`,cover:`cover`,lock:`lock`,alarm_control_panel:`alarm`,input_button:`button`,button:`button`,input_select:`select`,select:`select`,siren:`siren`,sensor:`sensor`,binary_sensor:`sensor`,media_player:`media_player`,script:`script`,climate:`climate`,camera:`camera`,fan:`fan`,vacuum:`vacuum`,automation:`automation`,scene:`scene`,input_number:`sensor`,person:`person`,device_tracker:`tracker`,weather:`weather`,water_heater:`climate`},it={Light:`light`,Switch:`switch`,WindowCovering:`cover`,Lock:`lock`,SecuritySystem:`alarm`,Buttons:`button`,Select:`select`,Siren:`siren`,Sensor:`sensor`,Entry:`entry`,Program:`script`,MediaPlayer:`media_player`,Camera:`camera`,Doorbell:`doorbell`,Fan:`fan`,Outlet:`switch`};function at(e){return Q[e]||(Q[e.toLowerCase()]??null)}var ot=[`Entry`,`Light`,`Switch`,`Lock`,`SecuritySystem`,`Buttons`,`WindowCovering`,`Siren`,`Sensor`,`Select`,`Program`],st=new Set(ot),ct=[`light`,`switch`,`input_boolean`,`cover`,`lock`,`alarm_control_panel`,`input_button`,`button`,`input_select`,`select`,`siren`,`media_player`,`script`],lt=new Set(ct),$=[{id:`liveStream`,label:`Live Stream`,sources:{frigate:!0,scrypted:!0,rtsp:!0},adapterMethod:`getLiveStream`},{id:`multiResolution`,label:`Multi-Resolution`,sources:{frigate:!0,scrypted:!0,rtsp:!1},adapterMethod:`getResolutions`},{id:`motion`,label:`Motion Detection`,sources:{frigate:!1,scrypted:!0,rtsp:!1},adapterMethod:`getMotion`},{id:`objectDetection`,label:`Object Detection`,sources:{frigate:!1,scrypted:!0,rtsp:!1},adapterMethod:`getObjectDetections`},{id:`audioVolume`,label:`Audio Level`,sources:{frigate:!1,scrypted:!0,rtsp:!1},adapterMethod:`getAudioVolume`},{id:`audioVolumes`,label:`Audio Volumes (dBFS)`,sources:{frigate:!1,scrypted:!0,rtsp:!1},adapterMethod:`getAudioVolumes`},{id:`ptz`,label:`PTZ Control`,sources:{frigate:!1,scrypted:!0,rtsp:!1},adapterMethod:`getPTZ`},{id:`intercom`,label:`Intercom (Mic)`,sources:{frigate:!1,scrypted:!0,rtsp:!1},adapterMethod:`getIntercomSupport`},{id:`deviceStatus`,label:`Device Status`,sources:{frigate:!1,scrypted:!0,rtsp:!1},adapterMethod:`getStatus`},{id:`timeline`,label:`Detection Timeline`,sources:{frigate:!0,scrypted:!0,rtsp:!1},adapterMethod:`getCameraDayData`},{id:`clusteredTimeline`,label:`Clustered Timeline`,sources:{frigate:!0,scrypted:!0,rtsp:!1},requiresBackend:!0,adapterMethod:`getClusteredDayData`},{id:`detectionClasses`,label:`Detection Classes`,sources:{frigate:!0,scrypted:!0,rtsp:!1},adapterMethod:`getDetectionClasses`},{id:`videoClips`,label:`Video Clips`,sources:{frigate:!0,scrypted:!0,rtsp:!1},adapterMethod:`getVideoClips`},{id:`nvrPlayback`,label:`NVR Playback`,sources:{frigate:!0,scrypted:!0,rtsp:!1},adapterMethod:`getNvrPlaybackSupported`},{id:`nvrScrub`,label:`NVR Scrub/Seek`,sources:{frigate:!1,scrypted:!0,rtsp:!1},adapterMethod:`seekRecordingStream`},{id:`recordingThumbnail`,label:`Recording Thumbnails`,sources:{frigate:!0,scrypted:!0,rtsp:!1},adapterMethod:`getRecordingStreamThumbnail`},{id:`nvrSeekToLive`,label:`Seek to Live`,sources:{frigate:!1,scrypted:!0,rtsp:!1},adapterMethod:`seekNvrToLive`}];function ut(e,t,n){let r=$.find(t=>t.id===e);return!(!r||!r.sources[t]||r.platforms&&r.platforms[n]===!1)}function dt(e){return $.filter(t=>t.sources[e])}function ft(){return $.filter(e=>e.requiresBackend)}export{X as DEFAULT_ENABLED_CLASSES,ze as DetectionClass,ct as ELIGIBLE_HA_DOMAINS,lt as ELIGIBLE_HA_DOMAINS_SET,ot as ELIGIBLE_SCRYPTED_DEVICE_TYPES,st as ELIGIBLE_SCRYPTED_DEVICE_TYPES_SET,$ as FEATURE_MATRIX,rt as HA_DOMAIN_TYPE_MAP,Q as RAW_TO_CANONICAL,it as SCRYPTED_TYPE_TO_CANONICAL,L as System,tt as TIMELINE_PRESET_ALL,Z as TIMELINE_PRESET_CRITICAL,et as TIMELINE_PRESET_IMPORTANT,R as animalClasses,G as audioClasses,K as audioLabelClasses,Le as createSystem,$e as defaultDetectionClasses,Y as detectionClassesDefaultMap,q as doorbellClasses,V as faceClasses,ft as getBackendRequiredFeatures,at as getCanonicalDeviceType,nt as getClassesForTimelinePreset,Ze as getParentClass,Qe as getParentDetectionClass,dt as getSourceFeatures,He as isAnimalClassname,Je as isAudioClassname,Ke as isDoorbellClassname,Be as isFaceClassname,ut as isFeatureAvailable,Xe as isLabelDetection,Ge as isMotionClassname,qe as isPackageClassname,Ue as isPersonClassname,Ve as isPlateClassname,Ye as isSensorLabelClassname,We as isVehicleClassname,H as licensePlateClasses,U as motionClasses,W as packageClasses,z as personClasses,Re as raceFastestEndpoint,J as sensorLabelClasses,B as vehicleClasses};
1
+ import{T as e,b as t,o as n,x as r}from"./_virtual_mf___mfe_internal__admin_ui_host__loadShare___mf_0_trpc_mf_1_client__loadShare__.js-CSJxMxg6.js";import{d as i,f as a}from"./src-DsE0ulBa.js";var o=class{constructor(){this.keyToValue=new Map,this.valueToKey=new Map}set(e,t){this.keyToValue.set(e,t),this.valueToKey.set(t,e)}getByKey(e){return this.keyToValue.get(e)}getByValue(e){return this.valueToKey.get(e)}clear(){this.keyToValue.clear(),this.valueToKey.clear()}},s=class{constructor(e){this.generateIdentifier=e,this.kv=new o}register(e,t){this.kv.getByValue(e)||(t||=this.generateIdentifier(e),this.kv.set(t,e))}clear(){this.kv.clear()}getIdentifier(e){return this.kv.getByValue(e)}getValue(e){return this.kv.getByKey(e)}},c=class extends s{constructor(){super(e=>e.name),this.classToAllowedProps=new Map}register(e,t){typeof t==`object`?(t.allowProps&&this.classToAllowedProps.set(e,t.allowProps),super.register(e,t.identifier)):super.register(e,t)}getAllowedProps(e){return this.classToAllowedProps.get(e)}};function l(e){if(`values`in Object)return Object.values(e);let t=[];for(let n in e)e.hasOwnProperty(n)&&t.push(e[n]);return t}function u(e,t){let n=l(e);if(`find`in n)return n.find(t);let r=n;for(let e=0;e<r.length;e++){let n=r[e];if(t(n))return n}}function d(e,t){Object.entries(e).forEach(([e,n])=>t(n,e))}function f(e,t){return e.indexOf(t)!==-1}function p(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(t(r))return r}}var m=class{constructor(){this.transfomers={}}register(e){this.transfomers[e.name]=e}findApplicable(e){return u(this.transfomers,t=>t.isApplicable(e))}findByName(e){return this.transfomers[e]}},ee=e=>Object.prototype.toString.call(e).slice(8,-1),h=e=>e===void 0,te=e=>e===null,g=e=>typeof e!=`object`||!e||e===Object.prototype?!1:Object.getPrototypeOf(e)===null?!0:Object.getPrototypeOf(e)===Object.prototype,_=e=>g(e)&&Object.keys(e).length===0,v=e=>Array.isArray(e),ne=e=>typeof e==`string`,re=e=>typeof e==`number`&&!isNaN(e),ie=e=>typeof e==`boolean`,ae=e=>e instanceof RegExp,y=e=>e instanceof Map,b=e=>e instanceof Set,oe=e=>ee(e)===`Symbol`,se=e=>e instanceof Date&&!isNaN(e.valueOf()),ce=e=>e instanceof Error,le=e=>typeof e==`number`&&isNaN(e),ue=e=>ie(e)||te(e)||h(e)||re(e)||ne(e)||oe(e),de=e=>typeof e==`bigint`,fe=e=>e===1/0||e===-1/0,pe=e=>ArrayBuffer.isView(e)&&!(e instanceof DataView),me=e=>e instanceof URL,x=e=>e.replace(/\\/g,`\\\\`).replace(/\./g,`\\.`),S=e=>e.map(String).map(x).join(`.`),C=(e,t)=>{let n=[],r=``;for(let i=0;i<e.length;i++){let a=e.charAt(i);if(!t&&a===`\\`){let t=e.charAt(i+1);if(t===`\\`){r+=`\\`,i++;continue}else if(t!==`.`)throw Error(`invalid path`)}if(a===`\\`&&e.charAt(i+1)===`.`){r+=`.`,i++;continue}if(a===`.`){n.push(r),r=``;continue}r+=a}let i=r;return n.push(i),n};function w(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var he=[w(h,`undefined`,()=>null,()=>void 0),w(de,`bigint`,e=>e.toString(),e=>typeof BigInt<`u`?BigInt(e):(console.error(`Please add a BigInt polyfill.`),e)),w(se,`Date`,e=>e.toISOString(),e=>new Date(e)),w(ce,`Error`,(e,t)=>{let n={name:e.name,message:e.message};return`cause`in e&&(n.cause=e.cause),t.allowedErrorProps.forEach(t=>{n[t]=e[t]}),n},(e,t)=>{let n=Error(e.message,{cause:e.cause});return n.name=e.name,n.stack=e.stack,t.allowedErrorProps.forEach(t=>{n[t]=e[t]}),n}),w(ae,`regexp`,e=>``+e,e=>{let t=e.slice(1,e.lastIndexOf(`/`)),n=e.slice(e.lastIndexOf(`/`)+1);return new RegExp(t,n)}),w(b,`set`,e=>[...e.values()],e=>new Set(e)),w(y,`map`,e=>[...e.entries()],e=>new Map(e)),w(e=>le(e)||fe(e),`number`,e=>le(e)?`NaN`:e>0?`Infinity`:`-Infinity`,Number),w(e=>e===0&&1/e==-1/0,`number`,()=>`-0`,Number),w(me,`URL`,e=>e.toString(),e=>new URL(e))];function T(e,t,n,r){return{isApplicable:e,annotation:t,transform:n,untransform:r}}var ge=T((e,t)=>oe(e)?!!t.symbolRegistry.getIdentifier(e):!1,(e,t)=>[`symbol`,t.symbolRegistry.getIdentifier(e)],e=>e.description,(e,t,n)=>{let r=n.symbolRegistry.getValue(t[1]);if(!r)throw Error(`Trying to deserialize unknown symbol`);return r}),_e=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array,Uint8ClampedArray].reduce((e,t)=>(e[t.name]=t,e),{}),ve=T(pe,e=>[`typed-array`,e.constructor.name],e=>[...e],(e,t)=>{let n=_e[t[1]];if(!n)throw Error(`Trying to deserialize unknown typed array`);return new n(e)});function ye(e,t){return e?.constructor?!!t.classRegistry.getIdentifier(e.constructor):!1}var be=T(ye,(e,t)=>[`class`,t.classRegistry.getIdentifier(e.constructor)],(e,t)=>{let n=t.classRegistry.getAllowedProps(e.constructor);if(!n)return{...e};let r={};return n.forEach(t=>{r[t]=e[t]}),r},(e,t,n)=>{let r=n.classRegistry.getValue(t[1]);if(!r)throw Error(`Trying to deserialize unknown class '${t[1]}' - check https://github.com/blitz-js/superjson/issues/116#issuecomment-773996564`);return Object.assign(Object.create(r.prototype),e)}),xe=T((e,t)=>!!t.customTransformerRegistry.findApplicable(e),(e,t)=>[`custom`,t.customTransformerRegistry.findApplicable(e).name],(e,t)=>t.customTransformerRegistry.findApplicable(e).serialize(e),(e,t,n)=>{let r=n.customTransformerRegistry.findByName(t[1]);if(!r)throw Error(`Trying to deserialize unknown custom value`);return r.deserialize(e)}),Se=[be,ge,xe,ve],E=(e,t)=>{let n=p(Se,n=>n.isApplicable(e,t));if(n)return{value:n.transform(e,t),type:n.annotation(e,t)};let r=p(he,n=>n.isApplicable(e,t));if(r)return{value:r.transform(e,t),type:r.annotation}},D={};he.forEach(e=>{D[e.annotation]=e});var Ce=(e,t,n)=>{if(v(t))switch(t[0]){case`symbol`:return ge.untransform(e,t,n);case`class`:return be.untransform(e,t,n);case`custom`:return xe.untransform(e,t,n);case`typed-array`:return ve.untransform(e,t,n);default:throw Error(`Unknown transformation: `+t)}else{let r=D[t];if(!r)throw Error(`Unknown transformation: `+t);return r.untransform(e,n)}},O=(e,t)=>{if(t>e.size)throw Error(`index out of bounds`);let n=e.keys();for(;t>0;)n.next(),t--;return n.next().value};function k(e){if(f(e,`__proto__`))throw Error(`__proto__ is not allowed as a property`);if(f(e,`prototype`))throw Error(`prototype is not allowed as a property`);if(f(e,`constructor`))throw Error(`constructor is not allowed as a property`)}var we=(e,t)=>{k(t);for(let n=0;n<t.length;n++){let r=t[n];if(b(e))e=O(e,+r);else if(y(e)){let i=+r,a=+t[++n]==0?`key`:`value`,o=O(e,i);switch(a){case`key`:e=o;break;case`value`:e=e.get(o);break}}else e=e[r]}return e},A=(e,t,n)=>{if(k(t),t.length===0)return n(e);let r=e;for(let e=0;e<t.length-1;e++){let n=t[e];if(v(r)){let e=+n;r=r[e]}else if(g(r))r=r[n];else if(b(r)){let e=+n;r=O(r,e)}else if(y(r)){if(e===t.length-2)break;let i=+n,a=+t[++e]==0?`key`:`value`,o=O(r,i);switch(a){case`key`:r=o;break;case`value`:r=r.get(o);break}}}let i=t[t.length-1];if(v(r)?r[+i]=n(r[+i]):g(r)&&(r[i]=n(r[i])),b(r)){let e=O(r,+i),t=n(e);e!==t&&(r.delete(e),r.add(t))}if(y(r)){let e=+t[t.length-2],a=O(r,e);switch(+i==0?`key`:`value`){case`key`:{let e=n(a);r.set(e,r.get(a)),e!==a&&r.delete(a);break}case`value`:r.set(a,n(r.get(a)));break}}return e},j=e=>e<1;function M(e,t,n,r=[]){if(!e)return;let i=j(n);if(!v(e)){d(e,(e,a)=>M(e,t,n,[...r,...C(a,i)]));return}let[a,o]=e;o&&d(o,(e,a)=>{M(e,t,n,[...r,...C(a,i)])}),t(a,r)}function Te(e,t,n,r){return M(t,(t,n)=>{e=A(e,n,e=>Ce(e,t,r))},n),e}function Ee(e,t,n){let r=j(n);function i(t,n){let i=we(e,C(n,r));t.map(e=>C(e,r)).forEach(t=>{e=A(e,t,()=>i)})}if(v(t)){let[n,a]=t;n.forEach(t=>{e=A(e,C(t,r),()=>e)}),a&&d(a,i)}else d(t,i);return e}var De=(e,t)=>g(e)||v(e)||y(e)||b(e)||ce(e)||ye(e,t);function Oe(e,t,n){let r=n.get(e);r?r.push(t):n.set(e,[t])}function ke(e,t){let n={},r;return e.forEach(e=>{if(e.length<=1)return;t||(e=e.map(e=>e.map(String)).sort((e,t)=>e.length-t.length));let[i,...a]=e;i.length===0?r=a.map(S):n[S(i)]=a.map(S)}),r?_(n)?[r]:[r,n]:_(n)?void 0:n}var N=(e,t,n,r,i=[],a=[],o=new Map)=>{let s=ue(e);if(!s){Oe(e,i,t);let n=o.get(e);if(n)return r?{transformedValue:null}:n}if(!De(e,n)){let t=E(e,n),r=t?{transformedValue:t.value,annotations:[t.type]}:{transformedValue:e};return s||o.set(e,r),r}if(f(a,e))return{transformedValue:null};let c=E(e,n),l=c?.value??e,u=v(l)?[]:{},p={};d(l,(s,c)=>{if(c===`__proto__`||c===`constructor`||c===`prototype`)throw Error(`Detected property ${c}. This is a prototype pollution risk, please remove it from your object.`);let l=N(s,t,n,r,[...i,c],[...a,e],o);u[c]=l.transformedValue,v(l.annotations)?p[x(c)]=l.annotations:g(l.annotations)&&d(l.annotations,(e,t)=>{p[x(c)+`.`+t]=e})});let m=_(p)?{transformedValue:u,annotations:c?[c.type]:void 0}:{transformedValue:u,annotations:c?[c.type,p]:p};return s||o.set(e,m),m};function P(e){return Object.prototype.toString.call(e).slice(8,-1)}function Ae(e){return P(e)===`Array`}function je(e){if(P(e)!==`Object`)return!1;let t=Object.getPrototypeOf(e);return!!t&&t.constructor===Object&&t===Object.prototype}function Me(e,t,n,r,i){let a={}.propertyIsEnumerable.call(r,t)?`enumerable`:`nonenumerable`;a===`enumerable`&&(e[t]=n),i&&a===`nonenumerable`&&Object.defineProperty(e,t,{value:n,enumerable:!1,writable:!0,configurable:!0})}function F(e,t={}){if(Ae(e))return e.map(e=>F(e,t));if(!je(e))return e;let n=Object.getOwnPropertyNames(e),r=Object.getOwnPropertySymbols(e);return[...n,...r].reduce((n,r)=>{if(r===`__proto__`||Ae(t.props)&&!t.props.includes(r))return n;let i=e[r];return Me(n,r,F(i,t),e,t.nonenumerable),n},{})}var I=class{constructor({dedupe:e=!1}={}){this.classRegistry=new c,this.symbolRegistry=new s(e=>e.description??``),this.customTransformerRegistry=new m,this.allowedErrorProps=[],this.dedupe=e}serialize(e){let t=new Map,n=N(e,t,this,this.dedupe),r={json:n.transformedValue};n.annotations&&(r.meta={...r.meta,values:n.annotations});let i=ke(t,this.dedupe);return i&&(r.meta={...r.meta,referentialEqualities:i}),r.meta&&(r.meta.v=1),r}deserialize(e,t){let{json:n,meta:r}=e,i=t?.inPlace?n:F(n);return r?.values&&(i=Te(i,r.values,r.v??0,this)),r?.referentialEqualities&&(i=Ee(i,r.referentialEqualities,r.v??0)),i}stringify(e){return JSON.stringify(this.serialize(e))}parse(e){return this.deserialize(JSON.parse(e),{inPlace:!0})}registerClass(e,t){this.classRegistry.register(e,t)}registerSymbol(e,t){this.symbolRegistry.register(e,t)}registerCustom(e,t){this.customTransformerRegistry.register({name:t,...e})}allowErrorProps(...e){this.allowedErrorProps.push(...e)}};I.defaultInstance=new I,I.serialize=I.defaultInstance.serialize.bind(I.defaultInstance),I.deserialize=I.defaultInstance.deserialize.bind(I.defaultInstance),I.stringify=I.defaultInstance.stringify.bind(I.defaultInstance),I.parse=I.defaultInstance.parse.bind(I.defaultInstance),I.registerClass=I.defaultInstance.registerClass.bind(I.defaultInstance),I.registerSymbol=I.defaultInstance.registerSymbol.bind(I.defaultInstance),I.registerCustom=I.defaultInstance.registerCustom.bind(I.defaultInstance),I.allowErrorProps=I.defaultInstance.allowErrorProps.bind(I.defaultInstance),I.serialize,I.deserialize,I.stringify,I.parse,I.registerClass,I.registerCustom,I.registerSymbol,I.allowErrorProps;var Ne=1e4,Pe=6e3,Fe=2e3,Ie=3e4,L=class{_serverUrl;useWs;baseRetryMs;maxRetryMs;onConnectionChange;token;_trpcClient;_wsClient=null;mirror=null;mirrorInit=null;connected=!1;connectedPromise=null;_systemProxy;_connectionVersion=0;connectionListeners=new Set;constructor(e){this._serverUrl=e.serverUrl.replace(/\/+$/,``),this.token=e.token;let t=typeof window<`u`;this.useWs=e.useWebSocket??t,this.onConnectionChange=e.onConnectionChange,this.baseRetryMs=e.retryDelayMs??Fe,this.maxRetryMs=e.maxRetryDelayMs??Ie,this._trpcClient=this.buildTrpcClient(),this._systemProxy=a(this._trpcClient)}get serverUrl(){return this._serverUrl}get connectionVersion(){return this._connectionVersion}subscribeConnectionEvents(e){return this.connectionListeners.add(e),()=>{this.connectionListeners.delete(e)}}emitConnectionEvent(e){try{this.onConnectionChange?.(e)}catch{}for(let t of this.connectionListeners)try{t(e,this._connectionVersion)}catch{}}async awaitConnected(e){if(this.connected)return;if(this.connectedPromise)return this.connectedPromise;let t=e??15e3;this.connectedPromise=(async()=>{let e=this._trpcClient.auth.me.query();Number.isFinite(t)?await new Promise((n,r)=>{let i=setTimeout(()=>r(Error(`System.awaitConnected: probe timed out after ${t}ms`)),t);e.then(()=>{clearTimeout(i),n()},e=>{clearTimeout(i),r(e instanceof Error?e:Error(String(e)))})}):await e,this.connected=!0})();try{await this.connectedPromise}finally{this.connectedPromise=null}}async init(e){if(this.mirror?.isReady())return;if(this.mirrorInit)return this.mirrorInit;let t=new i(this._trpcClient);return this.mirror=t,this.mirrorInit=(async()=>{await this.awaitConnected(e),await t.init(e)})().finally(()=>{this.mirrorInit=null}),this.mirrorInit}async awaitReady(){if(!this.mirror?.isReady())return this.mirrorInit?this.mirrorInit:this.init()}isReady(){return this.mirror?.isReady()??!1}isConnected(){return this.connected}reconnect(){this.useWs&&(this.emitConnectionEvent(`connecting`),this._wsClient?.close(),this.disposeMirror(),this.connected=!1,this.connectedPromise=null,this._trpcClient=this.buildTrpcClient(),this._systemProxy=a(this._trpcClient))}switchServerUrl(e){let t=e.replace(/\/+$/,``);t!==this._serverUrl&&(this._serverUrl=t,this.reconnect())}async raceConnectionEndpoints(e){let t=e?.perCandidateTimeoutMs??1500,n=(()=>{try{return new URL(this._serverUrl)}catch{return null}})(),r=n?.port?Number(n.port):n?.protocol===`https:`?443:80,i=n?.protocol===`https:`?`https`:`http`,a=this._trpcClient.localNetwork?.getConnectionEndpoints;if(!a)return{winner:this._serverUrl,switched:!1};let o;try{o=(await a.query({port:r,ipv4Only:e?.ipv4Only,scheme:i})).endpoints}catch{return{winner:this._serverUrl,switched:!1}}if(o.length===0)return{winner:this._serverUrl,switched:!1};let s=await Re(o.map(e=>e.baseUrl),t);return!s||s===this._serverUrl?{winner:s??this._serverUrl,switched:!1}:(this.switchServerUrl(s),{winner:s,switched:!0})}close(){this.disposeMirror(),this.connected=!1,this.connectedPromise=null,this._wsClient?.close()}disposeMirror(){this.mirror?.dispose(),this.mirror=null,this.mirrorInit=null}async login(e,t){let n=await this._trpcClient.auth.login.mutate({username:e,password:t});if(typeof n==`object`&&n&&`token`in n){let e=n,t=e.token;typeof t==`string`&&e.requiresTotp!==!0&&this.setToken(t)}return n}async loginVerifyTotp(e,t){let n=await this._trpcClient.auth.loginVerifyTotp.mutate({challengeToken:e,code:t});if(typeof n==`object`&&n&&`token`in n){let e=n.token;typeof e==`string`&&this.setToken(e)}return n}async logout(){await this._trpcClient.auth.logout.mutate()}async getMe(){return await this._trpcClient.auth.me.query()}async changeOwnPassword(e){return await this._trpcClient.auth.changeOwnPassword.mutate(e)}async setupOwnTotp(){return await this._trpcClient.auth.setupOwnTotp.mutate()}async confirmOwnTotp(e){return await this._trpcClient.auth.confirmOwnTotp.mutate(e)}async disableOwnTotp(){return await this._trpcClient.auth.disableOwnTotp.mutate()}async getOwnTotpStatus(){return await this._trpcClient.auth.getOwnTotpStatus.query()}setToken(e){this.token=e}listDevices(e){return this.mirror?(e?this.mirror.query(e):this.mirror.getAllDevices()).map(e=>this.attachBinding(e)):[]}getDeviceInfo(e){return this.mirror?.getDeviceInfo(e)??null}listDeviceInfos(e){let t=this.mirror;if(!t)return[];let n=e?t.query(e):t.getAllDevices(),r=[];for(let e of n){let n=t.getDeviceInfo(e.deviceId);n&&r.push(n)}return r}getDevice(e){let t=this.mirror?.getDeviceById(e)??null;return t?this.attachBinding(t):null}getDeviceByName(e){let t=this.mirror?.getDeviceByName(e)??null;return t?this.attachBinding(t):null}getDeviceByStableId(e){let t=this.mirror?.getDeviceByStableId(e)??null;return t?this.attachBinding(t):null}async waitForDevice(e,t){this.mirror||await this.init();let n=await this.mirror.waitForDevice(e,t??3e4);return this.attachBinding(n)}onDeviceAdded(e){if(!this.mirror)throw Error(`System.onDeviceAdded: call init() before subscribing`);return this.mirror.onDeviceAdded(e)}onDeviceRemoved(e){if(!this.mirror)throw Error(`System.onDeviceRemoved: call init() before subscribing`);return this.mirror.onDeviceRemoved(e)}attachBinding(e){let t=this.lookupBinding(e.deviceId);if(t===e.binding)return e;let n=e;return n.binding=t,e}lookupBinding(e){return this.mirror?this.mirror.getDeviceById(e)?.binding??null:null}get addonPages(){return this._systemProxy.addonPages}get addonSettings(){return this._systemProxy.addonSettings}get alerts(){return this._systemProxy.alerts}get audioAnalyzer(){return this._systemProxy.audioAnalyzer}get audioCodec(){return this._systemProxy.audioCodec}get backup(){return this._systemProxy.backup}get decoder(){return this._systemProxy.decoder}get deviceManager(){return this._systemProxy.deviceManager}get deviceProvider(){return this._systemProxy.deviceProvider}get deviceState(){return this._systemProxy.deviceState}get metricsProvider(){return this._systemProxy.metricsProvider}get notificationOutput(){return this._systemProxy.notificationOutput}get pipelineExecutor(){return this._systemProxy.pipelineExecutor}get pipelineOrchestrator(){return this._systemProxy.pipelineOrchestrator}get pipelineRunner(){return this._systemProxy.pipelineRunner}get settingsStore(){return this._systemProxy.settingsStore}get storage(){return this._systemProxy.storage}get streamBroker(){return this._systemProxy.streamBroker}get turnProvider(){return this._systemProxy.turnProvider}get userManagement(){return this._systemProxy.userManagement}subscribeEvent(e,t){let n=this._trpcClient.live.onEvent.subscribe({category:e},{onData:e=>{try{t(e)}catch{}}});return()=>{try{n.unsubscribe()}catch{}}}get trpcClient(){return this._trpcClient}get wsClient(){return this._wsClient}buildTrpcClient(){let i=()=>{let e={};return this.token&&(e.Authorization=`Bearer ${this.token}`),e};if(this.useWs){let n=this._serverUrl.replace(/^http/,`ws`)+`/trpc`,i=this.baseRetryMs,a=this.maxRetryMs;return this._wsClient=e({url:n,connectionParams:()=>({token:this.token}),retryDelayMs:e=>Math.min(i*2**e,a),keepAlive:{enabled:!0,intervalMs:Ne,pongTimeoutMs:Pe},onOpen:()=>{this._connectionVersion+=1,this.emitConnectionEvent(`connected`)},onClose:()=>{this.emitConnectionEvent(`disconnected`)}}),r({links:[t({client:this._wsClient,transformer:I})]})}return this._wsClient=null,r({links:[n({url:`${this._serverUrl}/trpc`,headers:i,transformer:I})]})}};function Le(e){return new L(e)}async function Re(e,t){if(e.length===0)return null;if(typeof fetch!=`function`)return e[0]??null;let n=typeof window<`u`&&window.location!==void 0&&window.location.protocol===`https:`?e.filter(e=>e.toLowerCase().startsWith(`https://`)):e;if(n.length===0)return null;let r=n.map(()=>new AbortController),i=n.map(async(e,n)=>{let i=r[n],a=setTimeout(()=>i.abort(),t);try{let t=await fetch(`${e.replace(/\/+$/,``)}/trpc/health`,{method:`GET`,signal:i.signal,credentials:`omit`});if(!t.ok)throw Error(`${t.status}`);return e}finally{clearTimeout(a)}});try{let e=await Promise.any(i);for(let e of r)try{e.abort()}catch{}return e}catch{return null}}var ze=function(e){return e.Motion=`motion`,e.Person=`person`,e.Vehicle=`vehicle`,e.Animal=`animal`,e.Audio=`audio`,e.Face=`face`,e.Plate=`plate`,e.Package=`package`,e.Doorbell=`doorbell`,e.Sensor=`sensor`,e}({}),R=`animal.dog_cat.dog.cat.horse.sheep.cow.elephant.bear.zebra.giraffe.mouse.rabbit.deer.lion.tiger.bird.eagle.owl.pigeon.fish.whale.dolphin.snake.turtle.lizard`.split(`.`),z=[`person`,`people`,`pedestrian`,`rider`,`driver`,`cyclist`,`skier`,`skateboarder`,`face`,`hand`,`head`,`body`],B=[`vehicle`,`car`,`truck`,`bus`,`motorcycle`,`bicycle`,`van`,`ambulance`,`police_car`,`fire_truck`,`train`,`subway`,`tram`,`airplane`,`boat`,`ship`,`helicopter`],V=`face.eyes.nose.mouth.ears.eyebrows.left_eye.right_eye.pupil.iris.eyelid.eye_corner.upper_lip.lower_lip.teeth.chin.cheek.forehead.jaw.glasses.sunglasses.facial_hair.beard.mustache.facial_landmark.facial_keypoint`.split(`.`),H=[`plate`,`license_plate`,`front_plate`,`rear_plate`,`motorcycle_plate`,`temporary_plate`,`dealer_plate`,`licensePlate`,`plate_number`,`plate_character`,`plate_digit`,`plate_letter`,`plate_symbol`,`plate_region`,`plate_country_identifier`,`plate_frame`,`plate_bolt`,`plate_sticker`,`plate_validation_tag`,`damaged_plate`,`obscured_plate`,`dirty_plate`],U=[`motion`,`movement`,`other`],W=[`package`,`packet`],G=[`audio`],K=`speech.scream.babbling.yell.bellow.whoop.whispering.laughter.snicker.crying.cry.sigh.singing.choir.chant.mantra.child_singing.rapping.humming.groan.grunt.whistling.breathing.wheeze.snoring.gasp.pant.snort.cough.throat_clearing.sneeze.sniff.cheering.applause.chatter.crowd.children_playing.bark.yip.howl.bow-wow.growling.whimper_dog.purr.meow.hiss.caterwaul.pets.livestock.doorbell.ding-dong.door.slam.knock.alarm.telephone.music.dog.dogs`.split(`.`),q=[`doorbell`,`ring`],J=[`lock`,`binary`,`flood`,`entry`,`door`,`leak`,`door_open`,`flooded`,`entry_open`],Y={...R.reduce((e,t)=>({...e,[t]:`animal`}),{}),...z.reduce((e,t)=>({...e,[t]:`person`}),{}),...B.reduce((e,t)=>({...e,[t]:`vehicle`}),{}),...U.reduce((e,t)=>({...e,[t]:`motion`}),{}),...W.reduce((e,t)=>({...e,[t]:`package`}),{}),...V.reduce((e,t)=>({...e,[t]:`face`}),{}),...H.reduce((e,t)=>({...e,[t]:`plate`}),{}),...G.reduce((e,t)=>({...e,[t]:`audio`}),{}),...K.reduce((e,t)=>({...e,[t]:`audio`}),{}),...q.reduce((e,t)=>({...e,[t]:`doorbell`}),{}),...J.reduce((e,t)=>({...e,[t]:`sensor`}),{})},Be=e=>V.includes(e),Ve=e=>H.includes(e),He=e=>R.includes(e),Ue=e=>z.includes(e),We=e=>B.includes(e),Ge=e=>U.includes(e),Ke=e=>q.includes(e),qe=e=>W.includes(e),Je=e=>G.includes(e)||K.includes(e),Ye=e=>J.includes(e),Xe=e=>Be(e)||Ve(e),Ze=e=>Y[e],Qe=e=>{let{className:t}=e,n={face:`person`,plate:`vehicle`},r=Y[t];return r&&r!==t?r:n[t]},$e=Object.values(ze),X=$e.filter(e=>e!==`motion`),Z=[`person`,`doorbell`,`package`],et=[...Z,`vehicle`,`animal`,`audio`,`face`,`plate`],tt=[...X];function nt(e,t){switch(e){case`critical`:return Z;case`important`:return et;case`all`:return tt;case`custom`:return t?.length?t:X;default:return X}}var Q={Light:`light`,Switch:`switch`,WindowCovering:`cover`,Lock:`lock`,SecuritySystem:`alarm`,Buttons:`button`,Select:`select`,Siren:`siren`,Sensor:`sensor`,Entry:`entry`,Program:`script`,MediaPlayer:`media_player`,Outlet:`switch`,light:`light`,switch:`switch`,input_boolean:`switch`,cover:`cover`,lock:`lock`,alarm_control_panel:`alarm`,input_button:`button`,button:`button`,input_select:`select`,select:`select`,siren:`siren`,sensor:`sensor`,media_player:`media_player`,script:`script`},rt={light:`light`,switch:`switch`,input_boolean:`switch`,cover:`cover`,lock:`lock`,alarm_control_panel:`alarm`,input_button:`button`,button:`button`,input_select:`select`,select:`select`,siren:`siren`,sensor:`sensor`,binary_sensor:`sensor`,media_player:`media_player`,script:`script`,climate:`climate`,camera:`camera`,fan:`fan`,vacuum:`vacuum`,automation:`automation`,scene:`scene`,input_number:`sensor`,person:`person`,device_tracker:`tracker`,weather:`weather`,water_heater:`climate`},it={Light:`light`,Switch:`switch`,WindowCovering:`cover`,Lock:`lock`,SecuritySystem:`alarm`,Buttons:`button`,Select:`select`,Siren:`siren`,Sensor:`sensor`,Entry:`entry`,Program:`script`,MediaPlayer:`media_player`,Camera:`camera`,Doorbell:`doorbell`,Fan:`fan`,Outlet:`switch`};function at(e){return Q[e]||(Q[e.toLowerCase()]??null)}var ot=[`Entry`,`Light`,`Switch`,`Lock`,`SecuritySystem`,`Buttons`,`WindowCovering`,`Siren`,`Sensor`,`Select`,`Program`],st=new Set(ot),ct=[`light`,`switch`,`input_boolean`,`cover`,`lock`,`alarm_control_panel`,`input_button`,`button`,`input_select`,`select`,`siren`,`media_player`,`script`],lt=new Set(ct),$=[{id:`liveStream`,label:`Live Stream`,sources:{frigate:!0,scrypted:!0,rtsp:!0},adapterMethod:`getLiveStream`},{id:`multiResolution`,label:`Multi-Resolution`,sources:{frigate:!0,scrypted:!0,rtsp:!1},adapterMethod:`getResolutions`},{id:`motion`,label:`Motion Detection`,sources:{frigate:!1,scrypted:!0,rtsp:!1},adapterMethod:`getMotion`},{id:`objectDetection`,label:`Object Detection`,sources:{frigate:!1,scrypted:!0,rtsp:!1},adapterMethod:`getObjectDetections`},{id:`audioVolume`,label:`Audio Level`,sources:{frigate:!1,scrypted:!0,rtsp:!1},adapterMethod:`getAudioVolume`},{id:`audioVolumes`,label:`Audio Volumes (dBFS)`,sources:{frigate:!1,scrypted:!0,rtsp:!1},adapterMethod:`getAudioVolumes`},{id:`ptz`,label:`PTZ Control`,sources:{frigate:!1,scrypted:!0,rtsp:!1},adapterMethod:`getPTZ`},{id:`intercom`,label:`Intercom (Mic)`,sources:{frigate:!1,scrypted:!0,rtsp:!1},adapterMethod:`getIntercomSupport`},{id:`deviceStatus`,label:`Device Status`,sources:{frigate:!1,scrypted:!0,rtsp:!1},adapterMethod:`getStatus`},{id:`timeline`,label:`Detection Timeline`,sources:{frigate:!0,scrypted:!0,rtsp:!1},adapterMethod:`getCameraDayData`},{id:`clusteredTimeline`,label:`Clustered Timeline`,sources:{frigate:!0,scrypted:!0,rtsp:!1},requiresBackend:!0,adapterMethod:`getClusteredDayData`},{id:`detectionClasses`,label:`Detection Classes`,sources:{frigate:!0,scrypted:!0,rtsp:!1},adapterMethod:`getDetectionClasses`},{id:`videoClips`,label:`Video Clips`,sources:{frigate:!0,scrypted:!0,rtsp:!1},adapterMethod:`getVideoClips`},{id:`nvrPlayback`,label:`NVR Playback`,sources:{frigate:!0,scrypted:!0,rtsp:!1},adapterMethod:`getNvrPlaybackSupported`},{id:`nvrScrub`,label:`NVR Scrub/Seek`,sources:{frigate:!1,scrypted:!0,rtsp:!1},adapterMethod:`seekRecordingStream`},{id:`recordingThumbnail`,label:`Recording Thumbnails`,sources:{frigate:!0,scrypted:!0,rtsp:!1},adapterMethod:`getRecordingStreamThumbnail`},{id:`nvrSeekToLive`,label:`Seek to Live`,sources:{frigate:!1,scrypted:!0,rtsp:!1},adapterMethod:`seekNvrToLive`}];function ut(e,t,n){let r=$.find(t=>t.id===e);return!(!r||!r.sources[t]||r.platforms&&r.platforms[n]===!1)}function dt(e){return $.filter(t=>t.sources[e])}function ft(){return $.filter(e=>e.requiresBackend)}export{X as DEFAULT_ENABLED_CLASSES,ze as DetectionClass,ct as ELIGIBLE_HA_DOMAINS,lt as ELIGIBLE_HA_DOMAINS_SET,ot as ELIGIBLE_SCRYPTED_DEVICE_TYPES,st as ELIGIBLE_SCRYPTED_DEVICE_TYPES_SET,$ as FEATURE_MATRIX,rt as HA_DOMAIN_TYPE_MAP,Q as RAW_TO_CANONICAL,it as SCRYPTED_TYPE_TO_CANONICAL,L as System,tt as TIMELINE_PRESET_ALL,Z as TIMELINE_PRESET_CRITICAL,et as TIMELINE_PRESET_IMPORTANT,R as animalClasses,G as audioClasses,K as audioLabelClasses,Le as createSystem,$e as defaultDetectionClasses,Y as detectionClassesDefaultMap,q as doorbellClasses,V as faceClasses,ft as getBackendRequiredFeatures,at as getCanonicalDeviceType,nt as getClassesForTimelinePreset,Ze as getParentClass,Qe as getParentDetectionClass,dt as getSourceFeatures,He as isAnimalClassname,Je as isAudioClassname,Ke as isDoorbellClassname,Be as isFaceClassname,ut as isFeatureAvailable,Xe as isLabelDetection,Ge as isMotionClassname,qe as isPackageClassname,Ue as isPersonClassname,Ve as isPlateClassname,Ye as isSensorLabelClassname,We as isVehicleClassname,H as licensePlateClasses,U as motionClasses,W as packageClasses,z as personClasses,Re as raceFastestEndpoint,J as sensorLabelClasses,B as vehicleClasses};
@@ -1 +1 @@
1
- import{B as e}from"./index-D5OTguVm.js";var t=e(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]);export{t};
1
+ import{B as e}from"./index-C9dLNgtt.js";var t=e(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]);export{t};