@camera.ui/server 2.1.0 → 2.1.2

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 (384) hide show
  1. package/dist/interface/assets/{404-mKz7xfYl.js → 404-pb2fRn1r.js} +1 -1
  2. package/dist/interface/assets/{About-C3mKJiWW.js → About-eljMnDub.js} +1 -1
  3. package/dist/interface/assets/{Adminpanel-KkWHp8Mh.js → Adminpanel-BtQdiyre.js} +1 -1
  4. package/dist/interface/assets/Automation-DOiLJcU_.js +3 -0
  5. package/dist/interface/assets/AutomationImport-DflZNRBB.js +2 -0
  6. package/dist/interface/assets/AutomationStore-qF_NTNUf.js +2 -0
  7. package/dist/interface/assets/AutomationStoreDetail-CUw-jBBR.js +2 -0
  8. package/dist/interface/assets/Automations-DBjwNb3F.js +2 -0
  9. package/dist/interface/assets/Camera-BfvpjkW3.js +2 -0
  10. package/dist/interface/assets/{CameraConsole-Bj9mszzp.js → CameraConsole-CEARcJYc.js} +1 -1
  11. package/dist/interface/assets/{Cameras-BVFxn9Ef.js → Cameras-C0oHuoTR.js} +2 -2
  12. package/dist/interface/assets/Camview-DArvg940.js +1 -0
  13. package/dist/interface/assets/{Camview-DEURwPYt.css → Camview-mLCaY0ld.css} +1 -1
  14. package/dist/interface/assets/Config-Ccp5Acpv.js +2 -0
  15. package/dist/interface/assets/{ConfigActionCameraControl-B80iDDds.js → ConfigActionCameraControl-De0qb88r.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionDelay-ChhenlQV.js → ConfigActionDelay-nDK4i-AL.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionHttp-09PkDYgp.js → ConfigActionHttp-DX-vapgv.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionImageInput-FDMVc5FH.js → ConfigActionImageInput-CS7U7BsI.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionMqtt-4gLcAM0C.js → ConfigActionMqtt-82swCx_F.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionNotification-DmIQhrC2.js → ConfigActionNotification-t-1zN_1y.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionNotificationControl-Df4BdM3c.js → ConfigActionNotificationControl-jz3ez2Uq.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionOutput-CNKeWFvE.js → ConfigActionOutput-B6uJheX1.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionPlugin-CWfEabyz.js → ConfigActionPlugin-LyOIrZnv.js} +1 -1
  24. package/dist/interface/assets/ConfigActionSensor-BTqc1inw.js +1 -0
  25. package/dist/interface/assets/{ConfigActionSnapshot-CM8xar0h.js → ConfigActionSnapshot-DdPy_Ubu.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionVariable-B8tiVULt.js → ConfigActionVariable-Csf7jPOm.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionIfElse-CtF5exKE.js → ConfigConditionIfElse-BvzwZ70p.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionSensorState-B4hRgQdg.js → ConfigConditionSensorState-lI9dzHiT.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSwitch-ZhpDw8ZY.js → ConfigConditionSwitch-DJU2JC-3.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionTime-EF84vg1f.js → ConfigConditionTime-BxE2CJMA.js} +1 -1
  31. package/dist/interface/assets/{ConfigSensorValueInput-DNxw4rt3.js → ConfigSensorValueInput-DW4er753.js} +1 -1
  32. package/dist/interface/assets/{ConfigTriggerDetection-BmxUG87T.js → ConfigTriggerDetection-DpC8V8K8.js} +1 -1
  33. package/dist/interface/assets/ConfigTriggerGeofence-DTzax7bc.js +1 -0
  34. package/dist/interface/assets/{ConfigTriggerManual-t-J-HbqF.js → ConfigTriggerManual-CtjnnQb1.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerMqtt-BD1iizF-.js → ConfigTriggerMqtt-C7J22EMe.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerSchedule-CBPaopJK.js → ConfigTriggerSchedule-DnYDDz3F.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSensor-CXmxhiPM.js → ConfigTriggerSensor-vhwPNmPj.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSystem-CfFnKyIn.js → ConfigTriggerSystem-D1JulYVd.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerWebhook-gqcxnQdl.js → ConfigTriggerWebhook-BrKFtq7o.js} +1 -1
  40. package/dist/interface/assets/Console-C6yUdEaM.js +1 -0
  41. package/dist/interface/assets/CuiAutomationRunsDialog-C4i7y1Re.js +1 -0
  42. package/dist/interface/assets/CuiBottomSheet-C2zU_iyj.js +1 -0
  43. package/dist/interface/assets/{CuiBottomSheet-BcDAO9At.js → CuiBottomSheet-C_1_moNo.js} +1 -1
  44. package/dist/interface/assets/{CuiCameraPipCard-C7822oZM.js → CuiCameraPipCard-CZ-oDxzy.js} +1 -1
  45. package/dist/interface/assets/CuiCameraRecordings-mY_giLEi.js +1 -0
  46. package/dist/interface/assets/CuiCameraShares-XwN5kuC7.js +1 -0
  47. package/dist/interface/assets/{CuiCameraTable-BdXITi6O.js → CuiCameraTable-BeeHLaiQ.js} +2 -2
  48. package/dist/interface/assets/CuiConsole-B7R7U9UZ.js +5 -0
  49. package/dist/interface/assets/CuiDataTable-CQhCu0px.js +1 -0
  50. package/dist/interface/assets/CuiDataTable-DbkFXZeg.css +1 -0
  51. package/dist/interface/assets/CuiLightControl-CEpcKss7.js +1 -0
  52. package/dist/interface/assets/{CuiMarkdownContent-Bjs3wRnq.js → CuiMarkdownContent-C2uBepC1.js} +1 -1
  53. package/dist/interface/assets/CuiMarkdownContent-QxLR7_qs.js +1 -0
  54. package/dist/interface/assets/CuiPluginCard-1dSDwOCf.js +2 -0
  55. package/dist/interface/assets/{CuiPluginCard-D_6UFFZW.css → CuiPluginCard-rkhmuumi.css} +1 -1
  56. package/dist/interface/assets/{CuiPluginCategoryChip-C9l5I9v3.js → CuiPluginCategoryChip-JkdbQU4X.js} +1 -1
  57. package/dist/interface/assets/CuiPluginOAuthButton-LYMFfb3v.js +2 -0
  58. package/dist/interface/assets/{CuiPluginTrustBadge-BkdNlrZ7.js → CuiPluginTrustBadge-sZF0UKMD.js} +1 -1
  59. package/dist/interface/assets/{CuiQRCode-D8CKX4s9.js → CuiQRCode-B4ysluWR.js} +1 -1
  60. package/dist/interface/assets/CuiRecordingsGrid-CkwE3jcR.js +1 -0
  61. package/dist/interface/assets/CuiSchema-DKATswRc.js +1 -0
  62. package/dist/interface/assets/{CuiTopNavbarItem-C-ZiLXkp.js → CuiTopNavbarItem-rMsWME9B.js} +1 -1
  63. package/dist/interface/assets/Faces-BeeZrFV-.js +1 -0
  64. package/dist/interface/assets/FirstSteps-DWT6Tt_T.js +1 -0
  65. package/dist/interface/assets/Instances-CJlFo8ni.js +1 -0
  66. package/dist/interface/assets/Logs-8onUmCYX.js +6 -0
  67. package/dist/interface/assets/{Menu-CvpQ9fHV.js → Menu-DP0aMICW.js} +1 -1
  68. package/dist/interface/assets/OAuthDeviceFlow-CcSkntGk.js +1 -0
  69. package/dist/interface/assets/Plugin-8dbt_8iG.js +1 -0
  70. package/dist/interface/assets/{PluginConsole-DUnPciNz.js → PluginConsole-JFcH_ZW0.js} +2 -2
  71. package/dist/interface/assets/PluginDetail-C9dR9jrw.js +2 -0
  72. package/dist/interface/assets/{PluginSchema-CQARvB5H.js → PluginSchema-Gfn_csMP.js} +1 -1
  73. package/dist/interface/assets/PluginSearch-BVAtgBZs.js +1 -0
  74. package/dist/interface/assets/PluginSearch-HEf_6CrR.js +2 -0
  75. package/dist/interface/assets/PluginUpdateProgress-DaI9bwSV.js +1 -0
  76. package/dist/interface/assets/Plugins-CQJhji6o.js +1 -0
  77. package/dist/interface/assets/Recordings-80Xd1V3L.css +1 -0
  78. package/dist/interface/assets/Recordings-AD78njIA.js +1 -0
  79. package/dist/interface/assets/SensorEdit-ono85O3c.css +1 -0
  80. package/dist/interface/assets/SensorEdit-rC02usEO.js +1 -0
  81. package/dist/interface/assets/{SensorHistory-oWCb8Kia.js → SensorHistory-2TmYLaL4.js} +1 -1
  82. package/dist/interface/assets/Sensors-CFfII3-e.css +1 -0
  83. package/dist/interface/assets/Sensors-Vwr7MYz6.js +2 -0
  84. package/dist/interface/assets/Settings-8yG5ny5r.js +1 -0
  85. package/dist/interface/assets/SettingsAccount-BBsivYFf.js +1 -0
  86. package/dist/interface/assets/SettingsAccount-CN9Xcgt-.js +1 -0
  87. package/dist/interface/assets/SettingsAppearance-Qh1cw9iX.js +1 -0
  88. package/dist/interface/assets/SettingsAppearance-WQtOksbk.js +1 -0
  89. package/dist/interface/assets/SettingsBackup-DNDDU6a1.js +1 -0
  90. package/dist/interface/assets/SettingsList-tFKUMnsB.js +1 -0
  91. package/dist/interface/assets/{SettingsMqtt-pH6KmHhv.js → SettingsMqtt-BYVV1Mew.js} +1 -1
  92. package/dist/interface/assets/SettingsNotifications-BVGmt0eF.js +2 -0
  93. package/dist/interface/assets/{SettingsPermissions-CDpVmRY2.js → SettingsPermissions-BPqDIjVt.js} +1 -1
  94. package/dist/interface/assets/SettingsRecordings-B4DDJSKe.js +1 -0
  95. package/dist/interface/assets/SettingsRemote-Bib7kXto.js +1 -0
  96. package/dist/interface/assets/SettingsSystem-DIe7CSgH.js +2 -0
  97. package/dist/interface/assets/SettingsUsers-BtT17FNe.js +1 -0
  98. package/dist/interface/assets/{Terminal-DSRLOAKR.js → Terminal-DuJHIlLe.js} +3 -3
  99. package/dist/interface/assets/{VariableInput-rbKenccv.js → VariableInput-CkXZ00Gc.js} +1 -1
  100. package/dist/interface/assets/{VariableSuggestions-DDyxhww6.js → VariableSuggestions-BD1kOG5f.js} +1 -1
  101. package/dist/interface/assets/VersionsHandler-D9sDkGXx.js +7 -0
  102. package/dist/interface/assets/{VirtualSensorCreate-_9QdFeEj.js → VirtualSensorCreate-DcwJ_w-l.js} +1 -1
  103. package/dist/interface/assets/{Workers-DmZkFylb.css → Workers-7hKMBU4w.css} +1 -1
  104. package/dist/interface/assets/Workers-fV_NEZ7U.js +2 -0
  105. package/dist/interface/assets/{account-C5mHt2Ep.js → account-CY80SLLf.js} +1 -1
  106. package/dist/interface/assets/{alert-circle-Cu_kjPlA.js → alert-circle-pDGfnZ4K.js} +1 -1
  107. package/dist/interface/assets/{alert-outline-DXHNnhoP.js → alert-outline-CeoXcnQc.js} +1 -1
  108. package/dist/interface/assets/api-Draww2tC.js +2 -0
  109. package/dist/interface/assets/{api-BijLH5JF.js → api-Mny5Elfn.js} +1 -1
  110. package/dist/interface/assets/api-eELh8KCM.css +2 -0
  111. package/dist/interface/assets/{arrow-left-DPtWmM6S.js → arrow-left-D9jDhvK5.js} +1 -1
  112. package/dist/interface/assets/{arrow-right-outline-BY1ggGA1.js → arrow-right-outline-DF7tkKYk.js} +1 -1
  113. package/dist/interface/assets/{auth-CSrkzvBq.js → auth-9_Jjlsh0.js} +1 -1
  114. package/dist/interface/assets/{automations-5YkU18M0.js → automations-BfsdbSPC.js} +1 -1
  115. package/dist/interface/assets/{back-filled-r7bN5ObT.js → back-filled-DUUGErMw.js} +1 -1
  116. package/dist/interface/assets/{bell-ring-C470qCAb.js → bell-ring-DV73JIre.js} +1 -1
  117. package/dist/interface/assets/{cameras.schema-BQ3CdtV5.js → cameras.schema-DMY4SYte.js} +1 -1
  118. package/dist/interface/assets/{cctv-BKVOVZCR.js → cctv-jy5ROx0o.js} +1 -1
  119. package/dist/interface/assets/{check-circle-Ce_sbfPZ.js → check-circle-FwoylV5-.js} +1 -1
  120. package/dist/interface/assets/{chevron-down-CjSTp091.js → chevron-down-umZ7i0mG.js} +1 -1
  121. package/dist/interface/assets/{chevron-right-B3j6hI1Q.js → chevron-right-AhqYJOFy.js} +1 -1
  122. package/dist/interface/assets/{clock-outline-BgcDXoyp.js → clock-outline-CbvOAMhO.js} +1 -1
  123. package/dist/interface/assets/{close-CQoGQHOF.js → close-CtaDF28n.js} +1 -1
  124. package/dist/interface/assets/{close-circle-DYhkXsRj.js → close-circle-FZ8IxGd4.js} +1 -1
  125. package/dist/interface/assets/{cloud-check-CVx221dJ.js → cloud-check-CFSukfAF.js} +1 -1
  126. package/dist/interface/assets/cloudHandoff-BQsDy9yp.js +1 -0
  127. package/dist/interface/assets/{config-BqiDMRVk.js → config-BZphegxi.js} +1 -1
  128. package/dist/interface/assets/{copy-yhHCVVOa.js → copy-CFA_pDRv.js} +1 -1
  129. package/dist/interface/assets/cube-scan-DEuMi23T.js +1 -0
  130. package/dist/interface/assets/{delete-xWUQUP2x.js → delete-921w_nKy.js} +1 -1
  131. package/dist/interface/assets/{deployed-code-update-CHr3gyW9.js → deployed-code-update-CYS6eKfa.js} +1 -1
  132. package/dist/interface/assets/{dist-DVb-CALh.js → dist-BwEXwXSw.js} +1 -1
  133. package/dist/interface/assets/{download-PLxvyB7s.js → download-C-LzNRmM.js} +1 -1
  134. package/dist/interface/assets/esm-B1LZs0VG.js +1 -0
  135. package/dist/interface/assets/esm-BB4SBaek.js +1 -0
  136. package/dist/interface/assets/esm-BGA8Ydne.js +1 -0
  137. package/dist/interface/assets/esm-BHI_KH7L.js +1 -0
  138. package/dist/interface/assets/esm-BQ0EuuZe.js +1 -0
  139. package/dist/interface/assets/esm-Bfb-tuKt.js +1 -0
  140. package/dist/interface/assets/esm-BzR_6ma5.js +1 -0
  141. package/dist/interface/assets/esm-CCIqNfsh.js +1 -0
  142. package/dist/interface/assets/esm-CSMN-8o1.js +1 -0
  143. package/dist/interface/assets/esm-CxWbrBxP.js +1 -0
  144. package/dist/interface/assets/esm-DBTrmJK6.js +1 -0
  145. package/dist/interface/assets/esm-DRswZUWf.js +1 -0
  146. package/dist/interface/assets/esm-Dk7gxPHs.js +1 -0
  147. package/dist/interface/assets/esm-P0RCkAtk.js +1 -0
  148. package/dist/interface/assets/{eye-off-C8kzsdYU.js → eye-off-DESV3QdF.js} +1 -1
  149. package/dist/interface/assets/{flowSchema-C6FlHoK2.js → flowSchema-_RiPAgMv.js} +1 -1
  150. package/dist/interface/assets/{history-QBEPNc4X.js → history-60iCpGvQ.js} +1 -1
  151. package/dist/interface/assets/{home-af3W_y8U.js → home-w5iY2RUg.js} +1 -1
  152. package/dist/interface/assets/{information-outline-BPCsozSU.js → information-outline-CvBsGtDu.js} +1 -1
  153. package/dist/interface/assets/{lightbulb-outline-ccTlGyvW.js → lightbulb-outline-DLrnCPG5.js} +1 -1
  154. package/dist/interface/assets/main-CV7qCZ5i.js +3 -0
  155. package/dist/interface/assets/{main-aZt-Pooz.css → main-DJb49Tjp.css} +1 -1
  156. package/dist/interface/assets/{microphone-5exHwwyq.js → microphone-DUVI-s2_.js} +1 -1
  157. package/dist/interface/assets/mqtt-BPfLOT7L.js +1 -0
  158. package/dist/interface/assets/native-Cr4dkfqy.js +1 -0
  159. package/dist/interface/assets/native-D1Vvlhds.js +1 -0
  160. package/dist/interface/assets/{nodeDefinitions-CRrkU6zR.js → nodeDefinitions-BecZ8I2Q.js} +1 -1
  161. package/dist/interface/assets/{notifications-DCAiomoR.js → notifications-CK6XQBF-.js} +1 -1
  162. package/dist/interface/assets/{pencil-outline-M9I4mCJO.js → pencil-outline-BrOrbuzc.js} +1 -1
  163. package/dist/interface/assets/plugin-937qnq7E.js +1 -0
  164. package/dist/interface/assets/{plugins-D4am8tba.js → plugins-BU7TQh_f.js} +1 -1
  165. package/dist/interface/assets/{plus-CGIx-WV8.js → plus-CL6KSxf8.js} +1 -1
  166. package/dist/interface/assets/{plus-CrfQUUEC.js → plus-Dd-XLT76.js} +1 -1
  167. package/dist/interface/assets/{power-VnZM2-0c.js → power-lCbm_7y7.js} +1 -1
  168. package/dist/interface/assets/{ring-resize-CodGa6wQ.js → ring-resize-CEqUkpxT.js} +1 -1
  169. package/dist/interface/assets/{round-alt-arrow-left-bold-DTrlW4yx.js → round-alt-arrow-left-bold-CwaLYdW5.js} +1 -1
  170. package/dist/interface/assets/round-restart-alt-BFgY3k77.js +1 -0
  171. package/dist/interface/assets/round-restart-alt-SpAgbSYJ.css +1 -0
  172. package/dist/interface/assets/{search-miJXZGQz.js → search-CT2BLw7G.js} +1 -1
  173. package/dist/interface/assets/sensorIcons-DtJEfoU4.js +1 -0
  174. package/dist/interface/assets/{sensors-D1OCrbIC.js → sensors-DjgfMS8S.js} +1 -1
  175. package/dist/interface/assets/{server-CUfmbg3m.js → server-BSYs0zoo.js} +1 -1
  176. package/dist/interface/assets/{settings-DY0TJSAM.js → settings-CzS4dvIO.js} +1 -1
  177. package/dist/interface/assets/{source-branch-nw9fwXin.js → source-branch-C6p1G3a9.js} +1 -1
  178. package/dist/interface/assets/table-2-line-_VC4NuFA.js +1 -0
  179. package/dist/interface/assets/theme-Dr_YO8-0.js +1 -0
  180. package/dist/interface/assets/{trash-2-B-di2M48.js → trash-2-DcOYT3oH.js} +1 -1
  181. package/dist/interface/assets/{trash-can-outline-BbZkHoW7.js → trash-can-outline-cphfB8Jh.js} +1 -1
  182. package/dist/interface/assets/{trash-fill-Bgen5QTD.js → trash-fill-CRBaUdPn.js} +1 -1
  183. package/dist/interface/assets/{trash2-BP__fHgN.js → trash2-CvhB8xOW.js} +1 -1
  184. package/dist/interface/assets/{types-B25Yynej.js → types-3mdj4rRK.js} +1 -1
  185. package/dist/interface/assets/types-BGMvANrz.js +1 -0
  186. package/dist/interface/assets/{upload-CNYrnwuV.js → upload-DeN3O-ua.js} +1 -1
  187. package/dist/interface/assets/{useAppVersion-Cp7Ehmiv.js → useAppVersion-UIA6seZv.js} +1 -1
  188. package/dist/interface/assets/{useBackupRestore-CL04IH-G.js → useBackupRestore-E3pVEOvA.js} +1 -1
  189. package/dist/interface/assets/{useCameraOptions-DFe9A6XU.js → useCameraOptions-Dx-zyqdH.js} +1 -1
  190. package/dist/interface/assets/{useCardSelection-B3B2qPHO.js → useCardSelection-DGPLn1ZH.js} +1 -1
  191. package/dist/interface/assets/{useElectron-KnqvZz0q.js → useElectron-BXVcamD0.js} +1 -1
  192. package/dist/interface/assets/useLogsSocket-DSxzAvQF.js +1 -0
  193. package/dist/interface/assets/{usePermissions-C3D3JcPH.js → usePermissions-B_C-zX5H.js} +1 -1
  194. package/dist/interface/assets/usePluginUpdates-QU3U82S_.js +1 -0
  195. package/dist/interface/assets/{useServerRestart-Ck0mdqmf.js → useServerRestart-BxDBO7k-.js} +1 -1
  196. package/dist/interface/assets/{useStreamStatus-C4AA8JUq.js → useStreamStatus-DY4NM_Ua.js} +1 -1
  197. package/dist/interface/assets/useUserOptions-BL53bECb.js +1 -0
  198. package/dist/interface/assets/{variable-CbNySf4s.js → variable-oLSsiEtj.js} +1 -1
  199. package/dist/interface/assets/{vendor-CSg6_Jfu.js → vendor-JQXDMBA-.js} +2 -2
  200. package/dist/interface/assets/vendor-cameraui-DojVuZ2L.js +2326 -0
  201. package/dist/interface/assets/{vendor-capacitor-C-8IYzpJ.js → vendor-capacitor-CDwgXF4b.js} +2 -2
  202. package/dist/interface/assets/{vendor-chart-CoQ9HTE3.js → vendor-chart-KrNcA52y.js} +1 -1
  203. package/dist/interface/assets/vendor-core-ZDcIKAw9.js +1 -0
  204. package/dist/interface/assets/{vendor-dnd-DQF7Aoap.js → vendor-dnd-Jch9IvL6.js} +1 -1
  205. package/dist/interface/assets/{vendor-draggabilly-Cghb3aIb.js → vendor-draggabilly-Cn-knCpG.js} +1 -1
  206. package/dist/interface/assets/{vendor-markdown-DWwrEE67.js → vendor-markdown-BhFLJolW.js} +1 -1
  207. package/dist/interface/assets/{vendor-primevue-JQ8abUl5.js → vendor-primevue-C0acGg0Y.js} +85 -371
  208. package/dist/interface/assets/{vendor-vueflow-crUU2mAI.js → vendor-vueflow-DQrTmoNS.js} +1 -1
  209. package/dist/interface/assets/web-BQtDHNew.js +1 -0
  210. package/dist/interface/assets/web-BY9kjyTj.js +1 -0
  211. package/dist/interface/assets/web-BcQtDSat.js +1 -0
  212. package/dist/interface/assets/web-BgrRQzLO.js +1 -0
  213. package/dist/interface/assets/web-BjKL51lK-CJYmHsnY.js +1 -0
  214. package/dist/interface/assets/web-BxvsJylk.js +1 -0
  215. package/dist/interface/assets/web-C-3iwDhG.js +1 -0
  216. package/dist/interface/assets/web-C9XOwu07.js +1 -0
  217. package/dist/interface/assets/web-CPCxRDtw.js +1 -0
  218. package/dist/interface/assets/web-D0U5B2i2.js +1 -0
  219. package/dist/interface/assets/web-DtxjXJdS.js +1 -0
  220. package/dist/interface/assets/web-Duf-oV4e.js +1 -0
  221. package/dist/interface/assets/web-jy45nBi_.js +1 -0
  222. package/dist/interface/assets/web-vWx_-Iq5.js +1 -0
  223. package/dist/interface/assets/{webhook-B7YgiSrF.js → webhook-CMAB4nTl.js} +1 -1
  224. package/dist/interface/assets/workbox-window.prod.es5-Dlqax_Po.js +1 -0
  225. package/dist/interface/assets/{zoom-in-D7BJNotF.js → zoom-in-STm8SNt2.js} +1 -1
  226. package/dist/interface/index.html +42 -43
  227. package/dist/interface/sw.js +1 -1
  228. package/dist/server/package.json +13 -13
  229. package/dist/server/requirements.txt +1 -1
  230. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +20 -0
  231. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +20 -0
  232. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +40 -0
  233. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +20 -0
  234. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/carbon_dioxide.py +91 -0
  235. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/carbon_monoxide.py +90 -0
  236. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/cold.py +90 -0
  237. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/gas.py +90 -0
  238. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/heat.py +90 -0
  239. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/illuminance.py +91 -0
  240. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/power.py +90 -0
  241. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/problem.py +90 -0
  242. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/tamper.py +90 -0
  243. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/vibration.py +90 -0
  244. package/dist/server/src/api/database/record-schemas.d.ts +10 -0
  245. package/dist/server/src/api/schemas/cameras.schema.d.ts +325 -5
  246. package/dist/server/src/api/schemas/cameras.schema.js +24 -2
  247. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  248. package/dist/server/src/api/schemas/sensors.schema.d.ts +10 -0
  249. package/dist/server/src/api/schemas/users.schema.d.ts +70 -0
  250. package/dist/server/src/api/services/plugins.service.d.ts +2 -1
  251. package/dist/server/src/api/services/plugins.service.js +59 -15
  252. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  253. package/dist/server/src/api/types/index.d.ts +7 -0
  254. package/dist/server/src/api/websocket/nsp/plugins.d.ts +1 -0
  255. package/dist/server/src/api/websocket/nsp/plugins.js +4 -0
  256. package/dist/server/src/api/websocket/nsp/plugins.js.map +1 -1
  257. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +6 -0
  258. package/dist/server/src/camera/decoder/detection-coordinator.js +67 -7
  259. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  260. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +16 -1
  261. package/dist/server/src/camera/decoder/detection-pipeline.js +92 -14
  262. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  263. package/dist/server/src/camera/decoder/event-manager.d.ts +4 -1
  264. package/dist/server/src/camera/decoder/event-manager.js +29 -1
  265. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  266. package/dist/server/src/camera/decoder/frame-scaler.d.ts +21 -0
  267. package/dist/server/src/camera/decoder/frame-scaler.js +82 -10
  268. package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -1
  269. package/dist/server/src/camera/decoder/secondary-stage.js +19 -16
  270. package/dist/server/src/camera/decoder/secondary-stage.js.map +1 -1
  271. package/dist/server/src/camera/decoder/stationary-suppressor.d.ts +7 -0
  272. package/dist/server/src/camera/decoder/stationary-suppressor.js +66 -4
  273. package/dist/server/src/camera/decoder/stationary-suppressor.js.map +1 -1
  274. package/dist/server/src/camera/sensors/controller.js +6 -0
  275. package/dist/server/src/camera/sensors/controller.js.map +1 -1
  276. package/dist/server/src/sensors/registry.d.ts +6 -1
  277. package/dist/server/src/sensors/registry.js +78 -26
  278. package/dist/server/src/sensors/registry.js.map +1 -1
  279. package/dist/server/src/sensors/sensor.d.ts +2 -2
  280. package/dist/server/src/sensors/sensor.js +14 -2
  281. package/dist/server/src/sensors/sensor.js.map +1 -1
  282. package/dist/server/src/workers/manager.js +2 -0
  283. package/dist/server/src/workers/manager.js.map +1 -1
  284. package/package.json +13 -13
  285. package/dist/interface/assets/Automation-BdSjkwoL.js +0 -3
  286. package/dist/interface/assets/AutomationImport-DEp2P3xa.js +0 -2
  287. package/dist/interface/assets/AutomationStore-4NQAyOXd.js +0 -2
  288. package/dist/interface/assets/AutomationStoreDetail-D8NZLRu9.js +0 -2
  289. package/dist/interface/assets/Automations-D7kh-T-O.js +0 -2
  290. package/dist/interface/assets/Camera-DsvE1bWd.js +0 -2
  291. package/dist/interface/assets/Camview-BXDwJtBf.js +0 -1
  292. package/dist/interface/assets/Config-CJgmsr2e.js +0 -2
  293. package/dist/interface/assets/ConfigActionSensor-pv3k-l2v.js +0 -1
  294. package/dist/interface/assets/ConfigTriggerGeofence-CDbA6_Wv.js +0 -1
  295. package/dist/interface/assets/Console-CPcfNsup.js +0 -1
  296. package/dist/interface/assets/CuiAutomationRunsDialog-Bx3LtjMJ.js +0 -1
  297. package/dist/interface/assets/CuiBottomSheet-Qt8m2uSx.js +0 -1
  298. package/dist/interface/assets/CuiCameraRecordings-DJG6J1nY.js +0 -1
  299. package/dist/interface/assets/CuiCameraShares-C3SATbiV.js +0 -1
  300. package/dist/interface/assets/CuiDataTable-BGleWv6B.css +0 -1
  301. package/dist/interface/assets/CuiDataTable-DdNoneMB.js +0 -1
  302. package/dist/interface/assets/CuiLightControl-bH7WQXAY.js +0 -1
  303. package/dist/interface/assets/CuiMarkdownContent-Do8-vIl7.js +0 -1
  304. package/dist/interface/assets/CuiPluginCard-B50TjvIq.js +0 -2
  305. package/dist/interface/assets/CuiPluginOAuthButton-Aanenlqx.js +0 -2
  306. package/dist/interface/assets/CuiRecordingsGrid-D9IF3B-S.js +0 -1
  307. package/dist/interface/assets/CuiSchema-B8J8G314.js +0 -1
  308. package/dist/interface/assets/Faces-B8d8W6cq.js +0 -1
  309. package/dist/interface/assets/FirstSteps-DWB8ZhqT.js +0 -1
  310. package/dist/interface/assets/Instances-DCE3ixbf.js +0 -1
  311. package/dist/interface/assets/Logs-DJL3FHsG.js +0 -6
  312. package/dist/interface/assets/OAuthDeviceFlow-9kYvqgyg.js +0 -1
  313. package/dist/interface/assets/Plugin-HIED8ziU.js +0 -1
  314. package/dist/interface/assets/PluginDetail-Ba9VDO53.js +0 -2
  315. package/dist/interface/assets/PluginSearch-B3y83uDW.js +0 -2
  316. package/dist/interface/assets/PluginSearch-BKVIwJVF.js +0 -1
  317. package/dist/interface/assets/Plugins-mdsFKDQ8.js +0 -1
  318. package/dist/interface/assets/Recordings-DO1BPBKp.css +0 -1
  319. package/dist/interface/assets/Recordings-GVzdhE19.js +0 -1
  320. package/dist/interface/assets/SensorEdit-COOOaB-l.js +0 -1
  321. package/dist/interface/assets/Sensors-De6n66ER.js +0 -2
  322. package/dist/interface/assets/Sensors-DfE07b1Q.css +0 -1
  323. package/dist/interface/assets/Settings-BipPaBUB.js +0 -1
  324. package/dist/interface/assets/SettingsAccount-809sRaa9.js +0 -1
  325. package/dist/interface/assets/SettingsAccount-Bmteep-6.js +0 -1
  326. package/dist/interface/assets/SettingsAppearance-CJWlk9_1.js +0 -1
  327. package/dist/interface/assets/SettingsAppearance-Cobtww9z.js +0 -1
  328. package/dist/interface/assets/SettingsBackup-Bbp3fEuS.js +0 -1
  329. package/dist/interface/assets/SettingsList-DFJifGkE.js +0 -1
  330. package/dist/interface/assets/SettingsNotifications-Dt_gxxoj.js +0 -2
  331. package/dist/interface/assets/SettingsRecordings-1i4sNZ8u.js +0 -1
  332. package/dist/interface/assets/SettingsRemote-HDCH_D5s.js +0 -1
  333. package/dist/interface/assets/SettingsSystem-jDQ9m8jt.js +0 -2
  334. package/dist/interface/assets/SettingsUsers-CFzURSfg.js +0 -1
  335. package/dist/interface/assets/VersionsHandler-CBAnjOWO.js +0 -7
  336. package/dist/interface/assets/Workers-DQZ0QoEN.js +0 -2
  337. package/dist/interface/assets/alarm-light-outline-jCTfmz5t.js +0 -1
  338. package/dist/interface/assets/api-CwjboJ6S.css +0 -2
  339. package/dist/interface/assets/api-DpZpuR8_.js +0 -2
  340. package/dist/interface/assets/cloudHandoff-D8flqTzb.js +0 -1
  341. package/dist/interface/assets/cube-scan-Ccxismvr.js +0 -1
  342. package/dist/interface/assets/esm-B4MXP42m.js +0 -1
  343. package/dist/interface/assets/esm-BW9m3dy4.js +0 -1
  344. package/dist/interface/assets/esm-BZ3gh7Fj.js +0 -1
  345. package/dist/interface/assets/esm-Blvz9SsB.js +0 -1
  346. package/dist/interface/assets/esm-CJXU9jaA.js +0 -1
  347. package/dist/interface/assets/esm-Cqqu_mer.js +0 -1
  348. package/dist/interface/assets/esm-CtKbLoV_.js +0 -1
  349. package/dist/interface/assets/esm-CwzNi2iW.js +0 -1
  350. package/dist/interface/assets/esm-KnO8wJyB.js +0 -1
  351. package/dist/interface/assets/esm-Lt6R0RFn.js +0 -1
  352. package/dist/interface/assets/esm-MvRctfDP.js +0 -1
  353. package/dist/interface/assets/esm-W4LX4Rpq.js +0 -1
  354. package/dist/interface/assets/esm-l57LNUWu.js +0 -1
  355. package/dist/interface/assets/esm-xofhyA8r.js +0 -1
  356. package/dist/interface/assets/main-Csclhnoq.js +0 -3
  357. package/dist/interface/assets/mqtt-DklPP2x5.js +0 -1
  358. package/dist/interface/assets/native-Cpj7zrLp.js +0 -1
  359. package/dist/interface/assets/native-D--k2WN1.js +0 -1
  360. package/dist/interface/assets/plugin-D3FpjfF8.js +0 -1
  361. package/dist/interface/assets/round-restart-alt-CdweDM5-.js +0 -1
  362. package/dist/interface/assets/round-restart-alt-D3sTGG7n.css +0 -1
  363. package/dist/interface/assets/theme-ClwavgWz.js +0 -1
  364. package/dist/interface/assets/types-D9YcubIy.js +0 -1
  365. package/dist/interface/assets/useLogsSocket-BxI3NbRJ.js +0 -5
  366. package/dist/interface/assets/useUserOptions-BpEZlRAL.js +0 -1
  367. package/dist/interface/assets/vendor-cameraui-Cgb5z6NJ.js +0 -2040
  368. package/dist/interface/assets/vendor-core-BJsSXMFQ.js +0 -1
  369. package/dist/interface/assets/web-BX3axHeB.js +0 -1
  370. package/dist/interface/assets/web-BcHmbPny.js +0 -1
  371. package/dist/interface/assets/web-BjKL51lK-BQjyRtns.js +0 -1
  372. package/dist/interface/assets/web-C8w-z-xR.js +0 -1
  373. package/dist/interface/assets/web-CHdniv8I.js +0 -1
  374. package/dist/interface/assets/web-CWBhY0Av.js +0 -1
  375. package/dist/interface/assets/web-Cf1yYy4u.js +0 -1
  376. package/dist/interface/assets/web-Ct6Vkr6F.js +0 -1
  377. package/dist/interface/assets/web-DARDw7d8.js +0 -1
  378. package/dist/interface/assets/web-DKBMdBSA.js +0 -1
  379. package/dist/interface/assets/web-Ddzvp-fv.js +0 -1
  380. package/dist/interface/assets/web-Dymr_MpD.js +0 -1
  381. package/dist/interface/assets/web-XIuTPdFc.js +0 -1
  382. package/dist/interface/assets/web-lrnXIJTz.js +0 -1
  383. package/dist/interface/assets/workbox-window.prod.es5-BkFwsIPp.js +0 -1
  384. /package/dist/interface/assets/{useLogsSocket-CoA-Nq-_.css → CuiConsole-CoA-Nq-_.css} +0 -0
