@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,765 @@
1
+ import { B as e, F as t, H as n, Jt as r, N as i, d as a, f as o, ft as s, gt as c, kt as l, l as u, lt as d, ot as f, p, r as m, u as h, v as g, x as _, xt as v, y, yt as ee } from "./runtime-core.esm-bundler-D8slQ3BU.js";
2
+ import { t as te } from "./message-C8U_kMBA.js";
3
+ import { $r as ne, Dt as re, Er as b, Et as ie, Ot as ae, Tt as x, W as oe, Xr as se, gi as S, gt as ce, kn as le, qt as ue, r as de, si as C, vr as w, yr as fe, z as pe } from "./api-CWJkvtnM.js";
4
+ import { i as me } from "./intercomService-jB2mTgsn.js";
5
+ import { n as T } from "./vue-i18n-Dcb07o5U.js";
6
+ import { t as he } from "./button-BlYuI0Q7.js";
7
+ import { t as ge } from "./inputtext-DGIESrd0.js";
8
+ import { t as _e } from "./select-DjWkRqsI.js";
9
+ import { i as ve, t as ye } from "./CuiDataTable-Cx9GBqsV.js";
10
+ import { t as be } from "./inputnumber-B1Buq8Nc.js";
11
+ import { t as E } from "./plugins-dkWbXWVM.js";
12
+ import { t as D } from "./api-BmNBy1ay.js";
13
+ import { t as xe } from "./back-filled-Cxzg5vQg.js";
14
+ import { t as Se } from "./pencil-outline-BqfTDXIh.js";
15
+ import { c as Ce, t as we } from "./CuiChartTable-7EnAA-WG.js";
16
+ import { n as Te, t as Ee } from "./updates-BdVmkKAa.js";
17
+ //#region src/components/CuiDialog/templates/RenameWorker/RenameWorker.vue?vue&type=script&setup=true&lang.ts
18
+ var O = { class: "flex flex-col gap-2 w-full" }, k = {
19
+ for: "workerName",
20
+ class: "cui-label"
21
+ }, De = /* @__PURE__ */ _({
22
+ __name: "RenameWorker",
23
+ props: { currentName: {} },
24
+ setup(e, { expose: t }) {
25
+ let i = v(e.currentName);
26
+ return t({ onConfirm: async () => i.value.trim() || null }), (e, t) => {
27
+ let a = ge;
28
+ return n(), p("div", O, [h("label", k, r(e.$t("views.workers.name")), 1), y(a, {
29
+ id: "workerName",
30
+ modelValue: l(i),
31
+ "onUpdate:modelValue": t[0] ||= (e) => c(i) ? i.value = e : null,
32
+ class: "w-full",
33
+ autofocus: ""
34
+ }, null, 8, ["modelValue"])]);
35
+ };
36
+ }
37
+ }), A = ee({
38
+ workers: [],
39
+ workerHistory: {}
40
+ }), j = null, M = null;
41
+ function N(e) {
42
+ let t = A.workers.findIndex((t) => t.agentId === e.agentId);
43
+ if (t !== -1) {
44
+ let n = [...A.workers];
45
+ n[t] = e, A.workers = n;
46
+ } else A.workers = [...A.workers, e];
47
+ let n = A.workerHistory[e.agentId] ?? [];
48
+ A.workerHistory = {
49
+ ...A.workerHistory,
50
+ [e.agentId]: [...n, e].slice(-30)
51
+ };
52
+ }
53
+ async function P() {
54
+ if (M?.ready.value) try {
55
+ A.workers = await M.request("get-workers");
56
+ } catch {}
57
+ }
58
+ async function F() {
59
+ if (M?.ready.value) try {
60
+ A.workerHistory = await M.request("get-worker-history");
61
+ } catch {}
62
+ }
63
+ async function I() {
64
+ await Promise.all([P(), F()]);
65
+ }
66
+ function L() {
67
+ return M || (j = s(!0), j.run(() => {
68
+ let e = C("/workers");
69
+ M = e, e.on("worker-update", (e) => N(e)), e.on("worker-removed", ({ agentId: e }) => {
70
+ A.workers = A.workers.filter((t) => t.agentId !== e);
71
+ let t = { ...A.workerHistory };
72
+ delete t[e], A.workerHistory = t;
73
+ }), e.onReady(() => {
74
+ I();
75
+ });
76
+ }), M);
77
+ }
78
+ function Oe() {
79
+ function e() {
80
+ L();
81
+ }
82
+ function t() {}
83
+ return {
84
+ isConnected: u(() => M?.connected.value ?? !1),
85
+ workers: u(() => A.workers),
86
+ workerHistory: u(() => A.workerHistory),
87
+ connect: e,
88
+ disconnect: t,
89
+ loadAll: I
90
+ };
91
+ }
92
+ //#endregion
93
+ //#region src/views/Workers.vue?vue&type=script&setup=true&lang.ts
94
+ var ke = {
95
+ key: 0,
96
+ class: "page-title"
97
+ }, Ae = {
98
+ key: 1,
99
+ class: "w-full h-full flex items-center justify-center"
100
+ }, je = {
101
+ key: 2,
102
+ class: "flex flex-col w-full gap-6"
103
+ }, Me = { class: "card-title" }, Ne = { class: "flex flex-col gap-6" }, Pe = { class: "flex items-center gap-4" }, Fe = { class: "flex flex-col field-switch-gap" }, Ie = { class: "cui-label-switch" }, Le = { class: "flex flex-col field-gap" }, Re = {
104
+ for: "master-address",
105
+ class: "cui-label"
106
+ }, ze = { class: "flex flex-col field-gap" }, Be = {
107
+ for: "leaf-port",
108
+ class: "cui-label"
109
+ }, Ve = { class: "flex flex-row items-end justify-end" }, He = { key: 0 }, Ue = { class: "card-title" }, We = { class: "flex flex-col items-center justify-center gap-4 py-6" }, Ge = { class: "text-muted text-sm" }, Ke = { key: 1 }, qe = { class: "card-title" }, Je = { class: "text-sm block mb-6" }, Ye = { class: "text-muted text-sm" }, Xe = { class: "font-bold text-color text-sm" }, Ze = { key: 2 }, Qe = { class: "card-title" }, $e = { class: "text-sm block mb-6" }, et = { class: "text-muted text-sm" }, tt = { class: "flex flex-col" }, nt = { class: "font-bold text-color text-sm" }, rt = {
110
+ key: 0,
111
+ class: "text-muted text-xs"
112
+ }, it = { key: 3 }, at = { class: "card-title" }, ot = { class: "flex flex-col gap-6" }, st = { class: "text-sm" }, ct = { class: "flex flex-col field-gap" }, lt = { class: "cui-label" }, ut = { class: "flex flex-col field-gap" }, dt = { class: "flex flex-row items-center justify-between" }, ft = { class: "cui-label" }, pt = { class: "pairing-snippet" }, mt = { class: "flex flex-row items-end justify-end" }, R = /*#__PURE__*/ w(/* @__PURE__ */ _({
113
+ __name: "Workers",
114
+ setup(s) {
115
+ let { t: _ } = T(), { smBreakpoint: ee } = b(), C = ce(), w = Ee(), O = S(), k = Oe(), { workers: A, workerHistory: j, isConnected: M } = k, N = new D(), P = new ue(), F = new E(), I = new Te(), { data: L, isLoading: R } = P.getCamerasQuery(v({
116
+ page: 1,
117
+ pageSize: 999
118
+ })), { data: ht, isLoading: gt } = F.getPluginsQuery(v({
119
+ page: 1,
120
+ pageSize: 999
121
+ })), { data: z } = I.getConfigQuery(), { mutateAsync: _t, isPending: vt } = I.patchConfigQuery(), { mutateAsync: yt } = I.assignCameraQuery(), { mutateAsync: bt } = I.unassignCameraQuery(), { mutateAsync: xt } = I.restartWorkerQuery(), { mutateAsync: St } = I.updateWorkerQuery(), { mutateAsync: Ct, isPending: wt } = I.createPairingQuery(), { mutateAsync: Tt } = I.removeWorkerQuery(), { mutateAsync: Et } = I.assignPluginQuery(), { mutateAsync: Dt } = I.unassignPluginQuery(), { mutateAsync: Ot } = I.renameWorkerQuery(), { data: kt } = N.apiInfoQuery(), At = {
122
+ bodyRow: { class: "text-sm text-secondary" },
123
+ column: { columnTitle: { class: "text-sm font-semibold" } }
124
+ }, jt = v(!1), B = v([]), V = v([]), H = v([]), U = v(/* @__PURE__ */ new Set()), W = v(/* @__PURE__ */ new Set()), G = v(null), K = v(""), q = v(7422), Mt = !1, J = /* @__PURE__ */ new Map(), Nt = u(() => L.value?.result ?? []), Pt = u(() => ht.value?.result ?? []), Y = u(() => z.value?.enabled ?? !1), Ft = u(() => (z.value?.suggestedAddresses ?? []).map((e) => ({
125
+ label: e,
126
+ value: e
127
+ }))), X = u(() => q.value !== (z.value?.port ?? 7422)), It = u(() => K.value !== (z.value?.address ?? "") || X.value), Lt = u(() => new Set(A.value.map((e) => e.agentId))), Z = u(() => w.targetServerVersion ?? kt.value?.version), Rt = u(() => G.value ? Math.max(0, Math.round((G.value.expiresAt - Date.now()) / 6e4)) : 0), zt = u(() => G.value ? [
128
+ "worker:",
129
+ ` master: ${G.value.address || "<MASTER_IP>"}`,
130
+ ` apiPort: ${G.value.apiPort}`,
131
+ ` pairingCode: ${G.value.code}`,
132
+ " name: my-worker",
133
+ " capabilities:",
134
+ " - frameDecoding",
135
+ " - pluginHost"
136
+ ].join("\n") : ""), Bt = u(() => [
137
+ {
138
+ type: "indicator",
139
+ field: "status",
140
+ columnProps: {
141
+ headerClass: "w-5 max-w-5",
142
+ class: "w-5 max-w-5"
143
+ },
144
+ color(e) {
145
+ return e.online ? e.versionMismatch ? "orange" : "green" : "red";
146
+ },
147
+ tooltip(e) {
148
+ return e.online ? e.update?.error ? _("views.workers.update_failed", { error: e.update.error }) : e.update?.updating ? _("views.workers.updating") : e.versionMismatch ? _("views.workers.version_mismatch", { version: e.version || "?" }) : _("views.workers.online") : _("views.workers.offline");
149
+ }
150
+ },
151
+ {
152
+ type: "category",
153
+ field: "name",
154
+ name: _("views.workers.name"),
155
+ columnProps: {
156
+ headerClass: "w-40 min-w-40 max-w-40",
157
+ class: "w-40 min-w-40 max-w-40"
158
+ },
159
+ props: { class: "font-bold text-color" }
160
+ },
161
+ {
162
+ type: "category",
163
+ field: (e) => e.version ? e.versionMismatch && Z.value ? `v${e.version} → v${Z.value}` : `v${e.version}` : "—",
164
+ name: _("views.workers.version"),
165
+ asChip: !0,
166
+ columnProps: {
167
+ headerClass: "min-w-30",
168
+ class: "min-w-30"
169
+ }
170
+ },
171
+ {
172
+ type: "category",
173
+ field: (e) => e.platform ? `${e.platform.os}/${e.platform.arch}` : "—",
174
+ name: _("views.workers.platform"),
175
+ asChip: !0,
176
+ columnProps: {
177
+ headerClass: "min-w-40",
178
+ class: "min-w-40"
179
+ }
180
+ },
181
+ {
182
+ type: "category",
183
+ field: (e) => e.pid?.toString() ?? "—",
184
+ name: _("views.workers.pid"),
185
+ columnProps: {
186
+ headerClass: "min-w-20",
187
+ class: "min-w-20"
188
+ }
189
+ },
190
+ {
191
+ type: "category",
192
+ field: (e) => e.cpuLoad === void 0 ? "—" : `${e.cpuLoad}%`,
193
+ name: _("views.workers.cpu"),
194
+ asChip: !0,
195
+ columnProps: {
196
+ headerClass: "min-w-30",
197
+ class: "min-w-30"
198
+ }
199
+ },
200
+ {
201
+ type: "chart",
202
+ field: "cpu_chart",
203
+ for: "cpuLoad",
204
+ columnProps: {
205
+ headerClass: "min-w-[250px]",
206
+ class: "min-w-[250px]"
207
+ }
208
+ },
209
+ {
210
+ type: "category",
211
+ field: (e) => e.memLoad === void 0 ? "—" : `${e.memLoad}%`,
212
+ name: _("views.workers.memory"),
213
+ asChip: !0,
214
+ columnProps: {
215
+ headerClass: "min-w-30",
216
+ class: "min-w-30"
217
+ }
218
+ },
219
+ {
220
+ type: "chart",
221
+ field: "memory_chart",
222
+ for: "memLoad",
223
+ columnProps: {
224
+ headerClass: "min-w-[250px]",
225
+ class: "min-w-[250px]"
226
+ }
227
+ },
228
+ {
229
+ type: "action",
230
+ field: "actions",
231
+ columnProps: { class: "text-right" },
232
+ buttons: [
233
+ {
234
+ icon: Se,
235
+ buttonProps: { severity: "secondary" },
236
+ tooltip: () => _("views.workers.rename_worker"),
237
+ action: (e) => Ht(e)
238
+ },
239
+ {
240
+ icon: se,
241
+ buttonProps: { severity: "secondary" },
242
+ loading: (e) => e.update?.updating || H.value.includes(e.agentId),
243
+ disabled: (e) => !e.online || !e.versionMismatch || !e.update?.updatable,
244
+ tooltip: (e) => Ut(e),
245
+ action: (e) => Wt(e.agentId)
246
+ },
247
+ {
248
+ icon: Ce,
249
+ buttonProps: { severity: "secondary" },
250
+ loading: (e) => B.value.includes(e.name),
251
+ disabled: (e) => !e.online,
252
+ tooltip: () => _("views.workers.restart_worker"),
253
+ action: (e) => Gt(e.name, e.agentId)
254
+ },
255
+ {
256
+ icon: pe,
257
+ buttonProps: { severity: "danger" },
258
+ loading: (e) => V.value.includes(e.agentId),
259
+ tooltip: () => _("views.workers.remove_worker"),
260
+ action: (e) => rn(e)
261
+ }
262
+ ]
263
+ }
264
+ ]), Vt = u(() => {
265
+ let e = j.value;
266
+ return A.value.reduce((t, n) => {
267
+ for (let r of ["cpuLoad", "memLoad"]) {
268
+ let i = e[n.agentId] ?? [], a = i.slice(-30).filter((e) => e[r] !== void 0).map((e) => parseFloat(e[r])), o = i.slice(-30).map((e) => e.lastHeartbeat), s = [...a, ...Array(30 - a.length).fill(0)], c = [...o, ...Array(30 - o.length).fill(null)];
269
+ t[`${n.name}_${r}`] = {
270
+ labels: c,
271
+ datasets: [{
272
+ data: s,
273
+ backgroundColor: (e) => {
274
+ let t = e.raw;
275
+ return t >= 90 ? "#FA5252" : t >= 50 ? "#FF9966" : "#df2a4c";
276
+ },
277
+ borderWidth: 0,
278
+ borderRadius: 3,
279
+ barPercentage: .8,
280
+ categoryPercentage: .8,
281
+ maxBarThickness: 4,
282
+ barThickness: 4
283
+ }]
284
+ };
285
+ }
286
+ return t;
287
+ }, {});
288
+ });
289
+ function Ht(e) {
290
+ C.openComponentDialog(De, {
291
+ data: {
292
+ title: _("views.workers.rename_worker"),
293
+ confirmText: _("views.workers.save"),
294
+ contentProps: { currentName: e.name }
295
+ },
296
+ onConfirm: async (t) => {
297
+ !t || t === e.name || await Ot({
298
+ agentId: e.agentId,
299
+ name: t
300
+ });
301
+ }
302
+ });
303
+ }
304
+ function Ut(e) {
305
+ return e.update?.updating ? _("views.workers.updating") : Z.value ? _("views.workers.update_worker", { version: Z.value }) : _("views.workers.update_worker_short");
306
+ }
307
+ async function Wt(e) {
308
+ J.delete(e), H.value.push(e);
309
+ try {
310
+ await St({ agentId: e });
311
+ } finally {
312
+ H.value = H.value.filter((t) => t !== e);
313
+ }
314
+ }
315
+ async function Gt(e, t) {
316
+ B.value.push(e);
317
+ try {
318
+ await xt(t);
319
+ } finally {
320
+ B.value = B.value.filter((t) => t !== e);
321
+ }
322
+ }
323
+ function Kt() {
324
+ let e = [];
325
+ for (let t of A.value) {
326
+ let n = t.online ? t.name : `${t.name} (${_("views.workers.offline").toLowerCase()})`;
327
+ e.push({
328
+ label: n,
329
+ value: t.agentId
330
+ });
331
+ }
332
+ return e;
333
+ }
334
+ function Q(e) {
335
+ return e && Lt.value.has(e) ? e : null;
336
+ }
337
+ function qt(e, t) {
338
+ if (!e?.length) return !0;
339
+ let n = e.filter((e) => e.startsWith("!")).map((e) => e.slice(1)), r = e.filter((e) => !e.startsWith("!"));
340
+ return n.includes(t) ? !1 : r.length === 0 || r.includes(t);
341
+ }
342
+ function Jt(e, t) {
343
+ return !t.platform || qt(e.os, t.platform.os) && qt(e.cpu, t.platform.arch);
344
+ }
345
+ function Yt(e) {
346
+ let t = [];
347
+ return e.os?.length && t.push(`os: ${e.os.join(", ")}`), e.cpu?.length && t.push(`cpu: ${e.cpu.join(", ")}`), t.join(" · ");
348
+ }
349
+ function Xt(e) {
350
+ let t = [];
351
+ for (let n of A.value) {
352
+ let r = Jt(e, n), i = n.online ? "" : ` (${_("views.workers.offline").toLowerCase()})`, a = r ? "" : ` — ${_("views.workers.incompatible")}`;
353
+ t.push({
354
+ label: `${n.name}${i}${a}`,
355
+ value: n.agentId,
356
+ disabled: !r
357
+ });
358
+ }
359
+ return t;
360
+ }
361
+ function Zt(e) {
362
+ return W.value.has(e);
363
+ }
364
+ async function Qt(e, t) {
365
+ if (t === Q(e.workerAgentId)) return;
366
+ let n = new Set(W.value);
367
+ n.add(e.pluginName), W.value = n;
368
+ try {
369
+ t ? await Et({
370
+ pluginName: e.pluginName,
371
+ agentId: t
372
+ }) : await Dt({ pluginName: e.pluginName });
373
+ } catch {} finally {
374
+ let t = new Set(W.value);
375
+ t.delete(e.pluginName), W.value = t;
376
+ }
377
+ }
378
+ function $(e) {
379
+ return U.value.has(e);
380
+ }
381
+ async function $t(e, t) {
382
+ if (t === Q(e.workerAgentId)) return;
383
+ let n = new Set(U.value);
384
+ n.add(e._id), U.value = n;
385
+ try {
386
+ t ? await yt({
387
+ cameraId: e._id,
388
+ agentId: t
389
+ }) : await bt({ cameraId: e._id });
390
+ } catch {} finally {
391
+ let t = new Set(U.value);
392
+ t.delete(e._id), U.value = t;
393
+ }
394
+ }
395
+ async function en() {
396
+ try {
397
+ G.value = await Ct();
398
+ } catch {}
399
+ }
400
+ async function tn(e) {
401
+ if (e && !K.value && (K.value = z.value?.suggestedAddresses?.[0] ?? "", !K.value)) {
402
+ C.openTextDialog({ data: {
403
+ title: _("views.workers.enable_workers"),
404
+ contentText: _("views.workers.address_required"),
405
+ confirmText: _("views.workers.ok")
406
+ } });
407
+ return;
408
+ }
409
+ try {
410
+ await _t(e ? {
411
+ enabled: !0,
412
+ address: K.value,
413
+ port: q.value
414
+ } : { enabled: !1 });
415
+ } catch {}
416
+ }
417
+ async function nn() {
418
+ try {
419
+ await _t({
420
+ address: K.value,
421
+ port: q.value
422
+ });
423
+ } catch {}
424
+ }
425
+ function rn(e) {
426
+ C.openTextDialog({
427
+ data: {
428
+ title: _("views.workers.remove_worker"),
429
+ confirmText: _("views.workers.remove"),
430
+ contentText: _("views.workers.remove_worker_confirm", { name: e.name }),
431
+ confirmButtonProps: { severity: "danger" }
432
+ },
433
+ dialogSize: { desktop: {
434
+ width: "auto",
435
+ maxWidth: "560px",
436
+ maxHeight: "90vh"
437
+ } },
438
+ onConfirm: async () => {
439
+ V.value.push(e.agentId);
440
+ try {
441
+ await Tt(e.agentId);
442
+ } finally {
443
+ V.value = V.value.filter((t) => t !== e.agentId);
444
+ }
445
+ }
446
+ });
447
+ }
448
+ return t(async () => {
449
+ k.connect(), w.connect(), await i(), k.loadAll(), jt.value = !0;
450
+ }), f(z, (e) => {
451
+ e && (K.value = e.address, q.value = e.port);
452
+ }, { immediate: !0 }), f(A, (e) => {
453
+ if (!Mt) {
454
+ if (!e.length) return;
455
+ for (let t of e) t.update?.error && J.set(t.agentId, t.update.error);
456
+ Mt = !0;
457
+ return;
458
+ }
459
+ for (let t of e) {
460
+ if (t.update?.updating) {
461
+ J.delete(t.agentId);
462
+ continue;
463
+ }
464
+ let e = t.update?.error;
465
+ if (!e) {
466
+ J.delete(t.agentId);
467
+ continue;
468
+ }
469
+ J.get(t.agentId) !== e && (J.set(t.agentId, e), O.add({
470
+ severity: "error",
471
+ summary: t.name,
472
+ detail: _("views.workers.update_failed", { error: e }),
473
+ life: 6e3
474
+ }));
475
+ }
476
+ }), e(() => {
477
+ k.disconnect();
478
+ }), (e, t) => {
479
+ let i = xe, s = he, u = oe, f = fe, _ = te, v = le, b = _e, se = be, S = me, ce = we, ue = ne, C = ve, w = ye, pe = ge, T = ie, E = re, D = ae;
480
+ return n(), p("div", null, [
481
+ l(ee) ? o("", !0) : (n(), p("h1", ke, r(e.$t("views.workers.title")), 1)),
482
+ y(u, { position: "left" }, {
483
+ default: d(() => [y(s, {
484
+ severity: "secondary",
485
+ text: "",
486
+ class: "cui-button p-2 text-color non-draggable-region",
487
+ onClick: t[0] ||= (t) => e.$router.push("/menu")
488
+ }, {
489
+ icon: d(() => [y(i, { class: "w-6 h-6" })]),
490
+ _: 1
491
+ })]),
492
+ _: 1
493
+ }),
494
+ !l(jt) || !l(M) ? (n(), p("div", Ae, [y(f, {
495
+ class: "w-[30px] h-[30px] m-0",
496
+ "stroke-width": "5"
497
+ })])) : (n(), p("div", je, [
498
+ h("div", null, [h("span", Me, r(e.$t("views.workers.configuration")), 1), y(S, { class: "cui-card" }, {
499
+ content: d(() => [h("div", Ne, [h("div", Pe, [h("div", Fe, [h("label", Ie, r(e.$t("views.workers.enable_workers")), 1), y(_, {
500
+ severity: "secondary",
501
+ variant: "simple",
502
+ size: "small",
503
+ class: "cui-input-switch-hint"
504
+ }, {
505
+ default: d(() => [g(r(e.$t("views.workers.enable_workers_description")), 1)]),
506
+ _: 1
507
+ })]), y(v, {
508
+ "model-value": l(Y),
509
+ disabled: l(vt),
510
+ class: "ml-auto shrink-0",
511
+ "onUpdate:modelValue": tn
512
+ }, null, 8, ["model-value", "disabled"])]), l(Y) ? (n(), p(m, { key: 0 }, [
513
+ h("div", Le, [
514
+ h("label", Re, r(e.$t("views.workers.master_address")), 1),
515
+ y(b, {
516
+ modelValue: l(K),
517
+ "onUpdate:modelValue": t[1] ||= (e) => c(K) ? K.value = e : null,
518
+ "input-id": "master-address",
519
+ options: l(Ft),
520
+ editable: "",
521
+ "option-label": "label",
522
+ "option-value": "value",
523
+ placeholder: e.$t("views.workers.master_address_placeholder"),
524
+ class: "w-full"
525
+ }, null, 8, [
526
+ "modelValue",
527
+ "options",
528
+ "placeholder"
529
+ ]),
530
+ y(_, {
531
+ severity: "secondary",
532
+ variant: "simple",
533
+ size: "small",
534
+ class: "cui-input-hint"
535
+ }, {
536
+ default: d(() => [g(r(e.$t("views.workers.master_address_hint")), 1)]),
537
+ _: 1
538
+ })
539
+ ]),
540
+ h("div", ze, [
541
+ h("label", Be, r(e.$t("views.workers.leaf_port")), 1),
542
+ y(se, {
543
+ modelValue: l(q),
544
+ "onUpdate:modelValue": t[2] ||= (e) => c(q) ? q.value = e : null,
545
+ "input-id": "leaf-port",
546
+ min: 1024,
547
+ max: 65535,
548
+ "use-grouping": !1,
549
+ class: "w-full"
550
+ }, null, 8, ["modelValue"]),
551
+ l(X) && (l(z)?.pairedWorkers ?? 0) > 0 ? (n(), a(_, {
552
+ key: 0,
553
+ severity: "warn",
554
+ variant: "simple",
555
+ size: "small",
556
+ class: "cui-input-hint"
557
+ }, {
558
+ default: d(() => [g(r(e.$t("views.workers.port_change_warning")), 1)]),
559
+ _: 1
560
+ })) : o("", !0)
561
+ ]),
562
+ h("div", Ve, [y(s, {
563
+ class: "cui-button-medium",
564
+ label: e.$t("views.workers.save"),
565
+ loading: l(vt),
566
+ disabled: !l(It),
567
+ onClick: nn
568
+ }, null, 8, [
569
+ "label",
570
+ "loading",
571
+ "disabled"
572
+ ])])
573
+ ], 64)) : o("", !0)])]),
574
+ _: 1
575
+ })]),
576
+ l(Y) ? (n(), p("div", He, [h("span", Ue, r(e.$t("views.workers.workers")), 1), l(A).length ? (n(), a(ce, {
577
+ key: 0,
578
+ items: l(A),
579
+ headers: l(Bt),
580
+ "chart-data": l(Vt)
581
+ }, null, 8, [
582
+ "items",
583
+ "headers",
584
+ "chart-data"
585
+ ])) : (n(), a(S, {
586
+ key: 1,
587
+ class: "cui-card",
588
+ pt: { root: { class: "h-full" } }
589
+ }, {
590
+ content: d(() => [h("div", We, [y(ue, { class: "w-12 h-12 text-muted" }), h("span", Ge, r(e.$t("views.workers.no_workers")), 1)])]),
591
+ _: 1
592
+ }))])) : o("", !0),
593
+ l(Y) && l(A).length ? (n(), p("div", Ke, [h("span", qe, r(e.$t("views.workers.camera_assignments")), 1), y(S, { class: "cui-card" }, {
594
+ content: d(() => [h("span", Je, r(e.$t("views.workers.camera_assignments_description")), 1), y(w, {
595
+ value: l(Nt),
596
+ loading: l(R),
597
+ pt: At,
598
+ "striped-rows": "",
599
+ class: "w-full"
600
+ }, {
601
+ loading: d(() => [y(f, {
602
+ class: "w-[30px] h-[30px] m-0",
603
+ "stroke-width": "5"
604
+ })]),
605
+ empty: d(() => [h("span", Ye, r(e.$t("views.workers.no_cameras")), 1)]),
606
+ default: d(() => [y(C, {
607
+ field: "name",
608
+ header: e.$t("views.workers.camera"),
609
+ "header-class": "p-2 min-w-40",
610
+ class: "p-2 min-w-40"
611
+ }, {
612
+ body: d(({ data: e }) => [h("span", Xe, r(e.name), 1)]),
613
+ _: 1
614
+ }, 8, ["header"]), y(C, {
615
+ header: e.$t("views.workers.workers"),
616
+ "header-class": "p-2 w-full",
617
+ class: "p-2 w-full"
618
+ }, {
619
+ body: d(({ data: t }) => [y(b, {
620
+ "model-value": Q(t.workerAgentId),
621
+ options: Kt(),
622
+ "option-label": "label",
623
+ "option-value": "value",
624
+ placeholder: e.$t("views.workers.local"),
625
+ class: "w-full",
626
+ "show-clear": "",
627
+ loading: $(t._id),
628
+ disabled: $(t._id),
629
+ "onUpdate:modelValue": (e) => $t(t, e)
630
+ }, null, 8, [
631
+ "model-value",
632
+ "options",
633
+ "placeholder",
634
+ "loading",
635
+ "disabled",
636
+ "onUpdate:modelValue"
637
+ ])]),
638
+ _: 1
639
+ }, 8, ["header"])]),
640
+ _: 1
641
+ }, 8, ["value", "loading"])]),
642
+ _: 1
643
+ })])) : o("", !0),
644
+ l(Y) && l(A).length ? (n(), p("div", Ze, [h("span", Qe, r(e.$t("views.workers.plugin_assignments")), 1), y(S, { class: "cui-card" }, {
645
+ content: d(() => [h("span", $e, r(e.$t("views.workers.plugin_assignments_description")), 1), y(w, {
646
+ value: l(Pt),
647
+ loading: l(gt),
648
+ pt: At,
649
+ "striped-rows": "",
650
+ class: "w-full"
651
+ }, {
652
+ loading: d(() => [y(f, {
653
+ class: "w-[30px] h-[30px] m-0",
654
+ "stroke-width": "5"
655
+ })]),
656
+ empty: d(() => [h("span", et, r(e.$t("views.workers.no_plugins")), 1)]),
657
+ default: d(() => [y(C, {
658
+ field: "displayName",
659
+ header: e.$t("views.workers.plugin"),
660
+ "header-class": "p-2 min-w-40",
661
+ class: "p-2 min-w-40"
662
+ }, {
663
+ body: d(({ data: e }) => [h("div", tt, [h("span", nt, r(e.displayName), 1), Yt(e) ? (n(), p("span", rt, r(Yt(e)), 1)) : o("", !0)])]),
664
+ _: 1
665
+ }, 8, ["header"]), y(C, {
666
+ header: e.$t("views.workers.workers"),
667
+ "header-class": "p-2 w-full",
668
+ class: "p-2 w-full"
669
+ }, {
670
+ body: d(({ data: t }) => [y(b, {
671
+ "model-value": Q(t.workerAgentId),
672
+ options: Xt(t),
673
+ "option-label": "label",
674
+ "option-value": "value",
675
+ "option-disabled": "disabled",
676
+ placeholder: e.$t("views.workers.local"),
677
+ class: "w-full",
678
+ "show-clear": "",
679
+ loading: Zt(t.pluginName),
680
+ disabled: Zt(t.pluginName),
681
+ "onUpdate:modelValue": (e) => Qt(t, e)
682
+ }, null, 8, [
683
+ "model-value",
684
+ "options",
685
+ "placeholder",
686
+ "loading",
687
+ "disabled",
688
+ "onUpdate:modelValue"
689
+ ])]),
690
+ _: 1
691
+ }, 8, ["header"])]),
692
+ _: 1
693
+ }, 8, ["value", "loading"])]),
694
+ _: 1
695
+ })])) : o("", !0),
696
+ l(Y) ? (n(), p("div", it, [h("span", at, r(e.$t("views.workers.pair_worker")), 1), y(S, { class: "cui-card" }, {
697
+ content: d(() => [h("div", ot, [
698
+ h("span", st, r(e.$t("views.workers.pair_worker_description")), 1),
699
+ l(G) ? (n(), p(m, { key: 0 }, [h("div", ct, [
700
+ h("label", lt, r(e.$t("views.workers.pairing_code")), 1),
701
+ y(D, null, {
702
+ default: d(() => [y(pe, {
703
+ "model-value": l(G).code,
704
+ readonly: "",
705
+ type: "text"
706
+ }, null, 8, ["model-value"]), y(E, null, {
707
+ default: d(() => [y(T, {
708
+ "action-text": e.$t("views.workers.copied"),
709
+ icon: l(x),
710
+ "button-props": {
711
+ severity: "secondary",
712
+ text: !0
713
+ },
714
+ onAction: t[3] ||= (e) => l(de)(l(G).code)
715
+ }, null, 8, ["action-text", "icon"])]),
716
+ _: 1
717
+ })]),
718
+ _: 1
719
+ }),
720
+ y(_, {
721
+ severity: "secondary",
722
+ variant: "simple",
723
+ size: "small",
724
+ class: "cui-input-hint"
725
+ }, {
726
+ default: d(() => [g(r(e.$t("views.workers.pairing_expires", { minutes: l(Rt) })), 1)]),
727
+ _: 1
728
+ })
729
+ ]), h("div", ut, [
730
+ h("div", dt, [h("label", ft, r(e.$t("views.workers.pairing_snippet")), 1), y(T, {
731
+ "action-text": e.$t("views.workers.copied"),
732
+ icon: l(x),
733
+ "button-props": {
734
+ severity: "secondary",
735
+ text: !0
736
+ },
737
+ onAction: t[4] ||= (e) => l(de)(l(zt))
738
+ }, null, 8, ["action-text", "icon"])]),
739
+ h("pre", pt, r(l(zt)), 1),
740
+ y(_, {
741
+ severity: "secondary",
742
+ variant: "simple",
743
+ size: "small",
744
+ class: "cui-input-hint"
745
+ }, {
746
+ default: d(() => [g(r(e.$t("views.workers.pairing_snippet_hint")), 1)]),
747
+ _: 1
748
+ })
749
+ ])], 64)) : o("", !0),
750
+ h("div", mt, [y(s, {
751
+ class: "cui-button-medium",
752
+ label: e.$t("views.workers.generate_code"),
753
+ loading: l(wt),
754
+ onClick: en
755
+ }, null, 8, ["label", "loading"])])
756
+ ])]),
757
+ _: 1
758
+ })])) : o("", !0)
759
+ ]))
760
+ ]);
761
+ };
762
+ }
763
+ }), [["__scopeId", "data-v-11df8752"]]);
764
+ //#endregion
765
+ export { R as default };