@camera.ui/server 2.1.8 → 2.1.10

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 (480) hide show
  1. package/dist/interface/assets/{404-vRjJVgl4.js → 404-BLNSh-sA.js} +1 -1
  2. package/dist/interface/assets/{About-CO9cx5Gp.js → About-ZakRzon7.js} +1 -1
  3. package/dist/interface/assets/Automation-DoVhkuVY.js +3 -0
  4. package/dist/interface/assets/AutomationImport-DVxK1R1y.js +2 -0
  5. package/dist/interface/assets/{AutomationStore-NyXuw3tI.js → AutomationStore-DaNO9_9S.js} +2 -2
  6. package/dist/interface/assets/{AutomationStoreDetail-Dz9Y8j8g.js → AutomationStoreDetail-CTDCEaIz.js} +2 -2
  7. package/dist/interface/assets/Automations-mdnUitWx.js +2 -0
  8. package/dist/interface/assets/Camera-B3cv5IVC.js +2 -0
  9. package/dist/interface/assets/Camera-LSq1bWmA.css +1 -0
  10. package/dist/interface/assets/{CameraConsole-S9Il0g0K.js → CameraConsole-C32X5I91.js} +2 -2
  11. package/dist/interface/assets/{Cameras-lDMBkoUW.js → Cameras-Drv48-Eb.js} +23 -23
  12. package/dist/interface/assets/Camview-Bvy39jSt.js +1 -0
  13. package/dist/interface/assets/{Camview-CS7PIBMz.css → Camview-Lp3QU0de.css} +1 -1
  14. package/dist/interface/assets/{Config-B0cy1RIU.js → Config-B-LDdaS6.js} +1 -1
  15. package/dist/interface/assets/ConfigActionCameraControl-As2qXvnd.js +1 -0
  16. package/dist/interface/assets/{ConfigActionDelay-DrzMP_7q.js → ConfigActionDelay-Cj3yWfEV.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionHttp-BUANm5zh.js → ConfigActionHttp-PlS5vI0v.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionImageInput-CKvnzs_4.js → ConfigActionImageInput-BHflOA-T.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionMqtt-Cz-fMzXH.js → ConfigActionMqtt-DByOwVPe.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionNotification-exxG4m-k.js → ConfigActionNotification-D_8_lp96.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionNotificationControl-BMFbm9lJ.js → ConfigActionNotificationControl-ClFMom6m.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionOutput-js-UUBci.js → ConfigActionOutput-YTAw-Are.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionPlugin-B5hrC_B6.js → ConfigActionPlugin-lF2IH2Bo.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionSensor-BESCtedA.js → ConfigActionSensor-DQZW_Jxr.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSnapshot-Uxz9dCqh.js → ConfigActionSnapshot-CHxIQ5J0.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionVariable-CsiC6bgF.js → ConfigActionVariable-0VLGuhwP.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionIfElse-CiScJB42.js → ConfigConditionIfElse-D-Ibn8QL.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionSensorState-CbDfsuOl.js → ConfigConditionSensorState-BKSGYRdv.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSwitch-B7E5DAoC.js → ConfigConditionSwitch-CzkEyWb1.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionTime-BmeGYmwH.js → ConfigConditionTime-BFKsDI_t.js} +1 -1
  31. package/dist/interface/assets/{ConfigSensorValueInput-CNTToTaw.js → ConfigSensorValueInput-yTiHhlXG.js} +1 -1
  32. package/dist/interface/assets/ConfigTriggerDetection-DFTgRaE0.js +1 -0
  33. package/dist/interface/assets/ConfigTriggerGeofence-B2Cqi5Id.js +1 -0
  34. package/dist/interface/assets/{ConfigTriggerManual-Z1_1wUUM.js → ConfigTriggerManual-BDK6OYxg.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerMqtt-BBvD0ow9.js → ConfigTriggerMqtt-BZO14RrW.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerSchedule-B0rMjsZL.js → ConfigTriggerSchedule-sMkzMLgn.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSensor-B1p15KGD.js → ConfigTriggerSensor-D6W_exDW.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSystem-Du-AkCKy.js → ConfigTriggerSystem-D4cx1GqI.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerWebhook-Debqt-nw.js → ConfigTriggerWebhook-DxZziGkL.js} +1 -1
  40. package/dist/interface/assets/Console-DjA3ZPU_.js +1 -0
  41. package/dist/interface/assets/CuiAutomationRunsDialog-B4ABK72A.js +1 -0
  42. package/dist/interface/assets/CuiBottomSheet-D1zDWsoK.js +1 -0
  43. package/dist/interface/assets/{CuiBottomSheet-DECWGdrp.js → CuiBottomSheet-N9MHq4yZ.js} +1 -1
  44. package/dist/interface/assets/CuiCameraPipCard-CnWs2fAC.js +1 -0
  45. package/dist/interface/assets/CuiCameraRecordings-CahW-f8_.js +1 -0
  46. package/dist/interface/assets/{CuiCameraShares-D32cM63m.js → CuiCameraShares-B2RdPWWh.js} +1 -1
  47. package/dist/interface/assets/CuiCameraTable-4ikGv8QA.js +1 -0
  48. package/dist/interface/assets/{CuiCameraTable-Bk9N-Oc6.js → CuiCameraTable-BKBvhRDc.js} +2 -2
  49. package/dist/interface/assets/CuiChartTable-CqKo74Tf.css +1 -0
  50. package/dist/interface/assets/CuiChartTable-Lvz9Zq0k.js +1 -0
  51. package/dist/interface/assets/CuiConsole-DUswVhFC.js +5 -0
  52. package/dist/interface/assets/CuiDataTable-CIP95jVF.js +1 -0
  53. package/dist/interface/assets/CuiLightControl-CvfWo8mY.js +1 -0
  54. package/dist/interface/assets/{CuiList-w69dERIq.js → CuiList-CajC6jpE.js} +1 -1
  55. package/dist/interface/assets/CuiPluginCard-CQS8C87-.js +2 -0
  56. package/dist/interface/assets/CuiPluginCategoryChip-DCNG8zl1.js +1 -0
  57. package/dist/interface/assets/{CuiPluginOAuthButton-CNxj7cuf.js → CuiPluginOAuthButton-CvZrOWr8.js} +2 -2
  58. package/dist/interface/assets/{CuiPluginTrustBadge-DYsEz6WI.js → CuiPluginTrustBadge-Bc1dQgX8.js} +1 -1
  59. package/dist/interface/assets/CuiQRCode-CjLcB644.js +1 -0
  60. package/dist/interface/assets/CuiRecordingsGrid-DrpErbux.js +1 -0
  61. package/dist/interface/assets/{CuiRecordingsGrid-Q4C3aeLo.css → CuiRecordingsGrid-EAumRo5E.css} +1 -1
  62. package/dist/interface/assets/CuiSchema-BYYeh269.css +1 -0
  63. package/dist/interface/assets/CuiSchema-DG8peseE.js +1 -0
  64. package/dist/interface/assets/{CuiTopNavbarItem-7yu9c68R.js → CuiTopNavbarItem-Dq3Esl1S.js} +1 -1
  65. package/dist/interface/assets/Faces-D0yRgOMj.js +1 -0
  66. package/dist/interface/assets/FirstSteps-BW8AVmd4.js +1 -0
  67. package/dist/interface/assets/{Instances-Bmb-yWM-.js → Instances-BgXJvs0_.js} +1 -1
  68. package/dist/interface/assets/{Logs-DxHqkMpx.js → Logs-DH3rWnlV.js} +2 -2
  69. package/dist/interface/assets/Menu-D9FVgjwT.js +1 -0
  70. package/dist/interface/assets/Metrics-7bYWyGWU.js +9 -0
  71. package/dist/interface/assets/Metrics-DX59XXDc.css +1 -0
  72. package/dist/interface/assets/{OAuthDeviceFlow-CLi6l8jS.js → OAuthDeviceFlow-BS0FQbZh.js} +1 -1
  73. package/dist/interface/assets/Plugin-ZwkTp6C4.js +1 -0
  74. package/dist/interface/assets/{PluginConsole-xOY_kwz_.js → PluginConsole-Dt39TWaO.js} +2 -2
  75. package/dist/interface/assets/PluginDetail-D7ZtOG9Y.js +2 -0
  76. package/dist/interface/assets/{PluginSchema-DG3ou73v.js → PluginSchema-8T7EBq-Z.js} +1 -1
  77. package/dist/interface/assets/PluginSearch-DN3o0wfs.js +1 -0
  78. package/dist/interface/assets/PluginSearch-eRDCvu_8.js +2 -0
  79. package/dist/interface/assets/{PluginUpdateProgress-Bx0MXwAk.js → PluginUpdateProgress-CxjpzkGa.js} +1 -1
  80. package/dist/interface/assets/Plugins-DVsMpyvr.js +1 -0
  81. package/dist/interface/assets/Recordings-BKxSEiQo.js +1 -0
  82. package/dist/interface/assets/Recordings-cR4_6aGN.css +1 -0
  83. package/dist/interface/assets/SensorEdit-BmaMQKEa.js +1 -0
  84. package/dist/interface/assets/{SensorHistory-CTIUwIWN.js → SensorHistory-CmOAk-tD.js} +1 -1
  85. package/dist/interface/assets/Sensors-x08al7Je.js +2 -0
  86. package/dist/interface/assets/Settings-Cp1lzG1i.js +1 -0
  87. package/dist/interface/assets/SettingsAccount-BwCNddkW.js +1 -0
  88. package/dist/interface/assets/SettingsAccount-DC9AxqHe.js +1 -0
  89. package/dist/interface/assets/SettingsAppearance-CMzzDZCX.js +1 -0
  90. package/dist/interface/assets/{SettingsAppearance-CoTdsIwM.js → SettingsAppearance-Dr8hJloI.js} +1 -1
  91. package/dist/interface/assets/SettingsBackup-Dc8pDM3Y.js +1 -0
  92. package/dist/interface/assets/{SettingsList-W5FvbkXm.js → SettingsList-3peF3gFZ.js} +1 -1
  93. package/dist/interface/assets/SettingsMqtt-k-cHaOoA.js +1 -0
  94. package/dist/interface/assets/SettingsNotifications-BJHYlSKX.js +1 -0
  95. package/dist/interface/assets/SettingsPermissions-CymqvfR9.js +1 -0
  96. package/dist/interface/assets/{SettingsRecordings-COUi9BQg.js → SettingsRecordings-gWTD_djR.js} +1 -1
  97. package/dist/interface/assets/SettingsRemote-BWAhI1Gw.js +2 -0
  98. package/dist/interface/assets/SettingsRemote-CtP6Gz9C.css +1 -0
  99. package/dist/interface/assets/SettingsSystem-BGBUQvjg.js +2 -0
  100. package/dist/interface/assets/SettingsUsers-B_Ri5OrM.js +1 -0
  101. package/dist/interface/assets/Terminal-eYxvgFHE.js +4 -0
  102. package/dist/interface/assets/Updates-CweZekTf.js +2 -0
  103. package/dist/interface/assets/{VariableInput-DhAhhfsm.js → VariableInput-CM6T3pUW.js} +1 -1
  104. package/dist/interface/assets/{VariableSuggestions-q0Jd1DVI.js → VariableSuggestions-BGxZxS6U.js} +1 -1
  105. package/dist/interface/assets/{VersionsHandler-XEn3uFy7.js → VersionsHandler-BWIiBPPa.js} +2 -2
  106. package/dist/interface/assets/{VirtualSensorCreate-_E5E0U7E.js → VirtualSensorCreate-CFQC2-9D.js} +1 -1
  107. package/dist/interface/assets/Workers-B-sp43t3.js +2 -0
  108. package/dist/interface/assets/{Workers-7hKMBU4w.css → Workers-DH59zE1C.css} +1 -1
  109. package/dist/interface/assets/{api-C7Yv5Scr.js → api-CG0j1twy.js} +1 -1
  110. package/dist/interface/assets/api-CVOj5SYs.css +2 -0
  111. package/dist/interface/assets/api-C_bOaXk2.js +2 -0
  112. package/dist/interface/assets/{auth-BixzEnBM.js → auth-BPSOBTDX.js} +1 -1
  113. package/dist/interface/assets/{automations-K8XPcP3U.js → automations-BrtwUIUz.js} +1 -1
  114. package/dist/interface/assets/brain-7IVdhMyV.js +1 -0
  115. package/dist/interface/assets/cameras.schema-CoIOnGzE.js +1 -0
  116. package/dist/interface/assets/cloudHandoff-BiFzJEYx.js +1 -0
  117. package/dist/interface/assets/{config-CURuT8_k.js → config-BjldP5A6.js} +1 -1
  118. package/dist/interface/assets/content-copy-CLkJTA4w.js +1 -0
  119. package/dist/interface/assets/eventLabels-BsPoPWS9.js +1 -0
  120. package/dist/interface/assets/{flowSchema-szT9B0sA.js → flowSchema-B_Otn6RU.js} +1 -1
  121. package/dist/interface/assets/{intercomService-BjB4QQiX.js → intercomService-BpTOoSQi.js} +1 -1
  122. package/dist/interface/assets/lan-BP0NuDr7.js +1 -0
  123. package/dist/interface/assets/main-BG-VCb--.js +3 -0
  124. package/dist/interface/assets/main-CFQGq2Yn.css +1 -0
  125. package/dist/interface/assets/{mqtt-uItF3Vd7.js → mqtt-DSPPQwxJ.js} +1 -1
  126. package/dist/interface/assets/{notifications-CuZPzI4-.js → notifications-DEEM2oP2.js} +1 -1
  127. package/dist/interface/assets/{plugins-QEqfAk0G.js → plugins-DBBFdZKH.js} +1 -1
  128. package/dist/interface/assets/refresh-Ds2EayhZ.js +1 -0
  129. package/dist/interface/assets/sensorIcons-CP5EQZ60.js +1 -0
  130. package/dist/interface/assets/{sensors-BxvL01cB.js → sensors-CKTPsYYH.js} +1 -1
  131. package/dist/interface/assets/{server-CDm6FwHH.js → server-B_MuqJ5z.js} +1 -1
  132. package/dist/interface/assets/{theme-CRw47tnu.js → theme-FztlStyg.js} +1 -1
  133. package/dist/interface/assets/types-BHAzjgi3.js +1 -0
  134. package/dist/interface/assets/types-G1_espGV.js +1 -0
  135. package/dist/interface/assets/{types-DtdpTPfZ.js → types-bCt9IrFD.js} +1 -1
  136. package/dist/interface/assets/updates-CVapvGAI.js +1 -0
  137. package/dist/interface/assets/{useAppVersion-BxTTVLKg.js → useAppVersion-SrF7tGCe.js} +1 -1
  138. package/dist/interface/assets/useBackupRestore-Tc23Huvm.js +1 -0
  139. package/dist/interface/assets/{useCameraOptions-DMC2KjMS.js → useCameraOptions-zsIqf0i9.js} +1 -1
  140. package/dist/interface/assets/{useLogsSocket-CmyalQi8.js → useLogsSocket-DSltWBh4.js} +1 -1
  141. package/dist/interface/assets/{useNavLayout-BacPxpZv.js → useNavLayout-BhlxDHV7.js} +1 -1
  142. package/dist/interface/assets/{usePermissions-C2wQBWmH.js → usePermissions-4HqGU99G.js} +1 -1
  143. package/dist/interface/assets/{usePluginUpdates-CyjxFTTi.js → usePluginUpdates-CKH0Hb87.js} +1 -1
  144. package/dist/interface/assets/{usePushRegistration-BPSfvI_w.js → usePushRegistration-DAE3goyn.js} +1 -1
  145. package/dist/interface/assets/{useServerRestart-x8p2rFqn.js → useServerRestart-DoLrF47t.js} +1 -1
  146. package/dist/interface/assets/{useStreamStatus-PMpl519O.js → useStreamStatus-B3QIWjDE.js} +1 -1
  147. package/dist/interface/assets/useTabSwipe-BYFLQ9EY.js +1 -0
  148. package/dist/interface/assets/{useUpdateChannel-ChscS5KW.js → useUpdateChannel-DWEw-ZyB.js} +1 -1
  149. package/dist/interface/assets/useUpdatesSocket-CoxkS7Hr.js +1 -0
  150. package/dist/interface/assets/{useUserOptions-YiEj2ox6.js → useUserOptions-DCDeuz2p.js} +1 -1
  151. package/dist/interface/assets/vendor-cameraui-4iwjOYwz.js +2326 -0
  152. package/dist/interface/assets/vendor-core-gJradu21.js +1 -0
  153. package/dist/interface/assets/{vendor-primevue-BDu2BpXv.js → vendor-primevue-DMAuiM9b.js} +72 -72
  154. package/dist/interface/index.html +32 -27
  155. package/dist/interface/sw.js +1 -1
  156. package/dist/server/package.json +13 -12
  157. package/dist/server/requirements.txt +2 -2
  158. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/client.py +8 -0
  159. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/types.py +20 -0
  160. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/__init__.py +8 -2
  161. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/__init__.py +10 -2
  162. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +9 -0
  163. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/detection.py +24 -10
  164. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/enums.py +6 -7
  165. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/notification.py +28 -0
  166. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/plugin/interfaces.py +24 -0
  167. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/__init__.py +4 -0
  168. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +18 -0
  169. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/detection.py +3 -3
  170. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/object.py +6 -1
  171. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/spec.py +27 -3
  172. package/dist/server/src/api/controllers/auth.controller.js +5 -0
  173. package/dist/server/src/api/controllers/auth.controller.js.map +1 -1
  174. package/dist/server/src/api/controllers/frameWorkers.controller.d.ts +14 -0
  175. package/dist/server/src/api/controllers/frameWorkers.controller.js +96 -0
  176. package/dist/server/src/api/controllers/frameWorkers.controller.js.map +1 -1
  177. package/dist/server/src/api/controllers/remote.controller.d.ts +1 -0
  178. package/dist/server/src/api/controllers/remote.controller.js +16 -12
  179. package/dist/server/src/api/controllers/remote.controller.js.map +1 -1
  180. package/dist/server/src/api/controllers/server.controller.js +6 -2
  181. package/dist/server/src/api/controllers/server.controller.js.map +1 -1
  182. package/dist/server/src/api/controllers/updates.controller.d.ts +8 -0
  183. package/dist/server/src/api/controllers/updates.controller.js +40 -0
  184. package/dist/server/src/api/controllers/updates.controller.js.map +1 -0
  185. package/dist/server/src/api/controllers/workers.controller.js +8 -2
  186. package/dist/server/src/api/controllers/workers.controller.js.map +1 -1
  187. package/dist/server/src/api/database/constants.d.ts +0 -1
  188. package/dist/server/src/api/database/constants.js +0 -1
  189. package/dist/server/src/api/database/constants.js.map +1 -1
  190. package/dist/server/src/api/database/index.d.ts +2 -3
  191. package/dist/server/src/api/database/index.js +3 -6
  192. package/dist/server/src/api/database/index.js.map +1 -1
  193. package/dist/server/src/api/database/migrations/v2-1-10.js +33 -0
  194. package/dist/server/src/api/database/migrations/v2-1-10.js.map +1 -0
  195. package/dist/server/src/api/database/migrations/v2-1-11.js +31 -0
  196. package/dist/server/src/api/database/migrations/v2-1-11.js.map +1 -0
  197. package/dist/server/src/api/database/migrations/v2-1-12.js +25 -0
  198. package/dist/server/src/api/database/migrations/v2-1-12.js.map +1 -0
  199. package/dist/server/src/api/database/migrations/v2-1-13.d.ts +3 -0
  200. package/dist/server/src/api/database/migrations/v2-1-13.js +51 -0
  201. package/dist/server/src/api/database/migrations/v2-1-13.js.map +1 -0
  202. package/dist/server/src/api/database/migrations/v2-1-14.d.ts +3 -0
  203. package/dist/server/src/api/database/migrations/v2-1-14.js +87 -0
  204. package/dist/server/src/api/database/migrations/v2-1-14.js.map +1 -0
  205. package/dist/server/src/api/database/migrations/v2-1-6.js.map +1 -1
  206. package/dist/server/src/api/database/migrations/v2-1-9.d.ts +3 -0
  207. package/dist/server/src/api/database/migrations/v2-1-9.js +38 -0
  208. package/dist/server/src/api/database/migrations/v2-1-9.js.map +1 -0
  209. package/dist/server/src/api/database/record-schemas.d.ts +18 -13
  210. package/dist/server/src/api/database/record-schemas.js +3 -3
  211. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  212. package/dist/server/src/api/database/types.d.ts +3 -11
  213. package/dist/server/src/api/routes/frameWorkers.routes.js +22 -1
  214. package/dist/server/src/api/routes/frameWorkers.routes.js.map +1 -1
  215. package/dist/server/src/api/routes/index.js +3 -1
  216. package/dist/server/src/api/routes/index.js.map +1 -1
  217. package/dist/server/src/api/routes/updates.routes.d.ts +2 -0
  218. package/dist/server/src/api/routes/updates.routes.js +47 -0
  219. package/dist/server/src/api/routes/updates.routes.js.map +1 -0
  220. package/dist/server/src/api/routes/workers.routes.js +3 -2
  221. package/dist/server/src/api/routes/workers.routes.js.map +1 -1
  222. package/dist/server/src/api/schemas/cameras.schema.d.ts +228 -79
  223. package/dist/server/src/api/schemas/cameras.schema.js +58 -9
  224. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  225. package/dist/server/src/api/schemas/frameWorkers.schema.d.ts +6 -0
  226. package/dist/server/src/api/schemas/frameWorkers.schema.js +7 -0
  227. package/dist/server/src/api/schemas/frameWorkers.schema.js.map +1 -1
  228. package/dist/server/src/api/schemas/server.schema.d.ts +1 -0
  229. package/dist/server/src/api/schemas/server.schema.js +4 -0
  230. package/dist/server/src/api/schemas/server.schema.js.map +1 -1
  231. package/dist/server/src/api/schemas/users.schema.d.ts +119 -84
  232. package/dist/server/src/api/schemas/users.schema.js +3 -0
  233. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  234. package/dist/server/src/api/schemas/workers.schema.d.ts +3 -0
  235. package/dist/server/src/api/schemas/workers.schema.js +5 -0
  236. package/dist/server/src/api/schemas/workers.schema.js.map +1 -1
  237. package/dist/server/src/api/services/plugins.service.d.ts +4 -1
  238. package/dist/server/src/api/services/plugins.service.js +23 -4
  239. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  240. package/dist/server/src/api/services/server.service.d.ts +3 -1
  241. package/dist/server/src/api/services/server.service.js +6 -1
  242. package/dist/server/src/api/services/server.service.js.map +1 -1
  243. package/dist/server/src/api/services/updates.service.d.ts +108 -0
  244. package/dist/server/src/api/services/updates.service.js +476 -0
  245. package/dist/server/src/api/services/updates.service.js.map +1 -0
  246. package/dist/server/src/api/types/index.d.ts +6 -0
  247. package/dist/server/src/api/types/index.js.map +1 -1
  248. package/dist/server/src/api/websocket/index.js +2 -0
  249. package/dist/server/src/api/websocket/index.js.map +1 -1
  250. package/dist/server/src/api/websocket/nsp/metrics.d.ts +3 -1
  251. package/dist/server/src/api/websocket/nsp/metrics.js +90 -37
  252. package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
  253. package/dist/server/src/api/websocket/nsp/server.js +45 -9
  254. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  255. package/dist/server/src/api/websocket/types.d.ts +23 -17
  256. package/dist/server/src/camera/controller.js +1 -0
  257. package/dist/server/src/camera/controller.js.map +1 -1
  258. package/dist/server/src/camera/decoder/audio-loop.d.ts +0 -1
  259. package/dist/server/src/camera/decoder/audio-loop.js +38 -68
  260. package/dist/server/src/camera/decoder/audio-loop.js.map +1 -1
  261. package/dist/server/src/camera/decoder/child.d.ts +4 -1
  262. package/dist/server/src/camera/decoder/child.js +27 -0
  263. package/dist/server/src/camera/decoder/child.js.map +1 -1
  264. package/dist/server/src/camera/decoder/debug/detection-record.d.ts +6 -0
  265. package/dist/server/src/camera/decoder/debug/detection-record.js +21 -0
  266. package/dist/server/src/camera/decoder/debug/detection-record.js.map +1 -1
  267. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +26 -3
  268. package/dist/server/src/camera/decoder/detection-coordinator.js +525 -207
  269. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  270. package/dist/server/src/camera/decoder/detection-pipeline.d.ts +4 -2
  271. package/dist/server/src/camera/decoder/detection-pipeline.js +17 -10
  272. package/dist/server/src/camera/decoder/detection-pipeline.js.map +1 -1
  273. package/dist/server/src/camera/decoder/detection-window.d.ts +17 -0
  274. package/dist/server/src/camera/decoder/detection-window.js +188 -0
  275. package/dist/server/src/camera/decoder/detection-window.js.map +1 -0
  276. package/dist/server/src/camera/decoder/event-manager.d.ts +1 -0
  277. package/dist/server/src/camera/decoder/event-manager.js +12 -0
  278. package/dist/server/src/camera/decoder/event-manager.js.map +1 -1
  279. package/dist/server/src/camera/decoder/event-thumbnailer.d.ts +3 -3
  280. package/dist/server/src/camera/decoder/event-thumbnailer.js +2 -2
  281. package/dist/server/src/camera/decoder/event-thumbnailer.js.map +1 -1
  282. package/dist/server/src/camera/decoder/frame-scaler.d.ts +14 -1
  283. package/dist/server/src/camera/decoder/frame-scaler.js +63 -20
  284. package/dist/server/src/camera/decoder/frame-scaler.js.map +1 -1
  285. package/dist/server/src/camera/decoder/motion-localizer.d.ts +16 -0
  286. package/dist/server/src/camera/decoder/motion-localizer.js +49 -0
  287. package/dist/server/src/camera/decoder/motion-localizer.js.map +1 -0
  288. package/dist/server/src/camera/decoder/perf-tracker.d.ts +29 -8
  289. package/dist/server/src/camera/decoder/perf-tracker.js +76 -50
  290. package/dist/server/src/camera/decoder/perf-tracker.js.map +1 -1
  291. package/dist/server/src/camera/decoder/plugin-registry.d.ts +1 -0
  292. package/dist/server/src/camera/decoder/plugin-registry.js +8 -6
  293. package/dist/server/src/camera/decoder/plugin-registry.js.map +1 -1
  294. package/dist/server/src/camera/decoder/secondary-stage.d.ts +4 -1
  295. package/dist/server/src/camera/decoder/secondary-stage.js +26 -3
  296. package/dist/server/src/camera/decoder/secondary-stage.js.map +1 -1
  297. package/dist/server/src/camera/decoder/sources/analysis-source.d.ts +15 -1
  298. package/dist/server/src/camera/decoder/sources/audio-source.d.ts +7 -3
  299. package/dist/server/src/camera/decoder/sources/audio-source.js +89 -78
  300. package/dist/server/src/camera/decoder/sources/audio-source.js.map +1 -1
  301. package/dist/server/src/camera/decoder/sources/buffered-source.d.ts +27 -9
  302. package/dist/server/src/camera/decoder/sources/buffered-source.js +151 -65
  303. package/dist/server/src/camera/decoder/sources/buffered-source.js.map +1 -1
  304. package/dist/server/src/camera/decoder/sources/frame-handle.d.ts +13 -0
  305. package/dist/server/src/camera/decoder/sources/frame-handle.js +106 -0
  306. package/dist/server/src/camera/decoder/sources/frame-handle.js.map +1 -0
  307. package/dist/server/src/camera/decoder/sources/frame-source.d.ts +25 -26
  308. package/dist/server/src/camera/decoder/sources/frame-source.js +213 -268
  309. package/dist/server/src/camera/decoder/sources/frame-source.js.map +1 -1
  310. package/dist/server/src/camera/decoder/sources/reconnect-loop.d.ts +17 -0
  311. package/dist/server/src/camera/decoder/sources/reconnect-loop.js +59 -0
  312. package/dist/server/src/camera/decoder/sources/reconnect-loop.js.map +1 -0
  313. package/dist/server/src/camera/decoder/sources/snapshot-fetcher.d.ts +15 -0
  314. package/dist/server/src/camera/decoder/sources/snapshot-fetcher.js +58 -0
  315. package/dist/server/src/camera/decoder/sources/snapshot-fetcher.js.map +1 -0
  316. package/dist/server/src/camera/decoder/sources/video-input.d.ts +18 -0
  317. package/dist/server/src/camera/decoder/sources/video-input.js +55 -0
  318. package/dist/server/src/camera/decoder/sources/video-input.js.map +1 -0
  319. package/dist/server/src/camera/decoder/types.d.ts +74 -18
  320. package/dist/server/src/camera/decoder/types.js +2 -0
  321. package/dist/server/src/camera/decoder/types.js.map +1 -1
  322. package/dist/server/src/camera/decoder/worker.d.ts +5 -1
  323. package/dist/server/src/camera/decoder/worker.js +35 -5
  324. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  325. package/dist/server/src/camera/index.d.ts +2 -1
  326. package/dist/server/src/camera/index.js +3 -0
  327. package/dist/server/src/camera/index.js.map +1 -1
  328. package/dist/server/src/camera/streaming/fmp4-session.js +1 -1
  329. package/dist/server/src/camera/streaming/fmp4-session.js.map +1 -1
  330. package/dist/server/src/camera/streaming/rtp-session.js +1 -1
  331. package/dist/server/src/camera/streaming/rtp-session.js.map +1 -1
  332. package/dist/server/src/main.js +22 -2
  333. package/dist/server/src/main.js.map +1 -1
  334. package/dist/server/src/manager/types.d.ts +1 -0
  335. package/dist/server/src/manager/types.js +2 -0
  336. package/dist/server/src/manager/types.js.map +1 -1
  337. package/dist/server/src/mqtt/bridge.d.ts +0 -1
  338. package/dist/server/src/mqtt/bridge.js +0 -33
  339. package/dist/server/src/mqtt/bridge.js.map +1 -1
  340. package/dist/server/src/mqtt/ha-discovery.js +0 -1
  341. package/dist/server/src/mqtt/ha-discovery.js.map +1 -1
  342. package/dist/server/src/plugins/index.js +0 -2
  343. package/dist/server/src/plugins/index.js.map +1 -1
  344. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +9 -0
  345. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -1
  346. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js +8 -0
  347. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js.map +1 -1
  348. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +14 -0
  349. package/dist/server/src/plugins/runtime/python/proxy/sensor.py +1 -0
  350. package/dist/server/src/plugins/runtime/python/proxy/sensor_manager.py +13 -0
  351. package/dist/server/src/remote/services/cloudflare-managed.d.ts +2 -0
  352. package/dist/server/src/remote/services/cloudflare-managed.js +9 -2
  353. package/dist/server/src/remote/services/cloudflare-managed.js.map +1 -1
  354. package/dist/server/src/remote/services/cloudflare.d.ts +3 -0
  355. package/dist/server/src/remote/services/cloudflare.js +11 -0
  356. package/dist/server/src/remote/services/cloudflare.js.map +1 -1
  357. package/dist/server/src/remote/services/index.d.ts +2 -0
  358. package/dist/server/src/remote/services/index.js +60 -8
  359. package/dist/server/src/remote/services/index.js.map +1 -1
  360. package/dist/server/src/remote/services/tunnelConnections.d.ts +9 -0
  361. package/dist/server/src/remote/services/tunnelConnections.js +45 -0
  362. package/dist/server/src/remote/services/tunnelConnections.js.map +1 -0
  363. package/dist/server/src/remote/services/urlReadiness.d.ts +2 -0
  364. package/dist/server/src/remote/services/urlReadiness.js +7 -4
  365. package/dist/server/src/remote/services/urlReadiness.js.map +1 -1
  366. package/dist/server/src/remote/types.d.ts +1 -2
  367. package/dist/server/src/rpc/interfaces/frameworker.d.ts +4 -1
  368. package/dist/server/src/rpc/interfaces/sensor.d.ts +1 -0
  369. package/dist/server/src/rpc/leafConnection.d.ts +12 -0
  370. package/dist/server/src/rpc/leafConnection.js +60 -0
  371. package/dist/server/src/rpc/leafConnection.js.map +1 -0
  372. package/dist/server/src/rpc/server.d.ts +2 -0
  373. package/dist/server/src/rpc/server.js +7 -1
  374. package/dist/server/src/rpc/server.js.map +1 -1
  375. package/dist/server/src/sensors/registry.d.ts +2 -0
  376. package/dist/server/src/sensors/registry.js +16 -0
  377. package/dist/server/src/sensors/registry.js.map +1 -1
  378. package/dist/server/src/services/config/index.js +2 -0
  379. package/dist/server/src/services/config/index.js.map +1 -1
  380. package/dist/server/src/types.d.ts +10 -1
  381. package/dist/server/src/utils/ipc.d.ts +9 -0
  382. package/dist/server/src/utils/ipc.js +31 -5
  383. package/dist/server/src/utils/ipc.js.map +1 -1
  384. package/dist/server/src/utils/plugin-registry/index.js +1 -1
  385. package/dist/server/src/utils/plugin-registry/index.js.map +1 -1
  386. package/dist/server/src/utils/system-info.d.ts +9 -0
  387. package/dist/server/src/utils/system-info.js +48 -0
  388. package/dist/server/src/utils/system-info.js.map +1 -0
  389. package/dist/server/src/workers/agent.d.ts +3 -0
  390. package/dist/server/src/workers/agent.js +36 -8
  391. package/dist/server/src/workers/agent.js.map +1 -1
  392. package/dist/server/src/workers/capabilities/frame-decoding.d.ts +2 -2
  393. package/dist/server/src/workers/capabilities/frame-decoding.js +5 -5
  394. package/dist/server/src/workers/capabilities/frame-decoding.js.map +1 -1
  395. package/dist/server/src/workers/capabilities/handler.d.ts +2 -2
  396. package/dist/server/src/workers/capabilities/plugin-host.d.ts +2 -2
  397. package/dist/server/src/workers/capabilities/plugin-host.js +6 -6
  398. package/dist/server/src/workers/capabilities/plugin-host.js.map +1 -1
  399. package/dist/server/src/workers/manager.d.ts +9 -1
  400. package/dist/server/src/workers/manager.js +24 -0
  401. package/dist/server/src/workers/manager.js.map +1 -1
  402. package/dist/server/src/workers/types.d.ts +14 -0
  403. package/dist/server/src/workers/types.js.map +1 -1
  404. package/package.json +13 -12
  405. package/dist/interface/assets/Automation-DDNhcjDg.js +0 -3
  406. package/dist/interface/assets/AutomationImport-DAeFd-SZ.js +0 -2
  407. package/dist/interface/assets/Automations-BeGe7iQE.js +0 -2
  408. package/dist/interface/assets/Camera-C0sNg85L.js +0 -2
  409. package/dist/interface/assets/Camera-C5gF7yVN.css +0 -1
  410. package/dist/interface/assets/Camview-DzMmXQvW.js +0 -1
  411. package/dist/interface/assets/ConfigActionCameraControl-BMlRbdRM.js +0 -1
  412. package/dist/interface/assets/ConfigTriggerDetection-ijTkd_SS.js +0 -1
  413. package/dist/interface/assets/ConfigTriggerGeofence-Q7LQpVoM.js +0 -1
  414. package/dist/interface/assets/Console-Gu1eu82G.js +0 -1
  415. package/dist/interface/assets/CuiAutomationRunsDialog-CxcWpqrI.js +0 -1
  416. package/dist/interface/assets/CuiBottomSheet-BkmkKf1u.js +0 -1
  417. package/dist/interface/assets/CuiCameraPipCard-CuZZZ7Cv.js +0 -1
  418. package/dist/interface/assets/CuiCameraRecordings-BxEA_Vhd.js +0 -1
  419. package/dist/interface/assets/CuiCameraTable-67Itb7my.js +0 -1
  420. package/dist/interface/assets/CuiConsole-De9JpSLz.js +0 -5
  421. package/dist/interface/assets/CuiDataTable-P8bWN0ZK.js +0 -1
  422. package/dist/interface/assets/CuiLightControl-D5Z1AqWH.js +0 -1
  423. package/dist/interface/assets/CuiPluginCard-D3x9FPb6.js +0 -2
  424. package/dist/interface/assets/CuiPluginCategoryChip-CQ2FJafE.js +0 -1
  425. package/dist/interface/assets/CuiQRCode-CZnspFFw.js +0 -1
  426. package/dist/interface/assets/CuiRecordingsGrid-wEaU6-3c.js +0 -1
  427. package/dist/interface/assets/CuiSchema--yMBD996.css +0 -1
  428. package/dist/interface/assets/CuiSchema-DLV1lIiB.js +0 -1
  429. package/dist/interface/assets/Faces-BlPQek1-.js +0 -1
  430. package/dist/interface/assets/FirstSteps-C-DKv_P2.js +0 -1
  431. package/dist/interface/assets/Menu-DceReBlq.js +0 -1
  432. package/dist/interface/assets/Metrics-BstlZavQ.css +0 -1
  433. package/dist/interface/assets/Metrics-Cw_Z_e0C.js +0 -1
  434. package/dist/interface/assets/Plugin-BBVxbQeT.js +0 -1
  435. package/dist/interface/assets/PluginDetail-D2RncxpL.js +0 -2
  436. package/dist/interface/assets/PluginSearch-CBhloRm6.js +0 -1
  437. package/dist/interface/assets/PluginSearch-RGhSeM1T.js +0 -2
  438. package/dist/interface/assets/Plugins-COHwVV0A.js +0 -1
  439. package/dist/interface/assets/Recordings-H5qOm_rD.js +0 -1
  440. package/dist/interface/assets/Recordings-zdTzwv7C.css +0 -1
  441. package/dist/interface/assets/SensorEdit-C-H_3ap8.js +0 -1
  442. package/dist/interface/assets/Sensors-lPcOdHJN.js +0 -2
  443. package/dist/interface/assets/Settings-BUoXoFiH.js +0 -1
  444. package/dist/interface/assets/SettingsAccount-CudWgknL.js +0 -1
  445. package/dist/interface/assets/SettingsAccount-DUy_W02_.js +0 -1
  446. package/dist/interface/assets/SettingsAppearance-eZsdWWp3.js +0 -1
  447. package/dist/interface/assets/SettingsBackup-ibb5I5Jv.js +0 -1
  448. package/dist/interface/assets/SettingsMqtt-Ct42icAW.js +0 -1
  449. package/dist/interface/assets/SettingsNotifications-B4lyMlLR.js +0 -1
  450. package/dist/interface/assets/SettingsPermissions-Bsv293ri.js +0 -1
  451. package/dist/interface/assets/SettingsRemote-DYld6-1F.css +0 -1
  452. package/dist/interface/assets/SettingsRemote-Dq_BD0fk.js +0 -1
  453. package/dist/interface/assets/SettingsSystem-C5xROdA0.js +0 -2
  454. package/dist/interface/assets/SettingsUsers-Cjk6mevW.js +0 -1
  455. package/dist/interface/assets/Terminal-BIdBrL4g.js +0 -4
  456. package/dist/interface/assets/Workers-DVABUc39.js +0 -2
  457. package/dist/interface/assets/api-AVHJeggR.css +0 -2
  458. package/dist/interface/assets/api-CmdQlVDD.js +0 -2
  459. package/dist/interface/assets/cameras.schema-A_6JklLs.js +0 -1
  460. package/dist/interface/assets/cloudHandoff-D0ytFfHK.js +0 -1
  461. package/dist/interface/assets/deployed-code-update-xHE-blDN.js +0 -1
  462. package/dist/interface/assets/main-B1ryIyTr.css +0 -1
  463. package/dist/interface/assets/main-BdIdmDhs.js +0 -3
  464. package/dist/interface/assets/round-restart-alt-B_7HR24a.js +0 -1
  465. package/dist/interface/assets/round-restart-alt-CmrjVFat.css +0 -1
  466. package/dist/interface/assets/sensorIcons-BujySw0j.js +0 -1
  467. package/dist/interface/assets/types-R10eIequ.js +0 -1
  468. package/dist/interface/assets/types-p_uC0rfp.js +0 -1
  469. package/dist/interface/assets/useBackupRestore-DLieDBFC.js +0 -1
  470. package/dist/interface/assets/vendor-cameraui-Cf0XVNQ7.js +0 -2326
  471. package/dist/interface/assets/vendor-core-u4xNQ-aF.js +0 -1
  472. package/dist/server/src/api/database/migrations/v2-0-50.js +0 -45
  473. package/dist/server/src/api/database/migrations/v2-0-50.js.map +0 -1
  474. package/dist/server/src/api/database/migrations/v2-0-51.js +0 -43
  475. package/dist/server/src/api/database/migrations/v2-0-51.js.map +0 -1
  476. package/dist/server/src/api/database/migrations/v2-1-0.js +0 -72
  477. package/dist/server/src/api/database/migrations/v2-1-0.js.map +0 -1
  478. /package/dist/server/src/api/database/migrations/{v2-0-50.d.ts → v2-1-10.d.ts} +0 -0
  479. /package/dist/server/src/api/database/migrations/{v2-0-51.d.ts → v2-1-11.d.ts} +0 -0
  480. /package/dist/server/src/api/database/migrations/{v2-1-0.d.ts → v2-1-12.d.ts} +0 -0