@@ -11,6 +11,16 @@ export declare const createVirtualSensorSchema: zod.ZodObject<{
11
11
  occupancy: import("@camera.ui/sdk").SensorType.Occupancy;
12
12
  smoke: import("@camera.ui/sdk").SensorType.Smoke;
13
13
  leak: import("@camera.ui/sdk").SensorType.Leak;
14
+ gas: import("@camera.ui/sdk").SensorType.Gas;
15
+ carbonMonoxide: import("@camera.ui/sdk").SensorType.CarbonMonoxide;
16
+ heat: import("@camera.ui/sdk").SensorType.Heat;
17
+ cold: import("@camera.ui/sdk").SensorType.Cold;
18
+ vibration: import("@camera.ui/sdk").SensorType.Vibration;
19
+ tamper: import("@camera.ui/sdk").SensorType.Tamper;
20
+ problem: import("@camera.ui/sdk").SensorType.Problem;
21
+ power: import("@camera.ui/sdk").SensorType.Power;
22
+ illuminance: import("@camera.ui/sdk").SensorType.Illuminance;
23
+ carbonDioxide: import("@camera.ui/sdk").SensorType.CarbonDioxide;
14
24
  light: import("@camera.ui/sdk").SensorType.Light;
15
25
  siren: import("@camera.ui/sdk").SensorType.Siren;
16
26
  switch: import("@camera.ui/sdk").SensorType.Switch;
@@ -69,6 +69,16 @@ export declare const sensorShortcutTypeSchema: zod.ZodEnum<{
69
69
  smoke: "smoke";
70
70
  leak: "leak";
71
71
  garage: "garage";
72
+ gas: "gas";
73
+ carbonMonoxide: "carbonMonoxide";
74
+ carbonDioxide: "carbonDioxide";
75
+ heat: "heat";
76
+ cold: "cold";
77
+ vibration: "vibration";
78
+ tamper: "tamper";
79
+ problem: "problem";
80
+ power: "power";
81
+ illuminance: "illuminance";
72
82
  }>;
73
83
  export declare const userPreferencesCameraShortcutLayout: zod.ZodDiscriminatedUnion<[zod.ZodObject<{
74
84
  _id: zod.ZodPipe<zod.ZodDefault<zod.ZodString>, zod.ZodTransform<string, string>>;
@@ -94,6 +104,16 @@ export declare const userPreferencesCameraShortcutLayout: zod.ZodDiscriminatedUn
94
104
  smoke: "smoke";
95
105
  leak: "leak";
96
106
  garage: "garage";
107
+ gas: "gas";
108
+ carbonMonoxide: "carbonMonoxide";
109
+ carbonDioxide: "carbonDioxide";
110
+ heat: "heat";
111
+ cold: "cold";
112
+ vibration: "vibration";
113
+ tamper: "tamper";
114
+ problem: "problem";
115
+ power: "power";
116
+ illuminance: "illuminance";
97
117
  }>;
98
118
  points: zod.ZodTuple<[zod.ZodNumber, zod.ZodNumber], null>;
99
119
  }, zod.z.core.$strip>], "type">;
