@camera.ui/server 2.1.12 → 2.1.13

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 (627) hide show
  1. package/dist/interface/assets/{404-BDi1TzED.js → 404-CVkDpT0X.js} +1 -1
  2. package/dist/interface/assets/{About-DeHiJp3n.js → About-CUgIR2xi.js} +1 -1
  3. package/dist/interface/assets/Automation-BYRKp0AC.js +3 -0
  4. package/dist/interface/assets/{AutomationImport-B3bCE-yS.js → AutomationImport-L_OzZZgi.js} +2 -2
  5. package/dist/interface/assets/{AutomationStore-BoWd7IW9.js → AutomationStore-DaNQqJoT.js} +2 -2
  6. package/dist/interface/assets/AutomationStoreDetail-Seor4Ohh.js +2 -0
  7. package/dist/interface/assets/Automations-BMQIkpUa.js +2 -0
  8. package/dist/interface/assets/Camera-3umh2Xjc.js +2 -0
  9. package/dist/interface/assets/{CameraConsole-C8XSUr7X.js → CameraConsole-BLlgkKDp.js} +2 -2
  10. package/dist/interface/assets/Cameras-DvK8E1Vk.js +651 -0
  11. package/dist/interface/assets/{Camview-Lp3QU0de.css → Camview-DIEa8IRE.css} +1 -1
  12. package/dist/interface/assets/Camview-DSO2lWxT.js +1 -0
  13. package/dist/interface/assets/{CertificateUpload-Cg89m_cM.js → CertificateUpload-BsnlaxRS.js} +1 -1
  14. package/dist/interface/assets/{Config-BDa4dy1w.js → Config-BXj83-No.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionCameraControl-DNmRpuPG.js → ConfigActionCameraControl-BGfvT6ME.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionDelay-Reg_tEG_.js → ConfigActionDelay-D10_C6yo.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionHttp-CqRBOSa3.js → ConfigActionHttp-DL4jh9Wz.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionImageInput-GWECLY4I.js → ConfigActionImageInput-DVvMUzrT.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionMqtt-Di4ZTig8.js → ConfigActionMqtt-BqK3q4cC.js} +1 -1
  20. package/dist/interface/assets/ConfigActionNotification-D_H5Q68D.js +1 -0
  21. package/dist/interface/assets/{ConfigActionNotificationControl-B_p8dnc4.js → ConfigActionNotificationControl-BnTJl4dr.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionOutput-B31cj20h.js → ConfigActionOutput-udY95_rH.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionPlugin-DCUhDIiJ.js → ConfigActionPlugin-C51LrkZb.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionSensor-De63wYQU.js → ConfigActionSensor-B2tFf8x6.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSnapshot-DZJDjOMT.js → ConfigActionSnapshot-BzmeByH3.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionVariable-Q3QXVMbR.js → ConfigActionVariable-BagC3lj5.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionIfElse-DKonPxli.js → ConfigConditionIfElse-CQOZJ19Y.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionSensorState-C_J6ERzt.js → ConfigConditionSensorState-SGYpkNP5.js} +1 -1
  29. package/dist/interface/assets/ConfigConditionSwitch-BXR6xUN8.js +1 -0
  30. package/dist/interface/assets/{ConfigConditionTime-CRDI58_P.js → ConfigConditionTime-BrEhw1R9.js} +1 -1
  31. package/dist/interface/assets/{ConfigSensorValueInput-C3ep90ds.js → ConfigSensorValueInput-DezTWtbA.js} +1 -1
  32. package/dist/interface/assets/{ConfigTriggerDetection-CbVFlyI8.js → ConfigTriggerDetection-xo0imE_3.js} +1 -1
  33. package/dist/interface/assets/ConfigTriggerGeofence-BmJpP4Ew.js +1 -0
  34. package/dist/interface/assets/{ConfigTriggerManual-7kAukUgk.js → ConfigTriggerManual-CmAdnZQK.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerMqtt-DUCZZt2j.js → ConfigTriggerMqtt-F19dhVm1.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerSchedule-lAiLdu1W.js → ConfigTriggerSchedule-BGci3Aed.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSensor-DIhCfhcN.js → ConfigTriggerSensor-DSEDGB2X.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSystem-DZu6Fp2j.js → ConfigTriggerSystem-DPy8Zir4.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerWebhook-D3a5f6vl.js → ConfigTriggerWebhook-Dv0Kmwg8.js} +1 -1
  40. package/dist/interface/assets/Console-Cuh-Vc4u.js +1 -0
  41. package/dist/interface/assets/{CuiAutomationRunsDialog-CgzW_s6M.js → CuiAutomationRunsDialog-B1UeVC6Q.js} +1 -1
  42. package/dist/interface/assets/{CuiBottomSheet-C7UdIQu1.js → CuiBottomSheet-BjkDE7_9.js} +1 -1
  43. package/dist/interface/assets/CuiBottomSheet-C9G-NoMU.js +1 -0
  44. package/dist/interface/assets/CuiCameraPipCard-nrln9zp-.js +1 -0
  45. package/dist/interface/assets/CuiCameraRecordings-B7BhgPpP.css +1 -0
  46. package/dist/interface/assets/CuiCameraRecordings-HKwhFpea.js +1 -0
  47. package/dist/interface/assets/{CuiCameraShares-D3fAJNWF.js → CuiCameraShares-D-fhJCro.js} +1 -1
  48. package/dist/interface/assets/{CuiCameraTable-ApLSxeO4.js → CuiCameraTable-BTVfK-HY.js} +2 -2
  49. package/dist/interface/assets/CuiCameraTable-DGg4_c_u.js +1 -0
  50. package/dist/interface/assets/{CuiChartTable-BeEij8SL.js → CuiChartTable-DAUYP-EW.js} +1 -1
  51. package/dist/interface/assets/{CuiConsole-CMxpzZ51.js → CuiConsole-C7aZj4wK.js} +2 -2
  52. package/dist/interface/assets/{CuiDataTable-f_QVzRqq.js → CuiDataTable-1B8aaZQO.js} +1 -1
  53. package/dist/interface/assets/CuiLightControl-CSA1PYc8.js +1 -0
  54. package/dist/interface/assets/{CuiList-C3oJKyJC.js → CuiList-D-hOSNou.js} +1 -1
  55. package/dist/interface/assets/CuiPluginCard-D1Hkyiy4.js +2 -0
  56. package/dist/interface/assets/{CuiPluginCategoryChip-EJhup0nM.js → CuiPluginCategoryChip-qnn-HD6g.js} +1 -1
  57. package/dist/interface/assets/{CuiPluginOAuthButton-CbPU8trR.js → CuiPluginOAuthButton-CXextmBv.js} +2 -2
  58. package/dist/interface/assets/{CuiPluginTrustBadge-B4bxBl3A.js → CuiPluginTrustBadge-C-8MN2Qc.js} +1 -1
  59. package/dist/interface/assets/{CuiQRCode-CycvR5wz.js → CuiQRCode-D1qmU4qU.js} +1 -1
  60. package/dist/interface/assets/CuiSchema-DnHOpBg4.js +1 -0
  61. package/dist/interface/assets/{CuiTopNavbarItem-D4qP-WpK.js → CuiTopNavbarItem-Csb3O1-n.js} +1 -1
  62. package/dist/interface/assets/Faces-C0QpQxuF.js +1 -0
  63. package/dist/interface/assets/FirstSteps-BqZQovY7.js +1 -0
  64. package/dist/interface/assets/{Floorplan-Da5gt435.css → Floorplan-Bxhdg4C2.css} +1 -1
  65. package/dist/interface/assets/Floorplan-CW-W5ZkV.js +1 -0
  66. package/dist/interface/assets/Instances-VSkiqKKf.js +1 -0
  67. package/dist/interface/assets/{Logs-BBZMBN6a.js → Logs-DQFS2AUi.js} +2 -2
  68. package/dist/interface/assets/{Menu-CRLIo98F.js → Menu-COvvZ_vz.js} +1 -1
  69. package/dist/interface/assets/Metrics-cvbQzChA.js +9 -0
  70. package/dist/interface/assets/OAuthDeviceFlow-3ZC2QCAs.js +1 -0
  71. package/dist/interface/assets/Plugin-DjQd3Y9J.js +1 -0
  72. package/dist/interface/assets/{PluginConsole-D2SUwFDo.js → PluginConsole-BaUkghQD.js} +2 -2
  73. package/dist/interface/assets/PluginDetail-Ofj1hk2q.js +2 -0
  74. package/dist/interface/assets/{PluginSchema-U4q4c9ak.js → PluginSchema-f-ER7hlx.js} +1 -1
  75. package/dist/interface/assets/PluginSearch-Ce3S1HDv.js +1 -0
  76. package/dist/interface/assets/PluginSearch-D5eQsj5p.js +2 -0
  77. package/dist/interface/assets/{PluginUpdateProgress-DWcs6NlJ.js → PluginUpdateProgress-BfYNLvVX.js} +1 -1
  78. package/dist/interface/assets/Plugins-DtDN9z0k.js +1 -0
  79. package/dist/interface/assets/Recordings-CQGnTZFt.js +1 -0
  80. package/dist/interface/assets/SensorEdit-BZtiJyoI.js +1 -0
  81. package/dist/interface/assets/{SensorHistory-B16b4-Um.js → SensorHistory-BFkT3teu.js} +1 -1
  82. package/dist/interface/assets/{Sensors-BsLHVGqk.css → Sensors-CaKl4PQY.css} +1 -1
  83. package/dist/interface/assets/Sensors-DSR-AUqb.js +2 -0
  84. package/dist/interface/assets/{Settings-BOd4EPix.js → Settings-DV3JZFjc.js} +1 -1
  85. package/dist/interface/assets/SettingsAccount-Cd5JPsv2.js +1 -0
  86. package/dist/interface/assets/SettingsAccount-D4ib7Asi.js +1 -0
  87. package/dist/interface/assets/SettingsAppearance-BYsQmdyo.js +1 -0
  88. package/dist/interface/assets/{SettingsAppearance-DZGa_aiI.js → SettingsAppearance-CC6StMAi.js} +1 -1
  89. package/dist/interface/assets/{SettingsBackup-DyblUiF8.js → SettingsBackup-BcVFCbhB.js} +1 -1
  90. package/dist/interface/assets/{SettingsList-DM0yAFkS.js → SettingsList-04HiM3OT.js} +1 -1
  91. package/dist/interface/assets/SettingsMqtt-XaJdsYPn.js +1 -0
  92. package/dist/interface/assets/SettingsNotifications-CUoYMHwr.js +1 -0
  93. package/dist/interface/assets/{SettingsPermissions-w2ptf4wy.js → SettingsPermissions-gFDNSlTh.js} +1 -1
  94. package/dist/interface/assets/SettingsRecordings-Bw64UZWe.js +1 -0
  95. package/dist/interface/assets/SettingsRemote-BnFW-uT-.js +2 -0
  96. package/dist/interface/assets/{SettingsSystem-BsXkYsRC.js → SettingsSystem-Cdjg5GNY.js} +2 -2
  97. package/dist/interface/assets/{SettingsUsers-BSsmo6T0.js → SettingsUsers-DphPL78H.js} +1 -1
  98. package/dist/interface/assets/{Terminal-cU-8dVL_.js → Terminal-CrNjqzTs.js} +2 -2
  99. package/dist/interface/assets/{Updates-dw0MwgsN.js → Updates-V5B9LSD-.js} +1 -1
  100. package/dist/interface/assets/{VariableInput-JSpyezJa.js → VariableInput-n0TxKRqq.js} +1 -1
  101. package/dist/interface/assets/{VariableSuggestions-DZbWgsck.js → VariableSuggestions-C4LmaCAo.js} +1 -1
  102. package/dist/interface/assets/{VersionsHandler-C_mzsgfj.js → VersionsHandler-BPocJcb0.js} +2 -2
  103. package/dist/interface/assets/{VirtualSensorCreate-3mJ8c6Tl.js → VirtualSensorCreate-BPvbrzGS.js} +1 -1
  104. package/dist/interface/assets/Workers-DEvQNzUi.js +2 -0
  105. package/dist/interface/assets/{lightbulb-outline-BtraGBwO.js → alert-outline-DtiCgufF.js} +1 -1
  106. package/dist/interface/assets/{api-COPnjVh2.js → api-BXmkXIE8.js} +1 -1
  107. package/dist/interface/assets/api-DO5wBndX.css +2 -0
  108. package/dist/interface/assets/api-x8zXlvtm.js +4 -0
  109. package/dist/interface/assets/{auth-owqLfbdn.js → auth-BKJnreuu.js} +1 -1
  110. package/dist/interface/assets/{automations-Bql07EFx.js → automations-CVuIXlAQ.js} +1 -1
  111. package/dist/interface/assets/cameraSources-C3cl6FVD.js +1 -0
  112. package/dist/interface/assets/cloudHandoff-BZvvihwX.js +1 -0
  113. package/dist/interface/assets/{config-soN-D-nC.js → config-Sw94rZxF.js} +1 -1
  114. package/dist/interface/assets/{flowSchema-BFZ6n5Su.js → flowSchema-BOrDqdeG.js} +1 -1
  115. package/dist/interface/assets/{intercomService-Bjn0OsVT.js → intercomService-CfCIMUlA.js} +1 -1
  116. package/dist/interface/assets/main-Jl93jEZK.js +3 -0
  117. package/dist/interface/assets/{main-BF8Mg561.css → main-Qqk3RyYP.css} +1 -1
  118. package/dist/interface/assets/{mqtt-CMdU36uB.js → mqtt-BaCMJJk_.js} +1 -1
  119. package/dist/interface/assets/nodeDefinitions-a8iyp3yk.js +1 -0
  120. package/dist/interface/assets/{notifications-C_CbT9aA.js → notifications-l-x8vA4D.js} +1 -1
  121. package/dist/interface/assets/{plugins-CGDE1O2F.js → plugins-GA9v-eQx.js} +1 -1
  122. package/dist/interface/assets/{rooms-BnJo8QbU.js → rooms-DX7PBdpP.js} +1 -1
  123. package/dist/interface/assets/sensorIcons-BTgouEmX.js +1 -0
  124. package/dist/interface/assets/{sensors-Bshdwbki.js → sensors-LJkBCaMk.js} +1 -1
  125. package/dist/interface/assets/{server-CaRDiFTF.js → server-dOx3q8o1.js} +1 -1
  126. package/dist/interface/assets/theme-DgrclY58.js +1 -0
  127. package/dist/interface/assets/types-CSWXRySW.js +1 -0
  128. package/dist/interface/assets/{types-Dwu7_YVv.js → types-D19FOdYo.js} +1 -1
  129. package/dist/interface/assets/types-Yq0FH8fa.js +1 -0
  130. package/dist/interface/assets/ungrouped-B_u9a5wm.js +1 -0
  131. package/dist/interface/assets/{ungrouped-uv64nr5n.css → ungrouped-DTYy_Pud.css} +1 -1
  132. package/dist/interface/assets/{updates-DelnBMM3.js → updates-BVN6uGXy.js} +1 -1
  133. package/dist/interface/assets/{useAppVersion-DeQeb6UF.js → useAppVersion-BUDIkitU.js} +1 -1
  134. package/dist/interface/assets/useBackupRestore-CnSZNCC8.js +1 -0
  135. package/dist/interface/assets/{useCameraOptions-DgMpN00_.js → useCameraOptions-Cgb4eV2d.js} +1 -1
  136. package/dist/interface/assets/{useLogsSocket-BKPqNCOv.js → useLogsSocket-CGKtL049.js} +1 -1
  137. package/dist/interface/assets/{useNavLayout-BJhl8UVM.js → useNavLayout-Dcngcb73.js} +1 -1
  138. package/dist/interface/assets/{usePermissions-Eyt2t6_8.js → usePermissions-zJF4LCPm.js} +1 -1
  139. package/dist/interface/assets/{usePluginUpdates-wfckuNy_.js → usePluginUpdates-DP--lRxm.js} +1 -1
  140. package/dist/interface/assets/{usePushRegistration-jcfB8ujf.js → usePushRegistration-BhPBp28J.js} +1 -1
  141. package/dist/interface/assets/{useServerRestart-XnqHaTb7.js → useServerRestart-BpCDYbPH.js} +1 -1
  142. package/dist/interface/assets/{useStreamStatus-8bE5h_fQ.js → useStreamStatus-BoVMk6KT.js} +1 -1
  143. package/dist/interface/assets/{useTabSwipe-DxZfseQO.js → useTabSwipe--t-Qqa31.js} +1 -1
  144. package/dist/interface/assets/{useUpdateChannel-CjxdE3h1.js → useUpdateChannel-DAuhU-__.js} +1 -1
  145. package/dist/interface/assets/{useUpdatesSocket-DFt7_yr8.js → useUpdatesSocket-C-j3b3tU.js} +1 -1
  146. package/dist/interface/assets/{useUserOptions-DStio0f5.js → useUserOptions-CcLVC73O.js} +1 -1
  147. package/dist/interface/assets/vendor-cameraui-phsC2Mmi.js +2326 -0
  148. package/dist/interface/assets/vendor-core-C0ZWoGJD.js +1 -0
  149. package/dist/interface/assets/{vendor-primevue-DXXRO7Z5.js → vendor-primevue-nPess0JU.js} +76 -76
  150. package/dist/interface/assets/vendor-zod-CJ7LAMqQ.js +99 -0
  151. package/dist/interface/ha/404-PedrGUiq.js +60 -0
  152. package/dist/interface/ha/About-l5fkBqG7.js +55 -0
  153. package/dist/interface/ha/Automation-CaSlGjT4.js +2015 -0
  154. package/dist/interface/ha/AutomationImport-BNavtjDq.js +206 -0
  155. package/dist/interface/ha/AutomationStore-BVSW8TVt.js +335 -0
  156. package/dist/interface/ha/AutomationStoreDetail-DHZwlpz0.js +122 -0
  157. package/dist/interface/ha/Automations-CZ2jvH6d.js +437 -0
  158. package/dist/interface/ha/Camera-CggUrrPm.js +625 -0
  159. package/dist/interface/ha/CameraConsole-DpzF48TF.js +52 -0
  160. package/dist/interface/ha/Cameras-K-kQF5tG.js +1970 -0
  161. package/dist/interface/ha/Camview-zJVP7JwZ.js +1337 -0
  162. package/dist/interface/ha/CertificateUpload-DbBQ87OT.js +117 -0
  163. package/dist/interface/ha/Config-Bsud2DYI.js +356 -0
  164. package/dist/interface/ha/ConfigActionCameraControl-Czkfw_NO.js +152 -0
  165. package/dist/interface/ha/ConfigActionDelay-BHug57u7.js +61 -0
  166. package/dist/interface/ha/ConfigActionHttp-LfbxbfgG.js +134 -0
  167. package/dist/interface/ha/ConfigActionImageInput-Ce2GJzCm.js +171 -0
  168. package/dist/interface/ha/ConfigActionMqtt-KmCGcNZb.js +81 -0
  169. package/dist/interface/ha/ConfigActionNotification-DUMY_3IT.js +199 -0
  170. package/dist/interface/ha/ConfigActionNotificationControl-B9Z2i5WR.js +111 -0
  171. package/dist/interface/ha/ConfigActionOutput-CX-ZQjcs.js +98 -0
  172. package/dist/interface/ha/ConfigActionPlugin-y5PuPwdk.js +172 -0
  173. package/dist/interface/ha/ConfigActionSensor-CC39Rpxi.js +139 -0
  174. package/dist/interface/ha/ConfigActionSnapshot-CWyhx6rk.js +48 -0
  175. package/dist/interface/ha/ConfigActionVariable-BNRLCthd.js +88 -0
  176. package/dist/interface/ha/ConfigConditionIfElse-BayS5_Dr.js +124 -0
  177. package/dist/interface/ha/ConfigConditionSensorState-DLXNqL-R.js +192 -0
  178. package/dist/interface/ha/ConfigConditionSwitch-BBesQgWi.js +128 -0
  179. package/dist/interface/ha/ConfigConditionTime-aD8mk2aa.js +95 -0
  180. package/dist/interface/ha/ConfigSensorValueInput-5JzesEuD.js +169 -0
  181. package/dist/interface/ha/ConfigTriggerDetection--BcjPuyh.js +241 -0
  182. package/dist/interface/ha/ConfigTriggerGeofence-BZi5a2Yv.js +4896 -0
  183. package/dist/interface/ha/ConfigTriggerManual-ConxhgNx.js +14 -0
  184. package/dist/interface/ha/ConfigTriggerMqtt-B6C9injX.js +134 -0
  185. package/dist/interface/ha/ConfigTriggerSchedule-Vv5iNKL3.js +72 -0
  186. package/dist/interface/ha/ConfigTriggerSensor-beixHfSD.js +73 -0
  187. package/dist/interface/ha/ConfigTriggerSystem-BHDpn485.js +188 -0
  188. package/dist/interface/ha/ConfigTriggerWebhook-D9cuCU_p.js +94 -0
  189. package/dist/interface/ha/Console-CbQnrt6X.js +348 -0
  190. package/dist/interface/ha/CuiAutomationRunsDialog-CckgCRNS.js +130 -0
  191. package/dist/interface/ha/CuiBottomSheet-juhGdTsO.js +270 -0
  192. package/dist/interface/ha/CuiCameraRecordings-CLzZiXhk.js +552 -0
  193. package/dist/interface/ha/CuiCameraShares-Dzx1jZGE.js +121 -0
  194. package/dist/interface/ha/CuiCameraTable-ug0ik9N-.js +153 -0
  195. package/dist/interface/ha/CuiChartTable-7EnAA-WG.js +6784 -0
  196. package/dist/interface/ha/CuiConsole-DOnyBSL7.js +244 -0
  197. package/dist/interface/ha/CuiDataTable-Cx9GBqsV.js +8725 -0
  198. package/dist/interface/ha/CuiList-C45psxFZ.js +57 -0
  199. package/dist/interface/ha/CuiMarkdownContent-D7sCtnNQ.js +4716 -0
  200. package/dist/interface/ha/CuiPluginCard-ChLIfOms.js +769 -0
  201. package/dist/interface/ha/CuiPluginOAuthButton-B6vPOEx2.js +105 -0
  202. package/dist/interface/ha/CuiPluginTrustBadge-BvPV93D0.js +123 -0
  203. package/dist/interface/ha/CuiQRCode-Djr3z54t.js +86 -0
  204. package/dist/interface/ha/CuiSchema-dl7TXv-k.js +963 -0
  205. package/dist/interface/ha/CuiTopNavbarItem-BXoda5eM.js +141 -0
  206. package/dist/interface/ha/Faces-DnqWMGWW.js +1281 -0
  207. package/dist/interface/ha/FirstSteps-CFawb017.js +251 -0
  208. package/dist/interface/ha/Floorplan-Mv-Ootly.js +3677 -0
  209. package/dist/interface/ha/Instances-DJjZ3btI.js +680 -0
  210. package/dist/interface/ha/Logs-CLFhW1xq.js +418 -0
  211. package/dist/interface/ha/Menu-D7QTRqMJ.js +161 -0
  212. package/dist/interface/ha/Metrics-CCvFtezL.js +1330 -0
  213. package/dist/interface/ha/OAuthDeviceFlow-4YupTNsK.js +112 -0
  214. package/dist/interface/ha/Plugin-BHU0yhBa.js +1404 -0
  215. package/dist/interface/ha/PluginConsole-CNrLuFQM.js +56 -0
  216. package/dist/interface/ha/PluginDetail-Bm3X-xN4.js +230 -0
  217. package/dist/interface/ha/PluginSearch-C0be8cYD.js +475 -0
  218. package/dist/interface/ha/PluginUpdateProgress-DVvgYMLG.js +34 -0
  219. package/dist/interface/ha/Plugins-R-uz0Se-.js +705 -0
  220. package/dist/interface/ha/Recordings-DAwbihs8.js +1463 -0
  221. package/dist/interface/ha/SensorEdit-BxE1cRLR.js +1460 -0
  222. package/dist/interface/ha/SensorHistory-DUGlH2pU.js +54 -0
  223. package/dist/interface/ha/Sensors-Cax5RlPH.js +1358 -0
  224. package/dist/interface/ha/Settings-DKtlCoyz.js +218 -0
  225. package/dist/interface/ha/SettingsAccount-2e_Vjpev.js +970 -0
  226. package/dist/interface/ha/SettingsAppearance-DCm60FhX.js +220 -0
  227. package/dist/interface/ha/SettingsBackup-CiM_nNWt.js +556 -0
  228. package/dist/interface/ha/SettingsList-D4D3cmLo.js +40 -0
  229. package/dist/interface/ha/SettingsMqtt-CID4L0PD.js +526 -0
  230. package/dist/interface/ha/SettingsNotifications-DGJkhm8T.js +529 -0
  231. package/dist/interface/ha/SettingsPermissions-Cd0rtgli.js +84 -0
  232. package/dist/interface/ha/SettingsRecordings-pR4L0wgy.js +151 -0
  233. package/dist/interface/ha/SettingsRemote-CYg-LSQK.js +1810 -0
  234. package/dist/interface/ha/SettingsSystem-BeYJN1Ut.js +376 -0
  235. package/dist/interface/ha/SettingsUsers-F4CZggSR.js +379 -0
  236. package/dist/interface/ha/Terminal-iQahUx9P.js +631 -0
  237. package/dist/interface/ha/Updates-ClQ77p-o.js +356 -0
  238. package/dist/interface/ha/VariableInput-BOHBmNff.js +52 -0
  239. package/dist/interface/ha/VariableSuggestions-BE06z6SW.js +201 -0
  240. package/dist/interface/ha/VersionsHandler-Cx9u0oj8.js +211 -0
  241. package/dist/interface/ha/VirtualSensorCreate-CvSzLo4N.js +101 -0
  242. package/dist/interface/ha/Workers-CEJtdSu-.js +765 -0
  243. package/dist/interface/ha/accordion-BT2wHwK8.js +577 -0
  244. package/dist/interface/ha/account-B1xL2wxD.js +19 -0
  245. package/dist/interface/ha/ace-Dh61T4RV.js +13238 -0
  246. package/dist/interface/ha/ace.config-HyzcNHkM.js +1429 -0
  247. package/dist/interface/ha/alert-circle-CLRn5GAd.js +19 -0
  248. package/dist/interface/ha/alert-outline-CGTMAqXf.js +75 -0
  249. package/dist/interface/ha/api-BmNBy1ay.js +29 -0
  250. package/dist/interface/ha/api-CWJkvtnM.js +60866 -0
  251. package/dist/interface/ha/arrow-left-DkvcResi.js +19 -0
  252. package/dist/interface/ha/auth-X6tkVYJs.js +271 -0
  253. package/dist/interface/ha/autocomplete-L_jK3s3m.js +1373 -0
  254. package/dist/interface/ha/automationBlueprint-D1TiCF7R.js +249 -0
  255. package/dist/interface/ha/back-filled-Cxzg5vQg.js +20 -0
  256. package/dist/interface/ha/base-D_LAf3cS.js +26 -0
  257. package/dist/interface/ha/base-c1lsE5TW.js +125 -0
  258. package/dist/interface/ha/bell-ring-xrXdzNHW.js +19 -0
  259. package/dist/interface/ha/brain-DyOOk3m3.js +19 -0
  260. package/dist/interface/ha/browser-Bxx7joo_.js +1227 -0
  261. package/dist/interface/ha/browserconfig.xml +11 -0
  262. package/dist/interface/ha/button-BlYuI0Q7.js +406 -0
  263. package/dist/interface/ha/cameraui-cards.js +190 -0
  264. package/dist/interface/ha/cards-CNOyNWMA.js +13316 -0
  265. package/dist/interface/ha/cctv-Bz6BH0ns.js +19 -0
  266. package/dist/interface/ha/check-circle-D_wDxrLs.js +19 -0
  267. package/dist/interface/ha/chevron-down-P5MtUhJO.js +19 -0
  268. package/dist/interface/ha/chip-DxGABeun.js +149 -0
  269. package/dist/interface/ha/clock-outline-JxApewmA.js +19 -0
  270. package/dist/interface/ha/close-Eq3txTBS.js +19 -0
  271. package/dist/interface/ha/close-circle-C2nTtN_-.js +19 -0
  272. package/dist/interface/ha/config-E4Jkelkr.js +116 -0
  273. package/dist/interface/ha/content-copy-DpPXKtKE.js +19 -0
  274. package/dist/interface/ha/copy-C48Ur26H.js +22 -0
  275. package/dist/interface/ha/datepicker-BuvKhBWJ.js +3236 -0
  276. package/dist/interface/ha/definitions-E-sY7Cxg.js +23 -0
  277. package/dist/interface/ha/delete-D-m8mqly.js +19 -0
  278. package/dist/interface/ha/dist-B7lgvbyI.js +279 -0
  279. package/dist/interface/ha/dist-Ca9_5rzq.js +3457 -0
  280. package/dist/interface/ha/divider-jkWvVbPJ.js +110 -0
  281. package/dist/interface/ha/download-Cnr7IQKX.js +19 -0
  282. package/dist/interface/ha/esm-1sIZN4t7.js +6 -0
  283. package/dist/interface/ha/esm-6hnPZcZr.js +15 -0
  284. package/dist/interface/ha/esm-B72ViJ7F.js +5 -0
  285. package/dist/interface/ha/esm-BGlkcEes.js +156 -0
  286. package/dist/interface/ha/esm-BKPZuThK.js +5 -0
  287. package/dist/interface/ha/esm-BMx7MsZ_.js +15 -0
  288. package/dist/interface/ha/esm-CChFtwcx.js +21 -0
  289. package/dist/interface/ha/esm-CMTmAdHP.js +5 -0
  290. package/dist/interface/ha/esm-CkoEL9YX.js +7 -0
  291. package/dist/interface/ha/esm-CvxDASXR.js +23 -0
  292. package/dist/interface/ha/esm-Demxl4zQ.js +5 -0
  293. package/dist/interface/ha/esm-DiBhi9zp.js +5 -0
  294. package/dist/interface/ha/esm-XFPB9fYb.js +15 -0
  295. package/dist/interface/ha/eventLabels-B4C1_4vT.js +42 -0
  296. package/dist/interface/ha/eye-off-AdumIw0H.js +33 -0
  297. package/dist/interface/ha/eye-off-outline-DO3xfiua.js +19 -0
  298. package/dist/interface/ha/fonts/InterVariable.woff2 +0 -0
  299. package/dist/interface/ha/history-BoZc8mgf.js +19 -0
  300. package/dist/interface/ha/home-am0tRTsk.js +19 -0
  301. package/dist/interface/ha/information-outline-DIdNxPCN.js +19 -0
  302. package/dist/interface/ha/inputicon-6-vaPLbw.js +324 -0
  303. package/dist/interface/ha/inputnumber-B1Buq8Nc.js +1033 -0
  304. package/dist/interface/ha/inputtext-DGIESrd0.js +257 -0
  305. package/dist/interface/ha/intercomService-jB2mTgsn.js +1406 -0
  306. package/dist/interface/ha/message-C8U_kMBA.js +244 -0
  307. package/dist/interface/ha/minus-DKa9TXat.js +19 -0
  308. package/dist/interface/ha/minus-QyTgaT70.js +46 -0
  309. package/dist/interface/ha/mqtt-BmDCmG9h.js +56 -0
  310. package/dist/interface/ha/multiselect-BbgV_fPx.js +1492 -0
  311. package/dist/interface/ha/native-BaNeloQn.js +35 -0
  312. package/dist/interface/ha/native-C8PbNqsJ.js +29 -0
  313. package/dist/interface/ha/notifications-B51yvrGL.js +159 -0
  314. package/dist/interface/ha/og-share.png +0 -0
  315. package/dist/interface/ha/pencil-outline-BqfTDXIh.js +19 -0
  316. package/dist/interface/ha/pinia-3D39Do4a.js +6934 -0
  317. package/dist/interface/ha/platformLabels-C3d1PLg-.js +27 -0
  318. package/dist/interface/ha/plugin-DAGqBiG_.js +38 -0
  319. package/dist/interface/ha/plugins-dkWbXWVM.js +592 -0
  320. package/dist/interface/ha/plus-CNdrByQb.js +46 -0
  321. package/dist/interface/ha/plus-d_caPq5l.js +19 -0
  322. package/dist/interface/ha/progressbar-CIoPoMSe.js +95 -0
  323. package/dist/interface/ha/protocol-BB4jdtUC-K1r3LFCq.js +706 -0
  324. package/dist/interface/ha/pwa/apple-splash-landscape-dark-1136x640.png +0 -0
  325. package/dist/interface/ha/pwa/apple-splash-landscape-dark-1334x750.png +0 -0
  326. package/dist/interface/ha/pwa/apple-splash-landscape-dark-1792x828.png +0 -0
  327. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2048x1536.png +0 -0
  328. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2160x1620.png +0 -0
  329. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2208x1242.png +0 -0
  330. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2224x1668.png +0 -0
  331. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2388x1668.png +0 -0
  332. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2436x1125.png +0 -0
  333. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2532x1170.png +0 -0
  334. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2556x1179.png +0 -0
  335. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2688x1242.png +0 -0
  336. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2732x2048.png +0 -0
  337. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2778x1284.png +0 -0
  338. package/dist/interface/ha/pwa/apple-splash-landscape-dark-2796x1290.png +0 -0
  339. package/dist/interface/ha/pwa/apple-splash-landscape-light-1136x640.png +0 -0
  340. package/dist/interface/ha/pwa/apple-splash-landscape-light-1334x750.png +0 -0
  341. package/dist/interface/ha/pwa/apple-splash-landscape-light-1792x828.png +0 -0
  342. package/dist/interface/ha/pwa/apple-splash-landscape-light-2048x1536.png +0 -0
  343. package/dist/interface/ha/pwa/apple-splash-landscape-light-2160x1620.png +0 -0
  344. package/dist/interface/ha/pwa/apple-splash-landscape-light-2208x1242.png +0 -0
  345. package/dist/interface/ha/pwa/apple-splash-landscape-light-2224x1668.png +0 -0
  346. package/dist/interface/ha/pwa/apple-splash-landscape-light-2388x1668.png +0 -0
  347. package/dist/interface/ha/pwa/apple-splash-landscape-light-2436x1125.png +0 -0
  348. package/dist/interface/ha/pwa/apple-splash-landscape-light-2532x1170.png +0 -0
  349. package/dist/interface/ha/pwa/apple-splash-landscape-light-2556x1179.png +0 -0
  350. package/dist/interface/ha/pwa/apple-splash-landscape-light-2688x1242.png +0 -0
  351. package/dist/interface/ha/pwa/apple-splash-landscape-light-2732x2048.png +0 -0
  352. package/dist/interface/ha/pwa/apple-splash-landscape-light-2778x1284.png +0 -0
  353. package/dist/interface/ha/pwa/apple-splash-landscape-light-2796x1290.png +0 -0
  354. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1125x2436.png +0 -0
  355. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1170x2532.png +0 -0
  356. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1179x2556.png +0 -0
  357. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1242x2208.png +0 -0
  358. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1242x2688.png +0 -0
  359. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1284x2778.png +0 -0
  360. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1290x2796.png +0 -0
  361. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1536x2048.png +0 -0
  362. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1620x2160.png +0 -0
  363. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1668x2224.png +0 -0
  364. package/dist/interface/ha/pwa/apple-splash-portrait-dark-1668x2388.png +0 -0
  365. package/dist/interface/ha/pwa/apple-splash-portrait-dark-2048x2732.png +0 -0
  366. package/dist/interface/ha/pwa/apple-splash-portrait-dark-640x1136.png +0 -0
  367. package/dist/interface/ha/pwa/apple-splash-portrait-dark-750x1334.png +0 -0
  368. package/dist/interface/ha/pwa/apple-splash-portrait-dark-828x1792.png +0 -0
  369. package/dist/interface/ha/pwa/apple-splash-portrait-light-1125x2436.png +0 -0
  370. package/dist/interface/ha/pwa/apple-splash-portrait-light-1170x2532.png +0 -0
  371. package/dist/interface/ha/pwa/apple-splash-portrait-light-1179x2556.png +0 -0
  372. package/dist/interface/ha/pwa/apple-splash-portrait-light-1242x2208.png +0 -0
  373. package/dist/interface/ha/pwa/apple-splash-portrait-light-1242x2688.png +0 -0
  374. package/dist/interface/ha/pwa/apple-splash-portrait-light-1284x2778.png +0 -0
  375. package/dist/interface/ha/pwa/apple-splash-portrait-light-1290x2796.png +0 -0
  376. package/dist/interface/ha/pwa/apple-splash-portrait-light-1536x2048.png +0 -0
  377. package/dist/interface/ha/pwa/apple-splash-portrait-light-1620x2160.png +0 -0
  378. package/dist/interface/ha/pwa/apple-splash-portrait-light-1668x2224.png +0 -0
  379. package/dist/interface/ha/pwa/apple-splash-portrait-light-1668x2388.png +0 -0
  380. package/dist/interface/ha/pwa/apple-splash-portrait-light-2048x2732.png +0 -0
  381. package/dist/interface/ha/pwa/apple-splash-portrait-light-640x1136.png +0 -0
  382. package/dist/interface/ha/pwa/apple-splash-portrait-light-750x1334.png +0 -0
  383. package/dist/interface/ha/pwa/apple-splash-portrait-light-828x1792.png +0 -0
  384. package/dist/interface/ha/pwa/apple-touch-icon-180x180.png +0 -0
  385. package/dist/interface/ha/pwa/favicon-16.ico +0 -0
  386. package/dist/interface/ha/pwa/favicon-32.ico +0 -0
  387. package/dist/interface/ha/pwa/favicon-48.ico +0 -0
  388. package/dist/interface/ha/pwa/favicon-64.ico +0 -0
  389. package/dist/interface/ha/pwa/logo.svg +1 -0
  390. package/dist/interface/ha/pwa/maskable-icon-1240x600.png +0 -0
  391. package/dist/interface/ha/pwa/maskable-icon-512x512.png +0 -0
  392. package/dist/interface/ha/pwa/maskable-icon-620x300.png +0 -0
  393. package/dist/interface/ha/pwa/pwa-1024x1024.png +0 -0
  394. package/dist/interface/ha/pwa/pwa-120x120.png +0 -0
  395. package/dist/interface/ha/pwa/pwa-144x144.png +0 -0
  396. package/dist/interface/ha/pwa/pwa-152x152.png +0 -0
  397. package/dist/interface/ha/pwa/pwa-167x167.png +0 -0
  398. package/dist/interface/ha/pwa/pwa-180x180.png +0 -0
  399. package/dist/interface/ha/pwa/pwa-192x192.png +0 -0
  400. package/dist/interface/ha/pwa/pwa-24x24.png +0 -0
  401. package/dist/interface/ha/pwa/pwa-300x300.png +0 -0
  402. package/dist/interface/ha/pwa/pwa-36x36.png +0 -0
  403. package/dist/interface/ha/pwa/pwa-48x48.png +0 -0
  404. package/dist/interface/ha/pwa/pwa-50x50.png +0 -0
  405. package/dist/interface/ha/pwa/pwa-64x64.png +0 -0
  406. package/dist/interface/ha/pwa/pwa-72x72.png +0 -0
  407. package/dist/interface/ha/pwa/pwa-88x88.png +0 -0
  408. package/dist/interface/ha/pwa/pwa-96x96.png +0 -0
  409. package/dist/interface/ha/radar-C7lI26j4.js +19 -0
  410. package/dist/interface/ha/refresh-BIhepekY.js +19 -0
  411. package/dist/interface/ha/ring-resize-VS4MSeBv.js +16 -0
  412. package/dist/interface/ha/ripple-BilzxWfY.js +2928 -0
  413. package/dist/interface/ha/robots.txt +2 -0
  414. package/dist/interface/ha/rolldown-runtime-CEFd7nDs.js +30 -0
  415. package/dist/interface/ha/rooms-B-FUXQ1p.js +45 -0
  416. package/dist/interface/ha/round-alt-arrow-left-bold-CWEg-ZLF.js +37 -0
  417. package/dist/interface/ha/runtime-core.esm-bundler-D8slQ3BU.js +3295 -0
  418. package/dist/interface/ha/search-CoOsbgeb.js +19 -0
  419. package/dist/interface/ha/select-DjWkRqsI.js +1382 -0
  420. package/dist/interface/ha/server-CKJKoFfg.js +239 -0
  421. package/dist/interface/ha/settings-EKkSQLzv.js +22 -0
  422. package/dist/interface/ha/source-branch-CZwSOrQA.js +19 -0
  423. package/dist/interface/ha/speeddial-Dv9txWte.js +682 -0
  424. package/dist/interface/ha/spinner-D6iUldg9.js +46 -0
  425. package/dist/interface/ha/synapse-CGrlyQDE.js +35 -0
  426. package/dist/interface/ha/tag-CXgC9OZ6.js +95 -0
  427. package/dist/interface/ha/textarea-DvLkfUX7.js +130 -0
  428. package/dist/interface/ha/tooltip-BIrD_hC8.js +277 -0
  429. package/dist/interface/ha/trash-2-C4zSCZfs.js +23 -0
  430. package/dist/interface/ha/trash-can-outline-DCqsCOd2.js +19 -0
  431. package/dist/interface/ha/trash-fill-BPsrwR8X.js +21 -0
  432. package/dist/interface/ha/types-C7MzwoQR.js +28 -0
  433. package/dist/interface/ha/types-J_J0HKlK.js +1032 -0
  434. package/dist/interface/ha/ungrouped-BpaM88Y-.js +1116 -0
  435. package/dist/interface/ha/updates-BdVmkKAa.js +341 -0
  436. package/dist/interface/ha/upload-2xJkVPZE.js +19 -0
  437. package/dist/interface/ha/upload-wQHBRZX_.js +23 -0
  438. package/dist/interface/ha/useAppVersion-DzDaOsKc.js +22 -0
  439. package/dist/interface/ha/useLogsSocket-CWUE-KXV.js +59 -0
  440. package/dist/interface/ha/useNavLayout-BqpyvD2F.js +125 -0
  441. package/dist/interface/ha/usePermissions-BIUeW4ef.js +72 -0
  442. package/dist/interface/ha/useServerRestart-0c4gA1fG.js +23 -0
  443. package/dist/interface/ha/useTabSwipe-C8LdKw23.js +45 -0
  444. package/dist/interface/ha/useUpdateChannel-CHVLthZB.js +22 -0
  445. package/dist/interface/ha/useUpdatesSocket-CaxEs511.js +34 -0
  446. package/dist/interface/ha/useUserOptions-Rk_71WAK.js +15 -0
  447. package/dist/interface/ha/utils-DYtBrGDz.js +7 -0
  448. package/dist/interface/ha/virtualscroller-s_gNqN5p.js +996 -0
  449. package/dist/interface/ha/vue-flow-background-B0Vu4-8M.js +6840 -0
  450. package/dist/interface/ha/vue-i18n-Dcb07o5U.js +2409 -0
  451. package/dist/interface/ha/web-0Kyq65na.js +78 -0
  452. package/dist/interface/ha/web-B7Dt2zZN.js +340 -0
  453. package/dist/interface/ha/web-BNdrPSpb.js +102 -0
  454. package/dist/interface/ha/web-BPBZBCtX.js +8 -0
  455. package/dist/interface/ha/web-BjKL51lK-qwJdIpM1.js +221 -0
  456. package/dist/interface/ha/web-C01i9qI1.js +57 -0
  457. package/dist/interface/ha/web-CH3JeXWa.js +211 -0
  458. package/dist/interface/ha/web-Cpm1-DVe.js +33 -0
  459. package/dist/interface/ha/web-DqRMXrnx.js +31 -0
  460. package/dist/interface/ha/web-DtVT7WYt.js +17 -0
  461. package/dist/interface/ha/web-DxJQZCiR.js +59 -0
  462. package/dist/interface/ha/web-I7Urp4AE.js +46 -0
  463. package/dist/interface/ha/web-aSaPk7kr.js +57 -0
  464. package/dist/interface/ha/web-pMey9p3Y.js +79 -0
  465. package/dist/interface/ha/xterm-B6xA6E5i.js +14833 -0
  466. package/dist/interface/ha/zoom-in-CNVB9H3D.js +41 -0
  467. package/dist/interface/index.html +29 -29
  468. package/dist/interface/sw.js +1 -1
  469. package/dist/server/package.json +8 -8
  470. package/dist/server/requirements.txt +3 -3
  471. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/client.py +9 -6
  472. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/types.py +2 -2
  473. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +4 -2
  474. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +8 -0
  475. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +4 -3
  476. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/__init__.py +6 -0
  477. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/sensor_rpc.py +17 -6
  478. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/manager/__init__.py +24 -70
  479. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/interfaces.py +46 -19
  480. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +2 -0
  481. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +65 -8
  482. package/dist/server/src/api/database/index.d.ts +1 -1
  483. package/dist/server/src/api/database/index.js +4 -32
  484. package/dist/server/src/api/database/index.js.map +1 -1
  485. package/dist/server/src/api/database/migrations/v2-1-18.d.ts +3 -0
  486. package/dist/server/src/api/database/migrations/v2-1-18.js +24 -0
  487. package/dist/server/src/api/database/migrations/v2-1-18.js.map +1 -0
  488. package/dist/server/src/api/database/record-schemas.d.ts +1 -0
  489. package/dist/server/src/api/database/types.d.ts +4 -3
  490. package/dist/server/src/api/schemas/cameras.schema.d.ts +53 -15
  491. package/dist/server/src/api/schemas/cameras.schema.js +5 -1
  492. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  493. package/dist/server/src/api/schemas/users.schema.d.ts +7 -0
  494. package/dist/server/src/api/schemas/users.schema.js +1 -1
  495. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  496. package/dist/server/src/api/services/cameras.service.js +14 -21
  497. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  498. package/dist/server/src/api/services/sensors.service.d.ts +3 -3
  499. package/dist/server/src/api/services/sensors.service.js +3 -24
  500. package/dist/server/src/api/services/sensors.service.js.map +1 -1
  501. package/dist/server/src/api/utils/regex.d.ts +2 -0
  502. package/dist/server/src/api/utils/regex.js +2 -0
  503. package/dist/server/src/api/utils/regex.js.map +1 -1
  504. package/dist/server/src/api/websocket/nsp/sensors.d.ts +3 -1
  505. package/dist/server/src/api/websocket/nsp/sensors.js +13 -3
  506. package/dist/server/src/api/websocket/nsp/sensors.js.map +1 -1
  507. package/dist/server/src/camera/decoder/debug/detection-record.d.ts +3 -1
  508. package/dist/server/src/camera/decoder/debug/detection-record.js +6 -2
  509. package/dist/server/src/camera/decoder/debug/detection-record.js.map +1 -1
  510. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +2 -0
  511. package/dist/server/src/camera/decoder/detection-coordinator.js +44 -25
  512. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  513. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +3 -1
  514. package/dist/server/src/camera/decoder/detection-pipeline.js +3 -22
  515. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  516. package/dist/server/src/camera/decoder/event-manager.d.ts +4 -3
  517. package/dist/server/src/camera/decoder/event-manager.js +17 -5
  518. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  519. package/dist/server/src/camera/decoder/event-thumbnailer.d.ts +3 -0
  520. package/dist/server/src/camera/decoder/event-thumbnailer.js +13 -8
  521. package/dist/server/src/camera/decoder/event-thumbnailer.js.map +1 -1
  522. package/dist/server/src/camera/decoder/event-trace.d.ts +58 -0
  523. package/dist/server/src/camera/decoder/event-trace.js +118 -0
  524. package/dist/server/src/camera/decoder/event-trace.js.map +1 -0
  525. package/dist/server/src/camera/decoder/nvr-sink.d.ts +2 -0
  526. package/dist/server/src/camera/decoder/nvr-sink.js.map +1 -1
  527. package/dist/server/src/camera/decoder/reconnect-backoff.js +1 -1
  528. package/dist/server/src/camera/decoder/reconnect-backoff.js.map +1 -1
  529. package/dist/server/src/camera/decoder/sources/analysis-source.d.ts +1 -0
  530. package/dist/server/src/camera/decoder/sources/buffered-source.d.ts +7 -1
  531. package/dist/server/src/camera/decoder/sources/buffered-source.js +27 -15
  532. package/dist/server/src/camera/decoder/sources/buffered-source.js.map +1 -1
  533. package/dist/server/src/camera/decoder/sources/frame-handle.d.ts +2 -1
  534. package/dist/server/src/camera/decoder/sources/frame-handle.js +5 -3
  535. package/dist/server/src/camera/decoder/sources/frame-handle.js.map +1 -1
  536. package/dist/server/src/camera/decoder/sources/frame-source.d.ts +1 -0
  537. package/dist/server/src/camera/decoder/sources/frame-source.js +7 -2
  538. package/dist/server/src/camera/decoder/sources/frame-source.js.map +1 -1
  539. package/dist/server/src/camera/decoder/sources/rtp-index.d.ts +9 -0
  540. package/dist/server/src/camera/decoder/sources/rtp-index.js +24 -0
  541. package/dist/server/src/camera/decoder/sources/rtp-index.js.map +1 -0
  542. package/dist/server/src/camera/decoder/worker.js +1 -0
  543. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  544. package/dist/server/src/go2rtc/types.d.ts +1 -1
  545. package/dist/server/src/go2rtc/types.js +1 -1
  546. package/dist/server/src/go2rtc/types.js.map +1 -1
  547. package/dist/server/src/plugins/runtime/node/child.js +1 -0
  548. package/dist/server/src/plugins/runtime/node/child.js.map +1 -1
  549. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +3 -0
  550. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -1
  551. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.d.ts +2 -5
  552. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js +95 -24
  553. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js.map +1 -1
  554. package/dist/server/src/plugins/runtime/python/child.py +1 -0
  555. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +9 -0
  556. package/dist/server/src/plugins/runtime/python/proxy/sensor.py +2 -1
  557. package/dist/server/src/plugins/runtime/python/proxy/sensor_manager.py +185 -88
  558. package/dist/server/src/plugins/runtime/python/typings.py +18 -0
  559. package/dist/server/src/rpc/interfaces/sensor.d.ts +19 -4
  560. package/dist/server/src/sensors/discovery.d.ts +1 -1
  561. package/dist/server/src/sensors/discovery.js +10 -19
  562. package/dist/server/src/sensors/discovery.js.map +1 -1
  563. package/dist/server/src/sensors/registry.d.ts +6 -2
  564. package/dist/server/src/sensors/registry.js +75 -6
  565. package/dist/server/src/sensors/registry.js.map +1 -1
  566. package/dist/server/src/utils/camera.d.ts +12 -2
  567. package/dist/server/src/utils/camera.js +27 -1
  568. package/dist/server/src/utils/camera.js.map +1 -1
  569. package/dist/server/src/workers/pairing.js +17 -8
  570. package/dist/server/src/workers/pairing.js.map +1 -1
  571. package/package.json +8 -8
  572. package/dist/interface/assets/Automation-4HPAjq1i.js +0 -3
  573. package/dist/interface/assets/AutomationStoreDetail-C2ntfGP-.js +0 -2
  574. package/dist/interface/assets/Automations-CUUq9dxs.js +0 -2
  575. package/dist/interface/assets/Camera-DmrRrgqQ.js +0 -2
  576. package/dist/interface/assets/Cameras-B-aQUuPk.js +0 -652
  577. package/dist/interface/assets/Camview-B-W5jpCR.js +0 -1
  578. package/dist/interface/assets/ConfigActionNotification-Bq28CjsJ.js +0 -1
  579. package/dist/interface/assets/ConfigConditionSwitch-DYAlj5no.js +0 -1
  580. package/dist/interface/assets/ConfigTriggerGeofence-ClKyzb-x.js +0 -1
  581. package/dist/interface/assets/Console-ctbGFtCH.js +0 -1
  582. package/dist/interface/assets/CuiBottomSheet-Bo1wUyiN.js +0 -1
  583. package/dist/interface/assets/CuiCameraPipCard-BEAE44of.js +0 -1
  584. package/dist/interface/assets/CuiCameraRecordings-BzbwSK8-.css +0 -1
  585. package/dist/interface/assets/CuiCameraRecordings-C1evIMhc.js +0 -1
  586. package/dist/interface/assets/CuiCameraTable-BAjQ8h5H.js +0 -1
  587. package/dist/interface/assets/CuiLightControl-9OhT9YYt.js +0 -1
  588. package/dist/interface/assets/CuiPluginCard-DQgVasi7.js +0 -2
  589. package/dist/interface/assets/CuiSchema-juKEra_J.js +0 -1
  590. package/dist/interface/assets/Faces-Ce3mKYc7.js +0 -1
  591. package/dist/interface/assets/FirstSteps-BBLzX2bl.js +0 -1
  592. package/dist/interface/assets/Floorplan-B7BVj65t.js +0 -1
  593. package/dist/interface/assets/Instances-4VxGT2fm.js +0 -1
  594. package/dist/interface/assets/Metrics-DudHV8Ov.js +0 -9
  595. package/dist/interface/assets/OAuthDeviceFlow-Z3Cesvs9.js +0 -1
  596. package/dist/interface/assets/Plugin-DwadariU.js +0 -1
  597. package/dist/interface/assets/PluginDetail-C_XghvQz.js +0 -2
  598. package/dist/interface/assets/PluginSearch-11dsxfvW.js +0 -1
  599. package/dist/interface/assets/PluginSearch-DgQOryM2.js +0 -2
  600. package/dist/interface/assets/Plugins-QheVcYZB.js +0 -1
  601. package/dist/interface/assets/Recordings-DwPnYsd6.js +0 -1
  602. package/dist/interface/assets/SensorEdit-C9Ejdxaz.js +0 -1
  603. package/dist/interface/assets/Sensors-D4tY50d4.js +0 -2
  604. package/dist/interface/assets/SettingsAccount-DMvvar8D.js +0 -1
  605. package/dist/interface/assets/SettingsAccount-DYCCnjWY.js +0 -1
  606. package/dist/interface/assets/SettingsAppearance-vLBhLEag.js +0 -1
  607. package/dist/interface/assets/SettingsMqtt-Cj9ywnP2.js +0 -1
  608. package/dist/interface/assets/SettingsNotifications-flx3W4Uo.js +0 -1
  609. package/dist/interface/assets/SettingsRecordings-D3b6y2SX.js +0 -1
  610. package/dist/interface/assets/SettingsRemote-o01wgKPR.js +0 -2
  611. package/dist/interface/assets/Workers-CdaYj6Ap.js +0 -2
  612. package/dist/interface/assets/alert-outline-KxFvd3i6.js +0 -1
  613. package/dist/interface/assets/api-2VPaKkqc.js +0 -2
  614. package/dist/interface/assets/api-CEbDxsSY.css +0 -2
  615. package/dist/interface/assets/cameras.schema-CnSdfqqj.js +0 -1
  616. package/dist/interface/assets/cloudHandoff-B1z5dyPD.js +0 -1
  617. package/dist/interface/assets/main-BfL5CDS8.js +0 -3
  618. package/dist/interface/assets/nodeDefinitions-D6zhuw60.js +0 -1
  619. package/dist/interface/assets/sensorIcons-FPxm3pDg.js +0 -1
  620. package/dist/interface/assets/theme-CRQoJiuY.js +0 -1
  621. package/dist/interface/assets/types-BHgaZSm2.js +0 -1
  622. package/dist/interface/assets/types-CQpPteyx.js +0 -1
  623. package/dist/interface/assets/ungrouped-BbOtmmDD.js +0 -1
  624. package/dist/interface/assets/useBackupRestore-CT1PYJDW.js +0 -1
  625. package/dist/interface/assets/vendor-cameraui-ZyqPntQ7.js +0 -2326
  626. package/dist/interface/assets/vendor-core-DN-bpg68.js +0 -1
  627. package/dist/interface/assets/vendor-zod-B0ZFM2Pr.js +0 -127
