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

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 (643) hide show
  1. package/dist/interface/assets/{404-YZOLos9r.js → 404-CiOxoqnT.js} +1 -1
  2. package/dist/interface/assets/{About-HtxMc8JZ.js → About-DWOlfWEm.js} +1 -1
  3. package/dist/interface/assets/Assistant-B1xdMAkA.js +1 -0
  4. package/dist/interface/assets/{Assistant-BMscGKnc.css → Assistant-CXx7EY1W.css} +1 -1
  5. package/dist/interface/assets/{Automation-D3DcUyui.js → Automation-BJgwUkUB.js} +3 -3
  6. package/dist/interface/assets/{AutomationImport-Dp_hT6hQ.js → AutomationImport-9GRAndAt.js} +2 -2
  7. package/dist/interface/assets/{AutomationStore-BKR7GXMk.js → AutomationStore-D_HR2Xby.js} +2 -2
  8. package/dist/interface/assets/{AutomationStoreDetail-B9yh51WQ.js → AutomationStoreDetail-B9MxV2py.js} +2 -2
  9. package/dist/interface/assets/Automations-Bpw8olkc.js +2 -0
  10. package/dist/interface/assets/Camera-BpFfZDaS.js +2 -0
  11. package/dist/interface/assets/{CameraConsole-BI93OaRt.js → CameraConsole-BKPTLSTO.js} +1 -1
  12. package/dist/interface/assets/{Cameras-Ctub8sVt.js → Cameras-DcrVCgLy.js} +2 -2
  13. package/dist/interface/assets/Camview-C16pyCZk.js +1 -0
  14. package/dist/interface/assets/{Camview-CZct5cnP.css → Camview-DasO326h.css} +1 -1
  15. package/dist/interface/assets/{CertificateUpload-xW55NA1Q.js → CertificateUpload-BYFKZCP9.js} +1 -1
  16. package/dist/interface/assets/Config-BmEL5EaW.js +2 -0
  17. package/dist/interface/assets/{ConfigActionAssistant-B488rOp5.js → ConfigActionAssistant-DM4tIhoa.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionCameraControl-ZMUuBxOs.js → ConfigActionCameraControl-Deo0eDPS.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionDelay-BJ11xvOW.js → ConfigActionDelay-_EqbfWgo.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionHttp-DOUo69OR.js → ConfigActionHttp-BxJmoshF.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionImageInput-BMzuVZW9.js → ConfigActionImageInput-KrzXFQDm.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionMqtt-Co_uksca.js → ConfigActionMqtt-BoYBomRC.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionNotification-CcZkstYx.js → ConfigActionNotification-CSAOijDt.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionNotificationControl--VeucoTw.js → ConfigActionNotificationControl-BOdyKiOs.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionOutput-CyDa1LGA.js → ConfigActionOutput-CwsPcnd_.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionPlugin-Kfg3ZEQF.js → ConfigActionPlugin-D3wyULpp.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionSensor-DhAF0HPw.js → ConfigActionSensor-BmeaIxYY.js} +1 -1
  28. package/dist/interface/assets/{ConfigActionSnapshot-zMe3SPvW.js → ConfigActionSnapshot-DbyFKcYr.js} +1 -1
  29. package/dist/interface/assets/{ConfigActionVariable-BE5q3NwY.js → ConfigActionVariable-cThGJ1Pc.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionIfElse-BNIRtSVD.js → ConfigConditionIfElse-BugkJeXR.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionSensorState-DTNd-SzI.js → ConfigConditionSensorState-Bf-mMf4E.js} +1 -1
  32. package/dist/interface/assets/{ConfigConditionSwitch-BU5wWMU1.js → ConfigConditionSwitch-DcpFoYET.js} +1 -1
  33. package/dist/interface/assets/{ConfigConditionTime-KXTCIVIV.js → ConfigConditionTime-CM4bSMyU.js} +1 -1
  34. package/dist/interface/assets/{ConfigSensorValueInput-BC1FpMm-.js → ConfigSensorValueInput-CgAI34__.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerDetection-hIN1hi53.js → ConfigTriggerDetection-BWK6gfwM.js} +1 -1
  36. package/dist/interface/assets/ConfigTriggerGeofence-Cm3CU7Tl.js +1 -0
  37. package/dist/interface/assets/{ConfigTriggerManual-C5vwxS-e.js → ConfigTriggerManual-DgkR-GWy.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerMqtt-B4PtWC3E.js → ConfigTriggerMqtt-BMFjTAso.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSchedule-BZzUdGBa.js → ConfigTriggerSchedule-E_QWfNKy.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerSensor-D18nwMsj.js → ConfigTriggerSensor-DOdJkZRo.js} +1 -1
  41. package/dist/interface/assets/{ConfigTriggerSystem-BhygWLB4.js → ConfigTriggerSystem-BFDIbZsE.js} +1 -1
  42. package/dist/interface/assets/{ConfigTriggerWebhook-yyuBuhLD.js → ConfigTriggerWebhook-DDoUEVHb.js} +1 -1
  43. package/dist/interface/assets/Console-BIj7cIqO.js +1 -0
  44. package/dist/interface/assets/CuiAssistantConversation-CRNCKRHz.js +5 -0
  45. package/dist/interface/assets/{CuiAssistantConversation-lkpZg3ML.css → CuiAssistantConversation-DQ0wOJvV.css} +1 -1
  46. package/dist/interface/assets/CuiAutomationRunsDialog-DMUfNcsf.js +1 -0
  47. package/dist/interface/assets/CuiBottomSheet-CYi5c3fP.js +1 -0
  48. package/dist/interface/assets/{CuiBottomSheet-DWefGWK2.js → CuiBottomSheet-FwsPnJ3n.js} +1 -1
  49. package/dist/interface/assets/{CuiCameraPipCard-C2qaGJlH.js → CuiCameraPipCard-Cb_Qbly6.js} +1 -1
  50. package/dist/interface/assets/CuiCameraRecordings-BeciatDY.js +1 -0
  51. package/dist/interface/assets/{CuiCameraShares-DcqOcePX.js → CuiCameraShares-CSFwIYsg.js} +1 -1
  52. package/dist/interface/assets/CuiCameraTable-BgL5FZso.js +1 -0
  53. package/dist/interface/assets/{CuiCameraTable-BOkfp_5M.js → CuiCameraTable-DBRfGX3I.js} +2 -2
  54. package/dist/interface/assets/{CuiChartTable-DP38uBwK.js → CuiChartTable-CtasoxMM.js} +1 -1
  55. package/dist/interface/assets/{CuiConsole-C7xE_nQg.js → CuiConsole-DQbAafiz.js} +2 -2
  56. package/dist/interface/assets/CuiDataTable-JlD7Agky.js +1 -0
  57. package/dist/interface/assets/{CuiLightControl-ChGYpQAK.js → CuiLightControl-CLYl5pfN.js} +1 -1
  58. package/dist/interface/assets/{CuiList-DJp0__mV.js → CuiList-Dsu5m0TA.js} +1 -1
  59. package/dist/interface/assets/{CuiMarkdownContent-BUYtK_wD.js → CuiMarkdownContent-BYBQX_aF.js} +1 -1
  60. package/dist/interface/assets/CuiMarkdownContent-DTAm-EDR.js +1 -0
  61. package/dist/interface/assets/{CuiPluginCard-CWImTZ6l.js → CuiPluginCard-CC1oXY16.js} +2 -2
  62. package/dist/interface/assets/{CuiPluginCategoryChip-Ch_upS6Y.js → CuiPluginCategoryChip-B2bR5LQa.js} +1 -1
  63. package/dist/interface/assets/{CuiPluginOAuthButton-DEQ9xILN.js → CuiPluginOAuthButton-DfEjfcY-.js} +2 -2
  64. package/dist/interface/assets/{CuiPluginTrustBadge-sVWdvHcM.js → CuiPluginTrustBadge-C6CW6Soh.js} +1 -1
  65. package/dist/interface/assets/{CuiQRCode-DqSF4SkD.js → CuiQRCode-DGKBhDib.js} +1 -1
  66. package/dist/interface/assets/CuiSchema-pAAVh28m.js +1 -0
  67. package/dist/interface/assets/{CuiTopNavbarItem-B_KWykgq.js → CuiTopNavbarItem-ve-3Dsc3.js} +1 -1
  68. package/dist/interface/assets/Faces-1xd5yGuO.js +1 -0
  69. package/dist/interface/assets/{FirstSteps-QNYTkEJo.js → FirstSteps-E9cMqa0a.js} +1 -1
  70. package/dist/interface/assets/Floorplan-BovV_ATh.js +1 -0
  71. package/dist/interface/assets/Instances-BbxyB7vR.js +1 -0
  72. package/dist/interface/assets/{Logs-BSPT80vP.js → Logs-BhRactvQ.js} +2 -2
  73. package/dist/interface/assets/{Menu-HHtuhIS2.js → Menu-DMCmUVDs.js} +1 -1
  74. package/dist/interface/assets/Metrics-BgXrNl38.js +12 -0
  75. package/dist/interface/assets/Metrics-ChVnC6f6.css +1 -0
  76. package/dist/interface/assets/{OAuthDeviceFlow-Bn1nlWNa.js → OAuthDeviceFlow-BMEwVkIa.js} +1 -1
  77. package/dist/interface/assets/Plugin-CDNywaVE.js +1 -0
  78. package/dist/interface/assets/Plugin-Qr_Q_Qfi.css +1 -0
  79. package/dist/interface/assets/{PluginConsole-Cv-uhnPY.js → PluginConsole-C4Ba_U_1.js} +1 -1
  80. package/dist/interface/assets/{PluginDetail-cpOz7FkA.js → PluginDetail-13OWIzdd.js} +2 -2
  81. package/dist/interface/assets/{PluginSchema-DW3TGeTM.js → PluginSchema-DN0cSU8s.js} +1 -1
  82. package/dist/interface/assets/PluginSearch-sPkO8aH3.js +2 -0
  83. package/dist/interface/assets/PluginSearch-xNIlfXk4.js +1 -0
  84. package/dist/interface/assets/{PluginUpdateProgress-n6q6vzyd.js → PluginUpdateProgress-CeWuRp3Z.js} +1 -1
  85. package/dist/interface/assets/Plugins-C8yjhxnQ.js +1 -0
  86. package/dist/interface/assets/{RecentEventsFilter-CTR5JK_P.js → RecentEventsFilter-Kp_lTOuG.js} +1 -1
  87. package/dist/interface/assets/Recordings-BHT8Vvv_.js +1 -0
  88. package/dist/interface/assets/Recordings-DwuojaAw.css +1 -0
  89. package/dist/interface/assets/SensorEdit-C-yJdJuP.js +1 -0
  90. package/dist/interface/assets/{SensorHistory-9CdOpCPs.js → SensorHistory-ClAcOgHj.js} +1 -1
  91. package/dist/interface/assets/Sensors-Cza4Et2c.js +2 -0
  92. package/dist/interface/assets/Settings-Cj0leoGd.js +1 -0
  93. package/dist/interface/assets/SettingsAccount-COkcBBSz.js +1 -0
  94. package/dist/interface/assets/SettingsAccount-DjrJdssy.js +1 -0
  95. package/dist/interface/assets/{SettingsAppearance-BY1xQMx4.js → SettingsAppearance-CJt4xJEW.js} +1 -1
  96. package/dist/interface/assets/SettingsAppearance-D20YW7Vq.js +1 -0
  97. package/dist/interface/assets/SettingsAssistant-CDdbbG-c.css +1 -0
  98. package/dist/interface/assets/SettingsAssistant-DKWDp1AI.js +1 -0
  99. package/dist/interface/assets/{SettingsBackup-D_weokqu.js → SettingsBackup-DIJmci05.js} +1 -1
  100. package/dist/interface/assets/{SettingsList-Bq24WTDU.js → SettingsList-Cb_dLy5T.js} +1 -1
  101. package/dist/interface/assets/SettingsMqtt-LIuCRPT5.js +1 -0
  102. package/dist/interface/assets/{SettingsNotifications-8TZOUxg2.js → SettingsNotifications-CZxqqH_8.js} +1 -1
  103. package/dist/interface/assets/{SettingsPermissions-M8u_jrN0.js → SettingsPermissions-CJiz0Z7B.js} +1 -1
  104. package/dist/interface/assets/{SettingsRecordings-C1Kp5xW_.js → SettingsRecordings-BEpwMh-y.js} +1 -1
  105. package/dist/interface/assets/SettingsRemote-DRt-N_yA.js +2 -0
  106. package/dist/interface/assets/{SettingsSystem-Cetu2faJ.js → SettingsSystem-Cncdpx8T.js} +2 -2
  107. package/dist/interface/assets/{SettingsUsers-CDwtQLdV.js → SettingsUsers-DZkz8WlI.js} +1 -1
  108. package/dist/interface/assets/Terminal-U4yfJN3O.js +4 -0
  109. package/dist/interface/assets/Training-Bkn52mPJ.css +1 -0
  110. package/dist/interface/assets/Training-DfgE_dA8.js +1 -0
  111. package/dist/interface/assets/Updates-cCvbFq3w.js +2 -0
  112. package/dist/interface/assets/{VariableInput-BxPj5wo6.js → VariableInput-PVsqGYW0.js} +1 -1
  113. package/dist/interface/assets/{VariableSuggestions-CbizvAkz.js → VariableSuggestions-DwLtlzVz.js} +1 -1
  114. package/dist/interface/assets/{VersionsHandler-CePyEUVO.js → VersionsHandler-Df7dhddp.js} +2 -2
  115. package/dist/interface/assets/{VirtualSensorCreate-D_GVoeL7.js → VirtualSensorCreate-FTKANjd-.js} +1 -1
  116. package/dist/interface/assets/Workers-Ba37_3cY.js +2 -0
  117. package/dist/interface/assets/{account-Bu30He0P.js → account-DwW7pBOb.js} +1 -1
  118. package/dist/interface/assets/{alert-circle-D2fAQwTX.js → alert-circle-BdUVAt1B.js} +1 -1
  119. package/dist/interface/assets/{alert-outline-D7zaSJH_.js → alert-outline-IRxYbw0j.js} +1 -1
  120. package/dist/interface/assets/api-C1mraOYr.js +4 -0
  121. package/dist/interface/assets/{api-DW2niHRN.js → api-DpqXhwcx.js} +1 -1
  122. package/dist/interface/assets/api-z8ZVnoOl.css +2 -0
  123. package/dist/interface/assets/{arrow-left-BGLyEqqa.js → arrow-left-Bk-ZrOVr.js} +1 -1
  124. package/dist/interface/assets/assistant-Lz3mFLDo.js +1 -0
  125. package/dist/interface/assets/{assistantModels-D0soYqq7.js → assistantModels-BsSgRsws.js} +1 -1
  126. package/dist/interface/assets/{auth-Dc8bUpc-.js → auth-L7_5vsJs.js} +1 -1
  127. package/dist/interface/assets/{automations-DXrjbArj.js → automations-D1XFFSrm.js} +1 -1
  128. package/dist/interface/assets/{back-filled-BPBVnQjx.js → back-filled-D-X19YMO.js} +1 -1
  129. package/dist/interface/assets/{bell-ring-CyCFPUL_.js → bell-ring-DreEHgoT.js} +1 -1
  130. package/dist/interface/assets/{brain-CIJB1ree.js → brain-DuDAg544.js} +1 -1
  131. package/dist/interface/assets/{cameraSources-QJfUDOQJ.js → cameraSources-DEGJDtmK.js} +1 -1
  132. package/dist/interface/assets/{cctv-D6kxZ-lp.js → cctv-DM-C_8_6.js} +1 -1
  133. package/dist/interface/assets/{check-circle-DHAAn6A6.js → check-circle-Bevuw8-0.js} +1 -1
  134. package/dist/interface/assets/{check-circle-outline-BbqeKfIK.js → check-circle-outline-aMxkvksr.js} +1 -1
  135. package/dist/interface/assets/{chevron-down-ZYTrU871.js → chevron-down-CCFn9Z56.js} +1 -1
  136. package/dist/interface/assets/{chevron-up-LQXNz9CE.js → chevron-up-CSImUM3_.js} +1 -1
  137. package/dist/interface/assets/{clock-outline-CKTiLKoR.js → clock-outline-DH3WIEJt.js} +1 -1
  138. package/dist/interface/assets/{close-BbEPZQqa.js → close-CMxyM4v9.js} +1 -1
  139. package/dist/interface/assets/{close-circle-BSUSUs4K.js → close-circle-CfgJCZ9A.js} +1 -1
  140. package/dist/interface/assets/{cloud-check-BTGbrAQ_.js → cloud-check-CbdFLIdR.js} +1 -1
  141. package/dist/interface/assets/cloudHandoff-DkUx4m3P.js +1 -0
  142. package/dist/interface/assets/{config-CiQDwB4t.js → config-CVqy37fG.js} +1 -1
  143. package/dist/interface/assets/{content-copy-V0DW9ZbH.js → content-copy-Bz49QPOI.js} +1 -1
  144. package/dist/interface/assets/{copy-DsmMEtSH.js → copy-DA6QQHRt.js} +1 -1
  145. package/dist/interface/assets/{cube-scan-DGhUFV1x.js → cube-scan-IiH8zwm2.js} +1 -1
  146. package/dist/interface/assets/database-refresh-outline-CIUDpcuq.js +1 -0
  147. package/dist/interface/assets/{delete-CY8fsIW6.js → delete-Btu-UVx9.js} +1 -1
  148. package/dist/interface/assets/{dist-DNyx_J8o.js → dist-D_qWDAKp.js} +1 -1
  149. package/dist/interface/assets/{dots-vertical-pP1vP0Qa.js → dots-vertical-D496SIss.js} +1 -1
  150. package/dist/interface/assets/{download-CyjJ7yJW.js → download-BSC7lwq_.js} +1 -1
  151. package/dist/interface/assets/esm-0kxqa_1s.js +1 -0
  152. package/dist/interface/assets/esm-4p_M5mFV.js +1 -0
  153. package/dist/interface/assets/esm-8G-vO1KQ.js +1 -0
  154. package/dist/interface/assets/esm-8cB56ICb.js +1 -0
  155. package/dist/interface/assets/esm-B92csSEb.js +1 -0
  156. package/dist/interface/assets/esm-BHiNTIiN.js +1 -0
  157. package/dist/interface/assets/esm-Bu9PMLmw.js +1 -0
  158. package/dist/interface/assets/esm-CS6Ra46d.js +1 -0
  159. package/dist/interface/assets/esm-CWvQWALL.js +1 -0
  160. package/dist/interface/assets/esm-D2UDrwmt.js +1 -0
  161. package/dist/interface/assets/esm-D8OHF2X1.js +1 -0
  162. package/dist/interface/assets/esm-DrXkS8eG.js +1 -0
  163. package/dist/interface/assets/esm-pfoHiO1a.js +1 -0
  164. package/dist/interface/assets/esm-tJSCF7Vh.js +1 -0
  165. package/dist/interface/assets/{eventIcons-cdzqQc0W.js → eventIcons-UQutPG3p.js} +1 -1
  166. package/dist/interface/assets/{eye-off-JCu1iUer.js → eye-off-CSU0U8g7.js} +1 -1
  167. package/dist/interface/assets/{eye-off-outline-GErp76H2.js → eye-off-outline-DCxLRGo_.js} +1 -1
  168. package/dist/interface/assets/{flowSchema-BRTZHQ1w.js → flowSchema-CppNBDy1.js} +1 -1
  169. package/dist/interface/assets/{help-circle-outline-G43EJuch.js → help-circle-outline-Cr_yNhPi.js} +1 -1
  170. package/dist/interface/assets/{history-CNJREqJG.js → history-anuCbp1T.js} +1 -1
  171. package/dist/interface/assets/{home-B-_OQpZ6.js → home-N3bDR1vX.js} +1 -1
  172. package/dist/interface/assets/{information-outline-Blt4EtWJ.js → information-outline-CMWIvLNB.js} +1 -1
  173. package/dist/interface/assets/{intercomService-BnA-FQ0Q.js → intercomService-CjoJaOZ7.js} +1 -1
  174. package/dist/interface/assets/{lan-C3jliANx.js → lan-CYXjdk7L.js} +1 -1
  175. package/dist/interface/assets/main-BK3kmiG2.js +3 -0
  176. package/dist/interface/assets/{main-BoGhBedC.css → main-Bo0Lb1y2.css} +1 -1
  177. package/dist/interface/assets/{microphone-B6xc9JQ2.js → microphone-BB2pATI_.js} +1 -1
  178. package/dist/interface/assets/{minus-BI5qXFwJ.js → minus-BCp3ZNKO.js} +1 -1
  179. package/dist/interface/assets/{mqtt-iD9XHYO_.js → mqtt-BENV9Fx4.js} +1 -1
  180. package/dist/interface/assets/native-BEkWOGyD.js +1 -0
  181. package/dist/interface/assets/native-ugMg173F.js +1 -0
  182. package/dist/interface/assets/{nodeDefinitions-Dop49tx8.js → nodeDefinitions-ByrqsENY.js} +1 -1
  183. package/dist/interface/assets/{notifications-CbAJX7RF.js → notifications-By40oPng.js} +1 -1
  184. package/dist/interface/assets/{pause-DKzvPG2b.js → pause-BQlxwAW2.js} +1 -1
  185. package/dist/interface/assets/{pencil-DKbi9SsG.js → pencil-CDsNnEXi.js} +1 -1
  186. package/dist/interface/assets/{pencil-outline-CD3Xv98d.js → pencil-outline-CIQL5Kui.js} +1 -1
  187. package/dist/interface/assets/plugin-eafNQWg2.js +1 -0
  188. package/dist/interface/assets/{plugins-eIUrXNeM.js → plugins-09rEDbMz.js} +1 -1
  189. package/dist/interface/assets/{plus-CHPYoMO_.js → plus-Bp4q9G7S.js} +1 -1
  190. package/dist/interface/assets/{plus--kDl8ben.js → plus-CySoovdr.js} +1 -1
  191. package/dist/interface/assets/{power-C9wmNlFS.js → power-WmBLDR0-.js} +1 -1
  192. package/dist/interface/assets/{radar-B3ra28GD.js → radar-CyYAmume.js} +1 -1
  193. package/dist/interface/assets/{refresh-DfqyhMOh.js → refresh-CHTA3jVN.js} +1 -1
  194. package/dist/interface/assets/{restore-FMacmqd_.js → restore-C8RNM5yX.js} +1 -1
  195. package/dist/interface/assets/{rooms-BqPyo8jc.js → rooms-LBxn-Uuu.js} +1 -1
  196. package/dist/interface/assets/{round-alt-arrow-left-bold-56eF9Bol.js → round-alt-arrow-left-bold-Gh5mi_yR.js} +1 -1
  197. package/dist/interface/assets/{search-BXbDWhLk.js → search-BajCVmOI.js} +1 -1
  198. package/dist/interface/assets/sensorIcons-Csu5s0uk.js +1 -0
  199. package/dist/interface/assets/{sensorSlots-BZCXtnb6.js → sensorSlots-CtbKmsGG.js} +1 -1
  200. package/dist/interface/assets/{sensors-DttBNEEt.js → sensors-CbzNs18A.js} +1 -1
  201. package/dist/interface/assets/{server-DUFhf2c_.js → server-Btp5KILd.js} +1 -1
  202. package/dist/interface/assets/{settings-Cw63SIJl.js → settings-DnksaK7m.js} +1 -1
  203. package/dist/interface/assets/{source-branch-oyzrlfCD.js → source-branch-CzqIPffP.js} +1 -1
  204. package/dist/interface/assets/{theme-BMmjtQ4w.js → theme-GhzGwpqd.js} +1 -1
  205. package/dist/interface/assets/{trash-2-BQc04l9M.js → trash-2-DJeEhHf4.js} +1 -1
  206. package/dist/interface/assets/{trash-can-outline-Bk5eENNM.js → trash-can-outline-DrT6iw7I.js} +1 -1
  207. package/dist/interface/assets/{trash-fill-CXk8BmtF.js → trash-fill-Bb_-UicM.js} +1 -1
  208. package/dist/interface/assets/{trash2-2rUvghml.js → trash2-Dsl8gfxq.js} +1 -1
  209. package/dist/interface/assets/types-BAwhu9iv.js +1 -0
  210. package/dist/interface/assets/{types-DWTSNJ79.js → types-CklFkUXk.js} +1 -1
  211. package/dist/interface/assets/{types-CXw7CEzu.js → types-D8QWPhe-.js} +1 -1
  212. package/dist/interface/assets/{undo-Dcf7vcsv.js → undo-DoqJW-k7.js} +1 -1
  213. package/dist/interface/assets/ungrouped-BMk56E3L.js +1 -0
  214. package/dist/interface/assets/{ungrouped-DHMJ9Rg1.css → ungrouped-BnQIcSQd.css} +1 -1
  215. package/dist/interface/assets/{updates-TIPWXKzL.js → updates-CGo0T4sn.js} +1 -1
  216. package/dist/interface/assets/{upload-nnbfDypK.js → upload-C3w1XH-o.js} +1 -1
  217. package/dist/interface/assets/{upload-B-ZYPekV.js → upload-DtIcwiNC.js} +1 -1
  218. package/dist/interface/assets/{useAppVersion-BIz44Bg4.js → useAppVersion-CJlexqyz.js} +1 -1
  219. package/dist/interface/assets/{useAssistantActions-CLkkw9kB.js → useAssistantActions-Cc_O6M9_.js} +1 -1
  220. package/dist/interface/assets/useBackupRestore-_s8vS5WF.js +1 -0
  221. package/dist/interface/assets/{useCameraOptions-A97teAIr.js → useCameraOptions-CFISVNgk.js} +1 -1
  222. package/dist/interface/assets/{useKeyboardInset-DXVi1dLG.js → useKeyboardInset-DkUn62i7.js} +1 -1
  223. package/dist/interface/assets/{useLogsSocket-BlFxVXjF.js → useLogsSocket-D-ndWAg0.js} +1 -1
  224. package/dist/interface/assets/{useNavLayout-C5obaCNv.js → useNavLayout-CG0X_3kt.js} +1 -1
  225. package/dist/interface/assets/{usePermissions-C8hB_pG1.js → usePermissions-BXTw4tII.js} +1 -1
  226. package/dist/interface/assets/{usePluginUpdates-DO0-Gk4Q.js → usePluginUpdates-nW_dt66E.js} +1 -1
  227. package/dist/interface/assets/{usePushRegistration-BUttCraQ.js → usePushRegistration-DCqOAxR4.js} +2 -2
  228. package/dist/interface/assets/{useServerRestart-Cz9eVHUE.js → useServerRestart-CxJGxAcU.js} +1 -1
  229. package/dist/interface/assets/{useStreamStatus-BhS_MCCB.js → useStreamStatus-CXb1HbAq.js} +1 -1
  230. package/dist/interface/assets/{useTabSwipe-D4k8lm1M.js → useTabSwipe-DHb8__wU.js} +1 -1
  231. package/dist/interface/assets/{useUpdateChannel-D9lhfW0y.js → useUpdateChannel-BR4PMh1R.js} +1 -1
  232. package/dist/interface/assets/{useUpdatesSocket-DnH9sON5.js → useUpdatesSocket-DKDRZhvc.js} +1 -1
  233. package/dist/interface/assets/useUserOptions-lyc4WJ4L.js +1 -0
  234. package/dist/interface/assets/{variable-CcE0ZwTr.js → variable-ywTlRfo5.js} +1 -1
  235. package/dist/interface/assets/{vendor-cameraui-QXD8jkcj.js → vendor-cameraui-CK4yHsJi.js} +45 -45
  236. package/dist/interface/assets/{vendor-capacitor-COL6Kz75.js → vendor-capacitor-f9ShAzys.js} +2 -2
  237. package/dist/interface/assets/{vendor-chart-80wrH3md.js → vendor-chart-DBK083Hu.js} +1 -1
  238. package/dist/interface/assets/{vendor-core-CnhnyKDl.js → vendor-core-B-Q4es-f.js} +1 -1
  239. package/dist/interface/assets/{vendor-dnd-CEJS9JKU.js → vendor-dnd-DGQLvX6Y.js} +1 -1
  240. package/dist/interface/assets/{vendor-draggabilly-BY7O1F_Z.js → vendor-draggabilly-D8CK6M-y.js} +1 -1
  241. package/dist/interface/assets/{vendor-DGke_6M4.js → vendor-gFkr2qsZ.js} +1 -1
  242. package/dist/interface/assets/vendor-gridstack-DtDG3os6.js +3 -0
  243. package/dist/interface/assets/{vendor-markdown-DD4teg2u.js → vendor-markdown-qHIinIUE.js} +1 -1
  244. package/dist/interface/assets/{vendor-primevue-CCUqY55W.js → vendor-primevue-Cmp3VjIC.js} +72 -72
  245. package/dist/interface/assets/{vendor-vueflow-Bmwd2les.js → vendor-vueflow-bSwRZ9X8.js} +1 -1
  246. package/dist/interface/assets/web-3OOGlctS.js +1 -0
  247. package/dist/interface/assets/web-5NFVd9gs.js +1 -0
  248. package/dist/interface/assets/web-A4yovlXr.js +1 -0
  249. package/dist/interface/assets/web-BBC3YoWX.js +1 -0
  250. package/dist/interface/assets/web-B_9Qyt8E.js +1 -0
  251. package/dist/interface/assets/web-BjKL51lK-DUIsII0n.js +1 -0
  252. package/dist/interface/assets/web-C2-YAfsx.js +1 -0
  253. package/dist/interface/assets/web-CUL_MhvM.js +1 -0
  254. package/dist/interface/assets/web-CZVCXYLV.js +1 -0
  255. package/dist/interface/assets/web-DJ-LUxlV.js +1 -0
  256. package/dist/interface/assets/web-DNsEGLGS.js +1 -0
  257. package/dist/interface/assets/web-DZsU0QT_.js +1 -0
  258. package/dist/interface/assets/web-MoyOTbiU.js +1 -0
  259. package/dist/interface/assets/web-avRH_3t7.js +1 -0
  260. package/dist/interface/assets/{webhook-oVbP79Yk.js → webhook-CWKf2Qxu.js} +1 -1
  261. package/dist/interface/assets/workbox-window.prod.es5-BEYAF-e-.js +1 -0
  262. package/dist/interface/assets/{zoom-in-GKNy8xA7.js → zoom-in-CHkXAWHy.js} +1 -1
  263. package/dist/interface/ha/{404-DLhJqxRl.js → 404-B2T8Gktj.js} +1 -1
  264. package/dist/interface/ha/{About-DC0i1iE4.js → About-CrTKzU9_.js} +6 -6
  265. package/dist/interface/ha/{Assistant-BmazMPIg.js → Assistant-BDHJmYx_.js} +823 -820
  266. package/dist/interface/ha/{Automation-gabF9YzQ.js → Automation-Czo5EsAg.js} +337 -337
  267. package/dist/interface/ha/{AutomationImport-DaqZNs9s.js → AutomationImport-CuFAQbiX.js} +6 -6
  268. package/dist/interface/ha/{AutomationStore-DzM4huo5.js → AutomationStore-D-6x0JIt.js} +16 -16
  269. package/dist/interface/ha/{AutomationStoreDetail-CpzQMt_D.js → AutomationStoreDetail-Dad4q1MN.js} +19 -19
  270. package/dist/interface/ha/{Automations-Dcm4Us50.js → Automations-C-oGM5SR.js} +71 -71
  271. package/dist/interface/ha/{Camera-CNK3QR7l.js → Camera-CerkQGbZ.js} +214 -214
  272. package/dist/interface/ha/{CameraConsole-CpcF0411.js → CameraConsole-hRGwbjsD.js} +3 -3
  273. package/dist/interface/ha/{Cameras-Cf9rwRyf.js → Cameras-Bk5TFXA8.js} +92 -92
  274. package/dist/interface/ha/{Camview-BFKR2t6C.js → Camview-CsKKqxxY.js} +382 -382
  275. package/dist/interface/ha/{Config-1XH3zfr2.js → Config-Vl4-K3A_.js} +11 -11
  276. package/dist/interface/ha/{ConfigActionAssistant-C0-NFoTB.js → ConfigActionAssistant-OWUX8glZ.js} +4 -4
  277. package/dist/interface/ha/{ConfigActionCameraControl-DNSKZPSZ.js → ConfigActionCameraControl-DEaOot8w.js} +3 -3
  278. package/dist/interface/ha/{ConfigActionHttp-DVJAcGkl.js → ConfigActionHttp-CSr2BpKL.js} +2 -2
  279. package/dist/interface/ha/{ConfigActionImageInput-VVbHHHZs.js → ConfigActionImageInput--O8Tyca-.js} +1 -1
  280. package/dist/interface/ha/{ConfigActionMqtt-N5OUJDzM.js → ConfigActionMqtt-DQJ4-gs2.js} +4 -4
  281. package/dist/interface/ha/{ConfigActionNotification-s142tQoU.js → ConfigActionNotification-wR8CCA_T.js} +3 -3
  282. package/dist/interface/ha/{ConfigActionNotificationControl-Dh7kaKVP.js → ConfigActionNotificationControl-DNMrHwPz.js} +2 -2
  283. package/dist/interface/ha/{ConfigActionOutput-B4HHTg5C.js → ConfigActionOutput-C-LVFxFP.js} +1 -1
  284. package/dist/interface/ha/{ConfigActionPlugin-D20G2Dqf.js → ConfigActionPlugin-BCREAkNo.js} +5 -5
  285. package/dist/interface/ha/{ConfigActionSensor-BS3jrFaG.js → ConfigActionSensor-D48CQ6qR.js} +5 -5
  286. package/dist/interface/ha/{ConfigActionSnapshot-CInLAcwK.js → ConfigActionSnapshot-DpDy88Mg.js} +2 -2
  287. package/dist/interface/ha/{ConfigActionVariable-C5vADGNF.js → ConfigActionVariable-D9BxmwvB.js} +1 -1
  288. package/dist/interface/ha/{ConfigConditionIfElse-CPeWDD31.js → ConfigConditionIfElse-CW42tQFY.js} +3 -3
  289. package/dist/interface/ha/{ConfigConditionSensorState-BM5GmpN6.js → ConfigConditionSensorState-BZpij7kB.js} +4 -4
  290. package/dist/interface/ha/{ConfigConditionSwitch-Dmz9FduJ.js → ConfigConditionSwitch-DlTuJ9Sf.js} +5 -5
  291. package/dist/interface/ha/{ConfigSensorValueInput-Ch5njvtv.js → ConfigSensorValueInput-2QLHESlE.js} +5 -5
  292. package/dist/interface/ha/{ConfigTriggerDetection-BR2QWNyO.js → ConfigTriggerDetection-DPmUkmUJ.js} +3 -3
  293. package/dist/interface/ha/{ConfigTriggerGeofence-CaImOjyW.js → ConfigTriggerGeofence--T9OXhGl.js} +2 -2
  294. package/dist/interface/ha/{ConfigTriggerMqtt-DWz1XwZQ.js → ConfigTriggerMqtt-fZn_X6yY.js} +1 -1
  295. package/dist/interface/ha/{ConfigTriggerSensor-lfnhz0im.js → ConfigTriggerSensor-_3O6iBFX.js} +1 -1
  296. package/dist/interface/ha/{ConfigTriggerSystem-CwUhyFAj.js → ConfigTriggerSystem-CC9lqi8Q.js} +2 -2
  297. package/dist/interface/ha/{ConfigTriggerWebhook-J6Xts7GQ.js → ConfigTriggerWebhook-BuBcgXqf.js} +1 -1
  298. package/dist/interface/ha/{Console-BSdKFm6Y.js → Console-DNc49UEt.js} +13 -13
  299. package/dist/interface/ha/{CuiAutomationRunsDialog-BU8sympp.js → CuiAutomationRunsDialog-Dj_iiZht.js} +2 -2
  300. package/dist/interface/ha/{CuiBottomSheet-Bnp7ta7V.js → CuiBottomSheet-DG7wOV7m.js} +1 -1
  301. package/dist/interface/ha/{CuiCameraRecordings-E-mMqKSs.js → CuiCameraRecordings-BlOZTfQ4.js} +12 -12
  302. package/dist/interface/ha/{CuiCameraShares-DcNwd2OC.js → CuiCameraShares-BOn-mobi.js} +2 -2
  303. package/dist/interface/ha/{CuiCameraTable-DNW9Vm_A.js → CuiCameraTable-D50FLiK8.js} +9 -9
  304. package/dist/interface/ha/{CuiChartTable-muC7jL2H.js → CuiChartTable-CfcVRvdZ.js} +42 -42
  305. package/dist/interface/ha/{CuiConsole-ND8bcuTg.js → CuiConsole-UpN0Wihm.js} +6 -6
  306. package/dist/interface/ha/{CuiDataTable-CN4T8DgP.js → CuiDataTable-CpADXKNF.js} +6 -6
  307. package/dist/interface/ha/{CuiPluginCard-nIQiyQvH.js → CuiPluginCard-CT6ZfL9o.js} +52 -52
  308. package/dist/interface/ha/{CuiPluginOAuthButton-FJ49NfUh.js → CuiPluginOAuthButton-BJVKd6Ac.js} +6 -6
  309. package/dist/interface/ha/{CuiPluginTrustBadge-D6eanMyI.js → CuiPluginTrustBadge-gb9GI24w.js} +3 -3
  310. package/dist/interface/ha/{CuiQRCode-BdJzeeoE.js → CuiQRCode-DqKDx9zR.js} +7 -7
  311. package/dist/interface/ha/{CuiSchema-DY0V-8xP.js → CuiSchema-CHeJkx0k.js} +129 -129
  312. package/dist/interface/ha/{CuiTopNavbarItem-DT5pAKHp.js → CuiTopNavbarItem-CFeI6ZYU.js} +5 -5
  313. package/dist/interface/ha/Faces-CTfvhhCj.js +1441 -0
  314. package/dist/interface/ha/{FirstSteps-yS2M2cor.js → FirstSteps-C-WXJ8IL.js} +80 -80
  315. package/dist/interface/ha/{Floorplan-DSOeScjI.js → Floorplan-CDKTYN7B.js} +307 -307
  316. package/dist/interface/ha/{Instances-B4h5EKpF.js → Instances-n23yvN3L.js} +62 -62
  317. package/dist/interface/ha/{Logs-BH0Lxvs6.js → Logs-Dfm0BWOQ.js} +10 -10
  318. package/dist/interface/ha/{Menu-COH7QXuE.js → Menu-76kvdAEF.js} +15 -15
  319. package/dist/interface/ha/{Metrics-BtnRqL_I.js → Metrics-lnivlTWm.js} +101 -100
  320. package/dist/interface/ha/{OAuthDeviceFlow-D2QJ9MnP.js → OAuthDeviceFlow-4ChaymHu.js} +7 -7
  321. package/dist/interface/ha/{Plugin-EfUSqwyh.js → Plugin-BV8YA8aN.js} +486 -347
  322. package/dist/interface/ha/{PluginConsole-hh_o15f7.js → PluginConsole-csf1Km7f.js} +4 -4
  323. package/dist/interface/ha/{PluginDetail-DFiXGkrY.js → PluginDetail-DTff6cbA.js} +185 -185
  324. package/dist/interface/ha/{PluginSearch-Cdrfubrj.js → PluginSearch-CdjxmFPN.js} +116 -116
  325. package/dist/interface/ha/{PluginUpdateProgress-BD2g2kVj.js → PluginUpdateProgress-ClyF4pbA.js} +3 -3
  326. package/dist/interface/ha/{Plugins-qFiHW-Nk.js → Plugins-_xOrqP36.js} +34 -34
  327. package/dist/interface/ha/{RecentEventsFilter-UWrXnvfq.js → RecentEventsFilter-9ZkDHD1g.js} +1 -1
  328. package/dist/interface/ha/{Recordings-BzeC6tOz.js → Recordings-dTZv0pkp.js} +483 -458
  329. package/dist/interface/ha/{SensorEdit-BSgy7lkZ.js → SensorEdit-DDRkZjmm.js} +40 -40
  330. package/dist/interface/ha/{SensorHistory-IDvP8LKH.js → SensorHistory-DSGlRITr.js} +2 -2
  331. package/dist/interface/ha/{Sensors-Diqp4oZ0.js → Sensors-DjhGRUzM.js} +477 -462
  332. package/dist/interface/ha/{Settings-BgDsxAlx.js → Settings-DYuvz4de.js} +17 -17
  333. package/dist/interface/ha/{SettingsAccount-DBXMQPYk.js → SettingsAccount-DQAo8SnK.js} +146 -146
  334. package/dist/interface/ha/{SettingsAppearance-VmbjnT3o.js → SettingsAppearance-_tbhpUA0.js} +8 -8
  335. package/dist/interface/ha/{SettingsAssistant-C2R4ZetE.js → SettingsAssistant-DSf-dYuD.js} +656 -533
  336. package/dist/interface/ha/{SettingsBackup-BqY9TwYn.js → SettingsBackup-wLOa7xtw.js} +40 -40
  337. package/dist/interface/ha/{SettingsList-CzHcfo2N.js → SettingsList-CYujivw5.js} +4 -4
  338. package/dist/interface/ha/{SettingsMqtt-DqV3h3Ow.js → SettingsMqtt-DbxJ-h3J.js} +115 -115
  339. package/dist/interface/ha/{SettingsNotifications-yn5fIR_7.js → SettingsNotifications-DO2-KJvq.js} +118 -118
  340. package/dist/interface/ha/{SettingsRecordings-DDs1lyfY.js → SettingsRecordings-C47i1UhI.js} +9 -9
  341. package/dist/interface/ha/{SettingsRemote-jBw3l5E0.js → SettingsRemote-BPvb-KLI.js} +335 -335
  342. package/dist/interface/ha/{SettingsSystem-BOv9hNlk.js → SettingsSystem-BJPrv9JE.js} +9 -9
  343. package/dist/interface/ha/{SettingsUsers-Biv-2F4C.js → SettingsUsers-CcpCz6Y1.js} +89 -89
  344. package/dist/interface/ha/{Terminal-CmcrGEV0.js → Terminal-DT7-WNH1.js} +16 -16
  345. package/dist/interface/ha/Training-CqGBf8k1.js +1694 -0
  346. package/dist/interface/ha/{Updates-DJAcmDQJ.js → Updates-CgdrqX6R.js} +13 -13
  347. package/dist/interface/ha/{VariableInput-DlYg7t0m.js → VariableInput-DOzSFgxT.js} +1 -1
  348. package/dist/interface/ha/{VersionsHandler-UnrAWn-b.js → VersionsHandler-ItklhE2t.js} +10 -10
  349. package/dist/interface/ha/{VirtualSensorCreate-CssxeaCC.js → VirtualSensorCreate-DbS3VqHC.js} +2 -2
  350. package/dist/interface/ha/{Workers-CLpqLugC.js → Workers-6PU7yUv1.js} +36 -36
  351. package/dist/interface/ha/{api-BP7mlzjP.js → api-Dv3Lk_g5.js} +8832 -8608
  352. package/dist/interface/ha/{api-B_tDa73J.js → api-anWolhVj.js} +3 -3
  353. package/dist/interface/ha/{assistant-Cb6ACguQ.js → assistant-B3m0Kgev.js} +101 -97
  354. package/dist/interface/ha/{auth-DOYDRgFm.js → auth-CAkpM_7A.js} +33 -33
  355. package/dist/interface/ha/{automationBlueprint-CbbG_ku4.js → automationBlueprint-DwVvbKbw.js} +4 -4
  356. package/dist/interface/ha/cameraui-cards.js +1 -1
  357. package/dist/interface/ha/{cards-BpBP1zVW.js → cards-B0qagpBw.js} +743 -667
  358. package/dist/interface/ha/{config-DroY1HBs.js → config-C20itAPE.js} +14 -14
  359. package/dist/interface/ha/database-refresh-outline-PiqlCkA7.js +19 -0
  360. package/dist/interface/ha/{dist-BTp4AyuI.js → dist-BIngHzHx.js} +5 -5
  361. package/dist/interface/ha/{dist-C6MBHJhs.js → dist-oFWkn6pD.js} +5 -8
  362. package/dist/interface/ha/{mqtt-NJTVdd53.js → mqtt-C6JvkA5E.js} +14 -14
  363. package/dist/interface/ha/{notifications-BPTvvgvv.js → notifications-gLmNZxwZ.js} +19 -19
  364. package/dist/interface/ha/{pinia-C6gt7A_Q.js → pinia-Du8AM917.js} +639 -625
  365. package/dist/interface/ha/{plugins-B29K3nQP.js → plugins-6x0kBuQb.js} +53 -53
  366. package/dist/interface/ha/{rooms-DLw0WUy_.js → rooms-C-mLT6mX.js} +11 -11
  367. package/dist/interface/ha/{server-B4b5_Ecu.js → server-DuikIt69.js} +28 -28
  368. package/dist/interface/ha/{types-DJHHL7nn.js → types-C0NcQ4Cz.js} +49 -38
  369. package/dist/interface/ha/{types-XqA3YJPD.js → types-wLECk3Ml.js} +3 -1
  370. package/dist/interface/ha/{ungrouped-xyK1QrsM.js → ungrouped-ooCH0Izh.js} +120 -120
  371. package/dist/interface/ha/{updates-XFSu9Tfm.js → updates-H8MlOQLC.js} +36 -36
  372. package/dist/interface/ha/{useAppVersion-BH3rU1zz.js → useAppVersion-DAUCV_cn.js} +1 -1
  373. package/dist/interface/ha/{useLogsSocket-CaTRzvgU.js → useLogsSocket-BOLAXPuD.js} +1 -1
  374. package/dist/interface/ha/{useNavLayout-DV0_OQx0.js → useNavLayout-B7VoHzM1.js} +2 -2
  375. package/dist/interface/ha/{useServerRestart-C8tynLUf.js → useServerRestart-qSH0bqwY.js} +1 -1
  376. package/dist/interface/ha/{useTabSwipe-CFoLDp3j.js → useTabSwipe-DYzG_gVG.js} +1 -1
  377. package/dist/interface/ha/{useUpdateChannel-DSG2RTPe.js → useUpdateChannel-CK7JiWbG.js} +2 -2
  378. package/dist/interface/ha/{useUpdatesSocket-CSQ0g7-6.js → useUpdatesSocket-DrqkGMuR.js} +1 -1
  379. package/dist/interface/ha/{useUserOptions-CFaCy6L1.js → useUserOptions-BteVUdaT.js} +1 -1
  380. package/dist/interface/index.html +70 -70
  381. package/dist/interface/sw.js +1 -1
  382. package/dist/server/package.json +28 -28
  383. package/dist/server/requirements.txt +2 -2
  384. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +44 -0
  385. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +2 -0
  386. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/detection.py +7 -2
  387. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/__init__.py +42 -0
  388. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/assistant_models.py +300 -0
  389. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/contract.py +9 -0
  390. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/helper.py +21 -0
  391. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/interfaces.py +80 -4
  392. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +6 -0
  393. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +2 -0
  394. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/face.py +3 -7
  395. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/face_embedder.py +69 -0
  396. package/dist/server/src/api/controllers/assistant.controller.js +1 -1
  397. package/dist/server/src/api/controllers/assistant.controller.js.map +1 -1
  398. package/dist/server/src/api/database/index.d.ts +1 -1
  399. package/dist/server/src/api/database/index.js +1 -1
  400. package/dist/server/src/api/database/migrations/v2-2-5.d.ts +3 -0
  401. package/dist/server/src/api/database/migrations/v2-2-5.js +19 -0
  402. package/dist/server/src/api/database/migrations/v2-2-5.js.map +1 -0
  403. package/dist/server/src/api/database/record-schemas.d.ts +4 -2
  404. package/dist/server/src/api/database/record-schemas.js +4 -1
  405. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  406. package/dist/server/src/api/database/types.d.ts +5 -1
  407. package/dist/server/src/api/schemas/assistant.schema.d.ts +21 -7
  408. package/dist/server/src/api/schemas/assistant.schema.js +4 -1
  409. package/dist/server/src/api/schemas/assistant.schema.js.map +1 -1
  410. package/dist/server/src/api/schemas/cameras.schema.d.ts +56 -8
  411. package/dist/server/src/api/schemas/cameras.schema.js +4 -3
  412. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  413. package/dist/server/src/api/services/assistant.service.d.ts +1 -1
  414. package/dist/server/src/api/services/assistant.service.js +4 -1
  415. package/dist/server/src/api/services/assistant.service.js.map +1 -1
  416. package/dist/server/src/api/services/cameras.service.js +2 -2
  417. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  418. package/dist/server/src/api/websocket/nsp/worker-perf.js +13 -0
  419. package/dist/server/src/api/websocket/nsp/worker-perf.js.map +1 -1
  420. package/dist/server/src/api/websocket/types.d.ts +12 -0
  421. package/dist/server/src/assistant/budget.d.ts +27 -0
  422. package/dist/server/src/assistant/budget.js +118 -0
  423. package/dist/server/src/assistant/budget.js.map +1 -0
  424. package/dist/server/src/assistant/compaction.d.ts +10 -0
  425. package/dist/server/src/assistant/compaction.js +83 -0
  426. package/dist/server/src/assistant/compaction.js.map +1 -0
  427. package/dist/server/src/assistant/docs.js +4 -3
  428. package/dist/server/src/assistant/docs.js.map +1 -1
  429. package/dist/server/src/assistant/history.d.ts +1 -0
  430. package/dist/server/src/assistant/history.js +28 -0
  431. package/dist/server/src/assistant/history.js.map +1 -1
  432. package/dist/server/src/assistant/manager.d.ts +10 -0
  433. package/dist/server/src/assistant/manager.js +261 -62
  434. package/dist/server/src/assistant/manager.js.map +1 -1
  435. package/dist/server/src/assistant/plugin-models.d.ts +34 -0
  436. package/dist/server/src/assistant/plugin-models.js +266 -0
  437. package/dist/server/src/assistant/plugin-models.js.map +1 -0
  438. package/dist/server/src/assistant/prompt.d.ts +7 -1
  439. package/dist/server/src/assistant/prompt.js +75 -11
  440. package/dist/server/src/assistant/prompt.js.map +1 -1
  441. package/dist/server/src/assistant/providers.js +7 -3
  442. package/dist/server/src/assistant/providers.js.map +1 -1
  443. package/dist/server/src/assistant/recap.d.ts +3 -0
  444. package/dist/server/src/assistant/recap.js +65 -0
  445. package/dist/server/src/assistant/recap.js.map +1 -0
  446. package/dist/server/src/assistant/registry.d.ts +16 -1
  447. package/dist/server/src/assistant/registry.js +49 -1
  448. package/dist/server/src/assistant/registry.js.map +1 -1
  449. package/dist/server/src/assistant/retry.js +38 -24
  450. package/dist/server/src/assistant/retry.js.map +1 -1
  451. package/dist/server/src/assistant/router.d.ts +7 -0
  452. package/dist/server/src/assistant/router.js +67 -0
  453. package/dist/server/src/assistant/router.js.map +1 -0
  454. package/dist/server/src/assistant/skills.d.ts +8 -0
  455. package/dist/server/src/assistant/skills.js +59 -1
  456. package/dist/server/src/assistant/skills.js.map +1 -1
  457. package/dist/server/src/assistant/threads.d.ts +1 -0
  458. package/dist/server/src/assistant/threads.js +7 -1
  459. package/dist/server/src/assistant/threads.js.map +1 -1
  460. package/dist/server/src/assistant/tool-names.js +9 -1
  461. package/dist/server/src/assistant/tool-names.js.map +1 -1
  462. package/dist/server/src/assistant/tool-rank.d.ts +2 -0
  463. package/dist/server/src/assistant/tool-rank.js +48 -0
  464. package/dist/server/src/assistant/tool-rank.js.map +1 -0
  465. package/dist/server/src/assistant/tool-schema.d.ts +3 -0
  466. package/dist/server/src/assistant/tool-schema.js +65 -0
  467. package/dist/server/src/assistant/tool-schema.js.map +1 -0
  468. package/dist/server/src/assistant/tools/api.js +7 -9
  469. package/dist/server/src/assistant/tools/api.js.map +1 -1
  470. package/dist/server/src/assistant/tools/ask.js +1 -2
  471. package/dist/server/src/assistant/tools/ask.js.map +1 -1
  472. package/dist/server/src/assistant/tools/automations.js +3 -5
  473. package/dist/server/src/assistant/tools/automations.js.map +1 -1
  474. package/dist/server/src/assistant/tools/cameras.js +3 -4
  475. package/dist/server/src/assistant/tools/cameras.js.map +1 -1
  476. package/dist/server/src/assistant/tools/docs.js +5 -6
  477. package/dist/server/src/assistant/tools/docs.js.map +1 -1
  478. package/dist/server/src/assistant/tools/instance.js +19 -19
  479. package/dist/server/src/assistant/tools/instance.js.map +1 -1
  480. package/dist/server/src/assistant/tools/memory.js +3 -4
  481. package/dist/server/src/assistant/tools/memory.js.map +1 -1
  482. package/dist/server/src/assistant/tools/metrics.js +1 -2
  483. package/dist/server/src/assistant/tools/metrics.js.map +1 -1
  484. package/dist/server/src/assistant/tools/notifications.js +4 -11
  485. package/dist/server/src/assistant/tools/notifications.js.map +1 -1
  486. package/dist/server/src/assistant/tools/plugins.js +12 -14
  487. package/dist/server/src/assistant/tools/plugins.js.map +1 -1
  488. package/dist/server/src/assistant/tools/report.js +17 -12
  489. package/dist/server/src/assistant/tools/report.js.map +1 -1
  490. package/dist/server/src/assistant/tools/schedules.js +6 -11
  491. package/dist/server/src/assistant/tools/schedules.js.map +1 -1
  492. package/dist/server/src/assistant/tools/sensors.js +63 -4
  493. package/dist/server/src/assistant/tools/sensors.js.map +1 -1
  494. package/dist/server/src/assistant/tools/settings.js +2 -3
  495. package/dist/server/src/assistant/tools/settings.js.map +1 -1
  496. package/dist/server/src/assistant/tools/system.js +3 -5
  497. package/dist/server/src/assistant/tools/system.js.map +1 -1
  498. package/dist/server/src/assistant/tools/terminal.js +4 -5
  499. package/dist/server/src/assistant/tools/terminal.js.map +1 -1
  500. package/dist/server/src/assistant/types.d.ts +10 -1
  501. package/dist/server/src/assistant/uploads.d.ts +2 -1
  502. package/dist/server/src/assistant/uploads.js +25 -3
  503. package/dist/server/src/assistant/uploads.js.map +1 -1
  504. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +5 -0
  505. package/dist/server/src/camera/decoder/detection-coordinator.js +45 -14
  506. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  507. package/dist/server/src/camera/decoder/detection-pipeline.js +2 -1
  508. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  509. package/dist/server/src/camera/decoder/event-manager.d.ts +27 -4
  510. package/dist/server/src/camera/decoder/event-manager.js +175 -48
  511. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  512. package/dist/server/src/camera/decoder/nvr-sink.d.ts +4 -1
  513. package/dist/server/src/camera/decoder/nvr-sink.js +1 -1
  514. package/dist/server/src/camera/decoder/nvr-sink.js.map +1 -1
  515. package/dist/server/src/camera/decoder/perf-tracker.d.ts +10 -0
  516. package/dist/server/src/camera/decoder/perf-tracker.js +20 -0
  517. package/dist/server/src/camera/decoder/perf-tracker.js.map +1 -1
  518. package/dist/server/src/camera/decoder/secondary-stage.d.ts +21 -1
  519. package/dist/server/src/camera/decoder/secondary-stage.js +301 -59
  520. package/dist/server/src/camera/decoder/secondary-stage.js.map +1 -1
  521. package/dist/server/src/camera/decoder/side-queue.d.ts +13 -0
  522. package/dist/server/src/camera/decoder/side-queue.js +53 -0
  523. package/dist/server/src/camera/decoder/side-queue.js.map +1 -0
  524. package/dist/server/src/camera/decoder/sources/buffered-source.d.ts +2 -0
  525. package/dist/server/src/camera/decoder/sources/buffered-source.js +7 -1
  526. package/dist/server/src/camera/decoder/sources/buffered-source.js.map +1 -1
  527. package/dist/server/src/camera/decoder/types.d.ts +11 -1
  528. package/dist/server/src/camera/decoder/types.js +9 -1
  529. package/dist/server/src/camera/decoder/types.js.map +1 -1
  530. package/dist/server/src/camera/sensors/controller.d.ts +1 -0
  531. package/dist/server/src/camera/sensors/controller.js +28 -4
  532. package/dist/server/src/camera/sensors/controller.js.map +1 -1
  533. package/dist/server/src/main.js +11 -2
  534. package/dist/server/src/main.js.map +1 -1
  535. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +1 -14
  536. package/dist/server/src/plugins/runtime/python/proxy/sensor.py +14 -1
  537. package/dist/server/src/plugins/runtime/python/proxy/sensor_manager.py +1 -13
  538. package/dist/server/src/rpc/interfaces/detection.d.ts +14 -2
  539. package/dist/server/src/rpc/server.js +1 -0
  540. package/dist/server/src/rpc/server.js.map +1 -1
  541. package/dist/server/src/services/config/index.d.ts +1 -0
  542. package/dist/server/src/services/config/index.js +6 -11
  543. package/dist/server/src/services/config/index.js.map +1 -1
  544. package/dist/server/src/utils/camera.js +8 -5
  545. package/dist/server/src/utils/camera.js.map +1 -1
  546. package/dist/server/src/utils/instance-lock.d.ts +1 -0
  547. package/dist/server/src/utils/instance-lock.js +57 -0
  548. package/dist/server/src/utils/instance-lock.js.map +1 -0
  549. package/dist/server/src/workers/agent.d.ts +2 -0
  550. package/dist/server/src/workers/agent.js +11 -1
  551. package/dist/server/src/workers/agent.js.map +1 -1
  552. package/dist/server/src/workers/manager.js +9 -2
  553. package/dist/server/src/workers/manager.js.map +1 -1
  554. package/dist/server/src/workers/types.d.ts +1 -0
  555. package/npm-shrinkwrap.json +209 -209
  556. package/package.json +28 -28
  557. package/dist/interface/assets/Assistant-bB8RBo-m.js +0 -1
  558. package/dist/interface/assets/Automations-BdZZW2eN.js +0 -2
  559. package/dist/interface/assets/Camera-Ct7ndOxr.js +0 -2
  560. package/dist/interface/assets/Camview-BjQdTHNh.js +0 -1
  561. package/dist/interface/assets/Config-CBTbYd5v.js +0 -2
  562. package/dist/interface/assets/ConfigTriggerGeofence-Bl2ZacbY.js +0 -1
  563. package/dist/interface/assets/Console-Cfk9MA9m.js +0 -1
  564. package/dist/interface/assets/CuiAssistantConversation-BHK_i56I.js +0 -5
  565. package/dist/interface/assets/CuiAutomationRunsDialog-B0ohEHw0.js +0 -1
  566. package/dist/interface/assets/CuiBottomSheet-NgX7VFao.js +0 -1
  567. package/dist/interface/assets/CuiCameraRecordings-BTD-CQAg.js +0 -1
  568. package/dist/interface/assets/CuiCameraTable-KPk46Xcl.js +0 -1
  569. package/dist/interface/assets/CuiDataTable-CsqH-RB1.js +0 -1
  570. package/dist/interface/assets/CuiMarkdownContent-DSArmS0V.js +0 -1
  571. package/dist/interface/assets/CuiSchema-ytExUVhI.js +0 -1
  572. package/dist/interface/assets/Faces-Cb6XMxDC.js +0 -1
  573. package/dist/interface/assets/Floorplan-DbqADtN1.js +0 -1
  574. package/dist/interface/assets/Instances-DrMzPD65.js +0 -1
  575. package/dist/interface/assets/Metrics-BUP_-7o7.css +0 -1
  576. package/dist/interface/assets/Metrics-CqhUnVRA.js +0 -12
  577. package/dist/interface/assets/Plugin-BDqNeTCT.css +0 -1
  578. package/dist/interface/assets/Plugin-DyOg_fbg.js +0 -1
  579. package/dist/interface/assets/PluginSearch-BgecD9Ob.js +0 -2
  580. package/dist/interface/assets/PluginSearch-C8xHKikH.js +0 -1
  581. package/dist/interface/assets/Plugins-CuujWEtM.js +0 -1
  582. package/dist/interface/assets/Recordings-9FJqCfdM.css +0 -1
  583. package/dist/interface/assets/Recordings-ths9khZr.js +0 -1
  584. package/dist/interface/assets/SensorEdit-BzoIH7QC.js +0 -1
  585. package/dist/interface/assets/Sensors-CK5uExfU.js +0 -2
  586. package/dist/interface/assets/Settings-DN5hFtw_.js +0 -1
  587. package/dist/interface/assets/SettingsAccount-BCrmon5O.js +0 -1
  588. package/dist/interface/assets/SettingsAccount-CSy1BAIH.js +0 -1
  589. package/dist/interface/assets/SettingsAppearance-h_XPZfQl.js +0 -1
  590. package/dist/interface/assets/SettingsAssistant-BESab92C.css +0 -1
  591. package/dist/interface/assets/SettingsAssistant-D8FmVbUL.js +0 -1
  592. package/dist/interface/assets/SettingsMqtt-DCkLIYpF.js +0 -1
  593. package/dist/interface/assets/SettingsRemote-DXlQKwlT.js +0 -2
  594. package/dist/interface/assets/Terminal-Dl-aAZME.js +0 -4
  595. package/dist/interface/assets/Training-B1oQjAr8.css +0 -1
  596. package/dist/interface/assets/Training-DdZjXgt1.js +0 -1
  597. package/dist/interface/assets/Updates-CkB1lXuo.js +0 -2
  598. package/dist/interface/assets/Workers-7yiebNkl.js +0 -2
  599. package/dist/interface/assets/api-DK2Bav9D.js +0 -4
  600. package/dist/interface/assets/api-DTCqDA-h.css +0 -2
  601. package/dist/interface/assets/assistant-BJ6xKcw_.js +0 -1
  602. package/dist/interface/assets/cloudHandoff-DtlquYGZ.js +0 -1
  603. package/dist/interface/assets/esm-4Hzzm93H.js +0 -1
  604. package/dist/interface/assets/esm-BrFPi5_4.js +0 -1
  605. package/dist/interface/assets/esm-C7pcdfXf.js +0 -1
  606. package/dist/interface/assets/esm-C8bsO829.js +0 -1
  607. package/dist/interface/assets/esm-CXzdnAMk.js +0 -1
  608. package/dist/interface/assets/esm-CZNGZkPu.js +0 -1
  609. package/dist/interface/assets/esm-D0iI7OVb.js +0 -1
  610. package/dist/interface/assets/esm-DKolm6KU.js +0 -1
  611. package/dist/interface/assets/esm-DTywI9gs.js +0 -1
  612. package/dist/interface/assets/esm-DifXcK9i.js +0 -1
  613. package/dist/interface/assets/esm-Dq5o-Xb4.js +0 -1
  614. package/dist/interface/assets/esm-IbQuUZ5l.js +0 -1
  615. package/dist/interface/assets/esm-Xre_AP5i.js +0 -1
  616. package/dist/interface/assets/esm-zYnXHhpH.js +0 -1
  617. package/dist/interface/assets/main-D74mRIxc.js +0 -3
  618. package/dist/interface/assets/native-CAujTO6L.js +0 -1
  619. package/dist/interface/assets/native-sQ88qazf.js +0 -1
  620. package/dist/interface/assets/plugin-D7K50k_y.js +0 -1
  621. package/dist/interface/assets/sensorIcons-DQVgryYP.js +0 -1
  622. package/dist/interface/assets/types-5rE8Tz0_.js +0 -1
  623. package/dist/interface/assets/ungrouped-D56FGIrg.js +0 -1
  624. package/dist/interface/assets/useBackupRestore-Crfd592q.js +0 -1
  625. package/dist/interface/assets/useUserOptions-BTRBUuE2.js +0 -1
  626. package/dist/interface/assets/vendor-gridstack-anPyIu9V.js +0 -3
  627. package/dist/interface/assets/web-3M-ddn4G.js +0 -1
  628. package/dist/interface/assets/web-BY80VGyU.js +0 -1
  629. package/dist/interface/assets/web-B_tUYyM0.js +0 -1
  630. package/dist/interface/assets/web-BjKL51lK-Bb5NYhpJ.js +0 -1
  631. package/dist/interface/assets/web-Bv-4PJGI.js +0 -1
  632. package/dist/interface/assets/web-C3Pk8qeB.js +0 -1
  633. package/dist/interface/assets/web-CLcvGPH6.js +0 -1
  634. package/dist/interface/assets/web-DO8gTOVJ.js +0 -1
  635. package/dist/interface/assets/web-DR5q_DmI.js +0 -1
  636. package/dist/interface/assets/web-DRHbG4Te.js +0 -1
  637. package/dist/interface/assets/web-DaQ8d8yk.js +0 -1
  638. package/dist/interface/assets/web-EVRW5whF.js +0 -1
  639. package/dist/interface/assets/web-S6Dk3UWN.js +0 -1
  640. package/dist/interface/assets/web-pWIp0wf0.js +0 -1
  641. package/dist/interface/assets/workbox-window.prod.es5-Dz5rcO1z.js +0 -1
  642. package/dist/interface/ha/Faces-C_svyTrr.js +0 -1282
  643. package/dist/interface/ha/Training-BEzPiXZg.js +0 -1512
