@camera.ui/server 2.0.5 → 2.0.7

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 (532) hide show
  1. package/dist/interface/assets/{404-DRRPa9Hr.js → 404-Bwt4L1PJ.js} +1 -1
  2. package/dist/interface/assets/{About-Db5MifHo.js → About-DXvLHUof.js} +1 -1
  3. package/dist/interface/assets/Adminpanel-BIcl_Mwn.js +1 -0
  4. package/dist/interface/assets/Automation-DZIieg3O.js +2 -0
  5. package/dist/interface/assets/{AutomationImport-BvuLSZcZ.js → AutomationImport-BlBlNStY.js} +2 -2
  6. package/dist/interface/assets/{AutomationStore-Ca07W8uH.js → AutomationStore-CkSq2Gra.js} +2 -2
  7. package/dist/interface/assets/{AutomationStoreDetail-DmFvT2az.js → AutomationStoreDetail-BT1wMcK2.js} +2 -2
  8. package/dist/interface/assets/{Automations-Dr8K-cDz.js → Automations-DSeK-PfA.js} +2 -2
  9. package/dist/interface/assets/Camera-Da5zEitE.css +1 -0
  10. package/dist/interface/assets/Camera-osDYTJPw.js +2 -0
  11. package/dist/interface/assets/{CameraConsole-BcvP76iJ.js → CameraConsole-DGQ3V0iM.js} +1 -1
  12. package/dist/interface/assets/Cameras-2kM76WUB.css +1 -0
  13. package/dist/interface/assets/Cameras-DNsE3_T0.js +652 -0
  14. package/dist/interface/assets/Camview-Dpe-mn9j.js +1 -0
  15. package/dist/interface/assets/Config-o6JSaUcr.js +2 -0
  16. package/dist/interface/assets/ConfigActionCameraControl-N-w9YidE.js +1 -0
  17. package/dist/interface/assets/{ConfigActionDelay-DTjjadCG.js → ConfigActionDelay-1kd69ysm.js} +1 -1
  18. package/dist/interface/assets/ConfigActionHttp-qUm57oW4.js +1 -0
  19. package/dist/interface/assets/{ConfigActionImageInput-DY8RQJ2h.js → ConfigActionImageInput-Cr8faOB5.js} +1 -1
  20. package/dist/interface/assets/ConfigActionMqtt-uRSh5B2A.js +1 -0
  21. package/dist/interface/assets/{ConfigActionNotification-CJL8uNR-.js → ConfigActionNotification-DrWQGvXh.js} +1 -1
  22. package/dist/interface/assets/ConfigActionOutput-NPiNPB7G.js +1 -0
  23. package/dist/interface/assets/{ConfigActionPlugin-D5oE8oXm.js → ConfigActionPlugin-fETPjKeY.js} +1 -1
  24. package/dist/interface/assets/ConfigActionSensor-BU01CTIY.js +1 -0
  25. package/dist/interface/assets/{ConfigActionSnapshot-DCCiYu-s.js → ConfigActionSnapshot-MHiUaSA7.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionVariable-F28sicqK.js → ConfigActionVariable-Du5R50EA.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionIfElse-BJhRgP7t.js → ConfigConditionIfElse-DjNPMKsc.js} +1 -1
  28. package/dist/interface/assets/ConfigConditionSensorState-CAAfaSvc.js +1 -0
  29. package/dist/interface/assets/{ConfigConditionSwitch-BKToCaFK.js → ConfigConditionSwitch-Dfr-9vLZ.js} +1 -1
  30. package/dist/interface/assets/ConfigConditionTime-Ce8AortY.js +1 -0
  31. package/dist/interface/assets/ConfigSensorValueInput-MZiAptuc.js +1 -0
  32. package/dist/interface/assets/{ConfigTriggerDetection-BWd3QqYf.js → ConfigTriggerDetection-Cv22vFn6.js} +1 -1
  33. package/dist/interface/assets/ConfigTriggerGeofence-BtPyKte4.js +1 -0
  34. package/dist/interface/assets/{ConfigTriggerManual-Bt62nmi8.js → ConfigTriggerManual-DZPdLXoe.js} +1 -1
  35. package/dist/interface/assets/ConfigTriggerMqtt-p4FUGJg6.js +1 -0
  36. package/dist/interface/assets/{ConfigTriggerSchedule-oBDIqAMo.js → ConfigTriggerSchedule-DQX6czW4.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSensor-BlTHlstZ.js → ConfigTriggerSensor-BrYITWwc.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSystem--nEg_iQ0.js → ConfigTriggerSystem-DJ0lU8F0.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerWebhook-83rLUOjQ.js → ConfigTriggerWebhook-Czyo2Bs-.js} +1 -1
  40. package/dist/interface/assets/Console-ChT_3diZ.js +1 -0
  41. package/dist/interface/assets/{CuiActionButton-CNjL01gn.js → CuiActionButton-BAlSwXzv.js} +1 -1
  42. package/dist/interface/assets/{CuiAvatar-BDT9c-UI.js → CuiAvatar-1UQTTFMr.js} +1 -1
  43. package/dist/interface/assets/{CuiBBoxPlayground-CMnBcPwI.js → CuiBBoxPlayground-yYOBCXTq.js} +1 -1
  44. package/dist/interface/assets/CuiBottomSheet-1GDyn88O.js +1 -0
  45. package/dist/interface/assets/{CuiBottomSheet-h5sjwTf4.js → CuiBottomSheet-D1F_ll0S.js} +1 -1
  46. package/dist/interface/assets/CuiCameraCard-8iX_qqBM.js +1 -0
  47. package/dist/interface/assets/{CuiCameraPipCard-DElQvAB0.js → CuiCameraPipCard-ULjqsCqF.js} +1 -1
  48. package/dist/interface/assets/CuiCameraRecordings-D2SS0ZeD.js +1 -0
  49. package/dist/interface/assets/{CuiCameraShares-Cw-Mffg8.js → CuiCameraShares-DoX75x2g.js} +1 -1
  50. package/dist/interface/assets/CuiCameraSnapshot-Duouoet1.js +1 -0
  51. package/dist/interface/assets/CuiCameraTable-BZbdmy4s.js +2 -0
  52. package/dist/interface/assets/{CuiDataTable-C5qi7zpz.js → CuiDataTable-CB7aMmp9.js} +1 -1
  53. package/dist/interface/assets/{CuiFloatingButton-Pmur2pAJ.js → CuiFloatingButton-DdI-E8dh.js} +1 -1
  54. package/dist/interface/assets/{CuiImage-DVoYtgtl.js → CuiImage-BVVPyvep.js} +1 -1
  55. package/dist/interface/assets/{CuiMarkdownContent-ecpe3mHA.js → CuiMarkdownContent-B4fVlO8h.js} +1 -1
  56. package/dist/interface/assets/CuiMarkdownContent-CMPFzD-0.js +1 -0
  57. package/dist/interface/assets/{CuiMenu-B7AhQbgB.js → CuiMenu-D9y4WDoP.js} +1 -1
  58. package/dist/interface/assets/CuiPluginCard-BkhKzqHn.js +2 -0
  59. package/dist/interface/assets/{CuiPluginCard-BBV_hV1R.css → CuiPluginCard-C9zsmIaC.css} +1 -1
  60. package/dist/interface/assets/{CuiPluginCategoryChip-nEwIiKiK.js → CuiPluginCategoryChip-yMnZpSGr.js} +1 -1
  61. package/dist/interface/assets/{CuiPluginOAuthButton-CJGsl-89.js → CuiPluginOAuthButton-BzoWSejV.js} +2 -2
  62. package/dist/interface/assets/{CuiPluginTrustBadge-DExKttfC.js → CuiPluginTrustBadge-Bcnptf84.js} +1 -1
  63. package/dist/interface/assets/{CuiQRCode-DkRZ5hfS.js → CuiQRCode-CBD3pXKm.js} +1 -1
  64. package/dist/interface/assets/CuiRecordingsGrid-C7b258rk.js +1 -0
  65. package/dist/interface/assets/{CuiRecordingsGrid-lcLty5PV.css → CuiRecordingsGrid-COHg3ZCT.css} +1 -1
  66. package/dist/interface/assets/CuiSchema-sipNW_5x.js +1 -0
  67. package/dist/interface/assets/{CuiTopNavbarItem-w21c3xtQ.js → CuiTopNavbarItem--MOi9UUw.js} +1 -1
  68. package/dist/interface/assets/{CuiTopbarSlot-CYPUqVPx.js → CuiTopbarSlot-Bcw46PzA.js} +1 -1
  69. package/dist/interface/assets/Faces-BV-dx0a6.js +1 -0
  70. package/dist/interface/assets/FirstSteps-L8ko4cum.js +1 -0
  71. package/dist/interface/assets/{Instances-FeIAnJix.js → Instances-CWdIVekg.js} +1 -1
  72. package/dist/interface/assets/Logs-DjtSfpCe.js +6 -0
  73. package/dist/interface/assets/{Menu-Gqs2UiSW.js → Menu-Ci8FIulr.js} +1 -1
  74. package/dist/interface/assets/{OAuthDeviceFlow-hNJ_UrdG.js → OAuthDeviceFlow-bevFeCiw.js} +1 -1
  75. package/dist/interface/assets/Plugin-DYR_1oRT.js +1 -0
  76. package/dist/interface/assets/Plugin-DbSiTjYn.css +1 -0
  77. package/dist/interface/assets/{PluginConsole-Bwd5Mktk.js → PluginConsole-C8GuAzBZ.js} +1 -1
  78. package/dist/interface/assets/PluginDetail-BsIkPUY8.css +1 -0
  79. package/dist/interface/assets/PluginDetail-COgvgpQg.js +2 -0
  80. package/dist/interface/assets/{PluginSchema-D92qcqf9.js → PluginSchema-DM406ULU.js} +1 -1
  81. package/dist/interface/assets/PluginSearch-DowK0yhn.js +2 -0
  82. package/dist/interface/assets/PluginSearch-dkPdwrjj.js +1 -0
  83. package/dist/interface/assets/Plugins-BUgOxY_-.js +1 -0
  84. package/dist/interface/assets/Recordings-DO1BPBKp.css +1 -0
  85. package/dist/interface/assets/Recordings-DvECWzpM.js +1 -0
  86. package/dist/interface/assets/{Settings-D2LHMohy2.js → Settings-nhIKBth_2.js} +1 -1
  87. package/dist/interface/assets/SettingsAccount-B3yFFMS8.js +1 -0
  88. package/dist/interface/assets/SettingsAccount-Bh6QsmCo.js +1 -0
  89. package/dist/interface/assets/SettingsAppearance-CWAGTnDU.js +1 -0
  90. package/dist/interface/assets/{SettingsAppearance--Eidr-fz.js → SettingsAppearance-D9VGcz8w.js} +1 -1
  91. package/dist/interface/assets/SettingsBackup-kZQoQ4RY.js +1 -0
  92. package/dist/interface/assets/SettingsMqtt-C234dN5h.js +1 -0
  93. package/dist/interface/assets/SettingsNotifications-CZigp16N.js +2 -0
  94. package/dist/interface/assets/SettingsRecordings-CLk_8Yeo.js +1 -0
  95. package/dist/interface/assets/SettingsRemote-HTQY2mvW.js +1 -0
  96. package/dist/interface/assets/SettingsRemote-T38YVHal.css +1 -0
  97. package/dist/interface/assets/SettingsSystem-D52Vn9V5.js +2 -0
  98. package/dist/interface/assets/SettingsUsers-CUd4VvGK.js +1 -0
  99. package/dist/interface/assets/Terminal-1yUKu_cE.js +4 -0
  100. package/dist/interface/assets/VariableInput-fT57kg7f.js +1 -0
  101. package/dist/interface/assets/{VariableSuggestions-SJPd5c8d.js → VariableSuggestions-DwhFBKzJ.js} +1 -1
  102. package/dist/interface/assets/VersionsHandler-CuV7deaY.js +7 -0
  103. package/dist/interface/assets/{Workers-DWSJsRko.js → Workers-FgWY2jig.js} +2 -2
  104. package/dist/interface/assets/{account-CMuSWY7R.js → account-DqyKcqe6.js} +1 -1
  105. package/dist/interface/assets/ace-6JpPWRIj.js +1 -0
  106. package/dist/interface/assets/{ace.config-D884GuRj.js → ace.config-BnKJ0Xjj.js} +1 -1
  107. package/dist/interface/assets/{alert-circle-BBVlWmUb.js → alert-circle-DeKKKwiu.js} +1 -1
  108. package/dist/interface/assets/{alert-outline-MJaaWeWU.js → alert-outline-C4_42ECn.js} +1 -1
  109. package/dist/interface/assets/{api-Cv3vt1pa.js → api-BkmWxHU6.js} +1 -1
  110. package/dist/interface/assets/api-BxUTlh4_.js +2 -0
  111. package/dist/interface/assets/api-C31uUd3g.css +2 -0
  112. package/dist/interface/assets/{arrow-left-Bzo6lbMk.js → arrow-left-DroMCfOc.js} +1 -1
  113. package/dist/interface/assets/{arrow-right-outline-DU6p5Mjp.js → arrow-right-outline-CvgD4nuT.js} +1 -1
  114. package/dist/interface/assets/auth-DZBJ2qjy.js +1 -0
  115. package/dist/interface/assets/{automation-BjkFcQH9.js → automation-BjZc8WL7.js} +1 -1
  116. package/dist/interface/assets/automations-BnCx_cHm.js +1 -0
  117. package/dist/interface/assets/{automations-irBgx9Ew.js → automations-Dd-6vvka.js} +1 -1
  118. package/dist/interface/assets/{back-filled-DI8fXlRr.js → back-filled-LVLhJP7G.js} +1 -1
  119. package/dist/interface/assets/{bell-Xdsks-42.js → bell-_E2Lq4ub.js} +1 -1
  120. package/dist/interface/assets/{bell-ring-DR_BFore.js → bell-ring-DgLkBDcU.js} +1 -1
  121. package/dist/interface/assets/{bug-BkbVdwX_.js → bug-Eq4PDwA4.js} +1 -1
  122. package/dist/interface/assets/{cameras-DxjpuzW1.js → cameras-C0LS9WsX.js} +1 -1
  123. package/dist/interface/assets/cameras.schema-B1jQYShz.js +1 -0
  124. package/dist/interface/assets/{cctv-D8gURS6i.js → cctv-BZIDJlxZ.js} +1 -1
  125. package/dist/interface/assets/{cctv-izLKpHLU.js → cctv-DbFrrwEm.js} +1 -1
  126. package/dist/interface/assets/{check-vQdlfVb0.js → check-COWE52r_.js} +1 -1
  127. package/dist/interface/assets/{check-circle-pC6Mk9ok.js → check-circle-CAbOGJc_.js} +1 -1
  128. package/dist/interface/assets/{chevron-down-5hhpriLd.js → chevron-down-Bu7d-Y9N.js} +1 -1
  129. package/dist/interface/assets/{chevron-right-B8jZK42K.js → chevron-right-90_Zn7fJ.js} +1 -1
  130. package/dist/interface/assets/{circular-connection-CShziQTj.js → circular-connection-Fq-Vqe3X.js} +1 -1
  131. package/dist/interface/assets/{clock-outline-C1Qoi42Q.js → clock-outline-CqPKrGj2.js} +1 -1
  132. package/dist/interface/assets/{close-CunDSika.js → close-BTPBtoEq.js} +1 -1
  133. package/dist/interface/assets/{close-circle-ClO0DCH3.js → close-circle-BAE2M1UZ.js} +1 -1
  134. package/dist/interface/assets/{cloud-check-DH_MvuMa.js → cloud-check-C2zK34QI.js} +1 -1
  135. package/dist/interface/assets/{cloud-outline-C6S72e1A.js → cloud-outline-64fdhdhh.js} +1 -1
  136. package/dist/interface/assets/{cloud-outline-CNhBvx4x.js → cloud-outline-BooRVJGO.js} +1 -1
  137. package/dist/interface/assets/cloudHandoff-CHjHRMBL.js +1 -0
  138. package/dist/interface/assets/{cog-Bgvz011z.js → cog-BOiZ8Brk.js} +1 -1
  139. package/dist/interface/assets/{cog-outline-uZ6J7_NJ.js → cog-outline-CXjehRoX.js} +1 -1
  140. package/dist/interface/assets/{config-DwlSsbcP.js → config-C6KVzOJb.js} +1 -1
  141. package/dist/interface/assets/{copy-16-filled-I80UlDbg.js → copy-16-filled-DfOe7jyi.js} +1 -1
  142. package/dist/interface/assets/{copy-B4-Xsyae.js → copy-D1B4K3K8.js} +1 -1
  143. package/dist/interface/assets/{delete-BdZ-cqP2.js → delete-BEupTYe7.js} +1 -1
  144. package/dist/interface/assets/{deviceId-I24oaPe6.js → deviceId-DT9HiB_U.js} +1 -1
  145. package/dist/interface/assets/{dist-D7Ztbw2o.js → dist-PhgrarGW.js} +1 -1
  146. package/dist/interface/assets/{download-C1GMtykU.js → download-BKGJ_BFg.js} +1 -1
  147. package/dist/interface/assets/{download-CNVBKEUL.js → download-DLRWZxWu.js} +1 -1
  148. package/dist/interface/assets/esm-2cKQcsYl.js +1 -0
  149. package/dist/interface/assets/esm-BC-ykYHP.js +1 -0
  150. package/dist/interface/assets/esm-BQAccPYQ2.js +1 -0
  151. package/dist/interface/assets/esm-B_RAh7V8.js +1 -0
  152. package/dist/interface/assets/esm-BsEkUnid.js +1 -0
  153. package/dist/interface/assets/esm-C1u--4jU.js +1 -0
  154. package/dist/interface/assets/esm-Cmrq9Tli.js +1 -0
  155. package/dist/interface/assets/esm-CrZMuT0_.js +1 -0
  156. package/dist/interface/assets/esm-CxS-x_QY.js +1 -0
  157. package/dist/interface/assets/esm-D-xtFbBs.js +1 -0
  158. package/dist/interface/assets/esm-D6PR9MbI.js +1 -0
  159. package/dist/interface/assets/esm-DTxHX_m3.js +1 -0
  160. package/dist/interface/assets/esm-Dzks7cY7.js +1 -0
  161. package/dist/interface/assets/esm-nCaFxJ36.js +1 -0
  162. package/dist/interface/assets/{eventIcons-GmV5zC8O.js → eventIcons-OxuOsPp8.js} +1 -1
  163. package/dist/interface/assets/{face-recognition-CS2Rf6Zc.js → face-recognition-CPwwcApe.js} +1 -1
  164. package/dist/interface/assets/{github-BrijWwqw.js → github-CWr5rTTh.js} +1 -1
  165. package/dist/interface/assets/{grid-fill-vdgMWTlf.js → grid-fill-DepYpY1i.js} +1 -1
  166. package/dist/interface/assets/{hasPermission-Cz0dkfyp.js → hasPermission-DWgF7Hjs.js} +1 -1
  167. package/dist/interface/assets/{home-By41XQGy.js → home-DTNk2yog.js} +1 -1
  168. package/dist/interface/assets/{information-outline-Kgo_4wPg.js → information-outline-BaVRQ1WL.js} +1 -1
  169. package/dist/interface/assets/{instances-D6wHW9_0.js → instances-BURHqdgB.js} +1 -1
  170. package/dist/interface/assets/{lightbulb-outline-XVFprQ8f.js → lightbulb-outline-DPjpJn5F.js} +1 -1
  171. package/dist/interface/assets/main-Dk5JAon5.js +3 -0
  172. package/dist/interface/assets/main-ehiYxATC.css +1 -0
  173. package/dist/interface/assets/{microphone-GG_JO-aa.js → microphone-DJsihw9n.js} +1 -1
  174. package/dist/interface/assets/{motion-sensor-BvWcG84o.js → motion-sensor-D9ErhY-p.js} +1 -1
  175. package/dist/interface/assets/native-BK8vZMAo.js +1 -0
  176. package/dist/interface/assets/native-Z2MQ5D82.js +1 -0
  177. package/dist/interface/assets/nodeDefinitions-DSoFiL7W.js +1 -0
  178. package/dist/interface/assets/{notifications-DLNUbEKC.js → notifications-CeVyOoSN.js} +1 -1
  179. package/dist/interface/assets/{play-solid-BtIose8X.js → play-solid-cginGSgT.js} +1 -1
  180. package/dist/interface/assets/plugin-DHenq6mQ.js +1 -0
  181. package/dist/interface/assets/{plugins-D-tGC0mr.js → plugins-DmYBke-a.js} +1 -1
  182. package/dist/interface/assets/{plus-CPMfvO5i.js → plus-CJ2GnX_q.js} +1 -1
  183. package/dist/interface/assets/{plus-BKTSMYeY.js → plus-CJzoaVfR.js} +1 -1
  184. package/dist/interface/assets/{power-M2I2_fCM.js → power-CH_DVgfm.js} +1 -1
  185. package/dist/interface/assets/{puzzle-filled-C2Lcmza4.js → puzzle-filled-BsJvAZrD.js} +1 -1
  186. package/dist/interface/assets/{refresh-rounded-B-PvjcAK.js → refresh-rounded-D9PcUR6I.js} +1 -1
  187. package/dist/interface/assets/{ring-resize-CdUkE4zr.js → ring-resize-QxO72Hs5.js} +1 -1
  188. package/dist/interface/assets/{round-alt-arrow-left-bold-MIf6gSgD.js → round-alt-arrow-left-bold-C57m543l.js} +1 -1
  189. package/dist/interface/assets/{round-restart-alt-CaOjUTav.js → round-restart-alt-BfvIzoUm.js} +1 -1
  190. package/dist/interface/assets/router-Cfm3yxgM.js +2 -0
  191. package/dist/interface/assets/{routerState-_BXrxePY.js → routerState-B08WcvfU.js} +1 -1
  192. package/dist/interface/assets/{search-CHjonsLq.js → search-BgYt2zqA.js} +1 -1
  193. package/dist/interface/assets/{server-ACfR-bOw.js → server-DWE6V3df.js} +1 -1
  194. package/dist/interface/assets/{settings-CJjCbQsx.js → settings-DHy64jsU.js} +1 -1
  195. package/dist/interface/assets/shares-Cz-SRsRm.js +1 -0
  196. package/dist/interface/assets/{shield-check-oKTXgAfr.js → shield-check-0hUJRszq.js} +1 -1
  197. package/dist/interface/assets/{source-branch-aFYjLKkc.js → source-branch-Dv9Du0bc.js} +1 -1
  198. package/dist/interface/assets/{terminal-B8qmxarl.js → terminal-CNEjR0aR.js} +1 -1
  199. package/dist/interface/assets/{theme-CDU91XW5.js → theme-57Z8cefl.js} +1 -1
  200. package/dist/interface/assets/transit-connection-variant-CXkATe8I.js +1 -0
  201. package/dist/interface/assets/{trash-2-rEVmOxCl.js → trash-2-CAa4rD_d.js} +1 -1
  202. package/dist/interface/assets/trash-can-outline-gVM4WyHG.js +1 -0
  203. package/dist/interface/assets/{trash-fill-DfnCMe3h.js → trash-fill-Br00Vept.js} +1 -1
  204. package/dist/interface/assets/{trash2-BvyW-bOK.js → trash2-tuK9V5bO.js} +1 -1
  205. package/dist/interface/assets/{types-Ds4g4ynm.js → types-BpBkaZ8S.js} +1 -1
  206. package/dist/interface/assets/{types-Blh_1COV.js → types-Dyn_Sb2s.js} +1 -1
  207. package/dist/interface/assets/{ui-SZnjYe2F.js → ui-Cv0M3koY.js} +1 -1
  208. package/dist/interface/assets/{upload-DkFN5YK-.js → upload-DAasFa9r.js} +1 -1
  209. package/dist/interface/assets/{useAppVersion-Bo_n0OVQ.js → useAppVersion-DSG8IzPH.js} +1 -1
  210. package/dist/interface/assets/useBackupRestore-Cjv5ehJg.js +1 -0
  211. package/dist/interface/assets/{useBiometricCredentials-XyEQbPBo.js → useBiometricCredentials-Cq0kbhwW.js} +1 -1
  212. package/dist/interface/assets/useCameraOptions-DBsYZ6gv.js +1 -0
  213. package/dist/interface/assets/{useCuiCameraDrawer-CebQFNWX.js → useCuiCameraDrawer-BcAYizqy.js} +1 -1
  214. package/dist/interface/assets/{useCuiDialog-ClphnG79.js → useCuiDialog-BrXNUR_F.js} +2 -2
  215. package/dist/interface/assets/{useFileDownload-CdDprX3v.js → useFileDownload-DmEs3ezY.js} +1 -1
  216. package/dist/interface/assets/{useLogsSocket-DKU0kKe_.js → useLogsSocket-CochcRpr.js} +2 -2
  217. package/dist/interface/assets/{useServerRestart-CgCmTap7.js → useServerRestart-7GFofrfB.js} +1 -1
  218. package/dist/interface/assets/{useSharedComposables-BcUR_c17.js → useSharedComposables-ffwWlpSL.js} +1 -1
  219. package/dist/interface/assets/{useStreamStatus-BTa-XXZJ.js → useStreamStatus-CELgmbpk.js} +1 -1
  220. package/dist/interface/assets/{useUpdateChannel-WznJBL9L.js → useUpdateChannel-BscyY2G0.js} +1 -1
  221. package/dist/interface/assets/useUserOptions-CVGaxYdb.js +1 -0
  222. package/dist/interface/assets/{users.schema-BcwArBbH.js → users.schema-DiUkDzPj.js} +1 -1
  223. package/dist/interface/assets/vendor-ClrOISZp.js +22 -0
  224. package/dist/interface/assets/{vendor-ace-DdrK3_G3.js → vendor-ace-BlP3GAWI.js} +4 -4
  225. package/dist/interface/assets/vendor-cameraui-DDdtrYBn.js +1978 -0
  226. package/dist/interface/assets/{vendor-capacitor-Cmm68VPg.js → vendor-capacitor-DWVJM4o8.js} +2 -2
  227. package/dist/interface/assets/vendor-chart-Cn72DQnu.js +3 -0
  228. package/dist/interface/assets/{vendor-core-_UeC1YMQ.js → vendor-core-CZuWsjWr.js} +1 -1
  229. package/dist/interface/assets/{vendor-dnd-BAVhbK8Q.js → vendor-dnd-B9-e5xxH.js} +1 -1
  230. package/dist/interface/assets/{vendor-draggabilly-C56V4WL_.js → vendor-draggabilly-CPB8E5_r.js} +1 -1
  231. package/dist/interface/assets/{vendor-leaflet-_2Z0GiOD.js → vendor-leaflet-BMMJO5Nd.js} +1 -1
  232. package/dist/interface/assets/{vendor-markdown-D8dkSMBf.js → vendor-markdown-D7EhExwE.js} +2 -2
  233. package/dist/interface/assets/{vendor-primevue-BXMgwPEu.js → vendor-primevue-DB14kOh6.js} +301 -301
  234. package/dist/interface/assets/vendor-vueflow-Ci6VMxDa.js +26 -0
  235. package/dist/interface/assets/vendor-xterm-IIYDrBG1.js +142 -0
  236. package/dist/interface/assets/view-grid-CWZLWCco.css +1 -0
  237. package/dist/interface/assets/view-grid-DIwBs1jl.js +1 -0
  238. package/dist/interface/assets/web-1H50tiqZ.js +1 -0
  239. package/dist/interface/assets/web-BBRAFu75.js +1 -0
  240. package/dist/interface/assets/web-BQqZ-0se.js +1 -0
  241. package/dist/interface/assets/web-BgDADYuL.js +1 -0
  242. package/dist/interface/assets/web-BjKL51lK-DF7_OzmH.js +1 -0
  243. package/dist/interface/assets/web-C3oASmFS.js +1 -0
  244. package/dist/interface/assets/web-CQIOnZbD.js +1 -0
  245. package/dist/interface/assets/web-CW6kIZQg.js +1 -0
  246. package/dist/interface/assets/web-CXLWILCn.js +1 -0
  247. package/dist/interface/assets/web-Cz9RS9vK.js +1 -0
  248. package/dist/interface/assets/web-D7_BjGke.js +1 -0
  249. package/dist/interface/assets/web-Dn-uR4FN.js +1 -0
  250. package/dist/interface/assets/web-GsFXaCFL.js +1 -0
  251. package/dist/interface/assets/web-kh2rHftO.js +1 -0
  252. package/dist/interface/assets/{webhook-nx5ZDIQ-.js → webhook-BCBlzc3z.js} +1 -1
  253. package/dist/interface/assets/workbox-window.prod.es5-CQTy-jf8.js +1 -0
  254. package/dist/interface/assets/{zoom-in-wM6G8w-4.js → zoom-in-CKM5nWQX.js} +1 -1
  255. package/dist/interface/index.html +86 -83
  256. package/dist/interface/sw.js +1 -1
  257. package/dist/server/package.json +21 -12
  258. package/dist/server/requirements.txt +3 -2
  259. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/events.py +4 -0
  260. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/manager/__init__.py +3 -0
  261. package/dist/server/src/api/controllers/mqtt.controller.d.ts +10 -0
  262. package/dist/server/src/api/controllers/mqtt.controller.js +42 -0
  263. package/dist/server/src/api/controllers/mqtt.controller.js.map +1 -0
  264. package/dist/server/src/api/controllers/remote.controller.d.ts +1 -0
  265. package/dist/server/src/api/controllers/remote.controller.js +9 -2
  266. package/dist/server/src/api/controllers/remote.controller.js.map +1 -1
  267. package/dist/server/src/api/controllers/virtualsensors.controller.d.ts +11 -0
  268. package/dist/server/src/api/controllers/virtualsensors.controller.js +61 -0
  269. package/dist/server/src/api/controllers/virtualsensors.controller.js.map +1 -0
  270. package/dist/server/src/api/database/constants.d.ts +2 -0
  271. package/dist/server/src/api/database/constants.js +2 -0
  272. package/dist/server/src/api/database/constants.js.map +1 -1
  273. package/dist/server/src/api/database/index.d.ts +5 -2
  274. package/dist/server/src/api/database/index.js +53 -5
  275. package/dist/server/src/api/database/index.js.map +1 -1
  276. package/dist/server/src/api/database/types.d.ts +39 -1
  277. package/dist/server/src/api/index.d.ts +2 -0
  278. package/dist/server/src/api/index.js +21 -2
  279. package/dist/server/src/api/index.js.map +1 -1
  280. package/dist/server/src/api/middlewares/authValidation.middleware.js +1 -1
  281. package/dist/server/src/api/middlewares/authValidation.middleware.js.map +1 -1
  282. package/dist/server/src/api/routes/index.js +4 -0
  283. package/dist/server/src/api/routes/index.js.map +1 -1
  284. package/dist/server/src/api/routes/mqtt.routes.d.ts +2 -0
  285. package/dist/server/src/api/routes/mqtt.routes.js +50 -0
  286. package/dist/server/src/api/routes/mqtt.routes.js.map +1 -0
  287. package/dist/server/src/api/routes/virtualsensors.routes.d.ts +2 -0
  288. package/dist/server/src/api/routes/virtualsensors.routes.js +63 -0
  289. package/dist/server/src/api/routes/virtualsensors.routes.js.map +1 -0
  290. package/dist/server/src/api/schemas/cameras.schema.d.ts +1 -0
  291. package/dist/server/src/api/schemas/cameras.schema.js +4 -2
  292. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  293. package/dist/server/src/api/schemas/mqtt.schema.d.ts +67 -0
  294. package/dist/server/src/api/schemas/mqtt.schema.js +53 -0
  295. package/dist/server/src/api/schemas/mqtt.schema.js.map +1 -0
  296. package/dist/server/src/api/schemas/virtualsensors.schema.d.ts +29 -0
  297. package/dist/server/src/api/schemas/virtualsensors.schema.js +14 -0
  298. package/dist/server/src/api/schemas/virtualsensors.schema.js.map +1 -0
  299. package/dist/server/src/api/services/backup.service.d.ts +4 -0
  300. package/dist/server/src/api/services/backup.service.js +35 -4
  301. package/dist/server/src/api/services/backup.service.js.map +1 -1
  302. package/dist/server/src/api/services/cameras.service.js +3 -3
  303. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  304. package/dist/server/src/api/services/mqtt.service.d.ts +13 -0
  305. package/dist/server/src/api/services/mqtt.service.js +46 -0
  306. package/dist/server/src/api/services/mqtt.service.js.map +1 -0
  307. package/dist/server/src/api/services/remote.service.d.ts +0 -1
  308. package/dist/server/src/api/services/remote.service.js +6 -13
  309. package/dist/server/src/api/services/remote.service.js.map +1 -1
  310. package/dist/server/src/api/services/virtualsensors.service.d.ts +20 -0
  311. package/dist/server/src/api/services/virtualsensors.service.js +151 -0
  312. package/dist/server/src/api/services/virtualsensors.service.js.map +1 -0
  313. package/dist/server/src/api/types/index.d.ts +20 -0
  314. package/dist/server/src/api/types/index.js.map +1 -1
  315. package/dist/server/src/api/websocket/nsp/server.d.ts +2 -0
  316. package/dist/server/src/api/websocket/nsp/server.js +12 -0
  317. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  318. package/dist/server/src/api/websocket/nsp/workers.d.ts +1 -0
  319. package/dist/server/src/api/websocket/nsp/workers.js +3 -0
  320. package/dist/server/src/api/websocket/nsp/workers.js.map +1 -1
  321. package/dist/server/src/api.d.ts +2 -0
  322. package/dist/server/src/api.js +22 -3
  323. package/dist/server/src/api.js.map +1 -1
  324. package/dist/server/src/automations/actions/index.js +2 -0
  325. package/dist/server/src/automations/actions/index.js.map +1 -1
  326. package/dist/server/src/automations/actions/mqtt.d.ts +2 -0
  327. package/dist/server/src/automations/actions/mqtt.js +14 -0
  328. package/dist/server/src/automations/actions/mqtt.js.map +1 -0
  329. package/dist/server/src/automations/conditions/index.js +1 -0
  330. package/dist/server/src/automations/conditions/index.js.map +1 -1
  331. package/dist/server/src/automations/context.d.ts +4 -0
  332. package/dist/server/src/automations/context.js +17 -0
  333. package/dist/server/src/automations/context.js.map +1 -1
  334. package/dist/server/src/automations/engine.js +4 -1
  335. package/dist/server/src/automations/engine.js.map +1 -1
  336. package/dist/server/src/automations/triggers/index.d.ts +1 -0
  337. package/dist/server/src/automations/triggers/index.js +1 -0
  338. package/dist/server/src/automations/triggers/index.js.map +1 -1
  339. package/dist/server/src/automations/triggers/mqtt.d.ts +3 -0
  340. package/dist/server/src/automations/triggers/mqtt.js +19 -0
  341. package/dist/server/src/automations/triggers/mqtt.js.map +1 -0
  342. package/dist/server/src/camera/decoder/audio-source.d.ts +2 -0
  343. package/dist/server/src/camera/decoder/audio-source.js +12 -0
  344. package/dist/server/src/camera/decoder/audio-source.js.map +1 -1
  345. package/dist/server/src/camera/decoder/detection-coordinator.js +16 -2
  346. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  347. package/dist/server/src/camera/decoder/frame-source.d.ts +2 -0
  348. package/dist/server/src/camera/decoder/frame-source.js +23 -2
  349. package/dist/server/src/camera/decoder/frame-source.js.map +1 -1
  350. package/dist/server/src/camera/decoder/worker.js +10 -5
  351. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  352. package/dist/server/src/camera/sensors/controller.js +11 -7
  353. package/dist/server/src/camera/sensors/controller.js.map +1 -1
  354. package/dist/server/src/camera/sensors/sensor.js +1 -0
  355. package/dist/server/src/camera/sensors/sensor.js.map +1 -1
  356. package/dist/server/src/camera/sensors/stable-id.d.ts +1 -0
  357. package/dist/server/src/camera/sensors/stable-id.js +13 -0
  358. package/dist/server/src/camera/sensors/stable-id.js.map +1 -0
  359. package/dist/server/src/camera/sensors/types.d.ts +8 -1
  360. package/dist/server/src/camera/sensors/types.js +40 -1
  361. package/dist/server/src/camera/sensors/types.js.map +1 -1
  362. package/dist/server/src/camera/sensors/virtual.d.ts +19 -0
  363. package/dist/server/src/camera/sensors/virtual.js +155 -0
  364. package/dist/server/src/camera/sensors/virtual.js.map +1 -0
  365. package/dist/server/src/camera/streaming/fmp4-session.js +9 -0
  366. package/dist/server/src/camera/streaming/fmp4-session.js.map +1 -1
  367. package/dist/server/src/camera/streaming/rtp-session.js +0 -13
  368. package/dist/server/src/camera/streaming/rtp-session.js.map +1 -1
  369. package/dist/server/src/go2rtc/api/routes/discover.js +2 -1
  370. package/dist/server/src/go2rtc/api/routes/discover.js.map +1 -1
  371. package/dist/server/src/go2rtc/index.js +0 -1
  372. package/dist/server/src/go2rtc/index.js.map +1 -1
  373. package/dist/server/src/internal-bus.d.ts +10 -2
  374. package/dist/server/src/internal-bus.js.map +1 -1
  375. package/dist/server/src/main.d.ts +1 -0
  376. package/dist/server/src/main.js +9 -3
  377. package/dist/server/src/main.js.map +1 -1
  378. package/dist/server/src/manager/discoveryManager.js +6 -4
  379. package/dist/server/src/manager/discoveryManager.js.map +1 -1
  380. package/dist/server/src/manager/notificationManager.js +13 -0
  381. package/dist/server/src/manager/notificationManager.js.map +1 -1
  382. package/dist/server/src/mqtt/bridge.d.ts +28 -0
  383. package/dist/server/src/mqtt/bridge.js +330 -0
  384. package/dist/server/src/mqtt/bridge.js.map +1 -0
  385. package/dist/server/src/mqtt/broker.d.ts +16 -0
  386. package/dist/server/src/mqtt/broker.js +93 -0
  387. package/dist/server/src/mqtt/broker.js.map +1 -0
  388. package/dist/server/src/mqtt/ha-discovery.d.ts +10 -0
  389. package/dist/server/src/mqtt/ha-discovery.js +265 -0
  390. package/dist/server/src/mqtt/ha-discovery.js.map +1 -0
  391. package/dist/server/src/mqtt/manager.d.ts +35 -0
  392. package/dist/server/src/mqtt/manager.js +256 -0
  393. package/dist/server/src/mqtt/manager.js.map +1 -0
  394. package/dist/server/src/mqtt/topics.d.ts +22 -0
  395. package/dist/server/src/mqtt/topics.js +90 -0
  396. package/dist/server/src/mqtt/topics.js.map +1 -0
  397. package/dist/server/src/mqtt/types.d.ts +45 -0
  398. package/dist/server/src/mqtt/types.js +2 -0
  399. package/dist/server/src/mqtt/types.js.map +1 -0
  400. package/dist/server/src/plugins/plugin.js +2 -2
  401. package/dist/server/src/plugins/plugin.js.map +1 -1
  402. package/dist/server/src/plugins/runtime/node/child.js +2 -2
  403. package/dist/server/src/plugins/runtime/node/child.js.map +1 -1
  404. package/dist/server/src/plugins/runtime/node/index.js +2 -0
  405. package/dist/server/src/plugins/runtime/node/index.js.map +1 -1
  406. package/dist/server/src/plugins/runtime/node/proxy/sensor.js +2 -0
  407. package/dist/server/src/plugins/runtime/node/proxy/sensor.js.map +1 -1
  408. package/dist/server/src/plugins/runtime/python/child.py +6 -3
  409. package/dist/server/src/plugins/runtime/python/index.js +2 -0
  410. package/dist/server/src/plugins/runtime/python/index.js.map +1 -1
  411. package/dist/server/src/remote/services/cloudflare-managed.js +2 -1
  412. package/dist/server/src/remote/services/cloudflare-managed.js.map +1 -1
  413. package/dist/server/src/remote/services/cloudflare.d.ts +0 -1
  414. package/dist/server/src/remote/services/cloudflare.js +3 -8
  415. package/dist/server/src/remote/services/cloudflare.js.map +1 -1
  416. package/dist/server/src/remote/tunnel/client.js +0 -1
  417. package/dist/server/src/remote/tunnel/client.js.map +1 -1
  418. package/dist/server/src/rpc/interfaces/discovery.d.ts +1 -0
  419. package/dist/server/src/rpc/interfaces/sensor.d.ts +1 -0
  420. package/dist/server/src/services/config/index.d.ts +1 -0
  421. package/dist/server/src/services/config/index.js +2 -0
  422. package/dist/server/src/services/config/index.js.map +1 -1
  423. package/dist/server/src/services/config/types.d.ts +0 -15
  424. package/dist/server/src/workers/manager.js +2 -0
  425. package/dist/server/src/workers/manager.js.map +1 -1
  426. package/package.json +21 -12
  427. package/dist/interface/assets/Adminpanel-ByDZ8Xpn.js +0 -1
  428. package/dist/interface/assets/Automation-BqJ8PyPa.js +0 -2
  429. package/dist/interface/assets/Camera-BG8K5bH_.css +0 -1
  430. package/dist/interface/assets/Camera-Bu1U8Oal.js +0 -2
  431. package/dist/interface/assets/Cameras-54LaZPN3.css +0 -1
  432. package/dist/interface/assets/Cameras-Dwr5fbzg.js +0 -652
  433. package/dist/interface/assets/Camview-F0vVBWeZ.js +0 -1
  434. package/dist/interface/assets/Config-CIAVylkc.js +0 -2
  435. package/dist/interface/assets/ConfigActionCameraControl-C1dsQnYF.js +0 -1
  436. package/dist/interface/assets/ConfigActionHttp-IFqZaHDZ.js +0 -1
  437. package/dist/interface/assets/ConfigActionOutput-Butmz0jI.js +0 -1
  438. package/dist/interface/assets/ConfigActionSensor-CJ-mk6eS.js +0 -1
  439. package/dist/interface/assets/ConfigConditionSensorState-B6MdgPfo.js +0 -1
  440. package/dist/interface/assets/ConfigConditionTime-ChXeDbZB.js +0 -1
  441. package/dist/interface/assets/ConfigTriggerGeofence-BoT9t-8V.js +0 -1
  442. package/dist/interface/assets/Console-2sHljg8h.js +0 -1
  443. package/dist/interface/assets/CuiBottomSheet-WuxFsOrw.js +0 -1
  444. package/dist/interface/assets/CuiCameraCard-Bip9OIZO.js +0 -1
  445. package/dist/interface/assets/CuiCameraRecordings-Bf5IG7OM.js +0 -1
  446. package/dist/interface/assets/CuiCameraSnapshot-BS-_U34M.js +0 -1
  447. package/dist/interface/assets/CuiCameraTable-DY_unr4m.js +0 -2
  448. package/dist/interface/assets/CuiMarkdownContent-5LJK4h8V.js +0 -1
  449. package/dist/interface/assets/CuiPluginCard-B5PhaGoF.js +0 -2
  450. package/dist/interface/assets/CuiRecordingsGrid-mFXSsuG8.js +0 -1
  451. package/dist/interface/assets/CuiSchema-BSv1nUun.js +0 -1
  452. package/dist/interface/assets/Faces-DLpVsIkY.js +0 -1
  453. package/dist/interface/assets/FirstSteps-BDDy9x_6.js +0 -1
  454. package/dist/interface/assets/Logs-CIUyuGwj.js +0 -6
  455. package/dist/interface/assets/Plugin-BKItJas0.js +0 -1
  456. package/dist/interface/assets/Plugin-DHhrlRqP.css +0 -1
  457. package/dist/interface/assets/PluginDetail-BBh5y9qU.js +0 -2
  458. package/dist/interface/assets/PluginDetail-L1Vtmr5x.css +0 -1
  459. package/dist/interface/assets/PluginSearch-BN3U3NY6.js +0 -2
  460. package/dist/interface/assets/PluginSearch-nHAFKMX0.js +0 -1
  461. package/dist/interface/assets/Plugins-gxyxkQ5i.js +0 -1
  462. package/dist/interface/assets/Recordings-B3Xw23vh.js +0 -1
  463. package/dist/interface/assets/Recordings-Bt_GlPOK.css +0 -1
  464. package/dist/interface/assets/SettingsAccount-DUN1oTTn.js +0 -1
  465. package/dist/interface/assets/SettingsAccount-b4eVxI3M.js +0 -1
  466. package/dist/interface/assets/SettingsAppearance-CLVMmnR_.js +0 -1
  467. package/dist/interface/assets/SettingsBackup-DUYVdKjD.js +0 -1
  468. package/dist/interface/assets/SettingsNotifications-xYOuLZsr.js +0 -2
  469. package/dist/interface/assets/SettingsRecordings-BQDf4Zeg.js +0 -1
  470. package/dist/interface/assets/SettingsRemote-BXr1HLHm.js +0 -1
  471. package/dist/interface/assets/SettingsRemote-KdcQyBCS.css +0 -1
  472. package/dist/interface/assets/SettingsSystem-DAjNwp4I.js +0 -2
  473. package/dist/interface/assets/SettingsUsers-DJ-eMMWe.js +0 -1
  474. package/dist/interface/assets/Terminal-P3yVGG8s.js +0 -4
  475. package/dist/interface/assets/VariableInput-DdVw4SIR.js +0 -1
  476. package/dist/interface/assets/VersionsHandler-DcZ3RtHV.js +0 -7
  477. package/dist/interface/assets/ace-DQ1lNH50.js +0 -1
  478. package/dist/interface/assets/api-CKqAhmSC.css +0 -2
  479. package/dist/interface/assets/api-Ex2VUVD1.js +0 -2
  480. package/dist/interface/assets/auth-W-JA6GOD.js +0 -1
  481. package/dist/interface/assets/automations-d_B5L3sO.js +0 -1
  482. package/dist/interface/assets/backup-BT-P0duG.js +0 -1
  483. package/dist/interface/assets/bell-outline-Cy3lRQBX.js +0 -1
  484. package/dist/interface/assets/cameras.schema-7ex1wBck.js +0 -1
  485. package/dist/interface/assets/cloudHandoff-Cu1sRatW.js +0 -1
  486. package/dist/interface/assets/esm-0fUwrSGA2.js +0 -1
  487. package/dist/interface/assets/esm-50afX45o.js +0 -1
  488. package/dist/interface/assets/esm-B0VLR4af.js +0 -1
  489. package/dist/interface/assets/esm-BfZLgtrg.js +0 -1
  490. package/dist/interface/assets/esm-Bnmu7wlp.js +0 -1
  491. package/dist/interface/assets/esm-CG1dvQ4U.js +0 -1
  492. package/dist/interface/assets/esm-CZTaj2CB.js +0 -1
  493. package/dist/interface/assets/esm-CxRM74Bx.js +0 -1
  494. package/dist/interface/assets/esm-DBpRougC.js +0 -1
  495. package/dist/interface/assets/esm-DQ7OYRdT.js +0 -1
  496. package/dist/interface/assets/esm-DVYEXBOA.js +0 -1
  497. package/dist/interface/assets/esm-DdCbmz73.js +0 -1
  498. package/dist/interface/assets/esm-DiryHoSP.js +0 -1
  499. package/dist/interface/assets/esm-DyoMjqMI.js +0 -1
  500. package/dist/interface/assets/main-BjuXWRyJ.css +0 -1
  501. package/dist/interface/assets/main-C-WCGnJh.js +0 -3
  502. package/dist/interface/assets/native-Dg-M0-9s.js +0 -1
  503. package/dist/interface/assets/native-DyQXBqB9.js +0 -1
  504. package/dist/interface/assets/nodeDefinitions-BSLOZMDt.js +0 -1
  505. package/dist/interface/assets/plugin-_eNpRpqe.js +0 -1
  506. package/dist/interface/assets/router-Cbt2STjH.js +0 -2
  507. package/dist/interface/assets/shares-Ut3rTZUx.js +0 -1
  508. package/dist/interface/assets/useCameraOptions-C3-ZVV2A.js +0 -1
  509. package/dist/interface/assets/useUserOptions-DffxmIf7.js +0 -1
  510. package/dist/interface/assets/vendor-c9Zhw4pk.js +0 -22
  511. package/dist/interface/assets/vendor-cameraui-zHth8Pa5.js +0 -1978
  512. package/dist/interface/assets/vendor-chart-CTk1N5fJ.js +0 -3
  513. package/dist/interface/assets/vendor-vueflow-CJdb-8KZ.js +0 -26
  514. package/dist/interface/assets/vendor-xterm-BRN-hOYD.js +0 -145
  515. package/dist/interface/assets/view-grid-CX0RwdlE.js +0 -1
  516. package/dist/interface/assets/view-grid-D04t817d.css +0 -1
  517. package/dist/interface/assets/web-B9o4PkxX.js +0 -1
  518. package/dist/interface/assets/web-BDuGOqy7.js +0 -1
  519. package/dist/interface/assets/web-BUVPtx3X.js +0 -1
  520. package/dist/interface/assets/web-B_hO9nzV.js +0 -1
  521. package/dist/interface/assets/web-BjKL51lK-CV2GxIDK.js +0 -1
  522. package/dist/interface/assets/web-CCgyqWSl.js +0 -1
  523. package/dist/interface/assets/web-Cm_fnqV2.js +0 -1
  524. package/dist/interface/assets/web-CsSSdPVW.js +0 -1
  525. package/dist/interface/assets/web-D2AMa4qD.js +0 -1
  526. package/dist/interface/assets/web-D2vwufvW.js +0 -1
  527. package/dist/interface/assets/web-D86U7zR6.js +0 -1
  528. package/dist/interface/assets/web-DilWncpX.js +0 -1
  529. package/dist/interface/assets/web-OjqOEI0k.js +0 -1
  530. package/dist/interface/assets/web-mrIKbnbx.js +0 -1
  531. package/dist/interface/assets/workbox-window.prod.es5-CsKLpYYC.js +0 -1
  532. /package/dist/interface/assets/{error-256-DLKVOU2S.png → logo-512-DLKVOU2S.png} +0 -0
