@camera.ui/server 2.2.3 → 2.2.5-beta.0

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 (341) hide show
  1. package/dist/interface/assets/{404-D0S6IGok.js → 404-Bdbp69ox.js} +1 -1
  2. package/dist/interface/assets/{About-DAw9u8ZY.js → About-DmtCok-y.js} +1 -1
  3. package/dist/interface/assets/{Assistant-Gi6_YkEY.js → Assistant-D-Lv6JtY.js} +1 -1
  4. package/dist/interface/assets/{Automation-6eFKPJPu.js → Automation-LQ3TssrU.js} +3 -3
  5. package/dist/interface/assets/{AutomationImport-95PfbPvG.js → AutomationImport-B_ra3G3_.js} +2 -2
  6. package/dist/interface/assets/{AutomationStore-BHxzzx7a.js → AutomationStore-DSXSaQjp.js} +2 -2
  7. package/dist/interface/assets/{AutomationStoreDetail-DEVlRllt.js → AutomationStoreDetail-B5_Meb6R.js} +2 -2
  8. package/dist/interface/assets/{Automations-DEivoiS1.js → Automations-DHfPRe8W.js} +2 -2
  9. package/dist/interface/assets/Camera-B4ojNnKb.css +1 -0
  10. package/dist/interface/assets/Camera-CDbfvtJv.js +2 -0
  11. package/dist/interface/assets/{CameraConsole-B8bBYQzk.js → CameraConsole-DX-IRmd_.js} +1 -1
  12. package/dist/interface/assets/{Cameras-HblWPGCv.js → Cameras-D9m2bxWj.js} +1 -1
  13. package/dist/interface/assets/{Camview-DEKrbg5R.js → Camview-DKOYY6TI.js} +1 -1
  14. package/dist/interface/assets/{CertificateUpload-CC6YtX7h.js → CertificateUpload-B8ccb3n-.js} +1 -1
  15. package/dist/interface/assets/{Config-DQEaOnaN.js → Config-DCIUUWCv.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionAssistant-C_XRnBzo.js → ConfigActionAssistant-6IUzZeNW.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionCameraControl-oRzM9rjX.js → ConfigActionCameraControl-EXuiNMuG.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionDelay-Dc-NZS5L.js → ConfigActionDelay-Cs4sYEk-.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionHttp-Nw0wt-JZ.js → ConfigActionHttp-gUM6RQ6Y.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionImageInput-Do60Upqm.js → ConfigActionImageInput-CPl5kVgO.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionMqtt-BeQVgaGX.js → ConfigActionMqtt-BeBMCOJ-.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionNotification-BA0FjOWs.js → ConfigActionNotification-DJFHdFDN.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionNotificationControl-Ce3Kd_Xv.js → ConfigActionNotificationControl-BXoztPTs.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionOutput-ChiOMWDy.js → ConfigActionOutput-BGrFWqZ1.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionPlugin-Cn3r0glk.js → ConfigActionPlugin-CdIIMcJZ.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionSensor-DkdBCu-6.js → ConfigActionSensor-MRVGJ22A.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionSnapshot-CLlaDFUV.js → ConfigActionSnapshot-CxA4f5ag.js} +1 -1
  28. package/dist/interface/assets/{ConfigActionVariable-D4x3Luxl.js → ConfigActionVariable-DmU4seLh.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionIfElse-BpL8KZ5X.js → ConfigConditionIfElse-Tgdrk7lo.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionSensorState-CSQexUF_.js → ConfigConditionSensorState-CyyzoL6Q.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionSwitch-CB2J_5kr.js → ConfigConditionSwitch-DprK5AbR.js} +1 -1
  32. package/dist/interface/assets/{ConfigConditionTime-X9fsNsYu.js → ConfigConditionTime-CDruEvBp.js} +1 -1
  33. package/dist/interface/assets/{ConfigSensorValueInput-VPhPxrQl.js → ConfigSensorValueInput-BhlgTOW9.js} +1 -1
  34. package/dist/interface/assets/{ConfigTriggerDetection-Dhzng4X5.js → ConfigTriggerDetection-4vdEST9Y.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerGeofence-Cm0CLNf5.js → ConfigTriggerGeofence-1B0BdCOw.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerManual-CRi3rsgG.js → ConfigTriggerManual-BQLDqwZh.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerMqtt-Ck__CWck.js → ConfigTriggerMqtt-B3YNOB6U.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSchedule-C1PZrHEu.js → ConfigTriggerSchedule-DhbJGOT7.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSensor-9xVgCtkn.js → ConfigTriggerSensor-iMPg_Pmb.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerSystem-Denf1gkO.js → ConfigTriggerSystem-MaNZTO3h.js} +1 -1
  41. package/dist/interface/assets/{ConfigTriggerWebhook-im24LkCn.js → ConfigTriggerWebhook-B3WfXjPv.js} +1 -1
  42. package/dist/interface/assets/{Console-Q1HpmyO_.js → Console-BQLINPCG.js} +1 -1
  43. package/dist/interface/assets/{CuiAssistantConversation-BxJf9sdu.js → CuiAssistantConversation-yCRlgjtr.js} +1 -1
  44. package/dist/interface/assets/{CuiAutomationRunsDialog-B3tJ-Cma.js → CuiAutomationRunsDialog-CJ0mzDLL.js} +1 -1
  45. package/dist/interface/assets/{CuiBottomSheet-kvvLw1MQ.js → CuiBottomSheet-BbP0T2v3.js} +1 -1
  46. package/dist/interface/assets/CuiBottomSheet-BpMMQhmJ.js +1 -0
  47. package/dist/interface/assets/CuiCameraPipCard-1EhYM5kQ.js +1 -0
  48. package/dist/interface/assets/CuiCameraRecordings-CkkHbNyY.css +1 -0
  49. package/dist/interface/assets/CuiCameraRecordings-D2jG47AV.js +1 -0
  50. package/dist/interface/assets/{CuiCameraShares-B5ghuJS-.js → CuiCameraShares-IpkomKkl.js} +1 -1
  51. package/dist/interface/assets/CuiCameraTable-CNclH1KS.js +1 -0
  52. package/dist/interface/assets/{CuiCameraTable-Y5XUkU7w.js → CuiCameraTable-DlL-z_na.js} +1 -1
  53. package/dist/interface/assets/{CuiChartTable-CXdupaj5.js → CuiChartTable-B0EPcrgv.js} +1 -1
  54. package/dist/interface/assets/{CuiConsole-5KgXSOS5.js → CuiConsole-D8Xk2LXY.js} +1 -1
  55. package/dist/interface/assets/{CuiDataTable-hArZWV9B.js → CuiDataTable-DtRTB560.js} +1 -1
  56. package/dist/interface/assets/{CuiLightControl-MRpR0XIZ.js → CuiLightControl-CtL3sA8k.js} +1 -1
  57. package/dist/interface/assets/{CuiList-D-l4HrBP.js → CuiList-Bn7DT_Ao.js} +1 -1
  58. package/dist/interface/assets/{CuiPluginCard-whoQ5YHn.js → CuiPluginCard-B-4x6Mno.js} +2 -2
  59. package/dist/interface/assets/{CuiPluginCategoryChip-CH53zk2o.js → CuiPluginCategoryChip-Dih4zKtO.js} +1 -1
  60. package/dist/interface/assets/{CuiPluginOAuthButton-BBA0AzVO.js → CuiPluginOAuthButton-D-Y9KYJz.js} +2 -2
  61. package/dist/interface/assets/{CuiPluginTrustBadge-C0EX5aCI.js → CuiPluginTrustBadge-_g3Ctrg4.js} +1 -1
  62. package/dist/interface/assets/{CuiQRCode-BRT0NO5c.js → CuiQRCode-D6hzmPzV.js} +1 -1
  63. package/dist/interface/assets/{CuiSchema-DBY1x1BT.js → CuiSchema-Dh8Mu4BK.js} +1 -1
  64. package/dist/interface/assets/{CuiTopNavbarItem-CpMT8_0r.js → CuiTopNavbarItem-CgX21E5K.js} +1 -1
  65. package/dist/interface/assets/Faces-CgDoKVkp.js +1 -0
  66. package/dist/interface/assets/{FirstSteps-B8n4fGK3.js → FirstSteps-CZSTX7Ot.js} +1 -1
  67. package/dist/interface/assets/{Floorplan-ZHXNaZA8.js → Floorplan-CRvmaf45.js} +1 -1
  68. package/dist/interface/assets/{Instances-DEj3gs6H.js → Instances-DRkhTQKC.js} +1 -1
  69. package/dist/interface/assets/{Logs-CwHvSKd6.js → Logs-CIDJSpdH.js} +1 -1
  70. package/dist/interface/assets/{Menu-C4BxUV0P.js → Menu-CM_F1jfd.js} +1 -1
  71. package/dist/interface/assets/{Metrics-BCOE-rcw.js → Metrics-DgJEg-ZK.js} +3 -3
  72. package/dist/interface/assets/Metrics-Ebv4qK2a.css +1 -0
  73. package/dist/interface/assets/{OAuthDeviceFlow-D6bjZOYS.js → OAuthDeviceFlow-BZ9LcgmJ.js} +1 -1
  74. package/dist/interface/assets/{Plugin-ppCvxkl4.js → Plugin-BBDpg6U_.js} +1 -1
  75. package/dist/interface/assets/{PluginConsole-BP42Qpee.js → PluginConsole-DxVlTuNy.js} +1 -1
  76. package/dist/interface/assets/{PluginDetail-BnX5lZGz.js → PluginDetail-fLGD3R-u.js} +2 -2
  77. package/dist/interface/assets/PluginSchema-CewD2H-K.js +1 -0
  78. package/dist/interface/assets/{PluginSearch-no79fTuf.js → PluginSearch-5wX7WEcz.js} +2 -2
  79. package/dist/interface/assets/PluginSearch-rDbuXm2z.js +1 -0
  80. package/dist/interface/assets/{PluginUpdateProgress-73jprYHA.js → PluginUpdateProgress-B7Lj0ttd.js} +1 -1
  81. package/dist/interface/assets/{Plugins-DtEqS6_j.js → Plugins-DVQ476iL.js} +1 -1
  82. package/dist/interface/assets/{RecentEventsFilter-CtyCbt6Z.js → RecentEventsFilter-CWNBI2Ge.js} +1 -1
  83. package/dist/interface/assets/Recordings-DSRgRVhN.js +1 -0
  84. package/dist/interface/assets/{SensorEdit-D4-mMg8S.js → SensorEdit-B1mYmxDV.js} +1 -1
  85. package/dist/interface/assets/{SensorHistory-C-X7VI-f.js → SensorHistory-D1kKroxp.js} +1 -1
  86. package/dist/interface/assets/{Sensors-BJh8BkCR.js → Sensors-yAc1M-oO.js} +2 -2
  87. package/dist/interface/assets/{Settings-B9CZvA-d.js → Settings-DBKgECRK.js} +1 -1
  88. package/dist/interface/assets/{SettingsAccount-D3zF2kLc.js → SettingsAccount-CM3XGNL6.js} +1 -1
  89. package/dist/interface/assets/SettingsAccount-i2nzGFdV.js +1 -0
  90. package/dist/interface/assets/{SettingsAppearance-CbG8M38w.js → SettingsAppearance-C-nllv3m.js} +1 -1
  91. package/dist/interface/assets/SettingsAppearance-DCgu01FJ.js +1 -0
  92. package/dist/interface/assets/{SettingsAssistant-DxYPnbms.js → SettingsAssistant-ClRO04fv.js} +1 -1
  93. package/dist/interface/assets/{SettingsBackup-DZBzUyQm.js → SettingsBackup-Cq_eLVCR.js} +1 -1
  94. package/dist/interface/assets/{SettingsList-DFg8g7IM.js → SettingsList-Bklt3TQO.js} +1 -1
  95. package/dist/interface/assets/{SettingsMqtt-BeujOZkh.js → SettingsMqtt-BLkP0en6.js} +1 -1
  96. package/dist/interface/assets/{SettingsNotifications-DtSTE76r.js → SettingsNotifications-CeUKfEnH.js} +1 -1
  97. package/dist/interface/assets/{SettingsPermissions-CPOAefv0.js → SettingsPermissions-Cpka-k3Q.js} +1 -1
  98. package/dist/interface/assets/{SettingsRecordings-ClAtT4Bh.js → SettingsRecordings-k20qTe7K.js} +1 -1
  99. package/dist/interface/assets/{SettingsRemote-58S4Thfp.js → SettingsRemote-CdUj0nZ1.js} +1 -1
  100. package/dist/interface/assets/{SettingsSystem-tTGpuiRW.js → SettingsSystem-6OChvWL7.js} +2 -2
  101. package/dist/interface/assets/{SettingsUsers-D8b7I5c2.js → SettingsUsers-B57uZ8jn.js} +1 -1
  102. package/dist/interface/assets/{Terminal-1_Fi0VW-.js → Terminal-WMgVSORW.js} +1 -1
  103. package/dist/interface/assets/Training-BkWlywj_.js +1 -0
  104. package/dist/interface/assets/{Training-CQHfQjUP.css → Training-Dwf5rXyC.css} +1 -1
  105. package/dist/interface/assets/{Updates-BW0p7Wc5.js → Updates-Dwrd6PQl.js} +1 -1
  106. package/dist/interface/assets/{VariableInput-sqnLuk6S.js → VariableInput-CDJXnzEV.js} +1 -1
  107. package/dist/interface/assets/{VariableSuggestions-3pbnxhyT.js → VariableSuggestions-CNq7O1o-.js} +1 -1
  108. package/dist/interface/assets/{VersionsHandler-CWmjDygB.js → VersionsHandler-C0A8Ryhn.js} +1 -1
  109. package/dist/interface/assets/{VirtualSensorCreate-BzmFlvYD.js → VirtualSensorCreate-zEehu8Fg.js} +1 -1
  110. package/dist/interface/assets/{Workers-Dm9o2wMo.js → Workers-Be7q2vOK.js} +1 -1
  111. package/dist/interface/assets/{api-CQ-3I3-i.js → api-CSl3-BNZ.js} +1 -1
  112. package/dist/interface/assets/api-DcaDMCnj.css +2 -0
  113. package/dist/interface/assets/api-vegsDz6n.js +4 -0
  114. package/dist/interface/assets/{assistant-0UymvpMy.js → assistant-jARIkvB1.js} +1 -1
  115. package/dist/interface/assets/{auth-C0jhqNaz.js → auth-Bov4B1jy.js} +1 -1
  116. package/dist/interface/assets/{automations-Bj30nb8s.js → automations-CJe7TvLk.js} +1 -1
  117. package/dist/interface/assets/{cameraSources-CiMjIjsh.js → cameraSources-CDiYtBzG.js} +1 -1
  118. package/dist/interface/assets/cloudHandoff-BoV37fDI.js +1 -0
  119. package/dist/interface/assets/{config-D-uVfwYp.js → config-iO2vrtak.js} +1 -1
  120. package/dist/interface/assets/{flowSchema-D3nNJVLL.js → flowSchema-B0vIoy4y.js} +1 -1
  121. package/dist/interface/assets/{intercomService-BeoNs-09.js → intercomService-IAAXcRPG.js} +1 -1
  122. package/dist/interface/assets/main-DQgH1fon.js +3 -0
  123. package/dist/interface/assets/{mqtt-D7jRwifB.js → mqtt-DfpSLxes.js} +1 -1
  124. package/dist/interface/assets/{notifications-BpRVoerg.js → notifications-jTSwwN1i.js} +1 -1
  125. package/dist/interface/assets/{plugins-wZ4RDxCb.js → plugins-ChyJXprl.js} +1 -1
  126. package/dist/interface/assets/{rooms-CFcu2dU1.js → rooms-BMWJpAXC.js} +1 -1
  127. package/dist/interface/assets/{sensorIcons-B117n8l2.js → sensorIcons-dUp8Tone.js} +1 -1
  128. package/dist/interface/assets/{sensorSlots-CAr3prFc.js → sensorSlots-CosoVMys.js} +1 -1
  129. package/dist/interface/assets/{sensors-oriEG3KR.js → sensors-DLdbNuoj.js} +1 -1
  130. package/dist/interface/assets/{server-Ce6ou2NV.js → server-D-qkU2-U.js} +1 -1
  131. package/dist/interface/assets/{theme-CBTC6-Lp.js → theme-DhneHMji.js} +1 -1
  132. package/dist/interface/assets/{types-CzjppLwt.js → types-CngwbyEy.js} +1 -1
  133. package/dist/interface/assets/{types-C-amdBz6.js → types-DDpq8alD.js} +1 -1
  134. package/dist/interface/assets/{types-CjU6-JvD.js → types-DdyAGRju.js} +1 -1
  135. package/dist/interface/assets/{ungrouped-AYNBKz52.css → ungrouped-DBRZ-Ori.css} +1 -1
  136. package/dist/interface/assets/ungrouped-e2tQIZD2.js +1 -0
  137. package/dist/interface/assets/{updates-Cohtc6vb.js → updates-DnVisGT3.js} +1 -1
  138. package/dist/interface/assets/{useAppVersion-xxi6fR7J.js → useAppVersion-gtzMlM4b.js} +1 -1
  139. package/dist/interface/assets/{useAssistantActions-BkRK1FBg.js → useAssistantActions-BIHVky9T.js} +1 -1
  140. package/dist/interface/assets/{useBackupRestore-BGvhSqJB.js → useBackupRestore-DfgufKp3.js} +1 -1
  141. package/dist/interface/assets/{useCameraOptions-ophs2V4p.js → useCameraOptions-B9yEPgGd.js} +1 -1
  142. package/dist/interface/assets/{useKeyboardInset-Cpz6Hs5c.js → useKeyboardInset-1sUlRSeV.js} +1 -1
  143. package/dist/interface/assets/{useLogsSocket-CB07yhv4.js → useLogsSocket-C2QUQqkZ.js} +1 -1
  144. package/dist/interface/assets/{useNavLayout-BYEejBpb.js → useNavLayout-Br4MtSjQ.js} +1 -1
  145. package/dist/interface/assets/{usePermissions-yWhjYMcr.js → usePermissions-B8pw9jk1.js} +1 -1
  146. package/dist/interface/assets/{usePluginUpdates-9rvsWfdJ.js → usePluginUpdates-Cx9PwENn.js} +1 -1
  147. package/dist/interface/assets/{usePushRegistration-b5owOzjH.js → usePushRegistration-CLEyagJM.js} +1 -1
  148. package/dist/interface/assets/{useServerRestart-yRXDWnH_.js → useServerRestart-BBp4cko_.js} +1 -1
  149. package/dist/interface/assets/{useStreamStatus-BHyWrAHu.js → useStreamStatus-BrPjpyzs.js} +1 -1
  150. package/dist/interface/assets/{useTabSwipe-Dr9HYP1J.js → useTabSwipe-B4edrv6o.js} +1 -1
  151. package/dist/interface/assets/{useUpdateChannel-IVj0XKlN.js → useUpdateChannel-DugwYo8J.js} +1 -1
  152. package/dist/interface/assets/{useUpdatesSocket-CuPHbSF7.js → useUpdatesSocket-CgCXGGVg.js} +1 -1
  153. package/dist/interface/assets/{useUserOptions-zIfrMDiG.js → useUserOptions-DTlKtp_u.js} +1 -1
  154. package/dist/interface/assets/vendor-cameraui-D0VXSxSF.js +2326 -0
  155. package/dist/interface/assets/{vendor-core-CQ2HVu0L.js → vendor-core-Ba81bBNM.js} +1 -1
  156. package/dist/interface/assets/{vendor-primevue-CeWNZxSE.js → vendor-primevue-LZEE4d1W.js} +1 -1
  157. package/dist/interface/ha/{404-B70KNhsW.js → 404-CkAIe5nc.js} +1 -1
  158. package/dist/interface/ha/{About-DLNqqctZ.js → About-C7HxP7hM.js} +3 -3
  159. package/dist/interface/ha/{Assistant-Duvvoz2B.js → Assistant-DJYxiCOY.js} +278 -278
  160. package/dist/interface/ha/{Automation-DZ8zvsvo.js → Automation-CfNHCeIm.js} +41 -41
  161. package/dist/interface/ha/{AutomationImport-DOCdim5O.js → AutomationImport-Dn3C1604.js} +6 -6
  162. package/dist/interface/ha/{AutomationStore-Bjoubp-m.js → AutomationStore-D63G9w2Y.js} +7 -7
  163. package/dist/interface/ha/{AutomationStoreDetail-H-RWNpwm.js → AutomationStoreDetail-HoUC8cSY.js} +6 -6
  164. package/dist/interface/ha/{Automations-GyofQfo7.js → Automations-BOlE1Evb.js} +43 -43
  165. package/dist/interface/ha/{Camera-Bo5nMQaU.js → Camera-6Vvo7nee.js} +225 -213
  166. package/dist/interface/ha/{CameraConsole-BmDQ3rcS.js → CameraConsole-DYSNDW4P.js} +3 -3
  167. package/dist/interface/ha/{Cameras-BfHoFjpC.js → Cameras-CxgwXUaG.js} +306 -306
  168. package/dist/interface/ha/{Camview-DVoIdM3o.js → Camview-DPjoUMSP.js} +227 -227
  169. package/dist/interface/ha/{Config-CC8tQiOy.js → Config-BzBFIWVF.js} +7 -7
  170. package/dist/interface/ha/{ConfigActionAssistant-hfsz38an.js → ConfigActionAssistant-BpHf4Pdi.js} +4 -4
  171. package/dist/interface/ha/{ConfigActionCameraControl-C0-wxlAS.js → ConfigActionCameraControl-CmbCTwZ8.js} +3 -3
  172. package/dist/interface/ha/{ConfigActionHttp-CM_3bIUq.js → ConfigActionHttp-BxN2KOA6.js} +2 -2
  173. package/dist/interface/ha/{ConfigActionImageInput-B5306Z_7.js → ConfigActionImageInput-CrXUZ-cM.js} +1 -1
  174. package/dist/interface/ha/{ConfigActionMqtt-DLiM83Kz.js → ConfigActionMqtt-DYq-6_S6.js} +4 -4
  175. package/dist/interface/ha/{ConfigActionNotification-36VBlfim.js → ConfigActionNotification-DPUSAVLI.js} +3 -3
  176. package/dist/interface/ha/{ConfigActionNotificationControl-DRjDvA1H.js → ConfigActionNotificationControl-h4zta4Db.js} +2 -2
  177. package/dist/interface/ha/{ConfigActionOutput-BkGHERoJ.js → ConfigActionOutput-Dwa0-7cq.js} +1 -1
  178. package/dist/interface/ha/{ConfigActionPlugin-Ds1_Pow7.js → ConfigActionPlugin-DXx1a-Hr.js} +5 -5
  179. package/dist/interface/ha/{ConfigActionSensor-22uKE0d0.js → ConfigActionSensor-CfLIHqS8.js} +5 -5
  180. package/dist/interface/ha/{ConfigActionSnapshot-uTTsTfo2.js → ConfigActionSnapshot-O0OBVq-R.js} +2 -2
  181. package/dist/interface/ha/{ConfigActionVariable-DNMJBiQV.js → ConfigActionVariable-CbaIxRRe.js} +1 -1
  182. package/dist/interface/ha/{ConfigConditionIfElse-BVzmIDKK.js → ConfigConditionIfElse-B7ax92bG.js} +3 -3
  183. package/dist/interface/ha/{ConfigConditionSensorState-Di7Ic1xI.js → ConfigConditionSensorState-B5XIrEGU.js} +4 -4
  184. package/dist/interface/ha/{ConfigConditionSwitch-D8CcTHJ1.js → ConfigConditionSwitch-DJSz6bI5.js} +5 -5
  185. package/dist/interface/ha/{ConfigSensorValueInput-DthsOthT.js → ConfigSensorValueInput-fE2SBn1B.js} +4 -4
  186. package/dist/interface/ha/{ConfigTriggerDetection-BDYanDEV.js → ConfigTriggerDetection-BuShu78G.js} +2 -2
  187. package/dist/interface/ha/{ConfigTriggerGeofence-Binp0lYx.js → ConfigTriggerGeofence-pBgXBkb6.js} +6 -6
  188. package/dist/interface/ha/{ConfigTriggerMqtt-BaPzSHbK.js → ConfigTriggerMqtt-Dyf_TLfU.js} +1 -1
  189. package/dist/interface/ha/{ConfigTriggerSensor-DiTaTZXm.js → ConfigTriggerSensor-C5YUm9ff.js} +1 -1
  190. package/dist/interface/ha/{ConfigTriggerSystem-CsdWiz-S.js → ConfigTriggerSystem-CylHWw4i.js} +2 -2
  191. package/dist/interface/ha/{ConfigTriggerWebhook-Ca0PsUmU.js → ConfigTriggerWebhook-ZlHsaLu4.js} +1 -1
  192. package/dist/interface/ha/{Console-0amlIoZR.js → Console-PNAQjW_1.js} +98 -98
  193. package/dist/interface/ha/{CuiAutomationRunsDialog-DNBuwkgL.js → CuiAutomationRunsDialog-D_q8K7QO.js} +2 -2
  194. package/dist/interface/ha/{CuiBottomSheet-CdXBYz4P.js → CuiBottomSheet-BbJG-998.js} +1 -1
  195. package/dist/interface/ha/{CuiCameraRecordings-D4ZB56nd.js → CuiCameraRecordings-BSI8Yn3v.js} +11 -11
  196. package/dist/interface/ha/{CuiCameraShares-YmzZusZR.js → CuiCameraShares-DKHZJT-z.js} +4 -4
  197. package/dist/interface/ha/{CuiCameraTable-DFzhCO3J.js → CuiCameraTable-BTdP1pEP.js} +2 -2
  198. package/dist/interface/ha/{CuiChartTable-BvfJbFNS.js → CuiChartTable-aFRfsewt.js} +4 -4
  199. package/dist/interface/ha/{CuiConsole-DtxyD6Sd.js → CuiConsole-BD9jYvrD.js} +4 -4
  200. package/dist/interface/ha/{CuiDataTable-CHvx6ALQ.js → CuiDataTable-C2lOduPV.js} +2 -2
  201. package/dist/interface/ha/{CuiPluginCard-B3vU57eD.js → CuiPluginCard-C-gpcLCH.js} +18 -18
  202. package/dist/interface/ha/{CuiPluginOAuthButton-DgOFfP5e.js → CuiPluginOAuthButton-B763Rz1n.js} +3 -3
  203. package/dist/interface/ha/{CuiPluginTrustBadge-udmtgGHt.js → CuiPluginTrustBadge-j5PKYI-V.js} +1 -1
  204. package/dist/interface/ha/{CuiQRCode-8yDZMC3o.js → CuiQRCode-D7WV4czh.js} +2 -2
  205. package/dist/interface/ha/{CuiSchema-0Hikg2mm.js → CuiSchema-BfsT0mAh.js} +96 -96
  206. package/dist/interface/ha/{CuiTopNavbarItem-B139fVxP.js → CuiTopNavbarItem-BwpXgGJ-.js} +1 -1
  207. package/dist/interface/ha/{Faces-YdAf9USr.js → Faces-C0e-m9EY.js} +48 -48
  208. package/dist/interface/ha/{FirstSteps-Dts6TJ6O.js → FirstSteps-DsDmM44G.js} +7 -7
  209. package/dist/interface/ha/{Floorplan-D6XXe8ni.js → Floorplan-Bei9kIhS.js} +206 -206
  210. package/dist/interface/ha/{Instances-DsIsonqp.js → Instances-BY5G1zFD.js} +66 -66
  211. package/dist/interface/ha/{Logs-Cyo3LC94.js → Logs-DDycObDv.js} +9 -9
  212. package/dist/interface/ha/{Menu-yh_sI9d9.js → Menu-9r_oFG_-.js} +3 -3
  213. package/dist/interface/ha/{Metrics-VehQmsmN.js → Metrics-BMTIXqn6.js} +283 -279
  214. package/dist/interface/ha/{OAuthDeviceFlow-CXp9NvbY.js → OAuthDeviceFlow-Dee5fynX.js} +3 -3
  215. package/dist/interface/ha/{Plugin-BqvlXx43.js → Plugin-B5o4pLyu.js} +41 -41
  216. package/dist/interface/ha/{PluginConsole-Dx84BNoO.js → PluginConsole-REtxP1Wi.js} +4 -4
  217. package/dist/interface/ha/{PluginDetail-DUpDS2nD.js → PluginDetail-BHrKifvP.js} +5 -5
  218. package/dist/interface/ha/{PluginSearch-Cvh0P9VB.js → PluginSearch-oNHMMeJD.js} +124 -124
  219. package/dist/interface/ha/{PluginUpdateProgress-CfyI2Qdp.js → PluginUpdateProgress-CqllA4eR.js} +3 -3
  220. package/dist/interface/ha/{Plugins-DXreIUwr.js → Plugins-B6y7z5yD.js} +173 -173
  221. package/dist/interface/ha/{Recordings-Cb8ifRcB.js → Recordings-CyhOVNoM.js} +168 -191
  222. package/dist/interface/ha/{SensorEdit-CsNXxcdj.js → SensorEdit-CnUU2PEv.js} +3 -3
  223. package/dist/interface/ha/{SensorHistory-DToDalOm.js → SensorHistory-z5hDuybW.js} +2 -2
  224. package/dist/interface/ha/{Sensors-B6giaowJ.js → Sensors-wpoB-X4r.js} +372 -372
  225. package/dist/interface/ha/{Settings-CVed7MM_.js → Settings-C6wTksxb.js} +3 -3
  226. package/dist/interface/ha/{SettingsAccount-CvvsLPoT.js → SettingsAccount-DByg5uzj.js} +178 -178
  227. package/dist/interface/ha/{SettingsAppearance-BDJeNGTd.js → SettingsAppearance-QgPo4M8O.js} +4 -4
  228. package/dist/interface/ha/{SettingsAssistant-B168p5HB.js → SettingsAssistant-Bg4BhUgb.js} +78 -78
  229. package/dist/interface/ha/{SettingsBackup-Bz_9xJ61.js → SettingsBackup-BgtZSRub.js} +39 -39
  230. package/dist/interface/ha/{SettingsList-B42rajJc.js → SettingsList-DB3j7buh.js} +1 -1
  231. package/dist/interface/ha/{SettingsMqtt-B5Qy6bxD.js → SettingsMqtt-DVx0z8vf.js} +14 -14
  232. package/dist/interface/ha/SettingsNotifications-osO2kMMO.js +529 -0
  233. package/dist/interface/ha/{SettingsRecordings-CkJGOiyQ.js → SettingsRecordings-BFEp160g.js} +7 -7
  234. package/dist/interface/ha/{SettingsRemote-Cc-qt3si.js → SettingsRemote-DQW4FhFn.js} +403 -403
  235. package/dist/interface/ha/{SettingsSystem-Cco2XXsS.js → SettingsSystem-Cs1MHOTi.js} +9 -9
  236. package/dist/interface/ha/{SettingsUsers-BDh-3saR.js → SettingsUsers-BtbuHlRZ.js} +23 -23
  237. package/dist/interface/ha/{Terminal-D2U-kFPW.js → Terminal-BuXCoMle.js} +4 -4
  238. package/dist/interface/ha/Training-CnsWyeaJ.js +1505 -0
  239. package/dist/interface/ha/{Updates-DGHNcvO9.js → Updates-BxU1Jpru.js} +5 -5
  240. package/dist/interface/ha/{VariableInput-Bujz1T1I.js → VariableInput-DgENnHvk.js} +1 -1
  241. package/dist/interface/ha/{VersionsHandler-CXvbeKbl.js → VersionsHandler-DQTSSqti.js} +10 -10
  242. package/dist/interface/ha/{VirtualSensorCreate-DOYONbgu.js → VirtualSensorCreate-Bsr6zTQp.js} +2 -2
  243. package/dist/interface/ha/{Workers-tQbC3WS6.js → Workers-0jZDuLbP.js} +14 -14
  244. package/dist/interface/ha/{api-DfJZj7ht.js → api-B8xb-N_g.js} +1 -1
  245. package/dist/interface/ha/{api-BI6_Fcag.js → api-VnpXqKYj.js} +7769 -7443
  246. package/dist/interface/ha/{assistant-BqSg4N8v.js → assistant-DDwonneA.js} +25 -25
  247. package/dist/interface/ha/{auth-BFoSqfzS.js → auth-CXX7ago-.js} +22 -22
  248. package/dist/interface/ha/{automationBlueprint-Q0yt2MdH.js → automationBlueprint-BUkXOKb1.js} +3 -3
  249. package/dist/interface/ha/cameraui-cards.js +1 -1
  250. package/dist/interface/ha/{cards-BW9I5B5Z.js → cards-CMel6uVq.js} +639 -637
  251. package/dist/interface/ha/{config-CeNHEP9A.js → config-9vwosYC8.js} +9 -9
  252. package/dist/interface/ha/{dist-BV3OfApt.js → dist-jxJIsKjm.js} +306 -282
  253. package/dist/interface/ha/{mqtt-BkYa2CXH.js → mqtt-Fm_GzbBi.js} +7 -7
  254. package/dist/interface/ha/{notifications-E3WSCGpc.js → notifications-CwSeoLx0.js} +12 -12
  255. package/dist/interface/ha/{pinia-DoDLbPZ3.js → pinia-D2fpp6nV.js} +150 -143
  256. package/dist/interface/ha/{plugins-2jjU7TfW.js → plugins-CgqO91Hg.js} +30 -30
  257. package/dist/interface/ha/{rooms-BkEw1ev-.js → rooms-DGnhPCGr.js} +1 -1
  258. package/dist/interface/ha/{server-CuK4o2fS.js → server-BqNJbXKJ.js} +15 -15
  259. package/dist/interface/ha/{types-BRHWeX0a.js → types-Ca-1kOA9.js} +18 -18
  260. package/dist/interface/ha/{ungrouped-BDwep3kg.js → ungrouped-B1RIFH36.js} +192 -192
  261. package/dist/interface/ha/{updates-R4xTxour.js → updates-Dn9WR43I.js} +26 -26
  262. package/dist/interface/ha/{useAppVersion-uaFjqUpx.js → useAppVersion-FMZfQhEd.js} +1 -1
  263. package/dist/interface/ha/{useLogsSocket-BZq9GXfy.js → useLogsSocket-Ch8C8inE.js} +1 -1
  264. package/dist/interface/ha/{useNavLayout-BJdDE__R.js → useNavLayout-DPjjtXVR.js} +2 -2
  265. package/dist/interface/ha/{useServerRestart-DDCKnE6c.js → useServerRestart-DoozgL8o.js} +1 -1
  266. package/dist/interface/ha/{useTabSwipe-CEH6ltIZ.js → useTabSwipe-CxXAmZNc.js} +1 -1
  267. package/dist/interface/ha/{useUpdateChannel-CHt1il2V.js → useUpdateChannel-CBwS4cI2.js} +2 -2
  268. package/dist/interface/ha/{useUpdatesSocket-BnVaNioY.js → useUpdatesSocket-GrlBqyU4.js} +1 -1
  269. package/dist/interface/ha/{useUserOptions-C7cQ1P3Q.js → useUserOptions-54hnf6hX.js} +1 -1
  270. package/dist/interface/index.html +31 -31
  271. package/dist/interface/sw.js +1 -1
  272. package/dist/server/package.json +5 -5
  273. package/dist/server/src/api/database/record-schemas.d.ts +10 -10
  274. package/dist/server/src/api/schemas/cameras.schema.d.ts +22 -22
  275. package/dist/server/src/api/schemas/users.schema.d.ts +70 -70
  276. package/dist/server/src/api/utils/regex.d.ts +1 -0
  277. package/dist/server/src/api/utils/regex.js +1 -0
  278. package/dist/server/src/api/utils/regex.js.map +1 -1
  279. package/dist/server/src/api/websocket/nsp/metrics.d.ts +0 -1
  280. package/dist/server/src/api/websocket/nsp/metrics.js +2 -48
  281. package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
  282. package/dist/server/src/api/websocket/nsp/worker-perf.d.ts +3 -0
  283. package/dist/server/src/api/websocket/nsp/worker-perf.js +58 -0
  284. package/dist/server/src/api/websocket/nsp/worker-perf.js.map +1 -0
  285. package/dist/server/src/api/websocket/types.d.ts +1 -0
  286. package/dist/server/src/assistant/search.d.ts +11 -11
  287. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +6 -0
  288. package/dist/server/src/camera/decoder/detection-coordinator.js +117 -20
  289. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  290. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +3 -1
  291. package/dist/server/src/camera/decoder/detection-pipeline.js +4 -0
  292. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  293. package/dist/server/src/camera/decoder/event-manager.d.ts +1 -0
  294. package/dist/server/src/camera/decoder/event-manager.js +5 -2
  295. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  296. package/dist/server/src/camera/decoder/event-thumbnailer.d.ts +4 -0
  297. package/dist/server/src/camera/decoder/event-thumbnailer.js +3 -0
  298. package/dist/server/src/camera/decoder/event-thumbnailer.js.map +1 -1
  299. package/dist/server/src/camera/decoder/event-trace.d.ts +2 -0
  300. package/dist/server/src/camera/decoder/event-trace.js +9 -5
  301. package/dist/server/src/camera/decoder/event-trace.js.map +1 -1
  302. package/dist/server/src/camera/decoder/perf-tracker.d.ts +5 -1
  303. package/dist/server/src/camera/decoder/perf-tracker.js +10 -2
  304. package/dist/server/src/camera/decoder/perf-tracker.js.map +1 -1
  305. package/dist/server/src/camera/decoder/types.d.ts +5 -1
  306. package/dist/server/src/camera/decoder/types.js.map +1 -1
  307. package/dist/server/src/rpc/interfaces/detection.d.ts +1 -0
  308. package/dist/server/src/sensors/registry.d.ts +1 -0
  309. package/dist/server/src/sensors/registry.js +9 -3
  310. package/dist/server/src/sensors/registry.js.map +1 -1
  311. package/dist/server/src/sensors/sensor.js +2 -3
  312. package/dist/server/src/sensors/sensor.js.map +1 -1
  313. package/dist/server/src/sensors/types.d.ts +2 -1
  314. package/dist/server/src/sensors/types.js +7 -1
  315. package/dist/server/src/sensors/types.js.map +1 -1
  316. package/dist/server/src/utils/camera.js +6 -1
  317. package/dist/server/src/utils/camera.js.map +1 -1
  318. package/package.json +5 -5
  319. package/dist/interface/assets/Camera-B5l_gv7t.js +0 -2
  320. package/dist/interface/assets/Camera-gYRy6ECP.css +0 -1
  321. package/dist/interface/assets/CuiBottomSheet-C37blNu-.js +0 -1
  322. package/dist/interface/assets/CuiCameraPipCard-TVAf5ZYQ.js +0 -1
  323. package/dist/interface/assets/CuiCameraRecordings-C26rX8dh.css +0 -1
  324. package/dist/interface/assets/CuiCameraRecordings-IHg1dNf4.js +0 -1
  325. package/dist/interface/assets/CuiCameraTable-xDZz7Wpe.js +0 -1
  326. package/dist/interface/assets/Faces-Dqi30qs9.js +0 -1
  327. package/dist/interface/assets/Metrics-DX59XXDc.css +0 -1
  328. package/dist/interface/assets/PluginSchema-uVKXzfo6.js +0 -1
  329. package/dist/interface/assets/PluginSearch-C4MvWyLb.js +0 -1
  330. package/dist/interface/assets/Recordings-DrcOsRLn.js +0 -1
  331. package/dist/interface/assets/SettingsAccount-CkvScQmF.js +0 -1
  332. package/dist/interface/assets/SettingsAppearance-ZHqNXXIL.js +0 -1
  333. package/dist/interface/assets/Training-DfOqDTHJ.js +0 -1
  334. package/dist/interface/assets/api-B6TtU9Ew.css +0 -2
  335. package/dist/interface/assets/api-DPgKdIQZ.js +0 -4
  336. package/dist/interface/assets/cloudHandoff-Cxljjl7N.js +0 -1
  337. package/dist/interface/assets/main-BrNGfemk.js +0 -3
  338. package/dist/interface/assets/ungrouped-BQzKp2PT.js +0 -1
  339. package/dist/interface/assets/vendor-cameraui-Dhg7MEnt.js +0 -2326
  340. package/dist/interface/ha/SettingsNotifications-C59UxYic.js +0 -529
  341. package/dist/interface/ha/Training-DWcaCI-3.js +0 -1499
