@camera.ui/server 2.2.6 → 2.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (560) hide show
  1. package/dist/interface/assets/{404-BLVuKvLk.js → 404-BYV0u5qE.js} +1 -1
  2. package/dist/interface/assets/{About-C-AJ0jfI.js → About-DBOS1rfw.js} +1 -1
  3. package/dist/interface/assets/Assistant-BRcHj8hq.js +1 -0
  4. package/dist/interface/assets/Automation-C0Emde7z.js +3 -0
  5. package/dist/interface/assets/{AutomationImport-C8VYjDzf.js → AutomationImport-Iu-K82Os.js} +2 -2
  6. package/dist/interface/assets/{AutomationStore-CE4PKRGd.js → AutomationStore-C2G0Bk8c.js} +2 -2
  7. package/dist/interface/assets/{AutomationStoreDetail-DavWfjLv.js → AutomationStoreDetail-BbvLRJ5u.js} +2 -2
  8. package/dist/interface/assets/Automations-D-vfqRnZ.js +2 -0
  9. package/dist/interface/assets/Camera-BpurrgAr.js +2 -0
  10. package/dist/interface/assets/Camera-D0B7yyVD.css +1 -0
  11. package/dist/interface/assets/{CameraConsole-C4AmtcrM.js → CameraConsole-JBD3ZmJ6.js} +2 -2
  12. package/dist/interface/assets/{Cameras-DR577Bno.js → Cameras-R5mJGMK9.js} +2 -2
  13. package/dist/interface/assets/{Camview-Bri_T7Tq.css → Camview-DH6_8CxH.css} +1 -1
  14. package/dist/interface/assets/Camview-IbOVRx20.js +1 -0
  15. package/dist/interface/assets/{CertificateUpload-BYFKZCP9.js → CertificateUpload-B9S4EOQs.js} +1 -1
  16. package/dist/interface/assets/Config-CbFl5Wcp.js +2 -0
  17. package/dist/interface/assets/{ConfigActionAssistant-YtCVI8LZ.js → ConfigActionAssistant-DIOh6-np.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionCameraControl-Dg_1zOYt.js → ConfigActionCameraControl-Bw_egtpP.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionDelay-_EqbfWgo.js → ConfigActionDelay-B9i4YZjy.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionHttp-BzwLv2tn.js → ConfigActionHttp-DFtxAa3U.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionImageInput-CLdY2sV4.js → ConfigActionImageInput-CuTH4Nw2.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionMqtt-lGqYshl3.js → ConfigActionMqtt-B9SfWP-G.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionNotification-D5Dj3EoU.js → ConfigActionNotification-BGMIByJT.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionNotificationControl-Dy5fKamr.js → ConfigActionNotificationControl-Cz72szMd.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionOutput-DzsQ31L0.js → ConfigActionOutput-BG6DoIRe.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionPlugin-BFrBcXvL.js → ConfigActionPlugin-B5oRSE9n.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionSensor-CX8ePlan.js → ConfigActionSensor-BErRRYfl.js} +1 -1
  28. package/dist/interface/assets/{ConfigActionSnapshot-BATLRmh6.js → ConfigActionSnapshot-Di-uxMrg.js} +1 -1
  29. package/dist/interface/assets/{ConfigActionVariable-Dgn5jvaR.js → ConfigActionVariable-BBpUti5A.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionIfElse-D5IIBjyk.js → ConfigConditionIfElse-DjOKPXQw.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionSensorState-C0JxBWdG.js → ConfigConditionSensorState-BzvvZvD0.js} +1 -1
  32. package/dist/interface/assets/{ConfigConditionSwitch-Brlgd0XP.js → ConfigConditionSwitch-DQvdfUxR.js} +1 -1
  33. package/dist/interface/assets/{ConfigConditionTime-CM4bSMyU.js → ConfigConditionTime-BqOElX5C.js} +1 -1
  34. package/dist/interface/assets/{ConfigSensorValueInput-CtuH8dCa.js → ConfigSensorValueInput-BT-0LhSH.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerDetection-DsL7lLQl.js → ConfigTriggerDetection-1OkudUah.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerGeofence-CAGIk1_W.js → ConfigTriggerGeofence-HGatk3C5.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerManual-DgkR-GWy.js → ConfigTriggerManual-DpRr_vVq.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerMqtt-B_iFalAQ.js → ConfigTriggerMqtt-C_MId3BY.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSchedule-E_QWfNKy.js → ConfigTriggerSchedule-BmwDqd6N.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerSensor-hYNbLXUu.js → ConfigTriggerSensor-Rgx8q4g8.js} +1 -1
  41. package/dist/interface/assets/{ConfigTriggerSystem-DR1EFpE9.js → ConfigTriggerSystem-4VsHPmbn.js} +1 -1
  42. package/dist/interface/assets/{ConfigTriggerWebhook-C-B5GGFH.js → ConfigTriggerWebhook-Bs7zEfY0.js} +1 -1
  43. package/dist/interface/assets/Console-oCuuVKET.js +1 -0
  44. package/dist/interface/assets/{CuiAssistantConversation-BmshW6Vc.css → CuiAssistantConversation-BmBhwrNh.css} +1 -1
  45. package/dist/interface/assets/CuiAssistantConversation-Bsyxau9v.js +5 -0
  46. package/dist/interface/assets/CuiAutomationRunsDialog-sRh_K6JI.js +1 -0
  47. package/dist/interface/assets/CuiBottomSheet-DWoSHzC7.js +1 -0
  48. package/dist/interface/assets/{CuiBottomSheet-C2sM2E3M.js → CuiBottomSheet-Dd3uOtnC.js} +1 -1
  49. package/dist/interface/assets/CuiCameraPipCard-D6REm8uT.js +1 -0
  50. package/dist/interface/assets/CuiCameraPipCard-TYTCfwXf.css +1 -0
  51. package/dist/interface/assets/CuiCameraRecordings-C2tvrbbw.js +1 -0
  52. package/dist/interface/assets/{CuiCameraShares-B6jdUBVm.js → CuiCameraShares-jrrUEHoZ.js} +1 -1
  53. package/dist/interface/assets/CuiCameraTable-BOzTWLwd.js +1 -0
  54. package/dist/interface/assets/{CuiCameraTable-CpBo25Qc.js → CuiCameraTable-C7WLZ2pA.js} +2 -2
  55. package/dist/interface/assets/CuiChartTable-BYrIX7LV.js +1 -0
  56. package/dist/interface/assets/CuiChartTable-DCr_AsSw.css +1 -0
  57. package/dist/interface/assets/{CuiConsole-BGptpT6r.js → CuiConsole-CkZML0iY.js} +2 -2
  58. package/dist/interface/assets/CuiDataTable-BFIhx1D3.js +1 -0
  59. package/dist/interface/assets/{CuiLightControl-wbZi3fA1.js → CuiLightControl-DitIWqUr.js} +1 -1
  60. package/dist/interface/assets/{CuiList-Dsu5m0TA.js → CuiList-BewTNr2X.js} +1 -1
  61. package/dist/interface/assets/CuiMarkdownContent-Do04YgHe.js +1 -0
  62. package/dist/interface/assets/{CuiMarkdownContent-BYBQX_aF.js → CuiMarkdownContent-qOPm3VEi.js} +1 -1
  63. package/dist/interface/assets/CuiPluginCard-Bd2HFduI.js +2 -0
  64. package/dist/interface/assets/{CuiPluginCategoryChip-BtJ_6_gN.js → CuiPluginCategoryChip-DlzOwRgc.js} +1 -1
  65. package/dist/interface/assets/{CuiPluginOAuthButton-Duf35I8K.js → CuiPluginOAuthButton-BQZkTcgo.js} +2 -2
  66. package/dist/interface/assets/{CuiPluginTrustBadge-jxXeRTH2.js → CuiPluginTrustBadge-DbqdfdaL.js} +1 -1
  67. package/dist/interface/assets/{CuiQRCode-BNchrpoB.js → CuiQRCode-2WsWJQFi.js} +1 -1
  68. package/dist/interface/assets/{CuiSchema-DGTMkVSe.js → CuiSchema-BL0QZmP2.js} +1 -1
  69. package/dist/interface/assets/{CuiTopNavbarItem-CHtLvn53.js → CuiTopNavbarItem-Ti2TueU1.js} +1 -1
  70. package/dist/interface/assets/Faces-DARrGLXf.js +1 -0
  71. package/dist/interface/assets/{FirstSteps-HzaBMDbH.js → FirstSteps-DBYPBvGr.js} +1 -1
  72. package/dist/interface/assets/Floorplan-BaZvzoyv.js +1 -0
  73. package/dist/interface/assets/{Instances-Dl-6rL5O.js → Instances-r0xReURi.js} +1 -1
  74. package/dist/interface/assets/{Logs-DsJkuQFq.js → Logs-DMehPk0t.js} +2 -2
  75. package/dist/interface/assets/{Menu-D_woMkjL.js → Menu-C34RRyLd.js} +1 -1
  76. package/dist/interface/assets/Metrics-BjoC71_O.js +12 -0
  77. package/dist/interface/assets/Metrics-DsHBab6t.css +1 -0
  78. package/dist/interface/assets/{OAuthDeviceFlow-CXfILAE1.js → OAuthDeviceFlow-CdZxelf2.js} +1 -1
  79. package/dist/interface/assets/Plugin-npx7CnwV.js +1 -0
  80. package/dist/interface/assets/{PluginConsole-C96m5zKy.js → PluginConsole-D1BRQCO9.js} +2 -2
  81. package/dist/interface/assets/PluginDetail-nwTrJmO6.js +2 -0
  82. package/dist/interface/assets/{PluginSchema-u1bqXU29.js → PluginSchema-B9VsBHOU.js} +1 -1
  83. package/dist/interface/assets/PluginSearch-CP2kQWKf.js +1 -0
  84. package/dist/interface/assets/PluginSearch-WEvbKMRs.js +2 -0
  85. package/dist/interface/assets/{PluginUpdateProgress-BT4lN9HT.js → PluginUpdateProgress-uj0XPV-_.js} +1 -1
  86. package/dist/interface/assets/Plugins-CPx9Hszm.js +1 -0
  87. package/dist/interface/assets/{RecentEventsFilter-Kp_lTOuG.js → RecentEventsFilter-D5VSH2K1.js} +1 -1
  88. package/dist/interface/assets/Recordings-De6Zcv0M.js +1 -0
  89. package/dist/interface/assets/SensorEdit-SD_oHBRo.js +1 -0
  90. package/dist/interface/assets/{SensorHistory-Cet35_RO.js → SensorHistory-SxiLOloa.js} +1 -1
  91. package/dist/interface/assets/Sensors-Djl64M-W.js +2 -0
  92. package/dist/interface/assets/{Settings-C-LCDIbK.js → Settings-CAf2reGs.js} +1 -1
  93. package/dist/interface/assets/SettingsAccount-BGj5Ni91.js +1 -0
  94. package/dist/interface/assets/SettingsAccount-Dy6WC8ql.js +1 -0
  95. package/dist/interface/assets/SettingsAppearance-BGFhMlRk.js +1 -0
  96. package/dist/interface/assets/{SettingsAppearance-BS4EQNjH.js → SettingsAppearance-DQzQmVzE.js} +1 -1
  97. package/dist/interface/assets/SettingsAssistant-BwYVyuN3.js +1 -0
  98. package/dist/interface/assets/{SettingsBackup-DBlV1gej.js → SettingsBackup-CVExGnOo.js} +1 -1
  99. package/dist/interface/assets/{SettingsList-D8eSwbBY.js → SettingsList-vo7sz_MY.js} +1 -1
  100. package/dist/interface/assets/SettingsMqtt-B1CuOcML.js +1 -0
  101. package/dist/interface/assets/SettingsNotifications-CCQ6eiq8.js +1 -0
  102. package/dist/interface/assets/{SettingsPermissions-CJiz0Z7B.js → SettingsPermissions-BlOf6HEy.js} +1 -1
  103. package/dist/interface/assets/{SettingsRecordings-CLz9Zp47.js → SettingsRecordings-7tTBg6m1.js} +1 -1
  104. package/dist/interface/assets/SettingsRemote-CsIGx-LU.css +1 -0
  105. package/dist/interface/assets/SettingsRemote-DBgKmIdv.js +2 -0
  106. package/dist/interface/assets/{SettingsSystem-txTFGomQ.js → SettingsSystem-DaFMsZpN.js} +2 -2
  107. package/dist/interface/assets/{SettingsUsers-CUp6vQPc.js → SettingsUsers-DXACwVPi.js} +1 -1
  108. package/dist/interface/assets/Terminal-DtGqlHbk.js +4 -0
  109. package/dist/interface/assets/{Training-Bkn52mPJ.css → Training-C-ToeAl4.css} +1 -1
  110. package/dist/interface/assets/Training-Ca11D1Vj.js +1 -0
  111. package/dist/interface/assets/Updates-yenwuqnD.js +2 -0
  112. package/dist/interface/assets/{VariableInput-183LygmK.js → VariableInput-CcILik4M.js} +1 -1
  113. package/dist/interface/assets/{VariableSuggestions-DwLtlzVz.js → VariableSuggestions-Bj0HdrYW.js} +1 -1
  114. package/dist/interface/assets/{VersionsHandler-DkbkcypK.js → VersionsHandler-BA8Lcysg.js} +1 -1
  115. package/dist/interface/assets/{VirtualSensorCreate-Bn4tgdxA.js → VirtualSensorCreate-DvHyw7I2.js} +1 -1
  116. package/dist/interface/assets/{Workers-DH59zE1C.css → Workers-Dey1snI4.css} +1 -1
  117. package/dist/interface/assets/Workers-Dyo44zxe.js +2 -0
  118. package/dist/interface/assets/{account-DwW7pBOb.js → account-DjBQulDn.js} +1 -1
  119. package/dist/interface/assets/ace-BPAekgyf.js +1 -0
  120. package/dist/interface/assets/{ace.config-CCyX_Ohk.js → ace.config-CvKE-yp1.js} +1 -1
  121. package/dist/interface/assets/{alert-circle-BdUVAt1B.js → alert-circle-B-JCMbb9.js} +1 -1
  122. package/dist/interface/assets/{alert-outline-IRxYbw0j.js → alert-outline-B4ZZowEj.js} +1 -1
  123. package/dist/interface/assets/api-CHQlxVtZ.css +2 -0
  124. package/dist/interface/assets/{api-h4HRB3ef.js → api-CKbL5jC7.js} +1 -1
  125. package/dist/interface/assets/api-CLazgL-g.js +4 -0
  126. package/dist/interface/assets/{arrow-left-Bk-ZrOVr.js → arrow-left-PeaVwpHd.js} +1 -1
  127. package/dist/interface/assets/{assistant-4hYyIu6D.js → assistant-CwmHp5bB.js} +1 -1
  128. package/dist/interface/assets/{assistantModels-BsSgRsws.js → assistantModels-D3ncWWu0.js} +1 -1
  129. package/dist/interface/assets/{auth-DFesRtwI.js → auth-AfZrkJ2f.js} +1 -1
  130. package/dist/interface/assets/{automations-D2bnX8uw.js → automations-DOCG0q8-.js} +1 -1
  131. package/dist/interface/assets/{back-filled-D-X19YMO.js → back-filled-CJoz7Gkl.js} +1 -1
  132. package/dist/interface/assets/{bell-ring-DreEHgoT.js → bell-ring-CBf0Yn3H.js} +1 -1
  133. package/dist/interface/assets/{brain-DuDAg544.js → brain-uZ03n3LW.js} +1 -1
  134. package/dist/interface/assets/cameraSources-mHEz9ROa.js +1 -0
  135. package/dist/interface/assets/{cctv-DM-C_8_6.js → cctv-VgKQ-dBV.js} +1 -1
  136. package/dist/interface/assets/{check-circle-Bevuw8-0.js → check-circle-BU-KNgPB.js} +1 -1
  137. package/dist/interface/assets/{check-circle-outline-aMxkvksr.js → check-circle-outline-BsxzAMed.js} +1 -1
  138. package/dist/interface/assets/{chevron-down-CCFn9Z56.js → chevron-down-CxK4Sfjs.js} +1 -1
  139. package/dist/interface/assets/{chevron-up-CSImUM3_.js → chevron-up-DWfNH8va.js} +1 -1
  140. package/dist/interface/assets/{clock-outline-DH3WIEJt.js → clock-outline-BtWx4GaF.js} +1 -1
  141. package/dist/interface/assets/{close-CMxyM4v9.js → close-Be7oB7d_.js} +1 -1
  142. package/dist/interface/assets/{close-circle-CfgJCZ9A.js → close-circle-D7Jmhp_7.js} +1 -1
  143. package/dist/interface/assets/{cloud-check-CbdFLIdR.js → cloud-check-zCGJxpWI.js} +1 -1
  144. package/dist/interface/assets/cloudHandoff-zJCrDmwk.js +1 -0
  145. package/dist/interface/assets/{config-DDaCrMSU.js → config-AG0SnOiY.js} +1 -1
  146. package/dist/interface/assets/{content-copy-Bz49QPOI.js → content-copy-BcYlfuFc.js} +1 -1
  147. package/dist/interface/assets/{copy-DA6QQHRt.js → copy-DuY-M96E.js} +1 -1
  148. package/dist/interface/assets/{cube-scan-IiH8zwm2.js → cube-scan-Cae03i_N.js} +1 -1
  149. package/dist/interface/assets/{database-refresh-outline-CIUDpcuq.js → database-refresh-outline-B3OEQFF7.js} +1 -1
  150. package/dist/interface/assets/{delete-Btu-UVx9.js → delete-BWgOAzKl.js} +1 -1
  151. package/dist/interface/assets/{dist-D_qWDAKp.js → dist-DmpuuM9s.js} +1 -1
  152. package/dist/interface/assets/{dots-vertical-D496SIss.js → dots-vertical-Kby1GY8_.js} +1 -1
  153. package/dist/interface/assets/{download-BSC7lwq_.js → download-C291Yq7I.js} +1 -1
  154. package/dist/interface/assets/esm-B2TVBF3B.js +1 -0
  155. package/dist/interface/assets/esm-BEntuCG7.js +1 -0
  156. package/dist/interface/assets/esm-BRnyrFH8.js +1 -0
  157. package/dist/interface/assets/esm-CCwXzd_8.js +1 -0
  158. package/dist/interface/assets/esm-CEjwTsuD.js +1 -0
  159. package/dist/interface/assets/esm-CGGV9tC4.js +1 -0
  160. package/dist/interface/assets/esm-CI2tTOc5.js +1 -0
  161. package/dist/interface/assets/esm-CgxZmMYv.js +1 -0
  162. package/dist/interface/assets/esm-Csc6f5Fy.js +1 -0
  163. package/dist/interface/assets/esm-Qzx3d-Ie.js +1 -0
  164. package/dist/interface/assets/esm-a_w7mTdx.js +1 -0
  165. package/dist/interface/assets/esm-iKfsu7-H.js +1 -0
  166. package/dist/interface/assets/esm-ks5kvk_e.js +1 -0
  167. package/dist/interface/assets/esm-nJfTguKF.js +1 -0
  168. package/dist/interface/assets/{eventIcons-UQutPG3p.js → eventIcons-C3JWChgS.js} +1 -1
  169. package/dist/interface/assets/{eye-off-CSU0U8g7.js → eye-off-zGCIHKOK.js} +1 -1
  170. package/dist/interface/assets/{flowSchema-YJtAu9gB.js → flowSchema-B0d3VjU7.js} +1 -1
  171. package/dist/interface/assets/{help-circle-outline-Cr_yNhPi.js → help-circle-outline-DXFepDAG.js} +1 -1
  172. package/dist/interface/assets/{history-anuCbp1T.js → history-D-FlZdKD.js} +1 -1
  173. package/dist/interface/assets/{home-N3bDR1vX.js → home-DPdzRxcM.js} +1 -1
  174. package/dist/interface/assets/{information-outline-CMWIvLNB.js → information-outline-ChOM9qgI.js} +1 -1
  175. package/dist/interface/assets/{intercomService-CjoJaOZ7.js → intercomService-DG3EeZ6s.js} +1 -1
  176. package/dist/interface/assets/{lan-CYXjdk7L.js → lan-DvYEO83l.js} +1 -1
  177. package/dist/interface/assets/{main-DVa5U7UB.css → main-CGY9cVyi.css} +1 -1
  178. package/dist/interface/assets/main-DkHV6YgB.js +3 -0
  179. package/dist/interface/assets/{microphone-BB2pATI_.js → microphone-D-T9xga4.js} +1 -1
  180. package/dist/interface/assets/{minus-BCp3ZNKO.js → minus-4T4INuO4.js} +1 -1
  181. package/dist/interface/assets/mqtt-DE2VbNdt.js +1 -0
  182. package/dist/interface/assets/native-CtfXrwj5.js +1 -0
  183. package/dist/interface/assets/native-JMtkOkIV.js +1 -0
  184. package/dist/interface/assets/{nodeDefinitions-ByrqsENY.js → nodeDefinitions-Dp8cnne1.js} +1 -1
  185. package/dist/interface/assets/{notifications-5yeK345h.js → notifications-8FH4ApEz.js} +1 -1
  186. package/dist/interface/assets/{pause-BQlxwAW2.js → pause-DHqHYA3V.js} +1 -1
  187. package/dist/interface/assets/{pencil-outline-CIQL5Kui.js → pencil-outline-D-GmPf8M.js} +1 -1
  188. package/dist/interface/assets/{pencil-CDsNnEXi.js → pencil-vACi-JzY.js} +1 -1
  189. package/dist/interface/assets/plugin-Dt5Xetfz.js +1 -0
  190. package/dist/interface/assets/{plugins-BTOdE_zv.js → plugins-2JLUEMYc.js} +1 -1
  191. package/dist/interface/assets/{plus-Bp4q9G7S.js → plus-BBUb8_uL.js} +1 -1
  192. package/dist/interface/assets/{plus-CySoovdr.js → plus-BJb7U4bN.js} +1 -1
  193. package/dist/interface/assets/{power-WmBLDR0-.js → power-Dm_aNIz-.js} +1 -1
  194. package/dist/interface/assets/{radar-CyYAmume.js → radar-Dcvdz--e.js} +1 -1
  195. package/dist/interface/assets/{refresh-CHTA3jVN.js → refresh-CO4F18Je.js} +1 -1
  196. package/dist/interface/assets/{restore-C8RNM5yX.js → restore-xRBt3Grb.js} +1 -1
  197. package/dist/interface/assets/{rooms-BCdm6IAx.js → rooms-DoAfzA8W.js} +1 -1
  198. package/dist/interface/assets/{round-alt-arrow-left-bold-Gh5mi_yR.js → round-alt-arrow-left-bold-CZHXzGS5.js} +1 -1
  199. package/dist/interface/assets/{search-BajCVmOI.js → search-D75YW08B.js} +1 -1
  200. package/dist/interface/assets/{sensorIcons-5Ynqwo3e.js → sensorIcons-BntiOPX7.js} +1 -1
  201. package/dist/interface/assets/{sensorSlots-BF70tpV7.js → sensorSlots-biaL-O8E.js} +1 -1
  202. package/dist/interface/assets/{sensors-CeFEEz8r.js → sensors-DyAMdS-H.js} +1 -1
  203. package/dist/interface/assets/server-BDRUGj61.js +1 -0
  204. package/dist/interface/assets/{settings-DnksaK7m.js → settings-DDOgc5BX.js} +1 -1
  205. package/dist/interface/assets/{source-branch-CzqIPffP.js → source-branch-DVHuYlkZ.js} +1 -1
  206. package/dist/interface/assets/{theme-DF_XA58O.js → theme-CLxrnR60.js} +1 -1
  207. package/dist/interface/assets/{trash-2-DJeEhHf4.js → trash-2-DDKPtl2x.js} +1 -1
  208. package/dist/interface/assets/{trash-can-outline-DrT6iw7I.js → trash-can-outline-DVH3zgo0.js} +1 -1
  209. package/dist/interface/assets/{trash-fill-Bb_-UicM.js → trash-fill-C_IJ4Vu2.js} +1 -1
  210. package/dist/interface/assets/{trash2-Dsl8gfxq.js → trash2-DY0XTaJD.js} +1 -1
  211. package/dist/interface/assets/{types-CklFkUXk.js → types-8JXzkoC8.js} +1 -1
  212. package/dist/interface/assets/{types-ArGM5-5O.js → types-B4LLKzDW.js} +1 -1
  213. package/dist/interface/assets/types-a7Nw-P-m.js +1 -0
  214. package/dist/interface/assets/{undo-DoqJW-k7.js → undo-YRkBYCnf.js} +1 -1
  215. package/dist/interface/assets/ungrouped-BoAbb9w3.js +1 -0
  216. package/dist/interface/assets/ungrouped-ChmBvcXp.css +1 -0
  217. package/dist/interface/assets/updates-F-veEP1I.js +1 -0
  218. package/dist/interface/assets/{upload-DtIcwiNC.js → upload-2WcHRjTq.js} +1 -1
  219. package/dist/interface/assets/{upload-C3w1XH-o.js → upload-BiE7VzTj.js} +1 -1
  220. package/dist/interface/assets/{useAppVersion-Dcvu95bZ.js → useAppVersion-BjUQmB7M.js} +1 -1
  221. package/dist/interface/assets/{useAssistantActions-Cc_O6M9_.js → useAssistantActions-CNEJol4o.js} +1 -1
  222. package/dist/interface/assets/useBackupRestore-Biqn_lhh.js +1 -0
  223. package/dist/interface/assets/{useCameraOptions-8I4MTDgj.js → useCameraOptions-D_oduve2.js} +1 -1
  224. package/dist/interface/assets/useKeyboardInset-CPWSVYlA.js +1 -0
  225. package/dist/interface/assets/{useLogsSocket-bpOiLgWT.js → useLogsSocket-B_jXUqv8.js} +1 -1
  226. package/dist/interface/assets/{useNavLayout-Cjf6Da2u.js → useNavLayout-DEngIIeU.js} +1 -1
  227. package/dist/interface/assets/{usePermissions-BXTw4tII.js → usePermissions-DAO92InI.js} +1 -1
  228. package/dist/interface/assets/{usePluginUpdates-bOMj-IvL.js → usePluginUpdates-CJi8Y_wl.js} +1 -1
  229. package/dist/interface/assets/{usePushRegistration-HOvLuUVP.js → usePushRegistration-j9WCeFbv.js} +2 -2
  230. package/dist/interface/assets/{useServerRestart-CQN4cdHJ.js → useServerRestart-BVks5tuC.js} +1 -1
  231. package/dist/interface/assets/{useStreamStatus-Da7c2Wme.js → useStreamStatus-DQ0NSyU8.js} +1 -1
  232. package/dist/interface/assets/{useTabSwipe-fFuyJJBQ.js → useTabSwipe-CVq7EcIY.js} +1 -1
  233. package/dist/interface/assets/{useUpdateChannel-Ca1RX32u.js → useUpdateChannel-C0fjDvNP.js} +1 -1
  234. package/dist/interface/assets/{useUpdatesSocket-DHZNpLQX.js → useUpdatesSocket-DXKF9hzc.js} +1 -1
  235. package/dist/interface/assets/useUserOptions-UjMeAL5n.js +1 -0
  236. package/dist/interface/assets/{variable-ywTlRfo5.js → variable-Cp8o-q8t.js} +1 -1
  237. package/dist/interface/assets/vendor-Df81FCJz.js +29 -0
  238. package/dist/interface/assets/{vendor-ace-CvEoip98.js → vendor-ace-QSsGUspX.js} +1 -1
  239. package/dist/interface/assets/{vendor-cameraui-CK4yHsJi.js → vendor-cameraui-GmMRyJ2R.js} +45 -45
  240. package/dist/interface/assets/{vendor-capacitor-Bs_WzL0Q.js → vendor-capacitor-t5EIN1GG.js} +2 -2
  241. package/dist/interface/assets/{vendor-chart-DBK083Hu.js → vendor-chart-BiJYkx5_.js} +1 -1
  242. package/dist/interface/assets/{vendor-core-B-Q4es-f.js → vendor-core-BeAannbA.js} +1 -1
  243. package/dist/interface/assets/{vendor-dnd-DGQLvX6Y.js → vendor-dnd-C1kMh9_t.js} +1 -1
  244. package/dist/interface/assets/{vendor-draggabilly-D8CK6M-y.js → vendor-draggabilly-Cw1oJ6qc.js} +1 -1
  245. package/dist/interface/assets/vendor-leaflet-OSZlONe5.js +1 -0
  246. package/dist/interface/assets/{vendor-markdown-qHIinIUE.js → vendor-markdown-DTWiWKBj.js} +1 -1
  247. package/dist/interface/assets/{vendor-primevue-Cmp3VjIC.js → vendor-primevue-Zx6t06A4.js} +77 -77
  248. package/dist/interface/assets/{vendor-vueflow-bSwRZ9X8.js → vendor-vueflow-DWU_IzGe.js} +1 -1
  249. package/dist/interface/assets/web-B98ahwoP.js +1 -0
  250. package/dist/interface/assets/web-BSsSrRZf.js +1 -0
  251. package/dist/interface/assets/web-BiNRDta4.js +1 -0
  252. package/dist/interface/assets/web-BjKL51lK-CZKmYhby.js +1 -0
  253. package/dist/interface/assets/web-BjtOcquy.js +1 -0
  254. package/dist/interface/assets/web-CkTE9nCG.js +1 -0
  255. package/dist/interface/assets/web-Cvogq5S5.js +1 -0
  256. package/dist/interface/assets/web-D-A4EBKj.js +1 -0
  257. package/dist/interface/assets/web-DVGMBduz.js +1 -0
  258. package/dist/interface/assets/web-SpWB7I6X.js +1 -0
  259. package/dist/interface/assets/web-k0ihT_qK.js +1 -0
  260. package/dist/interface/assets/web-ovBpm7Dl.js +1 -0
  261. package/dist/interface/assets/web-z5Xz9tOQ.js +1 -0
  262. package/dist/interface/assets/web-zfhkFevT.js +1 -0
  263. package/dist/interface/assets/{webhook-CWKf2Qxu.js → webhook-DIjChTrs.js} +1 -1
  264. package/dist/interface/assets/workbox-window.prod.es5-DRKojI0e.js +1 -0
  265. package/dist/interface/assets/{zoom-in-CHkXAWHy.js → zoom-in-rMB152Uz.js} +1 -1
  266. package/dist/interface/ha/{404-C0mWQGWl.js → 404-D5gfy0Cd.js} +1 -1
  267. package/dist/interface/ha/{About-ByE7XErJ.js → About-JzlpCzBN.js} +3 -3
  268. package/dist/interface/ha/{Assistant-Z3FTR868.js → Assistant-DgOfGesf.js} +2239 -1725
  269. package/dist/interface/ha/{Automation-COQqTFNw.js → Automation-BDaWYiBu.js} +146 -146
  270. package/dist/interface/ha/{AutomationImport-ueWqMBX9.js → AutomationImport-BNB_PJ9R.js} +6 -6
  271. package/dist/interface/ha/{AutomationStore-DBO4aZqy.js → AutomationStore-_TeOt1wz.js} +73 -73
  272. package/dist/interface/ha/{AutomationStoreDetail-DMnYu7hf.js → AutomationStoreDetail-jjIEZoRi.js} +20 -20
  273. package/dist/interface/ha/{Automations-CMdbidc0.js → Automations-DM6FEVOw.js} +110 -110
  274. package/dist/interface/ha/Camera-sH9fRv18.js +670 -0
  275. package/dist/interface/ha/{CameraConsole-oMNZfKE6.js → CameraConsole-BoVql05l.js} +4 -4
  276. package/dist/interface/ha/{Cameras-CsqrLx97.js → Cameras-cQBGvXq7.js} +349 -347
  277. package/dist/interface/ha/{Camview-Br0LUakz.js → Camview-mkG5FXZM.js} +323 -319
  278. package/dist/interface/ha/{Config-Y5eUNSW7.js → Config-BNPDzo_h.js} +11 -11
  279. package/dist/interface/ha/{ConfigActionAssistant-hl-6ZACj.js → ConfigActionAssistant-C-8P3DYz.js} +4 -4
  280. package/dist/interface/ha/{ConfigActionCameraControl-DnXlVFWD.js → ConfigActionCameraControl-x1ksGL7m.js} +3 -3
  281. package/dist/interface/ha/{ConfigActionHttp-BkpkMmRd.js → ConfigActionHttp-DzCJp85z.js} +2 -2
  282. package/dist/interface/ha/{ConfigActionImageInput-Dp78_QS_.js → ConfigActionImageInput-C5C5U_2z.js} +1 -1
  283. package/dist/interface/ha/{ConfigActionMqtt-DA_UWb5j.js → ConfigActionMqtt-T29xb75r.js} +4 -4
  284. package/dist/interface/ha/{ConfigActionNotification-CQ4Ses3a.js → ConfigActionNotification-BcnyilF9.js} +3 -3
  285. package/dist/interface/ha/{ConfigActionNotificationControl-Cb5PNGz-.js → ConfigActionNotificationControl-D3wIVKuU.js} +2 -2
  286. package/dist/interface/ha/{ConfigActionOutput-DLuNHwRb.js → ConfigActionOutput-hD-yVczw.js} +1 -1
  287. package/dist/interface/ha/{ConfigActionPlugin-ChKFCNaj.js → ConfigActionPlugin-Bz1O-O4Q.js} +5 -5
  288. package/dist/interface/ha/{ConfigActionSensor-DOutFalW.js → ConfigActionSensor-FOz-PYl_.js} +5 -5
  289. package/dist/interface/ha/{ConfigActionSnapshot-GWgY6YIN.js → ConfigActionSnapshot-CmxEOuK1.js} +2 -2
  290. package/dist/interface/ha/{ConfigActionVariable-bu-9VYTG.js → ConfigActionVariable-BCvkrdCh.js} +1 -1
  291. package/dist/interface/ha/{ConfigConditionIfElse-iNp8tlZV.js → ConfigConditionIfElse-icfTG9OA.js} +3 -3
  292. package/dist/interface/ha/{ConfigConditionSensorState-Dn7kcHpJ.js → ConfigConditionSensorState-ClUAsm0d.js} +4 -4
  293. package/dist/interface/ha/{ConfigConditionSwitch-DaUlDgo0.js → ConfigConditionSwitch-C8AMCkn6.js} +5 -5
  294. package/dist/interface/ha/{ConfigSensorValueInput-D6m6suqJ.js → ConfigSensorValueInput-ChvDQzGd.js} +4 -4
  295. package/dist/interface/ha/{ConfigTriggerDetection-C5B_DC_L.js → ConfigTriggerDetection-aUSyaClu.js} +2 -2
  296. package/dist/interface/ha/{ConfigTriggerGeofence-B4WVNcK5.js → ConfigTriggerGeofence-DsJeJWP4.js} +7 -7
  297. package/dist/interface/ha/{ConfigTriggerMqtt-wnMfk_Un.js → ConfigTriggerMqtt-CsAxA7QZ.js} +1 -1
  298. package/dist/interface/ha/{ConfigTriggerSensor-xFpI5KPu.js → ConfigTriggerSensor-CTxr9cfU.js} +1 -1
  299. package/dist/interface/ha/{ConfigTriggerSystem-YI9WYYVM.js → ConfigTriggerSystem-C8UEfpfs.js} +2 -2
  300. package/dist/interface/ha/{ConfigTriggerWebhook-58c2KgUe.js → ConfigTriggerWebhook-frEE-SCB.js} +1 -1
  301. package/dist/interface/ha/{Console-Coiqh32K.js → Console-A3VtbsLg.js} +12 -12
  302. package/dist/interface/ha/{CuiAutomationRunsDialog-CJ2MGfEY.js → CuiAutomationRunsDialog-BlJvhBiX.js} +2 -2
  303. package/dist/interface/ha/{CuiBottomSheet-BlG9Pl9j.js → CuiBottomSheet-Cu-t3H0Z.js} +1 -1
  304. package/dist/interface/ha/{CuiCameraRecordings-DLXEB4Q7.js → CuiCameraRecordings-R5ArEmqJ.js} +10 -10
  305. package/dist/interface/ha/{CuiCameraShares-BCIeaM6u.js → CuiCameraShares-B9pfRkM4.js} +5 -5
  306. package/dist/interface/ha/{CuiCameraTable-PYYC7sOu.js → CuiCameraTable-CKjGKaMC.js} +9 -9
  307. package/dist/interface/ha/{CuiChartTable-FQ2iR5Hd.js → CuiChartTable-BxWjRe-k.js} +89 -74
  308. package/dist/interface/ha/{CuiConsole-C77k5q_-.js → CuiConsole-C5fzsR7t.js} +4 -4
  309. package/dist/interface/ha/{CuiDataTable-CIKQLseG.js → CuiDataTable-BOdQDY8J.js} +5 -5
  310. package/dist/interface/ha/{CuiPluginCard-DZNXKP_P.js → CuiPluginCard-BT71RRAD.js} +33 -33
  311. package/dist/interface/ha/{CuiPluginOAuthButton-DVf52_Zc.js → CuiPluginOAuthButton-moh9uS7G.js} +7 -7
  312. package/dist/interface/ha/{CuiPluginTrustBadge-CPljYiM8.js → CuiPluginTrustBadge-F_pVWkPJ.js} +1 -1
  313. package/dist/interface/ha/{CuiQRCode-oe8PLnLj.js → CuiQRCode-BNuj-nJ4.js} +6 -6
  314. package/dist/interface/ha/{CuiSchema-CQy94ZTs.js → CuiSchema-Cb_8Ks-I.js} +125 -125
  315. package/dist/interface/ha/{CuiTopNavbarItem-D6OHZLQY.js → CuiTopNavbarItem-BGzrrTls.js} +1 -1
  316. package/dist/interface/ha/{Faces-DxAPvemO.js → Faces-CsM5VO8Q.js} +247 -247
  317. package/dist/interface/ha/{FirstSteps-ZINTSaeL.js → FirstSteps-BFX0-EEi.js} +12 -12
  318. package/dist/interface/ha/{Floorplan-DkbL8ppT.js → Floorplan-D6MGqSJT.js} +198 -199
  319. package/dist/interface/ha/{Instances-totWtqd7.js → Instances-CHzIUyyA.js} +72 -72
  320. package/dist/interface/ha/{Logs-CzabIFja.js → Logs-DZKM3dWv.js} +10 -10
  321. package/dist/interface/ha/{Menu-DcVBOQfw.js → Menu-BQz4dfQi.js} +8 -8
  322. package/dist/interface/ha/{Metrics-B_SN5hbp.js → Metrics-CdpWJ1mm.js} +310 -308
  323. package/dist/interface/ha/{OAuthDeviceFlow-B28TPsTQ.js → OAuthDeviceFlow-DUELtx3X.js} +9 -9
  324. package/dist/interface/ha/{Plugin-B2PbbB8d.js → Plugin-5bbTF0Rv.js} +92 -92
  325. package/dist/interface/ha/{PluginConsole-_KeG4FvO.js → PluginConsole-C__0lzsS.js} +4 -4
  326. package/dist/interface/ha/{PluginDetail-GK_Fx14e.js → PluginDetail-Blrktk9W.js} +9 -9
  327. package/dist/interface/ha/{PluginSearch-qSy4aqAW.js → PluginSearch-BKbdwHQ1.js} +121 -121
  328. package/dist/interface/ha/{PluginUpdateProgress-C4Q2j6VO.js → PluginUpdateProgress-IsNiecu3.js} +3 -3
  329. package/dist/interface/ha/{Plugins-D0tvZHie.js → Plugins-CC2Dwlx5.js} +53 -53
  330. package/dist/interface/ha/{Recordings-CpxJYaAa.js → Recordings-B1XsJrzs.js} +303 -301
  331. package/dist/interface/ha/{SensorEdit-8KtqLXEu.js → SensorEdit-Bi2Yx_ji.js} +46 -46
  332. package/dist/interface/ha/{SensorHistory-CPTTsdjM.js → SensorHistory-sqG_6eav.js} +2 -2
  333. package/dist/interface/ha/{Sensors-DJt_Hnn2.js → Sensors-DLtOh1p4.js} +509 -510
  334. package/dist/interface/ha/{Settings-B-OdG5pG.js → Settings-DI3_zenm.js} +38 -38
  335. package/dist/interface/ha/{SettingsAccount-Ba2-2Lbi.js → SettingsAccount-pS86Qyr-.js} +251 -251
  336. package/dist/interface/ha/{SettingsAppearance-D56HjSuQ.js → SettingsAppearance-tS3bubKQ.js} +4 -4
  337. package/dist/interface/ha/{SettingsAssistant-DglU0auc.js → SettingsAssistant-LejCRXsF.js} +501 -501
  338. package/dist/interface/ha/{SettingsBackup-DZx4McDz.js → SettingsBackup-CkhD1Kze.js} +23 -23
  339. package/dist/interface/ha/{SettingsList-D9nIGkbE.js → SettingsList-bibwvPSM.js} +2 -2
  340. package/dist/interface/ha/{SettingsMqtt-BOszh--k.js → SettingsMqtt-DSt0B4Qg.js} +18 -18
  341. package/dist/interface/ha/{SettingsNotifications-DBVpZfp0.js → SettingsNotifications-BF7ajNwE.js} +118 -118
  342. package/dist/interface/ha/{SettingsRecordings-D3oJnizu.js → SettingsRecordings-BTIdncxg.js} +9 -9
  343. package/dist/interface/ha/{SettingsRemote-BOotvcOT.js → SettingsRemote-Cba4P1-O.js} +347 -344
  344. package/dist/interface/ha/{SettingsSystem-Bg11qoQX.js → SettingsSystem-_Nnh2ZF5.js} +9 -9
  345. package/dist/interface/ha/{SettingsUsers-KpLs9Jnh.js → SettingsUsers-BfHFoxJi.js} +83 -83
  346. package/dist/interface/ha/{Terminal-D6opTHYI.js → Terminal-Dv_7oWmS.js} +11 -11
  347. package/dist/interface/ha/Training-CaSFA5oH.js +1699 -0
  348. package/dist/interface/ha/{Updates-C_OvXJjd.js → Updates-BHl5H7zE.js} +15 -15
  349. package/dist/interface/ha/{VariableInput-CfaDp67S.js → VariableInput-DtLo7-Nw.js} +1 -1
  350. package/dist/interface/ha/{VersionsHandler-D1FVeYUZ.js → VersionsHandler-CF0DSeol.js} +10 -10
  351. package/dist/interface/ha/{VirtualSensorCreate-DJIgMVrt.js → VirtualSensorCreate-C907EgIz.js} +2 -2
  352. package/dist/interface/ha/Workers-Dz1d9gEQ.js +814 -0
  353. package/dist/interface/ha/{ace-B3bPzJu9.js → ace-C9MtBQVV.js} +1 -1
  354. package/dist/interface/ha/{ace.config-Dt55Nqby.js → ace.config-CSXnaIzV.js} +1 -1
  355. package/dist/interface/ha/{api-D2VzV4is.js → api-DUqpDJ2N.js} +14361 -14070
  356. package/dist/interface/ha/{api-CDawdL4p.js → api-gId1nlMj.js} +4 -4
  357. package/dist/interface/ha/{assistant-BmDAfChm.js → assistant-BaR65gIY.js} +50 -50
  358. package/dist/interface/ha/{auth-CvLz9C4w.js → auth-Btsz_KxO.js} +38 -38
  359. package/dist/interface/ha/{automationBlueprint-BhNaeOZ1.js → automationBlueprint-CuO3iOiM.js} +3 -3
  360. package/dist/interface/ha/cameraui-cards.js +1 -1
  361. package/dist/interface/ha/{cards-MQrnU0T8.js → cards-DWhezIPP.js} +1447 -1407
  362. package/dist/interface/ha/{config-t_oAKFkJ.js → config-BKStpoEQ.js} +12 -12
  363. package/dist/interface/ha/{dist-oFWkn6pD.js → dist-CM7R4_Gj.js} +34 -25
  364. package/dist/interface/ha/{mqtt-C20h1uze.js → mqtt-ajcSmTB-.js} +14 -14
  365. package/dist/interface/ha/{notifications-Cy9DKiEn.js → notifications-Cf9dXHEO.js} +18 -18
  366. package/dist/interface/ha/{pinia-BokSpDzj.js → pinia-DIKO5lnE.js} +267 -259
  367. package/dist/interface/ha/{plugins-jozYyBhV.js → plugins-ml823dJV.js} +61 -61
  368. package/dist/interface/ha/{rooms-DyfT3cXp.js → rooms-C5gUErBi.js} +9 -9
  369. package/dist/interface/ha/{server-hCCjQjZE.js → server-dArenpJI.js} +26 -26
  370. package/dist/interface/ha/{types-RG0SckNR.js → types-DYymuACA.js} +25 -25
  371. package/dist/interface/ha/{ungrouped-BbyfoCQp.js → ungrouped-BHLAySWP.js} +237 -213
  372. package/dist/interface/ha/{updates-hUgVDgoD.js → updates-D5sFzGtC.js} +33 -33
  373. package/dist/interface/ha/{useAppVersion-wNhZDuvR.js → useAppVersion-C5x3Ap4_.js} +1 -1
  374. package/dist/interface/ha/{useKeyboardInset-Cmbvb_W3.js → useKeyboardInset-Cj0T2AFX.js} +1 -1
  375. package/dist/interface/ha/{useLogsSocket-y9Aex3tJ.js → useLogsSocket-DtvfQlPh.js} +1 -1
  376. package/dist/interface/ha/{useNavLayout-Ehb0t34k.js → useNavLayout-HSFBA4JV.js} +13 -13
  377. package/dist/interface/ha/{useServerRestart-CRSVcz3z.js → useServerRestart-Ci0SppGW.js} +1 -1
  378. package/dist/interface/ha/{useTabSwipe-B_bseZkI.js → useTabSwipe-CPKkRmaH.js} +1 -1
  379. package/dist/interface/ha/{useUpdateChannel-C_GU6lj6.js → useUpdateChannel-CXHHovK3.js} +2 -2
  380. package/dist/interface/ha/{useUpdatesSocket-CYgHb7UX.js → useUpdatesSocket-DVST2YXV.js} +1 -1
  381. package/dist/interface/ha/{useUserOptions-pVYr-s3O.js → useUserOptions-BYcYI6QA.js} +1 -1
  382. package/dist/interface/index.html +70 -70
  383. package/dist/interface/sw.js +1 -1
  384. package/dist/server/package.json +16 -16
  385. package/dist/server/requirements.txt +2 -2
  386. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +8 -0
  387. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +5 -1
  388. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/camera_config_internal.py +5 -1
  389. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/manager/__init__.py +2 -1
  390. package/dist/server/src/api/controllers/api.controller.js +1 -1
  391. package/dist/server/src/api/controllers/api.controller.js.map +1 -1
  392. package/dist/server/src/api/controllers/plugins.controller.js +1 -0
  393. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  394. package/dist/server/src/api/controllers/workers.controller.d.ts +2 -2
  395. package/dist/server/src/api/controllers/workers.controller.js +8 -2
  396. package/dist/server/src/api/controllers/workers.controller.js.map +1 -1
  397. package/dist/server/src/api/database/record-schemas.d.ts +3 -0
  398. package/dist/server/src/api/database/record-schemas.js +1 -0
  399. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  400. package/dist/server/src/api/database/types.d.ts +4 -0
  401. package/dist/server/src/api/routes/workers.routes.js +4 -4
  402. package/dist/server/src/api/routes/workers.routes.js.map +1 -1
  403. package/dist/server/src/api/schemas/cameras.schema.d.ts +38 -0
  404. package/dist/server/src/api/schemas/cameras.schema.js +22 -0
  405. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  406. package/dist/server/src/api/schemas/users.schema.d.ts +12 -0
  407. package/dist/server/src/api/schemas/users.schema.js +4 -0
  408. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  409. package/dist/server/src/api/schemas/workers.schema.d.ts +5 -4
  410. package/dist/server/src/api/schemas/workers.schema.js +6 -3
  411. package/dist/server/src/api/schemas/workers.schema.js.map +1 -1
  412. package/dist/server/src/api/services/cameras.service.d.ts +3 -0
  413. package/dist/server/src/api/services/cameras.service.js +47 -2
  414. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  415. package/dist/server/src/api/services/plugins.service.d.ts +1 -0
  416. package/dist/server/src/api/services/plugins.service.js +5 -1
  417. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  418. package/dist/server/src/api/services/workers.service.d.ts +2 -0
  419. package/dist/server/src/api/services/workers.service.js +15 -0
  420. package/dist/server/src/api/services/workers.service.js.map +1 -1
  421. package/dist/server/src/api/types/index.d.ts +3 -2
  422. package/dist/server/src/api/websocket/nsp/notifications.d.ts +1 -0
  423. package/dist/server/src/api/websocket/nsp/notifications.js +7 -0
  424. package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
  425. package/dist/server/src/assistant/automation-catalog.js +12 -2
  426. package/dist/server/src/assistant/automation-catalog.js.map +1 -1
  427. package/dist/server/src/assistant/pricing.js +39 -10
  428. package/dist/server/src/assistant/pricing.js.map +1 -1
  429. package/dist/server/src/assistant/providers.js +9 -1
  430. package/dist/server/src/assistant/providers.js.map +1 -1
  431. package/dist/server/src/camera/decoder/event-manager.d.ts +1 -2
  432. package/dist/server/src/camera/decoder/event-manager.js +37 -59
  433. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  434. package/dist/server/src/manager/coreManager.d.ts +2 -1
  435. package/dist/server/src/manager/coreManager.js +9 -2
  436. package/dist/server/src/manager/coreManager.js.map +1 -1
  437. package/dist/server/src/manager/notificationManager.d.ts +1 -0
  438. package/dist/server/src/manager/notificationManager.js +11 -0
  439. package/dist/server/src/manager/notificationManager.js.map +1 -1
  440. package/dist/server/src/plugins/runtime/node/proxy/coreManager.js +1 -1
  441. package/dist/server/src/plugins/runtime/node/proxy/coreManager.js.map +1 -1
  442. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +3 -0
  443. package/dist/server/src/plugins/runtime/python/proxy/core_manager.py +1 -1
  444. package/dist/server/src/plugins/runtime/python/rpc/typings.py +1 -1
  445. package/dist/server/src/rpc/interfaces/core.d.ts +1 -1
  446. package/dist/server/src/sensors/registry.d.ts +2 -0
  447. package/dist/server/src/sensors/registry.js +24 -0
  448. package/dist/server/src/sensors/registry.js.map +1 -1
  449. package/dist/server/src/services/config/index.d.ts +1 -0
  450. package/dist/server/src/services/config/index.js +12 -1
  451. package/dist/server/src/services/config/index.js.map +1 -1
  452. package/dist/server/src/utils/ipc.js +23 -17
  453. package/dist/server/src/utils/ipc.js.map +1 -1
  454. package/dist/server/src/workers/agent.js +2 -0
  455. package/dist/server/src/workers/agent.js.map +1 -1
  456. package/dist/server/src/workers/manager.d.ts +1 -0
  457. package/dist/server/src/workers/manager.js +22 -0
  458. package/dist/server/src/workers/manager.js.map +1 -1
  459. package/dist/server/src/workers/types.d.ts +5 -0
  460. package/dist/server/src/workers/types.js.map +1 -1
  461. package/npm-shrinkwrap.json +111 -111
  462. package/package.json +16 -16
  463. package/dist/interface/assets/Assistant-BJKGIvVo.js +0 -1
  464. package/dist/interface/assets/Automation-C95DzuZb.js +0 -3
  465. package/dist/interface/assets/Automations-BOP_17Ri.js +0 -2
  466. package/dist/interface/assets/Camera-BW9ikKqh.css +0 -1
  467. package/dist/interface/assets/Camera-C5S7eI9a.js +0 -2
  468. package/dist/interface/assets/Camview-CHxKB41T.js +0 -1
  469. package/dist/interface/assets/Config-BrDDGWpr.js +0 -2
  470. package/dist/interface/assets/Console-cIr6lYux.js +0 -1
  471. package/dist/interface/assets/CuiAssistantConversation-Bigl43Ph.js +0 -5
  472. package/dist/interface/assets/CuiAutomationRunsDialog-Ci7SWAml.js +0 -1
  473. package/dist/interface/assets/CuiBottomSheet-ViBOgklN.js +0 -1
  474. package/dist/interface/assets/CuiCameraPipCard-BQKk4fxY.css +0 -1
  475. package/dist/interface/assets/CuiCameraPipCard-wdK7xir-.js +0 -1
  476. package/dist/interface/assets/CuiCameraRecordings-BB7bF67B.js +0 -1
  477. package/dist/interface/assets/CuiCameraTable-CHnQFkce.js +0 -1
  478. package/dist/interface/assets/CuiChartTable-DXY7rY3O.css +0 -1
  479. package/dist/interface/assets/CuiChartTable-dIcxGtfl.js +0 -1
  480. package/dist/interface/assets/CuiDataTable-CQmp5mAy.js +0 -1
  481. package/dist/interface/assets/CuiMarkdownContent-DTAm-EDR.js +0 -1
  482. package/dist/interface/assets/CuiPluginCard-BjIc7It9.js +0 -2
  483. package/dist/interface/assets/Faces-p18jNfXl.js +0 -1
  484. package/dist/interface/assets/Floorplan-DYyEx7WO.js +0 -1
  485. package/dist/interface/assets/Metrics-ChVnC6f6.css +0 -1
  486. package/dist/interface/assets/Metrics-l3UwykCM.js +0 -12
  487. package/dist/interface/assets/Plugin-Ldj3HygQ.js +0 -1
  488. package/dist/interface/assets/PluginDetail-CnfaI1vh.js +0 -2
  489. package/dist/interface/assets/PluginSearch-BiXG3Xk2.js +0 -2
  490. package/dist/interface/assets/PluginSearch-BuE7we1T.js +0 -1
  491. package/dist/interface/assets/Plugins-Csx6AXaW.js +0 -1
  492. package/dist/interface/assets/Recordings-D0KTY5cI.js +0 -1
  493. package/dist/interface/assets/SensorEdit-zs-f_o1N.js +0 -1
  494. package/dist/interface/assets/Sensors-BLAoalEt.js +0 -2
  495. package/dist/interface/assets/SettingsAccount-BsN7jGmo.js +0 -1
  496. package/dist/interface/assets/SettingsAccount-DuVyCSE-.js +0 -1
  497. package/dist/interface/assets/SettingsAppearance-DQcGbYbV.js +0 -1
  498. package/dist/interface/assets/SettingsAssistant-DViJklFd.js +0 -1
  499. package/dist/interface/assets/SettingsMqtt-JoszJJgV.js +0 -1
  500. package/dist/interface/assets/SettingsNotifications-3veSrxa_.js +0 -1
  501. package/dist/interface/assets/SettingsRemote-CtP6Gz9C.css +0 -1
  502. package/dist/interface/assets/SettingsRemote-DUyl8k7I.js +0 -2
  503. package/dist/interface/assets/Terminal-hln2UuSR.js +0 -4
  504. package/dist/interface/assets/Training-D6lhvUf-.js +0 -1
  505. package/dist/interface/assets/Updates-BwSWt9w7.js +0 -2
  506. package/dist/interface/assets/Workers-B6b15izn.js +0 -2
  507. package/dist/interface/assets/ace-DzzM-RlW.js +0 -1
  508. package/dist/interface/assets/api-C9mnOxie.js +0 -4
  509. package/dist/interface/assets/api-Cj9a6qPu.css +0 -2
  510. package/dist/interface/assets/cameraSources-DmVZWs4-.js +0 -1
  511. package/dist/interface/assets/cloudHandoff-Ba98bzeq.js +0 -1
  512. package/dist/interface/assets/esm-Bn9gXwX4.js +0 -1
  513. package/dist/interface/assets/esm-BzM6y2-F.js +0 -1
  514. package/dist/interface/assets/esm-CP3JWrtj.js +0 -1
  515. package/dist/interface/assets/esm-CjAXkqCf.js +0 -1
  516. package/dist/interface/assets/esm-Cqxk-j1S.js +0 -1
  517. package/dist/interface/assets/esm-DFHd3JNU.js +0 -1
  518. package/dist/interface/assets/esm-DfMLJtug.js +0 -1
  519. package/dist/interface/assets/esm-DhDrpq7a.js +0 -1
  520. package/dist/interface/assets/esm-DvhM-SOd.js +0 -1
  521. package/dist/interface/assets/esm-G63bqygQ.js +0 -1
  522. package/dist/interface/assets/esm-Gn-Y59hU.js +0 -1
  523. package/dist/interface/assets/esm-KJSOz2vj.js +0 -1
  524. package/dist/interface/assets/esm-Ryfc94Tm.js +0 -1
  525. package/dist/interface/assets/esm-rSfI5Poy.js +0 -1
  526. package/dist/interface/assets/eye-off-outline-DCxLRGo_.js +0 -1
  527. package/dist/interface/assets/main-C796FmqQ.js +0 -3
  528. package/dist/interface/assets/mqtt-DGBPptzB.js +0 -1
  529. package/dist/interface/assets/native-CZJE8bTs.js +0 -1
  530. package/dist/interface/assets/native-DKZwialB.js +0 -1
  531. package/dist/interface/assets/plugin-DSEMkqaK.js +0 -1
  532. package/dist/interface/assets/server-bhW2Mw4D.js +0 -1
  533. package/dist/interface/assets/types-BcAxmlqC.js +0 -1
  534. package/dist/interface/assets/ungrouped-BnQIcSQd.css +0 -1
  535. package/dist/interface/assets/ungrouped-CkIlDUwl.js +0 -1
  536. package/dist/interface/assets/updates-D3x_kPMM.js +0 -1
  537. package/dist/interface/assets/useBackupRestore-xp5KhKVn.js +0 -1
  538. package/dist/interface/assets/useKeyboardInset-C0Lp0UcX.js +0 -1
  539. package/dist/interface/assets/useUserOptions-BQdOB-Dp.js +0 -1
  540. package/dist/interface/assets/vendor-gFkr2qsZ.js +0 -23
  541. package/dist/interface/assets/vendor-leaflet-DkAk6mAj.js +0 -1
  542. package/dist/interface/assets/web-BDNQnMmA.js +0 -1
  543. package/dist/interface/assets/web-B_9Qyt8E.js +0 -1
  544. package/dist/interface/assets/web-BhJykCtq.js +0 -1
  545. package/dist/interface/assets/web-BjKL51lK-wWFeZlLg.js +0 -1
  546. package/dist/interface/assets/web-C7nJwIOa.js +0 -1
  547. package/dist/interface/assets/web-CGJsJQDb.js +0 -1
  548. package/dist/interface/assets/web-CJwASxrl.js +0 -1
  549. package/dist/interface/assets/web-CLe0L31Y.js +0 -1
  550. package/dist/interface/assets/web-DEv1hAn1.js +0 -1
  551. package/dist/interface/assets/web-DaeQvsXT.js +0 -1
  552. package/dist/interface/assets/web-H3-wNunW.js +0 -1
  553. package/dist/interface/assets/web-LCdyqJq1.js +0 -1
  554. package/dist/interface/assets/web-XZWYTK65.js +0 -1
  555. package/dist/interface/assets/web-rU5hlxxW.js +0 -1
  556. package/dist/interface/assets/workbox-window.prod.es5-BEYAF-e-.js +0 -1
  557. package/dist/interface/ha/Camera-C28q_3pu.js +0 -657
  558. package/dist/interface/ha/Training-OB2KOQ7L.js +0 -1694
  559. package/dist/interface/ha/Workers-cJMI4mYX.js +0 -765
  560. package/dist/interface/ha/eye-off-outline-ACbzsGuK.js +0 -19
