@camera.ui/server 2.0.14 → 2.0.16
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-LqqgIXTE.js +1 -0
- package/dist/interface/assets/About-GD_Lrqmu.js +1 -0
- package/dist/interface/assets/Adminpanel-D4-pJyIs.js +1 -0
- package/dist/interface/assets/{Automation-Cm62xfWQ.css → Automation-BSicfOGF.css} +1 -1
- package/dist/interface/assets/Automation-bXZ-tO73.js +3 -0
- package/dist/interface/assets/AutomationImport-DVIolIko.js +2 -0
- package/dist/interface/assets/AutomationStore-CbykqzIx.js +2 -0
- package/dist/interface/assets/AutomationStoreDetail-BwYcPwOk.js +2 -0
- package/dist/interface/assets/Automations-CMIf0TNl.js +2 -0
- package/dist/interface/assets/Camera-Ba5k3cTv.js +2 -0
- package/dist/interface/assets/CameraConsole-DYegEaD_.js +7 -0
- package/dist/interface/assets/Cameras-DIY20Wlh.css +1 -0
- package/dist/interface/assets/Cameras-_SciBnKu.js +652 -0
- package/dist/interface/assets/Camview-BORjCABo.js +1 -0
- package/dist/interface/assets/{Camview-CS2a2okQ.css → Camview-CaEbdeQZ.css} +1 -1
- package/dist/interface/assets/Config-CRoCTs-d.js +2 -0
- package/dist/interface/assets/ConfigActionCameraControl-BWIZ-gKx.js +1 -0
- package/dist/interface/assets/ConfigActionDelay-CBco3m5a.js +1 -0
- package/dist/interface/assets/ConfigActionHttp-ChIlpuzj.js +1 -0
- package/dist/interface/assets/ConfigActionImageInput-DyEXQhZ3.js +1 -0
- package/dist/interface/assets/ConfigActionMqtt-D8gt7QCx.js +1 -0
- package/dist/interface/assets/ConfigActionNotification-D39Vj90p.js +1 -0
- package/dist/interface/assets/ConfigActionOutput-B4qOi-eO.js +1 -0
- package/dist/interface/assets/ConfigActionPlugin-g6ePZtkD.js +1 -0
- package/dist/interface/assets/ConfigActionSensor-eQwfGu5Y.js +1 -0
- package/dist/interface/assets/ConfigActionSnapshot-D8wHL8Rv.js +1 -0
- package/dist/interface/assets/ConfigActionVariable-DpHxhQ1h.js +1 -0
- package/dist/interface/assets/ConfigConditionIfElse-C4rCV2CE.js +1 -0
- package/dist/interface/assets/ConfigConditionSensorState-C2EbPfIe.js +1 -0
- package/dist/interface/assets/ConfigConditionSwitch-Dp2bzbVu.js +1 -0
- package/dist/interface/assets/ConfigConditionTime-DytGa873.js +1 -0
- package/dist/interface/assets/ConfigSensorValueInput-3unv3LZ0.js +1 -0
- package/dist/interface/assets/ConfigTriggerDetection-Z-koLuOe.js +1 -0
- package/dist/interface/assets/ConfigTriggerGeofence-BjJw12re.js +1 -0
- package/dist/interface/assets/ConfigTriggerManual-Bt_4XPcG.js +1 -0
- package/dist/interface/assets/ConfigTriggerMqtt-CnXIT8C_.js +1 -0
- package/dist/interface/assets/ConfigTriggerSchedule-C7O4zOJF.js +1 -0
- package/dist/interface/assets/ConfigTriggerSensor-B7esExEG.js +1 -0
- package/dist/interface/assets/{ConfigTriggerSystem-KYnubRsW.js → ConfigTriggerSystem-Cv7a4ZVP.js} +1 -1
- package/dist/interface/assets/ConfigTriggerWebhook-4lphEL8n.js +1 -0
- package/dist/interface/assets/Console-CpZmRbco.js +1 -0
- package/dist/interface/assets/CuiAutomationRunsDialog-D8VSdGxB.js +1 -0
- package/dist/interface/assets/CuiBottomSheet-BM3-NJdO.js +1 -0
- package/dist/interface/assets/CuiBottomSheet-BpMqXUS_.js +1 -0
- package/dist/interface/assets/CuiCameraPipCard-CI3fhQQx.js +1 -0
- package/dist/interface/assets/CuiCameraRecordings-DrdKTev4.js +1 -0
- package/dist/interface/assets/CuiCameraShares-B5b0jALW.js +1 -0
- package/dist/interface/assets/CuiCameraTable-CXsNSz1o.js +2 -0
- package/dist/interface/assets/CuiDataTable-DKf8iX28.js +1 -0
- package/dist/interface/assets/CuiMarkdownContent-BwMdbyad.js +1 -0
- package/dist/interface/assets/CuiMarkdownContent-G916_kVN.js +1 -0
- package/dist/interface/assets/CuiPluginCard-d_KDh1Yw.js +2 -0
- package/dist/interface/assets/CuiPluginCategoryChip-CkO-XUg6.js +1 -0
- package/dist/interface/assets/CuiPluginOAuthButton-Cvf2xX0t.js +2 -0
- package/dist/interface/assets/CuiPluginTrustBadge-DB01yKP2.js +1 -0
- package/dist/interface/assets/CuiQRCode-C3tuGeRr.js +1 -0
- package/dist/interface/assets/CuiRecordingsGrid-_mLo_0zw.js +1 -0
- package/dist/interface/assets/CuiSchema-DMm2Giz1.js +1 -0
- package/dist/interface/assets/CuiTopNavbarItem-BUDHIHlJ.js +1 -0
- package/dist/interface/assets/Faces-gvZlSmMT.js +1 -0
- package/dist/interface/assets/FirstSteps-DBfOXC9_.js +1 -0
- package/dist/interface/assets/Instances-DpfzWpgd.js +1 -0
- package/dist/interface/assets/Logs-ONd-X7Uz.js +6 -0
- package/dist/interface/assets/Menu-DMcOQ89M.js +1 -0
- package/dist/interface/assets/OAuthDeviceFlow-BBbeSQfV.js +1 -0
- package/dist/interface/assets/Plugin-BR0myz2R.js +1 -0
- package/dist/interface/assets/PluginConsole-Ccdp0UG4.js +7 -0
- package/dist/interface/assets/PluginDetail-D7Bs2TR8.js +2 -0
- package/dist/interface/assets/PluginSchema-CYgK5llZ.js +1 -0
- package/dist/interface/assets/PluginSearch-BdNBx3a_.js +2 -0
- package/dist/interface/assets/PluginSearch-ClUUWF-c.js +1 -0
- package/dist/interface/assets/Plugins-BGlmDYtU.js +1 -0
- package/dist/interface/assets/Recordings-yMAywSQr.js +1 -0
- package/dist/interface/assets/Settings-DgQRh-PZ.js +1 -0
- package/dist/interface/assets/{Settings-bwLTNAxX.css → Settings-DmZjKfDi.css} +1 -1
- package/dist/interface/assets/SettingsAccount-BkzyYZC3.js +1 -0
- package/dist/interface/assets/SettingsAccount-CyNJQSuV.css +1 -0
- package/dist/interface/assets/SettingsAccount-fiExYdM8.js +1 -0
- package/dist/interface/assets/SettingsAppearance-BtX9WEUv.js +1 -0
- package/dist/interface/assets/SettingsAppearance-vIx-5n3S.js +1 -0
- package/dist/interface/assets/SettingsBackup-yKIvYrSF.js +1 -0
- package/dist/interface/assets/SettingsMqtt-lXusRXF0.js +1 -0
- package/dist/interface/assets/SettingsNotifications-DtY5d3Ff.js +2 -0
- package/dist/interface/assets/SettingsRecordings-BnHyde5_.js +1 -0
- package/dist/interface/assets/SettingsRemote-DFrbKuDY.js +1 -0
- package/dist/interface/assets/SettingsSystem-9u9HwzWH.js +2 -0
- package/dist/interface/assets/SettingsUsers-QkRFOl-j.js +1 -0
- package/dist/interface/assets/Terminal-DfvrkyXW.js +4 -0
- package/dist/interface/assets/VariableInput-BYDhQLWK.js +1 -0
- package/dist/interface/assets/VariableSuggestions-BQeEuD64.js +1 -0
- package/dist/interface/assets/VersionsHandler-C7UrObQz.js +7 -0
- package/dist/interface/assets/Workers-CycLd7x1.js +2 -0
- package/dist/interface/assets/{account-DqyKcqe6.js → account-jONrhXkE.js} +1 -1
- package/dist/interface/assets/ace-DYqf8ZN7.js +1 -0
- package/dist/interface/assets/{ace.config-BnKJ0Xjj.js → ace.config-C_wgqTLD.js} +1 -1
- package/dist/interface/assets/{alert-circle-DeKKKwiu.js → alert-circle-CqEfEWD8.js} +1 -1
- package/dist/interface/assets/alert-outline-DcXO2ICo.js +1 -0
- package/dist/interface/assets/api-BRgblL6q.js +1 -0
- package/dist/interface/assets/api-C0gnicQm.js +2 -0
- package/dist/interface/assets/api-Ct6LuJao.css +2 -0
- package/dist/interface/assets/arrow-left-DGioEwqJ.js +1 -0
- package/dist/interface/assets/arrow-right-outline-BrpH6MGt.js +1 -0
- package/dist/interface/assets/auth-B8R5c1jZ.js +1 -0
- package/dist/interface/assets/automations-CyE7C9Ua.js +1 -0
- package/dist/interface/assets/{back-filled-LVLhJP7G.js → back-filled-DZmo9cAg.js} +1 -1
- package/dist/interface/assets/{bell-ring-DgLkBDcU.js → bell-ring-D0h1GDrU.js} +1 -1
- package/dist/interface/assets/cameras.schema-Cpe1mfEm.js +1 -0
- package/dist/interface/assets/{cctv-BZIDJlxZ.js → cctv-CdDfBHME.js} +1 -1
- package/dist/interface/assets/check-circle-CVNa_reg.js +1 -0
- package/dist/interface/assets/chevron-down-BiRUJ9SO.js +1 -0
- package/dist/interface/assets/chevron-right-Crha-j7O.js +1 -0
- package/dist/interface/assets/{clock-outline-CqPKrGj2.js → clock-outline-dv-kmi60.js} +1 -1
- package/dist/interface/assets/{close-BTPBtoEq.js → close-BCRtoBTk.js} +1 -1
- package/dist/interface/assets/{close-circle-BAE2M1UZ.js → close-circle-raXx3m4Q.js} +1 -1
- package/dist/interface/assets/{cloud-check-C2zK34QI.js → cloud-check-CST59Xl_.js} +1 -1
- package/dist/interface/assets/cloudHandoff-Dwh5ja7i.js +1 -0
- package/dist/interface/assets/config-61wCmCSW.js +1 -0
- package/dist/interface/assets/copy-C53ZJyaU.js +1 -0
- package/dist/interface/assets/delete-Dvdp44LT.js +1 -0
- package/dist/interface/assets/{dist-PhgrarGW.js → dist-DZi5AgJB.js} +1 -1
- package/dist/interface/assets/download-Dq82fWLS.js +1 -0
- package/dist/interface/assets/esm-5O0fbEL-.js +1 -0
- package/dist/interface/assets/esm-8JcCIx6p.js +1 -0
- package/dist/interface/assets/esm-BIwkRkap.js +1 -0
- package/dist/interface/assets/esm-Ba1kg7sT.js +1 -0
- package/dist/interface/assets/esm-CI9fumfA.js +1 -0
- package/dist/interface/assets/esm-CfqCZ8Ic.js +1 -0
- package/dist/interface/assets/esm-Cle2K7IB.js +1 -0
- package/dist/interface/assets/esm-DGhY5suq.js +1 -0
- package/dist/interface/assets/esm-D_SYso1m.js +1 -0
- package/dist/interface/assets/esm-Dg-c_Ys9.js +1 -0
- package/dist/interface/assets/esm-IjMpYY_D.js +1 -0
- package/dist/interface/assets/esm-JkR46BGF.js +1 -0
- package/dist/interface/assets/esm-KCb4USia.js +1 -0
- package/dist/interface/assets/esm-fiu1-7Vf.js +1 -0
- package/dist/interface/assets/flowSchema-d_rln6ks.js +1 -0
- package/dist/interface/assets/history--LGIMjNU.js +1 -0
- package/dist/interface/assets/home-C5hRJg9h.js +1 -0
- package/dist/interface/assets/{information-outline-BaVRQ1WL.js → information-outline-CjhiKBjG.js} +1 -1
- package/dist/interface/assets/lightbulb-outline-BGFG7wv-.js +1 -0
- package/dist/interface/assets/main-BL1KwJfI.js +3 -0
- package/dist/interface/assets/{main-ehiYxATC.css → main-DbPnvfcp.css} +1 -1
- package/dist/interface/assets/{microphone-DJsihw9n.js → microphone-Dp5Yhz6Z.js} +1 -1
- package/dist/interface/assets/mqtt-gGXPp_LJ.js +1 -0
- package/dist/interface/assets/native-CNOra93F.js +1 -0
- package/dist/interface/assets/native-DAl9Pmov.js +1 -0
- package/dist/interface/assets/nodeDefinitions-DkMCR_zX.js +1 -0
- package/dist/interface/assets/notifications-BJiG7174.js +1 -0
- package/dist/interface/assets/plugin-HHKHhKIh.js +1 -0
- package/dist/interface/assets/plugins-BlciwIm6.js +1 -0
- package/dist/interface/assets/plus-C6l_Q-mY.js +1 -0
- package/dist/interface/assets/{plus-CJ2GnX_q.js → plus-DhRnJIfm.js} +1 -1
- package/dist/interface/assets/power-BfcMaKbx.js +1 -0
- package/dist/interface/assets/{ring-resize-QxO72Hs5.js → ring-resize-peEJMXPl.js} +1 -1
- package/dist/interface/assets/{round-alt-arrow-left-bold-C57m543l.js → round-alt-arrow-left-bold-BcL7KVCG.js} +1 -1
- package/dist/interface/assets/round-restart-alt-DtBp7QJ3.js +1 -0
- package/dist/interface/assets/{search-BgYt2zqA.js → search-BTu5ntI6.js} +1 -1
- package/dist/interface/assets/server-CbcqB7XD.js +1 -0
- package/dist/interface/assets/{settings-DHy64jsU.js → settings-wRDwvjf-.js} +1 -1
- package/dist/interface/assets/{source-branch-Dv9Du0bc.js → source-branch-DejOTyZv.js} +1 -1
- package/dist/interface/assets/theme-DbnzixCd.js +1 -0
- package/dist/interface/assets/{trash-2-CAa4rD_d.js → trash-2-upauF9j0.js} +1 -1
- package/dist/interface/assets/trash-can-outline-PQys0L3O.js +1 -0
- package/dist/interface/assets/{trash-fill-Br00Vept.js → trash-fill-DDHuYpvM.js} +1 -1
- package/dist/interface/assets/{trash2-tuK9V5bO.js → trash2-M6P7YvkH.js} +1 -1
- package/dist/interface/assets/types-CaTe8DZQ.js +1 -0
- package/dist/interface/assets/types-ClrPRAlr.js +1 -0
- package/dist/interface/assets/types-f9LWayxM.js +1 -0
- package/dist/interface/assets/upload-DwNCSVAl.js +1 -0
- package/dist/interface/assets/{useAppVersion-BWNhVD0_.js → useAppVersion-CV9EQ8NP.js} +1 -1
- package/dist/interface/assets/useBackupRestore-CH0Ef30o.js +1 -0
- package/dist/interface/assets/useCameraOptions-DLzh2qDi.js +1 -0
- package/dist/interface/assets/useCardSelection-BdYBm23a.js +1 -0
- package/dist/interface/assets/{useLogsSocket-BWN3k9kv.js → useLogsSocket-BZc09yQ1.js} +2 -2
- package/dist/interface/assets/{useServerRestart-ZFTJSxW7.js → useServerRestart-i775C31r.js} +1 -1
- package/dist/interface/assets/useStreamStatus-42S4V3vs.js +1 -0
- package/dist/interface/assets/useUserOptions-CSIMtpKB.js +1 -0
- package/dist/interface/assets/{variable-C2Yu30iz.js → variable-K7DoQHpX.js} +1 -1
- package/dist/interface/assets/vendor-CdGy-Xet.js +22 -0
- package/dist/interface/assets/{vendor-ace-BlP3GAWI.js → vendor-ace-CrklN-bc.js} +1 -1
- package/dist/interface/assets/vendor-cameraui-CoNnWBOZ.js +2039 -0
- package/dist/interface/assets/vendor-capacitor-BmJAC1FL.js +2 -0
- package/dist/interface/assets/{vendor-chart-Cn72DQnu.js → vendor-chart-BDu4sN9x.js} +2 -2
- package/dist/interface/assets/vendor-core-C3HwU-b4.js +1 -0
- package/dist/interface/assets/{vendor-dnd-B9-e5xxH.js → vendor-dnd-BN6m9rq8.js} +2 -2
- package/dist/interface/assets/{vendor-draggabilly-CPB8E5_r.js → vendor-draggabilly-BLoTmI_a.js} +1 -1
- package/dist/interface/assets/vendor-gridstack-DHPnER0W.js +3 -0
- package/dist/interface/assets/vendor-gridstack-Dxwp3vpP.css +1 -0
- package/dist/interface/assets/{vendor-markdown-D7EhExwE.js → vendor-markdown-D_3Of-Gz.js} +1 -1
- package/dist/interface/assets/{vendor-primevue-BdB7McKg.js → vendor-primevue-C9GUqb3A.js} +207 -207
- package/dist/interface/assets/vendor-vueflow-D7rAeKHv.js +26 -0
- package/dist/interface/assets/vendor-zod-BaT-dXMv.js +127 -0
- package/dist/interface/assets/web-B2hT39CL.js +1 -0
- package/dist/interface/assets/web-BKoMlshd.js +1 -0
- package/dist/interface/assets/web-BjKL51lK-Ut62Hifg.js +1 -0
- package/dist/interface/assets/web-C0ZNZcUJ.js +1 -0
- package/dist/interface/assets/web-CvKW_k8u.js +1 -0
- package/dist/interface/assets/web-CxfYyhSm.js +1 -0
- package/dist/interface/assets/web-CzA5zxEf.js +1 -0
- package/dist/interface/assets/web-D7XF0rfU.js +1 -0
- package/dist/interface/assets/web-DgSunHN1.js +1 -0
- package/dist/interface/assets/web-DpgTK9mR.js +1 -0
- package/dist/interface/assets/web-Hi4guSgN.js +1 -0
- package/dist/interface/assets/web-QaIP1Mop.js +1 -0
- package/dist/interface/assets/web-VGpOPxhq.js +1 -0
- package/dist/interface/assets/web-g-y7DVV1.js +1 -0
- package/dist/interface/assets/{webhook-BCBlzc3z.js → webhook-CQl989bo.js} +1 -1
- package/dist/interface/assets/workbox-window.prod.es5-YHyKoEMU.js +1 -0
- package/dist/interface/assets/{zoom-in-CKM5nWQX.js → zoom-in-2i20zd_d.js} +1 -1
- package/dist/interface/index.html +213 -173
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +15 -19
- package/dist/server/requirements.txt +2 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc/types.py +2 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +16 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/__init__.py +14 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +28 -3
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/detection.py +25 -4
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +25 -4
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/enums.py +6 -3
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/events.py +5 -3
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/recording.py +27 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/camera_config_internal.py +1 -1
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/manager/__init__.py +8 -6
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/contract.py +4 -4
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/notifier.py +6 -5
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +4 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/audio.py +2 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +3 -3
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/battery.py +8 -5
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/classifier.py +6 -5
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/clip.py +4 -3
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/contact.py +3 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/detection.py +7 -1
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/doorbell.py +3 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/face.py +5 -4
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/garage.py +5 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/humidity.py +3 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/leak.py +3 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/license_plate.py +9 -5
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/light.py +7 -5
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/lock.py +4 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/motion.py +6 -4
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/object.py +2 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/occupancy.py +3 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/ptz.py +30 -8
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/security_system.py +4 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/siren.py +7 -5
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/smoke.py +3 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/spec.py +3 -1
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/switch.py +3 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/temperature.py +3 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/storage/__init__.py +5 -3
- package/dist/server/src/api/controllers/api.controller.js +3 -0
- package/dist/server/src/api/controllers/api.controller.js.map +1 -1
- package/dist/server/src/api/controllers/auth.controller.d.ts +6 -1
- package/dist/server/src/api/controllers/auth.controller.js +92 -5
- package/dist/server/src/api/controllers/auth.controller.js.map +1 -1
- package/dist/server/src/api/controllers/automations.controller.d.ts +1 -0
- package/dist/server/src/api/controllers/automations.controller.js +12 -0
- package/dist/server/src/api/controllers/automations.controller.js.map +1 -1
- package/dist/server/src/api/controllers/cameras.controller.d.ts +5 -2
- package/dist/server/src/api/controllers/cameras.controller.js +118 -13
- package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
- package/dist/server/src/api/controllers/mqtt.controller.d.ts +1 -0
- package/dist/server/src/api/controllers/mqtt.controller.js +8 -0
- package/dist/server/src/api/controllers/mqtt.controller.js.map +1 -1
- package/dist/server/src/api/controllers/remote.controller.js +12 -0
- package/dist/server/src/api/controllers/remote.controller.js.map +1 -1
- package/dist/server/src/api/controllers/users.controller.js +6 -0
- package/dist/server/src/api/controllers/users.controller.js.map +1 -1
- package/dist/server/src/api/database/constants.d.ts +1 -0
- package/dist/server/src/api/database/constants.js +1 -0
- package/dist/server/src/api/database/constants.js.map +1 -1
- package/dist/server/src/api/database/index.d.ts +4 -1
- package/dist/server/src/api/database/index.js +37 -3
- package/dist/server/src/api/database/index.js.map +1 -1
- package/dist/server/src/api/database/migrations/v2-0-50.d.ts +3 -0
- package/dist/server/src/api/database/migrations/v2-0-50.js +44 -0
- package/dist/server/src/api/database/migrations/v2-0-50.js.map +1 -0
- package/dist/server/src/api/database/migrations/v2-0-51.d.ts +3 -0
- package/dist/server/src/api/database/migrations/v2-0-51.js +43 -0
- package/dist/server/src/api/database/migrations/v2-0-51.js.map +1 -0
- package/dist/server/src/api/database/record-schemas.d.ts +4 -3
- package/dist/server/src/api/database/record-schemas.js +2 -1
- package/dist/server/src/api/database/record-schemas.js.map +1 -1
- package/dist/server/src/api/database/types.d.ts +5 -2
- package/dist/server/src/api/index.d.ts +3 -0
- package/dist/server/src/api/index.js +96 -8
- package/dist/server/src/api/index.js.map +1 -1
- package/dist/server/src/api/ingress.d.ts +10 -0
- package/dist/server/src/api/ingress.js +54 -0
- package/dist/server/src/api/ingress.js.map +1 -0
- package/dist/server/src/api/middlewares/authPermission.middleware.d.ts +1 -0
- package/dist/server/src/api/middlewares/authPermission.middleware.js +9 -0
- package/dist/server/src/api/middlewares/authPermission.middleware.js.map +1 -1
- package/dist/server/src/api/middlewares/authValidation.middleware.js +15 -1
- package/dist/server/src/api/middlewares/authValidation.middleware.js.map +1 -1
- package/dist/server/src/api/middlewares/socketAuth.middleware.d.ts +1 -0
- package/dist/server/src/api/middlewares/socketAuth.middleware.js +21 -2
- package/dist/server/src/api/middlewares/socketAuth.middleware.js.map +1 -1
- package/dist/server/src/api/render-index.d.ts +3 -0
- package/dist/server/src/api/render-index.js +39 -0
- package/dist/server/src/api/render-index.js.map +1 -0
- package/dist/server/src/api/routes/auth.routes.js +48 -6
- package/dist/server/src/api/routes/auth.routes.js.map +1 -1
- package/dist/server/src/api/routes/automations.routes.js +11 -0
- package/dist/server/src/api/routes/automations.routes.js.map +1 -1
- package/dist/server/src/api/routes/backup.routes.js +6 -2
- package/dist/server/src/api/routes/backup.routes.js.map +1 -1
- package/dist/server/src/api/routes/cameras.routes.js +46 -1
- package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
- package/dist/server/src/api/routes/index.js +14 -1
- package/dist/server/src/api/routes/index.js.map +1 -1
- package/dist/server/src/api/routes/mqtt.routes.js +10 -0
- package/dist/server/src/api/routes/mqtt.routes.js.map +1 -1
- package/dist/server/src/api/routes/users.routes.js +4 -4
- package/dist/server/src/api/routes/users.routes.js.map +1 -1
- package/dist/server/src/api/schemas/auth.schema.d.ts +8 -0
- package/dist/server/src/api/schemas/auth.schema.js +8 -0
- package/dist/server/src/api/schemas/auth.schema.js.map +1 -1
- package/dist/server/src/api/schemas/automations.schema.d.ts +1 -1
- package/dist/server/src/api/schemas/automations.schema.js +1 -1
- package/dist/server/src/api/schemas/automations.schema.js.map +1 -1
- package/dist/server/src/api/schemas/cameras.schema.d.ts +290 -48
- package/dist/server/src/api/schemas/cameras.schema.js +54 -53
- package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
- package/dist/server/src/api/schemas/config.schema.d.ts +1 -0
- package/dist/server/src/api/schemas/config.schema.js +1 -0
- package/dist/server/src/api/schemas/config.schema.js.map +1 -1
- package/dist/server/src/api/schemas/remote.schema.js +0 -9
- package/dist/server/src/api/schemas/remote.schema.js.map +1 -1
- package/dist/server/src/api/schemas/users.schema.d.ts +21 -21
- package/dist/server/src/api/schemas/users.schema.js +4 -17
- package/dist/server/src/api/schemas/users.schema.js.map +1 -1
- package/dist/server/src/api/schemas/virtualsensors.schema.js.map +1 -1
- package/dist/server/src/api/services/auth.service.d.ts +9 -0
- package/dist/server/src/api/services/auth.service.js +38 -1
- package/dist/server/src/api/services/auth.service.js.map +1 -1
- package/dist/server/src/api/services/automations.service.d.ts +6 -0
- package/dist/server/src/api/services/automations.service.js +36 -6
- package/dist/server/src/api/services/automations.service.js.map +1 -1
- package/dist/server/src/api/services/backup.service.d.ts +6 -1
- package/dist/server/src/api/services/backup.service.js +28 -5
- package/dist/server/src/api/services/backup.service.js.map +1 -1
- package/dist/server/src/api/services/cameras.service.d.ts +2 -0
- package/dist/server/src/api/services/cameras.service.js +28 -4
- package/dist/server/src/api/services/cameras.service.js.map +1 -1
- package/dist/server/src/api/services/mqtt.service.d.ts +1 -0
- package/dist/server/src/api/services/mqtt.service.js +3 -0
- package/dist/server/src/api/services/mqtt.service.js.map +1 -1
- package/dist/server/src/api/services/plugins.service.js +1 -5
- package/dist/server/src/api/services/plugins.service.js.map +1 -1
- package/dist/server/src/api/services/users.service.js +1 -1
- package/dist/server/src/api/services/users.service.js.map +1 -1
- package/dist/server/src/api/types/index.d.ts +31 -0
- package/dist/server/src/api/types/index.js +1 -0
- package/dist/server/src/api/types/index.js.map +1 -1
- package/dist/server/src/api/websocket/index.d.ts +1 -0
- package/dist/server/src/api/websocket/index.js +18 -1
- package/dist/server/src/api/websocket/index.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/events.d.ts +24 -0
- package/dist/server/src/api/websocket/nsp/events.js +155 -0
- package/dist/server/src/api/websocket/nsp/events.js.map +1 -0
- package/dist/server/src/api/websocket/types.d.ts +1 -1
- package/dist/server/src/automations/actions/cameraControl.js +4 -3
- package/dist/server/src/automations/actions/cameraControl.js.map +1 -1
- package/dist/server/src/automations/actions/http.js +1 -1
- package/dist/server/src/automations/actions/http.js.map +1 -1
- package/dist/server/src/automations/actions/plugin.js +4 -1
- package/dist/server/src/automations/actions/plugin.js.map +1 -1
- package/dist/server/src/automations/conditions/ifelse.js +7 -6
- package/dist/server/src/automations/conditions/ifelse.js.map +1 -1
- package/dist/server/src/automations/conditions/switch.js +8 -4
- package/dist/server/src/automations/conditions/switch.js.map +1 -1
- package/dist/server/src/automations/conditions/types.d.ts +0 -2
- package/dist/server/src/automations/context.d.ts +2 -1
- package/dist/server/src/automations/context.js +47 -25
- package/dist/server/src/automations/context.js.map +1 -1
- package/dist/server/src/automations/engine.d.ts +3 -0
- package/dist/server/src/automations/engine.js +76 -10
- package/dist/server/src/automations/engine.js.map +1 -1
- package/dist/server/src/automations/parseValue.d.ts +2 -0
- package/dist/server/src/automations/parseValue.js +8 -0
- package/dist/server/src/automations/parseValue.js.map +1 -1
- package/dist/server/src/automations/runner.d.ts +6 -2
- package/dist/server/src/automations/runner.js +103 -43
- package/dist/server/src/automations/runner.js.map +1 -1
- package/dist/server/src/automations/switchHandles.d.ts +11 -0
- package/dist/server/src/automations/switchHandles.js +43 -0
- package/dist/server/src/automations/switchHandles.js.map +1 -0
- package/dist/server/src/automations/trace.d.ts +25 -0
- package/dist/server/src/automations/trace.js +17 -0
- package/dist/server/src/automations/trace.js.map +1 -0
- package/dist/server/src/automations/triggers/detection.js +2 -1
- package/dist/server/src/automations/triggers/detection.js.map +1 -1
- package/dist/server/src/automations/triggers/schedule.js +10 -44
- package/dist/server/src/automations/triggers/schedule.js.map +1 -1
- package/dist/server/src/automations/triggers/sensor.js +9 -2
- package/dist/server/src/automations/triggers/sensor.js.map +1 -1
- package/dist/server/src/camera/controller.js +6 -1
- package/dist/server/src/camera/controller.js.map +1 -1
- package/dist/server/src/camera/decoder/detection-coordinator.js +4 -0
- package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
- package/dist/server/src/camera/decoder/event-manager.d.ts +12 -1
- package/dist/server/src/camera/decoder/event-manager.js +95 -15
- package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
- package/dist/server/src/camera/decoder/plate-vote.d.ts +20 -0
- package/dist/server/src/camera/decoder/plate-vote.js +63 -0
- package/dist/server/src/camera/decoder/plate-vote.js.map +1 -0
- package/dist/server/src/camera/decoder/ptz/autotracker.js +4 -6
- package/dist/server/src/camera/decoder/ptz/autotracker.js.map +1 -1
- package/dist/server/src/camera/decoder/secondary-stage.js +2 -1
- package/dist/server/src/camera/decoder/secondary-stage.js.map +1 -1
- package/dist/server/src/camera/decoder/worker.d.ts +1 -1
- package/dist/server/src/camera/decoder/worker.js +10 -10
- package/dist/server/src/camera/decoder/worker.js.map +1 -1
- package/dist/server/src/camera/index.d.ts +2 -1
- package/dist/server/src/camera/index.js +3 -0
- package/dist/server/src/camera/index.js.map +1 -1
- package/dist/server/src/camera/sensors/controller.js +6 -4
- package/dist/server/src/camera/sensors/controller.js.map +1 -1
- package/dist/server/src/camera/sensors/semantics.d.ts +3 -0
- package/dist/server/src/camera/sensors/semantics.js +12 -0
- package/dist/server/src/camera/sensors/semantics.js.map +1 -0
- package/dist/server/src/camera/sensors/sensor.js +17 -11
- package/dist/server/src/camera/sensors/sensor.js.map +1 -1
- package/dist/server/src/camera/sensors/stable-id.d.ts +1 -0
- package/dist/server/src/camera/sensors/stable-id.js +5 -1
- package/dist/server/src/camera/sensors/stable-id.js.map +1 -1
- package/dist/server/src/camera/sensors/types.d.ts +12 -3
- package/dist/server/src/camera/sensors/types.js +48 -216
- package/dist/server/src/camera/sensors/types.js.map +1 -1
- package/dist/server/src/camera/streaming/fmp4-session.js +46 -26
- package/dist/server/src/camera/streaming/fmp4-session.js.map +1 -1
- package/dist/server/src/camera/streaming/rtp-session.js +46 -19
- package/dist/server/src/camera/streaming/rtp-session.js.map +1 -1
- package/dist/server/src/go2rtc/api/routes/discover.js +4 -6
- package/dist/server/src/go2rtc/api/routes/discover.js.map +1 -1
- package/dist/server/src/internal-bus.d.ts +20 -2
- package/dist/server/src/internal-bus.js.map +1 -1
- package/dist/server/src/manager/coreManager.js +1 -1
- package/dist/server/src/manager/coreManager.js.map +1 -1
- package/dist/server/src/manager/discoveryManager.d.ts +2 -0
- package/dist/server/src/manager/discoveryManager.js +11 -7
- package/dist/server/src/manager/discoveryManager.js.map +1 -1
- package/dist/server/src/manager/downloadManager.d.ts +1 -0
- package/dist/server/src/manager/downloadManager.js +12 -4
- package/dist/server/src/manager/downloadManager.js.map +1 -1
- package/dist/server/src/manager/notificationManager.js +1 -1
- package/dist/server/src/manager/notificationManager.js.map +1 -1
- package/dist/server/src/mqtt/bridge.d.ts +1 -0
- package/dist/server/src/mqtt/bridge.js +11 -7
- package/dist/server/src/mqtt/bridge.js.map +1 -1
- package/dist/server/src/mqtt/ha-discovery.d.ts +0 -1
- package/dist/server/src/mqtt/ha-discovery.js +96 -179
- package/dist/server/src/mqtt/ha-discovery.js.map +1 -1
- package/dist/server/src/mqtt/manager.d.ts +3 -0
- package/dist/server/src/mqtt/manager.js +15 -0
- package/dist/server/src/mqtt/manager.js.map +1 -1
- package/dist/server/src/plugins/index.js +4 -7
- package/dist/server/src/plugins/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/go/index.d.ts +0 -1
- package/dist/server/src/plugins/runtime/go/index.js +25 -32
- package/dist/server/src/plugins/runtime/go/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/index.js +3 -2
- package/dist/server/src/plugins/runtime/node/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/sensor.d.ts +0 -1
- package/dist/server/src/plugins/runtime/node/proxy/sensor.js +4 -4
- package/dist/server/src/plugins/runtime/node/proxy/sensor.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/storage.js +17 -18
- package/dist/server/src/plugins/runtime/node/storage.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/camera/utils.py +1 -1
- package/dist/server/src/plugins/runtime/python/index.js +17 -1
- package/dist/server/src/plugins/runtime/python/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +5 -0
- package/dist/server/src/plugins/runtime/python/storage_controller.py +7 -2
- package/dist/server/src/plugins/schema.d.ts +1 -0
- package/dist/server/src/plugins/schema.js +38 -19
- package/dist/server/src/plugins/schema.js.map +1 -1
- package/dist/server/src/plugins/worker.js +10 -2
- package/dist/server/src/plugins/worker.js.map +1 -1
- package/dist/server/src/remote/services/cloudflare-managed.d.ts +1 -0
- package/dist/server/src/remote/services/cloudflare-managed.js +7 -1
- package/dist/server/src/remote/services/cloudflare-managed.js.map +1 -1
- package/dist/server/src/remote/services/cloudflare.js +6 -3
- package/dist/server/src/remote/services/cloudflare.js.map +1 -1
- package/dist/server/src/remote/services/index.js +3 -0
- package/dist/server/src/remote/services/index.js.map +1 -1
- package/dist/server/src/rpc/interfaces/sensor.d.ts +1 -0
- package/dist/server/src/rpc/server.js +9 -9
- package/dist/server/src/rpc/server.js.map +1 -1
- package/dist/server/src/services/config/index.d.ts +1 -0
- package/dist/server/src/services/config/index.js +11 -6
- package/dist/server/src/services/config/index.js.map +1 -1
- package/dist/server/src/services/config/types.d.ts +2 -1
- package/dist/server/src/services/mdns/index.d.ts +9 -0
- package/dist/server/src/services/mdns/index.js +54 -0
- package/dist/server/src/services/mdns/index.js.map +1 -0
- package/dist/server/src/utils/camera.d.ts +1 -0
- package/dist/server/src/utils/camera.js +5 -2
- package/dist/server/src/utils/camera.js.map +1 -1
- package/dist/server/src/utils/env.js +7 -3
- package/dist/server/src/utils/env.js.map +1 -1
- package/dist/server/src/utils/path.d.ts +1 -1
- package/dist/server/src/utils/path.js +1 -1
- package/dist/server/src/utils/path.js.map +1 -1
- package/dist/server/src/utils/pythonInstaller.d.ts +1 -0
- package/dist/server/src/utils/pythonInstaller.js +19 -7
- package/dist/server/src/utils/pythonInstaller.js.map +1 -1
- package/dist/server/src/workers/agent.d.ts +1 -0
- package/dist/server/src/workers/agent.js +4 -1
- package/dist/server/src/workers/agent.js.map +1 -1
- package/dist/server/src/workers/capabilities/plugin-host.d.ts +2 -1
- package/dist/server/src/workers/capabilities/plugin-host.js +8 -1
- package/dist/server/src/workers/capabilities/plugin-host.js.map +1 -1
- package/dist/server/src/workers/manager.d.ts +2 -1
- package/dist/server/src/workers/manager.js +12 -0
- package/dist/server/src/workers/manager.js.map +1 -1
- package/dist/server/src/workers/types.d.ts +7 -0
- package/package.json +15 -19
- package/dist/interface/assets/404-Dc_0Olmy.js +0 -1
- package/dist/interface/assets/About-CRCM-TCh.js +0 -1
- package/dist/interface/assets/Adminpanel-BhxC4MaN.js +0 -1
- package/dist/interface/assets/Automation-CjM_2c6p.js +0 -2
- package/dist/interface/assets/AutomationImport-BbXsgU4b.js +0 -2
- package/dist/interface/assets/AutomationStore-BCC23cZT.js +0 -2
- package/dist/interface/assets/AutomationStoreDetail-Nvw6dcvk.js +0 -2
- package/dist/interface/assets/Automations-ocOGPBSG.js +0 -2
- package/dist/interface/assets/Camera-CVcl--Be.js +0 -2
- package/dist/interface/assets/CameraConsole-DYnZN6CV.js +0 -7
- package/dist/interface/assets/Cameras-0-cK5Qao.js +0 -652
- package/dist/interface/assets/Cameras-2kM76WUB.css +0 -1
- package/dist/interface/assets/Camview-CXAaiOIz.js +0 -1
- package/dist/interface/assets/Config-BAQtGxV_.js +0 -2
- package/dist/interface/assets/ConfigActionCameraControl-qKmOFx9h.js +0 -1
- package/dist/interface/assets/ConfigActionDelay-q0pOTOzh.js +0 -1
- package/dist/interface/assets/ConfigActionHttp-DiMXKRGz.js +0 -1
- package/dist/interface/assets/ConfigActionImageInput-u5xX9t3-.js +0 -1
- package/dist/interface/assets/ConfigActionMqtt-BkZl3uYq.js +0 -1
- package/dist/interface/assets/ConfigActionNotification-xoPwijU8.js +0 -1
- package/dist/interface/assets/ConfigActionOutput-CJF0F4cT.js +0 -1
- package/dist/interface/assets/ConfigActionPlugin-TsGugsaT.js +0 -1
- package/dist/interface/assets/ConfigActionSensor-D6HHblmj.js +0 -1
- package/dist/interface/assets/ConfigActionSnapshot-BbBzu2um.js +0 -1
- package/dist/interface/assets/ConfigActionVariable-BMV-BDAk.js +0 -1
- package/dist/interface/assets/ConfigConditionIfElse-C5geCT1S.js +0 -1
- package/dist/interface/assets/ConfigConditionSensorState-B3DK1TSR.js +0 -1
- package/dist/interface/assets/ConfigConditionSwitch-PwrCSnTQ.js +0 -1
- package/dist/interface/assets/ConfigConditionTime-DUt_dsr9.js +0 -1
- package/dist/interface/assets/ConfigSensorValueInput-CgZWxOMu.js +0 -1
- package/dist/interface/assets/ConfigTriggerDetection-C-Y6dqJY.js +0 -1
- package/dist/interface/assets/ConfigTriggerGeofence-uGk0ucgz.js +0 -1
- package/dist/interface/assets/ConfigTriggerManual-_PAVLJxz.js +0 -1
- package/dist/interface/assets/ConfigTriggerMqtt-BtfXQ_Bh.js +0 -1
- package/dist/interface/assets/ConfigTriggerSchedule-CHyW4YQ1.js +0 -1
- package/dist/interface/assets/ConfigTriggerSensor-C6eoElEO.js +0 -1
- package/dist/interface/assets/ConfigTriggerWebhook-DHvAht-3.js +0 -1
- package/dist/interface/assets/Console-CT9DL8G6.js +0 -1
- package/dist/interface/assets/CuiActionButton-WFz5I80P.js +0 -1
- package/dist/interface/assets/CuiAvatar-BtMXnhxd.css +0 -1
- package/dist/interface/assets/CuiAvatar-CGs4KCeb.js +0 -1
- package/dist/interface/assets/CuiBBoxPlayground-EFkdOBvq.css +0 -1
- package/dist/interface/assets/CuiBBoxPlayground-J7_8dCvo.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-Ccqs8aqt.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-D7tzN1B7.js +0 -1
- package/dist/interface/assets/CuiCameraCard-BxGmxXxZ.css +0 -1
- package/dist/interface/assets/CuiCameraCard-DiiA1IHK.js +0 -1
- package/dist/interface/assets/CuiCameraPipCard-164Vxpyy.js +0 -1
- package/dist/interface/assets/CuiCameraRecordings-CZg6-Joe.js +0 -1
- package/dist/interface/assets/CuiCameraShares-CQKMJS0b.js +0 -1
- package/dist/interface/assets/CuiCameraSnapshot-siWvyXxy.js +0 -1
- package/dist/interface/assets/CuiCameraTable-CmxdJniV.js +0 -2
- package/dist/interface/assets/CuiDataTable-CjXiUFiJ.js +0 -1
- package/dist/interface/assets/CuiFloatingButton-BjpU1EHv.js +0 -1
- package/dist/interface/assets/CuiImage-BM4g6edi.css +0 -1
- package/dist/interface/assets/CuiImage-D1OR7e_p.js +0 -1
- package/dist/interface/assets/CuiMarkdownContent-B4fVlO8h.js +0 -1
- package/dist/interface/assets/CuiMarkdownContent-CMPFzD-0.js +0 -1
- package/dist/interface/assets/CuiMenu-BWUfWLQP.css +0 -1
- package/dist/interface/assets/CuiMenu-CZdrrvGm.js +0 -1
- package/dist/interface/assets/CuiPluginCard-BW8voSST.js +0 -2
- package/dist/interface/assets/CuiPluginCategoryChip-cmfKx-dU.js +0 -1
- package/dist/interface/assets/CuiPluginOAuthButton-BrNhLZTM.js +0 -2
- package/dist/interface/assets/CuiPluginTrustBadge-PVZMP1rI.js +0 -1
- package/dist/interface/assets/CuiQRCode-BNrRF1kj.js +0 -1
- package/dist/interface/assets/CuiRecordingsGrid-BHK62CGb.js +0 -1
- package/dist/interface/assets/CuiSchema-DQekVg-C.js +0 -1
- package/dist/interface/assets/CuiTopNavbarItem-nGcC2em4.js +0 -1
- package/dist/interface/assets/CuiTopbarSlot-B6UMqYZl.js +0 -1
- package/dist/interface/assets/Faces-BGt7OeMa.js +0 -1
- package/dist/interface/assets/FirstSteps-DOuZ0Ejq.js +0 -1
- package/dist/interface/assets/Instances-BKuNMjic.js +0 -1
- package/dist/interface/assets/Logs-DlHlslG8.js +0 -6
- package/dist/interface/assets/Menu-s4tcmA39.js +0 -1
- package/dist/interface/assets/OAuthDeviceFlow-CuTYrD9O.js +0 -1
- package/dist/interface/assets/Plugin-rxCnj2kj.js +0 -1
- package/dist/interface/assets/PluginConsole-Co4fjc4f.js +0 -7
- package/dist/interface/assets/PluginDetail-CTN85V6r.js +0 -2
- package/dist/interface/assets/PluginSchema-BBKqhEhT.js +0 -1
- package/dist/interface/assets/PluginSearch-BSkk8YEd.js +0 -2
- package/dist/interface/assets/PluginSearch-CysXKG6O.js +0 -1
- package/dist/interface/assets/Plugins-DscYFuBq.js +0 -1
- package/dist/interface/assets/Recordings-CwnEqtEu.js +0 -1
- package/dist/interface/assets/Settings-D3tqwxff.js +0 -1
- package/dist/interface/assets/SettingsAccount-5DJA1JXc.js +0 -1
- package/dist/interface/assets/SettingsAccount-CAx-eRn1.js +0 -1
- package/dist/interface/assets/SettingsAccount-CBJ_h7eM.css +0 -1
- package/dist/interface/assets/SettingsAppearance-BycQWjE1.js +0 -1
- package/dist/interface/assets/SettingsAppearance-C5kgUTlV.js +0 -1
- package/dist/interface/assets/SettingsBackup-DN3fnfll.js +0 -1
- package/dist/interface/assets/SettingsMqtt-DcxlsTHF.js +0 -1
- package/dist/interface/assets/SettingsNotifications-D6OW8JdD.js +0 -2
- package/dist/interface/assets/SettingsRecordings-Dnq3B9t-.js +0 -1
- package/dist/interface/assets/SettingsRemote-DewU1s-u.js +0 -1
- package/dist/interface/assets/SettingsSystem-jgptDmFF.js +0 -2
- package/dist/interface/assets/SettingsUsers-BWzWokSD.js +0 -1
- package/dist/interface/assets/Terminal-DNZZe-ly.js +0 -4
- package/dist/interface/assets/VariableInput-CnmqCHf7.js +0 -1
- package/dist/interface/assets/VariableSuggestions-D6IlwBqV.js +0 -1
- package/dist/interface/assets/VersionsHandler-DOUnzS4w.js +0 -7
- package/dist/interface/assets/Workers-BpYgRNR_.js +0 -2
- package/dist/interface/assets/_plugin-vue_export-helper-BDNMzG2s.js +0 -1
- package/dist/interface/assets/ace-6JpPWRIj.js +0 -1
- package/dist/interface/assets/alert-outline-C4_42ECn.js +0 -1
- package/dist/interface/assets/api-BDmdOpiE.js +0 -1
- package/dist/interface/assets/api-BLTlDTXb.js +0 -2
- package/dist/interface/assets/api-GMfqGYqQ.css +0 -2
- package/dist/interface/assets/arrow-left-DroMCfOc.js +0 -1
- package/dist/interface/assets/arrow-right-outline-CvgD4nuT.js +0 -1
- package/dist/interface/assets/auth-Bz_wOZY_.js +0 -1
- package/dist/interface/assets/automation-BjZc8WL7.js +0 -1
- package/dist/interface/assets/automations-BZJH0t8U.js +0 -1
- package/dist/interface/assets/automations-CHengR-B.js +0 -1
- package/dist/interface/assets/availableVariables-D9VhvJZ1.js +0 -1
- package/dist/interface/assets/bell-_E2Lq4ub.js +0 -1
- package/dist/interface/assets/bell-outline-CHhIZudN.js +0 -1
- package/dist/interface/assets/bug-Eq4PDwA4.js +0 -1
- package/dist/interface/assets/cameras-BeI58GuP.js +0 -1
- package/dist/interface/assets/cameras.schema-BNPdbNpH.js +0 -1
- package/dist/interface/assets/cctv-DbFrrwEm.js +0 -1
- package/dist/interface/assets/check-COWE52r_.js +0 -1
- package/dist/interface/assets/check-circle-CAbOGJc_.js +0 -1
- package/dist/interface/assets/chevron-down-Bu7d-Y9N.js +0 -1
- package/dist/interface/assets/chevron-right-90_Zn7fJ.js +0 -1
- package/dist/interface/assets/cloud-outline-64fdhdhh.js +0 -1
- package/dist/interface/assets/cloud-outline-BooRVJGO.js +0 -1
- package/dist/interface/assets/cloudHandoff-B1v8OCuH.js +0 -1
- package/dist/interface/assets/cog-BOiZ8Brk.js +0 -1
- package/dist/interface/assets/cog-outline-CXjehRoX.js +0 -1
- package/dist/interface/assets/config-B7ya1VEA.js +0 -1
- package/dist/interface/assets/copy-16-filled-DfOe7jyi.js +0 -1
- package/dist/interface/assets/copy-D1B4K3K8.js +0 -1
- package/dist/interface/assets/delete-BEupTYe7.js +0 -1
- package/dist/interface/assets/delete-outline-CbGU9XWz.js +0 -1
- package/dist/interface/assets/deviceId-CGGDdDuU.js +0 -1
- package/dist/interface/assets/download-BKGJ_BFg.js +0 -1
- package/dist/interface/assets/download-DLRWZxWu.js +0 -1
- package/dist/interface/assets/esm-2cKQcsYl.js +0 -1
- package/dist/interface/assets/esm-BC-ykYHP.js +0 -1
- package/dist/interface/assets/esm-BQAccPYQ2.js +0 -1
- package/dist/interface/assets/esm-B_RAh7V8.js +0 -1
- package/dist/interface/assets/esm-BsEkUnid.js +0 -1
- package/dist/interface/assets/esm-C1u--4jU.js +0 -1
- package/dist/interface/assets/esm-Cmrq9Tli.js +0 -1
- package/dist/interface/assets/esm-CrZMuT0_.js +0 -1
- package/dist/interface/assets/esm-CxS-x_QY.js +0 -1
- package/dist/interface/assets/esm-D-xtFbBs.js +0 -1
- package/dist/interface/assets/esm-D6PR9MbI.js +0 -1
- package/dist/interface/assets/esm-DTxHX_m3.js +0 -1
- package/dist/interface/assets/esm-Dzks7cY7.js +0 -1
- package/dist/interface/assets/esm-nCaFxJ36.js +0 -1
- package/dist/interface/assets/eventIcons-2hVCNchU.css +0 -1
- package/dist/interface/assets/eventIcons-OxuOsPp8.js +0 -1
- package/dist/interface/assets/face-recognition-CPwwcApe.js +0 -1
- package/dist/interface/assets/github-CWr5rTTh.js +0 -1
- package/dist/interface/assets/grid-fill-DepYpY1i.js +0 -1
- package/dist/interface/assets/hasPermission-ByNfMevH.js +0 -1
- package/dist/interface/assets/home-DTNk2yog.js +0 -1
- package/dist/interface/assets/instances-B1yf-GZK.js +0 -1
- package/dist/interface/assets/lightbulb-outline-DPjpJn5F.js +0 -1
- package/dist/interface/assets/main-DSqwFZhx.js +0 -3
- package/dist/interface/assets/motion-sensor-D9ErhY-p.js +0 -1
- package/dist/interface/assets/native-BK8vZMAo.js +0 -1
- package/dist/interface/assets/native-Z2MQ5D82.js +0 -1
- package/dist/interface/assets/nodeDefinitions-DUlwYSC1.js +0 -1
- package/dist/interface/assets/notifications-CRDDcfL2.js +0 -1
- package/dist/interface/assets/play-solid-cginGSgT.js +0 -1
- package/dist/interface/assets/plugin-DHenq6mQ.js +0 -1
- package/dist/interface/assets/plugins-yCjIwfVx.js +0 -1
- package/dist/interface/assets/plus-CJzoaVfR.js +0 -1
- package/dist/interface/assets/power-CH_DVgfm.js +0 -1
- package/dist/interface/assets/puzzle-filled-BsJvAZrD.js +0 -1
- package/dist/interface/assets/refresh-rounded-D9PcUR6I.js +0 -1
- package/dist/interface/assets/round-restart-alt-DX8oW4nB.js +0 -1
- package/dist/interface/assets/router-C7b6u3Zu.css +0 -1
- package/dist/interface/assets/router-CLY-toId.js +0 -2
- package/dist/interface/assets/routerState-BR88YV1H.js +0 -1
- package/dist/interface/assets/server-CL_7W-Ge.js +0 -1
- package/dist/interface/assets/shares-CNCmI_b5.js +0 -1
- package/dist/interface/assets/shield-check-0hUJRszq.js +0 -1
- package/dist/interface/assets/terminal-CNEjR0aR.js +0 -1
- package/dist/interface/assets/theme-DqZM6oaM.js +0 -1
- package/dist/interface/assets/transit-connection-variant-DfztpRMW.js +0 -1
- package/dist/interface/assets/trash-can-outline-gVM4WyHG.js +0 -1
- package/dist/interface/assets/types-BpBkaZ8S.js +0 -1
- package/dist/interface/assets/types-BxFyoO54.js +0 -1
- package/dist/interface/assets/types-v8L66UlA.js +0 -1
- package/dist/interface/assets/ui-g5rCwxUE.js +0 -1
- package/dist/interface/assets/upload-DAasFa9r.js +0 -1
- package/dist/interface/assets/useBackupRestore-5e3MURs9.js +0 -1
- package/dist/interface/assets/useBiometricCredentials-Td1PJjhl.js +0 -1
- package/dist/interface/assets/useCameraOptions-nvj6-uZg.js +0 -1
- package/dist/interface/assets/useCuiCameraDrawer-BHUHw6W6.js +0 -1
- package/dist/interface/assets/useCuiDialog-DwpKUbrp.js +0 -2
- package/dist/interface/assets/useFileDownload-EHYhCRvk.js +0 -1
- package/dist/interface/assets/useSharedComposables-USqd05AG.js +0 -1
- package/dist/interface/assets/useStreamStatus-DxtAbw4P.js +0 -1
- package/dist/interface/assets/useUpdateChannel-m5t7lNTq.js +0 -1
- package/dist/interface/assets/useUserOptions-B3MwA59K.js +0 -1
- package/dist/interface/assets/users.schema-BOs7h9k2.js +0 -1
- package/dist/interface/assets/vendor-ClrOISZp.js +0 -22
- package/dist/interface/assets/vendor-cameraui-QuTJKoXE.js +0 -2039
- package/dist/interface/assets/vendor-capacitor-DWVJM4o8.js +0 -2
- package/dist/interface/assets/vendor-core-CCcu_nmz.js +0 -1
- package/dist/interface/assets/vendor-gridstack-DD5uGA3X.js +0 -3
- package/dist/interface/assets/vendor-gridstack-Rg2RhwAc.css +0 -1
- package/dist/interface/assets/vendor-vueflow-Ci6VMxDa.js +0 -26
- package/dist/interface/assets/vendor-zod-XsuaxHRY.js +0 -127
- package/dist/interface/assets/view-grid-CWZLWCco.css +0 -1
- package/dist/interface/assets/view-grid-Ot05h3Js.js +0 -1
- package/dist/interface/assets/web-1H50tiqZ.js +0 -1
- package/dist/interface/assets/web-BBRAFu75.js +0 -1
- package/dist/interface/assets/web-BQqZ-0se.js +0 -1
- package/dist/interface/assets/web-BgDADYuL.js +0 -1
- package/dist/interface/assets/web-BjKL51lK-DF7_OzmH.js +0 -1
- package/dist/interface/assets/web-C3oASmFS.js +0 -1
- package/dist/interface/assets/web-CQIOnZbD.js +0 -1
- package/dist/interface/assets/web-CW6kIZQg.js +0 -1
- package/dist/interface/assets/web-CXLWILCn.js +0 -1
- package/dist/interface/assets/web-Cz9RS9vK.js +0 -1
- package/dist/interface/assets/web-D7_BjGke.js +0 -1
- package/dist/interface/assets/web-Dn-uR4FN.js +0 -1
- package/dist/interface/assets/web-GsFXaCFL.js +0 -1
- package/dist/interface/assets/web-kh2rHftO.js +0 -1
- package/dist/interface/assets/workbox-window.prod.es5-CQTy-jf8.js +0 -1
- package/dist/server/src/api/plugins/useragent.plugin.d.ts +0 -8
- package/dist/server/src/api/plugins/useragent.plugin.js +0 -10
- package/dist/server/src/api/plugins/useragent.plugin.js.map +0 -1
|
@@ -12,7 +12,7 @@ Camera device type.
|
|
|
12
12
|
ZoneType = Literal["intersect", "contain"]
|
|
13
13
|
"""
|
|
14
14
|
Detection zone intersection type.
|
|
15
|
-
- `intersect`: Trigger when object
|
|
15
|
+
- `intersect`: Trigger when object overlaps the zone at all
|
|
16
16
|
- `contain`: Trigger only when object is fully inside the zone
|
|
17
17
|
"""
|
|
18
18
|
|
|
@@ -69,8 +69,11 @@ Video streaming mode for UI playback.
|
|
|
69
69
|
- `mse`: Media Source Extensions (browser native)
|
|
70
70
|
"""
|
|
71
71
|
|
|
72
|
-
|
|
73
|
-
"""
|
|
72
|
+
CameraAspectRatioPreset = Literal["16:9", "9:16", "8:3", "4:3", "1:1"]
|
|
73
|
+
"""Built-in aspect ratio presets offered as quick picks in the UI."""
|
|
74
|
+
|
|
75
|
+
CameraAspectRatio = CameraAspectRatioPreset | str
|
|
76
|
+
"""Camera aspect ratio for UI display: a preset or any custom ``width:height`` ratio."""
|
|
74
77
|
|
|
75
78
|
Point = tuple[float, float]
|
|
76
79
|
"""Zone polygon coordinate as [x, y] tuple (0-100 percentage)."""
|
|
@@ -18,7 +18,8 @@ class EventDetection(TypedDict):
|
|
|
18
18
|
box: NotRequired[BoundingBox]
|
|
19
19
|
"""Bounding box of the highest-confidence detection (normalized 0-1)."""
|
|
20
20
|
thumbnail: NotRequired[bytes]
|
|
21
|
-
"""Best-selected JPEG thumbnail crop.
|
|
21
|
+
"""Best-selected JPEG thumbnail crop. Present on 'segment-start' and 'segment-end',
|
|
22
|
+
omitted when it matches the segment thumbnail."""
|
|
22
23
|
trackId: NotRequired[int]
|
|
23
24
|
"""Object tracker ID (links this detection across frames)."""
|
|
24
25
|
moving: NotRequired[bool]
|
|
@@ -35,7 +36,8 @@ class EventAttribute(TypedDict):
|
|
|
35
36
|
confidence: NotRequired[float]
|
|
36
37
|
"""Detection confidence (0-1)."""
|
|
37
38
|
thumbnail: NotRequired[bytes]
|
|
38
|
-
"""Best-selected JPEG thumbnail crop.
|
|
39
|
+
"""Best-selected JPEG thumbnail crop. Present on 'segment-start' and 'segment-end',
|
|
40
|
+
and on 'segment-update' for unknown faces."""
|
|
39
41
|
embedding: NotRequired[list[float]]
|
|
40
42
|
"""Face embedding vector for unknown face persistence. Only present for face attributes."""
|
|
41
43
|
embeddingModel: NotRequired[str]
|
|
@@ -90,7 +92,7 @@ class EventSegment(TypedDict):
|
|
|
90
92
|
lastSeen: int
|
|
91
93
|
"""Segment end time (Unix ms)."""
|
|
92
94
|
thumbnail: NotRequired[bytes]
|
|
93
|
-
"""Best-selected JPEG scene thumbnail for this segment. Only present on '
|
|
95
|
+
"""Best-selected JPEG scene thumbnail for this segment. Only present on 'segment-*' messages."""
|
|
94
96
|
detections: list[EventDetection]
|
|
95
97
|
"""Object detections in this segment."""
|
|
96
98
|
attributes: list[EventAttribute]
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from typing import Literal, TypedDict
|
|
4
|
+
|
|
5
|
+
RecordingMode = Literal["continuous", "event", "adhoc"]
|
|
6
|
+
"""
|
|
7
|
+
How recordings are captured.
|
|
8
|
+
- ``continuous``: record around the clock
|
|
9
|
+
- ``event``: record only around detections, padded by the pre-buffer
|
|
10
|
+
- ``adhoc``: record only when started manually
|
|
11
|
+
"""
|
|
12
|
+
|
|
13
|
+
RecordingSource = Literal["high", "mid", "low"]
|
|
14
|
+
"""Stream tier to record."""
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class CameraRecordingSettings(TypedDict):
|
|
18
|
+
"""Recording settings for a camera."""
|
|
19
|
+
|
|
20
|
+
enabled: bool
|
|
21
|
+
"""Whether recording is enabled."""
|
|
22
|
+
mode: RecordingMode
|
|
23
|
+
"""Recording mode."""
|
|
24
|
+
preBuffer: float
|
|
25
|
+
"""Seconds of video kept before an event (event mode, 0 - 60)."""
|
|
26
|
+
sources: list[RecordingSource]
|
|
27
|
+
"""Stream tiers to record."""
|
|
@@ -20,7 +20,7 @@ class CameraInputSettings(TypedDict):
|
|
|
20
20
|
hotMode: bool
|
|
21
21
|
"""Keep connection always active."""
|
|
22
22
|
preload: bool
|
|
23
|
-
"""
|
|
23
|
+
"""Buffer the last keyframe group so new viewers get a picture faster."""
|
|
24
24
|
muted: NotRequired[bool]
|
|
25
25
|
"""Strip the audio track from this source (defaults to False)."""
|
|
26
26
|
urls: list[str]
|
|
@@ -13,9 +13,8 @@ class CoreManagerEvent(TypedDict):
|
|
|
13
13
|
"""
|
|
14
14
|
Core manager event payload.
|
|
15
15
|
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
``coreManager.onEvent`` to react to system-level state changes.
|
|
16
|
+
The host currently publishes one event type, ``cloudAccountChanged``.
|
|
17
|
+
Subscribe via ``coreManager.onEvent`` to react to it.
|
|
19
18
|
"""
|
|
20
19
|
|
|
21
20
|
type: str
|
|
@@ -31,8 +30,8 @@ class CoreManager(Protocol):
|
|
|
31
30
|
Core manager interface for system-level operations.
|
|
32
31
|
|
|
33
32
|
Provides access to cross-cutting services like the FFmpeg binary path,
|
|
34
|
-
server addresses,
|
|
35
|
-
|
|
33
|
+
server addresses, the cloud server id, inter-plugin lookup, and a stream
|
|
34
|
+
of core system events.
|
|
36
35
|
|
|
37
36
|
Accessed via `api.coreManager` in plugins.
|
|
38
37
|
|
|
@@ -95,7 +94,10 @@ class CoreManager(Protocol):
|
|
|
95
94
|
|
|
96
95
|
async def getPluginsByInterface(self, interfaceName: PluginInterface) -> list[PluginInfo]:
|
|
97
96
|
"""
|
|
98
|
-
Get all
|
|
97
|
+
Get all installed, enabled plugins that implement a specific interface.
|
|
98
|
+
|
|
99
|
+
Plugins the admin disabled are excluded. A returned plugin may still be
|
|
100
|
+
starting up or may have crashed, so a call into one can fail.
|
|
99
101
|
|
|
100
102
|
Args:
|
|
101
103
|
interfaceName: Plugin interface name (e.g., 'ClipDetection')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
|
-
from enum import
|
|
3
|
+
from enum import StrEnum
|
|
4
4
|
from typing import Literal, NotRequired, TypedDict
|
|
5
5
|
|
|
6
6
|
from ..sensor import SensorType
|
|
@@ -11,7 +11,7 @@ ensures a matching interpreter exists in its venv pool before launching the
|
|
|
11
11
|
plugin; Node and Go plugins ignore this field."""
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
class PluginRole(
|
|
14
|
+
class PluginRole(StrEnum):
|
|
15
15
|
"""Role a plugin plays in the system. The role decides which lifecycle
|
|
16
16
|
hooks the host invokes and which contract validations apply."""
|
|
17
17
|
|
|
@@ -41,7 +41,7 @@ class PluginRole(str, Enum):
|
|
|
41
41
|
by integrations that ship a complete camera + detection stack."""
|
|
42
42
|
|
|
43
43
|
|
|
44
|
-
class PluginInterface(
|
|
44
|
+
class PluginInterface(StrEnum):
|
|
45
45
|
"""Capability flags a plugin advertises in its contract.
|
|
46
46
|
|
|
47
47
|
The host uses these to decide which RPC handlers to wire up and which
|
|
@@ -102,7 +102,7 @@ class PluginInterface(str, Enum):
|
|
|
102
102
|
"""Implements OAuthClientCredentialsCapable (user-supplied client_id + client_secret)."""
|
|
103
103
|
|
|
104
104
|
|
|
105
|
-
class PluginCapability(
|
|
105
|
+
class PluginCapability(StrEnum):
|
|
106
106
|
"""Permission a plugin requests so it can call a host-provided system
|
|
107
107
|
feature. Each capability gates one outgoing SDK call — calls without
|
|
108
108
|
the matching capability are rejected by the host."""
|
|
@@ -6,13 +6,13 @@ these types directly.
|
|
|
6
6
|
|
|
7
7
|
from __future__ import annotations
|
|
8
8
|
|
|
9
|
-
from enum import
|
|
9
|
+
from enum import StrEnum
|
|
10
10
|
from typing import Any, NotRequired, Protocol, TypedDict, runtime_checkable
|
|
11
11
|
|
|
12
12
|
from ..storage import JsonSchema
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
class Severity(
|
|
15
|
+
class Severity(StrEnum):
|
|
16
16
|
"""Classifies how urgent a Notification is.
|
|
17
17
|
|
|
18
18
|
Notifiers map this to platform-specific delivery characteristics; the
|
|
@@ -70,9 +70,10 @@ class Notification(TypedDict):
|
|
|
70
70
|
Defaults to :attr:`Severity.Info` if omitted."""
|
|
71
71
|
|
|
72
72
|
tag: NotRequired[str]
|
|
73
|
-
"""Collapse-key
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
"""Collapse-key (e.g. ``motion:cam-1``). The host uses it to replace an older
|
|
74
|
+
entry with the same tag in the in-app notification list. Delivery is not
|
|
75
|
+
throttled: every publish is sent. Notifiers may map it to a platform
|
|
76
|
+
collapse-id."""
|
|
76
77
|
|
|
77
78
|
thumbnail: NotRequired[bytes]
|
|
78
79
|
"""Optional inline JPEG attached to the notification."""
|
|
@@ -42,10 +42,12 @@ from .contact import (
|
|
|
42
42
|
from .detection import (
|
|
43
43
|
DETECTION_ATTRIBUTES,
|
|
44
44
|
DETECTION_LABELS,
|
|
45
|
+
OBJECT_DETECTION_LABELS,
|
|
45
46
|
BoundingBox,
|
|
46
47
|
Detection,
|
|
47
48
|
DetectionAttribute,
|
|
48
49
|
DetectionLabel,
|
|
50
|
+
ObjectDetectionLabel,
|
|
49
51
|
VideoFrameData,
|
|
50
52
|
)
|
|
51
53
|
from .doorbell import (
|
|
@@ -141,6 +143,8 @@ __all__ = [
|
|
|
141
143
|
"BASE_AUDIO_LABELS",
|
|
142
144
|
"DETECTION_LABELS",
|
|
143
145
|
"DETECTION_ATTRIBUTES",
|
|
146
|
+
"OBJECT_DETECTION_LABELS",
|
|
147
|
+
"ObjectDetectionLabel",
|
|
144
148
|
"AudioLabel",
|
|
145
149
|
"BaseAudioLabel",
|
|
146
150
|
"DetectionLabel",
|
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from abc import abstractmethod
|
|
4
4
|
from collections.abc import Mapping
|
|
5
|
-
from enum import
|
|
5
|
+
from enum import StrEnum
|
|
6
6
|
from typing import Any, Generic, Literal, NotRequired, Protocol, overload, runtime_checkable
|
|
7
7
|
|
|
8
8
|
from typing_extensions import TypedDict, TypeVar
|
|
@@ -48,7 +48,7 @@ BaseAudioLabel = Literal[
|
|
|
48
48
|
AudioLabel = BaseAudioLabel | str
|
|
49
49
|
|
|
50
50
|
|
|
51
|
-
class AudioProperty(
|
|
51
|
+
class AudioProperty(StrEnum):
|
|
52
52
|
"""Property names of an audio detection sensor."""
|
|
53
53
|
|
|
54
54
|
Detected = "detected" # Whether an audio event is currently detected
|
|
@@ -5,7 +5,7 @@ import contextlib
|
|
|
5
5
|
import time
|
|
6
6
|
from abc import ABC, abstractmethod
|
|
7
7
|
from collections.abc import Callable, Mapping
|
|
8
|
-
from enum import
|
|
8
|
+
from enum import StrEnum
|
|
9
9
|
from typing import (
|
|
10
10
|
TYPE_CHECKING,
|
|
11
11
|
Any,
|
|
@@ -31,7 +31,7 @@ if TYPE_CHECKING:
|
|
|
31
31
|
from ..storage import DeviceStorage, JsonSchema
|
|
32
32
|
|
|
33
33
|
|
|
34
|
-
class SensorType(
|
|
34
|
+
class SensorType(StrEnum):
|
|
35
35
|
"""Type of sensor. Each maps to a smart-home concept (HomeKit service)."""
|
|
36
36
|
|
|
37
37
|
Motion = "motion" # Video-based motion detection
|
|
@@ -58,7 +58,7 @@ class SensorType(str, Enum):
|
|
|
58
58
|
Battery = "battery" # Battery level and charging state
|
|
59
59
|
|
|
60
60
|
|
|
61
|
-
class SensorCategory(
|
|
61
|
+
class SensorCategory(StrEnum):
|
|
62
62
|
"""Categorizes a sensor's role in the system."""
|
|
63
63
|
|
|
64
64
|
Sensor = "sensor" # Read-only detection sensor
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
from collections.abc import Mapping
|
|
4
|
-
from enum import
|
|
4
|
+
from enum import StrEnum
|
|
5
5
|
from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
|
|
6
6
|
|
|
7
7
|
from typing_extensions import TypedDict, TypeVar
|
|
@@ -10,7 +10,7 @@ from ..observable import Observable
|
|
|
10
10
|
from .base import Sensor, SensorCategory, SensorLike, SensorType
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
class BatteryCapability(
|
|
13
|
+
class BatteryCapability(StrEnum):
|
|
14
14
|
"""Optional capabilities for battery info sensors."""
|
|
15
15
|
|
|
16
16
|
LowBattery = "lowBattery"
|
|
@@ -19,15 +19,18 @@ class BatteryCapability(str, Enum):
|
|
|
19
19
|
"""Sensor reports charging state."""
|
|
20
20
|
|
|
21
21
|
|
|
22
|
-
class BatteryProperty(
|
|
22
|
+
class BatteryProperty(StrEnum):
|
|
23
23
|
"""Properties for battery info sensors."""
|
|
24
24
|
|
|
25
25
|
Level = "level"
|
|
26
|
+
"""Battery level percentage (0-100)."""
|
|
26
27
|
Charging = "charging"
|
|
28
|
+
"""Current charging state."""
|
|
27
29
|
Low = "low"
|
|
30
|
+
"""Whether battery is critically low."""
|
|
28
31
|
|
|
29
32
|
|
|
30
|
-
class ChargingState(
|
|
33
|
+
class ChargingState(StrEnum):
|
|
31
34
|
"""Battery charging state."""
|
|
32
35
|
|
|
33
36
|
NotChargeable = "NOT_CHARGEABLE"
|
|
@@ -125,7 +128,7 @@ class BatteryInfo(Sensor[BatteryInfoProperties, TStorage, BatteryCapability], Ge
|
|
|
125
128
|
"""Report a new battery level (percentage). Clamped to [0, 100].
|
|
126
129
|
|
|
127
130
|
Args:
|
|
128
|
-
value: Battery level percentage in the range 0
|
|
131
|
+
value: Battery level percentage in the range 0-100.
|
|
129
132
|
|
|
130
133
|
Example:
|
|
131
134
|
```python
|
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from abc import abstractmethod
|
|
4
4
|
from collections.abc import Mapping
|
|
5
|
-
from enum import
|
|
5
|
+
from enum import StrEnum
|
|
6
6
|
from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
|
|
7
7
|
|
|
8
8
|
from typing_extensions import TypedDict, TypeVar
|
|
@@ -13,7 +13,7 @@ from .detection import Detection, VideoFrameData
|
|
|
13
13
|
from .spec import ModelSpec
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
class ClassifierProperty(
|
|
16
|
+
class ClassifierProperty(StrEnum):
|
|
17
17
|
"""Property names of a classifier sensor."""
|
|
18
18
|
|
|
19
19
|
Detected = "detected" # Whether any classification result is active
|
|
@@ -190,7 +190,8 @@ class ClassifierDetectorSensor(ClassifierSensor[TStorage], Generic[TStorage]):
|
|
|
190
190
|
|
|
191
191
|
@abstractmethod
|
|
192
192
|
async def detectClassifications(self, frames: list[VideoFrameData]) -> list[ClassifierResult]:
|
|
193
|
-
"""Classify frames in batch. Each frame is
|
|
194
|
-
|
|
195
|
-
|
|
193
|
+
"""Classify frames in batch. Each frame is pre-scaled to ``modelSpec['input']``:
|
|
194
|
+
normally a trigger region cropped by the upstream object detector, but the whole
|
|
195
|
+
scene when no decoded frame is available. Must return exactly one ClassifierResult
|
|
196
|
+
per input frame, in the same order."""
|
|
196
197
|
...
|
|
@@ -57,9 +57,10 @@ class ClipDetectorSensor(Sensor[dict[str, Any], TStorage, str], Generic[TStorage
|
|
|
57
57
|
|
|
58
58
|
@abstractmethod
|
|
59
59
|
async def detectEmbeddings(self, frames: list[VideoFrameData]) -> list[ClipResult]:
|
|
60
|
-
"""Generate CLIP embeddings in batch. Each frame is
|
|
61
|
-
|
|
62
|
-
|
|
60
|
+
"""Generate CLIP embeddings in batch. Each frame is pre-scaled to ``modelSpec['input']``:
|
|
61
|
+
normally a trigger region cropped by the upstream object detector, but the whole scene
|
|
62
|
+
when no decoded frame is available. Must return exactly one ClipResult per input frame,
|
|
63
|
+
in the same order. Use ``frame['label']`` to tag the emitted embedding."""
|
|
63
64
|
...
|
|
64
65
|
|
|
65
66
|
async def updateValue(self, property: str, value: Any) -> None:
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
from collections.abc import Mapping
|
|
4
|
-
from enum import
|
|
4
|
+
from enum import StrEnum
|
|
5
5
|
from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
|
|
6
6
|
|
|
7
7
|
from typing_extensions import TypedDict, TypeVar
|
|
@@ -10,10 +10,11 @@ from ..observable import Observable
|
|
|
10
10
|
from .base import Sensor, SensorCategory, SensorLike, SensorType
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
class ContactProperty(
|
|
13
|
+
class ContactProperty(StrEnum):
|
|
14
14
|
"""Properties for contact sensors."""
|
|
15
15
|
|
|
16
16
|
Detected = "detected"
|
|
17
|
+
"""Whether the contact is open (true = open, false = closed)."""
|
|
17
18
|
|
|
18
19
|
|
|
19
20
|
class ContactSensorProperties(TypedDict):
|
|
@@ -4,8 +4,14 @@ from typing import Literal, NotRequired
|
|
|
4
4
|
|
|
5
5
|
from typing_extensions import TypedDict
|
|
6
6
|
|
|
7
|
+
#: Object-detection labels the detector groups its classes into.
|
|
8
|
+
OBJECT_DETECTION_LABELS = ("person", "vehicle", "animal", "package")
|
|
9
|
+
|
|
10
|
+
#: Union of the object-detection label strings.
|
|
11
|
+
ObjectDetectionLabel = Literal["person", "vehicle", "animal", "package"]
|
|
12
|
+
|
|
7
13
|
#: Built-in detection label types recognized across the system.
|
|
8
|
-
DETECTION_LABELS = ("motion",
|
|
14
|
+
DETECTION_LABELS = ("motion", *OBJECT_DETECTION_LABELS, "audio")
|
|
9
15
|
|
|
10
16
|
#: Union of the built-in detection label strings.
|
|
11
17
|
DetectionLabel = Literal["motion", "person", "vehicle", "animal", "package", "audio"]
|
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import threading
|
|
4
4
|
from collections.abc import Mapping
|
|
5
|
-
from enum import
|
|
5
|
+
from enum import StrEnum
|
|
6
6
|
from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
|
|
7
7
|
|
|
8
8
|
from typing_extensions import TypedDict, TypeVar
|
|
@@ -11,10 +11,11 @@ from ..observable import Observable
|
|
|
11
11
|
from .base import Sensor, SensorCategory, SensorLike, SensorType
|
|
12
12
|
|
|
13
13
|
|
|
14
|
-
class DoorbellProperty(
|
|
14
|
+
class DoorbellProperty(StrEnum):
|
|
15
15
|
"""Properties for doorbell triggers."""
|
|
16
16
|
|
|
17
17
|
Ring = "ring"
|
|
18
|
+
"""Whether the doorbell is currently ringing."""
|
|
18
19
|
|
|
19
20
|
|
|
20
21
|
class DoorbellTriggerProperties(TypedDict):
|
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from abc import abstractmethod
|
|
4
4
|
from collections.abc import Mapping
|
|
5
|
-
from enum import
|
|
5
|
+
from enum import StrEnum
|
|
6
6
|
from typing import Any, Generic, Literal, NotRequired, Protocol, overload, runtime_checkable
|
|
7
7
|
|
|
8
8
|
from typing_extensions import TypedDict, TypeVar
|
|
@@ -13,7 +13,7 @@ from .detection import Detection, VideoFrameData
|
|
|
13
13
|
from .spec import ModelSpec
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
class FaceProperty(
|
|
16
|
+
class FaceProperty(StrEnum):
|
|
17
17
|
"""Property names of a face detection sensor."""
|
|
18
18
|
|
|
19
19
|
Detected = "detected" # Whether any face is currently detected
|
|
@@ -178,7 +178,8 @@ class FaceDetectorSensor(FaceSensor[TStorage], Generic[TStorage]):
|
|
|
178
178
|
|
|
179
179
|
@abstractmethod
|
|
180
180
|
async def detectFaces(self, frames: list[VideoFrameData]) -> list[FaceResult]:
|
|
181
|
-
"""Detect faces in batch. Each frame is
|
|
182
|
-
|
|
181
|
+
"""Detect faces in batch. Each frame is pre-scaled to ``modelSpec['input']``:
|
|
182
|
+
normally a person region cropped by the upstream object detector, but the whole
|
|
183
|
+
scene when no decoded frame is available. Must return exactly one FaceResult per
|
|
183
184
|
input frame, in the same order."""
|
|
184
185
|
...
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
from collections.abc import Mapping
|
|
4
|
-
from enum import
|
|
4
|
+
from enum import IntEnum, StrEnum
|
|
5
5
|
from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
|
|
6
6
|
|
|
7
7
|
from typing_extensions import TypedDict, TypeVar
|
|
@@ -20,12 +20,15 @@ class GarageState(IntEnum):
|
|
|
20
20
|
Stopped = 4
|
|
21
21
|
|
|
22
22
|
|
|
23
|
-
class GarageProperty(
|
|
23
|
+
class GarageProperty(StrEnum):
|
|
24
24
|
"""Properties for garage controls."""
|
|
25
25
|
|
|
26
26
|
CurrentState = "currentState"
|
|
27
|
+
"""The actual current state of the garage door."""
|
|
27
28
|
TargetState = "targetState"
|
|
29
|
+
"""The desired target state (set by user, transitions to currentState)."""
|
|
28
30
|
ObstructionDetected = "obstructionDetected"
|
|
31
|
+
"""Whether an obstruction is detected."""
|
|
29
32
|
|
|
30
33
|
|
|
31
34
|
class GarageControlProperties(TypedDict):
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
from collections.abc import Mapping
|
|
4
|
-
from enum import
|
|
4
|
+
from enum import StrEnum
|
|
5
5
|
from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
|
|
6
6
|
|
|
7
7
|
from typing_extensions import TypedDict, TypeVar
|
|
@@ -10,10 +10,11 @@ from ..observable import Observable
|
|
|
10
10
|
from .base import Sensor, SensorCategory, SensorLike, SensorType
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
class HumidityProperty(
|
|
13
|
+
class HumidityProperty(StrEnum):
|
|
14
14
|
"""Properties for humidity info sensors."""
|
|
15
15
|
|
|
16
16
|
Current = "current"
|
|
17
|
+
"""Current relative humidity (0-100%)."""
|
|
17
18
|
|
|
18
19
|
|
|
19
20
|
class HumidityInfoProperties(TypedDict):
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
from collections.abc import Mapping
|
|
4
|
-
from enum import
|
|
4
|
+
from enum import StrEnum
|
|
5
5
|
from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
|
|
6
6
|
|
|
7
7
|
from typing_extensions import TypedDict, TypeVar
|
|
@@ -10,10 +10,11 @@ from ..observable import Observable
|
|
|
10
10
|
from .base import Sensor, SensorCategory, SensorLike, SensorType
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
class LeakProperty(
|
|
13
|
+
class LeakProperty(StrEnum):
|
|
14
14
|
"""Properties for leak sensors."""
|
|
15
15
|
|
|
16
16
|
Detected = "detected"
|
|
17
|
+
"""Whether a leak is detected."""
|
|
17
18
|
|
|
18
19
|
|
|
19
20
|
class LeakSensorProperties(TypedDict):
|
|
@@ -2,8 +2,8 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
from abc import abstractmethod
|
|
4
4
|
from collections.abc import Mapping
|
|
5
|
-
from enum import
|
|
6
|
-
from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
|
|
5
|
+
from enum import StrEnum
|
|
6
|
+
from typing import Any, Generic, Literal, NotRequired, Protocol, overload, runtime_checkable
|
|
7
7
|
|
|
8
8
|
from typing_extensions import TypedDict, TypeVar
|
|
9
9
|
|
|
@@ -13,7 +13,7 @@ from .detection import Detection, VideoFrameData
|
|
|
13
13
|
from .spec import ModelSpec
|
|
14
14
|
|
|
15
15
|
|
|
16
|
-
class LicensePlateProperty(
|
|
16
|
+
class LicensePlateProperty(StrEnum):
|
|
17
17
|
"""Property names of a license plate detection sensor."""
|
|
18
18
|
|
|
19
19
|
Detected = "detected" # Whether any license plate is currently detected
|
|
@@ -25,6 +25,9 @@ class LicensePlateDetection(Detection):
|
|
|
25
25
|
|
|
26
26
|
attribute: Literal["license_plate"] # type: ignore[misc] # Sub-detection attribute, fixed to "license_plate"
|
|
27
27
|
plateText: str # Recognized plate text (e.g. "ABC 1234")
|
|
28
|
+
ocrConfidence: NotRequired[
|
|
29
|
+
float
|
|
30
|
+
] # Average text recognition confidence (0-1), separate from the box confidence
|
|
28
31
|
|
|
29
32
|
|
|
30
33
|
class LicensePlateSensorProperties(TypedDict):
|
|
@@ -180,7 +183,8 @@ class LicensePlateDetectorSensor(LicensePlateSensor[TStorage], Generic[TStorage]
|
|
|
180
183
|
|
|
181
184
|
@abstractmethod
|
|
182
185
|
async def detectLicensePlates(self, frames: list[VideoFrameData]) -> list[LicensePlateResult]:
|
|
183
|
-
"""Detect license plates in batch. Each frame is
|
|
184
|
-
|
|
186
|
+
"""Detect license plates in batch. Each frame is pre-scaled to ``modelSpec['input']``:
|
|
187
|
+
normally a vehicle region cropped by the upstream object detector, but the whole scene
|
|
188
|
+
when no decoded frame is available. Must return exactly one LicensePlateResult per
|
|
185
189
|
input frame, in the same order."""
|
|
186
190
|
...
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
from collections.abc import Mapping
|
|
4
|
-
from enum import
|
|
4
|
+
from enum import StrEnum
|
|
5
5
|
from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
|
|
6
6
|
|
|
7
7
|
from typing_extensions import TypedDict, TypeVar
|
|
@@ -10,18 +10,20 @@ from ..observable import Observable
|
|
|
10
10
|
from .base import Sensor, SensorCategory, SensorLike, SensorType
|
|
11
11
|
|
|
12
12
|
|
|
13
|
-
class LightCapability(
|
|
13
|
+
class LightCapability(StrEnum):
|
|
14
14
|
"""Optional capabilities for light controls."""
|
|
15
15
|
|
|
16
16
|
Brightness = "brightness"
|
|
17
|
-
"""Light supports brightness adjustment (0
|
|
17
|
+
"""Light supports brightness adjustment (0-100)."""
|
|
18
18
|
|
|
19
19
|
|
|
20
|
-
class LightProperty(
|
|
20
|
+
class LightProperty(StrEnum):
|
|
21
21
|
"""Properties for light controls."""
|
|
22
22
|
|
|
23
23
|
On = "on"
|
|
24
|
+
"""Whether the light is on."""
|
|
24
25
|
Brightness = "brightness"
|
|
26
|
+
"""Brightness level (0-100)."""
|
|
25
27
|
|
|
26
28
|
|
|
27
29
|
class LightControlProperties(TypedDict):
|
|
@@ -134,7 +136,7 @@ class LightControl(Sensor[LightControlProperties, TStorage, LightCapability], Ge
|
|
|
134
136
|
succeeds. The default implementation clamps the value to [0, 100].
|
|
135
137
|
|
|
136
138
|
Args:
|
|
137
|
-
value: Brightness level in the range 0
|
|
139
|
+
value: Brightness level in the range 0-100.
|
|
138
140
|
|
|
139
141
|
Example:
|
|
140
142
|
```python
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
from collections.abc import Mapping
|
|
4
|
-
from enum import
|
|
4
|
+
from enum import IntEnum, StrEnum
|
|
5
5
|
from typing import Any, Generic, Literal, Protocol, overload, runtime_checkable
|
|
6
6
|
|
|
7
7
|
from typing_extensions import TypedDict, TypeVar
|
|
@@ -18,11 +18,13 @@ class LockState(IntEnum):
|
|
|
18
18
|
Unknown = 2
|
|
19
19
|
|
|
20
20
|
|
|
21
|
-
class LockProperty(
|
|
21
|
+
class LockProperty(StrEnum):
|
|
22
22
|
"""Properties for lock controls."""
|
|
23
23
|
|
|
24
24
|
CurrentState = "currentState"
|
|
25
|
+
"""The actual current state of the lock."""
|
|
25
26
|
TargetState = "targetState"
|
|
27
|
+
"""The desired target state (set by user, transitions to currentState)."""
|
|
26
28
|
|
|
27
29
|
|
|
28
30
|
class LockControlProperties(TypedDict):
|