@@ -1 +1 @@
1
- {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../../../../src/api/websocket/nsp/metrics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../../../../../src/api/websocket/nsp/metrics.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { FrameWorkerPerfSnapshot } from '../../../camera/decoder/types.js';
2
+ import type { WorkerPerfStats } from '../types.js';
3
+ export declare function deriveWorkerPerf(snapshot: FrameWorkerPerfSnapshot, pluginName: (pluginId: string) => string | undefined): WorkerPerfStats;
@@ -0,0 +1,58 @@
1
+ function round(value) {
2
+ return Math.round(value * 10) / 10;
3
+ }
4
+ function per(total, count) {
5
+ return count > 0 ? round(total / count) : 0;
6
+ }
7
+ function percent(part, whole) {
8
+ return whole > 0 ? Math.min(100, Math.round((part / whole) * 100)) : 0;
9
+ }
10
+ export function deriveWorkerPerf(snapshot, pluginName) {
11
+ const objectFrames = snapshot.objectCount;
12
+ const judgedFrames = snapshot.objectCount + snapshot.assistCount;
13
+ const fallback = {
14
+ motion: per(snapshot.motionMs, snapshot.motionCount),
15
+ object: per(snapshot.objectMs, snapshot.objectCount),
16
+ face: per(snapshot.faceMs, snapshot.faceCount),
17
+ licensePlate: per(snapshot.plateMs, snapshot.plateCount),
18
+ classifier: per(snapshot.classifierMs, snapshot.classifierCount),
19
+ clip: per(snapshot.clipMs, snapshot.clipCount),
20
+ };
21
+ const detectors = {};
22
+ for (const [type, info] of Object.entries(snapshot.detectors)) {
23
+ detectors[type] = {
24
+ plugin: pluginName(info.plugin) ?? info.plugin,
25
+ input: info.input,
26
+ runtime: info.runtime,
27
+ models: info.models,
28
+ inferenceMs: info.calls ? per(info.handlerMs ?? 0, info.calls) : (fallback[type] ?? 0),
29
+ transportMs: info.calls ? per(info.transportMs ?? 0, info.calls) : 0,
30
+ stamped: Boolean(info.calls),
31
+ };
32
+ }
33
+ const scaleMs = per(snapshot.scaleMs, objectFrames);
34
+ const postMs = per(snapshot.postMs, objectFrames);
35
+ const motionScaleMs = per(snapshot.motionScaleMs, snapshot.motionScaleCount);
36
+ return {
37
+ detectors,
38
+ processingMs: objectFrames > 0 ? round(scaleMs + postMs) : motionScaleMs,
39
+ decodeMs: per(snapshot.decodeMs, snapshot.decodedFrames),
40
+ mainDecodeMs: per(snapshot.mainDecodeMs, snapshot.mainDecodedFrames),
41
+ scaleMs,
42
+ postMs,
43
+ motionScaleMs,
44
+ transportMs: detectors.object?.transportMs ?? 0,
45
+ analysedFps: snapshot.loopMs > 0 ? round(snapshot.ticks / (snapshot.loopMs / 1000)) : 0,
46
+ mainFps: snapshot.mainLoopMs > 0 ? round(snapshot.mainTicks / (snapshot.mainLoopMs / 1000)) : 0,
47
+ mainStreamEnabled: snapshot.mainStreamEnabled,
48
+ frameAnalysis: snapshot.frameAnalysis,
49
+ activePercent: percent(snapshot.loopMs, snapshot.uptimeMs),
50
+ zoomPercent: percent(snapshot.zoomTicks, objectFrames),
51
+ zoomWindows: per(snapshot.zoomWindows, snapshot.zoomTicks),
52
+ objectsPerFrame: per(snapshot.objects, judgedFrames),
53
+ hitPercent: percent(snapshot.framesWithObjects, judgedFrames),
54
+ switches: snapshot.switches,
55
+ minutes: Math.round(snapshot.uptimeMs / 60_000),
56
+ };
57
+ }
58
+ //# sourceMappingURL=worker-perf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worker-perf.js","sourceRoot":"","sources":["../../../../../../src/api/websocket/nsp/worker-perf.ts"],"names":[],"mappings":"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"}
@@ -24,6 +24,7 @@ export interface WorkerPerfStats {
24
24
  mainDecodeMs: number;
25
25
  scaleMs: number;
26
26
  postMs: number;
27
+ motionScaleMs: number;
27
28
  transportMs: number;
28
29
  analysedFps: number;
29
30
  mainFps: number;
@@ -32,37 +32,37 @@ export declare const SEARCH_SCHEMA: zod.ZodObject<{
32
32
  license_plate: "license_plate";
33
33
  }>>;
34
34
  sensorEvents: zod.ZodArray<zod.ZodEnum<{
35
- audio: "audio";
36
35
  motion: "motion";
37
- siren: "siren";
38
- doorbell: "doorbell";
36
+ audio: "audio";
39
37
  contact: "contact";
38
+ doorbell: "doorbell";
39
+ switch: "switch";
40
+ light: "light";
41
+ siren: "siren";
40
42
  security_system: "security_system";
43
+ "line-crossing": "line-crossing";
44
+ occupancy: "occupancy";
41
45
  smoke: "smoke";
46
+ leak: "leak";
42
47
  gas: "gas";
43
48
  carbonMonoxide: "carbonMonoxide";
44
49
  heat: "heat";
45
- leak: "leak";
46
50
  cold: "cold";
47
51
  vibration: "vibration";
48
52
  tamper: "tamper";
49
53
  problem: "problem";
50
- light: "light";
51
- switch: "switch";
54
+ power: "power";
52
55
  lock: "lock";
53
- occupancy: "occupancy";
54
56
  garage: "garage";
55
- power: "power";
56
- "line-crossing": "line-crossing";
57
57
  }>>;
58
58
  audioLabels: zod.ZodArray<zod.ZodEnum<{
59
+ doorbell: "doorbell";
60
+ siren: "siren";
59
61
  glass_break: "glass_break";
60
62
  scream: "scream";
61
63
  gunshot: "gunshot";
62
64
  alarm: "alarm";
63
- siren: "siren";
64
65
  smoke_alarm: "smoke_alarm";
65
- doorbell: "doorbell";
66
66
  speaking: "speaking";
67
67
  dog_bark: "dog_bark";
68
68
  baby_cry: "baby_cry";
@@ -42,6 +42,9 @@ export declare class DetectionCoordinator {
42
42
  private readonly platesSeen;
43
43
  private readonly classifierLabels;
44
44
  private readonly feedingSensors;
45
+ private readonly witnessSensors;
46
+ private readonly witnessSeen;
47
+ private readonly heldMoments;
45
48
  private readonly dwell;
46
49
  private readonly privacy;
47
50
  private readonly perf;
@@ -74,6 +77,7 @@ export declare class DetectionCoordinator {
74
77
  get detectionSettings(): CameraDetectionSettings;
75
78
  getPerfSnapshot(): FrameWorkerPerfSnapshot;
76
79
  resetPerf(): void;
80
+ private collectDecodeStats;
77
81
  pauseForBenchmark(paused: boolean): void;
78
82
  runObjectBenchmark(iterations: number, concurrency: number): Promise<ObjectBenchmarkResult | null>;
79
83
  updateZoneConfig(zones: CameraZones): void;
@@ -105,6 +109,7 @@ export declare class DetectionCoordinator {
105
109
  private handleCascadeDeactivated;
106
110
  private handleEventEnded;
107
111
  private handleAudioLoopResult;
112
+ private recordWitness;
108
113
  private writeSensorProperties;
109
114
  private buildSnapshot;
110
115
  private pipelineZones;
@@ -135,6 +140,7 @@ export declare class DetectionCoordinator {
135
140
  private snapshotWillStartEvent;
136
141
  private attachTrainingFrame;
137
142
  private updateWorldSpans;
143
+ private holdSightingMoments;
138
144
  private captureMoments;
139
145
  private anchorMomentDetections;
140
146
  private captureExternalMoment;
@@ -40,6 +40,8 @@ const TRAINING_FRAME_MAX_WIDTH = 1280;
40
40
  const TRAINING_ATTRIBUTE_BONUS = 0.2;
41
41
  const TRAINING_FRAME_QUALITY = 80;
42
42
  const MOMENT_EVENTS = new Set(['objectEntered', 'objectWoke', 'objectRecovered', 'bestShotUpdated']);
43
+ const WITNESS_WINDOW_MS = 3000;
44
+ const HELD_MOMENT_MS = 4000;
43
45
  const MOMENT_MOVING_SPEED = 0.05;
44
46
  const MOMENT_ATTRIBUTE_MIN_AREA = 600;
45
47
  const DEFAULT_CASCADE_TIMEOUT = 10;
@@ -77,6 +79,10 @@ let DetectionCoordinator = class DetectionCoordinator {
77
79
  platesSeen = new Set();
78
80
  classifierLabels = new Map();
79
81
  feedingSensors = new Map();
82
+ witnessSensors = new Set();
83
+ // label -> when a witness last reported it, for the trace
84
+ witnessSeen = new Map();
85
+ heldMoments = new Map();
80
86
  dwell = new DwellManager();
81
87
  privacy;
82
88
  // debugging
@@ -223,6 +229,8 @@ let DetectionCoordinator = class DetectionCoordinator {
223
229
  return this.config.detectionSettings;
224
230
  }
225
231
  getPerfSnapshot() {
232
+ // decodes outside the loop (external reports, pictures) count as well
233
+ this.collectDecodeStats();
226
234
  const { timings, ...counters } = this.perf.snapshot();
227
235
  const detectors = {};
228
236
  for (const type of DETECTOR_METRIC_TYPES) {
@@ -247,8 +255,19 @@ let DetectionCoordinator = class DetectionCoordinator {
247
255
  };
248
256
  }
249
257
  resetPerf() {
258
+ // what was decoded before the reset must not land in the new period
259
+ this.frameSource.takeDecodeStats();
260
+ this.thumbnailer.takeHqDecodeStats();
250
261
  this.perf.reset();
251
262
  }
263
+ collectDecodeStats() {
264
+ const decode = this.frameSource.takeDecodeStats();
265
+ this.perf.decodeMs += decode.ms;
266
+ this.perf.decodedFrames += decode.frames;
267
+ const main = this.thumbnailer.takeHqDecodeStats();
268
+ this.perf.mainDecodeMs += main.ms;
269
+ this.perf.mainDecodedFrames += main.frames;
270
+ }
252
271
  pauseForBenchmark(paused) {
253
272
  this.benchmarkRunning = paused;
254
273
  }
@@ -334,6 +353,7 @@ let DetectionCoordinator = class DetectionCoordinator {
334
353
  }
335
354
  }
336
355
  async dispose() {
356
+ this.heldMoments.clear();
337
357
  await this.stopVideoLoop();
338
358
  await this.frameSource.stop();
339
359
  await this.audioLoop.stop();
@@ -349,6 +369,12 @@ let DetectionCoordinator = class DetectionCoordinator {
349
369
  this.currentDetectionState = {};
350
370
  }
351
371
  async onSensorAdded(sensor) {
372
+ if (sensor.role === 'witness') {
373
+ this.feedingSensors.delete(sensor.sensorId);
374
+ this.witnessSensors.add(sensor.sensorId);
375
+ return;
376
+ }
377
+ this.witnessSensors.delete(sensor.sensorId);
352
378
  if (DETECTION_SENSOR_TYPES.has(sensor.sensorType)) {
353
379
  this.feedingSensors.set(sensor.sensorId, sensor.sensorType);
354
380
  }
@@ -364,6 +390,7 @@ let DetectionCoordinator = class DetectionCoordinator {
364
390
  }
365
391
  }
366
392
  async onSensorRemoved(sensorId) {
393
+ this.witnessSensors.delete(sensorId);
367
394
  this.classifierLabels.delete(sensorId);
368
395
  const sensorType = this.feedingSensors.get(sensorId);
369
396
  if (sensorType === SensorType.Face)
@@ -392,7 +419,12 @@ let DetectionCoordinator = class DetectionCoordinator {
392
419
  this.ptzAutotracker.setCapabilities(sensorId, capabilities);
393
420
  }
394
421
  async reportSensorWrite(sensorId, sensorType, properties) {
395
- // the registry only announces the plugin assigned for this type, everyone else reports into the void
422
+ if (sensorType === SensorType.Object && this.witnessSensors.has(sensorId)) {
423
+ this.recordWitness(properties);
424
+ return;
425
+ }
426
+ // the registry announces the plugin assigned for this type and the
427
+ // witnesses, everyone else reports into the void
396
428
  if (!this.feedingSensors.has(sensorId))
397
429
  return;
398
430
  // a detector reports its spec again once its models finished loading
@@ -677,6 +709,25 @@ let DetectionCoordinator = class DetectionCoordinator {
677
709
  ...(result.decibels !== undefined ? { decibels: result.decibels } : {}),
678
710
  });
679
711
  }
712
+ recordWitness(properties) {
713
+ if (properties.detected !== true)
714
+ return;
715
+ const detections = properties.detections ?? [];
716
+ const labels = new Set();
717
+ for (const detection of detections) {
718
+ const label = detection.label?.toLowerCase();
719
+ if (label && this.pipeline.objectLabelAllowed(label))
720
+ labels.add(label);
721
+ }
722
+ if (labels.size === 0)
723
+ return;
724
+ const at = Date.now();
725
+ for (const label of labels) {
726
+ this.pipeline.attest(label, at);
727
+ this.witnessSeen.set(label, at);
728
+ }
729
+ this.logger.trace(`[witness] ${[...labels].join(', ')}`);
730
+ }
680
731
  writeSensorProperties(sensorId, properties) {
681
732
  const msg = {
682
733
  sensorId,
@@ -1087,6 +1138,7 @@ let DetectionCoordinator = class DetectionCoordinator {
1087
1138
  let firstFrame = true;
1088
1139
  while (this.loopRunning) {
1089
1140
  const tickStart = Date.now();
1141
+ let onMainStream = false;
1090
1142
  const snap = await this.frameSource.nextFrame(lastFrameId);
1091
1143
  if (!snap)
1092
1144
  break; // source stopped
@@ -1115,6 +1167,7 @@ let DetectionCoordinator = class DetectionCoordinator {
1115
1167
  // motion always reads the low stream: switching its input resolution
1116
1168
  // would reset the background model on every transition
1117
1169
  const analysis = await this.acquireAnalysisFrame(snap);
1170
+ onMainStream = analysis.isMainStream;
1118
1171
  // debugging
1119
1172
  detectionRecord.setFrame(analysis.isMainStream ? 'main' : 'low', analysis.frame.width, analysis.frame.height, analysis.rtp, analysis.role);
1120
1173
  try {
@@ -1147,9 +1200,7 @@ let DetectionCoordinator = class DetectionCoordinator {
1147
1200
  // ignore
1148
1201
  }
1149
1202
  }
1150
- const decode = this.frameSource.takeDecodeStats();
1151
- this.perf.decodeMs += decode.ms;
1152
- this.perf.decodedFrames += decode.frames;
1203
+ this.collectDecodeStats();
1153
1204
  // activity, not stream choice: cameras without main-stream analysis still count as active
1154
1205
  if (this.worldSpans.size > 0 || this.eventManager.hasActiveSegment())
1155
1206
  this.perf.activeTicks++;
@@ -1159,7 +1210,12 @@ let DetectionCoordinator = class DetectionCoordinator {
1159
1210
  const remaining = (this.mainStreamActive ? ACTIVE_TICK_MS : IDLE_TICK_MS) - (Date.now() - tickStart);
1160
1211
  if (remaining > 0)
1161
1212
  await sleep(remaining);
1162
- this.perf.loopMs += Date.now() - tickStart;
1213
+ const tickMs = Date.now() - tickStart;
1214
+ this.perf.loopMs += tickMs;
1215
+ if (onMainStream) {
1216
+ this.perf.mainTicks++;
1217
+ this.perf.mainLoopMs += tickMs;
1218
+ }
1163
1219
  }
1164
1220
  await this.frameSource.detach();
1165
1221
  this.frameScaler.clearCache();
@@ -1167,12 +1223,9 @@ let DetectionCoordinator = class DetectionCoordinator {
1167
1223
  }
1168
1224
  async acquireAnalysisFrame(snap) {
1169
1225
  if (this.mainStreamActive) {
1170
- const t0 = Date.now();
1171
1226
  try {
1172
1227
  const main = await this.thumbnailer.acquireHqFrame(0);
1173
1228
  if (main) {
1174
- this.perf.mainFrames++;
1175
- this.perf.mainDecodeMs += Date.now() - t0;
1176
1229
  return { frame: main.frame, scaler: main.scaler, isMainStream: true, rtp: main.rtp, role: this.thumbnailer.mainStreamRole };
1177
1230
  }
1178
1231
  }
@@ -1185,12 +1238,9 @@ let DetectionCoordinator = class DetectionCoordinator {
1185
1238
  async acquireOpeningHqFrame() {
1186
1239
  if (!this.mainStreamAvailable)
1187
1240
  return undefined;
1188
- const t0 = Date.now();
1189
1241
  try {
1190
1242
  const main = await this.thumbnailer.acquireHqFrame(0);
1191
1243
  if (main) {
1192
- this.perf.mainFrames++;
1193
- this.perf.mainDecodeMs += Date.now() - t0;
1194
1244
  return { frame: main.frame, scaler: main.scaler, isMainStream: true, rtp: main.rtp, role: this.thumbnailer.mainStreamRole };
1195
1245
  }
1196
1246
  }
@@ -1225,6 +1275,9 @@ let DetectionCoordinator = class DetectionCoordinator {
1225
1275
  trace.rtp = analysis.rtp;
1226
1276
  trace.src = analysis.role?.replace('-resolution', '');
1227
1277
  trace.attrs = traceAttributes(results);
1278
+ const witness = [...this.witnessSeen].filter(([, at]) => Math.abs(trace.tMs - at) <= WITNESS_WINDOW_MS).map(([label]) => label);
1279
+ if (witness.length > 0)
1280
+ trace.witness = witness;
1228
1281
  // debugging
1229
1282
  detectionRecord.tick({ ...trace });
1230
1283
  return trace;
@@ -1259,8 +1312,10 @@ let DetectionCoordinator = class DetectionCoordinator {
1259
1312
  const motionDue = t0 - this.lastMotionAt >= MOTION_INTERVAL_MS - TICK_SLACK_MS;
1260
1313
  const motionScaleStart = Date.now();
1261
1314
  const motionFrame = motionDue ? await this.scaleForMotion(motionRawFrame) : undefined;
1262
- if (motionDue)
1263
- this.perf.scaleMs += Date.now() - motionScaleStart;
1315
+ if (motionDue) {
1316
+ this.perf.motionScaleMs += Date.now() - motionScaleStart;
1317
+ this.perf.motionScaleCount++;
1318
+ }
1264
1319
  if (!this.loopRunning)
1265
1320
  return;
1266
1321
  if (motionFrame) {
@@ -1306,7 +1361,8 @@ let DetectionCoordinator = class DetectionCoordinator {
1306
1361
  if (localizeDue && this.localizerWanted) {
1307
1362
  const scaleStart = Date.now();
1308
1363
  const gray = await this.scaleForMotionInput(motionRawFrame);
1309
- this.perf.scaleMs += Date.now() - scaleStart;
1364
+ this.perf.motionScaleMs += Date.now() - scaleStart;
1365
+ this.perf.motionScaleCount++;
1310
1366
  if (!this.loopRunning)
1311
1367
  return;
1312
1368
  if (gray)
@@ -1344,6 +1400,7 @@ let DetectionCoordinator = class DetectionCoordinator {
1344
1400
  if (this.updateWorldSpans(pipelineResult) && !analysis.isMainStream) {
1345
1401
  this.hqUpgrade = await this.acquireOpeningHqFrame();
1346
1402
  }
1403
+ await this.holdSightingMoments(pipelineResult, this.hqUpgrade ?? analysis, t0);
1347
1404
  await this.captureMoments(pipelineResult, this.hqUpgrade ?? analysis, t0);
1348
1405
  // open spans and a lingering segment keep the cascade armed: the
1349
1406
  // world can only observe absence or a reappearance while it still
@@ -1648,6 +1705,35 @@ let DetectionCoordinator = class DetectionCoordinator {
1648
1705
  }
1649
1706
  return opened;
1650
1707
  }
1708
+ async holdSightingMoments(result, analysis, at) {
1709
+ for (const [trackId, held] of this.heldMoments) {
1710
+ if (at - held.capturedAt > HELD_MOMENT_MS)
1711
+ this.heldMoments.delete(trackId);
1712
+ }
1713
+ for (const id of result.removed)
1714
+ this.heldMoments.delete(id);
1715
+ if (this.witnessSensors.size === 0)
1716
+ return;
1717
+ const confirmed = new Set(result.created);
1718
+ for (const sighting of result.sightings) {
1719
+ // confirmed in the same tick: the regular moment cuts this frame anyway
1720
+ if (confirmed.has(sighting.trackId))
1721
+ continue;
1722
+ const box = { x: sighting.x, y: sighting.y, width: sighting.width, height: sighting.height };
1723
+ const rendered = await this.renderMoment({ subject: box, base: box }, analysis);
1724
+ if (!rendered)
1725
+ continue;
1726
+ const score = sighting.confidence * Math.sqrt(sighting.width * sighting.height);
1727
+ this.heldMoments.set(sighting.trackId, {
1728
+ strip: rendered.strip,
1729
+ card: rendered.card,
1730
+ capturedAt: at,
1731
+ score,
1732
+ rank: MOMENT_RANK_OBJECT,
1733
+ stream: analysis.isMainStream ? 'main' : 'low',
1734
+ });
1735
+ }
1736
+ }
1651
1737
  async captureMoments(result, analysis, at) {
1652
1738
  let subject;
1653
1739
  let bestScore = -1;
@@ -1672,6 +1758,16 @@ let DetectionCoordinator = class DetectionCoordinator {
1672
1758
  // one frame per tick, not one per object: they share the picture
1673
1759
  if (!subject)
1674
1760
  return;
1761
+ // a track confirmed through a witness after its only sighting: the
1762
+ // current frame no longer shows it, the picture held at the sighting does
1763
+ const held = this.heldMoments.get(subject.trackId);
1764
+ this.heldMoments.delete(subject.trackId);
1765
+ if (held && trigger === 'objectEntered' && subject.lastSeenMs < at) {
1766
+ if (!this.eventManager.wantsMoment(held.rank, held.score, held.stream, at))
1767
+ return;
1768
+ this.eventManager.offerMoment({ ...held, capturedAt: at, shownAt: held.capturedAt });
1769
+ return;
1770
+ }
1675
1771
  if (!this.eventManager.wantsMoment(MOMENT_RANK_OBJECT, bestScore, analysis.isMainStream ? 'main' : 'low', at))
1676
1772
  return;
1677
1773
  await this.captureMoment(subject, bestScore, trigger, result.tracked, analysis, at);
@@ -1921,7 +2017,9 @@ let DetectionCoordinator = class DetectionCoordinator {
1921
2017
  const perWindow = await Promise.all(windows.map((window) => this.detectInWindow(objectPlugin, analysis.frame, analysis.scaler, window, inputSpec)));
1922
2018
  this.perf.objectMs += Date.now() - inferStart;
1923
2019
  this.perf.objectCount++;
1924
- return mergeWindowDetections(perWindow.flat());
2020
+ for (const window of perWindow)
2021
+ this.perf.scaleMs += window.cropMs;
2022
+ return mergeWindowDetections(perWindow.flatMap((window) => window.detections));
1925
2023
  }
1926
2024
  const scaleStart = Date.now();
1927
2025
  const objectFrame = await this.scaleForObject(analysis.frame, analysis.scaler);
@@ -1937,11 +2035,11 @@ let DetectionCoordinator = class DetectionCoordinator {
1937
2035
  async detectInWindow(plugin, frame, scaler, window, spec) {
1938
2036
  const scaleStart = Date.now();
1939
2037
  const cropped = await scaler.cropToSpec(frame, window, spec);
1940
- this.perf.scaleMs += Date.now() - scaleStart;
2038
+ const cropMs = Date.now() - scaleStart;
1941
2039
  if (!cropped)
1942
- return [];
2040
+ return { detections: [], cropMs };
1943
2041
  const result = await PromiseTimeout(plugin.proxy.detectObjects(scaler.toVideoFrameData(cropped.padded, 'model')), DETECT_TIMEOUT_MS, undefined, `Object detection timed out after ${DETECT_TIMEOUT_MS}ms`);
1944
- return FrameScaler.undoLetterbox(ensureDetectionBoxes(result.detections), cropped.geometry);
2042
+ return { detections: FrameScaler.undoLetterbox(ensureDetectionBoxes(result.detections), cropped.geometry), cropMs };
1945
2043
  }
1946
2044
  async scaleFrameForPlugin(rawFrame, plugin, scaler = this.frameScaler) {
1947
2045
  const inputSpec = plugin.modelSpec?.input;
@@ -1990,7 +2088,6 @@ let DetectionCoordinator = class DetectionCoordinator {
1990
2088
  const found = boxed.filter((d) => reportedLabels.size === 0 || reportedLabels.has(d.label.toLowerCase()));
1991
2089
  if (found.length === 0)
1992
2090
  return { detections: reported, assisted: false };
1993
- this.perf.objects += found.length;
1994
2091
  return { detections: found, assisted: true };
1995
2092
  }
1996
2093
  catch (error) {
@@ -2013,7 +2110,7 @@ let DetectionCoordinator = class DetectionCoordinator {
2013
2110
  if (windows.length > 0) {
2014
2111
  detectionRecord.zoom({ kind: 'assist', anchors, windows });
2015
2112
  const perWindow = await Promise.all(windows.map((window) => this.detectInWindow(assist, frame, scaler, window, inputSpec)));
2016
- return mergeWindowDetections(perWindow.flat());
2113
+ return mergeWindowDetections(perWindow.flatMap((window) => window.detections));
2017
2114
  }
2018
2115
  }
2019
2116
  detectionRecord.tick({