@camera.ui/server 2.1.7 → 2.1.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 (283) hide show
  1. package/dist/interface/assets/{404-D0lfw52Y.js → 404-vRjJVgl4.js} +1 -1
  2. package/dist/interface/assets/{About-DaaVZ9Cn.js → About-CO9cx5Gp.js} +1 -1
  3. package/dist/interface/assets/Automation-DDNhcjDg.js +3 -0
  4. package/dist/interface/assets/AutomationImport-DAeFd-SZ.js +2 -0
  5. package/dist/interface/assets/{AutomationStore-CeRF0iz6.js → AutomationStore-NyXuw3tI.js} +2 -2
  6. package/dist/interface/assets/{AutomationStoreDetail-DcCFUBJf.js → AutomationStoreDetail-Dz9Y8j8g.js} +2 -2
  7. package/dist/interface/assets/{Automations-GMWeSNQv.js → Automations-BeGe7iQE.js} +2 -2
  8. package/dist/interface/assets/Camera-C0sNg85L.js +2 -0
  9. package/dist/interface/assets/{CameraConsole-B0crXI59.js → CameraConsole-S9Il0g0K.js} +1 -1
  10. package/dist/interface/assets/{Cameras-V_twilcC.js → Cameras-lDMBkoUW.js} +2 -2
  11. package/dist/interface/assets/{Camview-DxxONfeK.css → Camview-CS7PIBMz.css} +1 -1
  12. package/dist/interface/assets/Camview-DzMmXQvW.js +1 -0
  13. package/dist/interface/assets/Config-B0cy1RIU.js +2 -0
  14. package/dist/interface/assets/ConfigActionCameraControl-BMlRbdRM.js +1 -0
  15. package/dist/interface/assets/{ConfigActionDelay-DjFp5qpw.js → ConfigActionDelay-DrzMP_7q.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionHttp-Cmjz4iAV.js → ConfigActionHttp-BUANm5zh.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionImageInput-B0Hll2M3.js → ConfigActionImageInput-CKvnzs_4.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionMqtt-D2boY4u0.js → ConfigActionMqtt-Cz-fMzXH.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionNotification-7iRd0L5l.js → ConfigActionNotification-exxG4m-k.js} +1 -1
  20. package/dist/interface/assets/ConfigActionNotificationControl-BMFbm9lJ.js +1 -0
  21. package/dist/interface/assets/{ConfigActionOutput-BTGUzNQW.js → ConfigActionOutput-js-UUBci.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionPlugin-CzspRdJx.js → ConfigActionPlugin-B5hrC_B6.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionSensor-CPK-s1E2.js → ConfigActionSensor-BESCtedA.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionSnapshot-CcSw9Yw-.js → ConfigActionSnapshot-Uxz9dCqh.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionVariable-BCDtM13I.js → ConfigActionVariable-CsiC6bgF.js} +1 -1
  26. package/dist/interface/assets/{ConfigConditionIfElse-DZJkBeHI.js → ConfigConditionIfElse-CiScJB42.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionSensorState-CxWutq1T.js → ConfigConditionSensorState-CbDfsuOl.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionSwitch-DBRR9cW4.js → ConfigConditionSwitch-B7E5DAoC.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionTime-B-5s6QW2.js → ConfigConditionTime-BmeGYmwH.js} +1 -1
  30. package/dist/interface/assets/{ConfigSensorValueInput-B9MmHF-E.js → ConfigSensorValueInput-CNTToTaw.js} +1 -1
  31. package/dist/interface/assets/{ConfigTriggerDetection-DlY8ne3V.js → ConfigTriggerDetection-ijTkd_SS.js} +1 -1
  32. package/dist/interface/assets/ConfigTriggerGeofence-Q7LQpVoM.js +1 -0
  33. package/dist/interface/assets/{ConfigTriggerManual-BSxA9fGt.js → ConfigTriggerManual-Z1_1wUUM.js} +1 -1
  34. package/dist/interface/assets/{ConfigTriggerMqtt-C7sFSgYi.js → ConfigTriggerMqtt-BBvD0ow9.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerSchedule-fqVY5k3V.js → ConfigTriggerSchedule-B0rMjsZL.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerSensor-BMZ74d8e.js → ConfigTriggerSensor-B1p15KGD.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSystem-B8zwJpaY.js → ConfigTriggerSystem-Du-AkCKy.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerWebhook-SklqcrZq.js → ConfigTriggerWebhook-Debqt-nw.js} +1 -1
  39. package/dist/interface/assets/Console-Gu1eu82G.js +1 -0
  40. package/dist/interface/assets/{CuiAutomationRunsDialog-N6NFABq2.js → CuiAutomationRunsDialog-CxcWpqrI.js} +1 -1
  41. package/dist/interface/assets/CuiBottomSheet-BkmkKf1u.js +1 -0
  42. package/dist/interface/assets/{CuiBottomSheet-BuK_lFkK.js → CuiBottomSheet-DECWGdrp.js} +1 -1
  43. package/dist/interface/assets/CuiCameraPipCard-CuZZZ7Cv.js +1 -0
  44. package/dist/interface/assets/{CuiCameraRecordings-z4WblFJ9.js → CuiCameraRecordings-BxEA_Vhd.js} +1 -1
  45. package/dist/interface/assets/CuiCameraShares-D32cM63m.js +1 -0
  46. package/dist/interface/assets/CuiCameraTable-67Itb7my.js +1 -0
  47. package/dist/interface/assets/{CuiCameraTable-DOPSHZ28.js → CuiCameraTable-Bk9N-Oc6.js} +1 -1
  48. package/dist/interface/assets/{CuiConsole-BOfQ5I3b.js → CuiConsole-De9JpSLz.js} +2 -2
  49. package/dist/interface/assets/{CuiDataTable-DBNU5MJ_.js → CuiDataTable-P8bWN0ZK.js} +1 -1
  50. package/dist/interface/assets/{CuiLightControl-CCwkaMEn.js → CuiLightControl-D5Z1AqWH.js} +1 -1
  51. package/dist/interface/assets/{CuiList-BOMdGNXj.js → CuiList-w69dERIq.js} +1 -1
  52. package/dist/interface/assets/CuiPluginCard-D3x9FPb6.js +2 -0
  53. package/dist/interface/assets/CuiPluginCategoryChip-CQ2FJafE.js +1 -0
  54. package/dist/interface/assets/{CuiPluginOAuthButton-6HQLdlfg.js → CuiPluginOAuthButton-CNxj7cuf.js} +2 -2
  55. package/dist/interface/assets/{CuiPluginTrustBadge-BS9iEcZr.js → CuiPluginTrustBadge-DYsEz6WI.js} +1 -1
  56. package/dist/interface/assets/CuiQRCode-CZnspFFw.js +1 -0
  57. package/dist/interface/assets/{CuiRecordingsGrid-Sv3uyj9a.css → CuiRecordingsGrid-Q4C3aeLo.css} +1 -1
  58. package/dist/interface/assets/CuiRecordingsGrid-wEaU6-3c.js +1 -0
  59. package/dist/interface/assets/CuiSchema-DLV1lIiB.js +1 -0
  60. package/dist/interface/assets/{CuiTopNavbarItem-MCdYsYHh.js → CuiTopNavbarItem-7yu9c68R.js} +1 -1
  61. package/dist/interface/assets/{Faces-DDTbgPtz.js → Faces-BlPQek1-.js} +1 -1
  62. package/dist/interface/assets/FirstSteps-C-DKv_P2.js +1 -0
  63. package/dist/interface/assets/Instances-Bmb-yWM-.js +1 -0
  64. package/dist/interface/assets/{Logs-DEQlc2WM.js → Logs-DxHqkMpx.js} +1 -1
  65. package/dist/interface/assets/{Menu-0EVo1-xs.js → Menu-DceReBlq.js} +1 -1
  66. package/dist/interface/assets/Metrics-Cw_Z_e0C.js +1 -0
  67. package/dist/interface/assets/{OAuthDeviceFlow--YqcKa9u.js → OAuthDeviceFlow-CLi6l8jS.js} +1 -1
  68. package/dist/interface/assets/Plugin-BBVxbQeT.js +1 -0
  69. package/dist/interface/assets/{PluginConsole-BB_dbd25.js → PluginConsole-xOY_kwz_.js} +1 -1
  70. package/dist/interface/assets/{PluginDetail-Y_jg8hAX.js → PluginDetail-D2RncxpL.js} +2 -2
  71. package/dist/interface/assets/{PluginSchema-C4dQGJOV.js → PluginSchema-DG3ou73v.js} +1 -1
  72. package/dist/interface/assets/PluginSearch-CBhloRm6.js +1 -0
  73. package/dist/interface/assets/PluginSearch-RGhSeM1T.js +2 -0
  74. package/dist/interface/assets/{PluginUpdateProgress-BjeH5abL.js → PluginUpdateProgress-Bx0MXwAk.js} +1 -1
  75. package/dist/interface/assets/{Plugins-Kz1A-VUA.js → Plugins-COHwVV0A.js} +1 -1
  76. package/dist/interface/assets/Recordings-H5qOm_rD.js +1 -0
  77. package/dist/interface/assets/Recordings-zdTzwv7C.css +1 -0
  78. package/dist/interface/assets/{SensorEdit-CZyv_BYp.js → SensorEdit-C-H_3ap8.js} +1 -1
  79. package/dist/interface/assets/{SensorHistory-Mr03IqiL.js → SensorHistory-CTIUwIWN.js} +1 -1
  80. package/dist/interface/assets/Sensors-BUpob7LU.css +1 -0
  81. package/dist/interface/assets/Sensors-lPcOdHJN.js +2 -0
  82. package/dist/interface/assets/{Settings-CIv_iZ_m.js → Settings-BUoXoFiH.js} +1 -1
  83. package/dist/interface/assets/{Settings-B1MnGPuf.css → Settings-jQIhZFRY.css} +1 -1
  84. package/dist/interface/assets/SettingsAccount-CudWgknL.js +1 -0
  85. package/dist/interface/assets/SettingsAccount-DUy_W02_.js +1 -0
  86. package/dist/interface/assets/{SettingsAppearance-DEQyCR5b.js → SettingsAppearance-CoTdsIwM.js} +1 -1
  87. package/dist/interface/assets/SettingsAppearance-eZsdWWp3.js +1 -0
  88. package/dist/interface/assets/{SettingsBackup-4y9MuseJ.js → SettingsBackup-ibb5I5Jv.js} +1 -1
  89. package/dist/interface/assets/{SettingsList-DqyvUuS3.js → SettingsList-W5FvbkXm.js} +1 -1
  90. package/dist/interface/assets/SettingsMqtt-Ct42icAW.js +1 -0
  91. package/dist/interface/assets/SettingsNotifications-B4lyMlLR.js +1 -0
  92. package/dist/interface/assets/{SettingsPermissions-C_8g_nff.js → SettingsPermissions-Bsv293ri.js} +1 -1
  93. package/dist/interface/assets/{SettingsRecordings-r9AwjQZX.js → SettingsRecordings-COUi9BQg.js} +1 -1
  94. package/dist/interface/assets/SettingsRemote-Dq_BD0fk.js +1 -0
  95. package/dist/interface/assets/SettingsSystem-C5xROdA0.js +2 -0
  96. package/dist/interface/assets/SettingsUsers-Cjk6mevW.js +1 -0
  97. package/dist/interface/assets/{Terminal-Xo2uy0RX.js → Terminal-BIdBrL4g.js} +1 -1
  98. package/dist/interface/assets/{VariableInput-C3Jbe-vC.js → VariableInput-DhAhhfsm.js} +1 -1
  99. package/dist/interface/assets/{VariableSuggestions-pOrYkqys.js → VariableSuggestions-q0Jd1DVI.js} +1 -1
  100. package/dist/interface/assets/{VersionsHandler-BhBynPF8.js → VersionsHandler-XEn3uFy7.js} +1 -1
  101. package/dist/interface/assets/{VirtualSensorCreate-B3bwlAJz.js → VirtualSensorCreate-_E5E0U7E.js} +1 -1
  102. package/dist/interface/assets/Workers-DVABUc39.js +2 -0
  103. package/dist/interface/assets/api-AVHJeggR.css +2 -0
  104. package/dist/interface/assets/{api-B7yg8bdk.js → api-C7Yv5Scr.js} +1 -1
  105. package/dist/interface/assets/api-CmdQlVDD.js +2 -0
  106. package/dist/interface/assets/{auth-y-X5RKO6.js → auth-BixzEnBM.js} +1 -1
  107. package/dist/interface/assets/{automations-h1Wvnh36.js → automations-K8XPcP3U.js} +1 -1
  108. package/dist/interface/assets/cameras.schema-A_6JklLs.js +1 -0
  109. package/dist/interface/assets/cloudHandoff-D0ytFfHK.js +1 -0
  110. package/dist/interface/assets/{config-BZTZOfxI.js → config-CURuT8_k.js} +1 -1
  111. package/dist/interface/assets/{flowSchema-Dxxlrn77.js → flowSchema-szT9B0sA.js} +1 -1
  112. package/dist/interface/assets/intercomService-BjB4QQiX.js +1 -0
  113. package/dist/interface/assets/{main-kdyR9bI7.css → main-B1ryIyTr.css} +1 -1
  114. package/dist/interface/assets/main-BdIdmDhs.js +3 -0
  115. package/dist/interface/assets/mqtt-uItF3Vd7.js +1 -0
  116. package/dist/interface/assets/{nodeDefinitions-DQQlFmPN.js → nodeDefinitions-c5rXs9EW.js} +1 -1
  117. package/dist/interface/assets/{notifications-C8eyTPRM.js → notifications-CuZPzI4-.js} +1 -1
  118. package/dist/interface/assets/{plugins-D0Txz0BA.js → plugins-QEqfAk0G.js} +1 -1
  119. package/dist/interface/assets/round-alt-arrow-left-bold-CfccdiWp.js +1 -0
  120. package/dist/interface/assets/{round-restart-alt-Bw-T1H6w.js → round-restart-alt-B_7HR24a.js} +1 -1
  121. package/dist/interface/assets/{sensorIcons-r5wmAxeD.js → sensorIcons-BujySw0j.js} +1 -1
  122. package/dist/interface/assets/{sensors-MIbrTUSa.js → sensors-BxvL01cB.js} +1 -1
  123. package/dist/interface/assets/{server-alwZXRo-.js → server-CDm6FwHH.js} +1 -1
  124. package/dist/interface/assets/{theme-qmnHJ2WT.js → theme-CRw47tnu.js} +1 -1
  125. package/dist/interface/assets/{types-DBWHsh0W.js → types-DtdpTPfZ.js} +1 -1
  126. package/dist/interface/assets/types-R10eIequ.js +1 -0
  127. package/dist/interface/assets/types-p_uC0rfp.js +1 -0
  128. package/dist/interface/assets/useAppVersion-BxTTVLKg.js +1 -0
  129. package/dist/interface/assets/useBackupRestore-DLieDBFC.js +1 -0
  130. package/dist/interface/assets/{useCameraOptions-DYZKQx7X.js → useCameraOptions-DMC2KjMS.js} +1 -1
  131. package/dist/interface/assets/{useLogsSocket-DvwkpzT2.js → useLogsSocket-CmyalQi8.js} +1 -1
  132. package/dist/interface/assets/{useNavLayout-CTX4KBkz.js → useNavLayout-BacPxpZv.js} +1 -1
  133. package/dist/interface/assets/usePermissions-C2wQBWmH.js +1 -0
  134. package/dist/interface/assets/{usePluginUpdates-CiqRTrjF.js → usePluginUpdates-CyjxFTTi.js} +1 -1
  135. package/dist/interface/assets/usePushRegistration-BPSfvI_w.js +2 -0
  136. package/dist/interface/assets/{useServerRestart-Bqpn8N4T.js → useServerRestart-x8p2rFqn.js} +1 -1
  137. package/dist/interface/assets/{useStreamStatus-BWCnwuaj.js → useStreamStatus-PMpl519O.js} +1 -1
  138. package/dist/interface/assets/{useUpdateChannel-Cxm4QR-6.js → useUpdateChannel-ChscS5KW.js} +1 -1
  139. package/dist/interface/assets/{useUserOptions-B2LNsU9C.js → useUserOptions-YiEj2ox6.js} +1 -1
  140. package/dist/interface/assets/{vendor-cameraui-C6beJsya.js → vendor-cameraui-Cf0XVNQ7.js} +1 -1
  141. package/dist/interface/assets/{vendor-core-_ft7qIgH.js → vendor-core-u4xNQ-aF.js} +1 -1
  142. package/dist/interface/assets/{vendor-primevue-DfyAPSov.js → vendor-primevue-BDu2BpXv.js} +1 -1
  143. package/dist/interface/index.html +26 -27
  144. package/dist/interface/sw.js +1 -1
  145. package/dist/server/package.json +3 -3
  146. package/dist/server/requirements.txt +1 -1
  147. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +8 -2
  148. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/__init__.py +10 -2
  149. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +4 -10
  150. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/detection.py +77 -10
  151. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +7 -13
  152. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/events.py +2 -0
  153. package/dist/server/src/api/controllers/cameras.controller.d.ts +2 -7
  154. package/dist/server/src/api/controllers/cameras.controller.js +2 -94
  155. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  156. package/dist/server/src/api/database/index.d.ts +1 -1
  157. package/dist/server/src/api/database/index.js +1 -1
  158. package/dist/server/src/api/database/migrations/v2-1-6.d.ts +3 -0
  159. package/dist/server/src/api/database/migrations/v2-1-6.js +62 -0
  160. package/dist/server/src/api/database/migrations/v2-1-6.js.map +1 -0
  161. package/dist/server/src/api/database/migrations/v2-1-7.d.ts +3 -0
  162. package/dist/server/src/api/database/migrations/v2-1-7.js +44 -0
  163. package/dist/server/src/api/database/migrations/v2-1-7.js.map +1 -0
  164. package/dist/server/src/api/database/types.d.ts +1 -0
  165. package/dist/server/src/api/routes/cameras.routes.js +5 -62
  166. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  167. package/dist/server/src/api/schemas/cameras.schema.d.ts +365 -152
  168. package/dist/server/src/api/schemas/cameras.schema.js +47 -38
  169. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  170. package/dist/server/src/api/services/cameras.service.d.ts +2 -4
  171. package/dist/server/src/api/services/cameras.service.js +2 -32
  172. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  173. package/dist/server/src/api/types/index.d.ts +3 -9
  174. package/dist/server/src/automations/actions/cameraControl.js +15 -1
  175. package/dist/server/src/automations/actions/cameraControl.js.map +1 -1
  176. package/dist/server/src/automations/actions/notificationControl.js +10 -1
  177. package/dist/server/src/automations/actions/notificationControl.js.map +1 -1
  178. package/dist/server/src/camera/controller.d.ts +1 -0
  179. package/dist/server/src/camera/controller.js +21 -8
  180. package/dist/server/src/camera/controller.js.map +1 -1
  181. package/dist/server/src/camera/decoder/child.d.ts +2 -4
  182. package/dist/server/src/camera/decoder/child.js +4 -22
  183. package/dist/server/src/camera/decoder/child.js.map +1 -1
  184. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +5 -8
  185. package/dist/server/src/camera/decoder/detection-coordinator.js +53 -38
  186. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  187. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +11 -3
  188. package/dist/server/src/camera/decoder/detection-pipeline.js +72 -14
  189. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  190. package/dist/server/src/camera/decoder/event-manager.d.ts +2 -0
  191. package/dist/server/src/camera/decoder/event-manager.js +14 -0
  192. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  193. package/dist/server/src/camera/decoder/event-thumbnailer.d.ts +2 -0
  194. package/dist/server/src/camera/decoder/event-thumbnailer.js +1 -1
  195. package/dist/server/src/camera/decoder/event-thumbnailer.js.map +1 -1
  196. package/dist/server/src/camera/decoder/frame-scaler.d.ts +8 -2
  197. package/dist/server/src/camera/decoder/frame-scaler.js +56 -5
  198. package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -1
  199. package/dist/server/src/camera/decoder/ptz/autotracker.d.ts +4 -0
  200. package/dist/server/src/camera/decoder/ptz/autotracker.js +97 -18
  201. package/dist/server/src/camera/decoder/ptz/autotracker.js.map +1 -1
  202. package/dist/server/src/camera/decoder/sources/buffered-source.d.ts +2 -0
  203. package/dist/server/src/camera/decoder/sources/buffered-source.js +1 -1
  204. package/dist/server/src/camera/decoder/sources/buffered-source.js.map +1 -1
  205. package/dist/server/src/camera/decoder/types.d.ts +1 -0
  206. package/dist/server/src/camera/decoder/types.js +3 -0
  207. package/dist/server/src/camera/decoder/types.js.map +1 -1
  208. package/dist/server/src/camera/decoder/worker.js +4 -24
  209. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  210. package/dist/server/src/camera/index.d.ts +2 -4
  211. package/dist/server/src/camera/index.js +3 -8
  212. package/dist/server/src/camera/index.js.map +1 -1
  213. package/dist/server/src/camera/privacy/mask.d.ts +27 -0
  214. package/dist/server/src/camera/privacy/mask.js +204 -0
  215. package/dist/server/src/camera/privacy/mask.js.map +1 -0
  216. package/dist/server/src/camera/privacy/snapshot.d.ts +13 -0
  217. package/dist/server/src/camera/privacy/snapshot.js +126 -0
  218. package/dist/server/src/camera/privacy/snapshot.js.map +1 -0
  219. package/dist/server/src/camera/utils/filter.d.ts +3 -3
  220. package/dist/server/src/camera/utils/filter.js.map +1 -1
  221. package/dist/server/src/camera/zones.d.ts +2 -0
  222. package/dist/server/src/camera/zones.js +11 -0
  223. package/dist/server/src/camera/zones.js.map +1 -0
  224. package/dist/server/src/manager/notificationManager.d.ts +2 -0
  225. package/dist/server/src/manager/notificationManager.js +21 -2
  226. package/dist/server/src/manager/notificationManager.js.map +1 -1
  227. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +8 -13
  228. package/dist/server/src/plugins/schema.js +1 -1
  229. package/dist/server/src/plugins/schema.js.map +1 -1
  230. package/dist/server/src/rpc/interfaces/frameworker.d.ts +2 -4
  231. package/package.json +3 -3
  232. package/dist/interface/assets/Automation-DQyPNAzK.js +0 -3
  233. package/dist/interface/assets/AutomationImport-BDD_LuC1.js +0 -2
  234. package/dist/interface/assets/Camera-CYxRoESX.js +0 -2
  235. package/dist/interface/assets/Camview-CSb2iVBf.js +0 -1
  236. package/dist/interface/assets/Config-BKuXgZxF.js +0 -2
  237. package/dist/interface/assets/ConfigActionCameraControl-TFe1_K6j.js +0 -1
  238. package/dist/interface/assets/ConfigActionNotificationControl-DI_t2wHh.js +0 -1
  239. package/dist/interface/assets/ConfigTriggerGeofence-DJt-3FpV.js +0 -1
  240. package/dist/interface/assets/Console-BZB3MZKj.js +0 -1
  241. package/dist/interface/assets/CuiBottomSheet-BnKYWBBA.js +0 -1
  242. package/dist/interface/assets/CuiCameraPipCard-DaJlFY1g.js +0 -1
  243. package/dist/interface/assets/CuiCameraShares-CvKMe_kX.js +0 -1
  244. package/dist/interface/assets/CuiCameraTable-_7KwbPyM.js +0 -1
  245. package/dist/interface/assets/CuiPluginCard-CvNfBRhG.js +0 -2
  246. package/dist/interface/assets/CuiPluginCategoryChip-JG_8D7Wt.js +0 -1
  247. package/dist/interface/assets/CuiQRCode-Vd-1ssJK.js +0 -1
  248. package/dist/interface/assets/CuiRecordingsGrid-skKnK074.js +0 -1
  249. package/dist/interface/assets/CuiSchema-DvY3Bdnz.js +0 -1
  250. package/dist/interface/assets/FirstSteps-T4ra4jxE.js +0 -1
  251. package/dist/interface/assets/Instances-D_Td0oJ-.js +0 -1
  252. package/dist/interface/assets/Metrics-FFvFP2kR.js +0 -1
  253. package/dist/interface/assets/Plugin-CKcptqV9.js +0 -1
  254. package/dist/interface/assets/PluginSearch-D2efYsof.js +0 -1
  255. package/dist/interface/assets/PluginSearch-gY-PHMyu.js +0 -2
  256. package/dist/interface/assets/Recordings-80Xd1V3L.css +0 -1
  257. package/dist/interface/assets/Recordings-BlBmyZlM.js +0 -1
  258. package/dist/interface/assets/Sensors-B-Qhfr5i.css +0 -1
  259. package/dist/interface/assets/Sensors-CHbtecpf.js +0 -2
  260. package/dist/interface/assets/SettingsAccount-DA67jXmp.js +0 -1
  261. package/dist/interface/assets/SettingsAccount-DPPwXOlM.js +0 -1
  262. package/dist/interface/assets/SettingsAppearance-C92Nlobb.js +0 -1
  263. package/dist/interface/assets/SettingsMqtt-CuTZBTrA.js +0 -1
  264. package/dist/interface/assets/SettingsNotifications-D7Vs6NoU.js +0 -1
  265. package/dist/interface/assets/SettingsRemote-oDVzvhmy.js +0 -1
  266. package/dist/interface/assets/SettingsSystem-QfBIPq4i.js +0 -2
  267. package/dist/interface/assets/SettingsUsers-CqRJ8-7H.js +0 -1
  268. package/dist/interface/assets/Workers-tgzMqP3o.js +0 -2
  269. package/dist/interface/assets/api-1K2Gzz8B.js +0 -2
  270. package/dist/interface/assets/api-Bj4QRftG.css +0 -2
  271. package/dist/interface/assets/cameras.schema-CKnsFYBP.js +0 -1
  272. package/dist/interface/assets/cctv-BA5DvNlE.js +0 -1
  273. package/dist/interface/assets/cloudHandoff-qezHiAZI.js +0 -1
  274. package/dist/interface/assets/main-Ei2ORV9y.js +0 -3
  275. package/dist/interface/assets/mqtt-CCq5JGGk.js +0 -1
  276. package/dist/interface/assets/round-alt-arrow-left-bold-BxX4ufd0.js +0 -1
  277. package/dist/interface/assets/types-BTVMzSuj.js +0 -1
  278. package/dist/interface/assets/types-vaT6wuY0.js +0 -1
  279. package/dist/interface/assets/useAppVersion-BRc6OWZP.js +0 -1
  280. package/dist/interface/assets/useBackupRestore-DCO_Pw9q.js +0 -1
  281. package/dist/interface/assets/useElectron-CtslU_0f.js +0 -1
  282. package/dist/interface/assets/usePermissions-DpsfFydh.js +0 -1
  283. package/dist/interface/assets/usePushRegistration-Coz8RZob.js +0 -2
