@camera.ui/server 0.0.22-alpha.0 → 0.0.22-alpha.2

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 (569) hide show
  1. package/dist/interface/@intlify.DXtFJcML.0.0.22-alpha.2.js +15 -0
  2. package/dist/interface/@mdi.C1UTQKuc.0.0.22-alpha.2.js +1 -0
  3. package/dist/interface/@tanstack.B6ZKNODP.0.0.22-alpha.2.js +1 -0
  4. package/dist/interface/{@vee-validate.BgtYefC2.0.0.22-alpha.0.js → @vee-validate.BLOXgupV.0.0.22-alpha.2.js} +2 -2
  5. package/dist/interface/@vue.DYBoJLkm.0.0.22-alpha.2.js +17 -0
  6. package/dist/interface/{@vueform.BbHIRROu.0.0.22-alpha.0.js → @vueform.BNEdNEfe.0.0.22-alpha.2.js} +1 -1
  7. package/dist/interface/@vueuse.DLeXr990.0.0.22-alpha.2.js +1 -0
  8. package/dist/interface/Account.CJmkOolZ.0.0.22-alpha.2.js +1 -0
  9. package/dist/interface/Adminpanel.Tg7HwSe9.0.0.22-alpha.2.js +2 -0
  10. package/dist/interface/Appearance.Bu1bU0wi.0.0.22-alpha.2.js +1 -0
  11. package/dist/interface/Backup.8VdHTNcr.0.0.22-alpha.2.js +1 -0
  12. package/dist/interface/Camera.Dg8hy2Yt.0.0.22-alpha.2.js +1 -0
  13. package/dist/interface/Cameras.BIlZs0XL.0.0.22-alpha.2.js +1 -0
  14. package/dist/interface/Camview.BOntwhuV.0.0.22-alpha.2.js +1 -0
  15. package/dist/interface/Config.jsnOhEqZ.0.0.22-alpha.2.js +1 -0
  16. package/dist/interface/Console.D9pK-qBL.0.0.22-alpha.2.js +4 -0
  17. package/dist/interface/FirstSteps.Cb5a8AUL.0.0.22-alpha.2.js +1 -0
  18. package/dist/interface/{NewCamera.CB2ARQ7q.0.0.22-alpha.0.js → NewCamera.Dz60UmLc.0.0.22-alpha.2.js} +2 -2
  19. package/dist/interface/Plugin.DsAb_cep.0.0.22-alpha.2.js +1 -0
  20. package/dist/interface/Plugins.bxGkXmVc.0.0.22-alpha.2.js +1 -0
  21. package/dist/interface/Recordings.BTkAhv1T.0.0.22-alpha.2.js +1 -0
  22. package/dist/interface/Recordings.C_TDdsbp.0.0.22-alpha.2.js +1 -0
  23. package/dist/interface/Settings.Br20f1vP.0.0.22-alpha.2.js +1 -0
  24. package/dist/interface/System.WdQgcjx6.0.0.22-alpha.2.js +4 -0
  25. package/dist/interface/User.BUO6E9hO.0.0.22-alpha.2.js +1 -0
  26. package/dist/interface/VConfigEditor.vue_vue_type_script_setup_true_lang.V-YCJXF9.0.0.22-alpha.2.js +2 -0
  27. package/dist/interface/VConsole.efu2RLE4.0.0.22-alpha.2.js +1 -0
  28. package/dist/interface/VPlayer.7xACf1AA.0.0.22-alpha.2.js +4 -0
  29. package/dist/interface/VPluginCard.DObvo0pi.0.0.22-alpha.2.js +4 -0
  30. package/dist/interface/{ace-builds.BJA55oyY.0.0.22-alpha.0.js → ace-builds.CYuWji3-.0.0.22-alpha.2.js} +27 -27
  31. package/dist/interface/{apexcharts.CDIQ8dOe.0.0.22-alpha.0.js → apexcharts.BjVuUwvF.0.0.22-alpha.2.js} +1 -1
  32. package/dist/interface/assets/Adminpanel.0.0.22-alpha.2.a3t1v3MB.css +1 -0
  33. package/dist/interface/assets/Camera.0.0.22-alpha.2.D1I-fW4q.css +1 -0
  34. package/dist/interface/assets/Cameras.0.0.22-alpha.2.Buf1Dgce.css +1 -0
  35. package/dist/interface/assets/Camview.0.0.22-alpha.2.B7Cja2ry.css +1 -0
  36. package/dist/interface/assets/Config.0.0.22-alpha.2.DNGo2krN.css +1 -0
  37. package/dist/interface/assets/Console.0.0.22-alpha.2.Bh8l9QnM.css +1 -0
  38. package/dist/interface/assets/FirstSteps.0.0.22-alpha.2.sPEcItZ6.css +1 -0
  39. package/dist/interface/assets/NewCamera.0.0.22-alpha.2.Cq8GzeJ7.css +1 -0
  40. package/dist/interface/assets/{Settings.0.0.22-alpha.0.DC_-E3CR.css → Settings.0.0.22-alpha.2.CVmui2kE.css} +1 -1
  41. package/dist/interface/assets/VConsole.0.0.22-alpha.2.BCqKHpmJ.css +1 -0
  42. package/dist/interface/assets/VPlayer.0.0.22-alpha.2.DNtDNhfg.css +1 -0
  43. package/dist/interface/assets/VPluginCard.0.0.22-alpha.2.C8Lj6X-J.css +1 -0
  44. package/dist/interface/assets/main.0.0.22-alpha.2.DNhh__S1.css +1 -0
  45. package/dist/interface/assets/{vuetify.0.0.22-alpha.0.Cd1awv3t.css → vuetify.0.0.22-alpha.2.CgGsw6iO.css} +2 -2
  46. package/dist/interface/birpc.l0sNRNKZ.0.0.22-alpha.2.js +1 -0
  47. package/dist/interface/{dnd-core.BOxrARjV.0.0.22-alpha.0.js → dnd-core.CInfibuN.0.0.22-alpha.2.js} +1 -1
  48. package/dist/interface/{draggabilly.BEF5LqAH.0.0.22-alpha.0.js → draggabilly.D1IWfp_b.0.0.22-alpha.2.js} +1 -1
  49. package/dist/interface/engine.io-client.DefPnTEq.0.0.22-alpha.2.js +1 -0
  50. package/dist/interface/{ev-emitter.CsrKKb5x.0.0.22-alpha.0.js → ev-emitter.Dc-aWf7P.0.0.22-alpha.2.js} +1 -1
  51. package/dist/interface/{fast-deep-equal.CU36Z4X8.0.0.22-alpha.0.js → fast-deep-equal.B5b3SrkT.0.0.22-alpha.2.js} +1 -1
  52. package/dist/interface/{highlight.js.Cj98Ckpw.0.0.22-alpha.0.js → highlight.js.UlfE9jpO.0.0.22-alpha.2.js} +1 -1
  53. package/dist/interface/hookable.B8xFkYCm.0.0.22-alpha.2.js +1 -0
  54. package/dist/interface/index.html +34 -36
  55. package/dist/interface/{linkify-it.DIkWfPNS.0.0.22-alpha.0.js → linkify-it.Fi_bpuck.0.0.22-alpha.2.js} +1 -1
  56. package/dist/interface/main.oy2O2TRy.0.0.22-alpha.2.js +5 -0
  57. package/dist/interface/{markdown-it.DZ_JRYr5.0.0.22-alpha.0.js → markdown-it.DJgGU14J.0.0.22-alpha.2.js} +1 -1
  58. package/dist/interface/{nprogress.BKgW3YbN.0.0.22-alpha.0.js → nprogress.tJ-b_-wu.0.0.22-alpha.2.js} +1 -1
  59. package/dist/interface/perfect-debounce.Cp2ysxOb.0.0.22-alpha.2.js +1 -0
  60. package/dist/interface/pinia.yZCOO45u.0.0.22-alpha.2.js +5 -0
  61. package/dist/interface/plugins.Cfyqqots.0.0.22-alpha.2.js +1 -0
  62. package/dist/interface/point-in-polygon-hao.l0sNRNKZ.0.0.22-alpha.2.js +1 -0
  63. package/dist/interface/{qrcode.EjmMHZZR.0.0.22-alpha.0.js → qrcode.9XoqawvO.0.0.22-alpha.2.js} +1 -1
  64. package/dist/interface/{react-dnd-touch-backend.CU5Ax-9G.0.0.22-alpha.0.js → react-dnd-touch-backend.C6RhMT4L.0.0.22-alpha.2.js} +1 -1
  65. package/dist/interface/{rxjs.Cj9LQ_6u.0.0.22-alpha.0.js → rxjs.1CAxveb4.0.0.22-alpha.2.js} +1 -1
  66. package/dist/interface/socket.io-client.e8QnYieU.0.0.22-alpha.2.js +1 -0
  67. package/dist/interface/{socket.io-parser.CjxGsMQx.0.0.22-alpha.0.js → socket.io-parser.BLk6IoUZ.0.0.22-alpha.2.js} +1 -1
  68. package/dist/interface/sw.js +1 -1
  69. package/dist/interface/sweepline-intersections.l0sNRNKZ.0.0.22-alpha.2.js +1 -0
  70. package/dist/interface/system.CxMAOYjs.0.0.22-alpha.2.js +1 -0
  71. package/dist/interface/types.Cz9TaZAP.0.0.22-alpha.2.js +1 -0
  72. package/dist/interface/{unidragger.DTWO4kXE.0.0.22-alpha.0.js → unidragger.D9uoooG_.0.0.22-alpha.2.js} +1 -1
  73. package/dist/interface/utils.mAKpSMLY.0.0.22-alpha.2.js +1 -0
  74. package/dist/interface/uuid.Ch9TGLTe.0.0.22-alpha.2.js +1 -0
  75. package/dist/interface/vee-validate.DnRu3xAR.0.0.22-alpha.2.js +5 -0
  76. package/dist/interface/vue-i18n.DNPn_WN3.0.0.22-alpha.2.js +5 -0
  77. package/dist/interface/{vue-inline-svg.DF4jsptY.0.0.22-alpha.0.js → vue-inline-svg.BxDq9WpB.0.0.22-alpha.2.js} +1 -1
  78. package/dist/interface/vue-router.Ci1GIRoh.0.0.22-alpha.2.js +5 -0
  79. package/dist/interface/vue.l0sNRNKZ.0.0.22-alpha.2.js +1 -0
  80. package/dist/interface/vue3-apexcharts.4RpZv9AC.0.0.22-alpha.2.js +1 -0
  81. package/dist/interface/{vue3-dnd.CsLnkm-l.0.0.22-alpha.0.js → vue3-dnd.CyNbBiuS.0.0.22-alpha.2.js} +1 -1
  82. package/dist/interface/vue3-toastify.Jtf1C0Kw.0.0.22-alpha.2.js +1 -0
  83. package/dist/interface/vuetify.D4io05br.0.0.22-alpha.2.js +5 -0
  84. package/dist/interface/zod.DnW1_kUe.0.0.22-alpha.2.js +1 -0
  85. package/dist/server/bin/cameraui-server.js +8 -0
  86. package/dist/server/bin/cameraui-server.js.map +1 -0
  87. package/dist/server/package.json +44 -70
  88. package/dist/server/requirements.txt +6 -5
  89. package/dist/server/src/api/controllers/auth.controller.js +1 -1
  90. package/dist/server/src/api/controllers/auth.controller.js.map +1 -1
  91. package/dist/server/src/api/controllers/backup.controller.js +2 -2
  92. package/dist/server/src/api/controllers/backup.controller.js.map +1 -1
  93. package/dist/server/src/api/controllers/cameras.controller.d.ts +4 -2
  94. package/dist/server/src/api/controllers/cameras.controller.js +88 -42
  95. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  96. package/dist/server/src/api/controllers/files.controller.js.map +1 -1
  97. package/dist/server/src/api/controllers/frameWorkers.controller.d.ts +1 -1
  98. package/dist/server/src/api/controllers/frameWorkers.controller.js +15 -7
  99. package/dist/server/src/api/controllers/frameWorkers.controller.js.map +1 -1
  100. package/dist/server/src/api/controllers/plugins.controller.d.ts +3 -4
  101. package/dist/server/src/api/controllers/plugins.controller.js +141 -202
  102. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  103. package/dist/server/src/api/controllers/system.controller.d.ts +9 -3
  104. package/dist/server/src/api/controllers/system.controller.js +73 -53
  105. package/dist/server/src/api/controllers/system.controller.js.map +1 -1
  106. package/dist/server/src/api/controllers/users.controller.js +12 -10
  107. package/dist/server/src/api/controllers/users.controller.js.map +1 -1
  108. package/dist/server/src/api/database/checks.d.ts +55 -0
  109. package/dist/server/src/api/database/checks.js +183 -0
  110. package/dist/server/src/api/database/checks.js.map +1 -0
  111. package/dist/server/src/api/database/constants.d.ts +8 -0
  112. package/dist/server/src/api/database/constants.js +9 -0
  113. package/dist/server/src/api/database/constants.js.map +1 -0
  114. package/dist/server/src/api/database/index.d.ts +4 -13
  115. package/dist/server/src/api/database/index.js +61 -39
  116. package/dist/server/src/api/database/index.js.map +1 -1
  117. package/dist/server/src/api/database/migration.d.ts +1 -0
  118. package/dist/server/src/api/database/migration.js +73 -7
  119. package/dist/server/src/api/database/migration.js.map +1 -1
  120. package/dist/server/src/api/database/selfcheck.d.ts +48 -0
  121. package/dist/server/src/api/database/selfcheck.js +398 -0
  122. package/dist/server/src/api/database/selfcheck.js.map +1 -0
  123. package/dist/server/src/api/database/types.d.ts +15 -141
  124. package/dist/server/src/api/go2rtc/api/application.js +3 -2
  125. package/dist/server/src/api/go2rtc/api/application.js.map +1 -1
  126. package/dist/server/src/api/go2rtc/api/index.js +3 -2
  127. package/dist/server/src/api/go2rtc/api/index.js.map +1 -1
  128. package/dist/server/src/api/go2rtc/api/streams.d.ts +1 -1
  129. package/dist/server/src/api/go2rtc/api/streams.js +4 -2
  130. package/dist/server/src/api/go2rtc/api/streams.js.map +1 -1
  131. package/dist/server/src/api/go2rtc/index.d.ts +1 -0
  132. package/dist/server/src/api/go2rtc/index.js +6 -1
  133. package/dist/server/src/api/go2rtc/index.js.map +1 -1
  134. package/dist/server/src/api/go2rtc/types.d.ts +2 -18
  135. package/dist/server/src/api/index.d.ts +1 -0
  136. package/dist/server/src/api/index.js +23 -31
  137. package/dist/server/src/api/index.js.map +1 -1
  138. package/dist/server/src/api/middlewares/authPermission.middleware.d.ts +3 -3
  139. package/dist/server/src/api/middlewares/authPermission.middleware.js.map +1 -1
  140. package/dist/server/src/api/middlewares/authValidation.middleware.d.ts +2 -2
  141. package/dist/server/src/api/middlewares/authValidation.middleware.js +3 -3
  142. package/dist/server/src/api/middlewares/authValidation.middleware.js.map +1 -1
  143. package/dist/server/src/api/middlewares/socketAuth.middleware.d.ts +1 -1
  144. package/dist/server/src/api/middlewares/socketAuth.middleware.js +1 -1
  145. package/dist/server/src/api/plugins/header.plugin.d.ts +2 -0
  146. package/dist/server/src/api/plugins/header.plugin.js +13 -0
  147. package/dist/server/src/api/plugins/header.plugin.js.map +1 -0
  148. package/dist/server/src/api/plugins/logger.plugin.js +1 -1
  149. package/dist/server/src/api/plugins/logger.plugin.js.map +1 -1
  150. package/dist/server/src/api/plugins/system.plugin.d.ts +3 -1
  151. package/dist/server/src/api/plugins/system.plugin.js +6 -1
  152. package/dist/server/src/api/plugins/system.plugin.js.map +1 -1
  153. package/dist/server/src/api/plugins/useragent.plugin.d.ts +1 -1
  154. package/dist/server/src/api/plugins/useragent.plugin.js +1 -1
  155. package/dist/server/src/api/plugins/useragent.plugin.js.map +1 -1
  156. package/dist/server/src/api/routes/cameras.routes.js +12 -0
  157. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  158. package/dist/server/src/api/routes/plugins.routes.js +24 -0
  159. package/dist/server/src/api/routes/plugins.routes.js.map +1 -1
  160. package/dist/server/src/api/routes/system.routes.js +3 -6
  161. package/dist/server/src/api/routes/system.routes.js.map +1 -1
  162. package/dist/server/src/api/schemas/backup.schema.js.map +1 -1
  163. package/dist/server/src/api/schemas/cameras.schema.d.ts +227 -187
  164. package/dist/server/src/api/schemas/cameras.schema.js +25 -6
  165. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  166. package/dist/server/src/api/schemas/config.schema.d.ts +12 -20
  167. package/dist/server/src/api/schemas/config.schema.js +0 -2
  168. package/dist/server/src/api/schemas/config.schema.js.map +1 -1
  169. package/dist/server/src/api/schemas/go2rtc.schema.d.ts +143 -143
  170. package/dist/server/src/api/schemas/plugins.schema.d.ts +5 -5
  171. package/dist/server/src/api/schemas/plugins.schema.js +1 -1
  172. package/dist/server/src/api/schemas/plugins.schema.js.map +1 -1
  173. package/dist/server/src/api/schemas/system.schema.d.ts +8 -0
  174. package/dist/server/src/api/schemas/system.schema.js +6 -1
  175. package/dist/server/src/api/schemas/system.schema.js.map +1 -1
  176. package/dist/server/src/api/schemas/users.schema.d.ts +170 -170
  177. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  178. package/dist/server/src/api/services/auth.service.js +17 -17
  179. package/dist/server/src/api/services/auth.service.js.map +1 -1
  180. package/dist/server/src/api/services/backup.service.js.map +1 -1
  181. package/dist/server/src/api/services/cameras.service.d.ts +10 -5
  182. package/dist/server/src/api/services/cameras.service.js +166 -89
  183. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  184. package/dist/server/src/api/services/plugins.service.d.ts +1 -0
  185. package/dist/server/src/api/services/plugins.service.js +16 -11
  186. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  187. package/dist/server/src/api/services/system.service.js +5 -4
  188. package/dist/server/src/api/services/system.service.js.map +1 -1
  189. package/dist/server/src/api/services/users.service.js +29 -29
  190. package/dist/server/src/api/services/users.service.js.map +1 -1
  191. package/dist/server/src/api/types/index.d.ts +127 -129
  192. package/dist/server/src/api/types/index.js.map +1 -1
  193. package/dist/server/src/api/utils/cameraSource.d.ts +2 -0
  194. package/dist/server/src/api/utils/cameraSource.js +34 -0
  195. package/dist/server/src/api/utils/cameraSource.js.map +1 -0
  196. package/dist/server/src/api/utils/cert.d.ts +7 -7
  197. package/dist/server/src/api/utils/cert.js +178 -385
  198. package/dist/server/src/api/utils/cert.js.map +1 -1
  199. package/dist/server/src/api/utils/constants.d.ts +0 -2
  200. package/dist/server/src/api/utils/constants.js +4 -7
  201. package/dist/server/src/api/utils/constants.js.map +1 -1
  202. package/dist/server/src/api/websocket/index.js +2 -1
  203. package/dist/server/src/api/websocket/index.js.map +1 -1
  204. package/dist/server/src/api/websocket/nsp/logs.d.ts +10 -2
  205. package/dist/server/src/api/websocket/nsp/logs.js +110 -76
  206. package/dist/server/src/api/websocket/nsp/logs.js.map +1 -1
  207. package/dist/server/src/api/websocket/nsp/metrics.d.ts +1 -1
  208. package/dist/server/src/api/websocket/nsp/metrics.js +19 -16
  209. package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
  210. package/dist/server/src/api/websocket/nsp/notifications.js +1 -1
  211. package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
  212. package/dist/server/src/api/websocket/nsp/plugins.d.ts +1 -1
  213. package/dist/server/src/api/websocket/nsp/plugins.js +3 -4
  214. package/dist/server/src/api/websocket/nsp/plugins.js.map +1 -1
  215. package/dist/server/src/api/websocket/nsp/server.d.ts +9 -4
  216. package/dist/server/src/api/websocket/nsp/server.js +57 -20
  217. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  218. package/dist/server/src/api/websocket/nsp/status.d.ts +1 -1
  219. package/dist/server/src/api/websocket/nsp/status.js +9 -7
  220. package/dist/server/src/api/websocket/nsp/status.js.map +1 -1
  221. package/dist/server/src/api/websocket/types.d.ts +7 -13
  222. package/dist/server/src/api.d.ts +8 -23
  223. package/dist/server/src/api.js +43 -24
  224. package/dist/server/src/api.js.map +1 -1
  225. package/dist/server/src/camera/controller.d.ts +31 -14
  226. package/dist/server/src/camera/controller.js +371 -68
  227. package/dist/server/src/camera/controller.js.map +1 -1
  228. package/dist/server/src/{decoder/worker.d.ts → camera/frameWorker.d.ts} +11 -8
  229. package/dist/server/src/camera/frameWorker.js +305 -0
  230. package/dist/server/src/camera/frameWorker.js.map +1 -0
  231. package/dist/server/src/camera/types.d.ts +1 -199
  232. package/dist/server/src/camera/types.js +1 -6
  233. package/dist/server/src/camera/types.js.map +1 -1
  234. package/dist/server/src/go2rtc/index.js +23 -11
  235. package/dist/server/src/go2rtc/index.js.map +1 -1
  236. package/dist/server/src/main.d.ts +21 -0
  237. package/dist/server/src/main.js +130 -74
  238. package/dist/server/src/main.js.map +1 -1
  239. package/dist/server/src/nats/index.d.ts +5 -5
  240. package/dist/server/src/nats/index.js +5 -6
  241. package/dist/server/src/nats/index.js.map +1 -1
  242. package/dist/server/src/nats/proxy/cameraDevice.d.ts +4 -4
  243. package/dist/server/src/nats/proxy/cameraDevice.js +41 -58
  244. package/dist/server/src/nats/proxy/cameraDevice.js.map +1 -1
  245. package/dist/server/src/nats/proxy/coreManager.d.ts +4 -4
  246. package/dist/server/src/nats/proxy/coreManager.js +6 -1
  247. package/dist/server/src/nats/proxy/coreManager.js.map +1 -1
  248. package/dist/server/src/nats/proxy/deviceManager.d.ts +5 -7
  249. package/dist/server/src/nats/proxy/deviceManager.js +4 -2
  250. package/dist/server/src/nats/proxy/deviceManager.js.map +1 -1
  251. package/dist/server/src/nats/server.js +33 -22
  252. package/dist/server/src/nats/server.js.map +1 -1
  253. package/dist/server/src/nats/types.d.ts +3 -121
  254. package/dist/server/src/nats/utils.d.ts +1 -1
  255. package/dist/server/src/nats/websocket.d.ts +2 -2
  256. package/dist/server/src/nats/websocket.js +7 -6
  257. package/dist/server/src/nats/websocket.js.map +1 -1
  258. package/dist/server/src/plugins/index.d.ts +3 -4
  259. package/dist/server/src/plugins/index.js +39 -38
  260. package/dist/server/src/plugins/index.js.map +1 -1
  261. package/dist/server/src/plugins/plugin.d.ts +6 -3
  262. package/dist/server/src/plugins/plugin.js +59 -23
  263. package/dist/server/src/plugins/plugin.js.map +1 -1
  264. package/dist/server/src/plugins/types.d.ts +1 -148
  265. package/dist/server/src/plugins/types.js +0 -15
  266. package/dist/server/src/plugins/types.js.map +1 -1
  267. package/dist/server/src/plugins/worker.d.ts +22 -3
  268. package/dist/server/src/plugins/worker.js +201 -59
  269. package/dist/server/src/plugins/worker.js.map +1 -1
  270. package/dist/server/src/services/config/constants.d.ts +3 -1
  271. package/dist/server/src/services/config/constants.js +12 -8
  272. package/dist/server/src/services/config/constants.js.map +1 -1
  273. package/dist/server/src/services/config/index.d.ts +15 -9
  274. package/dist/server/src/services/config/index.js +135 -46
  275. package/dist/server/src/services/config/index.js.map +1 -1
  276. package/dist/server/src/services/config/types.d.ts +10 -15
  277. package/dist/server/src/services/config/types.js.map +1 -1
  278. package/dist/server/src/services/logger/index.d.ts +10 -17
  279. package/dist/server/src/services/logger/index.js +44 -91
  280. package/dist/server/src/services/logger/index.js.map +1 -1
  281. package/dist/server/src/types.d.ts +24 -0
  282. package/eslint.config.js +89 -0
  283. package/localdeps.txt +6 -0
  284. package/package.json +44 -70
  285. package/dist/interface/@intlify.YW_pt133.0.0.22-alpha.0.js +0 -15
  286. package/dist/interface/@mdi.DnMbZhUH.0.0.22-alpha.0.js +0 -1
  287. package/dist/interface/@popperjs.BQBsAJpH.0.0.22-alpha.0.js +0 -1
  288. package/dist/interface/@tanstack.Dk7F0Vz0.0.0.22-alpha.0.js +0 -1
  289. package/dist/interface/@vue.CvjRlaU6.0.0.22-alpha.0.js +0 -17
  290. package/dist/interface/@vueuse.XquUZgtp.0.0.22-alpha.0.js +0 -1
  291. package/dist/interface/Account.Bv7AmbuK.0.0.22-alpha.0.js +0 -1
  292. package/dist/interface/Adminpanel.DsGsXBHH.0.0.22-alpha.0.js +0 -2
  293. package/dist/interface/Appearance.C6Qj2C_l.0.0.22-alpha.0.js +0 -1
  294. package/dist/interface/Backup.BlSlgkpW.0.0.22-alpha.0.js +0 -1
  295. package/dist/interface/Camera.CC08IZ17.0.0.22-alpha.0.js +0 -1
  296. package/dist/interface/Cameras.BqEpCuCR.0.0.22-alpha.0.js +0 -1
  297. package/dist/interface/Camview.u79SRE7s.0.0.22-alpha.0.js +0 -1
  298. package/dist/interface/Config.CE50Q8KG.0.0.22-alpha.0.js +0 -1
  299. package/dist/interface/Console.DDlXS_WH.0.0.22-alpha.0.js +0 -4
  300. package/dist/interface/FirstSteps.CHLswquo.0.0.22-alpha.0.js +0 -1
  301. package/dist/interface/Plugin.CtrAxCQv.0.0.22-alpha.0.js +0 -1
  302. package/dist/interface/Plugins.CunIvSJv.0.0.22-alpha.0.js +0 -1
  303. package/dist/interface/Recordings.Bsbb3cLA.0.0.22-alpha.0.js +0 -1
  304. package/dist/interface/Recordings.CnclYToJ.0.0.22-alpha.0.js +0 -1
  305. package/dist/interface/Settings.CnMXEIf2.0.0.22-alpha.0.js +0 -1
  306. package/dist/interface/System.BnPrdvN0.0.0.22-alpha.0.js +0 -4
  307. package/dist/interface/User.DBaos4b8.0.0.22-alpha.0.js +0 -1
  308. package/dist/interface/VConfigEditor.vue_vue_type_script_setup_true_lang.CFukh5l5.0.0.22-alpha.0.js +0 -2
  309. package/dist/interface/VConsole.BgptXj79.0.0.22-alpha.0.js +0 -1
  310. package/dist/interface/VPlayer.C5vExb2M.0.0.22-alpha.0.js +0 -1
  311. package/dist/interface/VPluginCard.B-Rum4A2.0.0.22-alpha.0.js +0 -4
  312. package/dist/interface/assets/Adminpanel.0.0.22-alpha.0.CXsTAXPL.css +0 -1
  313. package/dist/interface/assets/Camera.0.0.22-alpha.0.BDtUJ-lA.css +0 -1
  314. package/dist/interface/assets/Cameras.0.0.22-alpha.0.Djx0F2MM.css +0 -1
  315. package/dist/interface/assets/Camview.0.0.22-alpha.0.Ce_V-Nxj.css +0 -1
  316. package/dist/interface/assets/Config.0.0.22-alpha.0.k4QpWumg.css +0 -1
  317. package/dist/interface/assets/Console.0.0.22-alpha.0.DWrfRWs9.css +0 -1
  318. package/dist/interface/assets/FirstSteps.0.0.22-alpha.0.B3-pv8-a.css +0 -1
  319. package/dist/interface/assets/NewCamera.0.0.22-alpha.0.DJ3tUBT_.css +0 -1
  320. package/dist/interface/assets/VConsole.0.0.22-alpha.0.BZT1WyS-.css +0 -1
  321. package/dist/interface/assets/VPlayer.0.0.22-alpha.0.CZXlTn4I.css +0 -1
  322. package/dist/interface/assets/VPluginCard.0.0.22-alpha.0.CIL48ca_.css +0 -1
  323. package/dist/interface/assets/main.0.0.22-alpha.0.BOf8IWhK.css +0 -1
  324. package/dist/interface/assets/v-calendar.0.0.22-alpha.0.CtSuDYZU.css +0 -1
  325. package/dist/interface/engine.io-client.BMIamAQC.0.0.22-alpha.0.js +0 -1
  326. package/dist/interface/main.BdLkotV4.0.0.22-alpha.0.js +0 -4
  327. package/dist/interface/pinia.DA4R8TFr.0.0.22-alpha.0.js +0 -5
  328. package/dist/interface/plugins.BcX2DDRp.0.0.22-alpha.0.js +0 -1
  329. package/dist/interface/socket.io-client.C9LJ1Zls.0.0.22-alpha.0.js +0 -1
  330. package/dist/interface/system.-IyAtje9.0.0.22-alpha.0.js +0 -1
  331. package/dist/interface/ui.Cu_G5h1z.0.0.22-alpha.0.js +0 -1
  332. package/dist/interface/utils.BvINh1mj.0.0.22-alpha.0.js +0 -1
  333. package/dist/interface/uuid.DvF23Exx.0.0.22-alpha.0.js +0 -1
  334. package/dist/interface/v-calendar.CmvG-vVL.0.0.22-alpha.0.js +0 -1
  335. package/dist/interface/vee-validate.DTObZ862.0.0.22-alpha.0.js +0 -5
  336. package/dist/interface/vue-i18n.CGodlogN.0.0.22-alpha.0.js +0 -5
  337. package/dist/interface/vue-router.CxSRaAvj.0.0.22-alpha.0.js +0 -5
  338. package/dist/interface/vue3-apexcharts.DAlcrhmw.0.0.22-alpha.0.js +0 -1
  339. package/dist/interface/vue3-toastify.CEJWJskm.0.0.22-alpha.0.js +0 -1
  340. package/dist/interface/vuetify.Cn9UEwpM.0.0.22-alpha.0.js +0 -5
  341. package/dist/interface/zod.BaF2dDCd.0.0.22-alpha.0.js +0 -1
  342. package/dist/server/bin/cameraui.d.ts +0 -54
  343. package/dist/server/bin/cameraui.js +0 -622
  344. package/dist/server/bin/cameraui.js.map +0 -1
  345. package/dist/server/bin/fork.js +0 -13
  346. package/dist/server/bin/fork.js.map +0 -1
  347. package/dist/server/bin/installer/base.d.ts +0 -17
  348. package/dist/server/bin/installer/base.js +0 -45
  349. package/dist/server/bin/installer/base.js.map +0 -1
  350. package/dist/server/bin/installer/darwin.d.ts +0 -61
  351. package/dist/server/bin/installer/darwin.js +0 -249
  352. package/dist/server/bin/installer/darwin.js.map +0 -1
  353. package/dist/server/bin/installer/freebsd.d.ts +0 -64
  354. package/dist/server/bin/installer/freebsd.js +0 -254
  355. package/dist/server/bin/installer/freebsd.js.map +0 -1
  356. package/dist/server/bin/installer/linux.d.ts +0 -103
  357. package/dist/server/bin/installer/linux.js +0 -482
  358. package/dist/server/bin/installer/linux.js.map +0 -1
  359. package/dist/server/bin/installer/win32.d.ts +0 -45
  360. package/dist/server/bin/installer/win32.js +0 -178
  361. package/dist/server/bin/installer/win32.js.map +0 -1
  362. package/dist/server/src/api/plugins/cameraui.plugin.d.ts +0 -11
  363. package/dist/server/src/api/plugins/cameraui.plugin.js +0 -6
  364. package/dist/server/src/api/plugins/cameraui.plugin.js.map +0 -1
  365. package/dist/server/src/api/plugins/database.plugin.d.ts +0 -11
  366. package/dist/server/src/api/plugins/database.plugin.js +0 -12
  367. package/dist/server/src/api/plugins/database.plugin.js.map +0 -1
  368. package/dist/server/src/api/plugins/go2rtc.plugin.d.ts +0 -11
  369. package/dist/server/src/api/plugins/go2rtc.plugin.js +0 -11
  370. package/dist/server/src/api/plugins/go2rtc.plugin.js.map +0 -1
  371. package/dist/server/src/camera/device.d.ts +0 -29
  372. package/dist/server/src/camera/device.js +0 -20
  373. package/dist/server/src/camera/device.js.map +0 -1
  374. package/dist/server/src/camera/index.d.ts +0 -94
  375. package/dist/server/src/camera/index.js +0 -620
  376. package/dist/server/src/camera/index.js.map +0 -1
  377. package/dist/server/src/camera/interfaces/camera.d.ts +0 -10
  378. package/dist/server/src/camera/interfaces/camera.js +0 -23
  379. package/dist/server/src/camera/interfaces/camera.js.map +0 -1
  380. package/dist/server/src/camera/interfaces/prebuffer.d.ts +0 -11
  381. package/dist/server/src/camera/interfaces/prebuffer.js +0 -26
  382. package/dist/server/src/camera/interfaces/prebuffer.js.map +0 -1
  383. package/dist/server/src/camera/interfaces/ptz.d.ts +0 -13
  384. package/dist/server/src/camera/interfaces/ptz.js +0 -47
  385. package/dist/server/src/camera/interfaces/ptz.js.map +0 -1
  386. package/dist/server/src/camera/iou.d.ts +0 -2
  387. package/dist/server/src/camera/iou.js +0 -53
  388. package/dist/server/src/camera/iou.js.map +0 -1
  389. package/dist/server/src/camera/polygon.d.ts +0 -6
  390. package/dist/server/src/camera/polygon.js +0 -151
  391. package/dist/server/src/camera/polygon.js.map +0 -1
  392. package/dist/server/src/camera/streaming/peer-connection.d.ts +0 -55
  393. package/dist/server/src/camera/streaming/peer-connection.js +0 -203
  394. package/dist/server/src/camera/streaming/peer-connection.js.map +0 -1
  395. package/dist/server/src/camera/streaming/webrtc-connection.d.ts +0 -35
  396. package/dist/server/src/camera/streaming/webrtc-connection.js +0 -170
  397. package/dist/server/src/camera/streaming/webrtc-connection.js.map +0 -1
  398. package/dist/server/src/camera/streaming/werift-session.d.ts +0 -41
  399. package/dist/server/src/camera/streaming/werift-session.js +0 -179
  400. package/dist/server/src/camera/streaming/werift-session.js.map +0 -1
  401. package/dist/server/src/camera/videoFrame.d.ts +0 -24
  402. package/dist/server/src/camera/videoFrame.js +0 -104
  403. package/dist/server/src/camera/videoFrame.js.map +0 -1
  404. package/dist/server/src/decoder/index.d.ts +0 -11
  405. package/dist/server/src/decoder/index.js +0 -32
  406. package/dist/server/src/decoder/index.js.map +0 -1
  407. package/dist/server/src/decoder/types.d.ts +0 -151
  408. package/dist/server/src/decoder/types.js +0 -2
  409. package/dist/server/src/decoder/types.js.map +0 -1
  410. package/dist/server/src/decoder/worker.js +0 -245
  411. package/dist/server/src/decoder/worker.js.map +0 -1
  412. package/dist/server/src/index.d.ts +0 -18
  413. package/dist/server/src/index.js +0 -5
  414. package/dist/server/src/index.js.map +0 -1
  415. package/dist/server/src/nats/connection.d.ts +0 -17
  416. package/dist/server/src/nats/connection.js +0 -66
  417. package/dist/server/src/nats/connection.js.map +0 -1
  418. package/dist/server/src/nats/constants.d.ts +0 -1
  419. package/dist/server/src/nats/constants.js +0 -2
  420. package/dist/server/src/nats/constants.js.map +0 -1
  421. package/dist/server/src/nats/error.d.ts +0 -9
  422. package/dist/server/src/nats/error.js +0 -11
  423. package/dist/server/src/nats/error.js.map +0 -1
  424. package/dist/server/src/nats/messageQueue.d.ts +0 -20
  425. package/dist/server/src/nats/messageQueue.js +0 -132
  426. package/dist/server/src/nats/messageQueue.js.map +0 -1
  427. package/dist/server/src/nats/subscription.d.ts +0 -12
  428. package/dist/server/src/nats/subscription.js +0 -21
  429. package/dist/server/src/nats/subscription.js.map +0 -1
  430. package/dist/server/src/plugins/interfaces/audioDetection.d.ts +0 -7
  431. package/dist/server/src/plugins/interfaces/audioDetection.js +0 -4
  432. package/dist/server/src/plugins/interfaces/audioDetection.js.map +0 -1
  433. package/dist/server/src/plugins/interfaces/base.d.ts +0 -6
  434. package/dist/server/src/plugins/interfaces/base.js +0 -3
  435. package/dist/server/src/plugins/interfaces/base.js.map +0 -1
  436. package/dist/server/src/plugins/interfaces/motionDetection.d.ts +0 -6
  437. package/dist/server/src/plugins/interfaces/motionDetection.js +0 -4
  438. package/dist/server/src/plugins/interfaces/motionDetection.js.map +0 -1
  439. package/dist/server/src/plugins/interfaces/objectDetection.d.ts +0 -7
  440. package/dist/server/src/plugins/interfaces/objectDetection.js +0 -4
  441. package/dist/server/src/plugins/interfaces/objectDetection.js.map +0 -1
  442. package/dist/server/src/polyglot/node/decoder/child.d.ts +0 -1
  443. package/dist/server/src/polyglot/node/decoder/child.js +0 -644
  444. package/dist/server/src/polyglot/node/decoder/child.js.map +0 -1
  445. package/dist/server/src/polyglot/node/decoder/imageUtils.d.ts +0 -24
  446. package/dist/server/src/polyglot/node/decoder/imageUtils.js +0 -205
  447. package/dist/server/src/polyglot/node/decoder/imageUtils.js.map +0 -1
  448. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.d.ts +0 -144
  449. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.js +0 -65
  450. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.wasm +0 -0
  451. package/dist/server/src/polyglot/node/decoder/wasm/test/imageUtils.py +0 -106
  452. package/dist/server/src/polyglot/node/plugins/cameraStorage.d.ts +0 -107
  453. package/dist/server/src/polyglot/node/plugins/cameraStorage.js +0 -292
  454. package/dist/server/src/polyglot/node/plugins/cameraStorage.js.map +0 -1
  455. package/dist/server/src/polyglot/node/plugins/child.d.ts +0 -28
  456. package/dist/server/src/polyglot/node/plugins/child.js +0 -222
  457. package/dist/server/src/polyglot/node/plugins/child.js.map +0 -1
  458. package/dist/server/src/polyglot/node/plugins/configService.d.ts +0 -104
  459. package/dist/server/src/polyglot/node/plugins/configService.js +0 -213
  460. package/dist/server/src/polyglot/node/plugins/configService.js.map +0 -1
  461. package/dist/server/src/polyglot/node/plugins/pluginApi.d.ts +0 -35
  462. package/dist/server/src/polyglot/node/plugins/pluginApi.js +0 -23
  463. package/dist/server/src/polyglot/node/plugins/pluginApi.js.map +0 -1
  464. package/dist/server/src/polyglot/node/plugins/pluginLogger.d.ts +0 -18
  465. package/dist/server/src/polyglot/node/plugins/pluginLogger.js +0 -89
  466. package/dist/server/src/polyglot/node/plugins/pluginLogger.js.map +0 -1
  467. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.d.ts +0 -69
  468. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js +0 -432
  469. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js.map +0 -1
  470. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.d.ts +0 -40
  471. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.js +0 -105
  472. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.js.map +0 -1
  473. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.d.ts +0 -47
  474. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.js +0 -164
  475. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.js.map +0 -1
  476. package/dist/server/src/polyglot/node/plugins/schema.d.ts +0 -293
  477. package/dist/server/src/polyglot/node/plugins/schema.js +0 -740
  478. package/dist/server/src/polyglot/node/plugins/schema.js.map +0 -1
  479. package/dist/server/src/polyglot/node/plugins/storageController.d.ts +0 -30
  480. package/dist/server/src/polyglot/node/plugins/storageController.js +0 -40
  481. package/dist/server/src/polyglot/node/plugins/storageController.js.map +0 -1
  482. package/dist/server/src/polyglot/python/camera/interfaces/camera.py +0 -20
  483. package/dist/server/src/polyglot/python/camera/interfaces/prebuffer.py +0 -25
  484. package/dist/server/src/polyglot/python/camera/interfaces/ptz.py +0 -38
  485. package/dist/server/src/polyglot/python/camera/iou.py +0 -80
  486. package/dist/server/src/polyglot/python/camera/polygon.py +0 -173
  487. package/dist/server/src/polyglot/python/camera/video_frame.py +0 -188
  488. package/dist/server/src/polyglot/python/camera_ui_types/__init__.py +0 -1196
  489. package/dist/server/src/polyglot/python/decoder/child.py +0 -882
  490. package/dist/server/src/polyglot/python/decoder/image_utils.py +0 -149
  491. package/dist/server/src/polyglot/python/decoder/typings.py +0 -99
  492. package/dist/server/src/polyglot/python/plugins/camera_storage.py +0 -391
  493. package/dist/server/src/polyglot/python/plugins/child.py +0 -394
  494. package/dist/server/src/polyglot/python/plugins/config_service.py +0 -187
  495. package/dist/server/src/polyglot/python/plugins/constants.py +0 -1
  496. package/dist/server/src/polyglot/python/plugins/message_queue.py +0 -182
  497. package/dist/server/src/polyglot/python/plugins/plugin_api.py +0 -34
  498. package/dist/server/src/polyglot/python/plugins/plugin_logger.py +0 -111
  499. package/dist/server/src/polyglot/python/plugins/proxy/camera_device.py +0 -1677
  500. package/dist/server/src/polyglot/python/plugins/proxy/core_manager.py +0 -145
  501. package/dist/server/src/polyglot/python/plugins/proxy/device_manager.py +0 -226
  502. package/dist/server/src/polyglot/python/plugins/schema.py +0 -181
  503. package/dist/server/src/polyglot/python/plugins/storage_controller.py +0 -58
  504. package/dist/server/src/polyglot/python/plugins/typings.py +0 -253
  505. package/dist/server/src/polyglot/python/utilities/connection.py +0 -86
  506. package/dist/server/src/polyglot/python/utilities/json_lmdb.py +0 -19
  507. package/dist/server/src/polyglot/python/utilities/object_path.py +0 -195
  508. package/dist/server/src/polyglot/python/utilities/packer.py +0 -11
  509. package/dist/server/src/polyglot/python/utilities/subscriptions.py +0 -22
  510. package/dist/server/src/polyglot/python/utilities/task.py +0 -35
  511. package/dist/server/src/polyglot/python/utilities/thread.py +0 -10
  512. package/dist/server/src/polyglot/python/utilities/utils.py +0 -73
  513. package/dist/server/src/utils/ffmpeg.d.ts +0 -2
  514. package/dist/server/src/utils/ffmpeg.js +0 -61
  515. package/dist/server/src/utils/ffmpeg.js.map +0 -1
  516. package/dist/server/src/utils/network.d.ts +0 -12
  517. package/dist/server/src/utils/network.js +0 -92
  518. package/dist/server/src/utils/network.js.map +0 -1
  519. package/dist/server/src/utils/npm.d.ts +0 -4
  520. package/dist/server/src/utils/npm.js +0 -128
  521. package/dist/server/src/utils/npm.js.map +0 -1
  522. package/dist/server/src/utils/packer.d.ts +0 -2
  523. package/dist/server/src/utils/packer.js +0 -17
  524. package/dist/server/src/utils/packer.js.map +0 -1
  525. package/dist/server/src/utils/pythonInstaller.d.ts +0 -48
  526. package/dist/server/src/utils/pythonInstaller.js +0 -494
  527. package/dist/server/src/utils/pythonInstaller.js.map +0 -1
  528. package/dist/server/src/utils/reader.d.ts +0 -5
  529. package/dist/server/src/utils/reader.js +0 -41
  530. package/dist/server/src/utils/reader.js.map +0 -1
  531. package/dist/server/src/utils/subscribed.d.ts +0 -9
  532. package/dist/server/src/utils/subscribed.js +0 -17
  533. package/dist/server/src/utils/subscribed.js.map +0 -1
  534. package/dist/server/src/utils/utils.d.ts +0 -10
  535. package/dist/server/src/utils/utils.js +0 -165
  536. package/dist/server/src/utils/utils.js.map +0 -1
  537. package/upgrade-server.sh +0 -205
  538. /package/dist/interface/{@babel.l0sNRNKZ.0.0.22-alpha.0.js → @babel.l0sNRNKZ.0.0.22-alpha.2.js} +0 -0
  539. /package/dist/interface/{@react-dnd.CcwRs9xb.0.0.22-alpha.0.js → @react-dnd.CcwRs9xb.0.0.22-alpha.2.js} +0 -0
  540. /package/dist/interface/{@socket.io.Dkula2eQ.0.0.22-alpha.0.js → @socket.io.Dkula2eQ.0.0.22-alpha.2.js} +0 -0
  541. /package/dist/interface/{vue.l0sNRNKZ.0.0.22-alpha.0.js → @turf.l0sNRNKZ.0.0.22-alpha.2.js} +0 -0
  542. /package/dist/interface/{@xterm.DBtVaaEV.0.0.22-alpha.0.js → @xterm.CRKo0AGB.0.0.22-alpha.2.js} +0 -0
  543. /package/dist/interface/assets/{@vueform.0.0.22-alpha.0.h7tNX9p6.css → @vueform.0.0.22-alpha.2.CroAHJs8.css} +0 -0
  544. /package/dist/interface/assets/{@xterm.0.0.22-alpha.0.CGrrDQr5.css → @xterm.0.0.22-alpha.2.CFbL2ovg.css} +0 -0
  545. /package/dist/interface/assets/{Account.0.0.22-alpha.0.Ce3OmKrC.css → Account.0.0.22-alpha.2.J7oAjogS.css} +0 -0
  546. /package/dist/interface/assets/{Backup.0.0.22-alpha.0.BIwaSlv3.css → Backup.0.0.22-alpha.2.CX0rT0QJ.css} +0 -0
  547. /package/dist/interface/assets/{Plugin.0.0.22-alpha.0.BtRA6zDt.css → Plugin.0.0.22-alpha.2.DJbgaQc1.css} +0 -0
  548. /package/dist/interface/assets/{Plugins.0.0.22-alpha.0.Cwu0aGUO.css → Plugins.0.0.22-alpha.2.DXSoO9M1.css} +0 -0
  549. /package/dist/interface/assets/{User.0.0.22-alpha.0.DPDcJbx8.css → User.0.0.22-alpha.2.BiGtIFqt.css} +0 -0
  550. /package/dist/interface/assets/{highlight.0.0.22-alpha.0.DgoK_Xib.css → highlight.0.0.22-alpha.2.Ch2EwETz.css} +0 -0
  551. /package/dist/interface/assets/{logo-256.0.0.22-alpha.0.BCQk9H1-.png → logo-256.0.0.22-alpha.2.BCQk9H1-.png} +0 -0
  552. /package/dist/interface/assets/{logo-512.0.0.22-alpha.0.DLKVOU2S.png → logo-512.0.0.22-alpha.2.DLKVOU2S.png} +0 -0
  553. /package/dist/interface/assets/{logo.0.0.22-alpha.0.DmEiRk0z.png → logo.0.0.22-alpha.2.DmEiRk0z.png} +0 -0
  554. /package/dist/interface/assets/{mode-json.0.0.22-alpha.0.Br7xisR1.js → mode-json.0.0.22-alpha.2.Br7xisR1.js} +0 -0
  555. /package/dist/interface/assets/{mode-yaml.0.0.22-alpha.0.CIYL8U3d.js → mode-yaml.0.0.22-alpha.2.CIYL8U3d.js} +0 -0
  556. /package/dist/interface/assets/{vue3-toastify.0.0.22-alpha.0.DTY1DMRs.css → vue3-toastify.0.0.22-alpha.2.DHXAGmwn.css} +0 -0
  557. /package/dist/interface/{axios.C-n2IhIP.0.0.22-alpha.0.js → axios.C-n2IhIP.0.0.22-alpha.2.js} +0 -0
  558. /package/dist/interface/{compare-versions.DqEOhma6.0.0.22-alpha.0.js → compare-versions.DqEOhma6.0.0.22-alpha.2.js} +0 -0
  559. /package/dist/interface/{dijkstrajs.D_NXgYpA.0.0.22-alpha.0.js → dijkstrajs.D_NXgYpA.0.0.22-alpha.2.js} +0 -0
  560. /package/dist/interface/{engine.io-parser.BiEtp6m2.0.0.22-alpha.0.js → engine.io-parser.BiEtp6m2.0.0.22-alpha.2.js} +0 -0
  561. /package/dist/interface/{entities.C20TfXL6.0.0.22-alpha.0.js → entities.C20TfXL6.0.0.22-alpha.2.js} +0 -0
  562. /package/dist/interface/{get-size.D1dS-IaP.0.0.22-alpha.0.js → get-size.D1dS-IaP.0.0.22-alpha.2.js} +0 -0
  563. /package/dist/interface/{mdurl.k9Sl0PQj.0.0.22-alpha.0.js → mdurl.k9Sl0PQj.0.0.22-alpha.2.js} +0 -0
  564. /package/dist/interface/{punycode.js.Dj65hjkv.0.0.22-alpha.0.js → punycode.js.Dj65hjkv.0.0.22-alpha.2.js} +0 -0
  565. /package/dist/interface/{react-dnd-html5-backend.1HQjlkwI.0.0.22-alpha.0.js → react-dnd-html5-backend.1HQjlkwI.0.0.22-alpha.2.js} +0 -0
  566. /package/dist/interface/{redux.CuxFRhX_.0.0.22-alpha.0.js → redux.CuxFRhX_.0.0.22-alpha.2.js} +0 -0
  567. /package/dist/interface/{tslib.9k7AwCpt.0.0.22-alpha.0.js → tslib.9k7AwCpt.0.0.22-alpha.2.js} +0 -0
  568. /package/dist/interface/{uc.micro.kMc2yuuw.0.0.22-alpha.0.js → uc.micro.kMc2yuuw.0.0.22-alpha.2.js} +0 -0
  569. /package/dist/server/bin/{fork.d.ts → cameraui-server.d.ts} +0 -0
