@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
@@ -1,6 +1,16 @@
1
- import { generateSdp, getAudioCodecProperties, getVideoCodecProperties, isSameAudioStreamInfo, isSameVideoStreamInfo, normalizeAudioCodecs, normalizeVideoCodecs, } from '@camera.ui/common/camera';
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ var _a;
11
+ import { generateSdp } from '@camera.ui/common/camera';
2
12
  import { createSourceName, isEqual } from '@camera.ui/common/utils';
3
- import { CameraDevice, CameraInterface, CameraPTZInterface, FMP4Session, RTSPSession, WeriftSession } from '@camera.ui/plugineer';
13
+ import { rpc } from '@camera.ui/rpc-common';
4
14
  import { pathExists } from 'fs-extra/esm';
5
15
  import { createWriteStream, ftruncate, read, rmSync } from 'node:fs';
6
16
  import { open, stat } from 'node:fs/promises';
@@ -8,14 +18,26 @@ import { join } from 'node:path';
8
18
  import { promisify } from 'node:util';
9
19
  import { filter, pairwise } from 'rxjs/operators';
10
20
  import { container } from 'tsyringe';
21
+ import { Agent } from 'undici';
22
+ import { PLUGIN_STATUS } from '../plugins/types.js';
23
+ import { NamespaceManager } from '../rpc/namespaces.js';
24
+ import { CameraDevice } from './device.js';
25
+ import { CameraInterface } from './interfaces.js';
11
26
  import { API_EVENT } from '../api.js';
12
27
  import { FrameWorker } from './frameWorker.js';
28
+ import { SessionController } from './session.js';
29
+ import { generateAudioStreamInfo, generateVideoStreamInfo } from './utils.js';
13
30
  const truncatePromise = promisify(ftruncate);
14
31
  const readPromise = promisify(read);
