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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (643) hide show
  1. package/dist/interface/assets/{404-YZOLos9r.js → 404-CiOxoqnT.js} +1 -1
  2. package/dist/interface/assets/{About-HtxMc8JZ.js → About-DWOlfWEm.js} +1 -1
  3. package/dist/interface/assets/Assistant-B1xdMAkA.js +1 -0
  4. package/dist/interface/assets/{Assistant-BMscGKnc.css → Assistant-CXx7EY1W.css} +1 -1
  5. package/dist/interface/assets/{Automation-D3DcUyui.js → Automation-BJgwUkUB.js} +3 -3
  6. package/dist/interface/assets/{AutomationImport-Dp_hT6hQ.js → AutomationImport-9GRAndAt.js} +2 -2
  7. package/dist/interface/assets/{AutomationStore-BKR7GXMk.js → AutomationStore-D_HR2Xby.js} +2 -2
  8. package/dist/interface/assets/{AutomationStoreDetail-B9yh51WQ.js → AutomationStoreDetail-B9MxV2py.js} +2 -2
  9. package/dist/interface/assets/Automations-Bpw8olkc.js +2 -0
  10. package/dist/interface/assets/Camera-BpFfZDaS.js +2 -0
  11. package/dist/interface/assets/{CameraConsole-BI93OaRt.js → CameraConsole-BKPTLSTO.js} +1 -1
  12. package/dist/interface/assets/{Cameras-Ctub8sVt.js → Cameras-DcrVCgLy.js} +2 -2
  13. package/dist/interface/assets/Camview-C16pyCZk.js +1 -0
  14. package/dist/interface/assets/{Camview-CZct5cnP.css → Camview-DasO326h.css} +1 -1
  15. package/dist/interface/assets/{CertificateUpload-xW55NA1Q.js → CertificateUpload-BYFKZCP9.js} +1 -1
  16. package/dist/interface/assets/Config-BmEL5EaW.js +2 -0
  17. package/dist/interface/assets/{ConfigActionAssistant-B488rOp5.js → ConfigActionAssistant-DM4tIhoa.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionCameraControl-ZMUuBxOs.js → ConfigActionCameraControl-Deo0eDPS.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionDelay-BJ11xvOW.js → ConfigActionDelay-_EqbfWgo.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionHttp-DOUo69OR.js → ConfigActionHttp-BxJmoshF.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionImageInput-BMzuVZW9.js → ConfigActionImageInput-KrzXFQDm.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionMqtt-Co_uksca.js → ConfigActionMqtt-BoYBomRC.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionNotification-CcZkstYx.js → ConfigActionNotification-CSAOijDt.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionNotificationControl--VeucoTw.js → ConfigActionNotificationControl-BOdyKiOs.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionOutput-CyDa1LGA.js → ConfigActionOutput-CwsPcnd_.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionPlugin-Kfg3ZEQF.js → ConfigActionPlugin-D3wyULpp.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionSensor-DhAF0HPw.js → ConfigActionSensor-BmeaIxYY.js} +1 -1
  28. package/dist/interface/assets/{ConfigActionSnapshot-zMe3SPvW.js → ConfigActionSnapshot-DbyFKcYr.js} +1 -1
  29. package/dist/interface/assets/{ConfigActionVariable-BE5q3NwY.js → ConfigActionVariable-cThGJ1Pc.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionIfElse-BNIRtSVD.js → ConfigConditionIfElse-BugkJeXR.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionSensorState-DTNd-SzI.js → ConfigConditionSensorState-Bf-mMf4E.js} +1 -1
  32. package/dist/interface/assets/{ConfigConditionSwitch-BU5wWMU1.js → ConfigConditionSwitch-DcpFoYET.js} +1 -1
  33. package/dist/interface/assets/{ConfigConditionTime-KXTCIVIV.js → ConfigConditionTime-CM4bSMyU.js} +1 -1
  34. package/dist/interface/assets/{ConfigSensorValueInput-BC1FpMm-.js → ConfigSensorValueInput-CgAI34__.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerDetection-hIN1hi53.js → ConfigTriggerDetection-BWK6gfwM.js} +1 -1
  36. package/dist/interface/assets/ConfigTriggerGeofence-Cm3CU7Tl.js +1 -0
  37. package/dist/interface/assets/{ConfigTriggerManual-C5vwxS-e.js → ConfigTriggerManual-DgkR-GWy.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerMqtt-B4PtWC3E.js → ConfigTriggerMqtt-BMFjTAso.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSchedule-BZzUdGBa.js → ConfigTriggerSchedule-E_QWfNKy.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerSensor-D18nwMsj.js → ConfigTriggerSensor-DOdJkZRo.js} +1 -1
  41. package/dist/interface/assets/{ConfigTriggerSystem-BhygWLB4.js → ConfigTriggerSystem-BFDIbZsE.js} +1 -1
  42. package/dist/interface/assets/{ConfigTriggerWebhook-yyuBuhLD.js → ConfigTriggerWebhook-DDoUEVHb.js} +1 -1
  43. package/dist/interface/assets/Console-BIj7cIqO.js +1 -0
  44. package/dist/interface/assets/CuiAssistantConversation-CRNCKRHz.js +5 -0
  45. package/dist/interface/assets/{CuiAssistantConversation-lkpZg3ML.css → CuiAssistantConversation-DQ0wOJvV.css} +1 -1
  46. package/dist/interface/assets/CuiAutomationRunsDialog-DMUfNcsf.js +1 -0
  47. package/dist/interface/assets/CuiBottomSheet-CYi5c3fP.js +1 -0
  48. package/dist/interface/assets/{CuiBottomSheet-DWefGWK2.js → CuiBottomSheet-FwsPnJ3n.js} +1 -1
  49. package/dist/interface/assets/{CuiCameraPipCard-C2qaGJlH.js → CuiCameraPipCard-Cb_Qbly6.js} +1 -1
  50. package/dist/interface/assets/CuiCameraRecordings-BeciatDY.js +1 -0
  51. package/dist/interface/assets/{CuiCameraShares-DcqOcePX.js → CuiCameraShares-CSFwIYsg.js} +1 -1
  52. package/dist/interface/assets/CuiCameraTable-BgL5FZso.js +1 -0
  53. package/dist/interface/assets/{CuiCameraTable-BOkfp_5M.js → CuiCameraTable-DBRfGX3I.js} +2 -2
  54. package/dist/interface/assets/{CuiChartTable-DP38uBwK.js → CuiChartTable-CtasoxMM.js} +1 -1
  55. package/dist/interface/assets/{CuiConsole-C7xE_nQg.js → CuiConsole-DQbAafiz.js} +2 -2
  56. package/dist/interface/assets/CuiDataTable-JlD7Agky.js +1 -0
  57. package/dist/interface/assets/{CuiLightControl-ChGYpQAK.js → CuiLightControl-CLYl5pfN.js} +1 -1
  58. package/dist/interface/assets/{CuiList-DJp0__mV.js → CuiList-Dsu5m0TA.js} +1 -1
  59. package/dist/interface/assets/{CuiMarkdownContent-BUYtK_wD.js → CuiMarkdownContent-BYBQX_aF.js} +1 -1
  60. package/dist/interface/assets/CuiMarkdownContent-DTAm-EDR.js +1 -0
  61. package/dist/interface/assets/{CuiPluginCard-CWImTZ6l.js → CuiPluginCard-CC1oXY16.js} +2 -2
  62. package/dist/interface/assets/{CuiPluginCategoryChip-Ch_upS6Y.js → CuiPluginCategoryChip-B2bR5LQa.js} +1 -1
  63. package/dist/interface/assets/{CuiPluginOAuthButton-DEQ9xILN.js → CuiPluginOAuthButton-DfEjfcY-.js} +2 -2
  64. package/dist/interface/assets/{CuiPluginTrustBadge-sVWdvHcM.js → CuiPluginTrustBadge-C6CW6Soh.js} +1 -1
  65. package/dist/interface/assets/{CuiQRCode-DqSF4SkD.js → CuiQRCode-DGKBhDib.js} +1 -1
  66. package/dist/interface/assets/CuiSchema-pAAVh28m.js +1 -0
  67. package/dist/interface/assets/{CuiTopNavbarItem-B_KWykgq.js → CuiTopNavbarItem-ve-3Dsc3.js} +1 -1
  68. package/dist/interface/assets/Faces-1xd5yGuO.js +1 -0
  69. package/dist/interface/assets/{FirstSteps-QNYTkEJo.js → FirstSteps-E9cMqa0a.js} +1 -1
  70. package/dist/interface/assets/Floorplan-BovV_ATh.js +1 -0
  71. package/dist/interface/assets/Instances-BbxyB7vR.js +1 -0
  72. package/dist/interface/assets/{Logs-BSPT80vP.js → Logs-BhRactvQ.js} +2 -2
  73. package/dist/interface/assets/{Menu-HHtuhIS2.js → Menu-DMCmUVDs.js} +1 -1
  74. package/dist/interface/assets/Metrics-BgXrNl38.js +12 -0
  75. package/dist/interface/assets/Metrics-ChVnC6f6.css +1 -0
  76. package/dist/interface/assets/{OAuthDeviceFlow-Bn1nlWNa.js → OAuthDeviceFlow-BMEwVkIa.js} +1 -1
  77. package/dist/interface/assets/Plugin-CDNywaVE.js +1 -0
  78. package/dist/interface/assets/Plugin-Qr_Q_Qfi.css +1 -0
  79. package/dist/interface/assets/{PluginConsole-Cv-uhnPY.js → PluginConsole-C4Ba_U_1.js} +1 -1
  80. package/dist/interface/assets/{PluginDetail-cpOz7FkA.js → PluginDetail-13OWIzdd.js} +2 -2
  81. package/dist/interface/assets/{PluginSchema-DW3TGeTM.js → PluginSchema-DN0cSU8s.js} +1 -1
  82. package/dist/interface/assets/PluginSearch-sPkO8aH3.js +2 -0
  83. package/dist/interface/assets/PluginSearch-xNIlfXk4.js +1 -0
  84. package/dist/interface/assets/{PluginUpdateProgress-n6q6vzyd.js → PluginUpdateProgress-CeWuRp3Z.js} +1 -1
  85. package/dist/interface/assets/Plugins-C8yjhxnQ.js +1 -0
  86. package/dist/interface/assets/{RecentEventsFilter-CTR5JK_P.js → RecentEventsFilter-Kp_lTOuG.js} +1 -1
  87. package/dist/interface/assets/Recordings-BHT8Vvv_.js +1 -0
  88. package/dist/interface/assets/Recordings-DwuojaAw.css +1 -0
  89. package/dist/interface/assets/SensorEdit-C-yJdJuP.js +1 -0
  90. package/dist/interface/assets/{SensorHistory-9CdOpCPs.js → SensorHistory-ClAcOgHj.js} +1 -1
  91. package/dist/interface/assets/Sensors-Cza4Et2c.js +2 -0
  92. package/dist/interface/assets/Settings-Cj0leoGd.js +1 -0
  93. package/dist/interface/assets/SettingsAccount-COkcBBSz.js +1 -0
  94. package/dist/interface/assets/SettingsAccount-DjrJdssy.js +1 -0
  95. package/dist/interface/assets/{SettingsAppearance-BY1xQMx4.js → SettingsAppearance-CJt4xJEW.js} +1 -1
  96. package/dist/interface/assets/SettingsAppearance-D20YW7Vq.js +1 -0
  97. package/dist/interface/assets/SettingsAssistant-CDdbbG-c.css +1 -0
  98. package/dist/interface/assets/SettingsAssistant-DKWDp1AI.js +1 -0
  99. package/dist/interface/assets/{SettingsBackup-D_weokqu.js → SettingsBackup-DIJmci05.js} +1 -1
  100. package/dist/interface/assets/{SettingsList-Bq24WTDU.js → SettingsList-Cb_dLy5T.js} +1 -1
  101. package/dist/interface/assets/SettingsMqtt-LIuCRPT5.js +1 -0
  102. package/dist/interface/assets/{SettingsNotifications-8TZOUxg2.js → SettingsNotifications-CZxqqH_8.js} +1 -1
  103. package/dist/interface/assets/{SettingsPermissions-M8u_jrN0.js → SettingsPermissions-CJiz0Z7B.js} +1 -1
  104. package/dist/interface/assets/{SettingsRecordings-C1Kp5xW_.js → SettingsRecordings-BEpwMh-y.js} +1 -1
  105. package/dist/interface/assets/SettingsRemote-DRt-N_yA.js +2 -0
  106. package/dist/interface/assets/{SettingsSystem-Cetu2faJ.js → SettingsSystem-Cncdpx8T.js} +2 -2
  107. package/dist/interface/assets/{SettingsUsers-CDwtQLdV.js → SettingsUsers-DZkz8WlI.js} +1 -1
  108. package/dist/interface/assets/Terminal-U4yfJN3O.js +4 -0
  109. package/dist/interface/assets/Training-Bkn52mPJ.css +1 -0
  110. package/dist/interface/assets/Training-DfgE_dA8.js +1 -0
  111. package/dist/interface/assets/Updates-cCvbFq3w.js +2 -0
  112. package/dist/interface/assets/{VariableInput-BxPj5wo6.js → VariableInput-PVsqGYW0.js} +1 -1
  113. package/dist/interface/assets/{VariableSuggestions-CbizvAkz.js → VariableSuggestions-DwLtlzVz.js} +1 -1
  114. package/dist/interface/assets/{VersionsHandler-CePyEUVO.js → VersionsHandler-Df7dhddp.js} +2 -2
  115. package/dist/interface/assets/{VirtualSensorCreate-D_GVoeL7.js → VirtualSensorCreate-FTKANjd-.js} +1 -1
  116. package/dist/interface/assets/Workers-Ba37_3cY.js +2 -0
  117. package/dist/interface/assets/{account-Bu30He0P.js → account-DwW7pBOb.js} +1 -1
  118. package/dist/interface/assets/{alert-circle-D2fAQwTX.js → alert-circle-BdUVAt1B.js} +1 -1
  119. package/dist/interface/assets/{alert-outline-D7zaSJH_.js → alert-outline-IRxYbw0j.js} +1 -1
  120. package/dist/interface/assets/api-C1mraOYr.js +4 -0
  121. package/dist/interface/assets/{api-DW2niHRN.js → api-DpqXhwcx.js} +1 -1
  122. package/dist/interface/assets/api-z8ZVnoOl.css +2 -0
  123. package/dist/interface/assets/{arrow-left-BGLyEqqa.js → arrow-left-Bk-ZrOVr.js} +1 -1
  124. package/dist/interface/assets/assistant-Lz3mFLDo.js +1 -0
  125. package/dist/interface/assets/{assistantModels-D0soYqq7.js → assistantModels-BsSgRsws.js} +1 -1
  126. package/dist/interface/assets/{auth-Dc8bUpc-.js → auth-L7_5vsJs.js} +1 -1
  127. package/dist/interface/assets/{automations-DXrjbArj.js → automations-D1XFFSrm.js} +1 -1
  128. package/dist/interface/assets/{back-filled-BPBVnQjx.js → back-filled-D-X19YMO.js} +1 -1
  129. package/dist/interface/assets/{bell-ring-CyCFPUL_.js → bell-ring-DreEHgoT.js} +1 -1
  130. package/dist/interface/assets/{brain-CIJB1ree.js → brain-DuDAg544.js} +1 -1
  131. package/dist/interface/assets/{cameraSources-QJfUDOQJ.js → cameraSources-DEGJDtmK.js} +1 -1
  132. package/dist/interface/assets/{cctv-D6kxZ-lp.js → cctv-DM-C_8_6.js} +1 -1
  133. package/dist/interface/assets/{check-circle-DHAAn6A6.js → check-circle-Bevuw8-0.js} +1 -1
  134. package/dist/interface/assets/{check-circle-outline-BbqeKfIK.js → check-circle-outline-aMxkvksr.js} +1 -1
  135. package/dist/interface/assets/{chevron-down-ZYTrU871.js → chevron-down-CCFn9Z56.js} +1 -1
  136. package/dist/interface/assets/{chevron-up-LQXNz9CE.js → chevron-up-CSImUM3_.js} +1 -1
  137. package/dist/interface/assets/{clock-outline-CKTiLKoR.js → clock-outline-DH3WIEJt.js} +1 -1
  138. package/dist/interface/assets/{close-BbEPZQqa.js → close-CMxyM4v9.js} +1 -1
  139. package/dist/interface/assets/{close-circle-BSUSUs4K.js → close-circle-CfgJCZ9A.js} +1 -1
  140. package/dist/interface/assets/{cloud-check-BTGbrAQ_.js → cloud-check-CbdFLIdR.js} +1 -1
  141. package/dist/interface/assets/cloudHandoff-DkUx4m3P.js +1 -0
  142. package/dist/interface/assets/{config-CiQDwB4t.js → config-CVqy37fG.js} +1 -1
  143. package/dist/interface/assets/{content-copy-V0DW9ZbH.js → content-copy-Bz49QPOI.js} +1 -1
  144. package/dist/interface/assets/{copy-DsmMEtSH.js → copy-DA6QQHRt.js} +1 -1
  145. package/dist/interface/assets/{cube-scan-DGhUFV1x.js → cube-scan-IiH8zwm2.js} +1 -1
  146. package/dist/interface/assets/database-refresh-outline-CIUDpcuq.js +1 -0
  147. package/dist/interface/assets/{delete-CY8fsIW6.js → delete-Btu-UVx9.js} +1 -1
  148. package/dist/interface/assets/{dist-DNyx_J8o.js → dist-D_qWDAKp.js} +1 -1
  149. package/dist/interface/assets/{dots-vertical-pP1vP0Qa.js → dots-vertical-D496SIss.js} +1 -1
  150. package/dist/interface/assets/{download-CyjJ7yJW.js → download-BSC7lwq_.js} +1 -1
  151. package/dist/interface/assets/esm-0kxqa_1s.js +1 -0
  152. package/dist/interface/assets/esm-4p_M5mFV.js +1 -0
  153. package/dist/interface/assets/esm-8G-vO1KQ.js +1 -0
  154. package/dist/interface/assets/esm-8cB56ICb.js +1 -0
  155. package/dist/interface/assets/esm-B92csSEb.js +1 -0
  156. package/dist/interface/assets/esm-BHiNTIiN.js +1 -0
  157. package/dist/interface/assets/esm-Bu9PMLmw.js +1 -0
  158. package/dist/interface/assets/esm-CS6Ra46d.js +1 -0
  159. package/dist/interface/assets/esm-CWvQWALL.js +1 -0
  160. package/dist/interface/assets/esm-D2UDrwmt.js +1 -0
  161. package/dist/interface/assets/esm-D8OHF2X1.js +1 -0
  162. package/dist/interface/assets/esm-DrXkS8eG.js +1 -0
  163. package/dist/interface/assets/esm-pfoHiO1a.js +1 -0
  164. package/dist/interface/assets/esm-tJSCF7Vh.js +1 -0
  165. package/dist/interface/assets/{eventIcons-cdzqQc0W.js → eventIcons-UQutPG3p.js} +1 -1
  166. package/dist/interface/assets/{eye-off-JCu1iUer.js → eye-off-CSU0U8g7.js} +1 -1
  167. package/dist/interface/assets/{eye-off-outline-GErp76H2.js → eye-off-outline-DCxLRGo_.js} +1 -1
  168. package/dist/interface/assets/{flowSchema-BRTZHQ1w.js → flowSchema-CppNBDy1.js} +1 -1
  169. package/dist/interface/assets/{help-circle-outline-G43EJuch.js → help-circle-outline-Cr_yNhPi.js} +1 -1
  170. package/dist/interface/assets/{history-CNJREqJG.js → history-anuCbp1T.js} +1 -1
  171. package/dist/interface/assets/{home-B-_OQpZ6.js → home-N3bDR1vX.js} +1 -1
  172. package/dist/interface/assets/{information-outline-Blt4EtWJ.js → information-outline-CMWIvLNB.js} +1 -1
  173. package/dist/interface/assets/{intercomService-BnA-FQ0Q.js → intercomService-CjoJaOZ7.js} +1 -1
  174. package/dist/interface/assets/{lan-C3jliANx.js → lan-CYXjdk7L.js} +1 -1
  175. package/dist/interface/assets/main-BK3kmiG2.js +3 -0
  176. package/dist/interface/assets/{main-BoGhBedC.css → main-Bo0Lb1y2.css} +1 -1
  177. package/dist/interface/assets/{microphone-B6xc9JQ2.js → microphone-BB2pATI_.js} +1 -1
  178. package/dist/interface/assets/{minus-BI5qXFwJ.js → minus-BCp3ZNKO.js} +1 -1
  179. package/dist/interface/assets/{mqtt-iD9XHYO_.js → mqtt-BENV9Fx4.js} +1 -1
  180. package/dist/interface/assets/native-BEkWOGyD.js +1 -0
  181. package/dist/interface/assets/native-ugMg173F.js +1 -0
  182. package/dist/interface/assets/{nodeDefinitions-Dop49tx8.js → nodeDefinitions-ByrqsENY.js} +1 -1
  183. package/dist/interface/assets/{notifications-CbAJX7RF.js → notifications-By40oPng.js} +1 -1
  184. package/dist/interface/assets/{pause-DKzvPG2b.js → pause-BQlxwAW2.js} +1 -1
  185. package/dist/interface/assets/{pencil-DKbi9SsG.js → pencil-CDsNnEXi.js} +1 -1
  186. package/dist/interface/assets/{pencil-outline-CD3Xv98d.js → pencil-outline-CIQL5Kui.js} +1 -1
  187. package/dist/interface/assets/plugin-eafNQWg2.js +1 -0
  188. package/dist/interface/assets/{plugins-eIUrXNeM.js → plugins-09rEDbMz.js} +1 -1
  189. package/dist/interface/assets/{plus-CHPYoMO_.js → plus-Bp4q9G7S.js} +1 -1
  190. package/dist/interface/assets/{plus--kDl8ben.js → plus-CySoovdr.js} +1 -1
  191. package/dist/interface/assets/{power-C9wmNlFS.js → power-WmBLDR0-.js} +1 -1
  192. package/dist/interface/assets/{radar-B3ra28GD.js → radar-CyYAmume.js} +1 -1
  193. package/dist/interface/assets/{refresh-DfqyhMOh.js → refresh-CHTA3jVN.js} +1 -1
  194. package/dist/interface/assets/{restore-FMacmqd_.js → restore-C8RNM5yX.js} +1 -1
  195. package/dist/interface/assets/{rooms-BqPyo8jc.js → rooms-LBxn-Uuu.js} +1 -1
  196. package/dist/interface/assets/{round-alt-arrow-left-bold-56eF9Bol.js → round-alt-arrow-left-bold-Gh5mi_yR.js} +1 -1
  197. package/dist/interface/assets/{search-BXbDWhLk.js → search-BajCVmOI.js} +1 -1
  198. package/dist/interface/assets/sensorIcons-Csu5s0uk.js +1 -0
  199. package/dist/interface/assets/{sensorSlots-BZCXtnb6.js → sensorSlots-CtbKmsGG.js} +1 -1
  200. package/dist/interface/assets/{sensors-DttBNEEt.js → sensors-CbzNs18A.js} +1 -1
  201. package/dist/interface/assets/{server-DUFhf2c_.js → server-Btp5KILd.js} +1 -1
  202. package/dist/interface/assets/{settings-Cw63SIJl.js → settings-DnksaK7m.js} +1 -1
  203. package/dist/interface/assets/{source-branch-oyzrlfCD.js → source-branch-CzqIPffP.js} +1 -1
  204. package/dist/interface/assets/{theme-BMmjtQ4w.js → theme-GhzGwpqd.js} +1 -1
  205. package/dist/interface/assets/{trash-2-BQc04l9M.js → trash-2-DJeEhHf4.js} +1 -1
  206. package/dist/interface/assets/{trash-can-outline-Bk5eENNM.js → trash-can-outline-DrT6iw7I.js} +1 -1
  207. package/dist/interface/assets/{trash-fill-CXk8BmtF.js → trash-fill-Bb_-UicM.js} +1 -1
  208. package/dist/interface/assets/{trash2-2rUvghml.js → trash2-Dsl8gfxq.js} +1 -1
  209. package/dist/interface/assets/types-BAwhu9iv.js +1 -0
  210. package/dist/interface/assets/{types-DWTSNJ79.js → types-CklFkUXk.js} +1 -1
  211. package/dist/interface/assets/{types-CXw7CEzu.js → types-D8QWPhe-.js} +1 -1
  212. package/dist/interface/assets/{undo-Dcf7vcsv.js → undo-DoqJW-k7.js} +1 -1
  213. package/dist/interface/assets/ungrouped-BMk56E3L.js +1 -0
  214. package/dist/interface/assets/{ungrouped-DHMJ9Rg1.css → ungrouped-BnQIcSQd.css} +1 -1
  215. package/dist/interface/assets/{updates-TIPWXKzL.js → updates-CGo0T4sn.js} +1 -1
  216. package/dist/interface/assets/{upload-nnbfDypK.js → upload-C3w1XH-o.js} +1 -1
  217. package/dist/interface/assets/{upload-B-ZYPekV.js → upload-DtIcwiNC.js} +1 -1
  218. package/dist/interface/assets/{useAppVersion-BIz44Bg4.js → useAppVersion-CJlexqyz.js} +1 -1
  219. package/dist/interface/assets/{useAssistantActions-CLkkw9kB.js → useAssistantActions-Cc_O6M9_.js} +1 -1
  220. package/dist/interface/assets/useBackupRestore-_s8vS5WF.js +1 -0
  221. package/dist/interface/assets/{useCameraOptions-A97teAIr.js → useCameraOptions-CFISVNgk.js} +1 -1
  222. package/dist/interface/assets/{useKeyboardInset-DXVi1dLG.js → useKeyboardInset-DkUn62i7.js} +1 -1
  223. package/dist/interface/assets/{useLogsSocket-BlFxVXjF.js → useLogsSocket-D-ndWAg0.js} +1 -1
  224. package/dist/interface/assets/{useNavLayout-C5obaCNv.js → useNavLayout-CG0X_3kt.js} +1 -1
  225. package/dist/interface/assets/{usePermissions-C8hB_pG1.js → usePermissions-BXTw4tII.js} +1 -1
  226. package/dist/interface/assets/{usePluginUpdates-DO0-Gk4Q.js → usePluginUpdates-nW_dt66E.js} +1 -1
  227. package/dist/interface/assets/{usePushRegistration-BUttCraQ.js → usePushRegistration-DCqOAxR4.js} +2 -2
  228. package/dist/interface/assets/{useServerRestart-Cz9eVHUE.js → useServerRestart-CxJGxAcU.js} +1 -1
  229. package/dist/interface/assets/{useStreamStatus-BhS_MCCB.js → useStreamStatus-CXb1HbAq.js} +1 -1
  230. package/dist/interface/assets/{useTabSwipe-D4k8lm1M.js → useTabSwipe-DHb8__wU.js} +1 -1
  231. package/dist/interface/assets/{useUpdateChannel-D9lhfW0y.js → useUpdateChannel-BR4PMh1R.js} +1 -1
  232. package/dist/interface/assets/{useUpdatesSocket-DnH9sON5.js → useUpdatesSocket-DKDRZhvc.js} +1 -1
  233. package/dist/interface/assets/useUserOptions-lyc4WJ4L.js +1 -0
  234. package/dist/interface/assets/{variable-CcE0ZwTr.js → variable-ywTlRfo5.js} +1 -1
  235. package/dist/interface/assets/{vendor-cameraui-QXD8jkcj.js → vendor-cameraui-CK4yHsJi.js} +45 -45
  236. package/dist/interface/assets/{vendor-capacitor-COL6Kz75.js → vendor-capacitor-f9ShAzys.js} +2 -2
  237. package/dist/interface/assets/{vendor-chart-80wrH3md.js → vendor-chart-DBK083Hu.js} +1 -1
  238. package/dist/interface/assets/{vendor-core-CnhnyKDl.js → vendor-core-B-Q4es-f.js} +1 -1
  239. package/dist/interface/assets/{vendor-dnd-CEJS9JKU.js → vendor-dnd-DGQLvX6Y.js} +1 -1
  240. package/dist/interface/assets/{vendor-draggabilly-BY7O1F_Z.js → vendor-draggabilly-D8CK6M-y.js} +1 -1
  241. package/dist/interface/assets/{vendor-DGke_6M4.js → vendor-gFkr2qsZ.js} +1 -1
  242. package/dist/interface/assets/vendor-gridstack-DtDG3os6.js +3 -0
  243. package/dist/interface/assets/{vendor-markdown-DD4teg2u.js → vendor-markdown-qHIinIUE.js} +1 -1
  244. package/dist/interface/assets/{vendor-primevue-CCUqY55W.js → vendor-primevue-Cmp3VjIC.js} +72 -72
  245. package/dist/interface/assets/{vendor-vueflow-Bmwd2les.js → vendor-vueflow-bSwRZ9X8.js} +1 -1
  246. package/dist/interface/assets/web-3OOGlctS.js +1 -0
  247. package/dist/interface/assets/web-5NFVd9gs.js +1 -0
  248. package/dist/interface/assets/web-A4yovlXr.js +1 -0
  249. package/dist/interface/assets/web-BBC3YoWX.js +1 -0
  250. package/dist/interface/assets/web-B_9Qyt8E.js +1 -0
  251. package/dist/interface/assets/web-BjKL51lK-DUIsII0n.js +1 -0
  252. package/dist/interface/assets/web-C2-YAfsx.js +1 -0
  253. package/dist/interface/assets/web-CUL_MhvM.js +1 -0
  254. package/dist/interface/assets/web-CZVCXYLV.js +1 -0
  255. package/dist/interface/assets/web-DJ-LUxlV.js +1 -0
  256. package/dist/interface/assets/web-DNsEGLGS.js +1 -0
  257. package/dist/interface/assets/web-DZsU0QT_.js +1 -0
  258. package/dist/interface/assets/web-MoyOTbiU.js +1 -0
  259. package/dist/interface/assets/web-avRH_3t7.js +1 -0
  260. package/dist/interface/assets/{webhook-oVbP79Yk.js → webhook-CWKf2Qxu.js} +1 -1
  261. package/dist/interface/assets/workbox-window.prod.es5-BEYAF-e-.js +1 -0
  262. package/dist/interface/assets/{zoom-in-GKNy8xA7.js → zoom-in-CHkXAWHy.js} +1 -1
  263. package/dist/interface/ha/{404-DLhJqxRl.js → 404-B2T8Gktj.js} +1 -1
  264. package/dist/interface/ha/{About-DC0i1iE4.js → About-CrTKzU9_.js} +6 -6
  265. package/dist/interface/ha/{Assistant-BmazMPIg.js → Assistant-BDHJmYx_.js} +823 -820
  266. package/dist/interface/ha/{Automation-gabF9YzQ.js → Automation-Czo5EsAg.js} +337 -337
  267. package/dist/interface/ha/{AutomationImport-DaqZNs9s.js → AutomationImport-CuFAQbiX.js} +6 -6
  268. package/dist/interface/ha/{AutomationStore-DzM4huo5.js → AutomationStore-D-6x0JIt.js} +16 -16
  269. package/dist/interface/ha/{AutomationStoreDetail-CpzQMt_D.js → AutomationStoreDetail-Dad4q1MN.js} +19 -19
  270. package/dist/interface/ha/{Automations-Dcm4Us50.js → Automations-C-oGM5SR.js} +71 -71
  271. package/dist/interface/ha/{Camera-CNK3QR7l.js → Camera-CerkQGbZ.js} +214 -214
  272. package/dist/interface/ha/{CameraConsole-CpcF0411.js → CameraConsole-hRGwbjsD.js} +3 -3
  273. package/dist/interface/ha/{Cameras-Cf9rwRyf.js → Cameras-Bk5TFXA8.js} +92 -92
  274. package/dist/interface/ha/{Camview-BFKR2t6C.js → Camview-CsKKqxxY.js} +382 -382
  275. package/dist/interface/ha/{Config-1XH3zfr2.js → Config-Vl4-K3A_.js} +11 -11
  276. package/dist/interface/ha/{ConfigActionAssistant-C0-NFoTB.js → ConfigActionAssistant-OWUX8glZ.js} +4 -4
  277. package/dist/interface/ha/{ConfigActionCameraControl-DNSKZPSZ.js → ConfigActionCameraControl-DEaOot8w.js} +3 -3
  278. package/dist/interface/ha/{ConfigActionHttp-DVJAcGkl.js → ConfigActionHttp-CSr2BpKL.js} +2 -2
  279. package/dist/interface/ha/{ConfigActionImageInput-VVbHHHZs.js → ConfigActionImageInput--O8Tyca-.js} +1 -1
  280. package/dist/interface/ha/{ConfigActionMqtt-N5OUJDzM.js → ConfigActionMqtt-DQJ4-gs2.js} +4 -4
  281. package/dist/interface/ha/{ConfigActionNotification-s142tQoU.js → ConfigActionNotification-wR8CCA_T.js} +3 -3
  282. package/dist/interface/ha/{ConfigActionNotificationControl-Dh7kaKVP.js → ConfigActionNotificationControl-DNMrHwPz.js} +2 -2
  283. package/dist/interface/ha/{ConfigActionOutput-B4HHTg5C.js → ConfigActionOutput-C-LVFxFP.js} +1 -1
  284. package/dist/interface/ha/{ConfigActionPlugin-D20G2Dqf.js → ConfigActionPlugin-BCREAkNo.js} +5 -5
  285. package/dist/interface/ha/{ConfigActionSensor-BS3jrFaG.js → ConfigActionSensor-D48CQ6qR.js} +5 -5
  286. package/dist/interface/ha/{ConfigActionSnapshot-CInLAcwK.js → ConfigActionSnapshot-DpDy88Mg.js} +2 -2
  287. package/dist/interface/ha/{ConfigActionVariable-C5vADGNF.js → ConfigActionVariable-D9BxmwvB.js} +1 -1
  288. package/dist/interface/ha/{ConfigConditionIfElse-CPeWDD31.js → ConfigConditionIfElse-CW42tQFY.js} +3 -3
  289. package/dist/interface/ha/{ConfigConditionSensorState-BM5GmpN6.js → ConfigConditionSensorState-BZpij7kB.js} +4 -4
  290. package/dist/interface/ha/{ConfigConditionSwitch-Dmz9FduJ.js → ConfigConditionSwitch-DlTuJ9Sf.js} +5 -5
  291. package/dist/interface/ha/{ConfigSensorValueInput-Ch5njvtv.js → ConfigSensorValueInput-2QLHESlE.js} +5 -5
  292. package/dist/interface/ha/{ConfigTriggerDetection-BR2QWNyO.js → ConfigTriggerDetection-DPmUkmUJ.js} +3 -3
  293. package/dist/interface/ha/{ConfigTriggerGeofence-CaImOjyW.js → ConfigTriggerGeofence--T9OXhGl.js} +2 -2
  294. package/dist/interface/ha/{ConfigTriggerMqtt-DWz1XwZQ.js → ConfigTriggerMqtt-fZn_X6yY.js} +1 -1
  295. package/dist/interface/ha/{ConfigTriggerSensor-lfnhz0im.js → ConfigTriggerSensor-_3O6iBFX.js} +1 -1
  296. package/dist/interface/ha/{ConfigTriggerSystem-CwUhyFAj.js → ConfigTriggerSystem-CC9lqi8Q.js} +2 -2
  297. package/dist/interface/ha/{ConfigTriggerWebhook-J6Xts7GQ.js → ConfigTriggerWebhook-BuBcgXqf.js} +1 -1
  298. package/dist/interface/ha/{Console-BSdKFm6Y.js → Console-DNc49UEt.js} +13 -13
  299. package/dist/interface/ha/{CuiAutomationRunsDialog-BU8sympp.js → CuiAutomationRunsDialog-Dj_iiZht.js} +2 -2
  300. package/dist/interface/ha/{CuiBottomSheet-Bnp7ta7V.js → CuiBottomSheet-DG7wOV7m.js} +1 -1
  301. package/dist/interface/ha/{CuiCameraRecordings-E-mMqKSs.js → CuiCameraRecordings-BlOZTfQ4.js} +12 -12
  302. package/dist/interface/ha/{CuiCameraShares-DcNwd2OC.js → CuiCameraShares-BOn-mobi.js} +2 -2
  303. package/dist/interface/ha/{CuiCameraTable-DNW9Vm_A.js → CuiCameraTable-D50FLiK8.js} +9 -9
  304. package/dist/interface/ha/{CuiChartTable-muC7jL2H.js → CuiChartTable-CfcVRvdZ.js} +42 -42
  305. package/dist/interface/ha/{CuiConsole-ND8bcuTg.js → CuiConsole-UpN0Wihm.js} +6 -6
  306. package/dist/interface/ha/{CuiDataTable-CN4T8DgP.js → CuiDataTable-CpADXKNF.js} +6 -6
  307. package/dist/interface/ha/{CuiPluginCard-nIQiyQvH.js → CuiPluginCard-CT6ZfL9o.js} +52 -52
  308. package/dist/interface/ha/{CuiPluginOAuthButton-FJ49NfUh.js → CuiPluginOAuthButton-BJVKd6Ac.js} +6 -6
  309. package/dist/interface/ha/{CuiPluginTrustBadge-D6eanMyI.js → CuiPluginTrustBadge-gb9GI24w.js} +3 -3
  310. package/dist/interface/ha/{CuiQRCode-BdJzeeoE.js → CuiQRCode-DqKDx9zR.js} +7 -7
  311. package/dist/interface/ha/{CuiSchema-DY0V-8xP.js → CuiSchema-CHeJkx0k.js} +129 -129
  312. package/dist/interface/ha/{CuiTopNavbarItem-DT5pAKHp.js → CuiTopNavbarItem-CFeI6ZYU.js} +5 -5
  313. package/dist/interface/ha/Faces-CTfvhhCj.js +1441 -0
  314. package/dist/interface/ha/{FirstSteps-yS2M2cor.js → FirstSteps-C-WXJ8IL.js} +80 -80
  315. package/dist/interface/ha/{Floorplan-DSOeScjI.js → Floorplan-CDKTYN7B.js} +307 -307
  316. package/dist/interface/ha/{Instances-B4h5EKpF.js → Instances-n23yvN3L.js} +62 -62
  317. package/dist/interface/ha/{Logs-BH0Lxvs6.js → Logs-Dfm0BWOQ.js} +10 -10
  318. package/dist/interface/ha/{Menu-COH7QXuE.js → Menu-76kvdAEF.js} +15 -15
  319. package/dist/interface/ha/{Metrics-BtnRqL_I.js → Metrics-lnivlTWm.js} +101 -100
  320. package/dist/interface/ha/{OAuthDeviceFlow-D2QJ9MnP.js → OAuthDeviceFlow-4ChaymHu.js} +7 -7
  321. package/dist/interface/ha/{Plugin-EfUSqwyh.js → Plugin-BV8YA8aN.js} +486 -347
  322. package/dist/interface/ha/{PluginConsole-hh_o15f7.js → PluginConsole-csf1Km7f.js} +4 -4
  323. package/dist/interface/ha/{PluginDetail-DFiXGkrY.js → PluginDetail-DTff6cbA.js} +185 -185
  324. package/dist/interface/ha/{PluginSearch-Cdrfubrj.js → PluginSearch-CdjxmFPN.js} +116 -116
  325. package/dist/interface/ha/{PluginUpdateProgress-BD2g2kVj.js → PluginUpdateProgress-ClyF4pbA.js} +3 -3
  326. package/dist/interface/ha/{Plugins-qFiHW-Nk.js → Plugins-_xOrqP36.js} +34 -34
  327. package/dist/interface/ha/{RecentEventsFilter-UWrXnvfq.js → RecentEventsFilter-9ZkDHD1g.js} +1 -1
  328. package/dist/interface/ha/{Recordings-BzeC6tOz.js → Recordings-dTZv0pkp.js} +483 -458
  329. package/dist/interface/ha/{SensorEdit-BSgy7lkZ.js → SensorEdit-DDRkZjmm.js} +40 -40
  330. package/dist/interface/ha/{SensorHistory-IDvP8LKH.js → SensorHistory-DSGlRITr.js} +2 -2
  331. package/dist/interface/ha/{Sensors-Diqp4oZ0.js → Sensors-DjhGRUzM.js} +477 -462
  332. package/dist/interface/ha/{Settings-BgDsxAlx.js → Settings-DYuvz4de.js} +17 -17
  333. package/dist/interface/ha/{SettingsAccount-DBXMQPYk.js → SettingsAccount-DQAo8SnK.js} +146 -146
  334. package/dist/interface/ha/{SettingsAppearance-VmbjnT3o.js → SettingsAppearance-_tbhpUA0.js} +8 -8
  335. package/dist/interface/ha/{SettingsAssistant-C2R4ZetE.js → SettingsAssistant-DSf-dYuD.js} +656 -533
  336. package/dist/interface/ha/{SettingsBackup-BqY9TwYn.js → SettingsBackup-wLOa7xtw.js} +40 -40
  337. package/dist/interface/ha/{SettingsList-CzHcfo2N.js → SettingsList-CYujivw5.js} +4 -4
  338. package/dist/interface/ha/{SettingsMqtt-DqV3h3Ow.js → SettingsMqtt-DbxJ-h3J.js} +115 -115
  339. package/dist/interface/ha/{SettingsNotifications-yn5fIR_7.js → SettingsNotifications-DO2-KJvq.js} +118 -118
  340. package/dist/interface/ha/{SettingsRecordings-DDs1lyfY.js → SettingsRecordings-C47i1UhI.js} +9 -9
  341. package/dist/interface/ha/{SettingsRemote-jBw3l5E0.js → SettingsRemote-BPvb-KLI.js} +335 -335
  342. package/dist/interface/ha/{SettingsSystem-BOv9hNlk.js → SettingsSystem-BJPrv9JE.js} +9 -9
  343. package/dist/interface/ha/{SettingsUsers-Biv-2F4C.js → SettingsUsers-CcpCz6Y1.js} +89 -89
  344. package/dist/interface/ha/{Terminal-CmcrGEV0.js → Terminal-DT7-WNH1.js} +16 -16
  345. package/dist/interface/ha/Training-CqGBf8k1.js +1694 -0
  346. package/dist/interface/ha/{Updates-DJAcmDQJ.js → Updates-CgdrqX6R.js} +13 -13
  347. package/dist/interface/ha/{VariableInput-DlYg7t0m.js → VariableInput-DOzSFgxT.js} +1 -1
  348. package/dist/interface/ha/{VersionsHandler-UnrAWn-b.js → VersionsHandler-ItklhE2t.js} +10 -10
  349. package/dist/interface/ha/{VirtualSensorCreate-CssxeaCC.js → VirtualSensorCreate-DbS3VqHC.js} +2 -2
  350. package/dist/interface/ha/{Workers-CLpqLugC.js → Workers-6PU7yUv1.js} +36 -36
  351. package/dist/interface/ha/{api-BP7mlzjP.js → api-Dv3Lk_g5.js} +8832 -8608
  352. package/dist/interface/ha/{api-B_tDa73J.js → api-anWolhVj.js} +3 -3
  353. package/dist/interface/ha/{assistant-Cb6ACguQ.js → assistant-B3m0Kgev.js} +101 -97
  354. package/dist/interface/ha/{auth-DOYDRgFm.js → auth-CAkpM_7A.js} +33 -33
  355. package/dist/interface/ha/{automationBlueprint-CbbG_ku4.js → automationBlueprint-DwVvbKbw.js} +4 -4
  356. package/dist/interface/ha/cameraui-cards.js +1 -1
  357. package/dist/interface/ha/{cards-BpBP1zVW.js → cards-B0qagpBw.js} +743 -667
  358. package/dist/interface/ha/{config-DroY1HBs.js → config-C20itAPE.js} +14 -14
  359. package/dist/interface/ha/database-refresh-outline-PiqlCkA7.js +19 -0
  360. package/dist/interface/ha/{dist-BTp4AyuI.js → dist-BIngHzHx.js} +5 -5
  361. package/dist/interface/ha/{dist-C6MBHJhs.js → dist-oFWkn6pD.js} +5 -8
  362. package/dist/interface/ha/{mqtt-NJTVdd53.js → mqtt-C6JvkA5E.js} +14 -14
  363. package/dist/interface/ha/{notifications-BPTvvgvv.js → notifications-gLmNZxwZ.js} +19 -19
  364. package/dist/interface/ha/{pinia-C6gt7A_Q.js → pinia-Du8AM917.js} +639 -625
  365. package/dist/interface/ha/{plugins-B29K3nQP.js → plugins-6x0kBuQb.js} +53 -53
  366. package/dist/interface/ha/{rooms-DLw0WUy_.js → rooms-C-mLT6mX.js} +11 -11
  367. package/dist/interface/ha/{server-B4b5_Ecu.js → server-DuikIt69.js} +28 -28
  368. package/dist/interface/ha/{types-DJHHL7nn.js → types-C0NcQ4Cz.js} +49 -38
  369. package/dist/interface/ha/{types-XqA3YJPD.js → types-wLECk3Ml.js} +3 -1
  370. package/dist/interface/ha/{ungrouped-xyK1QrsM.js → ungrouped-ooCH0Izh.js} +120 -120
  371. package/dist/interface/ha/{updates-XFSu9Tfm.js → updates-H8MlOQLC.js} +36 -36
  372. package/dist/interface/ha/{useAppVersion-BH3rU1zz.js → useAppVersion-DAUCV_cn.js} +1 -1
  373. package/dist/interface/ha/{useLogsSocket-CaTRzvgU.js → useLogsSocket-BOLAXPuD.js} +1 -1
  374. package/dist/interface/ha/{useNavLayout-DV0_OQx0.js → useNavLayout-B7VoHzM1.js} +2 -2
  375. package/dist/interface/ha/{useServerRestart-C8tynLUf.js → useServerRestart-qSH0bqwY.js} +1 -1
  376. package/dist/interface/ha/{useTabSwipe-CFoLDp3j.js → useTabSwipe-DYzG_gVG.js} +1 -1
  377. package/dist/interface/ha/{useUpdateChannel-DSG2RTPe.js → useUpdateChannel-CK7JiWbG.js} +2 -2
  378. package/dist/interface/ha/{useUpdatesSocket-CSQ0g7-6.js → useUpdatesSocket-DrqkGMuR.js} +1 -1
  379. package/dist/interface/ha/{useUserOptions-CFaCy6L1.js → useUserOptions-BteVUdaT.js} +1 -1
  380. package/dist/interface/index.html +70 -70
  381. package/dist/interface/sw.js +1 -1
  382. package/dist/server/package.json +28 -28
  383. package/dist/server/requirements.txt +2 -2
  384. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +44 -0
  385. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +2 -0
  386. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/detection.py +7 -2
  387. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/__init__.py +42 -0
  388. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/assistant_models.py +300 -0
  389. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/contract.py +9 -0
  390. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/helper.py +21 -0
  391. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/interfaces.py +80 -4
  392. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +6 -0
  393. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +2 -0
  394. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/face.py +3 -7
  395. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/face_embedder.py +69 -0
  396. package/dist/server/src/api/controllers/assistant.controller.js +1 -1
  397. package/dist/server/src/api/controllers/assistant.controller.js.map +1 -1
  398. package/dist/server/src/api/database/index.d.ts +1 -1
  399. package/dist/server/src/api/database/index.js +1 -1
  400. package/dist/server/src/api/database/migrations/v2-2-5.d.ts +3 -0
  401. package/dist/server/src/api/database/migrations/v2-2-5.js +19 -0
  402. package/dist/server/src/api/database/migrations/v2-2-5.js.map +1 -0
  403. package/dist/server/src/api/database/record-schemas.d.ts +4 -2
  404. package/dist/server/src/api/database/record-schemas.js +4 -1
  405. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  406. package/dist/server/src/api/database/types.d.ts +5 -1
  407. package/dist/server/src/api/schemas/assistant.schema.d.ts +21 -7
  408. package/dist/server/src/api/schemas/assistant.schema.js +4 -1
  409. package/dist/server/src/api/schemas/assistant.schema.js.map +1 -1
  410. package/dist/server/src/api/schemas/cameras.schema.d.ts +56 -8
  411. package/dist/server/src/api/schemas/cameras.schema.js +4 -3
  412. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  413. package/dist/server/src/api/services/assistant.service.d.ts +1 -1
  414. package/dist/server/src/api/services/assistant.service.js +4 -1
  415. package/dist/server/src/api/services/assistant.service.js.map +1 -1
  416. package/dist/server/src/api/services/cameras.service.js +2 -2
  417. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  418. package/dist/server/src/api/websocket/nsp/worker-perf.js +13 -0
  419. package/dist/server/src/api/websocket/nsp/worker-perf.js.map +1 -1
  420. package/dist/server/src/api/websocket/types.d.ts +12 -0
  421. package/dist/server/src/assistant/budget.d.ts +27 -0
  422. package/dist/server/src/assistant/budget.js +118 -0
  423. package/dist/server/src/assistant/budget.js.map +1 -0
  424. package/dist/server/src/assistant/compaction.d.ts +10 -0
  425. package/dist/server/src/assistant/compaction.js +83 -0
  426. package/dist/server/src/assistant/compaction.js.map +1 -0
  427. package/dist/server/src/assistant/docs.js +4 -3
  428. package/dist/server/src/assistant/docs.js.map +1 -1
  429. package/dist/server/src/assistant/history.d.ts +1 -0
  430. package/dist/server/src/assistant/history.js +28 -0
  431. package/dist/server/src/assistant/history.js.map +1 -1
  432. package/dist/server/src/assistant/manager.d.ts +10 -0
  433. package/dist/server/src/assistant/manager.js +261 -62
  434. package/dist/server/src/assistant/manager.js.map +1 -1
  435. package/dist/server/src/assistant/plugin-models.d.ts +34 -0
  436. package/dist/server/src/assistant/plugin-models.js +266 -0
  437. package/dist/server/src/assistant/plugin-models.js.map +1 -0
  438. package/dist/server/src/assistant/prompt.d.ts +7 -1
  439. package/dist/server/src/assistant/prompt.js +75 -11
  440. package/dist/server/src/assistant/prompt.js.map +1 -1
  441. package/dist/server/src/assistant/providers.js +7 -3
  442. package/dist/server/src/assistant/providers.js.map +1 -1
  443. package/dist/server/src/assistant/recap.d.ts +3 -0
  444. package/dist/server/src/assistant/recap.js +65 -0
  445. package/dist/server/src/assistant/recap.js.map +1 -0
  446. package/dist/server/src/assistant/registry.d.ts +16 -1
  447. package/dist/server/src/assistant/registry.js +49 -1
  448. package/dist/server/src/assistant/registry.js.map +1 -1
  449. package/dist/server/src/assistant/retry.js +38 -24
  450. package/dist/server/src/assistant/retry.js.map +1 -1
  451. package/dist/server/src/assistant/router.d.ts +7 -0
  452. package/dist/server/src/assistant/router.js +67 -0
  453. package/dist/server/src/assistant/router.js.map +1 -0
  454. package/dist/server/src/assistant/skills.d.ts +8 -0
  455. package/dist/server/src/assistant/skills.js +59 -1
  456. package/dist/server/src/assistant/skills.js.map +1 -1
  457. package/dist/server/src/assistant/threads.d.ts +1 -0
  458. package/dist/server/src/assistant/threads.js +7 -1
  459. package/dist/server/src/assistant/threads.js.map +1 -1
  460. package/dist/server/src/assistant/tool-names.js +9 -1
  461. package/dist/server/src/assistant/tool-names.js.map +1 -1
  462. package/dist/server/src/assistant/tool-rank.d.ts +2 -0
  463. package/dist/server/src/assistant/tool-rank.js +48 -0
  464. package/dist/server/src/assistant/tool-rank.js.map +1 -0
  465. package/dist/server/src/assistant/tool-schema.d.ts +3 -0
  466. package/dist/server/src/assistant/tool-schema.js +65 -0
  467. package/dist/server/src/assistant/tool-schema.js.map +1 -0
  468. package/dist/server/src/assistant/tools/api.js +7 -9
  469. package/dist/server/src/assistant/tools/api.js.map +1 -1
  470. package/dist/server/src/assistant/tools/ask.js +1 -2
  471. package/dist/server/src/assistant/tools/ask.js.map +1 -1
  472. package/dist/server/src/assistant/tools/automations.js +3 -5
  473. package/dist/server/src/assistant/tools/automations.js.map +1 -1
  474. package/dist/server/src/assistant/tools/cameras.js +3 -4
  475. package/dist/server/src/assistant/tools/cameras.js.map +1 -1
  476. package/dist/server/src/assistant/tools/docs.js +5 -6
  477. package/dist/server/src/assistant/tools/docs.js.map +1 -1
  478. package/dist/server/src/assistant/tools/instance.js +19 -19
  479. package/dist/server/src/assistant/tools/instance.js.map +1 -1
  480. package/dist/server/src/assistant/tools/memory.js +3 -4
  481. package/dist/server/src/assistant/tools/memory.js.map +1 -1
  482. package/dist/server/src/assistant/tools/metrics.js +1 -2
  483. package/dist/server/src/assistant/tools/metrics.js.map +1 -1
  484. package/dist/server/src/assistant/tools/notifications.js +4 -11
  485. package/dist/server/src/assistant/tools/notifications.js.map +1 -1
  486. package/dist/server/src/assistant/tools/plugins.js +12 -14
  487. package/dist/server/src/assistant/tools/plugins.js.map +1 -1
  488. package/dist/server/src/assistant/tools/report.js +17 -12
  489. package/dist/server/src/assistant/tools/report.js.map +1 -1
  490. package/dist/server/src/assistant/tools/schedules.js +6 -11
  491. package/dist/server/src/assistant/tools/schedules.js.map +1 -1
  492. package/dist/server/src/assistant/tools/sensors.js +63 -4
  493. package/dist/server/src/assistant/tools/sensors.js.map +1 -1
  494. package/dist/server/src/assistant/tools/settings.js +2 -3
  495. package/dist/server/src/assistant/tools/settings.js.map +1 -1
  496. package/dist/server/src/assistant/tools/system.js +3 -5
  497. package/dist/server/src/assistant/tools/system.js.map +1 -1
  498. package/dist/server/src/assistant/tools/terminal.js +4 -5
  499. package/dist/server/src/assistant/tools/terminal.js.map +1 -1
  500. package/dist/server/src/assistant/types.d.ts +10 -1
  501. package/dist/server/src/assistant/uploads.d.ts +2 -1
  502. package/dist/server/src/assistant/uploads.js +25 -3
  503. package/dist/server/src/assistant/uploads.js.map +1 -1
  504. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +5 -0
  505. package/dist/server/src/camera/decoder/detection-coordinator.js +45 -14
  506. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  507. package/dist/server/src/camera/decoder/detection-pipeline.js +2 -1
  508. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  509. package/dist/server/src/camera/decoder/event-manager.d.ts +27 -4
  510. package/dist/server/src/camera/decoder/event-manager.js +175 -48
  511. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  512. package/dist/server/src/camera/decoder/nvr-sink.d.ts +4 -1
  513. package/dist/server/src/camera/decoder/nvr-sink.js +1 -1
  514. package/dist/server/src/camera/decoder/nvr-sink.js.map +1 -1
  515. package/dist/server/src/camera/decoder/perf-tracker.d.ts +10 -0
  516. package/dist/server/src/camera/decoder/perf-tracker.js +20 -0
  517. package/dist/server/src/camera/decoder/perf-tracker.js.map +1 -1
  518. package/dist/server/src/camera/decoder/secondary-stage.d.ts +21 -1
  519. package/dist/server/src/camera/decoder/secondary-stage.js +301 -59
  520. package/dist/server/src/camera/decoder/secondary-stage.js.map +1 -1
  521. package/dist/server/src/camera/decoder/side-queue.d.ts +13 -0
  522. package/dist/server/src/camera/decoder/side-queue.js +53 -0
  523. package/dist/server/src/camera/decoder/side-queue.js.map +1 -0
  524. package/dist/server/src/camera/decoder/sources/buffered-source.d.ts +2 -0
  525. package/dist/server/src/camera/decoder/sources/buffered-source.js +7 -1
  526. package/dist/server/src/camera/decoder/sources/buffered-source.js.map +1 -1
  527. package/dist/server/src/camera/decoder/types.d.ts +11 -1
  528. package/dist/server/src/camera/decoder/types.js +9 -1
  529. package/dist/server/src/camera/decoder/types.js.map +1 -1
  530. package/dist/server/src/camera/sensors/controller.d.ts +1 -0
  531. package/dist/server/src/camera/sensors/controller.js +28 -4
  532. package/dist/server/src/camera/sensors/controller.js.map +1 -1
  533. package/dist/server/src/main.js +11 -2
  534. package/dist/server/src/main.js.map +1 -1
  535. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +1 -14
  536. package/dist/server/src/plugins/runtime/python/proxy/sensor.py +14 -1
  537. package/dist/server/src/plugins/runtime/python/proxy/sensor_manager.py +1 -13
  538. package/dist/server/src/rpc/interfaces/detection.d.ts +14 -2
  539. package/dist/server/src/rpc/server.js +1 -0
  540. package/dist/server/src/rpc/server.js.map +1 -1
  541. package/dist/server/src/services/config/index.d.ts +1 -0
  542. package/dist/server/src/services/config/index.js +6 -11
  543. package/dist/server/src/services/config/index.js.map +1 -1
  544. package/dist/server/src/utils/camera.js +8 -5
  545. package/dist/server/src/utils/camera.js.map +1 -1
  546. package/dist/server/src/utils/instance-lock.d.ts +1 -0
  547. package/dist/server/src/utils/instance-lock.js +57 -0
  548. package/dist/server/src/utils/instance-lock.js.map +1 -0
  549. package/dist/server/src/workers/agent.d.ts +2 -0
  550. package/dist/server/src/workers/agent.js +11 -1
  551. package/dist/server/src/workers/agent.js.map +1 -1
  552. package/dist/server/src/workers/manager.js +9 -2
  553. package/dist/server/src/workers/manager.js.map +1 -1
  554. package/dist/server/src/workers/types.d.ts +1 -0
  555. package/npm-shrinkwrap.json +209 -209
  556. package/package.json +28 -28
  557. package/dist/interface/assets/Assistant-bB8RBo-m.js +0 -1
  558. package/dist/interface/assets/Automations-BdZZW2eN.js +0 -2
  559. package/dist/interface/assets/Camera-Ct7ndOxr.js +0 -2
  560. package/dist/interface/assets/Camview-BjQdTHNh.js +0 -1
  561. package/dist/interface/assets/Config-CBTbYd5v.js +0 -2
  562. package/dist/interface/assets/ConfigTriggerGeofence-Bl2ZacbY.js +0 -1
  563. package/dist/interface/assets/Console-Cfk9MA9m.js +0 -1
  564. package/dist/interface/assets/CuiAssistantConversation-BHK_i56I.js +0 -5
  565. package/dist/interface/assets/CuiAutomationRunsDialog-B0ohEHw0.js +0 -1
  566. package/dist/interface/assets/CuiBottomSheet-NgX7VFao.js +0 -1
  567. package/dist/interface/assets/CuiCameraRecordings-BTD-CQAg.js +0 -1
  568. package/dist/interface/assets/CuiCameraTable-KPk46Xcl.js +0 -1
  569. package/dist/interface/assets/CuiDataTable-CsqH-RB1.js +0 -1
  570. package/dist/interface/assets/CuiMarkdownContent-DSArmS0V.js +0 -1
  571. package/dist/interface/assets/CuiSchema-ytExUVhI.js +0 -1
  572. package/dist/interface/assets/Faces-Cb6XMxDC.js +0 -1
  573. package/dist/interface/assets/Floorplan-DbqADtN1.js +0 -1
  574. package/dist/interface/assets/Instances-DrMzPD65.js +0 -1
  575. package/dist/interface/assets/Metrics-BUP_-7o7.css +0 -1
  576. package/dist/interface/assets/Metrics-CqhUnVRA.js +0 -12
  577. package/dist/interface/assets/Plugin-BDqNeTCT.css +0 -1
  578. package/dist/interface/assets/Plugin-DyOg_fbg.js +0 -1
  579. package/dist/interface/assets/PluginSearch-BgecD9Ob.js +0 -2
  580. package/dist/interface/assets/PluginSearch-C8xHKikH.js +0 -1
  581. package/dist/interface/assets/Plugins-CuujWEtM.js +0 -1
  582. package/dist/interface/assets/Recordings-9FJqCfdM.css +0 -1
  583. package/dist/interface/assets/Recordings-ths9khZr.js +0 -1
  584. package/dist/interface/assets/SensorEdit-BzoIH7QC.js +0 -1
  585. package/dist/interface/assets/Sensors-CK5uExfU.js +0 -2
  586. package/dist/interface/assets/Settings-DN5hFtw_.js +0 -1
  587. package/dist/interface/assets/SettingsAccount-BCrmon5O.js +0 -1
  588. package/dist/interface/assets/SettingsAccount-CSy1BAIH.js +0 -1
  589. package/dist/interface/assets/SettingsAppearance-h_XPZfQl.js +0 -1
  590. package/dist/interface/assets/SettingsAssistant-BESab92C.css +0 -1
  591. package/dist/interface/assets/SettingsAssistant-D8FmVbUL.js +0 -1
  592. package/dist/interface/assets/SettingsMqtt-DCkLIYpF.js +0 -1
  593. package/dist/interface/assets/SettingsRemote-DXlQKwlT.js +0 -2
  594. package/dist/interface/assets/Terminal-Dl-aAZME.js +0 -4
  595. package/dist/interface/assets/Training-B1oQjAr8.css +0 -1
  596. package/dist/interface/assets/Training-DdZjXgt1.js +0 -1
  597. package/dist/interface/assets/Updates-CkB1lXuo.js +0 -2
  598. package/dist/interface/assets/Workers-7yiebNkl.js +0 -2
  599. package/dist/interface/assets/api-DK2Bav9D.js +0 -4
  600. package/dist/interface/assets/api-DTCqDA-h.css +0 -2
  601. package/dist/interface/assets/assistant-BJ6xKcw_.js +0 -1
  602. package/dist/interface/assets/cloudHandoff-DtlquYGZ.js +0 -1
  603. package/dist/interface/assets/esm-4Hzzm93H.js +0 -1
  604. package/dist/interface/assets/esm-BrFPi5_4.js +0 -1
  605. package/dist/interface/assets/esm-C7pcdfXf.js +0 -1
  606. package/dist/interface/assets/esm-C8bsO829.js +0 -1
  607. package/dist/interface/assets/esm-CXzdnAMk.js +0 -1
  608. package/dist/interface/assets/esm-CZNGZkPu.js +0 -1
  609. package/dist/interface/assets/esm-D0iI7OVb.js +0 -1
  610. package/dist/interface/assets/esm-DKolm6KU.js +0 -1
  611. package/dist/interface/assets/esm-DTywI9gs.js +0 -1
  612. package/dist/interface/assets/esm-DifXcK9i.js +0 -1
  613. package/dist/interface/assets/esm-Dq5o-Xb4.js +0 -1
  614. package/dist/interface/assets/esm-IbQuUZ5l.js +0 -1
  615. package/dist/interface/assets/esm-Xre_AP5i.js +0 -1
  616. package/dist/interface/assets/esm-zYnXHhpH.js +0 -1
  617. package/dist/interface/assets/main-D74mRIxc.js +0 -3
  618. package/dist/interface/assets/native-CAujTO6L.js +0 -1
  619. package/dist/interface/assets/native-sQ88qazf.js +0 -1
  620. package/dist/interface/assets/plugin-D7K50k_y.js +0 -1
  621. package/dist/interface/assets/sensorIcons-DQVgryYP.js +0 -1
  622. package/dist/interface/assets/types-5rE8Tz0_.js +0 -1
  623. package/dist/interface/assets/ungrouped-D56FGIrg.js +0 -1
  624. package/dist/interface/assets/useBackupRestore-Crfd592q.js +0 -1
  625. package/dist/interface/assets/useUserOptions-BTRBUuE2.js +0 -1
  626. package/dist/interface/assets/vendor-gridstack-anPyIu9V.js +0 -3
  627. package/dist/interface/assets/web-3M-ddn4G.js +0 -1
  628. package/dist/interface/assets/web-BY80VGyU.js +0 -1
  629. package/dist/interface/assets/web-B_tUYyM0.js +0 -1
  630. package/dist/interface/assets/web-BjKL51lK-Bb5NYhpJ.js +0 -1
  631. package/dist/interface/assets/web-Bv-4PJGI.js +0 -1
  632. package/dist/interface/assets/web-C3Pk8qeB.js +0 -1
  633. package/dist/interface/assets/web-CLcvGPH6.js +0 -1
  634. package/dist/interface/assets/web-DO8gTOVJ.js +0 -1
  635. package/dist/interface/assets/web-DR5q_DmI.js +0 -1
  636. package/dist/interface/assets/web-DRHbG4Te.js +0 -1
  637. package/dist/interface/assets/web-DaQ8d8yk.js +0 -1
  638. package/dist/interface/assets/web-EVRW5whF.js +0 -1
  639. package/dist/interface/assets/web-S6Dk3UWN.js +0 -1
  640. package/dist/interface/assets/web-pWIp0wf0.js +0 -1
  641. package/dist/interface/assets/workbox-window.prod.es5-Dz5rcO1z.js +0 -1
  642. package/dist/interface/ha/Faces-C_svyTrr.js +0 -1282
  643. package/dist/interface/ha/Training-BEzPiXZg.js +0 -1512
