@camera.ui/server 2.0.20 → 2.0.22
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-DVIgoIOM.js → 404-0d936klL.js} +1 -1
- package/dist/interface/assets/{About-I7CYGBLL.js → About-BMwYrGrl.js} +1 -1
- package/dist/interface/assets/Adminpanel-DBsOmAuo.js +1 -0
- package/dist/interface/assets/Automation-BLndVfqR.js +3 -0
- package/dist/interface/assets/{AutomationImport-DOdFWPX5.js → AutomationImport-Ba33juY0.js} +2 -2
- package/dist/interface/assets/AutomationStore-Bjf1x7go.js +2 -0
- package/dist/interface/assets/AutomationStoreDetail-Ko3n3U1U.js +2 -0
- package/dist/interface/assets/Automations-BfC8bvkT.js +2 -0
- package/dist/interface/assets/Camera-BYDPeH6d.js +2 -0
- package/dist/interface/assets/Camera-yUrhUGmO.css +1 -0
- package/dist/interface/assets/{CameraConsole-DXtIR7hw.js → CameraConsole-pVCj1xXI.js} +2 -2
- package/dist/interface/assets/{Cameras-DwFpaiFD.js → Cameras-DdokAe_Q.js} +2 -2
- package/dist/interface/assets/Camview-DmuGSzal.js +1 -0
- package/dist/interface/assets/Config-DvVqB0_Y.js +2 -0
- package/dist/interface/assets/{ConfigActionCameraControl-ne90-Fez.js → ConfigActionCameraControl-DFdb4xzq.js} +1 -1
- package/dist/interface/assets/{ConfigActionDelay-BRYGWPTP.js → ConfigActionDelay-B1JjI6bg.js} +1 -1
- package/dist/interface/assets/{ConfigActionHttp-D1m69rJz.js → ConfigActionHttp-BzGIbeVo.js} +1 -1
- package/dist/interface/assets/{ConfigActionImageInput-Dm_P4Q7V.js → ConfigActionImageInput-C6m2-s8z.js} +1 -1
- package/dist/interface/assets/{ConfigActionMqtt-CmRxXG4V.js → ConfigActionMqtt-ByZNQKsg.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-BipubH-a.js → ConfigActionNotification-YmdMddoN.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotificationControl-HDZVn3cx.js → ConfigActionNotificationControl-2hWDRBpq.js} +1 -1
- package/dist/interface/assets/{ConfigActionOutput-vD4dohGk.js → ConfigActionOutput-D9k1-jfI.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-ug-TKeyw.js → ConfigActionPlugin-DjD_94EX.js} +1 -1
- package/dist/interface/assets/{ConfigActionSensor-CBNs37pL.js → ConfigActionSensor-fak8jYSC.js} +1 -1
- package/dist/interface/assets/{ConfigActionSnapshot-BhrCn6PJ.js → ConfigActionSnapshot-mwEHXqyk.js} +1 -1
- package/dist/interface/assets/{ConfigActionVariable-BabtvdZx.js → ConfigActionVariable-kBxNfyOV.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-CAWJ-gg2.js → ConfigConditionIfElse-CkjmImTD.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-BxTrOTpB.js → ConfigConditionSensorState-FE3mFjRe.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSwitch-aJ-w67SY.js → ConfigConditionSwitch-msqWizIt.js} +1 -1
- package/dist/interface/assets/{ConfigConditionTime-HKC4eK68.js → ConfigConditionTime-ifPV135b.js} +1 -1
- package/dist/interface/assets/{ConfigSensorValueInput-C4msc9Se.js → ConfigSensorValueInput-Bg3SEbSh.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerDetection-NwOPfWsQ.js → ConfigTriggerDetection-Cjes6g7x.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerGeofence-CmX_4WIJ.js → ConfigTriggerGeofence-CemaUwl5.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerManual-BuJQbcOo.js → ConfigTriggerManual-DWuiq7PC.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerMqtt-R0VWW5up.js → ConfigTriggerMqtt-DxAoDh2Z.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSchedule-D21piX-w.js → ConfigTriggerSchedule-DDqgMGvp.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-Cl-mz7nd.js → ConfigTriggerSensor-M6bXqz4k.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-CPPe9gXo.js → ConfigTriggerSystem-NaaBopYq.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerWebhook-BVKRs9Pr.js → ConfigTriggerWebhook-CxOXgcJi.js} +1 -1
- package/dist/interface/assets/Console-CMuW2_8s.js +1 -0
- package/dist/interface/assets/{CuiAutomationRunsDialog-B1HvXwOc.js → CuiAutomationRunsDialog-yh1qHzmS.js} +1 -1
- package/dist/interface/assets/{CuiBottomSheet-BMLuWNPf.js → CuiBottomSheet-BshiVWqw.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-DSNyVg5P.js +1 -0
- package/dist/interface/assets/{CuiCameraPipCard-CS8nuRgX.js → CuiCameraPipCard-Cmk0jl6M.js} +1 -1
- package/dist/interface/assets/CuiCameraRecordings-KU1wIai4.js +1 -0
- package/dist/interface/assets/{CuiCameraShares-7OhxbeqJ.js → CuiCameraShares-BoR3YQWj.js} +1 -1
- package/dist/interface/assets/{CuiCameraTable-CggOjNka.js → CuiCameraTable-BRPBqU8V.js} +2 -2
- package/dist/interface/assets/{CuiDataTable-VRoxHf0R.js → CuiDataTable-BGY4VBtv.js} +1 -1
- package/dist/interface/assets/CuiList-BSOMR296.js +1 -0
- package/dist/interface/assets/{CuiMarkdownContent-BwMdbyad.js → CuiMarkdownContent-DEMo42iT.js} +1 -1
- package/dist/interface/assets/CuiMarkdownContent-Xn_VHwym.js +1 -0
- package/dist/interface/assets/{CuiPluginCard-C_HSpNve.js → CuiPluginCard-CgJb8B1W.js} +2 -2
- package/dist/interface/assets/{CuiPluginCategoryChip-iszX6Lqh.js → CuiPluginCategoryChip-D9Vi1SEP.js} +1 -1
- package/dist/interface/assets/CuiPluginOAuthButton-XpEyqoRm.js +2 -0
- package/dist/interface/assets/{CuiPluginTrustBadge-BtP_jlV6.js → CuiPluginTrustBadge-D0rUX2i6.js} +1 -1
- package/dist/interface/assets/CuiQRCode-QBkbmvRA.js +1 -0
- package/dist/interface/assets/CuiRecordingsGrid-CuEl_hhu.js +1 -0
- package/dist/interface/assets/CuiSchema-D_cg-H5i.js +1 -0
- package/dist/interface/assets/{CuiTopNavbarItem-qqxqB8Cc.js → CuiTopNavbarItem-CXijnkK9.js} +1 -1
- package/dist/interface/assets/Faces-C95mlWaW.js +1 -0
- package/dist/interface/assets/FirstSteps-Cpbg7fng.js +1 -0
- package/dist/interface/assets/Instances-BgJtM1Xl.js +1 -0
- package/dist/interface/assets/{Logs-BiEohM1x.js → Logs-BWXYqm5T.js} +2 -2
- package/dist/interface/assets/Menu-BO9Zjy1w.js +1 -0
- package/dist/interface/assets/{OAuthDeviceFlow-Cg1RWZ2r.js → OAuthDeviceFlow-NnwqdmBM.js} +1 -1
- package/dist/interface/assets/Plugin-BLqyZrJP.css +1 -0
- package/dist/interface/assets/Plugin-DQq3xjhe.js +1 -0
- package/dist/interface/assets/{PluginConsole-DNZYZcf-.js → PluginConsole-BTsVAsKf.js} +2 -2
- package/dist/interface/assets/PluginDetail-CTyzzZVU.js +2 -0
- package/dist/interface/assets/{PluginSchema-CBh-9WZs.js → PluginSchema-Bn3pHjQA.js} +1 -1
- package/dist/interface/assets/PluginSearch-DbXCyUF0.js +1 -0
- package/dist/interface/assets/PluginSearch-z0z8Z1gP.js +2 -0
- package/dist/interface/assets/Plugins-Cy7e-ty2.js +1 -0
- package/dist/interface/assets/Recordings-CWBpGEUf.js +1 -0
- package/dist/interface/assets/Settings-CUIORSmm.js +1 -0
- package/dist/interface/assets/SettingsAccount-CeJBKpzp.js +1 -0
- package/dist/interface/assets/SettingsAccount-CnwVrQx1.js +1 -0
- package/dist/interface/assets/SettingsAppearance-BraaC0WF.js +1 -0
- package/dist/interface/assets/SettingsAppearance-CZrOTBki.js +1 -0
- package/dist/interface/assets/{SettingsBackup-By22p7wO.js → SettingsBackup-y9mb8XZZ.js} +1 -1
- package/dist/interface/assets/SettingsList-DsKncveQ.js +1 -0
- package/dist/interface/assets/{SettingsMqtt-DIUaZT6Y.js → SettingsMqtt-DTyyctmQ.js} +1 -1
- package/dist/interface/assets/SettingsNotifications-SFMt4Yuj.js +2 -0
- package/dist/interface/assets/SettingsPermissions-CktJaQzL.js +1 -0
- package/dist/interface/assets/{SettingsRecordings-Dis1Nbho.js → SettingsRecordings-Bqguyt6u.js} +1 -1
- package/dist/interface/assets/SettingsRemote-CTv7bb4g.js +1 -0
- package/dist/interface/assets/SettingsSystem-CkCnB34r.js +2 -0
- package/dist/interface/assets/SettingsUsers-D8LAGd6F.js +1 -0
- package/dist/interface/assets/Terminal-DaR9Ur0_.js +4 -0
- package/dist/interface/assets/{VariableInput-B9OmFO4i.js → VariableInput-D0TP_Lmo.js} +1 -1
- package/dist/interface/assets/{VariableSuggestions-B1-MhuJO.js → VariableSuggestions--vq7928F.js} +1 -1
- package/dist/interface/assets/{VersionsHandler-DGHOWAbq.js → VersionsHandler-D9GDdcXr.js} +1 -1
- package/dist/interface/assets/Workers-CUyRzwJG.js +2 -0
- package/dist/interface/assets/{Workers-DmcQx0L8.css → Workers-CzAz4N2_.css} +1 -1
- package/dist/interface/assets/{account-jONrhXkE.js → account-sFoKqEOV.js} +1 -1
- package/dist/interface/assets/{alert-circle-CqEfEWD8.js → alert-circle-BQZQ417w.js} +1 -1
- package/dist/interface/assets/{alert-outline-DcXO2ICo.js → alert-outline-BUvdNY2J.js} +1 -1
- package/dist/interface/assets/{api-iqP3iqyL.js → api-DEaXK1Kq.js} +1 -1
- package/dist/interface/assets/api-DxrxNyIH.js +2 -0
- package/dist/interface/assets/api-VZ_wVUpU.css +2 -0
- package/dist/interface/assets/{arrow-left-DGioEwqJ.js → arrow-left-LdfKbcre.js} +1 -1
- package/dist/interface/assets/{arrow-right-outline-BrpH6MGt.js → arrow-right-outline-BbTEhBJq.js} +1 -1
- package/dist/interface/assets/{auth-DKeGdKLU.js → auth-XA5zkqwW.js} +1 -1
- package/dist/interface/assets/{automations-C5--KLWD.js → automations-51-JMUWD.js} +1 -1
- package/dist/interface/assets/{back-filled-DZmo9cAg.js → back-filled-BdHG6uUx.js} +1 -1
- package/dist/interface/assets/{bell-ring-D0h1GDrU.js → bell-ring-Dua4zXf_.js} +1 -1
- package/dist/interface/assets/{cameras.schema-BEG-W9JW.js → cameras.schema-1a2URPGd.js} +1 -1
- package/dist/interface/assets/{cctv-CdDfBHME.js → cctv-DEiPL3U8.js} +1 -1
- package/dist/interface/assets/{check-circle-CVNa_reg.js → check-circle-D-utE_P9.js} +1 -1
- package/dist/interface/assets/{chevron-down-BiRUJ9SO.js → chevron-down-OEjMpuec.js} +1 -1
- package/dist/interface/assets/{chevron-right-Crha-j7O.js → chevron-right-B3nxd9UE.js} +1 -1
- package/dist/interface/assets/{clock-outline-dv-kmi60.js → clock-outline-C_f3Ed8x.js} +1 -1
- package/dist/interface/assets/{close-BCRtoBTk.js → close-DNgGJYHi.js} +1 -1
- package/dist/interface/assets/{close-circle-raXx3m4Q.js → close-circle-L5juejMg.js} +1 -1
- package/dist/interface/assets/{cloud-check-CST59Xl_.js → cloud-check-DD7oRzmo.js} +1 -1
- package/dist/interface/assets/cloudHandoff-BktPB9rt.js +1 -0
- package/dist/interface/assets/{config-DJDQ4YbG.js → config-C2hgXHyj.js} +1 -1
- package/dist/interface/assets/{copy-C53ZJyaU.js → copy-BvSzmsFs.js} +1 -1
- package/dist/interface/assets/{delete-Dvdp44LT.js → delete-B9BZTgya.js} +1 -1
- package/dist/interface/assets/{dist-DZi5AgJB.js → dist-qdWlJrr0.js} +1 -1
- package/dist/interface/assets/{download-Dq82fWLS.js → download-Dp_ssGIE.js} +1 -1
- package/dist/interface/assets/esm-9VMgxuPI.js +1 -0
- package/dist/interface/assets/esm-B69zS8aI.js +1 -0
- package/dist/interface/assets/esm-BF94InGP.js +1 -0
- package/dist/interface/assets/esm-BHdK6hkk.js +1 -0
- package/dist/interface/assets/esm-BYm8JT8N.js +1 -0
- package/dist/interface/assets/esm-BwCmHX2G.js +1 -0
- package/dist/interface/assets/esm-CL6t-XYT.js +1 -0
- package/dist/interface/assets/esm-CXstRMXa.js +1 -0
- package/dist/interface/assets/esm-Ckb9rjlL.js +1 -0
- package/dist/interface/assets/esm-D4insKbc.js +1 -0
- package/dist/interface/assets/esm-DiReJ8YS.js +1 -0
- package/dist/interface/assets/esm-Dt_Neag0.js +1 -0
- package/dist/interface/assets/esm-GspmWlKf.js +1 -0
- package/dist/interface/assets/esm-eezqpB2a.js +1 -0
- package/dist/interface/assets/{flowSchema-ByS8_PvM.js → flowSchema-Ckr7CEbZ.js} +1 -1
- package/dist/interface/assets/{history--LGIMjNU.js → history-iAZcYg3f.js} +1 -1
- package/dist/interface/assets/{home-C5hRJg9h.js → home-DL94781-.js} +1 -1
- package/dist/interface/assets/{information-outline-CjhiKBjG.js → information-outline-CVsB1bl-.js} +1 -1
- package/dist/interface/assets/{lightbulb-outline-BGFG7wv-.js → lightbulb-outline-nNLyXAIp.js} +1 -1
- package/dist/interface/assets/{main-Dchuz606.css → main-BxM81wMi.css} +1 -1
- package/dist/interface/assets/main-DOjghmGX.js +3 -0
- package/dist/interface/assets/{microphone-Dp5Yhz6Z.js → microphone-CU0mFDMh.js} +1 -1
- package/dist/interface/assets/{mqtt-D2bsWeKE.js → mqtt-COazyb4A.js} +1 -1
- package/dist/interface/assets/native-WiRjRKUS.js +1 -0
- package/dist/interface/assets/native-hhip9y-E.js +1 -0
- package/dist/interface/assets/{nodeDefinitions-B3j6RajL.js → nodeDefinitions-CPyyuw1P.js} +1 -1
- package/dist/interface/assets/{notifications-CafZ2-zM.js → notifications-BHQN6WD4.js} +1 -1
- package/dist/interface/assets/pencil-outline-BQxLTlZx.js +1 -0
- package/dist/interface/assets/plugin-DIVM640y.js +1 -0
- package/dist/interface/assets/{plugins-CIT9775i.js → plugins-C0RtyBHQ.js} +1 -1
- package/dist/interface/assets/{plus-C6l_Q-mY.js → plus-CTzaBaTz.js} +1 -1
- package/dist/interface/assets/{plus-DhRnJIfm.js → plus-Ct6WQfM1.js} +1 -1
- package/dist/interface/assets/{power-BfcMaKbx.js → power-CvKGepBP.js} +1 -1
- package/dist/interface/assets/{ring-resize-peEJMXPl.js → ring-resize-CZBThoQC.js} +1 -1
- package/dist/interface/assets/{round-alt-arrow-left-bold-BcL7KVCG.js → round-alt-arrow-left-bold-BlpNMBxm.js} +1 -1
- package/dist/interface/assets/round-restart-alt-D3iswthu.js +1 -0
- package/dist/interface/assets/{search-BTu5ntI6.js → search-M4Rt52Co.js} +1 -1
- package/dist/interface/assets/{server-hEeNagJk.js → server-CVSOthzT.js} +1 -1
- package/dist/interface/assets/{settings-wRDwvjf-.js → settings-CgToKrFd.js} +1 -1
- package/dist/interface/assets/{source-branch-DejOTyZv.js → source-branch-CoHKTGxb.js} +1 -1
- package/dist/interface/assets/{theme-BJfyZiCo.js → theme-BZi7VV10.js} +1 -1
- package/dist/interface/assets/{trash-2-upauF9j0.js → trash-2-BKWfq15D.js} +1 -1
- package/dist/interface/assets/{trash-can-outline-PQys0L3O.js → trash-can-outline-HvqPHpF7.js} +1 -1
- package/dist/interface/assets/{trash-fill-DDHuYpvM.js → trash-fill-yNQsFs0Y.js} +1 -1
- package/dist/interface/assets/{trash2-M6P7YvkH.js → trash2-DjTG9rG-.js} +1 -1
- package/dist/interface/assets/{types-DBGjHKw2.js → types-Bw8H-UB4.js} +1 -1
- package/dist/interface/assets/types-CDJiWcQ7.js +1 -0
- package/dist/interface/assets/{upload-DwNCSVAl.js → upload-B6yqOWqz.js} +1 -1
- package/dist/interface/assets/useAppVersion-CDTrwxkp.js +1 -0
- package/dist/interface/assets/useBackupRestore-QuXkc5ZG.js +1 -0
- package/dist/interface/assets/{useCameraOptions-CL_7DfoJ.js → useCameraOptions-D5-bI-e6.js} +1 -1
- package/dist/interface/assets/{useCardSelection-BdYBm23a.js → useCardSelection-CgZ7QTaA.js} +1 -1
- package/dist/interface/assets/useElectron-CgLWOhcS.js +1 -0
- package/dist/interface/assets/{useLogsSocket-DH7pUHng.js → useLogsSocket-BlAo-xcw.js} +1 -1
- package/dist/interface/assets/usePermissions-tzi2t12h.js +1 -0
- package/dist/interface/assets/{useServerRestart-Bp_KEXEn.js → useServerRestart-DctcFWWh.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-M9pF0vGv.js → useStreamStatus-BV_L7pxB.js} +1 -1
- package/dist/interface/assets/useUserOptions-nuBRgAEk.js +1 -0
- package/dist/interface/assets/{variable-K7DoQHpX.js → variable-Y3IAPnsB.js} +1 -1
- package/dist/interface/assets/{vendor-cameraui-CxG00gaf.js → vendor-cameraui-B_OCKNGw.js} +24 -24
- package/dist/interface/assets/{vendor-capacitor-BmJAC1FL.js → vendor-capacitor-D6T-f6Q_.js} +2 -2
- package/dist/interface/assets/{vendor-chart-BDu4sN9x.js → vendor-chart-DpsXMlB-.js} +1 -1
- package/dist/interface/assets/{vendor-core-C6srgzh_.js → vendor-core-zLmLhSHM.js} +1 -1
- package/dist/interface/assets/{vendor-dnd-BN6m9rq8.js → vendor-dnd-hwiZJHjo.js} +1 -1
- package/dist/interface/assets/{vendor-draggabilly-BLoTmI_a.js → vendor-draggabilly-OrLwQbim.js} +1 -1
- package/dist/interface/assets/{vendor-gridstack-BJlwi692.js → vendor-gridstack-C6VKsm_r.js} +1 -1
- package/dist/interface/assets/{vendor-markdown-D_3Of-Gz.js → vendor-markdown-_OBaDsnU.js} +1 -1
- package/dist/interface/assets/{vendor-CdGy-Xet.js → vendor-nfBMzqgY.js} +10 -10
- package/dist/interface/assets/{vendor-primevue-DZljZRZZ.js → vendor-primevue-C6wcTjtT.js} +1 -1
- package/dist/interface/assets/{vendor-vueflow-D7rAeKHv.js → vendor-vueflow-B1MUSE71.js} +1 -1
- package/dist/interface/assets/web-B-SlpbxK.js +1 -0
- package/dist/interface/assets/web-B6leYIzJ.js +1 -0
- package/dist/interface/assets/web-BLDe3Kn0.js +1 -0
- package/dist/interface/assets/web-BT-51W2W.js +1 -0
- package/dist/interface/assets/web-BjKL51lK-DHLvmMLr.js +1 -0
- package/dist/interface/assets/web-BpRU7MbT.js +1 -0
- package/dist/interface/assets/web-CiaJvmq8.js +1 -0
- package/dist/interface/assets/web-Cnkt61og.js +1 -0
- package/dist/interface/assets/web-CzhM-YH1.js +1 -0
- package/dist/interface/assets/web-Da5rcZ2Q.js +1 -0
- package/dist/interface/assets/web-DdZjFuTb.js +1 -0
- package/dist/interface/assets/web-DnHj9sl9.js +1 -0
- package/dist/interface/assets/web-E4Ew4Xhj.js +1 -0
- package/dist/interface/assets/web-q63OEDhG.js +1 -0
- package/dist/interface/assets/{webhook-CQl989bo.js → webhook-yCryYojY.js} +1 -1
- package/dist/interface/assets/workbox-window.prod.es5-BMiTt6Ad.js +1 -0
- package/dist/interface/assets/{zoom-in-2i20zd_d.js → zoom-in-Da5uRiQq.js} +1 -1
- package/dist/interface/index.html +38 -37
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +7 -7
- package/dist/server/requirements.txt +1 -1
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +4 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/__init__.py +4 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +8 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/frames.py +29 -1
- package/dist/server/src/api/controllers/plugins.controller.js +2 -0
- package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
- package/dist/server/src/api/controllers/workers.controller.d.ts +2 -1
- package/dist/server/src/api/controllers/workers.controller.js +9 -0
- package/dist/server/src/api/controllers/workers.controller.js.map +1 -1
- package/dist/server/src/api/database/types.d.ts +1 -0
- package/dist/server/src/api/routes/workers.routes.js +13 -1
- package/dist/server/src/api/routes/workers.routes.js.map +1 -1
- package/dist/server/src/api/schemas/cameras.schema.d.ts +106 -0
- package/dist/server/src/api/schemas/cameras.schema.js +7 -0
- package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
- package/dist/server/src/api/schemas/workers.schema.d.ts +4 -0
- package/dist/server/src/api/schemas/workers.schema.js +3 -0
- package/dist/server/src/api/schemas/workers.schema.js.map +1 -1
- package/dist/server/src/api/services/cameras.service.js +5 -0
- package/dist/server/src/api/services/cameras.service.js.map +1 -1
- package/dist/server/src/api/services/workers.service.d.ts +2 -0
- package/dist/server/src/api/services/workers.service.js +12 -0
- package/dist/server/src/api/services/workers.service.js.map +1 -1
- package/dist/server/src/api/types/index.d.ts +10 -1
- package/dist/server/src/api/websocket/nsp/server.js +8 -2
- package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
- package/dist/server/src/automations/engine.js +24 -14
- package/dist/server/src/automations/engine.js.map +1 -1
- package/dist/server/src/camera/codecCache.d.ts +10 -0
- package/dist/server/src/camera/codecCache.js +14 -0
- package/dist/server/src/camera/codecCache.js.map +1 -0
- package/dist/server/src/camera/controller.d.ts +1 -0
- package/dist/server/src/camera/controller.js +22 -0
- package/dist/server/src/camera/controller.js.map +1 -1
- package/dist/server/src/camera/decoder/detection-coordinator.d.ts +1 -0
- package/dist/server/src/camera/decoder/detection-coordinator.js +24 -7
- package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
- package/dist/server/src/camera/decoder/event-thumbnailer.d.ts +2 -0
- package/dist/server/src/camera/decoder/event-thumbnailer.js +1 -1
- package/dist/server/src/camera/decoder/event-thumbnailer.js.map +1 -1
- package/dist/server/src/camera/decoder/hardware.d.ts +4 -0
- package/dist/server/src/camera/decoder/hardware.js +17 -0
- package/dist/server/src/camera/decoder/hardware.js.map +1 -0
- package/dist/server/src/camera/decoder/plugin-registry.d.ts +1 -0
- package/dist/server/src/camera/decoder/plugin-registry.js +5 -0
- package/dist/server/src/camera/decoder/plugin-registry.js.map +1 -1
- package/dist/server/src/camera/decoder/sources/frame-source.d.ts +3 -1
- package/dist/server/src/camera/decoder/sources/frame-source.js +6 -2
- package/dist/server/src/camera/decoder/sources/frame-source.js.map +1 -1
- package/dist/server/src/camera/decoder/sources/snapshot-source.d.ts +2 -0
- package/dist/server/src/camera/decoder/sources/snapshot-source.js +3 -2
- package/dist/server/src/camera/decoder/sources/snapshot-source.js.map +1 -1
- package/dist/server/src/camera/decoder/worker.js +4 -1
- package/dist/server/src/camera/decoder/worker.js.map +1 -1
- package/dist/server/src/rpc/server.js +2 -0
- package/dist/server/src/rpc/server.js.map +1 -1
- package/dist/server/src/utils/camera.js +2 -1
- package/dist/server/src/utils/camera.js.map +1 -1
- package/dist/server/src/workers/manager.d.ts +1 -0
- package/dist/server/src/workers/manager.js +10 -2
- package/dist/server/src/workers/manager.js.map +1 -1
- package/dist/server/src/workers/types.d.ts +1 -0
- package/package.json +7 -7
- package/dist/interface/assets/Adminpanel-hjxjbIls.js +0 -1
- package/dist/interface/assets/Automation-BD6i5cCJ.js +0 -3
- package/dist/interface/assets/AutomationStore-CiCQsvdr.js +0 -2
- package/dist/interface/assets/AutomationStoreDetail-C8GdQfDw.js +0 -2
- package/dist/interface/assets/Automations-Dam6L6IJ.js +0 -2
- package/dist/interface/assets/Camera-Da5zEitE.css +0 -1
- package/dist/interface/assets/Camera-DpK373mr.js +0 -2
- package/dist/interface/assets/Camview-BXVRXt1q.js +0 -1
- package/dist/interface/assets/Config-FNZhCKP3.js +0 -2
- package/dist/interface/assets/Console-C8WGObIS.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-VFweBZsl.js +0 -1
- package/dist/interface/assets/CuiCameraRecordings-Cbv9O2mI.js +0 -1
- package/dist/interface/assets/CuiMarkdownContent-G916_kVN.js +0 -1
- package/dist/interface/assets/CuiPluginOAuthButton-CD_cP8Sg.js +0 -2
- package/dist/interface/assets/CuiQRCode-TwHpMVmz.js +0 -1
- package/dist/interface/assets/CuiRecordingsGrid-DFWeOQom.js +0 -1
- package/dist/interface/assets/CuiSchema-sba3GEON.js +0 -1
- package/dist/interface/assets/Faces-DKuJfnrx.js +0 -1
- package/dist/interface/assets/FirstSteps-VH2JpKh5.js +0 -1
- package/dist/interface/assets/Instances-B9R41nUI.js +0 -1
- package/dist/interface/assets/Menu-CauhLfRy.js +0 -1
- package/dist/interface/assets/Plugin-D83B_edv.js +0 -1
- package/dist/interface/assets/Plugin-wl-2k1zI.css +0 -1
- package/dist/interface/assets/PluginDetail-olQafOof.js +0 -2
- package/dist/interface/assets/PluginSearch-BRTEBxyD.js +0 -2
- package/dist/interface/assets/PluginSearch-BeRuXfue.js +0 -1
- package/dist/interface/assets/Plugins-kIuGHw0l.js +0 -1
- package/dist/interface/assets/Recordings-DCMz1eso.js +0 -1
- package/dist/interface/assets/Settings-Di_XJPuI.js +0 -1
- package/dist/interface/assets/SettingsAccount-B50Vw6rp.js +0 -1
- package/dist/interface/assets/SettingsAccount-DwPmXX3f.js +0 -1
- package/dist/interface/assets/SettingsAppearance-Bt5mV6iW.js +0 -1
- package/dist/interface/assets/SettingsAppearance-CiwV01fK.js +0 -1
- package/dist/interface/assets/SettingsNotifications-pL4a8qGr.js +0 -2
- package/dist/interface/assets/SettingsRemote-DtqxKJ72.js +0 -1
- package/dist/interface/assets/SettingsSystem-Bmu_mIzP.js +0 -2
- package/dist/interface/assets/SettingsUsers-DSrT7URM.js +0 -1
- package/dist/interface/assets/Terminal-rBjP4aPW.js +0 -4
- package/dist/interface/assets/Workers-BIrXPPcm.js +0 -2
- package/dist/interface/assets/api-C4TatJmj.js +0 -2
- package/dist/interface/assets/api-LLscRp6O.css +0 -2
- package/dist/interface/assets/cloudHandoff-CHuMYunO.js +0 -1
- package/dist/interface/assets/esm-5O0fbEL-.js +0 -1
- package/dist/interface/assets/esm-8JcCIx6p.js +0 -1
- package/dist/interface/assets/esm-BIwkRkap.js +0 -1
- package/dist/interface/assets/esm-Ba1kg7sT.js +0 -1
- package/dist/interface/assets/esm-CI9fumfA.js +0 -1
- package/dist/interface/assets/esm-CfqCZ8Ic.js +0 -1
- package/dist/interface/assets/esm-Cle2K7IB.js +0 -1
- package/dist/interface/assets/esm-DGhY5suq.js +0 -1
- package/dist/interface/assets/esm-D_SYso1m.js +0 -1
- package/dist/interface/assets/esm-Dg-c_Ys9.js +0 -1
- package/dist/interface/assets/esm-IjMpYY_D.js +0 -1
- package/dist/interface/assets/esm-JkR46BGF.js +0 -1
- package/dist/interface/assets/esm-KCb4USia.js +0 -1
- package/dist/interface/assets/esm-fiu1-7Vf.js +0 -1
- package/dist/interface/assets/main-LNc3C34P.js +0 -3
- package/dist/interface/assets/native-CNOra93F.js +0 -1
- package/dist/interface/assets/native-DAl9Pmov.js +0 -1
- package/dist/interface/assets/plugin-HHKHhKIh.js +0 -1
- package/dist/interface/assets/round-restart-alt-CeS-sqUQ.js +0 -1
- package/dist/interface/assets/types-DeSkG3t-.js +0 -1
- package/dist/interface/assets/useAppVersion-0AZfrSWk.js +0 -1
- package/dist/interface/assets/useBackupRestore-BSKF4lS5.js +0 -1
- package/dist/interface/assets/useUserOptions-8pJY90z8.js +0 -1
- package/dist/interface/assets/web-B2hT39CL.js +0 -1
- package/dist/interface/assets/web-BKoMlshd.js +0 -1
- package/dist/interface/assets/web-BjKL51lK-Ut62Hifg.js +0 -1
- package/dist/interface/assets/web-C0ZNZcUJ.js +0 -1
- package/dist/interface/assets/web-CvKW_k8u.js +0 -1
- package/dist/interface/assets/web-CxfYyhSm.js +0 -1
- package/dist/interface/assets/web-CzA5zxEf.js +0 -1
- package/dist/interface/assets/web-D7XF0rfU.js +0 -1
- package/dist/interface/assets/web-DgSunHN1.js +0 -1
- package/dist/interface/assets/web-DpgTK9mR.js +0 -1
- package/dist/interface/assets/web-Hi4guSgN.js +0 -1
- package/dist/interface/assets/web-QaIP1Mop.js +0 -1
- package/dist/interface/assets/web-VGpOPxhq.js +0 -1
- package/dist/interface/assets/web-g-y7DVV1.js +0 -1
- package/dist/interface/assets/workbox-window.prod.es5-YHyKoEMU.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{W as e}from"./vendor-capacitor-BmJAC1FL.js";export{e as BiometricAuthNative};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{R as e}from"./vendor-capacitor-BmJAC1FL.js";export{e as SecureStorageNative};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{k as e}from"./vendor-capacitor-BmJAC1FL.js";export{e as FileTransfer};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{At as e,F as t,Ot as n,Pt as r,Wr as i,wt as a}from"./vendor-cameraui-CxG00gaf.js";import{in as o}from"./api-C4TatJmj.js";import{Bn as s,Dn as c,Qt as ee,Rn as l,Sr as u,Tr as d,Wn as f,Xn as p,an as m,bn as h,dn as g,fn as _,kn as v,ln as y,lr as b,nr as x,pn as S,tr as C,un as w,vn as T,wr as E,xr as D,yr as O}from"./vendor-CdGy-Xet.js";import{p as k}from"./vendor-core-C6srgzh_.js";import{T as te}from"./vendor-primevue-DZljZRZZ.js";import{t as A}from"./theme-BJfyZiCo.js";import{t as ne}from"./arrow-right-outline-BrpH6MGt.js";import{a as j,c as M,i as N,l as P,o as F,t as I}from"./vendor-chart-BDu4sN9x.js";import{t as L}from"./chevron-right-Crha-j7O.js";var R={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function z(e,t){return l(),S(`svg`,R,[...t[0]||=[w(`path`,{fill:`currentColor`,d:`M5.59 7.41L7 6l6 6l-6 6l-1.41-1.41L10.17 12zm6 0L13 6l6 6l-6 6l-1.41-1.41L16.17 12z`},null,-1)]])}var re=b({name:`mdi-chevron-double-right`,render:z}),B={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function V(e,t){return l(),S(`svg`,B,[...t[0]||=[w(`path`,{fill:`currentColor`,d:`M15.41 16.58L10.83 12l4.58-4.59L14 6l-6 6l6 6z`},null,-1)]])}var ie=b({name:`mdi-chevron-left`,render:V}),H={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function U(e,t){return l(),S(`svg`,H,[...t[0]||=[w(`path`,{fill:`currentColor`,d:`M18.41 7.41L17 6l-6 6l6 6l1.41-1.41L13.83 12zm-6 0L11 6l-6 6l6 6l1.41-1.41L7.83 12z`},null,-1)]])}var W=b({name:`mdi-chevron-double-left`,render:U}),G=e=>e.type===`category`,K=e=>e.type===`action`,q=e=>e.type===`chart`,J=e=>e.type===`indicator`,Y={width:200,height:25},X={key:0,class:`text-muted`},ae=o(h({__name:`ChartWrapper`,props:c({data:{},options:{},width:{},height:{}},Y),setup(e){F.register(j,M,N,P);let{data:t,options:n,width:r,height:i}=O(e),a=p(`barRef`),o=y(()=>t.value.datasets?.[0].data??[]);function s(){let e=a.value?.chart;e&&(e.options.events=[`mousemove`,`mouseout`],e.options.plugins.tooltip.enabled=!0,e.update(`none`))}function c(){let e=a.value?.chart;e&&(e.options.events=[],e.options.plugins.tooltip.enabled=!1,e.update(`none`))}return(e,ee)=>D(o).length?(l(),g(D(I),{key:1,ref_key:`barRef`,ref:a,data:D(t),options:D(n),height:D(i),width:D(r),style:E({contain:`strict`,contentVisibility:`auto`,containIntrinsicSize:`${D(r)}px ${D(i)}px`,maxWidth:`${D(r)}px`,minWidth:`${D(r)}px`,minHeight:`${D(i)}px`,maxHeight:`${D(i)}px`}),onMouseenter:s,onMouseleave:c},null,8,[`data`,`options`,`height`,`width`,`style`])):(l(),S(`span`,X,d(e.$t(`components.charts.no_data`)),1))}}),[[`__scopeId`,`data-v-71d295c5`]]),oe={key:0,class:`absolute right-[20px] top-[5px] z-2`},se={key:0,class:`flex justify-center p-8`},ce={key:1,class:`cui-chart-table w-full`},le={key:0,class:`text-sm text-secondary`},ue=[`colspan`],de={key:0},fe={key:1},pe={key:0},me={key:2,class:`flex items-center justify-center gap-1 p-2 border-t border-surface`},he={class:`text-xs text-muted px-2`},Z=o(h({__name:`CuiChartTable`,props:{headers:{},items:{},loading:{type:Boolean},paginator:{type:Boolean},totalRecords:{},rows:{default:5},pagination:{},chartData:{},emptyMessage:{}},emits:[`update:page`],setup(o,{emit:c}){let h=o,b=c,{theme:j}=k(A()),{headers:M,items:N,loading:P,chartData:F,paginator:I,pagination:R,totalRecords:z,rows:B}=O(h),V=p(`endMarker`),H=p(`scrollTarget`),U=i(V,{scrollTarget:H}),Y=y(()=>R.value?.page??1),X=y(()=>!z.value||!B.value?1:Math.max(1,Math.ceil(z.value/B.value))),Z=y(()=>{if(!N.value)return[];if(!I.value)return N.value;let e=B.value??5,t=Y.value-1;return N.value.slice(t*e,(t+1)*e)});function Q(e){let t=B.value??5;b(`update:page`,{page:e-1,rows:t,first:(e-1)*t})}function $(e,t){let n=`${t.name}_${e.for}`,r=(F.value?.[n])?.datasets?.[0]?.data??[],i=Math.max(...r.map(e=>Number(e)||0)),a=Math.ceil(i/10)*10;return{responsive:!1,maintainAspectRatio:!1,devicePixelRatio:1,animation:!1,events:[],plugins:{legend:{display:!1},tooltip:{enabled:!1,mode:`point`,intersect:!1,backgroundColor:j.value===`dark`?`#2e2e2e`:`#f1f5f9`,titleColor:j.value===`dark`?`#ffffff`:`#000000`,bodyColor:j.value===`dark`?`#ffffff`:`#000000`,displayColors:!1,padding:8,callbacks:{title:e=>{let t=e[0].label;if(t&&!isNaN(Number(t))){let n=new Date(Number(t)).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}),r=e[0].raw;return[`${n}`,`${r.toFixed(2)}%`].join(` - `)}return``}}}},scales:{x:{display:!1,grid:{display:!1}},y:{display:!1,min:0,max:a||100,grid:{display:!1}}}}}return(i,c)=>{let p=ne,h=a,y=e,b=te,O=ae,k=n,A=W,j=ie,N=L,R=re,z=t,B=r;return l(),S(`div`,null,[T(z,{class:`cui-card`},{content:C(()=>[T(ee,{name:`fade`},{default:C(()=>[D(U)?_(``,!0):(l(),S(`div`,oe,[T(p,{width:`20px`,height:`20px`,class:`opacity-15`})]))]),_:1}),w(`div`,{ref_key:`scrollTarget`,ref:H,class:`overflow-x-auto relative`},[D(P)?(l(),S(`div`,se,[T(h,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(l(),S(`table`,ce,[w(`thead`,null,[w(`tr`,null,[(l(!0),S(m,null,s(D(M),(e,t)=>(l(),S(`th`,{key:t,class:u([e.columnProps?.headerClass,`p-2 h-7 min-h-7 max-h-7 text-sm`])},d(e.name??``),3))),128)),w(`th`,{ref_key:`endMarker`,ref:V,class:`w-0 p-0 m-0`},null,512)])]),w(`tbody`,null,[D(Z).length?(l(!0),S(m,{key:1},s(D(Z),(e,t)=>(l(),S(`tr`,{key:t,class:`text-sm text-secondary`},[(l(!0),S(m,null,s(D(M),(t,n)=>(l(),S(`td`,{key:n,class:u([t.columnProps?.class,`p-2 h-7 min-h-7 max-h-7`])},[D(J)(t)?(l(),S(`div`,v({key:0,ref_for:!0},t.props),[x(T(y,{style:E({background:t.color?.(e)??`gray`})},null,8,[`style`]),[[B,{value:t.tooltip?.(e)}]])],16)):D(G)(t)?(l(),S(`div`,v({key:1,ref_for:!0},t.props),[t.asChip?(l(),g(b,v({key:0,ref_for:!0},t.chipProps),{default:C(()=>[w(`span`,null,d(t.altName?t.altName:typeof t.field==`string`?e[t.field]:t.field(e)),1),t.suffix?(l(),S(`span`,de,d(t.suffix),1)):_(``,!0)]),_:2},1040)):(l(),S(`span`,fe,[w(`span`,null,d(t.altName?t.altName:typeof t.field==`string`?e[t.field]:t.field(e)),1),t.suffix?(l(),S(`span`,pe,d(t.suffix),1)):_(``,!0)]))],16)):D(q)(t)&&D(F)&&D(F)[`${e.name}_${t.for}`]?(l(),S(`div`,v({key:2,ref_for:!0},t.props),[T(O,{data:D(F)[`${e.name}_${t.for}`],options:$(t,e),height:25},null,8,[`data`,`options`])],16)):D(K)(t)?(l(),S(`div`,v({key:3,ref_for:!0},t.props,{class:`flex items-center justify-end gap-1`}),[t.buttons?.length?(l(!0),S(m,{key:0},s(t.buttons,(t,n)=>(l(),S(m,{key:n},[t.disabled?.(e)?_(``,!0):(l(),g(k,v({key:0,rounded:``,loading:t.loading?.(e)},{ref_for:!0},t.buttonProps,{class:`text-white cui-icon-md`,onClick:n=>t.action(e)}),{icon:C(()=>[(l(),g(f(t.icon)))]),_:2},1040,[`loading`,`onClick`]))],64))),128)):t.disabled?.(e)?_(``,!0):(l(),g(k,v({key:1,rounded:``,loading:t.loading?.(e)},{ref_for:!0},t.buttonProps,{class:`text-white cui-icon-md`,onClick:n=>t.action?.(e)}),{icon:C(()=>[(l(),g(f(t.icon)))]),_:2},1040,[`loading`,`onClick`]))],16)):_(``,!0)],2))),128)),c[4]||=w(`td`,{class:`w-0 p-0 m-0`},null,-1)]))),128)):(l(),S(`tr`,le,[w(`td`,{colspan:D(M).length+1,class:`p-4 text-center text-muted`},d(o.emptyMessage??i.$t(`components.process_table.empty`)),9,ue)]))])])),D(I)&&D(X)>1?(l(),S(`div`,me,[T(k,{text:``,rounded:``,class:`cui-icon-sm`,disabled:D(Y)<=1,onClick:c[0]||=e=>Q(1)},{icon:C(()=>[T(A,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`]),T(k,{text:``,rounded:``,class:`cui-icon-sm`,disabled:D(Y)<=1,onClick:c[1]||=e=>Q(D(Y)-1)},{icon:C(()=>[T(j,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`]),w(`span`,he,d(D(Y))+` / `+d(D(X)),1),T(k,{text:``,rounded:``,class:`cui-icon-sm`,disabled:D(Y)>=D(X),onClick:c[2]||=e=>Q(D(Y)+1)},{icon:C(()=>[T(N,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`]),T(k,{text:``,rounded:``,class:`cui-icon-sm`,disabled:D(Y)>=D(X),onClick:c[3]||=e=>Q(D(X))},{icon:C(()=>[T(R,{width:`100%`,height:`100%`})]),_:1},8,[`disabled`])])):_(``,!0)],512)]),_:1})])}}}),[[`__scopeId`,`data-v-0b0bd4a5`]]),Q={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function $(e,t){return l(),S(`svg`,Q,[...t[0]||=[w(`path`,{fill:`currentColor`,d:`M12 5V3.21c0-.45-.54-.67-.85-.35l-2.8 2.79c-.2.2-.2.51 0 .71l2.79 2.79c.32.31.86.09.86-.36V7c3.31 0 6 2.69 6 6c0 2.72-1.83 5.02-4.31 5.75c-.42.12-.69.52-.69.95c0 .65.62 1.16 1.25.97A7.99 7.99 0 0 0 20 13c0-4.42-3.58-8-8-8m-6 8c0-1.34.44-2.58 1.19-3.59c.3-.4.26-.95-.09-1.31c-.42-.42-1.14-.38-1.5.1a7.99 7.99 0 0 0 4.15 12.47c.63.19 1.25-.32 1.25-.97c0-.43-.27-.83-.69-.95C7.83 18.02 6 15.72 6 13`},null,-1)]])}var ge=b({name:`ic-round-restart-alt`,render:$});export{Z as n,q as r,ge as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Ar as e,Mr as t,Nr as n,jr as r}from"./vendor-cameraui-CxG00gaf.js";import{C as i,S as a,_ as o,a as s,b as c,c as l,d as u,f as ee,g as d,h as f,i as p,l as m,m as te,o as ne,p as re,s as h,u as g,v as ie,w as _,x as ae,y as v}from"./vendor-zod-BaT-dXMv.js";o({tempToken:c().trim().min(1,`Temporary token is required`),code:c().trim().min(1,`Code is required`)}).strict(),o({code:c().trim().length(6,`Code must be 6 digits`)}).strict(),o({code:c().trim().min(1,`Code is required`)}).strict(),o({code:c().trim().min(1,`Code is required`)}).strict(),o({grant_type:c().optional(),username:c().trim().min(1,`Username is required`),password:c().min(1,`Password is required`),scope:c().optional(),client_id:c().optional(),client_secret:c().optional()}),o({refresh_token:c().min(1,`Refresh token is required`)}),o({id:c()}),o({name:c().trim().min(1,`Name is required`).max(64,`Name is too long`)}).strict(),o({id:c()});function oe(e){let t=[`kasa://`,`nest:`,`ring:`,`tapo://`];return e.some(e=>t.some(t=>e.startsWith(t)))}var se=[`#df2a4c`,`#2a7fdf`,`#2adf7f`,`#df7f2a`,`#7f2adf`,`#2adfdf`,`#df2adf`,`#7fdf2a`];function ce(){return se[Math.floor(Math.random()*se.length)]}function le(){return{name:`Default Zone`,points:[[0,0],[100,0],[100,100],[0,100]],type:`contain`,filter:`include`,labels:[`motion`,`person`,`vehicle`,`animal`],isPrivacyMask:!1,color:ce()}}var ue=o({enabled:g().default(!0),mode:h([`continuous`,`event`,`adhoc`]).default(`continuous`),preBuffer:d().min(0).max(60).default(10),sources:m(h([`high`,`mid`,`low`])).default([`high`,`mid`,`low`])}).strict(),de={enabled:!0,mode:`continuous`,preBuffer:10,sources:[`high`,`mid`,`low`]},fe=c().trim().min(1,`Detection label is required`),y=ae([d(),d()]),b=o({name:c().trim().min(1,`Zone Name is required`),points:y.array().min(3,`At least 3 points are required`),type:a([f(`intersect`),f(`contain`)]),filter:a([f(`include`),f(`exclude`)]),labels:fe.array(),isPrivacyMask:g(),color:c().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),x=o({name:c().trim().min(1,`Line Name is required`),points:ae([y,y]),direction:a([f(`both`),f(`a-to-b`),f(`b-to-a`)]),labels:fe.array(),color:c().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),pe=o({motion:o({resolution:a([f(`low`),f(`medium`),f(`high`)]),timeout:d().min(10,`Minimum 10 seconds`)}),object:o({confidence:d().min(.3,`Minimum 0.3`).max(1,`Maximum 1`),suppressStatic:g().default(!0)}),audio:o({minDecibels:d().min(-100,`Minimum -100 dBFS`).max(0,`Maximum 0 dBFS`),timeout:d().min(10,`Minimum 10 seconds`),confidence:d().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.7)}),face:o({confidence:d().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.5)}).default({confidence:.5}),licensePlate:o({confidence:d().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.9),minLength:d().int().min(1,`Minimum 1`).max(10,`Maximum 10`).default(4)}).default({confidence:.9,minLength:4}),sensor:o({timeout:d().min(10,`Minimum 10 seconds`),triggers:m(o({sensorType:c().trim().min(1,`Sensor type is required`),sensorName:c().trim().min(1,`Sensor name is required`),pluginId:c().trim().min(1,`Plugin ID is required`)})).default([])}),cascadeDetection:g().default(!0),cascadeTimeout:d().min(1,`Minimum 1 second`).max(300,`Maximum 300 seconds`).default(10),snooze:g().default(!1)}),me={enabled:!1,targetLabels:[`person`],minConfidence:.5,triggerDeadZone:.05,trackingSpeed:2,leadMs:1800,panRate:.85,returnToHome:!1,homeWaitMs:1e4},he=o({enabled:g().default(!1),targetLabels:c().trim().min(1,`Target label is required`).array().default([`person`]),minConfidence:d().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),triggerDeadZone:d().min(0,`Minimum 0`).max(.3,`Maximum 0.3`).default(.05),trackingSpeed:d().min(1,`Minimum 1`).max(5,`Maximum 5`).default(2),leadMs:d().min(0,`Minimum 0`).max(4e3,`Maximum 4000 ms`).default(1800),panRate:d().min(.1,`Minimum 0.1`).max(3,`Maximum 3`).default(.85),returnToHome:g().default(!1),homeWaitMs:d().min(1e3,`Minimum 1000 ms`).max(6e4,`Maximum 60000 ms`).default(1e4)}),S=a([f(`high-resolution`),f(`mid-resolution`),f(`low-resolution`),f(`snapshot`)]),ge=a([f(`high-resolution`),f(`mid-resolution`),f(`low-resolution`)]),_e=a([f(`bubble://`),f(`cui://`),f(`doorbird://`),f(`dvrip://`),f(`eseecloud://`),f(`ffmpeg:`),f(`flussonic://`),f(`gopro://`),f(`hass:`),f(`homekit://`),f(`http://`),f(`https://`),f(`httpx://`),f(`isapi://`),f(`ivideon:`),f(`kasa://`),f(`nest:`),f(`onvif://`),f(`ring:`),f(`roborock://`),f(`rtmp://`),f(`rtsp://`),f(`rtspx://`),f(`tapo://`),f(`tcp://`),f(`tuya://`),f(`xiaomi://`),f(`yandex:`),f(`webrtc:`),f(`webtorrent:`),f(`wyze://`)]).options.map(e=>e.value),ve=RegExp(`^(${_e.join(`|`)})`),C=c().refine(e=>{if(!ve.test(e))return!1;try{return new URL(e),!0}catch{return!1}},{message:`Invalid URL format or unsupported protocol`}),ye=o({_id:c().default(r()).transform(()=>r()),name:c().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:S,useForSnapshot:g().default(!1),hotMode:g().default(!0),preload:g().default(!0),muted:g().default(!1),urls:C.array().min(1,`At least one valid URL is required`),childSourceId:c().trim().min(1,`Child Source ID is required`).optional()}).strict().transform(e=>e.role===`snapshot`?{...e,useForSnapshot:!1,hotMode:!1,preload:!1}:e),be=o({_id:c().default(r()).transform(()=>r()),name:c().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:S,useForSnapshot:g().default(!1),hotMode:g().default(!0),preload:g().default(!0),muted:g().default(!1),urls:C.array().min(1,`At least one valid URL is required`),childSourceId:c().trim().min(1,`Child Source ID is required`).optional()}).strict().transform(e=>e.role===`snapshot`?{...e,useForSnapshot:!1,hotMode:!1,preload:!1}:e),w=o({id:c(),name:c().trim()}),T=o({motion:w.optional(),object:w.optional(),objectAssist:w.optional(),audio:w.optional(),face:w.optional(),licensePlate:w.optional(),ptz:w.optional(),battery:w.optional(),cameraController:w.optional(),clip:w.optional(),classifier:w.array().optional(),light:w.array().optional(),siren:w.array().optional(),switch:w.array().optional(),securitySystem:w.array().optional(),contact:w.array().optional(),doorbell:w.array().optional(),lock:w.array().optional(),temperature:w.array().optional(),humidity:w.array().optional(),occupancy:w.array().optional(),smoke:w.array().optional(),leak:w.array().optional(),garage:w.array().optional(),hub:w.array().optional()}).strict(),xe=a([f(`auto`),f(`mse`),f(`webrtc`),f(`webrtc/tcp`)]),Se=c().regex(/^\d+(?:\.\d+)?:\d+(?:\.\d+)?$/,`Use a width:height ratio, e.g. 16:9`).refine(e=>{let[t,n]=e.split(`:`).map(Number);return Number.isFinite(t)&&Number.isFinite(n)&&t>0&&n>0},`Both sides must be greater than 0`).transform(e=>e),E=o({fps:d().min(0,`Minimum 0 fps`).max(30,`Maximum 30 fps`),hqSnapshots:g().default(!1)}),D=a([f(`camera`),f(`doorbell`)]),O=o({streamingMode:xe,streamingSource:ge,aspectRatio:Se}),k=o({model:c().trim().optional(),manufacturer:c().trim().optional(),hardware:c().trim().optional(),serialNumber:c().trim().optional(),firmwareVersion:c().trim().optional(),supportUrl:c().trim().optional()}),Ce=o({id:c(),name:c().trim()}).strict(),A=o({autoRefresh:g().default(!0),ttl:d().min(10,`Minimum 10 seconds`).max(60,`Maximum 60 seconds`).default(50),interval:d().min(10,`Minimum 10 seconds`).max(60,`Maximum 60 seconds`).default(60)}).strict(),j=o({_id:c().default(r()).transform(()=>r()),nativeId:c().trim().optional(),pluginInfo:Ce.optional(),disabled:g().default(!1),name:c().trim().min(1,`Camera name is required`),room:c().trim().min(1,`Room is required`).default(`Default`),type:D.default(`camera`),isCloud:g().default(!1),snapshotSettings:A.default({autoRefresh:!0,ttl:50,interval:60}),info:k.default({model:`IP Camera`,manufacturer:`camera.ui`,hardware:`Camera`,serialNumber:`Unknown`,firmwareVersion:`Unknown`,supportUrl:`Unknown`}),sources:ye.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>{let t=e.map(e=>e.role).filter(Boolean);return new Set(t).size===t.length},{message:`Each source role can be assigned to only one source`,path:[`sources`]}),plugins:w.array().default([]),assignments:T.default({}),interfaceSettings:O.default({streamingMode:`webrtc`,streamingSource:`high-resolution`,aspectRatio:`16:9`}),detectionZones:b.default([]),detectionLines:x.default([]),detectionSettings:pe.default({motion:{resolution:`low`,timeout:30},object:{confidence:.5,suppressStatic:!0},audio:{minDecibels:-40,timeout:30,confidence:.7},face:{confidence:.5},licensePlate:{confidence:.9,minLength:4},sensor:{timeout:30,triggers:[]},cascadeDetection:!0,cascadeTimeout:10,snooze:!1}),ptzAutotrack:he.default(me),recordingSettings:ue.default(de),frameWorkerSettings:E.default({fps:10,hqSnapshots:!1})}).strict();j.transform(e=>{let t=e.sources.flatMap(e=>e.urls),n=e.detectionZones.length===0?[le()]:e.detectionZones;return e.isCloud||oe(t)?{...e,isCloud:!0,detectionZones:n}:{...e,detectionZones:n}});var we=o({disabled:g().optional(),type:D.optional(),name:c().trim().min(1,`Camera name is required`).optional(),room:c().trim().min(1,`Room is required`).optional(),isCloud:g().optional(),snapshotSettings:A.partial().optional(),info:k.partial().optional(),sources:be.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>{let t=e.map(e=>e.role).filter(Boolean);return new Set(t).size===t.length},{message:`Each source role can be assigned to only one source`,path:[`sources`]}).optional(),plugins:w.array().optional(),assignments:T.partial().optional(),interfaceSettings:O.partial().optional(),detectionZones:b.optional(),detectionLines:x.optional(),detectionSettings:pe.partial().optional(),ptzAutotrack:he.partial().optional(),recordingSettings:ue.partial().optional(),frameWorkerSettings:E.partial().optional()}).strict().transform(e=>{if(e.sources){let t=e.sources.flatMap(e=>e.urls);if(e.isCloud===!0||oe(t))return{...e,isCloud:!0}}return e});o({url:c().trim().refine(e=>!/^\s*(exec|echo|expr):/i.test(e),`Command-execution stream sources are not allowed`)}).strict(),o({cameraname:c()}),o({cameraname:c(),sourcename:c()}),o({cameraid:c(),sourcename:c()}),o({cameraname:c(),pluginname:c()}),o({cameraname:c(),scope:c(),pluginname:c()}),o({cameraname:c(),pluginname:c(),sensorId:c()}),o({cameraname:c(),stableId:c()}),o({property:c(),value:i()}),o({cameraname:c(),scope:c(),pluginname:c(),sensorId:c()}),o({type:c().optional()}),o({video:p().optional(),audio:p().optional(),microphone:p().optional(),refresh:p().optional()}),o({forceNew:p().optional()}),o({name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`),url:_(`Must be a valid URL`).trim(),credentials:o({username:c().trim().min(1,`Username is required`),password:c().min(1,`Password is required`)})}),o({name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional(),url:_(`Must be a valid URL`).trim().optional(),credentials:o({username:c().trim().min(1,`Username is required`),password:c().min(1,`Password is required`)}).nullable().optional()}),o({id:c().min(1,`ID is required`)}),o({code:c().trim().min(1,`Code is required`).optional()}).optional();var M=/^[\w-]+(\/[\w-]+)*$/,Te=o({enabled:g().optional(),mode:h([`external`,`embedded`]).optional(),broker:o({port:d().int().min(1).max(65535).optional(),username:c().trim().max(200,`Username cannot be more than 200 characters`).nullable().optional(),password:c().max(500,`Password cannot be more than 500 characters`).nullable().optional()}).strict().optional(),host:c().trim().min(1,`Host is required`).max(253,`Host cannot be more than 253 characters`).nullable().optional(),port:d().int().min(1).max(65535).optional(),protocol:h([`mqtt`,`mqtts`]).optional(),username:c().trim().max(200,`Username cannot be more than 200 characters`).nullable().optional(),password:c().max(500,`Password cannot be more than 500 characters`).nullable().optional(),clientId:c().trim().min(1,`Client ID is required`).max(128,`Client ID cannot be more than 128 characters`).optional(),topicPrefix:c().trim().min(1,`Topic prefix is required`).max(128,`Topic prefix cannot be more than 128 characters`).regex(M,`Topic prefix may only contain letters, numbers, "_", "-" and "/" separators`).optional(),tls:o({rejectUnauthorized:g().optional(),ca:c().trim().nullable().optional(),cert:c().trim().nullable().optional(),key:c().trim().nullable().optional()}).strict().optional(),haDiscovery:o({enabled:g().optional(),prefix:c().trim().min(1,`Discovery prefix is required`).max(128,`Discovery prefix cannot be more than 128 characters`).regex(M,`Discovery prefix may only contain letters, numbers, "_", "-" and "/" separators`).optional()}).strict().optional()}).strict(),Ee=/^((@[\w-.]*)\/)?(camera-ui-[\w-]*)$/,De=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}({});function N(e){return e.mimetype!==void 0}function Oe(e){return N(e)?Buffer.byteLength(e._buf):e.size}function ke(e){return N(e)?e.mimetype:e.type}function P(e,t,n,r){return u().refine(t=>Oe(t)<=e,n).refine(e=>t.includes(ke(e)),r)}var Ae=o({start:s().optional(),page:s().optional(),pageSize:s().optional()}),F=[`image/jpeg`,`image/png`],je=1024*1024*2,I=[`video/mp4`,`video/quicktime`],L=1024*1024*10,R=[`audio/mpeg`,`audio/wav`,`audio/ogg`],z=1024*1024*2,B=()=>P(je,F,`Max file size is 2 MB`,`.jpeg and .png files are accepted`),V=u().transform(e=>JSON.parse(e.value)),H=u().transform(e=>JSON.parse(e.value)),Me=u().transform(e=>JSON.parse(e.value));o({pluginname:c().trim().refine(e=>Ee.test(e),`Not a valid plugin name`),pluginversion:c().trim().refine(e=>/^[a-z][\w-]*$/i.test(e)||/^v?\d+\.\d+\.\d+(?:[-+][\w.-]+)?$/i.test(e),`Not a valid plugin version (expected a dist-tag or exact semver)`).optional().default(`latest`)}).strict(),o({actionId:c(),payload:l()}).strict(),v(l(),l()),o({upload:B(),metadata:H,config:V}),o({upload:P(z,R,`Max file size is 2 MB`,`.mp3, .wav and .ogg files are accepted`),metadata:Me,config:V}),o({upload:P(L,I,`Max file size is 5 MB`,`.mp4 files are accepted`),config:V}),o({upload:B(),metadata:H,config:V}),o({upload:B(),metadata:H,config:V}),o({upload:B(),metadata:H,config:V}),o({pluginname:c()}),o({scope:c(),pluginname:c()}),Ae.extend({pluginname:c().trim().optional(),refresh:p().optional()}),o({removeStorage:p().optional()}),o({pluginversion:c().trim().optional()});var Ne=o({enabled:g().optional(),directEnabled:g().optional(),directMode:h([`cloudflare`,`customDomain`]).optional(),customDomain:o({url:_(`Must be a valid URL`).trim().nullable()}).strict().optional(),cloudflare:o({mode:h([`quick`,`token`,`managed`]).optional(),hostname:c().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).nullable().optional(),token:c().trim().min(1,`Token is required`).nullable().optional()}).strict().optional()}).strict().refine(e=>!(e.directMode===`customDomain`&&!e.customDomain?.url),{message:`Custom domain URL is required when directMode is "customDomain"`,path:[`customDomain`,`url`]}).refine(e=>!(e.cloudflare?.mode&&e.cloudflare.mode!==`quick`&&!e.cloudflare?.hostname),{message:`Hostname is required when cloudflare.mode is "token" or "managed"`,path:[`cloudflare`,`hostname`]});o({mode:h([`cloudflare`,`customDomain`])}).strict(),o({hostname:c().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).regex(/^[a-z0-9.-]+\.[a-z]{2,}$/i,`Invalid hostname`)}).strict(),o({name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),o({name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),o({name:c().trim().min(1,`Server name is required`).max(100,`Server name cannot be more than 100 characters`)}).strict(),o({version:c().trim().optional().default(`latest`)}).strict();var Pe=o({serverAddresses:a([re().trim(),te().trim()]).array().default([])}).strict();o({version:c().trim()}).strict(),v(c(),l()),o({key:c()}).strict(),o({key:c(),payload:l()}).strict();var Fe=[`de`,`en`],Ie=[`image/jpeg`,`image/jpg`,`image/png`],Le=1024*1024*5,U=o({index:d(),cameraId:c(),colSpan:d().optional(),rowSpan:d().optional(),x:d().optional(),y:d().optional()}),Re=a([f(1),f(4),f(6),f(7),f(9),f(10),f(12),f(13),f(15),f(16),f(20),f(26)]),ze=a([f(`dnd`),f(`view`)]),Be=o({_id:c().default(r()).transform(()=>r()),name:c().trim().min(1,`Layout name is required`),viewSize:Re,cameras:U.array(),type:ze});o({name:c().trim().min(1,`Layout name is required`),viewSize:Re,cameras:U.array()}).partial().optional();var Ve=o({views:Be.array()}),He=h(t.filter(e=>e.shortcutable).map(e=>String(e.type))),Ue=ee(`type`,[o({_id:c().default(r()).transform(()=>r()),type:f(`camera`),cameraId:c(),points:y}),o({_id:c().default(r()).transform(()=>r()),type:f(`sensor`),sensorType:He,sensorName:c(),sensorPluginId:c(),sensorCameraId:c(),points:y})]);a([o({type:f(`camera`),cameraId:c(),points:y}).partial(),o({type:f(`sensor`),sensorType:He,sensorName:c(),sensorPluginId:c(),sensorCameraId:c(),points:y}).partial()]).optional();var We=o({shortcuts:Ue.array()}),Ge=o({language:h([`auto`,...Fe]).optional(),camview:Ve,cameras:v(c().trim(),We)}),W=c().trim().min(10,`Password must be at least 10 characters long`).regex(/[A-Z]/,`Password must contain at least one uppercase letter`).regex(/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/,`Password must contain at least one special character (!@#$%^&*()_+-=[]{};:'"\\|,.<>/?)`).max(32,`Password cannot be more than 32 characters`),Ke=o({_id:c().default(r()).transform(()=>r()),username:c().trim().min(1,`Username is required`),password:W,passwordConfirm:c().trim().min(1,`Please confirm your password`),role:a([f(`admin`),f(`user`)]),firstLogin:g().default(!0),preferences:Ge.default({language:`auto`,camview:{views:[]},cameras:{}})}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});o({username:c().trim().min(1,`Username is required`),password:c().trim().min(1,`Password is required`),kind:h([`native`,`web`]),persistent:g().default(!1),device:o({id:c().min(1,`Device id is required`).max(128,`Device id cannot be more than 128 characters`),name:c().trim().min(1,`Device name is required`).max(100,`Device name cannot be more than 100 characters`)})}).strict();var qe=o({username:c().trim().min(1,`Username is required`).optional(),password:W.optional(),passwordConfirm:c().trim().optional(),role:a([f(`admin`),f(`user`)]).optional(),upload:ie(P(Le,Ie,`Max file size is 5MB.`,`.jpg, .jpeg, .png files are accepted.`)),firstLogin:g().optional(),preferences:Ge.partial().optional()}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});o({username:c()}),o({username:c(),cameraname:c()}),o({username:c(),cameraname:c(),shortcutid:c()}),o({username:c(),viewid:c()}),o({username:c()});function Je(){let e={};for(let n of t)e[n.type]={category:n.category,assignmentKey:n.assignmentKey,multiProvider:n.multiProvider,isDetectionType:n.isDetectionType,...n.cascadeTrigger?{cascadeTrigger:n.cascadeTrigger}:{}};return e}var G=Je();Object.fromEntries(t.filter(e=>e.propertyCapabilities).map(e=>[e.type,e.propertyCapabilities]));function Ye(){return Object.entries(G).filter(([,e])=>e.multiProvider).map(([e])=>e)}function Xe(){return t.filter(e=>e.shortcutable).map(e=>e.type)}function Ze(){return Object.entries(G).filter(([,e])=>e.isDetectionType).map(([e])=>e)}function Qe(e){return G[e].assignmentKey}function $e(){return Object.entries(G).filter(([,e])=>e.category===n.Sensor&&!e.multiProvider).map(([e])=>e)}function et(){return Object.entries(G).filter(([,e])=>!e.multiProvider&&e.category!==n.Sensor).map(([e])=>e)}function tt(){return Object.entries(G).filter(([,e])=>e.multiProvider).map(([e])=>e)}function nt(e){return!G[e].multiProvider}Object.fromEntries(t.map(e=>[e.type,Object.keys(e.properties)]));var K=Object.fromEntries(t.map(e=>[e.type,e.properties]));function rt(e,t){return K[e]?.[t]}function it(e){let t=K[e];return t?Object.entries(t).filter(([,e])=>!e.internal).map(([e])=>e):[]}function at(e){let t=K[e];return t?Object.entries(t).filter(([,e])=>e.writable).map(([e])=>e):[]}new Set(Ye()),new Set(Ze());var ot=`cameraui.virtual`,st=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]));var ct=o({cameraId:c().min(1,`Camera ID is required`),type:h(st),name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`)});o({displayName:c().trim().min(1,`Display name is required`).max(100,`Display name cannot be more than 100 characters`)}),o({id:c().min(1,`ID is required`)});function lt(e){return e.type===`string`&&!(`enum`in e)}function ut(e){return e.type===`number`}function dt(e){return e.type===`boolean`}function q(e){return e.type===`string`&&`enum`in e}function ft(e){return e.type===`array`}function J(e){return e.type===`button`}function Y(e){return e.type===`submit`}function pt(e){return lt(e)&&(!e.format||e.format!==`qrCode`&&e.format!==`image`)}var mt=(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=>mt(e,t)):mt(e,t)}function ht(t,n){if(!t||Object.keys(t).length===0)return!0;let r=n.filter(e=>!J(e)&&!Y(e));for(let n of r){let r=Q(t,n.key),i=Z(n);if(r!==void 0&&!e(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[];default:return}}function gt(e){let t={};for(let n of e)J(n)||Y(n)||(t[n.key]=Z(n));return t}function _t(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 vt(e){return!isNaN(Number(e))}function Q(e={},t){if(!t.includes(`.`)&&!t.includes(`[`))return e[t];let n=e;for(let e of _t(t)){if(n==null)return;n=n[e]}return n}function yt(e,t,n){if(!t.includes(`.`)&&!t.includes(`[`)){e[t]=n;return}let r=_t(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]=vt(r[e+1]??i)?[]:{}),a=a[t]}a[i]=n}function bt(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 xt(e,t){return t?e.filter(e=>`group`in e&&e.group===t):e}function St(e,t){let n=xt(e,t);return n.length>0&&n.every(e=>`readonly`in e&&e.readonly)}function Ct(e,t){let n=xt(e,t);return n.length>0&&n.some(e=>`store`in e&&e.store)}function wt(e,t){if(!t)return!0;let n={"date-time":e=>/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})?$/.test(e),date:e=>/^\d{4}-\d{2}-\d{2}$/.test(e),time:e=>/^([01]?[0-9]|2[0-3]):([0-5][0-9])(:([0-5][0-9]))?$/.test(e),email:e=>/^\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,7}\b$/.test(e),uuid:e=>/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(e),ipv4:e=>/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(e),ipv6:e=>/^\s*([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4})\s*$/.test(e)};return t in n?n[t](e):!0}function $(e){if(J(e)||Y(e))return l();switch(e.type){case`string`:if(q(e))if(e.multiple){let t=m(c().trim().refine(t=>e.enum.includes(t),{error:`Invalid selection`}));return e.required&&(t=t.min(1,{error:`Required`})),e.required?t:t.optional()}else{let t=h(e.enum);return e.required?t:t.optional()}let t=c().trim();return e.required&&(t=t.nonempty(`Required`)),e.minLength!==void 0&&(t=t.min(e.minLength)),e.maxLength!==void 0&&(t=t.max(e.maxLength)),e.format&&(t=t.refine(t=>!t||t.trim()===``||wt(t,e.format),{message:`Invalid ${e.format} format`})),e.required?t:t.optional();case`number`:let n=d();return e.minimum!==void 0&&(n=n.min(e.minimum)),e.maximum!==void 0&&(n=n.max(e.maximum)),e.required&&(n=n.refine(e=>e!=null,{error:`Required`})),e.required?n:n.optional();case`boolean`:return e.required?g():g().optional();case`array`:let r=m(e.items?$(e.items):l());return e.required?r:r.optional();default:return e.required?l():l().optional()}}var Tt=(e,t,n)=>t.filter(e=>`group`in e&&e.group===n).some(t=>{let n=e[t.key];return n!=null&&n!==``});function Et(e){let t={},n=new Set;e.forEach(e=>{`group`in e&&e.group&&n.add(e.group)}),e.forEach(e=>{if(!J(e)&&!Y(e)){let n=`group`in e&&e.group,r=`condition`in e&&e.condition;(n||r)&&e.required?t[e.key]=$({...e,required:!1}):t[e.key]=$(e)}});let r=o(t),i=e.filter(e=>`condition`in e&&e.condition&&`required`in e&&e.required&&!J(e)&&!Y(e));return(n.size>0||i.length>0)&&(r=r.superRefine((t,r)=>{for(let i of n)if(Tt(t,e,i)){let n=e.filter(e=>`group`in e&&e.group===i);for(let e of n)if(`required`in e&&e.required){if(`condition`in e&&e.condition&&!X(e.condition,t))continue;let n=t[e.key];(n==null||n===``)&&r.addIssue({code:ne.custom,message:`Required`,path:[e.key]})}}for(let e of i)if(!(`group`in e&&e.group)&&`condition`in e&&e.condition&&X(e.condition,t)){let n=t[e.key];(n==null||n===``)&&r.addIssue({code:ne.custom,message:`Required`,path:[e.key]})}})),r}export{at as A,R as B,tt as C,it as D,$e as E,W as F,De as G,F as H,qe as I,j as J,Te as K,Be as L,Le as M,Fe as N,rt as O,Ke as P,we as Q,Pe as R,st as S,et as T,z as U,I as V,L as W,b as X,x as Y,S as Z,Ct as _,Et as a,G as b,dt as c,q as d,ut as f,St as g,pt as h,bt as i,nt as j,Xe as k,J as l,Y as m,gt as n,Q as o,lt as p,_e as q,Z as r,ft as s,X as t,ht as u,yt as v,Qe as w,ot as x,ct as y,Ne as z};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{K as e}from"./api-C4TatJmj.js";import{pr as t}from"./vendor-CdGy-Xet.js";function n(){let{electron:n}=e(),r=t(null);return{uiVersion:`2.0.0`,appVersion:r,nativeVersion:t(null),refreshAppVersion:async()=>{if(n)try{let e=await n.invoke(`get-app-version`);r.value=typeof e==`string`?e:null}catch{r.value=null}}}}export{n as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as e,qn as t,s as n,tr as r}from"./api-C4TatJmj.js";import{pr as i}from"./vendor-CdGy-Xet.js";import{a}from"./server-hEeNagJk.js";import{n as o}from"./useServerRestart-Bp_KEXEn.js";var s=3e5;async function c(e){return(await r.post(`/backup/download`,{localStorage:e},{responseType:`arraybuffer`,timeout:s})).data}async function l(e,t){return(await r.post(`/backup/restore`,e,{timeout:s,onUploadProgress:e=>{e.total&&t?.(Math.round(e.loaded/e.total*100))}})).data}async function u(){return(await r.get(`/backup/scheduler`)).data}async function d(e){return(await r.patch(`/backup/scheduler`,e)).data}async function f(){return(await r.post(`/backup/scheduler/run`)).data}async function p(e){return(await r.get(`/backup/scheduler/backups/${encodeURIComponent(e)}`,{responseType:`arraybuffer`,timeout:s})).data}async function m(e){await r.delete(`/backup/scheduler/backups/${encodeURIComponent(e)}`)}var h=i(!1),g=i(`idle`),_=i(0),v=i(``),y=h;function b(e){e.theme&&localStorage.setItem(`theme`,JSON.stringify(e.theme)),e.language&&localStorage.setItem(`language`,e.language),e.ui&&localStorage.setItem(`ui`,JSON.stringify(e.ui))}function x(){async function r(r){let i=t();h.value=!0,g.value=`uploading`,_.value=0,v.value=``;try{let e=new FormData;e.append(`upload`,r),b(await l(e,e=>{_.value=e,e>=100&&(g.value=`restoring`)}))}catch(e){return h.value=!1,g.value=`idle`,v.value=n(e),i.add({severity:`error`,detail:v.value,life:1e4}),!1}g.value=`restarting`;let{beginServerRestart:s}=o();return s(),await a().catch(()=>{}),await e().logout(),h.value=!1,g.value=`idle`,!0}return{active:h,phase:g,uploadPercent:_,lastError:v,restoreLocalStorage:b,run:r}}export{p as a,f as c,c as i,x as n,u as o,m as r,d as s,y as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Wn as e}from"./api-C4TatJmj.js";import{ln as t}from"./vendor-CdGy-Xet.js";function n(){let{data:n}=new e().getUsersQuery({page:1,pageSize:-1});return{userOptions:t(()=>(n.value?.result??[]).map(e=>({label:e.username,value:e.username})))}}export{n as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./vendor-capacitor-BmJAC1FL.js";export{e as CapacitorUpdaterWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{_ as e}from"./vendor-CdGy-Xet.js";export{e as BadgeWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{O as e}from"./vendor-capacitor-BmJAC1FL.js";export{e as FileTransferWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as e}from"./vendor-capacitor-BmJAC1FL.js";export{e as ShareWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as e}from"./vendor-capacitor-BmJAC1FL.js";export{e as NetworkWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{b as e}from"./vendor-capacitor-BmJAC1FL.js";export{e as GeolocationWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{L as e}from"./vendor-capacitor-BmJAC1FL.js";export{e as SecureStorageWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{M as e}from"./vendor-capacitor-BmJAC1FL.js";export{e as AppWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{N as e}from"./vendor-capacitor-BmJAC1FL.js";export{e as FirebaseMessagingWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{p as e}from"./vendor-capacitor-BmJAC1FL.js";export{e as PreferencesWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{l as e}from"./vendor-capacitor-BmJAC1FL.js";export{e as SplashScreenWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{U as e}from"./vendor-capacitor-BmJAC1FL.js";export{e as BiometricAuthWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{S as e}from"./vendor-capacitor-BmJAC1FL.js";export{e as FilesystemWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{A as e}from"./vendor-capacitor-BmJAC1FL.js";export{e as DeviceWeb};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{h as e}from"./vendor-CdGy-Xet.js";export{e as Workbox};
|