@camera.ui/server 2.0.10 → 2.0.11

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 (274) hide show
  1. package/dist/interface/assets/{404-ChR2IVti.js → 404-COkoHYdK.js} +1 -1
  2. package/dist/interface/assets/{About-CDQ55crC.js → About-qJICwbGH.js} +1 -1
  3. package/dist/interface/assets/{Adminpanel-CiJGwx7_.js → Adminpanel-D58GDcYK.js} +1 -1
  4. package/dist/interface/assets/Automation-Dp_xaEqJ.js +2 -0
  5. package/dist/interface/assets/{AutomationImport-DWQkfeuR.js → AutomationImport-jG2DzCAw.js} +2 -2
  6. package/dist/interface/assets/AutomationStore-4JFCinMU.js +2 -0
  7. package/dist/interface/assets/{AutomationStoreDetail-D15G_MQy.js → AutomationStoreDetail-yBtpTcZc.js} +2 -2
  8. package/dist/interface/assets/Automations-BGsRPCnO.js +2 -0
  9. package/dist/interface/assets/{Camera-Brp9vdg2.js → Camera-C1_jdI_c.js} +2 -2
  10. package/dist/interface/assets/{CameraConsole-dx9vB5ht.js → CameraConsole-BjtK8-Jv.js} +2 -2
  11. package/dist/interface/assets/{Cameras-DDut77Xv.js → Cameras-BmjWXAZ8.js} +2 -2
  12. package/dist/interface/assets/Camview-wGaYaDmi.js +1 -0
  13. package/dist/interface/assets/{Config-Cy5j6yf_.js → Config-CuF6eGTD.js} +1 -1
  14. package/dist/interface/assets/{ConfigActionCameraControl-CrWmGvdE.js → ConfigActionCameraControl-DjD6pSYf.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionDelay-1kd69ysm.js → ConfigActionDelay-DGZlBe84.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionHttp-XY-r_hEX.js → ConfigActionHttp-h5zpYYny.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionImageInput-DJovQd4V.js → ConfigActionImageInput-xab5Mae-.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionMqtt-DsX-q9M_.js → ConfigActionMqtt-BnNmQUNe.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionNotification-BM2X-K-D.js → ConfigActionNotification-DGwL1eKM.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionOutput-DMYPThT1.js → ConfigActionOutput-h2IebNMX.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionPlugin-rCaB0HjK.js → ConfigActionPlugin-B6pIqGWe.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionSensor-gxpOX2DC.js → ConfigActionSensor-DBf7_RrD.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionSnapshot-8vrwtN10.js → ConfigActionSnapshot-Cs2TG5fZ.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionVariable-Dy8ZnhCO.js → ConfigActionVariable-BPK-FHZ-.js} +1 -1
  25. package/dist/interface/assets/{ConfigConditionIfElse-DK9Z6-kN.js → ConfigConditionIfElse-BNfUIXNh.js} +1 -1
  26. package/dist/interface/assets/{ConfigConditionSensorState-BaFj9WYl.js → ConfigConditionSensorState-D1IWa7jK.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionSwitch-_Gxu6OYc.js → ConfigConditionSwitch-C7_-2l4Z.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionTime-Ce8AortY.js → ConfigConditionTime-DCTdB9RZ.js} +1 -1
  29. package/dist/interface/assets/{ConfigSensorValueInput-BIiQ8NN6.js → ConfigSensorValueInput-Dt09C19b.js} +1 -1
  30. package/dist/interface/assets/{ConfigTriggerDetection-CCCi-Tof.js → ConfigTriggerDetection-CVTb6TEu.js} +1 -1
  31. package/dist/interface/assets/ConfigTriggerGeofence-Cb62v6rf.js +1 -0
  32. package/dist/interface/assets/{ConfigTriggerManual-DZPdLXoe.js → ConfigTriggerManual-agJhIaCy.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerMqtt-4Gp-qhCg.js → ConfigTriggerMqtt-DWZ79tPv.js} +1 -1
  34. package/dist/interface/assets/{ConfigTriggerSchedule-DQX6czW4.js → ConfigTriggerSchedule-C38lrm2R.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerSensor-CLnC2yvE.js → ConfigTriggerSensor-BKXoFFFT.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerSystem-Gae5o59O.js → ConfigTriggerSystem-DqoMfULb.js} +1 -1
  37. package/dist/interface/assets/ConfigTriggerWebhook-DunygdEo.js +1 -0
  38. package/dist/interface/assets/Console-DL4o8TCN.js +1 -0
  39. package/dist/interface/assets/{CuiActionButton-BAlSwXzv.js → CuiActionButton-iaZkXylf.js} +1 -1
  40. package/dist/interface/assets/{CuiAvatar-DeBKq6dT.js → CuiAvatar--d4yBFev.js} +1 -1
  41. package/dist/interface/assets/{CuiBBoxPlayground-yYOBCXTq.js → CuiBBoxPlayground-BuDfU2lQ.js} +1 -1
  42. package/dist/interface/assets/CuiBottomSheet-DluJK839.js +1 -0
  43. package/dist/interface/assets/{CuiBottomSheet-udULz0wI.js → CuiBottomSheet-o1iNIub8.js} +1 -1
  44. package/dist/interface/assets/CuiCameraCard-CNkJcJNk.js +1 -0
  45. package/dist/interface/assets/{CuiCameraPipCard-BxbUK-93.js → CuiCameraPipCard-NA4CctaN.js} +1 -1
  46. package/dist/interface/assets/{CuiCameraRecordings-C5bd4VAf.js → CuiCameraRecordings-Dg_xNATQ.js} +1 -1
  47. package/dist/interface/assets/CuiCameraShares-BSdoTLlP.js +1 -0
  48. package/dist/interface/assets/CuiCameraSnapshot-Dp6cLkMa.js +1 -0
  49. package/dist/interface/assets/{CuiCameraTable-CDpfm8fi.js → CuiCameraTable-16e0lAA5.js} +1 -1
  50. package/dist/interface/assets/{CuiDataTable-CB7aMmp9.js → CuiDataTable-BDb1Qvzm.js} +1 -1
  51. package/dist/interface/assets/{CuiFloatingButton-DdI-E8dh.js → CuiFloatingButton-B64PYWE2.js} +1 -1
  52. package/dist/interface/assets/{CuiImage-DBQAYfn1.js → CuiImage-D_DDxN1t.js} +1 -1
  53. package/dist/interface/assets/{CuiMenu--tB8FqMF.js → CuiMenu-BmgnEZun.js} +1 -1
  54. package/dist/interface/assets/{CuiPluginCard-Cb0XSLIr.js → CuiPluginCard-C0GXkGJ3.js} +2 -2
  55. package/dist/interface/assets/{CuiPluginCategoryChip-yMnZpSGr.js → CuiPluginCategoryChip-R5WUBAUw.js} +1 -1
  56. package/dist/interface/assets/CuiPluginOAuthButton-CY3c3HRs.js +2 -0
  57. package/dist/interface/assets/{CuiPluginTrustBadge-Bcnptf84.js → CuiPluginTrustBadge-QRsixP01.js} +1 -1
  58. package/dist/interface/assets/{CuiQRCode-D9QNUEmx.js → CuiQRCode-CsxVDVaU.js} +1 -1
  59. package/dist/interface/assets/{CuiRecordingsGrid-DlKUfbeS.js → CuiRecordingsGrid-DycYYi7W.js} +1 -1
  60. package/dist/interface/assets/CuiSchema-D1-Z2sTy.js +1 -0
  61. package/dist/interface/assets/{CuiTopNavbarItem--MOi9UUw.js → CuiTopNavbarItem-CIO_h1T0.js} +1 -1
  62. package/dist/interface/assets/{CuiTopbarSlot-Bcw46PzA.js → CuiTopbarSlot-C6t4NmW-.js} +1 -1
  63. package/dist/interface/assets/Faces-QSA5E6EG.js +1 -0
  64. package/dist/interface/assets/FirstSteps-CP26tE1m.js +1 -0
  65. package/dist/interface/assets/Instances-Bdy0n3fB.js +1 -0
  66. package/dist/interface/assets/Logs-Bs0C7Yu1.js +6 -0
  67. package/dist/interface/assets/{Menu-GbuCaA_6.js → Menu-DX0KhBBs.js} +1 -1
  68. package/dist/interface/assets/OAuthDeviceFlow-Cci9ex4G.js +1 -0
  69. package/dist/interface/assets/Plugin-CG02A29i.js +1 -0
  70. package/dist/interface/assets/{PluginConsole-CLGkDl1F.js → PluginConsole-Fffl7Yh_.js} +2 -2
  71. package/dist/interface/assets/PluginDetail-CRCMotvN.js +2 -0
  72. package/dist/interface/assets/{PluginSchema-Dy9kDPML.js → PluginSchema-BNEfEDJU.js} +1 -1
  73. package/dist/interface/assets/PluginSearch-CwNCQedL.js +2 -0
  74. package/dist/interface/assets/PluginSearch-GD7qtALl.js +1 -0
  75. package/dist/interface/assets/Plugins-BNiQus_y.js +1 -0
  76. package/dist/interface/assets/{Recordings-Cz4uWsI9.js → Recordings-dY0k4i3E.js} +1 -1
  77. package/dist/interface/assets/{Settings-is528I5i2.js → Settings-TkiQG2I9.js} +1 -1
  78. package/dist/interface/assets/{SettingsAccount-Y7hpH8Y3.css → SettingsAccount-CBJ_h7eM.css} +1 -1
  79. package/dist/interface/assets/SettingsAccount-Cln0bZPI.js +1 -0
  80. package/dist/interface/assets/SettingsAccount-DvrdANbI.js +1 -0
  81. package/dist/interface/assets/SettingsAppearance-CVMAyxFr.js +1 -0
  82. package/dist/interface/assets/{SettingsAppearance-CGaG9lml.js → SettingsAppearance-CWWSQkIY.js} +1 -1
  83. package/dist/interface/assets/{SettingsBackup-JI_xqcVS.js → SettingsBackup-CZEKi84z.js} +1 -1
  84. package/dist/interface/assets/SettingsMqtt-CeurNe8m.js +1 -0
  85. package/dist/interface/assets/{SettingsNotifications-FWWveQMH.js → SettingsNotifications-BBYcFlOe.js} +1 -1
  86. package/dist/interface/assets/{SettingsRecordings-D-S7rofE.js → SettingsRecordings-8JRnUwvv.js} +1 -1
  87. package/dist/interface/assets/SettingsRemote-BXLy9grM.js +1 -0
  88. package/dist/interface/assets/SettingsRemote-DYld6-1F.css +1 -0
  89. package/dist/interface/assets/SettingsSystem-BwVJ2-Ws.js +2 -0
  90. package/dist/interface/assets/{SettingsUsers-DvuiYjNg.js → SettingsUsers-CMsX8YO6.js} +1 -1
  91. package/dist/interface/assets/{Terminal-CNzw8wk3.js → Terminal-CNAaV5h5.js} +3 -3
  92. package/dist/interface/assets/{VariableInput-DW39Zo4d.js → VariableInput-BuXTKXXC.js} +1 -1
  93. package/dist/interface/assets/{VariableSuggestions-DwhFBKzJ.js → VariableSuggestions-BIPtw8GW.js} +1 -1
  94. package/dist/interface/assets/VersionsHandler-0Ol7oxfg.js +7 -0
  95. package/dist/interface/assets/Workers-BYGXvih8.js +2 -0
  96. package/dist/interface/assets/{Workers-E6LM_yAl.css → Workers-DmcQx0L8.css} +1 -1
  97. package/dist/interface/assets/api-BEwr0GLC.css +2 -0
  98. package/dist/interface/assets/api-CeJqvqFj.js +2 -0
  99. package/dist/interface/assets/{api-Br3Jmdj6.js → api-DudQz5TK.js} +1 -1
  100. package/dist/interface/assets/auth-BKlPnLfY.js +1 -0
  101. package/dist/interface/assets/automations-Dtp3-KSy.js +1 -0
  102. package/dist/interface/assets/{automations-Dd-6vvka.js → automations-eQnuQOEs.js} +1 -1
  103. package/dist/interface/assets/bell-outline-CHhIZudN.js +1 -0
  104. package/dist/interface/assets/{cameras-DCMMwuui.js → cameras-BySMxwdP.js} +1 -1
  105. package/dist/interface/assets/{cameras.schema-99F6GE0u.js → cameras.schema-DVnsQl9j.js} +1 -1
  106. package/dist/interface/assets/cloudHandoff-DOYq2IS2.js +1 -0
  107. package/dist/interface/assets/{config-BiEjYldh.js → config-CDCKrp2V.js} +1 -1
  108. package/dist/interface/assets/{deviceId-sq3mLBKa.js → deviceId-O-kfs3nO.js} +1 -1
  109. package/dist/interface/assets/{hasPermission-Dm18Z17u.js → hasPermission-DADXQ_dj.js} +1 -1
  110. package/dist/interface/assets/instances-DVk8sRuN.js +1 -0
  111. package/dist/interface/assets/main-DHUUsPUM.js +3 -0
  112. package/dist/interface/assets/nodeDefinitions-DUlwYSC1.js +1 -0
  113. package/dist/interface/assets/{notifications-D87Lhlir.js → notifications-Dnh_ylVF.js} +1 -1
  114. package/dist/interface/assets/plugins-CHRZiPTq.js +1 -0
  115. package/dist/interface/assets/{round-restart-alt-CcJGggln.js → round-restart-alt-BRh54UpI.js} +1 -1
  116. package/dist/interface/assets/router-B6AZz5fb.js +2 -0
  117. package/dist/interface/assets/{router-qrIK2v9X.css → router-M08TaIji.css} +1 -1
  118. package/dist/interface/assets/{routerState-B08WcvfU.js → routerState-CencmCOo.js} +1 -1
  119. package/dist/interface/assets/{server-D7bl4wSy.js → server-zkNDKqjz.js} +1 -1
  120. package/dist/interface/assets/shares-DooKpXt5.js +1 -0
  121. package/dist/interface/assets/{theme-BG6n3TRA.js → theme-Dlx1uc6I.js} +1 -1
  122. package/dist/interface/assets/transit-connection-variant-DfztpRMW.js +1 -0
  123. package/dist/interface/assets/types-DwLgLlNL.js +1 -0
  124. package/dist/interface/assets/{ui-Cv0M3koY.js → ui-BajsbwJJ.js} +1 -1
  125. package/dist/interface/assets/{useAppVersion-DCmhFeIs.js → useAppVersion-Vx2rWjdR.js} +1 -1
  126. package/dist/interface/assets/useBackupRestore-CtDDTNYM.js +1 -0
  127. package/dist/interface/assets/{useBiometricCredentials-Tq1nEG8V.js → useBiometricCredentials-DnEuKj2Y.js} +1 -1
  128. package/dist/interface/assets/useCameraOptions-CurEfrEs.js +1 -0
  129. package/dist/interface/assets/{useCuiCameraDrawer-BcAYizqy.js → useCuiCameraDrawer-eH0m75Mk.js} +1 -1
  130. package/dist/interface/assets/{useCuiDialog-DLoFzodG.js → useCuiDialog-CGak2kyV.js} +1 -1
  131. package/dist/interface/assets/{useFileDownload-C5quSdZR.js → useFileDownload-CaB5Myfa.js} +1 -1
  132. package/dist/interface/assets/useLogsSocket-B47qvN41.js +5 -0
  133. package/dist/interface/assets/useLogsSocket-CoA-Nq-_.css +1 -0
  134. package/dist/interface/assets/{useServerRestart-DnT0ZOYm.js → useServerRestart-COGxcO4B.js} +1 -1
  135. package/dist/interface/assets/{useSharedComposables-ffwWlpSL.js → useSharedComposables-DC7dAxBt.js} +1 -1
  136. package/dist/interface/assets/{useStreamStatus-CD18kTqt.js → useStreamStatus-Cr_bBYAe.js} +1 -1
  137. package/dist/interface/assets/{useUpdateChannel-DbBXpySY.js → useUpdateChannel-D_SN9IPN.js} +1 -1
  138. package/dist/interface/assets/{useUserOptions-Bb0ACtxn.js → useUserOptions-CtgFdv3y.js} +1 -1
  139. package/dist/interface/assets/{users.schema-BGeyXreN.js → users.schema-vs5FAhpT.js} +1 -1
  140. package/dist/interface/assets/vendor-cameraui-D5fd9Ars.js +1978 -0
  141. package/dist/interface/assets/{vendor-core-CZuWsjWr.js → vendor-core-D9amXF-u.js} +1 -1
  142. package/dist/interface/assets/{vendor-primevue-DB14kOh6.js → vendor-primevue-Ba4LruKV.js} +1 -1
  143. package/dist/interface/assets/{view-grid-DRwNJzxD.js → view-grid-jcP3VugM.js} +1 -1
  144. package/dist/interface/index.html +46 -45
  145. package/dist/interface/sw.js +1 -1
  146. package/dist/server/package.json +7 -7
  147. package/dist/server/requirements.txt +1 -1
  148. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +10 -2
  149. package/dist/server/src/api/controllers/instances.controller.d.ts +2 -2
  150. package/dist/server/src/api/controllers/instances.controller.js +7 -7
  151. package/dist/server/src/api/controllers/instances.controller.js.map +1 -1
  152. package/dist/server/src/api/controllers/plugins.controller.js +1 -1
  153. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  154. package/dist/server/src/api/database/types.d.ts +8 -0
  155. package/dist/server/src/api/routes/instances.routes.js +2 -1
  156. package/dist/server/src/api/routes/instances.routes.js.map +1 -1
  157. package/dist/server/src/api/schemas/config.schema.d.ts +2 -0
  158. package/dist/server/src/api/schemas/config.schema.js +1 -0
  159. package/dist/server/src/api/schemas/config.schema.js.map +1 -1
  160. package/dist/server/src/api/schemas/instances.schema.d.ts +4 -0
  161. package/dist/server/src/api/schemas/instances.schema.js +5 -0
  162. package/dist/server/src/api/schemas/instances.schema.js.map +1 -1
  163. package/dist/server/src/api/services/backupScheduler.service.js +1 -1
  164. package/dist/server/src/api/services/backupScheduler.service.js.map +1 -1
  165. package/dist/server/src/api/services/instances.service.d.ts +12 -3
  166. package/dist/server/src/api/services/instances.service.js +123 -36
  167. package/dist/server/src/api/services/instances.service.js.map +1 -1
  168. package/dist/server/src/api/services/plugins.service.js +14 -2
  169. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  170. package/dist/server/src/api/services/virtualsensors.service.js +2 -2
  171. package/dist/server/src/api/services/virtualsensors.service.js.map +1 -1
  172. package/dist/server/src/api/types/index.d.ts +4 -1
  173. package/dist/server/src/api/websocket/nsp/server.d.ts +1 -0
  174. package/dist/server/src/api/websocket/nsp/server.js +3 -1
  175. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  176. package/dist/server/src/camera/controller.d.ts +2 -1
  177. package/dist/server/src/camera/controller.js +18 -4
  178. package/dist/server/src/camera/controller.js.map +1 -1
  179. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +1 -0
  180. package/dist/server/src/camera/decoder/detection-coordinator.js +37 -6
  181. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  182. package/dist/server/src/camera/decoder/frame-source.d.ts +4 -0
  183. package/dist/server/src/camera/decoder/frame-source.js +22 -1
  184. package/dist/server/src/camera/decoder/frame-source.js.map +1 -1
  185. package/dist/server/src/camera/decoder/worker.d.ts +1 -0
  186. package/dist/server/src/camera/decoder/worker.js +7 -0
  187. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  188. package/dist/server/src/camera/index.d.ts +5 -1
  189. package/dist/server/src/camera/index.js.map +1 -1
  190. package/dist/server/src/camera/sensors/controller.js +4 -3
  191. package/dist/server/src/camera/sensors/controller.js.map +1 -1
  192. package/dist/server/src/go2rtc/api/routes/snapshot.d.ts +3 -3
  193. package/dist/server/src/go2rtc/api/routes/snapshot.js +1 -1
  194. package/dist/server/src/go2rtc/api/routes/snapshot.js.map +1 -1
  195. package/dist/server/src/go2rtc/types.d.ts +3 -0
  196. package/dist/server/src/go2rtc/types.js.map +1 -1
  197. package/dist/server/src/mqtt/bridge.js +1 -1
  198. package/dist/server/src/mqtt/bridge.js.map +1 -1
  199. package/dist/server/src/plugins/schema.js +1 -1
  200. package/dist/server/src/plugins/schema.js.map +1 -1
  201. package/dist/server/src/remote/services/cloudflare-managed.js +16 -5
  202. package/dist/server/src/remote/services/cloudflare-managed.js.map +1 -1
  203. package/dist/server/src/remote/services/cloudflare.d.ts +2 -2
  204. package/dist/server/src/remote/services/cloudflare.js +16 -17
  205. package/dist/server/src/remote/services/cloudflare.js.map +1 -1
  206. package/dist/server/src/remote/services/cloudflaredBinary.d.ts +2 -0
  207. package/dist/server/src/remote/services/cloudflaredBinary.js +20 -0
  208. package/dist/server/src/remote/services/cloudflaredBinary.js.map +1 -0
  209. package/dist/server/src/remote/services/index.d.ts +1 -0
  210. package/dist/server/src/remote/services/index.js +20 -5
  211. package/dist/server/src/remote/services/index.js.map +1 -1
  212. package/dist/server/src/remote/services/urlReadiness.d.ts +11 -0
  213. package/dist/server/src/remote/services/urlReadiness.js +129 -0
  214. package/dist/server/src/remote/services/urlReadiness.js.map +1 -0
  215. package/dist/server/src/rpc/interfaces/device.d.ts +6 -0
  216. package/dist/server/src/services/config/defaults.js +1 -0
  217. package/dist/server/src/services/config/defaults.js.map +1 -1
  218. package/dist/server/src/services/config/types.d.ts +1 -0
  219. package/dist/server/src/utils/npm/index.d.ts +1 -1
  220. package/dist/server/src/utils/npm/index.js +3 -3
  221. package/dist/server/src/utils/npm/index.js.map +1 -1
  222. package/dist/server/src/utils/pythonInstaller.js +3 -3
  223. package/dist/server/src/utils/pythonInstaller.js.map +1 -1
  224. package/package.json +7 -7
  225. package/dist/interface/assets/Automation-Kt6pl4MS.js +0 -2
  226. package/dist/interface/assets/AutomationStore-FbQdggSq.js +0 -2
  227. package/dist/interface/assets/Automations-urwh-nzl.js +0 -2
  228. package/dist/interface/assets/Camview-ChimIRuL.js +0 -1
  229. package/dist/interface/assets/ConfigTriggerGeofence-DOxaQSWM.js +0 -1
  230. package/dist/interface/assets/ConfigTriggerWebhook-Czyo2Bs-.js +0 -1
  231. package/dist/interface/assets/Console-DBJHlPg2.js +0 -1
  232. package/dist/interface/assets/CuiBottomSheet-B1jcfI0o.js +0 -1
  233. package/dist/interface/assets/CuiCameraCard-HEi3Hoe-.js +0 -1
  234. package/dist/interface/assets/CuiCameraShares-BNjnm9yr.js +0 -1
  235. package/dist/interface/assets/CuiCameraSnapshot-C-iPOB3g.js +0 -1
  236. package/dist/interface/assets/CuiPluginOAuthButton-CuppMPTq.js +0 -2
  237. package/dist/interface/assets/CuiSchema-B6q285jE.js +0 -1
  238. package/dist/interface/assets/Faces-DtJmIku2.js +0 -1
  239. package/dist/interface/assets/FirstSteps-CsMSK_YI.js +0 -1
  240. package/dist/interface/assets/Instances-BTNzUfGz.js +0 -1
  241. package/dist/interface/assets/Logs-Bic2YIta.js +0 -6
  242. package/dist/interface/assets/OAuthDeviceFlow-DwSJHrqc.js +0 -1
  243. package/dist/interface/assets/Plugin-B8656Gzo.js +0 -1
  244. package/dist/interface/assets/PluginDetail-DS8wUbYr.js +0 -2
  245. package/dist/interface/assets/PluginSearch-DBdp5Ifo.js +0 -1
  246. package/dist/interface/assets/PluginSearch-DFtTwd_R.js +0 -2
  247. package/dist/interface/assets/Plugins-C_kdqAp4.js +0 -1
  248. package/dist/interface/assets/SettingsAccount-CALY2rH0.js +0 -1
  249. package/dist/interface/assets/SettingsAccount-_zSgGuBE.js +0 -1
  250. package/dist/interface/assets/SettingsAppearance-z9tBty3q.js +0 -1
  251. package/dist/interface/assets/SettingsMqtt-B_tzet_5.js +0 -1
  252. package/dist/interface/assets/SettingsRemote-CVuDUBMM.js +0 -1
  253. package/dist/interface/assets/SettingsRemote-T38YVHal.css +0 -1
  254. package/dist/interface/assets/SettingsSystem-J7ZT7oRr.js +0 -2
  255. package/dist/interface/assets/VersionsHandler-CsXazSWK.js +0 -7
  256. package/dist/interface/assets/Workers-BXH8IccG.js +0 -2
  257. package/dist/interface/assets/api-C31uUd3g.css +0 -2
  258. package/dist/interface/assets/api-DR6W2XWy.js +0 -2
  259. package/dist/interface/assets/auth-BJf6VFls.js +0 -1
  260. package/dist/interface/assets/automations-Dt5J3kkY.js +0 -1
  261. package/dist/interface/assets/cloudHandoff-Yc4FJv_l.js +0 -1
  262. package/dist/interface/assets/instances-MscZjRfc.js +0 -1
  263. package/dist/interface/assets/main-4pJkMgxg.js +0 -3
  264. package/dist/interface/assets/nodeDefinitions-5BjF3SJ8.js +0 -1
  265. package/dist/interface/assets/plugins-VeCjoaEi.js +0 -1
  266. package/dist/interface/assets/router-BFG1ClJo.js +0 -2
  267. package/dist/interface/assets/shares-D5xo0sht.js +0 -1
  268. package/dist/interface/assets/transit-connection-variant-CXkATe8I.js +0 -1
  269. package/dist/interface/assets/types-Dyn_Sb2s.js +0 -1
  270. package/dist/interface/assets/useBackupRestore-B-yCV4DL.js +0 -1
  271. package/dist/interface/assets/useCameraOptions-B2lIc9JO.js +0 -1
  272. package/dist/interface/assets/useLogsSocket-4F2-d9fa.css +0 -1
  273. package/dist/interface/assets/useLogsSocket-B1sCzRXK.js +0 -5
  274. package/dist/interface/assets/vendor-cameraui-DDdtrYBn.js +0 -1978
