@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.
- package/dist/interface/assets/{404-pb2fRn1r.js → 404-xXRqIPnI.js} +1 -1
- package/dist/interface/assets/{About-eljMnDub.js → About-DmA6YPm3.js} +1 -1
- package/dist/interface/assets/Adminpanel-D6LLMvtn.js +1 -0
- package/dist/interface/assets/{Automation-DOiLJcU_.js → Automation-BDETmBsr.js} +3 -3
- package/dist/interface/assets/{AutomationImport-DflZNRBB.js → AutomationImport-DiBbViZF.js} +2 -2
- package/dist/interface/assets/{AutomationStore-qF_NTNUf.js → AutomationStore-i2EAmdtd.js} +2 -2
- package/dist/interface/assets/{AutomationStoreDetail-CUw-jBBR.js → AutomationStoreDetail-Cs08SdQP.js} +2 -2
- package/dist/interface/assets/Automations-foLiIvMO.js +2 -0
- package/dist/interface/assets/Camera-CFfDLaKb.js +2 -0
- package/dist/interface/assets/{CameraConsole-CEARcJYc.js → CameraConsole-ByzCncrJ.js} +2 -2
- package/dist/interface/assets/{Cameras-C0oHuoTR.js → Cameras-Bgdc-8pX.js} +2 -2
- package/dist/interface/assets/Camview-DxdH-H8m.js +1 -0
- package/dist/interface/assets/Config-CG2z9ZDM.js +2 -0
- package/dist/interface/assets/{ConfigActionCameraControl-De0qb88r.js → ConfigActionCameraControl-BXO7ipsz.js} +1 -1
- package/dist/interface/assets/{ConfigActionDelay-nDK4i-AL.js → ConfigActionDelay-DKg-B1Qg.js} +1 -1
- package/dist/interface/assets/{ConfigActionHttp-DX-vapgv.js → ConfigActionHttp-DxXmT1sT.js} +1 -1
- package/dist/interface/assets/{ConfigActionImageInput-CS7U7BsI.js → ConfigActionImageInput-Bg0PRpEM.js} +1 -1
- package/dist/interface/assets/{ConfigActionMqtt-82swCx_F.js → ConfigActionMqtt-D8eQzkpn.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-t-1zN_1y.js → ConfigActionNotification-CzwYhRsN.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotificationControl-jz3ez2Uq.js → ConfigActionNotificationControl-B92w8_zI.js} +1 -1
- package/dist/interface/assets/{ConfigActionOutput-B6uJheX1.js → ConfigActionOutput-DnBrTam_.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-LyOIrZnv.js → ConfigActionPlugin-ZZLa_9lg.js} +1 -1
- package/dist/interface/assets/{ConfigActionSensor-BTqc1inw.js → ConfigActionSensor-C4vlKTMo.js} +1 -1
- package/dist/interface/assets/{ConfigActionSnapshot-DdPy_Ubu.js → ConfigActionSnapshot-gv4xP_ke.js} +1 -1
- package/dist/interface/assets/{ConfigActionVariable-Csf7jPOm.js → ConfigActionVariable-BK20Jiwm.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-BvzwZ70p.js → ConfigConditionIfElse-CMNQhZVq.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-lI9dzHiT.js → ConfigConditionSensorState-CMusMag_.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSwitch-DJU2JC-3.js → ConfigConditionSwitch-BD_yekSb.js} +1 -1
- package/dist/interface/assets/{ConfigConditionTime-BxE2CJMA.js → ConfigConditionTime-iYGtS79-.js} +1 -1
- package/dist/interface/assets/{ConfigSensorValueInput-DW4er753.js → ConfigSensorValueInput-CJ71pU5t.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerDetection-DpC8V8K8.js → ConfigTriggerDetection-fT3Ao7ai.js} +1 -1
- package/dist/interface/assets/ConfigTriggerGeofence-CTovEe2t.js +1 -0
- package/dist/interface/assets/{ConfigTriggerManual-CtjnnQb1.js → ConfigTriggerManual-_70uZCm8.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerMqtt-C7J22EMe.js → ConfigTriggerMqtt-B3i_U0C8.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSchedule-DnYDDz3F.js → ConfigTriggerSchedule-opMt64uR.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-vhwPNmPj.js → ConfigTriggerSensor-CEtUqINm.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-D1JulYVd.js → ConfigTriggerSystem-l6Z8YkIP.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerWebhook-BrKFtq7o.js → ConfigTriggerWebhook-BUoC_tvP.js} +1 -1
- package/dist/interface/assets/Console-pO4hRXJ6.js +1 -0
- package/dist/interface/assets/{CuiAutomationRunsDialog-C4i7y1Re.js → CuiAutomationRunsDialog-C_BN8ib3.js} +1 -1
- package/dist/interface/assets/{CuiBottomSheet-C_1_moNo.js → CuiBottomSheet-CD7ayDtu.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-CU5V52RZ.js +1 -0
- package/dist/interface/assets/CuiCameraPipCard-C5UckhjZ.js +1 -0
- package/dist/interface/assets/{CuiCameraRecordings-mY_giLEi.js → CuiCameraRecordings-D4FRIiLH.js} +1 -1
- package/dist/interface/assets/{CuiCameraShares-XwN5kuC7.js → CuiCameraShares-BNhXZZx4.js} +1 -1
- package/dist/interface/assets/{CuiCameraTable-BeeHLaiQ.js → CuiCameraTable-IqEVI4_6.js} +1 -1
- package/dist/interface/assets/{CuiConsole-B7R7U9UZ.js → CuiConsole-DQdrSaNv.js} +2 -2
- package/dist/interface/assets/{CuiDataTable-CQhCu0px.js → CuiDataTable-3GW8h063.js} +1 -1
- package/dist/interface/assets/{CuiLightControl-CEpcKss7.js → CuiLightControl-e9fXnEWM.js} +1 -1
- package/dist/interface/assets/CuiMarkdownContent-CiT0VB6c.js +1 -0
- package/dist/interface/assets/CuiMarkdownContent-wt9kwnE3.js +1 -0
- package/dist/interface/assets/CuiPluginCard-BhuhDtto.js +2 -0
- package/dist/interface/assets/{CuiPluginCard-rkhmuumi.css → CuiPluginCard-C3ANAXSI.css} +1 -1
- package/dist/interface/assets/{CuiPluginCategoryChip-JkdbQU4X.js → CuiPluginCategoryChip-BBg1R80V.js} +1 -1
- package/dist/interface/assets/{CuiPluginOAuthButton-LYMFfb3v.js → CuiPluginOAuthButton-CZkDLOyX.js} +2 -2
- package/dist/interface/assets/{CuiPluginTrustBadge-sZF0UKMD.js → CuiPluginTrustBadge-CLGD6iSl.js} +1 -1
- package/dist/interface/assets/CuiQRCode-BJIth5tK.js +1 -0
- package/dist/interface/assets/CuiRecordingsGrid-CwuvwFQi.js +1 -0
- package/dist/interface/assets/{CuiRecordingsGrid-COHg3ZCT.css → CuiRecordingsGrid-DGCTfTo9.css} +1 -1
- package/dist/interface/assets/CuiSchema-Dg3Y0q8q.js +1 -0
- package/dist/interface/assets/{CuiTopNavbarItem-rMsWME9B.js → CuiTopNavbarItem-DuW8KecA.js} +1 -1
- package/dist/interface/assets/Faces-CY_8TVkm.js +1 -0
- package/dist/interface/assets/FirstSteps-CjetT9eW.js +1 -0
- package/dist/interface/assets/Instances-CEflWTSB.js +1 -0
- package/dist/interface/assets/{Logs-8onUmCYX.js → Logs-pqS6zmdG.js} +2 -2
- package/dist/interface/assets/{Menu-DP0aMICW.js → Menu-voSWnkVE.js} +1 -1
- package/dist/interface/assets/OAuthDeviceFlow-FtU9FE8s.js +1 -0
- package/dist/interface/assets/Plugin-DAAyIdO6.js +1 -0
- package/dist/interface/assets/{PluginConsole-JFcH_ZW0.js → PluginConsole-DpsjUxOt.js} +2 -2
- package/dist/interface/assets/PluginDetail-aDecfgRt.js +2 -0
- package/dist/interface/assets/{PluginSchema-Gfn_csMP.js → PluginSchema-CPbdpwfh.js} +1 -1
- package/dist/interface/assets/{PluginSearch-HEf_6CrR.js → PluginSearch-ChiHBh7O.js} +2 -2
- package/dist/interface/assets/PluginSearch-vCzkUW8O.js +1 -0
- package/dist/interface/assets/{PluginUpdateProgress-DaI9bwSV.js → PluginUpdateProgress-B_vd--LX.js} +1 -1
- package/dist/interface/assets/Plugins-CT0UUtSr.js +1 -0
- package/dist/interface/assets/Recordings-DdAO90wn.js +1 -0
- package/dist/interface/assets/{SensorEdit-rC02usEO.js → SensorEdit-BJpoqdK8.js} +1 -1
- package/dist/interface/assets/{SensorHistory-2TmYLaL4.js → SensorHistory-D11DdMol.js} +1 -1
- package/dist/interface/assets/Sensors-B-Qhfr5i.css +1 -0
- package/dist/interface/assets/Sensors-C6U8ckWK.js +2 -0
- package/dist/interface/assets/{Settings-8yG5ny5r.js → Settings-JLdVUq7Z.js} +1 -1
- package/dist/interface/assets/SettingsAccount-CqJAqaK5.js +1 -0
- package/dist/interface/assets/SettingsAccount-lem3U0i3.js +1 -0
- package/dist/interface/assets/{SettingsAppearance-WQtOksbk.js → SettingsAppearance-B4B_oSjk.js} +1 -1
- package/dist/interface/assets/SettingsAppearance-DIbztL4M.js +1 -0
- package/dist/interface/assets/{SettingsBackup-DNDDU6a1.js → SettingsBackup-BNIufsOw.js} +1 -1
- package/dist/interface/assets/{SettingsList-tFKUMnsB.js → SettingsList-D6r5S91a.js} +1 -1
- package/dist/interface/assets/{SettingsMqtt-BYVV1Mew.js → SettingsMqtt-BsfRfFaN.js} +1 -1
- package/dist/interface/assets/{SettingsNotifications-BVGmt0eF.js → SettingsNotifications-EerQSLcj.js} +1 -1
- package/dist/interface/assets/{SettingsPermissions-BPqDIjVt.js → SettingsPermissions-j1GCDQER.js} +1 -1
- package/dist/interface/assets/SettingsRecordings-DoDsjj0I.js +1 -0
- package/dist/interface/assets/SettingsRemote-DmYD8t4k.js +1 -0
- package/dist/interface/assets/SettingsSystem-QnpE8IdB.js +2 -0
- package/dist/interface/assets/{SettingsUsers-BtT17FNe.js → SettingsUsers-DSu7YkD6.js} +1 -1
- package/dist/interface/assets/{Terminal-DuJHIlLe.js → Terminal-DbAqY4Hb.js} +2 -2
- package/dist/interface/assets/{VariableInput-CkXZ00Gc.js → VariableInput-D8fxy8Tr.js} +1 -1
- package/dist/interface/assets/{VariableSuggestions-BD1kOG5f.js → VariableSuggestions-BmrGajtR.js} +1 -1
- package/dist/interface/assets/{VersionsHandler-D9sDkGXx.js → VersionsHandler-DVnhikOd.js} +1 -1
- package/dist/interface/assets/{VirtualSensorCreate-DcwJ_w-l.js → VirtualSensorCreate-CY0SgW0D.js} +1 -1
- package/dist/interface/assets/Workers-C4ee5Qu6.js +2 -0
- package/dist/interface/assets/api-CNl5E-Z0.js +2 -0
- package/dist/interface/assets/api-DBqh9A2C.css +2 -0
- package/dist/interface/assets/{api-Mny5Elfn.js → api-QDhweZyS.js} +1 -1
- package/dist/interface/assets/{auth-9_Jjlsh0.js → auth-DtXDXDTz.js} +1 -1
- package/dist/interface/assets/automations-BtpjXAGj.js +1 -0
- package/dist/interface/assets/{cameras.schema-DMY4SYte.js → cameras.schema-BD1hnsDj.js} +1 -1
- package/dist/interface/assets/{chevron-right-AhqYJOFy.js → chevron-right-BOQr3ruh.js} +1 -1
- package/dist/interface/assets/cloudHandoff-C3N4uaQY.js +1 -0
- package/dist/interface/assets/{config-BZphegxi.js → config-BZ9jkdkW.js} +1 -1
- package/dist/interface/assets/{flowSchema-_RiPAgMv.js → flowSchema-lxx7zedO.js} +1 -1
- package/dist/interface/assets/main-nZuJbwRm.js +3 -0
- package/dist/interface/assets/mqtt-DLq_vTiX.js +1 -0
- package/dist/interface/assets/{notifications-CK6XQBF-.js → notifications-f-Qb41-N.js} +1 -1
- package/dist/interface/assets/plugins-COTLBtoZ.js +1 -0
- package/dist/interface/assets/{round-restart-alt-BFgY3k77.js → round-restart-alt-CZSQhHXV.js} +1 -1
- package/dist/interface/assets/sensorIcons-Cg62BVxo.js +1 -0
- package/dist/interface/assets/sensors-Dxcrwsnf.js +1 -0
- package/dist/interface/assets/{server-BSYs0zoo.js → server-BHIoih6c.js} +1 -1
- package/dist/interface/assets/{theme-Dr_YO8-0.js → theme-u1kyGMxl.js} +1 -1
- package/dist/interface/assets/{types-3mdj4rRK.js → types-BAbqJts5.js} +1 -1
- package/dist/interface/assets/types-BHs28Xd0.js +1 -0
- package/dist/interface/assets/{useAppVersion-UIA6seZv.js → useAppVersion-BoISCpsN.js} +1 -1
- package/dist/interface/assets/useBackupRestore-Sw6F6lrg.js +1 -0
- package/dist/interface/assets/{useCameraOptions-Dx-zyqdH.js → useCameraOptions-9POwrGtQ.js} +1 -1
- package/dist/interface/assets/{useElectron-BXVcamD0.js → useElectron-Cam3T7Zb.js} +1 -1
- package/dist/interface/assets/{useLogsSocket-DSxzAvQF.js → useLogsSocket-Bj6kkAHI.js} +1 -1
- package/dist/interface/assets/{usePermissions-B_C-zX5H.js → usePermissions-DYAyOydQ.js} +1 -1
- package/dist/interface/assets/{usePluginUpdates-QU3U82S_.js → usePluginUpdates-b3WpWgyq.js} +1 -1
- package/dist/interface/assets/{useServerRestart-BxDBO7k-.js → useServerRestart-BQh5xnO1.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-DY4NM_Ua.js → useStreamStatus-Bw80DXqa.js} +1 -1
- package/dist/interface/assets/{useUserOptions-BL53bECb.js → useUserOptions-A6noG3pQ.js} +1 -1
- package/dist/interface/assets/{vendor-cameraui-DojVuZ2L.js → vendor-cameraui-B1Jik_TX.js} +1 -1
- package/dist/interface/assets/{vendor-core-ZDcIKAw9.js → vendor-core-D7dApN9I.js} +1 -1
- package/dist/interface/assets/{vendor-primevue-C0acGg0Y.js → vendor-primevue-d9Mn2ip-.js} +1 -1
- package/dist/interface/index.html +22 -22
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +3 -3
- package/dist/server/requirements.txt +1 -1
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/sensor_rpc.py +6 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +18 -1
- package/dist/server/src/api/controllers/automations.controller.d.ts +3 -1
- package/dist/server/src/api/controllers/automations.controller.js +27 -0
- package/dist/server/src/api/controllers/automations.controller.js.map +1 -1
- package/dist/server/src/api/controllers/cameras.controller.d.ts +3 -2
- package/dist/server/src/api/controllers/cameras.controller.js +26 -1
- package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
- package/dist/server/src/api/controllers/instances.controller.d.ts +2 -1
- package/dist/server/src/api/controllers/instances.controller.js +9 -0
- package/dist/server/src/api/controllers/instances.controller.js.map +1 -1
- package/dist/server/src/api/controllers/plugins.controller.d.ts +9 -2
- package/dist/server/src/api/controllers/plugins.controller.js +156 -99
- package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
- package/dist/server/src/api/controllers/sensors.controller.d.ts +3 -1
- package/dist/server/src/api/controllers/sensors.controller.js +31 -0
- package/dist/server/src/api/controllers/sensors.controller.js.map +1 -1
- package/dist/server/src/api/database/types.d.ts +1 -0
- package/dist/server/src/api/routes/automations.routes.js +23 -1
- package/dist/server/src/api/routes/automations.routes.js.map +1 -1
- package/dist/server/src/api/routes/cameras.routes.js +15 -3
- package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
- package/dist/server/src/api/routes/instances.routes.js +12 -1
- package/dist/server/src/api/routes/instances.routes.js.map +1 -1
- package/dist/server/src/api/routes/plugins.routes.js +36 -2
- package/dist/server/src/api/routes/plugins.routes.js.map +1 -1
- package/dist/server/src/api/routes/sensors.routes.js +23 -1
- package/dist/server/src/api/routes/sensors.routes.js.map +1 -1
- package/dist/server/src/api/schemas/automations.schema.d.ts +11 -0
- package/dist/server/src/api/schemas/automations.schema.js +7 -0
- package/dist/server/src/api/schemas/automations.schema.js.map +1 -1
- package/dist/server/src/api/schemas/cameras.schema.d.ts +17 -0
- package/dist/server/src/api/schemas/cameras.schema.js +15 -0
- package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
- package/dist/server/src/api/schemas/instances.schema.d.ts +4 -0
- package/dist/server/src/api/schemas/instances.schema.js +3 -0
- package/dist/server/src/api/schemas/instances.schema.js.map +1 -1
- package/dist/server/src/api/schemas/plugins.schema.d.ts +11 -0
- package/dist/server/src/api/schemas/plugins.schema.js +6 -0
- package/dist/server/src/api/schemas/plugins.schema.js.map +1 -1
- package/dist/server/src/api/schemas/sensors.schema.d.ts +11 -0
- package/dist/server/src/api/schemas/sensors.schema.js +7 -0
- package/dist/server/src/api/schemas/sensors.schema.js.map +1 -1
- package/dist/server/src/api/services/instances.service.d.ts +7 -0
- package/dist/server/src/api/services/instances.service.js +17 -0
- package/dist/server/src/api/services/instances.service.js.map +1 -1
- package/dist/server/src/api/services/sensors.service.d.ts +1 -0
- package/dist/server/src/api/services/sensors.service.js +1 -0
- package/dist/server/src/api/services/sensors.service.js.map +1 -1
- package/dist/server/src/api/types/index.d.ts +38 -5
- package/dist/server/src/api/types/index.js.map +1 -1
- package/dist/server/src/api/utils/bulk.d.ts +9 -0
- package/dist/server/src/api/utils/bulk.js +27 -0
- package/dist/server/src/api/utils/bulk.js.map +1 -0
- package/dist/server/src/camera/decoder/stationary-suppressor.js +1 -1
- package/dist/server/src/camera/decoder/stationary-suppressor.js.map +1 -1
- package/dist/server/src/mqtt/bridge.d.ts +1 -0
- package/dist/server/src/mqtt/bridge.js +7 -7
- package/dist/server/src/mqtt/bridge.js.map +1 -1
- package/dist/server/src/rpc/interfaces/sensor.d.ts +2 -0
- package/dist/server/src/rpc/server.js +1 -0
- package/dist/server/src/rpc/server.js.map +1 -1
- package/dist/server/src/sensors/registry.js +7 -2
- package/dist/server/src/sensors/registry.js.map +1 -1
- package/package.json +3 -3
- package/dist/interface/assets/Adminpanel-BtQdiyre.js +0 -1
- package/dist/interface/assets/Automations-DBjwNb3F.js +0 -2
- package/dist/interface/assets/Camera-BfvpjkW3.js +0 -2
- package/dist/interface/assets/Camview-DArvg940.js +0 -1
- package/dist/interface/assets/Config-Ccp5Acpv.js +0 -2
- package/dist/interface/assets/ConfigTriggerGeofence-DTzax7bc.js +0 -1
- package/dist/interface/assets/Console-C6yUdEaM.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-C2zU_iyj.js +0 -1
- package/dist/interface/assets/CuiCameraPipCard-CZ-oDxzy.js +0 -1
- package/dist/interface/assets/CuiMarkdownContent-C2uBepC1.js +0 -1
- package/dist/interface/assets/CuiMarkdownContent-QxLR7_qs.js +0 -1
- package/dist/interface/assets/CuiPluginCard-1dSDwOCf.js +0 -2
- package/dist/interface/assets/CuiQRCode-B4ysluWR.js +0 -1
- package/dist/interface/assets/CuiRecordingsGrid-CkwE3jcR.js +0 -1
- package/dist/interface/assets/CuiSchema-DKATswRc.js +0 -1
- package/dist/interface/assets/Faces-BeeZrFV-.js +0 -1
- package/dist/interface/assets/FirstSteps-DWT6Tt_T.js +0 -1
- package/dist/interface/assets/Instances-CJlFo8ni.js +0 -1
- package/dist/interface/assets/OAuthDeviceFlow-CcSkntGk.js +0 -1
- package/dist/interface/assets/Plugin-8dbt_8iG.js +0 -1
- package/dist/interface/assets/PluginDetail-C9dR9jrw.js +0 -2
- package/dist/interface/assets/PluginSearch-BVAtgBZs.js +0 -1
- package/dist/interface/assets/Plugins-CQJhji6o.js +0 -1
- package/dist/interface/assets/Recordings-AD78njIA.js +0 -1
- package/dist/interface/assets/Sensors-CFfII3-e.css +0 -1
- package/dist/interface/assets/Sensors-Vwr7MYz6.js +0 -2
- package/dist/interface/assets/SettingsAccount-BBsivYFf.js +0 -1
- package/dist/interface/assets/SettingsAccount-CN9Xcgt-.js +0 -1
- package/dist/interface/assets/SettingsAppearance-Qh1cw9iX.js +0 -1
- package/dist/interface/assets/SettingsRecordings-B4DDJSKe.js +0 -1
- package/dist/interface/assets/SettingsRemote-Bib7kXto.js +0 -1
- package/dist/interface/assets/SettingsSystem-DIe7CSgH.js +0 -2
- package/dist/interface/assets/Workers-fV_NEZ7U.js +0 -2
- package/dist/interface/assets/api-Draww2tC.js +0 -2
- package/dist/interface/assets/api-eELh8KCM.css +0 -2
- package/dist/interface/assets/automations-BfsdbSPC.js +0 -1
- package/dist/interface/assets/cloudHandoff-BQsDy9yp.js +0 -1
- package/dist/interface/assets/main-CV7qCZ5i.js +0 -3
- package/dist/interface/assets/mqtt-BPfLOT7L.js +0 -1
- package/dist/interface/assets/plugins-BU7TQh_f.js +0 -1
- package/dist/interface/assets/sensorIcons-DtJEfoU4.js +0 -1
- package/dist/interface/assets/sensors-DjgfMS8S.js +0 -1
- package/dist/interface/assets/types-BGMvANrz.js +0 -1
- package/dist/interface/assets/useBackupRestore-E3pVEOvA.js +0 -1
- 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};
|