@camera.ui/server 2.2.5-beta.4 → 2.2.5

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 (643) hide show
  1. package/dist/interface/assets/{404-YZOLos9r.js → 404-CiOxoqnT.js} +1 -1
  2. package/dist/interface/assets/{About-HtxMc8JZ.js → About-DWOlfWEm.js} +1 -1
  3. package/dist/interface/assets/Assistant-B1xdMAkA.js +1 -0
  4. package/dist/interface/assets/{Assistant-BMscGKnc.css → Assistant-CXx7EY1W.css} +1 -1
  5. package/dist/interface/assets/{Automation-D3DcUyui.js → Automation-BJgwUkUB.js} +3 -3
  6. package/dist/interface/assets/{AutomationImport-Dp_hT6hQ.js → AutomationImport-9GRAndAt.js} +2 -2
  7. package/dist/interface/assets/{AutomationStore-BKR7GXMk.js → AutomationStore-D_HR2Xby.js} +2 -2
  8. package/dist/interface/assets/{AutomationStoreDetail-B9yh51WQ.js → AutomationStoreDetail-B9MxV2py.js} +2 -2
  9. package/dist/interface/assets/Automations-Bpw8olkc.js +2 -0
  10. package/dist/interface/assets/Camera-BpFfZDaS.js +2 -0
  11. package/dist/interface/assets/{CameraConsole-BI93OaRt.js → CameraConsole-BKPTLSTO.js} +1 -1
  12. package/dist/interface/assets/{Cameras-Ctub8sVt.js → Cameras-DcrVCgLy.js} +2 -2
  13. package/dist/interface/assets/Camview-C16pyCZk.js +1 -0
  14. package/dist/interface/assets/{Camview-CZct5cnP.css → Camview-DasO326h.css} +1 -1
  15. package/dist/interface/assets/{CertificateUpload-xW55NA1Q.js → CertificateUpload-BYFKZCP9.js} +1 -1
  16. package/dist/interface/assets/Config-BmEL5EaW.js +2 -0
  17. package/dist/interface/assets/{ConfigActionAssistant-B488rOp5.js → ConfigActionAssistant-DM4tIhoa.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionCameraControl-ZMUuBxOs.js → ConfigActionCameraControl-Deo0eDPS.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionDelay-BJ11xvOW.js → ConfigActionDelay-_EqbfWgo.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionHttp-DOUo69OR.js → ConfigActionHttp-BxJmoshF.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionImageInput-BMzuVZW9.js → ConfigActionImageInput-KrzXFQDm.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionMqtt-Co_uksca.js → ConfigActionMqtt-BoYBomRC.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionNotification-CcZkstYx.js → ConfigActionNotification-CSAOijDt.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionNotificationControl--VeucoTw.js → ConfigActionNotificationControl-BOdyKiOs.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionOutput-CyDa1LGA.js → ConfigActionOutput-CwsPcnd_.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionPlugin-Kfg3ZEQF.js → ConfigActionPlugin-D3wyULpp.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionSensor-DhAF0HPw.js → ConfigActionSensor-BmeaIxYY.js} +1 -1
  28. package/dist/interface/assets/{ConfigActionSnapshot-zMe3SPvW.js → ConfigActionSnapshot-DbyFKcYr.js} +1 -1
  29. package/dist/interface/assets/{ConfigActionVariable-BE5q3NwY.js → ConfigActionVariable-cThGJ1Pc.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionIfElse-BNIRtSVD.js → ConfigConditionIfElse-BugkJeXR.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionSensorState-DTNd-SzI.js → ConfigConditionSensorState-Bf-mMf4E.js} +1 -1
  32. package/dist/interface/assets/{ConfigConditionSwitch-BU5wWMU1.js → ConfigConditionSwitch-DcpFoYET.js} +1 -1
  33. package/dist/interface/assets/{ConfigConditionTime-KXTCIVIV.js → ConfigConditionTime-CM4bSMyU.js} +1 -1
  34. package/dist/interface/assets/{ConfigSensorValueInput-BC1FpMm-.js → ConfigSensorValueInput-CgAI34__.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerDetection-hIN1hi53.js → ConfigTriggerDetection-BWK6gfwM.js} +1 -1
  36. package/dist/interface/assets/ConfigTriggerGeofence-Cm3CU7Tl.js +1 -0
  37. package/dist/interface/assets/{ConfigTriggerManual-C5vwxS-e.js → ConfigTriggerManual-DgkR-GWy.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerMqtt-B4PtWC3E.js → ConfigTriggerMqtt-BMFjTAso.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSchedule-BZzUdGBa.js → ConfigTriggerSchedule-E_QWfNKy.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerSensor-D18nwMsj.js → ConfigTriggerSensor-DOdJkZRo.js} +1 -1
  41. package/dist/interface/assets/{ConfigTriggerSystem-BhygWLB4.js → ConfigTriggerSystem-BFDIbZsE.js} +1 -1
  42. package/dist/interface/assets/{ConfigTriggerWebhook-yyuBuhLD.js → ConfigTriggerWebhook-DDoUEVHb.js} +1 -1
  43. package/dist/interface/assets/Console-BIj7cIqO.js +1 -0
  44. package/dist/interface/assets/CuiAssistantConversation-CRNCKRHz.js +5 -0
  45. package/dist/interface/assets/{CuiAssistantConversation-lkpZg3ML.css → CuiAssistantConversation-DQ0wOJvV.css} +1 -1
  46. package/dist/interface/assets/CuiAutomationRunsDialog-DMUfNcsf.js +1 -0
  47. package/dist/interface/assets/CuiBottomSheet-CYi5c3fP.js +1 -0
  48. package/dist/interface/assets/{CuiBottomSheet-DWefGWK2.js → CuiBottomSheet-FwsPnJ3n.js} +1 -1
  49. package/dist/interface/assets/{CuiCameraPipCard-C2qaGJlH.js → CuiCameraPipCard-Cb_Qbly6.js} +1 -1
  50. package/dist/interface/assets/CuiCameraRecordings-BeciatDY.js +1 -0
  51. package/dist/interface/assets/{CuiCameraShares-DcqOcePX.js → CuiCameraShares-CSFwIYsg.js} +1 -1
  52. package/dist/interface/assets/CuiCameraTable-BgL5FZso.js +1 -0
  53. package/dist/interface/assets/{CuiCameraTable-BOkfp_5M.js → CuiCameraTable-DBRfGX3I.js} +2 -2
  54. package/dist/interface/assets/{CuiChartTable-DP38uBwK.js → CuiChartTable-CtasoxMM.js} +1 -1
  55. package/dist/interface/assets/{CuiConsole-C7xE_nQg.js → CuiConsole-DQbAafiz.js} +2 -2
  56. package/dist/interface/assets/CuiDataTable-JlD7Agky.js +1 -0
  57. package/dist/interface/assets/{CuiLightControl-ChGYpQAK.js → CuiLightControl-CLYl5pfN.js} +1 -1
  58. package/dist/interface/assets/{CuiList-DJp0__mV.js → CuiList-Dsu5m0TA.js} +1 -1
  59. package/dist/interface/assets/{CuiMarkdownContent-BUYtK_wD.js → CuiMarkdownContent-BYBQX_aF.js} +1 -1
  60. package/dist/interface/assets/CuiMarkdownContent-DTAm-EDR.js +1 -0
  61. package/dist/interface/assets/{CuiPluginCard-CWImTZ6l.js → CuiPluginCard-CC1oXY16.js} +2 -2
  62. package/dist/interface/assets/{CuiPluginCategoryChip-Ch_upS6Y.js → CuiPluginCategoryChip-B2bR5LQa.js} +1 -1
  63. package/dist/interface/assets/{CuiPluginOAuthButton-DEQ9xILN.js → CuiPluginOAuthButton-DfEjfcY-.js} +2 -2
  64. package/dist/interface/assets/{CuiPluginTrustBadge-sVWdvHcM.js → CuiPluginTrustBadge-C6CW6Soh.js} +1 -1
  65. package/dist/interface/assets/{CuiQRCode-DqSF4SkD.js → CuiQRCode-DGKBhDib.js} +1 -1
  66. package/dist/interface/assets/CuiSchema-pAAVh28m.js +1 -0
  67. package/dist/interface/assets/{CuiTopNavbarItem-B_KWykgq.js → CuiTopNavbarItem-ve-3Dsc3.js} +1 -1
  68. package/dist/interface/assets/Faces-1xd5yGuO.js +1 -0
  69. package/dist/interface/assets/{FirstSteps-QNYTkEJo.js → FirstSteps-E9cMqa0a.js} +1 -1
  70. package/dist/interface/assets/Floorplan-BovV_ATh.js +1 -0
  71. package/dist/interface/assets/Instances-BbxyB7vR.js +1 -0
  72. package/dist/interface/assets/{Logs-BSPT80vP.js → Logs-BhRactvQ.js} +2 -2
  73. package/dist/interface/assets/{Menu-HHtuhIS2.js → Menu-DMCmUVDs.js} +1 -1
  74. package/dist/interface/assets/Metrics-BgXrNl38.js +12 -0
  75. package/dist/interface/assets/Metrics-ChVnC6f6.css +1 -0
  76. package/dist/interface/assets/{OAuthDeviceFlow-Bn1nlWNa.js → OAuthDeviceFlow-BMEwVkIa.js} +1 -1
  77. package/dist/interface/assets/Plugin-CDNywaVE.js +1 -0
  78. package/dist/interface/assets/Plugin-Qr_Q_Qfi.css +1 -0
  79. package/dist/interface/assets/{PluginConsole-Cv-uhnPY.js → PluginConsole-C4Ba_U_1.js} +1 -1
  80. package/dist/interface/assets/{PluginDetail-cpOz7FkA.js → PluginDetail-13OWIzdd.js} +2 -2
  81. package/dist/interface/assets/{PluginSchema-DW3TGeTM.js → PluginSchema-DN0cSU8s.js} +1 -1
  82. package/dist/interface/assets/PluginSearch-sPkO8aH3.js +2 -0
  83. package/dist/interface/assets/PluginSearch-xNIlfXk4.js +1 -0
  84. package/dist/interface/assets/{PluginUpdateProgress-n6q6vzyd.js → PluginUpdateProgress-CeWuRp3Z.js} +1 -1
  85. package/dist/interface/assets/Plugins-C8yjhxnQ.js +1 -0
  86. package/dist/interface/assets/{RecentEventsFilter-CTR5JK_P.js → RecentEventsFilter-Kp_lTOuG.js} +1 -1
  87. package/dist/interface/assets/Recordings-BHT8Vvv_.js +1 -0
  88. package/dist/interface/assets/Recordings-DwuojaAw.css +1 -0
  89. package/dist/interface/assets/SensorEdit-C-yJdJuP.js +1 -0
  90. package/dist/interface/assets/{SensorHistory-9CdOpCPs.js → SensorHistory-ClAcOgHj.js} +1 -1
  91. package/dist/interface/assets/Sensors-Cza4Et2c.js +2 -0
  92. package/dist/interface/assets/Settings-Cj0leoGd.js +1 -0
  93. package/dist/interface/assets/SettingsAccount-COkcBBSz.js +1 -0
  94. package/dist/interface/assets/SettingsAccount-DjrJdssy.js +1 -0
  95. package/dist/interface/assets/{SettingsAppearance-BY1xQMx4.js → SettingsAppearance-CJt4xJEW.js} +1 -1
  96. package/dist/interface/assets/SettingsAppearance-D20YW7Vq.js +1 -0
  97. package/dist/interface/assets/SettingsAssistant-CDdbbG-c.css +1 -0
  98. package/dist/interface/assets/SettingsAssistant-DKWDp1AI.js +1 -0
  99. package/dist/interface/assets/{SettingsBackup-D_weokqu.js → SettingsBackup-DIJmci05.js} +1 -1
  100. package/dist/interface/assets/{SettingsList-Bq24WTDU.js → SettingsList-Cb_dLy5T.js} +1 -1
  101. package/dist/interface/assets/SettingsMqtt-LIuCRPT5.js +1 -0
  102. package/dist/interface/assets/{SettingsNotifications-8TZOUxg2.js → SettingsNotifications-CZxqqH_8.js} +1 -1
  103. package/dist/interface/assets/{SettingsPermissions-M8u_jrN0.js → SettingsPermissions-CJiz0Z7B.js} +1 -1
  104. package/dist/interface/assets/{SettingsRecordings-C1Kp5xW_.js → SettingsRecordings-BEpwMh-y.js} +1 -1
  105. package/dist/interface/assets/SettingsRemote-DRt-N_yA.js +2 -0
  106. package/dist/interface/assets/{SettingsSystem-Cetu2faJ.js → SettingsSystem-Cncdpx8T.js} +2 -2
  107. package/dist/interface/assets/{SettingsUsers-CDwtQLdV.js → SettingsUsers-DZkz8WlI.js} +1 -1
  108. package/dist/interface/assets/Terminal-U4yfJN3O.js +4 -0
  109. package/dist/interface/assets/Training-Bkn52mPJ.css +1 -0
  110. package/dist/interface/assets/Training-DfgE_dA8.js +1 -0
  111. package/dist/interface/assets/Updates-cCvbFq3w.js +2 -0
  112. package/dist/interface/assets/{VariableInput-BxPj5wo6.js → VariableInput-PVsqGYW0.js} +1 -1
  113. package/dist/interface/assets/{VariableSuggestions-CbizvAkz.js → VariableSuggestions-DwLtlzVz.js} +1 -1
  114. package/dist/interface/assets/{VersionsHandler-CePyEUVO.js → VersionsHandler-Df7dhddp.js} +2 -2
  115. package/dist/interface/assets/{VirtualSensorCreate-D_GVoeL7.js → VirtualSensorCreate-FTKANjd-.js} +1 -1
  116. package/dist/interface/assets/Workers-Ba37_3cY.js +2 -0
  117. package/dist/interface/assets/{account-Bu30He0P.js → account-DwW7pBOb.js} +1 -1
  118. package/dist/interface/assets/{alert-circle-D2fAQwTX.js → alert-circle-BdUVAt1B.js} +1 -1
  119. package/dist/interface/assets/{alert-outline-D7zaSJH_.js → alert-outline-IRxYbw0j.js} +1 -1
  120. package/dist/interface/assets/api-C1mraOYr.js +4 -0
  121. package/dist/interface/assets/{api-DW2niHRN.js → api-DpqXhwcx.js} +1 -1
  122. package/dist/interface/assets/api-z8ZVnoOl.css +2 -0
  123. package/dist/interface/assets/{arrow-left-BGLyEqqa.js → arrow-left-Bk-ZrOVr.js} +1 -1
  124. package/dist/interface/assets/assistant-Lz3mFLDo.js +1 -0
  125. package/dist/interface/assets/{assistantModels-D0soYqq7.js → assistantModels-BsSgRsws.js} +1 -1
  126. package/dist/interface/assets/{auth-Dc8bUpc-.js → auth-L7_5vsJs.js} +1 -1
  127. package/dist/interface/assets/{automations-DXrjbArj.js → automations-D1XFFSrm.js} +1 -1
  128. package/dist/interface/assets/{back-filled-BPBVnQjx.js → back-filled-D-X19YMO.js} +1 -1
  129. package/dist/interface/assets/{bell-ring-CyCFPUL_.js → bell-ring-DreEHgoT.js} +1 -1
  130. package/dist/interface/assets/{brain-CIJB1ree.js → brain-DuDAg544.js} +1 -1
  131. package/dist/interface/assets/{cameraSources-QJfUDOQJ.js → cameraSources-DEGJDtmK.js} +1 -1
  132. package/dist/interface/assets/{cctv-D6kxZ-lp.js → cctv-DM-C_8_6.js} +1 -1
  133. package/dist/interface/assets/{check-circle-DHAAn6A6.js → check-circle-Bevuw8-0.js} +1 -1
  134. package/dist/interface/assets/{check-circle-outline-BbqeKfIK.js → check-circle-outline-aMxkvksr.js} +1 -1
  135. package/dist/interface/assets/{chevron-down-ZYTrU871.js → chevron-down-CCFn9Z56.js} +1 -1
  136. package/dist/interface/assets/{chevron-up-LQXNz9CE.js → chevron-up-CSImUM3_.js} +1 -1
  137. package/dist/interface/assets/{clock-outline-CKTiLKoR.js → clock-outline-DH3WIEJt.js} +1 -1
  138. package/dist/interface/assets/{close-BbEPZQqa.js → close-CMxyM4v9.js} +1 -1
  139. package/dist/interface/assets/{close-circle-BSUSUs4K.js → close-circle-CfgJCZ9A.js} +1 -1
  140. package/dist/interface/assets/{cloud-check-BTGbrAQ_.js → cloud-check-CbdFLIdR.js} +1 -1
  141. package/dist/interface/assets/cloudHandoff-DkUx4m3P.js +1 -0
  142. package/dist/interface/assets/{config-CiQDwB4t.js → config-CVqy37fG.js} +1 -1
  143. package/dist/interface/assets/{content-copy-V0DW9ZbH.js → content-copy-Bz49QPOI.js} +1 -1
  144. package/dist/interface/assets/{copy-DsmMEtSH.js → copy-DA6QQHRt.js} +1 -1
  145. package/dist/interface/assets/{cube-scan-DGhUFV1x.js → cube-scan-IiH8zwm2.js} +1 -1
  146. package/dist/interface/assets/database-refresh-outline-CIUDpcuq.js +1 -0
  147. package/dist/interface/assets/{delete-CY8fsIW6.js → delete-Btu-UVx9.js} +1 -1
  148. package/dist/interface/assets/{dist-DNyx_J8o.js → dist-D_qWDAKp.js} +1 -1
  149. package/dist/interface/assets/{dots-vertical-pP1vP0Qa.js → dots-vertical-D496SIss.js} +1 -1
  150. package/dist/interface/assets/{download-CyjJ7yJW.js → download-BSC7lwq_.js} +1 -1
  151. package/dist/interface/assets/esm-0kxqa_1s.js +1 -0
  152. package/dist/interface/assets/esm-4p_M5mFV.js +1 -0
  153. package/dist/interface/assets/esm-8G-vO1KQ.js +1 -0
  154. package/dist/interface/assets/esm-8cB56ICb.js +1 -0
  155. package/dist/interface/assets/esm-B92csSEb.js +1 -0
  156. package/dist/interface/assets/esm-BHiNTIiN.js +1 -0
  157. package/dist/interface/assets/esm-Bu9PMLmw.js +1 -0
  158. package/dist/interface/assets/esm-CS6Ra46d.js +1 -0
  159. package/dist/interface/assets/esm-CWvQWALL.js +1 -0
  160. package/dist/interface/assets/esm-D2UDrwmt.js +1 -0
  161. package/dist/interface/assets/esm-D8OHF2X1.js +1 -0
  162. package/dist/interface/assets/esm-DrXkS8eG.js +1 -0
  163. package/dist/interface/assets/esm-pfoHiO1a.js +1 -0
  164. package/dist/interface/assets/esm-tJSCF7Vh.js +1 -0
  165. package/dist/interface/assets/{eventIcons-cdzqQc0W.js → eventIcons-UQutPG3p.js} +1 -1
  166. package/dist/interface/assets/{eye-off-JCu1iUer.js → eye-off-CSU0U8g7.js} +1 -1
  167. package/dist/interface/assets/{eye-off-outline-GErp76H2.js → eye-off-outline-DCxLRGo_.js} +1 -1
  168. package/dist/interface/assets/{flowSchema-BRTZHQ1w.js → flowSchema-CppNBDy1.js} +1 -1
  169. package/dist/interface/assets/{help-circle-outline-G43EJuch.js → help-circle-outline-Cr_yNhPi.js} +1 -1
  170. package/dist/interface/assets/{history-CNJREqJG.js → history-anuCbp1T.js} +1 -1
  171. package/dist/interface/assets/{home-B-_OQpZ6.js → home-N3bDR1vX.js} +1 -1
  172. package/dist/interface/assets/{information-outline-Blt4EtWJ.js → information-outline-CMWIvLNB.js} +1 -1
  173. package/dist/interface/assets/{intercomService-BnA-FQ0Q.js → intercomService-CjoJaOZ7.js} +1 -1
  174. package/dist/interface/assets/{lan-C3jliANx.js → lan-CYXjdk7L.js} +1 -1
  175. package/dist/interface/assets/main-BK3kmiG2.js +3 -0
  176. package/dist/interface/assets/{main-BoGhBedC.css → main-Bo0Lb1y2.css} +1 -1
  177. package/dist/interface/assets/{microphone-B6xc9JQ2.js → microphone-BB2pATI_.js} +1 -1
  178. package/dist/interface/assets/{minus-BI5qXFwJ.js → minus-BCp3ZNKO.js} +1 -1
  179. package/dist/interface/assets/{mqtt-iD9XHYO_.js → mqtt-BENV9Fx4.js} +1 -1
  180. package/dist/interface/assets/native-BEkWOGyD.js +1 -0
  181. package/dist/interface/assets/native-ugMg173F.js +1 -0
  182. package/dist/interface/assets/{nodeDefinitions-Dop49tx8.js → nodeDefinitions-ByrqsENY.js} +1 -1
  183. package/dist/interface/assets/{notifications-CbAJX7RF.js → notifications-By40oPng.js} +1 -1
  184. package/dist/interface/assets/{pause-DKzvPG2b.js → pause-BQlxwAW2.js} +1 -1
  185. package/dist/interface/assets/{pencil-DKbi9SsG.js → pencil-CDsNnEXi.js} +1 -1
  186. package/dist/interface/assets/{pencil-outline-CD3Xv98d.js → pencil-outline-CIQL5Kui.js} +1 -1
  187. package/dist/interface/assets/plugin-eafNQWg2.js +1 -0
  188. package/dist/interface/assets/{plugins-eIUrXNeM.js → plugins-09rEDbMz.js} +1 -1
  189. package/dist/interface/assets/{plus-CHPYoMO_.js → plus-Bp4q9G7S.js} +1 -1
  190. package/dist/interface/assets/{plus--kDl8ben.js → plus-CySoovdr.js} +1 -1
  191. package/dist/interface/assets/{power-C9wmNlFS.js → power-WmBLDR0-.js} +1 -1
  192. package/dist/interface/assets/{radar-B3ra28GD.js → radar-CyYAmume.js} +1 -1
  193. package/dist/interface/assets/{refresh-DfqyhMOh.js → refresh-CHTA3jVN.js} +1 -1
  194. package/dist/interface/assets/{restore-FMacmqd_.js → restore-C8RNM5yX.js} +1 -1
  195. package/dist/interface/assets/{rooms-BqPyo8jc.js → rooms-LBxn-Uuu.js} +1 -1
  196. package/dist/interface/assets/{round-alt-arrow-left-bold-56eF9Bol.js → round-alt-arrow-left-bold-Gh5mi_yR.js} +1 -1
  197. package/dist/interface/assets/{search-BXbDWhLk.js → search-BajCVmOI.js} +1 -1
  198. package/dist/interface/assets/sensorIcons-Csu5s0uk.js +1 -0
  199. package/dist/interface/assets/{sensorSlots-BZCXtnb6.js → sensorSlots-CtbKmsGG.js} +1 -1
  200. package/dist/interface/assets/{sensors-DttBNEEt.js → sensors-CbzNs18A.js} +1 -1
  201. package/dist/interface/assets/{server-DUFhf2c_.js → server-Btp5KILd.js} +1 -1
  202. package/dist/interface/assets/{settings-Cw63SIJl.js → settings-DnksaK7m.js} +1 -1
  203. package/dist/interface/assets/{source-branch-oyzrlfCD.js → source-branch-CzqIPffP.js} +1 -1
  204. package/dist/interface/assets/{theme-BMmjtQ4w.js → theme-GhzGwpqd.js} +1 -1
  205. package/dist/interface/assets/{trash-2-BQc04l9M.js → trash-2-DJeEhHf4.js} +1 -1
  206. package/dist/interface/assets/{trash-can-outline-Bk5eENNM.js → trash-can-outline-DrT6iw7I.js} +1 -1
  207. package/dist/interface/assets/{trash-fill-CXk8BmtF.js → trash-fill-Bb_-UicM.js} +1 -1
  208. package/dist/interface/assets/{trash2-2rUvghml.js → trash2-Dsl8gfxq.js} +1 -1
  209. package/dist/interface/assets/types-BAwhu9iv.js +1 -0
  210. package/dist/interface/assets/{types-DWTSNJ79.js → types-CklFkUXk.js} +1 -1
  211. package/dist/interface/assets/{types-CXw7CEzu.js → types-D8QWPhe-.js} +1 -1
  212. package/dist/interface/assets/{undo-Dcf7vcsv.js → undo-DoqJW-k7.js} +1 -1
  213. package/dist/interface/assets/ungrouped-BMk56E3L.js +1 -0
  214. package/dist/interface/assets/{ungrouped-DHMJ9Rg1.css → ungrouped-BnQIcSQd.css} +1 -1
  215. package/dist/interface/assets/{updates-TIPWXKzL.js → updates-CGo0T4sn.js} +1 -1
  216. package/dist/interface/assets/{upload-nnbfDypK.js → upload-C3w1XH-o.js} +1 -1
  217. package/dist/interface/assets/{upload-B-ZYPekV.js → upload-DtIcwiNC.js} +1 -1
  218. package/dist/interface/assets/{useAppVersion-BIz44Bg4.js → useAppVersion-CJlexqyz.js} +1 -1
  219. package/dist/interface/assets/{useAssistantActions-CLkkw9kB.js → useAssistantActions-Cc_O6M9_.js} +1 -1
  220. package/dist/interface/assets/useBackupRestore-_s8vS5WF.js +1 -0
  221. package/dist/interface/assets/{useCameraOptions-A97teAIr.js → useCameraOptions-CFISVNgk.js} +1 -1
  222. package/dist/interface/assets/{useKeyboardInset-DXVi1dLG.js → useKeyboardInset-DkUn62i7.js} +1 -1
  223. package/dist/interface/assets/{useLogsSocket-BlFxVXjF.js → useLogsSocket-D-ndWAg0.js} +1 -1
  224. package/dist/interface/assets/{useNavLayout-C5obaCNv.js → useNavLayout-CG0X_3kt.js} +1 -1
  225. package/dist/interface/assets/{usePermissions-C8hB_pG1.js → usePermissions-BXTw4tII.js} +1 -1
  226. package/dist/interface/assets/{usePluginUpdates-DO0-Gk4Q.js → usePluginUpdates-nW_dt66E.js} +1 -1
  227. package/dist/interface/assets/{usePushRegistration-BUttCraQ.js → usePushRegistration-DCqOAxR4.js} +2 -2
  228. package/dist/interface/assets/{useServerRestart-Cz9eVHUE.js → useServerRestart-CxJGxAcU.js} +1 -1
  229. package/dist/interface/assets/{useStreamStatus-BhS_MCCB.js → useStreamStatus-CXb1HbAq.js} +1 -1
  230. package/dist/interface/assets/{useTabSwipe-D4k8lm1M.js → useTabSwipe-DHb8__wU.js} +1 -1
  231. package/dist/interface/assets/{useUpdateChannel-D9lhfW0y.js → useUpdateChannel-BR4PMh1R.js} +1 -1
  232. package/dist/interface/assets/{useUpdatesSocket-DnH9sON5.js → useUpdatesSocket-DKDRZhvc.js} +1 -1
  233. package/dist/interface/assets/useUserOptions-lyc4WJ4L.js +1 -0
  234. package/dist/interface/assets/{variable-CcE0ZwTr.js → variable-ywTlRfo5.js} +1 -1
  235. package/dist/interface/assets/{vendor-cameraui-QXD8jkcj.js → vendor-cameraui-CK4yHsJi.js} +45 -45
  236. package/dist/interface/assets/{vendor-capacitor-COL6Kz75.js → vendor-capacitor-f9ShAzys.js} +2 -2
  237. package/dist/interface/assets/{vendor-chart-80wrH3md.js → vendor-chart-DBK083Hu.js} +1 -1
  238. package/dist/interface/assets/{vendor-core-CnhnyKDl.js → vendor-core-B-Q4es-f.js} +1 -1
  239. package/dist/interface/assets/{vendor-dnd-CEJS9JKU.js → vendor-dnd-DGQLvX6Y.js} +1 -1
  240. package/dist/interface/assets/{vendor-draggabilly-BY7O1F_Z.js → vendor-draggabilly-D8CK6M-y.js} +1 -1
  241. package/dist/interface/assets/{vendor-DGke_6M4.js → vendor-gFkr2qsZ.js} +1 -1
  242. package/dist/interface/assets/vendor-gridstack-DtDG3os6.js +3 -0
  243. package/dist/interface/assets/{vendor-markdown-DD4teg2u.js → vendor-markdown-qHIinIUE.js} +1 -1
  244. package/dist/interface/assets/{vendor-primevue-CCUqY55W.js → vendor-primevue-Cmp3VjIC.js} +72 -72
  245. package/dist/interface/assets/{vendor-vueflow-Bmwd2les.js → vendor-vueflow-bSwRZ9X8.js} +1 -1
  246. package/dist/interface/assets/web-3OOGlctS.js +1 -0
  247. package/dist/interface/assets/web-5NFVd9gs.js +1 -0
  248. package/dist/interface/assets/web-A4yovlXr.js +1 -0
  249. package/dist/interface/assets/web-BBC3YoWX.js +1 -0
  250. package/dist/interface/assets/web-B_9Qyt8E.js +1 -0
  251. package/dist/interface/assets/web-BjKL51lK-DUIsII0n.js +1 -0
  252. package/dist/interface/assets/web-C2-YAfsx.js +1 -0
  253. package/dist/interface/assets/web-CUL_MhvM.js +1 -0
  254. package/dist/interface/assets/web-CZVCXYLV.js +1 -0
  255. package/dist/interface/assets/web-DJ-LUxlV.js +1 -0
  256. package/dist/interface/assets/web-DNsEGLGS.js +1 -0
  257. package/dist/interface/assets/web-DZsU0QT_.js +1 -0
  258. package/dist/interface/assets/web-MoyOTbiU.js +1 -0
  259. package/dist/interface/assets/web-avRH_3t7.js +1 -0
  260. package/dist/interface/assets/{webhook-oVbP79Yk.js → webhook-CWKf2Qxu.js} +1 -1
  261. package/dist/interface/assets/workbox-window.prod.es5-BEYAF-e-.js +1 -0
  262. package/dist/interface/assets/{zoom-in-GKNy8xA7.js → zoom-in-CHkXAWHy.js} +1 -1
  263. package/dist/interface/ha/{404-DLhJqxRl.js → 404-B2T8Gktj.js} +1 -1
  264. package/dist/interface/ha/{About-DC0i1iE4.js → About-CrTKzU9_.js} +6 -6
  265. package/dist/interface/ha/{Assistant-BmazMPIg.js → Assistant-BDHJmYx_.js} +823 -820
  266. package/dist/interface/ha/{Automation-gabF9YzQ.js → Automation-Czo5EsAg.js} +337 -337
  267. package/dist/interface/ha/{AutomationImport-DaqZNs9s.js → AutomationImport-CuFAQbiX.js} +6 -6
  268. package/dist/interface/ha/{AutomationStore-DzM4huo5.js → AutomationStore-D-6x0JIt.js} +16 -16
  269. package/dist/interface/ha/{AutomationStoreDetail-CpzQMt_D.js → AutomationStoreDetail-Dad4q1MN.js} +19 -19
  270. package/dist/interface/ha/{Automations-Dcm4Us50.js → Automations-C-oGM5SR.js} +71 -71
  271. package/dist/interface/ha/{Camera-CNK3QR7l.js → Camera-CerkQGbZ.js} +214 -214
  272. package/dist/interface/ha/{CameraConsole-CpcF0411.js → CameraConsole-hRGwbjsD.js} +3 -3
  273. package/dist/interface/ha/{Cameras-Cf9rwRyf.js → Cameras-Bk5TFXA8.js} +92 -92
  274. package/dist/interface/ha/{Camview-BFKR2t6C.js → Camview-CsKKqxxY.js} +382 -382
  275. package/dist/interface/ha/{Config-1XH3zfr2.js → Config-Vl4-K3A_.js} +11 -11
  276. package/dist/interface/ha/{ConfigActionAssistant-C0-NFoTB.js → ConfigActionAssistant-OWUX8glZ.js} +4 -4
  277. package/dist/interface/ha/{ConfigActionCameraControl-DNSKZPSZ.js → ConfigActionCameraControl-DEaOot8w.js} +3 -3
  278. package/dist/interface/ha/{ConfigActionHttp-DVJAcGkl.js → ConfigActionHttp-CSr2BpKL.js} +2 -2
  279. package/dist/interface/ha/{ConfigActionImageInput-VVbHHHZs.js → ConfigActionImageInput--O8Tyca-.js} +1 -1
  280. package/dist/interface/ha/{ConfigActionMqtt-N5OUJDzM.js → ConfigActionMqtt-DQJ4-gs2.js} +4 -4
  281. package/dist/interface/ha/{ConfigActionNotification-s142tQoU.js → ConfigActionNotification-wR8CCA_T.js} +3 -3
  282. package/dist/interface/ha/{ConfigActionNotificationControl-Dh7kaKVP.js → ConfigActionNotificationControl-DNMrHwPz.js} +2 -2
  283. package/dist/interface/ha/{ConfigActionOutput-B4HHTg5C.js → ConfigActionOutput-C-LVFxFP.js} +1 -1
  284. package/dist/interface/ha/{ConfigActionPlugin-D20G2Dqf.js → ConfigActionPlugin-BCREAkNo.js} +5 -5
  285. package/dist/interface/ha/{ConfigActionSensor-BS3jrFaG.js → ConfigActionSensor-D48CQ6qR.js} +5 -5
  286. package/dist/interface/ha/{ConfigActionSnapshot-CInLAcwK.js → ConfigActionSnapshot-DpDy88Mg.js} +2 -2
  287. package/dist/interface/ha/{ConfigActionVariable-C5vADGNF.js → ConfigActionVariable-D9BxmwvB.js} +1 -1
  288. package/dist/interface/ha/{ConfigConditionIfElse-CPeWDD31.js → ConfigConditionIfElse-CW42tQFY.js} +3 -3
  289. package/dist/interface/ha/{ConfigConditionSensorState-BM5GmpN6.js → ConfigConditionSensorState-BZpij7kB.js} +4 -4
  290. package/dist/interface/ha/{ConfigConditionSwitch-Dmz9FduJ.js → ConfigConditionSwitch-DlTuJ9Sf.js} +5 -5
  291. package/dist/interface/ha/{ConfigSensorValueInput-Ch5njvtv.js → ConfigSensorValueInput-2QLHESlE.js} +5 -5
  292. package/dist/interface/ha/{ConfigTriggerDetection-BR2QWNyO.js → ConfigTriggerDetection-DPmUkmUJ.js} +3 -3
  293. package/dist/interface/ha/{ConfigTriggerGeofence-CaImOjyW.js → ConfigTriggerGeofence--T9OXhGl.js} +2 -2
  294. package/dist/interface/ha/{ConfigTriggerMqtt-DWz1XwZQ.js → ConfigTriggerMqtt-fZn_X6yY.js} +1 -1
  295. package/dist/interface/ha/{ConfigTriggerSensor-lfnhz0im.js → ConfigTriggerSensor-_3O6iBFX.js} +1 -1
  296. package/dist/interface/ha/{ConfigTriggerSystem-CwUhyFAj.js → ConfigTriggerSystem-CC9lqi8Q.js} +2 -2
  297. package/dist/interface/ha/{ConfigTriggerWebhook-J6Xts7GQ.js → ConfigTriggerWebhook-BuBcgXqf.js} +1 -1
  298. package/dist/interface/ha/{Console-BSdKFm6Y.js → Console-DNc49UEt.js} +13 -13
  299. package/dist/interface/ha/{CuiAutomationRunsDialog-BU8sympp.js → CuiAutomationRunsDialog-Dj_iiZht.js} +2 -2
  300. package/dist/interface/ha/{CuiBottomSheet-Bnp7ta7V.js → CuiBottomSheet-DG7wOV7m.js} +1 -1
  301. package/dist/interface/ha/{CuiCameraRecordings-E-mMqKSs.js → CuiCameraRecordings-BlOZTfQ4.js} +12 -12
  302. package/dist/interface/ha/{CuiCameraShares-DcNwd2OC.js → CuiCameraShares-BOn-mobi.js} +2 -2
  303. package/dist/interface/ha/{CuiCameraTable-DNW9Vm_A.js → CuiCameraTable-D50FLiK8.js} +9 -9
  304. package/dist/interface/ha/{CuiChartTable-muC7jL2H.js → CuiChartTable-CfcVRvdZ.js} +42 -42
  305. package/dist/interface/ha/{CuiConsole-ND8bcuTg.js → CuiConsole-UpN0Wihm.js} +6 -6
  306. package/dist/interface/ha/{CuiDataTable-CN4T8DgP.js → CuiDataTable-CpADXKNF.js} +6 -6
  307. package/dist/interface/ha/{CuiPluginCard-nIQiyQvH.js → CuiPluginCard-CT6ZfL9o.js} +52 -52
  308. package/dist/interface/ha/{CuiPluginOAuthButton-FJ49NfUh.js → CuiPluginOAuthButton-BJVKd6Ac.js} +6 -6
  309. package/dist/interface/ha/{CuiPluginTrustBadge-D6eanMyI.js → CuiPluginTrustBadge-gb9GI24w.js} +3 -3
  310. package/dist/interface/ha/{CuiQRCode-BdJzeeoE.js → CuiQRCode-DqKDx9zR.js} +7 -7
  311. package/dist/interface/ha/{CuiSchema-DY0V-8xP.js → CuiSchema-CHeJkx0k.js} +129 -129
  312. package/dist/interface/ha/{CuiTopNavbarItem-DT5pAKHp.js → CuiTopNavbarItem-CFeI6ZYU.js} +5 -5
  313. package/dist/interface/ha/Faces-CTfvhhCj.js +1441 -0
  314. package/dist/interface/ha/{FirstSteps-yS2M2cor.js → FirstSteps-C-WXJ8IL.js} +80 -80
  315. package/dist/interface/ha/{Floorplan-DSOeScjI.js → Floorplan-CDKTYN7B.js} +307 -307
  316. package/dist/interface/ha/{Instances-B4h5EKpF.js → Instances-n23yvN3L.js} +62 -62
  317. package/dist/interface/ha/{Logs-BH0Lxvs6.js → Logs-Dfm0BWOQ.js} +10 -10
  318. package/dist/interface/ha/{Menu-COH7QXuE.js → Menu-76kvdAEF.js} +15 -15
  319. package/dist/interface/ha/{Metrics-BtnRqL_I.js → Metrics-lnivlTWm.js} +101 -100
  320. package/dist/interface/ha/{OAuthDeviceFlow-D2QJ9MnP.js → OAuthDeviceFlow-4ChaymHu.js} +7 -7
  321. package/dist/interface/ha/{Plugin-EfUSqwyh.js → Plugin-BV8YA8aN.js} +486 -347
  322. package/dist/interface/ha/{PluginConsole-hh_o15f7.js → PluginConsole-csf1Km7f.js} +4 -4
  323. package/dist/interface/ha/{PluginDetail-DFiXGkrY.js → PluginDetail-DTff6cbA.js} +185 -185
  324. package/dist/interface/ha/{PluginSearch-Cdrfubrj.js → PluginSearch-CdjxmFPN.js} +116 -116
  325. package/dist/interface/ha/{PluginUpdateProgress-BD2g2kVj.js → PluginUpdateProgress-ClyF4pbA.js} +3 -3
  326. package/dist/interface/ha/{Plugins-qFiHW-Nk.js → Plugins-_xOrqP36.js} +34 -34
  327. package/dist/interface/ha/{RecentEventsFilter-UWrXnvfq.js → RecentEventsFilter-9ZkDHD1g.js} +1 -1
  328. package/dist/interface/ha/{Recordings-BzeC6tOz.js → Recordings-dTZv0pkp.js} +483 -458
  329. package/dist/interface/ha/{SensorEdit-BSgy7lkZ.js → SensorEdit-DDRkZjmm.js} +40 -40
  330. package/dist/interface/ha/{SensorHistory-IDvP8LKH.js → SensorHistory-DSGlRITr.js} +2 -2
  331. package/dist/interface/ha/{Sensors-Diqp4oZ0.js → Sensors-DjhGRUzM.js} +477 -462
  332. package/dist/interface/ha/{Settings-BgDsxAlx.js → Settings-DYuvz4de.js} +17 -17
  333. package/dist/interface/ha/{SettingsAccount-DBXMQPYk.js → SettingsAccount-DQAo8SnK.js} +146 -146
  334. package/dist/interface/ha/{SettingsAppearance-VmbjnT3o.js → SettingsAppearance-_tbhpUA0.js} +8 -8
  335. package/dist/interface/ha/{SettingsAssistant-C2R4ZetE.js → SettingsAssistant-DSf-dYuD.js} +656 -533
  336. package/dist/interface/ha/{SettingsBackup-BqY9TwYn.js → SettingsBackup-wLOa7xtw.js} +40 -40
  337. package/dist/interface/ha/{SettingsList-CzHcfo2N.js → SettingsList-CYujivw5.js} +4 -4
  338. package/dist/interface/ha/{SettingsMqtt-DqV3h3Ow.js → SettingsMqtt-DbxJ-h3J.js} +115 -115
  339. package/dist/interface/ha/{SettingsNotifications-yn5fIR_7.js → SettingsNotifications-DO2-KJvq.js} +118 -118
  340. package/dist/interface/ha/{SettingsRecordings-DDs1lyfY.js → SettingsRecordings-C47i1UhI.js} +9 -9
  341. package/dist/interface/ha/{SettingsRemote-jBw3l5E0.js → SettingsRemote-BPvb-KLI.js} +335 -335
  342. package/dist/interface/ha/{SettingsSystem-BOv9hNlk.js → SettingsSystem-BJPrv9JE.js} +9 -9
  343. package/dist/interface/ha/{SettingsUsers-Biv-2F4C.js → SettingsUsers-CcpCz6Y1.js} +89 -89
  344. package/dist/interface/ha/{Terminal-CmcrGEV0.js → Terminal-DT7-WNH1.js} +16 -16
  345. package/dist/interface/ha/Training-CqGBf8k1.js +1694 -0
  346. package/dist/interface/ha/{Updates-DJAcmDQJ.js → Updates-CgdrqX6R.js} +13 -13
  347. package/dist/interface/ha/{VariableInput-DlYg7t0m.js → VariableInput-DOzSFgxT.js} +1 -1
  348. package/dist/interface/ha/{VersionsHandler-UnrAWn-b.js → VersionsHandler-ItklhE2t.js} +10 -10
  349. package/dist/interface/ha/{VirtualSensorCreate-CssxeaCC.js → VirtualSensorCreate-DbS3VqHC.js} +2 -2
  350. package/dist/interface/ha/{Workers-CLpqLugC.js → Workers-6PU7yUv1.js} +36 -36
  351. package/dist/interface/ha/{api-BP7mlzjP.js → api-Dv3Lk_g5.js} +8832 -8608
  352. package/dist/interface/ha/{api-B_tDa73J.js → api-anWolhVj.js} +3 -3
  353. package/dist/interface/ha/{assistant-Cb6ACguQ.js → assistant-B3m0Kgev.js} +101 -97
  354. package/dist/interface/ha/{auth-DOYDRgFm.js → auth-CAkpM_7A.js} +33 -33
  355. package/dist/interface/ha/{automationBlueprint-CbbG_ku4.js → automationBlueprint-DwVvbKbw.js} +4 -4
  356. package/dist/interface/ha/cameraui-cards.js +1 -1
  357. package/dist/interface/ha/{cards-BpBP1zVW.js → cards-B0qagpBw.js} +743 -667
  358. package/dist/interface/ha/{config-DroY1HBs.js → config-C20itAPE.js} +14 -14
  359. package/dist/interface/ha/database-refresh-outline-PiqlCkA7.js +19 -0
  360. package/dist/interface/ha/{dist-BTp4AyuI.js → dist-BIngHzHx.js} +5 -5
  361. package/dist/interface/ha/{dist-C6MBHJhs.js → dist-oFWkn6pD.js} +5 -8
  362. package/dist/interface/ha/{mqtt-NJTVdd53.js → mqtt-C6JvkA5E.js} +14 -14
  363. package/dist/interface/ha/{notifications-BPTvvgvv.js → notifications-gLmNZxwZ.js} +19 -19
  364. package/dist/interface/ha/{pinia-C6gt7A_Q.js → pinia-Du8AM917.js} +639 -625
  365. package/dist/interface/ha/{plugins-B29K3nQP.js → plugins-6x0kBuQb.js} +53 -53
  366. package/dist/interface/ha/{rooms-DLw0WUy_.js → rooms-C-mLT6mX.js} +11 -11
  367. package/dist/interface/ha/{server-B4b5_Ecu.js → server-DuikIt69.js} +28 -28
  368. package/dist/interface/ha/{types-DJHHL7nn.js → types-C0NcQ4Cz.js} +49 -38
  369. package/dist/interface/ha/{types-XqA3YJPD.js → types-wLECk3Ml.js} +3 -1
  370. package/dist/interface/ha/{ungrouped-xyK1QrsM.js → ungrouped-ooCH0Izh.js} +120 -120
  371. package/dist/interface/ha/{updates-XFSu9Tfm.js → updates-H8MlOQLC.js} +36 -36
  372. package/dist/interface/ha/{useAppVersion-BH3rU1zz.js → useAppVersion-DAUCV_cn.js} +1 -1
  373. package/dist/interface/ha/{useLogsSocket-CaTRzvgU.js → useLogsSocket-BOLAXPuD.js} +1 -1
  374. package/dist/interface/ha/{useNavLayout-DV0_OQx0.js → useNavLayout-B7VoHzM1.js} +2 -2
  375. package/dist/interface/ha/{useServerRestart-C8tynLUf.js → useServerRestart-qSH0bqwY.js} +1 -1
  376. package/dist/interface/ha/{useTabSwipe-CFoLDp3j.js → useTabSwipe-DYzG_gVG.js} +1 -1
  377. package/dist/interface/ha/{useUpdateChannel-DSG2RTPe.js → useUpdateChannel-CK7JiWbG.js} +2 -2
  378. package/dist/interface/ha/{useUpdatesSocket-CSQ0g7-6.js → useUpdatesSocket-DrqkGMuR.js} +1 -1
  379. package/dist/interface/ha/{useUserOptions-CFaCy6L1.js → useUserOptions-BteVUdaT.js} +1 -1
  380. package/dist/interface/index.html +70 -70
  381. package/dist/interface/sw.js +1 -1
  382. package/dist/server/package.json +28 -28
  383. package/dist/server/requirements.txt +2 -2
  384. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +44 -0
  385. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +2 -0
  386. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/detection.py +7 -2
  387. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/__init__.py +42 -0
  388. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/assistant_models.py +300 -0
  389. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/contract.py +9 -0
  390. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/helper.py +21 -0
  391. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/interfaces.py +80 -4
  392. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +6 -0
  393. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +2 -0
  394. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/face.py +3 -7
  395. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/face_embedder.py +69 -0
  396. package/dist/server/src/api/controllers/assistant.controller.js +1 -1
  397. package/dist/server/src/api/controllers/assistant.controller.js.map +1 -1
  398. package/dist/server/src/api/database/index.d.ts +1 -1
  399. package/dist/server/src/api/database/index.js +1 -1
  400. package/dist/server/src/api/database/migrations/v2-2-5.d.ts +3 -0
  401. package/dist/server/src/api/database/migrations/v2-2-5.js +19 -0
  402. package/dist/server/src/api/database/migrations/v2-2-5.js.map +1 -0
  403. package/dist/server/src/api/database/record-schemas.d.ts +4 -2
  404. package/dist/server/src/api/database/record-schemas.js +4 -1
  405. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  406. package/dist/server/src/api/database/types.d.ts +5 -1
  407. package/dist/server/src/api/schemas/assistant.schema.d.ts +21 -7
  408. package/dist/server/src/api/schemas/assistant.schema.js +4 -1
  409. package/dist/server/src/api/schemas/assistant.schema.js.map +1 -1
  410. package/dist/server/src/api/schemas/cameras.schema.d.ts +56 -8
  411. package/dist/server/src/api/schemas/cameras.schema.js +4 -3
  412. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  413. package/dist/server/src/api/services/assistant.service.d.ts +1 -1
  414. package/dist/server/src/api/services/assistant.service.js +4 -1
  415. package/dist/server/src/api/services/assistant.service.js.map +1 -1
  416. package/dist/server/src/api/services/cameras.service.js +2 -2
  417. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  418. package/dist/server/src/api/websocket/nsp/worker-perf.js +13 -0
  419. package/dist/server/src/api/websocket/nsp/worker-perf.js.map +1 -1
  420. package/dist/server/src/api/websocket/types.d.ts +12 -0
  421. package/dist/server/src/assistant/budget.d.ts +27 -0
  422. package/dist/server/src/assistant/budget.js +118 -0
  423. package/dist/server/src/assistant/budget.js.map +1 -0
  424. package/dist/server/src/assistant/compaction.d.ts +10 -0
  425. package/dist/server/src/assistant/compaction.js +83 -0
  426. package/dist/server/src/assistant/compaction.js.map +1 -0
  427. package/dist/server/src/assistant/docs.js +4 -3
  428. package/dist/server/src/assistant/docs.js.map +1 -1
  429. package/dist/server/src/assistant/history.d.ts +1 -0
  430. package/dist/server/src/assistant/history.js +28 -0
  431. package/dist/server/src/assistant/history.js.map +1 -1
  432. package/dist/server/src/assistant/manager.d.ts +10 -0
  433. package/dist/server/src/assistant/manager.js +261 -62
  434. package/dist/server/src/assistant/manager.js.map +1 -1
  435. package/dist/server/src/assistant/plugin-models.d.ts +34 -0
  436. package/dist/server/src/assistant/plugin-models.js +266 -0
  437. package/dist/server/src/assistant/plugin-models.js.map +1 -0
  438. package/dist/server/src/assistant/prompt.d.ts +7 -1
  439. package/dist/server/src/assistant/prompt.js +75 -11
  440. package/dist/server/src/assistant/prompt.js.map +1 -1
  441. package/dist/server/src/assistant/providers.js +7 -3
  442. package/dist/server/src/assistant/providers.js.map +1 -1
  443. package/dist/server/src/assistant/recap.d.ts +3 -0
  444. package/dist/server/src/assistant/recap.js +65 -0
  445. package/dist/server/src/assistant/recap.js.map +1 -0
  446. package/dist/server/src/assistant/registry.d.ts +16 -1
  447. package/dist/server/src/assistant/registry.js +49 -1
  448. package/dist/server/src/assistant/registry.js.map +1 -1
  449. package/dist/server/src/assistant/retry.js +38 -24
  450. package/dist/server/src/assistant/retry.js.map +1 -1
  451. package/dist/server/src/assistant/router.d.ts +7 -0
  452. package/dist/server/src/assistant/router.js +67 -0
  453. package/dist/server/src/assistant/router.js.map +1 -0
  454. package/dist/server/src/assistant/skills.d.ts +8 -0
  455. package/dist/server/src/assistant/skills.js +59 -1
  456. package/dist/server/src/assistant/skills.js.map +1 -1
  457. package/dist/server/src/assistant/threads.d.ts +1 -0
  458. package/dist/server/src/assistant/threads.js +7 -1
  459. package/dist/server/src/assistant/threads.js.map +1 -1
  460. package/dist/server/src/assistant/tool-names.js +9 -1
  461. package/dist/server/src/assistant/tool-names.js.map +1 -1
  462. package/dist/server/src/assistant/tool-rank.d.ts +2 -0
  463. package/dist/server/src/assistant/tool-rank.js +48 -0
  464. package/dist/server/src/assistant/tool-rank.js.map +1 -0
  465. package/dist/server/src/assistant/tool-schema.d.ts +3 -0
  466. package/dist/server/src/assistant/tool-schema.js +65 -0
  467. package/dist/server/src/assistant/tool-schema.js.map +1 -0
  468. package/dist/server/src/assistant/tools/api.js +7 -9
  469. package/dist/server/src/assistant/tools/api.js.map +1 -1
  470. package/dist/server/src/assistant/tools/ask.js +1 -2
  471. package/dist/server/src/assistant/tools/ask.js.map +1 -1
  472. package/dist/server/src/assistant/tools/automations.js +3 -5
  473. package/dist/server/src/assistant/tools/automations.js.map +1 -1
  474. package/dist/server/src/assistant/tools/cameras.js +3 -4
  475. package/dist/server/src/assistant/tools/cameras.js.map +1 -1
  476. package/dist/server/src/assistant/tools/docs.js +5 -6
  477. package/dist/server/src/assistant/tools/docs.js.map +1 -1
  478. package/dist/server/src/assistant/tools/instance.js +19 -19
  479. package/dist/server/src/assistant/tools/instance.js.map +1 -1
  480. package/dist/server/src/assistant/tools/memory.js +3 -4
  481. package/dist/server/src/assistant/tools/memory.js.map +1 -1
  482. package/dist/server/src/assistant/tools/metrics.js +1 -2
  483. package/dist/server/src/assistant/tools/metrics.js.map +1 -1
  484. package/dist/server/src/assistant/tools/notifications.js +4 -11
  485. package/dist/server/src/assistant/tools/notifications.js.map +1 -1
  486. package/dist/server/src/assistant/tools/plugins.js +12 -14
  487. package/dist/server/src/assistant/tools/plugins.js.map +1 -1
  488. package/dist/server/src/assistant/tools/report.js +17 -12
  489. package/dist/server/src/assistant/tools/report.js.map +1 -1
  490. package/dist/server/src/assistant/tools/schedules.js +6 -11
  491. package/dist/server/src/assistant/tools/schedules.js.map +1 -1
  492. package/dist/server/src/assistant/tools/sensors.js +63 -4
  493. package/dist/server/src/assistant/tools/sensors.js.map +1 -1
  494. package/dist/server/src/assistant/tools/settings.js +2 -3
  495. package/dist/server/src/assistant/tools/settings.js.map +1 -1
  496. package/dist/server/src/assistant/tools/system.js +3 -5
  497. package/dist/server/src/assistant/tools/system.js.map +1 -1
  498. package/dist/server/src/assistant/tools/terminal.js +4 -5
  499. package/dist/server/src/assistant/tools/terminal.js.map +1 -1
  500. package/dist/server/src/assistant/types.d.ts +10 -1
  501. package/dist/server/src/assistant/uploads.d.ts +2 -1
  502. package/dist/server/src/assistant/uploads.js +25 -3
  503. package/dist/server/src/assistant/uploads.js.map +1 -1
  504. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +5 -0
  505. package/dist/server/src/camera/decoder/detection-coordinator.js +45 -14
  506. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  507. package/dist/server/src/camera/decoder/detection-pipeline.js +2 -1
  508. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  509. package/dist/server/src/camera/decoder/event-manager.d.ts +27 -4
  510. package/dist/server/src/camera/decoder/event-manager.js +175 -48
  511. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  512. package/dist/server/src/camera/decoder/nvr-sink.d.ts +4 -1
  513. package/dist/server/src/camera/decoder/nvr-sink.js +1 -1
  514. package/dist/server/src/camera/decoder/nvr-sink.js.map +1 -1
  515. package/dist/server/src/camera/decoder/perf-tracker.d.ts +10 -0
  516. package/dist/server/src/camera/decoder/perf-tracker.js +20 -0
  517. package/dist/server/src/camera/decoder/perf-tracker.js.map +1 -1
  518. package/dist/server/src/camera/decoder/secondary-stage.d.ts +21 -1
  519. package/dist/server/src/camera/decoder/secondary-stage.js +301 -59
  520. package/dist/server/src/camera/decoder/secondary-stage.js.map +1 -1
  521. package/dist/server/src/camera/decoder/side-queue.d.ts +13 -0
  522. package/dist/server/src/camera/decoder/side-queue.js +53 -0
  523. package/dist/server/src/camera/decoder/side-queue.js.map +1 -0
  524. package/dist/server/src/camera/decoder/sources/buffered-source.d.ts +2 -0
  525. package/dist/server/src/camera/decoder/sources/buffered-source.js +7 -1
  526. package/dist/server/src/camera/decoder/sources/buffered-source.js.map +1 -1
  527. package/dist/server/src/camera/decoder/types.d.ts +11 -1
  528. package/dist/server/src/camera/decoder/types.js +9 -1
  529. package/dist/server/src/camera/decoder/types.js.map +1 -1
  530. package/dist/server/src/camera/sensors/controller.d.ts +1 -0
  531. package/dist/server/src/camera/sensors/controller.js +28 -4
  532. package/dist/server/src/camera/sensors/controller.js.map +1 -1
  533. package/dist/server/src/main.js +11 -2
  534. package/dist/server/src/main.js.map +1 -1
  535. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +1 -14
  536. package/dist/server/src/plugins/runtime/python/proxy/sensor.py +14 -1
  537. package/dist/server/src/plugins/runtime/python/proxy/sensor_manager.py +1 -13
  538. package/dist/server/src/rpc/interfaces/detection.d.ts +14 -2
  539. package/dist/server/src/rpc/server.js +1 -0
  540. package/dist/server/src/rpc/server.js.map +1 -1
  541. package/dist/server/src/services/config/index.d.ts +1 -0
  542. package/dist/server/src/services/config/index.js +6 -11
  543. package/dist/server/src/services/config/index.js.map +1 -1
  544. package/dist/server/src/utils/camera.js +8 -5
  545. package/dist/server/src/utils/camera.js.map +1 -1
  546. package/dist/server/src/utils/instance-lock.d.ts +1 -0
  547. package/dist/server/src/utils/instance-lock.js +57 -0
  548. package/dist/server/src/utils/instance-lock.js.map +1 -0
  549. package/dist/server/src/workers/agent.d.ts +2 -0
  550. package/dist/server/src/workers/agent.js +11 -1
  551. package/dist/server/src/workers/agent.js.map +1 -1
  552. package/dist/server/src/workers/manager.js +9 -2
  553. package/dist/server/src/workers/manager.js.map +1 -1
  554. package/dist/server/src/workers/types.d.ts +1 -0
  555. package/npm-shrinkwrap.json +209 -209
  556. package/package.json +28 -28
  557. package/dist/interface/assets/Assistant-bB8RBo-m.js +0 -1
  558. package/dist/interface/assets/Automations-BdZZW2eN.js +0 -2
  559. package/dist/interface/assets/Camera-Ct7ndOxr.js +0 -2
  560. package/dist/interface/assets/Camview-BjQdTHNh.js +0 -1
  561. package/dist/interface/assets/Config-CBTbYd5v.js +0 -2
  562. package/dist/interface/assets/ConfigTriggerGeofence-Bl2ZacbY.js +0 -1
  563. package/dist/interface/assets/Console-Cfk9MA9m.js +0 -1
  564. package/dist/interface/assets/CuiAssistantConversation-BHK_i56I.js +0 -5
  565. package/dist/interface/assets/CuiAutomationRunsDialog-B0ohEHw0.js +0 -1
  566. package/dist/interface/assets/CuiBottomSheet-NgX7VFao.js +0 -1
  567. package/dist/interface/assets/CuiCameraRecordings-BTD-CQAg.js +0 -1
  568. package/dist/interface/assets/CuiCameraTable-KPk46Xcl.js +0 -1
  569. package/dist/interface/assets/CuiDataTable-CsqH-RB1.js +0 -1
  570. package/dist/interface/assets/CuiMarkdownContent-DSArmS0V.js +0 -1
  571. package/dist/interface/assets/CuiSchema-ytExUVhI.js +0 -1
  572. package/dist/interface/assets/Faces-Cb6XMxDC.js +0 -1
  573. package/dist/interface/assets/Floorplan-DbqADtN1.js +0 -1
  574. package/dist/interface/assets/Instances-DrMzPD65.js +0 -1
  575. package/dist/interface/assets/Metrics-BUP_-7o7.css +0 -1
  576. package/dist/interface/assets/Metrics-CqhUnVRA.js +0 -12
  577. package/dist/interface/assets/Plugin-BDqNeTCT.css +0 -1
  578. package/dist/interface/assets/Plugin-DyOg_fbg.js +0 -1
  579. package/dist/interface/assets/PluginSearch-BgecD9Ob.js +0 -2
  580. package/dist/interface/assets/PluginSearch-C8xHKikH.js +0 -1
  581. package/dist/interface/assets/Plugins-CuujWEtM.js +0 -1
  582. package/dist/interface/assets/Recordings-9FJqCfdM.css +0 -1
  583. package/dist/interface/assets/Recordings-ths9khZr.js +0 -1
  584. package/dist/interface/assets/SensorEdit-BzoIH7QC.js +0 -1
  585. package/dist/interface/assets/Sensors-CK5uExfU.js +0 -2
  586. package/dist/interface/assets/Settings-DN5hFtw_.js +0 -1
  587. package/dist/interface/assets/SettingsAccount-BCrmon5O.js +0 -1
  588. package/dist/interface/assets/SettingsAccount-CSy1BAIH.js +0 -1
  589. package/dist/interface/assets/SettingsAppearance-h_XPZfQl.js +0 -1
  590. package/dist/interface/assets/SettingsAssistant-BESab92C.css +0 -1
  591. package/dist/interface/assets/SettingsAssistant-D8FmVbUL.js +0 -1
  592. package/dist/interface/assets/SettingsMqtt-DCkLIYpF.js +0 -1
  593. package/dist/interface/assets/SettingsRemote-DXlQKwlT.js +0 -2
  594. package/dist/interface/assets/Terminal-Dl-aAZME.js +0 -4
  595. package/dist/interface/assets/Training-B1oQjAr8.css +0 -1
  596. package/dist/interface/assets/Training-DdZjXgt1.js +0 -1
  597. package/dist/interface/assets/Updates-CkB1lXuo.js +0 -2
  598. package/dist/interface/assets/Workers-7yiebNkl.js +0 -2
  599. package/dist/interface/assets/api-DK2Bav9D.js +0 -4
  600. package/dist/interface/assets/api-DTCqDA-h.css +0 -2
  601. package/dist/interface/assets/assistant-BJ6xKcw_.js +0 -1
  602. package/dist/interface/assets/cloudHandoff-DtlquYGZ.js +0 -1
  603. package/dist/interface/assets/esm-4Hzzm93H.js +0 -1
  604. package/dist/interface/assets/esm-BrFPi5_4.js +0 -1
  605. package/dist/interface/assets/esm-C7pcdfXf.js +0 -1
  606. package/dist/interface/assets/esm-C8bsO829.js +0 -1
  607. package/dist/interface/assets/esm-CXzdnAMk.js +0 -1
  608. package/dist/interface/assets/esm-CZNGZkPu.js +0 -1
  609. package/dist/interface/assets/esm-D0iI7OVb.js +0 -1
  610. package/dist/interface/assets/esm-DKolm6KU.js +0 -1
  611. package/dist/interface/assets/esm-DTywI9gs.js +0 -1
  612. package/dist/interface/assets/esm-DifXcK9i.js +0 -1
  613. package/dist/interface/assets/esm-Dq5o-Xb4.js +0 -1
  614. package/dist/interface/assets/esm-IbQuUZ5l.js +0 -1
  615. package/dist/interface/assets/esm-Xre_AP5i.js +0 -1
  616. package/dist/interface/assets/esm-zYnXHhpH.js +0 -1
  617. package/dist/interface/assets/main-D74mRIxc.js +0 -3
  618. package/dist/interface/assets/native-CAujTO6L.js +0 -1
  619. package/dist/interface/assets/native-sQ88qazf.js +0 -1
  620. package/dist/interface/assets/plugin-D7K50k_y.js +0 -1
  621. package/dist/interface/assets/sensorIcons-DQVgryYP.js +0 -1
  622. package/dist/interface/assets/types-5rE8Tz0_.js +0 -1
  623. package/dist/interface/assets/ungrouped-D56FGIrg.js +0 -1
  624. package/dist/interface/assets/useBackupRestore-Crfd592q.js +0 -1
  625. package/dist/interface/assets/useUserOptions-BTRBUuE2.js +0 -1
  626. package/dist/interface/assets/vendor-gridstack-anPyIu9V.js +0 -3
  627. package/dist/interface/assets/web-3M-ddn4G.js +0 -1
  628. package/dist/interface/assets/web-BY80VGyU.js +0 -1
  629. package/dist/interface/assets/web-B_tUYyM0.js +0 -1
  630. package/dist/interface/assets/web-BjKL51lK-Bb5NYhpJ.js +0 -1
  631. package/dist/interface/assets/web-Bv-4PJGI.js +0 -1
  632. package/dist/interface/assets/web-C3Pk8qeB.js +0 -1
  633. package/dist/interface/assets/web-CLcvGPH6.js +0 -1
  634. package/dist/interface/assets/web-DO8gTOVJ.js +0 -1
  635. package/dist/interface/assets/web-DR5q_DmI.js +0 -1
  636. package/dist/interface/assets/web-DRHbG4Te.js +0 -1
  637. package/dist/interface/assets/web-DaQ8d8yk.js +0 -1
  638. package/dist/interface/assets/web-EVRW5whF.js +0 -1
  639. package/dist/interface/assets/web-S6Dk3UWN.js +0 -1
  640. package/dist/interface/assets/web-pWIp0wf0.js +0 -1
  641. package/dist/interface/assets/workbox-window.prod.es5-Dz5rcO1z.js +0 -1
  642. package/dist/interface/ha/Faces-C_svyTrr.js +0 -1282
  643. package/dist/interface/ha/Training-BEzPiXZg.js +0 -1512
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camera.ui/server",
3
- "version": "2.2.5-beta.4",
3
+ "version": "2.2.5",
4
4
  "description": "camera.ui server",