@@ -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"
@@ -6427,12 +6441,12 @@ H({
6427
6441
  profileId: L().trim().max(64).nullable().optional(),
6428
6442
  timezone: L().trim().max(64).optional(),
6429
6443
  language: L().trim().min(2).max(10).optional(),
6430
- deliver: yd.default("push"),
6444
+ deliver: bd.default("push"),
6431
6445
  enabled: B().default(!0)
6432
6446
  }).strict().partial().strict(), H({ scheduleId: L().min(1).max(128) });
6433
6447
  //#endregion
6434
6448
  //#region ../server/src/assistant/client-tools.ts
6435
- var bd = [
6449
+ var xd = [
6436
6450
  "account",
6437
6451
  "appearance",
6438
6452
  "assistant",
@@ -6444,7 +6458,7 @@ var bd = [
6444
6458
  "remote",
6445
6459
  "system",
6446
6460
  "users"
6447
- ], xd = {
6461
+ ], Sd = {
6448
6462
  home: {
6449
6463
  path: "/home",
6450
6464
  description: "Start page with the camera overview"
@@ -6509,7 +6523,7 @@ var bd = [
6509
6523
  path: "/assistant",
6510
6524
  description: "This assistant"
6511
6525
  }
6512
- }, Sd = [
6526
+ }, Cd = [
6513
6527
  {
6514
6528
  name: "open_page",
6515
6529
  description: "Open a page of the app for the user. Only when the user asks to open, show or go to it.",
@@ -6517,8 +6531,8 @@ var bd = [
6517
6531
  type: "object",
6518
6532
  properties: { page: {
6519
6533
  type: "string",
6520
- enum: Object.keys(xd),
6521
- description: Object.entries(xd).map(([e, t]) => `${e}: ${t.description}`).join("; ")
6534
+ enum: Object.keys(Sd),
6535
+ description: Object.entries(Sd).map(([e, t]) => `${e}: ${t.description}`).join("; ")
6522
6536
  } },
6523
6537
  required: ["page"]
6524
6538
  }
@@ -6594,13 +6608,13 @@ var bd = [
6594
6608
  type: "object",
6595
6609
  properties: { page: {
6596
6610
  type: "string",
6597
- enum: [...bd],
6611
+ enum: [...xd],
6598
6612
  description: "Settings page"
6599
6613
  } },
6600
6614
  required: ["page"]
6601
6615
  }
6602
6616
  }
6603
- ], Cd = new Uint32Array([
6617
+ ], wd = new Uint32Array([
6604
6618
  1116352408,
6605
6619
  1899447441,
6606
6620
  3049323471,
@@ -6666,10 +6680,10 @@ var bd = [
6666
6680
  3204031479,
6667
6681
  3329325298
6668
6682
  ]);
6669
- function wd(e, t) {
6683
+ function Td(e, t) {
6670
6684
  return e >>> t | e << 32 - t;
6671
6685
  }
6672
- function Td(e) {
6686
+ function Ed(e) {
6673
6687
  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
6688
  a.set(t), a[t.length] = 128;
6675
6689
  let o = new DataView(a.buffer);
@@ -6678,12 +6692,12 @@ function Td(e) {
6678
6692
  for (let e = 0; e < i; e += 64) {
6679
6693
  for (let t = 0; t < 16; t++) h[t] = o.getUint32(e + t * 4);
6680
6694
  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;
6695
+ 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
6696
  h[e] = (h[e - 16] ?? 0) + r + (h[e - 7] ?? 0) + i >>> 0;
6683
6697
  }
6684
6698
  let t = s, n = c, r = l, i = u, a = d, g = f, _ = p, v = m;
6685
6699
  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;
6700
+ 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
6701
  v = _, _ = g, g = a, a = i + c >>> 0, i = r, r = n, n = t, t = c + l >>> 0;
6688
6702
  }
6689
6703
  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 +6705,10 @@ function Td(e) {
6691
6705
  let g = (e) => (e >>> 0).toString(16).padStart(8, "0");
6692
6706
  return g(s) + g(c) + g(l) + g(u) + g(d) + g(f) + g(p) + g(m);
6693
6707
  }
6694
- function Ed(e) {
6695
- return `sha256:${Td(e)}`;
6708
+ function Dd(e) {
6709
+ return `sha256:${Ed(e)}`;
6696
6710
  }
6697
- function Dd(e, t) {
6711
+ function Od(e, t) {
6698
6712
  if (e === null) return "null";
6699
6713
  if (typeof e == "string" || typeof e == "boolean" || typeof e == "number" && Number.isFinite(e)) return JSON.stringify(e);
6700
6714
  if (typeof e != "object") throw TypeError("Interrupt values must be JSON-compatible.");
@@ -6704,46 +6718,46 @@ function Dd(e, t) {
6704
6718
  let n;
6705
6719
  if (Array.isArray(e)) {
6706
6720
  let r = [];
6707
- for (let n = 0; n < e.length; n++) r.push(Dd(e[n], t));
6721
+ for (let n = 0; n < e.length; n++) r.push(Od(e[n], t));
6708
6722
  n = `[${r.join(",")}]`;
6709
6723
  } else {
6710
6724
  let r = e;
6711
- n = `{${Object.keys(r).sort().map((e) => `${JSON.stringify(e)}:${Dd(r[e], t)}`).join(",")}}`;
6725
+ n = `{${Object.keys(r).sort().map((e) => `${JSON.stringify(e)}:${Od(r[e], t)}`).join(",")}}`;
6712
6726
  }
6713
6727
  return t.delete(e), n;
6714
6728
  }
6715
- function Od(e) {
6716
- return Dd(e, /* @__PURE__ */ new WeakSet());
6729
+ function kd(e) {
6730
+ return Od(e, /* @__PURE__ */ new WeakSet());
6717
6731
  }
6718
- function kd(e, t = Ed) {
6732
+ function Ad(e, t = Dd) {
6719
6733
  if (typeof e != "string") throw TypeError("Interrupt digests require canonical JSON text.");
6720
6734
  return t(e);
6721
6735
  }
6722
- function Ad(e) {
6723
- typeof e == "object" && e && !Object.isFrozen(e) && (Object.values(e).forEach(Ad), Object.freeze(e));
6724
- }
6725
6736
  function jd(e) {
6726
- let t = JSON.parse(Od(e));
6727
- return Ad(t), t;
6737
+ typeof e == "object" && e && !Object.isFrozen(e) && (Object.values(e).forEach(jd), Object.freeze(e));
6738
+ }
6739
+ function Md(e) {
6740
+ let t = JSON.parse(kd(e));
6741
+ return jd(t), t;
6728
6742
  }
6729
6743
  //#endregion
6730
6744
  //#region ../server/node_modules/@tanstack/ai/dist/esm/activities/chat/tools/schema-converter.js
6731
- function Md(e) {
6745
+ function Nd(e) {
6732
6746
  return (typeof e == "object" || typeof e == "function") && e !== null;
6733
6747
  }
6734
- function Nd(e) {
6735
- if (!Md(e) || !("~standard" in e)) return !1;
6748
+ function Pd(e) {
6749
+ if (!Nd(e) || !("~standard" in e)) return !1;
6736
6750
  let t = e["~standard"];
6737
6751
  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
6752
  }
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";
6753
+ function Fd(e) {
6754
+ 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
6755
  }
6742
6756
  //#endregion
6743
6757
  //#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.`);
6758
+ var Id = /* @__PURE__ */ new WeakMap(), Ld = /* @__PURE__ */ new WeakMap(), Rd = /* @__PURE__ */ new WeakMap();
6759
+ function zd(e, t) {
6760
+ if (!Pd(e)) throw TypeError(`${t} must be a Standard Schema with a JSON Schema converter.`);
6747
6761
  try {
6748
6762
  let t = e["~standard"].jsonSchema.input({ target: "draft-07" });
6749
6763
  if (t === void 0) throw TypeError("The exported schema is undefined.");
@@ -6753,47 +6767,47 @@ function Rd(e, t) {
6753
6767
  for (let [e, r] of Object.entries(t)) e !== "$schema" && (n[e] = r);
6754
6768
  return {
6755
6769
  json: n,
6756
- canonicalJson: Od(n)
6770
+ canonicalJson: kd(n)
6757
6771
  };
6758
6772
  } catch (e) {
6759
6773
  throw TypeError(`${t} could not export compatible JSON Schema: ${e instanceof Error ? e.message : String(e)}`);
6760
6774
  }
6761
6775
  }
6762
- function zd(e, t) {
6776
+ function Bd(e, t) {
6763
6777
  try {
6764
- Od(e);
6778
+ kd(e);
6765
6779
  } catch (e) {
6766
6780
  throw TypeError(`${t} must be JSON-compatible: ${e instanceof Error ? e.message : String(e)}`);
6767
6781
  }
6768
6782
  }
6769
- function Bd(e, t) {
6783
+ function Vd(e, t) {
6770
6784
  if (typeof e != "string" || e.trim() === "") throw TypeError(`${t} must be a non-empty string.`);
6771
6785
  return e;
6772
6786
  }
6773
- function Vd(e) {
6787
+ function Hd(e) {
6774
6788
  if (typeof e != "string" || !Number.isFinite(Date.parse(e))) throw TypeError("Interrupt expiresAt must be a valid date string.");
6775
6789
  return e;
6776
6790
  }
6777
- function Hd(e) {
6791
+ function Ud(e) {
6778
6792
  return e !== null && (typeof e == "object" || typeof e == "function") && "then" in e && typeof e.then == "function";
6779
6793
  }
6780
- function Ud(e, t) {
6781
- if (!Pd(e)) return t;
6794
+ function Wd(e, t) {
6795
+ if (!Fd(e)) return t;
6782
6796
  let n = e["~standard"].validate(t);
6783
- if (Hd(n)) throw TypeError("Interrupt payloadSchema validation must be synchronous.");
6797
+ if (Ud(n)) throw TypeError("Interrupt payloadSchema validation must be synchronous.");
6784
6798
  if (n.issues !== void 0) throw TypeError(`Interrupt payload is invalid: ${n.issues.map((e) => e.message).join(" ")}`);
6785
6799
  return n.value;
6786
6800
  }
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 = {
6801
+ function Gd(e) {
6802
+ Vd(e.id, "Interrupt definition id");
6803
+ 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
6804
  ...t ? {
6791
6805
  responseSchemaCanonicalJson: t.canonicalJson,
6792
- responseSchemaHash: kd(t.canonicalJson)
6806
+ responseSchemaHash: Ad(t.canonicalJson)
6793
6807
  } : {},
6794
6808
  ...r ? {
6795
6809
  payloadSchemaCanonicalJson: r.canonicalJson,
6796
- payloadSchemaHash: kd(r.canonicalJson)
6810
+ payloadSchemaHash: Ad(r.canonicalJson)
6797
6811
  } : {}
6798
6812
  }, a = {
6799
6813
  id: e.id,
@@ -6805,7 +6819,7 @@ function Wd(e) {
6805
6819
  }, o = (t) => {
6806
6820
  let n = e.payloadSchema;
6807
6821
  if (n === void 0) throw TypeError("This interrupt definition does not accept a payload.");
6808
- return Ud(n, t);
6822
+ return Wd(n, t);
6809
6823
  }, s = (e, t) => {
6810
6824
  for (let t of Object.keys(e)) if (![
6811
6825
  "key",
@@ -6814,12 +6828,12 @@ function Wd(e) {
6814
6828
  "message",
6815
6829
  "expiresAt"
6816
6830
  ].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");
6831
+ let r = Vd(e.key, "Interrupt key"), i = Vd(e.reason, "Interrupt reason"), s = Vd(e.message, "Interrupt message");
6818
6832
  if ("payload" in e) {
6819
6833
  if (!n) throw TypeError("This interrupt definition does not accept a payload.");
6820
- e.payload !== void 0 && zd(e.payload, "Interrupt payload");
6834
+ e.payload !== void 0 && Bd(e.payload, "Interrupt payload");
6821
6835
  }
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({
6836
+ 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
6837
  definition: a,
6824
6838
  key: r,
6825
6839
  ...n && l !== void 0 ? { payload: l } : {},
@@ -6827,7 +6841,7 @@ function Wd(e) {
6827
6841
  message: s,
6828
6842
  ...u === void 0 ? {} : { expiresAt: u }
6829
6843
  });
6830
- return t || Ld.set(d, jd({
6844
+ return t || Rd.set(d, Md({
6831
6845
  key: r,
6832
6846
  reason: i,
6833
6847
  message: s,
@@ -6835,9 +6849,9 @@ function Wd(e) {
6835
6849
  ...c === void 0 ? {} : { payload: c }
6836
6850
  })), d;
6837
6851
  };
6838
- return Fd.set(a, i), Id.set(a, s), Object.freeze(a);
6852
+ return Id.set(a, i), Ld.set(a, s), Object.freeze(a);
6839
6853
  }
6840
- var Gd = Wd({
6854
+ var Kd = Gd({
6841
6855
  id: "ask-user",
6842
6856
  payloadSchema: H({
6843
6857
  toolCallId: L(),
@@ -6865,11 +6879,11 @@ H({
6865
6879
  }), 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
6880
  //#endregion
6867
6881
  //#region ../server/src/api/schemas/floorplan.schema.ts
6868
- var Kd = H({
6882
+ var qd = H({
6869
6883
  id: L().trim().min(1),
6870
6884
  name: L().trim().min(1, "Level name is required").max(64),
6871
6885
  order: z().int().min(0).default(0)
6872
- }), qd = H({
6886
+ }), Jd = H({
6873
6887
  id: L().trim().min(1),
6874
6888
  roomId: L().trim().min(1),
6875
6889
  name: L().trim().min(1, "Room name is required").max(64),
@@ -6881,7 +6895,7 @@ var Kd = H({
6881
6895
  y: z(),
6882
6896
  width: z().min(1),
6883
6897
  height: z().min(1)
6884
- }), Jd = H({
6898
+ }), Yd = H({
6885
6899
  id: L().trim().min(1),
6886
6900
  fromRoomId: L().trim().min(1),
6887
6901
  toRoomId: L().trim().min(1),
@@ -6895,7 +6909,7 @@ var Kd = H({
6895
6909
  "opening",
6896
6910
  "stairs"
6897
6911
  ]).default("door")
6898
- }), Yd = H({
6912
+ }), Xd = H({
6899
6913
  cameraId: L().trim().min(1),
6900
6914
  roomId: L().trim().min(1),
6901
6915
  note: L().trim().max(240).default(""),
@@ -6904,7 +6918,7 @@ var Kd = H({
6904
6918
  rotation: z(),
6905
6919
  fov: z().min(1).max(360),
6906
6920
  range: z().min(1)
6907
- }), Xd = H({
6921
+ }), Zd = H({
6908
6922
  sensorId: L().trim().min(1),
6909
6923
  sensorType: L().trim().min(1),
6910
6924
  roomId: L().trim().min(1),
@@ -6916,11 +6930,11 @@ var Kd = H({
6916
6930
  H({
6917
6931
  catalogVersion: z().int().min(0),
6918
6932
  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)
6933
+ levels: qd.array().max(20),
6934
+ rooms: Jd.array().max(200),
6935
+ connections: Yd.array().max(500),
6936
+ cameras: Xd.array().max(500),
6937
+ sensors: Zd.array().max(500)
6924
6938
  }).strict(), H({
6925
6939
  name: L().trim().min(1, "Name is required").max(100, "Name cannot be more than 100 characters"),
6926
6940
  url: bs("Must be a valid URL").trim(),
@@ -6938,7 +6952,7 @@ H({
6938
6952
  }), 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
6953
  //#endregion
6940
6954
  //#region ../server/src/api/schemas/mqtt.schema.ts
6941
- var Zd = /^[\w-]+(\/[\w-]+)*$/, Qd = H({
6955
+ var Qd = /^[\w-]+(\/[\w-]+)*$/, $d = H({
6942
6956
  enabled: B().optional(),
6943
6957
  mode: W(["external", "embedded"]).optional(),
6944
6958
  broker: H({
@@ -6952,7 +6966,7 @@ var Zd = /^[\w-]+(\/[\w-]+)*$/, Qd = H({
6952
6966
  username: L().trim().max(200, "Username cannot be more than 200 characters").nullable().optional(),
6953
6967
  password: L().max(500, "Password cannot be more than 500 characters").nullable().optional(),
6954
6968
  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(),
6969
+ 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
6970
  tls: H({
6957
6971
  rejectUnauthorized: B().optional(),
6958
6972
  ca: L().trim().nullable().optional(),
@@ -6961,58 +6975,58 @@ var Zd = /^[\w-]+(\/[\w-]+)*$/, Qd = H({
6961
6975
  }).strict().optional(),
6962
6976
  haDiscovery: H({
6963
6977
  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()
6978
+ 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
6979
  }).strict().optional()
6966
- }).strict(), $d = /^((@[\w-.]*)\/)?(camera-ui-[\w-]*)$/, ef = /* @__PURE__ */ function(e) {
6980
+ }).strict(), ef = /^((@[\w-.]*)\/)?(camera-ui-[\w-]*)$/, tf = /* @__PURE__ */ function(e) {
6967
6981
  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({
6982
+ }({}), nf = H({
6969
6983
  start: Mc().optional(),
6970
6984
  page: Mc().optional(),
6971
6985
  pageSize: Mc().optional()
6972
- }), nf = ["image/jpeg", "image/png"], rf = 2097152, af = ["video/mp4", "video/quicktime"], of = 10485760, sf = [
6986
+ }), rf = ["image/jpeg", "image/png"], af = 2097152, of = ["video/mp4", "video/quicktime"], sf = 10485760, cf = [
6973
6987
  "audio/mpeg",
6974
6988
  "audio/wav",
6975
6989
  "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"),
6990
+ ], 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({
6991
+ pluginname: L().trim().refine((e) => ef.test(e), "Not a valid plugin name"),
6978
6992
  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
6993
  }).strict();
6980
6994
  H({
6981
6995
  actionId: L(),
6982
6996
  payload: Us()
6983
6997
  }).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"),
6998
+ upload: uf(),
6989
6999
  metadata: ff,
6990
- config: uf
7000
+ config: df
7001
+ }), H({
7002
+ upload: su(lf, cf, "Max file size is 2 MB", ".mp3, .wav and .ogg files are accepted"),
7003
+ metadata: pf,
7004
+ config: df
6991
7005
  }), H({
6992
- upload: ou(of, af, "Max file size is 5 MB", ".mp4 files are accepted"),
6993
- config: uf
7006
+ upload: su(sf, of, "Max file size is 5 MB", ".mp4 files are accepted"),
7007
+ config: df
6994
7008
  }), H({
6995
- upload: lf(),
6996
- metadata: df,
6997
- config: uf
7009
+ upload: uf(),
7010
+ metadata: ff,
7011
+ config: df
6998
7012
  }), H({
6999
- upload: lf(),
7000
- metadata: df,
7001
- config: uf
7013
+ upload: uf(),
7014
+ metadata: ff,
7015
+ config: df
7002
7016
  }), H({
7003
- upload: lf(),
7004
- metadata: df,
7005
- config: uf
7017
+ upload: uf(),
7018
+ metadata: ff,
7019
+ config: df
7006
7020
  }), H({ pluginname: L() }), H({
7007
7021
  scope: L(),
7008
7022
  pluginname: L()
7009
- }), tf.extend({
7023
+ }), nf.extend({
7010
7024
  pluginname: L().trim().optional(),
7011
7025
  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) });
7026
+ }), 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
7027
  //#endregion
7014
7028
  //#region ../server/src/api/schemas/remote.schema.ts
7015
- var mf = H({
7029
+ var hf = H({
7016
7030
  enabled: B().optional(),
7017
7031
  directEnabled: B().optional(),
7018
7032
  directMode: W(["cloudflare", "customDomain"]).optional(),
@@ -7042,13 +7056,13 @@ H({ mode: W(["cloudflare", "customDomain"]) }).strict(), H({ hostname: L().trim(
7042
7056
  }).strict(), H({ roomid: L().trim().min(1) });
7043
7057
  //#endregion
7044
7058
  //#region ../server/src/sensors/types.ts
7045
- var hf = { securitySystem: "security_system" };
7046
- function gf(e) {
7047
- return hf[e] ?? e;
7059
+ var gf = { securitySystem: "security_system" };
7060
+ function _f(e) {
7061
+ return gf[e] ?? e;
7048
7062
  }
7049
- function _f() {
7063
+ function vf() {
7050
7064
  let e = {};
7051
- for (let t of tu) e[t.type] = {
7065
+ for (let t of nu) e[t.type] = {
7052
7066
  category: t.category,
7053
7067
  assignmentKey: t.assignmentKey,
7054
7068
  multiProvider: t.multiProvider,
@@ -7056,48 +7070,48 @@ function _f() {
7056
7070
  cameraBound: t.cameraBound ?? !1,
7057
7071
  ...t.cascadeTrigger ? { cascadeTrigger: {
7058
7072
  ...t.cascadeTrigger,
7059
- triggerType: gf(t.assignmentKey)
7073
+ triggerType: _f(t.assignmentKey)
7060
7074
  } } : {}
7061
7075
  };
7062
7076
  return e;
7063
7077
  }
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
- }
7078
+ var yf = vf();
7079
+ Object.fromEntries(nu.filter((e) => e.propertyCapabilities).map((e) => [e.type, e.propertyCapabilities]));
7069
7080
  function bf() {
7070
- return tu.filter((e) => e.shortcutable).map((e) => e.type);
7081
+ return Object.entries(yf).filter(([, e]) => e.multiProvider).map(([e]) => e);
7071
7082
  }
7072
7083
  function xf() {
7073
- return Object.entries(vf).filter(([, e]) => e.isDetectionType).map(([e]) => e);
7084
+ return nu.filter((e) => e.shortcutable).map((e) => e.type);
7074
7085
  }
7075
- function Sf(e) {
7076
- return vf[e].assignmentKey;
7086
+ function Sf() {
7087
+ return Object.entries(yf).filter(([, e]) => e.isDetectionType).map(([e]) => e);
7077
7088
  }
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];
7089
+ function Cf(e) {
7090
+ return yf[e].assignmentKey;
7082
7091
  }
7083
- function Tf(e) {
7084
- let t = Cf[e];
7085
- return t ? Object.entries(t).filter(([, e]) => !e.internal).map(([e]) => e) : [];
7092
+ Object.fromEntries(nu.map((e) => [e.type, Object.keys(e.properties)]));
7093
+ var wf = Object.fromEntries(nu.map((e) => [e.type, e.properties]));
7094
+ function Tf(e, t) {
7095
+ return wf[e]?.[t];
7086
7096
  }
7087
7097
  function Ef(e) {
7088
- let t = Cf[e];
7098
+ let t = wf[e];
7099
+ return t ? Object.entries(t).filter(([, e]) => !e.internal).map(([e]) => e) : [];
7100
+ }
7101
+ function Df(e) {
7102
+ let t = wf[e];
7089
7103
  return t ? Object.entries(t).filter(([, e]) => e.writable).map(([e]) => e) : [];
7090
7104
  }
7091
- function Df(e, t) {
7092
- let n = vf[e];
7105
+ function Of(e, t) {
7106
+ let n = yf[e];
7093
7107
  return n ? n.category === q.Control || n.category === q.Trigger || t === "cameraui.virtual" && !n.isDetectionType : !1;
7094
7108
  }
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({
7109
+ new Set(bf());
7110
+ var kf = new Set(Sf()), Af = "cameraui.virtual", jf = nu.filter((e) => e.virtual).map((e) => e.type);
7111
+ 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") });
7112
+ var Mf = H({
7099
7113
  cameraId: L().min(1).optional(),
7100
- type: W(Af),
7114
+ type: W(jf),
7101
7115
  name: L().trim().min(1, "Name is required").max(100, "Name cannot be more than 100 characters")
7102
7116
  });
7103
7117
  H({
@@ -7108,7 +7122,7 @@ H({
7108
7122
  property: L().trim().min(1, "Property is required"),
7109
7123
  value: Gs()
7110
7124
  }), H({ ids: V(L()).min(1).max(1e4) }), H({ version: L().trim().optional().default("latest") }).strict();
7111
- var Mf = H({
7125
+ var Nf = H({
7112
7126
  serverAddresses: U([ks().trim(), js().trim()]).array().default([]),
7113
7127
  localUrl: U([G(""), bs({ protocol: /^https?$/ })]).default("").transform((e) => e.replace(/\/+$/, ""))
7114
7128
  }).strict();
@@ -7118,7 +7132,7 @@ H({ version: L().trim() }).strict(), ic(L(), Us()), H({ key: L() }).strict(), H(
7118
7132
  }).strict();
7119
7133
  //#endregion
7120
7134
  //#region ../server/src/api/schemas/training.schema.ts
7121
- var Nf = H({
7135
+ var Pf = H({
7122
7136
  label: L().trim().min(1).max(64),
7123
7137
  confidence: z().min(0).max(1),
7124
7138
  x: z().min(0).max(1),
@@ -7131,7 +7145,7 @@ H({ id: L().trim().min(1) }), H({ id: L().trim().min(1) }), H({ cursor: L().trim
7131
7145
  cameraId: L().trim().min(1).optional(),
7132
7146
  status: W(["new", "verified"]).optional()
7133
7147
  }), H({
7134
- boxes: Nf.array().max(128).optional(),
7148
+ boxes: Pf.array().max(128).optional(),
7135
7149
  status: W(["new", "verified"]).optional()
7136
7150
  }).strict(), H({ ids: L().trim().min(1).array().min(1).max(200) }).strict(), H({
7137
7151
  enabled: B().optional(),
@@ -7155,35 +7169,35 @@ H({ id: L().trim().min(1) }), H({ id: L().trim().min(1) }), H({ cursor: L().trim
7155
7169
  }).strict();
7156
7170
  //#endregion
7157
7171
  //#region ../server/src/plugins/schema.ts
7158
- function Pf(e) {
7172
+ function Ff(e) {
7159
7173
  return e.type === "string" && !("enum" in e);
7160
7174
  }
7161
- function Ff(e) {
7175
+ function If(e) {
7162
7176
  return e.type === "number";
7163
7177
  }
7164
- function If(e) {
7178
+ function Lf(e) {
7165
7179
  return e.type === "boolean";
7166
7180
  }
7167
- function Lf(e) {
7181
+ function Rf(e) {
7168
7182
  return e.type === "string" && "enum" in e;
7169
7183
  }
7170
- function Rf(e) {
7184
+ function zf(e) {
7171
7185
  return e.type === "array";
7172
7186
  }
7173
- function zf(e) {
7187
+ function Bf(e) {
7174
7188
  return e.type === "object";
7175
7189
  }
7176
- function Bf(e) {
7190
+ function Vf(e) {
7177
7191
  return e.type === "button";
7178
7192
  }
7179
- function Vf(e) {
7193
+ function Hf(e) {
7180
7194
  return e.type === "submit";
7181
7195
  }
7182
- function Hf(e) {
7183
- return Pf(e) && (!e.format || e.format !== "qrCode" && e.format !== "image");
7196
+ function Uf(e) {
7197
+ return Ff(e) && (!e.format || e.format !== "qrCode" && e.format !== "image");
7184
7198
  }
7185
- var Uf = (e, t) => {
7186
- let n = Xf(t, e.key), r = e.value;
7199
+ var Wf = (e, t) => {
7200
+ let n = Zf(t, e.key), r = e.value;
7187
7201
  switch (e.operator ?? "eq") {
7188
7202
  case "eq": return n === r;
7189
7203
  case "neq": return n == null || n === "" ? !1 : n !== r;
@@ -7194,39 +7208,39 @@ var Uf = (e, t) => {
7194
7208
  default: return !0;
7195
7209
  }
7196
7210
  };
7197
- function Wf(e, t) {
7198
- return Array.isArray(e) ? e.every((e) => Uf(e, t)) : Uf(e, t);
7199
- }
7200
7211
  function Gf(e, t) {
7212
+ return Array.isArray(e) ? e.every((e) => Wf(e, t)) : Wf(e, t);
7213
+ }
7214
+ function Kf(e, t) {
7201
7215
  if (!e || Object.keys(e).length === 0) return !0;
7202
- let n = t.filter((e) => !Bf(e) && !Vf(e));
7216
+ let n = t.filter((e) => !Vf(e) && !Hf(e));
7203
7217
  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;
7218
+ let n = Zf(e, t.key), r = qf(t);
7219
+ if (n !== void 0 && !ru(n, r, !0)) return !1;
7206
7220
  }
7207
7221
  return !0;
7208
7222
  }
7209
- function Kf(e) {
7223
+ function qf(e) {
7210
7224
  if ("defaultValue" in e && e.defaultValue !== void 0) return e.defaultValue;
7211
7225
  switch (e.type) {
7212
- case "string": return Lf(e) ? e.multiple ? [] : e.required ? e.enum[0] : "" : "";
7226
+ case "string": return Rf(e) ? e.multiple ? [] : e.required ? e.enum[0] : "" : "";
7213
7227
  case "number": return 0;
7214
7228
  case "boolean": return !1;
7215
7229
  case "array": return [];
7216
7230
  case "object": {
7217
7231
  let t = {};
7218
- for (let n of e.properties ?? []) Bf(n) || Vf(n) || (t[n.key] = Kf(n));
7232
+ for (let n of e.properties ?? []) Vf(n) || Hf(n) || (t[n.key] = qf(n));
7219
7233
  return t;
7220
7234
  }
7221
7235
  default: return;
7222
7236
  }
7223
7237
  }
7224
- function qf(e) {
7238
+ function Jf(e) {
7225
7239
  let t = {};
7226
- for (let n of e) Bf(n) || Vf(n) || (t[n.key] = Kf(n));
7240
+ for (let n of e) Vf(n) || Hf(n) || (t[n.key] = qf(n));
7227
7241
  return t;
7228
7242
  }
7229
- function Jf(e) {
7243
+ function Yf(e) {
7230
7244
  return e.split(".").reduce((e, t) => {
7231
7245
  if (t.includes("[")) {
7232
7246
  let [n, r] = t.split("[");
@@ -7235,52 +7249,52 @@ function Jf(e) {
7235
7249
  return e;
7236
7250
  }, []);
7237
7251
  }
7238
- function Yf(e) {
7252
+ function Xf(e) {
7239
7253
  return !isNaN(Number(e));
7240
7254
  }
7241
- function Xf(e = {}, t) {
7255
+ function Zf(e = {}, t) {
7242
7256
  if (!t.includes(".") && !t.includes("[")) return e[t];
7243
7257
  let n = e;
7244
- for (let e of Jf(t)) {
7258
+ for (let e of Yf(t)) {
7245
7259
  if (n == null) return;
7246
7260
  n = n[e];
7247
7261
  }
7248
7262
  return n;
7249
7263
  }
7250
- function Zf(e, t, n) {
7264
+ function Qf(e, t, n) {
7251
7265
  if (!t.includes(".") && !t.includes("[")) {
7252
7266
  e[t] = n;
7253
7267
  return;
7254
7268
  }
7255
- let r = Jf(t), i = r.pop();
7269
+ let r = Yf(t), i = r.pop();
7256
7270
  if (!i) return;
7257
7271
  let a = e;
7258
7272
  for (let e = 0; e < r.length; e++) {
7259
7273
  let t = r[e];
7260
- (typeof a[t] != "object" || a[t] === null) && (a[t] = Yf(r[e + 1] ?? i) ? [] : {}), a = a[t];
7274
+ (typeof a[t] != "object" || a[t] === null) && (a[t] = Xf(r[e + 1] ?? i) ? [] : {}), a = a[t];
7261
7275
  }
7262
7276
  a[i] = n;
7263
7277
  }
7264
- function Qf(e, t) {
7278
+ function $f(e, t) {
7265
7279
  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);
7280
+ for (let r of e) if ("store" in r && r.store && !Vf(r) && !Hf(r)) {
7281
+ let e = Zf(t, r.key);
7268
7282
  e !== void 0 && (n[r.key] = e);
7269
7283
  }
7270
7284
  return n;
7271
7285
  }
7272
- function $f(e, t) {
7286
+ function ep(e, t) {
7273
7287
  return t ? e.filter((e) => "group" in e && e.group === t) : e;
7274
7288
  }
7275
- function ep(e, t) {
7276
- let n = $f(e, t);
7289
+ function tp(e, t) {
7290
+ let n = ep(e, t);
7277
7291
  return n.length > 0 && n.every((e) => "readonly" in e && e.readonly);
7278
7292
  }
7279
- function tp(e, t) {
7280
- let n = $f(e, t);
7293
+ function np(e, t) {
7294
+ let n = ep(e, t);
7281
7295
  return n.length > 0 && n.some((e) => "store" in e && e.store);
7282
7296
  }
7283
- function np(e, t) {
7297
+ function rp(e, t) {
7284
7298
  if (!t) return !0;
7285
7299
  let n = {
7286
7300
  "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 +7307,11 @@ function np(e, t) {
7293
7307
  };
7294
7308
  return t in n ? n[t](e) : !0;
7295
7309
  }
7296
- function rp(e) {
7297
- if (Bf(e) || Vf(e)) return Us();
7310
+ function ip(e) {
7311
+ if (Vf(e) || Hf(e)) return Us();
7298
7312
  switch (e.type) {
7299
7313
  case "string":
7300
- if (Lf(e)) {
7314
+ if (Rf(e)) {
7301
7315
  if (e.multiple) {
7302
7316
  let t = V(L().trim().refine((t) => e.enum.includes(t), { error: "Invalid selection" }));
7303
7317
  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 +7322,47 @@ function rp(e) {
7308
7322
  }
7309
7323
  }
7310
7324
  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();
7325
+ 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
7326
  case "number":
7313
7327
  let n = z();
7314
7328
  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
7329
  case "boolean": return e.required ? B() : B().optional();
7316
7330
  case "array": {
7317
- let t = V(e.items ? rp(e.items) : Us());
7331
+ let t = V(e.items ? ip(e.items) : Us());
7318
7332
  return e.minItems !== void 0 && (t = t.min(e.minItems, { error: `At least ${e.minItems} entries required` })), e.required ? t : t.optional();
7319
7333
  }
7320
7334
  case "object": {
7321
7335
  let t = {};
7322
- for (let n of e.properties ?? []) Bf(n) || Vf(n) || (t[n.key] = rp(n));
7336
+ for (let n of e.properties ?? []) Vf(n) || Hf(n) || (t[n.key] = ip(n));
7323
7337
  let n = H(t);
7324
7338
  return e.required ? n : n.optional();
7325
7339
  }
7326
7340
  default: return e.required ? Us() : Us().optional();
7327
7341
  }
7328
7342
  }
7329
- var ip = (e, t, n) => t.filter((e) => "group" in e && e.group === n).some((t) => {
7343
+ var ap = (e, t, n) => t.filter((e) => "group" in e && e.group === n).some((t) => {
7330
7344
  let n = e[t.key];
7331
7345
  return n != null && n !== "";
7332
7346
  });
7333
- function ap(e) {
7347
+ function op(e) {
7334
7348
  let t = {}, n = /* @__PURE__ */ new Set();
7335
7349
  e.forEach((e) => {
7336
7350
  "group" in e && e.group && n.add(e.group);
7337
7351
  }), e.forEach((e) => {
7338
- if (!Bf(e) && !Vf(e)) {
7352
+ if (!Vf(e) && !Hf(e)) {
7339
7353
  let n = "group" in e && e.group, r = "condition" in e && e.condition;
7340
- (n || r) && e.required ? t[e.key] = rp({
7354
+ (n || r) && e.required ? t[e.key] = ip({
7341
7355
  ...e,
7342
7356
  required: !1
7343
- }) : t[e.key] = rp(e);
7357
+ }) : t[e.key] = ip(e);
7344
7358
  }
7345
7359
  });
7346
- let r = H(t), i = e.filter((e) => "condition" in e && e.condition && "required" in e && e.required && !Bf(e) && !Vf(e));
7360
+ let r = H(t), i = e.filter((e) => "condition" in e && e.condition && "required" in e && e.required && !Vf(e) && !Hf(e));
7347
7361
  return (n.size > 0 || i.length > 0) && (r = r.superRefine((t, r) => {
7348
- for (let i of n) if (ip(t, e, i)) {
7362
+ for (let i of n) if (ap(t, e, i)) {
7349
7363
  let n = e.filter((e) => "group" in e && e.group === i);
7350
7364
  for (let e of n) if ("required" in e && e.required) {
7351
- if ("condition" in e && e.condition && !Wf(e.condition, t)) continue;
7365
+ if ("condition" in e && e.condition && !Gf(e.condition, t)) continue;
7352
7366
  let n = t[e.key];
7353
7367
  (n == null || n === "") && r.addIssue({
7354
7368
  code: "custom",
@@ -7357,7 +7371,7 @@ function ap(e) {
7357
7371
  });
7358
7372
  }
7359
7373
  }
7360
- for (let e of i) if (!("group" in e && e.group) && "condition" in e && e.condition && Wf(e.condition, t)) {
7374
+ for (let e of i) if (!("group" in e && e.group) && "condition" in e && e.condition && Gf(e.condition, t)) {
7361
7375
  let n = t[e.key];
7362
7376
  (n == null || n === "") && r.addIssue({
7363
7377
  code: "custom",
@@ -7369,23 +7383,23 @@ function ap(e) {
7369
7383
  }
7370
7384
  //#endregion
7371
7385
  //#region node_modules/pinia/dist/pinia.js
7372
- var op = typeof window < "u", sp, cp = (e) => sp = e, lp = Symbol();
7373
- function up(e) {
7386
+ var sp = typeof window < "u", cp, lp = (e) => cp = e, up = Symbol();
7387
+ function dp(e) {
7374
7388
  return e && typeof e == "object" && Object.prototype.toString.call(e) === "[object Object]" && typeof e.toJSON != "function";
7375
7389
  }
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 } = {}) {
7390
+ 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 };
7391
+ function pp(e, { autoBom: t = !1 } = {}) {
7378
7392
  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
7393
  }
7380
- function pp(e, t, n) {
7394
+ function mp(e, t, n) {
7381
7395
  let r = new XMLHttpRequest();
7382
7396
  r.open("GET", e), r.responseType = "blob", r.onload = function() {
7383
- vp(r.response, t, n);
7397
+ yp(r.response, t, n);
7384
7398
  }, r.onerror = function() {
7385
7399
  console.error("could not download file");
7386
7400
  }, r.send();
7387
7401
  }
7388
- function mp(e) {
7402
+ function hp(e) {
7389
7403
  let t = new XMLHttpRequest();
7390
7404
  t.open("HEAD", e, !1);
7391
7405
  try {
@@ -7393,7 +7407,7 @@ function mp(e) {
7393
7407
  } catch {}
7394
7408
  return t.status >= 200 && t.status <= 299;
7395
7409
  }
7396
- function hp(e) {
7410
+ function gp(e) {
7397
7411
  try {
7398
7412
  e.dispatchEvent(new MouseEvent("click"));
7399
7413
  } catch {
@@ -7416,30 +7430,30 @@ function hp(e) {
7416
7430
  e.dispatchEvent(t);
7417
7431
  }
7418
7432
  }
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) {
7433
+ 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 : () => {};
7434
+ function bp(e, t = "download", n) {
7421
7435
  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() {
7436
+ 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
7437
  URL.revokeObjectURL(r.href);
7424
7438
  }, 4e4), setTimeout(function() {
7425
- hp(r);
7439
+ gp(r);
7426
7440
  }, 0));
7427
7441
  }
7428
- function bp(e, t = "download", n) {
7442
+ function xp(e, t = "download", n) {
7429
7443
  if (typeof e == "string") {
7430
- if (mp(e)) pp(e, t, n);
7444
+ if (hp(e)) mp(e, t, n);
7431
7445
  else {
7432
7446
  let t = document.createElement("a");
7433
7447
  t.href = e, t.target = "_blank", setTimeout(function() {
7434
- hp(t);
7448
+ gp(t);
7435
7449
  });
7436
7450
  }
7437
- } else navigator.msSaveOrOpenBlob(fp(e, n), t);
7451
+ } else navigator.msSaveOrOpenBlob(pp(e, n), t);
7438
7452
  }
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") {
7453
+ function Sp(e, t, n, r) {
7454
+ if (r ||= open("", "_blank"), r && (r.document.title = r.document.body.innerText = "downloading..."), typeof e == "string") return mp(e, t, n);
7455
+ let i = e.type === "application/octet-stream", a = /constructor/i.test(String(fp.HTMLElement)) || "safari" in fp, o = /CriOS\/[\d]+/.test(navigator.userAgent);
7456
+ if ((o || i && a || vp) && typeof FileReader < "u") {
7443
7457
  let t = new FileReader();
7444
7458
  t.onloadend = function() {
7445
7459
  let e = t.result;
@@ -7453,11 +7467,11 @@ function xp(e, t, n, r) {
7453
7467
  }, 4e4);
7454
7468
  }
7455
7469
  }
7456
- var { assign: Sp } = Object;
7457
- function Cp() {
7470
+ var { assign: Cp } = Object;
7471
+ function wp() {
7458
7472
  let e = s(!0), t = e.run(() => m({})), n = [], r = [], i = o({
7459
7473
  install(e) {
7460
- cp(i), i._a = e, e.provide(lp, i), e.config.globalProperties.$pinia = i, r.forEach((e) => n.push(e)), r = [];
7474
+ lp(i), i._a = e, e.provide(up, i), e.config.globalProperties.$pinia = i, r.forEach((e) => n.push(e)), r = [];
7461
7475
  },
7462
7476
  use(e) {
7463
7477
  return this._a ? n.push(e) : r.push(e), this;
@@ -7470,52 +7484,52 @@ function Cp() {
7470
7484
  });
7471
7485
  return i;
7472
7486
  }
7473
- var wp = () => {};
7474
- function Tp(e, t, n, r = wp) {
7487
+ var Tp = () => {};
7488
+ function Ep(e, t, n, r = Tp) {
7475
7489
  e.add(t);
7476
7490
  let i = () => {
7477
7491
  e.delete(t) && r();
7478
7492
  };
7479
7493
  return !n && f() && p(i), i;
7480
7494
  }
7481
- function Ep(e, ...t) {
7495
+ function Dp(e, ...t) {
7482
7496
  e.forEach((e) => {
7483
7497
  e(...t);
7484
7498
  });
7485
7499
  }
7486
- var Dp = (e) => e(), Op = Symbol(), kp = Symbol();
7487
- function Ap(e, t) {
7500
+ var Op = (e) => e(), kp = Symbol(), Ap = Symbol();
7501
+ function jp(e, t) {
7488
7502
  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
7503
  for (let n in t) {
7490
7504
  if (!Object.hasOwn(t, n)) continue;
7491
7505
  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;
7506
+ e[n] = dp(i) && dp(r) && Object.hasOwn(e, n) && !c(r) && !l(r) ? jp(i, r) : r;
7493
7507
  }
7494
7508
  return e;
7495
7509
  }
7496
- var jp = Symbol();
7497
- function Mp(e) {
7498
- return !e || typeof e != "object" || !Object.hasOwn(e, jp);
7510
+ var Mp = Symbol();
7511
+ function Np(e) {
7512
+ return !e || typeof e != "object" || !Object.hasOwn(e, Mp);
7499
7513
  }
7500
- var { assign: Np } = Object;
7501
- function Pp(e) {
7514
+ var { assign: Pp } = Object;
7515
+ function Fp(e) {
7502
7516
  return !!(c(e) && e.effect);
7503
7517
  }
7504
- function Fp(e, n, r, i) {
7518
+ function Ip(e, n, r, i) {
7505
7519
  let { state: a, actions: s, getters: c } = n, l = r.state.value[e], d;
7506
7520
  function f() {
7507
7521
  return l ||
7508
7522
  /* 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);
7523
+ (r.state.value[e] = a ? a() : {}), Pp(t(r.state.value[e]), s, Object.keys(c || {}).reduce((t, n) => (t[n] = o(u(() => {
7524
+ lp(r);
7511
7525
  let t = r._s.get(e);
7512
7526
  return c[n].call(t, t);
7513
7527
  })), t), {}));
7514
7528
  }
7515
- return d = Ip(e, f, n, r, i, !0), d;
7529
+ return d = Lp(e, f, n, r, i, !0), d;
7516
7530
  }
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];
7531
+ function Lp(e, t, n = {}, r, o, u) {
7532
+ 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
7533
  !u && !ne &&
7520
7534
  /* istanbul ignore if */
7521
7535
  (r.state.value[e] = {});
@@ -7526,7 +7540,7 @@ function Ip(e, t, n = {}, r, o, u) {
7526
7540
  type: "patch function",
7527
7541
  storeId: e,
7528
7542
  events: te
7529
- }) : (Ap(r.state.value[e], t), n = {
7543
+ }) : (jp(r.state.value[e], t), n = {
7530
7544
  type: "patch object",
7531
7545
  payload: t,
7532
7546
  storeId: e,
@@ -7535,21 +7549,21 @@ function Ip(e, t, n = {}, r, o, u) {
7535
7549
  let a = re = Symbol();
7536
7550
  i().then(() => {
7537
7551
  re === a && (g = !0);
7538
- }), _ = !0, Ep(v, n, r.state.value[e]);
7552
+ }), _ = !0, Dp(v, n, r.state.value[e]);
7539
7553
  }
7540
7554
  let ae = u ? function() {
7541
7555
  let { state: e } = n, t = e ? e() : {};
7542
7556
  this.$patch((e) => {
7543
- Np(e, t);
7557
+ Pp(e, t);
7544
7558
  });
7545
- } : wp;
7559
+ } : Tp;
7546
7560
  function oe() {
7547
7561
  f.stop(), v.clear(), ee.clear(), r._s.delete(e);
7548
7562
  }
7549
7563
  let y = (t, n = "") => {
7550
- if (Op in t) return t[kp] = n, t;
7564
+ if (kp in t) return t[Ap] = n, t;
7551
7565
  let i = function() {
7552
- cp(r);
7566
+ lp(r);
7553
7567
  let n = Array.from(arguments), a = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set();
7554
7568
  function s(e) {
7555
7569
  a.add(e);
@@ -7557,9 +7571,9 @@ function Ip(e, t, n = {}, r, o, u) {
7557
7571
  function c(e) {
7558
7572
  o.add(e);
7559
7573
  }
7560
- Ep(ee, {
7574
+ Dp(ee, {
7561
7575
  args: n,
7562
- name: i[kp],
7576
+ name: i[Ap],
7563
7577
  store: b,
7564
7578
  after: s,
7565
7579
  onError: c
@@ -7568,41 +7582,41 @@ function Ip(e, t, n = {}, r, o, u) {
7568
7582
  try {
7569
7583
  l = t.apply(this && this.$id === e ? this : b, n);
7570
7584
  } catch (e) {
7571
- throw Ep(o, e), e;
7585
+ throw Dp(o, e), e;
7572
7586
  }
7573
- return l instanceof Promise ? l.then((e) => (Ep(a, e), e)).catch((e) => (Ep(o, e), Promise.reject(e))) : (Ep(a, l), l);
7587
+ return l instanceof Promise ? l.then((e) => (Dp(a, e), e)).catch((e) => (Dp(o, e), Promise.reject(e))) : (Dp(a, l), l);
7574
7588
  };
7575
- return i[Op] = !0, i[kp] = n, i;
7589
+ return i[kp] = !0, i[Ap] = n, i;
7576
7590
  }, se = {
7577
7591
  _p: r,
7578
7592
  $id: e,
7579
- $onAction: Tp.bind(null, ee),
7593
+ $onAction: Ep.bind(null, ee),
7580
7594
  $patch: ie,
7581
7595
  $reset: ae,
7582
7596
  $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) => {
7597
+ if (v.has(t)) return Tp;
7598
+ let i = Ep(v, t, n.detached, () => a()), a = f.run(() => d(() => r.state.value[e], (r) => {
7585
7599
  (n.flush === "sync" ? _ : g) && t({
7586
7600
  storeId: e,
7587
7601
  type: "direct",
7588
7602
  events: te
7589
7603
  }, r);
7590
- }, Np({}, m, n)));
7604
+ }, Pp({}, m, n)));
7591
7605
  return i;
7592
7606
  },
7593
7607
  $dispose: oe
7594
7608
  }, b = h(se);
7595
7609
  r._s.set(e, b);
7596
- let x = (r._a && r._a.runWithContext || Dp)(() => r._e.run(() => (f = s()).run(() => t({ action: y }))));
7610
+ let x = (r._a && r._a.runWithContext || Op)(() => r._e.run(() => (f = s()).run(() => t({ action: y }))));
7597
7611
  for (let t in x) {
7598
7612
  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);
7613
+ 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
7614
  }
7601
- return Np(b, x), Np(a(b), x), Object.defineProperty(b, "$state", {
7615
+ return Pp(b, x), Pp(a(b), x), Object.defineProperty(b, "$state", {
7602
7616
  get: () => r.state.value[e],
7603
7617
  set: (e) => {
7604
7618
  ie((t) => {
7605
- Np(t, e);
7619
+ Pp(t, e);
7606
7620
  });
7607
7621
  }
7608
7622
  }), r._p.forEach((e) => {
@@ -7612,19 +7626,19 @@ function Ip(e, t, n = {}, r, o, u) {
7612
7626
  pinia: r,
7613
7627
  options: p
7614
7628
  }));
7615
- Np(b, t);
7629
+ Pp(b, t);
7616
7630
  }), ne && u && n.hydrate && n.hydrate(b.$state, ne), g = !0, _ = !0, b;
7617
7631
  }
7618
- function Lp(t, r, i) {
7632
+ function Rp(t, r, i) {
7619
7633
  let a, o = typeof r == "function";
7620
7634
  a = o ? i : r;
7621
7635
  function s(i, s) {
7622
7636
  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);
7637
+ 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
7638
  }
7625
7639
  return s.$id = t, s;
7626
7640
  }
7627
- function Rp(e) {
7641
+ function zp(e) {
7628
7642
  let t = a(e), n = {};
7629
7643
  for (let i in t) {
7630
7644
  let a = t[i];
@@ -7638,4 +7652,4 @@ function Rp(e) {
7638
7652
  return n;
7639
7653
  }
7640
7654
  //#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 };
7655
+ 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 };