@@ -119,6 +139,16 @@ export declare const patchPreferencesCameraShortcutLayout: zod.ZodOptional<zod.Z
119
139
  smoke: "smoke";
120
140
  leak: "leak";
121
141
  garage: "garage";
142
+ gas: "gas";
143
+ carbonMonoxide: "carbonMonoxide";
144
+ carbonDioxide: "carbonDioxide";
145
+ heat: "heat";
146
+ cold: "cold";
147
+ vibration: "vibration";
148
+ tamper: "tamper";
149
+ problem: "problem";
150
+ power: "power";
151
+ illuminance: "illuminance";
122
152
  }>>;
123
153
  points: zod.ZodOptional<zod.ZodTuple<[zod.ZodNumber, zod.ZodNumber], null>>;
124
154
  }, zod.z.core.$strip>]>>;
@@ -147,6 +177,16 @@ export declare const userPreferencesCameras: zod.ZodObject<{
147
177
  smoke: "smoke";
148
178
  leak: "leak";
149
179
  garage: "garage";
180
+ gas: "gas";
181
+ carbonMonoxide: "carbonMonoxide";
182
+ carbonDioxide: "carbonDioxide";
183
+ heat: "heat";
184
+ cold: "cold";
185
+ vibration: "vibration";
186
+ tamper: "tamper";
187
+ problem: "problem";
188
+ power: "power";
189
+ illuminance: "illuminance";
150
190
  }>;
