camera.ui3 0.0.34-alpha.6 → 0.0.35-test.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (541) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/CONTRIBUTING.md +1 -0
  3. package/LICENSE.md +22 -0
  4. package/README.md +1 -0
  5. package/dist/{server/bin/cameraui.d.ts → cameraui.d.ts} +24 -17
  6. package/dist/{server/bin/cameraui.js → cameraui.js} +195 -208
  7. package/dist/cameraui.js.map +1 -0
  8. package/dist/installer/base.js.map +1 -0
  9. package/dist/{server/bin/installer → installer}/darwin.d.ts +0 -8
  10. package/dist/{server/bin/installer → installer}/darwin.js +9 -49
  11. package/dist/installer/darwin.js.map +1 -0
  12. package/dist/{server/bin/installer → installer}/freebsd.js +3 -2
  13. package/dist/installer/freebsd.js.map +1 -0
  14. package/dist/{server/bin/installer → installer}/linux.d.ts +1 -1
  15. package/dist/{server/bin/installer → installer}/linux.js +9 -24
  16. package/dist/installer/linux.js.map +1 -0
  17. package/dist/{server/bin/installer → installer}/win32.js +4 -2
  18. package/dist/installer/win32.js.map +1 -0
  19. package/dist/{server/bin/logger.js → logger.js} +2 -2
  20. package/dist/logger.js.map +1 -0
  21. package/dist/manager.d.ts +26 -0
  22. package/dist/manager.js +203 -0
  23. package/dist/manager.js.map +1 -0
  24. package/nodemon.json +14 -0
  25. package/package.json +21 -89
  26. package/dist/interface/@babel.l0sNRNKZ.0.0.34-alpha.6.js +0 -1
  27. package/dist/interface/@intlify.DXtFJcML.0.0.34-alpha.6.js +0 -15
  28. package/dist/interface/@mdi.C1UTQKuc.0.0.34-alpha.6.js +0 -1
  29. package/dist/interface/@react-dnd.CcwRs9xb.0.0.34-alpha.6.js +0 -1
  30. package/dist/interface/@socket.io.Dkula2eQ.0.0.34-alpha.6.js +0 -1
  31. package/dist/interface/@tanstack.COISQUaa.0.0.34-alpha.6.js +0 -1
  32. package/dist/interface/@turf.l0sNRNKZ.0.0.34-alpha.6.js +0 -1
  33. package/dist/interface/@vee-validate.vQEQxxhx.0.0.34-alpha.6.js +0 -5
  34. package/dist/interface/@vue.2olsU3zX.0.0.34-alpha.6.js +0 -17
  35. package/dist/interface/@vueform.CPzo51Ad.0.0.34-alpha.6.js +0 -1
  36. package/dist/interface/@vueuse.D9NHhWYc.0.0.34-alpha.6.js +0 -1
  37. package/dist/interface/@xterm.DqCFPTCA.0.0.34-alpha.6.js +0 -66
  38. package/dist/interface/Account.C8tdLL9c.0.0.34-alpha.6.js +0 -1
  39. package/dist/interface/Adminpanel.CCt65nrb.0.0.34-alpha.6.js +0 -2
  40. package/dist/interface/Appearance.HvJsFiT3.0.0.34-alpha.6.js +0 -1
  41. package/dist/interface/Backup.CSkOoG27.0.0.34-alpha.6.js +0 -1
  42. package/dist/interface/Camera.CpRZjMgc.0.0.34-alpha.6.js +0 -1
  43. package/dist/interface/Cameras.DjwMkoT7.0.0.34-alpha.6.js +0 -1
  44. package/dist/interface/Camview.o4nbp_Qw.0.0.34-alpha.6.js +0 -1
  45. package/dist/interface/Config.CQCi3KNu.0.0.34-alpha.6.js +0 -1
  46. package/dist/interface/Console.Dkyww3wB.0.0.34-alpha.6.js +0 -4
  47. package/dist/interface/FirstSteps.Bmr0_gA-.0.0.34-alpha.6.js +0 -1
  48. package/dist/interface/NewCamera.Bs1_J7Ad.0.0.34-alpha.6.js +0 -448
  49. package/dist/interface/Plugin.C8Vz5xoF.0.0.34-alpha.6.js +0 -1
  50. package/dist/interface/Plugins.CZL0KQFh.0.0.34-alpha.6.js +0 -1
  51. package/dist/interface/Recordings.B6pZqLF3.0.0.34-alpha.6.js +0 -1
  52. package/dist/interface/Recordings.BEvZE5cV.0.0.34-alpha.6.js +0 -1
  53. package/dist/interface/Settings.C997IgdZ.0.0.34-alpha.6.js +0 -1
  54. package/dist/interface/System.DuQ37voG.0.0.34-alpha.6.js +0 -4
  55. package/dist/interface/User.DlMcGeNz.0.0.34-alpha.6.js +0 -1
  56. package/dist/interface/VConfigEditor.vue_vue_type_script_setup_true_lang.xZXGs5pk.0.0.34-alpha.6.js +0 -2
  57. package/dist/interface/VConsole.DNiPpzW6.0.0.34-alpha.6.js +0 -1
  58. package/dist/interface/VPlayer.CUKkadJU.0.0.34-alpha.6.js +0 -4
  59. package/dist/interface/VPluginCard.B7M71ABH.0.0.34-alpha.6.js +0 -4
  60. package/dist/interface/ace-builds.DndaCQ18.0.0.34-alpha.6.js +0 -970
  61. package/dist/interface/apexcharts.6HWN1GNB.0.0.34-alpha.6.js +0 -795
  62. package/dist/interface/assets/@vueform.0.0.34-alpha.6.CroAHJs8.css +0 -1
  63. package/dist/interface/assets/@xterm.0.0.34-alpha.6.CFbL2ovg.css +0 -32
  64. package/dist/interface/assets/Account.0.0.34-alpha.6.J7oAjogS.css +0 -1
  65. package/dist/interface/assets/Adminpanel.0.0.34-alpha.6.a3t1v3MB.css +0 -1
  66. package/dist/interface/assets/Backup.0.0.34-alpha.6.CX0rT0QJ.css +0 -1
  67. package/dist/interface/assets/Camera.0.0.34-alpha.6.D1I-fW4q.css +0 -1
  68. package/dist/interface/assets/Cameras.0.0.34-alpha.6.Buf1Dgce.css +0 -1
  69. package/dist/interface/assets/Camview.0.0.34-alpha.6.B7Cja2ry.css +0 -1
  70. package/dist/interface/assets/Config.0.0.34-alpha.6.DNGo2krN.css +0 -1
  71. package/dist/interface/assets/Console.0.0.34-alpha.6.Bh8l9QnM.css +0 -1
  72. package/dist/interface/assets/FirstSteps.0.0.34-alpha.6.sPEcItZ6.css +0 -1
  73. package/dist/interface/assets/NewCamera.0.0.34-alpha.6.Cq8GzeJ7.css +0 -1
  74. package/dist/interface/assets/Plugin.0.0.34-alpha.6.DJbgaQc1.css +0 -1
  75. package/dist/interface/assets/Plugins.0.0.34-alpha.6.DXSoO9M1.css +0 -1
  76. package/dist/interface/assets/Settings.0.0.34-alpha.6.CVmui2kE.css +0 -1
  77. package/dist/interface/assets/User.0.0.34-alpha.6.BiGtIFqt.css +0 -1
  78. package/dist/interface/assets/VConsole.0.0.34-alpha.6.BCqKHpmJ.css +0 -1
  79. package/dist/interface/assets/VPlayer.0.0.34-alpha.6.DNtDNhfg.css +0 -1
  80. package/dist/interface/assets/VPluginCard.0.0.34-alpha.6.C8Lj6X-J.css +0 -1
  81. package/dist/interface/assets/highlight.0.0.34-alpha.6.Ch2EwETz.css +0 -1
  82. package/dist/interface/assets/logo-256.0.0.34-alpha.6.BCQk9H1-.png +0 -0
  83. package/dist/interface/assets/logo-512.0.0.34-alpha.6.DLKVOU2S.png +0 -0
  84. package/dist/interface/assets/logo.0.0.34-alpha.6.DmEiRk0z.png +0 -0
  85. package/dist/interface/assets/main.0.0.34-alpha.6.DNhh__S1.css +0 -1
  86. package/dist/interface/assets/mode-json.0.0.34-alpha.6.Br7xisR1.js +0 -275
  87. package/dist/interface/assets/mode-yaml.0.0.34-alpha.6.CIYL8U3d.js +0 -395
  88. package/dist/interface/assets/vue3-toastify.0.0.34-alpha.6.DHXAGmwn.css +0 -1
  89. package/dist/interface/assets/vuetify.0.0.34-alpha.6.CgGsw6iO.css +0 -5
  90. package/dist/interface/axios.C-n2IhIP.0.0.34-alpha.6.js +0 -6
  91. package/dist/interface/birpc.l0sNRNKZ.0.0.34-alpha.6.js +0 -1
  92. package/dist/interface/browserconfig.xml +0 -11
  93. package/dist/interface/compare-versions.DqEOhma6.0.0.34-alpha.6.js +0 -1
  94. package/dist/interface/dijkstrajs.D_NXgYpA.0.0.34-alpha.6.js +0 -1
  95. package/dist/interface/dnd-core.DjhjiPK9.0.0.34-alpha.6.js +0 -1
  96. package/dist/interface/draggabilly.CzAcRWAL.0.0.34-alpha.6.js +0 -6
  97. package/dist/interface/engine.io-client.CMjMz_QZ.0.0.34-alpha.6.js +0 -1
  98. package/dist/interface/engine.io-parser.BiEtp6m2.0.0.34-alpha.6.js +0 -1
  99. package/dist/interface/entities.C20TfXL6.0.0.34-alpha.6.js +0 -1
  100. package/dist/interface/ev-emitter.DdBIoR-C.0.0.34-alpha.6.js +0 -1
  101. package/dist/interface/fast-deep-equal.BPvnHGwn.0.0.34-alpha.6.js +0 -1
  102. package/dist/interface/fonts/Inter/Inter-Regular.ttf +0 -0
  103. package/dist/interface/get-size.D1dS-IaP.0.0.34-alpha.6.js +0 -5
  104. package/dist/interface/highlight.js.D0GppvQT.0.0.34-alpha.6.js +0 -2
  105. package/dist/interface/hookable.B8xFkYCm.0.0.34-alpha.6.js +0 -1
  106. package/dist/interface/index.html +0 -374
  107. package/dist/interface/linkify-it.BnwKCzGP.0.0.34-alpha.6.js +0 -1
  108. package/dist/interface/main.CjELdG9A.0.0.34-alpha.6.js +0 -5
  109. package/dist/interface/manifest.webmanifest +0 -1
  110. package/dist/interface/markdown-it.BmdsAkr5.0.0.34-alpha.6.js +0 -15
  111. package/dist/interface/mdurl.k9Sl0PQj.0.0.34-alpha.6.js +0 -2
  112. package/dist/interface/nprogress.CO0HPuzU.0.0.34-alpha.6.js +0 -2
  113. package/dist/interface/perfect-debounce.Cp2ysxOb.0.0.34-alpha.6.js +0 -1
  114. package/dist/interface/pinia.CBIup3aH.0.0.34-alpha.6.js +0 -5
  115. package/dist/interface/plugins.DkVCVMms.0.0.34-alpha.6.js +0 -1
  116. package/dist/interface/point-in-polygon-hao.l0sNRNKZ.0.0.34-alpha.6.js +0 -1
  117. package/dist/interface/punycode.js.Dj65hjkv.0.0.34-alpha.6.js +0 -1
  118. package/dist/interface/pwa/apple-splash-landscape-dark-1136x640.png +0 -0
  119. package/dist/interface/pwa/apple-splash-landscape-dark-1334x750.png +0 -0
  120. package/dist/interface/pwa/apple-splash-landscape-dark-1792x828.png +0 -0
  121. package/dist/interface/pwa/apple-splash-landscape-dark-2048x1536.png +0 -0
  122. package/dist/interface/pwa/apple-splash-landscape-dark-2160x1620.png +0 -0
  123. package/dist/interface/pwa/apple-splash-landscape-dark-2208x1242.png +0 -0
  124. package/dist/interface/pwa/apple-splash-landscape-dark-2224x1668.png +0 -0
  125. package/dist/interface/pwa/apple-splash-landscape-dark-2388x1668.png +0 -0
  126. package/dist/interface/pwa/apple-splash-landscape-dark-2436x1125.png +0 -0
  127. package/dist/interface/pwa/apple-splash-landscape-dark-2532x1170.png +0 -0
  128. package/dist/interface/pwa/apple-splash-landscape-dark-2556x1179.png +0 -0
  129. package/dist/interface/pwa/apple-splash-landscape-dark-2688x1242.png +0 -0
  130. package/dist/interface/pwa/apple-splash-landscape-dark-2732x2048.png +0 -0
  131. package/dist/interface/pwa/apple-splash-landscape-dark-2778x1284.png +0 -0
  132. package/dist/interface/pwa/apple-splash-landscape-dark-2796x1290.png +0 -0
  133. package/dist/interface/pwa/apple-splash-landscape-light-1136x640.png +0 -0
  134. package/dist/interface/pwa/apple-splash-landscape-light-1334x750.png +0 -0
  135. package/dist/interface/pwa/apple-splash-landscape-light-1792x828.png +0 -0
  136. package/dist/interface/pwa/apple-splash-landscape-light-2048x1536.png +0 -0
  137. package/dist/interface/pwa/apple-splash-landscape-light-2160x1620.png +0 -0
  138. package/dist/interface/pwa/apple-splash-landscape-light-2208x1242.png +0 -0
  139. package/dist/interface/pwa/apple-splash-landscape-light-2224x1668.png +0 -0
  140. package/dist/interface/pwa/apple-splash-landscape-light-2388x1668.png +0 -0
  141. package/dist/interface/pwa/apple-splash-landscape-light-2436x1125.png +0 -0
  142. package/dist/interface/pwa/apple-splash-landscape-light-2532x1170.png +0 -0
  143. package/dist/interface/pwa/apple-splash-landscape-light-2556x1179.png +0 -0
  144. package/dist/interface/pwa/apple-splash-landscape-light-2688x1242.png +0 -0
  145. package/dist/interface/pwa/apple-splash-landscape-light-2732x2048.png +0 -0
  146. package/dist/interface/pwa/apple-splash-landscape-light-2778x1284.png +0 -0
  147. package/dist/interface/pwa/apple-splash-landscape-light-2796x1290.png +0 -0
  148. package/dist/interface/pwa/apple-splash-portrait-dark-1125x2436.png +0 -0
  149. package/dist/interface/pwa/apple-splash-portrait-dark-1170x2532.png +0 -0
  150. package/dist/interface/pwa/apple-splash-portrait-dark-1179x2556.png +0 -0
  151. package/dist/interface/pwa/apple-splash-portrait-dark-1242x2208.png +0 -0
  152. package/dist/interface/pwa/apple-splash-portrait-dark-1242x2688.png +0 -0
  153. package/dist/interface/pwa/apple-splash-portrait-dark-1284x2778.png +0 -0
  154. package/dist/interface/pwa/apple-splash-portrait-dark-1290x2796.png +0 -0
  155. package/dist/interface/pwa/apple-splash-portrait-dark-1536x2048.png +0 -0
  156. package/dist/interface/pwa/apple-splash-portrait-dark-1620x2160.png +0 -0
  157. package/dist/interface/pwa/apple-splash-portrait-dark-1668x2224.png +0 -0
  158. package/dist/interface/pwa/apple-splash-portrait-dark-1668x2388.png +0 -0
  159. package/dist/interface/pwa/apple-splash-portrait-dark-2048x2732.png +0 -0
  160. package/dist/interface/pwa/apple-splash-portrait-dark-640x1136.png +0 -0
  161. package/dist/interface/pwa/apple-splash-portrait-dark-750x1334.png +0 -0
  162. package/dist/interface/pwa/apple-splash-portrait-dark-828x1792.png +0 -0
  163. package/dist/interface/pwa/apple-splash-portrait-light-1125x2436.png +0 -0
  164. package/dist/interface/pwa/apple-splash-portrait-light-1170x2532.png +0 -0
  165. package/dist/interface/pwa/apple-splash-portrait-light-1179x2556.png +0 -0
  166. package/dist/interface/pwa/apple-splash-portrait-light-1242x2208.png +0 -0
  167. package/dist/interface/pwa/apple-splash-portrait-light-1242x2688.png +0 -0
  168. package/dist/interface/pwa/apple-splash-portrait-light-1284x2778.png +0 -0
  169. package/dist/interface/pwa/apple-splash-portrait-light-1290x2796.png +0 -0
  170. package/dist/interface/pwa/apple-splash-portrait-light-1536x2048.png +0 -0
  171. package/dist/interface/pwa/apple-splash-portrait-light-1620x2160.png +0 -0
  172. package/dist/interface/pwa/apple-splash-portrait-light-1668x2224.png +0 -0
  173. package/dist/interface/pwa/apple-splash-portrait-light-1668x2388.png +0 -0
  174. package/dist/interface/pwa/apple-splash-portrait-light-2048x2732.png +0 -0
  175. package/dist/interface/pwa/apple-splash-portrait-light-640x1136.png +0 -0
  176. package/dist/interface/pwa/apple-splash-portrait-light-750x1334.png +0 -0
  177. package/dist/interface/pwa/apple-splash-portrait-light-828x1792.png +0 -0
  178. package/dist/interface/pwa/apple-touch-icon-180x180.png +0 -0
  179. package/dist/interface/pwa/favicon-16.ico +0 -0
  180. package/dist/interface/pwa/favicon-32.ico +0 -0
  181. package/dist/interface/pwa/favicon-48.ico +0 -0
  182. package/dist/interface/pwa/favicon-64.ico +0 -0
  183. package/dist/interface/pwa/logo.svg +0 -1
  184. package/dist/interface/pwa/maskable-icon-1240x600.png +0 -0
  185. package/dist/interface/pwa/maskable-icon-512x512.png +0 -0
  186. package/dist/interface/pwa/maskable-icon-620x300.png +0 -0
  187. package/dist/interface/pwa/pwa-1024x1024.png +0 -0
  188. package/dist/interface/pwa/pwa-120x120.png +0 -0
  189. package/dist/interface/pwa/pwa-144x144.png +0 -0
  190. package/dist/interface/pwa/pwa-152x152.png +0 -0
  191. package/dist/interface/pwa/pwa-167x167.png +0 -0
  192. package/dist/interface/pwa/pwa-180x180.png +0 -0
  193. package/dist/interface/pwa/pwa-192x192.png +0 -0
  194. package/dist/interface/pwa/pwa-24x24.png +0 -0
  195. package/dist/interface/pwa/pwa-300x300.png +0 -0
  196. package/dist/interface/pwa/pwa-36x36.png +0 -0
  197. package/dist/interface/pwa/pwa-48x48.png +0 -0
  198. package/dist/interface/pwa/pwa-50x50.png +0 -0
  199. package/dist/interface/pwa/pwa-64x64.png +0 -0
  200. package/dist/interface/pwa/pwa-72x72.png +0 -0
  201. package/dist/interface/pwa/pwa-88x88.png +0 -0
  202. package/dist/interface/pwa/pwa-96x96.png +0 -0
  203. package/dist/interface/qrcode.BgXQ059Y.0.0.34-alpha.6.js +0 -8
  204. package/dist/interface/react-dnd-html5-backend.1HQjlkwI.0.0.34-alpha.6.js +0 -2
  205. package/dist/interface/react-dnd-touch-backend.CuSdTpqi.0.0.34-alpha.6.js +0 -1
  206. package/dist/interface/redux.CuxFRhX_.0.0.34-alpha.6.js +0 -1
  207. package/dist/interface/registerSW.js +0 -1
  208. package/dist/interface/robots.txt +0 -2
  209. package/dist/interface/rxjs.DKQuv6LI.0.0.34-alpha.6.js +0 -3
  210. package/dist/interface/socket.io-client.Ba2QhaSK.0.0.34-alpha.6.js +0 -1
  211. package/dist/interface/socket.io-parser.CT0tlhnF.0.0.34-alpha.6.js +0 -1
  212. package/dist/interface/sw.js +0 -1
  213. package/dist/interface/sweepline-intersections.l0sNRNKZ.0.0.34-alpha.6.js +0 -1
  214. package/dist/interface/system.DBHlJaL3.0.0.34-alpha.6.js +0 -1
  215. package/dist/interface/tslib.9k7AwCpt.0.0.34-alpha.6.js +0 -1
  216. package/dist/interface/types.Cz9TaZAP.0.0.34-alpha.6.js +0 -1
  217. package/dist/interface/uc.micro.kMc2yuuw.0.0.34-alpha.6.js +0 -1
  218. package/dist/interface/unidragger.bJ3WxeD3.0.0.34-alpha.6.js +0 -5
  219. package/dist/interface/utils.mAKpSMLY.0.0.34-alpha.6.js +0 -1
  220. package/dist/interface/uuid.DvF23Exx.0.0.34-alpha.6.js +0 -1
  221. package/dist/interface/vee-validate.CghN0yPF.0.0.34-alpha.6.js +0 -5
  222. package/dist/interface/vue-i18n.DvwV0jjJ.0.0.34-alpha.6.js +0 -5
  223. package/dist/interface/vue-inline-svg.DXN-QH0U.0.0.34-alpha.6.js +0 -1
  224. package/dist/interface/vue-router.DbntwPAd.0.0.34-alpha.6.js +0 -5
  225. package/dist/interface/vue.l0sNRNKZ.0.0.34-alpha.6.js +0 -1
  226. package/dist/interface/vue3-apexcharts.Ep6IiXnK.0.0.34-alpha.6.js +0 -1
  227. package/dist/interface/vue3-dnd._duUsn6W.0.0.34-alpha.6.js +0 -1
  228. package/dist/interface/vue3-toastify.B0t5Ra1T.0.0.34-alpha.6.js +0 -1
  229. package/dist/interface/vuetify.dlIDGkOi.0.0.34-alpha.6.js +0 -5
  230. package/dist/interface/workbox-3e911b1d.js +0 -1
  231. package/dist/interface/zod.DnW1_kUe.0.0.34-alpha.6.js +0 -1
  232. package/dist/server/bin/cameraui.js.map +0 -1
  233. package/dist/server/bin/installer/base.js.map +0 -1
  234. package/dist/server/bin/installer/darwin.js.map +0 -1
  235. package/dist/server/bin/installer/freebsd.js.map +0 -1
  236. package/dist/server/bin/installer/linux.js.map +0 -1
  237. package/dist/server/bin/installer/win32.js.map +0 -1
  238. package/dist/server/bin/logger.js.map +0 -1
  239. package/dist/server/package.json +0 -139
  240. package/dist/server/requirements.txt +0 -14
  241. package/dist/server/src/api/controllers/api.controller.d.ts +0 -7
  242. package/dist/server/src/api/controllers/api.controller.js +0 -14
  243. package/dist/server/src/api/controllers/api.controller.js.map +0 -1
  244. package/dist/server/src/api/controllers/auth.controller.d.ts +0 -16
  245. package/dist/server/src/api/controllers/auth.controller.js +0 -233
  246. package/dist/server/src/api/controllers/auth.controller.js.map +0 -1
  247. package/dist/server/src/api/controllers/backup.controller.d.ts +0 -10
  248. package/dist/server/src/api/controllers/backup.controller.js +0 -52
  249. package/dist/server/src/api/controllers/backup.controller.js.map +0 -1
  250. package/dist/server/src/api/controllers/cameras.controller.d.ts +0 -38
  251. package/dist/server/src/api/controllers/cameras.controller.js +0 -632
  252. package/dist/server/src/api/controllers/cameras.controller.js.map +0 -1
  253. package/dist/server/src/api/controllers/config.controller.d.ts +0 -14
  254. package/dist/server/src/api/controllers/config.controller.js +0 -89
  255. package/dist/server/src/api/controllers/config.controller.js.map +0 -1
  256. package/dist/server/src/api/controllers/files.controller.d.ts +0 -8
  257. package/dist/server/src/api/controllers/files.controller.js +0 -28
  258. package/dist/server/src/api/controllers/files.controller.js.map +0 -1
  259. package/dist/server/src/api/controllers/frameWorkers.controller.d.ts +0 -11
  260. package/dist/server/src/api/controllers/frameWorkers.controller.js +0 -93
  261. package/dist/server/src/api/controllers/frameWorkers.controller.js.map +0 -1
  262. package/dist/server/src/api/controllers/plugins.controller.d.ts +0 -61
  263. package/dist/server/src/api/controllers/plugins.controller.js +0 -1353
  264. package/dist/server/src/api/controllers/plugins.controller.js.map +0 -1
  265. package/dist/server/src/api/controllers/system.controller.d.ts +0 -21
  266. package/dist/server/src/api/controllers/system.controller.js +0 -207
  267. package/dist/server/src/api/controllers/system.controller.js.map +0 -1
  268. package/dist/server/src/api/controllers/users.controller.d.ts +0 -28
  269. package/dist/server/src/api/controllers/users.controller.js +0 -509
  270. package/dist/server/src/api/controllers/users.controller.js.map +0 -1
  271. package/dist/server/src/api/database/checks.d.ts +0 -55
  272. package/dist/server/src/api/database/checks.js +0 -183
  273. package/dist/server/src/api/database/checks.js.map +0 -1
  274. package/dist/server/src/api/database/constants.d.ts +0 -8
  275. package/dist/server/src/api/database/constants.js +0 -9
  276. package/dist/server/src/api/database/constants.js.map +0 -1
  277. package/dist/server/src/api/database/index.d.ts +0 -31
  278. package/dist/server/src/api/database/index.js +0 -276
  279. package/dist/server/src/api/database/index.js.map +0 -1
  280. package/dist/server/src/api/database/migration.d.ts +0 -13
  281. package/dist/server/src/api/database/migration.js +0 -113
  282. package/dist/server/src/api/database/migration.js.map +0 -1
  283. package/dist/server/src/api/database/selfcheck.d.ts +0 -48
  284. package/dist/server/src/api/database/selfcheck.js +0 -397
  285. package/dist/server/src/api/database/selfcheck.js.map +0 -1
  286. package/dist/server/src/api/database/types.d.ts +0 -100
  287. package/dist/server/src/api/database/types.js +0 -2
  288. package/dist/server/src/api/database/types.js.map +0 -1
  289. package/dist/server/src/api/go2rtc/api/application.d.ts +0 -9
  290. package/dist/server/src/api/go2rtc/api/application.js +0 -39
  291. package/dist/server/src/api/go2rtc/api/application.js.map +0 -1
  292. package/dist/server/src/api/go2rtc/api/config.d.ts +0 -8
  293. package/dist/server/src/api/go2rtc/api/config.js +0 -44
  294. package/dist/server/src/api/go2rtc/api/config.js.map +0 -1
  295. package/dist/server/src/api/go2rtc/api/index.d.ts +0 -1
  296. package/dist/server/src/api/go2rtc/api/index.js +0 -29
  297. package/dist/server/src/api/go2rtc/api/index.js.map +0 -1
  298. package/dist/server/src/api/go2rtc/api/snapshot.d.ts +0 -8
  299. package/dist/server/src/api/go2rtc/api/snapshot.js +0 -34
  300. package/dist/server/src/api/go2rtc/api/snapshot.js.map +0 -1
  301. package/dist/server/src/api/go2rtc/api/streams.d.ts +0 -11
  302. package/dist/server/src/api/go2rtc/api/streams.js +0 -59
  303. package/dist/server/src/api/go2rtc/api/streams.js.map +0 -1
  304. package/dist/server/src/api/go2rtc/index.d.ts +0 -14
  305. package/dist/server/src/api/go2rtc/index.js +0 -30
  306. package/dist/server/src/api/go2rtc/index.js.map +0 -1
  307. package/dist/server/src/api/go2rtc/queue.d.ts +0 -10
  308. package/dist/server/src/api/go2rtc/queue.js +0 -38
  309. package/dist/server/src/api/go2rtc/queue.js.map +0 -1
  310. package/dist/server/src/api/go2rtc/types.d.ts +0 -92
  311. package/dist/server/src/api/go2rtc/types.js +0 -2
  312. package/dist/server/src/api/go2rtc/types.js.map +0 -1
  313. package/dist/server/src/api/index.d.ts +0 -20
  314. package/dist/server/src/api/index.js +0 -213
  315. package/dist/server/src/api/index.js.map +0 -1
  316. package/dist/server/src/api/middlewares/authPermission.middleware.d.ts +0 -5
  317. package/dist/server/src/api/middlewares/authPermission.middleware.js +0 -28
  318. package/dist/server/src/api/middlewares/authPermission.middleware.js.map +0 -1
  319. package/dist/server/src/api/middlewares/authValidation.middleware.d.ts +0 -4
  320. package/dist/server/src/api/middlewares/authValidation.middleware.js +0 -129
  321. package/dist/server/src/api/middlewares/authValidation.middleware.js.map +0 -1
  322. package/dist/server/src/api/middlewares/pagination.middleware.d.ts +0 -3
  323. package/dist/server/src/api/middlewares/pagination.middleware.js +0 -65
  324. package/dist/server/src/api/middlewares/pagination.middleware.js.map +0 -1
  325. package/dist/server/src/api/middlewares/socketAuth.middleware.d.ts +0 -41
  326. package/dist/server/src/api/middlewares/socketAuth.middleware.js +0 -81
  327. package/dist/server/src/api/middlewares/socketAuth.middleware.js.map +0 -1
  328. package/dist/server/src/api/plugins/header.plugin.d.ts +0 -2
  329. package/dist/server/src/api/plugins/header.plugin.js +0 -13
  330. package/dist/server/src/api/plugins/header.plugin.js.map +0 -1
  331. package/dist/server/src/api/plugins/logger.plugin.d.ts +0 -7
  332. package/dist/server/src/api/plugins/logger.plugin.js +0 -29
  333. package/dist/server/src/api/plugins/logger.plugin.js.map +0 -1
  334. package/dist/server/src/api/plugins/socket.plugin.d.ts +0 -11
  335. package/dist/server/src/api/plugins/socket.plugin.js +0 -12
  336. package/dist/server/src/api/plugins/socket.plugin.js.map +0 -1
  337. package/dist/server/src/api/plugins/system.plugin.d.ts +0 -18
  338. package/dist/server/src/api/plugins/system.plugin.js +0 -22
  339. package/dist/server/src/api/plugins/system.plugin.js.map +0 -1
  340. package/dist/server/src/api/plugins/useragent.plugin.d.ts +0 -8
  341. package/dist/server/src/api/plugins/useragent.plugin.js +0 -10
  342. package/dist/server/src/api/plugins/useragent.plugin.js.map +0 -1
  343. package/dist/server/src/api/routes/api.routes.d.ts +0 -2
  344. package/dist/server/src/api/routes/api.routes.js +0 -7
  345. package/dist/server/src/api/routes/api.routes.js.map +0 -1
  346. package/dist/server/src/api/routes/auth.routes.d.ts +0 -2
  347. package/dist/server/src/api/routes/auth.routes.js +0 -47
  348. package/dist/server/src/api/routes/auth.routes.js.map +0 -1
  349. package/dist/server/src/api/routes/backup.routes.d.ts +0 -2
  350. package/dist/server/src/api/routes/backup.routes.js +0 -23
  351. package/dist/server/src/api/routes/backup.routes.js.map +0 -1
  352. package/dist/server/src/api/routes/cameras.routes.d.ts +0 -2
  353. package/dist/server/src/api/routes/cameras.routes.js +0 -217
  354. package/dist/server/src/api/routes/cameras.routes.js.map +0 -1
  355. package/dist/server/src/api/routes/config.routes.d.ts +0 -2
  356. package/dist/server/src/api/routes/config.routes.js +0 -55
  357. package/dist/server/src/api/routes/config.routes.js.map +0 -1
  358. package/dist/server/src/api/routes/files.routes.d.ts +0 -2
  359. package/dist/server/src/api/routes/files.routes.js +0 -12
  360. package/dist/server/src/api/routes/files.routes.js.map +0 -1
  361. package/dist/server/src/api/routes/frameWorkers.routes.d.ts +0 -2
  362. package/dist/server/src/api/routes/frameWorkers.routes.js +0 -33
  363. package/dist/server/src/api/routes/frameWorkers.routes.js.map +0 -1
  364. package/dist/server/src/api/routes/index.d.ts +0 -6
  365. package/dist/server/src/api/routes/index.js +0 -32
  366. package/dist/server/src/api/routes/index.js.map +0 -1
  367. package/dist/server/src/api/routes/plugins.routes.d.ts +0 -2
  368. package/dist/server/src/api/routes/plugins.routes.js +0 -363
  369. package/dist/server/src/api/routes/plugins.routes.js.map +0 -1
  370. package/dist/server/src/api/routes/system.routes.d.ts +0 -2
  371. package/dist/server/src/api/routes/system.routes.js +0 -83
  372. package/dist/server/src/api/routes/system.routes.js.map +0 -1
  373. package/dist/server/src/api/routes/users.routes.d.ts +0 -2
  374. package/dist/server/src/api/routes/users.routes.js +0 -139
  375. package/dist/server/src/api/routes/users.routes.js.map +0 -1
  376. package/dist/server/src/api/schemas/backup.schema.d.ts +0 -118
  377. package/dist/server/src/api/schemas/backup.schema.js +0 -75
  378. package/dist/server/src/api/schemas/backup.schema.js.map +0 -1
  379. package/dist/server/src/api/schemas/cameras.schema.d.ts +0 -980
  380. package/dist/server/src/api/schemas/cameras.schema.js +0 -333
  381. package/dist/server/src/api/schemas/cameras.schema.js.map +0 -1
  382. package/dist/server/src/api/schemas/config.schema.d.ts +0 -114
  383. package/dist/server/src/api/schemas/config.schema.js +0 -42
  384. package/dist/server/src/api/schemas/config.schema.js.map +0 -1
  385. package/dist/server/src/api/schemas/go2rtc.schema.d.ts +0 -703
  386. package/dist/server/src/api/schemas/go2rtc.schema.js +0 -180
  387. package/dist/server/src/api/schemas/go2rtc.schema.js.map +0 -1
  388. package/dist/server/src/api/schemas/plugins.schema.d.ts +0 -72
  389. package/dist/server/src/api/schemas/plugins.schema.js +0 -103
  390. package/dist/server/src/api/schemas/plugins.schema.js.map +0 -1
  391. package/dist/server/src/api/schemas/system.schema.d.ts +0 -9
  392. package/dist/server/src/api/schemas/system.schema.js +0 -8
  393. package/dist/server/src/api/schemas/system.schema.js.map +0 -1
  394. package/dist/server/src/api/schemas/users.schema.d.ts +0 -1013
  395. package/dist/server/src/api/schemas/users.schema.js +0 -157
  396. package/dist/server/src/api/schemas/users.schema.js.map +0 -1
  397. package/dist/server/src/api/services/auth.service.d.ts +0 -24
  398. package/dist/server/src/api/services/auth.service.js +0 -191
  399. package/dist/server/src/api/services/auth.service.js.map +0 -1
  400. package/dist/server/src/api/services/backup.service.d.ts +0 -11
  401. package/dist/server/src/api/services/backup.service.js +0 -109
  402. package/dist/server/src/api/services/backup.service.js.map +0 -1
  403. package/dist/server/src/api/services/cameras.service.d.ts +0 -57
  404. package/dist/server/src/api/services/cameras.service.js +0 -790
  405. package/dist/server/src/api/services/cameras.service.js.map +0 -1
  406. package/dist/server/src/api/services/plugins.service.d.ts +0 -26
  407. package/dist/server/src/api/services/plugins.service.js +0 -148
  408. package/dist/server/src/api/services/plugins.service.js.map +0 -1
  409. package/dist/server/src/api/services/system.service.d.ts +0 -7
  410. package/dist/server/src/api/services/system.service.js +0 -23
  411. package/dist/server/src/api/services/system.service.js.map +0 -1
  412. package/dist/server/src/api/services/users.service.d.ts +0 -25
  413. package/dist/server/src/api/services/users.service.js +0 -198
  414. package/dist/server/src/api/services/users.service.js.map +0 -1
  415. package/dist/server/src/api/types/index.d.ts +0 -592
  416. package/dist/server/src/api/types/index.js +0 -9
  417. package/dist/server/src/api/types/index.js.map +0 -1
  418. package/dist/server/src/api/utils/cameraSource.d.ts +0 -2
  419. package/dist/server/src/api/utils/cameraSource.js +0 -34
  420. package/dist/server/src/api/utils/cameraSource.js.map +0 -1
  421. package/dist/server/src/api/utils/cert.d.ts +0 -11
  422. package/dist/server/src/api/utils/cert.js +0 -204
  423. package/dist/server/src/api/utils/cert.js.map +0 -1
  424. package/dist/server/src/api/utils/constants.d.ts +0 -13
  425. package/dist/server/src/api/utils/constants.js +0 -14
  426. package/dist/server/src/api/utils/constants.js.map +0 -1
  427. package/dist/server/src/api/utils/fetch.d.ts +0 -2
  428. package/dist/server/src/api/utils/fetch.js +0 -24
  429. package/dist/server/src/api/utils/fetch.js.map +0 -1
  430. package/dist/server/src/api/utils/moveFiles.d.ts +0 -1
  431. package/dist/server/src/api/utils/moveFiles.js +0 -39
  432. package/dist/server/src/api/utils/moveFiles.js.map +0 -1
  433. package/dist/server/src/api/utils/parse.d.ts +0 -2
  434. package/dist/server/src/api/utils/parse.js +0 -12
  435. package/dist/server/src/api/utils/parse.js.map +0 -1
  436. package/dist/server/src/api/websocket/index.d.ts +0 -16
  437. package/dist/server/src/api/websocket/index.js +0 -76
  438. package/dist/server/src/api/websocket/index.js.map +0 -1
  439. package/dist/server/src/api/websocket/nsp/logs.d.ts +0 -17
  440. package/dist/server/src/api/websocket/nsp/logs.js +0 -151
  441. package/dist/server/src/api/websocket/nsp/logs.js.map +0 -1
  442. package/dist/server/src/api/websocket/nsp/main.d.ts +0 -7
  443. package/dist/server/src/api/websocket/nsp/main.js +0 -8
  444. package/dist/server/src/api/websocket/nsp/main.js.map +0 -1
  445. package/dist/server/src/api/websocket/nsp/metrics.d.ts +0 -24
  446. package/dist/server/src/api/websocket/nsp/metrics.js +0 -169
  447. package/dist/server/src/api/websocket/nsp/metrics.js.map +0 -1
  448. package/dist/server/src/api/websocket/nsp/notifications.d.ts +0 -12
  449. package/dist/server/src/api/websocket/nsp/notifications.js +0 -30
  450. package/dist/server/src/api/websocket/nsp/notifications.js.map +0 -1
  451. package/dist/server/src/api/websocket/nsp/plugins.d.ts +0 -13
  452. package/dist/server/src/api/websocket/nsp/plugins.js +0 -28
  453. package/dist/server/src/api/websocket/nsp/plugins.js.map +0 -1
  454. package/dist/server/src/api/websocket/nsp/server.d.ts +0 -26
  455. package/dist/server/src/api/websocket/nsp/server.js +0 -171
  456. package/dist/server/src/api/websocket/nsp/server.js.map +0 -1
  457. package/dist/server/src/api/websocket/nsp/status.d.ts +0 -15
  458. package/dist/server/src/api/websocket/nsp/status.js +0 -55
  459. package/dist/server/src/api/websocket/nsp/status.js.map +0 -1
  460. package/dist/server/src/api/websocket/types.d.ts +0 -41
  461. package/dist/server/src/api/websocket/types.js +0 -2
  462. package/dist/server/src/api/websocket/types.js.map +0 -1
  463. package/dist/server/src/api.d.ts +0 -28
  464. package/dist/server/src/api.js +0 -109
  465. package/dist/server/src/api.js.map +0 -1
  466. package/dist/server/src/camera/controller.d.ts +0 -62
  467. package/dist/server/src/camera/controller.js +0 -537
  468. package/dist/server/src/camera/controller.js.map +0 -1
  469. package/dist/server/src/camera/frameWorker.d.ts +0 -42
  470. package/dist/server/src/camera/frameWorker.js +0 -305
  471. package/dist/server/src/camera/frameWorker.js.map +0 -1
  472. package/dist/server/src/camera/types.d.ts +0 -11
  473. package/dist/server/src/camera/types.js +0 -2
  474. package/dist/server/src/camera/types.js.map +0 -1
  475. package/dist/server/src/go2rtc/index.d.ts +0 -25
  476. package/dist/server/src/go2rtc/index.js +0 -233
  477. package/dist/server/src/go2rtc/index.js.map +0 -1
  478. package/dist/server/src/go2rtc/types.d.ts +0 -14
  479. package/dist/server/src/go2rtc/types.js +0 -73
  480. package/dist/server/src/go2rtc/types.js.map +0 -1
  481. package/dist/server/src/main.d.ts +0 -2
  482. package/dist/server/src/main.js +0 -112
  483. package/dist/server/src/main.js.map +0 -1
  484. package/dist/server/src/nats/index.d.ts +0 -40
  485. package/dist/server/src/nats/index.js +0 -164
  486. package/dist/server/src/nats/index.js.map +0 -1
  487. package/dist/server/src/nats/proxy/cameraDevice.d.ts +0 -22
  488. package/dist/server/src/nats/proxy/cameraDevice.js +0 -254
  489. package/dist/server/src/nats/proxy/cameraDevice.js.map +0 -1
  490. package/dist/server/src/nats/proxy/coreManager.d.ts +0 -14
  491. package/dist/server/src/nats/proxy/coreManager.js +0 -68
  492. package/dist/server/src/nats/proxy/coreManager.js.map +0 -1
  493. package/dist/server/src/nats/proxy/deviceManager.d.ts +0 -14
  494. package/dist/server/src/nats/proxy/deviceManager.js +0 -101
  495. package/dist/server/src/nats/proxy/deviceManager.js.map +0 -1
  496. package/dist/server/src/nats/server.d.ts +0 -38
  497. package/dist/server/src/nats/server.js +0 -328
  498. package/dist/server/src/nats/server.js.map +0 -1
  499. package/dist/server/src/nats/types.d.ts +0 -18
  500. package/dist/server/src/nats/types.js +0 -2
  501. package/dist/server/src/nats/types.js.map +0 -1
  502. package/dist/server/src/nats/utils.d.ts +0 -2
  503. package/dist/server/src/nats/utils.js +0 -12
  504. package/dist/server/src/nats/utils.js.map +0 -1
  505. package/dist/server/src/nats/websocket.d.ts +0 -27
  506. package/dist/server/src/nats/websocket.js +0 -218
  507. package/dist/server/src/nats/websocket.js.map +0 -1
  508. package/dist/server/src/plugins/index.d.ts +0 -29
  509. package/dist/server/src/plugins/index.js +0 -243
  510. package/dist/server/src/plugins/index.js.map +0 -1
  511. package/dist/server/src/plugins/plugin.d.ts +0 -36
  512. package/dist/server/src/plugins/plugin.js +0 -193
  513. package/dist/server/src/plugins/plugin.js.map +0 -1
  514. package/dist/server/src/plugins/types.d.ts +0 -7
  515. package/dist/server/src/plugins/types.js +0 -3
  516. package/dist/server/src/plugins/types.js.map +0 -1
  517. package/dist/server/src/plugins/worker.d.ts +0 -55
  518. package/dist/server/src/plugins/worker.js +0 -444
  519. package/dist/server/src/plugins/worker.js.map +0 -1
  520. package/dist/server/src/services/config/constants.d.ts +0 -7
  521. package/dist/server/src/services/config/constants.js +0 -67
  522. package/dist/server/src/services/config/constants.js.map +0 -1
  523. package/dist/server/src/services/config/index.d.ts +0 -66
  524. package/dist/server/src/services/config/index.js +0 -462
  525. package/dist/server/src/services/config/index.js.map +0 -1
  526. package/dist/server/src/services/config/types.d.ts +0 -157
  527. package/dist/server/src/services/config/types.js +0 -11
  528. package/dist/server/src/services/config/types.js.map +0 -1
  529. package/dist/server/src/services/logger/index.d.ts +0 -16
  530. package/dist/server/src/services/logger/index.js +0 -67
  531. package/dist/server/src/services/logger/index.js.map +0 -1
  532. package/dist/server/src/types.d.ts +0 -7
  533. package/dist/server/src/types.js +0 -2
  534. package/dist/server/src/types.js.map +0 -1
  535. package/localdeps.txt +0 -6
  536. package/upgrade-server.sh +0 -206
  537. /package/dist/{server/bin/installer → installer}/base.d.ts +0 -0
  538. /package/dist/{server/bin/installer → installer}/base.js +0 -0
  539. /package/dist/{server/bin/installer → installer}/freebsd.d.ts +0 -0
  540. /package/dist/{server/bin/installer → installer}/win32.d.ts +0 -0
  541. /package/dist/{server/bin/logger.d.ts → logger.d.ts} +0 -0
