@camera.ui/server 2.2.6 → 2.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (560) hide show
  1. package/dist/interface/assets/{404-BLVuKvLk.js → 404-BYV0u5qE.js} +1 -1
  2. package/dist/interface/assets/{About-C-AJ0jfI.js → About-DBOS1rfw.js} +1 -1
  3. package/dist/interface/assets/Assistant-BRcHj8hq.js +1 -0
  4. package/dist/interface/assets/Automation-C0Emde7z.js +3 -0
  5. package/dist/interface/assets/{AutomationImport-C8VYjDzf.js → AutomationImport-Iu-K82Os.js} +2 -2
  6. package/dist/interface/assets/{AutomationStore-CE4PKRGd.js → AutomationStore-C2G0Bk8c.js} +2 -2
  7. package/dist/interface/assets/{AutomationStoreDetail-DavWfjLv.js → AutomationStoreDetail-BbvLRJ5u.js} +2 -2
  8. package/dist/interface/assets/Automations-D-vfqRnZ.js +2 -0
  9. package/dist/interface/assets/Camera-BpurrgAr.js +2 -0
  10. package/dist/interface/assets/Camera-D0B7yyVD.css +1 -0
  11. package/dist/interface/assets/{CameraConsole-C4AmtcrM.js → CameraConsole-JBD3ZmJ6.js} +2 -2
  12. package/dist/interface/assets/{Cameras-DR577Bno.js → Cameras-R5mJGMK9.js} +2 -2
  13. package/dist/interface/assets/{Camview-Bri_T7Tq.css → Camview-DH6_8CxH.css} +1 -1
  14. package/dist/interface/assets/Camview-IbOVRx20.js +1 -0
  15. package/dist/interface/assets/{CertificateUpload-BYFKZCP9.js → CertificateUpload-B9S4EOQs.js} +1 -1
  16. package/dist/interface/assets/Config-CbFl5Wcp.js +2 -0
  17. package/dist/interface/assets/{ConfigActionAssistant-YtCVI8LZ.js → ConfigActionAssistant-DIOh6-np.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionCameraControl-Dg_1zOYt.js → ConfigActionCameraControl-Bw_egtpP.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionDelay-_EqbfWgo.js → ConfigActionDelay-B9i4YZjy.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionHttp-BzwLv2tn.js → ConfigActionHttp-DFtxAa3U.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionImageInput-CLdY2sV4.js → ConfigActionImageInput-CuTH4Nw2.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionMqtt-lGqYshl3.js → ConfigActionMqtt-B9SfWP-G.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionNotification-D5Dj3EoU.js → ConfigActionNotification-BGMIByJT.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionNotificationControl-Dy5fKamr.js → ConfigActionNotificationControl-Cz72szMd.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionOutput-DzsQ31L0.js → ConfigActionOutput-BG6DoIRe.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionPlugin-BFrBcXvL.js → ConfigActionPlugin-B5oRSE9n.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionSensor-CX8ePlan.js → ConfigActionSensor-BErRRYfl.js} +1 -1
  28. package/dist/interface/assets/{ConfigActionSnapshot-BATLRmh6.js → ConfigActionSnapshot-Di-uxMrg.js} +1 -1
  29. package/dist/interface/assets/{ConfigActionVariable-Dgn5jvaR.js → ConfigActionVariable-BBpUti5A.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionIfElse-D5IIBjyk.js → ConfigConditionIfElse-DjOKPXQw.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionSensorState-C0JxBWdG.js → ConfigConditionSensorState-BzvvZvD0.js} +1 -1
  32. package/dist/interface/assets/{ConfigConditionSwitch-Brlgd0XP.js → ConfigConditionSwitch-DQvdfUxR.js} +1 -1
  33. package/dist/interface/assets/{ConfigConditionTime-CM4bSMyU.js → ConfigConditionTime-BqOElX5C.js} +1 -1
  34. package/dist/interface/assets/{ConfigSensorValueInput-CtuH8dCa.js → ConfigSensorValueInput-BT-0LhSH.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerDetection-DsL7lLQl.js → ConfigTriggerDetection-1OkudUah.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerGeofence-CAGIk1_W.js → ConfigTriggerGeofence-HGatk3C5.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerManual-DgkR-GWy.js → ConfigTriggerManual-DpRr_vVq.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerMqtt-B_iFalAQ.js → ConfigTriggerMqtt-C_MId3BY.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSchedule-E_QWfNKy.js → ConfigTriggerSchedule-BmwDqd6N.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerSensor-hYNbLXUu.js → ConfigTriggerSensor-Rgx8q4g8.js} +1 -1
  41. package/dist/interface/assets/{ConfigTriggerSystem-DR1EFpE9.js → ConfigTriggerSystem-4VsHPmbn.js} +1 -1
  42. package/dist/interface/assets/{ConfigTriggerWebhook-C-B5GGFH.js → ConfigTriggerWebhook-Bs7zEfY0.js} +1 -1
  43. package/dist/interface/assets/Console-oCuuVKET.js +1 -0
  44. package/dist/interface/assets/{CuiAssistantConversation-BmshW6Vc.css → CuiAssistantConversation-BmBhwrNh.css} +1 -1
  45. package/dist/interface/assets/CuiAssistantConversation-Bsyxau9v.js +5 -0
  46. package/dist/interface/assets/CuiAutomationRunsDialog-sRh_K6JI.js +1 -0
  47. package/dist/interface/assets/CuiBottomSheet-DWoSHzC7.js +1 -0
  48. package/dist/interface/assets/{CuiBottomSheet-C2sM2E3M.js → CuiBottomSheet-Dd3uOtnC.js} +1 -1
  49. package/dist/interface/assets/CuiCameraPipCard-D6REm8uT.js +1 -0
  50. package/dist/interface/assets/CuiCameraPipCard-TYTCfwXf.css +1 -0
  51. package/dist/interface/assets/CuiCameraRecordings-C2tvrbbw.js +1 -0
  52. package/dist/interface/assets/{CuiCameraShares-B6jdUBVm.js → CuiCameraShares-jrrUEHoZ.js} +1 -1
  53. package/dist/interface/assets/CuiCameraTable-BOzTWLwd.js +1 -0
  54. package/dist/interface/assets/{CuiCameraTable-CpBo25Qc.js → CuiCameraTable-C7WLZ2pA.js} +2 -2
  55. package/dist/interface/assets/CuiChartTable-BYrIX7LV.js +1 -0
  56. package/dist/interface/assets/CuiChartTable-DCr_AsSw.css +1 -0
  57. package/dist/interface/assets/{CuiConsole-BGptpT6r.js → CuiConsole-CkZML0iY.js} +2 -2
  58. package/dist/interface/assets/CuiDataTable-BFIhx1D3.js +1 -0
  59. package/dist/interface/assets/{CuiLightControl-wbZi3fA1.js → CuiLightControl-DitIWqUr.js} +1 -1
  60. package/dist/interface/assets/{CuiList-Dsu5m0TA.js → CuiList-BewTNr2X.js} +1 -1
  61. package/dist/interface/assets/CuiMarkdownContent-Do04YgHe.js +1 -0
  62. package/dist/interface/assets/{CuiMarkdownContent-BYBQX_aF.js → CuiMarkdownContent-qOPm3VEi.js} +1 -1
  63. package/dist/interface/assets/CuiPluginCard-Bd2HFduI.js +2 -0
  64. package/dist/interface/assets/{CuiPluginCategoryChip-BtJ_6_gN.js → CuiPluginCategoryChip-DlzOwRgc.js} +1 -1
  65. package/dist/interface/assets/{CuiPluginOAuthButton-Duf35I8K.js → CuiPluginOAuthButton-BQZkTcgo.js} +2 -2
  66. package/dist/interface/assets/{CuiPluginTrustBadge-jxXeRTH2.js → CuiPluginTrustBadge-DbqdfdaL.js} +1 -1
  67. package/dist/interface/assets/{CuiQRCode-BNchrpoB.js → CuiQRCode-2WsWJQFi.js} +1 -1
  68. package/dist/interface/assets/{CuiSchema-DGTMkVSe.js → CuiSchema-BL0QZmP2.js} +1 -1
  69. package/dist/interface/assets/{CuiTopNavbarItem-CHtLvn53.js → CuiTopNavbarItem-Ti2TueU1.js} +1 -1
  70. package/dist/interface/assets/Faces-DARrGLXf.js +1 -0
  71. package/dist/interface/assets/{FirstSteps-HzaBMDbH.js → FirstSteps-DBYPBvGr.js} +1 -1
  72. package/dist/interface/assets/Floorplan-BaZvzoyv.js +1 -0
  73. package/dist/interface/assets/{Instances-Dl-6rL5O.js → Instances-r0xReURi.js} +1 -1
  74. package/dist/interface/assets/{Logs-DsJkuQFq.js → Logs-DMehPk0t.js} +2 -2
  75. package/dist/interface/assets/{Menu-D_woMkjL.js → Menu-C34RRyLd.js} +1 -1
  76. package/dist/interface/assets/Metrics-BjoC71_O.js +12 -0
  77. package/dist/interface/assets/Metrics-DsHBab6t.css +1 -0
  78. package/dist/interface/assets/{OAuthDeviceFlow-CXfILAE1.js → OAuthDeviceFlow-CdZxelf2.js} +1 -1
  79. package/dist/interface/assets/Plugin-npx7CnwV.js +1 -0
  80. package/dist/interface/assets/{PluginConsole-C96m5zKy.js → PluginConsole-D1BRQCO9.js} +2 -2
  81. package/dist/interface/assets/PluginDetail-nwTrJmO6.js +2 -0
  82. package/dist/interface/assets/{PluginSchema-u1bqXU29.js → PluginSchema-B9VsBHOU.js} +1 -1
  83. package/dist/interface/assets/PluginSearch-CP2kQWKf.js +1 -0
  84. package/dist/interface/assets/PluginSearch-WEvbKMRs.js +2 -0
  85. package/dist/interface/assets/{PluginUpdateProgress-BT4lN9HT.js → PluginUpdateProgress-uj0XPV-_.js} +1 -1
  86. package/dist/interface/assets/Plugins-CPx9Hszm.js +1 -0
  87. package/dist/interface/assets/{RecentEventsFilter-Kp_lTOuG.js → RecentEventsFilter-D5VSH2K1.js} +1 -1
  88. package/dist/interface/assets/Recordings-De6Zcv0M.js +1 -0
  89. package/dist/interface/assets/SensorEdit-SD_oHBRo.js +1 -0
  90. package/dist/interface/assets/{SensorHistory-Cet35_RO.js → SensorHistory-SxiLOloa.js} +1 -1
  91. package/dist/interface/assets/Sensors-Djl64M-W.js +2 -0
  92. package/dist/interface/assets/{Settings-C-LCDIbK.js → Settings-CAf2reGs.js} +1 -1
  93. package/dist/interface/assets/SettingsAccount-BGj5Ni91.js +1 -0
  94. package/dist/interface/assets/SettingsAccount-Dy6WC8ql.js +1 -0
  95. package/dist/interface/assets/SettingsAppearance-BGFhMlRk.js +1 -0
  96. package/dist/interface/assets/{SettingsAppearance-BS4EQNjH.js → SettingsAppearance-DQzQmVzE.js} +1 -1
  97. package/dist/interface/assets/SettingsAssistant-BwYVyuN3.js +1 -0
  98. package/dist/interface/assets/{SettingsBackup-DBlV1gej.js → SettingsBackup-CVExGnOo.js} +1 -1
  99. package/dist/interface/assets/{SettingsList-D8eSwbBY.js → SettingsList-vo7sz_MY.js} +1 -1
  100. package/dist/interface/assets/SettingsMqtt-B1CuOcML.js +1 -0
  101. package/dist/interface/assets/SettingsNotifications-CCQ6eiq8.js +1 -0
  102. package/dist/interface/assets/{SettingsPermissions-CJiz0Z7B.js → SettingsPermissions-BlOf6HEy.js} +1 -1
  103. package/dist/interface/assets/{SettingsRecordings-CLz9Zp47.js → SettingsRecordings-7tTBg6m1.js} +1 -1
  104. package/dist/interface/assets/SettingsRemote-CsIGx-LU.css +1 -0
  105. package/dist/interface/assets/SettingsRemote-DBgKmIdv.js +2 -0
  106. package/dist/interface/assets/{SettingsSystem-txTFGomQ.js → SettingsSystem-DaFMsZpN.js} +2 -2
  107. package/dist/interface/assets/{SettingsUsers-CUp6vQPc.js → SettingsUsers-DXACwVPi.js} +1 -1
  108. package/dist/interface/assets/Terminal-DtGqlHbk.js +4 -0
  109. package/dist/interface/assets/{Training-Bkn52mPJ.css → Training-C-ToeAl4.css} +1 -1
  110. package/dist/interface/assets/Training-Ca11D1Vj.js +1 -0
  111. package/dist/interface/assets/Updates-yenwuqnD.js +2 -0
  112. package/dist/interface/assets/{VariableInput-183LygmK.js → VariableInput-CcILik4M.js} +1 -1
  113. package/dist/interface/assets/{VariableSuggestions-DwLtlzVz.js → VariableSuggestions-Bj0HdrYW.js} +1 -1
  114. package/dist/interface/assets/{VersionsHandler-DkbkcypK.js → VersionsHandler-BA8Lcysg.js} +1 -1
  115. package/dist/interface/assets/{VirtualSensorCreate-Bn4tgdxA.js → VirtualSensorCreate-DvHyw7I2.js} +1 -1
  116. package/dist/interface/assets/{Workers-DH59zE1C.css → Workers-Dey1snI4.css} +1 -1
  117. package/dist/interface/assets/Workers-Dyo44zxe.js +2 -0
  118. package/dist/interface/assets/{account-DwW7pBOb.js → account-DjBQulDn.js} +1 -1
  119. package/dist/interface/assets/ace-BPAekgyf.js +1 -0
  120. package/dist/interface/assets/{ace.config-CCyX_Ohk.js → ace.config-CvKE-yp1.js} +1 -1
  121. package/dist/interface/assets/{alert-circle-BdUVAt1B.js → alert-circle-B-JCMbb9.js} +1 -1
  122. package/dist/interface/assets/{alert-outline-IRxYbw0j.js → alert-outline-B4ZZowEj.js} +1 -1
  123. package/dist/interface/assets/api-CHQlxVtZ.css +2 -0
  124. package/dist/interface/assets/{api-h4HRB3ef.js → api-CKbL5jC7.js} +1 -1
  125. package/dist/interface/assets/api-CLazgL-g.js +4 -0
  126. package/dist/interface/assets/{arrow-left-Bk-ZrOVr.js → arrow-left-PeaVwpHd.js} +1 -1
  127. package/dist/interface/assets/{assistant-4hYyIu6D.js → assistant-CwmHp5bB.js} +1 -1
  128. package/dist/interface/assets/{assistantModels-BsSgRsws.js → assistantModels-D3ncWWu0.js} +1 -1
  129. package/dist/interface/assets/{auth-DFesRtwI.js → auth-AfZrkJ2f.js} +1 -1
  130. package/dist/interface/assets/{automations-D2bnX8uw.js → automations-DOCG0q8-.js} +1 -1
  131. package/dist/interface/assets/{back-filled-D-X19YMO.js → back-filled-CJoz7Gkl.js} +1 -1
  132. package/dist/interface/assets/{bell-ring-DreEHgoT.js → bell-ring-CBf0Yn3H.js} +1 -1
  133. package/dist/interface/assets/{brain-DuDAg544.js → brain-uZ03n3LW.js} +1 -1
  134. package/dist/interface/assets/cameraSources-mHEz9ROa.js +1 -0
  135. package/dist/interface/assets/{cctv-DM-C_8_6.js → cctv-VgKQ-dBV.js} +1 -1
  136. package/dist/interface/assets/{check-circle-Bevuw8-0.js → check-circle-BU-KNgPB.js} +1 -1
  137. package/dist/interface/assets/{check-circle-outline-aMxkvksr.js → check-circle-outline-BsxzAMed.js} +1 -1
  138. package/dist/interface/assets/{chevron-down-CCFn9Z56.js → chevron-down-CxK4Sfjs.js} +1 -1
  139. package/dist/interface/assets/{chevron-up-CSImUM3_.js → chevron-up-DWfNH8va.js} +1 -1
  140. package/dist/interface/assets/{clock-outline-DH3WIEJt.js → clock-outline-BtWx4GaF.js} +1 -1
  141. package/dist/interface/assets/{close-CMxyM4v9.js → close-Be7oB7d_.js} +1 -1
  142. package/dist/interface/assets/{close-circle-CfgJCZ9A.js → close-circle-D7Jmhp_7.js} +1 -1
  143. package/dist/interface/assets/{cloud-check-CbdFLIdR.js → cloud-check-zCGJxpWI.js} +1 -1
  144. package/dist/interface/assets/cloudHandoff-zJCrDmwk.js +1 -0
  145. package/dist/interface/assets/{config-DDaCrMSU.js → config-AG0SnOiY.js} +1 -1
  146. package/dist/interface/assets/{content-copy-Bz49QPOI.js → content-copy-BcYlfuFc.js} +1 -1
  147. package/dist/interface/assets/{copy-DA6QQHRt.js → copy-DuY-M96E.js} +1 -1
  148. package/dist/interface/assets/{cube-scan-IiH8zwm2.js → cube-scan-Cae03i_N.js} +1 -1
  149. package/dist/interface/assets/{database-refresh-outline-CIUDpcuq.js → database-refresh-outline-B3OEQFF7.js} +1 -1
  150. package/dist/interface/assets/{delete-Btu-UVx9.js → delete-BWgOAzKl.js} +1 -1
  151. package/dist/interface/assets/{dist-D_qWDAKp.js → dist-DmpuuM9s.js} +1 -1
  152. package/dist/interface/assets/{dots-vertical-D496SIss.js → dots-vertical-Kby1GY8_.js} +1 -1
  153. package/dist/interface/assets/{download-BSC7lwq_.js → download-C291Yq7I.js} +1 -1
  154. package/dist/interface/assets/esm-B2TVBF3B.js +1 -0
  155. package/dist/interface/assets/esm-BEntuCG7.js +1 -0
  156. package/dist/interface/assets/esm-BRnyrFH8.js +1 -0
  157. package/dist/interface/assets/esm-CCwXzd_8.js +1 -0
  158. package/dist/interface/assets/esm-CEjwTsuD.js +1 -0
  159. package/dist/interface/assets/esm-CGGV9tC4.js +1 -0
  160. package/dist/interface/assets/esm-CI2tTOc5.js +1 -0
  161. package/dist/interface/assets/esm-CgxZmMYv.js +1 -0
  162. package/dist/interface/assets/esm-Csc6f5Fy.js +1 -0
  163. package/dist/interface/assets/esm-Qzx3d-Ie.js +1 -0
  164. package/dist/interface/assets/esm-a_w7mTdx.js +1 -0
  165. package/dist/interface/assets/esm-iKfsu7-H.js +1 -0
  166. package/dist/interface/assets/esm-ks5kvk_e.js +1 -0
  167. package/dist/interface/assets/esm-nJfTguKF.js +1 -0
  168. package/dist/interface/assets/{eventIcons-UQutPG3p.js → eventIcons-C3JWChgS.js} +1 -1
  169. package/dist/interface/assets/{eye-off-CSU0U8g7.js → eye-off-zGCIHKOK.js} +1 -1
  170. package/dist/interface/assets/{flowSchema-YJtAu9gB.js → flowSchema-B0d3VjU7.js} +1 -1
  171. package/dist/interface/assets/{help-circle-outline-Cr_yNhPi.js → help-circle-outline-DXFepDAG.js} +1 -1
  172. package/dist/interface/assets/{history-anuCbp1T.js → history-D-FlZdKD.js} +1 -1
  173. package/dist/interface/assets/{home-N3bDR1vX.js → home-DPdzRxcM.js} +1 -1
  174. package/dist/interface/assets/{information-outline-CMWIvLNB.js → information-outline-ChOM9qgI.js} +1 -1
  175. package/dist/interface/assets/{intercomService-CjoJaOZ7.js → intercomService-DG3EeZ6s.js} +1 -1
  176. package/dist/interface/assets/{lan-CYXjdk7L.js → lan-DvYEO83l.js} +1 -1
  177. package/dist/interface/assets/{main-DVa5U7UB.css → main-CGY9cVyi.css} +1 -1
  178. package/dist/interface/assets/main-DkHV6YgB.js +3 -0
  179. package/dist/interface/assets/{microphone-BB2pATI_.js → microphone-D-T9xga4.js} +1 -1
  180. package/dist/interface/assets/{minus-BCp3ZNKO.js → minus-4T4INuO4.js} +1 -1
  181. package/dist/interface/assets/mqtt-DE2VbNdt.js +1 -0
  182. package/dist/interface/assets/native-CtfXrwj5.js +1 -0
  183. package/dist/interface/assets/native-JMtkOkIV.js +1 -0
  184. package/dist/interface/assets/{nodeDefinitions-ByrqsENY.js → nodeDefinitions-Dp8cnne1.js} +1 -1
  185. package/dist/interface/assets/{notifications-5yeK345h.js → notifications-8FH4ApEz.js} +1 -1
  186. package/dist/interface/assets/{pause-BQlxwAW2.js → pause-DHqHYA3V.js} +1 -1
  187. package/dist/interface/assets/{pencil-outline-CIQL5Kui.js → pencil-outline-D-GmPf8M.js} +1 -1
  188. package/dist/interface/assets/{pencil-CDsNnEXi.js → pencil-vACi-JzY.js} +1 -1
  189. package/dist/interface/assets/plugin-Dt5Xetfz.js +1 -0
  190. package/dist/interface/assets/{plugins-BTOdE_zv.js → plugins-2JLUEMYc.js} +1 -1
  191. package/dist/interface/assets/{plus-Bp4q9G7S.js → plus-BBUb8_uL.js} +1 -1
  192. package/dist/interface/assets/{plus-CySoovdr.js → plus-BJb7U4bN.js} +1 -1
  193. package/dist/interface/assets/{power-WmBLDR0-.js → power-Dm_aNIz-.js} +1 -1
  194. package/dist/interface/assets/{radar-CyYAmume.js → radar-Dcvdz--e.js} +1 -1
  195. package/dist/interface/assets/{refresh-CHTA3jVN.js → refresh-CO4F18Je.js} +1 -1
  196. package/dist/interface/assets/{restore-C8RNM5yX.js → restore-xRBt3Grb.js} +1 -1
  197. package/dist/interface/assets/{rooms-BCdm6IAx.js → rooms-DoAfzA8W.js} +1 -1
  198. package/dist/interface/assets/{round-alt-arrow-left-bold-Gh5mi_yR.js → round-alt-arrow-left-bold-CZHXzGS5.js} +1 -1
  199. package/dist/interface/assets/{search-BajCVmOI.js → search-D75YW08B.js} +1 -1
  200. package/dist/interface/assets/{sensorIcons-5Ynqwo3e.js → sensorIcons-BntiOPX7.js} +1 -1
  201. package/dist/interface/assets/{sensorSlots-BF70tpV7.js → sensorSlots-biaL-O8E.js} +1 -1
  202. package/dist/interface/assets/{sensors-CeFEEz8r.js → sensors-DyAMdS-H.js} +1 -1
  203. package/dist/interface/assets/server-BDRUGj61.js +1 -0
  204. package/dist/interface/assets/{settings-DnksaK7m.js → settings-DDOgc5BX.js} +1 -1
  205. package/dist/interface/assets/{source-branch-CzqIPffP.js → source-branch-DVHuYlkZ.js} +1 -1
  206. package/dist/interface/assets/{theme-DF_XA58O.js → theme-CLxrnR60.js} +1 -1
  207. package/dist/interface/assets/{trash-2-DJeEhHf4.js → trash-2-DDKPtl2x.js} +1 -1
  208. package/dist/interface/assets/{trash-can-outline-DrT6iw7I.js → trash-can-outline-DVH3zgo0.js} +1 -1
  209. package/dist/interface/assets/{trash-fill-Bb_-UicM.js → trash-fill-C_IJ4Vu2.js} +1 -1
  210. package/dist/interface/assets/{trash2-Dsl8gfxq.js → trash2-DY0XTaJD.js} +1 -1
  211. package/dist/interface/assets/{types-CklFkUXk.js → types-8JXzkoC8.js} +1 -1
  212. package/dist/interface/assets/{types-ArGM5-5O.js → types-B4LLKzDW.js} +1 -1
  213. package/dist/interface/assets/types-a7Nw-P-m.js +1 -0
  214. package/dist/interface/assets/{undo-DoqJW-k7.js → undo-YRkBYCnf.js} +1 -1
  215. package/dist/interface/assets/ungrouped-BoAbb9w3.js +1 -0
  216. package/dist/interface/assets/ungrouped-ChmBvcXp.css +1 -0
  217. package/dist/interface/assets/updates-F-veEP1I.js +1 -0
  218. package/dist/interface/assets/{upload-DtIcwiNC.js → upload-2WcHRjTq.js} +1 -1
  219. package/dist/interface/assets/{upload-C3w1XH-o.js → upload-BiE7VzTj.js} +1 -1
  220. package/dist/interface/assets/{useAppVersion-Dcvu95bZ.js → useAppVersion-BjUQmB7M.js} +1 -1
  221. package/dist/interface/assets/{useAssistantActions-Cc_O6M9_.js → useAssistantActions-CNEJol4o.js} +1 -1
  222. package/dist/interface/assets/useBackupRestore-Biqn_lhh.js +1 -0
  223. package/dist/interface/assets/{useCameraOptions-8I4MTDgj.js → useCameraOptions-D_oduve2.js} +1 -1
  224. package/dist/interface/assets/useKeyboardInset-CPWSVYlA.js +1 -0
  225. package/dist/interface/assets/{useLogsSocket-bpOiLgWT.js → useLogsSocket-B_jXUqv8.js} +1 -1
  226. package/dist/interface/assets/{useNavLayout-Cjf6Da2u.js → useNavLayout-DEngIIeU.js} +1 -1
  227. package/dist/interface/assets/{usePermissions-BXTw4tII.js → usePermissions-DAO92InI.js} +1 -1
  228. package/dist/interface/assets/{usePluginUpdates-bOMj-IvL.js → usePluginUpdates-CJi8Y_wl.js} +1 -1
  229. package/dist/interface/assets/{usePushRegistration-HOvLuUVP.js → usePushRegistration-j9WCeFbv.js} +2 -2
  230. package/dist/interface/assets/{useServerRestart-CQN4cdHJ.js → useServerRestart-BVks5tuC.js} +1 -1
  231. package/dist/interface/assets/{useStreamStatus-Da7c2Wme.js → useStreamStatus-DQ0NSyU8.js} +1 -1
  232. package/dist/interface/assets/{useTabSwipe-fFuyJJBQ.js → useTabSwipe-CVq7EcIY.js} +1 -1
  233. package/dist/interface/assets/{useUpdateChannel-Ca1RX32u.js → useUpdateChannel-C0fjDvNP.js} +1 -1
  234. package/dist/interface/assets/{useUpdatesSocket-DHZNpLQX.js → useUpdatesSocket-DXKF9hzc.js} +1 -1
  235. package/dist/interface/assets/useUserOptions-UjMeAL5n.js +1 -0
  236. package/dist/interface/assets/{variable-ywTlRfo5.js → variable-Cp8o-q8t.js} +1 -1
  237. package/dist/interface/assets/vendor-Df81FCJz.js +29 -0
  238. package/dist/interface/assets/{vendor-ace-CvEoip98.js → vendor-ace-QSsGUspX.js} +1 -1
  239. package/dist/interface/assets/{vendor-cameraui-CK4yHsJi.js → vendor-cameraui-GmMRyJ2R.js} +45 -45
  240. package/dist/interface/assets/{vendor-capacitor-Bs_WzL0Q.js → vendor-capacitor-t5EIN1GG.js} +2 -2
  241. package/dist/interface/assets/{vendor-chart-DBK083Hu.js → vendor-chart-BiJYkx5_.js} +1 -1
  242. package/dist/interface/assets/{vendor-core-B-Q4es-f.js → vendor-core-BeAannbA.js} +1 -1
  243. package/dist/interface/assets/{vendor-dnd-DGQLvX6Y.js → vendor-dnd-C1kMh9_t.js} +1 -1
  244. package/dist/interface/assets/{vendor-draggabilly-D8CK6M-y.js → vendor-draggabilly-Cw1oJ6qc.js} +1 -1
  245. package/dist/interface/assets/vendor-leaflet-OSZlONe5.js +1 -0
  246. package/dist/interface/assets/{vendor-markdown-qHIinIUE.js → vendor-markdown-DTWiWKBj.js} +1 -1
  247. package/dist/interface/assets/{vendor-primevue-Cmp3VjIC.js → vendor-primevue-Zx6t06A4.js} +77 -77
  248. package/dist/interface/assets/{vendor-vueflow-bSwRZ9X8.js → vendor-vueflow-DWU_IzGe.js} +1 -1
  249. package/dist/interface/assets/web-B98ahwoP.js +1 -0
  250. package/dist/interface/assets/web-BSsSrRZf.js +1 -0
  251. package/dist/interface/assets/web-BiNRDta4.js +1 -0
  252. package/dist/interface/assets/web-BjKL51lK-CZKmYhby.js +1 -0
  253. package/dist/interface/assets/web-BjtOcquy.js +1 -0
  254. package/dist/interface/assets/web-CkTE9nCG.js +1 -0
  255. package/dist/interface/assets/web-Cvogq5S5.js +1 -0
  256. package/dist/interface/assets/web-D-A4EBKj.js +1 -0
  257. package/dist/interface/assets/web-DVGMBduz.js +1 -0
  258. package/dist/interface/assets/web-SpWB7I6X.js +1 -0
  259. package/dist/interface/assets/web-k0ihT_qK.js +1 -0
  260. package/dist/interface/assets/web-ovBpm7Dl.js +1 -0
  261. package/dist/interface/assets/web-z5Xz9tOQ.js +1 -0
  262. package/dist/interface/assets/web-zfhkFevT.js +1 -0
  263. package/dist/interface/assets/{webhook-CWKf2Qxu.js → webhook-DIjChTrs.js} +1 -1
  264. package/dist/interface/assets/workbox-window.prod.es5-DRKojI0e.js +1 -0
  265. package/dist/interface/assets/{zoom-in-CHkXAWHy.js → zoom-in-rMB152Uz.js} +1 -1
  266. package/dist/interface/ha/{404-C0mWQGWl.js → 404-D5gfy0Cd.js} +1 -1
  267. package/dist/interface/ha/{About-ByE7XErJ.js → About-JzlpCzBN.js} +3 -3
  268. package/dist/interface/ha/{Assistant-Z3FTR868.js → Assistant-DgOfGesf.js} +2239 -1725
  269. package/dist/interface/ha/{Automation-COQqTFNw.js → Automation-BDaWYiBu.js} +146 -146
  270. package/dist/interface/ha/{AutomationImport-ueWqMBX9.js → AutomationImport-BNB_PJ9R.js} +6 -6
  271. package/dist/interface/ha/{AutomationStore-DBO4aZqy.js → AutomationStore-_TeOt1wz.js} +73 -73
  272. package/dist/interface/ha/{AutomationStoreDetail-DMnYu7hf.js → AutomationStoreDetail-jjIEZoRi.js} +20 -20
  273. package/dist/interface/ha/{Automations-CMdbidc0.js → Automations-DM6FEVOw.js} +110 -110
  274. package/dist/interface/ha/Camera-sH9fRv18.js +670 -0
  275. package/dist/interface/ha/{CameraConsole-oMNZfKE6.js → CameraConsole-BoVql05l.js} +4 -4
  276. package/dist/interface/ha/{Cameras-CsqrLx97.js → Cameras-cQBGvXq7.js} +349 -347
  277. package/dist/interface/ha/{Camview-Br0LUakz.js → Camview-mkG5FXZM.js} +323 -319
  278. package/dist/interface/ha/{Config-Y5eUNSW7.js → Config-BNPDzo_h.js} +11 -11
  279. package/dist/interface/ha/{ConfigActionAssistant-hl-6ZACj.js → ConfigActionAssistant-C-8P3DYz.js} +4 -4
  280. package/dist/interface/ha/{ConfigActionCameraControl-DnXlVFWD.js → ConfigActionCameraControl-x1ksGL7m.js} +3 -3
  281. package/dist/interface/ha/{ConfigActionHttp-BkpkMmRd.js → ConfigActionHttp-DzCJp85z.js} +2 -2
  282. package/dist/interface/ha/{ConfigActionImageInput-Dp78_QS_.js → ConfigActionImageInput-C5C5U_2z.js} +1 -1
  283. package/dist/interface/ha/{ConfigActionMqtt-DA_UWb5j.js → ConfigActionMqtt-T29xb75r.js} +4 -4
  284. package/dist/interface/ha/{ConfigActionNotification-CQ4Ses3a.js → ConfigActionNotification-BcnyilF9.js} +3 -3
  285. package/dist/interface/ha/{ConfigActionNotificationControl-Cb5PNGz-.js → ConfigActionNotificationControl-D3wIVKuU.js} +2 -2
  286. package/dist/interface/ha/{ConfigActionOutput-DLuNHwRb.js → ConfigActionOutput-hD-yVczw.js} +1 -1
  287. package/dist/interface/ha/{ConfigActionPlugin-ChKFCNaj.js → ConfigActionPlugin-Bz1O-O4Q.js} +5 -5
  288. package/dist/interface/ha/{ConfigActionSensor-DOutFalW.js → ConfigActionSensor-FOz-PYl_.js} +5 -5
  289. package/dist/interface/ha/{ConfigActionSnapshot-GWgY6YIN.js → ConfigActionSnapshot-CmxEOuK1.js} +2 -2
  290. package/dist/interface/ha/{ConfigActionVariable-bu-9VYTG.js → ConfigActionVariable-BCvkrdCh.js} +1 -1
  291. package/dist/interface/ha/{ConfigConditionIfElse-iNp8tlZV.js → ConfigConditionIfElse-icfTG9OA.js} +3 -3
  292. package/dist/interface/ha/{ConfigConditionSensorState-Dn7kcHpJ.js → ConfigConditionSensorState-ClUAsm0d.js} +4 -4
  293. package/dist/interface/ha/{ConfigConditionSwitch-DaUlDgo0.js → ConfigConditionSwitch-C8AMCkn6.js} +5 -5
  294. package/dist/interface/ha/{ConfigSensorValueInput-D6m6suqJ.js → ConfigSensorValueInput-ChvDQzGd.js} +4 -4
  295. package/dist/interface/ha/{ConfigTriggerDetection-C5B_DC_L.js → ConfigTriggerDetection-aUSyaClu.js} +2 -2
  296. package/dist/interface/ha/{ConfigTriggerGeofence-B4WVNcK5.js → ConfigTriggerGeofence-DsJeJWP4.js} +7 -7
  297. package/dist/interface/ha/{ConfigTriggerMqtt-wnMfk_Un.js → ConfigTriggerMqtt-CsAxA7QZ.js} +1 -1
  298. package/dist/interface/ha/{ConfigTriggerSensor-xFpI5KPu.js → ConfigTriggerSensor-CTxr9cfU.js} +1 -1
  299. package/dist/interface/ha/{ConfigTriggerSystem-YI9WYYVM.js → ConfigTriggerSystem-C8UEfpfs.js} +2 -2
  300. package/dist/interface/ha/{ConfigTriggerWebhook-58c2KgUe.js → ConfigTriggerWebhook-frEE-SCB.js} +1 -1
  301. package/dist/interface/ha/{Console-Coiqh32K.js → Console-A3VtbsLg.js} +12 -12
  302. package/dist/interface/ha/{CuiAutomationRunsDialog-CJ2MGfEY.js → CuiAutomationRunsDialog-BlJvhBiX.js} +2 -2
  303. package/dist/interface/ha/{CuiBottomSheet-BlG9Pl9j.js → CuiBottomSheet-Cu-t3H0Z.js} +1 -1
  304. package/dist/interface/ha/{CuiCameraRecordings-DLXEB4Q7.js → CuiCameraRecordings-R5ArEmqJ.js} +10 -10
  305. package/dist/interface/ha/{CuiCameraShares-BCIeaM6u.js → CuiCameraShares-B9pfRkM4.js} +5 -5
  306. package/dist/interface/ha/{CuiCameraTable-PYYC7sOu.js → CuiCameraTable-CKjGKaMC.js} +9 -9
  307. package/dist/interface/ha/{CuiChartTable-FQ2iR5Hd.js → CuiChartTable-BxWjRe-k.js} +89 -74
  308. package/dist/interface/ha/{CuiConsole-C77k5q_-.js → CuiConsole-C5fzsR7t.js} +4 -4
  309. package/dist/interface/ha/{CuiDataTable-CIKQLseG.js → CuiDataTable-BOdQDY8J.js} +5 -5
  310. package/dist/interface/ha/{CuiPluginCard-DZNXKP_P.js → CuiPluginCard-BT71RRAD.js} +33 -33
  311. package/dist/interface/ha/{CuiPluginOAuthButton-DVf52_Zc.js → CuiPluginOAuthButton-moh9uS7G.js} +7 -7
  312. package/dist/interface/ha/{CuiPluginTrustBadge-CPljYiM8.js → CuiPluginTrustBadge-F_pVWkPJ.js} +1 -1
  313. package/dist/interface/ha/{CuiQRCode-oe8PLnLj.js → CuiQRCode-BNuj-nJ4.js} +6 -6
  314. package/dist/interface/ha/{CuiSchema-CQy94ZTs.js → CuiSchema-Cb_8Ks-I.js} +125 -125
  315. package/dist/interface/ha/{CuiTopNavbarItem-D6OHZLQY.js → CuiTopNavbarItem-BGzrrTls.js} +1 -1
  316. package/dist/interface/ha/{Faces-DxAPvemO.js → Faces-CsM5VO8Q.js} +247 -247
  317. package/dist/interface/ha/{FirstSteps-ZINTSaeL.js → FirstSteps-BFX0-EEi.js} +12 -12
  318. package/dist/interface/ha/{Floorplan-DkbL8ppT.js → Floorplan-D6MGqSJT.js} +198 -199
  319. package/dist/interface/ha/{Instances-totWtqd7.js → Instances-CHzIUyyA.js} +72 -72
  320. package/dist/interface/ha/{Logs-CzabIFja.js → Logs-DZKM3dWv.js} +10 -10
  321. package/dist/interface/ha/{Menu-DcVBOQfw.js → Menu-BQz4dfQi.js} +8 -8
  322. package/dist/interface/ha/{Metrics-B_SN5hbp.js → Metrics-CdpWJ1mm.js} +310 -308
  323. package/dist/interface/ha/{OAuthDeviceFlow-B28TPsTQ.js → OAuthDeviceFlow-DUELtx3X.js} +9 -9
  324. package/dist/interface/ha/{Plugin-B2PbbB8d.js → Plugin-5bbTF0Rv.js} +92 -92
  325. package/dist/interface/ha/{PluginConsole-_KeG4FvO.js → PluginConsole-C__0lzsS.js} +4 -4
  326. package/dist/interface/ha/{PluginDetail-GK_Fx14e.js → PluginDetail-Blrktk9W.js} +9 -9
  327. package/dist/interface/ha/{PluginSearch-qSy4aqAW.js → PluginSearch-BKbdwHQ1.js} +121 -121
  328. package/dist/interface/ha/{PluginUpdateProgress-C4Q2j6VO.js → PluginUpdateProgress-IsNiecu3.js} +3 -3
  329. package/dist/interface/ha/{Plugins-D0tvZHie.js → Plugins-CC2Dwlx5.js} +53 -53
  330. package/dist/interface/ha/{Recordings-CpxJYaAa.js → Recordings-B1XsJrzs.js} +303 -301
  331. package/dist/interface/ha/{SensorEdit-8KtqLXEu.js → SensorEdit-Bi2Yx_ji.js} +46 -46
  332. package/dist/interface/ha/{SensorHistory-CPTTsdjM.js → SensorHistory-sqG_6eav.js} +2 -2
  333. package/dist/interface/ha/{Sensors-DJt_Hnn2.js → Sensors-DLtOh1p4.js} +509 -510
  334. package/dist/interface/ha/{Settings-B-OdG5pG.js → Settings-DI3_zenm.js} +38 -38
  335. package/dist/interface/ha/{SettingsAccount-Ba2-2Lbi.js → SettingsAccount-pS86Qyr-.js} +251 -251
  336. package/dist/interface/ha/{SettingsAppearance-D56HjSuQ.js → SettingsAppearance-tS3bubKQ.js} +4 -4
  337. package/dist/interface/ha/{SettingsAssistant-DglU0auc.js → SettingsAssistant-LejCRXsF.js} +501 -501
  338. package/dist/interface/ha/{SettingsBackup-DZx4McDz.js → SettingsBackup-CkhD1Kze.js} +23 -23
  339. package/dist/interface/ha/{SettingsList-D9nIGkbE.js → SettingsList-bibwvPSM.js} +2 -2
  340. package/dist/interface/ha/{SettingsMqtt-BOszh--k.js → SettingsMqtt-DSt0B4Qg.js} +18 -18
  341. package/dist/interface/ha/{SettingsNotifications-DBVpZfp0.js → SettingsNotifications-BF7ajNwE.js} +118 -118
  342. package/dist/interface/ha/{SettingsRecordings-D3oJnizu.js → SettingsRecordings-BTIdncxg.js} +9 -9
  343. package/dist/interface/ha/{SettingsRemote-BOotvcOT.js → SettingsRemote-Cba4P1-O.js} +347 -344
  344. package/dist/interface/ha/{SettingsSystem-Bg11qoQX.js → SettingsSystem-_Nnh2ZF5.js} +9 -9
  345. package/dist/interface/ha/{SettingsUsers-KpLs9Jnh.js → SettingsUsers-BfHFoxJi.js} +83 -83
  346. package/dist/interface/ha/{Terminal-D6opTHYI.js → Terminal-Dv_7oWmS.js} +11 -11
  347. package/dist/interface/ha/Training-CaSFA5oH.js +1699 -0
  348. package/dist/interface/ha/{Updates-C_OvXJjd.js → Updates-BHl5H7zE.js} +15 -15
  349. package/dist/interface/ha/{VariableInput-CfaDp67S.js → VariableInput-DtLo7-Nw.js} +1 -1
  350. package/dist/interface/ha/{VersionsHandler-D1FVeYUZ.js → VersionsHandler-CF0DSeol.js} +10 -10
  351. package/dist/interface/ha/{VirtualSensorCreate-DJIgMVrt.js → VirtualSensorCreate-C907EgIz.js} +2 -2
  352. package/dist/interface/ha/Workers-Dz1d9gEQ.js +814 -0
  353. package/dist/interface/ha/{ace-B3bPzJu9.js → ace-C9MtBQVV.js} +1 -1
  354. package/dist/interface/ha/{ace.config-Dt55Nqby.js → ace.config-CSXnaIzV.js} +1 -1
  355. package/dist/interface/ha/{api-D2VzV4is.js → api-DUqpDJ2N.js} +14361 -14070
  356. package/dist/interface/ha/{api-CDawdL4p.js → api-gId1nlMj.js} +4 -4
  357. package/dist/interface/ha/{assistant-BmDAfChm.js → assistant-BaR65gIY.js} +50 -50
  358. package/dist/interface/ha/{auth-CvLz9C4w.js → auth-Btsz_KxO.js} +38 -38
  359. package/dist/interface/ha/{automationBlueprint-BhNaeOZ1.js → automationBlueprint-CuO3iOiM.js} +3 -3
  360. package/dist/interface/ha/cameraui-cards.js +1 -1
  361. package/dist/interface/ha/{cards-MQrnU0T8.js → cards-DWhezIPP.js} +1447 -1407
  362. package/dist/interface/ha/{config-t_oAKFkJ.js → config-BKStpoEQ.js} +12 -12
  363. package/dist/interface/ha/{dist-oFWkn6pD.js → dist-CM7R4_Gj.js} +34 -25
  364. package/dist/interface/ha/{mqtt-C20h1uze.js → mqtt-ajcSmTB-.js} +14 -14
  365. package/dist/interface/ha/{notifications-Cy9DKiEn.js → notifications-Cf9dXHEO.js} +18 -18
  366. package/dist/interface/ha/{pinia-BokSpDzj.js → pinia-DIKO5lnE.js} +267 -259
  367. package/dist/interface/ha/{plugins-jozYyBhV.js → plugins-ml823dJV.js} +61 -61
  368. package/dist/interface/ha/{rooms-DyfT3cXp.js → rooms-C5gUErBi.js} +9 -9
  369. package/dist/interface/ha/{server-hCCjQjZE.js → server-dArenpJI.js} +26 -26
  370. package/dist/interface/ha/{types-RG0SckNR.js → types-DYymuACA.js} +25 -25
  371. package/dist/interface/ha/{ungrouped-BbyfoCQp.js → ungrouped-BHLAySWP.js} +237 -213
  372. package/dist/interface/ha/{updates-hUgVDgoD.js → updates-D5sFzGtC.js} +33 -33
  373. package/dist/interface/ha/{useAppVersion-wNhZDuvR.js → useAppVersion-C5x3Ap4_.js} +1 -1
  374. package/dist/interface/ha/{useKeyboardInset-Cmbvb_W3.js → useKeyboardInset-Cj0T2AFX.js} +1 -1
  375. package/dist/interface/ha/{useLogsSocket-y9Aex3tJ.js → useLogsSocket-DtvfQlPh.js} +1 -1
  376. package/dist/interface/ha/{useNavLayout-Ehb0t34k.js → useNavLayout-HSFBA4JV.js} +13 -13
  377. package/dist/interface/ha/{useServerRestart-CRSVcz3z.js → useServerRestart-Ci0SppGW.js} +1 -1
  378. package/dist/interface/ha/{useTabSwipe-B_bseZkI.js → useTabSwipe-CPKkRmaH.js} +1 -1
  379. package/dist/interface/ha/{useUpdateChannel-C_GU6lj6.js → useUpdateChannel-CXHHovK3.js} +2 -2
  380. package/dist/interface/ha/{useUpdatesSocket-CYgHb7UX.js → useUpdatesSocket-DVST2YXV.js} +1 -1
  381. package/dist/interface/ha/{useUserOptions-pVYr-s3O.js → useUserOptions-BYcYI6QA.js} +1 -1
  382. package/dist/interface/index.html +70 -70
  383. package/dist/interface/sw.js +1 -1
  384. package/dist/server/package.json +16 -16
  385. package/dist/server/requirements.txt +2 -2
  386. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +8 -0
  387. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +5 -1
  388. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/camera_config_internal.py +5 -1
  389. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/manager/__init__.py +2 -1
  390. package/dist/server/src/api/controllers/api.controller.js +1 -1
  391. package/dist/server/src/api/controllers/api.controller.js.map +1 -1
  392. package/dist/server/src/api/controllers/plugins.controller.js +1 -0
  393. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  394. package/dist/server/src/api/controllers/workers.controller.d.ts +2 -2
  395. package/dist/server/src/api/controllers/workers.controller.js +8 -2
  396. package/dist/server/src/api/controllers/workers.controller.js.map +1 -1
  397. package/dist/server/src/api/database/record-schemas.d.ts +3 -0
  398. package/dist/server/src/api/database/record-schemas.js +1 -0
  399. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  400. package/dist/server/src/api/database/types.d.ts +4 -0
  401. package/dist/server/src/api/routes/workers.routes.js +4 -4
  402. package/dist/server/src/api/routes/workers.routes.js.map +1 -1
  403. package/dist/server/src/api/schemas/cameras.schema.d.ts +38 -0
  404. package/dist/server/src/api/schemas/cameras.schema.js +22 -0
  405. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  406. package/dist/server/src/api/schemas/users.schema.d.ts +12 -0
  407. package/dist/server/src/api/schemas/users.schema.js +4 -0
  408. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  409. package/dist/server/src/api/schemas/workers.schema.d.ts +5 -4
  410. package/dist/server/src/api/schemas/workers.schema.js +6 -3
  411. package/dist/server/src/api/schemas/workers.schema.js.map +1 -1
  412. package/dist/server/src/api/services/cameras.service.d.ts +3 -0
  413. package/dist/server/src/api/services/cameras.service.js +47 -2
  414. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  415. package/dist/server/src/api/services/plugins.service.d.ts +1 -0
  416. package/dist/server/src/api/services/plugins.service.js +5 -1
  417. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  418. package/dist/server/src/api/services/workers.service.d.ts +2 -0
  419. package/dist/server/src/api/services/workers.service.js +15 -0
  420. package/dist/server/src/api/services/workers.service.js.map +1 -1
  421. package/dist/server/src/api/types/index.d.ts +3 -2
  422. package/dist/server/src/api/websocket/nsp/notifications.d.ts +1 -0
  423. package/dist/server/src/api/websocket/nsp/notifications.js +7 -0
  424. package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
  425. package/dist/server/src/assistant/automation-catalog.js +12 -2
  426. package/dist/server/src/assistant/automation-catalog.js.map +1 -1
  427. package/dist/server/src/assistant/pricing.js +39 -10
  428. package/dist/server/src/assistant/pricing.js.map +1 -1
  429. package/dist/server/src/assistant/providers.js +9 -1
  430. package/dist/server/src/assistant/providers.js.map +1 -1
  431. package/dist/server/src/camera/decoder/event-manager.d.ts +1 -2
  432. package/dist/server/src/camera/decoder/event-manager.js +37 -59
  433. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  434. package/dist/server/src/manager/coreManager.d.ts +2 -1
  435. package/dist/server/src/manager/coreManager.js +9 -2
  436. package/dist/server/src/manager/coreManager.js.map +1 -1
  437. package/dist/server/src/manager/notificationManager.d.ts +1 -0
  438. package/dist/server/src/manager/notificationManager.js +11 -0
  439. package/dist/server/src/manager/notificationManager.js.map +1 -1
  440. package/dist/server/src/plugins/runtime/node/proxy/coreManager.js +1 -1
  441. package/dist/server/src/plugins/runtime/node/proxy/coreManager.js.map +1 -1
  442. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +3 -0
  443. package/dist/server/src/plugins/runtime/python/proxy/core_manager.py +1 -1
  444. package/dist/server/src/plugins/runtime/python/rpc/typings.py +1 -1
  445. package/dist/server/src/rpc/interfaces/core.d.ts +1 -1
  446. package/dist/server/src/sensors/registry.d.ts +2 -0
  447. package/dist/server/src/sensors/registry.js +24 -0
  448. package/dist/server/src/sensors/registry.js.map +1 -1
  449. package/dist/server/src/services/config/index.d.ts +1 -0
  450. package/dist/server/src/services/config/index.js +12 -1
  451. package/dist/server/src/services/config/index.js.map +1 -1
  452. package/dist/server/src/utils/ipc.js +23 -17
  453. package/dist/server/src/utils/ipc.js.map +1 -1
  454. package/dist/server/src/workers/agent.js +2 -0
  455. package/dist/server/src/workers/agent.js.map +1 -1
  456. package/dist/server/src/workers/manager.d.ts +1 -0
  457. package/dist/server/src/workers/manager.js +22 -0
  458. package/dist/server/src/workers/manager.js.map +1 -1
  459. package/dist/server/src/workers/types.d.ts +5 -0
  460. package/dist/server/src/workers/types.js.map +1 -1
  461. package/npm-shrinkwrap.json +111 -111
  462. package/package.json +16 -16
  463. package/dist/interface/assets/Assistant-BJKGIvVo.js +0 -1
  464. package/dist/interface/assets/Automation-C95DzuZb.js +0 -3
  465. package/dist/interface/assets/Automations-BOP_17Ri.js +0 -2
  466. package/dist/interface/assets/Camera-BW9ikKqh.css +0 -1
  467. package/dist/interface/assets/Camera-C5S7eI9a.js +0 -2
  468. package/dist/interface/assets/Camview-CHxKB41T.js +0 -1
  469. package/dist/interface/assets/Config-BrDDGWpr.js +0 -2
  470. package/dist/interface/assets/Console-cIr6lYux.js +0 -1
  471. package/dist/interface/assets/CuiAssistantConversation-Bigl43Ph.js +0 -5
  472. package/dist/interface/assets/CuiAutomationRunsDialog-Ci7SWAml.js +0 -1
  473. package/dist/interface/assets/CuiBottomSheet-ViBOgklN.js +0 -1
  474. package/dist/interface/assets/CuiCameraPipCard-BQKk4fxY.css +0 -1
  475. package/dist/interface/assets/CuiCameraPipCard-wdK7xir-.js +0 -1
  476. package/dist/interface/assets/CuiCameraRecordings-BB7bF67B.js +0 -1
  477. package/dist/interface/assets/CuiCameraTable-CHnQFkce.js +0 -1
  478. package/dist/interface/assets/CuiChartTable-DXY7rY3O.css +0 -1
  479. package/dist/interface/assets/CuiChartTable-dIcxGtfl.js +0 -1
  480. package/dist/interface/assets/CuiDataTable-CQmp5mAy.js +0 -1
  481. package/dist/interface/assets/CuiMarkdownContent-DTAm-EDR.js +0 -1
  482. package/dist/interface/assets/CuiPluginCard-BjIc7It9.js +0 -2
  483. package/dist/interface/assets/Faces-p18jNfXl.js +0 -1
  484. package/dist/interface/assets/Floorplan-DYyEx7WO.js +0 -1
  485. package/dist/interface/assets/Metrics-ChVnC6f6.css +0 -1
  486. package/dist/interface/assets/Metrics-l3UwykCM.js +0 -12
  487. package/dist/interface/assets/Plugin-Ldj3HygQ.js +0 -1
  488. package/dist/interface/assets/PluginDetail-CnfaI1vh.js +0 -2
  489. package/dist/interface/assets/PluginSearch-BiXG3Xk2.js +0 -2
  490. package/dist/interface/assets/PluginSearch-BuE7we1T.js +0 -1
  491. package/dist/interface/assets/Plugins-Csx6AXaW.js +0 -1
  492. package/dist/interface/assets/Recordings-D0KTY5cI.js +0 -1
  493. package/dist/interface/assets/SensorEdit-zs-f_o1N.js +0 -1
  494. package/dist/interface/assets/Sensors-BLAoalEt.js +0 -2
  495. package/dist/interface/assets/SettingsAccount-BsN7jGmo.js +0 -1
  496. package/dist/interface/assets/SettingsAccount-DuVyCSE-.js +0 -1
  497. package/dist/interface/assets/SettingsAppearance-DQcGbYbV.js +0 -1
  498. package/dist/interface/assets/SettingsAssistant-DViJklFd.js +0 -1
  499. package/dist/interface/assets/SettingsMqtt-JoszJJgV.js +0 -1
  500. package/dist/interface/assets/SettingsNotifications-3veSrxa_.js +0 -1
  501. package/dist/interface/assets/SettingsRemote-CtP6Gz9C.css +0 -1
  502. package/dist/interface/assets/SettingsRemote-DUyl8k7I.js +0 -2
  503. package/dist/interface/assets/Terminal-hln2UuSR.js +0 -4
  504. package/dist/interface/assets/Training-D6lhvUf-.js +0 -1
  505. package/dist/interface/assets/Updates-BwSWt9w7.js +0 -2
  506. package/dist/interface/assets/Workers-B6b15izn.js +0 -2
  507. package/dist/interface/assets/ace-DzzM-RlW.js +0 -1
  508. package/dist/interface/assets/api-C9mnOxie.js +0 -4
  509. package/dist/interface/assets/api-Cj9a6qPu.css +0 -2
  510. package/dist/interface/assets/cameraSources-DmVZWs4-.js +0 -1
  511. package/dist/interface/assets/cloudHandoff-Ba98bzeq.js +0 -1
  512. package/dist/interface/assets/esm-Bn9gXwX4.js +0 -1
  513. package/dist/interface/assets/esm-BzM6y2-F.js +0 -1
  514. package/dist/interface/assets/esm-CP3JWrtj.js +0 -1
  515. package/dist/interface/assets/esm-CjAXkqCf.js +0 -1
  516. package/dist/interface/assets/esm-Cqxk-j1S.js +0 -1
  517. package/dist/interface/assets/esm-DFHd3JNU.js +0 -1
  518. package/dist/interface/assets/esm-DfMLJtug.js +0 -1
  519. package/dist/interface/assets/esm-DhDrpq7a.js +0 -1
  520. package/dist/interface/assets/esm-DvhM-SOd.js +0 -1
  521. package/dist/interface/assets/esm-G63bqygQ.js +0 -1
  522. package/dist/interface/assets/esm-Gn-Y59hU.js +0 -1
  523. package/dist/interface/assets/esm-KJSOz2vj.js +0 -1
  524. package/dist/interface/assets/esm-Ryfc94Tm.js +0 -1
  525. package/dist/interface/assets/esm-rSfI5Poy.js +0 -1
  526. package/dist/interface/assets/eye-off-outline-DCxLRGo_.js +0 -1
  527. package/dist/interface/assets/main-C796FmqQ.js +0 -3
  528. package/dist/interface/assets/mqtt-DGBPptzB.js +0 -1
  529. package/dist/interface/assets/native-CZJE8bTs.js +0 -1
  530. package/dist/interface/assets/native-DKZwialB.js +0 -1
  531. package/dist/interface/assets/plugin-DSEMkqaK.js +0 -1
  532. package/dist/interface/assets/server-bhW2Mw4D.js +0 -1
  533. package/dist/interface/assets/types-BcAxmlqC.js +0 -1
  534. package/dist/interface/assets/ungrouped-BnQIcSQd.css +0 -1
  535. package/dist/interface/assets/ungrouped-CkIlDUwl.js +0 -1
  536. package/dist/interface/assets/updates-D3x_kPMM.js +0 -1
  537. package/dist/interface/assets/useBackupRestore-xp5KhKVn.js +0 -1
  538. package/dist/interface/assets/useKeyboardInset-C0Lp0UcX.js +0 -1
  539. package/dist/interface/assets/useUserOptions-BQdOB-Dp.js +0 -1
  540. package/dist/interface/assets/vendor-gFkr2qsZ.js +0 -23
  541. package/dist/interface/assets/vendor-leaflet-DkAk6mAj.js +0 -1
  542. package/dist/interface/assets/web-BDNQnMmA.js +0 -1
  543. package/dist/interface/assets/web-B_9Qyt8E.js +0 -1
  544. package/dist/interface/assets/web-BhJykCtq.js +0 -1
  545. package/dist/interface/assets/web-BjKL51lK-wWFeZlLg.js +0 -1
  546. package/dist/interface/assets/web-C7nJwIOa.js +0 -1
  547. package/dist/interface/assets/web-CGJsJQDb.js +0 -1
  548. package/dist/interface/assets/web-CJwASxrl.js +0 -1
  549. package/dist/interface/assets/web-CLe0L31Y.js +0 -1
  550. package/dist/interface/assets/web-DEv1hAn1.js +0 -1
  551. package/dist/interface/assets/web-DaeQvsXT.js +0 -1
  552. package/dist/interface/assets/web-H3-wNunW.js +0 -1
  553. package/dist/interface/assets/web-LCdyqJq1.js +0 -1
  554. package/dist/interface/assets/web-XZWYTK65.js +0 -1
  555. package/dist/interface/assets/web-rU5hlxxW.js +0 -1
  556. package/dist/interface/assets/workbox-window.prod.es5-BEYAF-e-.js +0 -1
  557. package/dist/interface/ha/Camera-C28q_3pu.js +0 -657
  558. package/dist/interface/ha/Training-OB2KOQ7L.js +0 -1694
  559. package/dist/interface/ha/Workers-cJMI4mYX.js +0 -765
  560. package/dist/interface/ha/eye-off-outline-ACbzsGuK.js +0 -19
