@camera.ui/server 2.0.18 → 2.0.20

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 (208) hide show
  1. package/dist/interface/assets/{404-hjvRJoie.js → 404-DVIgoIOM.js} +1 -1
  2. package/dist/interface/assets/{About-CXK9lps9.js → About-I7CYGBLL.js} +1 -1
  3. package/dist/interface/assets/{Adminpanel-D1bsiC_B.js → Adminpanel-hjxjbIls.js} +1 -1
  4. package/dist/interface/assets/Automation-BD6i5cCJ.js +3 -0
  5. package/dist/interface/assets/{AutomationImport-B1Wsf3O1.js → AutomationImport-DOdFWPX5.js} +2 -2
  6. package/dist/interface/assets/{AutomationStore-BUmTKbR8.js → AutomationStore-CiCQsvdr.js} +2 -2
  7. package/dist/interface/assets/{AutomationStoreDetail-DfENt4wG.js → AutomationStoreDetail-C8GdQfDw.js} +2 -2
  8. package/dist/interface/assets/Automations-Dam6L6IJ.js +2 -0
  9. package/dist/interface/assets/Camera-DpK373mr.js +2 -0
  10. package/dist/interface/assets/{CameraConsole-D_1E2i7a.js → CameraConsole-DXtIR7hw.js} +2 -2
  11. package/dist/interface/assets/{Cameras-Co54hUIY.js → Cameras-DwFpaiFD.js} +2 -2
  12. package/dist/interface/assets/Camview-BXVRXt1q.js +1 -0
  13. package/dist/interface/assets/{Config-CZ3qg4V7.js → Config-FNZhCKP3.js} +1 -1
  14. package/dist/interface/assets/{ConfigActionCameraControl-BkP4KpkL.js → ConfigActionCameraControl-ne90-Fez.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionDelay-CW3x89X3.js → ConfigActionDelay-BRYGWPTP.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionHttp-CqRThGAM.js → ConfigActionHttp-D1m69rJz.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionImageInput-D-wCYFc9.js → ConfigActionImageInput-Dm_P4Q7V.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionMqtt-50Oit6xb.js → ConfigActionMqtt-CmRxXG4V.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionNotification-CV4TZpsD.js → ConfigActionNotification-BipubH-a.js} +1 -1
  20. package/dist/interface/assets/ConfigActionNotificationControl-HDZVn3cx.js +1 -0
  21. package/dist/interface/assets/{ConfigActionOutput-DDCdD_nG.js → ConfigActionOutput-vD4dohGk.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionPlugin-3BiyEJsy.js → ConfigActionPlugin-ug-TKeyw.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionSensor-kkHOn3aC.js → ConfigActionSensor-CBNs37pL.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionSnapshot-O4nan24K.js → ConfigActionSnapshot-BhrCn6PJ.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionVariable-Ci3wXMYZ.js → ConfigActionVariable-BabtvdZx.js} +1 -1
  26. package/dist/interface/assets/{ConfigConditionIfElse-CPzw54yv.js → ConfigConditionIfElse-CAWJ-gg2.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionSensorState-DcV8-3Tj.js → ConfigConditionSensorState-BxTrOTpB.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionSwitch-b0ikuhC6.js → ConfigConditionSwitch-aJ-w67SY.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionTime-q7GYSoQk.js → ConfigConditionTime-HKC4eK68.js} +1 -1
  30. package/dist/interface/assets/{ConfigSensorValueInput-Ba_ZC14J.js → ConfigSensorValueInput-C4msc9Se.js} +1 -1
  31. package/dist/interface/assets/{ConfigTriggerDetection-CF-C3A-0.js → ConfigTriggerDetection-NwOPfWsQ.js} +1 -1
  32. package/dist/interface/assets/ConfigTriggerGeofence-CmX_4WIJ.js +1 -0
  33. package/dist/interface/assets/{ConfigTriggerManual-B7UGIwE2.js → ConfigTriggerManual-BuJQbcOo.js} +1 -1
  34. package/dist/interface/assets/{ConfigTriggerMqtt-DL1MIwBs.js → ConfigTriggerMqtt-R0VWW5up.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerSchedule-DCUXevkw.js → ConfigTriggerSchedule-D21piX-w.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerSensor-DRX68f5E.js → ConfigTriggerSensor-Cl-mz7nd.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSystem-BOt8AI3a.js → ConfigTriggerSystem-CPPe9gXo.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerWebhook-CFeWElXX.js → ConfigTriggerWebhook-BVKRs9Pr.js} +1 -1
  39. package/dist/interface/assets/Console-C8WGObIS.js +1 -0
  40. package/dist/interface/assets/{CuiAutomationRunsDialog-yXyj7vrL.js → CuiAutomationRunsDialog-B1HvXwOc.js} +1 -1
  41. package/dist/interface/assets/{CuiBottomSheet-SnWWgn5I.js → CuiBottomSheet-BMLuWNPf.js} +1 -1
  42. package/dist/interface/assets/CuiBottomSheet-VFweBZsl.js +1 -0
  43. package/dist/interface/assets/{CuiCameraPipCard-BmmyPCOP.js → CuiCameraPipCard-CS8nuRgX.js} +1 -1
  44. package/dist/interface/assets/CuiCameraRecordings-Cbv9O2mI.js +1 -0
  45. package/dist/interface/assets/{CuiCameraShares-BE9d09pX.js → CuiCameraShares-7OhxbeqJ.js} +1 -1
  46. package/dist/interface/assets/{CuiCameraTable-TiUZNpga.js → CuiCameraTable-CggOjNka.js} +2 -2
  47. package/dist/interface/assets/{CuiDataTable-DqtFJKC6.js → CuiDataTable-VRoxHf0R.js} +1 -1
  48. package/dist/interface/assets/CuiPluginCard-C_HSpNve.js +2 -0
  49. package/dist/interface/assets/{CuiPluginCategoryChip-BX0xg3py.js → CuiPluginCategoryChip-iszX6Lqh.js} +1 -1
  50. package/dist/interface/assets/{CuiPluginOAuthButton-DZS31TnY.js → CuiPluginOAuthButton-CD_cP8Sg.js} +2 -2
  51. package/dist/interface/assets/{CuiPluginTrustBadge-rZePqROi.js → CuiPluginTrustBadge-BtP_jlV6.js} +1 -1
  52. package/dist/interface/assets/{CuiQRCode-BqMd2Oh6.js → CuiQRCode-TwHpMVmz.js} +1 -1
  53. package/dist/interface/assets/{CuiRecordingsGrid-Dkpe799a.js → CuiRecordingsGrid-DFWeOQom.js} +1 -1
  54. package/dist/interface/assets/{CuiSchema-J_b00DYu.js → CuiSchema-sba3GEON.js} +1 -1
  55. package/dist/interface/assets/{CuiTopNavbarItem-CXxnNN1s.js → CuiTopNavbarItem-qqxqB8Cc.js} +1 -1
  56. package/dist/interface/assets/Faces-DKuJfnrx.js +1 -0
  57. package/dist/interface/assets/FirstSteps-VH2JpKh5.js +1 -0
  58. package/dist/interface/assets/Instances-B9R41nUI.js +1 -0
  59. package/dist/interface/assets/{Logs-DK8-ilEl.js → Logs-BiEohM1x.js} +2 -2
  60. package/dist/interface/assets/{Menu-Cn0dBf4v.js → Menu-CauhLfRy.js} +1 -1
  61. package/dist/interface/assets/{OAuthDeviceFlow-C6aER-P5.js → OAuthDeviceFlow-Cg1RWZ2r.js} +1 -1
  62. package/dist/interface/assets/Plugin-D83B_edv.js +1 -0
  63. package/dist/interface/assets/Plugin-wl-2k1zI.css +1 -0
  64. package/dist/interface/assets/{PluginConsole-cQBNvsGp.js → PluginConsole-DNZYZcf-.js} +2 -2
  65. package/dist/interface/assets/PluginDetail-olQafOof.js +2 -0
  66. package/dist/interface/assets/{PluginSchema-DhNpD_HM.js → PluginSchema-CBh-9WZs.js} +1 -1
  67. package/dist/interface/assets/PluginSearch-BRTEBxyD.js +2 -0
  68. package/dist/interface/assets/PluginSearch-BeRuXfue.js +1 -0
  69. package/dist/interface/assets/Plugins-kIuGHw0l.js +1 -0
  70. package/dist/interface/assets/Recordings-DCMz1eso.js +1 -0
  71. package/dist/interface/assets/{Settings-CDH3BeuL.js → Settings-Di_XJPuI.js} +1 -1
  72. package/dist/interface/assets/SettingsAccount-B50Vw6rp.js +1 -0
  73. package/dist/interface/assets/SettingsAccount-DwPmXX3f.js +1 -0
  74. package/dist/interface/assets/{SettingsAppearance-BnuFyX8o.js → SettingsAppearance-Bt5mV6iW.js} +1 -1
  75. package/dist/interface/assets/SettingsAppearance-CiwV01fK.js +1 -0
  76. package/dist/interface/assets/{SettingsBackup-CBF2IQN_.js → SettingsBackup-By22p7wO.js} +1 -1
  77. package/dist/interface/assets/SettingsMqtt-DIUaZT6Y.js +1 -0
  78. package/dist/interface/assets/{SettingsNotifications-D-2v9oM8.js → SettingsNotifications-pL4a8qGr.js} +1 -1
  79. package/dist/interface/assets/{SettingsRecordings-Ui2Xd5Ye.js → SettingsRecordings-Dis1Nbho.js} +1 -1
  80. package/dist/interface/assets/SettingsRemote-DtqxKJ72.js +1 -0
  81. package/dist/interface/assets/SettingsSystem-Bmu_mIzP.js +2 -0
  82. package/dist/interface/assets/{SettingsUsers-DTFIKS6H.js → SettingsUsers-DSrT7URM.js} +1 -1
  83. package/dist/interface/assets/{Terminal-DDsjIhe7.js → Terminal-rBjP4aPW.js} +2 -2
  84. package/dist/interface/assets/{VariableInput-BEjTv8xz.js → VariableInput-B9OmFO4i.js} +1 -1
  85. package/dist/interface/assets/{VariableSuggestions-DcgHR-OY.js → VariableSuggestions-B1-MhuJO.js} +1 -1
  86. package/dist/interface/assets/VersionsHandler-DGHOWAbq.js +7 -0
  87. package/dist/interface/assets/Workers-BIrXPPcm.js +2 -0
  88. package/dist/interface/assets/api-C4TatJmj.js +2 -0
  89. package/dist/interface/assets/api-LLscRp6O.css +2 -0
  90. package/dist/interface/assets/{api-B1n4M73U.js → api-iqP3iqyL.js} +1 -1
  91. package/dist/interface/assets/{auth-DOnr6Mc1.js → auth-DKeGdKLU.js} +1 -1
  92. package/dist/interface/assets/automations-C5--KLWD.js +1 -0
  93. package/dist/interface/assets/{cameras.schema-C-xz1hwq.js → cameras.schema-BEG-W9JW.js} +1 -1
  94. package/dist/interface/assets/cloudHandoff-CHuMYunO.js +1 -0
  95. package/dist/interface/assets/{config-CYmKCSzU.js → config-DJDQ4YbG.js} +1 -1
  96. package/dist/interface/assets/{flowSchema-CsPTDyH8.js → flowSchema-ByS8_PvM.js} +1 -1
  97. package/dist/interface/assets/main-LNc3C34P.js +3 -0
  98. package/dist/interface/assets/mqtt-D2bsWeKE.js +1 -0
  99. package/dist/interface/assets/nodeDefinitions-B3j6RajL.js +1 -0
  100. package/dist/interface/assets/{notifications-Dt6ygmRP.js → notifications-CafZ2-zM.js} +1 -1
  101. package/dist/interface/assets/{plugins-BcJnIPJC.js → plugins-CIT9775i.js} +1 -1
  102. package/dist/interface/assets/{round-restart-alt-B6N0m8oC.js → round-restart-alt-CeS-sqUQ.js} +1 -1
  103. package/dist/interface/assets/{server-_ByAktOF.js → server-hEeNagJk.js} +1 -1
  104. package/dist/interface/assets/{theme-CORL_-pn.js → theme-BJfyZiCo.js} +1 -1
  105. package/dist/interface/assets/{types-DDSlYw6n.js → types-DBGjHKw2.js} +1 -1
  106. package/dist/interface/assets/types-DeSkG3t-.js +1 -0
  107. package/dist/interface/assets/types-YwmhC3Ej.js +1 -0
  108. package/dist/interface/assets/{useAppVersion-CWa09Ql5.js → useAppVersion-0AZfrSWk.js} +1 -1
  109. package/dist/interface/assets/useBackupRestore-BSKF4lS5.js +1 -0
  110. package/dist/interface/assets/{useCameraOptions-L0smaaZz.js → useCameraOptions-CL_7DfoJ.js} +1 -1
  111. package/dist/interface/assets/{useLogsSocket-DQSgBMsw.js → useLogsSocket-DH7pUHng.js} +2 -2
  112. package/dist/interface/assets/{useServerRestart-lPp2ZiX-.js → useServerRestart-Bp_KEXEn.js} +1 -1
  113. package/dist/interface/assets/{useStreamStatus-BroqI_Eh.js → useStreamStatus-M9pF0vGv.js} +1 -1
  114. package/dist/interface/assets/{useUserOptions-BB451w9I.js → useUserOptions-8pJY90z8.js} +1 -1
  115. package/dist/interface/assets/vendor-cameraui-CxG00gaf.js +2040 -0
  116. package/dist/interface/assets/{vendor-core-CoiYJRqo.js → vendor-core-C6srgzh_.js} +1 -1
  117. package/dist/interface/assets/{vendor-gridstack-9ka60QnT.js → vendor-gridstack-BJlwi692.js} +1 -1
  118. package/dist/interface/assets/{vendor-gridstack-Chv4ms9g.css → vendor-gridstack-DsRWLz0m.css} +1 -1
  119. package/dist/interface/assets/{vendor-primevue-B3sIO6X2.js → vendor-primevue-DZljZRZZ.js} +1 -1
  120. package/dist/interface/index.html +19 -19
  121. package/dist/interface/sw.js +1 -1
  122. package/dist/server/package.json +11 -8
  123. package/dist/server/requirements.txt +1 -1
  124. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +2 -0
  125. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/detection.py +2 -0
  126. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +1 -0
  127. package/dist/server/src/api/controllers/backup.controller.js +1 -0
  128. package/dist/server/src/api/controllers/backup.controller.js.map +1 -1
  129. package/dist/server/src/api/controllers/cameras.controller.js +1 -0
  130. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  131. package/dist/server/src/api/database/selfcheck.js +5 -3
  132. package/dist/server/src/api/database/selfcheck.js.map +1 -1
  133. package/dist/server/src/api/database/types.d.ts +2 -0
  134. package/dist/server/src/api/schemas/automations.schema.d.ts +3 -0
  135. package/dist/server/src/api/schemas/automations.schema.js +1 -0
  136. package/dist/server/src/api/schemas/automations.schema.js.map +1 -1
  137. package/dist/server/src/api/schemas/cameras.schema.d.ts +40 -0
  138. package/dist/server/src/api/schemas/cameras.schema.js +3 -0
  139. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  140. package/dist/server/src/automations/actions/index.js +2 -0
  141. package/dist/server/src/automations/actions/index.js.map +1 -1
  142. package/dist/server/src/automations/actions/notificationControl.d.ts +2 -0
  143. package/dist/server/src/automations/actions/notificationControl.js +17 -0
  144. package/dist/server/src/automations/actions/notificationControl.js.map +1 -0
  145. package/dist/server/src/camera/controller.d.ts +1 -1
  146. package/dist/server/src/camera/controller.js +13 -15
  147. package/dist/server/src/camera/controller.js.map +1 -1
  148. package/dist/server/src/camera/decoder/detection-coordinator.d.ts +3 -0
  149. package/dist/server/src/camera/decoder/detection-coordinator.js +90 -20
  150. package/dist/server/src/camera/decoder/detection-coordinator.js.map +1 -1
  151. package/dist/server/src/camera/decoder/stationary-suppressor.d.ts +5 -2
  152. package/dist/server/src/camera/decoder/stationary-suppressor.js +39 -12
  153. package/dist/server/src/camera/decoder/stationary-suppressor.js.map +1 -1
  154. package/dist/server/src/camera/sensors/controller.d.ts +2 -0
  155. package/dist/server/src/camera/sensors/controller.js +19 -4
  156. package/dist/server/src/camera/sensors/controller.js.map +1 -1
  157. package/dist/server/src/main.js +4 -6
  158. package/dist/server/src/main.js.map +1 -1
  159. package/dist/server/src/manager/notificationManager.d.ts +3 -0
  160. package/dist/server/src/manager/notificationManager.js +19 -4
  161. package/dist/server/src/manager/notificationManager.js.map +1 -1
  162. package/dist/server/src/remote/services/index.d.ts +4 -0
  163. package/dist/server/src/remote/services/index.js +27 -0
  164. package/dist/server/src/remote/services/index.js.map +1 -1
  165. package/dist/server/src/rpc/interfaces/device.d.ts +1 -1
  166. package/dist/server/src/types.d.ts +1 -0
  167. package/dist/server/src/utils/ipc.d.ts +3 -0
  168. package/dist/server/src/utils/ipc.js +33 -0
  169. package/dist/server/src/utils/ipc.js.map +1 -1
  170. package/package.json +11 -8
  171. package/dist/interface/assets/Automation-BE-lA9i2.js +0 -3
  172. package/dist/interface/assets/Automations-3SibYydl.js +0 -2
  173. package/dist/interface/assets/Camera-ByUigyg3.js +0 -2
  174. package/dist/interface/assets/Camview-D83wwTUB.js +0 -1
  175. package/dist/interface/assets/ConfigTriggerGeofence-CW5W3lot.js +0 -1
  176. package/dist/interface/assets/Console-Cxs29skk.js +0 -1
  177. package/dist/interface/assets/CuiBottomSheet-DVzVzs8p.js +0 -1
  178. package/dist/interface/assets/CuiCameraRecordings-DLfMPUOL.js +0 -1
  179. package/dist/interface/assets/CuiPluginCard-C8eDXMRg.js +0 -2
  180. package/dist/interface/assets/Faces-CaGWFf-y.js +0 -1
  181. package/dist/interface/assets/FirstSteps-fOhI977X.js +0 -1
  182. package/dist/interface/assets/Instances-BD727wNP.js +0 -1
  183. package/dist/interface/assets/Plugin-Cq_hIp8V.js +0 -1
  184. package/dist/interface/assets/Plugin-DbSiTjYn.css +0 -1
  185. package/dist/interface/assets/PluginDetail-9-jofn3X.js +0 -2
  186. package/dist/interface/assets/PluginSearch-CYEjSopJ.js +0 -2
  187. package/dist/interface/assets/PluginSearch-Cy8JvNJD.js +0 -1
  188. package/dist/interface/assets/Plugins-YyemYjP4.js +0 -1
  189. package/dist/interface/assets/Recordings-Cwns8Zzj.js +0 -1
  190. package/dist/interface/assets/SettingsAccount-BoWR0DKm.js +0 -1
  191. package/dist/interface/assets/SettingsAccount-CycVwV2K.js +0 -1
  192. package/dist/interface/assets/SettingsAppearance-DHSpEmup.js +0 -1
  193. package/dist/interface/assets/SettingsMqtt-CChS0s5J.js +0 -1
  194. package/dist/interface/assets/SettingsRemote-D2nKjVHR.js +0 -1
  195. package/dist/interface/assets/SettingsSystem-C1vJGmFo.js +0 -2
  196. package/dist/interface/assets/VersionsHandler-DrVcvut6.js +0 -7
  197. package/dist/interface/assets/Workers-xyas5_sn.js +0 -2
  198. package/dist/interface/assets/api-CdJDEL3z.js +0 -2
  199. package/dist/interface/assets/api-Ct6LuJao.css +0 -2
  200. package/dist/interface/assets/automations-B-tYtR3y.js +0 -1
  201. package/dist/interface/assets/cloudHandoff-zt3rCB3J.js +0 -1
  202. package/dist/interface/assets/main-DILs_jYV.js +0 -3
  203. package/dist/interface/assets/mqtt-BrTLJ_eM.js +0 -1
  204. package/dist/interface/assets/nodeDefinitions-DkMCR_zX.js +0 -1
  205. package/dist/interface/assets/types-CGqXKLKp.js +0 -1
  206. package/dist/interface/assets/types-f9LWayxM.js +0 -1
  207. package/dist/interface/assets/useBackupRestore-5tZ-awcr.js +0 -1
  208. package/dist/interface/assets/vendor-cameraui-Bq-hQsT7.js +0 -2040