@@ -0,0 +1,2 @@
1
+ import{F as e,G as t,Pt as n,Rt as r,Wt as ee,zr as i}from"./vendor-cameraui-4iwjOYwz.js";import{Cr as a,Un as o,_t as te,br as s,cr as c,ct as ne,dr as l,fr as u,gr as re,gt as d,i as f,o as ie,r as p,ur as m,ut as ae,vn as h,yr as g}from"./api-C_bOaXk2.js";import{Fn as oe,Nn as _,On as se,U as v,Xn as y,Zn as ce,_r as le,an as b,b as ue,br as x,cn as S,cr as C,en as w,fn as T,gr as E,hn as de,in as D,ir as O,on as k,pn as A,q as j,qn as fe,qt as M,rr as pe,sn as N,v as P,wn as me,y as F,zn as he}from"./vendor-BaiDFVEr.js";import{a as ge}from"./intercomService-BpTOoSQi.js";import{E as _e,V as I}from"./types-BHAzjgi3.js";import{n as ve,r as ye,t as be}from"./lan-BP0NuDr7.js";import{K as xe,L as Se,R as Ce,a as we,j as Te,l as Ee,s as De,z as Oe}from"./vendor-primevue-DMAuiM9b.js";import{t as ke}from"./server-B_MuqJ5z.js";import{t as Ae}from"./api-CG0j1twy.js";import{t as je}from"./information-outline-BQDq8w2t.js";import{t as Me}from"./CuiQRCode-CjLcB644.js";var Ne={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function L(e,t){return _(),S(`svg`,Ne,[...t[0]||=[b(`path`,{fill:`currentColor`,d:`M20.454 21.87L17.612 19H6.5q-1.896 0-3.198-1.302T2 14.5q0-1.829 1.226-3.098t2.87-1.368q.018-.373.208-.925q.19-.553.438-.951l-3.88-3.881l.707-.708l17.593 17.593zm.454-3.812L8.78 5.937q.875-.523 1.612-.73T12 5q2.502 0 4.251 1.749T18 11v1h.616q1.436.046 2.41 1.055T22 15.5q0 .687-.25 1.332t-.842 1.226`},null,-1)]])}var Pe=O({name:`material-symbols-light-cloud-off`,render:L}),Fe={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Ie(e,t){return _(),S(`svg`,Fe,[...t[0]||=[b(`path`,{fill:`currentColor`,d:`m9.55 18l-5.7-5.7l1.425-1.425L9.55 15.15l9.175-9.175L20.15 7.4z`},null,-1)]])}var Le=O({name:`material-symbols-check`,render:Ie}),R={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function Re(e,t){return _(),S(`svg`,R,[...t[0]||=[b(`path`,{fill:`currentColor`,d:`M20.5 16H15v-1h4c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v9c0 1.1.9 2 2 2h4v1H3.5c-.83 0-1.5.67-1.5 1.5v3c0 .83.67 1.5 1.5 1.5h17c.83 0 1.5-.67 1.5-1.5v-3c0-.83-.67-1.5-1.5-1.5M5 4h14v9H5zm10 16H5v-2h10zm3 0c-.55 0-1-.45-1-1s.45-1 1-1s1 .45 1 1s-.45 1-1 1`,class:`b`},null,-1)]])}var ze=O({name:`boxicons-computer-filled`,render:Re});async function Be({signal:e}){return(await g.get(`/remote`,{signal:e})).data}async function Ve(e){return(await g.patch(`/remote`,e)).data}async function He(e){return(await g.post(`/remote/pair/init`,e?{name:e}:{})).data}async function Ue({name:e}={}){return(await g.post(`/remote/pair/poll`,e?{name:e}:{})).data}async function We(){await g.delete(`/remote/unregister`)}async function Ge({signal:e}){return(await g.get(`/remote/status`,{signal:e})).data}async function Ke(e){await g.patch(`/remote/name`,{name:e})}async function qe({signal:e}){return(await g.get(`/remote/tunnel`,{signal:e})).data}async function z({signal:e}={}){return(await g.get(`/remote/connection-info`,{signal:e})).data}async function B(e){return(await g.post(`/remote/test/${e}`)).data}async function Je({signal:e}={}){return(await g.get(`/remote/cloudflare/managed/status`,{signal:e})).data}async function Ye(e){await g.post(`/remote/cloudflare/managed/connect`,{hostname:e})}async function Xe(){await g.post(`/remote/cloudflare/managed/cancel`)}async function Ze(){await g.post(`/remote/cloudflare/managed/disconnect`)}async function Qe(){await g.post(`/remote/cloudflare/managed/logout`)}var $e=class{_queryClient=j();t=l.global.t;toast=m();queryActivator=C([{name:`getRemoteInfoQuery`,enabled:!0},{name:`getRegistrationStatusQuery`,enabled:!0},{name:`getTunnelStatusQuery`,enabled:!0},{name:`getConnectionInfoQuery`,enabled:!0},{name:`getCloudflareManagedStatusQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getRemoteInfoQuery(){return c({queryKey:[`remote`],queryFn:({signal:e})=>Be({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getRemoteInfoQuery`&&e.enabled),staleTime:1e3})}patchRemoteInfoQuery(){return v({mutationFn:Ve,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.remote_updated`),life:3e3})}})}getRegistrationStatusQuery(){return c({queryKey:[`remote`,`status`],queryFn:({signal:e})=>Ge({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getRegistrationStatusQuery`&&e.enabled),staleTime:1e3})}pairInitMutation(){return v({mutationFn:He})}pairPollMutation(){return v({mutationFn:Ue,onSuccess:async e=>{e.state===`confirmed`&&(await this._queryClient.refetchQueries({queryKey:[`remote`],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`remote`,`status`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.remote_registered`),life:3e3}))}})}unregisterServerQuery(){return v({mutationFn:We,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`remote`,`status`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.remote_unregistered`),life:3e3})}})}getTunnelStatusQuery(){return c({queryKey:[`remote`,`tunnel`],queryFn:({signal:e})=>qe({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getTunnelStatusQuery`&&e.enabled),refetchInterval:3e4,staleTime:1e4})}updateServerNameQuery(){return v({mutationFn:Ke,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`,`status`],exact:!0}),this.toast.add({severity:`success`,detail:this.t(`components.toast.server_name_updated`),life:3e3})}})}getConnectionInfoQuery(){return c({queryKey:[`remote`,`connection-info`],queryFn:({signal:e})=>z({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getConnectionInfoQuery`&&e.enabled),refetchInterval:1e4})}testRemoteModeMutation(){return v({mutationFn:B})}getCloudflareManagedStatusQuery(){return c({queryKey:[`remote`,`cloudflare`,`managed`],queryFn:({signal:e})=>Je({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`getCloudflareManagedStatusQuery`&&e.enabled),refetchInterval:e=>{let t=e.state.data?.state;return t===`awaiting_login`||t===`creating_tunnel`||t===`setting_dns`?2e3:!1},refetchOnWindowFocus:!0,staleTime:1e3})}cloudflareManagedConnectMutation(){return v({mutationFn:Ye,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`,`cloudflare`,`managed`],exact:!0})}})}cloudflareManagedCancelMutation(){return v({mutationFn:Xe,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`,`cloudflare`,`managed`],exact:!0})}})}cloudflareManagedDisconnectMutation(){return v({mutationFn:Ze,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`remote`,`cloudflare`,`managed`],exact:!0})}})}cloudflareManagedLogoutMutation(){return v({mutationFn:Qe,onSuccess:async()=>{await this._queryClient.refetchQueries({queryKey:[`remote`],exact:!0}),await this._queryClient.refetchQueries({queryKey:[`remote`,`cloudflare`,`managed`],exact:!0})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}},et={class:`flex flex-col gap-6`},tt={class:`flex flex-col field-gap`},nt={class:`section-chip`},V={class:`text-sm font-bold text-color`},H={class:`flex flex-col field-gap`},U={class:`section-chip`},W={class:`text-sm text-color`},G={class:`flex flex-col field-gap`},K={class:`section-chip`},q={key:0,class:`text-sm text-muted`},rt={key:1,class:`flex flex-col gap-2`},J={class:`flex flex-col min-w-0`},Y={class:`text-sm text-color`},it={class:`text-xs text-muted break-all`},at=de({__name:`ConnectionDetails`,props:{currentType:{},currentAddress:{}},setup(e,{expose:t}){let n=e,r=new Ae,ee=m(),{t:o}=i(),{data:te}=r.apiInfoQuery(),c=a()?s():void 0,ne=p(),l=D(()=>c?.attempts.rounds.value[0]),u=D(()=>c?.target.value?.endpoint.url??o(`components.connection_details.no_target`)),re=D(()=>{let e=c?.target.value?.endpoint;return e?ie(e):o(`components.connection_details.no_target`)}),d=D(()=>l.value?.attempts.map(e=>({...e,modeLabel:ie({url:e.url,mode:e.mode})}))??[]);function ie(e){return ye(e,ne)?o(`components.connection_details.mode_lan`):o(`components.connection_details.mode_wan`)}function ae(e){return e.outcome===`connected`&&e.url===u.value}function h(e){return ae(e)?`bg-green-500`:e.outcome===`failed`?`bg-red-500`:`bg-neutral-400`}function g(e){return e.durationMs===void 0?`…`:e.durationMs>=1e3?`${(e.durationMs/1e3).toFixed(1)} s`:`${e.durationMs} ms`}function se(e){return ae(e)?o(`components.connection_details.outcome_connected`):e.outcome===`connected`?o(`components.connection_details.outcome_reachable`):e.outcome===`superseded`?o(`components.connection_details.outcome_superseded`):e.outcome===`pending`?o(`components.connection_details.outcome_pending`):e.reason?.includes(`timeout`)?o(`components.connection_details.outcome_timeout`):e.reason??o(`components.connection_details.outcome_failed`)}async function v(){let e=[new Date().toISOString(),`camera.ui ${te.value?.version??`?`}`,``,`${re.value}: ${u.value}`,`server sees: ${n.currentType} ${n.currentAddress}`,``];for(let t of d.value)e.push(`${ae(t)?`+`:`-`} ${t.modeLabel} ${t.url} ${g(t)} ${se(t)}`);if(l.value?.reason&&e.push(``,l.value.reason),await f(e.join(`
2
+ `))){ee.add({severity:`success`,detail:o(`components.connection_details.copied`),life:2e3});return}return ee.add({severity:`error`,detail:o(`components.connection_details.copy_failed`),life:3e3}),null}return t({onConfirm:v}),(t,n)=>{let r=Oe;return _(),S(`div`,et,[b(`div`,tt,[b(`span`,nt,x(t.$t(`components.connection_details.current`)),1),b(`span`,V,x(E(re)),1),A(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint break-all`},{default:y(()=>[T(x(E(u)),1)]),_:1})]),b(`div`,H,[b(`span`,U,x(t.$t(`components.connection_details.server_view`)),1),b(`span`,W,x(e.currentType),1),A(r,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint break-all`},{default:y(()=>[T(x(e.currentAddress),1)]),_:1})]),b(`div`,G,[b(`span`,K,x(t.$t(`components.connection_details.last_attempt`)),1),E(d).length===0?(_(),S(`p`,q,x(t.$t(`components.connection_details.no_attempts`)),1)):(_(),S(`div`,rt,[(_(!0),S(w,null,oe(E(d),e=>(_(),S(`div`,{key:e.url,class:`flex items-start gap-3`},[b(`span`,{class:le([`mt-1.5 w-2 h-2 rounded-full shrink-0`,h(e)])},null,2),b(`div`,J,[b(`span`,Y,[T(x(e.modeLabel)+` `,1),n[0]||=b(`span`,{class:`text-muted`},`·`,-1),T(` `+x(g(e))+` `,1),n[1]||=b(`span`,{class:`text-muted`},`·`,-1),T(` `+x(se(e)),1)]),b(`span`,it,x(e.url),1)])]))),128))]))])])}}}),ot=I,st=_e,ct={class:`w-full h-full`},lt={key:0,class:`w-full h-full flex items-center justify-center`},ut={key:1,class:`flex flex-col w-full gap-6`},dt={key:0},ft={class:`card-title`},pt={class:`flex items-center gap-4`},mt={class:`flex flex-col field-switch-gap min-w-0`},ht={class:`text-sm font-bold text-color`},gt={class:`card-title`},_t={class:`flex flex-col gap-6`},vt={class:`flex items-center gap-4`},yt={class:`flex flex-col field-switch-gap`},bt={for:`enabled`,class:`cui-label-switch`},xt={class:`flex flex-col field-gap`},St={for:`serverName`,class:`cui-label`},Ct={class:`flex items-center gap-4`},wt={class:`flex flex-col field-switch-gap`},Tt={class:`text-sm`},Et={class:`ml-auto shrink-0`},Dt={key:1,class:`text-sm font-bold text-amber-500`},Ot={key:2,class:`text-sm font-bold`},kt={key:0,class:`flex items-center gap-4`},At={class:`flex flex-col field-switch-gap`},jt={class:`text-sm`},Mt={class:`ml-auto shrink-0`},Nt={key:`pairing`,class:`cui-toggle-switch flex flex-col gap-4`},Pt={class:`cui-pair-layout`},Ft={class:`cui-pair-qr`},It={class:`flex flex-col gap-4 flex-1 min-w-0`},Lt={class:`flex flex-col field-gap`},Rt={class:`cui-label`},zt={class:`flex flex-col field-gap`},Bt={class:`cui-label`},Vt={class:`flex items-center gap-3`},Ht={class:`text-sm`},Ut={class:`flex items-center gap-4`},Wt={class:`flex`},Gt={class:`card-title`},Kt={class:`flex flex-col gap-6`},qt={class:`flex items-center gap-4`},Jt={class:`flex flex-col field-switch-gap`},Yt={for:`directEnabled`,class:`cui-label-switch`},Xt={class:`flex flex-col field-gap`},Zt={class:`cui-label`},Qt={for:`directMode`,class:`cui-label`},$t={key:0,class:`cui-toggle-switch flex flex-col gap-4`},en={class:`flex flex-col field-gap`},tn={for:`cloudflareVariant`,class:`cui-label`},nn={key:0,class:`flex items-center gap-3`},rn={class:`flex flex-col field-gap`},an={for:`cloudflareHostname`,class:`cui-label`},on={class:`flex flex-col field-gap`},sn={for:`cloudflareToken`,class:`cui-label`},cn={class:`flex items-center gap-3`},ln={class:`flex flex-col field-gap`},un={for:`cloudflareHostnameManaged`,class:`cui-label`},dn={class:`flex items-center gap-3`},fn={key:0,class:`cf-login-setup`},pn={class:`cf-login-qr`},mn={class:`flex flex-col gap-4 flex-1 min-w-0`},hn={class:`flex flex-col field-gap`},gn={class:`cui-label`},_n={class:`flex items-center gap-3`},vn={class:`text-sm`},yn={key:1,class:`flex items-center gap-3`},bn={class:`text-sm`},xn={key:2,class:`flex items-center gap-3`},Sn={class:`text-sm`},Cn={class:`flex flex-col field-gap`},wn={class:`cui-label`},Tn={key:0,class:`flex flex-col field-gap`},En={class:`cui-label`},Dn={class:`flex items-center gap-3`},On={key:1,class:`cui-toggle-switch flex flex-col gap-4`},kn={for:`customDomain.url`,class:`cui-label`},An={class:`flex items-center gap-3`},jn={class:`card-title`},Mn={class:`flex flex-col gap-6`},Nn={class:`text-sm`},Pn={for:`serverAddresses`,class:`cui-label`},Fn={for:`localUrl`,class:`cui-label`},In=h(de({__name:`SettingsRemote`,setup(a){let s=new ke,c=new $e,l=ge(),p=ne(),h=m(),{t:g}=i(),{endpoint:oe,isOnline:v}=u(),{data:de,isBusy:O}=s.getServerInfoQuery(),{data:j,isBusy:_e}=c.getRemoteInfoQuery(),{data:I,isBusy:ye}=c.getRegistrationStatusQuery(),{data:Ae,isLoading:Ne}=c.getTunnelStatusQuery(),{data:L}=c.getConnectionInfoQuery(),{mutateAsync:Fe,isPending:Ie}=s.patchSystemInfoQuery(),{mutateAsync:R,isPending:Re}=c.patchRemoteInfoQuery(),{mutateAsync:Be,isPending:Ve}=c.pairInitMutation(),{mutateAsync:He}=c.pairPollMutation(),{mutateAsync:Ue,isPending:We}=c.unregisterServerQuery(),{mutateAsync:Ge,isPending:Ke}=c.updateServerNameQuery(),{mutateAsync:qe,isPending:z}=c.testRemoteModeMutation(),{data:B}=c.getCloudflareManagedStatusQuery(),{mutateAsync:Je,isPending:Ye}=c.cloudflareManagedConnectMutation(),{mutateAsync:Xe,isPending:Ze}=c.cloudflareManagedCancelMutation(),{mutateAsync:Qe,isPending:et}=c.cloudflareManagedDisconnectMutation(),{mutateAsync:tt,isPending:nt}=c.cloudflareManagedLogoutMutation(),V=C(),H=C(),U=C(``),W=C(``),G=C(`quick`),K=C(``),q=C(``),rt=C(!1),J=C(null),Y=C(``),it=C(null),In=C(2),Ln=C(``),Rn=null,zn=null,X=D(()=>Ie.value||Re.value||O.value||_e.value||ye.value||We.value),Bn=D(()=>!!(H.value?.enabled||H.value?.directEnabled)),Vn=D(()=>j.value?.directOverride??{active:!1,fallback:!1}),Z=D(()=>I.value?.isRegistered??!1),Hn=D(()=>I.value?.needsReauth??!1),Un=D(()=>!X.value),Wn=D(()=>{if(!Un.value)return!1;let e=U.value.trim();return!e||e.length>100?!1:e!==(I.value?.serverName??``)}),Gn=D(()=>{if(!H.value)return!1;if(H.value.directMode===`customDomain`){let e=W.value.trim();if(!e)return!1;try{new URL(e)}catch{return!1}return e!==(j.value?.remoteSettings.customDomain.url??``)}if(H.value.directMode===`cloudflare`){let e=j.value?.remoteSettings.cloudflare,t=j.value?.remoteSettings.directMode!==`cloudflare`,n=G.value;if(n===`quick`)return t||e?.mode!==`quick`;let r=K.value.trim();if(!r||!/^[a-z0-9.-]+\.[a-z]{2,}$/i.test(r))return!1;if(n===`token`){let n=q.value.trim();if(!n&&!rt.value)return!1;let ee=n.length>0;return t||e?.mode!==`token`||e?.hostname!==r||ee}return n===`managed`?t||e?.mode!==`managed`||e?.hostname!==r:!1}return H.value.directMode!==j.value?.remoteSettings.directMode}),Kn=D(()=>[{value:`cloudflare`,label:g(`components.form.label.cloudflare`),description:g(`components.form.hint.cloudflare_mode_info`)},{value:`customDomain`,label:g(`components.form.label.custom_domain`),description:g(`components.form.hint.custom_domain_mode_info`)}]),qn=D(()=>Kn.value.find(e=>e.value===H.value?.directMode)?.description??``),Jn=D(()=>[{value:`quick`,label:g(`components.form.label.cloudflare_variant_quick`),description:g(`components.form.hint.cloudflare_variant_quick`)},{value:`token`,label:g(`components.form.label.cloudflare_variant_token`),description:g(`components.form.hint.cloudflare_variant_token`)},{value:`managed`,label:g(`components.form.label.cloudflare_variant_managed`),description:g(`components.form.hint.cloudflare_variant_managed`)}]),Yn=D(()=>Jn.value.find(e=>e.value===G.value)?.description??``),Xn=D(()=>{if(G.value===`quick`)return!0;let e=j.value?.remoteSettings.cloudflare;return e?.mode===G.value&&!!e?.hostname}),Q=D(()=>B.value?.state??`idle`),Zn=D(()=>{if(Q.value!==`idle`)return!1;let e=K.value.trim();return!!e&&/^[a-z0-9.-]+\.[a-z]{2,}$/i.test(e)}),Qn=D(()=>{let e=L.value?.currentConnection.type??`lan`;return g(`views.settings.connection_type.${e}`)}),$n=D(()=>{let e=L.value?.currentConnection.type;return e===`external`?ve:e===`local`?ze:be}),er=D(()=>{let e=L.value?.currentConnection.type;return e===`external`?`text-info`:e===`local`?`text-primary`:`text-success`});function tr(){p.openComponentDialog(at,{data:{title:g(`components.connection_details.title`),confirmText:g(`components.connection_details.copy`),cancelText:g(`components.form.button.close`),contentProps:{currentType:Qn,currentAddress:D(()=>L.value?.currentConnection.address??``)}}})}async function nr(){let e=U.value.trim();if(e)try{await Ge(e)}catch{}}function rr(){p.openTextDialog({data:{title:g(`components.dialog.title.unregister_server`),confirmText:g(`components.form.button.unregister`),contentText:g(`components.dialog.message.confirm_unregister_server`),loading:X},onConfirm:async()=>{try{await Ue()}catch{}}})}function ir(){Rn&&=(clearTimeout(Rn),null),zn&&=(clearInterval(zn),null)}function $(){ir(),J.value=null,Y.value=``,it.value=null,Ln.value=``}function ar(e){let t=Math.max(0,Math.floor(e/1e3));return`${Math.floor(t/60)}:${(t%60).toString().padStart(2,`0`)}`}function or(){zn&&clearInterval(zn);let e=()=>{if(!it.value)return;let e=it.value-Date.now();if(e<=0){$(),h.add({severity:`warn`,detail:g(`components.toast.pair_expired`),life:3e3});return}Ln.value=ar(e)};e(),zn=setInterval(e,1e3)}function sr(){Rn&&clearTimeout(Rn),Rn=setTimeout(cr,In.value*1e3)}async function cr(){if(!J.value)return;let e=J.value;try{let t=await He({name:U.value.trim()||void 0});if(!J.value||J.value!==e)return;if(t.state===`confirmed`){$();return}if(t.state===`expired`){$(),h.add({severity:`warn`,detail:g(`components.toast.pair_expired`),life:3e3});return}if(t.state===`denied`){$(),h.add({severity:`warn`,detail:g(`components.toast.pair_denied`),life:3e3});return}t.state===`slow_down`&&(In.value=Math.min(In.value+2,10)),sr()}catch(t){if(!J.value||J.value!==e)return;l.error(`pair poll failed:`,t),sr()}}async function lr(){$();try{let e=U.value.trim();if(e&&e!==(I.value?.serverName??``))try{await Ge(e)}catch{}let t=await Be(e||void 0);J.value=t.userCode,Y.value=t.verificationUriComplete,it.value=Date.now()+t.expiresIn*1e3,In.value=Math.max(1,t.pollInterval),or(),sr()}catch(e){h.add({severity:`error`,detail:e,life:3e3})}}function ur(){$()}async function dr(){if(J.value)try{await f(J.value)}catch{}}async function fr(){if(Y.value)try{await f(Y.value)}catch{}}function pr(){Y.value&&window.open(Y.value,`_blank`,`noopener`)}function mr(e){let t=window.location.host===re||!1,n;n=e?`components.dialog.message.confirm_enable_cloud`:t?`components.dialog.message.confirm_disable_cloud_remote`:`components.dialog.message.confirm_disable_cloud_local`,p.openTextDialog({data:{title:g(`components.dialog.title.confirm`),contentText:g(n),confirmText:g(e?`components.form.button.enable`:`components.form.button.disable`),loading:X,confirmButtonProps:e?void 0:{severity:`danger`}},onConfirm:async()=>{try{await R(e?{enabled:!0}:{enabled:!1})}catch{H.value&&(H.value.enabled=!e)}},onCancel:()=>{H.value&&(H.value.enabled=!e)}})}function hr(e){R({directEnabled:e}).catch(()=>{H.value&&(H.value.directEnabled=!e)})}function gr(e){H.value&&(H.value.directMode=e)}function _r(e){G.value=e}async function vr(){let e=K.value.trim();if(e)try{await R({directMode:`cloudflare`,cloudflare:{mode:`managed`,hostname:e}}),await Je(e)}catch{}}async function yr(){try{await Xe()}catch{}}async function br(){try{await Qe()}catch{}}async function xr(){try{await tt()}catch{}}async function Sr(e){try{await f(e)}catch{}}function Cr(e){window.open(e,`_blank`,`noopener`)}async function wr(e){try{let t=await qe(e);t.ok?h.add({severity:`success`,detail:g(`components.toast.remote_test_success`),life:3e3}):h.add({severity:`error`,detail:g(`components.toast.remote_test_failed`,{message:t.message??``}),life:5e3})}catch(e){h.add({severity:`error`,detail:g(`components.toast.remote_test_failed`,{message:e?.message??``}),life:5e3})}}async function Tr(e){let t={directMode:e.directMode};if(e.directMode===`customDomain`)t.customDomain={url:W.value.trim()};else if(e.directMode===`cloudflare`){let e=G.value;if(e===`quick`)t.cloudflare={mode:`quick`,hostname:null,token:null};else if(e===`token`){let e=q.value.trim();t.cloudflare={mode:`token`,hostname:K.value.trim(),...e?{token:e}:{}}}else e===`managed`&&(t.cloudflare={mode:`managed`,hostname:K.value.trim(),token:null})}try{await R(t)}catch{}}async function Er(e){try{await Fe(e)}catch{}}return fe(()=>I.value?.serverName,e=>{e&&(U.value=e)},{immediate:!0}),fe(Z,e=>{e&&J.value&&$()}),fe([v,oe],([e])=>{e&&c.queryClient.refetchQueries({queryKey:[`remote`,`connection-info`],exact:!0})}),fe(de,e=>{if(e){let t=ie(e);V.value={...t,serverAddresses:(t.serverAddresses||[]).filter(Boolean),localUrl:t.localUrl??``}}},{deep:!0,immediate:!0}),fe(j,e=>{if(e){let t=ie(e);H.value={...t.remoteSettings},W.value=t.remoteSettings.customDomain.url??``;let n=t.remoteSettings.cloudflare;G.value=n?.mode??`quick`,K.value=n?.hostname??``,q.value=``,rt.value=t.cloudflareTokenSet??!1}},{deep:!0,immediate:!0}),se(()=>{ir()}),(i,a)=>{let s=n,c=Oe,ne=je,l=r,u=t,re=xe,f=e,ie=Le,p=Se,m=Ce,h=we,g=Me,oe=te,se=o,v=Pe,C=Te,D=De,O=Ee,j=ee;return _(),S(`div`,ct,[!E(V)||!E(H)?(_(),S(`div`,lt,[A(s,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(_(),S(`div`,ut,[E(L)?(_(),S(`div`,dt,[b(`span`,ft,x(i.$t(`views.settings.connection_status`)),1),A(u,{class:`cui-card`},{content:y(()=>[b(`div`,pt,[(_(),k(he(E($n)),{class:le([`shrink-0 w-6 h-6`,E(er)])},null,8,[`class`])),b(`div`,mt,[b(`span`,ht,x(E(Qn)),1),A(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint truncate`},{default:y(()=>[T(x(E(L).currentConnection.address),1)]),_:1})]),ce((_(),k(l,{rounded:``,text:``,severity:`secondary`,class:`ml-auto shrink-0`,"aria-label":i.$t(`components.connection_details.title`),onClick:tr},{icon:y(()=>[A(ne,{class:`w-5 h-5`})]),_:1},8,[`aria-label`])),[[j,{value:i.$t(`components.connection_details.title`)},void 0,{left:!0}]])])]),_:1})])):N(``,!0),A(E(ue),{ref:`remoteFormRef`,class:`flex flex-col w-full gap-6`,"validation-schema":E(ot),onSubmit:a[18]||=e=>Tr(e)},{default:y(()=>[b(`div`,null,[b(`span`,gt,x(i.$t(`views.settings.cloud`)),1),A(u,{class:`cui-card`},{content:y(()=>[b(`div`,_t,[A(E(F),{"model-value":E(H).enabled,value:!0,"unchecked-value":!1,type:`checkbox`,name:`enabled`,as:`div`,class:`flex flex-col field-gap cui-toggle-switch`},{default:y(({field:e,errors:t})=>[b(`div`,vt,[b(`div`,yt,[b(`label`,bt,x(i.$t(`components.form.label.enabled`)),1),A(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:y(()=>[T(x(i.$t(`components.form.hint.cloud_access_enabled_info`)),1)]),_:1}),A(M,{name:`fade`},{default:y(()=>[A(E(P),{name:`enabled`,class:`cui-input-switch-error`})]),_:1})]),A(re,me({"model-value":E(H).enabled},e,{invalid:t.length>0,loading:E(X),class:`ml-auto shrink-0`,onValueChange:a[0]||=e=>E(H).enabled=e,"onUpdate:modelValue":a[1]||=e=>mr(e)}),null,16,[`model-value`,`invalid`,`loading`])])]),_:1},8,[`model-value`]),b(`div`,xt,[b(`label`,St,x(i.$t(`views.settings.server_name_label`)),1),A(m,null,{default:y(()=>[A(f,{id:`serverName`,modelValue:E(U),"onUpdate:modelValue":a[2]||=e=>pe(U)?U.value=e:null,modelModifiers:{trim:!0},disabled:!E(Un),loading:E(X),type:`text`,maxlength:100},null,8,[`modelValue`,`disabled`,`loading`]),A(p,null,{default:y(()=>[ce((_(),k(l,{text:``,severity:`secondary`,loading:E(Ke),disabled:!E(Wn),type:`button`,onClick:nr},{icon:y(()=>[A(ie)]),_:1},8,[`loading`,`disabled`])),[[j,{value:i.$t(`components.form.button.save`)}]])]),_:1})]),_:1}),A(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:y(()=>[T(x(i.$t(`views.settings.server_name_info`)),1)]),_:1})]),b(`div`,Ct,[b(`div`,wt,[b(`span`,Tt,x(i.$t(`views.settings.status`)),1),A(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:y(()=>[T(x(i.$t(`views.settings.status_info`)),1)]),_:1})]),b(`div`,Et,[E(X)?(_(),k(s,{key:0,class:`w-[15px] h-[15px] m-0`,"stroke-width":`5`})):E(Hn)?(_(),S(`span`,Dt,x(i.$t(`views.settings.needs_reauth`)),1)):(_(),S(`span`,Ot,x(E(Z)?i.$t(`views.settings.registered`):i.$t(`views.settings.not_registered`)),1))])]),E(Z)?(_(),S(`div`,kt,[b(`div`,At,[b(`span`,jt,x(i.$t(`views.settings.tunnel_status`)),1),A(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:y(()=>[T(x(i.$t(`views.settings.tunnel_status_info`)),1)]),_:1})]),b(`div`,Mt,[E(Ne)?(_(),k(s,{key:0,class:`w-[15px] h-[15px] m-0`,"stroke-width":`5`})):(_(),k(h,{key:1,severity:E(Ae)?.connected?`success`:`secondary`,value:E(Ae)?.connected?i.$t(`views.settings.tunnel_connected`):i.$t(`views.settings.tunnel_disconnected`)},null,8,[`severity`,`value`]))])])):N(``,!0),A(M,{name:`fade`,mode:`out-in`},{default:y(()=>[E(J)?(_(),S(`div`,Nt,[A(c,{severity:`error`,variant:`simple`,size:`small`,class:`text-primary`},{default:y(()=>[T(x(i.$t(`views.settings.pair_instructions`)),1)]),_:1}),b(`div`,Pt,[b(`div`,Ft,[A(g,{value:E(Y),size:180,"logo-size":36},null,8,[`value`])]),b(`div`,It,[b(`div`,Lt,[b(`label`,Rt,x(i.$t(`views.settings.pair_code`)),1),A(m,null,{default:y(()=>[A(f,{"model-value":E(J),readonly:``,class:`font-mono text-lg text-center tracking-widest`},null,8,[`model-value`]),A(p,null,{default:y(()=>[A(oe,{"action-text":i.$t(`components.form.tooltip.copied`),icon:E(d),"button-props":{severity:`secondary`,text:!0},onAction:dr},null,8,[`action-text`,`icon`])]),_:1})]),_:1}),A(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:y(()=>[T(x(i.$t(`views.settings.pair_code_hint`)),1)]),_:1})]),b(`div`,zt,[b(`label`,Bt,x(i.$t(`views.settings.pair_url`)),1),A(m,null,{default:y(()=>[A(f,{"model-value":E(Y),readonly:``,class:`font-mono text-sm`},null,8,[`model-value`]),A(p,null,{default:y(()=>[A(oe,{"action-text":i.$t(`components.form.tooltip.copied`),icon:E(d),"button-props":{severity:`secondary`,text:!0},onAction:fr},null,8,[`action-text`,`icon`])]),_:1}),A(p,null,{default:y(()=>[ce((_(),k(l,{type:`button`,severity:`secondary`,text:``,onClick:pr},{icon:y(()=>[A(E(ae))]),_:1})),[[j,{value:i.$t(`components.form.button.open_in_browser`)}]])]),_:1})]),_:1})]),b(`div`,Vt,[A(s,{class:`w-[20px] h-[20px] m-0`,"stroke-width":`5`}),b(`span`,Ht,x(i.$t(`views.settings.pair_waiting`,{remaining:E(Ln)})),1),A(l,{type:`button`,severity:`secondary`,class:`cui-button-small ml-auto`,label:i.$t(`components.form.button.cancel`),onClick:ur},null,8,[`label`])])])])])):N(``,!0)]),_:1}),b(`div`,Ut,[b(`div`,Wt,[ce((_(),k(l,{severity:`secondary`,rounded:``,class:`cui-icon-lg text-color`,disabled:!E(Z),onClick:a[3]||=e=>i.$router.absUrl(E(`https://cloud.cameraui.com`),!0)},{icon:y(()=>[E(Z)?(_(),k(se,{key:0,width:`100%`,height:`100%`})):(_(),k(v,{key:1,width:`100%`,height:`100%`}))]),_:1},8,[`disabled`])),[[j,{value:E(Z)?i.$t(`views.settings.registered`):i.$t(`views.settings.not_registered`)}]])]),a[22]||=b(`div`,{class:`ml-auto`},null,-1),!E(Z)&&!E(J)?(_(),k(l,{key:0,loading:E(Ve),class:`cui-button-medium`,label:i.$t(`components.form.button.register_server`),onClick:lr},null,8,[`loading`,`label`])):N(``,!0),E(Hn)&&!E(J)?(_(),k(l,{key:1,loading:E(Ve),severity:`warn`,class:`cui-button-medium`,label:i.$t(`components.form.button.reconnect_server`),onClick:lr},null,8,[`loading`,`label`])):N(``,!0),E(Z)?(_(),k(l,{key:2,loading:E(X),severity:E(Hn)?`secondary`:void 0,text:E(Hn),class:`cui-button-medium`,label:i.$t(`components.form.button.unregister_server`),onClick:rr},null,8,[`loading`,`severity`,`text`,`label`])):N(``,!0)])])]),_:1})]),b(`div`,null,[b(`span`,Gt,x(i.$t(`views.settings.direct_connection`)),1),A(u,{class:`cui-card`},{content:y(()=>[b(`div`,Kt,[A(E(F),{"model-value":E(H).directEnabled,value:!0,"unchecked-value":!1,type:`checkbox`,name:`directEnabled`,as:`div`,class:`flex flex-col field-gap cui-toggle-switch`},{default:y(({field:e,errors:t})=>[b(`div`,qt,[b(`div`,Jt,[b(`label`,Yt,x(i.$t(`components.form.label.enabled`)),1),A(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:y(()=>[T(x(i.$t(`views.settings.direct_connection_info`)),1)]),_:1}),A(M,{name:`fade`},{default:y(()=>[A(E(P),{name:`directEnabled`,class:`cui-input-switch-error`})]),_:1})]),A(re,me({"model-value":E(Bn)},e,{invalid:t.length>0,loading:E(X),disabled:E(H).enabled,class:`ml-auto shrink-0`,onValueChange:a[4]||=e=>E(H).directEnabled=e,"onUpdate:modelValue":a[5]||=e=>hr(e)}),null,16,[`model-value`,`invalid`,`loading`,`disabled`])]),A(M,{name:`fade`},{default:y(()=>[E(Vn).active?(_(),k(c,{key:0,variant:`simple`,size:`small`,class:`cui-input-switch-hint text-primary`},{default:y(()=>[T(x(E(Vn).fallback?i.$t(`views.settings.direct_override_fallback`):i.$t(`views.settings.direct_override_active`)),1)]),_:1})):N(``,!0)]),_:1})]),_:1},8,[`model-value`]),E(Bn)?(_(),S(w,{key:0},[b(`div`,Xt,[b(`label`,Zt,x(i.$t(`views.settings.external_url`)),1),A(f,{readonly:``,type:`text`,value:E(L)?.externalUrl??i.$t(`components.form.label.disconnected`)},null,8,[`value`]),A(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:y(()=>[T(x(i.$t(`views.settings.external_url_info`)),1)]),_:1})]),A(E(F),{"model-value":E(H).directMode,name:`directMode`,as:`div`,class:`flex flex-col field-gap`},{default:y(({errors:e})=>[b(`label`,Qt,x(i.$t(`views.settings.connection_method`)),1),A(C,{"model-value":E(H).directMode,options:E(Kn),"option-label":`label`,"option-value":`value`,invalid:e.length>0,loading:E(X),"onUpdate:modelValue":a[6]||=e=>gr(e)},null,8,[`model-value`,`options`,`invalid`,`loading`]),A(M,{name:`fade`},{default:y(()=>[A(E(P),{name:`directMode`,class:`cui-input-error`})]),_:1}),A(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:y(()=>[T(x(E(qn)),1)]),_:1})]),_:1},8,[`model-value`]),E(H).directMode===`cloudflare`?(_(),S(`div`,$t,[b(`div`,en,[b(`label`,tn,x(i.$t(`components.form.label.cloudflare_variant`)),1),A(C,{"model-value":E(G),options:E(Jn),"option-label":`label`,"option-value":`value`,loading:E(X),"onUpdate:modelValue":a[7]||=e=>_r(e)},null,8,[`model-value`,`options`,`loading`]),A(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:y(()=>[T(x(E(Yn)),1)]),_:1})]),E(G)===`quick`?(_(),S(`div`,nn,[A(l,{type:`button`,severity:`secondary`,loading:E(z),class:`cui-button-small`,label:i.$t(`components.form.button.test_connection`),onClick:a[8]||=e=>wr(`cloudflare`)},null,8,[`loading`,`label`])])):E(G)===`token`?(_(),S(w,{key:1},[b(`div`,rn,[b(`label`,an,x(i.$t(`components.form.label.hostname`)),1),A(f,{id:`cloudflareHostname`,modelValue:E(K),"onUpdate:modelValue":a[9]||=e=>pe(K)?K.value=e:null,modelModifiers:{trim:!0},loading:E(X),type:`text`,placeholder:`nvr.example.com`,maxlength:253},null,8,[`modelValue`,`loading`]),A(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:y(()=>[T(x(i.$t(`components.form.hint.cloudflare_hostname_info`)),1)]),_:1})]),b(`div`,on,[b(`label`,sn,x(i.$t(`components.form.label.tunnel_token`)),1),A(D,{id:`cloudflareToken`,modelValue:E(q),"onUpdate:modelValue":a[10]||=e=>pe(q)?q.value=e:null,modelModifiers:{trim:!0},loading:E(X),feedback:!1,"toggle-mask":``,fluid:``,placeholder:E(rt)?`••••••••••••`:`eyJ...`},null,8,[`modelValue`,`loading`,`placeholder`]),A(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:y(()=>[T(x(E(rt)?i.$t(`components.form.hint.cloudflare_token_already_set`):i.$t(`components.form.hint.cloudflare_token_info`)),1)]),_:1})]),b(`div`,cn,[A(l,{type:`button`,severity:`secondary`,loading:E(z),disabled:!E(Xn),class:`cui-button-small`,label:i.$t(`components.form.button.test_connection`),onClick:a[11]||=e=>wr(`cloudflare`)},null,8,[`loading`,`disabled`,`label`])])],64)):E(G)===`managed`?(_(),k(M,{key:2,name:`fade`,mode:`out-in`},{default:y(()=>[(_(),S(`div`,{key:E(Q),class:`flex flex-col gap-4`},[E(Q)===`idle`?(_(),S(w,{key:0},[b(`div`,ln,[b(`label`,un,x(i.$t(`components.form.label.hostname`)),1),A(f,{id:`cloudflareHostnameManaged`,modelValue:E(K),"onUpdate:modelValue":a[12]||=e=>pe(K)?K.value=e:null,modelModifiers:{trim:!0},loading:E(X),type:`text`,placeholder:`nvr.example.com`,maxlength:253},null,8,[`modelValue`,`loading`]),A(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:y(()=>[T(x(i.$t(`components.form.hint.cloudflare_hostname_info`)),1)]),_:1})]),E(B)?.lastError?(_(),k(c,{key:0,severity:`error`,variant:`simple`,size:`small`},{default:y(()=>[T(x(E(B).lastError),1)]),_:1})):N(``,!0),b(`div`,dn,[A(l,{type:`button`,loading:E(Ye),disabled:!E(Zn),class:`cui-button-medium`,label:i.$t(`components.form.button.connect_cloudflare`),onClick:vr},null,8,[`loading`,`disabled`,`label`])])],64)):E(Q)===`awaiting_login`?(_(),S(w,{key:1},[E(B)?.loginUrl?(_(),S(`div`,fn,[b(`div`,pn,[A(g,{value:E(B).loginUrl,size:160,"logo-size":32},null,8,[`value`])]),b(`div`,mn,[A(c,{variant:`simple`,size:`small`,class:`text-primary`},{default:y(()=>[T(x(i.$t(`components.form.hint.cloudflare_managed_awaiting_login`,{hostname:E(K)})),1)]),_:1}),b(`div`,hn,[b(`label`,gn,x(i.$t(`components.form.label.cloudflare_url`)),1),A(m,null,{default:y(()=>[A(f,{"model-value":E(B).loginUrl,readonly:``,class:`font-mono text-sm`},null,8,[`model-value`]),A(p,null,{default:y(()=>[A(oe,{"action-text":i.$t(`components.form.tooltip.copied`),icon:E(d),"button-props":{severity:`secondary`,text:!0},onAction:a[13]||=e=>Sr(E(B).loginUrl)},null,8,[`action-text`,`icon`])]),_:1}),A(p,null,{default:y(()=>[ce((_(),k(l,{type:`button`,severity:`secondary`,text:``,onClick:a[14]||=e=>Cr(E(B).loginUrl)},{icon:y(()=>[A(E(ae))]),_:1})),[[j,{value:i.$t(`components.form.button.open_in_browser`)}]])]),_:1})]),_:1})]),b(`div`,_n,[A(s,{class:`w-[20px] h-[20px] m-0`,"stroke-width":`5`}),b(`span`,vn,x(i.$t(`views.settings.cloudflare_login_waiting`)),1),A(l,{type:`button`,severity:`secondary`,loading:E(Ze),class:`cui-button-small ml-auto`,label:i.$t(`components.form.button.cancel`),onClick:yr},null,8,[`loading`,`label`])])])])):(_(),S(`div`,yn,[A(s,{class:`w-[20px] h-[20px] m-0`,"stroke-width":`5`}),b(`span`,bn,x(i.$t(`views.settings.cloudflare_login_waiting`)),1),A(l,{type:`button`,severity:`secondary`,loading:E(Ze),class:`cui-button-small ml-auto`,label:i.$t(`components.form.button.cancel`),onClick:yr},null,8,[`loading`,`label`])]))],64)):E(Q)===`creating_tunnel`||E(Q)===`setting_dns`?(_(),S(`div`,xn,[A(s,{class:`w-[20px] h-[20px] m-0`,"stroke-width":`5`}),b(`span`,Sn,x(E(Q)===`creating_tunnel`?i.$t(`components.form.hint.cloudflare_managed_creating_tunnel`):i.$t(`components.form.hint.cloudflare_managed_setting_dns`,{hostname:E(K)})),1),A(l,{type:`button`,severity:`secondary`,loading:E(Ze),class:`cui-button-small ml-auto`,label:i.$t(`components.form.button.cancel`),onClick:yr},null,8,[`loading`,`label`])])):E(Q)===`running`?(_(),S(w,{key:3},[b(`div`,Cn,[b(`label`,wn,x(i.$t(`components.form.label.hostname`)),1),A(f,{readonly:``,value:`https://${E(B)?.hostname??``}`,type:`text`},null,8,[`value`]),A(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:y(()=>[T(x(i.$t(`components.form.hint.cloudflare_hostname_info`)),1)]),_:1})]),E(B)?.tunnelId?(_(),S(`div`,Tn,[b(`label`,En,x(i.$t(`components.form.label.tunnel_id`)),1),A(f,{readonly:``,value:E(B).tunnelId,type:`text`},null,8,[`value`]),A(c,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:y(()=>[T(x(i.$t(`components.form.hint.cloudflare_tunnel_id_info`)),1)]),_:1})])):N(``,!0),b(`div`,Dn,[A(l,{type:`button`,severity:`secondary`,loading:E(z),class:`cui-button-small`,label:i.$t(`components.form.button.test_connection`),onClick:a[15]||=e=>wr(`cloudflare`)},null,8,[`loading`,`label`]),A(l,{type:`button`,severity:`secondary`,loading:E(et),class:`cui-button-small ml-auto`,label:i.$t(`components.form.button.disconnect`),onClick:br},null,8,[`loading`,`label`]),A(l,{type:`button`,severity:`danger`,loading:E(nt),class:`cui-button-small`,label:i.$t(`components.form.button.logout`),onClick:xr},null,8,[`loading`,`label`])])],64)):N(``,!0)]))]),_:1})):N(``,!0)])):E(H).directMode===`customDomain`?(_(),S(`div`,On,[A(E(F),{modelValue:E(W),"onUpdate:modelValue":a[16]||=e=>pe(W)?W.value=e:null,modelModifiers:{trim:!0},loading:E(X),name:`customDomain.url`,as:`div`,class:`flex flex-col field-gap`},{default:y(({field:e,errors:t})=>[b(`label`,kn,x(i.$t(`components.form.label.url`)),1),A(f,me(e,{invalid:t.length>0,loading:E(X),type:`text`,placeholder:`https://my.example.com`}),null,16,[`invalid`,`loading`]),A(M,{name:`fade`},{default:y(()=>[A(E(P),{name:`customDomain.url`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`,`loading`]),b(`div`,An,[A(l,{type:`button`,severity:`secondary`,loading:E(z),disabled:!E(W),class:`cui-button-small`,label:i.$t(`components.form.button.test_connection`),onClick:a[17]||=e=>wr(`customDomain`)},null,8,[`loading`,`disabled`,`label`])])])):N(``,!0),A(l,{type:`submit`,loading:E(X),disabled:!E(Gn),class:`cui-button-medium ml-auto`,label:i.$t(`components.form.button.save`)},null,8,[`loading`,`disabled`,`label`])],64)):N(``,!0)])]),_:1})])]),_:1},8,[`validation-schema`]),A(E(ue),{ref:`serverFormRef`,class:`flex flex-col w-full gap-6`,"validation-schema":E(st),onSubmit:a[21]||=e=>Er(e)},{default:y(()=>[b(`div`,null,[b(`span`,jn,x(i.$t(`views.settings.network`)),1),A(u,{class:`cui-card`},{content:y(()=>[b(`div`,Mn,[b(`span`,Nn,x(i.$t(`views.settings.network_info`)),1),A(E(F),{"model-value":E(V).serverAddresses,name:`serverAddresses`,as:`div`,class:`flex flex-col field-gap`},{default:y(({field:e,errors:t})=>[b(`label`,Pn,x(i.$t(`components.form.label.server_addresses`)),1),A(m,null,{default:y(()=>[A(O,me(e,{"model-value":E(V).serverAddresses,options:E(de)?.availableAddresses||[],invalid:t.length>0,loading:E(X),"max-selected-labels":2,"show-toggle-all":!1,"show-clear":``,"option-label":`address`,"option-value":`address`,type:`text`,display:`chip`,onValueChange:a[19]||=e=>E(V).serverAddresses=e}),null,16,[`model-value`,`options`,`invalid`,`loading`])]),_:2},1024),A(M,{name:`fade`},{default:y(()=>[A(E(P),{name:`serverAddresses`,class:`cui-input-error`})]),_:1}),t.length?N(``,!0):(_(),k(c,{key:0,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:y(()=>[T(x(i.$t(`components.form.hint.server_addresses`)),1)]),_:1}))]),_:1},8,[`model-value`]),A(E(F),{"model-value":E(V).localUrl,name:`localUrl`,as:`div`,class:`flex flex-col field-gap`},{default:y(({field:e,errors:t})=>[b(`label`,Fn,x(i.$t(`components.form.label.local_url`)),1),A(m,null,{default:y(()=>[A(f,me(e,{"model-value":E(V).localUrl,invalid:t.length>0,loading:E(X),placeholder:`https://camera.home.lan`,onValueChange:a[20]||=e=>E(V).localUrl=e}),null,16,[`model-value`,`invalid`,`loading`])]),_:2},1024),A(M,{name:`fade`},{default:y(()=>[A(E(P),{name:`localUrl`,class:`cui-input-error`})]),_:1}),t.length?N(``,!0):(_(),k(c,{key:0,severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:y(()=>[T(x(i.$t(`components.form.hint.local_url`)),1)]),_:1}))]),_:1},8,[`model-value`]),A(l,{type:`submit`,loading:E(X),class:`cui-button-medium ml-auto`,label:i.$t(`components.form.button.save`)},null,8,[`loading`,`label`])])]),_:1})])]),_:1},8,[`validation-schema`])]))])}}}),[[`__scopeId`,`data-v-456d32b5`]]);export{In as default};
@@ -0,0 +1 @@
1
+ .cf-login-setup[data-v-456d32b5],.cui-pair-layout[data-v-456d32b5]{flex-direction:column;gap:1.5rem;display:flex}@media (width>=768px){.cf-login-setup[data-v-456d32b5],.cui-pair-layout[data-v-456d32b5]{flex-direction:row;align-items:flex-start;gap:2rem}}.cf-login-qr[data-v-456d32b5],.cui-pair-qr[data-v-456d32b5]{flex-direction:column;flex-shrink:0;align-items:center;display:flex}
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./VersionsHandler-BWIiBPPa.js","./vendor-cameraui-4iwjOYwz.js","./rolldown-runtime-C0FnF6B9.js","./vendor-BaiDFVEr.js","./api-C_bOaXk2.js","./intercomService-BpTOoSQi.js","./vendor-zod-Dbq0fBXY.js","./types-BHAzjgi3.js","./lightbulb-outline-ClK17CO6.js","./vendor-core-gJradu21.js","./vendor-primevue-DMAuiM9b.js","./vendor-dnd-ChrDrMuz.js","./close-BNAWPz0y.js","./vendor-draggabilly-DSeIE_bQ.js","./api-CVOj5SYs.css","./server-B_MuqJ5z.js","./useServerRestart-DoLrF47t.js","./alert-circle-C2AU59aR.js","./plugins-DBBFdZKH.js","./CuiConsole-DUswVhFC.js","./content-copy-CLkJTA4w.js","./vendor-xterm-BafMBqaV.js","./vendor-xterm-BrP-ENHg.css","./CuiConsole-CoA-Nq-_.css","./useLogsSocket-DSltWBh4.js","./CuiMarkdownContent-PSq4kE1G.js","./vendor-markdown-Bw_90xkF.js","./vendor-markdown-DtOhvyRx.css","./platformLabels-D-cF6OTP.js","./config-BjldP5A6.js","./useUpdateChannel-DWEw-ZyB.js"])))=>i.map(i=>d[i]);
2
+ import{G as e,Pt as t,Rt as n,zr as r}from"./vendor-cameraui-4iwjOYwz.js";import{ct as i,fr as a,g as o,gn as s,lt as c,un as ee}from"./api-C_bOaXk2.js";import{Nn as l,On as u,Rt as te,Xn as d,an as f,br as p,cn as m,cr as h,en as ne,fn as g,gr as _,hn as re,in as v,jn as ie,on as y,pn as b,qn as x,sn as S}from"./vendor-BaiDFVEr.js";import{a as ae,i as oe}from"./intercomService-BpTOoSQi.js";import{K as se,z as ce}from"./vendor-primevue-DMAuiM9b.js";import{r as le,t as ue}from"./server-B_MuqJ5z.js";import{n as de}from"./useServerRestart-DoLrF47t.js";import{n as fe,t as pe}from"./api-CG0j1twy.js";import{t as me}from"./useUpdateChannel-DWEw-ZyB.js";import{t as he}from"./useAppVersion-SrF7tGCe.js";var ge={class:`flex flex-col w-full gap-6`},_e={class:`flex items-center gap-4`},ve={class:`flex flex-col field-switch-gap`},ye={for:`betaChannel`,class:`cui-label-switch`},be={class:`flex flex-col gap-6`},xe={key:0,class:`flex flex-row items-center justify-between`},Se={class:`text-sm`},Ce={key:1,class:`text-sm font-bold`},C={key:1,class:`flex flex-row items-center justify-between`},w={class:`text-sm`},T={class:`text-sm font-bold`},E={key:0,class:`text-muted font-normal`},D={class:`flex flex-row items-center justify-between`},O={class:`text-sm`},k={key:1,class:`text-sm font-bold`},A={key:2,class:`flex w-full items-center gap-2`},we={key:0},Te={class:`card-title`},Ee={class:`flex flex-col gap-6`},De={class:`text-sm`},Oe={class:`card-title`},ke={class:`flex flex-col gap-6`},Ae={class:`text-sm`},je={key:1},Me={class:`card-title`},Ne={class:`flex flex-col gap-6`},Pe={class:`text-sm`},j=re({__name:`SettingsSystem`,setup(re){let j=c(()=>te(()=>import(`./VersionsHandler-BWIiBPPa.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30]),import.meta.url)),M=new pe,N=new ue,P=ae(),F=i(),{t:I}=r(),{isElectronApp:L,electron:Fe}=oe(),{isOnline:R}=a(),{restarting:z,beginServerRestart:Ie}=de(),{isBeta:Le,setBeta:Re}=me(),{appVersion:B,nativeVersion:V,refreshAppVersion:ze}=he(),Be=o(),{data:H,isBusy:Ve}=M.apiInfoQuery(),{mutate:He,isPending:Ue}=N.restartServerQuery(),{mutateAsync:We,isPending:Ge}=N.resetServerQuery(),U=h(I(`views.settings.unknown`)),W=h(I(`views.settings.unknown`)),G=h(!1),K=0,q=v(()=>H.value?.electron??!1),J=v(()=>Ue.value||Ge.value||Ve.value),Y=v(()=>H.value?.installedVersion||H.value?.version),X=v(()=>H.value?.restartRequired??!1),Z=v(()=>J.value||!R.value||z.value);function Ke(e){Re(e===!0)}async function Q(){if(!G.value){G.value=!0;try{let e=await le(),t=new Blob([e],{type:`application/x-x509-ca-cert`});await s({blob:t,filename:`cert.pem`,mimeType:`application/x-x509-ca-cert`})}catch(e){P.error(e)}G.value=!1}}function qe(){Ie(),He()}function $(e){switch(e){case`restart`:F.openTextDialog({data:{title:I(`components.dialog.title.restart`),confirmText:I(`components.form.button.restart`),contentText:I(`components.dialog.message.confirm_restart_server`),loading:J},onConfirm:qe});break;case`reset`:F.openTextDialog({data:{title:I(`components.dialog.title.reset_server`),confirmText:I(`components.form.button.reset`),contentText:I(`components.dialog.message.confirm_reset_server`),loading:J},onConfirm:async()=>{try{await We()}catch{}finally{Be.logout()}}});break;case`versions`:F.openComponentDialog(j,{data:{title:I(`components.dialog.title.install_version`),confirmText:I(`components.form.button.install`),loading:J,contentProps:{target:{type:`server`}}}})}}async function Je(){if(L)try{W.value=await Fe.invoke(`get-app-version`)??I(`views.settings.unknown`)}catch(e){P.error(`Error getting electron app version:`,e)}}async function Ye(){let e=++K;for(let t=0;t<30;t++)try{if(await fe({signal:AbortSignal.timeout(5e3)}),e!==K)return;M.queryClient.invalidateQueries({queryKey:[`api`]});return}catch{if(await new Promise(e=>setTimeout(e,2e3)),e!==K||!R.value)return}}return x(H,()=>{U.value=H.value?.version||I(`views.settings.unknown`)},{deep:!0,immediate:!0}),x([R,z],([e,t],[n,r])=>{q.value||(e&&!n||r&&!t&&e)&&Ye()}),u(()=>{K++}),ie(()=>{L&&Je()}),(r,i)=>{let a=ce,o=se,s=e,c=t,u=n;return l(),m(`div`,null,[f(`div`,ge,[f(`div`,null,[b(s,{class:`cui-card`},{content:d(()=>[f(`div`,null,[f(`div`,_e,[f(`div`,ve,[f(`label`,ye,p(r.$t(`views.settings.beta_updates`)),1),b(a,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:d(()=>[g(p(r.$t(`views.settings.beta_updates_info`)),1)]),_:1})]),b(o,{"input-id":`betaChannel`,"model-value":_(Le),class:`ml-auto shrink-0`,"onUpdate:modelValue":Ke},null,8,[`model-value`])])])]),_:1})]),f(`div`,null,[i[5]||=f(`span`,{class:`card-title`},`camera.ui`,-1),b(s,{class:`cui-card`},{content:d(()=>[f(`div`,be,[_(L)?(l(),m(`div`,xe,[f(`span`,Se,p(r.$t(`views.settings.app`)),1),_(J)?(l(),y(c,{key:0,class:`w-[15px] h-[15px] m-0`,"stroke-width":`5`})):(l(),m(`span`,Ce,`v`+p(_(W)),1))])):S(``,!0),_(!1)&&_(B)?(l(),m(`div`,C,[f(`span`,w,p(r.$t(`views.settings.app`)),1),f(`span`,T,[g(` v`+p(_(B)),1),_(V)&&_(V)!==_(B)?(l(),m(`span`,E,` (`+p(_(V))+`)`,1)):S(``,!0)])])):S(``,!0),f(`div`,D,[f(`span`,O,p(r.$t(`views.settings.server`)),1),_(J)?(l(),y(c,{key:0,class:`w-[15px] h-[15px] m-0`,"stroke-width":`5`})):(l(),m(`span`,k,[g(` v`+p(_(U)),1),_(X)?(l(),m(ne,{key:0},[g(` → v`+p(_(Y)),1)],64)):S(``,!0)]))]),_(q)?S(``,!0):(l(),m(`div`,A,[i[4]||=f(`div`,{class:`ml-auto`},null,-1),_(X)?(l(),y(u,{key:0,loading:_(J),disabled:_(Z),class:`cui-button-medium`,label:`${r.$t(`components.form.button.restart`)} (v${_(Y)})`,onClick:i[0]||=e=>$(`restart`)},null,8,[`loading`,`disabled`,`label`])):S(``,!0),b(u,{loading:_(J),disabled:_(Z),class:`cui-button-medium`,label:r.$t(`components.form.button.manage`),onClick:i[1]||=e=>$(`versions`)},null,8,[`loading`,`disabled`,`label`])]))])]),_:1})]),_(L)?S(``,!0):(l(),m(`div`,we,[f(`span`,Te,p(r.$t(`views.settings.certificate`)),1),b(s,{class:`cui-card`},{content:d(()=>[f(`div`,Ee,[f(`span`,De,p(r.$t(`views.settings.certificate_info`)),1),b(u,{loading:_(G)||_(J),disabled:_(Z),class:`cui-button-medium ml-auto`,label:r.$t(`components.form.button.download`),onClick:Q},null,8,[`loading`,`disabled`,`label`])])]),_:1})])),f(`div`,null,[f(`span`,Oe,p(r.$t(`views.settings.restart_server`)),1),b(s,{class:`cui-card`},{content:d(()=>[f(`div`,ke,[f(`span`,Ae,p(r.$t(`views.settings.restart_server_info`)),1),b(u,{loading:_(J),disabled:_(Z),class:`cui-button-medium ml-auto`,label:r.$t(`components.form.button.restart`),onClick:i[2]||=e=>$(`restart`)},null,8,[`loading`,`disabled`,`label`])])]),_:1})]),(`hasPermission`in r?r.hasPermission:_(ee))(void 0,`master`)?(l(),m(`div`,je,[f(`span`,Me,p(r.$t(`views.settings.reset_server`)),1),b(s,{class:`cui-card !border-red-900`},{content:d(()=>[f(`div`,Ne,[f(`span`,Pe,p(r.$t(`views.settings.reset_server_info`)),1),b(u,{loading:_(J),disabled:_(Z),class:`cui-button-medium ml-auto`,label:r.$t(`components.form.button.reset`),onClick:i[3]||=e=>$(`reset`)},null,8,[`loading`,`disabled`,`label`])])]),_:1})])):S(``,!0)])])}}});export{j as default};
@@ -0,0 +1 @@
1
+ import{Bt as e,F as t,G as n,Pt as r,Rt as i,Wt as a,zr as o}from"./vendor-cameraui-4iwjOYwz.js";import{E as s,O as c,ct as l,in as u,rn as d,sr as f,ur as p,xn as m}from"./api-C_bOaXk2.js";import{Gn as h,Nn as g,Xn as _,Zn as v,_r as y,an as b,b as x,bn as S,br as C,cn as w,cr as T,fn as E,fr as D,gr as O,hn as k,in as A,ir as j,mr as M,on as N,pn as P,qt as F,rr as I,sn as L,v as R,wn as z,y as B,yr as V}from"./vendor-BaiDFVEr.js";import{a as H}from"./intercomService-BpTOoSQi.js";import{I as ee,R as U,S as W,j as G,s as K}from"./vendor-primevue-DMAuiM9b.js";import{t as te}from"./delete-BF6keuqy.js";import{t as ne}from"./CuiDataTable-CIP95jVF.js";import{n as re,t as ie}from"./auth-BPSOBTDX.js";var q={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function J(e,t){return g(),w(`svg`,q,[...t[0]||=[b(`path`,{fill:`currentColor`,d:`m21.7 13.35l-1 1l-2.05-2.05l1-1a.55.55 0 0 1 .77 0l1.28 1.28c.21.21.21.56 0 .77M12 18.94l6.06-6.06l2.05 2.05L14.06 21H12zM12 14c-4.42 0-8 1.79-8 4v2h6v-1.89l4-4c-.66-.08-1.33-.11-2-.11m0-10a4 4 0 0 0-4 4a4 4 0 0 0 4 4a4 4 0 0 0 4-4a4 4 0 0 0-4-4`},null,-1)]])}var ae=j({name:`mdi-account-edit`,render:J}),Y={for:`username`,class:`cui-label`},X={for:`password`,class:`cui-label`},Z={for:`passwordConfirm`,class:`cui-label`},Q={for:`role`,class:`cui-label`},oe=k({__name:`UserForm`,props:{user:{}},setup(e,{expose:n}){let r=new f,i=e,a=H(),l=p(),{t:u}=o(),d=S(`dialogRefProps`),{mutateAsync:m,isPending:v}=r.createUserQuery(),{mutateAsync:y,isPending:w}=r.patchUserQuery(),{user:E}=M(i),D=h(`formRef`),k=T({}),j=T([`user`,`admin`]),I=A(()=>!!(d.loading?.value||v.value||w.value));async function V(){let e=await D.value?.validate();if(!e?.valid)return a.error(`Validation failed`,e),l.add({severity:`error`,detail:u(`components.toast.validation_failed`),life:3e3}),null;E.value?await y({username:E.value.username,userData:k.value}):await m({userData:k.value})}return n({isLoading:I,onConfirm:V}),(e,n)=>{let r=t,i=U,a=K,o=G;return g(),N(O(x),{ref_key:`formRef`,ref:D,class:`flex flex-col gap-6`,"validation-schema":O(E)?O(c):O(s)},{default:_(()=>[P(O(B),{modelValue:O(k).username,"onUpdate:modelValue":n[0]||=e=>O(k).username=e,modelModifiers:{trim:!0},value:O(E)?.username??O(k).username,name:`username`,as:`div`,class:`flex flex-col field-gap`},{default:_(({field:t,errors:n})=>[b(`label`,Y,C(e.$t(`components.form.label.username`)),1),P(i,null,{default:_(()=>[P(r,z(t,{invalid:n.length>0,loading:O(I),type:`text`}),null,16,[`invalid`,`loading`])]),_:2},1024),P(F,{name:`fade`},{default:_(()=>[P(O(R),{name:`username`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`,`value`]),P(O(B),{modelValue:O(k).password,"onUpdate:modelValue":n[1]||=e=>O(k).password=e,name:`password`,as:`div`,class:`flex flex-col field-gap`},{default:_(({field:t,errors:n})=>[b(`label`,X,C(e.$t(`components.form.label.new_password`)),1),P(i,null,{default:_(()=>[P(a,z({invalid:n.length>0},t,{loading:O(I),feedback:!1,"toggle-mask":``}),null,16,[`invalid`,`loading`])]),_:2},1024),P(F,{name:`fade`},{default:_(()=>[P(O(R),{name:`password`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`]),P(O(B),{modelValue:O(k).passwordConfirm,"onUpdate:modelValue":n[2]||=e=>O(k).passwordConfirm=e,name:`passwordConfirm`,as:`div`,class:`flex flex-col field-gap`},{default:_(({field:t,errors:n})=>[b(`label`,Z,C(e.$t(`components.form.label.new_password_confirm`)),1),P(i,null,{default:_(()=>[P(a,z({invalid:n.length>0},t,{loading:O(I),feedback:!1,"toggle-mask":``}),null,16,[`invalid`,`loading`])]),_:2},1024),P(F,{name:`fade`},{default:_(()=>[P(O(R),{name:`passwordConfirm`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`]),O(E)?.role===`master`?L(``,!0):(g(),N(O(B),{key:0,"model-value":O(k).role,name:`role`,as:`div`,class:`flex flex-col field-gap`},{default:_(({errors:t})=>[b(`label`,Q,C(e.$t(`components.form.label.role`)),1),P(i,null,{default:_(()=>[P(o,{"model-value":O(E)?.role??O(k).role,options:O(j),invalid:t.length>0,loading:O(I),type:`text`,onValueChange:n[3]||=e=>O(k).role=e},null,8,[`model-value`,`options`,`invalid`,`loading`])]),_:2},1024),P(F,{name:`fade`},{default:_(()=>[P(O(R),{name:`role`,class:`cui-input-error`})]),_:1})]),_:1},8,[`model-value`]))]),_:1},8,[`validation-schema`])}}}),se={class:`flex flex-col w-full gap-6`},ce={class:`card-title`},le={class:`flex flex-col gap-6`},$={class:`flex items-center gap-2`},ue={class:`flex flex-col`},de={class:`text-sm font-semibold text-color`},fe={class:`text-xs text-muted`},pe={class:`relative w-6 h-6`},me={class:`flex flex-row items-end justify-end gap-2`},he={class:`card-title`},ge={class:`flex items-center justify-center`},_e={class:`font-medium block max-w-[200px] truncate`},ve={class:`text-muted text-sm`},ye=k({__name:`SettingsUsers`,setup(t){let s=new ie,c=new f,p=l(),{mdBreakpoint:x}=m(),{t:S}=o(),k=T({pageSize:15,page:1}),j=T({page:1,pageSize:-1}),{data:M,isBusy:F}=c.getUsersQuery(k),{mutate:L,isPending:R}=c.removeUserQuery(),{data:z,isBusy:B}=s.listAllSessionsQuery(j),{mutate:H,isPending:U}=s.revokeSessionQuery(),G={bodyRow:{class:`text-sm text-secondary`},column:{columnTitle:{class:`text-sm`}}},K=T({global:{value:null,matchMode:ee.CONTAINS}}),q=h(`menuRef`),J=A(()=>F.value||R.value),Y=A(()=>z.value??[]),X=A(()=>!!B.value),Z=A(()=>[{label:S(`views.settings.edit`),icon:ae,buttonProps:{disabled:J.value},onClick:e=>{Q(e)}},{label:S(`views.settings.remove`),icon:te,iconProps:{class:`text-red-500`},labelProps:{class:`text-red-500`},buttonProps:{disabled:J.value,severity:`danger`},onClick:e=>{L({username:e.username})}}]);function Q(e){p.openComponentDialog(oe,{data:{title:S(e?`components.dialog.title.edit_user`:`components.dialog.title.create_new_user`),confirmText:S(e?`components.form.button.save`:`components.form.button.add`),loading:J,contentProps:{user:D(e)}}})}return(t,o)=>{let s=r,c=u,l=W,f=i,p=ne,m=n,h=e,S=re,T=a;return g(),w(`div`,null,[b(`div`,se,[b(`div`,null,[b(`span`,ce,C(t.$t(`views.settings.registered_users`)),1),P(m,{class:`cui-card`},{content:_(()=>[b(`div`,le,[P(p,{filters:O(K),"onUpdate:filters":o[0]||=e=>I(K)?K.value=e:null,value:O(M)?.result,paginator:O(k).page>1||O(M)?.result&&O(M).result.length>15,"data-key":`id`,"filter-display":`menu`,loading:O(J),"global-filter-fields":[`username`],pt:G,"striped-rows":``,scrollable:``},{loading:_(()=>[P(s,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),default:_(()=>[P(l,{field:`username`,"align-frozen":`left`,frozen:!O(x),header:t.$t(`views.settings.title_user`),"header-class":`p-2 h-7 min-h-7 max-h-7 w-40 min-w-40 max-w-40`,class:`p-2 h-7 min-h-7 max-h-7 w-40 min-w-40 max-w-40`},{body:_(({data:e})=>[b(`div`,$,[P(c,{src:e.avatar,size:54},null,8,[`src`]),b(`div`,ue,[b(`span`,de,C(e.username),1),b(`span`,fe,C(e.role),1)])])]),_:1},8,[`frozen`,`header`]),P(l,{field:`action`,"header-class":`p-2 h-7 min-h-7 max-h-7`,class:`p-2 h-7 min-h-7 max-h-7 text-right`},{body:_(({data:e})=>[b(`div`,null,[P(f,{severity:`secondary`,text:``,rounded:``,loading:O(J),class:`cui-icon-md`,onClick:t=>O(q)?.toggleMenu(t,void 0,e)},{icon:_(()=>[b(`div`,pe,[b(`div`,{class:y([`absolute top-1 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full transform transition-all duration-100 origin-center bg-current`,{"w-4 h-[2px] rotate-45 top-1/2 -translate-y-1/2 rounded-none":O(q)?.isOpen&&O(q)?.data?._id===e._id}])},null,2),b(`div`,{class:y([`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-1 h-1 rounded-full transition-all duration-100 bg-current`,{"opacity-0 scale-0":O(q)?.isOpen&&O(q)?.data?._id===e._id}])},null,2),b(`div`,{class:y([`absolute bottom-1 left-1/2 -translate-x-1/2 w-1 h-1 rounded-full transform transition-all duration-100 origin-center bg-current`,{"w-4 h-[2px] -rotate-45 bottom-1/2 translate-y-1/2 rounded-none":O(q)?.isOpen&&O(q)?.data?._id===e._id}])},null,2)])]),_:2},1032,[`loading`,`onClick`])])]),_:1})]),_:1},8,[`filters`,`value`,`paginator`,`loading`]),b(`div`,me,[P(f,{severity:`success`,loading:O(J),class:`cui-button-medium mr-4 md:mr-0`,label:t.$t(`components.form.button.create_new_user`),onClick:o[1]||=e=>Q()},null,8,[`loading`,`label`])])])]),_:1})]),b(`div`,null,[b(`span`,he,C(t.$t(`views.settings.logged_in_users`)),1),P(m,{class:`cui-card`},{content:_(()=>[P(p,{value:O(Y),loading:O(X),pt:G,"striped-rows":``,scrollable:``},{loading:_(()=>[P(s,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:_(()=>[b(`span`,ve,C(t.$t(`views.settings.no_sessions`)),1)]),default:_(()=>[P(l,{field:`status`,header:``,style:{width:`3rem`}},{body:_(({data:e})=>[b(`div`,ge,[v(P(h,{style:V({background:e.is_current?`var(--primary-500)`:`transparent`})},null,8,[`style`]),[[T,{value:e.is_current?t.$t(`components.user_table.you`):void 0}]])])]),_:1}),P(l,{field:`device.name`,header:t.$t(`components.user_table.title_device`)},{body:_(({data:e})=>[b(`span`,_e,C(e.device.name),1)]),_:1},8,[`header`]),P(l,{field:`device.ip`,header:t.$t(`components.user_table.title_address`)},{body:_(({data:e})=>[E(C(e.device.ip??`-`),1)]),_:1},8,[`header`]),P(l,{field:`device.kind`,header:t.$t(`components.user_table.title_kind`)},null,8,[`header`]),P(l,{field:`action`,class:`text-right`},{body:_(({data:e})=>[v((g(),N(f,{severity:`danger`,text:``,rounded:``,loading:O(U),class:`cui-icon-md`,onClick:t=>O(H)({id:e.id})},{icon:_(()=>[P(S,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`onClick`])),[[T,{value:t.$t(`views.settings.active_sessions.revoke`)}]])]),_:1})]),_:1},8,[`value`,`loading`])]),_:1})])]),P(d,{ref_key:`menuRef`,ref:q,items:O(Z),popover:{pt:{content:{class:`p-0! rounded-xl! overflow-hidden!`}}}},null,8,[`items`])])}}});export{ye as default};
@@ -0,0 +1,4 @@
1
+ import{Mt as e,Rt as t,Wt as n,ei as r,ki as i,oi as a,zr as o}from"./vendor-cameraui-4iwjOYwz.js";import{B as s,kn as c,m as l,vn as u,xn as d}from"./api-C_bOaXk2.js";import{$t as f,Fn as p,Gn as m,Mn as h,Nn as g,Tn as _,Xn as v,Zn as y,Zt as b,_r as x,an as S,br as C,cn as w,cr as T,dr as ee,en as E,gr as D,hn as O,in as k,ir as A,jn as j,mr as te,on as M,or as N,pn as P,qn as F,sn as I,wn as ne,yr as L,zn as R}from"./vendor-BaiDFVEr.js";import{a as re}from"./intercomService-BpTOoSQi.js";import{p as z}from"./vendor-core-gJradu21.js";import{o as B}from"./vendor-primevue-DMAuiM9b.js";import{a as V,i as H,n as U,r as W,t as G}from"./vendor-xterm-BafMBqaV.js";import{t as ie}from"./back-filled-DcBDBvvP.js";import{t as K}from"./settings-BUEZ5iRE.js";import{n as ae,t as oe}from"./zoom-in-Du1IB9oA.js";import{n as se,t as ce}from"./CuiTopNavbarItem-Dq3Esl1S.js";import{t as le}from"./trash-2-DMMlSPXn.js";var q={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function ue(e,t){return g(),w(`svg`,q,[...t[0]||=[S(`path`,{fill:`currentColor`,d:`M18 28A12 12 0 1 0 6 16v6.2l-3.6-3.6L1 20l6 6l6-6l-1.4-1.4L8 22.2V16a10 10 0 1 1 10 10Z`},null,-1)]])}var de=A({name:`carbon-reset`,render:ue}),fe={viewBox:`0 0 32 32`,width:`1.2em`,height:`1.2em`};function J(e,t){return g(),w(`svg`,fe,[...t[0]||=[S(`path`,{fill:`currentColor`,d:`M17 15V8h-2v7H8v2h7v7h2v-7h7v-2z`},null,-1)]])}var pe=A({name:`carbon-add`,render:J}),me=u(O({__name:`CuiTerminal`,props:{autoConnect:{type:Boolean,default:!0},cwd:{},shell:{},options:{default:()=>({fontSize:14})},inputTransform:{}},emits:[`connected`,`disconnected`,`error`],setup(t,{expose:n,emit:a}){let o=t,s=a,{isConnected:c,isConnecting:l,isClientConnected:u,error:d,connect:f,write:p,resize:v,close:y}=e(),{options:b}=te(o),x={fontSize:14,scrollback:5e3,allowTransparency:!1,disableStdin:!1,cursorBlink:!0,allowProposedApi:!0,theme:{background:`#000000`}},S={"\x1B[A":`\x1BOA`,"\x1B[B":`\x1BOB`,"\x1B[C":`\x1BOC`,"\x1B[D":`\x1BOD`,"\x1B[H":`\x1BOH`,"\x1B[F":`\x1BOF`},C=m(`terminalContainerRef`),T=ee(null),E=null,D=null,O=null,k=null,A=r(C);function M(e){c.value&&p(o.inputTransform?o.inputTransform(e):e)}function N(e){T.value&&T.value.write(e)}function P(){if(!(!T.value||!E))try{E.fit()}catch{}}function I(){P(),c.value&&T.value&&v({cols:T.value.cols,rows:T.value.rows})}function ne(){T.value&&_(()=>{P(),T.value&&(T.value.refresh(0,T.value.rows-1),T.value.focus())})}let L=i(I,100);function R(e){if(e)try{e.dispose()}catch{}}function re(){C.value&&(T.value=new G({...x,...b.value}),E=new V,k=new U,D=new H,O=new W,T.value.loadAddon(D),T.value.loadAddon(O),T.value.loadAddon(k),T.value.loadAddon(E),T.value.open(C.value),T.value.onData(M),T.value.onResize(({cols:e,rows:t})=>{c.value&&v({cols:e,rows:t})}),k.onContextLoss(()=>{R(k),k=null}),I())}async function z(){T.value&&await f({cols:T.value.cols,rows:T.value.rows,cwd:o.cwd,shell:o.shell,onData:N,onClose:()=>{T.value?.write(`\r
2
+ \x1B[33mSession closed.\x1B[0m\r
3
+ `)},onError:e=>{s(`error`,e)}})}async function B(){await y()}function ie(){T.value?.clear()}function K(){T.value?.focus()}function ae(e){T.value?.modes.applicationCursorKeysMode&&(e=S[e]??e),M(e)}return F(b,()=>{T.value&&(T.value.options={...x,...b.value},L())},{deep:!0}),F(c,e=>{e?(s(`connected`),_(()=>T.value?.focus())):s(`disconnected`)}),F([A.height,A.width],()=>{L()}),j(()=>{re(),o.autoConnect&&z()}),h(()=>{y(),R(E),R(k),R(D),R(O),R(T.value)}),n({connect:z,disconnect:B,clear:ie,focus:K,resize:I,refresh:ne,sendInput:ae,isConnected:c,isConnecting:l,isClientConnected:u,error:d,term:T}),(e,t)=>(g(),w(`div`,{ref_key:`terminalContainerRef`,ref:C,class:`cui-terminal w-full h-full bg-black overflow-hidden p-2 min-w-0`},null,512))}}),[[`__scopeId`,`data-v-82bcb47c`]]),Y=[{id:`esc`,label:`Esc`,sequence:`\x1B`},{id:`tab`,label:`Tab`,sequence:` `},{id:`ctrl`,label:`Ctrl`,sequence:``,modifier:!0},{id:`alt`,label:`Alt`,sequence:``,modifier:!0},{id:`home`,label:`Home`,sequence:`\x1B[H`},{id:`end`,label:`End`,sequence:`\x1B[F`},{id:`up`,label:`↑`,sequence:`\x1B[A`},{id:`down`,label:`↓`,sequence:`\x1B[B`},{id:`left`,label:`←`,sequence:`\x1B[D`},{id:`right`,label:`→`,sequence:`\x1B[C`},{id:`pgup`,label:`PgUp`,sequence:`\x1B[5~`},{id:`pgdn`,label:`PgDn`,sequence:`\x1B[6~`},{id:`del`,label:`Del`,sequence:`\x1B[3~`},{id:`slash`,label:`/`,sequence:`/`},{id:`dash`,label:`-`,sequence:`-`},{id:`pipe`,label:`|`,sequence:`|`},{id:`tilde`,label:`~`,sequence:`~`},{id:`underscore`,label:`_`,sequence:`_`}],X=[`tab`,`ctrl`,`up`,`down`,`left`,`right`],Z={a:``,b:``,c:``,d:``,e:``,f:``,g:`\x07`,h:`\b`,i:` `,j:`
4
+ `,k:`\v`,l:`\f`,m:`\r`,n:``,o:``,p:``,q:``,r:``,s:``,t:``,u:``,v:``,w:``,x:``,y:``,z:``},he=[`onPointerdown`],Q={key:0,class:`flex flex-wrap gap-1.5 px-2 py-2 bg-black/90 border-t border-white/10`},ge=[`onClick`],_e=u(O({__name:`CuiTerminalToolbar`,emits:[`send`],setup(e,{expose:t,emit:n}){let r=n,{smBreakpoint:i}=d(),o=Y,s=a(`cui-terminal-toolbar-keys`,X),c=T(!1),l=N(new Set),u=k(()=>s.value.map(e=>o.find(t=>t.id===e)).filter(Boolean));function m(e){if(l.has(`ctrl`)&&e.length===1){let t=Z[e.toLowerCase()];if(t)return t}return l.has(`alt`)&&e.length===1?`\x1b${e}`:e}function h(e){if(e.modifier){l.has(e.id)?l.delete(e.id):l.add(e.id);return}let t=m(e.sequence);r(`send`,t),l.clear()}function _(e){let t=s.value.indexOf(e);t>=0?s.value.splice(t,1):s.value.push(e)}return t({activeModifiers:l,applyModifiers:m}),(e,t)=>{let n=K;return g(),w(`div`,null,[S(`div`,{class:x([`cui-terminal-toolbar flex items-center gap-1 px-2 py-1.5 bg-black/80 border-t border-white/10 overflow-x-auto no-scrollbar`,{"pt-3":!D(i)}])},[(g(!0),w(E,null,p(D(u),e=>(g(),w(`button`,{key:e.id,class:x([`toolbar-key flex-shrink-0 px-2.5 py-1.5 rounded text-xs font-mono select-none transition-colors duration-100 border min-w-[32px] text-center cursor-pointer`,{"bg-white/20 border-white/30 text-white":e.modifier&&D(l).has(e.id),"bg-white/5 border-white/10 text-white/70 hover:bg-white/15 hover:text-white active:bg-white/25":!(e.modifier&&D(l).has(e.id))}]),onPointerdown:f(t=>h(e),[`prevent`])},C(e.label),43,he))),128)),S(`button`,{class:x([`toolbar-key flex-shrink-0 px-2 py-1.5 rounded text-xs select-none transition-colors duration-100 border ml-auto`,{"bg-white/20 border-white/30 text-white":D(c),"bg-white/5 border-white/10 text-white/50 hover:bg-white/15 hover:text-white":!D(c)}]),onPointerdown:t[0]||=f(e=>c.value=!D(c),[`prevent`])},[P(n,{class:`w-3.5 h-3.5`})],34)],2),D(c)?(g(),w(`div`,Q,[(g(!0),w(E,null,p(D(o),e=>(g(),w(`button`,{key:e.id,class:x([`px-2.5 py-1 rounded text-xs font-mono select-none transition-colors duration-100 border`,{"bg-white/20 border-white/30 text-white":D(s).includes(e.id),"bg-white/5 border-white/10 text-white/30":!D(s).includes(e.id)}]),onClick:t=>_(e.id)},C(e.label),11,ge))),128))])):I(``,!0)])}}}),[[`__scopeId`,`data-v-e111c595`]]),ve={class:`h-full w-full dark-mode relative overflow-hidden`},ye={class:`relative w-6 h-6`},$=O({__name:`Terminal`,props:{navbarWidth:{default:0},navbarLeft:{default:0}},setup(e){let i=e,a=re(),{t:u}=o(),d=c(),{uiSettings:f}=z(d),{navbarWidth:C,navbarLeft:ee}=te(i),O=m(`toolbar`),A=T([]),N=T(``),F=T(0),I=new Map,V=window.innerHeight,H=0,U=r(O),W=k(()=>C.value+ee.value),G=k(()=>{let e=document.getElementById(`container`);return e&&parseFloat(getComputedStyle(e).paddingBottom)||0}),K=k(()=>F.value<=0?0:Math.max(0,F.value-G.value)),q=k(()=>A.value.find(e=>e.id===N.value)),ue=k(()=>({fontSize:f.value.console.zoom})),fe=T([{label:u(`components.form.tooltip.clear`),icon:le,buttonProps:{severity:`danger`},command:()=>{Q()?.clear()}},{label:u(`components.form.tooltip.zoom_out`),icon:ae,command:()=>{ke()}},{label:u(`components.form.tooltip.zoom_in`),icon:oe,command:()=>{Oe()}}]);function J(){V=window.innerHeight,Y()}function Y(){let e=window.visualViewport;if(!e)return;let t=Math.max(0,V-e.height-e.offsetTop);t!==F.value&&(F.value=t,Z(t>0))}function X(e){e.target?.closest?.(`.cui-terminal-toolbar`)||e.preventDefault()}function Z(e){e?(document.addEventListener(`touchmove`,X,{passive:!1}),document.documentElement.style.overscrollBehavior=`none`):(document.removeEventListener(`touchmove`,X),document.documentElement.style.overscrollBehavior=``)}function he(e,t){t?I.set(e,t):I.delete(e)}function Q(){return I.get(N.value)}function ge(){return H++,{id:l(12),name:`Terminal ${H}`,isConnected:!1,isConnecting:!0}}function $(){let e=ge();A.value.push(e),N.value=e.id}async function be(e){let t=A.value.findIndex(t=>t.id===e);if(t===-1)return;let n=I.get(e);if(n&&await n.disconnect(),A.value.splice(t,1),I.delete(e),N.value===e&&A.value.length>0){let e=Math.min(t,A.value.length-1);N.value=A.value[e].id,_(()=>{Q()?.refresh()})}}function xe(e){N.value=e,_(()=>{I.get(e)?.refresh()})}function Se(e){if(!O.value?.activeModifiers?.size)return e;let t=O.value.applyModifiers(e);return O.value.activeModifiers.clear(),t}function Ce(e){Q()?.sendInput(e)}async function we(){let e=Q();e&&(await e.disconnect(),await e.connect())}function Te(e){let t=A.value.find(t=>t.id===e);t&&(t.isConnected=!0,t.isConnecting=!1),e===N.value&&_(()=>{Q()?.refresh()})}function Ee(e){let t=A.value.find(t=>t.id===e);t&&(t.isConnected=!1,t.isConnecting=!1)}function De(e,t){a.error(`Terminal ${e} error:`,t);let n=A.value.find(t=>t.id===e);n&&(n.isConnected=!1,n.isConnecting=!1)}function Oe(){f.value.console.zoom!==20&&(f.value.console.zoom++,_(()=>{Q()?.resize()}))}function ke(){f.value.console.zoom!==8&&(f.value.console.zoom--,_(()=>{Q()?.resize()}))}return j(()=>{window.addEventListener(`resize`,J);let e=window.visualViewport;e&&(e.addEventListener(`resize`,Y),e.addEventListener(`scroll`,Y)),$()}),h(()=>{window.removeEventListener(`resize`,J);let e=window.visualViewport;e&&(e.removeEventListener(`resize`,Y),e.removeEventListener(`scroll`,Y)),Z(!1)}),(e,r)=>{let i=ie,a=t,o=s,c=ce,l=pe,d=se,f=B,m=de,h=n;return g(),w(`div`,ve,[P(o,{position:`left`},{default:v(()=>[P(a,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:r[0]||=t=>e.$router.push(`/menu`)},{icon:v(()=>[P(i,{class:`w-6 h-6`})]),_:1})]),_:1}),P(d,{scrollable:``,"left-offset":D(W),animate:``},{left:v(()=>[(g(!0),w(E,null,p(D(A),e=>(g(),M(c,{key:e.id,type:`tab`,label:e.name,active:D(N)===e.id,status:e.isConnected?`connected`:e.isConnecting?`connecting`:`disconnected`,closeable:D(A).length>1,onClick:t=>xe(e.id),onClose:t=>be(e.id)},null,8,[`label`,`active`,`status`,`closeable`,`onClick`,`onClose`]))),128)),y((g(),M(c,{type:`button`,onClick:$},{icon:v(()=>[P(l,{class:`w-4 h-4`})]),_:1})),[[h,D(u)(`views.terminal.new_tab`)]])]),_:1},8,[`left-offset`]),S(`div`,{class:`w-full flex flex-col relative`,style:L({paddingTop:`${D(55)}px`,height:`calc(100% - ${D(K)}px)`,transition:`height 150ms ease-out`})},[S(`div`,{class:x([`flex-1 relative min-h-0 overflow-hidden`,{"pb-1":D(F)>0}])},[(g(!0),w(E,null,p(D(A),e=>y((g(),M(me,{key:e.id,ref_for:!0,ref:t=>he(e.id,t),options:D(ue),"input-transform":Se,"auto-connect":``,onConnected:()=>Te(e.id),onDisconnected:()=>Ee(e.id),onError:t=>De(e.id,t)},null,8,[`options`,`onConnected`,`onDisconnected`,`onError`])),[[b,D(N)===e.id]])),128))],2),P(_e,{ref_key:`toolbar`,ref:O,onSend:Ce},null,512)],4),P(f,{model:D(fe),direction:`up`,"transition-delay":80,"tooltip-options":{position:`left`,event:void 0},class:`absolute right-3 z-11`,pt:{root:{style:`pointer-events: none`}},style:L({bottom:`calc(0.75rem + ${D(U).height.value}px + ${D(K)}px)`,transition:`bottom 150ms ease-out`})},{button:v(({visible:e,toggleCallback:t})=>[P(a,{severity:`secondary`,class:x([`dark-mode opacity-40 hover:opacity-100 active:opacity-100 focus:opacity-100 transition pointer-events-auto`,{"opacity-100":e}]),rounded:``,onClick:t},{icon:v(()=>[S(`div`,ye,[S(`div`,{class:x([`absolute top-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center`,{"w-4 h-[2px] rotate-45 top-1/2 -translate-y-1/2 rounded-none":e}]),style:{backgroundColor:`var(--text-color)`}},null,2),S(`div`,{class:x([`absolute top-1/2 left-1/2 -translate-x-1/2 -translate-y-1/2 w-1.5 h-1.5 rounded-full transition-all duration-100`,{"opacity-0 scale-0":e}]),style:{backgroundColor:`var(--text-color)`}},null,2),S(`div`,{class:x([`absolute bottom-0.5 left-1/2 -translate-x-1/2 w-1.5 h-1.5 rounded-full transform transition-all duration-100 origin-center`,{"w-4 h-[2px] -rotate-45 bottom-1/2 translate-y-1/2 rounded-none":e}]),style:{backgroundColor:`var(--text-color)`}},null,2)])]),_:2},1032,[`class`,`onClick`])]),item:v(({item:e,toggleCallback:t})=>[y((g(),M(a,ne({severity:`secondary`},e.buttonProps,{rounded:``,onClick:t}),{icon:v(()=>[(g(),M(R(e.icon)))]),_:2},1040,[`onClick`])),[[h,{value:e.label}]])]),_:1},8,[`model`,`style`]),y((g(),M(a,{class:x([`opacity-40 hover:opacity-100 active:opacity-100 focus:opacity-100 transition absolute right-14 z-11`,{"!opacity-20 pointer-events-none":D(q)?.isConnected||D(q)?.isConnecting}]),style:L({bottom:`calc(0.75rem + ${D(U).height.value}px + ${D(K)}px)`,transition:`bottom 150ms ease-out`}),rounded:``,disabled:D(q)?.isConnected||D(q)?.isConnecting,onClick:we},{icon:v(()=>[P(m,{class:`text-white`})]),_:1},8,[`class`,`style`,`disabled`])),[[h,D(u)(`views.terminal.reconnect`)]])])}}});export{$ as default};
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./CuiMarkdownContent-DIycyLeP.js","./CuiMarkdownContent-PSq4kE1G.js","./vendor-BaiDFVEr.js","./rolldown-runtime-C0FnF6B9.js","./vendor-markdown-Bw_90xkF.js","./vendor-markdown-DtOhvyRx.css"])))=>i.map(i=>d[i]);
2
+ import{G as e,Pt as t,Rt as n,Wt as r,zr as i}from"./vendor-cameraui-4iwjOYwz.js";import{B as a,ct as o,lt as s,xn as c}from"./api-C_bOaXk2.js";import{Fn as l,Nn as u,Rt as d,Xn as f,Zn as p,_r as ee,an as m,br as h,cn as g,cr as _,en as v,fn as y,gr as b,hn as x,in as S,ir as C,jn as w,on as T,pn as E,sn as D}from"./vendor-BaiDFVEr.js";import{p as O}from"./vendor-core-gJradu21.js";import{z as k}from"./vendor-primevue-DMAuiM9b.js";import{a as A}from"./server-B_MuqJ5z.js";import{t as te}from"./check-circle-Do_mBN_A.js";import{t as j}from"./alert-circle-C2AU59aR.js";import{c as M}from"./plugins-DBBFdZKH.js";import{t as N}from"./information-outline-BQDq8w2t.js";import{t as ne}from"./back-filled-DcBDBvvP.js";import{t as re}from"./refresh-Ds2EayhZ.js";import{t as P}from"./updates-CVapvGAI.js";var F={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function I(e,t){return u(),g(`svg`,F,[...t[0]||=[m(`path`,{fill:`currentColor`,d:`M5 3c-1.11 0-2 .89-2 2v14c0 1.11.89 2 2 2h14c1.11 0 2-.89 2-2V5c0-1.11-.89-2-2-2zm0 2h14v14H5zm2 2v2h10V7zm0 4v2h10v-2zm0 4v2h7v-2z`},null,-1)]])}var L=C({name:`mdi-text-box-outline`,render:I}),R={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function z(e,t){return u(),g(`svg`,R,[...t[0]||=[m(`path`,{fill:`currentColor`,d:`M13 18v-8l3.5 3.5l1.42-1.42L12 6.16l-5.92 5.92L7.5 13.5L11 10v8zM12 2a10 10 0 0 1 10 10a10 10 0 0 1-10 10A10 10 0 0 1 2 12A10 10 0 0 1 12 2`},null,-1)]])}var ie=C({name:`mdi-arrow-up-circle`,render:z}),B={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function V(e,t){return u(),g(`svg`,B,[...t[0]||=[m(`path`,{fill:`currentColor`,d:`M13 18h-2v-8l-3.5 3.5l-1.42-1.42L12 6.16l5.92 5.92l-1.42 1.42L13 10zM12 2a10 10 0 0 1 10 10a10 10 0 0 1-10 10A10 10 0 0 1 2 12A10 10 0 0 1 12 2m0 2a8 8 0 0 0-8 8a8 8 0 0 0 8 8a8 8 0 0 0 8-8a8 8 0 0 0-8-8`},null,-1)]])}var ae=C({name:`mdi-arrow-up-circle-outline`,render:V}),H={viewBox:`0 0 24 24`,width:`1.2em`,height:`1.2em`};function U(e,t){return u(),g(`svg`,H,[...t[0]||=[m(`path`,{fill:`currentColor`,d:`M12 2C6.5 2 2 6.5 2 12s4.5 10 10 10s10-4.5 10-10S17.5 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8s8 3.59 8 8s-3.59 8-8 8m4.59-12.42L10 14.17l-2.59-2.58L6 13l4 4l8-8z`},null,-1)]])}var W=C({name:`mdi-check-circle-outline`,render:U}),G={class:`flex flex-col`},K={class:`text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},q={key:0,class:`flex items-center justify-center py-10`},J={key:2,class:`text-sm text-muted`},Y=x({__name:`UpdateChangelog`,props:{kind:{},name:{},version:{}},setup(e){let n=s(()=>d(()=>import(`./CuiMarkdownContent-DIycyLeP.js`),__vite__mapDeps([0,1,2,3,4,5]),import.meta.url)),r=e,i=_(``),a=_(!0);return w(async()=>{let e=new AbortController;try{r.kind===`plugin`?i.value=await M({pluginName:r.name,query:r.version?{pluginversion:r.version}:void 0,signal:e.signal}):i.value=await A({version:r.version??`latest`,signal:e.signal})}catch{i.value=``}finally{a.value=!1}}),(e,r)=>{let o=t;return u(),g(`div`,G,[m(`h3`,K,h(e.$t(`components.form.label.changelog`)),1),b(a)?(u(),g(`div`,q,[E(o,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):b(i)?(u(),T(b(n),{key:1,content:b(i)},null,8,[`content`])):(u(),g(`span`,J,h(e.$t(`views.updates.no_changelog`)),1))])}}}),oe={key:0,class:`flex items-center justify-between`},se={class:`page-title`},ce={key:1,class:`w-full flex items-center justify-center py-16`},le={key:2,class:`flex flex-col gap-6`},ue={key:0,class:`flex items-center gap-4`},de={class:`flex flex-col field-switch-gap min-w-0 flex-1`},fe={class:`text-sm font-bold text-color`},pe={key:1,class:`flex items-center gap-4`},me={class:`flex flex-col field-switch-gap min-w-0 flex-1`},he={class:`text-sm font-bold text-color`},ge={key:2,class:`flex flex-wrap items-center gap-4`},_e={class:`flex flex-col field-switch-gap min-w-0 flex-1`},ve={class:`text-sm font-bold text-color`},ye={class:`card-title`},be={class:`flex flex-col`},xe={class:`flex flex-col field-switch-gap min-w-0 flex-1`},Se={class:`text-sm font-bold text-color truncate`},Ce={key:0,class:`text-xs text-muted truncate`},X=x({__name:`Updates`,setup(s){let{t:d}=i(),_=o(),{smBreakpoint:x}=c(),C=P(),{status:A,runActive:M,cancelRequested:F,isChecking:I,checkedAt:R,runTotal:z,runDone:B,pendingCount:V,updatingItem:H,restartingItem:U,serverBusy:G,busy:K,allUpToDate:q,serverPending:J}=O(C),X=S(()=>[{kind:`server`,title:d(`views.updates.section_server`)},{kind:`plugin`,title:d(`views.updates.section_plugins`)},{kind:`worker`,title:d(`views.updates.section_workers`)}].map(e=>({...e,items:C.itemsOf(e.kind)})).filter(e=>e.items.length>0)),Z=S(()=>new Date(R.value).toLocaleTimeString());function we(e){return e.blockedReason===`legacy`?d(`views.updates.blocked_legacy`):d(`views.updates.blocked_desktop`)}function Q(e){_.openComponentDialog(Y,{data:{title:e.name,confirmText:d(`components.form.button.update`),contentProps:{kind:e.kind,name:e.packageName??e.name,version:e.latestVersion}},onConfirm:()=>C.updateItem(e.id)})}return w(()=>{C.connect()}),(i,o)=>{let s=re,c=n,d=ne,_=a,S=t,w=k,O=W,P=ae,R=e,Y=te,Te=j,Ee=N,De=ie,Oe=L,$=r;return u(),g(`div`,null,[b(x)?D(``,!0):(u(),g(`div`,oe,[m(`h1`,se,h(i.$t(`views.updates.title`)),1),p((u(),T(c,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-lg relative z-2`,loading:b(I),disabled:b(K),onClick:o[0]||=e=>b(C).refresh()},{icon:f(()=>[E(s,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`disabled`])),[[$,{value:i.$t(`views.updates.check_now`)},void 0,{bottom:!0}]])])),E(_,{position:`left`},{default:f(()=>[E(c,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:o[1]||=e=>i.$router.push(`/menu`)},{icon:f(()=>[E(d,{class:`w-6 h-6`})]),_:1})]),_:1}),E(_,{position:`right`},{default:f(()=>[E(c,{severity:`secondary`,class:`cui-button p-2 text-color`,text:``,rounded:``,loading:b(I),disabled:b(K),onClick:o[2]||=e=>b(C).refresh()},{icon:f(()=>[E(s,{width:`100%`,height:`100%`})]),_:1},8,[`loading`,`disabled`])]),_:1}),b(A)?(u(),g(`div`,le,[E(R,{class:`cui-card`},{content:f(()=>[b(M)?(u(),g(`div`,ue,[E(S,{class:`w-[26px] h-[26px] m-0 shrink-0`,"stroke-width":`5`}),m(`div`,de,[m(`span`,fe,h(b(H)?i.$t(`views.updates.run_updating`,{name:b(H).name}):b(U)?i.$t(`connection.restarting`):i.$t(`views.updates.run_preparing`)),1),E(w,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:f(()=>[y(h(i.$t(`views.updates.run_progress`,{done:b(B),total:b(z)}))+` `,1),b(J)?(u(),g(v,{key:0},[y(` · `+h(i.$t(`views.updates.run_server_last`)),1)],64)):D(``,!0)]),_:1})]),E(c,{severity:`secondary`,class:`cui-button-medium shrink-0`,disabled:b(F),label:b(F)?i.$t(`views.updates.cancelling`):i.$t(`components.form.button.cancel`),onClick:o[3]||=e=>b(C).cancelRun()},null,8,[`disabled`,`label`])])):b(q)?(u(),g(`div`,pe,[E(O,{class:`w-7 h-7 shrink-0 text-success`}),m(`div`,me,[m(`span`,he,h(i.$t(`views.updates.all_up_to_date`)),1),E(w,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:f(()=>[y(h(i.$t(`views.updates.checked_at`,{time:b(Z)})),1)]),_:1})])])):(u(),g(`div`,ge,[E(P,{class:`w-7 h-7 shrink-0 text-primary`}),m(`div`,_e,[m(`span`,ve,h(i.$t(`views.updates.pending_count`,{count:b(V)})),1),E(w,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:f(()=>[y(h(b(J)?i.$t(`views.updates.summary_server_hint`):i.$t(`views.updates.checked_at`,{time:b(Z)})),1)]),_:1})]),E(c,{class:`cui-button-medium shrink-0 ml-auto`,disabled:b(K),label:i.$t(`views.updates.update_all`),onClick:o[4]||=e=>b(C).updateAll()},null,8,[`disabled`,`label`])]))]),_:1}),(u(!0),g(v,null,l(b(X),e=>(u(),g(`div`,{key:e.kind},[m(`span`,ye,h(e.title),1),E(R,{class:`cui-card`},{content:f(()=>[m(`div`,be,[(u(!0),g(v,null,l(e.items,(e,t)=>(u(),g(`div`,{key:e.id,class:ee([`flex items-center gap-4 py-3`,{"border-t border-surface":t>0}])},[e.status===`updating`||e.status===`restarting`?(u(),T(S,{key:0,class:`w-[22px] h-[22px] m-0 shrink-0`,"stroke-width":`5`})):e.status===`success`||e.status===`uptodate`?(u(),T(Y,{key:1,class:`w-[22px] h-[22px] shrink-0 text-success`})):e.status===`error`?(u(),T(Te,{key:2,class:`w-[22px] h-[22px] shrink-0 text-red-500`})):e.status===`blocked`?(u(),T(Ee,{key:3,class:`w-[22px] h-[22px] shrink-0 text-muted`})):(u(),T(De,{key:4,class:`w-[22px] h-[22px] shrink-0 text-primary`})),m(`div`,xe,[m(`span`,Se,h(e.name),1),e.packageName?(u(),g(`span`,Ce,h(e.packageName),1)):D(``,!0),E(w,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint truncate`},{default:f(()=>[e.status===`error`?(u(),g(v,{key:0},[y(h(e.error),1)],64)):e.status===`restarting`?(u(),g(v,{key:1},[y(h(i.$t(`connection.restarting`)),1)],64)):e.status===`blocked`?(u(),g(v,{key:2},[y(h(we(e)),1)],64)):e.status===`uptodate`?(u(),g(v,{key:3},[y(`v`+h(e.installedVersion)+` · `+h(i.$t(`views.updates.up_to_date`)),1)],64)):e.status===`success`?(u(),g(v,{key:4},[y(h(i.$t(`views.updates.updated_to`,{version:e.latestVersion})),1)],64)):(u(),g(v,{key:5},[y(`v`+h(e.installedVersion)+` → v`+h(e.latestVersion),1)],64))]),_:2},1024)]),e.status===`pending`||e.status===`error`?(u(),g(v,{key:5},[p((u(),T(c,{severity:`secondary`,text:``,rounded:``,class:`cui-icon-md shrink-0`,onClick:t=>Q(e)},{icon:f(()=>[E(Oe,{width:`100%`,height:`100%`})]),_:1},8,[`onClick`])),[[$,{value:i.$t(`components.form.label.changelog`)},void 0,{top:!0}]]),E(c,{severity:`secondary`,outlined:``,class:`cui-button-medium shrink-0`,disabled:e.kind===`server`?b(K):b(M)||b(G),label:e.status===`error`?i.$t(`views.updates.retry`):i.$t(`components.form.button.update`),onClick:t=>b(C).updateItem(e.id)},null,8,[`disabled`,`label`,`onClick`])],64)):D(``,!0)],2))),128))])]),_:2},1024)]))),128))])):(u(),g(`div`,ce,[E(S,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]))])}}});export{X as default};
@@ -1 +1 @@
1
- import{Nn as e,Xn as t,an as n,br as r,cr as i,gr as a,hn as o,on as s}from"./vendor-BaiDFVEr.js";import{w as c}from"./vendor-primevue-BDu2BpXv.js";import{i as l}from"./flowSchema-szT9B0sA.js";var u={class:`flex items-center justify-between gap-3 w-full min-w-0`},d={class:`truncate`},f={class:`text-[10px] text-muted font-mono shrink-0`},p=o({__name:`VariableInput`,props:{modelValue:{},nodeId:{},placeholder:{}},emits:[`update:modelValue`],setup(o,{emit:p}){let m=o,h=p,{options:g}=l(()=>m.nodeId),_=i([]),v=i(``);function y(e){let t=e.query.toLowerCase();v.value=e.query,t?_.value=g.value.filter(e=>e.label.toLowerCase().includes(t)||e.value.toLowerCase().includes(t)):_.value=[...g.value]}function b(e){let t=m.modelValue??``;v.value&&t.toLowerCase().endsWith(v.value.toLowerCase())&&(t=t.slice(0,t.length-v.value.length)),h(`update:modelValue`,t+e.value.value)}function x(e){typeof e==`string`&&h(`update:modelValue`,e)}return(i,l)=>{let p=c;return e(),s(p,{"model-value":o.modelValue,suggestions:a(_),"option-label":`label`,placeholder:o.placeholder,class:`w-full`,fluid:``,dropdown:``,"dropdown-mode":`blank`,onComplete:y,onItemSelect:b,"onUpdate:modelValue":x},{option:t(({option:e})=>[n(`div`,u,[n(`span`,d,r(e.label),1),n(`span`,f,r(e.value),1)])]),_:1},8,[`model-value`,`suggestions`,`placeholder`])}}});export{p as t};
1
+ import{Nn as e,Xn as t,an as n,br as r,cr as i,gr as a,hn as o,on as s}from"./vendor-BaiDFVEr.js";import{w as c}from"./vendor-primevue-DMAuiM9b.js";import{i as l}from"./flowSchema-B_Otn6RU.js";var u={class:`flex items-center justify-between gap-3 w-full min-w-0`},d={class:`truncate`},f={class:`text-[10px] text-muted font-mono shrink-0`},p=o({__name:`VariableInput`,props:{modelValue:{},nodeId:{},placeholder:{}},emits:[`update:modelValue`],setup(o,{emit:p}){let m=o,h=p,{options:g}=l(()=>m.nodeId),_=i([]),v=i(``);function y(e){let t=e.query.toLowerCase();v.value=e.query,t?_.value=g.value.filter(e=>e.label.toLowerCase().includes(t)||e.value.toLowerCase().includes(t)):_.value=[...g.value]}function b(e){let t=m.modelValue??``;v.value&&t.toLowerCase().endsWith(v.value.toLowerCase())&&(t=t.slice(0,t.length-v.value.length)),h(`update:modelValue`,t+e.value.value)}function x(e){typeof e==`string`&&h(`update:modelValue`,e)}return(i,l)=>{let p=c;return e(),s(p,{"model-value":o.modelValue,suggestions:a(_),"option-label":`label`,placeholder:o.placeholder,class:`w-full`,fluid:``,dropdown:``,"dropdown-mode":`blank`,onComplete:y,onItemSelect:b,"onUpdate:modelValue":x},{option:t(({option:e})=>[n(`div`,u,[n(`span`,d,r(e.label),1),n(`span`,f,r(e.value),1)])]),_:1},8,[`model-value`,`suggestions`,`placeholder`])}}});export{p as t};
@@ -1 +1 @@
1
- import{Ir as e}from"./vendor-cameraui-Cf0XVNQ7.js";import{Fn as t,Nn as n,Xn as r,an as i,cn as a,en as o,gr as s,hn as c,on as l,sn as u}from"./vendor-BaiDFVEr.js";import{T as d,c as f}from"./vendor-primevue-BDu2BpXv.js";var p={class:`flex flex-wrap gap-1`},m=c({__name:`VariableSuggestions`,props:{variables:{}},emits:[`select`],setup(c){let{t:m}=e();return(e,h)=>{let g=d,_=f;return c.variables.length?(n(),l(_,{key:0,header:s(m)(`components.automation_nodes.available_variables`),toggleable:``,collapsed:``,pt:{root:{class:`border-0`},header:{class:`py-1.5 px-0 text-xs`},content:{class:`px-0 py-2`},headerActions:{class:`flex`}},"toggle-button-props":{class:`w-4 h-4 p-0`,text:!0,rounded:!0,severity:`secondary`}},{default:r(()=>[i(`div`,p,[(n(!0),a(o,null,t(c.variables,t=>(n(),l(g,{key:t.value,label:t.label,class:`text-[10px] cursor-pointer hover:bg-primary/10 active:bg-primary/20`,onClick:n=>e.$emit(`select`,t.value)},null,8,[`label`,`onClick`]))),128))])]),_:1},8,[`header`])):u(``,!0)}}});export{m as t};
1
+ import{zr as e}from"./vendor-cameraui-4iwjOYwz.js";import{Fn as t,Nn as n,Xn as r,an as i,cn as a,en as o,gr as s,hn as c,on as l,sn as u}from"./vendor-BaiDFVEr.js";import{T as d,c as f}from"./vendor-primevue-DMAuiM9b.js";var p={class:`flex flex-wrap gap-1`},m=c({__name:`VariableSuggestions`,props:{variables:{}},emits:[`select`],setup(c){let{t:m}=e();return(e,h)=>{let g=d,_=f;return c.variables.length?(n(),l(_,{key:0,header:s(m)(`components.automation_nodes.available_variables`),toggleable:``,collapsed:``,pt:{root:{class:`border-0`},header:{class:`py-1.5 px-0 text-xs`},content:{class:`px-0 py-2`},headerActions:{class:`flex`}},"toggle-button-props":{class:`w-4 h-4 p-0`,text:!0,rounded:!0,severity:`secondary`}},{default:r(()=>[i(`div`,p,[(n(!0),a(o,null,t(c.variables,t=>(n(),l(g,{key:t.value,label:t.label,class:`text-[10px] cursor-pointer hover:bg-primary/10 active:bg-primary/20`,onClick:n=>e.$emit(`select`,t.value)},null,8,[`label`,`onClick`]))),128))])]),_:1},8,[`header`])):u(``,!0)}}});export{m as t};
@@ -1,7 +1,7 @@
1
- import{Ir as e,jt as t}from"./vendor-cameraui-Cf0XVNQ7.js";import{En as n,hr as r}from"./api-CmdQlVDD.js";import{Fn as ee,Gn as i,Mn as a,Nn as o,an as s,bn as c,br as l,cn as u,cr as d,en as te,fn as ne,gr as f,hn as p,in as m,jn as re,mr as ie,pn as h,q as ae,qn as g,rr as _,sn as v,t as oe}from"./vendor-BaiDFVEr.js";import{K as se,j as ce}from"./vendor-primevue-BDu2BpXv.js";import{t as le}from"./server-CDm6FwHH.js";import{n as ue}from"./useServerRestart-x8p2rFqn.js";import{t as de}from"./plugins-QEqfAk0G.js";import{t as fe}from"./CuiConsole-De9JpSLz.js";import{t as pe}from"./useLogsSocket-CmyalQi8.js";import{t as me}from"./CuiMarkdownContent-PSq4kE1G.js";import{t as he}from"./alert-circle-C2AU59aR.js";import{t as ge}from"./platformLabels-D-cF6OTP.js";import{t as _e}from"./config-CURuT8_k.js";import{t as ve}from"./useUpdateChannel-ChscS5KW.js";function y(e){return`id`in e&&!(`type`in e)}function b(e){return`type`in e}var ye={key:0},be={key:0,class:`flex items-start gap-3 px-4 py-3 rounded-xl bg-orange-500/10 border border-orange-500/30 mb-3`},xe={class:`flex flex-col gap-1 min-w-0`},Se={class:`text-sm font-semibold text-orange-400`},Ce={key:0},we={class:`text-xs text-orange-600 dark:text-orange-300`},Te={class:`text-sm text-orange-400`},Ee={key:1},De={class:`text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},Oe={key:2},ke={class:`text-muted`},Ae={class:`flex items-center gap-4 mt-4 px-4 py-3 rounded-xl bg-orange-500/10 border border-orange-500/30`},je={class:`flex flex-col gap-1 min-w-0`},Me={class:`text-sm font-semibold text-orange-400`},Ne={class:`text-xs text-orange-600 dark:text-orange-300`},Pe={key:3},Fe={class:`cui-label`},Ie={key:4,class:`w-full h-full relative`},Le={key:5,class:`w-full h-full p-4 flex items-center justify-center`},Re=`2.0.0`,x=p({__name:`VersionsHandler`,props:{target:{},installVersion:{},action:{}},setup(p,{expose:x}){let S=new de,C=new le,ze=new _e,Be=ae(),w=p,T=r(),{t:E}=e(),{mdBreakpoint:D}=n(),{beginServerRestart:Ve}=ue(),{isBeta:He}=ve(),O=c(`dialogRef`),k=c(`dialogRefProps`),{target:A,installVersion:j}=ie(w),M=d();S.toggleQueryActivator(`getPluginVersionsQuery`,!1),S.toggleQueryActivator(`getPluginChangelogQuery`,!1),S.toggleQueryActivator(`getPluginCompatQuery`,!1),C.toggleQueryActivator(`checkVersionQuery`,!1),C.toggleQueryActivator(`getServerChangelogQuery`,!1);let Ue=m(()=>y(A.value)?A.value.pluginName:`server`),N=m(()=>w.action===`uninstall`&&y(A.value)),P=pe({target:Ue.value,onStdout:e=>z.value?.writeTerminal(e),onDisconnect:()=>z.value?.writeTerminal(`
1
+ import{Pt as e,zr as t}from"./vendor-cameraui-4iwjOYwz.js";import{ur as n,xn as r}from"./api-C_bOaXk2.js";import{Fn as ee,Gn as i,Mn as a,Nn as o,an as s,bn as c,br as l,cn as u,cr as d,en as te,fn as ne,gr as f,hn as p,in as m,jn as re,mr as ie,pn as h,q as ae,qn as g,rr as _,sn as v,t as oe}from"./vendor-BaiDFVEr.js";import{K as se,j as ce}from"./vendor-primevue-DMAuiM9b.js";import{t as le}from"./server-B_MuqJ5z.js";import{n as ue}from"./useServerRestart-DoLrF47t.js";import{t as de}from"./alert-circle-C2AU59aR.js";import{t as fe}from"./plugins-DBBFdZKH.js";import{t as pe}from"./CuiConsole-DUswVhFC.js";import{t as me}from"./useLogsSocket-DSltWBh4.js";import{t as he}from"./CuiMarkdownContent-PSq4kE1G.js";import{t as ge}from"./platformLabels-D-cF6OTP.js";import{t as _e}from"./config-BjldP5A6.js";import{t as ve}from"./useUpdateChannel-DWEw-ZyB.js";function y(e){return`id`in e&&!(`type`in e)}function b(e){return`type`in e}var ye={key:0},be={key:0,class:`flex items-start gap-3 px-4 py-3 rounded-xl bg-orange-500/10 border border-orange-500/30 mb-3`},xe={class:`flex flex-col gap-1 min-w-0`},Se={class:`text-sm font-semibold text-orange-400`},Ce={key:0},we={class:`text-xs text-orange-600 dark:text-orange-300`},Te={class:`text-sm text-orange-400`},Ee={key:1},De={class:`text-base font-semibold border-b-[1px] border-color mb-3 pb-3`},Oe={key:2},ke={class:`text-muted`},Ae={class:`flex items-center gap-4 mt-4 px-4 py-3 rounded-xl bg-orange-500/10 border border-orange-500/30`},je={class:`flex flex-col gap-1 min-w-0`},Me={class:`text-sm font-semibold text-orange-400`},Ne={class:`text-xs text-orange-600 dark:text-orange-300`},Pe={key:3},Fe={class:`cui-label`},Ie={key:4,class:`w-full h-full relative`},Le={key:5,class:`w-full h-full p-4 flex items-center justify-center`},Re=`2.0.0`,x=p({__name:`VersionsHandler`,props:{target:{},installVersion:{},action:{}},setup(p,{expose:x}){let S=new fe,C=new le,ze=new _e,Be=ae(),w=p,T=n(),{t:E}=t(),{mdBreakpoint:D}=r(),{beginServerRestart:Ve}=ue(),{isBeta:He}=ve(),O=c(`dialogRef`),k=c(`dialogRefProps`),{target:A,installVersion:j}=ie(w),M=d();S.toggleQueryActivator(`getPluginVersionsQuery`,!1),S.toggleQueryActivator(`getPluginChangelogQuery`,!1),S.toggleQueryActivator(`getPluginCompatQuery`,!1),C.toggleQueryActivator(`checkVersionQuery`,!1),C.toggleQueryActivator(`getServerChangelogQuery`,!1);let Ue=m(()=>y(A.value)?A.value.pluginName:`server`),N=m(()=>w.action===`uninstall`&&y(A.value)),P=me({target:Ue.value,onStdout:e=>z.value?.writeTerminal(e),onDisconnect:()=>z.value?.writeTerminal(`
2
2
  \rWebsocket failed to connect! Is the server running?\r
3
3
  \r
4
4
  `),onClearLog:()=>z.value?.clearTerminal(),onReconnected:()=>{z.value?.writeTerminal(`\r
5
5
  --- Reconnected ---\r
6
6
  \r
7
- `)}}),F=m(()=>({pluginversion:M.value||j.value})),We=m(()=>M.value||j.value||``),{data:Ge,isBusy:I}=C.checkVersionQuery(),{data:Ke}=ze.getConfigQuery(!0),{data:qe,isBusy:L}=S.getPluginVersionsQuery(y(A.value)?A.value.pluginName:``),{data:Je,isBusy:Ye,suspense:Xe}=S.getPluginChangelogQuery(y(A.value)?A.value.pluginName:``,F),{data:Ze,isBusy:Qe,suspense:$e}=C.getServerChangelogQuery(We),{data:R,suspense:et}=S.getPluginCompatQuery(y(A.value)?A.value.pluginName:``,F),{mutate:tt,isPending:nt}=C.restartServerQuery(),{mutateAsync:rt,isPending:it}=S.installPluginQuery(),{mutateAsync:at,isPending:ot}=S.uninstallPluginQuery(),{mutateAsync:st,isPending:ct}=C.updateServerQuery(),z=i(`consoleRef`),B=d(!1),V=d(!1),H=d(!1),U=d(!1),W=d(!1),G=d(!1),K=d(!1),q=d(!1),J=d(!1),lt=m(()=>L.value||I.value),ut=m(()=>!!(k.loading?.value||L.value||I.value||Ye.value||Qe.value||it.value||ot.value||ct.value||nt.value)),dt=m(()=>{let e=Ke.value;return e&&typeof e!=`string`?e.plugins?.betaVersions??!1:!1}),Y=m(()=>y(A.value)?(qe.value?.versions||[]).filter(e=>dt.value||!e.includes(`-`)):b(A.value)?(Ge.value?.versions||[]).filter(e=>oe(e,Re)>=0).filter(e=>He.value||!e.includes(`-`)):[]),X=m(()=>R.value?.issues??[]),Z=m(()=>R.value?.platformCompatible===!1),Q=m(()=>ge(R.value?.os,R.value?.cpu)),ft=m(()=>y(A.value)?Je.value:Ze.value),pt=m(()=>({fontSize:D.value?12:14}));function mt(){B.value=!0,P.connect()}async function ht(){if(y(A.value))try{S.toggleQueryActivator(`getPluginChangelogQuery`,!0);let{isError:e}=await Xe();if(e)throw Error(`Failed to fetch changelog`);V.value=!0}catch{}else if(b(A.value))try{C.toggleQueryActivator(`getServerChangelogQuery`,!0);let{isError:e}=await $e();if(e)throw Error(`Failed to fetch changelog`);V.value=!0}catch{}}async function gt(){if(y(A.value))try{S.toggleQueryActivator(`getPluginCompatQuery`,!0),await et(),(X.value.length||Z.value)&&(K.value=!0)}catch{}}function _t(e){return b(A.value)?!0:!(!y(A.value)||A.value.private||e===A.value.installedVersion)}async function $(e){if(!V.value&&_t(e)&&(await ht(),V.value)){k.confirmText&&(k.confirmText.value=E(`components.form.button.continue`)),G.value=!0;return}if(!q.value&&(q.value=!0,await gt(),K.value)){k.confirmText&&(k.confirmText.value=E(`components.form.button.continue`)),J.value=!0;return}mt();try{if(y(A.value))await rt({pluginData:{pluginname:A.value.pluginName,pluginversion:e}});else if(b(A.value)){await st({serverData:{version:e}}),Be.invalidateQueries({queryKey:[`api`]}),Ve(),tt(),O.value.close();return}H.value=!0,k.confirmText&&(k.confirmText.value=E(`components.form.button.finish`))}catch(e){T.add({severity:`error`,detail:e,life:3e3})}}async function vt(){if(y(A.value)){mt();try{await at({pluginName:A.value.pluginName,removeStorage:W.value}),U.value=!0,k.confirmText&&(k.confirmText.value=E(`components.form.button.finish`))}catch(e){T.add({severity:`error`,detail:e,life:3e3})}}}async function yt(){if(N.value)return U.value?void 0:(await vt(),null);if(!H.value)return G.value?(G.value=!1,j.value?await $(j.value):M.value&&await $(M.value),null):J.value?(J.value=!1,j.value?await $(j.value):M.value&&await $(M.value),null):j.value?(await $(j.value),null):M.value?(await $(M.value),null):(T.add({severity:`error`,detail:E(`components.toast.no_version_selected`),life:3e3}),null)}return g(Y,e=>{e.length&&(M.value=e[0])},{immediate:!0,deep:!0}),g(B,e=>{e?O.value.data.dialogContentClass=`not-md:px-0 h-full md:h-[50vh]`:delete O.value.data.dialogContentClass}),g(D,e=>{!e&&(B.value||V.value)&&O.value.options.props&&(O.value.options.props.style.height=`60vh`,O.value.options.props.style.width=`70vh`,O.value.options.props.style.maxWidth=`100%`)}),re(()=>{N.value||(j.value?$(j.value):y(A.value)?S.toggleQueryActivator(`getPluginVersionsQuery`,!0):b(A.value)&&C.toggleQueryActivator(`checkVersionQuery`,!0))}),a(()=>{P.disconnect()}),x({isLoading:ut,onConfirm:yt}),(e,n)=>{let r=he,i=me,a=se,c=ce,d=fe,p=t;return o(),u(`div`,null,[f(K)&&!f(B)?(o(),u(`div`,ye,[f(Z)?(o(),u(`div`,be,[h(r,{class:`w-5 h-5 shrink-0 text-orange-400 mt-0.5`}),s(`div`,xe,[s(`span`,Se,[ne(l(e.$t(`components.plugin_search.incompatible_system`)),1),f(Q)?(o(),u(`span`,Ce,` — `+l(f(Q)),1)):v(``,!0)]),s(`span`,we,l(e.$t(`components.plugin_search.incompatible_worker_hint`)),1)])])):v(``,!0),(o(!0),u(te,null,ee(f(X),t=>(o(),u(`div`,{key:t.engine,class:`flex items-start gap-3 px-4 py-3 rounded-xl bg-orange-500/10 border border-orange-500/30 mb-3`},[h(r,{class:`w-5 h-5 shrink-0 text-orange-400 mt-0.5`}),s(`span`,Te,l(e.$t(`components.dialog.message.compatibility_engine`,{engine:t.engine,required:t.required,current:t.current})),1)]))),128))])):f(V)&&f(ft)&&!f(B)?(o(),u(`div`,Ee,[s(`h3`,De,l(e.$t(`components.form.label.changelog`)),1),h(i,{content:f(ft)},null,8,[`content`])])):f(N)&&!f(B)?(o(),u(`div`,Oe,[s(`p`,ke,l(e.$t(`components.dialog.message.confirm_uninstall_plugin`)),1),s(`div`,Ae,[s(`div`,je,[s(`span`,Me,l(e.$t(`components.dialog.message.uninstall_remove_storage`)),1),s(`span`,Ne,l(e.$t(`components.dialog.message.uninstall_remove_storage_hint`)),1)]),h(a,{modelValue:f(W),"onUpdate:modelValue":n[0]||=e=>_(W)?W.value=e:null,class:`ml-auto shrink-0`},null,8,[`modelValue`])])])):!f(j)&&!f(B)&&!f(V)?(o(),u(`div`,Pe,[s(`label`,Fe,l(e.$t(`components.form.label.version`)),1),h(c,{modelValue:f(M),"onUpdate:modelValue":n[1]||=e=>_(M)?M.value=e:null,options:f(Y),loading:f(lt),class:`w-full mt-2`},null,8,[`modelValue`,`options`,`loading`])])):f(B)?(o(),u(`div`,Ie,[h(d,{ref_key:`consoleRef`,ref:z,options:f(pt),class:`bg-black !w-full`,"ignore-breakpoint":``,onResize:f(P).reportSize},null,8,[`options`,`onResize`])])):(o(),u(`div`,Le,[h(p,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]))])}}});export{x as default};
7
+ `)}}),F=m(()=>({pluginversion:M.value||j.value})),We=m(()=>M.value||j.value||``),{data:Ge,isBusy:I}=C.checkVersionQuery(),{data:Ke}=ze.getConfigQuery(!0),{data:qe,isBusy:L}=S.getPluginVersionsQuery(y(A.value)?A.value.pluginName:``),{data:Je,isBusy:Ye,suspense:Xe}=S.getPluginChangelogQuery(y(A.value)?A.value.pluginName:``,F),{data:Ze,isBusy:Qe,suspense:$e}=C.getServerChangelogQuery(We),{data:R,suspense:et}=S.getPluginCompatQuery(y(A.value)?A.value.pluginName:``,F),{mutate:tt,isPending:nt}=C.restartServerQuery(),{mutateAsync:rt,isPending:it}=S.installPluginQuery(),{mutateAsync:at,isPending:ot}=S.uninstallPluginQuery(),{mutateAsync:st,isPending:ct}=C.updateServerQuery(),z=i(`consoleRef`),B=d(!1),V=d(!1),H=d(!1),U=d(!1),W=d(!1),G=d(!1),K=d(!1),q=d(!1),J=d(!1),lt=m(()=>L.value||I.value),ut=m(()=>!!(k.loading?.value||L.value||I.value||Ye.value||Qe.value||it.value||ot.value||ct.value||nt.value)),dt=m(()=>{let e=Ke.value;return e&&typeof e!=`string`?e.plugins?.betaVersions??!1:!1}),Y=m(()=>y(A.value)?(qe.value?.versions||[]).filter(e=>dt.value||!e.includes(`-`)):b(A.value)?(Ge.value?.versions||[]).filter(e=>oe(e,Re)>=0).filter(e=>He.value||!e.includes(`-`)):[]),X=m(()=>R.value?.issues??[]),Z=m(()=>R.value?.platformCompatible===!1),Q=m(()=>ge(R.value?.os,R.value?.cpu)),ft=m(()=>y(A.value)?Je.value:Ze.value),pt=m(()=>({fontSize:D.value?12:14}));function mt(){B.value=!0,P.connect()}async function ht(){if(y(A.value))try{S.toggleQueryActivator(`getPluginChangelogQuery`,!0);let{isError:e}=await Xe();if(e)throw Error(`Failed to fetch changelog`);V.value=!0}catch{}else if(b(A.value))try{C.toggleQueryActivator(`getServerChangelogQuery`,!0);let{isError:e}=await $e();if(e)throw Error(`Failed to fetch changelog`);V.value=!0}catch{}}async function gt(){if(y(A.value))try{S.toggleQueryActivator(`getPluginCompatQuery`,!0),await et(),(X.value.length||Z.value)&&(K.value=!0)}catch{}}function _t(e){return b(A.value)?!0:!(!y(A.value)||A.value.private||e===A.value.installedVersion)}async function $(e){if(!V.value&&_t(e)&&(await ht(),V.value)){k.confirmText&&(k.confirmText.value=E(`components.form.button.continue`)),G.value=!0;return}if(!q.value&&(q.value=!0,await gt(),K.value)){k.confirmText&&(k.confirmText.value=E(`components.form.button.continue`)),J.value=!0;return}mt();try{if(y(A.value))await rt({pluginData:{pluginname:A.value.pluginName,pluginversion:e}});else if(b(A.value)){await st({serverData:{version:e}}),Be.invalidateQueries({queryKey:[`api`]}),Ve(),tt(),O.value.close();return}H.value=!0,k.confirmText&&(k.confirmText.value=E(`components.form.button.finish`))}catch(e){T.add({severity:`error`,detail:e,life:3e3})}}async function vt(){if(y(A.value)){mt();try{await at({pluginName:A.value.pluginName,removeStorage:W.value}),U.value=!0,k.confirmText&&(k.confirmText.value=E(`components.form.button.finish`))}catch(e){T.add({severity:`error`,detail:e,life:3e3})}}}async function yt(){if(N.value)return U.value?void 0:(await vt(),null);if(!H.value)return G.value?(G.value=!1,j.value?await $(j.value):M.value&&await $(M.value),null):J.value?(J.value=!1,j.value?await $(j.value):M.value&&await $(M.value),null):j.value?(await $(j.value),null):M.value?(await $(M.value),null):(T.add({severity:`error`,detail:E(`components.toast.no_version_selected`),life:3e3}),null)}return g(Y,e=>{e.length&&(M.value=e[0])},{immediate:!0,deep:!0}),g(B,e=>{e?O.value.data.dialogContentClass=`not-md:px-0 h-full md:h-[50vh]`:delete O.value.data.dialogContentClass}),g(D,e=>{!e&&(B.value||V.value)&&O.value.options.props&&(O.value.options.props.style.height=`60vh`,O.value.options.props.style.width=`70vh`,O.value.options.props.style.maxWidth=`100%`)}),re(()=>{N.value||(j.value?$(j.value):y(A.value)?S.toggleQueryActivator(`getPluginVersionsQuery`,!0):b(A.value)&&C.toggleQueryActivator(`checkVersionQuery`,!0))}),a(()=>{P.disconnect()}),x({isLoading:ut,onConfirm:yt}),(t,n)=>{let r=de,i=he,a=se,c=ce,d=pe,p=e;return o(),u(`div`,null,[f(K)&&!f(B)?(o(),u(`div`,ye,[f(Z)?(o(),u(`div`,be,[h(r,{class:`w-5 h-5 shrink-0 text-orange-400 mt-0.5`}),s(`div`,xe,[s(`span`,Se,[ne(l(t.$t(`components.plugin_search.incompatible_system`)),1),f(Q)?(o(),u(`span`,Ce,` — `+l(f(Q)),1)):v(``,!0)]),s(`span`,we,l(t.$t(`components.plugin_search.incompatible_worker_hint`)),1)])])):v(``,!0),(o(!0),u(te,null,ee(f(X),e=>(o(),u(`div`,{key:e.engine,class:`flex items-start gap-3 px-4 py-3 rounded-xl bg-orange-500/10 border border-orange-500/30 mb-3`},[h(r,{class:`w-5 h-5 shrink-0 text-orange-400 mt-0.5`}),s(`span`,Te,l(t.$t(`components.dialog.message.compatibility_engine`,{engine:e.engine,required:e.required,current:e.current})),1)]))),128))])):f(V)&&f(ft)&&!f(B)?(o(),u(`div`,Ee,[s(`h3`,De,l(t.$t(`components.form.label.changelog`)),1),h(i,{content:f(ft)},null,8,[`content`])])):f(N)&&!f(B)?(o(),u(`div`,Oe,[s(`p`,ke,l(t.$t(`components.dialog.message.confirm_uninstall_plugin`)),1),s(`div`,Ae,[s(`div`,je,[s(`span`,Me,l(t.$t(`components.dialog.message.uninstall_remove_storage`)),1),s(`span`,Ne,l(t.$t(`components.dialog.message.uninstall_remove_storage_hint`)),1)]),h(a,{modelValue:f(W),"onUpdate:modelValue":n[0]||=e=>_(W)?W.value=e:null,class:`ml-auto shrink-0`},null,8,[`modelValue`])])])):!f(j)&&!f(B)&&!f(V)?(o(),u(`div`,Pe,[s(`label`,Fe,l(t.$t(`components.form.label.version`)),1),h(c,{modelValue:f(M),"onUpdate:modelValue":n[1]||=e=>_(M)?M.value=e:null,options:f(Y),loading:f(lt),class:`w-full mt-2`},null,8,[`modelValue`,`options`,`loading`])])):f(B)?(o(),u(`div`,Ie,[h(d,{ref_key:`consoleRef`,ref:z,options:f(pt),class:`bg-black !w-full`,"ignore-breakpoint":``,onResize:f(P).reportSize},null,8,[`options`,`onResize`])])):(o(),u(`div`,Le,[h(p,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]))])}}});export{x as default};
@@ -1 +1 @@
1
- import{Ir as e,M as t}from"./vendor-cameraui-Cf0XVNQ7.js";import{hr as n}from"./api-CmdQlVDD.js";import{Gn as r,Nn as i,Xn as a,an as o,b as s,br as c,cr as l,gr as u,hn as d,in as f,on as p,pn as m,qt as h,rr as g,v as _,wn as v,y}from"./vendor-BaiDFVEr.js";import{E as b,k as x}from"./types-R10eIequ.js";import{j as S}from"./vendor-primevue-BDu2BpXv.js";var C={for:`virtualSensorType`,class:`cui-label`},w={for:`virtualSensorName`,class:`cui-label`},T=d({__name:`VirtualSensorCreate`,props:{cameraId:{}},setup(d,{expose:T}){let E=d,{t:D}=e(),O=n(),k=b.omit({cameraId:!0}),A=r(`formRef`),j=l(x[0]),M=l(``),N=f(()=>x.map(e=>({label:D(`components.camera_options.sensor_type_${e}`),value:e})));return T({onConfirm:async()=>(await A.value?.validate())?.valid?{cameraId:E.cameraId,type:j.value,name:M.value.trim()}:(O.add({severity:`error`,detail:D(`components.toast.validation_failed`),life:3e3}),null)}),(e,n)=>{let r=S,l=t;return i(),p(u(s),{ref_key:`formRef`,ref:A,class:`flex flex-col gap-4 w-full`,"validation-schema":u(k)},{default:a(()=>[m(u(y),{"model-value":u(j),name:`type`,as:`div`,class:`flex flex-col field-gap`},{default:a(({errors:t})=>[o(`label`,C,c(e.$t(`components.form.label.type`)),1),m(r,{id:`virtualSensorType`,"model-value":u(j),options:u(N),"option-label":`label`,"option-value":`value`,invalid:t.length>0,class:`w-full`,onValueChange:n[0]||=e=>j.value=e},null,8,[`model-value`,`options`,`invalid`]),m(h,{name:`fade`},{default:a(()=>[m(u(_),{name:`type`,class:`cui-input-error`})]),_:1})]),_:1},8,[`model-value`]),m(u(y),{modelValue:u(M),"onUpdate:modelValue":n[1]||=e=>g(M)?M.value=e:null,modelModifiers:{trim:!0},name:`name`,as:`div`,class:`flex flex-col field-gap`},{default:a(({field:t,errors:n})=>[o(`label`,w,c(e.$t(`components.form.label.name`)),1),m(l,v({id:`virtualSensorName`},t,{invalid:n.length>0,class:`w-full`,placeholder:e.$t(`components.camera_options.virtual_sensor_name_placeholder`)}),null,16,[`invalid`,`placeholder`]),m(h,{name:`fade`},{default:a(()=>[m(u(_),{name:`name`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`])]),_:1},8,[`validation-schema`])}}});export{T as default};
1
+ import{F as e,zr as t}from"./vendor-cameraui-4iwjOYwz.js";import{ur as n}from"./api-C_bOaXk2.js";import{Gn as r,Nn as i,Xn as a,an as o,b as s,br as c,cr as l,gr as u,hn as d,in as f,on as p,pn as m,qt as h,rr as g,v as _,wn as v,y}from"./vendor-BaiDFVEr.js";import{A as b,D as x}from"./types-BHAzjgi3.js";import{j as S}from"./vendor-primevue-DMAuiM9b.js";var C={for:`virtualSensorType`,class:`cui-label`},w={for:`virtualSensorName`,class:`cui-label`},T=d({__name:`VirtualSensorCreate`,props:{cameraId:{}},setup(d,{expose:T}){let E=d,{t:D}=t(),O=n(),k=x.omit({cameraId:!0}),A=r(`formRef`),j=l(b[0]),M=l(``),N=f(()=>b.map(e=>({label:D(`components.camera_options.sensor_type_${e}`),value:e})));return T({onConfirm:async()=>(await A.value?.validate())?.valid?{cameraId:E.cameraId,type:j.value,name:M.value.trim()}:(O.add({severity:`error`,detail:D(`components.toast.validation_failed`),life:3e3}),null)}),(t,n)=>{let r=S,l=e;return i(),p(u(s),{ref_key:`formRef`,ref:A,class:`flex flex-col gap-4 w-full`,"validation-schema":u(k)},{default:a(()=>[m(u(y),{"model-value":u(j),name:`type`,as:`div`,class:`flex flex-col field-gap`},{default:a(({errors:e})=>[o(`label`,C,c(t.$t(`components.form.label.type`)),1),m(r,{id:`virtualSensorType`,"model-value":u(j),options:u(N),"option-label":`label`,"option-value":`value`,invalid:e.length>0,class:`w-full`,onValueChange:n[0]||=e=>j.value=e},null,8,[`model-value`,`options`,`invalid`]),m(h,{name:`fade`},{default:a(()=>[m(u(_),{name:`type`,class:`cui-input-error`})]),_:1})]),_:1},8,[`model-value`]),m(u(y),{modelValue:u(M),"onUpdate:modelValue":n[1]||=e=>g(M)?M.value=e:null,modelModifiers:{trim:!0},name:`name`,as:`div`,class:`flex flex-col field-gap`},{default:a(({field:e,errors:n})=>[o(`label`,w,c(t.$t(`components.form.label.name`)),1),m(l,v({id:`virtualSensorName`},e,{invalid:n.length>0,class:`w-full`,placeholder:t.$t(`components.camera_options.virtual_sensor_name_placeholder`)}),null,16,[`invalid`,`placeholder`]),m(h,{name:`fade`},{default:a(()=>[m(u(_),{name:`name`,class:`cui-input-error`})]),_:1})]),_:1},8,[`modelValue`])]),_:1},8,[`validation-schema`])}}});export{T as default};
@@ -0,0 +1,2 @@
1
+ import{F as e,G as t,Pt as n,Rt as r,zr as i}from"./vendor-cameraui-4iwjOYwz.js";import{B as a,Gn as o,Hn as s,R as c,_t as ee,ct as l,gt as u,i as te,nr as ne,ur as d,vn as f,vt as p,xn as m}from"./api-C_bOaXk2.js";import{$n as re,Dn as ie,Mn as h,Nn as g,Tn as _,Xn as v,an as y,br as b,cn as x,cr as S,en as ae,fn as C,gr as w,hn as T,in as E,on as D,or as O,pn as k,qn as A,rr as j,sn as M}from"./vendor-BaiDFVEr.js";import{K as oe,L as se,R as ce,S as le,_ as ue,j as de,z as fe}from"./vendor-primevue-DMAuiM9b.js";import{t as pe}from"./api-CG0j1twy.js";import{t as me}from"./plugins-DBBFdZKH.js";import{t as he}from"./CuiDataTable-CIP95jVF.js";import{t as ge}from"./back-filled-DcBDBvvP.js";import{t as _e}from"./pencil-outline-D7aD4cCo.js";import{r as ve,t as ye}from"./CuiChartTable-Lvz9Zq0k.js";import{n as be,t as xe}from"./updates-CVapvGAI.js";var N={class:`flex flex-col gap-2 w-full`},P={for:`workerName`,class:`cui-label`},Se=T({__name:`RenameWorker`,props:{currentName:{}},setup(t,{expose:n}){let r=S(t.currentName);return n({onConfirm:async()=>r.value.trim()||null}),(t,n)=>{let i=e;return g(),x(`div`,N,[y(`label`,P,b(t.$t(`views.workers.name`)),1),k(i,{id:`workerName`,modelValue:w(r),"onUpdate:modelValue":n[0]||=e=>j(r)?r.value=e:null,class:`w-full`,autofocus:``},null,8,[`modelValue`])])}}}),F=O({workers:[],workerHistory:{}}),I=null,L=null;function Ce(e){let t=F.workers.findIndex(t=>t.agentId===e.agentId);if(t!==-1){let n=[...F.workers];n[t]=e,F.workers=n}else F.workers=[...F.workers,e];let n=F.workerHistory[e.agentId]??[];F.workerHistory={...F.workerHistory,[e.agentId]:[...n,e].slice(-30)}}async function we(){if(L?.ready.value)try{F.workers=await L.request(`get-workers`)}catch{}}async function Te(){if(L?.ready.value)try{F.workerHistory=await L.request(`get-worker-history`)}catch{}}async function R(){await Promise.all([we(),Te()])}function Ee(){return L||(I=re(!0),I.run(()=>{let e=ne(`/workers`);L=e,e.on(`worker-update`,e=>Ce(e)),e.on(`worker-removed`,({agentId:e})=>{F.workers=F.workers.filter(t=>t.agentId!==e);let t={...F.workerHistory};delete t[e],F.workerHistory=t}),e.onReady(()=>{R()})}),L)}function De(){function e(){Ee()}function t(){}return{isConnected:E(()=>L?.connected.value??!1),workers:E(()=>F.workers),workerHistory:E(()=>F.workerHistory),connect:e,disconnect:t,loadAll:R}}var Oe={key:0,class:`page-title`},ke={key:1,class:`w-full h-full flex items-center justify-center`},Ae={key:2,class:`flex flex-col w-full gap-6`},je={class:`card-title`},Me={class:`flex flex-col gap-6`},Ne={class:`flex items-center gap-4`},Pe={class:`flex flex-col field-switch-gap`},Fe={class:`cui-label-switch`},Ie={class:`flex flex-col field-gap`},Le={for:`master-address`,class:`cui-label`},Re={class:`flex flex-col field-gap`},ze={for:`leaf-port`,class:`cui-label`},Be={class:`flex flex-row items-end justify-end`},Ve={key:0},He={class:`card-title`},Ue={class:`flex flex-col items-center justify-center gap-4 py-6`},We={class:`text-muted text-sm`},Ge={key:1},Ke={class:`card-title`},qe={class:`text-sm block mb-6`},Je={class:`text-muted text-sm`},Ye={class:`font-bold text-color text-sm`},Xe={key:2},Ze={class:`card-title`},Qe={class:`text-sm block mb-6`},$e={class:`text-muted text-sm`},et={class:`flex flex-col`},tt={class:`font-bold text-color text-sm`},nt={key:0,class:`text-muted text-xs`},rt={key:3},it={class:`card-title`},at={class:`flex flex-col gap-6`},ot={class:`text-sm`},st={class:`flex flex-col field-gap`},ct={class:`cui-label`},lt={class:`flex flex-col field-gap`},ut={class:`flex flex-row items-center justify-between`},dt={class:`cui-label`},ft={class:`pairing-snippet`},pt={class:`flex flex-row items-end justify-end`},mt=f(T({__name:`Workers`,setup(ne){let{t:f}=i(),{smBreakpoint:re}=m(),T=l(),O=xe(),N=d(),P=De(),{workers:F,workerHistory:I,isConnected:L}=P,Ce=new pe,we=new p,Te=new me,R=new be,{data:Ee,isLoading:mt}=we.getCamerasQuery(S({page:1,pageSize:999})),{data:ht,isLoading:gt}=Te.getPluginsQuery(S({page:1,pageSize:999})),{data:z}=R.getConfigQuery(),{mutateAsync:_t,isPending:vt}=R.patchConfigQuery(),{mutateAsync:yt}=R.assignCameraQuery(),{mutateAsync:bt}=R.unassignCameraQuery(),{mutateAsync:xt}=R.restartWorkerQuery(),{mutateAsync:St}=R.updateWorkerQuery(),{mutateAsync:Ct,isPending:wt}=R.createPairingQuery(),{mutateAsync:Tt}=R.removeWorkerQuery(),{mutateAsync:Et}=R.assignPluginQuery(),{mutateAsync:Dt}=R.unassignPluginQuery(),{mutateAsync:Ot}=R.renameWorkerQuery(),{data:kt}=Ce.apiInfoQuery(),At={bodyRow:{class:`text-sm text-secondary`},column:{columnTitle:{class:`text-sm font-semibold`}}},jt=S(!1),B=S([]),V=S([]),H=S([]),U=S(new Set),W=S(new Set),G=S(null),K=S(``),q=S(7422),Mt=!1,J=new Map,Nt=E(()=>Ee.value?.result??[]),Pt=E(()=>ht.value?.result??[]),Y=E(()=>z.value?.enabled??!1),Ft=E(()=>(z.value?.suggestedAddresses??[]).map(e=>({label:e,value:e}))),X=E(()=>q.value!==(z.value?.port??7422)),It=E(()=>K.value!==(z.value?.address??``)||X.value),Lt=E(()=>new Set(F.value.map(e=>e.agentId))),Z=E(()=>O.targetServerVersion??kt.value?.version),Rt=E(()=>G.value?Math.max(0,Math.round((G.value.expiresAt-Date.now())/6e4)):0),zt=E(()=>G.value?[`worker:`,` master: ${G.value.address||`<MASTER_IP>`}`,` apiPort: ${G.value.apiPort}`,` pairingCode: ${G.value.code}`,` name: my-worker`,` capabilities:`,` - frameDecoding`,` - pluginHost`].join(`
2
+ `):``),Bt=E(()=>[{type:`indicator`,field:`status`,columnProps:{headerClass:`w-5 max-w-5`,class:`w-5 max-w-5`},color(e){return e.online?e.versionMismatch?`orange`:`green`:`red`},tooltip(e){return e.online?e.update?.error?f(`views.workers.update_failed`,{error:e.update.error}):e.update?.updating?f(`views.workers.updating`):e.versionMismatch?f(`views.workers.version_mismatch`,{version:e.version||`?`}):f(`views.workers.online`):f(`views.workers.offline`)}},{type:`category`,field:`name`,name:f(`views.workers.name`),columnProps:{headerClass:`w-40 min-w-40 max-w-40`,class:`w-40 min-w-40 max-w-40`},props:{class:`font-bold text-color`}},{type:`category`,field:e=>e.version?e.versionMismatch&&Z.value?`v${e.version} → v${Z.value}`:`v${e.version}`:`—`,name:f(`views.workers.version`),asChip:!0,columnProps:{headerClass:`min-w-30`,class:`min-w-30`}},{type:`category`,field:e=>e.platform?`${e.platform.os}/${e.platform.arch}`:`—`,name:f(`views.workers.platform`),asChip:!0,columnProps:{headerClass:`min-w-40`,class:`min-w-40`}},{type:`category`,field:e=>e.pid?.toString()??`—`,name:f(`views.workers.pid`),columnProps:{headerClass:`min-w-20`,class:`min-w-20`}},{type:`category`,field:e=>e.cpuLoad===void 0?`—`:`${e.cpuLoad}%`,name:f(`views.workers.cpu`),asChip:!0,columnProps:{headerClass:`min-w-30`,class:`min-w-30`}},{type:`chart`,field:`cpu_chart`,for:`cpuLoad`,columnProps:{headerClass:`min-w-[250px]`,class:`min-w-[250px]`}},{type:`category`,field:e=>e.memLoad===void 0?`—`:`${e.memLoad}%`,name:f(`views.workers.memory`),asChip:!0,columnProps:{headerClass:`min-w-30`,class:`min-w-30`}},{type:`chart`,field:`memory_chart`,for:`memLoad`,columnProps:{headerClass:`min-w-[250px]`,class:`min-w-[250px]`}},{type:`action`,field:`actions`,columnProps:{class:`text-right`},buttons:[{icon:_e,buttonProps:{severity:`secondary`},tooltip:()=>f(`views.workers.rename_worker`),action:e=>Ht(e)},{icon:s,buttonProps:{severity:`secondary`},loading:e=>e.update?.updating||H.value.includes(e.agentId),disabled:e=>!e.online||!e.versionMismatch||!e.update?.updatable,tooltip:e=>Ut(e),action:e=>Wt(e.agentId)},{icon:ve,buttonProps:{severity:`secondary`},loading:e=>B.value.includes(e.name),disabled:e=>!e.online,tooltip:()=>f(`views.workers.restart_worker`),action:e=>Gt(e.name,e.agentId)},{icon:c,buttonProps:{severity:`danger`},loading:e=>V.value.includes(e.agentId),tooltip:()=>f(`views.workers.remove_worker`),action:e=>rn(e)}]}]),Vt=E(()=>{let e=I.value;return F.value.reduce((t,n)=>{for(let r of[`cpuLoad`,`memLoad`]){let i=e[n.agentId]??[],a=i.slice(-30).filter(e=>e[r]!==void 0).map(e=>parseFloat(e[r])),o=i.slice(-30).map(e=>e.lastHeartbeat),s=[...a,...Array(30-a.length).fill(0)],c=[...o,...Array(30-o.length).fill(null)];t[`${n.name}_${r}`]={labels:c,datasets:[{data:s,backgroundColor:e=>{let t=e.raw;return t>=90?`#FA5252`:t>=50?`#FF9966`:`#df2a4c`},borderWidth:0,borderRadius:3,barPercentage:.8,categoryPercentage:.8,maxBarThickness:4,barThickness:4}]}}return t},{})});function Ht(e){T.openComponentDialog(Se,{data:{title:f(`views.workers.rename_worker`),confirmText:f(`views.workers.save`),contentProps:{currentName:e.name}},onConfirm:async t=>{!t||t===e.name||await Ot({agentId:e.agentId,name:t})}})}function Ut(e){return e.update?.updating?f(`views.workers.updating`):Z.value?f(`views.workers.update_worker`,{version:Z.value}):f(`views.workers.update_worker_short`)}async function Wt(e){J.delete(e),H.value.push(e);try{await St({agentId:e})}finally{H.value=H.value.filter(t=>t!==e)}}async function Gt(e,t){B.value.push(e);try{await xt(t)}finally{B.value=B.value.filter(t=>t!==e)}}function Kt(){let e=[];for(let t of F.value){let n=t.online?t.name:`${t.name} (${f(`views.workers.offline`).toLowerCase()})`;e.push({label:n,value:t.agentId})}return e}function Q(e){return e&&Lt.value.has(e)?e:null}function qt(e,t){if(!e?.length)return!0;let n=e.filter(e=>e.startsWith(`!`)).map(e=>e.slice(1)),r=e.filter(e=>!e.startsWith(`!`));return n.includes(t)?!1:r.length===0||r.includes(t)}function Jt(e,t){return!t.platform||qt(e.os,t.platform.os)&&qt(e.cpu,t.platform.arch)}function Yt(e){let t=[];return e.os?.length&&t.push(`os: ${e.os.join(`, `)}`),e.cpu?.length&&t.push(`cpu: ${e.cpu.join(`, `)}`),t.join(` · `)}function Xt(e){let t=[];for(let n of F.value){let r=Jt(e,n),i=n.online?``:` (${f(`views.workers.offline`).toLowerCase()})`,a=r?``:` — ${f(`views.workers.incompatible`)}`;t.push({label:`${n.name}${i}${a}`,value:n.agentId,disabled:!r})}return t}function Zt(e){return W.value.has(e)}async function Qt(e,t){if(t===Q(e.workerAgentId))return;let n=new Set(W.value);n.add(e.pluginName),W.value=n;try{t?await Et({pluginName:e.pluginName,agentId:t}):await Dt({pluginName:e.pluginName})}catch{}finally{let t=new Set(W.value);t.delete(e.pluginName),W.value=t}}function $(e){return U.value.has(e)}async function $t(e,t){if(t===Q(e.workerAgentId))return;let n=new Set(U.value);n.add(e._id),U.value=n;try{t?await yt({cameraId:e._id,agentId:t}):await bt({cameraId:e._id})}catch{}finally{let t=new Set(U.value);t.delete(e._id),U.value=t}}async function en(){try{G.value=await Ct()}catch{}}async function tn(e){if(e&&!K.value&&(K.value=z.value?.suggestedAddresses?.[0]??``,!K.value)){T.openTextDialog({data:{title:f(`views.workers.enable_workers`),contentText:f(`views.workers.address_required`),confirmText:f(`views.workers.ok`)}});return}try{await _t(e?{enabled:!0,address:K.value,port:q.value}:{enabled:!1})}catch{}}async function nn(){try{await _t({address:K.value,port:q.value})}catch{}}function rn(e){T.openTextDialog({data:{title:f(`views.workers.remove_worker`),confirmText:f(`views.workers.remove`),contentText:f(`views.workers.remove_worker_confirm`,{name:e.name}),confirmButtonProps:{severity:`danger`}},dialogSize:{desktop:{width:`auto`,maxWidth:`560px`,maxHeight:`90vh`}},onConfirm:async()=>{V.value.push(e.agentId);try{await Tt(e.agentId)}finally{V.value=V.value.filter(t=>t!==e.agentId)}}})}return ie(async()=>{P.connect(),O.connect(),await _(),P.loadAll(),jt.value=!0}),A(z,e=>{e&&(K.value=e.address,q.value=e.port)},{immediate:!0}),A(F,e=>{if(!Mt){if(!e.length)return;for(let t of e)t.update?.error&&J.set(t.agentId,t.update.error);Mt=!0;return}for(let t of e){if(t.update?.updating){J.delete(t.agentId);continue}let e=t.update?.error;if(!e){J.delete(t.agentId);continue}J.get(t.agentId)!==e&&(J.set(t.agentId,e),N.add({severity:`error`,summary:t.name,detail:f(`views.workers.update_failed`,{error:e}),life:6e3}))}}),h(()=>{P.disconnect()}),(i,s)=>{let c=ge,l=r,ne=a,d=n,f=fe,p=oe,m=de,ie=ue,h=t,_=ye,S=o,T=le,E=he,O=e,A=ee,pe=se,me=ce;return g(),x(`div`,null,[w(re)?M(``,!0):(g(),x(`h1`,Oe,b(i.$t(`views.workers.title`)),1)),k(ne,{position:`left`},{default:v(()=>[k(l,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:s[0]||=e=>i.$router.push(`/menu`)},{icon:v(()=>[k(c,{class:`w-6 h-6`})]),_:1})]),_:1}),!w(jt)||!w(L)?(g(),x(`div`,ke,[k(d,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(g(),x(`div`,Ae,[y(`div`,null,[y(`span`,je,b(i.$t(`views.workers.configuration`)),1),k(h,{class:`cui-card`},{content:v(()=>[y(`div`,Me,[y(`div`,Ne,[y(`div`,Pe,[y(`label`,Fe,b(i.$t(`views.workers.enable_workers`)),1),k(f,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-switch-hint`},{default:v(()=>[C(b(i.$t(`views.workers.enable_workers_description`)),1)]),_:1})]),k(p,{"model-value":w(Y),disabled:w(vt),class:`ml-auto shrink-0`,"onUpdate:modelValue":tn},null,8,[`model-value`,`disabled`])]),w(Y)?(g(),x(ae,{key:0},[y(`div`,Ie,[y(`label`,Le,b(i.$t(`views.workers.master_address`)),1),k(m,{modelValue:w(K),"onUpdate:modelValue":s[1]||=e=>j(K)?K.value=e:null,"input-id":`master-address`,options:w(Ft),editable:``,"option-label":`label`,"option-value":`value`,placeholder:i.$t(`views.workers.master_address_placeholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`]),k(f,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:v(()=>[C(b(i.$t(`views.workers.master_address_hint`)),1)]),_:1})]),y(`div`,Re,[y(`label`,ze,b(i.$t(`views.workers.leaf_port`)),1),k(ie,{modelValue:w(q),"onUpdate:modelValue":s[2]||=e=>j(q)?q.value=e:null,"input-id":`leaf-port`,min:1024,max:65535,"use-grouping":!1,class:`w-full`},null,8,[`modelValue`]),w(X)&&(w(z)?.pairedWorkers??0)>0?(g(),D(f,{key:0,severity:`warn`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:v(()=>[C(b(i.$t(`views.workers.port_change_warning`)),1)]),_:1})):M(``,!0)]),y(`div`,Be,[k(l,{class:`cui-button-medium`,label:i.$t(`views.workers.save`),loading:w(vt),disabled:!w(It),onClick:nn},null,8,[`label`,`loading`,`disabled`])])],64)):M(``,!0)])]),_:1})]),w(Y)?(g(),x(`div`,Ve,[y(`span`,He,b(i.$t(`views.workers.workers`)),1),w(F).length?(g(),D(_,{key:0,items:w(F),headers:w(Bt),"chart-data":w(Vt)},null,8,[`items`,`headers`,`chart-data`])):(g(),D(h,{key:1,class:`cui-card`,pt:{root:{class:`h-full`}}},{content:v(()=>[y(`div`,Ue,[k(S,{class:`w-12 h-12 text-muted`}),y(`span`,We,b(i.$t(`views.workers.no_workers`)),1)])]),_:1}))])):M(``,!0),w(Y)&&w(F).length?(g(),x(`div`,Ge,[y(`span`,Ke,b(i.$t(`views.workers.camera_assignments`)),1),k(h,{class:`cui-card`},{content:v(()=>[y(`span`,qe,b(i.$t(`views.workers.camera_assignments_description`)),1),k(E,{value:w(Nt),loading:w(mt),pt:At,"striped-rows":``,class:`w-full`},{loading:v(()=>[k(d,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:v(()=>[y(`span`,Je,b(i.$t(`views.workers.no_cameras`)),1)]),default:v(()=>[k(T,{field:`name`,header:i.$t(`views.workers.camera`),"header-class":`p-2 min-w-40`,class:`p-2 min-w-40`},{body:v(({data:e})=>[y(`span`,Ye,b(e.name),1)]),_:1},8,[`header`]),k(T,{header:i.$t(`views.workers.workers`),"header-class":`p-2 w-full`,class:`p-2 w-full`},{body:v(({data:e})=>[k(m,{"model-value":Q(e.workerAgentId),options:Kt(),"option-label":`label`,"option-value":`value`,placeholder:i.$t(`views.workers.local`),class:`w-full`,"show-clear":``,loading:$(e._id),disabled:$(e._id),"onUpdate:modelValue":t=>$t(e,t)},null,8,[`model-value`,`options`,`placeholder`,`loading`,`disabled`,`onUpdate:modelValue`])]),_:1},8,[`header`])]),_:1},8,[`value`,`loading`])]),_:1})])):M(``,!0),w(Y)&&w(F).length?(g(),x(`div`,Xe,[y(`span`,Ze,b(i.$t(`views.workers.plugin_assignments`)),1),k(h,{class:`cui-card`},{content:v(()=>[y(`span`,Qe,b(i.$t(`views.workers.plugin_assignments_description`)),1),k(E,{value:w(Pt),loading:w(gt),pt:At,"striped-rows":``,class:`w-full`},{loading:v(()=>[k(d,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:v(()=>[y(`span`,$e,b(i.$t(`views.workers.no_plugins`)),1)]),default:v(()=>[k(T,{field:`displayName`,header:i.$t(`views.workers.plugin`),"header-class":`p-2 min-w-40`,class:`p-2 min-w-40`},{body:v(({data:e})=>[y(`div`,et,[y(`span`,tt,b(e.displayName),1),Yt(e)?(g(),x(`span`,nt,b(Yt(e)),1)):M(``,!0)])]),_:1},8,[`header`]),k(T,{header:i.$t(`views.workers.workers`),"header-class":`p-2 w-full`,class:`p-2 w-full`},{body:v(({data:e})=>[k(m,{"model-value":Q(e.workerAgentId),options:Xt(e),"option-label":`label`,"option-value":`value`,"option-disabled":`disabled`,placeholder:i.$t(`views.workers.local`),class:`w-full`,"show-clear":``,loading:Zt(e.pluginName),disabled:Zt(e.pluginName),"onUpdate:modelValue":t=>Qt(e,t)},null,8,[`model-value`,`options`,`placeholder`,`loading`,`disabled`,`onUpdate:modelValue`])]),_:1},8,[`header`])]),_:1},8,[`value`,`loading`])]),_:1})])):M(``,!0),w(Y)?(g(),x(`div`,rt,[y(`span`,it,b(i.$t(`views.workers.pair_worker`)),1),k(h,{class:`cui-card`},{content:v(()=>[y(`div`,at,[y(`span`,ot,b(i.$t(`views.workers.pair_worker_description`)),1),w(G)?(g(),x(ae,{key:0},[y(`div`,st,[y(`label`,ct,b(i.$t(`views.workers.pairing_code`)),1),k(me,null,{default:v(()=>[k(O,{"model-value":w(G).code,readonly:``,type:`text`},null,8,[`model-value`]),k(pe,null,{default:v(()=>[k(A,{"action-text":i.$t(`views.workers.copied`),icon:w(u),"button-props":{severity:`secondary`,text:!0},onAction:s[3]||=e=>w(te)(w(G).code)},null,8,[`action-text`,`icon`])]),_:1})]),_:1}),k(f,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:v(()=>[C(b(i.$t(`views.workers.pairing_expires`,{minutes:w(Rt)})),1)]),_:1})]),y(`div`,lt,[y(`div`,ut,[y(`label`,dt,b(i.$t(`views.workers.pairing_snippet`)),1),k(A,{"action-text":i.$t(`views.workers.copied`),icon:w(u),"button-props":{severity:`secondary`,text:!0},onAction:s[4]||=e=>w(te)(w(zt))},null,8,[`action-text`,`icon`])]),y(`pre`,ft,b(w(zt)),1),k(f,{severity:`secondary`,variant:`simple`,size:`small`,class:`cui-input-hint`},{default:v(()=>[C(b(i.$t(`views.workers.pairing_snippet_hint`)),1)]),_:1})])],64)):M(``,!0),y(`div`,pt,[k(l,{class:`cui-button-medium`,label:i.$t(`views.workers.generate_code`),loading:w(wt),onClick:en},null,8,[`label`,`loading`])])])]),_:1})])):M(``,!0)]))])}}}),[[`__scopeId`,`data-v-11df8752`]]);export{mt as default};
@@ -1 +1 @@
1
- .pairing-snippet[data-v-94ca58a2]{background:var(--p-content-hover-background);border:1px solid var(--p-content-border-color);white-space:pre;border-radius:6px;padding:.75rem;font-size:.8rem;overflow-x:auto}
1
+ .pairing-snippet[data-v-11df8752]{background:var(--p-content-hover-background);border:1px solid var(--p-content-border-color);white-space:pre;border-radius:6px;padding:.75rem;font-size:.8rem;overflow-x:auto}
@@ -1 +1 @@
1
- import{pr as e,wr as t}from"./api-CmdQlVDD.js";import{cr as n,q as r}from"./vendor-BaiDFVEr.js";async function i({signal:e}){return(await t.get(`/`,{signal:e})).data}var a=class{_queryClient=r();queryActivator=n([{name:`apiInfoQuery`,enabled:!0}]);get queryClient(){return this._queryClient}apiInfoQuery(){return e({queryKey:[`api`],queryFn:({signal:e})=>i({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`apiInfoQuery`&&e.enabled)})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{i as n,a as t};
1
+ import{cr as e,yr as t}from"./api-C_bOaXk2.js";import{cr as n,q as r}from"./vendor-BaiDFVEr.js";async function i({signal:e}){return(await t.get(`/`,{signal:e})).data}var a=class{_queryClient=r();queryActivator=n([{name:`apiInfoQuery`,enabled:!0}]);get queryClient(){return this._queryClient}apiInfoQuery(){return e({queryKey:[`api`],queryFn:({signal:e})=>i({signal:e}),enabled:()=>this.queryActivator.value.some(e=>e.name===`apiInfoQuery`&&e.enabled)})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}};export{i as n,a as t};