@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.
Files changed (257) hide show
  1. package/dist/interface/assets/{404-6v3-U7nj.js → 404-EUyzR8Cu.js} +1 -1
  2. package/dist/interface/assets/{About-IMZSnCy7.js → About-BmfMwt66.js} +1 -1
  3. package/dist/interface/assets/{Automation-xs_GEpGx.js → Automation-DtTMxMlL.js} +3 -3
  4. package/dist/interface/assets/{AutomationImport-CR4fWWkU.js → AutomationImport-Cxrhgzer.js} +2 -2
  5. package/dist/interface/assets/{AutomationStore-rB-eVXdY.js → AutomationStore-aTGlzTcI.js} +2 -2
  6. package/dist/interface/assets/{AutomationStoreDetail-DzMg8IOO.js → AutomationStoreDetail-BtmSvtyE.js} +2 -2
  7. package/dist/interface/assets/Automations-CBeEWCad.js +2 -0
  8. package/dist/interface/assets/Camera-9tFj730F.js +2 -0
  9. package/dist/interface/assets/Camera-C5gF7yVN.css +1 -0
  10. package/dist/interface/assets/{CameraConsole-CQLrlDvb.js → CameraConsole-rCJr-qfx.js} +1 -1
  11. package/dist/interface/assets/Cameras-BZkbEN1q.css +1 -0
  12. package/dist/interface/assets/Cameras-DFuh9jxK.js +652 -0
  13. package/dist/interface/assets/Camview-C2byPDDS.js +1 -0
  14. package/dist/interface/assets/{Camview-UCj_OW0s.css → Camview-DxxONfeK.css} +1 -1
  15. package/dist/interface/assets/{Config-DxYeS7cY.js → Config-C_IAFeWx.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionCameraControl-Biu5BwNu.js → ConfigActionCameraControl-Caqlckcz.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionDelay-CK5j4XLw.js → ConfigActionDelay-CZeAJTj7.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionHttp-Dtvi3jZB.js → ConfigActionHttp-DcQCJ4zV.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionImageInput-Dh0A20j9.js → ConfigActionImageInput-DkgxdP2U.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionMqtt-DwZdnDlb.js → ConfigActionMqtt-Dp2-YpS9.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionNotification-BVqYxGu8.js → ConfigActionNotification-DDbDqLLs.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionNotificationControl-BTdnQqox.js → ConfigActionNotificationControl-CX83znhY.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionOutput-Dv745ppL.js → ConfigActionOutput-kMcDrgsm.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionPlugin-C9QdPDXC.js → ConfigActionPlugin-Bv2Ke9_L.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSensor-D17wASao.js → ConfigActionSensor-CogS-K7S.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionSnapshot-CrbMLwuh.js → ConfigActionSnapshot-CdIciF5F.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionVariable-C0HobSMN.js → ConfigActionVariable-DS-nQLns.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionIfElse-DsedkGhY.js → ConfigConditionIfElse-BWYzHNnH.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSensorState-rRLbA2_b.js → ConfigConditionSensorState-CxiaJpOs.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionSwitch-5nEVS-Oj.js → ConfigConditionSwitch-l01kWXVF.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionTime-CieLn-sp.js → ConfigConditionTime-0Du7w_QE.js} +1 -1
  32. package/dist/interface/assets/{ConfigSensorValueInput-CRRM_aBz.js → ConfigSensorValueInput-Dm9r6m8t.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerDetection-CMVgejZ3.js → ConfigTriggerDetection-CvK9Hvcd.js} +1 -1
  34. package/dist/interface/assets/ConfigTriggerGeofence-DQcdG6av.js +1 -0
  35. package/dist/interface/assets/{ConfigTriggerManual-Bd9H0AfP.js → ConfigTriggerManual-IAo9sbiS.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerMqtt-BIv5Ca91.js → ConfigTriggerMqtt-16hSjN-I.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSchedule-CzWWcnFW.js → ConfigTriggerSchedule-Ct_AN-xu.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSensor-C5lsyxsh.js → ConfigTriggerSensor-DkVWre58.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSystem-WipCRwTJ.js → ConfigTriggerSystem-BAd9IeRa.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerWebhook-Bl0O4RBX.js → ConfigTriggerWebhook-EmrFSoiV.js} +1 -1
  41. package/dist/interface/assets/Console-C7lP5TMv.js +1 -0
  42. package/dist/interface/assets/{CuiAutomationRunsDialog-CUPBuq_J.js → CuiAutomationRunsDialog-BoGUmS-Q.js} +1 -1
  43. package/dist/interface/assets/{CuiBottomSheet-K19nZQiG.js → CuiBottomSheet-DxrKqjWh.js} +1 -1
  44. package/dist/interface/assets/CuiBottomSheet-II-Ajj4k.js +1 -0
  45. package/dist/interface/assets/{CuiCameraPipCard-D3o29_wc.css → CuiCameraPipCard-BQKk4fxY.css} +1 -1
  46. package/dist/interface/assets/CuiCameraPipCard-C2nZsnPM.js +1 -0
  47. package/dist/interface/assets/CuiCameraRecordings-AA-sBtb4.css +1 -0
  48. package/dist/interface/assets/CuiCameraRecordings-B4pJPGOQ.js +1 -0
  49. package/dist/interface/assets/{CuiCameraShares-BTn5ys6X.js → CuiCameraShares-DBZ01JcG.js} +1 -1
  50. package/dist/interface/assets/{CuiCameraTable-DYvQ-GCz.js → CuiCameraTable-BlJHb3gX.js} +2 -2
  51. package/dist/interface/assets/CuiCameraTable-WOrw4_LR.js +1 -0
  52. package/dist/interface/assets/{CuiConsole-C4PawCou.js → CuiConsole-D56cxVKE.js} +2 -2
  53. package/dist/interface/assets/CuiDataTable-Ca51CpsO.js +1 -0
  54. package/dist/interface/assets/{CuiLightControl-BYkQ8Ue3.js → CuiLightControl-DP4pbkjr.js} +1 -1
  55. package/dist/interface/assets/{CuiList-BgZBIhXP.js → CuiList-psx5r57o.js} +1 -1
  56. package/dist/interface/assets/CuiMarkdownContent-DIycyLeP.js +1 -0
  57. package/dist/interface/assets/{CuiMarkdownContent-CCdOW_TM.js → CuiMarkdownContent-PSq4kE1G.js} +1 -1
  58. package/dist/interface/assets/{CuiPluginCard-C91rKOge.js → CuiPluginCard-DSQ7w6Nl.js} +2 -2
  59. package/dist/interface/assets/{CuiPluginCategoryChip-B_Zy4B42.js → CuiPluginCategoryChip-DiUXddOe.js} +1 -1
  60. package/dist/interface/assets/{CuiPluginOAuthButton-IXGedGWs.js → CuiPluginOAuthButton-ZRJJct-f.js} +2 -2
  61. package/dist/interface/assets/{CuiPluginTrustBadge-DTfM8Jjo.js → CuiPluginTrustBadge-DNjUDEtv.js} +1 -1
  62. package/dist/interface/assets/CuiQRCode-wxEwM1Sh.js +1 -0
  63. package/dist/interface/assets/CuiRecordingsGrid-DM5XDEMU.js +1 -0
  64. package/dist/interface/assets/CuiSchema-BJE7vHFH.js +1 -0
  65. package/dist/interface/assets/{CuiTopNavbarItem-DWLnn7Kh.js → CuiTopNavbarItem-DdFdvKkq.js} +1 -1
  66. package/dist/interface/assets/Faces-D4_QXhaT.js +1 -0
  67. package/dist/interface/assets/FirstSteps-CfKHB_uc.js +1 -0
  68. package/dist/interface/assets/Instances-DvAMsOPZ.js +1 -0
  69. package/dist/interface/assets/{Logs-Cii4oP8R.js → Logs-e3y9zMPD.js} +2 -2
  70. package/dist/interface/assets/Menu-DMLqFO8c.js +1 -0
  71. package/dist/interface/assets/Metrics-C3RI973t.js +1 -0
  72. package/dist/interface/assets/Metrics-DqBC-wEo.css +1 -0
  73. package/dist/interface/assets/{OAuthDeviceFlow-BZgtsIjF.js → OAuthDeviceFlow-C51WkjaT.js} +1 -1
  74. package/dist/interface/assets/Plugin-DcdVF_OG.js +1 -0
  75. package/dist/interface/assets/{PluginConsole-BFsCogtB.js → PluginConsole-D0n-Jf_E.js} +1 -1
  76. package/dist/interface/assets/PluginDetail-NOJPSqIS.js +2 -0
  77. package/dist/interface/assets/{PluginSchema-D45zblVz.js → PluginSchema-aG4DGAcH.js} +1 -1
  78. package/dist/interface/assets/PluginSearch-JGQTNibA.js +1 -0
  79. package/dist/interface/assets/PluginSearch-w9vvKCTP.js +2 -0
  80. package/dist/interface/assets/{PluginUpdateProgress-CsRGGH8J.js → PluginUpdateProgress-DkdoTjZY.js} +1 -1
  81. package/dist/interface/assets/Plugins-BzQvLNj7.js +1 -0
  82. package/dist/interface/assets/Recordings-_2r3gD4E.js +1 -0
  83. package/dist/interface/assets/{SensorEdit-D2ChsNDL.js → SensorEdit-qcv6KAap.js} +1 -1
  84. package/dist/interface/assets/{SensorHistory-B6ZKgot4.js → SensorHistory-C8vryAe_.js} +1 -1
  85. package/dist/interface/assets/Sensors-DnWG7VfR.js +2 -0
  86. package/dist/interface/assets/{Settings-DmZjKfDi.css → Settings-B1MnGPuf.css} +1 -1
  87. package/dist/interface/assets/Settings-BqcsLKll.js +1 -0
  88. package/dist/interface/assets/SettingsAccount-BrYKAfPE.js +1 -0
  89. package/dist/interface/assets/SettingsAccount-CNfGFQuq.js +1 -0
  90. package/dist/interface/assets/SettingsAppearance-B-smgzKL.js +1 -0
  91. package/dist/interface/assets/SettingsAppearance-eeRSh42a.js +1 -0
  92. package/dist/interface/assets/{SettingsBackup-8HCwVmDA.js → SettingsBackup-C0ekmlJy.js} +1 -1
  93. package/dist/interface/assets/SettingsList-DeP1LOjz.js +1 -0
  94. package/dist/interface/assets/SettingsMqtt-Bo4jZHMl.js +1 -0
  95. package/dist/interface/assets/{SettingsNotifications-fDDuqryh.js → SettingsNotifications-Dx3me91s.js} +1 -1
  96. package/dist/interface/assets/{SettingsPermissions-DYirYf1Z.js → SettingsPermissions-DU1XvFFc.js} +1 -1
  97. package/dist/interface/assets/SettingsRecordings-Dh-BqEba.js +1 -0
  98. package/dist/interface/assets/SettingsRemote-W3skn8qk.js +1 -0
  99. package/dist/interface/assets/{SettingsSystem-CVWkw449.js → SettingsSystem-DnQSlgu0.js} +2 -2
  100. package/dist/interface/assets/SettingsUsers-CFBTzA0j.js +1 -0
  101. package/dist/interface/assets/{Terminal-BgVnN-2g.js → Terminal-C7lDL745.js} +2 -2
  102. package/dist/interface/assets/{VariableInput-ZYn-Phl4.js → VariableInput-DKmWb9RP.js} +1 -1
  103. package/dist/interface/assets/{VariableSuggestions-BnzdQP6R.js → VariableSuggestions-CjlK2Uqx.js} +1 -1
  104. package/dist/interface/assets/{VersionsHandler-BvKvGOlF.js → VersionsHandler-CrHCAiKn.js} +1 -1
  105. package/dist/interface/assets/{VirtualSensorCreate-Dk_YYzxR.js → VirtualSensorCreate-DHhbE5iD.js} +1 -1
  106. package/dist/interface/assets/Workers-CY-3Ah4u.js +2 -0
  107. package/dist/interface/assets/api-Bj4QRftG.css +2 -0
  108. package/dist/interface/assets/api-CvO7u24f.js +2 -0
  109. package/dist/interface/assets/{api-36pS71R2.js → api-DwU_RUzW.js} +1 -1
  110. package/dist/interface/assets/auth-BhT4BtBc.js +1 -0
  111. package/dist/interface/assets/{automations-BOvDlvvx.js → automations-ya-5P8Jc.js} +1 -1
  112. package/dist/interface/assets/{cameras.schema-BvnUX82v.js → cameras.schema-BWH_Q16D.js} +1 -1
  113. package/dist/interface/assets/cloudHandoff-BPjQsq7k.js +1 -0
  114. package/dist/interface/assets/{config-DTGhJmsj.js → config-CgGpshGm.js} +1 -1
  115. package/dist/interface/assets/{flowSchema-zo1H4tnP.js → flowSchema-OrM5E_3R.js} +1 -1
  116. package/dist/interface/assets/main-Dd71JT_o.css +1 -0
  117. package/dist/interface/assets/main-rlz9T4Ug.js +3 -0
  118. package/dist/interface/assets/mqtt-CO84Q9sE.js +1 -0
  119. package/dist/interface/assets/{notifications-cHS8-1HN.js → notifications-DxDFtZSo.js} +1 -1
  120. package/dist/interface/assets/{plugins-CaKErv4E.js → plugins-g-qkx8GX.js} +1 -1
  121. package/dist/interface/assets/round-restart-alt-CmrjVFat.css +1 -0
  122. package/dist/interface/assets/round-restart-alt-YiDa63x6.js +1 -0
  123. package/dist/interface/assets/{sensorIcons-DepqfSoA.js → sensorIcons-4dvSmrEv.js} +1 -1
  124. package/dist/interface/assets/{sensors-CMpbwMO4.js → sensors-BFCE7rbx.js} +1 -1
  125. package/dist/interface/assets/{server-C-WV93FX.js → server-arWVymo1.js} +1 -1
  126. package/dist/interface/assets/{theme-BkwBz73p.js → theme-Dw9-CwMe.js} +1 -1
  127. package/dist/interface/assets/types-BCygqese.js +1 -0
  128. package/dist/interface/assets/{types-Cko7VOxd.js → types-D5c17URv.js} +1 -1
  129. package/dist/interface/assets/{useAppVersion-V1S18l98.js → useAppVersion-Cp6mZ-ge.js} +1 -1
  130. package/dist/interface/assets/useBackupRestore-Drc-2VXy.js +1 -0
  131. package/dist/interface/assets/{useCameraOptions-o1hYGLbC.js → useCameraOptions-BF3ASvVM.js} +1 -1
  132. package/dist/interface/assets/{useElectron-3ZJLtRk3.js → useElectron-BNGXeZEx.js} +1 -1
  133. package/dist/interface/assets/{useLogsSocket-DDgnQ_Dk.js → useLogsSocket-hJ9xUUtr.js} +1 -1
  134. package/dist/interface/assets/useNavLayout-CcDIO9RG.js +1 -0
  135. package/dist/interface/assets/{usePermissions-BWlj5SzG.js → usePermissions-C9kp5HQR.js} +1 -1
  136. package/dist/interface/assets/{usePluginUpdates-DI1p2NMc.js → usePluginUpdates-BJwtwD9v.js} +1 -1
  137. package/dist/interface/assets/{useServerRestart-D_ASBw_0.js → useServerRestart-DwpQyv5H.js} +1 -1
  138. package/dist/interface/assets/{useStreamStatus-BQJIFFLv.js → useStreamStatus-C5dH33U5.js} +1 -1
  139. package/dist/interface/assets/{useUpdateChannel-CyLSUSAY.js → useUpdateChannel-D7hnlzd5.js} +1 -1
  140. package/dist/interface/assets/{useUserOptions-Ds1Ybn7N.js → useUserOptions-DFgkIDv8.js} +1 -1
  141. package/dist/interface/assets/utils-gctUU5q_.js +1 -0
  142. package/dist/interface/assets/vendor-cameraui-GaXYUHUd.js +2326 -0
  143. package/dist/interface/assets/vendor-core-BNfYBWH3.js +1 -0
  144. package/dist/interface/assets/vendor-markdown-Bw_90xkF.js +14 -0
  145. package/dist/interface/assets/{vendor-primevue-DE-f4Z5f.js → vendor-primevue-CIRUBYsf.js} +1 -1
  146. package/dist/interface/index.html +26 -25
  147. package/dist/interface/sw.js +1 -1
  148. package/dist/server/package.json +4 -4
  149. package/dist/server/requirements.txt +1 -1
  150. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/detection.py +2 -0
  151. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/notifier.py +6 -0
  152. package/dist/server/src/api/controllers/auth.controller.js +2 -0
  153. package/dist/server/src/api/controllers/auth.controller.js.map +1 -1
  154. package/dist/server/src/api/controllers/notifications.controller.d.ts +5 -0
  155. package/dist/server/src/api/controllers/notifications.controller.js +27 -0
  156. package/dist/server/src/api/controllers/notifications.controller.js.map +1 -1
  157. package/dist/server/src/api/database/types.d.ts +3 -0
  158. package/dist/server/src/api/routes/notifications.routes.js +11 -0
  159. package/dist/server/src/api/routes/notifications.routes.js.map +1 -1
  160. package/dist/server/src/api/schemas/cameras.schema.d.ts +8 -0
  161. package/dist/server/src/api/schemas/cameras.schema.js +2 -0
  162. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  163. package/dist/server/src/api/schemas/users.schema.d.ts +65 -1
  164. package/dist/server/src/api/schemas/users.schema.js +23 -0
  165. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  166. package/dist/server/src/api/services/notifications.service.d.ts +1 -0
  167. package/dist/server/src/api/services/notifications.service.js +3 -0
  168. package/dist/server/src/api/services/notifications.service.js.map +1 -1
  169. package/dist/server/src/api/services/users.service.js +3 -1
  170. package/dist/server/src/api/services/users.service.js.map +1 -1
  171. package/dist/server/src/api/types/index.d.ts +8 -0
  172. package/dist/server/src/api/types/index.js.map +1 -1
  173. package/dist/server/src/api/websocket/nsp/metrics.d.ts +4 -0
  174. package/dist/server/src/api/websocket/nsp/metrics.js +50 -1
  175. package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
  176. package/dist/server/src/api/websocket/nsp/server.d.ts +3 -0
  177. package/dist/server/src/api/websocket/nsp/server.js +17 -0
  178. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  179. package/dist/server/src/api/websocket/types.d.ts +17 -0
  180. package/dist/server/src/camera/decoder/child.d.ts +2 -0
  181. package/dist/server/src/camera/decoder/child.js +9 -0
  182. package/dist/server/src/camera/decoder/child.js.map +1 -1
  183. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +2 -1
  184. package/dist/server/src/camera/decoder/detection-coordinator.js +59 -24
  185. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  186. package/dist/server/src/camera/decoder/{debug/perf-tracker.d.ts → perf-tracker.d.ts} +9 -1
  187. package/dist/server/src/camera/decoder/{debug/perf-tracker.js → perf-tracker.js} +43 -17
  188. package/dist/server/src/camera/decoder/perf-tracker.js.map +1 -0
  189. package/dist/server/src/camera/decoder/types.d.ts +20 -0
  190. package/dist/server/src/camera/decoder/worker.d.ts +2 -0
  191. package/dist/server/src/camera/decoder/worker.js +11 -0
  192. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  193. package/dist/server/src/manager/notificationManager.d.ts +2 -0
  194. package/dist/server/src/manager/notificationManager.js +23 -1
  195. package/dist/server/src/manager/notificationManager.js.map +1 -1
  196. package/dist/server/src/rpc/interfaces/frameworker.d.ts +2 -0
  197. package/dist/server/src/rpc/server.js +5 -0
  198. package/dist/server/src/rpc/server.js.map +1 -1
  199. package/dist/server/src/workers/manager.js +2 -0
  200. package/dist/server/src/workers/manager.js.map +1 -1
  201. package/package.json +4 -4
  202. package/dist/interface/assets/Adminpanel-jq9sK1Ey.js +0 -1
  203. package/dist/interface/assets/Automations-DWI8Q2TS.js +0 -2
  204. package/dist/interface/assets/Camera-BIppnvyN.js +0 -2
  205. package/dist/interface/assets/Camera-BfMZmurS.css +0 -1
  206. package/dist/interface/assets/Cameras-DIY20Wlh.css +0 -1
  207. package/dist/interface/assets/Cameras-kIN6bWi1.js +0 -652
  208. package/dist/interface/assets/Camview-4jdGGny8.js +0 -1
  209. package/dist/interface/assets/ConfigTriggerGeofence-cMhyndiz.js +0 -1
  210. package/dist/interface/assets/Console-GtK0GVLX.js +0 -1
  211. package/dist/interface/assets/CuiBottomSheet-DQNpk0mh.js +0 -1
  212. package/dist/interface/assets/CuiCameraPipCard-e3_uYELi.js +0 -1
  213. package/dist/interface/assets/CuiCameraRecordings-CPAMltfx.js +0 -1
  214. package/dist/interface/assets/CuiCameraRecordings-fB3X6kad.css +0 -1
  215. package/dist/interface/assets/CuiDataTable-CORQOWsf.js +0 -1
  216. package/dist/interface/assets/CuiMarkdownContent-ChezqgI1.js +0 -1
  217. package/dist/interface/assets/CuiQRCode-D5vwhyuQ.js +0 -1
  218. package/dist/interface/assets/CuiRecordingsGrid-yXEzhnc4.js +0 -1
  219. package/dist/interface/assets/CuiSchema-hK_tgUP9.js +0 -1
  220. package/dist/interface/assets/Faces-DzwTi8P1.js +0 -1
  221. package/dist/interface/assets/FirstSteps-0ojmFGSr.js +0 -1
  222. package/dist/interface/assets/Instances-DvoFBGMx.js +0 -1
  223. package/dist/interface/assets/Menu-pvtuFKFM.js +0 -1
  224. package/dist/interface/assets/Plugin-BKqpBWJy.js +0 -1
  225. package/dist/interface/assets/PluginDetail-Dl0OM6me.js +0 -2
  226. package/dist/interface/assets/PluginSearch-DdIcv9xA.js +0 -1
  227. package/dist/interface/assets/PluginSearch-DxoQUW8M.js +0 -2
  228. package/dist/interface/assets/Plugins-CGj8DSLJ.js +0 -1
  229. package/dist/interface/assets/Recordings-PojBH8L3.js +0 -1
  230. package/dist/interface/assets/Sensors-DyqWcB-G.js +0 -2
  231. package/dist/interface/assets/Settings-BFJO08mq.js +0 -1
  232. package/dist/interface/assets/SettingsAccount-DREZwvce.js +0 -1
  233. package/dist/interface/assets/SettingsAccount-QxmP0dzI.js +0 -1
  234. package/dist/interface/assets/SettingsAppearance-BejKI3_C.js +0 -1
  235. package/dist/interface/assets/SettingsAppearance-_zvMUQvn.js +0 -1
  236. package/dist/interface/assets/SettingsList-B4H786Cc.js +0 -1
  237. package/dist/interface/assets/SettingsMqtt-D7ajm1JA.js +0 -1
  238. package/dist/interface/assets/SettingsRecordings-4NxpAbu5.js +0 -1
  239. package/dist/interface/assets/SettingsRemote-DOQkaNzp.js +0 -1
  240. package/dist/interface/assets/SettingsUsers-Dc6L7Lt2.js +0 -1
  241. package/dist/interface/assets/Workers-CjEzGjy8.js +0 -2
  242. package/dist/interface/assets/api-CDvtqu1L.css +0 -2
  243. package/dist/interface/assets/api-DTFsk1zB.js +0 -2
  244. package/dist/interface/assets/arrow-right-outline-C24f5mwe.js +0 -1
  245. package/dist/interface/assets/auth-DYoO8jpd.js +0 -1
  246. package/dist/interface/assets/cloudHandoff-DNKMEHOI.js +0 -1
  247. package/dist/interface/assets/main-CcvCf5qj.js +0 -3
  248. package/dist/interface/assets/main-XQ5Vahbs.css +0 -1
  249. package/dist/interface/assets/mqtt-CYc8_9pb.js +0 -1
  250. package/dist/interface/assets/round-restart-alt-DPYbDt-x.js +0 -1
  251. package/dist/interface/assets/round-restart-alt-SpAgbSYJ.css +0 -1
  252. package/dist/interface/assets/types-ClTvDPjn.js +0 -1
  253. package/dist/interface/assets/useBackupRestore-BZ73vHrV.js +0 -1
  254. package/dist/interface/assets/vendor-cameraui-CQTIVF_m.js +0 -2326
  255. package/dist/interface/assets/vendor-core-DDtZhtY9.js +0 -1
  256. package/dist/interface/assets/vendor-markdown--U0EK8HV.js +0 -14
  257. 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":"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"}
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 './debug/perf-tracker.js';
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
- const objectPlugin = this.plugins.get(SensorType.Object);
433
- if (!objectPlugin || objectPlugin.requiresFrames)
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
- return this.dwell.isActive(objectPlugin.sensorId);
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 && detected) {
623
- // the dwell bridges single missed frames; anchored stationary tracks
624
- // don't refresh it, so parked objects can't hold events open
625
- const detections = properties.detections ?? [];
626
- if (detections.length > 0) {
627
- this.dwell.refresh(sensorId, OBJECT_DWELL_SECONDS);
628
- // a confirmed object re-arms the cascade like motion does: a time-based
629
- // motion sensor (ONVIF cool-down) must not blind detection and split
630
- // the event while someone is still mid-frame
631
- if (this.cascadeEnabled) {
632
- this.cascade.triggerMomentary(this.cascadeTimeoutSeconds);
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
- else {
636
- // clear detected + buffer so no segment opens, the UI still gets
637
- // the bboxes via the property publish below
638
- properties.detected = false;
639
- if (this.currentDetectionState.object) {
640
- this.currentDetectionState.object.detected = false;
641
- this.currentDetectionState.object.detections = [];
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
- if (this.mainStreamActive)
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) {