@camera.ui/server 2.2.2 → 2.2.3

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 (398) hide show
  1. package/dist/interface/assets/{404-bSMSPWcp.js → 404-D0S6IGok.js} +1 -1
  2. package/dist/interface/assets/{About-DqMxC4AO.js → About-DAw9u8ZY.js} +1 -1
  3. package/dist/interface/assets/{Assistant-CIHF-bHs.js → Assistant-Gi6_YkEY.js} +1 -1
  4. package/dist/interface/assets/{Automation-CUDypjZw.js → Automation-6eFKPJPu.js} +3 -3
  5. package/dist/interface/assets/{AutomationImport-Cr14tF-Q.js → AutomationImport-95PfbPvG.js} +2 -2
  6. package/dist/interface/assets/{AutomationStore-BnZgfI9i.js → AutomationStore-BHxzzx7a.js} +2 -2
  7. package/dist/interface/assets/AutomationStoreDetail-DEVlRllt.js +2 -0
  8. package/dist/interface/assets/Automations-DEivoiS1.js +2 -0
  9. package/dist/interface/assets/Camera-B5l_gv7t.js +2 -0
  10. package/dist/interface/assets/{CameraConsole-BK8TqHgA.js → CameraConsole-B8bBYQzk.js} +1 -1
  11. package/dist/interface/assets/Cameras-HblWPGCv.js +651 -0
  12. package/dist/interface/assets/Camview-DEKrbg5R.js +1 -0
  13. package/dist/interface/assets/{CertificateUpload-PfgVZa4M.js → CertificateUpload-CC6YtX7h.js} +1 -1
  14. package/dist/interface/assets/{Config-DapgreIX.js → Config-DQEaOnaN.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionAssistant-v0w4E-mE.js → ConfigActionAssistant-C_XRnBzo.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionCameraControl-fdrsnRyE.js → ConfigActionCameraControl-oRzM9rjX.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionDelay-C_dq3ozL.js → ConfigActionDelay-Dc-NZS5L.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionHttp-1hDI-38w.js → ConfigActionHttp-Nw0wt-JZ.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionImageInput-DCF8qeg9.js → ConfigActionImageInput-Do60Upqm.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionMqtt-XpVD7lFg.js → ConfigActionMqtt-BeQVgaGX.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionNotification-CB1ymMRz.js → ConfigActionNotification-BA0FjOWs.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionNotificationControl-BfDtLS5h.js → ConfigActionNotificationControl-Ce3Kd_Xv.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionOutput-CMfXI1b3.js → ConfigActionOutput-ChiOMWDy.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionPlugin-CZo6SudQ.js → ConfigActionPlugin-Cn3r0glk.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSensor-CetFuASa.js → ConfigActionSensor-DkdBCu-6.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionSnapshot-BpPhHpIk.js → ConfigActionSnapshot-CLlaDFUV.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionVariable-SJomTISn.js → ConfigActionVariable-D4x3Luxl.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionIfElse-ClTxvZJz.js → ConfigConditionIfElse-BpL8KZ5X.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSensorState-FbLmmHyP.js → ConfigConditionSensorState-CSQexUF_.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionSwitch--qAHkOdE.js → ConfigConditionSwitch-CB2J_5kr.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionTime-BqjDUPVR.js → ConfigConditionTime-X9fsNsYu.js} +1 -1
  32. package/dist/interface/assets/{ConfigSensorValueInput-B1dLcmSO.js → ConfigSensorValueInput-VPhPxrQl.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerDetection-CMZyEWui.js → ConfigTriggerDetection-Dhzng4X5.js} +1 -1
  34. package/dist/interface/assets/{ConfigTriggerGeofence-B9JPVvhP.js → ConfigTriggerGeofence-Cm0CLNf5.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerManual-CSdF69jM.js → ConfigTriggerManual-CRi3rsgG.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerMqtt-BzN7_xVm.js → ConfigTriggerMqtt-Ck__CWck.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSchedule-BK_Ogvxn.js → ConfigTriggerSchedule-C1PZrHEu.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSensor-BaQklhHP.js → ConfigTriggerSensor-9xVgCtkn.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSystem-DIX95l0X.js → ConfigTriggerSystem-Denf1gkO.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerWebhook-_EOJAgNk.js → ConfigTriggerWebhook-im24LkCn.js} +1 -1
  41. package/dist/interface/assets/Console-Q1HpmyO_.js +1 -0
  42. package/dist/interface/assets/CuiAssistantConversation-BxJf9sdu.js +5 -0
  43. package/dist/interface/assets/{CuiAssistantConversation-CWCLLi3b.css → CuiAssistantConversation-DmSdiv1b.css} +1 -1
  44. package/dist/interface/assets/{CuiAutomationRunsDialog-DpskKeEe.js → CuiAutomationRunsDialog-B3tJ-Cma.js} +1 -1
  45. package/dist/interface/assets/CuiBottomSheet-C37blNu-.js +1 -0
  46. package/dist/interface/assets/{CuiBottomSheet-Bg_AIuGY.js → CuiBottomSheet-kvvLw1MQ.js} +1 -1
  47. package/dist/interface/assets/CuiCameraPipCard-TVAf5ZYQ.js +1 -0
  48. package/dist/interface/assets/CuiCameraRecordings-C26rX8dh.css +1 -0
  49. package/dist/interface/assets/CuiCameraRecordings-IHg1dNf4.js +1 -0
  50. package/dist/interface/assets/CuiCameraShares-B5ghuJS-.js +1 -0
  51. package/dist/interface/assets/{CuiCameraTable-CyAYYPvd.js → CuiCameraTable-Y5XUkU7w.js} +2 -2
  52. package/dist/interface/assets/CuiCameraTable-xDZz7Wpe.js +1 -0
  53. package/dist/interface/assets/{CuiChartTable-BklHSjRr.js → CuiChartTable-CXdupaj5.js} +1 -1
  54. package/dist/interface/assets/CuiChartTable-DXY7rY3O.css +1 -0
  55. package/dist/interface/assets/{CuiConsole-4rDfDj0a.js → CuiConsole-5KgXSOS5.js} +2 -2
  56. package/dist/interface/assets/CuiDataTable-DPIbKnvU.css +1 -0
  57. package/dist/interface/assets/CuiDataTable-hArZWV9B.js +1 -0
  58. package/dist/interface/assets/CuiLightControl-MRpR0XIZ.js +1 -0
  59. package/dist/interface/assets/{CuiList-BafzuN0H.js → CuiList-D-l4HrBP.js} +1 -1
  60. package/dist/interface/assets/CuiPluginCard-whoQ5YHn.js +2 -0
  61. package/dist/interface/assets/{CuiPluginCategoryChip-B4w2DH_j.js → CuiPluginCategoryChip-CH53zk2o.js} +1 -1
  62. package/dist/interface/assets/{CuiPluginOAuthButton-C_jxPrPQ.js → CuiPluginOAuthButton-BBA0AzVO.js} +2 -2
  63. package/dist/interface/assets/{CuiPluginTrustBadge-pLnF2Ggn.js → CuiPluginTrustBadge-C0EX5aCI.js} +1 -1
  64. package/dist/interface/assets/{CuiQRCode-8Q6cFdfs.js → CuiQRCode-BRT0NO5c.js} +1 -1
  65. package/dist/interface/assets/CuiSchema-DBY1x1BT.js +1 -0
  66. package/dist/interface/assets/{CuiTopNavbarItem-BZXzuV42.js → CuiTopNavbarItem-CpMT8_0r.js} +1 -1
  67. package/dist/interface/assets/Faces-Dqi30qs9.js +1 -0
  68. package/dist/interface/assets/{FirstSteps-BNcAFp2c.js → FirstSteps-B8n4fGK3.js} +1 -1
  69. package/dist/interface/assets/Floorplan-ZHXNaZA8.js +1 -0
  70. package/dist/interface/assets/{Instances-DUWWy-El.js → Instances-DEj3gs6H.js} +1 -1
  71. package/dist/interface/assets/{Logs-7CxXc2Re.js → Logs-CwHvSKd6.js} +2 -2
  72. package/dist/interface/assets/Menu-C4BxUV0P.js +1 -0
  73. package/dist/interface/assets/Metrics-BCOE-rcw.js +9 -0
  74. package/dist/interface/assets/OAuthDeviceFlow-D6bjZOYS.js +1 -0
  75. package/dist/interface/assets/Plugin-ppCvxkl4.js +1 -0
  76. package/dist/interface/assets/{PluginConsole-BOaU7Ey0.js → PluginConsole-BP42Qpee.js} +1 -1
  77. package/dist/interface/assets/PluginDetail-BnX5lZGz.js +2 -0
  78. package/dist/interface/assets/{PluginSchema-BWlRMPo6.js → PluginSchema-uVKXzfo6.js} +1 -1
  79. package/dist/interface/assets/PluginSearch-C4MvWyLb.js +1 -0
  80. package/dist/interface/assets/PluginSearch-no79fTuf.js +2 -0
  81. package/dist/interface/assets/{PluginUpdateProgress-DFg14vV8.js → PluginUpdateProgress-73jprYHA.js} +1 -1
  82. package/dist/interface/assets/Plugins-DtEqS6_j.js +1 -0
  83. package/dist/interface/assets/{RecentEventsFilter-B6Ph-pxb.js → RecentEventsFilter-CtyCbt6Z.js} +1 -1
  84. package/dist/interface/assets/Recordings-DrcOsRLn.js +1 -0
  85. package/dist/interface/assets/{SensorEdit-DEenjJ8S.js → SensorEdit-D4-mMg8S.js} +1 -1
  86. package/dist/interface/assets/{SensorHistory-CU1Uwf5f.js → SensorHistory-C-X7VI-f.js} +1 -1
  87. package/dist/interface/assets/{Sensors-LnVLPDWf.js → Sensors-BJh8BkCR.js} +2 -2
  88. package/dist/interface/assets/{Settings-uk3RVXCS.js → Settings-B9CZvA-d.js} +1 -1
  89. package/dist/interface/assets/SettingsAccount-CkvScQmF.js +1 -0
  90. package/dist/interface/assets/SettingsAccount-D3zF2kLc.js +1 -0
  91. package/dist/interface/assets/{SettingsAppearance-CRYcal9v.js → SettingsAppearance-CbG8M38w.js} +1 -1
  92. package/dist/interface/assets/SettingsAppearance-ZHqNXXIL.js +1 -0
  93. package/dist/interface/assets/SettingsAssistant-BESab92C.css +1 -0
  94. package/dist/interface/assets/SettingsAssistant-DxYPnbms.js +1 -0
  95. package/dist/interface/assets/{SettingsBackup-CSvGqsru.js → SettingsBackup-DZBzUyQm.js} +1 -1
  96. package/dist/interface/assets/{SettingsList-BQR6jnP-.js → SettingsList-DFg8g7IM.js} +1 -1
  97. package/dist/interface/assets/SettingsMqtt-BeujOZkh.js +1 -0
  98. package/dist/interface/assets/{SettingsNotifications-8sSoP-8S.js → SettingsNotifications-DtSTE76r.js} +1 -1
  99. package/dist/interface/assets/{SettingsPermissions-D7kYdjfw.js → SettingsPermissions-CPOAefv0.js} +1 -1
  100. package/dist/interface/assets/{SettingsRecordings-DjLYqbKo.js → SettingsRecordings-ClAtT4Bh.js} +1 -1
  101. package/dist/interface/assets/SettingsRemote-58S4Thfp.js +2 -0
  102. package/dist/interface/assets/{SettingsSystem-BxQNJc8n.js → SettingsSystem-tTGpuiRW.js} +2 -2
  103. package/dist/interface/assets/SettingsUsers-D8b7I5c2.js +1 -0
  104. package/dist/interface/assets/{Terminal-Bsnvs8gs.js → Terminal-1_Fi0VW-.js} +2 -2
  105. package/dist/interface/assets/Training-CQHfQjUP.css +1 -0
  106. package/dist/interface/assets/Training-DfOqDTHJ.js +1 -0
  107. package/dist/interface/assets/{Updates-Dsn_fJ-N.js → Updates-BW0p7Wc5.js} +1 -1
  108. package/dist/interface/assets/{VariableInput-DCWiIgaZ.js → VariableInput-sqnLuk6S.js} +1 -1
  109. package/dist/interface/assets/{VariableSuggestions-BhIlXJ6r.js → VariableSuggestions-3pbnxhyT.js} +1 -1
  110. package/dist/interface/assets/{VersionsHandler-DM_Jf4EA.js → VersionsHandler-CWmjDygB.js} +1 -1
  111. package/dist/interface/assets/{VirtualSensorCreate-Q4kd0dfE.js → VirtualSensorCreate-BzmFlvYD.js} +1 -1
  112. package/dist/interface/assets/Workers-Dm9o2wMo.js +2 -0
  113. package/dist/interface/assets/{api-BKiE8A_V.css → api-B6TtU9Ew.css} +1 -1
  114. package/dist/interface/assets/{api-LjAY3aa3.js → api-CQ-3I3-i.js} +1 -1
  115. package/dist/interface/assets/api-DPgKdIQZ.js +4 -0
  116. package/dist/interface/assets/{assistant-BFc44oq-.js → assistant-0UymvpMy.js} +1 -1
  117. package/dist/interface/assets/{auth-CUPvHARA.js → auth-C0jhqNaz.js} +1 -1
  118. package/dist/interface/assets/{automations-Dw4L5sT0.js → automations-Bj30nb8s.js} +1 -1
  119. package/dist/interface/assets/{cameraSources-CzENFiZx.js → cameraSources-CiMjIjsh.js} +1 -1
  120. package/dist/interface/assets/cloudHandoff-Cxljjl7N.js +1 -0
  121. package/dist/interface/assets/{config-EBcNBZkb.js → config-D-uVfwYp.js} +1 -1
  122. package/dist/interface/assets/{flowSchema-CdzBw69a.js → flowSchema-D3nNJVLL.js} +1 -1
  123. package/dist/interface/assets/{intercomService-DIfdcsXc.js → intercomService-BeoNs-09.js} +1 -1
  124. package/dist/interface/assets/main-BrNGfemk.js +3 -0
  125. package/dist/interface/assets/{mqtt-D_wH18eJ.js → mqtt-D7jRwifB.js} +1 -1
  126. package/dist/interface/assets/{notifications-wLsrlI9N.js → notifications-BpRVoerg.js} +1 -1
  127. package/dist/interface/assets/pause-B7ud2O8d.js +1 -0
  128. package/dist/interface/assets/{plugins-DwmkpOPJ.js → plugins-wZ4RDxCb.js} +1 -1
  129. package/dist/interface/assets/rooms-CFcu2dU1.js +1 -0
  130. package/dist/interface/assets/{sensorIcons-BY853M0u.js → sensorIcons-B117n8l2.js} +1 -1
  131. package/dist/interface/assets/{sensorSlots-DnRJdaTG.js → sensorSlots-CAr3prFc.js} +1 -1
  132. package/dist/interface/assets/{sensors-B9etOqBI.js → sensors-oriEG3KR.js} +1 -1
  133. package/dist/interface/assets/{server-BTKgKMye.js → server-Ce6ou2NV.js} +1 -1
  134. package/dist/interface/assets/{theme-CbtGvohq.js → theme-CBTC6-Lp.js} +1 -1
  135. package/dist/interface/assets/{types-CEhVWRYD.js → types-C-amdBz6.js} +1 -1
  136. package/dist/interface/assets/{types-COlvVtDn.js → types-CjU6-JvD.js} +1 -1
  137. package/dist/interface/assets/types-CzjppLwt.js +1 -0
  138. package/dist/interface/assets/{ungrouped-Dbr16vFt.css → ungrouped-AYNBKz52.css} +1 -1
  139. package/dist/interface/assets/ungrouped-BQzKp2PT.js +1 -0
  140. package/dist/interface/assets/{updates-BQ6Ugcup.js → updates-Cohtc6vb.js} +1 -1
  141. package/dist/interface/assets/{useAppVersion-BO-3jbup.js → useAppVersion-xxi6fR7J.js} +1 -1
  142. package/dist/interface/assets/{useAssistantActions-CRVHZw4o.js → useAssistantActions-BkRK1FBg.js} +1 -1
  143. package/dist/interface/assets/useBackupRestore-BGvhSqJB.js +1 -0
  144. package/dist/interface/assets/{useCameraOptions-C7tgceJ1.js → useCameraOptions-ophs2V4p.js} +1 -1
  145. package/dist/interface/assets/{useKeyboardInset-yu3BVnj7.js → useKeyboardInset-Cpz6Hs5c.js} +1 -1
  146. package/dist/interface/assets/{useLogsSocket-B4wTnSno.js → useLogsSocket-CB07yhv4.js} +1 -1
  147. package/dist/interface/assets/{useNavLayout-Z61-OsIG.js → useNavLayout-BYEejBpb.js} +1 -1
  148. package/dist/interface/assets/{usePermissions-Bjx4t0x3.js → usePermissions-yWhjYMcr.js} +1 -1
  149. package/dist/interface/assets/{usePluginUpdates-Dv3_XJTK.js → usePluginUpdates-9rvsWfdJ.js} +1 -1
  150. package/dist/interface/assets/{usePushRegistration-CHNMZ94f.js → usePushRegistration-b5owOzjH.js} +1 -1
  151. package/dist/interface/assets/{useServerRestart-C-AsOdJP.js → useServerRestart-yRXDWnH_.js} +1 -1
  152. package/dist/interface/assets/{useStreamStatus-BJoJF68x.js → useStreamStatus-BHyWrAHu.js} +1 -1
  153. package/dist/interface/assets/{useTabSwipe-b_K3BIkW.js → useTabSwipe-Dr9HYP1J.js} +1 -1
  154. package/dist/interface/assets/{useUpdateChannel-Cc4IrrDy.js → useUpdateChannel-IVj0XKlN.js} +1 -1
  155. package/dist/interface/assets/{useUpdatesSocket-Cz9lN4Bc.js → useUpdatesSocket-CuPHbSF7.js} +1 -1
  156. package/dist/interface/assets/{useUserOptions-DrNB17kY.js → useUserOptions-zIfrMDiG.js} +1 -1
  157. package/dist/interface/assets/{vendor-cameraui-CqKq4Yeo.js → vendor-cameraui-Dhg7MEnt.js} +2 -2
  158. package/dist/interface/assets/{vendor-core-BTkC8NzR.js → vendor-core-CQ2HVu0L.js} +1 -1
  159. package/dist/interface/assets/{vendor-primevue-DQz5Qnqu.js → vendor-primevue-CeWNZxSE.js} +1 -1
  160. package/dist/interface/assets/{vendor-zod-BigRv4ty.js → vendor-zod-CBbC1rE7.js} +2 -2
  161. package/dist/interface/ha/{404-Bg2Vlt5S.js → 404-B70KNhsW.js} +1 -1
  162. package/dist/interface/ha/{About-C6u2wgUi.js → About-DLNqqctZ.js} +6 -6
  163. package/dist/interface/ha/{Assistant-BCyiVnwD.js → Assistant-Duvvoz2B.js} +334 -319
  164. package/dist/interface/ha/{Automation-DU_qv5xD.js → Automation-DZ8zvsvo.js} +189 -189
  165. package/dist/interface/ha/{AutomationImport-BpDyhabF.js → AutomationImport-DOCdim5O.js} +6 -6
  166. package/dist/interface/ha/{AutomationStore-DPQsunpH.js → AutomationStore-Bjoubp-m.js} +7 -7
  167. package/dist/interface/ha/{AutomationStoreDetail-CASMQ-mD.js → AutomationStoreDetail-H-RWNpwm.js} +13 -13
  168. package/dist/interface/ha/{Automations-DSHVzwX4.js → Automations-GyofQfo7.js} +99 -112
  169. package/dist/interface/ha/{Camera-ESmteicm.js → Camera-Bo5nMQaU.js} +27 -27
  170. package/dist/interface/ha/{CameraConsole-BE_jl4Co.js → CameraConsole-BmDQ3rcS.js} +5 -5
  171. package/dist/interface/ha/{Cameras-otaj2xZO.js → Cameras-BfHoFjpC.js} +242 -242
  172. package/dist/interface/ha/{Camview-BU1027if.js → Camview-DVoIdM3o.js} +520 -520
  173. package/dist/interface/ha/{Config-BlEvHYVP.js → Config-CC8tQiOy.js} +110 -110
  174. package/dist/interface/ha/{ConfigActionAssistant-uDf5fgoJ.js → ConfigActionAssistant-hfsz38an.js} +4 -4
  175. package/dist/interface/ha/{ConfigActionCameraControl-BAQsXVLz.js → ConfigActionCameraControl-C0-wxlAS.js} +3 -3
  176. package/dist/interface/ha/{ConfigActionHttp-Dy2MZHSm.js → ConfigActionHttp-CM_3bIUq.js} +2 -2
  177. package/dist/interface/ha/{ConfigActionImageInput-B5kyV3Un.js → ConfigActionImageInput-B5306Z_7.js} +1 -1
  178. package/dist/interface/ha/{ConfigActionMqtt-DHCgh1xx.js → ConfigActionMqtt-DLiM83Kz.js} +4 -4
  179. package/dist/interface/ha/{ConfigActionNotification-mbA5PfcJ.js → ConfigActionNotification-36VBlfim.js} +3 -3
  180. package/dist/interface/ha/{ConfigActionNotificationControl-TLaL7tYm.js → ConfigActionNotificationControl-DRjDvA1H.js} +2 -2
  181. package/dist/interface/ha/{ConfigActionOutput-CJ40Fniw.js → ConfigActionOutput-BkGHERoJ.js} +1 -1
  182. package/dist/interface/ha/{ConfigActionPlugin-BwTd-mdQ.js → ConfigActionPlugin-Ds1_Pow7.js} +5 -5
  183. package/dist/interface/ha/{ConfigActionSensor-BI438ihg.js → ConfigActionSensor-22uKE0d0.js} +5 -5
  184. package/dist/interface/ha/{ConfigActionSnapshot-DJ4zI2a0.js → ConfigActionSnapshot-uTTsTfo2.js} +2 -2
  185. package/dist/interface/ha/{ConfigActionVariable-Bhy5jf_w.js → ConfigActionVariable-DNMJBiQV.js} +1 -1
  186. package/dist/interface/ha/{ConfigConditionIfElse-I7Qq8nfN.js → ConfigConditionIfElse-BVzmIDKK.js} +3 -3
  187. package/dist/interface/ha/{ConfigConditionSensorState-CTLP3ppx.js → ConfigConditionSensorState-Di7Ic1xI.js} +4 -4
  188. package/dist/interface/ha/{ConfigConditionSwitch-UUupXf1b.js → ConfigConditionSwitch-D8CcTHJ1.js} +5 -5
  189. package/dist/interface/ha/{ConfigSensorValueInput-CoHheDT0.js → ConfigSensorValueInput-DthsOthT.js} +4 -4
  190. package/dist/interface/ha/{ConfigTriggerDetection-Cg_jKNed.js → ConfigTriggerDetection-BDYanDEV.js} +2 -2
  191. package/dist/interface/ha/{ConfigTriggerGeofence-WlJbu3sC.js → ConfigTriggerGeofence-Binp0lYx.js} +5 -5
  192. package/dist/interface/ha/{ConfigTriggerMqtt-BeRJoceK.js → ConfigTriggerMqtt-BaPzSHbK.js} +1 -1
  193. package/dist/interface/ha/{ConfigTriggerSensor-k58gVKdG.js → ConfigTriggerSensor-DiTaTZXm.js} +1 -1
  194. package/dist/interface/ha/{ConfigTriggerSystem-Ckm5yoUm.js → ConfigTriggerSystem-CsdWiz-S.js} +2 -2
  195. package/dist/interface/ha/{ConfigTriggerWebhook-D425z-p1.js → ConfigTriggerWebhook-Ca0PsUmU.js} +6 -6
  196. package/dist/interface/ha/{Console-C1Ub4Rji.js → Console-0amlIoZR.js} +10 -10
  197. package/dist/interface/ha/{CuiAutomationRunsDialog-opy5qXwE.js → CuiAutomationRunsDialog-DNBuwkgL.js} +2 -2
  198. package/dist/interface/ha/{CuiBottomSheet-DbCwVXl1.js → CuiBottomSheet-CdXBYz4P.js} +1 -1
  199. package/dist/interface/ha/{CuiCameraRecordings-CifJLj7G.js → CuiCameraRecordings-D4ZB56nd.js} +14 -15
  200. package/dist/interface/ha/{CuiCameraShares-Xty8LRcn.js → CuiCameraShares-YmzZusZR.js} +7 -7
  201. package/dist/interface/ha/{CuiCameraTable-CqfxX0Yn.js → CuiCameraTable-DFzhCO3J.js} +9 -9
  202. package/dist/interface/ha/{CuiChartTable-ABHnLdR0.js → CuiChartTable-BvfJbFNS.js} +46 -44
  203. package/dist/interface/ha/{CuiConsole-3JwbeUYD.js → CuiConsole-DtxyD6Sd.js} +1 -1
  204. package/dist/interface/ha/{CuiDataTable-BwE7D2h5.js → CuiDataTable-CHvx6ALQ.js} +16 -10
  205. package/dist/interface/ha/{CuiPluginCard-bzxiy1yb.js → CuiPluginCard-B3vU57eD.js} +77 -77
  206. package/dist/interface/ha/{CuiPluginOAuthButton-DSxrzDmg.js → CuiPluginOAuthButton-DgOFfP5e.js} +6 -6
  207. package/dist/interface/ha/{CuiPluginTrustBadge-g0XkvDt8.js → CuiPluginTrustBadge-udmtgGHt.js} +1 -1
  208. package/dist/interface/ha/{CuiQRCode-uyRFbzd6.js → CuiQRCode-8yDZMC3o.js} +6 -6
  209. package/dist/interface/ha/{CuiSchema-DZIrlY8R.js → CuiSchema-0Hikg2mm.js} +138 -138
  210. package/dist/interface/ha/{CuiTopNavbarItem-C3a5NA7u.js → CuiTopNavbarItem-B139fVxP.js} +1 -1
  211. package/dist/interface/ha/{Faces-D2eca8MN.js → Faces-YdAf9USr.js} +107 -107
  212. package/dist/interface/ha/{FirstSteps-CdTE1cvw.js → FirstSteps-Dts6TJ6O.js} +7 -7
  213. package/dist/interface/ha/{Floorplan-BrEC2Au5.js → Floorplan-D6XXe8ni.js} +193 -193
  214. package/dist/interface/ha/{Instances-ClOsPOi8.js → Instances-DsIsonqp.js} +68 -68
  215. package/dist/interface/ha/{Logs-DnY1gTnb.js → Logs-Cyo3LC94.js} +11 -11
  216. package/dist/interface/ha/{Menu-cLDE76XZ.js → Menu-yh_sI9d9.js} +15 -20
  217. package/dist/interface/ha/{Metrics-pMQX_0m1.js → Metrics-VehQmsmN.js} +64 -64
  218. package/dist/interface/ha/{OAuthDeviceFlow-D1PGQ8r9.js → OAuthDeviceFlow-CXp9NvbY.js} +9 -9
  219. package/dist/interface/ha/{Plugin-DiC23P97.js → Plugin-BqvlXx43.js} +97 -97
  220. package/dist/interface/ha/{PluginConsole-B-lX5KJu.js → PluginConsole-Dx84BNoO.js} +4 -4
  221. package/dist/interface/ha/{PluginDetail-B_tVJf6y.js → PluginDetail-DUpDS2nD.js} +6 -6
  222. package/dist/interface/ha/{PluginSearch-n8nfjx9q.js → PluginSearch-Cvh0P9VB.js} +124 -124
  223. package/dist/interface/ha/{PluginUpdateProgress-BjsYyrRk.js → PluginUpdateProgress-CfyI2Qdp.js} +3 -3
  224. package/dist/interface/ha/{Plugins-CFhOUaqq.js → Plugins-DXreIUwr.js} +173 -173
  225. package/dist/interface/ha/{Recordings-B07eUJwH.js → Recordings-Cb8ifRcB.js} +225 -227
  226. package/dist/interface/ha/{SensorEdit-DFPiBXQD.js → SensorEdit-CsNXxcdj.js} +58 -58
  227. package/dist/interface/ha/{SensorHistory-B2FOK4Qa.js → SensorHistory-DToDalOm.js} +2 -2
  228. package/dist/interface/ha/{Sensors-DtzmTc-L.js → Sensors-B6giaowJ.js} +434 -434
  229. package/dist/interface/ha/{Settings-ClqSoFjT.js → Settings-CVed7MM_.js} +22 -22
  230. package/dist/interface/ha/{SettingsAccount-Bh8FfH7J.js → SettingsAccount-CvvsLPoT.js} +31 -31
  231. package/dist/interface/ha/{SettingsAppearance--FJgY8cj.js → SettingsAppearance-BDJeNGTd.js} +6 -6
  232. package/dist/interface/ha/{SettingsAssistant-ClDfxd_d.js → SettingsAssistant-B168p5HB.js} +615 -508
  233. package/dist/interface/ha/{SettingsBackup-BYM55pQ7.js → SettingsBackup-Bz_9xJ61.js} +14 -14
  234. package/dist/interface/ha/{SettingsList-CMSEKVCD.js → SettingsList-B42rajJc.js} +1 -1
  235. package/dist/interface/ha/{SettingsMqtt-CFpgJ-E5.js → SettingsMqtt-B5Qy6bxD.js} +148 -148
  236. package/dist/interface/ha/SettingsNotifications-C59UxYic.js +529 -0
  237. package/dist/interface/ha/{SettingsRecordings-Bz686yU7.js → SettingsRecordings-CkJGOiyQ.js} +7 -7
  238. package/dist/interface/ha/{SettingsRemote-DT4ZMjJO.js → SettingsRemote-Cc-qt3si.js} +231 -231
  239. package/dist/interface/ha/{SettingsSystem-CHctt06D.js → SettingsSystem-Cco2XXsS.js} +9 -9
  240. package/dist/interface/ha/{SettingsUsers-C_hvntON.js → SettingsUsers-BDh-3saR.js} +33 -33
  241. package/dist/interface/ha/{Terminal-B5FXq4-Z.js → Terminal-D2U-kFPW.js} +8 -8
  242. package/dist/interface/ha/Training-DWcaCI-3.js +1499 -0
  243. package/dist/interface/ha/{Updates-D0osNjqS.js → Updates-DGHNcvO9.js} +13 -13
  244. package/dist/interface/ha/{VariableInput-BK0qqMc7.js → VariableInput-Bujz1T1I.js} +1 -1
  245. package/dist/interface/ha/{VersionsHandler-B-vpKHJN.js → VersionsHandler-CXvbeKbl.js} +10 -10
  246. package/dist/interface/ha/{VirtualSensorCreate-Bp2201iM.js → VirtualSensorCreate-DOYONbgu.js} +2 -2
  247. package/dist/interface/ha/{Workers-BQ_luGWk.js → Workers-tQbC3WS6.js} +90 -90
  248. package/dist/interface/ha/{api-JPS8NpNG.js → api-BI6_Fcag.js} +8979 -8895
  249. package/dist/interface/ha/{api-BufZW7-A.js → api-DfJZj7ht.js} +1 -1
  250. package/dist/interface/ha/{assistant-BXVGCw2q.js → assistant-BqSg4N8v.js} +25 -25
  251. package/dist/interface/ha/{auth-CJC9G9BA.js → auth-BFoSqfzS.js} +34 -34
  252. package/dist/interface/ha/{automationBlueprint-DWuBiu_Q.js → automationBlueprint-Q0yt2MdH.js} +3 -3
  253. package/dist/interface/ha/cameraui-cards.js +1 -1
  254. package/dist/interface/ha/{cards-CGP6dWjy.js → cards-BW9I5B5Z.js} +114 -114
  255. package/dist/interface/ha/{config-BVURO_DZ.js → config-CeNHEP9A.js} +9 -9
  256. package/dist/interface/ha/{dist-Ca4K4HIm.js → dist-BV3OfApt.js} +1 -1
  257. package/dist/interface/ha/{mqtt-DY6EvMC9.js → mqtt-BkYa2CXH.js} +7 -7
  258. package/dist/interface/ha/{notifications-BdIqgnrC.js → notifications-E3WSCGpc.js} +12 -12
  259. package/dist/interface/ha/pause-Ch6v65wA.js +19 -0
  260. package/dist/interface/ha/{pinia-CqffEnzx.js → pinia-DoDLbPZ3.js} +11 -7
  261. package/dist/interface/ha/{plugins-Bnq2Iw00.js → plugins-2jjU7TfW.js} +30 -30
  262. package/dist/interface/ha/{rooms-AiJ5Tfir.js → rooms-BkEw1ev-.js} +1 -1
  263. package/dist/interface/ha/{server-BHhFn2RZ.js → server-CuK4o2fS.js} +15 -15
  264. package/dist/interface/ha/{types-7oMK8VO-.js → types-BRHWeX0a.js} +36 -22
  265. package/dist/interface/ha/{ungrouped-hib17Nvu.js → ungrouped-BDwep3kg.js} +195 -213
  266. package/dist/interface/ha/{updates-DvnEEUsx.js → updates-R4xTxour.js} +24 -24
  267. package/dist/interface/ha/{useAppVersion-BmWXr96y.js → useAppVersion-uaFjqUpx.js} +1 -1
  268. package/dist/interface/ha/{useLogsSocket-BKlJKGCB.js → useLogsSocket-BZq9GXfy.js} +1 -1
  269. package/dist/interface/ha/{useNavLayout-Dt0NH-G5.js → useNavLayout-BJdDE__R.js} +2 -2
  270. package/dist/interface/ha/{useServerRestart-DWs2dqQc.js → useServerRestart-DDCKnE6c.js} +1 -1
  271. package/dist/interface/ha/{useTabSwipe-vX79p6V_.js → useTabSwipe-CEH6ltIZ.js} +1 -1
  272. package/dist/interface/ha/{useUpdateChannel-CHlRp8uj.js → useUpdateChannel-CHt1il2V.js} +2 -2
  273. package/dist/interface/ha/{useUpdatesSocket-B40Cx-2L.js → useUpdatesSocket-BnVaNioY.js} +1 -1
  274. package/dist/interface/ha/{useUserOptions-hXz79rIV.js → useUserOptions-C7cQ1P3Q.js} +1 -1
  275. package/dist/interface/index.html +34 -34
  276. package/dist/interface/sw.js +1 -1
  277. package/dist/server/package.json +6 -7
  278. package/dist/server/requirements.txt +1 -1
  279. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +2 -0
  280. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/__init__.py +2 -0
  281. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/frames.py +9 -5
  282. package/dist/server/src/api/controllers/assistant.controller.js +2 -1
  283. package/dist/server/src/api/controllers/assistant.controller.js.map +1 -1
  284. package/dist/server/src/api/controllers/plugins.controller.js +3 -3
  285. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  286. package/dist/server/src/api/database/index.d.ts +1 -1
  287. package/dist/server/src/api/database/index.js +1 -1
  288. package/dist/server/src/api/database/index.js.map +1 -1
  289. package/dist/server/src/api/database/migrations/v2-2-3.d.ts +3 -0
  290. package/dist/server/src/api/database/migrations/v2-2-3.js +22 -0
  291. package/dist/server/src/api/database/migrations/v2-2-3.js.map +1 -0
  292. package/dist/server/src/api/schemas/cameras.schema.d.ts +32 -16
  293. package/dist/server/src/api/schemas/cameras.schema.js +5 -5
  294. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  295. package/dist/server/src/api/websocket/nsp/logs.d.ts +5 -2
  296. package/dist/server/src/api/websocket/nsp/logs.js +20 -5
  297. package/dist/server/src/api/websocket/nsp/logs.js.map +1 -1
  298. package/dist/server/src/api/websocket/nsp/training.d.ts +1 -1
  299. package/dist/server/src/api/websocket/nsp/training.js +3 -2
  300. package/dist/server/src/api/websocket/nsp/training.js.map +1 -1
  301. package/dist/server/src/assistant/manager.d.ts +1 -0
  302. package/dist/server/src/assistant/manager.js +24 -2
  303. package/dist/server/src/assistant/manager.js.map +1 -1
  304. package/dist/server/src/assistant/reasoning.d.ts +1 -1
  305. package/dist/server/src/assistant/reasoning.js +6 -3
  306. package/dist/server/src/assistant/reasoning.js.map +1 -1
  307. package/dist/server/src/assistant/retry.d.ts +4 -0
  308. package/dist/server/src/assistant/retry.js +3 -0
  309. package/dist/server/src/assistant/retry.js.map +1 -1
  310. package/dist/server/src/assistant/tool-names.d.ts +2 -0
  311. package/dist/server/src/assistant/tool-names.js +23 -0
  312. package/dist/server/src/assistant/tool-names.js.map +1 -0
  313. package/dist/server/src/assistant/tools/api.js +2 -0
  314. package/dist/server/src/assistant/tools/api.js.map +1 -1
  315. package/dist/server/src/assistant/tools/docs.js +1 -0
  316. package/dist/server/src/assistant/tools/docs.js.map +1 -1
  317. package/dist/server/src/assistant/tools/memory.js +1 -0
  318. package/dist/server/src/assistant/tools/memory.js.map +1 -1
  319. package/dist/server/src/assistant/tools/settings.js +1 -0
  320. package/dist/server/src/assistant/tools/settings.js.map +1 -1
  321. package/dist/server/src/automations/utilities/imageInput.js +4 -2
  322. package/dist/server/src/automations/utilities/imageInput.js.map +1 -1
  323. package/dist/server/src/camera/controller.d.ts +3 -0
  324. package/dist/server/src/camera/controller.js +41 -28
  325. package/dist/server/src/camera/controller.js.map +1 -1
  326. package/dist/server/src/camera/index.d.ts +1 -7
  327. package/dist/server/src/camera/index.js +0 -13
  328. package/dist/server/src/camera/index.js.map +1 -1
  329. package/dist/server/src/camera/privacy/snapshot.js +4 -2
  330. package/dist/server/src/camera/privacy/snapshot.js.map +1 -1
  331. package/dist/server/src/camera/snapshot-store.d.ts +22 -0
  332. package/dist/server/src/camera/snapshot-store.js +78 -0
  333. package/dist/server/src/camera/snapshot-store.js.map +1 -0
  334. package/dist/server/src/camera/streaming/fmp4-session.d.ts +2 -1
  335. package/dist/server/src/camera/streaming/fmp4-session.js +4 -0
  336. package/dist/server/src/camera/streaming/fmp4-session.js.map +1 -1
  337. package/dist/server/src/camera/streaming/rtp-session.js +1 -0
  338. package/dist/server/src/camera/streaming/rtp-session.js.map +1 -1
  339. package/dist/server/src/manager/trainingCandidateManager.js +17 -13
  340. package/dist/server/src/manager/trainingCandidateManager.js.map +1 -1
  341. package/dist/server/src/manager/types.d.ts +4 -0
  342. package/dist/server/src/rpc/interfaces/device.d.ts +1 -0
  343. package/dist/server/src/sensors/registry.js +2 -2
  344. package/dist/server/src/sensors/registry.js.map +1 -1
  345. package/dist/server/src/utils/image.d.ts +1 -0
  346. package/dist/server/src/utils/image.js +95 -0
  347. package/dist/server/src/utils/image.js.map +1 -0
  348. package/package.json +6 -7
  349. package/dist/interface/assets/AutomationStoreDetail-btcIglkw.js +0 -2
  350. package/dist/interface/assets/Automations-CKpwXTyc.js +0 -2
  351. package/dist/interface/assets/Camera-BEP_HAQm.js +0 -2
  352. package/dist/interface/assets/Cameras-DJreIgtW.js +0 -651
  353. package/dist/interface/assets/Camview-D4VNMv_l.js +0 -1
  354. package/dist/interface/assets/Console-Y1IutnkC.js +0 -1
  355. package/dist/interface/assets/CuiAssistantConversation-C4RYcMAM.js +0 -5
  356. package/dist/interface/assets/CuiBottomSheet-S8bM23jj.js +0 -1
  357. package/dist/interface/assets/CuiCameraPipCard-HTjvF3yG.js +0 -1
  358. package/dist/interface/assets/CuiCameraRecordings-B7BhgPpP.css +0 -1
  359. package/dist/interface/assets/CuiCameraRecordings-Cx6FYz3Y.js +0 -1
  360. package/dist/interface/assets/CuiCameraShares-J728G9wF.js +0 -1
  361. package/dist/interface/assets/CuiCameraTable-CKur0qLE.js +0 -1
  362. package/dist/interface/assets/CuiChartTable-DCGY-zVy.css +0 -1
  363. package/dist/interface/assets/CuiDataTable-BLyeEEAp.js +0 -1
  364. package/dist/interface/assets/CuiDataTable-DbkFXZeg.css +0 -1
  365. package/dist/interface/assets/CuiLightControl-C1YSJSWd.js +0 -1
  366. package/dist/interface/assets/CuiPluginCard-enc00hbc.js +0 -2
  367. package/dist/interface/assets/CuiSchema-CRHUMY0B.js +0 -1
  368. package/dist/interface/assets/Faces-fMMd6-PY.js +0 -1
  369. package/dist/interface/assets/Floorplan-BQbOWCCf.js +0 -1
  370. package/dist/interface/assets/Menu-B3VA0LMx.js +0 -1
  371. package/dist/interface/assets/Metrics-C0q2BdKH.js +0 -9
  372. package/dist/interface/assets/OAuthDeviceFlow-ZiCl4400.js +0 -1
  373. package/dist/interface/assets/Plugin-C0CPlt4f.js +0 -1
  374. package/dist/interface/assets/PluginDetail-DDh6PfMd.js +0 -2
  375. package/dist/interface/assets/PluginSearch-BR_ei8Pa.js +0 -1
  376. package/dist/interface/assets/PluginSearch-C2AXz2KG.js +0 -2
  377. package/dist/interface/assets/Plugins-CN1YIfNk.js +0 -1
  378. package/dist/interface/assets/Recordings-jhxwdrQY.js +0 -1
  379. package/dist/interface/assets/SettingsAccount-CJ_fPrT-.js +0 -1
  380. package/dist/interface/assets/SettingsAccount-CYn81m0Z.js +0 -1
  381. package/dist/interface/assets/SettingsAppearance-DFe8JsT5.js +0 -1
  382. package/dist/interface/assets/SettingsAssistant-CDyI6fee.css +0 -1
  383. package/dist/interface/assets/SettingsAssistant-Dm4oINqB.js +0 -1
  384. package/dist/interface/assets/SettingsMqtt-ByQYIRkm.js +0 -1
  385. package/dist/interface/assets/SettingsRemote-7iDccnV9.js +0 -2
  386. package/dist/interface/assets/SettingsUsers-yYobKcPv.js +0 -1
  387. package/dist/interface/assets/Training-BUhrkDzA.css +0 -1
  388. package/dist/interface/assets/Training-SOWa6Ay1.js +0 -1
  389. package/dist/interface/assets/Workers-D7mXpfvC.js +0 -2
  390. package/dist/interface/assets/api-Cl7JjXOQ.js +0 -4
  391. package/dist/interface/assets/cloudHandoff-CGMLCwMb.js +0 -1
  392. package/dist/interface/assets/main-W8WcKa2g.js +0 -3
  393. package/dist/interface/assets/rooms-D_7As09p.js +0 -1
  394. package/dist/interface/assets/types-BEy4uGJ0.js +0 -1
  395. package/dist/interface/assets/ungrouped-BJyBDv5e.js +0 -1
  396. package/dist/interface/assets/useBackupRestore-D305pYHT.js +0 -1
  397. package/dist/interface/ha/SettingsNotifications-CzgsBNtW.js +0 -529
  398. package/dist/interface/ha/Training-BgvpsKPM.js +0 -1469
