@camera.ui/server 2.1.15 → 2.1.16

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. package/dist/interface/assets/{404-DwgMdXqW.js → 404-CqZDSHs_.js} +1 -1
  2. package/dist/interface/assets/{About-REFUgZk_.js → About-Dk4SUTxo.js} +1 -1
  3. package/dist/interface/assets/Automation-CDvt2MXN.js +3 -0
  4. package/dist/interface/assets/AutomationImport-DDywNuRK.js +2 -0
  5. package/dist/interface/assets/AutomationStore-o0JYwGRr.js +2 -0
  6. package/dist/interface/assets/AutomationStoreDetail-DeAGahaF.js +2 -0
  7. package/dist/interface/assets/Automations-2K-7hZfK.js +2 -0
  8. package/dist/interface/assets/Camera-B72IU-UF.js +2 -0
  9. package/dist/interface/assets/Camera-Cm9I0H6c.css +1 -0
  10. package/dist/interface/assets/{CameraConsole-S61HjIGA.js → CameraConsole-32WtMX1a.js} +1 -1
  11. package/dist/interface/assets/{Cameras-57rPP3Y_.js → Cameras-zffI0fD9.js} +2 -2
  12. package/dist/interface/assets/Camview-CZct5cnP.css +1 -0
  13. package/dist/interface/assets/Camview-KzzN0Q1w.js +1 -0
  14. package/dist/interface/assets/{CertificateUpload-CBSLHn_I.js → CertificateUpload-Dg0V9Hei.js} +1 -1
  15. package/dist/interface/assets/Config-CKrqFe-g.js +2 -0
  16. package/dist/interface/assets/{ConfigActionCameraControl-B7KwK7vb.js → ConfigActionCameraControl-sbvBJQr3.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionDelay-DwTGfeP4.js → ConfigActionDelay-CiPxydTn.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionHttp-idm-FKXM.js → ConfigActionHttp-UqiZm0kq.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionImageInput-C-v-_UEM.js → ConfigActionImageInput-DkGVZ-ti.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionMqtt-CG1o9_6A.js → ConfigActionMqtt-DQu5H4bY.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionNotification-DtoP3c7I.js → ConfigActionNotification-C2uXIMpm.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionNotificationControl-BvHIqHE7.js → ConfigActionNotificationControl-B_EpM5m9.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionOutput-BQvDZGKV.js → ConfigActionOutput-DeOsk0T1.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionPlugin-C7mcZ0Kz.js → ConfigActionPlugin-CSZHcNQ6.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSensor-BFnb75FI.js → ConfigActionSensor-Dx7DcDVr.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionSnapshot-BfzPScY6.js → ConfigActionSnapshot-Baj-r4Cd.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionVariable-CjIeZnOV.js → ConfigActionVariable-Ccu___aS.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionIfElse-Dgcqs9QP.js → ConfigConditionIfElse-0hU7UW8q.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSensorState-DtLt1AvW.js → ConfigConditionSensorState-BX19KYLJ.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionSwitch-C6BfIozf.js → ConfigConditionSwitch-D-XUhwcE.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionTime-NcjSe4RM.js → ConfigConditionTime-B6OO8cmh.js} +1 -1
  32. package/dist/interface/assets/{ConfigSensorValueInput-DuvBl4YL.js → ConfigSensorValueInput-DZHYQez8.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerDetection-DsVb-Svo.js → ConfigTriggerDetection-BNyR5aOG.js} +1 -1
  34. package/dist/interface/assets/ConfigTriggerGeofence-Cuq1SnOZ.js +1 -0
  35. package/dist/interface/assets/{ConfigTriggerManual-vG37zALd.js → ConfigTriggerManual-DFSTAuUt.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerMqtt-BPl_Puje.js → ConfigTriggerMqtt-D_O8RyrQ.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSchedule-Bn2drGV5.js → ConfigTriggerSchedule-BFZnBfCM.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSensor-DP0CXRLo.js → ConfigTriggerSensor-D1Tst2wQ.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSystem-DQikAjbB.js → ConfigTriggerSystem-BNfatCp8.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerWebhook-Cl7KWuRQ.js → ConfigTriggerWebhook--nEO_Odl.js} +1 -1
  41. package/dist/interface/assets/{Console-hUeddOJc.js → Console-DkylrXI4.js} +1 -1
  42. package/dist/interface/assets/{CuiAutomationRunsDialog-D_rNvqan.js → CuiAutomationRunsDialog-CkMRT1C8.js} +1 -1
  43. package/dist/interface/assets/CuiBottomSheet-DILQuWKb.js +1 -0
  44. package/dist/interface/assets/CuiBottomSheet-_KXSb13N.css +1 -0
  45. package/dist/interface/assets/CuiBottomSheet-mKu68LHd.js +1 -0
  46. package/dist/interface/assets/CuiCameraPipCard-Djp8qBvZ.js +1 -0
  47. package/dist/interface/assets/CuiCameraRecordings-Bi0I7jeO.js +1 -0
  48. package/dist/interface/assets/CuiCameraShares-B73pWIFh.js +1 -0
  49. package/dist/interface/assets/CuiCameraTable-CUdAnRJP.js +1 -0
  50. package/dist/interface/assets/{CuiCameraTable-CfXoLbtY.js → CuiCameraTable-DripFD6D.js} +1 -1
  51. package/dist/interface/assets/{CuiChartTable-BWRwoTLX.js → CuiChartTable-DyyQV7mt.js} +1 -1
  52. package/dist/interface/assets/{CuiConsole-Cb3wDLZr.js → CuiConsole-UxJwQqNG.js} +2 -2
  53. package/dist/interface/assets/{CuiDataTable-aAZV_F3r.js → CuiDataTable-DZm0I8k7.js} +1 -1
  54. package/dist/interface/assets/CuiLightControl-CB3l0ZLj.js +1 -0
  55. package/dist/interface/assets/{CuiList-BZYxCLqz.js → CuiList-DMQgYqaU.js} +1 -1
  56. package/dist/interface/assets/CuiPluginCard-HpQMNND1.js +2 -0
  57. package/dist/interface/assets/{CuiPluginCategoryChip-C9trJ_ql.js → CuiPluginCategoryChip-C6aEP-ug.js} +1 -1
  58. package/dist/interface/assets/CuiPluginOAuthButton-DpGacvsa.js +2 -0
  59. package/dist/interface/assets/{CuiPluginTrustBadge-D5gkIhJv.js → CuiPluginTrustBadge-Dl1PEsm6.js} +1 -1
  60. package/dist/interface/assets/CuiQRCode-D04Onyhk.js +1 -0
  61. package/dist/interface/assets/CuiRecordingsGrid-BhATIjIf.css +1 -0
  62. package/dist/interface/assets/CuiRecordingsGrid-BzyJWpFt.js +1 -0
  63. package/dist/interface/assets/CuiSchema-thjfmEWw.js +1 -0
  64. package/dist/interface/assets/{CuiTopNavbarItem-CJqOqVMt.css → CuiTopNavbarItem-7673AFGS.css} +1 -1
  65. package/dist/interface/assets/CuiTopNavbarItem-qPj6XwXr.js +1 -0
  66. package/dist/interface/assets/Faces-DRWIPDfH.js +1 -0
  67. package/dist/interface/assets/FirstSteps-C6GVpZVr.js +1 -0
  68. package/dist/interface/assets/{Floorplan-Bxhdg4C2.css → Floorplan-B1lItPnM.css} +1 -1
  69. package/dist/interface/assets/Floorplan-Q-UYDnrE.js +1 -0
  70. package/dist/interface/assets/Instances-VC4-anOF.js +1 -0
  71. package/dist/interface/assets/{Logs-CfYTWOv2.js → Logs-DROgZxLH.js} +2 -2
  72. package/dist/interface/assets/{Menu-HzmLhy40.js → Menu-CmTk2or7.js} +1 -1
  73. package/dist/interface/assets/Metrics-CYZF-em9.js +9 -0
  74. package/dist/interface/assets/{OAuthDeviceFlow-DBac627V.js → OAuthDeviceFlow-BrdiDoCh.js} +1 -1
  75. package/dist/interface/assets/Plugin-DuPHiiYJ.js +1 -0
  76. package/dist/interface/assets/{PluginConsole-C5dZgdl9.js → PluginConsole-CxiW1w6K.js} +1 -1
  77. package/dist/interface/assets/PluginDetail-DWP7_hNa.js +2 -0
  78. package/dist/interface/assets/{PluginSchema-DJ8NY8hW.js → PluginSchema-BgVZ_4if.js} +1 -1
  79. package/dist/interface/assets/PluginSearch-1djFQUjL.js +1 -0
  80. package/dist/interface/assets/PluginSearch-Ba-hQHxm.js +2 -0
  81. package/dist/interface/assets/{PluginUpdateProgress-DgqaTwSS.js → PluginUpdateProgress-DEcle8-x.js} +1 -1
  82. package/dist/interface/assets/Plugins-BZ3U4pcG.js +1 -0
  83. package/dist/interface/assets/Recordings-CI5MIFR-.js +1 -0
  84. package/dist/interface/assets/Recordings-CfSTX_Mw.css +1 -0
  85. package/dist/interface/assets/{SensorEdit-DF4sw0EW.js → SensorEdit-B6s-VZ3F.js} +1 -1
  86. package/dist/interface/assets/{SensorHistory-bCcPH0_I.js → SensorHistory-H03yZia0.js} +1 -1
  87. package/dist/interface/assets/Sensors-DDPUwbb-.js +2 -0
  88. package/dist/interface/assets/{Sensors-CaKl4PQY.css → Sensors-DzGV2Ngo.css} +1 -1
  89. package/dist/interface/assets/Settings-9nC18KH8.js +1 -0
  90. package/dist/interface/assets/{Settings-jQIhZFRY.css → Settings-D7495zbV.css} +1 -1
  91. package/dist/interface/assets/SettingsAccount-BTYvhCJP.js +1 -0
  92. package/dist/interface/assets/SettingsAccount-CKi0z3Bm.js +1 -0
  93. package/dist/interface/assets/SettingsAppearance-CDbQnSvl.js +1 -0
  94. package/dist/interface/assets/{SettingsAppearance-B59zzxu4.js → SettingsAppearance-D9Y28zzz.js} +1 -1
  95. package/dist/interface/assets/SettingsBackup-Bu48xw4v.js +1 -0
  96. package/dist/interface/assets/{SettingsList-Nc7OCZrn.js → SettingsList-74c5OMQf.js} +1 -1
  97. package/dist/interface/assets/SettingsMqtt-81rJ4zV6.js +1 -0
  98. package/dist/interface/assets/{SettingsNotifications-BH63oRsc.js → SettingsNotifications-xHV5KiZg.js} +1 -1
  99. package/dist/interface/assets/{SettingsPermissions-BZXAgxUl.js → SettingsPermissions-DqyVtVKE.js} +1 -1
  100. package/dist/interface/assets/{SettingsRecordings-Biyy3rTF.js → SettingsRecordings-Bxn28Frz.js} +1 -1
  101. package/dist/interface/assets/SettingsRemote-7h2dKJlF.js +2 -0
  102. package/dist/interface/assets/SettingsSystem-D-MLhCdN.js +2 -0
  103. package/dist/interface/assets/SettingsUsers-DUOJN7uO.js +1 -0
  104. package/dist/interface/assets/{Terminal-AsI0lb5n.js → Terminal-45QW5yPE.js} +2 -2
  105. package/dist/interface/assets/Training-B5SzDUAC.css +1 -0
  106. package/dist/interface/assets/Training-DWrQVSS0.js +1 -0
  107. package/dist/interface/assets/Updates-B32Pra5E.js +2 -0
  108. package/dist/interface/assets/{VariableInput-__I-FsBF.js → VariableInput-CyTGQFtz.js} +1 -1
  109. package/dist/interface/assets/{VariableSuggestions-B-7auf15.js → VariableSuggestions-BLlD4F87.js} +1 -1
  110. package/dist/interface/assets/{VersionsHandler-BTe1Ev3b.js → VersionsHandler-CIq6v6lE.js} +1 -1
  111. package/dist/interface/assets/{VirtualSensorCreate-DdLgJECI.js → VirtualSensorCreate-Di2IyYAg.js} +1 -1
  112. package/dist/interface/assets/Workers-tb039NGc.js +2 -0
  113. package/dist/interface/assets/{api-84bL4zpk.js → api-4JRK8ya0.js} +1 -1
  114. package/dist/interface/assets/api-CFf063x3.js +4 -0
  115. package/dist/interface/assets/api-eoOLTOnS.css +2 -0
  116. package/dist/interface/assets/{auth-F2wU_mtw.js → auth-ISkWvJbZ.js} +1 -1
  117. package/dist/interface/assets/{automations-D6fqhxhY.js → automations-CeH81DN-.js} +1 -1
  118. package/dist/interface/assets/{cameraSources-C3PFkewy.js → cameraSources-CgAEmb37.js} +1 -1
  119. package/dist/interface/assets/cloudHandoff-B_kCnm4R.js +1 -0
  120. package/dist/interface/assets/{config-Jzs6YXbB.js → config-DthCyQJv.js} +1 -1
  121. package/dist/interface/assets/{flowSchema-C1fWwuQa.js → flowSchema-DZ2bDhJt.js} +1 -1
  122. package/dist/interface/assets/{intercomService-fFto_C1t.js → intercomService-Bd71KwsB.js} +1 -1
  123. package/dist/interface/assets/main--lW4P3A4.js +3 -0
  124. package/dist/interface/assets/main-ExPfCNlz.css +1 -0
  125. package/dist/interface/assets/mqtt-oPORDio9.js +1 -0
  126. package/dist/interface/assets/{notifications-CIJEGR7A.js → notifications-BirFkpbF.js} +1 -1
  127. package/dist/interface/assets/{plugins-HYHSAzD-.js → plugins-vyA7MMhx.js} +1 -1
  128. package/dist/interface/assets/rooms-MfPQPywT.js +1 -0
  129. package/dist/interface/assets/{sensorIcons-ByPd6LR6.js → sensorIcons-B4H11BbT.js} +1 -1
  130. package/dist/interface/assets/{sensors-BgjfSfk6.js → sensors-xryx8Wvn.js} +1 -1
  131. package/dist/interface/assets/{server-CIDx_I6S.js → server-BK9gwxH8.js} +1 -1
  132. package/dist/interface/assets/{theme-GSy1mQOB.js → theme-DQeAzJ1v.js} +1 -1
  133. package/dist/interface/assets/{types-Do9v0d7I.js → types-Bcj_K26s.js} +1 -1
  134. package/dist/interface/assets/types-D626ASim.js +1 -0
  135. package/dist/interface/assets/{types-Dlk_iSoE.js → types-kN1Tn2Og.js} +1 -1
  136. package/dist/interface/assets/ungrouped-C6pQb0X4.css +1 -0
  137. package/dist/interface/assets/ungrouped-C_gJm6d7.js +1 -0
  138. package/dist/interface/assets/{updates-73Yq11IN.js → updates-Dzqxen12.js} +1 -1
  139. package/dist/interface/assets/{useAppVersion-B0_bYa9V.js → useAppVersion-JY7cdzlr.js} +1 -1
  140. package/dist/interface/assets/useBackupRestore-CeShFVWy.js +1 -0
  141. package/dist/interface/assets/{useCameraOptions-DKeZhfOM.js → useCameraOptions-BeUNT5Rz.js} +1 -1
  142. package/dist/interface/assets/{useLogsSocket-CmyTTUGN.js → useLogsSocket-DDSuX00j.js} +1 -1
  143. package/dist/interface/assets/{useNavLayout-DOFS3269.js → useNavLayout-DgAgRNq2.js} +1 -1
  144. package/dist/interface/assets/{usePermissions-D5I3gACT.js → usePermissions-DFzwIs8L.js} +1 -1
  145. package/dist/interface/assets/{usePluginUpdates-BWxJ04h7.js → usePluginUpdates-Bb-LOOyL.js} +1 -1
  146. package/dist/interface/assets/{usePushRegistration-DWreQ-Hn.js → usePushRegistration-iverdyzz.js} +1 -1
  147. package/dist/interface/assets/{useServerRestart-DDW-nw_t.js → useServerRestart-BchofDLe.js} +1 -1
  148. package/dist/interface/assets/{useStreamStatus-COIha2d8.js → useStreamStatus-BOJt1v1c.js} +1 -1
  149. package/dist/interface/assets/{useTabSwipe-aoMqro29.js → useTabSwipe-v0Yet-YZ.js} +1 -1
  150. package/dist/interface/assets/{useUpdateChannel-CM9MYCZy.js → useUpdateChannel-K9ADk5yx.js} +1 -1
  151. package/dist/interface/assets/{useUpdatesSocket-DY4i32ml.js → useUpdatesSocket-sj1-DmFM.js} +1 -1
  152. package/dist/interface/assets/{useUserOptions-DHfprGgA.js → useUserOptions-BnF_qBdZ.js} +1 -1
  153. package/dist/interface/assets/{vendor-cameraui-BRv7o4zz.js → vendor-cameraui-BPX4wReW.js} +1 -1
  154. package/dist/interface/assets/{vendor-core-BUse5adB.js → vendor-core-D0ANiY7g.js} +1 -1
  155. package/dist/interface/assets/{vendor-primevue-C85v-zl5.js → vendor-primevue-iEFYdXsu.js} +1 -1
  156. package/dist/interface/ha/{404-TwTUCqDv.js → 404-DlQnv9jN.js} +1 -1
  157. package/dist/interface/ha/{About-BeZkyUdW.js → About-BLQJmllv.js} +6 -6
  158. package/dist/interface/ha/{Automation-CL7j0Vgh.js → Automation-DLMPArOd.js} +184 -184
  159. package/dist/interface/ha/{AutomationImport-D7arOHP-.js → AutomationImport-Qzz3Ta4D.js} +6 -6
  160. package/dist/interface/ha/{AutomationStore-DN0yBk6X.js → AutomationStore-DNXC9s6h.js} +51 -51
  161. package/dist/interface/ha/{AutomationStoreDetail-DUuLEnvx.js → AutomationStoreDetail-CTqydRKj.js} +24 -24
  162. package/dist/interface/ha/{Automations-Dfbren5V.js → Automations-DRxe1fli.js} +102 -102
  163. package/dist/interface/ha/{Camera-BxWpvZM8.js → Camera-OrI4Wf4F.js} +180 -180
  164. package/dist/interface/ha/{CameraConsole-DT7BFGXD.js → CameraConsole-6yGhoHmu.js} +4 -4
  165. package/dist/interface/ha/{Cameras-ClmwBeNf.js → Cameras-DpEaKKDG.js} +253 -253
  166. package/dist/interface/ha/{Camview-CFAKNI6-.js → Camview-CnPz4cGs.js} +128 -128
  167. package/dist/interface/ha/{Config-D83QNz1P.js → Config-Bb2ERyAA.js} +11 -11
  168. package/dist/interface/ha/{ConfigActionCameraControl-D-2_gkM-.js → ConfigActionCameraControl-CC2tWFz2.js} +3 -3
  169. package/dist/interface/ha/{ConfigActionHttp-CDmzaJOb.js → ConfigActionHttp-DBsEL44i.js} +2 -2
  170. package/dist/interface/ha/{ConfigActionImageInput-7mA-jNIj.js → ConfigActionImageInput-Rt3AOJ3I.js} +1 -1
  171. package/dist/interface/ha/{ConfigActionMqtt-CGLqAswk.js → ConfigActionMqtt-BYSSc954.js} +4 -4
  172. package/dist/interface/ha/{ConfigActionNotification-DyhLsVfe.js → ConfigActionNotification-DKlIsZJd.js} +3 -3
  173. package/dist/interface/ha/{ConfigActionNotificationControl-C381uizv.js → ConfigActionNotificationControl-D5AVW2tR.js} +2 -2
  174. package/dist/interface/ha/{ConfigActionOutput-Cg6IMq5u.js → ConfigActionOutput-DIlu8Ujc.js} +1 -1
  175. package/dist/interface/ha/{ConfigActionPlugin-vFD_OHt8.js → ConfigActionPlugin-o1YNBh-g.js} +4 -4
  176. package/dist/interface/ha/{ConfigActionSensor-B0JYbb-_.js → ConfigActionSensor-BEvwg0tf.js} +5 -5
  177. package/dist/interface/ha/{ConfigActionSnapshot-DlYRwdII.js → ConfigActionSnapshot-Bnw0JNNj.js} +2 -2
  178. package/dist/interface/ha/{ConfigActionVariable-6HNVpSjs.js → ConfigActionVariable-oGPagsvF.js} +1 -1
  179. package/dist/interface/ha/{ConfigConditionIfElse-b5UhYSf4.js → ConfigConditionIfElse-7LCDNDvS.js} +3 -3
  180. package/dist/interface/ha/{ConfigConditionSensorState-CI1CS9qa.js → ConfigConditionSensorState-nO-s7wi6.js} +4 -4
  181. package/dist/interface/ha/{ConfigConditionSwitch-DGoKb_ZM.js → ConfigConditionSwitch-GrIKkY-P.js} +4 -4
  182. package/dist/interface/ha/{ConfigSensorValueInput-BGQytgns.js → ConfigSensorValueInput-Cthp3KXt.js} +7 -7
  183. package/dist/interface/ha/{ConfigTriggerDetection-l_h4kt0X.js → ConfigTriggerDetection-CJE9QFaK.js} +11 -11
  184. package/dist/interface/ha/{ConfigTriggerGeofence-Y2Od0L2_.js → ConfigTriggerGeofence-Cyeu7Cit.js} +5 -5
  185. package/dist/interface/ha/{ConfigTriggerMqtt-DttCVDHe.js → ConfigTriggerMqtt-D5EoOztE.js} +1 -1
  186. package/dist/interface/ha/{ConfigTriggerSensor-O4mWaXnJ.js → ConfigTriggerSensor-DYg_HRjO.js} +1 -1
  187. package/dist/interface/ha/{ConfigTriggerSystem-C_uWI6kc.js → ConfigTriggerSystem-DzpajiyS.js} +2 -2
  188. package/dist/interface/ha/{ConfigTriggerWebhook-CY5vDxZe.js → ConfigTriggerWebhook-IE4PVb4O.js} +2 -2
  189. package/dist/interface/ha/{Console-DdOU0_jE.js → Console-BYgny5Dy.js} +100 -100
  190. package/dist/interface/ha/{CuiAutomationRunsDialog-_WF5J4hV.js → CuiAutomationRunsDialog-CoYgpbW0.js} +2 -2
  191. package/dist/interface/ha/{CuiBottomSheet-Bzr2zhm3.js → CuiBottomSheet-C4cK3fYK.js} +3 -3
  192. package/dist/interface/ha/{CuiCameraRecordings-HqWrHpr-.js → CuiCameraRecordings-BAxchc71.js} +16 -15
  193. package/dist/interface/ha/{CuiCameraShares-Bw1RlqC-.js → CuiCameraShares-CfQr1iyX.js} +7 -7
  194. package/dist/interface/ha/{CuiCameraTable-DvIlmfmW.js → CuiCameraTable-B60mcEl_.js} +9 -9
  195. package/dist/interface/ha/{CuiChartTable-C6vRR9ny.js → CuiChartTable-CbUVz-Cj.js} +42 -42
  196. package/dist/interface/ha/{CuiConsole-B6fDJfvq.js → CuiConsole-DEjAQFwC.js} +19 -19
  197. package/dist/interface/ha/{CuiDataTable-BLL7vWD1.js → CuiDataTable-005ptLsa.js} +7 -7
  198. package/dist/interface/ha/{CuiPluginCard-CsJ-dlra.js → CuiPluginCard-BWwPLJ6m.js} +33 -33
  199. package/dist/interface/ha/CuiPluginOAuthButton-CgmDgRY9.js +79 -0
  200. package/dist/interface/ha/{CuiPluginTrustBadge-CQtfi3UI.js → CuiPluginTrustBadge-BWnP1whX.js} +3 -3
  201. package/dist/interface/ha/{CuiQRCode-DOj5PJo2.js → CuiQRCode-ONkk6Wqy.js} +6 -6
  202. package/dist/interface/ha/{ungrouped-aASsOUNF.js → CuiRecordingsGrid-D6HHyF1D.js} +81 -462
  203. package/dist/interface/ha/{CuiSchema-Dg43r2Vo.js → CuiSchema-C3uI1GwG.js} +138 -138
  204. package/dist/interface/ha/{CuiTopNavbarItem-CMu_hCIP.js → CuiTopNavbarItem-Bhws0XkE.js} +3 -3
  205. package/dist/interface/ha/{Faces-Ed0ytbse.js → Faces-DuxYlZGd.js} +79 -79
  206. package/dist/interface/ha/{FirstSteps-Dkw2Enre.js → FirstSteps-BAlqShSK.js} +64 -64
  207. package/dist/interface/ha/{Floorplan-IdC1tgDr.js → Floorplan-BVwSNFd6.js} +332 -332
  208. package/dist/interface/ha/{Instances-dvDlInn-.js → Instances-BM9sRNSP.js} +73 -73
  209. package/dist/interface/ha/{Logs-rUL_mLTJ.js → Logs-KISz4BU-.js} +11 -11
  210. package/dist/interface/ha/{Menu-CfMgYCN9.js → Menu-DYI6PeIn.js} +19 -19
  211. package/dist/interface/ha/{Metrics-DYNvEdb-.js → Metrics-BjpKFunA.js} +101 -101
  212. package/dist/interface/ha/{OAuthDeviceFlow-vgBWOkzP.js → OAuthDeviceFlow-DG-KUGZj.js} +4 -4
  213. package/dist/interface/ha/{Plugin-PqUW_696.js → Plugin-BjWyUUhe.js} +103 -103
  214. package/dist/interface/ha/{PluginConsole-CFJKNhQw.js → PluginConsole-BK3cotea.js} +6 -6
  215. package/dist/interface/ha/{PluginDetail-cC8nut35.js → PluginDetail-BDzDeShX.js} +13 -13
  216. package/dist/interface/ha/{PluginSearch-BzSs0ibh.js → PluginSearch-DsFUuPC-.js} +54 -54
  217. package/dist/interface/ha/{PluginUpdateProgress-CtM7lrl9.js → PluginUpdateProgress-BMrdkjRq.js} +3 -3
  218. package/dist/interface/ha/{Plugins-CzvlXEaH.js → Plugins-3WPnsHXw.js} +27 -27
  219. package/dist/interface/ha/{Recordings-BtsW8I5D.js → Recordings-0wDF4ArK.js} +153 -134
  220. package/dist/interface/ha/{SensorEdit-DMwyTDIG.js → SensorEdit-B0L2zIha.js} +359 -359
  221. package/dist/interface/ha/{SensorHistory-DoJhFbTC.js → SensorHistory-CQJEY1sW.js} +2 -2
  222. package/dist/interface/ha/{Sensors-BoRfutfx.js → Sensors-BYdBTCLo.js} +251 -251
  223. package/dist/interface/ha/{Settings-vmfs1rfj.js → Settings-BaqGiBCa.js} +24 -24
  224. package/dist/interface/ha/SettingsAccount-B0Sth0EF.js +970 -0
  225. package/dist/interface/ha/{SettingsAppearance-v9zeetcx.js → SettingsAppearance-B_oylmTa.js} +14 -14
  226. package/dist/interface/ha/{SettingsBackup-eO4r8MZe.js → SettingsBackup-BLmoV5AW.js} +8 -8
  227. package/dist/interface/ha/{SettingsList-burOi4S6.js → SettingsList-CMX7wMye.js} +5 -5
  228. package/dist/interface/ha/{SettingsMqtt-CjZERKR8.js → SettingsMqtt-C-sGwxOZ.js} +148 -148
  229. package/dist/interface/ha/SettingsNotifications-tc9FCCUF.js +529 -0
  230. package/dist/interface/ha/{SettingsRecordings-DzsXkzeu.js → SettingsRecordings-DDs16z2A.js} +6 -6
  231. package/dist/interface/ha/{SettingsRemote-B0HZwZj3.js → SettingsRemote-0c0umjFJ.js} +355 -355
  232. package/dist/interface/ha/{SettingsSystem-Bc_c8XYh.js → SettingsSystem-DfXxWXQk.js} +10 -10
  233. package/dist/interface/ha/{SettingsUsers-CxL65q1C.js → SettingsUsers-CmjC0zsF.js} +42 -42
  234. package/dist/interface/ha/{Terminal-DsX-_5R2.js → Terminal-nbUX6PPZ.js} +76 -76
  235. package/dist/interface/ha/Training-GMcD4Qg9.js +1440 -0
  236. package/dist/interface/ha/{Updates-DG9i-tQu.js → Updates-UaxBGn6D.js} +14 -14
  237. package/dist/interface/ha/{VariableInput-CcevSEwK.js → VariableInput-0bF2H1Bm.js} +1 -1
  238. package/dist/interface/ha/{VersionsHandler-5GeFt6Lw.js → VersionsHandler-CnXVnfBl.js} +10 -10
  239. package/dist/interface/ha/{VirtualSensorCreate-dWN8FANX.js → VirtualSensorCreate-BE60rAkJ.js} +7 -7
  240. package/dist/interface/ha/{Workers-D1y6eFKT.js → Workers-CaX3Z3w-.js} +104 -104
  241. package/dist/interface/ha/{api-DDUXI4DG.js → api-CmcbBFTx.js} +9738 -9383
  242. package/dist/interface/ha/{api-BgQ9AVgK.js → api-S-NnjUWl.js} +4 -4
  243. package/dist/interface/ha/{auth-C8Vp1TkJ.js → auth-CqYE7s1-.js} +24 -24
  244. package/dist/interface/ha/{automationBlueprint-DhRjWL2p.js → automationBlueprint-Dmp54JD1.js} +2 -2
  245. package/dist/interface/ha/cameraui-cards.js +1 -1
  246. package/dist/interface/ha/{cards-BGikU5nh.js → cards-MnCBmBIR.js} +121 -121
  247. package/dist/interface/ha/cloud-check-BFJzoUtz.js +33 -0
  248. package/dist/interface/ha/{config-WqhFqx8D.js → config-C94KN4WM.js} +15 -15
  249. package/dist/interface/ha/{mqtt-CQopAljB.js → mqtt-HDLqlOJt.js} +15 -15
  250. package/dist/interface/ha/{notifications-C4IU7Zbu.js → notifications-C2_2_NRh.js} +22 -22
  251. package/dist/interface/ha/{pinia-3D39Do4a.js → pinia-DLNUke3Q.js} +172 -149
  252. package/dist/interface/ha/{plugins-C2n0mAnr.js → plugins-l2i4DgqO.js} +68 -68
  253. package/dist/interface/ha/{rooms-qqdOrA2J.js → rooms-Bp1ZVAzT.js} +11 -11
  254. package/dist/interface/ha/{server-D6Yglz-z.js → server-BsduJDAB.js} +32 -32
  255. package/dist/interface/ha/{types-BtcJ7st-.js → types-iZUCCt1P.js} +30 -30
  256. package/dist/interface/ha/ungrouped-wz-KNJpA.js +426 -0
  257. package/dist/interface/ha/{updates-BuAFU-ZQ.js → updates-CDsPvhpo.js} +36 -36
  258. package/dist/interface/ha/{useAppVersion-D0EOwpoO.js → useAppVersion-BJtSGn4X.js} +1 -1
  259. package/dist/interface/ha/{useLogsSocket-CCewWMZM.js → useLogsSocket-Ck-ZQpQD.js} +1 -1
  260. package/dist/interface/ha/{useNavLayout-B_QzdVtJ.js → useNavLayout-Bn6HYs-i.js} +19 -19
  261. package/dist/interface/ha/{useServerRestart-B0OMNlwZ.js → useServerRestart-fff_KK9Y.js} +1 -1
  262. package/dist/interface/ha/{useTabSwipe-DG6Gx2Md.js → useTabSwipe-B1CQZuyT.js} +1 -1
  263. package/dist/interface/ha/{useUpdateChannel-CXDGlWX2.js → useUpdateChannel-DUBmGEDe.js} +2 -2
  264. package/dist/interface/ha/{useUpdatesSocket-BgCJLp_W.js → useUpdatesSocket-DoLb2kcJ.js} +1 -1
  265. package/dist/interface/ha/{useUserOptions-rirRksyl.js → useUserOptions-D0kNSHFH.js} +1 -1
  266. package/dist/interface/index.html +27 -27
  267. package/dist/interface/sw.js +1 -1
  268. package/dist/server/package.json +8 -8
  269. package/dist/server/src/api/controllers/training.controller.d.ts +38 -0
  270. package/dist/server/src/api/controllers/training.controller.js +97 -0
  271. package/dist/server/src/api/controllers/training.controller.js.map +1 -0
  272. package/dist/server/src/api/database/constants.d.ts +1 -0
  273. package/dist/server/src/api/database/constants.js +1 -0
  274. package/dist/server/src/api/database/constants.js.map +1 -1
  275. package/dist/server/src/api/database/index.d.ts +3 -2
  276. package/dist/server/src/api/database/index.js +4 -2
  277. package/dist/server/src/api/database/index.js.map +1 -1
  278. package/dist/server/src/api/database/migrations/v2-1-19.d.ts +3 -0
  279. package/dist/server/src/api/database/migrations/v2-1-19.js +24 -0
  280. package/dist/server/src/api/database/migrations/v2-1-19.js.map +1 -0
  281. package/dist/server/src/api/database/record-schemas.d.ts +6 -1
  282. package/dist/server/src/api/database/record-schemas.js +7 -0
  283. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  284. package/dist/server/src/api/database/types.d.ts +27 -0
  285. package/dist/server/src/api/index.js +1 -1
  286. package/dist/server/src/api/index.js.map +1 -1
  287. package/dist/server/src/api/render-index.js +1 -1
  288. package/dist/server/src/api/render-index.js.map +1 -1
  289. package/dist/server/src/api/routes/index.js +2 -0
  290. package/dist/server/src/api/routes/index.js.map +1 -1
  291. package/dist/server/src/api/routes/training.routes.d.ts +2 -0
  292. package/dist/server/src/api/routes/training.routes.js +106 -0
  293. package/dist/server/src/api/routes/training.routes.js.map +1 -0
  294. package/dist/server/src/api/schemas/cameras.schema.d.ts +76 -76
  295. package/dist/server/src/api/schemas/remote.schema.d.ts +1 -1
  296. package/dist/server/src/api/schemas/training.schema.d.ts +42 -0
  297. package/dist/server/src/api/schemas/training.schema.js +42 -0
  298. package/dist/server/src/api/schemas/training.schema.js.map +1 -0
  299. package/dist/server/src/api/services/cameras.service.js +7 -2
  300. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  301. package/dist/server/src/api/websocket/index.js +3 -1
  302. package/dist/server/src/api/websocket/index.js.map +1 -1
  303. package/dist/server/src/api/websocket/nsp/training.d.ts +11 -0
  304. package/dist/server/src/api/websocket/nsp/training.js +29 -0
  305. package/dist/server/src/api/websocket/nsp/training.js.map +1 -0
  306. package/dist/server/src/api/websocket/types.d.ts +1 -1
  307. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +1 -0
  308. package/dist/server/src/camera/decoder/detection-coordinator.js +31 -1
  309. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  310. package/dist/server/src/camera/decoder/event-manager.d.ts +6 -0
  311. package/dist/server/src/camera/decoder/event-manager.js +43 -1
  312. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  313. package/dist/server/src/camera/decoder/training-sink.d.ts +26 -0
  314. package/dist/server/src/camera/decoder/training-sink.js +131 -0
  315. package/dist/server/src/camera/decoder/training-sink.js.map +1 -0
  316. package/dist/server/src/camera/decoder/types.d.ts +4 -0
  317. package/dist/server/src/camera/decoder/types.js +12 -0
  318. package/dist/server/src/camera/decoder/types.js.map +1 -1
  319. package/dist/server/src/manager/coreManager.d.ts +3 -1
  320. package/dist/server/src/manager/coreManager.js +18 -0
  321. package/dist/server/src/manager/coreManager.js.map +1 -1
  322. package/dist/server/src/manager/trainingCandidateManager.d.ts +42 -0
  323. package/dist/server/src/manager/trainingCandidateManager.js +250 -0
  324. package/dist/server/src/manager/trainingCandidateManager.js.map +1 -0
  325. package/dist/server/src/manager/types.d.ts +18 -0
  326. package/dist/server/src/manager/types.js.map +1 -1
  327. package/dist/server/src/remote/api/index.d.ts +2 -0
  328. package/dist/server/src/remote/api/index.js +3 -0
  329. package/dist/server/src/remote/api/index.js.map +1 -1
  330. package/dist/server/src/remote/api/routes/oauth.js +1 -1
  331. package/dist/server/src/remote/api/routes/oauth.js.map +1 -1
  332. package/dist/server/src/remote/api/routes/train.d.ts +19 -0
  333. package/dist/server/src/remote/api/routes/train.js +47 -0
  334. package/dist/server/src/remote/api/routes/train.js.map +1 -0
  335. package/dist/server/src/rpc/index.d.ts +2 -0
  336. package/dist/server/src/rpc/index.js +5 -0
  337. package/dist/server/src/rpc/index.js.map +1 -1
  338. package/dist/server/src/rpc/interfaces/core.d.ts +21 -0
  339. package/dist/server/src/rpc/server.js +2 -0
  340. package/dist/server/src/rpc/server.js.map +1 -1
  341. package/package.json +8 -8
  342. package/dist/interface/assets/Automation-DThD-djr.js +0 -3
  343. package/dist/interface/assets/AutomationImport-CHKkZqA4.js +0 -2
  344. package/dist/interface/assets/AutomationStore-Aon4kqZU.js +0 -2
  345. package/dist/interface/assets/AutomationStoreDetail-CfZ45tLW.js +0 -2
  346. package/dist/interface/assets/Automations-BkRuMd-d.js +0 -2
  347. package/dist/interface/assets/Camera-BWdUUW_H.css +0 -1
  348. package/dist/interface/assets/Camera-G6xTnRAk.js +0 -2
  349. package/dist/interface/assets/Camview-BZS4_jv1.css +0 -1
  350. package/dist/interface/assets/Camview-BjCuw7nI.js +0 -1
  351. package/dist/interface/assets/Config-BTXb1LHN.js +0 -2
  352. package/dist/interface/assets/ConfigTriggerGeofence-DLuNWaN6.js +0 -1
  353. package/dist/interface/assets/CuiBottomSheet-BGVpKjqe.js +0 -1
  354. package/dist/interface/assets/CuiBottomSheet-DOW6gNj0.js +0 -1
  355. package/dist/interface/assets/CuiBottomSheet-DsjZEdig.css +0 -1
  356. package/dist/interface/assets/CuiCameraPipCard-BBMkU-eN.js +0 -1
  357. package/dist/interface/assets/CuiCameraRecordings-h6Yel4J4.js +0 -1
  358. package/dist/interface/assets/CuiCameraShares-C9Th3jEn.js +0 -1
  359. package/dist/interface/assets/CuiCameraTable-Cti7FZma.js +0 -1
  360. package/dist/interface/assets/CuiLightControl-BhBIiPv-.js +0 -1
  361. package/dist/interface/assets/CuiPluginCard-yYGvVtDJ.js +0 -2
  362. package/dist/interface/assets/CuiPluginOAuthButton-C8VRPoMj.js +0 -2
  363. package/dist/interface/assets/CuiQRCode-DY5Q-Xel.js +0 -1
  364. package/dist/interface/assets/CuiSchema-Dy2eRCu2.js +0 -1
  365. package/dist/interface/assets/CuiTopNavbarItem-Btig8IUi.js +0 -1
  366. package/dist/interface/assets/Faces-D5PMl5Bx.js +0 -1
  367. package/dist/interface/assets/FirstSteps-BcjeaLz_.js +0 -1
  368. package/dist/interface/assets/Floorplan-DHl3zibU.js +0 -1
  369. package/dist/interface/assets/Instances-DXksjsQR.js +0 -1
  370. package/dist/interface/assets/Metrics-BWTImHsV.js +0 -9
  371. package/dist/interface/assets/Plugin-D5WuhMPO.js +0 -1
  372. package/dist/interface/assets/PluginDetail-3qrahg0_.js +0 -2
  373. package/dist/interface/assets/PluginSearch-D8zmSpkN.js +0 -2
  374. package/dist/interface/assets/PluginSearch-D_ba5x-O.js +0 -1
  375. package/dist/interface/assets/Plugins-5MzJrkSA.js +0 -1
  376. package/dist/interface/assets/Recordings-BuGuUwYE.js +0 -1
  377. package/dist/interface/assets/Recordings-D4NzYCO9.css +0 -1
  378. package/dist/interface/assets/Sensors-D6GwAXQ2.js +0 -2
  379. package/dist/interface/assets/Settings-BZf-ziEZ.js +0 -1
  380. package/dist/interface/assets/SettingsAccount--5p79E6E.js +0 -1
  381. package/dist/interface/assets/SettingsAccount-Dlc0Wddo.js +0 -1
  382. package/dist/interface/assets/SettingsAppearance-xPKxmDpp.js +0 -1
  383. package/dist/interface/assets/SettingsBackup-CJJ5VBzp.js +0 -1
  384. package/dist/interface/assets/SettingsMqtt-DUUAcYuG.js +0 -1
  385. package/dist/interface/assets/SettingsRemote-Dbaxaq5H.js +0 -2
  386. package/dist/interface/assets/SettingsSystem-DzHIleOc.js +0 -2
  387. package/dist/interface/assets/SettingsUsers-D5YuEr7c.js +0 -1
  388. package/dist/interface/assets/Updates-DnAut-3U.js +0 -2
  389. package/dist/interface/assets/Workers-6aoL2zvF.js +0 -2
  390. package/dist/interface/assets/api-BI5TkcMD.js +0 -4
  391. package/dist/interface/assets/api-BTWXbCPQ.css +0 -2
  392. package/dist/interface/assets/cloudHandoff-B1HA65AZ.js +0 -1
  393. package/dist/interface/assets/main-C6AqiNZK.js +0 -3
  394. package/dist/interface/assets/main-Qqk3RyYP.css +0 -1
  395. package/dist/interface/assets/mqtt-DGNlVikj.js +0 -1
  396. package/dist/interface/assets/rooms-DL_uUrGc.js +0 -1
  397. package/dist/interface/assets/types-QIK1kdY6.js +0 -1
  398. package/dist/interface/assets/ungrouped-CupkuPIQ.js +0 -1
  399. package/dist/interface/assets/ungrouped-DTYy_Pud.css +0 -1
  400. package/dist/interface/assets/useBackupRestore-jdHT_hab.js +0 -1
  401. package/dist/interface/ha/CuiPluginOAuthButton-ChNW42ux.js +0 -105
  402. package/dist/interface/ha/SettingsAccount-xJy6kGf6.js +0 -970
  403. package/dist/interface/ha/SettingsNotifications-QCKfSffa.js +0 -529
