@camera.ui/server 0.0.99 → 0.0.100

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 (138) hide show
  1. package/dist/interface/assets/{404-CGqfDdZ6.js → 404-D8RFqFtN.js} +1 -1
  2. package/dist/interface/assets/{About-URjOfI5v.js → About-CjPUstm7.js} +1 -1
  3. package/dist/interface/assets/Adminpanel-DsaHh-eh.js +1 -0
  4. package/dist/interface/assets/{Automation-BaJyfei4.js → Automation-CdDySbn-.js} +2 -2
  5. package/dist/interface/assets/{Automations-BlSBLWvk.js → Automations-SZ6YPt__.js} +1 -1
  6. package/dist/interface/assets/{Camera-Fb7bbgZZ.js → Camera-CA-QFUXm.js} +2 -2
  7. package/dist/interface/assets/CameraConsole-BuPu7Vkg.js +7 -0
  8. package/dist/interface/assets/Cameras-Dq22gBdr.js +656 -0
  9. package/dist/interface/assets/{Camview-BG5TtxRi.js → Camview-B89OyWl0.js} +1 -1
  10. package/dist/interface/assets/{Config-C6uaou3o.js → Config-CxQeXv7R.js} +1 -1
  11. package/dist/interface/assets/{ConfigActionCameraControl-B5BiSuOl.js → ConfigActionCameraControl-Bk_xZEzK.js} +1 -1
  12. package/dist/interface/assets/{ConfigActionNotification-DuLhW1fW.js → ConfigActionNotification-B_RqqBYf.js} +1 -1
  13. package/dist/interface/assets/{ConfigActionPlugin-C5AnB-3g.js → ConfigActionPlugin-BmeA5hq9.js} +1 -1
  14. package/dist/interface/assets/{ConfigActionSensor-H14DnxB5.js → ConfigActionSensor-B46DLHLE.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionSnapshot-O7LjVEmu.js → ConfigActionSnapshot-mXndDdgD.js} +1 -1
  16. package/dist/interface/assets/{ConfigConditionSensorState-DQWLTq0-.js → ConfigConditionSensorState-ByPrF_oE.js} +1 -1
  17. package/dist/interface/assets/{ConfigTriggerDetection-S5yAaNEJ.js → ConfigTriggerDetection-DX67r7Ei.js} +1 -1
  18. package/dist/interface/assets/{ConfigTriggerGeofence-DNZehQRE.js → ConfigTriggerGeofence-iOY28Af8.js} +1 -1
  19. package/dist/interface/assets/{ConfigTriggerSensor-Dl7yK4zM.js → ConfigTriggerSensor-cCSBON5J.js} +1 -1
  20. package/dist/interface/assets/{ConfigTriggerSystem-qpGChx_t.js → ConfigTriggerSystem-DsiOLb60.js} +1 -1
  21. package/dist/interface/assets/Console-D8WZI01G.js +6 -0
  22. package/dist/interface/assets/{CuiAvatar-CsScebMx.js → CuiAvatar-CnTqaIix.js} +1 -1
  23. package/dist/interface/assets/CuiBottomSheet-DPRsmfpj.js +1 -0
  24. package/dist/interface/assets/{CuiBottomSheet-DADVYUZP.js → CuiBottomSheet-mLC2sZgD.js} +1 -1
  25. package/dist/interface/assets/{CuiCameraCard-BqmI2OZs.js → CuiCameraCard-OBn8Nb9y.js} +1 -1
  26. package/dist/interface/assets/{CuiCameraPipCard-CZs9GXxD.js → CuiCameraPipCard-CW0ifYUy.js} +1 -1
  27. package/dist/interface/assets/{CuiCameraRecordings-DU9tQBCo.js → CuiCameraRecordings-rS89MUeZ.js} +1 -1
  28. package/dist/interface/assets/{CuiCameraShares-CRvPIRzf.js → CuiCameraShares-DhxkZYoU.js} +1 -1
  29. package/dist/interface/assets/{CuiCameraSnapshot-VcgjpetC.js → CuiCameraSnapshot-vsRyJQpZ.js} +1 -1
  30. package/dist/interface/assets/{CuiCameraTable-CfbTYfFv.js → CuiCameraTable-D1tc874k.js} +1 -1
  31. package/dist/interface/assets/{CuiImage-6GeH3yfp.js → CuiImage-Dqy-7RA9.js} +1 -1
  32. package/dist/interface/assets/{CuiMenu-DIUfSKaD.js → CuiMenu-DMY8m12e.js} +1 -1
  33. package/dist/interface/assets/{CuiPluginCard-h4VXKTe7.js → CuiPluginCard-BApYHaYK.js} +2 -2
  34. package/dist/interface/assets/{CuiPluginOAuthButton-BuDycTgw.js → CuiPluginOAuthButton-Dzs0u-yw.js} +2 -2
  35. package/dist/interface/assets/{CuiQRCode-C4WGBs77.js → CuiQRCode-Dar7Jb_i.js} +1 -1
  36. package/dist/interface/assets/{CuiRecordingsGrid-DyzJg09W.js → CuiRecordingsGrid-DurKs7YQ.js} +1 -1
  37. package/dist/interface/assets/{CuiSchema-BW86t7fv.js → CuiSchema-Cssi_QZC.js} +1 -1
  38. package/dist/interface/assets/{Faces-qoPUJlc6.js → Faces-DP6AvOBj.js} +1 -1
  39. package/dist/interface/assets/{FirstSteps-DnElw1hi.js → FirstSteps-BALuuLPG.js} +1 -1
  40. package/dist/interface/assets/{Instances-BncP_SBk.js → Instances-DqqVwkeN.js} +1 -1
  41. package/dist/interface/assets/{Menu-B4_m1WF_.js → Menu-Dn4PBKpX.js} +1 -1
  42. package/dist/interface/assets/{OAuthDeviceFlow-DEwrU8L9.js → OAuthDeviceFlow-BADWIcbz.js} +1 -1
  43. package/dist/interface/assets/{Plugin-Dn5vqU4X.js → Plugin-x4MnVpDQ.js} +1 -1
  44. package/dist/interface/assets/PluginConsole-dpqKoxaP.js +7 -0
  45. package/dist/interface/assets/{PluginSchema-vxEUM-61.js → PluginSchema-fi8Qsc2m.js} +1 -1
  46. package/dist/interface/assets/{Plugins-DIl5APKQ.js → Plugins-Bqj_gBEG.js} +2 -2
  47. package/dist/interface/assets/{Recordings-D5Ji--RO.js → Recordings-B1VQ1Yv3.js} +1 -1
  48. package/dist/interface/assets/{Settings-DE6RfQ5Y.js → Settings-CYuslqlv.js} +1 -1
  49. package/dist/interface/assets/{SettingsAccount-_XEEod5l.js → SettingsAccount-BWzvGQ3j.js} +1 -1
  50. package/dist/interface/assets/SettingsAccount-CGSm6KyF.js +1 -0
  51. package/dist/interface/assets/SettingsAppearance-BZdc6hOW.js +1 -0
  52. package/dist/interface/assets/{SettingsAppearance-mGENXFy4.js → SettingsAppearance-DWb6W8lv.js} +1 -1
  53. package/dist/interface/assets/{SettingsBackup-eF5cbNPt.js → SettingsBackup-DvTuMs1p.js} +1 -1
  54. package/dist/interface/assets/{SettingsNotifications-BwxRI0jl.js → SettingsNotifications-Ckbz5l12.js} +1 -1
  55. package/dist/interface/assets/{SettingsRecordings-CEB0cz9L.js → SettingsRecordings-DpdRTfkH.js} +1 -1
  56. package/dist/interface/assets/{SettingsRemote-BH4enBL4.js → SettingsRemote-DuLKYaeG.js} +1 -1
  57. package/dist/interface/assets/{SettingsSystem-CXufeKHR.js → SettingsSystem-BpLtRIrb.js} +2 -2
  58. package/dist/interface/assets/{SettingsUsers-BT7Dzihk.js → SettingsUsers-BTd-ieHZ.js} +1 -1
  59. package/dist/interface/assets/{Terminal-2tp5OxjF.js → Terminal-D8zC4BIF.js} +1 -1
  60. package/dist/interface/assets/{VersionsHandler-BPh4lCvQ.js → VersionsHandler-BZtmjoFr.js} +1 -1
  61. package/dist/interface/assets/Workers-BPQIxEg9.js +1 -0
  62. package/dist/interface/assets/{api-K4XsDkLM.js → api-BXAjPStr.js} +1 -1
  63. package/dist/interface/assets/{api-Dx-gynar.css → api-Cy-xAQGE.css} +1 -1
  64. package/dist/interface/assets/api-ip5Qz2cl.js +2 -0
  65. package/dist/interface/assets/{auth-BdlbWMOx.js → auth-BL6McQ6L.js} +1 -1
  66. package/dist/interface/assets/{automations-DmufBRSS.js → automations-DdW_9hGf.js} +1 -1
  67. package/dist/interface/assets/{backup-CZ8kgA_t.js → backup-DaOmyROh.js} +1 -1
  68. package/dist/interface/assets/{cameras-CMJNV2Qu.js → cameras-CpcEVB7O.js} +1 -1
  69. package/dist/interface/assets/cameras.schema-DdfxDJ8z.js +1 -0
  70. package/dist/interface/assets/cloudHandoff-DJ1YT2O6.js +1 -0
  71. package/dist/interface/assets/{deviceId-Tkb4Wm8j.js → deviceId-CgqSyDFE.js} +1 -1
  72. package/dist/interface/assets/{hasPermission-D5p08DZc.js → hasPermission-CPbg1G8S.js} +1 -1
  73. package/dist/interface/assets/{instances-Utsx9iJo.js → instances-AgSMbtUw.js} +1 -1
  74. package/dist/interface/assets/{locale-CmE7X4VH.js → locale-De9OgPRf.js} +1 -1
  75. package/dist/interface/assets/{main-1xBkZFZd.js → main-BsF04agf.js} +3 -3
  76. package/dist/interface/assets/{notifications-43w57akw.js → notifications-Bt2rS0oF.js} +1 -1
  77. package/dist/interface/assets/{plugins-CQjjilAg.js → plugins-djfAdtBz.js} +1 -1
  78. package/dist/interface/assets/{round-restart-alt-BoYs6Sl9.js → round-restart-alt-DAOUjIH0.js} +1 -1
  79. package/dist/interface/assets/{router-C6R_iGfz.js → router-ygEo0Buu.js} +2 -2
  80. package/dist/interface/assets/{server-CUcNO1h2.js → server-viIVfNS-.js} +1 -1
  81. package/dist/interface/assets/{shares-BRd3zGlF.js → shares-DSm5T_aw.js} +1 -1
  82. package/dist/interface/assets/{theme-MqsTXRk1.js → theme-C1AnsszZ.js} +1 -1
  83. package/dist/interface/assets/types-Cq5Oxm4w.js +1 -0
  84. package/dist/interface/assets/{useBiometricCredentials-CCurP7D6.js → useBiometricCredentials-B0HhBwzS.js} +1 -1
  85. package/dist/interface/assets/{useCameraOptions-CEhApni4.js → useCameraOptions-DWRGUM7f.js} +1 -1
  86. package/dist/interface/assets/{useCuiDialog-DjUpUM16.js → useCuiDialog-D1vgIZ97.js} +1 -1
  87. package/dist/interface/assets/{useFileDownload-DE4OTrPS.js → useFileDownload-BDSINVzz.js} +1 -1
  88. package/dist/interface/assets/{useLogsSocket-N0Yvwfqp.js → useLogsSocket-Dki7w7JS.js} +2 -2
  89. package/dist/interface/assets/useStreamStatus-oYi-uo1K.js +1 -0
  90. package/dist/interface/assets/{users.schema-ySuPxiVA.js → users.schema-C48akApP.js} +1 -1
  91. package/dist/interface/assets/view-grid-Kk3PF5wP.js +1 -0
  92. package/dist/interface/assets/view-grid-ftaUV_r1.css +1 -0
  93. package/dist/interface/index.html +30 -30
  94. package/dist/interface/sw.js +1 -1
  95. package/dist/server/package.json +11 -12
  96. package/dist/server/requirements.txt +1 -1
  97. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/handler.py +6 -2
  98. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/config.py +0 -4
  99. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/device.py +0 -2
  100. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/camera/streaming.py +0 -6
  101. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/internal/camera_config_internal.py +0 -2
  102. package/dist/server/src/api/controllers/cameras.controller.js +0 -5
  103. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  104. package/dist/server/src/api/database/index.js +1 -7
  105. package/dist/server/src/api/database/index.js.map +1 -1
  106. package/dist/server/src/api/schemas/cameras.schema.d.ts +0 -9
  107. package/dist/server/src/api/schemas/cameras.schema.js +0 -8
  108. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  109. package/dist/server/src/api/services/cameras.service.js +0 -9
  110. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  111. package/dist/server/src/api/utils/regex.d.ts +0 -1
  112. package/dist/server/src/api/utils/regex.js +0 -1
  113. package/dist/server/src/api/utils/regex.js.map +1 -1
  114. package/dist/server/src/camera/decoder/worker.js +0 -3
  115. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  116. package/dist/server/src/manager/discoveryManager.js +0 -5
  117. package/dist/server/src/manager/discoveryManager.js.map +1 -1
  118. package/dist/server/src/plugins/runtime/python/camera/utils.py +0 -8
  119. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +0 -1
  120. package/dist/server/src/utils/camera.js +2 -8
  121. package/dist/server/src/utils/camera.js.map +1 -1
  122. package/package.json +11 -12
  123. package/dist/interface/assets/Adminpanel-CPzSG-C_.js +0 -1
  124. package/dist/interface/assets/CameraConsole-CaZ_M2X1.js +0 -7
  125. package/dist/interface/assets/Cameras-BagU9c9w.js +0 -656
  126. package/dist/interface/assets/Console-DtFuy9lk.js +0 -6
  127. package/dist/interface/assets/CuiBottomSheet-BAjzf96f.js +0 -1
  128. package/dist/interface/assets/PluginConsole-79yZJij1.js +0 -7
  129. package/dist/interface/assets/SettingsAccount-u6SWbGTu.js +0 -1
  130. package/dist/interface/assets/SettingsAppearance-BueRF191.js +0 -1
  131. package/dist/interface/assets/Workers-DySfr-NJ.js +0 -1
  132. package/dist/interface/assets/api-BbIW0RPc.js +0 -2
  133. package/dist/interface/assets/cameras.schema-B33V_UN7.js +0 -1
  134. package/dist/interface/assets/cloudHandoff-ClFYz2oi.js +0 -1
  135. package/dist/interface/assets/types-DBQ6DR8u.js +0 -1
  136. package/dist/interface/assets/useStreamStatus-Ca46g8Rd.js +0 -1
  137. package/dist/interface/assets/view-grid-CdZOfBph.css +0 -1
  138. package/dist/interface/assets/view-grid-CogoKcrp.js +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camera.ui/server",