@@ -1 +1 @@
1
- {"version":3,"file":"cameras.service.js","sourceRoot":"","sources":["../../../../../src/api/services/cameras.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cameras.service.js","sourceRoot":"","sources":["../../../../../src/api/services/cameras.service.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,7 @@ export function deriveWorkerPerf(snapshot, pluginName) {
17
17
  licensePlate: per(snapshot.plateMs, snapshot.plateCount),
18
18
  classifier: per(snapshot.classifierMs, snapshot.classifierCount),
19
19
  clip: per(snapshot.clipMs, snapshot.clipCount),
20
+ faceEmbedder: per(snapshot.faceEmbedMs, snapshot.faceEmbedCount),
20
21
  };
21
22
  const detectors = {};
22
23
  for (const [type, info] of Object.entries(snapshot.detectors)) {
@@ -51,6 +52,18 @@ export function deriveWorkerPerf(snapshot, pluginName) {
51
52
  zoomWindows: per(snapshot.zoomWindows, snapshot.zoomTicks),
52
53
  objectsPerFrame: per(snapshot.objects, judgedFrames),
53
54
  hitPercent: percent(snapshot.framesWithObjects, judgedFrames),
55
+ objectFrames: snapshot.framesWithObjects,
56
+ objectFps: snapshot.objectLoopMs > 0 ? round(snapshot.framesWithObjects / (snapshot.objectLoopMs / 1000)) : 0,
57
+ objectFrameMs: per(snapshot.objectWorkMs, snapshot.framesWithObjects),
58
+ objectSecondaryMs: per(snapshot.secondaryMs, snapshot.framesWithObjects),
59
+ clipCalls: snapshot.clipCount,
60
+ faceEmbedCalls: snapshot.faceEmbedCount,
61
+ vectorJobs: snapshot.vectorJobs,
62
+ vectorsAccepted: snapshot.vectorsAccepted,
63
+ vectorsParked: snapshot.vectorsParked,
64
+ vectorsDropped: snapshot.vectorsDropped,
65
+ closeDelays: snapshot.closeDelays,
66
+ closeDelayMs: per(snapshot.closeDelayMs, snapshot.closeDelays),
54
67
  switches: snapshot.switches,
55
68
  minutes: Math.round(snapshot.uptimeMs / 60_000),
56
69
  };
@@ -1 +1 @@
1
- {"version":3,"file":"worker-perf.js","sourceRoot":"","sources":["../../../../../../src/api/websocket/nsp/worker-perf.ts"],"names":[],"mappings":"AAGA,SAAS,KAAK,CAAC,KAAa;IAC1B,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC;AACrC,CAAC;AAED,SAAS,GAAG,CAAC,KAAa,EAAE,KAAa;IACvC,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,OAAO,CAAC,IAAY,EAAE,KAAa;IAC1C,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzE,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,QAAiC,EAAE,UAAoD;IACtH,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC;IAC1C,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;IACjE,MAAM,QAAQ,GAAoC;QAChD,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC;QACpD,MAAM,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,WAAW,CAAC;QACpD,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC;QAC9C,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC;QACxD,UAAU,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,eAAe,CAAC;QAChE,IAAI,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,SAAS,CAAC;KAC/C,CAAC;IAEF,MAAM,SAAS,GAAwC,EAAE,CAAC;IAC1D,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAC9D,SAAS,CAAC,IAAI,CAAC,GAAG;YAChB,MAAM,EAAE,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM;YAC9C,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtF,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACpE,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;SAC7B,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IAClD,MAAM,aAAa,GAAG,GAAG,CAAC,QAAQ,CAAC,aAAa,EAAE,QAAQ,CAAC,gBAAgB,CAAC,CAAC;IAE7E,OAAO;QACL,SAAS;QACT,YAAY,EAAE,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,aAAa;QACxE,QAAQ,EAAE,GAAG,CAAC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC,aAAa,CAAC;QACxD,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,iBAAiB,CAAC;QACpE,OAAO;QACP,MAAM;QACN,aAAa;QACb,WAAW,EAAE,SAAS,CAAC,MAAM,EAAE,WAAW,IAAI,CAAC;QAC/C,WAAW,EAAE,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACvF,OAAO,EAAE,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,GAAG,CAAC,QAAQ,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/F,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;QAC7C,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,aAAa,EAAE,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC;QAC1D,WAAW,EAAE,OAAO,CAAC,QAAQ,CAAC,SAAS,EAAE,YAAY,CAAC;QACtD,WAAW,EAAE,GAAG,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,SAAS,CAAC;QAC1D,eAAe,EAAE,GAAG,CAAC,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;QACpD,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,EAAE,YAAY,CAAC;QAC7D,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,GAAG,MAAM,CAAC;KAChD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"worker-perf.js","sourceRoot":"","sources":["../../../../../../src/api/websocket/nsp/worker-perf.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,18 @@ export interface WorkerPerfStats {
35
35
  zoomWindows: number;
36
36
  objectsPerFrame: number;
37
37
  hitPercent: number;
38
+ objectFrames: number;
39
+ objectFps: number;
40
+ objectFrameMs: number;
41
+ objectSecondaryMs: number;
42
+ clipCalls: number;
43
+ faceEmbedCalls: number;
44
+ vectorJobs: number;
45
+ vectorsAccepted: number;
46
+ vectorsParked: number;
47
+ vectorsDropped: number;
48
+ closeDelays: number;
49
+ closeDelayMs: number;
38
50
  switches: number;
39
51
  minutes: number;
40
52
  }
@@ -0,0 +1,27 @@
1
+ import type { CoreTool } from './tools/shared.js';
2
+ export declare const ALWAYS_EAGER: string[];
3
+ export interface PromptSections {
4
+ rules: string;
5
+ focused: string;
6
+ toolless: string;
7
+ capabilities: string;
8
+ skills: string;
9
+ skillCatalog: string;
10
+ dynamic: string;
11
+ }
12
+ export interface RunPlan {
13
+ window: number;
14
+ toolless: boolean;
15
+ skillsOnDemand: boolean;
16
+ compactPrompt: boolean;
17
+ catalogDescriptions: 'first-sentence' | 'none';
18
+ eagerTools: Set<string>;
19
+ hidden: string[];
20
+ demoted: number;
21
+ overheadTokens: number;
22
+ historyTokens: number;
23
+ }
24
+ export declare function estimateTokens(text: string): number;
25
+ export declare function planRun(window: number, sections: PromptSections, tools: CoreTool[]): RunPlan;
26
+ export declare function promote(plan: RunPlan, tools: CoreTool[], names: string[]): void;
27
+ export declare function toolTokens(tools: CoreTool[]): number;
@@ -0,0 +1,118 @@
1
+ import { convertSchemaToJsonSchema, renderLazyCatalogEntry } from '@tanstack/ai';
2
+ const LETTERS_PER_TOKEN = 4.5;
3
+ const SYMBOLS_PER_TOKEN = 1.2;
4
+ const OVERHEAD_SHARE = 0.35;
5
+ const CATALOG_SHARE = 0.5;
6
+ const ANSWER_RESERVE_TOKENS = 1_000;
7
+ const MIN_HISTORY_TOKENS = 2_000;
8
+ const HISTORY_SHARE = 0.9;
9
+ const LOAD_SKILL_TOKENS = 120;
10
+ const ENTRY_TOOLS = ['list_cameras', 'docs_search', 'list_tools', 'system_query', 'get_system_status', 'ask_user', 'api_search'];
11
+ const KEEP_EAGER = 4;
12
+ export const ALWAYS_EAGER = ['show_report'];
13
+ const costs = new WeakMap();
14
+ // measured with Apple's tokenizer: prose 4.3 to 5.1 characters per token, JSON full of ids and timestamps 1.6
15
+ export function estimateTokens(text) {
16
+ const letters = text.match(/[\p{L}\s]/gu)?.length ?? 0;
17
+ return Math.ceil(letters / LETTERS_PER_TOKEN + (text.length - letters) / SYMBOLS_PER_TOKEN);
18
+ }
19
+ export function planRun(window, sections, tools) {
20
+ const allowance = Math.floor(window * OVERHEAD_SHARE);
21
+ const plan = {
22
+ window,
23
+ toolless: tools.length === 0,
24
+ skillsOnDemand: false,
25
+ compactPrompt: false,
26
+ catalogDescriptions: 'first-sentence',
27
+ eagerTools: new Set(tools.filter((tool) => !tool.lazy).map((tool) => tool.name)),
28
+ hidden: [],
29
+ demoted: 0,
30
+ overheadTokens: 0,
31
+ historyTokens: 0,
32
+ };
33
+ if (plan.toolless) {
34
+ plan.overheadTokens = estimateTokens(sections.toolless) + estimateTokens(sections.capabilities) + estimateTokens(sections.dynamic);
35
+ plan.historyTokens = historyBudget(window, plan.overheadTokens);
36
+ return plan;
37
+ }
38
+ const promptTokens = () => estimateTokens(sections.rules) +
39
+ estimateTokens(sections.dynamic) +
40
+ (plan.compactPrompt ? 0 : estimateTokens(sections.capabilities)) +
41
+ (plan.skillsOnDemand ? estimateTokens(sections.skillCatalog) + LOAD_SKILL_TOKENS : estimateTokens(sections.skills));
42
+ const toolTokens = () => tools.reduce((sum, tool) => {
43
+ const cost = toolCost(tool);
44
+ if (plan.eagerTools.has(tool.name))
45
+ return sum + cost.eager;
46
+ return sum + (plan.catalogDescriptions === 'none' ? estimateTokens(tool.name) + 2 : cost.catalog);
47
+ }, 0);
48
+ const overhead = () => promptTokens() + toolTokens();
49
+ if (overhead() > allowance)
50
+ plan.skillsOnDemand = true;
51
+ if (overhead() > allowance)
52
+ plan.compactPrompt = true;
53
+ if (overhead() > allowance)
54
+ demoteTools(plan, tools, allowance - promptTokens());
55
+ if (overhead() > window * CATALOG_SHARE)
56
+ plan.catalogDescriptions = 'none';
57
+ plan.hidden = plan.demoted ? tools.filter((tool) => !plan.eagerTools.has(tool.name)).map((tool) => tool.name) : [];
58
+ plan.overheadTokens = overhead() + estimateTokens(plan.hidden.join(', '));
59
+ plan.historyTokens = historyBudget(window, plan.overheadTokens);
60
+ return plan;
61
+ }
62
+ export function promote(plan, tools, names) {
63
+ for (const tool of tools) {
64
+ if (!names.includes(tool.name) || plan.eagerTools.has(tool.name))
65
+ continue;
66
+ plan.eagerTools.add(tool.name);
67
+ plan.overheadTokens += toolCost(tool).eager;
68
+ }
69
+ plan.hidden = plan.hidden.filter((name) => !plan.eagerTools.has(name));
70
+ plan.historyTokens = historyBudget(plan.window, plan.overheadTokens);
71
+ }
72
+ export function toolTokens(tools) {
73
+ return tools.reduce((sum, tool) => sum + toolCost(tool).eager, 0);
74
+ }
75
+ function historyBudget(window, overhead) {
76
+ return Math.max(MIN_HISTORY_TOKENS, Math.floor((window - overhead - ANSWER_RESERVE_TOKENS) * HISTORY_SHARE));
77
+ }
78
+ function demoteTools(plan, tools, budget) {
79
+ const eager = tools.filter((tool) => plan.eagerTools.has(tool.name));
80
+ const ranked = [...eager].sort((a, b) => rank(a) - rank(b));
81
+ const catalogCost = (tool) => (plan.catalogDescriptions === 'none' ? estimateTokens(tool.name) + 2 : toolCost(tool).catalog);
82
+ const floor = tools.reduce((sum, tool) => sum + (plan.eagerTools.has(tool.name) ? catalogCost(tool) : toolCost(tool).catalog), 0);
83
+ plan.eagerTools = new Set();
84
+ let spent = floor;
85
+ for (const [index, tool] of ranked.entries()) {
86
+ const extra = toolCost(tool).eager - catalogCost(tool);
87
+ const core = ALWAYS_EAGER.includes(tool.name) || (index < KEEP_EAGER && rank(tool) < ENTRY_TOOLS.length);
88
+ if (!core && spent + extra > budget)
89
+ continue;
90
+ spent += extra;
91
+ plan.eagerTools.add(tool.name);
92
+ }
93
+ plan.demoted = eager.length - plan.eagerTools.size;
94
+ }
95
+ function rank(tool) {
96
+ const entry = ENTRY_TOOLS.indexOf(tool.name);
97
+ return entry === -1 ? ENTRY_TOOLS.length : entry;
98
+ }
99
+ function toolCost(tool) {
100
+ const cached = costs.get(tool);
101
+ if (cached)
102
+ return cached;
103
+ const description = tool.description ?? '';
104
+ let schema = '';
105
+ try {
106
+ schema = JSON.stringify(convertSchemaToJsonSchema(tool.inputSchema));
107
+ }
108
+ catch {
109
+ schema = '';
110
+ }
111
+ const cost = {
112
+ eager: estimateTokens(`${tool.name}${description}${schema}`),
113
+ catalog: estimateTokens(renderLazyCatalogEntry(tool.name, description, 'first-sentence')),
114
+ };
115
+ costs.set(tool, cost);
116
+ return cost;
117
+ }
118
+ //# sourceMappingURL=budget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"budget.js","sourceRoot":"","sources":["../../../../src/assistant/budget.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { ModelMessage } from '@tanstack/ai';
2
+ import type { CompactionStrategy } from '@tanstack/ai-compaction';
3
+ export declare const PICTURE_TOKENS = 800;
4
+ export declare function estimateMessage(message: ModelMessage): number;
5
+ export declare function clearDiscoveryResults(): CompactionStrategy;
6
+ export declare function keepSkills(strategy: CompactionStrategy): CompactionStrategy;
7
+ export declare function trimToolResults(options: {
8
+ maxTokens: number;
9
+ }): CompactionStrategy;
10
+ export declare function keepQuestion(strategy: CompactionStrategy): CompactionStrategy;
@@ -0,0 +1,83 @@
1
+ import { DISCOVERY_TOOL_NAME } from '@tanstack/ai';
2
+ import { estimateTokens } from './budget.js';
3
+ import { isPicturesMessage } from './uploads.js';
4
+ const CUT_NOTE = ' […] cut here, ask again for a narrower range to see the rest';
5
+ const MARGIN_TOKENS = 16;
6
+ const FETCHED_NOTE = '[tools fetched, they are in the tool list now]';
7
+ const SKILL_TOOL = 'load_skill';
8
+ const PROCEDURES_LEAD = 'Procedures loaded earlier in this run, they still apply:';
9
+ export const PICTURE_TOKENS = 800;
10
+ export function estimateMessage(message) {
11
+ const parts = Array.isArray(message.content) ? message.content : [message.content ?? ''];
12
+ const pictures = parts.filter(isData).length;
13
+ const text = parts.filter((part) => !isData(part)).map((part) => (typeof part === 'string' ? part : JSON.stringify(part)));
14
+ if (message.toolCalls?.length)
15
+ text.push(JSON.stringify(message.toolCalls));
16
+ return estimateTokens(text.join('')) + pictures * PICTURE_TOKENS;
17
+ }
18
+ export function clearDiscoveryResults() {
19
+ return (messages) => {
20
+ const fetched = callIds(messages, DISCOVERY_TOOL_NAME);
21
+ const stale = (message) => message.role === 'tool' && fetched.has(message.toolCallId ?? '') && message.content !== FETCHED_NOTE;
22
+ return messages.some(stale) ? messages.map((message) => (stale(message) ? { ...message, content: FETCHED_NOTE } : message)) : null;
23
+ };
24
+ }
25
+ export function keepSkills(strategy) {
26
+ return async (messages, ctx) => {
27
+ const next = await strategy(messages, ctx);
28
+ if (!next)
29
+ return next;
30
+ // a second load_skill only answers "already loaded", a procedure that left the history is gone for the run
31
+ const loaded = callIds(messages, SKILL_TOOL);
32
+ const original = new Map(messages.filter((message) => loaded.has(message.toolCallId ?? '')).map((message) => [message.toolCallId, message]));
33
+ const restored = next.map((message) => (message.role === 'tool' ? (original.get(message.toolCallId) ?? message) : message));
34
+ const evicted = [...original.values()].filter((message) => !restored.includes(message) && typeof message.content === 'string');
35
+ if (!evicted.length)
36
+ return restored;
37
+ const procedures = { role: 'user', content: `${PROCEDURES_LEAD}\n${evicted.map((message) => message.content).join('\n\n')}` };
38
+ return [restored[0], procedures, ...restored.slice(1)];
39
+ };
40
+ }
41
+ export function trimToolResults(options) {
42
+ return (messages, ctx) => {
43
+ const next = [...messages];
44
+ let excess = next.reduce((sum, message) => sum + ctx.estimate(message), 0) - ctx.maxTokens + MARGIN_TOKENS;
45
+ // the largest result gives way first and only as far as needed
46
+ for (const { index, tokens } of largestResults(next, options.maxTokens)) {
47
+ if (excess <= 0)
48
+ break;
49
+ const content = next[index].content;
50
+ const body = content.endsWith(CUT_NOTE) ? content.slice(0, -CUT_NOTE.length) : content;
51
+ const keepTokens = Math.max(options.maxTokens, tokens - excess);
52
+ const cut = body.slice(0, Math.floor((body.length * keepTokens) / tokens)) + CUT_NOTE;
53
+ if (cut.length >= content.length)
54
+ continue;
55
+ excess -= tokens - estimateTokens(cut);
56
+ next[index] = { ...next[index], content: cut };
57
+ }
58
+ return next.some((message, index) => message !== messages[index]) ? next : null;
59
+ };
60
+ }
61
+ export function keepQuestion(strategy) {
62
+ return async (messages, ctx) => {
63
+ const next = await strategy(messages, ctx);
64
+ const question = messages.findLast((message) => message.role === 'user' && !isPicturesMessage(message));
65
+ if (!next || !question || next.includes(question))
66
+ return next;
67
+ // eviction starts at the oldest message, in a run of one question that is the question
68
+ return [next[0], question, ...next.slice(1)];
69
+ };
70
+ }
71
+ function isData(part) {
72
+ return typeof part?.source?.value === 'string';
73
+ }
74
+ function callIds(messages, toolName) {
75
+ return new Set(messages.flatMap((message) => (message.toolCalls ?? []).filter((call) => call.function.name === toolName).map((call) => call.id)));
76
+ }
77
+ function largestResults(messages, minTokens) {
78
+ return messages
79
+ .map((message, index) => ({ index, tokens: message.role === 'tool' && typeof message.content === 'string' ? estimateTokens(message.content) : 0 }))
80
+ .filter((entry) => entry.tokens > minTokens)
81
+ .sort((a, b) => b.tokens - a.tokens);
82
+ }
83
+ //# sourceMappingURL=compaction.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compaction.js","sourceRoot":"","sources":["../../../../src/assistant/compaction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAKjD,MAAM,QAAQ,GAAG,+DAA+D,CAAC;AACjF,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,YAAY,GAAG,gDAAgD,CAAC;AACtE,MAAM,UAAU,GAAG,YAAY,CAAC;AAChC,MAAM,eAAe,GAAG,0DAA0D,CAAC;AAEnF,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAElC,MAAM,UAAU,eAAe,CAAC,OAAqB;IACnD,MAAM,KAAK,GAAc,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC;IACpG,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC;IAC7C,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3H,IAAI,OAAO,CAAC,SAAS,EAAE,MAAM;QAAE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC;IAC5E,OAAO,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,QAAQ,GAAG,cAAc,CAAC;AACnE,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,OAAO,CAAC,QAAQ,EAAE,EAAE;QAClB,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;QACvD,MAAM,KAAK,GAAG,CAAC,OAAqB,EAAW,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,IAAI,OAAO,CAAC,OAAO,KAAK,YAAY,CAAC;QACvJ,OAAO,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACrI,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,QAA4B;IACrD,OAAO,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAEvB,2GAA2G;QAC3G,MAAM,MAAM,GAAG,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7I,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;QAE5H,MAAM,OAAO,GAAG,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC;QAC/H,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,QAAQ,CAAC;QACrC,MAAM,UAAU,GAAiB,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,eAAe,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAiB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACtJ,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IACzD,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,OAA8B;IAC5D,OAAO,CAAC,QAAQ,EAAE,GAAG,EAAE,EAAE;QACvB,MAAM,IAAI,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC;QAC3B,IAAI,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,GAAG,aAAa,CAAC;QAE3G,+DAA+D;QAC/D,KAAK,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YACxE,IAAI,MAAM,IAAI,CAAC;gBAAE,MAAM;YACvB,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,OAAiB,CAAC;YAC9C,MAAM,IAAI,GAAG,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;YACvF,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC,CAAC;YAChE,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,MAAM,GAAG,UAAU,CAAC,GAAG,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC;YACtF,IAAI,GAAG,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM;gBAAE,SAAS;YAE3C,MAAM,IAAI,MAAM,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC;QACjD,CAAC;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;IAClF,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,QAA4B;IACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,GAAG,EAAE,EAAE;QAC7B,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAC3C,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC,CAAC;QACxG,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAAE,OAAO,IAAI,CAAC;QAE/D,uFAAuF;QACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,IAAa;IAC3B,OAAO,OAAQ,IAAgD,EAAE,MAAM,EAAE,KAAK,KAAK,QAAQ,CAAC;AAC9F,CAAC;AAED,SAAS,OAAO,CAAC,QAAiC,EAAE,QAAgB;IAClE,OAAO,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACpJ,CAAC;AAED,SAAS,cAAc,CAAC,QAAwB,EAAE,SAAiB;IACjE,OAAO,QAAQ;SACZ,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK,MAAM,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;SAClJ,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,SAAS,CAAC;SAC3C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC;AACzC,CAAC"}
@@ -3,6 +3,7 @@ import { join } from 'node:path';
3
3
  import { ConfigService } from '../services/config/index.js';
4
4
  const DOCS_URL = 'https://docs.cameraui.com';
5
5
  const SNIPPET_CHARS = 280;
6
+ const TOP_HIT_CHARS = 1_200;
6
7
  const STOP = new Set(['the', 'and', 'for', 'with', 'that', 'this', 'from', 'are', 'you', 'your', 'can', 'how', 'what', 'does', 'not', 'camera', 'cameraui']);
7
8
  export class DocsIndex {
8
9
  sections = [];
@@ -56,7 +57,7 @@ export class DocsIndex {
56
57
  if (seen.has(key))
57
58
  continue;
58
59
  seen.add(key);
59
- hits.push(toHit(section, snippet(section.text, terms)));
60
+ hits.push(toHit(section, hits.length ? snippet(section.text, terms) : snippet(section.text, [], TOP_HIT_CHARS)));
60
61
  if (hits.length >= limit)
61
62
  break;
62
63
  }
@@ -86,12 +87,12 @@ function anchorOf(heading) {
86
87
  .trim()
87
88
  .replace(/\s+/g, '-');
88
89
  }
89
- function snippet(text, terms) {
90
+ function snippet(text, terms, chars = SNIPPET_CHARS) {
90
91
  const lower = text.toLowerCase();
91
92
  const first = Math.min(...terms.map((term) => lower.indexOf(term)).filter((index) => index >= 0), Number.POSITIVE_INFINITY);
92
93
  const start = Number.isFinite(first) ? Math.max(0, lower.lastIndexOf('. ', first) + 1) : 0;
93
94
  const slice = text
94
- .slice(start, start + SNIPPET_CHARS)
95
+ .slice(start, start + chars)
95
96
  .replace(/\s+/g, ' ')
96
97
  .trim();
97
98
  return slice.length < text.length - start ? `${slice}…` : slice;
@@ -1 +1 @@
1
- {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../../../src/assistant/docs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"docs.js","sourceRoot":"","sources":["../../../../src/assistant/docs.ts"],"names":[],"mappings":"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"}
@@ -1,2 +1,3 @@
1
1
  import type { ModelMessage } from '@tanstack/ai';
2
2
  export declare function repairHistory(messages: readonly ModelMessage[]): ModelMessage[];
3
+ export declare function flattenToolHistory(messages: readonly ModelMessage[]): ModelMessage[];
@@ -43,4 +43,32 @@ export function repairHistory(messages) {
43
43
  }
44
44
  return out;
45
45
  }
46
+ export function flattenToolHistory(messages) {
47
+ const names = new Map();
48
+ const out = [];
49
+ for (const message of messages) {
50
+ if (message.role === 'assistant' && message.toolCalls?.length) {
51
+ for (const call of message.toolCalls)
52
+ names.set(call.id, call.function.name);
53
+ const calls = message.toolCalls.map((call) => `Earlier in this run I used the tool ${call.function.name} with ${call.function.arguments}.`);
54
+ out.push({ role: 'assistant', content: [textOf(message), ...calls].filter((line) => line !== '').join('\n') });
55
+ continue;
56
+ }
57
+ if (message.role !== 'tool') {
58
+ out.push(message);
59
+ continue;
60
+ }
61
+ const label = `The tool ${names.get(message.toolCallId ?? '') ?? 'you used'} returned:`;
62
+ if (typeof message.content === 'string' || !message.content)
63
+ out.push({ role: 'user', content: `${label} ${message.content ?? ''}` });
64
+ else
65
+ out.push({ role: 'user', content: [{ type: 'text', content: label }, ...message.content] });
66
+ }
67
+ return out;
68
+ }
69
+ function textOf(message) {
70
+ if (typeof message.content === 'string')
71
+ return message.content;
72
+ return (message.content ?? []).flatMap((part) => (part.type === 'text' ? [part.content] : [])).join('\n');
73
+ }
46
74
  //# sourceMappingURL=history.js.map