@camera.ui/server 2.1.2 → 2.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (248) hide show
  1. package/dist/interface/assets/{404-pb2fRn1r.js → 404-xXRqIPnI.js} +1 -1
  2. package/dist/interface/assets/{About-eljMnDub.js → About-DmA6YPm3.js} +1 -1
  3. package/dist/interface/assets/Adminpanel-D6LLMvtn.js +1 -0
  4. package/dist/interface/assets/{Automation-DOiLJcU_.js → Automation-BDETmBsr.js} +3 -3
  5. package/dist/interface/assets/{AutomationImport-DflZNRBB.js → AutomationImport-DiBbViZF.js} +2 -2
  6. package/dist/interface/assets/{AutomationStore-qF_NTNUf.js → AutomationStore-i2EAmdtd.js} +2 -2
  7. package/dist/interface/assets/{AutomationStoreDetail-CUw-jBBR.js → AutomationStoreDetail-Cs08SdQP.js} +2 -2
  8. package/dist/interface/assets/Automations-foLiIvMO.js +2 -0
  9. package/dist/interface/assets/Camera-CFfDLaKb.js +2 -0
  10. package/dist/interface/assets/{CameraConsole-CEARcJYc.js → CameraConsole-ByzCncrJ.js} +2 -2
  11. package/dist/interface/assets/{Cameras-C0oHuoTR.js → Cameras-Bgdc-8pX.js} +2 -2
  12. package/dist/interface/assets/Camview-DxdH-H8m.js +1 -0
  13. package/dist/interface/assets/Config-CG2z9ZDM.js +2 -0
  14. package/dist/interface/assets/{ConfigActionCameraControl-De0qb88r.js → ConfigActionCameraControl-BXO7ipsz.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionDelay-nDK4i-AL.js → ConfigActionDelay-DKg-B1Qg.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionHttp-DX-vapgv.js → ConfigActionHttp-DxXmT1sT.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionImageInput-CS7U7BsI.js → ConfigActionImageInput-Bg0PRpEM.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionMqtt-82swCx_F.js → ConfigActionMqtt-D8eQzkpn.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionNotification-t-1zN_1y.js → ConfigActionNotification-CzwYhRsN.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionNotificationControl-jz3ez2Uq.js → ConfigActionNotificationControl-B92w8_zI.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionOutput-B6uJheX1.js → ConfigActionOutput-DnBrTam_.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionPlugin-LyOIrZnv.js → ConfigActionPlugin-ZZLa_9lg.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionSensor-BTqc1inw.js → ConfigActionSensor-C4vlKTMo.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionSnapshot-DdPy_Ubu.js → ConfigActionSnapshot-gv4xP_ke.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionVariable-Csf7jPOm.js → ConfigActionVariable-BK20Jiwm.js} +1 -1
  26. package/dist/interface/assets/{ConfigConditionIfElse-BvzwZ70p.js → ConfigConditionIfElse-CMNQhZVq.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionSensorState-lI9dzHiT.js → ConfigConditionSensorState-CMusMag_.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionSwitch-DJU2JC-3.js → ConfigConditionSwitch-BD_yekSb.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionTime-BxE2CJMA.js → ConfigConditionTime-iYGtS79-.js} +1 -1
  30. package/dist/interface/assets/{ConfigSensorValueInput-DW4er753.js → ConfigSensorValueInput-CJ71pU5t.js} +1 -1
  31. package/dist/interface/assets/{ConfigTriggerDetection-DpC8V8K8.js → ConfigTriggerDetection-fT3Ao7ai.js} +1 -1
  32. package/dist/interface/assets/ConfigTriggerGeofence-CTovEe2t.js +1 -0
  33. package/dist/interface/assets/{ConfigTriggerManual-CtjnnQb1.js → ConfigTriggerManual-_70uZCm8.js} +1 -1
  34. package/dist/interface/assets/{ConfigTriggerMqtt-C7J22EMe.js → ConfigTriggerMqtt-B3i_U0C8.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerSchedule-DnYDDz3F.js → ConfigTriggerSchedule-opMt64uR.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerSensor-vhwPNmPj.js → ConfigTriggerSensor-CEtUqINm.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSystem-D1JulYVd.js → ConfigTriggerSystem-l6Z8YkIP.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerWebhook-BrKFtq7o.js → ConfigTriggerWebhook-BUoC_tvP.js} +1 -1
  39. package/dist/interface/assets/Console-pO4hRXJ6.js +1 -0
  40. package/dist/interface/assets/{CuiAutomationRunsDialog-C4i7y1Re.js → CuiAutomationRunsDialog-C_BN8ib3.js} +1 -1
  41. package/dist/interface/assets/{CuiBottomSheet-C_1_moNo.js → CuiBottomSheet-CD7ayDtu.js} +1 -1
  42. package/dist/interface/assets/CuiBottomSheet-CU5V52RZ.js +1 -0
  43. package/dist/interface/assets/CuiCameraPipCard-C5UckhjZ.js +1 -0
  44. package/dist/interface/assets/{CuiCameraRecordings-mY_giLEi.js → CuiCameraRecordings-D4FRIiLH.js} +1 -1
  45. package/dist/interface/assets/{CuiCameraShares-XwN5kuC7.js → CuiCameraShares-BNhXZZx4.js} +1 -1
  46. package/dist/interface/assets/{CuiCameraTable-BeeHLaiQ.js → CuiCameraTable-IqEVI4_6.js} +1 -1
  47. package/dist/interface/assets/{CuiConsole-B7R7U9UZ.js → CuiConsole-DQdrSaNv.js} +2 -2
  48. package/dist/interface/assets/{CuiDataTable-CQhCu0px.js → CuiDataTable-3GW8h063.js} +1 -1
  49. package/dist/interface/assets/{CuiLightControl-CEpcKss7.js → CuiLightControl-e9fXnEWM.js} +1 -1
  50. package/dist/interface/assets/CuiMarkdownContent-CiT0VB6c.js +1 -0
  51. package/dist/interface/assets/CuiMarkdownContent-wt9kwnE3.js +1 -0
  52. package/dist/interface/assets/CuiPluginCard-BhuhDtto.js +2 -0
  53. package/dist/interface/assets/{CuiPluginCard-rkhmuumi.css → CuiPluginCard-C3ANAXSI.css} +1 -1
  54. package/dist/interface/assets/{CuiPluginCategoryChip-JkdbQU4X.js → CuiPluginCategoryChip-BBg1R80V.js} +1 -1
  55. package/dist/interface/assets/{CuiPluginOAuthButton-LYMFfb3v.js → CuiPluginOAuthButton-CZkDLOyX.js} +2 -2
  56. package/dist/interface/assets/{CuiPluginTrustBadge-sZF0UKMD.js → CuiPluginTrustBadge-CLGD6iSl.js} +1 -1
  57. package/dist/interface/assets/CuiQRCode-BJIth5tK.js +1 -0
  58. package/dist/interface/assets/CuiRecordingsGrid-CwuvwFQi.js +1 -0
  59. package/dist/interface/assets/{CuiRecordingsGrid-COHg3ZCT.css → CuiRecordingsGrid-DGCTfTo9.css} +1 -1
  60. package/dist/interface/assets/CuiSchema-Dg3Y0q8q.js +1 -0
  61. package/dist/interface/assets/{CuiTopNavbarItem-rMsWME9B.js → CuiTopNavbarItem-DuW8KecA.js} +1 -1
  62. package/dist/interface/assets/Faces-CY_8TVkm.js +1 -0
  63. package/dist/interface/assets/FirstSteps-CjetT9eW.js +1 -0
  64. package/dist/interface/assets/Instances-CEflWTSB.js +1 -0
  65. package/dist/interface/assets/{Logs-8onUmCYX.js → Logs-pqS6zmdG.js} +2 -2
  66. package/dist/interface/assets/{Menu-DP0aMICW.js → Menu-voSWnkVE.js} +1 -1
  67. package/dist/interface/assets/OAuthDeviceFlow-FtU9FE8s.js +1 -0
  68. package/dist/interface/assets/Plugin-DAAyIdO6.js +1 -0
  69. package/dist/interface/assets/{PluginConsole-JFcH_ZW0.js → PluginConsole-DpsjUxOt.js} +2 -2
  70. package/dist/interface/assets/PluginDetail-aDecfgRt.js +2 -0
  71. package/dist/interface/assets/{PluginSchema-Gfn_csMP.js → PluginSchema-CPbdpwfh.js} +1 -1
  72. package/dist/interface/assets/{PluginSearch-HEf_6CrR.js → PluginSearch-ChiHBh7O.js} +2 -2
  73. package/dist/interface/assets/PluginSearch-vCzkUW8O.js +1 -0
  74. package/dist/interface/assets/{PluginUpdateProgress-DaI9bwSV.js → PluginUpdateProgress-B_vd--LX.js} +1 -1
  75. package/dist/interface/assets/Plugins-CT0UUtSr.js +1 -0
  76. package/dist/interface/assets/Recordings-DdAO90wn.js +1 -0
  77. package/dist/interface/assets/{SensorEdit-rC02usEO.js → SensorEdit-BJpoqdK8.js} +1 -1
  78. package/dist/interface/assets/{SensorHistory-2TmYLaL4.js → SensorHistory-D11DdMol.js} +1 -1
  79. package/dist/interface/assets/Sensors-B-Qhfr5i.css +1 -0
  80. package/dist/interface/assets/Sensors-C6U8ckWK.js +2 -0
  81. package/dist/interface/assets/{Settings-8yG5ny5r.js → Settings-JLdVUq7Z.js} +1 -1
  82. package/dist/interface/assets/SettingsAccount-CqJAqaK5.js +1 -0
  83. package/dist/interface/assets/SettingsAccount-lem3U0i3.js +1 -0
  84. package/dist/interface/assets/{SettingsAppearance-WQtOksbk.js → SettingsAppearance-B4B_oSjk.js} +1 -1
  85. package/dist/interface/assets/SettingsAppearance-DIbztL4M.js +1 -0
  86. package/dist/interface/assets/{SettingsBackup-DNDDU6a1.js → SettingsBackup-BNIufsOw.js} +1 -1
  87. package/dist/interface/assets/{SettingsList-tFKUMnsB.js → SettingsList-D6r5S91a.js} +1 -1
  88. package/dist/interface/assets/{SettingsMqtt-BYVV1Mew.js → SettingsMqtt-BsfRfFaN.js} +1 -1
  89. package/dist/interface/assets/{SettingsNotifications-BVGmt0eF.js → SettingsNotifications-EerQSLcj.js} +1 -1
  90. package/dist/interface/assets/{SettingsPermissions-BPqDIjVt.js → SettingsPermissions-j1GCDQER.js} +1 -1
  91. package/dist/interface/assets/SettingsRecordings-DoDsjj0I.js +1 -0
  92. package/dist/interface/assets/SettingsRemote-DmYD8t4k.js +1 -0
  93. package/dist/interface/assets/SettingsSystem-QnpE8IdB.js +2 -0
  94. package/dist/interface/assets/{SettingsUsers-BtT17FNe.js → SettingsUsers-DSu7YkD6.js} +1 -1
  95. package/dist/interface/assets/{Terminal-DuJHIlLe.js → Terminal-DbAqY4Hb.js} +2 -2
  96. package/dist/interface/assets/{VariableInput-CkXZ00Gc.js → VariableInput-D8fxy8Tr.js} +1 -1
  97. package/dist/interface/assets/{VariableSuggestions-BD1kOG5f.js → VariableSuggestions-BmrGajtR.js} +1 -1
  98. package/dist/interface/assets/{VersionsHandler-D9sDkGXx.js → VersionsHandler-DVnhikOd.js} +1 -1
  99. package/dist/interface/assets/{VirtualSensorCreate-DcwJ_w-l.js → VirtualSensorCreate-CY0SgW0D.js} +1 -1
  100. package/dist/interface/assets/Workers-C4ee5Qu6.js +2 -0
  101. package/dist/interface/assets/api-CNl5E-Z0.js +2 -0
  102. package/dist/interface/assets/api-DBqh9A2C.css +2 -0
  103. package/dist/interface/assets/{api-Mny5Elfn.js → api-QDhweZyS.js} +1 -1
  104. package/dist/interface/assets/{auth-9_Jjlsh0.js → auth-DtXDXDTz.js} +1 -1
  105. package/dist/interface/assets/automations-BtpjXAGj.js +1 -0
  106. package/dist/interface/assets/{cameras.schema-DMY4SYte.js → cameras.schema-BD1hnsDj.js} +1 -1
  107. package/dist/interface/assets/{chevron-right-AhqYJOFy.js → chevron-right-BOQr3ruh.js} +1 -1
  108. package/dist/interface/assets/cloudHandoff-C3N4uaQY.js +1 -0
  109. package/dist/interface/assets/{config-BZphegxi.js → config-BZ9jkdkW.js} +1 -1
  110. package/dist/interface/assets/{flowSchema-_RiPAgMv.js → flowSchema-lxx7zedO.js} +1 -1
  111. package/dist/interface/assets/main-nZuJbwRm.js +3 -0
  112. package/dist/interface/assets/mqtt-DLq_vTiX.js +1 -0
  113. package/dist/interface/assets/{notifications-CK6XQBF-.js → notifications-f-Qb41-N.js} +1 -1
  114. package/dist/interface/assets/plugins-COTLBtoZ.js +1 -0
  115. package/dist/interface/assets/{round-restart-alt-BFgY3k77.js → round-restart-alt-CZSQhHXV.js} +1 -1
  116. package/dist/interface/assets/sensorIcons-Cg62BVxo.js +1 -0
  117. package/dist/interface/assets/sensors-Dxcrwsnf.js +1 -0
  118. package/dist/interface/assets/{server-BSYs0zoo.js → server-BHIoih6c.js} +1 -1
  119. package/dist/interface/assets/{theme-Dr_YO8-0.js → theme-u1kyGMxl.js} +1 -1
  120. package/dist/interface/assets/{types-3mdj4rRK.js → types-BAbqJts5.js} +1 -1
  121. package/dist/interface/assets/types-BHs28Xd0.js +1 -0
  122. package/dist/interface/assets/{useAppVersion-UIA6seZv.js → useAppVersion-BoISCpsN.js} +1 -1
  123. package/dist/interface/assets/useBackupRestore-Sw6F6lrg.js +1 -0
  124. package/dist/interface/assets/{useCameraOptions-Dx-zyqdH.js → useCameraOptions-9POwrGtQ.js} +1 -1
  125. package/dist/interface/assets/{useElectron-BXVcamD0.js → useElectron-Cam3T7Zb.js} +1 -1
  126. package/dist/interface/assets/{useLogsSocket-DSxzAvQF.js → useLogsSocket-Bj6kkAHI.js} +1 -1
  127. package/dist/interface/assets/{usePermissions-B_C-zX5H.js → usePermissions-DYAyOydQ.js} +1 -1
  128. package/dist/interface/assets/{usePluginUpdates-QU3U82S_.js → usePluginUpdates-b3WpWgyq.js} +1 -1
  129. package/dist/interface/assets/{useServerRestart-BxDBO7k-.js → useServerRestart-BQh5xnO1.js} +1 -1
  130. package/dist/interface/assets/{useStreamStatus-DY4NM_Ua.js → useStreamStatus-Bw80DXqa.js} +1 -1
  131. package/dist/interface/assets/{useUserOptions-BL53bECb.js → useUserOptions-A6noG3pQ.js} +1 -1
  132. package/dist/interface/assets/{vendor-cameraui-DojVuZ2L.js → vendor-cameraui-B1Jik_TX.js} +1 -1
  133. package/dist/interface/assets/{vendor-core-ZDcIKAw9.js → vendor-core-D7dApN9I.js} +1 -1
  134. package/dist/interface/assets/{vendor-primevue-C0acGg0Y.js → vendor-primevue-d9Mn2ip-.js} +1 -1
  135. package/dist/interface/index.html +22 -22
  136. package/dist/interface/sw.js +1 -1
  137. package/dist/server/package.json +3 -3
  138. package/dist/server/requirements.txt +1 -1
  139. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/sensor_rpc.py +6 -0
  140. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +18 -1
  141. package/dist/server/src/api/controllers/automations.controller.d.ts +3 -1
  142. package/dist/server/src/api/controllers/automations.controller.js +27 -0
  143. package/dist/server/src/api/controllers/automations.controller.js.map +1 -1
  144. package/dist/server/src/api/controllers/cameras.controller.d.ts +3 -2
  145. package/dist/server/src/api/controllers/cameras.controller.js +26 -1
  146. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  147. package/dist/server/src/api/controllers/instances.controller.d.ts +2 -1
  148. package/dist/server/src/api/controllers/instances.controller.js +9 -0
  149. package/dist/server/src/api/controllers/instances.controller.js.map +1 -1
  150. package/dist/server/src/api/controllers/plugins.controller.d.ts +9 -2
  151. package/dist/server/src/api/controllers/plugins.controller.js +156 -99
  152. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  153. package/dist/server/src/api/controllers/sensors.controller.d.ts +3 -1
  154. package/dist/server/src/api/controllers/sensors.controller.js +31 -0
  155. package/dist/server/src/api/controllers/sensors.controller.js.map +1 -1
  156. package/dist/server/src/api/database/types.d.ts +1 -0
  157. package/dist/server/src/api/routes/automations.routes.js +23 -1
  158. package/dist/server/src/api/routes/automations.routes.js.map +1 -1
  159. package/dist/server/src/api/routes/cameras.routes.js +15 -3
  160. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  161. package/dist/server/src/api/routes/instances.routes.js +12 -1
  162. package/dist/server/src/api/routes/instances.routes.js.map +1 -1
  163. package/dist/server/src/api/routes/plugins.routes.js +36 -2
  164. package/dist/server/src/api/routes/plugins.routes.js.map +1 -1
  165. package/dist/server/src/api/routes/sensors.routes.js +23 -1
  166. package/dist/server/src/api/routes/sensors.routes.js.map +1 -1
  167. package/dist/server/src/api/schemas/automations.schema.d.ts +11 -0
  168. package/dist/server/src/api/schemas/automations.schema.js +7 -0
  169. package/dist/server/src/api/schemas/automations.schema.js.map +1 -1
  170. package/dist/server/src/api/schemas/cameras.schema.d.ts +17 -0
  171. package/dist/server/src/api/schemas/cameras.schema.js +15 -0
  172. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  173. package/dist/server/src/api/schemas/instances.schema.d.ts +4 -0
  174. package/dist/server/src/api/schemas/instances.schema.js +3 -0
  175. package/dist/server/src/api/schemas/instances.schema.js.map +1 -1
  176. package/dist/server/src/api/schemas/plugins.schema.d.ts +11 -0
  177. package/dist/server/src/api/schemas/plugins.schema.js +6 -0
  178. package/dist/server/src/api/schemas/plugins.schema.js.map +1 -1
  179. package/dist/server/src/api/schemas/sensors.schema.d.ts +11 -0
  180. package/dist/server/src/api/schemas/sensors.schema.js +7 -0
  181. package/dist/server/src/api/schemas/sensors.schema.js.map +1 -1
  182. package/dist/server/src/api/services/instances.service.d.ts +7 -0
  183. package/dist/server/src/api/services/instances.service.js +17 -0
  184. package/dist/server/src/api/services/instances.service.js.map +1 -1
  185. package/dist/server/src/api/services/sensors.service.d.ts +1 -0
  186. package/dist/server/src/api/services/sensors.service.js +1 -0
  187. package/dist/server/src/api/services/sensors.service.js.map +1 -1
  188. package/dist/server/src/api/types/index.d.ts +38 -5
  189. package/dist/server/src/api/types/index.js.map +1 -1
  190. package/dist/server/src/api/utils/bulk.d.ts +9 -0
  191. package/dist/server/src/api/utils/bulk.js +27 -0
  192. package/dist/server/src/api/utils/bulk.js.map +1 -0
  193. package/dist/server/src/camera/decoder/stationary-suppressor.js +1 -1
  194. package/dist/server/src/camera/decoder/stationary-suppressor.js.map +1 -1
  195. package/dist/server/src/mqtt/bridge.d.ts +1 -0
  196. package/dist/server/src/mqtt/bridge.js +7 -7
  197. package/dist/server/src/mqtt/bridge.js.map +1 -1
  198. package/dist/server/src/rpc/interfaces/sensor.d.ts +2 -0
  199. package/dist/server/src/rpc/server.js +1 -0
  200. package/dist/server/src/rpc/server.js.map +1 -1
  201. package/dist/server/src/sensors/registry.js +7 -2
  202. package/dist/server/src/sensors/registry.js.map +1 -1
  203. package/package.json +3 -3
  204. package/dist/interface/assets/Adminpanel-BtQdiyre.js +0 -1
  205. package/dist/interface/assets/Automations-DBjwNb3F.js +0 -2
  206. package/dist/interface/assets/Camera-BfvpjkW3.js +0 -2
  207. package/dist/interface/assets/Camview-DArvg940.js +0 -1
  208. package/dist/interface/assets/Config-Ccp5Acpv.js +0 -2
  209. package/dist/interface/assets/ConfigTriggerGeofence-DTzax7bc.js +0 -1
  210. package/dist/interface/assets/Console-C6yUdEaM.js +0 -1
  211. package/dist/interface/assets/CuiBottomSheet-C2zU_iyj.js +0 -1
  212. package/dist/interface/assets/CuiCameraPipCard-CZ-oDxzy.js +0 -1
  213. package/dist/interface/assets/CuiMarkdownContent-C2uBepC1.js +0 -1
  214. package/dist/interface/assets/CuiMarkdownContent-QxLR7_qs.js +0 -1
  215. package/dist/interface/assets/CuiPluginCard-1dSDwOCf.js +0 -2
  216. package/dist/interface/assets/CuiQRCode-B4ysluWR.js +0 -1
  217. package/dist/interface/assets/CuiRecordingsGrid-CkwE3jcR.js +0 -1
  218. package/dist/interface/assets/CuiSchema-DKATswRc.js +0 -1
  219. package/dist/interface/assets/Faces-BeeZrFV-.js +0 -1
  220. package/dist/interface/assets/FirstSteps-DWT6Tt_T.js +0 -1
  221. package/dist/interface/assets/Instances-CJlFo8ni.js +0 -1
  222. package/dist/interface/assets/OAuthDeviceFlow-CcSkntGk.js +0 -1
  223. package/dist/interface/assets/Plugin-8dbt_8iG.js +0 -1
  224. package/dist/interface/assets/PluginDetail-C9dR9jrw.js +0 -2
  225. package/dist/interface/assets/PluginSearch-BVAtgBZs.js +0 -1
  226. package/dist/interface/assets/Plugins-CQJhji6o.js +0 -1
  227. package/dist/interface/assets/Recordings-AD78njIA.js +0 -1
  228. package/dist/interface/assets/Sensors-CFfII3-e.css +0 -1
  229. package/dist/interface/assets/Sensors-Vwr7MYz6.js +0 -2
  230. package/dist/interface/assets/SettingsAccount-BBsivYFf.js +0 -1
  231. package/dist/interface/assets/SettingsAccount-CN9Xcgt-.js +0 -1
  232. package/dist/interface/assets/SettingsAppearance-Qh1cw9iX.js +0 -1
  233. package/dist/interface/assets/SettingsRecordings-B4DDJSKe.js +0 -1
  234. package/dist/interface/assets/SettingsRemote-Bib7kXto.js +0 -1
  235. package/dist/interface/assets/SettingsSystem-DIe7CSgH.js +0 -2
  236. package/dist/interface/assets/Workers-fV_NEZ7U.js +0 -2
  237. package/dist/interface/assets/api-Draww2tC.js +0 -2
  238. package/dist/interface/assets/api-eELh8KCM.css +0 -2
  239. package/dist/interface/assets/automations-BfsdbSPC.js +0 -1
  240. package/dist/interface/assets/cloudHandoff-BQsDy9yp.js +0 -1
  241. package/dist/interface/assets/main-CV7qCZ5i.js +0 -3
  242. package/dist/interface/assets/mqtt-BPfLOT7L.js +0 -1
  243. package/dist/interface/assets/plugins-BU7TQh_f.js +0 -1
  244. package/dist/interface/assets/sensorIcons-DtJEfoU4.js +0 -1
  245. package/dist/interface/assets/sensors-DjgfMS8S.js +0 -1
  246. package/dist/interface/assets/types-BGMvANrz.js +0 -1
  247. package/dist/interface/assets/useBackupRestore-E3pVEOvA.js +0 -1
  248. package/dist/interface/assets/useCardSelection-DGPLn1ZH.js +0 -1
