@camera.ui/server 2.4.4 → 2.4.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 (1585) hide show
  1. package/dist/interface/assets/404-hVsGW6Lh.js +1 -0
  2. package/dist/interface/assets/404-hVsGW6Lh.js.br +0 -0
  3. package/dist/interface/assets/404-hVsGW6Lh.js.gz +0 -0
  4. package/dist/interface/assets/About-C_3sD7av.js +1 -0
  5. package/dist/interface/assets/About-C_3sD7av.js.br +0 -0
  6. package/dist/interface/assets/About-C_3sD7av.js.gz +0 -0
  7. package/dist/interface/assets/Assistant-DFhtJAU7.js +1 -0
  8. package/dist/interface/assets/Assistant-DFhtJAU7.js.br +0 -0
  9. package/dist/interface/assets/Assistant-DFhtJAU7.js.gz +0 -0
  10. package/dist/interface/assets/Automation-DO4W9nqb.js +3 -0
  11. package/dist/interface/assets/Automation-DO4W9nqb.js.br +0 -0
  12. package/dist/interface/assets/Automation-DO4W9nqb.js.gz +0 -0
  13. package/dist/interface/assets/AutomationImport-Dc0t9W-i.js +2 -0
  14. package/dist/interface/assets/AutomationImport-Dc0t9W-i.js.br +0 -0
  15. package/dist/interface/assets/AutomationImport-Dc0t9W-i.js.gz +0 -0
  16. package/dist/interface/assets/AutomationStore-iL1jYMQq.js +2 -0
  17. package/dist/interface/assets/AutomationStore-iL1jYMQq.js.br +0 -0
  18. package/dist/interface/assets/AutomationStore-iL1jYMQq.js.gz +0 -0
  19. package/dist/interface/assets/AutomationStoreDetail-D137BsSh.js +2 -0
  20. package/dist/interface/assets/AutomationStoreDetail-D137BsSh.js.br +0 -0
  21. package/dist/interface/assets/AutomationStoreDetail-D137BsSh.js.gz +0 -0
  22. package/dist/interface/assets/Automations-B_P59q9S.js +2 -0
  23. package/dist/interface/assets/Automations-B_P59q9S.js.br +0 -0
  24. package/dist/interface/assets/Automations-B_P59q9S.js.gz +0 -0
  25. package/dist/interface/assets/BackupRestore-L1zo9o8n.js +1 -0
  26. package/dist/interface/assets/BackupRestore-L1zo9o8n.js.br +0 -0
  27. package/dist/interface/assets/BackupRestore-L1zo9o8n.js.gz +0 -0
  28. package/dist/interface/assets/Camera-Db_9NkXs.js +2 -0
  29. package/dist/interface/assets/Camera-Db_9NkXs.js.br +0 -0
  30. package/dist/interface/assets/Camera-Db_9NkXs.js.gz +0 -0
  31. package/dist/interface/assets/CameraConsole-ChURz5tS.js +7 -0
  32. package/dist/interface/assets/CameraConsole-ChURz5tS.js.br +0 -0
  33. package/dist/interface/assets/CameraConsole-ChURz5tS.js.gz +0 -0
  34. package/dist/interface/assets/Cameras-B-_w3w8K.js +651 -0
  35. package/dist/interface/assets/Cameras-B-_w3w8K.js.br +0 -0
  36. package/dist/interface/assets/Cameras-B-_w3w8K.js.gz +0 -0
  37. package/dist/interface/assets/Camview-D8JvkaGn.js +1 -0
  38. package/dist/interface/assets/Camview-D8JvkaGn.js.br +0 -0
  39. package/dist/interface/assets/Camview-D8JvkaGn.js.gz +0 -0
  40. package/dist/interface/assets/Config-CD_jpqgr.js +2 -0
  41. package/dist/interface/assets/Config-CD_jpqgr.js.br +0 -0
  42. package/dist/interface/assets/Config-CD_jpqgr.js.gz +0 -0
  43. package/dist/interface/assets/ConfigActionAssistant-DYGjv20f.js +1 -0
  44. package/dist/interface/assets/ConfigActionAssistant-DYGjv20f.js.br +0 -0
  45. package/dist/interface/assets/ConfigActionAssistant-DYGjv20f.js.gz +0 -0
  46. package/dist/interface/assets/ConfigActionCameraControl-DSHZMfQ8.js +1 -0
  47. package/dist/interface/assets/ConfigActionCameraControl-DSHZMfQ8.js.br +0 -0
  48. package/dist/interface/assets/ConfigActionCameraControl-DSHZMfQ8.js.gz +0 -0
  49. package/dist/interface/assets/ConfigActionHttp-eN4g4aoL.js +1 -0
  50. package/dist/interface/assets/ConfigActionHttp-eN4g4aoL.js.br +0 -0
  51. package/dist/interface/assets/ConfigActionHttp-eN4g4aoL.js.gz +0 -0
  52. package/dist/interface/assets/ConfigActionImageInput-DUJM-a-i.js +1 -0
  53. package/dist/interface/assets/ConfigActionImageInput-DUJM-a-i.js.br +0 -0
  54. package/dist/interface/assets/ConfigActionImageInput-DUJM-a-i.js.gz +0 -0
  55. package/dist/interface/assets/ConfigActionMqtt-D6uzu_yV.js +1 -0
  56. package/dist/interface/assets/ConfigActionMqtt-D6uzu_yV.js.br +0 -0
  57. package/dist/interface/assets/ConfigActionMqtt-D6uzu_yV.js.gz +0 -0
  58. package/dist/interface/assets/ConfigActionNotification-CMj1M-ZL.js +1 -0
  59. package/dist/interface/assets/ConfigActionNotification-CMj1M-ZL.js.br +0 -0
  60. package/dist/interface/assets/ConfigActionNotification-CMj1M-ZL.js.gz +0 -0
  61. package/dist/interface/assets/ConfigActionNotificationControl-CKW_UyjT.js +1 -0
  62. package/dist/interface/assets/ConfigActionNotificationControl-CKW_UyjT.js.br +0 -0
  63. package/dist/interface/assets/ConfigActionNotificationControl-CKW_UyjT.js.gz +0 -0
  64. package/dist/interface/assets/ConfigActionOutput-ztdEAsSG.js +1 -0
  65. package/dist/interface/assets/ConfigActionOutput-ztdEAsSG.js.br +0 -0
  66. package/dist/interface/assets/ConfigActionOutput-ztdEAsSG.js.gz +0 -0
  67. package/dist/interface/assets/ConfigActionPlugin-79hUEglU.js +1 -0
  68. package/dist/interface/assets/ConfigActionPlugin-79hUEglU.js.br +0 -0
  69. package/dist/interface/assets/ConfigActionPlugin-79hUEglU.js.gz +0 -0
  70. package/dist/interface/assets/ConfigActionSensor-DsvM8vFa.js +1 -0
  71. package/dist/interface/assets/ConfigActionSensor-DsvM8vFa.js.br +0 -0
  72. package/dist/interface/assets/ConfigActionSensor-DsvM8vFa.js.gz +0 -0
  73. package/dist/interface/assets/ConfigActionSnapshot-Byb5iWpi.js +1 -0
  74. package/dist/interface/assets/ConfigActionSnapshot-Byb5iWpi.js.br +0 -0
  75. package/dist/interface/assets/ConfigActionSnapshot-Byb5iWpi.js.gz +0 -0
  76. package/dist/interface/assets/ConfigActionVariable-Dp26xHPT.js +1 -0
  77. package/dist/interface/assets/ConfigActionVariable-Dp26xHPT.js.br +0 -0
  78. package/dist/interface/assets/ConfigActionVariable-Dp26xHPT.js.gz +0 -0
  79. package/dist/interface/assets/ConfigConditionIfElse-Bht9ABgc.js +1 -0
  80. package/dist/interface/assets/ConfigConditionIfElse-Bht9ABgc.js.br +0 -0
  81. package/dist/interface/assets/ConfigConditionIfElse-Bht9ABgc.js.gz +0 -0
  82. package/dist/interface/assets/ConfigConditionSensorState-DgMZLtBd.js +1 -0
  83. package/dist/interface/assets/ConfigConditionSensorState-DgMZLtBd.js.br +0 -0
  84. package/dist/interface/assets/ConfigConditionSensorState-DgMZLtBd.js.gz +0 -0
  85. package/dist/interface/assets/ConfigConditionSwitch-DDmd4tCA.js +1 -0
  86. package/dist/interface/assets/ConfigConditionSwitch-DDmd4tCA.js.br +0 -0
  87. package/dist/interface/assets/ConfigConditionSwitch-DDmd4tCA.js.gz +0 -0
  88. package/dist/interface/assets/ConfigSensorValueInput-BHx-mm3F.js +1 -0
  89. package/dist/interface/assets/ConfigSensorValueInput-BHx-mm3F.js.br +0 -0
  90. package/dist/interface/assets/ConfigSensorValueInput-BHx-mm3F.js.gz +0 -0
  91. package/dist/interface/assets/ConfigTriggerDetection-BMnzsfaq.js +1 -0
  92. package/dist/interface/assets/ConfigTriggerDetection-BMnzsfaq.js.br +0 -0
  93. package/dist/interface/assets/ConfigTriggerDetection-BMnzsfaq.js.gz +0 -0
  94. package/dist/interface/assets/ConfigTriggerGeofence-uxQqhZJO.js +1 -0
  95. package/dist/interface/assets/ConfigTriggerGeofence-uxQqhZJO.js.br +0 -0
  96. package/dist/interface/assets/ConfigTriggerGeofence-uxQqhZJO.js.gz +0 -0
  97. package/dist/interface/assets/ConfigTriggerMqtt-CUnA7sv-.js +1 -0
  98. package/dist/interface/assets/ConfigTriggerMqtt-CUnA7sv-.js.br +0 -0
  99. package/dist/interface/assets/ConfigTriggerMqtt-CUnA7sv-.js.gz +0 -0
  100. package/dist/interface/assets/ConfigTriggerSensor-DwhIzctJ.js +1 -0
  101. package/dist/interface/assets/ConfigTriggerSensor-DwhIzctJ.js.br +0 -0
  102. package/dist/interface/assets/ConfigTriggerSensor-DwhIzctJ.js.gz +0 -0
  103. package/dist/interface/assets/ConfigTriggerSystem-yjhs1dCh.js +1 -0
  104. package/dist/interface/assets/ConfigTriggerSystem-yjhs1dCh.js.br +0 -0
  105. package/dist/interface/assets/ConfigTriggerSystem-yjhs1dCh.js.gz +0 -0
  106. package/dist/interface/assets/ConfigTriggerWebhook-zNRZUDWu.js +1 -0
  107. package/dist/interface/assets/ConfigTriggerWebhook-zNRZUDWu.js.br +0 -0
  108. package/dist/interface/assets/ConfigTriggerWebhook-zNRZUDWu.js.gz +0 -0
  109. package/dist/interface/assets/Console-C4OWOTj4.js +1 -0
  110. package/dist/interface/assets/Console-C4OWOTj4.js.br +0 -0
  111. package/dist/interface/assets/Console-C4OWOTj4.js.gz +0 -0
  112. package/dist/interface/assets/CuiAssistantConversation-t5cEuxve.js +5 -0
  113. package/dist/interface/assets/CuiAssistantConversation-t5cEuxve.js.br +0 -0
  114. package/dist/interface/assets/CuiAssistantConversation-t5cEuxve.js.gz +0 -0
  115. package/dist/interface/assets/CuiAutomationRunsDialog-CQr-PjFC.js +1 -0
  116. package/dist/interface/assets/CuiAutomationRunsDialog-CQr-PjFC.js.br +0 -0
  117. package/dist/interface/assets/CuiAutomationRunsDialog-CQr-PjFC.js.gz +0 -0
  118. package/dist/interface/assets/CuiBottomSheet-C8vcMM6c.js +1 -0
  119. package/dist/interface/assets/CuiBottomSheet-C8vcMM6c.js.br +1 -0
  120. package/dist/interface/assets/CuiBottomSheet-C8vcMM6c.js.gz +0 -0
  121. package/dist/interface/assets/CuiBottomSheet-CWnDfBWp.js +1 -0
  122. package/dist/interface/assets/CuiBottomSheet-CWnDfBWp.js.br +0 -0
  123. package/dist/interface/assets/CuiBottomSheet-CWnDfBWp.js.gz +0 -0
  124. package/dist/interface/assets/CuiCameraPipCard-C99qczuv.js +1 -0
  125. package/dist/interface/assets/CuiCameraPipCard-C99qczuv.js.br +0 -0
  126. package/dist/interface/assets/CuiCameraPipCard-C99qczuv.js.gz +0 -0
  127. package/dist/interface/assets/CuiCameraRecordings-BnAaQRj2.js +1 -0
  128. package/dist/interface/assets/CuiCameraRecordings-BnAaQRj2.js.br +0 -0
  129. package/dist/interface/assets/CuiCameraRecordings-BnAaQRj2.js.gz +0 -0
  130. package/dist/interface/assets/CuiCameraShares-CFUe9wwL.js +1 -0
  131. package/dist/interface/assets/CuiCameraShares-CFUe9wwL.js.br +0 -0
  132. package/dist/interface/assets/CuiCameraShares-CFUe9wwL.js.gz +0 -0
  133. package/dist/interface/assets/CuiCameraTable-BXOysxoN.js +2 -0
  134. package/dist/interface/assets/CuiCameraTable-BXOysxoN.js.br +0 -0
  135. package/dist/interface/assets/CuiCameraTable-BXOysxoN.js.gz +0 -0
  136. package/dist/interface/assets/CuiCameraTable-WAVYFa0u.js +1 -0
  137. package/dist/interface/assets/CuiCameraTable-WAVYFa0u.js.br +1 -0
  138. package/dist/interface/assets/CuiCameraTable-WAVYFa0u.js.gz +0 -0
  139. package/dist/interface/assets/CuiChartTable-CTjMLvzb.js +1 -0
  140. package/dist/interface/assets/CuiChartTable-CTjMLvzb.js.br +0 -0
  141. package/dist/interface/assets/CuiChartTable-CTjMLvzb.js.gz +0 -0
  142. package/dist/interface/assets/CuiConsole-BFvN8cPA.js +5 -0
  143. package/dist/interface/assets/CuiConsole-BFvN8cPA.js.br +0 -0
  144. package/dist/interface/assets/CuiConsole-BFvN8cPA.js.gz +0 -0
  145. package/dist/interface/assets/CuiDataTable-FnWi3O0x.js +1 -0
  146. package/dist/interface/assets/CuiDataTable-FnWi3O0x.js.br +0 -0
  147. package/dist/interface/assets/CuiDataTable-FnWi3O0x.js.gz +0 -0
  148. package/dist/interface/assets/CuiLightControl-Ctn0vEBF.js +1 -0
  149. package/dist/interface/assets/CuiLightControl-Ctn0vEBF.js.br +0 -0
  150. package/dist/interface/assets/CuiLightControl-Ctn0vEBF.js.gz +0 -0
  151. package/dist/interface/assets/CuiMoveCodeForm-BSBZORUq.js +1 -0
  152. package/dist/interface/assets/CuiMoveCodeForm-BSBZORUq.js.br +0 -0
  153. package/dist/interface/assets/CuiMoveCodeForm-BSBZORUq.js.gz +0 -0
  154. package/dist/interface/assets/CuiPluginCard-Dw8RwEPB.js +2 -0
  155. package/dist/interface/assets/CuiPluginCard-Dw8RwEPB.js.br +0 -0
  156. package/dist/interface/assets/CuiPluginCard-Dw8RwEPB.js.gz +0 -0
  157. package/dist/interface/assets/CuiPluginCategoryChip-BhAuIMfa.js +1 -0
  158. package/dist/interface/assets/CuiPluginCategoryChip-BhAuIMfa.js.br +0 -0
  159. package/dist/interface/assets/CuiPluginCategoryChip-BhAuIMfa.js.gz +0 -0
  160. package/dist/interface/assets/CuiPluginOAuthButton-B-XDXnDs.js +2 -0
  161. package/dist/interface/assets/CuiPluginOAuthButton-B-XDXnDs.js.br +0 -0
  162. package/dist/interface/assets/CuiPluginOAuthButton-B-XDXnDs.js.gz +0 -0
  163. package/dist/interface/assets/CuiPluginTrustBadge-D2j23jDW.js +1 -0
  164. package/dist/interface/assets/CuiPluginTrustBadge-D2j23jDW.js.br +0 -0
  165. package/dist/interface/assets/CuiPluginTrustBadge-D2j23jDW.js.gz +0 -0
  166. package/dist/interface/assets/CuiQRCode-BzfOr9Ps.js +1 -0
  167. package/dist/interface/assets/CuiQRCode-BzfOr9Ps.js.br +0 -0
  168. package/dist/interface/assets/CuiQRCode-BzfOr9Ps.js.gz +0 -0
  169. package/dist/interface/assets/CuiSchema-VkE3TzSp.js +1 -0
  170. package/dist/interface/assets/CuiSchema-VkE3TzSp.js.br +0 -0
  171. package/dist/interface/assets/CuiSchema-VkE3TzSp.js.gz +0 -0
  172. package/dist/interface/assets/CuiToggleRow-DbKJ6dqR.js +1 -0
  173. package/dist/interface/assets/CuiToggleRow-DbKJ6dqR.js.br +0 -0
  174. package/dist/interface/assets/CuiToggleRow-DbKJ6dqR.js.gz +0 -0
  175. package/dist/interface/assets/CuiTopNavbarItem-CaK1IU12.js +1 -0
  176. package/dist/interface/assets/CuiTopNavbarItem-CaK1IU12.js.br +0 -0
  177. package/dist/interface/assets/CuiTopNavbarItem-CaK1IU12.js.gz +0 -0
  178. package/dist/interface/assets/Faces-DnOU_Gw4.js +1 -0
  179. package/dist/interface/assets/Faces-DnOU_Gw4.js.br +0 -0
  180. package/dist/interface/assets/Faces-DnOU_Gw4.js.gz +0 -0
  181. package/dist/interface/assets/FirstSteps-BHPxaq7Z.js +1 -0
  182. package/dist/interface/assets/FirstSteps-BHPxaq7Z.js.br +0 -0
  183. package/dist/interface/assets/FirstSteps-BHPxaq7Z.js.gz +0 -0
  184. package/dist/interface/assets/Floorplan-Cq_o2wZ6.js +1 -0
  185. package/dist/interface/assets/Floorplan-Cq_o2wZ6.js.br +0 -0
  186. package/dist/interface/assets/Floorplan-Cq_o2wZ6.js.gz +0 -0
  187. package/dist/interface/assets/Instances-BBPkwHqD.js +1 -0
  188. package/dist/interface/assets/Instances-BBPkwHqD.js.br +0 -0
  189. package/dist/interface/assets/Instances-BBPkwHqD.js.gz +0 -0
  190. package/dist/interface/assets/Logs-CXU7VYrJ.js +6 -0
  191. package/dist/interface/assets/Logs-CXU7VYrJ.js.br +0 -0
  192. package/dist/interface/assets/Logs-CXU7VYrJ.js.gz +0 -0
  193. package/dist/interface/assets/Menu-D-e7o4iq.js +1 -0
  194. package/dist/interface/assets/Menu-D-e7o4iq.js.br +0 -0
  195. package/dist/interface/assets/Menu-D-e7o4iq.js.gz +0 -0
  196. package/dist/interface/assets/Metrics-B9nmqUKu.js +12 -0
  197. package/dist/interface/assets/Metrics-B9nmqUKu.js.br +0 -0
  198. package/dist/interface/assets/Metrics-B9nmqUKu.js.gz +0 -0
  199. package/dist/interface/assets/OAuthDeviceFlow-BuWBh0dz.js +1 -0
  200. package/dist/interface/assets/OAuthDeviceFlow-BuWBh0dz.js.br +0 -0
  201. package/dist/interface/assets/OAuthDeviceFlow-BuWBh0dz.js.gz +0 -0
  202. package/dist/interface/assets/Plugin-DJltzaJk.js +1 -0
  203. package/dist/interface/assets/Plugin-DJltzaJk.js.br +0 -0
  204. package/dist/interface/assets/Plugin-DJltzaJk.js.gz +0 -0
  205. package/dist/interface/assets/PluginConsole-BIJaCn41.js +7 -0
  206. package/dist/interface/assets/PluginConsole-BIJaCn41.js.br +0 -0
  207. package/dist/interface/assets/PluginConsole-BIJaCn41.js.gz +0 -0
  208. package/dist/interface/assets/PluginDetail-D4UmV_X5.js +2 -0
  209. package/dist/interface/assets/PluginDetail-D4UmV_X5.js.br +0 -0
  210. package/dist/interface/assets/PluginDetail-D4UmV_X5.js.gz +0 -0
  211. package/dist/interface/assets/PluginSchema-A9bEqpDs.js +1 -0
  212. package/dist/interface/assets/PluginSchema-A9bEqpDs.js.br +0 -0
  213. package/dist/interface/assets/PluginSchema-A9bEqpDs.js.gz +0 -0
  214. package/dist/interface/assets/PluginSearch-BL5oylnD.js +1 -0
  215. package/dist/interface/assets/PluginSearch-BL5oylnD.js.br +1 -0
  216. package/dist/interface/assets/PluginSearch-BL5oylnD.js.gz +0 -0
  217. package/dist/interface/assets/PluginSearch-DTj6q-Hs.js +2 -0
  218. package/dist/interface/assets/PluginSearch-DTj6q-Hs.js.br +0 -0
  219. package/dist/interface/assets/PluginSearch-DTj6q-Hs.js.gz +0 -0
  220. package/dist/interface/assets/PluginUpdateProgress-COeqfI5D.js +1 -0
  221. package/dist/interface/assets/PluginUpdateProgress-COeqfI5D.js.br +0 -0
  222. package/dist/interface/assets/PluginUpdateProgress-COeqfI5D.js.gz +0 -0
  223. package/dist/interface/assets/Plugins-Bvy4OxaA.js +1 -0
  224. package/dist/interface/assets/Plugins-Bvy4OxaA.js.br +0 -0
  225. package/dist/interface/assets/Plugins-Bvy4OxaA.js.gz +0 -0
  226. package/dist/interface/assets/RecentEventsFilter-Bw6R7xpB.js +1 -0
  227. package/dist/interface/assets/RecentEventsFilter-Bw6R7xpB.js.br +10 -0
  228. package/dist/interface/assets/RecentEventsFilter-Bw6R7xpB.js.gz +0 -0
  229. package/dist/interface/assets/Recordings-GB9f7U1J.js +1 -0
  230. package/dist/interface/assets/Recordings-GB9f7U1J.js.br +0 -0
  231. package/dist/interface/assets/Recordings-GB9f7U1J.js.gz +0 -0
  232. package/dist/interface/assets/SensorEdit-ZDlJ5Sx0.js +1 -0
  233. package/dist/interface/assets/SensorEdit-ZDlJ5Sx0.js.br +0 -0
  234. package/dist/interface/assets/SensorEdit-ZDlJ5Sx0.js.gz +0 -0
  235. package/dist/interface/assets/SensorHistory-BqWkg20z.js +1 -0
  236. package/dist/interface/assets/SensorHistory-BqWkg20z.js.br +0 -0
  237. package/dist/interface/assets/SensorHistory-BqWkg20z.js.gz +0 -0
  238. package/dist/interface/assets/Sensors-Bw8tAhCc.js +2 -0
  239. package/dist/interface/assets/Sensors-Bw8tAhCc.js.br +0 -0
  240. package/dist/interface/assets/Sensors-Bw8tAhCc.js.gz +0 -0
  241. package/dist/interface/assets/Settings-D55jap12.js +1 -0
  242. package/dist/interface/assets/Settings-D55jap12.js.br +0 -0
  243. package/dist/interface/assets/Settings-D55jap12.js.gz +0 -0
  244. package/dist/interface/assets/SettingsAccount-BnrL83GV.js +1 -0
  245. package/dist/interface/assets/SettingsAccount-BnrL83GV.js.br +0 -0
  246. package/dist/interface/assets/SettingsAccount-BnrL83GV.js.gz +0 -0
  247. package/dist/interface/assets/SettingsAccount-GCZLr6ud.js +1 -0
  248. package/dist/interface/assets/SettingsAccount-GCZLr6ud.js.br +0 -0
  249. package/dist/interface/assets/SettingsAccount-GCZLr6ud.js.gz +0 -0
  250. package/dist/interface/assets/SettingsAppearance-DXZRmhUw.js +1 -0
  251. package/dist/interface/assets/SettingsAppearance-DXZRmhUw.js.br +0 -0
  252. package/dist/interface/assets/SettingsAppearance-DXZRmhUw.js.gz +0 -0
  253. package/dist/interface/assets/SettingsAppearance-Dqzq7uK-.js +1 -0
  254. package/dist/interface/assets/SettingsAppearance-Dqzq7uK-.js.br +0 -0
  255. package/dist/interface/assets/SettingsAppearance-Dqzq7uK-.js.gz +0 -0
  256. package/dist/interface/assets/SettingsAssistant-xCGkjjkQ.js +1 -0
  257. package/dist/interface/assets/SettingsAssistant-xCGkjjkQ.js.br +0 -0
  258. package/dist/interface/assets/SettingsAssistant-xCGkjjkQ.js.gz +0 -0
  259. package/dist/interface/assets/SettingsBackup-C23tKEWy.js +1 -0
  260. package/dist/interface/assets/SettingsBackup-C23tKEWy.js.br +0 -0
  261. package/dist/interface/assets/SettingsBackup-C23tKEWy.js.gz +0 -0
  262. package/dist/interface/assets/SettingsList-CtTsdzCT.js +1 -0
  263. package/dist/interface/assets/SettingsList-CtTsdzCT.js.br +0 -0
  264. package/dist/interface/assets/SettingsList-CtTsdzCT.js.gz +0 -0
  265. package/dist/interface/assets/SettingsMqtt-DiqLclBV.js +1 -0
  266. package/dist/interface/assets/SettingsMqtt-DiqLclBV.js.br +0 -0
  267. package/dist/interface/assets/SettingsMqtt-DiqLclBV.js.gz +0 -0
  268. package/dist/interface/assets/SettingsNotifications-DwDs_hhT.js +1 -0
  269. package/dist/interface/assets/SettingsNotifications-DwDs_hhT.js.br +0 -0
  270. package/dist/interface/assets/SettingsNotifications-DwDs_hhT.js.gz +0 -0
  271. package/dist/interface/assets/SettingsPermissions-Bjv8c2nz.js +1 -0
  272. package/dist/interface/assets/SettingsPermissions-Bjv8c2nz.js.br +0 -0
  273. package/dist/interface/assets/SettingsPermissions-Bjv8c2nz.js.gz +0 -0
  274. package/dist/interface/assets/SettingsRecordings-BTJuUCbG.js +1 -0
  275. package/dist/interface/assets/SettingsRecordings-BTJuUCbG.js.br +0 -0
  276. package/dist/interface/assets/SettingsRecordings-BTJuUCbG.js.gz +0 -0
  277. package/dist/interface/assets/SettingsRemote-zsOfSt4O.js +2 -0
  278. package/dist/interface/assets/SettingsRemote-zsOfSt4O.js.br +0 -0
  279. package/dist/interface/assets/SettingsRemote-zsOfSt4O.js.gz +0 -0
  280. package/dist/interface/assets/SettingsSystem-B9xQBju5.js +2 -0
  281. package/dist/interface/assets/SettingsSystem-B9xQBju5.js.br +0 -0
  282. package/dist/interface/assets/SettingsSystem-B9xQBju5.js.gz +0 -0
  283. package/dist/interface/assets/SettingsUsers-3HlQ67tI.js +1 -0
  284. package/dist/interface/assets/SettingsUsers-3HlQ67tI.js.br +0 -0
  285. package/dist/interface/assets/SettingsUsers-3HlQ67tI.js.gz +0 -0
  286. package/dist/interface/assets/Terminal-DPM4a-oc.js +4 -0
  287. package/dist/interface/assets/Terminal-DPM4a-oc.js.br +0 -0
  288. package/dist/interface/assets/Terminal-DPM4a-oc.js.gz +0 -0
  289. package/dist/interface/assets/Training-wm807a7a.js +1 -0
  290. package/dist/interface/assets/Training-wm807a7a.js.br +0 -0
  291. package/dist/interface/assets/Training-wm807a7a.js.gz +0 -0
  292. package/dist/interface/assets/Updates-BIkGGPJT.js +2 -0
  293. package/dist/interface/assets/Updates-BIkGGPJT.js.br +0 -0
  294. package/dist/interface/assets/Updates-BIkGGPJT.js.gz +0 -0
  295. package/dist/interface/assets/VariableInput-Z67pYDR1.js +1 -0
  296. package/dist/interface/assets/VariableInput-Z67pYDR1.js.br +0 -0
  297. package/dist/interface/assets/VariableInput-Z67pYDR1.js.gz +0 -0
  298. package/dist/interface/assets/VersionsHandler-BjCUyme-.js +7 -0
  299. package/dist/interface/assets/VersionsHandler-BjCUyme-.js.br +0 -0
  300. package/dist/interface/assets/VersionsHandler-BjCUyme-.js.gz +0 -0
  301. package/dist/interface/assets/VirtualSensorCreate-DUNIyN-c.js +1 -0
  302. package/dist/interface/assets/VirtualSensorCreate-DUNIyN-c.js.br +0 -0
  303. package/dist/interface/assets/VirtualSensorCreate-DUNIyN-c.js.gz +0 -0
  304. package/dist/interface/assets/Workers-CRgAH7-V.js +2 -0
  305. package/dist/interface/assets/Workers-CRgAH7-V.js.br +0 -0
  306. package/dist/interface/assets/Workers-CRgAH7-V.js.gz +0 -0
  307. package/dist/interface/assets/api-BnIIywE5.css +2 -0
  308. package/dist/interface/assets/api-BnIIywE5.css.br +0 -0
  309. package/dist/interface/assets/api-BnIIywE5.css.gz +0 -0
  310. package/dist/interface/assets/api-DVb7R65T.js +4 -0
  311. package/dist/interface/assets/api-DVb7R65T.js.br +0 -0
  312. package/dist/interface/assets/api-DVb7R65T.js.gz +0 -0
  313. package/dist/interface/assets/api-DzWK-DMq.js +1 -0
  314. package/dist/interface/assets/api-DzWK-DMq.js.br +0 -0
  315. package/dist/interface/assets/api-DzWK-DMq.js.gz +0 -0
  316. package/dist/interface/assets/assistant-C0TVcor7.js +1 -0
  317. package/dist/interface/assets/assistant-C0TVcor7.js.br +0 -0
  318. package/dist/interface/assets/assistant-C0TVcor7.js.gz +0 -0
  319. package/dist/interface/assets/auth-BZ48SR0K.js +1 -0
  320. package/dist/interface/assets/auth-BZ48SR0K.js.br +0 -0
  321. package/dist/interface/assets/auth-BZ48SR0K.js.gz +0 -0
  322. package/dist/interface/assets/automations-BmraMBQB.js +1 -0
  323. package/dist/interface/assets/automations-BmraMBQB.js.br +0 -0
  324. package/dist/interface/assets/automations-BmraMBQB.js.gz +0 -0
  325. package/dist/interface/assets/cameraSources-TDTkQlub.js +1 -0
  326. package/dist/interface/assets/cameraSources-TDTkQlub.js.br +0 -0
  327. package/dist/interface/assets/cameraSources-TDTkQlub.js.gz +0 -0
  328. package/dist/interface/assets/cloudHandoff-0LO7nDva.js +1 -0
  329. package/dist/interface/assets/cloudHandoff-0LO7nDva.js.br +0 -0
  330. package/dist/interface/assets/cloudHandoff-0LO7nDva.js.gz +0 -0
  331. package/dist/interface/assets/config-DJpIt1Gx.js +1 -0
  332. package/dist/interface/assets/config-DJpIt1Gx.js.br +0 -0
  333. package/dist/interface/assets/config-DJpIt1Gx.js.gz +0 -0
  334. package/dist/interface/assets/eventLabels-y-22KqDs.js +1 -0
  335. package/dist/interface/assets/eventLabels-y-22KqDs.js.br +0 -0
  336. package/dist/interface/assets/eventLabels-y-22KqDs.js.gz +0 -0
  337. package/dist/interface/assets/flowSchema-Bn50K5C7.js +1 -0
  338. package/dist/interface/assets/flowSchema-Bn50K5C7.js.br +0 -0
  339. package/dist/interface/assets/flowSchema-Bn50K5C7.js.gz +0 -0
  340. package/dist/interface/assets/intercomService-D6JgogkU.js +1 -0
  341. package/dist/interface/assets/intercomService-D6JgogkU.js.br +0 -0
  342. package/dist/interface/assets/intercomService-D6JgogkU.js.gz +0 -0
  343. package/dist/interface/assets/main-BQIkchUF.js +3 -0
  344. package/dist/interface/assets/main-BQIkchUF.js.br +0 -0
  345. package/dist/interface/assets/main-BQIkchUF.js.gz +0 -0
  346. package/dist/interface/assets/mqtt-DkdtnwAt.js +1 -0
  347. package/dist/interface/assets/mqtt-DkdtnwAt.js.br +0 -0
  348. package/dist/interface/assets/mqtt-DkdtnwAt.js.gz +0 -0
  349. package/dist/interface/assets/notifications-Dc8NqtIz.js +1 -0
  350. package/dist/interface/assets/notifications-Dc8NqtIz.js.br +0 -0
  351. package/dist/interface/assets/notifications-Dc8NqtIz.js.gz +0 -0
  352. package/dist/interface/assets/plugins-CkmuaIUy.js +1 -0
  353. package/dist/interface/assets/plugins-CkmuaIUy.js.br +0 -0
  354. package/dist/interface/assets/plugins-CkmuaIUy.js.gz +0 -0
  355. package/dist/interface/assets/rooms-CpWO6Ict.js +1 -0
  356. package/dist/interface/assets/rooms-CpWO6Ict.js.br +0 -0
  357. package/dist/interface/assets/rooms-CpWO6Ict.js.gz +0 -0
  358. package/dist/interface/assets/sensorIcons-DpT4h5r1.js +1 -0
  359. package/dist/interface/assets/sensorIcons-DpT4h5r1.js.br +0 -0
  360. package/dist/interface/assets/sensorIcons-DpT4h5r1.js.gz +0 -0
  361. package/dist/interface/assets/sensorSlots-qvpLXS9H.js +1 -0
  362. package/dist/interface/assets/sensorSlots-qvpLXS9H.js.br +0 -0
  363. package/dist/interface/assets/sensorSlots-qvpLXS9H.js.gz +0 -0
  364. package/dist/interface/assets/sensors-r-ANZW5j.js +1 -0
  365. package/dist/interface/assets/sensors-r-ANZW5j.js.br +0 -0
  366. package/dist/interface/assets/sensors-r-ANZW5j.js.gz +0 -0
  367. package/dist/interface/assets/server-BfUdgGS3.js +1 -0
  368. package/dist/interface/assets/server-BfUdgGS3.js.br +0 -0
  369. package/dist/interface/assets/server-BfUdgGS3.js.gz +0 -0
  370. package/dist/interface/assets/theme-D1IGpz35.js +1 -0
  371. package/dist/interface/assets/theme-D1IGpz35.js.br +0 -0
  372. package/dist/interface/assets/theme-D1IGpz35.js.gz +0 -0
  373. package/dist/interface/assets/types-BoxSl5fn.js +1 -0
  374. package/dist/interface/assets/types-BoxSl5fn.js.br +0 -0
  375. package/dist/interface/assets/types-BoxSl5fn.js.gz +0 -0
  376. package/dist/interface/assets/types-C6KuTqIm.js +1 -0
  377. package/dist/interface/assets/types-C6KuTqIm.js.br +0 -0
  378. package/dist/interface/assets/types-C6KuTqIm.js.gz +0 -0
  379. package/dist/interface/assets/types-Sd9z3ATg.js +1 -0
  380. package/dist/interface/assets/types-Sd9z3ATg.js.br +0 -0
  381. package/dist/interface/assets/types-Sd9z3ATg.js.gz +0 -0
  382. package/dist/interface/assets/updates-DN7wooYd.js +2 -0
  383. package/dist/interface/assets/updates-DN7wooYd.js.br +0 -0
  384. package/dist/interface/assets/updates-DN7wooYd.js.gz +0 -0
  385. package/dist/interface/assets/useAppVersion-COYc4vVA.js +1 -0
  386. package/dist/interface/assets/useAppVersion-COYc4vVA.js.br +0 -0
  387. package/dist/interface/assets/useAppVersion-COYc4vVA.js.gz +0 -0
  388. package/dist/interface/assets/useCameraOptions-DChN1aZx.js +1 -0
  389. package/dist/interface/assets/useCameraOptions-DChN1aZx.js.br +0 -0
  390. package/dist/interface/assets/useCameraOptions-DChN1aZx.js.gz +0 -0
  391. package/dist/interface/assets/useKeyboardInset-CazTcT0H.js +1 -0
  392. package/dist/interface/assets/useKeyboardInset-CazTcT0H.js.br +0 -0
  393. package/dist/interface/assets/useKeyboardInset-CazTcT0H.js.gz +0 -0
  394. package/dist/interface/assets/useLogsSocket-pn8gqBxy.js +1 -0
  395. package/dist/interface/assets/useLogsSocket-pn8gqBxy.js.br +0 -0
  396. package/dist/interface/assets/useLogsSocket-pn8gqBxy.js.gz +0 -0
  397. package/dist/interface/assets/useNavLayout-YDZYAUD0.js +1 -0
  398. package/dist/interface/assets/useNavLayout-YDZYAUD0.js.br +0 -0
  399. package/dist/interface/assets/useNavLayout-YDZYAUD0.js.gz +0 -0
  400. package/dist/interface/assets/usePermissions-OTuSIVnY.js +1 -0
  401. package/dist/interface/assets/usePermissions-OTuSIVnY.js.br +0 -0
  402. package/dist/interface/assets/usePermissions-OTuSIVnY.js.gz +0 -0
  403. package/dist/interface/assets/usePlacementLabel-BRNwbYnr.js +1 -0
  404. package/dist/interface/assets/usePlacementLabel-BRNwbYnr.js.br +3 -0
  405. package/dist/interface/assets/usePlacementLabel-BRNwbYnr.js.gz +0 -0
  406. package/dist/interface/assets/usePlacementSocket-CX_F3gev.js +1 -0
  407. package/dist/interface/assets/usePlacementSocket-CX_F3gev.js.br +0 -0
  408. package/dist/interface/assets/usePlacementSocket-CX_F3gev.js.gz +0 -0
  409. package/dist/interface/assets/usePluginUpdates-C3H0Pwsm.js +1 -0
  410. package/dist/interface/assets/usePluginUpdates-C3H0Pwsm.js.br +0 -0
  411. package/dist/interface/assets/usePluginUpdates-C3H0Pwsm.js.gz +0 -0
  412. package/dist/interface/assets/usePluginsSocket-G6GOD7ky.js +1 -0
  413. package/dist/interface/assets/usePluginsSocket-G6GOD7ky.js.br +0 -0
  414. package/dist/interface/assets/usePluginsSocket-G6GOD7ky.js.gz +0 -0
  415. package/dist/interface/assets/usePushRegistration-CqKcHLxL.js +2 -0
  416. package/dist/interface/assets/usePushRegistration-CqKcHLxL.js.br +0 -0
  417. package/dist/interface/assets/usePushRegistration-CqKcHLxL.js.gz +0 -0
  418. package/dist/interface/assets/useServerRestart-DVGxXNc6.js +1 -0
  419. package/dist/interface/assets/useServerRestart-DVGxXNc6.js.br +0 -0
  420. package/dist/interface/assets/useServerRestart-DVGxXNc6.js.gz +0 -0
  421. package/dist/interface/assets/useTabSwipe-D1wVe5sL.js +1 -0
  422. package/dist/interface/assets/useTabSwipe-D1wVe5sL.js.br +0 -0
  423. package/dist/interface/assets/useTabSwipe-D1wVe5sL.js.gz +0 -0
  424. package/dist/interface/assets/useUpdateChannel-DTxCkESw.js +1 -0
  425. package/dist/interface/assets/useUpdateChannel-DTxCkESw.js.br +0 -0
  426. package/dist/interface/assets/useUpdateChannel-DTxCkESw.js.gz +0 -0
  427. package/dist/interface/assets/useUpdatesSocket-CtCSRido.js +1 -0
  428. package/dist/interface/assets/useUpdatesSocket-CtCSRido.js.br +0 -0
  429. package/dist/interface/assets/useUpdatesSocket-CtCSRido.js.gz +0 -0
  430. package/dist/interface/assets/useUserOptions-qg9mgM4C.js +1 -0
  431. package/dist/interface/assets/useUserOptions-qg9mgM4C.js.br +0 -0
  432. package/dist/interface/assets/useUserOptions-qg9mgM4C.js.gz +0 -0
  433. package/dist/interface/assets/vendor-C_fUQIxb.js +36 -0
  434. package/dist/interface/assets/vendor-C_fUQIxb.js.br +0 -0
  435. package/dist/interface/assets/vendor-C_fUQIxb.js.gz +0 -0
  436. package/dist/interface/assets/vendor-cameraui-DqG_tLqL.js +8 -0
  437. package/dist/interface/assets/vendor-cameraui-DqG_tLqL.js.br +0 -0
  438. package/dist/interface/assets/vendor-cameraui-DqG_tLqL.js.gz +0 -0
  439. package/dist/interface/assets/web-QYw6jOVh.js +1 -0
  440. package/dist/interface/assets/web-QYw6jOVh.js.br +1 -0
  441. package/dist/interface/assets/web-QYw6jOVh.js.gz +0 -0
  442. package/dist/interface/assets/workbox-window.prod.es5-0_Qr_2C0.js +1 -0
  443. package/dist/interface/assets/workbox-window.prod.es5-0_Qr_2C0.js.br +1 -0
  444. package/dist/interface/assets/workbox-window.prod.es5-0_Qr_2C0.js.gz +0 -0
  445. package/dist/interface/ha/404-CrJeQjXW.js +60 -0
  446. package/dist/interface/ha/404-CrJeQjXW.js.br +0 -0
  447. package/dist/interface/ha/404-CrJeQjXW.js.gz +0 -0
  448. package/dist/interface/ha/About-BkG2pA20.js +55 -0
  449. package/dist/interface/ha/About-BkG2pA20.js.br +0 -0
  450. package/dist/interface/ha/About-BkG2pA20.js.gz +0 -0
  451. package/dist/interface/ha/Assistant-wknBeWOA.js +11071 -0
  452. package/dist/interface/ha/Assistant-wknBeWOA.js.br +0 -0
  453. package/dist/interface/ha/Assistant-wknBeWOA.js.gz +0 -0
  454. package/dist/interface/ha/Automation-B3S2OFj2.js +2009 -0
  455. package/dist/interface/ha/Automation-B3S2OFj2.js.br +0 -0
  456. package/dist/interface/ha/Automation-B3S2OFj2.js.gz +0 -0
  457. package/dist/interface/ha/AutomationImport-BQwpGZSn.js +206 -0
  458. package/dist/interface/ha/AutomationImport-BQwpGZSn.js.br +0 -0
  459. package/dist/interface/ha/AutomationImport-BQwpGZSn.js.gz +0 -0
  460. package/dist/interface/ha/AutomationStore-BOep3XHz.js +336 -0
  461. package/dist/interface/ha/AutomationStore-BOep3XHz.js.br +0 -0
  462. package/dist/interface/ha/AutomationStore-BOep3XHz.js.gz +0 -0
  463. package/dist/interface/ha/AutomationStoreDetail-CnuUeNY4.js +121 -0
  464. package/dist/interface/ha/AutomationStoreDetail-CnuUeNY4.js.br +0 -0
  465. package/dist/interface/ha/AutomationStoreDetail-CnuUeNY4.js.gz +0 -0
  466. package/dist/interface/ha/Automations-Hy1mj5vQ.js +423 -0
  467. package/dist/interface/ha/Automations-Hy1mj5vQ.js.br +0 -0
  468. package/dist/interface/ha/Automations-Hy1mj5vQ.js.gz +0 -0
  469. package/dist/interface/ha/Camera-BHNFdN-S.js +740 -0
  470. package/dist/interface/ha/Camera-BHNFdN-S.js.br +0 -0
  471. package/dist/interface/ha/Camera-BHNFdN-S.js.gz +0 -0
  472. package/dist/interface/ha/CameraConsole-CkluV-M3.js +52 -0
  473. package/dist/interface/ha/CameraConsole-CkluV-M3.js.br +0 -0
  474. package/dist/interface/ha/CameraConsole-CkluV-M3.js.gz +0 -0
  475. package/dist/interface/ha/Cameras-CqdcLjFA.js +1934 -0
  476. package/dist/interface/ha/Cameras-CqdcLjFA.js.br +0 -0
  477. package/dist/interface/ha/Cameras-CqdcLjFA.js.gz +0 -0
  478. package/dist/interface/ha/Camview-BqrXoIq7.js +1368 -0
  479. package/dist/interface/ha/Camview-BqrXoIq7.js.br +0 -0
  480. package/dist/interface/ha/Camview-BqrXoIq7.js.gz +0 -0
  481. package/dist/interface/ha/Config-C24tEFBw.js +354 -0
  482. package/dist/interface/ha/Config-C24tEFBw.js.br +0 -0
  483. package/dist/interface/ha/Config-C24tEFBw.js.gz +0 -0
  484. package/dist/interface/ha/ConfigActionAssistant-CgwUQ6pE.js +182 -0
  485. package/dist/interface/ha/ConfigActionAssistant-CgwUQ6pE.js.br +0 -0
  486. package/dist/interface/ha/ConfigActionAssistant-CgwUQ6pE.js.gz +0 -0
  487. package/dist/interface/ha/ConfigActionCameraControl-DVeu8hYs.js +152 -0
  488. package/dist/interface/ha/ConfigActionCameraControl-DVeu8hYs.js.br +0 -0
  489. package/dist/interface/ha/ConfigActionCameraControl-DVeu8hYs.js.gz +0 -0
  490. package/dist/interface/ha/ConfigActionHttp-DUJ4vUiG.js +134 -0
  491. package/dist/interface/ha/ConfigActionHttp-DUJ4vUiG.js.br +0 -0
  492. package/dist/interface/ha/ConfigActionHttp-DUJ4vUiG.js.gz +0 -0
  493. package/dist/interface/ha/ConfigActionImageInput-gtiOZugu.js +170 -0
  494. package/dist/interface/ha/ConfigActionImageInput-gtiOZugu.js.br +0 -0
  495. package/dist/interface/ha/ConfigActionImageInput-gtiOZugu.js.gz +0 -0
  496. package/dist/interface/ha/ConfigActionMqtt-CtnP84gu.js +78 -0
  497. package/dist/interface/ha/ConfigActionMqtt-CtnP84gu.js.br +0 -0
  498. package/dist/interface/ha/ConfigActionMqtt-CtnP84gu.js.gz +0 -0
  499. package/dist/interface/ha/ConfigActionNotification-Bs4vf425.js +198 -0
  500. package/dist/interface/ha/ConfigActionNotification-Bs4vf425.js.br +0 -0
  501. package/dist/interface/ha/ConfigActionNotification-Bs4vf425.js.gz +0 -0
  502. package/dist/interface/ha/ConfigActionNotificationControl-BwM1KbW2.js +111 -0
  503. package/dist/interface/ha/ConfigActionNotificationControl-BwM1KbW2.js.br +0 -0
  504. package/dist/interface/ha/ConfigActionNotificationControl-BwM1KbW2.js.gz +0 -0
  505. package/dist/interface/ha/ConfigActionOutput-pW9Ks7Kr.js +98 -0
  506. package/dist/interface/ha/ConfigActionOutput-pW9Ks7Kr.js.br +0 -0
  507. package/dist/interface/ha/ConfigActionOutput-pW9Ks7Kr.js.gz +0 -0
  508. package/dist/interface/ha/ConfigActionPlugin-Cv_I-xy5.js +171 -0
  509. package/dist/interface/ha/ConfigActionPlugin-Cv_I-xy5.js.br +0 -0
  510. package/dist/interface/ha/ConfigActionPlugin-Cv_I-xy5.js.gz +0 -0
  511. package/dist/interface/ha/ConfigActionSensor-BiWnAEri.js +138 -0
  512. package/dist/interface/ha/ConfigActionSensor-BiWnAEri.js.br +0 -0
  513. package/dist/interface/ha/ConfigActionSensor-BiWnAEri.js.gz +0 -0
  514. package/dist/interface/ha/ConfigActionSnapshot-DvaZMXsi.js +45 -0
  515. package/dist/interface/ha/ConfigActionSnapshot-DvaZMXsi.js.br +0 -0
  516. package/dist/interface/ha/ConfigActionSnapshot-DvaZMXsi.js.gz +0 -0
  517. package/dist/interface/ha/ConfigActionVariable-B25MAYQ3.js +88 -0
  518. package/dist/interface/ha/ConfigActionVariable-B25MAYQ3.js.br +0 -0
  519. package/dist/interface/ha/ConfigActionVariable-B25MAYQ3.js.gz +0 -0
  520. package/dist/interface/ha/ConfigConditionIfElse-C-A5u7G5.js +124 -0
  521. package/dist/interface/ha/ConfigConditionIfElse-C-A5u7G5.js.br +0 -0
  522. package/dist/interface/ha/ConfigConditionIfElse-C-A5u7G5.js.gz +0 -0
  523. package/dist/interface/ha/ConfigConditionSensorState-fyasaHt9.js +190 -0
  524. package/dist/interface/ha/ConfigConditionSensorState-fyasaHt9.js.br +0 -0
  525. package/dist/interface/ha/ConfigConditionSensorState-fyasaHt9.js.gz +0 -0
  526. package/dist/interface/ha/ConfigConditionSwitch-cNMDKFcW.js +128 -0
  527. package/dist/interface/ha/ConfigConditionSwitch-cNMDKFcW.js.br +0 -0
  528. package/dist/interface/ha/ConfigConditionSwitch-cNMDKFcW.js.gz +0 -0
  529. package/dist/interface/ha/ConfigSensorValueInput-BwSQnyhm.js +173 -0
  530. package/dist/interface/ha/ConfigSensorValueInput-BwSQnyhm.js.br +0 -0
  531. package/dist/interface/ha/ConfigSensorValueInput-BwSQnyhm.js.gz +0 -0
  532. package/dist/interface/ha/ConfigTriggerDetection-CeTdxQrW.js +241 -0
  533. package/dist/interface/ha/ConfigTriggerDetection-CeTdxQrW.js.br +0 -0
  534. package/dist/interface/ha/ConfigTriggerDetection-CeTdxQrW.js.gz +0 -0
  535. package/dist/interface/ha/ConfigTriggerGeofence-JsAPb2tY.js +4836 -0
  536. package/dist/interface/ha/ConfigTriggerGeofence-JsAPb2tY.js.br +0 -0
  537. package/dist/interface/ha/ConfigTriggerGeofence-JsAPb2tY.js.gz +0 -0
  538. package/dist/interface/ha/ConfigTriggerMqtt-Dt8C4tKh.js +134 -0
  539. package/dist/interface/ha/ConfigTriggerMqtt-Dt8C4tKh.js.br +0 -0
  540. package/dist/interface/ha/ConfigTriggerMqtt-Dt8C4tKh.js.gz +0 -0
  541. package/dist/interface/ha/ConfigTriggerSensor-CaIzI1GD.js +73 -0
  542. package/dist/interface/ha/ConfigTriggerSensor-CaIzI1GD.js.br +0 -0
  543. package/dist/interface/ha/ConfigTriggerSensor-CaIzI1GD.js.gz +0 -0
  544. package/dist/interface/ha/ConfigTriggerSystem-CtII2jhp.js +192 -0
  545. package/dist/interface/ha/ConfigTriggerSystem-CtII2jhp.js.br +0 -0
  546. package/dist/interface/ha/ConfigTriggerSystem-CtII2jhp.js.gz +0 -0
  547. package/dist/interface/ha/ConfigTriggerWebhook-B0wkkutx.js +94 -0
  548. package/dist/interface/ha/ConfigTriggerWebhook-B0wkkutx.js.br +0 -0
  549. package/dist/interface/ha/ConfigTriggerWebhook-B0wkkutx.js.gz +0 -0
  550. package/dist/interface/ha/Console-C5Cvxsap.js +347 -0
  551. package/dist/interface/ha/Console-C5Cvxsap.js.br +0 -0
  552. package/dist/interface/ha/Console-C5Cvxsap.js.gz +0 -0
  553. package/dist/interface/ha/CuiAutomationRunsDialog-BmBHaYZf.js +129 -0
  554. package/dist/interface/ha/CuiAutomationRunsDialog-BmBHaYZf.js.br +0 -0
  555. package/dist/interface/ha/CuiAutomationRunsDialog-BmBHaYZf.js.gz +0 -0
  556. package/dist/interface/ha/CuiBottomSheet-CszaUNYk.js +270 -0
  557. package/dist/interface/ha/CuiBottomSheet-CszaUNYk.js.br +0 -0
  558. package/dist/interface/ha/CuiBottomSheet-CszaUNYk.js.gz +0 -0
  559. package/dist/interface/ha/CuiCameraRecordings-C_13hRkU.js +575 -0
  560. package/dist/interface/ha/CuiCameraRecordings-C_13hRkU.js.br +0 -0
  561. package/dist/interface/ha/CuiCameraRecordings-C_13hRkU.js.gz +0 -0
  562. package/dist/interface/ha/CuiCameraShares-ol2tvERa.js +120 -0
  563. package/dist/interface/ha/CuiCameraShares-ol2tvERa.js.br +0 -0
  564. package/dist/interface/ha/CuiCameraShares-ol2tvERa.js.gz +0 -0
  565. package/dist/interface/ha/CuiCameraTable-OU1X8Q5K.js +105 -0
  566. package/dist/interface/ha/CuiCameraTable-OU1X8Q5K.js.br +0 -0
  567. package/dist/interface/ha/CuiCameraTable-OU1X8Q5K.js.gz +0 -0
  568. package/dist/interface/ha/CuiChartTable-ET--AH4i.js +6797 -0
  569. package/dist/interface/ha/CuiChartTable-ET--AH4i.js.br +0 -0
  570. package/dist/interface/ha/CuiChartTable-ET--AH4i.js.gz +0 -0
  571. package/dist/interface/ha/CuiConsole-CJo8fDL5.js +234 -0
  572. package/dist/interface/ha/CuiConsole-CJo8fDL5.js.br +0 -0
  573. package/dist/interface/ha/CuiConsole-CJo8fDL5.js.gz +0 -0
  574. package/dist/interface/ha/CuiDataTable-D_IsEeqy.js +8860 -0
  575. package/dist/interface/ha/CuiDataTable-D_IsEeqy.js.br +0 -0
  576. package/dist/interface/ha/CuiDataTable-D_IsEeqy.js.gz +0 -0
  577. package/dist/interface/ha/CuiMoveCodeForm-C9rYHA3O.js +89 -0
  578. package/dist/interface/ha/CuiMoveCodeForm-C9rYHA3O.js.br +0 -0
  579. package/dist/interface/ha/CuiMoveCodeForm-C9rYHA3O.js.gz +0 -0
  580. package/dist/interface/ha/CuiPluginCard-_ryTpeR4.js +778 -0
  581. package/dist/interface/ha/CuiPluginCard-_ryTpeR4.js.br +0 -0
  582. package/dist/interface/ha/CuiPluginCard-_ryTpeR4.js.gz +0 -0
  583. package/dist/interface/ha/CuiPluginOAuthButton-VXBCGWYJ.js +74 -0
  584. package/dist/interface/ha/CuiPluginOAuthButton-VXBCGWYJ.js.br +0 -0
  585. package/dist/interface/ha/CuiPluginOAuthButton-VXBCGWYJ.js.gz +0 -0
  586. package/dist/interface/ha/CuiPluginTrustBadge-BSILygRI.js +122 -0
  587. package/dist/interface/ha/CuiPluginTrustBadge-BSILygRI.js.br +0 -0
  588. package/dist/interface/ha/CuiPluginTrustBadge-BSILygRI.js.gz +0 -0
  589. package/dist/interface/ha/CuiQRCode-D6ndZNl2.js +86 -0
  590. package/dist/interface/ha/CuiQRCode-D6ndZNl2.js.br +0 -0
  591. package/dist/interface/ha/CuiQRCode-D6ndZNl2.js.gz +0 -0
  592. package/dist/interface/ha/CuiSchema-Dshd_063.js +952 -0
  593. package/dist/interface/ha/CuiSchema-Dshd_063.js.br +0 -0
  594. package/dist/interface/ha/CuiSchema-Dshd_063.js.gz +0 -0
  595. package/dist/interface/ha/CuiTopNavbarItem-BO_G31I3.js +141 -0
  596. package/dist/interface/ha/CuiTopNavbarItem-BO_G31I3.js.br +0 -0
  597. package/dist/interface/ha/CuiTopNavbarItem-BO_G31I3.js.gz +0 -0
  598. package/dist/interface/ha/Faces-Bcpibrg4.js +1659 -0
  599. package/dist/interface/ha/Faces-Bcpibrg4.js.br +0 -0
  600. package/dist/interface/ha/Faces-Bcpibrg4.js.gz +0 -0
  601. package/dist/interface/ha/FirstSteps-Cys9z02E.js +254 -0
  602. package/dist/interface/ha/FirstSteps-Cys9z02E.js.br +0 -0
  603. package/dist/interface/ha/FirstSteps-Cys9z02E.js.gz +0 -0
  604. package/dist/interface/ha/Floorplan-B6xviJ-E.js +3707 -0
  605. package/dist/interface/ha/Floorplan-B6xviJ-E.js.br +0 -0
  606. package/dist/interface/ha/Floorplan-B6xviJ-E.js.gz +0 -0
  607. package/dist/interface/ha/Instances-TwpJ1VPd.js +670 -0
  608. package/dist/interface/ha/Instances-TwpJ1VPd.js.br +0 -0
  609. package/dist/interface/ha/Instances-TwpJ1VPd.js.gz +0 -0
  610. package/dist/interface/ha/Logs-D79bN7FQ.js +417 -0
  611. package/dist/interface/ha/Logs-D79bN7FQ.js.br +0 -0
  612. package/dist/interface/ha/Logs-D79bN7FQ.js.gz +0 -0
  613. package/dist/interface/ha/Menu-B7f28kpd.js +159 -0
  614. package/dist/interface/ha/Menu-B7f28kpd.js.br +0 -0
  615. package/dist/interface/ha/Menu-B7f28kpd.js.gz +0 -0
  616. package/dist/interface/ha/Metrics-BRUNpGGB.js +1497 -0
  617. package/dist/interface/ha/Metrics-BRUNpGGB.js.br +0 -0
  618. package/dist/interface/ha/Metrics-BRUNpGGB.js.gz +0 -0
  619. package/dist/interface/ha/OAuthDeviceFlow-CO_AH5TX.js +112 -0
  620. package/dist/interface/ha/OAuthDeviceFlow-CO_AH5TX.js.br +0 -0
  621. package/dist/interface/ha/OAuthDeviceFlow-CO_AH5TX.js.gz +0 -0
  622. package/dist/interface/ha/Plugin-CCWh5a5D.js +1756 -0
  623. package/dist/interface/ha/Plugin-CCWh5a5D.js.br +0 -0
  624. package/dist/interface/ha/Plugin-CCWh5a5D.js.gz +0 -0
  625. package/dist/interface/ha/PluginConsole-CahwQuiM.js +56 -0
  626. package/dist/interface/ha/PluginConsole-CahwQuiM.js.br +0 -0
  627. package/dist/interface/ha/PluginConsole-CahwQuiM.js.gz +0 -0
  628. package/dist/interface/ha/PluginDetail-BhK_7_Nm.js +804 -0
  629. package/dist/interface/ha/PluginDetail-BhK_7_Nm.js.br +0 -0
  630. package/dist/interface/ha/PluginDetail-BhK_7_Nm.js.gz +0 -0
  631. package/dist/interface/ha/PluginSearch-rHfT1g2Y.js +462 -0
  632. package/dist/interface/ha/PluginSearch-rHfT1g2Y.js.br +0 -0
  633. package/dist/interface/ha/PluginSearch-rHfT1g2Y.js.gz +0 -0
  634. package/dist/interface/ha/PluginUpdateProgress-BAkJbpxS.js +34 -0
  635. package/dist/interface/ha/PluginUpdateProgress-BAkJbpxS.js.br +0 -0
  636. package/dist/interface/ha/PluginUpdateProgress-BAkJbpxS.js.gz +0 -0
  637. package/dist/interface/ha/Plugins-CfRjUTdF.js +697 -0
  638. package/dist/interface/ha/Plugins-CfRjUTdF.js.br +0 -0
  639. package/dist/interface/ha/Plugins-CfRjUTdF.js.gz +0 -0
  640. package/dist/interface/ha/Recordings-Ba19Jn9Y.js +1928 -0
  641. package/dist/interface/ha/Recordings-Ba19Jn9Y.js.br +0 -0
  642. package/dist/interface/ha/Recordings-Ba19Jn9Y.js.gz +0 -0
  643. package/dist/interface/ha/SensorEdit-gLUs5yZy.js +1466 -0
  644. package/dist/interface/ha/SensorEdit-gLUs5yZy.js.br +0 -0
  645. package/dist/interface/ha/SensorEdit-gLUs5yZy.js.gz +0 -0
  646. package/dist/interface/ha/SensorHistory-7ST3XOpu.js +54 -0
  647. package/dist/interface/ha/SensorHistory-7ST3XOpu.js.br +0 -0
  648. package/dist/interface/ha/SensorHistory-7ST3XOpu.js.gz +0 -0
  649. package/dist/interface/ha/Sensors-CLcxpNmB.js +1544 -0
  650. package/dist/interface/ha/Sensors-CLcxpNmB.js.br +0 -0
  651. package/dist/interface/ha/Sensors-CLcxpNmB.js.gz +0 -0
  652. package/dist/interface/ha/Settings-DuSVhLrp.js +218 -0
  653. package/dist/interface/ha/Settings-DuSVhLrp.js.br +0 -0
  654. package/dist/interface/ha/Settings-DuSVhLrp.js.gz +0 -0
  655. package/dist/interface/ha/SettingsAccount-BJR1jT8m.js +968 -0
  656. package/dist/interface/ha/SettingsAccount-BJR1jT8m.js.br +0 -0
  657. package/dist/interface/ha/SettingsAccount-BJR1jT8m.js.gz +0 -0
  658. package/dist/interface/ha/SettingsAppearance-DChhbGdG.js +201 -0
  659. package/dist/interface/ha/SettingsAppearance-DChhbGdG.js.br +0 -0
  660. package/dist/interface/ha/SettingsAppearance-DChhbGdG.js.gz +0 -0
  661. package/dist/interface/ha/SettingsAssistant-D_n59VL8.js +2134 -0
  662. package/dist/interface/ha/SettingsAssistant-D_n59VL8.js.br +0 -0
  663. package/dist/interface/ha/SettingsAssistant-D_n59VL8.js.gz +0 -0
  664. package/dist/interface/ha/SettingsBackup-Cw6NraPq.js +1047 -0
  665. package/dist/interface/ha/SettingsBackup-Cw6NraPq.js.br +0 -0
  666. package/dist/interface/ha/SettingsBackup-Cw6NraPq.js.gz +0 -0
  667. package/dist/interface/ha/SettingsList-B3wPBiWX.js +40 -0
  668. package/dist/interface/ha/SettingsList-B3wPBiWX.js.br +0 -0
  669. package/dist/interface/ha/SettingsList-B3wPBiWX.js.gz +0 -0
  670. package/dist/interface/ha/SettingsMqtt-DWccZhfB.js +512 -0
  671. package/dist/interface/ha/SettingsMqtt-DWccZhfB.js.br +0 -0
  672. package/dist/interface/ha/SettingsMqtt-DWccZhfB.js.gz +0 -0
  673. package/dist/interface/ha/SettingsNotifications-Bj2hE0Tl.js +514 -0
  674. package/dist/interface/ha/SettingsNotifications-Bj2hE0Tl.js.br +0 -0
  675. package/dist/interface/ha/SettingsNotifications-Bj2hE0Tl.js.gz +0 -0
  676. package/dist/interface/ha/SettingsRecordings-DczCKZaw.js +152 -0
  677. package/dist/interface/ha/SettingsRecordings-DczCKZaw.js.br +0 -0
  678. package/dist/interface/ha/SettingsRecordings-DczCKZaw.js.gz +0 -0
  679. package/dist/interface/ha/SettingsRemote-8OgWQrdC.js +1523 -0
  680. package/dist/interface/ha/SettingsRemote-8OgWQrdC.js.br +0 -0
  681. package/dist/interface/ha/SettingsRemote-8OgWQrdC.js.gz +0 -0
  682. package/dist/interface/ha/SettingsSystem-C_1FKxqt.js +382 -0
  683. package/dist/interface/ha/SettingsSystem-C_1FKxqt.js.br +0 -0
  684. package/dist/interface/ha/SettingsSystem-C_1FKxqt.js.gz +0 -0
  685. package/dist/interface/ha/SettingsUsers-DuIer2O-.js +370 -0
  686. package/dist/interface/ha/SettingsUsers-DuIer2O-.js.br +0 -0
  687. package/dist/interface/ha/SettingsUsers-DuIer2O-.js.gz +0 -0
  688. package/dist/interface/ha/Terminal-D8uiO_xF.js +611 -0
  689. package/dist/interface/ha/Terminal-D8uiO_xF.js.br +0 -0
  690. package/dist/interface/ha/Terminal-D8uiO_xF.js.gz +0 -0
  691. package/dist/interface/ha/Training-CsOv6utw.js +1829 -0
  692. package/dist/interface/ha/Training-CsOv6utw.js.br +0 -0
  693. package/dist/interface/ha/Training-CsOv6utw.js.gz +0 -0
  694. package/dist/interface/ha/Updates-BHwhoaHk.js +357 -0
  695. package/dist/interface/ha/Updates-BHwhoaHk.js.br +0 -0
  696. package/dist/interface/ha/Updates-BHwhoaHk.js.gz +0 -0
  697. package/dist/interface/ha/VariableInput-JdY-2So3.js +52 -0
  698. package/dist/interface/ha/VariableInput-JdY-2So3.js.br +3 -0
  699. package/dist/interface/ha/VariableInput-JdY-2So3.js.gz +0 -0
  700. package/dist/interface/ha/VersionsHandler-YXUIJUnp.js +221 -0
  701. package/dist/interface/ha/VersionsHandler-YXUIJUnp.js.br +0 -0
  702. package/dist/interface/ha/VersionsHandler-YXUIJUnp.js.gz +0 -0
  703. package/dist/interface/ha/VirtualSensorCreate-Cg7plpgP.js +102 -0
  704. package/dist/interface/ha/VirtualSensorCreate-Cg7plpgP.js.br +0 -0
  705. package/dist/interface/ha/VirtualSensorCreate-Cg7plpgP.js.gz +0 -0
  706. package/dist/interface/ha/Workers-CNXmttds.js +1270 -0
  707. package/dist/interface/ha/Workers-CNXmttds.js.br +0 -0
  708. package/dist/interface/ha/Workers-CNXmttds.js.gz +0 -0
  709. package/dist/interface/ha/api-BMAjMZXW.js +69479 -0
  710. package/dist/interface/ha/api-BMAjMZXW.js.br +0 -0
  711. package/dist/interface/ha/api-BMAjMZXW.js.gz +0 -0
  712. package/dist/interface/ha/api-CTAjaUH8.js +29 -0
  713. package/dist/interface/ha/api-CTAjaUH8.js.br +0 -0
  714. package/dist/interface/ha/api-CTAjaUH8.js.gz +0 -0
  715. package/dist/interface/ha/assistant-Bu6j_nkk.js +349 -0
  716. package/dist/interface/ha/assistant-Bu6j_nkk.js.br +0 -0
  717. package/dist/interface/ha/assistant-Bu6j_nkk.js.gz +0 -0
  718. package/dist/interface/ha/auth-DepsB6hB.js +271 -0
  719. package/dist/interface/ha/auth-DepsB6hB.js.br +0 -0
  720. package/dist/interface/ha/auth-DepsB6hB.js.gz +0 -0
  721. package/dist/interface/ha/automationBlueprint-CoLS2qkT.js +250 -0
  722. package/dist/interface/ha/automationBlueprint-CoLS2qkT.js.br +0 -0
  723. package/dist/interface/ha/automationBlueprint-CoLS2qkT.js.gz +0 -0
  724. package/dist/interface/ha/cameraui-cards.js +2 -2
  725. package/dist/interface/ha/cards-C606ow8L.js +13318 -0
  726. package/dist/interface/ha/cards-C606ow8L.js.br +0 -0
  727. package/dist/interface/ha/cards-C606ow8L.js.gz +0 -0
  728. package/dist/interface/ha/config-K0yXIbP6.js +116 -0
  729. package/dist/interface/ha/config-K0yXIbP6.js.br +0 -0
  730. package/dist/interface/ha/config-K0yXIbP6.js.gz +0 -0
  731. package/dist/interface/ha/dist-BbF4wy7q.js +4477 -0
  732. package/dist/interface/ha/dist-BbF4wy7q.js.br +0 -0
  733. package/dist/interface/ha/dist-BbF4wy7q.js.gz +0 -0
  734. package/dist/interface/ha/mqtt-DPM-oNuD.js +56 -0
  735. package/dist/interface/ha/mqtt-DPM-oNuD.js.br +2 -0
  736. package/dist/interface/ha/mqtt-DPM-oNuD.js.gz +0 -0
  737. package/dist/interface/ha/notifications-CnQi5Ke_.js +159 -0
  738. package/dist/interface/ha/notifications-CnQi5Ke_.js.br +0 -0
  739. package/dist/interface/ha/notifications-CnQi5Ke_.js.gz +0 -0
  740. package/dist/interface/ha/plugins-BnbAa3my.js +592 -0
  741. package/dist/interface/ha/plugins-BnbAa3my.js.br +0 -0
  742. package/dist/interface/ha/plugins-BnbAa3my.js.gz +0 -0
  743. package/dist/interface/ha/rooms-D2_BpViG.js +45 -0
  744. package/dist/interface/ha/rooms-D2_BpViG.js.br +0 -0
  745. package/dist/interface/ha/rooms-D2_BpViG.js.gz +0 -0
  746. package/dist/interface/ha/server-BlJ93-Hs.js +244 -0
  747. package/dist/interface/ha/server-BlJ93-Hs.js.br +0 -0
  748. package/dist/interface/ha/server-BlJ93-Hs.js.gz +0 -0
  749. package/dist/interface/ha/speeddial-B6DjLoHz.js +941 -0
  750. package/dist/interface/ha/speeddial-B6DjLoHz.js.br +0 -0
  751. package/dist/interface/ha/speeddial-B6DjLoHz.js.gz +0 -0
  752. package/dist/interface/ha/types-CY6hImbV.js +1073 -0
  753. package/dist/interface/ha/types-CY6hImbV.js.br +0 -0
  754. package/dist/interface/ha/types-CY6hImbV.js.gz +0 -0
  755. package/dist/interface/ha/updates-CRKJ_Z3k.js +414 -0
  756. package/dist/interface/ha/updates-CRKJ_Z3k.js.br +0 -0
  757. package/dist/interface/ha/updates-CRKJ_Z3k.js.gz +0 -0
  758. package/dist/interface/ha/useAppVersion-CHWMNwX3.js +22 -0
  759. package/dist/interface/ha/useAppVersion-CHWMNwX3.js.br +3 -0
  760. package/dist/interface/ha/useAppVersion-CHWMNwX3.js.gz +0 -0
  761. package/dist/interface/ha/useKeyboardInset-CJgY-hAr.js +27 -0
  762. package/dist/interface/ha/useKeyboardInset-CJgY-hAr.js.br +0 -0
  763. package/dist/interface/ha/useKeyboardInset-CJgY-hAr.js.gz +0 -0
  764. package/dist/interface/ha/useLogsSocket-DsC5xvkg.js +74 -0
  765. package/dist/interface/ha/useLogsSocket-DsC5xvkg.js.br +0 -0
  766. package/dist/interface/ha/useLogsSocket-DsC5xvkg.js.gz +0 -0
  767. package/dist/interface/ha/useNavLayout-BV7zf4De.js +125 -0
  768. package/dist/interface/ha/useNavLayout-BV7zf4De.js.br +0 -0
  769. package/dist/interface/ha/useNavLayout-BV7zf4De.js.gz +0 -0
  770. package/dist/interface/ha/usePlacementLabel-9Tv16qVQ.js +49 -0
  771. package/dist/interface/ha/usePlacementLabel-9Tv16qVQ.js.br +0 -0
  772. package/dist/interface/ha/usePlacementLabel-9Tv16qVQ.js.gz +0 -0
  773. package/dist/interface/ha/useTabSwipe-C3fUfOg9.js +45 -0
  774. package/dist/interface/ha/useTabSwipe-C3fUfOg9.js.br +0 -0
  775. package/dist/interface/ha/useTabSwipe-C3fUfOg9.js.gz +0 -0
  776. package/dist/interface/ha/useUpdateChannel-986lvHbt.js +22 -0
  777. package/dist/interface/ha/useUpdateChannel-986lvHbt.js.br +0 -0
  778. package/dist/interface/ha/useUpdateChannel-986lvHbt.js.gz +0 -0
  779. package/dist/interface/ha/useUpdatesSocket-QeOub1hX.js +34 -0
  780. package/dist/interface/ha/useUpdatesSocket-QeOub1hX.js.br +0 -0
  781. package/dist/interface/ha/useUpdatesSocket-QeOub1hX.js.gz +0 -0
  782. package/dist/interface/ha/useUserOptions-DEPcjUqL.js +15 -0
  783. package/dist/interface/ha/useUserOptions-DEPcjUqL.js.br +0 -0
  784. package/dist/interface/ha/useUserOptions-DEPcjUqL.js.gz +0 -0
  785. package/dist/interface/index.html +31 -31
  786. package/dist/interface/sw.js +1 -1
  787. package/dist/server/assets/docs.json +1 -1
  788. package/dist/server/package.json +6 -5
  789. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +1 -0
  790. package/dist/server/src/camera/decoder/detection-coordinator.js +10 -2
  791. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  792. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +2 -1
  793. package/dist/server/src/camera/decoder/detection-pipeline.js +1 -0
  794. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  795. package/dist/server/src/camera/decoder/detection-window.d.ts +10 -3
  796. package/dist/server/src/camera/decoder/detection-window.js +38 -3
  797. package/dist/server/src/camera/decoder/detection-window.js.map +1 -1
  798. package/dist/server/src/camera/decoder/event-trace.d.ts +1 -1
  799. package/dist/server/src/camera/decoder/event-trace.js +9 -1
  800. package/dist/server/src/camera/decoder/event-trace.js.map +1 -1
  801. package/npm-shrinkwrap.json +84 -155
  802. package/package.json +6 -5
  803. package/dist/interface/assets/404-D4Drh_xq.js +0 -1
  804. package/dist/interface/assets/404-D4Drh_xq.js.br +0 -0
  805. package/dist/interface/assets/404-D4Drh_xq.js.gz +0 -0
  806. package/dist/interface/assets/About-BAT_jCW3.js +0 -1
  807. package/dist/interface/assets/About-BAT_jCW3.js.br +0 -0
  808. package/dist/interface/assets/About-BAT_jCW3.js.gz +0 -0
  809. package/dist/interface/assets/Assistant-CFqX9Cfn.js +0 -1
  810. package/dist/interface/assets/Assistant-CFqX9Cfn.js.br +0 -0
  811. package/dist/interface/assets/Assistant-CFqX9Cfn.js.gz +0 -0
  812. package/dist/interface/assets/Automation-Ca_fzkxS.js +0 -3
  813. package/dist/interface/assets/Automation-Ca_fzkxS.js.br +0 -0
  814. package/dist/interface/assets/Automation-Ca_fzkxS.js.gz +0 -0
  815. package/dist/interface/assets/AutomationImport-CbpQbyf_.js +0 -2
  816. package/dist/interface/assets/AutomationImport-CbpQbyf_.js.br +0 -0
  817. package/dist/interface/assets/AutomationImport-CbpQbyf_.js.gz +0 -0
  818. package/dist/interface/assets/AutomationStore-DzdSpBDK.js +0 -2
  819. package/dist/interface/assets/AutomationStore-DzdSpBDK.js.br +0 -0
  820. package/dist/interface/assets/AutomationStore-DzdSpBDK.js.gz +0 -0
  821. package/dist/interface/assets/AutomationStoreDetail-ClL2J7De.js +0 -2
  822. package/dist/interface/assets/AutomationStoreDetail-ClL2J7De.js.br +0 -0
  823. package/dist/interface/assets/AutomationStoreDetail-ClL2J7De.js.gz +0 -0
  824. package/dist/interface/assets/Automations-Cykrss_w.js +0 -2
  825. package/dist/interface/assets/Automations-Cykrss_w.js.br +0 -0
  826. package/dist/interface/assets/Automations-Cykrss_w.js.gz +0 -0
  827. package/dist/interface/assets/BackupRestore-1QDdO5ZI.js +0 -1
  828. package/dist/interface/assets/BackupRestore-1QDdO5ZI.js.br +0 -0
  829. package/dist/interface/assets/BackupRestore-1QDdO5ZI.js.gz +0 -0
  830. package/dist/interface/assets/Camera-c1CBOkQs.js +0 -2
  831. package/dist/interface/assets/Camera-c1CBOkQs.js.br +0 -0
  832. package/dist/interface/assets/Camera-c1CBOkQs.js.gz +0 -0
  833. package/dist/interface/assets/CameraConsole-3CDWcq69.js +0 -7
  834. package/dist/interface/assets/CameraConsole-3CDWcq69.js.br +0 -0
  835. package/dist/interface/assets/CameraConsole-3CDWcq69.js.gz +0 -0
  836. package/dist/interface/assets/Cameras-B7uCydRy.js +0 -651
  837. package/dist/interface/assets/Cameras-B7uCydRy.js.br +0 -0
  838. package/dist/interface/assets/Cameras-B7uCydRy.js.gz +0 -0
  839. package/dist/interface/assets/Camview-DdTvWbzy.js +0 -1
  840. package/dist/interface/assets/Camview-DdTvWbzy.js.br +0 -0
  841. package/dist/interface/assets/Camview-DdTvWbzy.js.gz +0 -0
  842. package/dist/interface/assets/Config-BY9qOw6l.js +0 -2
  843. package/dist/interface/assets/Config-BY9qOw6l.js.br +0 -0
  844. package/dist/interface/assets/Config-BY9qOw6l.js.gz +0 -0
  845. package/dist/interface/assets/ConfigActionAssistant-d1A2JZNL.js +0 -1
  846. package/dist/interface/assets/ConfigActionAssistant-d1A2JZNL.js.br +0 -0
  847. package/dist/interface/assets/ConfigActionAssistant-d1A2JZNL.js.gz +0 -0
  848. package/dist/interface/assets/ConfigActionCameraControl-DBg7PFqH.js +0 -1
  849. package/dist/interface/assets/ConfigActionCameraControl-DBg7PFqH.js.br +0 -0
  850. package/dist/interface/assets/ConfigActionCameraControl-DBg7PFqH.js.gz +0 -0
  851. package/dist/interface/assets/ConfigActionHttp-_sgfIGMu.js +0 -1
  852. package/dist/interface/assets/ConfigActionHttp-_sgfIGMu.js.br +0 -0
  853. package/dist/interface/assets/ConfigActionHttp-_sgfIGMu.js.gz +0 -0
  854. package/dist/interface/assets/ConfigActionImageInput-COy-1EAM.js +0 -1
  855. package/dist/interface/assets/ConfigActionImageInput-COy-1EAM.js.br +0 -0
  856. package/dist/interface/assets/ConfigActionImageInput-COy-1EAM.js.gz +0 -0
  857. package/dist/interface/assets/ConfigActionMqtt-ohZrMZyr.js +0 -1
  858. package/dist/interface/assets/ConfigActionMqtt-ohZrMZyr.js.br +0 -0
  859. package/dist/interface/assets/ConfigActionMqtt-ohZrMZyr.js.gz +0 -0
  860. package/dist/interface/assets/ConfigActionNotification-DF_t0o9Q.js +0 -1
  861. package/dist/interface/assets/ConfigActionNotification-DF_t0o9Q.js.br +0 -0
  862. package/dist/interface/assets/ConfigActionNotification-DF_t0o9Q.js.gz +0 -0
  863. package/dist/interface/assets/ConfigActionNotificationControl-DSdCn_rO.js +0 -1
  864. package/dist/interface/assets/ConfigActionNotificationControl-DSdCn_rO.js.br +0 -0
  865. package/dist/interface/assets/ConfigActionNotificationControl-DSdCn_rO.js.gz +0 -0
  866. package/dist/interface/assets/ConfigActionOutput-CMmreGdi.js +0 -1
  867. package/dist/interface/assets/ConfigActionOutput-CMmreGdi.js.br +0 -0
  868. package/dist/interface/assets/ConfigActionOutput-CMmreGdi.js.gz +0 -0
  869. package/dist/interface/assets/ConfigActionPlugin-DnijsdXK.js +0 -1
  870. package/dist/interface/assets/ConfigActionPlugin-DnijsdXK.js.br +0 -0
  871. package/dist/interface/assets/ConfigActionPlugin-DnijsdXK.js.gz +0 -0
  872. package/dist/interface/assets/ConfigActionSensor-D-rrV_KS.js +0 -1
  873. package/dist/interface/assets/ConfigActionSensor-D-rrV_KS.js.br +0 -0
  874. package/dist/interface/assets/ConfigActionSensor-D-rrV_KS.js.gz +0 -0
  875. package/dist/interface/assets/ConfigActionSnapshot-DTAz_h77.js +0 -1
  876. package/dist/interface/assets/ConfigActionSnapshot-DTAz_h77.js.br +0 -0
  877. package/dist/interface/assets/ConfigActionSnapshot-DTAz_h77.js.gz +0 -0
  878. package/dist/interface/assets/ConfigActionVariable-ByGy3q-f.js +0 -1
  879. package/dist/interface/assets/ConfigActionVariable-ByGy3q-f.js.br +0 -0
  880. package/dist/interface/assets/ConfigActionVariable-ByGy3q-f.js.gz +0 -0
  881. package/dist/interface/assets/ConfigConditionIfElse-C2Xk462u.js +0 -1
  882. package/dist/interface/assets/ConfigConditionIfElse-C2Xk462u.js.br +0 -0
  883. package/dist/interface/assets/ConfigConditionIfElse-C2Xk462u.js.gz +0 -0
  884. package/dist/interface/assets/ConfigConditionSensorState-CsN2MnyD.js +0 -1
  885. package/dist/interface/assets/ConfigConditionSensorState-CsN2MnyD.js.br +0 -0
  886. package/dist/interface/assets/ConfigConditionSensorState-CsN2MnyD.js.gz +0 -0
  887. package/dist/interface/assets/ConfigConditionSwitch-CQdIOFD3.js +0 -1
  888. package/dist/interface/assets/ConfigConditionSwitch-CQdIOFD3.js.br +0 -0
  889. package/dist/interface/assets/ConfigConditionSwitch-CQdIOFD3.js.gz +0 -0
  890. package/dist/interface/assets/ConfigSensorValueInput-BRy-PPB9.js +0 -1
  891. package/dist/interface/assets/ConfigSensorValueInput-BRy-PPB9.js.br +0 -0
  892. package/dist/interface/assets/ConfigSensorValueInput-BRy-PPB9.js.gz +0 -0
  893. package/dist/interface/assets/ConfigTriggerDetection-D6-t0TtS.js +0 -1
  894. package/dist/interface/assets/ConfigTriggerDetection-D6-t0TtS.js.br +0 -0
  895. package/dist/interface/assets/ConfigTriggerDetection-D6-t0TtS.js.gz +0 -0
  896. package/dist/interface/assets/ConfigTriggerGeofence-CSvV8tcA.js +0 -1
  897. package/dist/interface/assets/ConfigTriggerGeofence-CSvV8tcA.js.br +0 -0
  898. package/dist/interface/assets/ConfigTriggerGeofence-CSvV8tcA.js.gz +0 -0
  899. package/dist/interface/assets/ConfigTriggerMqtt-DsTl0UWi.js +0 -1
  900. package/dist/interface/assets/ConfigTriggerMqtt-DsTl0UWi.js.br +0 -0
  901. package/dist/interface/assets/ConfigTriggerMqtt-DsTl0UWi.js.gz +0 -0
  902. package/dist/interface/assets/ConfigTriggerSensor-DkdUbi5E.js +0 -1
  903. package/dist/interface/assets/ConfigTriggerSensor-DkdUbi5E.js.br +0 -0
  904. package/dist/interface/assets/ConfigTriggerSensor-DkdUbi5E.js.gz +0 -0
  905. package/dist/interface/assets/ConfigTriggerSystem-CCqMz34G.js +0 -1
  906. package/dist/interface/assets/ConfigTriggerSystem-CCqMz34G.js.br +0 -0
  907. package/dist/interface/assets/ConfigTriggerSystem-CCqMz34G.js.gz +0 -0
  908. package/dist/interface/assets/ConfigTriggerWebhook-CYEm2euv.js +0 -1
  909. package/dist/interface/assets/ConfigTriggerWebhook-CYEm2euv.js.br +0 -0
  910. package/dist/interface/assets/ConfigTriggerWebhook-CYEm2euv.js.gz +0 -0
  911. package/dist/interface/assets/Console-Cgjv3RzI.js +0 -1
  912. package/dist/interface/assets/Console-Cgjv3RzI.js.br +0 -0
  913. package/dist/interface/assets/Console-Cgjv3RzI.js.gz +0 -0
  914. package/dist/interface/assets/CuiAssistantConversation-F_j7UKAI.js +0 -5
  915. package/dist/interface/assets/CuiAssistantConversation-F_j7UKAI.js.br +0 -0
  916. package/dist/interface/assets/CuiAssistantConversation-F_j7UKAI.js.gz +0 -0
  917. package/dist/interface/assets/CuiAutomationRunsDialog-D8caKMXt.js +0 -1
  918. package/dist/interface/assets/CuiAutomationRunsDialog-D8caKMXt.js.br +0 -0
  919. package/dist/interface/assets/CuiAutomationRunsDialog-D8caKMXt.js.gz +0 -0
  920. package/dist/interface/assets/CuiBottomSheet-CqWIYr3O.js +0 -1
  921. package/dist/interface/assets/CuiBottomSheet-CqWIYr3O.js.br +0 -0
  922. package/dist/interface/assets/CuiBottomSheet-CqWIYr3O.js.gz +0 -0
  923. package/dist/interface/assets/CuiBottomSheet-DHhKV0ns.js +0 -1
  924. package/dist/interface/assets/CuiBottomSheet-DHhKV0ns.js.br +0 -1
  925. package/dist/interface/assets/CuiBottomSheet-DHhKV0ns.js.gz +0 -0
  926. package/dist/interface/assets/CuiCameraPipCard-D9c7YR-W.js +0 -1
  927. package/dist/interface/assets/CuiCameraPipCard-D9c7YR-W.js.br +0 -0
  928. package/dist/interface/assets/CuiCameraPipCard-D9c7YR-W.js.gz +0 -0
  929. package/dist/interface/assets/CuiCameraRecordings-DOyJA0Dx.js +0 -1
  930. package/dist/interface/assets/CuiCameraRecordings-DOyJA0Dx.js.br +0 -0
  931. package/dist/interface/assets/CuiCameraRecordings-DOyJA0Dx.js.gz +0 -0
  932. package/dist/interface/assets/CuiCameraShares-C6RGx7rv.js +0 -1
  933. package/dist/interface/assets/CuiCameraShares-C6RGx7rv.js.br +0 -0
  934. package/dist/interface/assets/CuiCameraShares-C6RGx7rv.js.gz +0 -0
  935. package/dist/interface/assets/CuiCameraTable-CRvHzqUE.js +0 -1
  936. package/dist/interface/assets/CuiCameraTable-CRvHzqUE.js.br +0 -1
  937. package/dist/interface/assets/CuiCameraTable-CRvHzqUE.js.gz +0 -0
  938. package/dist/interface/assets/CuiCameraTable-vdN5ayaZ.js +0 -2
  939. package/dist/interface/assets/CuiCameraTable-vdN5ayaZ.js.br +0 -0
  940. package/dist/interface/assets/CuiCameraTable-vdN5ayaZ.js.gz +0 -0
  941. package/dist/interface/assets/CuiChartTable-B6dQUNGs.js +0 -1
  942. package/dist/interface/assets/CuiChartTable-B6dQUNGs.js.br +0 -0
  943. package/dist/interface/assets/CuiChartTable-B6dQUNGs.js.gz +0 -0
  944. package/dist/interface/assets/CuiConsole-D3OW4Dtp.js +0 -5
  945. package/dist/interface/assets/CuiConsole-D3OW4Dtp.js.br +0 -0
  946. package/dist/interface/assets/CuiConsole-D3OW4Dtp.js.gz +0 -0
  947. package/dist/interface/assets/CuiDataTable-Cd5zDG60.js +0 -1
  948. package/dist/interface/assets/CuiDataTable-Cd5zDG60.js.br +0 -0
  949. package/dist/interface/assets/CuiDataTable-Cd5zDG60.js.gz +0 -0
  950. package/dist/interface/assets/CuiLightControl-zvzB79A4.js +0 -1
  951. package/dist/interface/assets/CuiLightControl-zvzB79A4.js.br +0 -0
  952. package/dist/interface/assets/CuiLightControl-zvzB79A4.js.gz +0 -0
  953. package/dist/interface/assets/CuiMoveCodeForm-BCL4WrIL.js +0 -1
  954. package/dist/interface/assets/CuiMoveCodeForm-BCL4WrIL.js.br +0 -0
  955. package/dist/interface/assets/CuiMoveCodeForm-BCL4WrIL.js.gz +0 -0
  956. package/dist/interface/assets/CuiPluginCard-CdzrFNq9.js +0 -2
  957. package/dist/interface/assets/CuiPluginCard-CdzrFNq9.js.br +0 -0
  958. package/dist/interface/assets/CuiPluginCard-CdzrFNq9.js.gz +0 -0
  959. package/dist/interface/assets/CuiPluginCategoryChip-CopYq4NF.js +0 -1
  960. package/dist/interface/assets/CuiPluginCategoryChip-CopYq4NF.js.br +0 -0
  961. package/dist/interface/assets/CuiPluginCategoryChip-CopYq4NF.js.gz +0 -0
  962. package/dist/interface/assets/CuiPluginOAuthButton-DvkTAic6.js +0 -2
  963. package/dist/interface/assets/CuiPluginOAuthButton-DvkTAic6.js.br +0 -0
  964. package/dist/interface/assets/CuiPluginOAuthButton-DvkTAic6.js.gz +0 -0
  965. package/dist/interface/assets/CuiPluginTrustBadge-CHeEQ32B.js +0 -1
  966. package/dist/interface/assets/CuiPluginTrustBadge-CHeEQ32B.js.br +0 -0
  967. package/dist/interface/assets/CuiPluginTrustBadge-CHeEQ32B.js.gz +0 -0
  968. package/dist/interface/assets/CuiQRCode-B86lQi1G.js +0 -1
  969. package/dist/interface/assets/CuiQRCode-B86lQi1G.js.br +0 -0
  970. package/dist/interface/assets/CuiQRCode-B86lQi1G.js.gz +0 -0
  971. package/dist/interface/assets/CuiSchema-YiKccKyT.js +0 -1
  972. package/dist/interface/assets/CuiSchema-YiKccKyT.js.br +0 -0
  973. package/dist/interface/assets/CuiSchema-YiKccKyT.js.gz +0 -0
  974. package/dist/interface/assets/CuiToggleRow-DicF3ZeQ.js +0 -1
  975. package/dist/interface/assets/CuiToggleRow-DicF3ZeQ.js.br +0 -0
  976. package/dist/interface/assets/CuiToggleRow-DicF3ZeQ.js.gz +0 -0
  977. package/dist/interface/assets/CuiTopNavbarItem-CveAYfQX.js +0 -1
  978. package/dist/interface/assets/CuiTopNavbarItem-CveAYfQX.js.br +0 -0
  979. package/dist/interface/assets/CuiTopNavbarItem-CveAYfQX.js.gz +0 -0
  980. package/dist/interface/assets/Faces-CHbVBveZ.js +0 -1
  981. package/dist/interface/assets/Faces-CHbVBveZ.js.br +0 -0
  982. package/dist/interface/assets/Faces-CHbVBveZ.js.gz +0 -0
  983. package/dist/interface/assets/FirstSteps-D9Pta8BL.js +0 -1
  984. package/dist/interface/assets/FirstSteps-D9Pta8BL.js.br +0 -0
  985. package/dist/interface/assets/FirstSteps-D9Pta8BL.js.gz +0 -0
  986. package/dist/interface/assets/Floorplan-DzZ8h3Js.js +0 -1
  987. package/dist/interface/assets/Floorplan-DzZ8h3Js.js.br +0 -0
  988. package/dist/interface/assets/Floorplan-DzZ8h3Js.js.gz +0 -0
  989. package/dist/interface/assets/Instances-Glv2Nq8L.js +0 -1
  990. package/dist/interface/assets/Instances-Glv2Nq8L.js.br +0 -0
  991. package/dist/interface/assets/Instances-Glv2Nq8L.js.gz +0 -0
  992. package/dist/interface/assets/Logs-BTjx1_ly.js +0 -6
  993. package/dist/interface/assets/Logs-BTjx1_ly.js.br +0 -0
  994. package/dist/interface/assets/Logs-BTjx1_ly.js.gz +0 -0
  995. package/dist/interface/assets/Menu-D0ZOCtdm.js +0 -1
  996. package/dist/interface/assets/Menu-D0ZOCtdm.js.br +0 -0
  997. package/dist/interface/assets/Menu-D0ZOCtdm.js.gz +0 -0
  998. package/dist/interface/assets/Metrics-BuMxT9v0.js +0 -12
  999. package/dist/interface/assets/Metrics-BuMxT9v0.js.br +0 -0
  1000. package/dist/interface/assets/Metrics-BuMxT9v0.js.gz +0 -0
  1001. package/dist/interface/assets/OAuthDeviceFlow-Cu-0nkve.js +0 -1
  1002. package/dist/interface/assets/OAuthDeviceFlow-Cu-0nkve.js.br +0 -0
  1003. package/dist/interface/assets/OAuthDeviceFlow-Cu-0nkve.js.gz +0 -0
  1004. package/dist/interface/assets/Plugin-DcYBigka.js +0 -1
  1005. package/dist/interface/assets/Plugin-DcYBigka.js.br +0 -0
  1006. package/dist/interface/assets/Plugin-DcYBigka.js.gz +0 -0
  1007. package/dist/interface/assets/PluginConsole-D_mTFWkP.js +0 -7
  1008. package/dist/interface/assets/PluginConsole-D_mTFWkP.js.br +0 -0
  1009. package/dist/interface/assets/PluginConsole-D_mTFWkP.js.gz +0 -0
  1010. package/dist/interface/assets/PluginDetail-DS79Mckz.js +0 -2
  1011. package/dist/interface/assets/PluginDetail-DS79Mckz.js.br +0 -0
  1012. package/dist/interface/assets/PluginDetail-DS79Mckz.js.gz +0 -0
  1013. package/dist/interface/assets/PluginSchema-BOD_341s.js +0 -1
  1014. package/dist/interface/assets/PluginSchema-BOD_341s.js.br +0 -0
  1015. package/dist/interface/assets/PluginSchema-BOD_341s.js.gz +0 -0
  1016. package/dist/interface/assets/PluginSearch-BwbGR9L7.js +0 -1
  1017. package/dist/interface/assets/PluginSearch-BwbGR9L7.js.br +0 -1
  1018. package/dist/interface/assets/PluginSearch-BwbGR9L7.js.gz +0 -0
  1019. package/dist/interface/assets/PluginSearch-DX4aDZTB.js +0 -2
  1020. package/dist/interface/assets/PluginSearch-DX4aDZTB.js.br +0 -0
  1021. package/dist/interface/assets/PluginSearch-DX4aDZTB.js.gz +0 -0
  1022. package/dist/interface/assets/PluginUpdateProgress-C364nTUE.js +0 -1
  1023. package/dist/interface/assets/PluginUpdateProgress-C364nTUE.js.br +0 -0
  1024. package/dist/interface/assets/PluginUpdateProgress-C364nTUE.js.gz +0 -0
  1025. package/dist/interface/assets/Plugins-CWL8_uCY.js +0 -1
  1026. package/dist/interface/assets/Plugins-CWL8_uCY.js.br +0 -0
  1027. package/dist/interface/assets/Plugins-CWL8_uCY.js.gz +0 -0
  1028. package/dist/interface/assets/RecentEventsFilter-Bw4XT26x.js +0 -1
  1029. package/dist/interface/assets/RecentEventsFilter-Bw4XT26x.js.br +0 -0
  1030. package/dist/interface/assets/RecentEventsFilter-Bw4XT26x.js.gz +0 -0
  1031. package/dist/interface/assets/Recordings-BtieFUuB.js +0 -1
  1032. package/dist/interface/assets/Recordings-BtieFUuB.js.br +0 -0
  1033. package/dist/interface/assets/Recordings-BtieFUuB.js.gz +0 -0
  1034. package/dist/interface/assets/SensorEdit-BPy_hvEl.js +0 -1
  1035. package/dist/interface/assets/SensorEdit-BPy_hvEl.js.br +0 -0
  1036. package/dist/interface/assets/SensorEdit-BPy_hvEl.js.gz +0 -0
  1037. package/dist/interface/assets/SensorHistory-Dx-Dvg2R.js +0 -1
  1038. package/dist/interface/assets/SensorHistory-Dx-Dvg2R.js.br +0 -5
  1039. package/dist/interface/assets/SensorHistory-Dx-Dvg2R.js.gz +0 -0
  1040. package/dist/interface/assets/Sensors-CJPwG91Q.js +0 -2
  1041. package/dist/interface/assets/Sensors-CJPwG91Q.js.br +0 -0
  1042. package/dist/interface/assets/Sensors-CJPwG91Q.js.gz +0 -0
  1043. package/dist/interface/assets/Settings-Bqyb1cyW.js +0 -1
  1044. package/dist/interface/assets/Settings-Bqyb1cyW.js.br +0 -0
  1045. package/dist/interface/assets/Settings-Bqyb1cyW.js.gz +0 -0
  1046. package/dist/interface/assets/SettingsAccount-B7B3fl82.js +0 -1
  1047. package/dist/interface/assets/SettingsAccount-B7B3fl82.js.br +0 -0
  1048. package/dist/interface/assets/SettingsAccount-B7B3fl82.js.gz +0 -0
  1049. package/dist/interface/assets/SettingsAccount-D8t_OSQI.js +0 -1
  1050. package/dist/interface/assets/SettingsAccount-D8t_OSQI.js.br +0 -0
  1051. package/dist/interface/assets/SettingsAccount-D8t_OSQI.js.gz +0 -0
  1052. package/dist/interface/assets/SettingsAppearance-CNeqUb74.js +0 -1
  1053. package/dist/interface/assets/SettingsAppearance-CNeqUb74.js.br +0 -0
  1054. package/dist/interface/assets/SettingsAppearance-CNeqUb74.js.gz +0 -0
  1055. package/dist/interface/assets/SettingsAppearance-Ch7DYMP-.js +0 -1
  1056. package/dist/interface/assets/SettingsAppearance-Ch7DYMP-.js.br +0 -0
  1057. package/dist/interface/assets/SettingsAppearance-Ch7DYMP-.js.gz +0 -0
  1058. package/dist/interface/assets/SettingsAssistant-DxNDbW9N.js +0 -1
  1059. package/dist/interface/assets/SettingsAssistant-DxNDbW9N.js.br +0 -0
  1060. package/dist/interface/assets/SettingsAssistant-DxNDbW9N.js.gz +0 -0
  1061. package/dist/interface/assets/SettingsBackup-BEVwmV-t.js +0 -1
  1062. package/dist/interface/assets/SettingsBackup-BEVwmV-t.js.br +0 -0
  1063. package/dist/interface/assets/SettingsBackup-BEVwmV-t.js.gz +0 -0
  1064. package/dist/interface/assets/SettingsList-C_x4jNb0.js +0 -1
  1065. package/dist/interface/assets/SettingsList-C_x4jNb0.js.br +0 -0
  1066. package/dist/interface/assets/SettingsList-C_x4jNb0.js.gz +0 -0
  1067. package/dist/interface/assets/SettingsMqtt-CF6qAo0g.js +0 -1
  1068. package/dist/interface/assets/SettingsMqtt-CF6qAo0g.js.br +0 -0
  1069. package/dist/interface/assets/SettingsMqtt-CF6qAo0g.js.gz +0 -0
  1070. package/dist/interface/assets/SettingsNotifications-CKSS0UPu.js +0 -1
  1071. package/dist/interface/assets/SettingsNotifications-CKSS0UPu.js.br +0 -0
  1072. package/dist/interface/assets/SettingsNotifications-CKSS0UPu.js.gz +0 -0
  1073. package/dist/interface/assets/SettingsPermissions-D6PnoaM4.js +0 -1
  1074. package/dist/interface/assets/SettingsPermissions-D6PnoaM4.js.br +0 -0
  1075. package/dist/interface/assets/SettingsPermissions-D6PnoaM4.js.gz +0 -0
  1076. package/dist/interface/assets/SettingsRecordings-D9r5WepL.js +0 -1
  1077. package/dist/interface/assets/SettingsRecordings-D9r5WepL.js.br +0 -0
  1078. package/dist/interface/assets/SettingsRecordings-D9r5WepL.js.gz +0 -0
  1079. package/dist/interface/assets/SettingsRemote-C23nUwVs.js +0 -2
  1080. package/dist/interface/assets/SettingsRemote-C23nUwVs.js.br +0 -0
  1081. package/dist/interface/assets/SettingsRemote-C23nUwVs.js.gz +0 -0
  1082. package/dist/interface/assets/SettingsSystem-xgoGldXc.js +0 -2
  1083. package/dist/interface/assets/SettingsSystem-xgoGldXc.js.br +0 -0
  1084. package/dist/interface/assets/SettingsSystem-xgoGldXc.js.gz +0 -0
  1085. package/dist/interface/assets/SettingsUsers-D5-im8NP.js +0 -1
  1086. package/dist/interface/assets/SettingsUsers-D5-im8NP.js.br +0 -0
  1087. package/dist/interface/assets/SettingsUsers-D5-im8NP.js.gz +0 -0
  1088. package/dist/interface/assets/Terminal-D_qE01xX.js +0 -4
  1089. package/dist/interface/assets/Terminal-D_qE01xX.js.br +0 -0
  1090. package/dist/interface/assets/Terminal-D_qE01xX.js.gz +0 -0
  1091. package/dist/interface/assets/Training-C0nq1zIu.js +0 -1
  1092. package/dist/interface/assets/Training-C0nq1zIu.js.br +0 -0
  1093. package/dist/interface/assets/Training-C0nq1zIu.js.gz +0 -0
  1094. package/dist/interface/assets/Updates-DWj4xF-x.js +0 -2
  1095. package/dist/interface/assets/Updates-DWj4xF-x.js.br +0 -0
  1096. package/dist/interface/assets/Updates-DWj4xF-x.js.gz +0 -0
  1097. package/dist/interface/assets/VariableInput-CdgKYOaI.js +0 -1
  1098. package/dist/interface/assets/VariableInput-CdgKYOaI.js.br +0 -0
  1099. package/dist/interface/assets/VariableInput-CdgKYOaI.js.gz +0 -0
  1100. package/dist/interface/assets/VersionsHandler-D_zWiAh4.js +0 -7
  1101. package/dist/interface/assets/VersionsHandler-D_zWiAh4.js.br +0 -0
  1102. package/dist/interface/assets/VersionsHandler-D_zWiAh4.js.gz +0 -0
  1103. package/dist/interface/assets/VirtualSensorCreate-CQuG7qrR.js +0 -1
  1104. package/dist/interface/assets/VirtualSensorCreate-CQuG7qrR.js.br +0 -0
  1105. package/dist/interface/assets/VirtualSensorCreate-CQuG7qrR.js.gz +0 -0
  1106. package/dist/interface/assets/Workers-nld2h48X.js +0 -2
  1107. package/dist/interface/assets/Workers-nld2h48X.js.br +0 -0
  1108. package/dist/interface/assets/Workers-nld2h48X.js.gz +0 -0
  1109. package/dist/interface/assets/api-BKoFIKyj.js +0 -1
  1110. package/dist/interface/assets/api-BKoFIKyj.js.br +0 -0
  1111. package/dist/interface/assets/api-BKoFIKyj.js.gz +0 -0
  1112. package/dist/interface/assets/api-ZBnM4bpc.css +0 -2
  1113. package/dist/interface/assets/api-ZBnM4bpc.css.br +0 -0
  1114. package/dist/interface/assets/api-ZBnM4bpc.css.gz +0 -0
  1115. package/dist/interface/assets/api-hcc2XHgV.js +0 -4
  1116. package/dist/interface/assets/api-hcc2XHgV.js.br +0 -0
  1117. package/dist/interface/assets/api-hcc2XHgV.js.gz +0 -0
  1118. package/dist/interface/assets/assistant-8W8hzkNw.js +0 -1
  1119. package/dist/interface/assets/assistant-8W8hzkNw.js.br +0 -0
  1120. package/dist/interface/assets/assistant-8W8hzkNw.js.gz +0 -0
  1121. package/dist/interface/assets/auth-DrJKzxGF.js +0 -1
  1122. package/dist/interface/assets/auth-DrJKzxGF.js.br +0 -0
  1123. package/dist/interface/assets/auth-DrJKzxGF.js.gz +0 -0
  1124. package/dist/interface/assets/automations-D2MlKIro.js +0 -1
  1125. package/dist/interface/assets/automations-D2MlKIro.js.br +0 -0
  1126. package/dist/interface/assets/automations-D2MlKIro.js.gz +0 -0
  1127. package/dist/interface/assets/cameraSources-B4z1-BVn.js +0 -1
  1128. package/dist/interface/assets/cameraSources-B4z1-BVn.js.br +0 -0
  1129. package/dist/interface/assets/cameraSources-B4z1-BVn.js.gz +0 -0
  1130. package/dist/interface/assets/cloudHandoff-C5u3JZFX.js +0 -1
  1131. package/dist/interface/assets/cloudHandoff-C5u3JZFX.js.br +0 -0
  1132. package/dist/interface/assets/cloudHandoff-C5u3JZFX.js.gz +0 -0
  1133. package/dist/interface/assets/config-15Yr02jr.js +0 -1
  1134. package/dist/interface/assets/config-15Yr02jr.js.br +0 -0
  1135. package/dist/interface/assets/config-15Yr02jr.js.gz +0 -0
  1136. package/dist/interface/assets/eventLabels-Bm1Wv3tO.js +0 -1
  1137. package/dist/interface/assets/eventLabels-Bm1Wv3tO.js.br +0 -0
  1138. package/dist/interface/assets/eventLabels-Bm1Wv3tO.js.gz +0 -0
  1139. package/dist/interface/assets/flowSchema-B17UlpVh.js +0 -1
  1140. package/dist/interface/assets/flowSchema-B17UlpVh.js.br +0 -0
  1141. package/dist/interface/assets/flowSchema-B17UlpVh.js.gz +0 -0
  1142. package/dist/interface/assets/intercomService-D_RmFMkg.js +0 -1
  1143. package/dist/interface/assets/intercomService-D_RmFMkg.js.br +0 -0
  1144. package/dist/interface/assets/intercomService-D_RmFMkg.js.gz +0 -0
  1145. package/dist/interface/assets/main-CgTfG0aV.js +0 -3
  1146. package/dist/interface/assets/main-CgTfG0aV.js.br +0 -0
  1147. package/dist/interface/assets/main-CgTfG0aV.js.gz +0 -0
  1148. package/dist/interface/assets/mqtt-DmtUJOKc.js +0 -1
  1149. package/dist/interface/assets/mqtt-DmtUJOKc.js.br +0 -0
  1150. package/dist/interface/assets/mqtt-DmtUJOKc.js.gz +0 -0
  1151. package/dist/interface/assets/notifications-cxtdh4Dq.js +0 -1
  1152. package/dist/interface/assets/notifications-cxtdh4Dq.js.br +0 -0
  1153. package/dist/interface/assets/notifications-cxtdh4Dq.js.gz +0 -0
  1154. package/dist/interface/assets/plugins-CmfmG_Ht.js +0 -1
  1155. package/dist/interface/assets/plugins-CmfmG_Ht.js.br +0 -0
  1156. package/dist/interface/assets/plugins-CmfmG_Ht.js.gz +0 -0
  1157. package/dist/interface/assets/rooms-DImYvmf0.js +0 -1
  1158. package/dist/interface/assets/rooms-DImYvmf0.js.br +0 -0
  1159. package/dist/interface/assets/rooms-DImYvmf0.js.gz +0 -0
  1160. package/dist/interface/assets/sensorIcons-CQ-hewie.js +0 -1
  1161. package/dist/interface/assets/sensorIcons-CQ-hewie.js.br +0 -0
  1162. package/dist/interface/assets/sensorIcons-CQ-hewie.js.gz +0 -0
  1163. package/dist/interface/assets/sensorSlots-DKhT-Jxi.js +0 -1
  1164. package/dist/interface/assets/sensorSlots-DKhT-Jxi.js.br +0 -2
  1165. package/dist/interface/assets/sensorSlots-DKhT-Jxi.js.gz +0 -0
  1166. package/dist/interface/assets/sensors-2F1TqBp2.js +0 -1
  1167. package/dist/interface/assets/sensors-2F1TqBp2.js.br +0 -0
  1168. package/dist/interface/assets/sensors-2F1TqBp2.js.gz +0 -0
  1169. package/dist/interface/assets/server-DMmxsNKk.js +0 -1
  1170. package/dist/interface/assets/server-DMmxsNKk.js.br +0 -0
  1171. package/dist/interface/assets/server-DMmxsNKk.js.gz +0 -0
  1172. package/dist/interface/assets/theme-CRxTH59W.js +0 -1
  1173. package/dist/interface/assets/theme-CRxTH59W.js.br +0 -0
  1174. package/dist/interface/assets/theme-CRxTH59W.js.gz +0 -0
  1175. package/dist/interface/assets/types-B05Rkscm.js +0 -1
  1176. package/dist/interface/assets/types-B05Rkscm.js.br +0 -0
  1177. package/dist/interface/assets/types-B05Rkscm.js.gz +0 -0
  1178. package/dist/interface/assets/types-C7UHGfrg.js +0 -1
  1179. package/dist/interface/assets/types-C7UHGfrg.js.br +0 -0
  1180. package/dist/interface/assets/types-C7UHGfrg.js.gz +0 -0
  1181. package/dist/interface/assets/types-SA5Swpfv.js +0 -1
  1182. package/dist/interface/assets/types-SA5Swpfv.js.br +0 -0
  1183. package/dist/interface/assets/types-SA5Swpfv.js.gz +0 -0
  1184. package/dist/interface/assets/updates-DGCU8RPq.js +0 -2
  1185. package/dist/interface/assets/updates-DGCU8RPq.js.br +0 -0
  1186. package/dist/interface/assets/updates-DGCU8RPq.js.gz +0 -0
  1187. package/dist/interface/assets/useAppVersion-fLy827DF.js +0 -1
  1188. package/dist/interface/assets/useAppVersion-fLy827DF.js.br +0 -0
  1189. package/dist/interface/assets/useAppVersion-fLy827DF.js.gz +0 -0
  1190. package/dist/interface/assets/useCameraOptions-DI6eVGNQ.js +0 -1
  1191. package/dist/interface/assets/useCameraOptions-DI6eVGNQ.js.br +0 -0
  1192. package/dist/interface/assets/useCameraOptions-DI6eVGNQ.js.gz +0 -0
  1193. package/dist/interface/assets/useKeyboardInset-Z8riBwV1.js +0 -1
  1194. package/dist/interface/assets/useKeyboardInset-Z8riBwV1.js.br +0 -0
  1195. package/dist/interface/assets/useKeyboardInset-Z8riBwV1.js.gz +0 -0
  1196. package/dist/interface/assets/useLogsSocket-Ds9ZMf-2.js +0 -1
  1197. package/dist/interface/assets/useLogsSocket-Ds9ZMf-2.js.br +0 -0
  1198. package/dist/interface/assets/useLogsSocket-Ds9ZMf-2.js.gz +0 -0
  1199. package/dist/interface/assets/useNavLayout-BHarUZRh.js +0 -1
  1200. package/dist/interface/assets/useNavLayout-BHarUZRh.js.br +0 -0
  1201. package/dist/interface/assets/useNavLayout-BHarUZRh.js.gz +0 -0
  1202. package/dist/interface/assets/usePermissions-BomHzN7x.js +0 -1
  1203. package/dist/interface/assets/usePermissions-BomHzN7x.js.br +0 -0
  1204. package/dist/interface/assets/usePermissions-BomHzN7x.js.gz +0 -0
  1205. package/dist/interface/assets/usePlacementLabel-BuvODQam.js +0 -1
  1206. package/dist/interface/assets/usePlacementLabel-BuvODQam.js.br +0 -0
  1207. package/dist/interface/assets/usePlacementLabel-BuvODQam.js.gz +0 -0
  1208. package/dist/interface/assets/usePlacementSocket-D4p3WBaE.js +0 -1
  1209. package/dist/interface/assets/usePlacementSocket-D4p3WBaE.js.br +0 -0
  1210. package/dist/interface/assets/usePlacementSocket-D4p3WBaE.js.gz +0 -0
  1211. package/dist/interface/assets/usePluginUpdates-BtZOtqLS.js +0 -1
  1212. package/dist/interface/assets/usePluginUpdates-BtZOtqLS.js.br +0 -0
  1213. package/dist/interface/assets/usePluginUpdates-BtZOtqLS.js.gz +0 -0
  1214. package/dist/interface/assets/usePluginsSocket-BNAWtPNW.js +0 -1
  1215. package/dist/interface/assets/usePluginsSocket-BNAWtPNW.js.br +0 -0
  1216. package/dist/interface/assets/usePluginsSocket-BNAWtPNW.js.gz +0 -0
  1217. package/dist/interface/assets/usePushRegistration-BuFequdt.js +0 -2
  1218. package/dist/interface/assets/usePushRegistration-BuFequdt.js.br +0 -0
  1219. package/dist/interface/assets/usePushRegistration-BuFequdt.js.gz +0 -0
  1220. package/dist/interface/assets/useServerRestart-CK_PyvWO.js +0 -1
  1221. package/dist/interface/assets/useServerRestart-CK_PyvWO.js.br +0 -0
  1222. package/dist/interface/assets/useServerRestart-CK_PyvWO.js.gz +0 -0
  1223. package/dist/interface/assets/useTabSwipe-BljLAKBs.js +0 -1
  1224. package/dist/interface/assets/useTabSwipe-BljLAKBs.js.br +0 -0
  1225. package/dist/interface/assets/useTabSwipe-BljLAKBs.js.gz +0 -0
  1226. package/dist/interface/assets/useUpdateChannel-DkXDZ6z2.js +0 -1
  1227. package/dist/interface/assets/useUpdateChannel-DkXDZ6z2.js.br +0 -0
  1228. package/dist/interface/assets/useUpdateChannel-DkXDZ6z2.js.gz +0 -0
  1229. package/dist/interface/assets/useUpdatesSocket-BXzENX9F.js +0 -1
  1230. package/dist/interface/assets/useUpdatesSocket-BXzENX9F.js.br +0 -0
  1231. package/dist/interface/assets/useUpdatesSocket-BXzENX9F.js.gz +0 -0
  1232. package/dist/interface/assets/useUserOptions-CkUmLnOt.js +0 -1
  1233. package/dist/interface/assets/useUserOptions-CkUmLnOt.js.br +0 -0
  1234. package/dist/interface/assets/useUserOptions-CkUmLnOt.js.gz +0 -0
  1235. package/dist/interface/assets/vendor-BKqUV6ZG.js +0 -36
  1236. package/dist/interface/assets/vendor-BKqUV6ZG.js.br +0 -0
  1237. package/dist/interface/assets/vendor-BKqUV6ZG.js.gz +0 -0
  1238. package/dist/interface/assets/vendor-cameraui-B8L5gN_M.js +0 -8
  1239. package/dist/interface/assets/vendor-cameraui-B8L5gN_M.js.br +0 -0
  1240. package/dist/interface/assets/vendor-cameraui-B8L5gN_M.js.gz +0 -0
  1241. package/dist/interface/assets/web-B-lnq1tC.js +0 -1
  1242. package/dist/interface/assets/web-B-lnq1tC.js.br +0 -1
  1243. package/dist/interface/assets/web-B-lnq1tC.js.gz +0 -0
  1244. package/dist/interface/assets/workbox-window.prod.es5-B4FH85cN.js +0 -1
  1245. package/dist/interface/assets/workbox-window.prod.es5-B4FH85cN.js.br +0 -1
  1246. package/dist/interface/assets/workbox-window.prod.es5-B4FH85cN.js.gz +0 -0
  1247. package/dist/interface/ha/404-C0g6F1t3.js +0 -60
  1248. package/dist/interface/ha/404-C0g6F1t3.js.br +0 -0
  1249. package/dist/interface/ha/404-C0g6F1t3.js.gz +0 -0
  1250. package/dist/interface/ha/About-DUPTtjj7.js +0 -55
  1251. package/dist/interface/ha/About-DUPTtjj7.js.br +0 -0
  1252. package/dist/interface/ha/About-DUPTtjj7.js.gz +0 -0
  1253. package/dist/interface/ha/Assistant-B9FBauC7.js +0 -11071
  1254. package/dist/interface/ha/Assistant-B9FBauC7.js.br +0 -0
  1255. package/dist/interface/ha/Assistant-B9FBauC7.js.gz +0 -0
  1256. package/dist/interface/ha/Automation-rCnUzOe1.js +0 -2009
  1257. package/dist/interface/ha/Automation-rCnUzOe1.js.br +0 -0
  1258. package/dist/interface/ha/Automation-rCnUzOe1.js.gz +0 -0
  1259. package/dist/interface/ha/AutomationImport-CopBhZrI.js +0 -206
  1260. package/dist/interface/ha/AutomationImport-CopBhZrI.js.br +0 -0
  1261. package/dist/interface/ha/AutomationImport-CopBhZrI.js.gz +0 -0
  1262. package/dist/interface/ha/AutomationStore-BI8nUkvZ.js +0 -336
  1263. package/dist/interface/ha/AutomationStore-BI8nUkvZ.js.br +0 -0
  1264. package/dist/interface/ha/AutomationStore-BI8nUkvZ.js.gz +0 -0
  1265. package/dist/interface/ha/AutomationStoreDetail-G_tEQ8Sl.js +0 -121
  1266. package/dist/interface/ha/AutomationStoreDetail-G_tEQ8Sl.js.br +0 -0
  1267. package/dist/interface/ha/AutomationStoreDetail-G_tEQ8Sl.js.gz +0 -0
  1268. package/dist/interface/ha/Automations-BUxONL8h.js +0 -423
  1269. package/dist/interface/ha/Automations-BUxONL8h.js.br +0 -0
  1270. package/dist/interface/ha/Automations-BUxONL8h.js.gz +0 -0
  1271. package/dist/interface/ha/Camera-B6R6Him8.js +0 -740
  1272. package/dist/interface/ha/Camera-B6R6Him8.js.br +0 -0
  1273. package/dist/interface/ha/Camera-B6R6Him8.js.gz +0 -0
  1274. package/dist/interface/ha/CameraConsole-DGPtx3Om.js +0 -52
  1275. package/dist/interface/ha/CameraConsole-DGPtx3Om.js.br +0 -0
  1276. package/dist/interface/ha/CameraConsole-DGPtx3Om.js.gz +0 -0
  1277. package/dist/interface/ha/Cameras-BLAswy-u.js +0 -1934
  1278. package/dist/interface/ha/Cameras-BLAswy-u.js.br +0 -0
  1279. package/dist/interface/ha/Cameras-BLAswy-u.js.gz +0 -0
  1280. package/dist/interface/ha/Camview-xcvTOcqF.js +0 -1368
  1281. package/dist/interface/ha/Camview-xcvTOcqF.js.br +0 -0
  1282. package/dist/interface/ha/Camview-xcvTOcqF.js.gz +0 -0
  1283. package/dist/interface/ha/Config-jF9wgGSw.js +0 -354
  1284. package/dist/interface/ha/Config-jF9wgGSw.js.br +0 -0
  1285. package/dist/interface/ha/Config-jF9wgGSw.js.gz +0 -0
  1286. package/dist/interface/ha/ConfigActionAssistant-CTln7anV.js +0 -182
  1287. package/dist/interface/ha/ConfigActionAssistant-CTln7anV.js.br +0 -0
  1288. package/dist/interface/ha/ConfigActionAssistant-CTln7anV.js.gz +0 -0
  1289. package/dist/interface/ha/ConfigActionCameraControl-C7bbKsYG.js +0 -152
  1290. package/dist/interface/ha/ConfigActionCameraControl-C7bbKsYG.js.br +0 -0
  1291. package/dist/interface/ha/ConfigActionCameraControl-C7bbKsYG.js.gz +0 -0
  1292. package/dist/interface/ha/ConfigActionHttp-BySYFU5k.js +0 -134
  1293. package/dist/interface/ha/ConfigActionHttp-BySYFU5k.js.br +0 -0
  1294. package/dist/interface/ha/ConfigActionHttp-BySYFU5k.js.gz +0 -0
  1295. package/dist/interface/ha/ConfigActionImageInput-7uZ4Ml7T.js +0 -170
  1296. package/dist/interface/ha/ConfigActionImageInput-7uZ4Ml7T.js.br +0 -0
  1297. package/dist/interface/ha/ConfigActionImageInput-7uZ4Ml7T.js.gz +0 -0
  1298. package/dist/interface/ha/ConfigActionMqtt-ClTovupk.js +0 -78
  1299. package/dist/interface/ha/ConfigActionMqtt-ClTovupk.js.br +0 -0
  1300. package/dist/interface/ha/ConfigActionMqtt-ClTovupk.js.gz +0 -0
  1301. package/dist/interface/ha/ConfigActionNotification-CzkKUNx2.js +0 -198
  1302. package/dist/interface/ha/ConfigActionNotification-CzkKUNx2.js.br +0 -0
  1303. package/dist/interface/ha/ConfigActionNotification-CzkKUNx2.js.gz +0 -0
  1304. package/dist/interface/ha/ConfigActionNotificationControl-BFi8Xvcq.js +0 -111
  1305. package/dist/interface/ha/ConfigActionNotificationControl-BFi8Xvcq.js.br +0 -0
  1306. package/dist/interface/ha/ConfigActionNotificationControl-BFi8Xvcq.js.gz +0 -0
  1307. package/dist/interface/ha/ConfigActionOutput-BL-IpetO.js +0 -98
  1308. package/dist/interface/ha/ConfigActionOutput-BL-IpetO.js.br +0 -0
  1309. package/dist/interface/ha/ConfigActionOutput-BL-IpetO.js.gz +0 -0
  1310. package/dist/interface/ha/ConfigActionPlugin-MeyG38_H.js +0 -171
  1311. package/dist/interface/ha/ConfigActionPlugin-MeyG38_H.js.br +0 -0
  1312. package/dist/interface/ha/ConfigActionPlugin-MeyG38_H.js.gz +0 -0
  1313. package/dist/interface/ha/ConfigActionSensor-DaYpGIz2.js +0 -138
  1314. package/dist/interface/ha/ConfigActionSensor-DaYpGIz2.js.br +0 -0
  1315. package/dist/interface/ha/ConfigActionSensor-DaYpGIz2.js.gz +0 -0
  1316. package/dist/interface/ha/ConfigActionSnapshot-DoJn9CTs.js +0 -45
  1317. package/dist/interface/ha/ConfigActionSnapshot-DoJn9CTs.js.br +0 -0
  1318. package/dist/interface/ha/ConfigActionSnapshot-DoJn9CTs.js.gz +0 -0
  1319. package/dist/interface/ha/ConfigActionVariable-CNzm719_.js +0 -88
  1320. package/dist/interface/ha/ConfigActionVariable-CNzm719_.js.br +0 -0
  1321. package/dist/interface/ha/ConfigActionVariable-CNzm719_.js.gz +0 -0
  1322. package/dist/interface/ha/ConfigConditionIfElse-DlGyRQjV.js +0 -124
  1323. package/dist/interface/ha/ConfigConditionIfElse-DlGyRQjV.js.br +0 -0
  1324. package/dist/interface/ha/ConfigConditionIfElse-DlGyRQjV.js.gz +0 -0
  1325. package/dist/interface/ha/ConfigConditionSensorState-C8-9W_Mk.js +0 -190
  1326. package/dist/interface/ha/ConfigConditionSensorState-C8-9W_Mk.js.br +0 -0
  1327. package/dist/interface/ha/ConfigConditionSensorState-C8-9W_Mk.js.gz +0 -0
  1328. package/dist/interface/ha/ConfigConditionSwitch-z1QjyFSj.js +0 -128
  1329. package/dist/interface/ha/ConfigConditionSwitch-z1QjyFSj.js.br +0 -0
  1330. package/dist/interface/ha/ConfigConditionSwitch-z1QjyFSj.js.gz +0 -0
  1331. package/dist/interface/ha/ConfigSensorValueInput-DUmntdFy.js +0 -173
  1332. package/dist/interface/ha/ConfigSensorValueInput-DUmntdFy.js.br +0 -0
  1333. package/dist/interface/ha/ConfigSensorValueInput-DUmntdFy.js.gz +0 -0
  1334. package/dist/interface/ha/ConfigTriggerDetection-C7l3Rppw.js +0 -241
  1335. package/dist/interface/ha/ConfigTriggerDetection-C7l3Rppw.js.br +0 -0
  1336. package/dist/interface/ha/ConfigTriggerDetection-C7l3Rppw.js.gz +0 -0
  1337. package/dist/interface/ha/ConfigTriggerGeofence-D6rNSgT_.js +0 -4836
  1338. package/dist/interface/ha/ConfigTriggerGeofence-D6rNSgT_.js.br +0 -0
  1339. package/dist/interface/ha/ConfigTriggerGeofence-D6rNSgT_.js.gz +0 -0
  1340. package/dist/interface/ha/ConfigTriggerMqtt-DklVPU17.js +0 -134
  1341. package/dist/interface/ha/ConfigTriggerMqtt-DklVPU17.js.br +0 -0
  1342. package/dist/interface/ha/ConfigTriggerMqtt-DklVPU17.js.gz +0 -0
  1343. package/dist/interface/ha/ConfigTriggerSensor-BYw2-6vV.js +0 -73
  1344. package/dist/interface/ha/ConfigTriggerSensor-BYw2-6vV.js.br +0 -0
  1345. package/dist/interface/ha/ConfigTriggerSensor-BYw2-6vV.js.gz +0 -0
  1346. package/dist/interface/ha/ConfigTriggerSystem-Db_1gt7L.js +0 -192
  1347. package/dist/interface/ha/ConfigTriggerSystem-Db_1gt7L.js.br +0 -0
  1348. package/dist/interface/ha/ConfigTriggerSystem-Db_1gt7L.js.gz +0 -0
  1349. package/dist/interface/ha/ConfigTriggerWebhook-DqK0sL96.js +0 -94
  1350. package/dist/interface/ha/ConfigTriggerWebhook-DqK0sL96.js.br +0 -0
  1351. package/dist/interface/ha/ConfigTriggerWebhook-DqK0sL96.js.gz +0 -0
  1352. package/dist/interface/ha/Console-C6Ri8iD0.js +0 -347
  1353. package/dist/interface/ha/Console-C6Ri8iD0.js.br +0 -0
  1354. package/dist/interface/ha/Console-C6Ri8iD0.js.gz +0 -0
  1355. package/dist/interface/ha/CuiAutomationRunsDialog-Dqp4c-fs.js +0 -129
  1356. package/dist/interface/ha/CuiAutomationRunsDialog-Dqp4c-fs.js.br +0 -0
  1357. package/dist/interface/ha/CuiAutomationRunsDialog-Dqp4c-fs.js.gz +0 -0
  1358. package/dist/interface/ha/CuiBottomSheet-DRJj8B44.js +0 -270
  1359. package/dist/interface/ha/CuiBottomSheet-DRJj8B44.js.br +0 -0
  1360. package/dist/interface/ha/CuiBottomSheet-DRJj8B44.js.gz +0 -0
  1361. package/dist/interface/ha/CuiCameraRecordings-Dtufs3Oo.js +0 -575
  1362. package/dist/interface/ha/CuiCameraRecordings-Dtufs3Oo.js.br +0 -0
  1363. package/dist/interface/ha/CuiCameraRecordings-Dtufs3Oo.js.gz +0 -0
  1364. package/dist/interface/ha/CuiCameraShares-ItGFNIIg.js +0 -120
  1365. package/dist/interface/ha/CuiCameraShares-ItGFNIIg.js.br +0 -0
  1366. package/dist/interface/ha/CuiCameraShares-ItGFNIIg.js.gz +0 -0
  1367. package/dist/interface/ha/CuiCameraTable-0PMd6Hs7.js +0 -105
  1368. package/dist/interface/ha/CuiCameraTable-0PMd6Hs7.js.br +0 -0
  1369. package/dist/interface/ha/CuiCameraTable-0PMd6Hs7.js.gz +0 -0
  1370. package/dist/interface/ha/CuiChartTable-BmdvgdnY.js +0 -6797
  1371. package/dist/interface/ha/CuiChartTable-BmdvgdnY.js.br +0 -0
  1372. package/dist/interface/ha/CuiChartTable-BmdvgdnY.js.gz +0 -0
  1373. package/dist/interface/ha/CuiConsole-ByfdStxK.js +0 -234
  1374. package/dist/interface/ha/CuiConsole-ByfdStxK.js.br +0 -0
  1375. package/dist/interface/ha/CuiConsole-ByfdStxK.js.gz +0 -0
  1376. package/dist/interface/ha/CuiDataTable-5jytjTVD.js +0 -8860
  1377. package/dist/interface/ha/CuiDataTable-5jytjTVD.js.br +0 -0
  1378. package/dist/interface/ha/CuiDataTable-5jytjTVD.js.gz +0 -0
  1379. package/dist/interface/ha/CuiMoveCodeForm-C8tcwY8e.js +0 -89
  1380. package/dist/interface/ha/CuiMoveCodeForm-C8tcwY8e.js.br +0 -0
  1381. package/dist/interface/ha/CuiMoveCodeForm-C8tcwY8e.js.gz +0 -0
  1382. package/dist/interface/ha/CuiPluginCard-Dxmz9qIT.js +0 -778
  1383. package/dist/interface/ha/CuiPluginCard-Dxmz9qIT.js.br +0 -0
  1384. package/dist/interface/ha/CuiPluginCard-Dxmz9qIT.js.gz +0 -0
  1385. package/dist/interface/ha/CuiPluginOAuthButton-D6vp8p2G.js +0 -74
  1386. package/dist/interface/ha/CuiPluginOAuthButton-D6vp8p2G.js.br +0 -0
  1387. package/dist/interface/ha/CuiPluginOAuthButton-D6vp8p2G.js.gz +0 -0
  1388. package/dist/interface/ha/CuiPluginTrustBadge-tRUa9nOH.js +0 -122
  1389. package/dist/interface/ha/CuiPluginTrustBadge-tRUa9nOH.js.br +0 -0
  1390. package/dist/interface/ha/CuiPluginTrustBadge-tRUa9nOH.js.gz +0 -0
  1391. package/dist/interface/ha/CuiQRCode-DTi8H-h0.js +0 -86
  1392. package/dist/interface/ha/CuiQRCode-DTi8H-h0.js.br +0 -0
  1393. package/dist/interface/ha/CuiQRCode-DTi8H-h0.js.gz +0 -0
  1394. package/dist/interface/ha/CuiSchema-DSPhVzZi.js +0 -952
  1395. package/dist/interface/ha/CuiSchema-DSPhVzZi.js.br +0 -0
  1396. package/dist/interface/ha/CuiSchema-DSPhVzZi.js.gz +0 -0
  1397. package/dist/interface/ha/CuiTopNavbarItem-BWXTEWWS.js +0 -141
  1398. package/dist/interface/ha/CuiTopNavbarItem-BWXTEWWS.js.br +0 -0
  1399. package/dist/interface/ha/CuiTopNavbarItem-BWXTEWWS.js.gz +0 -0
  1400. package/dist/interface/ha/Faces-BNCgRt68.js +0 -1659
  1401. package/dist/interface/ha/Faces-BNCgRt68.js.br +0 -0
  1402. package/dist/interface/ha/Faces-BNCgRt68.js.gz +0 -0
  1403. package/dist/interface/ha/FirstSteps-C2XCIyUP.js +0 -254
  1404. package/dist/interface/ha/FirstSteps-C2XCIyUP.js.br +0 -0
  1405. package/dist/interface/ha/FirstSteps-C2XCIyUP.js.gz +0 -0
  1406. package/dist/interface/ha/Floorplan-DH8-DWF3.js +0 -3707
  1407. package/dist/interface/ha/Floorplan-DH8-DWF3.js.br +0 -0
  1408. package/dist/interface/ha/Floorplan-DH8-DWF3.js.gz +0 -0
  1409. package/dist/interface/ha/Instances-B0Z8-Fol.js +0 -670
  1410. package/dist/interface/ha/Instances-B0Z8-Fol.js.br +0 -0
  1411. package/dist/interface/ha/Instances-B0Z8-Fol.js.gz +0 -0
  1412. package/dist/interface/ha/Logs-B_E04jv9.js +0 -417
  1413. package/dist/interface/ha/Logs-B_E04jv9.js.br +0 -0
  1414. package/dist/interface/ha/Logs-B_E04jv9.js.gz +0 -0
  1415. package/dist/interface/ha/Menu-DKKUWQ7V.js +0 -159
  1416. package/dist/interface/ha/Menu-DKKUWQ7V.js.br +0 -0
  1417. package/dist/interface/ha/Menu-DKKUWQ7V.js.gz +0 -0
  1418. package/dist/interface/ha/Metrics-BQ8WyVvm.js +0 -1497
  1419. package/dist/interface/ha/Metrics-BQ8WyVvm.js.br +0 -0
  1420. package/dist/interface/ha/Metrics-BQ8WyVvm.js.gz +0 -0
  1421. package/dist/interface/ha/OAuthDeviceFlow-q03Icq2M.js +0 -112
  1422. package/dist/interface/ha/OAuthDeviceFlow-q03Icq2M.js.br +0 -0
  1423. package/dist/interface/ha/OAuthDeviceFlow-q03Icq2M.js.gz +0 -0
  1424. package/dist/interface/ha/Plugin-COsjUMHj.js +0 -1756
  1425. package/dist/interface/ha/Plugin-COsjUMHj.js.br +0 -0
  1426. package/dist/interface/ha/Plugin-COsjUMHj.js.gz +0 -0
  1427. package/dist/interface/ha/PluginConsole-B6M3jW7r.js +0 -56
  1428. package/dist/interface/ha/PluginConsole-B6M3jW7r.js.br +0 -0
  1429. package/dist/interface/ha/PluginConsole-B6M3jW7r.js.gz +0 -0
  1430. package/dist/interface/ha/PluginDetail-De9PfWZC.js +0 -804
  1431. package/dist/interface/ha/PluginDetail-De9PfWZC.js.br +0 -0
  1432. package/dist/interface/ha/PluginDetail-De9PfWZC.js.gz +0 -0
  1433. package/dist/interface/ha/PluginSearch-CUF6uUYE.js +0 -462
  1434. package/dist/interface/ha/PluginSearch-CUF6uUYE.js.br +0 -0
  1435. package/dist/interface/ha/PluginSearch-CUF6uUYE.js.gz +0 -0
  1436. package/dist/interface/ha/PluginUpdateProgress-CfueW3U6.js +0 -34
  1437. package/dist/interface/ha/PluginUpdateProgress-CfueW3U6.js.br +0 -0
  1438. package/dist/interface/ha/PluginUpdateProgress-CfueW3U6.js.gz +0 -0
  1439. package/dist/interface/ha/Plugins-DHQYHtEA.js +0 -697
  1440. package/dist/interface/ha/Plugins-DHQYHtEA.js.br +0 -0
  1441. package/dist/interface/ha/Plugins-DHQYHtEA.js.gz +0 -0
  1442. package/dist/interface/ha/Recordings-G328kjrH.js +0 -1928
  1443. package/dist/interface/ha/Recordings-G328kjrH.js.br +0 -0
  1444. package/dist/interface/ha/Recordings-G328kjrH.js.gz +0 -0
  1445. package/dist/interface/ha/SensorEdit-SDDkpHQA.js +0 -1466
  1446. package/dist/interface/ha/SensorEdit-SDDkpHQA.js.br +0 -0
  1447. package/dist/interface/ha/SensorEdit-SDDkpHQA.js.gz +0 -0
  1448. package/dist/interface/ha/SensorHistory-By03PPM6.js +0 -54
  1449. package/dist/interface/ha/SensorHistory-By03PPM6.js.br +0 -0
  1450. package/dist/interface/ha/SensorHistory-By03PPM6.js.gz +0 -0
  1451. package/dist/interface/ha/Sensors-DS0GAhPM.js +0 -1544
  1452. package/dist/interface/ha/Sensors-DS0GAhPM.js.br +0 -0
  1453. package/dist/interface/ha/Sensors-DS0GAhPM.js.gz +0 -0
  1454. package/dist/interface/ha/Settings-mg5tgsvw.js +0 -218
  1455. package/dist/interface/ha/Settings-mg5tgsvw.js.br +0 -0
  1456. package/dist/interface/ha/Settings-mg5tgsvw.js.gz +0 -0
  1457. package/dist/interface/ha/SettingsAccount-Cofdm1-P.js +0 -968
  1458. package/dist/interface/ha/SettingsAccount-Cofdm1-P.js.br +0 -0
  1459. package/dist/interface/ha/SettingsAccount-Cofdm1-P.js.gz +0 -0
  1460. package/dist/interface/ha/SettingsAppearance-C0mG4s7A.js +0 -201
  1461. package/dist/interface/ha/SettingsAppearance-C0mG4s7A.js.br +0 -0
  1462. package/dist/interface/ha/SettingsAppearance-C0mG4s7A.js.gz +0 -0
  1463. package/dist/interface/ha/SettingsAssistant-r6SVlBMv.js +0 -2134
  1464. package/dist/interface/ha/SettingsAssistant-r6SVlBMv.js.br +0 -0
  1465. package/dist/interface/ha/SettingsAssistant-r6SVlBMv.js.gz +0 -0
  1466. package/dist/interface/ha/SettingsBackup-DgO_FEZR.js +0 -1047
  1467. package/dist/interface/ha/SettingsBackup-DgO_FEZR.js.br +0 -0
  1468. package/dist/interface/ha/SettingsBackup-DgO_FEZR.js.gz +0 -0
  1469. package/dist/interface/ha/SettingsList-ChZGnuoZ.js +0 -40
  1470. package/dist/interface/ha/SettingsList-ChZGnuoZ.js.br +0 -0
  1471. package/dist/interface/ha/SettingsList-ChZGnuoZ.js.gz +0 -0
  1472. package/dist/interface/ha/SettingsMqtt-xDQQqJkt.js +0 -512
  1473. package/dist/interface/ha/SettingsMqtt-xDQQqJkt.js.br +0 -0
  1474. package/dist/interface/ha/SettingsMqtt-xDQQqJkt.js.gz +0 -0
  1475. package/dist/interface/ha/SettingsNotifications-BcGqN3h-.js +0 -514
  1476. package/dist/interface/ha/SettingsNotifications-BcGqN3h-.js.br +0 -0
  1477. package/dist/interface/ha/SettingsNotifications-BcGqN3h-.js.gz +0 -0
  1478. package/dist/interface/ha/SettingsRecordings-Fm93mMtM.js +0 -152
  1479. package/dist/interface/ha/SettingsRecordings-Fm93mMtM.js.br +0 -0
  1480. package/dist/interface/ha/SettingsRecordings-Fm93mMtM.js.gz +0 -0
  1481. package/dist/interface/ha/SettingsRemote-CgbCbcwE.js +0 -1523
  1482. package/dist/interface/ha/SettingsRemote-CgbCbcwE.js.br +0 -0
  1483. package/dist/interface/ha/SettingsRemote-CgbCbcwE.js.gz +0 -0
  1484. package/dist/interface/ha/SettingsSystem-ChvsRSbi.js +0 -382
  1485. package/dist/interface/ha/SettingsSystem-ChvsRSbi.js.br +0 -0
  1486. package/dist/interface/ha/SettingsSystem-ChvsRSbi.js.gz +0 -0
  1487. package/dist/interface/ha/SettingsUsers-BBXYNGF2.js +0 -370
  1488. package/dist/interface/ha/SettingsUsers-BBXYNGF2.js.br +0 -0
  1489. package/dist/interface/ha/SettingsUsers-BBXYNGF2.js.gz +0 -0
  1490. package/dist/interface/ha/Terminal-C5vuvShu.js +0 -611
  1491. package/dist/interface/ha/Terminal-C5vuvShu.js.br +0 -0
  1492. package/dist/interface/ha/Terminal-C5vuvShu.js.gz +0 -0
  1493. package/dist/interface/ha/Training-B3_UGO_E.js +0 -1829
  1494. package/dist/interface/ha/Training-B3_UGO_E.js.br +0 -0
  1495. package/dist/interface/ha/Training-B3_UGO_E.js.gz +0 -0
  1496. package/dist/interface/ha/Updates-BoUrLXO0.js +0 -357
  1497. package/dist/interface/ha/Updates-BoUrLXO0.js.br +0 -0
  1498. package/dist/interface/ha/Updates-BoUrLXO0.js.gz +0 -0
  1499. package/dist/interface/ha/VariableInput-BDAGOmFx.js +0 -52
  1500. package/dist/interface/ha/VariableInput-BDAGOmFx.js.br +0 -0
  1501. package/dist/interface/ha/VariableInput-BDAGOmFx.js.gz +0 -0
  1502. package/dist/interface/ha/VersionsHandler-e71ZiVOS.js +0 -221
  1503. package/dist/interface/ha/VersionsHandler-e71ZiVOS.js.br +0 -0
  1504. package/dist/interface/ha/VersionsHandler-e71ZiVOS.js.gz +0 -0
  1505. package/dist/interface/ha/VirtualSensorCreate-CgUBS5mu.js +0 -102
  1506. package/dist/interface/ha/VirtualSensorCreate-CgUBS5mu.js.br +0 -0
  1507. package/dist/interface/ha/VirtualSensorCreate-CgUBS5mu.js.gz +0 -0
  1508. package/dist/interface/ha/Workers-CgLLF5rS.js +0 -1270
  1509. package/dist/interface/ha/Workers-CgLLF5rS.js.br +0 -0
  1510. package/dist/interface/ha/Workers-CgLLF5rS.js.gz +0 -0
  1511. package/dist/interface/ha/api-CXtQYIt7.js +0 -69474
  1512. package/dist/interface/ha/api-CXtQYIt7.js.br +0 -0
  1513. package/dist/interface/ha/api-CXtQYIt7.js.gz +0 -0
  1514. package/dist/interface/ha/api-epUujIGc.js +0 -29
  1515. package/dist/interface/ha/api-epUujIGc.js.br +0 -0
  1516. package/dist/interface/ha/api-epUujIGc.js.gz +0 -0
  1517. package/dist/interface/ha/assistant-xIw8SyXK.js +0 -349
  1518. package/dist/interface/ha/assistant-xIw8SyXK.js.br +0 -0
  1519. package/dist/interface/ha/assistant-xIw8SyXK.js.gz +0 -0
  1520. package/dist/interface/ha/auth-B94BQdRh.js +0 -271
  1521. package/dist/interface/ha/auth-B94BQdRh.js.br +0 -0
  1522. package/dist/interface/ha/auth-B94BQdRh.js.gz +0 -0
  1523. package/dist/interface/ha/automationBlueprint-BL30KWhS.js +0 -250
  1524. package/dist/interface/ha/automationBlueprint-BL30KWhS.js.br +0 -0
  1525. package/dist/interface/ha/automationBlueprint-BL30KWhS.js.gz +0 -0
  1526. package/dist/interface/ha/cards-Bcz7ceYM.js +0 -13318
  1527. package/dist/interface/ha/cards-Bcz7ceYM.js.br +0 -0
  1528. package/dist/interface/ha/cards-Bcz7ceYM.js.gz +0 -0
  1529. package/dist/interface/ha/config-BMvXk551.js +0 -116
  1530. package/dist/interface/ha/config-BMvXk551.js.br +0 -0
  1531. package/dist/interface/ha/config-BMvXk551.js.gz +0 -0
  1532. package/dist/interface/ha/dist-DTq7_9I6.js +0 -4434
  1533. package/dist/interface/ha/dist-DTq7_9I6.js.br +0 -0
  1534. package/dist/interface/ha/dist-DTq7_9I6.js.gz +0 -0
  1535. package/dist/interface/ha/mqtt-C5x_sjJt.js +0 -56
  1536. package/dist/interface/ha/mqtt-C5x_sjJt.js.br +0 -0
  1537. package/dist/interface/ha/mqtt-C5x_sjJt.js.gz +0 -0
  1538. package/dist/interface/ha/notifications-DNM4HkuB.js +0 -159
  1539. package/dist/interface/ha/notifications-DNM4HkuB.js.br +0 -0
  1540. package/dist/interface/ha/notifications-DNM4HkuB.js.gz +0 -0
  1541. package/dist/interface/ha/plugins-DErZqBrd.js +0 -592
  1542. package/dist/interface/ha/plugins-DErZqBrd.js.br +0 -0
  1543. package/dist/interface/ha/plugins-DErZqBrd.js.gz +0 -0
  1544. package/dist/interface/ha/rooms-Dbs8Sxbv.js +0 -45
  1545. package/dist/interface/ha/rooms-Dbs8Sxbv.js.br +0 -0
  1546. package/dist/interface/ha/rooms-Dbs8Sxbv.js.gz +0 -0
  1547. package/dist/interface/ha/server-BZNvy7IL.js +0 -244
  1548. package/dist/interface/ha/server-BZNvy7IL.js.br +0 -0
  1549. package/dist/interface/ha/server-BZNvy7IL.js.gz +0 -0
  1550. package/dist/interface/ha/speeddial-CoFpZwx8.js +0 -941
  1551. package/dist/interface/ha/speeddial-CoFpZwx8.js.br +0 -0
  1552. package/dist/interface/ha/speeddial-CoFpZwx8.js.gz +0 -0
  1553. package/dist/interface/ha/types-NKw1LIVA.js +0 -1073
  1554. package/dist/interface/ha/types-NKw1LIVA.js.br +0 -0
  1555. package/dist/interface/ha/types-NKw1LIVA.js.gz +0 -0
  1556. package/dist/interface/ha/updates-GGAKhvzf.js +0 -414
  1557. package/dist/interface/ha/updates-GGAKhvzf.js.br +0 -0
  1558. package/dist/interface/ha/updates-GGAKhvzf.js.gz +0 -0
  1559. package/dist/interface/ha/useAppVersion-CXhHejw4.js +0 -22
  1560. package/dist/interface/ha/useAppVersion-CXhHejw4.js.br +0 -0
  1561. package/dist/interface/ha/useAppVersion-CXhHejw4.js.gz +0 -0
  1562. package/dist/interface/ha/useKeyboardInset-kaNJLIur.js +0 -27
  1563. package/dist/interface/ha/useKeyboardInset-kaNJLIur.js.br +0 -0
  1564. package/dist/interface/ha/useKeyboardInset-kaNJLIur.js.gz +0 -0
  1565. package/dist/interface/ha/useLogsSocket-Cnq42uKV.js +0 -74
  1566. package/dist/interface/ha/useLogsSocket-Cnq42uKV.js.br +0 -0
  1567. package/dist/interface/ha/useLogsSocket-Cnq42uKV.js.gz +0 -0
  1568. package/dist/interface/ha/useNavLayout-CJPY_t5I.js +0 -125
  1569. package/dist/interface/ha/useNavLayout-CJPY_t5I.js.br +0 -0
  1570. package/dist/interface/ha/useNavLayout-CJPY_t5I.js.gz +0 -0
  1571. package/dist/interface/ha/usePlacementLabel-byVkgG-8.js +0 -49
  1572. package/dist/interface/ha/usePlacementLabel-byVkgG-8.js.br +0 -0
  1573. package/dist/interface/ha/usePlacementLabel-byVkgG-8.js.gz +0 -0
  1574. package/dist/interface/ha/useTabSwipe-DBsM5lt8.js +0 -45
  1575. package/dist/interface/ha/useTabSwipe-DBsM5lt8.js.br +0 -0
  1576. package/dist/interface/ha/useTabSwipe-DBsM5lt8.js.gz +0 -0
  1577. package/dist/interface/ha/useUpdateChannel-DFIfLBGj.js +0 -22
  1578. package/dist/interface/ha/useUpdateChannel-DFIfLBGj.js.br +0 -0
  1579. package/dist/interface/ha/useUpdateChannel-DFIfLBGj.js.gz +0 -0
  1580. package/dist/interface/ha/useUpdatesSocket-DHF2B4Gk.js +0 -34
  1581. package/dist/interface/ha/useUpdatesSocket-DHF2B4Gk.js.br +0 -0
  1582. package/dist/interface/ha/useUpdatesSocket-DHF2B4Gk.js.gz +0 -0
  1583. package/dist/interface/ha/useUserOptions-BmH3hZ1U.js +0 -15
  1584. package/dist/interface/ha/useUserOptions-BmH3hZ1U.js.br +0 -0
  1585. package/dist/interface/ha/useUserOptions-BmH3hZ1U.js.gz +0 -0
@@ -1,4434 +0,0 @@
1
- import { Ct as e, D as t, I as n, St as r, Tt as i, ft as a, kt as o, l as s, ot as c, vt as l, xt as u } from "./runtime-core.esm-bundler-CrWKbcD2.js";
2
- import { B as d, K as f, N as p, t as m } from "./protocol-BB4jdtUC-CGK3LRf3.js";
3
- import { D as h } from "./dist-euRmladF.js";
4
- //#region node_modules/@camera.ui/transport/dist/closeCodes-CltSRjdJ.js
5
- function g(e) {
6
- if (e === "insufficient_role" || e === "user_not_found") return "forbidden";
7
- if (e === "invalid_token" || e === "unauthenticated" || e.startsWith("credentials_")) return "auth-expired";
8
- }
9
- function _(e) {
10
- let t = typeof e == "string" ? void 0 : e, n = t?.wsCloseCode ?? t?.code;
11
- if (n === 4401) return "auth-expired";
12
- if (n === 4403 || n === 4400) return "forbidden";
13
- let r = typeof t?.data == "object" && t.data !== null ? t.data.code : void 0, i = typeof r == "string" ? g(r) : void 0;
14
- if (i) return i;
15
- let a = (typeof e == "string" ? e : t?.reason ?? t?.message ?? "").toLowerCase();
16
- return a ? a.includes("forbidden") || a.includes("403") ? "forbidden" : a.includes("unauthorized") || a.includes("unauthenticated") || a.includes("401") ? "auth-expired" : "other" : "other";
17
- }
18
- function v(e) {
19
- if (typeof e != "object" || !e) return !1;
20
- let { wsCloseCode: t, code: n, data: r } = e;
21
- return _({
22
- wsCloseCode: t,
23
- code: n,
24
- data: r
25
- }) === "forbidden";
26
- }
27
- //#endregion
28
- //#region node_modules/@camera.ui/rpc/dist/errors.js
29
- var y = Symbol("rpc.localNoResponders"), b = class e extends Error {
30
- code;
31
- data;
32
- constructor(e, t, n) {
33
- super(t), this.name = "RPCException", this.code = e, this.data = n;
34
- }
35
- static fromJSON(t) {
36
- return new e(t.code, t.message, t.data);
37
- }
38
- toJSON() {
39
- return {
40
- code: this.code,
41
- message: this.message,
42
- data: this.data
43
- };
44
- }
45
- };
46
- function x(e, t, n) {
47
- return new b(e, t, n);
48
- }
49
- function S(e, t) {
50
- return Object.defineProperty(e, y, { value: t }), e;
51
- }
52
- function C(e) {
53
- if (typeof e != "object" || !e) return;
54
- let t = e[y];
55
- return typeof t == "string" ? t : void 0;
56
- }
57
- function w(e) {
58
- if (!e || typeof e != "object") return !1;
59
- if (e.name === "NoRespondersError") return !0;
60
- let t = e.message;
61
- return typeof t == "string" && t.includes("no responders");
62
- }
63
- //#endregion
64
- //#region node_modules/@camera.ui/browser/dist/index.js
65
- function T(e = {}) {
66
- let { releaseDelay: t = 1e3, onRelease: n } = e, r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map();
67
- function a(e) {
68
- let t = i.get(e);
69
- t && (clearTimeout(t), i.delete(e));
70
- }
71
- function o(e) {
72
- let t = r.get(e);
73
- if (t) {
74
- try {
75
- n?.(e, t.value);
76
- } catch {}
77
- r.delete(e);
78
- }
79
- i.delete(e);
80
- }
81
- function s(e, t) {
82
- a(e);
83
- let n = r.get(e);
84
- if (n) return n.refCount++, n.value;
85
- let i = t();
86
- return r.set(e, {
87
- value: i,
88
- refCount: 1
89
- }), i;
90
- }
91
- function c(e, n) {
92
- let a = r.get(e);
93
- if (!(!a || a.refCount <= 0) && (n === void 0 || a.value === n) && (a.refCount--, a.refCount === 0)) {
94
- let n = setTimeout(() => {
95
- let t = r.get(e);
96
- t && t.refCount <= 0 ? o(e) : i.delete(e);
97
- }, t);
98
- i.set(e, n);
99
- }
100
- }
101
- function l(e) {
102
- return r.get(e)?.value;
103
- }
104
- function u(e) {
105
- return r.has(e);
106
- }
107
- function d(e) {
108
- a(e), o(e);
109
- }
110
- function f() {
111
- for (let e of i.keys()) a(e);
112
- for (let e of r.keys()) o(e);
113
- }
114
- function p(e) {
115
- return r.get(e)?.refCount ?? 0;
116
- }
117
- function m(e) {
118
- for (let [t, n] of r) e(n.value, t);
119
- }
120
- return {
121
- acquire: s,
122
- release: c,
123
- get: l,
124
- has: u,
125
- forceRelease: d,
126
- clear: f,
127
- getRefCount: p,
128
- forEachValue: m
129
- };
130
- }
131
- var E = 1e3, D = 3e4;
132
- function O() {
133
- let e, t = E;
134
- function n(n) {
135
- e || (e = setTimeout(() => {
136
- e = void 0, n();
137
- }, t), t = Math.min(t * 2, D));
138
- }
139
- function r() {
140
- clearTimeout(e), e = void 0;
141
- }
142
- function i() {
143
- t = E;
144
- }
145
- return {
146
- schedule: n,
147
- cancel: r,
148
- reset: i
149
- };
150
- }
151
- function k() {
152
- let e = t(dr);
153
- if (!e) throw Error("[camera.ui] useCameraUi() called without CameraUiPlugin installed. Make sure to call app.use(createCameraUiPlugin({ ... })) before using this composable.");
154
- return e;
155
- }
156
- function A(e) {
157
- return e.replace(/ /g, "_").toLowerCase();
158
- }
159
- function j(e, t) {
160
- return `cui_${A(e)}_${A(t)}`;
161
- }
162
- var M = class {
163
- static coreManagerNamespaces() {
164
- return {
165
- coreManagerSubject: "coreManager.subscriber",
166
- coreManagerRpc: "coreManager.rpc"
167
- };
168
- }
169
- static deviceManagerNamespaces() {
170
- return {
171
- deviceManagerSubject: "deviceManager.subscriber",
172
- deviceManagerRpc: "deviceManager.rpc"
173
- };
174
- }
175
- static sensorDiscoveryNamespaces() {
176
- return { sensorDiscoverySubject: "sensorDiscovery.subscriber" };
177
- }
178
- static discoveryManagerNamespaces() {
179
- return {
180
- discoveryManagerSubject: "discoveryManager.subscriber",
181
- discoveryManagerRpc: "discoveryManager.rpc"
182
- };
183
- }
184
- static pluginNamespaces(e) {
185
- return {
186
- pluginDeviceManagerSubject: `plugin.${e}.deviceManager.subscriber`,
187
- pluginChildRpc: `plugin.${e}.child.rpc`,
188
- pluginChild: `plugin.${e}.child`,
189
- pluginStorageRpc: `plugin.${e}.storage.rpc`,
190
- pluginConfigStoreRpc: `plugin.${e}.configstore.rpc`
191
- };
192
- }
193
- static pluginFileServeRpc(e) {
194
- return `plugin.${e}.fileserve.rpc`;
195
- }
196
- static cameraNamespaces(e) {
197
- return {
198
- cameraSubject: `camera.${e}.subscriber`,
199
- cameraStateSubject: `camera.${e}.state`,
200
- cameraControllerRpc: `camera.${e}.controller.rpc`
201
- };
202
- }
203
- static frameWorkerNamespaces(e) {
204
- return {
205
- frameWorkerChildRpc: `camera.${e}.frameWorker.child.rpc`,
206
- frameWorkerChild: `camera.${e}.frameWorker.child`
207
- };
208
- }
209
- static pluginCameraNamespaces(e, t) {
210
- return {
211
- cameraInterfacesRpc: `plugin.${e}.camera.${t}.cameraInterfaces.rpc`,
212
- cameraStorageRpc: `plugin.${e}.camera.${t}.cameraStorage.rpc`,
213
- cameraImplRpc: `plugin.${e}.camera.${t}.impl.rpc`
214
- };
215
- }
216
- static pluginSensorNamespaces(e, t) {
217
- return { sensorStorageRpc: `plugin.${e}.sensor.${t}.storage.rpc` };
218
- }
219
- static sensorRegistryNamespaces() {
220
- return {
221
- sensorsSubject: "sensors.subject",
222
- sensorsRpc: "sensors.rpc"
223
- };
224
- }
225
- static sensorCameraViewNamespaces(e) {
226
- return { sensorWriteSubject: `camera.${e}.sensors.writes` };
227
- }
228
- static sensorEventNamespaces(e) {
229
- return {
230
- sensorSubject: `sensor.${e}.subject`,
231
- sensorStateSubject: `sensor.${e}.state`
232
- };
233
- }
234
- static sensorProviderNamespaces(e, t) {
235
- return { sensorRpc: `plugin.${e}.sensor.${t}.rpc` };
236
- }
237
- static frameWorkerDetectionNamespaces(e) {
238
- return { detectionRpc: `camera.${e}.frameWorker.detection.rpc` };
239
- }
240
- static detectionEventNamespaces(e) {
241
- return { detectionEventSubject: `camera.${e}.events.subject` };
242
- }
243
- static terminalManagerNamespaces() {
244
- return {
245
- terminalManagerSubject: "terminalManager.subscriber",
246
- terminalManagerRpc: "terminalManager.rpc"
247
- };
248
- }
249
- static downloadManagerNamespaces() {
250
- return { downloadManagerRpc: "downloadManager.rpc" };
251
- }
252
- static notificationManagerNamespaces() {
253
- return { notificationsPublishSubject: "notifications.publish" };
254
- }
255
- static workerAgentRpc(e) {
256
- return `worker.${e}.rpc`;
257
- }
258
- static workerManagerRpc(e) {
259
- return `workers.${e}.manager.rpc`;
260
- }
261
- static sharedWorkerManagerRpc() {
262
- return "workers.manager.rpc";
263
- }
264
- static workerSync(e) {
265
- return `worker.${e}.sync`;
266
- }
267
- static workerLinkSubject(e) {
268
- return `worker.${e}.link`;
269
- }
270
- static workerDisconnect(e) {
271
- return `workers.${e}.disconnect`;
272
- }
273
- static sharedWorkerDisconnect() {
274
- return "workers.disconnect";
275
- }
276
- static workerLogs(e) {
277
- return `workers.${e}.logs`;
278
- }
279
- static sharedWorkerLogs() {
280
- return "workers.logs";
281
- }
282
- }, ee = 3, te = 3e4, N = 3e4, P = /* @__PURE__ */ new Set(["Not connected", "rpc: not connected"]), ne = /* @__PURE__ */ new WeakMap();
283
- function re(e) {
284
- ne.set(e, Date.now());
285
- }
286
- function F(e) {
287
- return Date.now() - (ne.get(e) ?? -Infinity) < N;
288
- }
289
- function ie(e) {
290
- return e instanceof Error && e.code === void 0 && e.name === "NoResponders";
291
- }
292
- async function I(e, t, n = {}) {
293
- let r = n.maxRetries ?? ee, i = n.awaitConnect ?? !0, a = n.connectTimeoutMs ?? te, o = n.retryDelayMs ?? L, s = n.shouldRetry, c = n.retryOnTimeout ?? !1, l = n.signal, u = 0, d = z(e, () => u++, { flush: "sync" }), f;
294
- try {
295
- for (let n = 0; n <= r; n++) {
296
- if (l?.aborted) throw V();
297
- let d = e.value;
298
- if (!d) {
299
- if (!i) throw Error("rpc: not connected");
300
- d = await B(e, a, l);
301
- }
302
- let p = u;
303
- try {
304
- return await t(d);
305
- } catch (t) {
306
- if (f = t, n >= r || !(s ? s(t, n) : R(t, d, e, u !== p, c))) throw t;
307
- await ae(o(n), l);
308
- }
309
- }
310
- } finally {
311
- d();
312
- }
313
- throw f ?? /* @__PURE__ */ Error("rpc: max retries exceeded");
314
- }
315
- function L(e) {
316
- return Math.min(100 * 2 ** e, 1e3);
317
- }
318
- function R(e, t, n, r, i) {
319
- if (n.value !== t || t.isConnected === !1 && t.isClosed === !1) return !0;
320
- if (!(e instanceof Error)) return !1;
321
- let a = e.code;
322
- return a === void 0 && P.has(e.message) || ie(e) && F(n) ? !0 : a === "TIMEOUT" && (i || r);
323
- }
324
- function z(e, t, n) {
325
- let r = a(!0);
326
- return r.run(() => c(e, t, n)), () => r.stop();
327
- }
328
- async function B(e, t, n) {
329
- return e.value ? e.value : new Promise((r, i) => {
330
- let a = setTimeout(() => {
331
- s(), n?.removeEventListener("abort", o), i(/* @__PURE__ */ Error("rpc: connect timeout"));
332
- }, t), o = () => {
333
- clearTimeout(a), s(), i(V());
334
- };
335
- n?.addEventListener("abort", o, { once: !0 });
336
- let s = z(e, (e) => {
337
- e && (clearTimeout(a), s(), n?.removeEventListener("abort", o), r(e));
338
- });
339
- });
340
- }
341
- async function ae(e, t) {
342
- return new Promise((n, r) => {
343
- if (t?.aborted) {
344
- r(V());
345
- return;
346
- }
347
- let i = setTimeout(() => {
348
- t?.removeEventListener("abort", a), n();
349
- }, e), a = () => {
350
- clearTimeout(i), r(V());
351
- };
352
- t?.addEventListener("abort", a, { once: !0 });
353
- });
354
- }
355
- function V() {
356
- if (typeof DOMException < "u") return new DOMException("Aborted", "AbortError");
357
- let e = /* @__PURE__ */ Error("Aborted");
358
- return e.name = "AbortError", e;
359
- }
360
- var H = 2e3, oe = 6e4, se = /* @__PURE__ */ new WeakMap(), ce = /* @__PURE__ */ new WeakMap();
361
- function le(e) {
362
- let t = e?.value;
363
- if (!e || !t) return;
364
- let n = se.get(e);
365
- if (!n || n.client !== t) return t;
366
- performance.now() - n.since >= oe && !ce.has(t) && me(e, n);
367
- }
368
- function ue(e, t) {
369
- if (e.value !== t || se.has(e)) return;
370
- let n = z(e, () => he(e), { flush: "sync" });
371
- se.set(e, {
372
- client: t,
373
- since: performance.now(),
374
- stop: n
375
- });
376
- }
377
- function de(e, t) {
378
- e.value !== t || se.has(e) || fe(t).then((n) => {
379
- n || ue(e, t);
380
- });
381
- }
382
- function fe(e) {
383
- let t = ce.get(e);
384
- return t || (t = pe(e), ce.set(e, t), t.then(() => ce.delete(e))), t;
385
- }
386
- async function pe(e) {
387
- try {
388
- return await e.flush(H), !0;
389
- } catch {
390
- return !1;
391
- }
392
- }
393
- function me(e, t) {
394
- fe(t.client).then((n) => {
395
- se.get(e) === t && (n ? he(e) : t.since = performance.now());
396
- });
397
- }
398
- function he(e) {
399
- se.get(e)?.stop(), se.delete(e);
400
- }
401
- var ge = 3e4, U = new m("TabVisibility"), _e = r(typeof document > "u" || document.visibilityState === "visible"), ve = null, ye = /* @__PURE__ */ new Set(), be = /* @__PURE__ */ new Set(), xe = /* @__PURE__ */ new Set(), Se = !1;
402
- function W(e) {
403
- U.debug(`paused listener fired (delay ${e.delayMs}ms reached)`);
404
- try {
405
- e.cb();
406
- } catch (e) {
407
- U.error("onTabPaused listener threw:", e);
408
- }
409
- }
410
- function Ce(e) {
411
- U.debug(`paused listener scheduled in ${e.delayMs}ms`), e.timer = setTimeout(() => {
412
- e.timer = null, _e.value ? U.debug("paused listener skipped — tab visible before delay") : W(e);
413
- }, e.delayMs);
414
- }
415
- function we() {
416
- for (let e of be) e.timer !== null && (clearTimeout(e.timer), e.timer = null);
417
- }
418
- function Te() {
419
- Se || typeof document > "u" || (Se = !0, document.addEventListener("visibilitychange", () => {
420
- let e = document.visibilityState === "visible";
421
- if (!e && _e.value) {
422
- _e.value = !1, ve = Date.now(), U.debug(`tab → hidden (hidden=${ye.size} paused=${be.size})`);
423
- for (let e of ye) try {
424
- e.cb();
425
- } catch (e) {
426
- U.error("onTabHidden listener threw:", e);
427
- }
428
- for (let e of be) e.delayMs <= 0 ? W(e) : Ce(e);
429
- } else if (e && !_e.value) {
430
- we();
431
- let e = ve == null ? 0 : Date.now() - ve;
432
- ve = null, _e.value = !0, U.debug(`tab → visible (hiddenMs=${e}, visible-listeners=${xe.size})`);
433
- for (let { cb: t } of xe) try {
434
- t({ hiddenMs: e });
435
- } catch (e) {
436
- U.error("onTabVisible listener threw:", e);
437
- }
438
- }
439
- }), document.addEventListener("freeze", () => {
440
- for (let e of be) e.timer !== null && (clearTimeout(e.timer), e.timer = null, W(e));
441
- }));
442
- }
443
- function G() {
444
- Te();
445
- let e = s(() => _e.value);
446
- function t(e) {
447
- let t = { cb: e };
448
- ye.add(t);
449
- let n = () => {
450
- ye.delete(t);
451
- };
452
- return p(n), n;
453
- }
454
- function n(e, t = {}) {
455
- let n = {
456
- cb: e,
457
- delayMs: t.delayMs ?? 3e4,
458
- timer: null
459
- };
460
- be.add(n);
461
- let r = () => {
462
- n.timer !== null && (clearTimeout(n.timer), n.timer = null), be.delete(n);
463
- };
464
- return p(r), r;
465
- }
466
- function r(e) {
467
- let t = { cb: e };
468
- xe.add(t);
469
- let n = () => {
470
- xe.delete(t);
471
- };
472
- return p(n), n;
473
- }
474
- return {
475
- isVisible: e,
476
- onTabHidden: t,
477
- onTabPaused: n,
478
- onTabVisible: r
479
- };
480
- }
481
- var Ee = 5e3, De = 6e4, K = /* @__PURE__ */ new Map(), Oe = /* @__PURE__ */ new Map(), ke = /* @__PURE__ */ new Map(), Ae = /* @__PURE__ */ new Map(), je = /* @__PURE__ */ new Map(), q = /* @__PURE__ */ new Map(), Me = /* @__PURE__ */ new Map();
482
- function Ne(e) {
483
- q.get(e)?.forEach((e) => e());
484
- }
485
- function Pe(e, t, n = !1) {
486
- let r = Me.get(t);
487
- if (r) return r;
488
- let i = (async () => {
489
- let r = await st(e, t);
490
- try {
491
- return r ? await r.fetchSnapshot(void 0, n ? !0 : void 0) ?? void 0 : void 0;
492
- } finally {
493
- r && lt(r);
494
- }
495
- })().finally(() => Me.delete(t));
496
- return Me.set(t, i), i;
497
- }
498
- var Fe = /* @__PURE__ */ new WeakSet();
499
- function Ie(e, t) {
500
- Fe.has(e) || (Fe.add(e), e.on("reconnected", () => {
501
- setTimeout(() => {
502
- let e = 0;
503
- for (let n of q.keys()) {
504
- if ((q.get(n)?.size ?? 0) === 0) continue;
505
- let r = n;
506
- setTimeout(() => {
507
- (q.get(r)?.size ?? 0) !== 0 && Pe(t, r).catch(() => void 0);
508
- }, e), e += 150;
509
- }
510
- }, 0);
511
- }));
512
- }
513
- function Le(e, t) {
514
- if (!e || e.mode === "onDemand") return !1;
515
- if (t === void 0) return !0;
516
- let n = (e.mode === "interval" ? e.interval : e.maxAge) * 1e3;
517
- return Date.now() - t > n;
518
- }
519
- function Re(e) {
520
- setTimeout(() => URL.revokeObjectURL(e), Ee);
521
- }
522
- function ze(e, t, n) {
523
- let r = Ae.get(e);
524
- if (n && r) {
525
- let e = r.fetchedAt - n.fetchedAt;
526
- return e > 0 && e <= De;
527
- }
528
- return t !== void 0 && t < (ke.get(e) ?? -Infinity);
529
- }
530
- function Be(e, t, n, r, i) {
531
- if (!ze(e, r, i)) {
532
- if (ke.set(e, r ?? Date.now()), i ? Ae.set(e, i) : Ae.delete(e), K.get(e) !== t) {
533
- let n = je.get(e);
534
- n && (Re(n), je.delete(e)), K.set(e, t);
535
- }
536
- n !== void 0 && Oe.set(e, n), Ne(e);
537
- }
538
- }
539
- function Ve(e) {
540
- return K.get(e);
541
- }
542
- function He(e, t) {
543
- let n = Ae.get(e);
544
- return n?.sourceId === t ? n.fetchedAt : void 0;
545
- }
546
- function Ue(e, t) {
547
- return q.has(e) || q.set(e, /* @__PURE__ */ new Set()), q.get(e).add(t), () => {
548
- q.get(e)?.delete(t);
549
- };
550
- }
551
- function We(e) {
552
- let t = K.get(e);
553
- if (!t) return;
554
- let n = je.get(e);
555
- return n || (n = URL.createObjectURL(new Blob([t], { type: "image/jpeg" })), je.set(e, n)), n;
556
- }
557
- function Ge() {
558
- for (let e of je.values()) URL.revokeObjectURL(e);
559
- je.clear(), K.clear(), Oe.clear(), ke.clear(), Ae.clear();
560
- }
561
- function Ke(e) {
562
- let t = k(), { isConnected: n } = t, a = $e(), { onTabVisible: l } = G(), u = i(), d = r(!1), f = r(!1);
563
- Ie(t, a);
564
- let m = s(() => {
565
- if (!u.value) return;
566
- let t = o(e);
567
- return We(typeof t == "string" ? t : t._id);
568
- }), h = s(() => {
569
- if (!u.value) return;
570
- let t = o(e), n = typeof t == "string" ? t : t._id;
571
- return Oe.get(n);
572
- });
573
- function g(e) {
574
- q.has(e) || q.set(e, /* @__PURE__ */ new Set());
575
- let t = () => {
576
- u.value = K.get(e);
577
- };
578
- return q.get(e).add(t), () => {
579
- q.get(e)?.delete(t);
580
- };
581
- }
582
- let _, v, y, b, x = O(), S = !1;
583
- function C() {
584
- let t = o(e);
585
- return typeof t == "string" ? t : t._id;
586
- }
587
- async function w(e) {
588
- if (v !== e && b !== e) {
589
- b = e;
590
- try {
591
- let t = await st(a, e);
592
- if (!t) return;
593
- if (S || C() !== e || v === e) {
594
- lt(t);
595
- return;
596
- }
597
- D(), v = e, y = t, E();
598
- } catch {
599
- C() === e && T(e);
600
- } finally {
601
- b = void 0;
602
- }
603
- }
604
- }
605
- function T(t) {
606
- S || x.schedule(() => {
607
- n.value && C() === t && !M(o(e)) && w(t).then(() => {
608
- if (v === t) return j(t);
609
- });
610
- });
611
- }
612
- function E() {
613
- x.cancel(), x.reset();
614
- }
615
- function D() {
616
- v && (y && lt(y), v = void 0, y = void 0);
617
- }
618
- function A(e) {
619
- let t = K.get(e);
620
- return t ? (u.value = t, f.value = !0, !0) : !1;
621
- }
622
- async function j(e, t = !1) {
623
- if (n.value && e && (t || !A(e))) {
624
- d.value = !0;
625
- try {
626
- let t = await Pe(a, e);
627
- t && (u.value = K.get(e) ?? t);
628
- } catch {} finally {
629
- d.value = !1, f.value = !0;
630
- }
631
- }
632
- }
633
- function M(e) {
634
- return typeof e == "object" && e?.disabled === !0;
635
- }
636
- async function ee() {
637
- let t = o(e), r = typeof t == "string" ? t : t._id;
638
- if (r && n.value && !M(t)) {
639
- d.value = !0;
640
- try {
641
- let e = await Pe(a, r, !0);
642
- e && (u.value = K.get(r) ?? e);
643
- } catch {} finally {
644
- d.value = !1, f.value = !0;
645
- }
646
- }
647
- }
648
- return c([
649
- n,
650
- () => o(e),
651
- () => M(o(e))
652
- ], async ([e, t, n]) => {
653
- E(), _?.(), _ = void 0;
654
- let r = typeof t == "string" ? t : t._id;
655
- e && r && !n ? (typeof t == "object" && rt(t.name, r), _ = g(r), A(r), await w(r), await j(r)) : r ? (D(), u.value = K.get(r), f.value = !0) : (D(), u.value = void 0);
656
- }, { immediate: !0 }), l(() => {
657
- let e = C();
658
- n.value && y && v === e && Le(y.camera.value.snapshotSettings, Oe.get(e)) && Pe(a, e).catch(() => void 0);
659
- }), p(() => {
660
- S = !0, E(), _?.(), D();
661
- }), {
662
- snapshot: u,
663
- snapshotSrc: m,
664
- snapshotTimestamp: h,
665
- isLoading: s(() => d.value || !f.value),
666
- refresh: ee
667
- };
668
- }
669
- var qe = "not-modified", Je = /* @__PURE__ */ new WeakMap(), Ye = /* @__PURE__ */ new WeakMap();
670
- async function Xe(e, t) {
671
- let n = M.cameraNamespaces(t._id), a = "rpc" in e && "value" in e.rpc ? e : void 0, o = a ? a.rpc : i(e), c = a?.bulkRpc, l, u, d = !1, f, p = !1, m = O(), g = 0, _ = 0, v, y, b = !1, x = i(t), S = r(!1), C = r(!1), w = i(Ve(t._id)), T = r(!1), E = r({}), D = Ue(t._id, () => {
672
- w.value = Ve(t._id);
673
- }), k = s(() => x.value.name), A = s(() => x.value.room), j = s(() => x.value.nativeId), ee = s(() => x.value.disabled), te = s(() => x.value.detectionSettings?.snooze ?? !1), N = s(() => x.value.isCloud), P = s(() => JSON.parse(JSON.stringify(x.value.sources)).map((e) => ({
674
- ...e,
675
- snapshot: async (t) => he(e._id, t),
676
- probeStream: async (t, n = !1) => ye(e._id, t, n)
677
- }))), ne = s(() => P.value.find((e) => e.role === "high-resolution")), re = s(() => P.value.find((e) => e.role === "mid-resolution")), L = s(() => P.value.find((e) => e.role === "low-resolution")), R = s(() => ne.value ?? re.value ?? L.value), z = s(() => P.value.find((e) => e.role === "snapshot") ?? P.value.find((e) => e.useForSnapshot)), B = s(() => {
678
- let e = /* @__PURE__ */ new Set();
679
- for (let t of Object.values(E.value)) e.add(t.type);
680
- return e;
681
- }), ae = s(() => Array.from(B.value)), V = s(() => B.value.has(h.Light)), H = s(() => B.value.has(h.Siren)), oe = s(() => B.value.has(h.Doorbell)), se = s(() => B.value.has(h.Battery)), ce = s(() => B.value.has(h.Audio)), de = s(() => B.value.has(h.Motion)), pe = s(() => B.value.has(h.Object)), me = s(() => B.value.has(h.PTZ));
682
- async function he(e, n) {
683
- T.value = !0;
684
- let r = Date.now();
685
- try {
686
- let i = await ge(e, n);
687
- if (i === qe) return Ve(t._id);
688
- if (i && i.data.byteLength > 0) {
689
- let n = i.stamp === void 0 ? void 0 : {
690
- sourceId: e,
691
- fetchedAt: i.stamp
692
- };
693
- return Be(t._id, i.data, i.fetchedAt, i.fetchedAt ?? r, n), i.data;
694
- }
695
- return;
696
- } finally {
697
- T.value = !1;
698
- }
699
- }
700
- async function ge(e, t) {
701
- let n, r = !1;
702
- try {
703
- return await I(o, async (i) => {
704
- n = U(i, r);
705
- try {
706
- return await _e(n, e, t);
707
- } catch (a) {
708
- if (!c || n === i || a.code !== "TIMEOUT" || await fe(n)) throw a;
709
- return r = !0, ue(c, n), n = i, _e(i, e, t);
710
- }
711
- }, { retryOnTimeout: !t });
712
- } catch (i) {
713
- if (i.code !== "TIMEOUT" || !n || Je.has(n)) throw i;
714
- return I(o, (n) => ve(U(n, r), e, t));
715
- }
716
- }
717
- function U(e, t = !1) {
718
- return t ? e : le(c) ?? e;
719
- }
720
- async function _e(e, r, i) {
721
- let a = Je.get(e);
722
- if (a === !1) return ve(e, r, i);
723
- try {
724
- let a = e.createProxy(n.cameraControllerRpc), o = i ? void 0 : He(t._id, r), s = o === void 0 ? await a.snapshotWithMeta(r, i) : await a.snapshotWithMeta(r, i, o);
725
- return Je.set(e, !0), s?.notModified ? qe : s?.data ? {
726
- data: s.data,
727
- fetchedAt: Date.now() - (s.ageMs ?? 0),
728
- stamp: s.fetchedAt
729
- } : void 0;
730
- } catch (t) {
731
- if (t.code === "METHOD_NOT_FOUND") return Je.set(e, !1), ve(e, r, i);
732
- if (a || !ie(t)) throw t;
733
- }
734
- let s = await ve(e, r, i);
735
- return F(o) || Je.set(e, !1), s;
736
- }
737
- async function ve(e, t, r) {
738
- let i = await e.createProxy(n.cameraControllerRpc).snapshot(t, r);
739
- return i ? {
740
- data: i,
741
- fetchedAt: r ? Date.now() : void 0
742
- } : void 0;
743
- }
744
- async function ye(e, t, r = !1) {
745
- return I(o, (i) => i.createProxy(n.cameraControllerRpc).probeStream(e, t, r), { retryOnTimeout: !r });
746
- }
747
- async function be(e) {
748
- return I(o, (t) => t.createProxy(n.cameraControllerRpc).streamUrl(e));
749
- }
750
- function xe() {
751
- return y = void 0, W();
752
- }
753
- function Se() {
754
- if (y) return y;
755
- if (!v) return W();
756
- let e = g;
757
- return y = v.catch(() => {}).then(() => g === e ? (y = void 0, W()) : v), y;
758
- }
759
- function W() {
760
- let e = Ce(++g).finally(() => {
761
- v === e && (v = void 0);
762
- });
763
- return v = e, e;
764
- }
765
- async function Ce(e) {
766
- let t = await I(o, (e) => e.createProxy(n.cameraControllerRpc).refreshStates());
767
- e < _ || (_ = e, x.value = t.camera, S.value = t.cameraState, C.value = t.frameWorkerState, E.value = t.sensorStates);
768
- }
769
- function we() {
770
- b || d || (b = !0, queueMicrotask(() => {
771
- b = !1, d || Se().catch(() => {});
772
- }));
773
- }
774
- function Te(e) {
775
- if (E.value[e] === void 0) return;
776
- let t = { ...E.value };
777
- delete t[e], E.value = t;
778
- }
779
- async function G(e) {
780
- switch (e.type) {
781
- case "removed":
782
- await Ae();
783
- break;
784
- case "updated":
785
- x.value = e.data;
786
- break;
787
- case "cameraState":
788
- S.value = e.data;
789
- break;
790
- case "frameWorkerState":
791
- C.value = e.data;
792
- break;
793
- case "snapshot:updated": {
794
- let { sourceId: n, snapshot: r, fetchedAt: i } = e.data;
795
- Be(t._id, r, i, void 0, n && i !== void 0 ? {
796
- sourceId: n,
797
- fetchedAt: i
798
- } : void 0);
799
- break;
800
- }
801
- }
802
- }
803
- function Ee(e) {
804
- if (e.type === "sensor:added") {
805
- let n = e.data;
806
- if (!n.sensor.assignedCameraIds.includes(t._id) || !n.sensor.connected) return;
807
- E.value = {
808
- ...E.value,
809
- [n.sensor.id]: n.state
810
- };
811
- } else if (e.type === "sensor:deleted") Te(e.data.sensorId);
812
- else if (e.type === "sensor:connected:changed") {
813
- let n = e.data;
814
- if (n.connected) {
815
- if (n.assignedCameraIds && !n.assignedCameraIds.includes(t._id)) return;
816
- we();
817
- } else Te(n.sensorId);
818
- } else if (e.type === "sensor:assignment:changed") {
819
- let n = e.data;
820
- if (n.cameraId !== t._id) return;
821
- n.assigned ? we() : Te(n.sensorId);
822
- }
823
- }
824
- async function De() {
825
- l?.(), l = void 0, u?.(), u = void 0;
826
- let e = await I(o, (e) => e.subscribe(n.cameraSubject, G));
827
- if (d) {
828
- e();
829
- return;
830
- }
831
- l = e;
832
- let t = await I(o, (e) => Ze(e, Ee));
833
- d ? t() : (u = t, await xe());
834
- }
835
- function K() {
836
- return d ? Promise.resolve() : (m.cancel(), f ? (p = !0, f) : (f = Oe(), f));
837
- }
838
- async function Oe() {
839
- try {
840
- do
841
- p = !1, await De();
842
- while (p && !d);
843
- m.reset();
844
- } catch (e) {
845
- throw ke(), e;
846
- } finally {
847
- f = void 0;
848
- }
849
- }
850
- function ke() {
851
- d || m.schedule(() => {
852
- K().catch(() => {});
853
- });
854
- }
855
- async function Ae() {
856
- d = !0, m.cancel(), l?.(), l = void 0, u?.(), u = void 0, D();
857
- }
858
- async function je(e, t) {
859
- let n = P.value.find((e) => e.useForSnapshot), r = P.value.find((e) => e.role === "snapshot"), i = e ?? r?._id ?? n?._id ?? L.value?._id ?? re.value?._id ?? ne.value?._id ?? R.value?._id;
860
- return i ? he(i, t) : Promise.resolve(void 0);
861
- }
862
- async function q(e, t, n = !1) {
863
- let r = e ?? R.value?._id;
864
- return r ? ye(r, t, n) : Promise.resolve(void 0);
865
- }
866
- try {
867
- await De();
868
- } catch (e) {
869
- throw await Ae(), e;
870
- }
871
- return {
872
- id: t._id,
873
- name: k,
874
- room: A,
875
- nativeId: j,
876
- disabled: ee,
877
- snooze: te,
878
- isCloud: N,
879
- connected: S,
880
- frameWorkerConnected: C,
881
- sources: P,
882
- streamSource: R,
883
- snapshotSource: z,
884
- highResolutionSource: ne,
885
- midResolutionSource: re,
886
- lowResolutionSource: L,
887
- capabilities: ae,
888
- hasLight: V,
889
- hasSiren: H,
890
- hasDoorbell: oe,
891
- hasBattery: se,
892
- hasAudioSensor: ce,
893
- hasMotionSensor: de,
894
- hasObjectSensor: pe,
895
- hasPtz: me,
896
- camera: x,
897
- snapshot: w,
898
- snapshotLoading: T,
899
- fetchSnapshot: je,
900
- probeStream: q,
901
- streamUrl: be,
902
- refreshStates: xe,
903
- reconnect: K,
904
- close: Ae
905
- };
906
- }
907
- async function Ze(e, t) {
908
- let n = Ye.get(e);
909
- if (!n) {
910
- let t = /* @__PURE__ */ new Set(), r = M.sensorRegistryNamespaces().sensorsSubject;
911
- n = {
912
- handlers: t,
913
- subscribed: e.subscribe(r, (e) => {
914
- for (let n of t) try {
915
- n(e);
916
- } catch {}
917
- })
918
- }, Ye.set(e, n);
919
- }
920
- let r = n;
921
- r.handlers.add(t);
922
- try {
923
- await r.subscribed;
924
- } catch (n) {
925
- throw r.handlers.delete(t), Ye.get(e) === r && Ye.delete(e), n;
926
- }
927
- return () => Qe(e, r, t);
928
- }
929
- function Qe(e, t, n) {
930
- !t.handlers.delete(n) || t.handlers.size > 0 || (Ye.get(e) === t && Ye.delete(e), t.subscribed.then((e) => e()).catch(() => {}));
931
- }
932
- function $e() {
933
- let e = k(), t = M.deviceManagerNamespaces();
934
- async function n(n) {
935
- let r = await I(e.rpc, (e) => e.createProxy(t.deviceManagerRpc).getCamera(n, "@camera.ui/browser"));
936
- if (r) return Xe(e, r);
937
- }
938
- return { getCamera: n };
939
- }
940
- var J = T({
941
- releaseDelay: 1e3,
942
- onRelease: (e, t) => t.close()
943
- }), et = /* @__PURE__ */ new Map(), tt = /* @__PURE__ */ new Map();
944
- function nt() {
945
- J.clear(), et.clear(), tt.clear();
946
- }
947
- function rt(e, t) {
948
- e && t && e !== t && tt.set(e, t);
949
- }
950
- function it(e) {
951
- if (J.has(e)) return e;
952
- let t;
953
- return J.forEachValue((n, r) => {
954
- t === void 0 && n.name.value === e && (t = r);
955
- }), t;
956
- }
957
- function at(e) {
958
- let t = et.get(e);
959
- if (t) return t;
960
- for (let [t, n] of tt) {
961
- let r = n === e ? et.get(t) : t === e ? et.get(n) : void 0;
962
- if (r) return r;
963
- }
964
- }
965
- function ot(e) {
966
- let t = it(e);
967
- if (t !== void 0) return J.acquire(t, () => {
968
- throw Error("Should not create - already cached");
969
- });
970
- }
971
- async function st(e, t) {
972
- let n = ot(t);
973
- if (n) return n;
974
- let r = at(t);
975
- if (r) {
976
- let e = await r, n = ot(t);
977
- if (n || !e) return n;
978
- }
979
- let i = e.getCamera(t);
980
- et.set(t, i);
981
- try {
982
- let e = await i;
983
- return e ? ct(e) : void 0;
984
- } finally {
985
- et.get(t) === i && et.delete(t);
986
- }
987
- }
988
- function ct(e) {
989
- let t = J.acquire(e.id, () => e);
990
- return t !== e && e.close(), t;
991
- }
992
- function lt(e) {
993
- J.release(e.id, e);
994
- }
995
- function ut() {
996
- J.forEachValue((e) => {
997
- e.reconnect().catch(() => {});
998
- });
999
- }
1000
- function dt() {
1001
- J.forEachValue((e) => {
1002
- e.refreshStates().catch(() => e.reconnect().catch(() => {}));
1003
- });
1004
- }
1005
- function ft(e) {
1006
- let { isConnected: t } = k(), n = $e(), a = i(), l = r(!1), u = r(!1), d = r(), f, m = O(), h = !1;
1007
- function g(e, t) {
1008
- f = e, a.value = t, d.value = void 0, b();
1009
- }
1010
- function _() {
1011
- a.value && lt(a.value), a.value = void 0, f = void 0;
1012
- }
1013
- function v(e, t) {
1014
- d.value = t instanceof Error ? t : Error(String(t)), y(e);
1015
- }
1016
- function y(n) {
1017
- h || m.schedule(() => {
1018
- t.value && o(e) === n && f !== n && x(n, !0).catch(() => {});
1019
- });
1020
- }
1021
- function b() {
1022
- m.cancel(), m.reset();
1023
- }
1024
- async function x(r, i = !1) {
1025
- if (h || !t.value || !r) return;
1026
- if (f !== void 0 && f !== r) {
1027
- if (a.value && (a.value.id === r || a.value.name.value === r)) {
1028
- f = r;
1029
- return;
1030
- }
1031
- _();
1032
- }
1033
- if (a.value) return;
1034
- let s = ot(r);
1035
- if (s) g(r, s), u.value = !0;
1036
- else {
1037
- i || (l.value = !0, d.value = void 0);
1038
- try {
1039
- let t = await st(n, r);
1040
- if (!t) return;
1041
- if (h || o(e) !== r || a.value) {
1042
- lt(t);
1043
- return;
1044
- }
1045
- g(r, t);
1046
- } catch (e) {
1047
- v(r, e);
1048
- } finally {
1049
- l.value = !1, u.value = !0;
1050
- }
1051
- }
1052
- }
1053
- async function S() {
1054
- let t = o(e);
1055
- if (!t) return;
1056
- let n = a.value;
1057
- n && (J.get(n.id) === n && J.getRefCount(n.id) <= 1 ? J.forceRelease(n.id) : lt(n), a.value = void 0, f = void 0), await x(t);
1058
- }
1059
- return c([t, () => o(e)], async ([e, t]) => {
1060
- b(), e && t ? await x(t) : !e && f !== void 0 && _();
1061
- }, { immediate: !0 }), p(() => {
1062
- h = !0, b(), _();
1063
- }), {
1064
- camera: a,
1065
- isLoading: s(() => l.value || !u.value),
1066
- error: d,
1067
- refresh: S
1068
- };
1069
- }
1070
- var pt = /* @__PURE__ */ new Map(), mt = /* @__PURE__ */ new Map(), ht = /* @__PURE__ */ new Map();
1071
- function gt() {
1072
- pt.clear(), mt.clear();
1073
- }
1074
- function _t(e) {
1075
- return mt.get(e);
1076
- }
1077
- function vt(e) {
1078
- pt.delete(e);
1079
- }
1080
- async function yt(e, t) {
1081
- let n = pt.get(t);
1082
- if (n) return n;
1083
- let r = ht.get(t);
1084
- if (r) return r;
1085
- let i = (async () => {
1086
- let n = M.coreManagerNamespaces(), r = await I(e, (e) => e.createProxy(n.coreManagerRpc).getPlugin(t));
1087
- if (r) return pt.set(t, r.id), mt.set(r.id, t), r.id;
1088
- })().finally(() => ht.delete(t));
1089
- return ht.set(t, i), i;
1090
- }
1091
- var bt = 1500, xt = 3e4, St = /* @__PURE__ */ new Map();
1092
- function Ct() {
1093
- for (let e of St.values()) e.stop();
1094
- St.clear();
1095
- }
1096
- function wt(e) {
1097
- let t = k(), n = r({ status: "disconnected" }), i = r(null), a, o = 0, s = 0, c = !1, l = 0, u = 0;
1098
- function d(e, t) {
1099
- return e.createProxy(M.pluginNamespaces(t).pluginChildRpc);
1100
- }
1101
- let f = (n) => I(t.rpc, async (r) => {
1102
- let i = await yt(t.rpc, e);
1103
- if (!i) throw Error(`Plugin "${e}" not found`);
1104
- try {
1105
- return await n(d(r, i));
1106
- } catch (a) {
1107
- if (!w(a)) throw a;
1108
- vt(e);
1109
- let o = await yt(t.rpc, e);
1110
- if (!o || o === i) throw a;
1111
- return n(d(r, o));
1112
- }
1113
- });
1114
- function p(e, t = ++l) {
1115
- t < u || (u = t, n.value = e, g());
1116
- }
1117
- async function m() {
1118
- let e = ++l;
1119
- p(await f((e) => e.getOAuthState()), e), i.value ||= await f((e) => e.getOAuthMetadata());
1120
- }
1121
- function h() {
1122
- c || (c = !0, m().catch(() => void 0).finally(() => {
1123
- c = !1;
1124
- }));
1125
- }
1126
- function g() {
1127
- let { status: e } = n.value, t = s === 0 ? 0 : e === "awaiting_user" || e === "polling" ? bt : xt;
1128
- t !== o && (clearInterval(a), a = t ? setInterval(h, t) : void 0, o = t);
1129
- }
1130
- function _() {
1131
- s++ > 0 || (g(), h());
1132
- }
1133
- function v() {
1134
- s !== 0 && (s--, g());
1135
- }
1136
- function y() {
1137
- s = 0, g();
1138
- }
1139
- return {
1140
- state: n,
1141
- metadata: i,
1142
- call: f,
1143
- refresh: m,
1144
- apply: p,
1145
- retain: _,
1146
- release: v,
1147
- stop: y
1148
- };
1149
- }
1150
- function Tt(e) {
1151
- St.has(e) || St.set(e, wt(e));
1152
- let t = St.get(e), { state: n, metadata: r, call: i, refresh: a, apply: o } = t;
1153
- t.retain(), p(t.release);
1154
- async function s(e) {
1155
- o(await i((t) => t.startDeviceFlow(e)));
1156
- }
1157
- async function c(e) {
1158
- o(await i((t) => t.startAuthCodeFlow(e)));
1159
- }
1160
- async function l() {
1161
- (n.value.status === "awaiting_user" || n.value.status === "polling") && await i((e) => e.cancelDeviceFlow?.() ?? e.cancelAuthCodeFlow?.() ?? Promise.resolve()), await a();
1162
- }
1163
- async function u() {
1164
- await i((e) => e.disconnect()), await a();
1165
- }
1166
- return {
1167
- state: n,
1168
- metadata: r,
1169
- startDeviceFlow: s,
1170
- startAuthCodeFlow: c,
1171
- cancel: l,
1172
- disconnect: u,
1173
- refresh: a
1174
- };
1175
- }
1176
- var Et = 2e3, Dt = 3e4, Y = T({ releaseDelay: 1e3 }), Ot = /* @__PURE__ */ new Map(), kt = /* @__PURE__ */ new Map(), At = /* @__PURE__ */ new Set(), jt = /* @__PURE__ */ new Set(), Mt = /* @__PURE__ */ new Map(), Nt = /* @__PURE__ */ new Map(), Pt = /* @__PURE__ */ new Map(), Ft = /* @__PURE__ */ new Map(), It, Lt;
1177
- function Rt() {
1178
- Y.clear(), Ot.clear(), kt.clear(), Wt();
1179
- for (let e of At) try {
1180
- e();
1181
- } catch {}
1182
- }
1183
- function zt(e) {
1184
- for (let t of [...Nt.get(e) ?? []]) t();
1185
- }
1186
- function Bt(e) {
1187
- let t = Pt.get(e);
1188
- t && clearTimeout(t), Pt.delete(e), Ft.delete(e);
1189
- }
1190
- function Vt(e) {
1191
- if (Pt.has(e)) return;
1192
- let t = Ft.get(e) ?? 0;
1193
- Ft.set(e, t + 1);
1194
- let n = setTimeout(() => {
1195
- Pt.delete(e), zt(e);
1196
- }, Math.min(Et * 2 ** t, Dt));
1197
- Pt.set(e, n);
1198
- }
1199
- function Ht(e) {
1200
- return jt.add(e), () => {
1201
- jt.delete(e);
1202
- };
1203
- }
1204
- function Ut(e) {
1205
- return Mt.get(e) === !1;
1206
- }
1207
- function Wt() {
1208
- Mt.clear();
1209
- }
1210
- function Gt(e, t, n = !t) {
1211
- Mt.set(e, t), n && (Y.forceRelease(e), vt(e)), Bt(e), zt(e);
1212
- for (let n of [...jt]) try {
1213
- n(e, t);
1214
- } catch {}
1215
- }
1216
- function Kt(e) {
1217
- e?.type === "pluginStatusChanged" && Gt(e.data.pluginName, e.data.running);
1218
- }
1219
- function qt(e, t) {
1220
- let n = Y.get(e);
1221
- if (!n || kt.has(e)) return;
1222
- let r = I(t, (t) => t.createProxy(M.coreManagerNamespaces().coreManagerRpc).getPlugin(e)).then((t) => {
1223
- let r = t;
1224
- if (Y.get(e) !== n) return;
1225
- let i = !!r && r.running !== !1, a = i && M.pluginNamespaces(r.id).pluginChildRpc !== n.namespace;
1226
- (!i || a) && Gt(e, i, !0);
1227
- }).catch(() => {}).finally(() => {
1228
- kt.get(e) === r && kt.delete(e);
1229
- });
1230
- kt.set(e, r);
1231
- }
1232
- function Jt(e, t, n) {
1233
- let r = /* @__PURE__ */ new WeakMap();
1234
- return new Proxy(t, { get(i, a) {
1235
- let o = le(n);
1236
- if (!o) return Reflect.get(t, a);
1237
- let s = r.get(o);
1238
- s || (s = o.createProxy(e), r.set(o, s));
1239
- let c = Reflect.get(s, a);
1240
- return typeof c == "function" ? Yt(c, n, o) : c;
1241
- } });
1242
- }
1243
- function Yt(e, t, n) {
1244
- return new Proxy(e, { apply(e, r, i) {
1245
- let a = Reflect.apply(e, r, i);
1246
- return a instanceof Promise ? a.catch((e) => {
1247
- throw e?.code === "TIMEOUT" && de(t, n), e;
1248
- }) : a;
1249
- } });
1250
- }
1251
- async function Xt(e) {
1252
- let t = e.value;
1253
- if (t && t !== It) {
1254
- Lt?.(), Lt = void 0, It = t;
1255
- try {
1256
- Lt = await t.subscribe(M.coreManagerNamespaces().coreManagerSubject, Kt);
1257
- } catch {
1258
- It = void 0;
1259
- }
1260
- }
1261
- }
1262
- function Zt(e, t = {}) {
1263
- let n = k(), { rpc: a, bulkRpc: l, isConnected: u } = n, d = t.lane === "bulk" ? l : void 0, f = i(), m = r(), h = r(!1), g = r(!1), _ = r(), v, y, b;
1264
- function x(e) {
1265
- if (Y.has(e)) return Y.acquire(e, () => {
1266
- throw Error("Should not create - already cached");
1267
- });
1268
- }
1269
- function S(e) {
1270
- Y.release(e, y), y = void 0;
1271
- }
1272
- function C(e) {
1273
- if (b === e) return;
1274
- b && w(b);
1275
- let t = Nt.get(e) ?? /* @__PURE__ */ new Set();
1276
- t.add(T), Nt.set(e, t), b = e;
1277
- }
1278
- function w(e) {
1279
- let t = Nt.get(e);
1280
- t && (t.delete(T), t.size === 0 && (Nt.delete(e), Bt(e))), b === e && (b = void 0);
1281
- }
1282
- function T() {
1283
- let t = o(e);
1284
- t && O(t, !0);
1285
- }
1286
- function E(e) {
1287
- v &&= (S(v), void 0), f.value = void 0, m.value = void 0, Vt(e);
1288
- }
1289
- function D(e, t) {
1290
- v = e, y = t, d && (t.bulkProxy ??= Jt(t.namespace, t.proxy, d)), f.value = d ? t.bulkProxy : t.proxy, m.value = t.contract, _.value = void 0, Bt(e);
1291
- }
1292
- async function O(t, n = !1) {
1293
- if (!u.value || !t) return;
1294
- if (v && v !== t && (w(v), S(v), f.value = void 0, m.value = void 0, v = void 0), C(t), Xt(a), v === t && Y.get(t) !== y) v = void 0, y = void 0, f.value = void 0, m.value = void 0;
1295
- else if (v === t && f.value) return;
1296
- let r = x(t);
1297
- if (r) {
1298
- D(t, r), g.value = !0;
1299
- return;
1300
- }
1301
- let i = Ot.get(t);
1302
- if (i) {
1303
- n || (h.value = !0);
1304
- try {
1305
- let n = await i;
1306
- if (o(e) !== t) return;
1307
- if (n) {
1308
- let e = x(t);
1309
- e && D(t, e);
1310
- } else E(t);
1311
- } catch (e) {
1312
- n || (_.value = e instanceof Error ? e : Error(String(e))), E(t);
1313
- } finally {
1314
- n || (h.value = !1), g.value = !0;
1315
- }
1316
- return;
1317
- }
1318
- n || (h.value = !0, _.value = void 0);
1319
- let s = I(a, async (e) => {
1320
- let n = M.coreManagerNamespaces(), r = await e.createProxy(n.coreManagerRpc).getPlugin(t);
1321
- if (!r) throw Error(`Plugin "${t}" not found`);
1322
- if (r.running === !1) return;
1323
- let i = M.pluginNamespaces(r.id).pluginChildRpc;
1324
- return {
1325
- proxy: e.createProxy(i),
1326
- contract: r.contract,
1327
- namespace: i,
1328
- client: e
1329
- };
1330
- });
1331
- Ot.set(t, s);
1332
- try {
1333
- let n = await s;
1334
- if (Mt.set(t, !!n), n) {
1335
- let r = Y.acquire(t, () => n);
1336
- if (o(e) !== t) {
1337
- Y.release(t, r);
1338
- return;
1339
- }
1340
- D(t, r);
1341
- } else o(e) === t && E(t);
1342
- } catch (e) {
1343
- n || (_.value = e instanceof Error ? e : Error(String(e))), E(t);
1344
- } finally {
1345
- Ot.delete(t), n || (h.value = !1), g.value = !0;
1346
- }
1347
- }
1348
- async function A() {
1349
- let t = o(e);
1350
- t && (v &&= (Y.get(v) === y && Y.getRefCount(v) <= 1 ? (Y.forceRelease(v), y = void 0) : S(v), f.value = void 0, m.value = void 0, void 0), await O(t));
1351
- }
1352
- let j = () => {
1353
- v && (f.value = void 0, m.value = void 0, v = void 0, y = void 0);
1354
- };
1355
- At.add(j);
1356
- function ee() {
1357
- v && qt(v, a);
1358
- }
1359
- return n.on("reconnected", ee), c([
1360
- u,
1361
- () => o(e),
1362
- a
1363
- ], async ([e, t, n]) => {
1364
- let r = !!v && t !== v;
1365
- v && (r || n && y && y.client !== n) && (r && w(v), S(v), f.value = void 0, m.value = void 0, v = void 0), e && t && n ? await O(t) : !e && v && (w(v), S(v), f.value = void 0, m.value = void 0, v = void 0);
1366
- }, { immediate: !0 }), p(() => {
1367
- At.delete(j), n.off("reconnected", ee), w(o(e)), v &&= (w(v), S(v), f.value = void 0, m.value = void 0, void 0);
1368
- }), {
1369
- plugin: f,
1370
- contract: m,
1371
- isLoading: s(() => h.value || !g.value),
1372
- error: _,
1373
- refresh: A
1374
- };
1375
- }
1376
- function Qt(e) {
1377
- if (e) return typeof e == "string" ? e : e.id;
1378
- }
1379
- function X(e) {
1380
- return (t) => t.type === e;
1381
- }
1382
- var $t = X(h.Light), en = X(h.Siren), tn = X(h.Battery), nn = X(h.Doorbell), rn = X(h.Contact);
1383
- h.Motion, h.Object, h.Audio, h.Face, h.LicensePlate, h.Classifier, h.PTZ;
1384
- var an = X(h.Switch), on = X(h.Lock), sn = X(h.SecuritySystem), cn = X(h.Temperature), ln = X(h.Humidity), un = X(h.Occupancy), dn = X(h.Smoke), fn = X(h.Leak);
1385
- h.Gas, h.CarbonMonoxide, h.Heat, h.Cold, h.Vibration, h.Tamper, h.Problem, h.Power, h.Illuminance, h.CarbonDioxide;
1386
- var pn = X(h.Garage);
1387
- function mn(e, t) {
1388
- return e.length === t.length && e.every((e, n) => e === t[n]);
1389
- }
1390
- function hn(e, t) {
1391
- return e.type === t.type && e.name === t.name && e.pluginId === t.pluginId && e.nativeId === t.nativeId && e.boundCameraId === t.boundCameraId;
1392
- }
1393
- function gn(t, n, i) {
1394
- let a = r(n.displayName ?? t.displayName ?? t.name), o = r(n.capabilities ?? t.capabilities ?? []), s = r([...t.assignedCameraIds]), c = r(t.exposed), l = r(t.connected), u = e({ ...n.properties }), d = [];
1395
- function f() {
1396
- for (let e of d) e(o.value);
1397
- }
1398
- return {
1399
- id: t.id,
1400
- type: t.type,
1401
- name: t.name,
1402
- displayName: a,
1403
- nativeId: t.nativeId,
1404
- pluginId: t.pluginId,
1405
- boundCameraId: t.boundCameraId,
1406
- assignedCameraIds: s,
1407
- exposed: c,
1408
- connected: l,
1409
- capabilities: o,
1410
- properties: u,
1411
- getProperty(e) {
1412
- return u[e];
1413
- },
1414
- async setProperty(e, n) {
1415
- let r = `plugin.${t.pluginId}.sensor.${t.id}.rpc`;
1416
- await I(i, (t) => t.createProxy(r).updateValue(e, n));
1417
- },
1418
- async setDisplayName(e) {
1419
- let n = M.sensorRegistryNamespaces();
1420
- await I(i, (r) => r.createProxy(n.sensorsRpc).setDisplayName(t.id, e));
1421
- },
1422
- hasCapability(e) {
1423
- return o.value.includes(e);
1424
- },
1425
- onCapabilitiesChanged(e) {
1426
- return d.push(e), () => {
1427
- let t = d.indexOf(e);
1428
- t !== -1 && d.splice(t, 1);
1429
- };
1430
- },
1431
- _notifyCapabilitiesChanged: f,
1432
- _update(e, t) {
1433
- a.value = t.displayName ?? e.displayName ?? e.name, mn(s.value, e.assignedCameraIds) || (s.value = [...e.assignedCameraIds]), c.value = e.exposed, l.value = e.connected;
1434
- let n = t.properties ?? {};
1435
- for (let e of Object.keys(u)) e in n || delete u[e];
1436
- Object.assign(u, n);
1437
- let r = t.capabilities ?? e.capabilities ?? [];
1438
- mn(o.value, r) || (o.value = r, f());
1439
- }
1440
- };
1441
- }
1442
- var _n = 1e3, vn = "all";
1443
- function yn(e) {
1444
- return `camera:${e}`;
1445
- }
1446
- function bn(e) {
1447
- return `sensor:${e}`;
1448
- }
1449
- function xn(e) {
1450
- let { sensorsSubject: t, sensorsRpc: n } = M.sensorRegistryNamespaces(), a = "rpc" in e && "value" in e.rpc ? e : void 0, o = a ? a.rpc : i(e), c = i(/* @__PURE__ */ new Map()), l, u = /* @__PURE__ */ new Map(), d = /* @__PURE__ */ new Set(), f = /* @__PURE__ */ new Map(), p = /* @__PURE__ */ new Set(), m, h = /* @__PURE__ */ new Set(), g = O(), _ = /* @__PURE__ */ new Set(), v = /* @__PURE__ */ new Map(), y = /* @__PURE__ */ new Map(), b = 0, x = r(!1), S, C = 0, w = O();
1451
- function T(e, t) {
1452
- let n = c.value.get(e);
1453
- if (n) {
1454
- if (f.get(e)?.add(t.type === "property:changed" ? t.data.property : t.type), t.type === "property:changed") {
1455
- let e = t.data;
1456
- n.properties[e.property] = e.value;
1457
- } else if (t.type === "sensor:displayName:changed") {
1458
- let e = t.data;
1459
- n.displayName.value = e.displayName;
1460
- } else if (t.type === "sensor:capabilities:changed") {
1461
- let e = t.data;
1462
- n.capabilities.value = e.capabilities, n._notifyCapabilitiesChanged();
1463
- }
1464
- }
1465
- }
1466
- function E(e) {
1467
- if (v.has(vn) || v.has(bn(e.id))) return !0;
1468
- let t = e.assignedCameraIds.value;
1469
- return t.length === 0 || t.some((e) => v.has(yn(e)));
1470
- }
1471
- function D(e, t) {
1472
- if (!(u.has(e.id) || d.has(e.id))) {
1473
- if (t) for (let t of Object.keys(e.properties)) delete e.properties[t];
1474
- k(e.id, P(e.id).catch(() => void 0));
1475
- }
1476
- }
1477
- function k(e, t) {
1478
- let n = /* @__PURE__ */ new Set();
1479
- if (f.set(e, n), !m) {
1480
- let e = [];
1481
- m = e;
1482
- let t = Promise.resolve().then(() => (m = void 0, A(e))).catch(() => {}).finally(() => p.delete(t));
1483
- p.add(t);
1484
- }
1485
- m.push({
1486
- sensorId: e,
1487
- changed: n,
1488
- subscribed: t
1489
- });
1490
- }
1491
- async function A(e) {
1492
- let t = await Promise.all(e.map((e) => e.subscribed)), r = e.flatMap((e, n) => {
1493
- let r = t[n];
1494
- return r && u.get(e.sensorId) === r ? [{
1495
- ...e,
1496
- unsubscribe: r
1497
- }] : [];
1498
- }), i;
1499
- if (r.length > 0) try {
1500
- i = await I(o, (e) => e.createProxy(n).getSensorStates()), g.reset();
1501
- } catch {
1502
- i = void 0;
1503
- }
1504
- for (let { sensorId: e, unsubscribe: t, changed: n } of r) j(e, t, n, i);
1505
- for (let { sensorId: t, changed: n } of e) f.get(t) === n && f.delete(t);
1506
- }
1507
- function j(e, t, n, r) {
1508
- let i = c.value.get(e);
1509
- if (!i || u.get(e) !== t) return;
1510
- let a = r?.[e];
1511
- if (!a) {
1512
- r && !i.connected.value ? _.add(e) : ee(e);
1513
- return;
1514
- }
1515
- for (let [e, t] of Object.entries(a.properties ?? {})) n.has(e) || (i.properties[e] = t);
1516
- a.displayName !== void 0 && !n.has("sensor:displayName:changed") && (i.displayName.value = a.displayName);
1517
- let o = i.capabilities.value, s = a.capabilities ?? o;
1518
- !n.has("sensor:capabilities:changed") && !mn(s, o) && (i.capabilities.value = s, i._notifyCapabilitiesChanged());
1519
- }
1520
- function ee(e) {
1521
- h.add(e), g.schedule(() => {
1522
- let e = [...h];
1523
- h.clear();
1524
- for (let t of e) te(t);
1525
- });
1526
- }
1527
- function te(e) {
1528
- let t = u.get(e);
1529
- t && k(e, Promise.resolve(t));
1530
- }
1531
- function N() {
1532
- return Promise.all(p).then(() => {});
1533
- }
1534
- async function P(e) {
1535
- let t = b, n = M.sensorEventNamespaces(e);
1536
- d.add(e);
1537
- let r;
1538
- try {
1539
- r = await I(o, (t) => t.subscribe(n.sensorSubject, (t) => T(e, t)));
1540
- } finally {
1541
- t === b && d.delete(e);
1542
- }
1543
- let i = c.value.get(e);
1544
- if (t !== b || !i || !E(i)) r();
1545
- else return u.set(e, r), r;
1546
- }
1547
- function ne(e, t) {
1548
- x.value && (E(e) ? D(e, t) : L(e.id));
1549
- }
1550
- function re() {
1551
- for (let e of c.value.values()) ne(e, !0);
1552
- }
1553
- function F(e) {
1554
- clearTimeout(y.get(e)), y.delete(e);
1555
- let t = v.has(e);
1556
- v.set(e, (v.get(e) ?? 0) + 1), t || re();
1557
- }
1558
- function ie(e) {
1559
- let t = v.get(e);
1560
- t && (v.set(e, t - 1), !(t > 1) && y.set(e, setTimeout(() => {
1561
- y.delete(e), v.delete(e), re();
1562
- }, _n)));
1563
- }
1564
- function L(e) {
1565
- let t = u.get(e);
1566
- t && (t(), u.delete(e)), h.delete(e), _.delete(e);
1567
- }
1568
- function R(e) {
1569
- if (e.type === "sensor:added") {
1570
- let t = e.data;
1571
- if (c.value.has(t.sensor.id)) return;
1572
- let n = gn(t.sensor, t.state, o), r = new Map(c.value);
1573
- r.set(t.sensor.id, n), c.value = r, ne(n, !1);
1574
- } else if (e.type === "sensor:deleted") {
1575
- let t = e.data;
1576
- L(t.sensorId);
1577
- let n = new Map(c.value);
1578
- n.delete(t.sensorId), c.value = n;
1579
- } else if (e.type === "sensor:connected:changed") {
1580
- let t = e.data, n = c.value.get(t.sensorId);
1581
- if (!n) return;
1582
- n.connected.value = t.connected, t.connected && _.delete(n.id) && te(n.id);
1583
- } else if (e.type === "sensor:assignment:changed") {
1584
- let t = e.data, n = c.value.get(t.sensorId);
1585
- if (!n) return;
1586
- let r = new Set(n.assignedCameraIds.value);
1587
- t.assigned ? r.add(t.cameraId) : r.delete(t.cameraId), n.assignedCameraIds.value = [...r], ne(n, !0);
1588
- } else if (e.type === "sensor:exposed:changed") {
1589
- let t = e.data, n = c.value.get(t.sensorId);
1590
- n && (n.exposed.value = t.exposed);
1591
- }
1592
- }
1593
- function z() {
1594
- l?.(), l = void 0;
1595
- for (let e of u.values()) e();
1596
- u.clear(), b++, d.clear(), f.clear(), h.clear(), _.clear(), g.cancel(), g.reset();
1597
- }
1598
- function B(e) {
1599
- if (e !== C) throw Error("sensor manager closed");
1600
- }
1601
- function ae() {
1602
- w.schedule(() => {
1603
- !x.value && !S && H().catch(() => {});
1604
- });
1605
- }
1606
- async function V(e) {
1607
- B(e), z();
1608
- let r = c.value, i = [];
1609
- try {
1610
- l = await I(o, (e) => e.subscribe(t, (e) => {
1611
- i ? i.push(e) : R(e);
1612
- })), B(e);
1613
- let [a, s] = await I(o, async (e) => {
1614
- let t = e.createProxy(n);
1615
- return Promise.all([t.getSensors(), t.getSensorStates()]);
1616
- });
1617
- B(e);
1618
- let u = /* @__PURE__ */ new Map();
1619
- for (let e of a) {
1620
- let t = s[e.id] ?? {
1621
- properties: {},
1622
- capabilities: [],
1623
- type: e.type
1624
- }, n = r.get(e.id);
1625
- n && hn(n, e) ? (n._update(e, t), u.set(e.id, n)) : u.set(e.id, gn(e, t, o));
1626
- }
1627
- c.value = u;
1628
- for (let t of u.values()) E(t) && (await P(t.id), B(e));
1629
- } catch (t) {
1630
- throw z(), e === C && (c.value = r, ae()), t;
1631
- }
1632
- let a = i;
1633
- i = void 0;
1634
- for (let e of a) R(e);
1635
- w.reset(), x.value = !0, re();
1636
- }
1637
- function H() {
1638
- let e = V(C).finally(() => {
1639
- S === e && (S = void 0);
1640
- });
1641
- return S = e, e;
1642
- }
1643
- async function oe() {
1644
- if (!x.value) return S || H(), S;
1645
- }
1646
- async function se() {
1647
- if (x.value = !1, S) {
1648
- let e = S, t = C, n = e.catch(() => {}).then(() => V(t)).finally(() => {
1649
- S === n && (S = void 0);
1650
- });
1651
- return S = n, n;
1652
- }
1653
- return H();
1654
- }
1655
- function ce() {
1656
- C++, w.cancel(), z(), c.value = /* @__PURE__ */ new Map(), x.value = !1, S = void 0;
1657
- }
1658
- let le = s(() => Array.from(c.value.values()));
1659
- return {
1660
- sensors: le,
1661
- isInitialized: s(() => x.value),
1662
- getSensor(e) {
1663
- return c.value.get(e);
1664
- },
1665
- getSensorsByType(e) {
1666
- return le.value.filter((t) => t.type === e);
1667
- },
1668
- hasSensorType(e) {
1669
- return le.value.some((t) => t.type === e);
1670
- },
1671
- async setDisplayName(e, t) {
1672
- await I(o, (r) => r.createProxy(n).setDisplayName(e, t));
1673
- },
1674
- ensureInitialized: oe,
1675
- reconnect: se,
1676
- close: ce,
1677
- retainLive: F,
1678
- releaseLive: ie,
1679
- whenRefreshed: N
1680
- };
1681
- }
1682
- var Sn = T({
1683
- releaseDelay: 1e3,
1684
- onRelease: (e, t) => t.manager.close()
1685
- });
1686
- function Cn() {
1687
- Sn.clear();
1688
- }
1689
- function wn() {
1690
- Sn.forEachValue((e) => {
1691
- e.manager.reconnect().catch(() => {});
1692
- });
1693
- }
1694
- var Tn = "sensors";
1695
- function En(e) {
1696
- return Sn.acquire(Tn, () => ({ manager: xn(e) }));
1697
- }
1698
- function Dn(e) {
1699
- let t = Sn.get(Tn);
1700
- !t || e && t.manager !== e || Sn.release(Tn, t);
1701
- }
1702
- function On() {
1703
- return {
1704
- acquired: !1,
1705
- cachedManager: void 0,
1706
- liveScope: void 0
1707
- };
1708
- }
1709
- function kn(e, t) {
1710
- return e.sensors.value.filter((e) => e.assignedCameraIds.value.includes(t));
1711
- }
1712
- async function An(e, t, n, r, i, a) {
1713
- if (n) {
1714
- r.value = !0, i.value = void 0;
1715
- try {
1716
- Mn(e) || (e.cachedManager = En(t).manager, e.acquired = !0, e.liveScope = void 0), Nn(e, a), await e.cachedManager?.ensureInitialized(), await e.cachedManager?.whenRefreshed();
1717
- } catch (e) {
1718
- i.value = e instanceof Error ? e : Error(String(e));
1719
- } finally {
1720
- r.value = !1;
1721
- }
1722
- return e.cachedManager;
1723
- }
1724
- }
1725
- function jn(e, t) {
1726
- c(() => e.value?.isInitialized.value, (e) => {
1727
- e && (t.value = void 0);
1728
- });
1729
- }
1730
- function Mn(e) {
1731
- return e.acquired && Sn.get(Tn)?.manager === e.cachedManager;
1732
- }
1733
- function Nn(e, t) {
1734
- e.liveScope !== t && (e.cachedManager?.retainLive(t), e.liveScope && e.cachedManager?.releaseLive(e.liveScope), e.liveScope = t);
1735
- }
1736
- function Pn(e) {
1737
- Mn(e) && (e.liveScope && e.cachedManager?.releaseLive(e.liveScope), Dn(e.cachedManager)), e.acquired = !1, e.cachedManager = void 0, e.liveScope = void 0;
1738
- }
1739
- function Fn(e) {
1740
- let t = k(), { isConnected: n } = t, a = i([]), l = i(), u = r(!1), d = r(!1), f = r(), m = On();
1741
- c([n, () => Qt(o(e))], async ([e, n]) => {
1742
- if (e && n) {
1743
- let r = await An(m, t, e, u, f, yn(n));
1744
- l.value = r, a.value = r ? kn(r, n) : [], d.value = !0;
1745
- } else Pn(m), a.value = [], l.value = void 0;
1746
- }, { immediate: !0 });
1747
- let h = s(() => {
1748
- if (!l.value) return [];
1749
- let t = Qt(o(e));
1750
- return t ? kn(l.value, t) : [];
1751
- });
1752
- return jn(l, f), p(() => {
1753
- Pn(m), a.value = [];
1754
- }), {
1755
- sensors: h,
1756
- isLoading: s(() => u.value || !d.value),
1757
- error: f
1758
- };
1759
- }
1760
- function In() {
1761
- let e = k(), { isConnected: t } = e, n = i(), a = r(!1), o = r(!1), l = r(), u = On();
1762
- c([t], async ([t]) => {
1763
- t ? (n.value = await An(u, e, t, a, l, vn), o.value = !0) : (Pn(u), n.value = void 0);
1764
- }, { immediate: !0 });
1765
- let d = s(() => n.value?.sensors.value ?? []);
1766
- return jn(n, l), p(() => {
1767
- Pn(u);
1768
- }), {
1769
- sensors: d,
1770
- isLoading: s(() => a.value || !o.value),
1771
- error: l
1772
- };
1773
- }
1774
- function Ln(e, t, n) {
1775
- let r = e.filter((e) => e.type === t);
1776
- if (n) {
1777
- let e = r.find((e) => e.pluginId === n);
1778
- if (e) return e;
1779
- }
1780
- return r[0];
1781
- }
1782
- function Rn(e, t, n) {
1783
- let a = k(), { isConnected: l } = a, u = i(), d = i(), f = r(!1), m = r(!1), h = r(), g = On();
1784
- function _() {
1785
- let r = Qt(o(e));
1786
- if (d.value && r) return Ln(kn(d.value, r), t, o(n));
1787
- }
1788
- return c([
1789
- l,
1790
- () => Qt(o(e)),
1791
- () => o(n)
1792
- ], async ([e, t]) => {
1793
- e && t ? (d.value = await An(g, a, e, f, h, yn(t)), u.value = _(), m.value = !0) : (Pn(g), d.value = void 0, u.value = void 0);
1794
- }, { immediate: !0 }), c(_, (e) => {
1795
- u.value = e;
1796
- }), jn(d, h), p(() => {
1797
- Pn(g), u.value = void 0;
1798
- }), {
1799
- sensor: u,
1800
- isLoading: s(() => f.value || !m.value),
1801
- error: h
1802
- };
1803
- }
1804
- function zn(e, t) {
1805
- return Rn(e, h.Motion, t);
1806
- }
1807
- function Bn(e, t) {
1808
- return Rn(e, h.Object, t);
1809
- }
1810
- function Vn(e, t) {
1811
- return Rn(e, h.Face, t);
1812
- }
1813
- function Hn(e, t) {
1814
- return Rn(e, h.LicensePlate, t);
1815
- }
1816
- function Un(e) {
1817
- return Rn(e, h.PTZ);
1818
- }
1819
- function Wn(e) {
1820
- let t = k(), { isConnected: n } = t, a = i([]), l = i(), u = r(!1), d = r(!1), f = r(), m = On();
1821
- c([n, () => Qt(o(e))], async ([e, n]) => {
1822
- if (e && n) {
1823
- let r = await An(m, t, e, u, f, yn(n));
1824
- l.value = r, a.value = r ? kn(r, n).filter((e) => e.type === h.Classifier) : [], d.value = !0;
1825
- } else Pn(m), a.value = [], l.value = void 0;
1826
- }, { immediate: !0 });
1827
- let g = s(() => {
1828
- if (!l.value) return [];
1829
- let t = Qt(o(e));
1830
- return t ? kn(l.value, t).filter((e) => e.type === h.Classifier) : [];
1831
- });
1832
- return jn(l, f), p(() => {
1833
- Pn(m), a.value = [];
1834
- }), {
1835
- sensors: g,
1836
- isLoading: s(() => u.value || !d.value),
1837
- error: f
1838
- };
1839
- }
1840
- function Gn(e, t) {
1841
- let n = i(), a = r(!1), o = r(), s = null;
1842
- async function c() {
1843
- if (s) return s;
1844
- a.value = !0, o.value = void 0;
1845
- try {
1846
- return s = e.getConfig().finally(() => {
1847
- s = null;
1848
- }), n.value = await s, n.value;
1849
- } catch (e) {
1850
- o.value = e instanceof Error ? e : Error(String(e));
1851
- return;
1852
- } finally {
1853
- a.value = !1;
1854
- }
1855
- }
1856
- async function l(t, n) {
1857
- a.value = !0, o.value = void 0;
1858
- try {
1859
- await e.setValue(t, n), await c();
1860
- } catch (e) {
1861
- throw o.value = e instanceof Error ? e : Error(String(e)), e;
1862
- } finally {
1863
- a.value = !1;
1864
- }
1865
- }
1866
- async function u(t) {
1867
- a.value = !0, o.value = void 0;
1868
- try {
1869
- await e.setConfig(t), await c();
1870
- } catch (e) {
1871
- throw o.value = e instanceof Error ? e : Error(String(e)), e;
1872
- } finally {
1873
- a.value = !1;
1874
- }
1875
- }
1876
- async function d(t, n) {
1877
- a.value = !0, o.value = void 0;
1878
- try {
1879
- let r = await e.submitValue(t, n);
1880
- return (!r?.toast || r.toast.type !== "error") && await c(), r;
1881
- } catch (e) {
1882
- throw o.value = e instanceof Error ? e : Error(String(e)), e;
1883
- } finally {
1884
- a.value = !1;
1885
- }
1886
- }
1887
- return {
1888
- proxy: e,
1889
- client: t,
1890
- config: n,
1891
- isLoading: a,
1892
- error: o,
1893
- getConfig: c,
1894
- setValue: l,
1895
- setConfig: u,
1896
- submitValue: d
1897
- };
1898
- }
1899
- var Kn = T({ releaseDelay: 1e3 });
1900
- function qn(e) {
1901
- return `plugin:${e}`;
1902
- }
1903
- function Jn(e, t) {
1904
- return `plugin:${e}:camera:${t}`;
1905
- }
1906
- function Yn(e, t) {
1907
- return `plugin:${e}:sensor:${t}`;
1908
- }
1909
- function Xn(e, t, n) {
1910
- let r = Kn.get(e);
1911
- return r && r.client !== t && Kn.forceRelease(e), Kn.acquire(e, () => Gn(n(), t));
1912
- }
1913
- function Zn(e, t) {
1914
- Kn.release(e, t);
1915
- }
1916
- function Qn() {
1917
- Kn.clear(), gt();
1918
- }
1919
- function $n() {
1920
- return {
1921
- currentStorageKey: void 0,
1922
- cachedStorage: void 0,
1923
- load: void 0,
1924
- disposed: !1
1925
- };
1926
- }
1927
- function er(e, t) {
1928
- let n = e.load;
1929
- n && (clearTimeout(n.timer), e.load = void 0, n.settle(t));
1930
- }
1931
- function tr(e, t, n) {
1932
- er(e, void 0), e.currentStorageKey &&= (Zn(e.currentStorageKey, e.cachedStorage), void 0), t.value = !1, e.cachedStorage = void 0, n.value = void 0;
1933
- }
1934
- function nr(e, t, n, r, i) {
1935
- (e.currentStorageKey !== t || e.cachedStorage?.client !== n) && (e.currentStorageKey && e.currentStorageKey !== t && (Zn(e.currentStorageKey, e.cachedStorage), r.value = void 0), e.currentStorageKey = t, e.cachedStorage = Xn(t, n, i));
1936
- }
1937
- var rr = [
1938
- 2e3,
1939
- 5e3,
1940
- 1e4,
1941
- 15e3,
1942
- 15e3,
1943
- 15e3,
1944
- 15e3,
1945
- 15e3
1946
- ];
1947
- function ir(e, t, n, r, i, a) {
1948
- let o = 0;
1949
- a && p(Ht(s));
1950
- function s(t, n) {
1951
- t === a?.pluginName() && (n ? (e.load || r.value) && c() : e.load?.timer && er(e, void 0));
1952
- }
1953
- function c() {
1954
- if (!e.cachedStorage) return Promise.resolve(void 0);
1955
- a && Xt(a.rpc), e.load && e.load.key !== e.currentStorageKey && er(e, void 0);
1956
- let t = e.load ?? l();
1957
- return t.retries = 0, t.rebound = !1, t.storage !== e.cachedStorage && (clearTimeout(t.timer), t.timer = void 0, u(t, !0)), t.result;
1958
- }
1959
- function l() {
1960
- let t, n = new Promise((e) => t = e), r = {
1961
- key: e.currentStorageKey,
1962
- result: n,
1963
- settle: t,
1964
- storage: void 0,
1965
- retries: 0,
1966
- rebound: !1,
1967
- timer: void 0
1968
- };
1969
- return e.load = r, r;
1970
- }
1971
- async function u(a, s) {
1972
- let c = e.cachedStorage;
1973
- if (!c) er(e, void 0);
1974
- else {
1975
- a.storage = c, s && (o++, n.value = !0);
1976
- try {
1977
- let n = await c.getConfig();
1978
- if (e.load !== a || e.cachedStorage !== c) return;
1979
- if (i && !a.rebound && w(c.error.value)) {
1980
- if (a.rebound = !0, await i()) {
1981
- if (e.load !== a) return;
1982
- a.key = e.currentStorageKey, await u(a, s);
1983
- return;
1984
- }
1985
- if (e.load !== a || e.cachedStorage !== c) return;
1986
- }
1987
- t.value = c.config.value, r.value = c.error.value, c.error.value ? d(a) : er(e, n);
1988
- } finally {
1989
- a.storage === c && (a.storage = void 0), s && --o === 0 && (n.value = !1);
1990
- }
1991
- }
1992
- }
1993
- function d(t) {
1994
- let n = a?.pluginName(), r = n && Ut(n) ? void 0 : rr[t.retries++];
1995
- r === void 0 ? er(e, void 0) : t.timer = setTimeout(() => {
1996
- t.timer = void 0, t.key === e.currentStorageKey ? u(t, !1) : er(e, void 0);
1997
- }, r);
1998
- }
1999
- async function f(i, a) {
2000
- let o = e.cachedStorage;
2001
- if (!o) throw Error("Storage not connected");
2002
- n.value = !0, r.value = void 0;
2003
- try {
2004
- await o.setValue(i, a), e.cachedStorage === o && (t.value = o.config.value);
2005
- } catch (e) {
2006
- throw r.value = e instanceof Error ? e : Error(String(e)), e;
2007
- } finally {
2008
- n.value = !1;
2009
- }
2010
- }
2011
- async function m(i) {
2012
- let a = e.cachedStorage;
2013
- if (!a) throw Error("Storage not connected");
2014
- n.value = !0, r.value = void 0;
2015
- try {
2016
- await a.setConfig(i), e.cachedStorage === a && (t.value = a.config.value);
2017
- } catch (e) {
2018
- throw r.value = e instanceof Error ? e : Error(String(e)), e;
2019
- } finally {
2020
- n.value = !1;
2021
- }
2022
- }
2023
- async function h(i, a) {
2024
- let o = e.cachedStorage;
2025
- if (!o) throw Error("Storage not connected");
2026
- n.value = !0, r.value = void 0;
2027
- try {
2028
- let n = await o.submitValue(i, a);
2029
- return e.cachedStorage === o && (t.value = o.config.value), n;
2030
- } catch (e) {
2031
- throw r.value = e instanceof Error ? e : Error(String(e)), e;
2032
- } finally {
2033
- n.value = !1;
2034
- }
2035
- }
2036
- return {
2037
- getConfig: c,
2038
- setValue: f,
2039
- setConfig: m,
2040
- submitValue: h
2041
- };
2042
- }
2043
- function ar(e) {
2044
- let t = k(), { rpc: n, isConnected: a } = t, l = i(), u = r(!1), d = r(!1), f = r(), m = r(!1), h = $n(), g = ir(h, l, u, f, y, {
2045
- rpc: n,
2046
- pluginName: () => o(e)
2047
- });
2048
- function _(e, t) {
2049
- nr(h, qn(e), t, l, () => {
2050
- let n = M.pluginNamespaces(e);
2051
- return t.createProxy(n.pluginStorageRpc);
2052
- });
2053
- }
2054
- async function v(e) {
2055
- let t = n.value;
2056
- if (!t || !a.value) return !1;
2057
- try {
2058
- let r = await yt(n, e);
2059
- if (h.disposed) return !1;
2060
- if (!r) throw Error(`Plugin "${e}" not found`);
2061
- return _(r, t), m.value = !0, !0;
2062
- } catch (e) {
2063
- return f.value = e instanceof Error ? e : Error(String(e)), m.value = !1, !1;
2064
- }
2065
- }
2066
- async function y() {
2067
- let t = o(e), r = h.cachedStorage;
2068
- if (!t || !r) return !1;
2069
- vt(t);
2070
- let i = await yt(n, t).catch(() => void 0);
2071
- if (!i || h.disposed || h.cachedStorage !== r) return !1;
2072
- let a = h.currentStorageKey;
2073
- return _(i, r.client), h.currentStorageKey !== a;
2074
- }
2075
- async function b() {
2076
- let t = o(e);
2077
- if (t && await v(t)) return g.getConfig();
2078
- }
2079
- async function x() {
2080
- let t = o(e);
2081
- a.value && t ? (await v(t), g.getConfig()) : tr(h, m, l), d.value = !0;
2082
- }
2083
- return c([a, () => o(e)], x, { immediate: !0 }), t.on("reconnected", x), p(() => {
2084
- h.disposed = !0, t.off("reconnected", x), tr(h, m, l);
2085
- }), {
2086
- config: l,
2087
- isLoading: s(() => u.value || !d.value),
2088
- error: f,
2089
- isConnected: m,
2090
- getConfig: b,
2091
- setValue: g.setValue,
2092
- setConfig: g.setConfig,
2093
- submitValue: g.submitValue
2094
- };
2095
- }
2096
- function or(e, t) {
2097
- let n = k(), { rpc: a, isConnected: l } = n, u = i(), d = r(!1), f = r(!1), m = r(), h = r(!1), g = $n(), _ = ir(g, u, d, m, b, {
2098
- rpc: a,
2099
- pluginName: () => o(t)
2100
- });
2101
- function v(e, t, n) {
2102
- nr(g, Jn(e, t), n, u, () => {
2103
- let r = M.pluginCameraNamespaces(e, t);
2104
- return n.createProxy(r.cameraStorageRpc);
2105
- });
2106
- }
2107
- async function y(e, t) {
2108
- let n = a.value;
2109
- if (!n || !l.value) return !1;
2110
- try {
2111
- let r = await yt(a, t);
2112
- if (g.disposed) return !1;
2113
- if (!r) throw Error(`Plugin "${t}" not found`);
2114
- return v(r, e, n), h.value = !0, !0;
2115
- } catch (e) {
2116
- return m.value = e instanceof Error ? e : Error(String(e)), h.value = !1, !1;
2117
- }
2118
- }
2119
- async function b() {
2120
- let n = Qt(o(e)), r = o(t), i = g.cachedStorage;
2121
- if (!n || !r || !i) return !1;
2122
- vt(r);
2123
- let s = await yt(a, r).catch(() => void 0);
2124
- if (!s || g.disposed || g.cachedStorage !== i) return !1;
2125
- let c = g.currentStorageKey;
2126
- return v(s, n, i.client), g.currentStorageKey !== c;
2127
- }
2128
- async function x() {
2129
- let n = Qt(o(e)), r = o(t);
2130
- if (n && r && await y(n, r)) return _.getConfig();
2131
- }
2132
- async function S() {
2133
- let n = Qt(o(e)), r = o(t);
2134
- l.value && n && r ? (await y(n, r), _.getConfig()) : tr(g, h, u), f.value = !0;
2135
- }
2136
- return c([
2137
- l,
2138
- () => Qt(o(e)),
2139
- () => o(t)
2140
- ], S, { immediate: !0 }), n.on("reconnected", S), p(() => {
2141
- g.disposed = !0, n.off("reconnected", S), tr(g, h, u);
2142
- }), {
2143
- config: u,
2144
- isLoading: s(() => d.value || !f.value),
2145
- error: m,
2146
- isConnected: h,
2147
- getConfig: x,
2148
- setValue: _.setValue,
2149
- setConfig: _.setConfig,
2150
- submitValue: _.submitValue
2151
- };
2152
- }
2153
- function sr(e, t) {
2154
- let n = k(), { rpc: a, isConnected: l } = n, u = i(), d = r(!1), f = r(!1), m = r(), h = r(!1), g = $n(), _ = ir(g, u, d, m, void 0, {
2155
- rpc: a,
2156
- pluginName: () => {
2157
- let e = o(t);
2158
- return e ? _t(e) : void 0;
2159
- }
2160
- });
2161
- function v(e, t) {
2162
- let n = a.value;
2163
- if (!n || !l.value) return !1;
2164
- try {
2165
- return nr(g, Yn(t, e), n, u, () => {
2166
- let r = M.pluginSensorNamespaces(t, e);
2167
- return n.createProxy(r.sensorStorageRpc);
2168
- }), h.value = !0, !0;
2169
- } catch (e) {
2170
- return m.value = e instanceof Error ? e : Error(String(e)), h.value = !1, !1;
2171
- }
2172
- }
2173
- async function y() {
2174
- let n = o(e), r = o(t);
2175
- if (n && r && v(n, r)) return _.getConfig();
2176
- }
2177
- function b() {
2178
- let n = o(e), r = o(t);
2179
- l.value && n && r ? (v(n, r), _.getConfig()) : tr(g, h, u), f.value = !0;
2180
- }
2181
- return c([
2182
- l,
2183
- () => o(e),
2184
- () => o(t)
2185
- ], b, { immediate: !0 }), n.on("reconnected", b), p(() => {
2186
- g.disposed = !0, n.off("reconnected", b), tr(g, h, u);
2187
- }), {
2188
- config: u,
2189
- isLoading: s(() => d.value || !f.value),
2190
- error: m,
2191
- isConnected: h,
2192
- getConfig: y,
2193
- setValue: _.setValue,
2194
- setConfig: _.setConfig,
2195
- submitValue: _.submitValue
2196
- };
2197
- }
2198
- function cr() {
2199
- Rt(), nt(), Qn(), Cn(), Ge(), Ct();
2200
- }
2201
- function lr() {
2202
- Rt(), ut(), wn();
2203
- }
2204
- function ur() {
2205
- Wt(), dt();
2206
- }
2207
- var dr = Symbol("camera-ui"), fr = new m("plugin");
2208
- function pr(e) {
2209
- return "rpc" in e && "isConnected" in e;
2210
- }
2211
- var mr = 4e3;
2212
- function hr(e) {
2213
- let { natsTransport: t, bulkTransport: n, target: a, wsTransport: o } = e, c = t.getClient() !== null, d = t.getClient(), f = null, p = !1, m = i(t.getClient() ?? void 0), h = r(t.getClient()?.isConnected ?? !1), g = r(void 0), _ = s(() => a.value?.endpoint.url), v = s(() => a.value?.tokens.access), y = s(() => void 0), b = /* @__PURE__ */ new Map();
2214
- function x(e, t) {
2215
- let n = b.get(e);
2216
- n || (n = /* @__PURE__ */ new Set(), b.set(e, n)), n.add(t);
2217
- }
2218
- function S(e, t) {
2219
- b.get(e)?.delete(t);
2220
- }
2221
- function C(e) {
2222
- let t = b.get(e);
2223
- if (t) for (let e of t) try {
2224
- e();
2225
- } catch (e) {
2226
- fr.warn("context listener threw:", e);
2227
- }
2228
- }
2229
- t.subscribeClient((e) => {
2230
- if (e) {
2231
- f !== null && (clearTimeout(f), f = null);
2232
- let t = h.value, n = e !== d;
2233
- d = e, m.value = e, h.value = !0, g.value = void 0, c && (!t || n || p) && re(m), !t || n ? (lr(), c && C("reconnected"), c = !0) : p && c && (ur(), C("reconnected")), p = !1;
2234
- } else {
2235
- if (p = !0, m.value = void 0, f !== null || !h.value) return;
2236
- f = setTimeout(() => {
2237
- f = null, h.value = !1, C("disconnected");
2238
- }, mr);
2239
- }
2240
- }), t.on("auth-error", (e) => {
2241
- g.value = Error(e.message ?? "auth-error");
2242
- }), t.on("down", (e) => {
2243
- g.value ||= Error(e.reason);
2244
- }), t.on("up", () => {
2245
- g.value = void 0;
2246
- });
2247
- let w;
2248
- if (n) {
2249
- let e = i();
2250
- n.subscribeClient((t) => {
2251
- e.value = t ?? void 0;
2252
- }), w = e;
2253
- }
2254
- return l({
2255
- rpc: m,
2256
- bulkRpc: w,
2257
- target: u(a),
2258
- isConnected: u(h),
2259
- endpoint: _,
2260
- token: v,
2261
- extraProxyQuery: y,
2262
- error: u(g),
2263
- wsTransport: o,
2264
- on: x,
2265
- off: S
2266
- });
2267
- }
2268
- function gr(e) {
2269
- return { install(t) {
2270
- let n = pr(e) ? e : hr(e);
2271
- t.provide(dr, n);
2272
- } };
2273
- }
2274
- var _r = {
2275
- standbyTimeout: 5e3,
2276
- activityTimeout: 5e3,
2277
- wakeTimeout: 3e4
2278
- };
2279
- function vr(e) {
2280
- let { initialMode: t = "always-on", config: n = {}, onStreamStart: i, onStreamStop: a, isStreamPlaying: o } = e, s = {
2281
- ..._r,
2282
- ...n
2283
- }, c = r(t), l = r(!1), u = r(!1), d, f, p = !1, m = !1;
2284
- function h() {
2285
- d &&= (clearTimeout(d), void 0);
2286
- }
2287
- function g() {
2288
- f &&= (clearTimeout(f), void 0);
2289
- }
2290
- function _() {
2291
- h(), g();
2292
- }
2293
- function v() {
2294
- l.value || (l.value = !0, a());
2295
- }
2296
- function y() {
2297
- l.value && (l.value = !1, i());
2298
- }
2299
- function b() {
2300
- switch (_(), c.value) {
2301
- case "always-on":
2302
- l.value = !1, o() || i();
2303
- break;
2304
- case "standby":
2305
- l.value || (o() || i(), x());
2306
- break;
2307
- case "activity": u.value ? (l.value = !1, o() || i()) : d = setTimeout(() => {
2308
- c.value === "activity" && !u.value && v();
2309
- }, s.activityTimeout);
2310
- }
2311
- }
2312
- function x() {
2313
- if (g(), p) return;
2314
- let e = o() ? s.standbyTimeout : s.wakeTimeout;
2315
- f = setTimeout(() => {
2316
- c.value === "standby" && v();
2317
- }, e);
2318
- }
2319
- function S(e) {
2320
- c.value !== e && (c.value = e, m && b());
2321
- }
2322
- function C() {
2323
- m = !0, (c.value === "standby" || c.value === "activity" && !u.value) && !o() ? (_(), v()) : b();
2324
- }
2325
- function w(e) {
2326
- c.value === "activity" && (e ? (u.value = !0, h(), l.value ? y() : o() || i()) : (u.value = !1, h(), d = setTimeout(() => {
2327
- u.value || v();
2328
- }, s.activityTimeout)));
2329
- }
2330
- function T() {
2331
- if (l.value) switch (y(), c.value) {
2332
- case "standby":
2333
- x();
2334
- break;
2335
- case "activity": h(), u.value || (d = setTimeout(() => {
2336
- v();
2337
- }, s.activityTimeout));
2338
- }
2339
- }
2340
- function E() {
2341
- m && c.value === "standby" && !l.value && x();
2342
- }
2343
- function D(e) {
2344
- p !== e && (p = e, e ? g() : E());
2345
- }
2346
- function O() {
2347
- _();
2348
- }
2349
- return {
2350
- mode: c,
2351
- inStandby: l,
2352
- hasActivity: u,
2353
- setMode: S,
2354
- engage: C,
2355
- reportActivity: w,
2356
- resumeFromStandby: T,
2357
- resetIdleTimer: E,
2358
- setKeepAwake: D,
2359
- dispose: O
2360
- };
2361
- }
2362
- var Z = {
2363
- WEBRTC: {
2364
- RECONNECT_DELAY: 1e3,
2365
- CONNECT_TIMEOUT: 1e4,
2366
- WS_CONNECT_TIMEOUT: 5e3,
2367
- ICE_SERVERS: [{ urls: "stun:stun.l.google.com:19302" }]
2368
- },
2369
- MSE: {
2370
- BUFFER_SIZE: 2097152,
2371
- BUFFER_WINDOW: 5,
2372
- MAX_BUFFER_WINDOW: 60
2373
- },
2374
- CODECS: {
2375
- DEFAULT: [
2376
- "avc1.640029",
2377
- "avc1.64002A",
2378
- "avc1.640033",
2379
- "hvc1.1.6.L153.B0",
2380
- "mp4a.40.2",
2381
- "mp4a.40.5",
2382
- "flac",
2383
- "opus"
2384
- ],
2385
- WEBRTC_VIDEO: [
2386
- "H264",
2387
- "VP8",
2388
- "VP9"
2389
- ],
2390
- WEBRTC_AUDIO: [
2391
- "opus",
2392
- "G722",
2393
- "PCMU",
2394
- "PCMA"
2395
- ]
2396
- }
2397
- };
2398
- function yr(e) {
2399
- if (e.byteLength < 2) return !1;
2400
- let t = new Uint8Array(e, 0, 2);
2401
- return t[0] === 255 && t[1] === 216;
2402
- }
2403
- function br(e) {
2404
- let { signal: t } = e, n = document.createElement("canvas"), r = n.getContext("2d", { alpha: !1 }), i = n.captureStream(), a = 0, o = !1, s, c = !1;
2405
- function l(e) {
2406
- c || t.aborted || (o ? s = e : u(e));
2407
- }
2408
- async function u(e) {
2409
- o = !0;
2410
- try {
2411
- let t = await createImageBitmap(new Blob([e], { type: "image/jpeg" }));
2412
- c || d(t), t.close();
2413
- } catch {}
2414
- o = !1;
2415
- let t = s;
2416
- s = void 0, t && !c && u(t);
2417
- }
2418
- function d(e) {
2419
- r && ((n.width !== e.width || n.height !== e.height) && (n.width = e.width, n.height = e.height), r.drawImage(e, 0, 0), a++);
2420
- }
2421
- function f() {
2422
- c = !0, s = void 0;
2423
- for (let e of i.getTracks()) e.stop();
2424
- }
2425
- return t.addEventListener("abort", f, { once: !0 }), {
2426
- stream: i,
2427
- get frames() {
2428
- return a;
2429
- },
2430
- appendFrame: l,
2431
- close: f
2432
- };
2433
- }
2434
- var xr = 1836019574, Sr = 1953653099, Cr = 1953196132, wr = 1835297121, Tr = 1835296868, Er = 1751411826, Dr = 1836475768, Or = 1953654136, kr = 1836019558, Ar = 1953653094, jr = 1952868452, Mr = 1952867444, Nr = 1953658222, Pr = 1986618469, Fr = 65536, Ir = 4096;
2435
- function Lr() {
2436
- let e = /* @__PURE__ */ new Map(), t;
2437
- function n(n, r, i) {
2438
- let a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Map();
2439
- Rr(n, r, i, (e, t, r) => {
2440
- if (e === Sr) {
2441
- let e = {
2442
- id: -1,
2443
- timescale: 0,
2444
- video: !1
2445
- };
2446
- Rr(n, t, r, (t, r, i) => {
2447
- t === Cr && r + 24 <= i ? e.id = n.getUint32(r + (n.getUint8(r) === 1 ? 20 : 12)) : t === wr && Rr(n, r, i, (t, r, i) => {
2448
- t === Tr && r + 24 <= i ? e.timescale = n.getUint32(r + (n.getUint8(r) === 1 ? 20 : 12)) : t === Er && r + 12 <= i && (e.video = n.getUint32(r + 8) === Pr);
2449
- });
2450
- }), e.id >= 0 && e.timescale > 0 && a.set(e.id, e);
2451
- } else e === Dr && Rr(n, t, r, (e, t, r) => {
2452
- e === Or && t + 24 <= r && o.set(n.getUint32(t + 4), {
2453
- duration: n.getUint32(t + 12),
2454
- flags: n.getUint32(t + 20)
2455
- });
2456
- });
2457
- }), e.clear();
2458
- for (let [t, { timescale: n, video: r }] of a) {
2459
- let i = o.get(t);
2460
- e.set(t, {
2461
- timescale: n,
2462
- video: r,
2463
- defaultDuration: i?.duration ?? 0,
2464
- defaultFlags: i?.flags ?? 0
2465
- });
2466
- }
2467
- t = [...e.values()].some((e) => e.video);
2468
- }
2469
- function r(t, n, r, i) {
2470
- let a = {
2471
- duration: 0,
2472
- flags: 0
2473
- };
2474
- Rr(t, n, r, (n, r, o) => {
2475
- if (n === jr && r + 8 <= o) {
2476
- let n = e.get(t.getUint32(r + 4)), i = t.getUint32(r) & 16777215, s = 8 + (i & 1 ? 8 : 0) + (i & 2 ? 4 : 0) + (i & 8 ? 4 : 0) + (i & 16 ? 4 : 0) + (i & 32 ? 4 : 0);
2477
- if (!n?.video || r + s > o) return;
2478
- let c = r + 8 + (i & 1 ? 8 : 0) + (i & 2 ? 4 : 0);
2479
- a.duration = n.defaultDuration, a.flags = n.defaultFlags, i & 8 && (a.duration = t.getUint32(c), c += 4), i & 16 && (c += 4), i & 32 && (a.flags = t.getUint32(c)), a.track = n;
2480
- } else n === Mr && r + 8 <= o ? t.getUint8(r) === 0 ? a.baseTime = t.getUint32(r + 4) : r + 12 <= o && (a.baseTime = t.getUint32(r + 4) * 2 ** 32 + t.getUint32(r + 8)) : n === Nr && zr(a) && (a.baseTime = Br(t, r, o, a, i));
2481
- });
2482
- }
2483
- function i(e, i) {
2484
- let a = new DataView(e);
2485
- Rr(a, 0, a.byteLength, (e, o, s) => {
2486
- e === xr ? n(a, o, s) : e === kr && t && Rr(a, o, s, (e, t, n) => {
2487
- e === Ar && r(a, t, n, i);
2488
- });
2489
- });
2490
- }
2491
- return {
2492
- get hasVideo() {
2493
- return t;
2494
- },
2495
- scan: i
2496
- };
2497
- }
2498
- function Rr(e, t, n, r) {
2499
- let i = t;
2500
- for (; i + 8 <= n;) {
2501
- let t = e.getUint32(i), a = 8;
2502
- if (t === 1) {
2503
- if (i + 16 > n) return;
2504
- t = e.getUint32(i + 8) * 2 ** 32 + e.getUint32(i + 12), a = 16;
2505
- } else t === 0 && (t = n - i);
2506
- if (t < a || i + t > n) return;
2507
- r(e.getUint32(i + 4), i + a, i + t), i += t;
2508
- }
2509
- }
2510
- function zr(e) {
2511
- return e.track !== void 0 && e.baseTime !== void 0;
2512
- }
2513
- function Br(e, t, n, r, i) {
2514
- if (t + 8 > n) return r.baseTime;
2515
- let a = e.getUint8(t), o = e.getUint32(t) & 16777215, s = e.getUint32(t + 4), c = t + 8;
2516
- o & 1 && (c += 4);
2517
- let l;
2518
- if (o & 4) {
2519
- if (c + 4 > n) return r.baseTime;
2520
- l = e.getUint32(c), c += 4;
2521
- }
2522
- let u = (o & 256 ? 4 : 0) + (o & 512 ? 4 : 0) + (o & 1024 ? 4 : 0) + (o & 2048 ? 4 : 0);
2523
- if (s > Ir || c + s * u > n) return r.baseTime;
2524
- let d = r.baseTime;
2525
- for (let t = 0; t < s; t++) {
2526
- let n = r.duration, s = t === 0 && l !== void 0 ? l : r.flags, u = 0;
2527
- o & 256 && (n = e.getUint32(c), c += 4), o & 512 && (c += 4), o & 1024 && (s = e.getUint32(c), c += 4), o & 2048 && (u = a === 0 ? e.getUint32(c) : e.getInt32(c), c += 4), s & Fr || i((d + u) / r.track.timescale), d += n;
2528
- }
2529
- return d;
2530
- }
2531
- var Vr = "hvc1.1.6.L153.B0";
2532
- function Hr() {
2533
- return navigator.userAgent.match(/version\/(\d+)/i);
2534
- }
2535
- function Ur() {
2536
- return /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);
2537
- }
2538
- function Wr() {
2539
- return globalThis.Capacitor?.isNativePlatform?.() ? !0 : typeof navigator > "u" ? !1 : Ur() || /Macintosh/i.test(navigator.userAgent) && navigator.maxTouchPoints > 1;
2540
- }
2541
- function Gr() {
2542
- let e = [...Z.CODECS.DEFAULT], t = Hr();
2543
- if (t?.[1]) {
2544
- let n = parseInt(t[1], 10);
2545
- if (n < 13) {
2546
- let t = e.indexOf("mp4a.40.2");
2547
- t > -1 && e.splice(t);
2548
- } else if (n < 14) {
2549
- let t = e.indexOf("flac");
2550
- t > -1 && e.splice(t);
2551
- } else {
2552
- let t = e.indexOf("opus");
2553
- t > -1 && e.splice(t);
2554
- }
2555
- }
2556
- return e;
2557
- }
2558
- function Kr(e, t) {
2559
- return e.filter((e) => t(`video/mp4; codecs="${e}"`)).join(",");
2560
- }
2561
- function qr(e) {
2562
- return Z.CODECS.WEBRTC_AUDIO.includes(e);
2563
- }
2564
- function Jr(e) {
2565
- return Z.CODECS.WEBRTC_VIDEO.includes(e) ? !0 : e === "H265" && ei();
2566
- }
2567
- var Yr, Xr;
2568
- function Zr(e) {
2569
- if (e === "auto") return Zr("webrtc") || Zr("mse");
2570
- if (e === "mse") return Yr === void 0 && (Yr = !!ri()?.isTypeSupported(`video/mp4; codecs="${Vr}"`)), Yr;
2571
- if (Xr === void 0) try {
2572
- Xr = !!(RTCRtpReceiver?.getCapabilities("video")?.codecs)?.some((e) => e.mimeType.toLowerCase().includes("h265") || e.mimeType.toLowerCase().includes("hevc"));
2573
- } catch {
2574
- Xr = !1;
2575
- }
2576
- return Xr;
2577
- }
2578
- function Qr() {
2579
- return typeof createImageBitmap == "function" && typeof HTMLCanvasElement == "function" && typeof HTMLCanvasElement.prototype.captureStream == "function";
2580
- }
2581
- function $r(e) {
2582
- e === "mse" ? Yr = !1 : Xr = !1;
2583
- }
2584
- function ei() {
2585
- return Zr("webrtc");
2586
- }
2587
- function ti(e) {
2588
- let t = e.audio.filter((e) => e.direction === "sendonly"), n = e.video.filter((e) => e.direction === "sendonly"), r = t.length === 0 || t.some((e) => qr(e.codec)), i = n.length === 0 || n.some((e) => Jr(e.codec)), a = [];
2589
- return r || a.push(...t.map((e) => e.codec)), i || a.push(...n.map((e) => e.codec)), {
2590
- compatible: r && i,
2591
- audioCompatible: r,
2592
- videoCompatible: i,
2593
- incompatibleCodecs: a
2594
- };
2595
- }
2596
- function ni() {
2597
- return "ManagedMediaSource" in window;
2598
- }
2599
- function ri() {
2600
- if (ni()) return window.ManagedMediaSource;
2601
- if ("MediaSource" in window) return window.MediaSource;
2602
- }
2603
- function ii(e) {
2604
- return e ? typeof document < "u" && "pictureInPictureElement" in document && document.pictureInPictureElement === e || e.webkitPresentationMode === "picture-in-picture" : !1;
2605
- }
2606
- function ai(e, t) {
2607
- return new Promise((n, r) => {
2608
- if (t.aborted) {
2609
- r(new DOMException("Aborted", "AbortError"));
2610
- return;
2611
- }
2612
- let i = setTimeout(n, e);
2613
- t.addEventListener("abort", () => {
2614
- clearTimeout(i), r(new DOMException("Aborted", "AbortError"));
2615
- }, { once: !0 });
2616
- });
2617
- }
2618
- var oi = .001, si = 256, ci = .3, li = 262144;
2619
- function ui(e) {
2620
- let { videoElement: t, onReady: n, onFirstData: r, onError: i, signal: a } = e, o = null, s = null, c = null, l = !1, u = !1, d = !1, f = /* @__PURE__ */ new Uint8Array(), p = 0, m = [], h = Gr(), g = Lr(), _ = [];
2621
- function v() {
2622
- if (a.aborted) return;
2623
- let e = ri();
2624
- if (!e) {
2625
- A(/* @__PURE__ */ Error("MediaSource not supported"), "setup");
2626
- return;
2627
- }
2628
- o = new e();
2629
- let n = ni(), r = t.src;
2630
- return o.addEventListener("sourceopen", () => {
2631
- a.aborted || !n && r && r.startsWith("blob:") && r !== t.src && URL.revokeObjectURL(r);
2632
- }, { once: !0 }), n ? (t.disableRemotePlayback = !0, t.srcObject = o) : (c = URL.createObjectURL(o), t.src = c, t.srcObject = null), t.addEventListener("error", k), Kr(h, e.isTypeSupported.bind(e));
2633
- }
2634
- function y(e) {
2635
- if (a.aborted || !o) return;
2636
- if (o.readyState !== "open") {
2637
- o.addEventListener("sourceopen", () => {
2638
- a.aborted || y(e);
2639
- }, { once: !0 });
2640
- return;
2641
- }
2642
- p = 0, _.length = 0;
2643
- let t = ri();
2644
- if (t && !t.isTypeSupported(e)) A(/* @__PURE__ */ Error(`MIME type not supported: ${e}`), "setup");
2645
- else try {
2646
- if (s = o.addSourceBuffer(e), s.mode = "segments", s.addEventListener("updateend", b), s.addEventListener("error", O), l = !0, m.length > 0) {
2647
- for (let e of m) x(e);
2648
- m.length = 0;
2649
- }
2650
- if (d || a.aborted) return;
2651
- n();
2652
- } catch (e) {
2653
- A(e, l ? "runtime" : "setup");
2654
- }
2655
- }
2656
- function b() {
2657
- if (!a.aborted && !d && s && o) {
2658
- if (!s.updating && p > 0) try {
2659
- s.appendBuffer(f.subarray(0, p)), p = 0;
2660
- } catch (e) {
2661
- if (!C(e)) {
2662
- A(e, "runtime");
2663
- return;
2664
- }
2665
- }
2666
- if (!s.updating && s.buffered?.length) {
2667
- let e = s.buffered.end(s.buffered.length - 1), n = s.buffered.start(0), i = Z.MSE.BUFFER_WINDOW;
2668
- u || (u = !0, r());
2669
- let a = E(Math.min(t.currentTime, e) - i);
2670
- if (e - n > Z.MSE.MAX_BUFFER_WINDOW) {
2671
- let t = E(e - i);
2672
- a = t !== void 0 && t > n + oi ? t : e - i;
2673
- }
2674
- if (a !== void 0 && a > n + oi) {
2675
- try {
2676
- s.remove(n, a - oi), o.setLiveSeekableRange(a, e);
2677
- } catch {}
2678
- T(a);
2679
- }
2680
- if (t.currentTime < e - i) {
2681
- let n = D(e - i, e);
2682
- n > t.currentTime && (t.currentTime = n);
2683
- }
2684
- let c = e - t.currentTime;
2685
- c > 1 ? t.playbackRate = 1.1 : c < .1 ? t.playbackRate = .9 : t.playbackRate = 1;
2686
- }
2687
- }
2688
- }
2689
- function x(e) {
2690
- if (!(a.aborted || d)) {
2691
- if (!s) m.push(e);
2692
- else if (o?.readyState === "closed" || o?.readyState === "ended") A(/* @__PURE__ */ Error(`MediaSource ${o.readyState}`), "runtime");
2693
- else if (g.scan(e, w), s.updating || p > 0) {
2694
- if (!S(new Uint8Array(e))) {
2695
- p = 0, A(/* @__PURE__ */ Error("MSE pending buffer overflow"), "runtime");
2696
- return;
2697
- }
2698
- } else try {
2699
- s.appendBuffer(e);
2700
- } catch (t) {
2701
- C(t) ? S(new Uint8Array(e)) : A(t, "runtime");
2702
- }
2703
- }
2704
- }
2705
- function S(e) {
2706
- let t = p + e.byteLength;
2707
- if (t > Z.MSE.BUFFER_SIZE) return !1;
2708
- if (t > f.byteLength) {
2709
- let e = Math.max(f.byteLength, li);
2710
- for (; e < t;) e *= 2;
2711
- let n = new Uint8Array(Math.min(e, Z.MSE.BUFFER_SIZE));
2712
- n.set(f.subarray(0, p)), f = n;
2713
- }
2714
- return f.set(e, p), p = t, !0;
2715
- }
2716
- function C(e) {
2717
- if (e?.name !== "QuotaExceededError" || !s || s.updating || !s.buffered?.length) return !1;
2718
- try {
2719
- let e = s.buffered.start(0), n = s.buffered.end(s.buffered.length - 1), r = E(Math.min(t.currentTime, n)) ?? Math.max(e + 1, n - Z.MSE.BUFFER_WINDOW);
2720
- return r <= e + oi ? !1 : (s.remove(e, r - oi), T(r), !0);
2721
- } catch {
2722
- return !1;
2723
- }
2724
- }
2725
- function w(e) {
2726
- for (; _.length && _[_.length - 1] >= e;) _.pop();
2727
- _.push(e), _.length > si && _.shift();
2728
- }
2729
- function T(e) {
2730
- for (; _.length && _[0] < e;) _.shift();
2731
- }
2732
- function E(e) {
2733
- if (g.hasVideo === !1) return e;
2734
- for (let t = _.length - 1; t >= 0; t--) if (_[t] <= e) return _[t];
2735
- }
2736
- function D(e, t) {
2737
- if (!g.hasVideo) return e;
2738
- let n = e;
2739
- for (let r of _) if (r > t || (n = r, r >= e)) break;
2740
- return n;
2741
- }
2742
- function O() {
2743
- A(/* @__PURE__ */ Error("SourceBuffer error"), "runtime");
2744
- }
2745
- function k() {
2746
- let e = t.error;
2747
- A(Error(e?.message || `Video element error ${e?.code ?? "unknown"}`), "runtime");
2748
- }
2749
- function A(e, t) {
2750
- d || a.aborted || (d = !0, i(e instanceof Error ? e : Error(String(e)), t));
2751
- }
2752
- function j() {
2753
- if (t.removeEventListener("error", k), s) {
2754
- if (s.removeEventListener("updateend", b), s.removeEventListener("error", O), o?.readyState === "open") try {
2755
- o.removeSourceBuffer(s);
2756
- } catch {}
2757
- s = null;
2758
- }
2759
- if (o?.readyState === "open") try {
2760
- o.endOfStream();
2761
- } catch {}
2762
- o = null, c &&= (URL.revokeObjectURL(c), null), l = !1, u = !1, p = 0, m.length = 0, _.length = 0;
2763
- }
2764
- return a.addEventListener("abort", j, { once: !0 }), {
2765
- get mediaSource() {
2766
- return o;
2767
- },
2768
- get sourceBuffer() {
2769
- return s;
2770
- },
2771
- get isReady() {
2772
- return l;
2773
- },
2774
- setup: v,
2775
- initializeBuffer: y,
2776
- appendBuffer: x,
2777
- close: j
2778
- };
2779
- }
2780
- function di(e) {
2781
- if (e.buffered.length > 0) {
2782
- let t = e.buffered.end(e.buffered.length - 1);
2783
- t - e.currentTime > 1 && (e.currentTime = t - ci);
2784
- }
2785
- }
2786
- async function fi(e) {
2787
- try {
2788
- await e.play();
2789
- } catch {
2790
- e.muted || (e.muted = !0, await fi(e));
2791
- }
2792
- }
2793
- function pi(e, t, n) {
2794
- let r = new RTCPeerConnection({
2795
- bundlePolicy: "max-bundle",
2796
- iceServers: [...Z.WEBRTC.ICE_SERVERS]
2797
- });
2798
- return r.onicecandidate = (r) => {
2799
- if (e.aborted || n && r.candidate?.protocol === "udp") return;
2800
- let i = r.candidate?.toJSON().candidate ?? "";
2801
- i && t(i);
2802
- }, r;
2803
- }
2804
- async function mi(e, t, n) {
2805
- !t.aborted && e && await e.setRemoteDescription({
2806
- type: "answer",
2807
- sdp: n
2808
- });
2809
- }
2810
- async function hi(e, t, n, r) {
2811
- !t.aborted && e && (r && n.includes(" udp ") || await e.addIceCandidate({
2812
- candidate: n,
2813
- sdpMid: "0"
2814
- }));
2815
- }
2816
- async function gi(e, t, n) {
2817
- if (!t.aborted && e) try {
2818
- await e.sender.replaceTrack(n);
2819
- } catch {}
2820
- }
2821
- function _i(e) {
2822
- e.micTransceiver &&= (e.micTransceiver.sender.replaceTrack(null).catch(() => {}), null), e.pc &&= (e.pc.getTransceivers().forEach((e) => e.sender?.track?.stop()), e.pc.close(), null), e.isConnected = !1;
2823
- }
2824
- function vi(e) {
2825
- let { mode: t, onConnected: n, onDisconnected: r, onFailed: i, onCandidate: a, signal: o } = e, s = {
2826
- pc: null,
2827
- micTransceiver: null,
2828
- isConnected: !1
2829
- }, c = t === "webrtc/tcp";
2830
- function l() {
2831
- let e = pi(o, a, c);
2832
- return e.onconnectionstatechange = () => {
2833
- if (o.aborted) return;
2834
- let t = e.connectionState;
2835
- if (t === "connected") {
2836
- s.isConnected = !0;
2837
- let t = new MediaStream(e.getTransceivers().filter((e) => e.currentDirection === "recvonly").map((e) => e.receiver.track));
2838
- n(t);
2839
- } else t === "failed" ? (s.isConnected = !1, i()) : t === "disconnected" && (s.isConnected = !1, r());
2840
- }, e.addTransceiver("video", { direction: "recvonly" }), e.addTransceiver("audio", { direction: "recvonly" }), e;
2841
- }
2842
- async function u() {
2843
- if (o.aborted) return;
2844
- s.pc = l();
2845
- let e = await s.pc.createOffer();
2846
- return await s.pc.setLocalDescription(e), e.sdp;
2847
- }
2848
- function d() {
2849
- _i(s);
2850
- }
2851
- return o.addEventListener("abort", d, { once: !0 }), {
2852
- get pc() {
2853
- return s.pc;
2854
- },
2855
- get isConnected() {
2856
- return s.isConnected;
2857
- },
2858
- createOffer: u,
2859
- handleAnswer: (e) => mi(s.pc, o, e),
2860
- handleCandidate: (e) => hi(s.pc, o, e, c),
2861
- close: d
2862
- };
2863
- }
2864
- function yi(e) {
2865
- let { filterUdp: t, onConnected: n, onFailed: r, onCandidate: i, signal: a } = e, o = {
2866
- pc: null,
2867
- micTransceiver: null,
2868
- isConnected: !1
2869
- }, s = !1, c = [];
2870
- function l(e) {
2871
- s ? i(e) : c.push(e);
2872
- }
2873
- async function u(e) {
2874
- if (!a.aborted && o.pc) {
2875
- s = !0;
2876
- for (let e of c.splice(0)) i(e);
2877
- await o.pc.setRemoteDescription({
2878
- type: "answer",
2879
- sdp: e
2880
- });
2881
- }
2882
- }
2883
- function d() {
2884
- let e = pi(a, l, t);
2885
- return e.onconnectionstatechange = () => {
2886
- if (a.aborted) return;
2887
- let t = e.connectionState;
2888
- t === "connected" ? (o.isConnected = !0, n()) : t === "disconnected" ? o.isConnected = !1 : t === "failed" && (o.isConnected = !1, r());
2889
- }, o.micTransceiver = e.addTransceiver("audio", { direction: "sendonly" }), e;
2890
- }
2891
- async function f() {
2892
- if (a.aborted) return;
2893
- o.pc = d();
2894
- let e = await o.pc.createOffer();
2895
- return await o.pc.setLocalDescription(e), e.sdp;
2896
- }
2897
- function p() {
2898
- _i(o);
2899
- }
2900
- return a.addEventListener("abort", p, { once: !0 }), {
2901
- get isConnected() {
2902
- return o.isConnected;
2903
- },
2904
- createOffer: f,
2905
- handleAnswer: u,
2906
- handleCandidate: (e) => hi(o.pc, a, e, t),
2907
- setMicrophoneTrack: (e) => gi(o.micTransceiver, a, e),
2908
- close: p
2909
- };
2910
- }
2911
- async function bi(e, t) {
2912
- switch (t.type) {
2913
- case "webrtc/answer":
2914
- await e.handleAnswer(t.value);
2915
- break;
2916
- case "webrtc/candidate": t.value && await e.handleCandidate(t.value);
2917
- }
2918
- }
2919
- var Q = new m("StreamConnection"), xi = /mp4a|opus|flac|mp3/i, Si = 1e3, Ci = 3e4, wi = 3e4, Ti = 15e3, Ei = 1e3, Di = 3e3, Oi = 15e3, ki = 2, Ai = 2e3;
2920
- function ji() {
2921
- return typeof document < "u" && document.visibilityState === "hidden";
2922
- }
2923
- function Mi(e) {
2924
- return typeof e.getVideoPlaybackQuality == "function" ? e.getVideoPlaybackQuality().totalVideoFrames : void 0;
2925
- }
2926
- function Ni(e) {
2927
- return e * (1 - Math.random() / 2);
2928
- }
2929
- var Pi = class {
2930
- status;
2931
- activeMode;
2932
- requestedMode;
2933
- activeResolution;
2934
- requestedResolution;
2935
- degradedFrom;
2936
- degradeReason;
2937
- source;
2938
- hasVideo;
2939
- hasAudio;
2940
- hasBackchannel;
2941
- isPlaying;
2942
- stalled;
2943
- error;
2944
- probeInfo;
2945
- muted;
2946
- paused;
2947
- nativeWidth;
2948
- nativeHeight;
2949
- camera;
2950
- videoElement;
2951
- containerElement;
2952
- target;
2953
- isReady;
2954
- triedSourceIds = /* @__PURE__ */ new Set();
2955
- options;
2956
- wsTransport;
2957
- scope = a(!0);
2958
- stopsWhenHidden = Wr();
2959
- connectionGeneration = 0;
2960
- abortController = new AbortController();
2961
- probedSourceId;
2962
- probeInFlight;
2963
- probing;
2964
- wasPausedByVisibility = !1;
2965
- hiddenPauseRan = !1;
2966
- disarmPipWatch = null;
2967
- wsHandle;
2968
- wsOpenedAt = 0;
2969
- webrtcHandler;
2970
- mseHandler;
2971
- mjpegHandler;
2972
- audioHandler;
2973
- audioElement;
2974
- cancelFirstFrameWatch;
2975
- awaitingWebRTCFrame = !1;
2976
- backchannelHandler;
2977
- pendingMicTrack = null;
2978
- offerPeer;
2979
- answeredPeer;
2980
- lastMediaStream = null;
2981
- stopWatchers = [];
2982
- failures = 0;
2983
- playingSince;
2984
- connectToken;
2985
- rejectedToken;
2986
- lastError;
2987
- mseRejected = !1;
2988
- mseAnswerPending = !1;
2989
- mseStopPending = !1;
2990
- healthInterval;
2991
- lastProgressAt = 0;
2992
- lastMediaTime = 0;
2993
- lastFrameCount;
2994
- frameCounterLive = !1;
2995
- offTabVisible;
2996
- offTabPaused;
2997
- onVideoPauseBound;
2998
- onVideoPlayBound;
2999
- onVideoResizeBound;
3000
- startWsConnectTimeout;
3001
- stopWsConnectTimeout;
3002
- startConnectTimeout;
3003
- stopConnectTimeout;
3004
- startMseConnectTimeout;
3005
- stopMseConnectTimeout;
3006
- constructor(e) {
3007
- this.options = e;
3008
- let t = k();
3009
- if (!t.wsTransport) throw Error("[camera.ui] StreamConnection requires a wsTransport on CameraUiContext — pass `wsTransport` to createCameraUiPlugin.");
3010
- this.target = t.target, this.wsTransport = t.wsTransport;
3011
- let { autoStart: n = !0 } = e;
3012
- this.status = r("idle"), this.activeMode = r("webrtc"), this.activeResolution = r("low-resolution"), this.degradedFrom = r(null), this.degradeReason = r(null), this.source = i(), this.hasVideo = r(!1), this.hasAudio = r(!1), this.hasBackchannel = r(!1), this.isPlaying = r(!1), this.stalled = r(!1), this.error = r(), this.probeInfo = i(), this.muted = r(!0), this.paused = r(!1), this.nativeWidth = r(0), this.nativeHeight = r(0), this.requestedMode = r(o(e.mode) ?? "auto"), this.requestedResolution = r(o(e.resolution) ?? "high-resolution"), this.camera = s(() => o(e.camera)), this.videoElement = s(() => o(e.videoElement)), this.containerElement = s(() => o(e.containerElement)), this.isReady = s(() => !!this.camera.value && !!this.videoElement.value && !!this.target.value), this.scope.run(() => {
3013
- let { onTabPaused: e, onTabVisible: t } = G(), r = this.stopsWhenHidden ? 0 : ge, i = d(() => {
3014
- let e = this.wsHandle;
3015
- e && e.readyState !== WebSocket.OPEN && (e.readyState === WebSocket.CLOSED && performance.now() - this.wsOpenedAt < Ti ? this.startWsConnectTimeout() : (this.disconnectWebSocket(), !this.abortController.signal.aborted && this.status.value !== "closed" && this.retryLater()));
3016
- }, Z.WEBRTC.WS_CONNECT_TIMEOUT, { immediate: !1 }), a = d(() => {
3017
- if (!this.abortController.signal.aborted) {
3018
- if (this.webrtcHandler && !this.webrtcHandler.isConnected) this.requestedMode.value === "auto" ? this.fallBackToMSE() : this.retryAfterNoMedia();
3019
- else if (this.webrtcHandler && this.awaitingWebRTCFrame || this.mjpegHandler && !this.isPlaying.value || this.status.value === "connected" && !this.isPlaying.value) {
3020
- if (ji()) {
3021
- this.startConnectTimeout();
3022
- return;
3023
- }
3024
- this.handleNoFramesWhileConnected();
3025
- }
3026
- }
3027
- }, () => this.webrtcTookOver() ? Oi : Z.WEBRTC.CONNECT_TIMEOUT, { immediate: !1 }), o = d(() => {
3028
- this.abortController.signal.aborted || this.status.value === "connected" || this.status.value === "closed" || this.mseHandler && !this.mseHandler.isReady && this.retryAfterNoMedia();
3029
- }, Z.WEBRTC.CONNECT_TIMEOUT, { immediate: !1 });
3030
- this.startWsConnectTimeout = i.start, this.stopWsConnectTimeout = i.stop, this.startConnectTimeout = a.start, this.stopConnectTimeout = a.stop, this.startMseConnectTimeout = o.start, this.stopMseConnectTimeout = o.stop, this.setupWatchers(), this.offTabPaused = e(() => {
3031
- Q.debug(`onTabPaused fired — status=${this.status.value}, isReady=${this.isReady.value}, target=${!!this.target.value}`), this.hiddenPauseRan = !0, this.status.value === "idle" || this.status.value === "closed" ? Q.debug(`onTabPaused — already in ${this.status.value}, skipping stop()`) : ii(this.videoElement.value) ? (Q.debug("onTabPaused — video is in picture-in-picture, keeping the stream"), this.watchPipLeave()) : (this.wasPausedByVisibility = !0, this.stop(), Q.debug("onTabPaused — stop() done, wasPausedByVisibility=true"));
3032
- }, { delayMs: r }), this.offTabVisible = t(({ hiddenMs: e }) => {
3033
- Q.debug(`onTabVisible fired — wasPausedByVisibility=${this.wasPausedByVisibility}, status=${this.status.value}, isReady=${this.isReady.value}, target=${!!this.target.value}`), this.disarmPipWatch?.();
3034
- let t = this.hiddenPauseRan;
3035
- this.hiddenPauseRan = !1, this.wasPausedByVisibility ? (this.wasPausedByVisibility = !1, this.startWhenReady()) : !t && e >= r && this.status.value === "connected" ? (Q.debug(`onTabVisible: hidden for ${e}ms without a stop, reconnecting`), this.restart()) : Q.debug("onTabVisible — not paused by visibility, no-op");
3036
- }), n && f(this.isReady, () => {
3037
- (this.status.value === "idle" || this.status.value === "closed") && this.start();
3038
- }, { immediate: !0 });
3039
- });
3040
- }
3041
- watchPipLeave() {
3042
- if (this.disarmPipWatch) return;
3043
- let e = this.videoElement.value;
3044
- if (!e) return;
3045
- let t = () => {
3046
- ii(e) || (this.disarmPipWatch?.(), (typeof document > "u" || document.visibilityState !== "visible") && this.status.value !== "idle" && this.status.value !== "closed" && (Q.debug("picture-in-picture closed while tab hidden — stopping the stream"), this.wasPausedByVisibility = !0, this.stop()));
3047
- };
3048
- e.addEventListener("leavepictureinpicture", t), e.addEventListener("webkitpresentationmodechanged", t), this.disarmPipWatch = () => {
3049
- e.removeEventListener("leavepictureinpicture", t), e.removeEventListener("webkitpresentationmodechanged", t), this.disarmPipWatch = null;
3050
- };
3051
- }
3052
- async start() {
3053
- if (Q.debug(`start() called — status=${this.status.value}, isReady=${this.isReady.value}`), this.status.value !== "idle" && this.status.value !== "closed") {
3054
- Q.debug(`start() — skipped, status is ${this.status.value}`);
3055
- return;
3056
- }
3057
- if (!this.isReady.value) {
3058
- Q.debug("start() — skipped, isReady=false");
3059
- return;
3060
- }
3061
- if (this.stopsWhenHidden && ji()) {
3062
- Q.debug("start() — page hidden, starting once it is visible"), this.wasPausedByVisibility = !0;
3063
- return;
3064
- }
3065
- this.cleanup(), this.abortController = new AbortController();
3066
- let e = ++this.connectionGeneration;
3067
- this.triedSourceIds.clear(), this.failures = 0, this.playingSince = void 0, this.status.value = "connecting", this.error.value = void 0, this.isPlaying.value = !1;
3068
- try {
3069
- let t = this.initializeSource();
3070
- if (t === "unsupported") {
3071
- Q.debug("start() — no source with a playable codec"), this.setUnsupported();
3072
- return;
3073
- }
3074
- if (!t) {
3075
- Q.debug("start() — no streaming source available"), this.error.value = /* @__PURE__ */ Error("No streaming source available"), this.status.value = "error";
3076
- return;
3077
- }
3078
- let n;
3079
- for (let t = 0; t < 3; t++) {
3080
- let t = this.source.value?._id;
3081
- n = t, Q.debug("start(): connecting WebSocket");
3082
- let r = await this.dialWithProbe();
3083
- if (e !== this.connectionGeneration) {
3084
- Q.debug("start() — generation stale after probe, aborting");
3085
- return;
3086
- }
3087
- r && t && this.probeSaysUnplayable(r) && this.triedSourceIds.add(t);
3088
- let i = this.initializeSource();
3089
- if (i === "unsupported") {
3090
- this.disconnectWebSocket(), this.setUnsupported();
3091
- return;
3092
- }
3093
- if (!i) {
3094
- this.disconnectWebSocket(), this.error.value = /* @__PURE__ */ Error("No streaming source available"), this.status.value = "error";
3095
- return;
3096
- }
3097
- if (!r || this.source.value?._id === t) break;
3098
- }
3099
- this.source.value?._id !== n && this.dialWithProbe();
3100
- } catch (t) {
3101
- if (e !== this.connectionGeneration) return;
3102
- Q.debug("start() — error:", t), this.error.value = t instanceof Error ? t : Error(String(t)), this.status.value = "error";
3103
- }
3104
- }
3105
- stop() {
3106
- this.status.value === "closed" ? Q.debug("stop() — already closed, no-op") : (Q.debug(`stop() — was ${this.status.value}, transitioning to closed`), ++this.connectionGeneration, this.status.value = "closed", this.isPlaying.value = !1, this.cleanup());
3107
- }
3108
- async setMode(e) {
3109
- this.requestedMode.value !== e && (this.requestedMode.value = e, this.activeMode.value = e === "auto" ? "webrtc" : e, this.status.value === "unsupported" ? (this.stop(), await this.start()) : this.status.value === "connected" && await this.restart());
3110
- }
3111
- async setResolution(e) {
3112
- if (this.requestedResolution.value === e) return;
3113
- if (this.requestedResolution.value = e, this.status.value === "unsupported") {
3114
- this.stop(), await this.start();
3115
- return;
3116
- }
3117
- let t = this.getSourceForResolution(e);
3118
- t && t !== "unsupported" && t.source._id !== this.source.value?._id && (this.source.value = t.source, this.activeResolution.value = t.effectiveResolution, this.degradedFrom.value = t.degradedFrom, this.degradeReason.value = t.degradedFrom ? "codec" : null, this.status.value === "connected" && await this.restart());
3119
- }
3120
- async setMicrophone(e) {
3121
- e ? this.hasBackchannel.value && (this.pendingMicTrack = e, this.backchannelHandler ? this.backchannelHandler.isConnected && await this.backchannelHandler.setMicrophoneTrack(e) : await this.startBackchannel()) : this.closeBackchannel();
3122
- }
3123
- setMuted(e) {
3124
- this.muted.value = e;
3125
- let t = this.videoElement.value;
3126
- t && (t.muted = e), this.audioElement && (this.audioElement.muted = e);
3127
- }
3128
- async play() {
3129
- this.paused.value = !1;
3130
- let e = this.videoElement.value;
3131
- if (!e) return;
3132
- try {
3133
- await e.play();
3134
- } catch {
3135
- if (!e.muted) {
3136
- e.muted = !0, this.muted.value = !0;
3137
- try {
3138
- await e.play();
3139
- } catch {}
3140
- }
3141
- }
3142
- let t = this.audioElement;
3143
- t && (t.muted = this.muted.value, t.play().catch(() => {}));
3144
- }
3145
- pause() {
3146
- this.paused.value = !0;
3147
- let e = this.videoElement.value;
3148
- e && e.pause(), this.audioElement?.pause();
3149
- }
3150
- destroy() {
3151
- for (let e of this.stopWatchers) e();
3152
- this.stopWatchers = [], this.offTabVisible?.(), this.offTabVisible = void 0, this.offTabPaused?.(), this.offTabPaused = void 0, this.disarmPipWatch?.();
3153
- let e = this.videoElement.value;
3154
- e && (this.onVideoPauseBound && e.removeEventListener("pause", this.onVideoPauseBound), this.onVideoPlayBound && e.removeEventListener("play", this.onVideoPlayBound), this.onVideoResizeBound && e.removeEventListener("resize", this.onVideoResizeBound)), this.stop(), this.scope.stop();
3155
- }
3156
- restart() {
3157
- return this.reconnect(1e3);
3158
- }
3159
- invalidateProbe() {
3160
- this.probeInfo.value = void 0, this.probeInFlight = void 0;
3161
- }
3162
- async reconnect(e, t = "reconnecting") {
3163
- this.status.value = t, this.isPlaying.value = !1, this.cleanup(), this.abortController = new AbortController();
3164
- let n = ++this.connectionGeneration;
3165
- try {
3166
- await ai(e, this.abortController.signal);
3167
- } catch {
3168
- return;
3169
- }
3170
- if (n === this.connectionGeneration) {
3171
- if (!this.isReady.value) this.status.value = "idle";
3172
- else {
3173
- this.status.value = "reconnecting";
3174
- try {
3175
- let e = this.initializeSource();
3176
- if (e === "unsupported") {
3177
- this.setUnsupported();
3178
- return;
3179
- }
3180
- if (!e) {
3181
- this.error.value = /* @__PURE__ */ Error("No streaming source available"), this.status.value = "error";
3182
- return;
3183
- }
3184
- this.dialWithProbe();
3185
- } catch (e) {
3186
- if (n !== this.connectionGeneration) return;
3187
- this.error.value = e instanceof Error ? e : Error(String(e)), this.status.value = "error";
3188
- }
3189
- }
3190
- }
3191
- }
3192
- retryLater(e) {
3193
- let t = this.nextRetryDelay();
3194
- e && (this.error.value = e), this.reconnect(t, e ? "error" : "reconnecting");
3195
- }
3196
- nextRetryDelay() {
3197
- this.playingSince !== void 0 && performance.now() - this.playingSince >= wi && (this.failures = 0), this.playingSince = void 0;
3198
- let e = Math.min(Si * 2 ** this.failures, Ci);
3199
- return this.failures++, Ni(e);
3200
- }
3201
- retryAfterNoMedia() {
3202
- this.markSourceUndecodable() ? this.restart() : this.retryLater(this.lastError);
3203
- }
3204
- startWhenReady() {
3205
- if (this.isReady.value) {
3206
- Q.debug("startWhenReady — already ready, calling start() now"), this.start();
3207
- return;
3208
- }
3209
- Q.debug(`startWhenReady — not ready (camera=${!!this.camera.value}, video=${!!this.videoElement.value}, target=${!!this.target.value}), watching isReady`);
3210
- let e = c(this.isReady, (t) => {
3211
- t && (Q.debug("startWhenReady — isReady → true, calling start()"), e(), this.start());
3212
- });
3213
- this.stopWatchers.push(e);
3214
- }
3215
- setupWatchers() {
3216
- let e = c(() => this.target.value?.endpoint.url ?? null, (e, t) => {
3217
- e && t && e !== t && this.status.value !== "idle" && this.status.value !== "closed" && this.restart();
3218
- });
3219
- this.stopWatchers.push(e);
3220
- let t = c(() => this.target.value?.tokens.access, (e) => {
3221
- this.rejectedToken !== void 0 && e && e !== this.rejectedToken && (this.rejectedToken = void 0, this.status.value !== "idle" && this.status.value !== "closed" && this.reconnect(0));
3222
- });
3223
- this.stopWatchers.push(t);
3224
- let n = c(() => this.camera.value?.sources.value, () => {
3225
- this.status.value === "unsupported" && (this.stop(), this.start());
3226
- });
3227
- this.stopWatchers.push(n);
3228
- let r = c(() => o(this.options.mode), (e) => {
3229
- e !== void 0 && e !== this.requestedMode.value && this.setMode(e);
3230
- });
3231
- this.stopWatchers.push(r);
3232
- let i = c(() => o(this.options.resolution), (e) => {
3233
- e !== void 0 && e !== this.requestedResolution.value && this.setResolution(e);
3234
- });
3235
- this.stopWatchers.push(i);
3236
- let a = c(this.videoElement, (e, t) => {
3237
- t && (this.onVideoPauseBound && t.removeEventListener("pause", this.onVideoPauseBound), this.onVideoPlayBound && t.removeEventListener("play", this.onVideoPlayBound), this.onVideoResizeBound && t.removeEventListener("resize", this.onVideoResizeBound)), e && (this.onVideoPauseBound = () => {
3238
- this.paused.value || e.play().catch(() => {});
3239
- }, this.onVideoPlayBound = () => {
3240
- this.paused.value = !1;
3241
- }, this.onVideoResizeBound = () => {
3242
- e.videoWidth > 0 && e.videoHeight > 0 && (this.nativeWidth.value = e.videoWidth, this.nativeHeight.value = e.videoHeight);
3243
- }, e.addEventListener("pause", this.onVideoPauseBound), e.addEventListener("play", this.onVideoPlayBound), e.addEventListener("resize", this.onVideoResizeBound), e.videoWidth > 0 && e.videoHeight > 0 && (this.nativeWidth.value = e.videoWidth, this.nativeHeight.value = e.videoHeight));
3244
- }, { immediate: !0 });
3245
- this.stopWatchers.push(a);
3246
- let s = c(() => this.status.value === "connected" && this.isPlaying.value, (e) => {
3247
- this.stopHealthCheck(), e && this.startHealthCheck();
3248
- }, { immediate: !0 });
3249
- this.stopWatchers.push(s);
3250
- let l = c([
3251
- this.camera,
3252
- this.videoElement,
3253
- () => this.target.value
3254
- ], ([e, t, n], [r, i]) => {
3255
- if (e !== r) this.status.value === "connected" ? e && t && n && this.restart() : this.status.value === "unsupported" && e && t && n && (this.stop(), this.start());
3256
- else if (t !== i && t) {
3257
- if (t.srcObject instanceof MediaStream) {
3258
- let e = t.srcObject;
3259
- if (e.active && e.getTracks().some((e) => e.readyState === "live")) {
3260
- fi(t), this.lastMediaStream = e;
3261
- return;
3262
- }
3263
- }
3264
- if (this.status.value === "connected" && this.activeMode.value !== "mse") {
3265
- let e = this.lastMediaStream;
3266
- e?.active && e.getTracks().some((e) => e.readyState === "live") ? (t.srcObject = e, fi(t)) : this.restart();
3267
- } else if (this.status.value === "connected" && this.activeMode.value === "mse") this.restart();
3268
- else if (this.status.value === "connecting" || this.status.value === "reconnecting") {
3269
- let e = c(() => this.isPlaying.value, (t) => {
3270
- let n = this.videoElement.value;
3271
- t && n?.srcObject instanceof MediaStream ? (fi(n), e()) : t && n && !n.srcObject && this.lastMediaStream?.active && (n.srcObject = this.lastMediaStream, fi(n), e());
3272
- }, { immediate: !0 });
3273
- this.stopWatchers.push(e);
3274
- }
3275
- }
3276
- });
3277
- this.stopWatchers.push(l);
3278
- }
3279
- isSourcePlayable(e) {
3280
- if (this.triedSourceIds.has(e._id)) return !1;
3281
- if (e.videoCodec === "JPEG") return Qr();
3282
- if (e.videoCodec !== "H265") return !0;
3283
- let t = this.requestedMode.value;
3284
- return Zr(t === "auto" ? "auto" : t === "mse" ? "mse" : "webrtc");
3285
- }
3286
- getSourceForResolution(e) {
3287
- let t = this.camera.value;
3288
- if (!t) return;
3289
- let n = [
3290
- "high-resolution",
3291
- "mid-resolution",
3292
- "low-resolution"
3293
- ], r = Math.max(0, n.indexOf(e)), i = !1;
3294
- for (let a = r; a < n.length; a++) {
3295
- let r = t.sources.value.find((e) => e.role === n[a]);
3296
- if (r) {
3297
- if (!this.isSourcePlayable(r)) i = !0;
3298
- else return {
3299
- source: r,
3300
- effectiveResolution: n[a],
3301
- degradedFrom: i ? e : null
3302
- };
3303
- }
3304
- }
3305
- let a = t.streamSource.value;
3306
- if (a && this.isSourcePlayable(a)) return {
3307
- source: a,
3308
- effectiveResolution: a.role ?? "low-resolution",
3309
- degradedFrom: i ? e : null
3310
- };
3311
- if (i || a) return "unsupported";
3312
- }
3313
- initializeSource() {
3314
- let e = this.getSourceForResolution(this.requestedResolution.value);
3315
- return e ? e === "unsupported" ? "unsupported" : (this.source.value = e.source, this.activeResolution.value = e.effectiveResolution, this.degradedFrom.value = e.degradedFrom, this.degradeReason.value = e.degradedFrom ? "codec" : null, this.probedSourceId && this.probedSourceId !== e.source._id && (this.probeInfo.value = void 0, this.probedSourceId = void 0, this.hasVideo.value = !1, this.hasAudio.value = !1, this.hasBackchannel.value = !1), !0) : !1;
3316
- }
3317
- setUnsupported() {
3318
- let e = this.camera.value?.sources.value.find((e) => e.videoCodec)?.videoCodec ?? "H265";
3319
- this.error.value = /* @__PURE__ */ Error(`${e} cannot be played on this device`), this.status.value = "unsupported";
3320
- }
3321
- probeSaysUnplayable(e) {
3322
- let t = e.video.filter((e) => e.direction === "sendonly");
3323
- if (!t.length) return !1;
3324
- if (t.every((e) => e.codec === "JPEG")) return !Qr();
3325
- if (!t.every((e) => e.codec === "H265")) return !1;
3326
- let n = this.requestedMode.value;
3327
- return !Zr(n === "auto" ? "auto" : n === "mse" ? "mse" : "webrtc");
3328
- }
3329
- sourceLikelyH265() {
3330
- let e = this.source.value;
3331
- if (!e) return !1;
3332
- if (e.videoCodec === "H265") return !0;
3333
- if (e.videoCodec !== void 0) return !1;
3334
- let t = this.probeInfo.value?.video.filter((e) => e.direction === "sendonly") ?? [];
3335
- return t.length > 0 && t.every((e) => e.codec === "H265");
3336
- }
3337
- markSourceUndecodable() {
3338
- let e = this.source.value;
3339
- return !e || !this.sourceLikelyH265() ? !1 : (this.triedSourceIds.add(e._id), this.invalidateProbe(), !0);
3340
- }
3341
- handleNoFramesWhileConnected() {
3342
- this.sourceLikelyH265() && !this.webrtcTookOver() && $r(this.activeMode.value === "mse" ? "mse" : "webrtc"), this.requestedMode.value === "auto" && this.activeMode.value !== "mse" && !this.mjpegHandler && !this.mseRejected ? (this.webrtcHandler?.close(), this.webrtcHandler = void 0, this.awaitingWebRTCFrame = !1, this.activeMode.value = "mse", this.isPlaying.value = !1, this.status.value = "reconnecting", this.startMSE(), this.resumeBackchannel()) : this.retryAfterNoMedia();
3343
- }
3344
- webrtcTookOver() {
3345
- return this.awaitingWebRTCFrame && this.isPlaying.value;
3346
- }
3347
- noteDeliveredAudio(e) {
3348
- e && !this.hasAudio.value && (this.hasAudio.value = !0);
3349
- }
3350
- probeStream() {
3351
- let e = this.camera.value, t = this.source.value;
3352
- if (!e || !t || this.abortController.signal.aborted) return Promise.resolve(void 0);
3353
- if (this.probeInFlight?.sourceId === t._id) return this.probeInFlight.result;
3354
- let n = {
3355
- sourceId: t._id,
3356
- result: Promise.resolve(void 0)
3357
- };
3358
- return this.probeInFlight = n, n.result = this.askProbe(e, n), n.result;
3359
- }
3360
- async askProbe(e, t) {
3361
- try {
3362
- let n = await e.probeStream(t.sourceId, {
3363
- video: !0,
3364
- audio: ["pcma", "opus"],
3365
- microphone: !0
3366
- });
3367
- return n && this.probeInFlight === t && !this.abortController.signal.aborted && (this.probeInfo.value = n, this.probedSourceId = t.sourceId, this.hasBackchannel.value = n.audio.some((e) => e.direction === "recvonly"), this.hasAudio.value = n.audio.filter((e) => e.direction === "sendonly").length > 0, this.hasVideo.value = n.video.filter((e) => e.direction === "sendonly").length > 0), n;
3368
- } catch {
3369
- return;
3370
- } finally {
3371
- this.probeInFlight === t && (this.probeInFlight = void 0);
3372
- }
3373
- }
3374
- dialWithProbe() {
3375
- let e = this.settledProbe(this.probeForSource());
3376
- return this.probing = e, this.connectWebSocket(), e;
3377
- }
3378
- probeForSource() {
3379
- let e = this.source.value, t = this.probeInfo.value;
3380
- return t && e && this.probedSourceId === e._id ? Promise.resolve(t) : this.probeStream();
3381
- }
3382
- settledProbe(e) {
3383
- return new Promise((t) => {
3384
- let n = setTimeout(() => t(void 0), Ai), r = (e) => {
3385
- clearTimeout(n), t(e);
3386
- };
3387
- e.then(r, () => r(void 0));
3388
- });
3389
- }
3390
- connectWebSocket() {
3391
- this.disconnectWebSocket();
3392
- let e = this.camera.value;
3393
- if (this.abortController.signal.aborted || !e || !this.source.value || !this.target.value) return;
3394
- let t = this.source.value.name ?? this.source.value.role ?? this.source.value._id, n = j(e.name.value, t);
3395
- this.connectToken = this.target.value.tokens.access, this.rejectedToken = void 0, this.lastError = void 0, this.mseRejected = !1, this.mseAnswerPending = !1, this.mseStopPending = !1, this.offerPeer = void 0, this.answeredPeer = void 0, this.wsOpenedAt = performance.now(), this.startWsConnectTimeout(), this.wsHandle = this.wsTransport.open({
3396
- path: "/api/go2rtc",
3397
- query: { src: n },
3398
- binaryType: "arraybuffer"
3399
- }), this.wsHandle.on("open", () => this.handleWsOpen()), this.wsHandle.on("close", (e) => this.handleWsClose(e)), this.wsHandle.on("message", (e) => this.handleWsMessage(e)), this.wsHandle.on("error", () => {});
3400
- }
3401
- disconnectWebSocket() {
3402
- this.stopWsConnectTimeout(), this.wsHandle &&= (this.wsHandle.dispose(), void 0);
3403
- }
3404
- sendWsMessage(e) {
3405
- this.wsHandle?.readyState === WebSocket.OPEN && this.wsHandle.send(JSON.stringify(e));
3406
- }
3407
- handleWsOpen() {
3408
- if (this.abortController.signal.aborted) return;
3409
- this.stopWsConnectTimeout(), this.status.value = "connecting";
3410
- let e = this.wsHandle;
3411
- (this.probing ?? Promise.resolve(void 0)).then(() => {
3412
- this.abortController.signal.aborted || this.wsHandle !== e || this.requestStream();
3413
- });
3414
- }
3415
- requestStream() {
3416
- if (this.sourceIsMjpeg()) {
3417
- this.startMjpeg();
3418
- return;
3419
- }
3420
- let e = this.requestedMode.value;
3421
- e === "auto" ? this.startAutoMode() : e === "webrtc" || e === "webrtc/tcp" ? this.startWebRTC(e) : e === "mse" && this.startMSE();
3422
- }
3423
- handleWsClose(e) {
3424
- if (this.status.value === "closed" || this.abortController.signal.aborted) return;
3425
- let t = e ? _(e) : "other";
3426
- if (t === "other") {
3427
- this.retryLater();
3428
- return;
3429
- }
3430
- let n = this.connectToken;
3431
- Q.debug(`go2rtc socket closed (${e?.code}): ${e?.reason}`), t === "forbidden" ? (this.error.value = Error(e?.reason || `Stream refused (${e?.code})`), this.status.value = "error", this.isPlaying.value = !1, this.cleanup(), this.rejectedToken = n) : this.target.value?.tokens.access === n ? (this.reconnect(Ni(Ci)), this.rejectedToken = n) : this.reconnect(0);
3432
- }
3433
- handleWsMessage(e) {
3434
- if (!this.abortController.signal.aborted) {
3435
- if (typeof e.data == "string") {
3436
- let t;
3437
- try {
3438
- t = JSON.parse(e.data);
3439
- } catch {
3440
- return;
3441
- }
3442
- this.handleMessage(t);
3443
- } else this.mjpegHandler && yr(e.data) ? this.mjpegHandler.appendFrame(e.data) : (this.mseHandler ?? this.audioHandler)?.appendBuffer(e.data);
3444
- }
3445
- }
3446
- handleMessage(e) {
3447
- switch (e.type) {
3448
- case "webrtc/answer":
3449
- this.answeredPeer = this.takeOfferReply(), this.answeredPeer && bi(this.answeredPeer, e), this.resumeBackchannel();
3450
- break;
3451
- case "webrtc/candidate":
3452
- this.answeredPeer && this.isCurrentPeer(this.answeredPeer) && bi(this.answeredPeer, e);
3453
- break;
3454
- case "mse":
3455
- if (this.mseAnswerPending = !1, this.mseStopPending && (this.mseStopPending = !1, this.sendWsMessage({ type: "mse/stop" })), typeof e.value == "string") {
3456
- let t = this.mseHandler ?? this.audioHandler;
3457
- if (!t) break;
3458
- this.noteDeliveredAudio(xi.test(e.value)), t.initializeBuffer(e.value);
3459
- }
3460
- break;
3461
- case "mjpeg":
3462
- this.mjpegHandler && (this.status.value = "connected");
3463
- break;
3464
- case "error": this.handleGo2rtcError(String(e.value));
3465
- }
3466
- }
3467
- handleGo2rtcError(e) {
3468
- let t = e.slice(0, Math.max(0, e.indexOf(":"))), n = Error(e);
3469
- if (Q.debug(`go2rtc error: ${e}`), t === "webrtc/offer") {
3470
- let e = this.takeOfferReply();
3471
- if (e && e === this.webrtcHandler && !e.isConnected) {
3472
- this.lastError = n, this.stopConnectTimeout(), this.requestedMode.value === "auto" ? this.fallBackToMSE() : this.retryLater(n);
3473
- return;
3474
- }
3475
- e && e === this.backchannelHandler && this.closeBackchannel(), this.resumeBackchannel();
3476
- } else if (t === "mjpeg") this.mjpegHandler && this.retryLater(n);
3477
- else if (t === "mse") {
3478
- if (this.mseAnswerPending = !1, this.mseStopPending = !1, this.audioHandler) {
3479
- this.closeAudio();
3480
- return;
3481
- }
3482
- if (!this.mseHandler) return;
3483
- if (this.lastError = n, this.mseRejected = !0, this.requestedMode.value === "auto" && this.webrtcHandler) {
3484
- this.dropMSE();
3485
- return;
3486
- }
3487
- this.retryLater(n);
3488
- } else t.startsWith("webrtc") || (this.lastError = n);
3489
- }
3490
- async startWebRTC(e) {
3491
- if (this.abortController.signal.aborted) return;
3492
- this.startConnectTimeout();
3493
- let t = vi({
3494
- mode: e,
3495
- signal: this.abortController.signal,
3496
- onConnected: (e) => this.handleWebRTCConnected(e),
3497
- onDisconnected: () => this.handleWebRTCDisconnected(),
3498
- onFailed: () => this.handleWebRTCFailed(),
3499
- onCandidate: (e) => this.sendWsMessage({
3500
- type: "webrtc/candidate",
3501
- value: e
3502
- })
3503
- });
3504
- this.webrtcHandler = t;
3505
- let n = await t.createOffer();
3506
- n && !this.abortController.signal.aborted && this.webrtcHandler === t && this.sendOffer(t, n);
3507
- }
3508
- handleWebRTCConnected(e) {
3509
- if (this.abortController.signal.aborted) return;
3510
- let t = this.videoElement.value;
3511
- t && (this.hasVideo.value && e.getVideoTracks().length === 0 ? this.handleWebRTCFailed() : (this.noteDeliveredAudio(e.getAudioTracks().length > 0), this.activeMode.value = this.requestedMode.value === "auto" ? "webrtc" : this.requestedMode.value, this.lastMediaStream = e, t.srcObject = e, t.muted = this.muted.value, fi(t), this.status.value = "connected", e.getVideoTracks().length > 0 ? (this.awaitingWebRTCFrame = !0, this.webrtcTookOver() && this.startConnectTimeout(), this.resetHealthBaseline(t), this.watchFirstFrame(t)) : this.handleFirstFrame(), this.requestedMode.value === "auto" && this.mseHandler && this.dropMSE()));
3512
- }
3513
- handleWebRTCDisconnected() {
3514
- this.status.value !== "closed" && !this.abortController.signal.aborted && (this.status.value = "reconnecting", this.requestedMode.value === "auto" && this.mseHandler?.isReady ? (this.webrtcHandler?.close(), this.webrtcHandler = void 0, this.activeMode.value = "mse", this.status.value = "connected", this.resumeBackchannel()) : this.retryLater());
3515
- }
3516
- handleWebRTCFailed() {
3517
- this.abortController.signal.aborted || (this.stopConnectTimeout(), this.requestedMode.value === "auto" ? this.fallBackToMSE() : this.retryLater(this.lastError ?? /* @__PURE__ */ Error("WebRTC connection failed")));
3518
- }
3519
- fallBackToMSE() {
3520
- this.webrtcHandler?.close(), this.webrtcHandler = void 0, this.awaitingWebRTCFrame = !1, this.mseRejected ? this.retryLater(this.lastError) : (this.activeMode.value = "mse", this.mseHandler?.isReady ? this.handleMSEReady() : this.startMSE(), this.resumeBackchannel());
3521
- }
3522
- startMSE() {
3523
- if (this.mseHandler) return;
3524
- let e = this.videoElement.value;
3525
- if (this.abortController.signal.aborted || !e) return;
3526
- this.mseHandler = ui({
3527
- videoElement: e,
3528
- signal: this.abortController.signal,
3529
- onReady: () => this.handleMSEReady(),
3530
- onFirstData: () => this.handleMSEFirstData(),
3531
- onError: (e, t) => this.handleMSEError(e, t)
3532
- });
3533
- let t = this.mseHandler.setup();
3534
- t && (this.mseStopPending && (this.mseStopPending = !1, this.sendWsMessage({ type: "mse/stop" })), this.sendWsMessage({
3535
- type: "mse",
3536
- value: t
3537
- }), this.mseAnswerPending = !0, this.startMseConnectTimeout());
3538
- }
3539
- handleMSEReady() {
3540
- this.abortController.signal.aborted || (this.stopMseConnectTimeout(), this.requestedMode.value === "auto" && this.webrtcHandler?.isConnected || (this.activeMode.value = "mse", this.status.value = "connected"), !this.webrtcHandler && !this.isPlaying.value && this.startConnectTimeout());
3541
- }
3542
- handleMSEFirstData() {
3543
- if (this.abortController.signal.aborted) return;
3544
- let e = this.videoElement.value;
3545
- e && (this.watchFirstFrame(e), fi(e));
3546
- }
3547
- handleMSEError(e, t) {
3548
- if (this.abortController.signal.aborted) return;
3549
- if (Q.debug(`MSE ${t} error:`, e), this.requestedMode.value === "auto" && this.webrtcHandler) {
3550
- let e = this.isPlaying.value || this.status.value === "connected";
3551
- this.dropMSE(), e && (this.isPlaying.value = !1, this.status.value = "reconnecting");
3552
- return;
3553
- }
3554
- let n = this.videoElement.value, r = !n || n.readyState < ki;
3555
- (t === "setup" || r) && this.sourceLikelyH265() ? ($r("mse"), this.markSourceUndecodable(), this.restart()) : t === "setup" ? (this.error.value = e, this.status.value = "error", this.cleanup()) : this.retryLater();
3556
- }
3557
- dropMSE() {
3558
- this.mseHandler?.close(), this.mseHandler = void 0, this.stopMseConnectTimeout(), this.mseAnswerPending ? this.mseStopPending = !0 : this.sendWsMessage({ type: "mse/stop" });
3559
- }
3560
- startAutoMode() {
3561
- if (this.abortController.signal.aborted) return;
3562
- let e = this.probeInfo.value;
3563
- e && !ti(e).compatible ? (this.activeMode.value = "mse", this.startMSE()) : (this.startWebRTC("webrtc"), this.startMSE());
3564
- }
3565
- sourceIsMjpeg() {
3566
- let e = this.probeInfo.value?.video.filter((e) => e.direction === "sendonly") ?? [];
3567
- return e.length ? e.every((e) => e.codec === "JPEG") : this.source.value?.videoCodec === "JPEG";
3568
- }
3569
- startMjpeg() {
3570
- let e = this.videoElement.value;
3571
- if (this.abortController.signal.aborted || !e) return;
3572
- let t = br({ signal: this.abortController.signal });
3573
- this.mjpegHandler = t, this.activeMode.value = "mjpeg", this.lastMediaStream = t.stream, e.srcObject = t.stream, fi(e), this.sendWsMessage({ type: "mjpeg" }), this.startConnectTimeout(), this.watchFirstFrame(e), this.hasAudio.value && this.startAudio();
3574
- }
3575
- startAudio() {
3576
- if (this.audioHandler || this.abortController.signal.aborted) return;
3577
- let e = document.createElement("audio");
3578
- e.muted = this.muted.value;
3579
- let t = ui({
3580
- videoElement: e,
3581
- signal: this.abortController.signal,
3582
- onReady: () => {},
3583
- onFirstData: () => fi(e),
3584
- onError: (e) => {
3585
- Q.debug("MJPEG audio error:", e), this.dropAudio();
3586
- }
3587
- }), n = t.setup()?.split(",").filter((e) => xi.test(e)).join(",");
3588
- n ? (this.audioElement = e, this.audioHandler = t, this.sendWsMessage({
3589
- type: "mse",
3590
- value: n
3591
- }), this.mseAnswerPending = !0) : t.close();
3592
- }
3593
- dropAudio() {
3594
- this.audioHandler && (this.closeAudio(), this.mseAnswerPending ? this.mseStopPending = !0 : this.sendWsMessage({ type: "mse/stop" }));
3595
- }
3596
- closeAudio() {
3597
- this.audioHandler?.close(), this.audioHandler = void 0;
3598
- let e = this.audioElement;
3599
- e && (this.audioElement = void 0, e.pause(), e.removeAttribute("src"), e.load());
3600
- }
3601
- handleFirstFrame() {
3602
- this.abortController.signal.aborted || ((!this.webrtcHandler || this.webrtcHandler.isConnected) && (this.stopConnectTimeout(), this.awaitingWebRTCFrame = !1, this.resumeBackchannel()), this.error.value = void 0, this.isPlaying.value || (this.isPlaying.value = !0, this.playingSince = performance.now()));
3603
- }
3604
- watchFirstFrame(e) {
3605
- if (this.cancelFirstFrameWatch?.(), e.readyState >= ki) {
3606
- this.handleFirstFrame();
3607
- return;
3608
- }
3609
- let t = e, n = () => {
3610
- this.cancelFirstFrameWatch?.(), this.handleFirstFrame();
3611
- }, r = t.requestVideoFrameCallback?.(n);
3612
- e.addEventListener("loadeddata", n), this.cancelFirstFrameWatch = () => {
3613
- this.cancelFirstFrameWatch = void 0, e.removeEventListener("loadeddata", n), r !== void 0 && t.cancelVideoFrameCallback?.(r);
3614
- };
3615
- }
3616
- startHealthCheck() {
3617
- let e = this.videoElement.value;
3618
- e && this.resetHealthBaseline(e), this.healthInterval = setInterval(() => this.checkHealth(), Ei);
3619
- }
3620
- stopHealthCheck() {
3621
- this.healthInterval !== void 0 && (clearInterval(this.healthInterval), this.healthInterval = void 0), this.stalled.value = !1;
3622
- }
3623
- resetHealthBaseline(e) {
3624
- this.lastProgressAt = performance.now(), this.lastMediaTime = e.currentTime, this.lastFrameCount = this.frameCount(e), this.frameCounterLive = !1, this.stalled.value = !1;
3625
- }
3626
- checkHealth() {
3627
- let e = this.videoElement.value;
3628
- if (!e) return;
3629
- let t = this.activeMode.value === "mse", n = this.frameCount(e);
3630
- n !== void 0 && n > 0 && (this.frameCounterLive = !0);
3631
- let r = n !== this.lastFrameCount || t && e.currentTime !== this.lastMediaTime;
3632
- t && di(e), this.audioElement && di(this.audioElement), this.lastMediaTime = e.currentTime, this.lastFrameCount = n;
3633
- let i = performance.now();
3634
- if (r || !this.expectsFrames(e)) {
3635
- this.lastProgressAt = i, this.stalled.value = !1;
3636
- return;
3637
- }
3638
- let a = i - this.lastProgressAt;
3639
- a >= Oi ? (Q.debug(`no frame for ${Math.round(a)}ms, reconnecting`), this.retryLater()) : a >= Di && (this.stalled.value = !0);
3640
- }
3641
- frameCount(e) {
3642
- return this.mjpegHandler ? this.mjpegHandler.frames : Mi(e);
3643
- }
3644
- expectsFrames(e) {
3645
- return this.paused.value || e.paused || ii(e) || ji() ? !1 : this.activeMode.value === "mse" || this.frameCounterLive;
3646
- }
3647
- cleanup() {
3648
- this.abortController.abort(), this.stopConnectTimeout(), this.stopWsConnectTimeout(), this.stopMseConnectTimeout(), this.stopHealthCheck(), this.cancelFirstFrameWatch?.(), this.awaitingWebRTCFrame = !1, this.lastMediaStream = null, this.webrtcHandler?.close(), this.webrtcHandler = void 0, this.mseHandler?.close(), this.mseHandler = void 0, this.mjpegHandler?.close(), this.mjpegHandler = void 0, this.closeAudio(), this.closeBackchannel(), this.disconnectWebSocket();
3649
- let e = this.videoElement.value;
3650
- e && (e.style.display = "", e.pause(), e.srcObject = null, e.removeAttribute("src"), e.load());
3651
- }
3652
- async startBackchannel() {
3653
- if (this.abortController.signal.aborted || !this.wsHandle || this.wsHandle.readyState !== WebSocket.OPEN || this.offerPeer || this.webrtcHandler && (!this.webrtcHandler.isConnected || this.awaitingWebRTCFrame)) return;
3654
- let e = yi({
3655
- filterUdp: this.requestedMode.value === "webrtc/tcp",
3656
- signal: this.abortController.signal,
3657
- onCandidate: (e) => this.sendWsMessage({
3658
- type: "webrtc/candidate",
3659
- value: e
3660
- }),
3661
- onConnected: async () => {
3662
- this.pendingMicTrack && this.backchannelHandler === e && await e.setMicrophoneTrack(this.pendingMicTrack);
3663
- },
3664
- onFailed: () => this.closeBackchannel(e)
3665
- });
3666
- this.backchannelHandler = e;
3667
- let t;
3668
- try {
3669
- t = await e.createOffer();
3670
- } catch {
3671
- this.closeBackchannel(e);
3672
- return;
3673
- }
3674
- t && !this.abortController.signal.aborted && this.backchannelHandler === e && this.sendOffer(e, t);
3675
- }
3676
- resumeBackchannel() {
3677
- this.pendingMicTrack && !this.backchannelHandler && this.startBackchannel();
3678
- }
3679
- sendOffer(e, t) {
3680
- this.wsHandle?.readyState === WebSocket.OPEN && (this.offerPeer = e, this.wsHandle.send(JSON.stringify({
3681
- type: "webrtc/offer",
3682
- value: t
3683
- })));
3684
- }
3685
- takeOfferReply() {
3686
- let e = this.offerPeer;
3687
- return this.offerPeer = void 0, e && this.isCurrentPeer(e) ? e : void 0;
3688
- }
3689
- isCurrentPeer(e) {
3690
- return e === this.webrtcHandler || e === this.backchannelHandler;
3691
- }
3692
- closeBackchannel(e = this.backchannelHandler) {
3693
- e?.close(), e === this.backchannelHandler && (this.backchannelHandler = void 0, this.pendingMicTrack = null);
3694
- }
3695
- };
3696
- function Fi(e) {
3697
- return new Pi(e);
3698
- }
3699
- var Ii = class {
3700
- streams = /* @__PURE__ */ new Map();
3701
- standalone = /* @__PURE__ */ new Set();
3702
- releaseTimers = /* @__PURE__ */ new Map();
3703
- releaseDelay;
3704
- DEFAULT_RELEASE_DELAY = 2e3;
3705
- constructor(e = {}) {
3706
- this.releaseDelay = e.releaseDelay ?? this.DEFAULT_RELEASE_DELAY;
3707
- }
3708
- has(e) {
3709
- return this.streams.has(e);
3710
- }
3711
- getRefCount(e) {
3712
- return this.streams.get(e)?.refCount ?? 0;
3713
- }
3714
- get(e) {
3715
- return this.streams.get(e);
3716
- }
3717
- acquire(e, t) {
3718
- this.cancelRelease(e);
3719
- let n = this.streams.get(e);
3720
- if (n) return n.refCount++, t && n.consumerContainerRefs.add(t), n;
3721
- }
3722
- register(e, t, n, r, i, a) {
3723
- this.cancelRelease(e);
3724
- let o = {
3725
- stream: t,
3726
- videoElementRef: n,
3727
- cameraDeviceRef: r,
3728
- containerElementRef: i,
3729
- consumerContainerRefs: /* @__PURE__ */ new Set([i]),
3730
- sharedVideoElement: a,
3731
- mediaStream: null,
3732
- refCount: 1
3733
- };
3734
- return this.streams.set(e, o), o;
3735
- }
3736
- updateContainerElement(e, t) {
3737
- let n = this.streams.get(e);
3738
- n && (n.containerElementRef.value = t);
3739
- }
3740
- updateSharedVideoElement(e, t) {
3741
- let n = this.streams.get(e);
3742
- n && (n.sharedVideoElement = t);
3743
- }
3744
- updateMediaStream(e, t) {
3745
- let n = this.streams.get(e);
3746
- n && (n.mediaStream = t);
3747
- }
3748
- release(e, t, n) {
3749
- let r = this.streams.get(e);
3750
- if (r) {
3751
- if (r.refCount--, n) {
3752
- r.consumerContainerRefs.delete(n);
3753
- let e = r.sharedVideoElement, t = n.value, i = e?.parentElement ?? null;
3754
- if (r.refCount > 0 && e && (i === t || i === null || !i.isConnected)) {
3755
- let n = this.pickVisibleConsumer(r, t);
3756
- n && (r.containerElementRef = n.ref, e.parentElement !== n.el && (n.el.appendChild(e), e.play().catch(() => {})));
3757
- }
3758
- }
3759
- if (r.refCount <= 0) {
3760
- let t = setTimeout(() => {
3761
- this.doRelease(e);
3762
- }, this.releaseDelay);
3763
- this.releaseTimers.set(e, t);
3764
- }
3765
- }
3766
- }
3767
- track(e) {
3768
- return this.standalone.add(e), () => {
3769
- this.standalone.delete(e);
3770
- };
3771
- }
3772
- restartConnected() {
3773
- let e = new Set(this.standalone);
3774
- for (let t of this.streams.values()) e.add(t.stream);
3775
- let t = 0;
3776
- for (let n of e) n.status.value !== "connected" || n.paused.value || (n.restart().catch(() => {}), t++);
3777
- return t;
3778
- }
3779
- forceRelease(e) {
3780
- this.cancelRelease(e), this.doRelease(e);
3781
- }
3782
- clear() {
3783
- for (let e of this.releaseTimers.values()) clearTimeout(e);
3784
- this.releaseTimers.clear();
3785
- for (let [e, t] of this.streams) Li(t.stream), this.streams.delete(e);
3786
- }
3787
- getDebugInfo() {
3788
- return Array.from(this.streams.entries()).map(([e, t]) => ({
3789
- cameraName: e,
3790
- refCount: t.refCount,
3791
- mode: t.stream.activeMode.value,
3792
- resolution: t.stream.activeResolution.value
3793
- }));
3794
- }
3795
- pickVisibleConsumer(e, t) {
3796
- let n;
3797
- for (let r of e.consumerContainerRefs) {
3798
- let e = r.value;
3799
- if (e && e !== t && e.isConnected) {
3800
- if (e.checkVisibility?.() ?? e.offsetParent !== null) return {
3801
- ref: r,
3802
- el: e
3803
- };
3804
- n ??= {
3805
- ref: r,
3806
- el: e
3807
- };
3808
- }
3809
- }
3810
- return n;
3811
- }
3812
- cancelRelease(e) {
3813
- let t = this.releaseTimers.get(e);
3814
- t && (clearTimeout(t), this.releaseTimers.delete(e));
3815
- }
3816
- doRelease(e) {
3817
- let t = this.streams.get(e);
3818
- t && (t.refCount <= 0 && (Li(t.stream), this.streams.delete(e)), this.releaseTimers.delete(e));
3819
- }
3820
- };
3821
- function Li(e) {
3822
- let t = e;
3823
- typeof t.destroy == "function" ? t.destroy() : t.stop();
3824
- }
3825
- var $ = new Ii();
3826
- function Ri() {
3827
- return $.restartConnected();
3828
- }
3829
- var zi = /* @__PURE__ */ new WeakMap(), Bi = null;
3830
- function Vi(e) {
3831
- Bi = e;
3832
- }
3833
- var Hi = [], Ui = i(null);
3834
- function Wi() {
3835
- Ui.value = Hi[Hi.length - 1] ?? null;
3836
- }
3837
- function Gi() {
3838
- return s(() => Ui.value);
3839
- }
3840
- function Ki(e, t = {}) {
3841
- let n = t.mode ?? "fit", a = r(!1), l = i(null);
3842
- c(() => o(e), (e) => {
3843
- l.value = e ?? null;
3844
- }, { immediate: !0 });
3845
- function u(e) {
3846
- e.key === "Escape" && a.value && f();
3847
- }
3848
- async function d() {
3849
- let e = l.value;
3850
- if (!e || a.value) return;
3851
- let t = document.createElement("div");
3852
- t.className = `cui-fullscreen cui-fullscreen-${n}`, qi(t, n);
3853
- let r = document.createComment("cui-fullscreen");
3854
- e.before(r);
3855
- let i = {
3856
- wrapper: t,
3857
- parent: e.parentElement,
3858
- placeholder: r,
3859
- bodyOverflow: document.body.style.overflow,
3860
- htmlOverflow: document.documentElement.style.overflow,
3861
- scrollY: window.scrollY
3862
- };
3863
- zi.set(e, i), e.setAttribute("data-cui-fullscreen", n), (Bi ?? document.body).appendChild(t), t.appendChild(e), document.body.style.overflow = "hidden", document.documentElement.style.overflow = "hidden", window.scrollTo({
3864
- top: 0,
3865
- behavior: "instant"
3866
- }), document.addEventListener("keydown", u), Hi.push(t), Wi(), a.value = !0;
3867
- }
3868
- async function f() {
3869
- let e = l.value;
3870
- if (!e || !a.value) return;
3871
- let t = zi.get(e);
3872
- if (!t) return;
3873
- zi.delete(e), e.removeAttribute("data-cui-fullscreen"), t.placeholder.parentNode ? t.placeholder.replaceWith(e) : t.parent?.appendChild(e), t.wrapper.remove(), document.body.style.overflow = t.bodyOverflow, document.documentElement.style.overflow = t.htmlOverflow, window.scrollTo({
3874
- top: t.scrollY,
3875
- behavior: "instant"
3876
- }), document.removeEventListener("keydown", u);
3877
- let n = Hi.indexOf(t.wrapper);
3878
- n !== -1 && Hi.splice(n, 1), Wi(), a.value = !1;
3879
- }
3880
- async function m() {
3881
- a.value ? await f() : await d();
3882
- }
3883
- return p(() => {
3884
- a.value && l.value && f(), document.removeEventListener("keydown", u);
3885
- }), {
3886
- isFullscreen: s(() => a.value),
3887
- isSupported: s(() => !0),
3888
- enter: d,
3889
- exit: f,
3890
- toggle: m
3891
- };
3892
- }
3893
- function qi(e, t) {
3894
- let n = {
3895
- position: "fixed",
3896
- top: "0",
3897
- right: "0",
3898
- bottom: "0",
3899
- left: "0",
3900
- zIndex: "2147483647",
3901
- margin: "0",
3902
- background: "black",
3903
- paddingTop: "env(safe-area-inset-top)",
3904
- paddingRight: "env(safe-area-inset-right)",
3905
- paddingBottom: "env(safe-area-inset-bottom)",
3906
- paddingLeft: "env(safe-area-inset-left)",
3907
- boxSizing: "border-box"
3908
- };
3909
- t === "fit" ? Object.assign(e.style, n, {
3910
- display: "flex",
3911
- alignItems: "center",
3912
- justifyContent: "center",
3913
- overflow: "hidden"
3914
- }) : Object.assign(e.style, n, {
3915
- display: "block",
3916
- overflowY: "auto",
3917
- overflowX: "hidden",
3918
- WebkitOverflowScrolling: "touch",
3919
- overscrollBehavior: "contain"
3920
- });
3921
- }
3922
- var Ji = 75, Yi = 500, Xi = 1e4, Zi = 2, Qi = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mNkYAAAAAYAAjCB0C8AAAAASUVORK5CYII=", $i = 0, ea = 0;
3923
- function ta() {
3924
- let e = performance.now();
3925
- e - ea > Yi && ($i = 0);
3926
- let t = $i * Ji;
3927
- return $i++, ea = e, t;
3928
- }
3929
- function na(e) {
3930
- return !e || !e.isConnected ? !1 : e.checkVisibility?.() ?? e.offsetParent !== null;
3931
- }
3932
- function ra(e) {
3933
- let { activityConfig: t, autoStart: a = !0, isolated: l = !1 } = e, u = l, d, f = () => o(a), m = e.startDelay ?? ta(), h = [], { isConnected: g } = k(), _ = s(() => o(e.camera)), v = s(() => typeof _.value == "string"), y = s(() => {
3934
- let e = _.value;
3935
- return typeof e == "string" ? e : e.name.value;
3936
- }), { camera: b, isLoading: x } = ft(s(() => v.value ? y.value : "")), S = s(() => v.value && x.value), C = s(() => v.value ? b.value : _.value), w, T, E, D = i(), O = i(), A = i(), j = i(), M = i(), ee = i(), te = r(!1), N = r(!1), P = r(!1), ne = r(0), re = r(0), F = r(!1), ie = r(!1), I = r(!1), L = r(m <= 0), R, z, B = !1, ae = !1;
3937
- m > 0 && (w = setTimeout(() => {
3938
- L.value = !0;
3939
- }, m)), c(C, (e) => {
3940
- ee.value = e;
3941
- }, { immediate: !0 });
3942
- let V = s(() => ee.value?.disabled.value === !0), H = s(() => M.value?.status.value ?? "idle"), oe = s(() => M.value?.isPlaying.value ?? !1), se = s(() => M.value?.stalled?.value ?? !1), ce = s(() => M.value?.activeMode.value ?? "webrtc"), le = s(() => M.value?.activeResolution.value ?? "low-resolution"), ue = s(() => M.value?.degradedFrom.value ?? null), de = s(() => H.value === "unsupported"), fe = s(() => M.value?.hasAudio.value ?? !1), pe = s(() => M.value?.hasBackchannel.value ?? !1), me = s(() => M.value?.error.value), he = s(() => H.value === "reconnecting"), ge = s(() => S.value || !oe.value && H.value !== "error" && H.value !== "unsupported"), U = s(() => fe.value && H.value === "connected"), _e = s(() => !!(typeof navigator < "u" && navigator.mediaDevices) && pe.value), ve = s(() => M.value?.muted.value ?? !0), ye = s(() => M.value?.paused.value ?? !1), be = s(() => typeof document < "u" && document.pictureInPictureEnabled && !!A.value), xe = s(() => A.value), Se = s(() => O.value ?? D.value), W = vr({
3943
- initialMode: o(e.activityMode) ?? "always-on",
3944
- config: t,
3945
- onStreamStart: () => {
3946
- !V.value && !Fe() && M.value?.start();
3947
- },
3948
- onStreamStop: () => {
3949
- if (te.value) {
3950
- let e = E ?? y.value;
3951
- if (e && $.getRefCount(e) > 1) return;
3952
- }
3953
- M.value?.stop();
3954
- },
3955
- isStreamPlaying: () => oe.value
3956
- }), { isFullscreen: Ce, toggle: we } = Ki(Se);
3957
- function Te() {
3958
- return T = Fi({
3959
- camera: ee,
3960
- videoElement: j,
3961
- containerElement: D,
3962
- mode: s(() => o(e.mode) ?? "auto"),
3963
- resolution: s(() => o(e.resolution) ?? "high-resolution"),
3964
- autoStart: !1
3965
- }), T;
3966
- }
3967
- let G = Te();
3968
- function Ee() {
3969
- let e = document.createElement("video");
3970
- return e.autoplay = !0, e.playsInline = !0, e.muted = !0, e.disablePictureInPicture = !1, e.preload = "auto", e.poster = Qi, e.style.position = "absolute", e.style.width = "100%", e.style.height = "100%", e.style.inset = "0", e.style.objectFit = "fill", e;
3971
- }
3972
- function De(e, t) {
3973
- e.parentElement && e.parentElement !== t && e.parentElement.removeChild(e), e.parentElement !== t && t.appendChild(e);
3974
- }
3975
- function K() {
3976
- if (u) return;
3977
- let e = D.value, t = A.value;
3978
- if (!e || !t || t.parentElement === e || !na(e) || na(t.parentElement)) return;
3979
- De(t, e), t.play().catch(() => {});
3980
- let n = y.value, r = n ? $.get(n) : void 0;
3981
- r && (r.containerElementRef = D);
3982
- }
3983
- function Oe() {
3984
- F.value = !0;
3985
- }
3986
- function ke() {
3987
- F.value = !1;
3988
- }
3989
- function Ae() {
3990
- F.value = ii(A.value);
3991
- }
3992
- function je() {
3993
- return H.value !== "idle" && H.value !== "closed" && H.value !== "unsupported";
3994
- }
3995
- function q() {
3996
- let e = A.value;
3997
- if (!e || e.readyState < Zi || !e.videoWidth || !e.videoHeight) return;
3998
- let t = Math.round((D.value?.clientWidth || e.videoWidth) * (globalThis.devicePixelRatio || 1)), n = document.createElement("canvas");
3999
- n.width = Math.min(e.videoWidth, t), n.height = Math.round(e.videoHeight * n.width / e.videoWidth);
4000
- try {
4001
- n.getContext("2d")?.drawImage(e, 0, 0, n.width, n.height), e.poster = n.toDataURL("image/jpeg", .8);
4002
- } catch {}
4003
- }
4004
- function Me() {
4005
- clearTimeout(R), R = void 0;
4006
- }
4007
- function Ne() {
4008
- clearTimeout(z), z = void 0;
4009
- }
4010
- function Pe() {
4011
- I.value ? (Ne(), F.value || ie.value || ye.value || !je() ? Me() : R ??= setTimeout(Ie, ae ? Xi : 0)) : (Me(), B && Le());
4012
- }
4013
- function Fe() {
4014
- return !I.value || ae ? !1 : (B = !0, !0);
4015
- }
4016
- function Ie() {
4017
- R = void 0, !(!I.value || F.value || ie.value || ye.value || W.inStandby.value || !je()) && (ii(A.value) ? F.value = !0 : E && $.getRefCount(E) > 1 ? R = setTimeout(Ie, Xi) : (q(), M.value?.stop(), B = !0));
4018
- }
4019
- function Le() {
4020
- z ??= setTimeout(() => {
4021
- z = void 0, !I.value && B && (B = !1, !(V.value || !f() || W.inStandby.value) && (H.value === "idle" || H.value === "closed") && M.value?.start());
4022
- }, ta());
4023
- }
4024
- function Re() {
4025
- if (N.value) return;
4026
- let e = D.value, t = C.value;
4027
- if (!e || !t || !g.value) return;
4028
- N.value = !0, te.value = !1, M.value = G, h.push($.track(G));
4029
- let n = Ee();
4030
- A.value = n, j.value = n, f() && L.value && W.mode.value === "always-on" && !V.value && !Fe() && G.start();
4031
- }
4032
- function ze() {
4033
- if (N.value) return;
4034
- if (u) {
4035
- Re();
4036
- return;
4037
- }
4038
- let e = D.value, t = y.value, n = C.value;
4039
- if (!e || !t || !g.value) return;
4040
- let r = $.get(t);
4041
- if (r && r.refCount > 0) {
4042
- let n = r.containerElementRef.value;
4043
- if (n && n !== e && na(n)) {
4044
- d || (d = setTimeout(() => {
4045
- if (d = void 0, P.value || N.value) return;
4046
- let e = $.get(t), n = e?.containerElementRef.value;
4047
- e && e.refCount > 0 && n && n !== D.value && na(n) && (u = !0), ze();
4048
- }, 200), h.push(() => {
4049
- d && clearTimeout(d), d = void 0;
4050
- }));
4051
- return;
4052
- }
4053
- }
4054
- let i = $.acquire(t, D);
4055
- if (i) {
4056
- N.value = !0, E = t, te.value = !0, M.value = i.stream, n && i.cameraDeviceRef && (i.cameraDeviceRef.value = n);
4057
- let r = i.sharedVideoElement;
4058
- r || (r = Ee(), i.sharedVideoElement = r, $.updateSharedVideoElement(t, r)), i.mediaStream?.active && (r.srcObject = i.mediaStream), e && (i.containerElementRef = D), A.value = r, i.videoElementRef.value = r, He(i.stream, r, t), f() && L.value && W.mode.value === "always-on" && !V.value && !Fe() && (i.stream.activeMode.value === "mse" ? r.play().catch(() => {}) : Be(i, r, t));
4059
- } else if (n) {
4060
- N.value = !0, E = t, te.value = !1, M.value = G;
4061
- let e = Ee();
4062
- A.value = e, j.value = e, $.register(t, G, j, ee, D, e), f() && L.value && W.mode.value === "always-on" && !V.value && !Fe() && G.start();
4063
- let n = c(() => G.isPlaying.value, (n) => {
4064
- n && e.srcObject instanceof MediaStream && $.updateMediaStream(t, e.srcObject);
4065
- }, { immediate: !0 });
4066
- h.push(n);
4067
- let r = c(() => G.status.value, (n) => {
4068
- n === "connected" && e.srcObject instanceof MediaStream && $.updateMediaStream(t, e.srcObject);
4069
- });
4070
- h.push(r);
4071
- }
4072
- }
4073
- function Be(e, t, n) {
4074
- if (!e) return;
4075
- let r = e.stream, i = r.activeMode.value, a = r.status.value, o = e.mediaStream?.active && e.mediaStream.getTracks().some((e) => e.readyState === "live");
4076
- i === "mse" ? ($.updateMediaStream(n, null), r.restart()) : o && e.mediaStream ? (t.srcObject = e.mediaStream, t.play().catch(() => {})) : a === "idle" || a === "closed" ? (r.start(), Ve(r, t, n)) : (a === "connected" && r.restart(), Ve(r, t, n));
4077
- }
4078
- function Ve(e, t, n) {
4079
- let r = c([() => e.isPlaying.value, () => e.status.value], ([e, i]) => {
4080
- if (i === "connected" || e) {
4081
- let e = $.get(n)?.mediaStream;
4082
- e?.active && e.getTracks().some((e) => e.readyState === "live") ? (t.srcObject = e, t.play().catch(() => {}), r()) : t.srcObject instanceof MediaStream && ($.updateMediaStream(n, t.srcObject), t.play().catch(() => {}), r());
4083
- }
4084
- }, { immediate: !0 });
4085
- h.push(r);
4086
- }
4087
- function He(e, t, n) {
4088
- let r = e.status.value !== "connected", i = c(() => e.status.value, (e) => {
4089
- e === "reconnecting" || e === "connecting" ? r = !0 : e === "connected" && r && (r = !1, setTimeout(() => {
4090
- t.srcObject instanceof MediaStream && ($.updateMediaStream(n, t.srcObject), t.play().catch(() => {}));
4091
- }, 100));
4092
- }, { immediate: !0 });
4093
- h.push(i);
4094
- let a = c(() => e.isPlaying.value, (r) => {
4095
- r && e.activeMode.value !== "mse" && t.srcObject instanceof MediaStream && ($.updateMediaStream(n, t.srcObject), t.play().catch(() => {}));
4096
- }, { immediate: !0 });
4097
- h.push(a);
4098
- }
4099
- async function Ue() {
4100
- V.value || (W.inStandby.value ? W.resumeFromStandby() : await M.value?.start());
4101
- }
4102
- function We() {
4103
- M.value?.stop();
4104
- }
4105
- async function Ge() {
4106
- await M.value?.restart();
4107
- }
4108
- function Ke() {
4109
- V.value || W.resumeFromStandby();
4110
- }
4111
- async function qe(e) {
4112
- let t = y.value;
4113
- t && $.updateMediaStream(t, null), await M.value?.setMode(e);
4114
- }
4115
- async function Je(e) {
4116
- await M.value?.setResolution(e);
4117
- }
4118
- async function Ye(e) {
4119
- await M.value?.setMicrophone(e);
4120
- }
4121
- function Xe(e) {
4122
- W.setMode(e);
4123
- }
4124
- function Ze() {
4125
- let t = o(e.activityMode);
4126
- t && t !== W.mode.value && W.setMode(t);
4127
- }
4128
- function Qe(e) {
4129
- W.reportActivity(e);
4130
- }
4131
- function $e() {
4132
- W.resetIdleTimer();
4133
- }
4134
- function J(e) {
4135
- ie.value = e, W.setKeepAwake(e);
4136
- }
4137
- function et(e) {
4138
- M.value?.setMuted(e);
4139
- let t = A.value;
4140
- t && (t.muted = e);
4141
- }
4142
- async function tt() {
4143
- await M.value?.play();
4144
- }
4145
- function nt() {
4146
- M.value?.pause();
4147
- }
4148
- function rt() {
4149
- document.pictureInPictureElement ? document.exitPictureInPicture() : document.pictureInPictureEnabled && A.value && A.value.requestPictureInPicture();
4150
- }
4151
- function it() {
4152
- let e = A.value;
4153
- if (!e || e.videoWidth === 0) return null;
4154
- let t = document.createElement("canvas");
4155
- return t.width = e.videoWidth, t.height = e.videoHeight, t.getContext("2d")?.drawImage(e, 0, 0), t.toDataURL("image/png");
4156
- }
4157
- function at() {
4158
- if (P.value) return;
4159
- P.value = !0, w &&= (clearTimeout(w), void 0), Me(), Ne(), M.value?.setMuted(!0);
4160
- let e = A.value;
4161
- e && (e.muted = !0);
4162
- for (let e of h) e();
4163
- if (h.length = 0, u) T?.destroy();
4164
- else {
4165
- let e = E, t = A.value;
4166
- e && N.value && $.release(e, t, D), (!N.value || M.value !== G) && T?.destroy();
4167
- }
4168
- W.dispose();
4169
- }
4170
- function ot(t) {
4171
- let n = o(e.canvasStyle), r = o(e.canvasClass);
4172
- if (n) {
4173
- if (typeof n == "string") t.style.cssText += ";" + n;
4174
- else if (Array.isArray(n)) for (let e of n) typeof e == "string" ? t.style.cssText += ";" + e : e && Object.assign(t.style, e);
4175
- else Object.assign(t.style, n);
4176
- }
4177
- if (r) {
4178
- if (typeof r == "string") t.className = r;
4179
- else if (Array.isArray(r)) t.className = r.filter(Boolean).join(" ");
4180
- else for (let [e, n] of Object.entries(r)) t.classList.toggle(e, !!n);
4181
- }
4182
- }
4183
- if (typeof IntersectionObserver < "u") {
4184
- let e, t = c(D, (t) => {
4185
- if (e?.disconnect(), e = void 0, !t) return;
4186
- let n = Math.round(t.getBoundingClientRect().height), r = n > 0 ? `${n}px 0px` : "25% 0px";
4187
- e = new IntersectionObserver((e) => {
4188
- let t = e[e.length - 1];
4189
- t && (I.value = !t.isIntersecting, t.isIntersecting && (ae = !0, K()));
4190
- }, {
4191
- rootMargin: r,
4192
- scrollMargin: r
4193
- }), e.observe(t);
4194
- }, { immediate: !0 }), n = c([
4195
- I,
4196
- H,
4197
- F,
4198
- ie,
4199
- ye
4200
- ], Pe);
4201
- h.push(() => {
4202
- t(), n(), e?.disconnect();
4203
- });
4204
- }
4205
- if (e.canvasStyle !== void 0 || e.canvasClass !== void 0) {
4206
- let e, t = c(D, (t) => {
4207
- if (e?.(), e = void 0, !t) return;
4208
- Array.from(t.querySelectorAll("canvas")).forEach((e) => {
4209
- ot(e);
4210
- });
4211
- let n = new MutationObserver((e) => {
4212
- for (let t of e) Array.from(t.addedNodes).forEach((e) => {
4213
- e instanceof HTMLCanvasElement ? ot(e) : e instanceof HTMLElement && Array.from(e.querySelectorAll("canvas")).forEach((e) => ot(e));
4214
- });
4215
- });
4216
- n.observe(t, {
4217
- childList: !0,
4218
- subtree: !0
4219
- }), e = () => n.disconnect();
4220
- }, { immediate: !0 });
4221
- h.push(() => {
4222
- t(), e?.();
4223
- });
4224
- }
4225
- if (e.videoStyle !== void 0 || e.videoClass !== void 0) {
4226
- let t = c([
4227
- A,
4228
- () => o(e.videoStyle),
4229
- () => o(e.videoClass)
4230
- ], ([e, t, n]) => {
4231
- if (e) {
4232
- if (t) {
4233
- if (typeof t == "string") e.style.cssText += ";" + t;
4234
- else if (Array.isArray(t)) for (let n of t) typeof n == "string" ? e.style.cssText += ";" + n : n && Object.assign(e.style, n);
4235
- else Object.assign(e.style, t);
4236
- }
4237
- if (n) {
4238
- if (typeof n == "string") e.className = n;
4239
- else if (Array.isArray(n)) e.className = n.filter(Boolean).join(" ");
4240
- else for (let [t, r] of Object.entries(n)) e.classList.toggle(t, r);
4241
- }
4242
- }
4243
- }, { immediate: !0 });
4244
- h.push(t);
4245
- }
4246
- let st = c([() => M.value?.nativeWidth.value, () => M.value?.nativeHeight.value], ([e, t]) => {
4247
- e && e > 0 && (ne.value = e), t && t > 0 && (re.value = t);
4248
- });
4249
- h.push(st);
4250
- let ct = c(A, (e, t) => {
4251
- t && (t.removeEventListener("enterpictureinpicture", Oe), t.removeEventListener("leavepictureinpicture", ke), t.removeEventListener("webkitpresentationmodechanged", Ae)), e && (e.addEventListener("enterpictureinpicture", Oe), e.addEventListener("leavepictureinpicture", ke), e.addEventListener("webkitpresentationmodechanged", Ae));
4252
- }, { immediate: !0 });
4253
- h.push(ct), c([D, A], ([e, t]) => {
4254
- e && t && De(t, e);
4255
- }, { immediate: !0 }), c(() => o(e.activityMode), Ze), c([
4256
- D,
4257
- C,
4258
- g,
4259
- L
4260
- ], () => {
4261
- N.value ? L.value && f() && W.mode.value === "always-on" && !oe.value && H.value === "idle" && !V.value && !Fe() && M.value?.start() : ze();
4262
- }, { immediate: !0 });
4263
- let lt = !1;
4264
- return c(() => N.value && L.value && f() && !V.value, (e) => {
4265
- e && !lt && (lt = !0, Ze(), W.engage());
4266
- }, { immediate: !0 }), c(oe, (e) => {
4267
- if (!e) return;
4268
- W.resetIdleTimer();
4269
- let t = A.value;
4270
- t && t.poster !== Qi && (t.poster = Qi);
4271
- }), c(V, (e, t) => {
4272
- N.value && (!t && e ? M.value?.stop() : t && !e && f() && !W.inStandby.value && M.value?.restart());
4273
- }), n(at), p(at), {
4274
- status: H,
4275
- isPlaying: oe,
4276
- stalled: se,
4277
- activeMode: ce,
4278
- activeResolution: le,
4279
- degradedFrom: ue,
4280
- unsupported: de,
4281
- hasAudio: fe,
4282
- hasBackchannel: pe,
4283
- error: me,
4284
- isReconnecting: he,
4285
- activityMode: W.mode,
4286
- inStandby: W.inStandby,
4287
- hasActivity: W.hasActivity,
4288
- isBusy: ge,
4289
- hasSound: U,
4290
- hasIntercom: _e,
4291
- videoElement: A,
4292
- containerElement: D,
4293
- fullscreenElement: O,
4294
- renderElement: xe,
4295
- stream: M,
4296
- muted: ve,
4297
- paused: ye,
4298
- nativeWidth: ne,
4299
- nativeHeight: re,
4300
- isPip: F,
4301
- supportsPip: be,
4302
- isFullscreen: Ce,
4303
- start: Ue,
4304
- stop: We,
4305
- restart: Ge,
4306
- resumeFromStandby: Ke,
4307
- setMode: qe,
4308
- setResolution: Je,
4309
- setMicrophone: Ye,
4310
- setActivityMode: Xe,
4311
- reportActivity: Qe,
4312
- resetIdleTimer: $e,
4313
- setKeepAwake: J,
4314
- setMuted: et,
4315
- play: tt,
4316
- pause: nt,
4317
- togglePip: rt,
4318
- isCameraDisabled: V,
4319
- toggleFullscreen: we,
4320
- captureScreenshot: it
4321
- };
4322
- }
4323
- function ia() {
4324
- let e = k(), t = M.coreManagerNamespaces(), n = (e) => e.createProxy(t.coreManagerRpc);
4325
- return {
4326
- getFFmpegPath: () => I(e.rpc, (e) => n(e).getFFmpegPath()),
4327
- getServerAddresses: () => I(e.rpc, (e) => n(e).getServerAddresses()),
4328
- getPluginsByInterface: (t) => I(e.rpc, (e) => n(e).getPluginsByInterface(t)),
4329
- getCloudServerId: () => I(e.rpc, (e) => n(e).getCloudServerId()),
4330
- getRestoreGeneration: () => I(e.rpc, (e) => n(e).getRestoreGeneration()),
4331
- getInstanceId: () => I(e.rpc, (e) => n(e).getInstanceId())
4332
- };
4333
- }
4334
- function aa() {
4335
- let e = k(), { rpc: t, isConnected: n } = e, a = M.terminalManagerNamespaces(), o = i(), s = r(!1), c = r(!1), l = r(), d = r({
4336
- cols: 80,
4337
- rows: 24
4338
- }), f, m, h = 0, g, _, v = !1, y = !1, b = (e) => e.createProxy(a.terminalManagerRpc);
4339
- async function x(e) {
4340
- if (!(c.value || s.value)) {
4341
- c.value = !0, l.value = void 0, m = e;
4342
- try {
4343
- let n = await I(t, (t) => b(t).createSession({
4344
- cols: e?.cols ?? 80,
4345
- rows: e?.rows ?? 24,
4346
- cwd: e?.cwd,
4347
- shell: e?.shell,
4348
- env: e?.env
4349
- }), { maxRetries: 0 });
4350
- o.value = n.sessionId, d.value = n.dimensions, s.value = !0, f = new AbortController(), v = !1, y = !1;
4351
- let r = ++h;
4352
- S(n.sessionId, e, r);
4353
- } catch (t) {
4354
- l.value = t instanceof Error ? t : Error(String(t)), e?.onError?.(l.value);
4355
- } finally {
4356
- c.value = !1;
4357
- }
4358
- }
4359
- }
4360
- async function S(e, n, r) {
4361
- try {
4362
- let i = t.value;
4363
- if (!i) return;
4364
- let a = b(i).generateOutput(e);
4365
- g = a, _ = i;
4366
- for await (let e of a) {
4367
- if (r !== h || f?.signal.aborted) break;
4368
- n?.onData?.(e);
4369
- }
4370
- } catch (e) {
4371
- if (r === h && !f?.signal.aborted) {
4372
- if (y) {
4373
- O();
4374
- return;
4375
- }
4376
- l.value = e instanceof Error ? e : Error(String(e)), n?.onError?.(l.value);
4377
- }
4378
- } finally {
4379
- r === h && !f?.signal.aborted && (s.value = !1, D(e), n?.onClose?.());
4380
- }
4381
- }
4382
- async function C(e) {
4383
- if (o.value && s.value) try {
4384
- await I(t, (t) => b(t).writeInput(o.value, e));
4385
- } catch (e) {
4386
- l.value = e instanceof Error ? e : Error(String(e)), m?.onError?.(l.value);
4387
- }
4388
- }
4389
- async function w(e) {
4390
- if (o.value && s.value) try {
4391
- await I(t, (t) => b(t).resize(o.value, e)), d.value = e;
4392
- } catch (e) {
4393
- l.value = e instanceof Error ? e : Error(String(e)), m?.onError?.(l.value);
4394
- }
4395
- }
4396
- async function T() {
4397
- E(), o.value && await D(o.value), o.value = void 0, s.value = !1, m = void 0;
4398
- }
4399
- function E() {
4400
- f?.abort(), h++, g?.return(void 0).catch(() => void 0), g = void 0, _ = void 0, y = !1;
4401
- }
4402
- function D(e) {
4403
- return I(t, (t) => b(t).closeSession(e), {
4404
- awaitConnect: !1,
4405
- maxRetries: 0
4406
- }).catch(() => void 0);
4407
- }
4408
- function O() {
4409
- let e = m, t = o.value;
4410
- E(), t && D(t), o.value = void 0, s.value = !1, m = void 0, e?.onClose?.(), e && x(e);
4411
- }
4412
- function A() {
4413
- (o.value || s.value) && (s.value && !v && t.value === _ ? y = !0 : O());
4414
- }
4415
- function j() {
4416
- v = !0;
4417
- }
4418
- return e.on("reconnected", A), e.on("disconnected", j), p(() => {
4419
- e.off("reconnected", A), e.off("disconnected", j), T();
4420
- }), {
4421
- sessionId: u(o),
4422
- isConnected: u(s),
4423
- isConnecting: u(c),
4424
- isClientConnected: u(n),
4425
- error: u(l),
4426
- dimensions: u(d),
4427
- connect: x,
4428
- write: C,
4429
- resize: w,
4430
- close: T
4431
- };
4432
- }
4433
- //#endregion
4434
- export { Tt as A, Gi as B, k as C, Vn as D, Ki as E, sr as F, _ as G, x as H, Fn as I, v as K, Ke as L, Un as M, Zt as N, Hn as O, ar as P, G as R, ra as S, ia as T, C as U, b as V, S as W, Ri as _, pn as a, ft as b, $t as c, sn as d, en as f, cr as g, cn as h, nn as i, Bn as j, zn as k, on as l, an as m, tn as n, ln as o, dn as p, rn as r, fn as s, gr as t, un as u, Vi as v, Wn as w, or as x, In as y, aa as z };