@camera.ui/server 2.0.24 → 2.1.1

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 (324) hide show
  1. package/dist/interface/assets/{404-CRIhzt2J.js → 404-BLohRivq.js} +1 -1
  2. package/dist/interface/assets/{About-CvY4xvAU.js → About-CY0n3OBB.js} +1 -1
  3. package/dist/interface/assets/Adminpanel-C11HOLZO.js +1 -0
  4. package/dist/interface/assets/Automation-DOefiaJj.js +3 -0
  5. package/dist/interface/assets/{AutomationImport-RNgRv6Uc.js → AutomationImport-DCqF_Kg7.js} +2 -2
  6. package/dist/interface/assets/{AutomationStore-D8plMzVI.js → AutomationStore-Cm9mbUVu.js} +2 -2
  7. package/dist/interface/assets/{AutomationStoreDetail-BO-9XCRn.js → AutomationStoreDetail-C-4llF7V.js} +2 -2
  8. package/dist/interface/assets/Automations-BwlGOItY.js +2 -0
  9. package/dist/interface/assets/Camera-D_DY9F_D.js +2 -0
  10. package/dist/interface/assets/{CameraConsole-BnKiGukm.js → CameraConsole-BYwWyoKF.js} +2 -2
  11. package/dist/interface/assets/{Cameras-BuHNAHpD.js → Cameras-CghEdt7m.js} +2 -2
  12. package/dist/interface/assets/Camview-CienqE_s.js +1 -0
  13. package/dist/interface/assets/{Camview-Cj10uxGy.css → Camview-mLCaY0ld.css} +1 -1
  14. package/dist/interface/assets/Config-DI8pFgr0.js +2 -0
  15. package/dist/interface/assets/{ConfigActionCameraControl-C2qva2mT.js → ConfigActionCameraControl-D3lpO_-w.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionDelay-C02w0yBx.js → ConfigActionDelay-Cv1q6noO.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionHttp-DVf26mYG.js → ConfigActionHttp-D8NUgGZ1.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionImageInput-BTlFV7kK.js → ConfigActionImageInput-DBRsJW_A.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionMqtt-CD9RW5Lq.js → ConfigActionMqtt-B86fFcxQ.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionNotification-CjbIPrEb.js → ConfigActionNotification-BxauFTos.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionNotificationControl-BCdKNvgC.js → ConfigActionNotificationControl-O2D9WWpM.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionOutput-wV9RFDQO.js → ConfigActionOutput-C0ib9PLZ.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionPlugin-DijuNALK.js → ConfigActionPlugin-BjcHk149.js} +1 -1
  24. package/dist/interface/assets/ConfigActionSensor-0tYVSASv.js +1 -0
  25. package/dist/interface/assets/{ConfigActionSnapshot-B79IJLFV.js → ConfigActionSnapshot-BOqdP-It.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionVariable-Do94c7oi.js → ConfigActionVariable-Dq7YjPoV.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionIfElse-BtbZhnCM.js → ConfigConditionIfElse-CT2cuUYH.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionSensorState-D1V_FhNU.js → ConfigConditionSensorState-BfUvxUEF.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSwitch-C74dDt3R.js → ConfigConditionSwitch-0G3BqEQj.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionTime-5IrJQgAV.js → ConfigConditionTime-Pbl2smdz.js} +1 -1
  31. package/dist/interface/assets/ConfigSensorValueInput-CuTrBHsT.js +1 -0
  32. package/dist/interface/assets/ConfigTriggerDetection-CiE3Vjp2.js +1 -0
  33. package/dist/interface/assets/ConfigTriggerGeofence-CPn3drQV.js +1 -0
  34. package/dist/interface/assets/{ConfigTriggerManual-t-J-HbqF.js → ConfigTriggerManual-xBaOnpVY.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerMqtt-i57J8-Nq.js → ConfigTriggerMqtt-LJkIASv5.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerSchedule-Dv7wIG3G.js → ConfigTriggerSchedule-BD3Wph3i.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSensor-Ba2lCSGc.js → ConfigTriggerSensor-CJWLgK9h.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSystem-BWs3rP_W.js → ConfigTriggerSystem-BUKBqK_H.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerWebhook-CpQakeYG.js → ConfigTriggerWebhook-DTfV1By5.js} +1 -1
  40. package/dist/interface/assets/Console-BCTb_cA5.js +1 -0
  41. package/dist/interface/assets/CuiAutomationRunsDialog-BR7NAzJ4.js +1 -0
  42. package/dist/interface/assets/{CuiBottomSheet-DIg-nl0p.js → CuiBottomSheet-DoljrPAH.js} +1 -1
  43. package/dist/interface/assets/CuiBottomSheet-bbdtyXf2.js +1 -0
  44. package/dist/interface/assets/{CuiCameraPipCard-q3yeptLd.js → CuiCameraPipCard-Dgq8lF_V.js} +1 -1
  45. package/dist/interface/assets/CuiCameraRecordings-DtwHYkGE.js +1 -0
  46. package/dist/interface/assets/{CuiCameraShares-BggG5Ic_.js → CuiCameraShares-MAey7ufK.js} +1 -1
  47. package/dist/interface/assets/CuiCameraTable-B4WVkliT.js +2 -0
  48. package/dist/interface/assets/CuiDataTable-BGleWv6B.css +1 -0
  49. package/dist/interface/assets/CuiDataTable-BmGMKsJm.js +1 -0
  50. package/dist/interface/assets/CuiLightControl-jUzSwiWP.js +1 -0
  51. package/dist/interface/assets/CuiPluginCard-DAmNhiUu.js +2 -0
  52. package/dist/interface/assets/{CuiPluginCard-C9zsmIaC.css → CuiPluginCard-D_6UFFZW.css} +1 -1
  53. package/dist/interface/assets/{CuiPluginCategoryChip-DsEuwQrw.js → CuiPluginCategoryChip-DSPwTxQi.js} +1 -1
  54. package/dist/interface/assets/{CuiPluginOAuthButton-Bbwly_xJ.js → CuiPluginOAuthButton-BCcvYrt8.js} +2 -2
  55. package/dist/interface/assets/{CuiPluginTrustBadge-BC6F9f-3.js → CuiPluginTrustBadge-D6p-Cs5H.js} +1 -1
  56. package/dist/interface/assets/CuiQRCode-Dll6D9H0.js +1 -0
  57. package/dist/interface/assets/CuiRecordingsGrid-CBcFHQrq.js +1 -0
  58. package/dist/interface/assets/CuiSchema-cCkrONzF.js +1 -0
  59. package/dist/interface/assets/{CuiTopNavbarItem-BZawroJz.js → CuiTopNavbarItem-Dj1lpqE0.js} +1 -1
  60. package/dist/interface/assets/Faces-C-99fN6H.js +1 -0
  61. package/dist/interface/assets/{FirstSteps-Dg0Bvjs2.js → FirstSteps-BTcTmqRf.js} +1 -1
  62. package/dist/interface/assets/Instances-Czb39Tkc.js +1 -0
  63. package/dist/interface/assets/{Logs-DSSDjAY-.js → Logs-Cxug_P1Y.js} +2 -2
  64. package/dist/interface/assets/Menu-DVPNefJA.js +1 -0
  65. package/dist/interface/assets/{OAuthDeviceFlow-CKTokRaq.js → OAuthDeviceFlow-CxdoPgV9.js} +1 -1
  66. package/dist/interface/assets/Plugin-BoBgPYYY.js +1 -0
  67. package/dist/interface/assets/{PluginConsole-CcRMneFa.js → PluginConsole-Cb0aYqXf.js} +1 -1
  68. package/dist/interface/assets/PluginDetail-BUKn2x1R.js +2 -0
  69. package/dist/interface/assets/{PluginSchema-CP0JWUSD.js → PluginSchema-Czc6k-Yu.js} +1 -1
  70. package/dist/interface/assets/PluginSearch-CL0-IZD0.js +1 -0
  71. package/dist/interface/assets/{PluginSearch-Bbp8D7BJ.css → PluginSearch-CLjLT9JT.css} +1 -1
  72. package/dist/interface/assets/PluginSearch-RgI-CCYF.js +2 -0
  73. package/dist/interface/assets/Plugins-BihIbjoN.js +1 -0
  74. package/dist/interface/assets/Recordings-BMIf2FlS.js +1 -0
  75. package/dist/interface/assets/SensorEdit-BNQC_Typ.js +1 -0
  76. package/dist/interface/assets/{SensorHistory-BeCbNWJh.js → SensorHistory-CFLrj259.js} +1 -1
  77. package/dist/interface/assets/Sensors-DfE07b1Q.css +1 -0
  78. package/dist/interface/assets/Sensors-Dpwy5UT3.js +2 -0
  79. package/dist/interface/assets/Settings-BTWXZyrk.js +1 -0
  80. package/dist/interface/assets/SettingsAccount-3DkQ3Lxj.js +1 -0
  81. package/dist/interface/assets/SettingsAccount-DwVO8fq2.js +1 -0
  82. package/dist/interface/assets/SettingsAppearance-CFAwBkaK.js +1 -0
  83. package/dist/interface/assets/SettingsAppearance-xKZ26BqD.js +1 -0
  84. package/dist/interface/assets/SettingsBackup-BSyrNc3Z.js +1 -0
  85. package/dist/interface/assets/SettingsList-C077meHM.js +1 -0
  86. package/dist/interface/assets/{SettingsMqtt-DoYFVHoD.js → SettingsMqtt-BReb2PWO.js} +1 -1
  87. package/dist/interface/assets/SettingsNotifications-zfpvJfMb.js +2 -0
  88. package/dist/interface/assets/{SettingsPermissions-D33G-1kM.js → SettingsPermissions-CIv5OeZF.js} +1 -1
  89. package/dist/interface/assets/SettingsRecordings-dSPQF-by.js +1 -0
  90. package/dist/interface/assets/SettingsRemote-D0ZJX5wf.js +1 -0
  91. package/dist/interface/assets/SettingsSystem-BLEcpC-p.js +2 -0
  92. package/dist/interface/assets/{SettingsUsers-2uMPOpyC.js → SettingsUsers-BQQqlcRJ.js} +1 -1
  93. package/dist/interface/assets/Terminal-I3uC-c7V.js +4 -0
  94. package/dist/interface/assets/{VariableInput-Cx9tgiM4.js → VariableInput-Be7j2nen.js} +1 -1
  95. package/dist/interface/assets/{VariableSuggestions-DV_QjTtU.js → VariableSuggestions-Dr5nstx8.js} +1 -1
  96. package/dist/interface/assets/{VersionsHandler-v4hH23M_.js → VersionsHandler-Cb2CN1L7.js} +1 -1
  97. package/dist/interface/assets/{VirtualSensorCreate-DhuGE1Mf.js → VirtualSensorCreate-CA_F6RPb.js} +1 -1
  98. package/dist/interface/assets/{Workers-CzAz4N2_.css → Workers-7hKMBU4w.css} +1 -1
  99. package/dist/interface/assets/Workers-CTqGBl_F.js +2 -0
  100. package/dist/interface/assets/api-B3KZZ8rN.js +2 -0
  101. package/dist/interface/assets/api-BMM5CP59.css +2 -0
  102. package/dist/interface/assets/{api-BKU9IS3U.js → api-BWixZaOV.js} +1 -1
  103. package/dist/interface/assets/{auth-B4latCDR.js → auth-D-G85zNQ.js} +1 -1
  104. package/dist/interface/assets/{automations-BFkAMu3Y.js → automations-CDnI6oDm.js} +1 -1
  105. package/dist/interface/assets/{cameras.schema-BtaT3B32.js → cameras.schema-B6NhSVdK.js} +1 -1
  106. package/dist/interface/assets/chevron-right-DKkuIAth.js +1 -0
  107. package/dist/interface/assets/cloudHandoff-DOVTmlDw.js +1 -0
  108. package/dist/interface/assets/{config-B_lj3Myj.js → config-CuTS8b79.js} +1 -1
  109. package/dist/interface/assets/deployed-code-update-CHr3gyW9.js +1 -0
  110. package/dist/interface/assets/{flowSchema-CyZseAPD.js → flowSchema-CTDMgLvN.js} +1 -1
  111. package/dist/interface/assets/main-DRmCcFpa.js +3 -0
  112. package/dist/interface/assets/{mqtt-CFw_CCq8.js → mqtt-DaqGTQzc.js} +1 -1
  113. package/dist/interface/assets/{notifications-0_glcRlR.js → notifications-Dit0-wMf.js} +1 -1
  114. package/dist/interface/assets/{plugins-ICpmsguj.js → plugins-cZz4VMT0.js} +1 -1
  115. package/dist/interface/assets/round-restart-alt-BZXAnyzF.js +1 -0
  116. package/dist/interface/assets/round-restart-alt-D3sTGG7n.css +1 -0
  117. package/dist/interface/assets/sensors-D6TLuqrM.js +1 -0
  118. package/dist/interface/assets/{server-DbpDC3pc.js → server-CKNXGRUG.js} +1 -1
  119. package/dist/interface/assets/{theme-DlMdsvGC.js → theme-DlzhloFW.js} +1 -1
  120. package/dist/interface/assets/types-BDNk1b9h.js +1 -0
  121. package/dist/interface/assets/{types-CggzoTPX.js → types-DaO4wazK.js} +1 -1
  122. package/dist/interface/assets/{useAppVersion-CCxZnwIP.js → useAppVersion-C9RbfMSY.js} +1 -1
  123. package/dist/interface/assets/useBackupRestore-CXFWCOQy.js +1 -0
  124. package/dist/interface/assets/{useCameraOptions-DVlhUpbE.js → useCameraOptions-Baxr6kPX.js} +1 -1
  125. package/dist/interface/assets/{useElectron-KnqvZz0q.js → useElectron-_5uSFUvf.js} +1 -1
  126. package/dist/interface/assets/{useLogsSocket-CUQwZ6wm.js → useLogsSocket-B6JGfF3p.js} +2 -2
  127. package/dist/interface/assets/{usePermissions-C3D3JcPH.js → usePermissions-qSwLp41H.js} +1 -1
  128. package/dist/interface/assets/{useServerRestart-CqZRPCpR.js → useServerRestart-D8lCTOtI.js} +1 -1
  129. package/dist/interface/assets/{useStreamStatus-CVJFHRLZ.js → useStreamStatus-Dpu6Hkfi.js} +1 -1
  130. package/dist/interface/assets/{useUserOptions-drl3-JUC.js → useUserOptions-CBRlNL95.js} +1 -1
  131. package/dist/interface/assets/{vendor-cameraui-Cgb5z6NJ.js → vendor-cameraui-D2u3KrB1.js} +313 -27
  132. package/dist/interface/assets/vendor-core-BXi0Qi10.js +1 -0
  133. package/dist/interface/assets/{vendor-primevue-CyD8V_Ft.js → vendor-primevue-Bchwc-Ab.js} +85 -371
  134. package/dist/interface/index.html +23 -22
  135. package/dist/interface/sw.js +1 -1
  136. package/dist/server/package.json +6 -6
  137. package/dist/server/requirements.txt +2 -2
  138. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/client.py +3 -0
  139. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/types.py +3 -0
  140. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +14 -28
  141. package/dist/server/src/api/controllers/cameras.controller.d.ts +1 -10
  142. package/dist/server/src/api/controllers/cameras.controller.js +0 -99
  143. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  144. package/dist/server/src/api/controllers/plugins.controller.js +30 -4
  145. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  146. package/dist/server/src/api/controllers/workers.controller.d.ts +2 -1
  147. package/dist/server/src/api/controllers/workers.controller.js +9 -0
  148. package/dist/server/src/api/controllers/workers.controller.js.map +1 -1
  149. package/dist/server/src/api/database/index.d.ts +0 -1
  150. package/dist/server/src/api/database/index.js +1 -1
  151. package/dist/server/src/api/database/index.js.map +1 -1
  152. package/dist/server/src/api/database/record-schemas.js +1 -1
  153. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  154. package/dist/server/src/api/database/types.d.ts +0 -1
  155. package/dist/server/src/api/index.js +1 -1
  156. package/dist/server/src/api/routes/cameras.routes.js +1 -42
  157. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  158. package/dist/server/src/api/routes/workers.routes.js +11 -0
  159. package/dist/server/src/api/routes/workers.routes.js.map +1 -1
  160. package/dist/server/src/api/schemas/cameras.schema.d.ts +32 -18
  161. package/dist/server/src/api/schemas/cameras.schema.js +4 -11
  162. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  163. package/dist/server/src/api/services/cameras.service.d.ts +1 -0
  164. package/dist/server/src/api/services/cameras.service.js +23 -0
  165. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  166. package/dist/server/src/api/services/plugins.service.d.ts +1 -0
  167. package/dist/server/src/api/services/plugins.service.js +18 -0
  168. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  169. package/dist/server/src/api/services/sensors.service.d.ts +1 -0
  170. package/dist/server/src/api/services/sensors.service.js +1 -0
  171. package/dist/server/src/api/services/sensors.service.js.map +1 -1
  172. package/dist/server/src/api/services/server.service.d.ts +2 -0
  173. package/dist/server/src/api/services/server.service.js +16 -2
  174. package/dist/server/src/api/services/server.service.js.map +1 -1
  175. package/dist/server/src/api/types/index.d.ts +33 -15
  176. package/dist/server/src/api/websocket/nsp/events.js +0 -3
  177. package/dist/server/src/api/websocket/nsp/events.js.map +1 -1
  178. package/dist/server/src/camera/controller.d.ts +0 -3
  179. package/dist/server/src/camera/controller.js +0 -18
  180. package/dist/server/src/camera/controller.js.map +1 -1
  181. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +6 -0
  182. package/dist/server/src/camera/decoder/detection-coordinator.js +61 -7
  183. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  184. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +16 -1
  185. package/dist/server/src/camera/decoder/detection-pipeline.js +92 -14
  186. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  187. package/dist/server/src/camera/decoder/frame-scaler.d.ts +20 -0
  188. package/dist/server/src/camera/decoder/frame-scaler.js +74 -10
  189. package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -1
  190. package/dist/server/src/camera/decoder/secondary-stage.js +17 -14
  191. package/dist/server/src/camera/decoder/secondary-stage.js.map +1 -1
  192. package/dist/server/src/camera/decoder/worker.js +2 -2
  193. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  194. package/dist/server/src/camera/sensors/controller.d.ts +1 -10
  195. package/dist/server/src/camera/sensors/controller.js +8 -59
  196. package/dist/server/src/camera/sensors/controller.js.map +1 -1
  197. package/dist/server/src/main.js +2 -97
  198. package/dist/server/src/main.js.map +1 -1
  199. package/dist/server/src/manager/types.d.ts +1 -0
  200. package/dist/server/src/manager/types.js +2 -0
  201. package/dist/server/src/manager/types.js.map +1 -1
  202. package/dist/server/src/mqtt/bridge.d.ts +0 -5
  203. package/dist/server/src/mqtt/bridge.js +2 -5
  204. package/dist/server/src/mqtt/bridge.js.map +1 -1
  205. package/dist/server/src/plugins/plugin.js +3 -1
  206. package/dist/server/src/plugins/plugin.js.map +1 -1
  207. package/dist/server/src/plugins/runtime/base.d.ts +1 -0
  208. package/dist/server/src/plugins/runtime/base.js +19 -0
  209. package/dist/server/src/plugins/runtime/base.js.map +1 -1
  210. package/dist/server/src/plugins/runtime/go/index.js +1 -1
  211. package/dist/server/src/plugins/runtime/go/index.js.map +1 -1
  212. package/dist/server/src/plugins/runtime/node/child.d.ts +1 -0
  213. package/dist/server/src/plugins/runtime/node/child.js +5 -2
  214. package/dist/server/src/plugins/runtime/node/child.js.map +1 -1
  215. package/dist/server/src/plugins/runtime/node/index.d.ts +0 -1
  216. package/dist/server/src/plugins/runtime/node/index.js +1 -20
  217. package/dist/server/src/plugins/runtime/node/index.js.map +1 -1
  218. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +0 -5
  219. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -1
  220. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js +0 -5
  221. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js.map +1 -1
  222. package/dist/server/src/plugins/runtime/python/child.py +62 -5
  223. package/dist/server/src/plugins/runtime/python/index.js +3 -0
  224. package/dist/server/src/plugins/runtime/python/index.js.map +1 -1
  225. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +0 -7
  226. package/dist/server/src/plugins/runtime/python/proxy/sensor_manager.py +0 -7
  227. package/dist/server/src/plugins/types.d.ts +3 -1
  228. package/dist/server/src/plugins/types.js +2 -0
  229. package/dist/server/src/plugins/types.js.map +1 -1
  230. package/dist/server/src/plugins/worker.d.ts +1 -0
  231. package/dist/server/src/plugins/worker.js +42 -3
  232. package/dist/server/src/plugins/worker.js.map +1 -1
  233. package/dist/server/src/rpc/interfaces/device.d.ts +0 -3
  234. package/dist/server/src/rpc/namespaces.d.ts +0 -7
  235. package/dist/server/src/rpc/namespaces.js +0 -7
  236. package/dist/server/src/rpc/namespaces.js.map +1 -1
  237. package/dist/server/src/rpc/server.js +10 -13
  238. package/dist/server/src/rpc/server.js.map +1 -1
  239. package/dist/server/src/sensors/registry.d.ts +5 -1
  240. package/dist/server/src/sensors/registry.js +53 -25
  241. package/dist/server/src/sensors/registry.js.map +1 -1
  242. package/dist/server/src/utils/engines.d.ts +3 -1
  243. package/dist/server/src/utils/engines.js +11 -0
  244. package/dist/server/src/utils/engines.js.map +1 -1
  245. package/dist/server/src/utils/ipc.d.ts +2 -0
  246. package/dist/server/src/utils/ipc.js +104 -0
  247. package/dist/server/src/utils/ipc.js.map +1 -1
  248. package/dist/server/src/utils/npm/index.d.ts +6 -1
  249. package/dist/server/src/utils/npm/index.js +3 -0
  250. package/dist/server/src/utils/npm/index.js.map +1 -1
  251. package/dist/server/src/utils/plugin-registry/index.d.ts +1 -0
  252. package/dist/server/src/utils/plugin-registry/index.js.map +1 -1
  253. package/dist/server/src/utils/pythonInstaller.d.ts +1 -0
  254. package/dist/server/src/utils/pythonInstaller.js +14 -0
  255. package/dist/server/src/utils/pythonInstaller.js.map +1 -1
  256. package/dist/server/src/workers/agent.d.ts +5 -0
  257. package/dist/server/src/workers/agent.js +49 -1
  258. package/dist/server/src/workers/agent.js.map +1 -1
  259. package/dist/server/src/workers/capabilities/plugin-host.js +8 -0
  260. package/dist/server/src/workers/capabilities/plugin-host.js.map +1 -1
  261. package/dist/server/src/workers/manager.d.ts +1 -0
  262. package/dist/server/src/workers/manager.js +22 -0
  263. package/dist/server/src/workers/manager.js.map +1 -1
  264. package/dist/server/src/workers/types.d.ts +8 -0
  265. package/package.json +6 -6
  266. package/dist/interface/assets/Adminpanel-4ilp8plp.js +0 -1
  267. package/dist/interface/assets/Automation-uaWWTeTZ.js +0 -3
  268. package/dist/interface/assets/Automations-PHMVe6wG.js +0 -2
  269. package/dist/interface/assets/Camera-Akukeq4_.js +0 -2
  270. package/dist/interface/assets/Camview-dF8o0iy2.js +0 -1
  271. package/dist/interface/assets/Config-iq-YI9Vg.js +0 -2
  272. package/dist/interface/assets/ConfigActionSensor-C9q3sRuI.js +0 -1
  273. package/dist/interface/assets/ConfigSensorValueInput-BcbzMf0g.js +0 -1
  274. package/dist/interface/assets/ConfigTriggerDetection-ld9Upgoc.js +0 -1
  275. package/dist/interface/assets/ConfigTriggerGeofence-DbfBc1AM.js +0 -1
  276. package/dist/interface/assets/Console-BTb5Yc32.js +0 -1
  277. package/dist/interface/assets/CuiAutomationRunsDialog-DX0xpNxx.js +0 -1
  278. package/dist/interface/assets/CuiBottomSheet-Bu0PtwX-.js +0 -1
  279. package/dist/interface/assets/CuiCameraRecordings-BWN8gBl4.js +0 -1
  280. package/dist/interface/assets/CuiCameraTable-BCrE4TMJ.js +0 -2
  281. package/dist/interface/assets/CuiDataTable-Dk8LJl5S.js +0 -1
  282. package/dist/interface/assets/CuiDataTable-W68cyoLf.css +0 -1
  283. package/dist/interface/assets/CuiLightControl-CaIl2eCO.js +0 -1
  284. package/dist/interface/assets/CuiList-Cjbxtb1E.js +0 -1
  285. package/dist/interface/assets/CuiPluginCard-cvZkF8Cz.js +0 -2
  286. package/dist/interface/assets/CuiQRCode-DKHFwuhr.js +0 -1
  287. package/dist/interface/assets/CuiRecordingsGrid-DSf7RXci.js +0 -1
  288. package/dist/interface/assets/CuiSchema-Dda4lNPz.js +0 -1
  289. package/dist/interface/assets/Faces-CvQCD53E.js +0 -1
  290. package/dist/interface/assets/Instances-DisNu3zt.js +0 -1
  291. package/dist/interface/assets/Menu-CJ-MMxvd.js +0 -1
  292. package/dist/interface/assets/Plugin-7daLGUVo.js +0 -1
  293. package/dist/interface/assets/PluginDetail-B1-NdurE.js +0 -2
  294. package/dist/interface/assets/PluginSearch-BHN0J_JP.js +0 -2
  295. package/dist/interface/assets/PluginSearch-Cx_lzDqC.js +0 -1
  296. package/dist/interface/assets/Plugins-DnMPdcQF.js +0 -1
  297. package/dist/interface/assets/Recordings-Dxs3srmh.js +0 -1
  298. package/dist/interface/assets/SensorEdit-Dq2nV1Wf.js +0 -1
  299. package/dist/interface/assets/Sensors-BA9P_Ray.css +0 -1
  300. package/dist/interface/assets/Sensors-D9DLdMaD.js +0 -2
  301. package/dist/interface/assets/Settings-DCHoD7r8.js +0 -1
  302. package/dist/interface/assets/SettingsAccount-BrhnlNuF.js +0 -1
  303. package/dist/interface/assets/SettingsAccount-djLxmQ9r.js +0 -1
  304. package/dist/interface/assets/SettingsAppearance-Bq-xM16S.js +0 -1
  305. package/dist/interface/assets/SettingsAppearance-JKbe5xiH.js +0 -1
  306. package/dist/interface/assets/SettingsBackup-CjlVk3hF.js +0 -1
  307. package/dist/interface/assets/SettingsList-C4mMOKJh.js +0 -1
  308. package/dist/interface/assets/SettingsNotifications-Cmr9Bvy0.js +0 -2
  309. package/dist/interface/assets/SettingsRecordings-DYiuW0rA.js +0 -1
  310. package/dist/interface/assets/SettingsRemote-CROA1Oa7.js +0 -1
  311. package/dist/interface/assets/SettingsSystem-rgucO68X.js +0 -2
  312. package/dist/interface/assets/Terminal-BMFWoJ_k.js +0 -4
  313. package/dist/interface/assets/Workers-DyJXudfY.js +0 -2
  314. package/dist/interface/assets/api-3va2gyB0.css +0 -2
  315. package/dist/interface/assets/api-Cc-rMHwl.js +0 -2
  316. package/dist/interface/assets/chevron-right-B4vB0gm4.js +0 -1
  317. package/dist/interface/assets/cloudHandoff-CPrXpD0L.js +0 -1
  318. package/dist/interface/assets/main-C4qjk6s5.js +0 -3
  319. package/dist/interface/assets/round-restart-alt-BhSxsPhN.css +0 -1
  320. package/dist/interface/assets/round-restart-alt-CxUkNgtt.js +0 -1
  321. package/dist/interface/assets/sensors-Bh5GuQ78.js +0 -1
  322. package/dist/interface/assets/types-C1VwkReu.js +0 -1
  323. package/dist/interface/assets/useBackupRestore-DQQc_D6D.js +0 -1
  324. package/dist/interface/assets/vendor-core-BJsSXMFQ.js +0 -1