@@ -0,0 +1,814 @@
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 ee, u as m, v as h, x as g, xt as _, y as v, yt as y } from "./runtime-core.esm-bundler-_TfE0DWz.js";
2
+ import { t as b } from "./message-D6dIy_hz.js";
3
+ import { An as te, B as x, Dt as ne, Er as re, Et as ie, Jt as S, Mr as C, Or as w, Ot as ae, Tt as oe, gt as se, mi as T, oi as ce, q as le, r as ue, ri as E, wi as de } from "./api-DUqpDJ2N.js";
4
+ import { i as fe } from "./intercomService-B7HkLs6z.js";
5
+ import { n as D } from "./vue-i18n-D5EAy78K.js";
6
+ import { t as pe } from "./button-BouAFgf5.js";
7
+ import { t as me } from "./inputtext-C_ygnPrC.js";
8
+ import { t as he } from "./select-DV7p2EDj.js";
9
+ import { i as ge, t as _e } from "./CuiDataTable-BOdQDY8J.js";
10
+ import { t as ve } from "./inputnumber-DZRwKgXr.js";
11
+ import { t as O } from "./multiselect-BOb4ScAZ.js";
12
+ import { t as k } from "./plugins-ml823dJV.js";
13
+ import { t as ye } from "./pencil-outline-SN9ingm5.js";
14
+ import { t as be } from "./api-gId1nlMj.js";
15
+ import { t as xe } from "./back-filled-CaxrZv0Q.js";
16
+ import { c as Se, t as Ce } from "./CuiChartTable-BxWjRe-k.js";
17
+ import { n as we, t as Te } from "./updates-D5sFzGtC.js";
18
+ //#region src/components/CuiDialog/templates/EditWorker/EditWorker.vue?vue&type=script&setup=true&lang.ts
19
+ var A = { class: "flex flex-col gap-6 w-full" }, j = { class: "flex flex-col gap-2" }, M = {
20
+ for: "workerName",
21
+ class: "cui-label"
22
+ }, N = { class: "flex flex-col gap-2" }, P = {
23
+ for: "workerServerAddresses",
24
+ class: "cui-label"
25
+ }, Ee = /* @__PURE__ */ g({
26
+ __name: "EditWorker",
27
+ props: {
28
+ currentName: {},
29
+ addresses: {},
30
+ serverAddresses: {}
31
+ },
32
+ setup(e, { expose: t }) {
33
+ let i = e, a = _(i.currentName), o = _([...i.serverAddresses]), s = u(() => {
34
+ let e = i.serverAddresses.filter((e) => !i.addresses.some((t) => t.address === e));
35
+ return [...i.addresses, ...e.map((e) => ({ address: e }))];
36
+ });
37
+ return t({ onConfirm: async () => {
38
+ let e = a.value.trim();
39
+ return e ? {
40
+ name: e,
41
+ serverAddresses: o.value
42
+ } : null;
43
+ } }), (e, t) => {
44
+ let i = me, u = O, f = b;
45
+ return n(), p("div", A, [m("div", j, [m("label", M, r(e.$t("views.workers.name")), 1), v(i, {
46
+ id: "workerName",
47
+ modelValue: l(a),
48
+ "onUpdate:modelValue": t[0] ||= (e) => c(a) ? a.value = e : null,
49
+ class: "w-full",
50
+ autofocus: ""
51
+ }, null, 8, ["modelValue"])]), m("div", N, [
52
+ m("label", P, r(e.$t("components.form.label.server_addresses")), 1),
53
+ v(u, {
54
+ modelValue: l(o),
55
+ "onUpdate:modelValue": t[1] ||= (e) => c(o) ? o.value = e : null,
56
+ "input-id": "workerServerAddresses",
57
+ options: l(s),
58
+ "max-selected-labels": 2,
59
+ "show-toggle-all": !1,
60
+ "show-clear": "",
61
+ "option-label": "address",
62
+ "option-value": "address",
63
+ display: "chip",
64
+ class: "w-full"
65
+ }, null, 8, ["modelValue", "options"]),
66
+ v(f, {
67
+ severity: "secondary",
68
+ variant: "simple",
69
+ size: "small",
70
+ class: "cui-input-hint"
71
+ }, {
72
+ default: d(() => [h(r(e.$t("views.workers.server_addresses_hint")), 1)]),
73
+ _: 1
74
+ })
75
+ ])]);
76
+ };
77
+ }
78
+ }), F = y({
79
+ workers: [],
80
+ workerHistory: {}
81
+ }), I = null, L = null;
82
+ function De(e) {
83
+ let t = F.workers.findIndex((t) => t.agentId === e.agentId);
84
+ if (t !== -1) {
85
+ let n = [...F.workers];
86
+ n[t] = e, F.workers = n;
87
+ } else F.workers = [...F.workers, e];
88
+ let n = F.workerHistory[e.agentId] ?? [];
89
+ F.workerHistory = {
90
+ ...F.workerHistory,
91
+ [e.agentId]: [...n, e].slice(-30)
92
+ };
93
+ }
94
+ async function Oe() {
95
+ if (L?.ready.value) try {
96
+ F.workers = await L.request("get-workers");
97
+ } catch {}
98
+ }
99
+ async function ke() {
100
+ if (L?.ready.value) try {
101
+ F.workerHistory = await L.request("get-worker-history");
102
+ } catch {}
103
+ }
104
+ async function R() {
105
+ await Promise.all([Oe(), ke()]);
106
+ }
107
+ function z() {
108
+ return L || (I = s(!0), I.run(() => {
109
+ let e = T("/workers");
110
+ L = e, e.on("worker-update", (e) => De(e)), e.on("worker-removed", ({ agentId: e }) => {
111
+ F.workers = F.workers.filter((t) => t.agentId !== e);
112
+ let t = { ...F.workerHistory };
113
+ delete t[e], F.workerHistory = t;
114
+ }), e.onReady(() => {
115
+ R();
116
+ });
117
+ }), L);
118
+ }
119
+ function Ae() {
120
+ function e() {
121
+ z();
122
+ }
123
+ function t() {}
124
+ return {
125
+ isConnected: u(() => L?.connected.value ?? !1),
126
+ workers: u(() => F.workers),
127
+ workerHistory: u(() => F.workerHistory),
128
+ connect: e,
129
+ disconnect: t,
130
+ loadAll: R
131
+ };
132
+ }
133
+ //#endregion
134
+ //#region src/views/Workers.vue?vue&type=script&setup=true&lang.ts
135
+ var je = {
136
+ key: 0,
137
+ class: "page-title"
138
+ }, Me = {
139
+ key: 1,
140
+ class: "w-full h-full flex items-center justify-center"
141
+ }, Ne = {
142
+ key: 2,
143
+ class: "flex flex-col w-full gap-6"
144
+ }, Pe = { class: "card-title" }, Fe = { class: "flex flex-col gap-6" }, Ie = { class: "flex items-center gap-4" }, Le = { class: "flex flex-col field-switch-gap" }, Re = { class: "cui-label-switch" }, ze = { class: "flex flex-col field-gap" }, Be = {
145
+ for: "master-address",
146
+ class: "cui-label"
147
+ }, Ve = { class: "flex flex-col field-gap" }, He = {
148
+ for: "leaf-port",
149
+ class: "cui-label"
150
+ }, Ue = { class: "flex flex-row items-end justify-end" }, We = { key: 0 }, Ge = { class: "card-title" }, Ke = { class: "flex flex-col items-center justify-center gap-4 py-6" }, qe = { class: "text-muted text-sm" }, Je = { key: 1 }, Ye = { class: "card-title" }, Xe = { class: "text-sm block mb-6" }, Ze = { class: "text-muted text-sm" }, Qe = { class: "font-bold text-color text-sm" }, $e = { key: 2 }, et = { class: "card-title" }, tt = { class: "text-sm block mb-6" }, nt = { class: "text-muted text-sm" }, rt = { class: "flex flex-col" }, it = { class: "font-bold text-color text-sm" }, at = {
151
+ key: 0,
152
+ class: "text-muted text-xs"
153
+ }, ot = { key: 3 }, st = { class: "card-title" }, ct = { class: "flex flex-col gap-6" }, lt = { class: "text-sm" }, ut = { class: "flex flex-col field-gap" }, dt = { class: "cui-label" }, ft = { class: "flex flex-col field-gap" }, pt = { class: "flex flex-row items-center justify-between" }, mt = { class: "cui-label" }, ht = { class: "pairing-snippet" }, gt = { class: "flex flex-row items-end justify-end" }, B = /*#__PURE__*/ w(/* @__PURE__ */ g({
154
+ __name: "Workers",
155
+ setup(s) {
156
+ let { t: g } = D(), { smBreakpoint: y } = C(), w = se(), T = Te(), O = de(), A = Ae(), { workers: j, workerHistory: M, isConnected: N } = A, P = new be(), F = new S(), I = new k(), L = new we(), { data: De, isLoading: Oe } = F.getCamerasQuery(_({
157
+ page: 1,
158
+ pageSize: 999
159
+ })), { data: ke, isLoading: R } = I.getPluginsQuery(_({
160
+ page: 1,
161
+ pageSize: 999
162
+ })), { data: z } = L.getConfigQuery(), { mutateAsync: B, isPending: _t } = L.patchConfigQuery(), { mutateAsync: vt } = L.assignCameraQuery(), { mutateAsync: yt } = L.unassignCameraQuery(), { mutateAsync: bt } = L.restartWorkerQuery(), { mutateAsync: xt } = L.updateWorkerQuery(), { mutateAsync: St, isPending: Ct } = L.createPairingQuery(), { mutateAsync: wt } = L.removeWorkerQuery(), { mutateAsync: Tt } = L.assignPluginQuery(), { mutateAsync: Et } = L.unassignPluginQuery(), { mutateAsync: Dt } = L.patchWorkerQuery(), { data: Ot } = P.apiInfoQuery(), kt = {
163
+ bodyRow: { class: "text-sm text-secondary" },
164
+ column: { columnTitle: { class: "text-sm font-semibold" } }
165
+ }, At = _(!1), V = _([]), H = _([]), U = _([]), W = _(/* @__PURE__ */ new Set()), G = _(/* @__PURE__ */ new Set()), K = _(null), q = _(""), J = _(7422), jt = !1, Y = /* @__PURE__ */ new Map(), Mt = u(() => De.value?.result ?? []), Nt = u(() => ke.value?.result ?? []), X = u(() => z.value?.enabled ?? !1), Pt = u(() => (z.value?.suggestedAddresses ?? []).map((e) => ({
166
+ label: e,
167
+ value: e
168
+ }))), Z = u(() => J.value !== (z.value?.port ?? 7422)), Ft = u(() => q.value !== (z.value?.address ?? "") || Z.value), It = u(() => new Set(j.value.map((e) => e.agentId))), Q = u(() => T.targetServerVersion ?? Ot.value?.version), Lt = u(() => K.value ? Math.max(0, Math.round((K.value.expiresAt - Date.now()) / 6e4)) : 0), Rt = u(() => K.value ? [
169
+ "worker:",
170
+ ` master: ${K.value.address || "<MASTER_IP>"}`,
171
+ ` apiPort: ${K.value.apiPort}`,
172
+ ` pairingCode: ${K.value.code}`,
173
+ " name: my-worker",
174
+ " capabilities:",
175
+ " - frameDecoding",
176
+ " - pluginHost"
177
+ ].join("\n") : ""), zt = u(() => [
178
+ {
179
+ type: "indicator",
180
+ field: "status",
181
+ columnProps: {
182
+ headerClass: "w-5 max-w-5",
183
+ class: "w-5 max-w-5"
184
+ },
185
+ color(e) {
186
+ return e.online ? e.versionMismatch ? "orange" : "green" : "red";
187
+ },
188
+ tooltip(e) {
189
+ return e.online ? e.update?.error ? g("views.workers.update_failed", { error: e.update.error }) : e.update?.updating ? g("views.workers.updating") : e.versionMismatch ? g("views.workers.version_mismatch", { version: e.version || "?" }) : g("views.workers.online") : g("views.workers.offline");
190
+ }
191
+ },
192
+ {
193
+ type: "category",
194
+ field: "name",
195
+ name: g("views.workers.name"),
196
+ columnProps: {
197
+ headerClass: "w-40 min-w-40 max-w-40",
198
+ class: "w-40 min-w-40 max-w-40"
199
+ },
200
+ props: { class: "font-bold text-color" }
201
+ },
202
+ {
203
+ type: "category",
204
+ field: (e) => e.version ? e.versionMismatch && Q.value ? `v${e.version} → v${Q.value}` : `v${e.version}` : "—",
205
+ name: g("views.workers.version"),
206
+ asChip: !0,
207
+ columnProps: {
208
+ headerClass: "min-w-30",
209
+ class: "min-w-30"
210
+ }
211
+ },
212
+ {
213
+ type: "category",
214
+ field: (e) => e.platform ? `${e.platform.os}/${e.platform.arch}` : "—",
215
+ name: g("views.workers.platform"),
216
+ asChip: !0,
217
+ columnProps: {
218
+ headerClass: "min-w-40",
219
+ class: "min-w-40"
220
+ }
221
+ },
222
+ {
223
+ type: "category",
224
+ field: (e) => e.pid?.toString() ?? "—",
225
+ name: g("views.workers.pid"),
226
+ columnProps: {
227
+ headerClass: "min-w-20",
228
+ class: "min-w-20"
229
+ }
230
+ },
231
+ {
232
+ type: "category",
233
+ field: (e) => e.cpuLoad === void 0 ? "—" : `${e.cpuLoad}%`,
234
+ name: g("views.workers.cpu"),
235
+ asChip: !0,
236
+ columnProps: {
237
+ headerClass: "min-w-30",
238
+ class: "min-w-30"
239
+ }
240
+ },
241
+ {
242
+ type: "chart",
243
+ field: "cpu_chart",
244
+ for: "cpuLoad",
245
+ columnProps: {
246
+ headerClass: "min-w-[250px]",
247
+ class: "min-w-[250px]"
248
+ }
249
+ },
250
+ {
251
+ type: "category",
252
+ field: (e) => e.memLoad === void 0 ? "—" : `${e.memLoad}%`,
253
+ name: g("views.workers.memory"),
254
+ asChip: !0,
255
+ columnProps: {
256
+ headerClass: "min-w-30",
257
+ class: "min-w-30"
258
+ }
259
+ },
260
+ {
261
+ type: "chart",
262
+ field: "memory_chart",
263
+ for: "memLoad",
264
+ columnProps: {
265
+ headerClass: "min-w-[250px]",
266
+ class: "min-w-[250px]"
267
+ }
268
+ },
269
+ {
270
+ type: "action",
271
+ field: "actions",
272
+ columnProps: { class: "text-right" },
273
+ buttons: [
274
+ {
275
+ icon: ye,
276
+ buttonProps: { severity: "secondary" },
277
+ tooltip: () => g("views.workers.edit_worker"),
278
+ action: (e) => Vt(e)
279
+ },
280
+ {
281
+ icon: E,
282
+ buttonProps: { severity: "secondary" },
283
+ loading: (e) => e.update?.updating || U.value.includes(e.agentId),
284
+ disabled: (e) => !e.online || !e.versionMismatch || !e.update?.updatable,
285
+ tooltip: (e) => Ht(e),
286
+ action: (e) => Ut(e.agentId)
287
+ },
288
+ {
289
+ icon: Se,
290
+ buttonProps: { severity: "secondary" },
291
+ loading: (e) => V.value.includes(e.name),
292
+ disabled: (e) => !e.online,
293
+ tooltip: () => g("views.workers.restart_worker"),
294
+ action: (e) => Wt(e.name, e.agentId)
295
+ },
296
+ {
297
+ icon: x,
298
+ buttonProps: { severity: "danger" },
299
+ loading: (e) => H.value.includes(e.agentId),
300
+ tooltip: () => g("views.workers.remove_worker"),
301
+ action: (e) => rn(e)
302
+ }
303
+ ]
304
+ }
305
+ ]), Bt = u(() => {
306
+ let e = M.value;
307
+ return j.value.reduce((t, n) => {
308
+ for (let r of ["cpuLoad", "memLoad"]) {
309
+ 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)];
310
+ t[`${n.name}_${r}`] = {
311
+ labels: c,
312
+ datasets: [{
313
+ data: s,
314
+ backgroundColor: (e) => {
315
+ let t = e.raw;
316
+ return t >= 90 ? "#FA5252" : t >= 50 ? "#FF9966" : "#df2a4c";
317
+ },
318
+ borderWidth: 0,
319
+ borderRadius: 3,
320
+ barPercentage: .8,
321
+ categoryPercentage: .8,
322
+ maxBarThickness: 4,
323
+ barThickness: 4
324
+ }]
325
+ };
326
+ }
327
+ return t;
328
+ }, {});
329
+ });
330
+ function Vt(e) {
331
+ let t = e.serverAddresses ?? [];
332
+ w.openComponentDialog(Ee, {
333
+ data: {
334
+ title: g("views.workers.edit_worker"),
335
+ confirmText: g("views.workers.save"),
336
+ contentProps: {
337
+ currentName: e.name,
338
+ addresses: e.addresses ?? [],
339
+ serverAddresses: t
340
+ }
341
+ },
342
+ onConfirm: async (n) => {
343
+ if (!n) return;
344
+ let r = n.name !== e.name, i = n.serverAddresses.length !== t.length || n.serverAddresses.some((e) => !t.includes(e));
345
+ (r || i) && await Dt({
346
+ agentId: e.agentId,
347
+ name: r ? n.name : void 0,
348
+ serverAddresses: i ? n.serverAddresses : void 0
349
+ });
350
+ }
351
+ });
352
+ }
353
+ function Ht(e) {
354
+ return e.update?.updating ? g("views.workers.updating") : Q.value ? g("views.workers.update_worker", { version: Q.value }) : g("views.workers.update_worker_short");
355
+ }
356
+ async function Ut(e) {
357
+ Y.delete(e), U.value.push(e);
358
+ try {
359
+ await xt({ agentId: e });
360
+ } finally {
361
+ U.value = U.value.filter((t) => t !== e);
362
+ }
363
+ }
364
+ async function Wt(e, t) {
365
+ V.value.push(e);
366
+ try {
367
+ await bt(t);
368
+ } finally {
369
+ V.value = V.value.filter((t) => t !== e);
370
+ }
371
+ }
372
+ function Gt() {
373
+ let e = [];
374
+ for (let t of j.value) {
375
+ let n = t.online ? t.name : `${t.name} (${g("views.workers.offline").toLowerCase()})`;
376
+ e.push({
377
+ label: n,
378
+ value: t.agentId
379
+ });
380
+ }
381
+ return e;
382
+ }
383
+ function $(e) {
384
+ return e && It.value.has(e) ? e : null;
385
+ }
386
+ function Kt(e, t) {
387
+ if (!e?.length) return !0;
388
+ let n = e.filter((e) => e.startsWith("!")).map((e) => e.slice(1)), r = e.filter((e) => !e.startsWith("!"));
389
+ return n.includes(t) ? !1 : r.length === 0 || r.includes(t);
390
+ }
391
+ function qt(e, t) {
392
+ return !t.platform || Kt(e.os, t.platform.os) && Kt(e.cpu, t.platform.arch);
393
+ }
394
+ function Jt(e) {
395
+ let t = [];
396
+ return e.os?.length && t.push(`os: ${e.os.join(", ")}`), e.cpu?.length && t.push(`cpu: ${e.cpu.join(", ")}`), t.join(" · ");
397
+ }
398
+ function Yt(e) {
399
+ let t = [];
400
+ for (let n of j.value) {
401
+ let r = qt(e, n), i = n.online ? "" : ` (${g("views.workers.offline").toLowerCase()})`, a = r ? "" : ` — ${g("views.workers.incompatible")}`;
402
+ t.push({
403
+ label: `${n.name}${i}${a}`,
404
+ value: n.agentId,
405
+ disabled: !r
406
+ });
407
+ }
408
+ return t;
409
+ }
410
+ function Xt(e) {
411
+ return G.value.has(e);
412
+ }
413
+ async function Zt(e, t) {
414
+ if (t === $(e.workerAgentId)) return;
415
+ let n = new Set(G.value);
416
+ n.add(e.pluginName), G.value = n;
417
+ try {
418
+ t ? await Tt({
419
+ pluginName: e.pluginName,
420
+ agentId: t
421
+ }) : await Et({ pluginName: e.pluginName });
422
+ } catch {} finally {
423
+ let t = new Set(G.value);
424
+ t.delete(e.pluginName), G.value = t;
425
+ }
426
+ }
427
+ function Qt(e) {
428
+ return W.value.has(e);
429
+ }
430
+ async function $t(e, t) {
431
+ if (t === $(e.workerAgentId)) return;
432
+ let n = new Set(W.value);
433
+ n.add(e._id), W.value = n;
434
+ try {
435
+ t ? await vt({
436
+ cameraId: e._id,
437
+ agentId: t
438
+ }) : await yt({ cameraId: e._id });
439
+ } catch {} finally {
440
+ let t = new Set(W.value);
441
+ t.delete(e._id), W.value = t;
442
+ }
443
+ }
444
+ async function en() {
445
+ try {
446
+ K.value = await St();
447
+ } catch {}
448
+ }
449
+ async function tn(e) {
450
+ if (e && !q.value && (q.value = z.value?.suggestedAddresses?.[0] ?? "", !q.value)) {
451
+ w.openTextDialog({ data: {
452
+ title: g("views.workers.enable_workers"),
453
+ contentText: g("views.workers.address_required"),
454
+ confirmText: g("views.workers.ok")
455
+ } });
456
+ return;
457
+ }
458
+ try {
459
+ await B(e ? {
460
+ enabled: !0,
461
+ address: q.value,
462
+ port: J.value
463
+ } : { enabled: !1 });
464
+ } catch {}
465
+ }
466
+ async function nn() {
467
+ try {
468
+ await B({
469
+ address: q.value,
470
+ port: J.value
471
+ });
472
+ } catch {}
473
+ }
474
+ function rn(e) {
475
+ w.openTextDialog({
476
+ data: {
477
+ title: g("views.workers.remove_worker"),
478
+ confirmText: g("views.workers.remove"),
479
+ contentText: g("views.workers.remove_worker_confirm", { name: e.name }),
480
+ confirmButtonProps: { severity: "danger" }
481
+ },
482
+ dialogSize: { desktop: {
483
+ width: "auto",
484
+ maxWidth: "560px",
485
+ maxHeight: "90vh"
486
+ } },
487
+ onConfirm: async () => {
488
+ H.value.push(e.agentId);
489
+ try {
490
+ await wt(e.agentId);
491
+ } finally {
492
+ H.value = H.value.filter((t) => t !== e.agentId);
493
+ }
494
+ }
495
+ });
496
+ }
497
+ return t(async () => {
498
+ A.connect(), T.connect(), await i(), A.loadAll(), At.value = !0;
499
+ }), f(z, (e) => {
500
+ e && (q.value = e.address, J.value = e.port);
501
+ }, { immediate: !0 }), f(j, (e) => {
502
+ if (!jt) {
503
+ if (!e.length) return;
504
+ for (let t of e) t.update?.error && Y.set(t.agentId, t.update.error);
505
+ jt = !0;
506
+ return;
507
+ }
508
+ for (let t of e) {
509
+ if (t.update?.updating) {
510
+ Y.delete(t.agentId);
511
+ continue;
512
+ }
513
+ let e = t.update?.error;
514
+ if (!e) {
515
+ Y.delete(t.agentId);
516
+ continue;
517
+ }
518
+ Y.get(t.agentId) !== e && (Y.set(t.agentId, e), O.add({
519
+ severity: "error",
520
+ summary: t.name,
521
+ detail: g("views.workers.update_failed", { error: e }),
522
+ life: 6e3
523
+ }));
524
+ }
525
+ }), e(() => {
526
+ A.disconnect();
527
+ }), (e, t) => {
528
+ let i = xe, s = pe, u = le, f = re, g = b, _ = te, x = he, S = ve, C = fe, w = Ce, se = ce, T = ge, E = _e, de = me, D = ie, O = ne, k = ae;
529
+ return n(), p("div", null, [
530
+ l(y) ? o("", !0) : (n(), p("h1", je, r(e.$t("views.workers.title")), 1)),
531
+ v(u, { position: "left" }, {
532
+ default: d(() => [v(s, {
533
+ severity: "secondary",
534
+ text: "",
535
+ class: "cui-button p-2 text-color non-draggable-region",
536
+ onClick: t[0] ||= (t) => e.$router.push("/menu")
537
+ }, {
538
+ icon: d(() => [v(i, { class: "w-6 h-6" })]),
539
+ _: 1
540
+ })]),
541
+ _: 1
542
+ }),
543
+ !l(At) || !l(N) ? (n(), p("div", Me, [v(f, {
544
+ class: "w-[30px] h-[30px] m-0",
545
+ "stroke-width": "5"
546
+ })])) : (n(), p("div", Ne, [
547
+ m("div", null, [m("span", Pe, r(e.$t("views.workers.configuration")), 1), v(C, { class: "cui-card" }, {
548
+ content: d(() => [m("div", Fe, [m("div", Ie, [m("div", Le, [m("label", Re, r(e.$t("views.workers.enable_workers")), 1), v(g, {
549
+ severity: "secondary",
550
+ variant: "simple",
551
+ size: "small",
552
+ class: "cui-input-switch-hint"
553
+ }, {
554
+ default: d(() => [h(r(e.$t("views.workers.enable_workers_description")), 1)]),
555
+ _: 1
556
+ })]), v(_, {
557
+ "model-value": l(X),
558
+ disabled: l(_t),
559
+ class: "ml-auto shrink-0",
560
+ "onUpdate:modelValue": tn
561
+ }, null, 8, ["model-value", "disabled"])]), l(X) ? (n(), p(ee, { key: 0 }, [
562
+ m("div", ze, [
563
+ m("label", Be, r(e.$t("views.workers.master_address")), 1),
564
+ v(x, {
565
+ modelValue: l(q),
566
+ "onUpdate:modelValue": t[1] ||= (e) => c(q) ? q.value = e : null,
567
+ "input-id": "master-address",
568
+ options: l(Pt),
569
+ editable: "",
570
+ "option-label": "label",
571
+ "option-value": "value",
572
+ placeholder: e.$t("views.workers.master_address_placeholder"),
573
+ class: "w-full"
574
+ }, null, 8, [
575
+ "modelValue",
576
+ "options",
577
+ "placeholder"
578
+ ]),
579
+ v(g, {
580
+ severity: "secondary",
581
+ variant: "simple",
582
+ size: "small",
583
+ class: "cui-input-hint"
584
+ }, {
585
+ default: d(() => [h(r(e.$t("views.workers.master_address_hint")), 1)]),
586
+ _: 1
587
+ })
588
+ ]),
589
+ m("div", Ve, [
590
+ m("label", He, r(e.$t("views.workers.leaf_port")), 1),
591
+ v(S, {
592
+ modelValue: l(J),
593
+ "onUpdate:modelValue": t[2] ||= (e) => c(J) ? J.value = e : null,
594
+ "input-id": "leaf-port",
595
+ min: 1024,
596
+ max: 65535,
597
+ "use-grouping": !1,
598
+ class: "w-full"
599
+ }, null, 8, ["modelValue"]),
600
+ l(Z) && (l(z)?.pairedWorkers ?? 0) > 0 ? (n(), a(g, {
601
+ key: 0,
602
+ severity: "warn",
603
+ variant: "simple",
604
+ size: "small",
605
+ class: "cui-input-hint"
606
+ }, {
607
+ default: d(() => [h(r(e.$t("views.workers.port_change_warning")), 1)]),
608
+ _: 1
609
+ })) : o("", !0)
610
+ ]),
611
+ m("div", Ue, [v(s, {
612
+ class: "cui-button-medium",
613
+ label: e.$t("views.workers.save"),
614
+ loading: l(_t),
615
+ disabled: !l(Ft),
616
+ onClick: nn
617
+ }, null, 8, [
618
+ "label",
619
+ "loading",
620
+ "disabled"
621
+ ])])
622
+ ], 64)) : o("", !0)])]),
623
+ _: 1
624
+ })]),
625
+ l(X) ? (n(), p("div", We, [m("span", Ge, r(e.$t("views.workers.workers")), 1), l(j).length ? (n(), a(w, {
626
+ key: 0,
627
+ items: l(j),
628
+ headers: l(zt),
629
+ "chart-data": l(Bt)
630
+ }, null, 8, [
631
+ "items",
632
+ "headers",
633
+ "chart-data"
634
+ ])) : (n(), a(C, {
635
+ key: 1,
636
+ class: "cui-card",
637
+ pt: { root: { class: "h-full" } }
638
+ }, {
639
+ content: d(() => [m("div", Ke, [v(se, { class: "w-12 h-12 text-muted" }), m("span", qe, r(e.$t("views.workers.no_workers")), 1)])]),
640
+ _: 1
641
+ }))])) : o("", !0),
642
+ l(X) && l(j).length ? (n(), p("div", Je, [m("span", Ye, r(e.$t("views.workers.camera_assignments")), 1), v(C, { class: "cui-card" }, {
643
+ content: d(() => [m("span", Xe, r(e.$t("views.workers.camera_assignments_description")), 1), v(E, {
644
+ value: l(Mt),
645
+ loading: l(Oe),
646
+ pt: kt,
647
+ "striped-rows": "",
648
+ class: "w-full"
649
+ }, {
650
+ loading: d(() => [v(f, {
651
+ class: "w-[30px] h-[30px] m-0",
652
+ "stroke-width": "5"
653
+ })]),
654
+ empty: d(() => [m("span", Ze, r(e.$t("views.workers.no_cameras")), 1)]),
655
+ default: d(() => [v(T, {
656
+ field: "name",
657
+ header: e.$t("views.workers.camera"),
658
+ "header-class": "p-2 min-w-40",
659
+ class: "p-2 min-w-40"
660
+ }, {
661
+ body: d(({ data: e }) => [m("span", Qe, r(e.name), 1)]),
662
+ _: 1
663
+ }, 8, ["header"]), v(T, {
664
+ header: e.$t("views.workers.workers"),
665
+ "header-class": "p-2 w-full",
666
+ class: "p-2 w-full"
667
+ }, {
668
+ body: d(({ data: t }) => [v(x, {
669
+ "model-value": $(t.workerAgentId),
670
+ options: Gt(),
671
+ "option-label": "label",
672
+ "option-value": "value",
673
+ placeholder: e.$t("views.workers.local"),
674
+ class: "w-full",
675
+ "show-clear": "",
676
+ loading: Qt(t._id),
677
+ disabled: Qt(t._id),
678
+ "onUpdate:modelValue": (e) => $t(t, e)
679
+ }, null, 8, [
680
+ "model-value",
681
+ "options",
682
+ "placeholder",
683
+ "loading",
684
+ "disabled",
685
+ "onUpdate:modelValue"
686
+ ])]),
687
+ _: 1
688
+ }, 8, ["header"])]),
689
+ _: 1
690
+ }, 8, ["value", "loading"])]),
691
+ _: 1
692
+ })])) : o("", !0),
693
+ l(X) && l(j).length ? (n(), p("div", $e, [m("span", et, r(e.$t("views.workers.plugin_assignments")), 1), v(C, { class: "cui-card" }, {
694
+ content: d(() => [m("span", tt, r(e.$t("views.workers.plugin_assignments_description")), 1), v(E, {
695
+ value: l(Nt),
696
+ loading: l(R),
697
+ pt: kt,
698
+ "striped-rows": "",
699
+ class: "w-full"
700
+ }, {
701
+ loading: d(() => [v(f, {
702
+ class: "w-[30px] h-[30px] m-0",
703
+ "stroke-width": "5"
704
+ })]),
705
+ empty: d(() => [m("span", nt, r(e.$t("views.workers.no_plugins")), 1)]),
706
+ default: d(() => [v(T, {
707
+ field: "displayName",
708
+ header: e.$t("views.workers.plugin"),
709
+ "header-class": "p-2 min-w-40",
710
+ class: "p-2 min-w-40"
711
+ }, {
712
+ body: d(({ data: e }) => [m("div", rt, [m("span", it, r(e.displayName), 1), Jt(e) ? (n(), p("span", at, r(Jt(e)), 1)) : o("", !0)])]),
713
+ _: 1
714
+ }, 8, ["header"]), v(T, {
715
+ header: e.$t("views.workers.workers"),
716
+ "header-class": "p-2 w-full",
717
+ class: "p-2 w-full"
718
+ }, {
719
+ body: d(({ data: t }) => [v(x, {
720
+ "model-value": $(t.workerAgentId),
721
+ options: Yt(t),
722
+ "option-label": "label",
723
+ "option-value": "value",
724
+ "option-disabled": "disabled",
725
+ placeholder: e.$t("views.workers.local"),
726
+ class: "w-full",
727
+ "show-clear": "",
728
+ loading: Xt(t.pluginName),
729
+ disabled: Xt(t.pluginName),
730
+ "onUpdate:modelValue": (e) => Zt(t, e)
731
+ }, null, 8, [
732
+ "model-value",
733
+ "options",
734
+ "placeholder",
735
+ "loading",
736
+ "disabled",
737
+ "onUpdate:modelValue"
738
+ ])]),
739
+ _: 1
740
+ }, 8, ["header"])]),
741
+ _: 1
742
+ }, 8, ["value", "loading"])]),
743
+ _: 1
744
+ })])) : o("", !0),
745
+ l(X) ? (n(), p("div", ot, [m("span", st, r(e.$t("views.workers.pair_worker")), 1), v(C, { class: "cui-card" }, {
746
+ content: d(() => [m("div", ct, [
747
+ m("span", lt, r(e.$t("views.workers.pair_worker_description")), 1),
748
+ l(K) ? (n(), p(ee, { key: 0 }, [m("div", ut, [
749
+ m("label", dt, r(e.$t("views.workers.pairing_code")), 1),
750
+ v(k, null, {
751
+ default: d(() => [v(de, {
752
+ "model-value": l(K).code,
753
+ readonly: "",
754
+ type: "text"
755
+ }, null, 8, ["model-value"]), v(O, null, {
756
+ default: d(() => [v(D, {
757
+ "action-text": e.$t("views.workers.copied"),
758
+ icon: l(oe),
759
+ "button-props": {
760
+ severity: "secondary",
761
+ text: !0
762
+ },
763
+ onAction: t[3] ||= (e) => l(ue)(l(K).code)
764
+ }, null, 8, ["action-text", "icon"])]),
765
+ _: 1
766
+ })]),
767
+ _: 1
768
+ }),
769
+ v(g, {
770
+ severity: "secondary",
771
+ variant: "simple",
772
+ size: "small",
773
+ class: "cui-input-hint"
774
+ }, {
775
+ default: d(() => [h(r(e.$t("views.workers.pairing_expires", { minutes: l(Lt) })), 1)]),
776
+ _: 1
777
+ })
778
+ ]), m("div", ft, [
779
+ m("div", pt, [m("label", mt, r(e.$t("views.workers.pairing_snippet")), 1), v(D, {
780
+ "action-text": e.$t("views.workers.copied"),
781
+ icon: l(oe),
782
+ "button-props": {
783
+ severity: "secondary",
784
+ text: !0
785
+ },
786
+ onAction: t[4] ||= (e) => l(ue)(l(Rt))
787
+ }, null, 8, ["action-text", "icon"])]),
788
+ m("pre", ht, r(l(Rt)), 1),
789
+ v(g, {
790
+ severity: "secondary",
791
+ variant: "simple",
792
+ size: "small",
793
+ class: "cui-input-hint"
794
+ }, {
795
+ default: d(() => [h(r(e.$t("views.workers.pairing_snippet_hint")), 1)]),
796
+ _: 1
797
+ })
798
+ ])], 64)) : o("", !0),
799
+ m("div", gt, [v(s, {
800
+ class: "cui-button-medium",
801
+ label: e.$t("views.workers.generate_code"),
802
+ loading: l(Ct),
803
+ onClick: en
804
+ }, null, 8, ["label", "loading"])])
805
+ ])]),
806
+ _: 1
807
+ })])) : o("", !0)
808
+ ]))
809
+ ]);
810
+ };
811
+ }
812
+ }), [["__scopeId", "data-v-1316570a"]]);
813
+ //#endregion
814
+ export { B as default };