@camera.ui/server 0.0.22-alpha.1 → 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.
- package/dist/interface/@intlify.DXtFJcML.0.0.22-alpha.2.js +15 -0
- package/dist/interface/@mdi.C1UTQKuc.0.0.22-alpha.2.js +1 -0
- package/dist/interface/@tanstack.B6ZKNODP.0.0.22-alpha.2.js +1 -0
- package/dist/interface/{@vee-validate.CBoqAk51.0.0.22-alpha.1.js → @vee-validate.BLOXgupV.0.0.22-alpha.2.js} +2 -2
- package/dist/interface/@vue.DYBoJLkm.0.0.22-alpha.2.js +17 -0
- package/dist/interface/{@vueform.20m7Hn_5.0.0.22-alpha.1.js → @vueform.BNEdNEfe.0.0.22-alpha.2.js} +1 -1
- package/dist/interface/@vueuse.DLeXr990.0.0.22-alpha.2.js +1 -0
- package/dist/interface/Account.CJmkOolZ.0.0.22-alpha.2.js +1 -0
- package/dist/interface/Adminpanel.Tg7HwSe9.0.0.22-alpha.2.js +2 -0
- package/dist/interface/Appearance.Bu1bU0wi.0.0.22-alpha.2.js +1 -0
- package/dist/interface/Backup.8VdHTNcr.0.0.22-alpha.2.js +1 -0
- package/dist/interface/Camera.Dg8hy2Yt.0.0.22-alpha.2.js +1 -0
- package/dist/interface/Cameras.BIlZs0XL.0.0.22-alpha.2.js +1 -0
- package/dist/interface/Camview.BOntwhuV.0.0.22-alpha.2.js +1 -0
- package/dist/interface/Config.jsnOhEqZ.0.0.22-alpha.2.js +1 -0
- package/dist/interface/Console.D9pK-qBL.0.0.22-alpha.2.js +4 -0
- package/dist/interface/FirstSteps.Cb5a8AUL.0.0.22-alpha.2.js +1 -0
- package/dist/interface/{NewCamera.BoQ_EpL5.0.0.22-alpha.1.js → NewCamera.Dz60UmLc.0.0.22-alpha.2.js} +2 -2
- package/dist/interface/Plugin.DsAb_cep.0.0.22-alpha.2.js +1 -0
- package/dist/interface/Plugins.bxGkXmVc.0.0.22-alpha.2.js +1 -0
- package/dist/interface/Recordings.BTkAhv1T.0.0.22-alpha.2.js +1 -0
- package/dist/interface/Recordings.C_TDdsbp.0.0.22-alpha.2.js +1 -0
- package/dist/interface/Settings.Br20f1vP.0.0.22-alpha.2.js +1 -0
- package/dist/interface/System.WdQgcjx6.0.0.22-alpha.2.js +4 -0
- package/dist/interface/User.BUO6E9hO.0.0.22-alpha.2.js +1 -0
- package/dist/interface/VConfigEditor.vue_vue_type_script_setup_true_lang.V-YCJXF9.0.0.22-alpha.2.js +2 -0
- package/dist/interface/VConsole.efu2RLE4.0.0.22-alpha.2.js +1 -0
- package/dist/interface/VPlayer.7xACf1AA.0.0.22-alpha.2.js +4 -0
- package/dist/interface/VPluginCard.DObvo0pi.0.0.22-alpha.2.js +4 -0
- package/dist/interface/{ace-builds.GNWBVG5S.0.0.22-alpha.1.js → ace-builds.CYuWji3-.0.0.22-alpha.2.js} +27 -27
- package/dist/interface/{apexcharts.BMrxVPFF.0.0.22-alpha.1.js → apexcharts.BjVuUwvF.0.0.22-alpha.2.js} +1 -1
- package/dist/interface/assets/Adminpanel.0.0.22-alpha.2.a3t1v3MB.css +1 -0
- package/dist/interface/assets/Camera.0.0.22-alpha.2.D1I-fW4q.css +1 -0
- package/dist/interface/assets/Cameras.0.0.22-alpha.2.Buf1Dgce.css +1 -0
- package/dist/interface/assets/Camview.0.0.22-alpha.2.B7Cja2ry.css +1 -0
- package/dist/interface/assets/Config.0.0.22-alpha.2.DNGo2krN.css +1 -0
- package/dist/interface/assets/Console.0.0.22-alpha.2.Bh8l9QnM.css +1 -0
- package/dist/interface/assets/FirstSteps.0.0.22-alpha.2.sPEcItZ6.css +1 -0
- package/dist/interface/assets/NewCamera.0.0.22-alpha.2.Cq8GzeJ7.css +1 -0
- package/dist/interface/assets/{Settings.0.0.22-alpha.1.DC_-E3CR.css → Settings.0.0.22-alpha.2.CVmui2kE.css} +1 -1
- package/dist/interface/assets/VConsole.0.0.22-alpha.2.BCqKHpmJ.css +1 -0
- package/dist/interface/assets/VPlayer.0.0.22-alpha.2.DNtDNhfg.css +1 -0
- package/dist/interface/assets/VPluginCard.0.0.22-alpha.2.C8Lj6X-J.css +1 -0
- package/dist/interface/assets/main.0.0.22-alpha.2.DNhh__S1.css +1 -0
- package/dist/interface/assets/{vuetify.0.0.22-alpha.1.Cd1awv3t.css → vuetify.0.0.22-alpha.2.CgGsw6iO.css} +2 -2
- package/dist/interface/birpc.l0sNRNKZ.0.0.22-alpha.2.js +1 -0
- package/dist/interface/{dnd-core.DMTh_43Y.0.0.22-alpha.1.js → dnd-core.CInfibuN.0.0.22-alpha.2.js} +1 -1
- package/dist/interface/{draggabilly.Bp5rpROY.0.0.22-alpha.1.js → draggabilly.D1IWfp_b.0.0.22-alpha.2.js} +1 -1
- package/dist/interface/engine.io-client.DefPnTEq.0.0.22-alpha.2.js +1 -0
- package/dist/interface/{ev-emitter.D9A4-Zp4.0.0.22-alpha.1.js → ev-emitter.Dc-aWf7P.0.0.22-alpha.2.js} +1 -1
- package/dist/interface/{fast-deep-equal.CynR0Ykh.0.0.22-alpha.1.js → fast-deep-equal.B5b3SrkT.0.0.22-alpha.2.js} +1 -1
- package/dist/interface/{highlight.js.BcAmtPT9.0.0.22-alpha.1.js → highlight.js.UlfE9jpO.0.0.22-alpha.2.js} +1 -1
- package/dist/interface/hookable.B8xFkYCm.0.0.22-alpha.2.js +1 -0
- package/dist/interface/index.html +34 -36
- package/dist/interface/{linkify-it.zJgnXBKD.0.0.22-alpha.1.js → linkify-it.Fi_bpuck.0.0.22-alpha.2.js} +1 -1
- package/dist/interface/main.oy2O2TRy.0.0.22-alpha.2.js +5 -0
- package/dist/interface/{markdown-it.DSn07YT-.0.0.22-alpha.1.js → markdown-it.DJgGU14J.0.0.22-alpha.2.js} +1 -1
- package/dist/interface/{nprogress.B-sfF0qV.0.0.22-alpha.1.js → nprogress.tJ-b_-wu.0.0.22-alpha.2.js} +1 -1
- package/dist/interface/perfect-debounce.Cp2ysxOb.0.0.22-alpha.2.js +1 -0
- package/dist/interface/pinia.yZCOO45u.0.0.22-alpha.2.js +5 -0
- package/dist/interface/plugins.Cfyqqots.0.0.22-alpha.2.js +1 -0
- package/dist/interface/point-in-polygon-hao.l0sNRNKZ.0.0.22-alpha.2.js +1 -0
- package/dist/interface/{qrcode.BcJHYbhe.0.0.22-alpha.1.js → qrcode.9XoqawvO.0.0.22-alpha.2.js} +1 -1
- package/dist/interface/{react-dnd-touch-backend.B9_17rX-.0.0.22-alpha.1.js → react-dnd-touch-backend.C6RhMT4L.0.0.22-alpha.2.js} +1 -1
- package/dist/interface/{rxjs.BlwZeIMX.0.0.22-alpha.1.js → rxjs.1CAxveb4.0.0.22-alpha.2.js} +1 -1
- package/dist/interface/socket.io-client.e8QnYieU.0.0.22-alpha.2.js +1 -0
- package/dist/interface/{socket.io-parser.DbDzb_0x.0.0.22-alpha.1.js → socket.io-parser.BLk6IoUZ.0.0.22-alpha.2.js} +1 -1
- package/dist/interface/sw.js +1 -1
- package/dist/interface/sweepline-intersections.l0sNRNKZ.0.0.22-alpha.2.js +1 -0
- package/dist/interface/system.CxMAOYjs.0.0.22-alpha.2.js +1 -0
- package/dist/interface/types.Cz9TaZAP.0.0.22-alpha.2.js +1 -0
- package/dist/interface/{unidragger.BfsybYBO.0.0.22-alpha.1.js → unidragger.D9uoooG_.0.0.22-alpha.2.js} +1 -1
- package/dist/interface/utils.mAKpSMLY.0.0.22-alpha.2.js +1 -0
- package/dist/interface/uuid.Ch9TGLTe.0.0.22-alpha.2.js +1 -0
- package/dist/interface/vee-validate.DnRu3xAR.0.0.22-alpha.2.js +5 -0
- package/dist/interface/vue-i18n.DNPn_WN3.0.0.22-alpha.2.js +5 -0
- package/dist/interface/{vue-inline-svg.Br_paQwQ.0.0.22-alpha.1.js → vue-inline-svg.BxDq9WpB.0.0.22-alpha.2.js} +1 -1
- package/dist/interface/vue-router.Ci1GIRoh.0.0.22-alpha.2.js +5 -0
- package/dist/interface/vue.l0sNRNKZ.0.0.22-alpha.2.js +1 -0
- package/dist/interface/vue3-apexcharts.4RpZv9AC.0.0.22-alpha.2.js +1 -0
- package/dist/interface/{vue3-dnd.DpYuZy8Q.0.0.22-alpha.1.js → vue3-dnd.CyNbBiuS.0.0.22-alpha.2.js} +1 -1
- package/dist/interface/vue3-toastify.Jtf1C0Kw.0.0.22-alpha.2.js +1 -0
- package/dist/interface/vuetify.D4io05br.0.0.22-alpha.2.js +5 -0
- package/dist/interface/zod.DnW1_kUe.0.0.22-alpha.2.js +1 -0
- package/dist/server/bin/cameraui-server.js +8 -0
- package/dist/server/bin/cameraui-server.js.map +1 -0
- package/dist/server/package.json +44 -70
- package/dist/server/requirements.txt +6 -5
- package/dist/server/src/api/controllers/auth.controller.js +1 -1
- package/dist/server/src/api/controllers/auth.controller.js.map +1 -1
- package/dist/server/src/api/controllers/backup.controller.js +2 -2
- package/dist/server/src/api/controllers/backup.controller.js.map +1 -1
- package/dist/server/src/api/controllers/cameras.controller.d.ts +4 -2
- package/dist/server/src/api/controllers/cameras.controller.js +88 -42
- package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
- package/dist/server/src/api/controllers/files.controller.js.map +1 -1
- package/dist/server/src/api/controllers/frameWorkers.controller.d.ts +1 -1
- package/dist/server/src/api/controllers/frameWorkers.controller.js +15 -7
- package/dist/server/src/api/controllers/frameWorkers.controller.js.map +1 -1
- package/dist/server/src/api/controllers/plugins.controller.d.ts +3 -4
- package/dist/server/src/api/controllers/plugins.controller.js +141 -202
- package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
- package/dist/server/src/api/controllers/system.controller.d.ts +9 -3
- package/dist/server/src/api/controllers/system.controller.js +73 -53
- package/dist/server/src/api/controllers/system.controller.js.map +1 -1
- package/dist/server/src/api/controllers/users.controller.js +12 -10
- package/dist/server/src/api/controllers/users.controller.js.map +1 -1
- package/dist/server/src/api/database/checks.d.ts +55 -0
- package/dist/server/src/api/database/checks.js +183 -0
- package/dist/server/src/api/database/checks.js.map +1 -0
- package/dist/server/src/api/database/constants.d.ts +8 -0
- package/dist/server/src/api/database/constants.js +9 -0
- package/dist/server/src/api/database/constants.js.map +1 -0
- package/dist/server/src/api/database/index.d.ts +4 -13
- package/dist/server/src/api/database/index.js +61 -39
- package/dist/server/src/api/database/index.js.map +1 -1
- package/dist/server/src/api/database/migration.d.ts +1 -0
- package/dist/server/src/api/database/migration.js +73 -7
- package/dist/server/src/api/database/migration.js.map +1 -1
- package/dist/server/src/api/database/selfcheck.d.ts +48 -0
- package/dist/server/src/api/database/selfcheck.js +398 -0
- package/dist/server/src/api/database/selfcheck.js.map +1 -0
- package/dist/server/src/api/database/types.d.ts +15 -141
- package/dist/server/src/api/go2rtc/api/application.js +3 -2
- package/dist/server/src/api/go2rtc/api/application.js.map +1 -1
- package/dist/server/src/api/go2rtc/api/index.js +3 -2
- package/dist/server/src/api/go2rtc/api/index.js.map +1 -1
- package/dist/server/src/api/go2rtc/api/streams.d.ts +1 -1
- package/dist/server/src/api/go2rtc/api/streams.js +4 -2
- package/dist/server/src/api/go2rtc/api/streams.js.map +1 -1
- package/dist/server/src/api/go2rtc/index.d.ts +1 -0
- package/dist/server/src/api/go2rtc/index.js +6 -1
- package/dist/server/src/api/go2rtc/index.js.map +1 -1
- package/dist/server/src/api/go2rtc/types.d.ts +2 -18
- package/dist/server/src/api/index.d.ts +1 -0
- package/dist/server/src/api/index.js +21 -29
- package/dist/server/src/api/index.js.map +1 -1
- package/dist/server/src/api/middlewares/authPermission.middleware.d.ts +3 -3
- package/dist/server/src/api/middlewares/authPermission.middleware.js.map +1 -1
- package/dist/server/src/api/middlewares/authValidation.middleware.d.ts +2 -2
- package/dist/server/src/api/middlewares/authValidation.middleware.js +3 -3
- package/dist/server/src/api/middlewares/authValidation.middleware.js.map +1 -1
- package/dist/server/src/api/middlewares/socketAuth.middleware.d.ts +1 -1
- package/dist/server/src/api/middlewares/socketAuth.middleware.js +1 -1
- package/dist/server/src/api/plugins/header.plugin.d.ts +2 -0
- package/dist/server/src/api/plugins/header.plugin.js +13 -0
- package/dist/server/src/api/plugins/header.plugin.js.map +1 -0
- package/dist/server/src/api/plugins/logger.plugin.js +1 -1
- package/dist/server/src/api/plugins/logger.plugin.js.map +1 -1
- package/dist/server/src/api/plugins/system.plugin.d.ts +3 -1
- package/dist/server/src/api/plugins/system.plugin.js +6 -1
- package/dist/server/src/api/plugins/system.plugin.js.map +1 -1
- package/dist/server/src/api/plugins/useragent.plugin.d.ts +1 -1
- package/dist/server/src/api/plugins/useragent.plugin.js +1 -1
- package/dist/server/src/api/plugins/useragent.plugin.js.map +1 -1
- package/dist/server/src/api/routes/cameras.routes.js +12 -0
- package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
- package/dist/server/src/api/routes/plugins.routes.js +24 -0
- package/dist/server/src/api/routes/plugins.routes.js.map +1 -1
- package/dist/server/src/api/routes/system.routes.js +3 -6
- package/dist/server/src/api/routes/system.routes.js.map +1 -1
- package/dist/server/src/api/schemas/backup.schema.js.map +1 -1
- package/dist/server/src/api/schemas/cameras.schema.d.ts +227 -187
- package/dist/server/src/api/schemas/cameras.schema.js +25 -6
- package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
- package/dist/server/src/api/schemas/config.schema.d.ts +12 -20
- package/dist/server/src/api/schemas/config.schema.js +0 -2
- package/dist/server/src/api/schemas/config.schema.js.map +1 -1
- package/dist/server/src/api/schemas/go2rtc.schema.d.ts +143 -143
- package/dist/server/src/api/schemas/plugins.schema.d.ts +5 -5
- package/dist/server/src/api/schemas/plugins.schema.js +1 -1
- package/dist/server/src/api/schemas/plugins.schema.js.map +1 -1
- package/dist/server/src/api/schemas/system.schema.d.ts +8 -0
- package/dist/server/src/api/schemas/system.schema.js +5 -0
- package/dist/server/src/api/schemas/system.schema.js.map +1 -1
- package/dist/server/src/api/schemas/users.schema.d.ts +170 -170
- package/dist/server/src/api/schemas/users.schema.js.map +1 -1
- package/dist/server/src/api/services/auth.service.js +17 -17
- package/dist/server/src/api/services/auth.service.js.map +1 -1
- package/dist/server/src/api/services/backup.service.js.map +1 -1
- package/dist/server/src/api/services/cameras.service.d.ts +10 -5
- package/dist/server/src/api/services/cameras.service.js +166 -89
- package/dist/server/src/api/services/cameras.service.js.map +1 -1
- package/dist/server/src/api/services/plugins.service.d.ts +1 -0
- package/dist/server/src/api/services/plugins.service.js +16 -11
- package/dist/server/src/api/services/plugins.service.js.map +1 -1
- package/dist/server/src/api/services/system.service.js +4 -4
- package/dist/server/src/api/services/system.service.js.map +1 -1
- package/dist/server/src/api/services/users.service.js +29 -29
- package/dist/server/src/api/services/users.service.js.map +1 -1
- package/dist/server/src/api/types/index.d.ts +127 -129
- package/dist/server/src/api/types/index.js.map +1 -1
- package/dist/server/src/api/utils/cameraSource.d.ts +2 -0
- package/dist/server/src/api/utils/cameraSource.js +34 -0
- package/dist/server/src/api/utils/cameraSource.js.map +1 -0
- package/dist/server/src/api/utils/cert.d.ts +7 -7
- package/dist/server/src/api/utils/cert.js +178 -385
- package/dist/server/src/api/utils/cert.js.map +1 -1
- package/dist/server/src/api/utils/constants.d.ts +0 -2
- package/dist/server/src/api/utils/constants.js +4 -7
- package/dist/server/src/api/utils/constants.js.map +1 -1
- package/dist/server/src/api/websocket/index.js +2 -1
- package/dist/server/src/api/websocket/index.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/logs.d.ts +10 -2
- package/dist/server/src/api/websocket/nsp/logs.js +110 -76
- package/dist/server/src/api/websocket/nsp/logs.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/metrics.d.ts +1 -1
- package/dist/server/src/api/websocket/nsp/metrics.js +19 -16
- package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/notifications.js +1 -1
- package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/plugins.d.ts +1 -1
- package/dist/server/src/api/websocket/nsp/plugins.js +3 -4
- package/dist/server/src/api/websocket/nsp/plugins.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/server.d.ts +9 -4
- package/dist/server/src/api/websocket/nsp/server.js +57 -20
- package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
- package/dist/server/src/api/websocket/nsp/status.d.ts +1 -1
- package/dist/server/src/api/websocket/nsp/status.js +9 -7
- package/dist/server/src/api/websocket/nsp/status.js.map +1 -1
- package/dist/server/src/api/websocket/types.d.ts +7 -13
- package/dist/server/src/api.d.ts +8 -23
- package/dist/server/src/api.js +43 -24
- package/dist/server/src/api.js.map +1 -1
- package/dist/server/src/camera/controller.d.ts +31 -14
- package/dist/server/src/camera/controller.js +371 -68
- package/dist/server/src/camera/controller.js.map +1 -1
- package/dist/server/src/{decoder/worker.d.ts → camera/frameWorker.d.ts} +11 -8
- package/dist/server/src/camera/frameWorker.js +305 -0
- package/dist/server/src/camera/frameWorker.js.map +1 -0
- package/dist/server/src/camera/types.d.ts +1 -199
- package/dist/server/src/camera/types.js +1 -6
- package/dist/server/src/camera/types.js.map +1 -1
- package/dist/server/src/go2rtc/index.js +23 -11
- package/dist/server/src/go2rtc/index.js.map +1 -1
- package/dist/server/src/main.d.ts +21 -0
- package/dist/server/src/main.js +130 -74
- package/dist/server/src/main.js.map +1 -1
- package/dist/server/src/nats/index.d.ts +5 -5
- package/dist/server/src/nats/index.js +5 -6
- package/dist/server/src/nats/index.js.map +1 -1
- package/dist/server/src/nats/proxy/cameraDevice.d.ts +4 -4
- package/dist/server/src/nats/proxy/cameraDevice.js +41 -58
- package/dist/server/src/nats/proxy/cameraDevice.js.map +1 -1
- package/dist/server/src/nats/proxy/coreManager.d.ts +4 -4
- package/dist/server/src/nats/proxy/coreManager.js +6 -1
- package/dist/server/src/nats/proxy/coreManager.js.map +1 -1
- package/dist/server/src/nats/proxy/deviceManager.d.ts +5 -7
- package/dist/server/src/nats/proxy/deviceManager.js +4 -2
- package/dist/server/src/nats/proxy/deviceManager.js.map +1 -1
- package/dist/server/src/nats/server.js +33 -22
- package/dist/server/src/nats/server.js.map +1 -1
- package/dist/server/src/nats/types.d.ts +3 -121
- package/dist/server/src/nats/utils.d.ts +1 -1
- package/dist/server/src/nats/websocket.d.ts +2 -2
- package/dist/server/src/nats/websocket.js +7 -6
- package/dist/server/src/nats/websocket.js.map +1 -1
- package/dist/server/src/plugins/index.d.ts +3 -4
- package/dist/server/src/plugins/index.js +39 -38
- package/dist/server/src/plugins/index.js.map +1 -1
- package/dist/server/src/plugins/plugin.d.ts +6 -3
- package/dist/server/src/plugins/plugin.js +59 -23
- package/dist/server/src/plugins/plugin.js.map +1 -1
- package/dist/server/src/plugins/types.d.ts +1 -148
- package/dist/server/src/plugins/types.js +0 -15
- package/dist/server/src/plugins/types.js.map +1 -1
- package/dist/server/src/plugins/worker.d.ts +22 -3
- package/dist/server/src/plugins/worker.js +201 -59
- package/dist/server/src/plugins/worker.js.map +1 -1
- package/dist/server/src/services/config/constants.d.ts +3 -1
- package/dist/server/src/services/config/constants.js +12 -8
- package/dist/server/src/services/config/constants.js.map +1 -1
- package/dist/server/src/services/config/index.d.ts +15 -9
- package/dist/server/src/services/config/index.js +135 -46
- package/dist/server/src/services/config/index.js.map +1 -1
- package/dist/server/src/services/config/types.d.ts +10 -15
- package/dist/server/src/services/config/types.js.map +1 -1
- package/dist/server/src/services/logger/index.d.ts +10 -17
- package/dist/server/src/services/logger/index.js +44 -91
- package/dist/server/src/services/logger/index.js.map +1 -1
- package/dist/server/src/types.d.ts +24 -0
- package/eslint.config.js +89 -0
- package/localdeps.txt +6 -0
- package/package.json +44 -70
- package/dist/interface/@intlify.YW_pt133.0.0.22-alpha.1.js +0 -15
- package/dist/interface/@mdi.DnMbZhUH.0.0.22-alpha.1.js +0 -1
- package/dist/interface/@popperjs.BQBsAJpH.0.0.22-alpha.1.js +0 -1
- package/dist/interface/@tanstack.DlheOlVk.0.0.22-alpha.1.js +0 -1
- package/dist/interface/@vue.CvjRlaU6.0.0.22-alpha.1.js +0 -17
- package/dist/interface/@vueuse.-m94veKi.0.0.22-alpha.1.js +0 -1
- package/dist/interface/Account.CvNGInZy.0.0.22-alpha.1.js +0 -1
- package/dist/interface/Adminpanel.B38rrP4P.0.0.22-alpha.1.js +0 -2
- package/dist/interface/Appearance.kFVBM4J9.0.0.22-alpha.1.js +0 -1
- package/dist/interface/Backup.lo3nC5DR.0.0.22-alpha.1.js +0 -1
- package/dist/interface/Camera.BukjTYOy.0.0.22-alpha.1.js +0 -1
- package/dist/interface/Cameras.HNjLEphi.0.0.22-alpha.1.js +0 -1
- package/dist/interface/Camview.BXcJwv3e.0.0.22-alpha.1.js +0 -1
- package/dist/interface/Config.Bwtjrsr9.0.0.22-alpha.1.js +0 -1
- package/dist/interface/Console.DOkTKmKh.0.0.22-alpha.1.js +0 -4
- package/dist/interface/FirstSteps.BXQqfdBY.0.0.22-alpha.1.js +0 -1
- package/dist/interface/Plugin.DlATvyTj.0.0.22-alpha.1.js +0 -1
- package/dist/interface/Plugins.BekJdBK8.0.0.22-alpha.1.js +0 -1
- package/dist/interface/Recordings.B4YRWWi3.0.0.22-alpha.1.js +0 -1
- package/dist/interface/Recordings.U1858KpO.0.0.22-alpha.1.js +0 -1
- package/dist/interface/Settings.CiF0fVqP.0.0.22-alpha.1.js +0 -1
- package/dist/interface/System.Ca9T8x4i.0.0.22-alpha.1.js +0 -4
- package/dist/interface/User.C_3ugpqz.0.0.22-alpha.1.js +0 -1
- package/dist/interface/VConfigEditor.vue_vue_type_script_setup_true_lang.EB4E_zDr.0.0.22-alpha.1.js +0 -2
- package/dist/interface/VConsole.DJWV6CZ9.0.0.22-alpha.1.js +0 -1
- package/dist/interface/VPlayer.CpZzx0nW.0.0.22-alpha.1.js +0 -1
- package/dist/interface/VPluginCard.Cm4M7xYg.0.0.22-alpha.1.js +0 -4
- package/dist/interface/assets/Adminpanel.0.0.22-alpha.1.CXsTAXPL.css +0 -1
- package/dist/interface/assets/Camera.0.0.22-alpha.1.BDtUJ-lA.css +0 -1
- package/dist/interface/assets/Cameras.0.0.22-alpha.1.Djx0F2MM.css +0 -1
- package/dist/interface/assets/Camview.0.0.22-alpha.1.Ce_V-Nxj.css +0 -1
- package/dist/interface/assets/Config.0.0.22-alpha.1.k4QpWumg.css +0 -1
- package/dist/interface/assets/Console.0.0.22-alpha.1.DWrfRWs9.css +0 -1
- package/dist/interface/assets/FirstSteps.0.0.22-alpha.1.B3-pv8-a.css +0 -1
- package/dist/interface/assets/NewCamera.0.0.22-alpha.1.DJ3tUBT_.css +0 -1
- package/dist/interface/assets/VConsole.0.0.22-alpha.1.BZT1WyS-.css +0 -1
- package/dist/interface/assets/VPlayer.0.0.22-alpha.1.CZXlTn4I.css +0 -1
- package/dist/interface/assets/VPluginCard.0.0.22-alpha.1.CIL48ca_.css +0 -1
- package/dist/interface/assets/main.0.0.22-alpha.1.BOf8IWhK.css +0 -1
- package/dist/interface/assets/v-calendar.0.0.22-alpha.1.CtSuDYZU.css +0 -1
- package/dist/interface/engine.io-client.CY7UpWto.0.0.22-alpha.1.js +0 -1
- package/dist/interface/main.D-V5Qegn.0.0.22-alpha.1.js +0 -4
- package/dist/interface/pinia.Dn9R-5lV.0.0.22-alpha.1.js +0 -5
- package/dist/interface/plugins.9yif7gTi.0.0.22-alpha.1.js +0 -1
- package/dist/interface/socket.io-client.ZxUZ7LHn.0.0.22-alpha.1.js +0 -1
- package/dist/interface/system.D_1Xg-Sy.0.0.22-alpha.1.js +0 -1
- package/dist/interface/ui.BA2qa-Pn.0.0.22-alpha.1.js +0 -1
- package/dist/interface/utils.BvINh1mj.0.0.22-alpha.1.js +0 -1
- package/dist/interface/uuid.DvF23Exx.0.0.22-alpha.1.js +0 -1
- package/dist/interface/v-calendar.CemaWgJz.0.0.22-alpha.1.js +0 -1
- package/dist/interface/vee-validate.CpAAwmyb.0.0.22-alpha.1.js +0 -5
- package/dist/interface/vue-i18n.mw20Rif9.0.0.22-alpha.1.js +0 -5
- package/dist/interface/vue-router.BchJROVt.0.0.22-alpha.1.js +0 -5
- package/dist/interface/vue3-apexcharts.BiZhZbF2.0.0.22-alpha.1.js +0 -1
- package/dist/interface/vue3-toastify.DdCHHmXT.0.0.22-alpha.1.js +0 -1
- package/dist/interface/vuetify.red0JsnZ.0.0.22-alpha.1.js +0 -5
- package/dist/interface/zod.BaF2dDCd.0.0.22-alpha.1.js +0 -1
- package/dist/server/bin/cameraui.d.ts +0 -54
- package/dist/server/bin/cameraui.js +0 -622
- package/dist/server/bin/cameraui.js.map +0 -1
- package/dist/server/bin/fork.js +0 -13
- package/dist/server/bin/fork.js.map +0 -1
- package/dist/server/bin/installer/base.d.ts +0 -17
- package/dist/server/bin/installer/base.js +0 -45
- package/dist/server/bin/installer/base.js.map +0 -1
- package/dist/server/bin/installer/darwin.d.ts +0 -61
- package/dist/server/bin/installer/darwin.js +0 -249
- package/dist/server/bin/installer/darwin.js.map +0 -1
- package/dist/server/bin/installer/freebsd.d.ts +0 -64
- package/dist/server/bin/installer/freebsd.js +0 -254
- package/dist/server/bin/installer/freebsd.js.map +0 -1
- package/dist/server/bin/installer/linux.d.ts +0 -103
- package/dist/server/bin/installer/linux.js +0 -482
- package/dist/server/bin/installer/linux.js.map +0 -1
- package/dist/server/bin/installer/win32.d.ts +0 -45
- package/dist/server/bin/installer/win32.js +0 -178
- package/dist/server/bin/installer/win32.js.map +0 -1
- package/dist/server/src/api/plugins/cameraui.plugin.d.ts +0 -11
- package/dist/server/src/api/plugins/cameraui.plugin.js +0 -6
- package/dist/server/src/api/plugins/cameraui.plugin.js.map +0 -1
- package/dist/server/src/api/plugins/database.plugin.d.ts +0 -11
- package/dist/server/src/api/plugins/database.plugin.js +0 -12
- package/dist/server/src/api/plugins/database.plugin.js.map +0 -1
- package/dist/server/src/api/plugins/go2rtc.plugin.d.ts +0 -11
- package/dist/server/src/api/plugins/go2rtc.plugin.js +0 -11
- package/dist/server/src/api/plugins/go2rtc.plugin.js.map +0 -1
- package/dist/server/src/camera/device.d.ts +0 -29
- package/dist/server/src/camera/device.js +0 -20
- package/dist/server/src/camera/device.js.map +0 -1
- package/dist/server/src/camera/index.d.ts +0 -94
- package/dist/server/src/camera/index.js +0 -620
- package/dist/server/src/camera/index.js.map +0 -1
- package/dist/server/src/camera/interfaces/camera.d.ts +0 -10
- package/dist/server/src/camera/interfaces/camera.js +0 -23
- package/dist/server/src/camera/interfaces/camera.js.map +0 -1
- package/dist/server/src/camera/interfaces/prebuffer.d.ts +0 -11
- package/dist/server/src/camera/interfaces/prebuffer.js +0 -26
- package/dist/server/src/camera/interfaces/prebuffer.js.map +0 -1
- package/dist/server/src/camera/interfaces/ptz.d.ts +0 -13
- package/dist/server/src/camera/interfaces/ptz.js +0 -47
- package/dist/server/src/camera/interfaces/ptz.js.map +0 -1
- package/dist/server/src/camera/iou.d.ts +0 -2
- package/dist/server/src/camera/iou.js +0 -53
- package/dist/server/src/camera/iou.js.map +0 -1
- package/dist/server/src/camera/polygon.d.ts +0 -6
- package/dist/server/src/camera/polygon.js +0 -151
- package/dist/server/src/camera/polygon.js.map +0 -1
- package/dist/server/src/camera/streaming/peer-connection.d.ts +0 -55
- package/dist/server/src/camera/streaming/peer-connection.js +0 -203
- package/dist/server/src/camera/streaming/peer-connection.js.map +0 -1
- package/dist/server/src/camera/streaming/webrtc-connection.d.ts +0 -35
- package/dist/server/src/camera/streaming/webrtc-connection.js +0 -170
- package/dist/server/src/camera/streaming/webrtc-connection.js.map +0 -1
- package/dist/server/src/camera/streaming/werift-session.d.ts +0 -41
- package/dist/server/src/camera/streaming/werift-session.js +0 -179
- package/dist/server/src/camera/streaming/werift-session.js.map +0 -1
- package/dist/server/src/camera/videoFrame.d.ts +0 -24
- package/dist/server/src/camera/videoFrame.js +0 -104
- package/dist/server/src/camera/videoFrame.js.map +0 -1
- package/dist/server/src/decoder/index.d.ts +0 -11
- package/dist/server/src/decoder/index.js +0 -32
- package/dist/server/src/decoder/index.js.map +0 -1
- package/dist/server/src/decoder/types.d.ts +0 -151
- package/dist/server/src/decoder/types.js +0 -2
- package/dist/server/src/decoder/types.js.map +0 -1
- package/dist/server/src/decoder/worker.js +0 -245
- package/dist/server/src/decoder/worker.js.map +0 -1
- package/dist/server/src/index.d.ts +0 -18
- package/dist/server/src/index.js +0 -5
- package/dist/server/src/index.js.map +0 -1
- package/dist/server/src/nats/connection.d.ts +0 -17
- package/dist/server/src/nats/connection.js +0 -66
- package/dist/server/src/nats/connection.js.map +0 -1
- package/dist/server/src/nats/constants.d.ts +0 -1
- package/dist/server/src/nats/constants.js +0 -2
- package/dist/server/src/nats/constants.js.map +0 -1
- package/dist/server/src/nats/error.d.ts +0 -9
- package/dist/server/src/nats/error.js +0 -11
- package/dist/server/src/nats/error.js.map +0 -1
- package/dist/server/src/nats/messageQueue.d.ts +0 -20
- package/dist/server/src/nats/messageQueue.js +0 -132
- package/dist/server/src/nats/messageQueue.js.map +0 -1
- package/dist/server/src/nats/subscription.d.ts +0 -12
- package/dist/server/src/nats/subscription.js +0 -21
- package/dist/server/src/nats/subscription.js.map +0 -1
- package/dist/server/src/plugins/interfaces/audioDetection.d.ts +0 -7
- package/dist/server/src/plugins/interfaces/audioDetection.js +0 -4
- package/dist/server/src/plugins/interfaces/audioDetection.js.map +0 -1
- package/dist/server/src/plugins/interfaces/base.d.ts +0 -6
- package/dist/server/src/plugins/interfaces/base.js +0 -3
- package/dist/server/src/plugins/interfaces/base.js.map +0 -1
- package/dist/server/src/plugins/interfaces/motionDetection.d.ts +0 -6
- package/dist/server/src/plugins/interfaces/motionDetection.js +0 -4
- package/dist/server/src/plugins/interfaces/motionDetection.js.map +0 -1
- package/dist/server/src/plugins/interfaces/objectDetection.d.ts +0 -7
- package/dist/server/src/plugins/interfaces/objectDetection.js +0 -4
- package/dist/server/src/plugins/interfaces/objectDetection.js.map +0 -1
- package/dist/server/src/polyglot/node/decoder/child.d.ts +0 -1
- package/dist/server/src/polyglot/node/decoder/child.js +0 -644
- package/dist/server/src/polyglot/node/decoder/child.js.map +0 -1
- package/dist/server/src/polyglot/node/decoder/imageUtils.d.ts +0 -24
- package/dist/server/src/polyglot/node/decoder/imageUtils.js +0 -205
- package/dist/server/src/polyglot/node/decoder/imageUtils.js.map +0 -1
- package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.d.ts +0 -144
- package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.js +0 -65
- package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.wasm +0 -0
- package/dist/server/src/polyglot/node/decoder/wasm/test/imageUtils.py +0 -106
- package/dist/server/src/polyglot/node/plugins/cameraStorage.d.ts +0 -107
- package/dist/server/src/polyglot/node/plugins/cameraStorage.js +0 -292
- package/dist/server/src/polyglot/node/plugins/cameraStorage.js.map +0 -1
- package/dist/server/src/polyglot/node/plugins/child.d.ts +0 -28
- package/dist/server/src/polyglot/node/plugins/child.js +0 -222
- package/dist/server/src/polyglot/node/plugins/child.js.map +0 -1
- package/dist/server/src/polyglot/node/plugins/configService.d.ts +0 -104
- package/dist/server/src/polyglot/node/plugins/configService.js +0 -213
- package/dist/server/src/polyglot/node/plugins/configService.js.map +0 -1
- package/dist/server/src/polyglot/node/plugins/pluginApi.d.ts +0 -35
- package/dist/server/src/polyglot/node/plugins/pluginApi.js +0 -23
- package/dist/server/src/polyglot/node/plugins/pluginApi.js.map +0 -1
- package/dist/server/src/polyglot/node/plugins/pluginLogger.d.ts +0 -18
- package/dist/server/src/polyglot/node/plugins/pluginLogger.js +0 -89
- package/dist/server/src/polyglot/node/plugins/pluginLogger.js.map +0 -1
- package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.d.ts +0 -69
- package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js +0 -432
- package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js.map +0 -1
- package/dist/server/src/polyglot/node/plugins/proxy/coreManager.d.ts +0 -40
- package/dist/server/src/polyglot/node/plugins/proxy/coreManager.js +0 -105
- package/dist/server/src/polyglot/node/plugins/proxy/coreManager.js.map +0 -1
- package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.d.ts +0 -47
- package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.js +0 -164
- package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.js.map +0 -1
- package/dist/server/src/polyglot/node/plugins/schema.d.ts +0 -293
- package/dist/server/src/polyglot/node/plugins/schema.js +0 -740
- package/dist/server/src/polyglot/node/plugins/schema.js.map +0 -1
- package/dist/server/src/polyglot/node/plugins/storageController.d.ts +0 -30
- package/dist/server/src/polyglot/node/plugins/storageController.js +0 -40
- package/dist/server/src/polyglot/node/plugins/storageController.js.map +0 -1
- package/dist/server/src/polyglot/python/camera/interfaces/camera.py +0 -20
- package/dist/server/src/polyglot/python/camera/interfaces/prebuffer.py +0 -25
- package/dist/server/src/polyglot/python/camera/interfaces/ptz.py +0 -38
- package/dist/server/src/polyglot/python/camera/iou.py +0 -80
- package/dist/server/src/polyglot/python/camera/polygon.py +0 -173
- package/dist/server/src/polyglot/python/camera/video_frame.py +0 -188
- package/dist/server/src/polyglot/python/camera_ui_types/__init__.py +0 -1196
- package/dist/server/src/polyglot/python/decoder/child.py +0 -882
- package/dist/server/src/polyglot/python/decoder/image_utils.py +0 -149
- package/dist/server/src/polyglot/python/decoder/typings.py +0 -99
- package/dist/server/src/polyglot/python/plugins/camera_storage.py +0 -391
- package/dist/server/src/polyglot/python/plugins/child.py +0 -394
- package/dist/server/src/polyglot/python/plugins/config_service.py +0 -187
- package/dist/server/src/polyglot/python/plugins/constants.py +0 -1
- package/dist/server/src/polyglot/python/plugins/message_queue.py +0 -182
- package/dist/server/src/polyglot/python/plugins/plugin_api.py +0 -34
- package/dist/server/src/polyglot/python/plugins/plugin_logger.py +0 -111
- package/dist/server/src/polyglot/python/plugins/proxy/camera_device.py +0 -1677
- package/dist/server/src/polyglot/python/plugins/proxy/core_manager.py +0 -145
- package/dist/server/src/polyglot/python/plugins/proxy/device_manager.py +0 -226
- package/dist/server/src/polyglot/python/plugins/schema.py +0 -181
- package/dist/server/src/polyglot/python/plugins/storage_controller.py +0 -58
- package/dist/server/src/polyglot/python/plugins/typings.py +0 -253
- package/dist/server/src/polyglot/python/utilities/connection.py +0 -86
- package/dist/server/src/polyglot/python/utilities/json_lmdb.py +0 -19
- package/dist/server/src/polyglot/python/utilities/object_path.py +0 -195
- package/dist/server/src/polyglot/python/utilities/packer.py +0 -11
- package/dist/server/src/polyglot/python/utilities/subscriptions.py +0 -22
- package/dist/server/src/polyglot/python/utilities/task.py +0 -35
- package/dist/server/src/polyglot/python/utilities/thread.py +0 -10
- package/dist/server/src/polyglot/python/utilities/utils.py +0 -73
- package/dist/server/src/utils/ffmpeg.d.ts +0 -2
- package/dist/server/src/utils/ffmpeg.js +0 -61
- package/dist/server/src/utils/ffmpeg.js.map +0 -1
- package/dist/server/src/utils/network.d.ts +0 -12
- package/dist/server/src/utils/network.js +0 -92
- package/dist/server/src/utils/network.js.map +0 -1
- package/dist/server/src/utils/npm.d.ts +0 -4
- package/dist/server/src/utils/npm.js +0 -128
- package/dist/server/src/utils/npm.js.map +0 -1
- package/dist/server/src/utils/packer.d.ts +0 -2
- package/dist/server/src/utils/packer.js +0 -17
- package/dist/server/src/utils/packer.js.map +0 -1
- package/dist/server/src/utils/pythonInstaller.d.ts +0 -48
- package/dist/server/src/utils/pythonInstaller.js +0 -494
- package/dist/server/src/utils/pythonInstaller.js.map +0 -1
- package/dist/server/src/utils/reader.d.ts +0 -5
- package/dist/server/src/utils/reader.js +0 -41
- package/dist/server/src/utils/reader.js.map +0 -1
- package/dist/server/src/utils/subscribed.d.ts +0 -9
- package/dist/server/src/utils/subscribed.js +0 -17
- package/dist/server/src/utils/subscribed.js.map +0 -1
- package/dist/server/src/utils/utils.d.ts +0 -10
- package/dist/server/src/utils/utils.js +0 -165
- package/dist/server/src/utils/utils.js.map +0 -1
- package/upgrade-server.sh +0 -205
- /package/dist/interface/{@babel.l0sNRNKZ.0.0.22-alpha.1.js → @babel.l0sNRNKZ.0.0.22-alpha.2.js} +0 -0
- /package/dist/interface/{@react-dnd.CcwRs9xb.0.0.22-alpha.1.js → @react-dnd.CcwRs9xb.0.0.22-alpha.2.js} +0 -0
- /package/dist/interface/{@socket.io.Dkula2eQ.0.0.22-alpha.1.js → @socket.io.Dkula2eQ.0.0.22-alpha.2.js} +0 -0
- /package/dist/interface/{vue.l0sNRNKZ.0.0.22-alpha.1.js → @turf.l0sNRNKZ.0.0.22-alpha.2.js} +0 -0
- /package/dist/interface/{@xterm.DV-IE8JS.0.0.22-alpha.1.js → @xterm.CRKo0AGB.0.0.22-alpha.2.js} +0 -0
- /package/dist/interface/assets/{@vueform.0.0.22-alpha.1.h7tNX9p6.css → @vueform.0.0.22-alpha.2.CroAHJs8.css} +0 -0
- /package/dist/interface/assets/{@xterm.0.0.22-alpha.1.CGrrDQr5.css → @xterm.0.0.22-alpha.2.CFbL2ovg.css} +0 -0
- /package/dist/interface/assets/{Account.0.0.22-alpha.1.Ce3OmKrC.css → Account.0.0.22-alpha.2.J7oAjogS.css} +0 -0
- /package/dist/interface/assets/{Backup.0.0.22-alpha.1.BIwaSlv3.css → Backup.0.0.22-alpha.2.CX0rT0QJ.css} +0 -0
- /package/dist/interface/assets/{Plugin.0.0.22-alpha.1.BtRA6zDt.css → Plugin.0.0.22-alpha.2.DJbgaQc1.css} +0 -0
- /package/dist/interface/assets/{Plugins.0.0.22-alpha.1.Cwu0aGUO.css → Plugins.0.0.22-alpha.2.DXSoO9M1.css} +0 -0
- /package/dist/interface/assets/{User.0.0.22-alpha.1.DPDcJbx8.css → User.0.0.22-alpha.2.BiGtIFqt.css} +0 -0
- /package/dist/interface/assets/{highlight.0.0.22-alpha.1.DgoK_Xib.css → highlight.0.0.22-alpha.2.Ch2EwETz.css} +0 -0
- /package/dist/interface/assets/{logo-256.0.0.22-alpha.1.BCQk9H1-.png → logo-256.0.0.22-alpha.2.BCQk9H1-.png} +0 -0
- /package/dist/interface/assets/{logo-512.0.0.22-alpha.1.DLKVOU2S.png → logo-512.0.0.22-alpha.2.DLKVOU2S.png} +0 -0
- /package/dist/interface/assets/{logo.0.0.22-alpha.1.DmEiRk0z.png → logo.0.0.22-alpha.2.DmEiRk0z.png} +0 -0
- /package/dist/interface/assets/{mode-json.0.0.22-alpha.1.Br7xisR1.js → mode-json.0.0.22-alpha.2.Br7xisR1.js} +0 -0
- /package/dist/interface/assets/{mode-yaml.0.0.22-alpha.1.CIYL8U3d.js → mode-yaml.0.0.22-alpha.2.CIYL8U3d.js} +0 -0
- /package/dist/interface/assets/{vue3-toastify.0.0.22-alpha.1.DTY1DMRs.css → vue3-toastify.0.0.22-alpha.2.DHXAGmwn.css} +0 -0
- /package/dist/interface/{axios.C-n2IhIP.0.0.22-alpha.1.js → axios.C-n2IhIP.0.0.22-alpha.2.js} +0 -0
- /package/dist/interface/{compare-versions.DqEOhma6.0.0.22-alpha.1.js → compare-versions.DqEOhma6.0.0.22-alpha.2.js} +0 -0
- /package/dist/interface/{dijkstrajs.D_NXgYpA.0.0.22-alpha.1.js → dijkstrajs.D_NXgYpA.0.0.22-alpha.2.js} +0 -0
- /package/dist/interface/{engine.io-parser.BiEtp6m2.0.0.22-alpha.1.js → engine.io-parser.BiEtp6m2.0.0.22-alpha.2.js} +0 -0
- /package/dist/interface/{entities.C20TfXL6.0.0.22-alpha.1.js → entities.C20TfXL6.0.0.22-alpha.2.js} +0 -0
- /package/dist/interface/{get-size.D1dS-IaP.0.0.22-alpha.1.js → get-size.D1dS-IaP.0.0.22-alpha.2.js} +0 -0
- /package/dist/interface/{mdurl.k9Sl0PQj.0.0.22-alpha.1.js → mdurl.k9Sl0PQj.0.0.22-alpha.2.js} +0 -0
- /package/dist/interface/{punycode.js.Dj65hjkv.0.0.22-alpha.1.js → punycode.js.Dj65hjkv.0.0.22-alpha.2.js} +0 -0
- /package/dist/interface/{react-dnd-html5-backend.1HQjlkwI.0.0.22-alpha.1.js → react-dnd-html5-backend.1HQjlkwI.0.0.22-alpha.2.js} +0 -0
- /package/dist/interface/{redux.CuxFRhX_.0.0.22-alpha.1.js → redux.CuxFRhX_.0.0.22-alpha.2.js} +0 -0
- /package/dist/interface/{tslib.9k7AwCpt.0.0.22-alpha.1.js → tslib.9k7AwCpt.0.0.22-alpha.2.js} +0 -0
- /package/dist/interface/{uc.micro.kMc2yuuw.0.0.22-alpha.1.js → uc.micro.kMc2yuuw.0.0.22-alpha.2.js} +0 -0
- /package/dist/server/bin/{fork.d.ts → cameraui-server.d.ts} +0 -0
|
@@ -1,26 +1,26 @@
|
|
|
1
|
+
import { getNpmPath, orderBy } from '@camera.ui/common';
|
|
2
|
+
import TTLCache from '@isaacs/ttlcache';
|
|
1
3
|
import { spawn as spawnPty } from '@scrypted/node-pty';
|
|
2
|
-
import
|
|
4
|
+
import AdmZip from 'adm-zip';
|
|
5
|
+
import { cyan, green, red } from 'ansicolor';
|
|
3
6
|
import { ensureDir, move, pathExists, readJSON, readJson, remove, writeJson } from 'fs-extra/esm';
|
|
4
|
-
import { LRUCache } from 'lru-cache';
|
|
5
7
|
import { createHash } from 'node:crypto';
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
+
import { createReadStream, readFile as readFileSync, truncate } from 'node:fs';
|
|
9
|
+
import { mkdtemp, readFile, rmdir, unlink, writeFile } from 'node:fs/promises';
|
|
8
10
|
import { platform, tmpdir, userInfo } from 'node:os';
|
|
9
11
|
import { basename, dirname, join } from 'node:path';
|
|
10
|
-
import {
|
|
12
|
+
import { Readable } from 'node:stream';
|
|
13
|
+
import { gt, parse as parseVersion } from 'semver';
|
|
11
14
|
import sharp from 'sharp';
|
|
12
15
|
import { x as extract } from 'tar';
|
|
13
16
|
import { container } from 'tsyringe';
|
|
14
17
|
import { PluginManager } from '../../plugins/index.js';
|
|
15
|
-
import { ConfigService } from '../../services/config/index.js';
|
|
16
|
-
import { getNpmPath } from '../../utils/npm.js';
|
|
17
|
-
import { orderBy, sleep } from '../../utils/utils.js';
|
|
18
18
|
import { CamerasService } from '../services/cameras.service.js';
|
|
19
19
|
import { PluginsService } from '../services/plugins.service.js';
|
|
20
20
|
import fetchInstance from '../utils/fetch.js';
|
|
21
|
-
const npmPluginCache = new
|
|
21
|
+
const npmPluginCache = new TTLCache({ ttl: 300, max: 100 });
|
|
22
22
|
const searchResultBlacklist = new Set(['camera.ui', 'homebridge-camera-ui']);
|
|
23
|
-
const pluginLogoCache = new
|
|
23
|
+
const pluginLogoCache = new TTLCache({ max: 100, ttl: 1000 * 60 * 60 * 24 });
|
|
24
24
|
export class PluginsController {
|
|
25
25
|
app;
|
|
26
26
|
logger;
|
|
@@ -176,7 +176,7 @@ export class PluginsController {
|
|
|
176
176
|
catch {
|
|
177
177
|
//
|
|
178
178
|
}
|
|
179
|
-
const version = plugin.info.installedVersion
|
|
179
|
+
const version = plugin.info.installedVersion ?? 'latest';
|
|
180
180
|
const response = await fetchInstance(`https://unpkg.com/${plugin.pluginName}@${version}/CHANGELOG.md`, {
|
|
181
181
|
method: 'GET',
|
|
182
182
|
});
|
|
@@ -224,6 +224,7 @@ export class PluginsController {
|
|
|
224
224
|
return reply.code(200).send(Buffer.from('').toString('base64'));
|
|
225
225
|
}
|
|
226
226
|
let base64Logo;
|
|
227
|
+
pluginLogoCache.purgeStale();
|
|
227
228
|
if (pluginLogoCache.has(pluginName)) {
|
|
228
229
|
base64Logo = pluginLogoCache.get(pluginName);
|
|
229
230
|
}
|
|
@@ -413,7 +414,7 @@ export class PluginsController {
|
|
|
413
414
|
catch {
|
|
414
415
|
//
|
|
415
416
|
}
|
|
416
|
-
reply.send(error
|
|
417
|
+
reply.send(error ?? fileBuffer);
|
|
417
418
|
});
|
|
418
419
|
reply.header('Content-Type', 'application/octet-stream');
|
|
419
420
|
reply.header('Content-Disposition', 'attachment; filename=video.mp4');
|
|
@@ -495,7 +496,7 @@ export class PluginsController {
|
|
|
495
496
|
catch {
|
|
496
497
|
//
|
|
497
498
|
}
|
|
498
|
-
const version = plugin.info.installedVersion
|
|
499
|
+
const version = plugin.info.installedVersion ?? 'latest';
|
|
499
500
|
const response = await fetchInstance(`https://unpkg.com/${plugin.pluginName}@${version}/README.md`, {
|
|
500
501
|
method: 'GET',
|
|
501
502
|
});
|
|
@@ -560,7 +561,7 @@ export class PluginsController {
|
|
|
560
561
|
try {
|
|
561
562
|
const installedPlugins = this.service.installedPlugins();
|
|
562
563
|
const allExtensions = installedPlugins
|
|
563
|
-
.filter((plugin) => plugin.contract.extension
|
|
564
|
+
.filter((plugin) => plugin.contract.extension ?? plugin.contract.supportAdditionalCameras)
|
|
564
565
|
.map((plugin) => ({
|
|
565
566
|
pluginName: plugin.pluginName,
|
|
566
567
|
displayName: plugin.displayName,
|
|
@@ -632,10 +633,68 @@ export class PluginsController {
|
|
|
632
633
|
});
|
|
633
634
|
}
|
|
634
635
|
}
|
|
636
|
+
clearLog(req, reply) {
|
|
637
|
+
try {
|
|
638
|
+
const pluginName = this.resolvePluginName(req.params);
|
|
639
|
+
const plugin = this.service.getPluginByName(pluginName);
|
|
640
|
+
if (!plugin) {
|
|
641
|
+
return reply.code(404).send({
|
|
642
|
+
statusCode: 404,
|
|
643
|
+
message: 'Plugin not exists',
|
|
644
|
+
});
|
|
645
|
+
}
|
|
646
|
+
truncate(plugin.logPath, (error) => {
|
|
647
|
+
if (error) {
|
|
648
|
+
return reply.code(500).send({
|
|
649
|
+
statusCode: 500,
|
|
650
|
+
message: error.message,
|
|
651
|
+
});
|
|
652
|
+
}
|
|
653
|
+
this.app.io.of('/logs').emit('clear-plugin-log', pluginName);
|
|
654
|
+
return reply.code(204).send();
|
|
655
|
+
});
|
|
656
|
+
}
|
|
657
|
+
catch (error) {
|
|
658
|
+
return reply.code(500).send({
|
|
659
|
+
statusCode: 500,
|
|
660
|
+
message: error.message,
|
|
661
|
+
});
|
|
662
|
+
}
|
|
663
|
+
}
|
|
664
|
+
downloadLog(req, reply) {
|
|
665
|
+
try {
|
|
666
|
+
const pluginName = this.resolvePluginName(req.params);
|
|
667
|
+
const plugin = this.service.getPluginByName(pluginName);
|
|
668
|
+
if (!plugin) {
|
|
669
|
+
return reply.code(404).send({
|
|
670
|
+
statusCode: 404,
|
|
671
|
+
message: 'Plugin not exists',
|
|
672
|
+
});
|
|
673
|
+
}
|
|
674
|
+
const buffer = new Readable();
|
|
675
|
+
buffer._read = () => { };
|
|
676
|
+
const readStream = createReadStream(plugin.logPath);
|
|
677
|
+
readStream.on('data', (data) => {
|
|
678
|
+
buffer.push(data.toString('utf8').replace(/\x1b\[[0-9;]*m/g, ''));
|
|
679
|
+
});
|
|
680
|
+
readStream.on('end', () => {
|
|
681
|
+
buffer.push(null);
|
|
682
|
+
});
|
|
683
|
+
reply.header('Content-Type', 'application/octet-stream');
|
|
684
|
+
reply.header('Content-Disposition', `attachment; filename=camera.ui.${plugin.pluginName}.log.txt`);
|
|
685
|
+
return reply.code(200).send(buffer);
|
|
686
|
+
}
|
|
687
|
+
catch (error) {
|
|
688
|
+
return reply.code(500).send({
|
|
689
|
+
statusCode: 500,
|
|
690
|
+
message: error.message,
|
|
691
|
+
});
|
|
692
|
+
}
|
|
693
|
+
}
|
|
635
694
|
async search(req, reply) {
|
|
636
695
|
try {
|
|
637
|
-
const query = req.query.pluginname
|
|
638
|
-
const q = (!query
|
|
696
|
+
const query = req.query.pluginname ?? '';
|
|
697
|
+
const q = (!query?.length ? '' : query + '+') + 'keywords:camera-ui-plugin+not:deprecated&size=30';
|
|
639
698
|
let searchResults;
|
|
640
699
|
try {
|
|
641
700
|
const response = await fetchInstance(`https://registry.npmjs.org/-/v1/search?text=${q}`, {
|
|
@@ -647,7 +706,7 @@ export class PluginsController {
|
|
|
647
706
|
throw new Error(`Failed to search the npm registry - "${error.message}"`);
|
|
648
707
|
}
|
|
649
708
|
const result = searchResults.objects
|
|
650
|
-
.filter((x) => x.package.name.
|
|
709
|
+
.filter((x) => x.package.name.startsWith('camera-ui-') || this.isScopedPlugin(x.package.name))
|
|
651
710
|
.filter((x) => !searchResultBlacklist.has(x.package.name))
|
|
652
711
|
.map((pkg) => {
|
|
653
712
|
let plugin = {
|
|
@@ -674,7 +733,7 @@ export class PluginsController {
|
|
|
674
733
|
plugin.author = pkg.package.publisher ? pkg.package.publisher.username : undefined;
|
|
675
734
|
return plugin;
|
|
676
735
|
});
|
|
677
|
-
if (!result.length && (query.
|
|
736
|
+
if (!result.length && (query.startsWith('camera-ui-') || this.isScopedPlugin(query)) && !searchResultBlacklist.has(query.toLowerCase())) {
|
|
678
737
|
const singlePluginQuey = await this.searchNpmRegistrySingle(query.toLowerCase());
|
|
679
738
|
return singlePluginQuey;
|
|
680
739
|
}
|
|
@@ -760,7 +819,7 @@ export class PluginsController {
|
|
|
760
819
|
npmPluginCache.delete(plugin.pluginName);
|
|
761
820
|
plugin.reparsePackageJson();
|
|
762
821
|
const serverNsp = this.socketService.namespaces.get('/server');
|
|
763
|
-
serverNsp.
|
|
822
|
+
serverNsp.checkPlugins();
|
|
764
823
|
return reply.code(201).send(plugin.info);
|
|
765
824
|
}
|
|
766
825
|
catch (error) {
|
|
@@ -770,22 +829,6 @@ export class PluginsController {
|
|
|
770
829
|
});
|
|
771
830
|
}
|
|
772
831
|
}
|
|
773
|
-
async updateServer(req, reply) {
|
|
774
|
-
try {
|
|
775
|
-
this.logger.log(`Updating server: ${ConfigService.APP_NAME}@${req.body.pluginversion}`);
|
|
776
|
-
const installPath = await this.manage(ConfigService.APP_NAME, 'installServer', req.body.pluginversion);
|
|
777
|
-
this.logger.log(`Server updated: ${ConfigService.APP_NAME}@${ConfigService.VERSION} (${installPath})`);
|
|
778
|
-
const serverNsp = this.socketService.namespaces.get('/server');
|
|
779
|
-
serverNsp.checkUpdate();
|
|
780
|
-
return reply.code(204).send();
|
|
781
|
-
}
|
|
782
|
-
catch (error) {
|
|
783
|
-
return reply.code(500).send({
|
|
784
|
-
statusCode: 500,
|
|
785
|
-
message: error.message,
|
|
786
|
-
});
|
|
787
|
-
}
|
|
788
|
-
}
|
|
789
832
|
async uninstallByName(req, reply) {
|
|
790
833
|
try {
|
|
791
834
|
const pluginName = this.resolvePluginName(req.params);
|
|
@@ -833,113 +876,30 @@ export class PluginsController {
|
|
|
833
876
|
}
|
|
834
877
|
}
|
|
835
878
|
async manage(pluginName, action, version, pluginId) {
|
|
836
|
-
|
|
837
|
-
|
|
838
|
-
}
|
|
839
|
-
|
|
840
|
-
let targetDir;
|
|
841
|
-
if (pluginName === ConfigService.APP_NAME) {
|
|
842
|
-
targetDir = dir;
|
|
843
|
-
}
|
|
844
|
-
else {
|
|
845
|
-
targetDir = join(dir, pluginName);
|
|
846
|
-
}
|
|
847
|
-
this.emitProgress(pluginName, `\n\rUSER: ${userInfo().username}\n\r`, cyan);
|
|
848
|
-
this.emitProgress(pluginName, `DIR: ${targetDir}\n\r`, cyan);
|
|
849
|
-
this.emitProgress(pluginName, `ACTION: ${action}\n\r\n\r`, cyan);
|
|
850
|
-
await this.removeSynologyMetadata();
|
|
879
|
+
const targetDir = join(this.configService.PLUGINS_INSTALL_PATH, pluginName);
|
|
880
|
+
this.emitProgress(pluginName, `\r\nUSER: ${userInfo().username}\r\n`, cyan);
|
|
881
|
+
this.emitProgress(pluginName, `DIR: ${targetDir}\r\n`, cyan);
|
|
882
|
+
this.emitProgress(pluginName, `ACTION: ${action}\r\r\n\n`, cyan);
|
|
851
883
|
switch (action) {
|
|
852
884
|
case 'install':
|
|
853
|
-
await this.installPlugin(pluginName, version
|
|
854
|
-
break;
|
|
855
|
-
case 'installServer':
|
|
856
|
-
await this.installServer(pluginName, version || 'latest', targetDir);
|
|
885
|
+
await this.installPlugin(pluginName, version ?? 'latest', targetDir);
|
|
857
886
|
break;
|
|
858
887
|
case 'update':
|
|
859
|
-
await this.updatePlugin(pluginName, version
|
|
888
|
+
await this.updatePlugin(pluginName, version ?? 'latest', targetDir);
|
|
860
889
|
break;
|
|
861
890
|
case 'uninstall':
|
|
862
891
|
await this.uninstallPlugin(pluginName, targetDir);
|
|
863
|
-
|
|
892
|
+
if (pluginId) {
|
|
893
|
+
await this.camerasService.removeByPluginId(pluginId);
|
|
894
|
+
}
|
|
864
895
|
break;
|
|
865
896
|
default:
|
|
866
897
|
throw new Error(`Unknown action: ${action}`);
|
|
867
898
|
}
|
|
868
|
-
await this.ensurePluginDirExists();
|
|
869
|
-
if (pluginId && action === 'uninstall' && pluginName !== ConfigService.APP_NAME) {
|
|
870
|
-
await this.camerasService.removeByPluginId(pluginId);
|
|
871
|
-
}
|
|
872
899
|
return targetDir;
|
|
873
900
|
}
|
|
874
|
-
async installServer(pluginName, version, targetDir) {
|
|
875
|
-
await this.removeSynologyMetadata();
|
|
876
|
-
const upgradeInstallScriptPath = join(targetDir, 'upgrade-server.sh');
|
|
877
|
-
let timeoutTimer;
|
|
878
|
-
const command = [upgradeInstallScriptPath, version, targetDir];
|
|
879
|
-
try {
|
|
880
|
-
await access(join(targetDir, 'node_modules'), constants.W_OK);
|
|
881
|
-
}
|
|
882
|
-
catch {
|
|
883
|
-
this.emitProgress(pluginName, `The user "${userInfo().username}" does not have write access to the target directory:\n\r\n\r`, yellow);
|
|
884
|
-
this.emitProgress(pluginName, `${join(targetDir, 'node_modules')}\n\r\n\r`);
|
|
885
|
-
this.emitProgress(pluginName, 'This may cause the operation to fail.\n\r\n\r', yellow);
|
|
886
|
-
}
|
|
887
|
-
this.logger.log(`Running Command: ${command.join(' ')}`);
|
|
888
|
-
if (!satisfies(process.version, `>=${ConfigService.MIN_NODE_VERSION}`)) {
|
|
889
|
-
this.emitProgress(pluginName, `Node.js v${ConfigService.MIN_NODE_VERSION} higher is required for ${ConfigService.APP_NAME}.\n\r`, yellow);
|
|
890
|
-
this.emitProgress(pluginName, `You may experience issues while running on Node.js ${process.version}.\n\r\n\r`, yellow);
|
|
891
|
-
}
|
|
892
|
-
// set up the environment for the call
|
|
893
|
-
const env = {};
|
|
894
|
-
Object.assign(env, process.env);
|
|
895
|
-
Object.assign(env, {
|
|
896
|
-
// npm_config_install_strategy: 'shallow',
|
|
897
|
-
npm_config_unsafe_perm: 'true',
|
|
898
|
-
npm_config_update_notifier: 'false',
|
|
899
|
-
npm_config_prefer_online: 'true',
|
|
900
|
-
npm_config_foreground_scripts: 'true',
|
|
901
|
-
npm_config_loglevel: 'info',
|
|
902
|
-
npm_config_prefix: targetDir,
|
|
903
|
-
});
|
|
904
|
-
// set global prefix for unix based systems
|
|
905
|
-
if (platform() !== 'win32') {
|
|
906
|
-
if (basename(targetDir) === 'lib') {
|
|
907
|
-
Object.assign(env, {
|
|
908
|
-
npm_config_prefix: dirname(targetDir),
|
|
909
|
-
});
|
|
910
|
-
}
|
|
911
|
-
}
|
|
912
|
-
await new Promise((_resolve, _reject) => {
|
|
913
|
-
const term = spawnPty(command.shift(), command, {
|
|
914
|
-
name: 'xterm-color',
|
|
915
|
-
cols: 80,
|
|
916
|
-
rows: 30,
|
|
917
|
-
cwd: targetDir,
|
|
918
|
-
env,
|
|
919
|
-
});
|
|
920
|
-
// send stdout data from the process to all clients
|
|
921
|
-
term.onData((data) => {
|
|
922
|
-
this.emitProgress(pluginName, data);
|
|
923
|
-
});
|
|
924
|
-
// send an error message to the client if the command does not exit with code 0
|
|
925
|
-
term.onExit((error) => {
|
|
926
|
-
clearTimeout(timeoutTimer);
|
|
927
|
-
if (error.exitCode === 0) {
|
|
928
|
-
this.emitProgress(pluginName, `\n\rServer ${pluginName}@${version} has been successfully updated.\n\r\n\r`, green);
|
|
929
|
-
_resolve(null);
|
|
930
|
-
}
|
|
931
|
-
else {
|
|
932
|
-
this.emitProgress(pluginName, `\n\rError during update of ${pluginName}@${version}.\n\r\n\r`, red);
|
|
933
|
-
_reject(new Error('Operation failed. Please review log for details.'));
|
|
934
|
-
}
|
|
935
|
-
});
|
|
936
|
-
// if the command spends to long trying to execute kill it after 5 minutes
|
|
937
|
-
timeoutTimer = setTimeout(() => {
|
|
938
|
-
term.kill('SIGTERM');
|
|
939
|
-
}, 300000);
|
|
940
|
-
});
|
|
941
|
-
}
|
|
942
901
|
async installPlugin(pluginName, version, targetDir, update) {
|
|
902
|
+
const backupTempDir = join(tmpdir(), `${pluginName}_backup`);
|
|
943
903
|
try {
|
|
944
904
|
const npmRegistry = 'https://registry.npmjs.org';
|
|
945
905
|
const packageUrl = `${npmRegistry}/${pluginName}/${version}`;
|
|
@@ -951,15 +911,20 @@ export class PluginsController {
|
|
|
951
911
|
const packageInfo = await response.json();
|
|
952
912
|
const tarballUrl = packageInfo.dist.tarball;
|
|
953
913
|
const expectedShasum = packageInfo.dist.shasum;
|
|
954
|
-
this.emitProgress(pluginName, ' Done\n\r\n
|
|
914
|
+
this.emitProgress(pluginName, ' Done\r\n\r\n', green);
|
|
955
915
|
const tarballData = await this.downloadWithProgress(tarballUrl, pluginName, version);
|
|
956
|
-
this.emitProgress(pluginName, ' - Done\n\r\n
|
|
916
|
+
this.emitProgress(pluginName, ' - Done\r\n\r\n', green);
|
|
957
917
|
this.emitProgress(pluginName, '> Verifying package integrity...');
|
|
958
918
|
const computedShasum = createHash('sha1').update(Buffer.from(tarballData)).digest('hex');
|
|
959
919
|
if (computedShasum !== expectedShasum) {
|
|
960
920
|
throw new Error(`SHA checksum mismatch. Expected: ${expectedShasum}, Got: ${computedShasum}`);
|
|
961
921
|
}
|
|
962
|
-
this.emitProgress(pluginName, ' Done\n\r\n
|
|
922
|
+
this.emitProgress(pluginName, ' Done\r\n\r\n', green);
|
|
923
|
+
if (await pathExists(targetDir)) {
|
|
924
|
+
this.emitProgress(pluginName, '> Backing up existing installation...');
|
|
925
|
+
await move(targetDir, backupTempDir);
|
|
926
|
+
this.emitProgress(pluginName, ' Done\r\n\r\n', green);
|
|
927
|
+
}
|
|
963
928
|
await ensureDir(targetDir);
|
|
964
929
|
this.emitProgress(pluginName, '> Extracting package...');
|
|
965
930
|
await new Promise((_resolve, _reject) => {
|
|
@@ -969,17 +934,31 @@ export class PluginsController {
|
|
|
969
934
|
});
|
|
970
935
|
extractStream.on('error', _reject);
|
|
971
936
|
extractStream.on('end', () => {
|
|
972
|
-
this.emitProgress(pluginName, ' Done\n\r\n
|
|
937
|
+
this.emitProgress(pluginName, ' Done\r\n\r\n', green);
|
|
973
938
|
_resolve();
|
|
974
939
|
});
|
|
975
940
|
extractStream.write(Buffer.from(tarballData));
|
|
976
941
|
extractStream.end();
|
|
977
942
|
});
|
|
978
943
|
await this.installProductionDependencies(targetDir, pluginName);
|
|
979
|
-
this.
|
|
944
|
+
await this.extrackBundeledPlugin(targetDir, pluginName);
|
|
945
|
+
this.emitProgress(pluginName, '\r\n> Cleaning up...');
|
|
946
|
+
await remove(backupTempDir);
|
|
947
|
+
this.emitProgress(pluginName, ' Done\r\n\r\n', green);
|
|
948
|
+
this.emitProgress(pluginName, `Plugin ${pluginName}@${version} has been successfully ${update ? 'updated' : 'installed'}.\r\n\r\n`, green);
|
|
980
949
|
}
|
|
981
950
|
catch (error) {
|
|
982
|
-
this.emitProgress(pluginName, `\
|
|
951
|
+
this.emitProgress(pluginName, `\r\nError during ${update ? 'update' : 'installation'} of ${pluginName}@${version}.\r\n\r\n`, red);
|
|
952
|
+
try {
|
|
953
|
+
this.emitProgress(pluginName, '> Restoring previous version...');
|
|
954
|
+
await remove(targetDir);
|
|
955
|
+
await move(backupTempDir, targetDir);
|
|
956
|
+
this.emitProgress(pluginName, ' Done\r\n\r\n', green);
|
|
957
|
+
}
|
|
958
|
+
catch (error) {
|
|
959
|
+
this.emitProgress(pluginName, `\r\n\r\nError: ${error.message}\r\n`, red);
|
|
960
|
+
this.emitProgress(pluginName, 'Failed to restore previous version.\r\n\r\n', red);
|
|
961
|
+
}
|
|
983
962
|
throw error;
|
|
984
963
|
}
|
|
985
964
|
}
|
|
@@ -990,70 +969,44 @@ export class PluginsController {
|
|
|
990
969
|
const packageJson = await readJson(packageJsonPath);
|
|
991
970
|
const currentVersion = packageJson.version;
|
|
992
971
|
if (currentVersion === version) {
|
|
993
|
-
this.emitProgress(pluginName,
|
|
994
|
-
this.emitProgress(pluginName, `Plugin ${pluginName} is already up to date\n\r\n\r`, green);
|
|
972
|
+
this.emitProgress(pluginName, `Plugin ${pluginName} is already up to date.\r\n\r\n`, green);
|
|
995
973
|
return;
|
|
996
974
|
}
|
|
997
|
-
|
|
998
|
-
await
|
|
999
|
-
this.emitProgress(pluginName, ' Done\n\r\n\r', green);
|
|
1000
|
-
let cleaningUp = false;
|
|
1001
|
-
try {
|
|
1002
|
-
await this.installPlugin(pluginName, version, targetDir, true);
|
|
1003
|
-
this.emitProgress(pluginName, '> Cleaning up...');
|
|
1004
|
-
cleaningUp = true;
|
|
1005
|
-
await remove(tempNodeModules);
|
|
1006
|
-
this.emitProgress(pluginName, ' Done\n\r\n\r', green);
|
|
1007
|
-
}
|
|
1008
|
-
catch (error) {
|
|
1009
|
-
if (cleaningUp) {
|
|
1010
|
-
this.emitProgress(pluginName, ' Error\n\r\n\r', red);
|
|
1011
|
-
}
|
|
1012
|
-
this.emitProgress(pluginName, ' Restoring previous version...');
|
|
1013
|
-
await remove(targetDir);
|
|
1014
|
-
await move(tempNodeModules, targetDir);
|
|
1015
|
-
this.emitProgress(pluginName, ' Done\n\r\n\r', green);
|
|
1016
|
-
throw error;
|
|
1017
|
-
}
|
|
975
|
+
this.emitProgress(pluginName, ' Done\r\n\r\n', green);
|
|
976
|
+
await this.installPlugin(pluginName, version, targetDir, true);
|
|
1018
977
|
}
|
|
1019
978
|
catch (error) {
|
|
1020
|
-
this.emitProgress(pluginName, `\
|
|
979
|
+
this.emitProgress(pluginName, `\r\nError during update of ${pluginName}@${version}.\r\n\r\n`, red);
|
|
1021
980
|
throw error;
|
|
1022
981
|
}
|
|
1023
982
|
}
|
|
1024
983
|
async uninstallPlugin(pluginName, targetDir) {
|
|
1025
984
|
try {
|
|
1026
|
-
this.emitProgress(pluginName, '>
|
|
1027
|
-
const pluginInstalled = await pathExists(targetDir);
|
|
1028
|
-
this.emitProgress(pluginName, ' Done\n\r\n\r', green);
|
|
1029
|
-
if (!pluginInstalled) {
|
|
1030
|
-
this.emitProgress(pluginName, `Plugin ${pluginName} is not installed. Break\n\r\n\r`, red);
|
|
1031
|
-
return;
|
|
1032
|
-
}
|
|
1033
|
-
this.emitProgress(pluginName, '> Uninstalling plugin...');
|
|
985
|
+
this.emitProgress(pluginName, '> Removing plugin...');
|
|
1034
986
|
await remove(targetDir);
|
|
1035
|
-
this.emitProgress(pluginName, ' Done\n\r\n
|
|
1036
|
-
this.emitProgress(pluginName, `Plugin ${pluginName} has been successfully uninstalled.\n
|
|
987
|
+
this.emitProgress(pluginName, ' Done\r\n\r\n', green);
|
|
988
|
+
this.emitProgress(pluginName, `Plugin ${pluginName} has been successfully uninstalled.\r\n`, green);
|
|
1037
989
|
}
|
|
1038
990
|
catch (error) {
|
|
1039
|
-
this.emitProgress(pluginName, ' Error\n\r\n
|
|
1040
|
-
this.emitProgress(pluginName, `\
|
|
991
|
+
this.emitProgress(pluginName, ' Error\r\n\r\n', red);
|
|
992
|
+
this.emitProgress(pluginName, `\r\nError during uninstallation of ${pluginName}.\r\n\r\n`, red);
|
|
1041
993
|
throw error;
|
|
1042
994
|
}
|
|
1043
995
|
}
|
|
1044
996
|
async installProductionDependencies(packageDir, pluginName) {
|
|
1045
997
|
await new Promise((_resolve, _reject) => {
|
|
1046
|
-
this.emitProgress(pluginName, '> Installing dependencies...\n\r\n
|
|
1047
|
-
const command = [...getNpmPath(), 'install', '--omit=dev', '--loglevel', 'info'];
|
|
998
|
+
this.emitProgress(pluginName, '> Installing dependencies...\r\n\r\n');
|
|
999
|
+
const command = [...getNpmPath(), 'install', '--omit=dev', '--include=prod', '--loglevel', 'info'];
|
|
1048
1000
|
const env = {};
|
|
1049
1001
|
Object.assign(env, process.env);
|
|
1050
1002
|
Object.assign(env, {
|
|
1051
1003
|
// npm_config_global_style: 'false',
|
|
1052
1004
|
// npm_config_install_strategy: 'shallow',
|
|
1005
|
+
NODE_ENV: 'production',
|
|
1053
1006
|
npm_config_unsafe_perm: 'true',
|
|
1054
1007
|
npm_config_update_notifier: 'false',
|
|
1055
1008
|
npm_config_prefer_online: 'true',
|
|
1056
|
-
npm_config_foreground_scripts: 'true',
|
|
1009
|
+
// npm_config_foreground_scripts: 'true',
|
|
1057
1010
|
npm_config_loglevel: 'info',
|
|
1058
1011
|
npm_config_prefix: packageDir,
|
|
1059
1012
|
});
|
|
@@ -1094,21 +1047,20 @@ export class PluginsController {
|
|
|
1094
1047
|
}, 300000);
|
|
1095
1048
|
});
|
|
1096
1049
|
}
|
|
1097
|
-
async
|
|
1098
|
-
|
|
1050
|
+
async extrackBundeledPlugin(packageDir, pluginName) {
|
|
1051
|
+
const bundlePath = join(packageDir, 'bundle.zip');
|
|
1052
|
+
const isBundeledPlugin = await pathExists(bundlePath);
|
|
1053
|
+
if (!isBundeledPlugin) {
|
|
1099
1054
|
return;
|
|
1100
1055
|
}
|
|
1101
|
-
|
|
1102
|
-
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
catch (error) {
|
|
1107
|
-
this.logger.error('Failed to recreate plugin directory', error);
|
|
1108
|
-
}
|
|
1109
|
-
}
|
|
1056
|
+
this.emitProgress(pluginName, '\r\n> Extracting bundled plugin...');
|
|
1057
|
+
const zip = new AdmZip(bundlePath);
|
|
1058
|
+
zip.extractAllTo(packageDir, true);
|
|
1059
|
+
await remove(bundlePath);
|
|
1060
|
+
this.emitProgress(pluginName, ' Done', green);
|
|
1110
1061
|
}
|
|
1111
1062
|
async getAvailablePluginVersions(pluginName) {
|
|
1063
|
+
npmPluginCache.purgeStale();
|
|
1112
1064
|
const fromCache = npmPluginCache.get(`lookup-${pluginName}`);
|
|
1113
1065
|
let pkg = fromCache;
|
|
1114
1066
|
if (!pkg) {
|
|
@@ -1134,6 +1086,7 @@ export class PluginsController {
|
|
|
1134
1086
|
betaUpdateAvailable: false,
|
|
1135
1087
|
};
|
|
1136
1088
|
try {
|
|
1089
|
+
npmPluginCache.purgeStale();
|
|
1137
1090
|
// attempt to load from cache
|
|
1138
1091
|
const fromCache = npmPluginCache.get(plugin.pluginName);
|
|
1139
1092
|
let pkg = fromCache;
|
|
@@ -1171,22 +1124,9 @@ export class PluginsController {
|
|
|
1171
1124
|
}
|
|
1172
1125
|
return pluginState;
|
|
1173
1126
|
}
|
|
1174
|
-
async removeSynologyMetadata() {
|
|
1175
|
-
if (!this.configService.PLUGINS_INSTALL_PATH) {
|
|
1176
|
-
return;
|
|
1177
|
-
}
|
|
1178
|
-
const offendingPath = join(this.configService.PLUGINS_INSTALL_PATH, '@eaDir');
|
|
1179
|
-
try {
|
|
1180
|
-
if (!(await pathExists(offendingPath))) {
|
|
1181
|
-
await remove(offendingPath);
|
|
1182
|
-
}
|
|
1183
|
-
}
|
|
1184
|
-
catch (error) {
|
|
1185
|
-
this.logger.error(`Failed to remove ${offendingPath}`, error);
|
|
1186
|
-
}
|
|
1187
|
-
}
|
|
1188
1127
|
async searchNpmRegistrySingle(query) {
|
|
1189
1128
|
try {
|
|
1129
|
+
npmPluginCache.purgeStale();
|
|
1190
1130
|
const fromCache = npmPluginCache.get(`lookup-${query}`);
|
|
1191
1131
|
let pkg = fromCache;
|
|
1192
1132
|
if (!pkg) {
|
|
@@ -1198,7 +1138,7 @@ export class PluginsController {
|
|
|
1198
1138
|
if (!fromCache) {
|
|
1199
1139
|
npmPluginCache.set(`lookup-${query}`, pkg, { ttl: 60 * 1000 });
|
|
1200
1140
|
}
|
|
1201
|
-
if (!pkg.keywords
|
|
1141
|
+
if (!pkg.keywords?.includes('camera-ui-plugin')) {
|
|
1202
1142
|
return [];
|
|
1203
1143
|
}
|
|
1204
1144
|
let plugin;
|
|
@@ -1245,7 +1185,7 @@ export class PluginsController {
|
|
|
1245
1185
|
}
|
|
1246
1186
|
}
|
|
1247
1187
|
isScopedPlugin(pluginName) {
|
|
1248
|
-
return pluginName.
|
|
1188
|
+
return pluginName.startsWith('@') && pluginName.split('/').length > 0 && pluginName.split('/')[1]?.startsWith('camera-ui-');
|
|
1249
1189
|
}
|
|
1250
1190
|
async downloadWithProgress(url, pluginName, version) {
|
|
1251
1191
|
const response = await fetch(url);
|
|
@@ -1256,8 +1196,7 @@ export class PluginsController {
|
|
|
1256
1196
|
let receivedLength = 0;
|
|
1257
1197
|
const chunks = [];
|
|
1258
1198
|
const reader = response.body.getReader();
|
|
1259
|
-
this.emitProgress(pluginName, `> Downloading ${pluginName}@${version}...\n
|
|
1260
|
-
// eslint-disable-next-line no-constant-condition
|
|
1199
|
+
this.emitProgress(pluginName, `> Downloading ${pluginName}@${version}...\r\n`);
|
|
1261
1200
|
while (true) {
|
|
1262
1201
|
const { done, value } = await reader.read();
|
|
1263
1202
|
if (done) {
|