@camera.ui/server 2.2.5-beta.4 → 2.2.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (664) hide show
  1. package/dist/interface/assets/{404-YZOLos9r.js → 404-BLVuKvLk.js} +1 -1
  2. package/dist/interface/assets/{About-HtxMc8JZ.js → About-C-AJ0jfI.js} +1 -1
  3. package/dist/interface/assets/Assistant-BJKGIvVo.js +1 -0
  4. package/dist/interface/assets/{Assistant-BMscGKnc.css → Assistant-BQ6Ld-bt.css} +1 -1
  5. package/dist/interface/assets/{Automation-D3DcUyui.js → Automation-C95DzuZb.js} +3 -3
  6. package/dist/interface/assets/{AutomationImport-Dp_hT6hQ.js → AutomationImport-C8VYjDzf.js} +2 -2
  7. package/dist/interface/assets/{AutomationStore-BKR7GXMk.js → AutomationStore-CE4PKRGd.js} +2 -2
  8. package/dist/interface/assets/{AutomationStoreDetail-B9yh51WQ.js → AutomationStoreDetail-DavWfjLv.js} +2 -2
  9. package/dist/interface/assets/Automations-BOP_17Ri.js +2 -0
  10. package/dist/interface/assets/Camera-BW9ikKqh.css +1 -0
  11. package/dist/interface/assets/Camera-C5S7eI9a.js +2 -0
  12. package/dist/interface/assets/{CameraConsole-BI93OaRt.js → CameraConsole-C4AmtcrM.js} +1 -1
  13. package/dist/interface/assets/{Cameras-Ctub8sVt.js → Cameras-DR577Bno.js} +2 -2
  14. package/dist/interface/assets/{Camview-CZct5cnP.css → Camview-Bri_T7Tq.css} +1 -1
  15. package/dist/interface/assets/Camview-CHxKB41T.js +1 -0
  16. package/dist/interface/assets/{CertificateUpload-xW55NA1Q.js → CertificateUpload-BYFKZCP9.js} +1 -1
  17. package/dist/interface/assets/Config-BrDDGWpr.js +2 -0
  18. package/dist/interface/assets/{ConfigActionAssistant-B488rOp5.js → ConfigActionAssistant-YtCVI8LZ.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionCameraControl-ZMUuBxOs.js → ConfigActionCameraControl-Dg_1zOYt.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionDelay-BJ11xvOW.js → ConfigActionDelay-_EqbfWgo.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionHttp-DOUo69OR.js → ConfigActionHttp-BzwLv2tn.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionImageInput-BMzuVZW9.js → ConfigActionImageInput-CLdY2sV4.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionMqtt-Co_uksca.js → ConfigActionMqtt-lGqYshl3.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionNotification-CcZkstYx.js → ConfigActionNotification-D5Dj3EoU.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionNotificationControl--VeucoTw.js → ConfigActionNotificationControl-Dy5fKamr.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionOutput-CyDa1LGA.js → ConfigActionOutput-DzsQ31L0.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionPlugin-Kfg3ZEQF.js → ConfigActionPlugin-BFrBcXvL.js} +1 -1
  28. package/dist/interface/assets/{ConfigActionSensor-DhAF0HPw.js → ConfigActionSensor-CX8ePlan.js} +1 -1
  29. package/dist/interface/assets/{ConfigActionSnapshot-zMe3SPvW.js → ConfigActionSnapshot-BATLRmh6.js} +1 -1
  30. package/dist/interface/assets/{ConfigActionVariable-BE5q3NwY.js → ConfigActionVariable-Dgn5jvaR.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionIfElse-BNIRtSVD.js → ConfigConditionIfElse-D5IIBjyk.js} +1 -1
  32. package/dist/interface/assets/{ConfigConditionSensorState-DTNd-SzI.js → ConfigConditionSensorState-C0JxBWdG.js} +1 -1
  33. package/dist/interface/assets/{ConfigConditionSwitch-BU5wWMU1.js → ConfigConditionSwitch-Brlgd0XP.js} +1 -1
  34. package/dist/interface/assets/{ConfigConditionTime-KXTCIVIV.js → ConfigConditionTime-CM4bSMyU.js} +1 -1
  35. package/dist/interface/assets/{ConfigSensorValueInput-BC1FpMm-.js → ConfigSensorValueInput-CtuH8dCa.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerDetection-hIN1hi53.js → ConfigTriggerDetection-DsL7lLQl.js} +1 -1
  37. package/dist/interface/assets/ConfigTriggerGeofence-CAGIk1_W.js +1 -0
  38. package/dist/interface/assets/{ConfigTriggerManual-C5vwxS-e.js → ConfigTriggerManual-DgkR-GWy.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerMqtt-B4PtWC3E.js → ConfigTriggerMqtt-B_iFalAQ.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerSchedule-BZzUdGBa.js → ConfigTriggerSchedule-E_QWfNKy.js} +1 -1
  41. package/dist/interface/assets/{ConfigTriggerSensor-D18nwMsj.js → ConfigTriggerSensor-hYNbLXUu.js} +1 -1
  42. package/dist/interface/assets/{ConfigTriggerSystem-BhygWLB4.js → ConfigTriggerSystem-DR1EFpE9.js} +1 -1
  43. package/dist/interface/assets/{ConfigTriggerWebhook-yyuBuhLD.js → ConfigTriggerWebhook-C-B5GGFH.js} +1 -1
  44. package/dist/interface/assets/Console-cIr6lYux.js +1 -0
  45. package/dist/interface/assets/CuiAssistantConversation-Bigl43Ph.js +5 -0
  46. package/dist/interface/assets/CuiAssistantConversation-BmshW6Vc.css +1 -0
  47. package/dist/interface/assets/CuiAutomationRunsDialog-Ci7SWAml.js +1 -0
  48. package/dist/interface/assets/{CuiBottomSheet-DWefGWK2.js → CuiBottomSheet-C2sM2E3M.js} +1 -1
  49. package/dist/interface/assets/CuiBottomSheet-ViBOgklN.js +1 -0
  50. package/dist/interface/assets/CuiCameraPipCard-wdK7xir-.js +1 -0
  51. package/dist/interface/assets/CuiCameraRecordings-BB7bF67B.js +1 -0
  52. package/dist/interface/assets/{CuiCameraShares-DcqOcePX.js → CuiCameraShares-B6jdUBVm.js} +1 -1
  53. package/dist/interface/assets/CuiCameraTable-CHnQFkce.js +1 -0
  54. package/dist/interface/assets/{CuiCameraTable-BOkfp_5M.js → CuiCameraTable-CpBo25Qc.js} +2 -2
  55. package/dist/interface/assets/{CuiChartTable-DP38uBwK.js → CuiChartTable-dIcxGtfl.js} +1 -1
  56. package/dist/interface/assets/{CuiConsole-C7xE_nQg.js → CuiConsole-BGptpT6r.js} +2 -2
  57. package/dist/interface/assets/CuiDataTable-CQmp5mAy.js +1 -0
  58. package/dist/interface/assets/CuiLightControl-wbZi3fA1.js +1 -0
  59. package/dist/interface/assets/{CuiList-DJp0__mV.js → CuiList-Dsu5m0TA.js} +1 -1
  60. package/dist/interface/assets/{CuiMarkdownContent-BUYtK_wD.js → CuiMarkdownContent-BYBQX_aF.js} +1 -1
  61. package/dist/interface/assets/CuiMarkdownContent-DTAm-EDR.js +1 -0
  62. package/dist/interface/assets/CuiPluginCard-BjIc7It9.js +2 -0
  63. package/dist/interface/assets/{CuiPluginCategoryChip-Ch_upS6Y.js → CuiPluginCategoryChip-BtJ_6_gN.js} +1 -1
  64. package/dist/interface/assets/{CuiPluginOAuthButton-DEQ9xILN.js → CuiPluginOAuthButton-Duf35I8K.js} +2 -2
  65. package/dist/interface/assets/{CuiPluginTrustBadge-sVWdvHcM.js → CuiPluginTrustBadge-jxXeRTH2.js} +1 -1
  66. package/dist/interface/assets/{CuiQRCode-DqSF4SkD.js → CuiQRCode-BNchrpoB.js} +1 -1
  67. package/dist/interface/assets/CuiSchema-DGTMkVSe.js +1 -0
  68. package/dist/interface/assets/{CuiTopNavbarItem-B_KWykgq.js → CuiTopNavbarItem-CHtLvn53.js} +1 -1
  69. package/dist/interface/assets/Faces-p18jNfXl.js +1 -0
  70. package/dist/interface/assets/FirstSteps-HzaBMDbH.js +1 -0
  71. package/dist/interface/assets/Floorplan-DYyEx7WO.js +1 -0
  72. package/dist/interface/assets/Instances-Dl-6rL5O.js +1 -0
  73. package/dist/interface/assets/{Logs-BSPT80vP.js → Logs-DsJkuQFq.js} +2 -2
  74. package/dist/interface/assets/{Menu-HHtuhIS2.js → Menu-D_woMkjL.js} +1 -1
  75. package/dist/interface/assets/Metrics-ChVnC6f6.css +1 -0
  76. package/dist/interface/assets/Metrics-l3UwykCM.js +12 -0
  77. package/dist/interface/assets/{OAuthDeviceFlow-Bn1nlWNa.js → OAuthDeviceFlow-CXfILAE1.js} +1 -1
  78. package/dist/interface/assets/Plugin-Ldj3HygQ.js +1 -0
  79. package/dist/interface/assets/Plugin-Qr_Q_Qfi.css +1 -0
  80. package/dist/interface/assets/{PluginConsole-Cv-uhnPY.js → PluginConsole-C96m5zKy.js} +1 -1
  81. package/dist/interface/assets/{PluginDetail-cpOz7FkA.js → PluginDetail-CnfaI1vh.js} +2 -2
  82. package/dist/interface/assets/{PluginSchema-DW3TGeTM.js → PluginSchema-u1bqXU29.js} +1 -1
  83. package/dist/interface/assets/PluginSearch-BiXG3Xk2.js +2 -0
  84. package/dist/interface/assets/PluginSearch-BuE7we1T.js +1 -0
  85. package/dist/interface/assets/{PluginUpdateProgress-n6q6vzyd.js → PluginUpdateProgress-BT4lN9HT.js} +1 -1
  86. package/dist/interface/assets/Plugins-Csx6AXaW.js +1 -0
  87. package/dist/interface/assets/{RecentEventsFilter-CTR5JK_P.js → RecentEventsFilter-Kp_lTOuG.js} +1 -1
  88. package/dist/interface/assets/Recordings-BEKAn6QK.css +1 -0
  89. package/dist/interface/assets/Recordings-D0KTY5cI.js +1 -0
  90. package/dist/interface/assets/SensorEdit-zs-f_o1N.js +1 -0
  91. package/dist/interface/assets/{SensorHistory-9CdOpCPs.js → SensorHistory-Cet35_RO.js} +1 -1
  92. package/dist/interface/assets/Sensors-BLAoalEt.js +2 -0
  93. package/dist/interface/assets/Settings-C-LCDIbK.js +1 -0
  94. package/dist/interface/assets/SettingsAccount-BsN7jGmo.js +1 -0
  95. package/dist/interface/assets/SettingsAccount-DuVyCSE-.js +1 -0
  96. package/dist/interface/assets/{SettingsAppearance-BY1xQMx4.js → SettingsAppearance-BS4EQNjH.js} +1 -1
  97. package/dist/interface/assets/SettingsAppearance-DQcGbYbV.js +1 -0
  98. package/dist/interface/assets/SettingsAssistant-B0PF3Rdg.css +1 -0
  99. package/dist/interface/assets/SettingsAssistant-DViJklFd.js +1 -0
  100. package/dist/interface/assets/{SettingsBackup-D_weokqu.js → SettingsBackup-DBlV1gej.js} +1 -1
  101. package/dist/interface/assets/{SettingsList-Bq24WTDU.js → SettingsList-D8eSwbBY.js} +1 -1
  102. package/dist/interface/assets/SettingsMqtt-JoszJJgV.js +1 -0
  103. package/dist/interface/assets/{SettingsNotifications-8TZOUxg2.js → SettingsNotifications-3veSrxa_.js} +1 -1
  104. package/dist/interface/assets/{SettingsPermissions-M8u_jrN0.js → SettingsPermissions-CJiz0Z7B.js} +1 -1
  105. package/dist/interface/assets/{SettingsRecordings-C1Kp5xW_.js → SettingsRecordings-CLz9Zp47.js} +1 -1
  106. package/dist/interface/assets/SettingsRemote-DUyl8k7I.js +2 -0
  107. package/dist/interface/assets/{SettingsSystem-Cetu2faJ.js → SettingsSystem-txTFGomQ.js} +2 -2
  108. package/dist/interface/assets/{SettingsUsers-CDwtQLdV.js → SettingsUsers-CUp6vQPc.js} +1 -1
  109. package/dist/interface/assets/Terminal-hln2UuSR.js +4 -0
  110. package/dist/interface/assets/Training-Bkn52mPJ.css +1 -0
  111. package/dist/interface/assets/Training-D6lhvUf-.js +1 -0
  112. package/dist/interface/assets/Updates-BwSWt9w7.js +2 -0
  113. package/dist/interface/assets/{VariableInput-BxPj5wo6.js → VariableInput-183LygmK.js} +1 -1
  114. package/dist/interface/assets/{VariableSuggestions-CbizvAkz.js → VariableSuggestions-DwLtlzVz.js} +1 -1
  115. package/dist/interface/assets/{VersionsHandler-CePyEUVO.js → VersionsHandler-DkbkcypK.js} +2 -2
  116. package/dist/interface/assets/{VirtualSensorCreate-D_GVoeL7.js → VirtualSensorCreate-Bn4tgdxA.js} +1 -1
  117. package/dist/interface/assets/Workers-B6b15izn.js +2 -0
  118. package/dist/interface/assets/{account-Bu30He0P.js → account-DwW7pBOb.js} +1 -1
  119. package/dist/interface/assets/{alert-circle-D2fAQwTX.js → alert-circle-BdUVAt1B.js} +1 -1
  120. package/dist/interface/assets/{alert-outline-D7zaSJH_.js → alert-outline-IRxYbw0j.js} +1 -1
  121. package/dist/interface/assets/api-C9mnOxie.js +4 -0
  122. package/dist/interface/assets/api-Cj9a6qPu.css +2 -0
  123. package/dist/interface/assets/{api-DW2niHRN.js → api-h4HRB3ef.js} +1 -1
  124. package/dist/interface/assets/{arrow-left-BGLyEqqa.js → arrow-left-Bk-ZrOVr.js} +1 -1
  125. package/dist/interface/assets/assistant-4hYyIu6D.js +1 -0
  126. package/dist/interface/assets/{assistantModels-D0soYqq7.js → assistantModels-BsSgRsws.js} +1 -1
  127. package/dist/interface/assets/{auth-Dc8bUpc-.js → auth-DFesRtwI.js} +1 -1
  128. package/dist/interface/assets/{automations-DXrjbArj.js → automations-D2bnX8uw.js} +1 -1
  129. package/dist/interface/assets/{back-filled-BPBVnQjx.js → back-filled-D-X19YMO.js} +1 -1
  130. package/dist/interface/assets/{bell-ring-CyCFPUL_.js → bell-ring-DreEHgoT.js} +1 -1
  131. package/dist/interface/assets/{brain-CIJB1ree.js → brain-DuDAg544.js} +1 -1
  132. package/dist/interface/assets/{cameraSources-QJfUDOQJ.js → cameraSources-DmVZWs4-.js} +1 -1
  133. package/dist/interface/assets/{cctv-D6kxZ-lp.js → cctv-DM-C_8_6.js} +1 -1
  134. package/dist/interface/assets/{check-circle-DHAAn6A6.js → check-circle-Bevuw8-0.js} +1 -1
  135. package/dist/interface/assets/{check-circle-outline-BbqeKfIK.js → check-circle-outline-aMxkvksr.js} +1 -1
  136. package/dist/interface/assets/{chevron-down-ZYTrU871.js → chevron-down-CCFn9Z56.js} +1 -1
  137. package/dist/interface/assets/{chevron-up-LQXNz9CE.js → chevron-up-CSImUM3_.js} +1 -1
  138. package/dist/interface/assets/{clock-outline-CKTiLKoR.js → clock-outline-DH3WIEJt.js} +1 -1
  139. package/dist/interface/assets/{close-BbEPZQqa.js → close-CMxyM4v9.js} +1 -1
  140. package/dist/interface/assets/{close-circle-BSUSUs4K.js → close-circle-CfgJCZ9A.js} +1 -1
  141. package/dist/interface/assets/{cloud-check-BTGbrAQ_.js → cloud-check-CbdFLIdR.js} +1 -1
  142. package/dist/interface/assets/cloudHandoff-Ba98bzeq.js +1 -0
  143. package/dist/interface/assets/{config-CiQDwB4t.js → config-DDaCrMSU.js} +1 -1
  144. package/dist/interface/assets/{content-copy-V0DW9ZbH.js → content-copy-Bz49QPOI.js} +1 -1
  145. package/dist/interface/assets/{copy-DsmMEtSH.js → copy-DA6QQHRt.js} +1 -1
  146. package/dist/interface/assets/{cube-scan-DGhUFV1x.js → cube-scan-IiH8zwm2.js} +1 -1
  147. package/dist/interface/assets/database-refresh-outline-CIUDpcuq.js +1 -0
  148. package/dist/interface/assets/{delete-CY8fsIW6.js → delete-Btu-UVx9.js} +1 -1
  149. package/dist/interface/assets/{dist-DNyx_J8o.js → dist-D_qWDAKp.js} +1 -1
  150. package/dist/interface/assets/{dots-vertical-pP1vP0Qa.js → dots-vertical-D496SIss.js} +1 -1
  151. package/dist/interface/assets/{download-CyjJ7yJW.js → download-BSC7lwq_.js} +1 -1
  152. package/dist/interface/assets/esm-Bn9gXwX4.js +1 -0
  153. package/dist/interface/assets/esm-BzM6y2-F.js +1 -0
  154. package/dist/interface/assets/esm-CP3JWrtj.js +1 -0
  155. package/dist/interface/assets/esm-CjAXkqCf.js +1 -0
  156. package/dist/interface/assets/esm-Cqxk-j1S.js +1 -0
  157. package/dist/interface/assets/esm-DFHd3JNU.js +1 -0
  158. package/dist/interface/assets/esm-DfMLJtug.js +1 -0
  159. package/dist/interface/assets/esm-DhDrpq7a.js +1 -0
  160. package/dist/interface/assets/esm-DvhM-SOd.js +1 -0
  161. package/dist/interface/assets/esm-G63bqygQ.js +1 -0
  162. package/dist/interface/assets/esm-Gn-Y59hU.js +1 -0
  163. package/dist/interface/assets/esm-KJSOz2vj.js +1 -0
  164. package/dist/interface/assets/esm-Ryfc94Tm.js +1 -0
  165. package/dist/interface/assets/esm-rSfI5Poy.js +1 -0
  166. package/dist/interface/assets/{eventIcons-cdzqQc0W.js → eventIcons-UQutPG3p.js} +1 -1
  167. package/dist/interface/assets/{eye-off-JCu1iUer.js → eye-off-CSU0U8g7.js} +1 -1
  168. package/dist/interface/assets/{eye-off-outline-GErp76H2.js → eye-off-outline-DCxLRGo_.js} +1 -1
  169. package/dist/interface/assets/{flowSchema-BRTZHQ1w.js → flowSchema-YJtAu9gB.js} +1 -1
  170. package/dist/interface/assets/{help-circle-outline-G43EJuch.js → help-circle-outline-Cr_yNhPi.js} +1 -1
  171. package/dist/interface/assets/{history-CNJREqJG.js → history-anuCbp1T.js} +1 -1
  172. package/dist/interface/assets/{home-B-_OQpZ6.js → home-N3bDR1vX.js} +1 -1
  173. package/dist/interface/assets/{information-outline-Blt4EtWJ.js → information-outline-CMWIvLNB.js} +1 -1
  174. package/dist/interface/assets/{intercomService-BnA-FQ0Q.js → intercomService-CjoJaOZ7.js} +1 -1
  175. package/dist/interface/assets/{lan-C3jliANx.js → lan-CYXjdk7L.js} +1 -1
  176. package/dist/interface/assets/main-C796FmqQ.js +3 -0
  177. package/dist/interface/assets/{main-BoGhBedC.css → main-DVa5U7UB.css} +1 -1
  178. package/dist/interface/assets/{microphone-B6xc9JQ2.js → microphone-BB2pATI_.js} +1 -1
  179. package/dist/interface/assets/{minus-BI5qXFwJ.js → minus-BCp3ZNKO.js} +1 -1
  180. package/dist/interface/assets/{mqtt-iD9XHYO_.js → mqtt-DGBPptzB.js} +1 -1
  181. package/dist/interface/assets/native-CZJE8bTs.js +1 -0
  182. package/dist/interface/assets/native-DKZwialB.js +1 -0
  183. package/dist/interface/assets/{nodeDefinitions-Dop49tx8.js → nodeDefinitions-ByrqsENY.js} +1 -1
  184. package/dist/interface/assets/{notifications-CbAJX7RF.js → notifications-5yeK345h.js} +1 -1
  185. package/dist/interface/assets/{pause-DKzvPG2b.js → pause-BQlxwAW2.js} +1 -1
  186. package/dist/interface/assets/{pencil-DKbi9SsG.js → pencil-CDsNnEXi.js} +1 -1
  187. package/dist/interface/assets/{pencil-outline-CD3Xv98d.js → pencil-outline-CIQL5Kui.js} +1 -1
  188. package/dist/interface/assets/plugin-DSEMkqaK.js +1 -0
  189. package/dist/interface/assets/{plugins-eIUrXNeM.js → plugins-BTOdE_zv.js} +1 -1
  190. package/dist/interface/assets/{plus-CHPYoMO_.js → plus-Bp4q9G7S.js} +1 -1
  191. package/dist/interface/assets/{plus--kDl8ben.js → plus-CySoovdr.js} +1 -1
  192. package/dist/interface/assets/{power-C9wmNlFS.js → power-WmBLDR0-.js} +1 -1
  193. package/dist/interface/assets/{radar-B3ra28GD.js → radar-CyYAmume.js} +1 -1
  194. package/dist/interface/assets/{refresh-DfqyhMOh.js → refresh-CHTA3jVN.js} +1 -1
  195. package/dist/interface/assets/{restore-FMacmqd_.js → restore-C8RNM5yX.js} +1 -1
  196. package/dist/interface/assets/{rooms-BqPyo8jc.js → rooms-BCdm6IAx.js} +1 -1
  197. package/dist/interface/assets/{round-alt-arrow-left-bold-56eF9Bol.js → round-alt-arrow-left-bold-Gh5mi_yR.js} +1 -1
  198. package/dist/interface/assets/{search-BXbDWhLk.js → search-BajCVmOI.js} +1 -1
  199. package/dist/interface/assets/sensorIcons-5Ynqwo3e.js +1 -0
  200. package/dist/interface/assets/{sensorSlots-BZCXtnb6.js → sensorSlots-BF70tpV7.js} +1 -1
  201. package/dist/interface/assets/{sensors-DttBNEEt.js → sensors-CeFEEz8r.js} +1 -1
  202. package/dist/interface/assets/{server-DUFhf2c_.js → server-bhW2Mw4D.js} +1 -1
  203. package/dist/interface/assets/{settings-Cw63SIJl.js → settings-DnksaK7m.js} +1 -1
  204. package/dist/interface/assets/{source-branch-oyzrlfCD.js → source-branch-CzqIPffP.js} +1 -1
  205. package/dist/interface/assets/{theme-BMmjtQ4w.js → theme-DF_XA58O.js} +1 -1
  206. package/dist/interface/assets/{trash-2-BQc04l9M.js → trash-2-DJeEhHf4.js} +1 -1
  207. package/dist/interface/assets/{trash-can-outline-Bk5eENNM.js → trash-can-outline-DrT6iw7I.js} +1 -1
  208. package/dist/interface/assets/{trash-fill-CXk8BmtF.js → trash-fill-Bb_-UicM.js} +1 -1
  209. package/dist/interface/assets/{trash2-2rUvghml.js → trash2-Dsl8gfxq.js} +1 -1
  210. package/dist/interface/assets/{types-CXw7CEzu.js → types-ArGM5-5O.js} +1 -1
  211. package/dist/interface/assets/types-BcAxmlqC.js +1 -0
  212. package/dist/interface/assets/{types-DWTSNJ79.js → types-CklFkUXk.js} +1 -1
  213. package/dist/interface/assets/{undo-Dcf7vcsv.js → undo-DoqJW-k7.js} +1 -1
  214. package/dist/interface/assets/{ungrouped-DHMJ9Rg1.css → ungrouped-BnQIcSQd.css} +1 -1
  215. package/dist/interface/assets/ungrouped-CkIlDUwl.js +1 -0
  216. package/dist/interface/assets/{updates-TIPWXKzL.js → updates-D3x_kPMM.js} +1 -1
  217. package/dist/interface/assets/{upload-nnbfDypK.js → upload-C3w1XH-o.js} +1 -1
  218. package/dist/interface/assets/{upload-B-ZYPekV.js → upload-DtIcwiNC.js} +1 -1
  219. package/dist/interface/assets/{useAppVersion-BIz44Bg4.js → useAppVersion-Dcvu95bZ.js} +1 -1
  220. package/dist/interface/assets/{useAssistantActions-CLkkw9kB.js → useAssistantActions-Cc_O6M9_.js} +1 -1
  221. package/dist/interface/assets/useBackupRestore-xp5KhKVn.js +1 -0
  222. package/dist/interface/assets/{useCameraOptions-A97teAIr.js → useCameraOptions-8I4MTDgj.js} +1 -1
  223. package/dist/interface/assets/useKeyboardInset-C0Lp0UcX.js +1 -0
  224. package/dist/interface/assets/{useLogsSocket-BlFxVXjF.js → useLogsSocket-bpOiLgWT.js} +1 -1
  225. package/dist/interface/assets/{useNavLayout-C5obaCNv.js → useNavLayout-Cjf6Da2u.js} +1 -1
  226. package/dist/interface/assets/{usePermissions-C8hB_pG1.js → usePermissions-BXTw4tII.js} +1 -1
  227. package/dist/interface/assets/{usePluginUpdates-DO0-Gk4Q.js → usePluginUpdates-bOMj-IvL.js} +1 -1
  228. package/dist/interface/assets/{usePushRegistration-BUttCraQ.js → usePushRegistration-HOvLuUVP.js} +2 -2
  229. package/dist/interface/assets/{useServerRestart-Cz9eVHUE.js → useServerRestart-CQN4cdHJ.js} +1 -1
  230. package/dist/interface/assets/{useStreamStatus-BhS_MCCB.js → useStreamStatus-Da7c2Wme.js} +1 -1
  231. package/dist/interface/assets/{useTabSwipe-D4k8lm1M.js → useTabSwipe-fFuyJJBQ.js} +1 -1
  232. package/dist/interface/assets/{useUpdateChannel-D9lhfW0y.js → useUpdateChannel-Ca1RX32u.js} +1 -1
  233. package/dist/interface/assets/{useUpdatesSocket-DnH9sON5.js → useUpdatesSocket-DHZNpLQX.js} +1 -1
  234. package/dist/interface/assets/useUserOptions-BQdOB-Dp.js +1 -0
  235. package/dist/interface/assets/{variable-CcE0ZwTr.js → variable-ywTlRfo5.js} +1 -1
  236. package/dist/interface/assets/{vendor-cameraui-QXD8jkcj.js → vendor-cameraui-CK4yHsJi.js} +45 -45
  237. package/dist/interface/assets/{vendor-capacitor-COL6Kz75.js → vendor-capacitor-Bs_WzL0Q.js} +2 -2
  238. package/dist/interface/assets/{vendor-chart-80wrH3md.js → vendor-chart-DBK083Hu.js} +1 -1
  239. package/dist/interface/assets/{vendor-core-CnhnyKDl.js → vendor-core-B-Q4es-f.js} +1 -1
  240. package/dist/interface/assets/{vendor-dnd-CEJS9JKU.js → vendor-dnd-DGQLvX6Y.js} +1 -1
  241. package/dist/interface/assets/{vendor-draggabilly-BY7O1F_Z.js → vendor-draggabilly-D8CK6M-y.js} +1 -1
  242. package/dist/interface/assets/{vendor-DGke_6M4.js → vendor-gFkr2qsZ.js} +1 -1
  243. package/dist/interface/assets/vendor-gridstack-DtDG3os6.js +3 -0
  244. package/dist/interface/assets/{vendor-markdown-DD4teg2u.js → vendor-markdown-qHIinIUE.js} +1 -1
  245. package/dist/interface/assets/{vendor-primevue-CCUqY55W.js → vendor-primevue-Cmp3VjIC.js} +72 -72
  246. package/dist/interface/assets/{vendor-vueflow-Bmwd2les.js → vendor-vueflow-bSwRZ9X8.js} +1 -1
  247. package/dist/interface/assets/web-BDNQnMmA.js +1 -0
  248. package/dist/interface/assets/web-B_9Qyt8E.js +1 -0
  249. package/dist/interface/assets/web-BhJykCtq.js +1 -0
  250. package/dist/interface/assets/web-BjKL51lK-wWFeZlLg.js +1 -0
  251. package/dist/interface/assets/web-C7nJwIOa.js +1 -0
  252. package/dist/interface/assets/web-CGJsJQDb.js +1 -0
  253. package/dist/interface/assets/web-CJwASxrl.js +1 -0
  254. package/dist/interface/assets/web-CLe0L31Y.js +1 -0
  255. package/dist/interface/assets/web-DEv1hAn1.js +1 -0
  256. package/dist/interface/assets/web-DaeQvsXT.js +1 -0
  257. package/dist/interface/assets/web-H3-wNunW.js +1 -0
  258. package/dist/interface/assets/web-LCdyqJq1.js +1 -0
  259. package/dist/interface/assets/web-XZWYTK65.js +1 -0
  260. package/dist/interface/assets/web-rU5hlxxW.js +1 -0
  261. package/dist/interface/assets/{webhook-oVbP79Yk.js → webhook-CWKf2Qxu.js} +1 -1
  262. package/dist/interface/assets/workbox-window.prod.es5-BEYAF-e-.js +1 -0
  263. package/dist/interface/assets/{zoom-in-GKNy8xA7.js → zoom-in-CHkXAWHy.js} +1 -1
  264. package/dist/interface/ha/{404-DLhJqxRl.js → 404-C0mWQGWl.js} +1 -1
  265. package/dist/interface/ha/{About-DC0i1iE4.js → About-ByE7XErJ.js} +6 -6
  266. package/dist/interface/ha/{Assistant-BmazMPIg.js → Assistant-Z3FTR868.js} +2233 -2099
  267. package/dist/interface/ha/{Automation-gabF9YzQ.js → Automation-COQqTFNw.js} +237 -237
  268. package/dist/interface/ha/{AutomationImport-DaqZNs9s.js → AutomationImport-ueWqMBX9.js} +6 -6
  269. package/dist/interface/ha/{AutomationStore-DzM4huo5.js → AutomationStore-DBO4aZqy.js} +76 -76
  270. package/dist/interface/ha/{AutomationStoreDetail-CpzQMt_D.js → AutomationStoreDetail-DMnYu7hf.js} +19 -19
  271. package/dist/interface/ha/{Automations-Dcm4Us50.js → Automations-CMdbidc0.js} +73 -73
  272. package/dist/interface/ha/{Camera-CNK3QR7l.js → Camera-C28q_3pu.js} +183 -180
  273. package/dist/interface/ha/{CameraConsole-CpcF0411.js → CameraConsole-oMNZfKE6.js} +3 -3
  274. package/dist/interface/ha/{Cameras-Cf9rwRyf.js → Cameras-CsqrLx97.js} +166 -166
  275. package/dist/interface/ha/{Camview-BFKR2t6C.js → Camview-Br0LUakz.js} +389 -389
  276. package/dist/interface/ha/{Config-1XH3zfr2.js → Config-Y5eUNSW7.js} +110 -110
  277. package/dist/interface/ha/{ConfigActionAssistant-C0-NFoTB.js → ConfigActionAssistant-hl-6ZACj.js} +4 -4
  278. package/dist/interface/ha/{ConfigActionCameraControl-DNSKZPSZ.js → ConfigActionCameraControl-DnXlVFWD.js} +3 -3
  279. package/dist/interface/ha/{ConfigActionHttp-DVJAcGkl.js → ConfigActionHttp-BkpkMmRd.js} +2 -2
  280. package/dist/interface/ha/{ConfigActionImageInput-VVbHHHZs.js → ConfigActionImageInput-Dp78_QS_.js} +1 -1
  281. package/dist/interface/ha/{ConfigActionMqtt-N5OUJDzM.js → ConfigActionMqtt-DA_UWb5j.js} +4 -4
  282. package/dist/interface/ha/{ConfigActionNotification-s142tQoU.js → ConfigActionNotification-CQ4Ses3a.js} +3 -3
  283. package/dist/interface/ha/{ConfigActionNotificationControl-Dh7kaKVP.js → ConfigActionNotificationControl-Cb5PNGz-.js} +2 -2
  284. package/dist/interface/ha/{ConfigActionOutput-B4HHTg5C.js → ConfigActionOutput-DLuNHwRb.js} +1 -1
  285. package/dist/interface/ha/{ConfigActionPlugin-D20G2Dqf.js → ConfigActionPlugin-ChKFCNaj.js} +5 -5
  286. package/dist/interface/ha/{ConfigActionSensor-BS3jrFaG.js → ConfigActionSensor-DOutFalW.js} +5 -5
  287. package/dist/interface/ha/{ConfigActionSnapshot-CInLAcwK.js → ConfigActionSnapshot-GWgY6YIN.js} +2 -2
  288. package/dist/interface/ha/{ConfigActionVariable-C5vADGNF.js → ConfigActionVariable-bu-9VYTG.js} +1 -1
  289. package/dist/interface/ha/{ConfigConditionIfElse-CPeWDD31.js → ConfigConditionIfElse-iNp8tlZV.js} +3 -3
  290. package/dist/interface/ha/{ConfigConditionSensorState-BM5GmpN6.js → ConfigConditionSensorState-Dn7kcHpJ.js} +4 -4
  291. package/dist/interface/ha/{ConfigConditionSwitch-Dmz9FduJ.js → ConfigConditionSwitch-DaUlDgo0.js} +5 -5
  292. package/dist/interface/ha/{ConfigSensorValueInput-Ch5njvtv.js → ConfigSensorValueInput-D6m6suqJ.js} +9 -9
  293. package/dist/interface/ha/{ConfigTriggerDetection-BR2QWNyO.js → ConfigTriggerDetection-C5B_DC_L.js} +12 -12
  294. package/dist/interface/ha/{ConfigTriggerGeofence-CaImOjyW.js → ConfigTriggerGeofence-B4WVNcK5.js} +5 -5
  295. package/dist/interface/ha/{ConfigTriggerMqtt-DWz1XwZQ.js → ConfigTriggerMqtt-wnMfk_Un.js} +1 -1
  296. package/dist/interface/ha/{ConfigTriggerSensor-lfnhz0im.js → ConfigTriggerSensor-xFpI5KPu.js} +1 -1
  297. package/dist/interface/ha/{ConfigTriggerSystem-CwUhyFAj.js → ConfigTriggerSystem-YI9WYYVM.js} +2 -2
  298. package/dist/interface/ha/{ConfigTriggerWebhook-J6Xts7GQ.js → ConfigTriggerWebhook-58c2KgUe.js} +2 -2
  299. package/dist/interface/ha/{Console-BSdKFm6Y.js → Console-Coiqh32K.js} +13 -13
  300. package/dist/interface/ha/{CuiAutomationRunsDialog-BU8sympp.js → CuiAutomationRunsDialog-CJ2MGfEY.js} +2 -2
  301. package/dist/interface/ha/{CuiBottomSheet-Bnp7ta7V.js → CuiBottomSheet-BlG9Pl9j.js} +1 -1
  302. package/dist/interface/ha/{CuiCameraRecordings-E-mMqKSs.js → CuiCameraRecordings-DLXEB4Q7.js} +13 -13
  303. package/dist/interface/ha/{CuiCameraShares-DcNwd2OC.js → CuiCameraShares-BCIeaM6u.js} +6 -6
  304. package/dist/interface/ha/{CuiCameraTable-DNW9Vm_A.js → CuiCameraTable-PYYC7sOu.js} +9 -9
  305. package/dist/interface/ha/{CuiChartTable-muC7jL2H.js → CuiChartTable-FQ2iR5Hd.js} +42 -42
  306. package/dist/interface/ha/{CuiConsole-ND8bcuTg.js → CuiConsole-C77k5q_-.js} +6 -6
  307. package/dist/interface/ha/{CuiDataTable-CN4T8DgP.js → CuiDataTable-CIKQLseG.js} +6 -6
  308. package/dist/interface/ha/{CuiPluginCard-nIQiyQvH.js → CuiPluginCard-DZNXKP_P.js} +51 -51
  309. package/dist/interface/ha/{CuiPluginOAuthButton-FJ49NfUh.js → CuiPluginOAuthButton-DVf52_Zc.js} +6 -6
  310. package/dist/interface/ha/{CuiPluginTrustBadge-D6eanMyI.js → CuiPluginTrustBadge-CPljYiM8.js} +3 -3
  311. package/dist/interface/ha/{CuiQRCode-BdJzeeoE.js → CuiQRCode-oe8PLnLj.js} +7 -7
  312. package/dist/interface/ha/{CuiSchema-DY0V-8xP.js → CuiSchema-CQy94ZTs.js} +60 -60
  313. package/dist/interface/ha/{CuiTopNavbarItem-DT5pAKHp.js → CuiTopNavbarItem-D6OHZLQY.js} +5 -5
  314. package/dist/interface/ha/Faces-DxAPvemO.js +1441 -0
  315. package/dist/interface/ha/{FirstSteps-yS2M2cor.js → FirstSteps-ZINTSaeL.js} +67 -67
  316. package/dist/interface/ha/{Floorplan-DSOeScjI.js → Floorplan-DkbL8ppT.js} +300 -300
  317. package/dist/interface/ha/{Instances-B4h5EKpF.js → Instances-totWtqd7.js} +66 -66
  318. package/dist/interface/ha/{Logs-BH0Lxvs6.js → Logs-CzabIFja.js} +11 -11
  319. package/dist/interface/ha/{Menu-COH7QXuE.js → Menu-DcVBOQfw.js} +12 -12
  320. package/dist/interface/ha/{Metrics-BtnRqL_I.js → Metrics-B_SN5hbp.js} +410 -409
  321. package/dist/interface/ha/{OAuthDeviceFlow-D2QJ9MnP.js → OAuthDeviceFlow-B28TPsTQ.js} +7 -7
  322. package/dist/interface/ha/{Plugin-EfUSqwyh.js → Plugin-B2PbbB8d.js} +418 -279
  323. package/dist/interface/ha/{PluginConsole-hh_o15f7.js → PluginConsole-_KeG4FvO.js} +4 -4
  324. package/dist/interface/ha/{PluginDetail-DFiXGkrY.js → PluginDetail-GK_Fx14e.js} +185 -185
  325. package/dist/interface/ha/{PluginSearch-Cdrfubrj.js → PluginSearch-qSy4aqAW.js} +51 -51
  326. package/dist/interface/ha/{PluginUpdateProgress-BD2g2kVj.js → PluginUpdateProgress-C4Q2j6VO.js} +3 -3
  327. package/dist/interface/ha/{Plugins-qFiHW-Nk.js → Plugins-D0tvZHie.js} +64 -64
  328. package/dist/interface/ha/{RecentEventsFilter-UWrXnvfq.js → RecentEventsFilter-9ZkDHD1g.js} +1 -1
  329. package/dist/interface/ha/{Recordings-BzeC6tOz.js → Recordings-CpxJYaAa.js} +510 -489
  330. package/dist/interface/ha/{SensorEdit-BSgy7lkZ.js → SensorEdit-8KtqLXEu.js} +377 -377
  331. package/dist/interface/ha/{SensorHistory-IDvP8LKH.js → SensorHistory-CPTTsdjM.js} +2 -2
  332. package/dist/interface/ha/{Sensors-Diqp4oZ0.js → Sensors-DJt_Hnn2.js} +484 -469
  333. package/dist/interface/ha/{Settings-BgDsxAlx.js → Settings-B-OdG5pG.js} +18 -18
  334. package/dist/interface/ha/{SettingsAccount-DBXMQPYk.js → SettingsAccount-Ba2-2Lbi.js} +175 -175
  335. package/dist/interface/ha/{SettingsAppearance-VmbjnT3o.js → SettingsAppearance-D56HjSuQ.js} +7 -7
  336. package/dist/interface/ha/SettingsAssistant-DglU0auc.js +2025 -0
  337. package/dist/interface/ha/{SettingsBackup-BqY9TwYn.js → SettingsBackup-DZx4McDz.js} +38 -38
  338. package/dist/interface/ha/{SettingsList-CzHcfo2N.js → SettingsList-D9nIGkbE.js} +4 -4
  339. package/dist/interface/ha/{SettingsMqtt-DqV3h3Ow.js → SettingsMqtt-BOszh--k.js} +150 -150
  340. package/dist/interface/ha/{SettingsNotifications-yn5fIR_7.js → SettingsNotifications-DBVpZfp0.js} +118 -118
  341. package/dist/interface/ha/{SettingsRecordings-DDs1lyfY.js → SettingsRecordings-D3oJnizu.js} +9 -9
  342. package/dist/interface/ha/{SettingsRemote-jBw3l5E0.js → SettingsRemote-BOotvcOT.js} +332 -332
  343. package/dist/interface/ha/{SettingsSystem-BOv9hNlk.js → SettingsSystem-Bg11qoQX.js} +10 -10
  344. package/dist/interface/ha/{SettingsUsers-Biv-2F4C.js → SettingsUsers-KpLs9Jnh.js} +92 -92
  345. package/dist/interface/ha/{Terminal-CmcrGEV0.js → Terminal-D6opTHYI.js} +165 -170
  346. package/dist/interface/ha/Training-OB2KOQ7L.js +1694 -0
  347. package/dist/interface/ha/{Updates-DJAcmDQJ.js → Updates-C_OvXJjd.js} +12 -12
  348. package/dist/interface/ha/{VariableInput-DlYg7t0m.js → VariableInput-CfaDp67S.js} +1 -1
  349. package/dist/interface/ha/{VersionsHandler-UnrAWn-b.js → VersionsHandler-D1FVeYUZ.js} +10 -10
  350. package/dist/interface/ha/{VirtualSensorCreate-CssxeaCC.js → VirtualSensorCreate-DJIgMVrt.js} +7 -7
  351. package/dist/interface/ha/{Workers-CLpqLugC.js → Workers-cJMI4mYX.js} +29 -29
  352. package/dist/interface/ha/{api-B_tDa73J.js → api-CDawdL4p.js} +3 -3
  353. package/dist/interface/ha/{api-BP7mlzjP.js → api-D2VzV4is.js} +9943 -9546
  354. package/dist/interface/ha/{assistant-Cb6ACguQ.js → assistant-BmDAfChm.js} +101 -97
  355. package/dist/interface/ha/{auth-DOYDRgFm.js → auth-CvLz9C4w.js} +33 -33
  356. package/dist/interface/ha/{automationBlueprint-CbbG_ku4.js → automationBlueprint-BhNaeOZ1.js} +4 -4
  357. package/dist/interface/ha/{base-C-TYDHjS.js → base-XgWmQghV.js} +14 -3
  358. package/dist/interface/ha/cameraui-cards.js +1 -1
  359. package/dist/interface/ha/{cards-BpBP1zVW.js → cards-MQrnU0T8.js} +1197 -1121
  360. package/dist/interface/ha/{config-DroY1HBs.js → config-t_oAKFkJ.js} +14 -14
  361. package/dist/interface/ha/database-refresh-outline-PiqlCkA7.js +19 -0
  362. package/dist/interface/ha/{dist-BTp4AyuI.js → dist-BIngHzHx.js} +5 -5
  363. package/dist/interface/ha/{dist-C6MBHJhs.js → dist-oFWkn6pD.js} +5 -8
  364. package/dist/interface/ha/{esm-i8Tigknm.js → esm-C9XVFkXu.js} +4 -4
  365. package/dist/interface/ha/{mqtt-NJTVdd53.js → mqtt-C20h1uze.js} +14 -14
  366. package/dist/interface/ha/{native-DBH9ocSq.js → native-BVUxNLM1.js} +4 -4
  367. package/dist/interface/ha/{notifications-BPTvvgvv.js → notifications-Cy9DKiEn.js} +19 -19
  368. package/dist/interface/ha/{pinia-C6gt7A_Q.js → pinia-BokSpDzj.js} +640 -625
  369. package/dist/interface/ha/{plugins-B29K3nQP.js → plugins-jozYyBhV.js} +53 -53
  370. package/dist/interface/ha/{rooms-DLw0WUy_.js → rooms-DyfT3cXp.js} +11 -11
  371. package/dist/interface/ha/{server-B4b5_Ecu.js → server-hCCjQjZE.js} +28 -28
  372. package/dist/interface/ha/{types-DJHHL7nn.js → types-RG0SckNR.js} +49 -38
  373. package/dist/interface/ha/{types-XqA3YJPD.js → types-wLECk3Ml.js} +3 -1
  374. package/dist/interface/ha/{ungrouped-xyK1QrsM.js → ungrouped-BbyfoCQp.js} +121 -121
  375. package/dist/interface/ha/{updates-XFSu9Tfm.js → updates-hUgVDgoD.js} +36 -36
  376. package/dist/interface/ha/{useAppVersion-BH3rU1zz.js → useAppVersion-wNhZDuvR.js} +1 -1
  377. package/dist/interface/ha/useKeyboardInset-Cmbvb_W3.js +27 -0
  378. package/dist/interface/ha/{useLogsSocket-CaTRzvgU.js → useLogsSocket-y9Aex3tJ.js} +1 -1
  379. package/dist/interface/ha/{useNavLayout-DV0_OQx0.js → useNavLayout-Ehb0t34k.js} +2 -2
  380. package/dist/interface/ha/{useServerRestart-C8tynLUf.js → useServerRestart-CRSVcz3z.js} +1 -1
  381. package/dist/interface/ha/{useTabSwipe-CFoLDp3j.js → useTabSwipe-B_bseZkI.js} +1 -1
  382. package/dist/interface/ha/{useUpdateChannel-DSG2RTPe.js → useUpdateChannel-C_GU6lj6.js} +2 -2
  383. package/dist/interface/ha/{useUpdatesSocket-CSQ0g7-6.js → useUpdatesSocket-CYgHb7UX.js} +1 -1
  384. package/dist/interface/ha/{useUserOptions-CFaCy6L1.js → useUserOptions-pVYr-s3O.js} +1 -1
  385. package/dist/interface/ha/{web-D_q41D0i.js → web-CLbVbnCW.js} +5 -5
  386. package/dist/interface/index.html +70 -70
  387. package/dist/interface/sw.js +1 -1
  388. package/dist/server/package.json +30 -30
  389. package/dist/server/requirements.txt +2 -2
  390. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +44 -0
  391. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +2 -0
  392. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/detection.py +7 -2
  393. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/__init__.py +42 -0
  394. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/assistant_models.py +300 -0
  395. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/contract.py +9 -0
  396. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/helper.py +21 -0
  397. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/interfaces.py +80 -4
  398. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +6 -0
  399. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +2 -0
  400. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/face.py +3 -7
  401. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/face_embedder.py +69 -0
  402. package/dist/server/src/api/controllers/assistant.controller.js +1 -1
  403. package/dist/server/src/api/controllers/assistant.controller.js.map +1 -1
  404. package/dist/server/src/api/controllers/rooms.controller.js +3 -1
  405. package/dist/server/src/api/controllers/rooms.controller.js.map +1 -1
  406. package/dist/server/src/api/database/index.d.ts +1 -1
  407. package/dist/server/src/api/database/index.js +1 -1
  408. package/dist/server/src/api/database/migrations/v2-2-5.d.ts +3 -0
  409. package/dist/server/src/api/database/migrations/v2-2-5.js +19 -0
  410. package/dist/server/src/api/database/migrations/v2-2-5.js.map +1 -0
  411. package/dist/server/src/api/database/record-schemas.d.ts +4 -2
  412. package/dist/server/src/api/database/record-schemas.js +4 -1
  413. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  414. package/dist/server/src/api/database/types.d.ts +6 -1
  415. package/dist/server/src/api/schemas/assistant.schema.d.ts +23 -7
  416. package/dist/server/src/api/schemas/assistant.schema.js +5 -1
  417. package/dist/server/src/api/schemas/assistant.schema.js.map +1 -1
  418. package/dist/server/src/api/schemas/cameras.schema.d.ts +56 -8
  419. package/dist/server/src/api/schemas/cameras.schema.js +4 -3
  420. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  421. package/dist/server/src/api/services/assistant.service.d.ts +1 -1
  422. package/dist/server/src/api/services/assistant.service.js +4 -1
  423. package/dist/server/src/api/services/assistant.service.js.map +1 -1
  424. package/dist/server/src/api/services/cameras.service.d.ts +1 -0
  425. package/dist/server/src/api/services/cameras.service.js +10 -2
  426. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  427. package/dist/server/src/api/websocket/nsp/worker-perf.js +13 -0
  428. package/dist/server/src/api/websocket/nsp/worker-perf.js.map +1 -1
  429. package/dist/server/src/api/websocket/types.d.ts +12 -0
  430. package/dist/server/src/assistant/budget.d.ts +27 -0
  431. package/dist/server/src/assistant/budget.js +118 -0
  432. package/dist/server/src/assistant/budget.js.map +1 -0
  433. package/dist/server/src/assistant/compaction.d.ts +10 -0
  434. package/dist/server/src/assistant/compaction.js +83 -0
  435. package/dist/server/src/assistant/compaction.js.map +1 -0
  436. package/dist/server/src/assistant/docs.js +4 -3
  437. package/dist/server/src/assistant/docs.js.map +1 -1
  438. package/dist/server/src/assistant/history.d.ts +1 -0
  439. package/dist/server/src/assistant/history.js +28 -0
  440. package/dist/server/src/assistant/history.js.map +1 -1
  441. package/dist/server/src/assistant/manager.d.ts +11 -0
  442. package/dist/server/src/assistant/manager.js +262 -63
  443. package/dist/server/src/assistant/manager.js.map +1 -1
  444. package/dist/server/src/assistant/plugin-models.d.ts +34 -0
  445. package/dist/server/src/assistant/plugin-models.js +266 -0
  446. package/dist/server/src/assistant/plugin-models.js.map +1 -0
  447. package/dist/server/src/assistant/prompt.d.ts +7 -1
  448. package/dist/server/src/assistant/prompt.js +75 -11
  449. package/dist/server/src/assistant/prompt.js.map +1 -1
  450. package/dist/server/src/assistant/providers.js +7 -3
  451. package/dist/server/src/assistant/providers.js.map +1 -1
  452. package/dist/server/src/assistant/recap.d.ts +3 -0
  453. package/dist/server/src/assistant/recap.js +65 -0
  454. package/dist/server/src/assistant/recap.js.map +1 -0
  455. package/dist/server/src/assistant/registry.d.ts +16 -1
  456. package/dist/server/src/assistant/registry.js +49 -1
  457. package/dist/server/src/assistant/registry.js.map +1 -1
  458. package/dist/server/src/assistant/retry.js +38 -24
  459. package/dist/server/src/assistant/retry.js.map +1 -1
  460. package/dist/server/src/assistant/router.d.ts +7 -0
  461. package/dist/server/src/assistant/router.js +67 -0
  462. package/dist/server/src/assistant/router.js.map +1 -0
  463. package/dist/server/src/assistant/scheduler.js +8 -1
  464. package/dist/server/src/assistant/scheduler.js.map +1 -1
  465. package/dist/server/src/assistant/skills.d.ts +8 -0
  466. package/dist/server/src/assistant/skills.js +59 -1
  467. package/dist/server/src/assistant/skills.js.map +1 -1
  468. package/dist/server/src/assistant/threads.d.ts +1 -0
  469. package/dist/server/src/assistant/threads.js +7 -1
  470. package/dist/server/src/assistant/threads.js.map +1 -1
  471. package/dist/server/src/assistant/tool-names.js +9 -1
  472. package/dist/server/src/assistant/tool-names.js.map +1 -1
  473. package/dist/server/src/assistant/tool-rank.d.ts +2 -0
  474. package/dist/server/src/assistant/tool-rank.js +48 -0
  475. package/dist/server/src/assistant/tool-rank.js.map +1 -0
  476. package/dist/server/src/assistant/tool-schema.d.ts +3 -0
  477. package/dist/server/src/assistant/tool-schema.js +65 -0
  478. package/dist/server/src/assistant/tool-schema.js.map +1 -0
  479. package/dist/server/src/assistant/tools/api.js +7 -9
  480. package/dist/server/src/assistant/tools/api.js.map +1 -1
  481. package/dist/server/src/assistant/tools/ask.js +1 -2
  482. package/dist/server/src/assistant/tools/ask.js.map +1 -1
  483. package/dist/server/src/assistant/tools/automations.js +3 -5
  484. package/dist/server/src/assistant/tools/automations.js.map +1 -1
  485. package/dist/server/src/assistant/tools/cameras.js +3 -4
  486. package/dist/server/src/assistant/tools/cameras.js.map +1 -1
  487. package/dist/server/src/assistant/tools/docs.js +5 -6
  488. package/dist/server/src/assistant/tools/docs.js.map +1 -1
  489. package/dist/server/src/assistant/tools/instance.js +19 -19
  490. package/dist/server/src/assistant/tools/instance.js.map +1 -1
  491. package/dist/server/src/assistant/tools/memory.js +3 -4
  492. package/dist/server/src/assistant/tools/memory.js.map +1 -1
  493. package/dist/server/src/assistant/tools/metrics.js +1 -2
  494. package/dist/server/src/assistant/tools/metrics.js.map +1 -1
  495. package/dist/server/src/assistant/tools/notifications.js +4 -11
  496. package/dist/server/src/assistant/tools/notifications.js.map +1 -1
  497. package/dist/server/src/assistant/tools/plugins.js +12 -14
  498. package/dist/server/src/assistant/tools/plugins.js.map +1 -1
  499. package/dist/server/src/assistant/tools/report.js +17 -12
  500. package/dist/server/src/assistant/tools/report.js.map +1 -1
  501. package/dist/server/src/assistant/tools/schedules.js +6 -11
  502. package/dist/server/src/assistant/tools/schedules.js.map +1 -1
  503. package/dist/server/src/assistant/tools/sensors.js +63 -4
  504. package/dist/server/src/assistant/tools/sensors.js.map +1 -1
  505. package/dist/server/src/assistant/tools/settings.js +2 -3
  506. package/dist/server/src/assistant/tools/settings.js.map +1 -1
  507. package/dist/server/src/assistant/tools/system.js +3 -5
  508. package/dist/server/src/assistant/tools/system.js.map +1 -1
  509. package/dist/server/src/assistant/tools/terminal.js +4 -5
  510. package/dist/server/src/assistant/tools/terminal.js.map +1 -1
  511. package/dist/server/src/assistant/types.d.ts +10 -1
  512. package/dist/server/src/assistant/uploads.d.ts +2 -1
  513. package/dist/server/src/assistant/uploads.js +25 -3
  514. package/dist/server/src/assistant/uploads.js.map +1 -1
  515. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +5 -0
  516. package/dist/server/src/camera/decoder/detection-coordinator.js +45 -14
  517. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  518. package/dist/server/src/camera/decoder/detection-pipeline.js +2 -1
  519. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  520. package/dist/server/src/camera/decoder/event-manager.d.ts +27 -4
  521. package/dist/server/src/camera/decoder/event-manager.js +175 -48
  522. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  523. package/dist/server/src/camera/decoder/nvr-sink.d.ts +4 -1
  524. package/dist/server/src/camera/decoder/nvr-sink.js +1 -1
  525. package/dist/server/src/camera/decoder/nvr-sink.js.map +1 -1
  526. package/dist/server/src/camera/decoder/perf-tracker.d.ts +10 -0
  527. package/dist/server/src/camera/decoder/perf-tracker.js +20 -0
  528. package/dist/server/src/camera/decoder/perf-tracker.js.map +1 -1
  529. package/dist/server/src/camera/decoder/secondary-stage.d.ts +21 -1
  530. package/dist/server/src/camera/decoder/secondary-stage.js +301 -59
  531. package/dist/server/src/camera/decoder/secondary-stage.js.map +1 -1
  532. package/dist/server/src/camera/decoder/side-queue.d.ts +13 -0
  533. package/dist/server/src/camera/decoder/side-queue.js +53 -0
  534. package/dist/server/src/camera/decoder/side-queue.js.map +1 -0
  535. package/dist/server/src/camera/decoder/sources/buffered-source.d.ts +2 -0
  536. package/dist/server/src/camera/decoder/sources/buffered-source.js +7 -1
  537. package/dist/server/src/camera/decoder/sources/buffered-source.js.map +1 -1
  538. package/dist/server/src/camera/decoder/types.d.ts +11 -1
  539. package/dist/server/src/camera/decoder/types.js +9 -1
  540. package/dist/server/src/camera/decoder/types.js.map +1 -1
  541. package/dist/server/src/camera/sensors/controller.d.ts +1 -0
  542. package/dist/server/src/camera/sensors/controller.js +28 -4
  543. package/dist/server/src/camera/sensors/controller.js.map +1 -1
  544. package/dist/server/src/main.js +11 -2
  545. package/dist/server/src/main.js.map +1 -1
  546. package/dist/server/src/plugins/index.js +5 -4
  547. package/dist/server/src/plugins/index.js.map +1 -1
  548. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +1 -14
  549. package/dist/server/src/plugins/runtime/python/proxy/sensor.py +14 -1
  550. package/dist/server/src/plugins/runtime/python/proxy/sensor_manager.py +1 -13
  551. package/dist/server/src/rpc/interfaces/detection.d.ts +14 -2
  552. package/dist/server/src/rpc/server.js +1 -0
  553. package/dist/server/src/rpc/server.js.map +1 -1
  554. package/dist/server/src/services/config/index.d.ts +1 -0
  555. package/dist/server/src/services/config/index.js +6 -11
  556. package/dist/server/src/services/config/index.js.map +1 -1
  557. package/dist/server/src/utils/camera.js +8 -5
  558. package/dist/server/src/utils/camera.js.map +1 -1
  559. package/dist/server/src/utils/instance-lock.d.ts +1 -0
  560. package/dist/server/src/utils/instance-lock.js +57 -0
  561. package/dist/server/src/utils/instance-lock.js.map +1 -0
  562. package/dist/server/src/workers/agent.d.ts +2 -0
  563. package/dist/server/src/workers/agent.js +11 -1
  564. package/dist/server/src/workers/agent.js.map +1 -1
  565. package/dist/server/src/workers/manager.js +9 -2
  566. package/dist/server/src/workers/manager.js.map +1 -1
  567. package/dist/server/src/workers/types.d.ts +1 -0
  568. package/npm-shrinkwrap.json +213 -213
  569. package/package.json +30 -30
  570. package/dist/interface/assets/Assistant-bB8RBo-m.js +0 -1
  571. package/dist/interface/assets/Automations-BdZZW2eN.js +0 -2
  572. package/dist/interface/assets/Camera-B4ojNnKb.css +0 -1
  573. package/dist/interface/assets/Camera-Ct7ndOxr.js +0 -2
  574. package/dist/interface/assets/Camview-BjQdTHNh.js +0 -1
  575. package/dist/interface/assets/Config-CBTbYd5v.js +0 -2
  576. package/dist/interface/assets/ConfigTriggerGeofence-Bl2ZacbY.js +0 -1
  577. package/dist/interface/assets/Console-Cfk9MA9m.js +0 -1
  578. package/dist/interface/assets/CuiAssistantConversation-BHK_i56I.js +0 -5
  579. package/dist/interface/assets/CuiAssistantConversation-lkpZg3ML.css +0 -1
  580. package/dist/interface/assets/CuiAutomationRunsDialog-B0ohEHw0.js +0 -1
  581. package/dist/interface/assets/CuiBottomSheet-NgX7VFao.js +0 -1
  582. package/dist/interface/assets/CuiCameraPipCard-C2qaGJlH.js +0 -1
  583. package/dist/interface/assets/CuiCameraRecordings-BTD-CQAg.js +0 -1
  584. package/dist/interface/assets/CuiCameraTable-KPk46Xcl.js +0 -1
  585. package/dist/interface/assets/CuiDataTable-CsqH-RB1.js +0 -1
  586. package/dist/interface/assets/CuiLightControl-ChGYpQAK.js +0 -1
  587. package/dist/interface/assets/CuiMarkdownContent-DSArmS0V.js +0 -1
  588. package/dist/interface/assets/CuiPluginCard-CWImTZ6l.js +0 -2
  589. package/dist/interface/assets/CuiSchema-ytExUVhI.js +0 -1
  590. package/dist/interface/assets/Faces-Cb6XMxDC.js +0 -1
  591. package/dist/interface/assets/FirstSteps-QNYTkEJo.js +0 -1
  592. package/dist/interface/assets/Floorplan-DbqADtN1.js +0 -1
  593. package/dist/interface/assets/Instances-DrMzPD65.js +0 -1
  594. package/dist/interface/assets/Metrics-BUP_-7o7.css +0 -1
  595. package/dist/interface/assets/Metrics-CqhUnVRA.js +0 -12
  596. package/dist/interface/assets/Plugin-BDqNeTCT.css +0 -1
  597. package/dist/interface/assets/Plugin-DyOg_fbg.js +0 -1
  598. package/dist/interface/assets/PluginSearch-BgecD9Ob.js +0 -2
  599. package/dist/interface/assets/PluginSearch-C8xHKikH.js +0 -1
  600. package/dist/interface/assets/Plugins-CuujWEtM.js +0 -1
  601. package/dist/interface/assets/Recordings-9FJqCfdM.css +0 -1
  602. package/dist/interface/assets/Recordings-ths9khZr.js +0 -1
  603. package/dist/interface/assets/SensorEdit-BzoIH7QC.js +0 -1
  604. package/dist/interface/assets/Sensors-CK5uExfU.js +0 -2
  605. package/dist/interface/assets/Settings-DN5hFtw_.js +0 -1
  606. package/dist/interface/assets/SettingsAccount-BCrmon5O.js +0 -1
  607. package/dist/interface/assets/SettingsAccount-CSy1BAIH.js +0 -1
  608. package/dist/interface/assets/SettingsAppearance-h_XPZfQl.js +0 -1
  609. package/dist/interface/assets/SettingsAssistant-BESab92C.css +0 -1
  610. package/dist/interface/assets/SettingsAssistant-D8FmVbUL.js +0 -1
  611. package/dist/interface/assets/SettingsMqtt-DCkLIYpF.js +0 -1
  612. package/dist/interface/assets/SettingsRemote-DXlQKwlT.js +0 -2
  613. package/dist/interface/assets/Terminal-Dl-aAZME.js +0 -4
  614. package/dist/interface/assets/Training-B1oQjAr8.css +0 -1
  615. package/dist/interface/assets/Training-DdZjXgt1.js +0 -1
  616. package/dist/interface/assets/Updates-CkB1lXuo.js +0 -2
  617. package/dist/interface/assets/Workers-7yiebNkl.js +0 -2
  618. package/dist/interface/assets/api-DK2Bav9D.js +0 -4
  619. package/dist/interface/assets/api-DTCqDA-h.css +0 -2
  620. package/dist/interface/assets/assistant-BJ6xKcw_.js +0 -1
  621. package/dist/interface/assets/cloudHandoff-DtlquYGZ.js +0 -1
  622. package/dist/interface/assets/esm-4Hzzm93H.js +0 -1
  623. package/dist/interface/assets/esm-BrFPi5_4.js +0 -1
  624. package/dist/interface/assets/esm-C7pcdfXf.js +0 -1
  625. package/dist/interface/assets/esm-C8bsO829.js +0 -1
  626. package/dist/interface/assets/esm-CXzdnAMk.js +0 -1
  627. package/dist/interface/assets/esm-CZNGZkPu.js +0 -1
  628. package/dist/interface/assets/esm-D0iI7OVb.js +0 -1
  629. package/dist/interface/assets/esm-DKolm6KU.js +0 -1
  630. package/dist/interface/assets/esm-DTywI9gs.js +0 -1
  631. package/dist/interface/assets/esm-DifXcK9i.js +0 -1
  632. package/dist/interface/assets/esm-Dq5o-Xb4.js +0 -1
  633. package/dist/interface/assets/esm-IbQuUZ5l.js +0 -1
  634. package/dist/interface/assets/esm-Xre_AP5i.js +0 -1
  635. package/dist/interface/assets/esm-zYnXHhpH.js +0 -1
  636. package/dist/interface/assets/main-D74mRIxc.js +0 -3
  637. package/dist/interface/assets/native-CAujTO6L.js +0 -1
  638. package/dist/interface/assets/native-sQ88qazf.js +0 -1
  639. package/dist/interface/assets/plugin-D7K50k_y.js +0 -1
  640. package/dist/interface/assets/sensorIcons-DQVgryYP.js +0 -1
  641. package/dist/interface/assets/types-5rE8Tz0_.js +0 -1
  642. package/dist/interface/assets/ungrouped-D56FGIrg.js +0 -1
  643. package/dist/interface/assets/useBackupRestore-Crfd592q.js +0 -1
  644. package/dist/interface/assets/useKeyboardInset-DXVi1dLG.js +0 -1
  645. package/dist/interface/assets/useUserOptions-BTRBUuE2.js +0 -1
  646. package/dist/interface/assets/vendor-gridstack-anPyIu9V.js +0 -3
  647. package/dist/interface/assets/web-3M-ddn4G.js +0 -1
  648. package/dist/interface/assets/web-BY80VGyU.js +0 -1
  649. package/dist/interface/assets/web-B_tUYyM0.js +0 -1
  650. package/dist/interface/assets/web-BjKL51lK-Bb5NYhpJ.js +0 -1
  651. package/dist/interface/assets/web-Bv-4PJGI.js +0 -1
  652. package/dist/interface/assets/web-C3Pk8qeB.js +0 -1
  653. package/dist/interface/assets/web-CLcvGPH6.js +0 -1
  654. package/dist/interface/assets/web-DO8gTOVJ.js +0 -1
  655. package/dist/interface/assets/web-DR5q_DmI.js +0 -1
  656. package/dist/interface/assets/web-DRHbG4Te.js +0 -1
  657. package/dist/interface/assets/web-DaQ8d8yk.js +0 -1
  658. package/dist/interface/assets/web-EVRW5whF.js +0 -1
  659. package/dist/interface/assets/web-S6Dk3UWN.js +0 -1
  660. package/dist/interface/assets/web-pWIp0wf0.js +0 -1
  661. package/dist/interface/assets/workbox-window.prod.es5-Dz5rcO1z.js +0 -1
  662. package/dist/interface/ha/Faces-C_svyTrr.js +0 -1282
  663. package/dist/interface/ha/SettingsAssistant-C2R4ZetE.js +0 -1857
  664. package/dist/interface/ha/Training-BEzPiXZg.js +0 -1512
