@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,189 +0,0 @@
1
- import * as zod from 'zod';
2
-
3
- import {
4
- DEFAULT_GO2RTC_CONFIG_API,
5
- DEFAULT_GO2RTC_CONFIG_FFMPEG,
6
- DEFAULT_GO2RTC_CONFIG_LOGGER,
7
- DEFAULT_GO2RTC_CONFIG_RTMP,
8
- DEFAULT_GO2RTC_CONFIG_RTSP,
9
- DEFAULT_GO2RTC_CONFIG_SRTP,
10
- DEFAULT_GO2RTC_CONFIG_WEBRTC,
11
- } from '../../services/config/defaults.js';
12
-
13
- // GO2RTC - Logger
14
- export const logLevelGo2rtcSchema = zod.union([
15
- zod.literal('info'),
16
- zod.literal('debug'),
17
- zod.literal('trace'),
18
- zod.literal('warn'),
19
- zod.literal('error'),
20
- zod.literal('fatal'),
21
- ]);
22
-
23
- export const logSchema = zod
24
- .object({
25
- format: zod.string().default(DEFAULT_GO2RTC_CONFIG_LOGGER.format!),
26
- level: logLevelGo2rtcSchema.default(DEFAULT_GO2RTC_CONFIG_LOGGER.level!),
27
- api: logLevelGo2rtcSchema,
28
- exec: logLevelGo2rtcSchema,
29
- ngrok: logLevelGo2rtcSchema,
30
- rtsp: logLevelGo2rtcSchema,
31
- rtmp: logLevelGo2rtcSchema,
32
- homekit: logLevelGo2rtcSchema,
33
- webtorrent: logLevelGo2rtcSchema,
34
- hass: logLevelGo2rtcSchema.default(DEFAULT_GO2RTC_CONFIG_LOGGER.hass!),
35
- mp4: logLevelGo2rtcSchema,
36
- hls: logLevelGo2rtcSchema,
37
- mjpeg: logLevelGo2rtcSchema,
38
- streams: logLevelGo2rtcSchema,
39
- webrtc: logLevelGo2rtcSchema,
40
- })
41
- .strict();
42
-
43
- // GO2RTC - API
44
- export const apiSchema = zod
45
- .object({
46
- listen: zod.string().transform(() => ''),
47
- username: zod.string().optional(),
48
- password: zod.string().optional(),
49
- origin: zod.string().default(DEFAULT_GO2RTC_CONFIG_API.origin),
50
- // base_path: zod.string(), // dont allow to change these
51
- // static_dir: zod.string(), // dont allow to change these
52
- tls_listen: zod.string().default(DEFAULT_GO2RTC_CONFIG_API.tls_listen),
53
- tls_cert: zod.string(),
54
- tls_key: zod.string(),
55
- tls_ca: zod.string(),
56
- })
57
- .strict();
58
-
59
- // GO2RTC - Streams
60
- export const streamsSchema = zod.record(
61
- zod.string().transform((val) => val.replace(/ /g, '_').toLowerCase()),
62
- zod.union([zod.string(), zod.string().array()]),
63
- );
64
-
65
- // GO2RTC - SRTP
66
- export const srtpSchema = zod
67
- .object({
68
- listen: zod.string().default(DEFAULT_GO2RTC_CONFIG_SRTP.listen),
69
- })
70
- .strict();
71
-
72
- // GO2RTC - RTMP
73
- export const rtmpSchema = zod
74
- .object({
75
- listen: zod.string().default(DEFAULT_GO2RTC_CONFIG_RTMP.listen),
76
- })
77
- .strict();
78
-
79
- // GO2RTC - RTSP
80
- export const rtspSchema = zod
81
- .object({
82
- listen: zod.string().default(DEFAULT_GO2RTC_CONFIG_RTSP.listen),
83
- username: zod.string().optional().default(DEFAULT_GO2RTC_CONFIG_RTSP.username!),
84
- password: zod.string().optional().default(DEFAULT_GO2RTC_CONFIG_RTSP.password!),
85
- default_query: zod.string().default(DEFAULT_GO2RTC_CONFIG_RTSP.default_query),
86
- })
87
- .strict();
88
-
89
- // GO2RTC - FFmpeg
90
- export const ffmpegSchema = zod.record(zod.string(), zod.string()).and(
91
- zod.object({
92
- bin: zod.string().default(DEFAULT_GO2RTC_CONFIG_FFMPEG.bin),
93
- global: zod.string().default(DEFAULT_GO2RTC_CONFIG_FFMPEG.global),
94
- file: zod.string().default(DEFAULT_GO2RTC_CONFIG_FFMPEG.file),
95
- http: zod.string().default(DEFAULT_GO2RTC_CONFIG_FFMPEG.http),
96
- rtsp: zod.string().default(DEFAULT_GO2RTC_CONFIG_FFMPEG.rtsp),
97
- output: zod.string().default(DEFAULT_GO2RTC_CONFIG_FFMPEG.output),
98
- }),
99
- );
100
-
101
- // GO2RTC - HASS
102
- export const hassSchema = zod
103
- .object({
104
- config: zod.string(),
105
- })
106
- .strict();
107
-
108
- // GO2RTC - Ngrok
109
- export const ngrokSchema = zod
110
- .object({
111
- command: zod.string(),
112
- })
113
- .strict();
114
-
115
- // GO2RTC - WebRTC
116
- export const filterSchema = zod
117
- .object({
118
- candidates: zod.string().array().optional(),
119
- networks: zod.string().array().optional(),
120
- interfaces: zod.string().array().optional(),
121
- ips: zod.string().array().optional(),
122
- udp_ports: zod.string().array().optional(),
123
- })
124
- .strict();
125
-
126
- export const iceServerSchema = zod
127
- .object({
128
- urls: zod.string().array(),
129
- username: zod.string().optional(),
130
- credential: zod.string().optional(),
131
- })
132
- .strict();
133
-
134
- export const webrtcSchema = zod
135
- .object({
136
- listen: zod.string().default(DEFAULT_GO2RTC_CONFIG_WEBRTC.listen),
137
- candidates: zod.string().array().optional(),
138
- ice_servers: iceServerSchema.array().optional(),
139
- filters: filterSchema.optional(),
140
- })
141
- .strict();
142
-
143
- // GO2RTC - HomeKit
144
- export const homeKitSettingsSchema = zod
145
- .object({
146
- pin: zod.number(),
147
- name: zod.string(),
148
- device_id: zod.string(),
149
- device_private: zod.string(),
150
- })
151
- .strict();
152
-
153
- export const homeKitSchema = zod.record(zod.string(), homeKitSettingsSchema.partial().optional().or(zod.undefined()).or(zod.null()));
154
-
155
- // GO2RTC - Webtorrent
156
- export const shareSettingsSchema = zod
157
- .object({
158
- pwd: zod.string(),
159
- src: zod.string(),
160
- })
161
- .strict();
162
-
163
- export const sharesSchema = zod.record(zod.string(), shareSettingsSchema);
164
-
165
- export const webtorrentSchema = zod
166
- .object({
167
- shares: sharesSchema,
168
- })
169
- .strict();
170
-
171
- // GO2RTC - Schema
172
- export const patchGo2RtcSchema = zod
173
- .object({
174
- log: logSchema.partial(),
175
- api: apiSchema,
176
- rtsp: rtspSchema,
177
- srtp: srtpSchema,
178
- rtmp: rtmpSchema,
179
- webrtc: webrtcSchema,
180
- ffmpeg: ffmpegSchema,
181
- streams: streamsSchema.optional(),
182
- homekit: homeKitSchema.optional(),
183
- hass: hassSchema.partial().optional(),
184
- webtorrent: webtorrentSchema.partial().optional(),
185
- ngrok: ngrokSchema.partial().optional(),
186
- })
187
- .strict();
188
-
189
- export type PatchGo2RtcConfigInput = zod.TypeOf<typeof patchGo2RtcSchema>;
@@ -1,126 +0,0 @@
1
- import * as zod from 'zod';
2
-
3
- import { PLUGIN_IDENTIFIER_PATTERN } from '../../plugins/types.js';
4
-
5
- import type { AudioMetadata, ImageMetadata } from '@camera.ui/types';
6
- import type { MultipartFile, MultipartValue } from '@fastify/multipart';
7
-
8
- export const ACCEPTED_OBJECT_IMAGE_TYPES = ['image/jpeg', 'image/png'];
9
- export const MAX_OBJECT_FILE_SIZE = 1024 * 1024 * 2; // 2mb
10
-
11
- export const ACCEPTED_MOTION_VIDEO_TYPES = ['video/mp4', 'video/quicktime'];
12
- export const MAX_MOTION_FILE_SIZE = 1024 * 1024 * 10; // 10mb
13
-
14
- export const ACCEPTED_AUDIO_TYPES = ['audio/mpeg', 'audio/wav', 'audio/ogg'];
15
- export const MAX_AUDIO_FILE_SIZE = 1024 * 1024 * 2; // 2mb
16
-
17
- type ConfigFormData = MultipartValue<string>;
18
- type ImageMetadataFormData = MultipartValue<string>;
19
- type AudioMetadataFormData = MultipartValue<string>;
20
-
21
- export const installPluginSchema = zod
22
- .object({
23
- pluginname: zod.string().refine((pluginname) => PLUGIN_IDENTIFIER_PATTERN.test(pluginname), 'Not a valid plugin name'),
24
- pluginversion: zod.string().optional().default('latest'),
25
- })
26
- .strict();
27
-
28
- export const actionPluginSchema = zod
29
- .object({
30
- actionId: zod.string(),
31
- payload: zod.any(),
32
- })
33
- .strict();
34
-
35
- export const patchPluginConfigJsonSchema = zod.record(zod.any(), zod.any());
36
-
37
- export const detectObjectSchema = zod.object({
38
- upload: zod
39
- .custom<MultipartFile | File>()
40
- .refine((file) => {
41
- const isMultipartFile = (x: any): x is MultipartFile => x.mimetype !== undefined;
42
-
43
- if (isMultipartFile(file)) {
44
- return Buffer.byteLength((file as any)._buf) <= MAX_OBJECT_FILE_SIZE;
45
- } else {
46
- return file.size <= MAX_OBJECT_FILE_SIZE;
47
- }
48
- }, 'Max file size is 2 MB')
49
- .refine((file) => {
50
- const isMultipartFile = (x: any): x is MultipartFile => x.mimetype !== undefined;
51
-
52
- if (isMultipartFile(file)) {
53
- return ACCEPTED_OBJECT_IMAGE_TYPES.includes(file.mimetype);
54
- } else {
55
- return ACCEPTED_OBJECT_IMAGE_TYPES.includes(file.type);
56
- }
57
- }, '.jpeg and .png files are accepted') as zod.ZodType<MultipartFile>,
58
- metadata: zod.custom<ImageMetadataFormData>().transform((metadata) => {
59
- return JSON.parse(metadata.value);
60
- }) as unknown as zod.ZodType<ImageMetadata>,
61
- config: zod.custom<ConfigFormData>().transform((config) => {
62
- return JSON.parse(config.value);
63
- }) as unknown as zod.ZodType<Record<string, any>>,
64
- });
65
-
66
- export const detectAudioSchema = zod.object({
67
- upload: zod
68
- .custom<MultipartFile | File>()
69
- .refine((file) => {
70
- const isMultipartFile = (x: any): x is MultipartFile => x.mimetype !== undefined;
71
-
72
- if (isMultipartFile(file)) {
73
- return Buffer.byteLength((file as any)._buf) <= MAX_AUDIO_FILE_SIZE;
74
- } else {
75
- return file.size <= MAX_AUDIO_FILE_SIZE;
76
- }
77
- }, 'Max file size is 2 MB')
78
- .refine((file) => {
79
- const isMultipartFile = (x: any): x is MultipartFile => x.mimetype !== undefined;
80
-
81
- if (isMultipartFile(file)) {
82
- return ACCEPTED_AUDIO_TYPES.includes(file.mimetype);
83
- } else {
84
- return ACCEPTED_AUDIO_TYPES.includes(file.type);
85
- }
86
- }, '.mp3, .wav and .ogg files are accepted') as zod.ZodType<MultipartFile>,
87
- metadata: zod.custom<AudioMetadataFormData>().transform((metadata) => {
88
- return JSON.parse(metadata.value);
89
- }) as unknown as zod.ZodType<AudioMetadata>,
90
- config: zod.custom<ConfigFormData>().transform((config) => {
91
- return JSON.parse(config.value);
92
- }) as unknown as zod.ZodType<Record<string, any>>,
93
- });
94
-
95
- export const detectMotionSchema = zod.object({
96
- upload: zod
97
- .custom<MultipartFile | File>()
98
- .refine((file) => {
99
- const isMultipartFile = (x: any): x is MultipartFile => x.mimetype !== undefined;
100
-
101
- if (isMultipartFile(file)) {
102
- return Buffer.byteLength((file as any)._buf) <= MAX_MOTION_FILE_SIZE;
103
- } else {
104
- return file.size <= MAX_MOTION_FILE_SIZE;
105
- }
106
- }, 'Max file size is 5 MB')
107
- .refine((file) => {
108
- const isMultipartFile = (x: any): x is MultipartFile => x.mimetype !== undefined;
109
-
110
- if (isMultipartFile(file)) {
111
- return ACCEPTED_MOTION_VIDEO_TYPES.includes(file.mimetype);
112
- } else {
113
- return ACCEPTED_MOTION_VIDEO_TYPES.includes(file.type);
114
- }
115
- }, '.mp4 files are accepted') as zod.ZodType<MultipartFile>,
116
- config: zod.custom<ConfigFormData>().transform((config) => {
117
- return JSON.parse(config.value);
118
- }) as unknown as zod.ZodType<Record<string, any>>,
119
- });
120
-
121
- export type InstallPluginInput = zod.TypeOf<typeof installPluginSchema>;
122
- export type ActionPluginInput = zod.TypeOf<typeof actionPluginSchema>;
123
- export type PatchPluginConfigJsonInput = zod.TypeOf<typeof patchPluginConfigJsonSchema>;
124
- export type DetectObjectInput = zod.TypeOf<typeof detectObjectSchema>;
125
- export type DetectMotionInput = zod.TypeOf<typeof detectMotionSchema>;
126
- export type DetectAudioInput = zod.TypeOf<typeof detectAudioSchema>;
@@ -1,11 +0,0 @@
1
- import * as zod from 'zod';
2
-
3
- export const patchStorageSchema = zod.record(zod.string(), zod.any());
4
-
5
- export const setStorageSchema = zod.object({ key: zod.string() }).strict();
6
-
7
- export const submitStorageSchema = zod.object({ key: zod.string(), payload: zod.any() }).strict();
8
-
9
- export type PatchStorateInput = zod.TypeOf<typeof patchStorageSchema>;
10
- export type SetStorageInput = zod.TypeOf<typeof setStorageSchema>;
11
- export type SubmitStorageInput = zod.TypeOf<typeof submitStorageSchema>;
@@ -1,45 +0,0 @@
1
- import * as zod from 'zod';
2
-
3
- export const updateServerSchema = zod
4
- .object({
5
- version: zod.string().optional().default('latest'),
6
- })
7
- .strict();
8
-
9
- export const remoteAccessSchema = zod
10
- .object({
11
- mode: zod
12
- .union([zod.literal('disabled'), zod.literal('port-forward'), zod.literal('router-forward'), zod.literal('cloudflare'), zod.literal('custom-domain')])
13
- .default('disabled'),
14
- cloudflare: zod
15
- .object({
16
- tunnelToken: zod.string(),
17
- customDomain: zod.string(),
18
- tunnelUrl: zod.string(),
19
- tunnelCredentials: zod
20
- .object({
21
- username: zod.string(),
22
- password: zod.string(),
23
- })
24
- .partial(),
25
- })
26
- .partial()
27
- .strict(),
28
- customDomain: zod
29
- .object({
30
- url: zod.string().optional(),
31
- })
32
- .partial()
33
- .strict(),
34
- })
35
- .strict();
36
-
37
- export const patchSystemSchema = zod
38
- .object({
39
- serverAddresses: zod.string().ip().array().default([]),
40
- remoteAccess: remoteAccessSchema,
41
- })
42
- .strict();
43
-
44
- export type PatchSystemInput = zod.TypeOf<typeof patchSystemSchema>;
45
- export type UpdateServerInput = zod.TypeOf<typeof updateServerSchema>;
@@ -1,185 +0,0 @@
1
- import { v4 as uuidv4 } from 'uuid';
2
- import * as zod from 'zod';
3
-
4
- import { pointsSchema } from './cameras.schema.js';
5
-
6
- import type { MultipartFile } from '@fastify/multipart';
7
-
8
- export const ACCEPTED_IMAGE_TYPES = ['image/jpeg', 'image/jpg', 'image/png'];
9
- export const MAX_IMAGE_FILE_SIZE = 1024 * 1024 * 5;
10
-
11
- export const userPreferencesCamviewViewsLayoutCameras = zod.object({
12
- index: zod.number(),
13
- cameraId: zod.string(),
14
- });
15
-
16
- export const camviewViewSizeSchema = zod.union([
17
- zod.literal(1),
18
- zod.literal(4),
19
- zod.literal(6),
20
- zod.literal(7),
21
- zod.literal(9),
22
- zod.literal(10),
23
- zod.literal(12),
24
- zod.literal(13),
25
- zod.literal(15),
26
- zod.literal(16),
27
- zod.literal(20),
28
- zod.literal(26),
29
- ]);
30
-
31
- export const camviewViewTypeSchema = zod.union([zod.literal('dnd'), zod.literal('view')]);
32
-
33
- export const userPreferencesCamviewViewsLayout = zod.object({
34
- _id: zod
35
- .string()
36
- .default(uuidv4())
37
- .transform(() => uuidv4()),
38
- name: zod.string().min(1, 'Layout name is required'),
39
- viewSize: camviewViewSizeSchema,
40
- cameras: userPreferencesCamviewViewsLayoutCameras.array(),
41
- type: camviewViewTypeSchema,
42
- });
43
-
44
- export const patchPreferencesCamviewViewsLayout = zod
45
- .object({
46
- name: zod.string().min(1, 'Layout name is required'),
47
- viewSize: camviewViewSizeSchema,
48
- cameras: userPreferencesCamviewViewsLayoutCameras.array(),
49
- })
50
- .partial()
51
- .optional();
52
-
53
- export const userPreferencesCamview = zod.object({
54
- views: userPreferencesCamviewViewsLayout.array(),
55
- });
56
-
57
- export const userPreferencesCameraShortcutLayout = zod.object({
58
- _id: zod
59
- .string()
60
- .default(uuidv4())
61
- .transform(() => uuidv4()),
62
- cameraId: zod.string(),
63
- points: pointsSchema,
64
- });
65
-
66
- export const patchPreferencesCameraShortcutLayout = zod
67
- .object({
68
- cameraId: zod.string(),
69
- points: pointsSchema,
70
- })
71
- .partial()
72
- .optional();
73
-
74
- export const userPreferencesCameras = zod.object({
75
- shortcuts: userPreferencesCameraShortcutLayout.array(),
76
- });
77
-
78
- export const userPreferences = zod.object({
79
- camview: userPreferencesCamview,
80
- cameras: zod.record(zod.string(), userPreferencesCameras),
81
- });
82
-
83
- export const createUserSchema = zod
84
- .object({
85
- _id: zod
86
- .string()
87
- .default(uuidv4())
88
- .transform(() => uuidv4()),
89
- username: zod.string().min(1, 'Username is required'),
90
- password: zod
91
- .string()
92
- .min(10, 'Password must be at least 10 characters long')
93
- .regex(/[A-Z]/, 'Password must contain at least one uppercase letter')
94
- .regex(/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/, 'Password must contain at least one special character (!@#$%^&*()_+-=[]{};:\'"\\|,.<>/?)')
95
- .max(32, 'Password cannot be more than 32 characters'),
96
- passwordConfirm: zod.string().min(1, 'Please confirm your password'),
97
- role: zod.union([zod.literal('admin'), zod.literal('user')]),
98
- sessionTimer: zod
99
- .number()
100
- .min(3600, 'Session timer must not be less than 3600 seconds (1h)')
101
- .max(86400, 'Session timer must not be greater than 86400 seconds (24h)')
102
- .default(14400),
103
- rememberMe: zod.boolean().default(false),
104
- singleSession: zod.boolean().default(false),
105
- firstLogin: zod.boolean().default(true),
106
- preferences: userPreferences.default({
107
- camview: {
108
- views: [],
109
- },
110
- cameras: {},
111
- }),
112
- })
113
- .strict()
114
- .refine((data) => data.password === data.passwordConfirm, {
115
- path: ['passwordConfirm'],
116
- message: 'Passwords do not match',
117
- });
118
-
119
- export const loginUserSchema = zod
120
- .object({
121
- username: zod.string().min(1, 'Username is required'),
122
- password: zod.string().min(1, 'Password is required'),
123
- rememberMe: zod.boolean().default(false),
124
- })
125
- .strict();
126
-
127
- export const patchUserSchema = zod
128
- .object({
129
- username: zod.string().min(1, 'Username is required').optional(),
130
- password: zod
131
- .string()
132
- .min(10, 'Password must be at least 10 characters long')
133
- .regex(/[A-Z]/, 'Password must contain at least one uppercase letter')
134
- .regex(/[!@#$%^&*()_+\-=[\]{};':"\\|,.<>/?]/, 'Password must contain at least one special character (!@#$%^&*()_+-=[]{};:\'"\\|,.<>/?)')
135
- .max(32, 'Password cannot be more than 32 characters')
136
- .optional(),
137
- passwordConfirm: zod.string().optional(),
138
- role: zod.union([zod.literal('admin'), zod.literal('user')]).optional(),
139
- sessionTimer: zod
140
- .number()
141
- .min(3600, 'Session timer must not be less than 3600 seconds (1h)')
142
- .max(86400, 'Session timer must not be greater than 86400 seconds (24h)')
143
- .optional(),
144
- upload: zod.optional(
145
- zod
146
- .custom<MultipartFile | File>()
147
- .refine((file) => {
148
- const isMultipartFile = (x: any): x is MultipartFile => x.mimetype !== undefined;
149
-
150
- if (isMultipartFile(file)) {
151
- return Buffer.byteLength((file as any)._buf) <= MAX_IMAGE_FILE_SIZE;
152
- } else {
153
- return file.size <= MAX_IMAGE_FILE_SIZE;
154
- }
155
- }, 'Max file size is 5MB.')
156
- .refine((file) => {
157
- const isMultipartFile = (x: any): x is MultipartFile => x.mimetype !== undefined;
158
-
159
- if (isMultipartFile(file)) {
160
- return ACCEPTED_IMAGE_TYPES.includes(file.mimetype);
161
- } else {
162
- return ACCEPTED_IMAGE_TYPES.includes(file.type);
163
- }
164
- }, '.jpg, .jpeg, .png files are accepted.') as zod.ZodType<MultipartFile>,
165
- ),
166
- rememberMe: zod.boolean().optional(),
167
- singleSession: zod.boolean().optional(),
168
- firstLogin: zod.boolean().optional(),
169
- preferences: userPreferences.partial().optional(),
170
- })
171
- .strict()
172
- .refine((data) => data.password === data.passwordConfirm, {
173
- path: ['passwordConfirm'],
174
- message: 'Passwords do not match',
175
- });
176
-
177
- export type CreateUserInput = zod.TypeOf<typeof createUserSchema>;
178
- export type LoginUserInput = zod.TypeOf<typeof loginUserSchema>;
179
- export type PatchUserInput = zod.TypeOf<typeof patchUserSchema>;
180
-
181
- export type CreateViewInput = zod.TypeOf<typeof userPreferencesCamviewViewsLayout>;
182
- export type PatchViewInput = zod.TypeOf<typeof patchPreferencesCamviewViewsLayout>;
183
-
184
- export type CreateShortcutInput = zod.TypeOf<typeof userPreferencesCameraShortcutLayout>;
185
- export type PatchShortcutInput = zod.TypeOf<typeof patchPreferencesCameraShortcutLayout>;