@camera.ui/server 0.0.50-internal.0 → 0.0.50-internal.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/dist/interface/index.html +44 -44
  2. package/dist/interface/js/{@primevue.OhxoO3MD.0.0.50-internal.0.js → @primevue.BAIU_p3r.0.0.50-internal.2.js} +1 -1
  3. package/dist/interface/js/{@tanstack.D1IL6eOv.0.0.50-internal.0.js → @tanstack.mdCorqzE.0.0.50-internal.2.js} +1 -1
  4. package/dist/interface/js/{@vee-validate.BGPyWWTh.0.0.50-internal.0.js → @vee-validate.D0vsSsly.0.0.50-internal.2.js} +1 -1
  5. package/dist/interface/js/{@vueuse.BsKtqdiG.0.0.50-internal.0.js → @vueuse.we5ZpWr2.0.0.50-internal.2.js} +1 -1
  6. package/dist/interface/js/{Adminpanel.D93Kvbwp.0.0.50-internal.0.js → Adminpanel.9AEBJ3H1.0.0.50-internal.2.js} +1 -1
  7. package/dist/interface/js/{Camera.DF2l3OMA.0.0.50-internal.0.js → Camera.CZcnEH0C.0.0.50-internal.2.js} +1 -1
  8. package/dist/interface/js/{Cameras.YzvZccdv.0.0.50-internal.0.js → Cameras.DE0LkcGu.0.0.50-internal.2.js} +2 -2
  9. package/dist/interface/js/Cammesh.CVvmkelB.0.0.50-internal.2.js +1 -0
  10. package/dist/interface/js/{Camview.CB7_HnoQ.0.0.50-internal.0.js → Camview.CUr4pGoU.0.0.50-internal.2.js} +1 -1
  11. package/dist/interface/js/{Config.BwflsWTm.0.0.50-internal.0.js → Config.CaJhu4fF.0.0.50-internal.2.js} +2 -2
  12. package/dist/interface/js/{Console.DZM8pN8Q.0.0.50-internal.0.js → Console.5VUmgryj.0.0.50-internal.2.js} +1 -1
  13. package/dist/interface/js/{CuiConsole.BXXU7Gth.0.0.50-internal.0.js → CuiConsole.iYmUxAR5.0.0.50-internal.2.js} +1 -1
  14. package/dist/interface/js/{CuiPluginCard.YFOrpbVD.0.0.50-internal.0.js → CuiPluginCard.DXPyE5mF.0.0.50-internal.2.js} +1 -1
  15. package/dist/interface/js/{CuiTimeline.VV5KSJd5.0.0.50-internal.0.js → CuiTimeline.BqtlOFnV.0.0.50-internal.2.js} +1 -1
  16. package/dist/interface/js/{FirstSteps.b-nvymgb.0.0.50-internal.0.js → FirstSteps.C_RI-SDQ.0.0.50-internal.2.js} +1 -1
  17. package/dist/interface/js/{Plugin.BOMpVEwM.0.0.50-internal.0.js → Plugin.Ch_v02eN.0.0.50-internal.2.js} +1 -1
  18. package/dist/interface/js/{Plugins.DdPwaUDA.0.0.50-internal.0.js → Plugins.BpXAYgSG.0.0.50-internal.2.js} +1 -1
  19. package/dist/interface/js/Recordings.CIKHJytH.0.0.50-internal.2.js +1 -0
  20. package/dist/interface/js/{Settings.D24ttaPu.0.0.50-internal.0.js → Settings.BcLoGNEy.0.0.50-internal.2.js} +1 -1
  21. package/dist/interface/js/{SettingsAccount.ms3aqz4E.0.0.50-internal.0.js → SettingsAccount.DMROW8kx.0.0.50-internal.2.js} +1 -1
  22. package/dist/interface/js/SettingsAppearance.CUaHpihp.0.0.50-internal.2.js +1 -0
  23. package/dist/interface/js/{SettingsAppearance.vue_vue_type_script_setup_true_lang.CBQ6lL3T.0.0.50-internal.0.js → SettingsAppearance.vue_vue_type_script_setup_true_lang.BuKZ-Uco.0.0.50-internal.2.js} +1 -1
  24. package/dist/interface/js/{SettingsBackup.BPEc4Rjg.0.0.50-internal.0.js → SettingsBackup.0QdwFSpv.0.0.50-internal.2.js} +1 -1
  25. package/dist/interface/js/SettingsRecordings.B-aj0U8_.0.0.50-internal.2.js +1 -0
  26. package/dist/interface/js/{SettingsRemote.BL5nXbUT.0.0.50-internal.0.js → SettingsRemote.Bi1YAJ76.0.0.50-internal.2.js} +1 -1
  27. package/dist/interface/js/{SettingsSystem.D7T0AIpm.0.0.50-internal.0.js → SettingsSystem.CAx66Iir.0.0.50-internal.2.js} +1 -1
  28. package/dist/interface/js/{SettingsUsers.1u0vCOVG.0.0.50-internal.0.js → SettingsUsers.CQcDtGy1.0.0.50-internal.2.js} +1 -1
  29. package/dist/interface/js/{VersionsHandler.vue_vue_type_script_setup_true_lang.xDishkkS.0.0.50-internal.0.js → VersionsHandler.vue_vue_type_script_setup_true_lang.BhXMzIhV.0.0.50-internal.2.js} +1 -1
  30. package/dist/interface/js/{ace-builds.D1nmvCwb.0.0.50-internal.0.js → ace-builds.C0sCXSu5.0.0.50-internal.2.js} +2 -2
  31. package/dist/interface/js/{ace.config.G96T2z54.0.0.50-internal.0.js → ace.config.DNqPWa0Q.0.0.50-internal.2.js} +1 -1
  32. package/dist/interface/js/{backup.B_Gzxtp_.0.0.50-internal.0.js → backup.DAXgG3bP.0.0.50-internal.2.js} +1 -1
  33. package/dist/interface/js/{chart.js.CP_nMnnf.0.0.50-internal.0.js → chart.js.Bq3YocRX.0.0.50-internal.2.js} +1 -1
  34. package/dist/interface/js/{close-circle.DYLuVIOg.0.0.50-internal.0.js → close-circle.9rxyNw0z.0.0.50-internal.2.js} +1 -1
  35. package/dist/interface/js/{dnd-core.T9OeW7mu.0.0.50-internal.0.js → dnd-core.BuEvHAsS.0.0.50-internal.2.js} +1 -1
  36. package/dist/interface/js/{draggabilly.D3zGcBb3.0.0.50-internal.0.js → draggabilly.DUdE08x8.0.0.50-internal.2.js} +1 -1
  37. package/dist/interface/js/{engine.io-client.kITRnq-g.0.0.50-internal.0.js → engine.io-client.DWU6YI8o.0.0.50-internal.2.js} +1 -1
  38. package/dist/interface/js/{fast-deep-equal.Bpc9mIsj.0.0.50-internal.0.js → fast-deep-equal.BpPyC6E4.0.0.50-internal.2.js} +1 -1
  39. package/dist/interface/js/{highlight.js.BlSXU-Wb.0.0.50-internal.0.js → highlight.js.BoR2Rhdd.0.0.50-internal.2.js} +1 -1
  40. package/dist/interface/js/{linkify-it.C3N1lWsJ.0.0.50-internal.0.js → linkify-it.BXzPONHs.0.0.50-internal.2.js} +1 -1
  41. package/dist/interface/js/{main.D0YR3Jat.0.0.50-internal.0.js → main.DwcBYfWc.0.0.50-internal.2.js} +3 -3
  42. package/dist/interface/js/{markdown-it.Dj0dt5s2.0.0.50-internal.0.js → markdown-it.BUDVOjPt.0.0.50-internal.2.js} +1 -1
  43. package/dist/interface/js/{nprogress.BwQWDcGj.0.0.50-internal.0.js → nprogress.CsG-OBoI.0.0.50-internal.2.js} +1 -1
  44. package/dist/interface/js/{pinia.DRh7plEC.0.0.50-internal.0.js → pinia.CqEQao5R.0.0.50-internal.2.js} +1 -1
  45. package/dist/interface/js/{primevue.Cl58krXf.0.0.50-internal.0.js → primevue.D91sslRx.0.0.50-internal.2.js} +1 -1
  46. package/dist/interface/js/{qrcode.C1sDj6P8.0.0.50-internal.0.js → qrcode.SdSTPzZO.0.0.50-internal.2.js} +1 -1
  47. package/dist/interface/js/{react-dnd-touch-backend.BA4WhUJo.0.0.50-internal.0.js → react-dnd-touch-backend.BwroebQ4.0.0.50-internal.2.js} +1 -1
  48. package/dist/interface/js/{refresh-rounded.D_SmhhUf.0.0.50-internal.0.js → refresh-rounded.DxM48YSv.0.0.50-internal.2.js} +1 -1
  49. package/dist/interface/js/{rxjs.C-fTBwEO.0.0.50-internal.0.js → rxjs.Cmpbnzo4.0.0.50-internal.2.js} +1 -1
  50. package/dist/interface/js/{socket.io-client.DKrRxgjP.0.0.50-internal.0.js → socket.io-client.DF2YgZo1.0.0.50-internal.2.js} +1 -1
  51. package/dist/interface/js/{socket.io-parser.EXj3YDH2.0.0.50-internal.0.js → socket.io-parser.BUs2ineY.0.0.50-internal.2.js} +1 -1
  52. package/dist/interface/js/{system.CY8rGd-Q.0.0.50-internal.0.js → system.DmkT2LKx.0.0.50-internal.2.js} +1 -1
  53. package/dist/interface/js/{trash-fill.CMnCN3Oy.0.0.50-internal.0.js → trash-fill.dPzyZDVa.0.0.50-internal.2.js} +1 -1
  54. package/dist/interface/js/{unidragger.D0w6Tqtt.0.0.50-internal.0.js → unidragger.y2ZlFveS.0.0.50-internal.2.js} +1 -1
  55. package/dist/interface/js/{vee-validate.BeiObIH8.0.0.50-internal.0.js → vee-validate.Y-alCADW.0.0.50-internal.2.js} +1 -1
  56. package/dist/interface/js/{vue-chartjs.DtdZdiYw.0.0.50-internal.0.js → vue-chartjs.sRVFTqDf.0.0.50-internal.2.js} +1 -1
  57. package/dist/interface/js/{vue-i18n.BW2bx_6z.0.0.50-internal.0.js → vue-i18n.D5WrXOZa.0.0.50-internal.2.js} +1 -1
  58. package/dist/interface/js/{vue-inline-svg.BJkQGmKz.0.0.50-internal.0.js → vue-inline-svg.R0uz_abA.0.0.50-internal.2.js} +1 -1
  59. package/dist/interface/js/{vue-router.B2mOXHaC.0.0.50-internal.0.js → vue-router.65mnGy-o.0.0.50-internal.2.js} +1 -1
  60. package/dist/interface/js/{vue-zoomable.BKDyCJE7.0.0.50-internal.0.js → vue-zoomable.B1Qop6Uu.0.0.50-internal.2.js} +1 -1
  61. package/dist/interface/js/{vue3-dnd.DRK24CBp.0.0.50-internal.0.js → vue3-dnd.CwmyAcir.0.0.50-internal.2.js} +1 -1
  62. package/dist/interface/js/{zoom-out.DxvzgVEo.0.0.50-internal.0.js → zoom-out.CMPALvRh.0.0.50-internal.2.js} +1 -1
  63. package/dist/interface/sw.js +1 -1
  64. package/dist/server/package.json +1 -1
  65. package/dist/server/src/rpc/server.js +4 -1
  66. package/dist/server/src/rpc/server.js.map +1 -1
  67. package/package.json +1 -1
  68. package/.prettierignore +0 -12
  69. package/.prettierrc.json +0 -12
  70. package/artillery.yaml +0 -29
  71. package/bin/cameraui-server.ts +0 -11
  72. package/dist/interface/js/Cammesh.D-6dAROQ.0.0.50-internal.0.js +0 -1
  73. package/dist/interface/js/Recordings.DhxjIW7e.0.0.50-internal.0.js +0 -1
  74. package/dist/interface/js/SettingsAppearance.DsTjKXk1.0.0.50-internal.0.js +0 -1
  75. package/dist/interface/js/SettingsRecordings.DgW7M0jj.0.0.50-internal.0.js +0 -1
  76. package/eslint.config.js +0 -103
  77. package/localdeps.txt +0 -10
  78. package/mypy.ini +0 -30
  79. package/requirements.txt +0 -15
  80. package/ruff.toml +0 -90
  81. package/src/__init__.py +0 -0
  82. package/src/_camera_ui_tools/__init__.py +0 -0
  83. package/src/_camera_ui_tools/__pycache__/__init__.cpython-311.pyc +0 -0
  84. package/src/api/controllers/api.controller.ts +0 -19
  85. package/src/api/controllers/auth.controller.ts +0 -294
  86. package/src/api/controllers/backup.controller.ts +0 -72
  87. package/src/api/controllers/cameras.controller.ts +0 -1029
  88. package/src/api/controllers/config.controller.ts +0 -102
  89. package/src/api/controllers/files.controller.ts +0 -35
  90. package/src/api/controllers/frameWorkers.controller.ts +0 -109
  91. package/src/api/controllers/plugins.controller.ts +0 -1206
  92. package/src/api/controllers/system.controller.ts +0 -273
  93. package/src/api/controllers/users.controller.ts +0 -648
  94. package/src/api/database/checks.ts +0 -268
  95. package/src/api/database/constants.ts +0 -8
  96. package/src/api/database/index.ts +0 -262
  97. package/src/api/database/migration.ts +0 -62
  98. package/src/api/database/selfcheck.ts +0 -492
  99. package/src/api/database/types.ts +0 -104
  100. package/src/api/go2rtc/api/application.ts +0 -48
  101. package/src/api/go2rtc/api/config.ts +0 -61
  102. package/src/api/go2rtc/api/discover.ts +0 -197
  103. package/src/api/go2rtc/api/index.ts +0 -49
  104. package/src/api/go2rtc/api/snapshot.ts +0 -44
  105. package/src/api/go2rtc/api/streams.ts +0 -168
  106. package/src/api/go2rtc/index.ts +0 -43
  107. package/src/api/go2rtc/queue.ts +0 -50
  108. package/src/api/go2rtc/types.ts +0 -174
  109. package/src/api/index.ts +0 -286
  110. package/src/api/middlewares/authPermission.middleware.ts +0 -46
  111. package/src/api/middlewares/authValidation.middleware.ts +0 -160
  112. package/src/api/middlewares/pagination.middleware.ts +0 -67
  113. package/src/api/middlewares/socketAuth.middleware.ts +0 -136
  114. package/src/api/plugins/header.plugin.ts +0 -15
  115. package/src/api/plugins/logger.plugin.ts +0 -44
  116. package/src/api/plugins/proxy.plugin.ts +0 -255
  117. package/src/api/plugins/socket.plugin.ts +0 -28
  118. package/src/api/plugins/system.plugin.ts +0 -48
  119. package/src/api/plugins/useragent.plugin.ts +0 -19
  120. package/src/api/routes/api.routes.ts +0 -10
  121. package/src/api/routes/auth.routes.ts +0 -56
  122. package/src/api/routes/backup.routes.ts +0 -28
  123. package/src/api/routes/cameras.routes.ts +0 -281
  124. package/src/api/routes/config.routes.ts +0 -66
  125. package/src/api/routes/files.routes.ts +0 -15
  126. package/src/api/routes/frameWorkers.routes.ts +0 -39
  127. package/src/api/routes/index.ts +0 -37
  128. package/src/api/routes/plugins.routes.ts +0 -420
  129. package/src/api/routes/system.routes.ts +0 -101
  130. package/src/api/routes/users.routes.ts +0 -167
  131. package/src/api/schemas/backup.schema.ts +0 -112
  132. package/src/api/schemas/cameras.schema.ts +0 -479
  133. package/src/api/schemas/config.schema.ts +0 -38
  134. package/src/api/schemas/go2rtc.schema.ts +0 -189
  135. package/src/api/schemas/plugins.schema.ts +0 -126
  136. package/src/api/schemas/storage.schema.ts +0 -11
  137. package/src/api/schemas/system.schema.ts +0 -45
  138. package/src/api/schemas/users.schema.ts +0 -185
  139. package/src/api/services/auth.service.ts +0 -210
  140. package/src/api/services/backup.service.ts +0 -144
  141. package/src/api/services/cameras.service.ts +0 -671
  142. package/src/api/services/plugins.service.ts +0 -470
  143. package/src/api/services/system.service.ts +0 -85
  144. package/src/api/services/users.service.ts +0 -276
  145. package/src/api/types/index.ts +0 -675
  146. package/src/api/utils/cert.ts +0 -254
  147. package/src/api/utils/constants.ts +0 -17
  148. package/src/api/utils/fetch.ts +0 -21
  149. package/src/api/utils/moveFiles.ts +0 -45
  150. package/src/api/utils/parse.ts +0 -17
  151. package/src/api/websocket/index.ts +0 -110
  152. package/src/api/websocket/nsp/logs.ts +0 -240
  153. package/src/api/websocket/nsp/main.ts +0 -27
  154. package/src/api/websocket/nsp/metrics.ts +0 -301
  155. package/src/api/websocket/nsp/notifications.ts +0 -43
  156. package/src/api/websocket/nsp/plugins.ts +0 -37
  157. package/src/api/websocket/nsp/server.ts +0 -220
  158. package/src/api/websocket/nsp/status.ts +0 -77
  159. package/src/api/websocket/types.ts +0 -55
  160. package/src/api.ts +0 -163
  161. package/src/camera/classes.ts +0 -32
  162. package/src/camera/controller.ts +0 -579
  163. package/src/camera/device.ts +0 -422
  164. package/src/camera/frameWorker.ts +0 -403
  165. package/src/camera/index.ts +0 -679
  166. package/src/camera/interfaces.ts +0 -95
  167. package/src/camera/iou.ts +0 -153
  168. package/src/camera/polygon.ts +0 -226
  169. package/src/camera/python/__init__.py +0 -0
  170. package/src/camera/python/__pycache__/__init__.cpython-311.pyc +0 -0
  171. package/src/camera/python/__pycache__/classes.cpython-311.pyc +0 -0
  172. package/src/camera/python/__pycache__/delegate_controller.cpython-311.pyc +0 -0
  173. package/src/camera/python/__pycache__/interfaces.cpython-311.pyc +0 -0
  174. package/src/camera/python/__pycache__/iou.cpython-310.pyc +0 -0
  175. package/src/camera/python/__pycache__/iou.cpython-311.pyc +0 -0
  176. package/src/camera/python/__pycache__/iou2.cpython-310.pyc +0 -0
  177. package/src/camera/python/__pycache__/polygon.cpython-311.pyc +0 -0
  178. package/src/camera/python/__pycache__/typings.cpython-311.pyc +0 -0
  179. package/src/camera/python/__pycache__/video_frame.cpython-311.pyc +0 -0
  180. package/src/camera/python/classes.py +0 -41
  181. package/src/camera/python/interfaces.py +0 -130
  182. package/src/camera/python/iou.py +0 -158
  183. package/src/camera/python/polygon.py +0 -230
  184. package/src/camera/python/test/__pycache__/polygon.cpython-310.pyc +0 -0
  185. package/src/camera/python/test/iou_test.py +0 -799
  186. package/src/camera/python/test/polygon.py +0 -238
  187. package/src/camera/python/test/polygon_test.py +0 -256
  188. package/src/camera/python/test/polygon_test2.py +0 -484
  189. package/src/camera/python/typings.py +0 -50
  190. package/src/camera/python/video_frame.py +0 -143
  191. package/src/camera/session.ts +0 -192
  192. package/src/camera/streaming/fmp4-session.ts +0 -390
  193. package/src/camera/streaming/peer-connection.ts +0 -273
  194. package/src/camera/streaming/rtsp-session.ts +0 -331
  195. package/src/camera/streaming/webrtc-connection.ts +0 -260
  196. package/src/camera/streaming/werift-session.ts +0 -317
  197. package/src/camera/test/iou_test.ts +0 -761
  198. package/src/camera/test/polygon.test.ts +0 -611
  199. package/src/camera/test/polygon_test.ts +0 -210
  200. package/src/camera/types.ts +0 -48
  201. package/src/camera/utils.ts +0 -489
  202. package/src/camera/videoFrame.ts +0 -123
  203. package/src/cloud/index.ts +0 -61
  204. package/src/cloud/remote/cloudflare.ts +0 -18
  205. package/src/cloud/remote/upnp.ts +0 -18
  206. package/src/cloud/remote/utils.ts +0 -24
  207. package/src/cloud/types.ts +0 -16
  208. package/src/decoder/child.ts +0 -883
  209. package/src/decoder/imageUtils.ts +0 -275
  210. package/src/decoder/manager.ts +0 -251
  211. package/src/decoder/python/__init__.py +0 -0
  212. package/src/decoder/python/__pycache__/__init__.cpython-311.pyc +0 -0
  213. package/src/decoder/python/__pycache__/image_utils.cpython-311.pyc +0 -0
  214. package/src/decoder/python/__pycache__/typings.cpython-311.pyc +0 -0
  215. package/src/decoder/python/__pycache__/utils.cpython-311.pyc +0 -0
  216. package/src/decoder/python/child.py +0 -903
  217. package/src/decoder/python/image_utils.py +0 -196
  218. package/src/decoder/python/pool.py +0 -45
  219. package/src/decoder/python/test/group.py +0 -62
  220. package/src/decoder/python/test/motion.mp4 +0 -0
  221. package/src/decoder/python/test/motion2.mp4 +0 -0
  222. package/src/decoder/python/test/opencl.cl +0 -70
  223. package/src/decoder/python/test/opencl2.cl +0 -130
  224. package/src/decoder/python/test/test.py +0 -427
  225. package/src/decoder/python/test/test1.jpg +0 -0
  226. package/src/decoder/python/test/test1_resized.jpg +0 -0
  227. package/src/decoder/python/test/test2.jpg +0 -0
  228. package/src/decoder/python/test/test2.py +0 -451
  229. package/src/decoder/python/test/test2_resized.jpg +0 -0
  230. package/src/decoder/python/test/test3.jpg +0 -0
  231. package/src/decoder/python/test/utils.py +0 -50
  232. package/src/decoder/python/typings.py +0 -57
  233. package/src/decoder/python/utils.py +0 -70
  234. package/src/decoder/test/child.ts +0 -117
  235. package/src/decoder/test/ffmpeg.ts +0 -371
  236. package/src/decoder/test/test.ts +0 -182
  237. package/src/decoder/types.ts +0 -27
  238. package/src/decoder/utils.ts +0 -64
  239. package/src/decoder/wasm/asconfig.json +0 -28
  240. package/src/decoder/wasm/assembly/console.ts +0 -1
  241. package/src/decoder/wasm/assembly/index.ts +0 -890
  242. package/src/decoder/wasm/build/decoder.d.ts +0 -43
  243. package/src/decoder/wasm/build/decoder.js +0 -108
  244. package/src/decoder/wasm/build/decoder.wasm +0 -0
  245. package/src/decoder/wasm/tsconfig.json +0 -5
  246. package/src/decoder/worker.ts +0 -113
  247. package/src/go2rtc/index.ts +0 -324
  248. package/src/go2rtc/types.ts +0 -88
  249. package/src/main.ts +0 -267
  250. package/src/manager/coreManager.ts +0 -78
  251. package/src/manager/deviceManager.ts +0 -132
  252. package/src/manager/types.ts +0 -17
  253. package/src/plugins/index.ts +0 -443
  254. package/src/plugins/plugin.ts +0 -177
  255. package/src/plugins/runtime/base.ts +0 -282
  256. package/src/plugins/runtime/index.ts +0 -15
  257. package/src/plugins/runtime/node/child.ts +0 -193
  258. package/src/plugins/runtime/node/index.ts +0 -67
  259. package/src/plugins/runtime/node/plugin.ts +0 -122
  260. package/src/plugins/runtime/node/pluginApi.ts +0 -27
  261. package/src/plugins/runtime/node/proxy/cameraDevice.ts +0 -299
  262. package/src/plugins/runtime/node/proxy/coreManager.ts +0 -128
  263. package/src/plugins/runtime/node/proxy/deviceManager.ts +0 -187
  264. package/src/plugins/runtime/node/storage.ts +0 -312
  265. package/src/plugins/runtime/node/storageController.ts +0 -91
  266. package/src/plugins/runtime/python/__init__.py +0 -0
  267. package/src/plugins/runtime/python/__pycache__/__init__.cpython-311.pyc +0 -0
  268. package/src/plugins/runtime/python/__pycache__/camera_storage.cpython-311.pyc +0 -0
  269. package/src/plugins/runtime/python/__pycache__/config_service.cpython-311.pyc +0 -0
  270. package/src/plugins/runtime/python/__pycache__/constants.cpython-311.pyc +0 -0
  271. package/src/plugins/runtime/python/__pycache__/ipc.cpython-311.pyc +0 -0
  272. package/src/plugins/runtime/python/__pycache__/logger.cpython-311.pyc +0 -0
  273. package/src/plugins/runtime/python/__pycache__/message_queue.cpython-311.pyc +0 -0
  274. package/src/plugins/runtime/python/__pycache__/namespaces.cpython-311.pyc +0 -0
  275. package/src/plugins/runtime/python/__pycache__/plugin.cpython-311.pyc +0 -0
  276. package/src/plugins/runtime/python/__pycache__/plugin_api.cpython-311.pyc +0 -0
  277. package/src/plugins/runtime/python/__pycache__/plugin_logger.cpython-311.pyc +0 -0
  278. package/src/plugins/runtime/python/__pycache__/proxy_utils.cpython-311.pyc +0 -0
  279. package/src/plugins/runtime/python/__pycache__/schema.cpython-311.pyc +0 -0
  280. package/src/plugins/runtime/python/__pycache__/storage.cpython-311.pyc +0 -0
  281. package/src/plugins/runtime/python/__pycache__/storage_controller.cpython-311.pyc +0 -0
  282. package/src/plugins/runtime/python/__pycache__/typings.cpython-311.pyc +0 -0
  283. package/src/plugins/runtime/python/child.py +0 -248
  284. package/src/plugins/runtime/python/index.ts +0 -73
  285. package/src/plugins/runtime/python/namespaces.py +0 -101
  286. package/src/plugins/runtime/python/plugin.py +0 -155
  287. package/src/plugins/runtime/python/plugin_api.py +0 -29
  288. package/src/plugins/runtime/python/proxy/__pycache__/camera_device.cpython-310.pyc +0 -0
  289. package/src/plugins/runtime/python/proxy/__pycache__/camera_device.cpython-311.pyc +0 -0
  290. package/src/plugins/runtime/python/proxy/__pycache__/camera_device.cpython-38.pyc +0 -0
  291. package/src/plugins/runtime/python/proxy/__pycache__/camera_device.cpython-39.pyc +0 -0
  292. package/src/plugins/runtime/python/proxy/__pycache__/constants.cpython-311.pyc +0 -0
  293. package/src/plugins/runtime/python/proxy/__pycache__/constants.cpython-39.pyc +0 -0
  294. package/src/plugins/runtime/python/proxy/__pycache__/core_manager.cpython-311.pyc +0 -0
  295. package/src/plugins/runtime/python/proxy/__pycache__/device_manager.cpython-310.pyc +0 -0
  296. package/src/plugins/runtime/python/proxy/__pycache__/device_manager.cpython-311.pyc +0 -0
  297. package/src/plugins/runtime/python/proxy/__pycache__/device_manager.cpython-38.pyc +0 -0
  298. package/src/plugins/runtime/python/proxy/__pycache__/device_manager.cpython-39.pyc +0 -0
  299. package/src/plugins/runtime/python/proxy/__pycache__/generate_keys.cpython-310.pyc +0 -0
  300. package/src/plugins/runtime/python/proxy/__pycache__/generate_keys.cpython-311.pyc +0 -0
  301. package/src/plugins/runtime/python/proxy/__pycache__/generate_keys.cpython-38.pyc +0 -0
  302. package/src/plugins/runtime/python/proxy/__pycache__/generate_keys.cpython-39.pyc +0 -0
  303. package/src/plugins/runtime/python/proxy/__pycache__/message_queue.cpython-310.pyc +0 -0
  304. package/src/plugins/runtime/python/proxy/__pycache__/message_queue.cpython-311.pyc +0 -0
  305. package/src/plugins/runtime/python/proxy/__pycache__/message_queue.cpython-38.pyc +0 -0
  306. package/src/plugins/runtime/python/proxy/__pycache__/message_queue.cpython-39.pyc +0 -0
  307. package/src/plugins/runtime/python/proxy/__pycache__/plugins_manager.cpython-310.pyc +0 -0
  308. package/src/plugins/runtime/python/proxy/__pycache__/plugins_manager.cpython-311.pyc +0 -0
  309. package/src/plugins/runtime/python/proxy/__pycache__/plugins_manager.cpython-38.pyc +0 -0
  310. package/src/plugins/runtime/python/proxy/__pycache__/plugins_manager.cpython-39.pyc +0 -0
  311. package/src/plugins/runtime/python/proxy/__pycache__/system_manager.cpython-310.pyc +0 -0
  312. package/src/plugins/runtime/python/proxy/__pycache__/system_manager.cpython-311.pyc +0 -0
  313. package/src/plugins/runtime/python/proxy/__pycache__/system_manager.cpython-38.pyc +0 -0
  314. package/src/plugins/runtime/python/proxy/__pycache__/system_manager.cpython-39.pyc +0 -0
  315. package/src/plugins/runtime/python/proxy/camera_device.py +0 -1732
  316. package/src/plugins/runtime/python/proxy/core_manager.py +0 -126
  317. package/src/plugins/runtime/python/proxy/device_manager.py +0 -197
  318. package/src/plugins/runtime/python/schema.py +0 -99
  319. package/src/plugins/runtime/python/storage.py +0 -353
  320. package/src/plugins/runtime/python/storage_controller.py +0 -102
  321. package/src/plugins/runtime/python/typings.py +0 -195
  322. package/src/plugins/schema.ts +0 -472
  323. package/src/plugins/types.ts +0 -60
  324. package/src/plugins/worker.ts +0 -250
  325. package/src/rpc/index.ts +0 -149
  326. package/src/rpc/namespaces.ts +0 -79
  327. package/src/rpc/server.ts +0 -422
  328. package/src/rpc/types.ts +0 -119
  329. package/src/rpc/utils.ts +0 -16
  330. package/src/services/config/constants.ts +0 -47
  331. package/src/services/config/defaults.ts +0 -57
  332. package/src/services/config/index.ts +0 -744
  333. package/src/services/config/types.ts +0 -211
  334. package/src/services/logger/index.ts +0 -96
  335. package/src/types.ts +0 -47
  336. package/src/utils/path.ts +0 -16
  337. package/src/utils/pythonInstaller.ts +0 -597
  338. package/tsconfig.json +0 -37
  339. package/types/fastify.d.ts +0 -14
  340. package/updates.config.js +0 -3
  341. /package/dist/interface/assets/{@xterm.DYP7pi_n.0.0.50-internal.0.css → @xterm.DYP7pi_n.0.0.50-internal.2.css} +0 -0
  342. /package/dist/interface/assets/{Adminpanel.BKek2EMH.0.0.50-internal.0.css → Adminpanel.BKek2EMH.0.0.50-internal.2.css} +0 -0
  343. /package/dist/interface/assets/{Cameras.BDWZJqPN.0.0.50-internal.0.css → Cameras.BDWZJqPN.0.0.50-internal.2.css} +0 -0
  344. /package/dist/interface/assets/{Camview.BFUFMoNX.0.0.50-internal.0.css → Camview.BFUFMoNX.0.0.50-internal.2.css} +0 -0
  345. /package/dist/interface/assets/{CuiConsole.DCYyxdVg.0.0.50-internal.0.css → CuiConsole.DCYyxdVg.0.0.50-internal.2.css} +0 -0
  346. /package/dist/interface/assets/{CuiPluginCard.yF8V0SZY.0.0.50-internal.0.css → CuiPluginCard.yF8V0SZY.0.0.50-internal.2.css} +0 -0
  347. /package/dist/interface/assets/{CuiTimeline.BkIwlYtw.0.0.50-internal.0.css → CuiTimeline.BkIwlYtw.0.0.50-internal.2.css} +0 -0
  348. /package/dist/interface/assets/{Plugin.DJElsAn5.0.0.50-internal.0.css → Plugin.DJElsAn5.0.0.50-internal.2.css} +0 -0
  349. /package/dist/interface/assets/{Plugins.0h77qnmN.0.0.50-internal.0.css → Plugins.0h77qnmN.0.0.50-internal.2.css} +0 -0
  350. /package/dist/interface/assets/{Settings.CkgfRkQr.0.0.50-internal.0.css → Settings.CkgfRkQr.0.0.50-internal.2.css} +0 -0
  351. /package/dist/interface/assets/{SettingsAccount.DeFul3eQ.0.0.50-internal.0.css → SettingsAccount.DeFul3eQ.0.0.50-internal.2.css} +0 -0
  352. /package/dist/interface/assets/{SettingsBackup.CX0rT0QJ.0.0.50-internal.0.css → SettingsBackup.CX0rT0QJ.0.0.50-internal.2.css} +0 -0
  353. /package/dist/interface/assets/{highlight.Ch2EwETz.0.0.50-internal.0.css → highlight.Ch2EwETz.0.0.50-internal.2.css} +0 -0
  354. /package/dist/interface/assets/{logo-256.BCQk9H1-.0.0.50-internal.0.png → logo-256.BCQk9H1-.0.0.50-internal.2.png} +0 -0
  355. /package/dist/interface/assets/{logo-512.DLKVOU2S.0.0.50-internal.0.png → logo-512.DLKVOU2S.0.0.50-internal.2.png} +0 -0
  356. /package/dist/interface/assets/{logo.DmEiRk0z.0.0.50-internal.0.png → logo.DmEiRk0z.0.0.50-internal.2.png} +0 -0
  357. /package/dist/interface/assets/{main.Cip9LkS3.0.0.50-internal.0.css → main.Cip9LkS3.0.0.50-internal.2.css} +0 -0
  358. /package/dist/interface/assets/{mode-json.Br7xisR1.0.0.50-internal.0.js → mode-json.Br7xisR1.0.0.50-internal.2.js} +0 -0
  359. /package/dist/interface/assets/{mode-yaml.CIYL8U3d.0.0.50-internal.0.js → mode-yaml.CIYL8U3d.0.0.50-internal.2.js} +0 -0
  360. /package/dist/interface/assets/{worker-base.jEXLGV2h.0.0.50-internal.0.js → worker-base.jEXLGV2h.0.0.50-internal.2.js} +0 -0
  361. /package/dist/interface/assets/{worker-json.DgwNIOck.0.0.50-internal.0.js → worker-json.DgwNIOck.0.0.50-internal.2.js} +0 -0
  362. /package/dist/interface/assets/{worker-yaml.B3uUYINB.0.0.50-internal.0.js → worker-yaml.B3uUYINB.0.0.50-internal.2.js} +0 -0
  363. /package/dist/interface/js/{@babel.l0sNRNKZ.0.0.50-internal.0.js → @babel.l0sNRNKZ.0.0.50-internal.2.js} +0 -0
  364. /package/dist/interface/js/{@intlify.BkGPX90O.0.0.50-internal.0.js → @intlify.BkGPX90O.0.0.50-internal.2.js} +0 -0
  365. /package/dist/interface/js/{@kurkle.D8fDXNIl.0.0.50-internal.0.js → @kurkle.D8fDXNIl.0.0.50-internal.2.js} +0 -0
  366. /package/dist/interface/js/{@primeuix.BFAY2Bk9.0.0.50-internal.0.js → @primeuix.BFAY2Bk9.0.0.50-internal.2.js} +0 -0
  367. /package/dist/interface/js/{@react-dnd.CcwRs9xb.0.0.50-internal.0.js → @react-dnd.CcwRs9xb.0.0.50-internal.2.js} +0 -0
  368. /package/dist/interface/js/{@socket.io.Dkula2eQ.0.0.50-internal.0.js → @socket.io.Dkula2eQ.0.0.50-internal.2.js} +0 -0
  369. /package/dist/interface/js/{@vue.B5vqhCp2.0.0.50-internal.0.js → @vue.B5vqhCp2.0.0.50-internal.2.js} +0 -0
  370. /package/dist/interface/js/{@xterm.CAa7rpjv.0.0.50-internal.0.js → @xterm.C-5Lxnx_.0.0.50-internal.2.js} +0 -0
  371. /package/dist/interface/js/{axios.DHr9lByg.0.0.50-internal.0.js → axios.DHr9lByg.0.0.50-internal.2.js} +0 -0
  372. /package/dist/interface/js/{birpc.l0sNRNKZ.0.0.50-internal.0.js → birpc.l0sNRNKZ.0.0.50-internal.2.js} +0 -0
  373. /package/dist/interface/js/{compare-versions.DqEOhma6.0.0.50-internal.0.js → compare-versions.DqEOhma6.0.0.50-internal.2.js} +0 -0
  374. /package/dist/interface/js/{dijkstrajs.C00ieaqj.0.0.50-internal.0.js → dijkstrajs.C00ieaqj.0.0.50-internal.2.js} +0 -0
  375. /package/dist/interface/js/{engine.io-parser.BiEtp6m2.0.0.50-internal.0.js → engine.io-parser.BiEtp6m2.0.0.50-internal.2.js} +0 -0
  376. /package/dist/interface/js/{entities.C20TfXL6.0.0.50-internal.0.js → entities.C20TfXL6.0.0.50-internal.2.js} +0 -0
  377. /package/dist/interface/js/{ev-emitter.X5f1qa-c.0.0.50-internal.0.js → ev-emitter.X5f1qa-c.0.0.50-internal.2.js} +0 -0
  378. /package/dist/interface/js/{get-size.D1dS-IaP.0.0.50-internal.0.js → get-size.D1dS-IaP.0.0.50-internal.2.js} +0 -0
  379. /package/dist/interface/js/{hookable.l0sNRNKZ.0.0.50-internal.0.js → hookable.l0sNRNKZ.0.0.50-internal.2.js} +0 -0
  380. /package/dist/interface/js/{mdurl.k9Sl0PQj.0.0.50-internal.0.js → mdurl.k9Sl0PQj.0.0.50-internal.2.js} +0 -0
  381. /package/dist/interface/js/{perfect-debounce.l0sNRNKZ.0.0.50-internal.0.js → perfect-debounce.l0sNRNKZ.0.0.50-internal.2.js} +0 -0
  382. /package/dist/interface/js/{primelocale.Bga3dOQu.0.0.50-internal.0.js → primelocale.Bga3dOQu.0.0.50-internal.2.js} +0 -0
  383. /package/dist/interface/js/{punycode.js.Dj65hjkv.0.0.50-internal.0.js → punycode.js.Dj65hjkv.0.0.50-internal.2.js} +0 -0
  384. /package/dist/interface/js/{react-dnd-html5-backend.1HQjlkwI.0.0.50-internal.0.js → react-dnd-html5-backend.1HQjlkwI.0.0.50-internal.2.js} +0 -0
  385. /package/dist/interface/js/{redux.BFxtlG_c.0.0.50-internal.0.js → redux.BFxtlG_c.0.0.50-internal.2.js} +0 -0
  386. /package/dist/interface/js/{tslib.9k7AwCpt.0.0.50-internal.0.js → tslib.9k7AwCpt.0.0.50-internal.2.js} +0 -0
  387. /package/dist/interface/js/{uc.micro.kMc2yuuw.0.0.50-internal.0.js → uc.micro.kMc2yuuw.0.0.50-internal.2.js} +0 -0
  388. /package/dist/interface/js/{uuid.C6aID195.0.0.50-internal.0.js → uuid.C6aID195.0.0.50-internal.2.js} +0 -0
  389. /package/dist/interface/js/{vue.l0sNRNKZ.0.0.50-internal.0.js → vue.l0sNRNKZ.0.0.50-internal.2.js} +0 -0
  390. /package/dist/interface/js/{zod.SKKegNRO.0.0.50-internal.0.js → zod.SKKegNRO.0.0.50-internal.2.js} +0 -0