@@ -0,0 +1 @@
1
+ import{Ct as e,D as t,O as n,T as r,kt as i}from"./api-CeJqvqFj.js";import{J as a,Q as o,Sr as s,mr as c}from"./vendor-ClrOISZp.js";async function l(t){let n=e().endpoint.value??window.location.origin;return(await i.get(`/tunnel/check`,{signal:t,baseURL:n})).data}async function u({parameter:e,signal:t}){return(await i.get(`/auth/sessions`,{params:e,signal:t})).data.result??[]}async function d({parameter:e,signal:t}){return(await i.get(`/auth/sessions/all`,{params:e,signal:t})).data.result??[]}async function f({id:e}){await i.delete(`/auth/sessions/${e}`)}async function p(){await i.delete(`/auth/sessions`)}async function m({loginInformation:e}){return(await i.post(`/auth/login`,e)).data}async function h({tempToken:e,code:t}){return(await i.post(`/auth/verify-2fa`,{tempToken:e,code:t})).data}async function g(e){return(await i.get(`/auth/2fa/status`,{signal:e})).data}async function _(){return(await i.post(`/auth/2fa/setup`)).data}async function v({code:e}){return(await i.post(`/auth/2fa/enable`,{code:e})).data}async function y({code:e}){await i.post(`/auth/2fa/disable`,{code:e})}async function b({code:e}){return(await i.post(`/auth/2fa/backup-codes`,{code:e})).data}async function x(){return(await i.post(`/auth/logout`)).data}async function S({refresh_token:e,signal:t}){return(await i.post(`/auth/refresh`,{refresh_token:e},{timeout:1e4,signal:t})).data}var C=class{_queryClient=o();t=n.global.t;toast=t();queryActivator=c([{name:`checkQuery`,enabled:!0},{name:`listSessionsQuery`,enabled:!0},{name:`listAllSessionsQuery`,enabled:!0},{name:`get2FAStatusQuery`,enabled:!0}]);get queryClient(){return this._queryClient}checkQuery(){return r({queryKey:[`auth`,`check`],queryFn:({signal:e})=>l(e),enabled:()=>this.queryActivator.value.some(e=>e.name===`checkQuery`&&e.enabled)})}listSessionsQuery(e){return r({queryKey:[`auth`,`sessions`,e],queryFn:({signal:t})=>u({parameter:s(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`listSessionsQuery`&&e.enabled)})}listAllSessionsQuery(e){return r({queryKey:[`auth`,`sessions`,`all`,e],queryFn:({signal:t})=>d({parameter:s(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`listAllSessionsQuery`&&e.enabled)})}loginQuery(){return a({mutationFn:m,onError:()=>{}})}logoutQuery(){return a({mutationFn:x})}revokeSessionQuery(){return a({mutationFn:f,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`auth`,`sessions`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.user_logged_out`),life:3e3})}})}revokeOtherSessionsQuery(){return a({mutationFn:p,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`auth`,`sessions`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.active_sessions.revoke_others_success`),life:3e3})}})}refreshQuery(){return a({mutationFn:S})}verify2FAQuery(){return a({mutationFn:h,onError:()=>{}})}get2FAStatusQuery(){return r({queryKey:[`auth`,`2fa`,`status`],queryFn:({signal:e})=>g(e),enabled:()=>this.queryActivator.value.some(e=>e.name===`get2FAStatusQuery`&&e.enabled)})}setup2FAQuery(){return a({mutationFn:_})}enable2FAQuery(){return a({mutationFn:v,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`auth`,`2fa`,`status`]})}})}disable2FAQuery(){return a({mutationFn:y,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`auth`,`2fa`,`status`]})}})}regenerateBackupCodesQuery(){return a({mutationFn:b})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{C as t};
@@ -0,0 +1 @@
1
+ import{D as e,O as t,T as n,kt as r}from"./api-CeJqvqFj.js";import{J as i,Q as a,Sr as o,mr as s}from"./vendor-ClrOISZp.js";async function c({signal:e}){return(await r.get(`/automations`,{signal:e})).data}async function l({id:e,signal:t}){return(await r.get(`/automations/${e}`,{signal:t})).data}async function u({data:e}){return(await r.post(`/automations`,e)).data}async function d({id:e,data:t}){return(await r.patch(`/automations/${e}`,t)).data}async function f({id:e}){await r.delete(`/automations/${e}`)}async function p({id:e}){let{data:t}=await r.post(`/automations/${e}/trigger`);return t}async function m({blueprint:e}){return(await r.post(`/automations/import`,e)).data}async function h({signal:e}){return(await r.get(`/automations/plugin-methods`,{signal:e})).data}async function g({refresh:e,signal:t}){return(await r.get(`/automations/store`,{params:e?{refresh:!0}:{},signal:t})).data}async function _({id:e,signal:t}){return(await r.get(`/automations/store/${e}`,{signal:t})).data}var v=class{_queryClient=a();t=t.global.t;toast=e();queryActivator=s([{name:`getAutomationsQuery`,enabled:!0},{name:`getAutomationQuery`,enabled:!0}]);getAutomationsQuery(){return n({queryKey:[`automationsList`],queryFn:({signal:e})=>c({signal:e}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getAutomationsQuery`&&e.enabled)})}getAutomationQuery(e){return n({queryKey:[`automation`,e],queryFn:({signal:t})=>l({id:o(e),signal:t}),enabled:()=>!!o(e)&&o(e)!==`new`&&this.queryActivator.value.some(e=>e.name===`getAutomationQuery`&&e.enabled)})}createAutomationQuery(){return i({mutationFn:u,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]}),this.toast.add({severity:`success`,detail:this.t(`views.automation.saved`),life:3e3})}})}patchAutomationQuery(){return i({mutationFn:d,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]}),await this._queryClient.refetchQueries({queryKey:[`automation`,t.id]})}})}deleteAutomationQuery(){return i({mutationFn:f,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]})}})}triggerAutomationQuery(){return i({mutationFn:p,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]}),await this._queryClient.refetchQueries({queryKey:[`automation`,t.id]})}})}getPluginMethodsQuery(){return n({queryKey:[`automationPluginMethods`],queryFn:({signal:e})=>h({signal:e})})}getAutomationStoreQuery(e){return n({queryKey:[`automationStore`],queryFn:({signal:t})=>g({refresh:o(e),signal:t}),placeholderData:e=>e})}getAutomationStoreItemQuery(e){return n({queryKey:[`automationStoreItem`,e],queryFn:({signal:t})=>_({id:o(e),signal:t}),enabled:()=>!!o(e)})}importBlueprintQuery(){return i({mutationFn:m,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`automationsList`]}),this.toast.add({severity:`success`,detail:this.t(`views.automations.import_success`),life:3e3})}})}};export{v as t};
@@ -1 +1 @@
1
- import{mr as e}from"./vendor-ClrOISZp.js";import{d as t}from"./vendor-core-CZuWsjWr.js";var n=t(`automations`,()=>{let t=e(null),n=e(null),r=e(null),i=e(null);function a(e){if(!r.value)return;let t=r.value.edges,n=r.value.nodes,i=t.filter(t=>t.target===e).map(e=>e.source);return n.find(e=>i.includes(e.id))}return{activeFlowId:t,selectedNodeId:n,draft:r,lastOutput:i,getDraftSourceNode:a}});export{n as t};
1
+ import{mr as e}from"./vendor-ClrOISZp.js";import{d as t}from"./vendor-core-D9amXF-u.js";var n=t(`automations`,()=>{let t=e(null),n=e(null),r=e(null),i=e(null);function a(e){if(!r.value)return;let t=r.value.edges,n=r.value.nodes,i=t.filter(t=>t.target===e).map(e=>e.source);return n.find(e=>i.includes(e.id))}return{activeFlowId:t,selectedNodeId:n,draft:r,lastOutput:i,getDraftSourceNode:a}});export{n as t};
@@ -0,0 +1 @@
1
+ import{dn as e,mn as t,ur as n,zn as r}from"./vendor-ClrOISZp.js";var i={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function a(n,a){return r(),t(`svg`,i,[...a[0]||=[e(`path`,{fill:`currentColor`,d:`M10 21h4c0 1.1-.9 2-2 2s-2-.9-2-2m11-2v1H3v-1l2-2v-6c0-3.1 2-5.8 5-6.7V4c0-1.1.9-2 2-2s2 .9 2 2v.3c3 .9 5 3.6 5 6.7v6zm-4-8c0-2.8-2.2-5-5-5s-5 2.2-5 5v7h10z`},null,-1)]])}var o=n({name:`mdi-bell-outline`,render:a});export{o as t};
@@ -1 +1 @@
1
- import{C as e,Dt as t,E as n,T as r}from"./api-DR6W2XWy.js";import{J as i,Q as a,Sr as o,mr as s}from"./vendor-ClrOISZp.js";async function c({cameraData:e}){return(await t.post(`/cameras`,e)).data}async function l({cameraData:e}){return(await t.post(`/cameras/preview`,e)).data}async function u({signal:e}){return(await t.get(`/cameras/rooms`,{signal:e})).data}async function d({cameraname:e,signal:n}){return(await t.get(`/cameras/${e}`,{signal:n})).data}async function f({cameraname:e}){return(await t.delete(`/cameras/${e}/log`)).data}async function p({cameraname:e,signal:n}){return(await t.get(`/cameras/${e}/log/download`,{signal:n})).data}async function m({cameraname:e,sourcename:n,signal:r}){return(await t.get(`/cameras/${e}/info/${n}`,{signal:r})).data}async function h({cameraname:e,sourcename:n,probeConfig:r,force:i,signal:a}){return(await t.get(`/cameras/${e}/probe/${n}`,{params:{...r,...i?{refresh:!0}:{}},signal:a})).data}async function g({cameraname:e,forceNew:n,signal:r}){return(await t.get(`/cameras/${e}/snapshot`,{signal:r,params:{forceNew:n}})).data}async function _({parameter:e,signal:n}){return(await t.get(`/cameras`,{params:e,signal:n})).data}async function v({cameraname:e,cameraData:n}){return(await t.patch(`/cameras/${e}`,n)).data}async function y({cameraname:e,signal:n}){return(await t.get(`/cameras/${e}/extensions`,{signal:n})).data}async function b({cameraname:e,pluginname:n,signal:r}){return(await t.get(`/cameras/${e}/${n}/config`,{signal:r})).data}async function x({cameraname:e,pluginname:n,configData:r}){return(await t.patch(`/cameras/${e}/${n}/config`,r)).data}async function S({cameraname:e,pluginname:n,configData:r}){return(await t.put(`/cameras/${e}/${n}/config`,r)).data}async function C({cameraname:e,pluginname:n,configData:r}){return(await t.post(`/cameras/${e}/${n}/config`,r)).data}async function w({cameraname:e,pluginname:n,sensorId:r,signal:i}){return(await t.get(`/cameras/${e}/${n}/sensor/${r}/config`,{signal:i})).data}async function T({cameraname:e,pluginname:n,sensorId:r,configData:i}){return(await t.patch(`/cameras/${e}/${n}/sensor/${r}/config`,i)).data}async function E({cameraname:e,pluginname:n,sensorId:r,configData:i}){return(await t.put(`/cameras/${e}/${n}/sensor/${r}/config`,i)).data}async function D({cameraname:e,pluginname:n,sensorId:r,configData:i}){return(await t.post(`/cameras/${e}/${n}/sensor/${r}/config`,i)).data}async function O({cameraname:e,pluginname:n,type:r}){return(await t.put(`/cameras/${e}/${n}/enable`,null,{params:{type:r}})).data}async function k({cameraname:e,pluginname:n,type:r}){return(await t.put(`/cameras/${e}/${n}/disable`,null,{params:{type:r}})).data}async function A({cameraname:e,pluginname:n,type:r}){return(await t.post(`/cameras/${e}/${n}`,null,{params:{type:r}})).data}async function j({cameraname:e,pluginname:n,type:r}){return(await t.delete(`/cameras/${e}/${n}`,{params:{type:r}})).data}async function M({cameraname:e,pluginname:n}){return(await t.post(`/cameras/${e}/${n}/activate`)).data}async function N({cameraname:e,pluginname:n}){return(await t.delete(`/cameras/${e}/${n}/deactivate`)).data}async function P({cameraname:e,signal:n}){return(await t.get(`/cameras/${e}/zones`,{signal:n})).data}async function F({cameraname:e,zoneData:n}){return(await t.patch(`/cameras/${e}/zones`,n)).data}async function I({cameraname:e,lineData:n}){return(await t.patch(`/cameras/${e}/lines`,n)).data}async function L({cameraname:e}){return(await t.delete(`/cameras/${e}`)).data}async function R(){return(await t.delete(`/cameras`)).data}var z=class{_queryClient=a();t=n.global.t;toast=r();queryActivator=s([{name:`getCameraQuery`,enabled:!0},{name:`getCamerasQuery`,enabled:!0},{name:`getCameraSnapshotQuery`,enabled:!0},{name:`getCameraExtensionsQuery`,enabled:!0},{name:`getCameraExtensionConfigQuery`,enabled:!0},{name:`getZonesQuery`,enabled:!0},{name:`streamSourceInfoQuery`,enabled:!0},{name:`probeCameraSourceQuery`,enabled:!0},{name:`downloadLogQuery`,enabled:!0},{name:`getSensorConfigQuery`,enabled:!0}]);get queryClient(){return this._queryClient}createCameraQuery(){return i({mutationFn:c,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`camerasList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.camera_added`),life:3e3})}})}previewCameraQuery(){return i({mutationFn:l})}getCameraQuery(t){return e({queryKey:[`cameras`,t],queryFn:({signal:e})=>d({cameraname:o(t),signal:e}),initialData:()=>{let e=o(t),n=this._queryClient.getQueriesData({queryKey:[`camerasList`]});for(let[,t]of n){let n=t?.result?.find(t=>t.name===e);if(n)return n}},initialDataUpdatedAt:0,enabled:()=>this.queryActivator.value.some(e=>e.name===`getCameraQuery`&&e.enabled)})}getCameraExtensionsQuery(t){return e({queryKey:[`camerasExtensions`,t],queryFn:({signal:e})=>y({cameraname:o(t),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getCameraExtensionsQuery`&&e.enabled)})}streamSourceInfoQuery(t,n){return e({queryKey:[`cameras`,t,`info`,n],queryFn:({signal:e})=>m({cameraname:o(t),sourcename:o(n),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`streamSourceInfoQuery`&&e.enabled)})}probeCameraSourceQuery(t,n,r){return e({queryKey:[`cameras`,t,`probe`,n],queryFn:({signal:e})=>h({cameraname:o(t),sourcename:o(n),probeConfig:o(r),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`probeCameraSourceQuery`&&e.enabled)})}getCameraSnapshotQuery(t,n){return e({queryKey:[`camerasSnapshot`,t],queryFn:({signal:e})=>g({cameraname:o(t),forceNew:o(n),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getCameraSnapshotQuery`&&e.enabled),retry:!1})}getCamerasQuery(t){return e({queryKey:[`camerasList`,t],queryFn:({signal:e})=>_({parameter:o(t),signal:e}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getCamerasQuery`&&e.enabled)})}getRoomsQuery(){return e({queryKey:[`camerasRooms`],queryFn:({signal:e})=>u({signal:e})})}patchCameraQuery(){return i({mutationFn:v,onSuccess:async(e,t)=>{let n=t.cameraData.name&&t.cameraData.name!==t.cameraname,r=t.cameraData.room!==void 0;if(n){let e=t.cameraname;await this._queryClient.invalidateQueries({queryKey:[e]}),await this._queryClient.refetchQueries({queryKey:[`camerasList`]})}else await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`extensions`,t.cameraname],type:`active`}),r&&(await this._queryClient.refetchQueries({queryKey:[`camerasList`]}),await this._queryClient.refetchQueries({queryKey:[`camerasRooms`]}));this.toast.add({severity:`success`,detail:this.t(`components.toast.camera_updated`),life:3e3})}})}getCameraExtensionConfigQuery(t,n,r){return e({queryKey:[`cameras`,`extensions`,t,n],queryFn:({signal:e})=>b({cameraname:o(t),pluginname:o(n),signal:e}),enabled:()=>!!o(n)&&this.queryActivator.value.some(e=>e.name===`getCameraExtensionConfigQuery`&&e.enabled),refetchInterval(){if(r.value)return 1e4},retry:10,retryDelay:500,staleTime:0})}patchCameraExtensionConfigQuery(){return i({mutationFn:x,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`extensions`,t.cameraname],type:`active`}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}setCameraExtensionConfigQuery(){return i({mutationFn:S,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`extensions`,t.cameraname],type:`active`}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}submitCameraExtensionConfigQuery(){return i({mutationFn:C,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`extensions`,t.cameraname],type:`active`}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}getSensorConfigQuery(t,n,r,i){return e({queryKey:[`cameras`,`sensor`,t,n,r],queryFn:({signal:e})=>w({cameraname:o(t),pluginname:o(n),sensorId:o(r),signal:e}),enabled:()=>{let e=o(n),t=o(r);return!e||!t?!1:this.queryActivator.value.some(e=>e.name===`getSensorConfigQuery`&&e.enabled)},refetchInterval(){if(i.value)return 1e4},retry:3,retryDelay:500,staleTime:0})}patchSensorConfigQuery(){return i({mutationFn:T,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`sensor`,t.cameraname,t.pluginname,t.sensorId]})}})}setSensorConfigQuery(){return i({mutationFn:E,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`sensor`,t.cameraname,t.pluginname,t.sensorId]})}})}submitSensorConfigQuery(){return i({mutationFn:D,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`sensor`,t.cameraname,t.pluginname,t.sensorId]})}})}enableCameraExtensionQuery(){return i({mutationFn:O,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}disableCameraExtensionQuery(){return i({mutationFn:k,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}addCameraExtensionQuery(){return i({mutationFn:A,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}activateCameraExtensionQuery(){return i({mutationFn:M,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}deactivateCameraExtensionQuery(){return i({mutationFn:N,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}getZonesQuery(t){return e({queryKey:[`cameras`,t,`zones`],queryFn:({signal:e})=>P({cameraname:o(t),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getZonesQuery`&&e.enabled)})}patchZonesQuery(){return i({mutationFn:F,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.zone_updated`),life:3e3})}})}patchLinesQuery(){return i({mutationFn:I,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.line_updated`),life:3e3})}})}removeCameraExtensionQuery(){return i({mutationFn:j,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}removeCameraQuery(){return i({mutationFn:L,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`camerasList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.camera_removed`),life:3e3})}})}removeCamerasQuery(){return i({mutationFn:R,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`camerasList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.cameras_removed`),life:3e3})}})}downloadLogQuery(t){return e({queryKey:[`logs`,t],queryFn:({signal:e})=>p({cameraname:o(t),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`downloadLogQuery`&&e.enabled)})}clearLogQuery(){return i({mutationFn:f,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`logs`,t.cameraname],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.log_cleared`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{h as a,d as i,f as n,p as r,z as t};
1
+ import{D as e,O as t,T as n,kt as r}from"./api-CeJqvqFj.js";import{J as i,Q as a,Sr as o,mr as s}from"./vendor-ClrOISZp.js";async function c({cameraData:e}){return(await r.post(`/cameras`,e)).data}async function l({cameraData:e}){return(await r.post(`/cameras/preview`,e)).data}async function u({signal:e}){return(await r.get(`/cameras/rooms`,{signal:e})).data}async function d({cameraname:e,signal:t}){return(await r.get(`/cameras/${e}`,{signal:t})).data}async function f({cameraname:e}){return(await r.delete(`/cameras/${e}/log`)).data}async function p({cameraname:e,signal:t}){return(await r.get(`/cameras/${e}/log/download`,{signal:t})).data}async function m({cameraname:e,sourcename:t,signal:n}){return(await r.get(`/cameras/${e}/info/${t}`,{signal:n})).data}async function h({cameraname:e,sourcename:t,probeConfig:n,force:i,signal:a}){return(await r.get(`/cameras/${e}/probe/${t}`,{params:{...n,...i?{refresh:!0}:{}},signal:a})).data}async function g({cameraname:e,forceNew:t,signal:n}){return(await r.get(`/cameras/${e}/snapshot`,{signal:n,params:{forceNew:t}})).data}async function _({parameter:e,signal:t}){return(await r.get(`/cameras`,{params:e,signal:t})).data}async function v({cameraname:e,cameraData:t}){return(await r.patch(`/cameras/${e}`,t)).data}async function y({cameraname:e,signal:t}){return(await r.get(`/cameras/${e}/extensions`,{signal:t})).data}async function b({cameraname:e,pluginname:t,signal:n}){return(await r.get(`/cameras/${e}/${t}/config`,{signal:n})).data}async function x({cameraname:e,pluginname:t,configData:n}){return(await r.patch(`/cameras/${e}/${t}/config`,n)).data}async function S({cameraname:e,pluginname:t,configData:n}){return(await r.put(`/cameras/${e}/${t}/config`,n)).data}async function C({cameraname:e,pluginname:t,configData:n}){return(await r.post(`/cameras/${e}/${t}/config`,n)).data}async function w({cameraname:e,pluginname:t,sensorId:n,signal:i}){return(await r.get(`/cameras/${e}/${t}/sensor/${n}/config`,{signal:i})).data}async function T({cameraname:e,pluginname:t,sensorId:n,configData:i}){return(await r.patch(`/cameras/${e}/${t}/sensor/${n}/config`,i)).data}async function E({cameraname:e,pluginname:t,sensorId:n,configData:i}){return(await r.put(`/cameras/${e}/${t}/sensor/${n}/config`,i)).data}async function D({cameraname:e,pluginname:t,sensorId:n,configData:i}){return(await r.post(`/cameras/${e}/${t}/sensor/${n}/config`,i)).data}async function O({cameraname:e,pluginname:t,type:n}){return(await r.put(`/cameras/${e}/${t}/enable`,null,{params:{type:n}})).data}async function k({cameraname:e,pluginname:t,type:n}){return(await r.put(`/cameras/${e}/${t}/disable`,null,{params:{type:n}})).data}async function A({cameraname:e,pluginname:t,type:n}){return(await r.post(`/cameras/${e}/${t}`,null,{params:{type:n}})).data}async function j({cameraname:e,pluginname:t,type:n}){return(await r.delete(`/cameras/${e}/${t}`,{params:{type:n}})).data}async function M({cameraname:e,pluginname:t}){return(await r.post(`/cameras/${e}/${t}/activate`)).data}async function N({cameraname:e,pluginname:t}){return(await r.delete(`/cameras/${e}/${t}/deactivate`)).data}async function P({cameraname:e,signal:t}){return(await r.get(`/cameras/${e}/zones`,{signal:t})).data}async function F({cameraname:e,zoneData:t}){return(await r.patch(`/cameras/${e}/zones`,t)).data}async function I({cameraname:e,lineData:t}){return(await r.patch(`/cameras/${e}/lines`,t)).data}async function L({cameraname:e}){return(await r.delete(`/cameras/${e}`)).data}async function R(){return(await r.delete(`/cameras`)).data}var z=class{_queryClient=a();t=t.global.t;toast=e();queryActivator=s([{name:`getCameraQuery`,enabled:!0},{name:`getCamerasQuery`,enabled:!0},{name:`getCameraSnapshotQuery`,enabled:!0},{name:`getCameraExtensionsQuery`,enabled:!0},{name:`getCameraExtensionConfigQuery`,enabled:!0},{name:`getZonesQuery`,enabled:!0},{name:`streamSourceInfoQuery`,enabled:!0},{name:`probeCameraSourceQuery`,enabled:!0},{name:`downloadLogQuery`,enabled:!0},{name:`getSensorConfigQuery`,enabled:!0}]);get queryClient(){return this._queryClient}createCameraQuery(){return i({mutationFn:c,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`camerasList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.camera_added`),life:3e3})}})}previewCameraQuery(){return i({mutationFn:l})}getCameraQuery(e){return n({queryKey:[`cameras`,e],queryFn:({signal:t})=>d({cameraname:o(e),signal:t}),initialData:()=>{let t=o(e),n=this._queryClient.getQueriesData({queryKey:[`camerasList`]});for(let[,e]of n){let n=e?.result?.find(e=>e.name===t);if(n)return n}},initialDataUpdatedAt:0,enabled:()=>this.queryActivator.value.some(e=>e.name===`getCameraQuery`&&e.enabled)})}getCameraExtensionsQuery(e){return n({queryKey:[`camerasExtensions`,e],queryFn:({signal:t})=>y({cameraname:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getCameraExtensionsQuery`&&e.enabled)})}streamSourceInfoQuery(e,t){return n({queryKey:[`cameras`,e,`info`,t],queryFn:({signal:n})=>m({cameraname:o(e),sourcename:o(t),signal:n}),enabled:()=>this.queryActivator.value.some(e=>e.name===`streamSourceInfoQuery`&&e.enabled)})}probeCameraSourceQuery(e,t,r){return n({queryKey:[`cameras`,e,`probe`,t],queryFn:({signal:n})=>h({cameraname:o(e),sourcename:o(t),probeConfig:o(r),signal:n}),enabled:()=>this.queryActivator.value.some(e=>e.name===`probeCameraSourceQuery`&&e.enabled)})}getCameraSnapshotQuery(e,t){return n({queryKey:[`camerasSnapshot`,e],queryFn:({signal:n})=>g({cameraname:o(e),forceNew:o(t),signal:n}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getCameraSnapshotQuery`&&e.enabled),retry:!1})}getCamerasQuery(e){return n({queryKey:[`camerasList`,e],queryFn:({signal:t})=>_({parameter:o(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getCamerasQuery`&&e.enabled)})}getRoomsQuery(){return n({queryKey:[`camerasRooms`],queryFn:({signal:e})=>u({signal:e})})}patchCameraQuery(){return i({mutationFn:v,onSuccess:async(e,t)=>{let n=t.cameraData.name&&t.cameraData.name!==t.cameraname,r=t.cameraData.room!==void 0;if(n){let e=t.cameraname;await this._queryClient.invalidateQueries({queryKey:[e]}),await this._queryClient.refetchQueries({queryKey:[`camerasList`]})}else await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`extensions`,t.cameraname],type:`active`}),r&&(await this._queryClient.refetchQueries({queryKey:[`camerasList`]}),await this._queryClient.refetchQueries({queryKey:[`camerasRooms`]}));this.toast.add({severity:`success`,detail:this.t(`components.toast.camera_updated`),life:3e3})}})}getCameraExtensionConfigQuery(e,t,r){return n({queryKey:[`cameras`,`extensions`,e,t],queryFn:({signal:n})=>b({cameraname:o(e),pluginname:o(t),signal:n}),enabled:()=>!!o(t)&&this.queryActivator.value.some(e=>e.name===`getCameraExtensionConfigQuery`&&e.enabled),refetchInterval(){if(r.value)return 1e4},retry:10,retryDelay:500,staleTime:0})}patchCameraExtensionConfigQuery(){return i({mutationFn:x,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`extensions`,t.cameraname],type:`active`}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}setCameraExtensionConfigQuery(){return i({mutationFn:S,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`extensions`,t.cameraname],type:`active`}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}submitCameraExtensionConfigQuery(){return i({mutationFn:C,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`extensions`,t.cameraname],type:`active`}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}getSensorConfigQuery(e,t,r,i){return n({queryKey:[`cameras`,`sensor`,e,t,r],queryFn:({signal:n})=>w({cameraname:o(e),pluginname:o(t),sensorId:o(r),signal:n}),enabled:()=>{let e=o(t),n=o(r);return!e||!n?!1:this.queryActivator.value.some(e=>e.name===`getSensorConfigQuery`&&e.enabled)},refetchInterval(){if(i.value)return 1e4},retry:3,retryDelay:500,staleTime:0})}patchSensorConfigQuery(){return i({mutationFn:T,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`sensor`,t.cameraname,t.pluginname,t.sensorId]})}})}setSensorConfigQuery(){return i({mutationFn:E,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`sensor`,t.cameraname,t.pluginname,t.sensorId]})}})}submitSensorConfigQuery(){return i({mutationFn:D,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`cameras`,`sensor`,t.cameraname,t.pluginname,t.sensorId]})}})}enableCameraExtensionQuery(){return i({mutationFn:O,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}disableCameraExtensionQuery(){return i({mutationFn:k,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}addCameraExtensionQuery(){return i({mutationFn:A,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}activateCameraExtensionQuery(){return i({mutationFn:M,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}deactivateCameraExtensionQuery(){return i({mutationFn:N,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}getZonesQuery(e){return n({queryKey:[`cameras`,e,`zones`],queryFn:({signal:t})=>P({cameraname:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getZonesQuery`&&e.enabled)})}patchZonesQuery(){return i({mutationFn:F,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.zone_updated`),life:3e3})}})}patchLinesQuery(){return i({mutationFn:I,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.line_updated`),life:3e3})}})}removeCameraExtensionQuery(){return i({mutationFn:j,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`cameras`,t.cameraname],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`camerasExtensions`,t.cameraname]})}})}removeCameraQuery(){return i({mutationFn:L,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`camerasList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.camera_removed`),life:3e3})}})}removeCamerasQuery(){return i({mutationFn:R,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`camerasList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.cameras_removed`),life:3e3})}})}downloadLogQuery(e){return n({queryKey:[`logs`,e],queryFn:({signal:t})=>p({cameraname:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`downloadLogQuery`&&e.enabled)})}clearLogQuery(){return i({mutationFn:f,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`logs`,t.cameraname],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.log_cleared`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{h as a,d as i,f as n,p as r,z as t};
@@ -1 +1 @@
1
- import{O as e}from"./vendor-cameraui-DDdtrYBn.js";import{_t as t,bt as n,gt as r,ht as i,vt as a,yt as o}from"./api-DR6W2XWy.js";import{Er as s,Sr as c,dn as l,lr as u,mn as d,mr as f,xn as p,yn as m,zn as h}from"./vendor-ClrOISZp.js";import{n as g,r as _,t as v}from"./vendor-zod-XsuaxHRY.js";var y={class:`flex flex-col gap-2 w-full`},b={for:`roomName`,class:`cui-label`},x=p({__name:`CreateRoom`,setup(t,{expose:n}){let r=f(``);return n({onConfirm:async()=>r.value.trim()||null}),(t,n)=>{let i=e;return h(),d(`div`,y,[l(`label`,b,s(t.$t(`components.form.label.name`)),1),m(i,{id:`roomName`,modelValue:c(r),"onUpdate:modelValue":n[0]||=e=>u(r)?r.value=e:null,class:`w-full`,placeholder:t.$t(`components.form.hint.room_select`),autofocus:``},null,8,[`modelValue`,`placeholder`])])}}}),S=RegExp(`^(${i.join(`|`)})`),C=_().trim().min(1,`Camera Source is required`).regex(S,`Unsupported protocol — start the URL with a supported one (e.g. rtsp://)`),w=g({name:_().trim().min(1,`Camera Source Name is required`),urls:C.array(),role:o,useForSnapshot:v().default(!1),hotMode:v().default(!0),preload:v().default(!0),muted:v().default(!1),childSourceId:_().trim().optional()}).strict(),T=g({...r.shape,sources:w.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.useForSnapshot),{message:`Snapshot source can not be used with useForSnapshot`,path:[`sources`]}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.hotMode),{message:`Snapshot source can not be used with hotMode`}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.preload),{message:`Snapshot source can not be used with preload`}).refine(e=>{let t=e.map(e=>e.role).filter(Boolean);return new Set(t).size===t.length},{message:`Each source role can be assigned to only one source`,path:[`sources`]})}).strict(),E=n,D=a,O=t;export{x as a,E as i,D as n,T as r,O as t};
1
+ import{O as e}from"./vendor-cameraui-D5fd9Ars.js";import{St as t,_t as n,bt as r,vt as i,xt as a,yt as o}from"./api-CeJqvqFj.js";import{Er as s,Sr as c,dn as l,lr as u,mn as d,mr as f,xn as p,yn as m,zn as h}from"./vendor-ClrOISZp.js";import{n as g,r as _,t as v}from"./vendor-zod-XsuaxHRY.js";var y={class:`flex flex-col gap-2 w-full`},b={for:`roomName`,class:`cui-label`},x=p({__name:`CreateRoom`,setup(t,{expose:n}){let r=f(``);return n({onConfirm:async()=>r.value.trim()||null}),(t,n)=>{let i=e;return h(),d(`div`,y,[l(`label`,b,s(t.$t(`components.form.label.name`)),1),m(i,{id:`roomName`,modelValue:c(r),"onUpdate:modelValue":n[0]||=e=>u(r)?r.value=e:null,class:`w-full`,placeholder:t.$t(`components.form.hint.room_select`),autofocus:``},null,8,[`modelValue`,`placeholder`])])}}}),S=RegExp(`^(${n.join(`|`)})`),C=_().trim().min(1,`Camera Source is required`).regex(S,`Unsupported protocol — start the URL with a supported one (e.g. rtsp://)`),w=g({name:_().trim().min(1,`Camera Source Name is required`),urls:C.array(),role:a,useForSnapshot:v().default(!1),hotMode:v().default(!0),preload:v().default(!0),muted:v().default(!1),childSourceId:_().trim().optional()}).strict(),T=g({...i.shape,sources:w.array().refine(e=>e.some(e=>e.role===`high-resolution`||e.role===`mid-resolution`||e.role===`low-resolution`),{path:[`sources[].role`],message:`One of the roles "high-resolution", "mid-resolution" or "low-resolution" is required`}).refine(e=>e.filter(e=>e.useForSnapshot).length<=1,{message:`Only one source can be used for snapshot`,path:[`sources`]}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.useForSnapshot),{message:`Snapshot source can not be used with useForSnapshot`,path:[`sources`]}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.hotMode),{message:`Snapshot source can not be used with hotMode`}).refine(e=>e.filter(e=>e.role===`snapshot`).every(e=>!e.preload),{message:`Snapshot source can not be used with preload`}).refine(e=>{let t=e.map(e=>e.role).filter(Boolean);return new Set(t).size===t.length},{message:`Each source role can be assigned to only one source`,path:[`sources`]})}).strict(),E=t,D=r,O=o;export{x as a,E as i,D as n,T as r,O as t};
@@ -0,0 +1 @@
1
+ import{v as e}from"./api-CeJqvqFj.js";export{e as bounceToCloudFrontend};
@@ -1 +1 @@
1
- import{C as e,Dt as t,E as n,T as r}from"./api-DR6W2XWy.js";import{J as i,Q as a,Sr as o,mr as s}from"./vendor-ClrOISZp.js";async function c({json:e,signal:n}){return(await t.get(`/config`,{params:{json:e},signal:n})).data}async function l({json:e,signal:n}){return(await t.get(`/config/go2rtc`,{params:{json:e},signal:n})).data}async function u({configData:e}){return(await t.patch(`/config`,e,{headers:{"Content-Type":`text/yaml`}})).data}async function d({configData:e}){return(await t.patch(`/config/go2rtc`,e,{headers:{"Content-Type":`text/yaml`}})).data}async function f(){return(await t.delete(`/config`)).data}async function p(){return(await t.delete(`/config/go2rtc`)).data}var m=class{_queryClient=a();t=n.global.t;toast=r();queryActivator=s([{name:`getConfigQuery`,enabled:!0},{name:`getGo2RtcConfigQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getConfigQuery(t=!1){return e({queryKey:[`config`,{json:t}],queryFn:({signal:e})=>c({json:o(t),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getConfigQuery`&&e.enabled)})}getGo2RtcConfigQuery(t=!1){return e({queryKey:[`go2rtcConfig`],queryFn:({signal:e})=>l({json:o(t),signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getGo2RtcConfigQuery`&&e.enabled)})}patchConfigQuery(){return i({mutationFn:u,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`config`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.config_updated`),life:3e3})}})}patchGo2RtcConfigQuery(){return i({mutationFn:d,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`go2rtcConfig`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.config_go2rtc_updated`),life:3e3})}})}delteConfigQuery(){return i({mutationFn:f,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`config`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.config_deleted`),life:3e3})}})}delteGo2RtcConfigQuery(){return i({mutationFn:p,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`go2rtcConfig`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.config_go2rtc_deleted`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{m as t};
1
+ import{D as e,O as t,T as n,kt as r}from"./api-CeJqvqFj.js";import{J as i,Q as a,Sr as o,mr as s}from"./vendor-ClrOISZp.js";async function c({json:e,signal:t}){return(await r.get(`/config`,{params:{json:e},signal:t})).data}async function l({json:e,signal:t}){return(await r.get(`/config/go2rtc`,{params:{json:e},signal:t})).data}async function u({configData:e}){return(await r.patch(`/config`,e,{headers:{"Content-Type":`text/yaml`}})).data}async function d({configData:e}){return(await r.patch(`/config/go2rtc`,e,{headers:{"Content-Type":`text/yaml`}})).data}async function f(){return(await r.delete(`/config`)).data}async function p(){return(await r.delete(`/config/go2rtc`)).data}var m=class{_queryClient=a();t=t.global.t;toast=e();queryActivator=s([{name:`getConfigQuery`,enabled:!0},{name:`getGo2RtcConfigQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getConfigQuery(e=!1){return n({queryKey:[`config`,{json:e}],queryFn:({signal:t})=>c({json:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getConfigQuery`&&e.enabled)})}getGo2RtcConfigQuery(e=!1){return n({queryKey:[`go2rtcConfig`],queryFn:({signal:t})=>l({json:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getGo2RtcConfigQuery`&&e.enabled)})}patchConfigQuery(){return i({mutationFn:u,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`config`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.config_updated`),life:3e3})}})}patchGo2RtcConfigQuery(){return i({mutationFn:d,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`go2rtcConfig`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.config_go2rtc_updated`),life:3e3})}})}delteConfigQuery(){return i({mutationFn:f,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`config`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.config_deleted`),life:3e3})}})}delteGo2RtcConfigQuery(){return i({mutationFn:p,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`go2rtcConfig`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.config_go2rtc_deleted`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{m as t};
@@ -1 +1 @@
1
- import"./api-DR6W2XWy.js";import"./vendor-ClrOISZp.js";var e=`cameraui:web-push-id`;function t(){if(typeof crypto<`u`&&typeof crypto.randomUUID==`function`)return crypto.randomUUID();if(typeof window<`u`&&window.crypto!==void 0&&typeof window.crypto.randomUUID==`function`)return window.crypto.randomUUID();let e=new Uint8Array(16);crypto.getRandomValues(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=[...e].map(e=>e.toString(16).padStart(2,`0`)).join(``);return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}async function n(){let n=localStorage.getItem(e);return n||(n=t(),localStorage.setItem(e,n)),n}export{n,t};
1
+ import"./api-CeJqvqFj.js";import"./vendor-ClrOISZp.js";var e=`cameraui:web-push-id`;function t(){if(typeof crypto<`u`&&typeof crypto.randomUUID==`function`)return crypto.randomUUID();if(typeof window<`u`&&window.crypto!==void 0&&typeof window.crypto.randomUUID==`function`)return window.crypto.randomUUID();let e=new Uint8Array(16);crypto.getRandomValues(e),e[6]=e[6]&15|64,e[8]=e[8]&63|128;let t=[...e].map(e=>e.toString(16).padStart(2,`0`)).join(``);return`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`}async function n(){let n=localStorage.getItem(e);return n||(n=t(),localStorage.setItem(e,n)),n}export{n,t};
@@ -1 +1 @@
1
- import{p as e}from"./api-DR6W2XWy.js";import{c as t,f as n}from"./vendor-core-CZuWsjWr.js";var r={user:0,admin:1,master:2};function i(e,t){return(r[e]??0)>=(r[t]??0)}function a(r,a,o){let{user:s}=n(e()),c=s.value?.role??`user`;if(a&&!r)return o?c===a:i(c,a);r??=t();let l=!r?.meta?.auth||r?.meta?.auth.requiresAuth===!1,u=a??r.meta?.auth?.role??`user`;return l||u===`none`?!0:o?c===u:i(c,u)}export{a as t};
1
+ import{h as e}from"./api-CeJqvqFj.js";import{c as t,f as n}from"./vendor-core-D9amXF-u.js";var r={user:0,admin:1,master:2};function i(e,t){return(r[e]??0)>=(r[t]??0)}function a(r,a,o){let{user:s}=n(e()),c=s.value?.role??`user`;if(a&&!r)return o?c===a:i(c,a);r??=t();let l=!r?.meta?.auth||r?.meta?.auth.requiresAuth===!1,u=a??r.meta?.auth?.role??`user`;return l||u===`none`?!0:o?c===u:i(c,u)}export{a as t};
@@ -0,0 +1 @@
1
+ import{Fi as e,o as t,rt as n,wi as r,y as i}from"./vendor-cameraui-D5fd9Ars.js";import{At as a,D as o,Mt as s,O as c,T as l,Tt as u,h as d,kt as f}from"./api-CeJqvqFj.js";import{Er as p,J as m,Q as h,Sr as g,Y as _,br as v,dn as y,lr as b,mn as x,mr as S,pr as C,un as w,ur as T,xn as E,xr as D,yn as O,zn as k}from"./vendor-ClrOISZp.js";import{d as A,l as ee}from"./vendor-core-D9amXF-u.js";import{u as j}from"./vendor-primevue-Ba4LruKV.js";import{t as te}from"./hasPermission-DADXQ_dj.js";import{t as ne}from"./useCuiDialog-CGak2kyV.js";var M={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function N(e,t){return k(),x(`svg`,M,[...t[0]||=[y(`path`,{fill:`currentColor`,d:`M20.916 9.564a1 1 0 0 0-.513-1.316L7.328 2.492c-.995-.438-2.22.051-2.645 1.042l-2.21 5.154a2 2 0 0 0 1.052 2.624L9.563 13.9L8.323 17H4v-3H2v8h2v-3h4.323c.823 0 1.552-.494 1.856-1.258l1.222-3.054l5.205 2.23a1 1 0 0 0 1.31-.517l.312-.71l1.701.68l2-5l-1.536-.613zm-4.434 5.126L4.313 9.475l2.208-5.152l12.162 5.354z`},null,-1)]])}var re=T({name:`bx-cctv`,render:N}),P={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function ie(e,t){return k(),x(`svg`,P,[...t[0]||=[y(`path`,{fill:`currentColor`,d:`M20 3H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2m-5 5h-2V6h2zm4 0h-2V6h2zm1 5H4a2 2 0 0 0-2 2v4a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-4a2 2 0 0 0-2-2m-5 5h-2v-2h2zm4 0h-2v-2h2z`},null,-1)]])}var F=T({name:`bxs-server`,render:ie});function I(e){return`requires2fa`in e&&e.requires2fa===!0}async function L(e){return(await f.get(`/instances`,{signal:e})).data}async function R(e){return(await f.post(`/instances`,e)).data}async function z({id:e,data:t}){return(await f.put(`/instances/${e}`,t)).data}async function B(e){await f.delete(`/instances/${e}`)}async function V(e){return(await f.patch(`/instances/${e}/favorite`)).data}async function H(e,t){return(await f.post(`/instances/${e}/login`,t?{code:t}:{})).data}async function U(e,t){return(await f.get(`/instances/${e}/status`,{signal:t})).data}var W=class{_queryClient=h();toast=o();t=c.global.t;listQuery(){return l({queryKey:[`instances`],queryFn:({signal:e})=>L(e)})}statusQueries(e){return _({queries:w(()=>D(e).map(e=>({queryKey:[`instances`,e.id,`status`],queryFn:({signal:t})=>U(e.id,t),refetchInterval:15e3,retry:!1})))})}createMutation(){return m({mutationFn:R,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`instances`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.instances.added`),life:3e3})}})}updateMutation(){return m({mutationFn:z,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`instances`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.instances.updated`),life:3e3})}})}deleteMutation(){return m({mutationFn:async e=>{await B(e),await this._queryClient.cancelQueries({queryKey:[`instances`,e,`status`]}),this._queryClient.removeQueries({queryKey:[`instances`,e,`status`]})},onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`instances`]}),this.toast.add({severity:`success`,detail:this.t(`views.settings.instances.removed`),life:3e3})}})}toggleFavoriteMutation(){return m({mutationFn:V,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`instances`]})}})}loginMutation(){return m({mutationFn:e=>H(e),onError:()=>{}})}},G={class:`flex flex-col gap-6`},K={class:`text-muted`},q={class:`flex flex-col gap-2 justify-center items-center mt-2`},J={class:`cui-label`},ae=E({__name:`InstanceTwoFactorPrompt`,props:{instanceName:{}},setup(e,{expose:t}){let{instanceName:n}=v(e),r=S(``),i=w(()=>r.value.length<6);async function a(){return r.value.length<6?null:r.value}return t({isDisabled:i,onConfirm:a}),(e,t)=>{let i=j;return k(),x(`div`,G,[y(`p`,K,p(e.$t(`instances.two_factor_hint`,{name:g(n)})),1),y(`div`,q,[y(`label`,J,p(e.$t(`views.settings.security.enter_code`)),1),O(i,{modelValue:g(r),"onUpdate:modelValue":t[0]||=e=>b(r)?r.value=e:null,length:6,"integer-only":``,class:`justify-center`},null,8,[`modelValue`])])])}}}),Y=3e4,X=5e3,Z=`__home__`,oe=new Set([`localhost`,`127.0.0.1`,`::1`]),Q=u(`Instances`);async function se(e,t){try{let n=AbortSignal.timeout(X),r=t?AbortSignal.any([n,t]):n,i=await fetch(`${e}/api/health`,{signal:r});return Q.debug(`[probe]`,`${e} → ${i.ok?`OK`:`HTTP ${i.status}`}`),i.ok}catch(t){let n=t instanceof Error?t.message:String(t);return Q.debug(`[probe]`,`${e} → FAIL`,n),!1}}function ce(e){return{access:e.access_token,accessExpiresAt:e.access_token_expires_at,refresh:e.refresh_token,refreshExpiresAt:e.refresh_token_expires_at}}function le(e,t){return{_id:t?._id??``,username:t?.username??``,email:t?.email,role:t?.role??``,firstLogin:t?.firstLogin,avatar:t?.avatar,language:`auto`,access_token:e.access,refresh_token:e.refresh??``,token_type:`Bearer`,access_token_expires_at:e.accessExpiresAt??0,refresh_token_expires_at:e.refreshExpiresAt??0,internalAddresses:[],externalAddresses:[]}}var $=A(`instances`,()=>{let l=d(),u=ee(),f=o(),p=ne(),m=h(),{t:g}=c.global,_=r(`instanceTokens`,{}),v=r(`activeInstanceId`,null),y=S(!1),b=S(null),x=S(0),T=0,E=S(null),D=S([]),O=e(`redirectInfo`,null,{serializer:{read:e=>e?JSON.parse(e):null,write:e=>JSON.stringify(e)}}),k=w(()=>v.value===null),A=w(()=>v.value===null?null:D.value.find(e=>e.id===v.value)?.url??null);async function j(){try{if(!te(void 0,`admin`))return;let e=await L();D.value=e.instances,E.value=e.homeId,Q.debug(`[fetch]`,`loaded ${e.instances.length} instances`,{homeId:e.homeId})}catch(e){Q.warn(`[fetch]`,`failed`,e)}}let M=w(()=>{let e=E.value;return D.value.filter(t=>!(e&&t.remoteHomeId&&t.remoteHomeId===e)).map(e=>{let t=_.value[e.id];return{id:e.id,name:e.name,url:e.url,hasCredentials:!!e.credentials,favorite:e.favorite??!0,userData:t?.userData??null,lastConnectedAt:t?.lastConnectedAt??null,isHome:!1}})});function N(){let e=_.value[Z],t=v.value===null?a().target.value?.endpoint.url??e?.url??window.location.origin:e?.url??window.location.origin;return{id:`home`,name:g(`navigation.home`),url:t,hasCredentials:!1,favorite:!1,userData:e?.userData??null,lastConnectedAt:e?.lastConnectedAt??null,isHome:!0}}let re=w(()=>{if(v.value!==null){let e=M.value.find(e=>e.id===v.value);if(e)return e}return N()}),P=w(()=>M.value.filter(e=>e.favorite)),ie=w(()=>P.value.length>0||v.value!==null||O.value!==null);function F(e){return D.value.find(t=>t.id===e)?.favorite??!0}async function U(e){let{favorite:t}=await V(e),n=D.value.find(t=>t.id===e);n&&(n.favorite=t)}async function W(e){let t=await R(e);return D.value=[...D.value,t],t}async function G(e){await B(e),D.value=D.value.filter(t=>t.id!==e),delete _.value[e]}async function K(e,t){let n=await z({id:e,data:t}),r=D.value.findIndex(t=>t.id===e);r!==-1&&(D.value[r]=n)}async function q(e,t){let n=D.value.find(t=>t.id===e);return n?se(n.url,t):!1}function J(){let e=a().target.value;if(!e?.tokens.access){Q.debug(`[save-tokens]`,`skipped — no live access token`);return}let t=v.value??Z;_.value[t]={userData:le(e.tokens,l.user??void 0),lastConnectedAt:Date.now(),url:e.endpoint.url},Q.debug(`[save-tokens]`,`slot=${t} url=${e.endpoint.url}`)}function X(){if(v.value===null){s.value=null,Q.debug(`[restore-override]`,`no active instance — home target`);return}let e=_.value[v.value],t=e?.url??e?.userData?.internalAddresses?.[0]??e?.userData?.externalAddresses?.[0]??null;s.value=t,Q.debug(`[restore-override]`,`activeId=${v.value} → ${t??`no cached url`}`)}async function $(e){if(y.value){Q.warn(`[switch]`,`ignored — another switch is already in progress`);return}let r=e===null?N():M.value.find(t=>t.id===e)??N();if(e!==null&&de(r.url)&&!await he(r.name)){Q.debug(`[switch]`,`URL handoff declined by user`);return}let o=++T;y.value=!0,b.value=r.name,Q.debug(`[switch]`,`START targetId=${e??`home`} gen=${o}`),Q.debug(`[switch]`,`target resolved — name="${r.name}" url=${r.url} hasCreds=${r.hasCredentials}`);try{if(e!==null){let e=await se(r.url);if(o!==T){Q.debug(`[switch]`,`aborted after probe — newer gen=${T}`);return}if(!e){Q.warn(`[switch]`,`target unreachable — ${r.url}`),f.add({severity:`warn`,detail:g(`instances.unreachable`,{name:r.name}),life:3e3});return}}let c=null;if(e!==null&&r.hasCredentials)try{let t=await H(e);if(I(t)){Q.debug(`[switch]`,`remote requires 2FA — prompting for code`),y.value=!1;let n=await pe(e,r.name);if(o!==T)return;if(y.value=!0,!n){Q.debug(`[switch]`,`2FA prompt cancelled — aborting switch`);return}t=n}I(t)||(c=t,Q.debug(`[switch]`,`backend relay login OK`))}catch(e){Q.warn(`[switch]`,`backend relay login FAILED — will try cached tokens`,e)}if(o!==T){Q.debug(`[switch]`,`aborted after relay-login — newer gen=${T}`);return}J();let d=e??Z,p=c?ce(c):ue(d);if(Q.debug(`[switch]`,`tokens source: ${c?`fresh`:p?`cached`:`none`} (slot=${d})`),e!==null&&de(r.url)){Q.debug(`[switch]`,`URL handoff required — leaving SPA`),await ge(r,c);return}let h=a();if(h.reset(),Q.debug(`[switch]`,`kernel RESET`),n(),i(),t(),m.clear(),Q.debug(`[switch]`,`vue-query cleared`),v.value=e,s.value=e===null?null:r.url,Q.debug(`[switch]`,`activeId=${e} instanceOverride=${s.value??`null`}`),p&&c&&(_.value[d]={userData:c,lastConnectedAt:Date.now(),url:r.url},l.user={_id:c._id,username:c.username,role:c.role,firstLogin:c.firstLogin,avatar:c.avatar}),p){let t={url:r.url,mode:`direct-lan`,priority:0};Q.debug(`[switch]`,`seedAndRetry → ${t.url}`),await Promise.race([h.seedAndRetry({endpoint:t,tokens:p},e??`home`),new Promise((e,t)=>setTimeout(()=>t(Error(`switch_timeout`)),Y))])}else{Q.warn(`[switch]`,`no tokens — boot + route to login`),h.boot(e??`home`),l.user=null,u.push(`/`);return}if(o!==T){Q.debug(`[switch]`,`aborted after seedAndRetry — newer gen=${T}`);return}x.value++,Q.debug(`[switch]`,`DONE gen=${o} → /home`),u.push(`/home`)}catch(e){(e instanceof Error?e.message:String(e))===`switch_timeout`?(Q.error(`[switch]`,`TIMEOUT after ${Y}ms`),f.add({severity:`error`,detail:g(`instances.switch_timeout`,{name:b.value??``}),life:3e3})):(Q.error(`[switch]`,`failed`,e),f.add({severity:`error`,detail:e,life:3e3}))}finally{o===T&&(y.value=!1,b.value=null)}}function ue(e){let t=_.value[e];return t?.userData?.access_token?ce(t.userData):null}function de(e){try{let t=new URL(e),n=new URL(window.location.origin),r=n.protocol===`https:`&&t.protocol===`http:`,i=oe.has(t.hostname)&&!oe.has(n.hostname);return r||i}catch{return!1}}function fe(e){return new Promise(t=>{let n=!1,r=e=>{n||(n=!0,t(e))};p.openComponentDialog(ae,{data:{title:g(`instances.two_factor_title`),confirmText:g(`views.login.2fa_verify`),contentProps:{instanceName:e}},onConfirm:async e=>r(e??null),onCancel:async()=>r(null)})})}async function pe(e,t){for(;;){let n=await fe(t);if(!n)return null;try{let t=await H(e,n);if(!I(t))return t}catch(e){Q.warn(`[2fa]`,`verification failed`,e),f.add({severity:`error`,detail:g(`instances.two_factor_failed`),life:3e3})}}}async function me(e,t){return await pe(e,t)?(f.add({severity:`success`,detail:g(`instances.two_factor_completed`,{name:t}),life:3e3}),await j().catch(()=>{}),!0):!1}function he(e){return Q.warn(`[switch]`,`target "${e}" requires URL handoff — asking user confirmation`),new Promise(t=>{let n=!1,r=e=>{n||(n=!0,t(e))};p.openTextDialog({data:{title:g(`instances.insecure_handoff_title`),confirmText:g(`instances.insecure_handoff_confirm`),contentText:g(`instances.insecure_handoff_message`,{name:e}),confirmButtonProps:{severity:`danger`}},onConfirm:()=>r(!0),onCancel:()=>r(!1)})})}async function ge(e,t){let n={_reset:!0,_sourceUrl:window.location.origin,_instanceName:e.name};t&&Object.assign(n,t);let r=encodeURIComponent(btoa(JSON.stringify(n))),i=`${e.url.split(`#`)[0]}#auth=${r}`;Q.debug(`[url-handoff]`,`→ ${e.url} (with token=${t?`yes`:`no`})`),window.location.href=i}function _e(){_.value={},v.value=null,s.value=null,O.value=null,D.value=[],E.value=null,Q.debug(`[reset]`,`store cleared`)}return{instances:M,activeInstance:re,activeId:v,activeUrl:A,isHomeActive:k,isMultiInstance:ie,isSwitching:C(y),switchTargetName:C(b),switchKey:C(x),serverHomeId:E,redirectInfo:O,serverInstances:D,instanceTokens:_,favoriteInstances:P,isFavorite:F,toggleFavorite:U,fetchInstances:j,addInstance:W,removeInstance:G,updateInstance:K,switchInstance:$,probeInstance:q,complete2FALogin:me,reset:_e,saveCurrentTokens:J,restoreActiveOverride:X}});export{re as i,W as n,F as r,$ as t};