@camera.ui/server 2.1.15 → 2.1.17

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 (417) hide show
  1. package/dist/interface/assets/{404-DwgMdXqW.js → 404-Cg1J2LX8.js} +1 -1
  2. package/dist/interface/assets/{About-REFUgZk_.js → About-CW7G6onF.js} +1 -1
  3. package/dist/interface/assets/Automation-CIwBJK1Y.js +3 -0
  4. package/dist/interface/assets/AutomationImport-CHkNv7C-.js +2 -0
  5. package/dist/interface/assets/AutomationStore-5bTym-Gl.js +2 -0
  6. package/dist/interface/assets/AutomationStoreDetail-BF8UoG_l.js +2 -0
  7. package/dist/interface/assets/Automations-CaX2fHhJ.js +2 -0
  8. package/dist/interface/assets/Camera-1zdmJnP-.js +2 -0
  9. package/dist/interface/assets/Camera-DSyI4J5-.css +1 -0
  10. package/dist/interface/assets/{CameraConsole-S61HjIGA.js → CameraConsole-CB1HEFKJ.js} +2 -2
  11. package/dist/interface/assets/{Cameras-57rPP3Y_.js → Cameras-CyCY0rW9.js} +2 -2
  12. package/dist/interface/assets/Camview-CZct5cnP.css +1 -0
  13. package/dist/interface/assets/Camview-Dia7G1u_.js +1 -0
  14. package/dist/interface/assets/{CertificateUpload-CBSLHn_I.js → CertificateUpload-jP-JIxmY.js} +1 -1
  15. package/dist/interface/assets/Config-DOa7WHyQ.js +2 -0
  16. package/dist/interface/assets/{ConfigActionCameraControl-B7KwK7vb.js → ConfigActionCameraControl-BmCE3XLC.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionDelay-DwTGfeP4.js → ConfigActionDelay-CfHCZ0uf.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionHttp-idm-FKXM.js → ConfigActionHttp-DdM7gEb0.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionImageInput-C-v-_UEM.js → ConfigActionImageInput-CrPPNT4K.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionMqtt-CG1o9_6A.js → ConfigActionMqtt-D7-u4zri.js} +1 -1
  21. package/dist/interface/assets/ConfigActionNotification-BSuUI2FP.js +1 -0
  22. package/dist/interface/assets/{ConfigActionNotificationControl-BvHIqHE7.js → ConfigActionNotificationControl-DfvAxKnx.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionOutput-BQvDZGKV.js → ConfigActionOutput-DPplSpm_.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionPlugin-C7mcZ0Kz.js → ConfigActionPlugin-BnRn_p26.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSensor-BFnb75FI.js → ConfigActionSensor-CoEoqFAY.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionSnapshot-BfzPScY6.js → ConfigActionSnapshot-wXdFiyU-.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionVariable-CjIeZnOV.js → ConfigActionVariable-BqJvOOHH.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionIfElse-Dgcqs9QP.js → ConfigConditionIfElse-DG2Kgqn5.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSensorState-DtLt1AvW.js → ConfigConditionSensorState-BytECo6r.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionSwitch-C6BfIozf.js → ConfigConditionSwitch-DaSt9uZE.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionTime-NcjSe4RM.js → ConfigConditionTime-D42OsshU.js} +1 -1
  32. package/dist/interface/assets/{ConfigSensorValueInput-DuvBl4YL.js → ConfigSensorValueInput-BtEmtZSm.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerDetection-DsVb-Svo.js → ConfigTriggerDetection-CDH2fzsu.js} +1 -1
  34. package/dist/interface/assets/ConfigTriggerGeofence-Dopegic5.js +1 -0
  35. package/dist/interface/assets/{ConfigTriggerManual-vG37zALd.js → ConfigTriggerManual-DAtWfH0-.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerMqtt-BPl_Puje.js → ConfigTriggerMqtt-CB3_PxqD.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSchedule-Bn2drGV5.js → ConfigTriggerSchedule-BUzOrF23.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSensor-DP0CXRLo.js → ConfigTriggerSensor-D5kRIb7I.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSystem-DQikAjbB.js → ConfigTriggerSystem-Cud77VMR.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerWebhook-Cl7KWuRQ.js → ConfigTriggerWebhook-CeG5R3kV.js} +1 -1
  41. package/dist/interface/assets/Console-DdOD6Pd5.js +1 -0
  42. package/dist/interface/assets/{CuiAutomationRunsDialog-D_rNvqan.js → CuiAutomationRunsDialog-Cym6xMVJ.js} +1 -1
  43. package/dist/interface/assets/CuiBottomSheet-B3QSHp4-.js +1 -0
  44. package/dist/interface/assets/CuiBottomSheet-BSoMhymR.js +1 -0
  45. package/dist/interface/assets/CuiBottomSheet-_KXSb13N.css +1 -0
  46. package/dist/interface/assets/CuiCameraPipCard-DGgrxZJd.js +1 -0
  47. package/dist/interface/assets/{CuiCameraRecordings-h6Yel4J4.js → CuiCameraRecordings-Bu68AFdM.js} +1 -1
  48. package/dist/interface/assets/CuiCameraShares-BOhfTcxQ.js +1 -0
  49. package/dist/interface/assets/CuiCameraTable-C1CHYnda.js +1 -0
  50. package/dist/interface/assets/{CuiCameraTable-CfXoLbtY.js → CuiCameraTable-D0lc0VAJ.js} +2 -2
  51. package/dist/interface/assets/{CuiChartTable-BWRwoTLX.js → CuiChartTable-DcrFI8tT.js} +1 -1
  52. package/dist/interface/assets/{CuiConsole-Cb3wDLZr.js → CuiConsole-ICLBq4Q-.js} +2 -2
  53. package/dist/interface/assets/{CuiDataTable-aAZV_F3r.js → CuiDataTable-BooFPsGH.js} +1 -1
  54. package/dist/interface/assets/CuiLightControl-D1ih2hO-.js +1 -0
  55. package/dist/interface/assets/{CuiList-BZYxCLqz.js → CuiList-ChI82KjI.js} +1 -1
  56. package/dist/interface/assets/CuiPluginCard-DqdSWrwb.js +2 -0
  57. package/dist/interface/assets/{CuiPluginCategoryChip-C9trJ_ql.js → CuiPluginCategoryChip-DsRcMb72.js} +1 -1
  58. package/dist/interface/assets/CuiPluginOAuthButton-BSvRKUSY.js +2 -0
  59. package/dist/interface/assets/{CuiPluginTrustBadge-D5gkIhJv.js → CuiPluginTrustBadge-DXL7N1LC.js} +1 -1
  60. package/dist/interface/assets/{CuiQRCode-DY5Q-Xel.js → CuiQRCode-DHln6Lo9.js} +1 -1
  61. package/dist/interface/assets/CuiSchema-B7i2O3Fy.js +1 -0
  62. package/dist/interface/assets/{CuiTopNavbarItem-CJqOqVMt.css → CuiTopNavbarItem-7673AFGS.css} +1 -1
  63. package/dist/interface/assets/CuiTopNavbarItem-TMfTyt8u.js +1 -0
  64. package/dist/interface/assets/Faces-CyTkMqMW.js +1 -0
  65. package/dist/interface/assets/FirstSteps-B4gb7Sgn.js +1 -0
  66. package/dist/interface/assets/{Floorplan-Bxhdg4C2.css → Floorplan-B1lItPnM.css} +1 -1
  67. package/dist/interface/assets/Floorplan-DBwWnuys.js +1 -0
  68. package/dist/interface/assets/Instances-D9fnwItz.js +1 -0
  69. package/dist/interface/assets/{Logs-CfYTWOv2.js → Logs-Brk6fJa0.js} +2 -2
  70. package/dist/interface/assets/{Menu-HzmLhy40.js → Menu-CrdBz1Er.js} +1 -1
  71. package/dist/interface/assets/Metrics-DXMgfNIL.js +9 -0
  72. package/dist/interface/assets/{OAuthDeviceFlow-DBac627V.js → OAuthDeviceFlow-D5hSwHeO.js} +1 -1
  73. package/dist/interface/assets/Plugin-C65oNZ9N.js +1 -0
  74. package/dist/interface/assets/{PluginConsole-C5dZgdl9.js → PluginConsole-Bs3Z5u9-.js} +2 -2
  75. package/dist/interface/assets/PluginDetail-C3KUrHvq.js +2 -0
  76. package/dist/interface/assets/{PluginSchema-DJ8NY8hW.js → PluginSchema-D22zRDkZ.js} +1 -1
  77. package/dist/interface/assets/PluginSearch-4ngDmZQ2.js +1 -0
  78. package/dist/interface/assets/PluginSearch-D7XYJzl4.js +2 -0
  79. package/dist/interface/assets/{PluginUpdateProgress-DgqaTwSS.js → PluginUpdateProgress-MEdR7mID.js} +1 -1
  80. package/dist/interface/assets/Plugins-DQTlb12n.js +1 -0
  81. package/dist/interface/assets/Recordings-CfSTX_Mw.css +1 -0
  82. package/dist/interface/assets/Recordings-CqBwRvn-.js +1 -0
  83. package/dist/interface/assets/SensorEdit-BM2zHAM7.js +1 -0
  84. package/dist/interface/assets/{SensorHistory-bCcPH0_I.js → SensorHistory-Dbv2ODqn.js} +1 -1
  85. package/dist/interface/assets/Sensors-B4YzyU7R.js +2 -0
  86. package/dist/interface/assets/{Sensors-CaKl4PQY.css → Sensors-DETviyjO.css} +1 -1
  87. package/dist/interface/assets/Settings--wgPYOyK.js +1 -0
  88. package/dist/interface/assets/{Settings-jQIhZFRY.css → Settings-D7495zbV.css} +1 -1
  89. package/dist/interface/assets/SettingsAccount-BF6Cp8Rt.js +1 -0
  90. package/dist/interface/assets/SettingsAccount-D7CHP0f1.js +1 -0
  91. package/dist/interface/assets/SettingsAppearance-Ba0jbbVW.js +1 -0
  92. package/dist/interface/assets/SettingsAppearance-BpXZwBjO.js +1 -0
  93. package/dist/interface/assets/SettingsBackup-qEYm-6De.js +1 -0
  94. package/dist/interface/assets/{SettingsList-Nc7OCZrn.js → SettingsList-1brGZ2E_.js} +1 -1
  95. package/dist/interface/assets/SettingsMqtt-Ds8YpoLA.js +1 -0
  96. package/dist/interface/assets/SettingsNotifications-Diqpfbrh.js +1 -0
  97. package/dist/interface/assets/{SettingsPermissions-BZXAgxUl.js → SettingsPermissions-GmGacrLc.js} +1 -1
  98. package/dist/interface/assets/{SettingsRecordings-Biyy3rTF.js → SettingsRecordings-CtEm_7PE.js} +1 -1
  99. package/dist/interface/assets/SettingsRemote-CENHI51U.js +2 -0
  100. package/dist/interface/assets/SettingsSystem-YkigO2-V.js +2 -0
  101. package/dist/interface/assets/SettingsUsers-BNPa87gu.js +1 -0
  102. package/dist/interface/assets/{Terminal-AsI0lb5n.js → Terminal-uxOHZpUp.js} +3 -3
  103. package/dist/interface/assets/Training-BRZKDa8S.js +1 -0
  104. package/dist/interface/assets/Training-DMNjB3uX.css +1 -0
  105. package/dist/interface/assets/Updates-CbscgL60.js +2 -0
  106. package/dist/interface/assets/{VariableInput-__I-FsBF.js → VariableInput-Dqg4sqBD.js} +1 -1
  107. package/dist/interface/assets/{VariableSuggestions-B-7auf15.js → VariableSuggestions-DZCkPAVs.js} +1 -1
  108. package/dist/interface/assets/{VersionsHandler-BTe1Ev3b.js → VersionsHandler-BYFshrhO.js} +2 -2
  109. package/dist/interface/assets/{VirtualSensorCreate-DdLgJECI.js → VirtualSensorCreate-CQ-C4si3.js} +1 -1
  110. package/dist/interface/assets/Workers-DC77SjZQ.js +2 -0
  111. package/dist/interface/assets/api-Cb8_C_se.js +4 -0
  112. package/dist/interface/assets/{api-84bL4zpk.js → api-CbYNh0N1.js} +1 -1
  113. package/dist/interface/assets/api-DIyogyx5.css +2 -0
  114. package/dist/interface/assets/{auth-F2wU_mtw.js → auth-Bev1OdHw.js} +1 -1
  115. package/dist/interface/assets/{automations-D6fqhxhY.js → automations-DrpESBB_.js} +1 -1
  116. package/dist/interface/assets/cameraSources-QF2xqMxX.js +1 -0
  117. package/dist/interface/assets/cloudHandoff-BknPGUc0.js +1 -0
  118. package/dist/interface/assets/{config-Jzs6YXbB.js → config-DCK7k2P4.js} +1 -1
  119. package/dist/interface/assets/{flowSchema-C1fWwuQa.js → flowSchema-D3Ddm5sW.js} +1 -1
  120. package/dist/interface/assets/{intercomService-fFto_C1t.js → intercomService-DIwpkwG4.js} +1 -1
  121. package/dist/interface/assets/main-Cb5Z8N7b.css +1 -0
  122. package/dist/interface/assets/main-DVwdxi04.js +3 -0
  123. package/dist/interface/assets/mqtt-COWs_r7k.js +1 -0
  124. package/dist/interface/assets/{notifications-CIJEGR7A.js → notifications-sIv1-H85.js} +1 -1
  125. package/dist/interface/assets/{plugins-HYHSAzD-.js → plugins-CXQj6XQt.js} +1 -1
  126. package/dist/interface/assets/rooms-DScX89Ks.js +1 -0
  127. package/dist/interface/assets/{sensorIcons-ByPd6LR6.js → sensorIcons-CvVtOgZB.js} +1 -1
  128. package/dist/interface/assets/sensorSlots-DsfKs8_k.js +1 -0
  129. package/dist/interface/assets/{sensors-BgjfSfk6.js → sensors-Bf_gYmB5.js} +1 -1
  130. package/dist/interface/assets/{server-CIDx_I6S.js → server-CahE6_Pv.js} +1 -1
  131. package/dist/interface/assets/{theme-GSy1mQOB.js → theme-DmUc7UHl.js} +1 -1
  132. package/dist/interface/assets/{types-Do9v0d7I.js → types-D4kUDpid.js} +1 -1
  133. package/dist/interface/assets/{types-Dlk_iSoE.js → types-Dse8_nTX.js} +1 -1
  134. package/dist/interface/assets/types-hwOSxlNg.js +1 -0
  135. package/dist/interface/assets/ungrouped-Byxe4LNR.js +1 -0
  136. package/dist/interface/assets/ungrouped-n3OnGhCH.css +1 -0
  137. package/dist/interface/assets/{updates-73Yq11IN.js → updates-C4gAnNY6.js} +1 -1
  138. package/dist/interface/assets/{useAppVersion-B0_bYa9V.js → useAppVersion--b5Zj7tl.js} +1 -1
  139. package/dist/interface/assets/useBackupRestore-Bx13MgrJ.js +1 -0
  140. package/dist/interface/assets/{useCameraOptions-DKeZhfOM.js → useCameraOptions-DN4gJjIl.js} +1 -1
  141. package/dist/interface/assets/{useLogsSocket-CmyTTUGN.js → useLogsSocket-DqVa6Hky.js} +1 -1
  142. package/dist/interface/assets/{useNavLayout-DOFS3269.js → useNavLayout-CuQ9F9cj.js} +1 -1
  143. package/dist/interface/assets/{usePermissions-D5I3gACT.js → usePermissions-C1L7m3Nc.js} +1 -1
  144. package/dist/interface/assets/{usePluginUpdates-BWxJ04h7.js → usePluginUpdates-CvQPy02x.js} +1 -1
  145. package/dist/interface/assets/{usePushRegistration-DWreQ-Hn.js → usePushRegistration-BKvefMFq.js} +1 -1
  146. package/dist/interface/assets/{useServerRestart-DDW-nw_t.js → useServerRestart-ByN6484v.js} +1 -1
  147. package/dist/interface/assets/{useStreamStatus-COIha2d8.js → useStreamStatus-BbtTnidZ.js} +1 -1
  148. package/dist/interface/assets/{useTabSwipe-aoMqro29.js → useTabSwipe-D9udGzPx.js} +1 -1
  149. package/dist/interface/assets/{useUpdateChannel-CM9MYCZy.js → useUpdateChannel-8t3W9dNr.js} +1 -1
  150. package/dist/interface/assets/{useUpdatesSocket-DY4i32ml.js → useUpdatesSocket-D9s_5T3l.js} +1 -1
  151. package/dist/interface/assets/{useUserOptions-DHfprGgA.js → useUserOptions-CEPYkuSm.js} +1 -1
  152. package/dist/interface/assets/{vendor-cameraui-BRv7o4zz.js → vendor-cameraui-Dlzn4pyz.js} +26 -26
  153. package/dist/interface/assets/vendor-core-COMSlypG.js +1 -0
  154. package/dist/interface/assets/{vendor-primevue-C85v-zl5.js → vendor-primevue-DF71EsUM.js} +55 -55
  155. package/dist/interface/ha/{404-TwTUCqDv.js → 404-Bm-oxxip.js} +1 -1
  156. package/dist/interface/ha/{About-BeZkyUdW.js → About-CDcN0Q2J.js} +6 -6
  157. package/dist/interface/ha/{Automation-CL7j0Vgh.js → Automation-BQd4b0ym.js} +149 -149
  158. package/dist/interface/ha/{AutomationImport-D7arOHP-.js → AutomationImport-CX1C76Wb.js} +6 -6
  159. package/dist/interface/ha/{AutomationStore-DN0yBk6X.js → AutomationStore-D4B0KpoW.js} +27 -27
  160. package/dist/interface/ha/{AutomationStoreDetail-DUuLEnvx.js → AutomationStoreDetail-B53Giz4B.js} +24 -24
  161. package/dist/interface/ha/{Automations-Dfbren5V.js → Automations-BXlwOElS.js} +94 -94
  162. package/dist/interface/ha/{Camera-BxWpvZM8.js → Camera-CauwMneE.js} +182 -180
  163. package/dist/interface/ha/{CameraConsole-DT7BFGXD.js → CameraConsole-CmsMjuIR.js} +5 -5
  164. package/dist/interface/ha/{Cameras-ClmwBeNf.js → Cameras-CyHDmgs0.js} +117 -117
  165. package/dist/interface/ha/{Camview-CFAKNI6-.js → Camview-BwwvU5k8.js} +112 -112
  166. package/dist/interface/ha/{Config-D83QNz1P.js → Config-C_Zuyeoc.js} +9 -9
  167. package/dist/interface/ha/{ConfigActionCameraControl-D-2_gkM-.js → ConfigActionCameraControl-C1_QyuX8.js} +3 -3
  168. package/dist/interface/ha/{ConfigActionHttp-CDmzaJOb.js → ConfigActionHttp-C0d433mh.js} +2 -2
  169. package/dist/interface/ha/{ConfigActionImageInput-7mA-jNIj.js → ConfigActionImageInput-BYys2FwC.js} +1 -1
  170. package/dist/interface/ha/{ConfigActionMqtt-CGLqAswk.js → ConfigActionMqtt-DznDfzze.js} +4 -4
  171. package/dist/interface/ha/{ConfigActionNotification-DyhLsVfe.js → ConfigActionNotification-CC2qfBLm.js} +3 -3
  172. package/dist/interface/ha/{ConfigActionNotificationControl-C381uizv.js → ConfigActionNotificationControl-3jlm7_A4.js} +2 -2
  173. package/dist/interface/ha/{ConfigActionOutput-Cg6IMq5u.js → ConfigActionOutput-BEf1U3_l.js} +1 -1
  174. package/dist/interface/ha/{ConfigActionPlugin-vFD_OHt8.js → ConfigActionPlugin-C57BUrJD.js} +5 -5
  175. package/dist/interface/ha/{ConfigActionSensor-B0JYbb-_.js → ConfigActionSensor-BkoSPCUJ.js} +5 -5
  176. package/dist/interface/ha/{ConfigActionSnapshot-DlYRwdII.js → ConfigActionSnapshot-CC3EpmCq.js} +2 -2
  177. package/dist/interface/ha/{ConfigActionVariable-6HNVpSjs.js → ConfigActionVariable-JDyDhSzZ.js} +1 -1
  178. package/dist/interface/ha/{ConfigConditionIfElse-b5UhYSf4.js → ConfigConditionIfElse-BVg-TUpv.js} +3 -3
  179. package/dist/interface/ha/{ConfigConditionSensorState-CI1CS9qa.js → ConfigConditionSensorState-YYeWly1H.js} +4 -4
  180. package/dist/interface/ha/{ConfigConditionSwitch-DGoKb_ZM.js → ConfigConditionSwitch-DQHXX-4U.js} +5 -5
  181. package/dist/interface/ha/{ConfigSensorValueInput-BGQytgns.js → ConfigSensorValueInput-BuuzQ1nJ.js} +8 -8
  182. package/dist/interface/ha/{ConfigTriggerDetection-l_h4kt0X.js → ConfigTriggerDetection-CUvkAmpJ.js} +3 -3
  183. package/dist/interface/ha/{ConfigTriggerGeofence-Y2Od0L2_.js → ConfigTriggerGeofence-CCHELnfy.js} +7 -7
  184. package/dist/interface/ha/{ConfigTriggerMqtt-DttCVDHe.js → ConfigTriggerMqtt-BfLnCiWZ.js} +1 -1
  185. package/dist/interface/ha/{ConfigTriggerSensor-O4mWaXnJ.js → ConfigTriggerSensor-Bi-Jld2G.js} +1 -1
  186. package/dist/interface/ha/{ConfigTriggerSystem-C_uWI6kc.js → ConfigTriggerSystem-_HXrWjaJ.js} +2 -2
  187. package/dist/interface/ha/{ConfigTriggerWebhook-CY5vDxZe.js → ConfigTriggerWebhook-CFYsVF_r.js} +2 -2
  188. package/dist/interface/ha/{Console-DdOU0_jE.js → Console-CR95JZFd.js} +101 -101
  189. package/dist/interface/ha/{CuiAutomationRunsDialog-_WF5J4hV.js → CuiAutomationRunsDialog--mpkPFmw.js} +2 -2
  190. package/dist/interface/ha/{CuiBottomSheet-Bzr2zhm3.js → CuiBottomSheet-DfFzwDjq.js} +3 -3
  191. package/dist/interface/ha/{CuiCameraRecordings-HqWrHpr-.js → CuiCameraRecordings-DCIFFbFk.js} +13 -13
  192. package/dist/interface/ha/{CuiCameraShares-Bw1RlqC-.js → CuiCameraShares-Dwv_XtX4.js} +7 -7
  193. package/dist/interface/ha/{CuiCameraTable-DvIlmfmW.js → CuiCameraTable-L6wd-VYz.js} +9 -9
  194. package/dist/interface/ha/{CuiChartTable-C6vRR9ny.js → CuiChartTable-CxJR8u6U.js} +16 -16
  195. package/dist/interface/ha/{CuiConsole-B6fDJfvq.js → CuiConsole-CvL9TXZY.js} +7 -7
  196. package/dist/interface/ha/{CuiDataTable-BLL7vWD1.js → CuiDataTable-Bn80WJXi.js} +7 -7
  197. package/dist/interface/ha/{CuiPluginCard-CsJ-dlra.js → CuiPluginCard-CtOzPAal.js} +32 -32
  198. package/dist/interface/ha/CuiPluginOAuthButton-1LgNMLII.js +79 -0
  199. package/dist/interface/ha/{CuiPluginTrustBadge-CQtfi3UI.js → CuiPluginTrustBadge-mHuy3ab9.js} +3 -3
  200. package/dist/interface/ha/{CuiQRCode-DOj5PJo2.js → CuiQRCode-CloepWte.js} +6 -6
  201. package/dist/interface/ha/{CuiSchema-Dg43r2Vo.js → CuiSchema-CJsEWewj.js} +132 -132
  202. package/dist/interface/ha/{CuiTopNavbarItem-CMu_hCIP.js → CuiTopNavbarItem-B2EM-tmz.js} +3 -3
  203. package/dist/interface/ha/{Faces-Ed0ytbse.js → Faces-BMkZfxDm.js} +66 -66
  204. package/dist/interface/ha/{FirstSteps-Dkw2Enre.js → FirstSteps-BH0mga3u.js} +67 -67
  205. package/dist/interface/ha/{Floorplan-IdC1tgDr.js → Floorplan-CyfIUI4Z.js} +220 -220
  206. package/dist/interface/ha/{Instances-dvDlInn-.js → Instances-BwNXc91J.js} +18 -18
  207. package/dist/interface/ha/{Logs-rUL_mLTJ.js → Logs-CcSiN16r.js} +11 -11
  208. package/dist/interface/ha/{Menu-CfMgYCN9.js → Menu-qdN0OBb7.js} +15 -15
  209. package/dist/interface/ha/{Metrics-DYNvEdb-.js → Metrics-ClM5lhvC.js} +93 -93
  210. package/dist/interface/ha/{OAuthDeviceFlow-vgBWOkzP.js → OAuthDeviceFlow-BBr-rER_.js} +5 -5
  211. package/dist/interface/ha/{Plugin-PqUW_696.js → Plugin-BBkSXygO.js} +104 -104
  212. package/dist/interface/ha/{PluginConsole-CFJKNhQw.js → PluginConsole-DqrBnXSX.js} +4 -4
  213. package/dist/interface/ha/{PluginDetail-cC8nut35.js → PluginDetail-Clu6nv-B.js} +12 -12
  214. package/dist/interface/ha/{PluginSearch-BzSs0ibh.js → PluginSearch-Dn-24FLX.js} +53 -53
  215. package/dist/interface/ha/{PluginUpdateProgress-CtM7lrl9.js → PluginUpdateProgress-CzhHUKDg.js} +3 -3
  216. package/dist/interface/ha/{Plugins-CzvlXEaH.js → Plugins-qYJD5ioU.js} +27 -27
  217. package/dist/interface/ha/{Recordings-BtsW8I5D.js → Recordings-CBIt3vL7.js} +384 -366
  218. package/dist/interface/ha/{SensorEdit-DMwyTDIG.js → SensorEdit-BbG6apZA.js} +353 -353
  219. package/dist/interface/ha/{SensorHistory-DoJhFbTC.js → SensorHistory-CqGsnQPW.js} +2 -2
  220. package/dist/interface/ha/{Sensors-BoRfutfx.js → Sensors-mKWkCDF8.js} +507 -481
  221. package/dist/interface/ha/{Settings-vmfs1rfj.js → Settings-C5J4ubiA.js} +24 -24
  222. package/dist/interface/ha/SettingsAccount-tCyZsBxG.js +970 -0
  223. package/dist/interface/ha/{SettingsAppearance-v9zeetcx.js → SettingsAppearance-DqJp4Clt.js} +14 -14
  224. package/dist/interface/ha/{SettingsBackup-eO4r8MZe.js → SettingsBackup-CHnCKYgz.js} +6 -6
  225. package/dist/interface/ha/{SettingsList-burOi4S6.js → SettingsList-DsQOPeKW.js} +5 -5
  226. package/dist/interface/ha/{SettingsMqtt-CjZERKR8.js → SettingsMqtt-TPIsEcXe.js} +124 -124
  227. package/dist/interface/ha/SettingsNotifications-DH3T_xyh.js +529 -0
  228. package/dist/interface/ha/{SettingsRecordings-DzsXkzeu.js → SettingsRecordings-Ay8lj8Lm.js} +7 -7
  229. package/dist/interface/ha/{SettingsRemote-B0HZwZj3.js → SettingsRemote-CHiBADuu.js} +202 -202
  230. package/dist/interface/ha/{SettingsSystem-Bc_c8XYh.js → SettingsSystem-tqs40pUW.js} +10 -10
  231. package/dist/interface/ha/{SettingsUsers-CxL65q1C.js → SettingsUsers-BUbC_Qc7.js} +29 -29
  232. package/dist/interface/ha/{Terminal-DsX-_5R2.js → Terminal-f_b-089t.js} +76 -76
  233. package/dist/interface/ha/Training-Dcxo9PFi.js +1479 -0
  234. package/dist/interface/ha/{Updates-DG9i-tQu.js → Updates-aGl5hy8Q.js} +14 -14
  235. package/dist/interface/ha/{VariableInput-CcevSEwK.js → VariableInput-yJGbaZEo.js} +1 -1
  236. package/dist/interface/ha/{VersionsHandler-5GeFt6Lw.js → VersionsHandler-Q4PfRpbs.js} +10 -10
  237. package/dist/interface/ha/{VirtualSensorCreate-dWN8FANX.js → VirtualSensorCreate-Gbi6aJBh.js} +8 -8
  238. package/dist/interface/ha/{Workers-D1y6eFKT.js → Workers-BbBqOc0H.js} +167 -167
  239. package/dist/interface/ha/{api-DDUXI4DG.js → api-DBu4gh4_.js} +9705 -9275
  240. package/dist/interface/ha/{api-BgQ9AVgK.js → api-DY0z6Sp_.js} +3 -3
  241. package/dist/interface/ha/{auth-C8Vp1TkJ.js → auth-C2V-kpRp.js} +38 -38
  242. package/dist/interface/ha/{automationBlueprint-DhRjWL2p.js → automationBlueprint-MGUZJTFY.js} +4 -4
  243. package/dist/interface/ha/cameraui-cards.js +1 -1
  244. package/dist/interface/ha/{cards-BGikU5nh.js → cards-BA6g_9R5.js} +573 -573
  245. package/dist/interface/ha/cloud-check-BFJzoUtz.js +33 -0
  246. package/dist/interface/ha/{config-WqhFqx8D.js → config-BGlhgEOa.js} +16 -16
  247. package/dist/interface/ha/{dist-BQFunPaA.js → dist-BqTZri2H.js} +743 -725
  248. package/dist/interface/ha/{mqtt-CQopAljB.js → mqtt-BLKZNA-E.js} +12 -12
  249. package/dist/interface/ha/{notifications-C4IU7Zbu.js → notifications-BW0RNMnG.js} +22 -22
  250. package/dist/interface/ha/{pinia-3D39Do4a.js → pinia-DINxhtY-.js} +188 -162
  251. package/dist/interface/ha/{plugins-C2n0mAnr.js → plugins-Cj-B4Nwy.js} +62 -62
  252. package/dist/interface/ha/{rooms-qqdOrA2J.js → rooms-C32i51p-.js} +7 -7
  253. package/dist/interface/ha/{server-D6Yglz-z.js → server-CfbE_0Z9.js} +31 -31
  254. package/dist/interface/ha/{types-BtcJ7st-.js → types-Ry6RjBNa.js} +32 -32
  255. package/dist/interface/ha/{ungrouped-aASsOUNF.js → ungrouped-CO29-tSV.js} +415 -211
  256. package/dist/interface/ha/{updates-BuAFU-ZQ.js → updates-CZPI8XJ1.js} +38 -38
  257. package/dist/interface/ha/{useAppVersion-D0EOwpoO.js → useAppVersion-9jfqRo_z.js} +1 -1
  258. package/dist/interface/ha/{useLogsSocket-CCewWMZM.js → useLogsSocket-B0E7a3ys.js} +1 -1
  259. package/dist/interface/ha/{useNavLayout-B_QzdVtJ.js → useNavLayout-B2wfeha-.js} +19 -19
  260. package/dist/interface/ha/{useServerRestart-B0OMNlwZ.js → useServerRestart-CCH-yMWR.js} +1 -1
  261. package/dist/interface/ha/{useTabSwipe-DG6Gx2Md.js → useTabSwipe-D2uqGEvR.js} +1 -1
  262. package/dist/interface/ha/{useUpdateChannel-CXDGlWX2.js → useUpdateChannel--SP3Wjym.js} +2 -2
  263. package/dist/interface/ha/{useUpdatesSocket-BgCJLp_W.js → useUpdatesSocket-BBbUCMU-.js} +1 -1
  264. package/dist/interface/ha/{useUserOptions-rirRksyl.js → useUserOptions-Bh54UAkH.js} +1 -1
  265. package/dist/interface/index.html +28 -27
  266. package/dist/interface/sw.js +1 -1
  267. package/dist/server/package.json +8 -8
  268. package/dist/server/src/api/controllers/training.controller.d.ts +40 -0
  269. package/dist/server/src/api/controllers/training.controller.js +97 -0
  270. package/dist/server/src/api/controllers/training.controller.js.map +1 -0
  271. package/dist/server/src/api/database/constants.d.ts +1 -0
  272. package/dist/server/src/api/database/constants.js +1 -0
  273. package/dist/server/src/api/database/constants.js.map +1 -1
  274. package/dist/server/src/api/database/index.d.ts +3 -2
  275. package/dist/server/src/api/database/index.js +4 -2
  276. package/dist/server/src/api/database/index.js.map +1 -1
  277. package/dist/server/src/api/database/migrations/v2-1-19.d.ts +3 -0
  278. package/dist/server/src/api/database/migrations/v2-1-19.js +24 -0
  279. package/dist/server/src/api/database/migrations/v2-1-19.js.map +1 -0
  280. package/dist/server/src/api/database/record-schemas.d.ts +7 -1
  281. package/dist/server/src/api/database/record-schemas.js +8 -0
  282. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  283. package/dist/server/src/api/database/types.d.ts +27 -0
  284. package/dist/server/src/api/index.js +1 -1
  285. package/dist/server/src/api/index.js.map +1 -1
  286. package/dist/server/src/api/render-index.js +1 -1
  287. package/dist/server/src/api/render-index.js.map +1 -1
  288. package/dist/server/src/api/routes/index.js +2 -0
  289. package/dist/server/src/api/routes/index.js.map +1 -1
  290. package/dist/server/src/api/routes/training.routes.d.ts +2 -0
  291. package/dist/server/src/api/routes/training.routes.js +107 -0
  292. package/dist/server/src/api/routes/training.routes.js.map +1 -0
  293. package/dist/server/src/api/schemas/cameras.schema.d.ts +76 -76
  294. package/dist/server/src/api/schemas/remote.schema.d.ts +1 -1
  295. package/dist/server/src/api/schemas/training.schema.d.ts +46 -0
  296. package/dist/server/src/api/schemas/training.schema.js +45 -0
  297. package/dist/server/src/api/schemas/training.schema.js.map +1 -0
  298. package/dist/server/src/api/services/cameras.service.js +7 -2
  299. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  300. package/dist/server/src/api/services/sensors.service.d.ts +1 -0
  301. package/dist/server/src/api/services/sensors.service.js +1 -0
  302. package/dist/server/src/api/services/sensors.service.js.map +1 -1
  303. package/dist/server/src/api/types/index.d.ts +2 -1
  304. package/dist/server/src/api/websocket/index.js +3 -1
  305. package/dist/server/src/api/websocket/index.js.map +1 -1
  306. package/dist/server/src/api/websocket/nsp/training.d.ts +11 -0
  307. package/dist/server/src/api/websocket/nsp/training.js +29 -0
  308. package/dist/server/src/api/websocket/nsp/training.js.map +1 -0
  309. package/dist/server/src/api/websocket/types.d.ts +1 -1
  310. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +1 -0
  311. package/dist/server/src/camera/decoder/detection-coordinator.js +48 -2
  312. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  313. package/dist/server/src/camera/decoder/detection-window.d.ts +5 -0
  314. package/dist/server/src/camera/decoder/detection-window.js +5 -5
  315. package/dist/server/src/camera/decoder/detection-window.js.map +1 -1
  316. package/dist/server/src/camera/decoder/event-manager.d.ts +10 -0
  317. package/dist/server/src/camera/decoder/event-manager.js +50 -1
  318. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  319. package/dist/server/src/camera/decoder/training-sink.d.ts +37 -0
  320. package/dist/server/src/camera/decoder/training-sink.js +146 -0
  321. package/dist/server/src/camera/decoder/training-sink.js.map +1 -0
  322. package/dist/server/src/camera/decoder/types.d.ts +4 -0
  323. package/dist/server/src/camera/decoder/types.js +8 -0
  324. package/dist/server/src/camera/decoder/types.js.map +1 -1
  325. package/dist/server/src/manager/coreManager.d.ts +3 -1
  326. package/dist/server/src/manager/coreManager.js +18 -0
  327. package/dist/server/src/manager/coreManager.js.map +1 -1
  328. package/dist/server/src/manager/trainingCandidateManager.d.ts +41 -0
  329. package/dist/server/src/manager/trainingCandidateManager.js +249 -0
  330. package/dist/server/src/manager/trainingCandidateManager.js.map +1 -0
  331. package/dist/server/src/manager/types.d.ts +23 -0
  332. package/dist/server/src/manager/types.js.map +1 -1
  333. package/dist/server/src/remote/api/index.d.ts +2 -0
  334. package/dist/server/src/remote/api/index.js +3 -0
  335. package/dist/server/src/remote/api/index.js.map +1 -1
  336. package/dist/server/src/remote/api/routes/oauth.js +1 -1
  337. package/dist/server/src/remote/api/routes/oauth.js.map +1 -1
  338. package/dist/server/src/remote/api/routes/train.d.ts +24 -0
  339. package/dist/server/src/remote/api/routes/train.js +51 -0
  340. package/dist/server/src/remote/api/routes/train.js.map +1 -0
  341. package/dist/server/src/rpc/index.d.ts +2 -0
  342. package/dist/server/src/rpc/index.js +5 -0
  343. package/dist/server/src/rpc/index.js.map +1 -1
  344. package/dist/server/src/rpc/interfaces/core.d.ts +21 -0
  345. package/dist/server/src/rpc/server.js +2 -0
  346. package/dist/server/src/rpc/server.js.map +1 -1
  347. package/dist/server/src/sensors/registry.d.ts +1 -0
  348. package/dist/server/src/sensors/registry.js +10 -0
  349. package/dist/server/src/sensors/registry.js.map +1 -1
  350. package/package.json +8 -8
  351. package/dist/interface/assets/Automation-DThD-djr.js +0 -3
  352. package/dist/interface/assets/AutomationImport-CHKkZqA4.js +0 -2
  353. package/dist/interface/assets/AutomationStore-Aon4kqZU.js +0 -2
  354. package/dist/interface/assets/AutomationStoreDetail-CfZ45tLW.js +0 -2
  355. package/dist/interface/assets/Automations-BkRuMd-d.js +0 -2
  356. package/dist/interface/assets/Camera-BWdUUW_H.css +0 -1
  357. package/dist/interface/assets/Camera-G6xTnRAk.js +0 -2
  358. package/dist/interface/assets/Camview-BZS4_jv1.css +0 -1
  359. package/dist/interface/assets/Camview-BjCuw7nI.js +0 -1
  360. package/dist/interface/assets/Config-BTXb1LHN.js +0 -2
  361. package/dist/interface/assets/ConfigActionNotification-DtoP3c7I.js +0 -1
  362. package/dist/interface/assets/ConfigTriggerGeofence-DLuNWaN6.js +0 -1
  363. package/dist/interface/assets/Console-hUeddOJc.js +0 -1
  364. package/dist/interface/assets/CuiBottomSheet-BGVpKjqe.js +0 -1
  365. package/dist/interface/assets/CuiBottomSheet-DOW6gNj0.js +0 -1
  366. package/dist/interface/assets/CuiBottomSheet-DsjZEdig.css +0 -1
  367. package/dist/interface/assets/CuiCameraPipCard-BBMkU-eN.js +0 -1
  368. package/dist/interface/assets/CuiCameraShares-C9Th3jEn.js +0 -1
  369. package/dist/interface/assets/CuiCameraTable-Cti7FZma.js +0 -1
  370. package/dist/interface/assets/CuiLightControl-BhBIiPv-.js +0 -1
  371. package/dist/interface/assets/CuiPluginCard-yYGvVtDJ.js +0 -2
  372. package/dist/interface/assets/CuiPluginOAuthButton-C8VRPoMj.js +0 -2
  373. package/dist/interface/assets/CuiSchema-Dy2eRCu2.js +0 -1
  374. package/dist/interface/assets/CuiTopNavbarItem-Btig8IUi.js +0 -1
  375. package/dist/interface/assets/Faces-D5PMl5Bx.js +0 -1
  376. package/dist/interface/assets/FirstSteps-BcjeaLz_.js +0 -1
  377. package/dist/interface/assets/Floorplan-DHl3zibU.js +0 -1
  378. package/dist/interface/assets/Instances-DXksjsQR.js +0 -1
  379. package/dist/interface/assets/Metrics-BWTImHsV.js +0 -9
  380. package/dist/interface/assets/Plugin-D5WuhMPO.js +0 -1
  381. package/dist/interface/assets/PluginDetail-3qrahg0_.js +0 -2
  382. package/dist/interface/assets/PluginSearch-D8zmSpkN.js +0 -2
  383. package/dist/interface/assets/PluginSearch-D_ba5x-O.js +0 -1
  384. package/dist/interface/assets/Plugins-5MzJrkSA.js +0 -1
  385. package/dist/interface/assets/Recordings-BuGuUwYE.js +0 -1
  386. package/dist/interface/assets/Recordings-D4NzYCO9.css +0 -1
  387. package/dist/interface/assets/SensorEdit-DF4sw0EW.js +0 -1
  388. package/dist/interface/assets/Sensors-D6GwAXQ2.js +0 -2
  389. package/dist/interface/assets/Settings-BZf-ziEZ.js +0 -1
  390. package/dist/interface/assets/SettingsAccount--5p79E6E.js +0 -1
  391. package/dist/interface/assets/SettingsAccount-Dlc0Wddo.js +0 -1
  392. package/dist/interface/assets/SettingsAppearance-B59zzxu4.js +0 -1
  393. package/dist/interface/assets/SettingsAppearance-xPKxmDpp.js +0 -1
  394. package/dist/interface/assets/SettingsBackup-CJJ5VBzp.js +0 -1
  395. package/dist/interface/assets/SettingsMqtt-DUUAcYuG.js +0 -1
  396. package/dist/interface/assets/SettingsNotifications-BH63oRsc.js +0 -1
  397. package/dist/interface/assets/SettingsRemote-Dbaxaq5H.js +0 -2
  398. package/dist/interface/assets/SettingsSystem-DzHIleOc.js +0 -2
  399. package/dist/interface/assets/SettingsUsers-D5YuEr7c.js +0 -1
  400. package/dist/interface/assets/Updates-DnAut-3U.js +0 -2
  401. package/dist/interface/assets/Workers-6aoL2zvF.js +0 -2
  402. package/dist/interface/assets/api-BI5TkcMD.js +0 -4
  403. package/dist/interface/assets/api-BTWXbCPQ.css +0 -2
  404. package/dist/interface/assets/cameraSources-C3PFkewy.js +0 -1
  405. package/dist/interface/assets/cloudHandoff-B1HA65AZ.js +0 -1
  406. package/dist/interface/assets/main-C6AqiNZK.js +0 -3
  407. package/dist/interface/assets/main-Qqk3RyYP.css +0 -1
  408. package/dist/interface/assets/mqtt-DGNlVikj.js +0 -1
  409. package/dist/interface/assets/rooms-DL_uUrGc.js +0 -1
  410. package/dist/interface/assets/types-QIK1kdY6.js +0 -1
  411. package/dist/interface/assets/ungrouped-CupkuPIQ.js +0 -1
  412. package/dist/interface/assets/ungrouped-DTYy_Pud.css +0 -1
  413. package/dist/interface/assets/useBackupRestore-jdHT_hab.js +0 -1
  414. package/dist/interface/assets/vendor-core-BUse5adB.js +0 -1
  415. package/dist/interface/ha/CuiPluginOAuthButton-ChNW42ux.js +0 -105
  416. package/dist/interface/ha/SettingsAccount-xJy6kGf6.js +0 -970
  417. package/dist/interface/ha/SettingsNotifications-QCKfSffa.js +0 -529