@@ -1,43 +0,0 @@
1
- declare namespace __AdaptedExports {
2
- /** Exported memory */
3
- export const memory: WebAssembly.Memory;
4
- // Exported runtime interface
5
- export function __new(size: number, id: number): number;
6
- export function __pin(ptr: number): number;
7
- export function __unpin(ptr: number): void;
8
- export function __collect(): void;
9
- export const __rtti_base: number;
10
- /**
11
- * assembly/index/processImage
12
- * @param inputFrame `~lib/typedarray/Uint8Array`
13
- * @param inputWidth `i32`
14
- * @param inputHeight `i32`
15
- * @param format `i32`
16
- * @param cropTop `i32`
17
- * @param cropLeft `i32`
18
- * @param cropWidth `i32`
19
- * @param cropHeight `i32`
20
- * @param resizeWidth `i32`
21
- * @param resizeHeight `i32`
22
- * @param blurRadius `i32`
23
- * @param inputFormat `i32`
24
- * @param reconvertYUV `i32`
25
- * @returns `~lib/typedarray/Uint8Array`
26
- */
27
- export function processImage(inputFrame: Uint8Array, inputWidth: number, inputHeight: number, format: number, cropTop: number, cropLeft: number, cropWidth: number, cropHeight: number, resizeWidth: number, resizeHeight: number, blurRadius: number, inputFormat: number, reconvertYUV: number): Uint8Array;
28
- /** assembly/index/Uint8Array_ID */
29
- export const Uint8Array_ID: {
30
- /** @type `u32` */
31
- get value(): number
32
- };
33
- /**
34
- * assembly/console/log
35
- * @param s `~lib/string/String`
36
- */
37
- export function log(s: string): void;
38
- }
39
- /** Instantiates the compiled WebAssembly module with the given imports. */
40
- export declare function instantiate(module: WebAssembly.Module, imports: {
41
- env: unknown,
42
- console: unknown,
43
- }): Promise<typeof __AdaptedExports>;
@@ -1,108 +0,0 @@
1
- export async function instantiate(module, imports = {}) {
2
- const __module0 = imports.console;
3
- const adaptedImports = {
4
- env: Object.assign(Object.create(globalThis), imports.env || {}, {
5
- abort(message, fileName, lineNumber, columnNumber) {
6
- // ~lib/builtins/abort(~lib/string/String | null?, ~lib/string/String | null?, u32?, u32?) => void
7
- message = __liftString(message >>> 0);
8
- fileName = __liftString(fileName >>> 0);
9
- lineNumber = lineNumber >>> 0;
10
- columnNumber = columnNumber >>> 0;
11
- (() => {
12
- // @external.js
13
- throw Error(`${message} in ${fileName}:${lineNumber}:${columnNumber}`);
14
- })();
15
- },
16
- }),
17
- console: Object.assign(Object.create(__module0), {
18
- log(s) {
19
- // assembly/console/log(~lib/string/String) => void
20
- s = __liftString(s >>> 0);
21
- __module0.log(s);
22
- },
23
- }),
24
- };
25
- const { exports } = await WebAssembly.instantiate(module, adaptedImports);
26
- const memory = exports.memory || imports.env.memory;
27
- const adaptedExports = Object.setPrototypeOf({
28
- processImage(inputFrame, inputWidth, inputHeight, format, cropTop, cropLeft, cropWidth, cropHeight, resizeWidth, resizeHeight, blurRadius, inputFormat, reconvertYUV) {
29
- // assembly/index/processImage(~lib/typedarray/Uint8Array, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i32) => ~lib/typedarray/Uint8Array
30
- inputFrame = __lowerTypedArray(Uint8Array, 7, 0, inputFrame) || __notnull();
31
- return __liftTypedArray(Uint8Array, exports.processImage(inputFrame, inputWidth, inputHeight, format, cropTop, cropLeft, cropWidth, cropHeight, resizeWidth, resizeHeight, blurRadius, inputFormat, reconvertYUV) >>> 0);
32
- },
33
- Uint8Array_ID: {
34
- // assembly/index/Uint8Array_ID: u32
35
- valueOf() { return this.value; },
36
- get value() {
37
- return exports.Uint8Array_ID.value >>> 0;
38
- }
39
- },
40
- log(s) {
41
- // assembly/console/log(~lib/string/String) => void
42
- s = __lowerString(s) || __notnull();
43
- exports.log(s);
44
- },
45
- }, exports);
46
- function __liftString(pointer) {
47
- if (!pointer) return null;
48
- const
49
- end = pointer + new Uint32Array(memory.buffer)[pointer - 4 >>> 2] >>> 1,
50
- memoryU16 = new Uint16Array(memory.buffer);
51
- let
52
- start = pointer >>> 1,
53
- string = "";
54
- while (end - start > 1024) string += String.fromCharCode(...memoryU16.subarray(start, start += 1024));
55
- return string + String.fromCharCode(...memoryU16.subarray(start, end));
56
- }
57
- function __lowerString(value) {
58
- if (value == null) return 0;
59
- const
60
- length = value.length,
61
- pointer = exports.__new(length << 1, 2) >>> 0,
62
- memoryU16 = new Uint16Array(memory.buffer);
63
- for (let i = 0; i < length; ++i) memoryU16[(pointer >>> 1) + i] = value.charCodeAt(i);
64
- return pointer;
65
- }
66
- function __liftTypedArray(constructor, pointer) {
67
- if (!pointer) return null;
68
- return new constructor(
69
- memory.buffer,
70
- __getU32(pointer + 4),
71
- __dataview.getUint32(pointer + 8, true) / constructor.BYTES_PER_ELEMENT
72
- ).slice();
73
- }
74
- function __lowerTypedArray(constructor, id, align, values) {
75
- if (values == null) return 0;
76
- const
77
- length = values.length,
78
- buffer = exports.__pin(exports.__new(length << align, 1)) >>> 0,
79
- header = exports.__new(12, id) >>> 0;
80
- __setU32(header + 0, buffer);
81
- __dataview.setUint32(header + 4, buffer, true);
82
- __dataview.setUint32(header + 8, length << align, true);
83
- new constructor(memory.buffer, buffer, length).set(values);
84
- exports.__unpin(buffer);
85
- return header;
86
- }
87
- function __notnull() {
88
- throw TypeError("value must not be null");
89
- }
90
- let __dataview = new DataView(memory.buffer);
91
- function __setU32(pointer, value) {
92
- try {
93
- __dataview.setUint32(pointer, value, true);
94
- } catch {
95
- __dataview = new DataView(memory.buffer);
96
- __dataview.setUint32(pointer, value, true);
97
- }
98
- }
99
- function __getU32(pointer) {
100
- try {
101
- return __dataview.getUint32(pointer, true);
102
- } catch {
103
- __dataview = new DataView(memory.buffer);
104
- return __dataview.getUint32(pointer, true);
105
- }
106
- }
107
- return adaptedExports;
108
- }
Binary file
@@ -1,5 +0,0 @@
1
- {
2
- "extends": "../../../node_modules/assemblyscript/std/assembly.json",
3
- "include": ["assembly"],
4
- "exclude": ["test", "build"]
5
- }
@@ -1,113 +0,0 @@
1
- import { parentPort, workerData } from 'worker_threads';
2
-
3
- import { ImageUtils } from './imageUtils.js';
4
-
5
- import type { Logger } from '@camera.ui/common';
6
- import type { CameraFrameWorkerDecoder, DecoderFormat, ImageOptions } from '@camera.ui/types';
7
-
8
- interface InitMessage {
9
- type: 'init';
10
- decoder: CameraFrameWorkerDecoder;
11
- }
12
-
13
- interface ProcessMessage {
14
- type: 'process';
15
- id: number;
16
- imageData: Uint8Array;
17
- inputWidth: number;
18
- inputHeight: number;
19
- inputFormat: DecoderFormat | 'rgba' | 'gray';
20
- options: ImageOptions;
21
- }
22
-
23
- // Mock logger für Worker Thread
24
- const logger = {
25
- log: (...args: any[]) => parentPort?.postMessage({ type: 'log', level: 'info', message: args.join(' ') }),
26
- debug: (...args: any[]) => parentPort?.postMessage({ type: 'log', level: 'debug', message: args.join(' ') }),
27
- error: (...args: any[]) => parentPort?.postMessage({ type: 'log', level: 'error', message: args.join(' ') }),
28
- warn: (...args: any[]) => parentPort?.postMessage({ type: 'log', level: 'warn', message: args.join(' ') }),
29
- trace: (...args: any[]) => parentPort?.postMessage({ type: 'log', level: 'trace', message: args.join(' ') }),
30
- };
31
-
32
- let imageUtils: ImageUtils | null = null;
33
-
34
- // Initialisierung des Workers
35
- async function initialize(decoderType: CameraFrameWorkerDecoder) {
36
- try {
37
- imageUtils = new ImageUtils(decoderType, logger as Logger);
38
- await imageUtils.initiate();
39
-
40
- parentPort?.postMessage({ type: 'initialized' });
41
- } catch (error) {
42
- parentPort?.postMessage({
43
- type: 'error',
44
- error: error instanceof Error ? error.message : String(error),
45
- });
46
- }
47
- }
48
-
49
- // Verarbeitung eines Bildes
50
- async function processImage(
51
- id: number,
52
- imageData: Uint8Array,
53
- inputWidth: number,
54
- inputHeight: number,
55
- inputFormat: DecoderFormat | 'rgba' | 'gray',
56
- options: ImageOptions,
57
- ) {
58
- if (!imageUtils) {
59
- parentPort?.postMessage({
60
- type: 'error',
61
- id,
62
- error: 'ImageUtils not initialized',
63
- });
64
- return;
65
- }
66
-
67
- try {
68
- const result = await imageUtils.processImage(imageData, inputWidth, inputHeight, inputFormat, options);
69
-
70
- parentPort?.postMessage({
71
- type: 'result',
72
- id,
73
- data: result,
74
- });
75
- } catch (error) {
76
- parentPort?.postMessage({
77
- type: 'error',
78
- id,
79
- error: error instanceof Error ? error.message : String(error),
80
- });
81
- }
82
- }
83
-
84
- // Message-Handler für Kommunikation mit dem Hauptthread
85
- parentPort?.on('message', async (message) => {
86
- switch (message.type) {
87
- case 'init':
88
- const initMsg = message as InitMessage;
89
- await initialize(initMsg.decoder);
90
- break;
91
-
92
- case 'process':
93
- const processMsg = message as ProcessMessage;
94
- await processImage(processMsg.id, processMsg.imageData, processMsg.inputWidth, processMsg.inputHeight, processMsg.inputFormat, processMsg.options);
95
- break;
96
-
97
- default:
98
- parentPort?.postMessage({
99
- type: 'error',
100
- error: `Unknown message type: ${message.type}`,
101
- });
102
- }
103
- });
104
-
105
- // Wenn wir Daten beim Start übergeben haben
106
- if (workerData?.decoder) {
107
- initialize(workerData.decoder).catch((error) => {
108
- parentPort?.postMessage({
109
- type: 'error',
110
- error: error instanceof Error ? error.message : String(error),
111
- });
112
- });
113
- }
@@ -1,324 +0,0 @@
1
- import { Logger, sleep } from '@camera.ui/common';
2
- import { strip } from 'ansicolor';
3
- import { spawn } from 'node:child_process';
4
- import { createInterface } from 'node:readline';
5
- import { container } from 'tsyringe';
6
-
7
- import { API_EVENT } from '../api.js';
8
- import { RUNTIME_STATUS } from '../services/config/types.js';
9
-
10
- import type { ChildProcess } from 'node:child_process';
11
- import type { CameraUiAPI } from '../api.js';
12
- import type { SocketService } from '../api/websocket/index.js';
13
- import type { ServerRuntime } from '../api/websocket/types.js';
14
- import type { ConfigService } from '../services/config/index.js';
15
-
16
- export class Go2Rtc {
17
- private go2rtcProcess?: ChildProcess;
18
-
19
- private api: CameraUiAPI;
20
- private logger: Logger;
21
- private configService: ConfigService;
22
-
23
- public version = 'unknown';
24
- public os = 'unknown';
25
-
26
- private started = false;
27
- private restarting = false;
28
- private manuallyKilled = false;
29
- private shuttingDown = false;
30
-
31
- private _status: RUNTIME_STATUS = RUNTIME_STATUS.UNKNOWN;
32
-
33
- public get status(): RUNTIME_STATUS {
34
- return this._status;
35
- }
36
-
37
- constructor() {
38
- container.registerInstance('go2rtc', this);
39
-
40
- this.api = container.resolve<CameraUiAPI>('api');
41
- this.configService = container.resolve<ConfigService>('configService');
42
-
43
- this.logger = new Logger({ ...this.configService.go2rtcLoggerOptions, prefix: 'Go2RTC', suffix: undefined });
44
-
45
- this.api.setMaxListeners(this.api.getMaxListeners() + 1);
46
- this.api.once(API_EVENT.SHUTDOWN, () => {
47
- this.shuttingDown = true;
48
- this.stop();
49
- });
50
- }
51
-
52
- public async start(): Promise<void> {
53
- if (this.started) {
54
- this.logger.warn('Go2RTC already running!');
55
- return;
56
- }
57
-
58
- const command = this.configService.GO2RTC_BINARY;
59
- const args = ['-config', this.configService.GO2RTC_CONFIG_FILE];
60
- // const options = ['-config', JSON.stringify(this.configService.config.go2rtc)];
61
-
62
- this.logger.debug(`Starting go2rtc with following command: ${command} ${args.join(' ')}`);
63
-
64
- this.started = true;
65
- this.manuallyKilled = false;
66
- this.setStatus(RUNTIME_STATUS.STARTING);
67
-
68
- return new Promise((resolve, reject) => {
69
- this.go2rtcProcess = spawn(command, args, {
70
- env: Object.assign({}, process.env),
71
- cwd: '.',
72
- stdio: 'pipe',
73
- });
74
-
75
- let go2rtcPID: number | undefined = undefined;
76
-
77
- this.go2rtcProcess.on('spawn', async () => {
78
- this.logger.log(`Initializing process with PID: ${this.go2rtcProcess?.pid}`);
79
-
80
- go2rtcPID = this.go2rtcProcess?.pid;
81
-
82
- if (go2rtcPID) {
83
- this.configService.addProcess({
84
- pid: go2rtcPID,
85
- startTime: Date.now(),
86
- command,
87
- args,
88
- });
89
- }
90
-
91
- await sleep(1000);
92
-
93
- this.setStatus(RUNTIME_STATUS.STARTED);
94
-
95
- resolve();
96
- });
97
-
98
- this.go2rtcProcess.on('error', (error: Error) => {
99
- this.started = false;
100
-
101
- this.logger.error('The go2rtc process failed to start/stop!', error);
102
-
103
- this.setStatus(RUNTIME_STATUS.ERROR);
104
-
105
- reject(error);
106
- });
107
-
108
- this.go2rtcProcess.on('exit', async () => {
109
- this.configService.removeProcessByPID(go2rtcPID);
110
-
111
- setTimeout(() => {
112
- this.started = false;
113
-
114
- this.setStatus(RUNTIME_STATUS.STOPPED);
115
- this.handleClose();
116
-
117
- resolve();
118
- }, 100);
119
- });
120
-
121
- const stdoutLine = createInterface({
122
- input: this.go2rtcProcess.stdout!,
123
- terminal: false,
124
- });
125
-
126
- const stderrLine = createInterface({
127
- input: this.go2rtcProcess.stderr!,
128
- terminal: false,
129
- });
130
-
131
- stdoutLine.on('line', this.processLogger.bind(this));
132
- stderrLine.on('line', this.processLogger.bind(this));
133
- });
134
- }
135
-
136
- public async stop(): Promise<void> {
137
- this.logger.log('Stopping go2rtc...');
138
- this.manuallyKilled = true;
139
- await this.kill();
140
- }
141
-
142
- public async restart(): Promise<void> {
143
- this.restarting = true;
144
-
145
- await this.stop();
146
- await sleep(1000);
147
- await this.start();
148
-
149
- this.restarting = false;
150
- }
151
-
152
- public getPID(): number {
153
- return this.go2rtcProcess?.pid ?? 0;
154
- }
155
-
156
- private async kill(): Promise<void> {
157
- return new Promise((resolve) => {
158
- const res = (): void => {
159
- clearTimeout(killTimeout);
160
- resolve();
161
- };
162
-
163
- this.go2rtcProcess?.once('exit', () => {
164
- res();
165
- });
166
-
167
- this.go2rtcProcess?.kill('SIGKILL');
168
-
169
- const killTimeout = setTimeout(() => res(), 3000);
170
- });
171
- }
172
-
173
- private handleClose(): void {
174
- if (!this.shuttingDown && !this.manuallyKilled) {
175
- this.logger.log('Restarting go2rtc in 5s...');
176
-
177
- setTimeout(() => {
178
- if (this.shuttingDown || this.manuallyKilled) {
179
- this.logger.log('Cancelled restart!');
180
- return;
181
- }
182
-
183
- this.start();
184
- }, 5000);
185
- }
186
- }
187
-
188
- private setStatus(status: RUNTIME_STATUS): void {
189
- this._status = status;
190
-
191
- const socketService = container.resolve<SocketService>('socketService');
192
-
193
- const runtimeInfo: ServerRuntime = {
194
- go2rtc: { name: 'go2rtc', status: status },
195
- };
196
-
197
- socketService.io?.of('/status').emit('process-status', runtimeInfo);
198
- }
199
-
200
- private processLogger(line: string): void {
201
- const blankLine = strip(line.replace(/([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])(:|\.)\d{3} /, ''));
202
-
203
- if (this.isIgnorableString(blankLine)) {
204
- return;
205
- }
206
-
207
- if (this.isTraceableString(blankLine)) {
208
- this.logger.trace(blankLine);
209
- return;
210
- }
211
-
212
- if (blankLine.includes('WRN')) {
213
- this.logger.warn(blankLine);
214
- } else if (blankLine.includes('FTL') || blankLine.includes('ERR') || (!blankLine.includes('DBG') && blankLine.toLowerCase().includes('error'))) {
215
- this.logger.error(blankLine);
216
- } else if (!blankLine.includes('exit with signal')) {
217
- this.logger.trace(blankLine);
218
- }
219
-
220
- // go2rtc v1.9.4
221
- if (this.version === 'unknown') {
222
- const versionPattern = /version=([^\s]+)/;
223
- const revisionPattern = /revision=([^\s]+)/;
224
- const versionMatch = versionPattern.exec(blankLine);
225
- const revisionMatch = revisionPattern.exec(blankLine);
226
-
227
- if (versionMatch && revisionMatch) {
228
- this.version = `${versionMatch[1]} (${revisionMatch[1]})`;
229
- }
230
- }
231
-
232
- if (this.os === 'unknown') {
233
- const platformPattern = /platform=([^\s]+)/;
234
- const platformMatch = platformPattern.exec(blankLine);
235
-
236
- if (platformMatch) {
237
- this.os = platformMatch[1];
238
- }
239
- }
240
-
241
- // go2rtc v1.9.1
242
- // if (blankLine.includes('go2rtc version')) {
243
- // if (this.version === 'unknown') {
244
- // this.version = blankLine.split('version')[1]?.match(/\d+(\.\d+)+/)?.[0] || '0.0.0';
245
- // }
246
-
247
- // if (this.os === 'unknown') {
248
- // this.os = blankLine.split(this.version)[1]?.trim() || 'unknown';
249
- // }
250
- // }
251
-
252
- // go2rtc v1.9.4
253
- if (blankLine.includes('listen addr=')) {
254
- const go2rtcAdress = blankLine.split('listen addr=')[1];
255
- let go2rtcModule: string | undefined;
256
-
257
- if (blankLine.includes('[api]')) {
258
- if (!this.started) {
259
- this.started = true;
260
- } else if (!this.restarting) {
261
- this.configService.mergeGo2RtcConfig();
262
- }
263
-
264
- go2rtcModule = 'api';
265
- }
266
-
267
- if (blankLine.includes('[rtsp]')) {
268
- go2rtcModule = 'rtsp';
269
- }
270
-
271
- if (blankLine.includes('[webrtc]')) {
272
- go2rtcModule = 'webrtc';
273
- }
274
-
275
- if (blankLine.includes('[rtmp]')) {
276
- go2rtcModule = 'rtmp';
277
- }
278
-
279
- // not logged through gortc?
280
- if (blankLine.includes('[srtp]')) {
281
- go2rtcModule = 'srtp';
282
- }
283
-
284
- if (go2rtcAdress && go2rtcModule) {
285
- this.logger.log(`go2rtc v${this.version} (${this.os}) is listening on ${go2rtcAdress} (${go2rtcModule})`);
286
-
287
- if (go2rtcModule === 'api') {
288
- // srtp is not logged through go2rtc, log manually
289
- this.logger.log(`go2rtc v${this.version} (${this.os}) is listening on ${this.configService.go2rtcConfig.srtp.listen} (srtp)`);
290
- }
291
- }
292
- }
293
- }
294
-
295
- private isIgnorableString(line: string): boolean {
296
- switch (true) {
297
- case line.includes('decode_slice_header'):
298
- case line.includes('Last message repeated'):
299
- case line.includes('non-existing PPS 0 referenced'):
300
- case line.includes('no frame'):
301
- case line.includes('Error muxing a packet'):
302
- case line.includes('av_interleaved_write_frame'):
303
- case line.includes('Error writing trailer: Broken pipe'):
304
- case line.includes('TLS handshake error from'):
305
- case line.includes('streams: codecs not matched') && line.includes('=> audio:ANY'): // no audio
306
- return true;
307
- default:
308
- return false;
309
- }
310
- }
311
-
312
- private isTraceableString(line: string): boolean {
313
- switch (true) {
314
- case line.includes('Error opening input files: Server returned 404 Not Found'): // no audio (+h265?)
315
- case line.includes('Error opening input: Server returned 404 Not Found'): // no audio
316
- case line.includes('Error opening input file') && decodeURIComponent(line).includes('#cameraui'):
317
- case line.includes('can\'t add track error="webrtc: can\'t get track"'):
318
- case line.includes('/aac') && line.includes('Error submitting packet to decoder: Invalid data found when processing input'):
319
- return true;
320
- default:
321
- return false;
322
- }
323
- }
324
- }
@@ -1,88 +0,0 @@
1
- export const sourcePrefixes = [
2
- 'bubble://',
3
- 'doorbird://',
4
- 'dvrip://',
5
- 'echo:',
6
- 'eseecloud://',
7
- 'exec:',
8
- 'expr:',
9
- 'ffmpeg:',
10
- 'flussonic://',
11
- 'gopro://',
12
- 'hass:',
13
- 'homekit://',
14
- 'http://',
15
- 'https://',
16
- 'httpx://',
17
- 'isapi://',
18
- 'ivideon:',
19
- 'kasa://',
20
- 'nest:',
21
- 'onvif://',
22
- 'ring:',
23
- 'roborock://',
24
- 'rtmp://',
25
- 'rtsp://',
26
- 'rtspx://',
27
- 'tapo://',
28
- 'tcp://',
29
- 'webrtc:',
30
- 'webtorrent:',
31
- ] as const;
32
-
33
- export const rtspPresets = ['#backchannel=', '#header=', '#media=audio', '#media=video', '#timeout=10', '#timeout=20', '#timeout=30', '#transport='] as const;
34
-
35
- export const ffmpegPresets = [
36
- '#audio=aac',
37
- '#audio=aac/16000',
38
- '#audio=mp3',
39
- '#audio=opus',
40
- '#audio=pcm',
41
- '#audio=pcm/8000',
42
- '#audio=pcm/16000',
43
- '#audio=pcm/48000',
44
- '#audio=pcma',
45
- '#audio=pcma/8000',
46
- '#audio=pcma/16000',
47
- '#audio=pcma/48000',
48
- '#audio=pcml',
49
- '#audio=pcml/8000',
50
- '#audio=pcml/44100',
51
- '#audio=pcmu',
52
- '#audio=pcmu/8000',
53
- '#audio=pcmu/16000',
54
- '#audio=pcmu/48000',
55
- '#drawtext',
56
- '#hardware',
57
- '#hardware=cuda',
58
- '#hardware=dxva2',
59
- '#hardware=rkmpp',
60
- '#hardware=v4l2m2m',
61
- '#hardware=vaapi',
62
- '#hardware=videotoolbox',
63
- '#height=',
64
- '#raw=',
65
- '#rotate=-90',
66
- '#rotate=90',
67
- '#rotate=180',
68
- '#rotate=270',
69
- '#video=copy',
70
- '#video=h264',
71
- '#video=h265',
72
- '#video=mjpeg',
73
- '#width=',
74
- ] as const;
75
-
76
- export const homekitPresets = ['client_id=', 'client_private=', 'device_id=', 'device_public='] as const;
77
- export const httpPresets = ['#header='] as const;
78
- export const nestPresets = ['client_id=', 'client_secret=', 'refresh_token=', 'project_id=', 'device_id='] as const;
79
- export const ringPresets = ['device_id=', 'refresh_token='] as const;
80
- export const webrtcPresets = ['#client_id=', '#format=openipc', '#format=wyze', '#format=kinesis', '#ice_servers='] as const;
81
-
82
- export type SourcePrefixes = (typeof sourcePrefixes)[number];
83
- export type RtspPresets = (typeof rtspPresets)[number];
84
- export type FFmpegPresets = (typeof ffmpegPresets)[number];
85
- export type HomekitPresets = (typeof homekitPresets)[number];
86
- export type HttpPresets = (typeof httpPresets)[number];
87
- export type NestPresets = (typeof nestPresets)[number];
88
- export type WebrtcPresets = (typeof webrtcPresets)[number];