@@ -57,6 +57,12 @@ const MOTION_INTERVAL_MS = 200;
57
57
  const TICK_SLACK_MS = 20;
58
58
  const MAIN_STREAM_HOLD_MS = 5000;
59
59
  const EXTERNAL_FRAME_MAX_AGE_MS = 1000;
60
+ function momentPictures(rendered) {
61
+ return { strip: rendered.strip, card: rendered.card, stripWindow: rendered.stripWindow, cardWindow: rendered.cardWindow };
62
+ }
63
+ function normalizedWindow(window, frameWidth, frameHeight) {
64
+ return { x: window.x / frameWidth, y: window.y / frameHeight, width: window.width / frameWidth, height: window.height / frameHeight };
65
+ }
60
66
  let DetectionCoordinator = class DetectionCoordinator {
61
67
  config;
62
68
  proxy;
@@ -143,7 +149,7 @@ let DetectionCoordinator = class DetectionCoordinator {
143
149
  if (config.zones.lines.length > 0) {
144
150
  this.pipeline.updateLines(config.zones.lines, this.videoAspectRatio);
145
151
  }
146
- this.eventManager = new DetectionEventManager(config.cameraId, this.proxy, this.logger);
152
+ this.eventManager = new DetectionEventManager(config.cameraId, this.proxy, this.logger, this.perf);
147
153
  this.eventManager.updateNvrRpc(config.nvrRpc);
148
154
  this.eventManager.onEventEnd(() => this.handleEventEnded());
149
155
  this.eventManager.onSegmentClosed(() => {
@@ -352,6 +358,18 @@ let DetectionCoordinator = class DetectionCoordinator {
352
358
  this.pipeline.updateLines(this.config.zones.lines, this.videoAspectRatio);
353
359
  }
354
360
  }
361
+ vectorJobStarted() {
362
+ this.eventManager.vectorJobStarted();
363
+ }
364
+ vectorJobSettled() {
365
+ this.eventManager.vectorJobSettled();
366
+ }
367
+ acceptClipVectors(embeddings, embeddingModel, capturedAt) {
368
+ this.eventManager.acceptClipVectors(embeddings, embeddingModel, capturedAt);
369
+ }
370
+ acceptFaceVectors(faces, embeddingModel, capturedAt) {
371
+ this.eventManager.acceptFaceVectors(faces, embeddingModel, capturedAt);
372
+ }
355
373
  async dispose() {
356
374
  this.heldMoments.clear();
357
375
  await this.stopVideoLoop();
@@ -1138,6 +1156,7 @@ let DetectionCoordinator = class DetectionCoordinator {
1138
1156
  let firstFrame = true;
1139
1157
  while (this.loopRunning) {
1140
1158
  const tickStart = Date.now();
1159
+ const objectFramesBefore = this.perf.framesWithObjects;
1141
1160
  let onMainStream = false;
1142
1161
  const snap = await this.frameSource.nextFrame(lastFrameId);
1143
1162
  if (!snap)
@@ -1207,11 +1226,16 @@ let DetectionCoordinator = class DetectionCoordinator {
1207
1226
  else
1208
1227
  this.perf.idleTicks++;
1209
1228
  this.perf.report(this.logger);
1210
- const remaining = (this.mainStreamActive ? ACTIVE_TICK_MS : IDLE_TICK_MS) - (Date.now() - tickStart);
1229
+ const workMs = Date.now() - tickStart;
1230
+ const remaining = (this.mainStreamActive ? ACTIVE_TICK_MS : IDLE_TICK_MS) - workMs;
1211
1231
  if (remaining > 0)
1212
1232
  await sleep(remaining);
1213
1233
  const tickMs = Date.now() - tickStart;
1214
1234
  this.perf.loopMs += tickMs;
1235
+ if (this.perf.framesWithObjects > objectFramesBefore) {
1236
+ this.perf.objectWorkMs += workMs;
1237
+ this.perf.objectLoopMs += tickMs;
1238
+ }
1215
1239
  if (onMainStream) {
1216
1240
  this.perf.mainTicks++;
1217
1241
  this.perf.mainLoopMs += tickMs;
@@ -1624,11 +1648,6 @@ let DetectionCoordinator = class DetectionCoordinator {
1624
1648
  }
1625
1649
  }
1626
1650
  }
1627
- if (results.clip) {
1628
- // clip has no sensor, embeddings flow through the buffer only
1629
- this.currentDetectionState.clip = results.clip;
1630
- this.currentDetectionState.clipEmbeddingModel = results.clipEmbeddingModel;
1631
- }
1632
1651
  }
1633
1652
  snapshotWillStartEvent(snapshot) {
1634
1653
  if (this.eventManager.hasActiveEvent())
@@ -1725,8 +1744,7 @@ let DetectionCoordinator = class DetectionCoordinator {
1725
1744
  continue;
1726
1745
  const score = sighting.confidence * Math.sqrt(sighting.width * sighting.height);
1727
1746
  this.heldMoments.set(sighting.trackId, {
1728
- strip: rendered.strip,
1729
- card: rendered.card,
1747
+ ...momentPictures(rendered),
1730
1748
  capturedAt: at,
1731
1749
  score,
1732
1750
  rank: MOMENT_RANK_OBJECT,
@@ -1803,7 +1821,7 @@ let DetectionCoordinator = class DetectionCoordinator {
1803
1821
  const rendered = await this.renderMoment(target, analysis);
1804
1822
  if (!rendered)
1805
1823
  return;
1806
- this.eventManager.offerMoment({ strip: rendered.strip, card: rendered.card, capturedAt: at, score: bestScore, rank: MOMENT_RANK_OBJECT, stream: 'low' });
1824
+ this.eventManager.offerMoment({ ...momentPictures(rendered), capturedAt: at, score: bestScore, rank: MOMENT_RANK_OBJECT, stream: 'low' });
1807
1825
  // debugging
1808
1826
  await this.recordMoment(target, rendered, analysis, `${subject.label}-external`, bestScore, 'external', at);
1809
1827
  }
@@ -1815,7 +1833,7 @@ let DetectionCoordinator = class DetectionCoordinator {
1815
1833
  if (!rendered)
1816
1834
  return;
1817
1835
  const stream = analysis.isMainStream ? 'main' : 'low';
1818
- this.eventManager.offerMoment({ strip: rendered.strip, card: rendered.card, capturedAt: at, score, rank: MOMENT_RANK_OBJECT, stream });
1836
+ this.eventManager.offerMoment({ ...momentPictures(rendered), capturedAt: at, score, rank: MOMENT_RANK_OBJECT, stream });
1819
1837
  // debugging
1820
1838
  await this.recordMoment(target, rendered, analysis, `${subject.label}-${subject.trackId}`, score, trigger, at);
1821
1839
  }
@@ -1873,7 +1891,7 @@ let DetectionCoordinator = class DetectionCoordinator {
1873
1891
  if (!rendered)
1874
1892
  return;
1875
1893
  const stream = analysis.isMainStream ? 'main' : 'low';
1876
- this.eventManager.offerMoment({ strip: rendered.strip, card: rendered.card, capturedAt: at, score: bestScore, rank: MOMENT_RANK_ATTRIBUTE, stream });
1894
+ this.eventManager.offerMoment({ ...momentPictures(rendered), capturedAt: at, score: bestScore, rank: MOMENT_RANK_ATTRIBUTE, stream });
1877
1895
  // debugging
1878
1896
  await this.recordMoment(target, rendered, analysis, best.label.replace(':', '-'), bestScore, 'attributeFound', at);
1879
1897
  }
@@ -1881,6 +1899,8 @@ let DetectionCoordinator = class DetectionCoordinator {
1881
1899
  const start = Date.now();
1882
1900
  const rendered = new Map();
1883
1901
  const windows = {};
1902
+ // a card handed in was cut elsewhere, its window is not the one computed here
1903
+ const cut = new Set();
1884
1904
  if (card)
1885
1905
  rendered.set('card', card);
1886
1906
  try {
@@ -1892,8 +1912,10 @@ let DetectionCoordinator = class DetectionCoordinator {
1892
1912
  if (rendered.has(format.name))
1893
1913
  continue;
1894
1914
  const jpeg = await analysis.scaler.cropWindowToJPEG(analysis.frame, window, format.width, format.height, MOMENT_QUALITY);
1895
- if (jpeg)
1915
+ if (jpeg) {
1896
1916
  rendered.set(format.name, jpeg);
1917
+ cut.add(format.name);
1918
+ }
1897
1919
  }
1898
1920
  }
1899
1921
  catch (error) {
@@ -1901,7 +1923,16 @@ let DetectionCoordinator = class DetectionCoordinator {
1901
1923
  }
1902
1924
  this.perf.jpegMs += Date.now() - start;
1903
1925
  const strip = rendered.get('strip');
1904
- return strip ? { strip, card: rendered.get('card'), windows } : null;
1926
+ if (!strip)
1927
+ return null;
1928
+ const { width, height } = analysis.frame;
1929
+ return {
1930
+ strip,
1931
+ card: rendered.get('card'),
1932
+ windows,
1933
+ stripWindow: windows.strip && cut.has('strip') ? normalizedWindow(windows.strip, width, height) : undefined,
1934
+ cardWindow: windows.card && cut.has('card') ? normalizedWindow(windows.card, width, height) : undefined,
1935
+ };
1905
1936
  }
1906
1937
  // debugging
1907
1938
  async recordMoment(target, rendered, analysis, subjectName, score, trigger, at) {
@@ -1 +1 @@
1
- {"version":3,"file":"detection-coordinator.js","sourceRoot":"","sources":["../../../../../src/camera/decoder/detection-coordinator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"detection-coordinator.js","sourceRoot":"","sources":["../../../../../src/camera/decoder/detection-coordinator.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ const NMS_IOU_THRESHOLD = 0.45;
7
7
  const NMS_CONFIDENCE_THRESHOLD = 0.25;
8
8
  const OBJECT_MERGE_IOU_THRESHOLD = 0.3;
9
9
  const OBJECT_MERGE_CLOSE_THRESHOLD = 0.0;
10
+ const PERSON_MERGE_CONTAINMENT = { labels: ['person'], minShare: 0.85 };
10
11
  const MOTION_MERGE_IOU_THRESHOLD = 0.01;
11
12
  const MOTION_MERGE_CLOSE_THRESHOLD = 0.1;
12
13
  const TRAINING_MIN_CONFIDENCE = 0.5;
@@ -322,7 +323,7 @@ export class DetectionPipeline {
322
323
  const deduped = rustNms(flat, NMS_IOU_THRESHOLD);
323
324
  if (deduped.length === 0)
324
325
  return [];
325
- return rustMerge(deduped, OBJECT_MERGE_IOU_THRESHOLD, OBJECT_MERGE_CLOSE_THRESHOLD);
326
+ return rustMerge(deduped, OBJECT_MERGE_IOU_THRESHOLD, OBJECT_MERGE_CLOSE_THRESHOLD, PERSON_MERGE_CONTAINMENT);
326
327
  }
327
328
  }
328
329
  //# sourceMappingURL=detection-pipeline.js.map