3
- "version": "0.0.99",
3
+ "version": "0.0.100",
4
4
  "description": "camera.ui server",
5
5
  "author": "seydx (https://github.com/cameraui/camera.ui)",
6
6
  "type": "module",
@@ -18,20 +18,19 @@
18
18
  "copy:files": "cpy package.json dist/server && cpy requirements.txt dist/server && cpy 'src/**/*.py' dist/server/src --parents",
19
19
  "format": "prettier --write 'src/' 'bin/' --ignore-unknown --no-error-on-unmatched-pattern",
20
20
  "install-updates": "npm i --save",
21
- "lint": "eslint .",
22
- "lint:fix": "eslint --fix .",
21
+ "lint": "eslint --fix .",
23
22
  "update": "updates --update ./ && cupdate",
24
- "prepublishOnly": "npm i --package-lock-only && npm run lint:fix && npm run format && npm run build && npm --prefix ../ui run lint:fix && npm --prefix ../ui run format && npm --prefix ../ui run build",
23
+ "prepublishOnly": "npm i --package-lock-only && npm run lint && npm run format && npm run build && npm --prefix ../ui run lint && npm --prefix ../ui run format && npm --prefix ../ui run build",
25
24
  "publish:dev": "npm publish --tag dev"
26
25
  },
27
26
  "dependencies": {
28
27
  "@bjia56/portable-python": "^0.1.166",
29
28
  "@camera.ui/common": "~0.0.48",
30
- "@camera.ui/go2rtc": "^1.9.14-cui.10",
31
- "@camera.ui/nats": "^2.14.2",
29
+ "@camera.ui/go2rtc": "^1.9.14-cui.11",
30
+ "@camera.ui/nats": "^2.14.3",
32
31
  "@camera.ui/rpc": "^1.0.4",
33
32
  "@camera.ui/rust-postprocessor": "~0.0.4",
34
- "@camera.ui/sdk": "~0.0.9",
33
+ "@camera.ui/sdk": "~0.0.11",
35
34
  "@camera.ui/tunnel": "^1.0.3",
36
35
  "@eneris/push-receiver": "^4.3.1",
37
36
  "@fastify/cors": "^11.2.0",
@@ -43,7 +42,7 @@
43
42
  "@fastify/swagger-ui": "^6.0.0",
44
43
  "@isaacs/ttlcache": "^2.1.5",
45
44
  "@scrypted/node-pty": "^1.0.25",
46
- "adm-zip": "^0.5.17",
45
+ "adm-zip": "^0.5.18",
47
46
  "ansicolor": "^2.0.3",
48
47
  "cloudflared": "^0.7.1",
49
48
  "compare-versions": "^6.1.1",
@@ -53,7 +52,7 @@
53
52
  "fastify-plugin": "^6.0.0",
54
53
  "fastify-type-provider-zod": "7.0.0",
55
54
  "fkill": "^10.0.3",
56
- "fs-extra": "^11.3.5",
55
+ "fs-extra": "^11.3.6",
57
56
  "get-port": "^7.2.0",
58
57
  "js-yaml": "^5.2.0",
59
58
  "jsonwebtoken": "^9.0.3",
@@ -95,15 +94,15 @@
95
94
  "@types/semver": "^7.7.1",
96
95
  "@types/tail": "^2.2.3",
97
96
  "@types/ws": "^8.18.1",
98
- "@typescript-eslint/parser": "^8.62.0",
97
+ "@typescript-eslint/parser": "^8.62.1",
99
98
  "cpy-cli": "^7.0.0",
100
99
  "cross-env": "^10.1.0",
101
100
  "eslint": "9.39.2",
102
101
  "globals": "^17.7.0",
103
- "prettier": "^3.9.1",
102
+ "prettier": "^3.9.3",
104
103
  "rimraf": "^6.1.3",
105
104
  "typescript": "5.9.3",
106
- "typescript-eslint": "^8.62.0",
105
+ "typescript-eslint": "^8.62.1",
107
106
  "updates": "^17.18.1",
108
107
  "vitest": "^4.1.9"
109
108
  },