@@ -1,2 +0,0 @@
1
- import{F as e,O as t,Ot as n,kr as r,wt as i}from"./vendor-cameraui-Bq-hQsT7.js";import{$n as a,En as o,G as s,Gn as c,L as ee,Ln as te,Un as l,an as ne,et as re,i as ie,nn as u,nt as ae,tt as oe,z as se}from"./api-CdJDEL3z.js";import{An as d,J as f,Ln as ce,Mn as le,Q as p,Qn as m,Rn as h,Tr as g,an as _,bn as v,cr as ue,dn as de,dr as y,fn as b,ir as x,ln as S,pn as C,pr as w,tr as T,un as E,vn as D,xr as O}from"./vendor-CdGy-Xet.js";import{K as fe,L as pe,R as me,g as he,j as ge,x as _e}from"./vendor-primevue-B3sIO6X2.js";import{t as ve}from"./plugins-BcJnIPJC.js";import{t as ye}from"./CuiDataTable-DqtFJKC6.js";import{t as be}from"./back-filled-DZmo9cAg.js";import{n as xe,t as Se}from"./round-restart-alt-B6N0m8oC.js";async function k(){return(await a.get(`/workers/config`)).data}async function A(e){return(await a.patch(`/workers/config`,e)).data}async function j(){return(await a.post(`/workers/pairings`)).data}async function M(e){await a.delete(`/workers/${e}`)}async function N(e){await a.post(`/workers/${e}/restart`)}async function P({cameraId:e,agentId:t}){return(await a.post(`/workers/assign`,{cameraId:e,agentId:t})).data}async function F({cameraId:e}){return(await a.post(`/workers/unassign`,{cameraId:e})).data}async function I({pluginName:e,agentId:t}){return(await a.post(`/workers/assign-plugin`,{pluginName:e,agentId:t})).data}async function Ce({pluginName:e}){return(await a.post(`/workers/unassign-plugin`,{pluginName:e})).data}var we=class{_queryClient=p();toast=c();getConfigQuery(){return l({queryKey:[`workersConfig`],queryFn:()=>k(),retry:!1})}patchConfigQuery(){return f({mutationFn:A,onSuccess:()=>this._queryClient.invalidateQueries({queryKey:[`workersConfig`]}),onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})}})}createPairingQuery(){return f({mutationFn:j})}removeWorkerQuery(){return f({mutationFn:M,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`camerasList`]})})}assignCameraQuery(){return f({mutationFn:P,onMutate:({cameraId:e,agentId:t})=>this.patchCameraWorker(e,t),onError:(e,t,n)=>{n?.rollback(),this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`camerasList`]})})}unassignCameraQuery(){return f({mutationFn:F,onMutate:({cameraId:e})=>this.patchCameraWorker(e,void 0),onError:(e,t,n)=>{n?.rollback(),this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`camerasList`]})})}restartWorkerQuery(){return f({mutationFn:N})}assignPluginQuery(){return f({mutationFn:I,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`pluginsList`]})})}unassignPluginQuery(){return f({mutationFn:Ce,onError:e=>{this.toast.add({severity:`error`,detail:e,life:3e3})},onSettled:()=>this._queryClient.invalidateQueries({queryKey:[`pluginsList`]})})}patchCameraWorker(e,t){let n=[];for(let[r,i]of this._queryClient.getQueriesData({queryKey:[`camerasList`]}))i?.result&&(n.push([r,i]),this._queryClient.setQueryData(r,{...i,result:i.result.map(n=>n._id===e?{...n,workerAgentId:t}:n)}));return{rollback:()=>{for(let[e,t]of n)this._queryClient.setQueryData(e,t)}}}},L=y({workers:[],workerHistory:{}}),R=null,z=null;function Te(e){let t=L.workers.findIndex(t=>t.agentId===e.agentId);if(t!==-1){let n=[...L.workers];n[t]=e,L.workers=n}else L.workers=[...L.workers,e];let n=L.workerHistory[e.agentId]??[];L.workerHistory={...L.workerHistory,[e.agentId]:[...n,e].slice(-30)}}async function Ee(){if(z?.ready.value)try{L.workers=await z.request(`get-workers`)}catch{}}async function De(){if(z?.ready.value)try{L.workerHistory=await z.request(`get-worker-history`)}catch{}}async function B(){await Promise.all([Ee(),De()])}function V(){return z||(R=x(!0),R.run(()=>{let e=te(`/workers`);z=e,e.on(`worker-update`,e=>Te(e)),e.on(`worker-removed`,({agentId:e})=>{L.workers=L.workers.filter(t=>t.agentId!==e);let t={...L.workerHistory};delete t[e],L.workerHistory=t}),e.onReady(()=>{B()})}),z)}function Oe(){function e(){V()}function t(){}return{isConnected:S(()=>z?.connected.value??!1),workers:S(()=>L.workers),workerHistory:S(()=>L.workerHistory),connect:e,disconnect:t,loadAll:B}}var ke={key:0,class:`page-title`},Ae={key:1,class:`w-full h-full flex items-center justify-center`},je={key:2,class:`flex flex-col w-full gap-6`},Me={class:`card-title`},Ne={class:`flex flex-col gap-6`},Pe={class:`flex flex-row items-center justify-between gap-4`},Fe={class:`flex flex-col`},Ie={class:`text-sm font-semibold text-color`},Le={class:`text-muted text-xs`},Re={class:`flex flex-col field-gap`},ze={class:`text-sm font-semibold`},Be={class:`text-muted text-xs`},Ve={class:`flex flex-col field-gap`},He={class:`text-sm font-semibold`},Ue={key:0,class:`text-orange-400 text-xs`},We={class:`flex flex-row items-end justify-end`},Ge={key:0},Ke={class:`card-title`},qe={class:`flex flex-col items-center justify-center gap-4 py-6`},Je={class:`text-muted text-sm`},Ye={key:1},Xe={class:`card-title`},Ze={class:`text-muted text-sm mb-4`},Qe={class:`text-muted text-sm`},$e={class:`font-bold text-color text-sm`},et={key:2},tt={class:`card-title`},nt={class:`text-muted text-sm mb-4`},rt={class:`text-muted text-sm`},it={class:`flex flex-col`},at={class:`font-bold text-color text-sm`},ot={key:0,class:`text-muted text-xs`},st={key:3},ct={class:`card-title`},lt={class:`flex flex-col gap-6`},ut={class:`text-sm`},dt={class:`flex flex-col field-gap`},ft={class:`text-sm font-semibold`},pt={class:`text-muted text-xs`},mt={class:`flex flex-col field-gap`},ht={class:`flex flex-row items-center justify-between`},gt={class:`text-sm font-semibold`},_t={class:`pairing-snippet`},vt={class:`text-muted text-xs`},yt={class:`flex flex-row items-end justify-end`},H=u(v({__name:`Workers`,setup(a){let{t:c}=r(),{smBreakpoint:te}=ne(),l=s(),u=Oe(),{workers:f,workerHistory:p,isConnected:v}=u,y=new ae,x=new ve,k=new we,{data:A,isLoading:j}=y.getCamerasQuery(w({page:1,pageSize:999})),{data:M,isLoading:N}=x.getPluginsQuery(w({page:1,pageSize:999})),{data:P}=k.getConfigQuery(),{mutateAsync:F,isPending:I}=k.patchConfigQuery(),{mutateAsync:Ce}=k.assignCameraQuery(),{mutateAsync:L}=k.unassignCameraQuery(),{mutateAsync:R}=k.restartWorkerQuery(),{mutateAsync:z,isPending:Te}=k.createPairingQuery(),{mutateAsync:Ee}=k.removeWorkerQuery(),{mutateAsync:De}=k.assignPluginQuery(),{mutateAsync:B}=k.unassignPluginQuery(),V={bodyRow:{class:`text-sm text-secondary`},column:{columnTitle:{class:`text-sm font-semibold`}}},H=w(!1),U=w([]),W=w([]),G=w(new Set),K=w(new Set),q=w(null),J=w(``),Y=w(7422),bt=S(()=>A.value?.result??[]),xt=S(()=>M.value?.result??[]),X=S(()=>P.value?.enabled??!1),St=S(()=>(P.value?.suggestedAddresses??[]).map(e=>({label:e,value:e}))),Ct=S(()=>Y.value!==(P.value?.port??7422)),wt=S(()=>J.value!==(P.value?.address??``)||Ct.value),Tt=S(()=>new Set(f.value.map(e=>e.agentId))),Et=S(()=>q.value?Math.max(0,Math.round((q.value.expiresAt-Date.now())/6e4)):0),Dt=S(()=>q.value?[`worker:`,` master: ${q.value.address||`<MASTER_IP>`}`,` apiPort: ${q.value.apiPort}`,` pairingCode: ${q.value.code}`,` name: my-worker`,` capabilities:`,` - frameDecoding`,` - pluginHost`].join(`
2
- `):``),Ot=S(()=>[{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.versionMismatch?c(`views.workers.version_mismatch`,{version:e.version||`?`}):c(`views.workers.online`):c(`views.workers.offline`)}},{type:`category`,field:`name`,name:c(`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.platform?`${e.platform.os}/${e.platform.arch}`:`—`,name:c(`views.workers.platform`),asChip:!0,columnProps:{headerClass:`min-w-40`,class:`min-w-40`}},{type:`category`,field:e=>e.pid?.toString()??`—`,name:c(`views.workers.pid`),columnProps:{headerClass:`min-w-20`,class:`min-w-20`}},{type:`category`,field:e=>e.cpuLoad===void 0?`—`:`${e.cpuLoad}%`,name:c(`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:c(`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:Se,loading:e=>U.value.includes(e.name),disabled:e=>!e.online,action:e=>At(e.name,e.agentId)},{icon:ee,buttonProps:{severity:`danger`},loading:e=>W.value.includes(e.agentId),action:e=>Vt(e)}]}]),kt=S(()=>{let e=p.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},{})});async function At(e,t){U.value.push(e);try{await R(t)}finally{U.value=U.value.filter(t=>t!==e)}}function jt(){let e=[];for(let t of f.value){let n=t.online?t.name:`${t.name} (${c(`views.workers.offline`).toLowerCase()})`;e.push({label:n,value:t.agentId})}return e}function Z(e){return e&&Tt.value.has(e)?e:null}function Mt(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 Nt(e,t){return!t.platform||Mt(e.os,t.platform.os)&&Mt(e.cpu,t.platform.arch)}function Q(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 Pt(e){let t=[];for(let n of f.value){let r=Nt(e,n),i=n.online?``:` (${c(`views.workers.offline`).toLowerCase()})`,a=r?``:` — ${c(`views.workers.incompatible`)}`;t.push({label:`${n.name}${i}${a}`,value:n.agentId,disabled:!r})}return t}function Ft(e){return K.value.has(e)}async function It(e,t){if(t===Z(e.workerAgentId))return;let n=new Set(K.value);n.add(e.pluginName),K.value=n;try{t?await De({pluginName:e.pluginName,agentId:t}):await B({pluginName:e.pluginName})}catch{}finally{let t=new Set(K.value);t.delete(e.pluginName),K.value=t}}function $(e){return G.value.has(e)}async function Lt(e,t){if(t===Z(e.workerAgentId))return;let n=new Set(G.value);n.add(e._id),G.value=n;try{t?await Ce({cameraId:e._id,agentId:t}):await L({cameraId:e._id})}catch{}finally{let t=new Set(G.value);t.delete(e._id),G.value=t}}async function Rt(){try{q.value=await z()}catch{}}async function zt(e){if(e&&!J.value&&(J.value=P.value?.suggestedAddresses?.[0]??``,!J.value)){l.openTextDialog({data:{title:c(`views.workers.enable_workers`),contentText:c(`views.workers.address_required`),confirmText:c(`views.workers.ok`)}});return}try{await F(e?{enabled:!0,address:J.value,port:Y.value}:{enabled:!1})}catch{}}async function Bt(){try{await F({address:J.value,port:Y.value})}catch{}}function Vt(e){l.openTextDialog({data:{title:c(`views.workers.remove_worker`),confirmText:c(`views.workers.remove`),contentText:c(`views.workers.remove_worker_confirm`,{name:e.name}),confirmButtonProps:{severity:`danger`}},dialogSize:{desktop:{width:`auto`,maxWidth:`560px`,maxHeight:`90vh`}},onConfirm:async()=>{W.value.push(e.agentId);try{await Ee(e.agentId)}finally{W.value=W.value.filter(t=>t!==e.agentId)}}})}return le(async()=>{u.connect(),await d(),u.loadAll(),H.value=!0}),m(P,e=>{e&&(J.value=e.address,Y.value=e.port)},{immediate:!0}),ce(()=>{u.disconnect()}),(r,a)=>{let s=be,c=n,ee=se,l=i,ne=fe,u=ge,ae=he,d=e,ce=xe,le=o,p=_e,m=ye,y=t,x=oe,S=pe,w=me;return h(),C(`div`,null,[O(te)?b(``,!0):(h(),C(`h1`,ke,g(r.$t(`views.workers.title`)),1)),D(ee,{position:`left`},{default:T(()=>[D(c,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:a[0]||=e=>r.$router.push(`/menu`)},{icon:T(()=>[D(s,{class:`w-6 h-6`})]),_:1})]),_:1}),!O(H)||!O(v)?(h(),C(`div`,Ae,[D(l,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})])):(h(),C(`div`,je,[E(`div`,null,[E(`span`,Me,g(r.$t(`views.workers.configuration`)),1),D(d,{class:`cui-card`},{content:T(()=>[E(`div`,Ne,[E(`div`,Pe,[E(`div`,Fe,[E(`span`,Ie,g(r.$t(`views.workers.enable_workers`)),1),E(`span`,Le,g(r.$t(`views.workers.enable_workers_description`)),1)]),D(ne,{"model-value":O(X),disabled:O(I),class:`shrink-0`,"onUpdate:modelValue":zt},null,8,[`model-value`,`disabled`])]),O(X)?(h(),C(_,{key:0},[E(`div`,Re,[E(`span`,ze,g(r.$t(`views.workers.master_address`)),1),D(u,{modelValue:O(J),"onUpdate:modelValue":a[1]||=e=>ue(J)?J.value=e:null,options:O(St),editable:``,"option-label":`label`,"option-value":`value`,placeholder:r.$t(`views.workers.master_address_placeholder`),class:`w-full`},null,8,[`modelValue`,`options`,`placeholder`]),E(`span`,Be,g(r.$t(`views.workers.master_address_hint`)),1)]),E(`div`,Ve,[E(`span`,He,g(r.$t(`views.workers.leaf_port`)),1),D(ae,{modelValue:O(Y),"onUpdate:modelValue":a[2]||=e=>ue(Y)?Y.value=e:null,min:1024,max:65535,"use-grouping":!1,class:`w-full`},null,8,[`modelValue`]),O(Ct)&&(O(P)?.pairedWorkers??0)>0?(h(),C(`span`,Ue,g(r.$t(`views.workers.port_change_warning`)),1)):b(``,!0)]),E(`div`,We,[D(c,{class:`cui-button-medium`,label:r.$t(`views.workers.save`),loading:O(I),disabled:!O(wt),onClick:Bt},null,8,[`label`,`loading`,`disabled`])])],64)):b(``,!0)])]),_:1})]),O(X)?(h(),C(`div`,Ge,[E(`span`,Ke,g(r.$t(`views.workers.workers`)),1),O(f).length?(h(),de(ce,{key:0,items:O(f),headers:O(Ot),"chart-data":O(kt)},null,8,[`items`,`headers`,`chart-data`])):(h(),de(d,{key:1,class:`cui-card`,pt:{root:{class:`h-full`}}},{content:T(()=>[E(`div`,qe,[D(le,{class:`w-12 h-12 text-muted`}),E(`span`,Je,g(r.$t(`views.workers.no_workers`)),1)])]),_:1}))])):b(``,!0),O(X)&&O(f).length?(h(),C(`div`,Ye,[E(`span`,Xe,g(r.$t(`views.workers.camera_assignments`)),1),D(d,{class:`cui-card`},{content:T(()=>[E(`p`,Ze,g(r.$t(`views.workers.camera_assignments_description`)),1),D(m,{value:O(bt),loading:O(j),pt:V,"striped-rows":``,class:`w-full`},{loading:T(()=>[D(l,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:T(()=>[E(`span`,Qe,g(r.$t(`views.workers.no_cameras`)),1)]),default:T(()=>[D(p,{field:`name`,header:r.$t(`views.workers.camera`),"header-class":`p-2 min-w-40`,class:`p-2 min-w-40`},{body:T(({data:e})=>[E(`span`,$e,g(e.name),1)]),_:1},8,[`header`]),D(p,{header:r.$t(`views.workers.workers`),"header-class":`p-2 w-full`,class:`p-2 w-full`},{body:T(({data:e})=>[D(u,{"model-value":Z(e.workerAgentId),options:jt(),"option-label":`label`,"option-value":`value`,placeholder:r.$t(`views.workers.local`),class:`w-full`,"show-clear":``,loading:$(e._id),disabled:$(e._id),"onUpdate:modelValue":t=>Lt(e,t)},null,8,[`model-value`,`options`,`placeholder`,`loading`,`disabled`,`onUpdate:modelValue`])]),_:1},8,[`header`])]),_:1},8,[`value`,`loading`])]),_:1})])):b(``,!0),O(X)&&O(f).length?(h(),C(`div`,et,[E(`span`,tt,g(r.$t(`views.workers.plugin_assignments`)),1),D(d,{class:`cui-card`},{content:T(()=>[E(`p`,nt,g(r.$t(`views.workers.plugin_assignments_description`)),1),D(m,{value:O(xt),loading:O(N),pt:V,"striped-rows":``,class:`w-full`},{loading:T(()=>[D(l,{class:`w-[30px] h-[30px] m-0`,"stroke-width":`5`})]),empty:T(()=>[E(`span`,rt,g(r.$t(`views.workers.no_plugins`)),1)]),default:T(()=>[D(p,{field:`displayName`,header:r.$t(`views.workers.plugin`),"header-class":`p-2 min-w-40`,class:`p-2 min-w-40`},{body:T(({data:e})=>[E(`div`,it,[E(`span`,at,g(e.displayName),1),Q(e)?(h(),C(`span`,ot,g(Q(e)),1)):b(``,!0)])]),_:1},8,[`header`]),D(p,{header:r.$t(`views.workers.workers`),"header-class":`p-2 w-full`,class:`p-2 w-full`},{body:T(({data:e})=>[D(u,{"model-value":Z(e.workerAgentId),options:Pt(e),"option-label":`label`,"option-value":`value`,"option-disabled":`disabled`,placeholder:r.$t(`views.workers.local`),class:`w-full`,"show-clear":``,loading:Ft(e.pluginName),disabled:Ft(e.pluginName),"onUpdate:modelValue":t=>It(e,t)},null,8,[`model-value`,`options`,`placeholder`,`loading`,`disabled`,`onUpdate:modelValue`])]),_:1},8,[`header`])]),_:1},8,[`value`,`loading`])]),_:1})])):b(``,!0),O(X)?(h(),C(`div`,st,[E(`span`,ct,g(r.$t(`views.workers.pair_worker`)),1),D(d,{class:`cui-card`},{content:T(()=>[E(`div`,lt,[E(`span`,ut,g(r.$t(`views.workers.pair_worker_description`)),1),O(q)?(h(),C(_,{key:0},[E(`div`,dt,[E(`span`,ft,g(r.$t(`views.workers.pairing_code`)),1),D(w,null,{default:T(()=>[D(y,{"model-value":O(q).code,readonly:``,type:`text`},null,8,[`model-value`]),D(S,null,{default:T(()=>[D(x,{"action-text":r.$t(`views.workers.copied`),icon:O(re),"button-props":{severity:`secondary`,text:!0},onAction:a[3]||=e=>O(ie)(O(q).code)},null,8,[`action-text`,`icon`])]),_:1})]),_:1}),E(`span`,pt,g(r.$t(`views.workers.pairing_expires`,{minutes:O(Et)})),1)]),E(`div`,mt,[E(`div`,ht,[E(`span`,gt,g(r.$t(`views.workers.pairing_snippet`)),1),D(x,{"action-text":r.$t(`views.workers.copied`),icon:O(re),"button-props":{severity:`secondary`,text:!0},onAction:a[4]||=e=>O(ie)(O(Dt))},null,8,[`action-text`,`icon`])]),E(`pre`,_t,g(O(Dt)),1),E(`span`,vt,g(r.$t(`views.workers.pairing_snippet_hint`)),1)])],64)):b(``,!0),E(`div`,yt,[D(c,{class:`cui-button-medium`,label:r.$t(`views.workers.generate_code`),loading:O(Te),onClick:Rt},null,8,[`label`,`loading`])])])]),_:1})])):b(``,!0)]))])}}}),[[`__scopeId`,`data-v-bde03a44`]]);export{H as default};