@@ -0,0 +1,680 @@
1
+ import { c as e, m as t } from "./ripple-BilzxWfY.js";
2
+ import { Dt as n, G as r, H as i, I as a, Jt as o, Wt as s, _t as c, d as l, f as u, gt as d, kt as f, l as p, lt as m, ot as h, p as g, qt as _, r as v, rt as y, u as b, x, xt as S, y as C, yt as w } from "./runtime-core.esm-bundler-D8slQ3BU.js";
3
+ import { t as T } from "./tag-CXgC9OZ6.js";
4
+ import { Ar as E, B as ee, Dn as te, Er as D, L as O, R as ne, Tr as re, W as ie, b as ae, ci as oe, fr as k, gi as se, gt as ce, ia as le, ri as A, ti as ue, wr as de, y as fe, z as pe } from "./api-CWJkvtnM.js";
5
+ import { I as me } from "./protocol-BB4jdtUC-K1r3LFCq.js";
6
+ import { i as j } from "./intercomService-jB2mTgsn.js";
7
+ import { n as he } from "./vue-i18n-Dcb07o5U.js";
8
+ import { t as M } from "./button-BlYuI0Q7.js";
9
+ import { n as ge, t as _e } from "./inputicon-6-vaPLbw.js";
10
+ import { t as N } from "./inputtext-DGIESrd0.js";
11
+ import { t as ve } from "./close-Eq3txTBS.js";
12
+ import { t as ye } from "./search-CoOsbgeb.js";
13
+ import { t as be } from "./back-filled-Cxzg5vQg.js";
14
+ import { t as xe } from "./plus-d_caPq5l.js";
15
+ import { t as Se } from "./pencil-outline-BqfTDXIh.js";
16
+ import { t as Ce } from "./trash-fill-BPsrwR8X.js";
17
+ //#region ~icons/mdi/harddisk
18
+ var P = {
19
+ viewBox: "0 0 24 24",
20
+ width: "1.2em",
21
+ height: "1.2em"
22
+ };
23
+ function F(e, t) {
24
+ return i(), g("svg", P, [...t[0] ||= [b("path", {
25
+ fill: "currentColor",
26
+ d: "M6 2h12a2 2 0 0 1 2 2v16a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2m6 2a6 6 0 0 0-6 6c0 3.31 2.69 6 6.1 6l-.88-2.23a1.01 1.01 0 0 1 .37-1.37l.86-.5a1.01 1.01 0 0 1 1.37.37l1.92 2.42A5.98 5.98 0 0 0 18 10a6 6 0 0 0-6-6m0 5a1 1 0 0 1 1 1a1 1 0 0 1-1 1a1 1 0 0 1-1-1a1 1 0 0 1 1-1m-5 9a1 1 0 0 0-1 1a1 1 0 0 0 1 1a1 1 0 0 0 1-1a1 1 0 0 0-1-1m5.09-4.73l2.49 6.31l2.59-1.5l-4.22-5.31z"
27
+ }, null, -1)]]);
28
+ }
29
+ var I = c({
30
+ name: "mdi-harddisk",
31
+ render: F
32
+ }), L = {
33
+ viewBox: "0 0 24 24",
34
+ width: "1.2em",
35
+ height: "1.2em"
36
+ };
37
+ function R(e, t) {
38
+ return i(), g("svg", L, [...t[0] ||= [b("path", {
39
+ fill: "currentColor",
40
+ d: "M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10a10 10 0 0 0 10-10A10 10 0 0 0 12 2m0 2a8 8 0 0 1 8 8a8 8 0 0 1-8 8a8 8 0 0 1-8-8a8 8 0 0 1 8-8m0 5a3 3 0 0 0-3 3a3 3 0 0 0 3 3a3 3 0 0 0 3-3a3 3 0 0 0-3-3"
41
+ }, null, -1)]]);
42
+ }
43
+ var we = c({
44
+ name: "mdi-record-circle-outline",
45
+ render: R
46
+ }), Te = {
47
+ viewBox: "0 0 24 24",
48
+ width: "1.2em",
49
+ height: "1.2em"
50
+ };
51
+ function Ee(e, t) {
52
+ return i(), g("svg", Te, [...t[0] ||= [b("path", {
53
+ fill: "currentColor",
54
+ d: "M9.15316 5.40838C10.4198 3.13613 11.0531 2 12 2C12.9469 2 13.5802 3.13612 14.8468 5.40837L15.1745 5.99623C15.5345 6.64193 15.7144 6.96479 15.9951 7.17781C16.2757 7.39083 16.6251 7.4699 17.3241 7.62805L17.9605 7.77203C20.4201 8.32856 21.65 8.60682 21.9426 9.54773C22.2352 10.4886 21.3968 11.4691 19.7199 13.4299L19.2861 13.9372C18.8096 14.4944 18.5713 14.773 18.4641 15.1177C18.357 15.4624 18.393 15.8341 18.465 16.5776L18.5306 17.2544C18.7841 19.8706 18.9109 21.1787 18.1449 21.7602C17.3788 22.3417 16.2273 21.8115 13.9243 20.7512L13.3285 20.4768C12.6741 20.1755 12.3469 20.0248 12 20.0248C11.6531 20.0248 11.3259 20.1755 10.6715 20.4768L10.0757 20.7512C7.77268 21.8115 6.62118 22.3417 5.85515 21.7602C5.08912 21.1787 5.21588 19.8706 5.4694 17.2544L5.53498 16.5776C5.60703 15.8341 5.64305 15.4624 5.53586 15.1177C5.42868 14.773 5.19043 14.4944 4.71392 13.9372L4.2801 13.4299C2.60325 11.4691 1.76482 10.4886 2.05742 9.54773C2.35002 8.60682 3.57986 8.32856 6.03954 7.77203L6.67589 7.62805C7.37485 7.4699 7.72433 7.39083 8.00494 7.17781C8.28555 6.96479 8.46553 6.64194 8.82547 5.99623L9.15316 5.40838Z"
55
+ }, null, -1)]]);
56
+ }
57
+ var De = c({
58
+ name: "solar-star-bold",
59
+ render: Ee
60
+ }), z = { class: "flex flex-col gap-2" }, B = { class: "flex items-center justify-between gap-2" }, V = { class: "flex items-center gap-1.5 min-w-0" }, H = { class: "text-xl font-semibold truncate" }, U = { class: "flex items-center gap-1 shrink-0" }, Oe = { class: "relative w-5 h-5" }, W = { class: "flex items-center gap-2" }, G = { class: "text-sm text-muted-color truncate" }, ke = {
61
+ key: 0,
62
+ class: "text-xs text-muted-color ml-auto shrink-0"
63
+ }, K = {
64
+ key: 0,
65
+ class: "flex flex-col gap-2 mt-2"
66
+ }, Ae = { class: "cui-progress-track w-full h-2 rounded-full overflow-hidden" }, q = { class: "flex items-center justify-between text-sm text-muted-color" }, J = {
67
+ key: 1,
68
+ class: "mt-1"
69
+ }, Y = { class: "text-sm text-orange-500" }, X = {
70
+ key: 2,
71
+ class: "mt-1"
72
+ }, Z = { class: "text-sm text-orange-500" }, je = {
73
+ key: 3,
74
+ class: "mt-1"
75
+ }, Q = { class: "text-sm text-muted-color" }, Me = { class: "flex items-center text-muted-color" }, Ne = {
76
+ key: 0,
77
+ class: "flex items-center gap-4"
78
+ }, Pe = { class: "flex items-center gap-1.5" }, Fe = { class: "text-sm text-color font-medium" }, Ie = { class: "flex items-center gap-1.5" }, Le = { class: "text-sm text-color font-medium" }, Re = {
79
+ key: 1,
80
+ class: "flex items-center gap-1.5 ml-auto"
81
+ }, ze = { class: "text-sm text-color font-medium" }, Be = /* @__PURE__ */ x({
82
+ __name: "CuiInstanceCard",
83
+ props: {
84
+ instance: {},
85
+ menuOpen: { type: Boolean },
86
+ selectionMode: { type: Boolean },
87
+ selected: { type: Boolean }
88
+ },
89
+ emits: ["toggle-favorite", "open-menu"],
90
+ setup(e, { emit: r }) {
91
+ let a = e, c = r, { instance: d } = n(a), h = p(() => d.value.lastUpdatedAt ? S(d.value.lastUpdatedAt) : "");
92
+ function v(e) {
93
+ return e >= 1024 ? `${(e / 1024).toFixed(1)} GB` : `${e} MB`;
94
+ }
95
+ function y(e) {
96
+ return e >= 1e6 ? `${(e / 1e6).toFixed(1)} TB` : e >= 1e3 ? `${(e / 1e3).toFixed(0)} GB` : `${e} MB`;
97
+ }
98
+ function x(e) {
99
+ return e >= 90 ? "bg-red-500" : e >= 70 ? "bg-orange-400" : e >= 50 ? "bg-yellow-400" : "bg-green-500";
100
+ }
101
+ function S(e) {
102
+ let t = Date.now() - (typeof e == "number" ? e : new Date(e).getTime()), n = Math.floor(t / 6e4);
103
+ if (n < 1) return "< 1m";
104
+ if (n < 60) return `${n}m`;
105
+ let r = Math.floor(n / 60);
106
+ return r < 24 ? `${r}h` : `${Math.floor(r / 24)}d`;
107
+ }
108
+ return (n, r) => {
109
+ let a = k, p = De, S = M, w = T, E = A, ee = we, te = I, D = j;
110
+ return i(), l(D, { class: s(["cui-card transition-shadow h-[176px] relative", {
111
+ "ring-1 ring-primary": f(d).active,
112
+ "cursor-pointer hover:shadow-md": e.selectionMode || f(d).status !== "offline",
113
+ "opacity-60": f(d).status === "offline"
114
+ }]) }, {
115
+ content: m(() => [b("div", z, [
116
+ b("div", B, [b("div", V, [e.selectionMode ? (i(), g("div", {
117
+ key: 0,
118
+ class: s(["w-6 h-6 rounded-full border-2 flex items-center justify-center transition-colors shrink-0", e.selected ? "bg-primary border-primary" : "border-color"])
119
+ }, [e.selected ? (i(), l(a, {
120
+ key: 0,
121
+ class: "w-4 h-4 text-white"
122
+ })) : u("", !0)], 2)) : (i(), l(S, {
123
+ key: 1,
124
+ severity: "secondary",
125
+ text: "",
126
+ rounded: "",
127
+ class: "cui-icon-sm shrink-0 !ml-[calc(-0.25rem*2)]",
128
+ onClick: r[0] ||= t((e) => c("toggle-favorite"), ["stop"])
129
+ }, {
130
+ icon: m(() => [f(d).favorite ? (i(), l(p, {
131
+ key: 0,
132
+ class: "w-4 h-4 text-yellow-500"
133
+ })) : (i(), l(p, {
134
+ key: 1,
135
+ class: "w-4 h-4"
136
+ }))]),
137
+ _: 1
138
+ })), b("h3", H, o(f(d).name), 1)]), b("div", U, [
139
+ f(d).pending2fa ? (i(), l(w, {
140
+ key: 0,
141
+ severity: "warn",
142
+ value: "2FA",
143
+ class: "text-xs"
144
+ })) : u("", !0),
145
+ f(d).status === "offline" ? (i(), l(w, {
146
+ key: 1,
147
+ severity: "danger",
148
+ value: n.$t("views.instances.offline"),
149
+ class: "text-xs"
150
+ }, null, 8, ["value"])) : u("", !0),
151
+ f(d).active ? (i(), l(w, {
152
+ key: 2,
153
+ severity: "success",
154
+ value: n.$t("views.instances.active")
155
+ }, null, 8, ["value"])) : u("", !0),
156
+ e.selectionMode ? u("", !0) : (i(), l(S, {
157
+ key: 3,
158
+ severity: "secondary",
159
+ text: "",
160
+ rounded: "",
161
+ class: "cui-icon-sm",
162
+ onClick: r[1] ||= t((e) => c("open-menu", e), ["stop"])
163
+ }, {
164
+ icon: m(() => [b("div", Oe, [
165
+ b("div", { class: s(["absolute top-0.5 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full transform transition-all duration-100 origin-center bg-current", { "w-3.5 h-[2px] rotate-45 top-1/2 -translate-y-1/2 rounded-none": e.menuOpen }]) }, null, 2),
166
+ b("div", { class: s(["absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-1 h-1 rounded-full transition-all duration-100 bg-current", { "opacity-0 scale-0": e.menuOpen }]) }, null, 2),
167
+ b("div", { class: s(["absolute bottom-0.5 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full transform transition-all duration-100 origin-center bg-current", { "w-3.5 h-[2px] -rotate-45 bottom-1/2 translate-y-1/2 rounded-none": e.menuOpen }]) }, null, 2)
168
+ ])]),
169
+ _: 1
170
+ }))
171
+ ])]),
172
+ b("div", W, [
173
+ b("div", { class: s(["w-2 h-2 rounded-full shrink-0", {
174
+ "bg-green-500": f(d).status === "online",
175
+ "bg-red-500": f(d).status === "offline",
176
+ "bg-gray-400": f(d).status === "unknown"
177
+ }]) }, null, 2),
178
+ b("span", G, o(f(d).version ? `v${f(d).version}` : f(d).url || ""), 1),
179
+ f(h) ? (i(), g("span", ke, o(f(h)), 1)) : u("", !0)
180
+ ]),
181
+ f(d).resources ? (i(), g("div", K, [b("div", Ae, [b("div", {
182
+ class: s(["h-full rounded-full transition-all duration-300", x(f(d).resources.cpuUsage)]),
183
+ style: _({ width: `${f(d).resources.cpuUsage}%` })
184
+ }, null, 6)]), b("div", q, [b("span", null, "CPU " + o(f(d).resources.cpuUsage) + "%", 1), b("span", null, o(v(f(d).resources.memUsed)) + " / " + o(v(f(d).resources.memTotal)), 1)])])) : f(d).hasCredentials ? f(d).pending2fa ? (i(), g("div", X, [b("span", Z, o(n.$t("views.instances.two_factor_pending_hint")), 1)])) : (i(), g("div", je, [b("span", Q, o(f(d).status === "offline" ? n.$t("views.instances.server_offline") : n.$t("views.instances.no_data")), 1)])) : (i(), g("div", J, [b("span", Y, o(n.$t("views.instances.credentials_required")), 1)]))
185
+ ])]),
186
+ footer: m(() => [b("div", Me, [f(d).cameras ? (i(), g("div", Ne, [b("div", Pe, [C(E, { class: "w-4 h-4" }), b("span", Fe, o(f(d).cameras.online) + "/" + o(f(d).cameras.total), 1)]), b("div", Ie, [C(ee, { class: "w-4 h-4 text-red-500" }), b("span", Le, o(f(d).cameras.recording), 1)])])) : u("", !0), f(d).resources ? (i(), g("div", Re, [C(te, { class: "w-4 h-4" }), b("span", ze, o(y(f(d).resources.diskUsed)) + " / " + o(y(f(d).resources.diskTotal)), 1)])) : u("", !0)])]),
187
+ _: 1
188
+ }, 8, ["class"]);
189
+ };
190
+ }
191
+ }), Ve = {
192
+ viewBox: "0 0 24 24",
193
+ width: "1.2em",
194
+ height: "1.2em"
195
+ };
196
+ function He(e, t) {
197
+ return i(), g("svg", Ve, [...t[0] ||= [b("path", {
198
+ fill: "currentColor",
199
+ d: "M2 7v2h4v2H4a2 2 0 0 0-2 2v4h6v-2H4v-2h2a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zm7 0v10h2v-4h3v-2h-3V9h4V7zm9 0a2 2 0 0 0-2 2v8h2v-3h2v3h2V9a2 2 0 0 0-2-2zm0 2h2v3h-2z"
200
+ }, null, -1)]]);
201
+ }
202
+ var Ue = c({
203
+ name: "mdi-two-factor-authentication",
204
+ render: He
205
+ }), We = { class: "flex flex-col gap-6 w-full" }, Ge = { class: "flex flex-col field-gap" }, Ke = {
206
+ for: "instanceName",
207
+ class: "cui-label"
208
+ }, qe = { class: "flex flex-col field-gap" }, Je = {
209
+ for: "instanceUrl",
210
+ class: "cui-label"
211
+ }, Ye = { class: "flex flex-col field-gap" }, Xe = {
212
+ for: "credUsername",
213
+ class: "cui-label"
214
+ }, Ze = { class: "flex flex-col field-gap" }, Qe = {
215
+ for: "credPassword",
216
+ class: "cui-label"
217
+ }, $e = /* @__PURE__ */ x({
218
+ __name: "EditInstanceDialog",
219
+ props: {
220
+ currentName: {},
221
+ currentUrl: {},
222
+ hasCredentials: { type: Boolean }
223
+ },
224
+ setup(e, { expose: t }) {
225
+ let n = e, { t: r } = he(), a = se(), s = S(n.currentName), c = S(n.currentUrl ?? ""), u = S(""), m = S(""), h = p(() => !n.currentName), _ = p(() => !!n.hasCredentials);
226
+ return t({ onConfirm: async () => {
227
+ let e = s.value.trim();
228
+ if (!e) return null;
229
+ if (h.value) {
230
+ let t = c.value.trim();
231
+ if (!t) return null;
232
+ let n = u.value.trim();
233
+ return !n || !m.value ? (a.add({
234
+ severity: "warn",
235
+ detail: r("views.settings.instances.credentials_required"),
236
+ life: 3e3
237
+ }), null) : {
238
+ name: e,
239
+ url: t,
240
+ credentials: {
241
+ username: n,
242
+ password: m.value
243
+ }
244
+ };
245
+ }
246
+ return {
247
+ name: e,
248
+ credentials: u.value.trim() && m.value ? {
249
+ username: u.value.trim(),
250
+ password: m.value
251
+ } : void 0
252
+ };
253
+ } }), (t, n) => {
254
+ let r = N;
255
+ return i(), g("div", We, [
256
+ b("div", Ge, [b("label", Ke, o(t.$t("views.settings.instances.name")), 1), C(r, {
257
+ id: "instanceName",
258
+ modelValue: f(s),
259
+ "onUpdate:modelValue": n[0] ||= (e) => d(s) ? s.value = e : null,
260
+ placeholder: t.$t("views.settings.instances.name"),
261
+ class: "w-full",
262
+ autofocus: ""
263
+ }, null, 8, ["modelValue", "placeholder"])]),
264
+ b("div", qe, [b("label", Je, o(t.$t("views.settings.instances.url")), 1), f(h) ? (i(), l(r, {
265
+ key: 0,
266
+ id: "instanceUrl",
267
+ modelValue: f(c),
268
+ "onUpdate:modelValue": n[1] ||= (e) => d(c) ? c.value = e : null,
269
+ placeholder: t.$t("views.settings.instances.url_placeholder"),
270
+ class: "w-full"
271
+ }, null, 8, ["modelValue", "placeholder"])) : (i(), l(r, {
272
+ key: 1,
273
+ id: "instanceUrl",
274
+ "model-value": e.currentUrl,
275
+ class: "w-full",
276
+ readonly: ""
277
+ }, null, 8, ["model-value"]))]),
278
+ b("div", Ye, [b("label", Xe, o(t.$t("views.settings.instances.credentials_username")), 1), C(r, {
279
+ id: "credUsername",
280
+ modelValue: f(u),
281
+ "onUpdate:modelValue": n[2] ||= (e) => d(u) ? u.value = e : null,
282
+ placeholder: f(_) ? t.$t("views.settings.instances.credentials_unchanged") : t.$t("views.settings.instances.credentials_username"),
283
+ class: "w-full",
284
+ autocomplete: "off"
285
+ }, null, 8, ["modelValue", "placeholder"])]),
286
+ b("div", Ze, [b("label", Qe, o(t.$t("views.settings.instances.credentials_password")), 1), C(r, {
287
+ id: "credPassword",
288
+ modelValue: f(m),
289
+ "onUpdate:modelValue": n[3] ||= (e) => d(m) ? m.value = e : null,
290
+ type: "password",
291
+ placeholder: f(_) ? t.$t("views.settings.instances.credentials_unchanged") : t.$t("views.settings.instances.credentials_password"),
292
+ class: "w-full",
293
+ autocomplete: "new-password"
294
+ }, null, 8, ["modelValue", "placeholder"])])
295
+ ]);
296
+ };
297
+ }
298
+ }), et = { class: "flex flex-col" }, tt = {
299
+ key: 0,
300
+ class: "page-title"
301
+ }, nt = { class: "flex gap-2 mb-4" }, rt = {
302
+ key: "empty",
303
+ class: "flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4"
304
+ }, it = { class: "text-muted text-sm" }, at = 176, $ = 280, ot = 15e3, st = /* @__PURE__ */ x({
305
+ __name: "Instances",
306
+ setup(t) {
307
+ let n = new ae(), { t: s } = he(), { smBreakpoint: c } = D(), { width: x, height: T } = E(), k = ce(), A = se(), j = fe(), P = p(() => j.serverInstances.filter((e) => !!e.credentials)), { data: F, isPending: I } = n.listQuery(), { mutateAsync: L } = n.createMutation(), { mutateAsync: R } = n.updateMutation(), { mutateAsync: we } = n.deleteMutation(), { mutateAsync: Te } = n.bulkDeleteMutation(), { mutateAsync: Ee } = n.toggleFavoriteMutation(), De = n.statusQueries(P), z, B = y("menuRef"), V = S(!1), H = S(""), U = w({}), Oe = p(() => (c.value ? 1 : Math.max(1, Math.floor(x.value / $))) * Math.max(1, Math.ceil(T.value / 184))), W = p(() => {
308
+ let e = 0;
309
+ return j.serverInstances.map((t) => {
310
+ let n = !!t.credentials;
311
+ if (!n) return {
312
+ id: t.id,
313
+ name: t.name,
314
+ url: t.url,
315
+ status: "unknown",
316
+ active: t.id === j.activeId,
317
+ favorite: j.isFavorite(t.id),
318
+ hasCredentials: n
319
+ };
320
+ let r = De.value[e++], i = r?.data, a = U[t.id], o = "unknown";
321
+ return a === "online" ? o = "online" : a === "offline" && (o = "offline"), {
322
+ id: t.id,
323
+ name: t.name,
324
+ url: t.url,
325
+ status: o,
326
+ active: t.id === j.activeId,
327
+ favorite: j.isFavorite(t.id),
328
+ hasCredentials: n,
329
+ pending2fa: !!t.pending2fa,
330
+ version: i?.version,
331
+ lastUpdatedAt: r?.dataUpdatedAt,
332
+ cameras: i?.cameras,
333
+ resources: i ? {
334
+ cpuUsage: i.cpuUsage,
335
+ memUsed: i.memUsed,
336
+ memTotal: i.memTotal,
337
+ diskUsed: i.diskUsed,
338
+ diskTotal: i.diskTotal
339
+ } : void 0
340
+ };
341
+ });
342
+ }), G = p(() => {
343
+ let e = H.value.toLowerCase().trim();
344
+ return e ? W.value.filter((t) => t.name.toLowerCase().includes(e) || t.url?.toLowerCase().includes(e)) : W.value;
345
+ }), ke = p(() => [
346
+ {
347
+ label: s("views.instances.two_factor_enter_code"),
348
+ icon: Ue,
349
+ hide: !B.value?.data?.pending2fa,
350
+ onClick: (e) => {
351
+ j.complete2FALogin(e.id, e.name);
352
+ }
353
+ },
354
+ {
355
+ label: s("views.settings.edit"),
356
+ icon: Se,
357
+ onClick: (e) => {
358
+ let t = Ae(e);
359
+ t && Le(t);
360
+ }
361
+ },
362
+ {
363
+ label: s("views.settings.remove"),
364
+ icon: Ce,
365
+ iconProps: { class: "text-red-500" },
366
+ labelProps: { class: "text-red-500" },
367
+ buttonProps: { severity: "danger" },
368
+ onClick: (e) => {
369
+ Re(e.id);
370
+ }
371
+ }
372
+ ]);
373
+ function K() {
374
+ z?.abort(), z = new AbortController();
375
+ let { signal: e } = z;
376
+ for (let t of P.value) U[t.id] === void 0 && (U[t.id] = "checking"), j.probeInstance(t.id, e).then((n) => {
377
+ e.aborted || (U[t.id] = n ? "online" : "offline");
378
+ }).catch(() => {
379
+ e.aborted || (U[t.id] = "offline");
380
+ });
381
+ }
382
+ function Ae(e) {
383
+ let t = j.serverInstances.find((t) => t.id === e.id);
384
+ if (!t) return;
385
+ let n = j.instanceTokens[t.id];
386
+ return {
387
+ id: t.id,
388
+ name: t.name,
389
+ url: t.url,
390
+ hasCredentials: !!t.credentials,
391
+ favorite: t.favorite ?? !0,
392
+ userData: n?.userData ?? null,
393
+ lastConnectedAt: n?.lastConnectedAt ?? null,
394
+ isHome: !1
395
+ };
396
+ }
397
+ let { selectionMode: q, selectedIds: J, selectedItems: Y, allSelected: X, bulkBusy: Z, enterSelectionMode: je, exitSelectionMode: Q, toggleSelectAll: Me, toggleSelection: Ne } = O(G, (e) => e.id);
398
+ function Pe() {
399
+ if (!Y.value.length || Z.value) return;
400
+ let e = Y.value.map((e) => e.id);
401
+ k.openTextDialog({
402
+ data: {
403
+ title: s("components.dialog.title.confirm"),
404
+ contentText: s("views.instances.remove_selected_confirm", { count: e.length }),
405
+ confirmText: s("views.settings.instances.remove"),
406
+ loading: V
407
+ },
408
+ onConfirm: async () => {
409
+ Z.value = !0, V.value = !0;
410
+ try {
411
+ await Te({ ids: e }), Q();
412
+ } catch (e) {
413
+ A.add({
414
+ severity: "error",
415
+ detail: e,
416
+ life: 3e3
417
+ });
418
+ } finally {
419
+ Z.value = !1, V.value = !1;
420
+ }
421
+ }
422
+ });
423
+ }
424
+ function Fe(e) {
425
+ if (q.value) {
426
+ Ne(e.id);
427
+ return;
428
+ }
429
+ if (!(e.active || e.status === "offline")) {
430
+ if (e.pending2fa) {
431
+ j.complete2FALogin(e.id, e.name);
432
+ return;
433
+ }
434
+ e.id === "__home__" ? j.switchInstance(null) : j.switchInstance(e.id);
435
+ }
436
+ }
437
+ function Ie() {
438
+ k.openComponentDialog($e, {
439
+ data: {
440
+ title: s("views.instances.add"),
441
+ confirmText: s("components.form.button.add"),
442
+ contentProps: {
443
+ currentName: "",
444
+ hasCredentials: !1
445
+ }
446
+ },
447
+ onConfirm: async (e) => {
448
+ if (e) try {
449
+ let t = await L({
450
+ name: e.name,
451
+ url: e.url,
452
+ credentials: e.credentials
453
+ });
454
+ t.requires2fa && await j.complete2FALogin(t.id, t.name);
455
+ } catch (e) {
456
+ A.add({
457
+ severity: "error",
458
+ detail: e,
459
+ life: 3e3
460
+ });
461
+ }
462
+ }
463
+ });
464
+ }
465
+ function Le(e) {
466
+ k.openComponentDialog($e, {
467
+ data: {
468
+ title: s("views.settings.instances.edit"),
469
+ confirmText: s("components.form.button.save"),
470
+ contentProps: {
471
+ currentName: e.name,
472
+ currentUrl: e.url,
473
+ hasCredentials: e.hasCredentials
474
+ }
475
+ },
476
+ onConfirm: async (t) => {
477
+ if (t) try {
478
+ let n = await R({
479
+ id: e.id,
480
+ data: {
481
+ name: t.name === e.name ? void 0 : t.name,
482
+ credentials: t.credentials ?? void 0
483
+ }
484
+ });
485
+ n.requires2fa && await j.complete2FALogin(n.id, n.name);
486
+ } catch (e) {
487
+ A.add({
488
+ severity: "error",
489
+ detail: e,
490
+ life: 3e3
491
+ });
492
+ }
493
+ }
494
+ });
495
+ }
496
+ function Re(e) {
497
+ k.openTextDialog({
498
+ data: {
499
+ title: s("components.dialog.title.confirm"),
500
+ contentText: s("views.settings.instances.confirm_remove"),
501
+ confirmText: s("views.settings.instances.remove"),
502
+ loading: V
503
+ },
504
+ onConfirm: async () => {
505
+ V.value = !0;
506
+ try {
507
+ await we(e);
508
+ } catch (e) {
509
+ A.add({
510
+ severity: "error",
511
+ detail: e,
512
+ life: 3e3
513
+ });
514
+ }
515
+ V.value = !1;
516
+ }
517
+ });
518
+ }
519
+ return h(F, (e) => {
520
+ e && (oe(j.serverInstances, e.instances) || (j.serverInstances = e.instances), j.serverHomeId !== e.homeId && (j.serverHomeId = e.homeId));
521
+ }, { immediate: !0 }), h(P, K, {
522
+ immediate: !0,
523
+ deep: !0
524
+ }), me(K, ot), a(() => {
525
+ z?.abort();
526
+ }), (t, n) => {
527
+ let a = be, p = M, h = ie, y = ye, x = _e, S = N, w = ge, T = le, E = Be, D = ue, O = de, ae = re;
528
+ return i(), g("div", et, [
529
+ f(c) ? u("", !0) : (i(), g("h1", tt, o(t.$t("views.instances.title")), 1)),
530
+ C(h, { position: "left" }, {
531
+ default: m(() => [C(p, {
532
+ severity: "secondary",
533
+ text: "",
534
+ class: "cui-button p-2 text-color non-draggable-region",
535
+ onClick: n[0] ||= (e) => t.$router.push("/menu")
536
+ }, {
537
+ icon: m(() => [C(a, { class: "w-6 h-6" })]),
538
+ _: 1
539
+ })]),
540
+ _: 1
541
+ }),
542
+ b("div", nt, [C(w, { class: "flex-1" }, {
543
+ default: m(() => [C(x, null, {
544
+ default: m(() => [C(y, { class: "w-4 h-4" })]),
545
+ _: 1
546
+ }), C(S, {
547
+ modelValue: f(H),
548
+ "onUpdate:modelValue": n[1] ||= (e) => d(H) ? H.value = e : null,
549
+ placeholder: f(s)("views.instances.search"),
550
+ class: "w-full"
551
+ }, null, 8, ["modelValue", "placeholder"])]),
552
+ _: 1
553
+ })]),
554
+ C(e, {
555
+ name: "fade-2",
556
+ mode: "out-in"
557
+ }, {
558
+ default: m(() => [f(I) ? (i(), g("div", {
559
+ key: "loading",
560
+ class: "grid w-full gap-2 p-px",
561
+ style: _({ gridTemplateColumns: `repeat(auto-fill, minmax(${f(c) ? "100%" : `${$}px`}, 1fr))` })
562
+ }, [(i(!0), g(v, null, r(f(Oe), (e) => (i(), l(T, {
563
+ key: e,
564
+ height: `${at}px`,
565
+ class: "cui-card"
566
+ }, null, 8, ["height"]))), 128))], 4)) : f(G).length ? (i(), g("div", {
567
+ key: "content",
568
+ class: "grid w-full gap-2 p-px",
569
+ style: _({ gridTemplateColumns: `repeat(auto-fill, minmax(${f(c) ? "100%" : `${$}px`}, 1fr))` })
570
+ }, [(i(!0), g(v, null, r(f(G), (e) => (i(), l(E, {
571
+ key: e.id,
572
+ instance: e,
573
+ "menu-open": f(B)?.isOpen && f(B)?.data?.id === e.id,
574
+ "selection-mode": f(q),
575
+ selected: f(J).has(e.id),
576
+ onClick: (t) => Fe(e),
577
+ onToggleFavorite: (t) => f(Ee)(e.id),
578
+ onOpenMenu: (t) => f(B)?.toggleMenu(t, void 0, e)
579
+ }, null, 8, [
580
+ "instance",
581
+ "menu-open",
582
+ "selection-mode",
583
+ "selected",
584
+ "onClick",
585
+ "onToggleFavorite",
586
+ "onOpenMenu"
587
+ ]))), 128))], 4)) : (i(), g("div", rt, [C(D, { class: "w-12 h-12 text-muted" }), b("span", it, o(t.$t("views.instances.no_instances")), 1)]))]),
588
+ _: 1
589
+ }),
590
+ C(ae, { "force-visible": f(q) }, {
591
+ default: m(() => [f(q) ? (i(), g(v, { key: 1 }, [
592
+ C(O, {
593
+ grouped: "",
594
+ "tooltip-props": { value: f(s)("components.form.tooltip.cancel_selection") },
595
+ "button-props": { severity: "secondary" },
596
+ icon: f(ve),
597
+ "icon-props": {
598
+ width: "100%",
599
+ height: "100%"
600
+ },
601
+ onClick: f(Q)
602
+ }, null, 8, [
603
+ "tooltip-props",
604
+ "icon",
605
+ "onClick"
606
+ ]),
607
+ C(O, {
608
+ grouped: "",
609
+ "tooltip-props": { value: f(X) ? f(s)("views.instances.deselect_all") : f(s)("views.instances.select_all") },
610
+ "button-props": { severity: f(X) ? "primary" : "secondary" },
611
+ icon: f(ee),
612
+ "icon-props": {
613
+ width: "100%",
614
+ height: "100%"
615
+ },
616
+ onClick: f(Me)
617
+ }, null, 8, [
618
+ "tooltip-props",
619
+ "button-props",
620
+ "icon",
621
+ "onClick"
622
+ ]),
623
+ C(O, {
624
+ grouped: "",
625
+ "tooltip-props": { value: f(s)("views.instances.remove_selected") },
626
+ "button-props": {
627
+ severity: "danger",
628
+ disabled: !f(J).size || f(Z)
629
+ },
630
+ icon: f(pe),
631
+ "icon-props": {
632
+ width: "100%",
633
+ height: "100%"
634
+ },
635
+ onClick: Pe
636
+ }, null, 8, [
637
+ "tooltip-props",
638
+ "button-props",
639
+ "icon"
640
+ ])
641
+ ], 64)) : (i(), g(v, { key: 0 }, [f(W).length ? (i(), l(O, {
642
+ key: 0,
643
+ grouped: "",
644
+ "tooltip-props": { value: f(s)("views.instances.select") },
645
+ "button-props": { severity: "secondary" },
646
+ icon: f(ne),
647
+ "icon-props": {
648
+ width: "100%",
649
+ height: "100%"
650
+ },
651
+ onClick: f(je)
652
+ }, null, 8, [
653
+ "tooltip-props",
654
+ "icon",
655
+ "onClick"
656
+ ])) : u("", !0), C(O, {
657
+ grouped: "",
658
+ "tooltip-props": { value: t.$t("views.instances.add") },
659
+ "button-props": { class: "text-white" },
660
+ icon: f(xe),
661
+ "icon-props": {
662
+ width: "30px",
663
+ height: "30px"
664
+ },
665
+ onClick: Ie
666
+ }, null, 8, ["tooltip-props", "icon"])], 64))]),
667
+ _: 1
668
+ }, 8, ["force-visible"]),
669
+ C(te, {
670
+ ref_key: "menuRef",
671
+ ref: B,
672
+ items: f(ke),
673
+ popover: { pt: { content: { class: "p-0! rounded-xl! overflow-hidden!" } } }
674
+ }, null, 8, ["items"])
675
+ ]);
676
+ };
677
+ }
678
+ });
679
+ //#endregion
680
+ export { st as default };