@@ -1 +0,0 @@
1
- import{Br as e,Lr as t,Rr as n,zr as r}from"./vendor-cameraui-C6beJsya.js";import{C as i,S as a,_ as o,a as s,b as c,c as l,d as u,f as ee,g as d,h as f,i as p,l as m,m as te,o as ne,p as re,s as h,u as g,v as ie,w as _,x as ae,y as v}from"./vendor-zod-Dbq0fBXY.js";o({tempToken:c().trim().min(1,`Temporary token is required`),code:c().trim().min(1,`Code is required`)}).strict(),o({code:c().trim().length(6,`Code must be 6 digits`)}).strict(),o({code:c().trim().min(1,`Code is required`)}).strict(),o({code:c().trim().min(1,`Code is required`)}).strict(),o({grant_type:c().optional(),username:c().trim().min(1,`Username is required`),password:c().min(1,`Password is required`),scope:c().optional(),client_id:c().optional(),client_secret:c().optional()}),o({refresh_token:c().min(1,`Refresh token is required`)}),o({id:c()}),o({name:c().trim().min(1,`Name is required`).max(64,`Name is too long`)}).strict(),o({id:c()});function oe(e){let t=[`kasa://`,`nest:`,`ring:`,`tapo://`];return e.some(e=>t.some(t=>e.startsWith(t)))}var se=[`#df2a4c`,`#2a7fdf`,`#2adf7f`,`#df7f2a`,`#7f2adf`,`#2adfdf`,`#df2adf`,`#7fdf2a`];function ce(){return se[Math.floor(Math.random()*se.length)]}function le(){return{name:`Default Zone`,points:[[0,0],[100,0],[100,100],[0,100]],type:`intersect`,filter:`include`,labels:[`motion`,`person`,`vehicle`,`animal`],isPrivacyMask:!1,color:ce()}}var ue=o({enabled:g().default(!0),mode:h([`continuous`,`event`,`adhoc`]).default(`continuous`),preBuffer:d().min(0).max(60).default(10),sources:m(h([`high`,`mid`,`low`])).default([`high`,`mid`,`low`])}).strict(),de={enabled:!0,mode:`continuous`,preBuffer:10,sources:[`high`,`mid`,`low`]},y=c().trim().min(1,`Detection label is required`),b=ae([d(),d()]),x=o({name:c().trim().min(1,`Zone Name is required`),points:b.array().min(3,`At least 3 points are required`),type:a([f(`intersect`),f(`contain`)]),filter:a([f(`include`),f(`exclude`)]),labels:y.array(),isPrivacyMask:g(),color:c().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),fe=o({name:c().trim().min(1,`Zone Name is required`),points:b.array().min(3,`At least 3 points are required`),labels:y.array(),match:a([f(`anchor`),f(`intersect`),f(`contain`)]).default(`contain`),color:c().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),S=o({name:c().trim().min(1,`Line Name is required`),points:ae([b,b]),direction:a([f(`both`),f(`a-to-b`),f(`b-to-a`)]),labels:y.array(),color:c().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),C=o({motion:o({resolution:a([f(`low`),f(`medium`),f(`high`)]),timeout:d().min(10,`Minimum 10 seconds`)}),object:o({confidence:d().min(.3,`Minimum 0.3`).max(1,`Maximum 1`),labels:y.array().optional(),suppressStatic:g().default(!0),timeout:d().min(10,`Minimum 10 seconds`).default(15)}),audio:o({minDecibels:d().min(-100,`Minimum -100 dBFS`).max(0,`Maximum 0 dBFS`),timeout:d().min(10,`Minimum 10 seconds`),confidence:d().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.7)}),face:o({confidence:d().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.5)}).default({confidence:.5}),licensePlate:o({confidence:d().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.9),minLength:d().int().min(1,`Minimum 1`).max(10,`Maximum 10`).default(4)}).default({confidence:.9,minLength:4}),sensor:o({timeout:d().min(10,`Minimum 10 seconds`),triggers:m(c().trim().min(1,`Sensor id is required`)).default([])}),cascadeDetection:g().default(!0),cascadeTimeout:d().min(1,`Minimum 1 second`).max(300,`Maximum 300 seconds`).default(10),snooze:g().default(!1)}),pe={enabled:!1,targetLabels:[`person`],minConfidence:.5,triggerDeadZone:.05,trackingSpeed:2,leadMs:1800,panRate:.85,returnToHome:!1,homeWaitMs:1e4},me=o({enabled:g().default(!1),targetLabels:c().trim().min(1,`Target label is required`).array().default([`person`]),minConfidence:d().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),triggerDeadZone:d().min(0,`Minimum 0`).max(.3,`Maximum 0.3`).default(.05),trackingSpeed:d().min(1,`Minimum 1`).max(5,`Maximum 5`).default(2),leadMs:d().min(0,`Minimum 0`).max(4e3,`Maximum 4000 ms`).default(1800),panRate:d().min(.1,`Minimum 0.1`).max(3,`Maximum 3`).default(.85),returnToHome:g().default(!1),homeWaitMs:d().min(1e3,`Minimum 1000 ms`).max(6e4,`Maximum 60000 ms`).default(1e4)}),w=a([f(`high-resolution`),f(`mid-resolution`),f(`low-resolution`),f(`snapshot`)]),he=a([f(`high-resolution`),f(`mid-resolution`),f(`low-resolution`)]),ge=a([f(`bubble://`),f(`cui://`),f(`doorbird://`),f(`dvrip://`),f(`eseecloud://`),f(`ffmpeg:`),f(`flussonic://`),f(`gopro://`),f(`hass:`),f(`homekit://`),f(`http://`),f(`https://`),f(`httpx://`),f(`isapi://`),f(`ivideon:`),f(`kasa://`),f(`nest:`),f(`onvif://`),f(`ring:`),f(`roborock://`),f(`rtmp://`),f(`rtsp://`),f(`rtspx://`),f(`tapo://`),f(`tcp://`),f(`tuya://`),f(`xiaomi://`),f(`yandex:`),f(`webrtc:`),f(`webtorrent:`),f(`wyze://`)]).options.map(e=>e.value),_e=RegExp(`^(${ge.join(`|`)})`),ve=c().refine(e=>{if(!_e.test(e))return!1;try{return new URL(e),!0}catch{return!1}},{message:`Invalid URL format or unsupported protocol`}),ye=o({_id:c().default(n()).transform(()=>n()),name:c().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:w,useForSnapshot:g().default(!1),hotMode:g().default(!0),preload:g().default(!0),muted:g().default(!1),urls:ve.array().min(1,`At least one valid URL is required`),childSourceId:c().trim().min(1,`Child Source ID is required`).nullish().transform(e=>e??void 0).optional()}).strict().transform(e=>e.role===`snapshot`?{...e,useForSnapshot:!1,hotMode:!1,preload:!1}:e),be=o({_id:c().default(n()).transform(()=>n()),name:c().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:w,useForSnapshot:g().default(!1),hotMode:g().default(!0),preload:g().default(!0),muted:g().default(!1),urls:ve.array().min(1,`At least one valid URL is required`),childSourceId:c().trim().min(1,`Child Source ID is required`).nullish().transform(e=>e??void 0).optional()}).strict().transform(e=>e.role===`snapshot`?{...e,useForSnapshot:!1,hotMode:!1,preload:!1}:e),T=o({id:c(),name:c().trim()}),xe=o({motion:T.optional(),object:T.optional(),objectAssist:T.optional(),audio:T.optional(),face:T.optional(),licensePlate:T.optional(),ptz:T.optional(),battery:T.optional(),cameraController:T.optional(),clip:T.optional(),classifier:T.array().optional(),light:T.array().optional(),siren:T.array().optional(),switch:T.array().optional(),securitySystem:T.array().optional(),contact:T.array().optional(),doorbell:T.array().optional(),lock:T.array().optional(),temperature:T.array().optional(),humidity:T.array().optional(),occupancy:T.array().optional(),smoke:T.array().optional(),leak:T.array().optional(),garage:T.array().optional(),gas:T.array().optional(),carbonMonoxide:T.array().optional(),carbonDioxide:T.array().optional(),heat:T.array().optional(),cold:T.array().optional(),vibration:T.array().optional(),tamper:T.array().optional(),problem:T.array().optional(),power:T.array().optional(),illuminance:T.array().optional(),hub:T.array().optional()}).strict(),Se=a([f(`auto`),f(`mse`),f(`webrtc`),f(`webrtc/tcp`)]),Ce=c().regex(/^\d+(?:\.\d+)?:\d+(?:\.\d+)?$/,`Use a width:height ratio, e.g. 16:9`).refine(e=>{let[t,n]=e.split(`:`).map(Number);return Number.isFinite(t)&&Number.isFinite(n)&&t>0&&n>0},`Both sides must be greater than 0`).transform(e=>e),E=o({hardware:h([`auto`,`cpu`,`cuda`,`vaapi`,`qsv`,`videotoolbox`,`d3d11va`,`d3d12va`,`dxva2`,`vulkan`,`opencl`,`drm`,`rkmpp`]).default(`auto`),device:c().trim().max(128).optional()}).strict(),D=o({mainStreamAnalysis:g().default(!1),decoder:E.optional(),workerDecoder:E.nullable().transform(e=>e??void 0).optional()}),O=a([f(`camera`),f(`doorbell`)]),k=o({streamingMode:Se,streamingSource:he,aspectRatio:Ce}),A=o({model:c().trim().optional(),manufacturer:c().trim().optional(),hardware:c().trim().optional(),serialNumber:c().trim().optional(),firmwareVersion:c().trim().optional(),supportUrl:c().trim().optional()}),we=o({id:c(),name:c().trim()}).strict(),j=o({autoRefresh:g().default(!0),ttl:d().min(10,`Minimum 10 seconds`).max(60,`Maximum 60 seconds`).default(50),interval:d().min(10,`Minimum 10 seconds`).max(60,`Maximum 60 seconds`).default(60)}).strict(),M=o({_id:c().default(n()).transform(()=>n()),nativeId:c().trim().optional(),pluginInfo:we.optional(),disabled:g().default(!1),name:c().trim().min(1,`Camera name is required`),room:c().trim().min(1,`Room is required`).default(`Default`),type:O.default(`camera`),isCloud:g().default(!1),snapshotSettings:j.default({autoRefresh:!0,ttl:50,interval:60}),info:A.default({model:`IP Camera`,manufacturer:`camera.ui`,hardware:`Camera`,serialNumber:`Unknown`,firmwareVersion:`Unknown`,supportUrl:`Unknown`}),sources:ye.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>{let t=e.map(e=>e.role).filter(Boolean);return new Set(t).size===t.length},{message:`Each source role can be assigned to only one source`,path:[`sources`]}),plugins:T.array().default([]),assignments:xe.default({}),interfaceSettings:k.default({streamingMode:`webrtc`,streamingSource:`high-resolution`,aspectRatio:`16:9`}),detectionZones:x.default([]),alertZones:fe.default([]),detectionLines:S.default([]),detectionSettings:C.default({motion:{resolution:`low`,timeout:30},object:{confidence:.5,suppressStatic:!0,timeout:15},audio:{minDecibels:-40,timeout:30,confidence:.7},face:{confidence:.5},licensePlate:{confidence:.9,minLength:4},sensor:{timeout:30,triggers:[]},cascadeDetection:!0,cascadeTimeout:10,snooze:!1}),ptzAutotrack:me.default(pe),recordingSettings:ue.default(de),frameWorkerSettings:D.default({mainStreamAnalysis:!1})}).strict();M.transform(e=>{let t=e.sources.flatMap(e=>e.urls),n=e.detectionZones.length===0?[le()]:e.detectionZones;return e.isCloud||oe(t)?{...e,isCloud:!0,detectionZones:n}:{...e,detectionZones:n}});var Te=o({disabled:g().optional(),type:O.optional(),name:c().trim().min(1,`Camera name is required`).optional(),room:c().trim().min(1,`Room is required`).optional(),isCloud:g().optional(),snapshotSettings:j.partial().optional(),info:A.partial().optional(),sources:be.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>{let t=e.map(e=>e.role).filter(Boolean);return new Set(t).size===t.length},{message:`Each source role can be assigned to only one source`,path:[`sources`]}).optional(),plugins:T.array().optional(),assignments:xe.partial().optional(),interfaceSettings:k.partial().optional(),detectionZones:x.optional(),detectionLines:S.optional(),detectionSettings:C.partial().optional(),ptzAutotrack:me.partial().optional(),recordingSettings:ue.partial().optional(),frameWorkerSettings:D.partial().optional()}).strict().transform(e=>{if(e.sources){let t=e.sources.flatMap(e=>e.urls);if(e.isCloud===!0||oe(t))return{...e,isCloud:!0}}return e});o({url:c().trim().refine(e=>!/^\s*(exec|echo|expr):/i.test(e),`Command-execution stream sources are not allowed`)}).strict(),o({cameraname:c()}),o({cameraname:c(),sourcename:c()}),o({cameraid:c(),sourcename:c()}),o({cameraname:c(),pluginname:c()}),o({cameraname:c(),scope:c(),pluginname:c()}),o({cameraname:c(),pluginname:c(),sensorId:c()}),o({cameraname:c(),scope:c(),pluginname:c(),sensorId:c()}),o({type:c().optional()}),o({video:p().optional(),audio:p().optional(),microphone:p().optional(),refresh:p().optional()}),o({forceNew:p().optional()}),o({cameranames:m(c().min(1)).min(1).max(1e3),cameraData:o({disabled:g().optional(),detectionSettings:o({snooze:g()}).optional(),recordingSettings:o({enabled:g()}).optional()}).refine(e=>e.disabled!==void 0||e.detectionSettings!==void 0||e.recordingSettings!==void 0,{message:`Nothing to update`})}),o({cameranames:m(c().min(1)).min(1).max(1e3)}),o({name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`),url:_(`Must be a valid URL`).trim(),credentials:o({username:c().trim().min(1,`Username is required`),password:c().min(1,`Password is required`)})}),o({name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional(),url:_(`Must be a valid URL`).trim().optional(),credentials:o({username:c().trim().min(1,`Username is required`),password:c().min(1,`Password is required`)}).nullable().optional()}),o({id:c().min(1,`ID is required`)}),o({code:c().trim().min(1,`Code is required`).optional()}).optional(),o({ids:m(c().min(1)).min(1).max(1e3)});var N=/^[\w-]+(\/[\w-]+)*$/,Ee=o({enabled:g().optional(),mode:h([`external`,`embedded`]).optional(),broker:o({port:d().int().min(1).max(65535).optional(),username:c().trim().max(200,`Username cannot be more than 200 characters`).nullable().optional(),password:c().max(500,`Password cannot be more than 500 characters`).nullable().optional()}).strict().optional(),host:c().trim().min(1,`Host is required`).max(253,`Host cannot be more than 253 characters`).nullable().optional(),port:d().int().min(1).max(65535).optional(),protocol:h([`mqtt`,`mqtts`]).optional(),username:c().trim().max(200,`Username cannot be more than 200 characters`).nullable().optional(),password:c().max(500,`Password cannot be more than 500 characters`).nullable().optional(),clientId:c().trim().min(1,`Client ID is required`).max(128,`Client ID cannot be more than 128 characters`).optional(),topicPrefix:c().trim().min(1,`Topic prefix is required`).max(128,`Topic prefix cannot be more than 128 characters`).regex(N,`Topic prefix may only contain letters, numbers, "_", "-" and "/" separators`).optional(),tls:o({rejectUnauthorized:g().optional(),ca:c().trim().nullable().optional(),cert:c().trim().nullable().optional(),key:c().trim().nullable().optional()}).strict().optional(),haDiscovery:o({enabled:g().optional(),prefix:c().trim().min(1,`Discovery prefix is required`).max(128,`Discovery prefix cannot be more than 128 characters`).regex(N,`Discovery prefix may only contain letters, numbers, "_", "-" and "/" separators`).optional()}).strict().optional()}).strict(),De=/^((@[\w-.]*)\/)?(camera-ui-[\w-]*)$/,Oe=function(e){return e.READY=`ready`,e.STARTING=`starting`,e.STARTED=`started`,e.STOPPING=`stopping`,e.STOPPED=`stopped`,e.ERROR=`error`,e.UNKNOWN=`unknown`,e.DISABLED=`disabled`,e.INCOMPATIBLE=`incompatible`,e.UPDATE_REQUIRED=`update_required`,e.SERVER_UPDATE_REQUIRED=`server_update_required`,e}({});function P(e){return e.mimetype!==void 0}function ke(e){return P(e)?Buffer.byteLength(e._buf):e.size}function Ae(e){return P(e)?e.mimetype:e.type}function F(e,t,n,r){return u().refine(t=>ke(t)<=e,n).refine(e=>t.includes(Ae(e)),r)}var je=o({start:s().optional(),page:s().optional(),pageSize:s().optional()}),I=[`image/jpeg`,`image/png`],Me=2097152,L=[`video/mp4`,`video/quicktime`],R=10485760,z=[`audio/mpeg`,`audio/wav`,`audio/ogg`],Ne=2097152,B=()=>F(Me,I,`Max file size is 2 MB`,`.jpeg and .png files are accepted`),V=u().transform(e=>JSON.parse(e.value)),H=u().transform(e=>JSON.parse(e.value)),Pe=u().transform(e=>JSON.parse(e.value)),Fe=o({pluginname:c().trim().refine(e=>De.test(e),`Not a valid plugin name`),pluginversion:c().trim().refine(e=>/^[a-z][\w-]*$/i.test(e)||/^v?\d+\.\d+\.\d+(?:[-+][\w.-]+)?$/i.test(e),`Not a valid plugin version (expected a dist-tag or exact semver)`).optional().default(`latest`)}).strict();o({actionId:c(),payload:l()}).strict(),v(l(),l()),o({upload:B(),metadata:H,config:V}),o({upload:F(Ne,z,`Max file size is 2 MB`,`.mp3, .wav and .ogg files are accepted`),metadata:Pe,config:V}),o({upload:F(R,L,`Max file size is 5 MB`,`.mp4 files are accepted`),config:V}),o({upload:B(),metadata:H,config:V}),o({upload:B(),metadata:H,config:V}),o({upload:B(),metadata:H,config:V}),o({pluginname:c()}),o({scope:c(),pluginname:c()}),je.extend({pluginname:c().trim().optional(),refresh:p().optional()}),o({removeStorage:p().optional()}),o({pluginversion:c().trim().optional()}),o({pluginNames:m(c().trim().min(1)).min(1).max(1e3)}),o({plugins:m(Fe).min(1).max(1e3)});var Ie=o({enabled:g().optional(),directEnabled:g().optional(),directMode:h([`cloudflare`,`customDomain`]).optional(),customDomain:o({url:_(`Must be a valid URL`).trim().nullable()}).strict().optional(),cloudflare:o({mode:h([`quick`,`token`,`managed`]).optional(),hostname:c().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).nullable().optional(),token:c().trim().min(1,`Token is required`).nullable().optional()}).strict().optional()}).strict().refine(e=>!(e.directMode===`customDomain`&&!e.customDomain?.url),{message:`Custom domain URL is required when directMode is "customDomain"`,path:[`customDomain`,`url`]}).refine(e=>!(e.cloudflare?.mode&&e.cloudflare.mode!==`quick`&&!e.cloudflare?.hostname),{message:`Hostname is required when cloudflare.mode is "token" or "managed"`,path:[`cloudflare`,`hostname`]});o({mode:h([`cloudflare`,`customDomain`])}).strict(),o({hostname:c().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).regex(/^[a-z0-9.-]+\.[a-z]{2,}$/i,`Invalid hostname`)}).strict(),o({name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),o({name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),o({name:c().trim().min(1,`Server name is required`).max(100,`Server name cannot be more than 100 characters`)}).strict(),o({version:c().trim().optional().default(`latest`)}).strict();var Le=o({serverAddresses:a([re().trim(),te().trim()]).array().default([])}).strict();o({version:c().trim()}).strict(),v(c(),l()),o({key:c()}).strict(),o({key:c(),payload:l()}).strict();function Re(){let e={};for(let t of r)e[t.type]={category:t.category,assignmentKey:t.assignmentKey,multiProvider:t.multiProvider,isDetectionType:t.isDetectionType,cameraBound:t.cameraBound??!1,...t.cascadeTrigger?{cascadeTrigger:t.cascadeTrigger}:{}};return e}var U=Re();Object.fromEntries(r.filter(e=>e.propertyCapabilities).map(e=>[e.type,e.propertyCapabilities]));function ze(){return Object.entries(U).filter(([,e])=>e.multiProvider).map(([e])=>e)}function Be(){return r.filter(e=>e.shortcutable).map(e=>e.type)}function Ve(){return Object.entries(U).filter(([,e])=>e.isDetectionType).map(([e])=>e)}function He(e){return U[e].assignmentKey}function Ue(){return Object.entries(U).filter(([,t])=>t.category===e.Sensor&&!t.multiProvider).map(([e])=>e)}function We(){return Object.entries(U).filter(([,t])=>!t.multiProvider&&t.category!==e.Sensor).map(([e])=>e)}function Ge(){return Object.entries(U).filter(([,e])=>e.multiProvider).map(([e])=>e)}function Ke(e){return!U[e].multiProvider}Object.fromEntries(r.map(e=>[e.type,Object.keys(e.properties)]));var W=Object.fromEntries(r.map(e=>[e.type,e.properties]));function qe(e,t){return W[e]?.[t]}function Je(e){let t=W[e];return t?Object.entries(t).filter(([,e])=>!e.internal).map(([e])=>e):[]}function Ye(e){let t=W[e];return t?Object.entries(t).filter(([,e])=>e.writable).map(([e])=>e):[]}function Xe(t,n){let r=U[t];return r?r.category===e.Control||r.category===e.Trigger||n===`cameraui.virtual`&&!r.isDetectionType:!1}new Set(ze()),new Set(Ve());var Ze=`cameraui.virtual`,Qe=r.filter(e=>e.virtual).map(e=>e.type);Object.fromEntries(r.filter(e=>e.virtual).map(e=>[e.type,e.virtual?.properties??{}])),Object.fromEntries(r.filter(e=>e.virtual?.capabilities).map(e=>[e.type,e.virtual?.capabilities])),o({id:c().min(1,`Sensor ID is required`)});var $e=o({cameraId:c().min(1).optional(),type:h(Qe),name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`)});o({displayName:c().trim().min(1,`Display name is required`).max(100,`Display name cannot be more than 100 characters`).optional(),assignedCameraIds:m(c().min(1)).optional(),exposed:g().optional(),hidden:g().optional()}).refine(e=>e.displayName!==void 0||e.assignedCameraIds!==void 0||e.exposed!==void 0||e.hidden!==void 0,{message:`Nothing to update`}),o({property:c().trim().min(1,`Property is required`),value:i()}),o({ids:m(c()).min(1).max(1e4)}),o({ids:m(c()).min(1).max(1e4),data:o({hidden:g()})});var et=[`de`,`en`],tt=[`image/jpeg`,`image/jpg`,`image/png`],nt=5242880,rt=o({index:d(),cameraId:c(),colSpan:d().optional(),rowSpan:d().optional(),x:d().optional(),y:d().optional()}),it=a([f(1),f(4),f(6),f(7),f(9),f(10),f(12),f(13),f(15),f(16),f(20),f(26)]),at=a([f(`dnd`),f(`view`)]),ot=o({_id:c().default(n()).transform(()=>n()),name:c().trim().min(1,`Layout name is required`),viewSize:it,cameras:rt.array(),type:at});o({name:c().trim().min(1,`Layout name is required`),viewSize:it,cameras:rt.array()}).partial().optional();var st=o({views:ot.array()}),ct=r.filter(e=>e.shortcutable).map(e=>String(e.type)),G=h(ct),lt=o({_id:c().default(n()).transform(()=>n()),type:f(`camera`),cameraId:c(),points:b}),ut=o({_id:c().default(n()).transform(()=>n()),type:f(`sensor`),sensorId:c(),sensorType:G,points:b}),dt=ee(`type`,[lt,ut]),ft=o({type:f(`camera`),cameraId:c(),points:b}).partial(),pt=o({type:f(`sensor`),sensorId:c(),sensorType:G,points:b}).partial();a([ft,pt]).optional();var mt=o({shortcuts:dt.array()}),ht=h([`auto`,...et]),gt=o({ungrouped:g()}),_t=o({main:c().array(),manage:c().array(),system:c().array(),settings:c().array()}).partial(),vt=o({main:g(),manage:g(),system:g(),settings:g()}).partial(),yt=o({order:_t.optional(),collapsible:vt.optional(),settingsInNav:g().optional(),hidden:c().array().optional()}),bt=o({language:ht.optional(),camview:st,cameras:v(c().trim(),mt),recordings:gt.optional(),navLayout:yt.nullable().optional()}),K=c().trim().min(10,`Password must be at least 10 characters long`).regex(/[A-Z]/,`Password must contain at least one uppercase letter`).regex(/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/,`Password must contain at least one special character (!@#$%^&*()_+-=[]{};:'"\\|,.<>/?)`).max(32,`Password cannot be more than 32 characters`),xt=o({_id:c().default(n()).transform(()=>n()),username:c().trim().min(1,`Username is required`),password:K,passwordConfirm:c().trim().min(1,`Please confirm your password`),role:a([f(`admin`),f(`user`)]),firstLogin:g().default(!0),preferences:bt.default({language:`auto`,camview:{views:[]},cameras:{}})}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});o({username:c().trim().min(1,`Username is required`),password:c().trim().min(1,`Password is required`),kind:h([`native`,`web`,`tv`]),persistent:g().default(!1),device:o({id:c().min(1,`Device id is required`).max(128,`Device id cannot be more than 128 characters`),name:c().trim().min(1,`Device name is required`).max(100,`Device name cannot be more than 100 characters`)})}).strict();var St=o({username:c().trim().min(1,`Username is required`).optional(),password:K.optional(),passwordConfirm:c().trim().optional(),role:a([f(`admin`),f(`user`)]).optional(),upload:ie(F(nt,tt,`Max file size is 5MB.`,`.jpg, .jpeg, .png files are accepted.`)),firstLogin:g().optional(),preferences:bt.partial().optional()}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});o({username:c()}),o({username:c(),cameraname:c()}),o({username:c(),cameraname:c(),shortcutid:c()}),o({username:c(),viewid:c()}),o({username:c()}),o({cameraId:c().min(1,`Camera ID is required`),agentId:c().min(1,`Agent ID is required`)}),o({cameraId:c().min(1,`Camera ID is required`)}),o({agentId:c().min(1,`Agent ID is required`)}),o({code:c().min(1,`Pairing code is required`),agentId:c().min(1,`Agent ID is required`),name:c().min(1,`Worker name is required`)}),o({pluginName:c().min(1,`Plugin name is required`),agentId:c().min(1,`Agent ID is required`)}),o({pluginName:c().min(1,`Plugin name is required`)}),o({name:c().trim().min(1,`Name is required`).max(64,`Maximum 64 characters`)}),o({enabled:g().optional(),address:c().trim().optional(),port:d().min(1024,`Minimum 1024`).max(65535,`Maximum 65535`).optional()}).strict();function Ct(e){return e.type===`string`&&!(`enum`in e)}function wt(e){return e.type===`number`}function Tt(e){return e.type===`boolean`}function q(e){return e.type===`string`&&`enum`in e}function Et(e){return e.type===`array`}function Dt(e){return e.type===`object`}function J(e){return e.type===`button`}function Y(e){return e.type===`submit`}function Ot(e){return Ct(e)&&(!e.format||e.format!==`qrCode`&&e.format!==`image`)}var kt=(e,t)=>{let n=Q(t,e.key),r=e.value;switch(e.operator??`eq`){case`eq`:return n===r;case`neq`:return n==null||n===``?!1:n!==r;case`gt`:return typeof n==`number`&&typeof r==`number`&&n>r;case`lt`:return typeof n==`number`&&typeof r==`number`&&n<r;case`in`:return(Array.isArray(r)?r:[r]).includes(n);case`nin`:return n==null||n===``?!1:!(Array.isArray(r)?r:[r]).includes(n);default:return!0}};function X(e,t){return Array.isArray(e)?e.every(e=>kt(e,t)):kt(e,t)}function At(e,n){if(!e||Object.keys(e).length===0)return!0;let r=n.filter(e=>!J(e)&&!Y(e));for(let n of r){let r=Q(e,n.key),i=Z(n);if(r!==void 0&&!t(r,i,!0))return!1}return!0}function Z(e){if(`defaultValue`in e&&e.defaultValue!==void 0)return e.defaultValue;switch(e.type){case`string`:return q(e)?e.multiple?[]:e.required?e.enum[0]:``:``;case`number`:return 0;case`boolean`:return!1;case`array`:return[];case`object`:{let t={};for(let n of e.properties??[])J(n)||Y(n)||(t[n.key]=Z(n));return t}default:return}}function jt(e){let t={};for(let n of e)J(n)||Y(n)||(t[n.key]=Z(n));return t}function Mt(e){return e.split(`.`).reduce((e,t)=>{if(t.includes(`[`)){let[n,r]=t.split(`[`);e.push(n,r.slice(0,-1))}else e.push(t);return e},[])}function Nt(e){return!isNaN(Number(e))}function Q(e={},t){if(!t.includes(`.`)&&!t.includes(`[`))return e[t];let n=e;for(let e of Mt(t)){if(n==null)return;n=n[e]}return n}function Pt(e,t,n){if(!t.includes(`.`)&&!t.includes(`[`)){e[t]=n;return}let r=Mt(t),i=r.pop();if(!i)return;let a=e;for(let e=0;e<r.length;e++){let t=r[e];(typeof a[t]!=`object`||a[t]===null)&&(a[t]=Nt(r[e+1]??i)?[]:{}),a=a[t]}a[i]=n}function Ft(e,t){let n={};for(let r of e)if(`store`in r&&r.store&&!J(r)&&!Y(r)){let e=Q(t,r.key);e!==void 0&&(n[r.key]=e)}return n}function It(e,t){return t?e.filter(e=>`group`in e&&e.group===t):e}function Lt(e,t){let n=It(e,t);return n.length>0&&n.every(e=>`readonly`in e&&e.readonly)}function Rt(e,t){let n=It(e,t);return n.length>0&&n.some(e=>`store`in e&&e.store)}function zt(e,t){if(!t)return!0;let n={"date-time":e=>/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})?$/.test(e),date:e=>/^\d{4}-\d{2}-\d{2}$/.test(e),time:e=>/^([01]?[0-9]|2[0-3]):([0-5][0-9])(:([0-5][0-9]))?$/.test(e),email:e=>/^\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,7}\b$/.test(e),uuid:e=>/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(e),ipv4:e=>/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(e),ipv6:e=>/^\s*([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4})\s*$/.test(e)};return t in n?n[t](e):!0}function $(e){if(J(e)||Y(e))return l();switch(e.type){case`string`:if(q(e))if(e.multiple){let t=m(c().trim().refine(t=>e.enum.includes(t),{error:`Invalid selection`}));return e.minItems===void 0?e.required&&(t=t.min(1,{error:`Required`})):t=t.min(e.minItems,{error:`Select at least ${e.minItems}`}),e.required?t:t.optional()}else{let t=h(e.enum);return e.required?t:t.optional()}let t=c().trim();return e.required&&(t=t.nonempty(`Required`)),e.minLength!==void 0&&(t=t.min(e.minLength)),e.maxLength!==void 0&&(t=t.max(e.maxLength)),e.format&&(t=t.refine(t=>!t||t.trim()===``||zt(t,e.format),{message:`Invalid ${e.format} format`})),e.required?t:t.optional();case`number`:let n=d();return e.minimum!==void 0&&(n=n.min(e.minimum)),e.maximum!==void 0&&(n=n.max(e.maximum)),e.required&&(n=n.refine(e=>e!=null,{error:`Required`})),e.required?n:n.optional();case`boolean`:return e.required?g():g().optional();case`array`:{let t=e.items?$(e.items):l(),n=m(t);return e.minItems!==void 0&&(n=n.min(e.minItems,{error:`At least ${e.minItems} entries required`})),e.required?n:n.optional()}case`object`:{let t={};for(let n of e.properties??[])J(n)||Y(n)||(t[n.key]=$(n));let n=o(t);return e.required?n:n.optional()}default:return e.required?l():l().optional()}}var Bt=(e,t,n)=>t.filter(e=>`group`in e&&e.group===n).some(t=>{let n=e[t.key];return n!=null&&n!==``});function Vt(e){let t={},n=new Set;e.forEach(e=>{`group`in e&&e.group&&n.add(e.group)}),e.forEach(e=>{if(!J(e)&&!Y(e)){let n=`group`in e&&e.group,r=`condition`in e&&e.condition;(n||r)&&e.required?t[e.key]=$({...e,required:!1}):t[e.key]=$(e)}});let r=o(t),i=e.filter(e=>`condition`in e&&e.condition&&`required`in e&&e.required&&!J(e)&&!Y(e));return(n.size>0||i.length>0)&&(r=r.superRefine((t,r)=>{for(let i of n)if(Bt(t,e,i)){let n=e.filter(e=>`group`in e&&e.group===i);for(let e of n)if(`required`in e&&e.required){if(`condition`in e&&e.condition&&!X(e.condition,t))continue;let n=t[e.key];(n==null||n===``)&&r.addIssue({code:ne.custom,message:`Required`,path:[e.key]})}}for(let e of i)if(!(`group`in e&&e.group)&&`condition`in e&&e.condition&&X(e.condition,t)){let n=t[e.key];(n==null||n===``)&&r.addIssue({code:ne.custom,message:`Required`,path:[e.key]})}})),r}export{x as $,Ge as A,Le as B,K as C,U as D,$e as E,qe as F,Ne as G,z as H,Be as I,Ee as J,R as K,Ye as L,We as M,Ue as N,Ze as O,Je as P,S as Q,Ke as R,xt as S,ot as T,L as U,Ie as V,I as W,ge as X,fe as Y,M as Z,Lt as _,Vt as a,nt as b,Tt as c,q as d,w as et,wt as f,Ot as g,Y as h,Ft as i,He as j,Qe as k,J as l,Ct as m,jt as n,Q as o,Dt as p,Oe as q,Z as r,Et as s,X as t,Te as tt,At as u,Rt as v,St as w,et as x,Pt as y,Xe as z};
@@ -1 +0,0 @@
1
- var e={trigger:`#22c55e`,condition:`#f59e0b`,action:`#3b82f6`,utility:`#8b5cf6`},t={mode:`drag`},n=[{key:`detectionSettings.snooze`,labelKey:`components.automation_nodes.camera_prop_snooze`,inputType:`boolean`,defaultValue:`false`},{key:`disabled`,labelKey:`components.automation_nodes.camera_prop_disabled`,inputType:`boolean`,defaultValue:`false`},{key:`recordingSettings.enabled`,labelKey:`components.automation_nodes.camera_prop_recording`,inputType:`boolean`,defaultValue:`true`},{key:`recordingSettings.mode`,labelKey:`components.automation_nodes.camera_prop_recording_mode`,inputType:`select`,options:[{label:`Continuous`,value:`continuous`},{label:`Event`,value:`event`},{label:`Adhoc`,value:`adhoc`}],defaultValue:`continuous`},{key:`recordingSettings.preBuffer`,labelKey:`components.automation_nodes.camera_prop_recording_prebuffer`,inputType:`number`,min:0,max:60,step:1,defaultValue:`10`},{key:`ptzAutotrack.enabled`,labelKey:`components.automation_nodes.camera_prop_ptz_autotrack`,inputType:`boolean`,defaultValue:`false`},{key:`detectionSettings.object.confidence`,labelKey:`components.automation_nodes.camera_prop_object_confidence`,inputType:`number`,min:.3,max:1,step:.05,defaultValue:`0.5`},{key:`detectionSettings.motion.timeout`,labelKey:`components.automation_nodes.camera_prop_motion_timeout`,inputType:`number`,min:10,defaultValue:`30`},{key:`detectionSettings.motion.resolution`,labelKey:`components.automation_nodes.camera_prop_motion_resolution`,inputType:`select`,options:[{label:`Low`,value:`low`},{label:`Medium`,value:`medium`},{label:`High`,value:`high`}],defaultValue:`low`},{key:`detectionSettings.audio.timeout`,labelKey:`components.automation_nodes.camera_prop_audio_timeout`,inputType:`number`,min:10,defaultValue:`30`},{key:`detectionSettings.audio.minDecibels`,labelKey:`components.automation_nodes.camera_prop_audio_min_decibels`,inputType:`number`,min:-100,max:0,defaultValue:`-40`},{key:`detectionSettings.audio.confidence`,labelKey:`components.automation_nodes.camera_prop_audio_confidence`,inputType:`number`,min:0,max:1,step:.05,defaultValue:`0.7`},{key:`detectionSettings.object.suppressStatic`,labelKey:`components.automation_nodes.camera_prop_suppress_static`,inputType:`boolean`,defaultValue:`true`},{key:`detectionSettings.face.confidence`,labelKey:`components.automation_nodes.camera_prop_face_confidence`,inputType:`number`,min:0,max:1,step:.05,defaultValue:`0.5`},{key:`detectionSettings.licensePlate.confidence`,labelKey:`components.automation_nodes.camera_prop_plate_confidence`,inputType:`number`,min:0,max:1,step:.05,defaultValue:`0.9`},{key:`detectionSettings.licensePlate.minLength`,labelKey:`components.automation_nodes.camera_prop_plate_min_length`,inputType:`number`,min:1,max:10,step:1,defaultValue:`4`},{key:`detectionSettings.sensor.timeout`,labelKey:`components.automation_nodes.camera_prop_sensor_timeout`,inputType:`number`,min:10,defaultValue:`30`},{key:`detectionSettings.cascadeDetection`,labelKey:`components.automation_nodes.camera_prop_cascade_detection`,inputType:`boolean`,defaultValue:`true`},{key:`detectionSettings.cascadeTimeout`,labelKey:`components.automation_nodes.camera_prop_cascade_timeout`,inputType:`number`,min:1,max:300,defaultValue:`10`},{key:`frameWorkerSettings.mainStreamAnalysis`,labelKey:`components.automation_nodes.camera_prop_main_stream_analysis`,inputType:`boolean`,defaultValue:`false`},{key:`snapshotSettings.autoRefresh`,labelKey:`components.automation_nodes.camera_prop_auto_refresh`,inputType:`boolean`,defaultValue:`false`},{key:`snapshotSettings.interval`,labelKey:`components.automation_nodes.camera_prop_snapshot_interval`,inputType:`number`,min:10,max:60,defaultValue:`60`},{key:`snapshotSettings.ttl`,labelKey:`components.automation_nodes.camera_prop_snapshot_ttl`,inputType:`number`,min:10,max:60,defaultValue:`50`}];export{e as n,t as r,n as t};
@@ -1 +0,0 @@
1
- import"./api-1K2Gzz8B.js";import{cr as e}from"./vendor-BaiDFVEr.js";import{t}from"./useElectron-CtslU_0f.js";function n(){let{electron:n}=t(),r=e(null);return{uiVersion:`2.0.0`,appVersion:r,nativeVersion:e(null),refreshAppVersion:async()=>{if(n)try{let e=await n.invoke(`get-app-version`);r.value=typeof e==`string`?e:null}catch{r.value=null}}}}export{n as t};
@@ -1 +0,0 @@
1
- import{Cr as e,g as t,mr as n,s as r}from"./api-1K2Gzz8B.js";import{cr as i}from"./vendor-BaiDFVEr.js";import{a}from"./server-alwZXRo-.js";import{n as o}from"./useServerRestart-Bqpn8N4T.js";var s=3e5;async function c(t){return(await e.post(`/backup/download`,{localStorage:t},{responseType:`arraybuffer`,timeout:s})).data}async function l(t,n){return(await e.post(`/backup/restore`,t,{timeout:s,onUploadProgress:e=>{e.total&&n?.(Math.round(e.loaded/e.total*100))}})).data}async function u(){return(await e.get(`/backup/scheduler`)).data}async function d(t){return(await e.patch(`/backup/scheduler`,t)).data}async function f(){return(await e.post(`/backup/scheduler/run`)).data}async function p(t){return(await e.get(`/backup/scheduler/backups/${encodeURIComponent(t)}`,{responseType:`arraybuffer`,timeout:s})).data}async function m(t){await e.delete(`/backup/scheduler/backups/${encodeURIComponent(t)}`)}var h=i(!1),g=i(`idle`),_=i(0),v=i(``),y=h;function b(e){e.theme&&localStorage.setItem(`theme`,JSON.stringify(e.theme)),e.language&&localStorage.setItem(`language`,e.language),e.ui&&localStorage.setItem(`ui`,JSON.stringify(e.ui))}function x(){async function e(e){let i=n();h.value=!0,g.value=`uploading`,_.value=0,v.value=``;try{let t=new FormData;t.append(`upload`,e),b(await l(t,e=>{_.value=e,e>=100&&(g.value=`restoring`)}))}catch(e){return h.value=!1,g.value=`idle`,v.value=r(e),i.add({severity:`error`,detail:v.value,life:1e4}),!1}g.value=`restarting`;let{beginServerRestart:s}=o();return s(),await a().catch(()=>{}),await t().logout(),h.value=!1,g.value=`idle`,!0}return{active:h,phase:g,uploadPercent:_,lastError:v,restoreLocalStorage:b,run:e}}export{p as a,f as c,c as i,x as n,u as o,m as r,d as s,y as t};
@@ -1 +0,0 @@
1
- import{ra as e}from"./vendor-cameraui-C6beJsya.js";import{gn as t}from"./vendor-BaiDFVEr.js";function n(n){if(!n){let e=t()?.type;n=e?.__name??e?.name??`UI`}return new e(n)}var r=n(),i=null;function a(){return i??=(async()=>({plugin:null}))(),i}async function o(){try{let{plugin:e}=await a();if(!e)return;await e.start()}catch(e){r.warn(`IntercomService.start failed`,e)}}async function s(){try{let{plugin:e}=await a();if(!e)return;await e.stop()}catch(e){r.warn(`IntercomService.stop failed`,e)}}async function c(){try{let{plugin:e}=await a();return e?(await e.checkMicrophone()).state:null}catch(e){return r.warn(`IntercomService.checkMicrophone failed`,e),null}}var l=typeof window<`u`?window.electron:void 0,u=l!==void 0;function d(){return{isElectronApp:u,electron:l}}export{n as a,s as i,c as n,o as r,d as t};
@@ -1 +0,0 @@
1
- import{or as e}from"./vendor-BaiDFVEr.js";import{t}from"./useElectron-CtslU_0f.js";var n=e({microphone:`unknown`,location:`unknown`,notifications:`unknown`});function r(){let{isElectronApp:e,electron:r}=t(),a=e;async function o(){await Promise.all([s(),c(),l()])}async function s(){if(e&&r){n.microphone=await r.invoke(`get-mic-access`)??`unknown`;return}n.microphone=await i(`microphone`)}async function c(){n.location=await i(`geolocation`)}async function l(){if(typeof Notification>`u`){n.notifications=`unknown`;return}n.notifications=Notification.permission==="default"?`prompt`:Notification.permission}async function u(t){if(t===`microphone`){if(e&&r)await r.invoke(`ask-mic-access`);else try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch{}await s();return}if(t===`location`){await new Promise(e=>{navigator.geolocation.getCurrentPosition(()=>e(),()=>e(),{timeout:1e4})}),await c();return}typeof Notification<`u`&&await Notification.requestPermission(),await l()}async function d(){e&&r&&await r.invoke(`open-mic-settings`)}return{states:n,canOpenSettings:a,refresh:o,request:u,openSettings:d}}async function i(e){try{let t=await navigator.permissions.query({name:e});return t.state===`granted`?`granted`:t.state===`denied`?`denied`:`prompt`}catch{return`unknown`}}export{r as t};
@@ -1,2 +0,0 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./esm-TRigYTsA.js","./vendor-capacitor-4nn-eF9U.js","./vendor-BaiDFVEr.js","./rolldown-runtime-C0FnF6B9.js","./dist-Yc5s0_JB.js"])))=>i.map(i=>d[i]);
2
- import"./vendor-cameraui-C6beJsya.js";import"./api-1K2Gzz8B.js";import{Rt as e,cr as t}from"./vendor-BaiDFVEr.js";import{a as n}from"./useElectron-CtslU_0f.js";import"./notifications-C8eyTPRM.js";n(`PushRegistration`);var r=`cui.push.registrations`;t(!1);var i=null;function a(){return{registerForPush:async()=>{},forgetIfThisDevice:async(e,t)=>{if(!e)return;let n=await c(e);!n||n.deviceId!==t||(await u(e),await f(e))},getSyncState:async(e,t)=>({status:`unknown`}),restoreMarker:async(e,t)=>{await c(e)||await l(e,{deviceId:t,enabledAt:Date.now()})}}}async function o(){try{let{Preferences:t}=await e(async()=>{let{Preferences:e}=await import(`./esm-TRigYTsA.js`);return{Preferences:e}},__vite__mapDeps([0,1,2,3]),import.meta.url),{value:n}=await t.get({key:r});return n?JSON.parse(n):{}}catch{return{}}}async function s(t){try{let{Preferences:n}=await e(async()=>{let{Preferences:e}=await import(`./esm-TRigYTsA.js`);return{Preferences:e}},__vite__mapDeps([0,1,2,3]),import.meta.url);await n.set({key:r,value:JSON.stringify(t)})}catch{}}async function c(e){return(await o())[e]??null}async function l(e,t){let n=await o();n[e]=t,await s(n)}async function u(e){let t=await o();t[e]&&(delete t[e],await s(t))}function d(){return i??=(async()=>{try{let{Capacitor:t,registerPlugin:n}=await e(async()=>{let{Capacitor:e,registerPlugin:t}=await import(`./dist-Yc5s0_JB.js`);return{Capacitor:e,registerPlugin:t}},__vite__mapDeps([4,2,3]),import.meta.url);return t.isPluginAvailable(`PushCrypto`)?{plugin:n(`PushCrypto`)}:{plugin:null}}catch{return{plugin:null}}})(),i}async function f(e){try{let{plugin:t}=await d();await t?.deleteKey({serverId:e})}catch{}}export{a as t};