@@ -3,18 +3,18 @@ import { G as t, H as n, I as r, Jt as i, M as a, Wt as o, Y as s, _t as c, d as
3
3
  import { t as ee } from "./tooltip-BDrlgLof.js";
4
4
  import { t as te } from "./message-D6dIy_hz.js";
5
5
  import { t as ne } from "./tag-mchuCAPR.js";
6
- import { $i as w, An as re, Bi as T, Ci as E, Dt as ie, Er as D, Et as ae, F as O, I as oe, Ot as se, P as k, Si as A, Tt as ce, Ui as le, Xi as ue, a as de, bi as j, gt as fe, la as pe, n as me, ni as he, r as M, ra as ge, ta as N, ut as _e, wr as ve, yt as ye } from "./api-D2VzV4is.js";
6
+ import { An as re, Dt as ie, Er as ae, Et as oe, F as w, Gi as se, Hi as T, I as ce, Or as le, Ot as ue, P as E, Qi as D, Si as O, Ti as k, Tt as de, a as fe, aa as A, da as pe, ft as me, gt as he, ii as ge, n as j, r as M, ra as _e, ta as N, wi as ve, yt as ye } from "./api-DUqpDJ2N.js";
7
7
  import { i as be, o as xe } from "./intercomService-B7HkLs6z.js";
8
- import { C as Se, F as P } from "./pinia-BokSpDzj.js";
8
+ import { C as Se, F as P } from "./pinia-DIKO5lnE.js";
9
9
  import { n as Ce } from "./vue-i18n-D5EAy78K.js";
10
10
  import { t as we } from "./button-BouAFgf5.js";
11
11
  import { t as Te } from "./inputtext-C_ygnPrC.js";
12
12
  import { t as Ee } from "./select-DV7p2EDj.js";
13
13
  import { t as De } from "./multiselect-BOb4ScAZ.js";
14
14
  import { t as Oe } from "./information-outline-DSSRyysT.js";
15
- import { t as ke } from "./CuiQRCode-oe8PLnLj.js";
16
- import { t as Ae } from "./server-hCCjQjZE.js";
17
- import { t as je } from "./api-CDawdL4p.js";
15
+ import { t as ke } from "./CuiQRCode-BNuj-nJ4.js";
16
+ import { t as Ae } from "./server-dArenpJI.js";
17
+ import { t as je } from "./api-gId1nlMj.js";
18
18
  //#region src/connection/endpointScope.ts
19
19
  var Me = /^(10\.|127\.|192\.168\.|169\.254\.|172\.(1[6-9]|2\d|3[01])\.)/, Ne = /^f[cd][0-9a-f]{2}:/, F = [
20
20
  ".local",
@@ -100,72 +100,72 @@ function qe(e, t) {
100
100
  var Je = c({
101
101
  name: "mdi-earth",
102
102
  render: qe
103
- }), Ye = {
103
+ }), L = {
104
104
  viewBox: "0 0 24 24",
105
105
  width: "1.2em",
106
106
  height: "1.2em"
107
107
  };
108
- function L(e, t) {
109
- return n(), g("svg", Ye, [...t[0] ||= [v("path", {
108
+ function R(e, t) {
109
+ return n(), g("svg", L, [...t[0] ||= [v("path", {
110
110
  fill: "currentColor",
111
111
  d: "M10 2c-1.11 0-2 .89-2 2v3c0 1.11.89 2 2 2h1v2H2v2h4v2H5c-1.11 0-2 .89-2 2v3c0 1.11.89 2 2 2h4c1.11 0 2-.89 2-2v-3c0-1.11-.89-2-2-2H8v-2h8v2h-1c-1.11 0-2 .89-2 2v3c0 1.11.89 2 2 2h4c1.11 0 2-.89 2-2v-3c0-1.11-.89-2-2-2h-1v-2h4v-2h-9V9h1c1.11 0 2-.89 2-2V4c0-1.11-.89-2-2-2zm0 2h4v3h-4zM5 17h4v3H5zm10 0h4v3h-4z"
112
112
  }, null, -1)]]);
113
113
  }
114
- var Xe = c({
114
+ var Ye = c({
115
115
  name: "mdi-lan",
116
- render: L
116
+ render: R
117
117
  });
118
118
  //#endregion
119
119
  //#region src/api/routes/remote.ts
120
- async function Ze({ signal: e }) {
121
- return (await w.get("/remote", { signal: e })).data;
120
+ async function Xe({ signal: e }) {
121
+ return (await N.get("/remote", { signal: e })).data;
122
122
  }
123
- async function Qe(e) {
124
- return (await w.patch("/remote", e)).data;
125
- }
126
- async function $e(e) {
127
- return (await w.post("/remote/pair/init", e ? { name: e } : {})).data;
123
+ async function Ze(e) {
124
+ return (await N.patch("/remote", e)).data;
128
125
  }
129
- async function et({ name: e } = {}) {
130
- return (await w.post("/remote/pair/poll", e ? { name: e } : {})).data;
126
+ async function Qe(e) {
127
+ return (await N.post("/remote/pair/init", e ? { name: e } : {})).data;
131
128
  }
132
- async function tt() {
133
- await w.delete("/remote/unregister");
129
+ async function $e({ name: e } = {}) {
130
+ return (await N.post("/remote/pair/poll", e ? { name: e } : {})).data;
134
131
  }
135
- async function nt({ signal: e }) {
136
- return (await w.get("/remote/status", { signal: e })).data;
132
+ async function et() {
133
+ await N.delete("/remote/unregister");
137
134
  }
138
- async function rt(e) {
139
- await w.patch("/remote/name", { name: e });
135
+ async function tt({ signal: e }) {
136
+ return (await N.get("/remote/status", { signal: e })).data;
140
137
  }
141
- async function it({ signal: e }) {
142
- return (await w.get("/remote/tunnel", { signal: e })).data;
138
+ async function nt(e) {
139
+ await N.patch("/remote/name", { name: e });
143
140
  }
144
- async function R({ signal: e } = {}) {
145
- return (await w.get("/remote/connection-info", { signal: e })).data;
141
+ async function rt({ signal: e }) {
142
+ return (await N.get("/remote/tunnel", { signal: e })).data;
146
143
  }
147
- async function z(e) {
148
- return (await w.post(`/remote/test/${e}`)).data;
144
+ async function z({ signal: e } = {}) {
145
+ return (await N.get("/remote/connection-info", { signal: e })).data;
149
146
  }
150
- async function B({ signal: e } = {}) {
151
- return (await w.get("/remote/cloudflare/managed/status", { signal: e })).data;
147
+ async function B(e) {
148
+ return (await N.post(`/remote/test/${e}`)).data;
152
149
  }
153
- async function V(e) {
154
- await w.post("/remote/cloudflare/managed/connect", { hostname: e });
150
+ async function V({ signal: e } = {}) {
151
+ return (await N.get("/remote/cloudflare/managed/status", { signal: e })).data;
155
152
  }
156
- async function H() {
157
- await w.post("/remote/cloudflare/managed/cancel");
153
+ async function H(e) {
154
+ await N.post("/remote/cloudflare/managed/connect", { hostname: e });
158
155
  }
159
156
  async function U() {
160
- await w.post("/remote/cloudflare/managed/disconnect");
157
+ await N.post("/remote/cloudflare/managed/cancel");
161
158
  }
162
159
  async function W() {
163
- await w.post("/remote/cloudflare/managed/logout");
160
+ await N.post("/remote/cloudflare/managed/disconnect");
161
+ }
162
+ async function G() {
163
+ await N.post("/remote/cloudflare/managed/logout");
164
164
  }
165
- var at = class {
165
+ var it = class {
166
166
  _queryClient = T();
167
167
  t = pe.global.t;
168
- toast = A();
168
+ toast = ve();
169
169
  queryActivator = S([
170
170
  {
171
171
  name: "getRemoteInfoQuery",
@@ -192,16 +192,16 @@ var at = class {
192
192
  return this._queryClient;
193
193
  }
194
194
  getRemoteInfoQuery() {
195
- return j({
195
+ return O({
196
196
  queryKey: ["remote"],
197
- queryFn: ({ signal: e }) => Ze({ signal: e }),
197
+ queryFn: ({ signal: e }) => Xe({ signal: e }),
198
198
  enabled: () => this.queryActivator.value.some((e) => e.name === "getRemoteInfoQuery" && e.enabled),
199
199
  staleTime: 1e3
200
200
  });
201
201
  }
202
202
  patchRemoteInfoQuery() {
203
- return E({
204
- mutationFn: Qe,
203
+ return k({
204
+ mutationFn: Ze,
205
205
  onSuccess: async () => {
206
206
  await this._queryClient.refetchQueries({
207
207
  queryKey: ["remote"],
@@ -215,19 +215,19 @@ var at = class {
215
215
  });
216
216
  }
217
217
  getRegistrationStatusQuery() {
218
- return j({
218
+ return O({
219
219
  queryKey: ["remote", "status"],
220
- queryFn: ({ signal: e }) => nt({ signal: e }),
220
+ queryFn: ({ signal: e }) => tt({ signal: e }),
221
221
  enabled: () => this.queryActivator.value.some((e) => e.name === "getRegistrationStatusQuery" && e.enabled),
222
222
  staleTime: 1e3
223
223
  });
224
224
  }
225
225
  pairInitMutation() {
226
- return E({ mutationFn: $e });
226
+ return k({ mutationFn: Qe });
227
227
  }
228
228
  pairPollMutation() {
229
- return E({
230
- mutationFn: et,
229
+ return k({
230
+ mutationFn: $e,
231
231
  onSuccess: async (e) => {
232
232
  e.state === "confirmed" && (await this._queryClient.refetchQueries({
233
233
  queryKey: ["remote"],
@@ -244,8 +244,8 @@ var at = class {
244
244
  });
245
245
  }
246
246
  unregisterServerQuery() {
247
- return E({
248
- mutationFn: tt,
247
+ return k({
248
+ mutationFn: et,
249
249
  onSuccess: async () => {
250
250
  await this._queryClient.refetchQueries({
251
251
  queryKey: ["remote"],
@@ -262,17 +262,17 @@ var at = class {
262
262
  });
263
263
  }
264
264
  getTunnelStatusQuery() {
265
- return j({
265
+ return O({
266
266
  queryKey: ["remote", "tunnel"],
267
- queryFn: ({ signal: e }) => it({ signal: e }),
267
+ queryFn: ({ signal: e }) => rt({ signal: e }),
268
268
  enabled: () => this.queryActivator.value.some((e) => e.name === "getTunnelStatusQuery" && e.enabled),
269
269
  refetchInterval: 3e4,
270
270
  staleTime: 1e4
271
271
  });
272
272
  }
273
273
  updateServerNameQuery() {
274
- return E({
275
- mutationFn: rt,
274
+ return k({
275
+ mutationFn: nt,
276
276
  onSuccess: async () => {
277
277
  await this._queryClient.refetchQueries({
278
278
  queryKey: ["remote", "status"],
@@ -286,24 +286,24 @@ var at = class {
286
286
  });
287
287
  }
288
288
  getConnectionInfoQuery() {
289
- return j({
289
+ return O({
290
290
  queryKey: ["remote", "connection-info"],
291
- queryFn: ({ signal: e }) => R({ signal: e }),
291
+ queryFn: ({ signal: e }) => z({ signal: e }),
292
292
  enabled: () => this.queryActivator.value.some((e) => e.name === "getConnectionInfoQuery" && e.enabled),
293
293
  refetchInterval: 1e4
294
294
  });
295
295
  }
296
296
  testRemoteModeMutation() {
297
- return E({ mutationFn: z });
297
+ return k({ mutationFn: B });
298
298
  }
299
299
  getCloudflareManagedStatusQuery() {
300
- return j({
300
+ return O({
301
301
  queryKey: [
302
302
  "remote",
303
303
  "cloudflare",
304
304
  "managed"
305
305
  ],
306
- queryFn: ({ signal: e }) => B({ signal: e }),
306
+ queryFn: ({ signal: e }) => V({ signal: e }),
307
307
  enabled: () => this.queryActivator.value.some((e) => e.name === "getCloudflareManagedStatusQuery" && e.enabled),
308
308
  refetchInterval: (e) => {
309
309
  let t = e.state.data?.state;
@@ -314,8 +314,8 @@ var at = class {
314
314
  });
315
315
  }
316
316
  cloudflareManagedConnectMutation() {
317
- return E({
318
- mutationFn: V,
317
+ return k({
318
+ mutationFn: H,
319
319
  onSuccess: async () => {
320
320
  await this._queryClient.refetchQueries({
321
321
  queryKey: [
@@ -329,8 +329,8 @@ var at = class {
329
329
  });
330
330
  }
331
331
  cloudflareManagedCancelMutation() {
332
- return E({
333
- mutationFn: H,
332
+ return k({
333
+ mutationFn: U,
334
334
  onSuccess: async () => {
335
335
  await this._queryClient.refetchQueries({
336
336
  queryKey: [
@@ -344,8 +344,8 @@ var at = class {
344
344
  });
345
345
  }
346
346
  cloudflareManagedDisconnectMutation() {
347
- return E({
348
- mutationFn: U,
347
+ return k({
348
+ mutationFn: W,
349
349
  onSuccess: async () => {
350
350
  await this._queryClient.refetchQueries({
351
351
  queryKey: ["remote"],
@@ -362,8 +362,8 @@ var at = class {
362
362
  });
363
363
  }
364
364
  cloudflareManagedLogoutMutation() {
365
- return E({
366
- mutationFn: W,
365
+ return k({
366
+ mutationFn: G,
367
367
  onSuccess: async () => {
368
368
  await this._queryClient.refetchQueries({
369
369
  queryKey: ["remote"],
@@ -383,20 +383,20 @@ var at = class {
383
383
  let n = this.queryActivator.value.find((t) => t.name === e);
384
384
  return n && (n.enabled = t), this;
385
385
  }
386
- }, G = { class: "flex flex-col gap-6" }, K = { class: "flex flex-col field-gap" }, q = { class: "section-chip" }, ot = { class: "text-sm font-bold text-color" }, st = { class: "flex flex-col field-gap" }, ct = { class: "section-chip" }, J = { class: "text-sm text-color" }, Y = { class: "flex flex-col field-gap" }, X = { class: "section-chip" }, lt = {
386
+ }, at = { class: "flex flex-col gap-6" }, K = { class: "flex flex-col field-gap" }, q = { class: "section-chip" }, ot = { class: "text-sm font-bold text-color" }, st = { class: "flex flex-col field-gap" }, ct = { class: "section-chip" }, J = { class: "text-sm text-color" }, Y = { class: "flex flex-col field-gap" }, X = { class: "section-chip" }, lt = {
387
387
  key: 0,
388
388
  class: "text-sm text-muted"
389
389
  }, ut = {
390
390
  key: 1,
391
391
  class: "flex flex-col gap-2"
392
- }, Z = { class: "flex flex-col min-w-0" }, dt = { class: "text-sm text-color" }, ft = { class: "text-xs text-muted break-all" }, pt = /* @__PURE__ */ x({
392
+ }, dt = { class: "flex flex-col min-w-0" }, Z = { class: "text-sm text-color" }, ft = { class: "text-xs text-muted break-all" }, pt = /* @__PURE__ */ x({
393
393
  __name: "ConnectionDetails",
394
394
  props: {
395
395
  currentType: {},
396
396
  currentAddress: {}
397
397
  },
398
398
  setup(e, { expose: r }) {
399
- let a = e, s = new je(), c = A(), { t: l } = Ce(), { data: u } = s.apiInfoQuery(), d = ge() ? N() : void 0, h = me(), y = p(() => d?.attempts.rounds.value[0]), x = p(() => d?.target.value?.endpoint.url ?? l("components.connection_details.no_target")), S = p(() => {
399
+ let a = e, s = new je(), c = ve(), { t: l } = Ce(), { data: u } = s.apiInfoQuery(), d = A() ? _e() : void 0, h = j(), y = p(() => d?.attempts.rounds.value[0]), x = p(() => d?.target.value?.endpoint.url ?? l("components.connection_details.no_target")), S = p(() => {
400
400
  let e = d?.target.value?.endpoint;
401
401
  return e ? ne(e) : l("components.connection_details.no_target");
402
402
  }), ee = p(() => y.value?.attempts.map((e) => ({
@@ -409,19 +409,19 @@ var at = class {
409
409
  function ne(e) {
410
410
  return Ie(e, h) ? l("components.connection_details.mode_lan") : l("components.connection_details.mode_wan");
411
411
  }
412
- function w(e) {
412
+ function re(e) {
413
413
  return e.outcome === "connected" && e.url === x.value;
414
414
  }
415
- function re(e) {
416
- return w(e) ? "bg-green-500" : e.outcome === "failed" ? "bg-red-500" : "bg-neutral-400";
415
+ function ie(e) {
416
+ return re(e) ? "bg-green-500" : e.outcome === "failed" ? "bg-red-500" : "bg-neutral-400";
417
417
  }
418
- function T(e) {
418
+ function ae(e) {
419
419
  return e.durationMs === void 0 ? "…" : e.durationMs >= 1e3 ? `${(e.durationMs / 1e3).toFixed(1)} s` : `${e.durationMs} ms`;
420
420
  }
421
- function E(e) {
422
- return w(e) ? l("components.connection_details.outcome_connected") : e.outcome === "connected" ? l("components.connection_details.outcome_reachable") : e.outcome === "superseded" ? l("components.connection_details.outcome_superseded") : e.outcome === "pending" ? l("components.connection_details.outcome_pending") : e.reason?.includes("timeout") ? l("components.connection_details.outcome_timeout") : e.reason ?? l("components.connection_details.outcome_failed");
421
+ function oe(e) {
422
+ return re(e) ? l("components.connection_details.outcome_connected") : e.outcome === "connected" ? l("components.connection_details.outcome_reachable") : e.outcome === "superseded" ? l("components.connection_details.outcome_superseded") : e.outcome === "pending" ? l("components.connection_details.outcome_pending") : e.reason?.includes("timeout") ? l("components.connection_details.outcome_timeout") : e.reason ?? l("components.connection_details.outcome_failed");
423
423
  }
424
- async function ie() {
424
+ async function w() {
425
425
  let e = [
426
426
  (/* @__PURE__ */ new Date()).toISOString(),
427
427
  `camera.ui ${u.value?.version ?? "?"}`,
@@ -430,7 +430,7 @@ var at = class {
430
430
  `server sees: ${a.currentType} ${a.currentAddress}`,
431
431
  ""
432
432
  ];
433
- for (let t of ee.value) e.push(`${w(t) ? "+" : "-"} ${t.modeLabel} ${t.url} ${T(t)} ${E(t)}`);
433
+ for (let t of ee.value) e.push(`${re(t) ? "+" : "-"} ${t.modeLabel} ${t.url} ${ae(t)} ${oe(t)}`);
434
434
  if (y.value?.reason && e.push("", y.value.reason), await M(e.join("\n"))) {
435
435
  c.add({
436
436
  severity: "success",
@@ -445,9 +445,9 @@ var at = class {
445
445
  life: 3e3
446
446
  }), null;
447
447
  }
448
- return r({ onConfirm: ie }), (r, a) => {
448
+ return r({ onConfirm: w }), (r, a) => {
449
449
  let s = te;
450
- return n(), g("div", G, [
450
+ return n(), g("div", at, [
451
451
  v("div", K, [
452
452
  v("span", q, i(r.$t("components.connection_details.current")), 1),
453
453
  v("span", ot, i(f(S)), 1),
@@ -477,12 +477,12 @@ var at = class {
477
477
  v("div", Y, [v("span", X, i(r.$t("components.connection_details.last_attempt")), 1), f(ee).length === 0 ? (n(), g("p", lt, i(r.$t("components.connection_details.no_attempts")), 1)) : (n(), g("div", ut, [(n(!0), g(_, null, t(f(ee), (e) => (n(), g("div", {
478
478
  key: e.url,
479
479
  class: "flex items-start gap-3"
480
- }, [v("span", { class: o(["mt-1.5 w-2 h-2 rounded-full shrink-0", re(e)]) }, null, 2), v("div", Z, [v("span", dt, [
480
+ }, [v("span", { class: o(["mt-1.5 w-2 h-2 rounded-full shrink-0", ie(e)]) }, null, 2), v("div", dt, [v("span", Z, [
481
481
  b(i(e.modeLabel) + " ", 1),
482
482
  a[0] ||= v("span", { class: "text-muted" }, "·", -1),
483
- b(" " + i(T(e)) + " ", 1),
483
+ b(" " + i(ae(e)) + " ", 1),
484
484
  a[1] ||= v("span", { class: "text-muted" }, "·", -1),
485
- b(" " + i(E(e)), 1)
485
+ b(" " + i(oe(e)), 1)
486
486
  ]), v("span", ft, i(e.url), 1)])]))), 128))]))])
487
487
  ]);
488
488
  };
@@ -559,20 +559,23 @@ var at = class {
559
559
  }, Un = {
560
560
  for: "localUrl",
561
561
  class: "cui-label"
562
- }, Wn = /*#__PURE__*/ D(/* @__PURE__ */ x({
562
+ }, Wn = /*#__PURE__*/ le(/* @__PURE__ */ x({
563
563
  __name: "SettingsRemote",
564
564
  setup(t) {
565
- let c = new Ae(), x = new at(), w = xe(), T = fe(), E = A(), { t: D } = Ce(), { endpoint: j, isOnline: pe } = le(), { data: me, isBusy: ge } = c.getServerInfoQuery(), { data: N, isBusy: Se } = x.getRemoteInfoQuery(), { data: P, isBusy: je } = x.getRegistrationStatusQuery(), { data: Me, isLoading: Ne } = x.getTunnelStatusQuery(), { data: F } = x.getConnectionInfoQuery(), { mutateAsync: Pe, isPending: Fe } = c.patchSystemInfoQuery(), { mutateAsync: I, isPending: Ie } = x.patchRemoteInfoQuery(), { mutateAsync: Le, isPending: Re } = x.pairInitMutation(), { mutateAsync: Be } = x.pairPollMutation(), { mutateAsync: Ve, isPending: Ue } = x.unregisterServerQuery(), { mutateAsync: We, isPending: Ke } = x.updateServerNameQuery(), { mutateAsync: qe, isPending: Ye } = x.testRemoteModeMutation(), { data: L } = x.getCloudflareManagedStatusQuery(), { mutateAsync: Ze, isPending: Qe } = x.cloudflareManagedConnectMutation(), { mutateAsync: $e, isPending: et } = x.cloudflareManagedCancelMutation(), { mutateAsync: tt, isPending: nt } = x.cloudflareManagedDisconnectMutation(), { mutateAsync: rt, isPending: it } = x.cloudflareManagedLogoutMutation(), R = S(), z = S(), B = S(""), V = S(""), H = S("quick"), U = S(""), W = S(""), G = S(!1), K = S(null), q = S(""), ot = S(null), st = S(2), ct = S(""), J = null, Y = null, X = p(() => Fe.value || Ie.value || ge.value || Se.value || je.value || Ue.value), lt = p(() => !!(z.value?.enabled || z.value?.directEnabled)), ut = p(() => N.value?.directOverride ?? {
565
+ let c = new Ae(), x = new it(), T = xe(), le = he(), O = ve(), { t: k } = Ce(), { endpoint: A, isOnline: pe } = se(), { data: j, isBusy: _e } = c.getServerInfoQuery(), { data: N, isBusy: Se } = x.getRemoteInfoQuery(), { data: P, isBusy: je } = x.getRegistrationStatusQuery(), { data: Me, isLoading: Ne } = x.getTunnelStatusQuery(), { data: F } = x.getConnectionInfoQuery(), { mutateAsync: Pe, isPending: Fe } = c.patchSystemInfoQuery(), { mutateAsync: I, isPending: Ie } = x.patchRemoteInfoQuery(), { mutateAsync: Le, isPending: Re } = x.pairInitMutation(), { mutateAsync: Be } = x.pairPollMutation(), { mutateAsync: Ve, isPending: Ue } = x.unregisterServerQuery(), { mutateAsync: We, isPending: Ke } = x.updateServerNameQuery(), { mutateAsync: qe, isPending: L } = x.testRemoteModeMutation(), { data: R } = x.getCloudflareManagedStatusQuery(), { mutateAsync: Xe, isPending: Ze } = x.cloudflareManagedConnectMutation(), { mutateAsync: Qe, isPending: $e } = x.cloudflareManagedCancelMutation(), { mutateAsync: et, isPending: tt } = x.cloudflareManagedDisconnectMutation(), { mutateAsync: nt, isPending: rt } = x.cloudflareManagedLogoutMutation(), z = S(), B = S(), V = S(""), H = S(""), U = S("quick"), W = S(""), G = S(""), at = S(!1), K = S(null), q = S(""), ot = S(null), st = S(2), ct = S(""), J = null, Y = null, X = p(() => Fe.value || Ie.value || _e.value || Se.value || je.value || Ue.value), lt = p(() => {
566
+ let e = j.value?.availableAddresses ?? [], t = (j.value?.serverAddresses ?? []).filter((t) => !e.some((e) => e.address === t));
567
+ return [...e, ...t.map((e) => ({ address: e }))];
568
+ }), ut = p(() => !!(B.value?.enabled || B.value?.directEnabled)), dt = p(() => N.value?.directOverride ?? {
566
569
  active: !1,
567
570
  fallback: !1
568
- }), Z = p(() => P.value?.isRegistered ?? !1), dt = p(() => P.value?.needsReauth ?? !1), ft = p(() => !X.value), Wn = p(() => {
569
- if (!ft.value) return !1;
570
- let e = B.value.trim();
571
+ }), Z = p(() => P.value?.isRegistered ?? !1), ft = p(() => P.value?.needsReauth ?? !1), Wn = p(() => !X.value), Gn = p(() => {
572
+ if (!Wn.value) return !1;
573
+ let e = V.value.trim();
571
574
  return !e || e.length > 100 ? !1 : e !== (P.value?.serverName ?? "");
572
- }), Gn = p(() => {
573
- if (!z.value) return !1;
574
- if (z.value.directMode === "customDomain") {
575
- let e = V.value.trim();
575
+ }), Kn = p(() => {
576
+ if (!B.value) return !1;
577
+ if (B.value.directMode === "customDomain") {
578
+ let e = H.value.trim();
576
579
  if (!e) return !1;
577
580
  try {
578
581
  new URL(e);
@@ -581,85 +584,85 @@ var at = class {
581
584
  }
582
585
  return e !== (N.value?.remoteSettings.customDomain.url ?? "");
583
586
  }
584
- if (z.value.directMode === "cloudflare") {
585
- let e = N.value?.remoteSettings.cloudflare, t = N.value?.remoteSettings.directMode !== "cloudflare", n = H.value;
587
+ if (B.value.directMode === "cloudflare") {
588
+ let e = N.value?.remoteSettings.cloudflare, t = N.value?.remoteSettings.directMode !== "cloudflare", n = U.value;
586
589
  if (n === "quick") return t || e?.mode !== "quick";
587
- let r = U.value.trim();
590
+ let r = W.value.trim();
588
591
  if (!r || !/^[a-z0-9.-]+\.[a-z]{2,}$/i.test(r)) return !1;
589
592
  if (n === "token") {
590
- let n = W.value.trim();
591
- if (!n && !G.value) return !1;
593
+ let n = G.value.trim();
594
+ if (!n && !at.value) return !1;
592
595
  let i = n.length > 0;
593
596
  return t || e?.mode !== "token" || e?.hostname !== r || i;
594
597
  }
595
598
  return n === "managed" ? t || e?.mode !== "managed" || e?.hostname !== r : !1;
596
599
  }
597
- return z.value.directMode !== N.value?.remoteSettings.directMode;
598
- }), Kn = p(() => [{
600
+ return B.value.directMode !== N.value?.remoteSettings.directMode;
601
+ }), qn = p(() => [{
599
602
  value: "cloudflare",
600
- label: D("components.form.label.cloudflare"),
601
- description: D("components.form.hint.cloudflare_mode_info")
603
+ label: k("components.form.label.cloudflare"),
604
+ description: k("components.form.hint.cloudflare_mode_info")
602
605
  }, {
603
606
  value: "customDomain",
604
- label: D("components.form.label.custom_domain"),
605
- description: D("components.form.hint.custom_domain_mode_info")
606
- }]), qn = p(() => Kn.value.find((e) => e.value === z.value?.directMode)?.description ?? ""), Jn = p(() => [
607
+ label: k("components.form.label.custom_domain"),
608
+ description: k("components.form.hint.custom_domain_mode_info")
609
+ }]), Jn = p(() => qn.value.find((e) => e.value === B.value?.directMode)?.description ?? ""), Yn = p(() => [
607
610
  {
608
611
  value: "quick",
609
- label: D("components.form.label.cloudflare_variant_quick"),
610
- description: D("components.form.hint.cloudflare_variant_quick")
612
+ label: k("components.form.label.cloudflare_variant_quick"),
613
+ description: k("components.form.hint.cloudflare_variant_quick")
611
614
  },
612
615
  {
613
616
  value: "token",
614
- label: D("components.form.label.cloudflare_variant_token"),
615
- description: D("components.form.hint.cloudflare_variant_token")
617
+ label: k("components.form.label.cloudflare_variant_token"),
618
+ description: k("components.form.hint.cloudflare_variant_token")
616
619
  },
617
620
  {
618
621
  value: "managed",
619
- label: D("components.form.label.cloudflare_variant_managed"),
620
- description: D("components.form.hint.cloudflare_variant_managed")
622
+ label: k("components.form.label.cloudflare_variant_managed"),
623
+ description: k("components.form.hint.cloudflare_variant_managed")
621
624
  }
622
- ]), Yn = p(() => Jn.value.find((e) => e.value === H.value)?.description ?? ""), Xn = p(() => {
623
- if (H.value === "quick") return !0;
625
+ ]), Xn = p(() => Yn.value.find((e) => e.value === U.value)?.description ?? ""), Zn = p(() => {
626
+ if (U.value === "quick") return !0;
624
627
  let e = N.value?.remoteSettings.cloudflare;
625
- return e?.mode === H.value && !!e?.hostname;
626
- }), Q = p(() => L.value?.state ?? "idle"), Zn = p(() => {
628
+ return e?.mode === U.value && !!e?.hostname;
629
+ }), Q = p(() => R.value?.state ?? "idle"), Qn = p(() => {
627
630
  if (Q.value !== "idle") return !1;
628
- let e = U.value.trim();
631
+ let e = W.value.trim();
629
632
  return !!e && /^[a-z0-9.-]+\.[a-z]{2,}$/i.test(e);
630
- }), Qn = p(() => {
631
- let e = F.value?.currentConnection.type ?? "lan";
632
- return D(`views.settings.connection_type.${e}`);
633
633
  }), $n = p(() => {
634
- let e = F.value?.currentConnection.type;
635
- return e === "external" ? Je : e === "local" ? Ge : Xe;
634
+ let e = F.value?.currentConnection.type ?? "lan";
635
+ return k(`views.settings.connection_type.${e}`);
636
636
  }), er = p(() => {
637
+ let e = F.value?.currentConnection.type;
638
+ return e === "external" ? Je : e === "local" ? Ge : Ye;
639
+ }), tr = p(() => {
637
640
  let e = F.value?.currentConnection.type;
638
641
  return e === "external" ? "text-info" : e === "local" ? "text-primary" : "text-success";
639
642
  });
640
- function tr() {
641
- T.openComponentDialog(pt, { data: {
642
- title: D("components.connection_details.title"),
643
- confirmText: D("components.connection_details.copy"),
644
- cancelText: D("components.form.button.close"),
643
+ function nr() {
644
+ le.openComponentDialog(pt, { data: {
645
+ title: k("components.connection_details.title"),
646
+ confirmText: k("components.connection_details.copy"),
647
+ cancelText: k("components.form.button.close"),
645
648
  contentProps: {
646
- currentType: Qn,
649
+ currentType: $n,
647
650
  currentAddress: p(() => F.value?.currentConnection.address ?? "")
648
651
  }
649
652
  } });
650
653
  }
651
- async function nr() {
652
- let e = B.value.trim();
654
+ async function rr() {
655
+ let e = V.value.trim();
653
656
  if (e) try {
654
657
  await We(e);
655
658
  } catch {}
656
659
  }
657
- function rr() {
658
- T.openTextDialog({
660
+ function ir() {
661
+ le.openTextDialog({
659
662
  data: {
660
- title: D("components.dialog.title.unregister_server"),
661
- confirmText: D("components.form.button.unregister"),
662
- contentText: D("components.dialog.message.confirm_unregister_server"),
663
+ title: k("components.dialog.title.unregister_server"),
664
+ confirmText: k("components.form.button.unregister"),
665
+ contentText: k("components.dialog.message.confirm_unregister_server"),
663
666
  loading: X
664
667
  },
665
668
  onConfirm: async () => {
@@ -669,108 +672,108 @@ var at = class {
669
672
  }
670
673
  });
671
674
  }
672
- function ir() {
675
+ function ar() {
673
676
  J &&= (clearTimeout(J), null), Y &&= (clearInterval(Y), null);
674
677
  }
675
678
  function $() {
676
- ir(), K.value = null, q.value = "", ot.value = null, ct.value = "";
679
+ ar(), K.value = null, q.value = "", ot.value = null, ct.value = "";
677
680
  }
678
- function ar(e) {
681
+ function or(e) {
679
682
  let t = Math.max(0, Math.floor(e / 1e3));
680
683
  return `${Math.floor(t / 60)}:${(t % 60).toString().padStart(2, "0")}`;
681
684
  }
682
- function or() {
685
+ function sr() {
683
686
  Y && clearInterval(Y);
684
687
  let e = () => {
685
688
  if (!ot.value) return;
686
689
  let e = ot.value - Date.now();
687
690
  if (e <= 0) {
688
- $(), E.add({
691
+ $(), O.add({
689
692
  severity: "warn",
690
- detail: D("components.toast.pair_expired"),
693
+ detail: k("components.toast.pair_expired"),
691
694
  life: 3e3
692
695
  });
693
696
  return;
694
697
  }
695
- ct.value = ar(e);
698
+ ct.value = or(e);
696
699
  };
697
700
  e(), Y = setInterval(e, 1e3);
698
701
  }
699
- function sr() {
700
- J && clearTimeout(J), J = setTimeout(cr, st.value * 1e3);
702
+ function cr() {
703
+ J && clearTimeout(J), J = setTimeout(lr, st.value * 1e3);
701
704
  }
702
- async function cr() {
705
+ async function lr() {
703
706
  if (!K.value) return;
704
707
  let e = K.value;
705
708
  try {
706
- let t = await Be({ name: B.value.trim() || void 0 });
709
+ let t = await Be({ name: V.value.trim() || void 0 });
707
710
  if (!K.value || K.value !== e) return;
708
711
  if (t.state === "confirmed") {
709
712
  $();
710
713
  return;
711
714
  }
712
715
  if (t.state === "expired") {
713
- $(), E.add({
716
+ $(), O.add({
714
717
  severity: "warn",
715
- detail: D("components.toast.pair_expired"),
718
+ detail: k("components.toast.pair_expired"),
716
719
  life: 3e3
717
720
  });
718
721
  return;
719
722
  }
720
723
  if (t.state === "denied") {
721
- $(), E.add({
724
+ $(), O.add({
722
725
  severity: "warn",
723
- detail: D("components.toast.pair_denied"),
726
+ detail: k("components.toast.pair_denied"),
724
727
  life: 3e3
725
728
  });
726
729
  return;
727
730
  }
728
- t.state === "slow_down" && (st.value = Math.min(st.value + 2, 10)), sr();
731
+ t.state === "slow_down" && (st.value = Math.min(st.value + 2, 10)), cr();
729
732
  } catch (t) {
730
733
  if (!K.value || K.value !== e) return;
731
- w.error("pair poll failed:", t), sr();
734
+ T.error("pair poll failed:", t), cr();
732
735
  }
733
736
  }
734
- async function lr() {
737
+ async function ur() {
735
738
  $();
736
739
  try {
737
- let e = B.value.trim();
740
+ let e = V.value.trim();
738
741
  if (e && e !== (P.value?.serverName ?? "")) try {
739
742
  await We(e);
740
743
  } catch {}
741
744
  let t = await Le(e || void 0);
742
- K.value = t.userCode, q.value = t.verificationUriComplete, ot.value = Date.now() + t.expiresIn * 1e3, st.value = Math.max(1, t.pollInterval), or(), sr();
745
+ K.value = t.userCode, q.value = t.verificationUriComplete, ot.value = Date.now() + t.expiresIn * 1e3, st.value = Math.max(1, t.pollInterval), sr(), cr();
743
746
  } catch (e) {
744
- E.add({
747
+ O.add({
745
748
  severity: "error",
746
749
  detail: e,
747
750
  life: 3e3
748
751
  });
749
752
  }
750
753
  }
751
- function ur() {
754
+ function dr() {
752
755
  $();
753
756
  }
754
- async function dr() {
757
+ async function fr() {
755
758
  if (K.value) try {
756
759
  await M(K.value);
757
760
  } catch {}
758
761
  }
759
- async function fr() {
762
+ async function pr() {
760
763
  if (q.value) try {
761
764
  await M(q.value);
762
765
  } catch {}
763
766
  }
764
- function pr() {
767
+ function mr() {
765
768
  q.value && window.open(q.value, "_blank", "noopener");
766
769
  }
767
- function mr(e) {
768
- let t = window.location.host === ue || !1, n;
769
- n = e ? "components.dialog.message.confirm_enable_cloud" : t ? "components.dialog.message.confirm_disable_cloud_remote" : "components.dialog.message.confirm_disable_cloud_local", T.openTextDialog({
770
+ function hr(e) {
771
+ let t = window.location.host === D || !1, n;
772
+ n = e ? "components.dialog.message.confirm_enable_cloud" : t ? "components.dialog.message.confirm_disable_cloud_remote" : "components.dialog.message.confirm_disable_cloud_local", le.openTextDialog({
770
773
  data: {
771
- title: D("components.dialog.title.confirm"),
772
- contentText: D(n),
773
- confirmText: D(e ? "components.form.button.enable" : "components.form.button.disable"),
774
+ title: k("components.dialog.title.confirm"),
775
+ contentText: k(n),
776
+ confirmText: k(e ? "components.form.button.enable" : "components.form.button.disable"),
774
777
  loading: X,
775
778
  confirmButtonProps: e ? void 0 : { severity: "danger" }
776
779
  },
@@ -778,27 +781,27 @@ var at = class {
778
781
  try {
779
782
  await I(e ? { enabled: !0 } : { enabled: !1 });
780
783
  } catch {
781
- z.value && (z.value.enabled = !e);
784
+ B.value && (B.value.enabled = !e);
782
785
  }
783
786
  },
784
787
  onCancel: () => {
785
- z.value && (z.value.enabled = !e);
788
+ B.value && (B.value.enabled = !e);
786
789
  }
787
790
  });
788
791
  }
789
- function hr(e) {
792
+ function gr(e) {
790
793
  I({ directEnabled: e }).catch(() => {
791
- z.value && (z.value.directEnabled = !e);
794
+ B.value && (B.value.directEnabled = !e);
792
795
  });
793
796
  }
794
- function gr(e) {
795
- z.value && (z.value.directMode = e);
796
- }
797
797
  function _r(e) {
798
- H.value = e;
798
+ B.value && (B.value.directMode = e);
799
+ }
800
+ function vr(e) {
801
+ U.value = e;
799
802
  }
800
- async function vr() {
801
- let e = U.value.trim();
803
+ async function yr() {
804
+ let e = W.value.trim();
802
805
  if (e) try {
803
806
  await I({
804
807
  directMode: "cloudflare",
@@ -806,72 +809,72 @@ var at = class {
806
809
  mode: "managed",
807
810
  hostname: e
808
811
  }
809
- }), await Ze(e);
812
+ }), await Xe(e);
810
813
  } catch {}
811
814
  }
812
- async function yr() {
815
+ async function br() {
813
816
  try {
814
- await $e();
817
+ await Qe();
815
818
  } catch {}
816
819
  }
817
- async function br() {
820
+ async function xr() {
818
821
  try {
819
- await tt();
822
+ await et();
820
823
  } catch {}
821
824
  }
822
- async function xr() {
825
+ async function Sr() {
823
826
  try {
824
- await rt();
827
+ await nt();
825
828
  } catch {}
826
829
  }
827
- async function Sr(e) {
830
+ async function Cr(e) {
828
831
  try {
829
832
  await M(e);
830
833
  } catch {}
831
834
  }
832
- function Cr(e) {
835
+ function wr(e) {
833
836
  window.open(e, "_blank", "noopener");
834
837
  }
835
- async function wr(e) {
838
+ async function Tr(e) {
836
839
  try {
837
840
  let t = await qe(e);
838
- t.ok ? E.add({
841
+ t.ok ? O.add({
839
842
  severity: "success",
840
- detail: D("components.toast.remote_test_success"),
843
+ detail: k("components.toast.remote_test_success"),
841
844
  life: 3e3
842
- }) : E.add({
845
+ }) : O.add({
843
846
  severity: "error",
844
- detail: D("components.toast.remote_test_failed", { message: t.message ?? "" }),
847
+ detail: k("components.toast.remote_test_failed", { message: t.message ?? "" }),
845
848
  life: 5e3
846
849
  });
847
850
  } catch (e) {
848
- E.add({
851
+ O.add({
849
852
  severity: "error",
850
- detail: D("components.toast.remote_test_failed", { message: e?.message ?? "" }),
853
+ detail: k("components.toast.remote_test_failed", { message: e?.message ?? "" }),
851
854
  life: 5e3
852
855
  });
853
856
  }
854
857
  }
855
- async function Tr(e) {
858
+ async function Er(e) {
856
859
  let t = { directMode: e.directMode };
857
- if (e.directMode === "customDomain") t.customDomain = { url: V.value.trim() };
860
+ if (e.directMode === "customDomain") t.customDomain = { url: H.value.trim() };
858
861
  else if (e.directMode === "cloudflare") {
859
- let e = H.value;
862
+ let e = U.value;
860
863
  if (e === "quick") t.cloudflare = {
861
864
  mode: "quick",
862
865
  hostname: null,
863
866
  token: null
864
867
  };
865
868
  else if (e === "token") {
866
- let e = W.value.trim();
869
+ let e = G.value.trim();
867
870
  t.cloudflare = {
868
871
  mode: "token",
869
- hostname: U.value.trim(),
872
+ hostname: W.value.trim(),
870
873
  ...e ? { token: e } : {}
871
874
  };
872
875
  } else e === "managed" && (t.cloudflare = {
873
876
  mode: "managed",
874
- hostname: U.value.trim(),
877
+ hostname: W.value.trim(),
875
878
  token: null
876
879
  });
877
880
  }
@@ -879,24 +882,24 @@ var at = class {
879
882
  await I(t);
880
883
  } catch {}
881
884
  }
882
- async function Er(e) {
885
+ async function Dr(e) {
883
886
  try {
884
887
  await Pe(e);
885
888
  } catch {}
886
889
  }
887
890
  return h(() => P.value?.serverName, (e) => {
888
- e && (B.value = e);
891
+ e && (V.value = e);
889
892
  }, { immediate: !0 }), h(Z, (e) => {
890
893
  e && K.value && $();
891
- }), h([pe, j], ([e]) => {
894
+ }), h([pe, A], ([e]) => {
892
895
  e && x.queryClient.refetchQueries({
893
896
  queryKey: ["remote", "connection-info"],
894
897
  exact: !0
895
898
  });
896
- }), h(me, (e) => {
899
+ }), h(j, (e) => {
897
900
  if (e) {
898
- let t = de(e);
899
- R.value = {
901
+ let t = fe(e);
902
+ z.value = {
900
903
  ...t,
901
904
  serverAddresses: (t.serverAddresses || []).filter(Boolean),
902
905
  localUrl: t.localUrl ?? ""
@@ -907,26 +910,26 @@ var at = class {
907
910
  immediate: !0
908
911
  }), h(N, (e) => {
909
912
  if (e) {
910
- let t = de(e);
911
- z.value = { ...t.remoteSettings }, V.value = t.remoteSettings.customDomain.url ?? "";
913
+ let t = fe(e);
914
+ B.value = { ...t.remoteSettings }, H.value = t.remoteSettings.customDomain.url ?? "";
912
915
  let n = t.remoteSettings.cloudflare;
913
- H.value = n?.mode ?? "quick", U.value = n?.hostname ?? "", W.value = "", G.value = t.cloudflareTokenSet ?? !1;
916
+ U.value = n?.mode ?? "quick", W.value = n?.hostname ?? "", G.value = "", at.value = t.cloudflareTokenSet ?? !1;
914
917
  }
915
918
  }, {
916
919
  deep: !0,
917
920
  immediate: !0
918
921
  }), r(() => {
919
- ir();
922
+ ar();
920
923
  }), (t, r) => {
921
- let c = ve, p = te, h = Oe, x = we, S = be, w = re, T = Te, E = He, D = ie, A = se, le = ne, ue = ke, de = ae, j = he, fe = ze, pe = Ee, M = _e, ge = De, N = ee;
922
- return n(), g("div", gt, [!f(R) || !f(z) ? (n(), g("div", _t, [C(c, {
924
+ let c = ae, p = te, h = Oe, x = we, S = be, se = re, T = Te, le = He, D = ie, O = ue, k = ne, fe = ke, A = oe, pe = ge, he = ze, j = Ee, M = me, _e = De, N = ee;
925
+ return n(), g("div", gt, [!f(z) || !f(B) ? (n(), g("div", _t, [C(c, {
923
926
  class: "w-[30px] h-[30px] m-0",
924
927
  "stroke-width": "5"
925
928
  })])) : (n(), g("div", vt, [
926
929
  f(F) ? (n(), g("div", yt, [v("span", bt, i(t.$t("views.settings.connection_status")), 1), C(S, { class: "cui-card" }, {
927
930
  content: m(() => [v("div", xt, [
928
- (n(), l(s(f($n)), { class: o(["shrink-0 w-6 h-6", f(er)]) }, null, 8, ["class"])),
929
- v("div", St, [v("span", Ct, i(f(Qn)), 1), C(p, {
931
+ (n(), l(s(f(er)), { class: o(["shrink-0 w-6 h-6", f(tr)]) }, null, 8, ["class"])),
932
+ v("div", St, [v("span", Ct, i(f($n)), 1), C(p, {
930
933
  severity: "secondary",
931
934
  variant: "simple",
932
935
  size: "small",
@@ -941,7 +944,7 @@ var at = class {
941
944
  severity: "secondary",
942
945
  class: "ml-auto shrink-0",
943
946
  "aria-label": t.$t("components.connection_details.title"),
944
- onClick: tr
947
+ onClick: nr
945
948
  }, {
946
949
  icon: m(() => [C(h, { class: "w-5 h-5" })]),
947
950
  _: 1
@@ -954,16 +957,16 @@ var at = class {
954
957
  ])]),
955
958
  _: 1
956
959
  })])) : u("", !0),
957
- C(f(oe), {
960
+ C(f(ce), {
958
961
  ref: "remoteFormRef",
959
962
  class: "flex flex-col w-full gap-6",
960
963
  "validation-schema": f(mt),
961
- onSubmit: r[18] ||= (e) => Tr(e)
964
+ onSubmit: r[18] ||= (e) => Er(e)
962
965
  }, {
963
966
  default: m(() => [v("div", null, [v("span", wt, i(t.$t("views.settings.cloud")), 1), C(S, { class: "cui-card" }, {
964
967
  content: m(() => [v("div", Tt, [
965
- C(f(O), {
966
- "model-value": f(z).enabled,
968
+ C(f(w), {
969
+ "model-value": f(B).enabled,
967
970
  value: !0,
968
971
  "unchecked-value": !1,
969
972
  type: "checkbox",
@@ -983,18 +986,18 @@ var at = class {
983
986
  _: 1
984
987
  }),
985
988
  C(e, { name: "fade" }, {
986
- default: m(() => [C(f(k), {
989
+ default: m(() => [C(f(E), {
987
990
  name: "enabled",
988
991
  class: "cui-input-switch-error"
989
992
  })]),
990
993
  _: 1
991
994
  })
992
- ]), C(w, a({ "model-value": f(z).enabled }, n, {
995
+ ]), C(se, a({ "model-value": f(B).enabled }, n, {
993
996
  invalid: o.length > 0,
994
997
  loading: f(X),
995
998
  class: "ml-auto shrink-0",
996
- onValueChange: r[0] ||= (e) => f(z).enabled = e,
997
- "onUpdate:modelValue": r[1] ||= (e) => mr(e)
999
+ onValueChange: r[0] ||= (e) => f(B).enabled = e,
1000
+ "onUpdate:modelValue": r[1] ||= (e) => hr(e)
998
1001
  }), null, 16, [
999
1002
  "model-value",
1000
1003
  "invalid",
@@ -1004,13 +1007,13 @@ var at = class {
1004
1007
  }, 8, ["model-value"]),
1005
1008
  v("div", kt, [
1006
1009
  v("label", At, i(t.$t("views.settings.server_name_label")), 1),
1007
- C(A, null, {
1010
+ C(O, null, {
1008
1011
  default: m(() => [C(T, {
1009
1012
  id: "serverName",
1010
- modelValue: f(B),
1011
- "onUpdate:modelValue": r[2] ||= (e) => d(B) ? B.value = e : null,
1013
+ modelValue: f(V),
1014
+ "onUpdate:modelValue": r[2] ||= (e) => d(V) ? V.value = e : null,
1012
1015
  modelModifiers: { trim: !0 },
1013
- disabled: !f(ft),
1016
+ disabled: !f(Wn),
1014
1017
  loading: f(X),
1015
1018
  type: "text",
1016
1019
  maxlength: 100
@@ -1023,11 +1026,11 @@ var at = class {
1023
1026
  text: "",
1024
1027
  severity: "secondary",
1025
1028
  loading: f(Ke),
1026
- disabled: !f(Wn),
1029
+ disabled: !f(Gn),
1027
1030
  type: "button",
1028
- onClick: nr
1031
+ onClick: rr
1029
1032
  }, {
1030
- icon: m(() => [C(E)]),
1033
+ icon: m(() => [C(le)]),
1031
1034
  _: 1
1032
1035
  }, 8, ["loading", "disabled"])), [[N, { value: t.$t("components.form.button.save") }]])]),
1033
1036
  _: 1
@@ -1056,7 +1059,7 @@ var at = class {
1056
1059
  key: 0,
1057
1060
  class: "w-[15px] h-[15px] m-0",
1058
1061
  "stroke-width": "5"
1059
- })) : f(dt) ? (n(), g("span", Ft, i(t.$t("views.settings.needs_reauth")), 1)) : (n(), g("span", It, i(f(Z) ? t.$t("views.settings.registered") : t.$t("views.settings.not_registered")), 1))])]),
1062
+ })) : f(ft) ? (n(), g("span", Ft, i(t.$t("views.settings.needs_reauth")), 1)) : (n(), g("span", It, i(f(Z) ? t.$t("views.settings.registered") : t.$t("views.settings.not_registered")), 1))])]),
1060
1063
  f(Z) ? (n(), g("div", Lt, [v("div", Rt, [v("span", zt, i(t.$t("views.settings.tunnel_status")), 1), C(p, {
1061
1064
  severity: "secondary",
1062
1065
  variant: "simple",
@@ -1069,7 +1072,7 @@ var at = class {
1069
1072
  key: 0,
1070
1073
  class: "w-[15px] h-[15px] m-0",
1071
1074
  "stroke-width": "5"
1072
- })) : (n(), l(le, {
1075
+ })) : (n(), l(k, {
1073
1076
  key: 1,
1074
1077
  severity: f(Me)?.connected ? "success" : "secondary",
1075
1078
  value: f(Me)?.connected ? t.$t("views.settings.tunnel_connected") : t.$t("views.settings.tunnel_disconnected")
@@ -1086,27 +1089,27 @@ var at = class {
1086
1089
  }, {
1087
1090
  default: m(() => [b(i(t.$t("views.settings.pair_instructions")), 1)]),
1088
1091
  _: 1
1089
- }), v("div", Ht, [v("div", Ut, [C(ue, {
1092
+ }), v("div", Ht, [v("div", Ut, [C(fe, {
1090
1093
  value: f(q),
1091
1094
  size: 180,
1092
1095
  "logo-size": 36
1093
1096
  }, null, 8, ["value"])]), v("div", Wt, [
1094
1097
  v("div", Gt, [
1095
1098
  v("label", Kt, i(t.$t("views.settings.pair_code")), 1),
1096
- C(A, null, {
1099
+ C(O, null, {
1097
1100
  default: m(() => [C(T, {
1098
1101
  "model-value": f(K),
1099
1102
  readonly: "",
1100
1103
  class: "font-mono text-lg text-center tracking-widest"
1101
1104
  }, null, 8, ["model-value"]), C(D, null, {
1102
- default: m(() => [C(de, {
1105
+ default: m(() => [C(A, {
1103
1106
  "action-text": t.$t("components.form.tooltip.copied"),
1104
- icon: f(ce),
1107
+ icon: f(de),
1105
1108
  "button-props": {
1106
1109
  severity: "secondary",
1107
1110
  text: !0
1108
1111
  },
1109
- onAction: dr
1112
+ onAction: fr
1110
1113
  }, null, 8, ["action-text", "icon"])]),
1111
1114
  _: 1
1112
1115
  })]),
@@ -1122,7 +1125,7 @@ var at = class {
1122
1125
  _: 1
1123
1126
  })
1124
1127
  ]),
1125
- v("div", qt, [v("label", Jt, i(t.$t("views.settings.pair_url")), 1), C(A, null, {
1128
+ v("div", qt, [v("label", Jt, i(t.$t("views.settings.pair_url")), 1), C(O, null, {
1126
1129
  default: m(() => [
1127
1130
  C(T, {
1128
1131
  "model-value": f(q),
@@ -1130,14 +1133,14 @@ var at = class {
1130
1133
  class: "font-mono text-sm"
1131
1134
  }, null, 8, ["model-value"]),
1132
1135
  C(D, null, {
1133
- default: m(() => [C(de, {
1136
+ default: m(() => [C(A, {
1134
1137
  "action-text": t.$t("components.form.tooltip.copied"),
1135
- icon: f(ce),
1138
+ icon: f(de),
1136
1139
  "button-props": {
1137
1140
  severity: "secondary",
1138
1141
  text: !0
1139
1142
  },
1140
- onAction: fr
1143
+ onAction: pr
1141
1144
  }, null, 8, ["action-text", "icon"])]),
1142
1145
  _: 1
1143
1146
  }),
@@ -1146,7 +1149,7 @@ var at = class {
1146
1149
  type: "button",
1147
1150
  severity: "secondary",
1148
1151
  text: "",
1149
- onClick: pr
1152
+ onClick: mr
1150
1153
  }, {
1151
1154
  icon: m(() => [C(f(ye))]),
1152
1155
  _: 1
@@ -1167,7 +1170,7 @@ var at = class {
1167
1170
  severity: "secondary",
1168
1171
  class: "cui-button-small ml-auto",
1169
1172
  label: t.$t("components.form.button.cancel"),
1170
- onClick: ur
1173
+ onClick: dr
1171
1174
  }, null, 8, ["label"])
1172
1175
  ])
1173
1176
  ])])])) : u("", !0)]),
@@ -1181,11 +1184,11 @@ var at = class {
1181
1184
  disabled: !f(Z),
1182
1185
  onClick: r[3] ||= (e) => t.$router.absUrl(f("https://cloud.cameraui.com"), !0)
1183
1186
  }, {
1184
- icon: m(() => [f(Z) ? (n(), l(j, {
1187
+ icon: m(() => [f(Z) ? (n(), l(pe, {
1185
1188
  key: 0,
1186
1189
  width: "100%",
1187
1190
  height: "100%"
1188
- })) : (n(), l(fe, {
1191
+ })) : (n(), l(he, {
1189
1192
  key: 1,
1190
1193
  width: "100%",
1191
1194
  height: "100%"
@@ -1198,24 +1201,24 @@ var at = class {
1198
1201
  loading: f(Re),
1199
1202
  class: "cui-button-medium",
1200
1203
  label: t.$t("components.form.button.register_server"),
1201
- onClick: lr
1204
+ onClick: ur
1202
1205
  }, null, 8, ["loading", "label"])) : u("", !0),
1203
- f(dt) && !f(K) ? (n(), l(x, {
1206
+ f(ft) && !f(K) ? (n(), l(x, {
1204
1207
  key: 1,
1205
1208
  loading: f(Re),
1206
1209
  severity: "warn",
1207
1210
  class: "cui-button-medium",
1208
1211
  label: t.$t("components.form.button.reconnect_server"),
1209
- onClick: lr
1212
+ onClick: ur
1210
1213
  }, null, 8, ["loading", "label"])) : u("", !0),
1211
1214
  f(Z) ? (n(), l(x, {
1212
1215
  key: 2,
1213
1216
  loading: f(X),
1214
- severity: f(dt) ? "secondary" : void 0,
1215
- text: f(dt),
1217
+ severity: f(ft) ? "secondary" : void 0,
1218
+ text: f(ft),
1216
1219
  class: "cui-button-medium",
1217
1220
  label: t.$t("components.form.button.unregister_server"),
1218
- onClick: rr
1221
+ onClick: ir
1219
1222
  }, null, 8, [
1220
1223
  "loading",
1221
1224
  "severity",
@@ -1226,8 +1229,8 @@ var at = class {
1226
1229
  ])]),
1227
1230
  _: 1
1228
1231
  })]), v("div", null, [v("span", $t, i(t.$t("views.settings.direct_connection")), 1), C(S, { class: "cui-card" }, {
1229
- content: m(() => [v("div", en, [C(f(O), {
1230
- "model-value": f(z).directEnabled,
1232
+ content: m(() => [v("div", en, [C(f(w), {
1233
+ "model-value": f(B).directEnabled,
1231
1234
  value: !0,
1232
1235
  "unchecked-value": !1,
1233
1236
  type: "checkbox",
@@ -1247,38 +1250,38 @@ var at = class {
1247
1250
  _: 1
1248
1251
  }),
1249
1252
  C(e, { name: "fade" }, {
1250
- default: m(() => [C(f(k), {
1253
+ default: m(() => [C(f(E), {
1251
1254
  name: "directEnabled",
1252
1255
  class: "cui-input-switch-error"
1253
1256
  })]),
1254
1257
  _: 1
1255
1258
  })
1256
- ]), C(w, a({ "model-value": f(lt) }, o, {
1259
+ ]), C(se, a({ "model-value": f(ut) }, o, {
1257
1260
  invalid: s.length > 0,
1258
1261
  loading: f(X),
1259
- disabled: f(z).enabled,
1262
+ disabled: f(B).enabled,
1260
1263
  class: "ml-auto shrink-0",
1261
- onValueChange: r[4] ||= (e) => f(z).directEnabled = e,
1262
- "onUpdate:modelValue": r[5] ||= (e) => hr(e)
1264
+ onValueChange: r[4] ||= (e) => f(B).directEnabled = e,
1265
+ "onUpdate:modelValue": r[5] ||= (e) => gr(e)
1263
1266
  }), null, 16, [
1264
1267
  "model-value",
1265
1268
  "invalid",
1266
1269
  "loading",
1267
1270
  "disabled"
1268
1271
  ])]), C(e, { name: "fade" }, {
1269
- default: m(() => [f(ut).active ? (n(), l(p, {
1272
+ default: m(() => [f(dt).active ? (n(), l(p, {
1270
1273
  key: 0,
1271
1274
  variant: "simple",
1272
1275
  size: "small",
1273
1276
  class: "cui-input-switch-hint text-primary"
1274
1277
  }, {
1275
- default: m(() => [b(i(f(ut).fallback ? t.$t("views.settings.direct_override_fallback") : t.$t("views.settings.direct_override_active")), 1)]),
1278
+ default: m(() => [b(i(f(dt).fallback ? t.$t("views.settings.direct_override_fallback") : t.$t("views.settings.direct_override_active")), 1)]),
1276
1279
  _: 1
1277
1280
  })) : u("", !0)]),
1278
1281
  _: 1
1279
1282
  })]),
1280
1283
  _: 1
1281
- }, 8, ["model-value"]), f(lt) ? (n(), g(_, { key: 0 }, [
1284
+ }, 8, ["model-value"]), f(ut) ? (n(), g(_, { key: 0 }, [
1282
1285
  v("div", an, [
1283
1286
  v("label", on, i(t.$t("views.settings.external_url")), 1),
1284
1287
  C(T, {
@@ -1296,22 +1299,22 @@ var at = class {
1296
1299
  _: 1
1297
1300
  })
1298
1301
  ]),
1299
- C(f(O), {
1300
- "model-value": f(z).directMode,
1302
+ C(f(w), {
1303
+ "model-value": f(B).directMode,
1301
1304
  name: "directMode",
1302
1305
  as: "div",
1303
1306
  class: "flex flex-col field-gap"
1304
1307
  }, {
1305
1308
  default: m(({ errors: n }) => [
1306
1309
  v("label", sn, i(t.$t("views.settings.connection_method")), 1),
1307
- C(pe, {
1308
- "model-value": f(z).directMode,
1309
- options: f(Kn),
1310
+ C(j, {
1311
+ "model-value": f(B).directMode,
1312
+ options: f(qn),
1310
1313
  "option-label": "label",
1311
1314
  "option-value": "value",
1312
1315
  invalid: n.length > 0,
1313
1316
  loading: f(X),
1314
- "onUpdate:modelValue": r[6] ||= (e) => gr(e)
1317
+ "onUpdate:modelValue": r[6] ||= (e) => _r(e)
1315
1318
  }, null, 8, [
1316
1319
  "model-value",
1317
1320
  "options",
@@ -1319,7 +1322,7 @@ var at = class {
1319
1322
  "loading"
1320
1323
  ]),
1321
1324
  C(e, { name: "fade" }, {
1322
- default: m(() => [C(f(k), {
1325
+ default: m(() => [C(f(E), {
1323
1326
  name: "directMode",
1324
1327
  class: "cui-input-error"
1325
1328
  })]),
@@ -1331,21 +1334,21 @@ var at = class {
1331
1334
  size: "small",
1332
1335
  class: "cui-input-hint"
1333
1336
  }, {
1334
- default: m(() => [b(i(f(qn)), 1)]),
1337
+ default: m(() => [b(i(f(Jn)), 1)]),
1335
1338
  _: 1
1336
1339
  })
1337
1340
  ]),
1338
1341
  _: 1
1339
1342
  }, 8, ["model-value"]),
1340
- f(z).directMode === "cloudflare" ? (n(), g("div", cn, [v("div", ln, [
1343
+ f(B).directMode === "cloudflare" ? (n(), g("div", cn, [v("div", ln, [
1341
1344
  v("label", un, i(t.$t("components.form.label.cloudflare_variant")), 1),
1342
- C(pe, {
1343
- "model-value": f(H),
1344
- options: f(Jn),
1345
+ C(j, {
1346
+ "model-value": f(U),
1347
+ options: f(Yn),
1345
1348
  "option-label": "label",
1346
1349
  "option-value": "value",
1347
1350
  loading: f(X),
1348
- "onUpdate:modelValue": r[7] ||= (e) => _r(e)
1351
+ "onUpdate:modelValue": r[7] ||= (e) => vr(e)
1349
1352
  }, null, 8, [
1350
1353
  "model-value",
1351
1354
  "options",
@@ -1357,23 +1360,23 @@ var at = class {
1357
1360
  size: "small",
1358
1361
  class: "cui-input-hint"
1359
1362
  }, {
1360
- default: m(() => [b(i(f(Yn)), 1)]),
1363
+ default: m(() => [b(i(f(Xn)), 1)]),
1361
1364
  _: 1
1362
1365
  })
1363
- ]), f(H) === "quick" ? (n(), g("div", dn, [C(x, {
1366
+ ]), f(U) === "quick" ? (n(), g("div", dn, [C(x, {
1364
1367
  type: "button",
1365
1368
  severity: "secondary",
1366
- loading: f(Ye),
1369
+ loading: f(L),
1367
1370
  class: "cui-button-small",
1368
1371
  label: t.$t("components.form.button.test_connection"),
1369
- onClick: r[8] ||= (e) => wr("cloudflare")
1370
- }, null, 8, ["loading", "label"])])) : f(H) === "token" ? (n(), g(_, { key: 1 }, [
1372
+ onClick: r[8] ||= (e) => Tr("cloudflare")
1373
+ }, null, 8, ["loading", "label"])])) : f(U) === "token" ? (n(), g(_, { key: 1 }, [
1371
1374
  v("div", fn, [
1372
1375
  v("label", pn, i(t.$t("components.form.label.hostname")), 1),
1373
1376
  C(T, {
1374
1377
  id: "cloudflareHostname",
1375
- modelValue: f(U),
1376
- "onUpdate:modelValue": r[9] ||= (e) => d(U) ? U.value = e : null,
1378
+ modelValue: f(W),
1379
+ "onUpdate:modelValue": r[9] ||= (e) => d(W) ? W.value = e : null,
1377
1380
  modelModifiers: { trim: !0 },
1378
1381
  loading: f(X),
1379
1382
  type: "text",
@@ -1394,14 +1397,14 @@ var at = class {
1394
1397
  v("label", hn, i(t.$t("components.form.label.tunnel_token")), 1),
1395
1398
  C(M, {
1396
1399
  id: "cloudflareToken",
1397
- modelValue: f(W),
1398
- "onUpdate:modelValue": r[10] ||= (e) => d(W) ? W.value = e : null,
1400
+ modelValue: f(G),
1401
+ "onUpdate:modelValue": r[10] ||= (e) => d(G) ? G.value = e : null,
1399
1402
  modelModifiers: { trim: !0 },
1400
1403
  loading: f(X),
1401
1404
  feedback: !1,
1402
1405
  "toggle-mask": "",
1403
1406
  fluid: "",
1404
- placeholder: f(G) ? "••••••••••••" : "eyJ..."
1407
+ placeholder: f(at) ? "••••••••••••" : "eyJ..."
1405
1408
  }, null, 8, [
1406
1409
  "modelValue",
1407
1410
  "loading",
@@ -1413,24 +1416,24 @@ var at = class {
1413
1416
  size: "small",
1414
1417
  class: "cui-input-hint"
1415
1418
  }, {
1416
- default: m(() => [b(i(f(G) ? t.$t("components.form.hint.cloudflare_token_already_set") : t.$t("components.form.hint.cloudflare_token_info")), 1)]),
1419
+ default: m(() => [b(i(f(at) ? t.$t("components.form.hint.cloudflare_token_already_set") : t.$t("components.form.hint.cloudflare_token_info")), 1)]),
1417
1420
  _: 1
1418
1421
  })
1419
1422
  ]),
1420
1423
  v("div", gn, [C(x, {
1421
1424
  type: "button",
1422
1425
  severity: "secondary",
1423
- loading: f(Ye),
1424
- disabled: !f(Xn),
1426
+ loading: f(L),
1427
+ disabled: !f(Zn),
1425
1428
  class: "cui-button-small",
1426
1429
  label: t.$t("components.form.button.test_connection"),
1427
- onClick: r[11] ||= (e) => wr("cloudflare")
1430
+ onClick: r[11] ||= (e) => Tr("cloudflare")
1428
1431
  }, null, 8, [
1429
1432
  "loading",
1430
1433
  "disabled",
1431
1434
  "label"
1432
1435
  ])])
1433
- ], 64)) : f(H) === "managed" ? (n(), l(e, {
1436
+ ], 64)) : f(U) === "managed" ? (n(), l(e, {
1434
1437
  key: 2,
1435
1438
  name: "fade",
1436
1439
  mode: "out-in"
@@ -1443,8 +1446,8 @@ var at = class {
1443
1446
  v("label", vn, i(t.$t("components.form.label.hostname")), 1),
1444
1447
  C(T, {
1445
1448
  id: "cloudflareHostnameManaged",
1446
- modelValue: f(U),
1447
- "onUpdate:modelValue": r[12] ||= (e) => d(U) ? U.value = e : null,
1449
+ modelValue: f(W),
1450
+ "onUpdate:modelValue": r[12] ||= (e) => d(W) ? W.value = e : null,
1448
1451
  modelModifiers: { trim: !0 },
1449
1452
  loading: f(X),
1450
1453
  type: "text",
@@ -1461,29 +1464,29 @@ var at = class {
1461
1464
  _: 1
1462
1465
  })
1463
1466
  ]),
1464
- f(L)?.lastError ? (n(), l(p, {
1467
+ f(R)?.lastError ? (n(), l(p, {
1465
1468
  key: 0,
1466
1469
  severity: "error",
1467
1470
  variant: "simple",
1468
1471
  size: "small"
1469
1472
  }, {
1470
- default: m(() => [b(i(f(L).lastError), 1)]),
1473
+ default: m(() => [b(i(f(R).lastError), 1)]),
1471
1474
  _: 1
1472
1475
  })) : u("", !0),
1473
1476
  v("div", yn, [C(x, {
1474
1477
  type: "button",
1475
- loading: f(Qe),
1476
- disabled: !f(Zn),
1478
+ loading: f(Ze),
1479
+ disabled: !f(Qn),
1477
1480
  class: "cui-button-medium",
1478
1481
  label: t.$t("components.form.button.connect_cloudflare"),
1479
- onClick: vr
1482
+ onClick: yr
1480
1483
  }, null, 8, [
1481
1484
  "loading",
1482
1485
  "disabled",
1483
1486
  "label"
1484
1487
  ])])
1485
- ], 64)) : f(Q) === "awaiting_login" ? (n(), g(_, { key: 1 }, [f(L)?.loginUrl ? (n(), g("div", bn, [v("div", xn, [C(ue, {
1486
- value: f(L).loginUrl,
1488
+ ], 64)) : f(Q) === "awaiting_login" ? (n(), g(_, { key: 1 }, [f(R)?.loginUrl ? (n(), g("div", bn, [v("div", xn, [C(fe, {
1489
+ value: f(R).loginUrl,
1487
1490
  size: 160,
1488
1491
  "logo-size": 32
1489
1492
  }, null, 8, ["value"])]), v("div", Sn, [
@@ -1492,25 +1495,25 @@ var at = class {
1492
1495
  size: "small",
1493
1496
  class: "text-primary"
1494
1497
  }, {
1495
- default: m(() => [b(i(t.$t("components.form.hint.cloudflare_managed_awaiting_login", { hostname: f(U) })), 1)]),
1498
+ default: m(() => [b(i(t.$t("components.form.hint.cloudflare_managed_awaiting_login", { hostname: f(W) })), 1)]),
1496
1499
  _: 1
1497
1500
  }),
1498
- v("div", Cn, [v("label", wn, i(t.$t("components.form.label.cloudflare_url")), 1), C(A, null, {
1501
+ v("div", Cn, [v("label", wn, i(t.$t("components.form.label.cloudflare_url")), 1), C(O, null, {
1499
1502
  default: m(() => [
1500
1503
  C(T, {
1501
- "model-value": f(L).loginUrl,
1504
+ "model-value": f(R).loginUrl,
1502
1505
  readonly: "",
1503
1506
  class: "font-mono text-sm"
1504
1507
  }, null, 8, ["model-value"]),
1505
1508
  C(D, null, {
1506
- default: m(() => [C(de, {
1509
+ default: m(() => [C(A, {
1507
1510
  "action-text": t.$t("components.form.tooltip.copied"),
1508
- icon: f(ce),
1511
+ icon: f(de),
1509
1512
  "button-props": {
1510
1513
  severity: "secondary",
1511
1514
  text: !0
1512
1515
  },
1513
- onAction: r[13] ||= (e) => Sr(f(L).loginUrl)
1516
+ onAction: r[13] ||= (e) => Cr(f(R).loginUrl)
1514
1517
  }, null, 8, ["action-text", "icon"])]),
1515
1518
  _: 1
1516
1519
  }),
@@ -1519,7 +1522,7 @@ var at = class {
1519
1522
  type: "button",
1520
1523
  severity: "secondary",
1521
1524
  text: "",
1522
- onClick: r[14] ||= (e) => Cr(f(L).loginUrl)
1525
+ onClick: r[14] ||= (e) => wr(f(R).loginUrl)
1523
1526
  }, {
1524
1527
  icon: m(() => [C(f(ye))]),
1525
1528
  _: 1
@@ -1538,10 +1541,10 @@ var at = class {
1538
1541
  C(x, {
1539
1542
  type: "button",
1540
1543
  severity: "secondary",
1541
- loading: f(et),
1544
+ loading: f($e),
1542
1545
  class: "cui-button-small ml-auto",
1543
1546
  label: t.$t("components.form.button.cancel"),
1544
- onClick: yr
1547
+ onClick: br
1545
1548
  }, null, 8, ["loading", "label"])
1546
1549
  ])
1547
1550
  ])])) : (n(), g("div", Dn, [
@@ -1553,31 +1556,31 @@ var at = class {
1553
1556
  C(x, {
1554
1557
  type: "button",
1555
1558
  severity: "secondary",
1556
- loading: f(et),
1559
+ loading: f($e),
1557
1560
  class: "cui-button-small ml-auto",
1558
1561
  label: t.$t("components.form.button.cancel"),
1559
- onClick: yr
1562
+ onClick: br
1560
1563
  }, null, 8, ["loading", "label"])
1561
1564
  ]))], 64)) : f(Q) === "creating_tunnel" || f(Q) === "setting_dns" ? (n(), g("div", kn, [
1562
1565
  C(c, {
1563
1566
  class: "w-[20px] h-[20px] m-0",
1564
1567
  "stroke-width": "5"
1565
1568
  }),
1566
- v("span", An, i(f(Q) === "creating_tunnel" ? t.$t("components.form.hint.cloudflare_managed_creating_tunnel") : t.$t("components.form.hint.cloudflare_managed_setting_dns", { hostname: f(U) })), 1),
1569
+ v("span", An, i(f(Q) === "creating_tunnel" ? t.$t("components.form.hint.cloudflare_managed_creating_tunnel") : t.$t("components.form.hint.cloudflare_managed_setting_dns", { hostname: f(W) })), 1),
1567
1570
  C(x, {
1568
1571
  type: "button",
1569
1572
  severity: "secondary",
1570
- loading: f(et),
1573
+ loading: f($e),
1571
1574
  class: "cui-button-small ml-auto",
1572
1575
  label: t.$t("components.form.button.cancel"),
1573
- onClick: yr
1576
+ onClick: br
1574
1577
  }, null, 8, ["loading", "label"])
1575
1578
  ])) : f(Q) === "running" ? (n(), g(_, { key: 3 }, [
1576
1579
  v("div", jn, [
1577
1580
  v("label", Mn, i(t.$t("components.form.label.hostname")), 1),
1578
1581
  C(T, {
1579
1582
  readonly: "",
1580
- value: `https://${f(L)?.hostname ?? ""}`,
1583
+ value: `https://${f(R)?.hostname ?? ""}`,
1581
1584
  type: "text"
1582
1585
  }, null, 8, ["value"]),
1583
1586
  C(p, {
@@ -1590,11 +1593,11 @@ var at = class {
1590
1593
  _: 1
1591
1594
  })
1592
1595
  ]),
1593
- f(L)?.tunnelId ? (n(), g("div", Nn, [
1596
+ f(R)?.tunnelId ? (n(), g("div", Nn, [
1594
1597
  v("label", Pn, i(t.$t("components.form.label.tunnel_id")), 1),
1595
1598
  C(T, {
1596
1599
  readonly: "",
1597
- value: f(L).tunnelId,
1600
+ value: f(R).tunnelId,
1598
1601
  type: "text"
1599
1602
  }, null, 8, ["value"]),
1600
1603
  C(p, {
@@ -1611,33 +1614,33 @@ var at = class {
1611
1614
  C(x, {
1612
1615
  type: "button",
1613
1616
  severity: "secondary",
1614
- loading: f(Ye),
1617
+ loading: f(L),
1615
1618
  class: "cui-button-small",
1616
1619
  label: t.$t("components.form.button.test_connection"),
1617
- onClick: r[15] ||= (e) => wr("cloudflare")
1620
+ onClick: r[15] ||= (e) => Tr("cloudflare")
1618
1621
  }, null, 8, ["loading", "label"]),
1619
1622
  C(x, {
1620
1623
  type: "button",
1621
1624
  severity: "secondary",
1622
- loading: f(nt),
1625
+ loading: f(tt),
1623
1626
  class: "cui-button-small ml-auto",
1624
1627
  label: t.$t("components.form.button.disconnect"),
1625
- onClick: br
1628
+ onClick: xr
1626
1629
  }, null, 8, ["loading", "label"]),
1627
1630
  C(x, {
1628
1631
  type: "button",
1629
1632
  severity: "danger",
1630
- loading: f(it),
1633
+ loading: f(rt),
1631
1634
  class: "cui-button-small",
1632
1635
  label: t.$t("components.form.button.logout"),
1633
- onClick: xr
1636
+ onClick: Sr
1634
1637
  }, null, 8, ["loading", "label"])
1635
1638
  ])
1636
1639
  ], 64)) : u("", !0)]))]),
1637
1640
  _: 1
1638
- })) : u("", !0)])) : f(z).directMode === "customDomain" ? (n(), g("div", In, [C(f(O), {
1639
- modelValue: f(V),
1640
- "onUpdate:modelValue": r[16] ||= (e) => d(V) ? V.value = e : null,
1641
+ })) : u("", !0)])) : f(B).directMode === "customDomain" ? (n(), g("div", In, [C(f(w), {
1642
+ modelValue: f(H),
1643
+ "onUpdate:modelValue": r[16] ||= (e) => d(H) ? H.value = e : null,
1641
1644
  modelModifiers: { trim: !0 },
1642
1645
  loading: f(X),
1643
1646
  name: "customDomain.url",
@@ -1653,7 +1656,7 @@ var at = class {
1653
1656
  placeholder: "https://my.example.com"
1654
1657
  }), null, 16, ["invalid", "loading"]),
1655
1658
  C(e, { name: "fade" }, {
1656
- default: m(() => [C(f(k), {
1659
+ default: m(() => [C(f(E), {
1657
1660
  name: "customDomain.url",
1658
1661
  class: "cui-input-error"
1659
1662
  })]),
@@ -1664,11 +1667,11 @@ var at = class {
1664
1667
  }, 8, ["modelValue", "loading"]), v("div", Rn, [C(x, {
1665
1668
  type: "button",
1666
1669
  severity: "secondary",
1667
- loading: f(Ye),
1668
- disabled: !f(V),
1670
+ loading: f(L),
1671
+ disabled: !f(H),
1669
1672
  class: "cui-button-small",
1670
1673
  label: t.$t("components.form.button.test_connection"),
1671
- onClick: r[17] ||= (e) => wr("customDomain")
1674
+ onClick: r[17] ||= (e) => Tr("customDomain")
1672
1675
  }, null, 8, [
1673
1676
  "loading",
1674
1677
  "disabled",
@@ -1677,7 +1680,7 @@ var at = class {
1677
1680
  C(x, {
1678
1681
  type: "submit",
1679
1682
  loading: f(X),
1680
- disabled: !f(Gn),
1683
+ disabled: !f(Kn),
1681
1684
  class: "cui-button-medium ml-auto",
1682
1685
  label: t.$t("components.form.button.save")
1683
1686
  }, null, 8, [
@@ -1690,27 +1693,27 @@ var at = class {
1690
1693
  })])]),
1691
1694
  _: 1
1692
1695
  }, 8, ["validation-schema"]),
1693
- C(f(oe), {
1696
+ C(f(ce), {
1694
1697
  ref: "serverFormRef",
1695
1698
  class: "flex flex-col w-full gap-6",
1696
1699
  "validation-schema": f(ht),
1697
- onSubmit: r[21] ||= (e) => Er(e)
1700
+ onSubmit: r[21] ||= (e) => Dr(e)
1698
1701
  }, {
1699
1702
  default: m(() => [v("div", null, [v("span", zn, i(t.$t("views.settings.network")), 1), C(S, { class: "cui-card" }, {
1700
1703
  content: m(() => [v("div", Bn, [
1701
1704
  v("span", Vn, i(t.$t("views.settings.network_info")), 1),
1702
- C(f(O), {
1703
- "model-value": f(R).serverAddresses,
1705
+ C(f(w), {
1706
+ "model-value": f(z).serverAddresses,
1704
1707
  name: "serverAddresses",
1705
1708
  as: "div",
1706
1709
  class: "flex flex-col field-gap"
1707
1710
  }, {
1708
1711
  default: m(({ field: o, errors: s }) => [
1709
1712
  v("label", Hn, i(t.$t("components.form.label.server_addresses")), 1),
1710
- C(A, null, {
1711
- default: m(() => [C(ge, a(o, {
1712
- "model-value": f(R).serverAddresses,
1713
- options: f(me)?.availableAddresses || [],
1713
+ C(O, null, {
1714
+ default: m(() => [C(_e, a(o, {
1715
+ "model-value": f(z).serverAddresses,
1716
+ options: f(lt),
1714
1717
  invalid: s.length > 0,
1715
1718
  loading: f(X),
1716
1719
  "max-selected-labels": 2,
@@ -1720,7 +1723,7 @@ var at = class {
1720
1723
  "option-value": "address",
1721
1724
  type: "text",
1722
1725
  display: "chip",
1723
- onValueChange: r[19] ||= (e) => f(R).serverAddresses = e
1726
+ onValueChange: r[19] ||= (e) => f(z).serverAddresses = e
1724
1727
  }), null, 16, [
1725
1728
  "model-value",
1726
1729
  "options",
@@ -1730,7 +1733,7 @@ var at = class {
1730
1733
  _: 2
1731
1734
  }, 1024),
1732
1735
  C(e, { name: "fade" }, {
1733
- default: m(() => [C(f(k), {
1736
+ default: m(() => [C(f(E), {
1734
1737
  name: "serverAddresses",
1735
1738
  class: "cui-input-error"
1736
1739
  })]),
@@ -1749,21 +1752,21 @@ var at = class {
1749
1752
  ]),
1750
1753
  _: 1
1751
1754
  }, 8, ["model-value"]),
1752
- C(f(O), {
1753
- "model-value": f(R).localUrl,
1755
+ C(f(w), {
1756
+ "model-value": f(z).localUrl,
1754
1757
  name: "localUrl",
1755
1758
  as: "div",
1756
1759
  class: "flex flex-col field-gap"
1757
1760
  }, {
1758
1761
  default: m(({ field: o, errors: s }) => [
1759
1762
  v("label", Un, i(t.$t("components.form.label.local_url")), 1),
1760
- C(A, null, {
1763
+ C(O, null, {
1761
1764
  default: m(() => [C(T, a(o, {
1762
- "model-value": f(R).localUrl,
1765
+ "model-value": f(z).localUrl,
1763
1766
  invalid: s.length > 0,
1764
1767
  loading: f(X),
1765
1768
  placeholder: "https://camera.home.lan",
1766
- onValueChange: r[20] ||= (e) => f(R).localUrl = e
1769
+ onValueChange: r[20] ||= (e) => f(z).localUrl = e
1767
1770
  }), null, 16, [
1768
1771
  "model-value",
1769
1772
  "invalid",
@@ -1772,7 +1775,7 @@ var at = class {
1772
1775
  _: 2
1773
1776
  }, 1024),
1774
1777
  C(e, { name: "fade" }, {
1775
- default: m(() => [C(f(k), {
1778
+ default: m(() => [C(f(E), {
1776
1779
  name: "localUrl",
1777
1780
  class: "cui-input-error"
1778
1781
  })]),
@@ -1805,6 +1808,6 @@ var at = class {
1805
1808
  ]))]);
1806
1809
  };
1807
1810
  }
1808
- }), [["__scopeId", "data-v-456d32b5"]]);
1811
+ }), [["__scopeId", "data-v-a44e0892"]]);
1809
1812
  //#endregion
1810
1813
  export { Wn as default };