@@ -1 +1 @@
1
- {"version":3,"file":"detection-coordinator.js","sourceRoot":"","sources":["../../../../../src/camera/decoder/detection-coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detection-coordinator.js","sourceRoot":"","sources":["../../../../../src/camera/decoder/detection-coordinator.ts"],"names":[],"mappings":"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"}
@@ -57,6 +57,9 @@ export interface ProcessedDetectionData {
57
57
  clipEmbeddingModel?: string;
58
58
  thumbnails?: DetectionThumbnail[];
59
59
  eventThumbnail?: Buffer;
60
+ trainingFrame?: Buffer;
61
+ trainingScore?: number;
62
+ staticObjects?: Detection[];
60
63
  lineCrossings?: LineCrossingEvent[];
61
64
  timestamp: number;
62
65
  segmentTimeout: number;
@@ -96,6 +99,7 @@ export declare class DetectionEventManager {
96
99
  private segmentClipLabels;
97
100
  private readonly eventSubject;
98
101
  private readonly nvr;
102
+ private readonly training;
99
103
  private readonly trace;
100
104
  private onEventEndCallback?;
101
105
  private onSegmentClosedCallback?;
@@ -111,6 +115,7 @@ export declare class DetectionEventManager {
111
115
  destroy(): void;
112
116
  publishEventThumbnail(jpeg?: Buffer, capturedAt?: number): void;
113
117
  needsThumbnail(): boolean;
118
+ wantsTrainingFrame(movingTrackIds?: number[], score?: number): boolean;
114
119
  hasActiveEvent(): boolean;
115
120
  private startEvent;
116
121
  private endEvent;
@@ -136,6 +141,7 @@ export declare class DetectionEventManager {
136
141
  private beatsMoment;
137
142
  private recordMomentVerdict;
138
143
  private clearSegmentThumbnails;
144
+ private offerTrainingCandidate;
139
145
  private publish;
140
146
  private recordMessage;
141
147
  private publishSegment;
@@ -5,7 +5,8 @@ import { detectionRecord } from './debug/detection-record.js';
5
5
  import { EventTraceCollector } from './event-trace.js';
6
6
  import { leanEvent, NvrSink } from './nvr-sink.js';
7
7
  import { MAX_UNTRACKED_PLATES, normalizePlateText, PlateVoteTracker } from './plate-vote.js';
8
- import { isFullFrameBox } from './types.js';
8
+ import { TrainingSink } from './training-sink.js';
9
+ import { isFullFrameBox, isMovingTrainingSubject } from './types.js';
9
10
  export const MOMENT_RANK_OBJECT = 0;
10
11
  export const MOMENT_RANK_ATTRIBUTE = 1;
11
12
  const UPDATE_THROTTLE_MS = 1000;
@@ -85,6 +86,7 @@ export class DetectionEventManager {
85
86
  segmentClipLabels = new Map();
86
87
  eventSubject;
87
88
  nvr;
89
+ training;
88
90
  trace = new EventTraceCollector();
89
91
  onEventEndCallback;
90
92
  onSegmentClosedCallback;
@@ -95,6 +97,7 @@ export class DetectionEventManager {
95
97
  const ns = NamespaceManager.detectionEventNamespaces(cameraId);
96
98
  this.eventSubject = ns.detectionEventSubject;
97
99
  this.nvr = new NvrSink(proxy, logger);
100
+ this.training = new TrainingSink(cameraId, proxy, logger);
98
101
  }
99
102
  updateNvrRpc(namespace) {
100
103
  this.nvr.setNamespace(namespace);
@@ -146,6 +149,8 @@ export class DetectionEventManager {
146
149
  this.needsEventThumbnail = false;
147
150
  this.publishEventThumbnail();
148
151
  }
152
+ if (data.trainingFrame)
153
+ this.offerTrainingCandidate(data.trainingFrame, data, now, data.trainingScore ?? 0);
149
154
  if (triggers.length > 0) {
150
155
  this.enrichTriggers(triggers, now);
151
156
  // a trigger joining mid-event (doorbell press during a motion event)
@@ -203,6 +208,7 @@ export class DetectionEventManager {
203
208
  destroy() {
204
209
  if (this.activeEvent)
205
210
  this.endEvent();
211
+ this.training.destroy();
206
212
  }
207
213
  publishEventThumbnail(jpeg, capturedAt) {
208
214
  if (!this.activeEvent)
@@ -225,6 +231,9 @@ export class DetectionEventManager {
225
231
  needsThumbnail() {
226
232
  return this.needsEventThumbnail;
227
233
  }
234
+ wantsTrainingFrame(movingTrackIds = [], score = 0) {
235
+ return this.training.wantsFrame(this.activeEvent?.id, movingTrackIds, score);
236
+ }
228
237
  hasActiveEvent() {
229
238
  return this.activeEvent !== null;
230
239
  }
@@ -257,6 +266,8 @@ export class DetectionEventManager {
257
266
  this.activeEvent.thumbnailAt = this.eventThumbnailAt || undefined;
258
267
  }
259
268
  this.publish('start', this.eventThumbnail ? { scene: this.eventThumbnail } : undefined);
269
+ if (data.trainingFrame)
270
+ this.offerTrainingCandidate(data.trainingFrame, data, now, data.trainingScore ?? 0);
260
271
  const triggerTypes = [...new Set(triggers.map((t) => t.type))].join(',');
261
272
  const thumbInfo = this.eventThumbnail ? jpegInfo(this.eventThumbnail) : 'pending';
262
273
  this.logger.log(`[event] start id=${this.activeEvent.id.slice(0, 8)} triggers=[${triggerTypes}] types=[${this.activeEvent.types.join(',')}] thumb=${thumbInfo}`);
@@ -279,6 +290,7 @@ export class DetectionEventManager {
279
290
  this.publish('end', trace ? { trace } : undefined);
280
291
  const duration = this.activeEvent.endTime - this.activeEvent.startTime;
281
292
  this.logger.log(`[event] end id=${this.activeEvent.id.slice(0, 8)} duration=${duration}ms segments=${this.segmentIndex} types=[${this.activeEvent.types.join(',')}]`);
293
+ this.training.flushNow();
282
294
  this.activeEvent = null;
283
295
  this.activeSegment = null;
284
296
  this.segmentClosePendingSince = null;
@@ -356,6 +368,7 @@ export class DetectionEventManager {
356
368
  this.flushPlateFallbacks();
357
369
  this.publishSegment('segment-end');
358
370
  this.clearSegmentThumbnails();
371
+ this.training.flushNow();
359
372
  this.segmentIndex++;
360
373
  this.activeSegment = null;
361
374
  }
@@ -852,6 +865,35 @@ export class DetectionEventManager {
852
865
  this.segmentClassifierTrackIds.clear();
853
866
  this.segmentClipLabels.clear();
854
867
  }
868
+ offerTrainingCandidate(scene, data, capturedAt, score) {
869
+ if (!this.activeEvent)
870
+ return;
871
+ const boxes = data.objects
872
+ .filter((o) => o.box && !isFullFrameBox(o.box))
873
+ .map((o) => ({ label: o.label, confidence: o.confidence, x: o.box.x, y: o.box.y, width: o.box.width, height: o.box.height }));
874
+ for (const face of data.faces) {
875
+ if (face.box && !isFullFrameBox(face.box)) {
876
+ boxes.push({ label: 'face', confidence: face.confidence, x: face.box.x, y: face.box.y, width: face.box.width, height: face.box.height });
877
+ }
878
+ }
879
+ for (const plate of data.plates) {
880
+ if (plate.box && !isFullFrameBox(plate.box)) {
881
+ boxes.push({ label: 'license_plate', confidence: plate.confidence, x: plate.box.x, y: plate.box.y, width: plate.box.width, height: plate.box.height });
882
+ }
883
+ }
884
+ // an unlabeled parked object in a training image teaches "background",
885
+ // so suppressed static tracks ride along as pre-annotations
886
+ for (const still of data.staticObjects ?? []) {
887
+ if (still.box && !isFullFrameBox(still.box)) {
888
+ boxes.push({ label: still.label, confidence: still.confidence, x: still.box.x, y: still.box.y, width: still.box.width, height: still.box.height });
889
+ }
890
+ }
891
+ const movingTrackIds = data.objects
892
+ .filter((o) => isMovingTrainingSubject(o))
893
+ .map((o) => o.trackId)
894
+ .filter((id) => id !== undefined);
895
+ this.training.consider(this.activeEvent.id, scene, boxes, capturedAt, movingTrackIds, score);
896
+ }
855
897
  publish(type, attachments) {
856
898
  if (!this.activeEvent)
857
899
  return;