@@ -1,29 +0,0 @@
1
- import 'reflect-metadata';
2
- import { Plugin } from './plugin.js';
3
- import type { IPackageJson } from '../api/types/index.js';
4
- export declare class PluginManager {
5
- private logger;
6
- private api;
7
- private configService;
8
- installedPythonVersions: Set<string>;
9
- searchPaths: Set<string>;
10
- plugins: Map<string, Plugin>;
11
- pluginIdentifiers: Set<string>;
12
- constructor();
13
- static isQualifiedPluginIdentifier(pluginName: string): boolean;
14
- static extractPluginScope(pluginName: string): string | undefined;
15
- static extractPluginName(pluginName: string): string;
16
- static transformDisplaName(pluginName: string): string;
17
- static loadPackageJSON(installPath: string): IPackageJson;
18
- initializeInstalledPlugins(): Promise<void>;
19
- initializeInstalledPlugin(plugin: Plugin): Promise<void>;
20
- loadPlugin(absolutePath: string): Promise<Plugin>;
21
- removePlugin(plugin: Plugin, removeStorage?: boolean): Promise<void>;
22
- startPluginChild(pluginName: string): Promise<void>;
23
- stopPluginChild(pluginName: string): Promise<void>;
24
- initializePlugins(): Promise<void>;
25
- installRequiredPythonEnvs(): Promise<void>;
26
- private loadInstalledPlugins;
27
- private removeOrphanedPlugins;
28
- private handleDisabledPlugins;
29
- }
@@ -1,243 +0,0 @@
1
- import 'reflect-metadata';
2
- import { DEFAULT_PY_VERSION, PythonInstaller } from '@camera.ui/plugineer';
3
- import { remove } from 'fs-extra/esm';
4
- import { existsSync, readdirSync, readFileSync, statSync } from 'node:fs';
5
- import { dirname, join, resolve } from 'node:path';
6
- import { fileURLToPath } from 'node:url';
7
- import { container } from 'tsyringe';
8
- import { API_EVENT } from '../api.js';
9
- import { PluginsService } from '../api/services/plugins.service.js';
10
- import { Plugin } from './plugin.js';
11
- import { PLUGIN_IDENTIFIER_PATTERN } from './types.js';
12
- const __filename = fileURLToPath(import.meta.url);
13
- const __dirname = dirname(__filename);
14
- export class PluginManager {
15
- logger;
16
- api;
17
- configService;
18
- installedPythonVersions = new Set();
19
- searchPaths = new Set();
20
- plugins = new Map();
21
- pluginIdentifiers = new Set();
22
- constructor() {
23
- container.registerInstance('pluginManager', this);
24
- this.api = container.resolve('api');
25
- this.logger = container.resolve('logger');
26
- this.configService = container.resolve('configService');
27
- this.api.setMaxListeners(this.api.getMaxListeners() + 1);
28
- this.api.once(API_EVENT.SHUTDOWN, () => {
29
- this.plugins.forEach((plugin) => plugin.worker.teardown());
30
- });
31
- }
32
- static isQualifiedPluginIdentifier(pluginName) {
33
- const normalizedName = pluginName.replace(/\\/g, '/');
34
- return PLUGIN_IDENTIFIER_PATTERN.test(normalizedName);
35
- }
36
- static extractPluginScope(pluginName) {
37
- return pluginName.match(PLUGIN_IDENTIFIER_PATTERN)[2];
38
- }
39
- static extractPluginName(pluginName) {
40
- return pluginName.match(PLUGIN_IDENTIFIER_PATTERN)[3];
41
- }
42
- static transformDisplaName(pluginName) {
43
- const extractedPkgName = this.extractPluginName(pluginName).replace('camera-ui-', '').replaceAll('-', ' ');
44
- return extractedPkgName
45
- .toLowerCase()
46
- .split(' ')
47
- .map((word) => word.charAt(0).toUpperCase() + word.slice(1))
48
- .join(' ');
49
- }
50
- static loadPackageJSON(installPath) {
51
- const packageJsonPath = join(installPath, 'package.json');
52
- let packageJson;
53
- if (!existsSync(packageJsonPath)) {
54
- throw new Error(`Plugin ${installPath} does not contain a package.json.`);
55
- }
56
- try {
57
- packageJson = JSON.parse(readFileSync(packageJsonPath, { encoding: 'utf8' }));
58
- }
59
- catch (error) {
60
- throw new Error(`Plugin ${installPath} contains an invalid package.json. Error: ${error}`);
61
- }
62
- if (!PluginManager.isQualifiedPluginIdentifier(packageJson.name)) {
63
- throw new Error(`Plugin "${packageJson.name}" does not have a package name that begins with 'camera-ui-' or '@scope/camera-ui-.`);
64
- }
65
- // verify that it's tagged with the correct keyword
66
- if (!packageJson.keywords?.includes('camera-ui-plugin')) {
67
- throw new Error(`Plugin ${installPath}/package.json does not contain the keyword 'camera-ui-plugin'.`);
68
- }
69
- return packageJson;
70
- }
71
- async initializeInstalledPlugins() {
72
- await Promise.all(Array.from(this.plugins).map(([, plugin]) => this.initializeInstalledPlugin(plugin)));
73
- }
74
- async initializeInstalledPlugin(plugin) {
75
- if (plugin.disabled) {
76
- this.logger.warn(`Disabled plugin: ${plugin.displayName} (${plugin.pluginName}@${plugin.info.installedVersion})`);
77
- }
78
- else {
79
- this.logger.log(`Initializing plugin: ${plugin.displayName} (${plugin.pluginName}@${plugin.info.installedVersion})`);
80
- }
81
- try {
82
- await this.startPluginChild(plugin.pluginName);
83
- }
84
- catch (error) {
85
- this.logger.error(`Error loading plugin: ${plugin.pluginName}:`, error);
86
- this.plugins.delete(plugin.pluginName);
87
- }
88
- }
89
- async loadPlugin(absolutePath) {
90
- const pluginsService = new PluginsService();
91
- const packageJson = PluginManager.loadPackageJSON(absolutePath);
92
- const pluginName = packageJson.name;
93
- const scope = PluginManager.extractPluginScope(pluginName);
94
- const alreadyInstalled = this.plugins.get(pluginName);
95
- if (alreadyInstalled) {
96
- throw new Error(`Warning: skipping plugin found at '${absolutePath}' since we already loaded the same plugin from '${alreadyInstalled.installPath}'.`);
97
- }
98
- const dbPlugin = await pluginsService.insertPluginDb(pluginName);
99
- const plugin = new Plugin(pluginName, absolutePath, packageJson, dbPlugin._id, scope);
100
- this.plugins.set(pluginName, plugin);
101
- return plugin;
102
- }
103
- async removePlugin(plugin, removeStorage) {
104
- await plugin.worker.cleanup();
105
- const pluginsService = new PluginsService();
106
- await pluginsService.removePluginDbById(plugin.id);
107
- if (removeStorage) {
108
- await remove(plugin.storagePath);
109
- }
110
- this.plugins.delete(plugin.pluginName);
111
- }
112
- async startPluginChild(pluginName) {
113
- try {
114
- const plugin = this.plugins.get(pluginName);
115
- if (!plugin || plugin.disabled || plugin.worker?.isRunning()) {
116
- return;
117
- }
118
- await plugin.load();
119
- for (const depName of plugin.contract.dependencies ?? []) {
120
- if (!PluginManager.isQualifiedPluginIdentifier(depName)) {
121
- continue;
122
- }
123
- const depPlugin = this.plugins.get(depName);
124
- if (!depPlugin) {
125
- this.logger.attention(`Plugin ${pluginName} requires ${depName} which is not installed!`);
126
- }
127
- if (depPlugin?.disabled) {
128
- this.logger.attention(`Reactivation and start of dependency ${depPlugin.displayName} for ${plugin.displayName}`);
129
- depPlugin.disabled = false;
130
- this.startPluginChild(depName);
131
- }
132
- }
133
- await plugin.worker.start();
134
- }
135
- catch (error) {
136
- if (error.message === 'NOT_COMPATIBLE') {
137
- return;
138
- }
139
- this.logger.error(`Error starting plugin ${pluginName}:`, error);
140
- }
141
- }
142
- async stopPluginChild(pluginName) {
143
- const plugin = this.plugins.get(pluginName);
144
- await plugin?.worker.teardown();
145
- }
146
- async initializePlugins() {
147
- await this.loadInstalledPlugins();
148
- await this.removeOrphanedPlugins();
149
- for (const [, plugin] of this.plugins) {
150
- if (this.configService.config.plugins.disabledPlugins.includes(plugin.pluginName)) {
151
- plugin.disabled = true;
152
- }
153
- }
154
- await this.handleDisabledPlugins();
155
- await this.installRequiredPythonEnvs();
156
- }
157
- async installRequiredPythonEnvs() {
158
- this.installedPythonVersions.clear();
159
- const pythonVersionsToInstall = new Set();
160
- pythonVersionsToInstall.add(DEFAULT_PY_VERSION);
161
- for (const [, plugin] of this.plugins) {
162
- if (plugin.isPython && !plugin.disabled) {
163
- pythonVersionsToInstall.add(plugin.contract.pythonVersion ?? DEFAULT_PY_VERSION);
164
- }
165
- }
166
- if (pythonVersionsToInstall.size > 0) {
167
- const promises = [];
168
- for (const version of pythonVersionsToInstall) {
169
- const requirementsPath = resolve(join(__dirname, '..', '..', 'requirements.txt')).replace('app.asar', 'app.asar.unpacked');
170
- const py = new PythonInstaller(this.configService.HOME_PATH, this.logger, undefined, version);
171
- promises.push(py
172
- .install('server', requirementsPath)
173
- .then(() => this.installedPythonVersions.add(version))
174
- .catch((error) => this.logger.error(`Error installing Python ${version}:`, error)));
175
- }
176
- const { logger } = new PythonInstaller(this.configService.HOME_PATH, this.logger, undefined, DEFAULT_PY_VERSION);
177
- if (promises.length > 0) {
178
- logger.log(`Installing required Python versions: ${Array.from(pythonVersionsToInstall).join(', ')}`);
179
- await Promise.all(promises);
180
- }
181
- else if (pythonVersionsToInstall.size > 0) {
182
- logger.log(`Required Python versions already installed: ${Array.from(pythonVersionsToInstall).join(', ')}`);
183
- }
184
- }
185
- }
186
- async loadInstalledPlugins() {
187
- const searchPath = this.configService.PLUGINS_INSTALL_PATH;
188
- const relativeinstallPaths = readdirSync(searchPath).filter((relativePath) => {
189
- try {
190
- return statSync(join(searchPath, relativePath)).isDirectory();
191
- }
192
- catch (error) {
193
- this.logger.debug(`Ignoring path ${resolve(searchPath, relativePath)}`, error);
194
- return false;
195
- }
196
- });
197
- // expand out @scoped plugins
198
- for (const scopeDirectory of [...relativeinstallPaths].filter((path) => path.startsWith('@'))) {
199
- const index = relativeinstallPaths.indexOf(scopeDirectory);
200
- relativeinstallPaths.splice(index, 1);
201
- const absolutePath = resolve(searchPath, scopeDirectory);
202
- for (const name of readdirSync(absolutePath)
203
- .filter((name) => PluginManager.isQualifiedPluginIdentifier(name))
204
- .filter((name) => {
205
- try {
206
- return statSync(join(absolutePath, name)).isDirectory();
207
- }
208
- catch (error) {
209
- this.logger.debug(`Ignoring path ${resolve(absolutePath, name)} - ${error.message}`);
210
- return false;
211
- }
212
- }))
213
- relativeinstallPaths.push(join(scopeDirectory, name));
214
- }
215
- relativeinstallPaths.forEach((pluginIdentifier) => {
216
- if (PluginManager.isQualifiedPluginIdentifier(pluginIdentifier)) {
217
- this.pluginIdentifiers.add(pluginIdentifier);
218
- }
219
- });
220
- for (const pluginIdentifier of this.pluginIdentifiers) {
221
- try {
222
- const absolutePath = join(searchPath, pluginIdentifier);
223
- await this.loadPlugin(absolutePath);
224
- }
225
- catch (error) {
226
- this.logger.warn(error.message);
227
- continue;
228
- }
229
- }
230
- if (this.plugins.size === 0) {
231
- this.logger.warn('No plugins found. See the README for information on installing plugins.');
232
- }
233
- }
234
- async removeOrphanedPlugins() {
235
- const pluginsService = new PluginsService();
236
- await pluginsService.removeOrphanPluginsDb();
237
- }
238
- async handleDisabledPlugins() {
239
- const pluginsService = new PluginsService();
240
- await pluginsService.handleDisabledPlugins();
241
- }
242
- }
243
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/index.ts"],"names":[],"mappings":"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"}
@@ -1,36 +0,0 @@
1
- import { PluginWorker } from './worker.js';
2
- import type { PluginContract } from '@camera.ui/plugineer';
3
- import type { CameraExtension } from '@camera.ui/types';
4
- import type { CameraUiPlugin, IPackageJson } from '../api/types/index.js';
5
- export declare class Plugin {
6
- private logger;
7
- private configService;
8
- private _disabled;
9
- private _info;
10
- private _contract;
11
- private loadContext;
12
- readonly id: string;
13
- readonly main: string;
14
- readonly pluginName: string;
15
- readonly displayName: string;
16
- readonly scope?: string;
17
- readonly isPython: boolean;
18
- readonly isSymLink: boolean;
19
- readonly installPath: string;
20
- readonly configFile: string;
21
- readonly storagePath: string;
22
- readonly logPath: string;
23
- readonly worker: PluginWorker;
24
- get contract(): PluginContract;
25
- get info(): CameraUiPlugin;
26
- set info(value: CameraUiPlugin);
27
- get disabled(): boolean;
28
- set disabled(value: boolean);
29
- get type(): CameraExtension[];
30
- constructor(pluginName: string, installPath: string, packageJSON: IPackageJson, pluginId: string, scope?: string);
31
- load(): Promise<void>;
32
- reparsePackageJson(): void;
33
- private parsePackageJson;
34
- private parseContract;
35
- private getMainFile;
36
- }
@@ -1,193 +0,0 @@
1
- import { DEFAULT_PY_VERSION, PythonInstaller } from '@camera.ui/plugineer';
2
- import { compare } from 'compare-versions';
3
- import { ensureFileSync } from 'fs-extra/esm';
4
- import { lstatSync } from 'node:fs';
5
- import { join } from 'node:path';
6
- import { container } from 'tsyringe';
7
- import { ConfigService } from '../services/config/index.js';
8
- import { PluginManager } from './index.js';
9
- import { PluginWorker } from './worker.js';
10
- export class Plugin {
11
- logger;
12
- configService;
13
- _disabled = false;
14
- _info;
15
- _contract;
16
- loadContext;
17
- id;
18
- main;
19
- pluginName;
20
- displayName;
21
- scope;
22
- isPython;
23
- isSymLink;
24
- installPath;
25
- configFile;
26
- storagePath;
27
- logPath;
28
- worker;
29
- get contract() {
30
- return this._contract;
31
- }
32
- get info() {
33
- this._info.disabled = this.disabled;
34
- return this._info;
35
- }
36
- set info(value) {
37
- this._info = value;
38
- this._info.disabled = this.disabled;
39
- }
40
- get disabled() {
41
- return this._disabled;
42
- }
43
- set disabled(value) {
44
- this._disabled = value;
45
- this._info.disabled = value;
46
- this.worker.disable();
47
- }
48
- get type() {
49
- const types = new Set();
50
- if (this._contract.builtIns) {
51
- this._contract.builtIns.forEach((type) => types.add(type));
52
- }
53
- if (this._contract.extension) {
54
- types.add(this._contract.extension);
55
- }
56
- return Array.from(types);
57
- }
58
- constructor(pluginName, installPath, packageJSON, pluginId, scope) {
59
- this.logger = container.resolve('logger');
60
- this.configService = container.resolve('configService');
61
- this.scope = scope;
62
- this.installPath = join(installPath);
63
- this.id = pluginId;
64
- this.pluginName = pluginName;
65
- this.storagePath = join(this.configService.PLUGINS_STORAGE_PATH, this.pluginName);
66
- this.logPath = join(this.configService.LOGS_PATH, `plugin-${this.id}.log`);
67
- this.configFile = join(this.storagePath, 'config.json');
68
- ensureFileSync(this.configFile);
69
- this.main = this.getMainFile(packageJSON);
70
- this.isPython = this.main.endsWith('.py');
71
- this.isSymLink = lstatSync(this.installPath).isSymbolicLink();
72
- this._info = this.parsePackageJson(packageJSON, installPath);
73
- this._contract = this.parseContract(packageJSON);
74
- this.displayName = this.info.displayName;
75
- this.loadContext = {
76
- engines: packageJSON.engines,
77
- dependencies: packageJSON.dependencies,
78
- };
79
- this.worker = new PluginWorker(this);
80
- this.disabled = this.configService.config.plugins.disabledPlugins.includes(pluginName);
81
- }
82
- async load() {
83
- if (!this.loadContext.engines?.['camera.ui']) {
84
- throw new Error(`Plugin ${this.installPath} does not contain the 'camera.ui' package in 'engines'.`);
85
- }
86
- const versionRequired = this.loadContext.engines['camera.ui'];
87
- const nodeVersionRequired = this.loadContext.engines.node;
88
- if (!compare(ConfigService.VERSION.replace(/[^\d.]/g, ''), versionRequired.replace(/[^\d.]/g, ''), '>=')) {
89
- this.logger.warn(`The plugin "${this.pluginName}" requires a camera.ui version of ${versionRequired} which does \
90
- not satisfy the current camera.ui version of ${ConfigService.VERSION}. Please update camera.ui to the required version.`);
91
- throw new Error('NOT_COMPATIBLE');
92
- }
93
- if (nodeVersionRequired && !compare(process.version, nodeVersionRequired.replace(/[^\d.]/g, ''), '>=')) {
94
- this.logger.warn(`The plugin "${this.pluginName}" requires Node.js version of ${nodeVersionRequired} which does \
95
- not satisfy the current Node.js version of ${process.version}. You may need to upgrade your installation of Node.js`);
96
- }
97
- const dependencies = this.loadContext.dependencies ?? {};
98
- if (dependencies['camera.ui']) {
99
- this.logger.error(`The plugin "${this.pluginName}" defines 'camera.ui' in their 'dependencies' section, \
100
- meaning they carry an additional copy of camera.ui. This not only wastes disk space, but also can cause \
101
- major incompatibility issues and thus is considered bad practice. Please inform the developer to update their plugin!`);
102
- }
103
- }
104
- reparsePackageJson() {
105
- const pjson = PluginManager.loadPackageJSON(this.installPath);
106
- this._info = this.parsePackageJson(pjson, this.installPath);
107
- this._contract = this.parseContract(pjson);
108
- }
109
- parsePackageJson(pjson, installPath) {
110
- const pluginPackageJson = {
111
- id: this.id,
112
- disabled: this.configService.config.plugins.disabledPlugins.includes(this.pluginName) || false,
113
- private: pjson.private ?? false,
114
- pluginName: pjson.name,
115
- displayName: pjson.displayName ?? PluginManager.transformDisplaName(pjson.name),
116
- author: pjson.author ? (typeof pjson.author === 'string' ? pjson.author : pjson.author.name) : undefined,
117
- description: pjson.description ? pjson.description.replace(/(?:https?|ftp):\/\/[\n\S]+/g, '').trim() : pjson.name,
118
- installedVersion: pjson.version,
119
- latestVersion: pjson.version,
120
- globalInstall: false,
121
- publicPackage: pjson.private ?? false,
122
- engines: pjson.engines,
123
- installPath,
124
- links: {
125
- npm: `https://www.npmjs.com/package/${this.pluginName}`,
126
- homepage: pjson.homepage,
127
- },
128
- isPython: this.isPython,
129
- isNode: !this.isPython,
130
- 'camera.ui': this.parseContract(pjson),
131
- };
132
- return pluginPackageJson;
133
- }
134
- parseContract(pjson) {
135
- const contract = pjson['camera.ui'];
136
- if (contract?.pythonVersion) {
137
- if (!PythonInstaller.versions.includes(contract.pythonVersion)) {
138
- this.logger.warn(`Python version ${contract.pythonVersion} is not supported. Using default version ${DEFAULT_PY_VERSION} for plugin ${this.pluginName}`);
139
- contract.pythonVersion = DEFAULT_PY_VERSION;
140
- }
141
- }
142
- const builtIns = contract?.builtIns ? Array.from(new Set(contract.builtIns)) : [];
143
- const dependencies = contract?.dependencies ? Array.from(new Set(contract.dependencies)) : [];
144
- const supportAdditionalCameras = contract?.supportAdditionalCameras && !contract.extension && builtIns?.length ? true : false;
145
- const extension = contract?.extension && !contract.supportAdditionalCameras ? contract.extension : undefined;
146
- const pythonVersion = contract?.pythonVersion;
147
- const options = contract?.options;
148
- const bundled = contract?.bundled;
149
- const newContract = {
150
- builtIns,
151
- dependencies,
152
- options,
153
- pythonVersion,
154
- bundled,
155
- };
156
- if (supportAdditionalCameras) {
157
- return {
158
- supportAdditionalCameras,
159
- ...newContract,
160
- };
161
- }
162
- else {
163
- return {
164
- extension,
165
- ...newContract,
166
- };
167
- }
168
- }
169
- getMainFile(packageJSON) {
170
- let main;
171
- if (packageJSON.exports) {
172
- if (typeof packageJSON.exports === 'string') {
173
- main = packageJSON.exports;
174
- }
175
- else {
176
- const exports = packageJSON.exports.import || packageJSON.exports.require || packageJSON.exports.node || packageJSON.exports.default || packageJSON.exports['.'];
177
- if (typeof exports !== 'string') {
178
- if (exports.import) {
179
- main = exports.import;
180
- }
181
- else {
182
- main = exports.require || exports.node || exports.default;
183
- }
184
- }
185
- else {
186
- main = exports;
187
- }
188
- }
189
- }
190
- return main ?? packageJSON.main ?? './index.js';
191
- }
192
- }
193
- //# sourceMappingURL=plugin.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/plugins/plugin.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import type { CameraExtension } from '@camera.ui/types';
2
- export interface Context {
3
- engines?: Record<string, string>;
4
- dependencies?: Record<string, string>;
5
- }
6
- export declare const PLUGIN_IDENTIFIER_PATTERN: RegExp;
7
- export declare const CAMERA_EXTENSIONS: CameraExtension[];
@@ -1,3 +0,0 @@
1
- export const PLUGIN_IDENTIFIER_PATTERN = /^((@[\w-.]*)\/)?(camera-ui-[\w-]*)$/;
2
- export const CAMERA_EXTENSIONS = ['hub', 'prebuffer', 'motionDetection', 'objectDetection', 'audioDetection', 'ptz'];
3
- //# sourceMappingURL=types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/plugins/types.ts"],"names":[],"mappings":"AAOA,MAAM,CAAC,MAAM,yBAAyB,GAAG,qCAAqC,CAAC;AAE/E,MAAM,CAAC,MAAM,iBAAiB,GAAsB,CAAC,KAAK,EAAE,WAAW,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,KAAK,CAAC,CAAC"}
@@ -1,55 +0,0 @@
1
- import { PLUGIN_STATUS } from '@camera.ui/plugineer';
2
- import type { Plugin } from './plugin.js';
3
- export declare class PluginWorker {
4
- plugin: Plugin;
5
- private pluginWorker?;
6
- private proxyServer;
7
- private logStream?;
8
- private api;
9
- private mainLogger;
10
- private pluginLogger;
11
- private processLogger;
12
- private configService;
13
- private socketService;
14
- private pluginManager;
15
- private py;
16
- private publisher?;
17
- private subscriber?;
18
- private subject;
19
- private targetSubject;
20
- private started;
21
- private shuttingDown;
22
- private truncateInterval?;
23
- private truncateIntervalMs;
24
- private logBuffer;
25
- private _status;
26
- get status(): PLUGIN_STATUS;
27
- constructor(plugin: Plugin);
28
- start(): Promise<void>;
29
- teardown(): Promise<void>;
30
- destroy(): Promise<void>;
31
- restart(): Promise<void>;
32
- disable(): void;
33
- getPID(): number;
34
- isRunning(): boolean;
35
- isReady(): boolean;
36
- cleanup(): Promise<void>;
37
- writeLog(...args: any[]): void;
38
- private gatherDevices;
39
- private kill;
40
- private setStatus;
41
- private sendMessage;
42
- private handleClose;
43
- private reset;
44
- private updatePython;
45
- private onChildMessage;
46
- private createPythonPath;
47
- private handleLogData;
48
- private processLogEntry;
49
- private writeProcessLog;
50
- private writeHeader;
51
- private closeLogStream;
52
- private removeLogStream;
53
- private truncateLog;
54
- private cleanedProcessEnv;
55
- }