@@ -1,394 +0,0 @@
1
- import asyncio
2
- import importlib.util
3
- import inspect
4
- import os
5
- import signal
6
- import sys
7
- import traceback
8
- from asyncio import AbstractEventLoop
9
- from contextlib import suppress
10
- from pathlib import Path
11
- from types import ModuleType
12
- from typing import Any, Literal, Optional, cast
13
-
14
- from camera_ui_types import BasePlugin, CameraDevice
15
- from decoder.typings import AuthConfig
16
- from lmdbm import Lmdb
17
- from message_queue import MessageQueue
18
- from nats.aio.msg import Msg
19
- from plugin_api import PluginAPI
20
- from plugin_logger import PluginLogger
21
- from proxy.camera_device import CameraDeviceProxy
22
- from typings import (
23
- PLUGIN_COMMAND,
24
- PLUGIN_STATUS,
25
- DeserializedError,
26
- ProcessLoadMessage,
27
- ProcessMessage,
28
- ProcessResponse,
29
- ProxyMessageStructure,
30
- )
31
- from utilities.connection import ProxyConnection
32
- from utilities.json_lmdb import JsonLmdb
33
- from utilities.packer import unpack
34
- from utilities.subscriptions import ProxySubscription
35
- from utilities.task import TaskSet
36
-
37
- if sys.platform == "win32":
38
- import ctypes
39
-
40
- def force_exit():
41
- kernel32 = ctypes.windll.kernel32
42
- kernel32.TerminateProcess(kernel32.GetCurrentProcess(), 1)
43
- else:
44
-
45
- def force_exit():
46
- os.kill(os.getpid(), signal.SIGKILL)
47
-
48
-
49
- def find_plugin_constructor(module: ModuleType) -> Any:
50
- if hasattr(module, "__main__"):
51
- main_func = module.__main__
52
- if callable(main_func):
53
- plugin_base_class: BasePlugin = main_func()
54
- if isinstance(plugin_base_class, type):
55
- return plugin_base_class
56
- else:
57
- raise Exception("Plugin's __main__ must return a plugin constructor.")
58
- else:
59
- raise Exception("Plugin's __main__ is not callable.")
60
-
61
- else:
62
- raise Exception("Plugin does not have a __main__ function.")
63
-
64
-
65
- def check_plugin_class_methods(cls: Any) -> None:
66
- base_plugin_methods = {
67
- name for name in dir(BasePlugin) if callable(getattr(BasePlugin, name)) and not name.startswith("__")
68
- }
69
-
70
- for method_name in base_plugin_methods:
71
- if not hasattr(cls, method_name):
72
- raise Exception(f"Method '{method_name}' is not implemented in plugin.")
73
-
74
- cls_method = getattr(cls, method_name)
75
- if not callable(cls_method):
76
- raise Exception(f"Method '{method_name}' is not callable.")
77
-
78
- # base_method = getattr(BasePlugin, method_name)
79
- # cls_signature = inspect.signature(cls_method)
80
- # base_signature = inspect.signature(base_method)
81
-
82
- # if cls_signature.return_annotation != base_signature.return_annotation:
83
- # raise Exception(
84
- # f"Method '{method_name}' has a different return type than the one in BasePlugin. "
85
- # f"Expected: {base_signature.return_annotation}, "
86
- # f"Actual: {cls_signature.return_annotation}"
87
- # )
88
-
89
-
90
- class PluginChild:
91
- def __init__(self) -> None:
92
- self.proxy_endpoints = [endpoint for endpoint in os.environ["PROXY_ENDPOINTS"].split(",")]
93
-
94
- self.auth: AuthConfig = {
95
- "user": os.environ["PROXY_USER"],
96
- "password": os.environ["PROXY_PASSWORD"],
97
- }
98
-
99
- del os.environ["PROXY_USER"]
100
- del os.environ["PROXY_PASSWORD"]
101
- del os.environ["PROXY_ENDPOINTS"]
102
-
103
- self.display_name = sys.argv[1] if len(sys.argv) > 1 else "PluginChild"
104
- self.logger = PluginLogger(self.display_name, os.environ["LOGGER_DISABLE_TIMESTAMPS"] == "true")
105
- self.plugin_db: Optional[Lmdb[Literal["config"], dict[str, Any]]] = None
106
-
107
- self.subject = f"{os.environ['WORKER_ID']}.ipc.subscriber"
108
- self.plugin_subject = f"{os.environ['PLUGIN_ID']}.child"
109
- self.target_subject = f"{os.environ['WORKER_ID']}.ipc.publisher"
110
-
111
- self.publisher: Optional[ProxyConnection] = None
112
- self.subscriber: Optional[ProxySubscription] = None
113
- self.plugin_subscriber: Optional[ProxySubscription] = None
114
-
115
- self.tasks: TaskSet = TaskSet(f"{self.display_name} PluginChild")
116
- self.message_queue: Optional[MessageQueue] = None
117
-
118
- self.api: Optional[PluginAPI] = None
119
- self.plugin: Optional[BasePlugin] = None
120
-
121
- self.stopped = False
122
- self.closed = False
123
-
124
- async def run(self):
125
- try:
126
- self.shutdown_event = asyncio.Event()
127
- self.setup_signal_handlers()
128
- await self.init()
129
- await self.shutdown_event.wait()
130
- except asyncio.CancelledError:
131
- pass
132
-
133
- async def init(self) -> None:
134
- servers = [endpoint for endpoint in self.proxy_endpoints if endpoint.startswith("nats://")]
135
-
136
- self.publisher = ProxyConnection(self.subject, servers, self.auth)
137
- await self.publisher.connect()
138
-
139
- self.subscriber = await self.publisher.subscribe(subject=self.subject)
140
- self.subscriber.on("message", self.on_worker_message)
141
-
142
- self.plugin_subscriber = await self.publisher.subscribe(subject=self.plugin_subject)
143
- self.message_queue = MessageQueue(
144
- self.logger,
145
- self.publisher,
146
- self.plugin_subscriber,
147
- self.request_handler,
148
- )
149
-
150
- await self.send_message({"type": PLUGIN_STATUS.READY.value})
151
-
152
- async def start(self, data: ProcessLoadMessage) -> None:
153
- storage_path = data["storage"]["storagePath"]
154
- config_file = data["storage"]["configFile"]
155
- plugin_info = data["plugin"]
156
- cameras = data["cameras"]
157
-
158
- db_path = Path(storage_path) / "volume"
159
- Path(db_path).mkdir(parents=True, exist_ok=True)
160
-
161
- self.plugin_db = JsonLmdb.open(file=str(db_path), flag="c")
162
-
163
- config: Any = self.plugin_db.get("config")
164
- if config is None:
165
- self.plugin_db.update({"config": {}})
166
-
167
- self.api = PluginAPI(
168
- plugin_info,
169
- storage_path,
170
- config_file,
171
- self.logger,
172
- self.proxy_endpoints,
173
- self.auth,
174
- self.plugin_db,
175
- )
176
-
177
- plugin_constructor = self.load_plugin()
178
- self.plugin = cast(BasePlugin, plugin_constructor(self.logger, self.api))
179
-
180
- await asyncio.gather(
181
- self.api.core_manager.init(),
182
- self.api.device_manager.init(),
183
- )
184
-
185
- cameras_devices = [
186
- CameraDeviceProxy(
187
- self.api,
188
- self.logger,
189
- camera,
190
- plugin_info,
191
- self.proxy_endpoints,
192
- self.auth,
193
- )
194
- for camera in cameras
195
- ]
196
-
197
- await asyncio.gather(*(camera_device.init() for camera_device in cameras_devices))
198
-
199
- self.api.device_manager.configure_cameras(cameras_devices)
200
- self.plugin.configure_cameras(cast(list[CameraDevice], cameras_devices))
201
-
202
- await self.send_message({"type": PLUGIN_STATUS.STARTED.value})
203
-
204
- self.api.emit("finishLaunching")
205
-
206
- async def stop(self) -> None:
207
- if self.stopped:
208
- return
209
-
210
- self.stopped = True
211
-
212
- if self.api:
213
- self.api.emit("shutdown")
214
-
215
- if self.message_queue:
216
- self.message_queue.abort_queue()
217
-
218
- if self.publisher:
219
- with suppress(Exception):
220
- await self.publisher.close()
221
-
222
- if self.plugin_db:
223
- await asyncio.sleep(0.5)
224
- with suppress(Exception):
225
- self.plugin_db.close()
226
-
227
- self.shutdown_event.set()
228
-
229
- def load_plugin(self) -> Any:
230
- module_path = os.environ.get("MODULE_PATH")
231
-
232
- spec = importlib.util.spec_from_file_location("plugin_module", module_path)
233
- if spec is None:
234
- raise Exception(f"Could not load module from '{module_path}'.")
235
-
236
- module = importlib.util.module_from_spec(spec)
237
- sys.modules["plugin_module"] = module
238
-
239
- if spec.loader is None:
240
- raise Exception(f"Could not load module from '{module_path}'.")
241
-
242
- spec.loader.exec_module(module)
243
-
244
- plugin_constructor = find_plugin_constructor(module)
245
-
246
- check_plugin_class_methods(plugin_constructor)
247
-
248
- return plugin_constructor
249
-
250
- async def send_message(self, message: ProcessResponse) -> None:
251
- if not self.publisher:
252
- raise Exception("Publisher is not initialized")
253
-
254
- await self.publisher.publish(self.target_subject, message)
255
-
256
- async def request_handler(self, message: ProxyMessageStructure) -> None:
257
- if not self.message_queue:
258
- raise Exception("Message queue not initialized")
259
-
260
- reply = message.copy()
261
- reply["type"] = "reply"
262
-
263
- try:
264
- if not self.plugin or not self.api:
265
- raise Exception("Plugin not initialized")
266
-
267
- fn = message["fn"]
268
- args = message["args"]
269
- camera_id = message.get("cameraId", None)
270
- camera_storage = self.api.storage_controller.get_camera_storage(camera_id or "")
271
-
272
- if hasattr(self.plugin, fn) and callable(getattr(self.plugin, fn)):
273
- method_to_call = getattr(self.plugin, fn)
274
-
275
- if inspect.iscoroutinefunction(method_to_call):
276
- reply["response"] = await method_to_call(*args)
277
- else:
278
- reply["response"] = method_to_call(*args)
279
- elif camera_storage and hasattr(camera_storage, fn) and callable(getattr(camera_storage, fn)):
280
- method_to_call = getattr(camera_storage, fn)
281
-
282
- if inspect.iscoroutinefunction(method_to_call):
283
- reply["response"] = await method_to_call(*args)
284
- else:
285
- reply["response"] = method_to_call(*args)
286
- else:
287
- raise Exception(f"Unknown function: {fn}")
288
- except Exception as e:
289
- deserialized_error: DeserializedError = {
290
- "name": type(e).__name__,
291
- "message": str(e),
292
- "stack": traceback.format_exc(),
293
- }
294
-
295
- reply["error"] = deserialized_error
296
-
297
- if message["timeout"] == 0:
298
- return
299
- else:
300
- await self.message_queue.enqueue(reply)
301
-
302
- async def on_worker_message(self, msg: Msg) -> None:
303
- if self.stopped:
304
- return
305
-
306
- message: ProcessMessage = unpack(msg.data)
307
-
308
- if "type" in message:
309
- if message["type"] == PLUGIN_COMMAND.START.value and "data" in message:
310
- await self.start(message["data"])
311
- elif message["type"] == PLUGIN_COMMAND.STOP.value:
312
- await self.stop()
313
-
314
- async def gracefully_close(self, signame: str, reason: Any = "unknown"):
315
- if self.stopped or self.closed:
316
- return
317
-
318
- self.closed = True
319
-
320
- self.logger.log(
321
- f"{self.display_name} is gracefully closing from signal='{signame}' reason='{reason}'..."
322
- )
323
-
324
- try:
325
- stop_task = asyncio.create_task(self.stop(), name=f"{self.display_name} Stop")
326
- await asyncio.wait_for(stop_task, timeout=2)
327
- self.force_exit()
328
- except asyncio.TimeoutError:
329
- self.logger.warn("Failed to gracefully close before timeout, force quit!")
330
- self.force_exit()
331
-
332
- def setup_signal_handlers(self):
333
- loop = asyncio.get_running_loop()
334
- loop.set_exception_handler(self.handle_exception)
335
-
336
- if sys.platform == "win32":
337
- try:
338
- from win32api import SetConsoleCtrlHandler
339
-
340
- def handler(ctrl_type: int) -> bool:
341
- if ctrl_type in (0, 1, 2): # CTRL_C_EVENT, CTRL_BREAK_EVENT, CTRL_CLOSE_EVENT
342
- asyncio.create_task(self.gracefully_close("SIGINT"))
343
- return True
344
- return False
345
-
346
- SetConsoleCtrlHandler(handler, True)
347
- except ImportError:
348
- # self.logger.warn("win32api not available, falling back to limited signal support")
349
- self.setup_limited_signal_handlers(loop)
350
-
351
- def setup_limited_signal_handlers(self, loop: AbstractEventLoop):
352
- for signame in ("SIGINT", "SIGTERM"):
353
- try: # noqa: SIM105
354
- loop.add_signal_handler(
355
- getattr(signal, signame),
356
- lambda signame=signame: asyncio.create_task(self.gracefully_close(signame)),
357
- )
358
- except NotImplementedError:
359
- # self.logger.warn(f"Signal {signame} is not supported on this platform")
360
- pass
361
-
362
- def force_exit(self):
363
- if sys.platform == "win32":
364
- # Windows-spezifisches Beenden
365
- import ctypes
366
-
367
- kernel32 = ctypes.windll.kernel32
368
- kernel32.TerminateProcess(kernel32.GetCurrentProcess(), 1)
369
- else:
370
- # Unix-basiertes Beenden
371
- os.kill(os.getpid(), signal.SIGKILL)
372
-
373
- def handle_exception(self, loop: AbstractEventLoop, context: Any):
374
- print("Exception context:", context)
375
- traceback.print_exc()
376
-
377
- msg = context.get("message", "Unknown error")
378
- exception = context.get("exception")
379
-
380
- if exception:
381
- tb_str = "".join(traceback.format_exception(type(exception), exception, exception.__traceback__)) # type: ignore
382
-
383
- self.logger.error(f"Caught exception: {msg}\n{tb_str}")
384
- else:
385
- self.logger.error(f"Caught exception: {msg}")
386
-
387
- if loop.is_running():
388
- asyncio.create_task(self.gracefully_close("uncaughtException", msg))
389
-
390
-
391
- if __name__ == "__main__":
392
- plugin_child = PluginChild()
393
- asyncio.run(plugin_child.run())
394
- # asyncio.run(plugin_child.run(), debug=True)
@@ -1,187 +0,0 @@
1
- import json
2
- import os
3
- from typing import Any, Callable, Optional
4
-
5
- from camera_ui_types import JSONValue, PluginConfig
6
- from utilities.object_path import ObjectPath, Path
7
-
8
-
9
- class PluginConfigService:
10
- def __init__(self, config_file: str):
11
- self.__config_file = config_file
12
- self.__config: PluginConfig = {}
13
- self.__init()
14
-
15
- def get(
16
- self,
17
- key: Path,
18
- default_value: Optional[JSONValue] = None,
19
- validate: Optional[Callable[[Any], bool]] = None,
20
- refresh: bool = False,
21
- write_if_not_valid: bool = False,
22
- ) -> Any:
23
- if refresh:
24
- self.__read()
25
-
26
- val = ObjectPath.get(self.__config, key, default_value)
27
-
28
- if validate and default_value is not None:
29
- is_valid = validate(val)
30
-
31
- if not is_valid:
32
- self.set(key, default_value, write_if_not_valid)
33
-
34
- return val
35
-
36
- def has(self, key: Path, refresh: bool = False) -> bool:
37
- if refresh:
38
- self.__read()
39
-
40
- return ObjectPath.has(self.__config, key)
41
-
42
- def ensure_exists(self, key: Path, default_value: JSONValue, write: bool = False) -> None:
43
- exists = self.has(key)
44
-
45
- ObjectPath.ensure_exists(self.__config, key, default_value)
46
-
47
- if write and not exists:
48
- self.__write()
49
-
50
- def set(self, key: Path, value: Any, write: bool = False) -> None:
51
- ObjectPath.set(self.__config, key, value)
52
-
53
- if write:
54
- self.__write()
55
-
56
- def insert(self, key: Path, value: Any, at: int = 0, write: bool = False) -> None:
57
- ObjectPath.insert(self.__config, key, value, at)
58
-
59
- if write:
60
- self.__write()
61
-
62
- def push(self, key: Path, write: bool = False, *items: Any) -> None:
63
- ObjectPath.push(self.__config, key, *items)
64
-
65
- if write:
66
- self.__write()
67
-
68
- def delete(self, key: Path, write: bool = False) -> None:
69
- ObjectPath.delete(self.__config, key)
70
-
71
- if write:
72
- self.__write()
73
-
74
- def all(self, refresh: bool = False) -> PluginConfig:
75
- if refresh:
76
- self.__read()
77
-
78
- return self.__config.copy()
79
-
80
- def replace(self, config: PluginConfig, write: bool = False) -> None:
81
- self.__config = config
82
-
83
- if write:
84
- self.__write()
85
-
86
- def update_value(
87
- self,
88
- path: str,
89
- search_key: str,
90
- search_value: Any,
91
- target_key: str,
92
- new_value: Any,
93
- write: bool = False,
94
- ) -> None:
95
- path_segments = path.split(".")
96
-
97
- def update_recursive(obj: Any, index: int) -> None:
98
- if index == len(path_segments):
99
- if obj.get(search_key) == search_value:
100
- obj[target_key] = new_value
101
- return
102
-
103
- current_path = path_segments[index]
104
-
105
- if isinstance(obj.get(current_path), list):
106
- for element in obj[current_path]:
107
- update_recursive(element, index + 1)
108
- elif obj.get(current_path) is not None:
109
- update_recursive(obj[current_path], index + 1)
110
-
111
- update_recursive(self.__config, 0)
112
-
113
- self.set(path_segments[0], self.__config[path_segments[0]], write)
114
-
115
- def replace_or_add_item(
116
- self,
117
- path: str,
118
- search_key: str,
119
- search_value: Any,
120
- new_item: Any,
121
- write: bool = False,
122
- ) -> None:
123
- path_segments = path.split(".")
124
-
125
- def ensure_path_exists(obj: Any, path_segments: list[str], index: int) -> None:
126
- if index >= len(path_segments):
127
- return
128
-
129
- current_path = path_segments[index]
130
-
131
- if obj.get(current_path) is None:
132
- obj[current_path] = [] if index == len(path_segments) - 1 else {}
133
-
134
- ensure_path_exists(obj[current_path], path_segments, index + 1)
135
-
136
- def find_and_replace_or_add_recursive(obj: Any, path_index: int) -> None:
137
- if isinstance(obj, list):
138
- o: list[Any] = obj
139
- for sub_obj in o:
140
- find_and_replace_or_add_recursive(sub_obj, path_index)
141
- else:
142
- current_path = path_segments[path_index]
143
- if path_index == len(path_segments) - 1:
144
- if isinstance(obj.get(current_path), list):
145
- item_index = next(
146
- (
147
- index
148
- for index, item in enumerate(obj[current_path])
149
- if item.get(search_key) == search_value
150
- ),
151
- -1,
152
- )
153
- if item_index != -1:
154
- obj[current_path][item_index] = new_item
155
- else:
156
- obj[current_path].append(new_item)
157
- elif obj.get(current_path) is not None:
158
- find_and_replace_or_add_recursive(obj[current_path], path_index + 1)
159
-
160
- ensure_path_exists(self.__config, path_segments, 0)
161
- find_and_replace_or_add_recursive(self.__config, 0)
162
-
163
- self.set(path_segments[0], self.__config[path_segments[0]], write)
164
-
165
- def __init(self) -> None:
166
- directory = os.path.dirname(self.__config_file)
167
-
168
- if not os.path.exists(directory):
169
- os.makedirs(directory)
170
-
171
- if not os.path.exists(self.__config_file):
172
- open(self.__config_file, "a").close()
173
-
174
- self.__read()
175
-
176
- def __read(self) -> None:
177
- try:
178
- with open(self.__config_file) as file:
179
- config = json.load(file)
180
- except (FileNotFoundError, json.JSONDecodeError):
181
- config = {}
182
-
183
- self.__config = config or self.__config or {}
184
-
185
- def __write(self) -> None:
186
- with open(self.__config_file, "w") as file:
187
- json.dump(self.__config, file, indent=2)
@@ -1 +0,0 @@
1
- NATS_SERVER_SUBJECT = "camera.ui-server"