@camera.ui/server 0.0.49 → 0.0.50-internal.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (605) hide show
  1. package/dist/interface/assets/@xterm.DYP7pi_n.0.0.50-internal.1.css +32 -0
  2. package/dist/interface/assets/Adminpanel.BKek2EMH.0.0.50-internal.1.css +1 -0
  3. package/dist/interface/assets/Cameras.BDWZJqPN.0.0.50-internal.1.css +1 -0
  4. package/dist/interface/assets/Camview.BFUFMoNX.0.0.50-internal.1.css +1 -0
  5. package/dist/interface/assets/CuiConsole.DCYyxdVg.0.0.50-internal.1.css +1 -0
  6. package/dist/interface/assets/CuiPluginCard.yF8V0SZY.0.0.50-internal.1.css +1 -0
  7. package/dist/interface/assets/CuiTimeline.BkIwlYtw.0.0.50-internal.1.css +1 -0
  8. package/dist/interface/assets/Plugin.DJElsAn5.0.0.50-internal.1.css +1 -0
  9. package/dist/interface/assets/Plugins.0h77qnmN.0.0.50-internal.1.css +1 -0
  10. package/dist/interface/assets/Settings.CkgfRkQr.0.0.50-internal.1.css +1 -0
  11. package/dist/interface/assets/SettingsAccount.DeFul3eQ.0.0.50-internal.1.css +1 -0
  12. package/dist/interface/assets/main.Cip9LkS3.0.0.50-internal.1.css +1 -0
  13. package/dist/interface/assets/worker-base.jEXLGV2h.0.0.50-internal.1.js +1332 -0
  14. package/dist/interface/assets/worker-json.DgwNIOck.0.0.50-internal.1.js +1626 -0
  15. package/dist/interface/assets/worker-yaml.B3uUYINB.0.0.50-internal.1.js +5819 -0
  16. package/dist/interface/fonts/InterVariable.woff2 +0 -0
  17. package/dist/interface/index.html +48 -38
  18. package/dist/interface/js/@intlify.BkGPX90O.0.0.50-internal.1.js +15 -0
  19. package/dist/interface/js/@kurkle.D8fDXNIl.0.0.50-internal.1.js +6 -0
  20. package/dist/interface/js/@primeuix.BFAY2Bk9.0.0.50-internal.1.js +5722 -0
  21. package/dist/interface/js/@primevue.CiB2EGly.0.0.50-internal.1.js +57 -0
  22. package/dist/interface/js/@tanstack.DxMw_rJn.0.0.50-internal.1.js +1 -0
  23. package/dist/interface/{@vee-validate.DHkwupr6.0.0.49.js → js/@vee-validate.RxZ3hn6V.0.0.50-internal.1.js} +2 -2
  24. package/dist/interface/js/@vue.B5vqhCp2.0.0.50-internal.1.js +17 -0
  25. package/dist/interface/js/@vueuse.C-k73ACm.0.0.50-internal.1.js +1 -0
  26. package/dist/interface/{@xterm.D6R4zI7m.0.0.49.js → js/@xterm.DIUBesyz.0.0.50-internal.1.js} +8 -8
  27. package/dist/interface/js/Adminpanel.DumNu6GD.0.0.50-internal.1.js +1 -0
  28. package/dist/interface/js/Camera.BuosoqFl.0.0.50-internal.1.js +1 -0
  29. package/dist/interface/js/Cameras.A7NJflGG.0.0.50-internal.1.js +482 -0
  30. package/dist/interface/js/Cammesh.Dv3C0UiR.0.0.50-internal.1.js +1 -0
  31. package/dist/interface/js/Camview.GgjJp7JR.0.0.50-internal.1.js +1 -0
  32. package/dist/interface/js/Config.BL3L-BFE.0.0.50-internal.1.js +2 -0
  33. package/dist/interface/js/Console.CxwRmUVF.0.0.50-internal.1.js +4 -0
  34. package/dist/interface/js/CuiConsole.D16kkT6R.0.0.50-internal.1.js +1 -0
  35. package/dist/interface/js/CuiPluginCard.Bkp__d8n.0.0.50-internal.1.js +4 -0
  36. package/dist/interface/js/CuiTimeline.C9HKvo0G.0.0.50-internal.1.js +1 -0
  37. package/dist/interface/js/FirstSteps.QuJjtAtF.0.0.50-internal.1.js +1 -0
  38. package/dist/interface/js/Plugin.BLUUbEej.0.0.50-internal.1.js +1 -0
  39. package/dist/interface/js/Plugins.DviCIk7w.0.0.50-internal.1.js +1 -0
  40. package/dist/interface/js/Recordings.Dsp07cHs.0.0.50-internal.1.js +1 -0
  41. package/dist/interface/js/Settings.Clx4y9gP.0.0.50-internal.1.js +1 -0
  42. package/dist/interface/js/SettingsAccount.cfY4-PYd.0.0.50-internal.1.js +1 -0
  43. package/dist/interface/js/SettingsAppearance.CBGZAazb.0.0.50-internal.1.js +1 -0
  44. package/dist/interface/js/SettingsAppearance.vue_vue_type_script_setup_true_lang.kxAPXcBy.0.0.50-internal.1.js +1 -0
  45. package/dist/interface/js/SettingsBackup.DOaJA4pp.0.0.50-internal.1.js +1 -0
  46. package/dist/interface/js/SettingsRecordings.BGcwL6tk.0.0.50-internal.1.js +1 -0
  47. package/dist/interface/js/SettingsRemote.BVU_w1Jm.0.0.50-internal.1.js +1 -0
  48. package/dist/interface/js/SettingsSystem.P0vy90vA.0.0.50-internal.1.js +1 -0
  49. package/dist/interface/js/SettingsUsers.DaP5m7eo.0.0.50-internal.1.js +1 -0
  50. package/dist/interface/js/VersionsHandler.vue_vue_type_script_setup_true_lang.MmrWYW3K.0.0.50-internal.1.js +4 -0
  51. package/dist/interface/js/ace-builds.C0aqA_3x.0.0.50-internal.1.js +1090 -0
  52. package/dist/interface/js/ace.config.C9wgzklI.0.0.50-internal.1.js +1 -0
  53. package/dist/interface/js/axios.DHr9lByg.0.0.50-internal.1.js +6 -0
  54. package/dist/interface/js/backup.BeH6lJ5t.0.0.50-internal.1.js +1 -0
  55. package/dist/interface/js/chart.js.BQHSWV_g.0.0.50-internal.1.js +13 -0
  56. package/dist/interface/js/close-circle.DDKMxauw.0.0.50-internal.1.js +1 -0
  57. package/dist/interface/js/dnd-core.dWz9rJqH.0.0.50-internal.1.js +1 -0
  58. package/dist/interface/{draggabilly.C0hZWkL0.0.0.49.js → js/draggabilly.D-iZIS1n.0.0.50-internal.1.js} +1 -1
  59. package/dist/interface/js/engine.io-client.BwxOddB_.0.0.50-internal.1.js +1 -0
  60. package/dist/interface/js/fast-deep-equal.Dz96RC_N.0.0.50-internal.1.js +1 -0
  61. package/dist/interface/js/highlight.js.CmcM8OM6.0.0.50-internal.1.js +3 -0
  62. package/dist/interface/js/linkify-it.BgLcBzlw.0.0.50-internal.1.js +1 -0
  63. package/dist/interface/js/main.6bOgRV7D.0.0.50-internal.1.js +31 -0
  64. package/dist/interface/{markdown-it.64FJJcTG.0.0.49.js → js/markdown-it.CTgfs-3p.0.0.50-internal.1.js} +1 -1
  65. package/dist/interface/{nprogress.DkWvUoHh.0.0.49.js → js/nprogress.CMhnq8jS.0.0.50-internal.1.js} +1 -1
  66. package/dist/interface/js/perfect-debounce.l0sNRNKZ.0.0.50-internal.1.js +1 -0
  67. package/dist/interface/js/pinia.CuC5ZfNs.0.0.50-internal.1.js +5 -0
  68. package/dist/interface/js/primelocale.Bga3dOQu.0.0.50-internal.1.js +1 -0
  69. package/dist/interface/js/primevue.DmwjJ4xV.0.0.50-internal.1.js +142 -0
  70. package/dist/interface/{qrcode.BixA_YE2.0.0.49.js → js/qrcode.DGZO3j1c.0.0.50-internal.1.js} +1 -1
  71. package/dist/interface/js/react-dnd-touch-backend.CEGHlD-T.0.0.50-internal.1.js +1 -0
  72. package/dist/interface/js/refresh-rounded.D0keXzBc.0.0.50-internal.1.js +1 -0
  73. package/dist/interface/js/rxjs.CiDbFOB0.0.0.50-internal.1.js +3 -0
  74. package/dist/interface/js/socket.io-client.BPcXPAHG.0.0.50-internal.1.js +1 -0
  75. package/dist/interface/js/socket.io-parser.DSGzrW_l.0.0.50-internal.1.js +1 -0
  76. package/dist/interface/js/system.BKlEObmx.0.0.50-internal.1.js +1 -0
  77. package/dist/interface/js/trash-fill.BDFILs86.0.0.50-internal.1.js +1 -0
  78. package/dist/interface/{unidragger.C8ueS-PW.0.0.49.js → js/unidragger.DcxsxHCS.0.0.50-internal.1.js} +1 -1
  79. package/dist/interface/js/uuid.C6aID195.0.0.50-internal.1.js +1 -0
  80. package/dist/interface/js/vee-validate.BGRg3oQ8.0.0.50-internal.1.js +5 -0
  81. package/dist/interface/js/vue-chartjs.B9yk2de7.0.0.50-internal.1.js +1 -0
  82. package/dist/interface/js/vue-i18n.DXDZITpf.0.0.50-internal.1.js +5 -0
  83. package/dist/interface/js/vue-inline-svg.BDYaTfbi.0.0.50-internal.1.js +1 -0
  84. package/dist/interface/js/vue-router.CFEDA008.0.0.50-internal.1.js +5 -0
  85. package/dist/interface/js/vue-zoomable.zqTafMgD.0.0.50-internal.1.js +1 -0
  86. package/dist/interface/js/vue.l0sNRNKZ.0.0.50-internal.1.js +1 -0
  87. package/dist/interface/js/vue3-dnd.BxM3dbYs.0.0.50-internal.1.js +1 -0
  88. package/dist/interface/js/zod.SKKegNRO.0.0.50-internal.1.js +1 -0
  89. package/dist/interface/js/zoom-out.B6SY9IIj.0.0.50-internal.1.js +1 -0
  90. package/dist/interface/manifest.webmanifest +1 -1
  91. package/dist/interface/pwa/favicon-32.ico +0 -0
  92. package/dist/interface/pwa/favicon-48.ico +0 -0
  93. package/dist/interface/sw.js +1 -1
  94. package/dist/server/package.json +57 -45
  95. package/dist/server/requirements.txt +12 -11
  96. package/dist/server/src/__init__.py +0 -0
  97. package/dist/server/src/_camera_ui_tools/__init__.py +0 -0
  98. package/dist/server/src/_camera_ui_tools/camera_ui_common/__init__.py +28 -0
  99. package/dist/server/src/_camera_ui_tools/camera_ui_common/camera_utils/utils.py +52 -0
  100. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/__init__.py +0 -0
  101. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/object_path.py +198 -0
  102. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/reactive.py +42 -0
  103. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/signal_handler.py +92 -0
  104. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/subscribed.py +21 -0
  105. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/task.py +39 -0
  106. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/thread.py +10 -0
  107. package/dist/server/src/_camera_ui_tools/camera_ui_common/common_utils/utils.py +91 -0
  108. package/dist/server/src/_camera_ui_tools/camera_ui_common/logger_service/__init__.py +0 -0
  109. package/dist/server/src/_camera_ui_tools/camera_ui_common/logger_service/ansicolor.py +62 -0
  110. package/dist/server/src/_camera_ui_tools/camera_ui_common/logger_service/logger.py +178 -0
  111. package/dist/server/src/_camera_ui_tools/camera_ui_common/logger_service/test.py +116 -0
  112. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/__init__.py +350 -0
  113. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/__init__.py +0 -0
  114. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/base.py +237 -0
  115. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/client.py +256 -0
  116. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/connection.py +784 -0
  117. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/errors.py +745 -0
  118. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/messaging.py +57 -0
  119. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/rpc.py +227 -0
  120. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/base/rpc_generator.py +584 -0
  121. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/constants.py +96 -0
  122. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/typings.py +218 -0
  123. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/__init__.py +0 -0
  124. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/connection_state.py +86 -0
  125. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/logger.py +30 -0
  126. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/metrics.py +152 -0
  127. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/packer.py +20 -0
  128. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/routing.py +75 -0
  129. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/rpc.py +177 -0
  130. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/subscriptions.py +24 -0
  131. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/tasks.py +39 -0
  132. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/uid.py +37 -0
  133. package/dist/server/src/_camera_ui_tools/camera_ui_rpc_client/utils/validate.py +119 -0
  134. package/dist/server/src/_camera_ui_tools/camera_ui_types/__init__.py +1360 -0
  135. package/dist/server/src/_camera_ui_tools/camera_ui_types/hybrid_observer.py +338 -0
  136. package/dist/server/src/_camera_ui_tools/camera_ui_types/test.py +196 -0
  137. package/dist/server/src/api/controllers/auth.controller.d.ts +2 -2
  138. package/dist/server/src/api/controllers/auth.controller.js +49 -43
  139. package/dist/server/src/api/controllers/auth.controller.js.map +1 -1
  140. package/dist/server/src/api/controllers/backup.controller.js +1 -2
  141. package/dist/server/src/api/controllers/backup.controller.js.map +1 -1
  142. package/dist/server/src/api/controllers/cameras.controller.d.ts +13 -11
  143. package/dist/server/src/api/controllers/cameras.controller.js +314 -105
  144. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  145. package/dist/server/src/api/controllers/plugins.controller.d.ts +8 -8
  146. package/dist/server/src/api/controllers/plugins.controller.js +208 -244
  147. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  148. package/dist/server/src/api/controllers/system.controller.d.ts +1 -0
  149. package/dist/server/src/api/controllers/system.controller.js +22 -8
  150. package/dist/server/src/api/controllers/system.controller.js.map +1 -1
  151. package/dist/server/src/api/controllers/users.controller.d.ts +2 -2
  152. package/dist/server/src/api/controllers/users.controller.js +13 -25
  153. package/dist/server/src/api/controllers/users.controller.js.map +1 -1
  154. package/dist/server/src/api/database/checks.js +2 -2
  155. package/dist/server/src/api/database/checks.js.map +1 -1
  156. package/dist/server/src/api/database/index.d.ts +4 -7
  157. package/dist/server/src/api/database/index.js +59 -86
  158. package/dist/server/src/api/database/index.js.map +1 -1
  159. package/dist/server/src/api/database/migration.js +5 -141
  160. package/dist/server/src/api/database/migration.js.map +1 -1
  161. package/dist/server/src/api/database/selfcheck.js +5 -5
  162. package/dist/server/src/api/database/selfcheck.js.map +1 -1
  163. package/dist/server/src/api/database/types.d.ts +17 -25
  164. package/dist/server/src/api/go2rtc/api/discover.d.ts +30 -0
  165. package/dist/server/src/api/go2rtc/api/discover.js +162 -0
  166. package/dist/server/src/api/go2rtc/api/discover.js.map +1 -0
  167. package/dist/server/src/api/go2rtc/api/index.d.ts +1 -1
  168. package/dist/server/src/api/go2rtc/api/index.js +15 -4
  169. package/dist/server/src/api/go2rtc/api/index.js.map +1 -1
  170. package/dist/server/src/api/go2rtc/api/streams.d.ts +3 -1
  171. package/dist/server/src/api/go2rtc/api/streams.js +66 -9
  172. package/dist/server/src/api/go2rtc/api/streams.js.map +1 -1
  173. package/dist/server/src/api/go2rtc/index.d.ts +2 -0
  174. package/dist/server/src/api/go2rtc/index.js +3 -0
  175. package/dist/server/src/api/go2rtc/index.js.map +1 -1
  176. package/dist/server/src/api/go2rtc/queue.js +3 -3
  177. package/dist/server/src/api/go2rtc/queue.js.map +1 -1
  178. package/dist/server/src/api/go2rtc/types.d.ts +66 -11
  179. package/dist/server/src/api/index.d.ts +4 -0
  180. package/dist/server/src/api/index.js +45 -9
  181. package/dist/server/src/api/index.js.map +1 -1
  182. package/dist/server/src/api/middlewares/authPermission.middleware.d.ts +1 -0
  183. package/dist/server/src/api/middlewares/authPermission.middleware.js +11 -2
  184. package/dist/server/src/api/middlewares/authPermission.middleware.js.map +1 -1
  185. package/dist/server/src/api/middlewares/authValidation.middleware.js +20 -12
  186. package/dist/server/src/api/middlewares/authValidation.middleware.js.map +1 -1
  187. package/dist/server/src/api/middlewares/pagination.middleware.js +45 -53
  188. package/dist/server/src/api/middlewares/pagination.middleware.js.map +1 -1
  189. package/dist/server/src/api/plugins/proxy.plugin.d.ts +14 -0
  190. package/dist/server/src/api/plugins/proxy.plugin.js +200 -0
  191. package/dist/server/src/api/plugins/proxy.plugin.js.map +1 -0
  192. package/dist/server/src/api/routes/cameras.routes.js +56 -30
  193. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  194. package/dist/server/src/api/routes/plugins.routes.js +65 -63
  195. package/dist/server/src/api/routes/plugins.routes.js.map +1 -1
  196. package/dist/server/src/api/routes/system.routes.js +7 -1
  197. package/dist/server/src/api/routes/system.routes.js.map +1 -1
  198. package/dist/server/src/api/routes/users.routes.js +8 -8
  199. package/dist/server/src/api/routes/users.routes.js.map +1 -1
  200. package/dist/server/src/api/schemas/backup.schema.d.ts +3 -3
  201. package/dist/server/src/api/schemas/backup.schema.js +1 -1
  202. package/dist/server/src/api/schemas/backup.schema.js.map +1 -1
  203. package/dist/server/src/api/schemas/cameras.schema.d.ts +1413 -529
  204. package/dist/server/src/api/schemas/cameras.schema.js +228 -182
  205. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  206. package/dist/server/src/api/schemas/config.schema.d.ts +29 -41
  207. package/dist/server/src/api/schemas/config.schema.js +10 -21
  208. package/dist/server/src/api/schemas/config.schema.js.map +1 -1
  209. package/dist/server/src/api/schemas/go2rtc.schema.d.ts +194 -162
  210. package/dist/server/src/api/schemas/go2rtc.schema.js +33 -58
  211. package/dist/server/src/api/schemas/go2rtc.schema.js.map +1 -1
  212. package/dist/server/src/api/schemas/plugins.schema.d.ts +17 -17
  213. package/dist/server/src/api/schemas/plugins.schema.js +1 -1
  214. package/dist/server/src/api/schemas/plugins.schema.js.map +1 -1
  215. package/dist/server/src/api/schemas/storage.schema.d.ts +22 -0
  216. package/dist/server/src/api/schemas/storage.schema.js +5 -0
  217. package/dist/server/src/api/schemas/storage.schema.js.map +1 -0
  218. package/dist/server/src/api/schemas/system.schema.d.ts +171 -3
  219. package/dist/server/src/api/schemas/system.schema.js +30 -3
  220. package/dist/server/src/api/schemas/system.schema.js.map +1 -1
  221. package/dist/server/src/api/schemas/users.schema.d.ts +98 -254
  222. package/dist/server/src/api/schemas/users.schema.js +6 -6
  223. package/dist/server/src/api/schemas/users.schema.js.map +1 -1
  224. package/dist/server/src/api/services/auth.service.d.ts +5 -5
  225. package/dist/server/src/api/services/auth.service.js +26 -35
  226. package/dist/server/src/api/services/auth.service.js.map +1 -1
  227. package/dist/server/src/api/services/cameras.service.d.ts +11 -16
  228. package/dist/server/src/api/services/cameras.service.js +143 -310
  229. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  230. package/dist/server/src/api/services/plugins.service.d.ts +3 -1
  231. package/dist/server/src/api/services/plugins.service.js +48 -50
  232. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  233. package/dist/server/src/api/services/users.service.d.ts +1 -0
  234. package/dist/server/src/api/services/users.service.js +20 -14
  235. package/dist/server/src/api/services/users.service.js.map +1 -1
  236. package/dist/server/src/api/types/index.d.ts +57 -46
  237. package/dist/server/src/api/types/index.js +0 -4
  238. package/dist/server/src/api/types/index.js.map +1 -1
  239. package/dist/server/src/api/utils/cert.d.ts +5 -1
  240. package/dist/server/src/api/utils/cert.js +24 -26
  241. package/dist/server/src/api/utils/cert.js.map +1 -1
  242. package/dist/server/src/api/utils/constants.d.ts +4 -2
  243. package/dist/server/src/api/utils/constants.js +4 -2
  244. package/dist/server/src/api/utils/constants.js.map +1 -1
  245. package/dist/server/src/api/utils/fetch.d.ts +1 -1
  246. package/dist/server/src/api/utils/fetch.js +2 -2
  247. package/dist/server/src/api/utils/fetch.js.map +1 -1
  248. package/dist/server/src/api/websocket/index.d.ts +1 -0
  249. package/dist/server/src/api/websocket/index.js +14 -9
  250. package/dist/server/src/api/websocket/index.js.map +1 -1
  251. package/dist/server/src/api/websocket/nsp/logs.d.ts +10 -2
  252. package/dist/server/src/api/websocket/nsp/logs.js +75 -27
  253. package/dist/server/src/api/websocket/nsp/logs.js.map +1 -1
  254. package/dist/server/src/api/websocket/nsp/metrics.d.ts +20 -12
  255. package/dist/server/src/api/websocket/nsp/metrics.js +188 -117
  256. package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -1
  257. package/dist/server/src/api/websocket/nsp/plugins.d.ts +1 -1
  258. package/dist/server/src/api/websocket/nsp/plugins.js +3 -5
  259. package/dist/server/src/api/websocket/nsp/plugins.js.map +1 -1
  260. package/dist/server/src/api/websocket/nsp/server.js +6 -0
  261. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  262. package/dist/server/src/api/websocket/types.d.ts +4 -2
  263. package/dist/server/src/api.d.ts +3 -4
  264. package/dist/server/src/api.js +13 -13
  265. package/dist/server/src/api.js.map +1 -1
  266. package/dist/server/src/camera/classes.d.ts +2 -0
  267. package/dist/server/src/camera/classes.js +24 -0
  268. package/dist/server/src/camera/classes.js.map +1 -0
  269. package/dist/server/src/camera/controller.d.ts +30 -18
  270. package/dist/server/src/camera/controller.js +236 -202
  271. package/dist/server/src/camera/controller.js.map +1 -1
  272. package/dist/server/src/camera/device.d.ts +34 -0
  273. package/dist/server/src/camera/device.js +327 -0
  274. package/dist/server/src/camera/device.js.map +1 -0
  275. package/dist/server/src/camera/frameWorker.d.ts +32 -31
  276. package/dist/server/src/camera/frameWorker.js +257 -247
  277. package/dist/server/src/camera/frameWorker.js.map +1 -1
  278. package/dist/server/src/camera/index.d.ts +92 -0
  279. package/dist/server/src/camera/index.js +531 -0
  280. package/dist/server/src/camera/index.js.map +1 -0
  281. package/dist/server/src/camera/interfaces.d.ts +17 -0
  282. package/dist/server/src/camera/interfaces.js +99 -0
  283. package/dist/server/src/camera/interfaces.js.map +1 -0
  284. package/dist/server/src/camera/iou.d.ts +2 -0
  285. package/dist/server/src/camera/iou.js +123 -0
  286. package/dist/server/src/camera/iou.js.map +1 -0
  287. package/dist/server/src/camera/polygon.d.ts +4 -0
  288. package/dist/server/src/camera/polygon.js +192 -0
  289. package/dist/server/src/camera/polygon.js.map +1 -0
  290. package/dist/server/src/camera/python/__init__.py +0 -0
  291. package/dist/server/src/camera/python/classes.py +41 -0
  292. package/dist/server/src/camera/python/interfaces.py +130 -0
  293. package/dist/server/src/camera/python/iou.py +158 -0
  294. package/dist/server/src/camera/python/polygon.py +230 -0
  295. package/dist/server/src/camera/python/typings.py +50 -0
  296. package/dist/server/src/camera/python/video_frame.py +143 -0
  297. package/dist/server/src/camera/session.d.ts +37 -0
  298. package/dist/server/src/camera/session.js +160 -0
  299. package/dist/server/src/camera/session.js.map +1 -0
  300. package/dist/server/src/camera/streaming/fmp4-session.d.ts +17 -0
  301. package/dist/server/src/camera/streaming/fmp4-session.js +308 -0
  302. package/dist/server/src/camera/streaming/fmp4-session.js.map +1 -0
  303. package/dist/server/src/camera/streaming/peer-connection.d.ts +26 -0
  304. package/dist/server/src/camera/streaming/peer-connection.js +213 -0
  305. package/dist/server/src/camera/streaming/peer-connection.js.map +1 -0
  306. package/dist/server/src/camera/streaming/rtsp-session.d.ts +19 -0
  307. package/dist/server/src/camera/streaming/rtsp-session.js +253 -0
  308. package/dist/server/src/camera/streaming/rtsp-session.js.map +1 -0
  309. package/dist/server/src/camera/streaming/webrtc-connection.d.ts +44 -0
  310. package/dist/server/src/camera/streaming/webrtc-connection.js +177 -0
  311. package/dist/server/src/camera/streaming/webrtc-connection.js.map +1 -0
  312. package/dist/server/src/camera/streaming/werift-session.d.ts +19 -0
  313. package/dist/server/src/camera/streaming/werift-session.js +246 -0
  314. package/dist/server/src/camera/streaming/werift-session.js.map +1 -0
  315. package/dist/server/src/camera/types.d.ts +16 -10
  316. package/dist/server/src/camera/utils.d.ts +9 -0
  317. package/dist/server/src/camera/utils.js +416 -0
  318. package/dist/server/src/camera/utils.js.map +1 -0
  319. package/dist/server/src/camera/videoFrame.d.ts +18 -0
  320. package/dist/server/src/camera/videoFrame.js +88 -0
  321. package/dist/server/src/camera/videoFrame.js.map +1 -0
  322. package/dist/server/src/cloud/index.d.ts +12 -0
  323. package/dist/server/src/cloud/index.js +49 -0
  324. package/dist/server/src/cloud/index.js.map +1 -0
  325. package/dist/server/src/cloud/remote/cloudflare.d.ts +7 -0
  326. package/dist/server/src/cloud/remote/cloudflare.js +12 -0
  327. package/dist/server/src/cloud/remote/cloudflare.js.map +1 -0
  328. package/dist/server/src/cloud/remote/upnp.d.ts +7 -0
  329. package/dist/server/src/cloud/remote/upnp.js +12 -0
  330. package/dist/server/src/cloud/remote/upnp.js.map +1 -0
  331. package/dist/server/src/cloud/remote/utils.d.ts +3 -0
  332. package/dist/server/src/cloud/remote/utils.js +20 -0
  333. package/dist/server/src/cloud/remote/utils.js.map +1 -0
  334. package/dist/server/src/cloud/types.d.ts +15 -0
  335. package/dist/server/src/cloud/types.js +11 -0
  336. package/dist/server/src/cloud/types.js.map +1 -0
  337. package/dist/server/src/decoder/child.d.ts +1 -0
  338. package/dist/server/src/decoder/child.js +749 -0
  339. package/dist/server/src/decoder/child.js.map +1 -0
  340. package/dist/server/src/decoder/imageUtils.d.ts +22 -0
  341. package/dist/server/src/decoder/imageUtils.js +196 -0
  342. package/dist/server/src/decoder/imageUtils.js.map +1 -0
  343. package/dist/server/src/decoder/manager.d.ts +19 -0
  344. package/dist/server/src/decoder/manager.js +208 -0
  345. package/dist/server/src/decoder/manager.js.map +1 -0
  346. package/dist/server/src/decoder/python/__init__.py +0 -0
  347. package/dist/server/src/decoder/python/child.py +903 -0
  348. package/dist/server/src/decoder/python/image_utils.py +196 -0
  349. package/dist/server/src/decoder/python/pool.py +45 -0
  350. package/dist/server/src/decoder/python/typings.py +57 -0
  351. package/dist/server/src/decoder/python/utils.py +70 -0
  352. package/dist/server/src/decoder/types.d.ts +23 -0
  353. package/dist/server/src/decoder/types.js.map +1 -0
  354. package/dist/server/src/decoder/utils.d.ts +13 -0
  355. package/dist/server/src/decoder/utils.js +45 -0
  356. package/dist/server/src/decoder/utils.js.map +1 -0
  357. package/dist/server/src/decoder/wasm/build/decoder.d.ts +43 -0
  358. package/dist/server/src/decoder/wasm/build/decoder.js +108 -0
  359. package/dist/server/src/decoder/wasm/build/decoder.wasm +0 -0
  360. package/dist/server/src/decoder/worker.d.ts +1 -0
  361. package/dist/server/src/decoder/worker.js +79 -0
  362. package/dist/server/src/decoder/worker.js.map +1 -0
  363. package/dist/server/src/go2rtc/index.d.ts +1 -0
  364. package/dist/server/src/go2rtc/index.js +27 -9
  365. package/dist/server/src/go2rtc/index.js.map +1 -1
  366. package/dist/server/src/go2rtc/types.d.ts +5 -4
  367. package/dist/server/src/go2rtc/types.js +6 -2
  368. package/dist/server/src/go2rtc/types.js.map +1 -1
  369. package/dist/server/src/main.js +19 -5
  370. package/dist/server/src/main.js.map +1 -1
  371. package/dist/server/src/manager/coreManager.d.ts +16 -0
  372. package/dist/server/src/manager/coreManager.js +95 -0
  373. package/dist/server/src/manager/coreManager.js.map +1 -0
  374. package/dist/server/src/manager/deviceManager.d.ts +12 -0
  375. package/dist/server/src/manager/deviceManager.js +130 -0
  376. package/dist/server/src/manager/deviceManager.js.map +1 -0
  377. package/dist/server/src/manager/types.d.ts +15 -0
  378. package/dist/server/src/manager/types.js +2 -0
  379. package/dist/server/src/manager/types.js.map +1 -0
  380. package/dist/server/src/plugins/index.d.ts +3 -1
  381. package/dist/server/src/plugins/index.js +42 -21
  382. package/dist/server/src/plugins/index.js.map +1 -1
  383. package/dist/server/src/plugins/plugin.d.ts +3 -3
  384. package/dist/server/src/plugins/plugin.js +13 -20
  385. package/dist/server/src/plugins/plugin.js.map +1 -1
  386. package/dist/server/src/plugins/runtime/base.d.ts +54 -0
  387. package/dist/server/src/plugins/runtime/base.js +223 -0
  388. package/dist/server/src/plugins/runtime/base.js.map +1 -0
  389. package/dist/server/src/plugins/runtime/index.d.ts +5 -0
  390. package/dist/server/src/plugins/runtime/index.js +13 -0
  391. package/dist/server/src/plugins/runtime/index.js.map +1 -0
  392. package/dist/server/src/plugins/runtime/node/child.d.ts +22 -0
  393. package/dist/server/src/plugins/runtime/node/child.js +152 -0
  394. package/dist/server/src/plugins/runtime/node/child.js.map +1 -0
  395. package/dist/server/src/plugins/runtime/node/index.d.ts +7 -0
  396. package/dist/server/src/plugins/runtime/node/index.js +54 -0
  397. package/dist/server/src/plugins/runtime/node/index.js.map +1 -0
  398. package/dist/server/src/plugins/runtime/node/plugin.d.ts +24 -0
  399. package/dist/server/src/plugins/runtime/node/plugin.js +128 -0
  400. package/dist/server/src/plugins/runtime/node/plugin.js.map +1 -0
  401. package/dist/server/src/plugins/runtime/node/pluginApi.d.ts +16 -0
  402. package/dist/server/src/plugins/runtime/node/pluginApi.js +18 -0
  403. package/dist/server/src/plugins/runtime/node/pluginApi.js.map +1 -0
  404. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.d.ts +25 -0
  405. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +230 -0
  406. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -0
  407. package/dist/server/src/plugins/runtime/node/proxy/coreManager.d.ts +16 -0
  408. package/dist/server/src/plugins/runtime/node/proxy/coreManager.js +98 -0
  409. package/dist/server/src/plugins/runtime/node/proxy/coreManager.js.map +1 -0
  410. package/dist/server/src/plugins/runtime/node/proxy/deviceManager.d.ts +19 -0
  411. package/dist/server/src/plugins/runtime/node/proxy/deviceManager.js +144 -0
  412. package/dist/server/src/plugins/runtime/node/proxy/deviceManager.js.map +1 -0
  413. package/dist/server/src/plugins/runtime/node/storage.d.ts +34 -0
  414. package/dist/server/src/plugins/runtime/node/storage.js +313 -0
  415. package/dist/server/src/plugins/runtime/node/storage.js.map +1 -0
  416. package/dist/server/src/plugins/runtime/node/storageController.d.ts +18 -0
  417. package/dist/server/src/plugins/runtime/node/storageController.js +67 -0
  418. package/dist/server/src/plugins/runtime/node/storageController.js.map +1 -0
  419. package/dist/server/src/plugins/runtime/python/__init__.py +0 -0
  420. package/dist/server/src/plugins/runtime/python/child.py +248 -0
  421. package/dist/server/src/plugins/runtime/python/index.d.ts +9 -0
  422. package/dist/server/src/plugins/runtime/python/index.js +57 -0
  423. package/dist/server/src/plugins/runtime/python/index.js.map +1 -0
  424. package/dist/server/src/plugins/runtime/python/namespaces.py +101 -0
  425. package/dist/server/src/plugins/runtime/python/plugin.py +155 -0
  426. package/dist/server/src/plugins/runtime/python/plugin_api.py +29 -0
  427. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +1732 -0
  428. package/dist/server/src/plugins/runtime/python/proxy/core_manager.py +126 -0
  429. package/dist/server/src/plugins/runtime/python/proxy/device_manager.py +197 -0
  430. package/dist/server/src/plugins/runtime/python/schema.py +99 -0
  431. package/dist/server/src/plugins/runtime/python/storage.py +353 -0
  432. package/dist/server/src/plugins/runtime/python/storage_controller.py +102 -0
  433. package/dist/server/src/plugins/runtime/python/typings.py +195 -0
  434. package/dist/server/src/plugins/schema.d.ts +27 -34
  435. package/dist/server/src/plugins/schema.js +358 -369
  436. package/dist/server/src/plugins/schema.js.map +1 -1
  437. package/dist/server/src/plugins/types.d.ts +43 -1
  438. package/dist/server/src/plugins/types.js +16 -0
  439. package/dist/server/src/plugins/types.js.map +1 -1
  440. package/dist/server/src/plugins/worker.d.ts +12 -31
  441. package/dist/server/src/plugins/worker.js +89 -343
  442. package/dist/server/src/plugins/worker.js.map +1 -1
  443. package/dist/server/src/rpc/index.d.ts +32 -0
  444. package/dist/server/src/rpc/index.js +103 -0
  445. package/dist/server/src/rpc/index.js.map +1 -0
  446. package/dist/server/src/rpc/namespaces.d.ts +35 -0
  447. package/dist/server/src/rpc/namespaces.js +42 -0
  448. package/dist/server/src/rpc/namespaces.js.map +1 -0
  449. package/dist/server/src/{nats → rpc}/server.d.ts +6 -2
  450. package/dist/server/src/{nats → rpc}/server.js +76 -55
  451. package/dist/server/src/rpc/server.js.map +1 -0
  452. package/dist/server/src/rpc/types.d.ts +111 -0
  453. package/dist/server/src/rpc/types.js +2 -0
  454. package/dist/server/src/{nats → rpc}/types.js.map +1 -1
  455. package/dist/server/src/{nats → rpc}/utils.d.ts +1 -1
  456. package/dist/server/src/rpc/utils.js.map +1 -0
  457. package/dist/server/src/services/config/constants.js +12 -48
  458. package/dist/server/src/services/config/constants.js.map +1 -1
  459. package/dist/server/src/services/config/defaults.d.ts +12 -0
  460. package/dist/server/src/services/config/defaults.js +55 -0
  461. package/dist/server/src/services/config/defaults.js.map +1 -0
  462. package/dist/server/src/services/config/index.d.ts +57 -9
  463. package/dist/server/src/services/config/index.js +277 -130
  464. package/dist/server/src/services/config/index.js.map +1 -1
  465. package/dist/server/src/services/config/types.d.ts +10 -4
  466. package/dist/server/src/types.d.ts +3 -0
  467. package/dist/server/src/utils/path.d.ts +5 -0
  468. package/dist/server/src/utils/path.js +12 -0
  469. package/dist/server/src/utils/path.js.map +1 -0
  470. package/dist/server/src/utils/pythonInstaller.d.ts +46 -0
  471. package/dist/server/src/utils/pythonInstaller.js +463 -0
  472. package/dist/server/src/utils/pythonInstaller.js.map +1 -0
  473. package/package.json +57 -45
  474. package/types/fastify.d.ts +14 -0
  475. package/dist/interface/@intlify.Do1-T-x0.0.0.49.js +0 -15
  476. package/dist/interface/@mdi.CbjpODVZ.0.0.49.js +0 -1
  477. package/dist/interface/@tanstack.CgZ4BVuY.0.0.49.js +0 -1
  478. package/dist/interface/@vue.DeX8WChi.0.0.49.js +0 -17
  479. package/dist/interface/@vueform.WCJNykTK.0.0.49.js +0 -1
  480. package/dist/interface/@vueuse.fmA4o7MO.0.0.49.js +0 -1
  481. package/dist/interface/Account.D_hgF7as.0.0.49.js +0 -1
  482. package/dist/interface/Adminpanel.Cr2ysRnk.0.0.49.js +0 -2
  483. package/dist/interface/Appearance.DJPnnakw.0.0.49.js +0 -1
  484. package/dist/interface/Backup.DWrnTw65.0.0.49.js +0 -1
  485. package/dist/interface/Camera.Cm8bv5Jw.0.0.49.js +0 -1
  486. package/dist/interface/Cameras.BdMnnB_B.0.0.49.js +0 -1
  487. package/dist/interface/Camview.CvyTACeS.0.0.49.js +0 -1
  488. package/dist/interface/Config.R58trs6R.0.0.49.js +0 -1
  489. package/dist/interface/Console.ByS6OcfG.0.0.49.js +0 -4
  490. package/dist/interface/FirstSteps.BSZVBND8.0.0.49.js +0 -1
  491. package/dist/interface/NewCamera.CpKY8-_z.0.0.49.js +0 -469
  492. package/dist/interface/Plugin.ucDXXC6d.0.0.49.js +0 -1
  493. package/dist/interface/Plugins.Bl6Yy3fd.0.0.49.js +0 -1
  494. package/dist/interface/Recordings.Bm-_HDqk.0.0.49.js +0 -1
  495. package/dist/interface/Recordings.CVFqRJTQ.0.0.49.js +0 -1
  496. package/dist/interface/Settings.ClbXnv3j.0.0.49.js +0 -1
  497. package/dist/interface/System.BE0hX95Q.0.0.49.js +0 -4
  498. package/dist/interface/User.Ih1R_8u4.0.0.49.js +0 -1
  499. package/dist/interface/VConfigEditor.vue_vue_type_script_setup_true_lang.CAHg6HiL.0.0.49.js +0 -2
  500. package/dist/interface/VConsole.B9yVZ89i.0.0.49.js +0 -1
  501. package/dist/interface/VPlayer.DWJVzwuw.0.0.49.js +0 -4
  502. package/dist/interface/VPluginCard.pJNHjHpP.0.0.49.js +0 -4
  503. package/dist/interface/ace-builds.S1varnlI.0.0.49.js +0 -970
  504. package/dist/interface/apexcharts.BQn4Fbzn.0.0.49.js +0 -838
  505. package/dist/interface/assets/@vueform.0.0.49.CroAHJs8.css +0 -1
  506. package/dist/interface/assets/@xterm.0.0.49.CFbL2ovg.css +0 -32
  507. package/dist/interface/assets/Account.0.0.49.Bnw6Lbtd.css +0 -1
  508. package/dist/interface/assets/Adminpanel.0.0.49.a3t1v3MB.css +0 -1
  509. package/dist/interface/assets/Camera.0.0.49.Br9s6-lM.css +0 -1
  510. package/dist/interface/assets/Cameras.0.0.49.Buf1Dgce.css +0 -1
  511. package/dist/interface/assets/Camview.0.0.49.B7Cja2ry.css +0 -1
  512. package/dist/interface/assets/Config.0.0.49.DNGo2krN.css +0 -1
  513. package/dist/interface/assets/Console.0.0.49.Bh8l9QnM.css +0 -1
  514. package/dist/interface/assets/FirstSteps.0.0.49.Mu8VPl13.css +0 -1
  515. package/dist/interface/assets/NewCamera.0.0.49.DtjxW0Pf.css +0 -1
  516. package/dist/interface/assets/Plugin.0.0.49.YIpAU1_n.css +0 -1
  517. package/dist/interface/assets/Plugins.0.0.49.DXSoO9M1.css +0 -1
  518. package/dist/interface/assets/Settings.0.0.49.CVmui2kE.css +0 -1
  519. package/dist/interface/assets/User.0.0.49.BiGtIFqt.css +0 -1
  520. package/dist/interface/assets/VConsole.0.0.49.BCqKHpmJ.css +0 -1
  521. package/dist/interface/assets/VPlayer.0.0.49.C4lm2rVR.css +0 -1
  522. package/dist/interface/assets/VPluginCard.0.0.49.C8Lj6X-J.css +0 -1
  523. package/dist/interface/assets/main.0.0.49.OJngntGT.css +0 -1
  524. package/dist/interface/assets/vue3-toastify.0.0.49.DHXAGmwn.css +0 -1
  525. package/dist/interface/assets/vuetify.0.0.49.Dua9WSqa.css +0 -5
  526. package/dist/interface/axios.DIsA03vz.0.0.49.js +0 -6
  527. package/dist/interface/backup.DO02r0Uq.0.0.49.js +0 -1
  528. package/dist/interface/dnd-core.De50QAoi.0.0.49.js +0 -1
  529. package/dist/interface/engine.io-client.BkCVneko.0.0.49.js +0 -1
  530. package/dist/interface/fast-deep-equal.Cba0yG7P.0.0.49.js +0 -1
  531. package/dist/interface/fonts/Inter/Inter-Regular.ttf +0 -0
  532. package/dist/interface/highlight.js.B_E0LW5C.0.0.49.js +0 -2
  533. package/dist/interface/hookable.B8xFkYCm.0.0.49.js +0 -1
  534. package/dist/interface/linkify-it.B6s2BWlj.0.0.49.js +0 -1
  535. package/dist/interface/main.BBe3SGhH.0.0.49.js +0 -4
  536. package/dist/interface/perfect-debounce.Cp2ysxOb.0.0.49.js +0 -1
  537. package/dist/interface/pinia.ggULzsrQ.0.0.49.js +0 -5
  538. package/dist/interface/plugins.D11FBqVV.0.0.49.js +0 -1
  539. package/dist/interface/react-dnd-touch-backend.Bu6wFEmw.0.0.49.js +0 -1
  540. package/dist/interface/rxjs.BoFuGUYG.0.0.49.js +0 -3
  541. package/dist/interface/socket.io-client.DkEQDv7C.0.0.49.js +0 -1
  542. package/dist/interface/socket.io-parser.DIURoCw8.0.0.49.js +0 -1
  543. package/dist/interface/system.D_LabhBl.0.0.49.js +0 -1
  544. package/dist/interface/types.Cz9TaZAP.0.0.49.js +0 -1
  545. package/dist/interface/utils.mAKpSMLY.0.0.49.js +0 -1
  546. package/dist/interface/uuid.Ch9TGLTe.0.0.49.js +0 -1
  547. package/dist/interface/vee-validate.8pUAwQ7T.0.0.49.js +0 -5
  548. package/dist/interface/vue-i18n.CBqdKRmG.0.0.49.js +0 -5
  549. package/dist/interface/vue-inline-svg.ZWpe_tFT.0.0.49.js +0 -1
  550. package/dist/interface/vue-router.DvFvaoP2.0.0.49.js +0 -5
  551. package/dist/interface/vue3-apexcharts.BHSDC9pf.0.0.49.js +0 -1
  552. package/dist/interface/vue3-dnd.DbCy3Qbj.0.0.49.js +0 -1
  553. package/dist/interface/vue3-toastify.JJyrPHKk.0.0.49.js +0 -1
  554. package/dist/interface/vuetify.kkqUjVJA.0.0.49.js +0 -5
  555. package/dist/interface/zod.bkdEMpUp.0.0.49.js +0 -1
  556. package/dist/server/src/api/utils/cameraSource.d.ts +0 -6
  557. package/dist/server/src/api/utils/cameraSource.js +0 -51
  558. package/dist/server/src/api/utils/cameraSource.js.map +0 -1
  559. package/dist/server/src/api/websocket/go2rtc.d.ts +0 -21
  560. package/dist/server/src/api/websocket/go2rtc.js +0 -88
  561. package/dist/server/src/api/websocket/go2rtc.js.map +0 -1
  562. package/dist/server/src/api/websocket/nsp/proxy.d.ts +0 -27
  563. package/dist/server/src/api/websocket/nsp/proxy.js +0 -127
  564. package/dist/server/src/api/websocket/nsp/proxy.js.map +0 -1
  565. package/dist/server/src/nats/index.d.ts +0 -40
  566. package/dist/server/src/nats/index.js +0 -164
  567. package/dist/server/src/nats/index.js.map +0 -1
  568. package/dist/server/src/nats/proxy/cameraDevice.d.ts +0 -22
  569. package/dist/server/src/nats/proxy/cameraDevice.js +0 -249
  570. package/dist/server/src/nats/proxy/cameraDevice.js.map +0 -1
  571. package/dist/server/src/nats/proxy/coreManager.d.ts +0 -14
  572. package/dist/server/src/nats/proxy/coreManager.js +0 -68
  573. package/dist/server/src/nats/proxy/coreManager.js.map +0 -1
  574. package/dist/server/src/nats/proxy/deviceManager.d.ts +0 -14
  575. package/dist/server/src/nats/proxy/deviceManager.js +0 -101
  576. package/dist/server/src/nats/proxy/deviceManager.js.map +0 -1
  577. package/dist/server/src/nats/server.js.map +0 -1
  578. package/dist/server/src/nats/types.d.ts +0 -18
  579. package/dist/server/src/nats/utils.js.map +0 -1
  580. /package/dist/interface/assets/{Backup.0.0.49.CX0rT0QJ.css → SettingsBackup.CX0rT0QJ.0.0.50-internal.1.css} +0 -0
  581. /package/dist/interface/assets/{highlight.0.0.49.Ch2EwETz.css → highlight.Ch2EwETz.0.0.50-internal.1.css} +0 -0
  582. /package/dist/interface/assets/{logo-256.0.0.49.BCQk9H1-.png → logo-256.BCQk9H1-.0.0.50-internal.1.png} +0 -0
  583. /package/dist/interface/assets/{logo-512.0.0.49.DLKVOU2S.png → logo-512.DLKVOU2S.0.0.50-internal.1.png} +0 -0
  584. /package/dist/interface/assets/{logo.0.0.49.DmEiRk0z.png → logo.DmEiRk0z.0.0.50-internal.1.png} +0 -0
  585. /package/dist/interface/assets/{mode-json.0.0.49.Br7xisR1.js → mode-json.Br7xisR1.0.0.50-internal.1.js} +0 -0
  586. /package/dist/interface/assets/{mode-yaml.0.0.49.CIYL8U3d.js → mode-yaml.CIYL8U3d.0.0.50-internal.1.js} +0 -0
  587. /package/dist/interface/{@babel.l0sNRNKZ.0.0.49.js → js/@babel.l0sNRNKZ.0.0.50-internal.1.js} +0 -0
  588. /package/dist/interface/{@react-dnd.CcwRs9xb.0.0.49.js → js/@react-dnd.CcwRs9xb.0.0.50-internal.1.js} +0 -0
  589. /package/dist/interface/{@socket.io.Dkula2eQ.0.0.49.js → js/@socket.io.Dkula2eQ.0.0.50-internal.1.js} +0 -0
  590. /package/dist/interface/{birpc.l0sNRNKZ.0.0.49.js → js/birpc.l0sNRNKZ.0.0.50-internal.1.js} +0 -0
  591. /package/dist/interface/{compare-versions.DqEOhma6.0.0.49.js → js/compare-versions.DqEOhma6.0.0.50-internal.1.js} +0 -0
  592. /package/dist/interface/{dijkstrajs.C00ieaqj.0.0.49.js → js/dijkstrajs.C00ieaqj.0.0.50-internal.1.js} +0 -0
  593. /package/dist/interface/{engine.io-parser.BiEtp6m2.0.0.49.js → js/engine.io-parser.BiEtp6m2.0.0.50-internal.1.js} +0 -0
  594. /package/dist/interface/{entities.C20TfXL6.0.0.49.js → js/entities.C20TfXL6.0.0.50-internal.1.js} +0 -0
  595. /package/dist/interface/{ev-emitter.X5f1qa-c.0.0.49.js → js/ev-emitter.X5f1qa-c.0.0.50-internal.1.js} +0 -0
  596. /package/dist/interface/{get-size.D1dS-IaP.0.0.49.js → js/get-size.D1dS-IaP.0.0.50-internal.1.js} +0 -0
  597. /package/dist/interface/{vue.l0sNRNKZ.0.0.49.js → js/hookable.l0sNRNKZ.0.0.50-internal.1.js} +0 -0
  598. /package/dist/interface/{mdurl.k9Sl0PQj.0.0.49.js → js/mdurl.k9Sl0PQj.0.0.50-internal.1.js} +0 -0
  599. /package/dist/interface/{punycode.js.Dj65hjkv.0.0.49.js → js/punycode.js.Dj65hjkv.0.0.50-internal.1.js} +0 -0
  600. /package/dist/interface/{react-dnd-html5-backend.1HQjlkwI.0.0.49.js → js/react-dnd-html5-backend.1HQjlkwI.0.0.50-internal.1.js} +0 -0
  601. /package/dist/interface/{redux.BFxtlG_c.0.0.49.js → js/redux.BFxtlG_c.0.0.50-internal.1.js} +0 -0
  602. /package/dist/interface/{tslib.9k7AwCpt.0.0.49.js → js/tslib.9k7AwCpt.0.0.50-internal.1.js} +0 -0
  603. /package/dist/interface/{uc.micro.kMc2yuuw.0.0.49.js → js/uc.micro.kMc2yuuw.0.0.50-internal.1.js} +0 -0
  604. /package/dist/server/src/{nats → decoder}/types.js +0 -0
  605. /package/dist/server/src/{nats → rpc}/utils.js +0 -0