15
32
  export class CameraController extends CameraDevice {
16
33
  frameWorker;
34
+ sessionController;
17
35
  streamInfos = new Map();
18
36
  logStream;
37
+ cameraInterfaces;
38
+ initialized = true;
39
+ proxy;
40
+ namespaces;
19
41
  motionTimeout;
20
42
  objectTimeout;
21
43
  objectTimeoutDuration = 5;
@@ -28,8 +50,7 @@ export class CameraController extends CameraDevice {
28
50
  api;
29
51
  truncateInterval;
30
52
  truncateIntervalMs = 1000 * 60 * 60 * 2;
31
- cameraDelegate;
32
- ptzDelegate;
53
+ pluginIds = new Set();
33
54
  get logPath() {
34
55
  return join(this.configService.LOGS_PATH, `camera-${this.id}.log`);
35
56
  }
@@ -39,57 +60,14 @@ export class CameraController extends CameraDevice {
39
60
  get camera() {
40
61
  return this.cameraObject;
41
62
  }
42
- get sources() {
43
- const sources = JSON.parse(JSON.stringify(this.cameraSubject.getValue().sources));
44
- return sources
45
- .filter((source) => !source.internal)
46
- .map((source) => {
47
- return {
48
- ...source,
49
- probeStream: (probeConfig, refresh = false) => {
50
- return this.probeStream(source._id, probeConfig, refresh);
51
- },
52
- createWebRTCSession: (options) => {
53
- return new WeriftSession(this, source, options);
54
- },
55
- createRTSPSession: (options) => {
56
- return new RTSPSession(this, source, options);
57
- },
58
- createFMP4Session: () => {
59
- return new FMP4Session(this, source);
60
- },
61
- getInternalSource: (type) => {
62
- return this.internalSources.find((s) => s._id === `${source._id}-${type}`);
63
- },
64
- };
65
- });
66
- }
67
- get internalSources() {
68
- const sources = JSON.parse(JSON.stringify(this.cameraSubject.getValue().sources));
69
- return sources
70
- .filter((source) => source.internal)
71
- .map((source) => {
72
- return {
73
- ...source,
74
- probeStream: (probeConfig, refresh = false) => {
75
- return this.probeStream(source._id, probeConfig, refresh);
76
- },
77
- createWebRTCSession: (options) => {
78
- return new WeriftSession(this, source, options);
79
- },
80
- createRTSPSession: (options) => {
81
- return new RTSPSession(this, source, options);
82
- },
83
- createFMP4Session: () => {
84
- return new FMP4Session(this, source);
85
- },
86
- type: source.name.endsWith(' AAC') ? 'aac' : source.name.endsWith(' OPUS') ? 'opus' : 'pcma',
87
- };
88
- });
89
- }
90
63
  constructor(camera, logger) {
91
- super(camera, logger);
92
- this.proxyServer = container.resolve('proxy');
64
+ const proxyServer = container.resolve('proxy');
65
+ const namespaces = {
66
+ ...NamespaceManager.cameraNamespaces(camera._id),
67
+ ...NamespaceManager.frameWorkerNamespaces(camera._id),
68
+ };
69
+ super(camera, proxyServer.proxy, namespaces, logger);
70
+ this.proxyServer = proxyServer;
93
71
  this.api = container.resolve('api');
94
72
  this.go2rtcApi = container.resolve('go2rtcApi');
95
73
  this.configService = container.resolve('configService');
@@ -98,22 +76,31 @@ export class CameraController extends CameraDevice {
98
76
  this.truncateInterval = setInterval(() => this.truncateLog(), this.truncateIntervalMs);
99
77
  this.truncateLog();
100
78
  this.logger.logStream = this.logStream;
101
- this.frameWorker = new FrameWorker(this, this.proxyServer.server.endpoints, this.proxyServer.auth.server);
102
- this.cameraDelegate = new CameraInterface(this.proxyRequest.bind(this));
103
- this.ptzDelegate = new CameraPTZInterface(this.proxyRequest.bind(this));
104
- this.addSubscriptions(this.subscribeToCameraState(), this.subscribeToCameraChanges(), this.subscribeToStateChanges('light', this.lightState), this.subscribeToStateChanges('motion', this.motionState), this.subscribeToStateChanges('audio', this.audioState), this.subscribeToStateChanges('object', this.objectState), this.subscribeToStateChanges('doorbell', this.doorbellState), this.subscribeToStateChanges('siren', this.sirenState));
79
+ this.proxy = this.proxyServer.proxy;
80
+ this.frameWorker = new FrameWorker(this);
81
+ this.sessionController = new SessionController(this);
82
+ this.cameraInterfaces = new CameraInterface(this.proxy, this.capabilities, this.camera._id);
83
+ this.namespaces = namespaces;
84
+ this.addSubscriptions(this.subscribeToCameraState(), this.subscribeToFrameWorkerState(), this.subscribeToCameraChanges(), this.subscribeToCapabilityChanges(), this.subscribeToStateChanges('light', this.lightState), this.subscribeToStateChanges('motion', this.motionState), this.subscribeToStateChanges('audio', this.audioState), this.subscribeToStateChanges('object', this.objectState), this.subscribeToStateChanges('doorbell', this.doorbellState), this.subscribeToStateChanges('siren', this.sirenState), this.onPropertyChange('name').subscribe(() => {
85
+ this.logger.prefix = this.camera.name;
86
+ }));
105
87
  this.api.setMaxListeners(this.api.getMaxListeners() + 1);
106
88
  this.api.once(API_EVENT.SHUTDOWN, () => {
107
89
  this.cleanup();
108
90
  });
109
91
  }
110
- setDelegate() {
92
+ async init() {
93
+ await this.proxy.registerRPCHandler(this.namespaces.cameraControllerRpc, this);
94
+ await this.frameWorker.start();
95
+ this.sessionController.start(this.sources);
96
+ }
97
+ extend() {
111
98
  throw new Error('Method not implemented.');
112
99
  }
113
- getFrames() {
100
+ addCapabilities() {
114
101
  throw new Error('Method not implemented.');
115
102
  }
116
- getMotionFrames() {
103
+ removeCapabilities() {
117
104
  throw new Error('Method not implemented.');
118
105
  }
119
106
  async connect() {
@@ -129,20 +116,76 @@ export class CameraController extends CameraDevice {
129
116
  }
130
117
  super.updateStateInternal(stateName, eventData);
131
118
  }
119
+ async snapshot(sourceId, forceNew) {
120
+ const fromCache = this.snapshotCache.get(sourceId);
121
+ if (!forceNew && fromCache) {
122
+ return fromCache;
123
+ }
124
+ try {
125
+ if (this.cameraObject.pluginId !== 'native') {
126
+ try {
127
+ const snapshotFromPlugin = await this.cameraInterfaces.snapshot(sourceId, forceNew);
128
+ if (snapshotFromPlugin && snapshotFromPlugin.byteLength > 0) {
129
+ this.snapshotCache.set(sourceId, snapshotFromPlugin);
130
+ return snapshotFromPlugin;
131
+ }
132
+ }
133
+ catch {
134
+ //
135
+ }
136
+ }
137
+ const source = this.sources.find((source) => source._id === sourceId);
138
+ if (!source) {
139
+ throw new Error('Source not found');
140
+ }
141
+ const snapshotUrl = source.urls.snapshot.jpeg;
142
+ const controller = new AbortController();
143
+ const timeout = setTimeout(() => controller.abort(), 5000);
144
+ const response = await fetch(snapshotUrl, {
145
+ signal: controller.signal,
146
+ // @ts-ignore
147
+ dispatcher: new Agent({
148
+ connect: {
149
+ cert: this.configService.ssl.cert,
150
+ key: this.configService.ssl.key,
151
+ ca: this.configService.ssl.ca,
152
+ },
153
+ }),
154
+ });
155
+ clearTimeout(timeout);
156
+ if (!response.ok) {
157
+ throw new Error('Status Code: ' + response.status);
158
+ }
159
+ const snapshot = await response.arrayBuffer();
160
+ if (snapshot.byteLength > 0) {
161
+ this.snapshotCache.set(source._id, snapshot);
162
+ }
163
+ return snapshot;
164
+ }
165
+ catch (error) {
166
+ this.logger.error('Error while fetching snapshot', error);
167
+ }
168
+ }
169
+ addPluginCapabilities(pluginId, capabilities) {
170
+ super.addCapabilitiesInternal(pluginId, capabilities);
171
+ }
172
+ removePluginCapabilities(pluginId, capabilities = []) {
173
+ super.removeCapabilitiesInternal(pluginId, capabilities);
174
+ }
132
175
  async probeStream(sourceId, probeConfig, refresh = false) {
133
176
  let streamInfo = this.streamInfos.get(sourceId);
134
177
  if (streamInfo && !refresh) {
135
178
  return Promise.resolve(streamInfo);
136
179
  }
137
- const cameraSource = this.sources.find((source) => source._id === sourceId) ?? this.internalSources.find((source) => source._id === sourceId);
180
+ const cameraSource = this.sources.find((source) => source._id === sourceId);
138
181
  if (!cameraSource) {
139
182
  return;
140
183
  }
141
184
  try {
142
185
  const src = createSourceName(this.name, cameraSource?.name);
143
186
  const probe = await this.go2rtcApi.streamsApi.probeStreamSource({ src }, probeConfig);
144
- const videoStreamInfo = this.generateVideoStreamInfo(probe.producers);
145
- const audioStreamInfo = this.generateAudioStreamInfo(probe.producers);
187
+ const videoStreamInfo = generateVideoStreamInfo(probe.producers);
188
+ const audioStreamInfo = generateAudioStreamInfo(probe.producers);
146
189
  const sdp = generateSdp(videoStreamInfo, audioStreamInfo);
147
190
  streamInfo = {
148
191
  sdp,
@@ -156,55 +199,72 @@ export class CameraController extends CameraDevice {
156
199
  }
157
200
  return streamInfo;
158
201
  }
159
- addCameraSource(source) {
160
- return this.proxyServer.cameraDeviceProxy.addCameraSource(source, this.id, this.pluginId);
161
- }
162
- updateCameraSource(sourceId, source) {
163
- return this.proxyServer.cameraDeviceProxy.updateCameraSource(sourceId, source, this.id, this.pluginId);
164
- }
165
- removeCameraSource(sourceId) {
166
- return this.proxyServer.cameraDeviceProxy.removeCameraSource(sourceId, this.id, this.pluginId);
202
+ async refreshStates() {
203
+ return {
204
+ camera: this.camera,
205
+ cameraState: this.connected,
206
+ frameWorkerState: this.frameWorker.status === PLUGIN_STATUS.STARTED,
207
+ capabilities: this.capabilities.getValue(),
208
+ states: {
209
+ light: this.getValue('light'),
210
+ motion: this.getValue('motion'),
211
+ audio: this.getValue('audio'),
212
+ object: this.getValue('object'),
213
+ doorbell: this.getValue('doorbell'),
214
+ siren: this.getValue('siren'),
215
+ battery: this.getValue('battery'),
216
+ },
217
+ };
167
218
  }
168
219
  updateCamera(updatedCamera) {
169
220
  super.updateCamera(updatedCamera);
221
+ this.sessionController.start(this.sources);
222
+ }
223
+ updateFrameWorkerState(state) {
224
+ super.updateFrameWorkerState(state);
170
225
  }
171
- cleanup() {
172
- this.frameWorker.close();
226
+ async cleanup() {
227
+ await this.frameWorker.close();
228
+ this.sessionController.stop();
173
229
  this.closeLogStream();
174
230
  this.removeAllListeners();
175
231
  this.unsubscribe();
176
232
  this.clearTimers();
233
+ await this.disconnectRpc();
177
234
  }
178
- stop() {
179
- this.cleanup();
235
+ async stop() {
236
+ await this.cleanup();
180
237
  this.removeLogStream();
181
238
  this.triggerProxyEvent('removed');
182
239
  }
183
240
  writeLog(...args) {
184
- this.logStream?.write(args.join(' ').replace(/\r?\n*$/, '\n'));
241
+ this.safeWriteLog(args.join(' ').replace(/\r?\n*$/, '\n'));
242
+ }
243
+ async storageProxy(pluginId) {
244
+ this.pluginIds.add(pluginId);
245
+ const namespaces = NamespaceManager.pluginCameraNamespaces(pluginId, this.id);
246
+ return this.proxy.createRPCProxy(namespaces.cameraStorageRpc);
185
247
  }
186
248
  subscribeToCameraState() {
187
249
  return this.cameraState
188
250
  .pipe(pairwise(), filter(([oldState, newState]) => oldState !== newState))
189
- .subscribe({
190
- next: ([, newState]) => {
191
- this.triggerProxyEvent('cameraState', newState);
192
- },
193
- error: (error) => {
194
- this.logger.error('Error while subscribing to camera state changes', error);
195
- },
196
- });
251
+ .subscribe(([, newState]) => this.triggerProxyEvent('cameraState', newState));
252
+ }
253
+ subscribeToFrameWorkerState() {
254
+ return this.frameWorkerState
255
+ .pipe(pairwise(), filter(([oldState, newState]) => oldState !== newState))
256
+ .subscribe(([, newState]) => this.triggerProxyEvent('frameWorkerState', newState));
197
257
  }
198
258
  subscribeToCameraChanges() {
199
259
  return this.cameraSubject
200
260
  .pipe(pairwise(), filter(([oldCamera, newCamera]) => !isEqual(oldCamera, newCamera, true)))
201
- .subscribe({
202
- next: ([, newCamera]) => {
203
- this.triggerProxyEvent('updated', newCamera);
204
- },
205
- error: (error) => {
206
- this.logger.error('Error while subscribing to camera changes', error);
207
- },
261
+ .subscribe(([, newCamera]) => this.triggerProxyEvent('updated', newCamera));
262
+ }
263
+ subscribeToCapabilityChanges() {
264
+ return this.capabilities
265
+ .pipe(pairwise(), filter(([oldCapabilities, newCapabilities]) => !isEqual(oldCapabilities, newCapabilities, true)))
266
+ .subscribe(([, newCapabilities]) => {
267
+ this.triggerProxyEvent('capabilities', newCapabilities);
208
268
  });
209
269
  }
210
270
  subscribeToStateChanges(stateName, stateSubject) {
@@ -212,28 +272,22 @@ export class CameraController extends CameraDevice {
212
272
  .pipe(pairwise(), filter(([oldState, newState]) => {
213
273
  return this.stateChanged(oldState, newState, stateName);
214
274
  }))
215
- .subscribe({
216
- next: ([oldState, newState]) => {
217
- this.triggerProxyEvent(stateName, newState, oldState);
218
- switch (stateName) {
219
- case 'motion':
220
- this.motionStateChange(oldState, newState);
221
- break;
222
- case 'object':
223
- this.objectStateChange(oldState, newState);
224
- break;
225
- case 'audio':
226
- this.audioStateChange(oldState, newState);
227
- break;
228
- case 'doorbell':
229
- this.doorbellStateChange(oldState, newState);
230
- break;
231
- default:
232
- }
233
- },
234
- error: (error) => {
235
- this.logger.error(`Error while subscribing to state changes for ${stateName}`, error);
236
- },
275
+ .subscribe(([oldState, newState]) => {
276
+ this.triggerProxyEvent(stateName, newState, oldState);
277
+ switch (stateName) {
278
+ case 'motion':
279
+ this.motionStateChange(oldState, newState);
280
+ break;
281
+ case 'object':
282
+ this.objectStateChange(oldState, newState);
283
+ break;
284
+ case 'audio':
285
+ this.audioStateChange(oldState, newState);
286
+ break;
287
+ case 'doorbell':
288
+ this.doorbellStateChange(oldState, newState);
289
+ break;
290
+ }
237
291
  });
238
292
  }
239
293
  motionStateChange(oldState, newState) {
@@ -304,91 +358,8 @@ export class CameraController extends CameraDevice {
304
358
  this.proxyServer.publishCameraEvent(this.id, stateName, { newEvent, oldEvent });
305
359
  }
306
360
  }
307
- proxyRequest(client, fn, args = []) {
308
- return this.proxyServer.cameraDeviceProxy.onRequest(this.id, client, fn, ...args);
309
- }
310
361
  isCameraEvent(stateName) {
311
- return stateName === 'updated' || stateName === 'removed' || stateName === 'cameraState';
312
- }
313
- generateAudioStreamInfo(producers) {
314
- const audioStreamInfos = [];
315
- for (const producer of producers) {
316
- for (const media of producer.medias ?? []) {
317
- if (media.startsWith('audio')) {
318
- const audioCodec = media.split(', ')[2].split('/')[0];
319
- const baseDirection = media.split(', ')[1];
320
- const direction = baseDirection === 'recvonly' ? 'sendonly' : 'recvonly';
321
- const isTalkback = media.startsWith('audio') && media.includes('sendonly');
322
- const { codec, ffmpegCodec } = normalizeAudioCodecs(audioCodec);
323
- let go2rtcCodec;
324
- if (isTalkback) {
325
- const sender = producer.senders?.find((r) => r.codec.codec_name === codec);
326
- go2rtcCodec = sender?.codec;
327
- }
328
- else {
329
- const receiver = producer.receivers?.find((r) => r.codec.codec_name === codec);
330
- go2rtcCodec = receiver?.codec;
331
- }
332
- const rtpInfo = go2rtcCodec
333
- ? {
334
- codec: go2rtcCodec.codec_name,
335
- encoding: go2rtcCodec.channels,
336
- rate: go2rtcCodec.sample_rate,
337
- }
338
- : undefined;
339
- const properties = getAudioCodecProperties(codec, rtpInfo);
340
- const info = {
341
- codec,
342
- ffmpegCodec,
343
- properties,
344
- direction,
345
- };
346
- const audioStreamExist = audioStreamInfos.some((audioStreamInfo) => isSameAudioStreamInfo(audioStreamInfo, info));
347
- if (!audioStreamExist) {
348
- audioStreamInfos.push(info);
349
- }
350
- }
351
- }
352
- }
353
- return audioStreamInfos;
354
- }
355
- generateVideoStreamInfo(producers) {
356
- const videoStreamInfos = [];
357
- for (const producer of producers) {
358
- for (const media of producer.medias ?? []) {
359
- if (media.startsWith('video')) {
360
- // "medias": [
361
- // "video, recvonly, H264",
362
- // "audio, recvonly, OPUS/48000/2",
363
- // "audio, sendonly, OPUS/48000/2"
364
- // ],
365
- const videoCodec = media.split(', ')[2].split('/')[0];
366
- const direction = 'sendonly';
367
- const { codec, ffmpegCodec } = normalizeVideoCodecs(videoCodec);
368
- const receiver = producer.receivers?.find((r) => r.codec.codec_name === codec);
369
- const go2rtcCodec = receiver?.codec;
370
- const rtpInfo = go2rtcCodec
371
- ? {
372
- codec: go2rtcCodec.codec_name,
373
- encoding: go2rtcCodec.channels,
374
- rate: go2rtcCodec.sample_rate,
375
- }
376
- : undefined;
377
- const properties = getVideoCodecProperties(codec, rtpInfo);
378
- const info = {
379
- codec,
380
- ffmpegCodec,
381
- properties,
382
- direction,
383
- };
384
- const videoStreamExist = videoStreamInfos.some((videoStreamInfo) => isSameVideoStreamInfo(videoStreamInfo, info));
385
- if (!videoStreamExist) {
386
- videoStreamInfos.push(info);
387
- }
388
- }
389
- }
390
- }
391
- return videoStreamInfos;
362
+ return stateName === 'updated' || stateName === 'removed' || stateName === 'cameraState' || stateName === 'frameWorkerState' || stateName === 'capabilities';
392
363
  }
393
364
  clearTimers() {
394
365
  clearTimeout(this.motionTimeout);
@@ -400,19 +371,24 @@ export class CameraController extends CameraDevice {
400
371
  const content = `${date}: ${this.name}`;
401
372
  const lineLength = content.length + 3;
402
373
  const line = '-'.repeat(lineLength);
403
- this.logStream?.write(`\n${line}\n`);
404
- this.logStream?.write(content.padEnd(lineLength));
405
- this.logStream?.write(`\n${line}\n\n`);
374
+ this.safeWriteLog(`\n${line}\n`);
375
+ this.safeWriteLog(content.padEnd(lineLength));
376
+ this.safeWriteLog(`\n${line}\n\n`);
406
377
  }
407
378
  closeLogStream() {
408
379
  clearInterval(this.truncateInterval);
409
- this.logStream?.destroy();
380
+ this.logStream?.close();
410
381
  this.logger.logStream = undefined;
411
382
  }
412
383
  removeLogStream() {
413
384
  this.closeLogStream();
414
385
  rmSync(this.logPath);
415
386
  }
387
+ async disconnectRpc() {
388
+ await this.proxy.unregisterRPCHandler(this.namespaces.cameraControllerRpc);
389
+ await Promise.allSettled(Array.from(this.pluginIds).map((pluginId) => this.proxy.disconnectRPCConnection(NamespaceManager.pluginCameraNamespaces(pluginId, this.id).cameraStorageRpc)));
390
+ await this.cameraInterfaces.disconnect();
391
+ }
416
392
  async truncateLog() {
417
393
  if (!(await pathExists(this.logPath))) {
418
394
  return;
@@ -443,5 +419,63 @@ export class CameraController extends CameraDevice {
443
419
  this.logger.error(`Failed to truncate log file: ${e.message}`);
444
420
  }
445
421
  }
422
+ safeWriteLog(message) {
423
+ if (this.logStream?.writable) {
424
+ try {
425
+ this.logStream?.write(message);
426
+ }
427
+ catch {
428
+ // Ignore
429
+ }
430
+ }
431
+ }
446
432
  }
433
+ __decorate([
434
+ rpc({ public: true }),
435
+ __metadata("design:type", Function),
436
+ __metadata("design:paramtypes", []),
437
+ __metadata("design:returntype", Promise)
438
+ ], CameraController.prototype, "connect", null);
439
+ __decorate([
440
+ rpc({ public: true }),
441
+ __metadata("design:type", Function),
442
+ __metadata("design:paramtypes", []),
443
+ __metadata("design:returntype", Promise)
444
+ ], CameraController.prototype, "disconnect", null);
445
+ __decorate([
446
+ rpc({ public: true }),
447
+ __metadata("design:type", Function),
448
+ __metadata("design:paramtypes", [typeof (_a = typeof T !== "undefined" && T) === "function" ? _a : Object, Object, void 0, Boolean]),
449
+ __metadata("design:returntype", Promise)
450
+ ], CameraController.prototype, "updateState", null);
451
+ __decorate([
452
+ rpc({ public: true }),
453
+ __metadata("design:type", Function),
454
+ __metadata("design:paramtypes", [String, Boolean]),
455
+ __metadata("design:returntype", Promise)
456
+ ], CameraController.prototype, "snapshot", null);
457
+ __decorate([
458
+ rpc({ public: true }),
459
+ __metadata("design:type", Function),
460
+ __metadata("design:paramtypes", [String, Array]),
461
+ __metadata("design:returntype", void 0)
462
+ ], CameraController.prototype, "addPluginCapabilities", null);
463
+ __decorate([
464
+ rpc({ public: true }),
465
+ __metadata("design:type", Function),
466
+ __metadata("design:paramtypes", [String, Array]),
467
+ __metadata("design:returntype", void 0)
468
+ ], CameraController.prototype, "removePluginCapabilities", null);
469
+ __decorate([
470
+ rpc({ public: true }),
471
+ __metadata("design:type", Function),
472
+ __metadata("design:paramtypes", [String, Object, Object]),
473
+ __metadata("design:returntype", Promise)
474
+ ], CameraController.prototype, "probeStream", null);
475
+ __decorate([
476
+ rpc({ public: true }),
477
+ __metadata("design:type", Function),
478
+ __metadata("design:paramtypes", []),
479
+ __metadata("design:returntype", Promise)
480
+ ], CameraController.prototype, "refreshStates", null);
447
481
  //# sourceMappingURL=controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/camera/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../../../src/camera/controller.ts"],"names":[],"mappings":"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"}