@camera.ui/server 2.2.3 → 2.2.4

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 (336) hide show
  1. package/dist/interface/assets/{404-D0S6IGok.js → 404-Bdbp69ox.js} +1 -1
  2. package/dist/interface/assets/{About-DAw9u8ZY.js → About-DmtCok-y.js} +1 -1
  3. package/dist/interface/assets/{Assistant-Gi6_YkEY.js → Assistant-D-Lv6JtY.js} +1 -1
  4. package/dist/interface/assets/{Automation-6eFKPJPu.js → Automation-LQ3TssrU.js} +3 -3
  5. package/dist/interface/assets/{AutomationImport-95PfbPvG.js → AutomationImport-B_ra3G3_.js} +2 -2
  6. package/dist/interface/assets/{AutomationStore-BHxzzx7a.js → AutomationStore-DSXSaQjp.js} +2 -2
  7. package/dist/interface/assets/{AutomationStoreDetail-DEVlRllt.js → AutomationStoreDetail-B5_Meb6R.js} +2 -2
  8. package/dist/interface/assets/{Automations-DEivoiS1.js → Automations-DHfPRe8W.js} +2 -2
  9. package/dist/interface/assets/Camera-B4ojNnKb.css +1 -0
  10. package/dist/interface/assets/Camera-CDbfvtJv.js +2 -0
  11. package/dist/interface/assets/{CameraConsole-B8bBYQzk.js → CameraConsole-DX-IRmd_.js} +1 -1
  12. package/dist/interface/assets/{Cameras-HblWPGCv.js → Cameras-D9m2bxWj.js} +1 -1
  13. package/dist/interface/assets/{Camview-DEKrbg5R.js → Camview-DKOYY6TI.js} +1 -1
  14. package/dist/interface/assets/{CertificateUpload-CC6YtX7h.js → CertificateUpload-B8ccb3n-.js} +1 -1
  15. package/dist/interface/assets/{Config-DQEaOnaN.js → Config-DCIUUWCv.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionAssistant-C_XRnBzo.js → ConfigActionAssistant-6IUzZeNW.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionCameraControl-oRzM9rjX.js → ConfigActionCameraControl-EXuiNMuG.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionDelay-Dc-NZS5L.js → ConfigActionDelay-Cs4sYEk-.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionHttp-Nw0wt-JZ.js → ConfigActionHttp-gUM6RQ6Y.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionImageInput-Do60Upqm.js → ConfigActionImageInput-CPl5kVgO.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionMqtt-BeQVgaGX.js → ConfigActionMqtt-BeBMCOJ-.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionNotification-BA0FjOWs.js → ConfigActionNotification-DJFHdFDN.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionNotificationControl-Ce3Kd_Xv.js → ConfigActionNotificationControl-BXoztPTs.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionOutput-ChiOMWDy.js → ConfigActionOutput-BGrFWqZ1.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionPlugin-Cn3r0glk.js → ConfigActionPlugin-CdIIMcJZ.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionSensor-DkdBCu-6.js → ConfigActionSensor-MRVGJ22A.js} +1 -1
  27. package/dist/interface/assets/{ConfigActionSnapshot-CLlaDFUV.js → ConfigActionSnapshot-CxA4f5ag.js} +1 -1
  28. package/dist/interface/assets/{ConfigActionVariable-D4x3Luxl.js → ConfigActionVariable-DmU4seLh.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionIfElse-BpL8KZ5X.js → ConfigConditionIfElse-Tgdrk7lo.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionSensorState-CSQexUF_.js → ConfigConditionSensorState-CyyzoL6Q.js} +1 -1
  31. package/dist/interface/assets/{ConfigConditionSwitch-CB2J_5kr.js → ConfigConditionSwitch-DprK5AbR.js} +1 -1
  32. package/dist/interface/assets/{ConfigConditionTime-X9fsNsYu.js → ConfigConditionTime-CDruEvBp.js} +1 -1
  33. package/dist/interface/assets/{ConfigSensorValueInput-VPhPxrQl.js → ConfigSensorValueInput-BhlgTOW9.js} +1 -1
  34. package/dist/interface/assets/{ConfigTriggerDetection-Dhzng4X5.js → ConfigTriggerDetection-4vdEST9Y.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerGeofence-Cm0CLNf5.js → ConfigTriggerGeofence-1B0BdCOw.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerManual-CRi3rsgG.js → ConfigTriggerManual-BQLDqwZh.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerMqtt-Ck__CWck.js → ConfigTriggerMqtt-B3YNOB6U.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSchedule-C1PZrHEu.js → ConfigTriggerSchedule-DhbJGOT7.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerSensor-9xVgCtkn.js → ConfigTriggerSensor-iMPg_Pmb.js} +1 -1
  40. package/dist/interface/assets/{ConfigTriggerSystem-Denf1gkO.js → ConfigTriggerSystem-MaNZTO3h.js} +1 -1
  41. package/dist/interface/assets/{ConfigTriggerWebhook-im24LkCn.js → ConfigTriggerWebhook-B3WfXjPv.js} +1 -1
  42. package/dist/interface/assets/{Console-Q1HpmyO_.js → Console-BQLINPCG.js} +1 -1
  43. package/dist/interface/assets/{CuiAssistantConversation-BxJf9sdu.js → CuiAssistantConversation-yCRlgjtr.js} +1 -1
  44. package/dist/interface/assets/{CuiAutomationRunsDialog-B3tJ-Cma.js → CuiAutomationRunsDialog-CJ0mzDLL.js} +1 -1
  45. package/dist/interface/assets/{CuiBottomSheet-kvvLw1MQ.js → CuiBottomSheet-BbP0T2v3.js} +1 -1
  46. package/dist/interface/assets/CuiBottomSheet-BpMMQhmJ.js +1 -0
  47. package/dist/interface/assets/CuiCameraPipCard-1EhYM5kQ.js +1 -0
  48. package/dist/interface/assets/CuiCameraRecordings-CkkHbNyY.css +1 -0
  49. package/dist/interface/assets/CuiCameraRecordings-D2jG47AV.js +1 -0
  50. package/dist/interface/assets/{CuiCameraShares-B5ghuJS-.js → CuiCameraShares-IpkomKkl.js} +1 -1
  51. package/dist/interface/assets/CuiCameraTable-CNclH1KS.js +1 -0
  52. package/dist/interface/assets/{CuiCameraTable-Y5XUkU7w.js → CuiCameraTable-DlL-z_na.js} +1 -1
  53. package/dist/interface/assets/{CuiChartTable-CXdupaj5.js → CuiChartTable-B0EPcrgv.js} +1 -1
  54. package/dist/interface/assets/{CuiConsole-5KgXSOS5.js → CuiConsole-D8Xk2LXY.js} +1 -1
  55. package/dist/interface/assets/{CuiDataTable-hArZWV9B.js → CuiDataTable-DtRTB560.js} +1 -1
  56. package/dist/interface/assets/{CuiLightControl-MRpR0XIZ.js → CuiLightControl-CtL3sA8k.js} +1 -1
  57. package/dist/interface/assets/{CuiList-D-l4HrBP.js → CuiList-Bn7DT_Ao.js} +1 -1
  58. package/dist/interface/assets/{CuiPluginCard-whoQ5YHn.js → CuiPluginCard-B-4x6Mno.js} +2 -2
  59. package/dist/interface/assets/{CuiPluginCategoryChip-CH53zk2o.js → CuiPluginCategoryChip-Dih4zKtO.js} +1 -1
  60. package/dist/interface/assets/{CuiPluginOAuthButton-BBA0AzVO.js → CuiPluginOAuthButton-D-Y9KYJz.js} +2 -2
  61. package/dist/interface/assets/{CuiPluginTrustBadge-C0EX5aCI.js → CuiPluginTrustBadge-_g3Ctrg4.js} +1 -1
  62. package/dist/interface/assets/{CuiQRCode-BRT0NO5c.js → CuiQRCode-D6hzmPzV.js} +1 -1
  63. package/dist/interface/assets/{CuiSchema-DBY1x1BT.js → CuiSchema-Dh8Mu4BK.js} +1 -1
  64. package/dist/interface/assets/{CuiTopNavbarItem-CpMT8_0r.js → CuiTopNavbarItem-CgX21E5K.js} +1 -1
  65. package/dist/interface/assets/Faces-CgDoKVkp.js +1 -0
  66. package/dist/interface/assets/{FirstSteps-B8n4fGK3.js → FirstSteps-CZSTX7Ot.js} +1 -1
  67. package/dist/interface/assets/{Floorplan-ZHXNaZA8.js → Floorplan-CRvmaf45.js} +1 -1
  68. package/dist/interface/assets/{Instances-DEj3gs6H.js → Instances-DRkhTQKC.js} +1 -1
  69. package/dist/interface/assets/{Logs-CwHvSKd6.js → Logs-CIDJSpdH.js} +1 -1
  70. package/dist/interface/assets/{Menu-C4BxUV0P.js → Menu-CM_F1jfd.js} +1 -1
  71. package/dist/interface/assets/{Metrics-BCOE-rcw.js → Metrics-DgJEg-ZK.js} +3 -3
  72. package/dist/interface/assets/Metrics-Ebv4qK2a.css +1 -0
  73. package/dist/interface/assets/{OAuthDeviceFlow-D6bjZOYS.js → OAuthDeviceFlow-BZ9LcgmJ.js} +1 -1
  74. package/dist/interface/assets/{Plugin-ppCvxkl4.js → Plugin-BBDpg6U_.js} +1 -1
  75. package/dist/interface/assets/{PluginConsole-BP42Qpee.js → PluginConsole-DxVlTuNy.js} +1 -1
  76. package/dist/interface/assets/{PluginDetail-BnX5lZGz.js → PluginDetail-fLGD3R-u.js} +2 -2
  77. package/dist/interface/assets/PluginSchema-CewD2H-K.js +1 -0
  78. package/dist/interface/assets/{PluginSearch-no79fTuf.js → PluginSearch-5wX7WEcz.js} +2 -2
  79. package/dist/interface/assets/PluginSearch-rDbuXm2z.js +1 -0
  80. package/dist/interface/assets/{PluginUpdateProgress-73jprYHA.js → PluginUpdateProgress-B7Lj0ttd.js} +1 -1
  81. package/dist/interface/assets/{Plugins-DtEqS6_j.js → Plugins-DVQ476iL.js} +1 -1
  82. package/dist/interface/assets/{RecentEventsFilter-CtyCbt6Z.js → RecentEventsFilter-CWNBI2Ge.js} +1 -1
  83. package/dist/interface/assets/Recordings-DSRgRVhN.js +1 -0
  84. package/dist/interface/assets/{SensorEdit-D4-mMg8S.js → SensorEdit-B1mYmxDV.js} +1 -1
  85. package/dist/interface/assets/{SensorHistory-C-X7VI-f.js → SensorHistory-D1kKroxp.js} +1 -1
  86. package/dist/interface/assets/{Sensors-BJh8BkCR.js → Sensors-yAc1M-oO.js} +2 -2
  87. package/dist/interface/assets/{Settings-B9CZvA-d.js → Settings-DBKgECRK.js} +1 -1
  88. package/dist/interface/assets/{SettingsAccount-D3zF2kLc.js → SettingsAccount-CM3XGNL6.js} +1 -1
  89. package/dist/interface/assets/SettingsAccount-i2nzGFdV.js +1 -0
  90. package/dist/interface/assets/{SettingsAppearance-CbG8M38w.js → SettingsAppearance-C-nllv3m.js} +1 -1
  91. package/dist/interface/assets/SettingsAppearance-DCgu01FJ.js +1 -0
  92. package/dist/interface/assets/{SettingsAssistant-DxYPnbms.js → SettingsAssistant-ClRO04fv.js} +1 -1
  93. package/dist/interface/assets/{SettingsBackup-DZBzUyQm.js → SettingsBackup-Cq_eLVCR.js} +1 -1
  94. package/dist/interface/assets/{SettingsList-DFg8g7IM.js → SettingsList-Bklt3TQO.js} +1 -1
  95. package/dist/interface/assets/{SettingsMqtt-BeujOZkh.js → SettingsMqtt-BLkP0en6.js} +1 -1
  96. package/dist/interface/assets/{SettingsNotifications-DtSTE76r.js → SettingsNotifications-CeUKfEnH.js} +1 -1
  97. package/dist/interface/assets/{SettingsPermissions-CPOAefv0.js → SettingsPermissions-Cpka-k3Q.js} +1 -1
  98. package/dist/interface/assets/{SettingsRecordings-ClAtT4Bh.js → SettingsRecordings-k20qTe7K.js} +1 -1
  99. package/dist/interface/assets/{SettingsRemote-58S4Thfp.js → SettingsRemote-CdUj0nZ1.js} +1 -1
  100. package/dist/interface/assets/{SettingsSystem-tTGpuiRW.js → SettingsSystem-6OChvWL7.js} +2 -2
  101. package/dist/interface/assets/{SettingsUsers-D8b7I5c2.js → SettingsUsers-B57uZ8jn.js} +1 -1
  102. package/dist/interface/assets/{Terminal-1_Fi0VW-.js → Terminal-WMgVSORW.js} +1 -1
  103. package/dist/interface/assets/Training-BkWlywj_.js +1 -0
  104. package/dist/interface/assets/{Training-CQHfQjUP.css → Training-Dwf5rXyC.css} +1 -1
  105. package/dist/interface/assets/{Updates-BW0p7Wc5.js → Updates-Dwrd6PQl.js} +1 -1
  106. package/dist/interface/assets/{VariableInput-sqnLuk6S.js → VariableInput-CDJXnzEV.js} +1 -1
  107. package/dist/interface/assets/{VariableSuggestions-3pbnxhyT.js → VariableSuggestions-CNq7O1o-.js} +1 -1
  108. package/dist/interface/assets/{VersionsHandler-CWmjDygB.js → VersionsHandler-C0A8Ryhn.js} +1 -1
  109. package/dist/interface/assets/{VirtualSensorCreate-BzmFlvYD.js → VirtualSensorCreate-zEehu8Fg.js} +1 -1
  110. package/dist/interface/assets/{Workers-Dm9o2wMo.js → Workers-Be7q2vOK.js} +1 -1
  111. package/dist/interface/assets/{api-CQ-3I3-i.js → api-CSl3-BNZ.js} +1 -1
  112. package/dist/interface/assets/api-DcaDMCnj.css +2 -0
  113. package/dist/interface/assets/api-vegsDz6n.js +4 -0
  114. package/dist/interface/assets/{assistant-0UymvpMy.js → assistant-jARIkvB1.js} +1 -1
  115. package/dist/interface/assets/{auth-C0jhqNaz.js → auth-Bov4B1jy.js} +1 -1
  116. package/dist/interface/assets/{automations-Bj30nb8s.js → automations-CJe7TvLk.js} +1 -1
  117. package/dist/interface/assets/{cameraSources-CiMjIjsh.js → cameraSources-CDiYtBzG.js} +1 -1
  118. package/dist/interface/assets/cloudHandoff-BoV37fDI.js +1 -0
  119. package/dist/interface/assets/{config-D-uVfwYp.js → config-iO2vrtak.js} +1 -1
  120. package/dist/interface/assets/{flowSchema-D3nNJVLL.js → flowSchema-B0vIoy4y.js} +1 -1
  121. package/dist/interface/assets/{intercomService-BeoNs-09.js → intercomService-IAAXcRPG.js} +1 -1
  122. package/dist/interface/assets/main-DQgH1fon.js +3 -0
  123. package/dist/interface/assets/{mqtt-D7jRwifB.js → mqtt-DfpSLxes.js} +1 -1
  124. package/dist/interface/assets/{notifications-BpRVoerg.js → notifications-jTSwwN1i.js} +1 -1
  125. package/dist/interface/assets/{plugins-wZ4RDxCb.js → plugins-ChyJXprl.js} +1 -1
  126. package/dist/interface/assets/{rooms-CFcu2dU1.js → rooms-BMWJpAXC.js} +1 -1
  127. package/dist/interface/assets/{sensorIcons-B117n8l2.js → sensorIcons-dUp8Tone.js} +1 -1
  128. package/dist/interface/assets/{sensorSlots-CAr3prFc.js → sensorSlots-CosoVMys.js} +1 -1
  129. package/dist/interface/assets/{sensors-oriEG3KR.js → sensors-DLdbNuoj.js} +1 -1
  130. package/dist/interface/assets/{server-Ce6ou2NV.js → server-D-qkU2-U.js} +1 -1
  131. package/dist/interface/assets/{theme-CBTC6-Lp.js → theme-DhneHMji.js} +1 -1
  132. package/dist/interface/assets/{types-CzjppLwt.js → types-CngwbyEy.js} +1 -1
  133. package/dist/interface/assets/{types-C-amdBz6.js → types-DDpq8alD.js} +1 -1
  134. package/dist/interface/assets/{types-CjU6-JvD.js → types-DdyAGRju.js} +1 -1
  135. package/dist/interface/assets/{ungrouped-AYNBKz52.css → ungrouped-DBRZ-Ori.css} +1 -1
  136. package/dist/interface/assets/ungrouped-e2tQIZD2.js +1 -0
  137. package/dist/interface/assets/{updates-Cohtc6vb.js → updates-DnVisGT3.js} +1 -1
  138. package/dist/interface/assets/{useAppVersion-xxi6fR7J.js → useAppVersion-gtzMlM4b.js} +1 -1
  139. package/dist/interface/assets/{useAssistantActions-BkRK1FBg.js → useAssistantActions-BIHVky9T.js} +1 -1
  140. package/dist/interface/assets/{useBackupRestore-BGvhSqJB.js → useBackupRestore-DfgufKp3.js} +1 -1
  141. package/dist/interface/assets/{useCameraOptions-ophs2V4p.js → useCameraOptions-B9yEPgGd.js} +1 -1
  142. package/dist/interface/assets/{useKeyboardInset-Cpz6Hs5c.js → useKeyboardInset-1sUlRSeV.js} +1 -1
  143. package/dist/interface/assets/{useLogsSocket-CB07yhv4.js → useLogsSocket-C2QUQqkZ.js} +1 -1
  144. package/dist/interface/assets/{useNavLayout-BYEejBpb.js → useNavLayout-Br4MtSjQ.js} +1 -1
  145. package/dist/interface/assets/{usePermissions-yWhjYMcr.js → usePermissions-B8pw9jk1.js} +1 -1
  146. package/dist/interface/assets/{usePluginUpdates-9rvsWfdJ.js → usePluginUpdates-Cx9PwENn.js} +1 -1
  147. package/dist/interface/assets/{usePushRegistration-b5owOzjH.js → usePushRegistration-CLEyagJM.js} +1 -1
  148. package/dist/interface/assets/{useServerRestart-yRXDWnH_.js → useServerRestart-BBp4cko_.js} +1 -1
  149. package/dist/interface/assets/{useStreamStatus-BHyWrAHu.js → useStreamStatus-BrPjpyzs.js} +1 -1
  150. package/dist/interface/assets/{useTabSwipe-Dr9HYP1J.js → useTabSwipe-B4edrv6o.js} +1 -1
  151. package/dist/interface/assets/{useUpdateChannel-IVj0XKlN.js → useUpdateChannel-DugwYo8J.js} +1 -1
  152. package/dist/interface/assets/{useUpdatesSocket-CuPHbSF7.js → useUpdatesSocket-CgCXGGVg.js} +1 -1
  153. package/dist/interface/assets/{useUserOptions-zIfrMDiG.js → useUserOptions-DTlKtp_u.js} +1 -1
  154. package/dist/interface/assets/vendor-cameraui-D0VXSxSF.js +2326 -0
  155. package/dist/interface/assets/{vendor-core-CQ2HVu0L.js → vendor-core-Ba81bBNM.js} +1 -1
  156. package/dist/interface/assets/{vendor-primevue-CeWNZxSE.js → vendor-primevue-LZEE4d1W.js} +1 -1
  157. package/dist/interface/ha/{404-B70KNhsW.js → 404-CkAIe5nc.js} +1 -1
  158. package/dist/interface/ha/{About-DLNqqctZ.js → About-C7HxP7hM.js} +3 -3
  159. package/dist/interface/ha/{Assistant-Duvvoz2B.js → Assistant-DJYxiCOY.js} +278 -278
  160. package/dist/interface/ha/{Automation-DZ8zvsvo.js → Automation-CfNHCeIm.js} +41 -41
  161. package/dist/interface/ha/{AutomationImport-DOCdim5O.js → AutomationImport-Dn3C1604.js} +6 -6
  162. package/dist/interface/ha/{AutomationStore-Bjoubp-m.js → AutomationStore-D63G9w2Y.js} +7 -7
  163. package/dist/interface/ha/{AutomationStoreDetail-H-RWNpwm.js → AutomationStoreDetail-HoUC8cSY.js} +6 -6
  164. package/dist/interface/ha/{Automations-GyofQfo7.js → Automations-BOlE1Evb.js} +43 -43
  165. package/dist/interface/ha/{Camera-Bo5nMQaU.js → Camera-6Vvo7nee.js} +225 -213
  166. package/dist/interface/ha/{CameraConsole-BmDQ3rcS.js → CameraConsole-DYSNDW4P.js} +3 -3
  167. package/dist/interface/ha/{Cameras-BfHoFjpC.js → Cameras-CxgwXUaG.js} +306 -306
  168. package/dist/interface/ha/{Camview-DVoIdM3o.js → Camview-DPjoUMSP.js} +227 -227
  169. package/dist/interface/ha/{Config-CC8tQiOy.js → Config-BzBFIWVF.js} +7 -7
  170. package/dist/interface/ha/{ConfigActionAssistant-hfsz38an.js → ConfigActionAssistant-BpHf4Pdi.js} +4 -4
  171. package/dist/interface/ha/{ConfigActionCameraControl-C0-wxlAS.js → ConfigActionCameraControl-CmbCTwZ8.js} +3 -3
  172. package/dist/interface/ha/{ConfigActionHttp-CM_3bIUq.js → ConfigActionHttp-BxN2KOA6.js} +2 -2
  173. package/dist/interface/ha/{ConfigActionImageInput-B5306Z_7.js → ConfigActionImageInput-CrXUZ-cM.js} +1 -1
  174. package/dist/interface/ha/{ConfigActionMqtt-DLiM83Kz.js → ConfigActionMqtt-DYq-6_S6.js} +4 -4
  175. package/dist/interface/ha/{ConfigActionNotification-36VBlfim.js → ConfigActionNotification-DPUSAVLI.js} +3 -3
  176. package/dist/interface/ha/{ConfigActionNotificationControl-DRjDvA1H.js → ConfigActionNotificationControl-h4zta4Db.js} +2 -2
  177. package/dist/interface/ha/{ConfigActionOutput-BkGHERoJ.js → ConfigActionOutput-Dwa0-7cq.js} +1 -1
  178. package/dist/interface/ha/{ConfigActionPlugin-Ds1_Pow7.js → ConfigActionPlugin-DXx1a-Hr.js} +5 -5
  179. package/dist/interface/ha/{ConfigActionSensor-22uKE0d0.js → ConfigActionSensor-CfLIHqS8.js} +5 -5
  180. package/dist/interface/ha/{ConfigActionSnapshot-uTTsTfo2.js → ConfigActionSnapshot-O0OBVq-R.js} +2 -2
  181. package/dist/interface/ha/{ConfigActionVariable-DNMJBiQV.js → ConfigActionVariable-CbaIxRRe.js} +1 -1
  182. package/dist/interface/ha/{ConfigConditionIfElse-BVzmIDKK.js → ConfigConditionIfElse-B7ax92bG.js} +3 -3
  183. package/dist/interface/ha/{ConfigConditionSensorState-Di7Ic1xI.js → ConfigConditionSensorState-B5XIrEGU.js} +4 -4
  184. package/dist/interface/ha/{ConfigConditionSwitch-D8CcTHJ1.js → ConfigConditionSwitch-DJSz6bI5.js} +5 -5
  185. package/dist/interface/ha/{ConfigSensorValueInput-DthsOthT.js → ConfigSensorValueInput-fE2SBn1B.js} +4 -4
  186. package/dist/interface/ha/{ConfigTriggerDetection-BDYanDEV.js → ConfigTriggerDetection-BuShu78G.js} +2 -2
  187. package/dist/interface/ha/{ConfigTriggerGeofence-Binp0lYx.js → ConfigTriggerGeofence-pBgXBkb6.js} +6 -6
  188. package/dist/interface/ha/{ConfigTriggerMqtt-BaPzSHbK.js → ConfigTriggerMqtt-Dyf_TLfU.js} +1 -1
  189. package/dist/interface/ha/{ConfigTriggerSensor-DiTaTZXm.js → ConfigTriggerSensor-C5YUm9ff.js} +1 -1
  190. package/dist/interface/ha/{ConfigTriggerSystem-CsdWiz-S.js → ConfigTriggerSystem-CylHWw4i.js} +2 -2
  191. package/dist/interface/ha/{ConfigTriggerWebhook-Ca0PsUmU.js → ConfigTriggerWebhook-ZlHsaLu4.js} +1 -1
  192. package/dist/interface/ha/{Console-0amlIoZR.js → Console-PNAQjW_1.js} +98 -98
  193. package/dist/interface/ha/{CuiAutomationRunsDialog-DNBuwkgL.js → CuiAutomationRunsDialog-D_q8K7QO.js} +2 -2
  194. package/dist/interface/ha/{CuiBottomSheet-CdXBYz4P.js → CuiBottomSheet-BbJG-998.js} +1 -1
  195. package/dist/interface/ha/{CuiCameraRecordings-D4ZB56nd.js → CuiCameraRecordings-BSI8Yn3v.js} +11 -11
  196. package/dist/interface/ha/{CuiCameraShares-YmzZusZR.js → CuiCameraShares-DKHZJT-z.js} +4 -4
  197. package/dist/interface/ha/{CuiCameraTable-DFzhCO3J.js → CuiCameraTable-BTdP1pEP.js} +2 -2
  198. package/dist/interface/ha/{CuiChartTable-BvfJbFNS.js → CuiChartTable-aFRfsewt.js} +4 -4
  199. package/dist/interface/ha/{CuiConsole-DtxyD6Sd.js → CuiConsole-BD9jYvrD.js} +4 -4
  200. package/dist/interface/ha/{CuiDataTable-CHvx6ALQ.js → CuiDataTable-C2lOduPV.js} +2 -2
  201. package/dist/interface/ha/{CuiPluginCard-B3vU57eD.js → CuiPluginCard-C-gpcLCH.js} +18 -18
  202. package/dist/interface/ha/{CuiPluginOAuthButton-DgOFfP5e.js → CuiPluginOAuthButton-B763Rz1n.js} +3 -3
  203. package/dist/interface/ha/{CuiPluginTrustBadge-udmtgGHt.js → CuiPluginTrustBadge-j5PKYI-V.js} +1 -1
  204. package/dist/interface/ha/{CuiQRCode-8yDZMC3o.js → CuiQRCode-D7WV4czh.js} +2 -2
  205. package/dist/interface/ha/{CuiSchema-0Hikg2mm.js → CuiSchema-BfsT0mAh.js} +96 -96
  206. package/dist/interface/ha/{CuiTopNavbarItem-B139fVxP.js → CuiTopNavbarItem-BwpXgGJ-.js} +1 -1
  207. package/dist/interface/ha/{Faces-YdAf9USr.js → Faces-C0e-m9EY.js} +48 -48
  208. package/dist/interface/ha/{FirstSteps-Dts6TJ6O.js → FirstSteps-DsDmM44G.js} +7 -7
  209. package/dist/interface/ha/{Floorplan-D6XXe8ni.js → Floorplan-Bei9kIhS.js} +206 -206
  210. package/dist/interface/ha/{Instances-DsIsonqp.js → Instances-BY5G1zFD.js} +66 -66
  211. package/dist/interface/ha/{Logs-Cyo3LC94.js → Logs-DDycObDv.js} +9 -9
  212. package/dist/interface/ha/{Menu-yh_sI9d9.js → Menu-9r_oFG_-.js} +3 -3
  213. package/dist/interface/ha/{Metrics-VehQmsmN.js → Metrics-BMTIXqn6.js} +283 -279
  214. package/dist/interface/ha/{OAuthDeviceFlow-CXp9NvbY.js → OAuthDeviceFlow-Dee5fynX.js} +3 -3
  215. package/dist/interface/ha/{Plugin-BqvlXx43.js → Plugin-B5o4pLyu.js} +41 -41
  216. package/dist/interface/ha/{PluginConsole-Dx84BNoO.js → PluginConsole-REtxP1Wi.js} +4 -4
  217. package/dist/interface/ha/{PluginDetail-DUpDS2nD.js → PluginDetail-BHrKifvP.js} +5 -5
  218. package/dist/interface/ha/{PluginSearch-Cvh0P9VB.js → PluginSearch-oNHMMeJD.js} +124 -124
  219. package/dist/interface/ha/{PluginUpdateProgress-CfyI2Qdp.js → PluginUpdateProgress-CqllA4eR.js} +3 -3
  220. package/dist/interface/ha/{Plugins-DXreIUwr.js → Plugins-B6y7z5yD.js} +173 -173
  221. package/dist/interface/ha/{Recordings-Cb8ifRcB.js → Recordings-CyhOVNoM.js} +168 -191
  222. package/dist/interface/ha/{SensorEdit-CsNXxcdj.js → SensorEdit-CnUU2PEv.js} +3 -3
  223. package/dist/interface/ha/{SensorHistory-DToDalOm.js → SensorHistory-z5hDuybW.js} +2 -2
  224. package/dist/interface/ha/{Sensors-B6giaowJ.js → Sensors-wpoB-X4r.js} +372 -372
  225. package/dist/interface/ha/{Settings-CVed7MM_.js → Settings-C6wTksxb.js} +3 -3
  226. package/dist/interface/ha/{SettingsAccount-CvvsLPoT.js → SettingsAccount-DByg5uzj.js} +178 -178
  227. package/dist/interface/ha/{SettingsAppearance-BDJeNGTd.js → SettingsAppearance-QgPo4M8O.js} +4 -4
  228. package/dist/interface/ha/{SettingsAssistant-B168p5HB.js → SettingsAssistant-Bg4BhUgb.js} +78 -78
  229. package/dist/interface/ha/{SettingsBackup-Bz_9xJ61.js → SettingsBackup-BgtZSRub.js} +39 -39
  230. package/dist/interface/ha/{SettingsList-B42rajJc.js → SettingsList-DB3j7buh.js} +1 -1
  231. package/dist/interface/ha/{SettingsMqtt-B5Qy6bxD.js → SettingsMqtt-DVx0z8vf.js} +14 -14
  232. package/dist/interface/ha/SettingsNotifications-osO2kMMO.js +529 -0
  233. package/dist/interface/ha/{SettingsRecordings-CkJGOiyQ.js → SettingsRecordings-BFEp160g.js} +7 -7
  234. package/dist/interface/ha/{SettingsRemote-Cc-qt3si.js → SettingsRemote-DQW4FhFn.js} +403 -403
  235. package/dist/interface/ha/{SettingsSystem-Cco2XXsS.js → SettingsSystem-Cs1MHOTi.js} +9 -9
  236. package/dist/interface/ha/{SettingsUsers-BDh-3saR.js → SettingsUsers-BtbuHlRZ.js} +23 -23
  237. package/dist/interface/ha/{Terminal-D2U-kFPW.js → Terminal-BuXCoMle.js} +4 -4
  238. package/dist/interface/ha/Training-CnsWyeaJ.js +1505 -0
  239. package/dist/interface/ha/{Updates-DGHNcvO9.js → Updates-BxU1Jpru.js} +5 -5
  240. package/dist/interface/ha/{VariableInput-Bujz1T1I.js → VariableInput-DgENnHvk.js} +1 -1
  241. package/dist/interface/ha/{VersionsHandler-CXvbeKbl.js → VersionsHandler-DQTSSqti.js} +10 -10
  242. package/dist/interface/ha/{VirtualSensorCreate-DOYONbgu.js → VirtualSensorCreate-Bsr6zTQp.js} +2 -2
  243. package/dist/interface/ha/{Workers-tQbC3WS6.js → Workers-0jZDuLbP.js} +14 -14
  244. package/dist/interface/ha/{api-DfJZj7ht.js → api-B8xb-N_g.js} +1 -1
  245. package/dist/interface/ha/{api-BI6_Fcag.js → api-VnpXqKYj.js} +7769 -7443
  246. package/dist/interface/ha/{assistant-BqSg4N8v.js → assistant-DDwonneA.js} +25 -25
  247. package/dist/interface/ha/{auth-BFoSqfzS.js → auth-CXX7ago-.js} +22 -22
  248. package/dist/interface/ha/{automationBlueprint-Q0yt2MdH.js → automationBlueprint-BUkXOKb1.js} +3 -3
  249. package/dist/interface/ha/cameraui-cards.js +1 -1
  250. package/dist/interface/ha/{cards-BW9I5B5Z.js → cards-CMel6uVq.js} +639 -637
  251. package/dist/interface/ha/{config-CeNHEP9A.js → config-9vwosYC8.js} +9 -9
  252. package/dist/interface/ha/{dist-BV3OfApt.js → dist-jxJIsKjm.js} +306 -282
  253. package/dist/interface/ha/{mqtt-BkYa2CXH.js → mqtt-Fm_GzbBi.js} +7 -7
  254. package/dist/interface/ha/{notifications-E3WSCGpc.js → notifications-CwSeoLx0.js} +12 -12
  255. package/dist/interface/ha/{pinia-DoDLbPZ3.js → pinia-D2fpp6nV.js} +150 -143
  256. package/dist/interface/ha/{plugins-2jjU7TfW.js → plugins-CgqO91Hg.js} +30 -30
  257. package/dist/interface/ha/{rooms-BkEw1ev-.js → rooms-DGnhPCGr.js} +1 -1
  258. package/dist/interface/ha/{server-CuK4o2fS.js → server-BqNJbXKJ.js} +15 -15
  259. package/dist/interface/ha/{types-BRHWeX0a.js → types-Ca-1kOA9.js} +18 -18
  260. package/dist/interface/ha/{ungrouped-BDwep3kg.js → ungrouped-B1RIFH36.js} +192 -192
  261. package/dist/interface/ha/{updates-R4xTxour.js → updates-Dn9WR43I.js} +26 -26
  262. package/dist/interface/ha/{useAppVersion-uaFjqUpx.js → useAppVersion-FMZfQhEd.js} +1 -1
  263. package/dist/interface/ha/{useLogsSocket-BZq9GXfy.js → useLogsSocket-Ch8C8inE.js} +1 -1
  264. package/dist/interface/ha/{useNavLayout-BJdDE__R.js → useNavLayout-DPjjtXVR.js} +2 -2
  265. package/dist/interface/ha/{useServerRestart-DDCKnE6c.js → useServerRestart-DoozgL8o.js} +1 -1
  266. package/dist/interface/ha/{useTabSwipe-CEH6ltIZ.js → useTabSwipe-CxXAmZNc.js} +1 -1
  267. package/dist/interface/ha/{useUpdateChannel-CHt1il2V.js → useUpdateChannel-CBwS4cI2.js} +2 -2
  268. package/dist/interface/ha/{useUpdatesSocket-BnVaNioY.js → useUpdatesSocket-GrlBqyU4.js} +1 -1
  269. package/dist/interface/ha/{useUserOptions-C7cQ1P3Q.js → useUserOptions-54hnf6hX.js} +1 -1
  270. package/dist/interface/index.html +31 -31
  271. package/dist/interface/sw.js +1 -1
  272. package/dist/server/package.json +5 -5
  273. package/dist/server/src/api/database/record-schemas.d.ts +10 -10
  274. package/dist/server/src/api/schemas/cameras.schema.d.ts +22 -22
  275. package/dist/server/src/api/schemas/users.schema.d.ts +70 -70
  276. package/dist/server/src/api/websocket/nsp/metrics.d.ts +0 -1
  277. package/dist/server/src/api/websocket/nsp/metrics.js +2 -48
  278. package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
  279. package/dist/server/src/api/websocket/nsp/worker-perf.d.ts +3 -0
  280. package/dist/server/src/api/websocket/nsp/worker-perf.js +58 -0
  281. package/dist/server/src/api/websocket/nsp/worker-perf.js.map +1 -0
  282. package/dist/server/src/api/websocket/types.d.ts +1 -0
  283. package/dist/server/src/assistant/search.d.ts +11 -11
  284. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +6 -0
  285. package/dist/server/src/camera/decoder/detection-coordinator.js +117 -20
  286. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  287. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +3 -1
  288. package/dist/server/src/camera/decoder/detection-pipeline.js +4 -0
  289. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  290. package/dist/server/src/camera/decoder/event-manager.d.ts +1 -0
  291. package/dist/server/src/camera/decoder/event-manager.js +5 -2
  292. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  293. package/dist/server/src/camera/decoder/event-thumbnailer.d.ts +4 -0
  294. package/dist/server/src/camera/decoder/event-thumbnailer.js +3 -0
  295. package/dist/server/src/camera/decoder/event-thumbnailer.js.map +1 -1
  296. package/dist/server/src/camera/decoder/event-trace.d.ts +2 -0
  297. package/dist/server/src/camera/decoder/event-trace.js +9 -5
  298. package/dist/server/src/camera/decoder/event-trace.js.map +1 -1
  299. package/dist/server/src/camera/decoder/perf-tracker.d.ts +5 -1
  300. package/dist/server/src/camera/decoder/perf-tracker.js +10 -2
  301. package/dist/server/src/camera/decoder/perf-tracker.js.map +1 -1
  302. package/dist/server/src/camera/decoder/types.d.ts +5 -1
  303. package/dist/server/src/camera/decoder/types.js.map +1 -1
  304. package/dist/server/src/rpc/interfaces/detection.d.ts +1 -0
  305. package/dist/server/src/sensors/registry.d.ts +1 -0
  306. package/dist/server/src/sensors/registry.js +9 -3
  307. package/dist/server/src/sensors/registry.js.map +1 -1
  308. package/dist/server/src/sensors/sensor.js +2 -3
  309. package/dist/server/src/sensors/sensor.js.map +1 -1
  310. package/dist/server/src/sensors/types.d.ts +2 -1
  311. package/dist/server/src/sensors/types.js +7 -1
  312. package/dist/server/src/sensors/types.js.map +1 -1
  313. package/package.json +5 -5
  314. package/dist/interface/assets/Camera-B5l_gv7t.js +0 -2
  315. package/dist/interface/assets/Camera-gYRy6ECP.css +0 -1
  316. package/dist/interface/assets/CuiBottomSheet-C37blNu-.js +0 -1
  317. package/dist/interface/assets/CuiCameraPipCard-TVAf5ZYQ.js +0 -1
  318. package/dist/interface/assets/CuiCameraRecordings-C26rX8dh.css +0 -1
  319. package/dist/interface/assets/CuiCameraRecordings-IHg1dNf4.js +0 -1
  320. package/dist/interface/assets/CuiCameraTable-xDZz7Wpe.js +0 -1
  321. package/dist/interface/assets/Faces-Dqi30qs9.js +0 -1
  322. package/dist/interface/assets/Metrics-DX59XXDc.css +0 -1
  323. package/dist/interface/assets/PluginSchema-uVKXzfo6.js +0 -1
  324. package/dist/interface/assets/PluginSearch-C4MvWyLb.js +0 -1
  325. package/dist/interface/assets/Recordings-DrcOsRLn.js +0 -1
  326. package/dist/interface/assets/SettingsAccount-CkvScQmF.js +0 -1
  327. package/dist/interface/assets/SettingsAppearance-ZHqNXXIL.js +0 -1
  328. package/dist/interface/assets/Training-DfOqDTHJ.js +0 -1
  329. package/dist/interface/assets/api-B6TtU9Ew.css +0 -2
  330. package/dist/interface/assets/api-DPgKdIQZ.js +0 -4
  331. package/dist/interface/assets/cloudHandoff-Cxljjl7N.js +0 -1
  332. package/dist/interface/assets/main-BrNGfemk.js +0 -3
  333. package/dist/interface/assets/ungrouped-BQzKp2PT.js +0 -1
  334. package/dist/interface/assets/vendor-cameraui-Dhg7MEnt.js +0 -2326
  335. package/dist/interface/ha/SettingsNotifications-C59UxYic.js +0 -529
  336. package/dist/interface/ha/Training-DWcaCI-3.js +0 -1499