@@ -0,0 +1,338 @@
1
+ import asyncio
2
+ import contextlib
3
+ from collections.abc import AsyncIterator, Awaitable, Sequence
4
+ from typing import (
5
+ Any,
6
+ Callable,
7
+ Generic,
8
+ Optional,
9
+ Protocol,
10
+ TypeVar,
11
+ Union,
12
+ cast,
13
+ runtime_checkable,
14
+ )
15
+
16
+ from reactivex import Observable, abc, from_iterable
17
+ from reactivex import from_future as rx_from_future
18
+ from reactivex.disposable import Disposable as RxDisposable
19
+
20
+ # Type definitions
21
+ T = TypeVar("T")
22
+ TSource = TypeVar("TSource")
23
+ TResult = TypeVar("TResult")
24
+
25
+
26
+ @runtime_checkable
27
+ class DisposableProtocol(Protocol):
28
+ def dispose(self) -> None: ...
29
+
30
+
31
+ class HybridObservable(Observable[T], Generic[T]):
32
+ _observable: Observable[T]
33
+
34
+ def __init__(self, observable: Observable[T]):
35
+ super().__init__(observable._subscribe)
36
+ self._observable = observable
37
+
38
+ def run(self) -> T:
39
+ """
40
+ Run the observable synchronously and return the last value.
41
+
42
+ Returns:
43
+ The last value emitted by the observable
44
+ """
45
+ return cast(T, self._observable.run())
46
+
47
+ def pipe(self, *operators: Callable[[Any], Any]) -> Any:
48
+ """
49
+ Apply a series of operators to the observable.
50
+
51
+ Args:
52
+ *operators: The operators to apply
53
+
54
+ Returns:
55
+ A new HybridObservable with the operators applied
56
+ """
57
+ return HybridObservable(self._observable.pipe(*operators))
58
+
59
+ def subscribe(
60
+ self,
61
+ on_next: Union[Callable[[T], None], abc.ObserverBase[T], None] = None,
62
+ on_error: Union[Callable[[Exception], None], None] = None,
63
+ on_completed: Union[Callable[[], None], None] = None,
64
+ *,
65
+ scheduler: Optional[abc.SchedulerBase] = None,
66
+ ) -> abc.DisposableBase:
67
+ """
68
+ Subscribe to the observable with synchronous callbacks.
69
+ """
70
+ return self._observable.subscribe(on_next, on_error, on_completed, scheduler=scheduler)
71
+
72
+ async def arun(self) -> T:
73
+ """
74
+ Run the observable asynchronously and return the last value.
75
+
76
+ Returns:
77
+ The last value emitted by the observable
78
+
79
+ Raises:
80
+ asyncio.InvalidStateError: If the observable completes without emitting a value
81
+ Exception: Any error that occurred during observation
82
+ """
83
+ future: asyncio.Future[T] = asyncio.Future()
84
+ last_value: Optional[T] = None
85
+ error_occurred = False
86
+
87
+ def on_next(value: T) -> None:
88
+ nonlocal last_value
89
+ last_value = value
90
+
91
+ def on_error(error: Exception) -> None:
92
+ nonlocal error_occurred
93
+ error_occurred = True
94
+ if not future.done():
95
+ future.set_exception(error)
96
+
97
+ def on_completed() -> None:
98
+ if not future.done():
99
+ if error_occurred:
100
+ return
101
+ if last_value is not None:
102
+ future.set_result(last_value)
103
+ else:
104
+ future.set_exception(
105
+ asyncio.InvalidStateError("Observable completed without emitting a value")
106
+ )
107
+
108
+ disposable = self.subscribe(on_next, on_error, on_completed)
109
+
110
+ try:
111
+ return await future
112
+ finally:
113
+ disposable.dispose()
114
+
115
+ async def arun_with_timeout(self, timeout: float) -> T:
116
+ """
117
+ Run the observable asynchronously with a timeout.
118
+
119
+ Args:
120
+ timeout: Maximum time to wait in seconds
121
+
122
+ Returns:
123
+ The last value emitted by the observable
124
+
125
+ Raises:
126
+ TimeoutError: If the operation times out
127
+ """
128
+ try:
129
+ return await asyncio.wait_for(self.arun(), timeout)
130
+ except asyncio.TimeoutError:
131
+ raise TimeoutError(f"Observable operation timed out after {timeout} seconds") from None
132
+
133
+ async def apipe(
134
+ self, *operators: Callable[[Observable[Any]], Observable[Any]]
135
+ ) -> "HybridObservable[Any]":
136
+ """
137
+ Asynchronous version of pipe.
138
+
139
+ Args:
140
+ *operators: The operators to apply
141
+
142
+ Returns:
143
+ A new HybridObservable with the operators applied
144
+ """
145
+ return HybridObservable(self._observable.pipe(*operators))
146
+
147
+ def asubscribe(
148
+ self,
149
+ on_next: Union[Callable[[T], Awaitable[Any]], None] = None,
150
+ on_error: Union[Callable[[Exception], Awaitable[Any]], None] = None,
151
+ on_completed: Union[Callable[[], Awaitable[Any]], None] = None,
152
+ ) -> RxDisposable:
153
+ """
154
+ Subscribe asynchronously to the observable sequence.
155
+ """
156
+ error_future: asyncio.Future[Exception] = asyncio.Future()
157
+ next_task: Optional[asyncio.Task[Any]] = None
158
+ error_task: Optional[asyncio.Task[Any]] = None
159
+ completed_task: Optional[asyncio.Task[Any]] = None
160
+
161
+ is_completed = False
162
+
163
+ async def async_on_next(value: T) -> None:
164
+ if on_next:
165
+ try:
166
+ await on_next(value)
167
+ except Exception as e:
168
+ if not is_completed:
169
+ error_future.set_result(e)
170
+
171
+ async def async_on_completed() -> None:
172
+ nonlocal is_completed
173
+ nonlocal next_task
174
+
175
+ is_completed = True
176
+
177
+ if next_task and not next_task.done():
178
+ next_task.cancel()
179
+ next_task = None
180
+
181
+ if on_completed:
182
+ try:
183
+ await on_completed()
184
+ except Exception as e:
185
+ error_future.set_result(e)
186
+
187
+ async def async_on_error() -> None:
188
+ error = await error_future
189
+ if on_error:
190
+ disposable.dispose()
191
+ with contextlib.suppress(Exception):
192
+ await on_error(error)
193
+
194
+ def next_fn(x: T) -> None:
195
+ nonlocal next_task
196
+ next_task = asyncio.create_task(async_on_next(x), name="on_next")
197
+
198
+ def completed_fn() -> None:
199
+ nonlocal completed_task
200
+ completed_task = asyncio.create_task(async_on_completed(), name="on_completed")
201
+
202
+ if on_error:
203
+ error_task = asyncio.create_task(async_on_error(), name="on_error")
204
+
205
+ disposable = self.subscribe(next_fn, None, completed_fn)
206
+
207
+ def cancel_subscription() -> None:
208
+ for task in (next_task, error_task, completed_task):
209
+ if task:
210
+ task.cancel()
211
+
212
+ disposable.dispose()
213
+
214
+ return RxDisposable(cancel_subscription)
215
+
216
+ def asubscribe_with_backpressure(
217
+ self, on_next: Optional[Callable[[T], Awaitable[Any]]] = None, max_queue_size: int = 100
218
+ ) -> RxDisposable:
219
+ """
220
+ Subscribe asynchronously with backpressure control.
221
+
222
+ Args:
223
+ on_next: Async callback for next value
224
+ max_queue_size: Maximum size of the internal queue
225
+
226
+ Returns:
227
+ A disposable object to cancel the subscription
228
+ """
229
+ queue: asyncio.Queue[T] = asyncio.Queue(maxsize=max_queue_size)
230
+
231
+ async def process_queue() -> None:
232
+ while True:
233
+ try:
234
+ value = await queue.get()
235
+ if on_next:
236
+ await on_next(value)
237
+ queue.task_done()
238
+ except asyncio.CancelledError:
239
+ break
240
+
241
+ process_task = asyncio.create_task(process_queue())
242
+
243
+ def on_next_with_backpressure(value: T) -> None:
244
+ if not process_task.done():
245
+ queue.put_nowait(value)
246
+
247
+ disposable = self.subscribe(on_next_with_backpressure)
248
+
249
+ def cleanup() -> None:
250
+ process_task.cancel()
251
+ disposable.dispose()
252
+
253
+ return RxDisposable(cleanup)
254
+
255
+ async def __aiter__(self) -> "AsyncIterator[T]":
256
+ """
257
+ Async iterator implementation.
258
+ """
259
+ queue: asyncio.Queue[Union[T, Exception]] = asyncio.Queue(maxsize=100)
260
+ done = asyncio.Event()
261
+ subscription: Optional[abc.DisposableBase] = None
262
+
263
+ def on_next(value: T) -> None:
264
+ if not queue.full():
265
+ queue.put_nowait(value)
266
+
267
+ def on_completed() -> None:
268
+ done.set()
269
+
270
+ def on_error(error: Exception) -> None:
271
+ if not done.is_set():
272
+ queue.put_nowait(error)
273
+ done.set()
274
+
275
+ subscription = self.subscribe(on_next, on_error, on_completed)
276
+
277
+ try:
278
+ while not done.is_set() or not queue.empty():
279
+ try:
280
+ item = await queue.get()
281
+ if isinstance(item, Exception):
282
+ raise item
283
+ yield item
284
+ except asyncio.CancelledError:
285
+ break
286
+ finally:
287
+ if subscription:
288
+ subscription.dispose()
289
+
290
+ def dispose(self) -> None:
291
+ """
292
+ Synchronous cleanup of resources.
293
+ """
294
+ if isinstance(self._observable, DisposableProtocol):
295
+ self._observable.dispose()
296
+
297
+ async def dispose_async(self) -> None:
298
+ """
299
+ Asynchronous cleanup of resources.
300
+ Handles both synchronous and asynchronous disposal.
301
+ """
302
+ self.dispose()
303
+ pending_tasks = [task for task in asyncio.all_tasks() if task is not asyncio.current_task()]
304
+ if pending_tasks:
305
+ await asyncio.gather(*pending_tasks, return_exceptions=True)
306
+
307
+ @classmethod
308
+ def from_iterable(
309
+ cls: type["HybridObservable[TSource]"],
310
+ iterable: Union[list[TSource], tuple[TSource, ...], set[TSource]],
311
+ ) -> "HybridObservable[TSource]":
312
+ """
313
+ Create a HybridObservable from an iterable.
314
+ """
315
+ return cls(from_iterable(iterable))
316
+
317
+ @classmethod
318
+ async def from_async_iterable(
319
+ cls: type["HybridObservable[TSource]"], async_iterable: AsyncIterator[TSource]
320
+ ) -> "HybridObservable[TSource]":
321
+ """
322
+ Create a HybridObservable from an async iterable.
323
+ """
324
+
325
+ async def to_list(ait: AsyncIterator[TSource]) -> Sequence[TSource]:
326
+ return [item async for item in ait]
327
+
328
+ items = await to_list(async_iterable)
329
+ return cls(from_iterable(items))
330
+
331
+ @classmethod
332
+ def from_future(
333
+ cls: type["HybridObservable[TSource]"], future: asyncio.Future[TSource]
334
+ ) -> "HybridObservable[TSource]":
335
+ """
336
+ Create a HybridObservable from a future.
337
+ """
338
+ return cls(rx_from_future(future))
@@ -0,0 +1,196 @@
1
+ import asyncio
2
+ import logging
3
+ from typing import Any, Optional
4
+
5
+ from reactivex import Subject
6
+
7
+ from camera_ui_python_types.hybrid_observer import HybridObservable
8
+
9
+
10
+ async def test_asubscribe_endless_operation():
11
+ # Setup
12
+ subject = Subject[Any]()
13
+ hybrid = HybridObservable(subject)
14
+ processed_values: list[Any] = []
15
+ value_processed = asyncio.Event()
16
+
17
+ async def endless_operation(value: Any):
18
+ try:
19
+ processed_values.append(value)
20
+ value_processed.set() # Signal dass ein Wert verarbeitet wurde
21
+ # Simuliere eine endlose Operation
22
+ while True:
23
+ await asyncio.sleep(0.1)
24
+ except asyncio.CancelledError:
25
+ raise
26
+ except Exception as e:
27
+ logging.error(f"Error in endless operation: {e}")
28
+ raise
29
+
30
+ # Subscribe mit der endlosen Operation
31
+ disposable = hybrid.asubscribe(on_next=endless_operation)
32
+
33
+ try:
34
+ # Sende ersten Wert
35
+ subject.on_next(1)
36
+
37
+ # Warte auf Verarbeitung mit Timeout
38
+ try:
39
+ await asyncio.wait_for(value_processed.wait(), timeout=1.0)
40
+ except asyncio.TimeoutError as e:
41
+ raise AssertionError("Timeout beim Warten auf Verarbeitung von Wert 1") from e
42
+
43
+ value_processed.clear() # Reset für nächsten Wert
44
+
45
+ # Sende zweiten Wert
46
+ subject.on_next(2)
47
+
48
+ # Warte auf Verarbeitung mit Timeout
49
+ try:
50
+ await asyncio.wait_for(value_processed.wait(), timeout=1.0)
51
+ except asyncio.TimeoutError as e:
52
+ raise AssertionError("Timeout beim Warten auf Verarbeitung von Wert 2") from e
53
+
54
+ # Überprüfe, ob beide Werte verarbeitet wurden
55
+ assert processed_values == [1, 2], f"Erwartete [1, 2], bekam {processed_values}"
56
+
57
+ # Cleanup durchführen
58
+ disposable.dispose()
59
+ await asyncio.sleep(0.2) # Warte auf Cleanup
60
+
61
+ # Versuche weitere Werte zu senden
62
+ subject.on_next(3)
63
+ await asyncio.sleep(0.2)
64
+
65
+ # Überprüfe, dass keine weiteren Werte verarbeitet wurden
66
+ assert processed_values == [1, 2], (
67
+ f"Nach dispose wurden weitere Werte verarbeitet: {processed_values}"
68
+ )
69
+ finally:
70
+ # Sicherstellen, dass dispose in jedem Fall aufgerufen wird
71
+ disposable.dispose()
72
+ await asyncio.sleep(0.2) # Warte auf Cleanup
73
+
74
+
75
+ async def test_asubscribe_self_completing_operation():
76
+ # Setup
77
+ subject = Subject[Any]()
78
+ hybrid = HybridObservable(subject)
79
+ processed_values: list[Any] = []
80
+ completion_event = asyncio.Event()
81
+ error_received: Optional[Exception] = None
82
+
83
+ async def self_completing_operation(value: Any):
84
+ processed_values.append(value)
85
+ # Simuliere eine Operation, die nach einer gewissen Zeit endet
86
+ await asyncio.sleep(0.1)
87
+
88
+ async def on_completed():
89
+ completion_event.set()
90
+
91
+ async def on_error(error: Any):
92
+ nonlocal error_received
93
+ error_received = error
94
+
95
+ # Subscribe mit der selbstbeendenden Operation
96
+ disposable = hybrid.asubscribe(
97
+ on_next=self_completing_operation, on_completed=on_completed, on_error=on_error
98
+ )
99
+
100
+ try:
101
+ # Sende einige Werte
102
+ subject.on_next(1)
103
+ subject.on_next(2)
104
+
105
+ # Warte, bis die Operationen abgeschlossen sind
106
+ await asyncio.sleep(0.3)
107
+
108
+ # Überprüfe, ob alle Werte verarbeitet wurden
109
+ assert processed_values == [1, 2]
110
+
111
+ # Beende den Stream
112
+ subject.on_completed()
113
+
114
+ # Warte auf Completion mit Timeout
115
+ try:
116
+ await asyncio.wait_for(completion_event.wait(), timeout=1.0)
117
+ except asyncio.TimeoutError as e:
118
+ raise AssertionError("Completion handler wurde nicht aufgerufen") from e
119
+
120
+ # Überprüfe, dass kein Fehler aufgetreten ist
121
+ assert error_received is None, f"Unerwarteter Fehler aufgetreten: {error_received}"
122
+ finally:
123
+ # Cleanup
124
+ disposable.dispose()
125
+ await asyncio.sleep(0.2) # Warte auf Cleanup
126
+
127
+
128
+ async def test_asubscribe_error_handling():
129
+ # Setup
130
+ subject = Subject[Any]()
131
+ hybrid = HybridObservable(subject)
132
+ error_event = asyncio.Event()
133
+ error_value: Optional[Exception] = None
134
+ processed_values: list[Any] = []
135
+
136
+ async def operation_with_error(value: Any):
137
+ processed_values.append(value)
138
+ if value == 2:
139
+ raise ValueError("Test error")
140
+ await asyncio.sleep(0.1)
141
+
142
+ async def on_error(error: Any):
143
+ nonlocal error_value
144
+ error_value = error
145
+ error_event.set()
146
+
147
+ # Subscribe mit der fehlerwerfenden Operation
148
+ disposable = hybrid.asubscribe(on_next=operation_with_error, on_error=on_error)
149
+
150
+ try:
151
+ # Sende ersten Wert und warte auf Verarbeitung
152
+ subject.on_next(1)
153
+ await asyncio.sleep(0.2)
154
+
155
+ # Sende Wert der Fehler auslöst
156
+ subject.on_next(2)
157
+
158
+ # Warte auf Error Event mit Timeout
159
+ try:
160
+ await asyncio.wait_for(error_event.wait(), timeout=1.0)
161
+ except asyncio.TimeoutError as e:
162
+ raise AssertionError("Error handler wurde nicht aufgerufen") from e
163
+
164
+ # Überprüfe Fehlerbehandlung
165
+ assert isinstance(error_value, ValueError), f"Erwartete ValueError, bekam {type(error_value)}"
166
+ assert str(error_value) == "Test error"
167
+ assert processed_values == [1, 2]
168
+
169
+ # Versuche weitere Werte zu senden
170
+ subject.on_next(3)
171
+ await asyncio.sleep(0.2)
172
+
173
+ # Überprüfe, dass keine weiteren Werte verarbeitet wurden
174
+ assert processed_values == [1, 2], f"Nach Fehler wurden weitere Werte verarbeitet: {processed_values}"
175
+ finally:
176
+ # Cleanup
177
+ disposable.dispose()
178
+ await asyncio.sleep(0.2) # Warte auf Cleanup
179
+
180
+
181
+ if __name__ == "__main__":
182
+
183
+ async def run_tests():
184
+ print("Testing endless operation...")
185
+ await test_asubscribe_endless_operation()
186
+ print("Endless operation test completed!")
187
+
188
+ print("\nTesting self-completing operation...")
189
+ await test_asubscribe_self_completing_operation()
190
+ print("Self-completing operation test completed!")
191
+
192
+ print("\nTesting error handling...")
193
+ await test_asubscribe_error_handling()
194
+ print("Error handling test completed!")
195
+
196
+ asyncio.run(run_tests())
@@ -1,5 +1,5 @@
1
1
  import type { FastifyInstance, FastifyReply, FastifyRequest } from 'fastify';