@@ -0,0 +1,16 @@
1
+ export interface MqttBrokerOptions {
2
+ port: number;
3
+ username: string | null;
4
+ password: string | null;
5
+ }
6
+ export declare class MqttBroker {
7
+ private aedes?;
8
+ private server?;
9
+ private logger;
10
+ private readonly connections;
11
+ constructor();
12
+ get running(): boolean;
13
+ start(options: MqttBrokerOptions): Promise<void>;
14
+ stop(): Promise<void>;
15
+ private cleanup;
16
+ }
@@ -0,0 +1,93 @@
1
+ import { PromiseTimeout } from '@camera.ui/common/utils';
2
+ import { Aedes } from 'aedes';
3
+ import { timingSafeEqual } from 'node:crypto';
4
+ import { createServer } from 'node:net';
5
+ import { container } from 'tsyringe';
6
+ export class MqttBroker {
7
+ aedes;
8
+ server;
9
+ logger;
10
+ connections = new Set();
11
+ constructor() {
12
+ this.logger = container.resolve('logger');
13
+ }
14
+ get running() {
15
+ return this.server?.listening ?? false;
16
+ }
17
+ async start(options) {
18
+ if (this.server)
19
+ return;
20
+ const aedes = await Aedes.createBroker({
21
+ authenticate: (_client, username, password, done) => {
22
+ if (!options.username || !options.password) {
23
+ done(null, true);
24
+ return;
25
+ }
26
+ if (username === options.username && !!password && safeEqual(password.toString('utf8'), options.password)) {
27
+ done(null, true);
28
+ return;
29
+ }
30
+ const error = new Error('Bad username or password');
31
+ error.returnCode = 4;
32
+ done(error, false);
33
+ },
34
+ });
35
+ this.aedes = aedes;
36
+ aedes.on('clientError', (client, error) => {
37
+ this.logger.debug(`MQTT broker client error (${client?.id ?? 'unknown'}): ${error.message}`);
38
+ });
39
+ aedes.on('connectionError', (client, error) => {
40
+ this.logger.debug(`MQTT broker connection error (${client?.id ?? 'unknown'}): ${error.message}`);
41
+ });
42
+ const server = createServer(aedes.handle);
43
+ server.on('connection', (socket) => {
44
+ this.connections.add(socket);
45
+ socket.once('close', () => this.connections.delete(socket));
46
+ });
47
+ try {
48
+ await new Promise((resolve, reject) => {
49
+ server.once('error', reject);
50
+ server.listen(options.port, () => {
51
+ server.off('error', reject);
52
+ resolve();
53
+ });
54
+ });
55
+ }
56
+ catch (error) {
57
+ await this.cleanup(aedes, server);
58
+ throw error;
59
+ }
60
+ this.server = server;
61
+ server.on('error', (error) => {
62
+ this.logger.warn(`MQTT broker server error: ${error.message}`);
63
+ });
64
+ this.logger.log(`Built-in MQTT broker listening on port ${options.port}`);
65
+ }
66
+ async stop() {
67
+ const { aedes, server } = this;
68
+ this.aedes = undefined;
69
+ this.server = undefined;
70
+ if (aedes ?? server) {
71
+ await this.cleanup(aedes, server);
72
+ this.logger.log('Built-in MQTT broker stopped');
73
+ }
74
+ }
75
+ async cleanup(aedes, server) {
76
+ if (server) {
77
+ for (const socket of this.connections) {
78
+ socket.destroy();
79
+ }
80
+ this.connections.clear();
81
+ await PromiseTimeout(new Promise((resolve) => server.close(() => resolve())), 2000).catch(() => { });
82
+ }
83
+ if (aedes) {
84
+ await PromiseTimeout(new Promise((resolve) => aedes.close(() => resolve())), 2000).catch(() => { });
85
+ }
86
+ }
87
+ }
88
+ function safeEqual(a, b) {
89
+ const bufA = Buffer.from(a);
90
+ const bufB = Buffer.from(b);
91
+ return bufA.length === bufB.length && timingSafeEqual(bufA, bufB);
92
+ }
93
+ //# sourceMappingURL=broker.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"broker.js","sourceRoot":"","sources":["../../../../src/mqtt/broker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Camera } from '@camera.ui/sdk';
2
+ import type { StoredSensorData } from '../rpc/interfaces/sensor.js';
3
+ import type { MqttTopics } from './topics.js';
4
+ export interface DiscoveryMessage {
5
+ topic: string;
6
+ payload: string;
7
+ }
8
+ export declare const OBJECT_DETECTION_LABELS: readonly ["person", "vehicle", "animal", "package"];
9
+ export declare function buildCameraDiscovery(topics: MqttTopics, haPrefix: string, camera: Camera, hasObjectDetection: boolean): DiscoveryMessage[];
10
+ export declare function buildSensorDiscovery(topics: MqttTopics, haPrefix: string, camera: Camera, sensor: StoredSensorData): DiscoveryMessage[];
@@ -0,0 +1,265 @@
1
+ import { LightCapability, SensorType } from '@camera.ui/sdk';
2
+ import { ConfigService } from '../services/config/index.js';
3
+ import { sanitizeTopicSegment } from './topics.js';
4
+ export const OBJECT_DETECTION_LABELS = ['person', 'vehicle', 'animal', 'package'];
5
+ const DETECTION_LABEL_ICONS = {
6
+ person: 'mdi:account',
7
+ vehicle: 'mdi:car',
8
+ animal: 'mdi:paw',
9
+ package: 'mdi:package-variant-closed',
10
+ };
11
+ export function buildCameraDiscovery(topics, haPrefix, camera, hasObjectDetection) {
12
+ const cameraId = camera._id;
13
+ const messages = [];
14
+ messages.push({
15
+ topic: configTopic(haPrefix, 'binary_sensor', cameraId, 'status'),
16
+ payload: JSON.stringify({
17
+ ...baseConfig(topics, camera, 'status', 'Status', { bridgeAvailabilityOnly: true }),
18
+ device_class: 'connectivity',
19
+ entity_category: 'diagnostic',
20
+ state_topic: topics.cameraStatus(cameraId),
21
+ payload_on: 'online',
22
+ payload_off: 'offline',
23
+ }),
24
+ });
25
+ messages.push({
26
+ topic: configTopic(haPrefix, 'binary_sensor', cameraId, 'motion'),
27
+ payload: JSON.stringify({
28
+ ...baseConfig(topics, camera, 'motion', 'Motion'),
29
+ device_class: 'motion',
30
+ state_topic: topics.cameraMotion(cameraId),
31
+ payload_on: 'ON',
32
+ payload_off: 'OFF',
33
+ }),
34
+ });
35
+ messages.push({
36
+ topic: configTopic(haPrefix, 'camera', cameraId, 'snapshot'),
37
+ payload: JSON.stringify({
38
+ ...baseConfig(topics, camera, 'snapshot', 'Snapshot'),
39
+ topic: topics.cameraSnapshot(cameraId),
40
+ }),
41
+ });
42
+ if (hasObjectDetection) {
43
+ for (const label of OBJECT_DETECTION_LABELS) {
44
+ messages.push({
45
+ topic: configTopic(haPrefix, 'binary_sensor', cameraId, `detection_${label}`),
46
+ payload: JSON.stringify({
47
+ ...baseConfig(topics, camera, `detection_${label}`, capitalize(label)),
48
+ icon: DETECTION_LABEL_ICONS[label],
49
+ state_topic: topics.cameraDetection(cameraId, label),
50
+ payload_on: 'ON',
51
+ payload_off: 'OFF',
52
+ }),
53
+ });
54
+ }
55
+ }
56
+ return messages;
57
+ }
58
+ export function buildSensorDiscovery(topics, haPrefix, camera, sensor) {
59
+ const cameraId = camera._id;
60
+ const name = sensor.displayName || sensor.name;
61
+ const objectId = sanitizeTopicSegment(sensor.stableId);
62
+ const state = (property) => topics.sensorProperty(cameraId, sensor.stableId, property);
63
+ const command = (property) => `${state(property)}/set`;
64
+ const config = (component) => configTopic(haPrefix, component, cameraId, objectId);
65
+ const base = () => baseConfig(topics, camera, objectId, name);
66
+ const binarySensor = (property, deviceClass, icon) => ({
67
+ topic: config('binary_sensor'),
68
+ payload: JSON.stringify({
69
+ ...base(),
70
+ ...(deviceClass ? { device_class: deviceClass } : {}),
71
+ ...(icon ? { icon } : {}),
72
+ state_topic: state(property),
73
+ payload_on: 'true',
74
+ payload_off: 'false',
75
+ }),
76
+ });
77
+ switch (sensor.type) {
78
+ case SensorType.Contact:
79
+ return [binarySensor('detected', 'opening')];
80
+ case SensorType.Occupancy:
81
+ return [binarySensor('detected', 'occupancy')];
82
+ case SensorType.Smoke:
83
+ return [binarySensor('detected', 'smoke')];
84
+ case SensorType.Leak:
85
+ return [binarySensor('detected', 'moisture')];
86
+ case SensorType.Doorbell:
87
+ return [binarySensor('ring', undefined, 'mdi:doorbell')];
88
+ case SensorType.Temperature:
89
+ return [
90
+ {
91
+ topic: config('sensor'),
92
+ payload: JSON.stringify({
93
+ ...base(),
94
+ device_class: 'temperature',
95
+ unit_of_measurement: '°C',
96
+ state_class: 'measurement',
97
+ state_topic: state('current'),
98
+ }),
99
+ },
100
+ ];
101
+ case SensorType.Humidity:
102
+ return [
103
+ {
104
+ topic: config('sensor'),
105
+ payload: JSON.stringify({
106
+ ...base(),
107
+ device_class: 'humidity',
108
+ unit_of_measurement: '%',
109
+ state_class: 'measurement',
110
+ state_topic: state('current'),
111
+ }),
112
+ },
113
+ ];
114
+ case SensorType.Battery:
115
+ return [
116
+ {
117
+ topic: config('sensor'),
118
+ payload: JSON.stringify({
119
+ ...base(),
120
+ device_class: 'battery',
121
+ unit_of_measurement: '%',
122
+ state_class: 'measurement',
123
+ entity_category: 'diagnostic',
124
+ state_topic: state('level'),
125
+ }),
126
+ },
127
+ ];
128
+ case SensorType.Switch:
129
+ return [
130
+ {
131
+ topic: config('switch'),
132
+ payload: JSON.stringify({
133
+ ...base(),
134
+ state_topic: state('on'),
135
+ command_topic: command('on'),
136
+ state_on: 'true',
137
+ state_off: 'false',
138
+ payload_on: 'true',
139
+ payload_off: 'false',
140
+ }),
141
+ },
142
+ ];
143
+ case SensorType.Light: {
144
+ const hasBrightness = sensor.capabilities.includes(LightCapability.Brightness);
145
+ return [
146
+ {
147
+ topic: config('light'),
148
+ payload: JSON.stringify({
149
+ ...base(),
150
+ state_topic: state('on'),
151
+ command_topic: command('on'),
152
+ state_value_template: '{{ value }}',
153
+ payload_on: 'true',
154
+ payload_off: 'false',
155
+ ...(hasBrightness
156
+ ? {
157
+ brightness_state_topic: state('brightness'),
158
+ brightness_command_topic: command('brightness'),
159
+ brightness_scale: 100,
160
+ }
161
+ : {}),
162
+ }),
163
+ },
164
+ ];
165
+ }
166
+ case SensorType.Siren:
167
+ return [
168
+ {
169
+ topic: config('siren'),
170
+ payload: JSON.stringify({
171
+ ...base(),
172
+ state_topic: state('active'),
173
+ command_topic: command('active'),
174
+ state_on: 'true',
175
+ state_off: 'false',
176
+ payload_on: 'true',
177
+ payload_off: 'false',
178
+ }),
179
+ },
180
+ ];
181
+ case SensorType.Lock:
182
+ return [
183
+ {
184
+ topic: config('lock'),
185
+ payload: JSON.stringify({
186
+ ...base(),
187
+ state_topic: state('currentState'),
188
+ state_locked: '0',
189
+ state_unlocked: '1',
190
+ command_topic: command('targetState'),
191
+ payload_lock: '0',
192
+ payload_unlock: '1',
193
+ }),
194
+ },
195
+ ];
196
+ case SensorType.Garage:
197
+ return [
198
+ {
199
+ topic: config('cover'),
200
+ payload: JSON.stringify({
201
+ ...base(),
202
+ device_class: 'garage',
203
+ state_topic: state('currentState'),
204
+ state_open: '0',
205
+ state_closed: '1',
206
+ state_opening: '2',
207
+ state_closing: '3',
208
+ state_stopped: '4',
209
+ command_topic: command('targetState'),
210
+ payload_open: '0',
211
+ payload_close: '1',
212
+ payload_stop: null,
213
+ }),
214
+ },
215
+ ];
216
+ case SensorType.SecuritySystem:
217
+ return [
218
+ {
219
+ topic: config('alarm_control_panel'),
220
+ payload: JSON.stringify({
221
+ ...base(),
222
+ state_topic: state('currentState'),
223
+ value_template: "{% set states = {0: 'armed_home', 1: 'armed_away', 2: 'armed_night', 3: 'disarmed', 4: 'triggered'} %}{{ states[value | int] }}",
224
+ command_topic: command('targetState'),
225
+ command_template: "{% set states = {'ARM_HOME': 0, 'ARM_AWAY': 1, 'ARM_NIGHT': 2, 'DISARM': 3} %}{{ states[action] }}",
226
+ supported_features: ['arm_home', 'arm_away', 'arm_night'],
227
+ code_arm_required: false,
228
+ code_disarm_required: false,
229
+ }),
230
+ },
231
+ ];
232
+ default:
233
+ return [];
234
+ }
235
+ }
236
+ function configTopic(haPrefix, component, cameraId, objectId) {
237
+ return `${haPrefix}/${component}/cameraui_${sanitizeTopicSegment(cameraId)}/${objectId}/config`;
238
+ }
239
+ function baseConfig(topics, camera, objectId, name, opts = {}) {
240
+ const availability = [{ topic: topics.availability }];
241
+ if (!opts.bridgeAvailabilityOnly) {
242
+ availability.push({ topic: topics.cameraStatus(camera._id) });
243
+ }
244
+ return {
245
+ name,
246
+ unique_id: `cameraui_${camera._id}_${objectId}`,
247
+ availability,
248
+ availability_mode: 'all',
249
+ device: {
250
+ identifiers: [`cameraui_${camera._id}`],
251
+ name: camera.name,
252
+ manufacturer: camera.info?.manufacturer ?? 'camera.ui',
253
+ ...(camera.info?.model ? { model: camera.info.model } : {}),
254
+ ...(camera.info?.firmwareVersion ? { sw_version: camera.info.firmwareVersion } : {}),
255
+ },
256
+ origin: {
257
+ name: 'camera.ui',
258
+ sw_version: ConfigService.VERSION,
259
+ },
260
+ };
261
+ }
262
+ function capitalize(value) {
263
+ return value.charAt(0).toUpperCase() + value.slice(1);
264
+ }
265
+ //# sourceMappingURL=ha-discovery.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ha-discovery.js","sourceRoot":"","sources":["../../../../src/mqtt/ha-discovery.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { MqttTopics } from './topics.js';
2
+ import type { DBMqtt } from '../api/database/types.js';
3
+ import type { MqttStatus, MqttTestResult } from './types.js';
4
+ export declare class MqttManager {
5
+ topics: MqttTopics;
6
+ private client?;
7
+ private bridge;
8
+ private broker;
9
+ private status;
10
+ private stopping;
11
+ private activeSettings?;
12
+ private triggerSubscriptions;
13
+ private logger;
14
+ private dbs;
15
+ constructor();
16
+ get connected(): boolean;
17
+ get haDiscovery(): {
18
+ enabled: boolean;
19
+ prefix: string;
20
+ };
21
+ get brokerRunning(): boolean;
22
+ start(): Promise<void>;
23
+ stop(): Promise<void>;
24
+ applySettings(): Promise<void>;
25
+ getStatus(): MqttStatus;
26
+ publish(topic: string, payload: string | Buffer, opts?: {
27
+ retain?: boolean;
28
+ qos?: 0 | 1;
29
+ }): void;
30
+ subscribeTrigger(filter: string, handler: (topic: string, payload: string) => void): () => void;
31
+ test(settings: DBMqtt): Promise<MqttTestResult>;
32
+ private settings;
33
+ private connect;
34
+ private setStatus;
35
+ }