@@ -3,15 +3,15 @@ import { D as n, G as r, H as i, Jt as a, U as o, Wt as s, Y as c, _t as l, d as
3
3
  import { t as M } from "./tooltip-X5MY9FoG.js";
4
4
  import { t as N } from "./message-BExXUXHN.js";
5
5
  import { t as P } from "./tag-Bko2QYOK.js";
6
- import { B as F, Dr as ee, Er as te, Fn as I, H as L, J as R, Jn as ne, Kt as re, Nn as ie, Or as z, Qn as ae, Tn as B, Tr as oe, U as V, Ur as se, V as ce, W as H, Wn as le, Y as ue, Z as de, Zn as U, at as fe, ct as pe, er as me, fr as W, g as he, hi as ge, it as _e, jn as ve, kn as ye, lr as be, mn as xe, mt as Se, pr as Ce, tr as we, vi as G, vr as Te, wr as Ee, yr as De, z as Oe } from "./api-JPS8NpNG.js";
7
- import { F as ke, M as Ae, z as je } from "./protocol-BB4jdtUC-BcZnYd-h.js";
8
- import { h as Me, u as Ne } from "./intercomService-Dwd0bhSN.js";
9
- import { n as Pe } from "./vue-i18n-BBObX4QY.js";
10
- import { C as Fe, _ as Ie, g as Le } from "./dist-BTp4AyuI.js";
11
- import { i as Re } from "./alert-outline-BssBb-kV.js";
12
- import { t as K } from "./eventIcons-DrjNuTS2.js";
6
+ import { An as F, B as I, Dr as ee, En as L, Er as R, H as z, J as te, Jn as ne, Ln as re, Or as B, Pn as ie, Qn as V, Tr as H, U, V as ae, Vn as oe, W as se, Wr as W, Y as ce, Yn as le, Z as ue, at as G, br as K, g as de, gi as fe, hn as pe, ht as me, jn as he, kr as ge, lt as _e, mr as ve, nr as ye, ot as be, pr as xe, qt as Se, tr as Ce, ur as we, yi as Te, yr as Ee, z as De } from "./api-BI6_Fcag.js";
7
+ import { F as Oe, M as ke, z as Ae } from "./protocol-BB4jdtUC-BcZnYd-h.js";
8
+ import { h as je, u as Me } from "./intercomService-Dwd0bhSN.js";
9
+ import { n as Ne } from "./vue-i18n-BBObX4QY.js";
10
+ import { C as Pe, _ as Fe, g as Ie } from "./dist-BTp4AyuI.js";
11
+ import { i as Le } from "./alert-outline-BssBb-kV.js";
12
+ import { t as Re } from "./eventIcons-DrjNuTS2.js";
13
13
  import { t as ze } from "./button-DJDZxmKj.js";
14
- import { M as Be } from "./dist-Ca4K4HIm.js";
14
+ import { M as Be } from "./dist-BV3OfApt.js";
15
15
  import { t as Ve } from "./inputtext-vdcrNX6K.js";
16
16
  import { t as q } from "./checkbox-D012nd17.js";
17
17
  import { t as He } from "./datepicker-44Ub2Hx0.js";
@@ -20,10 +20,10 @@ import { t as J } from "./select-CaVzuLaS.js";
20
20
  import { t as We } from "./progressbar-C2663Zd7.js";
21
21
  import { t as Ge } from "./multiselect-B0fAnW75.js";
22
22
  import { t as Ke } from "./textarea-DrKQ6YMZ.js";
23
- import { s as qe, t as Je } from "./assistant-BXVGCw2q.js";
23
+ import { s as qe, t as Je } from "./assistant-BqSg4N8v.js";
24
24
  import { i as Ye, n as Y, t as Xe } from "./eventLabels-B4C1_4vT.js";
25
25
  import { t as Ze } from "./ring-resize-11TaovpK.js";
26
- import { i as Qe, n as $e, r as et, t as tt } from "./ungrouped-hib17Nvu.js";
26
+ import { i as Qe, n as $e, r as et, t as tt } from "./ungrouped-BDwep3kg.js";
27
27
  import { t as nt } from "./utils-DYtBrGDz.js";
28
28
  import { t as rt } from "./settings-DkoB1zyf.js";
29
29
  import { n as it, t as at } from "./round-alt-arrow-left-bold-z7BNLjup.js";
@@ -74,7 +74,7 @@ var lt = l({
74
74
  }, pt = { key: 0 }, mt = /* @__PURE__ */ D({
75
75
  __name: "ClipReindex",
76
76
  setup(e, { expose: t }) {
77
- let r = n("dialogRefProps"), { t: o } = Pe(), { status: s, isBusy: c, checking: l, refresh: u, start: f, cancel: h } = U(), g = O(!1), y = O(!1), b = O(0), x = m(() => s.value?.running === !0), w = m(() => {
77
+ let r = n("dialogRefProps"), { t: o } = Ne(), { status: s, isBusy: c, checking: l, refresh: u, start: f, cancel: h } = ne(), g = O(!1), y = O(!1), b = O(0), x = m(() => s.value?.running === !0), w = m(() => {
78
78
  if (y.value) {
79
79
  if (!s.value?.total) return o("views.recordings.reindex.up_to_date");
80
80
  let { done: e, total: t, skipped: n } = s.value;
@@ -147,7 +147,7 @@ var gt = l({
147
147
  preselect: {}
148
148
  },
149
149
  setup(e, { expose: t }) {
150
- let o = e, { t: s } = Pe(), c = G(), l = n("dialogRefProps"), { plugin: g } = Be("@camera.ui/camera-ui-nvr"), _ = O([]), y = O(!1), x = O(o.preselect?.length ? [...o.preselect] : []), w = O("best"), E = O(0), D = O(new Date((/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0))), A = O(/* @__PURE__ */ new Date()), j = m(() => [{
150
+ let o = e, { t: s } = Ne(), c = Te(), l = n("dialogRefProps"), { plugin: g } = Be("@camera.ui/camera-ui-nvr"), _ = O([]), y = O(!1), x = O(o.preselect?.length ? [...o.preselect] : []), w = O("best"), E = O(0), D = O(new Date((/* @__PURE__ */ new Date()).setHours(0, 0, 0, 0))), A = O(/* @__PURE__ */ new Date()), j = m(() => [{
151
151
  label: s("views.recordings.export.quality_best"),
152
152
  value: "best"
153
153
  }, {
@@ -168,8 +168,8 @@ var gt = l({
168
168
  ].map((e) => ({
169
169
  label: e === 0 ? s("views.recordings.export.timelapse_off") : e < 60 ? `${e} s` : `${e / 60} min`,
170
170
  value: e
171
- }))), F = m(() => E.value > 0), ee = m(() => F.value ? "~" : ""), te = m(() => new Map(o.cameras.map((e) => [e.id, e.name]))), I = m(() => D.value instanceof Date && A.value instanceof Date && D.value < A.value), L = m(() => {
172
- if (!I.value) return [];
171
+ }))), F = m(() => E.value > 0), I = m(() => F.value ? "~" : ""), ee = m(() => new Map(o.cameras.map((e) => [e.id, e.name]))), L = m(() => D.value instanceof Date && A.value instanceof Date && D.value < A.value), R = m(() => {
172
+ if (!L.value) return [];
173
173
  let e = [], t = D.value.getTime(), n = A.value.getTime(), r = new Date(D.value);
174
174
  r.setHours(0, 0, 0, 0);
175
175
  let i = new Date(A.value);
@@ -178,24 +178,24 @@ var gt = l({
178
178
  a.setDate(a.getDate() + 1);
179
179
  let o = Math.max(i.getTime(), t), s = Math.min(a.getTime(), n);
180
180
  s > o && e.push({
181
- day: ae(i),
181
+ day: ie(i),
182
182
  startUs: o * 1e3,
183
183
  endUs: s * 1e3
184
184
  }), r.setDate(r.getDate() + 1);
185
185
  }
186
186
  return e;
187
- }), R = m(() => _.value.map((e) => {
188
- let t = te.value.get(e.cameraId) ?? e.cameraId, n = /* @__PURE__ */ new Date(e.startUs / 1e3), r = /* @__PURE__ */ new Date(e.endUs / 1e3), i = n.getHours() === 0 && n.getMinutes() === 0 && e.endUs - e.startUs === 864e8, a = r.getHours() === 0 && r.getMinutes() === 0 ? "24:00" : B(r);
187
+ }), z = m(() => _.value.map((e) => {
188
+ let t = ee.value.get(e.cameraId) ?? e.cameraId, n = /* @__PURE__ */ new Date(e.startUs / 1e3), r = /* @__PURE__ */ new Date(e.endUs / 1e3), i = n.getHours() === 0 && n.getMinutes() === 0 && e.endUs - e.startUs === 864e8, a = r.getHours() === 0 && r.getMinutes() === 0 ? "24:00" : V(r);
189
189
  return {
190
190
  cameraId: e.cameraId,
191
191
  cameraName: t,
192
- name: `${oe(t)}_${e.day}${F.value ? "_timelapse" : ""}.mp4`,
193
- span: i ? s("views.recordings.export.whole_day") : `${B(n)}–${a}`,
192
+ name: `${H(t)}_${e.day}${F.value ? "_timelapse" : ""}.mp4`,
193
+ span: i ? s("views.recordings.export.whole_day") : `${V(n)}–${a}`,
194
194
  bytes: F.value ? e.bytes / Wt : e.bytes
195
195
  };
196
- })), ne = m(() => {
196
+ })), te = m(() => {
197
197
  let e = /* @__PURE__ */ new Map();
198
- for (let t of R.value) {
198
+ for (let t of z.value) {
199
199
  let n = e.get(t.cameraId);
200
200
  n || (n = {
201
201
  cameraId: t.cameraId,
@@ -205,29 +205,29 @@ var gt = l({
205
205
  }, e.set(t.cameraId, n)), n.files.push(t), n.bytes += t.bytes;
206
206
  }
207
207
  return [...e.values()];
208
- }), re = m(() => R.value.reduce((e, t) => e + t.bytes, 0)), ie = m(() => x.value.length === 0 ? s("views.recordings.export.no_cameras") : I.value ? s("views.recordings.export.no_footage") : s("views.recordings.export.no_range"));
209
- function z(e) {
208
+ }), ne = m(() => z.value.reduce((e, t) => e + t.bytes, 0)), re = m(() => x.value.length === 0 ? s("views.recordings.export.no_cameras") : L.value ? s("views.recordings.export.no_footage") : s("views.recordings.export.no_range"));
209
+ function B(e) {
210
210
  return String(e).padStart(2, "0");
211
211
  }
212
- function ae(e) {
213
- return `${e.getFullYear()}-${z(e.getMonth() + 1)}-${z(e.getDate())}`;
212
+ function ie(e) {
213
+ return `${e.getFullYear()}-${B(e.getMonth() + 1)}-${B(e.getDate())}`;
214
214
  }
215
- function B(e) {
216
- return `${z(e.getHours())}:${z(e.getMinutes())}`;
215
+ function V(e) {
216
+ return `${B(e.getHours())}:${B(e.getMinutes())}`;
217
217
  }
218
- function oe(e) {
218
+ function H(e) {
219
219
  return e.replace(/[^a-zA-Z0-9-_]/g, "_");
220
220
  }
221
- function V(e) {
221
+ function U(e) {
222
222
  if (e <= 0) return "0 MB";
223
223
  let t = e / 1e6;
224
224
  if (t < 1e3) return `${t < 10 ? t.toFixed(1) : Math.round(t)} MB`;
225
225
  let n = e / 1e9;
226
226
  return `${n.toFixed(+(n < 10))} GB`;
227
227
  }
228
- async function se() {
228
+ async function ae() {
229
229
  let e = g.value;
230
- if (!e?.nvrExportEstimate || x.value.length === 0 || L.value.length === 0) {
230
+ if (!e?.nvrExportEstimate || x.value.length === 0 || R.value.length === 0) {
231
231
  _.value = [], y.value = !1;
232
232
  return;
233
233
  }
@@ -235,7 +235,7 @@ var gt = l({
235
235
  try {
236
236
  let t = await e.nvrExportEstimate({
237
237
  cameras: x.value,
238
- slices: L.value,
238
+ slices: R.value,
239
239
  quality: w.value
240
240
  });
241
241
  _.value = t.files ?? [];
@@ -245,8 +245,8 @@ var gt = l({
245
245
  y.value = !1;
246
246
  }
247
247
  }
248
- async function ce() {
249
- if (!I.value || x.value.length === 0 || L.value.length === 0) return null;
248
+ async function oe() {
249
+ if (!L.value || x.value.length === 0 || R.value.length === 0) return null;
250
250
  let e = g.value;
251
251
  if (!e?.nvrExportBatch) return c.add({
252
252
  severity: "error",
@@ -255,27 +255,27 @@ var gt = l({
255
255
  }), null;
256
256
  let t = await e.nvrExportBatch({
257
257
  cameras: x.value,
258
- slices: L.value,
258
+ slices: R.value,
259
259
  quality: w.value,
260
260
  timelapseIntervalSec: F.value ? E.value : 0
261
261
  });
262
- await Ce({
262
+ await ve({
263
263
  url: t.url,
264
264
  filename: t.filename
265
265
  });
266
266
  }
267
- return je([
267
+ return Ae([
268
268
  x,
269
- L,
269
+ R,
270
270
  w
271
- ], se, {
271
+ ], ae, {
272
272
  debounce: 350,
273
273
  immediate: !0,
274
274
  deep: !0
275
275
  }), S(() => {
276
- l.disabled && (l.disabled.value = !I.value || x.value.length === 0 || !y.value && R.value.length === 0);
277
- }), t({ onConfirm: ce }), (t, n) => {
278
- let o = Ge, s = He, c = N, l = we, m = J, g = P, _ = De, S = gt;
276
+ l.disabled && (l.disabled.value = !L.value || x.value.length === 0 || !y.value && z.value.length === 0);
277
+ }), t({ onConfirm: oe }), (t, n) => {
278
+ let o = Ge, s = He, c = N, l = ye, m = J, g = P, _ = K, S = gt;
279
279
  return i(), v("div", _t, [
280
280
  C("div", vt, [C("label", yt, a(t.$t("views.recordings.export.cameras")), 1), k(o, {
281
281
  modelValue: p(x),
@@ -309,7 +309,7 @@ var gt = l({
309
309
  fluid: "",
310
310
  "min-date": p(D)
311
311
  }, null, 8, ["modelValue", "min-date"])])]),
312
- p(I) ? (i(), u(c, {
312
+ p(L) ? (i(), u(c, {
313
313
  key: 1,
314
314
  severity: "secondary",
315
315
  variant: "simple",
@@ -348,33 +348,33 @@ var gt = l({
348
348
  "option-value": "value",
349
349
  class: "w-full"
350
350
  }, null, 8, ["modelValue", "options"])])]),
351
- C("div", At, [C("div", jt, [C("label", Mt, a(t.$t("views.recordings.export.result")), 1), p(R).length ? (i(), v("div", Nt, [
352
- C("span", Pt, a(p(R).length) + " " + a(p(R).length === 1 ? t.$t("views.recordings.export.file") : t.$t("views.recordings.export.files")), 1),
351
+ C("div", At, [C("div", jt, [C("label", Mt, a(t.$t("views.recordings.export.result")), 1), p(z).length ? (i(), v("div", Nt, [
352
+ C("span", Pt, a(p(z).length) + " " + a(p(z).length === 1 ? t.$t("views.recordings.export.file") : t.$t("views.recordings.export.files")), 1),
353
353
  n[5] ||= C("span", { class: "text-muted" }, "·", -1),
354
- C("span", Ft, a(p(ee)) + a(V(p(re))), 1),
354
+ C("span", Ft, a(p(I)) + a(U(p(ne))), 1),
355
355
  k(g, {
356
- value: p(R).length === 1 ? "MP4" : "ZIP",
356
+ value: p(z).length === 1 ? "MP4" : "ZIP",
357
357
  severity: "info"
358
358
  }, null, 8, ["value"])
359
- ])) : d("", !0)]), C("div", It, [C("div", Lt, [p(y) && !p(R).length ? (i(), v("div", Rt, [k(_, {
359
+ ])) : d("", !0)]), C("div", It, [C("div", Lt, [p(y) && !p(z).length ? (i(), v("div", Rt, [k(_, {
360
360
  style: {
361
361
  width: "1rem",
362
362
  height: "1rem"
363
363
  },
364
364
  "stroke-width": "4",
365
365
  class: "m-0"
366
- }), C("span", null, a(t.$t("views.recordings.export.estimating")), 1)])) : p(R).length ? (i(!0), v(b, { key: 2 }, r(p(ne), (e) => (i(), v("div", {
366
+ }), C("span", null, a(t.$t("views.recordings.export.estimating")), 1)])) : p(z).length ? (i(!0), v(b, { key: 2 }, r(p(te), (e) => (i(), v("div", {
367
367
  key: e.cameraId,
368
368
  class: "flex flex-col gap-1"
369
- }, [C("span", Bt, a(e.cameraName) + " · " + a(e.files.length) + " · " + a(p(ee)) + a(V(e.bytes)), 1), (i(!0), v(b, null, r(e.files, (e) => (i(), v("div", {
369
+ }, [C("span", Bt, a(e.cameraName) + " · " + a(e.files.length) + " · " + a(p(I)) + a(U(e.bytes)), 1), (i(!0), v(b, null, r(e.files, (e) => (i(), v("div", {
370
370
  key: e.name,
371
371
  class: "flex items-center gap-3 card-inner-background border border-color rounded-lg px-3 py-2"
372
372
  }, [
373
373
  k(S, { class: "w-4 h-4 text-muted shrink-0" }),
374
374
  C("span", Vt, a(e.name), 1),
375
375
  C("span", Ht, a(e.span), 1),
376
- C("span", Ut, a(p(ee)) + a(V(e.bytes)), 1)
377
- ]))), 128))]))), 128)) : (i(), v("div", zt, a(p(ie)), 1))])])])
376
+ C("span", Ut, a(p(I)) + a(U(e.bytes)), 1)
377
+ ]))), 128))]))), 128)) : (i(), v("div", zt, a(p(re)), 1))])])])
378
378
  ]);
379
379
  };
380
380
  }
@@ -447,7 +447,7 @@ var Zt = l({
447
447
  }, Rn = { class: "filter-logic-divider" }, zn = { class: "flex flex-col gap-2" }, Bn = {
448
448
  key: 0,
449
449
  class: "flex flex-col gap-2"
450
- }, Vn = { class: "flex items-center gap-2 cursor-pointer text-sm" }, Hn = 288, Un = /*#__PURE__*/ Te(/* @__PURE__ */ D({
450
+ }, Vn = { class: "flex items-center gap-2 cursor-pointer text-sm" }, Hn = 288, Un = /*#__PURE__*/ Ee(/* @__PURE__ */ D({
451
451
  __name: "RecordingsFilterSidebar",
452
452
  props: {
453
453
  filters: {},
@@ -469,11 +469,11 @@ var Zt = l({
469
469
  "close"
470
470
  ],
471
471
  setup(n, { expose: o, emit: s }) {
472
- let l = /* @__PURE__ */ new Set(["motion", "audio"]), h = n, g = s, { t: S } = Pe(), { xlBreakpoint: w } = ee(), { topbarOffset: E, bottombarHeight: D } = z(), { icons: j, generic: M } = K(), N = j, P = Zt, F = Jt, te = x("sidebarRef"), I = O(h.filters.semanticQuery ?? ""), L = O(""), R = A({
472
+ let l = /* @__PURE__ */ new Set(["motion", "audio"]), h = n, g = s, { t: S } = Ne(), { xlBreakpoint: w } = B(), { topbarOffset: E, bottombarHeight: D } = ge(), { icons: j, generic: M } = Re(), N = j, P = Zt, I = Jt, ee = x("sidebarRef"), L = O(h.filters.semanticQuery ?? ""), R = O(""), z = A({
473
473
  eventTypes: !0,
474
474
  attributes: !0,
475
475
  sensorEvents: !0
476
- }), ne = m(() => h.isOpen ? Hn : 0), re = m(() => {
476
+ }), te = m(() => h.isOpen ? Hn : 0), ne = m(() => {
477
477
  let e = [...new Set(h.cameras.map((e) => e.room).filter((e) => !!e))];
478
478
  return e.sort((e, t) => e.localeCompare(t)), e.map((e) => ({
479
479
  id: e,
@@ -485,9 +485,9 @@ var Zt = l({
485
485
  id: e.id,
486
486
  name: e.name
487
487
  }));
488
- }), ae = m(() => {
488
+ }), V = m(() => {
489
489
  if (h.filters.cameraIds.length === 1) return h.cameras.find((e) => e.id === h.filters.cameraIds[0])?.name;
490
- }), B = m(() => h.filters.contentKind === "episodes"), oe = m(() => [
490
+ }), H = m(() => h.filters.contentKind === "episodes"), U = m(() => [
491
491
  {
492
492
  label: S("views.recordings.content_kind_all"),
493
493
  value: "all"
@@ -500,13 +500,13 @@ var Zt = l({
500
500
  label: S("views.recordings.content_kind_episodes"),
501
501
  value: "episodes"
502
502
  }
503
- ]), V = m(() => [{
503
+ ]), ae = m(() => [{
504
504
  label: S("views.recordings.filter_and"),
505
505
  value: "and"
506
506
  }, {
507
507
  label: S("views.recordings.filter_or"),
508
508
  value: "or"
509
- }]), se = m(() => [
509
+ }]), oe = m(() => [
510
510
  {
511
511
  label: S("views.recordings.time_1h"),
512
512
  value: "1h"
@@ -523,37 +523,37 @@ var Zt = l({
523
523
  label: S("views.recordings.time_1m"),
524
524
  value: "1m"
525
525
  }
526
- ]), ce = m(() => Ie.filter((e) => !l.has(e)).map((e) => ({
526
+ ]), se = m(() => Fe.filter((e) => !l.has(e)).map((e) => ({
527
527
  label: S(`views.recordings.type_${e}`),
528
528
  value: e,
529
529
  icon: j[e] ?? M
530
- }))), H = m(() => ({
530
+ }))), W = m(() => ({
531
531
  label: S("views.recordings.type_other"),
532
- value: ve,
532
+ value: re,
533
533
  icon: j.other ?? M
534
- })), le = m(() => ot.map((e) => ({
534
+ })), ce = m(() => ot.map((e) => ({
535
535
  label: S(Ye(e)),
536
536
  value: e,
537
537
  icon: N[e] ?? M
538
- }))), ue = m(() => Fe.map((e) => ({
538
+ }))), le = m(() => Pe.map((e) => ({
539
539
  label: S(Y(e)),
540
540
  value: e,
541
541
  icon: j[e] ?? M
542
- }))), de = m(() => Le.map((e) => ({
542
+ }))), ue = m(() => Ie.map((e) => ({
543
543
  label: S(Xe(e)),
544
544
  value: e,
545
545
  icon: j[e] ?? M
546
546
  })));
547
- function U(e, t) {
547
+ function G(e, t) {
548
548
  g("update:filters", {
549
549
  ...h.filters,
550
550
  [e]: t
551
551
  });
552
552
  }
553
- let fe = ke((e) => {
554
- U("search", e);
553
+ let K = Oe((e) => {
554
+ G("search", e);
555
555
  }, 300);
556
- function pe(e) {
556
+ function de(e) {
557
557
  let t = new Set(h.cameras.filter((t) => e.length === 0 || e.includes(t.room ?? "")).map((e) => e.id));
558
558
  g("update:filters", {
559
559
  ...h.filters,
@@ -561,46 +561,46 @@ var Zt = l({
561
561
  cameraIds: h.filters.cameraIds.filter((e) => t.has(e))
562
562
  });
563
563
  }
564
- function he() {
565
- let e = L.value.trim();
564
+ function fe() {
565
+ let e = R.value.trim();
566
566
  e && !h.assistantSearchLoading && g("assistant-search", e);
567
567
  }
568
- function ge() {
569
- let e = I.value.trim();
570
- U("semanticQuery", e), g("semantic-search", e);
568
+ function me() {
569
+ let e = L.value.trim();
570
+ G("semanticQuery", e), g("semantic-search", e);
571
571
  }
572
- function _e(e) {
572
+ function he(e) {
573
573
  let t = [...h.filters.eventTypes], n = t.indexOf(e);
574
- n >= 0 ? t.splice(n, 1) : t.push(e), U("eventTypes", t);
574
+ n >= 0 ? t.splice(n, 1) : t.push(e), G("eventTypes", t);
575
575
  }
576
- function be(e) {
576
+ function _e(e) {
577
577
  let t = [...h.filters.audioLabels], n = t.indexOf(e);
578
- n >= 0 ? t.splice(n, 1) : t.push(e), U("audioLabels", t);
578
+ n >= 0 ? t.splice(n, 1) : t.push(e), G("audioLabels", t);
579
579
  }
580
- function Se(e) {
580
+ function ve(e) {
581
581
  let t = [...h.filters.sensorEvents], n = t.indexOf(e);
582
- n >= 0 ? t.splice(n, 1) : t.push(e), U("sensorEvents", t);
582
+ n >= 0 ? t.splice(n, 1) : t.push(e), G("sensorEvents", t);
583
583
  }
584
- function Ce(e) {
584
+ function be(e) {
585
585
  let t = [...h.filters.hasAttributes], n = t.indexOf(e);
586
- n >= 0 ? t.splice(n, 1) : t.push(e), U("hasAttributes", t);
586
+ n >= 0 ? t.splice(n, 1) : t.push(e), G("hasAttributes", t);
587
587
  }
588
- function G(e) {
589
- R[e] = !R[e];
588
+ function Se(e) {
589
+ z[e] = !z[e];
590
590
  }
591
- return _(I, (e) => {
592
- !e?.trim() && h.filters.semanticQuery && U("semanticQuery", "");
593
- }), Ne(te, (e) => {
591
+ return _(L, (e) => {
592
+ !e?.trim() && h.filters.semanticQuery && G("semanticQuery", "");
593
+ }), Me(ee, (e) => {
594
594
  let t = e.target;
595
595
  t.closest("#recordings-sidebar-toggle") || t.closest("[data-pc-section=\"overlay\"], [data-pc-section=\"panel\"], .p-connected-overlay") || h.isOpen && (h.isOverlay || !w.value) && g("close");
596
- }), o({ sidebarWidth: ne }), (o, s) => {
597
- let l = we, m = Ve, h = ye, g = Ke, _ = ze, x = me, S = Re, w = Ge, O = W, A = xe, j = q;
596
+ }), o({ sidebarWidth: te }), (o, s) => {
597
+ let l = ye, m = Ve, h = F, g = Ke, _ = ze, x = Ce, S = Le, w = Ge, O = xe, A = pe, j = q;
598
598
  return i(), v("nav", {
599
599
  ref_key: "sidebarRef",
600
- ref: te,
600
+ ref: ee,
601
601
  class: "recordings-sidebar fixed transition-all duration-200 overflow-x-hidden overflow-y-auto md:!pl-0 pl-safe pb-safe flex flex-col z-4",
602
602
  style: y({
603
- width: `${p(ne)}px`,
603
+ width: `${p(te)}px`,
604
604
  borderRightWidth: n.isOpen ? "1px" : "0px",
605
605
  paddingBottom: `calc(var(--safe-area-inset-top) + var(--safe-area-inset-bottom) + ${p(D)}px + ${p(E)}px)`
606
606
  })
@@ -612,24 +612,24 @@ var Zt = l({
612
612
  C("label", $t, a(o.$t("views.recordings.content_kind")), 1),
613
613
  k(l, {
614
614
  "model-value": n.filters.contentKind,
615
- options: p(oe),
615
+ options: p(U),
616
616
  "option-label": "label",
617
617
  "option-value": "value",
618
618
  "allow-empty": !1,
619
619
  class: "content-kind-toggle",
620
- "onUpdate:modelValue": s[0] ||= (e) => U("contentKind", e)
620
+ "onUpdate:modelValue": s[0] ||= (e) => G("contentKind", e)
621
621
  }, null, 8, ["model-value", "options"]),
622
- p(B) ? (i(), v("span", en, a(o.$t("views.recordings.content_kind_episodes_hint")), 1)) : d("", !0)
622
+ p(H) ? (i(), v("span", en, a(o.$t("views.recordings.content_kind_episodes_hint")), 1)) : d("", !0)
623
623
  ]),
624
624
  s[25] ||= C("div", { class: "sidebar-divider" }, null, -1),
625
- p(B) ? d("", !0) : (i(), v(b, { key: 0 }, [
625
+ p(H) ? d("", !0) : (i(), v(b, { key: 0 }, [
626
626
  C("div", tn, [
627
627
  C("label", nn, a(o.$t("views.recordings.search")), 1),
628
628
  C("span", rn, [k(m, {
629
629
  "model-value": n.filters.search,
630
630
  placeholder: o.$t("views.recordings.search_placeholder"),
631
631
  class: "w-full text-sm",
632
- "onUpdate:modelValue": s[1] ||= (e) => p(fe)(e)
632
+ "onUpdate:modelValue": s[1] ||= (e) => p(K)(e)
633
633
  }, null, 8, ["model-value", "placeholder"])]),
634
634
  C("span", an, a(o.$t("views.recordings.result_count", { count: n.resultCount })), 1)
635
635
  ]),
@@ -637,8 +637,8 @@ var Zt = l({
637
637
  C("div", on, [
638
638
  C("label", sn, [k(h, { class: "w-3.5 h-3.5" }), T(" " + a(o.$t("views.recordings.semantic_search")), 1)]),
639
639
  k(g, {
640
- modelValue: p(I),
641
- "onUpdate:modelValue": s[2] ||= (e) => f(I) ? I.value = e : null,
640
+ modelValue: p(L),
641
+ "onUpdate:modelValue": s[2] ||= (e) => f(L) ? L.value = e : null,
642
642
  placeholder: o.$t("views.recordings.semantic_search_placeholder"),
643
643
  class: "w-full text-sm semantic-textarea",
644
644
  rows: "3",
@@ -655,8 +655,8 @@ var Zt = l({
655
655
  size: "small",
656
656
  class: "w-full text-xs",
657
657
  loading: n.semanticSearchLoading,
658
- disabled: !n.semanticSearchAvailable || !p(I)?.trim(),
659
- onClick: ge
658
+ disabled: !n.semanticSearchAvailable || !p(L)?.trim(),
659
+ onClick: me
660
660
  }, null, 8, [
661
661
  "label",
662
662
  "loading",
@@ -669,7 +669,7 @@ var Zt = l({
669
669
  max: 1,
670
670
  step: .05,
671
671
  class: "flex-1",
672
- "onUpdate:modelValue": s[3] ||= (e) => U("minSemanticScore", e)
672
+ "onUpdate:modelValue": s[3] ||= (e) => G("minSemanticScore", e)
673
673
  }, null, 8, ["model-value"]), C("span", fn, a(Math.round(n.filters.minSemanticScore * 100)) + "%", 1)])])) : d("", !0)
674
674
  ]),
675
675
  s[17] ||= C("div", { class: "sidebar-divider" }, null, -1)
@@ -677,12 +677,12 @@ var Zt = l({
677
677
  n.assistantSearchAvailable ? (i(), v(b, { key: 1 }, [C("div", pn, [
678
678
  C("label", mn, [k(S, { class: "w-3.5 h-3.5" }), T(" " + a(o.$t("views.recordings.assistant_search")), 1)]),
679
679
  k(m, {
680
- modelValue: p(L),
681
- "onUpdate:modelValue": s[4] ||= (e) => f(L) ? L.value = e : null,
680
+ modelValue: p(R),
681
+ "onUpdate:modelValue": s[4] ||= (e) => f(R) ? R.value = e : null,
682
682
  placeholder: o.$t("views.recordings.assistant_search_placeholder"),
683
683
  class: "w-full text-sm",
684
684
  disabled: n.assistantSearchLoading,
685
- onKeydown: t(e(he, ["prevent"]), ["enter"])
685
+ onKeydown: t(e(fe, ["prevent"]), ["enter"])
686
686
  }, null, 8, [
687
687
  "modelValue",
688
688
  "placeholder",
@@ -696,8 +696,8 @@ var Zt = l({
696
696
  size: "small",
697
697
  class: "w-full text-xs",
698
698
  loading: n.assistantSearchLoading,
699
- disabled: !p(L).trim(),
700
- onClick: he
699
+ disabled: !p(R).trim(),
700
+ onClick: fe
701
701
  }, null, 8, [
702
702
  "label",
703
703
  "loading",
@@ -705,9 +705,9 @@ var Zt = l({
705
705
  ]),
706
706
  n.assistantSearchNote ? (i(), v("span", hn, a(n.assistantSearchNote), 1)) : d("", !0)
707
707
  ]), s[18] ||= C("div", { class: "sidebar-divider" }, null, -1)], 64)) : d("", !0),
708
- p(re).length > 1 ? (i(), v("div", gn, [C("label", _n, a(o.$t("views.recordings.rooms")), 1), k(w, {
708
+ p(ne).length > 1 ? (i(), v("div", gn, [C("label", _n, a(o.$t("views.recordings.rooms")), 1), k(w, {
709
709
  "model-value": n.filters.rooms,
710
- options: p(re),
710
+ options: p(ne),
711
711
  "option-label": "name",
712
712
  "option-value": "id",
713
713
  placeholder: o.$t("views.recordings.all_rooms"),
@@ -715,7 +715,7 @@ var Zt = l({
715
715
  "max-selected-labels": 2,
716
716
  "show-toggle-all": !1,
717
717
  pt: { overlay: { style: "position: fixed" } },
718
- "onUpdate:modelValue": s[5] ||= (e) => pe(e)
718
+ "onUpdate:modelValue": s[5] ||= (e) => de(e)
719
719
  }, null, 8, [
720
720
  "model-value",
721
721
  "options",
@@ -731,20 +731,20 @@ var Zt = l({
731
731
  "max-selected-labels": 2,
732
732
  "show-toggle-all": !1,
733
733
  pt: { overlay: { style: "position: fixed" } },
734
- "onUpdate:modelValue": s[6] ||= (e) => U("cameraIds", e)
734
+ "onUpdate:modelValue": s[6] ||= (e) => G("cameraIds", e)
735
735
  }, null, 8, [
736
736
  "model-value",
737
737
  "options",
738
738
  "placeholder"
739
739
  ])]),
740
- p(ae) && !p(B) ? (i(), v(b, { key: 3 }, [s[19] ||= C("div", { class: "sidebar-divider" }, null, -1), C("div", bn, [
740
+ p(V) && !p(H) ? (i(), v(b, { key: 3 }, [s[19] ||= C("div", { class: "sidebar-divider" }, null, -1), C("div", bn, [
741
741
  C("label", xn, a(o.$t("views.recordings.grid_search")), 1),
742
742
  C("div", Sn, [k(O, {
743
- camera: p(ae),
743
+ camera: p(V),
744
744
  "object-fit": "cover"
745
745
  }, null, 8, ["camera"]), k(A, {
746
746
  "model-value": n.filters.gridRegions,
747
- "onUpdate:modelValue": s[7] ||= (e) => U("gridRegions", e)
747
+ "onUpdate:modelValue": s[7] ||= (e) => G("gridRegions", e)
748
748
  }, null, 8, ["model-value"])]),
749
749
  k(_, {
750
750
  label: o.$t("views.recordings.grid_clear"),
@@ -753,54 +753,54 @@ var Zt = l({
753
753
  size: "small",
754
754
  class: "w-full text-xs",
755
755
  disabled: n.filters.gridRegions.length === 0,
756
- onClick: s[8] ||= (e) => U("gridRegions", [])
756
+ onClick: s[8] ||= (e) => G("gridRegions", [])
757
757
  }, null, 8, ["label", "disabled"])
758
758
  ])], 64)) : d("", !0),
759
- p(B) ? d("", !0) : (i(), v("div", Cn)),
760
- p(B) ? d("", !0) : (i(), v("div", wn, [C("label", Tn, a(o.$t("views.recordings.confidence")), 1), C("div", En, [k(x, {
759
+ p(H) ? d("", !0) : (i(), v("div", Cn)),
760
+ p(H) ? d("", !0) : (i(), v("div", wn, [C("label", Tn, a(o.$t("views.recordings.confidence")), 1), C("div", En, [k(x, {
761
761
  "model-value": n.filters.minConfidence,
762
762
  min: 0,
763
763
  max: 1,
764
764
  step: .05,
765
765
  class: "flex-1",
766
- "onUpdate:modelValue": s[9] ||= (e) => U("minConfidence", e)
766
+ "onUpdate:modelValue": s[9] ||= (e) => G("minConfidence", e)
767
767
  }, null, 8, ["model-value"]), C("span", Dn, a(Math.round(n.filters.minConfidence * 100)) + "%", 1)])])),
768
768
  s[26] ||= C("div", { class: "sidebar-divider" }, null, -1),
769
- C("div", On, [C("label", kn, a(o.$t("views.recordings.time_range")), 1), C("div", An, [(i(!0), v(b, null, r(p(se), (e) => (i(), u(_, {
769
+ C("div", On, [C("label", kn, a(o.$t("views.recordings.time_range")), 1), C("div", An, [(i(!0), v(b, null, r(p(oe), (e) => (i(), u(_, {
770
770
  key: e.value,
771
771
  label: e.label,
772
772
  severity: n.filters.timeRange === e.value ? void 0 : "secondary",
773
773
  outlined: n.filters.timeRange !== e.value,
774
774
  size: "small",
775
775
  class: "text-xs flex-1 min-w-0",
776
- onClick: (t) => U("timeRange", n.filters.timeRange === e.value ? null : e.value)
776
+ onClick: (t) => G("timeRange", n.filters.timeRange === e.value ? null : e.value)
777
777
  }, null, 8, [
778
778
  "label",
779
779
  "severity",
780
780
  "outlined",
781
781
  "onClick"
782
782
  ]))), 128))])]),
783
- p(B) ? d("", !0) : (i(), v(b, { key: 6 }, [
783
+ p(H) ? d("", !0) : (i(), v(b, { key: 6 }, [
784
784
  s[24] ||= C("div", { class: "sidebar-divider" }, null, -1),
785
785
  C("div", jn, [C("button", {
786
786
  class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
787
- onClick: s[10] ||= (e) => G("sensorEvents")
788
- }, [C("span", null, a(o.$t("views.recordings.sensor_events")), 1), (i(), u(c(p(R).sensorEvents ? p(P) : p(F)), { class: "w-4 h-4 text-muted" }))]), p(R).sensorEvents ? (i(), v("div", Mn, [(i(!0), v(b, null, r(p(le), (e) => (i(), v(b, { key: e.value }, [C("label", Nn, [
787
+ onClick: s[10] ||= (e) => Se("sensorEvents")
788
+ }, [C("span", null, a(o.$t("views.recordings.sensor_events")), 1), (i(), u(c(p(z).sensorEvents ? p(P) : p(I)), { class: "w-4 h-4 text-muted" }))]), p(z).sensorEvents ? (i(), v("div", Mn, [(i(!0), v(b, null, r(p(ce), (e) => (i(), v(b, { key: e.value }, [C("label", Nn, [
789
789
  k(j, {
790
790
  "model-value": n.filters.sensorEvents.includes(e.value),
791
791
  binary: !0,
792
- "onUpdate:modelValue": (t) => Se(e.value)
792
+ "onUpdate:modelValue": (t) => ve(e.value)
793
793
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
794
794
  (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
795
795
  C("span", null, a(e.label), 1)
796
- ]), e.value === "audio" && n.filters.sensorEvents.includes("audio") ? (i(), v("div", Pn, [(i(!0), v(b, null, r(p(ue), (e) => (i(), v("label", {
796
+ ]), e.value === "audio" && n.filters.sensorEvents.includes("audio") ? (i(), v("div", Pn, [(i(!0), v(b, null, r(p(le), (e) => (i(), v("label", {
797
797
  key: e.value,
798
798
  class: "flex items-center gap-2 cursor-pointer text-sm"
799
799
  }, [
800
800
  k(j, {
801
801
  "model-value": n.filters.audioLabels.includes(e.value),
802
802
  binary: !0,
803
- "onUpdate:modelValue": (t) => be(e.value)
803
+ "onUpdate:modelValue": (t) => _e(e.value)
804
804
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
805
805
  (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
806
806
  C("span", null, a(e.label), 1)
@@ -809,26 +809,26 @@ var Zt = l({
809
809
  s[20] ||= C("div", { class: "filter-logic-line" }, null, -1),
810
810
  k(l, {
811
811
  "model-value": n.filters.filterLogicTriggers,
812
- options: p(V),
812
+ options: p(ae),
813
813
  "option-label": "label",
814
814
  "option-value": "value",
815
815
  "allow-empty": !1,
816
816
  class: "filter-logic-toggle",
817
- "onUpdate:modelValue": s[11] ||= (e) => U("filterLogicTriggers", e)
817
+ "onUpdate:modelValue": s[11] ||= (e) => G("filterLogicTriggers", e)
818
818
  }, null, 8, ["model-value", "options"]),
819
819
  s[21] ||= C("div", { class: "filter-logic-line" }, null, -1)
820
820
  ]),
821
821
  C("div", In, [C("button", {
822
822
  class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
823
- onClick: s[12] ||= (e) => G("eventTypes")
824
- }, [C("span", null, a(o.$t("views.recordings.event_type")), 1), (i(), u(c(p(R).eventTypes ? p(P) : p(F)), { class: "w-4 h-4 text-muted" }))]), p(R).eventTypes ? (i(), v("div", Ln, [(i(!0), v(b, null, r(p(ce), (e) => (i(), v("label", {
823
+ onClick: s[12] ||= (e) => Se("eventTypes")
824
+ }, [C("span", null, a(o.$t("views.recordings.event_type")), 1), (i(), u(c(p(z).eventTypes ? p(P) : p(I)), { class: "w-4 h-4 text-muted" }))]), p(z).eventTypes ? (i(), v("div", Ln, [(i(!0), v(b, null, r(p(se), (e) => (i(), v("label", {
825
825
  key: e.value,
826
826
  class: "flex items-center gap-2 cursor-pointer text-sm"
827
827
  }, [
828
828
  k(j, {
829
829
  "model-value": n.filters.eventTypes.includes(e.value),
830
830
  binary: !0,
831
- "onUpdate:modelValue": (t) => _e(e.value)
831
+ "onUpdate:modelValue": (t) => he(e.value)
832
832
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
833
833
  (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
834
834
  C("span", null, a(e.label), 1)
@@ -837,37 +837,37 @@ var Zt = l({
837
837
  s[22] ||= C("div", { class: "filter-logic-line" }, null, -1),
838
838
  k(l, {
839
839
  "model-value": n.filters.filterLogicAttributes,
840
- options: p(V),
840
+ options: p(ae),
841
841
  "option-label": "label",
842
842
  "option-value": "value",
843
843
  "allow-empty": !1,
844
844
  class: "filter-logic-toggle",
845
- "onUpdate:modelValue": s[13] ||= (e) => U("filterLogicAttributes", e)
845
+ "onUpdate:modelValue": s[13] ||= (e) => G("filterLogicAttributes", e)
846
846
  }, null, 8, ["model-value", "options"]),
847
847
  s[23] ||= C("div", { class: "filter-logic-line" }, null, -1)
848
848
  ]),
849
849
  C("div", zn, [C("button", {
850
850
  class: "sidebar-section-title flex items-center justify-between w-full cursor-pointer",
851
- onClick: s[14] ||= (e) => G("attributes")
852
- }, [C("span", null, a(o.$t("views.recordings.attributes")), 1), (i(), u(c(p(R).attributes ? p(P) : p(F)), { class: "w-4 h-4 text-muted" }))]), p(R).attributes ? (i(), v("div", Bn, [(i(!0), v(b, null, r(p(de), (e) => (i(), v("label", {
851
+ onClick: s[14] ||= (e) => Se("attributes")
852
+ }, [C("span", null, a(o.$t("views.recordings.attributes")), 1), (i(), u(c(p(z).attributes ? p(P) : p(I)), { class: "w-4 h-4 text-muted" }))]), p(z).attributes ? (i(), v("div", Bn, [(i(!0), v(b, null, r(p(ue), (e) => (i(), v("label", {
853
853
  key: e.value,
854
854
  class: "flex items-center gap-2 cursor-pointer text-sm"
855
855
  }, [
856
856
  k(j, {
857
857
  "model-value": n.filters.hasAttributes.includes(e.value),
858
858
  binary: !0,
859
- "onUpdate:modelValue": (t) => Ce(e.value)
859
+ "onUpdate:modelValue": (t) => be(e.value)
860
860
  }, null, 8, ["model-value", "onUpdate:modelValue"]),
861
861
  (i(), u(c(e.icon), { class: "w-4 h-4 text-muted" })),
862
862
  C("span", null, a(e.label), 1)
863
863
  ]))), 128)), C("label", Vn, [
864
864
  k(j, {
865
- "model-value": n.filters.eventTypes.includes(p(H).value),
865
+ "model-value": n.filters.eventTypes.includes(p(W).value),
866
866
  binary: !0,
867
- "onUpdate:modelValue": s[15] ||= (e) => _e(p(H).value)
867
+ "onUpdate:modelValue": s[15] ||= (e) => he(p(W).value)
868
868
  }, null, 8, ["model-value"]),
869
- (i(), u(c(p(H).icon), { class: "w-4 h-4 text-muted" })),
870
- C("span", null, a(p(H).label), 1)
869
+ (i(), u(c(p(W).icon), { class: "w-4 h-4 text-muted" })),
870
+ C("span", null, a(p(W).label), 1)
871
871
  ])])) : d("", !0)])
872
872
  ], 64))
873
873
  ], 4)], 4);
@@ -888,15 +888,15 @@ var Zt = l({
888
888
  }, Zn = { class: "text-muted text-sm" }, Qn = 288, $n = /* @__PURE__ */ D({
889
889
  __name: "Recordings",
890
890
  setup(e) {
891
- let t = new Je(), n = new re(), r = new ge(), c = Se(), l = he(), { bottombarHeight: f } = z(), { status: S, checking: T } = U(), { openEventTrace: D } = fe(), A = ne("@camera.ui/camera-ui-nvr"), N = G(), { t: P, locale: me } = Pe(), { smBreakpoint: W, xlBreakpoint: ve, mdBreakpoint: xe } = ee(), { registerScrollToTop: Ce } = ue();
891
+ let t = new Je(), n = new Se(), r = new fe(), c = me(), l = de(), { bottombarHeight: f } = ge(), { status: S, checking: T } = ne(), { openEventTrace: D } = be(), A = oe("@camera.ui/camera-ui-nvr"), N = Te(), { t: P, locale: re } = Ne(), { smBreakpoint: K, xlBreakpoint: pe, mdBreakpoint: ve } = B(), { registerScrollToTop: ye } = ce();
892
892
  if (typeof VideoDecoder < "u") {
893
893
  let e = ie({ cacheSize: 20 });
894
- o(I, e), Ae(() => e.dispose());
894
+ o(he, e), ke(() => e.dispose());
895
895
  }
896
- let { results: we, isSearching: Te, isAvailable: De, hasSearched: ke, search: je, clear: Ne } = le(), { data: Fe } = t.getAssistantStatusQuery(), { data: Ie } = n.getCamerasQuery({
896
+ let { results: xe, isSearching: Ce, isAvailable: Ee, hasSearched: Oe, search: Ae, clear: Me } = le(), { data: Pe } = t.getAssistantStatusQuery(), { data: Fe } = n.getCamerasQuery({
897
897
  page: 1,
898
898
  pageSize: -1
899
- }), { data: Le } = r.getUserQuery(m(() => l.user?.username ?? "")), Re = {
899
+ }), { data: Ie } = r.getUserQuery(m(() => l.user?.username ?? "")), Le = {
900
900
  contentKind: "all",
901
901
  favoritesOnly: !1,
902
902
  search: "",
@@ -915,17 +915,16 @@ var Zt = l({
915
915
  minConfidence: .5,
916
916
  minSemanticScore: .5,
917
917
  onlyWithRecordings: !0
918
- }, K = {
918
+ }, Re = {
919
919
  "1h": 36e5,
920
920
  "1d": 864e5,
921
921
  "1w": 6048e5,
922
922
  "1m": 2592e6
923
- }, Be = x("gridRef"), Ve = x("viewMenuRef"), q = O("closed"), He = O(!1), J = O({ ...Re }), We = O(!1), Ge = O(""), Ke = E({
924
- state: "ended",
923
+ }, Be = x("gridRef"), Ve = x("viewMenuRef"), q = O("closed"), He = O(!1), J = O({ ...Le }), We = O(!1), Ge = O(""), Ke = E({
925
924
  hasDetections: !0,
926
925
  withRecordingInfo: !0,
927
926
  hasRecording: !0
928
- }), Ye = JSON.stringify(Ke.value), Y = O(!1), Xe = E([]), ot = O(null), st = x("reindexAnchorRef"), { left: ct } = Me(st), ut = !1, X = m(() => ve.value ? !0 : q.value === "opened"), dt = m(() => xe.value), ft = te(() => Be.value?.scrollY ?? 0), pt = m(() => X.value && dt.value ? !0 : ft.value && !S.value?.running), ht = m(() => xe.value ? "0px" : X.value ? `${Qn}px` : "0px"), Z = m(() => (Ie.value?.result ?? []).map((e) => ({
927
+ }), Ye = JSON.stringify(Ke.value), Y = O(!1), Xe = E([]), ot = O(null), st = x("reindexAnchorRef"), { left: ct } = je(st), ut = !1, X = m(() => pe.value ? !0 : q.value === "opened"), dt = m(() => ve.value), ft = ee(() => Be.value?.scrollY ?? 0), pt = m(() => X.value && dt.value ? !0 : ft.value && !S.value?.running), ht = m(() => ve.value ? "0px" : X.value ? `${Qn}px` : "0px"), Z = m(() => (Fe.value?.result ?? []).map((e) => ({
929
928
  id: e._id,
930
929
  name: e.name,
931
930
  room: e.room
@@ -935,14 +934,14 @@ var Zt = l({
935
934
  return e;
936
935
  }), _t = m(() => {
937
936
  let e = /* @__PURE__ */ new Map();
938
- for (let t of Ie.value?.result ?? []) e.set(t._id, t);
937
+ for (let t of Fe.value?.result ?? []) e.set(t._id, t);
939
938
  return e;
940
939
  }), vt = m(() => {
941
940
  let e = J.value.rooms;
942
941
  return (e.length > 0 ? Z.value.filter((t) => e.includes(t.room ?? "")) : Z.value).map((e) => e.id);
943
942
  }), yt = m(() => J.value.cameraIds.filter((e) => vt.value.includes(e))), bt = m(() => vt.value);
944
- Ce(() => Be.value?.scrollToTop());
945
- let { events: xt, isLoading: St, hasMore: Ct, loadMore: wt, loadThumbnails: Tt, deleteEvents: Et, pluginUnavailable: Dt } = ae({
943
+ ye(() => Be.value?.scrollToTop());
944
+ let { events: xt, isLoading: St, hasMore: Ct, loadMore: wt, loadThumbnails: Tt, deleteEvents: Et, pluginUnavailable: Dt } = V({
946
945
  availableCameraIds: bt,
947
946
  cameraIds: yt,
948
947
  realtime: !0,
@@ -951,27 +950,27 @@ var Zt = l({
951
950
  withEpisodes: !0
952
951
  }), Q = m(() => {
953
952
  let e = /* @__PURE__ */ new Map();
954
- for (let t of we.value ?? []) {
953
+ for (let t of xe.value ?? []) {
955
954
  let n = e.get(t.eventId);
956
955
  (!n || t.score > n) && e.set(t.eventId, t.score);
957
956
  }
958
957
  return e;
959
- }), Ot = m(() => ke.value), $ = m(() => {
960
- let e = xt.value.filter((e) => e.state === "ended"), t = J.value;
961
- if (t.timeRange && K[t.timeRange]) {
962
- let n = Date.now() - K[t.timeRange];
958
+ }), Ot = m(() => Oe.value), $ = m(() => {
959
+ let e = xt.value.filter((e) => e.state === "ended" || (e.segments?.length ?? 0) > 0), t = J.value;
960
+ if (t.timeRange && Re[t.timeRange]) {
961
+ let n = Date.now() - Re[t.timeRange];
963
962
  e = e.filter((e) => e.startTime >= n);
964
963
  }
965
964
  return t.gridRegions.length > 0 && (e = e.filter((e) => e.segments.some((e) => e.detections.some((e) => e.box && nt(e.box, t.gridRegions))))), t.favoritesOnly && (e = e.filter((e) => e.favorite)), Ot.value && (e = e.filter((e) => {
966
965
  let n = Q.value.get(e.id);
967
966
  return n != null && n >= t.minSemanticScore;
968
967
  }), e.sort((e, t) => (Q.value.get(t.id) ?? 0) - (Q.value.get(e.id) ?? 0))), e;
969
- }), kt = m(() => J.value.contentKind === "episodes"), At = m(() => Fe.value?.state === "ready"), jt = m(() => {
968
+ }), kt = m(() => J.value.contentKind === "episodes"), At = m(() => Pe.value?.state === "ready"), jt = m(() => {
970
969
  if (J.value.contentKind === "events") return [];
971
970
  A.storeVersion.value;
972
971
  let e = J.value;
973
972
  if (!kt.value && (Y.value || Ot.value || e.gridRegions.length > 0 || e.search.trim() !== "" || e.eventTypes.length > 0 || e.audioLabels.length > 0 || e.hasAttributes.length > 0 || e.sensorEvents.length > 0 || e.minConfidence !== .5)) return [];
974
- let t = yt.value.length > 0 ? yt.value : bt.value, n = e.timeRange && K[e.timeRange] ? Date.now() - K[e.timeRange] : 0, r = Infinity;
973
+ let t = yt.value.length > 0 ? yt.value : bt.value, n = e.timeRange && Re[e.timeRange] ? Date.now() - Re[e.timeRange] : 0, r = Infinity;
975
974
  if (e.timeRange === "custom" && e.customDateRange && (n = Math.max(n, e.customDateRange[0].getTime()), r = e.customDateRange[1].getTime()), Ct.value && !kt.value) {
976
975
  let e = Infinity;
977
976
  for (let t of xt.value) e = Math.min(e, t.thumbnailAt ?? t.startTime);
@@ -992,10 +991,10 @@ var Zt = l({
992
991
  key: e.id
993
992
  }));
994
993
  return jt.value.length && (e.push(...jt.value), e.sort((e, t) => $e(t) - $e(e))), e;
995
- }), Nt = m(() => be(void 0, "admin")), { selectionMode: Pt, selectedIds: Ft, allSelected: It, bulkBusy: Lt, enterSelectionMode: Rt, exitSelectionMode: zt, toggleSelectAll: Bt, toggleSelection: Vt } = Oe($, (e) => e.id);
996
- function Ht() {
997
- let e = [...Ft.value];
998
- e.length && !Lt.value && c.openTextDialog({
994
+ }), Nt = m(() => we(void 0, "admin")), Pt = m(() => $.value.filter((e) => e.state === "ended")), { selectionMode: Ft, selectedIds: It, allSelected: Lt, bulkBusy: Rt, enterSelectionMode: zt, exitSelectionMode: Bt, toggleSelectAll: Vt, toggleSelection: Ht } = De(Pt, (e) => e.id);
995
+ function Ut() {
996
+ let e = [...It.value];
997
+ e.length && !Rt.value && c.openTextDialog({
999
998
  data: {
1000
999
  title: P("components.dialog.title.confirm"),
1001
1000
  contentText: P("views.recordings.delete_selected_confirm", { count: e.length }),
@@ -1003,9 +1002,9 @@ var Zt = l({
1003
1002
  confirmButtonProps: { severity: "danger" }
1004
1003
  },
1005
1004
  onConfirm: async () => {
1006
- Lt.value = !0;
1005
+ Rt.value = !0;
1007
1006
  try {
1008
- await Et(e), zt(), N.add({
1007
+ await Et(e), Bt(), N.add({
1009
1008
  severity: "success",
1010
1009
  detail: P("views.recordings.delete_selected_done", { count: e.length }),
1011
1010
  life: 5e3
@@ -1017,12 +1016,12 @@ var Zt = l({
1017
1016
  life: 5e3
1018
1017
  });
1019
1018
  } finally {
1020
- Lt.value = !1;
1019
+ Rt.value = !1;
1021
1020
  }
1022
1021
  }
1023
1022
  });
1024
1023
  }
1025
- let Ut = m(() => [
1024
+ let Wt = m(() => [
1026
1025
  {
1027
1026
  key: "ungroup",
1028
1027
  label: P("views.recordings.ungroup"),
@@ -1060,14 +1059,14 @@ var Zt = l({
1060
1059
  }
1061
1060
  }] : []
1062
1061
  ]);
1063
- function Wt() {
1062
+ function Kt() {
1064
1063
  c.openComponentDialog(mt, { data: {
1065
1064
  title: P("views.recordings.reindex.title"),
1066
1065
  contentProps: {},
1067
1066
  confirmText: P("views.recordings.reindex.start")
1068
1067
  } });
1069
1068
  }
1070
- function Kt() {
1069
+ function qt() {
1071
1070
  c.openComponentDialog(Gt, { data: {
1072
1071
  title: P("views.recordings.export.title"),
1073
1072
  contentProps: {
@@ -1077,25 +1076,25 @@ var Zt = l({
1077
1076
  confirmText: P("views.recordings.export.confirm")
1078
1077
  } });
1079
1078
  }
1080
- function qt() {
1079
+ function Jt() {
1081
1080
  let e = q.value;
1082
1081
  q.value = e === "opened" ? "closed" : "opened";
1083
1082
  }
1084
- function Jt() {
1083
+ function Yt() {
1085
1084
  q.value = "closed";
1086
1085
  }
1087
- function Yt(e) {
1088
- !e.semanticQuery?.trim() && J.value.semanticQuery?.trim() && Ne(), J.value = e;
1086
+ function Xt(e) {
1087
+ !e.semanticQuery?.trim() && J.value.semanticQuery?.trim() && Me(), J.value = e;
1089
1088
  }
1090
- async function Xt(e) {
1089
+ async function Zt(e) {
1091
1090
  We.value = !0, Ge.value = "";
1092
1091
  try {
1093
- let t = await qe(e, me.value, Intl.DateTimeFormat().resolvedOptions().timeZone);
1094
- Yt({
1095
- ...Re,
1092
+ let t = await qe(e, re.value, Intl.DateTimeFormat().resolvedOptions().timeZone);
1093
+ Xt({
1094
+ ...Le,
1096
1095
  ...t.filters,
1097
1096
  favoritesOnly: Nt.value && t.filters.favoritesOnly
1098
- }), Zt(t.filters.semanticQuery), Ge.value = t.note;
1097
+ }), Qt(t.filters.semanticQuery), Ge.value = t.note;
1099
1098
  } catch (e) {
1100
1099
  N.add({
1101
1100
  severity: "error",
@@ -1106,20 +1105,20 @@ var Zt = l({
1106
1105
  We.value = !1;
1107
1106
  }
1108
1107
  }
1109
- function Zt(e) {
1108
+ function Qt(e) {
1110
1109
  if (!e.trim()) {
1111
- Ne();
1110
+ Me();
1112
1111
  return;
1113
1112
  }
1114
- je(e);
1113
+ Ae(e);
1115
1114
  }
1116
- function Qt(e) {
1115
+ function $t(e) {
1117
1116
  let t = _t.value.get(e.cameraId);
1118
1117
  t && D(e, t);
1119
1118
  }
1120
- function $t(e) {
1119
+ function en(e) {
1121
1120
  let t = _t.value.get(e.cameraId);
1122
- t && c.openComponentDialog(_e, {
1121
+ t && c.openComponentDialog(G, {
1123
1122
  data: {
1124
1123
  title: t.name,
1125
1124
  dedupeKey: `camera-event:${t._id}:${e.startTime}`,
@@ -1131,7 +1130,7 @@ var Zt = l({
1131
1130
  eventTimestamp: e.startTime
1132
1131
  },
1133
1132
  headerActions: e.segments?.some((e) => e?.description) ? [{
1134
- icon: ye,
1133
+ icon: F,
1135
1134
  toggle: !0,
1136
1135
  onClick: () => {}
1137
1136
  }] : void 0,
@@ -1149,7 +1148,7 @@ var Zt = l({
1149
1148
  } }
1150
1149
  });
1151
1150
  }
1152
- return _(ve, (e) => {
1151
+ return _(pe, (e) => {
1153
1152
  e && (q.value = "closed");
1154
1153
  }), _(J, (e) => {
1155
1154
  let t = e.eventTypes.length > 0 || e.sensorEvents.length > 0 || e.audioLabels.length > 0 || e.hasAttributes.length > 0, n = {
@@ -1161,7 +1160,6 @@ var Zt = l({
1161
1160
  filterLogicAttributes: t ? e.filterLogicAttributes : void 0,
1162
1161
  search: e.search || void 0,
1163
1162
  minConfidence: e.minConfidence > 0 ? e.minConfidence : void 0,
1164
- state: "ended",
1165
1163
  hasDetections: !t,
1166
1164
  withRecordingInfo: !0,
1167
1165
  hasRecording: e.onlyWithRecordings || void 0,
@@ -1171,7 +1169,7 @@ var Zt = l({
1171
1169
  }, {
1172
1170
  deep: !0,
1173
1171
  immediate: !0
1174
- }), _(Le, (e) => {
1172
+ }), _(Ie, (e) => {
1175
1173
  if (!e || ut) return;
1176
1174
  let t = e.preferences?.recordings?.ungrouped;
1177
1175
  t !== void 0 && (Y.value = t);
@@ -1187,7 +1185,7 @@ var Zt = l({
1187
1185
  He.value = !0;
1188
1186
  });
1189
1187
  }), (e, t) => {
1190
- let n = R, r = V, o = L, c = ze, l = rt, m = at, _ = it, x = de, E = Qe, D = et, O = Ze, A = se, j = Ee, N = oe, P = M;
1188
+ let n = te, r = U, o = z, c = ze, l = rt, m = at, _ = it, x = ue, E = Qe, D = et, O = Ze, A = W, j = H, N = R, P = M;
1191
1189
  return i(), v("div", null, [
1192
1190
  k(n, { position: "center" }, {
1193
1191
  default: h(() => [C("span", Wn, a(e.$t("views.recordings.title")), 1)]),
@@ -1200,7 +1198,7 @@ var Zt = l({
1200
1198
  class: "cui-button p-2 text-color",
1201
1199
  text: "",
1202
1200
  rounded: "",
1203
- onClick: qt
1201
+ onClick: Jt
1204
1202
  }, {
1205
1203
  icon: h(() => [p(q) === "closed" ? (i(), u(r, {
1206
1204
  key: 0,
@@ -1238,15 +1236,15 @@ var Zt = l({
1238
1236
  "is-overlay": p(dt),
1239
1237
  "result-count": p(Mt).length,
1240
1238
  "semantic-count": p(Ot) ? p(Q).size : void 0,
1241
- "semantic-search-available": p(De),
1242
- "semantic-search-loading": p(Te),
1239
+ "semantic-search-available": p(Ee),
1240
+ "semantic-search-loading": p(Ce),
1243
1241
  "assistant-search-available": p(At),
1244
1242
  "assistant-search-loading": p(We),
1245
1243
  "assistant-search-note": p(Ge),
1246
- "onUpdate:filters": Yt,
1247
- onSemanticSearch: Zt,
1248
- onAssistantSearch: Xt,
1249
- onClose: Jt
1244
+ "onUpdate:filters": Xt,
1245
+ onSemanticSearch: Qt,
1246
+ onAssistantSearch: Zt,
1247
+ onClose: Yt
1250
1248
  }, null, 8, [
1251
1249
  "filters",
1252
1250
  "cameras",
@@ -1266,7 +1264,7 @@ var Zt = l({
1266
1264
  }, [p(X) && p(dt) ? (i(), v("div", {
1267
1265
  key: 0,
1268
1266
  class: "fixed top-0 left-0 right-0 bottom-0 w-full h-full bg-black/50 z-1",
1269
- onClick: Jt
1267
+ onClick: Yt
1270
1268
  })) : d("", !0)])),
1271
1269
  C("main", {
1272
1270
  ref_key: "reindexAnchorRef",
@@ -1277,16 +1275,16 @@ var Zt = l({
1277
1275
  transition: p(He) ? "padding-left 200ms" : void 0
1278
1276
  })
1279
1277
  }, [C("div", Gn, [
1280
- p(W) ? d("", !0) : (i(), v("div", Kn, [
1278
+ p(K) ? d("", !0) : (i(), v("div", Kn, [
1281
1279
  t[3] ||= C("div", { class: "ml-2" }, null, -1),
1282
- p(ve) ? d("", !0) : (i(), u(c, {
1280
+ p(pe) ? d("", !0) : (i(), u(c, {
1283
1281
  key: 0,
1284
1282
  id: "recordings-sidebar-toggle",
1285
1283
  severity: "secondary",
1286
1284
  class: "mr-2 cui-icon-lg relative z-2",
1287
1285
  text: "",
1288
1286
  rounded: "",
1289
- onClick: qt
1287
+ onClick: Jt
1290
1288
  }, {
1291
1289
  icon: h(() => [p(X) ? (i(), u(m, {
1292
1290
  key: 0,
@@ -1309,7 +1307,7 @@ var Zt = l({
1309
1307
  C("div")
1310
1308
  ], -1)
1311
1309
  ])),
1312
- p(W) ? d("", !0) : (i(), v("div", Jn, [w((i(), u(c, {
1310
+ p(K) ? d("", !0) : (i(), v("div", Jn, [w((i(), u(c, {
1313
1311
  severity: "secondary",
1314
1312
  text: "",
1315
1313
  rounded: "",
@@ -1328,15 +1326,15 @@ var Zt = l({
1328
1326
  { bottom: !0 }
1329
1327
  ]])])),
1330
1328
  C("div", { class: s(["px-2 h-full w-full flex flex-col", {
1331
- "pt-4": p(W),
1332
- "pt-[calc(40px+2rem)]": !p(W)
1329
+ "pt-4": p(K),
1330
+ "pt-[calc(40px+2rem)]": !p(K)
1333
1331
  }]) }, [
1334
1332
  p(Mt).length ? (i(), u(D, {
1335
1333
  key: 0,
1336
1334
  ref_key: "gridRef",
1337
1335
  ref: Be,
1338
1336
  items: p(Mt),
1339
- "min-item-width": p(W) ? 160 : 180,
1337
+ "min-item-width": p(K) ? 160 : 180,
1340
1338
  gap: 8,
1341
1339
  "has-more": p(Ct),
1342
1340
  "load-more": p(wt),
@@ -1348,7 +1346,7 @@ var Zt = l({
1348
1346
  episode: e.episode,
1349
1347
  "camera-by-id": p(_t),
1350
1348
  fluid: "",
1351
- "click-disabled": p(Pt)
1349
+ "click-disabled": p(Ft)
1352
1350
  }, null, 8, [
1353
1351
  "episode",
1354
1352
  "camera-by-id",
@@ -1361,12 +1359,12 @@ var Zt = l({
1361
1359
  "load-thumbnails": p(Tt),
1362
1360
  "semantic-score": p(Q).get(e.event.id),
1363
1361
  "seg-index": e.segIndex,
1364
- "selection-mode": p(Pt),
1365
- selected: p(Ft).has(e.event.id),
1362
+ "selection-mode": p(Ft) && e.event.state === "ended",
1363
+ selected: p(It).has(e.event.id),
1366
1364
  "sibling-active": e.segIndex !== void 0 && p(ot) === e.event.id,
1367
- onSelect: (t) => p(Vt)(e.event.id),
1368
- onScrollToEvent: () => $t(e.event),
1369
- onOpenTrace: () => Qt(e.event),
1365
+ onSelect: (t) => p(Ht)(e.event.id),
1366
+ onScrollToEvent: () => en(e.event),
1367
+ onOpenTrace: () => $t(e.event),
1370
1368
  onMouseenter: (t) => ot.value = e.segIndex === void 0 ? null : e.event.id,
1371
1369
  onMouseleave: t[2] ||= (e) => ot.value = null
1372
1370
  }, null, 8, [
@@ -1392,12 +1390,12 @@ var Zt = l({
1392
1390
  "load-more",
1393
1391
  "item-key"
1394
1392
  ])) : d("", !0),
1395
- p(St) || p(Te) ? (i(), v("div", Yn, [k(O, {
1393
+ p(St) || p(Ce) ? (i(), v("div", Yn, [k(O, {
1396
1394
  width: "24px",
1397
1395
  height: "24px",
1398
1396
  class: "text-muted"
1399
1397
  })])) : d("", !0),
1400
- !p($).length && !p(St) && !p(Te) ? (i(), v("div", Xn, [k(A, { class: "w-12 h-12 text-muted" }), C("span", Zn, a(p(Dt) ? e.$t("views.recordings.recordings_unavailable") : e.$t("views.recordings.no_recordings")), 1)])) : d("", !0)
1398
+ !p($).length && !p(St) && !p(Ce) ? (i(), v("div", Xn, [k(A, { class: "w-12 h-12 text-muted" }), C("span", Zn, a(p(Dt) ? e.$t("views.recordings.recordings_unavailable") : e.$t("views.recordings.no_recordings")), 1)])) : d("", !0)
1401
1399
  ], 2)
1402
1400
  ])], 4),
1403
1401
  p(Nt) && p(Z).length ? (i(), v("div", {
@@ -1417,17 +1415,17 @@ var Zt = l({
1417
1415
  done: p(S).done,
1418
1416
  total: p(S).total
1419
1417
  }) : e.$t("views.recordings.reindex.button"),
1420
- onClick: Wt
1418
+ onClick: Kt
1421
1419
  }, {
1422
1420
  icon: h(() => [p(S)?.running ? (i(), u(p(Ze), { key: 0 })) : (i(), u(p(lt), { key: 1 }))]),
1423
1421
  _: 1
1424
1422
  }, 8, ["disabled", "label"])], 6)) : d("", !0),
1425
1423
  p(Z).length ? (i(), u(N, {
1426
1424
  key: 1,
1427
- "force-visible": p(Pt),
1425
+ "force-visible": p(Ft),
1428
1426
  "scroll-y": p(Be)?.scrollY ?? 0
1429
1427
  }, {
1430
- default: h(() => [p(Pt) ? (i(), v(b, { key: 1 }, [
1428
+ default: h(() => [p(Ft) ? (i(), v(b, { key: 1 }, [
1431
1429
  k(j, {
1432
1430
  grouped: "",
1433
1431
  "tooltip-props": { value: e.$t("components.form.tooltip.cancel_selection") },
@@ -1437,7 +1435,7 @@ var Zt = l({
1437
1435
  width: "100%",
1438
1436
  height: "100%"
1439
1437
  },
1440
- onClick: p(zt)
1438
+ onClick: p(Bt)
1441
1439
  }, null, 8, [
1442
1440
  "tooltip-props",
1443
1441
  "icon",
@@ -1445,14 +1443,14 @@ var Zt = l({
1445
1443
  ]),
1446
1444
  k(j, {
1447
1445
  grouped: "",
1448
- "tooltip-props": { value: p(It) ? e.$t("components.form.tooltip.deselect_all") : e.$t("components.form.tooltip.select_all") },
1449
- "button-props": { severity: p(It) ? "primary" : "secondary" },
1450
- icon: p(H),
1446
+ "tooltip-props": { value: p(Lt) ? e.$t("components.form.tooltip.deselect_all") : e.$t("components.form.tooltip.select_all") },
1447
+ "button-props": { severity: p(Lt) ? "primary" : "secondary" },
1448
+ icon: p(se),
1451
1449
  "icon-props": {
1452
1450
  width: "100%",
1453
1451
  height: "100%"
1454
1452
  },
1455
- onClick: p(Bt)
1453
+ onClick: p(Vt)
1456
1454
  }, null, 8, [
1457
1455
  "tooltip-props",
1458
1456
  "button-props",
@@ -1464,14 +1462,14 @@ var Zt = l({
1464
1462
  "tooltip-props": { value: e.$t("components.form.tooltip.delete_selected") },
1465
1463
  "button-props": {
1466
1464
  severity: "danger",
1467
- disabled: !p(Ft).size || p(Lt)
1465
+ disabled: !p(It).size || p(Rt)
1468
1466
  },
1469
- icon: p(ce),
1467
+ icon: p(ae),
1470
1468
  "icon-props": {
1471
1469
  width: "100%",
1472
1470
  height: "100%"
1473
1471
  },
1474
- onClick: Ht
1472
+ onClick: Ut
1475
1473
  }, null, 8, [
1476
1474
  "tooltip-props",
1477
1475
  "button-props",
@@ -1482,12 +1480,12 @@ var Zt = l({
1482
1480
  grouped: "",
1483
1481
  "tooltip-props": { value: e.$t("views.recordings.select") },
1484
1482
  "button-props": { severity: "secondary" },
1485
- icon: p(F),
1483
+ icon: p(I),
1486
1484
  "icon-props": {
1487
1485
  width: "100%",
1488
1486
  height: "100%"
1489
1487
  },
1490
- onClick: p(Rt)
1488
+ onClick: p(zt)
1491
1489
  }, null, 8, [
1492
1490
  "tooltip-props",
1493
1491
  "icon",
@@ -1496,19 +1494,19 @@ var Zt = l({
1496
1494
  grouped: "",
1497
1495
  "tooltip-props": { value: e.$t("views.recordings.export.title") },
1498
1496
  "button-props": { class: "text-white" },
1499
- icon: p(pe),
1497
+ icon: p(_e),
1500
1498
  "icon-props": {
1501
1499
  width: "26px",
1502
1500
  height: "26px"
1503
1501
  },
1504
- onClick: Kt
1502
+ onClick: qt
1505
1503
  }, null, 8, ["tooltip-props", "icon"])], 64))]),
1506
1504
  _: 1
1507
1505
  }, 8, ["force-visible", "scroll-y"])) : d("", !0),
1508
- k(B, {
1506
+ k(L, {
1509
1507
  ref_key: "viewMenuRef",
1510
1508
  ref: Ve,
1511
- items: p(Ut),
1509
+ items: p(Wt),
1512
1510
  "auto-hide": !1,
1513
1511
  popover: { pt: {
1514
1512
  root: { class: "w-[22rem]" },