5
5
  "author": "seydx (https://github.com/cameraui/camera.ui)",
6
6
  "type": "module",
@@ -24,13 +24,13 @@
24
24
  "scripts": {
25
25
  "build": "npm run build:server && npm run copy:files && node scripts/build-docs.mjs",
26
26
  "build:server": "rimraf dist/server && tsc && mypy src",
27
- "check": "tsc --noEmit",
27
+ "check": "tsc --noEmit && node ../scripts/check-imports.mjs server",
28
28
  "copy:files": "cpy package.json dist/server && cpy requirements.txt dist/server && cpy 'src/**/*.py' dist/server/src --parents",
29
29
  "format": "prettier --write 'src/' 'bin/' --ignore-unknown --no-error-on-unmatched-pattern && ruff format",
30
30
  "install-updates": "npm i --save --legacy-peer-deps",
31
31
  "lint": "eslint --fix . && ruff check --fix && mypy --config-file ./mypy.ini src",
32
32
  "update": "updates -M npm,pypi,go,cargo,docker,make --update ./ && cupdate",
33
- "prepublishOnly": "npm i --package-lock-only && npm --prefix .. run check:sensors && npm run lint && npm run format && npm run build && npm --prefix ../ui run lint && npm --prefix ../ui run format && npm --prefix ../ui run build",
33
+ "prepublishOnly": "npm i --package-lock-only && node ../scripts/check-imports.mjs server && npm --prefix .. run check:sensors && npm run lint && npm run format && npm run build && npm --prefix ../ui run lint && npm --prefix ../ui run format && npm --prefix ../ui run build",
34
34
  "prepack": "node ../scripts/shrinkwrap.mjs create",
35
35
  "postpack": "node ../scripts/shrinkwrap.mjs cleanup",
36
36
  "publish:dev": "npm publish --tag dev"
@@ -39,44 +39,44 @@
39
39
  "@bjia56/portable-python": "^0.1.166",
40
40
  "@camera.ui/cloudflared": "^2026.9.1-cui.1",
41
41
  "@camera.ui/common": "~0.0.58-beta.2",
42
- "@camera.ui/go2rtc": "^1.9.14-cui.45",
42
+ "@camera.ui/go2rtc": "^1.9.14-cui.46",
43
43
  "@camera.ui/nats": "^2.15.0",
44
44
  "@camera.ui/rpc": "^1.0.12",
45
45
  "@camera.ui/rust-detector": "~0.0.12",
46
- "@camera.ui/rust-postprocessor": "~0.1.8",
47
- "@camera.ui/sdk": "~1.2.39",
48
- "@camera.ui/tunnel": "^1.0.4",
46
+ "@camera.ui/rust-postprocessor": "~0.1.9",
47
+ "@camera.ui/sdk": "~1.3.3",
48
+ "@camera.ui/tunnel": "^1.0.7",
49
49
  "@eneris/push-receiver": "^4.3.1",
50
50
  "@fastify/cors": "^11.3.0",
51
51
  "@fastify/helmet": "^13.1.1",
52
52
  "@fastify/http-proxy": "^11.6.2",
53
- "@fastify/multipart": "^10.1.1",
53
+ "@fastify/multipart": "^10.1.2",
54
54
  "@fastify/static": "^10.1.4",
55
- "@fastify/swagger": "^9.8.1",
55
+ "@fastify/swagger": "^9.9.0",
56
56
  "@fastify/swagger-ui": "^6.1.1",
57
57
  "@homebridge/ciao": "npm:@seydx/ciao@1.3.10",
58
58
  "@modelcontextprotocol/sdk": "1.30.0",
59
- "@peculiar/asn1-schema": "^2.9.4",
60
- "@peculiar/asn1-x509": "^2.9.4",
59
+ "@peculiar/asn1-schema": "^2.9.5",
60
+ "@peculiar/asn1-x509": "^2.9.5",
61
61
  "@peculiar/x509": "1.14.3",
62
62
  "@scrypted/node-pty": "^1.0.25",
63
- "@tanstack/ai": "^0.55.0",
64
- "@tanstack/ai-anthropic": "^0.18.7",
65
- "@tanstack/ai-compaction": "^0.1.3",
66
- "@tanstack/ai-gemini": "^0.30.0",
67
- "@tanstack/ai-memory": "^0.2.0",
68
- "@tanstack/ai-ollama": "^0.11.3",
69
- "@tanstack/ai-openai": "^0.22.8",
70
- "@tanstack/ai-openrouter": "^0.19.12",
71
- "@tanstack/ai-persistence": "^0.6.0",
72
- "@tanstack/ai-skills": "^0.1.4",
63
+ "@tanstack/ai": "^0.58.0",
64
+ "@tanstack/ai-anthropic": "^0.18.11",
65
+ "@tanstack/ai-compaction": "^0.1.6",
66
+ "@tanstack/ai-gemini": "^0.32.0",
67
+ "@tanstack/ai-memory": "^0.2.3",
68
+ "@tanstack/ai-ollama": "^0.11.6",
69
+ "@tanstack/ai-openai": "^0.23.1",
70
+ "@tanstack/ai-openrouter": "^0.19.16",
71
+ "@tanstack/ai-persistence": "^0.6.4",
72
+ "@tanstack/ai-skills": "^0.1.7",
73
73
  "adm-zip": "^0.6.1",
74
74
  "aedes": "^1.2.0",
75
75
  "croner": "^10.0.1",
76
76
  "fastify": "^5.12.5",
77
77
  "fastify-plugin": "^6.0.0",
78
78
  "fastify-type-provider-zod": "7.0.0",
79
- "fs-extra": "^11.4.0",
79
+ "fs-extra": "^11.4.1",
80
80
  "js-yaml": "^5.4.2",
81
81
  "jsonwebtoken": "^9.0.3",
82
82
  "lmdb": "^3.5.6",
@@ -87,10 +87,10 @@
87
87
  "reflect-metadata": "^0.2.2",
88
88
  "semver": "^7.8.5",
89
89
  "socket.io": "^4.8.3",
90
- "systeminformation": "^5.33.12",
90
+ "systeminformation": "^5.33.13",
91
91
  "tar": "^7.5.22",
92
92
  "tsyringe": "^4.10.0",
93
- "undici": "^8.10.2",
93
+ "undici": "^8.11.0",
94
94
  "werift": "^0.24.4",
95
95
  "ws": "^8.21.3",
96
96
  "zod": "4.6.5"
@@ -102,7 +102,7 @@
102
102
  "@types/adm-zip": "^0.5.8",
103
103
  "@types/fs-extra": "^11.0.4",
104
104
  "@types/jsonwebtoken": "^9.0.10",
105
- "@types/node": "26.6.1",
105
+ "@types/node": "26.6.2",
106
106
  "@types/node-forge": "^1.3.14",
107
107
  "@types/npm-registry-fetch": "^8.0.9",
108
108
  "@types/pacote": "^11.1.8",
@@ -110,7 +110,7 @@
110
110
  "@types/semver": "^7.8.0",
111
111
  "@types/tail": "^2.2.3",
112
112
  "@types/ws": "^8.18.1",
113
- "@typescript-eslint/parser": "^8.70.0",
113
+ "@typescript-eslint/parser": "^8.70.1",
114
114
  "ansicolor": "^2.0.3",
115
115
  "cpy-cli": "^7.0.0",
116
116
  "cross-env": "^10.1.0",
@@ -126,8 +126,8 @@
126
126
  "rimraf": "^6.1.3",
127
127
  "tail": "^2.2.6",
128
128
  "typescript": "5.9.3",
129
- "typescript-eslint": "^8.70.0",
130
- "updates": "^18.1.1",
129
+ "typescript-eslint": "^8.70.1",
130
+ "updates": "^19.0.0",
131
131
  "vitest": "^5.0.1"
132
132
  },
