@camera.ui/server 2.1.4 → 2.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/interface/assets/{404-6v3-U7nj.js → 404-EUyzR8Cu.js} +1 -1
- package/dist/interface/assets/{About-IMZSnCy7.js → About-BmfMwt66.js} +1 -1
- package/dist/interface/assets/{Automation-xs_GEpGx.js → Automation-DtTMxMlL.js} +3 -3
- package/dist/interface/assets/{AutomationImport-CR4fWWkU.js → AutomationImport-Cxrhgzer.js} +2 -2
- package/dist/interface/assets/{AutomationStore-rB-eVXdY.js → AutomationStore-aTGlzTcI.js} +2 -2
- package/dist/interface/assets/{AutomationStoreDetail-DzMg8IOO.js → AutomationStoreDetail-BtmSvtyE.js} +2 -2
- package/dist/interface/assets/Automations-CBeEWCad.js +2 -0
- package/dist/interface/assets/Camera-9tFj730F.js +2 -0
- package/dist/interface/assets/Camera-C5gF7yVN.css +1 -0
- package/dist/interface/assets/{CameraConsole-CQLrlDvb.js → CameraConsole-rCJr-qfx.js} +1 -1
- package/dist/interface/assets/Cameras-BZkbEN1q.css +1 -0
- package/dist/interface/assets/Cameras-DFuh9jxK.js +652 -0
- package/dist/interface/assets/Camview-C2byPDDS.js +1 -0
- package/dist/interface/assets/{Camview-UCj_OW0s.css → Camview-DxxONfeK.css} +1 -1
- package/dist/interface/assets/{Config-DxYeS7cY.js → Config-C_IAFeWx.js} +1 -1
- package/dist/interface/assets/{ConfigActionCameraControl-Biu5BwNu.js → ConfigActionCameraControl-Caqlckcz.js} +1 -1
- package/dist/interface/assets/{ConfigActionDelay-CK5j4XLw.js → ConfigActionDelay-CZeAJTj7.js} +1 -1
- package/dist/interface/assets/{ConfigActionHttp-Dtvi3jZB.js → ConfigActionHttp-DcQCJ4zV.js} +1 -1
- package/dist/interface/assets/{ConfigActionImageInput-Dh0A20j9.js → ConfigActionImageInput-DkgxdP2U.js} +1 -1
- package/dist/interface/assets/{ConfigActionMqtt-DwZdnDlb.js → ConfigActionMqtt-Dp2-YpS9.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-BVqYxGu8.js → ConfigActionNotification-DDbDqLLs.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotificationControl-BTdnQqox.js → ConfigActionNotificationControl-CX83znhY.js} +1 -1
- package/dist/interface/assets/{ConfigActionOutput-Dv745ppL.js → ConfigActionOutput-kMcDrgsm.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-C9QdPDXC.js → ConfigActionPlugin-Bv2Ke9_L.js} +1 -1
- package/dist/interface/assets/{ConfigActionSensor-D17wASao.js → ConfigActionSensor-CogS-K7S.js} +1 -1
- package/dist/interface/assets/{ConfigActionSnapshot-CrbMLwuh.js → ConfigActionSnapshot-CdIciF5F.js} +1 -1
- package/dist/interface/assets/{ConfigActionVariable-C0HobSMN.js → ConfigActionVariable-DS-nQLns.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-DsedkGhY.js → ConfigConditionIfElse-BWYzHNnH.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-rRLbA2_b.js → ConfigConditionSensorState-CxiaJpOs.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSwitch-5nEVS-Oj.js → ConfigConditionSwitch-l01kWXVF.js} +1 -1
- package/dist/interface/assets/{ConfigConditionTime-CieLn-sp.js → ConfigConditionTime-0Du7w_QE.js} +1 -1
- package/dist/interface/assets/{ConfigSensorValueInput-CRRM_aBz.js → ConfigSensorValueInput-Dm9r6m8t.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerDetection-CMVgejZ3.js → ConfigTriggerDetection-CvK9Hvcd.js} +1 -1
- package/dist/interface/assets/ConfigTriggerGeofence-DQcdG6av.js +1 -0
- package/dist/interface/assets/{ConfigTriggerManual-Bd9H0AfP.js → ConfigTriggerManual-IAo9sbiS.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerMqtt-BIv5Ca91.js → ConfigTriggerMqtt-16hSjN-I.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSchedule-CzWWcnFW.js → ConfigTriggerSchedule-Ct_AN-xu.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-C5lsyxsh.js → ConfigTriggerSensor-DkVWre58.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-WipCRwTJ.js → ConfigTriggerSystem-BAd9IeRa.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerWebhook-Bl0O4RBX.js → ConfigTriggerWebhook-EmrFSoiV.js} +1 -1
- package/dist/interface/assets/Console-C7lP5TMv.js +1 -0
- package/dist/interface/assets/{CuiAutomationRunsDialog-CUPBuq_J.js → CuiAutomationRunsDialog-BoGUmS-Q.js} +1 -1
- package/dist/interface/assets/{CuiBottomSheet-K19nZQiG.js → CuiBottomSheet-DxrKqjWh.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-II-Ajj4k.js +1 -0
- package/dist/interface/assets/{CuiCameraPipCard-D3o29_wc.css → CuiCameraPipCard-BQKk4fxY.css} +1 -1
- package/dist/interface/assets/CuiCameraPipCard-C2nZsnPM.js +1 -0
- package/dist/interface/assets/CuiCameraRecordings-AA-sBtb4.css +1 -0
- package/dist/interface/assets/CuiCameraRecordings-B4pJPGOQ.js +1 -0
- package/dist/interface/assets/{CuiCameraShares-BTn5ys6X.js → CuiCameraShares-DBZ01JcG.js} +1 -1
- package/dist/interface/assets/{CuiCameraTable-DYvQ-GCz.js → CuiCameraTable-BlJHb3gX.js} +2 -2
- package/dist/interface/assets/CuiCameraTable-WOrw4_LR.js +1 -0
- package/dist/interface/assets/{CuiConsole-C4PawCou.js → CuiConsole-D56cxVKE.js} +2 -2
- package/dist/interface/assets/CuiDataTable-Ca51CpsO.js +1 -0
- package/dist/interface/assets/{CuiLightControl-BYkQ8Ue3.js → CuiLightControl-DP4pbkjr.js} +1 -1
- package/dist/interface/assets/{CuiList-BgZBIhXP.js → CuiList-psx5r57o.js} +1 -1
- package/dist/interface/assets/CuiMarkdownContent-DIycyLeP.js +1 -0
- package/dist/interface/assets/{CuiMarkdownContent-CCdOW_TM.js → CuiMarkdownContent-PSq4kE1G.js} +1 -1
- package/dist/interface/assets/{CuiPluginCard-C91rKOge.js → CuiPluginCard-DSQ7w6Nl.js} +2 -2
- package/dist/interface/assets/{CuiPluginCategoryChip-B_Zy4B42.js → CuiPluginCategoryChip-DiUXddOe.js} +1 -1
- package/dist/interface/assets/{CuiPluginOAuthButton-IXGedGWs.js → CuiPluginOAuthButton-ZRJJct-f.js} +2 -2
- package/dist/interface/assets/{CuiPluginTrustBadge-DTfM8Jjo.js → CuiPluginTrustBadge-DNjUDEtv.js} +1 -1
- package/dist/interface/assets/CuiQRCode-wxEwM1Sh.js +1 -0
- package/dist/interface/assets/CuiRecordingsGrid-DM5XDEMU.js +1 -0
- package/dist/interface/assets/CuiSchema-BJE7vHFH.js +1 -0
- package/dist/interface/assets/{CuiTopNavbarItem-DWLnn7Kh.js → CuiTopNavbarItem-DdFdvKkq.js} +1 -1
- package/dist/interface/assets/Faces-D4_QXhaT.js +1 -0
- package/dist/interface/assets/FirstSteps-CfKHB_uc.js +1 -0
- package/dist/interface/assets/Instances-DvAMsOPZ.js +1 -0
- package/dist/interface/assets/{Logs-Cii4oP8R.js → Logs-e3y9zMPD.js} +2 -2
- package/dist/interface/assets/Menu-DMLqFO8c.js +1 -0
- package/dist/interface/assets/Metrics-C3RI973t.js +1 -0
- package/dist/interface/assets/Metrics-DqBC-wEo.css +1 -0
- package/dist/interface/assets/{OAuthDeviceFlow-BZgtsIjF.js → OAuthDeviceFlow-C51WkjaT.js} +1 -1
- package/dist/interface/assets/Plugin-DcdVF_OG.js +1 -0
- package/dist/interface/assets/{PluginConsole-BFsCogtB.js → PluginConsole-D0n-Jf_E.js} +1 -1
- package/dist/interface/assets/PluginDetail-NOJPSqIS.js +2 -0
- package/dist/interface/assets/{PluginSchema-D45zblVz.js → PluginSchema-aG4DGAcH.js} +1 -1
- package/dist/interface/assets/PluginSearch-JGQTNibA.js +1 -0
- package/dist/interface/assets/PluginSearch-w9vvKCTP.js +2 -0
- package/dist/interface/assets/{PluginUpdateProgress-CsRGGH8J.js → PluginUpdateProgress-DkdoTjZY.js} +1 -1
- package/dist/interface/assets/Plugins-BzQvLNj7.js +1 -0
- package/dist/interface/assets/Recordings-_2r3gD4E.js +1 -0
- package/dist/interface/assets/{SensorEdit-D2ChsNDL.js → SensorEdit-qcv6KAap.js} +1 -1
- package/dist/interface/assets/{SensorHistory-B6ZKgot4.js → SensorHistory-C8vryAe_.js} +1 -1
- package/dist/interface/assets/Sensors-DnWG7VfR.js +2 -0
- package/dist/interface/assets/{Settings-DmZjKfDi.css → Settings-B1MnGPuf.css} +1 -1
- package/dist/interface/assets/Settings-BqcsLKll.js +1 -0
- package/dist/interface/assets/SettingsAccount-BrYKAfPE.js +1 -0
- package/dist/interface/assets/SettingsAccount-CNfGFQuq.js +1 -0
- package/dist/interface/assets/SettingsAppearance-B-smgzKL.js +1 -0
- package/dist/interface/assets/SettingsAppearance-eeRSh42a.js +1 -0
- package/dist/interface/assets/{SettingsBackup-8HCwVmDA.js → SettingsBackup-C0ekmlJy.js} +1 -1
- package/dist/interface/assets/SettingsList-DeP1LOjz.js +1 -0
- package/dist/interface/assets/SettingsMqtt-Bo4jZHMl.js +1 -0
- package/dist/interface/assets/{SettingsNotifications-fDDuqryh.js → SettingsNotifications-Dx3me91s.js} +1 -1
- package/dist/interface/assets/{SettingsPermissions-DYirYf1Z.js → SettingsPermissions-DU1XvFFc.js} +1 -1
- package/dist/interface/assets/SettingsRecordings-Dh-BqEba.js +1 -0
- package/dist/interface/assets/SettingsRemote-W3skn8qk.js +1 -0
- package/dist/interface/assets/{SettingsSystem-CVWkw449.js → SettingsSystem-DnQSlgu0.js} +2 -2
- package/dist/interface/assets/SettingsUsers-CFBTzA0j.js +1 -0
- package/dist/interface/assets/{Terminal-BgVnN-2g.js → Terminal-C7lDL745.js} +2 -2
- package/dist/interface/assets/{VariableInput-ZYn-Phl4.js → VariableInput-DKmWb9RP.js} +1 -1
- package/dist/interface/assets/{VariableSuggestions-BnzdQP6R.js → VariableSuggestions-CjlK2Uqx.js} +1 -1
- package/dist/interface/assets/{VersionsHandler-BvKvGOlF.js → VersionsHandler-CrHCAiKn.js} +1 -1
- package/dist/interface/assets/{VirtualSensorCreate-Dk_YYzxR.js → VirtualSensorCreate-DHhbE5iD.js} +1 -1
- package/dist/interface/assets/Workers-CY-3Ah4u.js +2 -0
- package/dist/interface/assets/api-Bj4QRftG.css +2 -0
- package/dist/interface/assets/api-CvO7u24f.js +2 -0
- package/dist/interface/assets/{api-36pS71R2.js → api-DwU_RUzW.js} +1 -1
- package/dist/interface/assets/auth-BhT4BtBc.js +1 -0
- package/dist/interface/assets/{automations-BOvDlvvx.js → automations-ya-5P8Jc.js} +1 -1
- package/dist/interface/assets/{cameras.schema-BvnUX82v.js → cameras.schema-BWH_Q16D.js} +1 -1
- package/dist/interface/assets/cloudHandoff-BPjQsq7k.js +1 -0
- package/dist/interface/assets/{config-DTGhJmsj.js → config-CgGpshGm.js} +1 -1
- package/dist/interface/assets/{flowSchema-zo1H4tnP.js → flowSchema-OrM5E_3R.js} +1 -1
- package/dist/interface/assets/main-Dd71JT_o.css +1 -0
- package/dist/interface/assets/main-rlz9T4Ug.js +3 -0
- package/dist/interface/assets/mqtt-CO84Q9sE.js +1 -0
- package/dist/interface/assets/{notifications-cHS8-1HN.js → notifications-DxDFtZSo.js} +1 -1
- package/dist/interface/assets/{plugins-CaKErv4E.js → plugins-g-qkx8GX.js} +1 -1
- package/dist/interface/assets/round-restart-alt-CmrjVFat.css +1 -0
- package/dist/interface/assets/round-restart-alt-YiDa63x6.js +1 -0
- package/dist/interface/assets/{sensorIcons-DepqfSoA.js → sensorIcons-4dvSmrEv.js} +1 -1
- package/dist/interface/assets/{sensors-CMpbwMO4.js → sensors-BFCE7rbx.js} +1 -1
- package/dist/interface/assets/{server-C-WV93FX.js → server-arWVymo1.js} +1 -1
- package/dist/interface/assets/{theme-BkwBz73p.js → theme-Dw9-CwMe.js} +1 -1
- package/dist/interface/assets/types-BCygqese.js +1 -0
- package/dist/interface/assets/{types-Cko7VOxd.js → types-D5c17URv.js} +1 -1
- package/dist/interface/assets/{useAppVersion-V1S18l98.js → useAppVersion-Cp6mZ-ge.js} +1 -1
- package/dist/interface/assets/useBackupRestore-Drc-2VXy.js +1 -0
- package/dist/interface/assets/{useCameraOptions-o1hYGLbC.js → useCameraOptions-BF3ASvVM.js} +1 -1
- package/dist/interface/assets/{useElectron-3ZJLtRk3.js → useElectron-BNGXeZEx.js} +1 -1
- package/dist/interface/assets/{useLogsSocket-DDgnQ_Dk.js → useLogsSocket-hJ9xUUtr.js} +1 -1
- package/dist/interface/assets/useNavLayout-CcDIO9RG.js +1 -0
- package/dist/interface/assets/{usePermissions-BWlj5SzG.js → usePermissions-C9kp5HQR.js} +1 -1
- package/dist/interface/assets/{usePluginUpdates-DI1p2NMc.js → usePluginUpdates-BJwtwD9v.js} +1 -1
- package/dist/interface/assets/{useServerRestart-D_ASBw_0.js → useServerRestart-DwpQyv5H.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-BQJIFFLv.js → useStreamStatus-C5dH33U5.js} +1 -1
- package/dist/interface/assets/{useUpdateChannel-CyLSUSAY.js → useUpdateChannel-D7hnlzd5.js} +1 -1
- package/dist/interface/assets/{useUserOptions-Ds1Ybn7N.js → useUserOptions-DFgkIDv8.js} +1 -1
- package/dist/interface/assets/utils-gctUU5q_.js +1 -0
- package/dist/interface/assets/vendor-cameraui-GaXYUHUd.js +2326 -0
- package/dist/interface/assets/vendor-core-BNfYBWH3.js +1 -0
- package/dist/interface/assets/vendor-markdown-Bw_90xkF.js +14 -0
- package/dist/interface/assets/{vendor-primevue-DE-f4Z5f.js → vendor-primevue-CIRUBYsf.js} +1 -1
- package/dist/interface/index.html +26 -25
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +4 -4
- package/dist/server/requirements.txt +1 -1
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/detection.py +2 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/notifier.py +6 -0
- package/dist/server/src/api/controllers/auth.controller.js +2 -0
- package/dist/server/src/api/controllers/auth.controller.js.map +1 -1
- package/dist/server/src/api/controllers/notifications.controller.d.ts +5 -0
- package/dist/server/src/api/controllers/notifications.controller.js +27 -0
- package/dist/server/src/api/controllers/notifications.controller.js.map +1 -1
- package/dist/server/src/api/database/types.d.ts +3 -0
- package/dist/server/src/api/routes/notifications.routes.js +11 -0
- package/dist/server/src/api/routes/notifications.routes.js.map +1 -1
- package/dist/server/src/api/schemas/cameras.schema.d.ts +8 -0
- package/dist/server/src/api/schemas/cameras.schema.js +2 -0
- package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
- package/dist/server/src/api/schemas/users.schema.d.ts +65 -1
- package/dist/server/src/api/schemas/users.schema.js +23 -0
- package/dist/server/src/api/schemas/users.schema.js.map +1 -1
- package/dist/server/src/api/services/notifications.service.d.ts +1 -0
- package/dist/server/src/api/services/notifications.service.js +3 -0
- package/dist/server/src/api/services/notifications.service.js.map +1 -1
- package/dist/server/src/api/services/users.service.js +3 -1
- package/dist/server/src/api/services/users.service.js.map +1 -1
- package/dist/server/src/api/types/index.d.ts +8 -0
- package/dist/server/src/api/types/index.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/metrics.d.ts +4 -0
- package/dist/server/src/api/websocket/nsp/metrics.js +50 -1
- package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/server.d.ts +3 -0
- package/dist/server/src/api/websocket/nsp/server.js +17 -0
- package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
- package/dist/server/src/api/websocket/types.d.ts +17 -0
- package/dist/server/src/camera/decoder/child.d.ts +2 -0
- package/dist/server/src/camera/decoder/child.js +9 -0
- package/dist/server/src/camera/decoder/child.js.map +1 -1
- package/dist/server/src/camera/decoder/detection-coordinator.d.ts +2 -1
- package/dist/server/src/camera/decoder/detection-coordinator.js +59 -24
- package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
- package/dist/server/src/camera/decoder/{debug/perf-tracker.d.ts → perf-tracker.d.ts} +9 -1
- package/dist/server/src/camera/decoder/{debug/perf-tracker.js → perf-tracker.js} +43 -17
- package/dist/server/src/camera/decoder/perf-tracker.js.map +1 -0
- package/dist/server/src/camera/decoder/types.d.ts +20 -0
- package/dist/server/src/camera/decoder/worker.d.ts +2 -0
- package/dist/server/src/camera/decoder/worker.js +11 -0
- package/dist/server/src/camera/decoder/worker.js.map +1 -1
- package/dist/server/src/manager/notificationManager.d.ts +2 -0
- package/dist/server/src/manager/notificationManager.js +23 -1
- package/dist/server/src/manager/notificationManager.js.map +1 -1
- package/dist/server/src/rpc/interfaces/frameworker.d.ts +2 -0
- package/dist/server/src/rpc/server.js +5 -0
- package/dist/server/src/rpc/server.js.map +1 -1
- package/dist/server/src/workers/manager.js +2 -0
- package/dist/server/src/workers/manager.js.map +1 -1
- package/package.json +4 -4
- package/dist/interface/assets/Adminpanel-jq9sK1Ey.js +0 -1
- package/dist/interface/assets/Automations-DWI8Q2TS.js +0 -2
- package/dist/interface/assets/Camera-BIppnvyN.js +0 -2
- package/dist/interface/assets/Camera-BfMZmurS.css +0 -1
- package/dist/interface/assets/Cameras-DIY20Wlh.css +0 -1
- package/dist/interface/assets/Cameras-kIN6bWi1.js +0 -652
- package/dist/interface/assets/Camview-4jdGGny8.js +0 -1
- package/dist/interface/assets/ConfigTriggerGeofence-cMhyndiz.js +0 -1
- package/dist/interface/assets/Console-GtK0GVLX.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-DQNpk0mh.js +0 -1
- package/dist/interface/assets/CuiCameraPipCard-e3_uYELi.js +0 -1
- package/dist/interface/assets/CuiCameraRecordings-CPAMltfx.js +0 -1
- package/dist/interface/assets/CuiCameraRecordings-fB3X6kad.css +0 -1
- package/dist/interface/assets/CuiDataTable-CORQOWsf.js +0 -1
- package/dist/interface/assets/CuiMarkdownContent-ChezqgI1.js +0 -1
- package/dist/interface/assets/CuiQRCode-D5vwhyuQ.js +0 -1
- package/dist/interface/assets/CuiRecordingsGrid-yXEzhnc4.js +0 -1
- package/dist/interface/assets/CuiSchema-hK_tgUP9.js +0 -1
- package/dist/interface/assets/Faces-DzwTi8P1.js +0 -1
- package/dist/interface/assets/FirstSteps-0ojmFGSr.js +0 -1
- package/dist/interface/assets/Instances-DvoFBGMx.js +0 -1
- package/dist/interface/assets/Menu-pvtuFKFM.js +0 -1
- package/dist/interface/assets/Plugin-BKqpBWJy.js +0 -1
- package/dist/interface/assets/PluginDetail-Dl0OM6me.js +0 -2
- package/dist/interface/assets/PluginSearch-DdIcv9xA.js +0 -1
- package/dist/interface/assets/PluginSearch-DxoQUW8M.js +0 -2
- package/dist/interface/assets/Plugins-CGj8DSLJ.js +0 -1
- package/dist/interface/assets/Recordings-PojBH8L3.js +0 -1
- package/dist/interface/assets/Sensors-DyqWcB-G.js +0 -2
- package/dist/interface/assets/Settings-BFJO08mq.js +0 -1
- package/dist/interface/assets/SettingsAccount-DREZwvce.js +0 -1
- package/dist/interface/assets/SettingsAccount-QxmP0dzI.js +0 -1
- package/dist/interface/assets/SettingsAppearance-BejKI3_C.js +0 -1
- package/dist/interface/assets/SettingsAppearance-_zvMUQvn.js +0 -1
- package/dist/interface/assets/SettingsList-B4H786Cc.js +0 -1
- package/dist/interface/assets/SettingsMqtt-D7ajm1JA.js +0 -1
- package/dist/interface/assets/SettingsRecordings-4NxpAbu5.js +0 -1
- package/dist/interface/assets/SettingsRemote-DOQkaNzp.js +0 -1
- package/dist/interface/assets/SettingsUsers-Dc6L7Lt2.js +0 -1
- package/dist/interface/assets/Workers-CjEzGjy8.js +0 -2
- package/dist/interface/assets/api-CDvtqu1L.css +0 -2
- package/dist/interface/assets/api-DTFsk1zB.js +0 -2
- package/dist/interface/assets/arrow-right-outline-C24f5mwe.js +0 -1
- package/dist/interface/assets/auth-DYoO8jpd.js +0 -1
- package/dist/interface/assets/cloudHandoff-DNKMEHOI.js +0 -1
- package/dist/interface/assets/main-CcvCf5qj.js +0 -3
- package/dist/interface/assets/main-XQ5Vahbs.css +0 -1
- package/dist/interface/assets/mqtt-CYc8_9pb.js +0 -1
- package/dist/interface/assets/round-restart-alt-DPYbDt-x.js +0 -1
- package/dist/interface/assets/round-restart-alt-SpAgbSYJ.css +0 -1
- package/dist/interface/assets/types-ClTvDPjn.js +0 -1
- package/dist/interface/assets/useBackupRestore-BZ73vHrV.js +0 -1
- package/dist/interface/assets/vendor-cameraui-CQTIVF_m.js +0 -2326
- package/dist/interface/assets/vendor-core-DDtZhtY9.js +0 -1
- package/dist/interface/assets/vendor-markdown--U0EK8HV.js +0 -14
- package/dist/server/src/camera/decoder/debug/perf-tracker.js.map +0 -1
|
@@ -16,6 +16,7 @@ export class ServerNamespace {
|
|
|
16
16
|
betaUpdateAvailable: false,
|
|
17
17
|
};
|
|
18
18
|
pluginUpdates = [];
|
|
19
|
+
workerUpdateAvailable = false;
|
|
19
20
|
checkPluginUpdateInterval;
|
|
20
21
|
checkServerUpdateInterval;
|
|
21
22
|
lastNotifiedServerVersion;
|
|
@@ -38,13 +39,29 @@ export class ServerNamespace {
|
|
|
38
39
|
}
|
|
39
40
|
}
|
|
40
41
|
getUpdates(_payload, callback) {
|
|
42
|
+
this.refreshWorkerUpdateAvailable();
|
|
41
43
|
const data = {
|
|
42
44
|
server: this.serverUpdate,
|
|
43
45
|
plugins: this.pluginUpdates,
|
|
46
|
+
workerUpdateAvailable: this.workerUpdateAvailable,
|
|
44
47
|
};
|
|
45
48
|
callback?.(data);
|
|
46
49
|
return data;
|
|
47
50
|
}
|
|
51
|
+
refreshWorkerUpdateAvailable() {
|
|
52
|
+
let available = false;
|
|
53
|
+
try {
|
|
54
|
+
const workerManager = container.resolve('workerManager');
|
|
55
|
+
available = workerManager.getWorkers().some((worker) => worker.online && worker.versionMismatch);
|
|
56
|
+
}
|
|
57
|
+
catch {
|
|
58
|
+
// manager not constructed (worker mode)
|
|
59
|
+
}
|
|
60
|
+
if (available !== this.workerUpdateAvailable) {
|
|
61
|
+
this.workerUpdateAvailable = available;
|
|
62
|
+
this.nsp.emit('worker-updates', { updateAvailable: available });
|
|
63
|
+
}
|
|
64
|
+
}
|
|
48
65
|
getMqttStatus(_payload, callback) {
|
|
49
66
|
let status;
|
|
50
67
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../../../src/api/websocket/nsp/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../../../src/api/websocket/nsp/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,22 @@ export interface SocketNspMap {
|
|
|
7
7
|
[key: string]: any;
|
|
8
8
|
}
|
|
9
9
|
export type ProcessType = 'system' | 'core' | 'frameworker' | 'plugin';
|
|
10
|
+
export interface WorkerPerfStats {
|
|
11
|
+
lowFps: number;
|
|
12
|
+
mainFps: number;
|
|
13
|
+
mainStreamEnabled: boolean;
|
|
14
|
+
frameAnalysis: boolean;
|
|
15
|
+
activePercent: number;
|
|
16
|
+
decodeMs: number;
|
|
17
|
+
scaleMs: number;
|
|
18
|
+
jpegMs: number;
|
|
19
|
+
inferMs: number;
|
|
20
|
+
secondaryMs: number;
|
|
21
|
+
objects: number;
|
|
22
|
+
faces: number;
|
|
23
|
+
plates: number;
|
|
24
|
+
switches: number;
|
|
25
|
+
}
|
|
10
26
|
export interface ProcessInfo {
|
|
11
27
|
name: string;
|
|
12
28
|
pid?: number;
|
|
@@ -14,6 +30,7 @@ export interface ProcessInfo {
|
|
|
14
30
|
memLoad: string;
|
|
15
31
|
type: ProcessType;
|
|
16
32
|
timestamp: number;
|
|
33
|
+
perf?: WorkerPerfStats;
|
|
17
34
|
}
|
|
18
35
|
export interface ServerProcessInfo {
|
|
19
36
|
'camera.ui': ProcessInfo;
|
|
@@ -3,6 +3,7 @@ import type { RPCClient } from '@camera.ui/rpc';
|
|
|
3
3
|
import type { CameraDetectionSettings, CameraFrameWorkerSettings, CameraUiSettings, DetectionLine, DetectionZone, PtzAutotrackSettings } from '@camera.ui/sdk';
|
|
4
4
|
import type { CoreManagerNamespaces, FrameWorkerNamespaces } from '../../rpc/namespaces.js';
|
|
5
5
|
import type { DetectionCoordinatorConfig } from './detection-coordinator.js';
|
|
6
|
+
import type { FrameWorkerPerfSnapshot } from './types.js';
|
|
6
7
|
export declare class FrameWorkerChild {
|
|
7
8
|
readonly proxy: RPCClient;
|
|
8
9
|
readonly namespaces: FrameWorkerNamespaces & CoreManagerNamespaces;
|
|
@@ -23,6 +24,7 @@ export declare class FrameWorkerChild {
|
|
|
23
24
|
updateInterfaceSettings(settings: CameraUiSettings): void;
|
|
24
25
|
updateNvrRpc(namespace?: string): void;
|
|
25
26
|
updateCameraName(name: string): void;
|
|
27
|
+
getPerfSnapshot(): FrameWorkerPerfSnapshot | null;
|
|
26
28
|
private onStart;
|
|
27
29
|
private sendMessage;
|
|
28
30
|
private close;
|
|
@@ -116,6 +116,9 @@ let FrameWorkerChild = class FrameWorkerChild {
|
|
|
116
116
|
this.logger.suffix = name;
|
|
117
117
|
process.title = `camera.ui - Frame Worker [${name}]${REMOTE_SUFFIX}`;
|
|
118
118
|
}
|
|
119
|
+
getPerfSnapshot() {
|
|
120
|
+
return this.detectionCoordinator?.getPerfSnapshot() ?? null;
|
|
121
|
+
}
|
|
119
122
|
async onStart() {
|
|
120
123
|
this.channel = await this.proxy.privateChannel('frameworker-communication', 'camera.ui');
|
|
121
124
|
this.closeChildHandler = await this.proxy.registerHandler(this.namespaces.frameWorkerChildRpc, this, {
|
|
@@ -188,6 +191,12 @@ __decorate([
|
|
|
188
191
|
__metadata("design:paramtypes", [String]),
|
|
189
192
|
__metadata("design:returntype", void 0)
|
|
190
193
|
], FrameWorkerChild.prototype, "updateCameraName", null);
|
|
194
|
+
__decorate([
|
|
195
|
+
RPCMethod,
|
|
196
|
+
__metadata("design:type", Function),
|
|
197
|
+
__metadata("design:paramtypes", []),
|
|
198
|
+
__metadata("design:returntype", Object)
|
|
199
|
+
], FrameWorkerChild.prototype, "getPerfSnapshot", null);
|
|
191
200
|
FrameWorkerChild = __decorate([
|
|
192
201
|
RPCClass,
|
|
193
202
|
__metadata("design:paramtypes", [])
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"child.js","sourceRoot":"","sources":["../../../../../src/camera/decoder/child.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"child.js","sourceRoot":"","sources":["../../../../../src/camera/decoder/child.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import type { Logger } from '@camera.ui/common/logger';
|
|
|
3
3
|
import type { RPCClient } from '@camera.ui/rpc';
|
|
4
4
|
import type { CameraDetectionSettings, CameraFrameWorkerSettings, CameraUiSettings, DetectionLine, DetectionZone, PtzAutotrackSettings } from '@camera.ui/sdk';
|
|
5
5
|
import type { CoordinatorSensorInfo } from '../../rpc/interfaces/detection.js';
|
|
6
|
-
import type { CoordinatorSourceUrl } from './types.js';
|
|
6
|
+
import type { CoordinatorSourceUrl, FrameWorkerPerfSnapshot } from './types.js';
|
|
7
7
|
export interface DetectionCoordinatorConfig {
|
|
8
8
|
cameraId: string;
|
|
9
9
|
streamUrl: string;
|
|
@@ -62,6 +62,7 @@ export declare class DetectionCoordinator {
|
|
|
62
62
|
constructor(config: DetectionCoordinatorConfig, proxy: RPCClient, logger: Logger);
|
|
63
63
|
get running(): boolean;
|
|
64
64
|
get detectionSettings(): CameraDetectionSettings;
|
|
65
|
+
getPerfSnapshot(): FrameWorkerPerfSnapshot;
|
|
65
66
|
updateZones(zones: DetectionZone[]): void;
|
|
66
67
|
updateLines(lines: DetectionLine[]): void;
|
|
67
68
|
updateDetectionSettings(settings: CameraDetectionSettings): void;
|
|
@@ -16,7 +16,7 @@ import { normalizeZone } from '../utils/filter.js';
|
|
|
16
16
|
import { AudioDetectionLoop } from './audio-loop.js';
|
|
17
17
|
import { CascadeManager } from './cascade-manager.js';
|
|
18
18
|
import { detectionRecord } from './debug/detection-record.js';
|
|
19
|
-
import { PerfTracker } from './
|
|
19
|
+
import { PerfTracker } from './perf-tracker.js';
|
|
20
20
|
import { DetectionPipeline } from './detection-pipeline.js';
|
|
21
21
|
import { DwellManager } from './dwell-manager.js';
|
|
22
22
|
import { DetectionEventManager, MOMENT_RANK_ATTRIBUTE, MOMENT_RANK_OBJECT } from './event-manager.js';
|
|
@@ -193,6 +193,9 @@ let DetectionCoordinator = class DetectionCoordinator {
|
|
|
193
193
|
get detectionSettings() {
|
|
194
194
|
return this.config.detectionSettings;
|
|
195
195
|
}
|
|
196
|
+
getPerfSnapshot() {
|
|
197
|
+
return { ...this.perf.snapshot(), mainStreamEnabled: this.mainStreamAvailable, frameAnalysis: this.plugins.shouldVideoBeActive() };
|
|
198
|
+
}
|
|
196
199
|
updateZones(zones) {
|
|
197
200
|
this.config.zones = zones;
|
|
198
201
|
this.pipeline.updateZones(zones);
|
|
@@ -299,6 +302,11 @@ let DetectionCoordinator = class DetectionCoordinator {
|
|
|
299
302
|
if (filtered.detected === true && this.eventManager.hasActiveEvent()) {
|
|
300
303
|
this.thumbnailer.fetchEventThumbnailAsync();
|
|
301
304
|
}
|
|
305
|
+
// the camera reported the end (or zones dropped everything): nothing to
|
|
306
|
+
// localize or crop, and an assist hit on leftover scene objects (a
|
|
307
|
+
// parked car) would resurrect the span the camera just closed
|
|
308
|
+
if (filtered.detected !== true)
|
|
309
|
+
return;
|
|
302
310
|
// assist alone is enough: its boxes upgrade zones, bboxes and thumbnails
|
|
303
311
|
// even when no face/plate/clip secondary consumes them
|
|
304
312
|
if (!this.plugins.hasFrameBasedSecondary() && !this.plugins.hasEligibleObjectAssist())
|
|
@@ -429,10 +437,16 @@ let DetectionCoordinator = class DetectionCoordinator {
|
|
|
429
437
|
return this.plugins.has(sensorType);
|
|
430
438
|
}
|
|
431
439
|
externalObjectSpanActive() {
|
|
432
|
-
|
|
433
|
-
|
|
440
|
+
// the registry holds frame-based providers only; a smart-camera object
|
|
441
|
+
// sensor (Reolink AI, ONVIF) lives in the feeding set, and its dwell is
|
|
442
|
+
// what keeps the span open between its report edges
|
|
443
|
+
if (this.plugins.get(SensorType.Object)?.requiresFrames)
|
|
434
444
|
return false;
|
|
435
|
-
|
|
445
|
+
for (const [sensorId, sensorType] of this.feedingSensors) {
|
|
446
|
+
if (sensorType === SensorType.Object && this.dwell.isActive(sensorId))
|
|
447
|
+
return true;
|
|
448
|
+
}
|
|
449
|
+
return false;
|
|
436
450
|
}
|
|
437
451
|
get cascadeEnabled() {
|
|
438
452
|
return this.config.detectionSettings.cascadeDetection !== false;
|
|
@@ -619,28 +633,42 @@ let DetectionCoordinator = class DetectionCoordinator {
|
|
|
619
633
|
this.cascade.triggerMomentary(this.cascadeTimeoutSeconds);
|
|
620
634
|
}
|
|
621
635
|
}
|
|
622
|
-
else if (sensorType === SensorType.Object
|
|
623
|
-
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
636
|
+
else if (sensorType === SensorType.Object) {
|
|
637
|
+
const framePlugin = this.plugins.get(SensorType.Object);
|
|
638
|
+
const frameBased = framePlugin?.requiresFrames === true && framePlugin.sensorId === sensorId;
|
|
639
|
+
if (detected) {
|
|
640
|
+
// the dwell bridges single missed frames; anchored stationary tracks
|
|
641
|
+
// don't refresh it, so parked objects can't hold events open
|
|
642
|
+
const detections = properties.detections ?? [];
|
|
643
|
+
if (detections.length > 0) {
|
|
644
|
+
// frame results re-arm every tick, so 2s only bridges a dropped
|
|
645
|
+
// frame; an external report is an edge that must hold until the
|
|
646
|
+
// camera reports the end (cleared below), capped by the object
|
|
647
|
+
// timeout in case that end never arrives
|
|
648
|
+
const dwellSeconds = frameBased ? OBJECT_DWELL_SECONDS : Math.max(this.config.detectionSettings.object.timeout ?? 15, OBJECT_DWELL_SECONDS);
|
|
649
|
+
this.dwell.refresh(sensorId, dwellSeconds);
|
|
650
|
+
// a confirmed object re-arms the cascade like motion does: a time-based
|
|
651
|
+
// motion sensor (ONVIF cool-down) must not blind detection and split
|
|
652
|
+
// the event while someone is still mid-frame
|
|
653
|
+
if (this.cascadeEnabled) {
|
|
654
|
+
this.cascade.triggerMomentary(this.cascadeTimeoutSeconds);
|
|
655
|
+
}
|
|
633
656
|
}
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
657
|
+
else {
|
|
658
|
+
// clear detected + buffer so no segment opens, the UI still gets
|
|
659
|
+
// the bboxes via the property publish below
|
|
660
|
+
properties.detected = false;
|
|
661
|
+
if (this.currentDetectionState.object) {
|
|
662
|
+
this.currentDetectionState.object.detected = false;
|
|
663
|
+
this.currentDetectionState.object.detections = [];
|
|
664
|
+
}
|
|
642
665
|
}
|
|
643
666
|
}
|
|
667
|
+
else if (!frameBased) {
|
|
668
|
+
// the camera's own end report closes the span; the segment linger
|
|
669
|
+
// still bridges flicker between two alarms
|
|
670
|
+
this.dwell.clear(sensorId);
|
|
671
|
+
}
|
|
644
672
|
}
|
|
645
673
|
// dwell owns detected/blocked/lastTriggered for these types, a no-detection
|
|
646
674
|
// frame would overwrite the dwell-set state, so strip before publishing
|
|
@@ -879,7 +907,8 @@ let DetectionCoordinator = class DetectionCoordinator {
|
|
|
879
907
|
}
|
|
880
908
|
}
|
|
881
909
|
this.updateStreamState();
|
|
882
|
-
|
|
910
|
+
// activity, not stream choice: cameras without main-stream analysis still count as active
|
|
911
|
+
if (this.worldSpans.size > 0 || this.eventManager.hasActiveSegment())
|
|
883
912
|
this.perf.activeTicks++;
|
|
884
913
|
else
|
|
885
914
|
this.perf.idleTicks++;
|
|
@@ -1017,6 +1046,7 @@ let DetectionCoordinator = class DetectionCoordinator {
|
|
|
1017
1046
|
const motionInferStart = Date.now();
|
|
1018
1047
|
const result = await motionPlugin.proxy.detectMotion(motionFrame);
|
|
1019
1048
|
this.perf.inferMs += Date.now() - motionInferStart;
|
|
1049
|
+
this.perf.inferCount++;
|
|
1020
1050
|
if (!this.loopRunning)
|
|
1021
1051
|
return;
|
|
1022
1052
|
if (ptzSuppressed) {
|
|
@@ -1068,6 +1098,7 @@ let DetectionCoordinator = class DetectionCoordinator {
|
|
|
1068
1098
|
const inferStart = Date.now();
|
|
1069
1099
|
const result = await PromiseTimeout(objectPlugin.proxy.detectObjects(objectFrame.model), DETECT_TIMEOUT_MS, undefined, `Object detection timed out after ${DETECT_TIMEOUT_MS}ms`);
|
|
1070
1100
|
this.perf.inferMs += Date.now() - inferStart;
|
|
1101
|
+
this.perf.inferCount++;
|
|
1071
1102
|
if (!this.loopRunning)
|
|
1072
1103
|
return;
|
|
1073
1104
|
this.trackDetectionCadence();
|
|
@@ -1531,12 +1562,16 @@ let DetectionCoordinator = class DetectionCoordinator {
|
|
|
1531
1562
|
if (!scaled)
|
|
1532
1563
|
return { detections: reported, assisted: false };
|
|
1533
1564
|
try {
|
|
1565
|
+
const inferStart = Date.now();
|
|
1534
1566
|
const result = await PromiseTimeout(assist.proxy.detectObjects(scaled.model), DETECT_TIMEOUT_MS, undefined, `Object assist timed out after ${DETECT_TIMEOUT_MS}ms`);
|
|
1567
|
+
this.perf.inferMs += Date.now() - inferStart;
|
|
1568
|
+
this.perf.inferCount++;
|
|
1535
1569
|
const reportedLabels = new Set(reported.map((d) => d.label.toLowerCase()));
|
|
1536
1570
|
const boxed = FrameScaler.undoLetterbox(ensureDetectionBoxes(result?.detections ?? []), scaled.geometry);
|
|
1537
1571
|
const found = boxed.filter((d) => reportedLabels.size === 0 || reportedLabels.has(d.label.toLowerCase()));
|
|
1538
1572
|
if (found.length === 0)
|
|
1539
1573
|
return { detections: reported, assisted: false };
|
|
1574
|
+
this.perf.objects += found.length;
|
|
1540
1575
|
return { detections: found, assisted: true };
|
|
1541
1576
|
}
|
|
1542
1577
|
catch (error) {
|