@camera.ui/server 0.0.50-internal.0 → 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 (387) hide show
  1. package/dist/interface/index.html +44 -44
  2. package/dist/interface/js/{@primevue.OhxoO3MD.0.0.50-internal.0.js → @primevue.CiB2EGly.0.0.50-internal.1.js} +1 -1
  3. package/dist/interface/js/{@tanstack.D1IL6eOv.0.0.50-internal.0.js → @tanstack.DxMw_rJn.0.0.50-internal.1.js} +1 -1
  4. package/dist/interface/js/{@vee-validate.BGPyWWTh.0.0.50-internal.0.js → @vee-validate.RxZ3hn6V.0.0.50-internal.1.js} +1 -1
  5. package/dist/interface/js/{@vueuse.BsKtqdiG.0.0.50-internal.0.js → @vueuse.C-k73ACm.0.0.50-internal.1.js} +1 -1
  6. package/dist/interface/js/{Adminpanel.D93Kvbwp.0.0.50-internal.0.js → Adminpanel.DumNu6GD.0.0.50-internal.1.js} +1 -1
  7. package/dist/interface/js/{Camera.DF2l3OMA.0.0.50-internal.0.js → Camera.BuosoqFl.0.0.50-internal.1.js} +1 -1
  8. package/dist/interface/js/{Cameras.YzvZccdv.0.0.50-internal.0.js → Cameras.A7NJflGG.0.0.50-internal.1.js} +2 -2
  9. package/dist/interface/js/Cammesh.Dv3C0UiR.0.0.50-internal.1.js +1 -0
  10. package/dist/interface/js/{Camview.CB7_HnoQ.0.0.50-internal.0.js → Camview.GgjJp7JR.0.0.50-internal.1.js} +1 -1
  11. package/dist/interface/js/{Config.BwflsWTm.0.0.50-internal.0.js → Config.BL3L-BFE.0.0.50-internal.1.js} +2 -2
  12. package/dist/interface/js/{Console.DZM8pN8Q.0.0.50-internal.0.js → Console.CxwRmUVF.0.0.50-internal.1.js} +1 -1
  13. package/dist/interface/js/{CuiConsole.BXXU7Gth.0.0.50-internal.0.js → CuiConsole.D16kkT6R.0.0.50-internal.1.js} +1 -1
  14. package/dist/interface/js/{CuiPluginCard.YFOrpbVD.0.0.50-internal.0.js → CuiPluginCard.Bkp__d8n.0.0.50-internal.1.js} +1 -1
  15. package/dist/interface/js/{CuiTimeline.VV5KSJd5.0.0.50-internal.0.js → CuiTimeline.C9HKvo0G.0.0.50-internal.1.js} +1 -1
  16. package/dist/interface/js/{FirstSteps.b-nvymgb.0.0.50-internal.0.js → FirstSteps.QuJjtAtF.0.0.50-internal.1.js} +1 -1
  17. package/dist/interface/js/{Plugin.BOMpVEwM.0.0.50-internal.0.js → Plugin.BLUUbEej.0.0.50-internal.1.js} +1 -1
  18. package/dist/interface/js/{Plugins.DdPwaUDA.0.0.50-internal.0.js → Plugins.DviCIk7w.0.0.50-internal.1.js} +1 -1
  19. package/dist/interface/js/Recordings.Dsp07cHs.0.0.50-internal.1.js +1 -0
  20. package/dist/interface/js/{Settings.D24ttaPu.0.0.50-internal.0.js → Settings.Clx4y9gP.0.0.50-internal.1.js} +1 -1
  21. package/dist/interface/js/{SettingsAccount.ms3aqz4E.0.0.50-internal.0.js → SettingsAccount.cfY4-PYd.0.0.50-internal.1.js} +1 -1
  22. package/dist/interface/js/SettingsAppearance.CBGZAazb.0.0.50-internal.1.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.kxAPXcBy.0.0.50-internal.1.js} +1 -1
  24. package/dist/interface/js/{SettingsBackup.BPEc4Rjg.0.0.50-internal.0.js → SettingsBackup.DOaJA4pp.0.0.50-internal.1.js} +1 -1
  25. package/dist/interface/js/SettingsRecordings.BGcwL6tk.0.0.50-internal.1.js +1 -0
  26. package/dist/interface/js/{SettingsRemote.BL5nXbUT.0.0.50-internal.0.js → SettingsRemote.BVU_w1Jm.0.0.50-internal.1.js} +1 -1
  27. package/dist/interface/js/{SettingsSystem.D7T0AIpm.0.0.50-internal.0.js → SettingsSystem.P0vy90vA.0.0.50-internal.1.js} +1 -1
  28. package/dist/interface/js/{SettingsUsers.1u0vCOVG.0.0.50-internal.0.js → SettingsUsers.DaP5m7eo.0.0.50-internal.1.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.MmrWYW3K.0.0.50-internal.1.js} +1 -1
  30. package/dist/interface/js/{ace-builds.D1nmvCwb.0.0.50-internal.0.js → ace-builds.C0aqA_3x.0.0.50-internal.1.js} +2 -2
  31. package/dist/interface/js/{ace.config.G96T2z54.0.0.50-internal.0.js → ace.config.C9wgzklI.0.0.50-internal.1.js} +1 -1
  32. package/dist/interface/js/{backup.B_Gzxtp_.0.0.50-internal.0.js → backup.BeH6lJ5t.0.0.50-internal.1.js} +1 -1
  33. package/dist/interface/js/{chart.js.CP_nMnnf.0.0.50-internal.0.js → chart.js.BQHSWV_g.0.0.50-internal.1.js} +1 -1
  34. package/dist/interface/js/{close-circle.DYLuVIOg.0.0.50-internal.0.js → close-circle.DDKMxauw.0.0.50-internal.1.js} +1 -1
  35. package/dist/interface/js/{dnd-core.T9OeW7mu.0.0.50-internal.0.js → dnd-core.dWz9rJqH.0.0.50-internal.1.js} +1 -1
  36. package/dist/interface/js/{draggabilly.D3zGcBb3.0.0.50-internal.0.js → draggabilly.D-iZIS1n.0.0.50-internal.1.js} +1 -1
  37. package/dist/interface/js/{engine.io-client.kITRnq-g.0.0.50-internal.0.js → engine.io-client.BwxOddB_.0.0.50-internal.1.js} +1 -1
  38. package/dist/interface/js/{fast-deep-equal.Bpc9mIsj.0.0.50-internal.0.js → fast-deep-equal.Dz96RC_N.0.0.50-internal.1.js} +1 -1
  39. package/dist/interface/js/{highlight.js.BlSXU-Wb.0.0.50-internal.0.js → highlight.js.CmcM8OM6.0.0.50-internal.1.js} +1 -1
  40. package/dist/interface/js/{linkify-it.C3N1lWsJ.0.0.50-internal.0.js → linkify-it.BgLcBzlw.0.0.50-internal.1.js} +1 -1
  41. package/dist/interface/js/{main.D0YR3Jat.0.0.50-internal.0.js → main.6bOgRV7D.0.0.50-internal.1.js} +3 -3
  42. package/dist/interface/js/{markdown-it.Dj0dt5s2.0.0.50-internal.0.js → markdown-it.CTgfs-3p.0.0.50-internal.1.js} +1 -1
  43. package/dist/interface/js/{nprogress.BwQWDcGj.0.0.50-internal.0.js → nprogress.CMhnq8jS.0.0.50-internal.1.js} +1 -1
  44. package/dist/interface/js/{pinia.DRh7plEC.0.0.50-internal.0.js → pinia.CuC5ZfNs.0.0.50-internal.1.js} +1 -1
  45. package/dist/interface/js/{primevue.Cl58krXf.0.0.50-internal.0.js → primevue.DmwjJ4xV.0.0.50-internal.1.js} +1 -1
  46. package/dist/interface/js/{qrcode.C1sDj6P8.0.0.50-internal.0.js → qrcode.DGZO3j1c.0.0.50-internal.1.js} +1 -1
  47. package/dist/interface/js/{react-dnd-touch-backend.BA4WhUJo.0.0.50-internal.0.js → react-dnd-touch-backend.CEGHlD-T.0.0.50-internal.1.js} +1 -1
  48. package/dist/interface/js/{refresh-rounded.D_SmhhUf.0.0.50-internal.0.js → refresh-rounded.D0keXzBc.0.0.50-internal.1.js} +1 -1
  49. package/dist/interface/js/{rxjs.C-fTBwEO.0.0.50-internal.0.js → rxjs.CiDbFOB0.0.0.50-internal.1.js} +1 -1
  50. package/dist/interface/js/{socket.io-client.DKrRxgjP.0.0.50-internal.0.js → socket.io-client.BPcXPAHG.0.0.50-internal.1.js} +1 -1
  51. package/dist/interface/js/{socket.io-parser.EXj3YDH2.0.0.50-internal.0.js → socket.io-parser.DSGzrW_l.0.0.50-internal.1.js} +1 -1
  52. package/dist/interface/js/{system.CY8rGd-Q.0.0.50-internal.0.js → system.BKlEObmx.0.0.50-internal.1.js} +1 -1
  53. package/dist/interface/js/{trash-fill.CMnCN3Oy.0.0.50-internal.0.js → trash-fill.BDFILs86.0.0.50-internal.1.js} +1 -1
  54. package/dist/interface/js/{unidragger.D0w6Tqtt.0.0.50-internal.0.js → unidragger.DcxsxHCS.0.0.50-internal.1.js} +1 -1
  55. package/dist/interface/js/{vee-validate.BeiObIH8.0.0.50-internal.0.js → vee-validate.BGRg3oQ8.0.0.50-internal.1.js} +1 -1
  56. package/dist/interface/js/{vue-chartjs.DtdZdiYw.0.0.50-internal.0.js → vue-chartjs.B9yk2de7.0.0.50-internal.1.js} +1 -1
  57. package/dist/interface/js/{vue-i18n.BW2bx_6z.0.0.50-internal.0.js → vue-i18n.DXDZITpf.0.0.50-internal.1.js} +1 -1
  58. package/dist/interface/js/{vue-inline-svg.BJkQGmKz.0.0.50-internal.0.js → vue-inline-svg.BDYaTfbi.0.0.50-internal.1.js} +1 -1
  59. package/dist/interface/js/{vue-router.B2mOXHaC.0.0.50-internal.0.js → vue-router.CFEDA008.0.0.50-internal.1.js} +1 -1
  60. package/dist/interface/js/{vue-zoomable.BKDyCJE7.0.0.50-internal.0.js → vue-zoomable.zqTafMgD.0.0.50-internal.1.js} +1 -1
  61. package/dist/interface/js/{vue3-dnd.DRK24CBp.0.0.50-internal.0.js → vue3-dnd.BxM3dbYs.0.0.50-internal.1.js} +1 -1
  62. package/dist/interface/js/{zoom-out.DxvzgVEo.0.0.50-internal.0.js → zoom-out.B6SY9IIj.0.0.50-internal.1.js} +1 -1
  63. package/dist/interface/sw.js +1 -1
  64. package/dist/server/package.json +1 -1
  65. package/package.json +1 -1
  66. package/.prettierignore +0 -12
  67. package/.prettierrc.json +0 -12
  68. package/artillery.yaml +0 -29
  69. package/bin/cameraui-server.ts +0 -11
  70. package/dist/interface/js/Cammesh.D-6dAROQ.0.0.50-internal.0.js +0 -1
  71. package/dist/interface/js/Recordings.DhxjIW7e.0.0.50-internal.0.js +0 -1
  72. package/dist/interface/js/SettingsAppearance.DsTjKXk1.0.0.50-internal.0.js +0 -1
  73. package/dist/interface/js/SettingsRecordings.DgW7M0jj.0.0.50-internal.0.js +0 -1
  74. package/eslint.config.js +0 -103
  75. package/localdeps.txt +0 -10
  76. package/mypy.ini +0 -30
  77. package/requirements.txt +0 -15
  78. package/ruff.toml +0 -90
  79. package/src/__init__.py +0 -0
  80. package/src/_camera_ui_tools/__init__.py +0 -0
  81. package/src/_camera_ui_tools/__pycache__/__init__.cpython-311.pyc +0 -0
  82. package/src/api/controllers/api.controller.ts +0 -19
  83. package/src/api/controllers/auth.controller.ts +0 -294
  84. package/src/api/controllers/backup.controller.ts +0 -72
  85. package/src/api/controllers/cameras.controller.ts +0 -1029
  86. package/src/api/controllers/config.controller.ts +0 -102
  87. package/src/api/controllers/files.controller.ts +0 -35
  88. package/src/api/controllers/frameWorkers.controller.ts +0 -109
  89. package/src/api/controllers/plugins.controller.ts +0 -1206
  90. package/src/api/controllers/system.controller.ts +0 -273
  91. package/src/api/controllers/users.controller.ts +0 -648
  92. package/src/api/database/checks.ts +0 -268
  93. package/src/api/database/constants.ts +0 -8
  94. package/src/api/database/index.ts +0 -262
  95. package/src/api/database/migration.ts +0 -62
  96. package/src/api/database/selfcheck.ts +0 -492
  97. package/src/api/database/types.ts +0 -104
  98. package/src/api/go2rtc/api/application.ts +0 -48
  99. package/src/api/go2rtc/api/config.ts +0 -61
  100. package/src/api/go2rtc/api/discover.ts +0 -197
  101. package/src/api/go2rtc/api/index.ts +0 -49
  102. package/src/api/go2rtc/api/snapshot.ts +0 -44
  103. package/src/api/go2rtc/api/streams.ts +0 -168
  104. package/src/api/go2rtc/index.ts +0 -43
  105. package/src/api/go2rtc/queue.ts +0 -50
  106. package/src/api/go2rtc/types.ts +0 -174
  107. package/src/api/index.ts +0 -286
  108. package/src/api/middlewares/authPermission.middleware.ts +0 -46
  109. package/src/api/middlewares/authValidation.middleware.ts +0 -160
  110. package/src/api/middlewares/pagination.middleware.ts +0 -67
  111. package/src/api/middlewares/socketAuth.middleware.ts +0 -136
  112. package/src/api/plugins/header.plugin.ts +0 -15
  113. package/src/api/plugins/logger.plugin.ts +0 -44
  114. package/src/api/plugins/proxy.plugin.ts +0 -255
  115. package/src/api/plugins/socket.plugin.ts +0 -28
  116. package/src/api/plugins/system.plugin.ts +0 -48
  117. package/src/api/plugins/useragent.plugin.ts +0 -19
  118. package/src/api/routes/api.routes.ts +0 -10
  119. package/src/api/routes/auth.routes.ts +0 -56
  120. package/src/api/routes/backup.routes.ts +0 -28
  121. package/src/api/routes/cameras.routes.ts +0 -281
  122. package/src/api/routes/config.routes.ts +0 -66
  123. package/src/api/routes/files.routes.ts +0 -15
  124. package/src/api/routes/frameWorkers.routes.ts +0 -39
  125. package/src/api/routes/index.ts +0 -37
  126. package/src/api/routes/plugins.routes.ts +0 -420
  127. package/src/api/routes/system.routes.ts +0 -101
  128. package/src/api/routes/users.routes.ts +0 -167
  129. package/src/api/schemas/backup.schema.ts +0 -112
  130. package/src/api/schemas/cameras.schema.ts +0 -479
  131. package/src/api/schemas/config.schema.ts +0 -38
  132. package/src/api/schemas/go2rtc.schema.ts +0 -189
  133. package/src/api/schemas/plugins.schema.ts +0 -126
  134. package/src/api/schemas/storage.schema.ts +0 -11
  135. package/src/api/schemas/system.schema.ts +0 -45
  136. package/src/api/schemas/users.schema.ts +0 -185
  137. package/src/api/services/auth.service.ts +0 -210
  138. package/src/api/services/backup.service.ts +0 -144
  139. package/src/api/services/cameras.service.ts +0 -671
  140. package/src/api/services/plugins.service.ts +0 -470
  141. package/src/api/services/system.service.ts +0 -85
  142. package/src/api/services/users.service.ts +0 -276
  143. package/src/api/types/index.ts +0 -675
  144. package/src/api/utils/cert.ts +0 -254
  145. package/src/api/utils/constants.ts +0 -17
  146. package/src/api/utils/fetch.ts +0 -21
  147. package/src/api/utils/moveFiles.ts +0 -45
  148. package/src/api/utils/parse.ts +0 -17
  149. package/src/api/websocket/index.ts +0 -110
  150. package/src/api/websocket/nsp/logs.ts +0 -240
  151. package/src/api/websocket/nsp/main.ts +0 -27
  152. package/src/api/websocket/nsp/metrics.ts +0 -301
  153. package/src/api/websocket/nsp/notifications.ts +0 -43
  154. package/src/api/websocket/nsp/plugins.ts +0 -37
  155. package/src/api/websocket/nsp/server.ts +0 -220
  156. package/src/api/websocket/nsp/status.ts +0 -77
  157. package/src/api/websocket/types.ts +0 -55
  158. package/src/api.ts +0 -163
  159. package/src/camera/classes.ts +0 -32
  160. package/src/camera/controller.ts +0 -579
  161. package/src/camera/device.ts +0 -422
  162. package/src/camera/frameWorker.ts +0 -403
  163. package/src/camera/index.ts +0 -679
  164. package/src/camera/interfaces.ts +0 -95
  165. package/src/camera/iou.ts +0 -153
  166. package/src/camera/polygon.ts +0 -226
  167. package/src/camera/python/__init__.py +0 -0
  168. package/src/camera/python/__pycache__/__init__.cpython-311.pyc +0 -0
  169. package/src/camera/python/__pycache__/classes.cpython-311.pyc +0 -0
  170. package/src/camera/python/__pycache__/delegate_controller.cpython-311.pyc +0 -0
  171. package/src/camera/python/__pycache__/interfaces.cpython-311.pyc +0 -0
  172. package/src/camera/python/__pycache__/iou.cpython-310.pyc +0 -0
  173. package/src/camera/python/__pycache__/iou.cpython-311.pyc +0 -0
  174. package/src/camera/python/__pycache__/iou2.cpython-310.pyc +0 -0
  175. package/src/camera/python/__pycache__/polygon.cpython-311.pyc +0 -0
  176. package/src/camera/python/__pycache__/typings.cpython-311.pyc +0 -0
  177. package/src/camera/python/__pycache__/video_frame.cpython-311.pyc +0 -0
  178. package/src/camera/python/classes.py +0 -41
  179. package/src/camera/python/interfaces.py +0 -130
  180. package/src/camera/python/iou.py +0 -158
  181. package/src/camera/python/polygon.py +0 -230
  182. package/src/camera/python/test/__pycache__/polygon.cpython-310.pyc +0 -0
  183. package/src/camera/python/test/iou_test.py +0 -799
  184. package/src/camera/python/test/polygon.py +0 -238
  185. package/src/camera/python/test/polygon_test.py +0 -256
  186. package/src/camera/python/test/polygon_test2.py +0 -484
  187. package/src/camera/python/typings.py +0 -50
  188. package/src/camera/python/video_frame.py +0 -143
  189. package/src/camera/session.ts +0 -192
  190. package/src/camera/streaming/fmp4-session.ts +0 -390
  191. package/src/camera/streaming/peer-connection.ts +0 -273
  192. package/src/camera/streaming/rtsp-session.ts +0 -331
  193. package/src/camera/streaming/webrtc-connection.ts +0 -260
  194. package/src/camera/streaming/werift-session.ts +0 -317
  195. package/src/camera/test/iou_test.ts +0 -761
  196. package/src/camera/test/polygon.test.ts +0 -611
  197. package/src/camera/test/polygon_test.ts +0 -210
  198. package/src/camera/types.ts +0 -48
  199. package/src/camera/utils.ts +0 -489
  200. package/src/camera/videoFrame.ts +0 -123
  201. package/src/cloud/index.ts +0 -61
  202. package/src/cloud/remote/cloudflare.ts +0 -18
  203. package/src/cloud/remote/upnp.ts +0 -18
  204. package/src/cloud/remote/utils.ts +0 -24
  205. package/src/cloud/types.ts +0 -16
  206. package/src/decoder/child.ts +0 -883
  207. package/src/decoder/imageUtils.ts +0 -275
  208. package/src/decoder/manager.ts +0 -251
  209. package/src/decoder/python/__init__.py +0 -0
  210. package/src/decoder/python/__pycache__/__init__.cpython-311.pyc +0 -0
  211. package/src/decoder/python/__pycache__/image_utils.cpython-311.pyc +0 -0
  212. package/src/decoder/python/__pycache__/typings.cpython-311.pyc +0 -0
  213. package/src/decoder/python/__pycache__/utils.cpython-311.pyc +0 -0
  214. package/src/decoder/python/child.py +0 -903
  215. package/src/decoder/python/image_utils.py +0 -196
  216. package/src/decoder/python/pool.py +0 -45
  217. package/src/decoder/python/test/group.py +0 -62
  218. package/src/decoder/python/test/motion.mp4 +0 -0
  219. package/src/decoder/python/test/motion2.mp4 +0 -0
  220. package/src/decoder/python/test/opencl.cl +0 -70
  221. package/src/decoder/python/test/opencl2.cl +0 -130
  222. package/src/decoder/python/test/test.py +0 -427
  223. package/src/decoder/python/test/test1.jpg +0 -0
  224. package/src/decoder/python/test/test1_resized.jpg +0 -0
  225. package/src/decoder/python/test/test2.jpg +0 -0
  226. package/src/decoder/python/test/test2.py +0 -451
  227. package/src/decoder/python/test/test2_resized.jpg +0 -0
  228. package/src/decoder/python/test/test3.jpg +0 -0
  229. package/src/decoder/python/test/utils.py +0 -50
  230. package/src/decoder/python/typings.py +0 -57
  231. package/src/decoder/python/utils.py +0 -70
  232. package/src/decoder/test/child.ts +0 -117
  233. package/src/decoder/test/ffmpeg.ts +0 -371
  234. package/src/decoder/test/test.ts +0 -182
  235. package/src/decoder/types.ts +0 -27
  236. package/src/decoder/utils.ts +0 -64
  237. package/src/decoder/wasm/asconfig.json +0 -28
  238. package/src/decoder/wasm/assembly/console.ts +0 -1
  239. package/src/decoder/wasm/assembly/index.ts +0 -890
  240. package/src/decoder/wasm/build/decoder.d.ts +0 -43
  241. package/src/decoder/wasm/build/decoder.js +0 -108
  242. package/src/decoder/wasm/build/decoder.wasm +0 -0
  243. package/src/decoder/wasm/tsconfig.json +0 -5
  244. package/src/decoder/worker.ts +0 -113
  245. package/src/go2rtc/index.ts +0 -324
  246. package/src/go2rtc/types.ts +0 -88
  247. package/src/main.ts +0 -267
  248. package/src/manager/coreManager.ts +0 -78
  249. package/src/manager/deviceManager.ts +0 -132
  250. package/src/manager/types.ts +0 -17
  251. package/src/plugins/index.ts +0 -443
  252. package/src/plugins/plugin.ts +0 -177
  253. package/src/plugins/runtime/base.ts +0 -282
  254. package/src/plugins/runtime/index.ts +0 -15
  255. package/src/plugins/runtime/node/child.ts +0 -193
  256. package/src/plugins/runtime/node/index.ts +0 -67
  257. package/src/plugins/runtime/node/plugin.ts +0 -122
  258. package/src/plugins/runtime/node/pluginApi.ts +0 -27
  259. package/src/plugins/runtime/node/proxy/cameraDevice.ts +0 -299
  260. package/src/plugins/runtime/node/proxy/coreManager.ts +0 -128
  261. package/src/plugins/runtime/node/proxy/deviceManager.ts +0 -187
  262. package/src/plugins/runtime/node/storage.ts +0 -312
  263. package/src/plugins/runtime/node/storageController.ts +0 -91
  264. package/src/plugins/runtime/python/__init__.py +0 -0
  265. package/src/plugins/runtime/python/__pycache__/__init__.cpython-311.pyc +0 -0
  266. package/src/plugins/runtime/python/__pycache__/camera_storage.cpython-311.pyc +0 -0
  267. package/src/plugins/runtime/python/__pycache__/config_service.cpython-311.pyc +0 -0
  268. package/src/plugins/runtime/python/__pycache__/constants.cpython-311.pyc +0 -0
  269. package/src/plugins/runtime/python/__pycache__/ipc.cpython-311.pyc +0 -0
  270. package/src/plugins/runtime/python/__pycache__/logger.cpython-311.pyc +0 -0
  271. package/src/plugins/runtime/python/__pycache__/message_queue.cpython-311.pyc +0 -0
  272. package/src/plugins/runtime/python/__pycache__/namespaces.cpython-311.pyc +0 -0
  273. package/src/plugins/runtime/python/__pycache__/plugin.cpython-311.pyc +0 -0
  274. package/src/plugins/runtime/python/__pycache__/plugin_api.cpython-311.pyc +0 -0
  275. package/src/plugins/runtime/python/__pycache__/plugin_logger.cpython-311.pyc +0 -0
  276. package/src/plugins/runtime/python/__pycache__/proxy_utils.cpython-311.pyc +0 -0
  277. package/src/plugins/runtime/python/__pycache__/schema.cpython-311.pyc +0 -0
  278. package/src/plugins/runtime/python/__pycache__/storage.cpython-311.pyc +0 -0
  279. package/src/plugins/runtime/python/__pycache__/storage_controller.cpython-311.pyc +0 -0
  280. package/src/plugins/runtime/python/__pycache__/typings.cpython-311.pyc +0 -0
  281. package/src/plugins/runtime/python/child.py +0 -248
  282. package/src/plugins/runtime/python/index.ts +0 -73
  283. package/src/plugins/runtime/python/namespaces.py +0 -101
  284. package/src/plugins/runtime/python/plugin.py +0 -155
  285. package/src/plugins/runtime/python/plugin_api.py +0 -29
  286. package/src/plugins/runtime/python/proxy/__pycache__/camera_device.cpython-310.pyc +0 -0
  287. package/src/plugins/runtime/python/proxy/__pycache__/camera_device.cpython-311.pyc +0 -0
  288. package/src/plugins/runtime/python/proxy/__pycache__/camera_device.cpython-38.pyc +0 -0
  289. package/src/plugins/runtime/python/proxy/__pycache__/camera_device.cpython-39.pyc +0 -0
  290. package/src/plugins/runtime/python/proxy/__pycache__/constants.cpython-311.pyc +0 -0
  291. package/src/plugins/runtime/python/proxy/__pycache__/constants.cpython-39.pyc +0 -0
  292. package/src/plugins/runtime/python/proxy/__pycache__/core_manager.cpython-311.pyc +0 -0
  293. package/src/plugins/runtime/python/proxy/__pycache__/device_manager.cpython-310.pyc +0 -0
  294. package/src/plugins/runtime/python/proxy/__pycache__/device_manager.cpython-311.pyc +0 -0
  295. package/src/plugins/runtime/python/proxy/__pycache__/device_manager.cpython-38.pyc +0 -0
  296. package/src/plugins/runtime/python/proxy/__pycache__/device_manager.cpython-39.pyc +0 -0
  297. package/src/plugins/runtime/python/proxy/__pycache__/generate_keys.cpython-310.pyc +0 -0
  298. package/src/plugins/runtime/python/proxy/__pycache__/generate_keys.cpython-311.pyc +0 -0
  299. package/src/plugins/runtime/python/proxy/__pycache__/generate_keys.cpython-38.pyc +0 -0
  300. package/src/plugins/runtime/python/proxy/__pycache__/generate_keys.cpython-39.pyc +0 -0
  301. package/src/plugins/runtime/python/proxy/__pycache__/message_queue.cpython-310.pyc +0 -0
  302. package/src/plugins/runtime/python/proxy/__pycache__/message_queue.cpython-311.pyc +0 -0
  303. package/src/plugins/runtime/python/proxy/__pycache__/message_queue.cpython-38.pyc +0 -0
  304. package/src/plugins/runtime/python/proxy/__pycache__/message_queue.cpython-39.pyc +0 -0
  305. package/src/plugins/runtime/python/proxy/__pycache__/plugins_manager.cpython-310.pyc +0 -0
  306. package/src/plugins/runtime/python/proxy/__pycache__/plugins_manager.cpython-311.pyc +0 -0
  307. package/src/plugins/runtime/python/proxy/__pycache__/plugins_manager.cpython-38.pyc +0 -0
  308. package/src/plugins/runtime/python/proxy/__pycache__/plugins_manager.cpython-39.pyc +0 -0
  309. package/src/plugins/runtime/python/proxy/__pycache__/system_manager.cpython-310.pyc +0 -0
  310. package/src/plugins/runtime/python/proxy/__pycache__/system_manager.cpython-311.pyc +0 -0
  311. package/src/plugins/runtime/python/proxy/__pycache__/system_manager.cpython-38.pyc +0 -0
  312. package/src/plugins/runtime/python/proxy/__pycache__/system_manager.cpython-39.pyc +0 -0
  313. package/src/plugins/runtime/python/proxy/camera_device.py +0 -1732
  314. package/src/plugins/runtime/python/proxy/core_manager.py +0 -126
  315. package/src/plugins/runtime/python/proxy/device_manager.py +0 -197
  316. package/src/plugins/runtime/python/schema.py +0 -99
  317. package/src/plugins/runtime/python/storage.py +0 -353
  318. package/src/plugins/runtime/python/storage_controller.py +0 -102
  319. package/src/plugins/runtime/python/typings.py +0 -195
  320. package/src/plugins/schema.ts +0 -472
  321. package/src/plugins/types.ts +0 -60
  322. package/src/plugins/worker.ts +0 -250
  323. package/src/rpc/index.ts +0 -149
  324. package/src/rpc/namespaces.ts +0 -79
  325. package/src/rpc/server.ts +0 -422
  326. package/src/rpc/types.ts +0 -119
  327. package/src/rpc/utils.ts +0 -16
  328. package/src/services/config/constants.ts +0 -47
  329. package/src/services/config/defaults.ts +0 -57
  330. package/src/services/config/index.ts +0 -744
  331. package/src/services/config/types.ts +0 -211
  332. package/src/services/logger/index.ts +0 -96
  333. package/src/types.ts +0 -47
  334. package/src/utils/path.ts +0 -16
  335. package/src/utils/pythonInstaller.ts +0 -597
  336. package/tsconfig.json +0 -37
  337. package/updates.config.js +0 -3
  338. /package/dist/interface/assets/{@xterm.DYP7pi_n.0.0.50-internal.0.css → @xterm.DYP7pi_n.0.0.50-internal.1.css} +0 -0
  339. /package/dist/interface/assets/{Adminpanel.BKek2EMH.0.0.50-internal.0.css → Adminpanel.BKek2EMH.0.0.50-internal.1.css} +0 -0
  340. /package/dist/interface/assets/{Cameras.BDWZJqPN.0.0.50-internal.0.css → Cameras.BDWZJqPN.0.0.50-internal.1.css} +0 -0
  341. /package/dist/interface/assets/{Camview.BFUFMoNX.0.0.50-internal.0.css → Camview.BFUFMoNX.0.0.50-internal.1.css} +0 -0
  342. /package/dist/interface/assets/{CuiConsole.DCYyxdVg.0.0.50-internal.0.css → CuiConsole.DCYyxdVg.0.0.50-internal.1.css} +0 -0
  343. /package/dist/interface/assets/{CuiPluginCard.yF8V0SZY.0.0.50-internal.0.css → CuiPluginCard.yF8V0SZY.0.0.50-internal.1.css} +0 -0
  344. /package/dist/interface/assets/{CuiTimeline.BkIwlYtw.0.0.50-internal.0.css → CuiTimeline.BkIwlYtw.0.0.50-internal.1.css} +0 -0
  345. /package/dist/interface/assets/{Plugin.DJElsAn5.0.0.50-internal.0.css → Plugin.DJElsAn5.0.0.50-internal.1.css} +0 -0
  346. /package/dist/interface/assets/{Plugins.0h77qnmN.0.0.50-internal.0.css → Plugins.0h77qnmN.0.0.50-internal.1.css} +0 -0
  347. /package/dist/interface/assets/{Settings.CkgfRkQr.0.0.50-internal.0.css → Settings.CkgfRkQr.0.0.50-internal.1.css} +0 -0
  348. /package/dist/interface/assets/{SettingsAccount.DeFul3eQ.0.0.50-internal.0.css → SettingsAccount.DeFul3eQ.0.0.50-internal.1.css} +0 -0
  349. /package/dist/interface/assets/{SettingsBackup.CX0rT0QJ.0.0.50-internal.0.css → SettingsBackup.CX0rT0QJ.0.0.50-internal.1.css} +0 -0
  350. /package/dist/interface/assets/{highlight.Ch2EwETz.0.0.50-internal.0.css → highlight.Ch2EwETz.0.0.50-internal.1.css} +0 -0
  351. /package/dist/interface/assets/{logo-256.BCQk9H1-.0.0.50-internal.0.png → logo-256.BCQk9H1-.0.0.50-internal.1.png} +0 -0
  352. /package/dist/interface/assets/{logo-512.DLKVOU2S.0.0.50-internal.0.png → logo-512.DLKVOU2S.0.0.50-internal.1.png} +0 -0
  353. /package/dist/interface/assets/{logo.DmEiRk0z.0.0.50-internal.0.png → logo.DmEiRk0z.0.0.50-internal.1.png} +0 -0
  354. /package/dist/interface/assets/{main.Cip9LkS3.0.0.50-internal.0.css → main.Cip9LkS3.0.0.50-internal.1.css} +0 -0
  355. /package/dist/interface/assets/{mode-json.Br7xisR1.0.0.50-internal.0.js → mode-json.Br7xisR1.0.0.50-internal.1.js} +0 -0
  356. /package/dist/interface/assets/{mode-yaml.CIYL8U3d.0.0.50-internal.0.js → mode-yaml.CIYL8U3d.0.0.50-internal.1.js} +0 -0
  357. /package/dist/interface/assets/{worker-base.jEXLGV2h.0.0.50-internal.0.js → worker-base.jEXLGV2h.0.0.50-internal.1.js} +0 -0
  358. /package/dist/interface/assets/{worker-json.DgwNIOck.0.0.50-internal.0.js → worker-json.DgwNIOck.0.0.50-internal.1.js} +0 -0
  359. /package/dist/interface/assets/{worker-yaml.B3uUYINB.0.0.50-internal.0.js → worker-yaml.B3uUYINB.0.0.50-internal.1.js} +0 -0
  360. /package/dist/interface/js/{@babel.l0sNRNKZ.0.0.50-internal.0.js → @babel.l0sNRNKZ.0.0.50-internal.1.js} +0 -0
  361. /package/dist/interface/js/{@intlify.BkGPX90O.0.0.50-internal.0.js → @intlify.BkGPX90O.0.0.50-internal.1.js} +0 -0
  362. /package/dist/interface/js/{@kurkle.D8fDXNIl.0.0.50-internal.0.js → @kurkle.D8fDXNIl.0.0.50-internal.1.js} +0 -0
  363. /package/dist/interface/js/{@primeuix.BFAY2Bk9.0.0.50-internal.0.js → @primeuix.BFAY2Bk9.0.0.50-internal.1.js} +0 -0
  364. /package/dist/interface/js/{@react-dnd.CcwRs9xb.0.0.50-internal.0.js → @react-dnd.CcwRs9xb.0.0.50-internal.1.js} +0 -0
  365. /package/dist/interface/js/{@socket.io.Dkula2eQ.0.0.50-internal.0.js → @socket.io.Dkula2eQ.0.0.50-internal.1.js} +0 -0
  366. /package/dist/interface/js/{@vue.B5vqhCp2.0.0.50-internal.0.js → @vue.B5vqhCp2.0.0.50-internal.1.js} +0 -0
  367. /package/dist/interface/js/{@xterm.CAa7rpjv.0.0.50-internal.0.js → @xterm.DIUBesyz.0.0.50-internal.1.js} +0 -0
  368. /package/dist/interface/js/{axios.DHr9lByg.0.0.50-internal.0.js → axios.DHr9lByg.0.0.50-internal.1.js} +0 -0
  369. /package/dist/interface/js/{birpc.l0sNRNKZ.0.0.50-internal.0.js → birpc.l0sNRNKZ.0.0.50-internal.1.js} +0 -0
  370. /package/dist/interface/js/{compare-versions.DqEOhma6.0.0.50-internal.0.js → compare-versions.DqEOhma6.0.0.50-internal.1.js} +0 -0
  371. /package/dist/interface/js/{dijkstrajs.C00ieaqj.0.0.50-internal.0.js → dijkstrajs.C00ieaqj.0.0.50-internal.1.js} +0 -0
  372. /package/dist/interface/js/{engine.io-parser.BiEtp6m2.0.0.50-internal.0.js → engine.io-parser.BiEtp6m2.0.0.50-internal.1.js} +0 -0
  373. /package/dist/interface/js/{entities.C20TfXL6.0.0.50-internal.0.js → entities.C20TfXL6.0.0.50-internal.1.js} +0 -0
  374. /package/dist/interface/js/{ev-emitter.X5f1qa-c.0.0.50-internal.0.js → ev-emitter.X5f1qa-c.0.0.50-internal.1.js} +0 -0
  375. /package/dist/interface/js/{get-size.D1dS-IaP.0.0.50-internal.0.js → get-size.D1dS-IaP.0.0.50-internal.1.js} +0 -0
  376. /package/dist/interface/js/{hookable.l0sNRNKZ.0.0.50-internal.0.js → hookable.l0sNRNKZ.0.0.50-internal.1.js} +0 -0
  377. /package/dist/interface/js/{mdurl.k9Sl0PQj.0.0.50-internal.0.js → mdurl.k9Sl0PQj.0.0.50-internal.1.js} +0 -0
  378. /package/dist/interface/js/{perfect-debounce.l0sNRNKZ.0.0.50-internal.0.js → perfect-debounce.l0sNRNKZ.0.0.50-internal.1.js} +0 -0
  379. /package/dist/interface/js/{primelocale.Bga3dOQu.0.0.50-internal.0.js → primelocale.Bga3dOQu.0.0.50-internal.1.js} +0 -0
  380. /package/dist/interface/js/{punycode.js.Dj65hjkv.0.0.50-internal.0.js → punycode.js.Dj65hjkv.0.0.50-internal.1.js} +0 -0
  381. /package/dist/interface/js/{react-dnd-html5-backend.1HQjlkwI.0.0.50-internal.0.js → react-dnd-html5-backend.1HQjlkwI.0.0.50-internal.1.js} +0 -0
  382. /package/dist/interface/js/{redux.BFxtlG_c.0.0.50-internal.0.js → redux.BFxtlG_c.0.0.50-internal.1.js} +0 -0
  383. /package/dist/interface/js/{tslib.9k7AwCpt.0.0.50-internal.0.js → tslib.9k7AwCpt.0.0.50-internal.1.js} +0 -0
  384. /package/dist/interface/js/{uc.micro.kMc2yuuw.0.0.50-internal.0.js → uc.micro.kMc2yuuw.0.0.50-internal.1.js} +0 -0
  385. /package/dist/interface/js/{uuid.C6aID195.0.0.50-internal.0.js → uuid.C6aID195.0.0.50-internal.1.js} +0 -0
  386. /package/dist/interface/js/{vue.l0sNRNKZ.0.0.50-internal.0.js → vue.l0sNRNKZ.0.0.50-internal.1.js} +0 -0
  387. /package/dist/interface/js/{zod.SKKegNRO.0.0.50-internal.0.js → zod.SKKegNRO.0.0.50-internal.1.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];