@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.
Files changed (569) hide show
  1. package/dist/interface/@intlify.DXtFJcML.0.0.22-alpha.2.js +15 -0
  2. package/dist/interface/@mdi.C1UTQKuc.0.0.22-alpha.2.js +1 -0
  3. package/dist/interface/@tanstack.B6ZKNODP.0.0.22-alpha.2.js +1 -0
  4. package/dist/interface/{@vee-validate.CBoqAk51.0.0.22-alpha.1.js → @vee-validate.BLOXgupV.0.0.22-alpha.2.js} +2 -2
  5. package/dist/interface/@vue.DYBoJLkm.0.0.22-alpha.2.js +17 -0
  6. package/dist/interface/{@vueform.20m7Hn_5.0.0.22-alpha.1.js → @vueform.BNEdNEfe.0.0.22-alpha.2.js} +1 -1
  7. package/dist/interface/@vueuse.DLeXr990.0.0.22-alpha.2.js +1 -0
  8. package/dist/interface/Account.CJmkOolZ.0.0.22-alpha.2.js +1 -0
  9. package/dist/interface/Adminpanel.Tg7HwSe9.0.0.22-alpha.2.js +2 -0
  10. package/dist/interface/Appearance.Bu1bU0wi.0.0.22-alpha.2.js +1 -0
  11. package/dist/interface/Backup.8VdHTNcr.0.0.22-alpha.2.js +1 -0
  12. package/dist/interface/Camera.Dg8hy2Yt.0.0.22-alpha.2.js +1 -0
  13. package/dist/interface/Cameras.BIlZs0XL.0.0.22-alpha.2.js +1 -0
  14. package/dist/interface/Camview.BOntwhuV.0.0.22-alpha.2.js +1 -0
  15. package/dist/interface/Config.jsnOhEqZ.0.0.22-alpha.2.js +1 -0
  16. package/dist/interface/Console.D9pK-qBL.0.0.22-alpha.2.js +4 -0
  17. package/dist/interface/FirstSteps.Cb5a8AUL.0.0.22-alpha.2.js +1 -0
  18. package/dist/interface/{NewCamera.BoQ_EpL5.0.0.22-alpha.1.js → NewCamera.Dz60UmLc.0.0.22-alpha.2.js} +2 -2
  19. package/dist/interface/Plugin.DsAb_cep.0.0.22-alpha.2.js +1 -0
  20. package/dist/interface/Plugins.bxGkXmVc.0.0.22-alpha.2.js +1 -0
  21. package/dist/interface/Recordings.BTkAhv1T.0.0.22-alpha.2.js +1 -0
  22. package/dist/interface/Recordings.C_TDdsbp.0.0.22-alpha.2.js +1 -0
  23. package/dist/interface/Settings.Br20f1vP.0.0.22-alpha.2.js +1 -0
  24. package/dist/interface/System.WdQgcjx6.0.0.22-alpha.2.js +4 -0
  25. package/dist/interface/User.BUO6E9hO.0.0.22-alpha.2.js +1 -0
  26. package/dist/interface/VConfigEditor.vue_vue_type_script_setup_true_lang.V-YCJXF9.0.0.22-alpha.2.js +2 -0
  27. package/dist/interface/VConsole.efu2RLE4.0.0.22-alpha.2.js +1 -0
  28. package/dist/interface/VPlayer.7xACf1AA.0.0.22-alpha.2.js +4 -0
  29. package/dist/interface/VPluginCard.DObvo0pi.0.0.22-alpha.2.js +4 -0
  30. package/dist/interface/{ace-builds.GNWBVG5S.0.0.22-alpha.1.js → ace-builds.CYuWji3-.0.0.22-alpha.2.js} +27 -27
  31. package/dist/interface/{apexcharts.BMrxVPFF.0.0.22-alpha.1.js → apexcharts.BjVuUwvF.0.0.22-alpha.2.js} +1 -1
  32. package/dist/interface/assets/Adminpanel.0.0.22-alpha.2.a3t1v3MB.css +1 -0
  33. package/dist/interface/assets/Camera.0.0.22-alpha.2.D1I-fW4q.css +1 -0
  34. package/dist/interface/assets/Cameras.0.0.22-alpha.2.Buf1Dgce.css +1 -0
  35. package/dist/interface/assets/Camview.0.0.22-alpha.2.B7Cja2ry.css +1 -0
  36. package/dist/interface/assets/Config.0.0.22-alpha.2.DNGo2krN.css +1 -0
  37. package/dist/interface/assets/Console.0.0.22-alpha.2.Bh8l9QnM.css +1 -0
  38. package/dist/interface/assets/FirstSteps.0.0.22-alpha.2.sPEcItZ6.css +1 -0
  39. package/dist/interface/assets/NewCamera.0.0.22-alpha.2.Cq8GzeJ7.css +1 -0
  40. package/dist/interface/assets/{Settings.0.0.22-alpha.1.DC_-E3CR.css → Settings.0.0.22-alpha.2.CVmui2kE.css} +1 -1
  41. package/dist/interface/assets/VConsole.0.0.22-alpha.2.BCqKHpmJ.css +1 -0
  42. package/dist/interface/assets/VPlayer.0.0.22-alpha.2.DNtDNhfg.css +1 -0
  43. package/dist/interface/assets/VPluginCard.0.0.22-alpha.2.C8Lj6X-J.css +1 -0
  44. package/dist/interface/assets/main.0.0.22-alpha.2.DNhh__S1.css +1 -0
  45. package/dist/interface/assets/{vuetify.0.0.22-alpha.1.Cd1awv3t.css → vuetify.0.0.22-alpha.2.CgGsw6iO.css} +2 -2
  46. package/dist/interface/birpc.l0sNRNKZ.0.0.22-alpha.2.js +1 -0
  47. package/dist/interface/{dnd-core.DMTh_43Y.0.0.22-alpha.1.js → dnd-core.CInfibuN.0.0.22-alpha.2.js} +1 -1
  48. package/dist/interface/{draggabilly.Bp5rpROY.0.0.22-alpha.1.js → draggabilly.D1IWfp_b.0.0.22-alpha.2.js} +1 -1
  49. package/dist/interface/engine.io-client.DefPnTEq.0.0.22-alpha.2.js +1 -0
  50. package/dist/interface/{ev-emitter.D9A4-Zp4.0.0.22-alpha.1.js → ev-emitter.Dc-aWf7P.0.0.22-alpha.2.js} +1 -1
  51. 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
  52. package/dist/interface/{highlight.js.BcAmtPT9.0.0.22-alpha.1.js → highlight.js.UlfE9jpO.0.0.22-alpha.2.js} +1 -1
  53. package/dist/interface/hookable.B8xFkYCm.0.0.22-alpha.2.js +1 -0
  54. package/dist/interface/index.html +34 -36
  55. package/dist/interface/{linkify-it.zJgnXBKD.0.0.22-alpha.1.js → linkify-it.Fi_bpuck.0.0.22-alpha.2.js} +1 -1
  56. package/dist/interface/main.oy2O2TRy.0.0.22-alpha.2.js +5 -0
  57. package/dist/interface/{markdown-it.DSn07YT-.0.0.22-alpha.1.js → markdown-it.DJgGU14J.0.0.22-alpha.2.js} +1 -1
  58. package/dist/interface/{nprogress.B-sfF0qV.0.0.22-alpha.1.js → nprogress.tJ-b_-wu.0.0.22-alpha.2.js} +1 -1
  59. package/dist/interface/perfect-debounce.Cp2ysxOb.0.0.22-alpha.2.js +1 -0
  60. package/dist/interface/pinia.yZCOO45u.0.0.22-alpha.2.js +5 -0
  61. package/dist/interface/plugins.Cfyqqots.0.0.22-alpha.2.js +1 -0
  62. package/dist/interface/point-in-polygon-hao.l0sNRNKZ.0.0.22-alpha.2.js +1 -0
  63. package/dist/interface/{qrcode.BcJHYbhe.0.0.22-alpha.1.js → qrcode.9XoqawvO.0.0.22-alpha.2.js} +1 -1
  64. 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
  65. package/dist/interface/{rxjs.BlwZeIMX.0.0.22-alpha.1.js → rxjs.1CAxveb4.0.0.22-alpha.2.js} +1 -1
  66. package/dist/interface/socket.io-client.e8QnYieU.0.0.22-alpha.2.js +1 -0
  67. package/dist/interface/{socket.io-parser.DbDzb_0x.0.0.22-alpha.1.js → socket.io-parser.BLk6IoUZ.0.0.22-alpha.2.js} +1 -1
  68. package/dist/interface/sw.js +1 -1
  69. package/dist/interface/sweepline-intersections.l0sNRNKZ.0.0.22-alpha.2.js +1 -0
  70. package/dist/interface/system.CxMAOYjs.0.0.22-alpha.2.js +1 -0
  71. package/dist/interface/types.Cz9TaZAP.0.0.22-alpha.2.js +1 -0
  72. package/dist/interface/{unidragger.BfsybYBO.0.0.22-alpha.1.js → unidragger.D9uoooG_.0.0.22-alpha.2.js} +1 -1
  73. package/dist/interface/utils.mAKpSMLY.0.0.22-alpha.2.js +1 -0
  74. package/dist/interface/uuid.Ch9TGLTe.0.0.22-alpha.2.js +1 -0
  75. package/dist/interface/vee-validate.DnRu3xAR.0.0.22-alpha.2.js +5 -0
  76. package/dist/interface/vue-i18n.DNPn_WN3.0.0.22-alpha.2.js +5 -0
  77. package/dist/interface/{vue-inline-svg.Br_paQwQ.0.0.22-alpha.1.js → vue-inline-svg.BxDq9WpB.0.0.22-alpha.2.js} +1 -1
  78. package/dist/interface/vue-router.Ci1GIRoh.0.0.22-alpha.2.js +5 -0
  79. package/dist/interface/vue.l0sNRNKZ.0.0.22-alpha.2.js +1 -0
  80. package/dist/interface/vue3-apexcharts.4RpZv9AC.0.0.22-alpha.2.js +1 -0
  81. package/dist/interface/{vue3-dnd.DpYuZy8Q.0.0.22-alpha.1.js → vue3-dnd.CyNbBiuS.0.0.22-alpha.2.js} +1 -1
  82. package/dist/interface/vue3-toastify.Jtf1C0Kw.0.0.22-alpha.2.js +1 -0
  83. package/dist/interface/vuetify.D4io05br.0.0.22-alpha.2.js +5 -0
  84. package/dist/interface/zod.DnW1_kUe.0.0.22-alpha.2.js +1 -0
  85. package/dist/server/bin/cameraui-server.js +8 -0
  86. package/dist/server/bin/cameraui-server.js.map +1 -0
  87. package/dist/server/package.json +44 -70
  88. package/dist/server/requirements.txt +6 -5
  89. package/dist/server/src/api/controllers/auth.controller.js +1 -1
  90. package/dist/server/src/api/controllers/auth.controller.js.map +1 -1
  91. package/dist/server/src/api/controllers/backup.controller.js +2 -2
  92. package/dist/server/src/api/controllers/backup.controller.js.map +1 -1
  93. package/dist/server/src/api/controllers/cameras.controller.d.ts +4 -2
  94. package/dist/server/src/api/controllers/cameras.controller.js +88 -42
  95. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  96. package/dist/server/src/api/controllers/files.controller.js.map +1 -1
  97. package/dist/server/src/api/controllers/frameWorkers.controller.d.ts +1 -1
  98. package/dist/server/src/api/controllers/frameWorkers.controller.js +15 -7
  99. package/dist/server/src/api/controllers/frameWorkers.controller.js.map +1 -1
  100. package/dist/server/src/api/controllers/plugins.controller.d.ts +3 -4
  101. package/dist/server/src/api/controllers/plugins.controller.js +141 -202
  102. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  103. package/dist/server/src/api/controllers/system.controller.d.ts +9 -3
  104. package/dist/server/src/api/controllers/system.controller.js +73 -53
  105. package/dist/server/src/api/controllers/system.controller.js.map +1 -1
  106. package/dist/server/src/api/controllers/users.controller.js +12 -10
  107. package/dist/server/src/api/controllers/users.controller.js.map +1 -1
  108. package/dist/server/src/api/database/checks.d.ts +55 -0
  109. package/dist/server/src/api/database/checks.js +183 -0
  110. package/dist/server/src/api/database/checks.js.map +1 -0
  111. package/dist/server/src/api/database/constants.d.ts +8 -0
  112. package/dist/server/src/api/database/constants.js +9 -0
  113. package/dist/server/src/api/database/constants.js.map +1 -0
  114. package/dist/server/src/api/database/index.d.ts +4 -13
  115. package/dist/server/src/api/database/index.js +61 -39
  116. package/dist/server/src/api/database/index.js.map +1 -1
  117. package/dist/server/src/api/database/migration.d.ts +1 -0
  118. package/dist/server/src/api/database/migration.js +73 -7
  119. package/dist/server/src/api/database/migration.js.map +1 -1
  120. package/dist/server/src/api/database/selfcheck.d.ts +48 -0
  121. package/dist/server/src/api/database/selfcheck.js +398 -0
  122. package/dist/server/src/api/database/selfcheck.js.map +1 -0
  123. package/dist/server/src/api/database/types.d.ts +15 -141
  124. package/dist/server/src/api/go2rtc/api/application.js +3 -2
  125. package/dist/server/src/api/go2rtc/api/application.js.map +1 -1
  126. package/dist/server/src/api/go2rtc/api/index.js +3 -2
  127. package/dist/server/src/api/go2rtc/api/index.js.map +1 -1
  128. package/dist/server/src/api/go2rtc/api/streams.d.ts +1 -1
  129. package/dist/server/src/api/go2rtc/api/streams.js +4 -2
  130. package/dist/server/src/api/go2rtc/api/streams.js.map +1 -1
  131. package/dist/server/src/api/go2rtc/index.d.ts +1 -0
  132. package/dist/server/src/api/go2rtc/index.js +6 -1
  133. package/dist/server/src/api/go2rtc/index.js.map +1 -1
  134. package/dist/server/src/api/go2rtc/types.d.ts +2 -18
  135. package/dist/server/src/api/index.d.ts +1 -0
  136. package/dist/server/src/api/index.js +21 -29
  137. package/dist/server/src/api/index.js.map +1 -1
  138. package/dist/server/src/api/middlewares/authPermission.middleware.d.ts +3 -3
  139. package/dist/server/src/api/middlewares/authPermission.middleware.js.map +1 -1
  140. package/dist/server/src/api/middlewares/authValidation.middleware.d.ts +2 -2
  141. package/dist/server/src/api/middlewares/authValidation.middleware.js +3 -3
  142. package/dist/server/src/api/middlewares/authValidation.middleware.js.map +1 -1
  143. package/dist/server/src/api/middlewares/socketAuth.middleware.d.ts +1 -1
  144. package/dist/server/src/api/middlewares/socketAuth.middleware.js +1 -1
  145. package/dist/server/src/api/plugins/header.plugin.d.ts +2 -0
  146. package/dist/server/src/api/plugins/header.plugin.js +13 -0
  147. package/dist/server/src/api/plugins/header.plugin.js.map +1 -0
  148. package/dist/server/src/api/plugins/logger.plugin.js +1 -1
  149. package/dist/server/src/api/plugins/logger.plugin.js.map +1 -1
  150. package/dist/server/src/api/plugins/system.plugin.d.ts +3 -1
  151. package/dist/server/src/api/plugins/system.plugin.js +6 -1
  152. package/dist/server/src/api/plugins/system.plugin.js.map +1 -1
  153. package/dist/server/src/api/plugins/useragent.plugin.d.ts +1 -1
  154. package/dist/server/src/api/plugins/useragent.plugin.js +1 -1
  155. package/dist/server/src/api/plugins/useragent.plugin.js.map +1 -1
  156. package/dist/server/src/api/routes/cameras.routes.js +12 -0
  157. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  158. package/dist/server/src/api/routes/plugins.routes.js +24 -0
  159. package/dist/server/src/api/routes/plugins.routes.js.map +1 -1
  160. package/dist/server/src/api/routes/system.routes.js +3 -6
  161. package/dist/server/src/api/routes/system.routes.js.map +1 -1
  162. package/dist/server/src/api/schemas/backup.schema.js.map +1 -1
  163. package/dist/server/src/api/schemas/cameras.schema.d.ts +227 -187
  164. package/dist/server/src/api/schemas/cameras.schema.js +25 -6
  165. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  166. package/dist/server/src/api/schemas/config.schema.d.ts +12 -20
  167. package/dist/server/src/api/schemas/config.schema.js +0 -2
  168. package/dist/server/src/api/schemas/config.schema.js.map +1 -1
  169. package/dist/server/src/api/schemas/go2rtc.schema.d.ts +143 -143
  170. package/dist/server/src/api/schemas/plugins.schema.d.ts +5 -5
  171. package/dist/server/src/api/schemas/plugins.schema.js +1 -1
  172. package/dist/server/src/api/schemas/plugins.schema.js.map +1 -1
  173. package/dist/server/src/api/schemas/system.schema.d.ts +8 -0
  174. package/dist/server/src/api/schemas/system.schema.js +5 -0
  175. package/dist/server/src/api/schemas/system.schema.js.map +1 -1
  176. package/dist/server/src/api/schemas/users.schema.d.ts +170 -170
  177. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  178. package/dist/server/src/api/services/auth.service.js +17 -17
  179. package/dist/server/src/api/services/auth.service.js.map +1 -1
  180. package/dist/server/src/api/services/backup.service.js.map +1 -1
  181. package/dist/server/src/api/services/cameras.service.d.ts +10 -5
  182. package/dist/server/src/api/services/cameras.service.js +166 -89
  183. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  184. package/dist/server/src/api/services/plugins.service.d.ts +1 -0
  185. package/dist/server/src/api/services/plugins.service.js +16 -11
  186. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  187. package/dist/server/src/api/services/system.service.js +4 -4
  188. package/dist/server/src/api/services/system.service.js.map +1 -1
  189. package/dist/server/src/api/services/users.service.js +29 -29
  190. package/dist/server/src/api/services/users.service.js.map +1 -1
  191. package/dist/server/src/api/types/index.d.ts +127 -129
  192. package/dist/server/src/api/types/index.js.map +1 -1
  193. package/dist/server/src/api/utils/cameraSource.d.ts +2 -0
  194. package/dist/server/src/api/utils/cameraSource.js +34 -0
  195. package/dist/server/src/api/utils/cameraSource.js.map +1 -0
  196. package/dist/server/src/api/utils/cert.d.ts +7 -7
  197. package/dist/server/src/api/utils/cert.js +178 -385
  198. package/dist/server/src/api/utils/cert.js.map +1 -1
  199. package/dist/server/src/api/utils/constants.d.ts +0 -2
  200. package/dist/server/src/api/utils/constants.js +4 -7
  201. package/dist/server/src/api/utils/constants.js.map +1 -1
  202. package/dist/server/src/api/websocket/index.js +2 -1
  203. package/dist/server/src/api/websocket/index.js.map +1 -1
  204. package/dist/server/src/api/websocket/nsp/logs.d.ts +10 -2
  205. package/dist/server/src/api/websocket/nsp/logs.js +110 -76
  206. package/dist/server/src/api/websocket/nsp/logs.js.map +1 -1
  207. package/dist/server/src/api/websocket/nsp/metrics.d.ts +1 -1
  208. package/dist/server/src/api/websocket/nsp/metrics.js +19 -16
  209. package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
  210. package/dist/server/src/api/websocket/nsp/notifications.js +1 -1
  211. package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
  212. package/dist/server/src/api/websocket/nsp/plugins.d.ts +1 -1
  213. package/dist/server/src/api/websocket/nsp/plugins.js +3 -4
  214. package/dist/server/src/api/websocket/nsp/plugins.js.map +1 -1
  215. package/dist/server/src/api/websocket/nsp/server.d.ts +9 -4
  216. package/dist/server/src/api/websocket/nsp/server.js +57 -20
  217. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  218. package/dist/server/src/api/websocket/nsp/status.d.ts +1 -1
  219. package/dist/server/src/api/websocket/nsp/status.js +9 -7
  220. package/dist/server/src/api/websocket/nsp/status.js.map +1 -1
  221. package/dist/server/src/api/websocket/types.d.ts +7 -13
  222. package/dist/server/src/api.d.ts +8 -23
  223. package/dist/server/src/api.js +43 -24
  224. package/dist/server/src/api.js.map +1 -1
  225. package/dist/server/src/camera/controller.d.ts +31 -14
  226. package/dist/server/src/camera/controller.js +371 -68
  227. package/dist/server/src/camera/controller.js.map +1 -1
  228. package/dist/server/src/{decoder/worker.d.ts → camera/frameWorker.d.ts} +11 -8
  229. package/dist/server/src/camera/frameWorker.js +305 -0
  230. package/dist/server/src/camera/frameWorker.js.map +1 -0
  231. package/dist/server/src/camera/types.d.ts +1 -199
  232. package/dist/server/src/camera/types.js +1 -6
  233. package/dist/server/src/camera/types.js.map +1 -1
  234. package/dist/server/src/go2rtc/index.js +23 -11
  235. package/dist/server/src/go2rtc/index.js.map +1 -1
  236. package/dist/server/src/main.d.ts +21 -0
  237. package/dist/server/src/main.js +130 -74
  238. package/dist/server/src/main.js.map +1 -1
  239. package/dist/server/src/nats/index.d.ts +5 -5
  240. package/dist/server/src/nats/index.js +5 -6
  241. package/dist/server/src/nats/index.js.map +1 -1
  242. package/dist/server/src/nats/proxy/cameraDevice.d.ts +4 -4
  243. package/dist/server/src/nats/proxy/cameraDevice.js +41 -58
  244. package/dist/server/src/nats/proxy/cameraDevice.js.map +1 -1
  245. package/dist/server/src/nats/proxy/coreManager.d.ts +4 -4
  246. package/dist/server/src/nats/proxy/coreManager.js +6 -1
  247. package/dist/server/src/nats/proxy/coreManager.js.map +1 -1
  248. package/dist/server/src/nats/proxy/deviceManager.d.ts +5 -7
  249. package/dist/server/src/nats/proxy/deviceManager.js +4 -2
  250. package/dist/server/src/nats/proxy/deviceManager.js.map +1 -1
  251. package/dist/server/src/nats/server.js +33 -22
  252. package/dist/server/src/nats/server.js.map +1 -1
  253. package/dist/server/src/nats/types.d.ts +3 -121
  254. package/dist/server/src/nats/utils.d.ts +1 -1
  255. package/dist/server/src/nats/websocket.d.ts +2 -2
  256. package/dist/server/src/nats/websocket.js +7 -6
  257. package/dist/server/src/nats/websocket.js.map +1 -1
  258. package/dist/server/src/plugins/index.d.ts +3 -4
  259. package/dist/server/src/plugins/index.js +39 -38
  260. package/dist/server/src/plugins/index.js.map +1 -1
  261. package/dist/server/src/plugins/plugin.d.ts +6 -3
  262. package/dist/server/src/plugins/plugin.js +59 -23
  263. package/dist/server/src/plugins/plugin.js.map +1 -1
  264. package/dist/server/src/plugins/types.d.ts +1 -148
  265. package/dist/server/src/plugins/types.js +0 -15
  266. package/dist/server/src/plugins/types.js.map +1 -1
  267. package/dist/server/src/plugins/worker.d.ts +22 -3
  268. package/dist/server/src/plugins/worker.js +201 -59
  269. package/dist/server/src/plugins/worker.js.map +1 -1
  270. package/dist/server/src/services/config/constants.d.ts +3 -1
  271. package/dist/server/src/services/config/constants.js +12 -8
  272. package/dist/server/src/services/config/constants.js.map +1 -1
  273. package/dist/server/src/services/config/index.d.ts +15 -9
  274. package/dist/server/src/services/config/index.js +135 -46
  275. package/dist/server/src/services/config/index.js.map +1 -1
  276. package/dist/server/src/services/config/types.d.ts +10 -15
  277. package/dist/server/src/services/config/types.js.map +1 -1
  278. package/dist/server/src/services/logger/index.d.ts +10 -17
  279. package/dist/server/src/services/logger/index.js +44 -91
  280. package/dist/server/src/services/logger/index.js.map +1 -1
  281. package/dist/server/src/types.d.ts +24 -0
  282. package/eslint.config.js +89 -0
  283. package/localdeps.txt +6 -0
  284. package/package.json +44 -70
  285. package/dist/interface/@intlify.YW_pt133.0.0.22-alpha.1.js +0 -15
  286. package/dist/interface/@mdi.DnMbZhUH.0.0.22-alpha.1.js +0 -1
  287. package/dist/interface/@popperjs.BQBsAJpH.0.0.22-alpha.1.js +0 -1
  288. package/dist/interface/@tanstack.DlheOlVk.0.0.22-alpha.1.js +0 -1
  289. package/dist/interface/@vue.CvjRlaU6.0.0.22-alpha.1.js +0 -17
  290. package/dist/interface/@vueuse.-m94veKi.0.0.22-alpha.1.js +0 -1
  291. package/dist/interface/Account.CvNGInZy.0.0.22-alpha.1.js +0 -1
  292. package/dist/interface/Adminpanel.B38rrP4P.0.0.22-alpha.1.js +0 -2
  293. package/dist/interface/Appearance.kFVBM4J9.0.0.22-alpha.1.js +0 -1
  294. package/dist/interface/Backup.lo3nC5DR.0.0.22-alpha.1.js +0 -1
  295. package/dist/interface/Camera.BukjTYOy.0.0.22-alpha.1.js +0 -1
  296. package/dist/interface/Cameras.HNjLEphi.0.0.22-alpha.1.js +0 -1
  297. package/dist/interface/Camview.BXcJwv3e.0.0.22-alpha.1.js +0 -1
  298. package/dist/interface/Config.Bwtjrsr9.0.0.22-alpha.1.js +0 -1
  299. package/dist/interface/Console.DOkTKmKh.0.0.22-alpha.1.js +0 -4
  300. package/dist/interface/FirstSteps.BXQqfdBY.0.0.22-alpha.1.js +0 -1
  301. package/dist/interface/Plugin.DlATvyTj.0.0.22-alpha.1.js +0 -1
  302. package/dist/interface/Plugins.BekJdBK8.0.0.22-alpha.1.js +0 -1
  303. package/dist/interface/Recordings.B4YRWWi3.0.0.22-alpha.1.js +0 -1
  304. package/dist/interface/Recordings.U1858KpO.0.0.22-alpha.1.js +0 -1
  305. package/dist/interface/Settings.CiF0fVqP.0.0.22-alpha.1.js +0 -1
  306. package/dist/interface/System.Ca9T8x4i.0.0.22-alpha.1.js +0 -4
  307. package/dist/interface/User.C_3ugpqz.0.0.22-alpha.1.js +0 -1
  308. package/dist/interface/VConfigEditor.vue_vue_type_script_setup_true_lang.EB4E_zDr.0.0.22-alpha.1.js +0 -2
  309. package/dist/interface/VConsole.DJWV6CZ9.0.0.22-alpha.1.js +0 -1
  310. package/dist/interface/VPlayer.CpZzx0nW.0.0.22-alpha.1.js +0 -1
  311. package/dist/interface/VPluginCard.Cm4M7xYg.0.0.22-alpha.1.js +0 -4
  312. package/dist/interface/assets/Adminpanel.0.0.22-alpha.1.CXsTAXPL.css +0 -1
  313. package/dist/interface/assets/Camera.0.0.22-alpha.1.BDtUJ-lA.css +0 -1
  314. package/dist/interface/assets/Cameras.0.0.22-alpha.1.Djx0F2MM.css +0 -1
  315. package/dist/interface/assets/Camview.0.0.22-alpha.1.Ce_V-Nxj.css +0 -1
  316. package/dist/interface/assets/Config.0.0.22-alpha.1.k4QpWumg.css +0 -1
  317. package/dist/interface/assets/Console.0.0.22-alpha.1.DWrfRWs9.css +0 -1
  318. package/dist/interface/assets/FirstSteps.0.0.22-alpha.1.B3-pv8-a.css +0 -1
  319. package/dist/interface/assets/NewCamera.0.0.22-alpha.1.DJ3tUBT_.css +0 -1
  320. package/dist/interface/assets/VConsole.0.0.22-alpha.1.BZT1WyS-.css +0 -1
  321. package/dist/interface/assets/VPlayer.0.0.22-alpha.1.CZXlTn4I.css +0 -1
  322. package/dist/interface/assets/VPluginCard.0.0.22-alpha.1.CIL48ca_.css +0 -1
  323. package/dist/interface/assets/main.0.0.22-alpha.1.BOf8IWhK.css +0 -1
  324. package/dist/interface/assets/v-calendar.0.0.22-alpha.1.CtSuDYZU.css +0 -1
  325. package/dist/interface/engine.io-client.CY7UpWto.0.0.22-alpha.1.js +0 -1
  326. package/dist/interface/main.D-V5Qegn.0.0.22-alpha.1.js +0 -4
  327. package/dist/interface/pinia.Dn9R-5lV.0.0.22-alpha.1.js +0 -5
  328. package/dist/interface/plugins.9yif7gTi.0.0.22-alpha.1.js +0 -1
  329. package/dist/interface/socket.io-client.ZxUZ7LHn.0.0.22-alpha.1.js +0 -1
  330. package/dist/interface/system.D_1Xg-Sy.0.0.22-alpha.1.js +0 -1
  331. package/dist/interface/ui.BA2qa-Pn.0.0.22-alpha.1.js +0 -1
  332. package/dist/interface/utils.BvINh1mj.0.0.22-alpha.1.js +0 -1
  333. package/dist/interface/uuid.DvF23Exx.0.0.22-alpha.1.js +0 -1
  334. package/dist/interface/v-calendar.CemaWgJz.0.0.22-alpha.1.js +0 -1
  335. package/dist/interface/vee-validate.CpAAwmyb.0.0.22-alpha.1.js +0 -5
  336. package/dist/interface/vue-i18n.mw20Rif9.0.0.22-alpha.1.js +0 -5
  337. package/dist/interface/vue-router.BchJROVt.0.0.22-alpha.1.js +0 -5
  338. package/dist/interface/vue3-apexcharts.BiZhZbF2.0.0.22-alpha.1.js +0 -1
  339. package/dist/interface/vue3-toastify.DdCHHmXT.0.0.22-alpha.1.js +0 -1
  340. package/dist/interface/vuetify.red0JsnZ.0.0.22-alpha.1.js +0 -5
  341. package/dist/interface/zod.BaF2dDCd.0.0.22-alpha.1.js +0 -1
  342. package/dist/server/bin/cameraui.d.ts +0 -54
  343. package/dist/server/bin/cameraui.js +0 -622
  344. package/dist/server/bin/cameraui.js.map +0 -1
  345. package/dist/server/bin/fork.js +0 -13
  346. package/dist/server/bin/fork.js.map +0 -1
  347. package/dist/server/bin/installer/base.d.ts +0 -17
  348. package/dist/server/bin/installer/base.js +0 -45
  349. package/dist/server/bin/installer/base.js.map +0 -1
  350. package/dist/server/bin/installer/darwin.d.ts +0 -61
  351. package/dist/server/bin/installer/darwin.js +0 -249
  352. package/dist/server/bin/installer/darwin.js.map +0 -1
  353. package/dist/server/bin/installer/freebsd.d.ts +0 -64
  354. package/dist/server/bin/installer/freebsd.js +0 -254
  355. package/dist/server/bin/installer/freebsd.js.map +0 -1
  356. package/dist/server/bin/installer/linux.d.ts +0 -103
  357. package/dist/server/bin/installer/linux.js +0 -482
  358. package/dist/server/bin/installer/linux.js.map +0 -1
  359. package/dist/server/bin/installer/win32.d.ts +0 -45
  360. package/dist/server/bin/installer/win32.js +0 -178
  361. package/dist/server/bin/installer/win32.js.map +0 -1
  362. package/dist/server/src/api/plugins/cameraui.plugin.d.ts +0 -11
  363. package/dist/server/src/api/plugins/cameraui.plugin.js +0 -6
  364. package/dist/server/src/api/plugins/cameraui.plugin.js.map +0 -1
  365. package/dist/server/src/api/plugins/database.plugin.d.ts +0 -11
  366. package/dist/server/src/api/plugins/database.plugin.js +0 -12
  367. package/dist/server/src/api/plugins/database.plugin.js.map +0 -1
  368. package/dist/server/src/api/plugins/go2rtc.plugin.d.ts +0 -11
  369. package/dist/server/src/api/plugins/go2rtc.plugin.js +0 -11
  370. package/dist/server/src/api/plugins/go2rtc.plugin.js.map +0 -1
  371. package/dist/server/src/camera/device.d.ts +0 -29
  372. package/dist/server/src/camera/device.js +0 -20
  373. package/dist/server/src/camera/device.js.map +0 -1
  374. package/dist/server/src/camera/index.d.ts +0 -94
  375. package/dist/server/src/camera/index.js +0 -620
  376. package/dist/server/src/camera/index.js.map +0 -1
  377. package/dist/server/src/camera/interfaces/camera.d.ts +0 -10
  378. package/dist/server/src/camera/interfaces/camera.js +0 -23
  379. package/dist/server/src/camera/interfaces/camera.js.map +0 -1
  380. package/dist/server/src/camera/interfaces/prebuffer.d.ts +0 -11
  381. package/dist/server/src/camera/interfaces/prebuffer.js +0 -26
  382. package/dist/server/src/camera/interfaces/prebuffer.js.map +0 -1
  383. package/dist/server/src/camera/interfaces/ptz.d.ts +0 -13
  384. package/dist/server/src/camera/interfaces/ptz.js +0 -47
  385. package/dist/server/src/camera/interfaces/ptz.js.map +0 -1
  386. package/dist/server/src/camera/iou.d.ts +0 -2
  387. package/dist/server/src/camera/iou.js +0 -53
  388. package/dist/server/src/camera/iou.js.map +0 -1
  389. package/dist/server/src/camera/polygon.d.ts +0 -6
  390. package/dist/server/src/camera/polygon.js +0 -151
  391. package/dist/server/src/camera/polygon.js.map +0 -1
  392. package/dist/server/src/camera/streaming/peer-connection.d.ts +0 -55
  393. package/dist/server/src/camera/streaming/peer-connection.js +0 -203
  394. package/dist/server/src/camera/streaming/peer-connection.js.map +0 -1
  395. package/dist/server/src/camera/streaming/webrtc-connection.d.ts +0 -35
  396. package/dist/server/src/camera/streaming/webrtc-connection.js +0 -170
  397. package/dist/server/src/camera/streaming/webrtc-connection.js.map +0 -1
  398. package/dist/server/src/camera/streaming/werift-session.d.ts +0 -41
  399. package/dist/server/src/camera/streaming/werift-session.js +0 -179
  400. package/dist/server/src/camera/streaming/werift-session.js.map +0 -1
  401. package/dist/server/src/camera/videoFrame.d.ts +0 -24
  402. package/dist/server/src/camera/videoFrame.js +0 -104
  403. package/dist/server/src/camera/videoFrame.js.map +0 -1
  404. package/dist/server/src/decoder/index.d.ts +0 -11
  405. package/dist/server/src/decoder/index.js +0 -32
  406. package/dist/server/src/decoder/index.js.map +0 -1
  407. package/dist/server/src/decoder/types.d.ts +0 -151
  408. package/dist/server/src/decoder/types.js +0 -2
  409. package/dist/server/src/decoder/types.js.map +0 -1
  410. package/dist/server/src/decoder/worker.js +0 -245
  411. package/dist/server/src/decoder/worker.js.map +0 -1
  412. package/dist/server/src/index.d.ts +0 -18
  413. package/dist/server/src/index.js +0 -5
  414. package/dist/server/src/index.js.map +0 -1
  415. package/dist/server/src/nats/connection.d.ts +0 -17
  416. package/dist/server/src/nats/connection.js +0 -66
  417. package/dist/server/src/nats/connection.js.map +0 -1
  418. package/dist/server/src/nats/constants.d.ts +0 -1
  419. package/dist/server/src/nats/constants.js +0 -2
  420. package/dist/server/src/nats/constants.js.map +0 -1
  421. package/dist/server/src/nats/error.d.ts +0 -9
  422. package/dist/server/src/nats/error.js +0 -11
  423. package/dist/server/src/nats/error.js.map +0 -1
  424. package/dist/server/src/nats/messageQueue.d.ts +0 -20
  425. package/dist/server/src/nats/messageQueue.js +0 -132
  426. package/dist/server/src/nats/messageQueue.js.map +0 -1
  427. package/dist/server/src/nats/subscription.d.ts +0 -12
  428. package/dist/server/src/nats/subscription.js +0 -21
  429. package/dist/server/src/nats/subscription.js.map +0 -1
  430. package/dist/server/src/plugins/interfaces/audioDetection.d.ts +0 -7
  431. package/dist/server/src/plugins/interfaces/audioDetection.js +0 -4
  432. package/dist/server/src/plugins/interfaces/audioDetection.js.map +0 -1
  433. package/dist/server/src/plugins/interfaces/base.d.ts +0 -6
  434. package/dist/server/src/plugins/interfaces/base.js +0 -3
  435. package/dist/server/src/plugins/interfaces/base.js.map +0 -1
  436. package/dist/server/src/plugins/interfaces/motionDetection.d.ts +0 -6
  437. package/dist/server/src/plugins/interfaces/motionDetection.js +0 -4
  438. package/dist/server/src/plugins/interfaces/motionDetection.js.map +0 -1
  439. package/dist/server/src/plugins/interfaces/objectDetection.d.ts +0 -7
  440. package/dist/server/src/plugins/interfaces/objectDetection.js +0 -4
  441. package/dist/server/src/plugins/interfaces/objectDetection.js.map +0 -1
  442. package/dist/server/src/polyglot/node/decoder/child.d.ts +0 -1
  443. package/dist/server/src/polyglot/node/decoder/child.js +0 -644
  444. package/dist/server/src/polyglot/node/decoder/child.js.map +0 -1
  445. package/dist/server/src/polyglot/node/decoder/imageUtils.d.ts +0 -24
  446. package/dist/server/src/polyglot/node/decoder/imageUtils.js +0 -205
  447. package/dist/server/src/polyglot/node/decoder/imageUtils.js.map +0 -1
  448. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.d.ts +0 -144
  449. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.js +0 -65
  450. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.wasm +0 -0
  451. package/dist/server/src/polyglot/node/decoder/wasm/test/imageUtils.py +0 -106
  452. package/dist/server/src/polyglot/node/plugins/cameraStorage.d.ts +0 -107
  453. package/dist/server/src/polyglot/node/plugins/cameraStorage.js +0 -292
  454. package/dist/server/src/polyglot/node/plugins/cameraStorage.js.map +0 -1
  455. package/dist/server/src/polyglot/node/plugins/child.d.ts +0 -28
  456. package/dist/server/src/polyglot/node/plugins/child.js +0 -222
  457. package/dist/server/src/polyglot/node/plugins/child.js.map +0 -1
  458. package/dist/server/src/polyglot/node/plugins/configService.d.ts +0 -104
  459. package/dist/server/src/polyglot/node/plugins/configService.js +0 -213
  460. package/dist/server/src/polyglot/node/plugins/configService.js.map +0 -1
  461. package/dist/server/src/polyglot/node/plugins/pluginApi.d.ts +0 -35
  462. package/dist/server/src/polyglot/node/plugins/pluginApi.js +0 -23
  463. package/dist/server/src/polyglot/node/plugins/pluginApi.js.map +0 -1
  464. package/dist/server/src/polyglot/node/plugins/pluginLogger.d.ts +0 -18
  465. package/dist/server/src/polyglot/node/plugins/pluginLogger.js +0 -89
  466. package/dist/server/src/polyglot/node/plugins/pluginLogger.js.map +0 -1
  467. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.d.ts +0 -69
  468. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js +0 -432
  469. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js.map +0 -1
  470. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.d.ts +0 -40
  471. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.js +0 -105
  472. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.js.map +0 -1
  473. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.d.ts +0 -47
  474. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.js +0 -164
  475. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.js.map +0 -1
  476. package/dist/server/src/polyglot/node/plugins/schema.d.ts +0 -293
  477. package/dist/server/src/polyglot/node/plugins/schema.js +0 -740
  478. package/dist/server/src/polyglot/node/plugins/schema.js.map +0 -1
  479. package/dist/server/src/polyglot/node/plugins/storageController.d.ts +0 -30
  480. package/dist/server/src/polyglot/node/plugins/storageController.js +0 -40
  481. package/dist/server/src/polyglot/node/plugins/storageController.js.map +0 -1
  482. package/dist/server/src/polyglot/python/camera/interfaces/camera.py +0 -20
  483. package/dist/server/src/polyglot/python/camera/interfaces/prebuffer.py +0 -25
  484. package/dist/server/src/polyglot/python/camera/interfaces/ptz.py +0 -38
  485. package/dist/server/src/polyglot/python/camera/iou.py +0 -80
  486. package/dist/server/src/polyglot/python/camera/polygon.py +0 -173
  487. package/dist/server/src/polyglot/python/camera/video_frame.py +0 -188
  488. package/dist/server/src/polyglot/python/camera_ui_types/__init__.py +0 -1196
  489. package/dist/server/src/polyglot/python/decoder/child.py +0 -882
  490. package/dist/server/src/polyglot/python/decoder/image_utils.py +0 -149
  491. package/dist/server/src/polyglot/python/decoder/typings.py +0 -99
  492. package/dist/server/src/polyglot/python/plugins/camera_storage.py +0 -391
  493. package/dist/server/src/polyglot/python/plugins/child.py +0 -394
  494. package/dist/server/src/polyglot/python/plugins/config_service.py +0 -187
  495. package/dist/server/src/polyglot/python/plugins/constants.py +0 -1
  496. package/dist/server/src/polyglot/python/plugins/message_queue.py +0 -182
  497. package/dist/server/src/polyglot/python/plugins/plugin_api.py +0 -34
  498. package/dist/server/src/polyglot/python/plugins/plugin_logger.py +0 -111
  499. package/dist/server/src/polyglot/python/plugins/proxy/camera_device.py +0 -1677
  500. package/dist/server/src/polyglot/python/plugins/proxy/core_manager.py +0 -145
  501. package/dist/server/src/polyglot/python/plugins/proxy/device_manager.py +0 -226
  502. package/dist/server/src/polyglot/python/plugins/schema.py +0 -181
  503. package/dist/server/src/polyglot/python/plugins/storage_controller.py +0 -58
  504. package/dist/server/src/polyglot/python/plugins/typings.py +0 -253
  505. package/dist/server/src/polyglot/python/utilities/connection.py +0 -86
  506. package/dist/server/src/polyglot/python/utilities/json_lmdb.py +0 -19
  507. package/dist/server/src/polyglot/python/utilities/object_path.py +0 -195
  508. package/dist/server/src/polyglot/python/utilities/packer.py +0 -11
  509. package/dist/server/src/polyglot/python/utilities/subscriptions.py +0 -22
  510. package/dist/server/src/polyglot/python/utilities/task.py +0 -35
  511. package/dist/server/src/polyglot/python/utilities/thread.py +0 -10
  512. package/dist/server/src/polyglot/python/utilities/utils.py +0 -73
  513. package/dist/server/src/utils/ffmpeg.d.ts +0 -2
  514. package/dist/server/src/utils/ffmpeg.js +0 -61
  515. package/dist/server/src/utils/ffmpeg.js.map +0 -1
  516. package/dist/server/src/utils/network.d.ts +0 -12
  517. package/dist/server/src/utils/network.js +0 -92
  518. package/dist/server/src/utils/network.js.map +0 -1
  519. package/dist/server/src/utils/npm.d.ts +0 -4
  520. package/dist/server/src/utils/npm.js +0 -128
  521. package/dist/server/src/utils/npm.js.map +0 -1
  522. package/dist/server/src/utils/packer.d.ts +0 -2
  523. package/dist/server/src/utils/packer.js +0 -17
  524. package/dist/server/src/utils/packer.js.map +0 -1
  525. package/dist/server/src/utils/pythonInstaller.d.ts +0 -48
  526. package/dist/server/src/utils/pythonInstaller.js +0 -494
  527. package/dist/server/src/utils/pythonInstaller.js.map +0 -1
  528. package/dist/server/src/utils/reader.d.ts +0 -5
  529. package/dist/server/src/utils/reader.js +0 -41
  530. package/dist/server/src/utils/reader.js.map +0 -1
  531. package/dist/server/src/utils/subscribed.d.ts +0 -9
  532. package/dist/server/src/utils/subscribed.js +0 -17
  533. package/dist/server/src/utils/subscribed.js.map +0 -1
  534. package/dist/server/src/utils/utils.d.ts +0 -10
  535. package/dist/server/src/utils/utils.js +0 -165
  536. package/dist/server/src/utils/utils.js.map +0 -1
  537. package/upgrade-server.sh +0 -205
  538. /package/dist/interface/{@babel.l0sNRNKZ.0.0.22-alpha.1.js → @babel.l0sNRNKZ.0.0.22-alpha.2.js} +0 -0
  539. /package/dist/interface/{@react-dnd.CcwRs9xb.0.0.22-alpha.1.js → @react-dnd.CcwRs9xb.0.0.22-alpha.2.js} +0 -0
  540. /package/dist/interface/{@socket.io.Dkula2eQ.0.0.22-alpha.1.js → @socket.io.Dkula2eQ.0.0.22-alpha.2.js} +0 -0
  541. /package/dist/interface/{vue.l0sNRNKZ.0.0.22-alpha.1.js → @turf.l0sNRNKZ.0.0.22-alpha.2.js} +0 -0
  542. /package/dist/interface/{@xterm.DV-IE8JS.0.0.22-alpha.1.js → @xterm.CRKo0AGB.0.0.22-alpha.2.js} +0 -0
  543. /package/dist/interface/assets/{@vueform.0.0.22-alpha.1.h7tNX9p6.css → @vueform.0.0.22-alpha.2.CroAHJs8.css} +0 -0
  544. /package/dist/interface/assets/{@xterm.0.0.22-alpha.1.CGrrDQr5.css → @xterm.0.0.22-alpha.2.CFbL2ovg.css} +0 -0
  545. /package/dist/interface/assets/{Account.0.0.22-alpha.1.Ce3OmKrC.css → Account.0.0.22-alpha.2.J7oAjogS.css} +0 -0
  546. /package/dist/interface/assets/{Backup.0.0.22-alpha.1.BIwaSlv3.css → Backup.0.0.22-alpha.2.CX0rT0QJ.css} +0 -0
  547. /package/dist/interface/assets/{Plugin.0.0.22-alpha.1.BtRA6zDt.css → Plugin.0.0.22-alpha.2.DJbgaQc1.css} +0 -0
  548. /package/dist/interface/assets/{Plugins.0.0.22-alpha.1.Cwu0aGUO.css → Plugins.0.0.22-alpha.2.DXSoO9M1.css} +0 -0
  549. /package/dist/interface/assets/{User.0.0.22-alpha.1.DPDcJbx8.css → User.0.0.22-alpha.2.BiGtIFqt.css} +0 -0
  550. /package/dist/interface/assets/{highlight.0.0.22-alpha.1.DgoK_Xib.css → highlight.0.0.22-alpha.2.Ch2EwETz.css} +0 -0
  551. /package/dist/interface/assets/{logo-256.0.0.22-alpha.1.BCQk9H1-.png → logo-256.0.0.22-alpha.2.BCQk9H1-.png} +0 -0
  552. /package/dist/interface/assets/{logo-512.0.0.22-alpha.1.DLKVOU2S.png → logo-512.0.0.22-alpha.2.DLKVOU2S.png} +0 -0
  553. /package/dist/interface/assets/{logo.0.0.22-alpha.1.DmEiRk0z.png → logo.0.0.22-alpha.2.DmEiRk0z.png} +0 -0
  554. /package/dist/interface/assets/{mode-json.0.0.22-alpha.1.Br7xisR1.js → mode-json.0.0.22-alpha.2.Br7xisR1.js} +0 -0
  555. /package/dist/interface/assets/{mode-yaml.0.0.22-alpha.1.CIYL8U3d.js → mode-yaml.0.0.22-alpha.2.CIYL8U3d.js} +0 -0
  556. /package/dist/interface/assets/{vue3-toastify.0.0.22-alpha.1.DTY1DMRs.css → vue3-toastify.0.0.22-alpha.2.DHXAGmwn.css} +0 -0
  557. /package/dist/interface/{axios.C-n2IhIP.0.0.22-alpha.1.js → axios.C-n2IhIP.0.0.22-alpha.2.js} +0 -0
  558. /package/dist/interface/{compare-versions.DqEOhma6.0.0.22-alpha.1.js → compare-versions.DqEOhma6.0.0.22-alpha.2.js} +0 -0
  559. /package/dist/interface/{dijkstrajs.D_NXgYpA.0.0.22-alpha.1.js → dijkstrajs.D_NXgYpA.0.0.22-alpha.2.js} +0 -0
  560. /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
  561. /package/dist/interface/{entities.C20TfXL6.0.0.22-alpha.1.js → entities.C20TfXL6.0.0.22-alpha.2.js} +0 -0
  562. /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
  563. /package/dist/interface/{mdurl.k9Sl0PQj.0.0.22-alpha.1.js → mdurl.k9Sl0PQj.0.0.22-alpha.2.js} +0 -0
  564. /package/dist/interface/{punycode.js.Dj65hjkv.0.0.22-alpha.1.js → punycode.js.Dj65hjkv.0.0.22-alpha.2.js} +0 -0
  565. /package/dist/interface/{react-dnd-html5-backend.1HQjlkwI.0.0.22-alpha.1.js → react-dnd-html5-backend.1HQjlkwI.0.0.22-alpha.2.js} +0 -0
  566. /package/dist/interface/{redux.CuxFRhX_.0.0.22-alpha.1.js → redux.CuxFRhX_.0.0.22-alpha.2.js} +0 -0
  567. /package/dist/interface/{tslib.9k7AwCpt.0.0.22-alpha.1.js → tslib.9k7AwCpt.0.0.22-alpha.2.js} +0 -0
  568. /package/dist/interface/{uc.micro.kMc2yuuw.0.0.22-alpha.1.js → uc.micro.kMc2yuuw.0.0.22-alpha.2.js} +0 -0
  569. /package/dist/server/bin/{fork.d.ts → cameraui-server.d.ts} +0 -0
