@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
@@ -4495,11 +4495,11 @@ var Fc;
4495
4495
  //#region ../server/node_modules/@camera.ui/sdk/dist/plugin/contract.js
4496
4496
  var Ic;
4497
4497
  (function(e) {
4498
- e.Hub = "hub", e.SensorProvider = "sensorProvider", e.CameraController = "cameraController", e.CameraAndSensorProvider = "cameraAndSensorProvider";
4498
+ e.Hub = "hub", e.SensorProvider = "sensorProvider", e.CameraController = "cameraController", e.CameraAndSensorProvider = "cameraAndSensorProvider", e.Service = "service";
4499
4499
  })(Ic ||= {});
4500
4500
  var Lc;
4501
4501
  (function(e) {
4502
- e.MotionDetection = "MotionDetection", e.ObjectDetection = "ObjectDetection", e.AudioDetection = "AudioDetection", e.FaceDetection = "FaceDetection", e.LicensePlateDetection = "LicensePlateDetection", e.ClassifierDetection = "ClassifierDetection", e.ClipDetection = "ClipDetection", e.DiscoveryProvider = "DiscoveryProvider", e.SensorDiscovery = "SensorDiscovery", e.NVR = "NVR", e.Notifier = "Notifier", e.OAuthCapable = "OAuthCapable", e.OAuthDeviceFlow = "OAuthDeviceFlow", e.OAuthAuthCodeFlow = "OAuthAuthCodeFlow", e.OAuthClientCredentials = "OAuthClientCredentials", e.AssistantTools = "AssistantTools";
4502
+ e.MotionDetection = "MotionDetection", e.ObjectDetection = "ObjectDetection", e.AudioDetection = "AudioDetection", e.FaceDetection = "FaceDetection", e.LicensePlateDetection = "LicensePlateDetection", e.ClassifierDetection = "ClassifierDetection", e.ClipDetection = "ClipDetection", e.FaceEmbedding = "FaceEmbedding", e.DiscoveryProvider = "DiscoveryProvider", e.SensorDiscovery = "SensorDiscovery", e.NVR = "NVR", e.Notifier = "Notifier", e.OAuthCapable = "OAuthCapable", e.OAuthDeviceFlow = "OAuthDeviceFlow", e.OAuthAuthCodeFlow = "OAuthAuthCodeFlow", e.OAuthClientCredentials = "OAuthClientCredentials", e.AssistantTools = "AssistantTools", e.AssistantModels = "AssistantModels";
4503
4503
  })(Lc ||= {});
4504
4504
  var Rc;