2
- import type { AuthLoginRequest, AuthNewLoginRequest, AuthParamsRequest, AuthRefreshRequest, AuthTokensRequest, JwtTokenClientData, JwtTokenEncoded, PaginationRequest } from '../types/index.js';
2
+ import type { AuthLoginRequest, AuthNewLoginRequest, AuthParamsRequest, AuthRefreshRequest, JwtTokenClientData, PaginationRequest } from '../types/index.js';
3
3
  export declare class AuthController {
4
4
  private app;
5
5
  private configService;
@@ -7,7 +7,7 @@ export declare class AuthController {
7
7
  private userService;
8
8
  constructor(app: FastifyInstance);
9
9
  check(req: FastifyRequest<AuthLoginRequest>, reply: FastifyReply): FastifyReply;
10
- list(req: FastifyRequest<AuthLoginRequest & AuthTokensRequest & PaginationRequest>, reply: FastifyReply): FastifyReply | JwtTokenClientData[] | JwtTokenEncoded[];
10
+ list(req: FastifyRequest<AuthLoginRequest & PaginationRequest>, reply: FastifyReply): FastifyReply | JwtTokenClientData[];
11
11
  login(req: FastifyRequest<AuthNewLoginRequest>, reply: FastifyReply): Promise<FastifyReply | void>;
12
12
  logout(req: FastifyRequest, reply: FastifyReply): Promise<FastifyReply>;
13
13
  logoutByToken(req: FastifyRequest<AuthLoginRequest & AuthParamsRequest>, reply: FastifyReply): Promise<FastifyReply>;