@camera.ui/server 2.2.5 → 2.2.6
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-CiOxoqnT.js → 404-BLVuKvLk.js} +1 -1
- package/dist/interface/assets/{About-DWOlfWEm.js → About-C-AJ0jfI.js} +1 -1
- package/dist/interface/assets/Assistant-BJKGIvVo.js +1 -0
- package/dist/interface/assets/{Assistant-CXx7EY1W.css → Assistant-BQ6Ld-bt.css} +1 -1
- package/dist/interface/assets/{Automation-BJgwUkUB.js → Automation-C95DzuZb.js} +3 -3
- package/dist/interface/assets/{AutomationImport-9GRAndAt.js → AutomationImport-C8VYjDzf.js} +2 -2
- package/dist/interface/assets/{AutomationStore-D_HR2Xby.js → AutomationStore-CE4PKRGd.js} +2 -2
- package/dist/interface/assets/{AutomationStoreDetail-B9MxV2py.js → AutomationStoreDetail-DavWfjLv.js} +2 -2
- package/dist/interface/assets/Automations-BOP_17Ri.js +2 -0
- package/dist/interface/assets/Camera-BW9ikKqh.css +1 -0
- package/dist/interface/assets/Camera-C5S7eI9a.js +2 -0
- package/dist/interface/assets/{CameraConsole-BKPTLSTO.js → CameraConsole-C4AmtcrM.js} +1 -1
- package/dist/interface/assets/{Cameras-DcrVCgLy.js → Cameras-DR577Bno.js} +2 -2
- package/dist/interface/assets/{Camview-DasO326h.css → Camview-Bri_T7Tq.css} +1 -1
- package/dist/interface/assets/Camview-CHxKB41T.js +1 -0
- package/dist/interface/assets/{Config-BmEL5EaW.js → Config-BrDDGWpr.js} +1 -1
- package/dist/interface/assets/{ConfigActionAssistant-DM4tIhoa.js → ConfigActionAssistant-YtCVI8LZ.js} +1 -1
- package/dist/interface/assets/{ConfigActionCameraControl-Deo0eDPS.js → ConfigActionCameraControl-Dg_1zOYt.js} +1 -1
- package/dist/interface/assets/{ConfigActionHttp-BxJmoshF.js → ConfigActionHttp-BzwLv2tn.js} +1 -1
- package/dist/interface/assets/{ConfigActionImageInput-KrzXFQDm.js → ConfigActionImageInput-CLdY2sV4.js} +1 -1
- package/dist/interface/assets/{ConfigActionMqtt-BoYBomRC.js → ConfigActionMqtt-lGqYshl3.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-CSAOijDt.js → ConfigActionNotification-D5Dj3EoU.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotificationControl-BOdyKiOs.js → ConfigActionNotificationControl-Dy5fKamr.js} +1 -1
- package/dist/interface/assets/{ConfigActionOutput-CwsPcnd_.js → ConfigActionOutput-DzsQ31L0.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-D3wyULpp.js → ConfigActionPlugin-BFrBcXvL.js} +1 -1
- package/dist/interface/assets/{ConfigActionSensor-BmeaIxYY.js → ConfigActionSensor-CX8ePlan.js} +1 -1
- package/dist/interface/assets/{ConfigActionSnapshot-DbyFKcYr.js → ConfigActionSnapshot-BATLRmh6.js} +1 -1
- package/dist/interface/assets/{ConfigActionVariable-cThGJ1Pc.js → ConfigActionVariable-Dgn5jvaR.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-BugkJeXR.js → ConfigConditionIfElse-D5IIBjyk.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-Bf-mMf4E.js → ConfigConditionSensorState-C0JxBWdG.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSwitch-DcpFoYET.js → ConfigConditionSwitch-Brlgd0XP.js} +1 -1
- package/dist/interface/assets/{ConfigSensorValueInput-CgAI34__.js → ConfigSensorValueInput-CtuH8dCa.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerDetection-BWK6gfwM.js → ConfigTriggerDetection-DsL7lLQl.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerGeofence-Cm3CU7Tl.js → ConfigTriggerGeofence-CAGIk1_W.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerMqtt-BMFjTAso.js → ConfigTriggerMqtt-B_iFalAQ.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-DOdJkZRo.js → ConfigTriggerSensor-hYNbLXUu.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-BFDIbZsE.js → ConfigTriggerSystem-DR1EFpE9.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerWebhook-DDoUEVHb.js → ConfigTriggerWebhook-C-B5GGFH.js} +1 -1
- package/dist/interface/assets/{Console-BIj7cIqO.js → Console-cIr6lYux.js} +1 -1
- package/dist/interface/assets/CuiAssistantConversation-Bigl43Ph.js +5 -0
- package/dist/interface/assets/CuiAssistantConversation-BmshW6Vc.css +1 -0
- package/dist/interface/assets/{CuiAutomationRunsDialog-DMUfNcsf.js → CuiAutomationRunsDialog-Ci7SWAml.js} +1 -1
- package/dist/interface/assets/{CuiBottomSheet-FwsPnJ3n.js → CuiBottomSheet-C2sM2E3M.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-ViBOgklN.js +1 -0
- package/dist/interface/assets/CuiCameraPipCard-wdK7xir-.js +1 -0
- package/dist/interface/assets/{CuiCameraRecordings-BeciatDY.js → CuiCameraRecordings-BB7bF67B.js} +1 -1
- package/dist/interface/assets/{CuiCameraShares-CSFwIYsg.js → CuiCameraShares-B6jdUBVm.js} +1 -1
- package/dist/interface/assets/CuiCameraTable-CHnQFkce.js +1 -0
- package/dist/interface/assets/{CuiCameraTable-DBRfGX3I.js → CuiCameraTable-CpBo25Qc.js} +1 -1
- package/dist/interface/assets/{CuiChartTable-CtasoxMM.js → CuiChartTable-dIcxGtfl.js} +1 -1
- package/dist/interface/assets/{CuiConsole-DQbAafiz.js → CuiConsole-BGptpT6r.js} +1 -1
- package/dist/interface/assets/{CuiDataTable-JlD7Agky.js → CuiDataTable-CQmp5mAy.js} +1 -1
- package/dist/interface/assets/CuiLightControl-wbZi3fA1.js +1 -0
- package/dist/interface/assets/CuiPluginCard-BjIc7It9.js +2 -0
- package/dist/interface/assets/{CuiPluginCategoryChip-B2bR5LQa.js → CuiPluginCategoryChip-BtJ_6_gN.js} +1 -1
- package/dist/interface/assets/{CuiPluginOAuthButton-DfEjfcY-.js → CuiPluginOAuthButton-Duf35I8K.js} +2 -2
- package/dist/interface/assets/{CuiPluginTrustBadge-C6CW6Soh.js → CuiPluginTrustBadge-jxXeRTH2.js} +1 -1
- package/dist/interface/assets/{CuiQRCode-DGKBhDib.js → CuiQRCode-BNchrpoB.js} +1 -1
- package/dist/interface/assets/{CuiSchema-pAAVh28m.js → CuiSchema-DGTMkVSe.js} +1 -1
- package/dist/interface/assets/{CuiTopNavbarItem-ve-3Dsc3.js → CuiTopNavbarItem-CHtLvn53.js} +1 -1
- package/dist/interface/assets/Faces-p18jNfXl.js +1 -0
- package/dist/interface/assets/FirstSteps-HzaBMDbH.js +1 -0
- package/dist/interface/assets/Floorplan-DYyEx7WO.js +1 -0
- package/dist/interface/assets/Instances-Dl-6rL5O.js +1 -0
- package/dist/interface/assets/{Logs-BhRactvQ.js → Logs-DsJkuQFq.js} +2 -2
- package/dist/interface/assets/{Menu-DMCmUVDs.js → Menu-D_woMkjL.js} +1 -1
- package/dist/interface/assets/Metrics-l3UwykCM.js +12 -0
- package/dist/interface/assets/{OAuthDeviceFlow-BMEwVkIa.js → OAuthDeviceFlow-CXfILAE1.js} +1 -1
- package/dist/interface/assets/Plugin-Ldj3HygQ.js +1 -0
- package/dist/interface/assets/{PluginConsole-C4Ba_U_1.js → PluginConsole-C96m5zKy.js} +1 -1
- package/dist/interface/assets/{PluginDetail-13OWIzdd.js → PluginDetail-CnfaI1vh.js} +2 -2
- package/dist/interface/assets/{PluginSchema-DN0cSU8s.js → PluginSchema-u1bqXU29.js} +1 -1
- package/dist/interface/assets/{PluginSearch-sPkO8aH3.js → PluginSearch-BiXG3Xk2.js} +2 -2
- package/dist/interface/assets/PluginSearch-BuE7we1T.js +1 -0
- package/dist/interface/assets/{PluginUpdateProgress-CeWuRp3Z.js → PluginUpdateProgress-BT4lN9HT.js} +1 -1
- package/dist/interface/assets/{Plugins-C8yjhxnQ.js → Plugins-Csx6AXaW.js} +1 -1
- package/dist/interface/assets/Recordings-BEKAn6QK.css +1 -0
- package/dist/interface/assets/Recordings-D0KTY5cI.js +1 -0
- package/dist/interface/assets/{SensorEdit-C-yJdJuP.js → SensorEdit-zs-f_o1N.js} +1 -1
- package/dist/interface/assets/{SensorHistory-ClAcOgHj.js → SensorHistory-Cet35_RO.js} +1 -1
- package/dist/interface/assets/Sensors-BLAoalEt.js +2 -0
- package/dist/interface/assets/Settings-C-LCDIbK.js +1 -0
- package/dist/interface/assets/SettingsAccount-BsN7jGmo.js +1 -0
- package/dist/interface/assets/SettingsAccount-DuVyCSE-.js +1 -0
- package/dist/interface/assets/{SettingsAppearance-CJt4xJEW.js → SettingsAppearance-BS4EQNjH.js} +1 -1
- package/dist/interface/assets/SettingsAppearance-DQcGbYbV.js +1 -0
- package/dist/interface/assets/SettingsAssistant-B0PF3Rdg.css +1 -0
- package/dist/interface/assets/SettingsAssistant-DViJklFd.js +1 -0
- package/dist/interface/assets/{SettingsBackup-DIJmci05.js → SettingsBackup-DBlV1gej.js} +1 -1
- package/dist/interface/assets/{SettingsList-Cb_dLy5T.js → SettingsList-D8eSwbBY.js} +1 -1
- package/dist/interface/assets/{SettingsMqtt-LIuCRPT5.js → SettingsMqtt-JoszJJgV.js} +1 -1
- package/dist/interface/assets/{SettingsNotifications-CZxqqH_8.js → SettingsNotifications-3veSrxa_.js} +1 -1
- package/dist/interface/assets/{SettingsRecordings-BEpwMh-y.js → SettingsRecordings-CLz9Zp47.js} +1 -1
- package/dist/interface/assets/{SettingsRemote-DRt-N_yA.js → SettingsRemote-DUyl8k7I.js} +2 -2
- package/dist/interface/assets/{SettingsSystem-Cncdpx8T.js → SettingsSystem-txTFGomQ.js} +2 -2
- package/dist/interface/assets/{SettingsUsers-DZkz8WlI.js → SettingsUsers-CUp6vQPc.js} +1 -1
- package/dist/interface/assets/{Terminal-U4yfJN3O.js → Terminal-hln2UuSR.js} +2 -2
- package/dist/interface/assets/Training-D6lhvUf-.js +1 -0
- package/dist/interface/assets/Updates-BwSWt9w7.js +2 -0
- package/dist/interface/assets/{VariableInput-PVsqGYW0.js → VariableInput-183LygmK.js} +1 -1
- package/dist/interface/assets/{VersionsHandler-Df7dhddp.js → VersionsHandler-DkbkcypK.js} +1 -1
- package/dist/interface/assets/{VirtualSensorCreate-FTKANjd-.js → VirtualSensorCreate-Bn4tgdxA.js} +1 -1
- package/dist/interface/assets/Workers-B6b15izn.js +2 -0
- package/dist/interface/assets/api-C9mnOxie.js +4 -0
- package/dist/interface/assets/api-Cj9a6qPu.css +2 -0
- package/dist/interface/assets/{api-DpqXhwcx.js → api-h4HRB3ef.js} +1 -1
- package/dist/interface/assets/{assistant-Lz3mFLDo.js → assistant-4hYyIu6D.js} +1 -1
- package/dist/interface/assets/{auth-L7_5vsJs.js → auth-DFesRtwI.js} +1 -1
- package/dist/interface/assets/{automations-D1XFFSrm.js → automations-D2bnX8uw.js} +1 -1
- package/dist/interface/assets/{cameraSources-DEGJDtmK.js → cameraSources-DmVZWs4-.js} +1 -1
- package/dist/interface/assets/cloudHandoff-Ba98bzeq.js +1 -0
- package/dist/interface/assets/{config-CVqy37fG.js → config-DDaCrMSU.js} +1 -1
- package/dist/interface/assets/esm-Bn9gXwX4.js +1 -0
- package/dist/interface/assets/esm-BzM6y2-F.js +1 -0
- package/dist/interface/assets/esm-CP3JWrtj.js +1 -0
- package/dist/interface/assets/esm-CjAXkqCf.js +1 -0
- package/dist/interface/assets/esm-Cqxk-j1S.js +1 -0
- package/dist/interface/assets/esm-DFHd3JNU.js +1 -0
- package/dist/interface/assets/esm-DfMLJtug.js +1 -0
- package/dist/interface/assets/esm-DhDrpq7a.js +1 -0
- package/dist/interface/assets/esm-DvhM-SOd.js +1 -0
- package/dist/interface/assets/esm-G63bqygQ.js +1 -0
- package/dist/interface/assets/esm-Gn-Y59hU.js +1 -0
- package/dist/interface/assets/esm-KJSOz2vj.js +1 -0
- package/dist/interface/assets/esm-Ryfc94Tm.js +1 -0
- package/dist/interface/assets/esm-rSfI5Poy.js +1 -0
- package/dist/interface/assets/{flowSchema-CppNBDy1.js → flowSchema-YJtAu9gB.js} +1 -1
- package/dist/interface/assets/main-C796FmqQ.js +3 -0
- package/dist/interface/assets/{main-Bo0Lb1y2.css → main-DVa5U7UB.css} +1 -1
- package/dist/interface/assets/{mqtt-BENV9Fx4.js → mqtt-DGBPptzB.js} +1 -1
- package/dist/interface/assets/native-CZJE8bTs.js +1 -0
- package/dist/interface/assets/native-DKZwialB.js +1 -0
- package/dist/interface/assets/{notifications-By40oPng.js → notifications-5yeK345h.js} +1 -1
- package/dist/interface/assets/plugin-DSEMkqaK.js +1 -0
- package/dist/interface/assets/{plugins-09rEDbMz.js → plugins-BTOdE_zv.js} +1 -1
- package/dist/interface/assets/{rooms-LBxn-Uuu.js → rooms-BCdm6IAx.js} +1 -1
- package/dist/interface/assets/{sensorIcons-Csu5s0uk.js → sensorIcons-5Ynqwo3e.js} +1 -1
- package/dist/interface/assets/{sensorSlots-CtbKmsGG.js → sensorSlots-BF70tpV7.js} +1 -1
- package/dist/interface/assets/{sensors-CbzNs18A.js → sensors-CeFEEz8r.js} +1 -1
- package/dist/interface/assets/{server-Btp5KILd.js → server-bhW2Mw4D.js} +1 -1
- package/dist/interface/assets/{theme-GhzGwpqd.js → theme-DF_XA58O.js} +1 -1
- package/dist/interface/assets/{types-D8QWPhe-.js → types-ArGM5-5O.js} +1 -1
- package/dist/interface/assets/{types-BAwhu9iv.js → types-BcAxmlqC.js} +1 -1
- package/dist/interface/assets/{ungrouped-BMk56E3L.js → ungrouped-CkIlDUwl.js} +1 -1
- package/dist/interface/assets/{updates-CGo0T4sn.js → updates-D3x_kPMM.js} +1 -1
- package/dist/interface/assets/{useAppVersion-CJlexqyz.js → useAppVersion-Dcvu95bZ.js} +1 -1
- package/dist/interface/assets/{useBackupRestore-_s8vS5WF.js → useBackupRestore-xp5KhKVn.js} +1 -1
- package/dist/interface/assets/{useCameraOptions-CFISVNgk.js → useCameraOptions-8I4MTDgj.js} +1 -1
- package/dist/interface/assets/useKeyboardInset-C0Lp0UcX.js +1 -0
- package/dist/interface/assets/{useLogsSocket-D-ndWAg0.js → useLogsSocket-bpOiLgWT.js} +1 -1
- package/dist/interface/assets/{useNavLayout-CG0X_3kt.js → useNavLayout-Cjf6Da2u.js} +1 -1
- package/dist/interface/assets/{usePluginUpdates-nW_dt66E.js → usePluginUpdates-bOMj-IvL.js} +1 -1
- package/dist/interface/assets/{usePushRegistration-DCqOAxR4.js → usePushRegistration-HOvLuUVP.js} +2 -2
- package/dist/interface/assets/{useServerRestart-CxJGxAcU.js → useServerRestart-CQN4cdHJ.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-CXb1HbAq.js → useStreamStatus-Da7c2Wme.js} +1 -1
- package/dist/interface/assets/{useTabSwipe-DHb8__wU.js → useTabSwipe-fFuyJJBQ.js} +1 -1
- package/dist/interface/assets/{useUpdateChannel-BR4PMh1R.js → useUpdateChannel-Ca1RX32u.js} +1 -1
- package/dist/interface/assets/{useUpdatesSocket-DKDRZhvc.js → useUpdatesSocket-DHZNpLQX.js} +1 -1
- package/dist/interface/assets/{useUserOptions-lyc4WJ4L.js → useUserOptions-BQdOB-Dp.js} +1 -1
- package/dist/interface/assets/{vendor-capacitor-f9ShAzys.js → vendor-capacitor-Bs_WzL0Q.js} +2 -2
- package/dist/interface/assets/web-BDNQnMmA.js +1 -0
- package/dist/interface/assets/web-BhJykCtq.js +1 -0
- package/dist/interface/assets/web-BjKL51lK-wWFeZlLg.js +1 -0
- package/dist/interface/assets/web-C7nJwIOa.js +1 -0
- package/dist/interface/assets/web-CGJsJQDb.js +1 -0
- package/dist/interface/assets/web-CJwASxrl.js +1 -0
- package/dist/interface/assets/web-CLe0L31Y.js +1 -0
- package/dist/interface/assets/web-DEv1hAn1.js +1 -0
- package/dist/interface/assets/web-DaeQvsXT.js +1 -0
- package/dist/interface/assets/web-H3-wNunW.js +1 -0
- package/dist/interface/assets/web-LCdyqJq1.js +1 -0
- package/dist/interface/assets/web-XZWYTK65.js +1 -0
- package/dist/interface/assets/web-rU5hlxxW.js +1 -0
- package/dist/interface/ha/{404-B2T8Gktj.js → 404-C0mWQGWl.js} +1 -1
- package/dist/interface/ha/{About-CrTKzU9_.js → About-ByE7XErJ.js} +3 -3
- package/dist/interface/ha/{Assistant-BDHJmYx_.js → Assistant-Z3FTR868.js} +2264 -2133
- package/dist/interface/ha/{Automation-Czo5EsAg.js → Automation-COQqTFNw.js} +170 -170
- package/dist/interface/ha/{AutomationImport-CuFAQbiX.js → AutomationImport-ueWqMBX9.js} +6 -6
- package/dist/interface/ha/{AutomationStore-D-6x0JIt.js → AutomationStore-DBO4aZqy.js} +73 -73
- package/dist/interface/ha/{AutomationStoreDetail-Dad4q1MN.js → AutomationStoreDetail-DMnYu7hf.js} +6 -6
- package/dist/interface/ha/{Automations-C-oGM5SR.js → Automations-CMdbidc0.js} +70 -70
- package/dist/interface/ha/Camera-C28q_3pu.js +657 -0
- package/dist/interface/ha/{CameraConsole-hRGwbjsD.js → CameraConsole-oMNZfKE6.js} +3 -3
- package/dist/interface/ha/{Cameras-Bk5TFXA8.js → Cameras-CsqrLx97.js} +182 -182
- package/dist/interface/ha/{Camview-CsKKqxxY.js → Camview-Br0LUakz.js} +542 -542
- package/dist/interface/ha/{Config-Vl4-K3A_.js → Config-Y5eUNSW7.js} +110 -110
- package/dist/interface/ha/{ConfigActionAssistant-OWUX8glZ.js → ConfigActionAssistant-hl-6ZACj.js} +4 -4
- package/dist/interface/ha/{ConfigActionCameraControl-DEaOot8w.js → ConfigActionCameraControl-DnXlVFWD.js} +3 -3
- package/dist/interface/ha/{ConfigActionHttp-CSr2BpKL.js → ConfigActionHttp-BkpkMmRd.js} +2 -2
- package/dist/interface/ha/{ConfigActionImageInput--O8Tyca-.js → ConfigActionImageInput-Dp78_QS_.js} +1 -1
- package/dist/interface/ha/{ConfigActionMqtt-DQJ4-gs2.js → ConfigActionMqtt-DA_UWb5j.js} +4 -4
- package/dist/interface/ha/{ConfigActionNotification-wR8CCA_T.js → ConfigActionNotification-CQ4Ses3a.js} +3 -3
- package/dist/interface/ha/{ConfigActionNotificationControl-DNMrHwPz.js → ConfigActionNotificationControl-Cb5PNGz-.js} +2 -2
- package/dist/interface/ha/{ConfigActionOutput-C-LVFxFP.js → ConfigActionOutput-DLuNHwRb.js} +1 -1
- package/dist/interface/ha/{ConfigActionPlugin-BCREAkNo.js → ConfigActionPlugin-ChKFCNaj.js} +4 -4
- package/dist/interface/ha/{ConfigActionSensor-D48CQ6qR.js → ConfigActionSensor-DOutFalW.js} +5 -5
- package/dist/interface/ha/{ConfigActionSnapshot-DpDy88Mg.js → ConfigActionSnapshot-GWgY6YIN.js} +2 -2
- package/dist/interface/ha/{ConfigActionVariable-D9BxmwvB.js → ConfigActionVariable-bu-9VYTG.js} +1 -1
- package/dist/interface/ha/{ConfigConditionIfElse-CW42tQFY.js → ConfigConditionIfElse-iNp8tlZV.js} +3 -3
- package/dist/interface/ha/{ConfigConditionSensorState-BZpij7kB.js → ConfigConditionSensorState-Dn7kcHpJ.js} +4 -4
- package/dist/interface/ha/{ConfigConditionSwitch-DlTuJ9Sf.js → ConfigConditionSwitch-DaUlDgo0.js} +4 -4
- package/dist/interface/ha/{ConfigSensorValueInput-2QLHESlE.js → ConfigSensorValueInput-D6m6suqJ.js} +7 -7
- package/dist/interface/ha/{ConfigTriggerDetection-DPmUkmUJ.js → ConfigTriggerDetection-C5B_DC_L.js} +11 -11
- package/dist/interface/ha/{ConfigTriggerGeofence--T9OXhGl.js → ConfigTriggerGeofence-B4WVNcK5.js} +5 -5
- package/dist/interface/ha/{ConfigTriggerMqtt-fZn_X6yY.js → ConfigTriggerMqtt-wnMfk_Un.js} +1 -1
- package/dist/interface/ha/{ConfigTriggerSensor-_3O6iBFX.js → ConfigTriggerSensor-xFpI5KPu.js} +1 -1
- package/dist/interface/ha/{ConfigTriggerSystem-CC9lqi8Q.js → ConfigTriggerSystem-YI9WYYVM.js} +2 -2
- package/dist/interface/ha/{ConfigTriggerWebhook-BuBcgXqf.js → ConfigTriggerWebhook-58c2KgUe.js} +2 -2
- package/dist/interface/ha/{Console-DNc49UEt.js → Console-Coiqh32K.js} +4 -4
- package/dist/interface/ha/{CuiAutomationRunsDialog-Dj_iiZht.js → CuiAutomationRunsDialog-CJ2MGfEY.js} +2 -2
- package/dist/interface/ha/{CuiBottomSheet-DG7wOV7m.js → CuiBottomSheet-BlG9Pl9j.js} +1 -1
- package/dist/interface/ha/{CuiCameraRecordings-BlOZTfQ4.js → CuiCameraRecordings-DLXEB4Q7.js} +12 -12
- package/dist/interface/ha/{CuiCameraShares-BOn-mobi.js → CuiCameraShares-BCIeaM6u.js} +6 -6
- package/dist/interface/ha/{CuiCameraTable-D50FLiK8.js → CuiCameraTable-PYYC7sOu.js} +2 -2
- package/dist/interface/ha/{CuiChartTable-CfcVRvdZ.js → CuiChartTable-FQ2iR5Hd.js} +4 -4
- package/dist/interface/ha/{CuiConsole-UpN0Wihm.js → CuiConsole-C77k5q_-.js} +1 -1
- package/dist/interface/ha/{CuiDataTable-CpADXKNF.js → CuiDataTable-CIKQLseG.js} +2 -2
- package/dist/interface/ha/{CuiPluginCard-CT6ZfL9o.js → CuiPluginCard-DZNXKP_P.js} +42 -42
- package/dist/interface/ha/{CuiPluginOAuthButton-BJVKd6Ac.js → CuiPluginOAuthButton-DVf52_Zc.js} +2 -2
- package/dist/interface/ha/{CuiPluginTrustBadge-gb9GI24w.js → CuiPluginTrustBadge-CPljYiM8.js} +1 -1
- package/dist/interface/ha/{CuiQRCode-DqKDx9zR.js → CuiQRCode-oe8PLnLj.js} +2 -2
- package/dist/interface/ha/{CuiSchema-CHeJkx0k.js → CuiSchema-CQy94ZTs.js} +152 -152
- package/dist/interface/ha/{CuiTopNavbarItem-CFeI6ZYU.js → CuiTopNavbarItem-D6OHZLQY.js} +1 -1
- package/dist/interface/ha/{Faces-CTfvhhCj.js → Faces-DxAPvemO.js} +15 -15
- package/dist/interface/ha/{FirstSteps-C-WXJ8IL.js → FirstSteps-ZINTSaeL.js} +30 -30
- package/dist/interface/ha/{Floorplan-CDKTYN7B.js → Floorplan-DkbL8ppT.js} +155 -155
- package/dist/interface/ha/{Instances-n23yvN3L.js → Instances-totWtqd7.js} +13 -13
- package/dist/interface/ha/{Logs-Dfm0BWOQ.js → Logs-CzabIFja.js} +12 -12
- package/dist/interface/ha/{Menu-76kvdAEF.js → Menu-DcVBOQfw.js} +15 -15
- package/dist/interface/ha/{Metrics-lnivlTWm.js → Metrics-B_SN5hbp.js} +407 -407
- package/dist/interface/ha/{OAuthDeviceFlow-4ChaymHu.js → OAuthDeviceFlow-B28TPsTQ.js} +2 -2
- package/dist/interface/ha/{Plugin-BV8YA8aN.js → Plugin-B2PbbB8d.js} +208 -208
- package/dist/interface/ha/{PluginConsole-csf1Km7f.js → PluginConsole-_KeG4FvO.js} +4 -4
- package/dist/interface/ha/{PluginDetail-DTff6cbA.js → PluginDetail-GK_Fx14e.js} +7 -7
- package/dist/interface/ha/{PluginSearch-CdjxmFPN.js → PluginSearch-qSy4aqAW.js} +96 -96
- package/dist/interface/ha/{PluginUpdateProgress-ClyF4pbA.js → PluginUpdateProgress-C4Q2j6VO.js} +3 -3
- package/dist/interface/ha/{Plugins-_xOrqP36.js → Plugins-D0tvZHie.js} +54 -54
- package/dist/interface/ha/{Recordings-dTZv0pkp.js → Recordings-CpxJYaAa.js} +303 -307
- package/dist/interface/ha/{SensorEdit-DDRkZjmm.js → SensorEdit-8KtqLXEu.js} +377 -377
- package/dist/interface/ha/{SensorHistory-DSGlRITr.js → SensorHistory-CPTTsdjM.js} +2 -2
- package/dist/interface/ha/{Sensors-DjhGRUzM.js → Sensors-DJt_Hnn2.js} +102 -102
- package/dist/interface/ha/{Settings-DYuvz4de.js → Settings-B-OdG5pG.js} +10 -10
- package/dist/interface/ha/{SettingsAccount-DQAo8SnK.js → SettingsAccount-Ba2-2Lbi.js} +233 -233
- package/dist/interface/ha/{SettingsAppearance-_tbhpUA0.js → SettingsAppearance-D56HjSuQ.js} +7 -7
- package/dist/interface/ha/{SettingsAssistant-DSf-dYuD.js → SettingsAssistant-DglU0auc.js} +666 -621
- package/dist/interface/ha/{SettingsBackup-wLOa7xtw.js → SettingsBackup-DZx4McDz.js} +8 -8
- package/dist/interface/ha/{SettingsList-CYujivw5.js → SettingsList-D9nIGkbE.js} +4 -4
- package/dist/interface/ha/{SettingsMqtt-DbxJ-h3J.js → SettingsMqtt-BOszh--k.js} +180 -180
- package/dist/interface/ha/{SettingsNotifications-DO2-KJvq.js → SettingsNotifications-DBVpZfp0.js} +3 -3
- package/dist/interface/ha/{SettingsRecordings-C47i1UhI.js → SettingsRecordings-D3oJnizu.js} +3 -3
- package/dist/interface/ha/{SettingsRemote-BPvb-KLI.js → SettingsRemote-BOotvcOT.js} +54 -54
- package/dist/interface/ha/{SettingsSystem-BJPrv9JE.js → SettingsSystem-Bg11qoQX.js} +9 -9
- package/dist/interface/ha/{SettingsUsers-CcpCz6Y1.js → SettingsUsers-KpLs9Jnh.js} +25 -25
- package/dist/interface/ha/{Terminal-DT7-WNH1.js → Terminal-D6opTHYI.js} +168 -173
- package/dist/interface/ha/{Training-CqGBf8k1.js → Training-OB2KOQ7L.js} +537 -537
- package/dist/interface/ha/{Updates-CgdrqX6R.js → Updates-C_OvXJjd.js} +14 -14
- package/dist/interface/ha/{VariableInput-DOzSFgxT.js → VariableInput-CfaDp67S.js} +1 -1
- package/dist/interface/ha/{VersionsHandler-ItklhE2t.js → VersionsHandler-D1FVeYUZ.js} +10 -10
- package/dist/interface/ha/{VirtualSensorCreate-DbS3VqHC.js → VirtualSensorCreate-DJIgMVrt.js} +7 -7
- package/dist/interface/ha/{Workers-6PU7yUv1.js → Workers-cJMI4mYX.js} +26 -26
- package/dist/interface/ha/{api-anWolhVj.js → api-CDawdL4p.js} +1 -1
- package/dist/interface/ha/{api-Dv3Lk_g5.js → api-D2VzV4is.js} +9257 -9084
- package/dist/interface/ha/{assistant-B3m0Kgev.js → assistant-BmDAfChm.js} +1 -1
- package/dist/interface/ha/{auth-CAkpM_7A.js → auth-CvLz9C4w.js} +1 -1
- package/dist/interface/ha/{automationBlueprint-DwVvbKbw.js → automationBlueprint-BhNaeOZ1.js} +2 -2
- package/dist/interface/ha/{base-C-TYDHjS.js → base-XgWmQghV.js} +14 -3
- package/dist/interface/ha/cameraui-cards.js +1 -1
- package/dist/interface/ha/{cards-B0qagpBw.js → cards-MQrnU0T8.js} +1334 -1334
- package/dist/interface/ha/{config-C20itAPE.js → config-t_oAKFkJ.js} +1 -1
- package/dist/interface/ha/{esm-i8Tigknm.js → esm-C9XVFkXu.js} +4 -4
- package/dist/interface/ha/{mqtt-C6JvkA5E.js → mqtt-C20h1uze.js} +1 -1
- package/dist/interface/ha/{native-DBH9ocSq.js → native-BVUxNLM1.js} +4 -4
- package/dist/interface/ha/{notifications-gLmNZxwZ.js → notifications-Cy9DKiEn.js} +1 -1
- package/dist/interface/ha/{pinia-Du8AM917.js → pinia-BokSpDzj.js} +1 -0
- package/dist/interface/ha/{plugins-6x0kBuQb.js → plugins-jozYyBhV.js} +1 -1
- package/dist/interface/ha/{rooms-C-mLT6mX.js → rooms-DyfT3cXp.js} +1 -1
- package/dist/interface/ha/{server-DuikIt69.js → server-hCCjQjZE.js} +1 -1
- package/dist/interface/ha/{types-C0NcQ4Cz.js → types-RG0SckNR.js} +1 -1
- package/dist/interface/ha/{ungrouped-ooCH0Izh.js → ungrouped-BbyfoCQp.js} +19 -19
- package/dist/interface/ha/{updates-H8MlOQLC.js → updates-hUgVDgoD.js} +6 -6
- package/dist/interface/ha/{useAppVersion-DAUCV_cn.js → useAppVersion-wNhZDuvR.js} +1 -1
- package/dist/interface/ha/useKeyboardInset-Cmbvb_W3.js +27 -0
- package/dist/interface/ha/{useLogsSocket-BOLAXPuD.js → useLogsSocket-y9Aex3tJ.js} +1 -1
- package/dist/interface/ha/{useNavLayout-B7VoHzM1.js → useNavLayout-Ehb0t34k.js} +2 -2
- package/dist/interface/ha/{useServerRestart-qSH0bqwY.js → useServerRestart-CRSVcz3z.js} +1 -1
- package/dist/interface/ha/{useTabSwipe-DYzG_gVG.js → useTabSwipe-B_bseZkI.js} +1 -1
- package/dist/interface/ha/{useUpdateChannel-CK7JiWbG.js → useUpdateChannel-C_GU6lj6.js} +2 -2
- package/dist/interface/ha/{useUpdatesSocket-DrqkGMuR.js → useUpdatesSocket-CYgHb7UX.js} +1 -1
- package/dist/interface/ha/{useUserOptions-BteVUdaT.js → useUserOptions-pVYr-s3O.js} +1 -1
- package/dist/interface/ha/{web-D_q41D0i.js → web-CLbVbnCW.js} +5 -5
- package/dist/interface/index.html +28 -28
- 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/api/controllers/rooms.controller.js +3 -1
- package/dist/server/src/api/controllers/rooms.controller.js.map +1 -1
- package/dist/server/src/api/database/types.d.ts +1 -0
- package/dist/server/src/api/schemas/assistant.schema.d.ts +2 -0
- package/dist/server/src/api/schemas/assistant.schema.js +1 -0
- package/dist/server/src/api/schemas/assistant.schema.js.map +1 -1
- package/dist/server/src/api/services/cameras.service.d.ts +1 -0
- package/dist/server/src/api/services/cameras.service.js +8 -0
- package/dist/server/src/api/services/cameras.service.js.map +1 -1
- package/dist/server/src/assistant/manager.d.ts +1 -0
- package/dist/server/src/assistant/manager.js +1 -1
- package/dist/server/src/assistant/manager.js.map +1 -1
- package/dist/server/src/assistant/scheduler.js +8 -1
- package/dist/server/src/assistant/scheduler.js.map +1 -1
- package/dist/server/src/plugins/index.js +5 -4
- package/dist/server/src/plugins/index.js.map +1 -1
- package/npm-shrinkwrap.json +6 -6
- package/package.json +3 -3
- package/dist/interface/assets/Assistant-B1xdMAkA.js +0 -1
- package/dist/interface/assets/Automations-Bpw8olkc.js +0 -2
- package/dist/interface/assets/Camera-B4ojNnKb.css +0 -1
- package/dist/interface/assets/Camera-BpFfZDaS.js +0 -2
- package/dist/interface/assets/Camview-C16pyCZk.js +0 -1
- package/dist/interface/assets/CuiAssistantConversation-CRNCKRHz.js +0 -5
- package/dist/interface/assets/CuiAssistantConversation-DQ0wOJvV.css +0 -1
- package/dist/interface/assets/CuiBottomSheet-CYi5c3fP.js +0 -1
- package/dist/interface/assets/CuiCameraPipCard-Cb_Qbly6.js +0 -1
- package/dist/interface/assets/CuiCameraTable-BgL5FZso.js +0 -1
- package/dist/interface/assets/CuiLightControl-CLYl5pfN.js +0 -1
- package/dist/interface/assets/CuiPluginCard-CC1oXY16.js +0 -2
- package/dist/interface/assets/Faces-1xd5yGuO.js +0 -1
- package/dist/interface/assets/FirstSteps-E9cMqa0a.js +0 -1
- package/dist/interface/assets/Floorplan-BovV_ATh.js +0 -1
- package/dist/interface/assets/Instances-BbxyB7vR.js +0 -1
- package/dist/interface/assets/Metrics-BgXrNl38.js +0 -12
- package/dist/interface/assets/Plugin-CDNywaVE.js +0 -1
- package/dist/interface/assets/PluginSearch-xNIlfXk4.js +0 -1
- package/dist/interface/assets/Recordings-BHT8Vvv_.js +0 -1
- package/dist/interface/assets/Recordings-DwuojaAw.css +0 -1
- package/dist/interface/assets/Sensors-Cza4Et2c.js +0 -2
- package/dist/interface/assets/Settings-Cj0leoGd.js +0 -1
- package/dist/interface/assets/SettingsAccount-COkcBBSz.js +0 -1
- package/dist/interface/assets/SettingsAccount-DjrJdssy.js +0 -1
- package/dist/interface/assets/SettingsAppearance-D20YW7Vq.js +0 -1
- package/dist/interface/assets/SettingsAssistant-CDdbbG-c.css +0 -1
- package/dist/interface/assets/SettingsAssistant-DKWDp1AI.js +0 -1
- package/dist/interface/assets/Training-DfgE_dA8.js +0 -1
- package/dist/interface/assets/Updates-cCvbFq3w.js +0 -2
- package/dist/interface/assets/Workers-Ba37_3cY.js +0 -2
- package/dist/interface/assets/api-C1mraOYr.js +0 -4
- package/dist/interface/assets/api-z8ZVnoOl.css +0 -2
- package/dist/interface/assets/cloudHandoff-DkUx4m3P.js +0 -1
- package/dist/interface/assets/esm-0kxqa_1s.js +0 -1
- package/dist/interface/assets/esm-4p_M5mFV.js +0 -1
- package/dist/interface/assets/esm-8G-vO1KQ.js +0 -1
- package/dist/interface/assets/esm-8cB56ICb.js +0 -1
- package/dist/interface/assets/esm-B92csSEb.js +0 -1
- package/dist/interface/assets/esm-BHiNTIiN.js +0 -1
- package/dist/interface/assets/esm-Bu9PMLmw.js +0 -1
- package/dist/interface/assets/esm-CS6Ra46d.js +0 -1
- package/dist/interface/assets/esm-CWvQWALL.js +0 -1
- package/dist/interface/assets/esm-D2UDrwmt.js +0 -1
- package/dist/interface/assets/esm-D8OHF2X1.js +0 -1
- package/dist/interface/assets/esm-DrXkS8eG.js +0 -1
- package/dist/interface/assets/esm-pfoHiO1a.js +0 -1
- package/dist/interface/assets/esm-tJSCF7Vh.js +0 -1
- package/dist/interface/assets/main-BK3kmiG2.js +0 -3
- package/dist/interface/assets/native-BEkWOGyD.js +0 -1
- package/dist/interface/assets/native-ugMg173F.js +0 -1
- package/dist/interface/assets/plugin-eafNQWg2.js +0 -1
- package/dist/interface/assets/useKeyboardInset-DkUn62i7.js +0 -1
- package/dist/interface/assets/web-3OOGlctS.js +0 -1
- package/dist/interface/assets/web-5NFVd9gs.js +0 -1
- package/dist/interface/assets/web-A4yovlXr.js +0 -1
- package/dist/interface/assets/web-BBC3YoWX.js +0 -1
- package/dist/interface/assets/web-BjKL51lK-DUIsII0n.js +0 -1
- package/dist/interface/assets/web-C2-YAfsx.js +0 -1
- package/dist/interface/assets/web-CUL_MhvM.js +0 -1
- package/dist/interface/assets/web-CZVCXYLV.js +0 -1
- package/dist/interface/assets/web-DJ-LUxlV.js +0 -1
- package/dist/interface/assets/web-DNsEGLGS.js +0 -1
- package/dist/interface/assets/web-DZsU0QT_.js +0 -1
- package/dist/interface/assets/web-MoyOTbiU.js +0 -1
- package/dist/interface/assets/web-avRH_3t7.js +0 -1
- package/dist/interface/ha/Camera-CerkQGbZ.js +0 -654
|
@@ -1 +1 @@
|
|
|
1
|
-
.app-lock-overlay[data-v-baef4383]{z-index:9999;background:var(--ground-background);-webkit-backdrop-filter:blur(20px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cui-restore-overlay[data-v-0c1a6c8d]{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.cui-restore-overlay__card[data-v-0c1a6c8d]{background:var(--card-background);border:1px solid var(--border-color);text-align:center;border-radius:.75rem;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:360px;padding:2rem 1.5rem;display:flex}.fade-enter-active[data-v-0c1a6c8d],.fade-leave-active[data-v-0c1a6c8d]{transition:opacity .3s}.fade-enter-from[data-v-0c1a6c8d],.fade-leave-to[data-v-0c1a6c8d]{opacity:0}.cui-push-sync-indicator[data-v-58321a89]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;max-width:calc(100vw - 2rem);padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-push-sync-indicator__content[data-v-58321a89]{align-items:center;gap:.5rem;display:flex}.cui-push-sync-indicator__spinner[data-v-58321a89]{width:20px!important;height:20px!important}.cui-push-sync-indicator__icon[data-v-58321a89]{width:20px;height:20px;color:var(--text-color)}.cui-push-sync-indicator__text[data-v-58321a89]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.cui-push-sync-indicator__button[data-v-58321a89]{white-space:nowrap;margin-left:.5rem}.fade-enter-active[data-v-58321a89],.fade-leave-active[data-v-58321a89]{transition:opacity .3s}.fade-enter-from[data-v-58321a89],.fade-leave-to[data-v-58321a89]{opacity:0}.cui-updates-indicator[data-v-2d78f4bf]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;max-width:calc(100vw - 2rem);padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-updates-indicator__content[data-v-2d78f4bf]{align-items:center;gap:.5rem;display:flex}.cui-updates-indicator__text[data-v-2d78f4bf]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.fade-enter-active[data-v-2d78f4bf],.fade-leave-active[data-v-2d78f4bf]{transition:opacity .3s}.fade-enter-from[data-v-2d78f4bf],.fade-leave-to[data-v-2d78f4bf]{opacity:0}.cui-update-indicator[data-v-c85d7bf1]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-update-indicator__content[data-v-c85d7bf1]{align-items:center;gap:.5rem;display:flex}.cui-update-indicator__spinner[data-v-c85d7bf1]{width:20px!important;height:20px!important}.cui-update-indicator__icon[data-v-c85d7bf1]{width:20px;height:20px;color:var(--text-color)}.cui-update-indicator__text[data-v-c85d7bf1]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.cui-update-indicator__button[data-v-c85d7bf1]{white-space:nowrap;margin-left:.5rem}.fade-enter-active[data-v-c85d7bf1],.fade-leave-active[data-v-c85d7bf1]{transition:opacity .3s}.fade-enter-from[data-v-c85d7bf1],.fade-leave-to[data-v-c85d7bf1]{opacity:0}.cui-connection-indicator[data-v-bd37b1cb]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;max-width:calc(100vw - 2rem);padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-connection-indicator__content[data-v-bd37b1cb]{align-items:center;gap:.5rem;display:flex}.cui-connection-indicator__text[data-v-bd37b1cb]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.cui-connection-indicator__button[data-v-bd37b1cb]{margin-left:.5rem}.fade-enter-active[data-v-bd37b1cb],.fade-leave-active[data-v-bd37b1cb]{transition:opacity .3s}.fade-enter-from[data-v-bd37b1cb],.fade-leave-to[data-v-bd37b1cb]{opacity:0}.close-button[data-v-d1e31a06],.minify-button[data-v-d1e31a06],.expand-button[data-v-d1e31a06],.disabled-button[data-v-d1e31a06]{-webkit-app-region:no-drag;border-radius:20px;width:12px;height:12px;transition:all .2s ease-in-out}.close-button[data-v-d1e31a06]:hover,.minify-button[data-v-d1e31a06]:hover,.expand-button[data-v-d1e31a06]:hover,.disabled-button[data-v-d1e31a06]:hover{cursor:default}.close-button[data-v-d1e31a06]{background-color:#ff5954;border:0 solid #df302a}.close-button[data-v-d1e31a06]:active{background-color:#d63f3a;border:0 solid #c12e26}.minify-button[data-v-d1e31a06]{background-color:#fdbd30;border:0 solid #c18b17}.minify-button[data-v-d1e31a06]:active{background-color:#c18b17;border:0 solid #a27613}.expand-button[data-v-d1e31a06]{background-color:#00ca3b;border:0 solid #02a934}.expand-button[data-v-d1e31a06]:active{background-color:#02a934;border:0 solid #028b2b}.disabled-button[data-v-d1e31a06]{background-color:#3d3d3d;border:0 solid #282828}.navitem-active[data-v-9e0c467b]{background:var(--navitem-active-color,var(--p-button-text-primary-active-background));border-color:#0000;border-top:1px solid var(--navitem-active-color,var(--p-button-outlined-danger-hover-background))}.navbar-group-enter-active[data-v-3c38041e],.navbar-group-leave-active[data-v-3c38041e]{transition:all .2s;overflow:hidden}.navbar-group-enter-from[data-v-3c38041e],.navbar-group-leave-to[data-v-3c38041e]{opacity:0;max-height:0}.navbar-group-enter-to[data-v-3c38041e],.navbar-group-leave-from[data-v-3c38041e]{opacity:1;max-height:400px}.nav-edit-move[data-v-3c38041e],.nav-edit-enter-active[data-v-3c38041e],.nav-edit-leave-active[data-v-3c38041e]{transition:transform .25s,opacity .2s}.nav-edit-enter-from[data-v-3c38041e],.nav-edit-leave-to[data-v-3c38041e]{opacity:0}.nav-edit-leave-active[data-v-3c38041e]{width:100%;position:absolute}.cui-bottombar[data-v-164ae7dc]:before{content:"";background:linear-gradient(#0000000d,#0000);height:1px;position:absolute;top:-1px;left:0;right:0}.notification-menu{left:auto!important;right:calc(var(--safe-area-inset-right) + .5rem)!important;top:calc(var(--safe-area-inset-top) + 3.3rem)!important}.cui-topbar[data-v-7e7cf691]{background:var(--topbar-background);border-bottom:1px solid var(--border-color)}.cui-assistant-drawer-mini{border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:16px;align-self:flex-end;margin:0 1rem 1rem 0;overflow:hidden;width:400px!important;height:min(640px,100vh - 2rem)!important}.cui-assistant-drawer[data-v-0a6c9607]{background:var(--card-background)}.cui-assistant-drawer-active[data-v-0a6c9607]{color:var(--p-primary-color)}.cui-assistant-drawer-thread[data-v-0a6c9607]:hover{background:var(--card-inner-background)}.cui-assistant-drawer-thread-active[data-v-0a6c9607]{background:color-mix(in srgb, var(--p-primary-color) 10%, transparent)}.cui-assistant-drawer-mark[data-v-0a6c9607]{background:color-mix(in srgb, var(--p-primary-color) 14%, transparent);border:1px solid color-mix(in srgb, var(--p-primary-color) 28%, transparent)}.playground-container[data-v-4c58523d]{z-index:100;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;flex-shrink:0;justify-content:center;position:relative}@media (width>=800px){.playground-container[data-v-4c58523d]{border-radius:0 0 2px 2px}}.playground-container .playground[data-v-4c58523d]{position:relative}.playground-container .playground:hover .handle[data-v-4c58523d]{opacity:1}.playground-container .playground.customizing[data-v-4c58523d]{cursor:crosshair}.playground-container .playground.start .custom-notice[data-v-4c58523d]{opacity:1}.playground-container .playground .custom-notice[data-v-4c58523d]{pointer-events:none;opacity:0;background:#fff0;justify-content:center;align-items:center;transition:background .25s;display:flex;position:absolute;inset:0 0 1rem}.playground-container .playground .custom-notice div[data-v-4c58523d]{text-align:center;opacity:1;background:#ffffffe6;border-radius:2px;width:100%;margin:0 2rem;padding:1rem;transition:opacity .25s;box-shadow:0 1px 2px #100a0926}.playground-container .playground .custom-notice div .touchy[data-v-4c58523d]:after{content:"Click"}.playground-container .playground .sandbox[data-v-4c58523d]{touch-action:none;width:100%;height:100%;position:relative;inset:0}.playground-container .playground .sandbox .shadowboard[data-v-4c58523d]{z-index:11;pointer-events:none;opacity:0;background:#df2a4c4d 50%/cover;transition:opacity .375s;position:absolute;inset:10px}.playground-container .playground .sandbox .shadowboard.on[data-v-4c58523d]{opacity:0}.handles[data-v-4c58523d]{z-index:10;position:absolute;inset:0}.handles .clipboard[data-v-4c58523d]{z-index:1;position:absolute;inset:0}.handles .clipboard .polygon-container[data-v-4c58523d]{position:absolute}.handles .clipboard .polygon-container path.selected[data-v-4c58523d]{stroke-width:2px}.handles .clipboard .polygon-container path.dash[data-v-4c58523d]{stroke-dasharray:5 5}.handles .delete-point[data-v-4c58523d],.handles .handle[data-v-4c58523d]{z-index:2;width:20px;height:20px;position:absolute}.handles .handle[data-v-4c58523d]{opacity:.8;border-radius:50%;transition:opacity .25s;box-shadow:inset 0 0 0 10px #fff,0 0 0 2px #000000a6}.handles .handle.is-dragging[data-v-4c58523d],.handles .handle.is-pointer-down[data-v-4c58523d]{z-index:100;cursor:none;transition:box-shadow;box-shadow:inset 0 0 0 10px #d0d0d0,0 0 0 2px #000000a6}.handles .handle.active[data-v-4c58523d]{opacity:1;outline:2px solid var(--primary-500);outline-offset:2px}.handles .handle.draggable[data-v-4c58523d]{cursor:grab}.handles .handle.show-delete .delete-point[data-v-4c58523d]{opacity:1;transition:transform .25s cubic-bezier(.15,1,.3,1.1),opacity .25s;transform:scale3d(.9,.9,.9)}.handles .handle[data-v-4c58523d]:after{content:"";display:block;position:absolute;inset:-8px}.handles .handle .delete-point[data-v-4c58523d]{transform-origin:0;cursor:pointer;opacity:.75;clip-path:polygon(25% 0,100% 1%,100% 100%,25% 100%,0 50%);background:#d3d0c9;border-radius:3px;width:25px;padding-left:5px;transition:transform .25s,opacity .25s;position:absolute;top:0;left:22px;transform:scale3d(0,0,0)}.handles .handle .delete-point[data-v-4c58523d]:after{content:"";clip-path:polygon(20% 10%,10% 20%,40% 50%,10% 80%,20% 90%,50% 60%,80% 90%,90% 80%,60% 50%,90% 20%,80% 10%,50% 40%);background:#100a09;display:block;position:absolute;inset:4px 4px 4px 9px}.cui-detection[data-v-4bdc871b]{border-radius:.5rem;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.cui-detection--detected[data-v-4bdc871b]{border-color:#22c55e4d}.cui-detection--disabled[data-v-4bdc871b]{opacity:.6}.cui-detection__header[data-v-4bdc871b]{align-items:center;gap:.5rem;display:flex}.cui-detection__icon[data-v-4bdc871b]{justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:flex}.cui-detection__icon-svg[data-v-4bdc871b]{width:1.5rem;height:1.5rem;color:var(--text-secondary-color);transition:color .2s}.cui-detection__icon--detected .cui-detection__icon-svg[data-v-4bdc871b]{color:#22c55e}.cui-detection__info[data-v-4bdc871b]{flex-direction:column;flex:1;gap:0;display:flex}.cui-detection__label[data-v-4bdc871b]{color:var(--text-color);font-size:.875rem;font-weight:500}.cui-detection__status[data-v-4bdc871b]{color:var(--text-secondary-color);font-size:.75rem;font-weight:500}.cui-detection__status--detected[data-v-4bdc871b]{color:#22c55e}.cui-detection__indicator[data-v-4bdc871b]{background-color:var(--surface-300);border-radius:50%;width:.5rem;height:.5rem;transition:all .2s}.cui-detection__indicator--detected[data-v-4bdc871b]{background-color:#22c55e;animation:1.5s ease-in-out infinite pulse-indicator-4bdc871b;box-shadow:0 0 6px #22c55e99}@keyframes pulse-indicator-4bdc871b{0%,to{opacity:1}50%{opacity:.5}}.cui-detection__detections[data-v-4bdc871b]{flex-wrap:wrap;gap:.25rem;padding-top:.5rem;display:flex}.cui-detection__detection-tag[data-v-4bdc871b]{color:#22c55e;text-transform:capitalize;background:#22c55e26;border-radius:1rem;align-items:center;padding:.125rem .5rem;font-size:.625rem;font-weight:500;display:inline-flex}.cui-detection--small[data-v-4bdc871b]{gap:.375rem;padding:.5rem}.cui-detection--small .cui-detection__icon[data-v-4bdc871b]{width:1.25rem;height:1.25rem}.cui-detection--small .cui-detection__icon-svg[data-v-4bdc871b]{width:1.125rem;height:1.125rem}.cui-detection--small .cui-detection__label[data-v-4bdc871b]{font-size:.75rem}.cui-detection--small .cui-detection__status[data-v-4bdc871b]{font-size:.625rem}.cui-detection--small .cui-detection__indicator[data-v-4bdc871b]{width:.375rem;height:.375rem}.cui-detection--small .cui-detection__detection-tag[data-v-4bdc871b]{padding:.0625rem .375rem;font-size:.5rem}.cui-detection--large[data-v-4bdc871b]{gap:.75rem;padding:1rem}.cui-detection--large .cui-detection__icon[data-v-4bdc871b]{width:2.25rem;height:2.25rem}.cui-detection--large .cui-detection__icon-svg[data-v-4bdc871b]{width:2rem;height:2rem}.cui-detection--large .cui-detection__label[data-v-4bdc871b]{font-size:1rem}.cui-detection--large .cui-detection__status[data-v-4bdc871b]{font-size:.875rem}.cui-detection--large .cui-detection__indicator[data-v-4bdc871b]{width:.625rem;height:.625rem}.cui-detection--large .cui-detection__detection-tag[data-v-4bdc871b]{padding:.1875rem .625rem;font-size:.75rem}.overview-container[data-v-44fcefd3]{flex-direction:column;display:flex}.overview-section[data-v-44fcefd3]{border-bottom:1px solid var(--surface-border);padding:1rem}.overview-section[data-v-44fcefd3]:last-child{border-bottom:none}.overview-section-title[data-v-44fcefd3]{text-transform:uppercase;color:var(--text-secondary-color);letter-spacing:.05em;margin-bottom:.75rem;font-size:.75rem;font-weight:600}[data-v-44fcefd3] .p-datatable-tbody>tr>td{height:50px}.no-sensors[data-v-44fcefd3]{text-align:center;color:var(--text-secondary-color);padding:1.5rem;font-size:.875rem}.drawer-header[data-v-94cafb3a]{background:var(--p-drawer-background)}.loader[data-v-839ba1ea]{background:var(--ground-background);width:100dvw;min-width:100dvw;max-width:100dvw;height:100dvh;min-height:100dvh;max-height:100dvh}div[data-v-839ba1ea] .cameraLens{transform-origin:35% 55%;animation:.8s cubic-bezier(.47,1.84,.21,.8) forwards lensMove-839ba1ea,.8s ease-in-out .4s forwards lensRotate-839ba1ea,.6s cubic-bezier(.47,1.84,.21,.8) 1.3s forwards lensMoveBack-839ba1ea}div[data-v-839ba1ea] .cameraLetter{transform-origin:50%;animation:.4s cubic-bezier(.47,1.84,.21,.8) forwards letterScale-839ba1ea,.4s cubic-bezier(.47,1.84,.21,.8) 1.2s forwards letterScaleBack-839ba1ea}@keyframes letterScale-839ba1ea{0%{transform:scale(1)}to{transform:scale(.8)}}@keyframes letterScaleBack-839ba1ea{0%{transform:scale(.8)}to{transform:scale(1)}}@keyframes lensMove-839ba1ea{0%{transform:translateY(0)}to{transform:translateY(-40px)}}@keyframes lensMoveBack-839ba1ea{0%{transform:translateY(-40px)}to{transform:translateY(0)}}@keyframes lensRotate-839ba1ea{0%{transform:translateY(-40px)rotate(0)}to{transform:translateY(-40px)rotate(-360deg)}}.fixed-bg[data-v-0f34f75d]{top:calc(0px - var(--safe-area-inset-top) - 10px);left:calc(0px - var(--safe-area-inset-left) - 10px);right:calc(0px - var(--safe-area-inset-right) - 10px);bottom:calc(0px - var(--safe-area-inset-bottom) - 10px);z-index:0;position:fixed}
|
|
1
|
+
.app-lock-overlay[data-v-baef4383]{z-index:9999;background:var(--ground-background);-webkit-backdrop-filter:blur(20px);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.cui-restore-overlay[data-v-0c1a6c8d]{z-index:10000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.cui-restore-overlay__card[data-v-0c1a6c8d]{background:var(--card-background);border:1px solid var(--border-color);text-align:center;border-radius:.75rem;flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:360px;padding:2rem 1.5rem;display:flex}.fade-enter-active[data-v-0c1a6c8d],.fade-leave-active[data-v-0c1a6c8d]{transition:opacity .3s}.fade-enter-from[data-v-0c1a6c8d],.fade-leave-to[data-v-0c1a6c8d]{opacity:0}.cui-push-sync-indicator[data-v-58321a89]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;max-width:calc(100vw - 2rem);padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-push-sync-indicator__content[data-v-58321a89]{align-items:center;gap:.5rem;display:flex}.cui-push-sync-indicator__spinner[data-v-58321a89]{width:20px!important;height:20px!important}.cui-push-sync-indicator__icon[data-v-58321a89]{width:20px;height:20px;color:var(--text-color)}.cui-push-sync-indicator__text[data-v-58321a89]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.cui-push-sync-indicator__button[data-v-58321a89]{white-space:nowrap;margin-left:.5rem}.fade-enter-active[data-v-58321a89],.fade-leave-active[data-v-58321a89]{transition:opacity .3s}.fade-enter-from[data-v-58321a89],.fade-leave-to[data-v-58321a89]{opacity:0}.cui-updates-indicator[data-v-2d78f4bf]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;max-width:calc(100vw - 2rem);padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-updates-indicator__content[data-v-2d78f4bf]{align-items:center;gap:.5rem;display:flex}.cui-updates-indicator__text[data-v-2d78f4bf]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.fade-enter-active[data-v-2d78f4bf],.fade-leave-active[data-v-2d78f4bf]{transition:opacity .3s}.fade-enter-from[data-v-2d78f4bf],.fade-leave-to[data-v-2d78f4bf]{opacity:0}.cui-update-indicator[data-v-c85d7bf1]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-update-indicator__content[data-v-c85d7bf1]{align-items:center;gap:.5rem;display:flex}.cui-update-indicator__spinner[data-v-c85d7bf1]{width:20px!important;height:20px!important}.cui-update-indicator__icon[data-v-c85d7bf1]{width:20px;height:20px;color:var(--text-color)}.cui-update-indicator__text[data-v-c85d7bf1]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.cui-update-indicator__button[data-v-c85d7bf1]{white-space:nowrap;margin-left:.5rem}.fade-enter-active[data-v-c85d7bf1],.fade-leave-active[data-v-c85d7bf1]{transition:opacity .3s}.fade-enter-from[data-v-c85d7bf1],.fade-leave-to[data-v-c85d7bf1]{opacity:0}.cui-connection-indicator[data-v-bd37b1cb]{z-index:9999;background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;max-width:calc(100vw - 2rem);padding:.75rem 1rem;position:fixed;left:50%;transform:translate(-50%)}.cui-connection-indicator__content[data-v-bd37b1cb]{align-items:center;gap:.5rem;display:flex}.cui-connection-indicator__text[data-v-bd37b1cb]{color:var(--text-color);white-space:nowrap;font-size:.875rem}.cui-connection-indicator__button[data-v-bd37b1cb]{margin-left:.5rem}.fade-enter-active[data-v-bd37b1cb],.fade-leave-active[data-v-bd37b1cb]{transition:opacity .3s}.fade-enter-from[data-v-bd37b1cb],.fade-leave-to[data-v-bd37b1cb]{opacity:0}.close-button[data-v-d1e31a06],.minify-button[data-v-d1e31a06],.expand-button[data-v-d1e31a06],.disabled-button[data-v-d1e31a06]{-webkit-app-region:no-drag;border-radius:20px;width:12px;height:12px;transition:all .2s ease-in-out}.close-button[data-v-d1e31a06]:hover,.minify-button[data-v-d1e31a06]:hover,.expand-button[data-v-d1e31a06]:hover,.disabled-button[data-v-d1e31a06]:hover{cursor:default}.close-button[data-v-d1e31a06]{background-color:#ff5954;border:0 solid #df302a}.close-button[data-v-d1e31a06]:active{background-color:#d63f3a;border:0 solid #c12e26}.minify-button[data-v-d1e31a06]{background-color:#fdbd30;border:0 solid #c18b17}.minify-button[data-v-d1e31a06]:active{background-color:#c18b17;border:0 solid #a27613}.expand-button[data-v-d1e31a06]{background-color:#00ca3b;border:0 solid #02a934}.expand-button[data-v-d1e31a06]:active{background-color:#02a934;border:0 solid #028b2b}.disabled-button[data-v-d1e31a06]{background-color:#3d3d3d;border:0 solid #282828}.navitem-active[data-v-9e0c467b]{background:var(--navitem-active-color,var(--p-button-text-primary-active-background));border-color:#0000;border-top:1px solid var(--navitem-active-color,var(--p-button-outlined-danger-hover-background))}.navbar-group-enter-active[data-v-3c38041e],.navbar-group-leave-active[data-v-3c38041e]{transition:all .2s;overflow:hidden}.navbar-group-enter-from[data-v-3c38041e],.navbar-group-leave-to[data-v-3c38041e]{opacity:0;max-height:0}.navbar-group-enter-to[data-v-3c38041e],.navbar-group-leave-from[data-v-3c38041e]{opacity:1;max-height:400px}.nav-edit-move[data-v-3c38041e],.nav-edit-enter-active[data-v-3c38041e],.nav-edit-leave-active[data-v-3c38041e]{transition:transform .25s,opacity .2s}.nav-edit-enter-from[data-v-3c38041e],.nav-edit-leave-to[data-v-3c38041e]{opacity:0}.nav-edit-leave-active[data-v-3c38041e]{width:100%;position:absolute}.cui-bottombar[data-v-164ae7dc]:before{content:"";background:linear-gradient(#0000000d,#0000);height:1px;position:absolute;top:-1px;left:0;right:0}.notification-menu{left:auto!important;right:calc(var(--safe-area-inset-right) + .5rem)!important;top:calc(var(--safe-area-inset-top) + 3.3rem)!important}.cui-topbar[data-v-7e7cf691]{background:var(--topbar-background);border-bottom:1px solid var(--border-color)}.cui-assistant-drawer-mini{border:1px solid var(--border-color);box-shadow:var(--shadow-lg);border-radius:16px;align-self:flex-end;margin:0 1rem 1rem 0;overflow:hidden;width:400px!important;height:min(640px,100vh - 2rem)!important}.cui-assistant-drawer[data-v-3815034f]{background:var(--card-background)}.cui-assistant-drawer-active[data-v-3815034f]{color:var(--p-primary-color)}.cui-assistant-drawer-thread[data-v-3815034f]:hover{background:var(--card-inner-background)}.cui-assistant-drawer-thread-active[data-v-3815034f]{background:color-mix(in srgb, var(--p-primary-color) 10%, transparent)}.cui-assistant-drawer-mark[data-v-3815034f]{background:color-mix(in srgb, var(--p-primary-color) 14%, transparent);border:1px solid color-mix(in srgb, var(--p-primary-color) 28%, transparent)}.playground-container[data-v-4c58523d]{z-index:100;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;flex-shrink:0;justify-content:center;position:relative}@media (width>=800px){.playground-container[data-v-4c58523d]{border-radius:0 0 2px 2px}}.playground-container .playground[data-v-4c58523d]{position:relative}.playground-container .playground:hover .handle[data-v-4c58523d]{opacity:1}.playground-container .playground.customizing[data-v-4c58523d]{cursor:crosshair}.playground-container .playground.start .custom-notice[data-v-4c58523d]{opacity:1}.playground-container .playground .custom-notice[data-v-4c58523d]{pointer-events:none;opacity:0;background:#fff0;justify-content:center;align-items:center;transition:background .25s;display:flex;position:absolute;inset:0 0 1rem}.playground-container .playground .custom-notice div[data-v-4c58523d]{text-align:center;opacity:1;background:#ffffffe6;border-radius:2px;width:100%;margin:0 2rem;padding:1rem;transition:opacity .25s;box-shadow:0 1px 2px #100a0926}.playground-container .playground .custom-notice div .touchy[data-v-4c58523d]:after{content:"Click"}.playground-container .playground .sandbox[data-v-4c58523d]{touch-action:none;width:100%;height:100%;position:relative;inset:0}.playground-container .playground .sandbox .shadowboard[data-v-4c58523d]{z-index:11;pointer-events:none;opacity:0;background:#df2a4c4d 50%/cover;transition:opacity .375s;position:absolute;inset:10px}.playground-container .playground .sandbox .shadowboard.on[data-v-4c58523d]{opacity:0}.handles[data-v-4c58523d]{z-index:10;position:absolute;inset:0}.handles .clipboard[data-v-4c58523d]{z-index:1;position:absolute;inset:0}.handles .clipboard .polygon-container[data-v-4c58523d]{position:absolute}.handles .clipboard .polygon-container path.selected[data-v-4c58523d]{stroke-width:2px}.handles .clipboard .polygon-container path.dash[data-v-4c58523d]{stroke-dasharray:5 5}.handles .delete-point[data-v-4c58523d],.handles .handle[data-v-4c58523d]{z-index:2;width:20px;height:20px;position:absolute}.handles .handle[data-v-4c58523d]{opacity:.8;border-radius:50%;transition:opacity .25s;box-shadow:inset 0 0 0 10px #fff,0 0 0 2px #000000a6}.handles .handle.is-dragging[data-v-4c58523d],.handles .handle.is-pointer-down[data-v-4c58523d]{z-index:100;cursor:none;transition:box-shadow;box-shadow:inset 0 0 0 10px #d0d0d0,0 0 0 2px #000000a6}.handles .handle.active[data-v-4c58523d]{opacity:1;outline:2px solid var(--primary-500);outline-offset:2px}.handles .handle.draggable[data-v-4c58523d]{cursor:grab}.handles .handle.show-delete .delete-point[data-v-4c58523d]{opacity:1;transition:transform .25s cubic-bezier(.15,1,.3,1.1),opacity .25s;transform:scale3d(.9,.9,.9)}.handles .handle[data-v-4c58523d]:after{content:"";display:block;position:absolute;inset:-8px}.handles .handle .delete-point[data-v-4c58523d]{transform-origin:0;cursor:pointer;opacity:.75;clip-path:polygon(25% 0,100% 1%,100% 100%,25% 100%,0 50%);background:#d3d0c9;border-radius:3px;width:25px;padding-left:5px;transition:transform .25s,opacity .25s;position:absolute;top:0;left:22px;transform:scale3d(0,0,0)}.handles .handle .delete-point[data-v-4c58523d]:after{content:"";clip-path:polygon(20% 10%,10% 20%,40% 50%,10% 80%,20% 90%,50% 60%,80% 90%,90% 80%,60% 50%,90% 20%,80% 10%,50% 40%);background:#100a09;display:block;position:absolute;inset:4px 4px 4px 9px}.cui-detection[data-v-4bdc871b]{border-radius:.5rem;flex-direction:column;gap:.5rem;padding:.75rem;display:flex}.cui-detection--detected[data-v-4bdc871b]{border-color:#22c55e4d}.cui-detection--disabled[data-v-4bdc871b]{opacity:.6}.cui-detection__header[data-v-4bdc871b]{align-items:center;gap:.5rem;display:flex}.cui-detection__icon[data-v-4bdc871b]{justify-content:center;align-items:center;width:1.75rem;height:1.75rem;display:flex}.cui-detection__icon-svg[data-v-4bdc871b]{width:1.5rem;height:1.5rem;color:var(--text-secondary-color);transition:color .2s}.cui-detection__icon--detected .cui-detection__icon-svg[data-v-4bdc871b]{color:#22c55e}.cui-detection__info[data-v-4bdc871b]{flex-direction:column;flex:1;gap:0;display:flex}.cui-detection__label[data-v-4bdc871b]{color:var(--text-color);font-size:.875rem;font-weight:500}.cui-detection__status[data-v-4bdc871b]{color:var(--text-secondary-color);font-size:.75rem;font-weight:500}.cui-detection__status--detected[data-v-4bdc871b]{color:#22c55e}.cui-detection__indicator[data-v-4bdc871b]{background-color:var(--surface-300);border-radius:50%;width:.5rem;height:.5rem;transition:all .2s}.cui-detection__indicator--detected[data-v-4bdc871b]{background-color:#22c55e;animation:1.5s ease-in-out infinite pulse-indicator-4bdc871b;box-shadow:0 0 6px #22c55e99}@keyframes pulse-indicator-4bdc871b{0%,to{opacity:1}50%{opacity:.5}}.cui-detection__detections[data-v-4bdc871b]{flex-wrap:wrap;gap:.25rem;padding-top:.5rem;display:flex}.cui-detection__detection-tag[data-v-4bdc871b]{color:#22c55e;text-transform:capitalize;background:#22c55e26;border-radius:1rem;align-items:center;padding:.125rem .5rem;font-size:.625rem;font-weight:500;display:inline-flex}.cui-detection--small[data-v-4bdc871b]{gap:.375rem;padding:.5rem}.cui-detection--small .cui-detection__icon[data-v-4bdc871b]{width:1.25rem;height:1.25rem}.cui-detection--small .cui-detection__icon-svg[data-v-4bdc871b]{width:1.125rem;height:1.125rem}.cui-detection--small .cui-detection__label[data-v-4bdc871b]{font-size:.75rem}.cui-detection--small .cui-detection__status[data-v-4bdc871b]{font-size:.625rem}.cui-detection--small .cui-detection__indicator[data-v-4bdc871b]{width:.375rem;height:.375rem}.cui-detection--small .cui-detection__detection-tag[data-v-4bdc871b]{padding:.0625rem .375rem;font-size:.5rem}.cui-detection--large[data-v-4bdc871b]{gap:.75rem;padding:1rem}.cui-detection--large .cui-detection__icon[data-v-4bdc871b]{width:2.25rem;height:2.25rem}.cui-detection--large .cui-detection__icon-svg[data-v-4bdc871b]{width:2rem;height:2rem}.cui-detection--large .cui-detection__label[data-v-4bdc871b]{font-size:1rem}.cui-detection--large .cui-detection__status[data-v-4bdc871b]{font-size:.875rem}.cui-detection--large .cui-detection__indicator[data-v-4bdc871b]{width:.625rem;height:.625rem}.cui-detection--large .cui-detection__detection-tag[data-v-4bdc871b]{padding:.1875rem .625rem;font-size:.75rem}.overview-container[data-v-44fcefd3]{flex-direction:column;display:flex}.overview-section[data-v-44fcefd3]{border-bottom:1px solid var(--surface-border);padding:1rem}.overview-section[data-v-44fcefd3]:last-child{border-bottom:none}.overview-section-title[data-v-44fcefd3]{text-transform:uppercase;color:var(--text-secondary-color);letter-spacing:.05em;margin-bottom:.75rem;font-size:.75rem;font-weight:600}[data-v-44fcefd3] .p-datatable-tbody>tr>td{height:50px}.no-sensors[data-v-44fcefd3]{text-align:center;color:var(--text-secondary-color);padding:1.5rem;font-size:.875rem}.drawer-header[data-v-94cafb3a]{background:var(--p-drawer-background)}.loader[data-v-839ba1ea]{background:var(--ground-background);width:100dvw;min-width:100dvw;max-width:100dvw;height:100dvh;min-height:100dvh;max-height:100dvh}div[data-v-839ba1ea] .cameraLens{transform-origin:35% 55%;animation:.8s cubic-bezier(.47,1.84,.21,.8) forwards lensMove-839ba1ea,.8s ease-in-out .4s forwards lensRotate-839ba1ea,.6s cubic-bezier(.47,1.84,.21,.8) 1.3s forwards lensMoveBack-839ba1ea}div[data-v-839ba1ea] .cameraLetter{transform-origin:50%;animation:.4s cubic-bezier(.47,1.84,.21,.8) forwards letterScale-839ba1ea,.4s cubic-bezier(.47,1.84,.21,.8) 1.2s forwards letterScaleBack-839ba1ea}@keyframes letterScale-839ba1ea{0%{transform:scale(1)}to{transform:scale(.8)}}@keyframes letterScaleBack-839ba1ea{0%{transform:scale(.8)}to{transform:scale(1)}}@keyframes lensMove-839ba1ea{0%{transform:translateY(0)}to{transform:translateY(-40px)}}@keyframes lensMoveBack-839ba1ea{0%{transform:translateY(-40px)}to{transform:translateY(0)}}@keyframes lensRotate-839ba1ea{0%{transform:translateY(-40px)rotate(0)}to{transform:translateY(-40px)rotate(-360deg)}}.fixed-bg[data-v-0f34f75d]{top:calc(0px - var(--safe-area-inset-top) - 10px);left:calc(0px - var(--safe-area-inset-left) - 10px);right:calc(0px - var(--safe-area-inset-right) - 10px);bottom:calc(0px - var(--safe-area-inset-bottom) - 10px);z-index:0;position:fixed}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Ar as e,Or as t,jr as n,zr as r}from"./api-
|
|
1
|
+
import{Ar as e,Or as t,jr as n,zr as r}from"./api-C9mnOxie.js";import{K as i,Z as a}from"./vendor-gFkr2qsZ.js";async function o({signal:e}){return(await r.get(`/mqtt`,{signal:e})).data}async function s(e){return(await r.patch(`/mqtt`,e)).data}async function c({signal:e}){return(await r.get(`/mqtt/topics`,{signal:e})).data}async function l(e){return(await r.post(`/mqtt/test`,e)).data}var u=class{_queryClient=a();t=n.global.t;toast=e();get queryClient(){return this._queryClient}getMqttInfoQuery(){return t({queryKey:[`mqtt`],queryFn:({signal:e})=>o({signal:e}),staleTime:1e3})}patchMqttInfoMutation(){return i({mutationFn:s,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`mqtt`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.mqtt_updated`),life:3e3})}})}getMqttTopicsQuery(){return t({queryKey:[`mqtt`,`topics`],queryFn:({signal:e})=>c({signal:e}),staleTime:1e4})}testMqttConnectionMutation(){return i({mutationFn:l})}};export{u as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{R as e}from"./vendor-capacitor-Bs_WzL0Q.js";export{e as SecureStorageNative};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{W as e}from"./vendor-capacitor-Bs_WzL0Q.js";export{e as BiometricAuthNative};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Ar as e,Or as t,jr as n,zr as r}from"./api-
|
|
1
|
+
import{Ar as e,Or as t,jr as n,zr as r}from"./api-C9mnOxie.js";import{K as i,Z as a,dr as o}from"./vendor-gFkr2qsZ.js";async function s({signal:e}){return(await r.get(`/notifications/settings`,{signal:e})).data}async function c({settings:e}){return(await r.put(`/notifications/settings`,e)).data}async function l({signal:e}){return(await r.get(`/notifications/devices`,{signal:e})).data}async function u({signal:e}){return(await r.get(`/notifications/sources`,{signal:e})).data}async function d({signal:e}){return(await r.get(`/notifications/history`,{signal:e})).data}async function f(){await r.delete(`/notifications/history`)}async function p({deviceId:e}){await r.delete(`/notifications/devices/${encodeURIComponent(e)}`)}async function m(e){return(await r.post(`/notifications/devices`,e)).data}async function h({deviceId:e,patch:t}){return(await r.patch(`/notifications/devices/${encodeURIComponent(e)}`,t)).data}var g=class{_queryClient=a();t=n.global.t;toast=e();queryActivator=o([{name:`getSettingsQuery`,enabled:!0},{name:`listDevicesQuery`,enabled:!0},{name:`listSourcesQuery`,enabled:!0},{name:`getHistoryQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getSettingsQuery(){return t({queryKey:[`notifications`,`settings`],queryFn:({signal:e})=>s({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getSettingsQuery`&&e.enabled)})}setSettingsQuery(){return i({mutationFn:c,onSuccess:e=>{this._queryClient.setQueryData([`notifications`,`settings`],e),this.toast.add({severity:`success`,detail:this.t(`views.settings.notifications.saved`),life:3e3})},onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}setSettingsQuerySilent(){return i({mutationFn:c,onSuccess:e=>{this._queryClient.setQueryData([`notifications`,`settings`],e)}})}listDevicesQuery(e){return t({queryKey:[`notifications`,`devices`],queryFn:({signal:e})=>l({signal:e}),enabled:()=>(e?.()??!0)&&this.queryActivator.value.some(e=>e.name===`listDevicesQuery`&&e.enabled)})}listSourcesQuery(){return t({queryKey:[`notifications`,`sources`],queryFn:({signal:e})=>u({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`listSourcesQuery`&&e.enabled)})}getHistoryQuery(){return t({queryKey:[`notifications`,`history`],queryFn:({signal:e})=>d({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getHistoryQuery`&&e.enabled)})}clearHistoryQuery(){return i({mutationFn:f,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`notifications`,`history`]})}})}revokeDeviceQuery(){return i({mutationFn:p,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`notifications`,`devices`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.notifications.device_revoked`),life:3e3})},onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}updateDeviceQuery(){return i({mutationFn:h,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`notifications`,`devices`]})},onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{m as n,g as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{k as e}from"./vendor-capacitor-Bs_WzL0Q.js";export{e as FileTransfer};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Ar as e,Or as t,jr as n,zr as r}from"./api-C1mraOYr.js";import{K as i,Z as a,dr as o,yr as s}from"./vendor-gFkr2qsZ.js";var c=18e5,l=6e5;async function u({pluginData:e}){return(await r.post(`/plugins`,e,{timeout:c})).data}async function d({plugins:e}){return(await r.post(`/plugins/install`,{plugins:e},{timeout:c})).data}async function f({pluginNames:e}){return(await r.put(`/plugins/enable`,{pluginNames:e})).data}async function p({pluginNames:e}){return(await r.put(`/plugins/disable`,{pluginNames:e})).data}async function m({pluginNames:e,removeStorage:t}){return(await r.delete(`/plugins`,{data:{pluginNames:e},params:t?{removeStorage:!0}:void 0,timeout:l})).data}async function h({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}`,{signal:t})).data}async function g({pluginname:e,signal:t}){return(await r.get(`/plugins/${e}/versions`,{signal:t})).data}async function _({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/update`,{signal:t})).data}async function v({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/logo`,{signal:t})).data}async function y({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/config`,{signal:t})).data}async function b({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/contract`,{signal:t})).data}async function x({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/readme`,{signal:t})).data}async function S({pluginName:e,query:t,signal:n}){return(await r.get(`/plugins/${e}/changelog`,{params:t,signal:n})).data}async function C({pluginName:e,query:t,signal:n}){return(await r.get(`/plugins/${e}/compat`,{params:t,signal:n})).data}async function w({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/interface`,{signal:t})).data}async function T({parameter:e,signal:t}){return(await r.get(`/plugins`,{params:e,signal:t})).data}async function E({parameter:e,signal:t}){return(await r.get(`/plugins/extensions`,{params:e,signal:t})).data}async function D({pluginName:e}){return(await r.delete(`/plugins/${e}/log`)).data}async function O({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/log/download`,{signal:t})).data}async function k({parameter:e,signal:t}){return(await r.get(`/plugins/progress`,{params:e,signal:t})).data}async function A({query:e,parameter:t,refresh:n,signal:i}){return(await r.get(`/plugins/search`,{params:{...e,...t,...n?{refresh:!0}:{}},signal:i})).data}async function j({pluginName:e}){return(await r.put(`/plugins/${e}/enable`)).data}async function M({pluginName:e,configData:t}){return(await r.patch(`/plugins/${e}/config`,t)).data}async function N({pluginname:e,configData:t}){return(await r.put(`/plugins/${e}/config`,t)).data}async function P({pluginname:e,configData:t}){return(await r.post(`/plugins/${e}/config`,t)).data}async function F({pluginName:e}){return(await r.put(`/plugins/${e}/disable`)).data}async function I({pluginName:e}){return(await r.put(`/plugins/${e}/start`)).data}async function L({pluginName:e}){return(await r.put(`/plugins/${e}/stop`)).data}async function R({pluginName:e}){return(await r.put(`/plugins/${e}/restart`)).data}async function z({pluginName:e,removeStorage:t}){return(await r.delete(`/plugins/${e}`,{params:{removeStorage:t},timeout:l})).data}async function B(){return(await r.delete(`/plugins`,{timeout:l})).data}var V=class{_queryClient=a();t=n.global.t;toast=e();queryActivator=o([{name:`getPluginQuery`,enabled:!0},{name:`getPluginsQuery`,enabled:!0},{name:`getPluginsExtensionsQuery`,enabled:!0},{name:`searchPluginsQuery`,enabled:!0},{name:`getPluginVersionsQuery`,enabled:!0},{name:`getPluginUpdateQuery`,enabled:!0},{name:`getPluginLogoQuery`,enabled:!0},{name:`getPluginConfigQuery`,enabled:!0},{name:`getPluginContractQuery`,enabled:!0},{name:`getPluginReadmeQuery`,enabled:!0},{name:`getPluginInterfaceQuery`,enabled:!0},{name:`getPluginChangelogQuery`,enabled:!0},{name:`getPluginCompatQuery`,enabled:!0},{name:`getPluginsProgressQuery`,enabled:!0},{name:`installPluginQuery`,enabled:!0},{name:`enablePluginQuery`,enabled:!0},{name:`disablePluginQuery`,enabled:!0},{name:`patchPluginConfigQuery`,enabled:!0},{name:`setPluginConfigQuery`,enabled:!0},{name:`submitPluginConfigQuery`,enabled:!0},{name:`startPluginQuery`,enabled:!0},{name:`stopPluginQuery`,enabled:!0},{name:`restartPluginQuery`,enabled:!0},{name:`uninstallPluginQuery`,enabled:!0},{name:`uninstallPluginsQuery`,enabled:!0},{name:`downloadLogQuery`,enabled:!0}]);get queryClient(){return this._queryClient}installPluginQuery(){return i({mutationFn:u,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsProgress`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_installed`),life:3e3})}})}getPluginQuery(e){return t({queryKey:[`plugins`,e],queryFn:({signal:t})=>h({pluginName:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginQuery`&&e.enabled)})}getPluginsQuery(e){return t({queryKey:[`pluginsList`,e],queryFn:({signal:t})=>T({parameter:s(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsQuery`&&e.enabled)})}getPluginsExtensionsQuery(e){return t({queryKey:[`extensionsList`,e],queryFn:({signal:t})=>E({parameter:s(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsExtensionsQuery`&&e.enabled)})}getPluginsProgressQuery(e){return t({queryKey:[`pluginsProgress`,e],queryFn:({signal:t})=>k({parameter:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsProgressQuery`&&e.enabled)})}searchPluginsQuery(e,n,r){return t({queryKey:[`pluginsSearch`,e,n],queryFn:({signal:t})=>A({query:s(e),parameter:s(n),refresh:s(r),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`searchPluginsQuery`&&e.enabled)})}getPluginVersionsQuery(e){return t({queryKey:[`plugins`,e,`versions`],queryFn:({signal:t})=>g({pluginname:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginVersionsQuery`&&e.enabled)})}getPluginUpdateQuery(e){return t({queryKey:[`plugins`,e,`update`],queryFn:({signal:t})=>_({pluginName:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginUpdateQuery`&&e.enabled)})}getPluginLogoQuery(e){return t({queryKey:[`plugins`,e,`logo`],queryFn:({signal:t})=>v({pluginName:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginLogoQuery`&&e.enabled)})}getPluginConfigQuery(e){return t({queryKey:[`plugins`,e,`config`],queryFn:({signal:t})=>y({pluginName:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginConfigQuery`&&e.enabled)})}getPluginContractQuery(e){return t({queryKey:[`plugins`,e,`contract`],queryFn:({signal:t})=>b({pluginName:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginContractQuery`&&e.enabled)})}getPluginReadmeQuery(e){return t({queryKey:[`plugins`,e,`readme`],queryFn:({signal:t})=>x({pluginName:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginReadmeQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getPluginInterfaceQuery(e){return t({queryKey:[`plugins`,e,`interface`],queryFn:({signal:t})=>w({pluginName:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginInterfaceQuery`&&e.enabled)})}getPluginChangelogQuery(e,n){return t({queryKey:[`plugins`,e,`changelog`],queryFn:({signal:t})=>S({pluginName:s(e),query:s(n),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginChangelogQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getPluginCompatQuery(e,n){return t({queryKey:[`plugins`,e,`compat`],queryFn:({signal:t})=>C({pluginName:s(e),query:s(n),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginCompatQuery`&&e.enabled)})}patchPluginConfigQuery(){return i({mutationFn:M,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_config_updated`),life:3e3})}})}startPluginQuery(){return i({mutationFn:I,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_started`),life:3e3})}})}stopPluginQuery(){return i({mutationFn:L,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_stopped`),life:3e3})}})}restartPluginQuery(){return i({mutationFn:R,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_restarted`),life:3e3})}})}setPluginConfigQuery(){return i({mutationFn:N,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginname,t.configData]})}})}submitPluginConfigQuery(){return i({mutationFn:P,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginname,t.configData]})}})}enablePluginQuery(){return i({mutationFn:j,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_enabled`),life:3e3})}})}disablePluginQuery(){return i({mutationFn:F,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_disabled`),life:3e3})}})}uninstallPluginQuery(){return i({mutationFn:z,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsProgress`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_removed`),life:3e3})}})}uninstallPluginsQuery(){return i({mutationFn:B,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugins_removed`),life:3e3})}})}downloadLogQuery(e){return t({queryKey:[`logs`,e],queryFn:({signal:t})=>O({pluginName:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`downloadLogQuery`&&e.enabled)})}clearLogQuery(){return i({mutationFn:D,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`logs`,t.pluginName],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.log_cleared`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{m as a,S as c,d as i,_ as l,p as n,D as o,f as r,O as s,V as t,u};
|
|
1
|
+
import{Ar as e,Or as t,jr as n,zr as r}from"./api-C9mnOxie.js";import{K as i,Z as a,dr as o,yr as s}from"./vendor-gFkr2qsZ.js";var c=18e5,l=6e5;async function u({pluginData:e}){return(await r.post(`/plugins`,e,{timeout:c})).data}async function d({plugins:e}){return(await r.post(`/plugins/install`,{plugins:e},{timeout:c})).data}async function f({pluginNames:e}){return(await r.put(`/plugins/enable`,{pluginNames:e})).data}async function p({pluginNames:e}){return(await r.put(`/plugins/disable`,{pluginNames:e})).data}async function m({pluginNames:e,removeStorage:t}){return(await r.delete(`/plugins`,{data:{pluginNames:e},params:t?{removeStorage:!0}:void 0,timeout:l})).data}async function h({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}`,{signal:t})).data}async function g({pluginname:e,signal:t}){return(await r.get(`/plugins/${e}/versions`,{signal:t})).data}async function _({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/update`,{signal:t})).data}async function v({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/logo`,{signal:t})).data}async function y({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/config`,{signal:t})).data}async function b({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/contract`,{signal:t})).data}async function x({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/readme`,{signal:t})).data}async function S({pluginName:e,query:t,signal:n}){return(await r.get(`/plugins/${e}/changelog`,{params:t,signal:n})).data}async function C({pluginName:e,query:t,signal:n}){return(await r.get(`/plugins/${e}/compat`,{params:t,signal:n})).data}async function w({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/interface`,{signal:t})).data}async function T({parameter:e,signal:t}){return(await r.get(`/plugins`,{params:e,signal:t})).data}async function E({parameter:e,signal:t}){return(await r.get(`/plugins/extensions`,{params:e,signal:t})).data}async function D({pluginName:e}){return(await r.delete(`/plugins/${e}/log`)).data}async function O({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/log/download`,{signal:t})).data}async function k({parameter:e,signal:t}){return(await r.get(`/plugins/progress`,{params:e,signal:t})).data}async function A({query:e,parameter:t,refresh:n,signal:i}){return(await r.get(`/plugins/search`,{params:{...e,...t,...n?{refresh:!0}:{}},signal:i})).data}async function j({pluginName:e}){return(await r.put(`/plugins/${e}/enable`)).data}async function M({pluginName:e,configData:t}){return(await r.patch(`/plugins/${e}/config`,t)).data}async function N({pluginname:e,configData:t}){return(await r.put(`/plugins/${e}/config`,t)).data}async function P({pluginname:e,configData:t}){return(await r.post(`/plugins/${e}/config`,t)).data}async function F({pluginName:e}){return(await r.put(`/plugins/${e}/disable`)).data}async function I({pluginName:e}){return(await r.put(`/plugins/${e}/start`)).data}async function L({pluginName:e}){return(await r.put(`/plugins/${e}/stop`)).data}async function R({pluginName:e}){return(await r.put(`/plugins/${e}/restart`)).data}async function z({pluginName:e,removeStorage:t}){return(await r.delete(`/plugins/${e}`,{params:{removeStorage:t},timeout:l})).data}async function B(){return(await r.delete(`/plugins`,{timeout:l})).data}var V=class{_queryClient=a();t=n.global.t;toast=e();queryActivator=o([{name:`getPluginQuery`,enabled:!0},{name:`getPluginsQuery`,enabled:!0},{name:`getPluginsExtensionsQuery`,enabled:!0},{name:`searchPluginsQuery`,enabled:!0},{name:`getPluginVersionsQuery`,enabled:!0},{name:`getPluginUpdateQuery`,enabled:!0},{name:`getPluginLogoQuery`,enabled:!0},{name:`getPluginConfigQuery`,enabled:!0},{name:`getPluginContractQuery`,enabled:!0},{name:`getPluginReadmeQuery`,enabled:!0},{name:`getPluginInterfaceQuery`,enabled:!0},{name:`getPluginChangelogQuery`,enabled:!0},{name:`getPluginCompatQuery`,enabled:!0},{name:`getPluginsProgressQuery`,enabled:!0},{name:`installPluginQuery`,enabled:!0},{name:`enablePluginQuery`,enabled:!0},{name:`disablePluginQuery`,enabled:!0},{name:`patchPluginConfigQuery`,enabled:!0},{name:`setPluginConfigQuery`,enabled:!0},{name:`submitPluginConfigQuery`,enabled:!0},{name:`startPluginQuery`,enabled:!0},{name:`stopPluginQuery`,enabled:!0},{name:`restartPluginQuery`,enabled:!0},{name:`uninstallPluginQuery`,enabled:!0},{name:`uninstallPluginsQuery`,enabled:!0},{name:`downloadLogQuery`,enabled:!0}]);get queryClient(){return this._queryClient}installPluginQuery(){return i({mutationFn:u,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsProgress`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_installed`),life:3e3})}})}getPluginQuery(e){return t({queryKey:[`plugins`,e],queryFn:({signal:t})=>h({pluginName:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginQuery`&&e.enabled)})}getPluginsQuery(e){return t({queryKey:[`pluginsList`,e],queryFn:({signal:t})=>T({parameter:s(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsQuery`&&e.enabled)})}getPluginsExtensionsQuery(e){return t({queryKey:[`extensionsList`,e],queryFn:({signal:t})=>E({parameter:s(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsExtensionsQuery`&&e.enabled)})}getPluginsProgressQuery(e){return t({queryKey:[`pluginsProgress`,e],queryFn:({signal:t})=>k({parameter:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsProgressQuery`&&e.enabled)})}searchPluginsQuery(e,n,r){return t({queryKey:[`pluginsSearch`,e,n],queryFn:({signal:t})=>A({query:s(e),parameter:s(n),refresh:s(r),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`searchPluginsQuery`&&e.enabled)})}getPluginVersionsQuery(e){return t({queryKey:[`plugins`,e,`versions`],queryFn:({signal:t})=>g({pluginname:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginVersionsQuery`&&e.enabled)})}getPluginUpdateQuery(e){return t({queryKey:[`plugins`,e,`update`],queryFn:({signal:t})=>_({pluginName:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginUpdateQuery`&&e.enabled)})}getPluginLogoQuery(e){return t({queryKey:[`plugins`,e,`logo`],queryFn:({signal:t})=>v({pluginName:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginLogoQuery`&&e.enabled)})}getPluginConfigQuery(e){return t({queryKey:[`plugins`,e,`config`],queryFn:({signal:t})=>y({pluginName:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginConfigQuery`&&e.enabled)})}getPluginContractQuery(e){return t({queryKey:[`plugins`,e,`contract`],queryFn:({signal:t})=>b({pluginName:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginContractQuery`&&e.enabled)})}getPluginReadmeQuery(e){return t({queryKey:[`plugins`,e,`readme`],queryFn:({signal:t})=>x({pluginName:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginReadmeQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getPluginInterfaceQuery(e){return t({queryKey:[`plugins`,e,`interface`],queryFn:({signal:t})=>w({pluginName:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginInterfaceQuery`&&e.enabled)})}getPluginChangelogQuery(e,n){return t({queryKey:[`plugins`,e,`changelog`],queryFn:({signal:t})=>S({pluginName:s(e),query:s(n),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginChangelogQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getPluginCompatQuery(e,n){return t({queryKey:[`plugins`,e,`compat`],queryFn:({signal:t})=>C({pluginName:s(e),query:s(n),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginCompatQuery`&&e.enabled)})}patchPluginConfigQuery(){return i({mutationFn:M,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_config_updated`),life:3e3})}})}startPluginQuery(){return i({mutationFn:I,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_started`),life:3e3})}})}stopPluginQuery(){return i({mutationFn:L,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_stopped`),life:3e3})}})}restartPluginQuery(){return i({mutationFn:R,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_restarted`),life:3e3})}})}setPluginConfigQuery(){return i({mutationFn:N,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginname,t.configData]})}})}submitPluginConfigQuery(){return i({mutationFn:P,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginname,t.configData]})}})}enablePluginQuery(){return i({mutationFn:j,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_enabled`),life:3e3})}})}disablePluginQuery(){return i({mutationFn:F,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_disabled`),life:3e3})}})}uninstallPluginQuery(){return i({mutationFn:z,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsProgress`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_removed`),life:3e3})}})}uninstallPluginsQuery(){return i({mutationFn:B,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugins_removed`),life:3e3})}})}downloadLogQuery(e){return t({queryKey:[`logs`,e],queryFn:({signal:t})=>O({pluginName:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`downloadLogQuery`&&e.enabled)})}clearLogQuery(){return i({mutationFn:D,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`logs`,t.pluginName],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.log_cleared`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{m as a,S as c,d as i,_ as l,p as n,D as o,f as r,O as s,V as t,u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Or as e,zr as t}from"./api-
|
|
1
|
+
import{Or as e,zr as t}from"./api-C9mnOxie.js";import{K as n,Z as r}from"./vendor-gFkr2qsZ.js";async function i({signal:e}={}){return(await t.get(`/rooms`,{signal:e})).data}async function a(e){return(await t.post(`/rooms`,e)).data}async function o(e){await t.delete(`/rooms/${e}`)}var s=class{queryClient=r();getRoomsQuery(){return e({queryKey:[`rooms`],queryFn:({signal:e})=>i({signal:e}),staleTime:1e4})}createRoomMutation(){return n({mutationFn:a,onSuccess:async()=>{await this.queryClient.refetchQueries({queryKey:[`rooms`],exact:!0})}})}deleteRoomMutation(){return n({mutationFn:o,onSuccess:async()=>{await Promise.all([this.queryClient.refetchQueries({queryKey:[`rooms`],exact:!0}),this.queryClient.refetchQueries({queryKey:[`cameras`]})])}})}};export{i as n,s as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Rr as e}from"./vendor-cameraui-CK4yHsJi.js";import{
|
|
1
|
+
import{Rr as e}from"./vendor-cameraui-CK4yHsJi.js";import{Zt as t}from"./api-C9mnOxie.js";import{In as n,cn as r,dn as i,sr as a}from"./vendor-gFkr2qsZ.js";import{n as o}from"./alert-outline-IRxYbw0j.js";import{a as s,c as ee,d as c,f as l,h as u,i as d,l as f,o as p,p as m,r as h,s as g,u as _}from"./eventIcons-UQutPG3p.js";import{n as v,t as y}from"./cube-scan-IiH8zwm2.js";var b={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function x(e,t){return n(),i(`svg`,b,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M10 13c-.35.59-.64 1.24-.81 1.93C6.5 15.16 3.9 16.42 3.9 17v1.1h5.3c.17.68.45 1.32.8 1.9H2v-3c0-2.66 5.33-4 8-4m0-9a4 4 0 0 1 4 4c0 .91-.31 1.75-.82 2.43c-.86.32-1.63.83-2.27 1.47L10 12a4 4 0 0 1-4-4a4 4 0 0 1 4-4m0 1.9A2.1 2.1 0 0 0 7.9 8a2.1 2.1 0 0 0 2.1 2.1A2.1 2.1 0 0 0 12.1 8A2.1 2.1 0 0 0 10 5.9m5.5 6.1c2.5 0 4.5 2 4.5 4.5c0 .88-.25 1.71-.69 2.4l3.08 3.1L21 23.39l-3.12-3.07c-.69.43-1.51.68-2.38.68c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5m0 2a2.5 2.5 0 0 0-2.5 2.5a2.5 2.5 0 0 0 2.5 2.5a2.5 2.5 0 0 0 2.5-2.5a2.5 2.5 0 0 0-2.5-2.5`},null,-1)]])}var S=a({name:`mdi-account-search-outline`,render:x}),C={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function w(e,t){return n(),i(`svg`,C,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M16 10H8V6h8m.67-2H15V2H9v2H7.33A1.33 1.33 0 0 0 6 5.33v15.34C6 21.4 6.6 22 7.33 22h9.34A1.33 1.33 0 0 0 18 20.67V5.33C18 4.6 17.4 4 16.67 4`},null,-1)]])}var T=a({name:`mdi-battery-70`,render:w}),E={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function D(e,t){return n(),i(`svg`,E,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M12 18a6 6 0 0 1-6-6a6 6 0 0 1 6-6a6 6 0 0 1 6 6a6 6 0 0 1-6 6m8-2.69L23.31 12L20 8.69V4h-4.69L12 .69L8.69 4H4v4.69L.69 12L4 15.31V20h4.69L12 23.31L15.31 20H20z`},null,-1)]])}var O=a({name:`mdi-brightness-5`,render:D}),k={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function A(e,t){return n(),i(`svg`,k,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M9.61 16.11c0-2.08.98-3.92 2.49-5.11H5l1.5-4.5h11l1.22 3.66c.84.37 1.58.91 2.19 1.58L18.92 6c-.2-.58-.76-1-1.42-1h-11c-.66 0-1.22.42-1.42 1L3 12v8c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h4.29c-.43-.87-.68-1.85-.68-2.89M6.5 16c-.83 0-1.5-.67-1.5-1.5S5.67 13 6.5 13s1.5.67 1.5 1.5S7.33 16 6.5 16m14.21 4.7l-.01.01zm-4.6-9.09c2.5 0 4.5 2 4.5 4.5c0 .89-.25 1.71-.69 2.39L23 21.61L21.61 23l-3.11-3.07c-.7.43-1.5.68-2.39.68c-2.5 0-4.5-2-4.5-4.5s2-4.5 4.5-4.5m0 2a2.5 2.5 0 1 0 2.5 2.5c0-1.39-1.11-2.5-2.5-2.5`},null,-1)]])}var j=a({name:`mdi-car-search`,render:A}),M={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function N(e,t){return n(),i(`svg`,M,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M21 16.5c0 .38-.21.71-.53.88l-7.9 4.44c-.16.12-.36.18-.57.18s-.41-.06-.57-.18l-7.9-4.44A.99.99 0 0 1 3 16.5v-9c0-.38.21-.71.53-.88l7.9-4.44c.16-.12.36-.18.57-.18s.41.06.57.18l7.9 4.44c.32.17.53.5.53.88zM12 4.15L6.04 7.5L12 10.85l5.96-3.35zM5 15.91l6 3.38v-6.71L5 9.21zm14 0v-6.7l-6 3.37v6.71z`},null,-1)]])}var P=a({name:`mdi-cube-outline`,render:N}),F={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function I(e,t){return n(),i(`svg`,F,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M8 3c-1.11 0-2 .89-2 2v16h12V5c0-1.11-.89-2-2-2zm0 2h8v14H8zm5 6v2h2v-2z`},null,-1)]])}var L=a({name:`mdi-door`,render:I}),R={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function z(e,t){return n(),i(`svg`,R,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M12 3L2 12h3v8h14v-8h3zm0 5.75A2.25 2.25 0 0 1 14.25 11A2.25 2.25 0 0 1 12 13.25A2.25 2.25 0 0 1 9.75 11A2.25 2.25 0 0 1 12 8.75M12 15c1.5 0 4.5.75 4.5 2.25V18h-9v-.75c0-1.5 3-2.25 4.5-2.25`},null,-1)]])}var B=a({name:`mdi-home-account`,render:z}),V={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function H(e,t){return n(),i(`svg`,V,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M15.5 9c.7 0 1.29-.24 1.77-.73c.49-.48.73-1.07.73-1.77c0-.67-.24-1.27-.73-1.77c-.48-.5-1.07-.73-1.77-.73c-.67 0-1.27.23-1.77.73S13 5.83 13 6.5c0 .7.23 1.29.73 1.77c.5.49 1.1.73 1.77.73m3.81-.09l3.1 3.09L21 13.41l-3.14-3.1c-.78.47-1.58.69-2.39.69c-1.25 0-2.31-.42-3.17-1.3c-.85-.87-1.3-1.93-1.3-3.2c0-1.23.45-2.3 1.33-3.17C13.2 2.45 14.27 2 15.5 2c1.27 0 2.33.45 3.2 1.33c.88.87 1.3 1.94 1.3 3.17c0 .83-.22 1.63-.69 2.41M16.5 18h-11l2.75-3.5l1.97 2.33l2.72-3.52zm1.5-5l2 2v5c0 .55-.19 1-.59 1.4c-.41.39-.88.6-1.41.6H4c-.55 0-1-.21-1.4-.6c-.39-.4-.6-.85-.6-1.4V6c0-.53.21-1 .6-1.41C3 4.19 3.45 4 4 4h5.5c-.3.64-.47 1.31-.5 2H4v14h14z`},null,-1)]])}var U=a({name:`mdi-image-search-outline`,render:H}),te={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function W(e,t){return n(),i(`svg`,te,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M4 18h9l-2 2H4c-.5 0-1.03-.21-1.41-.59S2 18.5 2 18V8h2zM17.63 4.84C17.27 4.33 16.67 4 16 4H8c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h8c.67 0 1.27-.34 1.63-.85L22 10zM16 14H8V6h8l3.55 4Z`},null,-1)]])}var G=a({name:`mdi-label-multiple-outline`,render:W}),K={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function q(e,t){return n(),i(`svg`,K,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M12 17a2 2 0 0 1-2-2c0-1.11.89-2 2-2a2 2 0 0 1 2 2a2 2 0 0 1-2 2m6 3V10H6v10zm0-12a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V10c0-1.11.89-2 2-2h1V6a5 5 0 0 1 5-5a5 5 0 0 1 5 5v2zm-6-5a3 3 0 0 0-3 3v2h6V6a3 3 0 0 0-3-3`},null,-1)]])}var J=a({name:`mdi-lock-outline`,render:q}),Y={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function X(e,t){return n(),i(`svg`,Y,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M5 7a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h3v-2H5V9h3V7zm6 0a2 2 0 0 0-2 2v6a2 2 0 0 0 2 2h2a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2zm0 2h2v6h-2zm5 1.5V12h3v1.5h-1.5A1.5 1.5 0 0 0 16 15v3h4.5v-1.5h-3V15H19a1.5 1.5 0 0 0 1.5-1.5V12a1.5 1.5 0 0 0-1.5-1.5z`},null,-1)]])}var Z=a({name:`mdi-molecule-co2`,render:X}),Q={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ne(e,t){return n(),i(`svg`,Q,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M16 7V3h-2v4h-4V3H8v4C7 7 6 8 6 9v5.5L9.5 18v3h5v-3l3.5-3.5V9c0-1-1-2-2-2m0 6.67l-2.91 2.92l-.42.41h-1.34l-.41-.41L8 13.67V9.09c0-.03.06-.09.09-.09h7.83c.03 0 .08.06.08.09z`},null,-1)]])}var re=a({name:`mdi-power-plug-outline`,render:ne}),ie={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ae(e,t){return n(),i(`svg`,ie,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M8 14.25L4.75 11H7c.25-5.61 2.39-10 5-10c2 0 3.77 2.64 4.55 6.45C20.36 8.23 23 10 23 12c0 1.83-2.17 3.43-5.4 4.3l.29-2.03C19.8 13.72 21 12.91 21 12c0-1.06-1.65-2-4.13-2.5c.08.79.13 1.63.13 2.5c0 6.08-2.24 11-5 11c-1.83 0-3.43-2.17-4.3-5.4l2.03.29C10.28 19.8 11.09 21 12 21c1.66 0 3-4.03 3-9q0-1.5-.15-2.85Q13.5 9 12 9l-1.86.06l.29-2.01L12 7c.87 0 1.71.05 2.5.13C14 4.65 13.06 3 12 3c-1.54 0-2.82 3.5-3 8h2.25zM14.25 16L11 19.25V17c-5.61-.25-10-2.39-10-5c0-1.83 2.17-3.43 5.4-4.3l-.29 2.03C4.2 10.28 3 11.09 3 12c0 1.54 3.5 2.82 8 3v-2.25z`},null,-1)]])}var oe=a({name:`mdi-rotate-orbit`,render:ae}),se={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ce(e,t){return n(),i(`svg`,se,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M21 11c0 5.55-3.84 10.74-9 12c-5.16-1.26-9-6.45-9-12V5l9-4l9 4zm-9 10c3.75-1 7-5.46 7-9.78V6.3l-7-3.12L5 6.3v4.92C5 15.54 8.25 20 12 21m-1-7h2v3h3v-5h2l-6-5l-6 5h2v5h3z`},null,-1)]])}var le=a({name:`mdi-shield-home-outline`,render:ce}),ue={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function de(e,t){return n(),i(`svg`,ue,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M15 13V5a3 3 0 0 0-6 0v8a5 5 0 1 0 6 0m-3-9a1 1 0 0 1 1 1v3h-2V5a1 1 0 0 1 1-1`},null,-1)]])}var fe=a({name:`mdi-thermometer`,render:de}),pe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function $(e,t){return n(),i(`svg`,pe,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M17 6H7c-3.31 0-6 2.69-6 6s2.69 6 6 6h10c3.31 0 6-2.69 6-6s-2.69-6-6-6m0 10H7c-2.21 0-4-1.79-4-4s1.79-4 4-4h10c2.21 0 4 1.79 4 4s-1.79 4-4 4m0-7c-1.66 0-3 1.34-3 3s1.34 3 3 3s3-1.34 3-3s-1.34-3-3-3`},null,-1)]])}var me=a({name:`mdi-toggle-switch-outline`,render:$}),he={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ge(e,t){return n(),i(`svg`,he,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M12 3.25S6 10 6 14c0 3.32 2.69 6 6 6a6 6 0 0 0 6-6c0-4-6-10.75-6-10.75m2.47 6.72l1.06 1.06l-6 6l-1.06-1.06M9.75 10A1.25 1.25 0 0 1 11 11.25a1.25 1.25 0 0 1-1.25 1.25a1.25 1.25 0 0 1-1.25-1.25A1.25 1.25 0 0 1 9.75 10m4.5 4.5a1.25 1.25 0 0 1 1.25 1.25A1.25 1.25 0 0 1 14.25 17A1.25 1.25 0 0 1 13 15.75a1.25 1.25 0 0 1 1.25-1.25`},null,-1)]])}var _e=a({name:`mdi-water-percent`,render:ge}),ve={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ye(e,t){return n(),i(`svg`,ve,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`m22 12l-2 1l-1 1l-1-1l-1 3l-1-3l-1 8l-1-8l-1 2l-1-2l-1 4l-1-4l-1 9l-1-9l-1 6l-1-6l-1 1l-1-1l-2-1l2-1l1-1l1 1l1-6l1 6l1-9l1 9l1-4l1 4l1-2l1 2l1-8l1 8l1-3l1 3l1-1l1 1z`},null,-1)]])}var be=a({name:`mdi-waveform`,render:ye}),xe={[e.Motion]:l,[e.Object]:y,[e.Audio]:be,[e.Face]:u,[e.FaceEmbedder]:S,[e.LicensePlate]:j,[e.Classifier]:G,[e.Clip]:U,[e.ObjectAssist]:P,[e.Contact]:L,[e.Temperature]:fe,[e.Humidity]:_e,[e.Occupancy]:B,[e.Smoke]:p,[e.Leak]:h,[e.Gas]:_,[e.CarbonMonoxide]:f,[e.CarbonDioxide]:Z,[e.Heat]:c,[e.Cold]:s,[e.Vibration]:d,[e.Tamper]:g,[e.Problem]:m,[e.Power]:re,[e.Illuminance]:O,[e.Light]:o,[e.Siren]:v,[e.Switch]:me,[e.Lock]:J,[e.PTZ]:oe,[e.SecuritySystem]:le,[e.Garage]:ee,[e.Doorbell]:t,[e.Battery]:T};function Se(e){return xe[e]??l}export{J as n,Se as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Rr as e}from"./vendor-cameraui-CK4yHsJi.js";import{D as t,S as n}from"./types-
|
|
1
|
+
import{Rr as e}from"./vendor-cameraui-CK4yHsJi.js";import{D as t,S as n}from"./types-BcAxmlqC.js";function r(r,a){if(!r.boundCameraId||r.pluginId===`cameraui.virtual`||!a||a._id!==r.boundCameraId||!n.has(r.type)&&(r.pluginId===a.pluginInfo?.id||i(a.assignments?.cameraController,r.pluginId)))return!0;let o=t(r.type);return i(a.assignments?.[o],r.pluginId)?!0:r.type===e.Object&&i(a.assignments?.objectAssist,r.pluginId)}function i(e,t){return Array.isArray(e)?e.some(e=>e.id===t):e?.id===t}export{r as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Ar as e,Or as t,jr as n,zr as r}from"./api-
|
|
1
|
+
import{Ar as e,Or as t,jr as n,zr as r}from"./api-C9mnOxie.js";import{K as i,Z as a,dr as o,yr as s}from"./vendor-gFkr2qsZ.js";async function c({signal:e,cameraId:t}){return(await r.get(`/sensors`,{signal:e,params:t?{camera:t}:void 0})).data.sensors}async function l({data:e}){return(await r.post(`/sensors`,e)).data}async function u({id:e,data:t}){return(await r.patch(`/sensors/${e}`,t)).data}async function d({id:e}){await r.delete(`/sensors/${e}`)}async function f({ids:e}){return(await r.delete(`/sensors`,{data:{ids:e}})).data}async function p({id:e,signal:t}){return(await r.get(`/sensors/${e}/history`,{signal:t})).data.history}var m=class{_queryClient=a();t=n.global.t;toast=e();queryActivator=o([{name:`getSensorsQuery`,enabled:!0},{name:`getCameraSensorsQuery`,enabled:!0}]);getSensorsQuery(){return t({queryKey:[`sensorsList`],queryFn:({signal:e})=>c({signal:e}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getSensorsQuery`&&e.enabled)})}getCameraSensorsQuery(e){return t({queryKey:[`sensorsList`,e],queryFn:({signal:t})=>c({signal:t,cameraId:s(e)}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getCameraSensorsQuery`&&e.enabled)})}createVirtualSensorQuery(){return i({mutationFn:l,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]}),this.toast.add({severity:`success`,detail:this.t(`components.camera_options.virtual_sensor_created`),life:3e3})}})}patchSensorQuery(){return i({mutationFn:u,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]})}})}deleteSensorQuery(){return i({mutationFn:d,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]})}})}bulkDeleteSensorsQuery(){return i({mutationFn:f,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]})}})}};export{p as n,m as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Ar as e,Or as t,jr as n,zr as r}from"./api-
|
|
1
|
+
import{Ar as e,Or as t,jr as n,zr as r}from"./api-C9mnOxie.js";import{K as i,Z as a,dr as o,yr as s}from"./vendor-gFkr2qsZ.js";async function c(){return(await r.get(`/server`)).data}async function l(e){return(await r.patch(`/server`,e)).data}async function u(){return(await r.get(`/server/certificate`)).data}async function d(e){let t=new FormData;return t.append(`cert`,e.cert),t.append(`key`,e.key),e.chain&&t.append(`chain`,e.chain),(await r.post(`/server/certificate`,t)).data}async function f(){return(await r.delete(`/server/certificate`)).data}async function p({serverData:e}){return(await r.post(`/server/update`,e,{timeout:96e4})).data}async function m({signal:e}){return(await r.get(`/server/version`,{signal:e})).data}async function h({version:e,signal:t}){return(await r.get(`/server/changelog`,{params:{version:e},signal:t})).data}async function g(e){let t=e&&e!==`all`?{source:e}:void 0;return(await r.delete(`/server/log`,{params:t})).data}async function _({signal:e,source:t}){let n=t&&t!==`all`?{source:t}:void 0;return(await r.get(`/server/log/download`,{signal:e,params:n})).data}async function v(){return(await r.post(`/server/cert`,{responseType:`arraybuffer`})).data}async function y({signal:e}){return(await r.get(`/server/go2rtc`,{signal:e})).data}async function b(){return(await r.put(`/server/restart`)).data}async function x(){return(await r.put(`/server/restart/go2rtc`)).data}async function S(){return(await r.put(`/server/reset`)).data}var C=class{_queryClient=a();t=n.global.t;toast=e();queryActivator=o([{name:`downloadLogQuery`,enabled:!0},{name:`getGo2RtcInfoQuery`,enabled:!0},{name:`checkVersionQuery`,enabled:!0},{name:`getServerChangelogQuery`,enabled:!0},{name:`getServerInfoQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getServerInfoQuery(){return t({queryKey:[`server`],queryFn:c})}patchSystemInfoQuery(){return i({mutationFn:l,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`server`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.server_updated`),life:3e3})}})}updateServerQuery(){return i({mutationFn:p,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_updated`),life:3e3})}})}downloadLogQuery(e){return t({queryKey:[`logs`,`server`,e??`all`],queryFn:({signal:t})=>_({signal:t,source:s(e)}),enabled:()=>this.queryActivator.value.some(e=>e.name===`downloadLogQuery`&&e.enabled)})}downloadCertQuery(){return i({mutationFn:v})}clearLogQuery(){return i({mutationFn:e=>g(e),onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`logs`,`server`],exact:!1}),this.toast.add({severity:`success`,detail:this.t(`components.toast.log_cleared`),life:3e3})}})}checkVersionQuery(){return t({queryKey:[`version`],queryFn:({signal:e})=>m({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`checkVersionQuery`&&e.enabled)})}getServerChangelogQuery(e){return t({queryKey:[`version`,`changelog`,e],queryFn:({signal:t})=>h({version:s(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getServerChangelogQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getGo2RtcInfoQuery(){return t({queryKey:[`go2rtc`],queryFn:({signal:e})=>y({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getGo2RtcInfoQuery`&&e.enabled)})}restartGo2RtcQuery(){return i({mutationFn:x,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.go2rtc_restarted`),life:3e3})}})}restartServerQuery(){return i({mutationFn:b,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_restarted`),life:3e3})},onError:e=>{let t=e?.response?.status;if(t===void 0||t>=500){this.toast.add({severity:`success`,detail:this.t(`components.toast.server_restarted`),life:3e3});return}this.toast.add({severity:`error`,detail:e,life:3e3})}})}resetServerQuery(){return i({mutationFn:S,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_resetted`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{u as a,x as c,d,_ as i,b as l,g as n,h as o,v as r,f as s,C as t,p as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Ai as e,di as t}from"./vendor-cameraui-CK4yHsJi.js";import{Cr as n}from"./api-
|
|
1
|
+
import{Ai as e,di as t}from"./vendor-cameraui-CK4yHsJi.js";import{Cr as n}from"./api-C9mnOxie.js";import{On as r,Xn as i,dr as a,lr as o}from"./vendor-gFkr2qsZ.js";import{f as s}from"./vendor-core-B-Q4es-f.js";async function c(e){}function l(){if(typeof window>`u`)return null;let e=new URLSearchParams(window.location.search).get(`cui_theme`);return e===`dark`||e===`light`?e:null}function u(){let e={theme:`dark`,autoMode:!0},t=localStorage.getItem(`theme`);if(!t)return e;if(t===`dark`||t===`light`)return{theme:t,autoMode:!1};try{let n=JSON.parse(t);return n?.theme!==`dark`&&n?.theme!==`light`?e:{theme:n.theme,autoMode:n.autoMode!==!1}}catch{return e}}function d(e,t){e.setAttribute(`data-mode`,t),e.classList.toggle(`dark-mode`,t===`dark`),e.classList.toggle(`light-mode`,t===`light`)}var f=s(`theme`,()=>{let s=new Set,f=u(),p=l();p&&(f.theme=p,f.autoMode=!1);let m=e(f.theme,{onBeforeChange(){if(!g.value)return!1},onChanged(e){f.theme=e,localStorage.setItem(`theme`,JSON.stringify(f))}}),h=e(f.autoMode,{onBeforeChange(e){if(e&&!g.value)return!1},onChanged(e){f.autoMode=e,localStorage.setItem(`theme`,JSON.stringify(f))}}),g=a(!0),_=o([`light`,`dark`]);function v(){return window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}function y(){return h.value?v():m.value}function b(e){for(let t of s)d(t,e);if(n()){document.documentElement.classList.toggle(`dark-mode`,e===`dark`),document.documentElement.classList.toggle(`light-mode`,e===`light`);return}document.documentElement.style.background=e===`dark`?`#0d0d0d`:`#f8fafc`,d(document.documentElement,e),c(e)}function x(e){return s.add(e),d(e,y()),()=>{s.delete(e)}}function S(e){h.value=!1,m.value=e}function C(){h.value?(h.value=!1,m.value=`light`):m.value===`light`?m.value=`dark`:h.value=!0}let w=t(`(prefers-color-scheme: dark)`);return i(h,e=>{e&&(m.value=v())},{immediate:!0,deep:!0}),i(m,e=>{r(()=>{b(e),g.value=!0}),g.value=!1}),i(w,e=>{h.value&&(m.value=e?`dark`:`light`)}),b(y()),{colors:_,theme:m,autoMode:h,setAppTheme:b,getSystemMode:v,toggleTheme:C,applyHostTheme:S,registerThemeRoot:x}});export{f as n,u as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Nn as e}from"./api-
|
|
1
|
+
import{Nn as e}from"./api-C9mnOxie.js";import{Cr as t,Hn as n,In as r,cn as i,dn as a,ln as o,sn as s,sr as c,un as l,vn as u,yr as d}from"./vendor-gFkr2qsZ.js";import{r as f}from"./alert-outline-IRxYbw0j.js";import{f as p}from"./eventIcons-UQutPG3p.js";import{t as m}from"./bell-ring-DreEHgoT.js";import{n as h,t as g}from"./webhook-CWKf2Qxu.js";import{i as _,n as v,r as y}from"./CuiPluginTrustBadge-jxXeRTH2.js";var b={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function x(e,t){return r(),a(`svg`,b,[...t[0]||=[i(`path`,{fill:`currentColor`,d:`M15 13h1.5v2.82l2.44 1.41l-.75 1.3L15 16.69zm4-5H5v11h4.67c-.43-.91-.67-1.93-.67-3a7 7 0 0 1 7-7c1.07 0 2.09.24 3 .67zM5 21a2 2 0 0 1-2-2V5c0-1.11.89-2 2-2h1V1h2v2h8V1h2v2h1a2 2 0 0 1 2 2v6.1c1.24 1.26 2 2.99 2 4.9a7 7 0 0 1-7 7c-1.91 0-3.64-.76-4.9-2zm11-9.85A4.85 4.85 0 0 0 11.15 16c0 2.68 2.17 4.85 4.85 4.85A4.85 4.85 0 0 0 20.85 16c0-2.68-2.17-4.85-4.85-4.85`},null,-1)]])}var S=c({name:`mdi-calendar-clock`,render:x}),C={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function w(e,t){return r(),a(`svg`,C,[...t[0]||=[i(`path`,{fill:`currentColor`,d:`m20.84 2.18l-3.93.78l2.74 3.54l1.97-.4zm-6.87 1.36L12 3.93l2.75 3.53l1.96-.39zm-4.9.96l-1.97.41l2.75 3.53l1.96-.39zm-4.91 1l-.98.19a2 2 0 0 0-1.57 2.35L2 10l4.9-.97zM2 10v10a2 2 0 0 0 2 2h16c1.11 0 2-.89 2-2V10z`},null,-1)]])}var T=c({name:`mdi-movie-open`,render:w}),E={notification:{icon:m,labelKey:`components.automation_store.category_notification`},recording:{icon:y,labelKey:`components.automation_store.category_recording`},presence:{icon:h,labelKey:`components.automation_store.category_presence`},detection:{icon:p,labelKey:`components.automation_store.category_detection`},schedule:{icon:S,labelKey:`components.automation_store.category_schedule`},webhook:{icon:g,labelKey:`components.automation_store.category_webhook`},mqtt:{icon:f,labelKey:`components.automation_store.category_mqtt`},scene:{icon:T,labelKey:`components.automation_store.category_scene`},utility:{icon:v,labelKey:`components.automation_store.category_utility`},other:{icon:_,labelKey:`components.automation_store.category_other`}},D=[`notification`,`recording`,`presence`,`detection`,`schedule`,`webhook`,`mqtt`,`scene`,`utility`,`other`];function O(e){return e&&e in E?E[e]:E.other}var k={key:0,class:`cui-category-chip`},A={class:`cui-category-chip-label`},j=e(u({__name:`CuiAutomationCategoryChip`,props:{category:{}},setup(e){let c=e,u=s(()=>O(c.category));return(s,c)=>e.category?(r(),a(`span`,k,[(r(),o(n(d(u).icon),{class:`cui-category-chip-icon`})),i(`span`,A,t(s.$t(d(u).labelKey)),1)])):l(``,!0)}}),[[`__scopeId`,`data-v-ea2e312f`]]),M={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function N(e,t){return r(),a(`svg`,M,[...t[0]||=[i(`path`,{fill:`currentColor`,d:`M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.62L12 2L9.19 8.62L2 9.24l5.45 4.73L5.82 21z`},null,-1)]])}var P=c({name:`mdi-star`,render:N}),F={camera:`components.automation_store.input_camera`,plugin:`components.automation_store.input_plugin`,sensor:`components.automation_store.input_sensor`,"notification-targets":`components.automation_store.input_notification_targets`,"system-target":`components.automation_store.input_system_target`,text:`components.automation_store.input_text`};function I(e,t){return e?.length?e.map(e=>t(F[e.type],{count:e.count??1})):[]}export{D as a,E as i,P as n,j as r,I as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Gr as e,Kr as t,Wr as n,qr as r}from"./vendor-cameraui-CK4yHsJi.js";import{Vt as i}from"./vendor-gFkr2qsZ.js";import{C as a,S as ee,T as o,_ as s,a as c,b as l,c as u,d,f,g as p,h as te,l as m,m as ne,o as h,p as re,s as g,u as _,v,w as y,x as b,y as ie}from"./vendor-zod-CBbC1rE7.js";function ae(e){return e.mimetype!==void 0}function oe(e){return ae(e)?Buffer.byteLength(e._buf):e.size}function se(e){return ae(e)?e.mimetype:e.type}function x(e,t,n,r){return f().refine(t=>oe(t)<=e,n).refine(e=>t.includes(se(e)),r)}function ce(e){return{privacyFallback:e?.privacyFallback??`send`,motion:e?.motion??[],object:e?.object??[],privacy:e?.privacy??[],alert:e?.alert??[],lines:e?.lines??[]}}function le(e){let t=[`kasa://`,`nest:`,`ring:`,`tapo://`];return e.some(e=>t.some(t=>e.startsWith(t)))}var ue=v({enabled:d().default(!0),mode:u([`continuous`,`event`,`adhoc`]).default(`continuous`),preBuffer:s().min(0).max(60).default(10),sources:_(u([`high`,`mid`,`low`])).default([`high`,`mid`,`low`])}).strict(),de={enabled:!0,mode:`continuous`,preBuffer:10,sources:[`high`,`mid`,`low`]},fe=v({enabled:d().default(!0),video:d().default(!1),audio:b().trim().min(1).array().default([]),sensors:b().trim().min(1).array().default([]),cooldown:s().min(0).max(600).default(30),speed:u([`immediate`,`balanced`,`best`]).default(`balanced`)}).strict(),pe={enabled:!0,video:!1,audio:[`glass_break`,`scream`,`gunshot`,`alarm`,`siren`,`smoke_alarm`],sensors:[`doorbell`,`contact`,`siren`,`security_system`,`smoke`,`gas`,`carbonMonoxide`,`heat`,`leak`,`cold`,`vibration`,`tamper`,`problem`],cooldown:30,speed:`balanced`},me=b().trim().min(1,`Detection label is required`),he=b().trim().min(1,`Zone label is required`),S=ee([s(),s()]),ge=b().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`),_e=v({name:b().trim().min(1,`Zone Name is required`),points:S.array().min(3,`At least 3 points are required`),color:ge}).array(),ve=v({name:b().trim().min(1,`Zone Name is required`),points:S.array().min(3,`At least 3 points are required`),type:a([p(`intersect`),p(`contain`)]).default(`intersect`),labels:he.array(),color:ge}).array(),ye=v({name:b().trim().min(1,`Zone Name is required`),points:S.array().min(3,`At least 3 points are required`),dropDetections:d().default(!0)}).array(),be=v({name:b().trim().min(1,`Zone Name is required`),points:S.array().min(3,`At least 3 points are required`),labels:me.array(),faces:b().trim().min(1).array().optional(),plates:b().trim().min(1).array().optional(),match:a([p(`anchor`),p(`intersect`),p(`contain`)]).default(`contain`),color:b().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),C=v({name:b().trim().min(1,`Line Name is required`),points:ee([S,S]),direction:a([p(`both`),p(`a-to-b`),p(`b-to-a`)]),labels:me.array(),color:b().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),w=v({privacyFallback:a([p(`send`),p(`drop`)]).default(`send`),motion:_e.default([]),object:ve.default([]),privacy:ye.default([]),alert:be.default([]),lines:C.default([])}).strict(),T=v({motion:v({resolution:a([p(`low`),p(`medium`),p(`high`)]),timeout:s().min(10,`Minimum 10 seconds`)}),object:v({confidences:v({person:s().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),vehicle:s().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),animal:s().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5)}).default({person:.5,vehicle:.5,animal:.5}),suppressStatic:d().default(!0),timeout:s().min(10,`Minimum 10 seconds`).default(15)}),audio:v({minDecibels:s().min(-100,`Minimum -100 dBFS`).max(0,`Maximum 0 dBFS`),timeout:s().min(10,`Minimum 10 seconds`),confidence:s().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.7)}),face:v({confidence:s().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.5),matchSensitivity:u([`strict`,`balanced`,`relaxed`]).default(`balanced`)}).default({confidence:.5,matchSensitivity:`balanced`}),licensePlate:v({confidence:s().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.3),ocrConfidence:s().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.9),minLength:s().int().min(1,`Minimum 1`).max(10,`Maximum 10`).default(4)}).default({confidence:.3,ocrConfidence:.9,minLength:4}),sensor:v({timeout:s().min(10,`Minimum 10 seconds`),triggers:_(b().trim().min(1,`Sensor id is required`)).default([])}),cascadeDetection:d().default(!0),cascadeTimeout:s().min(1,`Minimum 1 second`).max(300,`Maximum 300 seconds`).default(10),snooze:d().default(!1)}),xe=v({from:b().regex(/^\d{1,2}:\d{2}$/,`Use HH:mm`),to:b().regex(/^\d{1,2}:\d{2}$/,`Use HH:mm`),timezone:b().trim().min(1,`Timezone is required`)}),Se={enabled:!1,targetLabels:[`person`],minConfidence:.5,triggerDeadZone:.05,trackingSpeed:2,leadMs:1800,panRate:.85,returnToHome:!1,homeWaitMs:1e4,minTargetSize:0,maxTargetSize:0},E=v({enabled:d().default(!1),targetLabels:b().trim().min(1,`Target label is required`).array().default([`person`]),minConfidence:s().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),triggerDeadZone:s().min(0,`Minimum 0`).max(.3,`Maximum 0.3`).default(.05),trackingSpeed:s().min(1,`Minimum 1`).max(5,`Maximum 5`).default(2),leadMs:s().min(0,`Minimum 0`).max(4e3,`Maximum 4000 ms`).default(1800),panRate:s().min(.1,`Minimum 0.1`).max(3,`Maximum 3`).default(.85),returnToHome:d().default(!1),homeWaitMs:s().min(1e3,`Minimum 1000 ms`).max(6e4,`Maximum 60000 ms`).default(1e4),minTargetSize:s().min(0,`Minimum 0`).max(.5,`Maximum 0.5`).default(0),maxTargetSize:s().min(0,`Minimum 0`).max(1,`Maximum 1`).default(0),activeHours:xe.optional()}),D=a([p(`high-resolution`),p(`mid-resolution`),p(`low-resolution`),p(`snapshot`)]),Ce=a([p(`high-resolution`),p(`mid-resolution`),p(`low-resolution`)]),O=a([p(`bubble://`),p(`cui://`),p(`doorbird://`),p(`dvrip://`),p(`eseecloud://`),p(`ffmpeg:`),p(`flussonic://`),p(`gopro://`),p(`hass:`),p(`homekit://`),p(`http://`),p(`https://`),p(`httpx://`),p(`isapi://`),p(`ivideon:`),p(`kasa://`),p(`nest:`),p(`onvif://`),p(`ring:`),p(`roborock://`),p(`rtmp://`),p(`rtsp://`),p(`rtspx://`),p(`tapo://`),p(`tcp://`),p(`tuya://`),p(`xiaomi://`),p(`yandex:`),p(`webrtc:`),p(`webtorrent:`),p(`wyze://`)]).options.map(e=>e.value),we=RegExp(`^(${O.join(`|`)})`),k=b().refine(e=>{if(!we.test(e))return!1;try{return new URL(e),!0}catch{return!1}},{message:`Invalid URL format or unsupported protocol`});function A(e,t){let n=new Set;e.forEach((e,r)=>{let i=e.name.replace(/ /g,`_`).toLowerCase();n.has(i)&&t.addIssue({code:`custom`,message:`Source name is already used by another source`,path:[r,`name`]}),n.add(i)})}var Te=v({_id:b().default(e()).transform(()=>e()),name:b().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:D,useForSnapshot:d().default(!1),hotMode:d().default(!0),preload:d().default(!0),muted:d().default(!1),backchannelDisabled:d().default(!1),timeout:s().int().min(5).max(120).optional(),handshakeTimeout:s().int().min(1).max(60).optional(),urls:k.array().min(1,`At least one valid URL is required`),childSourceId:b().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),Ee=v({_id:b().default(e()).transform(()=>e()),name:b().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:D,useForSnapshot:d().default(!1),hotMode:d().default(!0),preload:d().default(!0),muted:d().default(!1),backchannelDisabled:d().default(!1),timeout:s().int().min(5).max(120).optional(),handshakeTimeout:s().int().min(1).max(60).optional(),urls:k.array().min(1,`At least one valid URL is required`),childSourceId:b().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),j=v({id:b(),name:b().trim()}),M=v({motion:j.optional(),object:j.optional(),objectAssist:j.optional(),audio:j.optional(),face:j.optional(),licensePlate:j.optional(),ptz:j.optional(),battery:j.optional(),cameraController:j.optional(),clip:j.optional(),faceEmbedder:j.optional(),classifier:j.array().optional(),light:j.array().optional(),siren:j.array().optional(),switch:j.array().optional(),securitySystem:j.array().optional(),contact:j.array().optional(),doorbell:j.array().optional(),lock:j.array().optional(),temperature:j.array().optional(),humidity:j.array().optional(),occupancy:j.array().optional(),smoke:j.array().optional(),leak:j.array().optional(),garage:j.array().optional(),gas:j.array().optional(),carbonMonoxide:j.array().optional(),carbonDioxide:j.array().optional(),heat:j.array().optional(),cold:j.array().optional(),vibration:j.array().optional(),tamper:j.array().optional(),problem:j.array().optional(),power:j.array().optional(),illuminance:j.array().optional(),hub:j.array().optional()}).strict(),De=a([p(`auto`),p(`mse`),p(`webrtc`),p(`webrtc/tcp`)]),Oe=b().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),N=v({hardware:u([`auto`,`cpu`,`cuda`,`vaapi`,`qsv`,`videotoolbox`,`d3d11va`,`d3d12va`,`dxva2`,`vulkan`,`opencl`,`drm`,`rkmpp`]).default(`auto`),device:b().trim().max(128).optional()}).strict(),P=v({mainStreamAnalysis:d().default(!1),decoder:N.optional(),workerDecoder:N.nullable().transform(e=>e??void 0).optional()}),F=a([p(`camera`),p(`doorbell`)]),ke=a([p(`auto`),p(`high`),p(`mid`),p(`low`)]),Ae=a([p(`always-on`),p(`activity`),p(`standby`)]),I=v({streamingMode:De,streamingSource:Ce,playbackSource:ke.default(`auto`),activityMode:Ae.default(`always-on`),aspectRatio:Oe}),L=v({model:b().trim().optional(),manufacturer:b().trim().optional(),hardware:b().trim().optional(),serialNumber:b().trim().optional(),firmwareVersion:b().trim().optional(),supportUrl:b().trim().optional()}),je=v({id:b(),name:b().trim()}).strict(),Me=v({mode:u([`interval`,`onView`,`onDemand`]).default(`interval`),interval:s().min(10,`Minimum 10 seconds`).max(3600,`Maximum 1 hour`).default(60),maxAge:s().min(10,`Minimum 10 seconds`).max(3600,`Maximum 1 hour`).default(60)}).strict(),R=v({_id:b().default(e()).transform(()=>e()),nativeId:b().trim().optional(),pluginInfo:je.optional(),disabled:d().default(!1),name:b().trim().min(1,`Camera name is required`),room:b().trim().min(1,`Room is required`).default(`Default`),roomId:b().trim().min(1).nullable().default(null),type:F.default(`camera`),isCloud:d().default(!1),snapshotSettings:Me.default({mode:`interval`,interval:60,maxAge:60}),info:L.default({model:`IP Camera`,manufacturer:`camera.ui`,hardware:`Camera`,serialNumber:`Unknown`,firmwareVersion:`Unknown`,supportUrl:`Unknown`}),sources:Te.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`]}).superRefine(A),plugins:j.array().default([]),assignments:M.default({}),interfaceSettings:I.default({streamingMode:`auto`,streamingSource:`high-resolution`,playbackSource:`auto`,activityMode:`always-on`,aspectRatio:`16:9`}),zones:w.default(ce()),detectionSettings:T.default({motion:{resolution:`low`,timeout:30},object:{confidences:{person:.5,vehicle:.5,animal:.5},suppressStatic:!0,timeout:15},audio:{minDecibels:-40,timeout:30,confidence:.7},face:{confidence:.5,matchSensitivity:`balanced`},licensePlate:{confidence:.3,ocrConfidence:.9,minLength:4},sensor:{timeout:30,triggers:[]},cascadeDetection:!0,cascadeTimeout:10,snooze:!1}),ptzAutotrack:E.default(Se),recordingSettings:ue.default(de),notificationSettings:fe.default(pe),frameWorkerSettings:P.default({mainStreamAnalysis:!1})}).strict();function Ne(){let{_id:e,name:t,sources:n,nativeId:r,pluginInfo:i,...a}=R.parse({name:`default`,sources:[{name:`default`,role:`high-resolution`,urls:[`rtsp://localhost`]}]});return a}R.transform(e=>{let t=e.sources.flatMap(e=>e.urls);return e.isCloud||le(t)?{...e,isCloud:!0}:{...e}});var Pe=v({disabled:d().optional(),type:F.optional(),name:b().trim().min(1,`Camera name is required`).optional(),room:b().trim().min(1,`Room is required`).optional(),roomId:b().trim().min(1).nullable().optional(),isCloud:d().optional(),snapshotSettings:Me.partial().optional(),info:L.partial().optional(),sources:Ee.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`]}).superRefine(A).optional(),plugins:j.array().optional(),assignments:M.partial().optional(),interfaceSettings:I.partial().optional(),zones:w.optional(),detectionSettings:T.partial().optional(),ptzAutotrack:E.partial().optional(),recordingSettings:ue.partial().optional(),notificationSettings:fe.partial().optional(),frameWorkerSettings:P.partial().optional()}).strict().transform(e=>{if(e.sources){let t=e.sources.flatMap(e=>e.urls);if(e.isCloud===!0||le(t))return{...e,isCloud:!0}}return e});v({url:b().trim().refine(e=>!/^\s*(exec|echo|expr):/i.test(e),`Command-execution stream sources are not allowed`)}).strict(),v({cameraname:b()}),v({cameraname:b(),sourcename:b()}),v({cameraid:b(),sourcename:b()}),v({cameraname:b(),pluginname:b()}),v({cameraname:b(),scope:b(),pluginname:b()}),v({cameraname:b(),pluginname:b(),sensorId:b()}),v({cameraname:b(),scope:b(),pluginname:b(),sensorId:b()}),v({type:b().optional()}),v({video:c().optional(),audio:c().optional(),microphone:c().optional(),refresh:c().optional()}),v({forceNew:c().optional()}),v({cameranames:_(b().min(1)).min(1).max(1e3),cameraData:v({disabled:d().optional(),detectionSettings:v({snooze:d()}).optional(),recordingSettings:v({enabled:d()}).optional()}).refine(e=>e.disabled!==void 0||e.detectionSettings!==void 0||e.recordingSettings!==void 0,{message:`Nothing to update`})}),v({cameranames:_(b().min(1)).min(1).max(1e3)});var Fe=`ar.bg.bn.ca.cs.da.de.el.en.es.et.fa.fi.fr.he.hi.hr.hu.id.it.ja.ko.lt.lv.ms.nb.nl.pl.pt.ro.ru.sk.sl.sr.sv.th.tr.uk.ur.vi.zh`.split(`.`),Ie=[`de`,`en`],Le=[`image/jpeg`,`image/jpg`,`image/png`],Re=5242880,ze=v({index:s(),cameraId:b(),colSpan:s().optional(),rowSpan:s().optional(),x:s().optional(),y:s().optional()}),Be=a([p(1),p(4),p(6),p(7),p(9),p(10),p(12),p(13),p(15),p(16),p(20),p(26)]),Ve=a([p(`dnd`),p(`view`)]),He=u([`aspect`,`contain`,`fill`,`cover`]),Ue=v({_id:b().default(e()).transform(()=>e()),name:b().trim().min(1,`Layout name is required`),viewSize:Be,cameras:ze.array(),type:Ve,cardFit:He.optional()});v({name:b().trim().min(1,`Layout name is required`),viewSize:Be,cameras:ze.array(),cardFit:He}).partial().optional();var We=v({views:Ue.array()}),Ge=t.filter(e=>e.shortcutable).map(e=>String(e.type)),Ke=u(Ge),qe=v({_id:b().default(e()).transform(()=>e()),type:p(`camera`),cameraId:b(),points:S}),Je=v({_id:b().default(e()).transform(()=>e()),type:p(`sensor`),sensorId:b(),sensorType:Ke,points:S}),Ye=re(`type`,[qe,Je]),Xe=v({type:p(`camera`),cameraId:b(),points:S}).partial(),Ze=v({type:p(`sensor`),sensorId:b(),sensorType:Ke,points:S}).partial();a([Xe,Ze]).optional();var Qe=v({shortcuts:Ye.array(),hiddenEventTypes:b().array().optional()});l(b().trim().min(1),b().trim().min(1).max(64).array().max(64));var $e=u([`auto`,...Ie]),et=v({ungrouped:d()}),tt=v({main:b().array(),manage:b().array(),system:b().array(),settings:b().array()}).partial(),nt=v({main:d(),manage:d(),system:d(),settings:d()}).partial(),rt=v({order:tt.optional(),collapsible:nt.optional(),settingsInNav:d().optional(),hidden:b().array().optional()}),it=v({language:$e.optional(),camview:We,cameras:l(b().trim(),Qe),recordings:et.optional(),navLayout:rt.nullable().optional()}),z=b().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`),at=v({_id:b().default(e()).transform(()=>e()),username:b().trim().min(1,`Username is required`),password:z,passwordConfirm:b().trim().min(1,`Please confirm your password`),role:a([p(`admin`),p(`user`)]),firstLogin:d().default(!0),preferences:it.default({language:`auto`,camview:{views:[]},cameras:{}})}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});v({username:b().trim().min(1,`Username is required`),password:b().trim().min(1,`Password is required`),kind:u([`native`,`web`,`tv`]),persistent:d().default(!1),device:v({id:b().min(1,`Device id is required`).max(128,`Device id cannot be more than 128 characters`),name:b().trim().min(1,`Device name is required`).max(100,`Device name cannot be more than 100 characters`)})}).strict();var ot=v({username:b().trim().min(1,`Username is required`).optional(),password:z.optional(),passwordConfirm:b().trim().optional(),role:a([p(`admin`),p(`user`)]).optional(),upload:ie(x(Re,Le,`Max file size is 5MB.`,`.jpg, .jpeg, .png files are accepted.`)),firstLogin:d().optional(),preferences:it.partial().optional()}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});v({username:b()}),v({username:b(),cameraname:b()}),v({username:b(),cameraname:b(),shortcutid:b()}),v({username:b(),viewid:b()}),v({username:b()});var st=u([`openai-compatible`,`ollama`,`openai`,`anthropic`,`gemini`,`openrouter`]),ct=a([st,b().regex(/^plugin:[a-zA-Z0-9@/._-]{1,200}$/)]),lt=v({id:b().trim().min(1).max(64).optional(),name:b().trim().max(40,`Name cannot be more than 40 characters`).optional(),provider:ct,baseURL:b().trim().max(500,`Base URL cannot be more than 500 characters`).nullable().optional(),apiKey:b().max(1e3,`API key cannot be more than 1000 characters`).nullable().optional(),copyKeyFrom:b().trim().min(1).max(64).optional(),model:b().trim().max(200,`Model cannot be more than 200 characters`),sendImages:d().optional(),userAccess:d().optional(),contextTokens:s().int().min(1e3).max(4e5).nullable().optional(),toolRouting:d().nullable().optional(),retest:d().optional()}).strict();v({enabled:d().optional(),models:_(lt).max(20,`At most 20 models`).optional(),defaultModelId:b().trim().min(1).max(64).nullable().optional(),plugins:_(v({pluginId:b().trim().min(1).max(200),modelId:b().trim().min(1).max(64)}).strict()).max(50).optional(),language:u(Fe).nullable().optional(),maxIterations:s().int().min(1).max(30).optional(),maxToolCalls:s().int().min(1).max(100).optional(),contextTokens:s().int().min(8e3).max(4e5).optional(),historyThreads:s().int().min(5).max(500).optional(),historyImages:s().int().min(0).max(200).optional(),terminalEnabled:d().optional(),reasoning:u([`default`,`off`,`low`,`high`]).optional(),systemPromptExtra:b().max(4e3,`Additional instructions cannot be more than 4000 characters`).optional(),mcpEnabled:d().optional(),mcpWrites:d().optional(),mcpServers:_(v({id:b().trim().min(1).max(64).optional(),name:b().trim().min(1,`Name is required`).max(40,`Name cannot be more than 40 characters`),url:o(`Enter a valid URL`).max(500),token:b().max(4e3).nullable().optional(),enabled:d().default(!0),insecure:d().default(!1),toolApproval:l(b().max(200),d()).optional()}).strict()).max(10,`At most 10 external servers`).optional(),memoryEnabled:d().optional()}).strict(),v({runId:g().min(1).max(128).optional(),offset:g().max(300).optional(),threadId:g().min(1).max(128).optional()}),v({runId:b().min(1).max(128)}),v({text:b().trim().min(1).max(500),language:b().max(10).optional(),timezone:b().max(64).optional()}),v({factId:b().min(1).max(128)}),v({threadId:b().min(1).max(128)}),v({title:b().trim().min(1).max(60)}),v({messages:_(y()).max(200)}).strict(),v({until:s().int().min(0).max(1e4)}).strict(),v({name:b().trim().min(1,`Name is required`).max(40,`Name cannot be more than 40 characters`),modelId:b().trim().max(64).default(``),disabledGroups:_(b().max(100)).max(50).default([]),instructions:b().max(2e3,`Instructions cannot be more than 2000 characters`).default(``)}).strict().partial().strict(),v({profileId:b().min(1).max(128)}),v({user:b().trim().min(1).max(100).optional()});var ut=u([`push`,`thread`,`both`]);v({title:b().trim().min(1,`Title is required`).max(80,`Title cannot be more than 80 characters`),prompt:b().trim().min(1,`Prompt is required`).max(2e3,`Prompt cannot be more than 2000 characters`),cron:b().trim().min(9,`Cron expression is required`).max(100),profileId:b().trim().max(64).nullable().optional(),timezone:b().trim().max(64).optional(),language:b().trim().min(2).max(10).optional(),deliver:ut.default(`push`),enabled:d().default(!0)}).strict().partial().strict(),v({scheduleId:b().min(1).max(128)});var dt=[`account`,`appearance`,`assistant`,`backup`,`mqtt`,`notifications`,`permissions`,`recordings`,`remote`,`system`,`users`],B={home:{path:`/home`,description:`Start page with the camera overview`},cameras:{path:`/cameras`,description:`Camera list, add and manage cameras`},sensors:{path:`/sensors`,description:`Sensors and accessories`},camview:{path:`/camview`,description:`Several cameras at once`},recordings:{path:`/recordings`,description:`Recordings, events and episodes`},floorplan:{path:`/floorplan`,description:`Floor plan with cameras and sensors`},faces:{path:`/faces`,description:`Known faces`},training:{path:`/training`,description:`Model training contributions`},plugins:{path:`/plugins`,description:`Installed plugins and the plugin store`},automations:{path:`/automations`,description:`Automations editor`},metrics:{path:`/metrics`,description:`System metrics`},updates:{path:`/updates`,description:`Updates for server, plugins and apps`},logs:{path:`/logs`,description:`Server log`},workers:{path:`/workers`,description:`Remote analysis workers`},instances:{path:`/instances`,description:`Other camera.ui servers`},assistant:{path:`/assistant`,description:`This assistant`}},ft=[{name:`open_page`,description:`Open a page of the app for the user. Only when the user asks to open, show or go to it.`,inputSchema:{type:`object`,properties:{page:{type:`string`,enum:Object.keys(B),description:Object.entries(B).map(([e,t])=>`${e}: ${t.description}`).join(`; `)}},required:[`page`]}},{name:`ui_actions`,description:`List what the page the user is looking at can do right now (for example jump the timeline of the open camera). Call it first when the user asks to do something on the current page, then call ui_action.`,inputSchema:{type:`object`,properties:{}}},{name:`ui_action`,description:`Run one of the actions ui_actions listed, with the arguments it describes.`,inputSchema:{type:`object`,properties:{name:{type:`string`,description:`Action name from ui_actions`},args:{type:`object`,description:`Arguments as described by ui_actions`}},required:[`name`]}},{name:`open_camera`,description:`Open the live view of a camera in the app for the user. Use the camera name from the camera list.`,inputSchema:{type:`object`,properties:{camera:{type:`string`,description:`Camera name`}},required:[`camera`]}},{name:`open_recording`,description:`Open the recording of a camera at a point in time in the app, for example the moment of an event. Time as ISO 8601 with offset.`,inputSchema:{type:`object`,properties:{camera:{type:`string`,description:`Camera name`},time:{type:`string`,description:`ISO 8601 timestamp`}},required:[`camera`,`time`]}},{name:`open_camview`,description:`Open the Camview page that shows several cameras at once.`,inputSchema:{type:`object`,properties:{}}},{name:`open_settings`,description:`Open a settings page in the app. Only when the user explicitly asks to open or go to it, not for questions about how a setting works.`,inputSchema:{type:`object`,properties:{page:{type:`string`,enum:[...dt],description:`Settings page`}},required:[`page`]}}],pt=i({id:`ask-user`,payloadSchema:v({toolCallId:b(),question:b(),kind:u([`choice`,`camera`,`time_range`,`text`]),options:_(b()).optional()}),responseSchema:v({answer:b()})});v({tempToken:b().trim().min(1,`Temporary token is required`),code:b().trim().min(1,`Code is required`)}).strict(),v({code:b().trim().length(6,`Code must be 6 digits`)}).strict(),v({code:b().trim().min(1,`Code is required`)}).strict(),v({code:b().trim().min(1,`Code is required`)}).strict(),v({grant_type:b().optional(),username:b().trim().min(1,`Username is required`),password:b().min(1,`Password is required`),scope:b().optional(),client_id:b().optional(),client_secret:b().optional()}),v({refresh_token:b().min(1,`Refresh token is required`)}),v({id:b()}),v({name:b().trim().min(1,`Name is required`).max(64,`Name is too long`)}).strict(),v({id:b()});var mt=v({id:b().trim().min(1),name:b().trim().min(1,`Level name is required`).max(64),order:s().int().min(0).default(0)}),ht=v({id:b().trim().min(1),roomId:b().trim().min(1),name:b().trim().min(1,`Room name is required`).max(64),levelId:b().trim().min(1),outdoor:d().default(!1),publicSpace:d().default(!1),note:b().trim().max(240).default(``),x:s(),y:s(),width:s().min(1),height:s().min(1)}),gt=v({id:b().trim().min(1),fromRoomId:b().trim().min(1),toRoomId:b().trim().min(1),fromShapeId:b().trim().min(1).nullable().default(null),toShapeId:b().trim().min(1).nullable().default(null),offset:s().nullable().default(null),width:s().min(10).max(2e3).default(90),note:b().trim().max(240).default(``),type:u([`door`,`opening`,`stairs`]).default(`door`)}),_t=v({cameraId:b().trim().min(1),roomId:b().trim().min(1),note:b().trim().max(240).default(``),x:s(),y:s(),rotation:s(),fov:s().min(1).max(360),range:s().min(1)}),vt=v({sensorId:b().trim().min(1),sensorType:b().trim().min(1),roomId:b().trim().min(1),connectionId:b().trim().min(1).nullable().default(null),note:b().trim().max(240).default(``),x:s(),y:s()});v({catalogVersion:s().int().min(0),north:s().nullable().default(null),levels:mt.array().max(20),rooms:ht.array().max(200),connections:gt.array().max(500),cameras:_t.array().max(500),sensors:vt.array().max(500)}).strict(),v({name:b().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`),url:o(`Must be a valid URL`).trim(),credentials:v({username:b().trim().min(1,`Username is required`),password:b().min(1,`Password is required`)})}),v({name:b().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional(),url:o(`Must be a valid URL`).trim().optional(),credentials:v({username:b().trim().min(1,`Username is required`),password:b().min(1,`Password is required`)}).nullable().optional()}),v({id:b().min(1,`ID is required`)}),v({code:b().trim().min(1,`Code is required`).optional()}).optional(),v({ids:_(b().min(1)).min(1).max(1e3)});var yt=/^[\w-]+(\/[\w-]+)*$/,bt=v({enabled:d().optional(),mode:u([`external`,`embedded`]).optional(),broker:v({port:s().int().min(1).max(65535).optional(),username:b().trim().max(200,`Username cannot be more than 200 characters`).nullable().optional(),password:b().max(500,`Password cannot be more than 500 characters`).nullable().optional()}).strict().optional(),host:b().trim().min(1,`Host is required`).max(253,`Host cannot be more than 253 characters`).nullable().optional(),port:s().int().min(1).max(65535).optional(),protocol:u([`mqtt`,`mqtts`]).optional(),username:b().trim().max(200,`Username cannot be more than 200 characters`).nullable().optional(),password:b().max(500,`Password cannot be more than 500 characters`).nullable().optional(),clientId:b().trim().min(1,`Client ID is required`).max(128,`Client ID cannot be more than 128 characters`).optional(),topicPrefix:b().trim().min(1,`Topic prefix is required`).max(128,`Topic prefix cannot be more than 128 characters`).regex(yt,`Topic prefix may only contain letters, numbers, "_", "-" and "/" separators`).optional(),tls:v({rejectUnauthorized:d().optional(),ca:b().trim().nullable().optional(),cert:b().trim().nullable().optional(),key:b().trim().nullable().optional()}).strict().optional(),haDiscovery:v({enabled:d().optional(),prefix:b().trim().min(1,`Discovery prefix is required`).max(128,`Discovery prefix cannot be more than 128 characters`).regex(yt,`Discovery prefix may only contain letters, numbers, "_", "-" and "/" separators`).optional()}).strict().optional()}).strict(),xt=/^((@[\w-.]*)\/)?(camera-ui-[\w-]*)$/,St=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}({}),Ct=v({start:h().optional(),page:h().optional(),pageSize:h().optional()}),wt=[`image/jpeg`,`image/png`],Tt=2097152,Et=[`video/mp4`,`video/quicktime`],Dt=10485760,Ot=[`audio/mpeg`,`audio/wav`,`audio/ogg`],kt=2097152,V=()=>x(Tt,wt,`Max file size is 2 MB`,`.jpeg and .png files are accepted`),H=f().transform(e=>JSON.parse(e.value)),U=f().transform(e=>JSON.parse(e.value)),At=f().transform(e=>JSON.parse(e.value)),jt=v({pluginname:b().trim().refine(e=>xt.test(e),`Not a valid plugin name`),pluginversion:b().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();v({actionId:b(),payload:m()}).strict(),l(m(),m()),v({upload:V(),metadata:U,config:H}),v({upload:x(kt,Ot,`Max file size is 2 MB`,`.mp3, .wav and .ogg files are accepted`),metadata:At,config:H}),v({upload:x(Dt,Et,`Max file size is 5 MB`,`.mp4 files are accepted`),config:H}),v({upload:V(),metadata:U,config:H}),v({upload:V(),metadata:U,config:H}),v({upload:V(),metadata:U,config:H}),v({pluginname:b()}),v({scope:b(),pluginname:b()}),Ct.extend({pluginname:b().trim().optional(),refresh:c().optional()}),v({removeStorage:c().optional()}),v({pluginversion:b().trim().optional()}),v({pluginNames:_(b().trim().min(1)).min(1).max(1e3)}),v({plugins:_(jt).min(1).max(1e3)});var Mt=v({enabled:d().optional(),directEnabled:d().optional(),directMode:u([`cloudflare`,`customDomain`]).optional(),customDomain:v({url:o(`Must be a valid URL`).trim().nullable()}).strict().optional(),cloudflare:v({mode:u([`quick`,`token`,`managed`]).optional(),hostname:b().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).nullable().optional(),token:b().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`]});v({mode:u([`cloudflare`,`customDomain`])}).strict(),v({hostname:b().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(),v({name:b().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),v({name:b().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),v({name:b().trim().min(1,`Server name is required`).max(100,`Server name cannot be more than 100 characters`)}).strict(),v({name:b().trim().min(1,`Room name is required`).max(64),levelId:b().trim().min(1).nullable().default(null),outdoor:d().default(!1),publicSpace:d().default(!1),note:b().trim().max(240).default(``)}).strict(),v({roomid:b().trim().min(1)});var Nt={securitySystem:`security_system`};function Pt(e){return Nt[e]??e}function Ft(){let e={};for(let n of t)e[n.type]={category:n.category,assignmentKey:n.assignmentKey,multiProvider:n.multiProvider,isDetectionType:n.isDetectionType,cameraBound:n.cameraBound??!1,...n.cascadeTrigger?{cascadeTrigger:{...n.cascadeTrigger,triggerType:Pt(n.assignmentKey)}}:{}};return e}var W=Ft();Object.fromEntries(t.filter(e=>e.propertyCapabilities).map(e=>[e.type,e.propertyCapabilities]));function It(){return Object.entries(W).filter(([,e])=>e.multiProvider).map(([e])=>e)}function Lt(){return t.filter(e=>e.shortcutable).map(e=>e.type)}function Rt(){return Object.entries(W).filter(([,e])=>e.isDetectionType).map(([e])=>e)}function zt(e){return W[e].assignmentKey}function Bt(){return Object.entries(W).filter(([,e])=>e.category===r.Sensor&&!e.multiProvider).map(([e])=>e)}function Vt(){return Object.entries(W).filter(([,e])=>!e.multiProvider&&e.category!==r.Sensor).map(([e])=>e)}function Ht(){return Object.entries(W).filter(([,e])=>e.multiProvider).map(([e])=>e)}function Ut(e){return!W[e].multiProvider}Object.fromEntries(t.map(e=>[e.type,Object.keys(e.properties)]));var G=Object.fromEntries(t.map(e=>[e.type,e.properties]));function Wt(e,t){return G[e]?.[t]}function Gt(e){let t=G[e];return t?Object.entries(t).filter(([,e])=>!e.internal).map(([e])=>e):[]}function Kt(e){let t=G[e];return t?Object.entries(t).filter(([,e])=>e.writable).map(([e])=>e):[]}function qt(e,t){let n=W[e];return n?n.category===r.Control||n.category===r.Trigger||t===`cameraui.virtual`&&!n.isDetectionType:!1}new Set(It());var Jt=new Set(Rt()),Yt=`cameraui.virtual`,Xt=t.filter(e=>e.virtual).map(e=>e.type);Object.fromEntries(t.filter(e=>e.virtual).map(e=>[e.type,e.virtual?.properties??{}])),Object.fromEntries(t.filter(e=>e.virtual?.capabilities).map(e=>[e.type,e.virtual?.capabilities])),v({id:b().min(1,`Sensor ID is required`)});var Zt=v({cameraId:b().min(1).optional(),type:u(Xt),name:b().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`)});v({displayName:b().trim().min(1,`Display name is required`).max(100,`Display name cannot be more than 100 characters`).optional(),assignedCameraIds:_(b().min(1)).optional(),exposed:d().optional()}).refine(e=>e.displayName!==void 0||e.assignedCameraIds!==void 0||e.exposed!==void 0,{message:`Nothing to update`}),v({property:b().trim().min(1,`Property is required`),value:y()}),v({ids:_(b()).min(1).max(1e4)}),v({version:b().trim().optional().default(`latest`)}).strict();var Qt=v({serverAddresses:a([ne().trim(),te().trim()]).array().default([]),localUrl:a([p(``),o({protocol:/^https?$/})]).default(``).transform(e=>e.replace(/\/+$/,``))}).strict();v({version:b().trim()}).strict(),l(b(),m()),v({key:b()}).strict(),v({key:b(),payload:m()}).strict();var $t=v({label:b().trim().min(1).max(64),confidence:s().min(0).max(1),x:s().min(0).max(1),y:s().min(0).max(1),width:s().min(0).max(1),height:s().min(0).max(1),text:b().trim().max(16).optional()}).strict();v({id:b().trim().min(1)}),v({id:b().trim().min(1)}),v({cursor:b().trim().min(1).optional()}),v({cameraId:b().trim().min(1).optional(),status:u([`new`,`verified`]).optional()}),v({boxes:$t.array().max(128).optional(),status:u([`new`,`verified`]).optional()}).strict(),v({ids:b().trim().min(1).array().min(1).max(200)}).strict(),v({enabled:d().optional(),perCameraLimit:s().min(1).max(5e3).optional(),minIntervalSeconds:s().min(0).max(3600).optional(),retentionDays:s().min(1).max(365).optional()}).strict(),v({cameraId:b().min(1,`Camera ID is required`),agentId:b().min(1,`Agent ID is required`)}),v({cameraId:b().min(1,`Camera ID is required`)}),v({agentId:b().min(1,`Agent ID is required`)}),v({version:b().min(1).optional()}).optional(),v({code:b().min(1,`Pairing code is required`),agentId:b().min(1,`Agent ID is required`),name:b().min(1,`Worker name is required`)}),v({pluginName:b().min(1,`Plugin name is required`),agentId:b().min(1,`Agent ID is required`)}),v({pluginName:b().min(1,`Plugin name is required`)}),v({name:b().trim().min(1,`Name is required`).max(64,`Maximum 64 characters`)}),v({enabled:d().optional(),address:b().trim().optional(),port:s().min(1024,`Minimum 1024`).max(65535,`Maximum 65535`).optional()}).strict();function K(e){return e.type===`string`&&!(`enum`in e)}function en(e){return e.type===`number`}function tn(e){return e.type===`boolean`}function q(e){return e.type===`string`&&`enum`in e}function nn(e){return e.type===`array`}function rn(e){return e.type===`object`}function J(e){return e.type===`button`}function Y(e){return e.type===`submit`}function an(e){return K(e)&&(!e.format||e.format!==`qrCode`&&e.format!==`image`)}var on=(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=>on(e,t)):on(e,t)}function sn(e,t){if(!e||Object.keys(e).length===0)return!0;let r=t.filter(e=>!J(e)&&!Y(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 q(e)?e.multiple?[]:e.required?e.enum[0]:``:``;case`number`:return 0;case`boolean`:return!1;case`array`:return[];case`object`:{let t={};for(let n of e.properties??[])J(n)||Y(n)||(t[n.key]=Z(n));return t}default:return}}function cn(e){let t={};for(let n of e)J(n)||Y(n)||(t[n.key]=Z(n));return t}function ln(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 un(e){return!isNaN(Number(e))}function Q(e={},t){if(!t.includes(`.`)&&!t.includes(`[`))return e[t];let n=e;for(let e of ln(t)){if(n==null)return;n=n[e]}return n}function dn(e,t,n){if(!t.includes(`.`)&&!t.includes(`[`)){e[t]=n;return}let r=ln(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]=un(r[e+1]??i)?[]:{}),a=a[t]}a[i]=n}function fn(e,t){let n={};for(let r of e)if(`store`in r&&r.store&&!J(r)&&!Y(r)){let e=Q(t,r.key);e!==void 0&&(n[r.key]=e)}return n}function pn(e,t){return t?e.filter(e=>`group`in e&&e.group===t):e}function mn(e,t){let n=pn(e,t);return n.length>0&&n.every(e=>`readonly`in e&&e.readonly)}function hn(e,t){let n=pn(e,t);return n.length>0&&n.some(e=>`store`in e&&e.store)}function gn(e,t){if(!t)return!0;let n={"date-time":e=>/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})?$/.test(e),date:e=>/^\d{4}-\d{2}-\d{2}$/.test(e),time:e=>/^([01]?[0-9]|2[0-3]):([0-5][0-9])(:([0-5][0-9]))?$/.test(e),email:e=>/^\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,7}\b$/.test(e),uuid:e=>/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(e),ipv4:e=>/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(e),ipv6:e=>/^\s*([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4})\s*$/.test(e)};return t in n?n[t](e):!0}function $(e){if(J(e)||Y(e))return m();switch(e.type){case`string`:if(q(e)){if(e.multiple){let t=_(b().trim().refine(t=>e.enum.includes(t),{error:`Invalid selection`}));return e.minItems===void 0?e.required&&(t=t.min(1,{error:`Required`})):t=t.min(e.minItems,{error:`Select at least ${e.minItems}`}),e.required?t:t.optional()}{let t=u(e.enum);return e.required?t:a([p(``),t]).optional()}}let t=b().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()===``||gn(t,e.format),{message:`Invalid ${e.format} format`})),e.required?t:t.optional();case`number`:let n=s();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?d():d().optional();case`array`:{let t=e.items?$(e.items):m(),n=_(t);return e.minItems!==void 0&&(n=n.min(e.minItems,{error:`At least ${e.minItems} entries required`})),e.required?n:n.optional()}case`object`:{let t={};for(let n of e.properties??[])J(n)||Y(n)||(t[n.key]=$(n));let n=v(t);return e.required?n:n.optional()}default:return e.required?m():m().optional()}}var _n=(e,t,n)=>t.filter(e=>`group`in e&&e.group===n).some(t=>{let n=e[t.key];return n!=null&&n!==``});function vn(e){let t={},n=new Set;e.forEach(e=>{`group`in e&&e.group&&n.add(e.group)}),e.forEach(e=>{if(!J(e)&&!Y(e)){let n=`group`in e&&e.group,r=`condition`in e&&e.condition;(n||r)&&e.required?t[e.key]=$({...e,required:!1}):t[e.key]=$(e)}});let r=v(t),i=e.filter(e=>`condition`in e&&e.condition&&`required`in e&&e.required&&!J(e)&&!Y(e));return(n.size>0||i.length>0)&&(r=r.superRefine((t,r)=>{for(let i of n)if(_n(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:`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:`custom`,message:`Required`,path:[e.key]})}})),r}export{Ue as $,Gt as A,kt as B,W as C,zt as D,Ht as E,qt as F,ft as G,St as H,Mt as I,Re as J,B as K,Ot as L,Lt as M,Kt as N,Vt as O,Ut as P,ot as Q,Et as R,Jt as S,Xt as T,bt as U,Dt as V,pt as W,at as X,Ie as Y,z as Z,mn as _,vn as a,ve as at,Qt as b,tn as c,q as d,O as et,en as f,an as g,Y as h,fn as i,D as it,Wt as j,Bt as k,J as l,K as m,cn as n,Ne as nt,Q as o,Pe as ot,rn as p,Fe as q,Z as r,C as rt,nn as s,A as st,X as t,R as tt,sn as u,hn as v,Yt as w,Zt as x,dn as y,wt as z};
|
|
1
|
+
import{Gr as e,Kr as t,Wr as n,qr as r}from"./vendor-cameraui-CK4yHsJi.js";import{Vt as i}from"./vendor-gFkr2qsZ.js";import{C as a,S as ee,T as o,_ as s,a as c,b as l,c as u,d,f,g as p,h as te,l as m,m as ne,o as h,p as re,s as g,u as _,v,w as y,x as b,y as ie}from"./vendor-zod-CBbC1rE7.js";function ae(e){return e.mimetype!==void 0}function oe(e){return ae(e)?Buffer.byteLength(e._buf):e.size}function se(e){return ae(e)?e.mimetype:e.type}function x(e,t,n,r){return f().refine(t=>oe(t)<=e,n).refine(e=>t.includes(se(e)),r)}function ce(e){return{privacyFallback:e?.privacyFallback??`send`,motion:e?.motion??[],object:e?.object??[],privacy:e?.privacy??[],alert:e?.alert??[],lines:e?.lines??[]}}function le(e){let t=[`kasa://`,`nest:`,`ring:`,`tapo://`];return e.some(e=>t.some(t=>e.startsWith(t)))}var ue=v({enabled:d().default(!0),mode:u([`continuous`,`event`,`adhoc`]).default(`continuous`),preBuffer:s().min(0).max(60).default(10),sources:_(u([`high`,`mid`,`low`])).default([`high`,`mid`,`low`])}).strict(),de={enabled:!0,mode:`continuous`,preBuffer:10,sources:[`high`,`mid`,`low`]},fe=v({enabled:d().default(!0),video:d().default(!1),audio:b().trim().min(1).array().default([]),sensors:b().trim().min(1).array().default([]),cooldown:s().min(0).max(600).default(30),speed:u([`immediate`,`balanced`,`best`]).default(`balanced`)}).strict(),pe={enabled:!0,video:!1,audio:[`glass_break`,`scream`,`gunshot`,`alarm`,`siren`,`smoke_alarm`],sensors:[`doorbell`,`contact`,`siren`,`security_system`,`smoke`,`gas`,`carbonMonoxide`,`heat`,`leak`,`cold`,`vibration`,`tamper`,`problem`],cooldown:30,speed:`balanced`},me=b().trim().min(1,`Detection label is required`),he=b().trim().min(1,`Zone label is required`),S=ee([s(),s()]),ge=b().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`),_e=v({name:b().trim().min(1,`Zone Name is required`),points:S.array().min(3,`At least 3 points are required`),color:ge}).array(),ve=v({name:b().trim().min(1,`Zone Name is required`),points:S.array().min(3,`At least 3 points are required`),type:a([p(`intersect`),p(`contain`)]).default(`intersect`),labels:he.array(),color:ge}).array(),ye=v({name:b().trim().min(1,`Zone Name is required`),points:S.array().min(3,`At least 3 points are required`),dropDetections:d().default(!0)}).array(),be=v({name:b().trim().min(1,`Zone Name is required`),points:S.array().min(3,`At least 3 points are required`),labels:me.array(),faces:b().trim().min(1).array().optional(),plates:b().trim().min(1).array().optional(),match:a([p(`anchor`),p(`intersect`),p(`contain`)]).default(`contain`),color:b().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),C=v({name:b().trim().min(1,`Line Name is required`),points:ee([S,S]),direction:a([p(`both`),p(`a-to-b`),p(`b-to-a`)]),labels:me.array(),color:b().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),w=v({privacyFallback:a([p(`send`),p(`drop`)]).default(`send`),motion:_e.default([]),object:ve.default([]),privacy:ye.default([]),alert:be.default([]),lines:C.default([])}).strict(),T=v({motion:v({resolution:a([p(`low`),p(`medium`),p(`high`)]),timeout:s().min(10,`Minimum 10 seconds`)}),object:v({confidences:v({person:s().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),vehicle:s().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),animal:s().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5)}).default({person:.5,vehicle:.5,animal:.5}),suppressStatic:d().default(!0),timeout:s().min(10,`Minimum 10 seconds`).default(15)}),audio:v({minDecibels:s().min(-100,`Minimum -100 dBFS`).max(0,`Maximum 0 dBFS`),timeout:s().min(10,`Minimum 10 seconds`),confidence:s().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.7)}),face:v({confidence:s().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.5),matchSensitivity:u([`strict`,`balanced`,`relaxed`]).default(`balanced`)}).default({confidence:.5,matchSensitivity:`balanced`}),licensePlate:v({confidence:s().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.3),ocrConfidence:s().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.9),minLength:s().int().min(1,`Minimum 1`).max(10,`Maximum 10`).default(4)}).default({confidence:.3,ocrConfidence:.9,minLength:4}),sensor:v({timeout:s().min(10,`Minimum 10 seconds`),triggers:_(b().trim().min(1,`Sensor id is required`)).default([])}),cascadeDetection:d().default(!0),cascadeTimeout:s().min(1,`Minimum 1 second`).max(300,`Maximum 300 seconds`).default(10),snooze:d().default(!1)}),xe=v({from:b().regex(/^\d{1,2}:\d{2}$/,`Use HH:mm`),to:b().regex(/^\d{1,2}:\d{2}$/,`Use HH:mm`),timezone:b().trim().min(1,`Timezone is required`)}),Se={enabled:!1,targetLabels:[`person`],minConfidence:.5,triggerDeadZone:.05,trackingSpeed:2,leadMs:1800,panRate:.85,returnToHome:!1,homeWaitMs:1e4,minTargetSize:0,maxTargetSize:0},E=v({enabled:d().default(!1),targetLabels:b().trim().min(1,`Target label is required`).array().default([`person`]),minConfidence:s().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),triggerDeadZone:s().min(0,`Minimum 0`).max(.3,`Maximum 0.3`).default(.05),trackingSpeed:s().min(1,`Minimum 1`).max(5,`Maximum 5`).default(2),leadMs:s().min(0,`Minimum 0`).max(4e3,`Maximum 4000 ms`).default(1800),panRate:s().min(.1,`Minimum 0.1`).max(3,`Maximum 3`).default(.85),returnToHome:d().default(!1),homeWaitMs:s().min(1e3,`Minimum 1000 ms`).max(6e4,`Maximum 60000 ms`).default(1e4),minTargetSize:s().min(0,`Minimum 0`).max(.5,`Maximum 0.5`).default(0),maxTargetSize:s().min(0,`Minimum 0`).max(1,`Maximum 1`).default(0),activeHours:xe.optional()}),D=a([p(`high-resolution`),p(`mid-resolution`),p(`low-resolution`),p(`snapshot`)]),Ce=a([p(`high-resolution`),p(`mid-resolution`),p(`low-resolution`)]),O=a([p(`bubble://`),p(`cui://`),p(`doorbird://`),p(`dvrip://`),p(`eseecloud://`),p(`ffmpeg:`),p(`flussonic://`),p(`gopro://`),p(`hass:`),p(`homekit://`),p(`http://`),p(`https://`),p(`httpx://`),p(`isapi://`),p(`ivideon:`),p(`kasa://`),p(`nest:`),p(`onvif://`),p(`ring:`),p(`roborock://`),p(`rtmp://`),p(`rtsp://`),p(`rtspx://`),p(`tapo://`),p(`tcp://`),p(`tuya://`),p(`xiaomi://`),p(`yandex:`),p(`webrtc:`),p(`webtorrent:`),p(`wyze://`)]).options.map(e=>e.value),we=RegExp(`^(${O.join(`|`)})`),k=b().refine(e=>{if(!we.test(e))return!1;try{return new URL(e),!0}catch{return!1}},{message:`Invalid URL format or unsupported protocol`});function A(e,t){let n=new Set;e.forEach((e,r)=>{let i=e.name.replace(/ /g,`_`).toLowerCase();n.has(i)&&t.addIssue({code:`custom`,message:`Source name is already used by another source`,path:[r,`name`]}),n.add(i)})}var Te=v({_id:b().default(e()).transform(()=>e()),name:b().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:D,useForSnapshot:d().default(!1),hotMode:d().default(!0),preload:d().default(!0),muted:d().default(!1),backchannelDisabled:d().default(!1),timeout:s().int().min(5).max(120).optional(),handshakeTimeout:s().int().min(1).max(60).optional(),urls:k.array().min(1,`At least one valid URL is required`),childSourceId:b().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),Ee=v({_id:b().default(e()).transform(()=>e()),name:b().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:D,useForSnapshot:d().default(!1),hotMode:d().default(!0),preload:d().default(!0),muted:d().default(!1),backchannelDisabled:d().default(!1),timeout:s().int().min(5).max(120).optional(),handshakeTimeout:s().int().min(1).max(60).optional(),urls:k.array().min(1,`At least one valid URL is required`),childSourceId:b().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),j=v({id:b(),name:b().trim()}),M=v({motion:j.optional(),object:j.optional(),objectAssist:j.optional(),audio:j.optional(),face:j.optional(),licensePlate:j.optional(),ptz:j.optional(),battery:j.optional(),cameraController:j.optional(),clip:j.optional(),faceEmbedder:j.optional(),classifier:j.array().optional(),light:j.array().optional(),siren:j.array().optional(),switch:j.array().optional(),securitySystem:j.array().optional(),contact:j.array().optional(),doorbell:j.array().optional(),lock:j.array().optional(),temperature:j.array().optional(),humidity:j.array().optional(),occupancy:j.array().optional(),smoke:j.array().optional(),leak:j.array().optional(),garage:j.array().optional(),gas:j.array().optional(),carbonMonoxide:j.array().optional(),carbonDioxide:j.array().optional(),heat:j.array().optional(),cold:j.array().optional(),vibration:j.array().optional(),tamper:j.array().optional(),problem:j.array().optional(),power:j.array().optional(),illuminance:j.array().optional(),hub:j.array().optional()}).strict(),De=a([p(`auto`),p(`mse`),p(`webrtc`),p(`webrtc/tcp`)]),Oe=b().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),N=v({hardware:u([`auto`,`cpu`,`cuda`,`vaapi`,`qsv`,`videotoolbox`,`d3d11va`,`d3d12va`,`dxva2`,`vulkan`,`opencl`,`drm`,`rkmpp`]).default(`auto`),device:b().trim().max(128).optional()}).strict(),P=v({mainStreamAnalysis:d().default(!1),decoder:N.optional(),workerDecoder:N.nullable().transform(e=>e??void 0).optional()}),F=a([p(`camera`),p(`doorbell`)]),ke=a([p(`auto`),p(`high`),p(`mid`),p(`low`)]),Ae=a([p(`always-on`),p(`activity`),p(`standby`)]),I=v({streamingMode:De,streamingSource:Ce,playbackSource:ke.default(`auto`),activityMode:Ae.default(`always-on`),aspectRatio:Oe}),L=v({model:b().trim().optional(),manufacturer:b().trim().optional(),hardware:b().trim().optional(),serialNumber:b().trim().optional(),firmwareVersion:b().trim().optional(),supportUrl:b().trim().optional()}),je=v({id:b(),name:b().trim()}).strict(),Me=v({mode:u([`interval`,`onView`,`onDemand`]).default(`interval`),interval:s().min(10,`Minimum 10 seconds`).max(3600,`Maximum 1 hour`).default(60),maxAge:s().min(10,`Minimum 10 seconds`).max(3600,`Maximum 1 hour`).default(60)}).strict(),R=v({_id:b().default(e()).transform(()=>e()),nativeId:b().trim().optional(),pluginInfo:je.optional(),disabled:d().default(!1),name:b().trim().min(1,`Camera name is required`),room:b().trim().min(1,`Room is required`).default(`Default`),roomId:b().trim().min(1).nullable().default(null),type:F.default(`camera`),isCloud:d().default(!1),snapshotSettings:Me.default({mode:`interval`,interval:60,maxAge:60}),info:L.default({model:`IP Camera`,manufacturer:`camera.ui`,hardware:`Camera`,serialNumber:`Unknown`,firmwareVersion:`Unknown`,supportUrl:`Unknown`}),sources:Te.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`]}).superRefine(A),plugins:j.array().default([]),assignments:M.default({}),interfaceSettings:I.default({streamingMode:`auto`,streamingSource:`high-resolution`,playbackSource:`auto`,activityMode:`always-on`,aspectRatio:`16:9`}),zones:w.default(ce()),detectionSettings:T.default({motion:{resolution:`low`,timeout:30},object:{confidences:{person:.5,vehicle:.5,animal:.5},suppressStatic:!0,timeout:15},audio:{minDecibels:-40,timeout:30,confidence:.7},face:{confidence:.5,matchSensitivity:`balanced`},licensePlate:{confidence:.3,ocrConfidence:.9,minLength:4},sensor:{timeout:30,triggers:[]},cascadeDetection:!0,cascadeTimeout:10,snooze:!1}),ptzAutotrack:E.default(Se),recordingSettings:ue.default(de),notificationSettings:fe.default(pe),frameWorkerSettings:P.default({mainStreamAnalysis:!1})}).strict();function Ne(){let{_id:e,name:t,sources:n,nativeId:r,pluginInfo:i,...a}=R.parse({name:`default`,sources:[{name:`default`,role:`high-resolution`,urls:[`rtsp://localhost`]}]});return a}R.transform(e=>{let t=e.sources.flatMap(e=>e.urls);return e.isCloud||le(t)?{...e,isCloud:!0}:{...e}});var Pe=v({disabled:d().optional(),type:F.optional(),name:b().trim().min(1,`Camera name is required`).optional(),room:b().trim().min(1,`Room is required`).optional(),roomId:b().trim().min(1).nullable().optional(),isCloud:d().optional(),snapshotSettings:Me.partial().optional(),info:L.partial().optional(),sources:Ee.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`]}).superRefine(A).optional(),plugins:j.array().optional(),assignments:M.partial().optional(),interfaceSettings:I.partial().optional(),zones:w.optional(),detectionSettings:T.partial().optional(),ptzAutotrack:E.partial().optional(),recordingSettings:ue.partial().optional(),notificationSettings:fe.partial().optional(),frameWorkerSettings:P.partial().optional()}).strict().transform(e=>{if(e.sources){let t=e.sources.flatMap(e=>e.urls);if(e.isCloud===!0||le(t))return{...e,isCloud:!0}}return e});v({url:b().trim().refine(e=>!/^\s*(exec|echo|expr):/i.test(e),`Command-execution stream sources are not allowed`)}).strict(),v({cameraname:b()}),v({cameraname:b(),sourcename:b()}),v({cameraid:b(),sourcename:b()}),v({cameraname:b(),pluginname:b()}),v({cameraname:b(),scope:b(),pluginname:b()}),v({cameraname:b(),pluginname:b(),sensorId:b()}),v({cameraname:b(),scope:b(),pluginname:b(),sensorId:b()}),v({type:b().optional()}),v({video:c().optional(),audio:c().optional(),microphone:c().optional(),refresh:c().optional()}),v({forceNew:c().optional()}),v({cameranames:_(b().min(1)).min(1).max(1e3),cameraData:v({disabled:d().optional(),detectionSettings:v({snooze:d()}).optional(),recordingSettings:v({enabled:d()}).optional()}).refine(e=>e.disabled!==void 0||e.detectionSettings!==void 0||e.recordingSettings!==void 0,{message:`Nothing to update`})}),v({cameranames:_(b().min(1)).min(1).max(1e3)});var Fe=`ar.bg.bn.ca.cs.da.de.el.en.es.et.fa.fi.fr.he.hi.hr.hu.id.it.ja.ko.lt.lv.ms.nb.nl.pl.pt.ro.ru.sk.sl.sr.sv.th.tr.uk.ur.vi.zh`.split(`.`),Ie=[`de`,`en`],Le=[`image/jpeg`,`image/jpg`,`image/png`],Re=5242880,ze=v({index:s(),cameraId:b(),colSpan:s().optional(),rowSpan:s().optional(),x:s().optional(),y:s().optional()}),Be=a([p(1),p(4),p(6),p(7),p(9),p(10),p(12),p(13),p(15),p(16),p(20),p(26)]),Ve=a([p(`dnd`),p(`view`)]),He=u([`aspect`,`contain`,`fill`,`cover`]),Ue=v({_id:b().default(e()).transform(()=>e()),name:b().trim().min(1,`Layout name is required`),viewSize:Be,cameras:ze.array(),type:Ve,cardFit:He.optional()});v({name:b().trim().min(1,`Layout name is required`),viewSize:Be,cameras:ze.array(),cardFit:He}).partial().optional();var We=v({views:Ue.array()}),Ge=t.filter(e=>e.shortcutable).map(e=>String(e.type)),Ke=u(Ge),qe=v({_id:b().default(e()).transform(()=>e()),type:p(`camera`),cameraId:b(),points:S}),Je=v({_id:b().default(e()).transform(()=>e()),type:p(`sensor`),sensorId:b(),sensorType:Ke,points:S}),Ye=re(`type`,[qe,Je]),Xe=v({type:p(`camera`),cameraId:b(),points:S}).partial(),Ze=v({type:p(`sensor`),sensorId:b(),sensorType:Ke,points:S}).partial();a([Xe,Ze]).optional();var Qe=v({shortcuts:Ye.array(),hiddenEventTypes:b().array().optional()});l(b().trim().min(1),b().trim().min(1).max(64).array().max(64));var $e=u([`auto`,...Ie]),et=v({ungrouped:d()}),tt=v({main:b().array(),manage:b().array(),system:b().array(),settings:b().array()}).partial(),nt=v({main:d(),manage:d(),system:d(),settings:d()}).partial(),rt=v({order:tt.optional(),collapsible:nt.optional(),settingsInNav:d().optional(),hidden:b().array().optional()}),it=v({language:$e.optional(),camview:We,cameras:l(b().trim(),Qe),recordings:et.optional(),navLayout:rt.nullable().optional()}),z=b().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`),at=v({_id:b().default(e()).transform(()=>e()),username:b().trim().min(1,`Username is required`),password:z,passwordConfirm:b().trim().min(1,`Please confirm your password`),role:a([p(`admin`),p(`user`)]),firstLogin:d().default(!0),preferences:it.default({language:`auto`,camview:{views:[]},cameras:{}})}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});v({username:b().trim().min(1,`Username is required`),password:b().trim().min(1,`Password is required`),kind:u([`native`,`web`,`tv`]),persistent:d().default(!1),device:v({id:b().min(1,`Device id is required`).max(128,`Device id cannot be more than 128 characters`),name:b().trim().min(1,`Device name is required`).max(100,`Device name cannot be more than 100 characters`)})}).strict();var ot=v({username:b().trim().min(1,`Username is required`).optional(),password:z.optional(),passwordConfirm:b().trim().optional(),role:a([p(`admin`),p(`user`)]).optional(),upload:ie(x(Re,Le,`Max file size is 5MB.`,`.jpg, .jpeg, .png files are accepted.`)),firstLogin:d().optional(),preferences:it.partial().optional()}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});v({username:b()}),v({username:b(),cameraname:b()}),v({username:b(),cameraname:b(),shortcutid:b()}),v({username:b(),viewid:b()}),v({username:b()});var st=u([`openai-compatible`,`ollama`,`openai`,`anthropic`,`gemini`,`openrouter`]),ct=a([st,b().regex(/^plugin:[a-zA-Z0-9@/._-]{1,200}$/)]),lt=v({id:b().trim().min(1).max(64).optional(),name:b().trim().max(40,`Name cannot be more than 40 characters`).optional(),provider:ct,baseURL:b().trim().max(500,`Base URL cannot be more than 500 characters`).nullable().optional(),apiKey:b().max(1e3,`API key cannot be more than 1000 characters`).nullable().optional(),copyKeyFrom:b().trim().min(1).max(64).optional(),model:b().trim().max(200,`Model cannot be more than 200 characters`),sendImages:d().optional(),userAccess:d().optional(),contextTokens:s().int().min(1e3).max(4e5).nullable().optional(),toolRouting:d().nullable().optional(),retest:d().optional()}).strict();v({enabled:d().optional(),models:_(lt).max(20,`At most 20 models`).optional(),defaultModelId:b().trim().min(1).max(64).nullable().optional(),plugins:_(v({pluginId:b().trim().min(1).max(200),modelId:b().trim().min(1).max(64)}).strict()).max(50).optional(),language:u(Fe).nullable().optional(),maxIterations:s().int().min(1).max(30).optional(),maxToolCalls:s().int().min(1).max(100).optional(),contextTokens:s().int().min(8e3).max(4e5).optional(),historyThreads:s().int().min(5).max(500).optional(),historyImages:s().int().min(0).max(200).optional(),terminalEnabled:d().optional(),reasoning:u([`default`,`off`,`low`,`high`]).optional(),systemPromptExtra:b().max(4e3,`Additional instructions cannot be more than 4000 characters`).optional(),mcpEnabled:d().optional(),mcpWrites:d().optional(),mcpServers:_(v({id:b().trim().min(1).max(64).optional(),name:b().trim().min(1,`Name is required`).max(40,`Name cannot be more than 40 characters`),url:o(`Enter a valid URL`).max(500),token:b().max(4e3).nullable().optional(),enabled:d().default(!0),insecure:d().default(!1),toolApproval:l(b().max(200),d()).optional()}).strict()).max(10,`At most 10 external servers`).optional(),memoryEnabled:d().optional()}).strict(),v({runId:g().min(1).max(128).optional(),offset:g().max(300).optional(),threadId:g().min(1).max(128).optional()}),v({runId:b().min(1).max(128)}),v({text:b().trim().min(1).max(500),language:b().max(10).optional(),timezone:b().max(64).optional()}),v({factId:b().min(1).max(128)}),v({threadId:b().min(1).max(128)}),v({title:b().trim().min(1).max(60)}),v({messages:_(y()).max(200)}).strict(),v({until:s().int().min(0).max(1e4)}).strict(),v({name:b().trim().min(1,`Name is required`).max(40,`Name cannot be more than 40 characters`),modelId:b().trim().max(64).default(``),disabledGroups:_(b().max(100)).max(50).default([]),instructions:b().max(2e3,`Instructions cannot be more than 2000 characters`).default(``)}).strict().partial().strict(),v({profileId:b().min(1).max(128)}),v({user:b().trim().min(1).max(100).optional()});var ut=u([`push`,`thread`,`both`]);v({title:b().trim().min(1,`Title is required`).max(80,`Title cannot be more than 80 characters`),prompt:b().trim().min(1,`Prompt is required`).max(2e3,`Prompt cannot be more than 2000 characters`),cron:b().trim().min(9,`Cron expression is required`).max(100),profileId:b().trim().max(64).nullable().optional(),modelId:b().trim().max(64).nullable().optional(),timezone:b().trim().max(64).optional(),language:b().trim().min(2).max(10).optional(),deliver:ut.default(`push`),enabled:d().default(!0)}).strict().partial().strict(),v({scheduleId:b().min(1).max(128)});var dt=[`account`,`appearance`,`assistant`,`backup`,`mqtt`,`notifications`,`permissions`,`recordings`,`remote`,`system`,`users`],B={home:{path:`/home`,description:`Start page with the camera overview`},cameras:{path:`/cameras`,description:`Camera list, add and manage cameras`},sensors:{path:`/sensors`,description:`Sensors and accessories`},camview:{path:`/camview`,description:`Several cameras at once`},recordings:{path:`/recordings`,description:`Recordings, events and episodes`},floorplan:{path:`/floorplan`,description:`Floor plan with cameras and sensors`},faces:{path:`/faces`,description:`Known faces`},training:{path:`/training`,description:`Model training contributions`},plugins:{path:`/plugins`,description:`Installed plugins and the plugin store`},automations:{path:`/automations`,description:`Automations editor`},metrics:{path:`/metrics`,description:`System metrics`},updates:{path:`/updates`,description:`Updates for server, plugins and apps`},logs:{path:`/logs`,description:`Server log`},workers:{path:`/workers`,description:`Remote analysis workers`},instances:{path:`/instances`,description:`Other camera.ui servers`},assistant:{path:`/assistant`,description:`This assistant`}},ft=[{name:`open_page`,description:`Open a page of the app for the user. Only when the user asks to open, show or go to it.`,inputSchema:{type:`object`,properties:{page:{type:`string`,enum:Object.keys(B),description:Object.entries(B).map(([e,t])=>`${e}: ${t.description}`).join(`; `)}},required:[`page`]}},{name:`ui_actions`,description:`List what the page the user is looking at can do right now (for example jump the timeline of the open camera). Call it first when the user asks to do something on the current page, then call ui_action.`,inputSchema:{type:`object`,properties:{}}},{name:`ui_action`,description:`Run one of the actions ui_actions listed, with the arguments it describes.`,inputSchema:{type:`object`,properties:{name:{type:`string`,description:`Action name from ui_actions`},args:{type:`object`,description:`Arguments as described by ui_actions`}},required:[`name`]}},{name:`open_camera`,description:`Open the live view of a camera in the app for the user. Use the camera name from the camera list.`,inputSchema:{type:`object`,properties:{camera:{type:`string`,description:`Camera name`}},required:[`camera`]}},{name:`open_recording`,description:`Open the recording of a camera at a point in time in the app, for example the moment of an event. Time as ISO 8601 with offset.`,inputSchema:{type:`object`,properties:{camera:{type:`string`,description:`Camera name`},time:{type:`string`,description:`ISO 8601 timestamp`}},required:[`camera`,`time`]}},{name:`open_camview`,description:`Open the Camview page that shows several cameras at once.`,inputSchema:{type:`object`,properties:{}}},{name:`open_settings`,description:`Open a settings page in the app. Only when the user explicitly asks to open or go to it, not for questions about how a setting works.`,inputSchema:{type:`object`,properties:{page:{type:`string`,enum:[...dt],description:`Settings page`}},required:[`page`]}}],pt=i({id:`ask-user`,payloadSchema:v({toolCallId:b(),question:b(),kind:u([`choice`,`camera`,`time_range`,`text`]),options:_(b()).optional()}),responseSchema:v({answer:b()})});v({tempToken:b().trim().min(1,`Temporary token is required`),code:b().trim().min(1,`Code is required`)}).strict(),v({code:b().trim().length(6,`Code must be 6 digits`)}).strict(),v({code:b().trim().min(1,`Code is required`)}).strict(),v({code:b().trim().min(1,`Code is required`)}).strict(),v({grant_type:b().optional(),username:b().trim().min(1,`Username is required`),password:b().min(1,`Password is required`),scope:b().optional(),client_id:b().optional(),client_secret:b().optional()}),v({refresh_token:b().min(1,`Refresh token is required`)}),v({id:b()}),v({name:b().trim().min(1,`Name is required`).max(64,`Name is too long`)}).strict(),v({id:b()});var mt=v({id:b().trim().min(1),name:b().trim().min(1,`Level name is required`).max(64),order:s().int().min(0).default(0)}),ht=v({id:b().trim().min(1),roomId:b().trim().min(1),name:b().trim().min(1,`Room name is required`).max(64),levelId:b().trim().min(1),outdoor:d().default(!1),publicSpace:d().default(!1),note:b().trim().max(240).default(``),x:s(),y:s(),width:s().min(1),height:s().min(1)}),gt=v({id:b().trim().min(1),fromRoomId:b().trim().min(1),toRoomId:b().trim().min(1),fromShapeId:b().trim().min(1).nullable().default(null),toShapeId:b().trim().min(1).nullable().default(null),offset:s().nullable().default(null),width:s().min(10).max(2e3).default(90),note:b().trim().max(240).default(``),type:u([`door`,`opening`,`stairs`]).default(`door`)}),_t=v({cameraId:b().trim().min(1),roomId:b().trim().min(1),note:b().trim().max(240).default(``),x:s(),y:s(),rotation:s(),fov:s().min(1).max(360),range:s().min(1)}),vt=v({sensorId:b().trim().min(1),sensorType:b().trim().min(1),roomId:b().trim().min(1),connectionId:b().trim().min(1).nullable().default(null),note:b().trim().max(240).default(``),x:s(),y:s()});v({catalogVersion:s().int().min(0),north:s().nullable().default(null),levels:mt.array().max(20),rooms:ht.array().max(200),connections:gt.array().max(500),cameras:_t.array().max(500),sensors:vt.array().max(500)}).strict(),v({name:b().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`),url:o(`Must be a valid URL`).trim(),credentials:v({username:b().trim().min(1,`Username is required`),password:b().min(1,`Password is required`)})}),v({name:b().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional(),url:o(`Must be a valid URL`).trim().optional(),credentials:v({username:b().trim().min(1,`Username is required`),password:b().min(1,`Password is required`)}).nullable().optional()}),v({id:b().min(1,`ID is required`)}),v({code:b().trim().min(1,`Code is required`).optional()}).optional(),v({ids:_(b().min(1)).min(1).max(1e3)});var yt=/^[\w-]+(\/[\w-]+)*$/,bt=v({enabled:d().optional(),mode:u([`external`,`embedded`]).optional(),broker:v({port:s().int().min(1).max(65535).optional(),username:b().trim().max(200,`Username cannot be more than 200 characters`).nullable().optional(),password:b().max(500,`Password cannot be more than 500 characters`).nullable().optional()}).strict().optional(),host:b().trim().min(1,`Host is required`).max(253,`Host cannot be more than 253 characters`).nullable().optional(),port:s().int().min(1).max(65535).optional(),protocol:u([`mqtt`,`mqtts`]).optional(),username:b().trim().max(200,`Username cannot be more than 200 characters`).nullable().optional(),password:b().max(500,`Password cannot be more than 500 characters`).nullable().optional(),clientId:b().trim().min(1,`Client ID is required`).max(128,`Client ID cannot be more than 128 characters`).optional(),topicPrefix:b().trim().min(1,`Topic prefix is required`).max(128,`Topic prefix cannot be more than 128 characters`).regex(yt,`Topic prefix may only contain letters, numbers, "_", "-" and "/" separators`).optional(),tls:v({rejectUnauthorized:d().optional(),ca:b().trim().nullable().optional(),cert:b().trim().nullable().optional(),key:b().trim().nullable().optional()}).strict().optional(),haDiscovery:v({enabled:d().optional(),prefix:b().trim().min(1,`Discovery prefix is required`).max(128,`Discovery prefix cannot be more than 128 characters`).regex(yt,`Discovery prefix may only contain letters, numbers, "_", "-" and "/" separators`).optional()}).strict().optional()}).strict(),xt=/^((@[\w-.]*)\/)?(camera-ui-[\w-]*)$/,St=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}({}),Ct=v({start:h().optional(),page:h().optional(),pageSize:h().optional()}),wt=[`image/jpeg`,`image/png`],Tt=2097152,Et=[`video/mp4`,`video/quicktime`],Dt=10485760,Ot=[`audio/mpeg`,`audio/wav`,`audio/ogg`],kt=2097152,V=()=>x(Tt,wt,`Max file size is 2 MB`,`.jpeg and .png files are accepted`),H=f().transform(e=>JSON.parse(e.value)),U=f().transform(e=>JSON.parse(e.value)),At=f().transform(e=>JSON.parse(e.value)),jt=v({pluginname:b().trim().refine(e=>xt.test(e),`Not a valid plugin name`),pluginversion:b().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();v({actionId:b(),payload:m()}).strict(),l(m(),m()),v({upload:V(),metadata:U,config:H}),v({upload:x(kt,Ot,`Max file size is 2 MB`,`.mp3, .wav and .ogg files are accepted`),metadata:At,config:H}),v({upload:x(Dt,Et,`Max file size is 5 MB`,`.mp4 files are accepted`),config:H}),v({upload:V(),metadata:U,config:H}),v({upload:V(),metadata:U,config:H}),v({upload:V(),metadata:U,config:H}),v({pluginname:b()}),v({scope:b(),pluginname:b()}),Ct.extend({pluginname:b().trim().optional(),refresh:c().optional()}),v({removeStorage:c().optional()}),v({pluginversion:b().trim().optional()}),v({pluginNames:_(b().trim().min(1)).min(1).max(1e3)}),v({plugins:_(jt).min(1).max(1e3)});var Mt=v({enabled:d().optional(),directEnabled:d().optional(),directMode:u([`cloudflare`,`customDomain`]).optional(),customDomain:v({url:o(`Must be a valid URL`).trim().nullable()}).strict().optional(),cloudflare:v({mode:u([`quick`,`token`,`managed`]).optional(),hostname:b().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).nullable().optional(),token:b().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`]});v({mode:u([`cloudflare`,`customDomain`])}).strict(),v({hostname:b().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(),v({name:b().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),v({name:b().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),v({name:b().trim().min(1,`Server name is required`).max(100,`Server name cannot be more than 100 characters`)}).strict(),v({name:b().trim().min(1,`Room name is required`).max(64),levelId:b().trim().min(1).nullable().default(null),outdoor:d().default(!1),publicSpace:d().default(!1),note:b().trim().max(240).default(``)}).strict(),v({roomid:b().trim().min(1)});var Nt={securitySystem:`security_system`};function Pt(e){return Nt[e]??e}function Ft(){let e={};for(let n of t)e[n.type]={category:n.category,assignmentKey:n.assignmentKey,multiProvider:n.multiProvider,isDetectionType:n.isDetectionType,cameraBound:n.cameraBound??!1,...n.cascadeTrigger?{cascadeTrigger:{...n.cascadeTrigger,triggerType:Pt(n.assignmentKey)}}:{}};return e}var W=Ft();Object.fromEntries(t.filter(e=>e.propertyCapabilities).map(e=>[e.type,e.propertyCapabilities]));function It(){return Object.entries(W).filter(([,e])=>e.multiProvider).map(([e])=>e)}function Lt(){return t.filter(e=>e.shortcutable).map(e=>e.type)}function Rt(){return Object.entries(W).filter(([,e])=>e.isDetectionType).map(([e])=>e)}function zt(e){return W[e].assignmentKey}function Bt(){return Object.entries(W).filter(([,e])=>e.category===r.Sensor&&!e.multiProvider).map(([e])=>e)}function Vt(){return Object.entries(W).filter(([,e])=>!e.multiProvider&&e.category!==r.Sensor).map(([e])=>e)}function Ht(){return Object.entries(W).filter(([,e])=>e.multiProvider).map(([e])=>e)}function Ut(e){return!W[e].multiProvider}Object.fromEntries(t.map(e=>[e.type,Object.keys(e.properties)]));var G=Object.fromEntries(t.map(e=>[e.type,e.properties]));function Wt(e,t){return G[e]?.[t]}function Gt(e){let t=G[e];return t?Object.entries(t).filter(([,e])=>!e.internal).map(([e])=>e):[]}function Kt(e){let t=G[e];return t?Object.entries(t).filter(([,e])=>e.writable).map(([e])=>e):[]}function qt(e,t){let n=W[e];return n?n.category===r.Control||n.category===r.Trigger||t===`cameraui.virtual`&&!n.isDetectionType:!1}new Set(It());var Jt=new Set(Rt()),Yt=`cameraui.virtual`,Xt=t.filter(e=>e.virtual).map(e=>e.type);Object.fromEntries(t.filter(e=>e.virtual).map(e=>[e.type,e.virtual?.properties??{}])),Object.fromEntries(t.filter(e=>e.virtual?.capabilities).map(e=>[e.type,e.virtual?.capabilities])),v({id:b().min(1,`Sensor ID is required`)});var Zt=v({cameraId:b().min(1).optional(),type:u(Xt),name:b().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`)});v({displayName:b().trim().min(1,`Display name is required`).max(100,`Display name cannot be more than 100 characters`).optional(),assignedCameraIds:_(b().min(1)).optional(),exposed:d().optional()}).refine(e=>e.displayName!==void 0||e.assignedCameraIds!==void 0||e.exposed!==void 0,{message:`Nothing to update`}),v({property:b().trim().min(1,`Property is required`),value:y()}),v({ids:_(b()).min(1).max(1e4)}),v({version:b().trim().optional().default(`latest`)}).strict();var Qt=v({serverAddresses:a([ne().trim(),te().trim()]).array().default([]),localUrl:a([p(``),o({protocol:/^https?$/})]).default(``).transform(e=>e.replace(/\/+$/,``))}).strict();v({version:b().trim()}).strict(),l(b(),m()),v({key:b()}).strict(),v({key:b(),payload:m()}).strict();var $t=v({label:b().trim().min(1).max(64),confidence:s().min(0).max(1),x:s().min(0).max(1),y:s().min(0).max(1),width:s().min(0).max(1),height:s().min(0).max(1),text:b().trim().max(16).optional()}).strict();v({id:b().trim().min(1)}),v({id:b().trim().min(1)}),v({cursor:b().trim().min(1).optional()}),v({cameraId:b().trim().min(1).optional(),status:u([`new`,`verified`]).optional()}),v({boxes:$t.array().max(128).optional(),status:u([`new`,`verified`]).optional()}).strict(),v({ids:b().trim().min(1).array().min(1).max(200)}).strict(),v({enabled:d().optional(),perCameraLimit:s().min(1).max(5e3).optional(),minIntervalSeconds:s().min(0).max(3600).optional(),retentionDays:s().min(1).max(365).optional()}).strict(),v({cameraId:b().min(1,`Camera ID is required`),agentId:b().min(1,`Agent ID is required`)}),v({cameraId:b().min(1,`Camera ID is required`)}),v({agentId:b().min(1,`Agent ID is required`)}),v({version:b().min(1).optional()}).optional(),v({code:b().min(1,`Pairing code is required`),agentId:b().min(1,`Agent ID is required`),name:b().min(1,`Worker name is required`)}),v({pluginName:b().min(1,`Plugin name is required`),agentId:b().min(1,`Agent ID is required`)}),v({pluginName:b().min(1,`Plugin name is required`)}),v({name:b().trim().min(1,`Name is required`).max(64,`Maximum 64 characters`)}),v({enabled:d().optional(),address:b().trim().optional(),port:s().min(1024,`Minimum 1024`).max(65535,`Maximum 65535`).optional()}).strict();function K(e){return e.type===`string`&&!(`enum`in e)}function en(e){return e.type===`number`}function tn(e){return e.type===`boolean`}function q(e){return e.type===`string`&&`enum`in e}function nn(e){return e.type===`array`}function rn(e){return e.type===`object`}function J(e){return e.type===`button`}function Y(e){return e.type===`submit`}function an(e){return K(e)&&(!e.format||e.format!==`qrCode`&&e.format!==`image`)}var on=(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=>on(e,t)):on(e,t)}function sn(e,t){if(!e||Object.keys(e).length===0)return!0;let r=t.filter(e=>!J(e)&&!Y(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 q(e)?e.multiple?[]:e.required?e.enum[0]:``:``;case`number`:return 0;case`boolean`:return!1;case`array`:return[];case`object`:{let t={};for(let n of e.properties??[])J(n)||Y(n)||(t[n.key]=Z(n));return t}default:return}}function cn(e){let t={};for(let n of e)J(n)||Y(n)||(t[n.key]=Z(n));return t}function ln(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 un(e){return!isNaN(Number(e))}function Q(e={},t){if(!t.includes(`.`)&&!t.includes(`[`))return e[t];let n=e;for(let e of ln(t)){if(n==null)return;n=n[e]}return n}function dn(e,t,n){if(!t.includes(`.`)&&!t.includes(`[`)){e[t]=n;return}let r=ln(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]=un(r[e+1]??i)?[]:{}),a=a[t]}a[i]=n}function fn(e,t){let n={};for(let r of e)if(`store`in r&&r.store&&!J(r)&&!Y(r)){let e=Q(t,r.key);e!==void 0&&(n[r.key]=e)}return n}function pn(e,t){return t?e.filter(e=>`group`in e&&e.group===t):e}function mn(e,t){let n=pn(e,t);return n.length>0&&n.every(e=>`readonly`in e&&e.readonly)}function hn(e,t){let n=pn(e,t);return n.length>0&&n.some(e=>`store`in e&&e.store)}function gn(e,t){if(!t)return!0;let n={"date-time":e=>/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})?$/.test(e),date:e=>/^\d{4}-\d{2}-\d{2}$/.test(e),time:e=>/^([01]?[0-9]|2[0-3]):([0-5][0-9])(:([0-5][0-9]))?$/.test(e),email:e=>/^\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,7}\b$/.test(e),uuid:e=>/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(e),ipv4:e=>/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(e),ipv6:e=>/^\s*([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4})\s*$/.test(e)};return t in n?n[t](e):!0}function $(e){if(J(e)||Y(e))return m();switch(e.type){case`string`:if(q(e)){if(e.multiple){let t=_(b().trim().refine(t=>e.enum.includes(t),{error:`Invalid selection`}));return e.minItems===void 0?e.required&&(t=t.min(1,{error:`Required`})):t=t.min(e.minItems,{error:`Select at least ${e.minItems}`}),e.required?t:t.optional()}{let t=u(e.enum);return e.required?t:a([p(``),t]).optional()}}let t=b().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()===``||gn(t,e.format),{message:`Invalid ${e.format} format`})),e.required?t:t.optional();case`number`:let n=s();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?d():d().optional();case`array`:{let t=e.items?$(e.items):m(),n=_(t);return e.minItems!==void 0&&(n=n.min(e.minItems,{error:`At least ${e.minItems} entries required`})),e.required?n:n.optional()}case`object`:{let t={};for(let n of e.properties??[])J(n)||Y(n)||(t[n.key]=$(n));let n=v(t);return e.required?n:n.optional()}default:return e.required?m():m().optional()}}var _n=(e,t,n)=>t.filter(e=>`group`in e&&e.group===n).some(t=>{let n=e[t.key];return n!=null&&n!==``});function vn(e){let t={},n=new Set;e.forEach(e=>{`group`in e&&e.group&&n.add(e.group)}),e.forEach(e=>{if(!J(e)&&!Y(e)){let n=`group`in e&&e.group,r=`condition`in e&&e.condition;(n||r)&&e.required?t[e.key]=$({...e,required:!1}):t[e.key]=$(e)}});let r=v(t),i=e.filter(e=>`condition`in e&&e.condition&&`required`in e&&e.required&&!J(e)&&!Y(e));return(n.size>0||i.length>0)&&(r=r.superRefine((t,r)=>{for(let i of n)if(_n(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:`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:`custom`,message:`Required`,path:[e.key]})}})),r}export{Ue as $,Gt as A,kt as B,W as C,zt as D,Ht as E,qt as F,ft as G,St as H,Mt as I,Re as J,B as K,Ot as L,Lt as M,Kt as N,Vt as O,Ut as P,ot as Q,Et as R,Jt as S,Xt as T,bt as U,Dt as V,pt as W,at as X,Ie as Y,z as Z,mn as _,vn as a,ve as at,Qt as b,tn as c,q as d,O as et,en as f,an as g,Y as h,fn as i,D as it,Wt as j,Bt as k,J as l,K as m,cn as n,Ne as nt,Q as o,Pe as ot,rn as p,Fe as q,Z as r,C as rt,nn as s,A as st,X as t,R as tt,sn as u,hn as v,Yt as w,Zt as x,dn as y,wt as z};
|