camera.ui3 0.0.34-alpha.1 → 0.0.34-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 (242) hide show
  1. package/dist/interface/@tanstack.DaYhomXG.0.0.34-alpha.2.js +1 -0
  2. package/dist/interface/{@vee-validate.BYAqeMXW.0.0.34-alpha.1.js → @vee-validate.BgfhJ3tv.0.0.34-alpha.2.js} +1 -1
  3. package/dist/interface/@vue.D0DP0v6_.0.0.34-alpha.2.js +17 -0
  4. package/dist/interface/{@vueform.BsJeH1VL.0.0.34-alpha.1.js → @vueform.B9nWZDbJ.0.0.34-alpha.2.js} +1 -1
  5. package/dist/interface/{@vueuse.C89QVsKq.0.0.34-alpha.1.js → @vueuse.Di3-85fa.0.0.34-alpha.2.js} +1 -1
  6. package/dist/interface/{Account.Dl_h4WcJ.0.0.34-alpha.1.js → Account.Dt2M2G9T.0.0.34-alpha.2.js} +1 -1
  7. package/dist/interface/{Adminpanel.B2CrHAQm.0.0.34-alpha.1.js → Adminpanel.C3sidzLi.0.0.34-alpha.2.js} +2 -2
  8. package/dist/interface/{Appearance.8KGURqrg.0.0.34-alpha.1.js → Appearance.DcUS-yy7.0.0.34-alpha.2.js} +1 -1
  9. package/dist/interface/{Backup.ByUwt7pB.0.0.34-alpha.1.js → Backup.DDEr-2_6.0.0.34-alpha.2.js} +1 -1
  10. package/dist/interface/Camera.CLxaywAi.0.0.34-alpha.2.js +1 -0
  11. package/dist/interface/Cameras.CKQTl7Gl.0.0.34-alpha.2.js +1 -0
  12. package/dist/interface/Camview.BuKRBlZg.0.0.34-alpha.2.js +1 -0
  13. package/dist/interface/{Config.n7S8GG-f.0.0.34-alpha.1.js → Config.B9PNvDV2.0.0.34-alpha.2.js} +1 -1
  14. package/dist/interface/Console.DnRRAJB4.0.0.34-alpha.2.js +4 -0
  15. package/dist/interface/{FirstSteps.DBHaCFiB.0.0.34-alpha.1.js → FirstSteps.YGowg836.0.0.34-alpha.2.js} +1 -1
  16. package/dist/interface/{NewCamera.DXZTbw6t.0.0.34-alpha.1.js → NewCamera.fxgE3DwM.0.0.34-alpha.2.js} +2 -2
  17. package/dist/interface/Plugin.CKc5qj6D.0.0.34-alpha.2.js +1 -0
  18. package/dist/interface/Plugins.DjzGLIs2.0.0.34-alpha.2.js +1 -0
  19. package/dist/interface/Recordings.MD4_BOBv.0.0.34-alpha.2.js +1 -0
  20. package/dist/interface/Recordings.jFnATBbC.0.0.34-alpha.2.js +1 -0
  21. package/dist/interface/{Settings.Brji5kRj.0.0.34-alpha.1.js → Settings.CNd6al6p.0.0.34-alpha.2.js} +1 -1
  22. package/dist/interface/{System.DYvfAoEM.0.0.34-alpha.1.js → System.BjAkow0D.0.0.34-alpha.2.js} +1 -1
  23. package/dist/interface/{User.Mr1DinvX.0.0.34-alpha.1.js → User.BtpdbtGz.0.0.34-alpha.2.js} +1 -1
  24. package/dist/interface/{VConfigEditor.vue_vue_type_script_setup_true_lang.DaPxq8EI.0.0.34-alpha.1.js → VConfigEditor.vue_vue_type_script_setup_true_lang.DYl7B603.0.0.34-alpha.2.js} +2 -2
  25. package/dist/interface/{VConsole.sVPWAfNY.0.0.34-alpha.1.js → VConsole.BA0SOrQC.0.0.34-alpha.2.js} +1 -1
  26. package/dist/interface/VPlayer.CSx272u1.0.0.34-alpha.2.js +4 -0
  27. package/dist/interface/VPluginCard.Bump1l-o.0.0.34-alpha.2.js +4 -0
  28. package/dist/interface/{ace-builds.Cnj3uJ-i.0.0.34-alpha.1.js → ace-builds.CRQWwDGY.0.0.34-alpha.2.js} +1 -1
  29. package/dist/interface/{apexcharts.CMLplPnj.0.0.34-alpha.1.js → apexcharts.DXGZ805q.0.0.34-alpha.2.js} +1 -1
  30. package/dist/interface/assets/Cameras.0.0.34-alpha.2.CF0l3cIy.css +1 -0
  31. package/dist/interface/assets/Console.0.0.34-alpha.2.DJvMOm8N.css +1 -0
  32. package/dist/interface/assets/{VPlayer.0.0.34-alpha.1.DmbaAA_3.css → VPlayer.0.0.34-alpha.2.Pcy9j9b5.css} +1 -1
  33. package/dist/interface/assets/VPluginCard.0.0.34-alpha.2.W0BxyDkV.css +1 -0
  34. package/dist/interface/assets/main.0.0.34-alpha.2.D6i_pncP.css +1 -0
  35. package/dist/interface/{dnd-core.DXuprW1u.0.0.34-alpha.1.js → dnd-core.CsRU4im_.0.0.34-alpha.2.js} +1 -1
  36. package/dist/interface/{draggabilly.B4gt8cuQ.0.0.34-alpha.1.js → draggabilly.l2s5eYjI.0.0.34-alpha.2.js} +1 -1
  37. package/dist/interface/{engine.io-client.C6Wzx_jT.0.0.34-alpha.1.js → engine.io-client.Dwbs-ZkK.0.0.34-alpha.2.js} +1 -1
  38. package/dist/interface/{ev-emitter.CCoflQaJ.0.0.34-alpha.1.js → ev-emitter.DepL03rS.0.0.34-alpha.2.js} +1 -1
  39. package/dist/interface/{fast-deep-equal.A6REbYuf.0.0.34-alpha.1.js → fast-deep-equal.CmcaBmI9.0.0.34-alpha.2.js} +1 -1
  40. package/dist/interface/{highlight.js.ChQi-SWt.0.0.34-alpha.1.js → highlight.js.DZ1tIawt.0.0.34-alpha.2.js} +1 -1
  41. package/dist/interface/index.html +31 -31
  42. package/dist/interface/{linkify-it.V_1DZtim.0.0.34-alpha.1.js → linkify-it.BGRcCXsE.0.0.34-alpha.2.js} +1 -1
  43. package/dist/interface/main.CHr8NDgU.0.0.34-alpha.2.js +5 -0
  44. package/dist/interface/{markdown-it.BSp5IUES.0.0.34-alpha.1.js → markdown-it.BuMckFhq.0.0.34-alpha.2.js} +1 -1
  45. package/dist/interface/{nprogress.BMn57QX7.0.0.34-alpha.1.js → nprogress.CKm3qYbh.0.0.34-alpha.2.js} +1 -1
  46. package/dist/interface/{pinia.C5B5h5W-.0.0.34-alpha.1.js → pinia.CgXasWeS.0.0.34-alpha.2.js} +1 -1
  47. package/dist/interface/plugins.OB3Qt6a7.0.0.34-alpha.2.js +1 -0
  48. package/dist/interface/{qrcode.CoLGEQa3.0.0.34-alpha.1.js → qrcode.xTmFSDRr.0.0.34-alpha.2.js} +1 -1
  49. package/dist/interface/{react-dnd-touch-backend.CC-llxq1.0.0.34-alpha.1.js → react-dnd-touch-backend.pfTbNVbd.0.0.34-alpha.2.js} +1 -1
  50. package/dist/interface/{rxjs.DhS72WZW.0.0.34-alpha.1.js → rxjs.D38gERkL.0.0.34-alpha.2.js} +1 -1
  51. package/dist/interface/{socket.io-client.DA70sIzA.0.0.34-alpha.1.js → socket.io-client.DyznceoQ.0.0.34-alpha.2.js} +1 -1
  52. package/dist/interface/{socket.io-parser.Lr_NuxFX.0.0.34-alpha.1.js → socket.io-parser.DxT7zcFX.0.0.34-alpha.2.js} +1 -1
  53. package/dist/interface/sw.js +1 -1
  54. package/dist/interface/system.DZXlNuRR.0.0.34-alpha.2.js +1 -0
  55. package/dist/interface/{unidragger.B5ZpJ0o9.0.0.34-alpha.1.js → unidragger.D0z7py8V.0.0.34-alpha.2.js} +1 -1
  56. package/dist/interface/{v-calendar.BP5jhivB.0.0.34-alpha.1.js → v-calendar.B8iX5lRb.0.0.34-alpha.2.js} +1 -1
  57. package/dist/interface/{vee-validate.dtT7hUg2.0.0.34-alpha.1.js → vee-validate.DKbtKMvz.0.0.34-alpha.2.js} +1 -1
  58. package/dist/interface/{vue-i18n.CISOas5G.0.0.34-alpha.1.js → vue-i18n.BH1Ai61X.0.0.34-alpha.2.js} +1 -1
  59. package/dist/interface/{vue-inline-svg.DY4V2SdK.0.0.34-alpha.1.js → vue-inline-svg.DuJxxmO_.0.0.34-alpha.2.js} +1 -1
  60. package/dist/interface/{vue-router.CA6UHABl.0.0.34-alpha.1.js → vue-router.C0Bd386U.0.0.34-alpha.2.js} +1 -1
  61. package/dist/interface/{vue3-apexcharts.D_2v4auN.0.0.34-alpha.1.js → vue3-apexcharts.BvLojs3t.0.0.34-alpha.2.js} +1 -1
  62. package/dist/interface/{vue3-dnd.CcvZ77YQ.0.0.34-alpha.1.js → vue3-dnd.DMur3pq_.0.0.34-alpha.2.js} +1 -1
  63. package/dist/interface/{vue3-toastify.BnsRFQgq.0.0.34-alpha.1.js → vue3-toastify.CQn1aNYZ.0.0.34-alpha.2.js} +1 -1
  64. package/dist/interface/vuetify.BawD4IXx.0.0.34-alpha.2.js +5 -0
  65. package/dist/server/bin/cameraui.d.ts +3 -2
  66. package/dist/server/bin/cameraui.js +59 -76
  67. package/dist/server/bin/cameraui.js.map +1 -1
  68. package/dist/server/bin/fork.js +1 -4
  69. package/dist/server/bin/fork.js.map +1 -1
  70. package/dist/server/bin/installer/win32.js +3 -3
  71. package/dist/server/bin/installer/win32.js.map +1 -1
  72. package/dist/server/bin/logger.d.ts +3 -2
  73. package/dist/server/bin/logger.js +33 -20
  74. package/dist/server/bin/logger.js.map +1 -1
  75. package/dist/server/package.json +15 -11
  76. package/dist/server/requirements.txt +3 -2
  77. package/dist/server/src/api/controllers/cameras.controller.d.ts +2 -0
  78. package/dist/server/src/api/controllers/cameras.controller.js +67 -11
  79. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  80. package/dist/server/src/api/controllers/frameWorkers.controller.d.ts +1 -1
  81. package/dist/server/src/api/controllers/frameWorkers.controller.js +14 -6
  82. package/dist/server/src/api/controllers/frameWorkers.controller.js.map +1 -1
  83. package/dist/server/src/api/controllers/plugins.controller.d.ts +2 -0
  84. package/dist/server/src/api/controllers/plugins.controller.js +61 -2
  85. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  86. package/dist/server/src/api/controllers/system.controller.d.ts +2 -2
  87. package/dist/server/src/api/controllers/system.controller.js +18 -40
  88. package/dist/server/src/api/controllers/system.controller.js.map +1 -1
  89. package/dist/server/src/api/database/checks.d.ts +55 -0
  90. package/dist/server/src/api/database/checks.js +183 -0
  91. package/dist/server/src/api/database/checks.js.map +1 -0
  92. package/dist/server/src/api/database/index.d.ts +2 -1
  93. package/dist/server/src/api/database/index.js +6 -2
  94. package/dist/server/src/api/database/index.js.map +1 -1
  95. package/dist/server/src/api/database/migration.d.ts +1 -0
  96. package/dist/server/src/api/database/migration.js +17 -0
  97. package/dist/server/src/api/database/migration.js.map +1 -1
  98. package/dist/server/src/api/database/selfcheck.d.ts +48 -0
  99. package/dist/server/src/api/database/selfcheck.js +398 -0
  100. package/dist/server/src/api/database/selfcheck.js.map +1 -0
  101. package/dist/server/src/api/routes/cameras.routes.js +12 -0
  102. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  103. package/dist/server/src/api/routes/plugins.routes.js +24 -0
  104. package/dist/server/src/api/routes/plugins.routes.js.map +1 -1
  105. package/dist/server/src/api/schemas/cameras.schema.d.ts +13 -13
  106. package/dist/server/src/api/schemas/cameras.schema.js +2 -2
  107. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  108. package/dist/server/src/api/services/cameras.service.d.ts +1 -0
  109. package/dist/server/src/api/services/cameras.service.js +13 -2
  110. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  111. package/dist/server/src/api/services/plugins.service.d.ts +1 -0
  112. package/dist/server/src/api/services/plugins.service.js +8 -3
  113. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  114. package/dist/server/src/api/types/index.d.ts +0 -5
  115. package/dist/server/src/api/websocket/index.js +1 -0
  116. package/dist/server/src/api/websocket/index.js.map +1 -1
  117. package/dist/server/src/api/websocket/nsp/logs.d.ts +7 -1
  118. package/dist/server/src/api/websocket/nsp/logs.js +70 -51
  119. package/dist/server/src/api/websocket/nsp/logs.js.map +1 -1
  120. package/dist/server/src/api/websocket/nsp/metrics.d.ts +1 -1
  121. package/dist/server/src/api/websocket/nsp/metrics.js +15 -13
  122. package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
  123. package/dist/server/src/api/websocket/nsp/plugins.js +3 -3
  124. package/dist/server/src/api/websocket/nsp/plugins.js.map +1 -1
  125. package/dist/server/src/api/websocket/nsp/status.d.ts +1 -1
  126. package/dist/server/src/api/websocket/nsp/status.js +8 -6
  127. package/dist/server/src/api/websocket/nsp/status.js.map +1 -1
  128. package/dist/server/src/api.d.ts +5 -14
  129. package/dist/server/src/api.js +43 -24
  130. package/dist/server/src/api.js.map +1 -1
  131. package/dist/server/src/camera/controller.d.ts +16 -3
  132. package/dist/server/src/camera/controller.js +105 -17
  133. package/dist/server/src/camera/controller.js.map +1 -1
  134. package/dist/server/src/{decoder/worker.d.ts → camera/frameWorker.d.ts} +8 -5
  135. package/dist/server/src/{decoder/worker.js → camera/frameWorker.js} +124 -50
  136. package/dist/server/src/camera/frameWorker.js.map +1 -0
  137. package/dist/server/src/go2rtc/index.js +18 -5
  138. package/dist/server/src/go2rtc/index.js.map +1 -1
  139. package/dist/server/src/main.js +23 -51
  140. package/dist/server/src/main.js.map +1 -1
  141. package/dist/server/src/nats/index.js +1 -0
  142. package/dist/server/src/nats/index.js.map +1 -1
  143. package/dist/server/src/nats/proxy/cameraDevice.js +34 -42
  144. package/dist/server/src/nats/proxy/cameraDevice.js.map +1 -1
  145. package/dist/server/src/nats/server.js +29 -18
  146. package/dist/server/src/nats/server.js.map +1 -1
  147. package/dist/server/src/plugins/index.d.ts +2 -4
  148. package/dist/server/src/plugins/index.js +22 -29
  149. package/dist/server/src/plugins/index.js.map +1 -1
  150. package/dist/server/src/plugins/plugin.d.ts +5 -0
  151. package/dist/server/src/plugins/plugin.js +40 -6
  152. package/dist/server/src/plugins/plugin.js.map +1 -1
  153. package/dist/server/src/plugins/worker.d.ts +16 -2
  154. package/dist/server/src/plugins/worker.js +180 -40
  155. package/dist/server/src/plugins/worker.js.map +1 -1
  156. package/dist/server/src/services/config/constants.d.ts +1 -0
  157. package/dist/server/src/services/config/constants.js +3 -2
  158. package/dist/server/src/services/config/constants.js.map +1 -1
  159. package/dist/server/src/services/config/index.d.ts +11 -2
  160. package/dist/server/src/services/config/index.js +53 -6
  161. package/dist/server/src/services/config/index.js.map +1 -1
  162. package/dist/server/src/services/config/types.d.ts +7 -0
  163. package/dist/server/src/services/config/types.js.map +1 -1
  164. package/localdeps.txt +1 -0
  165. package/package.json +15 -11
  166. package/dist/interface/@tanstack.CxmCad5b.0.0.34-alpha.1.js +0 -1
  167. package/dist/interface/@vue.DNK0rzTJ.0.0.34-alpha.1.js +0 -17
  168. package/dist/interface/Camera.DdT22vMP.0.0.34-alpha.1.js +0 -1
  169. package/dist/interface/Cameras.BsZY_8-0.0.0.34-alpha.1.js +0 -1
  170. package/dist/interface/Camview.BgyUqS9_.0.0.34-alpha.1.js +0 -1
  171. package/dist/interface/Console.C5qRkDn7.0.0.34-alpha.1.js +0 -4
  172. package/dist/interface/Plugin.9gJauF_V.0.0.34-alpha.1.js +0 -1
  173. package/dist/interface/Plugins.Ek1Yocg_.0.0.34-alpha.1.js +0 -1
  174. package/dist/interface/Recordings.BIdhE95Q.0.0.34-alpha.1.js +0 -1
  175. package/dist/interface/Recordings.DVu_tzMT.0.0.34-alpha.1.js +0 -1
  176. package/dist/interface/VPlayer.DlJrYynC.0.0.34-alpha.1.js +0 -1
  177. package/dist/interface/VPluginCard.BXrvS7zB.0.0.34-alpha.1.js +0 -4
  178. package/dist/interface/assets/Cameras.0.0.34-alpha.1.BgZN27ly.css +0 -1
  179. package/dist/interface/assets/Console.0.0.34-alpha.1.Cjiivzet.css +0 -1
  180. package/dist/interface/assets/VPluginCard.0.0.34-alpha.1.BpMChOJT.css +0 -1
  181. package/dist/interface/assets/main.0.0.34-alpha.1.Degnpyky.css +0 -1
  182. package/dist/interface/main.bKEuHXmK.0.0.34-alpha.1.js +0 -5
  183. package/dist/interface/plugins.BbNP66vO.0.0.34-alpha.1.js +0 -1
  184. package/dist/interface/system.BkLh9FNA.0.0.34-alpha.1.js +0 -1
  185. package/dist/interface/vuetify.DiAVhTT5.0.0.34-alpha.1.js +0 -5
  186. package/dist/server/src/decoder/index.d.ts +0 -11
  187. package/dist/server/src/decoder/index.js +0 -32
  188. package/dist/server/src/decoder/index.js.map +0 -1
  189. package/dist/server/src/decoder/types.d.ts +0 -7
  190. package/dist/server/src/decoder/types.js +0 -2
  191. package/dist/server/src/decoder/types.js.map +0 -1
  192. package/dist/server/src/decoder/worker.js.map +0 -1
  193. /package/dist/interface/{@babel.l0sNRNKZ.0.0.34-alpha.1.js → @babel.l0sNRNKZ.0.0.34-alpha.2.js} +0 -0
  194. /package/dist/interface/{@intlify.sEJX3RNi.0.0.34-alpha.1.js → @intlify.sEJX3RNi.0.0.34-alpha.2.js} +0 -0
  195. /package/dist/interface/{@mdi.C1UTQKuc.0.0.34-alpha.1.js → @mdi.C1UTQKuc.0.0.34-alpha.2.js} +0 -0
  196. /package/dist/interface/{@popperjs.l0sNRNKZ.0.0.34-alpha.1.js → @popperjs.l0sNRNKZ.0.0.34-alpha.2.js} +0 -0
  197. /package/dist/interface/{@react-dnd.CcwRs9xb.0.0.34-alpha.1.js → @react-dnd.CcwRs9xb.0.0.34-alpha.2.js} +0 -0
  198. /package/dist/interface/{@socket.io.Dkula2eQ.0.0.34-alpha.1.js → @socket.io.Dkula2eQ.0.0.34-alpha.2.js} +0 -0
  199. /package/dist/interface/{@turf.l0sNRNKZ.0.0.34-alpha.1.js → @turf.l0sNRNKZ.0.0.34-alpha.2.js} +0 -0
  200. /package/dist/interface/{@xterm.CEvrn8WJ.0.0.34-alpha.1.js → @xterm.Dv6b8EJg.0.0.34-alpha.2.js} +0 -0
  201. /package/dist/interface/assets/{@vueform.0.0.34-alpha.1.h7tNX9p6.css → @vueform.0.0.34-alpha.2.h7tNX9p6.css} +0 -0
  202. /package/dist/interface/assets/{@xterm.0.0.34-alpha.1.CGrrDQr5.css → @xterm.0.0.34-alpha.2.CGrrDQr5.css} +0 -0
  203. /package/dist/interface/assets/{Account.0.0.34-alpha.1.Ce3OmKrC.css → Account.0.0.34-alpha.2.Ce3OmKrC.css} +0 -0
  204. /package/dist/interface/assets/{Adminpanel.0.0.34-alpha.1.BCpVV7QL.css → Adminpanel.0.0.34-alpha.2.BCpVV7QL.css} +0 -0
  205. /package/dist/interface/assets/{Backup.0.0.34-alpha.1.BIwaSlv3.css → Backup.0.0.34-alpha.2.BIwaSlv3.css} +0 -0
  206. /package/dist/interface/assets/{Camera.0.0.34-alpha.1.D49XscoW.css → Camera.0.0.34-alpha.2.D49XscoW.css} +0 -0
  207. /package/dist/interface/assets/{Camview.0.0.34-alpha.1.BdTE1Iny.css → Camview.0.0.34-alpha.2.BdTE1Iny.css} +0 -0
  208. /package/dist/interface/assets/{Config.0.0.34-alpha.1.BtdZEuQO.css → Config.0.0.34-alpha.2.BtdZEuQO.css} +0 -0
  209. /package/dist/interface/assets/{FirstSteps.0.0.34-alpha.1.CCo2y-sU.css → FirstSteps.0.0.34-alpha.2.CCo2y-sU.css} +0 -0
  210. /package/dist/interface/assets/{NewCamera.0.0.34-alpha.1.W16dakdJ.css → NewCamera.0.0.34-alpha.2.W16dakdJ.css} +0 -0
  211. /package/dist/interface/assets/{Plugin.0.0.34-alpha.1.BtRA6zDt.css → Plugin.0.0.34-alpha.2.BtRA6zDt.css} +0 -0
  212. /package/dist/interface/assets/{Plugins.0.0.34-alpha.1.Cwu0aGUO.css → Plugins.0.0.34-alpha.2.Cwu0aGUO.css} +0 -0
  213. /package/dist/interface/assets/{Settings.0.0.34-alpha.1.DTRm1psP.css → Settings.0.0.34-alpha.2.DTRm1psP.css} +0 -0
  214. /package/dist/interface/assets/{User.0.0.34-alpha.1.DPDcJbx8.css → User.0.0.34-alpha.2.DPDcJbx8.css} +0 -0
  215. /package/dist/interface/assets/{VConsole.0.0.34-alpha.1.e0RL6-05.css → VConsole.0.0.34-alpha.2.e0RL6-05.css} +0 -0
  216. /package/dist/interface/assets/{highlight.0.0.34-alpha.1.DgoK_Xib.css → highlight.0.0.34-alpha.2.DgoK_Xib.css} +0 -0
  217. /package/dist/interface/assets/{logo-256.0.0.34-alpha.1.BCQk9H1-.png → logo-256.0.0.34-alpha.2.BCQk9H1-.png} +0 -0
  218. /package/dist/interface/assets/{logo-512.0.0.34-alpha.1.DLKVOU2S.png → logo-512.0.0.34-alpha.2.DLKVOU2S.png} +0 -0
  219. /package/dist/interface/assets/{logo.0.0.34-alpha.1.DmEiRk0z.png → logo.0.0.34-alpha.2.DmEiRk0z.png} +0 -0
  220. /package/dist/interface/assets/{mode-json.0.0.34-alpha.1.Br7xisR1.js → mode-json.0.0.34-alpha.2.Br7xisR1.js} +0 -0
  221. /package/dist/interface/assets/{mode-yaml.0.0.34-alpha.1.CIYL8U3d.js → mode-yaml.0.0.34-alpha.2.CIYL8U3d.js} +0 -0
  222. /package/dist/interface/assets/{vue3-toastify.0.0.34-alpha.1.DTY1DMRs.css → vue3-toastify.0.0.34-alpha.2.DTY1DMRs.css} +0 -0
  223. /package/dist/interface/assets/{vuetify.0.0.34-alpha.1.B_k2Rcut.css → vuetify.0.0.34-alpha.2.B_k2Rcut.css} +0 -0
  224. /package/dist/interface/{axios.C-n2IhIP.0.0.34-alpha.1.js → axios.C-n2IhIP.0.0.34-alpha.2.js} +0 -0
  225. /package/dist/interface/{compare-versions.DqEOhma6.0.0.34-alpha.1.js → compare-versions.DqEOhma6.0.0.34-alpha.2.js} +0 -0
  226. /package/dist/interface/{dijkstrajs.D_NXgYpA.0.0.34-alpha.1.js → dijkstrajs.D_NXgYpA.0.0.34-alpha.2.js} +0 -0
  227. /package/dist/interface/{engine.io-parser.BiEtp6m2.0.0.34-alpha.1.js → engine.io-parser.BiEtp6m2.0.0.34-alpha.2.js} +0 -0
  228. /package/dist/interface/{entities.C20TfXL6.0.0.34-alpha.1.js → entities.C20TfXL6.0.0.34-alpha.2.js} +0 -0
  229. /package/dist/interface/{get-size.D1dS-IaP.0.0.34-alpha.1.js → get-size.D1dS-IaP.0.0.34-alpha.2.js} +0 -0
  230. /package/dist/interface/{mdurl.k9Sl0PQj.0.0.34-alpha.1.js → mdurl.k9Sl0PQj.0.0.34-alpha.2.js} +0 -0
  231. /package/dist/interface/{point-in-polygon-hao.l0sNRNKZ.0.0.34-alpha.1.js → point-in-polygon-hao.l0sNRNKZ.0.0.34-alpha.2.js} +0 -0
  232. /package/dist/interface/{punycode.js.Dj65hjkv.0.0.34-alpha.1.js → punycode.js.Dj65hjkv.0.0.34-alpha.2.js} +0 -0
  233. /package/dist/interface/{react-dnd-html5-backend.1HQjlkwI.0.0.34-alpha.1.js → react-dnd-html5-backend.1HQjlkwI.0.0.34-alpha.2.js} +0 -0
  234. /package/dist/interface/{redux.CuxFRhX_.0.0.34-alpha.1.js → redux.CuxFRhX_.0.0.34-alpha.2.js} +0 -0
  235. /package/dist/interface/{sweepline-intersections.l0sNRNKZ.0.0.34-alpha.1.js → sweepline-intersections.l0sNRNKZ.0.0.34-alpha.2.js} +0 -0
  236. /package/dist/interface/{tslib.9k7AwCpt.0.0.34-alpha.1.js → tslib.9k7AwCpt.0.0.34-alpha.2.js} +0 -0
  237. /package/dist/interface/{types.Cz9TaZAP.0.0.34-alpha.1.js → types.Cz9TaZAP.0.0.34-alpha.2.js} +0 -0
  238. /package/dist/interface/{uc.micro.kMc2yuuw.0.0.34-alpha.1.js → uc.micro.kMc2yuuw.0.0.34-alpha.2.js} +0 -0
  239. /package/dist/interface/{utils.mAKpSMLY.0.0.34-alpha.1.js → utils.mAKpSMLY.0.0.34-alpha.2.js} +0 -0
  240. /package/dist/interface/{uuid.DvF23Exx.0.0.34-alpha.1.js → uuid.DvF23Exx.0.0.34-alpha.2.js} +0 -0
  241. /package/dist/interface/{vue.l0sNRNKZ.0.0.34-alpha.1.js → vue.l0sNRNKZ.0.0.34-alpha.2.js} +0 -0
  242. /package/dist/interface/{zod.DnW1_kUe.0.0.34-alpha.1.js → zod.DnW1_kUe.0.0.34-alpha.2.js} +0 -0