@@ -1 +1 @@
1
- import{Qn as e,Yn as t,Zn as n,ir as r}from"./api-Cc-rMHwl.js";import{U as i,cr as a,gr as o,q as s}from"./vendor-CSg6_Jfu.js";var c=6e5,l=12e4;async function u({pluginData:e}){return(await r.post(`/plugins`,e,{timeout:c})).data}async function d({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}`,{signal:t})).data}async function f({pluginname:e,signal:t}){return(await r.get(`/plugins/${e}/versions`,{signal:t})).data}async function p({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/update`,{signal:t})).data}async function m({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/logo`,{signal:t})).data}async function h({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/config`,{signal:t})).data}async function g({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/contract`,{signal:t})).data}async function _({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/readme`,{signal:t})).data}async function v({pluginName:e,query:t,signal:n}){return(await r.get(`/plugins/${e}/changelog`,{params:t,signal:n})).data}async function y({pluginName:e,query:t,signal:n}){return(await r.get(`/plugins/${e}/compat`,{params:t,signal:n})).data}async function b({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/interface`,{signal:t})).data}async function x({parameter:e,signal:t}){return(await r.get(`/plugins`,{params:e,signal:t})).data}async function S({parameter:e,signal:t}){return(await r.get(`/plugins/extensions`,{params:e,signal:t})).data}async function C({pluginName:e}){return(await r.delete(`/plugins/${e}/log`)).data}async function w({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/log/download`,{signal:t})).data}async function T({parameter:e,signal:t}){return(await r.get(`/plugins/progress`,{params:e,signal:t})).data}async function E({query:e,parameter:t,refresh:n,signal:i}){return(await r.get(`/plugins/search`,{params:{...e,...t,...n?{refresh:!0}:{}},signal:i})).data}async function D({pluginName:e}){return(await r.put(`/plugins/${e}/enable`)).data}async function O({pluginName:e,configData:t}){return(await r.patch(`/plugins/${e}/config`,t)).data}async function k({pluginname:e,configData:t}){return(await r.put(`/plugins/${e}/config`,t)).data}async function A({pluginname:e,configData:t}){return(await r.post(`/plugins/${e}/config`,t)).data}async function j({pluginName:e}){return(await r.put(`/plugins/${e}/disable`)).data}async function M({pluginName:e}){return(await r.put(`/plugins/${e}/start`)).data}async function N({pluginName:e}){return(await r.put(`/plugins/${e}/stop`)).data}async function P({pluginName:e}){return(await r.put(`/plugins/${e}/restart`)).data}async function F({pluginName:e,removeStorage:t}){return(await r.delete(`/plugins/${e}`,{params:{removeStorage:t},timeout:l})).data}async function I(){return(await r.delete(`/plugins`,{timeout:l})).data}var L=class{_queryClient=s();t=e.global.t;toast=n();queryActivator=a([{name:`getPluginQuery`,enabled:!0},{name:`getPluginsQuery`,enabled:!0},{name:`getPluginsExtensionsQuery`,enabled:!0},{name:`searchPluginsQuery`,enabled:!0},{name:`getPluginVersionsQuery`,enabled:!0},{name:`getPluginUpdateQuery`,enabled:!0},{name:`getPluginLogoQuery`,enabled:!0},{name:`getPluginConfigQuery`,enabled:!0},{name:`getPluginContractQuery`,enabled:!0},{name:`getPluginReadmeQuery`,enabled:!0},{name:`getPluginInterfaceQuery`,enabled:!0},{name:`getPluginChangelogQuery`,enabled:!0},{name:`getPluginCompatQuery`,enabled:!0},{name:`getPluginsProgressQuery`,enabled:!0},{name:`installPluginQuery`,enabled:!0},{name:`enablePluginQuery`,enabled:!0},{name:`disablePluginQuery`,enabled:!0},{name:`patchPluginConfigQuery`,enabled:!0},{name:`setPluginConfigQuery`,enabled:!0},{name:`submitPluginConfigQuery`,enabled:!0},{name:`startPluginQuery`,enabled:!0},{name:`stopPluginQuery`,enabled:!0},{name:`restartPluginQuery`,enabled:!0},{name:`uninstallPluginQuery`,enabled:!0},{name:`uninstallPluginsQuery`,enabled:!0},{name:`downloadLogQuery`,enabled:!0}]);get queryClient(){return this._queryClient}installPluginQuery(){return i({mutationFn:u,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsProgress`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_installed`),life:3e3})}})}getPluginQuery(e){return t({queryKey:[`plugins`,e],queryFn:({signal:t})=>d({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginQuery`&&e.enabled)})}getPluginsQuery(e){return t({queryKey:[`pluginsList`,e],queryFn:({signal:t})=>x({parameter:o(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsQuery`&&e.enabled)})}getPluginsExtensionsQuery(e){return t({queryKey:[`extensionsList`,e],queryFn:({signal:t})=>S({parameter:o(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsExtensionsQuery`&&e.enabled)})}getPluginsProgressQuery(e){return t({queryKey:[`pluginsProgress`,e],queryFn:({signal:t})=>T({parameter:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsProgressQuery`&&e.enabled)})}searchPluginsQuery(e,n,r){return t({queryKey:[`pluginsSearch`,e,n],queryFn:({signal:t})=>E({query:o(e),parameter:o(n),refresh:o(r),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`searchPluginsQuery`&&e.enabled)})}getPluginVersionsQuery(e){return t({queryKey:[`plugins`,e,`versions`],queryFn:({signal:t})=>f({pluginname:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginVersionsQuery`&&e.enabled)})}getPluginUpdateQuery(e){return t({queryKey:[`plugins`,e,`update`],queryFn:({signal:t})=>p({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginUpdateQuery`&&e.enabled)})}getPluginLogoQuery(e){return t({queryKey:[`plugins`,e,`logo`],queryFn:({signal:t})=>m({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginLogoQuery`&&e.enabled)})}getPluginConfigQuery(e){return t({queryKey:[`plugins`,e,`config`],queryFn:({signal:t})=>h({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginConfigQuery`&&e.enabled)})}getPluginContractQuery(e){return t({queryKey:[`plugins`,e,`contract`],queryFn:({signal:t})=>g({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginContractQuery`&&e.enabled)})}getPluginReadmeQuery(e){return t({queryKey:[`plugins`,e,`readme`],queryFn:({signal:t})=>_({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginReadmeQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getPluginInterfaceQuery(e){return t({queryKey:[`plugins`,e,`interface`],queryFn:({signal:t})=>b({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginInterfaceQuery`&&e.enabled)})}getPluginChangelogQuery(e,n){return t({queryKey:[`plugins`,e,`changelog`],queryFn:({signal:t})=>v({pluginName:o(e),query:o(n),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginChangelogQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getPluginCompatQuery(e,n){return t({queryKey:[`plugins`,e,`compat`],queryFn:({signal:t})=>y({pluginName:o(e),query:o(n),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginCompatQuery`&&e.enabled)})}patchPluginConfigQuery(){return i({mutationFn:O,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_config_updated`),life:3e3})}})}startPluginQuery(){return i({mutationFn:M,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_started`),life:3e3})}})}stopPluginQuery(){return i({mutationFn:N,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_stopped`),life:3e3})}})}restartPluginQuery(){return i({mutationFn:P,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_restarted`),life:3e3})}})}setPluginConfigQuery(){return i({mutationFn:k,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginname,t.configData]})}})}submitPluginConfigQuery(){return i({mutationFn:A,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginname,t.configData]})}})}enablePluginQuery(){return i({mutationFn:D,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_enabled`),life:3e3})}})}disablePluginQuery(){return i({mutationFn:j,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_disabled`),life:3e3})}})}uninstallPluginQuery(){return i({mutationFn:F,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsProgress`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_removed`),life:3e3})}})}uninstallPluginsQuery(){return i({mutationFn:I,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugins_removed`),life:3e3})}})}downloadLogQuery(e){return t({queryKey:[`logs`,e],queryFn:({signal:t})=>w({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`downloadLogQuery`&&e.enabled)})}clearLogQuery(){return i({mutationFn:C,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`logs`,t.pluginName],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{C as n,w as r,L as t};
1
+ import{$n as e,Qn as t,Xn as n,sr as r}from"./api-B3KZZ8rN.js";import{U as i,cr as a,gr as o,q as s}from"./vendor-CSg6_Jfu.js";var c=6e5,l=12e4;async function u({pluginData:e}){return(await r.post(`/plugins`,e,{timeout:c})).data}async function d({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}`,{signal:t})).data}async function f({pluginname:e,signal:t}){return(await r.get(`/plugins/${e}/versions`,{signal:t})).data}async function p({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/update`,{signal:t})).data}async function m({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/logo`,{signal:t})).data}async function h({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/config`,{signal:t})).data}async function g({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/contract`,{signal:t})).data}async function _({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/readme`,{signal:t})).data}async function v({pluginName:e,query:t,signal:n}){return(await r.get(`/plugins/${e}/changelog`,{params:t,signal:n})).data}async function y({pluginName:e,query:t,signal:n}){return(await r.get(`/plugins/${e}/compat`,{params:t,signal:n})).data}async function b({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/interface`,{signal:t})).data}async function x({parameter:e,signal:t}){return(await r.get(`/plugins`,{params:e,signal:t})).data}async function S({parameter:e,signal:t}){return(await r.get(`/plugins/extensions`,{params:e,signal:t})).data}async function C({pluginName:e}){return(await r.delete(`/plugins/${e}/log`)).data}async function w({pluginName:e,signal:t}){return(await r.get(`/plugins/${e}/log/download`,{signal:t})).data}async function T({parameter:e,signal:t}){return(await r.get(`/plugins/progress`,{params:e,signal:t})).data}async function E({query:e,parameter:t,refresh:n,signal:i}){return(await r.get(`/plugins/search`,{params:{...e,...t,...n?{refresh:!0}:{}},signal:i})).data}async function D({pluginName:e}){return(await r.put(`/plugins/${e}/enable`)).data}async function O({pluginName:e,configData:t}){return(await r.patch(`/plugins/${e}/config`,t)).data}async function k({pluginname:e,configData:t}){return(await r.put(`/plugins/${e}/config`,t)).data}async function A({pluginname:e,configData:t}){return(await r.post(`/plugins/${e}/config`,t)).data}async function j({pluginName:e}){return(await r.put(`/plugins/${e}/disable`)).data}async function M({pluginName:e}){return(await r.put(`/plugins/${e}/start`)).data}async function N({pluginName:e}){return(await r.put(`/plugins/${e}/stop`)).data}async function P({pluginName:e}){return(await r.put(`/plugins/${e}/restart`)).data}async function F({pluginName:e,removeStorage:t}){return(await r.delete(`/plugins/${e}`,{params:{removeStorage:t},timeout:l})).data}async function I(){return(await r.delete(`/plugins`,{timeout:l})).data}var L=class{_queryClient=s();t=e.global.t;toast=t();queryActivator=a([{name:`getPluginQuery`,enabled:!0},{name:`getPluginsQuery`,enabled:!0},{name:`getPluginsExtensionsQuery`,enabled:!0},{name:`searchPluginsQuery`,enabled:!0},{name:`getPluginVersionsQuery`,enabled:!0},{name:`getPluginUpdateQuery`,enabled:!0},{name:`getPluginLogoQuery`,enabled:!0},{name:`getPluginConfigQuery`,enabled:!0},{name:`getPluginContractQuery`,enabled:!0},{name:`getPluginReadmeQuery`,enabled:!0},{name:`getPluginInterfaceQuery`,enabled:!0},{name:`getPluginChangelogQuery`,enabled:!0},{name:`getPluginCompatQuery`,enabled:!0},{name:`getPluginsProgressQuery`,enabled:!0},{name:`installPluginQuery`,enabled:!0},{name:`enablePluginQuery`,enabled:!0},{name:`disablePluginQuery`,enabled:!0},{name:`patchPluginConfigQuery`,enabled:!0},{name:`setPluginConfigQuery`,enabled:!0},{name:`submitPluginConfigQuery`,enabled:!0},{name:`startPluginQuery`,enabled:!0},{name:`stopPluginQuery`,enabled:!0},{name:`restartPluginQuery`,enabled:!0},{name:`uninstallPluginQuery`,enabled:!0},{name:`uninstallPluginsQuery`,enabled:!0},{name:`downloadLogQuery`,enabled:!0}]);get queryClient(){return this._queryClient}installPluginQuery(){return i({mutationFn:u,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsProgress`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_installed`),life:3e3})}})}getPluginQuery(e){return n({queryKey:[`plugins`,e],queryFn:({signal:t})=>d({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginQuery`&&e.enabled)})}getPluginsQuery(e){return n({queryKey:[`pluginsList`,e],queryFn:({signal:t})=>x({parameter:o(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsQuery`&&e.enabled)})}getPluginsExtensionsQuery(e){return n({queryKey:[`extensionsList`,e],queryFn:({signal:t})=>S({parameter:o(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsExtensionsQuery`&&e.enabled)})}getPluginsProgressQuery(e){return n({queryKey:[`pluginsProgress`,e],queryFn:({signal:t})=>T({parameter:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginsProgressQuery`&&e.enabled)})}searchPluginsQuery(e,t,r){return n({queryKey:[`pluginsSearch`,e,t],queryFn:({signal:n})=>E({query:o(e),parameter:o(t),refresh:o(r),signal:n}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`searchPluginsQuery`&&e.enabled)})}getPluginVersionsQuery(e){return n({queryKey:[`plugins`,e,`versions`],queryFn:({signal:t})=>f({pluginname:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginVersionsQuery`&&e.enabled)})}getPluginUpdateQuery(e){return n({queryKey:[`plugins`,e,`update`],queryFn:({signal:t})=>p({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginUpdateQuery`&&e.enabled)})}getPluginLogoQuery(e){return n({queryKey:[`plugins`,e,`logo`],queryFn:({signal:t})=>m({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginLogoQuery`&&e.enabled)})}getPluginConfigQuery(e){return n({queryKey:[`plugins`,e,`config`],queryFn:({signal:t})=>h({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginConfigQuery`&&e.enabled)})}getPluginContractQuery(e){return n({queryKey:[`plugins`,e,`contract`],queryFn:({signal:t})=>g({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginContractQuery`&&e.enabled)})}getPluginReadmeQuery(e){return n({queryKey:[`plugins`,e,`readme`],queryFn:({signal:t})=>_({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginReadmeQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getPluginInterfaceQuery(e){return n({queryKey:[`plugins`,e,`interface`],queryFn:({signal:t})=>b({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginInterfaceQuery`&&e.enabled)})}getPluginChangelogQuery(e,t){return n({queryKey:[`plugins`,e,`changelog`],queryFn:({signal:n})=>v({pluginName:o(e),query:o(t),signal:n}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginChangelogQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getPluginCompatQuery(e,t){return n({queryKey:[`plugins`,e,`compat`],queryFn:({signal:n})=>y({pluginName:o(e),query:o(t),signal:n}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getPluginCompatQuery`&&e.enabled)})}patchPluginConfigQuery(){return i({mutationFn:O,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_config_updated`),life:3e3})}})}startPluginQuery(){return i({mutationFn:M,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_started`),life:3e3})}})}stopPluginQuery(){return i({mutationFn:N,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_stopped`),life:3e3})}})}restartPluginQuery(){return i({mutationFn:P,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_restarted`),life:3e3})}})}setPluginConfigQuery(){return i({mutationFn:k,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginname,t.configData]})}})}submitPluginConfigQuery(){return i({mutationFn:A,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginname,t.configData]})}})}enablePluginQuery(){return i({mutationFn:D,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_enabled`),life:3e3})}})}disablePluginQuery(){return i({mutationFn:j,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`plugins`,t.pluginName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_disabled`),life:3e3})}})}uninstallPluginQuery(){return i({mutationFn:F,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsProgress`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugin_removed`),life:3e3})}})}uninstallPluginsQuery(){return i({mutationFn:I,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`pluginsList`]}),await this._queryClient.refetchQueries({queryKey:[`pluginsSearch`]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.plugins_removed`),life:3e3})}})}downloadLogQuery(e){return n({queryKey:[`logs`,e],queryFn:({signal:t})=>w({pluginName:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`downloadLogQuery`&&e.enabled)})}clearLogQuery(){return i({mutationFn:C,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`logs`,t.pluginName],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{C as n,w as r,L as t};
@@ -0,0 +1 @@
1
+ import{Mt as e,Ot as t,Pt as n,Rt as r,qr as i,z as a}from"./vendor-cameraui-D2u3KrB1.js";import{or as o,sn as s}from"./api-B3KZZ8rN.js";import{Fn as c,Gn as l,Nn as u,Sn as d,Xn as f,Zn as p,_r as m,an as h,br as g,cn as _,en as v,gr as y,hn as b,in as x,ir as S,mr as C,on as w,pn as T,qt as E,sn as D,wn as O,yr as k,zn as A}from"./vendor-CSg6_Jfu.js";import{p as j}from"./vendor-core-BXi0Qi10.js";import{T as ee,g as te}from"./vendor-primevue-Bchwc-Ab.js";import{t as M}from"./theme-DlzhloFW.js";import{t as N}from"./arrow-right-outline-BY1ggGA1.js";import{a as P,c as F,i as I,l as L,o as R,t as z}from"./vendor-chart-CoQ9HTE3.js";var B=e=>e.type===`category`,V=e=>e.type===`action`,H=e=>e.type===`chart`,U=e=>e.type===`indicator`,W={width:200,height:25},G={key:0,class:`text-muted`},K=s(b({__name:`ChartWrapper`,props:d({data:{},options:{},width:{},height:{}},W),setup(e){R.register(P,F,I,L);let{data:t,options:n,width:r,height:i}=C(e),a=l(`barRef`),o=x(()=>t.value.datasets?.[0].data??[]);function s(){let e=a.value?.chart;e&&(e.options.events=[`mousemove`,`mouseout`],e.options.plugins.tooltip.enabled=!0,e.update(`none`))}function c(){let e=a.value?.chart;e&&(e.options.events=[],e.options.plugins.tooltip.enabled=!1,e.update(`none`))}return(e,l)=>y(o).length?(u(),w(y(z),{key:1,ref_key:`barRef`,ref:a,data:y(t),options:y(n),height:y(i),width:y(r),style:k({contain:`strict`,contentVisibility:`auto`,containIntrinsicSize:`${y(r)}px ${y(i)}px`,maxWidth:`${y(r)}px`,minWidth:`${y(r)}px`,minHeight:`${y(i)}px`,maxHeight:`${y(i)}px`}),onMouseenter:s,onMouseleave:c},null,8,[`data`,`options`,`height`,`width`,`style`])):(u(),_(`span`,G,g(e.$t(`components.charts.no_data`)),1))}}),[[`__scopeId`,`data-v-71d295c5`]]),q={key:0,class:`absolute right-[20px] top-[5px] z-2`},ne={key:0,class:`flex justify-center p-8`},re={key:1,class:`cui-chart-table w-full`},ie={key:0,class:`text-sm text-secondary`},ae=[`colspan`],oe={key:0},se={key:1},ce={key:0},J=s(b({__name:`CuiChartTable`,props:{headers:{},items:{},loading:{type:Boolean},paginator:{type:Boolean},totalRecords:{},rows:{default:10},pagination:{},chartData:{},emptyMessage:{}},emits:[`update:page`],setup(s,{emit:d}){let b=s,S=d,P=M(),{theme:F}=j(P),{headers:I,items:L,loading:R,chartData:z,paginator:W,pagination:G,totalRecords:J,rows:Y}=C(b),X=l(`endMarker`),Z=l(`scrollTarget`),le=i(X,{scrollTarget:Z}),Q=x(()=>G.value?.page??1),ue=x(()=>!J.value||!Y.value?1:Math.max(1,Math.ceil(J.value/Y.value))),$=x(()=>{if(!L.value)return[];if(!W.value)return L.value;let e=Y.value??10,t=Q.value-1;return L.value.slice(t*e,(t+1)*e)});function de(e){let t=Y.value??10;S(`update:page`,{page:e-1,rows:t,first:(e-1)*t})}function fe(e,t){let n=`${t.name}_${e.for}`,r=(z.value?.[n])?.datasets?.[0]?.data??[],i=Math.max(...r.map(e=>Number(e)||0)),a=Math.ceil(i/10)*10;return{responsive:!1,maintainAspectRatio:!1,devicePixelRatio:1,animation:!1,events:[],plugins:{legend:{display:!1},tooltip:{enabled:!1,mode:`point`,intersect:!1,backgroundColor:F.value===`dark`?`#2e2e2e`:`#f1f5f9`,titleColor:F.value===`dark`?`#ffffff`:`#000000`,bodyColor:F.value===`dark`?`#ffffff`:`#000000`,displayColors:!1,padding:8,callbacks:{title:e=>{let t=e[0].label;if(t&&!isNaN(Number(t))){let n=new Date(Number(t)).toLocaleTimeString([],{hour:`2-digit`,minute:`2-digit`}),r=e[0].raw;return[`${n}`,`${r.toFixed(2)}%`].join(` - `)}return``}}}},scales:{x:{display:!1,grid:{display:!1}},y:{display:!1,min:0,max:a||100,grid:{display:!1}}}}}return(i,l)=>{let d=N,b=t,x=n,S=ee,C=K,j=e,M=te,P=a,F=r;return u(),_(`div`,null,[T(P,{class:`cui-card`},{content:f(()=>[T(E,{name:`fade`},{default:f(()=>[y(le)?D(``,!0):(u(),_(`div`,q,[T(d,{width:`20px`,height:`20px`,class:`opacity-15`})]))]),_:1}),h(`div`,{ref_key:`scrollTarget`,ref:Z,class:`overflow-x-auto relative`},[y(R)?(u(),_(`div`,ne,[T(b,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(u(),_(`table`,re,[h(`thead`,null,[h(`tr`,null,[(u(!0),_(v,null,c(y(I),(e,t)=>(u(),_(`th`,{key:t,class:m([e.columnProps?.headerClass,`p-2 h-7 min-h-7 max-h-7 text-sm`])},g(e.name??``),3))),128)),h(`th`,{ref_key:`endMarker`,ref:X,class:`w-0 p-0 m-0`},null,512)])]),h(`tbody`,null,[y($).length?(u(!0),_(v,{key:1},c(y($),(e,t)=>(u(),_(`tr`,{key:t,class:`text-sm text-secondary`},[(u(!0),_(v,null,c(y(I),(t,n)=>(u(),_(`td`,{key:n,class:m([t.columnProps?.class,`p-2 h-7 min-h-7 max-h-7`])},[y(U)(t)?(u(),_(`div`,O({key:0,ref_for:!0},t.props),[p(T(x,{style:k({background:t.color?.(e)??`gray`})},null,8,[`style`]),[[F,{value:t.tooltip?.(e)}]])],16)):y(B)(t)?(u(),_(`div`,O({key:1,ref_for:!0},t.props),[t.asChip?(u(),w(S,O({key:0,ref_for:!0},t.chipProps),{default:f(()=>[h(`span`,null,g(t.altName?t.altName:typeof t.field==`string`?e[t.field]:t.field(e)),1),t.suffix?(u(),_(`span`,oe,g(t.suffix),1)):D(``,!0)]),_:2},1040)):(u(),_(`span`,se,[h(`span`,null,g(t.altName?t.altName:typeof t.field==`string`?e[t.field]:t.field(e)),1),t.suffix?(u(),_(`span`,ce,g(t.suffix),1)):D(``,!0)]))],16)):y(H)(t)&&y(z)&&y(z)[`${e.name}_${t.for}`]?(u(),_(`div`,O({key:2,ref_for:!0},t.props),[T(C,{data:y(z)[`${e.name}_${t.for}`],options:fe(t,e),height:25},null,8,[`data`,`options`])],16)):y(V)(t)?(u(),_(`div`,O({key:3,ref_for:!0},t.props,{class:`flex items-center justify-end gap-1`}),[t.buttons?.length?(u(!0),_(v,{key:0},c(t.buttons,(t,n)=>(u(),_(v,{key:n},[t.disabled?.(e)?D(``,!0):p((u(),w(j,O({key:0,rounded:``,loading:t.loading?.(e)},{ref_for:!0},t.buttonProps,{class:[`cui-icon-md`,{"text-white":t.buttonProps?.severity!==`secondary`}],onClick:n=>t.action(e)}),{icon:f(()=>[(u(),w(A(t.icon)))]),_:2},1040,[`loading`,`class`,`onClick`])),[[F,t.tooltip?.(e),void 0,{left:!0}]])],64))),128)):t.disabled?.(e)?D(``,!0):p((u(),w(j,O({key:1,rounded:``,loading:t.loading?.(e)},{ref_for:!0},t.buttonProps,{class:[`cui-icon-md`,{"text-white":t.buttonProps?.severity!==`secondary`}],onClick:n=>t.action?.(e)}),{icon:f(()=>[(u(),w(A(t.icon)))]),_:2},1040,[`loading`,`class`,`onClick`])),[[F,t.tooltip?.(e),void 0,{left:!0}]])],16)):D(``,!0)],2))),128)),l[1]||=h(`td`,{class:`w-0 p-0 m-0`},null,-1)]))),128)):(u(),_(`tr`,ie,[h(`td`,{colspan:y(I).length+1,class:`p-4 text-center text-muted`},g(s.emptyMessage??i.$t(`components.process_table.empty`)),9,ae)]))])])),y(W)&&y(ue)>1?(u(),w(M,{key:2,rows:y(Y),"total-records":y(J)??0,first:(y(Q)-1)*y(Y),template:y(o),onPage:l[0]||=e=>de(e.page+1)},null,8,[`rows`,`total-records`,`first`,`template`])):D(``,!0)],512)]),_:1})])}}}),[[`__scopeId`,`data-v-ccfc5334`]]),Y={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function X(e,t){return u(),_(`svg`,Y,[...t[0]||=[h(`path`,{fill:`currentColor`,d:`M12 5V3.21c0-.45-.54-.67-.85-.35l-2.8 2.79c-.2.2-.2.51 0 .71l2.79 2.79c.32.31.86.09.86-.36V7c3.31 0 6 2.69 6 6c0 2.72-1.83 5.02-4.31 5.75c-.42.12-.69.52-.69.95c0 .65.62 1.16 1.25.97A7.99 7.99 0 0 0 20 13c0-4.42-3.58-8-8-8m-6 8c0-1.34.44-2.58 1.19-3.59c.3-.4.26-.95-.09-1.31c-.42-.42-1.14-.38-1.5.1a7.99 7.99 0 0 0 4.15 12.47c.63.19 1.25-.32 1.25-.97c0-.43-.27-.83-.69-.95C7.83 18.02 6 15.72 6 13`},null,-1)]])}var Z=S({name:`ic-round-restart-alt`,render:X});export{J as n,H as r,Z as t};
@@ -0,0 +1 @@
1
+ .chart-container[data-v-71d295c5]{position:relative}.cui-chart-table[data-v-ccfc5334]{border-collapse:collapse}.cui-chart-table th[data-v-ccfc5334]{text-align:left;white-space:nowrap;border-bottom:1px solid var(--p-content-border-color);font-weight:600}.cui-chart-table td[data-v-ccfc5334]{white-space:nowrap;border-color:var(--p-datatable-body-cell-border-color);border-style:solid;border-width:0 0 1px}.cui-chart-table td>div[data-v-ccfc5334],.cui-chart-table td>span[data-v-ccfc5334]{white-space:normal;overflow-wrap:break-word;word-break:break-all;-webkit-hyphens:auto;hyphens:auto}.cui-chart-table tbody tr[data-v-ccfc5334]:nth-child(2n){background-color:var(--table-row-odd-background)}
@@ -0,0 +1 @@
1
+ import{$n as e,Qn as t,Xn as n,sr as r}from"./api-B3KZZ8rN.js";import{U as i,cr as a,gr as o,q as s}from"./vendor-CSg6_Jfu.js";async function c({signal:e,cameraId:t}){return(await r.get(`/sensors`,{signal:e,params:t?{camera:t}:void 0})).data.sensors}async function l({data:e}){return(await r.post(`/sensors`,e)).data}async function u({id:e,data:t}){return(await r.patch(`/sensors/${e}`,t)).data}async function d({id:e}){await r.delete(`/sensors/${e}`)}async function f({id:e,signal:t}){return(await r.get(`/sensors/${e}/history`,{signal:t})).data.history}var p=class{_queryClient=s();t=e.global.t;toast=t();queryActivator=a([{name:`getSensorsQuery`,enabled:!0},{name:`getCameraSensorsQuery`,enabled:!0}]);getSensorsQuery(){return n({queryKey:[`sensorsList`],queryFn:({signal:e})=>c({signal:e}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getSensorsQuery`&&e.enabled)})}getCameraSensorsQuery(e){return n({queryKey:[`sensorsList`,e],queryFn:({signal:t})=>c({signal:t,cameraId:o(e)}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getCameraSensorsQuery`&&e.enabled)})}createVirtualSensorQuery(){return i({mutationFn:l,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]}),this.toast.add({severity:`success`,detail:this.t(`components.camera_options.virtual_sensor_created`),life:3e3})}})}patchSensorQuery(){return i({mutationFn:u,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]})}})}deleteSensorQuery(){return i({mutationFn:d,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`sensorsList`]})}})}};export{f as n,p as t};
@@ -1 +1 @@
1
- import{Qn as e,Yn as t,Zn as n,ir as r}from"./api-Cc-rMHwl.js";import{U as i,cr as a,gr as o,q as s}from"./vendor-CSg6_Jfu.js";async function c(){return(await r.get(`/server`)).data}async function l(e){return(await r.patch(`/server`,e)).data}async function u({serverData:e}){return(await r.post(`/server/update`,e,{timeout:36e4})).data}async function d({signal:e}){return(await r.get(`/server/version`,{signal:e})).data}async function f({version:e,signal:t}){return(await r.get(`/server/changelog`,{params:{version:e},signal:t})).data}async function p(e){let t=e&&e!==`all`?{source:e}:void 0;return(await r.delete(`/server/log`,{params:t})).data}async function m({signal:e,source:t}){let n=t&&t!==`all`?{source:t}:void 0;return(await r.get(`/server/log/download`,{signal:e,params:n})).data}async function h(){return(await r.post(`/server/cert`,{responseType:`arraybuffer`})).data}async function g({signal:e}){return(await r.get(`/server/go2rtc`,{signal:e})).data}async function _(){return(await r.put(`/server/restart`)).data}async function v(){return(await r.put(`/server/restart/go2rtc`)).data}async function y(){return(await r.put(`/server/reset`)).data}var b=class{_queryClient=s();t=e.global.t;toast=n();queryActivator=a([{name:`downloadLogQuery`,enabled:!0},{name:`getGo2RtcInfoQuery`,enabled:!0},{name:`checkVersionQuery`,enabled:!0},{name:`getServerChangelogQuery`,enabled:!0},{name:`getServerInfoQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getServerInfoQuery(){return t({queryKey:[`server`],queryFn:c})}patchSystemInfoQuery(){return i({mutationFn:l,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`server`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.server_updated`),life:3e3})}})}updateServerQuery(){return i({mutationFn:u,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_updated`),life:3e3})}})}downloadLogQuery(e){return t({queryKey:[`logs`,`server`,e??`all`],queryFn:({signal:t})=>m({signal:t,source:o(e)}),enabled:()=>this.queryActivator.value.some(e=>e.name===`downloadLogQuery`&&e.enabled)})}downloadCertQuery(){return i({mutationFn:h})}clearLogQuery(){return i({mutationFn:e=>p(e),onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`logs`,`server`],exact:!1}),this.toast.add({severity:`success`,detail:this.t(`components.toast.log_cleared`),life:3e3})}})}checkVersionQuery(){return t({queryKey:[`version`],queryFn:({signal:e})=>d({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`checkVersionQuery`&&e.enabled)})}getServerChangelogQuery(e){return t({queryKey:[`version`,`changelog`,e],queryFn:({signal:t})=>f({version:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getServerChangelogQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getGo2RtcInfoQuery(){return t({queryKey:[`go2rtc`],queryFn:({signal:e})=>g({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getGo2RtcInfoQuery`&&e.enabled)})}restartGo2RtcQuery(){return i({mutationFn:v,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.go2rtc_restarted`),life:3e3})}})}restartServerQuery(){return i({mutationFn:_,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_restarted`),life:3e3})},onError:e=>{let t=e?.response?.status;if(t===void 0||t>=500){this.toast.add({severity:`success`,detail:this.t(`components.toast.server_restarted`),life:3e3});return}this.toast.add({severity:`error`,detail:e,life:3e3})}})}resetServerQuery(){return i({mutationFn:y,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_resetted`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{_ as a,m as i,p as n,h as r,b as t};
1
+ import{$n as e,Qn as t,Xn as n,sr as r}from"./api-B3KZZ8rN.js";import{U as i,cr as a,gr as o,q as s}from"./vendor-CSg6_Jfu.js";async function c(){return(await r.get(`/server`)).data}async function l(e){return(await r.patch(`/server`,e)).data}async function u({serverData:e}){return(await r.post(`/server/update`,e,{timeout:36e4})).data}async function d({signal:e}){return(await r.get(`/server/version`,{signal:e})).data}async function f({version:e,signal:t}){return(await r.get(`/server/changelog`,{params:{version:e},signal:t})).data}async function p(e){let t=e&&e!==`all`?{source:e}:void 0;return(await r.delete(`/server/log`,{params:t})).data}async function m({signal:e,source:t}){let n=t&&t!==`all`?{source:t}:void 0;return(await r.get(`/server/log/download`,{signal:e,params:n})).data}async function h(){return(await r.post(`/server/cert`,{responseType:`arraybuffer`})).data}async function g({signal:e}){return(await r.get(`/server/go2rtc`,{signal:e})).data}async function _(){return(await r.put(`/server/restart`)).data}async function v(){return(await r.put(`/server/restart/go2rtc`)).data}async function y(){return(await r.put(`/server/reset`)).data}var b=class{_queryClient=s();t=e.global.t;toast=t();queryActivator=a([{name:`downloadLogQuery`,enabled:!0},{name:`getGo2RtcInfoQuery`,enabled:!0},{name:`checkVersionQuery`,enabled:!0},{name:`getServerChangelogQuery`,enabled:!0},{name:`getServerInfoQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getServerInfoQuery(){return n({queryKey:[`server`],queryFn:c})}patchSystemInfoQuery(){return i({mutationFn:l,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`server`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.server_updated`),life:3e3})}})}updateServerQuery(){return i({mutationFn:u,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_updated`),life:3e3})}})}downloadLogQuery(e){return n({queryKey:[`logs`,`server`,e??`all`],queryFn:({signal:t})=>m({signal:t,source:o(e)}),enabled:()=>this.queryActivator.value.some(e=>e.name===`downloadLogQuery`&&e.enabled)})}downloadCertQuery(){return i({mutationFn:h})}clearLogQuery(){return i({mutationFn:e=>p(e),onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`logs`,`server`],exact:!1}),this.toast.add({severity:`success`,detail:this.t(`components.toast.log_cleared`),life:3e3})}})}checkVersionQuery(){return n({queryKey:[`version`],queryFn:({signal:e})=>d({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`checkVersionQuery`&&e.enabled)})}getServerChangelogQuery(e){return n({queryKey:[`version`,`changelog`,e],queryFn:({signal:t})=>f({version:o(e),signal:t}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getServerChangelogQuery`&&e.enabled),retry:(e,t)=>t instanceof Error&&t.message.includes(`404`)?!1:e<3})}getGo2RtcInfoQuery(){return n({queryKey:[`go2rtc`],queryFn:({signal:e})=>g({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getGo2RtcInfoQuery`&&e.enabled)})}restartGo2RtcQuery(){return i({mutationFn:v,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.go2rtc_restarted`),life:3e3})}})}restartServerQuery(){return i({mutationFn:_,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_restarted`),life:3e3})},onError:e=>{let t=e?.response?.status;if(t===void 0||t>=500){this.toast.add({severity:`success`,detail:this.t(`components.toast.server_restarted`),life:3e3});return}this.toast.add({severity:`error`,detail:e,life:3e3})}})}resetServerQuery(){return i({mutationFn:y,onSuccess:async()=>{this.toast.add({severity:`success`,detail:this.t(`components.toast.server_resetted`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{_ as a,m as i,p as n,h as r,b as t};
@@ -1 +1 @@
1
- import{Xr as e,hi as t}from"./vendor-cameraui-Cgb5z6NJ.js";import"./api-Cc-rMHwl.js";import{Tn as n,cr as r,or as i,qn as a}from"./vendor-CSg6_Jfu.js";import{f as o}from"./vendor-core-BJsSXMFQ.js";async function s(e){}function c(){if(typeof window>`u`)return null;let e=new URLSearchParams(window.location.search).get(`cui_theme`);return e===`dark`||e===`light`?e:null}var l=o(`theme`,()=>{let o=localStorage.getItem(`theme`),l=o?JSON.parse(o):{theme:`dark`,autoMode:!0},u=c();u&&(l.theme=u,l.autoMode=!1);let d=t(l.theme,{onBeforeChange(){if(!p.value)return!1},onChanged(e){l.theme=e,localStorage.setItem(`theme`,JSON.stringify(l))}}),f=t(l.autoMode,{onBeforeChange(e){if(e&&!p.value)return!1},onChanged(e){l.autoMode=e,localStorage.setItem(`theme`,JSON.stringify(l))}}),p=r(!0),m=i([`light`,`dark`]);function h(){return window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}function g(){return f.value?h():d.value}function _(e){switch(document.documentElement.setAttribute(`data-mode`,e),e){case`light`:document.documentElement.classList.remove(`dark-mode`),document.documentElement.classList.add(`light-mode`);break;case`dark`:document.documentElement.classList.remove(`light-mode`),document.documentElement.classList.add(`dark-mode`)}s(e)}function v(e){f.value=!1,d.value=e}function y(){f.value?(f.value=!1,d.value=`light`):d.value===`light`?d.value=`dark`:f.value=!0}let b=e(`(prefers-color-scheme: dark)`);return a(f,e=>{e&&(d.value=h())},{immediate:!0,deep:!0}),a(d,e=>{n(()=>{_(e),p.value=!0}),p.value=!1}),a(b,e=>{f.value&&(d.value=e?`dark`:`light`)}),_(g()),{colors:m,theme:d,autoMode:f,setAppTheme:_,getSystemMode:h,toggleTheme:y,applyHostTheme:v}});export{l as t};
1
+ import{$r as e,vi as t}from"./vendor-cameraui-D2u3KrB1.js";import"./api-B3KZZ8rN.js";import{Tn as n,cr as r,or as i,qn as a}from"./vendor-CSg6_Jfu.js";import{f as o}from"./vendor-core-BXi0Qi10.js";async function s(e){}function c(){if(typeof window>`u`)return null;let e=new URLSearchParams(window.location.search).get(`cui_theme`);return e===`dark`||e===`light`?e:null}var l=o(`theme`,()=>{let o=localStorage.getItem(`theme`),l=o?JSON.parse(o):{theme:`dark`,autoMode:!0},u=c();u&&(l.theme=u,l.autoMode=!1);let d=t(l.theme,{onBeforeChange(){if(!p.value)return!1},onChanged(e){l.theme=e,localStorage.setItem(`theme`,JSON.stringify(l))}}),f=t(l.autoMode,{onBeforeChange(e){if(e&&!p.value)return!1},onChanged(e){l.autoMode=e,localStorage.setItem(`theme`,JSON.stringify(l))}}),p=r(!0),m=i([`light`,`dark`]);function h(){return window.matchMedia(`(prefers-color-scheme: dark)`).matches?`dark`:`light`}function g(){return f.value?h():d.value}function _(e){switch(document.documentElement.setAttribute(`data-mode`,e),e){case`light`:document.documentElement.classList.remove(`dark-mode`),document.documentElement.classList.add(`light-mode`);break;case`dark`:document.documentElement.classList.remove(`light-mode`),document.documentElement.classList.add(`dark-mode`)}s(e)}function v(e){f.value=!1,d.value=e}function y(){f.value?(f.value=!1,d.value=`light`):d.value===`light`?d.value=`dark`:f.value=!0}let b=e(`(prefers-color-scheme: dark)`);return a(f,e=>{e&&(d.value=h())},{immediate:!0,deep:!0}),a(d,e=>{n(()=>{_(e),p.value=!0}),p.value=!1}),a(b,e=>{f.value&&(d.value=e?`dark`:`light`)}),_(g()),{colors:m,theme:d,autoMode:f,setAppTheme:_,getSystemMode:h,toggleTheme:y,applyHostTheme:v}});export{l as t};
@@ -0,0 +1 @@
1
+ import{Fr as e,Ir as t,Nr as n,Pr as r}from"./vendor-cameraui-D2u3KrB1.js";import{C as i,S as a,_ as o,a as s,b as c,c as l,d as u,f as ee,g as d,h as f,i as p,l as m,m as te,o as ne,p as re,s as h,u as g,v as ie,w as _,x as ae,y as v}from"./vendor-zod-Dbq0fBXY.js";o({tempToken:c().trim().min(1,`Temporary token is required`),code:c().trim().min(1,`Code is required`)}).strict(),o({code:c().trim().length(6,`Code must be 6 digits`)}).strict(),o({code:c().trim().min(1,`Code is required`)}).strict(),o({code:c().trim().min(1,`Code is required`)}).strict(),o({grant_type:c().optional(),username:c().trim().min(1,`Username is required`),password:c().min(1,`Password is required`),scope:c().optional(),client_id:c().optional(),client_secret:c().optional()}),o({refresh_token:c().min(1,`Refresh token is required`)}),o({id:c()}),o({name:c().trim().min(1,`Name is required`).max(64,`Name is too long`)}).strict(),o({id:c()});function oe(e){let t=[`kasa://`,`nest:`,`ring:`,`tapo://`];return e.some(e=>t.some(t=>e.startsWith(t)))}var se=[`#df2a4c`,`#2a7fdf`,`#2adf7f`,`#df7f2a`,`#7f2adf`,`#2adfdf`,`#df2adf`,`#7fdf2a`];function ce(){return se[Math.floor(Math.random()*se.length)]}function le(){return{name:`Default Zone`,points:[[0,0],[100,0],[100,100],[0,100]],type:`contain`,filter:`include`,labels:[`motion`,`person`,`vehicle`,`animal`],isPrivacyMask:!1,color:ce()}}var ue=o({enabled:g().default(!0),mode:h([`continuous`,`event`,`adhoc`]).default(`continuous`),preBuffer:d().min(0).max(60).default(10),sources:m(h([`high`,`mid`,`low`])).default([`high`,`mid`,`low`])}).strict(),de={enabled:!0,mode:`continuous`,preBuffer:10,sources:[`high`,`mid`,`low`]},fe=c().trim().min(1,`Detection label is required`),y=ae([d(),d()]),b=o({name:c().trim().min(1,`Zone Name is required`),points:y.array().min(3,`At least 3 points are required`),type:a([f(`intersect`),f(`contain`)]),filter:a([f(`include`),f(`exclude`)]),labels:fe.array(),isPrivacyMask:g(),color:c().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),x=o({name:c().trim().min(1,`Line Name is required`),points:ae([y,y]),direction:a([f(`both`),f(`a-to-b`),f(`b-to-a`)]),labels:fe.array(),color:c().trim().regex(/^#([0-9A-Fa-f]{3}){1,2}$/,`Must be a valid hex color (e.g. #FF0000 or #F00)`).default(`#df2a4c`)}).array(),S=o({motion:o({resolution:a([f(`low`),f(`medium`),f(`high`)]),timeout:d().min(10,`Minimum 10 seconds`)}),object:o({confidence:d().min(.3,`Minimum 0.3`).max(1,`Maximum 1`),suppressStatic:g().default(!0)}),audio:o({minDecibels:d().min(-100,`Minimum -100 dBFS`).max(0,`Maximum 0 dBFS`),timeout:d().min(10,`Minimum 10 seconds`),confidence:d().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.7)}),face:o({confidence:d().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.5)}).default({confidence:.5}),licensePlate:o({confidence:d().min(0,`Minimum 0`).max(1,`Maximum 1`).default(.9),minLength:d().int().min(1,`Minimum 1`).max(10,`Maximum 10`).default(4)}).default({confidence:.9,minLength:4}),sensor:o({timeout:d().min(10,`Minimum 10 seconds`),triggers:m(c().trim().min(1,`Sensor id is required`)).default([])}),cascadeDetection:g().default(!0),cascadeTimeout:d().min(1,`Minimum 1 second`).max(300,`Maximum 300 seconds`).default(10),snooze:g().default(!1)}),pe={enabled:!1,targetLabels:[`person`],minConfidence:.5,triggerDeadZone:.05,trackingSpeed:2,leadMs:1800,panRate:.85,returnToHome:!1,homeWaitMs:1e4},C=o({enabled:g().default(!1),targetLabels:c().trim().min(1,`Target label is required`).array().default([`person`]),minConfidence:d().min(.3,`Minimum 0.3`).max(1,`Maximum 1`).default(.5),triggerDeadZone:d().min(0,`Minimum 0`).max(.3,`Maximum 0.3`).default(.05),trackingSpeed:d().min(1,`Minimum 1`).max(5,`Maximum 5`).default(2),leadMs:d().min(0,`Minimum 0`).max(4e3,`Maximum 4000 ms`).default(1800),panRate:d().min(.1,`Minimum 0.1`).max(3,`Maximum 3`).default(.85),returnToHome:g().default(!1),homeWaitMs:d().min(1e3,`Minimum 1000 ms`).max(6e4,`Maximum 60000 ms`).default(1e4)}),w=a([f(`high-resolution`),f(`mid-resolution`),f(`low-resolution`),f(`snapshot`)]),me=a([f(`high-resolution`),f(`mid-resolution`),f(`low-resolution`)]),he=a([f(`bubble://`),f(`cui://`),f(`doorbird://`),f(`dvrip://`),f(`eseecloud://`),f(`ffmpeg:`),f(`flussonic://`),f(`gopro://`),f(`hass:`),f(`homekit://`),f(`http://`),f(`https://`),f(`httpx://`),f(`isapi://`),f(`ivideon:`),f(`kasa://`),f(`nest:`),f(`onvif://`),f(`ring:`),f(`roborock://`),f(`rtmp://`),f(`rtsp://`),f(`rtspx://`),f(`tapo://`),f(`tcp://`),f(`tuya://`),f(`xiaomi://`),f(`yandex:`),f(`webrtc:`),f(`webtorrent:`),f(`wyze://`)]).options.map(e=>e.value),ge=RegExp(`^(${he.join(`|`)})`),_e=c().refine(e=>{if(!ge.test(e))return!1;try{return new URL(e),!0}catch{return!1}},{message:`Invalid URL format or unsupported protocol`}),ve=o({_id:c().default(r()).transform(()=>r()),name:c().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:w,useForSnapshot:g().default(!1),hotMode:g().default(!0),preload:g().default(!0),muted:g().default(!1),urls:_e.array().min(1,`At least one valid URL is required`),childSourceId:c().trim().min(1,`Child Source ID is required`).optional()}).strict().transform(e=>e.role===`snapshot`?{...e,useForSnapshot:!1,hotMode:!1,preload:!1}:e),ye=o({_id:c().default(r()).transform(()=>r()),name:c().trim().min(1,`Camera Source Name is required`).transform(e=>e.replace(/ /g,`_`).toLowerCase()),role:w,useForSnapshot:g().default(!1),hotMode:g().default(!0),preload:g().default(!0),muted:g().default(!1),urls:_e.array().min(1,`At least one valid URL is required`),childSourceId:c().trim().min(1,`Child Source ID is required`).optional()}).strict().transform(e=>e.role===`snapshot`?{...e,useForSnapshot:!1,hotMode:!1,preload:!1}:e),T=o({id:c(),name:c().trim()}),be=o({motion:T.optional(),object:T.optional(),objectAssist:T.optional(),audio:T.optional(),face:T.optional(),licensePlate:T.optional(),ptz:T.optional(),battery:T.optional(),cameraController:T.optional(),clip:T.optional(),classifier:T.array().optional(),light:T.array().optional(),siren:T.array().optional(),switch:T.array().optional(),securitySystem:T.array().optional(),contact:T.array().optional(),doorbell:T.array().optional(),lock:T.array().optional(),temperature:T.array().optional(),humidity:T.array().optional(),occupancy:T.array().optional(),smoke:T.array().optional(),leak:T.array().optional(),garage:T.array().optional(),hub:T.array().optional()}).strict(),xe=a([f(`auto`),f(`mse`),f(`webrtc`),f(`webrtc/tcp`)]),Se=c().regex(/^\d+(?:\.\d+)?:\d+(?:\.\d+)?$/,`Use a width:height ratio, e.g. 16:9`).refine(e=>{let[t,n]=e.split(`:`).map(Number);return Number.isFinite(t)&&Number.isFinite(n)&&t>0&&n>0},`Both sides must be greater than 0`).transform(e=>e),Ce=o({hardware:h([`auto`,`cpu`,`cuda`,`vaapi`,`qsv`,`videotoolbox`,`d3d11va`,`d3d12va`,`dxva2`,`vulkan`,`opencl`,`drm`,`rkmpp`]).default(`auto`),device:c().trim().max(128).optional()}).strict(),E=o({fps:d().min(0,`Minimum 0 fps`).max(30,`Maximum 30 fps`),hqSnapshots:g().default(!1),decoder:Ce.optional(),workerDecoder:Ce.nullable().transform(e=>e??void 0).optional()}),D=a([f(`camera`),f(`doorbell`)]),O=o({streamingMode:xe,streamingSource:me,aspectRatio:Se}),k=o({model:c().trim().optional(),manufacturer:c().trim().optional(),hardware:c().trim().optional(),serialNumber:c().trim().optional(),firmwareVersion:c().trim().optional(),supportUrl:c().trim().optional()}),we=o({id:c(),name:c().trim()}).strict(),A=o({autoRefresh:g().default(!0),ttl:d().min(10,`Minimum 10 seconds`).max(60,`Maximum 60 seconds`).default(50),interval:d().min(10,`Minimum 10 seconds`).max(60,`Maximum 60 seconds`).default(60)}).strict(),j=o({_id:c().default(r()).transform(()=>r()),nativeId:c().trim().optional(),pluginInfo:we.optional(),disabled:g().default(!1),name:c().trim().min(1,`Camera name is required`),room:c().trim().min(1,`Room is required`).default(`Default`),type:D.default(`camera`),isCloud:g().default(!1),snapshotSettings:A.default({autoRefresh:!0,ttl:50,interval:60}),info:k.default({model:`IP Camera`,manufacturer:`camera.ui`,hardware:`Camera`,serialNumber:`Unknown`,firmwareVersion:`Unknown`,supportUrl:`Unknown`}),sources:ve.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=>{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`]}),plugins:T.array().default([]),assignments:be.default({}),interfaceSettings:O.default({streamingMode:`webrtc`,streamingSource:`high-resolution`,aspectRatio:`16:9`}),detectionZones:b.default([]),detectionLines:x.default([]),detectionSettings:S.default({motion:{resolution:`low`,timeout:30},object:{confidence:.5,suppressStatic:!0},audio:{minDecibels:-40,timeout:30,confidence:.7},face:{confidence:.5},licensePlate:{confidence:.9,minLength:4},sensor:{timeout:30,triggers:[]},cascadeDetection:!0,cascadeTimeout:10,snooze:!1}),ptzAutotrack:C.default(pe),recordingSettings:ue.default(de),frameWorkerSettings:E.default({fps:10,hqSnapshots:!1})}).strict();j.transform(e=>{let t=e.sources.flatMap(e=>e.urls),n=e.detectionZones.length===0?[le()]:e.detectionZones;return e.isCloud||oe(t)?{...e,isCloud:!0,detectionZones:n}:{...e,detectionZones:n}});var Te=o({disabled:g().optional(),type:D.optional(),name:c().trim().min(1,`Camera name is required`).optional(),room:c().trim().min(1,`Room is required`).optional(),isCloud:g().optional(),snapshotSettings:A.partial().optional(),info:k.partial().optional(),sources:ye.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=>{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`]}).optional(),plugins:T.array().optional(),assignments:be.partial().optional(),interfaceSettings:O.partial().optional(),detectionZones:b.optional(),detectionLines:x.optional(),detectionSettings:S.partial().optional(),ptzAutotrack:C.partial().optional(),recordingSettings:ue.partial().optional(),frameWorkerSettings:E.partial().optional()}).strict().transform(e=>{if(e.sources){let t=e.sources.flatMap(e=>e.urls);if(e.isCloud===!0||oe(t))return{...e,isCloud:!0}}return e});o({url:c().trim().refine(e=>!/^\s*(exec|echo|expr):/i.test(e),`Command-execution stream sources are not allowed`)}).strict(),o({cameraname:c()}),o({cameraname:c(),sourcename:c()}),o({cameraid:c(),sourcename:c()}),o({cameraname:c(),pluginname:c()}),o({cameraname:c(),scope:c(),pluginname:c()}),o({cameraname:c(),pluginname:c(),sensorId:c()}),o({cameraname:c(),scope:c(),pluginname:c(),sensorId:c()}),o({type:c().optional()}),o({video:p().optional(),audio:p().optional(),microphone:p().optional(),refresh:p().optional()}),o({forceNew:p().optional()}),o({name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`),url:_(`Must be a valid URL`).trim(),credentials:o({username:c().trim().min(1,`Username is required`),password:c().min(1,`Password is required`)})}),o({name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional(),url:_(`Must be a valid URL`).trim().optional(),credentials:o({username:c().trim().min(1,`Username is required`),password:c().min(1,`Password is required`)}).nullable().optional()}),o({id:c().min(1,`ID is required`)}),o({code:c().trim().min(1,`Code is required`).optional()}).optional();var M=/^[\w-]+(\/[\w-]+)*$/,Ee=o({enabled:g().optional(),mode:h([`external`,`embedded`]).optional(),broker:o({port:d().int().min(1).max(65535).optional(),username:c().trim().max(200,`Username cannot be more than 200 characters`).nullable().optional(),password:c().max(500,`Password cannot be more than 500 characters`).nullable().optional()}).strict().optional(),host:c().trim().min(1,`Host is required`).max(253,`Host cannot be more than 253 characters`).nullable().optional(),port:d().int().min(1).max(65535).optional(),protocol:h([`mqtt`,`mqtts`]).optional(),username:c().trim().max(200,`Username cannot be more than 200 characters`).nullable().optional(),password:c().max(500,`Password cannot be more than 500 characters`).nullable().optional(),clientId:c().trim().min(1,`Client ID is required`).max(128,`Client ID cannot be more than 128 characters`).optional(),topicPrefix:c().trim().min(1,`Topic prefix is required`).max(128,`Topic prefix cannot be more than 128 characters`).regex(M,`Topic prefix may only contain letters, numbers, "_", "-" and "/" separators`).optional(),tls:o({rejectUnauthorized:g().optional(),ca:c().trim().nullable().optional(),cert:c().trim().nullable().optional(),key:c().trim().nullable().optional()}).strict().optional(),haDiscovery:o({enabled:g().optional(),prefix:c().trim().min(1,`Discovery prefix is required`).max(128,`Discovery prefix cannot be more than 128 characters`).regex(M,`Discovery prefix may only contain letters, numbers, "_", "-" and "/" separators`).optional()}).strict().optional()}).strict(),De=/^((@[\w-.]*)\/)?(camera-ui-[\w-]*)$/,Oe=function(e){return e.READY=`ready`,e.STARTING=`starting`,e.STARTED=`started`,e.STOPPING=`stopping`,e.STOPPED=`stopped`,e.ERROR=`error`,e.UNKNOWN=`unknown`,e.DISABLED=`disabled`,e.INCOMPATIBLE=`incompatible`,e.UPDATE_REQUIRED=`update_required`,e.SERVER_UPDATE_REQUIRED=`server_update_required`,e}({});function N(e){return e.mimetype!==void 0}function ke(e){return N(e)?Buffer.byteLength(e._buf):e.size}function Ae(e){return N(e)?e.mimetype:e.type}function P(e,t,n,r){return u().refine(t=>ke(t)<=e,n).refine(e=>t.includes(Ae(e)),r)}var je=o({start:s().optional(),page:s().optional(),pageSize:s().optional()}),F=[`image/jpeg`,`image/png`],Me=2097152,I=[`video/mp4`,`video/quicktime`],L=10485760,R=[`audio/mpeg`,`audio/wav`,`audio/ogg`],z=2097152,B=()=>P(Me,F,`Max file size is 2 MB`,`.jpeg and .png files are accepted`),V=u().transform(e=>JSON.parse(e.value)),H=u().transform(e=>JSON.parse(e.value)),Ne=u().transform(e=>JSON.parse(e.value));o({pluginname:c().trim().refine(e=>De.test(e),`Not a valid plugin name`),pluginversion:c().trim().refine(e=>/^[a-z][\w-]*$/i.test(e)||/^v?\d+\.\d+\.\d+(?:[-+][\w.-]+)?$/i.test(e),`Not a valid plugin version (expected a dist-tag or exact semver)`).optional().default(`latest`)}).strict(),o({actionId:c(),payload:l()}).strict(),v(l(),l()),o({upload:B(),metadata:H,config:V}),o({upload:P(z,R,`Max file size is 2 MB`,`.mp3, .wav and .ogg files are accepted`),metadata:Ne,config:V}),o({upload:P(L,I,`Max file size is 5 MB`,`.mp4 files are accepted`),config:V}),o({upload:B(),metadata:H,config:V}),o({upload:B(),metadata:H,config:V}),o({upload:B(),metadata:H,config:V}),o({pluginname:c()}),o({scope:c(),pluginname:c()}),je.extend({pluginname:c().trim().optional(),refresh:p().optional()}),o({removeStorage:p().optional()}),o({pluginversion:c().trim().optional()});var Pe=o({enabled:g().optional(),directEnabled:g().optional(),directMode:h([`cloudflare`,`customDomain`]).optional(),customDomain:o({url:_(`Must be a valid URL`).trim().nullable()}).strict().optional(),cloudflare:o({mode:h([`quick`,`token`,`managed`]).optional(),hostname:c().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).nullable().optional(),token:c().trim().min(1,`Token is required`).nullable().optional()}).strict().optional()}).strict().refine(e=>!(e.directMode===`customDomain`&&!e.customDomain?.url),{message:`Custom domain URL is required when directMode is "customDomain"`,path:[`customDomain`,`url`]}).refine(e=>!(e.cloudflare?.mode&&e.cloudflare.mode!==`quick`&&!e.cloudflare?.hostname),{message:`Hostname is required when cloudflare.mode is "token" or "managed"`,path:[`cloudflare`,`hostname`]});o({mode:h([`cloudflare`,`customDomain`])}).strict(),o({hostname:c().trim().min(1,`Hostname is required`).max(253,`Hostname cannot be more than 253 characters`).regex(/^[a-z0-9.-]+\.[a-z]{2,}$/i,`Invalid hostname`)}).strict(),o({name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),o({name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`).optional()}).strict(),o({name:c().trim().min(1,`Server name is required`).max(100,`Server name cannot be more than 100 characters`)}).strict(),o({version:c().trim().optional().default(`latest`)}).strict();var Fe=o({serverAddresses:a([re().trim(),te().trim()]).array().default([])}).strict();o({version:c().trim()}).strict(),v(c(),l()),o({key:c()}).strict(),o({key:c(),payload:l()}).strict();function Ie(){let t={};for(let n of e)t[n.type]={category:n.category,assignmentKey:n.assignmentKey,multiProvider:n.multiProvider,isDetectionType:n.isDetectionType,cameraBound:n.cameraBound??!1,...n.cascadeTrigger?{cascadeTrigger:n.cascadeTrigger}:{}};return t}var U=Ie();Object.fromEntries(e.filter(e=>e.propertyCapabilities).map(e=>[e.type,e.propertyCapabilities]));function Le(){return Object.entries(U).filter(([,e])=>e.multiProvider).map(([e])=>e)}function Re(){return e.filter(e=>e.shortcutable).map(e=>e.type)}function ze(){return Object.entries(U).filter(([,e])=>e.isDetectionType).map(([e])=>e)}function Be(e){return U[e].assignmentKey}function Ve(){return Object.entries(U).filter(([,e])=>e.category===t.Sensor&&!e.multiProvider).map(([e])=>e)}function He(){return Object.entries(U).filter(([,e])=>!e.multiProvider&&e.category!==t.Sensor).map(([e])=>e)}function Ue(){return Object.entries(U).filter(([,e])=>e.multiProvider).map(([e])=>e)}function We(e){return!U[e].multiProvider}Object.fromEntries(e.map(e=>[e.type,Object.keys(e.properties)]));var W=Object.fromEntries(e.map(e=>[e.type,e.properties]));function Ge(e,t){return W[e]?.[t]}function Ke(e){let t=W[e];return t?Object.entries(t).filter(([,e])=>!e.internal).map(([e])=>e):[]}function qe(e){let t=W[e];return t?Object.entries(t).filter(([,e])=>e.writable).map(([e])=>e):[]}function Je(e,n){let r=U[e];return r?r.category===t.Control||r.category===t.Trigger||n===`cameraui.virtual`&&!r.isDetectionType:!1}new Set(Le()),new Set(ze());var Ye=`cameraui.virtual`,Xe=e.filter(e=>e.virtual).map(e=>e.type);Object.fromEntries(e.filter(e=>e.virtual).map(e=>[e.type,e.virtual?.properties??{}])),Object.fromEntries(e.filter(e=>e.virtual?.capabilities).map(e=>[e.type,e.virtual?.capabilities])),o({id:c().min(1,`Sensor ID is required`)});var Ze=o({cameraId:c().min(1).optional(),type:h(Xe),name:c().trim().min(1,`Name is required`).max(100,`Name cannot be more than 100 characters`)});o({displayName:c().trim().min(1,`Display name is required`).max(100,`Display name cannot be more than 100 characters`).optional(),assignedCameraIds:m(c().min(1)).optional(),exposed:g().optional(),hidden:g().optional()}).refine(e=>e.displayName!==void 0||e.assignedCameraIds!==void 0||e.exposed!==void 0||e.hidden!==void 0,{message:`Nothing to update`}),o({property:c().trim().min(1,`Property is required`),value:i()});var Qe=[`de`,`en`],$e=[`image/jpeg`,`image/jpg`,`image/png`],et=5242880,tt=o({index:d(),cameraId:c(),colSpan:d().optional(),rowSpan:d().optional(),x:d().optional(),y:d().optional()}),nt=a([f(1),f(4),f(6),f(7),f(9),f(10),f(12),f(13),f(15),f(16),f(20),f(26)]),rt=a([f(`dnd`),f(`view`)]),it=o({_id:c().default(r()).transform(()=>r()),name:c().trim().min(1,`Layout name is required`),viewSize:nt,cameras:tt.array(),type:rt});o({name:c().trim().min(1,`Layout name is required`),viewSize:nt,cameras:tt.array()}).partial().optional();var at=o({views:it.array()}),ot=e.filter(e=>e.shortcutable).map(e=>String(e.type)),st=h(ot),ct=o({_id:c().default(r()).transform(()=>r()),type:f(`camera`),cameraId:c(),points:y}),lt=o({_id:c().default(r()).transform(()=>r()),type:f(`sensor`),sensorId:c(),sensorType:st,points:y}),ut=ee(`type`,[ct,lt]),dt=o({type:f(`camera`),cameraId:c(),points:y}).partial(),ft=o({type:f(`sensor`),sensorId:c(),sensorType:st,points:y}).partial();a([dt,ft]).optional();var pt=o({shortcuts:ut.array()}),mt=h([`auto`,...Qe]),ht=o({language:mt.optional(),camview:at,cameras:v(c().trim(),pt)}),G=c().trim().min(10,`Password must be at least 10 characters long`).regex(/[A-Z]/,`Password must contain at least one uppercase letter`).regex(/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/,`Password must contain at least one special character (!@#$%^&*()_+-=[]{};:'"\\|,.<>/?)`).max(32,`Password cannot be more than 32 characters`),gt=o({_id:c().default(r()).transform(()=>r()),username:c().trim().min(1,`Username is required`),password:G,passwordConfirm:c().trim().min(1,`Please confirm your password`),role:a([f(`admin`),f(`user`)]),firstLogin:g().default(!0),preferences:ht.default({language:`auto`,camview:{views:[]},cameras:{}})}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});o({username:c().trim().min(1,`Username is required`),password:c().trim().min(1,`Password is required`),kind:h([`native`,`web`,`tv`]),persistent:g().default(!1),device:o({id:c().min(1,`Device id is required`).max(128,`Device id cannot be more than 128 characters`),name:c().trim().min(1,`Device name is required`).max(100,`Device name cannot be more than 100 characters`)})}).strict();var _t=o({username:c().trim().min(1,`Username is required`).optional(),password:G.optional(),passwordConfirm:c().trim().optional(),role:a([f(`admin`),f(`user`)]).optional(),upload:ie(P(et,$e,`Max file size is 5MB.`,`.jpg, .jpeg, .png files are accepted.`)),firstLogin:g().optional(),preferences:ht.partial().optional()}).strict().refine(e=>e.password===e.passwordConfirm,{path:[`passwordConfirm`],message:`Passwords do not match`});o({username:c()}),o({username:c(),cameraname:c()}),o({username:c(),cameraname:c(),shortcutid:c()}),o({username:c(),viewid:c()}),o({username:c()}),o({cameraId:c().min(1,`Camera ID is required`),agentId:c().min(1,`Agent ID is required`)}),o({cameraId:c().min(1,`Camera ID is required`)}),o({agentId:c().min(1,`Agent ID is required`)}),o({code:c().min(1,`Pairing code is required`),agentId:c().min(1,`Agent ID is required`),name:c().min(1,`Worker name is required`)}),o({pluginName:c().min(1,`Plugin name is required`),agentId:c().min(1,`Agent ID is required`)}),o({pluginName:c().min(1,`Plugin name is required`)}),o({name:c().trim().min(1,`Name is required`).max(64,`Maximum 64 characters`)}),o({enabled:g().optional(),address:c().trim().optional(),port:d().min(1024,`Minimum 1024`).max(65535,`Maximum 65535`).optional()}).strict();function vt(e){return e.type===`string`&&!(`enum`in e)}function yt(e){return e.type===`number`}function bt(e){return e.type===`boolean`}function K(e){return e.type===`string`&&`enum`in e}function xt(e){return e.type===`array`}function q(e){return e.type===`button`}function J(e){return e.type===`submit`}function St(e){return vt(e)&&(!e.format||e.format!==`qrCode`&&e.format!==`image`)}var Y=(e,t)=>{let n=Q(t,e.key),r=e.value;switch(e.operator??`eq`){case`eq`:return n===r;case`neq`:return n==null||n===``?!1:n!==r;case`gt`:return typeof n==`number`&&typeof r==`number`&&n>r;case`lt`:return typeof n==`number`&&typeof r==`number`&&n<r;case`in`:return(Array.isArray(r)?r:[r]).includes(n);case`nin`:return n==null||n===``?!1:!(Array.isArray(r)?r:[r]).includes(n);default:return!0}};function X(e,t){return Array.isArray(e)?e.every(e=>Y(e,t)):Y(e,t)}function Ct(e,t){if(!e||Object.keys(e).length===0)return!0;let r=t.filter(e=>!q(e)&&!J(e));for(let t of r){let r=Q(e,t.key),i=Z(t);if(r!==void 0&&!n(r,i,!0))return!1}return!0}function Z(e){if(`defaultValue`in e&&e.defaultValue!==void 0)return e.defaultValue;switch(e.type){case`string`:return K(e)?e.multiple?[]:e.required?e.enum[0]:``:``;case`number`:return 0;case`boolean`:return!1;case`array`:return[];default:return}}function wt(e){let t={};for(let n of e)q(n)||J(n)||(t[n.key]=Z(n));return t}function Tt(e){return e.split(`.`).reduce((e,t)=>{if(t.includes(`[`)){let[n,r]=t.split(`[`);e.push(n,r.slice(0,-1))}else e.push(t);return e},[])}function Et(e){return!isNaN(Number(e))}function Q(e={},t){if(!t.includes(`.`)&&!t.includes(`[`))return e[t];let n=e;for(let e of Tt(t)){if(n==null)return;n=n[e]}return n}function Dt(e,t,n){if(!t.includes(`.`)&&!t.includes(`[`)){e[t]=n;return}let r=Tt(t),i=r.pop();if(!i)return;let a=e;for(let e=0;e<r.length;e++){let t=r[e];(typeof a[t]!=`object`||a[t]===null)&&(a[t]=Et(r[e+1]??i)?[]:{}),a=a[t]}a[i]=n}function Ot(e,t){let n={};for(let r of e)if(`store`in r&&r.store&&!q(r)&&!J(r)){let e=Q(t,r.key);e!==void 0&&(n[r.key]=e)}return n}function kt(e,t){return t?e.filter(e=>`group`in e&&e.group===t):e}function At(e,t){let n=kt(e,t);return n.length>0&&n.every(e=>`readonly`in e&&e.readonly)}function jt(e,t){let n=kt(e,t);return n.length>0&&n.some(e=>`store`in e&&e.store)}function Mt(e,t){if(!t)return!0;let n={"date-time":e=>/^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})?$/.test(e),date:e=>/^\d{4}-\d{2}-\d{2}$/.test(e),time:e=>/^([01]?[0-9]|2[0-3]):([0-5][0-9])(:([0-5][0-9]))?$/.test(e),email:e=>/^\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,7}\b$/.test(e),uuid:e=>/^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$/.test(e),ipv4:e=>/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(e),ipv6:e=>/^\s*([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4})\s*$/.test(e)};return t in n?n[t](e):!0}function $(e){if(q(e)||J(e))return l();switch(e.type){case`string`:if(K(e))if(e.multiple){let t=m(c().trim().refine(t=>e.enum.includes(t),{error:`Invalid selection`}));return e.required&&(t=t.min(1,{error:`Required`})),e.required?t:t.optional()}else{let t=h(e.enum);return e.required?t:t.optional()}let t=c().trim();return e.required&&(t=t.nonempty(`Required`)),e.minLength!==void 0&&(t=t.min(e.minLength)),e.maxLength!==void 0&&(t=t.max(e.maxLength)),e.format&&(t=t.refine(t=>!t||t.trim()===``||Mt(t,e.format),{message:`Invalid ${e.format} format`})),e.required?t:t.optional();case`number`:let n=d();return e.minimum!==void 0&&(n=n.min(e.minimum)),e.maximum!==void 0&&(n=n.max(e.maximum)),e.required&&(n=n.refine(e=>e!=null,{error:`Required`})),e.required?n:n.optional();case`boolean`:return e.required?g():g().optional();case`array`:let r=e.items?$(e.items):l(),i=m(r);return e.required?i:i.optional();default:return e.required?l():l().optional()}}var Nt=(e,t,n)=>t.filter(e=>`group`in e&&e.group===n).some(t=>{let n=e[t.key];return n!=null&&n!==``});function Pt(e){let t={},n=new Set;e.forEach(e=>{`group`in e&&e.group&&n.add(e.group)}),e.forEach(e=>{if(!q(e)&&!J(e)){let n=`group`in e&&e.group,r=`condition`in e&&e.condition;(n||r)&&e.required?t[e.key]=$({...e,required:!1}):t[e.key]=$(e)}});let r=o(t),i=e.filter(e=>`condition`in e&&e.condition&&`required`in e&&e.required&&!q(e)&&!J(e));return(n.size>0||i.length>0)&&(r=r.superRefine((t,r)=>{for(let i of n)if(Nt(t,e,i)){let n=e.filter(e=>`group`in e&&e.group===i);for(let e of n)if(`required`in e&&e.required){if(`condition`in e&&e.condition&&!X(e.condition,t))continue;let n=t[e.key];(n==null||n===``)&&r.addIssue({code:ne.custom,message:`Required`,path:[e.key]})}}for(let e of i)if(!(`group`in e&&e.group)&&`condition`in e&&e.condition&&X(e.condition,t)){let n=t[e.key];(n==null||n===``)&&r.addIssue({code:ne.custom,message:`Required`,path:[e.key]})}})),r}export{Te as $,Be as A,Pe as B,_t as C,Ye as D,U as E,Re as F,L as G,I as H,qe as I,he as J,Oe as K,We as L,Ve as M,Ke as N,Xe as O,Ge as P,w as Q,Je as R,G as S,Ze as T,F as U,R as V,z as W,x as X,j as Y,b as Z,jt as _,Pt as a,Qe as b,bt as c,K as d,yt as f,At as g,St as h,Ot as i,He as j,Ue as k,q as l,J as m,wt as n,Q as o,vt as p,Ee as q,Z as r,xt as s,X as t,Ct as u,Dt as v,it as w,gt as x,et as y,Fe as z};
@@ -1 +1 @@
1
- import{on as e,vt as t}from"./api-Cc-rMHwl.js";import{Nn as n,an as r,br as i,cn as a,gr as o,hn as s,in as c,ir as l,on as u,sn as d,zn as f}from"./vendor-CSg6_Jfu.js";import{n as p}from"./lightbulb-outline-ccTlGyvW.js";import{t as m}from"./bell-ring-C470qCAb.js";import{n as h,t as g}from"./webhook-B7YgiSrF.js";import{i as _,n as v,r as y}from"./CuiPluginTrustBadge-BC6F9f-3.js";var b={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function x(e,t){return n(),a(`svg`,b,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M15 13h1.5v2.82l2.44 1.41l-.75 1.3L15 16.69zm4-5H5v11h4.67c-.43-.91-.67-1.93-.67-3a7 7 0 0 1 7-7c1.07 0 2.09.24 3 .67zM5 21a2 2 0 0 1-2-2V5c0-1.11.89-2 2-2h1V1h2v2h8V1h2v2h1a2 2 0 0 1 2 2v6.1c1.24 1.26 2 2.99 2 4.9a7 7 0 0 1-7 7c-1.91 0-3.64-.76-4.9-2zm11-9.85A4.85 4.85 0 0 0 11.15 16c0 2.68 2.17 4.85 4.85 4.85A4.85 4.85 0 0 0 20.85 16c0-2.68-2.17-4.85-4.85-4.85`},null,-1)]])}var S=l({name:`mdi-calendar-clock`,render:x}),C={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function w(e,t){return n(),a(`svg`,C,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`m20.84 2.18l-3.93.78l2.74 3.54l1.97-.4zm-6.87 1.36L12 3.93l2.75 3.53l1.96-.39zm-4.9.96l-1.97.41l2.75 3.53l1.96-.39zm-4.91 1l-.98.19a2 2 0 0 0-1.57 2.35L2 10l4.9-.97zM2 10v10a2 2 0 0 0 2 2h16c1.11 0 2-.89 2-2V10z`},null,-1)]])}var T=l({name:`mdi-movie-open`,render:w}),E={notification:{icon:m,labelKey:`components.automation_store.category_notification`},recording:{icon:y,labelKey:`components.automation_store.category_recording`},presence:{icon:h,labelKey:`components.automation_store.category_presence`},detection:{icon:t,labelKey:`components.automation_store.category_detection`},schedule:{icon:S,labelKey:`components.automation_store.category_schedule`},webhook:{icon:g,labelKey:`components.automation_store.category_webhook`},mqtt:{icon:p,labelKey:`components.automation_store.category_mqtt`},scene:{icon:T,labelKey:`components.automation_store.category_scene`},utility:{icon:v,labelKey:`components.automation_store.category_utility`},other:{icon:_,labelKey:`components.automation_store.category_other`}},D=[`notification`,`recording`,`presence`,`detection`,`schedule`,`webhook`,`mqtt`,`scene`,`utility`,`other`];function O(e){return e&&e in E?E[e]:E.other}var k={key:0,class:`cui-category-chip`},A={class:`cui-category-chip-label`},j=e(s({__name:`CuiAutomationCategoryChip`,props:{category:{}},setup(e){let t=e,s=c(()=>O(t.category));return(t,c)=>e.category?(n(),a(`span`,k,[(n(),u(f(o(s).icon),{class:`cui-category-chip-icon`})),r(`span`,A,i(t.$t(o(s).labelKey)),1)])):d(``,!0)}}),[[`__scopeId`,`data-v-ea2e312f`]]),M={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function N(e,t){return n(),a(`svg`,M,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.62L12 2L9.19 8.62L2 9.24l5.45 4.73L5.82 21z`},null,-1)]])}var P=l({name:`mdi-star`,render:N}),F={camera:`components.automation_store.input_camera`,plugin:`components.automation_store.input_plugin`,sensor:`components.automation_store.input_sensor`,"notification-targets":`components.automation_store.input_notification_targets`,"system-target":`components.automation_store.input_system_target`,text:`components.automation_store.input_text`};function I(e,t){return e?.length?e.map(e=>t(F[e.type],{count:e.count??1})):[]}export{D as a,E as i,P as n,j as r,I as t};
1
+ import{sn as e,vt as t}from"./api-B3KZZ8rN.js";import{Nn as n,an as r,br as i,cn as a,gr as o,hn as s,in as c,ir as l,on as u,sn as d,zn as f}from"./vendor-CSg6_Jfu.js";import{n as p}from"./lightbulb-outline-ccTlGyvW.js";import{t as m}from"./bell-ring-C470qCAb.js";import{n as h,t as g}from"./webhook-B7YgiSrF.js";import{i as _,n as v,r as y}from"./CuiPluginTrustBadge-D6p-Cs5H.js";var b={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function x(e,t){return n(),a(`svg`,b,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M15 13h1.5v2.82l2.44 1.41l-.75 1.3L15 16.69zm4-5H5v11h4.67c-.43-.91-.67-1.93-.67-3a7 7 0 0 1 7-7c1.07 0 2.09.24 3 .67zM5 21a2 2 0 0 1-2-2V5c0-1.11.89-2 2-2h1V1h2v2h8V1h2v2h1a2 2 0 0 1 2 2v6.1c1.24 1.26 2 2.99 2 4.9a7 7 0 0 1-7 7c-1.91 0-3.64-.76-4.9-2zm11-9.85A4.85 4.85 0 0 0 11.15 16c0 2.68 2.17 4.85 4.85 4.85A4.85 4.85 0 0 0 20.85 16c0-2.68-2.17-4.85-4.85-4.85`},null,-1)]])}var S=l({name:`mdi-calendar-clock`,render:x}),C={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function w(e,t){return n(),a(`svg`,C,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`m20.84 2.18l-3.93.78l2.74 3.54l1.97-.4zm-6.87 1.36L12 3.93l2.75 3.53l1.96-.39zm-4.9.96l-1.97.41l2.75 3.53l1.96-.39zm-4.91 1l-.98.19a2 2 0 0 0-1.57 2.35L2 10l4.9-.97zM2 10v10a2 2 0 0 0 2 2h16c1.11 0 2-.89 2-2V10z`},null,-1)]])}var T=l({name:`mdi-movie-open`,render:w}),E={notification:{icon:m,labelKey:`components.automation_store.category_notification`},recording:{icon:y,labelKey:`components.automation_store.category_recording`},presence:{icon:h,labelKey:`components.automation_store.category_presence`},detection:{icon:t,labelKey:`components.automation_store.category_detection`},schedule:{icon:S,labelKey:`components.automation_store.category_schedule`},webhook:{icon:g,labelKey:`components.automation_store.category_webhook`},mqtt:{icon:p,labelKey:`components.automation_store.category_mqtt`},scene:{icon:T,labelKey:`components.automation_store.category_scene`},utility:{icon:v,labelKey:`components.automation_store.category_utility`},other:{icon:_,labelKey:`components.automation_store.category_other`}},D=[`notification`,`recording`,`presence`,`detection`,`schedule`,`webhook`,`mqtt`,`scene`,`utility`,`other`];function O(e){return e&&e in E?E[e]:E.other}var k={key:0,class:`cui-category-chip`},A={class:`cui-category-chip-label`},j=e(s({__name:`CuiAutomationCategoryChip`,props:{category:{}},setup(e){let t=e,s=c(()=>O(t.category));return(t,c)=>e.category?(n(),a(`span`,k,[(n(),u(f(o(s).icon),{class:`cui-category-chip-icon`})),r(`span`,A,i(t.$t(o(s).labelKey)),1)])):d(``,!0)}}),[[`__scopeId`,`data-v-ea2e312f`]]),M={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function N(e,t){return n(),a(`svg`,M,[...t[0]||=[r(`path`,{fill:`currentColor`,d:`M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.62L12 2L9.19 8.62L2 9.24l5.45 4.73L5.82 21z`},null,-1)]])}var P=l({name:`mdi-star`,render:N}),F={camera:`components.automation_store.input_camera`,plugin:`components.automation_store.input_plugin`,sensor:`components.automation_store.input_sensor`,"notification-targets":`components.automation_store.input_notification_targets`,"system-target":`components.automation_store.input_system_target`,text:`components.automation_store.input_text`};function I(e,t){return e?.length?e.map(e=>t(F[e.type],{count:e.count??1})):[]}export{D as a,E as i,P as n,j as r,I as t};
@@ -1 +1 @@
1
- import"./api-Cc-rMHwl.js";import{cr as e}from"./vendor-CSg6_Jfu.js";import{t}from"./useElectron-KnqvZz0q.js";function n(){let{electron:n}=t(),r=e(null);return{uiVersion:`2.0.0`,appVersion:r,nativeVersion:e(null),refreshAppVersion:async()=>{if(n)try{let e=await n.invoke(`get-app-version`);r.value=typeof e==`string`?e:null}catch{r.value=null}}}}export{n as t};
1
+ import"./api-B3KZZ8rN.js";import{cr as e}from"./vendor-CSg6_Jfu.js";import{t}from"./useElectron-_5uSFUvf.js";function n(){let{electron:n}=t(),r=e(null);return{uiVersion:`2.0.0`,appVersion:r,nativeVersion:e(null),refreshAppVersion:async()=>{if(n)try{let e=await n.invoke(`get-app-version`);r.value=typeof e==`string`?e:null}catch{r.value=null}}}}export{n as t};
@@ -0,0 +1 @@
1
+ import{Qn as e,g as t,s as n,sr as r}from"./api-B3KZZ8rN.js";import{cr as i}from"./vendor-CSg6_Jfu.js";import{a}from"./server-CKNXGRUG.js";import{n as o}from"./useServerRestart-D8lCTOtI.js";var s=3e5;async function c(e){return(await r.post(`/backup/download`,{localStorage:e},{responseType:`arraybuffer`,timeout:s})).data}async function l(e,t){return(await r.post(`/backup/restore`,e,{timeout:s,onUploadProgress:e=>{e.total&&t?.(Math.round(e.loaded/e.total*100))}})).data}async function u(){return(await r.get(`/backup/scheduler`)).data}async function d(e){return(await r.patch(`/backup/scheduler`,e)).data}async function f(){return(await r.post(`/backup/scheduler/run`)).data}async function p(e){return(await r.get(`/backup/scheduler/backups/${encodeURIComponent(e)}`,{responseType:`arraybuffer`,timeout:s})).data}async function m(e){await r.delete(`/backup/scheduler/backups/${encodeURIComponent(e)}`)}var h=i(!1),g=i(`idle`),_=i(0),v=i(``),y=h;function b(e){e.theme&&localStorage.setItem(`theme`,JSON.stringify(e.theme)),e.language&&localStorage.setItem(`language`,e.language),e.ui&&localStorage.setItem(`ui`,JSON.stringify(e.ui))}function x(){async function r(r){let i=e();h.value=!0,g.value=`uploading`,_.value=0,v.value=``;try{let e=new FormData;e.append(`upload`,r),b(await l(e,e=>{_.value=e,e>=100&&(g.value=`restoring`)}))}catch(e){return h.value=!1,g.value=`idle`,v.value=n(e),i.add({severity:`error`,detail:v.value,life:1e4}),!1}g.value=`restarting`;let{beginServerRestart:s}=o();return s(),await a().catch(()=>{}),await t().logout(),h.value=!1,g.value=`idle`,!0}return{active:h,phase:g,uploadPercent:_,lastError:v,restoreLocalStorage:b,run:r}}export{p as a,f as c,c as i,x as n,u as o,m as r,d as s,y as t};
@@ -1 +1 @@
1
- import{it as e,kr as t}from"./vendor-cameraui-Cgb5z6NJ.js";import{at as n}from"./api-Cc-rMHwl.js";import{in as r}from"./vendor-CSg6_Jfu.js";import{F as i,M as a}from"./types-C1VwkReu.js";function o(){let{data:e}=new n().getCamerasQuery({page:1,pageSize:-1});function t(t){return e.value?.result?.find(e=>e._id===t)?.name}return{cameraName:t}}function s(){let o=new n,{t:s}=t(),{data:c}=o.getCamerasQuery({page:1,pageSize:-1}),l=r(()=>c.value?.result??[]),u=r(()=>l.value.map(e=>({label:e.name,value:e._id})));function d(t){let{sensors:n,isLoading:i}=e(),a=r(()=>n.value.filter(e=>t?.(e)??!0).map(e=>{let t=s(`components.camera_options.sensor_type_${e.type}`),n=e.assignedCameraIds.value.map(e=>l.value.find(t=>t._id===e)?.name).filter(Boolean).join(`, `);return{label:`${e.displayName.value||e.name} (${t}${n?` · ${n}`:``})`,value:e.id,type:e.type}}));function o(e){return e?n.value.find(t=>t.id===e):void 0}return{sensorOptions:a,sensorById:o,isLoading:i}}function f(e,t=`observable`){return(t===`writable`?i(e):a(e)).map(e=>({label:s(`components.automation_nodes.sensor_property_${e}`),value:e}))}return{cameras:l,cameraOptions:u,useSensorOptions:d,getPropertiesForSensor:f}}export{s as n,o as t};
1
+ import{Mr as e,ct as t}from"./vendor-cameraui-D2u3KrB1.js";import{at as n}from"./api-B3KZZ8rN.js";import{in as r}from"./vendor-CSg6_Jfu.js";import{I as i,N as a}from"./types-BDNk1b9h.js";function o(){let{data:e}=new n().getCamerasQuery({page:1,pageSize:-1});function t(t){return e.value?.result?.find(e=>e._id===t)?.name}return{cameraName:t}}function s(){let o=new n,{t:s}=e(),{data:c}=o.getCamerasQuery({page:1,pageSize:-1}),l=r(()=>c.value?.result??[]),u=r(()=>l.value.map(e=>({label:e.name,value:e._id})));function d(e){let{sensors:n,isLoading:i}=t(),a=r(()=>n.value.filter(t=>e?.(t)??!0).map(e=>{let t=s(`components.camera_options.sensor_type_${e.type}`),n=e.assignedCameraIds.value.map(e=>l.value.find(t=>t._id===e)?.name).filter(Boolean).join(`, `);return{label:`${e.displayName.value||e.name} (${t}${n?` · ${n}`:``})`,value:e.id,type:e.type}}));function o(e){return e?n.value.find(t=>t.id===e):void 0}return{sensorOptions:a,sensorById:o,isLoading:i}}function f(e,t=`observable`){return(t===`writable`?i(e):a(e)).map(e=>({label:s(`components.automation_nodes.sensor_property_${e}`),value:e}))}return{cameras:l,cameraOptions:u,useSensorOptions:d,getPropertiesForSensor:f}}export{s as n,o as t};
@@ -1 +1 @@
1
- import{Yi as e}from"./vendor-cameraui-Cgb5z6NJ.js";import{gn as t}from"./vendor-CSg6_Jfu.js";function n(n){if(!n){let e=t()?.type;n=e?.__name??e?.name??`UI`}return new e(n)}var r=n(),i=null;function a(){return i??=(async()=>({plugin:null}))(),i}async function o(){try{let{plugin:e}=await a();if(!e)return;await e.start()}catch(e){r.warn(`IntercomService.start failed`,e)}}async function s(){try{let{plugin:e}=await a();if(!e)return;await e.stop()}catch(e){r.warn(`IntercomService.stop failed`,e)}}async function c(){try{let{plugin:e}=await a();return e?(await e.checkMicrophone()).state:null}catch(e){return r.warn(`IntercomService.checkMicrophone failed`,e),null}}var l=typeof window<`u`?window.electron:void 0,u=l!==void 0;function d(){return{isElectronApp:u,electron:l}}export{n as a,s as i,c as n,o as r,d as t};
1
+ import{Qi as e}from"./vendor-cameraui-D2u3KrB1.js";import{gn as t}from"./vendor-CSg6_Jfu.js";function n(n){if(!n){let e=t()?.type;n=e?.__name??e?.name??`UI`}return new e(n)}var r=n(),i=null;function a(){return i??=(async()=>({plugin:null}))(),i}async function o(){try{let{plugin:e}=await a();if(!e)return;await e.start()}catch(e){r.warn(`IntercomService.start failed`,e)}}async function s(){try{let{plugin:e}=await a();if(!e)return;await e.stop()}catch(e){r.warn(`IntercomService.stop failed`,e)}}async function c(){try{let{plugin:e}=await a();return e?(await e.checkMicrophone()).state:null}catch(e){return r.warn(`IntercomService.checkMicrophone failed`,e),null}}var l=typeof window<`u`?window.electron:void 0,u=l!==void 0;function d(){return{isElectronApp:u,electron:l}}export{n as a,s as i,c as n,o as r,d as t};
@@ -1,5 +1,5 @@
1
- import{Kr as e,Ot as t,Pt as n,Ur as r,kr as i,vi as a,xi as o}from"./vendor-cameraui-Cgb5z6NJ.js";import{Un as s,Zn as c,a as l,i as u,ln as d,on as f}from"./api-Cc-rMHwl.js";import{Gn as p,Mn as m,Nn as h,Xn as g,Zn as _,_r as v,an as y,cn as b,cr as x,dr as ee,gr as S,hn as C,in as te,ir as w,jn as ne,mr as re,on as ie,pn as ae,qn as T}from"./vendor-CSg6_Jfu.js";import{a as oe,i as se,n as ce,r as le,t as ue}from"./vendor-xterm-BafMBqaV.js";var E={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function D(e,t){return h(),b(`svg`,E,[...t[0]||=[y(`path`,{fill:`currentColor`,d:`M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12z`},null,-1)]])}var O=w({name:`mdi-content-copy`,render:D}),k=f(C({__name:`CuiConsole`,props:{options:{default:()=>({fontSize:14})},ignoreBreakpoint:{type:Boolean}},emits:[`resize`],setup(s,{expose:f,emit:y}){let C=s,w=y,{smBreakpoint:E}=d(),{t:D}=i(),k=c(),{options:A,ignoreBreakpoint:de}=re(C),fe={fontSize:14,scrollback:5e3,allowTransparency:!1,smoothScrollDuration:0,disableStdin:!0,allowProposedApi:!0},j=p(`terminalContainerRef`),M=x(0),N=ee(null),P=x(!1),F=x(!1),I=null,L=null,R=null,z=null,B,V=``,H=!1,U=!0,W=r(j),G=te(()=>{if(!N.value)return!0;let e=N.value.buffer.active.length-N.value.rows;return M.value>=e});function K(){N.value&&(M.value=N.value.buffer.active.viewportY)}function pe(){!N.value||!I||(I.fit(),K(),N.value.cols&&w(`resize`,N.value.cols))}function q(){pe(),N.value?.scrollToBottom(),K()}let J=a(K,16),Y=a(q,100),{start:me,stop:he,isPending:ge}=o(()=>{N.value&&V&&(N.value.write(V),V=``,J())},16,{immediate:!1});function _e(e){if(U){if(e=e.replace(/^[\r\n]+/,``),!e)return;U=!1}H&&=(V+=`
1
+ import{Kr as e,Mr as t,Mt as n,Rt as r,Yr as i,wi as a,xi as o}from"./vendor-cameraui-D2u3KrB1.js";import{Qn as s,Wn as c,a as l,i as u,sn as d,un as f}from"./api-B3KZZ8rN.js";import{Gn as p,Mn as m,Nn as h,Xn as g,Zn as _,_r as v,an as y,cn as b,cr as x,dr as ee,gr as S,hn as C,in as te,ir as w,jn as ne,mr as re,on as ie,pn as ae,qn as T}from"./vendor-CSg6_Jfu.js";import{a as oe,i as se,n as ce,r as le,t as ue}from"./vendor-xterm-BafMBqaV.js";var E={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function D(e,t){return h(),b(`svg`,E,[...t[0]||=[y(`path`,{fill:`currentColor`,d:`M19 21H8V7h11m0-2H8a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2m-3-4H4a2 2 0 0 0-2 2v14h2V3h12z`},null,-1)]])}var O=w({name:`mdi-content-copy`,render:D}),k=d(C({__name:`CuiConsole`,props:{options:{default:()=>({fontSize:14})},ignoreBreakpoint:{type:Boolean}},emits:[`resize`],setup(c,{expose:d,emit:y}){let C=c,w=y,{smBreakpoint:E}=f(),{t:D}=t(),k=s(),{options:A,ignoreBreakpoint:de}=re(C),fe={fontSize:14,scrollback:5e3,allowTransparency:!1,smoothScrollDuration:0,disableStdin:!0,allowProposedApi:!0},j=p(`terminalContainerRef`),M=x(0),N=ee(null),P=x(!1),F=x(!1),I=null,L=null,R=null,z=null,B,V=``,H=!1,U=!0,W=e(j),G=te(()=>{if(!N.value)return!0;let e=N.value.buffer.active.length-N.value.rows;return M.value>=e});function K(){N.value&&(M.value=N.value.buffer.active.viewportY)}function pe(){!N.value||!I||(I.fit(),K(),N.value.cols&&w(`resize`,N.value.cols))}function q(){pe(),N.value?.scrollToBottom(),K()}let J=o(K,16),Y=o(q,100),{start:me,stop:he,isPending:ge}=a(()=>{N.value&&V&&(N.value.write(V),V=``,J())},16,{immediate:!1});function _e(e){if(U){if(e=e.replace(/^[\r\n]+/,``),!e)return;U=!1}H&&=(V+=`
2
2
  `,!1),e.endsWith(`
3
3
  `)?(V+=e.slice(0,-1),H=!0):e.endsWith(`\r
4
4
  `)?(V+=e.slice(0,-2),H=!0):V+=e,ge.value||me()}function ve(){requestAnimationFrame(()=>{N.value?.scrollToBottom(),J()})}function ye(){he(),V=``,H=!1,U=!0,N.value?.reset(),J()}function be(){if(!N.value)return``;let e=N.value.buffer.active,t=[];for(let n=0;n<e.length;n++)t.push(e.getLine(n)?.translateToString(!0)??``);return t.join(`
5
- `).replace(/\s+$/,``)}async function X(e){if(!e)return!1;let t=await u(e);return t?k.add({severity:`success`,detail:D(`components.toast.copied`),life:1500}):k.add({severity:`error`,detail:D(`components.toast.copy_failed`),life:3e3}),t}function Z(){let e=N.value?.getSelection()??``;return e?(X(e),!0):!1}function xe(){X(be())}function Se(e){!(e.metaKey||e.ctrlKey)||e.key.toLowerCase()!==`c`||!P.value||!N.value?.hasSelection()||(e.preventDefault(),Z())}function Ce(e){let t=N.value?.getSelection()??``;if(t){if(l(t)){e.preventDefault(),k.add({severity:`success`,detail:D(`components.toast.copied`),life:1500});return}we(t,e)}}function we(e,t){let n=document.createElement(`textarea`);n.value=e,n.setAttribute(`inputmode`,`none`),n.style.position=`fixed`,n.style.left=`${t.clientX}px`,n.style.top=`${t.clientY}px`,n.style.width=`1px`,n.style.height=`1px`,n.style.opacity=`0`,n.style.fontSize=`12pt`,document.body.appendChild(n),n.focus({preventScroll:!0}),n.select(),n.setSelectionRange(0,e.length);let r=()=>{n.remove(),clearTimeout(i)};n.addEventListener(`copy`,()=>{k.add({severity:`success`,detail:D(`components.toast.copied`),life:1500}),setTimeout(r,0)},{once:!0}),setTimeout(()=>document.addEventListener(`mousedown`,r,{once:!0}),0);let i=setTimeout(r,15e3)}function Q(e){let t=N.value?.element;if(!N.value||!t)return;let n=t.getBoundingClientRect(),r=n.height/N.value.rows;if(r<=0)return;let i=Math.max(0,Math.min(Math.floor((e-n.top)/r),N.value.rows-1));return Math.min(N.value.buffer.active.viewportY+i,N.value.buffer.active.length-1)}function Te(){let e=N.value?.element;if(!e)return;let t=0,n=0,r=0,i=0,a=!1,o,s;function c(){B&&clearInterval(B)}function l(){clearTimeout(o),o=void 0}function u(t){if(!N.value||s===void 0)return;let n=e.getBoundingClientRect();t<n.top+28?N.value.scrollLines(-1):t>n.bottom-28&&N.value.scrollLines(1);let r=Q(t);r!==void 0&&(N.value.selectLines(Math.min(s,r),Math.max(s,r)),J())}function d(e){c(),t=e.touches[0].clientY,n=t,r=0,i=Date.now(),a=!1,s=void 0,l();let u=t;o=setTimeout(()=>{let e=Q(u);e===void 0||!N.value||(s=e,N.value.selectLines(e,e))},500)}function f(e){e.preventDefault();let o=e.touches[0].clientY;if(s!==void 0){u(o);return}let c=Date.now(),d=o-n,f=Math.max(c-i,1);if(i=c,n=o,Math.abs(o-t)>10&&l(),r=Math.max(-1.2,Math.min(d/f,1.2)),N.value&&f>0){let e=-Math.round(d/20);N.value.scrollLines(e),a=!0,J()}}function p(){if(l(),s!==void 0){s=void 0;return}if(!a&&N.value?.hasSelection()&&N.value.clearSelection(),a&&Math.abs(r)>.2){let e=r;B=setInterval(()=>{if(!N.value||Math.abs(e)<.05){c();return}let t=-Math.round(e*12);N.value.scrollLines(t),e*=.92,J()},16)}}e.addEventListener(`touchstart`,d,{passive:!0}),e.addEventListener(`touchmove`,f,{passive:!1}),e.addEventListener(`touchend`,p,{passive:!0}),m(()=>{e.removeEventListener(`touchstart`,d),e.removeEventListener(`touchmove`,f),e.removeEventListener(`touchend`,p),l(),c()})}function $(e){if(e)try{e.dispose()}catch{}}return T(A,()=>{N.value&&(N.value.options=A.value,Y())},{deep:!0}),T([W.height,W.width],()=>{Y()}),e(j,`pointerenter`,()=>P.value=!0),e(j,`pointerleave`,()=>P.value=!1),e(j,`contextmenu`,Ce),e(document,`keydown`,Se),ne(()=>{N.value=new ue({...fe,...A.value}),I=new oe,z=new ce,L=new se,R=new le,N.value.loadAddon(L),N.value.loadAddon(R),N.value.loadAddon(z),N.value.loadAddon(I),N.value.open(j.value);let e=j.value.querySelector(`textarea`);e&&(e.disabled=!0,e.tabIndex=-1),N.value.onScroll(()=>{K()}),N.value.onSelectionChange(()=>{F.value=N.value?.hasSelection()??!1}),q(),Te(),z.onContextLoss(()=>{$(z),z=null})}),m(()=>{$(I),$(z),$(L),$(R),$(N.value)}),f({clearTerminal:ye,writeTerminal:_e,resizeHandler:q,scrollToBottom:ve,copySelection:Z,copyAll:xe,atBottom:G}),(e,r)=>{let i=O,a=t,o=n;return h(),b(`div`,{ref_key:`terminalContainerRef`,ref:j,class:v([`relative w-full h-full bg-none z-1 overflow-hidden p-2 min-w-0`,{"pb-0":!S(E)&&!S(de)}])},[_((h(),ie(a,{type:`button`,rounded:``,disabled:!S(F),class:v([`!absolute top-2 right-2 z-10 !w-8 !h-8 !p-0 opacity-30 text-black`,{"opacity-80":S(F)}]),onClick:Z},{default:g(()=>[ae(i,{class:`w-4 h-4`})]),_:1},8,[`disabled`,`class`])),[[o,{value:e.$t(`components.form.button.copy`),disabled:!S(F)},void 0,{left:!0}]])],2)}}}),[[`__scopeId`,`data-v-96b93fb8`]]);function A(e={}){let{target:t,onStdout:n,onDisconnect:r,onClearLog:i,onReconnected:a}=e,o=s(`/logs`),c=null,l=null,u=t,d=!1,f=0;t&&o.on(`stdout/${t}`,e=>n?.(e)),o.on(`clear-log`,e=>i?.(e??`all`)),o.onReady(()=>{d&&a?.(),d=!0,c?.()}),T(o.connected,(e,t)=>{!e&&t&&r?.()});function p(){}function m(){}function h(e){e>0&&(f=e),u&&e>0&&o.emit(`term-size`,{target:u,cols:e})}function g(e){return e.kind===`all`?`stdout`:e.kind===`system`?`stdout/system/${e.id}`:`stdout/${e.id}`}function _(e,t){l?.(),l=o.on(g(e),e=>n?.(e)),u=e.kind===`all`?void 0:e.id,f>0&&h(f),c=()=>{switch(e.kind){case`all`:o.emit(`get-all-logs`);break;case`system`:o.emit(`get-system-log`,e.id,t);break;case`camera`:o.emit(`get-camera-log`,e.id,t);break;case`plugin`:o.emit(`get-plugin-log`,e.id,t)}},c()}function v(){c=()=>o.emit(`get-all-logs`),c()}function y(e,t){c=()=>o.emit(`get-camera-log`,e,t),c()}function b(e,t){c=()=>o.emit(`get-plugin-log`,e,t),c()}return{isConnected:o.connected,connect:p,disconnect:m,reportSize:h,switchSource:_,requestAllLogs:v,requestCameraLog:y,requestPluginLog:b}}export{k as n,O as r,A as t};
5
+ `).replace(/\s+$/,``)}async function X(e){if(!e)return!1;let t=await u(e);return t?k.add({severity:`success`,detail:D(`components.toast.copied`),life:1500}):k.add({severity:`error`,detail:D(`components.toast.copy_failed`),life:3e3}),t}function Z(){let e=N.value?.getSelection()??``;return e?(X(e),!0):!1}function xe(){X(be())}function Se(e){!(e.metaKey||e.ctrlKey)||e.key.toLowerCase()!==`c`||!P.value||!N.value?.hasSelection()||(e.preventDefault(),Z())}function Ce(e){let t=N.value?.getSelection()??``;if(t){if(l(t)){e.preventDefault(),k.add({severity:`success`,detail:D(`components.toast.copied`),life:1500});return}we(t,e)}}function we(e,t){let n=document.createElement(`textarea`);n.value=e,n.setAttribute(`inputmode`,`none`),n.style.position=`fixed`,n.style.left=`${t.clientX}px`,n.style.top=`${t.clientY}px`,n.style.width=`1px`,n.style.height=`1px`,n.style.opacity=`0`,n.style.fontSize=`12pt`,document.body.appendChild(n),n.focus({preventScroll:!0}),n.select(),n.setSelectionRange(0,e.length);let r=()=>{n.remove(),clearTimeout(i)};n.addEventListener(`copy`,()=>{k.add({severity:`success`,detail:D(`components.toast.copied`),life:1500}),setTimeout(r,0)},{once:!0}),setTimeout(()=>document.addEventListener(`mousedown`,r,{once:!0}),0);let i=setTimeout(r,15e3)}function Q(e){let t=N.value?.element;if(!N.value||!t)return;let n=t.getBoundingClientRect(),r=n.height/N.value.rows;if(r<=0)return;let i=Math.max(0,Math.min(Math.floor((e-n.top)/r),N.value.rows-1));return Math.min(N.value.buffer.active.viewportY+i,N.value.buffer.active.length-1)}function Te(){let e=N.value?.element;if(!e)return;let t=0,n=0,r=0,i=0,a=!1,o,s;function c(){B&&clearInterval(B)}function l(){clearTimeout(o),o=void 0}function u(t){if(!N.value||s===void 0)return;let n=e.getBoundingClientRect();t<n.top+28?N.value.scrollLines(-1):t>n.bottom-28&&N.value.scrollLines(1);let r=Q(t);r!==void 0&&(N.value.selectLines(Math.min(s,r),Math.max(s,r)),J())}function d(e){c(),t=e.touches[0].clientY,n=t,r=0,i=Date.now(),a=!1,s=void 0,l();let u=t;o=setTimeout(()=>{let e=Q(u);e===void 0||!N.value||(s=e,N.value.selectLines(e,e))},500)}function f(e){e.preventDefault();let o=e.touches[0].clientY;if(s!==void 0){u(o);return}let c=Date.now(),d=o-n,f=Math.max(c-i,1);if(i=c,n=o,Math.abs(o-t)>10&&l(),r=Math.max(-1.2,Math.min(d/f,1.2)),N.value&&f>0){let e=-Math.round(d/20);N.value.scrollLines(e),a=!0,J()}}function p(){if(l(),s!==void 0){s=void 0;return}if(!a&&N.value?.hasSelection()&&N.value.clearSelection(),a&&Math.abs(r)>.2){let e=r;B=setInterval(()=>{if(!N.value||Math.abs(e)<.05){c();return}let t=-Math.round(e*12);N.value.scrollLines(t),e*=.92,J()},16)}}e.addEventListener(`touchstart`,d,{passive:!0}),e.addEventListener(`touchmove`,f,{passive:!1}),e.addEventListener(`touchend`,p,{passive:!0}),m(()=>{e.removeEventListener(`touchstart`,d),e.removeEventListener(`touchmove`,f),e.removeEventListener(`touchend`,p),l(),c()})}function $(e){if(e)try{e.dispose()}catch{}}return T(A,()=>{N.value&&(N.value.options=A.value,Y())},{deep:!0}),T([W.height,W.width],()=>{Y()}),i(j,`pointerenter`,()=>P.value=!0),i(j,`pointerleave`,()=>P.value=!1),i(j,`contextmenu`,Ce),i(document,`keydown`,Se),ne(()=>{N.value=new ue({...fe,...A.value}),I=new oe,z=new ce,L=new se,R=new le,N.value.loadAddon(L),N.value.loadAddon(R),N.value.loadAddon(z),N.value.loadAddon(I),N.value.open(j.value);let e=j.value.querySelector(`textarea`);e&&(e.disabled=!0,e.tabIndex=-1),N.value.onScroll(()=>{K()}),N.value.onSelectionChange(()=>{F.value=N.value?.hasSelection()??!1}),q(),Te(),z.onContextLoss(()=>{$(z),z=null})}),m(()=>{$(I),$(z),$(L),$(R),$(N.value)}),d({clearTerminal:ye,writeTerminal:_e,resizeHandler:q,scrollToBottom:ve,copySelection:Z,copyAll:xe,atBottom:G}),(e,t)=>{let i=O,a=n,o=r;return h(),b(`div`,{ref_key:`terminalContainerRef`,ref:j,class:v([`relative w-full h-full bg-none z-1 overflow-hidden p-2 min-w-0`,{"pb-0":!S(E)&&!S(de)}])},[_((h(),ie(a,{type:`button`,rounded:``,disabled:!S(F),class:v([`!absolute top-2 right-2 z-10 !w-8 !h-8 !p-0 opacity-30 text-black`,{"opacity-80":S(F)}]),onClick:Z},{default:g(()=>[ae(i,{class:`w-4 h-4`})]),_:1},8,[`disabled`,`class`])),[[o,{value:e.$t(`components.form.button.copy`),disabled:!S(F)},void 0,{left:!0}]])],2)}}}),[[`__scopeId`,`data-v-96b93fb8`]]);function A(e={}){let{target:t,onStdout:n,onDisconnect:r,onClearLog:i,onReconnected:a}=e,o=c(`/logs`),s=null,l=null,u=t,d=!1,f=0;t&&o.on(`stdout/${t}`,e=>n?.(e)),o.on(`clear-log`,e=>i?.(e??`all`)),o.onReady(()=>{d&&a?.(),d=!0,s?.()}),T(o.connected,(e,t)=>{!e&&t&&r?.()});function p(){}function m(){}function h(e){e>0&&(f=e),u&&e>0&&o.emit(`term-size`,{target:u,cols:e})}function g(e){return e.kind===`all`?`stdout`:e.kind===`system`?`stdout/system/${e.id}`:`stdout/${e.id}`}function _(e,t){l?.(),l=o.on(g(e),e=>n?.(e)),u=e.kind===`all`?void 0:e.id,f>0&&h(f),s=()=>{switch(e.kind){case`all`:o.emit(`get-all-logs`);break;case`system`:o.emit(`get-system-log`,e.id,t);break;case`camera`:o.emit(`get-camera-log`,e.id,t);break;case`plugin`:o.emit(`get-plugin-log`,e.id,t)}},s()}function v(){s=()=>o.emit(`get-all-logs`),s()}function y(e,t){s=()=>o.emit(`get-camera-log`,e,t),s()}function b(e,t){s=()=>o.emit(`get-plugin-log`,e,t),s()}return{isConnected:o.connected,connect:p,disconnect:m,reportSize:h,switchSource:_,requestAllLogs:v,requestCameraLog:y,requestPluginLog:b}}export{k as n,O as r,A as t};
@@ -1 +1 @@
1
- import{or as e}from"./vendor-CSg6_Jfu.js";import{t}from"./useElectron-KnqvZz0q.js";var n=e({microphone:`unknown`,location:`unknown`,notifications:`unknown`});function r(){let{isElectronApp:e,electron:r}=t(),a=e;async function o(){await Promise.all([s(),c(),l()])}async function s(){if(e&&r){n.microphone=await r.invoke(`get-mic-access`)??`unknown`;return}n.microphone=await i(`microphone`)}async function c(){n.location=await i(`geolocation`)}async function l(){if(typeof Notification>`u`){n.notifications=`unknown`;return}n.notifications=Notification.permission==="default"?`prompt`:Notification.permission}async function u(t){if(t===`microphone`){if(e&&r)await r.invoke(`ask-mic-access`);else try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch{}await s();return}if(t===`location`){await new Promise(e=>{navigator.geolocation.getCurrentPosition(()=>e(),()=>e(),{timeout:1e4})}),await c();return}typeof Notification<`u`&&await Notification.requestPermission(),await l()}async function d(){e&&r&&await r.invoke(`open-mic-settings`)}return{states:n,canOpenSettings:a,refresh:o,request:u,openSettings:d}}async function i(e){try{let t=await navigator.permissions.query({name:e});return t.state===`granted`?`granted`:t.state===`denied`?`denied`:`prompt`}catch{return`unknown`}}export{r as t};
1
+ import{or as e}from"./vendor-CSg6_Jfu.js";import{t}from"./useElectron-_5uSFUvf.js";var n=e({microphone:`unknown`,location:`unknown`,notifications:`unknown`});function r(){let{isElectronApp:e,electron:r}=t(),a=e;async function o(){await Promise.all([s(),c(),l()])}async function s(){if(e&&r){n.microphone=await r.invoke(`get-mic-access`)??`unknown`;return}n.microphone=await i(`microphone`)}async function c(){n.location=await i(`geolocation`)}async function l(){if(typeof Notification>`u`){n.notifications=`unknown`;return}n.notifications=Notification.permission==="default"?`prompt`:Notification.permission}async function u(t){if(t===`microphone`){if(e&&r)await r.invoke(`ask-mic-access`);else try{(await navigator.mediaDevices.getUserMedia({audio:!0})).getTracks().forEach(e=>e.stop())}catch{}await s();return}if(t===`location`){await new Promise(e=>{navigator.geolocation.getCurrentPosition(()=>e(),()=>e(),{timeout:1e4})}),await c();return}typeof Notification<`u`&&await Notification.requestPermission(),await l()}async function d(){e&&r&&await r.invoke(`open-mic-settings`)}return{states:n,canOpenSettings:a,refresh:o,request:u,openSettings:d}}async function i(e){try{let t=await navigator.permissions.query({name:e});return t.state===`granted`?`granted`:t.state===`denied`?`denied`:`prompt`}catch{return`unknown`}}export{r as t};
@@ -1 +1 @@
1
- import{$n as e}from"./api-Cc-rMHwl.js";import{$n as t,cr as n,qn as r}from"./vendor-CSg6_Jfu.js";var i=n(!1),a=null,o;function s(){a||(a=t(!0),a.run(()=>{let t=e();r(t.bannerMode,e=>{e!==null&&i.value&&(clearTimeout(o),i.value=!1)})}));function n(){i.value=!0,clearTimeout(o),o=setTimeout(()=>{i.value=!1},15e3)}return{restarting:i,beginServerRestart:n}}export{s as n,i as t};
1
+ import{er as e}from"./api-B3KZZ8rN.js";import{$n as t,cr as n,qn as r}from"./vendor-CSg6_Jfu.js";var i=n(!1),a=null,o;function s(){a||(a=t(!0),a.run(()=>{let t=e();r(t.bannerMode,e=>{e!==null&&i.value&&(clearTimeout(o),i.value=!1)})}));function n(){i.value=!0,clearTimeout(o),o=setTimeout(()=>{i.value=!1},15e3)}return{restarting:i,beginServerRestart:n}}export{s as n,i as t};
@@ -1 +1 @@
1
- import{Un as e}from"./api-Cc-rMHwl.js";import{$n as t,in as n,or as r}from"./vendor-CSg6_Jfu.js";var i=1e4,a=r({streamStatus:{}}),o=null,s=null,c;function l(){s?.emit(`get-stream-status`)}function u(){return s||(o=t(!0),o.run(()=>{let t=e(`/camera.ui`);s=t,t.on(`stream-status`,e=>{a.streamStatus=e}),t.onReady(()=>{l()})}),c||=setInterval(l,i),s)}function d(e){let t=Object.values(e);if(t.length===0)return`idle`;let n=t.filter(e=>e===`connected`).length,r=t.filter(e=>e===`error`).length,i=t.filter(e=>e===`connecting`).length;return n===t.length?`connected`:r===t.length?`error`:i>0&&n===0&&r===0?`connecting`:n>0&&(r>0||t.some(e=>e===`idle`))?`partial`:n>0?`connected`:i>0?`connecting`:`idle`}function f(){function e(){u()}function t(){}function r(e){let t=a.streamStatus[e];return t?d(t):`idle`}function i(e){return a.streamStatus[e]}function o(e,t){return a.streamStatus[e]?.[t]??`idle`}return{streamStatus:n(()=>a.streamStatus),getCameraStatus:r,getCameraSources:i,getSourceStatus:o,connect:e,disconnect:t,refresh:l}}export{f as t};
1
+ import{Wn as e}from"./api-B3KZZ8rN.js";import{$n as t,in as n,or as r}from"./vendor-CSg6_Jfu.js";var i=1e4,a=r({streamStatus:{}}),o=null,s=null,c;function l(){s?.emit(`get-stream-status`)}function u(){return s||(o=t(!0),o.run(()=>{let t=e(`/camera.ui`);s=t,t.on(`stream-status`,e=>{a.streamStatus=e}),t.onReady(()=>{l()})}),c||=setInterval(l,i),s)}function d(e){let t=Object.values(e);if(t.length===0)return`idle`;let n=t.filter(e=>e===`connected`).length,r=t.filter(e=>e===`error`).length,i=t.filter(e=>e===`connecting`).length;return n===t.length?`connected`:r===t.length?`error`:i>0&&n===0&&r===0?`connecting`:n>0&&(r>0||t.some(e=>e===`idle`))?`partial`:n>0?`connected`:i>0?`connecting`:`idle`}function f(){function e(){u()}function t(){}function r(e){let t=a.streamStatus[e];return t?d(t):`idle`}function i(e){return a.streamStatus[e]}function o(e,t){return a.streamStatus[e]?.[t]??`idle`}return{streamStatus:n(()=>a.streamStatus),getCameraStatus:r,getCameraSources:i,getSourceStatus:o,connect:e,disconnect:t,refresh:l}}export{f as t};
@@ -1 +1 @@
1
- import{Jn as e}from"./api-Cc-rMHwl.js";import{in as t}from"./vendor-CSg6_Jfu.js";function n(){let{data:n}=new e().getUsersQuery({page:1,pageSize:-1});return{userOptions:t(()=>(n.value?.result??[]).map(e=>({label:e.username,value:e.username})))}}export{n as t};
1
+ import{Yn as e}from"./api-B3KZZ8rN.js";import{in as t}from"./vendor-CSg6_Jfu.js";function n(){let{data:n}=new e().getUsersQuery({page:1,pageSize:-1});return{userOptions:t(()=>(n.value?.result??[]).map(e=>({label:e.username,value:e.username})))}}export{n as t};