@@ -1 +0,0 @@
1
- import{Fr as e,Ir as t,Nr as n,Pr as r}from"./vendor-cameraui-DojVuZ2L.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:`contain`,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`]},fe=c().trim().min(1,`Detection label is required`),y=ae([d(),d()]),b=o({name:c().trim().min(1,`Zone Name is required`),points:y.array().min(3,`At least 3 points are required`),type:a([f(`intersect`),f(`contain`)]),filter:a([f(`include`),f(`exclude`)]),labels:fe.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(),x=o({name:c().trim().min(1,`Line Name is required`),points:ae([y,y]),direction:a([f(`both`),f(`a-to-b`),f(`b-to-a`)]),labels:fe.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(),S=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`),suppressStatic:g().default(!0)}),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},C=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`)]),me=a([f(`high-resolution`),f(`mid-resolution`),f(`low-resolution`)]),he=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),ge=RegExp(`^(${he.join(`|`)})`),_e=c().refine(e=>{if(!ge.test(e))return!1;try{return new URL(e),!0}catch{return!1}},{message:`Invalid URL format or unsupported protocol`}),ve=o({_id:c().default(r()).transform(()=>r()),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:_e.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),ye=o({_id:c().default(r()).transform(()=>r()),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:_e.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()}),be=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(),xe=a([f(`auto`),f(`mse`),f(`webrtc`),f(`webrtc/tcp`)]),Se=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),Ce=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(),E=o({fps:d().min(0,`Minimum 0 fps`).max(30,`Maximum 30 fps`),hqSnapshots:g().default(!1),decoder:Ce.optional(),workerDecoder:Ce.nullable().transform(e=>e??void 0).optional()}),D=a([f(`camera`),f(`doorbell`)]),O=o({streamingMode:xe,streamingSource:me,aspectRatio:Se}),k=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(),A=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(),j=o({_id:c().default(r()).transform(()=>r()),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:D.default(`camera`),isCloud:g().default(!1),snapshotSettings:A.default({autoRefresh:!0,ttl:50,interval:60}),info:k.default({model:`IP Camera`,manufacturer:`camera.ui`,hardware:`Camera`,serialNumber:`Unknown`,firmwareVersion:`Unknown`,supportUrl:`Unknown`}),sources:ve.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:be.default({}),interfaceSettings:O.default({streamingMode:`webrtc`,streamingSource:`high-resolution`,aspectRatio:`16:9`}),detectionZones:b.default([]),detectionLines:x.default([]),detectionSettings:S.default({motion:{resolution:`low`,timeout:30},object:{confidence:.5,suppressStatic:!0},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:C.default(pe),recordingSettings:ue.default(de),frameWorkerSettings:E.default({fps:10,hqSnapshots:!1})}).strict();j.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:D.optional(),name:c().trim().min(1,`Camera name is required`).optional(),room:c().trim().min(1,`Room is required`).optional(),isCloud:g().optional(),snapshotSettings:A.partial().optional(),info:k.partial().optional(),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`]}).optional(),plugins:T.array().optional(),assignments:be.partial().optional(),interfaceSettings:O.partial().optional(),detectionZones:b.optional(),detectionLines:x.optional(),detectionSettings:S.partial().optional(),ptzAutotrack:C.partial().optional(),recordingSettings:ue.partial().optional(),frameWorkerSettings:E.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({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();var M=/^[\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(M,`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(M,`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 N(e){return e.mimetype!==void 0}function ke(e){return N(e)?Buffer.byteLength(e._buf):e.size}function Ae(e){return N(e)?e.mimetype:e.type}function P(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()}),F=[`image/jpeg`,`image/png`],Me=2097152,I=[`video/mp4`,`video/quicktime`],L=10485760,R=[`audio/mpeg`,`audio/wav`,`audio/ogg`],z=2097152,B=()=>P(Me,F,`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)),Ne=u().transform(e=>JSON.parse(e.value));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:P(z,R,`Max file size is 2 MB`,`.mp3, .wav and .ogg files are accepted`),metadata:Ne,config:V}),o({upload:P(L,I,`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()});var Pe=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 Fe=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 Ie(){let t={};for(let n of e)t[n.type]={category:n.category,assignmentKey:n.assignmentKey,multiProvider:n.multiProvider,isDetectionType:n.isDetectionType,cameraBound:n.cameraBound??!1,...n.cascadeTrigger?{cascadeTrigger:n.cascadeTrigger}:{}};return t}var U=Ie();Object.fromEntries(e.filter(e=>e.propertyCapabilities).map(e=>[e.type,e.propertyCapabilities]));function Le(){return Object.entries(U).filter(([,e])=>e.multiProvider).map(([e])=>e)}function Re(){return e.filter(e=>e.shortcutable).map(e=>e.type)}function ze(){return Object.entries(U).filter(([,e])=>e.isDetectionType).map(([e])=>e)}function Be(e){return U[e].assignmentKey}function Ve(){return Object.entries(U).filter(([,e])=>e.category===t.Sensor&&!e.multiProvider).map(([e])=>e)}function He(){return Object.entries(U).filter(([,e])=>!e.multiProvider&&e.category!==t.Sensor).map(([e])=>e)}function Ue(){return Object.entries(U).filter(([,e])=>e.multiProvider).map(([e])=>e)}function We(e){return!U[e].multiProvider}Object.fromEntries(e.map(e=>[e.type,Object.keys(e.properties)]));var W=Object.fromEntries(e.map(e=>[e.type,e.properties]));function Ge(e,t){return W[e]?.[t]}function Ke(e){let t=W[e];return t?Object.entries(t).filter(([,e])=>!e.internal).map(([e])=>e):[]}function qe(e){let t=W[e];return t?Object.entries(t).filter(([,e])=>e.writable).map(([e])=>e):[]}function Je(e,n){let r=U[e];return r?r.category===t.Control||r.category===t.Trigger||n===`cameraui.virtual`&&!r.isDetectionType:!1}new Set(Le()),new Set(ze());var Ye=`cameraui.virtual`,Xe=e.filter(e=>e.virtual).map(e=>e.type);Object.fromEntries(e.filter(e=>e.virtual).map(e=>[e.type,e.virtual?.properties??{}])),Object.fromEntries(e.filter(e=>e.virtual?.capabilities).map(e=>[e.type,e.virtual?.capabilities])),o({id:c().min(1,`Sensor ID is required`)});var Ze=o({cameraId:c().min(1).optional(),type:h(Xe),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()});var Qe=[`de`,`en`],$e=[`image/jpeg`,`image/jpg`,`image/png`],et=5242880,tt=o({index:d(),cameraId:c(),colSpan:d().optional(),rowSpan:d().optional(),x:d().optional(),y:d().optional()}),nt=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)]),rt=a([f(`dnd`),f(`view`)]),it=o({_id:c().default(r()).transform(()=>r()),name:c().trim().min(1,`Layout name is required`),viewSize:nt,cameras:tt.array(),type:rt});o({name:c().trim().min(1,`Layout name is required`),viewSize:nt,cameras:tt.array()}).partial().optional();var at=o({views:it.array()}),ot=e.filter(e=>e.shortcutable).map(e=>String(e.type)),st=h(ot),ct=o({_id:c().default(r()).transform(()=>r()),type:f(`camera`),cameraId:c(),points:y}),lt=o({_id:c().default(r()).transform(()=>r()),type:f(`sensor`),sensorId:c(),sensorType:st,points:y}),ut=ee(`type`,[ct,lt]),dt=o({type:f(`camera`),cameraId:c(),points:y}).partial(),ft=o({type:f(`sensor`),sensorId:c(),sensorType:st,points:y}).partial();a([dt,ft]).optional();var pt=o({shortcuts:ut.array()}),mt=h([`auto`,...Qe]),ht=o({language:mt.optional(),camview:at,cameras:v(c().trim(),pt)}),G=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`),gt=o({_id:c().default(r()).transform(()=>r()),username:c().trim().min(1,`Username is required`),password:G,passwordConfirm:c().trim().min(1,`Please confirm your password`),role:a([f(`admin`),f(`user`)]),firstLogin:g().default(!0),preferences:ht.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 _t=o({username:c().trim().min(1,`Username is required`).optional(),password:G.optional(),passwordConfirm:c().trim().optional(),role:a([f(`admin`),f(`user`)]).optional(),upload:ie(P(et,$e,`Max file size is 5MB.`,`.jpg, .jpeg, .png files are accepted.`)),firstLogin:g().optional(),preferences:ht.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 vt(e){return e.type===`string`&&!(`enum`in e)}function yt(e){return e.type===`number`}function bt(e){return e.type===`boolean`}function K(e){return e.type===`string`&&`enum`in e}function xt(e){return e.type===`array`}function q(e){return e.type===`button`}function J(e){return e.type===`submit`}function St(e){return vt(e)&&(!e.format||e.format!==`qrCode`&&e.format!==`image`)}var Y=(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=>Y(e,t)):Y(e,t)}function Ct(e,t){if(!e||Object.keys(e).length===0)return!0;let r=t.filter(e=>!q(e)&&!J(e));for(let t of r){let r=Q(e,t.key),i=Z(t);if(r!==void 0&&!n(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 K(e)?e.multiple?[]:e.required?e.enum[0]:``:``;case`number`:return 0;case`boolean`:return!1;case`array`:return[];default:return}}function wt(e){let t={};for(let n of e)q(n)||J(n)||(t[n.key]=Z(n));return t}function Tt(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 Et(e){return!isNaN(Number(e))}function Q(e={},t){if(!t.includes(`.`)&&!t.includes(`[`))return e[t];let n=e;for(let e of Tt(t)){if(n==null)return;n=n[e]}return n}function Dt(e,t,n){if(!t.includes(`.`)&&!t.includes(`[`)){e[t]=n;return}let r=Tt(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]=Et(r[e+1]??i)?[]:{}),a=a[t]}a[i]=n}function Ot(e,t){let n={};for(let r of e)if(`store`in r&&r.store&&!q(r)&&!J(r)){let e=Q(t,r.key);e!==void 0&&(n[r.key]=e)}return n}function kt(e,t){return t?e.filter(e=>`group`in e&&e.group===t):e}function At(e,t){let n=kt(e,t);return n.length>0&&n.every(e=>`readonly`in e&&e.readonly)}function jt(e,t){let n=kt(e,t);return n.length>0&&n.some(e=>`store`in e&&e.store)}function Mt(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(q(e)||J(e))return l();switch(e.type){case`string`:if(K(e))if(e.multiple){let t=m(c().trim().refine(t=>e.enum.includes(t),{error:`Invalid selection`}));return e.required&&(t=t.min(1,{error:`Required`})),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()===``||Mt(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 r=e.items?$(e.items):l(),i=m(r);return e.required?i:i.optional();default:return e.required?l():l().optional()}}var Nt=(e,t,n)=>t.filter(e=>`group`in e&&e.group===n).some(t=>{let n=e[t.key];return n!=null&&n!==``});function Pt(e){let t={},n=new Set;e.forEach(e=>{`group`in e&&e.group&&n.add(e.group)}),e.forEach(e=>{if(!q(e)&&!J(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&&!q(e)&&!J(e));return(n.size>0||i.length>0)&&(r=r.superRefine((t,r)=>{for(let i of n)if(Nt(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{Te as $,Be as A,Pe as B,_t as C,Ye as D,U as E,Re as F,L as G,I as H,qe as I,he as J,Oe as K,We as L,Ve as M,Ke as N,Xe as O,Ge as P,w as Q,Je as R,G as S,Ze as T,F as U,R as V,z as W,x as X,j as Y,b as Z,jt as _,Pt as a,Qe as b,bt as c,K as d,yt as f,At as g,St as h,Ot as i,He as j,Ue as k,q as l,J as m,wt as n,Q as o,vt as p,Ee as q,Z as r,xt as s,X as t,Ct as u,Dt as v,it as w,gt as x,et as y,Fe as z};
@@ -1 +0,0 @@
1
- import{ar as e,g as t,mr as n,s as r}from"./api-Draww2tC.js";import{cr as i}from"./vendor-JQXDMBA-.js";import{a}from"./server-BSYs0zoo.js";import{n as o}from"./useServerRestart-BxDBO7k-.js";var s=3e5;async function c(e){return(await n.post(`/backup/download`,{localStorage:e},{responseType:`arraybuffer`,timeout:s})).data}async function l(e,t){return(await n.post(`/backup/restore`,e,{timeout:s,onUploadProgress:e=>{e.total&&t?.(Math.round(e.loaded/e.total*100))}})).data}async function u(){return(await n.get(`/backup/scheduler`)).data}async function d(e){return(await n.patch(`/backup/scheduler`,e)).data}async function f(){return(await n.post(`/backup/scheduler/run`)).data}async function p(e){return(await n.get(`/backup/scheduler/backups/${encodeURIComponent(e)}`,{responseType:`arraybuffer`,timeout:s})).data}async function m(e){await n.delete(`/backup/scheduler/backups/${encodeURIComponent(e)}`)}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 n(n){let i=e();h.value=!0,g.value=`uploading`,_.value=0,v.value=``;try{let e=new FormData;e.append(`upload`,n),b(await l(e,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:n}}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{cr as e,hr as t,in as n}from"./vendor-JQXDMBA-.js";function r(r,i){let a=e(!1),o=e(new Set),s=e(!1),c=n(()=>t(r).filter(e=>o.value.has(i(e)))),l=n(()=>{let e=t(r);return e.length>0&&e.every(e=>o.value.has(i(e)))});function u(){a.value=!0}function d(){a.value=!1,o.value=new Set}function f(){o.value=l.value?new Set:new Set(t(r).map(i))}function p(e){let t=new Set(o.value);t.has(e)?t.delete(e):t.add(e),o.value=t}return{selectionMode:a,selectedIds:o,selectedItems:c,allSelected:l,bulkBusy:s,enterSelectionMode:u,exitSelectionMode:d,toggleSelectAll:f,toggleSelection:p}}export{r as t};