133
133
  "overrides": {
@@ -1 +0,0 @@
1
- import{Bt as e,Kt as t,Vr as n,Yr as r,z as i,zt as ee}from"./vendor-cameraui-QXD8jkcj.js";import{In as a,Ln as o,Mn as s,U as c,_ as l,ct as u,m as d,vr as f,z as p}from"./api-DK2Bav9D.js";import{$n as m,Cr as h,In as g,Jn as _,On as v,Pn as y,Rn as b,Sr as x,Xn as S,an as te,br as ne,cn as C,dn as w,dr as T,er as E,gn as D,hn as O,ln as k,nn as re,or as ie,rn as A,sn as j,sr as M,un as N,vn as P,yr as F}from"./vendor-DGke_6M4.js";import{i as I}from"./alert-outline-D7zaSJH_.js";import{l as ae,p as oe,u as se}from"./vendor-core-CnhnyKDl.js";import{F as L,I as ce}from"./vendor-primevue-CCUqY55W.js";import{i as le,t as ue}from"./assistant-BJ6xKcw_.js";import{t as de}from"./CuiAssistantConversation-BHK_i56I.js";import{t as fe}from"./plus--kDl8ben.js";import{t as pe}from"./history-CNJREqJG.js";import{t as R}from"./search-BXbDWhLk.js";import{t as me}from"./back-filled-BPBVnQjx.js";var z={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function he(e,t){return g(),w(`svg`,z,[...t[0]||=[C(`path`,{fill:`currentColor`,d:`M20 4H4a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2m0 14H9V6h11Z`},null,-1)]])}var ge=M({name:`mdi-dock-left`,render:he}),_e={class:`flex items-center gap-2 px-3 pt-3 pb-1`},B={class:`pl-1 text-sm font-semibold text-color`},V={key:0,class:`flex justify-center py-6`},H={key:1,class:`px-4 py-6 text-[13px] text-muted`},U={key:2,class:`flex min-h-0 flex-1 flex-col overflow-y-auto px-2 pb-3`},W={class:`cui-assistant-group px-2 pt-3.5 pb-1 text-[11.5px] font-medium text-muted`},G=[`onClick`],K={class:`min-w-0 flex-1 truncate`},q={key:3,class:`cui-assistant-sidebar-foot px-3 py-2`},ve=s(P({__name:`CuiAssistantSidebar`,props:{threads:{},activeId:{},isOpen:{type:Boolean},isOverlay:{type:Boolean},loading:{type:Boolean,default:!1},collapsible:{type:Boolean,default:!0}},emits:[`select`,`create`,`delete`,`deleteAll`,`close`],setup(n,{emit:a}){let s=n,c=a,{topbarOffset:l,bottombarHeight:u}=o(),d=_(`sidebarRef`),f=T(``),v=j(()=>s.isOpen?288:0),y=j(()=>{let e=f.value.trim().toLowerCase(),t=s.threads.filter(t=>!e||t.title.toLowerCase().includes(e)).sort((e,t)=>t.updatedAt-e.updatedAt),n=[`today`,`yesterday`,`week`,`month`,`older`],r=new Map;for(let e of t){let t=S(e.updatedAt);r.set(t,[...r.get(t)??[],e])}return n.filter(e=>r.has(e)).map(e=>({key:e,threads:r.get(e)}))});function S(e){let t=e=>new Date(e.getFullYear(),e.getMonth(),e.getDate()).getTime(),n=Math.round((t(new Date)-t(new Date(e)))/864e5);return n<=0?`today`:n===1?`yesterday`:n<=7?`week`:n<=30?`month`:`older`}return r(d,e=>{s.isOpen&&s.isOverlay&&(e.target.closest(`#assistant-sidebar-toggle`)||c(`close`))}),(r,a)=>{let o=ge,s=e,_=fe,S=R,te=L,T=i,j=ce,M=ee,P=p,I=t;return g(),w(`nav`,{ref_key:`sidebarRef`,ref:d,class:`cui-assistant-sidebar fixed transition-all duration-200 overflow-hidden md:!pl-0 pl-safe pb-safe flex flex-col z-4`,style:x({width:`${F(v)}px`,borderRightWidth:n.isOpen?`1px`:`0px`,paddingBottom:`calc(var(--safe-area-inset-top) + var(--safe-area-inset-bottom) + ${F(u)}px + ${F(l)}px)`})},[C(`div`,{class:`flex h-full min-h-0 flex-col`,style:x({width:`${F(288)}px`})},[C(`div`,_e,[C(`span`,B,h(r.$t(`views.assistant.conversations`)),1),n.collapsible?E((g(),k(s,{key:0,type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-icon-md ml-auto shrink-0`,onClick:a[0]||=e=>c(`close`)},{icon:m(()=>[D(o,{width:`100%`,height:`100%`})]),_:1})),[[I,{value:r.$t(`views.assistant.hide_sidebar`)},void 0,{bottom:!0}]]):N(``,!0)]),C(`button`,{type:`button`,class:`cui-assistant-new mx-3 my-2 flex cursor-pointer items-center gap-2 rounded-[10px] px-3 py-2 text-sm font-medium text-color`,onClick:a[1]||=e=>c(`create`)},[D(_,{class:`w-4 h-4 text-primary`}),O(` `+h(r.$t(`views.assistant.new_conversation`)),1)]),D(j,{class:`mx-3 mb-1`},{default:m(()=>[D(te,null,{default:m(()=>[D(S,{class:`w-4 h-4`})]),_:1}),D(T,{modelValue:F(f),"onUpdate:modelValue":a[2]||=e=>ie(f)?f.value=e:null,placeholder:r.$t(`views.assistant.search_placeholder`),class:`cui-assistant-search w-full text-sm`},null,8,[`modelValue`,`placeholder`])]),_:1}),n.loading?(g(),w(`div`,V,[D(M,{class:`w-[24px] h-[24px] m-0`,"stroke-width":`5`})])):F(y).length?(g(),w(`div`,U,[(g(!0),w(A,null,b(F(y),e=>(g(),w(A,{key:e.key},[C(`span`,W,h(r.$t(`views.assistant.group_${e.key}`)),1),(g(!0),w(A,null,b(e.threads,e=>(g(),w(`div`,{key:e.id,class:ne([`cui-assistant-item group relative flex items-center gap-2 rounded-md py-1.5 pl-3 pr-2 text-[13.5px] cursor-pointer select-none`,{active:e.id===n.activeId}]),onClick:t=>c(`select`,e.id)},[C(`span`,K,h(e.title),1),E((g(),k(s,{type:`button`,severity:`secondary`,text:``,rounded:``,class:`cui-assistant-item-delete cui-icon-sm shrink-0 opacity-0 group-hover:opacity-100 focus:opacity-100`,onClick:re(t=>c(`delete`,e.id),[`stop`])},{icon:m(()=>[D(P,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[I,{value:r.$t(`views.assistant.delete_conversation`)},void 0,{left:!0}]])],10,G))),128))],64))),128))])):(g(),w(`div`,H,h(F(f)?r.$t(`views.assistant.no_matches`):r.$t(`views.assistant.no_conversations`)),1)),n.threads.length?(g(),w(`div`,q,[D(s,{type:`button`,severity:`danger`,text:``,class:`cui-button-small w-full`,label:r.$t(`views.assistant.delete_all_conversations`),onClick:a[3]||=e=>c(`deleteAll`)},null,8,[`label`])])):N(``,!0)],4)],4)}}}),[[`__scopeId`,`data-v-90cac378`]]),ye={class:`font-semibold text-xl truncate`},be={class:`w-full h-full relative`},xe={key:0,class:`w-full flex flex-row h-[calc(40px+1rem)] py-2 items-center fixed z-10`},Se={class:`relative z-2 page-title !m-0`},Ce={key:1,class:`relative z-2 ml-3 truncate text-[13.5px] text-muted max-w-[46ch]`},we={key:1,class:`fixed right-0 z-10 h-[calc(40px+1rem)] py-2 pr-2 flex items-center`},Te={key:0,class:`flex flex-1 items-center justify-center`},Ee={key:1,class:`flex flex-1 flex-col items-center justify-center gap-5 px-6 text-center`},De={class:`cui-assistant-hero-icon flex h-16 w-16 items-center justify-center rounded-full`},Oe={class:`max-w-md`},ke={class:`text-lg font-semibold text-color`},Ae={class:`mt-1 text-sm text-muted`},J=s(P({__name:`Assistant`,setup(r){let i=new ue,o=ae(),s=se(),{t:p}=n(),{smBreakpoint:b,mdBreakpoint:O,xlBreakpoint:re}=a(),{openTextDialog:ie}=u(),A=f(`/notifications`),M=l(),{user:P}=oe(M),{data:L,isLoading:ce}=i.getAssistantInfoQuery(),{data:R,isLoading:z}=i.listThreadsQuery(),he=i.deleteThreadMutation(),_e=i.deleteAllThreadsMutation(),B=_(`conversationRef`),V=T(Ie()),H=T([]),U=T({}),W=T(typeof o.query.prompt==`string`?o.query.prompt:void 0),G=T(!1),K=T(re.value?`opened`:`closed`),q=T(!1),J=j(()=>L.value?.status.state??`disabled`),je=j(()=>P.value?.role===`admin`||P.value?.role===`master`),Me=j(()=>(L.value?.tools??[]).filter(e=>e.approval)),Y=j(()=>K.value===`opened`),Ne=j(()=>R.value?.find(e=>e.id===V.value)?.title??``),X=j(()=>O.value),Pe=j(()=>O.value||J.value!==`ready`?`0px`:Y.value?`288px`:`0px`),Fe=j(()=>[p(`views.assistant.suggestion_today`),p(`views.assistant.suggestion_week`),p(`views.assistant.suggestion_offline`),p(`views.assistant.suggestion_sensors`),p(`views.assistant.suggestion_tools`)]);function Ie(){return d()}function Le(){K.value=K.value===`opened`?`closed`:`opened`}function Z(){K.value=`closed`}function Q(){H.value=[],U.value={},W.value=void 0,V.value=Ie(),X.value&&Z()}async function $(e){if(X.value&&Z(),e!==V.value){G.value=!0;try{let t=await le(e);H.value=t.messages,U.value=t.attachments,W.value=void 0,V.value=e}finally{G.value=!1}}}async function Re(e){await he.mutateAsync(e).catch(()=>void 0),e===V.value&&Q()}async function ze(e){H.value=e.messages,U.value=e.attachments,W.value=void 0,V.value=e._id,await i.queryClient.refetchQueries({queryKey:[`assistant`,`threads`],exact:!0})}function Be(){ie({data:{title:p(`views.assistant.delete_all_conversations`),contentText:p(`views.assistant.delete_all_confirm`),confirmText:p(`components.form.button.remove`),confirmButtonProps:{severity:`danger`}},onConfirm:async()=>{await _e.mutateAsync(),Q()}})}async function Ve(e){try{await $(e)}catch{V.value=e}}async function He(){await i.queryClient.refetchQueries({queryKey:[`assistant`,`threads`],exact:!0})}async function Ue(e){if(await i.queryClient.refetchQueries({queryKey:[`assistant`,`threads`],exact:!0}),e.threadId!==V.value)return;let t=await le(e.threadId).catch(()=>void 0);t&&B.value?.refreshFromStore(t)}function We(){let e=R.value?.some(e=>e.id===V.value),t={...o.query,thread:e?V.value:void 0};t.thread!==o.query.thread&&s.replace({query:t})}return S([V,R],We),y(async()=>{A.on(`assistant-thread`,e=>Ue(e));let e=typeof o.query.thread==`string`?o.query.thread:void 0;o.query.prompt!==void 0&&s.replace({query:{...o.query,prompt:void 0}}),e&&!W.value&&await Ve(e),await v(),q.value=!0}),(n,r)=>{let i=c,a=me,o=e,s=pe,l=fe,u=ve,d=ge,f=ee,p=I,_=de,v=t;return g(),w(`div`,null,[D(i,{position:`center`},{default:m(()=>[C(`span`,ye,h(n.$t(`views.assistant.title`)),1)]),_:1}),D(i,{position:`left`},{default:m(()=>[D(o,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:r[0]||=e=>n.$router.push(`/menu`)},{icon:m(()=>[D(a,{class:`w-6 h-6`})]),_:1}),D(o,{id:`assistant-sidebar-toggle`,severity:`secondary`,class:`cui-button p-2 text-color`,text:``,rounded:``,onClick:Le},{icon:m(()=>[D(s,{width:`100%`,height:`100%`})]),_:1})]),_:1}),D(i,{position:`right`},{default:m(()=>[D(o,{severity:`secondary`,class:`cui-button p-2 text-color`,text:``,rounded:``,disabled:F(J)!==`ready`,onClick:Q},{icon:m(()=>[D(l,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`])]),_:1}),F(J)===`ready`?(g(),k(u,{key:0,threads:F(R)??[],"active-id":F(V),loading:F(z),"is-open":F(Y),"is-overlay":F(X),onSelect:$,onCreate:Q,onDelete:Re,onDeleteAll:Be,onClose:Z},null,8,[`threads`,`active-id`,`loading`,`is-open`,`is-overlay`])):N(``,!0),(g(),k(te,{to:`#container`,defer:``},[F(Y)&&F(X)?(g(),w(`div`,{key:0,class:`fixed top-0 left-0 right-0 bottom-0 w-full h-full bg-black/50 z-1`,onClick:Z})):N(``,!0)])),C(`main`,{class:`relative w-full h-full`,style:x({paddingLeft:F(Pe),transition:F(q)?`padding-left 200ms`:void 0})},[C(`div`,be,[F(b)?N(``,!0):(g(),w(`div`,xe,[r[3]||=C(`div`,{class:`ml-2`},null,-1),!F(Y)&&F(J)===`ready`?E((g(),k(o,{key:0,id:`assistant-sidebar-toggle`,severity:`secondary`,class:`mr-2 cui-icon-lg relative z-2`,text:``,rounded:``,onClick:Le},{icon:m(()=>[D(d,{width:`100%`,height:`100%`})]),_:1})),[[v,{value:n.$t(`views.assistant.show_sidebar`)},void 0,{bottom:!0}]]):N(``,!0),C(`h1`,Se,h(n.$t(`views.assistant.title`)),1),F(Ne)?(g(),w(`span`,Ce,h(F(Ne)),1)):N(``,!0),r[4]||=C(`div`,{class:`gradient-blur rotate-180 !h-[70px]`},[C(`div`),C(`div`),C(`div`),C(`div`),C(`div`),C(`div`)],-1)])),!F(b)&&F(J)===`ready`?(g(),w(`div`,we,[E((g(),k(o,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-lg relative z-2`,onClick:Q},{icon:m(()=>[D(l,{width:`100%`,height:`100%`})]),_:1})),[[v,{value:n.$t(`views.assistant.new_conversation`)},void 0,{bottom:!0}]])])):N(``,!0),C(`div`,{class:ne([`h-full w-full flex flex-col`,{"pt-2":F(b),"pt-[calc(40px+2rem)]":!F(b)}])},[F(ce)||F(G)?(g(),w(`div`,Te,[D(f,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):F(J)===`ready`?(g(),k(_,{ref_key:`conversationRef`,ref:B,key:F(V),"thread-id":F(V),"initial-messages":F(H),"initial-attachments":F(U),"initial-prompt":F(W),suggestions:F(Fe),"approval-tools":F(Me),tools:F(L)?.tools??[],class:`flex-1 min-h-0`,onFinished:He,onBranched:ze,onEmptied:r[2]||=e=>Re(F(V))},null,8,[`thread-id`,`initial-messages`,`initial-attachments`,`initial-prompt`,`suggestions`,`approval-tools`,`tools`])):(g(),w(`div`,Ee,[C(`div`,De,[D(p,{class:`w-8 h-8 text-muted`})]),C(`div`,Oe,[C(`div`,ke,h(n.$t(F(J)===`disabled`?`views.assistant.disabled_title`:`views.assistant.unconfigured_title`)),1),C(`div`,Ae,h(n.$t(F(je)?`views.assistant.setup_hint_admin`:`views.assistant.setup_hint_user`)),1)]),F(je)?(g(),k(o,{key:0,class:`cui-button-medium`,label:n.$t(`views.assistant.open_settings`),onClick:r[1]||=e=>n.$router.push(`/settings/assistant`)},null,8,[`label`])):N(``,!0)]))],2)])],4)])}}}),[[`__scopeId`,`data-v-cbdd85ad`]]);export{J as default};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./AutomationStore-BKR7GXMk.js","./vendor-cameraui-QXD8jkcj.js","./rolldown-runtime-C0FnF6B9.js","./vendor-DGke_6M4.js","./api-DK2Bav9D.js","./intercomService-BnA-FQ0Q.js","./vendor-zod-CBbC1rE7.js","./types-5rE8Tz0_.js","./alert-outline-D7zaSJH_.js","./eventIcons-cdzqQc0W.js","./vendor-core-CnhnyKDl.js","./vendor-dnd-CEJS9JKU.js","./vendor-primevue-CCUqY55W.js","./close-BbEPZQqa.js","./vendor-draggabilly-BY7O1F_Z.js","./api-DTCqDA-h.css","./automations-DXrjbArj.js","./CuiPluginTrustBadge-sVWdvHcM.js","./CuiPluginTrustBadge-QHTLaN1n.css","./account-Bu30He0P.js","./types-CXw7CEzu.js","./bell-ring-CyCFPUL_.js","./webhook-oVbP79Yk.js","./types-v-mK9gdq.css","./search-BXbDWhLk.js","./AutomationStore-Q25Okhz8.css","./AutomationImport-Dp_hT6hQ.js","./plugins-eIUrXNeM.js","./useUserOptions-BTRBUuE2.js","./useCameraOptions-A97teAIr.js","./automationBlueprint-D0F9AHk9.js"])))=>i.map(i=>d[i]);
2
- import{Bt as e,Kt as t,Vr as n,X as r,Z as i,z as a}from"./vendor-cameraui-QXD8jkcj.js";import{Bn as o,H as s,In as c,L as l,Nn as u,Pn as ee,R as d,Sn as f,U as te,ct as p,kr as m,lt as h,or as ne,wn as g,z as re}from"./api-DK2Bav9D.js";import{$n as _,Cr as v,Hn as y,Ht as b,In as x,Jn as ie,Rn as S,Sr as C,Xt as ae,br as w,cn as T,dn as E,dr as D,er as O,gn as k,hn as A,ln as j,nn as M,or as oe,rn as N,sn as P,sr as F,un as I,vn as L,yr as R}from"./vendor-DGke_6M4.js";import{u as se}from"./vendor-core-CnhnyKDl.js";import{F as ce,I as le,q as z}from"./vendor-primevue-CCUqY55W.js";import{t as ue}from"./close-BbEPZQqa.js";import{t as B}from"./alert-circle-D2fAQwTX.js";import{t as de}from"./automations-DXrjbArj.js";import{t as V}from"./nodeDefinitions-Dop49tx8.js";import{n as H}from"./types-DWTSNJ79.js";import{t as fe}from"./search-BXbDWhLk.js";import{t as pe}from"./pause-DKzvPG2b.js";import{t as me}from"./back-filled-BPBVnQjx.js";import{t as he}from"./plus-CHPYoMO_.js";var ge={class:`flex items-center gap-3`},_e={class:`flex-1 min-w-0`},ve={class:`flex items-center gap-1.5`},ye={class:`font-medium text-sm truncate text-color`},be={class:`block truncate`},xe=L({__name:`CuiAutomationFlowCard`,props:{flow:{},selectionMode:{type:Boolean},selected:{type:Boolean}},emits:[`click`,`toggle`],setup(e){let i=e,{t:a}=n(),o=P(()=>i.flow.nodes.find(e=>e.type?.startsWith(`trigger-`))),s=P(()=>{if(o.value?.type)return V(o.value.type)}),c=P(()=>s.value?.icon),l=P(()=>s.value?.color??H.trigger),u=P(()=>i.flow.lastRun?.status===`error`),ee=P(()=>{if(!i.flow.lastRun)return;let e=d(i.flow.lastRun.timestamp);return{value:u.value&&i.flow.lastRun.error?`${e}\n${i.flow.lastRun.error}`:e}});function d(e){return new Date(e).toLocaleString()}return(n,i)=>{let o=g,s=B,f=z,te=r,p=t;return x(),j(te,{class:`cui-card cursor-pointer select-none`,onClick:i[2]||=e=>n.$emit(`click`)},{content:_(()=>[T(`div`,ge,[e.selectionMode?(x(),E(`div`,{key:0,class:w([`w-6 h-6 rounded-full border-2 flex items-center justify-center transition-colors shrink-0`,e.selected?`bg-primary border-primary`:`border-color`])},[e.selected?(x(),j(o,{key:0,class:`w-4 h-4 text-white`})):I(``,!0)],2)):I(``,!0),T(`div`,{class:`flex items-center justify-center w-10 h-10 rounded-lg shrink-0`,style:C({backgroundColor:`${R(l)}20`,color:R(l)})},[(x(),j(y(R(c)),{class:`w-5 h-5`}))],4),T(`div`,_e,[T(`div`,ve,[T(`span`,ye,v(e.flow.name),1),e.flow.requiresUpdate?O((x(),j(s,{key:0,class:`w-4 h-4 shrink-0 text-orange-500`},null,512)),[[p,R(a)(`views.automations.requires_update`)]]):I(``,!0)]),T(`div`,{class:w([`text-xs mt-0.5`,R(u)?`text-red-500`:`text-muted`])},[O((x(),E(`span`,be,[A(v(e.flow.lastRun?`${R(a)(`views.automations.last_run`)}: ${d(e.flow.lastRun.timestamp)}`:R(a)(`views.automations.never_run`)),1)])),[[p,R(ee),void 0,{bottom:!0}]])],2)]),e.selectionMode?I(``,!0):(x(),j(f,{key:1,"model-value":e.flow.enabled,class:`shrink-0`,onClick:i[0]||=M(()=>{},[`stop`]),"onUpdate:modelValue":i[1]||=e=>n.$emit(`toggle`,e)},null,8,[`model-value`]))])]),_:1})}}}),U={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function W(e,t){return x(),E(`svg`,U,[...t[0]||=[T(`path`,{fill:`currentColor`,d:`M26 24v4H6v-4H4v4a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2v-4Zm0-10l-1.41-1.41L17 20.17V2h-2v18.17l-7.59-7.58L6 14l10 10z`},null,-1)]])}var Se=F({name:`carbon-download`,render:W}),G={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function K(e,t){return x(),E(`svg`,G,[...t[0]||=[T(`path`,{fill:`currentColor`,d:`M11.9 10.9a6.53 6.53 0 0 0-1.9 4.6V12H4v4h6v-.5c0 .85.17 1.7.5 2.5H2v-6H1v-2l1-5h16l.89 4.46a6.47 6.47 0 0 0-6.99 1.44M18 2H2v2h16zm5.39 19L22 22.39l-3.12-3.07c-.69.43-1.51.68-2.38.68c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5s4.5 2 4.5 4.5c0 .88-.25 1.71-.69 2.4zM19 15.5a2.5 2.5 0 0 0-5 0a2.5 2.5 0 0 0 5 0`},null,-1)]])}var Ce=F({name:`mdi-store-search`,render:K}),we={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function q(e,t){return x(),E(`svg`,we,[...t[0]||=[T(`path`,{fill:`currentColor`,d:`M8 5.14v14l11-7z`},null,-1)]])}var Te=F({name:`mdi-play`,render:q}),Ee={class:`flex flex-col`},De={key:0,class:`page-title`},Oe={class:`flex gap-2 mb-4`},ke={key:`empty`,class:`flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4 py-20`},Ae={class:`text-muted text-sm`},J=350,je=82,Y=L({__name:`Automations`,setup(r){let g=h(()=>b(()=>import(`./AutomationStore-BKR7GXMk.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]),import.meta.url)),y=h(()=>b(()=>import(`./AutomationImport-Dp_hT6hQ.js`),__vite__mapDeps([26,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,27,16,28,29,30]),import.meta.url)),w=new de,A=se(),M=p(),F=m(),{t:L}=n(),{smBreakpoint:z}=c(),{width:B,height:V}=o(),{data:H,isBusy:ge}=w.getAutomationsQuery(),{mutateAsync:_e}=w.patchAutomationQuery(),{mutateAsync:ve}=w.bulkPatchAutomationsQuery(),{mutateAsync:ye,isPending:be}=w.bulkDeleteAutomationsQuery(),U=D(``),W=ie(`fileInputRef`),G=P(()=>f(void 0,`admin`)),K=P(()=>H.value??[]),we=P(()=>(z.value?1:Math.max(1,Math.floor(B.value/J)))*Math.max(1,Math.ceil(V.value/90))),q=P(()=>{let e=U.value.toLowerCase().trim();return e?K.value.filter(t=>t.name.toLowerCase().includes(e)):K.value}),{selectionMode:Y,selectedIds:X,selectedItems:Z,allSelected:Me,bulkBusy:Q,enterSelectionMode:Ne,exitSelectionMode:Pe,toggleSelectAll:Fe,toggleSelection:Ie}=l(q,e=>e._id),$=P(()=>Z.value.length>0&&Z.value.every(e=>!e.enabled));function Le(e){Y.value?Ie(e):Be(e)}async function Re(){if(!Z.value.length||Q.value)return;let e=$.value,t=Z.value.filter(t=>t.enabled!==e).map(e=>e._id);if(t.length){Q.value=!0;try{await ve({ids:t,data:{enabled:e}})}finally{Q.value=!1}}}function ze(){if(!Z.value.length||Q.value)return;let e=Z.value.map(e=>e._id);M.openTextDialog({data:{title:L(`views.automations.delete`),contentText:L(`views.automations.delete_selected_confirm`,{count:e.length}),confirmText:L(`views.automations.delete`),loading:be},onConfirm:async()=>{Q.value=!0;try{let{failed:t}=await ye({ids:e});t.length&&F.add({severity:`error`,detail:L(`views.automations.delete_selected_failed`,{count:t.length}),life:5e3}),Pe()}finally{Q.value=!1}}})}function Be(e){A.push(`/automations/${e}`)}function Ve(){A.push(`/automations/new`)}function He(){M.openComponentDialog(g,{data:{title:L(`views.automations.browse_community`),contentProps:{},hideConfirmButton:!0,fullscreen:!0}})}function Ue(e){M.openComponentDialog(y,{data:{title:L(`components.automation_import.title`),confirmText:L(`components.automation_import.import`),contentProps:{blueprint:e}}})}function We(){W.value?.click()}async function Ge(e){let t=e.target.files?.[0];if(t){try{let e=await t.text(),n=JSON.parse(e);if(!n.version||!n.nodes||!n.edges){F.add({severity:`error`,detail:L(`views.automations.import_invalid`),life:3e3});return}Ue(n)}catch{F.add({severity:`error`,detail:L(`views.automations.import_invalid`),life:3e3})}W.value&&(W.value.value=``)}}return(n,r)=>{let o=me,c=e,l=te,f=fe,p=ce,m=a,h=le,g=Ce,y=Se,b=i,ie=xe,w=ne,D=u,A=ee,M=t;return x(),E(`div`,Ee,[R(z)?I(``,!0):(x(),E(`h1`,De,v(R(L)(`views.automations.title`)),1)),k(l,{position:`left`},{default:_(()=>[k(c,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:r[0]||=e=>n.$router.push(`/menu`)},{icon:_(()=>[k(o,{class:`w-6 h-6`})]),_:1})]),_:1}),T(`div`,Oe,[k(h,{class:`flex-1`},{default:_(()=>[k(p,null,{default:_(()=>[k(f,{class:`w-4 h-4`})]),_:1}),k(m,{modelValue:R(U),"onUpdate:modelValue":r[1]||=e=>oe(U)?U.value=e:null,placeholder:R(L)(`views.automations.search`),class:`w-full`},null,8,[`modelValue`,`placeholder`])]),_:1}),R(G)?O((x(),j(c,{key:0,severity:`secondary`,outlined:``,class:`cui-button shrink-0`,onClick:He},{icon:_(()=>[k(g,{class:`w-4.5 h-4.5`})]),_:1})),[[M,{value:R(L)(`views.automations.browse_community`)},void 0,{left:!0}]]):I(``,!0),O((x(),j(c,{severity:`secondary`,outlined:``,class:`cui-button shrink-0`,onClick:We},{icon:_(()=>[k(y,{class:`w-4.5 h-4.5`})]),_:1})),[[M,{value:R(L)(`views.automations.import_blueprint`)}]]),T(`input`,{ref_key:`fileInputRef`,ref:W,type:`file`,accept:`.json`,class:`hidden`,onChange:Ge},null,544)]),k(ae,{name:`fade-2`,mode:`out-in`},{default:_(()=>[R(ge)?(x(),E(`div`,{key:`loading`,class:`grid w-full gap-2`,style:C({gridTemplateColumns:`repeat(auto-fill, minmax(${R(z)?`100%`:`${J}px`}, 1fr))`})},[(x(!0),E(N,null,S(R(we),e=>(x(),j(b,{key:e,height:`${je}px`,class:`cui-card`},null,8,[`height`]))),128))],4)):R(q).length?(x(),E(`div`,{key:`content`,class:`grid w-full gap-2`,style:C({gridTemplateColumns:`repeat(auto-fill, minmax(${R(z)?`100%`:`${J}px`}, 1fr))`})},[(x(!0),E(N,null,S(R(q),e=>(x(),j(ie,{key:e._id,flow:e,"selection-mode":R(Y),selected:R(X).has(e._id),onClick:t=>Le(e._id),onToggle:t=>R(_e)({id:e._id,data:{enabled:t}})},null,8,[`flow`,`selection-mode`,`selected`,`onClick`,`onToggle`]))),128))],4)):(x(),E(`div`,ke,[k(w,{class:`w-12 h-12 text-muted`}),T(`span`,Ae,v(R(L)(`views.automations.no_automations`)),1)]))]),_:1}),k(A,{"force-visible":R(Y)},{default:_(()=>[R(Y)?(x(),E(N,{key:1},[k(D,{grouped:``,"tooltip-props":{value:R(L)(`components.form.tooltip.cancel_selection`)},"button-props":{severity:`secondary`},icon:R(ue),"icon-props":{width:`100%`,height:`100%`},onClick:R(Pe)},null,8,[`tooltip-props`,`icon`,`onClick`]),k(D,{grouped:``,"tooltip-props":{value:R(Me)?R(L)(`views.automations.deselect_all`):R(L)(`views.automations.select_all`)},"button-props":{severity:R(Me)?`primary`:`secondary`},icon:R(s),"icon-props":{width:`100%`,height:`100%`},onClick:R(Fe)},null,8,[`tooltip-props`,`button-props`,`icon`,`onClick`]),k(D,{grouped:``,"tooltip-props":{value:R($)?R(L)(`views.automations.enable_selected`):R(L)(`views.automations.disable_selected`)},"button-props":{severity:`secondary`,disabled:!R(X).size||R(Q)},icon:R($)?R(Te):R(pe),"icon-props":{width:`100%`,height:`100%`},onClick:Re},null,8,[`tooltip-props`,`button-props`,`icon`]),k(D,{grouped:``,"tooltip-props":{value:R(L)(`views.automations.delete_selected`)},"button-props":{severity:`danger`,disabled:!R(X).size||R(Q)},icon:R(re),"icon-props":{width:`100%`,height:`100%`},onClick:ze},null,8,[`tooltip-props`,`button-props`,`icon`])],64)):(x(),E(N,{key:0},[R(G)&&R(K).length?(x(),j(D,{key:0,grouped:``,"tooltip-props":{value:R(L)(`views.automations.select`)},"button-props":{severity:`secondary`},icon:R(d),"icon-props":{width:`100%`,height:`100%`},onClick:R(Ne)},null,8,[`tooltip-props`,`icon`,`onClick`])):I(``,!0),k(D,{grouped:``,"tooltip-props":{value:R(L)(`views.automations.create`)},"button-props":{class:`text-white`},icon:R(he),"icon-props":{width:`30px`,height:`30px`},onClick:Ve},null,8,[`tooltip-props`,`icon`])],64))]),_:1},8,[`force-visible`])])}}});export{Y as default};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CuiCameraRecordings-BTD-CQAg.js","./vendor-cameraui-QXD8jkcj.js","./rolldown-runtime-C0FnF6B9.js","./vendor-DGke_6M4.js","./api-DK2Bav9D.js","./intercomService-BnA-FQ0Q.js","./vendor-zod-CBbC1rE7.js","./types-5rE8Tz0_.js","./alert-outline-D7zaSJH_.js","./eventIcons-cdzqQc0W.js","./vendor-core-CnhnyKDl.js","./vendor-dnd-CEJS9JKU.js","./vendor-primevue-CCUqY55W.js","./close-BbEPZQqa.js","./vendor-draggabilly-BY7O1F_Z.js","./api-DTCqDA-h.css","./ungrouped-D56FGIrg.js","./ungrouped-DHMJ9Rg1.css","./utils-gctUU5q_.js","./CuiCameraRecordings-CkkHbNyY.css","./CuiCameraTable-KPk46Xcl.js","./CuiCameraTable-BOkfp_5M.js","./useStreamStatus-BhS_MCCB.js","./CuiDataTable-CsqH-RB1.js","./CuiDataTable-DPIbKnvU.css","./CuiCameraShares-DcqOcePX.js","./CuiBottomSheet-NgX7VFao.js","./CuiBottomSheet-DWefGWK2.js","./CuiBottomSheet-_KXSb13N.css"])))=>i.map(i=>d[i]);
2
- import{Bt as e,Kt as t,Mt as n,Vr as r,X as ee,c as te,d as ne,g as re,ni as i,zt as ie}from"./vendor-cameraui-QXD8jkcj.js";import{In as a,It as o,Ln as s,Mn as ae,On as oe,Sn as c,an as se,ct as ce,in as le,it as ue,kr as de,lt as l,mt as fe,s as u,tt as pe,w as me}from"./api-DK2Bav9D.js";import{$n as d,Cr as f,Ht as p,In as m,Jn as h,Ln as g,On as he,Pn as ge,Sr as _e,Xn as _,an as ve,br as v,cn as y,dn as b,dr as x,en as ye,er as S,gn as C,hn as w,ln as T,or as be,pn as xe,rn as Se,sn as E,sr as D,un as O,vn as Ce,yr as k}from"./vendor-DGke_6M4.js";import{a as we}from"./intercomService-BnA-FQ0Q.js";import{c as Te,l as Ee,u as De}from"./vendor-core-CnhnyKDl.js";import{G as Oe,H as ke,K as Ae,S as je,U as Me,V as Ne}from"./vendor-primevue-CCUqY55W.js";import{t as Pe}from"./useAssistantActions-CLkkw9kB.js";import{t as Fe}from"./delete-CY8fsIW6.js";import{t as Ie}from"./utils-gctUU5q_.js";import{n as Le,t as Re}from"./zoom-in-GKNy8xA7.js";import{t as ze}from"./CuiCameraPipCard-C2qaGJlH.js";var Be={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ve(e,t){return m(),b(`svg`,Be,[...t[0]||=[y(`g`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`},[y(`path`,{d:`M12 7v5l2 2m3 8l5-3l-5-3z`}),y(`path`,{d:`M13.017 20.943a9 9 0 1 1 7.831-7.292`})],-1)]])}var He=D({name:`tabler-clock-play`,render:Ve}),Ue={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function We(e,t){return m(),b(`svg`,Ue,[...t[0]||=[y(`path`,{fill:`currentColor`,d:`M18 18v2H6v-2zm3-7v2H3v-2zm-3-7v2H6V4z`},null,-1)]])}var Ge=D({name:`ri-menu5-line`,render:We}),Ke={class:`w-full h-full flex flex-col lg:flex-row gap-0 lg:gap-2 relative`},qe={key:0,class:`h-full flex items-center justify-center`},A=ae(Ce({__name:`Camera`,setup(ae){let D=l(()=>p(()=>import(`./CuiCameraRecordings-BTD-CQAg.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]),import.meta.url)),Ce=l(()=>p(()=>import(`./CuiCameraTable-KPk46Xcl.js`),__vite__mapDeps([20,21,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,22,23,24]),import.meta.url)),Be=l(()=>p(()=>import(`./CuiCameraShares-DcqOcePX.js`),__vite__mapDeps([25,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,23,24]),import.meta.url)),Ve=l(()=>p(()=>import(`./CuiBottomSheet-NgX7VFao.js`),__vite__mapDeps([26,27,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,28]),import.meta.url)),Ue=new o,We=re(`@camera.ui/camera-ui-nvr`),A=we(),j=de(),Je=ce(),M=r(),N=je(),P=Ee(),Ye=De(),Xe=Pe(),{openEventTrace:Ze}=pe(),{xmdBreakpoint:F,smBreakpoint:I,mdBreakpoint:Qe}=a(),{topbarOffset:$e}=s(),{plugin:L}=n(`@camera.ui/camera-ui-nvr`),et=me(),R=E(()=>P.params.cameraname),{data:z}=Ue.getCameraQuery(R),B=[`Off`,`1m`,`2m`,`3m`,`5m`],V=h(`cameraCardRef`),H=h(`cuiTimelineRef`),tt=h(`timelineRef`),U=x(!et.isTransitioning),nt=x(!1),W=x(!1),G=x(!1),K=x([]),rt=x(),it=x(),q=x(0),at=x(!1),ot=x(!1),J=x(!1),Y=x(!1),st=E(()=>c(void 0,`admin`)),X=E(()=>z.value?._id),ct=E(()=>!!V.value?.isFullscreen),lt=E(()=>H.value?.currentEventDescription),ut=E(()=>{let e=H.value?.currentEvent?.id;return e?We.getEvent(e):void 0}),dt=i(tt),ft=E(()=>z.value?.interfaceSettings?.playbackSource??`auto`),Z=ne(E(()=>X.value??``),{sourceRole:ft}),Q=E(()=>{let e=P.query.startTs,t=Number(e);return e&&!isNaN(t)?t:void 0}),pt=E(()=>({locale:M.locale.value,dayNames:N.config.locale?.dayNames,dayNamesShort:N.config.locale?.dayNamesShort,monthNames:N.config.locale?.monthNames,monthNamesShort:N.config.locale?.monthNamesShort})),mt=E(()=>{let e=H.value;return!e?.trimStartMs||!e?.trimEndMs?0:e.trimRecordingDurationMs??e.trimEndMs-e.trimStartMs}),$=E(()=>mt.value<36e5);g(fe,{active:G,regions:K});function ht(){let e=ut.value;if(!e||!z.value)return;let t=H.value?.currentTimeMs;Ze(e,z.value,t?Math.floor(t):void 0)}function gt(e){return Ie(e,K.value)}function _t(){G.value=!G.value,G.value||(K.value=[])}if(!U.value){let e=_(()=>et.isTransitioning,t=>{t||(U.value=!0,e())});setTimeout(()=>{U.value||(U.value=!0,e())},1e3)}function vt(){$.value||(q.value=(q.value+1)%B.length)}function yt(e){try{V.value?.timelineScroll(e)}catch{}}function bt(e){H.value?.scrollToEvent(e)}async function xt(){let e=H.value;if(!e)return;let t=e.trimStartMs,n=e.trimEndMs;if(!t||!n||!X.value)return;let r=L.value;if(!r?.nvrExport)return;let ee=B[q.value],te=ee===`Off`?0:parseInt(ee)*60;at.value=!0;try{let e=await r.nvrExport(X.value,t*1e3,n*1e3,{timelapseIntervalSec:te||void 0,sourceRole:Z.effectiveRole.value||void 0});await oe({url:e.url,filename:e.filename})}catch(e){A.error(`Export failed:`,e),j.add({severity:`error`,summary:M.t(`views.recordings.download_failed`),detail:u(e),life:5e3})}finally{at.value=!1}}function St(){let e=H.value;e?.trimStartMs&&e?.trimEndMs&&X.value&&Je.openTextDialog({data:{title:M.t(`components.dialog.title.confirm`),contentText:M.t(`components.player.delete_range_confirm`),confirmText:M.t(`components.form.button.remove`),confirmButtonProps:{severity:`danger`}},onConfirm:()=>Ct()})}async function Ct(){let e=H.value;if(!e?.trimStartMs||!e?.trimEndMs||!X.value)return;let t=L.value;if(t?.nvrDeleteRange){ot.value=!0;try{let n=await t.nvrDeleteRange(X.value,e.trimStartMs*1e3,e.trimEndMs*1e3);n?.endMs>n?.startMs?(j.add({severity:`success`,detail:M.t(`components.player.delete_range_done`),life:4e3}),Y.value=!1):e.trimEndMs>Date.now()-18e4?j.add({severity:`info`,detail:M.t(`components.player.delete_range_too_recent`),life:5e3}):j.add({severity:`info`,detail:M.t(`components.player.delete_range_nothing`),life:4e3})}catch(e){A.error(`Range delete failed:`,e),j.add({severity:`error`,detail:u(e),life:5e3})}finally{ot.value=!1}}}function wt(){J.value=!J.value,J.value&&(Y.value=!1)}function Tt(){Y.value=!Y.value,Y.value&&(J.value=!1)}return _(()=>V.value?.timelineState,e=>{e===!1&&(J.value=!1,Y.value=!1)}),_(Q,e=>{e&&(Z.mode.value=`play`)},{immediate:!0,flush:`sync`}),_([X,Q],([e,t])=>{e&&t&&it.value!==t&&z.value?.name===R.value&&(it.value=t,Z.play(t*1e3),H.value?.scrollToTime(t),Ye.replace({query:{...P.query,startTs:void 0}}))},{immediate:!0}),_(R,(e,t)=>{t&&F.value&&nt.value&&he(()=>{he(()=>{try{V.value?.toggleTimeline()}catch{}})})},{flush:`pre`}),_(()=>V.value?.timelineState,e=>{e!==void 0&&(nt.value=e)}),_(J,e=>{e||(q.value=0)}),_($,e=>{e&&(q.value=0)}),Te((e,t)=>{e.params.cameraname!==t.params.cameraname&&Z.isActive.value&&Z.stop()}),ge(()=>{Xe.register({name:`timeline.seek`,description:`Jump the recording of the open camera to a time. Args: { time: ISO 8601 with offset }.`,run:e=>{let t=Date.parse(String(e.time??``));if(Number.isNaN(t))throw Error(`time is not a valid ISO 8601 timestamp`);return Z.play(t*1e3),H.value?.scrollToTime(t),`timeline at ${new Date(t).toLocaleString()}`}}),Xe.register({name:`timeline.zoom`,description:`Zoom the timeline of the open camera. Args: { direction: "in" | "out" }.`,run:e=>(e.direction===`in`?H.value?.zoomIn():H.value?.zoomOut(),`timeline zoomed ${e.direction===`in`?`in`:`out`}`)})}),(n,r)=>{let ne=ze,re=ie,i=Ne,a=ke,o=Me,s=Oe,ae=Ae,oe=ee,ce=le,de=se,l=e,fe=Ge,u=He,pe=ue,me=Fe,p=Re,h=Le,g=t;return m(),b(`div`,{class:v({"pt-2":!k(I),"px-2":!k(I)})},[y(`div`,Ke,[y(`div`,{class:v([`w-full flex flex-col gap-2`,{"h-full":!k(I)}]),style:_e({paddingRight:!k(I)&&!k(F)?`calc(${k(dt).width.value||400}px + 0.5rem)`:`0px`})},[y(`div`,{class:v({"flex max-h-[60%]":!k(I)})},[(m(),T(ne,{ref_key:`cameraCardRef`,ref:V,key:k(R),"source-role":k(rt),"onUpdate:sourceRole":r[0]||=e=>be(rt)?rt.value=e:null,"back-button":k(I),"camera-info":k(R),"flat-card":k(I),resizable:k(I),"control-microphone-button":!k(I),"toolbar-timeline-button":k(F),"toolbar-description-button":!!k(L),"event-description":k(lt),"current-event":k(ut),onOpenTrace:ht,"camera-name-overlay":!1,"show-shortcuts":``,"view-transition":``,class:`flex-1 h-full min-w-0`},null,8,[`source-role`,`back-button`,`camera-info`,`flat-card`,`resizable`,`control-microphone-button`,`toolbar-timeline-button`,`toolbar-description-button`,`event-description`,`current-event`]))],2),k(I)?O(``,!0):(m(),T(oe,{key:0,class:`cui-card flex-1 min-h-0`,pt:{content:{class:`overflow-hidden h-full flex flex-col`},body:{class:`h-full`}}},{content:d(()=>[k(U)?(m(),T(ae,{key:1,value:`0`,lazy:``,class:`h-full flex flex-col`},{default:d(()=>[C(a,{class:`shrink-0`},{default:d(()=>[C(i,{value:`0`,class:`pt-0 text-sm`},{default:d(()=>[w(f(n.$t(`views.camera.recordings`)),1)]),_:1}),C(i,{value:`1`,class:`pt-0 text-sm`},{default:d(()=>[w(f(n.$t(`views.camera.cameras`)),1)]),_:1}),(`hasPermission`in n?n.hasPermission:k(c))(void 0,`admin`)?(m(),T(i,{key:0,value:`2`,class:`pt-0 text-sm`},{default:d(()=>[w(f(n.$t(`views.camera.shares`)),1)]),_:1})):O(``,!0)]),_:1}),C(s,{class:`camera-tab-panels px-0 pb-0 flex-1 min-h-0`},{default:d(()=>[C(o,{value:`0`,class:`!overflow-hidden`},{default:d(()=>[k(X)?(m(),T(k(D),{key:0,"camera-id":k(X),"camera-name":k(R),camera:k(z),onScrollToEvent:bt},null,8,[`camera-id`,`camera-name`,`camera`])):O(``,!0)]),_:1}),C(o,{value:`1`},{default:d(()=>[C(k(Ce),{"active-camera":k(R)},null,8,[`active-camera`])]),_:1}),(`hasPermission`in n?n.hasPermission:k(c))(void 0,`admin`)?(m(),T(o,{key:0,value:`2`},{default:d(()=>[k(X)?(m(),T(k(Be),{key:0,"camera-id":k(X),"camera-name":k(R)},null,8,[`camera-id`,`camera-name`])):O(``,!0)]),_:1})):O(``,!0)]),_:1})]),_:1})):(m(),b(`div`,qe,[C(re,{class:`w-[32px] h-[32px]`,"stroke-width":`4`})]))]),_:1}))],6),k(F)?O(``,!0):S((m(),b(`div`,{key:0,id:`camera-sidebar`,ref_key:`timelineRef`,ref:tt,class:v({"min-w-[300px]":k(I),"min-w-[400px]":!k(I),"border-t-[1px] border-color":k(I),"lg:fixed lg:right-safe-offset-2 lg:bottom-safe-offset-2":!k(I)&&!k(F)}),style:_e({height:`calc(100% - ${k($e)}px - 1rem - var(--safe-area-inset-top) - var(--safe-area-inset-bottom))`})},null,6)),[[ye,!k(ct)]])]),k(I)&&k(U)?(m(),T(k(Ve),{key:0,modelValue:k(W),"onUpdate:modelValue":r[1]||=e=>be(W)?W.value=e:null,height:`70vh`,"max-height":`85vh`},{default:d(()=>[(m(),T(ae,{key:k(R),value:`0`,lazy:``,class:`h-full flex flex-col`},{default:d(()=>[C(a,{class:`shrink-0 w-full mt-5`},{default:d(()=>[C(i,{value:`0`,class:`pt-0 text-sm flex-1`},{default:d(()=>[w(f(n.$t(`views.camera.recordings`)),1)]),_:1}),C(i,{value:`1`,class:`pt-0 text-sm flex-1`},{default:d(()=>[w(f(n.$t(`views.camera.cameras`)),1)]),_:1}),C(i,{value:`2`,class:`pt-0 text-sm flex-1`},{default:d(()=>[w(f(n.$t(`views.camera.shares`)),1)]),_:1})]),_:1}),C(s,{class:`mobile-sheet-panels px-0 pb-0 flex-1 min-h-0`},{default:d(()=>[C(o,{value:`0`,class:`h-full !overflow-hidden`},{default:d(()=>[k(X)?(m(),T(k(D),{key:0,"camera-id":k(X),"camera-name":k(R),camera:k(z),compact:``,onScrollToEvent:bt},null,8,[`camera-id`,`camera-name`,`camera`])):O(``,!0)]),_:1}),C(o,{value:`1`,class:`h-full overflow-auto`},{default:d(()=>[C(k(Ce),{"active-camera":k(R)},null,8,[`active-camera`])]),_:1}),C(o,{value:`2`,class:`h-full overflow-auto`},{default:d(()=>[k(X)?(m(),T(k(Be),{key:0,"camera-id":k(X),"camera-name":k(R)},null,8,[`camera-id`,`camera-name`])):O(``,!0)]),_:1})]),_:1})]),_:1}))]),_:1},8,[`modelValue`])):O(``,!0),(m(),T(ve,{key:k(R),to:k(F)?`#timeline-container`:`#camera-sidebar`,defer:``},[(m(),T(k(te),{ref_key:`cuiTimelineRef`,ref:H,key:k(R),"camera-ids":k(X)?[k(X)]:[],loading:!k(U),"flat-card":k(I)||k(F),type:k(F)?`horizontal`:`vertical`,"show-segments":!k(I)&&!k(F),"show-zoom":!0,"initial-timestamp":k(Q),class:v({"absolute bottom-0 left-0 w-full h-[200px]":k(F),"h-full":!k(F)}),"card-class":{"h-[200px]":k(F)},transparent:k(F),"dark-mode":k(F),"overlay-class":k(F)?`timeline-overlay !z-0`:void 0,"locale-settings":k(pt),"trim-mode":k(J)||k(Y),"trim-variant":k(Y)?`delete`:`export`,"export-available":!0,"delete-available":k(st),"ignore-bottom-safe-area":!k(F),"md-breakpoint":k(Qe),"zone-filter-active":k(G),"zone-has-regions":k(K).length>0,"zone-box-matcher":gt,onScrolling:yt,onToggleZoneFilter:_t,onToggleExportMode:wt,onToggleDeleteMode:Tt},{"bottom-right":d(()=>[y(`div`,{class:v([`flex gap-2 items-center`,k(F)?`flex-row-reverse`:`flex-col-reverse`])},[k(I)&&!k(J)&&!k(Y)?S((m(),T(l,{key:0,rounded:``,severity:`primary`,disabled:k(V)?.micButtonDisabled??!0,class:`shadow-md pointer-events-auto w-[46px] h-[46px]`,onClick:r[2]||=e=>k(V)?.toggleMicrophone(void 0,!0)},{icon:d(()=>[k(V)?.micActive?(m(),T(ce,{key:0,width:`100%`,height:`100%`})):(m(),T(de,{key:1,width:`100%`,height:`100%`}))]),_:1},8,[`disabled`])),[[g,{value:n.$t(`components.player.intercom`)},void 0,{left:!0}]]):O(``,!0),k(I)&&!k(J)&&!k(Y)?S((m(),T(l,{key:1,rounded:``,severity:`secondary`,class:`shadow-md pointer-events-auto w-[42px] h-[42px]`,onClick:r[3]||=e=>W.value=!0},{icon:d(()=>[C(fe,{width:`100%`,height:`100%`})]),_:1})),[[g,{value:n.$t(`components.player.more`)},void 0,{left:!0}]]):O(``,!0),k(J)?(m(),b(Se,{key:2},[S((m(),T(l,{rounded:``,severity:`secondary`,disabled:k($),label:k(q)>0?B[k(q)]:void 0,class:v([`shadow-md pointer-events-auto !text-xs !font-semibold`,k(F)?`cui-button-small`:`w-[42px] h-[42px]`]),onClick:vt},xe({_:2},[k(q)===0?{name:`icon`,fn:d(()=>[C(u,{width:`100%`,height:`100%`,class:`opacity-40`})]),key:`0`}:void 0]),1032,[`disabled`,`label`,`class`])),[[g,{value:k($)?n.$t(`components.player.timelapse_min_duration`):k(q)>0?`${n.$t(`components.player.timelapse`)}: ${B[k(q)]}`:n.$t(`components.player.timelapse_off`)},void 0,{left:!0}]]),S((m(),T(l,{rounded:``,severity:`success`,loading:k(at),class:v([`shadow-md pointer-events-auto`,k(F)?`cui-button-small`:`w-[42px] h-[42px]`]),onClick:xt},{icon:d(()=>[C(pe,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`class`])),[[g,{value:n.$t(`components.player.export_selection`)},void 0,{left:!0}]])],64)):O(``,!0),k(Y)?S((m(),T(l,{key:3,rounded:``,severity:`danger`,loading:k(ot),class:v([`shadow-md pointer-events-auto`,k(F)?`cui-button-small`:`w-[42px] h-[42px]`]),onClick:St},{icon:d(()=>[C(me,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`class`])),[[g,{value:n.$t(`components.player.delete_selection`)},void 0,{left:!0}]]):O(``,!0),k(I)||k(F)?(m(),b(Se,{key:4},[S((m(),T(l,{rounded:``,severity:`secondary`,disabled:(k(H)?.zoomLevel??0)>=8,class:v([`shadow-md pointer-events-auto`,k(F)?`cui-button-small`:`w-[42px] h-[42px]`]),onClick:r[4]||=e=>k(H)?.zoomIn()},{icon:d(()=>[C(p,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`,`class`])),[[g,{value:n.$t(`components.form.tooltip.zoom_in`)},void 0,{left:!0}]]),S((m(),T(l,{rounded:``,severity:`secondary`,disabled:(k(H)?.zoomLevel??0)<=0,class:v([`shadow-md pointer-events-auto`,k(F)?`cui-button-small`:`w-[42px] h-[42px]`]),onClick:r[5]||=e=>k(H)?.zoomOut()},{icon:d(()=>[C(h,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`,`class`])),[[g,{value:n.$t(`components.form.tooltip.zoom_out`)},void 0,{left:!0}]])],64)):O(``,!0)],2)]),_:1},8,[`camera-ids`,`loading`,`flat-card`,`type`,`show-segments`,`initial-timestamp`,`class`,`card-class`,`transparent`,`dark-mode`,`overlay-class`,`locale-settings`,`trim-mode`,`trim-variant`,`delete-available`,`ignore-bottom-safe-area`,`md-breakpoint`,`zone-filter-active`,`zone-has-regions`]))],8,[`to`]))],2)}}}),[[`__scopeId`,`data-v-433600d6`]]);export{A as default};
@@ -1 +0,0 @@
1
- import{Bt as e,Kt as t,S as n,Tt as r,Vr as i,c as a,ni as o,y as s,z as c,zt as l}from"./vendor-cameraui-QXD8jkcj.js";import{A as u,Dn as d,Er as f,In as p,It as m,Ln as h,Mn as g,Rn as _,Wn as v,Xn as ee,_ as y,cn as b,ct as te,hn as x,in as ne,jt as S,kr as C,ln as w,mn as T,o as re,pn as E,vn as D,w as O,wn as ie,zn as ae}from"./api-DK2Bav9D.js";import{$n as k,C as oe,Cn as se,Cr as A,Dn as ce,Fn as le,Hn as ue,In as j,Jn as M,On as N,Pn as de,Rn as fe,S as P,Sr as pe,Tn as me,Xn as he,Xt as ge,_r as F,br as I,cn as L,dn as R,dr as z,en as _e,er as B,gn as V,hr as ve,jn as ye,ln as H,lr as be,mr as xe,nn as Se,rn as Ce,sn as U,sr as W,un as G,vn as K,x as we,yr as q}from"./vendor-DGke_6M4.js";import{a as Te}from"./intercomService-BnA-FQ0Q.js";import{f as Ee}from"./eventIcons-cdzqQc0W.js";import{p as De}from"./vendor-core-CnhnyKDl.js";import{a as Oe,i as ke,n as J,r as Y,t as X}from"./vendor-dnd-CEJS9JKU.js";import{S as Ae,W as je,o as Me,q as Z,z as Q}from"./vendor-primevue-CCUqY55W.js";import{t as Ne}from"./close-BbEPZQqa.js";import{t as Pe}from"./microphone-B6xc9JQ2.js";import{t as Fe}from"./plus--kDl8ben.js";import{t as Ie}from"./pencil-DKbi9SsG.js";import{t as Le}from"./delete-CY8fsIW6.js";import{t as Re}from"./CuiCameraPipCard-C2qaGJlH.js";import{n as ze,t as Be}from"./CuiTopNavbarItem-B_KWykgq.js";import{t as Ve}from"./vendor-gridstack-anPyIu9V.js";var He={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ue(e,t){return j(),R(`svg`,He,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`m9.5 13.09l1.41 1.41l-4.5 4.5H10v2H3v-7h2v3.59zm1.41-3.59L9.5 10.91L5 6.41V10H3V3h7v2H6.41zm3.59 3.59l4.5 4.5V14h2v7h-7v-2h3.59l-4.5-4.5zM13.09 9.5l4.5-4.5H14V3h7v7h-2V6.41l-4.5 4.5z`},null,-1)]])}var We=W({name:`mdi-arrow-expand-all`,render:Ue}),Ge={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ke(e,t){return j(),R(`svg`,Ge,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`M7.5 5.6L5 7l1.4-2.5L5 2l2.5 1.4L10 2L8.6 4.5L10 7zm12 9.8L22 14l-1.4 2.5L22 19l-2.5-1.4L17 19l1.4-2.5L17 14zM22 2l-1.4 2.5L22 7l-2.5-1.4L17 7l1.4-2.5L17 2l2.5 1.4zm-8.66 10.78l2.44-2.44l-2.12-2.12l-2.44 2.44zm1.03-5.49l2.34 2.34c.39.37.39 1.02 0 1.41L5.04 22.71c-.39.39-1.04.39-1.41 0l-2.34-2.34c-.39-.37-.39-1.02 0-1.41L12.96 7.29c.39-.39 1.04-.39 1.41 0`},null,-1)]])}var qe=W({name:`mdi-auto-fix`,render:Ke}),Je={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ye(e,t){return j(),R(`svg`,Je,[...t[0]||=[L(`path`,{fill:`currentColor`,"fill-rule":`evenodd`,d:`M9 3a2 2 0 0 1 2 2v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm10 0a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2h-4a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2zm2 10a2 2 0 0 0-2-2h-4a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h4a2 2 0 0 0 2-2zM9 15a2 2 0 0 1 2 2v2a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-2a2 2 0 0 1 2-2z`,"clip-rule":`evenodd`},null,-1)]])}var Xe=W({name:`mingcute-grid2-fill`,render:Ye}),Ze={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Qe(e,t){return j(),R(`svg`,Ze,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`M13 6v5h5V7.75L22.25 12L18 16.25V13h-5v5h3.25L12 22.25L7.75 18H11v-5H6v3.25L1.75 12L6 7.75V11h5V6H7.75L12 1.75L16.25 6z`},null,-1)]])}var $e=W({name:`mdi-cursor-move`,render:Qe}),et={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function tt(e,t){return j(),R(`svg`,et,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`M17.41 2H6.59A4.58 4.58 0 0 0 2 6.59v10.82A4.58 4.58 0 0 0 6.59 22h10.82A4.58 4.58 0 0 0 22 17.41V6.59A4.58 4.58 0 0 0 17.41 2m-2.653 12.447a1.924 1.924 0 0 1-1.924 1.923h-5.86a1.924 1.924 0 0 1-1.923-1.923v-4.87a1.923 1.923 0 0 1 1.927-1.924h5.856a1.925 1.925 0 0 1 1.924 1.924Zm4.2.74a.771.771 0 0 1-1.266.59l-2.211-1.854a.85.85 0 0 1-.3-.653v-2.52a.85.85 0 0 1 .31-.657l2.206-1.82a.769.769 0 0 1 1.26.594Z`},null,-1)]])}var nt=W({name:`cbi-iosfacetime`,render:tt}),rt={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function it(e,t){return j(),R(`svg`,rt,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`m8.471 7.237l3.056 12.992c.233.993 1.63 1.04 1.929.065l2.945-9.58l.384 1.527a1 1 0 0 0 .97.756H21a1 1 0 1 0 0-2h-2.466l-1.069-4.241c-.247-.981-1.628-1.017-1.925-.05l-2.912 9.472L9.475 2.771c-.24-1.02-1.688-1.03-1.943-.014l-2.065 8.24H3a1 1 0 0 0 0 2h3.247a1 1 0 0 0 .97-.757z`},null,-1)]])}var at=W({name:`fluent-pulse-24-filled`,render:it}),ot={viewBox:`0 0 16 16`,width:`1.2em`,height:`1.2em`};function st(e,t){return j(),R(`svg`,ot,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`M7.557 2.066A.75.75 0 0 1 8 2.75v10.5a.75.75 0 0 1-1.248.56L3.59 11H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h1.59l3.162-2.81a.75.75 0 0 1 .805-.124m5.393.984a.75.75 0 1 0-1.06 1.06a5.5 5.5 0 0 1 0 7.78a.75.75 0 1 0 1.06 1.06a7 7 0 0 0 0-9.9`},null,-1),L(`path`,{fill:`currentColor`,d:`M10.828 5.172a.75.75 0 1 0-1.06 1.06a2.5 2.5 0 0 1 0 3.536a.75.75 0 1 0 1.06 1.06a4 4 0 0 0 0-5.656`},null,-1)]])}var ct=W({name:`heroicons-speaker-wave-16-solid`,render:st}),lt={viewBox:`0 0 16 16`,width:`1.2em`,height:`1.2em`};function ut(e,t){return j(),R(`svg`,lt,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`M7.557 2.066A.75.75 0 0 1 8 2.75v10.5a.75.75 0 0 1-1.248.56L3.59 11H2a1 1 0 0 1-1-1V6a1 1 0 0 1 1-1h1.59l3.162-2.81a.75.75 0 0 1 .805-.124M11.28 5.72a.75.75 0 1 0-1.06 1.06L11.44 8l-1.22 1.22a.75.75 0 1 0 1.06 1.06l1.22-1.22l1.22 1.22a.75.75 0 1 0 1.06-1.06L13.56 8l1.22-1.22a.75.75 0 0 0-1.06-1.06L12.5 6.94z`},null,-1)]])}var dt=W({name:`heroicons-speaker-x-mark-16-solid`,render:ut}),ft={viewBox:`0 0 48 48`,width:`1.2em`,height:`1.2em`};function pt(e,t){return j(),R(`svg`,ft,[...t[0]||=[L(`g`,{fill:`none`,stroke:`currentColor`,"stroke-linejoin":`round`,"stroke-width":`4`},[L(`path`,{fill:`currentColor`,d:`M16.866 7.47A18 18 0 0 0 16 13c0 9.941 8.059 18 18 18a17.9 17.9 0 0 0 7.134-1.47C38.801 36.767 32.012 42 24 42c-9.941 0-18-8.059-18-18c0-7.407 4.473-13.768 10.866-16.53Z`}),L(`path`,{"stroke-linecap":`round`,d:`M31.66 10H41l-10 8h10`})],-1)]])}var mt=W({name:`icon-park-solid-sleep`,render:pt}),$={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ht(e,t){return j(),R(`svg`,$,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`M10.4 13.45h3.2l.6 1.625q.075.2.238.313t.362.112q.35 0 .538-.275t.062-.6l-2.55-6.7q-.075-.2-.237-.312T12.25 7.5h-.5q-.2 0-.363.113t-.237.312L8.625 14.65q-.125.3.05.575t.525.275q.2 0 .363-.112t.237-.313zm.4-1.15L11.95 9h.1l1.15 3.3zM12 22q-2.075 0-3.9-.788t-3.175-2.137T2.788 15.9T2 12q0-.8.125-1.6T2.5 8.825q.125-.4.513-.537t.737.062q.375.2.538.588t.037.812q-.15.55-.238 1.113T4 12q0 3.35 2.325 5.675T12 20t5.675-2.325T20 12t-2.325-5.675T12 4q-.6 0-1.187.087T9.65 4.35q-.425.125-.8-.025T8.3 3.8t-.013-.762t.563-.513q.75-.275 1.55-.4T12 2q2.075 0 3.9.788t3.175 2.137T21.213 8.1T22 12t-.788 3.9t-2.137 3.175t-3.175 2.138T12 22M4.438 6.563Q4 6.125 4 5.5t.438-1.062T5.5 4t1.063.438T7 5.5t-.437 1.063T5.5 7t-1.062-.437M12 12`},null,-1)]])}var gt=W({name:`material-symbols-motion-photos-auto-outline-rounded`,render:ht}),_t={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function vt(e,t){return j(),R(`svg`,_t,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`M21 15v3h3v2h-3v3h-2v-3h-3v-2h3v-3zm-7 3H3V6h16v7h2V6c0-1.11-.89-2-2-2H3a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h11z`},null,-1)]])}var yt=W({name:`mdi-card-plus-outline`,render:vt}),bt={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function xt(e,t){return j(),R(`svg`,bt,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`M12 2a7 7 0 0 1 7 7a7 7 0 0 1-7 7a7 7 0 0 1-7-7a7 7 0 0 1 7-7m0 2a5 5 0 0 0-5 5a5 5 0 0 0 5 5a5 5 0 0 0 5-5a5 5 0 0 0-5-5m0 2a3 3 0 0 1 3 3a3 3 0 0 1-3 3a3 3 0 0 1-3-3a3 3 0 0 1 3-3M6 22a2 2 0 0 1-2-2c0-.38.1-.73.29-1.03l1.82-3.16A9 9 0 0 0 12 18c2.25 0 4.31-.83 5.89-2.19l1.82 3.16c.19.3.29.65.29 1.03a2 2 0 0 1-2 2z`},null,-1)]])}var St=W({name:`mdi-webcam`,render:xt}),Ct={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function wt(e,t){return j(),R(`svg`,Ct,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`M9.367 2.25h5.266c1.092 0 1.958 0 2.655.057c.714.058 1.317.18 1.869.46a4.75 4.75 0 0 1 2.075 2.077c.281.55.403 1.154.461 1.868c.057.697.057 1.563.057 2.655v5.266c0 1.092 0 1.958-.057 2.655c-.058.714-.18 1.317-.46 1.869a4.75 4.75 0 0 1-2.076 2.075c-.552.281-1.155.403-1.869.461c-.697.057-1.563.057-2.655.057H9.367c-1.092 0-1.958 0-2.655-.057c-.714-.058-1.317-.18-1.868-.46a4.75 4.75 0 0 1-2.076-2.076c-.281-.552-.403-1.155-.461-1.869c-.057-.697-.057-1.563-.057-2.655V9.367c0-1.092 0-1.958.057-2.655c.058-.714.18-1.317.46-1.868a4.75 4.75 0 0 1 2.077-2.076c.55-.281 1.154-.403 1.868-.461c.697-.057 1.563-.057 2.655-.057M10.25 8a.75.75 0 0 0-1.5 0v8a.75.75 0 0 0 1.5 0v-3.25h3.5V16a.75.75 0 0 0 1.5 0V8a.75.75 0 0 0-1.5 0v3.25h-3.5z`},null,-1)]])}var Tt=W({name:`mynaui-letter-h-square-solid`,render:wt}),Et={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Dt(e,t){return j(),R(`svg`,Et,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`M9.367 2.25h5.266c1.092 0 1.958 0 2.655.057c.714.058 1.317.18 1.869.46a4.75 4.75 0 0 1 2.075 2.077c.281.55.403 1.154.461 1.868c.057.697.057 1.563.057 2.655v5.266c0 1.092 0 1.958-.057 2.655c-.058.714-.18 1.317-.46 1.869a4.75 4.75 0 0 1-2.076 2.075c-.552.281-1.155.403-1.869.461c-.697.057-1.563.057-2.655.057H9.367c-1.092 0-1.958 0-2.655-.057c-.714-.058-1.317-.18-1.868-.46a4.75 4.75 0 0 1-2.076-2.076c-.281-.552-.403-1.155-.461-1.869c-.057-.697-.057-1.563-.057-2.655V9.367c0-1.092 0-1.958.057-2.655c.058-.714.18-1.317.46-1.868a4.75 4.75 0 0 1 2.077-2.076c.55-.281 1.154-.403 1.868-.461c.697-.057 1.563-.057 2.655-.057M10.25 8a.75.75 0 0 0-1.5 0v7.5c0 .414.336.75.75.75H15a.75.75 0 0 0 0-1.5h-4.75z`},null,-1)]])}var Ot=W({name:`mynaui-letter-l-square-solid`,render:Dt}),kt={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function At(e,t){return j(),R(`svg`,kt,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`M9.367 2.25h5.266c1.092 0 1.958 0 2.655.057c.714.058 1.317.18 1.869.46a4.75 4.75 0 0 1 2.075 2.077c.281.55.403 1.154.461 1.868c.057.697.057 1.563.057 2.655v5.266c0 1.092 0 1.958-.057 2.655c-.058.714-.18 1.317-.46 1.869a4.75 4.75 0 0 1-2.076 2.075c-.552.281-1.155.403-1.869.461c-.697.057-1.563.057-2.655.057H9.367c-1.092 0-1.958 0-2.655-.057c-.714-.058-1.317-.18-1.868-.46a4.75 4.75 0 0 1-2.076-2.076c-.281-.552-.403-1.155-.461-1.869c-.057-.697-.057-1.563-.057-2.655V9.367c0-1.092 0-1.958.057-2.655c.058-.714.18-1.317.46-1.868a4.75 4.75 0 0 1 2.077-2.076c.55-.281 1.154-.403 1.868-.461c.697-.057 1.563-.057 2.655-.057m.233 5.3A.75.75 0 0 0 8.25 8v8a.75.75 0 0 0 1.5 0v-5.75l1.65 2.2a.75.75 0 0 0 1.2 0l1.65-2.2V16a.75.75 0 0 0 1.5 0V8a.75.75 0 0 0-1.35-.45l-2.4 3.2z`},null,-1)]])}var jt=W({name:`mynaui-letter-m-square-solid`,render:At}),Mt={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Nt(e,t){return j(),R(`svg`,Mt,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`M12 .36A5.4 5.4 0 0 0 6.62 5.3a5.4 5.4 0 0 0-1.22-.14a5.4 5.4 0 0 0-2.143 10.357a5.4 5.4 0 0 0-.737 2.723a5.4 5.4 0 0 0 9.54 3.466a5.4 5.4 0 0 0 8.833-6.137a5.4 5.4 0 0 0-3.505-10.152A5.4 5.4 0 0 0 12 .36M6.283 7.228h10.592c.746 0 1.352.605 1.352 1.349v7.646a1.35 1.35 0 0 1-1.352 1.348h-3.608l-7.24 3.55l1.1-3.55h-.844a1.35 1.35 0 0 1-1.352-1.348V8.577c0-.744.606-1.349 1.352-1.349`},null,-1)]])}var Pt=W({name:`simple-icons-webrtc`,render:Nt}),Ft={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function It(e,t){return j(),R(`svg`,Ft,[...t[0]||=[L(`path`,{fill:`currentColor`,d:`M9 3h2v2H9zm4 0h2v2h-2zM9 7h2v2H9zm4 0h2v2h-2zm-4 4h2v2H9zm4 0h2v2h-2zm-4 4h2v2H9zm4 0h2v2h-2zm-4 4h2v2H9zm4 0h2v2h-2z`},null,-1)]])}var Lt=W({name:`mdi-drag-vertical`,render:It}),Rt={class:`text-sm text-muted truncate`},zt=g(K({__name:`ViewDnDDrag`,props:{camera:{},isDropped:{type:Boolean},canDrag:{type:Boolean}},setup(t){let{camera:n,canDrag:r}=F(t),i=M(`boxRef`),a=xe(null),o=z(0),s=z(0),c=z(!1),{x:l,y:u}=ae(),{isTouch:f}=_(),[p,m]=ke(()=>({type:`camera-sidebar`,options:{dropEffect:`copy`},item:n.value,canDrag:r.value,collect:e=>({style:{opacity:e.isDragging()?.4:1},isDragging:e.isDragging()})})),h=U(()=>p.value.isDragging),g=U(()=>h.value&&f.value);function v(e){f.value&&e.preventDefault()}function ee(){a.value&&document.body.contains(a.value)&&document.body.removeChild(a.value),a.value=null}function y(){if(ee(),!i.value)return;let e=i.value.cloneNode(!0),t=i.value.getBoundingClientRect();e.style.width=`${t.width}px`,e.style.height=`${t.height}px`,e.classList.add(`drag-preview`),e.style.position=`fixed`,e.style.left=`${l.value-o.value}px`,e.style.top=`${u.value-s.value}px`,document.body.appendChild(e),a.value=e}function b(){c.value=!1,ee()}function te(){b(),c.value=!0;let e=i.value?.getBoundingClientRect();e&&(o.value=l.value-e.left,s.value=u.value-e.top,y())}function x(){a.value&&c.value&&requestAnimationFrame(()=>{a.value&&(a.value.style.left=`${l.value-o.value}px`,a.value.style.top=`${u.value-s.value}px`)})}return he(g,e=>e?te():b()),he([l,u],()=>x(),{flush:`sync`}),ye(()=>b()),(r,a)=>{let o=Lt,s=d,c=e;return j(),R(`div`,{ref_key:`boxRef`,ref:i,onDragstart:v},[L(`div`,{ref:q(m),style:pe(q(p).style)},[V(c,{disabled:t.isDropped,fluid:``,severity:`secondary`,class:`cui-rounded-corner dark-mode shadow-sm items-center justify-normal`,style:pe({cursor:t.isDropped?`not-allowed`:`grab`})},{default:k(()=>[V(o,{size:`20`,class:`text-muted mr-2`}),V(s,{camera:q(n),width:`110px`,class:I([`cui-rounded-corner shadow-md overflow-hidden`,{"opacity-30":t.isDropped}])},null,8,[`camera`,`class`]),L(`span`,Rt,A(q(n).name),1)]),_:1},8,[`disabled`,`style`])],4)],544)}}}),[[`__scopeId`,`data-v-5498a5c0`]]),Bt={editMode:!1,rearrangeMode:!1,viewSize:1},Vt=Object.fromEntries(Object.entries({1:{cols:1,rows:1},4:{cols:2,rows:2},6:{cols:3,rows:3},7:{cols:4,rows:4},9:{cols:3,rows:3},10:{cols:4,rows:4},12:{cols:6,rows:6},13:{cols:4,rows:4},15:{cols:12,rows:12},16:{cols:4,rows:4},20:{cols:6,rows:6},26:{cols:12,rows:12}}).map(([e,t])=>[e,{cols:t.cols*16,rows:t.rows*16}])),Ht=e=>e.map(e=>({x:e.x*16,y:e.y*16,w:e.w*16,h:e.h*16})),Ut=Object.fromEntries(Object.entries({1:[{x:0,y:0,w:1,h:1}],4:[{x:0,y:0,w:1,h:1},{x:1,y:0,w:1,h:1},{x:0,y:1,w:1,h:1},{x:1,y:1,w:1,h:1}],6:[{x:0,y:0,w:2,h:2},{x:2,y:0,w:1,h:1},{x:2,y:1,w:1,h:1},{x:0,y:2,w:1,h:1},{x:1,y:2,w:1,h:1},{x:2,y:2,w:1,h:1}],7:[{x:0,y:0,w:2,h:2},{x:2,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:2,y:2,w:1,h:1},{x:3,y:2,w:1,h:1},{x:2,y:3,w:1,h:1},{x:3,y:3,w:1,h:1}],9:[{x:0,y:0,w:1,h:1},{x:1,y:0,w:1,h:1},{x:2,y:0,w:1,h:1},{x:0,y:1,w:1,h:1},{x:1,y:1,w:1,h:1},{x:2,y:1,w:1,h:1},{x:0,y:2,w:1,h:1},{x:1,y:2,w:1,h:1},{x:2,y:2,w:1,h:1}],10:[{x:0,y:0,w:2,h:2},{x:0,y:2,w:2,h:2},{x:2,y:0,w:1,h:1},{x:3,y:0,w:1,h:1},{x:2,y:1,w:1,h:1},{x:3,y:1,w:1,h:1},{x:2,y:2,w:1,h:1},{x:3,y:2,w:1,h:1},{x:2,y:3,w:1,h:1},{x:3,y:3,w:1,h:1}],12:[{x:0,y:0,w:3,h:3},{x:3,y:0,w:3,h:3},{x:0,y:3,w:3,h:3},{x:3,y:3,w:1,h:1},{x:4,y:3,w:1,h:1},{x:5,y:3,w:1,h:1},{x:3,y:4,w:1,h:1},{x:4,y:4,w:1,h:1},{x:5,y:4,w:1,h:1},{x:3,y:5,w:1,h:1},{x:4,y:5,w:1,h:1},{x:5,y:5,w:1,h:1}],13:[{x:0,y:0,w:2,h:2},{x:2,y:0,w:1,h:1},{x:3,y:0,w:1,h:1},{x:2,y:1,w:1,h:1},{x:3,y:1,w:1,h:1},{x:0,y:2,w:1,h:1},{x:1,y:2,w:1,h:1},{x:2,y:2,w:1,h:1},{x:3,y:2,w:1,h:1},{x:0,y:3,w:1,h:1},{x:1,y:3,w:1,h:1},{x:2,y:3,w:1,h:1},{x:3,y:3,w:1,h:1}],15:[{x:0,y:0,w:6,h:6},{x:6,y:0,w:6,h:6},{x:0,y:6,w:3,h:3},{x:3,y:6,w:3,h:3},{x:0,y:9,w:3,h:3},{x:3,y:9,w:3,h:3},{x:6,y:6,w:2,h:2},{x:8,y:6,w:2,h:2},{x:10,y:6,w:2,h:2},{x:6,y:8,w:2,h:2},{x:8,y:8,w:2,h:2},{x:10,y:8,w:2,h:2},{x:6,y:10,w:2,h:2},{x:8,y:10,w:2,h:2},{x:10,y:10,w:2,h:2}],16:[{x:0,y:0,w:1,h:1},{x:1,y:0,w:1,h:1},{x:2,y:0,w:1,h:1},{x:3,y:0,w:1,h:1},{x:0,y:1,w:1,h:1},{x:1,y:1,w:1,h:1},{x:2,y:1,w:1,h:1},{x:3,y:1,w:1,h:1},{x:0,y:2,w:1,h:1},{x:1,y:2,w:1,h:1},{x:2,y:2,w:1,h:1},{x:3,y:2,w:1,h:1},{x:0,y:3,w:1,h:1},{x:1,y:3,w:1,h:1},{x:2,y:3,w:1,h:1},{x:3,y:3,w:1,h:1}],20:[{x:0,y:0,w:3,h:3},{x:0,y:3,w:3,h:3},{x:3,y:0,w:1,h:1},{x:4,y:0,w:1,h:1},{x:5,y:0,w:1,h:1},{x:3,y:1,w:1,h:1},{x:4,y:1,w:1,h:1},{x:5,y:1,w:1,h:1},{x:3,y:2,w:1,h:1},{x:4,y:2,w:1,h:1},{x:5,y:2,w:1,h:1},{x:3,y:3,w:1,h:1},{x:4,y:3,w:1,h:1},{x:5,y:3,w:1,h:1},{x:3,y:4,w:1,h:1},{x:4,y:4,w:1,h:1},{x:5,y:4,w:1,h:1},{x:3,y:5,w:1,h:1},{x:4,y:5,w:1,h:1},{x:5,y:5,w:1,h:1}],26:[{x:0,y:0,w:3,h:3},{x:3,y:0,w:3,h:3},{x:0,y:3,w:3,h:3},{x:3,y:3,w:3,h:3},{x:6,y:0,w:2,h:2},{x:8,y:0,w:2,h:2},{x:10,y:0,w:2,h:2},{x:6,y:2,w:2,h:2},{x:8,y:2,w:2,h:2},{x:10,y:2,w:2,h:2},{x:6,y:4,w:2,h:2},{x:8,y:4,w:2,h:2},{x:10,y:4,w:2,h:2},{x:0,y:6,w:2,h:2},{x:2,y:6,w:2,h:2},{x:4,y:6,w:2,h:2},{x:0,y:8,w:2,h:2},{x:2,y:8,w:2,h:2},{x:4,y:8,w:2,h:2},{x:0,y:10,w:2,h:2},{x:2,y:10,w:2,h:2},{x:4,y:10,w:2,h:2},{x:6,y:6,w:3,h:3},{x:9,y:6,w:3,h:3},{x:6,y:9,w:3,h:3},{x:9,y:9,w:3,h:3}]}).map(([e,t])=>[e,Ht(t)])),Wt={class:`text-lg font-semibold text-white`},Gt={class:`flex flex-col gap-3 w-full h-full overflow-y-auto`},Kt={class:`cui-label`},qt={key:0,class:`text-muted text-sm`},Jt=K({__name:`ViewDnDSidebar`,props:{cameras:{},droppedCameras:{},title:{}},emits:[`changeViewSize`],setup(t,{emit:n}){let r=t,i=n,{droppedCameras:a}=F(r);function o(e){return a.value.some(t=>t.name===e.name)}return(n,r)=>{let a=e,s=zt;return j(),R(`div`,{class:`sidebar-view-background flex flex-col p-2 border-[1px] border-color gap-2 rounded-xl`,style:pe({width:`${q(400)}px`})},[L(`span`,Wt,A(t.title),1),L(`div`,Gt,[V(a,{fluid:``,label:`Change grid size`,class:`cui-button-small dark-mode shrink-0 my-4`,onClick:r[0]||=e=>i(`changeViewSize`)}),L(`label`,Kt,A(n.$t(`components.view_box.available_streams`)),1),(j(!0),R(Ce,null,fe(t.cameras,(e,t)=>(j(),R(`div`,{key:t},[V(s,{camera:e,"is-dropped":o(e),"can-drag":!o(e)},null,8,[`camera`,`is-dropped`,`can-drag`])]))),128)),t.cameras.length?G(``,!0):(j(),R(`span`,qt,A(n.$t(`components.view_box.no_cameras`)),1))])],4)}}}),Yt={key:1,class:`w-full h-full bg-[#1a1a1a] flex items-center justify-center`},Xt={key:2,class:`w-full h-full bg-[#111]`},Zt={key:1,class:`w-full h-full flex items-center justify-center`},Qt={key:0},$t=g(K({__name:`ViewDnDCard`,props:{camera:{},cameras:{},droppedCameras:{},mode:{},index:{},cameraCardProps:{},cameraCardModels:{},onDrop:{type:Function}},emits:[`drop`,`remove`,`expand`],setup(n,{expose:r,emit:i}){let a=n,s=i,{lgBreakpoint:c}=p(),{camera:l,mode:u,cameras:f,droppedCameras:m}=F(a),h=M(`boxRef`),g=M(`containerRef`),_=M(`playerRef`),v=M(`menuRef`),{width:ee}=o(g),[y,b]=Y({accept:`camera-sidebar`,drop:a.onDrop,collect:e=>({isOver:e.isOver(),canDrop:e.canDrop()&&!l.value}),canDrop:()=>u.value===`edit`&&!l.value}),te=U(()=>y.value.canDrop&&y.value.isOver),ne=U(()=>u.value===`edit`?te.value?`#171717`:`#202020`:`#000`),S=U(()=>ee.value<=200),C=U(()=>f.value.filter(e=>!m.value.some(t=>t.name===e.name))),w=U(()=>C.value.map(e=>({label:e.name,onClick:()=>s(`drop`,e)})));function T(e){_.value?.toggleMute(e)}async function re(e,t){await _.value?.toggleMicrophone(e,t)}function E(e){_.value?.toggleActivityMode(e)}async function D(e){await _.value?.toggleSourceRole(e)}async function O(e){await _.value?.toggleStreamingMode(e)}function ie(e){_.value?.toggleBbox(e)}function ae(e){_.value?.togglePip(e)}return r({togglePlayerMute:T,toggleMicrophone:re,togglePlayerActivityMode:E,togglePlayerSourceRole:D,togglePlayerStreamingMode:O,togglePlayerBbox:ie,togglePip:ae}),(r,i)=>{let a=Re,o=Fe,p=Ne,m=e,ee=d,y=x,te=t;return j(),R(`div`,{ref_key:`boxRef`,ref:h,class:`view-dnd-card`},[q(u)===`normal`||q(u)===`rearrange`?(j(),R(Ce,{key:0},[q(l)?(j(),H(a,ce({key:0,ref_key:`playerRef`,ref:_},n.cameraCardProps,{"activity-mode":n.cameraCardModels?.activityMode,"source-role":n.cameraCardModels?.sourceRole,"streaming-mode":n.cameraCardModels?.streamingMode,"camera-info":q(l),class:`w-full h-full`,onExpand:i[0]||=e=>s(`expand`,q(l),e)}),null,16,[`activity-mode`,`source-role`,`streaming-mode`,`camera-info`])):q(u)===`rearrange`?(j(),R(`div`,Yt,[V(o,{class:`w-6 h-6 text-white/20`})])):(j(),R(`div`,Xt))],64)):q(u)===`edit`?(j(),R(Ce,{key:1},[L(`div`,{ref:q(b),style:pe({backgroundColor:q(ne)}),class:`w-full h-full`},[q(l)?(j(),R(`div`,{key:0,ref_key:`containerRef`,ref:g,class:`w-full h-full flex items-center justify-center relative min-w-0`},[V(m,{class:I([`z-1`,{"cui-icon-lg":q(S),"cui-button-small max-w-[85%]":!q(S)}]),label:q(S)?void 0:q(l).name,onClick:i[1]||=Se(e=>s(`remove`,q(l)),[`prevent`])},{icon:k(()=>[V(p)]),_:1},8,[`class`,`label`]),V(ee,{camera:q(l),class:`absolute w-full h-full top-0 left-0 bg-black/50 opacity-20`},null,8,[`camera`])],512)):q(c)?G(``,!0):(j(),R(`div`,Zt,[q(f).length?(j(),H(m,{key:1,text:``,rounded:``,class:`cui-icon-md`,onClick:q(v)?.toggleMenu},{icon:k(()=>[V(o,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])):B((j(),R(`div`,Qt,[V(m,{text:``,rounded:``,disabled:``,class:`cui-icon-md`},{icon:k(()=>[V(o,{width:`100%`,height:`100%`})]),_:1})])),[[te,{value:r.$t(`views.camview.no_cameras`)},void 0,{top:!0}]])]))],4),V(y,{ref_key:`menuRef`,ref:v,items:q(w),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])],64)):G(``,!0)],512)}}}),[[`__scopeId`,`data-v-ca177470`]]),en={class:`w-full h-full flex flex-row`},tn=[`gs-id`,`gs-x`,`gs-y`,`gs-w`,`gs-h`],nn={class:`grid-stack-item-content`},rn={key:0,class:`absolute top-2 left-2 z-20 px-2 py-1 rounded-md bg-black/75 text-white text-xs tabular-nums pointer-events-none select-none`},an=g(K({__name:`CuiCameraViewDnD`,props:me({cameras:{},viewSize:{},cards:{},title:{},editMode:{type:Boolean},rearrangeMode:{type:Boolean},cameraCardProps:{},cameraCardModels:{}},Bt),emits:[`drop`,`remove`,`changeViewSize`,`expand`,`rearrange`],setup(t,{expose:i,emit:a}){let s=t,c=a,{isTouch:l}=_(),{smBreakpoint:u,lgBreakpoint:d}=p(),f=se(n,void 0),m=O(),{routeFrom:h,routeTo:g}=De(m),{editMode:v,rearrangeMode:ee,viewSize:y,cards:b,cameraCardProps:te}=F(s),x=M(`viewRef`),ne=M(`wrapperRef`),S=M(`gridRef`),C=M(`cardRefs`),T=z(),re=z(),E=null,D=z(),ie=z({w:0,h:0}),{isFullscreen:ae,toggle:oe}=r(x,{mode:`scroll`}),ce=o(x),le=o(ne),ue=U(()=>v.value?`edit`:ee.value?`rearrange`:`normal`),P=U(()=>b.value.map((e,t)=>({card:e,index:t})).filter(({card:e})=>ue.value===`edit`||e.lastDroppedCamera!==void 0)),me=U(()=>T.value??re.value),ge=U(()=>e=>{let t={...ve(te.value)};if(e){let n=h.value?.includes(`/cameras/${e.name}`)??!1,r=g.value?.includes(`/cameras/${e.name}`)??!1,i=t.viewTransition&&(n||r),a=`/cameras/${e.name}`;t.routerLink=f?.isActive.value?`${a}?startTs=${Math.floor(f.currentTimestamp.value/1e3)}`:a,t.viewTransition=i}return t}),be=U(()=>(ce.height.value-16)*(16/9)),xe=U(()=>b.value.filter(e=>e.lastDroppedCamera).map(e=>e.lastDroppedCamera));function Se(e){let t=b.value[e];if(u.value)return{x:0,y:t?.y??e,w:1,h:1};let n=Ut[y.value]?.[e];return{x:t?.x??n?.x??0,y:t?.y??n?.y??0,w:t?.colSpan??n?.w??1,h:t?.rowSpan??n?.h??1}}function W(){if(!E)return;let e=[];for(let t of E.getGridItems()){let n=t.gridstackNode;if(!n)continue;let r=parseInt(n.id),i=b.value[r];i?.lastDroppedCamera&&e.push({index:r,cameraId:i.lastDroppedCamera._id,colSpan:n.w,rowSpan:n.h,x:n.x,y:n.y})}c(`rearrange`,e)}function K(){ue.value===`rearrange`&&W()}function we(e){let t=parseInt(e.gridstackNode?.id??``);if(Number.isNaN(t))return;let n=e.getBoundingClientRect();D.value=t,ie.value={w:Math.round(n.width),h:Math.round(n.height)}}function Te(){if(!S.value)return;let e=Vt[y.value];if(!e)return;let t=u.value,n=t?1:e.cols,r=t?P.value.length:e.rows,i=ne.value?.clientWidth??0,a=t?i*9/16:i>0?i*9/16/e.rows:60,o=ue.value===`rearrange`;E=Ve.init({column:n,minRow:r,cellHeight:a,margin:o?3:1,float:!t,animate:!1,staticGrid:!o,resizable:t?{handles:``}:{handles:`se`},disableResize:t,alwaysShowResizeHandle:!t},S.value),E&&(E.on(`change`,K),E.on(`resizestart`,(e,t)=>we(t)),E.on(`resize`,(e,t)=>we(t)),E.on(`resizestop`,()=>{D.value=void 0}),requestAnimationFrame(()=>E?.setAnimation(!0)))}function Ee(){E&&=(D.value=void 0,E.offAll(),E.destroy(!1),null)}function ke(e){let t=b.value.findIndex(t=>t.lastDroppedCamera?._id===e);if(t===-1||T.value===t)return;let n=b.value[t].lastDroppedCamera;re.value=void 0,T.value=t,c(`expand`,n,!0)}function Y(e,t,n){n?T.value=t:(re.value=t,T.value=void 0,setTimeout(()=>{re.value=void 0},250)),c(`expand`,e,n)}async function Ae(){await oe()}function je(e){for(let t of C.value||[])t.togglePlayerMute(e)}async function Me(e,t){await Promise.allSettled((C.value||[]).map(n=>n.toggleMicrophone(e,t)))}function Z(e){for(let t of C.value||[])t.togglePlayerActivityMode(e)}async function Q(e){await Promise.allSettled((C.value||[]).map(t=>t.togglePlayerSourceRole(e)))}async function Ne(e){await Promise.allSettled((C.value||[]).map(t=>t.togglePlayerStreamingMode(e)))}function Pe(e){for(let t of C.value||[])t.togglePlayerBbox(e)}function Fe(e){for(let t of C.value||[])t.togglePip(e)}function Ie(){E&&(E.compact(),W())}function Le(){if(!E)return;let e=Vt[y.value];if(!e)return;let t=e.cols,n=[];for(let e of E.getGridItems()){let t=e.gridstackNode;if(!t)continue;let r=parseInt(t.id),[i,a]=((b.value[r]?.lastDroppedCamera)?.interfaceSettings?.aspectRatio||`16:9`).split(`:`).map(Number);n.push({idx:r,el:e,cellRatio:i/a*(9/16)})}if(!n.length)return;let r=e.rows;function i(e){let r=[],i=0,a=0;for(;a<n.length;){let o=[],s=0,c=!1;for(;a<n.length;){let r=n[a].cellRatio;if(e*(s+r)>t&&o.length>0){c=!0;break}o.push(n[a]),s+=r,a++}let l=c?t/s:e;r.push({row:o,ratioSum:s,rowH:l,filled:c}),i+=l}return{rows:r,totalH:i}}let a=.25,o=r,s=a;for(let e=0;e<40;e++){let e=(a+o)/2;i(e).totalH<=r?(s=e,a=e):o=e}let{rows:c}=i(s),l=c.reduce((e,t)=>e+t.rowH,0)||1,u=l>r?r/l:1,d=c.map(e=>e.rowH*u),f=d.reduce((e,t)=>e+t,0),p=new Map,m=Math.max(0,Math.round((r-f)/2)),h=m;for(let e=0;e<c.length;e++){h+=d[e];let n=Math.min(r,Math.round(h)),i=Math.max(1,n-m),{row:a,ratioSum:o,filled:s}=c[e];if(s){let e=0;for(let n=0;n<a.length;n++){let r=n===a.length-1?Math.max(1,t-e):Math.max(1,Math.round(a[n].cellRatio/o*t));p.set(a[n].idx,{x:e,y:m,w:r,h:i}),e+=r}}else{let e=a.map(e=>Math.max(1,Math.round(e.cellRatio*i))),n=e.reduce((e,t)=>e+t,0),r=Math.max(0,Math.round((t-n)/2));for(let t=0;t<a.length;t++)p.set(a[t].idx,{x:r,y:m,w:e[t],h:i}),r+=e[t]}m=n}E.batchUpdate();for(let[e,t]of p){let r=n.find(t=>t.idx===e);r&&E.update(r.el,t)}E.batchUpdate(!1),W()}return he([y,()=>P.value.length,u],()=>{Ee(),N(()=>Te())},{immediate:!1}),he(ue,e=>{if(!E)return;let t=e===`rearrange`;E.setStatic(!t),E.margin(t?3:1)}),he(()=>le.width.value,e=>{if(!(!E||e<=0)){if(E.setAnimation(!1),u.value)E.cellHeight(e*9/16);else{let t=Vt[y.value]?.rows??1;E.cellHeight(e*9/16/t)}requestAnimationFrame(()=>E?.setAnimation(!0))}}),de(()=>{N(()=>Te())}),ye(()=>{Ee()}),i({expandCameraById:ke,toggleFullscreen:Ae,toggleAllPlayerMute:je,toggleAllPlayerMicrophone:Me,toggleAllPlayerActivityMode:Z,toggleAllPlayerSourceRole:Q,toggleAllPlayerStreamingMode:Ne,toggleAllPlayerBbox:Pe,toggleAllPip:Fe,compactGrid:Ie,fitAspectRatios:Le,isFullscreen:ae}),(n,r)=>{let i=w,a=e,o=$t,s=Jt;return j(),H(q(Oe),{backend:q(l)?q(X):q(J),options:q(l)?{enableMouseEvents:!0}:void 0},{default:k(()=>[L(`div`,en,[L(`div`,{ref_key:`viewRef`,ref:x,class:I([`view-container w-full flex flex-col min-w-0 overflow-y-auto items-center`,{"px-2":q(v)&&q(d)}])},[q(ae)?(j(),H(a,{key:0,severity:`secondary`,rounded:``,class:`cui-fs-exit`,"aria-label":n.$t(`components.form.tooltip.fullscreen_off`),onClick:q(oe)},{icon:k(()=>[V(i,{class:`w-5 h-5`})]),_:1},8,[`aria-label`,`onClick`])):G(``,!0),q(me)===void 0?G(``,!0):(j(),R(`div`,{key:1,class:`w-full aspect-video relative my-auto`,style:pe({maxWidth:`${q(be)}px`})},[V(o,{ref:`fsCardRef`,class:I([`w-full h-full`,{"card-expanded":q(T)!==void 0,"card-collapsing":q(re)!==void 0}]),camera:q(b)[q(me)]?.lastDroppedCamera,cameras:t.cameras,"dropped-cameras":q(xe),mode:`normal`,index:q(me),"camera-card-props":{...q(ge)(q(b)[q(me)]?.lastDroppedCamera),expanded:!0},"camera-card-models":t.cameraCardModels,onExpand:r[0]||=(e,t)=>Y(e,q(me),t)},null,8,[`class`,`camera`,`cameras`,`dropped-cameras`,`index`,`camera-card-props`,`camera-card-models`])],4)),B(L(`div`,{ref_key:`wrapperRef`,ref:ne,class:I([`w-full relative my-auto`,q(u)?`h-auto`:`aspect-video`]),style:pe(q(u)?void 0:{maxWidth:`${q(be)}px`})},[L(`div`,{ref_key:`gridRef`,ref:S,class:`grid-stack w-full h-full`},[(j(!0),R(Ce,null,fe(q(P),({card:e,index:n})=>(j(),R(`div`,{key:n,class:`grid-stack-item`,"gs-id":String(n),"gs-x":Se(n).x,"gs-y":Se(n).y,"gs-w":Se(n).w,"gs-h":Se(n).h},[L(`div`,nn,[V(o,{ref_for:!0,ref_key:`cardRefs`,ref:C,camera:e.lastDroppedCamera,cameras:t.cameras,"dropped-cameras":q(xe),mode:q(ue),index:n,"camera-card-props":{...q(ge)(e.lastDroppedCamera),expanded:q(me)===n},"camera-card-models":t.cameraCardModels,"on-drop":e=>c(`drop`,n,e),onExpand:(e,t)=>Y(e,n,t),onDrop:e=>c(`drop`,n,e),onRemove:r[1]||=e=>c(`remove`,e)},null,8,[`camera`,`cameras`,`dropped-cameras`,`mode`,`index`,`camera-card-props`,`camera-card-models`,`on-drop`,`onExpand`,`onDrop`]),q(D)===n?(j(),R(`div`,rn,A(q(ie).w)+` × `+A(q(ie).h),1)):G(``,!0)])],8,tn))),128))],512)],6),[[_e,q(me)===void 0]])],2),q(v)&&q(d)?(j(),H(s,{key:0,cameras:t.cameras,"dropped-cameras":q(xe),title:t.title,class:`view-box shadow-xl`,style:pe({"margin-right":q(v)?`0px`:`-${q(400)}px`}),onChangeViewSize:r[2]||=e=>c(`changeViewSize`)},null,8,[`cameras`,`dropped-cameras`,`title`,`style`])):G(``,!0)])]),_:1},8,[`backend`,`options`])}}}),[[`__scopeId`,`data-v-052a3b2e`]]),on={class:`flex flex-col gap-3`},sn={class:`text-wrap`},cn={class:`w-full h-full flex items-center justify-center relative`},ln=K({__name:`AudioVisualizer`,emits:[`listening`],setup(t,{expose:n,emit:r}){let i=r,a=Te(),o=C(),s=se(`dialogRefProps`),c=M(`canvasRef`),l=xe(),u=xe(),d=z(!1),f=U(()=>!!s.loading?.value);async function p(){if(d.value)h();else try{l.value&&h();let e;try{e=await navigator.mediaDevices.getUserMedia({audio:!0})}catch(e){o.add({severity:`warn`,detail:`Can not enable AudioVisualizer, see console.`,life:3e3}),a.warn(`Can not enable AudioVisualizer`,e);return}d.value=!0,i(`listening`,!0),l.value=new AudioContext;let t=l.value.createAnalyser();t.fftSize=1024,u.value=e.getTracks(),l.value.createMediaStreamSource(e).connect(t);let n,r=c.value?.getContext(`2d`),s=()=>{if(c.value&&r){let e=[],i=[];r.clearRect(0,0,c.value.width,c.value.height),requestAnimationFrame(s);let a=t.frequencyBinCount,o=new Uint8Array(a);t.getByteFrequencyData(o),e.push(o);for(let t=0;t<e[0].length;t++)i.push(0),e.forEach(e=>{i[t]+=e[t]});let l=c.value.width/2,u=c.value.height/2;r.beginPath(),r.arc(l,u,30,0,2*Math.PI),r.lineWidth=1,r.stroke(),r.closePath();for(let e=0;e<90;e++){n=i[e]*.4;let t=Math.PI*2/90,a=l+Math.cos(t*e)*30,o=u+Math.sin(t*e)*30,s=l+Math.cos(t*e)*(30+n),c=u+Math.sin(t*e)*(30+n);m(r,a,o,s,c,3)}d.value||r.clearRect(0,0,c.value.width,c.value.height)}};s()}catch(e){h(),a.error(e)}}function m(e,t,n,r,i,a){let o=e.createLinearGradient(t,n,r,i);o.addColorStop(0,`#5b040f`),o.addColorStop(.5,`#b50b21`),o.addColorStop(.9,`#df2a4c`),o.addColorStop(1,`#df6380`),e.lineWidth=a,e.strokeStyle=o,e.beginPath(),e.moveTo(t,n),e.lineTo(r,i),e.stroke(),e.closePath()}function h(){l.value?.close(),l.value=void 0,u.value?.forEach(e=>e.stop()),u.value=void 0,d.value=!1,i(`listening`,!1)}return le(()=>{h()}),n({isLoading:f}),(t,n)=>{let r=Pe,i=e;return j(),R(`div`,on,[L(`span`,sn,A(t.$t(`components.dialog.message.intercom_info`)),1),L(`div`,cn,[V(i,{rounded:``,class:`w-[60px] h-[60px] absolute z-1`,onClick:p},{icon:k(()=>[V(r,{width:`100%`,height:`100%`})]),_:1}),L(`canvas`,{ref_key:`canvasRef`,ref:c,height:`300`,width:`300`},null,512)])])}}}),un=[`fill`],dn=K({__name:`CuiCameraGridIcon1`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=F(e);return(e,n)=>(j(),R(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:q(t)},[...n[0]||=[L(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm0 8h952v532H9V9Z`},null,-1)]],8,un))}}),fn=[`fill`],pn=K({__name:`CuiCameraGridIcon10`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=F(e);return(e,n)=>(j(),R(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:q(t)},[...n[0]||=[L(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm726 275h226v130H735V276Zm-242 0h234v130H493V276Zm0 265V414h234v127H493ZM9 541V276h476v265H9Zm726 0V414h226v127H735ZM961 9v121H735V9h226ZM735 138h226v130H735V138ZM727 9v121H493V9h234ZM493 138h234v130H493V138ZM485 9v259H9V9h476Z`},null,-1)]],8,fn))}}),mn=[`fill`],hn=K({__name:`CuiCameraGridIcon12`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=F(e);return(e,n)=>(j(),R(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:q(t)},[...n[0]||=[L(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm952 275v129H810.5V276H961Zm-158.5 0v129h-152V276h152Zm-152 265V413h152v128h-152Zm-8-265v129H493V276h149.5ZM493 541V413h149.5v128H493ZM9 276h476v265H9V276Zm801.5 265V413H961v128H810.5ZM961 9v259H493V9h468ZM9 268V9h476v259H9Z`},null,-1)]],8,mn))}}),gn=[`fill`],_n=K({__name:`CuiCameraGridIcon13`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=F(e);return(e,n)=>(j(),R(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:q(t)},[...n[0]||=[L(`path`,{d:`M250 549.5h.5v-.5H961a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h233.5v.5h7.5Zm.5-273.5H485v129.5H250.5V276Zm-8 0v129.5H9V276h233.5ZM961 9v121H735V9h226ZM727 9v121H493V9h234ZM493 138h234v130H493V138ZM485 9v259H9V9h476Zm250 129h226v130H735V138Zm0 267.5V276h226v129.5H735ZM493 276h234v129.5H493V276Zm0 265V413.5h234V541H493Zm-242.5 0V413.5H485V541H250.5ZM9 541V413.5h233.5V541H9Zm726 0V413.5h226V541H735Z`},null,-1)]],8,gn))}}),vn=[`fill`],yn=K({__name:`CuiCameraGridIcon15`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=F(e);return(e,n)=>(j(),R(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:q(t)},[...n[0]||=[L(`path`,{d:`M250 549.5h.5v-.5H961a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h233.5v.5h7.5Zm.5-144V276H485v129.5H250.5Zm-8-129.5v129.5H9V276h233.5Zm570 90H961v82H812.5v-82Zm-160 0h152v82h-152v-82ZM961 276v82H812.5v-82H961Zm-308.5 0h152v82h-152v-82Zm0 180h152v85h-152v-85ZM961 541H812.5v-85H961v85Zm-316.5-93H493v-82h151.5v82Zm0-172v82H493v-82h151.5Zm0 180v85H493v-85h151.5ZM485 413.5V541H250.5V413.5H485Zm-242.5 0V541H9V413.5h233.5ZM961 9v259H493V9h468ZM9 9h476v259H9V9Z`},null,-1)]],8,vn))}}),bn=[`fill`],xn=K({__name:`CuiCameraGridIcon16`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=F(e);return(e,n)=>(j(),R(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:q(t)},[...n[0]||=[L(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm952 8v121.5H732.5V9H961ZM724.5 9v121.5H493V9h231.5ZM493 268V138.5h231.5V268H493Zm0 137.5V276h231.5v129.5H493Zm468 0H732.5V276H961v129.5ZM493 541V413.5h231.5V541H493Zm468 0H732.5V413.5H961V541Zm0-273H732.5V138.5H961V268ZM485 9v121.5H250.5V9H485ZM250.5 138.5H485V268H250.5V138.5ZM242.5 9v121.5H9V9h233.5ZM9 138.5h233.5V268H9V138.5ZM250.5 276H485v129.5H250.5V276Zm0 137.5H485V541H250.5V413.5Zm-8-137.5v129.5H9V276h233.5ZM9 541V413.5h233.5V541H9Z`},null,-1)]],8,bn))}}),Sn=[`fill`],Cn=K({__name:`CuiCameraGridIcon20`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=F(e);return(e,n)=>(j(),R(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:q(t)},[...n[0]||=[L(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm952 94v82H812.5V95H961Zm-156.5 82h-152V95h152v82ZM961 9v78H812.5V9H961ZM652.5 9h152v78h-152V9Zm0 176h152v83h-152v-83ZM961 268H812.5v-83H961v83Zm-308.5 8h152v82h-152v-82Zm160 0H961v82H812.5v-82Zm-168-181v82H493V95h151.5Zm0-86v78H493V9h151.5ZM493 268v-83h151.5v83H493Zm0 90v-82h151.5v82H493ZM9 9h476v259H9V9Zm952 357v82H812.5v-82H961Zm-156.5 0v82h-152v-82h152Zm-152 90h152v85h-152v-85ZM961 541H812.5v-85H961v85ZM644.5 366v82H493v-82h151.5ZM493 541v-85h151.5v85H493ZM9 276h476v265H9V276Z`},null,-1)]],8,Sn))}}),wn=[`fill`],Tn=K({__name:`CuiCameraGridIcon26`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=F(e);return(e,n)=>(j(),R(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:q(t)},[...n[0]||=[L(`path`,{"fill-rule":`evenodd`,d:`M1.5 9A7.5 7.5 0 0 1 9 1.5h952a7.5 7.5 0 0 1 7.5 7.5v532a7.5 7.5 0 0 1-7.5 7.5H9a7.5 7.5 0 0 1-7.5-7.5V9Zm960 168V94h-153v83h153Zm-160 0h-153V94h153v83Zm7-90h153V9a.5.5 0 0 0-.5-.5H808.5V87Zm-7-78.5V87h-153V8.5h153Zm0 175.5v84.5h-153V184h153Zm7 84.5V184h153v84.5h-153Zm-167-91.5V94h-149v83h149Zm0-90V8.5h-149V87h149Zm-149 97h149v84.5h-149V184Zm0 91.5H719V402H492.5V275.5Zm0 133.5v132.5H719V409H492.5Zm233.5 0v132.5h235a.5.5 0 0 0 .5-.5V409H726Zm235.5-7V275.5H726V402h235.5Zm-476-270V8.5H252V132h233.5ZM245 139H8.5v129.5H245V139Zm0-7V8.5H9a.5.5 0 0 0-.5.5v123H245Zm240.5 136.5V139H252v129.5h233.5Zm-477 7h157v81H8.5v-81Zm164 81v-81h153v81h-153Zm153 7h-153v83h153v-83Zm7 83v-83h153v83h-153Zm-7 7h-153v88h153v-88Zm7 88v-88h153v88h-153Zm0-185v-81h153v81h-153Zm-324 7h157v83H8.5v-83Zm0 90h157v88H9a.5.5 0 0 1-.5-.5v-87.5Z`},null,-1)]],8,wn))}}),En=[`fill`],Dn=K({__name:`CuiCameraGridIcon4`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=F(e);return(e,n)=>(j(),R(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:q(t)},[...n[0]||=[L(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm952 8v259H493V9h468ZM493 541V276h468v265H493ZM485 9v259H9V9h476ZM9 541V276h476v265H9Z`},null,-1)]],8,En))}}),On=[`fill`],kn=K({__name:`CuiCameraGridIcon6`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=F(e);return(e,n)=>(j(),R(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:q(t)},[...n[0]||=[L(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm641.5 187.5H961v171H650.5v-171ZM961 9v171.5H650.5V9H961ZM642.5 9v350.5H9V9h633.5ZM9 541V367.5h315.5V541H9Zm323.5-173.5h310V541h-310V367.5Zm318 0H961V541H650.5V367.5Z`},null,-1)]],8,On))}}),An=[`fill`],jn=K({__name:`CuiCameraGridIcon7`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=F(e);return(e,n)=>(j(),R(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:q(t)},[...n[0]||=[L(`path`,{d:`M9 1a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V9a8 8 0 0 0-8-8H9Zm725.5 275H961v130H734.5V276Zm0 265V414H961v127H734.5Zm-8-265v130H493V276h233.5ZM493 541V414h233.5v127H493ZM9 276h476v265H9V276ZM961 9v259H493V9h468ZM9 268V9h476v259H9Z`},null,-1)]],8,An))}}),Mn=[`fill`],Nn=K({__name:`CuiCameraGridIcon9`,props:{color:{default:`currentColor`}},setup(e){let{color:t}=F(e);return(e,n)=>(j(),R(`svg`,{xmlns:`http://www.w3.org/2000/svg`,viewBox:`0 0 970 550`,role:`img`,"area-hidden":`true`,fill:q(t)},[...n[0]||=[L(`path`,{d:`M969.5 359v-.5h-.5V9a8 8 0 0 0-8-8H9a8 8 0 0 0-8 8v532a8 8 0 0 0 8 8h952a8 8 0 0 0 8-8V366.5h.5V359ZM961 187v171.5H651V187h310ZM651 541V366.5h310V541H651Zm-8-354v171.5H330V187h313ZM330 541V366.5h313V541H330Zm-8-354v171.5H9V187h313ZM9 541V366.5h313V541H9ZM961 9v170H651V9h310ZM643 9v170H330V9h313ZM322 9v170H9V9h313Z`},null,-1)]],8,Mn))}}),Pn={for:`name`,class:`cui-label`},Fn={key:0,class:`flex flex-col gap-6 justify-center`},In={key:0,class:`text-red-500 text-center mb-5`},Ln={class:`md:max-h-[350px] overflow-y-auto`},Rn={class:`block cui-label mb-3`},zn={key:1,class:`flex flex-col gap-6 justify-center`},Bn={key:0,class:`text-red-500 text-center mb-5`},Vn={class:`md:max-h-[450px] overflow-y-auto`},Hn={class:`block cui-label mb-3`},Un={class:`view-select-container`},Wn=[`onClick`],Gn=g(K({__name:`CamviewForm`,props:{form:{},type:{},cameras:{},views:{}},setup(e,{expose:t}){let n=new f,r=e,a=Te(),o=C(),{t:s}=i(),l=se(`dialogRefProps`),d=y(),{user:p}=De(d),{mutateAsync:m,isPending:h}=n.createViewQuery(),{mutateAsync:g,isPending:_}=n.patchViewQuery(),{form:v,type:ee,cameras:b,views:te}=F(r),x=M(`formRef`),ne=z([1,4,6,7,9,10,12,13,15,16,20,26]),S=z(!0),w=z(!0),T=z([]),E=z(!!v.value),O=z(v.value?re(v.value):{});!E.value&&ee.value===`view`&&(O.value.viewSize=ne.value[0]);let ie=U(()=>!!(l.loading?.value||h.value||_.value));function ae(e){let t=T.value.findIndex(t=>t.name===e.name);t===-1?T.value.push(e):T.value.splice(t,1)}function le(e){switch(e){case 1:return dn;case 4:return Dn;case 6:return kn;case 7:return jn;case 9:return Nn;case 10:return pn;case 12:return hn;case 13:return _n;case 15:return yn;case 16:return xn;case 20:return Cn;case 26:return Tn;default:return dn}}async function N(){if(!x.value||!p.value)return;let e=te.value.find(e=>e.name===O.value.name);if(e&&!E.value)return a.error(`View already exists`,e),o.add({severity:`error`,detail:s(`components.toast.validation_failed`),life:3e3}),null;if(ee.value===`dnd`){if(w.value)return a.error(`No cameras selected`),o.add({severity:`error`,detail:s(`components.toast.validation_failed`),life:3e3}),null;let e=T.value.map((e,t)=>({cameraId:e._id,index:t}));O.value.cameras=e,O.value.type=`dnd`,O.value.viewSize=1,x.value.setFieldValue(`type`,`dnd`),x.value.setFieldValue(`viewSize`,1),x.value.setFieldValue(`cameras`,e);let t=await x.value.validate();return t?.valid?E.value?await g({username:p.value.username,viewid:O.value._id,viewData:O.value}):await m({username:p.value.username,viewData:O.value}):(a.error(`Validation failed`,t),o.add({severity:`error`,detail:s(`components.toast.validation_failed`),life:3e3}),null)}{if(S.value)return a.error(`No view selected`),o.add({severity:`error`,detail:s(`components.toast.validation_failed`),life:3e3}),null;O.value.cameras=[],O.value.type=`view`,x.value.setFieldValue(`type`,`view`),x.value.setFieldValue(`cameras`,[]);let e=await x.value.validate();return e?.valid?re(O.value):(a.error(`Validation failed`,e),o.add({severity:`error`,detail:s(`components.toast.validation_failed`),life:3e3}),null)}}return he(O,e=>{for(let[t,n]of Object.entries(e))x.value?.setFieldValue(t,n);e.viewSize&&(S.value=!1),e.cameras?.length&&(w.value=!1)},{deep:!0,immediate:!0}),he(T,e=>{w.value=e.length===0},{deep:!0}),de(()=>{T.value=b.value?.filter(e=>O.value?.cameras?.some(t=>t.cameraId===e._id))||[]}),t({isLoading:ie,onConfirm:N}),(e,t)=>{let n=c,r=Q,i=je,a=Z,o=D;return j(),H(q(oe),{ref_key:`formRef`,ref:x,class:`flex flex-col gap-6`,"validation-schema":q(u),"initial-values":q(O)},{default:k(()=>[V(q(P),{modelValue:q(O).name,"onUpdate:modelValue":t[0]||=e=>q(O).name=e,modelModifiers:{trim:!0},name:`name`,as:`div`,class:`flex flex-col field-gap`},{default:k(({field:t,errors:i})=>[L(`label`,Pn,A(e.$t(`components.form.label.name`)),1),V(r,null,{default:k(()=>[V(n,ce(t,{invalid:i.length>0,loading:q(ie),type:`text`}),null,16,[`invalid`,`loading`])]),_:2},1024),V(ge,{name:`fade`},{default:k(()=>[V(q(we),{name:`name`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`]),V(i,{class:`m-0 py-3`}),q(ee)===`dnd`?(j(),R(`div`,Fn,[V(ge,{name:`fade`},{default:k(()=>[q(w)?(j(),R(`span`,In,A(e.$t(`components.form.error.no_cameras_selected`)),1)):G(``,!0)]),_:1}),L(`div`,Ln,[L(`label`,Rn,A(e.$t(`components.form.label.cameras`)),1),(j(!0),R(Ce,null,fe(q(b),(e,t)=>(j(),R(`div`,{key:t,class:`cui-list-item`},[V(o,{class:`h-14`,active:q(T).some(t=>t.name===e.name),onClick:t=>ae(e)},{append:k(()=>[V(a,{"model-value":q(T).some(t=>t.name===e.name),"onUpdate:modelValue":t=>ae(e)},null,8,[`model-value`,`onUpdate:modelValue`])]),default:k(()=>[L(`span`,null,A(e.name),1)]),_:2},1032,[`active`,`onClick`])]))),128))])])):(j(),R(`div`,zn,[V(ge,{name:`fade`},{default:k(()=>[q(S)?(j(),R(`span`,Bn,A(e.$t(`components.form.error.no_view_selected`)),1)):G(``,!0)]),_:1}),L(`div`,Vn,[L(`label`,Hn,A(e.$t(`components.form.label.views`)),1),L(`div`,Un,[(j(!0),R(Ce,null,fe(q(ne),t=>(j(),R(`div`,{key:t,class:`view-select-item w-full`,onClick:e=>q(O).viewSize=t},[L(`div`,{class:I([`view-select-item-icon w-full p-3`,{"selected-view":q(O).viewSize===t}])},[(j(),H(ue(le(t)),{style:{width:`100%`,height:`100%`}}))],2),L(`span`,{class:I([`view-select-item-label text-muted mt-3 px-2 py-1 cui-rounded-corners`,{"selected-view-label":q(O).viewSize===t}])},A(t)+` `+A(e.$t(`views.camview.cameras`)),3)],8,Wn))),128))])])]))]),_:1},8,[`validation-schema`,`initial-values`])}}}),[[`__scopeId`,`data-v-641aac54`]]),Kn={class:`h-full w-full dark-mode relative`},qn={key:0,class:`flex flex-col w-full h-full items-center justify-center`},Jn={key:1,class:`flex flex-col w-full h-full`},Yn={class:`flex flex-1 min-h-0 flex-col items-center justify-center w-full gap-4`},Xn={class:`text-muted text-sm`},Zn={class:`relative w-6 h-6`},Qn=g(K({__name:`Camview`,props:{navbarWidth:{default:0},navbarLeft:{default:0}},setup(n){let r=new f,o=new m,c=n,u=i(),{t:d}=u,g=Ae(),_=te(),{bottombarHeight:C}=h(),{smBreakpoint:D,lgBreakpoint:O,mdBreakpoint:ae}=p(),oe=y(),{user:se}=De(oe),le=v(),{uiSettings:N}=De(le),{data:de,isLoading:fe}=o.getCamerasQuery({page:1,pageSize:-1}),{data:P,isLoading:me}=r.getViewsQuery(se.value?.username??``,{page:1,pageSize:-1}),{mutate:_e,isPending:ve}=r.removeViewQuery(),{mutateAsync:ye,isPending:xe}=r.createViewQuery(),{mutateAsync:Se,isPending:Ce}=r.patchViewQuery(),{mutateAsync:W}=r.patchViewQuerySilent(),{navbarWidth:K,navbarLeft:we}=F(c),Te=M(`menuRef`),Oe=M(`newViewMenuRef`),ke=M(`cardFitMenuRef`),J=M(`viewDndRef`),Y=z({}),X=z(!1),Z=z(!1),Q=z(!1),Ne=z(!1),Pe=z(!1),Re=z(!1),Ve=z(!0),He=z(`always-on`),Ue=z(`low-resolution`),Ge=z(`auto`),Ke=z([]),Je=z(),Ye=z(null),Ze=be({sourceRole:Ue.value,activityMode:He.value,streamingMode:Ge.value}),Qe=U(()=>fe.value||me.value||ve.value||xe.value||Ce.value),et=U(()=>K.value+we.value),tt=U(()=>({locale:u.locale.value,dayNames:g.config.locale?.dayNames,dayNamesShort:g.config.locale?.dayNamesShort,monthNames:g.config.locale?.monthNames,monthNamesShort:g.config.locale?.monthNamesShort})),rt=U(()=>Je.value??$.value?.cardFit??`aspect`),it=U(()=>[`aspect`,`contain`,`fill`,`cover`].map(e=>({label:d(`views.camview.card_fit_${e}`),description:d(`views.camview.card_fit_${e}_info`),active:rt.value===e,onClick:()=>Vt(e)}))),ot=U(()=>({doubleClickZoom:!1,flatCard:!0,cardFit:rt.value,cameraNameOverlay:!0,control:!0,toolbar:!1,expandableCard:($.value?.cameras?.length??0)>1,detectionIndicatorOverlay:!Q.value&&ft.value,detectionIconsOverlay:!Q.value&&ft.value,boundingBoxOverlay:!1,cardClickAction:`expand`,viewTransition:!0,cardProps:{pt:{root:{style:`background: #000`}}}})),st=U(()=>P.value?.result.length?O.value?{width:Pe.value?`calc(100% - 400px)`:`100%`,height:`100%`,overflowY:`scroll`}:{height:`100%`,paddingBottom:Pe.value?C.value>0?`200px`:`192px`:`0px`,overflowY:`scroll`}:{width:`100%`,height:`100%`,overflowY:`scroll`}),lt=U(()=>X.value||Z.value),ut=U(()=>!!J.value?.isFullscreen),ft=U(()=>N.value.camview.detections!==!1),pt=U(()=>[{label:ut.value?d(`components.form.tooltip.fullscreen_off`):d(`components.form.tooltip.fullscreen_on`),icon:ut.value?w:b,command:Ht},{label:Ve.value?d(`components.form.tooltip.unmute`):d(`components.form.tooltip.mute`),icon:Ve.value?dt:ct,command:Ut},{label:d(`components.form.tooltip.intercom`),icon:ne,command:()=>Dt(`intercom`)},{label:Ge.value===`auto`?`${d(`components.form.tooltip.mode`)}: ${d(`components.form.tooltip.streaming_mode_auto`)}`:Ge.value===`webrtc`?`${d(`components.form.tooltip.mode`)}: ${d(`components.form.tooltip.streaming_mode_webrtc`)}`:`${d(`components.form.tooltip.mode`)}: ${d(`components.form.tooltip.streaming_mode_mse`)}`,icon:Ge.value===`auto`?gt:Ge.value===`webrtc`?Pt:nt,command:()=>Kt()},{label:He.value===`always-on`?d(`components.form.tooltip.activity_mode_always_on`):He.value===`standby`?d(`components.form.tooltip.activity_mode_standby`):d(`components.form.tooltip.activity_mode_activity`),icon:He.value===`always-on`?St:He.value===`standby`?mt:at,command:()=>Wt()},{label:Ue.value===`low-resolution`?`${d(`components.form.tooltip.resolution`)}: ${d(`components.form.tooltip.source_role_low`)}`:Ue.value===`mid-resolution`?`${d(`components.form.tooltip.resolution`)}: ${d(`components.form.tooltip.source_role_mid`)}`:`${d(`components.form.tooltip.resolution`)}: ${d(`components.form.tooltip.source_role_high`)}`,icon:Ue.value===`low-resolution`?Ot:Ue.value===`mid-resolution`?jt:Tt,command:()=>Gt()},{label:`${d(`components.form.tooltip.detections`)}: ${ft.value?d(`components.form.tooltip.detections_on`):d(`components.form.tooltip.detections_off`)}`,icon:ft.value?Ee:S,command:()=>N.value.camview.detections=!ft.value}]),$=U(()=>{let e=P.value?.result.find(e=>e._id===N.value.camview.viewid)||P.value?.result[0];return e?(Y.value=e,N.value.camview.viewid=e._id):Y.value={},e}),ht=U(()=>$.value?.cameras?.map(e=>e.cameraId)??[]),_t=U(()=>{let e=Ye.value;return e&&ht.value.includes(e)?[e]:ht.value}),vt=U(()=>{let e={};for(let t of de.value?.result??[])e[t._id]=t.name;return e}),{master:bt}=s(ht,{sourceRole:`low`,activeIds:_t}),xt=U(()=>bt.mode.value!==`idle`&&bt.currentTimestamp.value>0?Math.floor(bt.currentTimestamp.value/1e3):void 0),Ct=U(()=>lt.value&&Y.value.viewSize>0?Y.value.viewSize:$.value?$.value.viewSize:1),wt=U(()=>{let e=[];for(let t of P.value?.result||[])e.push({label:t.name,active:t._id===$.value?._id,onClick:()=>kt(t)});return e}),Et=U(()=>[{label:d(`views.camview.new_view`),icon:yt,onClick:()=>Dt(`newView`)}]);function Dt(e){switch(e){case`newView`:case`editView`:{let t=e===`editView`,n=d(t?`components.dialog.title.edit_view`:`components.dialog.title.new_view`);t?X.value=!0:Z.value=!0,_.openComponentDialog(Gn,{data:{title:n,loading:Qe,confirmText:d(`components.form.button.next`),contentProps:{form:t?Y.value:void 0,type:`view`,cameras:de.value?.result||[],views:P.value?.result||[]}},onConfirm:e=>{e&&(Y.value=e)},onCancel:()=>{Z.value=!1}});break}case`intercom`:_.openComponentDialog(ln,{data:{title:d(`components.dialog.title.intercom`),hideConfirmButton:!0,loading:Qe,contentProps:{}},events:{listening:qt}});break;case`removeView`:_.openTextDialog({data:{title:d(`components.dialog.title.confirm`),confirmText:d(`components.form.button.remove`),contentText:d(`components.dialog.message.confirm_remove_layout`),confirmButtonProps:{severity:`danger`}},onConfirm:At})}}function kt(e){N.value.camview.viewid=e._id}function At(){$.value&&se.value&&_e({username:se.value.username,viewid:$.value._id},{onSuccess:e=>{e.length?N.value.camview.viewid=e[0]._id:N.value.camview.viewid=void 0}})}async function Mt(){if(!se.value||Object.keys(Y.value).length===0)return;let e=Ke.value.filter(e=>e.lastDroppedCamera).map(e=>({cameraId:e.lastDroppedCamera._id,index:e.index,colSpan:e.colSpan,rowSpan:e.rowSpan})).sort((e,t)=>e.index-t.index);if(!e.length)return;let t=re(Y.value);t.cameras=e,t._id?Bt(await Se({username:se.value.username,viewid:t._id,viewData:t})):Bt(await ye({username:se.value.username,viewData:t}))}function Nt(e,t){Ke.value[e].lastDroppedCamera=t}function Ft(e){Ke.value=Ke.value.map(t=>(t.lastDroppedCamera?.name===e.name&&(t.lastDroppedCamera=void 0),t))}function It(e){return`${D.value?`mobile`:`desktop`}:${e}`}function Lt(e){let t=$.value?._id;t&&(N.value.camview.layouts||(N.value.camview.layouts={}),N.value.camview.layouts[It(t)]=e.map(e=>({index:e.index,cameraId:e.cameraId,x:e.x??0,y:e.y??0,w:e.colSpan??1,h:e.rowSpan??1})))}function Rt(e,t){Ye.value=t?e._id:null}function zt(e){let t=Ye.value;t&&e.cameraId&&e.cameraId!==t&&ht.value.includes(e.cameraId)&&J.value?.expandCameraById(e.cameraId)}function Bt(e){N.value.camview.viewid=e._id,Z.value=!1,X.value=!1}async function Vt(e){let t=$.value,n=se.value?.username;if(t&&n&&rt.value!==e){Je.value=e;try{await W({username:n,viewid:t._id,viewData:{cardFit:e}})}catch{Je.value=void 0}}}function Ht(){J.value?.toggleFullscreen()}function Ut(){Ve.value=!Ve.value,J.value?.toggleAllPlayerMute(Ve.value)}function Wt(e){let t=He.value;t=e||(t===`always-on`?`standby`:t===`standby`?`activity`:`always-on`),J.value?.toggleAllPlayerActivityMode(t),He.value=t}async function Gt(e){let t=Ue.value;t=e||(t===`low-resolution`?`mid-resolution`:t===`mid-resolution`?`high-resolution`:`low-resolution`),await J.value?.toggleAllPlayerSourceRole(t),Ue.value=t}async function Kt(e){let t=Ge.value;t===`auto`&&(t=`webrtc`);let n=e||(t===`mse`?`webrtc`:`mse`);await J.value?.toggleAllPlayerStreamingMode(n),Ge.value=n}async function qt(e){await J.value?.toggleAllPlayerMicrophone(e)}return he(Ne,e=>{e&&(Re.value=!0)}),he(()=>$.value?._id,()=>{Je.value=void 0}),he([Ct,$,de,lt,N,D],()=>{let e=Array.from({length:Ct.value}).map((e,t)=>({accept:`camera`,index:t,lastDroppedCamera:void 0}));if(!Z.value){let t=$.value?._id,n=t?It(t):void 0,r=n?N.value.camview.layouts?.[n]:void 0,i=new Set(de.value?.result.map(e=>e._id)??[]),a=!1;for(let t of $.value?.cameras||[]){if(!e[t.index])continue;let n=de.value?.result.find(e=>e._id===t.cameraId);e[t.index].lastDroppedCamera=n;let o=r?.find(e=>e.index===t.index);o&&(!o.cameraId||i.has(o.cameraId)?(e[t.index].x=o.x,e[t.index].y=o.y,e[t.index].colSpan=o.w,e[t.index].rowSpan=o.h):a=!0)}a&&n&&N.value.camview.layouts?.[n]&&(N.value.camview.layouts[n]=N.value.camview.layouts[n].filter(e=>!e.cameraId||i.has(e.cameraId)))}Ke.value=e},{deep:!0,immediate:!0}),(n,r)=>{let i=Be,o=$e,s=ie,c=Xe,u=qe,d=We,f=E,p=T,m=je,h=Le,g=Ie,_=Fe,v=ze,y=l,b=ee,te=e,ne=Me,S=x,w=t;return j(),R(`div`,Kn,[V(v,{"left-offset":q(et),animate:``},{left:k(()=>[!q(Z)&&q($)?(j(),H(i,{key:0,type:`dropdown`,label:q($).name,"menu-open":q(Te)?.isOpen,disabled:q(Qe)||q(X),onClick:r[0]||=e=>q(Te)?.toggleMenu(e)},null,8,[`label`,`menu-open`,`disabled`])):q(Z)&&q(Y).name?(j(),H(i,{key:1,label:q(Y).name,disabled:q(Qe)},null,8,[`label`,`disabled`])):G(``,!0)]),right:k(()=>[!q(lt)&&q($)?B((j(),H(i,{key:0,active:q(Q),onClick:r[1]||=e=>Q.value=!q(Q)},{icon:k(()=>[q(Q)?(j(),H(s,{key:1,width:`100%`,height:`100%`})):(j(),H(o,{key:0,width:`100%`,height:`100%`}))]),_:1},8,[`active`])),[[w,{value:q(Q)?n.$t(`views.camview.rearrange_done`):n.$t(`views.camview.rearrange`)},void 0,{bottom:!0}]]):G(``,!0),!q(lt)&&q($)&&q(Q)&&!q(D)?B((j(),H(i,{key:1,onClick:r[2]||=e=>q(J)?.fitAspectRatios()},{icon:k(()=>[V(c,{width:`100%`,height:`100%`})]),_:1})),[[w,{value:n.$t(`views.camview.rearrange_fit_aspect`)},void 0,{bottom:!0}]]):G(``,!0),!q(lt)&&q($)&&q(Q)&&!q(D)?B((j(),H(i,{key:2,onClick:r[3]||=e=>q(J)?.compactGrid()},{icon:k(()=>[V(u,{width:`100%`,height:`100%`})]),_:1})),[[w,{value:n.$t(`views.camview.rearrange_auto`)},void 0,{bottom:!0}]]):G(``,!0),!q(lt)&&q($)?B((j(),H(i,{key:3,active:q(rt)!==`aspect`,"menu-open":q(ke)?.isOpen,onClick:r[4]||=e=>q(ke)?.toggleMenu(e)},{icon:k(()=>[V(d,{width:`100%`,height:`100%`})]),_:1},8,[`active`,`menu-open`])),[[w,{value:n.$t(`views.camview.card_fit`)},void 0,{bottom:!0}]]):G(``,!0),!q(lt)&&q($)?B((j(),H(i,{key:4,active:q(Ne),onClick:r[5]||=e=>Ne.value=!q(Ne)},{icon:k(()=>[q(Ne)?(j(),H(p,{key:1,width:`100%`,height:`100%`})):(j(),H(f,{key:0,width:`100%`,height:`100%`}))]),_:1},8,[`active`])),[[w,{value:q(Ne)?n.$t(`components.form.tooltip.hide_timeline`):n.$t(`components.form.tooltip.show_timeline`)},void 0,{bottom:!0}]]):G(``,!0),!q(lt)&&q($)?(j(),H(m,{key:5,layout:`vertical`})):G(``,!0),!q(lt)&&q($)?B((j(),H(i,{key:6,disabled:q(Q),onClick:r[6]||=e=>Dt(`removeView`)},{icon:k(()=>[V(h,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`])),[[w,{value:n.$t(`components.form.tooltip.delete`)},void 0,{bottom:!0}]]):G(``,!0),!q(X)&&!q(Z)&&q($)?B((j(),H(i,{key:7,disabled:q(Q),onClick:r[7]||=e=>X.value=!0},{icon:k(()=>[V(g,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`])),[[w,{value:n.$t(`components.form.tooltip.edit`)},void 0,{bottom:!0}]]):G(``,!0),!q(X)&&!q(Z)?B((j(),H(i,{key:8,disabled:q(Q),onClick:q(Oe)?.toggleMenu},{icon:k(()=>[V(_,{class:I([`transform transition-transform duration-300`,{"rotate-45":q(Oe)?.isOpen}]),width:`100%`,height:`100%`},null,8,[`class`])]),_:1},8,[`disabled`,`onClick`])),[[w,{value:n.$t(`components.form.tooltip.new`)},void 0,{bottom:!0}]]):G(``,!0),q(X)||q(Z)?(j(),H(i,{key:9,label:n.$t(`components.form.button.cancel`),onClick:r[8]||=e=>q(X)?X.value=!1:Z.value=!1},null,8,[`label`])):G(``,!0),q(X)||q(Z)?(j(),H(i,{key:10,label:n.$t(`components.form.button.save`),disabled:q(Ke).every(e=>e.lastDroppedCamera===void 0),primary:``,onClick:Mt},null,8,[`label`,`disabled`])):G(``,!0)]),_:1},8,[`left-offset`]),L(`div`,{class:I([`w-full h-full flex relative`,{"flex-row":q(O),"flex-col":!q(O)}]),style:pe({paddingTop:`${q(55)}px`})},[L(`div`,{class:I([`flex relative z-1 camview-content-transition`,{"h-full items-center justify-center":q(O)||!q(P)?.result.length,"w-full items-start justify-start":!q(O)&&q(P)?.result.length}]),style:pe(q(st))},[q(Qe)?(j(),R(`div`,qn,[(j(),H(y,{key:0,class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`}))])):!q($)&&!q(Z)?(j(),R(`div`,Jn,[L(`div`,Yn,[V(b,{class:`w-12 h-12 text-muted`}),L(`span`,Xn,A(n.$t(`views.camview.no_views_configured`)),1)])])):q($)||q(Z)?(j(),R(`div`,{key:2,class:I([`w-full h-full`,{"p-2 pb-0":!q(D)}])},[(j(),H(an,{ref_key:`viewDndRef`,ref:J,key:q(N).camview.viewid+(q(Z)?`-new`:q(X)?`-edit`:`-view`),cameras:q(de)?.result||[],"edit-mode":q(Z)||q(X),"rearrange-mode":q(Q),"view-size":q(Z)?q(Y).viewSize:q(Ct),title:q(Y).name,cards:q(Ke),"camera-card-props":q(ot),"camera-card-models":q(Ze),onDrop:Nt,onRemove:Ft,onChangeViewSize:r[9]||=e=>Dt(`editView`),onExpand:Rt,onRearrange:Lt},null,8,[`cameras`,`edit-mode`,`rearrange-mode`,`view-size`,`title`,`cards`,`camera-card-props`,`camera-card-models`]))],2)):G(``,!0)],6),V(ge,{name:q(O)?`slide-left`:`slide-up`,onBeforeEnter:r[10]||=e=>Pe.value=!0,onAfterEnter:r[11]||=e=>Re.value=!1,onBeforeLeave:r[12]||=e=>Pe.value=!1},{default:k(()=>[q(Ne)?(j(),H(q(a),{key:0,"camera-ids":q(_t),"event-camera-ids":q(ht),"camera-names":q(vt),"initial-timestamp":q(xt),onEventSelect:zt,loading:q(Re),type:q(O)?`vertical`:`horizontal`,"dark-mode":``,"md-breakpoint":q(ae),class:I([`shrink-0 transition-[left] duration-200`,{"h-full w-[400px] pt-2 pr-2":q(O),"h-[200px] pt-2 px-2 pb-2 pb-safe-offset fixed right-safe-offset-0 z-10":!q(O),"p-0! pt-2! border-color":q(D)}]),"card-class":{"!shadow-xl":!0,"!rounded-none border-l-0! border-r-0!":q(D)},style:pe(q(O)?void 0:{left:`${q(et)}px`,bottom:`calc(${q(C)}px + var(--safe-area-inset-bottom))`}),"locale-settings":q(tt)},null,8,[`camera-ids`,`event-camera-ids`,`camera-names`,`initial-timestamp`,`loading`,`type`,`md-breakpoint`,`class`,`card-class`,`style`,`locale-settings`])):G(``,!0)]),_:1},8,[`name`])],6),!q(lt)&&q($)?(j(),H(ne,{key:0,model:q(pt),direction:`up`,"transition-delay":80,"tooltip-options":{position:`left`,event:void 0},class:`absolute right-2 z-11 dark-mode`,pt:{root:{style:`pointer-events: none`}},style:pe({bottom:q(O)?`0`:`calc(${q(Pe)?192:0}px + ${q(C)>0?`0.5rem`:`0px`})`,right:q(O)?`calc(${q(Pe)?400:0}px + 0.5rem)`:`0.5rem`,transition:`bottom 0.25s ease-out, right 0.25s ease-out`})},{button:k(({visible:e,toggleCallback:t})=>[V(te,{severity:`secondary`,class:I([`dark-mode opacity-40 hover:opacity-100 active:opacity-100 focus:opacity-100 transition pointer-events-auto`,{"opacity-100":e}]),rounded:``,loading:q(Qe),onClick:t},{icon:k(()=>[L(`div`,Zn,[L(`div`,{class:I([`bg-white absolute top-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center`,{"w-4 h-[2px] rotate-45 top-1/2 -translate-y-1/2 rounded-none":e}])},null,2),L(`div`,{class:I([`bg-white absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-1.5 h-1.5 rounded-full transition-all duration-100`,{"opacity-0 scale-0":e}])},null,2),L(`div`,{class:I([`bg-white absolute bottom-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center`,{"w-4 h-[2px] -rotate-45 bottom-1/2 translate-y-1/2 rounded-none":e}])},null,2)])]),_:2},1032,[`class`,`loading`,`onClick`])]),item:k(({item:e,toggleCallback:t})=>[B((j(),H(te,ce({loading:q(Qe),severity:`secondary`},e.buttonProps,{rounded:``,onClick:t}),{icon:k(()=>[(j(),H(ue(e.icon)))]),_:2},1040,[`loading`,`onClick`])),[[w,{value:e.label}]])]),_:1},8,[`model`,`style`])):G(``,!0),V(S,{ref_key:`menuRef`,ref:Te,items:q(wt),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`]),V(S,{ref_key:`cardFitMenuRef`,ref:ke,items:q(it),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`]),V(S,{ref_key:`newViewMenuRef`,ref:Oe,items:q(Et),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}}),[[`__scopeId`,`data-v-1f0bed85`]]);export{Qn as default};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./ace.config-CCyX_Ohk.js","./rolldown-runtime-C0FnF6B9.js","./vendor-ace-CvEoip98.js","./ace-DzzM-RlW.js"])))=>i.map(i=>d[i]);
2
- import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{Bt as t,Kt as n,Vr as r,hi as i,nr as a,zt as ee}from"./vendor-cameraui-QXD8jkcj.js";import{In as o,U as s,Wn as c,ct as l}from"./api-DK2Bav9D.js";import{$n as u,$t as d,Dn as f,En as p,Fn as m,Hn as h,Ht as g,In as _,Jn as v,Kn as y,Pn as b,Qn as x,Sr as S,Tn as C,Xn as w,_r as T,br as E,cn as D,dn as O,dr as k,en as A,er as j,gn as M,in as N,ln as P,mr as F,or as I,sn as L,sr as R,vn as z,yr as B}from"./vendor-DGke_6M4.js";import{a as te}from"./intercomService-BnA-FQ0Q.js";import{p as ne}from"./vendor-core-CnhnyKDl.js";import{o as re}from"./vendor-primevue-CCUqY55W.js";import{t as ie}from"./server-DUFhf2c_.js";import{n as V}from"./useServerRestart-Cz9eVHUE.js";import{n as H}from"./theme-BMmjtQ4w.js";import{t as U}from"./config-CiQDwB4t.js";import{t as ae}from"./back-filled-BPBVnQjx.js";import{n as oe,t as se}from"./zoom-in-GKNy8xA7.js";import{n as ce,t as le}from"./CuiTopNavbarItem-B_KWykgq.js";var W={lang:`yaml`,readOnly:!1,printMargin:!1,borderRadius:!1,border:!0},G={useWorker:!0,wrap:!0,showPrintMargin:!1,tabSize:2,highlightGutterLine:!0,useSoftTabs:!0,dragEnabled:!1,showGutter:!0,scrollPastEnd:.1},ue=z({__name:`CuiEditor`,props:p(C({lang:{},readOnly:{type:Boolean},printMargin:{type:[Number,Boolean]},options:{},placeholder:{},borderRadius:{type:Boolean},borderTopRightRadius:{type:Boolean},borderBottomRightRadius:{type:Boolean},borderBottomLeftRadius:{type:Boolean},borderTopLeftRadius:{type:Boolean},border:{type:Boolean}},W),{modelValue:{required:!0},modelModifiers:{}}),emits:p([`init`,`blur`,`input`,`change`,`changeSelectionStyle`,`changeSession`,`copy`,`focus`,`paste`,`update:value`],[`update:modelValue`]),async setup(t,{emit:n}){let r,a;d(e=>({v3cc736da:B(U),v66726fab:B(ie),v58e243dc:B(re),v527a6c67:B(V),v244c42c0:B(te)})),[r,a]=x(()=>g(()=>import(`./ace.config-CCyX_Ohk.js`),__vite__mapDeps([0,1,2]),import.meta.url)),await r,a();let ee=([r,a]=x(()=>g(()=>import(`./ace-DzzM-RlW.js`).then(t=>e(t.default,1)),__vite__mapDeps([3,2,1]),import.meta.url)),r=await r,a(),r),o=t,s=n,c=y(t,`modelValue`),l=H(),{theme:u}=ne(l),{readOnly:f,options:p,lang:h,printMargin:S,placeholder:C,borderRadius:E,borderBottomLeftRadius:D,borderTopLeftRadius:A,borderTopRightRadius:j,borderBottomRightRadius:M,border:N}=T(o),P=v(`editorRef`),I=F(),R=k(!1),z=k(``),te=L(()=>E.value||j.value?`10px`:`0px`),re=L(()=>E.value||M.value?`10px`:`0px`),ie=L(()=>E.value||D.value?`10px`:`0px`),V=L(()=>E.value||A.value?`10px`:`0px`),U=L(()=>N.value?`1px solid var(--border-color)`:`none`);return i(P,()=>{I.value&&I.value.resize(!0)}),w(c,e=>{if(z.value!==e){try{R.value=!0,I.value?.setValue(e,1)}finally{R.value=!1}z.value=e}}),w(h,e=>{I.value?.setOption(`mode`,`ace/mode/`+e)}),w(p,e=>{e&&I.value?.setOptions(e)}),w(C,e=>{e!==void 0&&I.value?.setOption(`placeholder`,e)}),w(f,e=>{I.value?.setReadOnly(e)}),w(S,e=>{I.value?.setOption(`printMargin`,e)}),w(u,e=>{if(I.value){let t=e===`dark`?`twilight`:`github`;I.value.setOption(`theme`,`ace/theme/`+t)}}),b(()=>{P.value&&(I.value=ee.edit(P.value,{placeholder:C.value,readOnly:f.value,value:c.value,mode:`ace/mode/`+h.value,theme:u.value===`dark`?`ace/theme/twilight`:`ace/theme/github`,printMargin:S.value,fadeFoldWidgets:!0,...G,...p.value}),I.value.on(`change`,()=>{if(R.value)return;let e=I.value.getValue();z.value=e,c.value=e}),I.value.on(`blur`,e=>{s(`blur`,e)}),I.value.on(`input`,()=>{s(`input`)}),I.value.on(`change`,e=>{s(`change`,e)}),I.value.on(`changeSelectionStyle`,e=>{s(`changeSelectionStyle`,e)}),I.value.on(`changeSession`,e=>{s(`changeSession`,e)}),I.value.on(`copy`,e=>{s(`copy`,e)}),I.value.on(`focus`,e=>{s(`focus`,e)}),I.value.on(`paste`,e=>{s(`paste`,e.text)}),s(`init`,I.value))}),m(()=>{I.value?.removeAllListeners(),I.value?.destroy()}),(e,t)=>(_(),O(`div`,{ref_key:`editorRef`,ref:P,class:`h-full bg-none`},null,512))}}),K={viewBox:`0 0 20 20`,width:`1.2em`,height:`1.2em`};function q(e,t){return _(),O(`svg`,K,[...t[0]||=[D(`path`,{fill:`currentColor`,d:`m15.3 5.3l-6.8 6.8l-2.8-2.8l-1.4 1.4l4.2 4.2l8.2-8.2z`},null,-1)]])}var de=R({name:`dashicons-saved`,render:q}),fe={class:`relative w-6 h-6`},pe={class:`w-full h-full flex items-center justify-center`},me=z({__name:`Config`,props:{navbarWidth:{default:0},navbarLeft:{default:0}},setup(e){let i=new U,d=new ie,p=e,m=te(),g=l(),{t:v}=r(),{smBreakpoint:y}=o(),{beginServerRestart:x}=V(),C=c(),{uiSettings:F}=ne(C),{navbarWidth:R,navbarLeft:z}=T(p),H=L(()=>R.value+z.value),W=k(!1),{data:G,isBusy:K}=i.getConfigQuery(W),{data:q,isBusy:me}=i.getGo2RtcConfigQuery(W),{mutateAsync:he,isPending:ge}=i.patchConfigQuery(),{mutateAsync:_e,isPending:ve}=i.patchGo2RtcConfigQuery(),{mutateAsync:ye,isPending:be}=d.restartServerQuery(),{mutateAsync:xe,isPending:Se}=d.restartGo2RtcQuery(),J=k(`camera.ui`),Y=k(``),X=k(``),Z=k(!1),Ce=k([{label:v(`components.dialog.title.confirm`),icon:de,buttonProps:{severity:`success`},command:()=>{g.openTextDialog({data:{title:v(`components.dialog.title.confirm`),contentText:v(`components.dialog.message.confirm_restart_server`),confirmText:v(`components.form.button.save_and_restart`),confirmButtonProps:{loading:Q.value},cancelButtonProps:{loading:Q.value}},onConfirm:we})}},{label:v(`components.form.tooltip.zoom_out`),icon:oe,command:()=>{Ee()}},{label:v(`components.form.tooltip.zoom_in`),icon:se,command:()=>{Te()}}]),Q=L(()=>K.value||me.value||ge.value||ve.value||be.value||Se.value),$=L(()=>({fontSize:F.value.config.zoom}));async function we(){try{J.value===`camera.ui`?(await he({configData:Y.value}),await a(500),x(),await ye()):(await _e({configData:X.value}),await a(500),await xe())}catch(e){m.error(e)}}function Te(){F.value.config.zoom!==20&&F.value.config.zoom++}function Ee(){F.value.config.zoom!==8&&F.value.config.zoom--}return w(G,()=>{Y.value=G.value||``},{deep:!0,immediate:!0}),w(q,()=>{X.value=q.value||``},{deep:!0,immediate:!0}),b(async()=>{await a(100),Z.value=!0}),(e,r)=>{let i=ae,a=t,o=s,c=le,l=ce,d=re,p=ue,m=ee,g=n;return _(),O(`div`,null,[M(o,{position:`left`},{default:u(()=>[M(a,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:r[0]||=t=>e.$router.push(`/menu`)},{icon:u(()=>[M(i,{class:`w-6 h-6`})]),_:1})]),_:1}),M(l,{"left-offset":B(H),animate:``},{left:u(()=>[M(c,{type:`button`,label:`camera.ui`,active:B(J)===`camera.ui`,onClick:r[1]||=e=>J.value=`camera.ui`},null,8,[`active`]),M(c,{type:`button`,label:`go2rtc`,active:B(J)===`go2rtc`,onClick:r[2]||=e=>J.value=`go2rtc`},null,8,[`active`])]),_:1},8,[`left-offset`]),M(d,{model:B(Ce),direction:`up`,"transition-delay":80,"tooltip-options":{position:`left`,event:void 0},class:`absolute right-3 bottom-3 z-2`,pt:{root:{style:`pointer-events: none`}}},{button:u(({visible:e,toggleCallback:t})=>[M(a,{severity:`secondary`,class:E([`opacity-40 hover:opacity-100 active:opacity-100 focus:opacity-100 transition pointer-events-auto`,{"opacity-100":e}]),rounded:``,loading:B(Q),onClick:t},{icon:u(()=>[D(`div`,fe,[D(`div`,{class:E([`absolute top-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center`,{"w-4 h-[2px] rotate-45 top-1/2 -translate-y-1/2 rounded-none":e}]),style:{backgroundColor:`var(--text-color)`}},null,2),D(`div`,{class:E([`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-1.5 h-1.5 rounded-full transition-all duration-100`,{"opacity-0 scale-0":e}]),style:{backgroundColor:`var(--text-color)`}},null,2),D(`div`,{class:E([`absolute bottom-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center`,{"w-4 h-[2px] -rotate-45 bottom-1/2 translate-y-1/2 rounded-none":e}]),style:{backgroundColor:`var(--text-color)`}},null,2)])]),_:2},1032,[`class`,`loading`,`onClick`])]),item:u(({item:e,toggleCallback:t})=>[j((_(),P(a,f({loading:B(Q),severity:`secondary`},e.buttonProps,{rounded:``,onClick:t}),{icon:u(()=>[(_(),P(h(e.icon)))]),_:2},1040,[`loading`,`onClick`])),[[g,{value:e.label}]])]),_:1},8,[`model`]),D(`div`,{class:`w-full h-full`,style:S({paddingTop:`${B(55)}px`})},[(_(),P(N,null,{fallback:u(()=>[D(`div`,pe,[M(m,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])]),default:u(()=>[B(J)===`camera.ui`?j((_(),P(p,{key:0,modelValue:B(Y),"onUpdate:modelValue":r[3]||=e=>I(Y)?Y.value=e:null,lang:`yaml`,options:B($),"read-only":B(Q),border:!B(y),"border-bottom-left-radius":!B(y),"border-bottom-right-radius":!B(y),"border-top-right-radius":!1,"border-top-left-radius":!1},null,8,[`modelValue`,`options`,`read-only`,`border`,`border-bottom-left-radius`,`border-bottom-right-radius`])),[[A,B(Z)]]):j((_(),P(p,{key:1,modelValue:B(X),"onUpdate:modelValue":r[4]||=e=>I(X)?X.value=e:null,lang:`yaml`,options:B($),"read-only":B(Q),border:!B(y),"border-bottom-left-radius":!B(y),"border-bottom-right-radius":!B(y),"border-top-right-radius":!1,"border-top-left-radius":!1},null,8,[`modelValue`,`options`,`read-only`,`border`,`border-bottom-left-radius`,`border-bottom-right-radius`])),[[A,B(Z)]])]),_:1}))],4)])}}});export{me as default};
@@ -1 +0,0 @@
1
- import{o as e}from"./rolldown-runtime-C0FnF6B9.js";import{Bt as t,Vr as n,j as ee,z as te}from"./vendor-cameraui-QXD8jkcj.js";import{_t as ne,i as r,kr as i}from"./api-DK2Bav9D.js";import{$n as a,Cr as o,In as s,Jn as c,Rn as re,Xn as l,cn as u,dn as d,gn as f,hn as p,jn as m,rn as ie,sn as h,sr as g,vn as _,yr as v}from"./vendor-DGke_6M4.js";import{B as ae,M as oe,R as se,l as ce,v as le,z as ue}from"./vendor-primevue-CCUqY55W.js";import{t as de}from"./information-outline-Blt4EtWJ.js";import{t as y}from"./useUserOptions-BTRBUuE2.js";import{i as b,n as x,r as S,t as C}from"./vendor-leaflet-DkAk6mAj.js";import{t as w}from"./copy-DsmMEtSH.js";var T={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function E(e,t){return s(),d(`svg`,T,[...t[0]||=[u(`path`,{fill:`currentColor`,d:`M12 8a4 4 0 0 1 4 4a4 4 0 0 1-4 4a4 4 0 0 1-4-4a4 4 0 0 1 4-4m-8.95 5H1v-2h2.05C3.5 6.83 6.83 3.5 11 3.05V1h2v2.05c4.17.45 7.5 3.78 7.95 7.95H23v2h-2.05c-.45 4.17-3.78 7.5-7.95 7.95V23h-2v-2.05C6.83 20.5 3.5 17.17 3.05 13M12 5a7 7 0 0 0-7 7a7 7 0 0 0 7 7a7 7 0 0 0 7-7a7 7 0 0 0-7-7`},null,-1)]])}var fe=g({name:`mdi-crosshairs-gps`,render:E}),D=e(b(),1);function O(){return{getCurrentPosition:async()=>new Promise((e,t)=>{if(!navigator.geolocation){t(Error(`geolocation unavailable`));return}navigator.geolocation.getCurrentPosition(t=>e({latitude:t.coords.latitude,longitude:t.coords.longitude}),e=>t(e),{enableHighAccuracy:!0,timeout:1e4})})}}var k={class:`flex flex-col gap-4`},A={class:`flex flex-col field-gap`},j={class:`cui-label`},M={class:`flex flex-col field-gap`},N={class:`cui-label`},P={class:`flex flex-col field-gap`},F={class:`cui-label`},I={class:`flex flex-col field-gap`},L={class:`cui-label`},R={class:`flex flex-col gap-3`},z={class:`cui-label`},B={class:`flex flex-col field-gap`},V={class:`cui-label`},pe={class:`flex flex-col field-gap`},me={class:`cui-label`},he={class:`flex flex-col field-gap`},ge={class:`cui-label`},_e={key:0,class:`flex flex-col field-gap`},ve={class:`cui-label`},ye={class:`text-xs text-muted font-medium`},be={key:1,class:`cui-banner cui-banner-warn`},H=_({__name:`ConfigTriggerGeofence`,props:{data:{}},emits:[`update:data`],setup(e,{emit:g}){let _=e,b=g,{t:T}=n(),E=i(),{userOptions:H}=y(),{getCurrentPosition:xe}=O(),Se=[{label:T(`components.automation_nodes.geofence_event_enter`),value:`enter`},{label:T(`components.automation_nodes.geofence_event_leave`),value:`leave`},{label:T(`components.automation_nodes.geofence_event_both`),value:`both`}],U=c(`mapContainerRef`),W=null,G=null,K=null,q=h(()=>`${window.location.origin}/api/automations/location/${_.data.geofenceId||`...`}`),J=h(()=>Object.entries(_.data.geofenceUserSecrets??{}));function Ce(){if(!U.value)return;let e=_.data.latitude||51.505,t=_.data.longitude||-.09;W=D.map(U.value).setView([e,t],15),D.tileLayer(`https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png`,{attribution:`&copy; OpenStreetMap`}).addTo(W);let n=D.icon({iconRetinaUrl:S,iconUrl:x,shadowUrl:C,iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],shadowSize:[41,41]});G=D.marker([e,t],{draggable:!0,icon:n}).addTo(W),K=D.circle([e,t],{radius:_.data.radius||200,color:`#3b82f6`,fillOpacity:.15,weight:2}).addTo(W),G.on(`dragend`,()=>{let e=G.getLatLng();b(`update:data`,{latitude:e.lat,longitude:e.lng}),K.setLatLng(e)})}function Y(e,t,n){W&&(W.setView([e,t],n??W.getZoom()),G?.setLatLng([e,t]),K?.setLatLng([e,t]))}function we(e){e!=null&&(b(`update:data`,{latitude:e}),Y(e,_.data.longitude))}function Te(e){e!=null&&(b(`update:data`,{longitude:e}),Y(_.data.latitude,e))}function X(e){e!=null&&($(`radius`,e),K?.setRadius(e))}function Z(){E.add({severity:`error`,summary:T(`components.toast.title_error`),detail:T(`components.automation_nodes.geofence_location_error`),life:4e3})}async function Ee(){try{let{latitude:e,longitude:t}=await xe();b(`update:data`,{latitude:e,longitude:t}),Y(e,t,16)}catch{Z()}}function Q(e){r(e)}function $(e,t){b(`update:data`,{[e]:t})}return l(U,e=>{e&&!W&&Ce()}),m(()=>{W?.remove(),W=null,G=null,K=null}),(n,r)=>{let i=te,c=fe,l=t,m=le,h=ee,g=oe,_=ce,y=ae,b=ne,x=se,S=ue,C=de;return s(),d(`div`,k,[u(`div`,A,[u(`label`,j,o(v(T)(`components.automation_nodes.geofence_zone_name`)),1),f(i,{"model-value":e.data.zoneName,placeholder:v(T)(`components.automation_nodes.geofence_zone_name_placeholder`),class:`w-full`,"onUpdate:modelValue":r[0]||=e=>$(`zoneName`,e)},null,8,[`model-value`,`placeholder`])]),u(`div`,M,[u(`label`,N,o(v(T)(`components.automation_nodes.geofence_map_hint`)),1),u(`div`,{ref_key:`mapContainerRef`,ref:U,class:`rounded-lg overflow-hidden border-[1px] border-color`,style:{height:`220px`}},null,512),f(l,{severity:`secondary`,outlined:``,label:v(T)(`components.automation_nodes.geofence_use_my_location`),class:`cui-button-small w-full`,onClick:Ee},{icon:a(()=>[f(c,{class:`w-4 h-4`})]),_:1},8,[`label`])]),u(`div`,P,[u(`label`,F,o(v(T)(`components.automation_nodes.geofence_latitude`)),1),f(m,{"model-value":e.data.latitude,"min-fraction-digits":4,"max-fraction-digits":6,class:`w-full`,"onUpdate:modelValue":we},null,8,[`model-value`])]),u(`div`,I,[u(`label`,L,o(v(T)(`components.automation_nodes.geofence_longitude`)),1),f(m,{"model-value":e.data.longitude,"min-fraction-digits":4,"max-fraction-digits":6,class:`w-full`,"onUpdate:modelValue":Te},null,8,[`model-value`])]),u(`div`,R,[u(`label`,z,o(v(T)(`components.automation_nodes.geofence_radius`)),1),f(h,{"model-value":e.data.radius||200,min:50,max:5e3,step:50,class:`w-full`,"onUpdate:modelValue":r[1]||=e=>X(Array.isArray(e)?e[0]:e)},null,8,[`model-value`]),f(m,{"model-value":e.data.radius||200,min:50,max:5e3,suffix:` m`,class:`w-full`,"onUpdate:modelValue":X},null,8,[`model-value`])]),u(`div`,B,[u(`label`,V,o(v(T)(`components.automation_nodes.geofence_event`)),1),f(g,{"model-value":e.data.event||`both`,options:Se,"option-label":`label`,"option-value":`value`,class:`w-full`,"onUpdate:modelValue":r[2]||=e=>$(`event`,e)},null,8,[`model-value`])]),u(`div`,pe,[u(`label`,me,o(v(T)(`components.automation_nodes.geofence_users`)),1),f(_,{"model-value":e.data.users,options:v(H),"option-label":`label`,"option-value":`value`,placeholder:v(T)(`components.automation_nodes.geofence_users_placeholder`),class:`w-full`,"onUpdate:modelValue":r[3]||=e=>$(`users`,e)},null,8,[`model-value`,`options`,`placeholder`]),f(y,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:a(()=>[p(o(v(T)(`components.automation_nodes.geofence_users_hint`)),1)]),_:1})]),u(`div`,he,[u(`label`,ge,o(v(T)(`components.automation_nodes.geofence_url`)),1),f(S,null,{default:a(()=>[f(i,{"model-value":v(q),readonly:``,class:`font-mono text-xs`},null,8,[`model-value`]),f(x,null,{default:a(()=>[f(b,{"action-text":v(T)(`components.automation_nodes.webhook_secret_copied`),icon:v(w),"button-props":{severity:`secondary`,text:!0},onAction:r[4]||=e=>Q(v(q))},null,8,[`action-text`,`icon`])]),_:1})]),_:1}),f(y,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:a(()=>[p(o(v(T)(`components.automation_nodes.geofence_url_hint`)),1)]),_:1})]),v(J).length?(s(),d(`div`,_e,[u(`label`,ve,o(v(T)(`components.automation_nodes.geofence_secret`)),1),(s(!0),d(ie,null,re(v(J),([e,t])=>(s(),d(`div`,{key:e,class:`flex flex-col gap-1`},[u(`span`,ye,o(e),1),f(S,null,{default:a(()=>[f(i,{"model-value":t,readonly:``,class:`font-mono text-xs`},null,8,[`model-value`]),f(x,null,{default:a(()=>[f(b,{"action-text":v(T)(`components.automation_nodes.webhook_secret_copied`),icon:v(w),"button-props":{severity:`secondary`,text:!0},onAction:e=>Q(t)},null,8,[`action-text`,`icon`,`onAction`])]),_:2},1024)]),_:2},1024)]))),128)),f(y,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:a(()=>[p(o(v(T)(`components.automation_nodes.geofence_secret_hint`)),1)]),_:1})])):(s(),d(`div`,be,[f(C,{class:`w-5 h-5 shrink-0`}),u(`span`,null,o(v(T)(`components.automation_nodes.geofence_secret_save_hint`)),1)]))])}}});export{H as default};
@@ -1 +0,0 @@
1
- import{Bt as e,Kt as t,Vr as n,ai as r,la as i,sa as a,z as ee}from"./vendor-cameraui-QXD8jkcj.js";import{Hr as o,On as s,U as te,W as c,er as ne,hn as re,i as l,kr as u,zr as d}from"./api-DK2Bav9D.js";import{$n as f,Cr as p,Fn as m,In as h,Jn as g,On as _,Pn as v,Rn as ie,Sr as ae,Xn as oe,_r as se,br as ce,cn as y,dn as b,dr as x,er as S,gn as C,hn as w,ln as T,mr as E,or as D,pn as le,rn as O,sn as k,sr as A,un as j,vn as ue,yr as M}from"./vendor-DGke_6M4.js";import{F as de,I as fe}from"./vendor-primevue-CCUqY55W.js";import{t as pe}from"./trash2-2rUvghml.js";import{t as me}from"./search-BXbDWhLk.js";import{t as he}from"./back-filled-BPBVnQjx.js";import{n as ge,t as _e}from"./CuiTopNavbarItem-B_KWykgq.js";import{t as ve}from"./arrow-left-BGLyEqqa.js";var N={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function P(e,t){return h(),b(`svg`,N,[...t[0]||=[y(`g`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`},[y(`path`,{d:`M3 12a9 9 0 0 1 9-9a9.75 9.75 0 0 1 6.74 2.74L21 8`}),y(`path`,{d:`M21 3v5h-5m5 4a9 9 0 0 1-9 9a9.75 9.75 0 0 1-6.74-2.74L3 16`}),y(`path`,{d:`M8 16H3v5`})],-1)]])}var ye=A({name:`lucide-refresh-cw`,render:P}),F={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function I(e,t){return h(),b(`svg`,F,[...t[0]||=[y(`g`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`},[y(`path`,{d:`M12 15V3m9 12v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`}),y(`path`,{d:`m7 10l5 5l5-5`})],-1)]])}var be=A({name:`lucide-download`,render:I}),L={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function R(e,t){return h(),b(`svg`,L,[...t[0]||=[y(`g`,{fill:`none`,stroke:`currentColor`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"stroke-width":`2`},[y(`rect`,{width:`14`,height:`14`,x:`8`,y:`8`,rx:`2`,ry:`2`}),y(`path`,{d:`M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2`})],-1)]])}var xe=A({name:`lucide-copy`,render:R}),Se={class:`h-full w-full relative`},Ce={key:0,class:`h-full flex flex-col items-center justify-center gap-4`},we={class:`text-muted text-sm px-4 text-center`},Te={class:`text-muted`},Ee={class:`opacity-70`},z=ue({__name:`Console`,props:{navbarWidth:{default:0},navbarLeft:{default:0}},setup(A){let ue=A,N=u(),{t:P}=n(),{registerScrollToTop:F}=c(),{navbarWidth:I,navbarLeft:L}=se(ue),R=k(()=>I.value+L.value),z=[`debug`,`log`,`info`,`warn`,`error`],B=x(`logs`),V=x([]),H=E([]),U=x(``),W=x([...z]),G=x(null),K=x(!1),q=g(`mobileSearchInput`),J=g(`levelMenuRef`),Y=x(i.isRecording()),X=x(!0),De=x(`web`);r(G,`scroll`,ze,{passive:!0});let Oe,ke,Ae,je=k(()=>z.map(e=>({key:e,label:P(`views.console.level.${e}`),toggle:!0,toggleState:W.value.includes(e),onClick:()=>Fe(e)}))),Z=k(()=>{let e=U.value.trim().toLowerCase();if(B.value===`connection`)return H.value.map(e=>({t:e.t,scope:e.scope,msg:e.detail?`${e.msg} — ${e.detail}`:e.msg})).filter(t=>!e||t.msg.toLowerCase().includes(e)||t.scope.toLowerCase().includes(e));let t=new Set(W.value);return V.value.filter(n=>!(!t.has(n.level)||e&&!n.msg.toLowerCase().includes(e)))});function Me(e){let t=new Date(e),n=(e,t=2)=>String(e).padStart(t,`0`);return`${n(t.getHours())}:${n(t.getMinutes())}:${n(t.getSeconds())}.${n(t.getMilliseconds(),3)}`}function Ne(e){return e===`error`?`text-red-400`:e===`warn`?`text-amber-400`:e===`debug`?`text-sky-400`:`text-color`}function Pe(){B.value=B.value===`logs`?`connection`:`logs`,Q()}function Fe(e){W.value=W.value.includes(e)?W.value.filter(t=>t!==e):[...W.value,e]}function Ie(){K.value=!0,_(()=>q.value?.$el?.querySelector(`input`)?.focus())}function Le(){K.value=!1,U.value=``}async function Re(){await _(),G.value&&(G.value.scrollTop=G.value.scrollHeight)}function ze(){let e=G.value;e&&(X.value=e.scrollHeight-e.scrollTop-e.clientHeight<40)}function Be(){G.value?.scrollTo({top:0,behavior:`smooth`})}F(Be);function Q(){V.value=i.entries(),o()&&(H.value=d().journal.list()),Re()}function Ve(){return{platform:De.value,userAgent:navigator.userAgent,url:window.location.href,generatedAt:new Date().toISOString()}}function $(){return B.value===`connection`?o()?d().journal.exportText():``:a({entries:V.value,context:Ve()})}async function He(){await l($())?N.add({severity:`success`,summary:P(`views.console.copied`)}):N.add({severity:`error`,summary:P(`views.console.copy_failed`)})}async function Ue(){let e=B.value===`connection`?`connection`:`logs`,t=new Blob([$()],{type:`text/plain`});await s({blob:t,filename:`camera-ui-${e}-${Date.now()}.txt`,mimeType:`text/plain`})}function We(){B.value===`connection`?o()&&d().journal.clear():i.clear(),Q(),N.add({severity:`success`,summary:P(`views.console.cleared`)})}return oe(Z,()=>{X.value&&Re()}),v(()=>{if(Q(),Oe=i.onEntries(e=>{V.value=e.slice()}),ke=i.onChange(()=>{Y.value=i.isRecording()}),o()){let e=d().journal;Ae=e.subscribe(()=>{H.value=e.list()})}}),m(()=>{Oe?.(),ke?.(),Ae?.()}),(n,r)=>{let i=he,a=e,o=te,s=ve,c=_e,l=me,u=de,d=ee,m=fe,g=xe,_=be,v=pe,oe=ge,se=ne,x=ye,E=re,k=t;return h(),b(`div`,Se,[C(o,{position:`left`},{default:f(()=>[C(a,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:r[0]||=e=>n.$router.back()},{icon:f(()=>[C(i,{class:`w-6 h-6`})]),_:1})]),_:1}),C(oe,{"left-offset":M(R),scrollable:``,animate:``},le({_:2},[M(K)?{name:`full`,fn:f(()=>[C(c,{class:`sm:hidden`,onClick:Le},{icon:f(()=>[C(s,{class:`text-sm`})]),_:1}),C(m,{class:`w-full sm:hidden`},{default:f(()=>[C(u,null,{default:f(()=>[C(l,{class:`text-sm`})]),_:1}),C(d,{ref_key:`mobileSearchInput`,ref:q,modelValue:M(U),"onUpdate:modelValue":r[1]||=e=>D(U)?U.value=e:null,placeholder:n.$t(`components.form.placeholder.search`),class:`text-xs h-8 w-full`},null,8,[`modelValue`,`placeholder`])]),_:1})]),key:`0`}:void 0,M(K)?void 0:{name:`left`,fn:f(()=>[C(c,{label:n.$t(M(B)===`logs`?`views.console.source_logs`:`views.console.source_connection`),onClick:Pe},null,8,[`label`]),M(B)===`logs`?(h(),T(c,{key:0,label:n.$t(`views.console.levels`),"menu-open":M(J)?.isOpen,onClick:r[2]||=e=>M(J)?.toggleMenu(e)},null,8,[`label`,`menu-open`])):j(``,!0)]),key:`1`},M(K)?void 0:{name:`right`,fn:f(()=>[C(c,{class:`sm:hidden`,onClick:Ie},{icon:f(()=>[C(l,{class:`text-sm`})]),_:1}),C(m,{class:`hidden sm:flex`},{default:f(()=>[C(u,null,{default:f(()=>[C(l,{class:`text-sm`})]),_:1}),C(d,{modelValue:M(U),"onUpdate:modelValue":r[3]||=e=>D(U)?U.value=e:null,placeholder:n.$t(`components.form.placeholder.search`),class:`text-xs h-8 w-40`},null,8,[`modelValue`,`placeholder`])]),_:1}),S((h(),T(c,{onClick:He},{icon:f(()=>[C(g,{class:`text-sm`})]),_:1})),[[k,{value:n.$t(`views.console.copy`)}]]),S((h(),T(c,{onClick:Ue},{icon:f(()=>[C(_,{class:`text-sm`})]),_:1})),[[k,{value:n.$t(`views.console.export`)}]]),S((h(),T(c,{onClick:We},{icon:f(()=>[C(v,{class:`text-sm`})]),_:1})),[[k,{value:n.$t(`views.console.clear`)}]])]),key:`2`}]),1032,[`left-offset`]),y(`div`,{class:`w-full h-full flex flex-col`,style:ae({paddingTop:`${M(55)}px`})},[y(`div`,{ref_key:`scrollEl`,ref:G,class:`flex-1 min-h-0 overflow-auto p-2 font-mono text-[11px] leading-snug`},[M(Z).length?j(``,!0):(h(),b(`div`,Ce,[C(se,{class:`w-12 h-12 text-muted`}),y(`span`,we,p(M(B)===`connection`||M(Y)?n.$t(`views.console.empty`):n.$t(`views.console.recording_off`)),1)])),(h(!0),b(O,null,ie(M(Z),(e,t)=>(h(),b(`div`,{key:t,class:ce([`whitespace-pre-wrap break-words py-0.5 border-b border-white/5`,Ne(e.level)])},[y(`span`,Te,p(Me(e.t)),1),y(`span`,Ee,[e.level?(h(),b(O,{key:0},[w(`[`+p(e.level.toUpperCase())+`] `,1)],64)):j(``,!0),w(`[`+p(e.scope)+`]`,1)]),w(` `+p(e.msg),1)],2))),128))],512)],4),S((h(),T(a,{severity:`secondary`,rounded:``,class:`absolute right-3 bottom-3 z-11 opacity-60 hover:opacity-100 transition`,onClick:Q},{icon:f(()=>[C(x,{class:`text-sm`})]),_:1})),[[k,{value:n.$t(`views.console.refresh`)}]]),C(E,{ref_key:`levelMenuRef`,ref:J,items:M(je),"auto-hide":!1,popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}});export{z as default};