@@ -1 +0,0 @@
1
- import{A as e,S as t,_ as n,b as r,w as i}from"./api-BbIW0RPc.js";import{$n as a,$t as o,Cn as s,F as c,Qt as ee,Rn as l,Vn as u,Wn as d,Xt as f,Yn as p,Yt as m,Zn as h,dr as g,in as _,on as v,sr as y,vn as te,wn as b,z as x}from"./vendor-TwHhULaP.js";import{Hn as ne,fi as re}from"./vendor-cameraui-dvS1_qYI.js";import{t as ie}from"./useSharedComposables-DNGRhsgh.js";import{t as ae}from"./CuiTopbarSlot-DKgEs0YR.js";import{q as S,t as C}from"./types-DBQ6DR8u.js";import{t as oe}from"./plugins-CQjjilAg.js";import{t as se}from"./server-CUcNO1h2.js";import{t as ce}from"./auth-BdlbWMOx.js";import{t as le}from"./back-filled-DlLybzyd.js";import{n as ue,r as de,t as fe}from"./round-restart-alt-BoYs6Sl9.js";var w={viewBox:`0 0 1024 1024`,width:`1.2em`,height:`1.2em`};function T(e,t){return b(),o(`svg`,w,[...t[0]||=[f(`path`,{fill:`currentColor`,d:`M868 732h-70.3c-4.8 0-9.3 2.1-12.3 5.8c-7 8.5-14.5 16.7-22.4 24.5a353.8 353.8 0 0 1-112.7 75.9A352.8 352.8 0 0 1 512.4 866c-47.9 0-94.3-9.4-137.9-27.8a353.8 353.8 0 0 1-112.7-75.9a353.3 353.3 0 0 1-76-112.5C167.3 606.2 158 559.9 158 512s9.4-94.2 27.8-137.8c17.8-42.1 43.4-80 76-112.5s70.5-58.1 112.7-75.9c43.6-18.4 90-27.8 137.9-27.8s94.3 9.3 137.9 27.8c42.2 17.8 80.1 43.4 112.7 75.9c7.9 7.9 15.3 16.1 22.4 24.5c3 3.7 7.6 5.8 12.3 5.8H868c6.3 0 10.2-7 6.7-12.3C798 160.5 663.8 81.6 511.3 82C271.7 82.6 79.6 277.1 82 516.4C84.4 751.9 276.2 942 512.4 942c152.1 0 285.7-78.8 362.3-197.7c3.4-5.3-.4-12.3-6.7-12.3m88.9-226.3L815 393.7c-5.3-4.2-13-.4-13 6.3v76H488c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h314v76c0 6.7 7.8 10.5 13 6.3l141.9-112a8 8 0 0 0 0-12.6`},null,-1)]])}var pe=p({name:`ant-design-logout-outlined`,render:T});async function E({parameter:t,signal:n}){return(await e.get(`/frameworkers`,{params:t,signal:n})).data}async function D({frameWorkerName:t}){return(await e.put(`/frameworkers/${t}/restart`)).data}var me=class{_queryClient=x();t=i.global.t;toast=t();queryActivator=a([{name:`getFrameWorkersQuery`,enabled:!0}]);get queryClient(){return this._queryClient}getFrameWorkersQuery(e){return r({queryKey:[`frameWorkerList`,e],queryFn:({signal:t})=>E({parameter:y(e),signal:t}),placeholderData:e=>e,enabled:()=>this.queryActivator.value.some(e=>e.name===`getFrameWorkersQuery`&&e.enabled)})}restartFrameWorkerQuery(){return c({mutationFn:D,onSuccess:async(e,t)=>{await this._queryClient.refetchQueries({queryKey:[`frameWorkers`,t.frameWorkerName]}),this.toast.add({severity:`success`,detail:this.t(`components.toast.frame_worker_restarted`),life:3e3})}})}toggleQueryActivator(e,t){let n=this.queryActivator.value.find(t=>t.name===e);return n&&(n.enabled=t),this}},O={pid:-1,cpuLoad:`0.00`,memLoad:`0.00`,timestamp:0};function k(){return{systemProcess:[{name:`system`,type:`system`,...O}],systemProcessInfo:[],serverStatus:C.UNKNOWN,go2rtcStatus:C.UNKNOWN,natsStatus:C.UNKNOWN,coreProcesses:{"camera.ui":{name:`camera.ui`,type:`core`,...O},go2rtc:{name:`go2rtc`,type:`core`,...O},nats:{name:`nats`,type:`core`,...O}},coreProcessInfos:{"camera.ui":[],go2rtc:[],nats:[]},frameWorkerStatus:{},frameWorkersProcess:{},frameWorkersProcessInfos:{},pluginsStatus:{},pluginsProcesses:{},pluginsProcessInfos:{}}}var A=h(k()),j=null,M=null,N=null;function P(){return!!(M?.connected.value&&N?.connected.value)}function F(e){e[`camera.ui`]&&(A.coreProcesses[`camera.ui`]=e[`camera.ui`]),e.go2rtc&&(A.coreProcesses.go2rtc=e.go2rtc),e.nats&&(A.coreProcesses.nats=e.nats);for(let[t,n]of Object.entries(e.workers??{}))A.frameWorkersProcess[t]=n;for(let[t,n]of Object.entries(e.plugins??{}))A.pluginsProcesses[t]=n}function I(e){e[`camera.ui`]&&(A.coreProcessInfos[`camera.ui`].push(e[`camera.ui`]),A.coreProcessInfos[`camera.ui`]=A.coreProcessInfos[`camera.ui`].slice(-30)),e.go2rtc&&(A.coreProcessInfos.go2rtc.push(e.go2rtc),A.coreProcessInfos.go2rtc=A.coreProcessInfos.go2rtc.slice(-30)),e.nats&&(A.coreProcessInfos.nats.push(e.nats),A.coreProcessInfos.nats=A.coreProcessInfos.nats.slice(-30));for(let[t,n]of Object.entries(e.workers??{}))A.frameWorkersProcessInfos[t]||(A.frameWorkersProcessInfos[t]=[]),A.frameWorkersProcessInfos[t].push(n),A.frameWorkersProcessInfos[t]=A.frameWorkersProcessInfos[t].slice(-30);for(let[t,n]of Object.entries(e.plugins??{}))A.pluginsProcessInfos[t]||(A.pluginsProcessInfos[t]=[]),A.pluginsProcessInfos[t].push(n),A.pluginsProcessInfos[t]=A.pluginsProcessInfos[t].slice(-30)}async function L(){if(M?.ready.value)try{A.systemProcessInfo=await M.request(`get-system-info`)}catch{}}async function R(){if(!(!M?.ready.value||!N?.ready.value)){N.emit(`get-process-status`);try{A.coreProcessInfos=await M.request(`get-server-process-info`)}catch{}}}async function z(){if(!(!M?.ready.value||!N?.ready.value)){N.emit(`get-frameworker-process-status`);try{A.frameWorkersProcessInfos=await M.request(`get-frameworker-process-info`)}catch{}}}async function B(){if(!(!M?.ready.value||!N?.ready.value)){N.emit(`get-plugin-process-status`);try{A.pluginsProcessInfos=await M.request(`get-plugins-process-info`)}catch{}}}async function V(){await Promise.all([L(),R(),z(),B()])}function H(){M&&N||(j=d(!0),j.run(()=>{let e=n(`/metrics`),t=n(`/status`);e.on(`connect`,()=>{P()&&V()}),t.on(`connect`,()=>{P()&&V()}),e.on(`process-infos-realtime`,F),e.on(`process-infos`,I),e.on(`system-infos-realtime`,e=>{A.systemProcess=[e]}),e.on(`system-infos`,e=>{A.systemProcessInfo.push(e),A.systemProcessInfo=A.systemProcessInfo.slice(-30)}),t.on(`process-status`,e=>{e[`camera.ui`]&&(A.serverStatus=e[`camera.ui`].status),e.go2rtc&&(A.go2rtcStatus=e.go2rtc.status),e.nats&&(A.natsStatus=e.nats.status)}),t.on(`frameworker-process-status`,e=>{for(let[t,n]of Object.entries(e))A.frameWorkerStatus[t]=n}),t.on(`plugin-process-status`,e=>{for(let[t,n]of Object.entries(e))A.pluginsStatus[t]=n}),M=e,N=t}))}function he(){function e(){H(),P()&&V()}function t(){}return{isConnected:m(()=>P()),systemProcess:m(()=>A.systemProcess),systemProcessInfo:m(()=>A.systemProcessInfo),serverStatus:m(()=>A.serverStatus),go2rtcStatus:m(()=>A.go2rtcStatus),natsStatus:m(()=>A.natsStatus),coreProcesses:m(()=>A.coreProcesses),coreProcessInfos:m(()=>A.coreProcessInfos),frameWorkerStatus:m(()=>A.frameWorkerStatus),frameWorkersProcess:m(()=>A.frameWorkersProcess),frameWorkersProcessInfos:m(()=>A.frameWorkersProcessInfos),pluginsStatus:m(()=>A.pluginsStatus),pluginsProcesses:m(()=>A.pluginsProcesses),pluginsProcessInfos:m(()=>A.pluginsProcessInfos),connect:e,disconnect:t,loadAll:V,loadSystemProcessInfos:L,loadCoreProcessInfos:R,loadFrameWorkerProcessInfos:z,loadPluginProcessInfos:B}}var ge={key:0,class:`page-title`},_e={class:`flex flex-col gap-6`},ve={class:`card-title`},ye={class:`card-title`},be={class:`card-title`},xe={class:`card-title`},Se={class:`card-title`},U=v({__name:`Adminpanel`,setup(e){let t=new ce,n=new oe,r=new me,i=new se,{t:c}=re(),d=he(),{mdBreakpoint:p,smBreakpoint:h}=ie(),v=a({page:1,pageSize:-1}),x=a({page:1,pageSize:-1}),w=a({page:1,pageSize:-1}),{data:T,isBusy:E}=t.listAllSessionsQuery(v),{data:D,isBusy:k,suspense:A}=n.getPluginsQuery(w),{data:j,isBusy:M,suspense:N}=r.getFrameWorkersQuery(x),{mutate:P,isPending:F}=t.revokeSessionQuery(),{mutateAsync:I}=n.restartPluginQuery(),{mutateAsync:L}=r.restartFrameWorkerQuery(),{mutate:R,isPending:z}=i.restartGo2RtcQuery(),{mutate:B,isPending:V}=i.restartServerQuery(),H=a([]),U=a([]),Ce=d.systemProcess,we=d.systemProcessInfo,Te=d.serverStatus,Ee=d.go2rtcStatus,De=d.natsStatus,Oe=d.coreProcesses,ke=d.coreProcessInfos,W=d.frameWorkerStatus,G=d.frameWorkersProcess,K=d.frameWorkersProcessInfos,q=d.pluginsStatus,J=d.pluginsProcesses,Y=d.pluginsProcessInfos,Ae=m(()=>[{type:`indicator`,field:`status`,columnProps:{alignFrozen:`left`,frozen:!p.value,headerClass:`w-5 max-w-5`,class:`w-5 max-w-5`},color(e){return e.is_current?`var(--primary-500)`:`transparent`},tooltip(e){if(e.is_current)return c(`components.user_table.you`)}},{type:`category`,field:e=>e.device.name,name:c(`components.user_table.title_device`),columnProps:{alignFrozen:`left`,frozen:!p.value,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.device.ip??``,name:c(`components.user_table.title_address`),columnProps:{headerClass:`min-w-30`,class:`min-w-30`}},{type:`category`,field:e=>e.device.kind,name:c(`components.user_table.title_kind`),columnProps:{headerClass:`min-w-30`,class:`min-w-30`}},{type:`action`,field:`logout`,icon:pe,columnProps:{class:`text-right`},loading(){return!!(F.value||E.value)},disabled(){return!1},action(e){P({id:e.id})}}]),X=m(()=>T.value??[]),Z=m(()=>e=>{let t=[{type:`indicator`,field:`status`,columnProps:{alignFrozen:`left`,frozen:!p.value,headerClass:`w-5 max-w-5`,class:`w-5 max-w-5`},color(t){return He($(e,t.name))},tooltip(t){return Ue($(e,t.name))}},{type:`category`,field:`name`,altName:e===`system`?c(`components.process_table.system`):void 0,name:c(`components.process_table.title_name`),columnProps:{alignFrozen:`left`,frozen:!p.value,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:`pid`,name:c(`components.process_table.title_pid`),columnProps:{headerClass:`min-w-20`,class:`min-w-20`}},{type:`category`,field:`cpuLoad`,suffix:`%`,name:c(`components.process_table.title_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:`memLoad`,suffix:`%`,name:c(`components.process_table.title_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:`restart`,icon:fe,columnProps:{class:`text-right`},loading(t){return e===`core`?t.name===`camera.ui`?V.value:z.value:e===`frameworker`?Be.value(t.name):e===`plugins`?ze.value(t.name):!1},disabled(e){return e.name===`nats`},action(e){e.type===`core`&&We(e.name),e.type===`frameworker`&&Ge(e.name),e.type===`plugin`&&Ke(e.name)}}];return e===`system`&&(t=t.filter(e=>e.field!==`pid`&&e.field!==`restart`&&e.field!==`status`)),t}),je=m(()=>Ce.value),Me=m(()=>Object.values(Oe.value).filter(Boolean)),Ne=m(()=>Object.values(G.value).filter(Boolean)),Pe=m(()=>Object.values(J.value).filter(e=>{let t=D.value?.result.find(t=>t.pluginName===e.name);return t&&!t.disabled}).filter(Boolean)),Fe=m(()=>Q(`system`,{system:we.value})),Ie=m(()=>Q(`core`,ke.value)),Le=m(()=>Q(`frameworker`,K.value)),Re=m(()=>Q(`plugins`,Y.value)),ze=m(()=>e=>U.value.includes(e)),Be=m(()=>e=>H.value.includes(e));function Q(e,t){return Object.keys(t).reduce((n,r)=>(Z.value(e).filter(de).forEach(e=>{let i=e.for,a=t[r].slice(-30).filter(e=>e[i]!==void 0).map(e=>parseFloat(e[i])),o=t[r].slice(-30).map(e=>e.timestamp),s=[...a,...Array(30-a.length).fill(0)],c=[...o,...Array(30-o.length).fill(null)];n[`${r}_${i}`]={labels:c,datasets:[{data:s,backgroundColor:e=>{let t=e.raw;return t>=90?`#FA5252`:t>=70?`#FF9966`:`#df2a4c`},borderWidth:0,borderRadius:3,barPercentage:.8,categoryPercentage:.8,maxBarThickness:4,barThickness:4}]}}),n),{})}function Ve(e,t){let n=e.page+1;t===`frameworker`?x.value.page=n:t===`plugins`?w.value.page=n:t===`users`&&(v.value.page=n)}function $(e,t){if(e===`core`)switch(t){case`camera.ui`:return Te.value;case`go2rtc`:return Ee.value;case`nats`:return De.value;default:return C.UNKNOWN}else if(e===`frameworker`)return W.value[t]?.status??S.UNKNOWN;else if(e===`plugins`)return q.value[t]?.status??S.UNKNOWN;return C.UNKNOWN}function He(e){switch(e){case S.ERROR:case C.ERROR:return`#9d5752`;case C.STOPPED:case S.STOPPED:case S.STOPPING:return`red`;case S.READY:case C.READY:return`yellow`;case S.STARTING:case C.STARTING:return`orange`;case S.STARTED:case C.STARTED:return`green`;case S.UNKNOWN:case S.DISABLED:case C.UNKNOWN:return`gray`;default:return`gray`}}function Ue(e){switch(e){case S.ERROR:case C.ERROR:return c(`components.process_table.status_error`);case S.STOPPED:case C.STOPPED:return c(`components.process_table.status_stopped`);case S.STOPPING:return c(`components.process_table.status_stopping`);case S.READY:case C.READY:return c(`components.process_table.status_ready`);case S.STARTING:case C.STARTING:return c(`components.process_table.status_starting`);case S.STARTED:case C.STARTED:return c(`components.process_table.status_started`);case S.DISABLED:return c(`components.process_table.status_disabled`);case S.UNKNOWN:case C.UNKNOWN:return c(`components.process_table.status_unknown`);default:return c(`components.process_table.status_unknown`)}}async function We(e){e===`camera.ui`?B():e===`go2rtc`&&R()}async function Ge(e){H.value.push(e);try{await L({frameWorkerName:e})}catch{}finally{H.value=H.value.filter(t=>t!==e)}}async function Ke(e){U.value.push(e);try{await I({pluginName:e})}catch{}finally{U.value=U.value.filter(t=>t!==e)}}return l(K,e=>{for(let[t,n]of Object.entries(e))G.value[t]=n[n.length-1]??{...O,name:t,type:`frameworker`}},{deep:!0,immediate:!0}),l(Y,e=>{for(let[t,n]of Object.entries(e))J.value[t]=n[n.length-1]??{...O,name:t,type:`plugin`}},{deep:!0,immediate:!0}),l(j,e=>{if(e)for(let t of e.result)K.value[t.name]||(K.value[t.name]=[]),W.value[t.name]||(W.value[t.name]={name:t.name,status:S.UNKNOWN})},{deep:!0,immediate:!0}),l(D,e=>{if(e)for(let t of e.result)t.disabled||(Y.value[t.pluginName]||(Y.value[t.pluginName]=[]),q.value[t.pluginName]||(q.value[t.pluginName]={name:t.pluginName,status:S.UNKNOWN}))},{deep:!0,immediate:!0}),te(async()=>{d.connect(),await Promise.all([A(),N()]),await new Promise(e=>setTimeout(e,10)),d.loadAll()}),s(()=>{d.disconnect()}),(e,t)=>{let n=le,r=ne,i=ae,a=ue;return b(),o(`div`,null,[y(h)?ee(``,!0):(b(),o(`h1`,ge,g(e.$t(`views.${String(e.$route.name).toLowerCase()}.title`)),1)),_(i,{position:`left`},{default:u(()=>[_(r,{severity:`secondary`,text:``,class:`cui-button p-2 text-color non-draggable-region`,onClick:t[0]||=t=>e.$router.push(`/menu`)},{icon:u(()=>[_(n,{class:`w-6 h-6`})]),_:1})]),_:1}),f(`div`,_e,[f(`div`,null,[f(`span`,ve,g(e.$t(`views.adminpanel.general`)),1),_(a,{items:y(je),headers:y(Z)(`system`),"chart-data":y(Fe),"empty-message":e.$t(`views.adminpanel.no_system`)},null,8,[`items`,`headers`,`chart-data`,`empty-message`])]),f(`div`,null,[f(`span`,ye,g(e.$t(`views.adminpanel.core`)),1),_(a,{items:y(Me),headers:y(Z)(`core`),"chart-data":y(Ie),"empty-message":e.$t(`views.adminpanel.no_core`)},null,8,[`items`,`headers`,`chart-data`,`empty-message`])]),f(`div`,null,[f(`span`,be,g(e.$t(`views.adminpanel.frameworker`)),1),_(a,{items:y(Ne),headers:y(Z)(`frameworker`),"chart-data":y(Le),loading:y(M),"empty-message":e.$t(`views.adminpanel.no_frameworkers`)},null,8,[`items`,`headers`,`chart-data`,`loading`,`empty-message`])]),f(`div`,null,[f(`span`,xe,g(e.$t(`views.adminpanel.plugins`)),1),_(a,{items:y(Pe),headers:y(Z)(`plugins`),"chart-data":y(Re),loading:y(k),"empty-message":e.$t(`views.adminpanel.no_plugins`)},null,8,[`items`,`headers`,`chart-data`,`loading`,`empty-message`])]),f(`div`,null,[f(`span`,Se,g(e.$t(`views.adminpanel.logged_in_users`)),1),_(a,{items:y(X),headers:y(Ae),loading:y(E),paginator:``,pagination:y(v),"total-records":y(X).length,"empty-message":e.$t(`views.adminpanel.no_users`),"onUpdate:page":t[1]||=e=>Ve(e,`users`)},null,8,[`items`,`headers`,`loading`,`pagination`,`total-records`,`empty-message`])])])])}}});export{U as default};
@@ -1,7 +0,0 @@
1
- import{$t as e,Cn as t,In as n,Sn as r,Yt as i,ar as a,dn as o,in as s,on as c,sr as l,wn as u}from"./vendor-TwHhULaP.js";import{t as d}from"./useSharedComposables-DNGRhsgh.js";import{t as f}from"./useFileDownload-DE4OTrPS.js";import{t as p}from"./cameras-CMJNV2Qu.js";import{n as m,t as h}from"./useLogsSocket-N0Yvwfqp.js";var g=c({__name:`CameraConsole`,props:{cameraName:{}},setup(c,{expose:g}){let _=new p,v=c,{mdBreakpoint:y}=d(),b=o(`dialogRefProps`),{cameraName:x}=a(v),S=h({target:x.value,onStdout:e=>E.value?.writeTerminal(e),onDisconnect:()=>E.value?.writeTerminal(`\r
2
- Websocket failed to connect! Is the server running?\r
3
- \r
4
- `),onClearLog:()=>E.value?.clearTerminal(),onReconnected:()=>{E.value?.clearTerminal(),E.value?.writeTerminal(`\r
5
- --- Reconnected ---\r
6
- \r
7
- `),S.requestCameraLog(x.value,{sinceLastStart:!0})}}),{data:C,isBusy:w,suspense:T}=_.downloadLogQuery(x),E=n(`consoleRef`),D=i(()=>!!(b.loading?.value||w.value)),O=i(()=>({fontSize:y.value?12:14}));async function k(){try{_.toggleQueryActivator(`downloadLogQuery`,!0),await T(),C.value&&await f({blob:new Blob([C.value]),filename:`camera.ui.${x.value}.log.txt`,mimeType:`text/plain`})}finally{_.toggleQueryActivator(`downloadLogQuery`,!1)}}return r(()=>{S.connect(),S.requestCameraLog(x.value,{sinceLastStart:!0})}),t(()=>{S.disconnect()}),g({isLoading:D,onConfirm:k}),(t,n)=>{let r=m;return u(),e(`div`,null,[s(r,{ref_key:`consoleRef`,ref:E,options:l(O),class:`bg-black !w-full`,"ignore-breakpoint":``},null,8,[`options`])])}}});export{g as default};