4505
4505
  (function(e) {
@@ -4509,7 +4509,7 @@ var Rc;
4509
4509
  //#region ../server/node_modules/@camera.ui/sdk/dist/sensor/base.js
4510
4510
  var K;
4511
4511
  (function(e) {
4512
- e.Motion = "motion", e.Object = "object", e.Audio = "audio", e.Face = "face", e.LicensePlate = "licensePlate", e.Classifier = "classifier", e.Clip = "clip", e.ObjectAssist = "objectAssist", e.Contact = "contact", e.Temperature = "temperature", e.Humidity = "humidity", e.Occupancy = "occupancy", e.Smoke = "smoke", e.Leak = "leak", e.Gas = "gas", e.CarbonMonoxide = "carbonMonoxide", e.Heat = "heat", e.Cold = "cold", e.Vibration = "vibration", e.Tamper = "tamper", e.Problem = "problem", e.Power = "power", e.Illuminance = "illuminance", e.CarbonDioxide = "carbonDioxide", e.Light = "light", e.Siren = "siren", e.Switch = "switch", e.Lock = "lock", e.PTZ = "ptz", e.SecuritySystem = "securitySystem", e.Garage = "garage", e.Doorbell = "doorbell", e.Battery = "battery";
4512
+ e.Motion = "motion", e.Object = "object", e.Audio = "audio", e.Face = "face", e.FaceEmbedder = "faceEmbedder", e.LicensePlate = "licensePlate", e.Classifier = "classifier", e.Clip = "clip", e.ObjectAssist = "objectAssist", e.Contact = "contact", e.Temperature = "temperature", e.Humidity = "humidity", e.Occupancy = "occupancy", e.Smoke = "smoke", e.Leak = "leak", e.Gas = "gas", e.CarbonMonoxide = "carbonMonoxide", e.Heat = "heat", e.Cold = "cold", e.Vibration = "vibration", e.Tamper = "tamper", e.Problem = "problem", e.Power = "power", e.Illuminance = "illuminance", e.CarbonDioxide = "carbonDioxide", e.Light = "light", e.Siren = "siren", e.Switch = "switch", e.Lock = "lock", e.PTZ = "ptz", e.SecuritySystem = "securitySystem", e.Garage = "garage", e.Doorbell = "doorbell", e.Battery = "battery";
4513
4513
  })(K ||= {});
4514
4514
  var q;
4515
4515
  (function(e) {
@@ -4786,22 +4786,30 @@ var ol = Y({
4786
4786
  [al.Identities]: { type: "object" }
4787
4787
  },
4788
4788
  semantics: null
4789
+ }), sl = Y({
4790
+ type: K.FaceEmbedder,
4791
+ category: q.Sensor,
4792
+ assignmentKey: "faceEmbedder",
4793
+ multiProvider: !1,
4794
+ isDetectionType: !0,
4795
+ properties: {},
4796
+ semantics: null
4789
4797
  }), X;
4790
4798
  (function(e) {
4791
4799
  e[e.Open = 0] = "Open", e[e.Closed = 1] = "Closed", e[e.Opening = 2] = "Opening", e[e.Closing = 3] = "Closing", e[e.Stopped = 4] = "Stopped";
4792
4800
  })(X ||= {});
4793
- var sl;
4801
+ var cl;
4794
4802
  (function(e) {
4795
4803
  e.CurrentState = "currentState", e.TargetState = "targetState", e.ObstructionDetected = "obstructionDetected";
4796
- })(sl ||= {});
4797
- var cl = Y({
4804
+ })(cl ||= {});
4805
+ var ll = Y({
4798
4806
  type: K.Garage,
4799
4807
  category: q.Control,
4800
4808
  assignmentKey: "garage",
4801
4809
  multiProvider: !0,
4802
4810
  isDetectionType: !1,
4803
4811
  properties: {
4804
- [sl.CurrentState]: {
4812
+ [cl.CurrentState]: {
4805
4813
  type: "enum",
4806
4814
  values: {
4807
4815
  open: X.Open,
@@ -4811,7 +4819,7 @@ var cl = Y({
4811
4819
  stopped: X.Stopped
4812
4820
  }
4813
4821
  },
4814
- [sl.TargetState]: {
4822
+ [cl.TargetState]: {
4815
4823
  type: "enum",
4816
4824
  values: {
4817
4825
  open: X.Open,
@@ -4819,22 +4827,22 @@ var cl = Y({
4819
4827
  },
4820
4828
  writable: !0
4821
4829
  },
4822
- [sl.ObstructionDetected]: { type: "boolean" }
4830
+ [cl.ObstructionDetected]: { type: "boolean" }
4823
4831
  },
4824
4832
  shortcutable: !0,
4825
4833
  cascadeTrigger: {
4826
- property: sl.CurrentState,
4834
+ property: cl.CurrentState,
4827
4835
  value: 0,
4828
4836
  sustained: !0
4829
4837
  },
4830
4838
  virtual: { properties: {
4831
- [sl.CurrentState]: 1,
4832
- [sl.TargetState]: 1
4839
+ [cl.CurrentState]: 1,
4840
+ [cl.TargetState]: 1
4833
4841
  } },
4834
4842
  semantics: {
4835
4843
  domain: J.Cover,
4836
- stateProperty: sl.CurrentState,
4837
- commandProperty: sl.TargetState,
4844
+ stateProperty: cl.CurrentState,
4845
+ commandProperty: cl.TargetState,
4838
4846
  deviceClass: "garage",
4839
4847
  states: {
4840
4848
  open: X.Open,
@@ -4844,71 +4852,71 @@ var cl = Y({
4844
4852
  stopped: X.Stopped
4845
4853
  }
4846
4854
  }
4847
- }), ll;
4855
+ }), ul;
4848
4856
  (function(e) {
4849
4857
  e.Detected = "detected";
4850
- })(ll ||= {});
4851
- var ul = Y({
4858
+ })(ul ||= {});
4859
+ var dl = Y({
4852
4860
  type: K.Gas,
4853
4861
  category: q.Sensor,
4854
4862
  assignmentKey: "gas",
4855
4863
  multiProvider: !0,
4856
4864
  isDetectionType: !1,
4857
- properties: { [ll.Detected]: {
4865
+ properties: { [ul.Detected]: {
4858
4866
  type: "boolean",
4859
4867
  writable: !0
4860
4868
  } },
4861
4869
  shortcutable: !0,
4862
4870
  cascadeTrigger: {
4863
- property: ll.Detected,
4871
+ property: ul.Detected,
4864
4872
  value: !0,
4865
4873
  sustained: !0
4866
4874
  },
4867
- virtual: { properties: { [ll.Detected]: !1 } },
4875
+ virtual: { properties: { [ul.Detected]: !1 } },
4868
4876
  semantics: {
4869
4877
  domain: J.Binary,
4870
- stateProperty: ll.Detected,
4871
- commandProperty: ll.Detected,
4878
+ stateProperty: ul.Detected,
4879
+ commandProperty: ul.Detected,
4872
4880
  deviceClass: "gas"
4873
4881
  }
4874
- }), dl;
4882
+ }), fl;
4875
4883
  (function(e) {
4876
4884
  e.Detected = "detected";
4877
- })(dl ||= {});
4878
- var fl = Y({
4885
+ })(fl ||= {});
4886
+ var pl = Y({
4879
4887
  type: K.Heat,
4880
4888
  category: q.Sensor,
4881
4889
  assignmentKey: "heat",
4882
4890
  multiProvider: !0,
4883
4891
  isDetectionType: !1,
4884
- properties: { [dl.Detected]: {
4892
+ properties: { [fl.Detected]: {
4885
4893
  type: "boolean",
4886
4894
  writable: !0
4887
4895
  } },
4888
4896
  shortcutable: !0,
4889
4897
  cascadeTrigger: {
4890
- property: dl.Detected,
4898
+ property: fl.Detected,
4891
4899
  value: !0,
4892
4900
  sustained: !0
4893
4901
  },
4894
- virtual: { properties: { [dl.Detected]: !1 } },
4902
+ virtual: { properties: { [fl.Detected]: !1 } },
4895
4903
  semantics: {
4896
4904
  domain: J.Binary,
4897
- stateProperty: dl.Detected,
4898
- commandProperty: dl.Detected,
4905
+ stateProperty: fl.Detected,
4906
+ commandProperty: fl.Detected,
4899
4907
  deviceClass: "heat"
4900
4908
  }
4901
- }), pl;
4909
+ }), ml;
4902
4910
  (function(e) {
4903
4911
  e.Current = "current";
4904
- })(pl ||= {});
4905
- var ml = Y({
4912
+ })(ml ||= {});
4913
+ var hl = Y({
4906
4914
  type: K.Humidity,
4907
4915
  category: q.Info,
4908
4916
  assignmentKey: "humidity",
4909
4917
  multiProvider: !0,
4910
4918
  isDetectionType: !1,
4911
- properties: { [pl.Current]: {
4919
+ properties: { [ml.Current]: {
4912
4920
  type: "number",
4913
4921
  min: 0,
4914
4922
  max: 100,
@@ -4916,104 +4924,104 @@ var ml = Y({
4916
4924
  writable: !0
4917
4925
  } },
4918
4926
  shortcutable: !0,
4919
- virtual: { properties: { [pl.Current]: 50 } },
4927
+ virtual: { properties: { [ml.Current]: 50 } },
4920
4928
  semantics: {
4921
4929
  domain: J.Measurement,
4922
- stateProperty: pl.Current,
4923
- commandProperty: pl.Current,
4930
+ stateProperty: ml.Current,
4931
+ commandProperty: ml.Current,
4924
4932
  deviceClass: "humidity",
4925
4933
  unit: "%"
4926
4934
  }
4927
- }), hl;
4935
+ }), gl;
4928
4936
  (function(e) {
4929
4937
  e.Current = "current";
4930
- })(hl ||= {});
4931
- var gl = Y({
4938
+ })(gl ||= {});
4939
+ var _l = Y({
4932
4940
  type: K.Illuminance,
4933
4941
  category: q.Info,
4934
4942
  assignmentKey: "illuminance",
4935
4943
  multiProvider: !0,
4936
4944
  isDetectionType: !1,
4937
- properties: { [hl.Current]: {
4945
+ properties: { [gl.Current]: {
4938
4946
  type: "number",
4939
4947
  unit: "lx",
4940
4948
  writable: !0
4941
4949
  } },
4942
4950
  shortcutable: !0,
4943
- virtual: { properties: { [hl.Current]: 20 } },
4951
+ virtual: { properties: { [gl.Current]: 20 } },
4944
4952
  semantics: {
4945
4953
  domain: J.Measurement,
4946
- stateProperty: hl.Current,
4947
- commandProperty: hl.Current,
4954
+ stateProperty: gl.Current,
4955
+ commandProperty: gl.Current,
4948
4956
  deviceClass: "illuminance",
4949
4957
  unit: "lx"
4950
4958
  }
4951
- }), _l;
4959
+ }), vl;
4952
4960
  (function(e) {
4953
4961
  e.Detected = "detected";
4954
- })(_l ||= {});
4955
- var vl = Y({
4962
+ })(vl ||= {});
4963
+ var yl = Y({
4956
4964
  type: K.Leak,
4957
4965
  category: q.Sensor,
4958
4966
  assignmentKey: "leak",
4959
4967
  multiProvider: !0,
4960
4968
  isDetectionType: !1,
4961
- properties: { [_l.Detected]: {
4969
+ properties: { [vl.Detected]: {
4962
4970
  type: "boolean",
4963
4971
  writable: !0
4964
4972
  } },
4965
4973
  shortcutable: !0,
4966
4974
  cascadeTrigger: {
4967
- property: _l.Detected,
4975
+ property: vl.Detected,
4968
4976
  value: !0,
4969
4977
  sustained: !0
4970
4978
  },
4971
- virtual: { properties: { [_l.Detected]: !1 } },
4979
+ virtual: { properties: { [vl.Detected]: !1 } },
4972
4980
  semantics: {
4973
4981
  domain: J.Binary,
4974
- stateProperty: _l.Detected,
4975
- commandProperty: _l.Detected,
4982
+ stateProperty: vl.Detected,
4983
+ commandProperty: vl.Detected,
4976
4984
  deviceClass: "moisture"
4977
4985
  }
4978
- }), yl;
4986
+ }), bl;
4979
4987
  (function(e) {
4980
4988
  e.Detected = "detected", e.Detections = "detections", e.Plates = "plates";
4981
- })(yl ||= {});
4982
- var bl = Y({
4989
+ })(bl ||= {});
4990
+ var xl = Y({
4983
4991
  type: K.LicensePlate,
4984
4992
  category: q.Sensor,
4985
4993
  assignmentKey: "licensePlate",
4986
4994
  multiProvider: !1,
4987
4995
  isDetectionType: !0,
4988
4996
  properties: {
4989
- [yl.Detected]: { type: "boolean" },
4990
- [yl.Detections]: {
4997
+ [bl.Detected]: { type: "boolean" },
4998
+ [bl.Detections]: {
4991
4999
  type: "object",
4992
5000
  internal: !0
4993
5001
  },
4994
- [yl.Plates]: { type: "object" }
5002
+ [bl.Plates]: { type: "object" }
4995
5003
  },
4996
5004
  semantics: null
4997
- }), xl;
5005
+ }), Sl;
4998
5006
  (function(e) {
4999
5007
  e.Brightness = "brightness";
5000
- })(xl ||= {});
5001
- var Sl;
5008
+ })(Sl ||= {});
5009
+ var Cl;
5002
5010
  (function(e) {
5003
5011
  e.On = "on", e.Brightness = "brightness";
5004
- })(Sl ||= {});
5005
- var Cl = Y({
5012
+ })(Cl ||= {});
5013
+ var wl = Y({
5006
5014
  type: K.Light,
5007
5015
  category: q.Control,
5008
5016
  assignmentKey: "light",
5009
5017
  multiProvider: !0,
5010
5018
  isDetectionType: !1,
5011
5019
  properties: {
5012
- [Sl.On]: {
5020
+ [Cl.On]: {
5013
5021
  type: "boolean",
5014
5022
  writable: !0
5015
5023
  },
5016
- [Sl.Brightness]: {
5024
+ [Cl.Brightness]: {
5017
5025
  type: "number",
5018
5026
  min: 0,
5019
5027
  max: 100,
@@ -5023,124 +5031,124 @@ var Cl = Y({
5023
5031
  },
5024
5032
  shortcutable: !0,
5025
5033
  cascadeTrigger: {
5026
- property: Sl.On,
5034
+ property: Cl.On,
5027
5035
  value: !0,
5028
5036
  sustained: !0
5029
5037
  },
5030
- propertyCapabilities: { [Sl.Brightness]: xl.Brightness },
5038
+ propertyCapabilities: { [Cl.Brightness]: Sl.Brightness },
5031
5039
  virtual: {
5032
5040
  properties: {
5033
- [Sl.On]: !1,
5034
- [Sl.Brightness]: 100
5041
+ [Cl.On]: !1,
5042
+ [Cl.Brightness]: 100
5035
5043
  },
5036
- capabilities: [xl.Brightness]
5044
+ capabilities: [Sl.Brightness]
5037
5045
  },
5038
5046
  semantics: {
5039
5047
  domain: J.Light,
5040
- stateProperty: Sl.On,
5041
- commandProperty: Sl.On
5048
+ stateProperty: Cl.On,
5049
+ commandProperty: Cl.On
5042
5050
  }
5043
- }), wl;
5051
+ }), Tl;
5044
5052
  (function(e) {
5045
5053
  e[e.Secured = 0] = "Secured", e[e.Unsecured = 1] = "Unsecured", e[e.Unknown = 2] = "Unknown";
5046
- })(wl ||= {});
5047
- var Tl;
5054
+ })(Tl ||= {});
5055
+ var El;
5048
5056
  (function(e) {
5049
5057
  e.CurrentState = "currentState", e.TargetState = "targetState";
5050
- })(Tl ||= {});
5051
- var El = Y({
5058
+ })(El ||= {});
5059
+ var Dl = Y({
5052
5060
  type: K.Lock,
5053
5061
  category: q.Control,
5054
5062
  assignmentKey: "lock",
5055
5063
  multiProvider: !0,
5056
5064
  isDetectionType: !1,
5057
5065
  properties: {
5058
- [Tl.CurrentState]: {
5066
+ [El.CurrentState]: {
5059
5067
  type: "enum",
5060
5068
  values: {
5061
- secured: wl.Secured,
5062
- unsecured: wl.Unsecured,
5063
- unknown: wl.Unknown
5069
+ secured: Tl.Secured,
5070
+ unsecured: Tl.Unsecured,
5071
+ unknown: Tl.Unknown
5064
5072
  }
5065
5073
  },
5066
- [Tl.TargetState]: {
5074
+ [El.TargetState]: {
5067
5075
  type: "enum",
5068
5076
  values: {
5069
- secured: wl.Secured,
5070
- unsecured: wl.Unsecured
5077
+ secured: Tl.Secured,
5078
+ unsecured: Tl.Unsecured
5071
5079
  },
5072
5080
  writable: !0
5073
5081
  }
5074
5082
  },
5075
5083
  shortcutable: !0,
5076
5084
  cascadeTrigger: {
5077
- property: Tl.CurrentState,
5085
+ property: El.CurrentState,
5078
5086
  value: 1,
5079
5087
  sustained: !0
5080
5088
  },
5081
5089
  virtual: { properties: {
5082
- [Tl.CurrentState]: 0,
5083
- [Tl.TargetState]: 0
5090
+ [El.CurrentState]: 0,
5091
+ [El.TargetState]: 0
5084
5092
  } },
5085
5093
  semantics: {
5086
5094
  domain: J.Lock,
5087
- stateProperty: Tl.CurrentState,
5088
- commandProperty: Tl.TargetState,
5095
+ stateProperty: El.CurrentState,
5096
+ commandProperty: El.TargetState,
5089
5097
  states: {
5090
- locked: wl.Secured,
5091
- unlocked: wl.Unsecured
5098
+ locked: Tl.Secured,
5099
+ unlocked: Tl.Unsecured
5092
5100
  }
5093
5101
  }
5094
- }), Dl;
5102
+ }), Ol;
5095
5103
  (function(e) {
5096
5104
  e.Detected = "detected", e.Detections = "detections", e.Blocked = "blocked", e.LastTriggered = "lastTriggered";
5097
- })(Dl ||= {});
5098
- var Ol = Y({
5105
+ })(Ol ||= {});
5106
+ var kl = Y({
5099
5107
  type: K.Motion,
5100
5108
  category: q.Sensor,
5101
5109
  assignmentKey: "motion",
5102
5110
  multiProvider: !1,
5103
5111
  isDetectionType: !0,
5104
5112
  properties: {
5105
- [Dl.Detected]: { type: "boolean" },
5106
- [Dl.Detections]: {
5113
+ [Ol.Detected]: { type: "boolean" },
5114
+ [Ol.Detections]: {
5107
5115
  type: "object",
5108
5116
  internal: !0
5109
5117
  },
5110
- [Dl.Blocked]: {
5118
+ [Ol.Blocked]: {
5111
5119
  type: "boolean",
5112
5120
  internal: !0
5113
5121
  },
5114
- [Dl.LastTriggered]: {
5122
+ [Ol.LastTriggered]: {
5115
5123
  type: "number",
5116
5124
  internal: !0
5117
5125
  }
5118
5126
  },
5119
5127
  semantics: null
5120
- }), kl;
5128
+ }), Al;
5121
5129
  (function(e) {
5122
5130
  e.Detected = "detected", e.Detections = "detections", e.Labels = "labels", e.StaticDetections = "staticDetections";
5123
- })(kl ||= {});
5124
- var Al = Y({
5131
+ })(Al ||= {});
5132
+ var jl = Y({
5125
5133
  type: K.Object,
5126
5134
  category: q.Sensor,
5127
5135
  assignmentKey: "object",
5128
5136
  multiProvider: !1,
5129
5137
  isDetectionType: !0,
5130
5138
  properties: {
5131
- [kl.Detected]: { type: "boolean" },
5132
- [kl.Detections]: {
5139
+ [Al.Detected]: { type: "boolean" },
5140
+ [Al.Detections]: {
5133
5141
  type: "object",
5134
5142
  internal: !0
5135
5143
  },
5136
- [kl.Labels]: { type: "object" },
5137
- [kl.StaticDetections]: {
5144
+ [Al.Labels]: { type: "object" },
5145
+ [Al.StaticDetections]: {
5138
5146
  type: "object",
5139
5147
  internal: !0
5140
5148
  }
5141
5149
  },
5142
5150
  semantics: null
5143
- }), jl = Y({
5151
+ }), Ml = Y({
5144
5152
  type: K.ObjectAssist,
5145
5153
  category: q.Sensor,
5146
5154
  assignmentKey: "objectAssist",
@@ -5148,96 +5156,96 @@ var Al = Y({
5148
5156
  isDetectionType: !0,
5149
5157
  properties: {},
5150
5158
  semantics: null
5151
- }), Ml;
5159
+ }), Nl;
5152
5160
  (function(e) {
5153
5161
  e.Detected = "detected";
5154
- })(Ml ||= {});
5155
- var Nl = Y({
5162
+ })(Nl ||= {});
5163
+ var Pl = Y({
5156
5164
  type: K.Occupancy,
5157
5165
  category: q.Sensor,
5158
5166
  assignmentKey: "occupancy",
5159
5167
  multiProvider: !0,
5160
5168
  isDetectionType: !1,
5161
- properties: { [Ml.Detected]: {
5169
+ properties: { [Nl.Detected]: {
5162
5170
  type: "boolean",
5163
5171
  writable: !0
5164
5172
  } },
5165
5173
  shortcutable: !0,
5166
5174
  cascadeTrigger: {
5167
- property: Ml.Detected,
5175
+ property: Nl.Detected,
5168
5176
  value: !0,
5169
5177
  sustained: !0
5170
5178
  },
5171
- virtual: { properties: { [Ml.Detected]: !1 } },
5179
+ virtual: { properties: { [Nl.Detected]: !1 } },
5172
5180
  semantics: {
5173
5181
  domain: J.Binary,
5174
- stateProperty: Ml.Detected,
5175
- commandProperty: Ml.Detected,
5182
+ stateProperty: Nl.Detected,
5183
+ commandProperty: Nl.Detected,
5176
5184
  deviceClass: "occupancy"
5177
5185
  }
5178
- }), Pl;
5186
+ }), Fl;
5179
5187
  (function(e) {
5180
5188
  e.Detected = "detected";
5181
- })(Pl ||= {});
5182
- var Fl = Y({
5189
+ })(Fl ||= {});
5190
+ var Il = Y({
5183
5191
  type: K.Power,
5184
5192
  category: q.Sensor,
5185
5193
  assignmentKey: "power",
5186
5194
  multiProvider: !0,
5187
5195
  isDetectionType: !1,
5188
- properties: { [Pl.Detected]: {
5196
+ properties: { [Fl.Detected]: {
5189
5197
  type: "boolean",
5190
5198
  writable: !0
5191
5199
  } },
5192
5200
  shortcutable: !0,
5193
5201
  cascadeTrigger: {
5194
- property: Pl.Detected,
5202
+ property: Fl.Detected,
5195
5203
  value: !0,
5196
5204
  sustained: !0
5197
5205
  },
5198
- virtual: { properties: { [Pl.Detected]: !1 } },
5206
+ virtual: { properties: { [Fl.Detected]: !1 } },
5199
5207
  semantics: {
5200
5208
  domain: J.Binary,
5201
- stateProperty: Pl.Detected,
5202
- commandProperty: Pl.Detected,
5209
+ stateProperty: Fl.Detected,
5210
+ commandProperty: Fl.Detected,
5203
5211
  deviceClass: "power"
5204
5212
  }
5205
- }), Il;
5213
+ }), Ll;
5206
5214
  (function(e) {
5207
5215
  e.Detected = "detected";
5208
- })(Il ||= {});
5209
- var Ll = Y({
5216
+ })(Ll ||= {});
5217
+ var Rl = Y({
5210
5218
  type: K.Problem,
5211
5219
  category: q.Sensor,
5212
5220
  assignmentKey: "problem",
5213
5221
  multiProvider: !0,
5214
5222
  isDetectionType: !1,
5215
- properties: { [Il.Detected]: {
5223
+ properties: { [Ll.Detected]: {
5216
5224
  type: "boolean",
5217
5225
  writable: !0
5218
5226
  } },
5219
5227
  shortcutable: !0,
5220
5228
  cascadeTrigger: {
5221
- property: Il.Detected,
5229
+ property: Ll.Detected,
5222
5230
  value: !0,
5223
5231
  sustained: !0
5224
5232
  },
5225
- virtual: { properties: { [Il.Detected]: !1 } },
5233
+ virtual: { properties: { [Ll.Detected]: !1 } },
5226
5234
  semantics: {
5227
5235
  domain: J.Binary,
5228
- stateProperty: Il.Detected,
5229
- commandProperty: Il.Detected,
5236
+ stateProperty: Ll.Detected,
5237
+ commandProperty: Ll.Detected,
5230
5238
  deviceClass: "problem"
5231
5239
  }
5232
- }), Rl;
5240
+ }), zl;
5233
5241
  (function(e) {
5234
5242
  e.Pan = "pan", e.Tilt = "tilt", e.Zoom = "zoom", e.Presets = "presets", e.Home = "home", e.RelativeMove = "relativeMove", e.AbsolutePosition = "absolutePosition", e.VelocityControl = "velocityControl";
5235
- })(Rl ||= {});
5236
- var zl;
5243
+ })(zl ||= {});
5244
+ var Bl;
5237
5245
  (function(e) {
5238
5246
  e.Position = "position", e.Moving = "moving", e.Presets = "presets", e.Velocity = "velocity", e.TargetPreset = "targetPreset", e.RelativeMove = "relativeMove", e.Home = "home";
5239
- })(zl ||= {});
5240
- var Bl = Y({
5247
+ })(Bl ||= {});
5248
+ var Vl = Y({
5241
5249
  type: K.PTZ,
5242
5250
  category: q.Control,
5243
5251
  assignmentKey: "ptz",
@@ -5245,7 +5253,7 @@ var Bl = Y({
5245
5253
  isDetectionType: !1,
5246
5254
  cameraBound: !0,
5247
5255
  properties: {
5248
- [zl.Position]: {
5256
+ [Bl.Position]: {
5249
5257
  type: "object",
5250
5258
  writable: !0,
5251
5259
  keys: [
@@ -5254,23 +5262,23 @@ var Bl = Y({
5254
5262
  "zoom"
5255
5263
  ]
5256
5264
  },
5257
- [zl.Moving]: { type: "boolean" },
5258
- [zl.Presets]: { type: "object" },
5259
- [zl.Velocity]: {
5265
+ [Bl.Moving]: { type: "boolean" },
5266
+ [Bl.Presets]: { type: "object" },
5267
+ [Bl.Velocity]: {
5260
5268
  type: "object",
5261
5269
  writable: !0,
5262
5270
  internal: !0
5263
5271
  },
5264
- [zl.TargetPreset]: {
5272
+ [Bl.TargetPreset]: {
5265
5273
  type: "string",
5266
5274
  writable: !0
5267
5275
  },
5268
- [zl.RelativeMove]: {
5276
+ [Bl.RelativeMove]: {
5269
5277
  type: "object",
5270
5278
  writable: !0,
5271
5279
  internal: !0
5272
5280
  },
5273
- [zl.Home]: {
5281
+ [Bl.Home]: {
5274
5282
  type: "boolean",
5275
5283
  writable: !0,
5276
5284
  internal: !0
@@ -5281,18 +5289,18 @@ var Bl = Y({
5281
5289
  (function(e) {
5282
5290
  e[e.StayArm = 0] = "StayArm", e[e.AwayArm = 1] = "AwayArm", e[e.NightArm = 2] = "NightArm", e[e.Disarmed = 3] = "Disarmed", e[e.AlarmTriggered = 4] = "AlarmTriggered";
5283
5291
  })(Z ||= {});
5284
- var Vl;
5292
+ var Hl;
5285
5293
  (function(e) {
5286
5294
  e.CurrentState = "currentState", e.TargetState = "targetState";
5287
- })(Vl ||= {});
5288
- var Hl = Y({
5295
+ })(Hl ||= {});
5296
+ var Ul = Y({
5289
5297
  type: K.SecuritySystem,
5290
5298
  category: q.Control,
5291
5299
  assignmentKey: "securitySystem",
5292
5300
  multiProvider: !0,
5293
5301
  isDetectionType: !1,
5294
5302
  properties: {
5295
- [Vl.CurrentState]: {
5303
+ [Hl.CurrentState]: {
5296
5304
  type: "enum",
5297
5305
  values: {
5298
5306
  stay_arm: Z.StayArm,
@@ -5302,7 +5310,7 @@ var Hl = Y({
5302
5310
  alarm_triggered: Z.AlarmTriggered
5303
5311
  }
5304
5312
  },
5305
- [Vl.TargetState]: {
5313
+ [Hl.TargetState]: {
5306
5314
  type: "enum",
5307
5315
  values: {
5308
5316
  stay_arm: Z.StayArm,
@@ -5315,18 +5323,18 @@ var Hl = Y({
5315
5323
  },
5316
5324
  shortcutable: !0,
5317
5325
  cascadeTrigger: {
5318
- property: Vl.CurrentState,
5326
+ property: Hl.CurrentState,
5319
5327
  value: 4,
5320
5328
  sustained: !0
5321
5329
  },
5322
5330
  virtual: { properties: {
5323
- [Vl.CurrentState]: 3,
5324
- [Vl.TargetState]: 3
5331
+ [Hl.CurrentState]: 3,
5332
+ [Hl.TargetState]: 3
5325
5333
  } },
5326
5334
  semantics: {
5327
5335
  domain: J.Alarm,
5328
- stateProperty: Vl.CurrentState,
5329
- commandProperty: Vl.TargetState,
5336
+ stateProperty: Hl.CurrentState,
5337
+ commandProperty: Hl.TargetState,
5330
5338
  states: {
5331
5339
  armed_home: Z.StayArm,
5332
5340
  armed_away: Z.AwayArm,
@@ -5335,26 +5343,26 @@ var Hl = Y({
5335
5343
  triggered: Z.AlarmTriggered
5336
5344
  }
5337
5345
  }
5338
- }), Ul;
5346
+ }), Wl;
5339
5347
  (function(e) {
5340
5348
  e.Volume = "volume";
5341
- })(Ul ||= {});
5342
- var Wl;
5349
+ })(Wl ||= {});
5350
+ var Gl;
5343
5351
  (function(e) {
5344
5352
  e.Active = "active", e.Volume = "volume";
5345
- })(Wl ||= {});
5346
- var Gl = Y({
5353
+ })(Gl ||= {});
5354
+ var Kl = Y({
5347
5355
  type: K.Siren,
5348
5356
  category: q.Control,
5349
5357
  assignmentKey: "siren",
5350
5358
  multiProvider: !0,
5351
5359
  isDetectionType: !1,
5352
5360
  properties: {
5353
- [Wl.Active]: {
5361
+ [Gl.Active]: {
5354
5362
  type: "boolean",
5355
5363
  writable: !0
5356
5364
  },
5357
- [Wl.Volume]: {
5365
+ [Gl.Volume]: {
5358
5366
  type: "number",
5359
5367
  min: 0,
5360
5368
  max: 100,
@@ -5364,134 +5372,134 @@ var Gl = Y({
5364
5372
  },
5365
5373
  shortcutable: !0,
5366
5374
  cascadeTrigger: {
5367
- property: Wl.Active,
5375
+ property: Gl.Active,
5368
5376
  value: !0,
5369
5377
  sustained: !0
5370
5378
  },
5371
- propertyCapabilities: { [Wl.Volume]: Ul.Volume },
5379
+ propertyCapabilities: { [Gl.Volume]: Wl.Volume },
5372
5380
  virtual: {
5373
5381
  properties: {
5374
- [Wl.Active]: !1,
5375
- [Wl.Volume]: 100
5382
+ [Gl.Active]: !1,
5383
+ [Gl.Volume]: 100
5376
5384
  },
5377
- capabilities: [Ul.Volume]
5385
+ capabilities: [Wl.Volume]
5378
5386
  },
5379
5387
  semantics: {
5380
5388
  domain: J.Siren,
5381
- stateProperty: Wl.Active,
5382
- commandProperty: Wl.Active
5389
+ stateProperty: Gl.Active,
5390
+ commandProperty: Gl.Active
5383
5391
  }
5384
- }), Kl;
5392
+ }), ql;
5385
5393
  (function(e) {
5386
5394
  e.Detected = "detected";
5387
- })(Kl ||= {});
5388
- var ql = Y({
5395
+ })(ql ||= {});
5396
+ var Jl = Y({
5389
5397
  type: K.Smoke,
5390
5398
  category: q.Sensor,
5391
5399
  assignmentKey: "smoke",
5392
5400
  multiProvider: !0,
5393
5401
  isDetectionType: !1,
5394
- properties: { [Kl.Detected]: {
5402
+ properties: { [ql.Detected]: {
5395
5403
  type: "boolean",
5396
5404
  writable: !0
5397
5405
  } },
5398
5406
  shortcutable: !0,
5399
5407
  cascadeTrigger: {
5400
- property: Kl.Detected,
5408
+ property: ql.Detected,
5401
5409
  value: !0,
5402
5410
  sustained: !0
5403
5411
  },
5404
- virtual: { properties: { [Kl.Detected]: !1 } },
5412
+ virtual: { properties: { [ql.Detected]: !1 } },
5405
5413
  semantics: {
5406
5414
  domain: J.Binary,
5407
- stateProperty: Kl.Detected,
5408
- commandProperty: Kl.Detected,
5415
+ stateProperty: ql.Detected,
5416
+ commandProperty: ql.Detected,
5409
5417
  deviceClass: "smoke"
5410
5418
  }
5411
- }), Jl;
5419
+ }), Yl;
5412
5420
  (function(e) {
5413
5421
  e.On = "on";
5414
- })(Jl ||= {});
5415
- var Yl = Y({
5422
+ })(Yl ||= {});
5423
+ var Xl = Y({
5416
5424
  type: K.Switch,
5417
5425
  category: q.Control,
5418
5426
  assignmentKey: "switch",
5419
5427
  multiProvider: !0,
5420
5428
  isDetectionType: !1,
5421
- properties: { [Jl.On]: {
5429
+ properties: { [Yl.On]: {
5422
5430
  type: "boolean",
5423
5431
  writable: !0
5424
5432
  } },
5425
5433
  shortcutable: !0,
5426
5434
  cascadeTrigger: {
5427
- property: Jl.On,
5435
+ property: Yl.On,
5428
5436
  value: !0,
5429
5437
  sustained: !0
5430
5438
  },
5431
- virtual: { properties: { [Jl.On]: !1 } },
5439
+ virtual: { properties: { [Yl.On]: !1 } },
5432
5440
  semantics: {
5433
5441
  domain: J.Switch,
5434
- stateProperty: Jl.On,
5435
- commandProperty: Jl.On
5442
+ stateProperty: Yl.On,
5443
+ commandProperty: Yl.On
5436
5444
  }
5437
- }), Xl;
5445
+ }), Zl;
5438
5446
  (function(e) {
5439
5447
  e.Detected = "detected";
5440
- })(Xl ||= {});
5441
- var Zl = Y({
5448
+ })(Zl ||= {});
5449
+ var Ql = Y({
5442
5450
  type: K.Tamper,
5443
5451
  category: q.Sensor,
5444
5452
  assignmentKey: "tamper",
5445
5453
  multiProvider: !0,
5446
5454
  isDetectionType: !1,
5447
- properties: { [Xl.Detected]: {
5455
+ properties: { [Zl.Detected]: {
5448
5456
  type: "boolean",
5449
5457
  writable: !0
5450
5458
  } },
5451
5459
  shortcutable: !0,
5452
5460
  cascadeTrigger: {
5453
- property: Xl.Detected,
5461
+ property: Zl.Detected,
5454
5462
  value: !0,
5455
5463
  sustained: !0
5456
5464
  },
5457
- virtual: { properties: { [Xl.Detected]: !1 } },
5465
+ virtual: { properties: { [Zl.Detected]: !1 } },
5458
5466
  semantics: {
5459
5467
  domain: J.Binary,
5460
- stateProperty: Xl.Detected,
5461
- commandProperty: Xl.Detected,
5468
+ stateProperty: Zl.Detected,
5469
+ commandProperty: Zl.Detected,
5462
5470
  deviceClass: "tamper"
5463
5471
  }
5464
- }), Ql;
5472
+ }), $l;
5465
5473
  (function(e) {
5466
5474
  e.Current = "current";
5467
- })(Ql ||= {});
5468
- var $l = Y({
5475
+ })($l ||= {});
5476
+ var eu = Y({
5469
5477
  type: K.Temperature,
5470
5478
  category: q.Info,
5471
5479
  assignmentKey: "temperature",
5472
5480
  multiProvider: !0,
5473
5481
  isDetectionType: !1,
5474
- properties: { [Ql.Current]: {
5482
+ properties: { [$l.Current]: {
5475
5483
  type: "number",
5476
5484
  unit: "°C",
5477
5485
  writable: !0
5478
5486
  } },
5479
5487
  shortcutable: !0,
5480
- virtual: { properties: { [Ql.Current]: 20 } },
5488
+ virtual: { properties: { [$l.Current]: 20 } },
5481
5489
  semantics: {
5482
5490
  domain: J.Measurement,
5483
- stateProperty: Ql.Current,
5484
- commandProperty: Ql.Current,
5491
+ stateProperty: $l.Current,
5492
+ commandProperty: $l.Current,
5485
5493
  deviceClass: "temperature",
5486
5494
  unit: "°C"
5487
5495
  }
5488
- }), eu;
5496
+ }), tu;
5489
5497
  (function(e) {
5490
5498
  e.Detected = "detected";
5491
- })(eu ||= {});
5499
+ })(tu ||= {});
5492
5500
  //#endregion
5493
5501
  //#region ../server/node_modules/@camera.ui/sdk/dist/sensor/registry.js
5494
- var tu = [
5502
+ var nu = [
5495
5503
  Vc,
5496
5504
  Gc,
5497
5505
  qc,
@@ -5502,49 +5510,50 @@ var tu = [
5502
5510
  nl,
5503
5511
  il,
5504
5512
  ol,
5505
- cl,
5506
- ul,
5507
- fl,
5508
- ml,
5509
- gl,
5510
- vl,
5511
- bl,
5512
- Cl,
5513
- El,
5514
- Ol,
5515
- Al,
5513
+ sl,
5514
+ ll,
5515
+ dl,
5516
+ pl,
5517
+ hl,
5518
+ _l,
5519
+ yl,
5520
+ xl,
5521
+ wl,
5522
+ Dl,
5523
+ kl,
5516
5524
  jl,
5517
- Nl,
5518
- Fl,
5519
- Ll,
5520
- Bl,
5521
- Hl,
5522
- Gl,
5523
- ql,
5524
- Yl,
5525
- Zl,
5526
- $l,
5525
+ Ml,
5526
+ Pl,
5527
+ Il,
5528
+ Rl,
5529
+ Vl,
5530
+ Ul,
5531
+ Kl,
5532
+ Jl,
5533
+ Xl,
5534
+ Ql,
5535
+ eu,
5527
5536
  Y({
5528
5537
  type: K.Vibration,
5529
5538
  category: q.Sensor,
5530
5539
  assignmentKey: "vibration",
5531
5540
  multiProvider: !0,
5532
5541
  isDetectionType: !1,
5533
- properties: { [eu.Detected]: {
5542
+ properties: { [tu.Detected]: {
5534
5543
  type: "boolean",
5535
5544
  writable: !0
5536
5545
  } },
5537
5546
  shortcutable: !0,
5538
5547
  cascadeTrigger: {
5539
- property: eu.Detected,
5548
+ property: tu.Detected,
5540
5549
  value: !0,
5541
5550
  sustained: !0
5542
5551
  },
5543
- virtual: { properties: { [eu.Detected]: !1 } },
5552
+ virtual: { properties: { [tu.Detected]: !1 } },
5544
5553
  semantics: {
5545
5554
  domain: J.Binary,
5546
- stateProperty: eu.Detected,
5547
- commandProperty: eu.Detected,
5555
+ stateProperty: tu.Detected,
5556
+ commandProperty: tu.Detected,
5548
5557
  deviceClass: "vibration"
5549
5558
  }
5550
5559
  })
@@ -5558,7 +5567,7 @@ function Q() {
5558
5567
  let t = Array.from(e, (e) => e.toString(16).padStart(2, "0")).join("");
5559
5568
  return `${t.slice(0, 8)}-${t.slice(8, 12)}-${t.slice(12, 16)}-${t.slice(16, 20)}-${t.slice(20)}`;
5560
5569
  }
5561
- function nu(e, t, n = !1) {
5570
+ function ru(e, t, n = !1) {
5562
5571
  if (e === t) return !0;
5563
5572
  if ((e === void 0 || t === void 0 || e === null || t === null) && (e || t)) return !1;
5564
5573
  let r = e?.constructor.name, i = t?.constructor.name;
@@ -5568,13 +5577,13 @@ function nu(e, t, n = !1) {
5568
5577
  if (n) {
5569
5578
  let r = [...t];
5570
5579
  return e.every((e) => {
5571
- let t = r.findIndex((t) => nu(e, t, n));
5580
+ let t = r.findIndex((t) => ru(e, t, n));
5572
5581
  return t !== -1 && (r.splice(t, 1), !0);
5573
5582
  });
5574
5583
  }
5575
5584
  {
5576
5585
  let r = !0;
5577
- for (let i = 0; i < e.length; i++) if (!nu(e[i], t[i], n)) {
5586
+ for (let i = 0; i < e.length; i++) if (!ru(e[i], t[i], n)) {
5578
5587
  r = !1;
5579
5588
  break;
5580
5589
  }
@@ -5587,7 +5596,7 @@ function nu(e, t, n = !1) {
5587
5596
  for (let a = 0; a < i.length; a++) if (e[i[a]] && t[i[a]]) {
5588
5597
  if (e[i[a]] === t[i[a]]) continue;
5589
5598
  if (e[i[a]] && (e[i[a]].constructor.name === "Array" || e[i[a]].constructor.name === "Object")) {
5590
- if (r = nu(e[i[a]], t[i[a]], n), !r) break;
5599
+ if (r = ru(e[i[a]], t[i[a]], n), !r) break;
5591
5600
  } else if (e[i[a]] !== t[i[a]]) {
5592
5601
  r = !1;
5593
5602
  break;
@@ -5602,21 +5611,21 @@ function nu(e, t, n = !1) {
5602
5611
  }
5603
5612
  //#endregion
5604
5613
  //#region ../server/src/api/utils/upload.ts
5605
- function ru(e) {
5606
- return e.mimetype !== void 0;
5607
- }
5608
5614
  function iu(e) {
5609
- return ru(e) ? Buffer.byteLength(e._buf) : e.size;
5615
+ return e.mimetype !== void 0;
5610
5616
  }
5611
5617
  function au(e) {
5612
- return ru(e) ? e.mimetype : e.type;
5618
+ return iu(e) ? Buffer.byteLength(e._buf) : e.size;
5613
5619
  }
5614
- function ou(e, t, n, r) {
5615
- return Oc().refine((t) => iu(t) <= e, n).refine((e) => t.includes(au(e)), r);
5620
+ function ou(e) {
5621
+ return iu(e) ? e.mimetype : e.type;
5622
+ }
5623
+ function su(e, t, n, r) {
5624
+ return Oc().refine((t) => au(t) <= e, n).refine((e) => t.includes(ou(e)), r);
5616
5625
  }
5617
5626
  //#endregion
5618
5627
  //#region ../server/src/camera/zones.ts
5619
- function su(e) {
5628
+ function cu(e) {
5620
5629
  return {
5621
5630
  privacyFallback: e?.privacyFallback ?? "send",
5622
5631
  motion: e?.motion ?? [],
@@ -5628,7 +5637,7 @@ function su(e) {
5628
5637
  }
5629
5638
  //#endregion
5630
5639
  //#region ../server/src/api/schemas/cameras.schema.ts
5631
- function cu(e) {
5640
+ function lu(e) {
5632
5641
  let t = [
5633
5642
  "kasa://",
5634
5643
  "nest:",
@@ -5637,7 +5646,7 @@ function cu(e) {
5637
5646
  ];
5638
5647
  return e.some((e) => t.some((t) => e.startsWith(t)));
5639
5648
  }
5640
- var lu = H({
5649
+ var uu = H({
5641
5650
  enabled: B().default(!0),
5642
5651
  mode: W([
5643
5652
  "continuous",
@@ -5654,7 +5663,7 @@ var lu = H({
5654
5663
  "mid",
5655
5664
  "low"
5656
5665
  ])
5657
- }).strict(), uu = {
5666
+ }).strict(), du = {
5658
5667
  enabled: !0,
5659
5668
  mode: "continuous",
5660
5669
  preBuffer: 10,
@@ -5663,7 +5672,7 @@ var lu = H({
5663
5672
  "mid",
5664
5673
  "low"
5665
5674
  ]
5666
- }, du = H({
5675
+ }, fu = H({
5667
5676
  enabled: B().default(!0),
5668
5677
  video: B().default(!1),
5669
5678
  audio: L().trim().min(1).array().default([]),
@@ -5674,7 +5683,7 @@ var lu = H({
5674
5683
  "balanced",
5675
5684
  "best"
5676
5685
  ]).default("balanced")
5677
- }).strict(), fu = {
5686
+ }).strict(), pu = {
5678
5687
  enabled: !0,
5679
5688
  video: !1,
5680
5689
  audio: [
@@ -5702,24 +5711,24 @@ var lu = H({
5702
5711
  ],
5703
5712
  cooldown: 30,
5704
5713
  speed: "balanced"
5705
- }, pu = L().trim().min(1, "Detection label is required"), mu = L().trim().min(1, "Zone label is required"), hu = nc([z(), z()]), gu = L().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/, "Must be a valid hex color (e.g. #FF0000 or #F00)").default("#df2a4c"), _u = H({
5714
+ }, mu = L().trim().min(1, "Detection label is required"), hu = L().trim().min(1, "Zone label is required"), gu = nc([z(), z()]), _u = L().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/, "Must be a valid hex color (e.g. #FF0000 or #F00)").default("#df2a4c"), vu = H({
5706
5715
  name: L().trim().min(1, "Zone Name is required"),
5707
- points: hu.array().min(3, "At least 3 points are required"),
5708
- color: gu
5709
- }).array(), vu = H({
5716
+ points: gu.array().min(3, "At least 3 points are required"),
5717
+ color: _u
5718
+ }).array(), yu = H({
5710
5719
  name: L().trim().min(1, "Zone Name is required"),
5711
- points: hu.array().min(3, "At least 3 points are required"),
5720
+ points: gu.array().min(3, "At least 3 points are required"),
5712
5721
  type: U([G("intersect"), G("contain")]).default("intersect"),
5713
- labels: mu.array(),
5714
- color: gu
5715
- }).array(), yu = H({
5722
+ labels: hu.array(),
5723
+ color: _u
5724
+ }).array(), bu = H({
5716
5725
  name: L().trim().min(1, "Zone Name is required"),
5717
- points: hu.array().min(3, "At least 3 points are required"),
5726
+ points: gu.array().min(3, "At least 3 points are required"),
5718
5727
  dropDetections: B().default(!0)
5719
- }).array(), bu = H({
5728
+ }).array(), xu = H({
5720
5729
  name: L().trim().min(1, "Zone Name is required"),
5721
- points: hu.array().min(3, "At least 3 points are required"),
5722
- labels: pu.array(),
5730
+ points: gu.array().min(3, "At least 3 points are required"),
5731
+ labels: mu.array(),
5723
5732
  faces: L().trim().min(1).array().optional(),
5724
5733
  plates: L().trim().min(1).array().optional(),
5725
5734
  match: U([
@@ -5728,24 +5737,24 @@ var lu = H({
5728
5737
  G("contain")
5729
5738
  ]).default("contain"),
5730
5739
  color: L().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/, "Must be a valid hex color (e.g. #FF0000 or #F00)").default("#df2a4c")
5731
- }).array(), xu = H({
5740
+ }).array(), Su = H({
5732
5741
  name: L().trim().min(1, "Line Name is required"),
5733
- points: nc([hu, hu]),
5742
+ points: nc([gu, gu]),
5734
5743
  direction: U([
5735
5744
  G("both"),
5736
5745
  G("a-to-b"),
5737
5746
  G("b-to-a")
5738
5747
  ]),
5739
- labels: pu.array(),
5748
+ labels: mu.array(),
5740
5749
  color: L().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/, "Must be a valid hex color (e.g. #FF0000 or #F00)").default("#df2a4c")
5741
- }).array(), Su = H({
5750
+ }).array(), Cu = H({
5742
5751
  privacyFallback: U([G("send"), G("drop")]).default("send"),
5743
- motion: _u.default([]),
5744
- object: vu.default([]),
5745
- privacy: yu.default([]),
5746
- alert: bu.default([]),
5747
- lines: xu.default([])
5748
- }).strict(), Cu = H({
5752
+ motion: vu.default([]),
5753
+ object: yu.default([]),
5754
+ privacy: bu.default([]),
5755
+ alert: xu.default([]),
5756
+ lines: Su.default([])
5757
+ }).strict(), wu = H({
5749
5758
  motion: H({
5750
5759
  resolution: U([
5751
5760
  G("low"),
@@ -5774,10 +5783,14 @@ var lu = H({
5774
5783
  }),
5775
5784
  face: H({
5776
5785
  confidence: z().min(0, "Minimum 0").max(1, "Maximum 1").default(.5),
5777
- matchThreshold: z().min(.3, "Minimum 0.3").max(.95, "Maximum 0.95").default(.55)
5786
+ matchSensitivity: W([
5787
+ "strict",
5788
+ "balanced",
5789
+ "relaxed"
5790
+ ]).default("balanced")
5778
5791
  }).default({
5779
5792
  confidence: .5,
5780
- matchThreshold: .55
5793
+ matchSensitivity: "balanced"
5781
5794
  }),
5782
5795
  licensePlate: H({
5783
5796
  confidence: z().min(0, "Minimum 0").max(1, "Maximum 1").default(.3),
@@ -5795,11 +5808,11 @@ var lu = H({
5795
5808
  cascadeDetection: B().default(!0),
5796
5809
  cascadeTimeout: z().min(1, "Minimum 1 second").max(300, "Maximum 300 seconds").default(10),
5797
5810
  snooze: B().default(!1)
5798
- }), wu = H({
5811
+ }), Tu = H({
5799
5812
  from: L().regex(/^\d{1,2}:\d{2}$/, "Use HH:mm"),
5800
5813
  to: L().regex(/^\d{1,2}:\d{2}$/, "Use HH:mm"),
5801
5814
  timezone: L().trim().min(1, "Timezone is required")
5802
- }), Tu = {
5815
+ }), Eu = {
5803
5816
  enabled: !1,
5804
5817
  targetLabels: ["person"],
5805
5818
  minConfidence: .5,
@@ -5811,7 +5824,7 @@ var lu = H({
5811
5824
  homeWaitMs: 1e4,
5812
5825
  minTargetSize: 0,
5813
5826
  maxTargetSize: 0
5814
- }, Eu = H({
5827
+ }, Du = H({
5815
5828
  enabled: B().default(!1),
5816
5829
  targetLabels: L().trim().min(1, "Target label is required").array().default(["person"]),
5817
5830
  minConfidence: z().min(.3, "Minimum 0.3").max(1, "Maximum 1").default(.5),
@@ -5823,17 +5836,17 @@ var lu = H({
5823
5836
  homeWaitMs: z().min(1e3, "Minimum 1000 ms").max(6e4, "Maximum 60000 ms").default(1e4),
5824
5837
  minTargetSize: z().min(0, "Minimum 0").max(.5, "Maximum 0.5").default(0),
5825
5838
  maxTargetSize: z().min(0, "Minimum 0").max(1, "Maximum 1").default(0),
5826
- activeHours: wu.optional()
5827
- }), Du = U([
5839
+ activeHours: Tu.optional()
5840
+ }), Ou = U([
5828
5841
  G("high-resolution"),
5829
5842
  G("mid-resolution"),
5830
5843
  G("low-resolution"),
5831
5844
  G("snapshot")
5832
- ]), Ou = U([
5845
+ ]), ku = U([
5833
5846
  G("high-resolution"),
5834
5847
  G("mid-resolution"),
5835
5848
  G("low-resolution")
5836
- ]), ku = U([
5849
+ ]), Au = U([
5837
5850
  G("bubble://"),
5838
5851
  G("cui://"),
5839
5852
  G("doorbird://"),
@@ -5865,15 +5878,15 @@ var lu = H({
5865
5878
  G("webrtc:"),
5866
5879
  G("webtorrent:"),
5867
5880
  G("wyze://")
5868
- ]).options.map((e) => e.value), Au = RegExp(`^(${ku.join("|")})`), ju = L().refine((e) => {
5869
- if (!Au.test(e)) return !1;
5881
+ ]).options.map((e) => e.value), ju = RegExp(`^(${Au.join("|")})`), Mu = L().refine((e) => {
5882
+ if (!ju.test(e)) return !1;
5870
5883
  try {
5871
5884
  return new URL(e), !0;
5872
5885
  } catch {
5873
5886
  return !1;
5874
5887
  }
5875
5888
  }, { message: "Invalid URL format or unsupported protocol" });
5876
- function Mu(e, t) {
5889
+ function Nu(e, t) {
5877
5890
  let n = /* @__PURE__ */ new Set();
5878
5891
  e.forEach((e, r) => {
5879
5892
  let i = e.name.replace(/ /g, "_").toLowerCase();
@@ -5884,10 +5897,10 @@ function Mu(e, t) {
5884
5897
  }), n.add(i);
5885
5898
  });
5886
5899
  }
5887
- var Nu = H({
5900
+ var Pu = H({
5888
5901
  _id: L().default(Q()).transform(() => Q()),
5889
5902
  name: L().trim().min(1, "Camera Source Name is required").transform((e) => e.replace(/ /g, "_").toLowerCase()),
5890
- role: Du,
5903
+ role: Ou,
5891
5904
  useForSnapshot: B().default(!1),
5892
5905
  hotMode: B().default(!0),
5893
5906
  preload: B().default(!0),
@@ -5895,17 +5908,17 @@ var Nu = H({
5895
5908
  backchannelDisabled: B().default(!1),
5896
5909
  timeout: z().int().min(5).max(120).optional(),
5897
5910
  handshakeTimeout: z().int().min(1).max(60).optional(),
5898
- urls: ju.array().min(1, "At least one valid URL is required"),
5911
+ urls: Mu.array().min(1, "At least one valid URL is required"),
5899
5912
  childSourceId: L().trim().min(1, "Child Source ID is required").nullish().transform((e) => e ?? void 0).optional()
5900
5913
  }).strict().transform((e) => e.role === "snapshot" ? {
5901
5914
  ...e,
5902
5915
  useForSnapshot: !1,
5903
5916
  hotMode: !1,
5904
5917
  preload: !1
5905
- } : e), Pu = H({
5918
+ } : e), Fu = H({
5906
5919
  _id: L().default(Q()).transform(() => Q()),
5907
5920
  name: L().trim().min(1, "Camera Source Name is required").transform((e) => e.replace(/ /g, "_").toLowerCase()),
5908
- role: Du,
5921
+ role: Ou,
5909
5922
  useForSnapshot: B().default(!1),
5910
5923
  hotMode: B().default(!0),
5911
5924
  preload: B().default(!0),
@@ -5913,7 +5926,7 @@ var Nu = H({
5913
5926
  backchannelDisabled: B().default(!1),
5914
5927
  timeout: z().int().min(5).max(120).optional(),
5915
5928
  handshakeTimeout: z().int().min(1).max(60).optional(),
5916
- urls: ju.array().min(1, "At least one valid URL is required"),
5929
+ urls: Mu.array().min(1, "At least one valid URL is required"),
5917
5930
  childSourceId: L().trim().min(1, "Child Source ID is required").nullish().transform((e) => e ?? void 0).optional()
5918
5931
  }).strict().transform((e) => e.role === "snapshot" ? {
5919
5932
  ...e,
@@ -5923,7 +5936,7 @@ var Nu = H({
5923
5936
  } : e), $ = H({
5924
5937
  id: L(),
5925
5938
  name: L().trim()
5926
- }), Fu = H({
5939
+ }), Iu = H({
5927
5940
  motion: $.optional(),
5928
5941
  object: $.optional(),
5929
5942
  objectAssist: $.optional(),
@@ -5934,6 +5947,7 @@ var Nu = H({
5934
5947
  battery: $.optional(),
5935
5948
  cameraController: $.optional(),
5936
5949
  clip: $.optional(),
5950
+ faceEmbedder: $.optional(),
5937
5951
  classifier: $.array().optional(),
5938
5952
  light: $.array().optional(),
5939
5953
  siren: $.array().optional(),
@@ -5959,15 +5973,15 @@ var Nu = H({
5959
5973
  power: $.array().optional(),
5960
5974
  illuminance: $.array().optional(),
5961
5975
  hub: $.array().optional()
5962
- }).strict(), Iu = U([
5976
+ }).strict(), Lu = U([
5963
5977
  G("auto"),
5964
5978
  G("mse"),
5965
5979
  G("webrtc"),
5966
5980
  G("webrtc/tcp")
5967
- ]), Lu = L().regex(/^\d+(?:\.\d+)?:\d+(?:\.\d+)?$/, "Use a width:height ratio, e.g. 16:9").refine((e) => {
5981
+ ]), Ru = L().regex(/^\d+(?:\.\d+)?:\d+(?:\.\d+)?$/, "Use a width:height ratio, e.g. 16:9").refine((e) => {
5968
5982
  let [t, n] = e.split(":").map(Number);
5969
5983
  return Number.isFinite(t) && Number.isFinite(n) && t > 0 && n > 0;
5970
- }, "Both sides must be greater than 0").transform((e) => e), Ru = H({
5984
+ }, "Both sides must be greater than 0").transform((e) => e), zu = H({
5971
5985
  hardware: W([
5972
5986
  "auto",
5973
5987
  "cpu",
@@ -5984,36 +5998,36 @@ var Nu = H({
5984
5998
  "rkmpp"
5985
5999
  ]).default("auto"),
5986
6000
  device: L().trim().max(128).optional()
5987
- }).strict(), zu = H({
6001
+ }).strict(), Bu = H({
5988
6002
  mainStreamAnalysis: B().default(!1),
5989
- decoder: Ru.optional(),
5990
- workerDecoder: Ru.nullable().transform((e) => e ?? void 0).optional()
5991
- }), Bu = U([G("camera"), G("doorbell")]), Vu = U([
6003
+ decoder: zu.optional(),
6004
+ workerDecoder: zu.nullable().transform((e) => e ?? void 0).optional()
6005
+ }), Vu = U([G("camera"), G("doorbell")]), Hu = U([
5992
6006
  G("auto"),
5993
6007
  G("high"),
5994
6008
  G("mid"),
5995
6009
  G("low")
5996
- ]), Hu = U([
6010
+ ]), Uu = U([
5997
6011
  G("always-on"),
5998
6012
  G("activity"),
5999
6013
  G("standby")
6000
- ]), Uu = H({
6001
- streamingMode: Iu,
6002
- streamingSource: Ou,
6003
- playbackSource: Vu.default("auto"),
6004
- activityMode: Hu.default("always-on"),
6005
- aspectRatio: Lu
6006
- }), Wu = H({
6014
+ ]), Wu = H({
6015
+ streamingMode: Lu,
6016
+ streamingSource: ku,
6017
+ playbackSource: Hu.default("auto"),
6018
+ activityMode: Uu.default("always-on"),
6019
+ aspectRatio: Ru
6020
+ }), Gu = H({
6007
6021
  model: L().trim().optional(),
6008
6022
  manufacturer: L().trim().optional(),
6009
6023
  hardware: L().trim().optional(),
6010
6024
  serialNumber: L().trim().optional(),
6011
6025
  firmwareVersion: L().trim().optional(),
6012
6026
  supportUrl: L().trim().optional()
6013
- }), Gu = H({
6027
+ }), Ku = H({
6014
6028
  id: L(),
6015
6029
  name: L().trim()
6016
- }).strict(), Ku = H({
6030
+ }).strict(), qu = H({
6017
6031
  mode: W([
6018
6032
  "interval",
6019
6033
  "onView",
@@ -6021,22 +6035,22 @@ var Nu = H({
6021
6035
  ]).default("interval"),
6022
6036
  interval: z().min(10, "Minimum 10 seconds").max(3600, "Maximum 1 hour").default(60),
6023
6037
  maxAge: z().min(10, "Minimum 10 seconds").max(3600, "Maximum 1 hour").default(60)
6024
- }).strict(), qu = H({
6038
+ }).strict(), Ju = H({
6025
6039
  _id: L().default(Q()).transform(() => Q()),
6026
6040
  nativeId: L().trim().optional(),
6027
- pluginInfo: Gu.optional(),
6041
+ pluginInfo: Ku.optional(),
6028
6042
  disabled: B().default(!1),
6029
6043
  name: L().trim().min(1, "Camera name is required"),
6030
6044
  room: L().trim().min(1, "Room is required").default("Default"),
6031
6045
  roomId: L().trim().min(1).nullable().default(null),
6032
- type: Bu.default("camera"),
6046
+ type: Vu.default("camera"),
6033
6047
  isCloud: B().default(!1),
6034
- snapshotSettings: Ku.default({
6048
+ snapshotSettings: qu.default({
6035
6049
  mode: "interval",
6036
6050
  interval: 60,
6037
6051
  maxAge: 60
6038
6052
  }),
6039
- info: Wu.default({
6053
+ info: Gu.default({
6040
6054
  model: "IP Camera",
6041
6055
  manufacturer: "camera.ui",
6042
6056
  hardware: "Camera",
@@ -6044,7 +6058,7 @@ var Nu = H({
6044
6058
  firmwareVersion: "Unknown",
6045
6059
  supportUrl: "Unknown"
6046
6060
  }),
6047
- sources: Nu.array().refine((e) => e.some((e) => e.role === "high-resolution" || e.role === "mid-resolution" || e.role === "low-resolution"), {
6061
+ sources: Pu.array().refine((e) => e.some((e) => e.role === "high-resolution" || e.role === "mid-resolution" || e.role === "low-resolution"), {
6048
6062
  path: ["sources[].role"],
6049
6063
  message: "One of the roles \"high-resolution\", \"mid-resolution\" or \"low-resolution\" is required"
6050
6064
  }).refine((e) => e.filter((e) => e.useForSnapshot).length <= 1, {
@@ -6056,18 +6070,18 @@ var Nu = H({
6056
6070
  }, {
6057
6071
  message: "Each source role can be assigned to only one source",
6058
6072
  path: ["sources"]
6059
- }).superRefine(Mu),
6073
+ }).superRefine(Nu),
6060
6074
  plugins: $.array().default([]),
6061
- assignments: Fu.default({}),
6062
- interfaceSettings: Uu.default({
6075
+ assignments: Iu.default({}),
6076
+ interfaceSettings: Wu.default({
6063
6077
  streamingMode: "auto",
6064
6078
  streamingSource: "high-resolution",
6065
6079
  playbackSource: "auto",
6066
6080
  activityMode: "always-on",
6067
6081
  aspectRatio: "16:9"
6068
6082
  }),
6069
- zones: Su.default(su()),
6070
- detectionSettings: Cu.default({
6083
+ zones: Cu.default(cu()),
6084
+ detectionSettings: wu.default({
6071
6085
  motion: {
6072
6086
  resolution: "low",
6073
6087
  timeout: 30
@@ -6088,7 +6102,7 @@ var Nu = H({
6088
6102
  },
6089
6103
  face: {
6090
6104
  confidence: .5,
6091
- matchThreshold: .55
6105
+ matchSensitivity: "balanced"
6092
6106
  },
6093
6107
  licensePlate: {
6094
6108
  confidence: .3,
@@ -6103,13 +6117,13 @@ var Nu = H({
6103
6117
  cascadeTimeout: 10,
6104
6118
  snooze: !1
6105
6119
  }),
6106
- ptzAutotrack: Eu.default(Tu),
6107
- recordingSettings: lu.default(uu),
6108
- notificationSettings: du.default(fu),
6109
- frameWorkerSettings: zu.default({ mainStreamAnalysis: !1 })
6120
+ ptzAutotrack: Du.default(Eu),
6121
+ recordingSettings: uu.default(du),
6122
+ notificationSettings: fu.default(pu),
6123
+ frameWorkerSettings: Bu.default({ mainStreamAnalysis: !1 })
6110
6124
  }).strict();
6111
- function Ju() {
6112
- let { _id: e, name: t, sources: n, nativeId: r, pluginInfo: i, ...a } = qu.parse({
6125
+ function Yu() {
6126
+ let { _id: e, name: t, sources: n, nativeId: r, pluginInfo: i, ...a } = Ju.parse({
6113
6127
  name: "default",
6114
6128
  sources: [{
6115
6129
  name: "default",
@@ -6119,22 +6133,22 @@ function Ju() {
6119
6133
  });
6120
6134
  return a;
6121
6135
  }
6122
- qu.transform((e) => {
6136
+ Ju.transform((e) => {
6123
6137
  let t = e.sources.flatMap((e) => e.urls);
6124
- return e.isCloud || cu(t) ? {
6138
+ return e.isCloud || lu(t) ? {
6125
6139
  ...e,
6126
6140
  isCloud: !0
6127
6141
  } : { ...e };
6128
6142
  }), H({
6129
6143
  disabled: B().optional(),
6130
- type: Bu.optional(),
6144
+ type: Vu.optional(),
6131
6145
  name: L().trim().min(1, "Camera name is required").optional(),
6132
6146
  room: L().trim().min(1, "Room is required").optional(),
6133
6147
  roomId: L().trim().min(1).nullable().optional(),
6134
6148
  isCloud: B().optional(),
6135
- snapshotSettings: Ku.partial().optional(),
6136
- info: Wu.partial().optional(),
6137
- sources: Pu.array().refine((e) => e.some((e) => e.role === "high-resolution" || e.role === "mid-resolution" || e.role === "low-resolution"), {
6149
+ snapshotSettings: qu.partial().optional(),
6150
+ info: Gu.partial().optional(),
6151
+ sources: Fu.array().refine((e) => e.some((e) => e.role === "high-resolution" || e.role === "mid-resolution" || e.role === "low-resolution"), {
6138
6152
  path: ["sources[].role"],
6139
6153
  message: "One of the roles \"high-resolution\", \"mid-resolution\" or \"low-resolution\" is required"
6140
6154
  }).refine((e) => e.filter((e) => e.useForSnapshot).length <= 1, {
@@ -6146,20 +6160,20 @@ qu.transform((e) => {
6146
6160
  }, {
6147
6161
  message: "Each source role can be assigned to only one source",
6148
6162
  path: ["sources"]
6149
- }).superRefine(Mu).optional(),
6163
+ }).superRefine(Nu).optional(),
6150
6164
  plugins: $.array().optional(),
6151
- assignments: Fu.partial().optional(),
6152
- interfaceSettings: Uu.partial().optional(),
6153
- zones: Su.optional(),
6154
- detectionSettings: Cu.partial().optional(),
6155
- ptzAutotrack: Eu.partial().optional(),
6156
- recordingSettings: lu.partial().optional(),
6157
- notificationSettings: du.partial().optional(),
6158
- frameWorkerSettings: zu.partial().optional()
6165
+ assignments: Iu.partial().optional(),
6166
+ interfaceSettings: Wu.partial().optional(),
6167
+ zones: Cu.optional(),
6168
+ detectionSettings: wu.partial().optional(),
6169
+ ptzAutotrack: Du.partial().optional(),
6170
+ recordingSettings: uu.partial().optional(),
6171
+ notificationSettings: fu.partial().optional(),
6172
+ frameWorkerSettings: Bu.partial().optional()
6159
6173
  }).strict().transform((e) => {
6160
6174
  if (e.sources) {
6161
6175
  let t = e.sources.flatMap((e) => e.urls);
6162
- if (e.isCloud === !0 || cu(t)) return {
6176
+ if (e.isCloud === !0 || lu(t)) return {
6163
6177
  ...e,
6164
6178
  isCloud: !0
6165
6179
  };
@@ -6202,18 +6216,18 @@ qu.transform((e) => {
6202
6216
  }), H({ cameranames: V(L().min(1)).min(1).max(1e3) });
6203
6217
  //#endregion
6204
6218
  //#region ../server/src/api/schemas/users.schema.ts
6205
- var Yu = /* @__PURE__ */ "ar.bg.bn.ca.cs.da.de.el.en.es.et.fa.fi.fr.he.hi.hr.hu.id.it.ja.ko.lt.lv.ms.nb.nl.pl.pt.ro.ru.sk.sl.sr.sv.th.tr.uk.ur.vi.zh".split("."), Xu = ["de", "en"], Zu = [
6219
+ var Xu = /* @__PURE__ */ "ar.bg.bn.ca.cs.da.de.el.en.es.et.fa.fi.fr.he.hi.hr.hu.id.it.ja.ko.lt.lv.ms.nb.nl.pl.pt.ro.ru.sk.sl.sr.sv.th.tr.uk.ur.vi.zh".split("."), Zu = ["de", "en"], Qu = [
6206
6220
  "image/jpeg",
6207
6221
  "image/jpg",
6208
6222
  "image/png"
6209
- ], Qu = 5242880, $u = H({
6223
+ ], $u = 5242880, ed = H({
6210
6224
  index: z(),
6211
6225
  cameraId: L(),
6212
6226
  colSpan: z().optional(),
6213
6227
  rowSpan: z().optional(),
6214
6228
  x: z().optional(),
6215
6229
  y: z().optional()
6216
- }), ed = U([
6230
+ }), td = U([
6217
6231
  G(1),
6218
6232
  G(4),
6219
6233
  G(6),
@@ -6226,81 +6240,81 @@ var Yu = /* @__PURE__ */ "ar.bg.bn.ca.cs.da.de.el.en.es.et.fa.fi.fr.he.hi.hr.hu.
6226
6240
  G(16),
6227
6241
  G(20),
6228
6242
  G(26)
6229
- ]), td = U([G("dnd"), G("view")]), nd = W([
6243
+ ]), nd = U([G("dnd"), G("view")]), rd = W([
6230
6244
  "aspect",
6231
6245
  "contain",
6232
6246
  "fill",
6233
6247
  "cover"
6234
- ]), rd = H({
6248
+ ]), id = H({
6235
6249
  _id: L().default(Q()).transform(() => Q()),
6236
6250
  name: L().trim().min(1, "Layout name is required"),
6237
- viewSize: ed,
6238
- cameras: $u.array(),
6239
- type: td,
6240
- cardFit: nd.optional()
6251
+ viewSize: td,
6252
+ cameras: ed.array(),
6253
+ type: nd,
6254
+ cardFit: rd.optional()
6241
6255
  });
6242
6256
  H({
6243
6257
  name: L().trim().min(1, "Layout name is required"),
6244
- viewSize: ed,
6245
- cameras: $u.array(),
6246
- cardFit: nd
6258
+ viewSize: td,
6259
+ cameras: ed.array(),
6260
+ cardFit: rd
6247
6261
  }).partial().optional();
6248
- var id = H({ views: rd.array() }), ad = W(tu.filter((e) => e.shortcutable).map((e) => String(e.type))), od = Qs("type", [H({
6262
+ var ad = H({ views: id.array() }), od = W(nu.filter((e) => e.shortcutable).map((e) => String(e.type))), sd = Qs("type", [H({
6249
6263
  _id: L().default(Q()).transform(() => Q()),
6250
6264
  type: G("camera"),
6251
6265
  cameraId: L(),
6252
- points: hu
6266
+ points: gu
6253
6267
  }), H({
6254
6268
  _id: L().default(Q()).transform(() => Q()),
6255
6269
  type: G("sensor"),
6256
6270
  sensorId: L(),
6257
- sensorType: ad,
6258
- points: hu
6271
+ sensorType: od,
6272
+ points: gu
6259
6273
  })]);
6260
6274
  U([H({
6261
6275
  type: G("camera"),
6262
6276
  cameraId: L(),
6263
- points: hu
6277
+ points: gu
6264
6278
  }).partial(), H({
6265
6279
  type: G("sensor"),
6266
6280
  sensorId: L(),
6267
- sensorType: ad,
6268
- points: hu
6281
+ sensorType: od,
6282
+ points: gu
6269
6283
  }).partial()]).optional();
6270
- var sd = H({
6271
- shortcuts: od.array(),
6284
+ var cd = H({
6285
+ shortcuts: sd.array(),
6272
6286
  hiddenEventTypes: L().array().optional()
6273
6287
  });
6274
6288
  ic(L().trim().min(1), L().trim().min(1).max(64).array().max(64));
6275
- var cd = W(["auto", ...Xu]), ld = H({ ungrouped: B() }), ud = H({
6289
+ var ld = W(["auto", ...Zu]), ud = H({ ungrouped: B() }), dd = H({
6276
6290
  main: L().array(),
6277
6291
  manage: L().array(),
6278
6292
  system: L().array(),
6279
6293
  settings: L().array()
6280
- }).partial(), dd = H({
6294
+ }).partial(), fd = H({
6281
6295
  main: B(),
6282
6296
  manage: B(),
6283
6297
  system: B(),
6284
6298
  settings: B()
6285
- }).partial(), fd = H({
6286
- order: ud.optional(),
6287
- collapsible: dd.optional(),
6299
+ }).partial(), pd = H({
6300
+ order: dd.optional(),
6301
+ collapsible: fd.optional(),
6288
6302
  settingsInNav: B().optional(),
6289
6303
  hidden: L().array().optional()
6290
- }), pd = H({
6291
- language: cd.optional(),
6292
- camview: id,
6293
- cameras: ic(L().trim(), sd),
6294
- recordings: ld.optional(),
6295
- navLayout: fd.nullable().optional()
6296
- }), md = L().trim().min(10, "Password must be at least 10 characters long").regex(/[A-Z]/, "Password must contain at least one uppercase letter").regex(/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/, "Password must contain at least one special character (!@#$%^&*()_+-=[]{};:'\"\\|,.<>/?)").max(32, "Password cannot be more than 32 characters"), hd = H({
6304
+ }), md = H({
6305
+ language: ld.optional(),
6306
+ camview: ad,
6307
+ cameras: ic(L().trim(), cd),
6308
+ recordings: ud.optional(),
6309
+ navLayout: pd.nullable().optional()
6310
+ }), hd = L().trim().min(10, "Password must be at least 10 characters long").regex(/[A-Z]/, "Password must contain at least one uppercase letter").regex(/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/, "Password must contain at least one special character (!@#$%^&*()_+-=[]{};:'\"\\|,.<>/?)").max(32, "Password cannot be more than 32 characters"), gd = H({
6297
6311
  _id: L().default(Q()).transform(() => Q()),
6298
6312
  username: L().trim().min(1, "Username is required"),
6299
- password: md,
6313
+ password: hd,
6300
6314
  passwordConfirm: L().trim().min(1, "Please confirm your password"),
6301
6315
  role: U([G("admin"), G("user")]),
6302
6316
  firstLogin: B().default(!0),
6303
- preferences: pd.default({
6317
+ preferences: md.default({
6304
6318
  language: "auto",
6305
6319
  camview: { views: [] },
6306
6320
  cameras: {}
@@ -6323,14 +6337,14 @@ H({
6323
6337
  name: L().trim().min(1, "Device name is required").max(100, "Device name cannot be more than 100 characters")
6324
6338
  })
6325
6339
  }).strict();
6326
- var gd = H({
6340
+ var _d = H({
6327
6341
  username: L().trim().min(1, "Username is required").optional(),
6328
- password: md.optional(),
6342
+ password: hd.optional(),
6329
6343
  passwordConfirm: L().trim().optional(),
6330
6344
  role: U([G("admin"), G("user")]).optional(),
6331
- upload: uc(ou(Qu, Zu, "Max file size is 5MB.", ".jpg, .jpeg, .png files are accepted.")),
6345
+ upload: uc(su($u, Qu, "Max file size is 5MB.", ".jpg, .jpeg, .png files are accepted.")),
6332
6346
  firstLogin: B().optional(),
6333
- preferences: pd.partial().optional()
6347
+ preferences: md.partial().optional()
6334
6348
  }).strict().refine((e) => e.password === e.passwordConfirm, {
6335
6349
  path: ["passwordConfirm"],
6336
6350
  message: "Passwords do not match"
@@ -6346,36 +6360,36 @@ H({ username: L() }), H({
6346
6360
  username: L(),
6347
6361
  viewid: L()
6348
6362
  }), H({ username: L() });
6349
- //#endregion
6350
- //#region ../server/src/api/schemas/assistant.schema.ts
6351
- var _d = W([
6363
+ var vd = U([W([
6352
6364
  "openai-compatible",
6353
6365
  "ollama",
6354
6366
  "openai",
6355
6367
  "anthropic",
6356
6368
  "gemini",
6357
6369
  "openrouter"
6358
- ]), vd = H({
6370
+ ]), L().regex(/^plugin:[a-zA-Z0-9@/._-]{1,200}$/)]), yd = H({
6359
6371
  id: L().trim().min(1).max(64).optional(),
6360
6372
  name: L().trim().max(40, "Name cannot be more than 40 characters").optional(),
6361
- provider: _d,
6373
+ provider: vd,
6362
6374
  baseURL: L().trim().max(500, "Base URL cannot be more than 500 characters").nullable().optional(),
6363
6375
  apiKey: L().max(1e3, "API key cannot be more than 1000 characters").nullable().optional(),
6364
6376
  copyKeyFrom: L().trim().min(1).max(64).optional(),
6365
6377
  model: L().trim().max(200, "Model cannot be more than 200 characters"),
6366
6378
  sendImages: B().optional(),
6367
6379
  userAccess: B().optional(),
6380
+ contextTokens: z().int().min(1e3).max(4e5).nullable().optional(),
6381
+ toolRouting: B().nullable().optional(),
6368
6382
  retest: B().optional()
6369
6383
  }).strict();
6370
6384
  H({
6371
6385
  enabled: B().optional(),
6372
- models: V(vd).max(20, "At most 20 models").optional(),
6386
+ models: V(yd).max(20, "At most 20 models").optional(),
6373
6387
  defaultModelId: L().trim().min(1).max(64).nullable().optional(),
6374
6388
  plugins: V(H({
6375
6389
  pluginId: L().trim().min(1).max(200),
6376
6390
  modelId: L().trim().min(1).max(64)
6377
6391
  }).strict()).max(50).optional(),
6378
- language: W(Yu).nullable().optional(),
6392
+ language: W(Xu).nullable().optional(),
6379
6393
  maxIterations: z().int().min(1).max(30).optional(),
6380
6394
  maxToolCalls: z().int().min(1).max(100).optional(),
6381
6395
  contextTokens: z().int().min(8e3).max(4e5).optional(),
@@ -6415,7 +6429,7 @@ H({
6415
6429
  disabledGroups: V(L().max(100)).max(50).default([]),
6416
6430
  instructions: L().max(2e3, "Instructions cannot be more than 2000 characters").default("")
6417
6431
  }).strict().partial().strict(), H({ profileId: L().min(1).max(128) }), H({ user: L().trim().min(1).max(100).optional() });
6418
- var yd = W([
6432
+ var bd = W([
6419
6433
  "push",
6420
6434
  "thread",
6421
6435
  "both"
@@ -6425,14 +6439,15 @@ H({
6425
6439
  prompt: L().trim().min(1, "Prompt is required").max(2e3, "Prompt cannot be more than 2000 characters"),
6426
6440
  cron: L().trim().min(9, "Cron expression is required").max(100),
6427
6441
  profileId: L().trim().max(64).nullable().optional(),
6442
+ modelId: L().trim().max(64).nullable().optional(),
6428
6443
  timezone: L().trim().max(64).optional(),
6429
6444
  language: L().trim().min(2).max(10).optional(),
6430
- deliver: yd.default("push"),
6445
+ deliver: bd.default("push"),
6431
6446
  enabled: B().default(!0)
6432
6447
  }).strict().partial().strict(), H({ scheduleId: L().min(1).max(128) });
6433
6448
  //#endregion
6434
6449
  //#region ../server/src/assistant/client-tools.ts
6435
- var bd = [
6450
+ var xd = [
6436
6451
  "account",
6437
6452
  "appearance",
6438
6453
  "assistant",
@@ -6444,7 +6459,7 @@ var bd = [
6444
6459
  "remote",
6445
6460
  "system",
6446
6461
  "users"
6447
- ], xd = {
6462
+ ], Sd = {
6448
6463
  home: {
6449
6464
  path: "/home",
6450
6465
  description: "Start page with the camera overview"
@@ -6509,7 +6524,7 @@ var bd = [
6509
6524
  path: "/assistant",
6510
6525
  description: "This assistant"
6511
6526
  }
6512
- }, Sd = [
6527
+ }, Cd = [
6513
6528
  {
6514
6529
  name: "open_page",
6515
6530
  description: "Open a page of the app for the user. Only when the user asks to open, show or go to it.",
@@ -6517,8 +6532,8 @@ var bd = [
6517
6532
  type: "object",
6518
6533
  properties: { page: {
6519
6534
  type: "string",
6520
- enum: Object.keys(xd),
6521
- description: Object.entries(xd).map(([e, t]) => `${e}: ${t.description}`).join("; ")
6535
+ enum: Object.keys(Sd),
6536
+ description: Object.entries(Sd).map(([e, t]) => `${e}: ${t.description}`).join("; ")
6522
6537
  } },
6523
6538
  required: ["page"]
6524
6539
  }
@@ -6594,13 +6609,13 @@ var bd = [
6594
6609
  type: "object",
6595
6610
  properties: { page: {
6596
6611
  type: "string",
6597
- enum: [...bd],
6612
+ enum: [...xd],
6598
6613
  description: "Settings page"
6599
6614
  } },
6600
6615
  required: ["page"]
6601
6616
  }
6602
6617
  }
6603
- ], Cd = new Uint32Array([
6618
+ ], wd = new Uint32Array([
6604
6619
  1116352408,
6605
6620
  1899447441,
6606
6621
  3049323471,
@@ -6666,10 +6681,10 @@ var bd = [
6666
6681
  3204031479,
6667
6682
  3329325298
6668
6683
  ]);
6669
- function wd(e, t) {
6684
+ function Td(e, t) {
6670
6685
  return e >>> t | e << 32 - t;
6671
6686
  }
6672
- function Td(e) {
6687
+ function Ed(e) {
6673
6688
  let t = new TextEncoder().encode(e), n = t.length * 8, r = t.length + 1, i = r + (56 - r % 64 + 64) % 64 + 8, a = new Uint8Array(i);
6674
6689
  a.set(t), a[t.length] = 128;
6675
6690
  let o = new DataView(a.buffer);
@@ -6678,12 +6693,12 @@ function Td(e) {
6678
6693
  for (let e = 0; e < i; e += 64) {
6679
6694
  for (let t = 0; t < 16; t++) h[t] = o.getUint32(e + t * 4);
6680
6695
  for (let e = 16; e < 64; e++) {
6681
- let t = h[e - 15] ?? 0, n = h[e - 2] ?? 0, r = wd(t, 7) ^ wd(t, 18) ^ t >>> 3, i = wd(n, 17) ^ wd(n, 19) ^ n >>> 10;
6696
+ let t = h[e - 15] ?? 0, n = h[e - 2] ?? 0, r = Td(t, 7) ^ Td(t, 18) ^ t >>> 3, i = Td(n, 17) ^ Td(n, 19) ^ n >>> 10;
6682
6697
  h[e] = (h[e - 16] ?? 0) + r + (h[e - 7] ?? 0) + i >>> 0;
6683
6698
  }
6684
6699
  let t = s, n = c, r = l, i = u, a = d, g = f, _ = p, v = m;
6685
6700
  for (let e = 0; e < 64; e++) {
6686
- let o = wd(a, 6) ^ wd(a, 11) ^ wd(a, 25), s = a & g ^ ~a & _, c = v + o + s + (Cd[e] ?? 0) + (h[e] ?? 0) >>> 0, l = (wd(t, 2) ^ wd(t, 13) ^ wd(t, 22)) + (t & n ^ t & r ^ n & r) >>> 0;
6701
+ let o = Td(a, 6) ^ Td(a, 11) ^ Td(a, 25), s = a & g ^ ~a & _, c = v + o + s + (wd[e] ?? 0) + (h[e] ?? 0) >>> 0, l = (Td(t, 2) ^ Td(t, 13) ^ Td(t, 22)) + (t & n ^ t & r ^ n & r) >>> 0;
6687
6702
  v = _, _ = g, g = a, a = i + c >>> 0, i = r, r = n, n = t, t = c + l >>> 0;
6688
6703
  }
6689
6704
  s = s + t >>> 0, c = c + n >>> 0, l = l + r >>> 0, u = u + i >>> 0, d = d + a >>> 0, f = f + g >>> 0, p = p + _ >>> 0, m = m + v >>> 0;
@@ -6691,10 +6706,10 @@ function Td(e) {
6691
6706
  let g = (e) => (e >>> 0).toString(16).padStart(8, "0");
6692
6707
  return g(s) + g(c) + g(l) + g(u) + g(d) + g(f) + g(p) + g(m);
6693
6708
  }
6694
- function Ed(e) {
6695
- return `sha256:${Td(e)}`;
6709
+ function Dd(e) {
6710
+ return `sha256:${Ed(e)}`;
6696
6711
  }
6697
- function Dd(e, t) {
6712
+ function Od(e, t) {
6698
6713
  if (e === null) return "null";
6699
6714
  if (typeof e == "string" || typeof e == "boolean" || typeof e == "number" && Number.isFinite(e)) return JSON.stringify(e);
6700
6715
  if (typeof e != "object") throw TypeError("Interrupt values must be JSON-compatible.");
@@ -6704,46 +6719,46 @@ function Dd(e, t) {
6704
6719
  let n;
6705
6720
  if (Array.isArray(e)) {
6706
6721
  let r = [];
6707
- for (let n = 0; n < e.length; n++) r.push(Dd(e[n], t));
6722
+ for (let n = 0; n < e.length; n++) r.push(Od(e[n], t));
6708
6723
  n = `[${r.join(",")}]`;
6709
6724
  } else {
6710
6725
  let r = e;
6711
- n = `{${Object.keys(r).sort().map((e) => `${JSON.stringify(e)}:${Dd(r[e], t)}`).join(",")}}`;
6726
+ n = `{${Object.keys(r).sort().map((e) => `${JSON.stringify(e)}:${Od(r[e], t)}`).join(",")}}`;
6712
6727
  }
6713
6728
  return t.delete(e), n;
6714
6729
  }
6715
- function Od(e) {
6716
- return Dd(e, /* @__PURE__ */ new WeakSet());
6730
+ function kd(e) {
6731
+ return Od(e, /* @__PURE__ */ new WeakSet());
6717
6732
  }
6718
- function kd(e, t = Ed) {
6733
+ function Ad(e, t = Dd) {
6719
6734
  if (typeof e != "string") throw TypeError("Interrupt digests require canonical JSON text.");
6720
6735
  return t(e);
6721
6736
  }
6722
- function Ad(e) {
6723
- typeof e == "object" && e && !Object.isFrozen(e) && (Object.values(e).forEach(Ad), Object.freeze(e));
6724
- }
6725
6737
  function jd(e) {
6726
- let t = JSON.parse(Od(e));
6727
- return Ad(t), t;
6738
+ typeof e == "object" && e && !Object.isFrozen(e) && (Object.values(e).forEach(jd), Object.freeze(e));
6739
+ }
6740
+ function Md(e) {
6741
+ let t = JSON.parse(kd(e));
6742
+ return jd(t), t;
6728
6743
  }
6729
6744
  //#endregion
6730
6745
  //#region ../server/node_modules/@tanstack/ai/dist/esm/activities/chat/tools/schema-converter.js
6731
- function Md(e) {
6746
+ function Nd(e) {
6732
6747
  return (typeof e == "object" || typeof e == "function") && e !== null;
6733
6748
  }
6734
- function Nd(e) {
6735
- if (!Md(e) || !("~standard" in e)) return !1;
6749
+ function Pd(e) {
6750
+ if (!Nd(e) || !("~standard" in e)) return !1;
6736
6751
  let t = e["~standard"];
6737
6752
  return typeof t != "object" || !t || !("version" in t) || t.version !== 1 || !("jsonSchema" in t) || typeof t.jsonSchema != "object" || t.jsonSchema === null || !("input" in t.jsonSchema) ? !1 : typeof t.jsonSchema.input == "function";
6738
6753
  }
6739
- function Pd(e) {
6740
- return Md(e) && "~standard" in e && typeof e["~standard"] == "object" && e["~standard"] !== null && "version" in e["~standard"] && e["~standard"].version === 1 && "validate" in e["~standard"] && typeof e["~standard"].validate == "function";
6754
+ function Fd(e) {
6755
+ return Nd(e) && "~standard" in e && typeof e["~standard"] == "object" && e["~standard"] !== null && "version" in e["~standard"] && e["~standard"].version === 1 && "validate" in e["~standard"] && typeof e["~standard"].validate == "function";
6741
6756
  }
6742
6757
  //#endregion
6743
6758
  //#region ../server/node_modules/@tanstack/ai/dist/esm/interrupt-definition.js
6744
- var Fd = /* @__PURE__ */ new WeakMap(), Id = /* @__PURE__ */ new WeakMap(), Ld = /* @__PURE__ */ new WeakMap();
6745
- function Rd(e, t) {
6746
- if (!Nd(e)) throw TypeError(`${t} must be a Standard Schema with a JSON Schema converter.`);
6759
+ var Id = /* @__PURE__ */ new WeakMap(), Ld = /* @__PURE__ */ new WeakMap(), Rd = /* @__PURE__ */ new WeakMap();
6760
+ function zd(e, t) {
6761
+ if (!Pd(e)) throw TypeError(`${t} must be a Standard Schema with a JSON Schema converter.`);
6747
6762
  try {
6748
6763
  let t = e["~standard"].jsonSchema.input({ target: "draft-07" });
6749
6764
  if (t === void 0) throw TypeError("The exported schema is undefined.");
@@ -6753,47 +6768,47 @@ function Rd(e, t) {
6753
6768
  for (let [e, r] of Object.entries(t)) e !== "$schema" && (n[e] = r);
6754
6769
  return {
6755
6770
  json: n,
6756
- canonicalJson: Od(n)
6771
+ canonicalJson: kd(n)
6757
6772
  };
6758
6773
  } catch (e) {
6759
6774
  throw TypeError(`${t} could not export compatible JSON Schema: ${e instanceof Error ? e.message : String(e)}`);
6760
6775
  }
6761
6776
  }
6762
- function zd(e, t) {
6777
+ function Bd(e, t) {
6763
6778
  try {
6764
- Od(e);
6779
+ kd(e);
6765
6780
  } catch (e) {
6766
6781
  throw TypeError(`${t} must be JSON-compatible: ${e instanceof Error ? e.message : String(e)}`);
6767
6782
  }
6768
6783
  }
6769
- function Bd(e, t) {
6784
+ function Vd(e, t) {
6770
6785
  if (typeof e != "string" || e.trim() === "") throw TypeError(`${t} must be a non-empty string.`);
6771
6786
  return e;
6772
6787
  }
6773
- function Vd(e) {
6788
+ function Hd(e) {
6774
6789
  if (typeof e != "string" || !Number.isFinite(Date.parse(e))) throw TypeError("Interrupt expiresAt must be a valid date string.");
6775
6790
  return e;
6776
6791
  }
6777
- function Hd(e) {
6792
+ function Ud(e) {
6778
6793
  return e !== null && (typeof e == "object" || typeof e == "function") && "then" in e && typeof e.then == "function";
6779
6794
  }
6780
- function Ud(e, t) {
6781
- if (!Pd(e)) return t;
6795
+ function Wd(e, t) {
6796
+ if (!Fd(e)) return t;
6782
6797
  let n = e["~standard"].validate(t);
6783
- if (Hd(n)) throw TypeError("Interrupt payloadSchema validation must be synchronous.");
6798
+ if (Ud(n)) throw TypeError("Interrupt payloadSchema validation must be synchronous.");
6784
6799
  if (n.issues !== void 0) throw TypeError(`Interrupt payload is invalid: ${n.issues.map((e) => e.message).join(" ")}`);
6785
6800
  return n.value;
6786
6801
  }
6787
- function Wd(e) {
6788
- Bd(e.id, "Interrupt definition id");
6789
- let t = e.responseSchema === void 0 ? void 0 : Rd(e.responseSchema, "responseSchema"), n = Object.prototype.hasOwnProperty.call(e, "payloadSchema"), r = n ? Rd(e.payloadSchema, "payloadSchema") : void 0, i = {
6802
+ function Gd(e) {
6803
+ Vd(e.id, "Interrupt definition id");
6804
+ let t = e.responseSchema === void 0 ? void 0 : zd(e.responseSchema, "responseSchema"), n = Object.prototype.hasOwnProperty.call(e, "payloadSchema"), r = n ? zd(e.payloadSchema, "payloadSchema") : void 0, i = {
6790
6805
  ...t ? {
6791
6806
  responseSchemaCanonicalJson: t.canonicalJson,
6792
- responseSchemaHash: kd(t.canonicalJson)
6807
+ responseSchemaHash: Ad(t.canonicalJson)
6793
6808
  } : {},
6794
6809
  ...r ? {
6795
6810
  payloadSchemaCanonicalJson: r.canonicalJson,
6796
- payloadSchemaHash: kd(r.canonicalJson)
6811
+ payloadSchemaHash: Ad(r.canonicalJson)
6797
6812
  } : {}
6798
6813
  }, a = {
6799
6814
  id: e.id,
@@ -6805,7 +6820,7 @@ function Wd(e) {
6805
6820
  }, o = (t) => {
6806
6821
  let n = e.payloadSchema;
6807
6822
  if (n === void 0) throw TypeError("This interrupt definition does not accept a payload.");
6808
- return Ud(n, t);
6823
+ return Wd(n, t);
6809
6824
  }, s = (e, t) => {
6810
6825
  for (let t of Object.keys(e)) if (![
6811
6826
  "key",
@@ -6814,12 +6829,12 @@ function Wd(e) {
6814
6829
  "message",
6815
6830
  "expiresAt"
6816
6831
  ].includes(t)) throw TypeError(`Interrupt input field ${t} is not allowed.`);
6817
- let r = Bd(e.key, "Interrupt key"), i = Bd(e.reason, "Interrupt reason"), s = Bd(e.message, "Interrupt message");
6832
+ let r = Vd(e.key, "Interrupt key"), i = Vd(e.reason, "Interrupt reason"), s = Vd(e.message, "Interrupt message");
6818
6833
  if ("payload" in e) {
6819
6834
  if (!n) throw TypeError("This interrupt definition does not accept a payload.");
6820
- e.payload !== void 0 && zd(e.payload, "Interrupt payload");
6835
+ e.payload !== void 0 && Bd(e.payload, "Interrupt payload");
6821
6836
  }
6822
- let c = "payload" in e ? t ? e.payload : o(e.payload) : void 0, l = c === void 0 ? void 0 : jd(c), u = e.expiresAt === void 0 ? void 0 : Vd(e.expiresAt), d = Object.freeze({
6837
+ let c = "payload" in e ? t ? e.payload : o(e.payload) : void 0, l = c === void 0 ? void 0 : Md(c), u = e.expiresAt === void 0 ? void 0 : Hd(e.expiresAt), d = Object.freeze({
6823
6838
  definition: a,
6824
6839
  key: r,
6825
6840
  ...n && l !== void 0 ? { payload: l } : {},
@@ -6827,7 +6842,7 @@ function Wd(e) {
6827
6842
  message: s,
6828
6843
  ...u === void 0 ? {} : { expiresAt: u }
6829
6844
  });
6830
- return t || Ld.set(d, jd({
6845
+ return t || Rd.set(d, Md({
6831
6846
  key: r,
6832
6847
  reason: i,
6833
6848
  message: s,
@@ -6835,9 +6850,9 @@ function Wd(e) {
6835
6850
  ...c === void 0 ? {} : { payload: c }
6836
6851
  })), d;
6837
6852
  };
6838
- return Fd.set(a, i), Id.set(a, s), Object.freeze(a);
6853
+ return Id.set(a, i), Ld.set(a, s), Object.freeze(a);
6839
6854
  }
6840
- var Gd = Wd({
6855
+ var Kd = Gd({
6841
6856
  id: "ask-user",
6842
6857
  payloadSchema: H({
6843
6858
  toolCallId: L(),
@@ -6865,11 +6880,11 @@ H({
6865
6880
  }), H({ refresh_token: L().min(1, "Refresh token is required") }), H({ id: L() }), H({ name: L().trim().min(1, "Name is required").max(64, "Name is too long") }).strict(), H({ id: L() });
6866
6881
  //#endregion
6867
6882
  //#region ../server/src/api/schemas/floorplan.schema.ts
6868
- var Kd = H({
6883
+ var qd = H({
6869
6884
  id: L().trim().min(1),
6870
6885
  name: L().trim().min(1, "Level name is required").max(64),
6871
6886
  order: z().int().min(0).default(0)
6872
- }), qd = H({
6887
+ }), Jd = H({
6873
6888
  id: L().trim().min(1),
6874
6889
  roomId: L().trim().min(1),
6875
6890
  name: L().trim().min(1, "Room name is required").max(64),
@@ -6881,7 +6896,7 @@ var Kd = H({
6881
6896
  y: z(),
6882
6897
  width: z().min(1),
6883
6898
  height: z().min(1)
6884
- }), Jd = H({
6899
+ }), Yd = H({
6885
6900
  id: L().trim().min(1),
6886
6901
  fromRoomId: L().trim().min(1),
6887
6902
  toRoomId: L().trim().min(1),
@@ -6895,7 +6910,7 @@ var Kd = H({
6895
6910
  "opening",
6896
6911
  "stairs"
6897
6912
  ]).default("door")
6898
- }), Yd = H({
6913
+ }), Xd = H({
6899
6914
  cameraId: L().trim().min(1),
6900
6915
  roomId: L().trim().min(1),
6901
6916
  note: L().trim().max(240).default(""),
@@ -6904,7 +6919,7 @@ var Kd = H({
6904
6919
  rotation: z(),
6905
6920
  fov: z().min(1).max(360),
6906
6921
  range: z().min(1)
6907
- }), Xd = H({
6922
+ }), Zd = H({
6908
6923
  sensorId: L().trim().min(1),
6909
6924
  sensorType: L().trim().min(1),
6910
6925
  roomId: L().trim().min(1),
@@ -6916,11 +6931,11 @@ var Kd = H({
6916
6931
  H({
6917
6932
  catalogVersion: z().int().min(0),
6918
6933
  north: z().nullable().default(null),
6919
- levels: Kd.array().max(20),
6920
- rooms: qd.array().max(200),
6921
- connections: Jd.array().max(500),
6922
- cameras: Yd.array().max(500),
6923
- sensors: Xd.array().max(500)
6934
+ levels: qd.array().max(20),
6935
+ rooms: Jd.array().max(200),
6936
+ connections: Yd.array().max(500),
6937
+ cameras: Xd.array().max(500),
6938
+ sensors: Zd.array().max(500)
6924
6939
  }).strict(), H({
6925
6940
  name: L().trim().min(1, "Name is required").max(100, "Name cannot be more than 100 characters"),
6926
6941
  url: bs("Must be a valid URL").trim(),
@@ -6938,7 +6953,7 @@ H({
6938
6953
  }), H({ id: L().min(1, "ID is required") }), H({ code: L().trim().min(1, "Code is required").optional() }).optional(), H({ ids: V(L().min(1)).min(1).max(1e3) });
6939
6954
  //#endregion
6940
6955
  //#region ../server/src/api/schemas/mqtt.schema.ts
6941
- var Zd = /^[\w-]+(\/[\w-]+)*$/, Qd = H({
6956
+ var Qd = /^[\w-]+(\/[\w-]+)*$/, $d = H({
6942
6957
  enabled: B().optional(),
6943
6958
  mode: W(["external", "embedded"]).optional(),
6944
6959
  broker: H({
@@ -6952,7 +6967,7 @@ var Zd = /^[\w-]+(\/[\w-]+)*$/, Qd = H({
6952
6967
  username: L().trim().max(200, "Username cannot be more than 200 characters").nullable().optional(),
6953
6968
  password: L().max(500, "Password cannot be more than 500 characters").nullable().optional(),
6954
6969
  clientId: L().trim().min(1, "Client ID is required").max(128, "Client ID cannot be more than 128 characters").optional(),
6955
- topicPrefix: L().trim().min(1, "Topic prefix is required").max(128, "Topic prefix cannot be more than 128 characters").regex(Zd, "Topic prefix may only contain letters, numbers, \"_\", \"-\" and \"/\" separators").optional(),
6970
+ topicPrefix: L().trim().min(1, "Topic prefix is required").max(128, "Topic prefix cannot be more than 128 characters").regex(Qd, "Topic prefix may only contain letters, numbers, \"_\", \"-\" and \"/\" separators").optional(),
6956
6971
  tls: H({
6957
6972
  rejectUnauthorized: B().optional(),
6958
6973
  ca: L().trim().nullable().optional(),
@@ -6961,58 +6976,58 @@ var Zd = /^[\w-]+(\/[\w-]+)*$/, Qd = H({
6961
6976
  }).strict().optional(),
6962
6977
  haDiscovery: H({
6963
6978
  enabled: B().optional(),
6964
- prefix: L().trim().min(1, "Discovery prefix is required").max(128, "Discovery prefix cannot be more than 128 characters").regex(Zd, "Discovery prefix may only contain letters, numbers, \"_\", \"-\" and \"/\" separators").optional()
6979
+ prefix: L().trim().min(1, "Discovery prefix is required").max(128, "Discovery prefix cannot be more than 128 characters").regex(Qd, "Discovery prefix may only contain letters, numbers, \"_\", \"-\" and \"/\" separators").optional()
6965
6980
  }).strict().optional()
6966
- }).strict(), $d = /^((@[\w-.]*)\/)?(camera-ui-[\w-]*)$/, ef = /* @__PURE__ */ function(e) {
6981
+ }).strict(), ef = /^((@[\w-.]*)\/)?(camera-ui-[\w-]*)$/, tf = /* @__PURE__ */ function(e) {
6967
6982
  return e.READY = "ready", e.STARTING = "starting", e.STARTED = "started", e.STOPPING = "stopping", e.STOPPED = "stopped", e.ERROR = "error", e.UNKNOWN = "unknown", e.DISABLED = "disabled", e.INCOMPATIBLE = "incompatible", e.UPDATE_REQUIRED = "update_required", e.SERVER_UPDATE_REQUIRED = "server_update_required", e;
6968
- }({}), tf = H({
6983
+ }({}), nf = H({
6969
6984
  start: Mc().optional(),
6970
6985
  page: Mc().optional(),
6971
6986
  pageSize: Mc().optional()
6972
- }), nf = ["image/jpeg", "image/png"], rf = 2097152, af = ["video/mp4", "video/quicktime"], of = 10485760, sf = [
6987
+ }), rf = ["image/jpeg", "image/png"], af = 2097152, of = ["video/mp4", "video/quicktime"], sf = 10485760, cf = [
6973
6988
  "audio/mpeg",
6974
6989
  "audio/wav",
6975
6990
  "audio/ogg"
6976
- ], cf = 2097152, lf = () => ou(rf, nf, "Max file size is 2 MB", ".jpeg and .png files are accepted"), uf = Oc().transform((e) => JSON.parse(e.value)), df = Oc().transform((e) => JSON.parse(e.value)), ff = Oc().transform((e) => JSON.parse(e.value)), pf = H({
6977
- pluginname: L().trim().refine((e) => $d.test(e), "Not a valid plugin name"),
6991
+ ], lf = 2097152, uf = () => su(af, rf, "Max file size is 2 MB", ".jpeg and .png files are accepted"), df = Oc().transform((e) => JSON.parse(e.value)), ff = Oc().transform((e) => JSON.parse(e.value)), pf = Oc().transform((e) => JSON.parse(e.value)), mf = H({
6992
+ pluginname: L().trim().refine((e) => ef.test(e), "Not a valid plugin name"),
6978
6993
  pluginversion: L().trim().refine((e) => /^[a-z][\w-]*$/i.test(e) || /^v?\d+\.\d+\.\d+(?:[-+][\w.-]+)?$/i.test(e), "Not a valid plugin version (expected a dist-tag or exact semver)").optional().default("latest")
6979
6994
  }).strict();
6980
6995
  H({
6981
6996
  actionId: L(),
6982
6997
  payload: Us()
6983
6998
  }).strict(), ic(Us(), Us()), H({
6984
- upload: lf(),
6985
- metadata: df,
6986
- config: uf
6987
- }), H({
6988
- upload: ou(cf, sf, "Max file size is 2 MB", ".mp3, .wav and .ogg files are accepted"),
6999
+ upload: uf(),
6989
7000
  metadata: ff,
6990
- config: uf
7001
+ config: df
7002
+ }), H({
7003
+ upload: su(lf, cf, "Max file size is 2 MB", ".mp3, .wav and .ogg files are accepted"),
7004
+ metadata: pf,
7005
+ config: df
6991
7006
  }), H({
6992
- upload: ou(of, af, "Max file size is 5 MB", ".mp4 files are accepted"),
6993
- config: uf
7007
+ upload: su(sf, of, "Max file size is 5 MB", ".mp4 files are accepted"),
7008
+ config: df
6994
7009
  }), H({
6995
- upload: lf(),
6996
- metadata: df,
6997
- config: uf
7010
+ upload: uf(),
7011
+ metadata: ff,
7012
+ config: df
6998
7013
  }), H({
6999
- upload: lf(),
7000
- metadata: df,
7001
- config: uf
7014
+ upload: uf(),
7015
+ metadata: ff,
7016
+ config: df
7002
7017
  }), H({
7003
- upload: lf(),
7004
- metadata: df,
7005
- config: uf
7018
+ upload: uf(),
7019
+ metadata: ff,
7020
+ config: df
7006
7021
  }), H({ pluginname: L() }), H({
7007
7022
  scope: L(),
7008
7023
  pluginname: L()
7009
- }), tf.extend({
7024
+ }), nf.extend({
7010
7025
  pluginname: L().trim().optional(),
7011
7026
  refresh: Nc().optional()
7012
- }), H({ removeStorage: Nc().optional() }), H({ pluginversion: L().trim().optional() }), H({ pluginNames: V(L().trim().min(1)).min(1).max(1e3) }), H({ plugins: V(pf).min(1).max(1e3) });
7027
+ }), H({ removeStorage: Nc().optional() }), H({ pluginversion: L().trim().optional() }), H({ pluginNames: V(L().trim().min(1)).min(1).max(1e3) }), H({ plugins: V(mf).min(1).max(1e3) });
7013
7028
  //#endregion
7014
7029
  //#region ../server/src/api/schemas/remote.schema.ts
7015
- var mf = H({
7030
+ var hf = H({
7016
7031
  enabled: B().optional(),
7017
7032
  directEnabled: B().optional(),
7018
7033
  directMode: W(["cloudflare", "customDomain"]).optional(),
@@ -7042,13 +7057,13 @@ H({ mode: W(["cloudflare", "customDomain"]) }).strict(), H({ hostname: L().trim(
7042
7057
  }).strict(), H({ roomid: L().trim().min(1) });
7043
7058
  //#endregion
7044
7059
  //#region ../server/src/sensors/types.ts
7045
- var hf = { securitySystem: "security_system" };
7046
- function gf(e) {
7047
- return hf[e] ?? e;
7060
+ var gf = { securitySystem: "security_system" };
7061
+ function _f(e) {
7062
+ return gf[e] ?? e;
7048
7063
  }
7049
- function _f() {
7064
+ function vf() {
7050
7065
  let e = {};
7051
- for (let t of tu) e[t.type] = {
7066
+ for (let t of nu) e[t.type] = {
7052
7067
  category: t.category,
7053
7068
  assignmentKey: t.assignmentKey,
7054
7069
  multiProvider: t.multiProvider,
@@ -7056,48 +7071,48 @@ function _f() {
7056
7071
  cameraBound: t.cameraBound ?? !1,
7057
7072
  ...t.cascadeTrigger ? { cascadeTrigger: {
7058
7073
  ...t.cascadeTrigger,
7059
- triggerType: gf(t.assignmentKey)
7074
+ triggerType: _f(t.assignmentKey)
7060
7075
  } } : {}
7061
7076
  };
7062
7077
  return e;
7063
7078
  }
7064
- var vf = _f();
7065
- Object.fromEntries(tu.filter((e) => e.propertyCapabilities).map((e) => [e.type, e.propertyCapabilities]));
7066
- function yf() {
7067
- return Object.entries(vf).filter(([, e]) => e.multiProvider).map(([e]) => e);
7068
- }
7079
+ var yf = vf();
7080
+ Object.fromEntries(nu.filter((e) => e.propertyCapabilities).map((e) => [e.type, e.propertyCapabilities]));
7069
7081
  function bf() {
7070
- return tu.filter((e) => e.shortcutable).map((e) => e.type);
7082
+ return Object.entries(yf).filter(([, e]) => e.multiProvider).map(([e]) => e);
7071
7083
  }
7072
7084
  function xf() {
7073
- return Object.entries(vf).filter(([, e]) => e.isDetectionType).map(([e]) => e);
7085
+ return nu.filter((e) => e.shortcutable).map((e) => e.type);
7074
7086
  }
7075
- function Sf(e) {
7076
- return vf[e].assignmentKey;
7087
+ function Sf() {
7088
+ return Object.entries(yf).filter(([, e]) => e.isDetectionType).map(([e]) => e);
7077
7089
  }
7078
- Object.fromEntries(tu.map((e) => [e.type, Object.keys(e.properties)]));
7079
- var Cf = Object.fromEntries(tu.map((e) => [e.type, e.properties]));
7080
- function wf(e, t) {
7081
- return Cf[e]?.[t];
7090
+ function Cf(e) {
7091
+ return yf[e].assignmentKey;
7082
7092
  }
7083
- function Tf(e) {
7084
- let t = Cf[e];
7085
- return t ? Object.entries(t).filter(([, e]) => !e.internal).map(([e]) => e) : [];
7093
+ Object.fromEntries(nu.map((e) => [e.type, Object.keys(e.properties)]));
7094
+ var wf = Object.fromEntries(nu.map((e) => [e.type, e.properties]));
7095
+ function Tf(e, t) {
7096
+ return wf[e]?.[t];
7086
7097
  }
7087
7098
  function Ef(e) {
7088
- let t = Cf[e];
7099
+ let t = wf[e];
7100
+ return t ? Object.entries(t).filter(([, e]) => !e.internal).map(([e]) => e) : [];
7101
+ }
7102
+ function Df(e) {
7103
+ let t = wf[e];
7089
7104
  return t ? Object.entries(t).filter(([, e]) => e.writable).map(([e]) => e) : [];
7090
7105
  }
7091
- function Df(e, t) {
7092
- let n = vf[e];
7106
+ function Of(e, t) {
7107
+ let n = yf[e];
7093
7108
  return n ? n.category === q.Control || n.category === q.Trigger || t === "cameraui.virtual" && !n.isDetectionType : !1;
7094
7109
  }
7095
- new Set(yf());
7096
- var Of = new Set(xf()), kf = "cameraui.virtual", Af = tu.filter((e) => e.virtual).map((e) => e.type);
7097
- Object.fromEntries(tu.filter((e) => e.virtual).map((e) => [e.type, e.virtual?.properties ?? {}])), Object.fromEntries(tu.filter((e) => e.virtual?.capabilities).map((e) => [e.type, e.virtual?.capabilities])), H({ id: L().min(1, "Sensor ID is required") });
7098
- var jf = H({
7110
+ new Set(bf());
7111
+ var kf = new Set(Sf()), Af = "cameraui.virtual", jf = nu.filter((e) => e.virtual).map((e) => e.type);
7112
+ Object.fromEntries(nu.filter((e) => e.virtual).map((e) => [e.type, e.virtual?.properties ?? {}])), Object.fromEntries(nu.filter((e) => e.virtual?.capabilities).map((e) => [e.type, e.virtual?.capabilities])), H({ id: L().min(1, "Sensor ID is required") });
7113
+ var Mf = H({
7099
7114
  cameraId: L().min(1).optional(),
7100
- type: W(Af),
7115
+ type: W(jf),
7101
7116
  name: L().trim().min(1, "Name is required").max(100, "Name cannot be more than 100 characters")
7102
7117
  });
7103
7118
  H({
@@ -7108,7 +7123,7 @@ H({
7108
7123
  property: L().trim().min(1, "Property is required"),
7109
7124
  value: Gs()
7110
7125
  }), H({ ids: V(L()).min(1).max(1e4) }), H({ version: L().trim().optional().default("latest") }).strict();
7111
- var Mf = H({
7126
+ var Nf = H({
7112
7127
  serverAddresses: U([ks().trim(), js().trim()]).array().default([]),
7113
7128
  localUrl: U([G(""), bs({ protocol: /^https?$/ })]).default("").transform((e) => e.replace(/\/+$/, ""))
7114
7129
  }).strict();
@@ -7118,7 +7133,7 @@ H({ version: L().trim() }).strict(), ic(L(), Us()), H({ key: L() }).strict(), H(
7118
7133
  }).strict();
7119
7134
  //#endregion
7120
7135
  //#region ../server/src/api/schemas/training.schema.ts
7121
- var Nf = H({
7136
+ var Pf = H({
7122
7137
  label: L().trim().min(1).max(64),
7123
7138
  confidence: z().min(0).max(1),
7124
7139
  x: z().min(0).max(1),
@@ -7131,7 +7146,7 @@ H({ id: L().trim().min(1) }), H({ id: L().trim().min(1) }), H({ cursor: L().trim
7131
7146
  cameraId: L().trim().min(1).optional(),
7132
7147
  status: W(["new", "verified"]).optional()
7133
7148
  }), H({
7134
- boxes: Nf.array().max(128).optional(),
7149
+ boxes: Pf.array().max(128).optional(),
7135
7150
  status: W(["new", "verified"]).optional()
7136
7151
  }).strict(), H({ ids: L().trim().min(1).array().min(1).max(200) }).strict(), H({
7137
7152
  enabled: B().optional(),
@@ -7155,35 +7170,35 @@ H({ id: L().trim().min(1) }), H({ id: L().trim().min(1) }), H({ cursor: L().trim
7155
7170
  }).strict();
7156
7171
  //#endregion
7157
7172
  //#region ../server/src/plugins/schema.ts
7158
- function Pf(e) {
7173
+ function Ff(e) {
7159
7174
  return e.type === "string" && !("enum" in e);
7160
7175
  }
7161
- function Ff(e) {
7176
+ function If(e) {
7162
7177
  return e.type === "number";
7163
7178
  }
7164
- function If(e) {
7179
+ function Lf(e) {
7165
7180
  return e.type === "boolean";
7166
7181
  }
7167
- function Lf(e) {
7182
+ function Rf(e) {
7168
7183
  return e.type === "string" && "enum" in e;
7169
7184
  }
7170
- function Rf(e) {
7185
+ function zf(e) {
7171
7186
  return e.type === "array";
7172
7187
  }
7173
- function zf(e) {
7188
+ function Bf(e) {
7174
7189
  return e.type === "object";
7175
7190
  }
7176
- function Bf(e) {
7191
+ function Vf(e) {
7177
7192
  return e.type === "button";
7178
7193
  }
7179
- function Vf(e) {
7194
+ function Hf(e) {
7180
7195
  return e.type === "submit";
7181
7196
  }
7182
- function Hf(e) {
7183
- return Pf(e) && (!e.format || e.format !== "qrCode" && e.format !== "image");
7197
+ function Uf(e) {
7198
+ return Ff(e) && (!e.format || e.format !== "qrCode" && e.format !== "image");
7184
7199
  }
7185
- var Uf = (e, t) => {
7186
- let n = Xf(t, e.key), r = e.value;
7200
+ var Wf = (e, t) => {
7201
+ let n = Zf(t, e.key), r = e.value;
7187
7202
  switch (e.operator ?? "eq") {
7188
7203
  case "eq": return n === r;
7189
7204
  case "neq": return n == null || n === "" ? !1 : n !== r;
@@ -7194,39 +7209,39 @@ var Uf = (e, t) => {
7194
7209
  default: return !0;
7195
7210
  }
7196
7211
  };
7197
- function Wf(e, t) {
7198
- return Array.isArray(e) ? e.every((e) => Uf(e, t)) : Uf(e, t);
7199
- }
7200
7212
  function Gf(e, t) {
7213
+ return Array.isArray(e) ? e.every((e) => Wf(e, t)) : Wf(e, t);
7214
+ }
7215
+ function Kf(e, t) {
7201
7216
  if (!e || Object.keys(e).length === 0) return !0;
7202
- let n = t.filter((e) => !Bf(e) && !Vf(e));
7217
+ let n = t.filter((e) => !Vf(e) && !Hf(e));
7203
7218
  for (let t of n) {
7204
- let n = Xf(e, t.key), r = Kf(t);
7205
- if (n !== void 0 && !nu(n, r, !0)) return !1;
7219
+ let n = Zf(e, t.key), r = qf(t);
7220
+ if (n !== void 0 && !ru(n, r, !0)) return !1;
7206
7221
  }
7207
7222
  return !0;
7208
7223
  }
7209
- function Kf(e) {
7224
+ function qf(e) {
7210
7225
  if ("defaultValue" in e && e.defaultValue !== void 0) return e.defaultValue;
7211
7226
  switch (e.type) {
7212
- case "string": return Lf(e) ? e.multiple ? [] : e.required ? e.enum[0] : "" : "";
7227
+ case "string": return Rf(e) ? e.multiple ? [] : e.required ? e.enum[0] : "" : "";
7213
7228
  case "number": return 0;
7214
7229
  case "boolean": return !1;
7215
7230
  case "array": return [];
7216
7231
  case "object": {
7217
7232
  let t = {};
7218
- for (let n of e.properties ?? []) Bf(n) || Vf(n) || (t[n.key] = Kf(n));
7233
+ for (let n of e.properties ?? []) Vf(n) || Hf(n) || (t[n.key] = qf(n));
7219
7234
  return t;
7220
7235
  }
7221
7236
  default: return;
7222
7237
  }
7223
7238
  }
7224
- function qf(e) {
7239
+ function Jf(e) {
7225
7240
  let t = {};
7226
- for (let n of e) Bf(n) || Vf(n) || (t[n.key] = Kf(n));
7241
+ for (let n of e) Vf(n) || Hf(n) || (t[n.key] = qf(n));
7227
7242
  return t;
7228
7243
  }
7229
- function Jf(e) {
7244
+ function Yf(e) {
7230
7245
  return e.split(".").reduce((e, t) => {
7231
7246
  if (t.includes("[")) {
7232
7247
  let [n, r] = t.split("[");
@@ -7235,52 +7250,52 @@ function Jf(e) {
7235
7250
  return e;
7236
7251
  }, []);
7237
7252
  }
7238
- function Yf(e) {
7253
+ function Xf(e) {
7239
7254
  return !isNaN(Number(e));
7240
7255
  }
7241
- function Xf(e = {}, t) {
7256
+ function Zf(e = {}, t) {
7242
7257
  if (!t.includes(".") && !t.includes("[")) return e[t];
7243
7258
  let n = e;
7244
- for (let e of Jf(t)) {
7259
+ for (let e of Yf(t)) {
7245
7260
  if (n == null) return;
7246
7261
  n = n[e];
7247
7262
  }
7248
7263
  return n;
7249
7264
  }
7250
- function Zf(e, t, n) {
7265
+ function Qf(e, t, n) {
7251
7266
  if (!t.includes(".") && !t.includes("[")) {
7252
7267
  e[t] = n;
7253
7268
  return;
7254
7269
  }
7255
- let r = Jf(t), i = r.pop();
7270
+ let r = Yf(t), i = r.pop();
7256
7271
  if (!i) return;
7257
7272
  let a = e;
7258
7273
  for (let e = 0; e < r.length; e++) {
7259
7274
  let t = r[e];
7260
- (typeof a[t] != "object" || a[t] === null) && (a[t] = Yf(r[e + 1] ?? i) ? [] : {}), a = a[t];
7275
+ (typeof a[t] != "object" || a[t] === null) && (a[t] = Xf(r[e + 1] ?? i) ? [] : {}), a = a[t];
7261
7276
  }
7262
7277
  a[i] = n;
7263
7278
  }
7264
- function Qf(e, t) {
7279
+ function $f(e, t) {
7265
7280
  let n = {};
7266
- for (let r of e) if ("store" in r && r.store && !Bf(r) && !Vf(r)) {
7267
- let e = Xf(t, r.key);
7281
+ for (let r of e) if ("store" in r && r.store && !Vf(r) && !Hf(r)) {
7282
+ let e = Zf(t, r.key);
7268
7283
  e !== void 0 && (n[r.key] = e);
7269
7284
  }
7270
7285
  return n;
7271
7286
  }
7272
- function $f(e, t) {
7287
+ function ep(e, t) {
7273
7288
  return t ? e.filter((e) => "group" in e && e.group === t) : e;
7274
7289
  }
7275
- function ep(e, t) {
7276
- let n = $f(e, t);
7290
+ function tp(e, t) {
7291
+ let n = ep(e, t);
7277
7292
  return n.length > 0 && n.every((e) => "readonly" in e && e.readonly);
7278
7293
  }
7279
- function tp(e, t) {
7280
- let n = $f(e, t);
7294
+ function np(e, t) {
7295
+ let n = ep(e, t);
7281
7296
  return n.length > 0 && n.some((e) => "store" in e && e.store);
7282
7297
  }
7283
- function np(e, t) {
7298
+ function rp(e, t) {
7284
7299
  if (!t) return !0;
7285
7300
  let n = {
7286
7301
  "date-time": (e) => /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})?$/.test(e),
@@ -7293,11 +7308,11 @@ function np(e, t) {
7293
7308
  };
7294
7309
  return t in n ? n[t](e) : !0;
7295
7310
  }
7296
- function rp(e) {
7297
- if (Bf(e) || Vf(e)) return Us();
7311
+ function ip(e) {
7312
+ if (Vf(e) || Hf(e)) return Us();
7298
7313
  switch (e.type) {
7299
7314
  case "string":
7300
- if (Lf(e)) {
7315
+ if (Rf(e)) {
7301
7316
  if (e.multiple) {
7302
7317
  let t = V(L().trim().refine((t) => e.enum.includes(t), { error: "Invalid selection" }));
7303
7318
  return e.minItems === void 0 ? e.required && (t = t.min(1, { error: "Required" })) : t = t.min(e.minItems, { error: `Select at least ${e.minItems}` }), e.required ? t : t.optional();
@@ -7308,47 +7323,47 @@ function rp(e) {
7308
7323
  }
7309
7324
  }
7310
7325
  let t = L().trim();
7311
- return e.required && (t = t.nonempty("Required")), e.minLength !== void 0 && (t = t.min(e.minLength)), e.maxLength !== void 0 && (t = t.max(e.maxLength)), e.format && (t = t.refine((t) => !t || t.trim() === "" || np(t, e.format), { message: `Invalid ${e.format} format` })), e.required ? t : t.optional();
7326
+ return e.required && (t = t.nonempty("Required")), e.minLength !== void 0 && (t = t.min(e.minLength)), e.maxLength !== void 0 && (t = t.max(e.maxLength)), e.format && (t = t.refine((t) => !t || t.trim() === "" || rp(t, e.format), { message: `Invalid ${e.format} format` })), e.required ? t : t.optional();
7312
7327
  case "number":
7313
7328
  let n = z();
7314
7329
  return e.minimum !== void 0 && (n = n.min(e.minimum)), e.maximum !== void 0 && (n = n.max(e.maximum)), e.required && (n = n.refine((e) => e != null, { error: "Required" })), e.required ? n : n.optional();
7315
7330
  case "boolean": return e.required ? B() : B().optional();
7316
7331
  case "array": {
7317
- let t = V(e.items ? rp(e.items) : Us());
7332
+ let t = V(e.items ? ip(e.items) : Us());
7318
7333
  return e.minItems !== void 0 && (t = t.min(e.minItems, { error: `At least ${e.minItems} entries required` })), e.required ? t : t.optional();
7319
7334
  }
7320
7335
  case "object": {
7321
7336
  let t = {};
7322
- for (let n of e.properties ?? []) Bf(n) || Vf(n) || (t[n.key] = rp(n));
7337
+ for (let n of e.properties ?? []) Vf(n) || Hf(n) || (t[n.key] = ip(n));
7323
7338
  let n = H(t);
7324
7339
  return e.required ? n : n.optional();
7325
7340
  }
7326
7341
  default: return e.required ? Us() : Us().optional();
7327
7342
  }
7328
7343
  }
7329
- var ip = (e, t, n) => t.filter((e) => "group" in e && e.group === n).some((t) => {
7344
+ var ap = (e, t, n) => t.filter((e) => "group" in e && e.group === n).some((t) => {
7330
7345
  let n = e[t.key];
7331
7346
  return n != null && n !== "";
7332
7347
  });
7333
- function ap(e) {
7348
+ function op(e) {
7334
7349
  let t = {}, n = /* @__PURE__ */ new Set();
7335
7350
  e.forEach((e) => {
7336
7351
  "group" in e && e.group && n.add(e.group);
7337
7352
  }), e.forEach((e) => {
7338
- if (!Bf(e) && !Vf(e)) {
7353
+ if (!Vf(e) && !Hf(e)) {
7339
7354
  let n = "group" in e && e.group, r = "condition" in e && e.condition;
7340
- (n || r) && e.required ? t[e.key] = rp({
7355
+ (n || r) && e.required ? t[e.key] = ip({
7341
7356
  ...e,
7342
7357
  required: !1
7343
- }) : t[e.key] = rp(e);
7358
+ }) : t[e.key] = ip(e);
7344
7359
  }
7345
7360
  });
7346
- let r = H(t), i = e.filter((e) => "condition" in e && e.condition && "required" in e && e.required && !Bf(e) && !Vf(e));
7361
+ let r = H(t), i = e.filter((e) => "condition" in e && e.condition && "required" in e && e.required && !Vf(e) && !Hf(e));
7347
7362
  return (n.size > 0 || i.length > 0) && (r = r.superRefine((t, r) => {
7348
- for (let i of n) if (ip(t, e, i)) {
7363
+ for (let i of n) if (ap(t, e, i)) {
7349
7364
  let n = e.filter((e) => "group" in e && e.group === i);
7350
7365
  for (let e of n) if ("required" in e && e.required) {
7351
- if ("condition" in e && e.condition && !Wf(e.condition, t)) continue;
7366
+ if ("condition" in e && e.condition && !Gf(e.condition, t)) continue;
7352
7367
  let n = t[e.key];
7353
7368
  (n == null || n === "") && r.addIssue({
7354
7369
  code: "custom",
@@ -7357,7 +7372,7 @@ function ap(e) {
7357
7372
  });
7358
7373
  }
7359
7374
  }
7360
- for (let e of i) if (!("group" in e && e.group) && "condition" in e && e.condition && Wf(e.condition, t)) {
7375
+ for (let e of i) if (!("group" in e && e.group) && "condition" in e && e.condition && Gf(e.condition, t)) {
7361
7376
  let n = t[e.key];
7362
7377
  (n == null || n === "") && r.addIssue({
7363
7378
  code: "custom",
@@ -7369,23 +7384,23 @@ function ap(e) {
7369
7384
  }
7370
7385
  //#endregion
7371
7386
  //#region node_modules/pinia/dist/pinia.js
7372
- var op = typeof window < "u", sp, cp = (e) => sp = e, lp = Symbol();
7373
- function up(e) {
7387
+ var sp = typeof window < "u", cp, lp = (e) => cp = e, up = Symbol();
7388
+ function dp(e) {
7374
7389
  return e && typeof e == "object" && Object.prototype.toString.call(e) === "[object Object]" && typeof e.toJSON != "function";
7375
7390
  }
7376
- var dp = typeof window == "object" && window.window === window ? window : typeof self == "object" && self.self === self ? self : typeof global == "object" && global.global === global ? global : typeof globalThis == "object" ? globalThis : { HTMLElement: null };
7377
- function fp(e, { autoBom: t = !1 } = {}) {
7391
+ var fp = typeof window == "object" && window.window === window ? window : typeof self == "object" && self.self === self ? self : typeof global == "object" && global.global === global ? global : typeof globalThis == "object" ? globalThis : { HTMLElement: null };
7392
+ function pp(e, { autoBom: t = !1 } = {}) {
7378
7393
  return t && /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type) ? new Blob(["", e], { type: e.type }) : e;
7379
7394
  }
7380
- function pp(e, t, n) {
7395
+ function mp(e, t, n) {
7381
7396
  let r = new XMLHttpRequest();
7382
7397
  r.open("GET", e), r.responseType = "blob", r.onload = function() {
7383
- vp(r.response, t, n);
7398
+ yp(r.response, t, n);
7384
7399
  }, r.onerror = function() {
7385
7400
  console.error("could not download file");
7386
7401
  }, r.send();
7387
7402
  }
7388
- function mp(e) {
7403
+ function hp(e) {
7389
7404
  let t = new XMLHttpRequest();
7390
7405
  t.open("HEAD", e, !1);
7391
7406
  try {
@@ -7393,7 +7408,7 @@ function mp(e) {
7393
7408
  } catch {}
7394
7409
  return t.status >= 200 && t.status <= 299;
7395
7410
  }
7396
- function hp(e) {
7411
+ function gp(e) {
7397
7412
  try {
7398
7413
  e.dispatchEvent(new MouseEvent("click"));
7399
7414
  } catch {
@@ -7416,30 +7431,30 @@ function hp(e) {
7416
7431
  e.dispatchEvent(t);
7417
7432
  }
7418
7433
  }
7419
- var gp = typeof navigator == "object" ? navigator : { userAgent: "" }, _p = /Macintosh/.test(gp.userAgent) && /AppleWebKit/.test(gp.userAgent) && !/Safari/.test(gp.userAgent), vp = op ? typeof HTMLAnchorElement < "u" && "download" in HTMLAnchorElement.prototype && !_p ? yp : "msSaveOrOpenBlob" in gp ? bp : xp : () => {};
7420
- function yp(e, t = "download", n) {
7434
+ var _p = typeof navigator == "object" ? navigator : { userAgent: "" }, vp = /Macintosh/.test(_p.userAgent) && /AppleWebKit/.test(_p.userAgent) && !/Safari/.test(_p.userAgent), yp = sp ? typeof HTMLAnchorElement < "u" && "download" in HTMLAnchorElement.prototype && !vp ? bp : "msSaveOrOpenBlob" in _p ? xp : Sp : () => {};
7435
+ function bp(e, t = "download", n) {
7421
7436
  let r = document.createElement("a");
7422
- r.download = t, r.rel = "noopener", typeof e == "string" ? (r.href = e, r.origin === location.origin ? hp(r) : mp(r.href) ? pp(e, t, n) : (r.target = "_blank", hp(r))) : (r.href = URL.createObjectURL(e), setTimeout(function() {
7437
+ r.download = t, r.rel = "noopener", typeof e == "string" ? (r.href = e, r.origin === location.origin ? gp(r) : hp(r.href) ? mp(e, t, n) : (r.target = "_blank", gp(r))) : (r.href = URL.createObjectURL(e), setTimeout(function() {
7423
7438
  URL.revokeObjectURL(r.href);
7424
7439
  }, 4e4), setTimeout(function() {
7425
- hp(r);
7440
+ gp(r);
7426
7441
  }, 0));
7427
7442
  }
7428
- function bp(e, t = "download", n) {
7443
+ function xp(e, t = "download", n) {
7429
7444
  if (typeof e == "string") {
7430
- if (mp(e)) pp(e, t, n);
7445
+ if (hp(e)) mp(e, t, n);
7431
7446
  else {
7432
7447
  let t = document.createElement("a");
7433
7448
  t.href = e, t.target = "_blank", setTimeout(function() {
7434
- hp(t);
7449
+ gp(t);
7435
7450
  });
7436
7451
  }
7437
- } else navigator.msSaveOrOpenBlob(fp(e, n), t);
7452
+ } else navigator.msSaveOrOpenBlob(pp(e, n), t);
7438
7453
  }
7439
- function xp(e, t, n, r) {
7440
- if (r ||= open("", "_blank"), r && (r.document.title = r.document.body.innerText = "downloading..."), typeof e == "string") return pp(e, t, n);
7441
- let i = e.type === "application/octet-stream", a = /constructor/i.test(String(dp.HTMLElement)) || "safari" in dp, o = /CriOS\/[\d]+/.test(navigator.userAgent);
7442
- if ((o || i && a || _p) && typeof FileReader < "u") {
7454
+ function Sp(e, t, n, r) {
7455
+ if (r ||= open("", "_blank"), r && (r.document.title = r.document.body.innerText = "downloading..."), typeof e == "string") return mp(e, t, n);
7456
+ let i = e.type === "application/octet-stream", a = /constructor/i.test(String(fp.HTMLElement)) || "safari" in fp, o = /CriOS\/[\d]+/.test(navigator.userAgent);
7457
+ if ((o || i && a || vp) && typeof FileReader < "u") {
7443
7458
  let t = new FileReader();
7444
7459
  t.onloadend = function() {
7445
7460
  let e = t.result;
@@ -7453,11 +7468,11 @@ function xp(e, t, n, r) {
7453
7468
  }, 4e4);
7454
7469
  }
7455
7470
  }
7456
- var { assign: Sp } = Object;
7457
- function Cp() {
7471
+ var { assign: Cp } = Object;
7472
+ function wp() {
7458
7473
  let e = s(!0), t = e.run(() => m({})), n = [], r = [], i = o({
7459
7474
  install(e) {
7460
- cp(i), i._a = e, e.provide(lp, i), e.config.globalProperties.$pinia = i, r.forEach((e) => n.push(e)), r = [];
7475
+ lp(i), i._a = e, e.provide(up, i), e.config.globalProperties.$pinia = i, r.forEach((e) => n.push(e)), r = [];
7461
7476
  },
7462
7477
  use(e) {
7463
7478
  return this._a ? n.push(e) : r.push(e), this;
@@ -7470,52 +7485,52 @@ function Cp() {
7470
7485
  });
7471
7486
  return i;
7472
7487
  }
7473
- var wp = () => {};
7474
- function Tp(e, t, n, r = wp) {
7488
+ var Tp = () => {};
7489
+ function Ep(e, t, n, r = Tp) {
7475
7490
  e.add(t);
7476
7491
  let i = () => {
7477
7492
  e.delete(t) && r();
7478
7493
  };
7479
7494
  return !n && f() && p(i), i;
7480
7495
  }
7481
- function Ep(e, ...t) {
7496
+ function Dp(e, ...t) {
7482
7497
  e.forEach((e) => {
7483
7498
  e(...t);
7484
7499
  });
7485
7500
  }
7486
- var Dp = (e) => e(), Op = Symbol(), kp = Symbol();
7487
- function Ap(e, t) {
7501
+ var Op = (e) => e(), kp = Symbol(), Ap = Symbol();
7502
+ function jp(e, t) {
7488
7503
  e instanceof Map && t instanceof Map ? t.forEach((t, n) => e.set(n, t)) : e instanceof Set && t instanceof Set && t.forEach(e.add, e);
7489
7504
  for (let n in t) {
7490
7505
  if (!Object.hasOwn(t, n)) continue;
7491
7506
  let r = t[n], i = e[n];
7492
- e[n] = up(i) && up(r) && Object.hasOwn(e, n) && !c(r) && !l(r) ? Ap(i, r) : r;
7507
+ e[n] = dp(i) && dp(r) && Object.hasOwn(e, n) && !c(r) && !l(r) ? jp(i, r) : r;
7493
7508
  }
7494
7509
  return e;
7495
7510
  }
7496
- var jp = Symbol();
7497
- function Mp(e) {
7498
- return !e || typeof e != "object" || !Object.hasOwn(e, jp);
7511
+ var Mp = Symbol();
7512
+ function Np(e) {
7513
+ return !e || typeof e != "object" || !Object.hasOwn(e, Mp);
7499
7514
  }
7500
- var { assign: Np } = Object;
7501
- function Pp(e) {
7515
+ var { assign: Pp } = Object;
7516
+ function Fp(e) {
7502
7517
  return !!(c(e) && e.effect);
7503
7518
  }
7504
- function Fp(e, n, r, i) {
7519
+ function Ip(e, n, r, i) {
7505
7520
  let { state: a, actions: s, getters: c } = n, l = r.state.value[e], d;
7506
7521
  function f() {
7507
7522
  return l ||
7508
7523
  /* istanbul ignore if */
7509
- (r.state.value[e] = a ? a() : {}), Np(t(r.state.value[e]), s, Object.keys(c || {}).reduce((t, n) => (t[n] = o(u(() => {
7510
- cp(r);
7524
+ (r.state.value[e] = a ? a() : {}), Pp(t(r.state.value[e]), s, Object.keys(c || {}).reduce((t, n) => (t[n] = o(u(() => {
7525
+ lp(r);
7511
7526
  let t = r._s.get(e);
7512
7527
  return c[n].call(t, t);
7513
7528
  })), t), {}));
7514
7529
  }
7515
- return d = Ip(e, f, n, r, i, !0), d;
7530
+ return d = Lp(e, f, n, r, i, !0), d;
7516
7531
  }
7517
- function Ip(e, t, n = {}, r, o, u) {
7518
- let f, p = Np({ actions: {} }, n), m = { deep: !0 }, g, _, v = /* @__PURE__ */ new Set(), ee = /* @__PURE__ */ new Set(), te, ne = r.state.value[e];
7532
+ function Lp(e, t, n = {}, r, o, u) {
7533
+ let f, p = Pp({ actions: {} }, n), m = { deep: !0 }, g, _, v = /* @__PURE__ */ new Set(), ee = /* @__PURE__ */ new Set(), te, ne = r.state.value[e];
7519
7534
  !u && !ne &&
7520
7535
  /* istanbul ignore if */
7521
7536
  (r.state.value[e] = {});
@@ -7526,7 +7541,7 @@ function Ip(e, t, n = {}, r, o, u) {
7526
7541
  type: "patch function",
7527
7542
  storeId: e,
7528
7543
  events: te
7529
- }) : (Ap(r.state.value[e], t), n = {
7544
+ }) : (jp(r.state.value[e], t), n = {
7530
7545
  type: "patch object",
7531
7546
  payload: t,
7532
7547
  storeId: e,
@@ -7535,21 +7550,21 @@ function Ip(e, t, n = {}, r, o, u) {
7535
7550
  let a = re = Symbol();
7536
7551
  i().then(() => {
7537
7552
  re === a && (g = !0);
7538
- }), _ = !0, Ep(v, n, r.state.value[e]);
7553
+ }), _ = !0, Dp(v, n, r.state.value[e]);
7539
7554
  }
7540
7555
  let ae = u ? function() {
7541
7556
  let { state: e } = n, t = e ? e() : {};
7542
7557
  this.$patch((e) => {
7543
- Np(e, t);
7558
+ Pp(e, t);
7544
7559
  });
7545
- } : wp;
7560
+ } : Tp;
7546
7561
  function oe() {
7547
7562
  f.stop(), v.clear(), ee.clear(), r._s.delete(e);
7548
7563
  }
7549
7564
  let y = (t, n = "") => {
7550
- if (Op in t) return t[kp] = n, t;
7565
+ if (kp in t) return t[Ap] = n, t;
7551
7566
  let i = function() {
7552
- cp(r);
7567
+ lp(r);
7553
7568
  let n = Array.from(arguments), a = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set();
7554
7569
  function s(e) {
7555
7570
  a.add(e);
@@ -7557,9 +7572,9 @@ function Ip(e, t, n = {}, r, o, u) {
7557
7572
  function c(e) {
7558
7573
  o.add(e);
7559
7574
  }
7560
- Ep(ee, {
7575
+ Dp(ee, {
7561
7576
  args: n,
7562
- name: i[kp],
7577
+ name: i[Ap],
7563
7578
  store: b,
7564
7579
  after: s,
7565
7580
  onError: c
@@ -7568,41 +7583,41 @@ function Ip(e, t, n = {}, r, o, u) {
7568
7583
  try {
7569
7584
  l = t.apply(this && this.$id === e ? this : b, n);
7570
7585
  } catch (e) {
7571
- throw Ep(o, e), e;
7586
+ throw Dp(o, e), e;
7572
7587
  }
7573
- return l instanceof Promise ? l.then((e) => (Ep(a, e), e)).catch((e) => (Ep(o, e), Promise.reject(e))) : (Ep(a, l), l);
7588
+ return l instanceof Promise ? l.then((e) => (Dp(a, e), e)).catch((e) => (Dp(o, e), Promise.reject(e))) : (Dp(a, l), l);
7574
7589
  };
7575
- return i[Op] = !0, i[kp] = n, i;
7590
+ return i[kp] = !0, i[Ap] = n, i;
7576
7591
  }, se = {
7577
7592
  _p: r,
7578
7593
  $id: e,
7579
- $onAction: Tp.bind(null, ee),
7594
+ $onAction: Ep.bind(null, ee),
7580
7595
  $patch: ie,
7581
7596
  $reset: ae,
7582
7597
  $subscribe(t, n = {}) {
7583
- if (v.has(t)) return wp;
7584
- let i = Tp(v, t, n.detached, () => a()), a = f.run(() => d(() => r.state.value[e], (r) => {
7598
+ if (v.has(t)) return Tp;
7599
+ let i = Ep(v, t, n.detached, () => a()), a = f.run(() => d(() => r.state.value[e], (r) => {
7585
7600
  (n.flush === "sync" ? _ : g) && t({
7586
7601
  storeId: e,
7587
7602
  type: "direct",
7588
7603
  events: te
7589
7604
  }, r);
7590
- }, Np({}, m, n)));
7605
+ }, Pp({}, m, n)));
7591
7606
  return i;
7592
7607
  },
7593
7608
  $dispose: oe
7594
7609
  }, b = h(se);
7595
7610
  r._s.set(e, b);
7596
- let x = (r._a && r._a.runWithContext || Dp)(() => r._e.run(() => (f = s()).run(() => t({ action: y }))));
7611
+ let x = (r._a && r._a.runWithContext || Op)(() => r._e.run(() => (f = s()).run(() => t({ action: y }))));
7597
7612
  for (let t in x) {
7598
7613
  let n = x[t];
7599
- c(n) && !Pp(n) || l(n) ? u || (ne && Mp(n) && (c(n) ? n.value = ne[t] : ((n instanceof Set || n instanceof Map) && n.clear(), Ap(n, ne[t]))), r.state.value[e][t] = n) : typeof n == "function" && (x[t] = y(n, t), p.actions[t] = n);
7614
+ c(n) && !Fp(n) || l(n) ? u || (ne && Np(n) && (c(n) ? n.value = ne[t] : ((n instanceof Set || n instanceof Map) && n.clear(), jp(n, ne[t]))), r.state.value[e][t] = n) : typeof n == "function" && (x[t] = y(n, t), p.actions[t] = n);
7600
7615
  }
7601
- return Np(b, x), Np(a(b), x), Object.defineProperty(b, "$state", {
7616
+ return Pp(b, x), Pp(a(b), x), Object.defineProperty(b, "$state", {
7602
7617
  get: () => r.state.value[e],
7603
7618
  set: (e) => {
7604
7619
  ie((t) => {
7605
- Np(t, e);
7620
+ Pp(t, e);
7606
7621
  });
7607
7622
  }
7608
7623
  }), r._p.forEach((e) => {
@@ -7612,19 +7627,19 @@ function Ip(e, t, n = {}, r, o, u) {
7612
7627
  pinia: r,
7613
7628
  options: p
7614
7629
  }));
7615
- Np(b, t);
7630
+ Pp(b, t);
7616
7631
  }), ne && u && n.hydrate && n.hydrate(b.$state, ne), g = !0, _ = !0, b;
7617
7632
  }
7618
- function Lp(t, r, i) {
7633
+ function Rp(t, r, i) {
7619
7634
  let a, o = typeof r == "function";
7620
7635
  a = o ? i : r;
7621
7636
  function s(i, s) {
7622
7637
  let c = n();
7623
- return i ||= c ? e(lp, null) : null, i && cp(i), i = sp, i._s.has(t) || (o ? Ip(t, r, a, i) : Fp(t, a, i)), i._s.get(t);
7638
+ return i ||= c ? e(up, null) : null, i && lp(i), i = cp, i._s.has(t) || (o ? Lp(t, r, a, i) : Ip(t, a, i)), i._s.get(t);
7624
7639
  }
7625
7640
  return s.$id = t, s;
7626
7641
  }
7627
- function Rp(e) {
7642
+ function zp(e) {
7628
7643
  let t = a(e), n = {};
7629
7644
  for (let i in t) {
7630
7645
  let a = t[i];
@@ -7638,4 +7653,4 @@ function Rp(e) {
7638
7653
  return n;
7639
7654
  }
7640
7655
  //#endregion
7641
- export { ku as $, Tf as A, of as B, Mf as C, kf as D, vf as E, mf as F, xd as G, Qd as H, sf as I, Xu as J, Yu as K, af as L, bf as M, Ef as N, Af as O, Df as P, rd as Q, nf as R, Zf as S, Of as T, Gd as U, ef as V, Sd as W, md as X, hd as Y, gd as Z, Pf as _, qf as a, ep as b, ap as c, If as d, qu as et, Bf as f, zf as g, Ff as h, Wf as i, wf as j, Sf as k, Xf as l, Lf as m, Lp as n, Du as nt, Kf as o, Gf as p, Qu as q, Rp as r, Mu as rt, Qf as s, Cp as t, Ju as tt, Rf as u, Vf as v, jf as w, tp as x, Hf as y, cf as z };
7656
+ export { Au as $, Ef as A, sf as B, Nf as C, Af as D, yf as E, hf as F, Sd as G, $d as H, cf as I, Zu as J, Xu as K, of as L, xf as M, Df as N, jf as O, Of as P, id as Q, rf as R, Qf as S, kf as T, Kd as U, tf as V, Cd as W, hd as X, gd as Y, _d as Z, Ff as _, Jf as a, tp as b, op as c, Lf as d, Ju as et, Vf as f, Bf as g, If as h, Gf as i, Tf as j, Cf as k, Zf as l, Rf as m, Rp as n, Ou as nt, qf as o, Kf as p, $u as q, zp as r, Nu as rt, $f as s, wp as t, Yu as tt, zf as u, Hf as v, Mf as w, np as x, Uf as y, lf as z };