@@ -1,1196 +0,0 @@
1
- from abc import ABCMeta, abstractmethod
2
- from collections.abc import AsyncGenerator, Awaitable, Coroutine
3
- from typing import Any, Callable, Generic, Optional, Union, overload, runtime_checkable
4
-
5
- from PIL import Image
6
- from reactivex import Observable
7
- from typing_extensions import (
8
- Literal,
9
- NotRequired,
10
- Protocol,
11
- TypedDict,
12
- TypeVar,
13
- )
14
-
15
- Callback = Union[
16
- Callable[..., Any],
17
- Callable[..., Coroutine[Any, Any, Any]],
18
- ]
19
-
20
-
21
- # schema
22
- JsonSchemaType = Literal["string", "number", "boolean", "object", "array", "button"]
23
-
24
-
25
- class JsonBaseSchema(TypedDict):
26
- type: JsonSchemaType
27
- key: NotRequired[Optional[str]]
28
- title: NotRequired[Optional[str]]
29
- description: NotRequired[Optional[str]]
30
- required: NotRequired[Optional[bool]]
31
- readonly: NotRequired[Optional[bool]]
32
- placeholder: NotRequired[Optional[str]]
33
- hidden: NotRequired[Optional[bool]]
34
- group: NotRequired[Optional[str]]
35
- defaultValue: NotRequired[Optional[Union[str, int, bool]]]
36
- store: NotRequired[Optional[bool]]
37
- onSet: NotRequired[
38
- Union[Callable[[Any, Any], Awaitable[Union[None, Any]]], Callable[[Any, Any], Union[None, Any]]]
39
- ] # only for plugins
40
- onGet: NotRequired[
41
- Union[Callable[[], Awaitable[Union[Any, None]]], Callable[[], Union[Any, None]]]
42
- ] # only for plugins
43
-
44
-
45
- class JsonSchemaString(JsonBaseSchema):
46
- type: Literal["string"] # type: ignore
47
- format: NotRequired[
48
- Literal["date-time", "date", "time", "email", "uuid", "ipv4", "ipv6", "password", "qrCode", "image"]
49
- ]
50
- minLength: NotRequired[int]
51
- maxLength: NotRequired[int]
52
-
53
-
54
- class JsonSchemaNumber(JsonBaseSchema):
55
- type: Literal["number"] # type: ignore
56
- minimum: NotRequired[int]
57
- maximum: NotRequired[int]
58
- step: NotRequired[float]
59
-
60
-
61
- class JsonSchemaBoolean(JsonBaseSchema):
62
- type: Literal["boolean"] # type: ignore
63
-
64
-
65
- class JsonSchemaEnum(JsonBaseSchema):
66
- type: Literal["string"] # type: ignore
67
- enum: list[str]
68
- multiple: NotRequired[bool]
69
-
70
-
71
- class JsonSchemaButton(JsonBaseSchema):
72
- type: Literal["button"] # type: ignore
73
-
74
-
75
- class JsonSchemaObject(JsonBaseSchema):
76
- type: Literal["object"] # type: ignore
77
- opened: NotRequired[bool]
78
- properties: NotRequired["JsonSchemaForm"]
79
-
80
-
81
- class JsonSchemaArray(JsonBaseSchema):
82
- type: Literal["array"] # type: ignore
83
- opened: NotRequired[bool]
84
- items: NotRequired["JsonSchema"]
85
-
86
-
87
- class JsonSchemaObjectButton(TypedDict):
88
- label: str
89
- onSubmit: str
90
-
91
-
92
- class JsonSchemaObjectWithButtons(JsonSchemaObject):
93
- buttons: list[JsonSchemaObjectButton]
94
-
95
-
96
- JsonSchema = Union[
97
- JsonSchemaString,
98
- JsonSchemaNumber,
99
- JsonSchemaBoolean,
100
- JsonSchemaEnum,
101
- JsonSchemaObject,
102
- JsonSchemaObjectWithButtons,
103
- JsonSchemaArray,
104
- JsonSchemaButton,
105
- ]
106
-
107
-
108
- JsonSchemaForm = dict[str, JsonSchema]
109
-
110
-
111
- class RootSchema(TypedDict):
112
- schema: JsonSchemaForm
113
-
114
-
115
- class SchemaConfig(TypedDict):
116
- rootSchema: RootSchema
117
- config: dict[str, Any]
118
-
119
-
120
- # camera object
121
- class Go2RtcSource(TypedDict):
122
- name: str
123
- src: str
124
-
125
-
126
- class Go2RtcFFMPEGSource(TypedDict):
127
- aac: Go2RtcSource
128
- opus: Go2RtcSource
129
-
130
-
131
- class Go2RtcWSSource(TypedDict):
132
- webrtc: str
133
-
134
-
135
- class Go2RtcRTSPSource(TypedDict):
136
- single: str
137
- default: str
138
- mp4: str
139
-
140
-
141
- class Go2RtcEndpoint(TypedDict):
142
- webrtc: str
143
- mse: str
144
- lmp4: str
145
- mmp4: str
146
- mp4: str
147
- mp4Snapshot: str
148
- jpegSnapshot: str
149
- lHlsTs: str
150
- lHlsFmp4: str
151
- mHlsFmp4: str
152
- mjpeg: str
153
- mjpegHtml: str
154
-
155
-
156
- class StreamUrls(TypedDict):
157
- ws: Go2RtcWSSource
158
- rtsp: Go2RtcRTSPSource
159
- transcoded: Go2RtcFFMPEGSource
160
- www: Go2RtcEndpoint
161
-
162
-
163
- class CameraInput(TypedDict):
164
- _id: str
165
- name: str
166
- roles: list["CameraRoles"]
167
- urls: StreamUrls
168
-
169
-
170
- CameraRoles = Literal["high-resolution", "mid-resolution", "low-resolution", "snapshot"]
171
-
172
- CameraExtensionWithoutHub = Literal[
173
- "prebuffer",
174
- "motionDetection",
175
- "objectDetection",
176
- "audioDetection",
177
- "ptz",
178
- ]
179
-
180
- CameraExtension = Union[CameraExtensionWithoutHub, Literal["hub"]]
181
-
182
-
183
- class PluginContract(TypedDict):
184
- extension: NotRequired[CameraExtension]
185
- supportAdditionalCameras: NotRequired[bool]
186
- builtIns: NotRequired[list[CameraExtensionWithoutHub]]
187
- dependencies: list[str]
188
- pythonVersion: NotRequired[str]
189
-
190
-
191
- Point = tuple[float, float]
192
-
193
- ZoneType = Literal["intersect", "contain"]
194
-
195
- ZoneFilter = Literal["include", "exclude"]
196
-
197
-
198
- class DetectionZone(TypedDict):
199
- name: str
200
- points: list[Point]
201
- type: ZoneType
202
- filter: ZoneFilter
203
- classes: list[str]
204
- isPrivacyMask: bool
205
-
206
-
207
- class CameraInformation(TypedDict):
208
- model: NotRequired[str]
209
- manufacturer: NotRequired[str]
210
- hardware: NotRequired[str]
211
- serialNumber: NotRequired[str]
212
- firmwareVersion: NotRequired[str]
213
- supportUrl: NotRequired[str]
214
-
215
-
216
- class MotionDetectionSettings(TypedDict):
217
- timeout: int
218
-
219
-
220
- class ObjectDetectionSettings(TypedDict):
221
- confidence: float
222
-
223
-
224
- class CameraActivitySettings(TypedDict):
225
- motion: MotionDetectionSettings
226
- object: ObjectDetectionSettings
227
-
228
-
229
- CameraType = Literal["camera", "doorbell"]
230
-
231
- CameraFrameWorkerDecoder = Literal["pillow", "wasm"]
232
-
233
- CameraFrameWorkerResolution = Literal[640, 480, 320]
234
-
235
-
236
- class CameraFrameWorkerSettings(TypedDict):
237
- decoder: CameraFrameWorkerDecoder
238
- fps: int
239
- resolution: CameraFrameWorkerResolution
240
-
241
-
242
- class Camera(TypedDict):
243
- _id: str
244
- nativeId: NotRequired[Optional[str]]
245
- pluginId: str
246
- name: str
247
- disabled: bool
248
- isCloud: bool
249
- hasLight: bool
250
- hasSiren: bool
251
- hasBinarySensor: bool
252
- hasBattery: bool
253
- info: CameraInformation
254
- type: CameraType
255
- activityZones: list[DetectionZone]
256
- activitySettings: CameraActivitySettings
257
- hasAudioDetector: bool
258
- hasMotionDetector: bool
259
- hasObjectDetector: bool
260
- hasPrebuffer: bool
261
- hasPtz: bool
262
- sources: list[CameraInput]
263
- frameWorkerSettings: CameraFrameWorkerSettings
264
-
265
-
266
- CameraPublicProperties = Literal[
267
- "_id",
268
- "nativeId",
269
- "pluginId",
270
- "name",
271
- "disabled",
272
- "isCloud",
273
- "hasLight",
274
- "hasSiren",
275
- "hasBinarySensor",
276
- "hasBattery",
277
- "info",
278
- "type",
279
- "activityZones",
280
- "activitySettings",
281
- "hasAudioDetector",
282
- "hasMotionDetector",
283
- "hasObjectDetector",
284
- "hasPrebuffer",
285
- "hasPtz",
286
- "sources",
287
- "frameWorkerSettings",
288
- ]
289
-
290
-
291
- # camera device
292
- ObjectClass = Literal[
293
- "person",
294
- "bicycle",
295
- "car",
296
- "motorcycle",
297
- "airplane",
298
- "bus",
299
- "train",
300
- "truck",
301
- "boat",
302
- "traffic light",
303
- "fire hydrant",
304
- "stop sign",
305
- "parking meter",
306
- "bench",
307
- "bird",
308
- "cat",
309
- "dog",
310
- "horse",
311
- "sheep",
312
- "cow",
313
- "elephant",
314
- "bear",
315
- "zebra",
316
- "giraffe",
317
- "backpack",
318
- "umbrella",
319
- "handbag",
320
- "tie",
321
- "suitcase",
322
- "frisbee",
323
- "skis",
324
- "snowboard",
325
- "sports ball",
326
- "kite",
327
- "baseball bat",
328
- "baseball glove",
329
- "skateboard",
330
- "surfboard",
331
- "tennis racket",
332
- "bottle",
333
- "wine glass",
334
- "cup",
335
- "fork",
336
- "knife",
337
- "spoon",
338
- "bowl",
339
- "banana",
340
- "apple",
341
- "sandwich",
342
- "orange",
343
- "broccoli",
344
- "carrot",
345
- "hot dog",
346
- "pizza",
347
- "donut",
348
- "cake",
349
- "chair",
350
- "couch",
351
- "potted plant",
352
- "bed",
353
- "dining table",
354
- "toilet",
355
- "tv",
356
- "laptop",
357
- "mouse",
358
- "remote",
359
- "keyboard",
360
- "cell phone",
361
- "microwave",
362
- "oven",
363
- "toaster",
364
- "sink",
365
- "refrigerator",
366
- "book",
367
- "clock",
368
- "vase",
369
- "scissors",
370
- "teddy bear",
371
- "hair drier",
372
- "toothbrush",
373
- "motion",
374
- ]
375
-
376
-
377
- class Detection(TypedDict):
378
- id: NotRequired[str]
379
- label: ObjectClass
380
- confidence: float
381
- boundingBox: tuple[float, float, float, float]
382
- inputWidth: int
383
- inputHeight: int
384
- origWidth: int
385
- origHeight: int
386
-
387
-
388
- class BaseStateLight(TypedDict):
389
- timestamp: int
390
- lastEvent: NotRequired[Optional["LightStateWithoutLastEvent"]]
391
-
392
-
393
- class BaseStateMotion(TypedDict):
394
- timestamp: int
395
- lastEvent: NotRequired[Optional["MotionStateWithoutLastEvent"]]
396
-
397
-
398
- class BaseStateAudio(TypedDict):
399
- timestamp: int
400
- lastEvent: NotRequired[Optional["AudioStateWithoutLastEvent"]]
401
-
402
-
403
- class BaseStateObject(TypedDict):
404
- timestamp: int
405
- lastEvent: NotRequired[Optional["ObjectStateWithoutLastEvent"]]
406
-
407
-
408
- class BaseStateDoorbell(TypedDict):
409
- timestamp: int
410
- lastEvent: NotRequired[Optional["DoorbellStateWithoutLastEvent"]]
411
-
412
-
413
- class BaseStateSiren(TypedDict):
414
- timestamp: int
415
- lastEvent: NotRequired[Optional["SirenStateWithoutLastEvent"]]
416
-
417
-
418
- class BaseStateBattery(TypedDict):
419
- timestamp: int
420
- lastEvent: NotRequired[Optional["BatteryStateWithoutLastEvent"]]
421
-
422
-
423
- class BaseStateWithoutLastEvent(TypedDict):
424
- timestamp: int
425
-
426
-
427
- class MotionSetEvent(TypedDict):
428
- state: NotRequired[bool]
429
- detections: list[Detection]
430
-
431
-
432
- class AudioSetEvent(TypedDict):
433
- state: bool
434
- db: NotRequired[Optional[int]]
435
-
436
-
437
- class ObjectSetEvent(TypedDict):
438
- detections: list[Detection]
439
-
440
-
441
- class LightSetEvent(TypedDict):
442
- state: bool
443
-
444
-
445
- class DoorbellSetEvent(TypedDict):
446
- state: bool
447
-
448
-
449
- class SirenSetEvent(TypedDict):
450
- state: bool
451
- level: NotRequired[Optional[int]]
452
-
453
-
454
- class BatterySetEvent(TypedDict):
455
- level: int
456
- charging: NotRequired[Optional[bool]]
457
- lowBattery: NotRequired[Optional[bool]]
458
-
459
-
460
- class LightState(BaseStateLight, LightSetEvent): ...
461
-
462
-
463
- class LightStateWithoutLastEvent(BaseStateWithoutLastEvent, LightSetEvent): ...
464
-
465
-
466
- class MotionState(BaseStateMotion, MotionSetEvent): ...
467
-
468
-
469
- class MotionStateWithoutLastEvent(BaseStateWithoutLastEvent, MotionSetEvent): ...
470
-
471
-
472
- class AudioState(BaseStateAudio, AudioSetEvent): ...
473
-
474
-
475
- class AudioStateWithoutLastEvent(BaseStateWithoutLastEvent, AudioSetEvent): ...
476
-
477
-
478
- class DoorbellState(BaseStateDoorbell, DoorbellSetEvent): ...
479
-
480
-
481
- class DoorbellStateWithoutLastEvent(BaseStateWithoutLastEvent, DoorbellSetEvent): ...
482
-
483
-
484
- class SirenState(BaseStateSiren, SirenSetEvent): ...
485
-
486
-
487
- class SirenStateWithoutLastEvent(BaseStateWithoutLastEvent, SirenSetEvent): ...
488
-
489
-
490
- class ObjectState(BaseStateObject, ObjectSetEvent): ...
491
-
492
-
493
- class ObjectStateWithoutLastEvent(BaseStateWithoutLastEvent, ObjectSetEvent): ...
494
-
495
-
496
- class BatteryState(BaseStateBattery, BatterySetEvent): ...
497
-
498
-
499
- class BatteryStateWithoutLastEvent(BaseStateWithoutLastEvent, BatterySetEvent): ...
500
-
501
-
502
- class FrameState(MotionState):
503
- frameData: "FrameData"
504
- metadata: "FrameMetadata"
505
-
506
-
507
- T = TypeVar(
508
- "T",
509
- LightState,
510
- MotionState,
511
- AudioState,
512
- DoorbellState,
513
- SirenState,
514
- ObjectState,
515
- BatteryState,
516
- )
517
-
518
-
519
- class StateValues(Protocol):
520
- light: LightState
521
- motion: MotionState
522
- audio: AudioState
523
- object: ObjectState
524
- doorbell: DoorbellState
525
- siren: SirenState
526
- battery: BatteryState
527
-
528
-
529
- class SetValues(Protocol):
530
- light: LightSetEvent
531
- motion: MotionSetEvent
532
- audio: AudioSetEvent
533
- object: ObjectSetEvent
534
- doorbell: DoorbellSetEvent
535
- siren: SirenSetEvent
536
- battery: BatterySetEvent
537
-
538
-
539
- CameraStateCallbacks = dict[str, Callable[[T], None]]
540
-
541
- StateValue = Union[
542
- LightState,
543
- MotionState,
544
- AudioState,
545
- DoorbellState,
546
- SirenState,
547
- ObjectState,
548
- BatteryState,
549
- ]
550
-
551
- SetValue = Union[
552
- LightSetEvent,
553
- MotionSetEvent,
554
- AudioSetEvent,
555
- DoorbellSetEvent,
556
- SirenSetEvent,
557
- BatterySetEvent,
558
- ObjectSetEvent,
559
- ]
560
-
561
- StateNames = Literal["light", "motion", "audio", "doorbell", "siren", "battery", "object"]
562
-
563
- OnChangeCallback = Callable[[T, T], None]
564
-
565
-
566
- class AudioStreamOptions(TypedDict):
567
- enabled: NotRequired[bool]
568
- codec: NotRequired[str]
569
- bitrate: NotRequired[int]
570
- sampleRate: NotRequired[int]
571
-
572
-
573
- class VideoStreamOptions(TypedDict):
574
- codec: NotRequired[str]
575
- width: NotRequired[int]
576
- height: NotRequired[int]
577
- bitrate: NotRequired[int]
578
- fps: NotRequired[int]
579
- idrInterval: NotRequired[int]
580
-
581
-
582
- class StreamInfo(TypedDict):
583
- audio: AudioStreamOptions
584
- video: VideoStreamOptions
585
-
586
-
587
- class BasePrebufferState(TypedDict):
588
- duration: int
589
-
590
-
591
- class PrebufferStateTrue(BasePrebufferState):
592
- state: bool
593
- url: str
594
-
595
-
596
- class PrebufferStateFalse(BasePrebufferState):
597
- state: bool
598
-
599
-
600
- PrebufferState = Union[PrebufferStateTrue, PrebufferStateFalse]
601
-
602
- Container = Literal["mpegts", "mp4"]
603
-
604
-
605
- TalkbackCodec = Literal["PCMA", "PCMU", "opus"]
606
-
607
- Interfaces = Literal["camera", "ptz", "prebuffer", "audioDetector", "motionDetector", "objectDetector"]
608
-
609
-
610
- class CameraDelegate(metaclass=ABCMeta):
611
- @abstractmethod
612
- async def snapshot(self) -> Optional[bytes]: ...
613
-
614
-
615
- CameraDelegateMethodNames = Literal["reboot", "snapshot"]
616
-
617
-
618
- class CameraPrebufferDelegate(metaclass=ABCMeta):
619
- @abstractmethod
620
- async def getStreamInfo(self, source_name: str) -> Optional[StreamInfo]: ...
621
-
622
-
623
- CameraPrebufferDelegateMethodNames = Literal["getStreamInfo"]
624
-
625
-
626
- class CameraPTZDelegate(metaclass=ABCMeta):
627
- @abstractmethod
628
- async def moveAbsolute(self, pan: float, tilt: float, zoom: float) -> None: ...
629
-
630
- @abstractmethod
631
- async def moveRelative(self, pan: float, tilt: float, zoom: float) -> None: ...
632
-
633
- @abstractmethod
634
- async def moveContinuous(self, pan: float, tilt: float, zoom: float) -> None: ...
635
-
636
- @abstractmethod
637
- async def stop(self) -> None: ...
638
-
639
-
640
- CameraPTZDelegateMethodNames = Literal["moveAbsolute", "moveRelative", "moveContinuous", "stop"]
641
-
642
-
643
- class CameraSource(Protocol):
644
- # from CameraInput
645
- id: str # _id
646
- name: str
647
- roles: list["CameraRoles"]
648
- urls: StreamUrls
649
- # end
650
-
651
- async def update_prebuffering_state(self, container: Container, state: PrebufferState) -> None: ...
652
- def get_prebuffering_state(self, container: Container) -> PrebufferState: ...
653
- def on_prebuffering(self, container: Container) -> Observable[PrebufferState]: ...
654
- async def get_stream_info(self) -> Optional[StreamInfo]: ...
655
-
656
-
657
- ImageInputFormat = Literal["yuv", "rgb", "rgba", "gray"]
658
- ImageOutputFormat = Literal["rgb", "rgba", "gray"]
659
-
660
-
661
- class ImageFormat(TypedDict):
662
- to: ImageOutputFormat
663
-
664
-
665
- class ImageCrop(TypedDict):
666
- top: int
667
- left: int
668
- width: int
669
- height: int
670
-
671
-
672
- class ImageResize(TypedDict):
673
- width: NotRequired[int]
674
- height: NotRequired[int]
675
-
676
-
677
- class ImageOptions(TypedDict):
678
- format: NotRequired[ImageFormat]
679
- crop: NotRequired[ImageCrop]
680
- resize: NotRequired[ImageResize]
681
-
682
-
683
- class IceServer(TypedDict):
684
- urls: list[str]
685
- username: NotRequired[str]
686
- credential: NotRequired[str]
687
-
688
-
689
- DecoderFormat = Literal["yuv", "rgb"]
690
-
691
-
692
- class ImageMetadata(TypedDict):
693
- width: int
694
- height: int
695
-
696
-
697
- class AudioMetadata(TypedDict):
698
- mimeType: Literal["audio/mpeg", "audio/wav", "audio/ogg"]
699
-
700
-
701
- class FrameMetadata(TypedDict):
702
- format: DecoderFormat
703
- frameSize: float
704
- width: int
705
- height: int
706
- origWidth: int
707
- origHeight: int
708
-
709
-
710
- class FrameData(TypedDict):
711
- frameId: str
712
- timestamp: int
713
-
714
-
715
- class ImageInformation(TypedDict):
716
- width: int
717
- height: int
718
- channels: Literal[1, 3, 4]
719
- format: ImageInputFormat
720
-
721
-
722
- class FrameBuffer(TypedDict):
723
- image: bytes
724
- info: ImageInformation
725
-
726
-
727
- class FrameImage(TypedDict):
728
- image: Image.Image
729
- info: ImageInformation
730
-
731
-
732
- class VideoFrame(Protocol):
733
- frame_data: FrameData
734
- metadata: FrameMetadata
735
- input_width: int
736
- input_height: int
737
- input_format: DecoderFormat
738
-
739
- async def save(self, path: str, options: Optional[ImageOptions] = {}) -> None: ...
740
- async def to_buffer(self, options: Optional[ImageOptions] = {}) -> FrameBuffer: ...
741
- async def to_image(self, options: Optional[ImageOptions] = {}) -> FrameImage: ...
742
-
743
-
744
- class MotionFrame(VideoFrame):
745
- motion: MotionState
746
-
747
-
748
- SV = TypeVar("SV", bound=StateValue)
749
-
750
-
751
- class CameraStateChangedObject(Generic[SV], dict[str, SV]):
752
- old_state: SV
753
- new_state: SV
754
-
755
-
756
- class CameraPropertyObservableObject(TypedDict):
757
- property: str
758
- old_state: Any
759
- new_state: Any
760
-
761
-
762
- class CameraDevice(Protocol):
763
- id: str
764
- plugin_id: str
765
- native_id: Optional[str] = None
766
- connected: bool
767
- disabled: bool
768
- name: str
769
- type: CameraType
770
- info: CameraInformation
771
- sources: list[CameraSource]
772
- activity_zones: list[DetectionZone]
773
- activity_settings: CameraActivitySettings
774
- frameworker_settings: CameraFrameWorkerSettings
775
- is_cloud: bool
776
- has_light: bool
777
- has_siren: bool
778
- has_binary_sensor: bool
779
- has_battery: bool
780
- has_motion_detector: bool
781
- has_audio_detector: bool
782
- has_object_detector: bool
783
- has_ptz: bool
784
- has_prebuffer: bool
785
-
786
- on_connected: Observable[bool]
787
- on_light_switched: Observable[LightState]
788
- on_motion_detected: Observable[MotionState]
789
- on_audio_detected: Observable[AudioState]
790
- on_object_detected: Observable[ObjectState]
791
- on_doorbell_pressed: Observable[DoorbellState]
792
- on_siren_detected: Observable[SirenState]
793
- on_battery_changed: Observable[BatteryState]
794
-
795
- stream_source: CameraSource
796
- snapshot_source: Optional[CameraSource]
797
- high_resolution_source: Optional[CameraSource]
798
- mid_resolution_source: Optional[CameraSource]
799
- low_resolution_source: Optional[CameraSource]
800
-
801
- ptz: CameraPTZDelegate
802
-
803
- @overload
804
- def set_delegate(self, name: Literal["cameraDelegate"], delegate: CameraDelegate) -> None: ...
805
- @overload
806
- def set_delegate(self, name: Literal["prebufferDelegate"], delegate: CameraPrebufferDelegate) -> None: ...
807
- @overload
808
- def set_delegate(self, name: Literal["ptzDelegate"], delegate: CameraPTZDelegate) -> None: ...
809
-
810
- async def connect(self) -> None: ...
811
- async def disconnect(self) -> None: ...
812
- async def snapshot(self, force_new: Optional[bool] = None) -> Optional[bytes]: ...
813
- async def get_frames(self, prebuffer_duration: int = 0) -> AsyncGenerator[VideoFrame, None]: ...
814
- async def get_motion_frames(self) -> AsyncGenerator[MotionFrame, None]: ...
815
-
816
- async def get_value(
817
- self, state_name: str
818
- ) -> Union[
819
- LightState,
820
- MotionState,
821
- AudioState,
822
- ObjectState,
823
- DoorbellState,
824
- SirenState,
825
- BatteryState,
826
- ]: ...
827
-
828
- async def add_camera_source(self, source: "CameraConfigInputSettings") -> None: ...
829
- async def update_camera_source(
830
- self, source_id: str, source: "CameraConfigInputSettingsPartial"
831
- ) -> None: ...
832
- async def remove_camera_source(self, source_id: str) -> None: ...
833
-
834
- @overload
835
- async def update_state(
836
- self,
837
- state_name: Literal["light"],
838
- event_data: LightSetEvent,
839
- ) -> None: ...
840
- @overload
841
- async def update_state(
842
- self,
843
- state_name: Literal["motion"],
844
- event_data: MotionSetEvent,
845
- frame: Optional[VideoFrame] = None,
846
- ) -> None: ...
847
- @overload
848
- async def update_state(
849
- self,
850
- state_name: Literal["audio"],
851
- event_data: AudioSetEvent,
852
- ) -> None: ...
853
- @overload
854
- async def update_state(
855
- self,
856
- state_name: Literal["object"],
857
- event_data: ObjectSetEvent,
858
- ) -> None: ...
859
- @overload
860
- async def update_state(
861
- self,
862
- state_name: Literal["doorbell"],
863
- event_data: DoorbellSetEvent,
864
- ) -> None: ...
865
- @overload
866
- async def update_state(
867
- self,
868
- state_name: Literal["siren"],
869
- event_data: SirenSetEvent,
870
- ) -> None: ...
871
- @overload
872
- async def update_state(
873
- self,
874
- state_name: Literal["battery"],
875
- event_data: BatterySetEvent,
876
- ) -> None: ...
877
- async def update_state(
878
- self, state_name: str, event_data: Any, frame: Optional[VideoFrame] = None
879
- ) -> None: ...
880
-
881
- @overload
882
- def on_state_change(
883
- self, state_name: Literal["light"]
884
- ) -> Observable[CameraStateChangedObject[LightState]]: ...
885
- @overload
886
- def on_state_change(
887
- self, state_name: Literal["motion"]
888
- ) -> Observable[CameraStateChangedObject[MotionState]]: ...
889
- @overload
890
- def on_state_change(
891
- self, state_name: Literal["audio"]
892
- ) -> Observable[CameraStateChangedObject[AudioState]]: ...
893
- @overload
894
- def on_state_change(
895
- self, state_name: Literal["doorbell"]
896
- ) -> Observable[CameraStateChangedObject[DoorbellState]]: ...
897
- @overload
898
- def on_state_change(
899
- self, state_name: Literal["siren"]
900
- ) -> Observable[CameraStateChangedObject[SirenState]]: ...
901
- @overload
902
- def on_state_change(
903
- self, state_name: Literal["battery"]
904
- ) -> Observable[CameraStateChangedObject[BatteryState]]: ...
905
- @overload
906
- def on_state_change(
907
- self, state_name: Literal["object"]
908
- ) -> Observable[CameraStateChangedObject[ObjectState]]: ...
909
- def on_state_change( # type: ignore
910
- self, state_name: StateNames
911
- ) -> Observable[CameraStateChangedObject[StateValue]]: ...
912
- def on_property_change(
913
- self, property: Union[CameraPublicProperties, list[CameraPublicProperties]]
914
- ) -> Observable[CameraPropertyObservableObject]: ...
915
-
916
- def remove_all_listeners(self) -> None: ...
917
-
918
-
919
- # camera create config
920
- class BaseCameraConfig(TypedDict):
921
- name: str
922
- nativeId: NotRequired[str]
923
- isCloud: NotRequired[bool]
924
- hasLight: NotRequired[bool]
925
- hasSiren: NotRequired[bool]
926
- hasBinarySensor: NotRequired[bool]
927
- hasBattery: NotRequired[bool]
928
- disabled: NotRequired[bool]
929
- info: NotRequired[CameraInformation]
930
-
931
-
932
- class CameraConfigInputSettingsPartial(TypedDict, total=False):
933
- # _id: str
934
- name: str
935
- roles: list[CameraRoles]
936
- urls: list[str]
937
-
938
-
939
- class CameraConfigInputSettings(TypedDict):
940
- name: str
941
- roles: list[CameraRoles]
942
- urls: list[str]
943
-
944
-
945
- class CameraConfig(BaseCameraConfig):
946
- sources: list[CameraConfigInputSettings]
947
-
948
-
949
- # events and callbacks
950
- CameraSelectedCallback = Union[
951
- Callable[[CameraDevice, CameraExtension], None],
952
- Callable[[CameraDevice, CameraExtension], Coroutine[None, None, None]],
953
- ]
954
- CameraDeselectedCallback = Union[
955
- Callable[[str, CameraExtension], None],
956
- Callable[[str, CameraExtension], Coroutine[None, None, None]],
957
- ]
958
-
959
-
960
- # CoreManager
961
- @runtime_checkable
962
- class CoreManager(Protocol):
963
- async def get_ffmpeg_path(self) -> str: ...
964
- async def get_ice_servers(self) -> list[IceServer]: ...
965
- async def get_server_addresses(self) -> list[str]: ...
966
-
967
-
968
- # DeviceManager
969
- DeviceManagerEventType = Literal[
970
- "cameraSelected",
971
- "cameraDeselected",
972
- ]
973
-
974
-
975
- @runtime_checkable
976
- class DeviceManager(Protocol):
977
- async def get_camera_by_id(self, id: str) -> Optional[CameraDevice]: ...
978
- async def get_camera_by_name(self, name: str) -> Optional[CameraDevice]: ...
979
- async def create_camera(self, config: CameraConfig) -> CameraDevice: ...
980
- async def remove_camera_by_id(self, id: str) -> None: ...
981
- async def remove_camera_by_name(self, name: str) -> None: ...
982
-
983
- @overload
984
- def on(self, event: Literal["cameraSelected"], listener: CameraSelectedCallback) -> "DeviceManager": ...
985
- @overload
986
- def on(
987
- self, event: Literal["cameraDeselected"], listener: CameraDeselectedCallback
988
- ) -> "DeviceManager": ...
989
-
990
- @overload
991
- def once(self, event: Literal["cameraSelected"], listener: CameraSelectedCallback) -> "DeviceManager": ...
992
- @overload
993
- def once(
994
- self, event: Literal["cameraDeselected"], listener: CameraDeselectedCallback
995
- ) -> "DeviceManager": ...
996
-
997
- @overload
998
- def remove_listener(
999
- self, event: Literal["cameraSelected"], listener: CameraSelectedCallback
1000
- ) -> "DeviceManager": ...
1001
- @overload
1002
- def remove_listener(
1003
- self, event: Literal["cameraDeselected"], listener: CameraDeselectedCallback
1004
- ) -> "DeviceManager": ...
1005
-
1006
- def remove_all_listeners(self, event: Optional[DeviceManagerEventType] = None) -> "DeviceManager": ...
1007
-
1008
-
1009
- # camera storage
1010
- P = TypeVar("P")
1011
- CS = TypeVar("CS", default=dict[str, Any])
1012
-
1013
-
1014
- @runtime_checkable
1015
- class CameraStorage(Protocol, Generic[CS]):
1016
- values: CS
1017
- schema: JsonSchemaForm
1018
-
1019
- async def initializeStorage(self) -> None: ...
1020
- @overload
1021
- def getValue(self, path: str) -> Union[Awaitable[P], P, None]: ...
1022
- @overload
1023
- def getValue(self, path: str, default_value: P) -> Union[Awaitable[P], P]: ...
1024
- def getValue(self, path: str, default_value: Optional[P] = None) -> Union[Awaitable[P], P, None]: ...
1025
- async def setValue(self, path: str, new_value: Any) -> None: ...
1026
- def hasValue(self, path: str) -> bool: ...
1027
- async def getConfig(self) -> SchemaConfig: ...
1028
- async def setConfig(self, new_config: CS) -> None: ...
1029
- @overload
1030
- async def addSchema(self, schema_or_path: JsonSchemaForm) -> None: ...
1031
- @overload
1032
- async def addSchema(self, schema_or_path: str, schema: JsonSchema) -> None: ...
1033
- async def addSchema(
1034
- self,
1035
- schema_or_path: Union[JsonSchemaForm, str],
1036
- schema: Optional[JsonSchema] = None,
1037
- ) -> None: ...
1038
- def removeSchema(self, path: str) -> None: ...
1039
- async def changeSchema(self, path: str, new_schema: dict[str, Any]) -> None: ...
1040
- def getSchema(self, path: str) -> Optional[JsonSchema]: ...
1041
- def hasSchema(self, path: str) -> bool: ...
1042
-
1043
-
1044
- SC = TypeVar("SC", default=CameraStorage[dict[str, Any]], covariant=True)
1045
-
1046
-
1047
- # StorageController
1048
- @runtime_checkable
1049
- class StorageController(Protocol[SC]):
1050
- def create_camera_storage(
1051
- self,
1052
- instance: Any,
1053
- camera_id: str,
1054
- schema: Optional[JsonSchemaForm] = None,
1055
- ) -> SC: ...
1056
- def get_camera_storage(self, camera_id: str) -> Optional[SC]: ...
1057
- def remove_camera_storage(self, camera_id: str) -> None: ...
1058
-
1059
-
1060
- # config service
1061
- @runtime_checkable
1062
- class PluginConfigService(Protocol):
1063
- def get(
1064
- self,
1065
- key: str,
1066
- default: Optional[Any] = None,
1067
- validate: Optional[Callable[[Any], bool]] = None,
1068
- refresh: bool = False,
1069
- write_if_not_valid: bool = False,
1070
- ) -> Any: ...
1071
-
1072
- def has(self, key: str, refresh: bool = False) -> bool: ...
1073
- def ensure_exists(self, key: str, default: Optional[Any] = None, write: bool = False) -> None: ...
1074
- def set(self, key: str, value: Any, write: bool = False) -> None: ...
1075
- def insert(self, key: str, value: Any, index: Optional[int] = None, write: bool = False) -> None: ...
1076
- def push(self, key: str, *values: Any, write: bool = False) -> None: ...
1077
- def delete(self, key: str, write: bool = False) -> None: ...
1078
- def all(self, refresh: bool = False) -> dict[str, Any]: ...
1079
- def replace(self, new_config: dict[str, Any], write: bool = False) -> None: ...
1080
- def update_value(
1081
- self,
1082
- path: str,
1083
- search_key: str,
1084
- search_value: Any,
1085
- target_key: str,
1086
- new_value: Any,
1087
- write: bool = False,
1088
- ) -> None: ...
1089
- def replace_or_add_item(
1090
- self,
1091
- path: str,
1092
- search_key: str,
1093
- search_value: Any,
1094
- new_item: Any,
1095
- write: bool = False,
1096
- ) -> None: ...
1097
-
1098
-
1099
- # Plugin API
1100
- APIEventType = Literal["finishLaunching", "shutdown"]
1101
-
1102
- PA = TypeVar("PA", bound=CameraStorage[Any], default=CameraStorage[Any])
1103
-
1104
-
1105
- @runtime_checkable
1106
- class PluginAPI(Protocol[PA]):
1107
- storage_path: str
1108
- config_file: str
1109
- config_service: PluginConfigService
1110
- storage_controller: StorageController[PA]
1111
- core_manager: CoreManager
1112
- device_manager: DeviceManager
1113
-
1114
- def on(self, event: APIEventType, listener: Callback) -> "PluginAPI": ...
1115
- def once(self, event: APIEventType, listener: Callback) -> "PluginAPI": ...
1116
- def off(self, event: APIEventType, listener: Callback) -> "PluginAPI": ...
1117
- def remove_listener(self, event: APIEventType, listener: Callback) -> "PluginAPI": ...
1118
- def remove_all_listeners(self, event: Optional[APIEventType] = None) -> "PluginAPI": ...
1119
-
1120
-
1121
- # logger
1122
- @runtime_checkable
1123
- class PluginLogger(Protocol):
1124
- def log(self, *args: Any) -> None: ...
1125
- def error(self, *args: Any) -> None: ...
1126
- def warn(self, *args: Any) -> None: ...
1127
- def attention(self, *args: Any) -> None: ...
1128
- def debug(self, *args: Any) -> None: ...
1129
- def trace(self, *args: Any) -> None: ...
1130
-
1131
-
1132
- # plugin
1133
- PluginConfig = dict[str, Any]
1134
- JSONValue = Union[str, int, float, bool, dict[str, Any], list[Any]]
1135
-
1136
-
1137
- class ToastMessage(TypedDict):
1138
- type: Literal["info", "success", "warning", "error"]
1139
- message: str
1140
-
1141
-
1142
- class FormSubmitSchema(TypedDict):
1143
- config: JsonSchemaObjectWithButtons
1144
-
1145
-
1146
- class FormSubmitResponse(TypedDict):
1147
- toast: NotRequired[ToastMessage]
1148
- schema: NotRequired[FormSubmitSchema]
1149
-
1150
-
1151
- class MotionDetectionPluginResponse(TypedDict):
1152
- filePath: str
1153
-
1154
-
1155
- class ObjectDetectionPluginResponse(TypedDict):
1156
- detections: list[Detection]
1157
-
1158
-
1159
- class AudioDetectionPluginResponse(TypedDict):
1160
- detected: bool
1161
-
1162
-
1163
- class BasePlugin(metaclass=ABCMeta):
1164
- @abstractmethod
1165
- def __init__(self, logger: PluginLogger, api_instance: PluginAPI) -> None: ...
1166
- @abstractmethod
1167
- async def onFormSubmit(self, action_id: str, payload: Any) -> Union[FormSubmitResponse, None]: ...
1168
- @abstractmethod
1169
- def configure_cameras(self, cameras: list[CameraDevice]) -> None: ...
1170
-
1171
-
1172
- class MotionDetectionPlugin(BasePlugin):
1173
- @abstractmethod
1174
- def interfaceSchema(self) -> Optional[RootSchema]: ...
1175
- @abstractmethod
1176
- async def detectMotion(
1177
- self, video_path: str, config: dict[str, Any]
1178
- ) -> MotionDetectionPluginResponse: ...
1179
-
1180
-
1181
- class ObjectDetectionPlugin(BasePlugin):
1182
- @abstractmethod
1183
- def interfaceSchema(self) -> Optional[RootSchema]: ...
1184
- @abstractmethod
1185
- async def detectObjects(
1186
- self, image_path: str, metadata: ImageMetadata, config: dict[str, Any]
1187
- ) -> ObjectDetectionPluginResponse: ...
1188
-
1189
-
1190
- class AudioDetectionPlugin(BasePlugin):
1191
- @abstractmethod
1192
- def interfaceSchema(self) -> Optional[RootSchema]: ...
1193
- @abstractmethod
1194
- async def detectAudio(
1195
- self, audio_path: str, metadata: AudioMetadata, config: dict[str, Any]
1196
- ) -> AudioDetectionPluginResponse: ...