@@ -6,6 +6,7 @@ import { join } from 'node:path';
6
6
  import { container } from 'tsyringe';
7
7
  import { ConfigService } from '../services/config/index.js';
8
8
  import { PluginManager } from './index.js';
9
+ import { PluginWorker } from './worker.js';
9
10
  export class Plugin {
10
11
  logger;
11
12
  configService;
@@ -24,6 +25,8 @@ export class Plugin {
24
25
  configFile;
25
26
  storagePath;
26
27
  py;
28
+ logPath;
29
+ worker;
27
30
  get contract() {
28
31
  return this._contract;
29
32
  }
@@ -41,6 +44,17 @@ export class Plugin {
41
44
  set disabled(value) {
42
45
  this._disabled = value;
43
46
  this._info.disabled = value;
47
+ this.worker.disable();
48
+ }
49
+ get type() {
50
+ const types = new Set();
51
+ if (this._contract.builtIns) {
52
+ this._contract.builtIns.forEach((type) => types.add(type));
53
+ }
54
+ if (this._contract.extension) {
55
+ types.add(this._contract.extension);
56
+ }
57
+ return Array.from(types);
44
58
  }
45
59
  constructor(pluginName, installPath, packageJSON, pluginId, scope) {
46
60
  this.logger = container.resolve('logger');
@@ -50,6 +64,7 @@ export class Plugin {
50
64
  this.id = pluginId;
51
65
  this.pluginName = pluginName;
52
66
  this.storagePath = join(this.configService.PLUGINS_STORAGE_PATH, this.pluginName);
67
+ this.logPath = join(this.configService.LOGS_PATH, `plugin-${this.id}.log`);
53
68
  this.configFile = join(this.storagePath, 'config.json');
54
69
  ensureFileSync(this.configFile);
55
70
  this.main = this.getMainFile(packageJSON);
@@ -63,6 +78,8 @@ export class Plugin {
63
78
  engines: packageJSON.engines,
64
79
  dependencies: packageJSON.dependencies,
65
80
  };
81
+ this.worker = new PluginWorker(this);
82
+ this.disabled = this.configService.config.plugins.disabledPlugins.includes(pluginName);
66
83
  }
67
84
  async load() {
68
85
  if (!this.loadContext.engines || !this.loadContext.engines['camera.ui']) {
@@ -124,13 +141,30 @@ major incompatibility issues and thus is considered bad practice. Please inform
124
141
  contract.pythonVersion = DEFAULT_PY_VERSION;
125
142
  }
126
143
  }
127
- return {
128
- builtIns: contract?.builtIns ? Array.from(new Set(contract.builtIns)) : [],
129
- dependencies: contract?.dependencies ? Array.from(new Set(contract.dependencies)) : [],
130
- supportAdditionalCameras: contract && contract.supportAdditionalCameras && !contract.extension && contract.builtIns?.length ? true : false,
131
- extension: contract && contract.extension && !contract.supportAdditionalCameras ? contract.extension : undefined,
132
- pythonVersion: contract?.pythonVersion,
144
+ const builtIns = contract?.builtIns ? Array.from(new Set(contract.builtIns)) : [];
145
+ const dependencies = contract?.dependencies ? Array.from(new Set(contract.dependencies)) : [];
146
+ const supportAdditionalCameras = contract && contract.supportAdditionalCameras && !contract.extension && builtIns?.length ? true : false;
147
+ const extension = contract && contract.extension && !contract.supportAdditionalCameras ? contract.extension : undefined;
148
+ const pythonVersion = contract?.pythonVersion;
149
+ const options = contract?.options;
150
+ const newContract = {
151
+ builtIns,
152
+ dependencies,
153
+ options,
154
+ pythonVersion,
133
155
  };
156
+ if (supportAdditionalCameras) {
157
+ return {
158
+ supportAdditionalCameras,
159
+ ...newContract,
160
+ };
161
+ }
162
+ else {
163
+ return {
164
+ extension,
165
+ ...newContract,
166
+ };
167
+ }
134
168
  }
135
169
  getMainFile(packageJSON) {
136
170
  let main = '';
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/plugins/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAC3E,OAAO,eAAe,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAO3C,MAAM,OAAO,MAAM;IACT,MAAM,CAAgB;IACtB,aAAa,CAAgB;IAE7B,SAAS,GAAG,KAAK,CAAC;IAClB,KAAK,CAAiB;IACtB,SAAS,CAAiB;IAC1B,WAAW,CAAU;IAEpB,EAAE,CAAS;IACX,IAAI,CAAS;IACb,UAAU,CAAS;IACnB,WAAW,CAAS;IACpB,KAAK,CAAU;IACf,QAAQ,CAAU;IAClB,SAAS,CAAU;IACnB,WAAW,CAAS;IACpB,UAAU,CAAS;IACnB,WAAW,CAAS;IACpB,EAAE,CAAkB;IAE7B,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,IAAI;QACb,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACpC,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,IAAW,IAAI,CAAC,KAAqB;QACnC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IACtC,CAAC;IAED,IAAW,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,IAAW,QAAQ,CAAC,KAAc;QAChC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;QACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,GAAG,KAAK,CAAC;IAC9B,CAAC;IAED,YAAY,UAAkB,EAAE,WAAmB,EAAE,WAAyB,EAAE,QAAgB,EAAE,KAAc;QAC9G,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC,OAAO,CAAgB,QAAQ,CAAC,CAAC;QACzD,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC,OAAO,CAAgB,eAAe,CAAC,CAAC;QAEvE,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;QACrC,IAAI,CAAC,EAAE,GAAG,QAAQ,CAAC;QACnB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,oBAAoB,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;QAElF,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACxD,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAEhC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,cAAc,EAAE,CAAC;QAE9D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC7D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;QAEjD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC;QACzC,IAAI,CAAC,EAAE,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,CAAC;QAEhK,IAAI,CAAC,WAAW,GAAG;YACjB,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,YAAY,EAAE,WAAW,CAAC,YAAY;SACvC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,IAAI;QACf,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,UAAU,IAAI,CAAC,WAAW,yDAAyD,CAAC,CAAC;QACvG,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAC9D,MAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;QAE1D,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YACzH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,UAAU,qCAAqC,eAAe;+CAC1D,aAAa,CAAC,OAAO,oDAAoD,CAAC,CAAC;YACpH,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACpC,CAAC;QAED,IAAI,mBAAmB,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC;YACvH,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,UAAU,iCAAiC,mBAAmB;6CAC5D,OAAO,CAAC,OAAO,wDAAwD,CAAC,CAAC;QAClH,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,IAAI,EAAE,CAAC;QACzD,IAAI,YAAY,CAAC,WAAW,CAAC,EAAE,CAAC;YAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,eAAe,IAAI,CAAC,UAAU;;sHAEgE,CAAC,CAAC;QACpH,CAAC;IACH,CAAC;IAEM,kBAAkB;QACvB,MAAM,KAAK,GAAG,aAAa,CAAC,eAAe,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IAC7C,CAAC;IAEO,gBAAgB,CAAC,KAAmB,EAAE,WAAmB;QAC/D,MAAM,iBAAiB,GAAmB;YACxC,EAAE,EAAE,IAAI,CAAC,EAAE;YACX,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK;YAC9F,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK;YAC/B,UAAU,EAAE,KAAK,CAAC,IAAI;YACtB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,aAAa,CAAC,mBAAmB,CAAC,KAAK,CAAC,IAAI,CAAC;YAC/E,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YACxG,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI;YACjH,gBAAgB,EAAE,KAAK,CAAC,OAAO;YAC/B,aAAa,EAAE,KAAK,CAAC,OAAO;YAC5B,aAAa,EAAE,KAAK;YACpB,aAAa,EAAE,KAAK,CAAC,OAAO,IAAI,KAAK;YACrC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,WAAW;YACX,KAAK,EAAE;gBACL,GAAG,EAAE,iCAAiC,IAAI,CAAC,UAAU,EAAE;gBACvD,QAAQ,EAAE,KAAK,CAAC,QAAQ;aACzB;YACD,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,MAAM,EAAE,CAAC,IAAI,CAAC,QAAQ;YACtB,WAAW,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC;SACvC,CAAC;QAEF,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAEO,aAAa,CAAC,KAAmB;QACvC,MAAM,QAAQ,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;QAEpC,IAAI,QAAQ,EAAE,aAAa,EAAE,CAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,QAAQ,CAAC,aAAa,4CAA4C,kBAAkB,eAAe,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;gBACzJ,QAAQ,CAAC,aAAa,GAAG,kBAAkB,CAAC;YAC9C,CAAC;QACH,CAAC;QAED,OAAO;YACL,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YAC1E,YAAY,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;YACtF,wBAAwB,EAAE,QAAQ,IAAI,QAAQ,CAAC,wBAAwB,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK;YAC1I,SAAS,EAAE,QAAQ,IAAI,QAAQ,CAAC,SAAS,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;YAChH,aAAa,EAAE,QAAQ,EAAE,aAAa;SACrB,CAAC;IACtB,CAAC;IAEO,WAAW,CAAC,WAAyB;QAC3C,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACxB,IAAI,OAAO,WAAW,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;gBAC5C,IAAI,GAAG,WAAW,CAAC,OAAO,CAAC;YAC7B,CAAC;iBAAM,CAAC;gBACN,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,IAAI,WAAW,CAAC,OAAO,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,IAAI,WAAW,CAAC,OAAO,CAAC,OAAO,IAAI,WAAW,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;gBAEjK,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAChC,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;wBACnB,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;oBACxB,CAAC;yBAAM,CAAC;wBACN,IAAI,GAAG,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;oBAC5D,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG,OAAO,CAAC;gBACjB,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,IAAI,WAAW,CAAC,IAAI,IAAI,YAAY,CAAC;IAClD,CAAC;CACF"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../../src/plugins/plugin.ts"],"names":[],"mappings":"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"}
@@ -4,8 +4,11 @@ export declare class PluginWorker {
4
4
  plugin: Plugin;
5
5
  private pluginWorker?;
6
6
  private proxyServer;
7
+ private logStream?;
7
8
  private api;
8
- private logger;
9
+ private mainLogger;
10
+ private pluginLogger;
11
+ private processLogger;
9
12
  private configService;
10
13
  private socketService;
11
14
  private pluginManager;
@@ -15,16 +18,20 @@ export declare class PluginWorker {
15
18
  private targetSubject;
16
19
  private started;
17
20
  private shuttingDown;
21
+ private truncateInterval?;
22
+ private truncateIntervalMs;
18
23
  private _status;
19
24
  get status(): PLUGIN_STATUS;
20
25
  constructor(plugin: Plugin);
21
26
  start(): Promise<void>;
22
27
  teardown(): Promise<void>;
23
- destroy(): void;
28
+ destroy(): Promise<void>;
24
29
  restart(): Promise<void>;
30
+ disable(): void;
25
31
  getPID(): number;
26
32
  isRunning(): boolean;
27
33
  isReady(): boolean;
34
+ cleanup(): Promise<void>;
28
35
  private gatherDevices;
29
36
  private kill;
30
37
  private setStatus;
@@ -33,5 +40,12 @@ export declare class PluginWorker {
33
40
  private reset;
34
41
  private updatePython;
35
42
  private onChildMessage;
43
+ private createPythonPath;
44
+ writeLog(...args: any[]): void;
45
+ private internalLog;
46
+ private createLogStream;
47
+ private closeLogStream;
48
+ private removeLogStream;
49
+ private truncateLog;
36
50
  private cleanedProcessEnv;
37
51
  }
@@ -1,18 +1,27 @@
1
1
  import { sleep } from '@camera.ui/common';
2
2
  import { DEFAULT_PY_VERSION, PLUGIN_COMMAND, PLUGIN_STATUS, ProxyConnection, unpack } from '@camera.ui/plugineer';
3
3
  import { nodePluginPath, pythonPath, pythonPluginPath } from '@camera.ui/plugineer/path';
4
+ import { pathExists } from 'fs-extra/esm';
4
5
  import { fork, spawn } from 'node:child_process';
5
- import { existsSync, statSync } from 'node:fs';
6
+ import { createWriteStream, existsSync, ftruncate, read, rmSync, statSync } from 'node:fs';
7
+ import { open, stat } from 'node:fs/promises';
6
8
  import { platform } from 'node:os';
7
9
  import { dirname, join, resolve } from 'node:path';
10
+ import { promisify } from 'node:util';
8
11
  import { container } from 'tsyringe';
12
+ import { API_EVENT } from '../api.js';
9
13
  import { CamerasService } from '../api/services/cameras.service.js';
14
+ const truncatePromise = promisify(ftruncate);
15
+ const readPromise = promisify(read);
10
16
  export class PluginWorker {
11
17
  plugin;
12
18
  pluginWorker;
13
19
  proxyServer;
20
+ logStream;
14
21
  api;
15
- logger;
22
+ mainLogger;
23
+ pluginLogger;
24
+ processLogger;
16
25
  configService;
17
26
  socketService;
18
27
  pluginManager;
@@ -22,6 +31,8 @@ export class PluginWorker {
22
31
  targetSubject;
23
32
  started = false;
24
33
  shuttingDown = false;
34
+ truncateInterval;
35
+ truncateIntervalMs = 1000 * 60 * 60 * 2;
25
36
  _status = PLUGIN_STATUS.UNKNOWN;
26
37
  get status() {
27
38
  return this._status;
@@ -31,29 +42,40 @@ export class PluginWorker {
31
42
  if (plugin.disabled) {
32
43
  this._status = PLUGIN_STATUS.DISABLED;
33
44
  }
34
- this.logger = container.resolve('logger');
35
- this.configService = container.resolve('configService');
45
+ this.mainLogger = container.resolve('logger');
46
+ this.pluginLogger = this.mainLogger.createLogger({ prefix: plugin.displayName });
47
+ this.processLogger = this.mainLogger.createLogger({ disablePrefix: true, disableTimestamps: true, prefix: undefined, suffix: undefined });
36
48
  this.api = container.resolve('api');
49
+ this.configService = container.resolve('configService');
37
50
  this.socketService = container.resolve('socketService');
38
51
  this.proxyServer = container.resolve('proxy');
39
52
  this.pluginManager = container.resolve('pluginManager');
40
53
  this.subject = `${this.plugin.id}.ipc.publisher`;
41
54
  this.targetSubject = `${this.plugin.id}.ipc.subscriber`;
55
+ this.logStream = this.createLogStream();
56
+ this.truncateInterval = setInterval(() => this.truncateLog(), this.truncateIntervalMs);
57
+ this.truncateLog();
58
+ this.api.setMaxListeners(this.api.getMaxListeners() + 1);
59
+ this.api.once(API_EVENT.SHUTDOWN, () => {
60
+ clearInterval(this.truncateInterval);
61
+ this.logStream?.destroy();
62
+ this.logStream = undefined;
63
+ });
42
64
  }
43
65
  start() {
44
66
  return new Promise(async (_resolve) => {
45
67
  if (this.started) {
46
- this.logger.warn(`Plugin ${this.plugin.displayName} (${this.plugin.pluginName}.${this.plugin.info.installedVersion}) already running!`);
68
+ this.mainLogger.warn(`Plugin ${this.plugin.displayName} (${this.plugin.pluginName}.${this.plugin.info.installedVersion}) already running!`);
47
69
  _resolve();
48
70
  return;
49
71
  }
50
72
  if (this.plugin.disabled) {
51
73
  this.setStatus(PLUGIN_STATUS.DISABLED);
52
- this.logger.warn(`Can not start plugin. Plugin ${this.plugin.displayName} (${this.plugin.pluginName}.${this.plugin.info.installedVersion}) is disabled!`);
74
+ this.mainLogger.warn(`Can not start plugin. Plugin ${this.plugin.displayName} (${this.plugin.pluginName}.${this.plugin.info.installedVersion}) is disabled!`);
53
75
  _resolve();
54
76
  return;
55
77
  }
56
- this.logger.log(`Starting plugin: ${this.plugin.displayName} (${this.plugin.pluginName}.${this.plugin.info.installedVersion})...`);
78
+ this.mainLogger.log(`Starting plugin: ${this.plugin.displayName} (${this.plugin.pluginName}.${this.plugin.info.installedVersion})...`);
57
79
  await this.reset();
58
80
  this.setStatus(PLUGIN_STATUS.STARTING);
59
81
  await this.updatePython();
@@ -69,51 +91,63 @@ export class PluginWorker {
69
91
  PLUGIN_ID: this.plugin.id,
70
92
  PLUGIN_NAME: this.plugin.pluginName,
71
93
  FORCE_COLOR: '1',
72
- LOGGER_LEVEL: this.configService.config.logger.level,
73
- LOGGER_DISABLE_TIMESTAMPS: this.configService.config.logger.disableTimestamps === true ? '1' : '0',
74
94
  PROXY_USER: this.proxyServer.auth.server.user,
75
95
  PROXY_PASSWORD: this.proxyServer.auth.server.password,
76
96
  PROXY_ENDPOINTS: this.proxyServer.server.endpoints.join(','),
77
97
  MODULE_PATH: join(this.plugin.installPath, this.plugin.main),
78
98
  };
99
+ let command;
100
+ const args = [];
101
+ const processNames = [this.plugin.pluginName, this.plugin.displayName];
79
102
  if (this.plugin.isPython) {
80
- const createPythonPath = () => {
81
- const separator = platform() === 'win32' ? ';' : ':';
82
- const mainFile = this.plugin.main;
83
- const mainFullPath = resolve(join(this.plugin.installPath, mainFile));
84
- const mainDir = dirname(mainFullPath);
85
- const paths = [pythonPath, this.plugin.installPath, this.plugin.py.serverPackagesPath, this.plugin.installPath, mainDir];
86
- return paths.join(separator);
87
- };
103
+ command = this.plugin.py.pluginPythonPath;
104
+ args.push('-u', pythonPluginPath, ...processNames);
88
105
  options = {
89
106
  PYTHONUNBUFFERED: '1',
90
- PYTHONPATH: createPythonPath(),
107
+ PYTHONPATH: this.createPythonPath(),
91
108
  ...options,
92
109
  };
93
- const args = ['-u', pythonPluginPath, this.plugin.displayName];
94
- this.logger.debug(`Spawning plugin: ${this.plugin.py.pluginPythonPath} ${args.join(' ')}`);
95
- this.pluginWorker = spawn(this.plugin.py.pluginPythonPath, args, {
110
+ this.mainLogger.debug(`Spawning plugin: ${this.plugin.pluginName}`);
111
+ this.pluginWorker = spawn(this.plugin.py.pluginPythonPath, ['-u', pythonPluginPath, ...processNames], {
96
112
  env: options,
97
- stdio: 'inherit',
113
+ // stdio: 'inherit',
98
114
  });
99
115
  }
100
116
  else {
101
- this.logger.debug(`Forking plugin: ${nodePluginPath} ${this.plugin.displayName}`);
117
+ command = process.execPath;
118
+ args.push(nodePluginPath, ...processNames);
119
+ this.mainLogger.debug(`Forking plugin: ${this.plugin.pluginName}`);
102
120
  options = {
103
121
  ...this.cleanedProcessEnv(),
104
122
  ...options,
105
123
  };
106
- this.pluginWorker = fork(nodePluginPath, [this.plugin.displayName], {
124
+ this.pluginWorker = fork(nodePluginPath, [...processNames], {
107
125
  env: options,
126
+ silent: true,
108
127
  });
109
128
  }
129
+ let pluginPID = undefined;
130
+ this.pluginWorker.on('spawn', () => {
131
+ this.pluginLogger.log(`Initializing Plugin process with PID: ${this.pluginWorker?.pid}`);
132
+ pluginPID = this.pluginWorker?.pid;
133
+ if (pluginPID) {
134
+ this.configService.addProc({
135
+ pid: pluginPID,
136
+ startTime: Date.now(),
137
+ command,
138
+ args,
139
+ titles: [...processNames, 'camera.ui - Plugin'],
140
+ });
141
+ }
142
+ });
110
143
  this.pluginWorker.on('error', (error) => {
111
- this.logger.warn(`The plugin process for "${this.plugin.pluginName}" failed to start/stop!`);
112
- this.logger.error(error);
144
+ this.mainLogger.warn(`The plugin process for "${this.plugin.pluginName}" failed to start/stop!`);
145
+ this.mainLogger.error(error);
113
146
  this.setStatus(PLUGIN_STATUS.ERROR);
114
147
  _resolve();
115
148
  });
116
149
  this.pluginWorker.on('exit', () => {
150
+ this.configService.removeProcByPID(pluginPID);
117
151
  setTimeout(() => {
118
152
  if (this.plugin.disabled) {
119
153
  this.setStatus(PLUGIN_STATUS.DISABLED);
@@ -125,17 +159,48 @@ export class PluginWorker {
125
159
  _resolve();
126
160
  }, 100);
127
161
  });
162
+ this.pluginWorker.stdout?.on('data', (data) => {
163
+ const lines = data.toString().split('\n');
164
+ for (const line of lines) {
165
+ if (!line || line == '') {
166
+ continue;
167
+ }
168
+ const { loggerId, content } = this.processLogger.extractLoggerIdAndContent(line);
169
+ if (loggerId) {
170
+ this.api.writeCameraLog(loggerId, content);
171
+ }
172
+ this.processLogger.log(content);
173
+ this.logStream?.write(content + '\n');
174
+ }
175
+ });
176
+ this.pluginWorker.stderr?.on('data', (data) => {
177
+ const lines = data.toString().split('\n');
178
+ for (const line of lines) {
179
+ if (!line || line == '') {
180
+ continue;
181
+ }
182
+ const { loggerId, content } = this.processLogger.extractLoggerIdAndContent(line);
183
+ if (loggerId) {
184
+ this.api.writeCameraLog(loggerId, content);
185
+ }
186
+ this.processLogger.log(content);
187
+ this.logStream?.write(content + '\n');
188
+ }
189
+ });
128
190
  });
129
191
  }
130
192
  async teardown() {
193
+ if (this.isRunning()) {
194
+ this.mainLogger.log(`Stopping plugin: ${this.plugin.pluginName}.${this.plugin.displayName}...`);
195
+ }
131
196
  this.shuttingDown = true;
132
- this.logger.log(`Stopping plugin: ${this.plugin.pluginName}.${this.plugin.displayName}...`);
133
- const cameras = this.api.getCameras(this.plugin.id);
134
- cameras.forEach((cameraMap) => cameraMap.controller.disconnect());
197
+ const cameraControllers = this.api.getCameras(this.plugin.id);
198
+ cameraControllers.forEach((cameraController) => cameraController.disconnect());
135
199
  await this.kill();
136
200
  await this.reset();
137
201
  }
138
- destroy() {
202
+ async destroy() {
203
+ await this.reset();
139
204
  this.pluginWorker?.kill('SIGKILL');
140
205
  }
141
206
  async restart() {
@@ -143,6 +208,10 @@ export class PluginWorker {
143
208
  await sleep(1000);
144
209
  await this.start();
145
210
  }
211
+ disable() {
212
+ this.teardown();
213
+ this.setStatus(PLUGIN_STATUS.DISABLED);
214
+ }
146
215
  getPID() {
147
216
  return this.pluginWorker?.pid || 0;
148
217
  }
@@ -152,6 +221,10 @@ export class PluginWorker {
152
221
  isReady() {
153
222
  return this.status === PLUGIN_STATUS.READY || this.status === PLUGIN_STATUS.STARTED;
154
223
  }
224
+ async cleanup() {
225
+ this.removeLogStream();
226
+ await this.teardown();
227
+ }
155
228
  gatherDevices() {
156
229
  const pluginType = this.plugin.contract.extension
157
230
  ? [this.plugin.contract.extension]
@@ -169,21 +242,21 @@ export class PluginWorker {
169
242
  kill() {
170
243
  return new Promise(async (_resolve) => {
171
244
  this.sendMessage({ type: PLUGIN_COMMAND.STOP });
172
- const cameras = this.api.getCameras(this.plugin.id);
173
- cameras.forEach((cameraMap) => cameraMap.controller.disconnect());
245
+ const cameraControllers = this.api.getCameras(this.plugin.id);
246
+ cameraControllers.forEach((cameraController) => cameraController.disconnect());
174
247
  if (!this.pluginWorker) {
175
248
  await this.reset();
176
249
  _resolve();
177
250
  return;
178
251
  }
179
252
  const killTimeout = setTimeout(() => {
180
- this.logger.warn(`Plugin ${this.plugin.displayName} did not terminate gracefully. Forcing closure.`);
253
+ this.mainLogger.warn(`Plugin ${this.plugin.displayName} did not terminate gracefully. Forcing closure.`);
181
254
  this.pluginWorker?.kill('SIGKILL');
182
255
  _resolve();
183
256
  }, 3000);
184
257
  this.pluginWorker.once('close', (code, signal) => {
185
258
  clearTimeout(killTimeout);
186
- this.logger.log(`Plugin ${this.plugin.displayName} closed. Code: ${code}, Signal: ${signal}`);
259
+ this.mainLogger.log(`Plugin ${this.plugin.displayName} closed. Code: ${code}, Signal: ${signal}`);
187
260
  this.reset().then(_resolve);
188
261
  });
189
262
  this.pluginWorker.kill('SIGTERM');
@@ -206,7 +279,7 @@ export class PluginWorker {
206
279
  }
207
280
  handleClose() {
208
281
  if (!this.shuttingDown) {
209
- this.logger.log(`Restarting plugin: ${this.plugin.pluginName}.${this.plugin.displayName} in 5s...`);
282
+ this.mainLogger.log(`Restarting plugin: ${this.plugin.pluginName}.${this.plugin.displayName} in 5s...`);
210
283
  setTimeout(() => {
211
284
  this.start();
212
285
  }, 5000);
@@ -241,7 +314,7 @@ export class PluginWorker {
241
314
  const message = unpack(msg.data);
242
315
  switch (message.type) {
243
316
  case PLUGIN_STATUS.READY:
244
- this.logger.debug(`Plugin ready: ${this.plugin.displayName} (${this.plugin.pluginName}@${this.plugin.info.installedVersion})`);
317
+ this.mainLogger.debug(`Plugin ready: ${this.plugin.displayName} (${this.plugin.pluginName}@${this.plugin.info.installedVersion})`);
245
318
  this.setStatus(PLUGIN_STATUS.READY);
246
319
  this.sendMessage({
247
320
  type: PLUGIN_COMMAND.START,
@@ -261,19 +334,86 @@ export class PluginWorker {
261
334
  });
262
335
  break;
263
336
  case PLUGIN_STATUS.STARTED:
264
- this.logger.log(`Started plugin: ${this.plugin.displayName} (${this.plugin.pluginName}@${this.plugin.info.installedVersion}) with PID ${this.getPID()} successfully`);
337
+ this.mainLogger.log(`Started plugin: ${this.plugin.displayName} (${this.plugin.pluginName}@${this.plugin.info.installedVersion}) with PID ${this.getPID()} successfully`);
265
338
  this.setStatus(PLUGIN_STATUS.STARTED);
266
339
  _resolve();
267
340
  break;
268
341
  case PLUGIN_STATUS.ERROR:
269
- this.logger.warn(`Starting plugin: ${this.plugin.displayName} (${this.plugin.pluginName}@${this.plugin.info.installedVersion}) failed!`);
270
- this.logger.error(message.data);
342
+ this.mainLogger.warn(`Starting plugin: ${this.plugin.displayName} (${this.plugin.pluginName}@${this.plugin.info.installedVersion}) failed!`);
343
+ this.mainLogger.error(message.data);
271
344
  this.setStatus(PLUGIN_STATUS.ERROR);
272
345
  this.teardown();
273
346
  _resolve();
274
347
  break;
275
348
  default:
276
- this.logger.warn(`Unknown message type: ${message.type}`);
349
+ this.mainLogger.warn(`Unknown message type: ${message.type}`);
350
+ }
351
+ }
352
+ createPythonPath() {
353
+ const separator = platform() === 'win32' ? ';' : ':';
354
+ const mainFile = this.plugin.main;
355
+ const mainFullPath = resolve(join(this.plugin.installPath, mainFile));
356
+ const mainDir = dirname(mainFullPath);
357
+ const paths = [pythonPath, this.plugin.installPath, this.plugin.py.serverPackagesPath, this.plugin.installPath, mainDir];
358
+ return paths.join(separator);
359
+ }
360
+ writeLog(...args) {
361
+ this.logStream?.write(args.join(' ') + '\n');
362
+ }
363
+ internalLog(level, ...args) {
364
+ this.pluginLogger[level](...args);
365
+ const message = this.mainLogger.formatMessage(level, ...args);
366
+ this.logStream?.write(message.join(' ') + '\n');
367
+ }
368
+ createLogStream() {
369
+ const logStream = createWriteStream(this.plugin.logPath, { flags: 'a' });
370
+ const date = new Date().toLocaleString('en-US');
371
+ const pluginInfo = `${this.plugin.pluginName}@${this.plugin.info.installedVersion}`;
372
+ const content = `${date}: ${pluginInfo}`;
373
+ const lineLength = content.length + 3;
374
+ const line = '-'.repeat(lineLength);
375
+ logStream.write(`\r\n${line}\r\n`);
376
+ logStream.write(content.padEnd(lineLength));
377
+ logStream.write(`\r\n${line}\r\n\r\n`);
378
+ return logStream;
379
+ }
380
+ closeLogStream() {
381
+ clearInterval(this.truncateInterval);
382
+ this.logStream?.destroy();
383
+ this.logStream = undefined;
384
+ }
385
+ removeLogStream() {
386
+ this.closeLogStream();
387
+ rmSync(this.plugin.logPath);
388
+ }
389
+ async truncateLog() {
390
+ if (!(await pathExists(this.plugin.logPath))) {
391
+ return;
392
+ }
393
+ const maxSize = 1000000; // ~1 MB
394
+ const truncateSize = 200000; // ~0.2 MB
395
+ try {
396
+ const logStats = await stat(this.plugin.logPath);
397
+ if (logStats.size < maxSize) {
398
+ // this.internalLog('debug', `Log file size is less than ${maxSize} bytes, skipping truncate`);
399
+ return;
400
+ }
401
+ // this.internalLog('debug', `Truncating log file to ${truncateSize} bytes...`);
402
+ const logStartPosition = logStats.size - truncateSize;
403
+ const logBuffer = Buffer.alloc(truncateSize);
404
+ const fileHandle = await open(this.plugin.logPath, 'r+');
405
+ try {
406
+ await readPromise(fileHandle.fd, logBuffer, 0, truncateSize, logStartPosition);
407
+ await truncatePromise(fileHandle.fd, 0);
408
+ await fileHandle.write(logBuffer, 0, truncateSize, 0);
409
+ }
410
+ finally {
411
+ await fileHandle.close();
412
+ }
413
+ // this.internalLog('debug', 'Log file truncated successfully');
414
+ }
415
+ catch (e) {
416
+ this.internalLog('error', `Failed to truncate log file: ${e.message}`);
277
417
  }
278
418
  }
279
419
  cleanedProcessEnv() {
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/plugins/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../../src/plugins/worker.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import type { IceServer } from '@camera.ui/types';
2
2
  import type { Go2RtcConfig, IConfig } from './types.js';
3
+ export declare const PROCESS_IDENTIFIER = "--id=camera.ui";
3
4
  export declare const APP_NAME: any;
4
5
  export declare const DEFAULT_ICE_SERVERS: IceServer[];
5
6
  export declare const DEFAULT_CONFIG: IConfig;
@@ -1,8 +1,9 @@
1
- import ffmpegPath from 'ffmpeg-for-homebridge';
1
+ import { ffmpegPath, isFFmpegAvailable } from '@camera.ui/ffmpeg';
2
2
  import { createRequire } from 'node:module';
3
3
  import { platform } from 'node:os';
4
4
  const _require = createRequire(import.meta.url);
5
5
  const packageJson = _require('../../../package.json');
6
+ export const PROCESS_IDENTIFIER = '--id=camera.ui';
6
7
  export const APP_NAME = packageJson.name;
7
8
  export const DEFAULT_ICE_SERVERS = [
8
9
  {
@@ -55,7 +56,7 @@ export const DEFAULT_GO2RTC_CONFIG = {
55
56
  },
56
57
  },
57
58
  ffmpeg: {
58
- bin: !ffmpegPath ? (platform() === 'win32' ? 'ffmpeg.exe' : 'ffmpeg') : ffmpegPath.replace('app.asar', 'app.asar.unpacked'),
59
+ bin: !isFFmpegAvailable() ? (platform() === 'win32' ? 'ffmpeg.exe' : 'ffmpeg') : ffmpegPath().replace('app.asar', 'app.asar.unpacked'),
59
60
  global: '-hide_banner',
60
61
  file: '-re -stream_loop -1 -i {input}',
61
62
  http: '-fflags nobuffer -flags low_delay -i {input}',