151
191
  points: zod.ZodTuple<[zod.ZodNumber, zod.ZodNumber], null>;
152
192
  }, zod.z.core.$strip>], "type">>;
@@ -203,6 +243,16 @@ export declare const userPreferences: zod.ZodObject<{
203
243
  smoke: "smoke";
204
244
  leak: "leak";
205
245
  garage: "garage";
246
+ gas: "gas";
247
+ carbonMonoxide: "carbonMonoxide";
248
+ carbonDioxide: "carbonDioxide";
249
+ heat: "heat";
250
+ cold: "cold";
251
+ vibration: "vibration";
252
+ tamper: "tamper";
253
+ problem: "problem";
254
+ power: "power";
255
+ illuminance: "illuminance";
206
256
  }>;
207
257
  points: zod.ZodTuple<[zod.ZodNumber, zod.ZodNumber], null>;
208
258
  }, zod.z.core.$strip>], "type">>;
@@ -263,6 +313,16 @@ export declare const createUserSchema: zod.ZodObject<{
263
313
  smoke: "smoke";
264
314
  leak: "leak";
265
315
  garage: "garage";
316
+ gas: "gas";
317
+ carbonMonoxide: "carbonMonoxide";
318
+ carbonDioxide: "carbonDioxide";
319
+ heat: "heat";
320
+ cold: "cold";
321
+ vibration: "vibration";
322
+ tamper: "tamper";
323
+ problem: "problem";
324
+ power: "power";
325
+ illuminance: "illuminance";
266
326
  }>;