@@ -5,7 +5,9 @@ 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, isTrainingSubject } from './types.js';
10
+ export const SECONDARY_FRESH_MS = 1000;
9
11
  export const MOMENT_RANK_OBJECT = 0;
10
12
  export const MOMENT_RANK_ATTRIBUTE = 1;
11
13
  const UPDATE_THROTTLE_MS = 1000;
@@ -85,6 +87,7 @@ export class DetectionEventManager {
85
87
  segmentClipLabels = new Map();
86
88
  eventSubject;
87
89
  nvr;
90
+ training;
88
91
  trace = new EventTraceCollector();
89
92
  onEventEndCallback;
90
93
  onSegmentClosedCallback;
@@ -95,6 +98,7 @@ export class DetectionEventManager {
95
98
  const ns = NamespaceManager.detectionEventNamespaces(cameraId);
96
99
  this.eventSubject = ns.detectionEventSubject;
97
100
  this.nvr = new NvrSink(proxy, logger);
101
+ this.training = new TrainingSink(cameraId, proxy, logger);
98
102
  }
99
103
  updateNvrRpc(namespace) {
100
104
  this.nvr.setNamespace(namespace);
@@ -146,6 +150,8 @@ export class DetectionEventManager {
146
150
  this.needsEventThumbnail = false;
147
151
  this.publishEventThumbnail();
148
152
  }
153
+ if (data.trainingFrame)
154
+ this.offerTrainingCandidate(data.trainingFrame, data, now, data.trainingScore ?? 0);
149
155
  if (triggers.length > 0) {
150
156
  this.enrichTriggers(triggers, now);
151
157
  // a trigger joining mid-event (doorbell press during a motion event)
@@ -203,6 +209,7 @@ export class DetectionEventManager {
203
209
  destroy() {
204
210
  if (this.activeEvent)
205
211
  this.endEvent();
212
+ this.training.destroy();
206
213
  }
207
214
  publishEventThumbnail(jpeg, capturedAt) {
208
215
  if (!this.activeEvent)
@@ -225,6 +232,9 @@ export class DetectionEventManager {
225
232
  needsThumbnail() {
226
233
  return this.needsEventThumbnail;
227
234
  }
235
+ wantsTrainingFrame(subjects = [], score = 0) {
236
+ return this.training.wantsFrame(this.activeEvent?.id, subjects, score);
237
+ }
228
238
  hasActiveEvent() {
229
239
  return this.activeEvent !== null;
230
240
  }
@@ -257,6 +267,8 @@ export class DetectionEventManager {
257
267
  this.activeEvent.thumbnailAt = this.eventThumbnailAt || undefined;
258
268
  }
259
269
  this.publish('start', this.eventThumbnail ? { scene: this.eventThumbnail } : undefined);
270
+ if (data.trainingFrame)
271
+ this.offerTrainingCandidate(data.trainingFrame, data, now, data.trainingScore ?? 0);
260
272
  const triggerTypes = [...new Set(triggers.map((t) => t.type))].join(',');
261
273
  const thumbInfo = this.eventThumbnail ? jpegInfo(this.eventThumbnail) : 'pending';
262
274
  this.logger.log(`[event] start id=${this.activeEvent.id.slice(0, 8)} triggers=[${triggerTypes}] types=[${this.activeEvent.types.join(',')}] thumb=${thumbInfo}`);
@@ -279,6 +291,7 @@ export class DetectionEventManager {
279
291
  this.publish('end', trace ? { trace } : undefined);
280
292
  const duration = this.activeEvent.endTime - this.activeEvent.startTime;
281
293
  this.logger.log(`[event] end id=${this.activeEvent.id.slice(0, 8)} duration=${duration}ms segments=${this.segmentIndex} types=[${this.activeEvent.types.join(',')}]`);
294
+ this.training.flushNow();
282
295
  this.activeEvent = null;
283
296
  this.activeSegment = null;
284
297
  this.segmentClosePendingSince = null;
@@ -356,6 +369,7 @@ export class DetectionEventManager {
356
369
  this.flushPlateFallbacks();
357
370
  this.publishSegment('segment-end');
358
371
  this.clearSegmentThumbnails();
372
+ this.training.flushNow();
359
373
  this.segmentIndex++;
360
374
  this.activeSegment = null;
361
375
  }
@@ -852,6 +866,41 @@ export class DetectionEventManager {
852
866
  this.segmentClassifierTrackIds.clear();
853
867
  this.segmentClipLabels.clear();
854
868
  }
869
+ offerTrainingCandidate(scene, data, capturedAt, score) {
870
+ if (!this.activeEvent)
871
+ return;
872
+ const boxes = data.objects
873
+ .filter((o) => o.box && !isFullFrameBox(o.box))
874
+ .map((o) => ({ label: o.label, confidence: o.confidence, x: o.box.x, y: o.box.y, width: o.box.width, height: o.box.height }));
875
+ const facesFresh = data.facesAt !== undefined && capturedAt - data.facesAt <= SECONDARY_FRESH_MS;
876
+ const platesFresh = data.platesAt !== undefined && capturedAt - data.platesAt <= SECONDARY_FRESH_MS;
877
+ if (facesFresh) {
878
+ for (const face of data.faces) {
879
+ if (face.box && !isFullFrameBox(face.box)) {
880
+ boxes.push({ label: 'face', confidence: face.confidence, x: face.box.x, y: face.box.y, width: face.box.width, height: face.box.height });
881
+ }
882
+ }
883
+ }
884
+ if (platesFresh) {
885
+ for (const plate of data.plates) {
886
+ if (plate.box && !isFullFrameBox(plate.box)) {
887
+ boxes.push({ label: 'license_plate', confidence: plate.confidence, x: plate.box.x, y: plate.box.y, width: plate.box.width, height: plate.box.height });
888
+ }
889
+ }
890
+ }
891
+ // an unlabeled parked object in a training image teaches "background",
892
+ // so suppressed static tracks ride along as pre-annotations
893
+ for (const still of data.staticObjects ?? []) {
894
+ if (still.box && !isFullFrameBox(still.box)) {
895
+ boxes.push({ label: still.label, confidence: still.confidence, x: still.box.x, y: still.box.y, width: still.box.width, height: still.box.height });
896
+ }
897
+ }
898
+ const subjects = data.objects
899
+ .filter((o) => isTrainingSubject(o))
900
+ .map((o) => ({ trackId: o.trackId, box: o.box }))
901
+ .filter((s) => s.trackId !== undefined);
902
+ this.training.consider(this.activeEvent.id, scene, boxes, capturedAt, subjects, score);
903
+ }
855
904
  publish(type, attachments) {
856
905
  if (!this.activeEvent)
857
906
  return;
@@ -1 +1 @@
1
- {"version":3,"file":"event-manager.js","sourceRoot":"","sources":["../../../../../src/camera/decoder/event-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-manager.js","sourceRoot":"","sources":["../../../../../src/camera/decoder/event-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ import type { RPCClient } from '@camera.ui/rpc';
2
+ import type { LoggerService } from '@camera.ui/sdk';
3
+ import type { TrainingCandidateBox } from '../../rpc/interfaces/core.js';
4
+ export interface TrainingSubject {
5
+ trackId: number;
6
+ box: {
7
+ x: number;
8
+ y: number;
9
+ width: number;
10
+ height: number;
11
+ };
12
+ }
13
+ export declare class TrainingSink {
14
+ private readonly cameraId;
15
+ private readonly proxy;
16
+ private readonly logger;
17
+ private rpc?;
18
+ private enabled;
19
+ private held?;
20
+ private holdTimer?;
21
+ private sentEventId?;
22
+ private storedBoxes;
23
+ private eventSamples;
24
+ private pending;
25
+ private lastFlushAt;
26
+ private disabledUntil;
27
+ private unsubscribe?;
28
+ constructor(cameraId: string, proxy: RPCClient, logger: LoggerService);
29
+ wantsFrame(eventId: string | undefined, subjects?: TrainingSubject[], score?: number): boolean;
30
+ consider(eventId: string, scene: Uint8Array, boxes: TrainingCandidateBox[], capturedAt: number, subjects: TrainingSubject[], score: number): void;
31
+ flushNow(): void;
32
+ destroy(): void;
33
+ private core;
34
+ private discard;
35
+ private movedSinceStored;
36
+ private flush;
37
+ }
@@ -0,0 +1,146 @@
1
+ import { NamespaceManager } from '../../rpc/namespaces.js';
2
+ import { iou } from './detection-window.js';
3
+ const FLUSH_INTERVAL_MS = 15_000;
4
+ const DISABLED_BACKOFF_MS = 5 * 60_000;
5
+ const HOLD_WINDOW_MS = 5_000;
6
+ const SCORE_IMPROVEMENT = 1.25;
7
+ const MAX_SAMPLES_PER_EVENT = 64;
8
+ const MOVED_IOU = 0.5;
9
+ export class TrainingSink {
10
+ cameraId;
11
+ proxy;
12
+ logger;
13
+ rpc;
14
+ enabled = true;
15
+ held;
16
+ holdTimer;
17
+ sentEventId;
18
+ storedBoxes = new Map();
19
+ eventSamples = 0;
20
+ pending = false;
21
+ lastFlushAt = 0;
22
+ disabledUntil = 0;
23
+ unsubscribe;
24
+ constructor(cameraId, proxy, logger) {
25
+ this.cameraId = cameraId;
26
+ this.proxy = proxy;
27
+ this.logger = logger;
28
+ this.core()
29
+ .getTrainingCollectionEnabled()
30
+ .then((enabled) => {
31
+ this.enabled = enabled;
32
+ })
33
+ .catch(() => { });
34
+ this.proxy
35
+ .subscribe(NamespaceManager.coreManagerNamespaces().coreManagerSubject, (msg) => {
36
+ if (msg.type !== 'trainingSettingsChanged')
37
+ return;
38
+ this.enabled = msg.data?.enabled !== false;
39
+ if (this.enabled) {
40
+ this.disabledUntil = 0;
41
+ }
42
+ else {
43
+ this.discard();
44
+ }
45
+ })
46
+ .then((unsub) => {
47
+ this.unsubscribe = unsub;
48
+ })
49
+ .catch(() => { });
50
+ }
51
+ wantsFrame(eventId, subjects = [], score = 0) {
52
+ if (!this.enabled || this.pending)
53
+ return false;
54
+ const now = Date.now();
55
+ if (now < this.disabledUntil)
56
+ return false;
57
+ // an open window only accepts a clear upgrade, everything else is free ticks
58
+ if (this.held && this.held.eventId === eventId)
59
+ return score > this.held.score * SCORE_IMPROVEMENT;
60
+ if (now - this.lastFlushAt < FLUSH_INTERVAL_MS)
61
+ return false;
62
+ if (eventId && this.sentEventId === eventId) {
63
+ // a stuck-open event must not churn the whole per-camera pool
64
+ if (this.eventSamples >= MAX_SAMPLES_PER_EVENT)
65
+ return false;
66
+ // a subject earns another frame only at a position the event has not
67
+ // stored yet, so static scenes don't repeat
68
+ return subjects.some((s) => this.movedSinceStored(s));
69
+ }
70
+ return true;
71
+ }
72
+ consider(eventId, scene, boxes, capturedAt, subjects, score) {
73
+ if (boxes.length === 0 || !this.wantsFrame(eventId, subjects, score))
74
+ return;
75
+ if (this.held && this.held.eventId !== eventId)
76
+ this.flush();
77
+ if (this.held) {
78
+ this.held.scene = scene;
79
+ this.held.boxes = boxes;
80
+ this.held.capturedAt = capturedAt;
81
+ this.held.score = score;
82
+ this.held.subjects = subjects;
83
+ return;
84
+ }
85
+ this.held = { eventId, scene, boxes, capturedAt, score, subjects };
86
+ this.holdTimer = setTimeout(() => this.flush(), HOLD_WINDOW_MS);
87
+ }
88
+ flushNow() {
89
+ this.flush();
90
+ }
91
+ destroy() {
92
+ this.flush();
93
+ this.unsubscribe?.();
94
+ this.unsubscribe = undefined;
95
+ }
96
+ core() {
97
+ this.rpc ??= this.proxy.createProxy(NamespaceManager.coreManagerNamespaces().coreManagerRpc);
98
+ return this.rpc;
99
+ }
100
+ discard() {
101
+ if (this.holdTimer)
102
+ clearTimeout(this.holdTimer);
103
+ this.holdTimer = undefined;
104
+ this.held = undefined;
105
+ }
106
+ movedSinceStored(subject) {
107
+ const stored = this.storedBoxes.get(subject.trackId);
108
+ if (!stored)
109
+ return true;
110
+ return iou(stored, subject.box) < MOVED_IOU;
111
+ }
112
+ flush() {
113
+ const held = this.held;
114
+ this.discard();
115
+ if (!held)
116
+ return;
117
+ this.pending = true;
118
+ this.lastFlushAt = Date.now();
119
+ this.core()
120
+ .ingestTrainingCandidate({ cameraId: this.cameraId, eventId: held.eventId, capturedAt: held.capturedAt, boxes: held.boxes, scene: held.scene })
121
+ .then((result) => {
122
+ if (result === 'stored') {
123
+ if (this.sentEventId !== held.eventId) {
124
+ this.storedBoxes.clear();
125
+ this.eventSamples = 0;
126
+ }
127
+ this.sentEventId = held.eventId;
128
+ this.eventSamples += 1;
129
+ // positions are charged for the frame that actually ships, not for every tick
130
+ for (const subject of held.subjects)
131
+ this.storedBoxes.set(subject.trackId, subject.box);
132
+ }
133
+ else if (result === 'disabled') {
134
+ this.enabled = false;
135
+ this.disabledUntil = Date.now() + DISABLED_BACKOFF_MS;
136
+ }
137
+ })
138
+ .catch((error) => {
139
+ this.logger.debug('Training candidate was not taken:', error);
140
+ })
141
+ .finally(() => {
142
+ this.pending = false;
143
+ });
144
+ }
145
+ }
146
+ //# sourceMappingURL=training-sink.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"training-sink.js","sourceRoot":"","sources":["../../../../../src/camera/decoder/training-sink.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,10 @@ export declare function ensureDetectionBoxes<T extends {
10
10
  box: BoundingBox;
11
11
  })[];
12
12
  export declare function isFullFrameBox(box: BoundingBox): boolean;
13
+ export declare function touchesFrameEdge(box: BoundingBox): boolean;
14
+ export declare function isTrainingSubject(detection: {
15
+ box?: BoundingBox;
16
+ }): boolean;
13
17
  export interface CoordinatorSourceUrl {
14
18
  role: StreamingRole;
15
19
  url: string;
@@ -6,6 +6,14 @@ export function ensureDetectionBoxes(detections) {
6
6
  export function isFullFrameBox(box) {
7
7
  return box.x <= 0 && box.y <= 0 && box.width >= 1 && box.height >= 1;
8
8
  }
9
+ export function touchesFrameEdge(box) {
10
+ return box.x <= 0.005 || box.y <= 0.005 || box.x + box.width >= 0.995 || box.y + box.height >= 0.995;
11
+ }
12
+ export function isTrainingSubject(detection) {
13
+ if (!detection.box || isFullFrameBox(detection.box))
14
+ return false;
15
+ return detection.stationarySince === undefined;
16
+ }
9
17
  export const MOTION_WIDTH_MAP = {
10
18
  low: 320,
11
19
  medium: 480,
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/camera/decoder/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAS5C,MAAM,CAAC,MAAM,cAAc,GAAgB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAE/E,MAAM,UAAU,oBAAoB,CAAkC,UAAwB;IAC5F,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAE,SAAsC,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,EAAE,GAAG,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;AACjJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAgB;IAC7C,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;AACvE,CAAC;AAOD,MAAM,CAAC,MAAM,gBAAgB,GAAqC;IAChE,GAAG,EAAE,GAAG;IACR,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;CACV,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AA+ExC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,CAAU,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../src/camera/decoder/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAS5C,MAAM,CAAC,MAAM,cAAc,GAAgB,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAE/E,MAAM,UAAU,oBAAoB,CAAkC,UAAwB;IAC5F,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAE,SAAsC,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,EAAE,GAAG,EAAE,EAAE,GAAG,cAAc,EAAE,EAAE,CAAC,CAAC,CAAC;AACjJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,GAAgB;IAC7C,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC;AACvE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAgB;IAC/C,OAAO,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,IAAI,KAAK,IAAI,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,SAAgC;IAChE,IAAI,CAAC,SAAS,CAAC,GAAG,IAAI,cAAc,CAAC,SAAS,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IAClE,OAAQ,SAA0C,CAAC,eAAe,KAAK,SAAS,CAAC;AACnF,CAAC;AAOD,MAAM,CAAC,MAAM,gBAAgB,GAAqC;IAChE,GAAG,EAAE,GAAG;IACR,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;CACV,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AA+ExC,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,YAAY,EAAE,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,IAAI,CAAU,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { PluginInterface } from '@camera.ui/sdk';
2
- import type { CoreManagerInterface, CoreManagerProxyEvents, FloorPlan, HostPluginInfo } from '../rpc/interfaces/core.js';
2
+ import type { CoreManagerInterface, CoreManagerProxyEvents, FloorPlan, HostPluginInfo, TrainingCandidateIngest, TrainingIngestResult } from '../rpc/interfaces/core.js';
3
3
  export declare class CoreManager implements CoreManagerInterface {
4
4
  private proxyServer;
5
5
  private configService;
@@ -17,6 +17,8 @@ export declare class CoreManager implements CoreManagerInterface {
17
17
  requestCoreManagerEvent<K extends keyof CoreManagerProxyEvents, R = any>(type: K, data: CoreManagerProxyEvents[K]): Promise<R>;
18
18
  getPlugin(pluginName: string): Promise<HostPluginInfo | undefined>;
19
19
  getPluginsByInterface(interfaceName: PluginInterface): Promise<HostPluginInfo[]>;
20
+ ingestTrainingCandidate(payload: TrainingCandidateIngest): Promise<TrainingIngestResult>;
21
+ getTrainingCollectionEnabled(): Promise<boolean>;
20
22
  getFFmpegPath(): Promise<string>;
21
23
  getServerAddresses(): Promise<string[]>;
22
24
  getCloudServerId(): Promise<string>;
@@ -65,6 +65,12 @@ let CoreManager = class CoreManager {
65
65
  .filter((p) => p.contract.interfaces?.includes(interfaceName) && !p.disabled)
66
66
  .map((p) => ({ id: p.id, name: p.pluginName, contract: p.contract, running: p.worker?.isRunning() === true }));
67
67
  }
68
+ async ingestTrainingCandidate(payload) {
69
+ return container.resolve('trainingCandidateManager').ingest(payload);
70
+ }
71
+ async getTrainingCollectionEnabled() {
72
+ return container.resolve('trainingCandidateManager').getSettings().enabled;
73
+ }
68
74
  async getFFmpegPath() {
69
75
  return this.configService.go2rtcConfig.ffmpeg.bin;
70
76
  }
@@ -90,6 +96,18 @@ __decorate([
90
96
  __metadata("design:paramtypes", [String]),
91
97
  __metadata("design:returntype", Promise)
92
98
  ], CoreManager.prototype, "getPluginsByInterface", null);
99
+ __decorate([
100
+ RPCMethod,
101
+ __metadata("design:type", Function),
102
+ __metadata("design:paramtypes", [Object]),
103
+ __metadata("design:returntype", Promise)
104
+ ], CoreManager.prototype, "ingestTrainingCandidate", null);
105
+ __decorate([
106
+ RPCMethod,
107
+ __metadata("design:type", Function),
108
+ __metadata("design:paramtypes", []),
109
+ __metadata("design:returntype", Promise)
110
+ ], CoreManager.prototype, "getTrainingCollectionEnabled", null);
93
111
  __decorate([
94
112
  RPCMethod,
95
113
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"coreManager.js","sourceRoot":"","sources":["../../../../src/manager/coreManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"coreManager.js","sourceRoot":"","sources":["../../../../src/manager/coreManager.ts"],"names":[],"mappings":"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"}