@@ -69,7 +69,7 @@ function g(e = {}) {
69
69
  };
70
70
  }
71
71
  function _() {
72
- let t = e(kt);
72
+ let t = e(At);
73
73
  if (!t) throw Error("[camera.ui] useCameraUi() called without CameraUiPlugin installed. Make sure to call app.use(createCameraUiPlugin({ ... })) before using this composable.");
74
74
  return t;
75
75
  }
@@ -254,9 +254,7 @@ function F(e, t, n = !1) {
254
254
  let i = (async () => {
255
255
  let r = await le(e, t);
256
256
  try {
257
- if (!r) return;
258
- let e = await r.fetchSnapshot(void 0, n ? !0 : void 0);
259
- return e && I(t, e), e ?? void 0;
257
+ return r ? await r.fetchSnapshot(void 0, n ? !0 : void 0) ?? void 0 : void 0;
260
258
  } finally {
261
259
  r && ue(t);
262
260
  }
@@ -266,22 +264,27 @@ function F(e, t, n = !1) {
266
264
  var te = !1;
267
265
  function ne(e, t) {
268
266
  te || (te = !0, e.on("reconnected", () => {
269
- let e = 0;
270
- for (let n of M.keys()) {
271
- if ((M.get(n)?.size ?? 0) === 0) continue;
272
- let r = n;
273
- setTimeout(() => {
274
- (M.get(r)?.size ?? 0) !== 0 && F(t, r).catch(() => void 0);
275
- }, e), e += 150;
276
- }
267
+ setTimeout(() => {
268
+ let e = 0;
269
+ for (let n of M.keys()) {
270
+ if ((M.get(n)?.size ?? 0) === 0) continue;
271
+ let r = n;
272
+ setTimeout(() => {
273
+ (M.get(r)?.size ?? 0) !== 0 && F(t, r).catch(() => void 0);
274
+ }, e), e += 150;
275
+ }
276
+ }, 0);
277
277
  }));
278
278
  }
279
279
  function re(e) {
280
280
  setTimeout(() => URL.revokeObjectURL(e), ee);
281
281
  }
282
282
  function I(e, t, n) {
283
- let r = j.get(e);
284
- r && (re(r), j.delete(e)), k.set(e, t), n !== void 0 && A.set(e, n), P(e);
283
+ if (k.get(e) !== t) {
284
+ let n = j.get(e);
285
+ n && (re(n), j.delete(e)), k.set(e, t);
286
+ }
287
+ n !== void 0 && A.set(e, n), P(e);
285
288
  }
286
289
  function L(e) {
287
290
  return k.get(e);
@@ -1107,62 +1110,63 @@ async function ut(e, t) {
1107
1110
  })().finally(() => ct.delete(t));
1108
1111
  return ct.set(t, i), i;
1109
1112
  }
1110
- function dt(e) {
1111
- let t = c(), n = l(!1), r = l(), i = null;
1112
- async function a() {
1113
- if (i) return i;
1114
- n.value = !0, r.value = void 0;
1113
+ function dt(e, t) {
1114
+ let n = c(), r = l(!1), i = l(), a = null;
1115
+ async function o() {
1116
+ if (a) return a;
1117
+ r.value = !0, i.value = void 0;
1115
1118
  try {
1116
- return i = e.getConfig().finally(() => {
1117
- i = null;
1118
- }), t.value = await i, t.value;
1119
+ return a = e.getConfig().finally(() => {
1120
+ a = null;
1121
+ }), n.value = await a, n.value;
1119
1122
  } catch (e) {
1120
- r.value = e instanceof Error ? e : Error(String(e));
1123
+ i.value = e instanceof Error ? e : Error(String(e));
1121
1124
  return;
1122
1125
  } finally {
1123
- n.value = !1;
1126
+ r.value = !1;
1124
1127
  }
1125
1128
  }
1126
- async function o(t, i) {
1127
- n.value = !0, r.value = void 0;
1129
+ async function s(t, n) {
1130
+ r.value = !0, i.value = void 0;
1128
1131
  try {
1129
- await e.setValue(t, i), await a();
1132
+ await e.setValue(t, n), await o();
1130
1133
  } catch (e) {
1131
- throw r.value = e instanceof Error ? e : Error(String(e)), e;
1134
+ throw i.value = e instanceof Error ? e : Error(String(e)), e;
1132
1135
  } finally {
1133
- n.value = !1;
1136
+ r.value = !1;
1134
1137
  }
1135
1138
  }
1136
- async function s(t) {
1137
- n.value = !0, r.value = void 0;
1139
+ async function u(t) {
1140
+ r.value = !0, i.value = void 0;
1138
1141
  try {
1139
- await e.setConfig(t), await a();
1142
+ await e.setConfig(t), await o();
1140
1143
  } catch (e) {
1141
- throw r.value = e instanceof Error ? e : Error(String(e)), e;
1144
+ throw i.value = e instanceof Error ? e : Error(String(e)), e;
1142
1145
  } finally {
1143
- n.value = !1;
1146
+ r.value = !1;
1144
1147
  }
1145
1148
  }
1146
- async function u(t, i) {
1147
- n.value = !0, r.value = void 0;
1149
+ async function d(t, n) {
1150
+ r.value = !0, i.value = void 0;
1148
1151
  try {
1149
- let n = await e.submitValue(t, i);
1150
- return (!n?.toast || n.toast.type !== "error") && await a(), n;
1152
+ let r = await e.submitValue(t, n);
1153
+ return (!r?.toast || r.toast.type !== "error") && await o(), r;
1151
1154
  } catch (e) {
1152
- throw r.value = e instanceof Error ? e : Error(String(e)), e;
1155
+ throw i.value = e instanceof Error ? e : Error(String(e)), e;
1153
1156
  } finally {
1154
- n.value = !1;
1157
+ r.value = !1;
1155
1158
  }
1156
1159
  }
1157
1160
  return {
1158
1161
  proxy: e,
1159
- config: t,
1160
- isLoading: n,
1161
- error: r,
1162
- getConfig: a,
1163
- setValue: o,
1164
- setConfig: s,
1165
- submitValue: u
1162
+ client: t,
1163
+ config: n,
1164
+ isLoading: r,
1165
+ error: i,
1166
+ getConfig: o,
1167
+ setValue: s,
1168
+ setConfig: u,
1169
+ submitValue: d
1166
1170
  };
1167
1171
  }
1168
1172
  var ft = g({ releaseDelay: 1e3 });
@@ -1175,8 +1179,9 @@ function mt(e, t) {
1175
1179
  function ht(e, t) {
1176
1180
  return `plugin:${e}:sensor:${t}`;
1177
1181
  }
1178
- function gt(e, t) {
1179
- return ft.acquire(e, () => dt(t()));
1182
+ function gt(e, t, n) {
1183
+ let r = ft.get(e);
1184
+ return r && r.client !== t && ft.forceRelease(e), ft.acquire(e, () => dt(n(), t));
1180
1185
  }
1181
1186
  function _t(e) {
1182
1187
  ft.release(e);
@@ -1193,16 +1198,23 @@ function yt() {
1193
1198
  function bt(e, t, n) {
1194
1199
  e.currentStorageKey &&= (_t(e.currentStorageKey), void 0), t.value = !1, e.cachedStorage = void 0, n.value = void 0;
1195
1200
  }
1196
- var xt = [
1201
+ function xt(e, t, n, r, i) {
1202
+ (e.currentStorageKey !== t || e.cachedStorage?.client !== n) && (e.currentStorageKey && e.currentStorageKey !== t && (_t(e.currentStorageKey), r.value = void 0), e.currentStorageKey = t, e.cachedStorage = gt(t, n, i));
1203
+ }
1204
+ var St = [
1197
1205
  2e3,
1198
1206
  5e3,
1199
1207
  1e4,
1208
+ 15e3,
1209
+ 15e3,
1210
+ 15e3,
1211
+ 15e3,
1200
1212
  15e3
1201
1213
  ];
1202
- function St(e) {
1214
+ function Ct(e) {
1203
1215
  return new Promise((t) => setTimeout(t, e));
1204
1216
  }
1205
- function Ct(e, t, n, r) {
1217
+ function wt(e, t, n, r) {
1206
1218
  let i, a;
1207
1219
  function o() {
1208
1220
  if (!i || a !== e.cachedStorage) {
@@ -1220,8 +1232,8 @@ function Ct(e, t, n, r) {
1220
1232
  n.value = !0;
1221
1233
  try {
1222
1234
  let n = await i.getConfig();
1223
- for (let t of xt) {
1224
- if (!i.error.value || e.cachedStorage !== i || (await St(t), e.cachedStorage !== i)) break;
1235
+ for (let t of St) {
1236
+ if (!i.error.value || e.cachedStorage !== i || (await Ct(t), e.cachedStorage !== i)) break;
1225
1237
  n = await i.getConfig();
1226
1238
  }
1227
1239
  return e.cachedStorage === i ? (t.value = i.config.value, r.value = i.error.value, n) : n;
@@ -1274,126 +1286,138 @@ function Ct(e, t, n, r) {
1274
1286
  submitValue: u
1275
1287
  };
1276
1288
  }
1277
- function wt(e) {
1278
- let { rpc: t, isConnected: r } = _(), i = c(), a = l(!1), u = l(!1), f = l(), p = l(!1), m = yt(), h = Ct(m, i, a, f);
1279
- async function g(e) {
1280
- if (!t.value || !r.value) return !1;
1289
+ function Tt(e) {
1290
+ let t = _(), { rpc: r, isConnected: i } = t, a = c(), u = l(!1), f = l(!1), p = l(), m = l(!1), h = yt(), g = wt(h, a, u, p);
1291
+ async function v(e) {
1292
+ let t = r.value;
1293
+ if (!t || !i.value) return !1;
1281
1294
  try {
1282
- let n = await ut(t, e);
1295
+ let n = await ut(r, e);
1283
1296
  if (!n) throw Error(`Plugin "${e}" not found`);
1284
- let r = pt(n);
1285
- return m.currentStorageKey && m.currentStorageKey !== r && _t(m.currentStorageKey), m.currentStorageKey = r, m.cachedStorage = gt(r, () => {
1297
+ return xt(h, pt(n), t, a, () => {
1286
1298
  let e = b.pluginNamespaces(n);
1287
- return t.value.createProxy(e.pluginStorageRpc);
1288
- }), p.value = !0, !0;
1299
+ return t.createProxy(e.pluginStorageRpc);
1300
+ }), m.value = !0, !0;
1289
1301
  } catch (e) {
1290
- return f.value = e instanceof Error ? e : Error(String(e)), p.value = !1, !1;
1302
+ return p.value = e instanceof Error ? e : Error(String(e)), m.value = !1, !1;
1291
1303
  }
1292
1304
  }
1293
- async function v() {
1294
- if (!m.cachedStorage) {
1305
+ async function y() {
1306
+ if (!h.cachedStorage) {
1295
1307
  let t = n(e);
1296
- if (!t || !await g(t)) return;
1308
+ if (!t || !await v(t)) return;
1297
1309
  }
1298
- return h.getConfig();
1310
+ return g.getConfig();
1299
1311
  }
1300
- return s([r, () => n(e)], async ([e, t]) => {
1301
- e && t ? (await g(t), h.getConfig()) : bt(m, p, i), u.value = !0;
1302
- }, { immediate: !0 }), d(() => bt(m, p, i)), {
1303
- config: i,
1304
- isLoading: o(() => a.value || !u.value),
1305
- error: f,
1306
- isConnected: p,
1307
- getConfig: v,
1308
- setValue: h.setValue,
1309
- setConfig: h.setConfig,
1310
- submitValue: h.submitValue
1312
+ async function x() {
1313
+ let t = n(e);
1314
+ i.value && t ? (await v(t), g.getConfig()) : bt(h, m, a), f.value = !0;
1315
+ }
1316
+ return s([i, () => n(e)], x, { immediate: !0 }), t.on("reconnected", x), d(() => {
1317
+ t.off("reconnected", x), bt(h, m, a);
1318
+ }), {
1319
+ config: a,
1320
+ isLoading: o(() => u.value || !f.value),
1321
+ error: p,
1322
+ isConnected: m,
1323
+ getConfig: y,
1324
+ setValue: g.setValue,
1325
+ setConfig: g.setConfig,
1326
+ submitValue: g.submitValue
1311
1327
  };
1312
1328
  }
1313
- function Tt(e, t) {
1314
- let { rpc: r, isConnected: i } = _(), a = c(), u = l(!1), f = l(!1), p = l(), m = l(!1), h = yt(), g = Ct(h, a, u, p);
1315
- async function v(e, t) {
1316
- if (!r.value || !i.value) return !1;
1329
+ function Et(e, t) {
1330
+ let r = _(), { rpc: i, isConnected: a } = r, u = c(), f = l(!1), p = l(!1), m = l(), h = l(!1), g = yt(), v = wt(g, u, f, m);
1331
+ async function y(e, t) {
1332
+ let n = i.value;
1333
+ if (!n || !a.value) return !1;
1317
1334
  try {
1318
- let n = await ut(r, t);
1319
- if (!n) throw Error(`Plugin "${t}" not found`);
1320
- let i = mt(n, e);
1321
- return h.currentStorageKey && h.currentStorageKey !== i && _t(h.currentStorageKey), h.currentStorageKey = i, h.cachedStorage = gt(i, () => {
1322
- let t = b.pluginCameraNamespaces(n, e);
1323
- return r.value.createProxy(t.cameraStorageRpc);
1324
- }), m.value = !0, !0;
1335
+ let r = await ut(i, t);
1336
+ if (!r) throw Error(`Plugin "${t}" not found`);
1337
+ return xt(g, mt(r, e), n, u, () => {
1338
+ let t = b.pluginCameraNamespaces(r, e);
1339
+ return n.createProxy(t.cameraStorageRpc);
1340
+ }), h.value = !0, !0;
1325
1341
  } catch (e) {
1326
- return p.value = e instanceof Error ? e : Error(String(e)), m.value = !1, !1;
1342
+ return m.value = e instanceof Error ? e : Error(String(e)), h.value = !1, !1;
1327
1343
  }
1328
1344
  }
1329
- async function y() {
1345
+ async function x() {
1346
+ let r = G(n(e)), i = n(t);
1347
+ if (r && i && (g.cachedStorage || await y(r, i))) return v.getConfig();
1348
+ }
1349
+ async function S() {
1330
1350
  let r = G(n(e)), i = n(t);
1331
- if (r && i && (h.cachedStorage || await v(r, i))) return g.getConfig();
1351
+ a.value && r && i ? (await y(r, i), v.getConfig()) : bt(g, h, u), p.value = !0;
1332
1352
  }
1333
1353
  return s([
1334
- i,
1354
+ a,
1335
1355
  () => G(n(e)),
1336
1356
  () => n(t)
1337
- ], async ([e, t, n]) => {
1338
- e && t && n ? (await v(t, n), g.getConfig()) : bt(h, m, a), f.value = !0;
1339
- }, { immediate: !0 }), d(() => bt(h, m, a)), {
1340
- config: a,
1341
- isLoading: o(() => u.value || !f.value),
1342
- error: p,
1343
- isConnected: m,
1344
- getConfig: y,
1345
- setValue: g.setValue,
1346
- setConfig: g.setConfig,
1347
- submitValue: g.submitValue
1357
+ ], S, { immediate: !0 }), r.on("reconnected", S), d(() => {
1358
+ r.off("reconnected", S), bt(g, h, u);
1359
+ }), {
1360
+ config: u,
1361
+ isLoading: o(() => f.value || !p.value),
1362
+ error: m,
1363
+ isConnected: h,
1364
+ getConfig: x,
1365
+ setValue: v.setValue,
1366
+ setConfig: v.setConfig,
1367
+ submitValue: v.submitValue
1348
1368
  };
1349
1369
  }
1350
- function Et(e, t) {
1351
- let { rpc: r, isConnected: i } = _(), a = c(), u = l(!1), f = l(!1), p = l(), m = l(!1), h = yt(), g = Ct(h, a, u, p);
1352
- function v(e, t) {
1353
- if (!r.value || !i.value) return !1;
1370
+ function Dt(e, t) {
1371
+ let r = _(), { rpc: i, isConnected: a } = r, u = c(), f = l(!1), p = l(!1), m = l(), h = l(!1), g = yt(), v = wt(g, u, f, m);
1372
+ function y(e, t) {
1373
+ let n = i.value;
1374
+ if (!n || !a.value) return !1;
1354
1375
  try {
1355
- let n = ht(t, e);
1356
- return h.currentStorageKey && h.currentStorageKey !== n && _t(h.currentStorageKey), h.currentStorageKey = n, h.cachedStorage = gt(n, () => {
1357
- let n = b.pluginSensorNamespaces(t, e);
1358
- return r.value.createProxy(n.sensorStorageRpc);
1359
- }), m.value = !0, !0;
1376
+ return xt(g, ht(t, e), n, u, () => {
1377
+ let r = b.pluginSensorNamespaces(t, e);
1378
+ return n.createProxy(r.sensorStorageRpc);
1379
+ }), h.value = !0, !0;
1360
1380
  } catch (e) {
1361
- return p.value = e instanceof Error ? e : Error(String(e)), m.value = !1, !1;
1381
+ return m.value = e instanceof Error ? e : Error(String(e)), h.value = !1, !1;
1362
1382
  }
1363
1383
  }
1364
- async function y() {
1384
+ async function x() {
1385
+ let r = n(e), i = n(t);
1386
+ if (r && i && (g.cachedStorage || y(r, i))) return v.getConfig();
1387
+ }
1388
+ function S() {
1365
1389
  let r = n(e), i = n(t);
1366
- if (r && i && (h.cachedStorage || v(r, i))) return g.getConfig();
1390
+ a.value && r && i ? (y(r, i), v.getConfig()) : bt(g, h, u), p.value = !0;
1367
1391
  }
1368
1392
  return s([
1369
- i,
1393
+ a,
1370
1394
  () => n(e),
1371
1395
  () => n(t)
1372
- ], ([e, t, n]) => {
1373
- e && t && n ? (v(t, n), g.getConfig()) : bt(h, m, a), f.value = !0;
1374
- }, { immediate: !0 }), d(() => bt(h, m, a)), {
1375
- config: a,
1376
- isLoading: o(() => u.value || !f.value),
1377
- error: p,
1378
- isConnected: m,
1379
- getConfig: y,
1380
- setValue: g.setValue,
1381
- setConfig: g.setConfig,
1382
- submitValue: g.submitValue
1396
+ ], S, { immediate: !0 }), r.on("reconnected", S), d(() => {
1397
+ r.off("reconnected", S), bt(g, h, u);
1398
+ }), {
1399
+ config: u,
1400
+ isLoading: o(() => f.value || !p.value),
1401
+ error: m,
1402
+ isConnected: h,
1403
+ getConfig: x,
1404
+ setValue: v.setValue,
1405
+ setConfig: v.setConfig,
1406
+ submitValue: v.submitValue
1383
1407
  };
1384
1408
  }
1385
- function Dt() {
1409
+ function Ot() {
1386
1410
  W(), ce(), vt(), We(), ie();
1387
1411
  }
1388
- function Ot() {
1412
+ function kt() {
1389
1413
  W(), de(), Ge();
1390
1414
  }
1391
- var kt = Symbol("camera-ui"), At = new m("plugin");
1392
- function jt(e) {
1415
+ var At = Symbol("camera-ui"), jt = new m("plugin");
1416
+ function Mt(e) {
1393
1417
  return "rpc" in e && "isConnected" in e;
1394
1418
  }
1395
- var Mt = 4e3;
1396
- function Nt(e) {
1419
+ var Nt = 4e3;
1420
+ function Pt(e) {
1397
1421
  let { natsTransport: t, target: n, wsTransport: a } = e, s = t.getClient() !== null, u = t.getClient(), d = null, f = !1, p = c(t.getClient() ?? void 0), m = l(t.getClient()?.isConnected ?? !1), h = l(void 0), g = o(() => n.value?.endpoint.url), _ = o(() => n.value?.tokens.access), v = o(() => {
1398
1422
  let e = n.value;
1399
1423
  if (e?.tokens.proxySession) return { session: e.tokens.proxySession };
@@ -1410,19 +1434,19 @@ function Nt(e) {
1410
1434
  if (t) for (let e of t) try {
1411
1435
  e();
1412
1436
  } catch (e) {
1413
- At.warn("context listener threw:", e);
1437
+ jt.warn("context listener threw:", e);
1414
1438
  }
1415
1439
  }
1416
1440
  return t.subscribeClient((e) => {
1417
1441
  if (e) {
1418
1442
  d !== null && (clearTimeout(d), d = null);
1419
1443
  let t = m.value, n = e !== u;
1420
- u = e, p.value = e, m.value = !0, h.value = void 0, !t || n ? (Ot(), s && S("reconnected"), s = !0) : f && s && S("reconnected"), f = !1;
1444
+ u = e, p.value = e, m.value = !0, h.value = void 0, !t || n ? (kt(), s && S("reconnected"), s = !0) : f && s && S("reconnected"), f = !1;
1421
1445
  } else {
1422
1446
  if (f = !0, p.value = void 0, d !== null || !m.value) return;
1423
1447
  d = setTimeout(() => {
1424
1448
  d = null, m.value = !1, S("disconnected");
1425
- }, Mt);
1449
+ }, Nt);
1426
1450
  }
1427
1451
  }), t.on("auth-error", (e) => {
1428
1452
  h.value = Error(e.message ?? "auth-error");
@@ -1443,19 +1467,19 @@ function Nt(e) {
1443
1467
  off: x
1444
1468
  });
1445
1469
  }
1446
- function Pt(e) {
1470
+ function Ft(e) {
1447
1471
  return { install(t) {
1448
- let n = jt(e) ? e : Nt(e);
1449
- t.provide(kt, n);
1472
+ let n = Mt(e) ? e : Pt(e);
1473
+ t.provide(At, n);
1450
1474
  } };
1451
1475
  }
1452
- var Ft = {
1476
+ var It = {
1453
1477
  standbyTimeout: 5e3,
1454
1478
  activityTimeout: 5e3
1455
1479
  };
1456
- function It(e) {
1480
+ function Lt(e) {
1457
1481
  let { initialMode: t = "always-on", config: n = {}, onStreamStart: r, onStreamStop: i, isStreamPlaying: a } = e, o = {
1458
- ...Ft,
1482
+ ...It,
1459
1483
  ...n
1460
1484
  }, s = l(t), c = l(!1), u = l(!1), d, f;
1461
1485
  function p() {
@@ -1526,8 +1550,8 @@ function It(e) {
1526
1550
  dispose: w
1527
1551
  };
1528
1552
  }
1529
- var Lt = 3e4, Y = new m("TabVisibility"), Rt = l(typeof document > "u" || document.visibilityState === "visible"), zt = null, Bt = /* @__PURE__ */ new Set(), Vt = /* @__PURE__ */ new Set(), Ht = /* @__PURE__ */ new Set(), Ut = !1;
1530
- function Wt(e) {
1553
+ var Rt = 3e4, Y = new m("TabVisibility"), zt = l(typeof document > "u" || document.visibilityState === "visible"), Bt = null, Vt = /* @__PURE__ */ new Set(), Ht = /* @__PURE__ */ new Set(), Ut = /* @__PURE__ */ new Set(), Wt = !1;
1554
+ function Gt(e) {
1531
1555
  Y.debug(`paused listener fired (delay ${e.delayMs}ms reached)`);
1532
1556
  try {
1533
1557
  e.cb();
@@ -1535,34 +1559,34 @@ function Wt(e) {
1535
1559
  Y.error("onTabPaused listener threw:", e);
1536
1560
  }
1537
1561
  }
1538
- function Gt(e) {
1562
+ function Kt(e) {
1539
1563
  Y.debug(`paused listener scheduled in ${e.delayMs}ms`), e.timer = setTimeout(() => {
1540
- if (e.timer = null, Rt.value) {
1564
+ if (e.timer = null, zt.value) {
1541
1565
  Y.debug("paused listener skipped — tab visible before delay");
1542
1566
  return;
1543
1567
  }
1544
- Wt(e);
1568
+ Gt(e);
1545
1569
  }, e.delayMs);
1546
1570
  }
1547
- function Kt() {
1548
- for (let e of Vt) e.timer !== null && (clearTimeout(e.timer), e.timer = null);
1549
- }
1550
1571
  function qt() {
1551
- Ut || typeof document > "u" || (Ut = !0, document.addEventListener("visibilitychange", () => {
1572
+ for (let e of Ht) e.timer !== null && (clearTimeout(e.timer), e.timer = null);
1573
+ }
1574
+ function Jt() {
1575
+ Wt || typeof document > "u" || (Wt = !0, document.addEventListener("visibilitychange", () => {
1552
1576
  let e = document.visibilityState === "visible";
1553
- if (!e && Rt.value) {
1554
- Rt.value = !1, zt = Date.now(), Y.debug(`tab → hidden (hidden=${Bt.size} paused=${Vt.size})`);
1555
- for (let e of Bt) try {
1577
+ if (!e && zt.value) {
1578
+ zt.value = !1, Bt = Date.now(), Y.debug(`tab → hidden (hidden=${Vt.size} paused=${Ht.size})`);
1579
+ for (let e of Vt) try {
1556
1580
  e.cb();
1557
1581
  } catch (e) {
1558
1582
  Y.error("onTabHidden listener threw:", e);
1559
1583
  }
1560
- for (let e of Vt) Gt(e);
1561
- } else if (e && !Rt.value) {
1562
- Kt();
1563
- let e = zt == null ? 0 : Date.now() - zt;
1564
- zt = null, Rt.value = !0, Y.debug(`tab → visible (hiddenMs=${e}, visible-listeners=${Ht.size})`);
1565
- for (let { cb: t } of Ht) try {
1584
+ for (let e of Ht) Kt(e);
1585
+ } else if (e && !zt.value) {
1586
+ qt();
1587
+ let e = Bt == null ? 0 : Date.now() - Bt;
1588
+ Bt = null, zt.value = !0, Y.debug(`tab → visible (hiddenMs=${e}, visible-listeners=${Ut.size})`);
1589
+ for (let { cb: t } of Ut) try {
1566
1590
  t({ hiddenMs: e });
1567
1591
  } catch (e) {
1568
1592
  Y.error("onTabVisible listener threw:", e);
@@ -1570,34 +1594,34 @@ function qt() {
1570
1594
  }
1571
1595
  }));
1572
1596
  }
1573
- function Jt() {
1574
- qt();
1575
- let e = o(() => Rt.value);
1597
+ function Yt() {
1598
+ Jt();
1599
+ let e = o(() => zt.value);
1576
1600
  function t(e) {
1577
1601
  let t = { cb: e };
1578
- Bt.add(t);
1602
+ Vt.add(t);
1579
1603
  let n = () => {
1580
- Bt.delete(t);
1604
+ Vt.delete(t);
1581
1605
  };
1582
1606
  return d(n), n;
1583
1607
  }
1584
1608
  function n(e, t = {}) {
1585
1609
  let n = {
1586
1610
  cb: e,
1587
- delayMs: t.delayMs ?? Lt,
1611
+ delayMs: t.delayMs ?? Rt,
1588
1612
  timer: null
1589
1613
  };
1590
- Vt.add(n);
1614
+ Ht.add(n);
1591
1615
  let r = () => {
1592
- n.timer !== null && (clearTimeout(n.timer), n.timer = null), Vt.delete(n);
1616
+ n.timer !== null && (clearTimeout(n.timer), n.timer = null), Ht.delete(n);
1593
1617
  };
1594
1618
  return d(r), r;
1595
1619
  }
1596
1620
  function r(e) {
1597
1621
  let t = { cb: e };
1598
- Ht.add(t);
1622
+ Ut.add(t);
1599
1623
  let n = () => {
1600
- Ht.delete(t);
1624
+ Ut.delete(t);
1601
1625
  };
1602
1626
  return d(n), n;
1603
1627
  }
@@ -1642,12 +1666,12 @@ var X = {
1642
1666
  "PCMA"
1643
1667
  ]
1644
1668
  }
1645
- }, Yt = "hvc1.1.6.L153.B0";
1646
- function Xt() {
1669
+ }, Xt = "hvc1.1.6.L153.B0";
1670
+ function Zt() {
1647
1671
  return navigator.userAgent.match(/version\/(\d+)/i);
1648
1672
  }
1649
- function Zt() {
1650
- let e = [...X.CODECS.DEFAULT], t = Xt();
1673
+ function Qt() {
1674
+ let e = [...X.CODECS.DEFAULT], t = Zt();
1651
1675
  if (t?.[1]) {
1652
1676
  let n = parseInt(t[1], 10);
1653
1677
  if (n < 13) {
@@ -1663,34 +1687,34 @@ function Zt() {
1663
1687
  }
1664
1688
  return e;
1665
1689
  }
1666
- function Qt(e, t) {
1690
+ function $t(e, t) {
1667
1691
  return e.filter((e) => t(`video/mp4; codecs="${e}"`)).join(",");
1668
1692
  }
1669
- function $t(e) {
1693
+ function en(e) {
1670
1694
  return X.CODECS.WEBRTC_AUDIO.includes(e);
1671
1695
  }
1672
- function en(e) {
1673
- return X.CODECS.WEBRTC_VIDEO.includes(e) ? !0 : e === "H265" && on();
1674
- }
1675
- var tn, nn;
1676
- function rn(e) {
1677
- if (e === "auto") return rn("webrtc") || rn("mse");
1678
- if (e === "mse") return tn === void 0 && (tn = !!ln()?.isTypeSupported(`video/mp4; codecs="${Yt}"`)), tn;
1679
- if (nn === void 0) try {
1680
- nn = !!(RTCRtpReceiver?.getCapabilities("video")?.codecs)?.some((e) => e.mimeType.toLowerCase().includes("h265") || e.mimeType.toLowerCase().includes("hevc"));
1696
+ function tn(e) {
1697
+ return X.CODECS.WEBRTC_VIDEO.includes(e) ? !0 : e === "H265" && sn();
1698
+ }
1699
+ var nn, rn;
1700
+ function an(e) {
1701
+ if (e === "auto") return an("webrtc") || an("mse");
1702
+ if (e === "mse") return nn === void 0 && (nn = !!un()?.isTypeSupported(`video/mp4; codecs="${Xt}"`)), nn;
1703
+ if (rn === void 0) try {
1704
+ rn = !!(RTCRtpReceiver?.getCapabilities("video")?.codecs)?.some((e) => e.mimeType.toLowerCase().includes("h265") || e.mimeType.toLowerCase().includes("hevc"));
1681
1705
  } catch {
1682
- nn = !1;
1706
+ rn = !1;
1683
1707
  }
1684
- return nn;
1708
+ return rn;
1685
1709
  }
1686
- function an(e) {
1687
- e === "mse" ? tn = !1 : nn = !1;
1710
+ function on(e) {
1711
+ e === "mse" ? nn = !1 : rn = !1;
1688
1712
  }
1689
- function on() {
1690
- return rn("webrtc");
1713
+ function sn() {
1714
+ return an("webrtc");
1691
1715
  }
1692
- function sn(e) {
1693
- let t = e.audio.filter((e) => e.direction === "sendonly"), n = e.video.filter((e) => e.direction === "sendonly"), r = t.length === 0 || t.some((e) => $t(e.codec)), i = n.length === 0 || n.some((e) => en(e.codec)), a = [];
1716
+ function cn(e) {
1717
+ let t = e.audio.filter((e) => e.direction === "sendonly"), n = e.video.filter((e) => e.direction === "sendonly"), r = t.length === 0 || t.some((e) => en(e.codec)), i = n.length === 0 || n.some((e) => tn(e.codec)), a = [];
1694
1718
  return r || a.push(...t.map((e) => e.codec)), i || a.push(...n.map((e) => e.codec)), {
1695
1719
  compatible: r && i,
1696
1720
  audioCompatible: r,
@@ -1698,14 +1722,14 @@ function sn(e) {
1698
1722
  incompatibleCodecs: a
1699
1723
  };
1700
1724
  }
1701
- function cn() {
1725
+ function ln() {
1702
1726
  return "ManagedMediaSource" in window;
1703
1727
  }
1704
- function ln() {
1705
- if (cn()) return window.ManagedMediaSource;
1728
+ function un() {
1729
+ if (ln()) return window.ManagedMediaSource;
1706
1730
  if ("MediaSource" in window) return window.MediaSource;
1707
1731
  }
1708
- function un(e, t) {
1732
+ function dn(e, t) {
1709
1733
  return new Promise((n, r) => {
1710
1734
  if (t.aborted) {
1711
1735
  r(new DOMException("Aborted", "AbortError"));
@@ -1717,20 +1741,20 @@ function un(e, t) {
1717
1741
  }, { once: !0 });
1718
1742
  });
1719
1743
  }
1720
- function dn(e) {
1721
- let { videoElement: t, onReady: n, onFirstData: r, onError: i, signal: a } = e, o = null, s = null, c = null, l = !1, u = !1, d = new Uint8Array(X.MSE.BUFFER_SIZE), f = 0, p = [], m = Zt();
1744
+ function fn(e) {
1745
+ let { videoElement: t, onReady: n, onFirstData: r, onError: i, signal: a } = e, o = null, s = null, c = null, l = !1, u = !1, d = new Uint8Array(X.MSE.BUFFER_SIZE), f = 0, p = [], m = Qt();
1722
1746
  function h() {
1723
1747
  if (a.aborted) return;
1724
- let e = ln();
1748
+ let e = un();
1725
1749
  if (!e) {
1726
1750
  i(/* @__PURE__ */ Error("MediaSource not supported"));
1727
1751
  return;
1728
1752
  }
1729
1753
  o = new e();
1730
- let n = cn(), r = t.src;
1754
+ let n = ln(), r = t.src;
1731
1755
  return o.addEventListener("sourceopen", () => {
1732
1756
  a.aborted || !n && r && r.startsWith("blob:") && r !== t.src && URL.revokeObjectURL(r);
1733
- }, { once: !0 }), n ? (t.disableRemotePlayback = !0, t.srcObject = o) : (c = URL.createObjectURL(o), t.src = c, t.srcObject = null), Qt(m, e.isTypeSupported.bind(e));
1757
+ }, { once: !0 }), n ? (t.disableRemotePlayback = !0, t.srcObject = o) : (c = URL.createObjectURL(o), t.src = c, t.srcObject = null), $t(m, e.isTypeSupported.bind(e));
1734
1758
  }
1735
1759
  function g(e) {
1736
1760
  if (a.aborted || !o) return;
@@ -1741,7 +1765,7 @@ function dn(e) {
1741
1765
  return;
1742
1766
  }
1743
1767
  f = 0, d = new Uint8Array(X.MSE.BUFFER_SIZE);
1744
- let t = ln();
1768
+ let t = un();
1745
1769
  if (t && !t.isTypeSupported(e)) {
1746
1770
  i(/* @__PURE__ */ Error(`MIME type not supported: ${e}`));
1747
1771
  return;
@@ -1846,7 +1870,7 @@ async function Z(e) {
1846
1870
  e.muted || (e.muted = !0, await Z(e));
1847
1871
  }
1848
1872
  }
1849
- function fn(e, t, n) {
1873
+ function pn(e, t, n) {
1850
1874
  let r = new RTCPeerConnection({
1851
1875
  bundlePolicy: "max-bundle",
1852
1876
  iceServers: [...X.WEBRTC.ICE_SERVERS]
@@ -1857,34 +1881,34 @@ function fn(e, t, n) {
1857
1881
  i && t(i);
1858
1882
  }, r;
1859
1883
  }
1860
- async function pn(e, t, n) {
1884
+ async function mn(e, t, n) {
1861
1885
  !t.aborted && e && await e.setRemoteDescription({
1862
1886
  type: "answer",
1863
1887
  sdp: n
1864
1888
  });
1865
1889
  }
1866
- async function mn(e, t, n, r) {
1890
+ async function hn(e, t, n, r) {
1867
1891
  !t.aborted && e && (r && n.includes(" udp ") || await e.addIceCandidate({
1868
1892
  candidate: n,
1869
1893
  sdpMid: "0"
1870
1894
  }));
1871
1895
  }
1872
- async function hn(e, t, n) {
1896
+ async function gn(e, t, n) {
1873
1897
  if (!t.aborted && e) try {
1874
1898
  await e.sender.replaceTrack(n);
1875
1899
  } catch {}
1876
1900
  }
1877
- function gn(e) {
1901
+ function _n(e) {
1878
1902
  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;
1879
1903
  }
1880
- function _n(e) {
1904
+ function vn(e) {
1881
1905
  let { mode: t, onConnected: n, onDisconnected: r, onFailed: i, onCandidate: a, signal: o } = e, s = {
1882
1906
  pc: null,
1883
1907
  micTransceiver: null,
1884
1908
  isConnected: !1
1885
1909
  }, c = t === "webrtc/tcp";
1886
1910
  function l() {
1887
- let e = fn(o, a, c);
1911
+ let e = pn(o, a, c);
1888
1912
  return e.onconnectionstatechange = () => {
1889
1913
  if (o.aborted) return;
1890
1914
  let t = e.connectionState;
@@ -1902,7 +1926,7 @@ function _n(e) {
1902
1926
  return await s.pc.setLocalDescription(e), e.sdp;
1903
1927
  }
1904
1928
  function d() {
1905
- gn(s);
1929
+ _n(s);
1906
1930
  }
1907
1931
  return o.addEventListener("abort", d, { once: !0 }), {
1908
1932
  get pc() {
@@ -1915,20 +1939,20 @@ function _n(e) {
1915
1939
  return s.isConnected;
1916
1940
  },
1917
1941
  createOffer: u,
1918
- handleAnswer: (e) => pn(s.pc, o, e),
1919
- handleCandidate: (e) => mn(s.pc, o, e, c),
1920
- setMicrophoneTrack: (e) => hn(s.micTransceiver, o, e),
1942
+ handleAnswer: (e) => mn(s.pc, o, e),
1943
+ handleCandidate: (e) => hn(s.pc, o, e, c),
1944
+ setMicrophoneTrack: (e) => gn(s.micTransceiver, o, e),
1921
1945
  close: d
1922
1946
  };
1923
1947
  }
1924
- function vn(e) {
1948
+ function yn(e) {
1925
1949
  let { onConnected: t, onDisconnected: n, onCandidate: r, signal: i } = e, a = {
1926
1950
  pc: null,
1927
1951
  micTransceiver: null,
1928
1952
  isConnected: !1
1929
1953
  };
1930
1954
  function o() {
1931
- let e = fn(i, r, !1);
1955
+ let e = pn(i, r, !1);
1932
1956
  return e.onconnectionstatechange = () => {
1933
1957
  if (i.aborted) return;
1934
1958
  let r = e.connectionState;
@@ -1942,20 +1966,20 @@ function vn(e) {
1942
1966
  return await a.pc.setLocalDescription(e), e.sdp;
1943
1967
  }
1944
1968
  function c() {
1945
- gn(a);
1969
+ _n(a);
1946
1970
  }
1947
1971
  return i.addEventListener("abort", c, { once: !0 }), {
1948
1972
  get isConnected() {
1949
1973
  return a.isConnected;
1950
1974
  },
1951
1975
  createOffer: s,
1952
- handleAnswer: (e) => pn(a.pc, i, e),
1953
- handleCandidate: (e) => mn(a.pc, i, e, !1),
1954
- setMicrophoneTrack: (e) => hn(a.micTransceiver, i, e),
1976
+ handleAnswer: (e) => mn(a.pc, i, e),
1977
+ handleCandidate: (e) => hn(a.pc, i, e, !1),
1978
+ setMicrophoneTrack: (e) => gn(a.micTransceiver, i, e),
1955
1979
  close: c
1956
1980
  };
1957
1981
  }
1958
- async function yn(e, t) {
1982
+ async function bn(e, t) {
1959
1983
  switch (t.type) {
1960
1984
  case "webrtc/answer":
1961
1985
  await e.handleAnswer(t.value);
@@ -1964,10 +1988,10 @@ async function yn(e, t) {
1964
1988
  }
1965
1989
  }
1966
1990
  var Q = new m("StreamConnection");
1967
- function bn(e) {
1991
+ function xn(e) {
1968
1992
  return e ? typeof document < "u" && "pictureInPictureElement" in document && document.pictureInPictureElement === e || e.webkitPresentationMode === "picture-in-picture" : !1;
1969
1993
  }
1970
- var xn = class {
1994
+ var Sn = class {
1971
1995
  status;
1972
1996
  activeMode;
1973
1997
  requestedMode;
@@ -2029,7 +2053,7 @@ var xn = class {
2029
2053
  this.target = t.target, this.wsTransport = t.wsTransport;
2030
2054
  let { autoStart: r = !0 } = e;
2031
2055
  this.status = l("idle"), this.activeMode = l("webrtc"), this.activeResolution = l("low-resolution"), this.degradedFrom = l(null), this.degradeReason = l(null), this.source = c(), this.hasVideo = l(!1), this.hasAudio = l(!1), this.hasBackchannel = l(!1), this.isPlaying = l(!1), this.error = l(), this.probeInfo = c(), this.muted = l(!0), this.paused = l(!1), this.nativeWidth = l(0), this.nativeHeight = l(0), this.requestedMode = l(n(e.mode) ?? "auto"), this.requestedResolution = l(n(e.resolution) ?? "high-resolution"), this.camera = o(() => n(e.camera)), this.videoElement = o(() => n(e.videoElement)), this.containerElement = o(() => n(e.containerElement)), this.isReady = o(() => !!this.camera.value && !!this.videoElement.value && !!this.target.value), this.scope.run(() => {
2032
- let { onTabPaused: e, onTabVisible: t } = Jt(), n = f(() => {
2056
+ let { onTabPaused: e, onTabVisible: t } = Yt(), n = f(() => {
2033
2057
  this.wsHandle?.readyState === WebSocket.CONNECTING && (this.disconnectWebSocket(), !this.abortController.signal.aborted && this.status.value !== "closed" && this.restart());
2034
2058
  }, X.WEBRTC.WS_CONNECT_TIMEOUT, { immediate: !1 }), i = f(() => {
2035
2059
  this.webrtcHandler && !this.webrtcHandler.isConnected ? this.requestedMode.value === "auto" ? (this.webrtcHandler.close(), this.webrtcHandler = void 0, this.activeMode.value = "mse", this.mseHandler?.isReady ? this.status.value = "connected" : this.startMSE()) : (this.markSourceUndecodable(), this.restart()) : this.status.value === "connected" && !this.isPlaying.value && !this.abortController.signal.aborted && this.handleNoFramesWhileConnected();
@@ -2043,7 +2067,7 @@ var xn = class {
2043
2067
  Q.debug(`onTabPaused — already in ${this.status.value}, skipping stop()`);
2044
2068
  return;
2045
2069
  }
2046
- if (bn(this.videoElement.value)) {
2070
+ if (xn(this.videoElement.value)) {
2047
2071
  Q.debug("onTabPaused — video is in picture-in-picture, keeping the stream"), this.watchPipLeave();
2048
2072
  return;
2049
2073
  }
@@ -2064,7 +2088,7 @@ var xn = class {
2064
2088
  let e = this.videoElement.value;
2065
2089
  if (!e) return;
2066
2090
  let t = () => {
2067
- bn(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()));
2091
+ xn(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()));
2068
2092
  };
2069
2093
  e.addEventListener("leavepictureinpicture", t), e.addEventListener("webkitpresentationmodechanged", t), this.disarmPipWatch = () => {
2070
2094
  e.removeEventListener("leavepictureinpicture", t), e.removeEventListener("webkitpresentationmodechanged", t), this.disarmPipWatch = null;
@@ -2182,7 +2206,7 @@ var xn = class {
2182
2206
  this.status.value = "reconnecting", this.isPlaying.value = !1, this.cleanup(), this.abortController = new AbortController();
2183
2207
  let e = ++this.connectionGeneration;
2184
2208
  try {
2185
- await un(1e3, this.abortController.signal);
2209
+ await dn(1e3, this.abortController.signal);
2186
2210
  } catch {
2187
2211
  return;
2188
2212
  }
@@ -2283,7 +2307,7 @@ var xn = class {
2283
2307
  if (this.triedSourceIds.has(e._id)) return !1;
2284
2308
  if (e.videoCodec !== "H265") return !0;
2285
2309
  let t = this.requestedMode.value;
2286
- return rn(t === "auto" ? "auto" : t === "mse" ? "mse" : "webrtc");
2310
+ return an(t === "auto" ? "auto" : t === "mse" ? "mse" : "webrtc");
2287
2311
  }
2288
2312
  getSourceForResolution(e) {
2289
2313
  let t = this.camera.value;
@@ -2327,7 +2351,7 @@ var xn = class {
2327
2351
  let t = e.video.filter((e) => e.direction === "sendonly");
2328
2352
  if (!t.length || !t.every((e) => e.codec === "H265")) return !1;
2329
2353
  let n = this.requestedMode.value;
2330
- return !rn(n === "auto" ? "auto" : n === "mse" ? "mse" : "webrtc");
2354
+ return !an(n === "auto" ? "auto" : n === "mse" ? "mse" : "webrtc");
2331
2355
  }
2332
2356
  sourceLikelyH265() {
2333
2357
  let e = this.source.value;
@@ -2342,7 +2366,7 @@ var xn = class {
2342
2366
  e && this.sourceLikelyH265() && this.triedSourceIds.add(e._id);
2343
2367
  }
2344
2368
  handleNoFramesWhileConnected() {
2345
- if (this.sourceLikelyH265() && an(this.activeMode.value === "mse" ? "mse" : "webrtc"), this.requestedMode.value === "auto" && this.activeMode.value !== "mse") {
2369
+ if (this.sourceLikelyH265() && on(this.activeMode.value === "mse" ? "mse" : "webrtc"), this.requestedMode.value === "auto" && this.activeMode.value !== "mse") {
2346
2370
  this.webrtcHandler?.close(), this.webrtcHandler = void 0, this.activeMode.value = "mse", this.status.value = "reconnecting", this.startMSE();
2347
2371
  return;
2348
2372
  }
@@ -2404,7 +2428,7 @@ var xn = class {
2404
2428
  switch (e.type) {
2405
2429
  case "webrtc/answer":
2406
2430
  case "webrtc/candidate":
2407
- this.webrtcHandler ? yn(this.webrtcHandler, e) : this.backchannelHandler && yn(this.backchannelHandler, e);
2431
+ this.webrtcHandler ? bn(this.webrtcHandler, e) : this.backchannelHandler && bn(this.backchannelHandler, e);
2408
2432
  break;
2409
2433
  case "mse":
2410
2434
  this.mseHandler && typeof e.value == "string" && this.mseHandler.initializeBuffer(e.value);
@@ -2414,7 +2438,7 @@ var xn = class {
2414
2438
  }
2415
2439
  async startWebRTC(e) {
2416
2440
  if (this.abortController.signal.aborted) return;
2417
- this.startConnectTimeout(), this.webrtcHandler = _n({
2441
+ this.startConnectTimeout(), this.webrtcHandler = vn({
2418
2442
  mode: e,
2419
2443
  signal: this.abortController.signal,
2420
2444
  onConnected: (e) => this.handleWebRTCConnected(e),
@@ -2452,7 +2476,7 @@ var xn = class {
2452
2476
  if (this.mseHandler) return;
2453
2477
  let e = this.videoElement.value;
2454
2478
  if (this.abortController.signal.aborted || !e) return;
2455
- this.mseHandler = dn({
2479
+ this.mseHandler = fn({
2456
2480
  videoElement: e,
2457
2481
  signal: this.abortController.signal,
2458
2482
  onReady: () => this.handleMSEReady(),
@@ -2478,7 +2502,7 @@ var xn = class {
2478
2502
  async startAutoMode() {
2479
2503
  if (this.abortController.signal.aborted) return;
2480
2504
  let e = this.probeInfo.value ?? await this.probeStream();
2481
- if (e && !sn(e).compatible) {
2505
+ if (e && !cn(e).compatible) {
2482
2506
  this.activeMode.value = "mse", this.startMSE();
2483
2507
  return;
2484
2508
  }
@@ -2522,7 +2546,7 @@ var xn = class {
2522
2546
  }
2523
2547
  async startBackchannel() {
2524
2548
  if (this.abortController.signal.aborted || !this.wsHandle || this.wsHandle.readyState !== WebSocket.OPEN) return;
2525
- this.backchannelHandler = vn({
2549
+ this.backchannelHandler = yn({
2526
2550
  signal: this.abortController.signal,
2527
2551
  onCandidate: (e) => this.sendWsMessage({
2528
2552
  type: "webrtc/candidate",
@@ -2545,10 +2569,10 @@ var xn = class {
2545
2569
  this.backchannelHandler?.close(), this.backchannelHandler = void 0, this.pendingMicTrack = null;
2546
2570
  }
2547
2571
  };
2548
- function Sn(e) {
2549
- return new xn(e);
2572
+ function Cn(e) {
2573
+ return new Sn(e);
2550
2574
  }
2551
- var Cn = class {
2575
+ var wn = class {
2552
2576
  streams = /* @__PURE__ */ new Map();
2553
2577
  releaseTimers = /* @__PURE__ */ new Map();
2554
2578
  releaseDelay;
@@ -2621,7 +2645,7 @@ var Cn = class {
2621
2645
  clear() {
2622
2646
  for (let e of this.releaseTimers.values()) clearTimeout(e);
2623
2647
  this.releaseTimers.clear();
2624
- for (let [e, t] of this.streams) wn(t.stream), this.streams.delete(e);
2648
+ for (let [e, t] of this.streams) Tn(t.stream), this.streams.delete(e);
2625
2649
  }
2626
2650
  getDebugInfo() {
2627
2651
  return Array.from(this.streams.entries()).map(([e, t]) => ({
@@ -2654,25 +2678,25 @@ var Cn = class {
2654
2678
  }
2655
2679
  doRelease(e) {
2656
2680
  let t = this.streams.get(e);
2657
- t && (t.refCount <= 0 && (wn(t.stream), this.streams.delete(e)), this.releaseTimers.delete(e));
2681
+ t && (t.refCount <= 0 && (Tn(t.stream), this.streams.delete(e)), this.releaseTimers.delete(e));
2658
2682
  }
2659
2683
  };
2660
- function wn(e) {
2684
+ function Tn(e) {
2661
2685
  let t = e;
2662
2686
  typeof t.destroy == "function" ? t.destroy() : t.stop();
2663
2687
  }
2664
- var $ = new Cn(), Tn = /* @__PURE__ */ new WeakMap(), En = null;
2665
- function Dn(e) {
2666
- En = e;
2667
- }
2668
- var On = [], kn = c(null);
2669
- function An() {
2670
- kn.value = On[On.length - 1] ?? null;
2688
+ var $ = new wn(), En = /* @__PURE__ */ new WeakMap(), Dn = null;
2689
+ function On(e) {
2690
+ Dn = e;
2671
2691
  }
2692
+ var kn = [], An = c(null);
2672
2693
  function jn() {
2673
- return o(() => kn.value);
2694
+ An.value = kn[kn.length - 1] ?? null;
2695
+ }
2696
+ function Mn() {
2697
+ return o(() => An.value);
2674
2698
  }
2675
- function Mn(e, t = {}) {
2699
+ function Nn(e, t = {}) {
2676
2700
  let r = t.mode ?? "fit", i = l(!1), a = c(null);
2677
2701
  s(() => n(e), (e) => {
2678
2702
  a.value = e ?? null;
@@ -2684,7 +2708,7 @@ function Mn(e, t = {}) {
2684
2708
  let e = a.value;
2685
2709
  if (!e || i.value) return;
2686
2710
  let t = document.createElement("div");
2687
- t.className = `cui-fullscreen cui-fullscreen-${r}`, Nn(t, r);
2711
+ t.className = `cui-fullscreen cui-fullscreen-${r}`, Pn(t, r);
2688
2712
  let n = {
2689
2713
  wrapper: t,
2690
2714
  parent: e.parentElement,
@@ -2692,16 +2716,16 @@ function Mn(e, t = {}) {
2692
2716
  bodyOverflow: document.body.style.overflow,
2693
2717
  htmlOverflow: document.documentElement.style.overflow
2694
2718
  };
2695
- Tn.set(e, n), e.setAttribute("data-cui-fullscreen", r), (En ?? document.body).appendChild(t), t.appendChild(e), document.body.style.overflow = "hidden", document.documentElement.style.overflow = "hidden", document.addEventListener("keydown", u), On.push(t), An(), i.value = !0;
2719
+ En.set(e, n), e.setAttribute("data-cui-fullscreen", r), (Dn ?? document.body).appendChild(t), t.appendChild(e), document.body.style.overflow = "hidden", document.documentElement.style.overflow = "hidden", document.addEventListener("keydown", u), kn.push(t), jn(), i.value = !0;
2696
2720
  }
2697
2721
  async function p() {
2698
2722
  let e = a.value;
2699
2723
  if (!e || !i.value) return;
2700
- let t = Tn.get(e);
2724
+ let t = En.get(e);
2701
2725
  if (!t) return;
2702
- Tn.delete(e), e.removeAttribute("data-cui-fullscreen"), t.parent && (t.next && t.next.parentNode === t.parent ? t.parent.insertBefore(e, t.next) : t.parent.appendChild(e)), t.wrapper.remove(), document.body.style.overflow = t.bodyOverflow, document.documentElement.style.overflow = t.htmlOverflow, document.removeEventListener("keydown", u);
2703
- let n = On.indexOf(t.wrapper);
2704
- n !== -1 && On.splice(n, 1), An(), i.value = !1;
2726
+ En.delete(e), e.removeAttribute("data-cui-fullscreen"), t.parent && (t.next && t.next.parentNode === t.parent ? t.parent.insertBefore(e, t.next) : t.parent.appendChild(e)), t.wrapper.remove(), document.body.style.overflow = t.bodyOverflow, document.documentElement.style.overflow = t.htmlOverflow, document.removeEventListener("keydown", u);
2727
+ let n = kn.indexOf(t.wrapper);
2728
+ n !== -1 && kn.splice(n, 1), jn(), i.value = !1;
2705
2729
  }
2706
2730
  async function m() {
2707
2731
  i.value ? await p() : await f();
@@ -2716,7 +2740,7 @@ function Mn(e, t = {}) {
2716
2740
  toggle: m
2717
2741
  };
2718
2742
  }
2719
- function Nn(e, t) {
2743
+ function Pn(e, t) {
2720
2744
  let n = {
2721
2745
  position: "fixed",
2722
2746
  top: "0",
@@ -2745,18 +2769,18 @@ function Nn(e, t) {
2745
2769
  overscrollBehavior: "contain"
2746
2770
  });
2747
2771
  }
2748
- var Pn = 75, Fn = 500, In = 0, Ln = 0;
2749
- function Rn() {
2772
+ var Fn = 75, In = 500, Ln = 0, Rn = 0;
2773
+ function zn() {
2750
2774
  let e = performance.now();
2751
- e - Ln > Fn && (In = 0);
2752
- let t = In * Pn;
2753
- return In++, Ln = e, t;
2775
+ e - Rn > In && (Ln = 0);
2776
+ let t = Ln * Fn;
2777
+ return Ln++, Rn = e, t;
2754
2778
  }
2755
- function zn(e) {
2779
+ function Bn(e) {
2756
2780
  return !e || !e.isConnected ? !1 : e.checkVisibility?.() ?? e.offsetParent !== null;
2757
2781
  }
2758
- function Bn(e) {
2759
- let { activityConfig: r, autoStart: i = !0, isolated: a = !1 } = e, u = a, f, p = () => n(i), m = e.startDelay ?? Rn(), h = [], { isConnected: g } = _(), v = o(() => n(e.camera)), y = o(() => typeof v.value == "string"), b = o(() => {
2782
+ function Vn(e) {
2783
+ let { activityConfig: r, autoStart: i = !0, isolated: a = !1 } = e, u = a, f, p = () => n(i), m = e.startDelay ?? zn(), h = [], { isConnected: g } = _(), v = o(() => n(e.camera)), y = o(() => typeof v.value == "string"), b = o(() => {
2760
2784
  let e = v.value;
2761
2785
  return typeof e == "string" ? e : e.name.value;
2762
2786
  }), { camera: x, isLoading: S } = fe(o(() => y.value ? b.value : "")), C = o(() => y.value && S.value), w = o(() => y.value ? x.value : v.value), T, E, D, O = c(), ee = c(), k = c(), A = c(), j = c(), M = c(), N = l(!1), P = l(!1), F = l(!1), te = l(0), ne = l(0), re = l(!1), I = l(m <= 0);
@@ -2765,7 +2789,7 @@ function Bn(e) {
2765
2789
  }, m)), s(w, (e) => {
2766
2790
  M.value = e;
2767
2791
  }, { immediate: !0 });
2768
- let L = o(() => M.value?.disabled.value === !0), R = o(() => j.value?.status.value ?? "idle"), z = o(() => j.value?.isPlaying.value ?? !1), ie = o(() => j.value?.activeMode.value ?? "webrtc"), ae = o(() => j.value?.activeResolution.value ?? "low-resolution"), oe = o(() => j.value?.degradedFrom.value ?? null), se = o(() => R.value === "unsupported"), B = o(() => j.value?.hasAudio.value ?? !1), V = o(() => j.value?.hasBackchannel.value ?? !1), ce = o(() => j.value?.error.value), le = o(() => R.value === "reconnecting"), ue = o(() => C.value || !z.value && R.value !== "error" && R.value !== "unsupported"), de = o(() => B.value && R.value === "connected"), pe = o(() => !!(typeof navigator < "u" && navigator.mediaDevices) && V.value), me = o(() => j.value?.muted.value ?? !0), H = o(() => j.value?.paused.value ?? !1), he = o(() => typeof document < "u" && document.pictureInPictureEnabled && !!k.value), ge = o(() => k.value), _e = o(() => ee.value ?? O.value), U = It({
2792
+ let L = o(() => M.value?.disabled.value === !0), R = o(() => j.value?.status.value ?? "idle"), z = o(() => j.value?.isPlaying.value ?? !1), ie = o(() => j.value?.activeMode.value ?? "webrtc"), ae = o(() => j.value?.activeResolution.value ?? "low-resolution"), oe = o(() => j.value?.degradedFrom.value ?? null), se = o(() => R.value === "unsupported"), B = o(() => j.value?.hasAudio.value ?? !1), V = o(() => j.value?.hasBackchannel.value ?? !1), ce = o(() => j.value?.error.value), le = o(() => R.value === "reconnecting"), ue = o(() => C.value || !z.value && R.value !== "error" && R.value !== "unsupported"), de = o(() => B.value && R.value === "connected"), pe = o(() => !!(typeof navigator < "u" && navigator.mediaDevices) && V.value), me = o(() => j.value?.muted.value ?? !0), H = o(() => j.value?.paused.value ?? !1), he = o(() => typeof document < "u" && document.pictureInPictureEnabled && !!k.value), ge = o(() => k.value), _e = o(() => ee.value ?? O.value), U = Lt({
2769
2793
  initialMode: n(e.activityMode) ?? "always-on",
2770
2794
  config: r,
2771
2795
  onStreamStart: () => {
@@ -2779,9 +2803,9 @@ function Bn(e) {
2779
2803
  j.value?.stop();
2780
2804
  },
2781
2805
  isStreamPlaying: () => z.value
2782
- }), { isFullscreen: ve, toggle: ye } = Mn(_e);
2806
+ }), { isFullscreen: ve, toggle: ye } = Nn(_e);
2783
2807
  function be() {
2784
- return E = Sn({
2808
+ return E = Cn({
2785
2809
  camera: M,
2786
2810
  videoElement: A,
2787
2811
  containerElement: O,
@@ -2801,7 +2825,7 @@ function Bn(e) {
2801
2825
  function Ce() {
2802
2826
  if (u) return;
2803
2827
  let e = O.value, t = k.value;
2804
- if (!e || !t || t.parentElement === e || !zn(e) || zn(t.parentElement)) return;
2828
+ if (!e || !t || t.parentElement === e || !Bn(e) || Bn(t.parentElement)) return;
2805
2829
  Se(t, e), t.play().catch(() => {});
2806
2830
  let n = b.value, r = n ? $.get(n) : void 0;
2807
2831
  r && (r.containerElementRef = O);
@@ -2831,11 +2855,11 @@ function Bn(e) {
2831
2855
  let r = $.get(t);
2832
2856
  if (r && r.refCount > 0) {
2833
2857
  let n = r.containerElementRef.value;
2834
- if (n && n !== e && zn(n)) {
2858
+ if (n && n !== e && Bn(n)) {
2835
2859
  f || (f = setTimeout(() => {
2836
2860
  if (f = void 0, F.value || P.value) return;
2837
2861
  let e = $.get(t), n = e?.containerElementRef.value;
2838
- e && e.refCount > 0 && n && n !== O.value && zn(n) && (u = !0), G();
2862
+ e && e.refCount > 0 && n && n !== O.value && Bn(n) && (u = !0), G();
2839
2863
  }, 200), h.push(() => {
2840
2864
  f && clearTimeout(f), f = void 0;
2841
2865
  }));
@@ -3079,7 +3103,7 @@ function Bn(e) {
3079
3103
  captureScreenshot: He
3080
3104
  };
3081
3105
  }
3082
- function Vn() {
3106
+ function Hn() {
3083
3107
  let e = _(), t = b.coreManagerNamespaces(), n = (e) => e.createProxy(t.coreManagerRpc);
3084
3108
  return {
3085
3109
  getFFmpegPath: () => C(e.rpc, (e) => n(e).getFFmpegPath()),
@@ -3088,8 +3112,8 @@ function Vn() {
3088
3112
  getCloudServerId: () => C(e.rpc, (e) => n(e).getCloudServerId())
3089
3113
  };
3090
3114
  }
3091
- var Hn = 1500, Un = 3e4, Wn = /* @__PURE__ */ new Map();
3092
- function Gn(e) {
3115
+ var Un = 1500, Wn = 3e4, Gn = /* @__PURE__ */ new Map();
3116
+ function Kn(e) {
3093
3117
  let t = _(), n = l({ status: "disconnected" }), r = l(null), i = null, a = (n) => C(t.rpc, async (r) => {
3094
3118
  let i = await ut(t.rpc, e);
3095
3119
  if (!i) throw Error(`Plugin "${e}" not found`);
@@ -3104,7 +3128,7 @@ function Gn(e) {
3104
3128
  }, e);
3105
3129
  }
3106
3130
  return s(() => n.value.status, (e) => {
3107
- c(e === "awaiting_user" || e === "polling" ? Hn : Un);
3131
+ c(e === "awaiting_user" || e === "polling" ? Un : Wn);
3108
3132
  }, { immediate: !0 }), o().catch(() => void 0), {
3109
3133
  state: n,
3110
3134
  metadata: r,
@@ -3112,9 +3136,9 @@ function Gn(e) {
3112
3136
  refresh: o
3113
3137
  };
3114
3138
  }
3115
- function Kn(e) {
3116
- Wn.has(e) || Wn.set(e, Gn(e));
3117
- let { state: t, metadata: n, call: r, refresh: i } = Wn.get(e);
3139
+ function qn(e) {
3140
+ Gn.has(e) || Gn.set(e, Kn(e));
3141
+ let { state: t, metadata: n, call: r, refresh: i } = Gn.get(e);
3118
3142
  async function a(e) {
3119
3143
  t.value = await r((t) => t.startDeviceFlow(e));
3120
3144
  }
@@ -3137,7 +3161,7 @@ function Kn(e) {
3137
3161
  refresh: i
3138
3162
  };
3139
3163
  }
3140
- function qn() {
3164
+ function Jn() {
3141
3165
  let e = _(), { rpc: t, isConnected: n } = e, r = b.terminalManagerNamespaces(), a = c(), o = l(!1), s = l(!1), u = l(), f = l({
3142
3166
  cols: 80,
3143
3167
  rows: 24
@@ -3221,4 +3245,4 @@ function qn() {
3221
3245
  };
3222
3246
  }
3223
3247
  //#endregion
3224
- export { nt as A, ot as C, it as D, rt as E, Ze as F, ae as I, Jt as L, Ee as M, wt as N, tt as O, Et as P, qn as R, _ as S, Mn as T, Dn as _, Be as a, Tt as b, De as c, Pe as d, Oe as f, Dt as g, Fe as h, Ae as i, at as j, Kn as k, Ne as l, Me as m, ke as n, Ie as o, Re as p, je as r, ze as s, Pt as t, Le as u, Qe as v, Vn as w, Bn as x, fe as y, jn as z };
3248
+ export { nt as A, ot as C, it as D, rt as E, Ze as F, ae as I, Yt as L, Ee as M, Tt as N, tt as O, Dt as P, Jn as R, _ as S, Nn as T, On as _, Be as a, Et as b, De as c, Pe as d, Oe as f, Ot as g, Fe as h, Ae as i, at as j, qn as k, Ne as l, Me as m, ke as n, Ie as o, Re as p, je as r, ze as s, Ft as t, Le as u, Qe as v, Hn as w, Vn as x, fe as y, Mn as z };