267
327
  points: zod.ZodTuple<[zod.ZodNumber, zod.ZodNumber], null>;
268
328
  }, zod.z.core.$strip>], "type">>;
@@ -337,6 +397,16 @@ export declare const patchUserSchema: zod.ZodObject<{
337
397
  smoke: "smoke";
338
398
  leak: "leak";
339
399
  garage: "garage";
400
+ gas: "gas";
401
+ carbonMonoxide: "carbonMonoxide";
402
+ carbonDioxide: "carbonDioxide";
403
+ heat: "heat";
404
+ cold: "cold";
405
+ vibration: "vibration";
406
+ tamper: "tamper";
407
+ problem: "problem";
408
+ power: "power";
409
+ illuminance: "illuminance";
340
410
  }>;
341
411
  points: zod.ZodTuple<[zod.ZodNumber, zod.ZodNumber], null>;
342
412
  }, zod.z.core.$strip>], "type">>;
@@ -9,7 +9,6 @@ export declare class PluginsService {
9
9
  private pluginManager;
10
10
  private configService;
11
11
  private socketService;
12
- private managingPluginsMap;
13
12
  constructor();
14
13
  listPlugins(): Plugin[];
15
14
  listPluginProcesses(): PluginWorker[];
@@ -31,6 +30,8 @@ export declare class PluginsService {
31
30
  handleDisabledPlugins(): Promise<void>;
32
31
  manage(pluginName: string, action: 'install' | 'update' | 'uninstall', version?: string, pluginId?: string): Promise<string>;
33
32
  installingPlugins(): PluginsProgress[];
33
+ private runManage;
34
+ private emitManageQueue;
34
35
  private installPlugin;
35
36
  private updatePlugin;
36
37
  private keepPythonEnv;
@@ -22,6 +22,26 @@ import { elidePath, getTerminalCols, InstallLogger } from '../utils/install-logg
22
22
  import { CamerasService } from './cameras.service.js';
23
23
  const VENV_DIR = /^python(-electron)?-\d+\.\d+-/;
24
24
  const REQUIREMENTS_LOCK = 'requirements-lock.txt';
25
+ const MANAGE_CONCURRENCY = 2;
26
+ const manageQueue = [];
27
+ const manageWaiters = [];
28
+ let manageRunning = 0;
29
+ function acquireManageSlot() {
30
+ if (manageRunning < MANAGE_CONCURRENCY) {
31
+ manageRunning++;
32
+ return Promise.resolve();
33
+ }
34
+ return new Promise((resolve) => {
35
+ manageWaiters.push(() => {
36
+ manageRunning++;
37
+ resolve();
38
+ });
39
+ });
40
+ }
41
+ function releaseManageSlot() {
42
+ manageRunning--;
43
+ manageWaiters.shift()?.();
44
+ }
25
45
  let PluginsService = class PluginsService {
26
46
  dbs;
27
47
  io;
@@ -29,7 +49,6 @@ let PluginsService = class PluginsService {
29
49
  pluginManager;
30
50
  configService;
31
51
  socketService;
32
- managingPluginsMap = new Map();
33
52
  constructor() {
34
53
  this.dbs = container.resolve('dbs');
35
54
  this.logger = container.resolve('logger');
@@ -147,12 +166,42 @@ let PluginsService = class PluginsService {
147
166
  const log = this.createLogger(pluginName);
148
167
  const title = `${action.charAt(0).toUpperCase()}${action.slice(1)} · ${pluginName}${action !== 'uninstall' && version ? `@${version}` : ''}`;
149
168
  log.header(title, { user: userInfo().username, target: elidePath(targetDir) });
150
- const existingAction = this.managingPluginsMap.get(pluginName);
169
+ const existingAction = manageQueue.find((entry) => entry.pluginName === pluginName);
151
170
  if (existingAction) {
152
- log.error(`Cannot ${action} plugin ${pluginName} while ${existingAction.action} is in progress.`);
153
- throw new Error(`Cannot ${action} plugin ${pluginName} while ${existingAction.action} is in progress.`);
171
+ log.error(`Cannot ${action} plugin ${pluginName} while ${existingAction.action} is ${existingAction.status}.`);
172
+ throw new Error(`Cannot ${action} plugin ${pluginName} while ${existingAction.action} is ${existingAction.status}.`);
154
173
  }
155
- this.managingPluginsMap.set(pluginName, { pluginName, action, version: version ?? 'latest' });
174
+ const entry = { pluginName, action, version: version ?? 'latest', status: 'queued' };
175
+ manageQueue.push(entry);
176
+ this.emitManageQueue();
177
+ try {
178
+ const mustWait = manageRunning >= MANAGE_CONCURRENCY;
179
+ if (mustWait)
180
+ log.step('Waiting for other plugin operations');
181
+ await acquireManageSlot();
182
+ if (mustWait)
183
+ log.done();
184
+ entry.status = 'running';
185
+ this.emitManageQueue();
186
+ try {
187
+ return await this.runManage(log, entry, targetDir, pluginId);
188
+ }
189
+ finally {
190
+ releaseManageSlot();
191
+ }
192
+ }
193
+ finally {
194
+ const index = manageQueue.indexOf(entry);
195
+ if (index !== -1)
196
+ manageQueue.splice(index, 1);
197
+ this.emitManageQueue();
198
+ }
199
+ }
200
+ installingPlugins() {
201
+ return [...manageQueue];
202
+ }
203
+ async runManage(log, entry, targetDir, pluginId) {
204
+ const { pluginName, action, version } = entry;
156
205
  const worker = this.getPluginProcessByName(pluginName);
157
206
  const wasRunning = worker?.isRunning() === true;
158
207
  let installedNew = false;
@@ -166,11 +215,11 @@ let PluginsService = class PluginsService {
166
215
  }
167
216
  switch (action) {
168
217
  case 'install':
169
- await this.installPlugin(log, pluginName, version ?? 'latest', targetDir);
218
+ await this.installPlugin(log, pluginName, version, targetDir);
170
219
  installedNew = true;
171
220
  break;
172
221
  case 'update':
173
- installedNew = await this.updatePlugin(log, pluginName, version ?? 'latest', targetDir);
222
+ installedNew = await this.updatePlugin(log, pluginName, version, targetDir);
174
223
  break;
175
224
  case 'uninstall':
176
225
  await this.uninstallPlugin(log, pluginName, targetDir);
@@ -190,19 +239,14 @@ let PluginsService = class PluginsService {
190
239
  await this.pluginManager.startPluginChild(pluginName);
191
240
  log.done();
192
241
  }
193
- this.managingPluginsMap.delete(pluginName);
194
242
  }
195
243
  if (installedNew) {
196
- log.success(`${pluginName}@${version ?? 'latest'} ${action === 'update' ? 'updated' : 'installed'}`);
244
+ log.success(`${pluginName}@${version} ${action === 'update' ? 'updated' : 'installed'}`);
197
245
  }
198
246
  return targetDir;
199
247
  }
200
- installingPlugins() {
201
- const pluginsInProgress = [];
202
- for (const [, progressInfo] of this.managingPluginsMap) {
203
- pluginsInProgress.push(progressInfo);
204
- }
205
- return pluginsInProgress;
248
+ emitManageQueue() {
249
+ this.io.of('/plugins').emit('manage-queue', this.installingPlugins());
206
250
  }
207
251
  async installPlugin(log, pluginName, version, targetDir, update) {
208
252
  const backupTempDir = join(tmpdir(), `${pluginName}_backup`);
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.service.js","sourceRoot":"","sources":["../../../../../src/api/services/plugins.service.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAElE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACxD,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAC3C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAE5F,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AACvD,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAUtD,MAAM,QAAQ,GAAG,+BAA+B,CAAC;AACjD,MAAM,iBAAiB,GAAG,uBAAuB,CAAC;AAQ3C,IAAM,cAAc,GAApB,MAAM,cAAc;IACjB,GAAG,CAAW;IACd,EAAE,CAAS;IACX,MAAM,CAAgB;IACtB,aAAa,CAAgB;IAC7B,aAAa,CAAgB;IAC7B,aAAa,CAAgB;IAE7B,kBAAkB,GAAG,IAAI,GAAG,EAA2B,CAAC;IAEhE;QACE,IAAI,CAAC,GAAG,GAAG,SAAS,CAAC,OAAO,CAAW,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,CAAgB,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,OAAO,CAAgB,eAAe,CAAC,CAAC;QACvE,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,OAAO,CAAgB,eAAe,CAAC,CAAC;QACvE,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,OAAO,CAAgB,eAAe,CAAC,CAAC;QAEvE,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;IAClC,CAAC;IAEM,WAAW;QAChB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAC5E,CAAC;IAEM,mBAAmB;QACxB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACnF,CAAC;IAEM,qBAAqB;QAC1B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;IAC1D,CAAC;IAEM,eAAe,CAAC,UAAkB;QACvC,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;QACnF,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,aAAa,CAAC,EAAU;QAC7B,MAAM,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACnE,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,sBAAsB,CAAC,UAAkB;QAC9C,MAAM,yBAAyB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,UAAU,KAAK,UAAU,CAAC,CAAC;QACjH,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,oBAAoB,CAAC,EAAU;QACpC,MAAM,yBAAyB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7D,MAAM,MAAM,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACjG,OAAO,MAAM,CAAC;IAChB,CAAC;IAEM,YAAY;QACjB,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC;IACtE,CAAC;IAEM,iBAAiB,CAAC,UAAkB;QACzC,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;YACtD,IAAI,KAAK,CAAC,UAAU,KAAK,UAAU;gBAAE,OAAO,KAAK,CAAC;QACpD,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,eAAe,CAAC,EAAU;QAC/B,OAAO,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,UAAkB,EAAE,KAAc;QAC5D,MAAM,QAAQ,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAE9B,MAAM,UAAU,GAAa;YAC3B,GAAG,EAAE,KAAK,IAAI,MAAM,EAAE;YACtB,UAAU;SACX,CAAC;QAEF,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QACzD,OAAO,UAAU,CAAC;IACpB,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,UAAkB,EAAE,OAA2B;QAC3E,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,UAAU,UAAU,YAAY,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,GAAG,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC;IAClF,CAAC;IAEM,aAAa,CAAC,OAAe;QAClC,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,KAAK,OAAO,CAAC,CAAC;IAClF,CAAC;IAEM,KAAK,CAAC,oBAAoB,CAAC,UAAkB;QAClD,MAAM,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,MAAM;YAAE,OAAO;QAEpB,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAC5C,MAAM,cAAc,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QAEpD,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC9C,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,EAAU;QACxC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,EAAE,CAAC;YAAE,OAAO;QAEtC,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAC5C,MAAM,cAAc,CAAC,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAE1C,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACtC,CAAC;IAEM,KAAK,CAAC,kBAAkB;QAC7B,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAE5C,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,cAAc,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,qBAAqB;QAChC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAC1D,MAAM,aAAa,GAAa,EAAE,CAAC;QAEnC,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC;YACtD,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,EAAE,CAAC;gBAClF,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;YACvC,CAAC;QACH,CAAC;QAED,MAAM,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClF,CAAC;IAEM,KAAK,CAAC,qBAAqB;QAChC,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACnC,MAAM,eAAe,GAAa,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAEjH,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE,CAAC;YACzC,MAAM,cAAc,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,UAAkB,EAAE,MAA0C,EAAE,OAAgB,EAAE,QAAiB;QACrH,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,UAAU,CAAC,CAAC;QAC5E,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;QAE1C,MAAM,KAAK,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,UAAU,GAAG,MAAM,KAAK,WAAW,IAAI,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC7I,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAE/E,MAAM,cAAc,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC/D,IAAI,cAAc,EAAE,CAAC;YACnB,GAAG,CAAC,KAAK,CAAC,UAAU,MAAM,WAAW,UAAU,UAAU,cAAc,CAAC,MAAM,kBAAkB,CAAC,CAAC;YAClG,MAAM,IAAI,KAAK,CAAC,UAAU,MAAM,WAAW,UAAU,UAAU,cAAc,CAAC,MAAM,kBAAkB,CAAC,CAAC;QAC1G,CAAC;QAED,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,IAAI,QAAQ,EAAE,CAAC,CAAC;QAE9F,MAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACvD,MAAM,UAAU,GAAG,MAAM,EAAE,SAAS,EAAE,KAAK,IAAI,CAAC;QAChD,IAAI,YAAY,GAAG,KAAK,CAAC;QAEzB,IAAI,CAAC;YACH,wEAAwE;YACxE,yCAAyC;YACzC,IAAI,MAAM,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC;gBAClD,GAAG,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;gBACpC,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACxB,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,CAAC;YAED,QAAQ,MAAM,EAAE,CAAC;gBACf,KAAK,SAAS;oBACZ,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,IAAI,QAAQ,EAAE,SAAS,CAAC,CAAC;oBAC1E,YAAY,GAAG,IAAI,CAAC;oBACpB,MAAM;gBACR,KAAK,QAAQ;oBACX,YAAY,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,IAAI,QAAQ,EAAE,SAAS,CAAC,CAAC;oBACxF,MAAM;gBACR,KAAK,WAAW;oBACd,MAAM,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,UAAU,EAAE,SAAS,CAAC,CAAC;oBAEvD,IAAI,QAAQ,EAAE,CAAC;wBACb,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;wBAC5C,MAAM,cAAc,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;oBAClD,CAAC;oBACD,MAAM;YACV,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,IAAI,UAAU,IAAI,MAAM,KAAK,WAAW,IAAI,CAAC,MAAM,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;gBAC1E,MAAM,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;oBACpC,EAAE,kBAAkB,EAAE;qBACrB,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;gBAEnB,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;gBAC5B,MAAM,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;gBACtD,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,CAAC;YAED,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,YAAY,EAAE,CAAC;YACjB,GAAG,CAAC,OAAO,CAAC,GAAG,UAAU,IAAI,OAAO,IAAI,QAAQ,IAAI,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QACvG,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEM,iBAAiB;QACtB,MAAM,iBAAiB,GAAsB,EAAE,CAAC;QAChD,KAAK,MAAM,CAAC,EAAE,YAAY,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACvD,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,GAAkB,EAAE,UAAkB,EAAE,OAAe,EAAE,SAAiB,EAAE,MAAgB;QACtH,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,EAAE,GAAG,UAAU,SAAS,CAAC,CAAC;QAC7D,IAAI,QAAQ,GAAG,KAAK,CAAC;QAErB,IAAI,CAAC;YACH,IAAI,MAAM,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;gBAChC,GAAG,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;gBAC7C,IAAI,CAAC;oBACH,MAAM,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;gBACvC,CAAC;gBAAC,OAAO,KAAU,EAAE,CAAC;oBACpB,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBACrD,MAAM,KAAK,CAAC;oBACd,CAAC;oBACD,sEAAsE;oBACtE,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;oBAClB,MAAM,IAAI,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,UAAe,EAAE,EAAE;wBAC7D,UAAU,CAAC,OAAO,GAAG,GAAG,UAAU,CAAC,OAAO,iEAAiE,CAAC;wBAC5G,MAAM,UAAU,CAAC;oBACnB,CAAC,CAAC,CAAC;gBACL,CAAC;gBACD,QAAQ,GAAG,IAAI,CAAC;gBAChB,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,CAAC;YAED,GAAG,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YAC/C,MAAM,cAAc,CAAC,GAAG,UAAU,IAAI,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;YAC5D,GAAG,CAAC,IAAI,EAAE,CAAC;YAEX,wEAAwE;YACxE,mEAAmE;YACnE,uDAAuD;YACvD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;YAChF,IAAI,KAAK,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;gBACxD,MAAM,WAAW,GAAG,2BAA2B,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrE,GAAG,CAAC,IAAI,CAAC,2CAA2C,WAAW,kBAAkB,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,IAAI,uBAAuB,CAAC,CAAC;gBAC1I,GAAG,CAAC,IAAI,EAAE,CAAC;YACb,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;gBACrC,MAAM,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,IAAI,KAAK,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBAC7H,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC;oBAClD,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,GAAG,CAAC;iBAC5D,CAAC,CAAC;gBACH,GAAG,CAAC,KAAK,EAAE,CAAC;YACd,CAAC;YAED,MAAM,IAAI,CAAC,qBAAqB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;YAEjD,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,SAAS,CAAC,CAAC;YAC1D,CAAC;YAED,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACxB,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YAC5B,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,OAAO,UAAU,IAAI,OAAO,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAExG,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC;oBACH,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;oBACvC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;oBACxB,MAAM,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;oBACrC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACvB,CAAC;gBAAC,OAAO,YAAiB,EAAE,CAAC;oBAC3B,GAAG,CAAC,KAAK,CAAC,uCAAuC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;gBAC3E,CAAC;YACH,CAAC;YAED,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,YAAY,CAAC,GAAkB,EAAE,UAAkB,EAAE,OAAe,EAAE,SAAiB;QACnG,IAAI,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;YAE7B,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YACxD,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;YACpD,MAAM,cAAc,GAAG,WAAW,CAAC,OAAO,CAAC;YAE3C,IAAI,cAAc,KAAK,OAAO,EAAE,CAAC;gBAC/B,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACvB,GAAG,CAAC,OAAO,CAAC,GAAG,UAAU,IAAI,OAAO,wBAAwB,CAAC,CAAC;gBAC9D,OAAO,KAAK,CAAC;YACf,CAAC;YAED,GAAG,CAAC,IAAI,EAAE,CAAC;QACb,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,GAAG,CAAC,KAAK,CAAC,qCAAqC,UAAU,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YAC/E,MAAM,KAAK,CAAC;QACd,CAAC;QAED,yFAAyF;QACzF,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,UAAU,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,GAAkB,EAAE,aAAqB,EAAE,SAAiB;QACtF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QACtF,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,iBAAiB,CAAC,CAAC;QAE/H,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,OAAO;QACT,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;QAEvC,KAAK,MAAM,KAAK,IAAI,IAAI,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAChG,CAAC;QAED,GAAG,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,GAAkB,EAAE,UAAkB,EAAE,SAAiB;QACrF,IAAI,CAAC;YACH,GAAG,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;YAC5B,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC;YACxB,GAAG,CAAC,IAAI,EAAE,CAAC;YAEX,GAAG,CAAC,OAAO,CAAC,GAAG,UAAU,cAAc,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,GAAG,CAAC,KAAK,CAAC,qBAAqB,UAAU,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;YACtE,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,GAAkB,EAAE,UAAkB;QACxE,GAAG,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAExC,MAAM,UAAU,GAAG,MAAM,aAAa,CAAC,mBAAmB,CAAC,UAAU,CAAC,CAAC;QACvE,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjB,OAAO;QACT,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAElB,GAAG,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;QACtC,MAAM,aAAa,CAAC,qBAAqB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAClE,GAAG,CAAC,IAAI,EAAE,CAAC;IACb,CAAC;IAEO,YAAY,CAAC,UAAkB;QACrC,OAAO,IAAI,aAAa,CACtB,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,UAAU,UAAU,EAAE,EAAE,OAAO,CAAC,EACtE,GAAG,EAAE,CAAC,eAAe,CAAC,UAAU,CAAC,CAClC,CAAC;IACJ,CAAC;CACF,CAAA;AArXY,cAAc;IAN1B,QAAQ,CAAC;QACR;YACE,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC;SAChC;KACF,CAAC;;GACW,cAAc,CAqX1B"}
1
+ {"version":3,"file":"plugins.service.js","sourceRoot":"","sources":["../../../../../src/api/services/plugins.service.ts"],"names":[],"mappings":"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"}
@@ -166,6 +166,7 @@ export interface PluginsProgress {
166
166
  pluginName: string;
167
167
  action: 'install' | 'update' | 'uninstall';
168
168
  version: string;
169
+ status: 'queued' | 'running';
169
170
  }
170
171
  export interface PluginsResponse {
171
172
  pagination: Pagination;
@@ -532,9 +533,14 @@ export interface InterfaceSettinges {
532
533
  selectedSettingsView: SettingsViews;
533
534
  navbarStayCollapsed: boolean;
534
535
  landingPage: string;
536
+ tableRows: number;
535
537
  }
536
538
  export interface SensorsSettings {
537
539
  hideCameraBound: boolean;
540
+ view: 'cards' | 'table';
541
+ }
542
+ export interface PluginsViewSettings {
543
+ view: 'cards' | 'table';
538
544
  }
539
545
  export interface UiSettingsLocalStorage {
540
546
  cameras: CamerasSettings;
@@ -543,6 +549,7 @@ export interface UiSettingsLocalStorage {
543
549
  console: ConsoleSettings;
544
550
  interface: InterfaceSettinges;
545
551
  sensors: SensorsSettings;
552
+ plugins: PluginsViewSettings;
546
553
  }
547
554
  export interface ThemeLocalStorage {
548
555
  theme: SupportedThemes;
@@ -5,6 +5,7 @@ export declare class PluginsNamespace {
5
5
  nsp: Namespace;
6
6
  nspName: SocketNsp;
7
7
  private pluginManager;
8
+ private pluginsService;
8
9
  constructor(io: Server);
9
10
  pluginStatus(pluginName: string, callback?: Function): Promise<void | {
10
11
  pluginName: string;
@@ -1,13 +1,17 @@
1
1
  import { container } from 'tsyringe';
2
+ import { PluginsService } from '../../services/plugins.service.js';
2
3
  export class PluginsNamespace {
3
4
  nsp;
4
5
  nspName = '/plugins';
5
6
  pluginManager;
7
+ pluginsService = new PluginsService();
6
8
  constructor(io) {
7
9
  this.pluginManager = container.resolve('pluginManager');
8
10
  this.nsp = io.of(this.nspName);
9
11
  this.nsp.on('connection', (socket) => {
10
12
  socket.on('get-plugin-status', this.pluginStatus.bind(this));
13
+ socket.on('get-manage-queue', (callback) => callback?.(this.pluginsService.installingPlugins()));
14
+ socket.emit('manage-queue', this.pluginsService.installingPlugins());
11
15
  });
12
16
  }
13
17
  async pluginStatus(pluginName, callback) {
@@ -1 +1 @@
1
- {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../../../../src/api/websocket/nsp/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAOrC,MAAM,OAAO,gBAAgB;IACpB,GAAG,CAAY;IACf,OAAO,GAAc,UAAU,CAAC;IAE/B,aAAa,CAAgB;IAErC,YAAY,EAAU;QACpB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,OAAO,CAAgB,eAAe,CAAC,CAAC;QAEvE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE;YAC3C,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,QAAmB;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE1D,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YACpC,MAAM,IAAI,GAAG;gBACX,UAAU;gBACV,MAAM;aACP,CAAC;YAEF,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../../../../../src/api/websocket/nsp/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AAOnE,MAAM,OAAO,gBAAgB;IACpB,GAAG,CAAY;IACf,OAAO,GAAc,UAAU,CAAC;IAE/B,aAAa,CAAgB;IAC7B,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAE9C,YAAY,EAAU;QACpB,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,OAAO,CAAgB,eAAe,CAAC,CAAC;QAEvE,IAAI,CAAC,GAAG,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE;YAC3C,MAAM,CAAC,EAAE,CAAC,mBAAmB,EAAE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAC7D,MAAM,CAAC,EAAE,CAAC,kBAAkB,EAAE,CAAC,QAAkC,EAAE,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC;YAC3H,MAAM,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,cAAc,CAAC,iBAAiB,EAAE,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,YAAY,CAAC,UAAkB,EAAE,QAAmB;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAE1D,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YACpC,MAAM,IAAI,GAAG;gBACX,UAAU;gBACV,MAAM;aACP,CAAC;YAEF,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;CACF"}
@@ -44,6 +44,11 @@ export declare class DetectionCoordinator {
44
44
  private dwellUnsubscribe?;
45
45
  private readonly activeSensorTriggerTypes;
46
46
  private readonly secondaryBboxSeen;
47
+ private readonly feedingSensors;
48
+ private lastObjectCallAt;
49
+ private objectIntervalMs;
50
+ private objectIntervalSamples;
51
+ private objectIntervalOutliers;
47
52
  private currentDetectionState;
48
53
  constructor(config: DetectionCoordinatorConfig, proxy: RPCClient, logger: Logger);
49
54
  get running(): boolean;
@@ -93,6 +98,7 @@ export declare class DetectionCoordinator {
93
98
  private ingestResultsForAllSecondaries;
94
99
  private snapshotWillStartEvent;
95
100
  private scaleForMotion;
101
+ private trackDetectionCadence;
96
102
  private scaleForObject;
97
103
  private scaleFrameForPlugin;
98
104
  private ingestAssistedObjects;
@@ -30,6 +30,9 @@ import { DETECT_TIMEOUT_MS, ensureDetectionBoxes, MOTION_WIDTH_MAP } from './typ
30
30
  const DEFAULT_CASCADE_TIMEOUT = 10;
31
31
  const OBJECT_DWELL_SECONDS = 2;
32
32
  const SECONDARY_BBOX_TTL_MS = 2000;
33
+ const CADENCE_MIN_SAMPLES = 5;
34
+ const CADENCE_OUTLIER_BAND = 2.5;
35
+ const CADENCE_OUTLIER_RESEED = 5;
33
36
  let DetectionCoordinator = class DetectionCoordinator {
34
37
  config;
35
38
  proxy;
@@ -56,6 +59,11 @@ let DetectionCoordinator = class DetectionCoordinator {
56
59
  dwellUnsubscribe;
57
60
  activeSensorTriggerTypes = new Map();
58
61
  secondaryBboxSeen = new Map();
62
+ feedingSensors = new Set();
63
+ lastObjectCallAt = 0;
64
+ objectIntervalMs = 0;
65
+ objectIntervalSamples = 0;
66
+ objectIntervalOutliers = 0;
59
67
  currentDetectionState = {};
60
68
  constructor(config, proxy, logger) {
61
69
  this.config = config;
@@ -192,6 +200,9 @@ let DetectionCoordinator = class DetectionCoordinator {
192
200
  this.currentDetectionState = {};
193
201
  }
194
202
  async onSensorAdded(sensor) {
203
+ if (DETECTION_SENSOR_TYPES.has(sensor.sensorType)) {
204
+ this.feedingSensors.add(sensor.sensorId);
205
+ }
195
206
  if (DETECTION_SENSOR_TYPES.has(sensor.sensorType) && sensor.requiresFrames) {
196
207
  await this.registerDetectionPluginInternal(sensor);
197
208
  }
@@ -204,6 +215,9 @@ let DetectionCoordinator = class DetectionCoordinator {
204
215
  }
205
216
  }
206
217
  async onSensorRemoved(sensorId) {
218
+ if (this.feedingSensors.delete(sensorId)) {
219
+ this.writeSensorProperties(sensorId, { detected: false, detections: [] });
220
+ }
207
221
  await this.removeDetectionPluginBySensor(sensorId);
208
222
  this.ptzAutotracker.unbind(sensorId);
209
223
  const dwellKey = `trigger:${sensorId}`;
@@ -215,6 +229,9 @@ let DetectionCoordinator = class DetectionCoordinator {
215
229
  this.ptzAutotracker.setCapabilities(sensorId, capabilities);
216
230
  }
217
231
  async reportSensorWrite(sensorId, sensorType, properties) {
232
+ // the registry only announces the plugin assigned for this type, everyone else reports into the void
233
+ if (!this.feedingSensors.has(sensorId))
234
+ return;
218
235
  if (sensorType === SensorType.Object) {
219
236
  const filtered = this.applyExternalDetectionFilters(sensorType, properties);
220
237
  // presence feed keeps the autotracker's return-home timer alive even while
@@ -442,7 +459,7 @@ let DetectionCoordinator = class DetectionCoordinator {
442
459
  audio: cs.audio ? { detected: cs.audio.detected ?? false, detections: cs.audio.detections ?? [] } : undefined,
443
460
  cascadeTriggered: cs.cascadeTriggered,
444
461
  sensorTriggers: [...new Set(this.activeSensorTriggerTypes.values())],
445
- objects: cs.object?.detected ? cs.object.detections : [],
462
+ objects: cs.object?.detected ? this.stationary.excludeSealed(cs.object.detections) : [],
446
463
  faces: cs.face?.detections ?? [],
447
464
  faceEmbeddingModel: cs.faceEmbeddingModel,
448
465
  plates: cs.licensePlate?.detections ?? [],
@@ -542,6 +559,12 @@ let DetectionCoordinator = class DetectionCoordinator {
542
559
  const detections = properties.detections ?? [];
543
560
  if (this.stationary.evaluate(detections)) {
544
561
  this.dwell.refresh(sensorId, OBJECT_DWELL_SECONDS);
562
+ // a confirmed object re-arms the cascade like motion does: a time-based
563
+ // motion sensor (ONVIF cool-down) must not blind detection and split
564
+ // the event while someone is still mid-frame
565
+ if (this.cascadeEnabled) {
566
+ this.cascade.triggerMomentary(this.cascadeTimeoutSeconds);
567
+ }
545
568
  }
546
569
  else {
547
570
  // clear detected + buffer so no segment opens, the UI still gets
@@ -881,13 +904,15 @@ let DetectionCoordinator = class DetectionCoordinator {
881
904
  return;
882
905
  if (objectFrame) {
883
906
  try {
884
- const result = await PromiseTimeout(objectPlugin.proxy.detectObjects(objectFrame), DETECT_TIMEOUT_MS, undefined, `Object detection timed out after ${DETECT_TIMEOUT_MS}ms`);
907
+ const result = await PromiseTimeout(objectPlugin.proxy.detectObjects(objectFrame.model), DETECT_TIMEOUT_MS, undefined, `Object detection timed out after ${DETECT_TIMEOUT_MS}ms`);
885
908
  if (!this.loopRunning)
886
909
  return;
910
+ this.trackDetectionCadence();
887
911
  // run the pipeline even on empty frames so Norfair advances its
888
912
  // Kalman state; the pose delta keeps predictions stable across pans
889
913
  const poseDelta = this.ptzAutotracker.consumePoseDelta();
890
- const pipelineResult = this.pipeline.process(ensureDetectionBoxes(result.detections), objectFrame, poseDelta);
914
+ const detected = FrameScaler.undoLetterbox(ensureDetectionBoxes(result.detections), objectFrame.geometry);
915
+ const pipelineResult = this.pipeline.process(detected, objectFrame.tracking, poseDelta);
891
916
  // track id churn is invisible in the event log without this
892
917
  if (pipelineResult.created.length > 0 || pipelineResult.removed.length > 0) {
893
918
  const born = pipelineResult.created.map((id) => {
@@ -1065,6 +1090,34 @@ let DetectionCoordinator = class DetectionCoordinator {
1065
1090
  const scaled = await this.frameScaler.scaleProportional(rawFrame, maxWidth, 'gray');
1066
1091
  return scaled ? this.frameScaler.toVideoFrameData(scaled) : undefined;
1067
1092
  }
1093
+ trackDetectionCadence() {
1094
+ const now = Date.now();
1095
+ const previous = this.lastObjectCallAt;
1096
+ this.lastObjectCallAt = now;
1097
+ const delta = now - previous;
1098
+ if (previous === 0 || delta > 5000)
1099
+ return;
1100
+ if (this.objectIntervalMs === 0) {
1101
+ this.objectIntervalMs = delta;
1102
+ this.objectIntervalSamples = 1;
1103
+ return;
1104
+ }
1105
+ if (delta > this.objectIntervalMs * CADENCE_OUTLIER_BAND || delta < this.objectIntervalMs / CADENCE_OUTLIER_BAND) {
1106
+ this.objectIntervalOutliers++;
1107
+ if (this.objectIntervalOutliers >= CADENCE_OUTLIER_RESEED) {
1108
+ this.objectIntervalMs = delta;
1109
+ this.objectIntervalSamples = 1;
1110
+ this.objectIntervalOutliers = 0;
1111
+ }
1112
+ return;
1113
+ }
1114
+ this.objectIntervalOutliers = 0;
1115
+ this.objectIntervalMs = this.objectIntervalMs * 0.8 + delta * 0.2;
1116
+ this.objectIntervalSamples++;
1117
+ if (this.objectIntervalSamples < CADENCE_MIN_SAMPLES)
1118
+ return;
1119
+ this.pipeline.syncDetectionCadence(this.objectIntervalMs);
1120
+ }
1068
1121
  async scaleForObject(rawFrame) {
1069
1122
  const objectPlugin = this.plugins.get(SensorType.Object);
1070
1123
  if (!objectPlugin?.requiresFrames)
@@ -1075,8 +1128,14 @@ let DetectionCoordinator = class DetectionCoordinator {
1075
1128
  const inputSpec = plugin.modelSpec?.input;
1076
1129
  if (!isVideoInputSpec(inputSpec))
1077
1130
  return undefined;
1078
- const scaled = await this.frameScaler.scaleToSpec(rawFrame, inputSpec);
1079
- return scaled ? this.frameScaler.toVideoFrameData(scaled) : undefined;
1131
+ const letterboxed = await this.frameScaler.letterboxToSpec(rawFrame, inputSpec);
1132
+ if (!letterboxed)
1133
+ return undefined;
1134
+ return {
1135
+ model: this.frameScaler.toVideoFrameData(letterboxed.padded, 'model'),
1136
+ tracking: this.frameScaler.toVideoFrameData(letterboxed.inner, 'tracking'),
1137
+ geometry: letterboxed.geometry,
1138
+ };
1080
1139
  }
1081
1140
  ingestAssistedObjects(sensorId, objects) {
1082
1141
  if (!objects.assisted)
@@ -1096,9 +1155,10 @@ let DetectionCoordinator = class DetectionCoordinator {
1096
1155
  if (!scaled)
1097
1156
  return { detections: reported, assisted: false };
1098
1157
  try {
1099
- const result = await PromiseTimeout(assist.proxy.detectObjects(scaled), DETECT_TIMEOUT_MS, undefined, `Object assist timed out after ${DETECT_TIMEOUT_MS}ms`);
1158
+ const result = await PromiseTimeout(assist.proxy.detectObjects(scaled.model), DETECT_TIMEOUT_MS, undefined, `Object assist timed out after ${DETECT_TIMEOUT_MS}ms`);
1100
1159
  const reportedLabels = new Set(reported.map((d) => d.label.toLowerCase()));
1101
- const found = ensureDetectionBoxes(result?.detections ?? []).filter((d) => reportedLabels.size === 0 || reportedLabels.has(d.label.toLowerCase()));
1160
+ const boxed = FrameScaler.undoLetterbox(ensureDetectionBoxes(result?.detections ?? []), scaled.geometry);
1161
+ const found = boxed.filter((d) => reportedLabels.size === 0 || reportedLabels.has(d.label.toLowerCase()));
1102
1162
  if (found.length === 0)
1103
1163
  return { detections: reported, assisted: false };
1104
1164
  return { detections: found, assisted: true };