camera.ui3 0.0.30-alpha.0 → 0.0.30-alpha.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 (320) hide show
  1. package/dist/interface/@camera.ui.KA9bRSoR.0.0.30-alpha.0.js +3 -0
  2. package/dist/interface/@tanstack.CTzdjGxD.0.0.30-alpha.0.js +1 -0
  3. package/dist/interface/{@vee-validate.0Cv0x9aN.0.0.30-alpha.0.js → @vee-validate.BJKTyKHK.0.0.30-alpha.0.js} +1 -1
  4. package/dist/interface/@vue.BeJw0wEm.0.0.30-alpha.0.js +17 -0
  5. package/dist/interface/{@vueform.Du_niMHk.0.0.30-alpha.0.js → @vueform.DIw88mcs.0.0.30-alpha.0.js} +1 -1
  6. package/dist/interface/{@vueuse.Dv9U068T.0.0.30-alpha.0.js → @vueuse.DK7Mz0BT.0.0.30-alpha.0.js} +1 -1
  7. package/dist/interface/Account.D23CSQgK.0.0.30-alpha.0.js +1 -0
  8. package/dist/interface/Adminpanel.CbDtQWxn.0.0.30-alpha.0.js +2 -0
  9. package/dist/interface/Appearance.az1S-8rV.0.0.30-alpha.0.js +1 -0
  10. package/dist/interface/Backup.BxjbY7JO.0.0.30-alpha.0.js +1 -0
  11. package/dist/interface/Camera.CWxxie6C.0.0.30-alpha.0.js +1 -0
  12. package/dist/interface/Cameras.Cs1dXd-W.0.0.30-alpha.0.js +1 -0
  13. package/dist/interface/Camview.uyIq-pxm.0.0.30-alpha.0.js +1 -0
  14. package/dist/interface/Config.DnuL5NIv.0.0.30-alpha.0.js +1 -0
  15. package/dist/interface/Console.C1dI5f9x.0.0.30-alpha.0.js +4 -0
  16. package/dist/interface/FirstSteps.C_TTm4lX.0.0.30-alpha.0.js +1 -0
  17. package/dist/interface/{NewCamera.Kn9biZIb.0.0.30-alpha.0.js → NewCamera.DjMFd-OB.0.0.30-alpha.0.js} +2 -2
  18. package/dist/interface/Plugin.rLO6u13g.0.0.30-alpha.0.js +1 -0
  19. package/dist/interface/Plugins.Dr-sUa9o.0.0.30-alpha.0.js +1 -0
  20. package/dist/interface/Recordings.4iG-hK8g.0.0.30-alpha.0.js +1 -0
  21. package/dist/interface/Recordings.Dxh2d-IQ.0.0.30-alpha.0.js +1 -0
  22. package/dist/interface/Settings.DAletWZO.0.0.30-alpha.0.js +1 -0
  23. package/dist/interface/System.Pv01yz8u.0.0.30-alpha.0.js +4 -0
  24. package/dist/interface/User.VLcbTFm_.0.0.30-alpha.0.js +1 -0
  25. package/dist/interface/{VConfigEditor.vue_vue_type_script_setup_true_lang.Br68bfQJ.0.0.30-alpha.0.js → VConfigEditor.vue_vue_type_script_setup_true_lang.pXHIBxVl.0.0.30-alpha.0.js} +1 -1
  26. package/dist/interface/{VConsole.BT0UxZb1.0.0.30-alpha.0.js → VConsole.BUZLhyeb.0.0.30-alpha.0.js} +1 -1
  27. package/dist/interface/VPlayer.DW5rNren.0.0.30-alpha.0.js +1 -0
  28. package/dist/interface/{VPluginCard.Bz3GmzAE.0.0.30-alpha.0.js → VPluginCard.D5f85QIk.0.0.30-alpha.0.js} +2 -2
  29. package/dist/interface/index.html +15 -14
  30. package/dist/interface/main.CNzh1Rg5.0.0.30-alpha.0.js +2 -0
  31. package/dist/interface/{pinia.DRjp4GU7.0.0.30-alpha.0.js → pinia.BPnxDxQ3.0.0.30-alpha.0.js} +2 -2
  32. package/dist/interface/{plugins.Ur_7V4x8.0.0.30-alpha.0.js → plugins.DIEspWyc.0.0.30-alpha.0.js} +1 -1
  33. package/dist/interface/sw.js +1 -1
  34. package/dist/interface/{system.CRn9Cy3C.0.0.30-alpha.0.js → system.23ZKsQ9W.0.0.30-alpha.0.js} +1 -1
  35. package/dist/interface/{ui.C-XbEPHk.0.0.30-alpha.0.js → ui.9t-Av5-L.0.0.30-alpha.0.js} +1 -1
  36. package/dist/interface/{v-calendar.CapJoEkJ.0.0.30-alpha.0.js → v-calendar.u5cKUC4g.0.0.30-alpha.0.js} +1 -1
  37. package/dist/interface/{vee-validate.DcgOEpak.0.0.30-alpha.0.js → vee-validate.DLoDjJ2f.0.0.30-alpha.0.js} +2 -2
  38. package/dist/interface/{vue-i18n.D2pqkMP3.0.0.30-alpha.0.js → vue-i18n.1W5jhc7l.0.0.30-alpha.0.js} +2 -2
  39. package/dist/interface/{vue-inline-svg.DorOTPIf.0.0.30-alpha.0.js → vue-inline-svg.Cc6uL4nI.0.0.30-alpha.0.js} +1 -1
  40. package/dist/interface/{vue-router.BVs4qaVs.0.0.30-alpha.0.js → vue-router.CgUDt9kL.0.0.30-alpha.0.js} +2 -2
  41. package/dist/interface/{vue3-apexcharts.CBV9x5vk.0.0.30-alpha.0.js → vue3-apexcharts.D8ONfVUq.0.0.30-alpha.0.js} +1 -1
  42. package/dist/interface/{vue3-dnd.CXMddGIZ.0.0.30-alpha.0.js → vue3-dnd.V9l5pvP2.0.0.30-alpha.0.js} +1 -1
  43. package/dist/interface/{vue3-toastify.DE7YmDSX.0.0.30-alpha.0.js → vue3-toastify.CjNgo6aC.0.0.30-alpha.0.js} +1 -1
  44. package/dist/interface/{vuetify.CYxxHEVN.0.0.30-alpha.0.js → vuetify.Box3fVLm.0.0.30-alpha.0.js} +1 -1
  45. package/dist/interface/zod.DnW1_kUe.0.0.30-alpha.0.js +1 -0
  46. package/dist/server/bin/cameraui.js +10 -7
  47. package/dist/server/bin/cameraui.js.map +1 -1
  48. package/dist/server/bin/fork.js +2 -2
  49. package/dist/server/bin/fork.js.map +1 -1
  50. package/dist/server/bin/installer/darwin.js +1 -1
  51. package/dist/server/bin/installer/darwin.js.map +1 -1
  52. package/dist/server/bin/installer/linux.js +1 -1
  53. package/dist/server/bin/installer/linux.js.map +1 -1
  54. package/dist/server/package.json +11 -15
  55. package/dist/server/src/api/controllers/backup.controller.js.map +1 -1
  56. package/dist/server/src/api/controllers/cameras.controller.js +1 -1
  57. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  58. package/dist/server/src/api/controllers/frameWorkers.controller.js +1 -1
  59. package/dist/server/src/api/controllers/frameWorkers.controller.js.map +1 -1
  60. package/dist/server/src/api/controllers/plugins.controller.js +1 -2
  61. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  62. package/dist/server/src/api/controllers/system.controller.js +1 -3
  63. package/dist/server/src/api/controllers/system.controller.js.map +1 -1
  64. package/dist/server/src/api/controllers/users.controller.js +2 -2
  65. package/dist/server/src/api/controllers/users.controller.js.map +1 -1
  66. package/dist/server/src/api/database/constants.d.ts +8 -0
  67. package/dist/server/src/api/database/constants.js +9 -0
  68. package/dist/server/src/api/database/constants.js.map +1 -0
  69. package/dist/server/src/api/database/index.d.ts +0 -8
  70. package/dist/server/src/api/database/index.js +14 -21
  71. package/dist/server/src/api/database/index.js.map +1 -1
  72. package/dist/server/src/api/database/migration.js +5 -4
  73. package/dist/server/src/api/database/migration.js.map +1 -1
  74. package/dist/server/src/api/database/types.d.ts +6 -6
  75. package/dist/server/src/api/go2rtc/api/application.js +1 -1
  76. package/dist/server/src/api/go2rtc/api/application.js.map +1 -1
  77. package/dist/server/src/api/index.js.map +1 -1
  78. package/dist/server/src/api/plugins/logger.plugin.js.map +1 -1
  79. package/dist/server/src/api/schemas/cameras.schema.d.ts +71 -71
  80. package/dist/server/src/api/schemas/config.schema.d.ts +6 -6
  81. package/dist/server/src/api/schemas/go2rtc.schema.d.ts +98 -98
  82. package/dist/server/src/api/schemas/users.schema.d.ts +116 -116
  83. package/dist/server/src/api/services/auth.service.js +1 -1
  84. package/dist/server/src/api/services/auth.service.js.map +1 -1
  85. package/dist/server/src/api/services/backup.service.js.map +1 -1
  86. package/dist/server/src/api/services/cameras.service.js +1 -1
  87. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  88. package/dist/server/src/api/services/system.service.js +1 -1
  89. package/dist/server/src/api/services/system.service.js.map +1 -1
  90. package/dist/server/src/api/services/users.service.js +1 -1
  91. package/dist/server/src/api/services/users.service.js.map +1 -1
  92. package/dist/server/src/api/types/index.d.ts +2 -2
  93. package/dist/server/src/api/types/index.js.map +1 -1
  94. package/dist/server/src/api/utils/cert.js.map +1 -1
  95. package/dist/server/src/api/websocket/index.js.map +1 -1
  96. package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
  97. package/dist/server/src/api/websocket/nsp/server.js +1 -1
  98. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  99. package/dist/server/src/api.d.ts +1 -7
  100. package/dist/server/src/api.js.map +1 -1
  101. package/dist/server/src/camera/controller.d.ts +4 -6
  102. package/dist/server/src/camera/controller.js +5 -8
  103. package/dist/server/src/camera/controller.js.map +1 -1
  104. package/dist/server/src/camera/types.d.ts +140 -13
  105. package/dist/server/src/camera/types.js.map +1 -1
  106. package/dist/server/src/decoder/index.js.map +1 -1
  107. package/dist/server/src/decoder/types.d.ts +1 -18
  108. package/dist/server/src/decoder/worker.d.ts +3 -2
  109. package/dist/server/src/decoder/worker.js +10 -22
  110. package/dist/server/src/decoder/worker.js.map +1 -1
  111. package/dist/server/src/go2rtc/index.js +2 -3
  112. package/dist/server/src/go2rtc/index.js.map +1 -1
  113. package/dist/server/src/main.js +3 -3
  114. package/dist/server/src/main.js.map +1 -1
  115. package/dist/server/src/nats/index.d.ts +3 -4
  116. package/dist/server/src/nats/index.js +1 -3
  117. package/dist/server/src/nats/index.js.map +1 -1
  118. package/dist/server/src/nats/proxy/cameraDevice.d.ts +2 -2
  119. package/dist/server/src/nats/proxy/coreManager.d.ts +4 -2
  120. package/dist/server/src/nats/proxy/coreManager.js +7 -0
  121. package/dist/server/src/nats/proxy/coreManager.js.map +1 -1
  122. package/dist/server/src/nats/proxy/deviceManager.d.ts +5 -5
  123. package/dist/server/src/nats/proxy/deviceManager.js +4 -2
  124. package/dist/server/src/nats/proxy/deviceManager.js.map +1 -1
  125. package/dist/server/src/nats/server.js +2 -3
  126. package/dist/server/src/nats/server.js.map +1 -1
  127. package/dist/server/src/nats/types.d.ts +19 -32
  128. package/dist/server/src/nats/utils.d.ts +1 -1
  129. package/dist/server/src/nats/websocket.js.map +1 -1
  130. package/dist/server/src/plugins/index.js +11 -9
  131. package/dist/server/src/plugins/index.js.map +1 -1
  132. package/dist/server/src/plugins/interfaces/base.d.ts +1 -1
  133. package/dist/server/src/plugins/plugin.d.ts +1 -1
  134. package/dist/server/src/plugins/plugin.js +4 -4
  135. package/dist/server/src/plugins/plugin.js.map +1 -1
  136. package/dist/server/src/plugins/types.d.ts +36 -3
  137. package/dist/server/src/plugins/types.js.map +1 -1
  138. package/dist/server/src/plugins/worker.js +7 -16
  139. package/dist/server/src/plugins/worker.js.map +1 -1
  140. package/dist/server/src/services/config/constants.js +2 -2
  141. package/dist/server/src/services/config/constants.js.map +1 -1
  142. package/dist/server/src/services/config/index.d.ts +2 -0
  143. package/dist/server/src/services/config/index.js +10 -2
  144. package/dist/server/src/services/config/index.js.map +1 -1
  145. package/dist/server/src/services/logger/index.d.ts +4 -16
  146. package/dist/server/src/services/logger/index.js +4 -83
  147. package/dist/server/src/services/logger/index.js.map +1 -1
  148. package/dist/server/src/services/logger/types.d.ts +8 -0
  149. package/dist/server/src/services/logger/types.js +2 -0
  150. package/dist/server/src/services/logger/types.js.map +1 -0
  151. package/localdeps.txt +4 -0
  152. package/package.json +11 -15
  153. package/dist/interface/@tanstack.DYQ7Jj8U.0.0.30-alpha.0.js +0 -1
  154. package/dist/interface/@vue.CvjRlaU6.0.0.30-alpha.0.js +0 -17
  155. package/dist/interface/Account.Dm2FouAU.0.0.30-alpha.0.js +0 -1
  156. package/dist/interface/Adminpanel.B2Aiobnt.0.0.30-alpha.0.js +0 -2
  157. package/dist/interface/Appearance.EfH0tMdM.0.0.30-alpha.0.js +0 -1
  158. package/dist/interface/Backup.D8SRclhB.0.0.30-alpha.0.js +0 -1
  159. package/dist/interface/Camera.D-cOf4sS.0.0.30-alpha.0.js +0 -1
  160. package/dist/interface/Cameras.oolxbmXU.0.0.30-alpha.0.js +0 -1
  161. package/dist/interface/Camview.BHw8Pe3v.0.0.30-alpha.0.js +0 -1
  162. package/dist/interface/Config.DmPTI5iz.0.0.30-alpha.0.js +0 -1
  163. package/dist/interface/Console.Dq4khHFF.0.0.30-alpha.0.js +0 -4
  164. package/dist/interface/FirstSteps.Bo467abx.0.0.30-alpha.0.js +0 -1
  165. package/dist/interface/Plugin.BLTVcTt1.0.0.30-alpha.0.js +0 -1
  166. package/dist/interface/Plugins.Cp8mK__o.0.0.30-alpha.0.js +0 -1
  167. package/dist/interface/Recordings.B_JIFk_G.0.0.30-alpha.0.js +0 -1
  168. package/dist/interface/Recordings.gMbvwmk_.0.0.30-alpha.0.js +0 -1
  169. package/dist/interface/Settings.EhHJjGrl.0.0.30-alpha.0.js +0 -1
  170. package/dist/interface/System.VodoK0U6.0.0.30-alpha.0.js +0 -4
  171. package/dist/interface/User.DpcN7DEC.0.0.30-alpha.0.js +0 -1
  172. package/dist/interface/VPlayer.DYua3Eh_.0.0.30-alpha.0.js +0 -1
  173. package/dist/interface/main.19pRAqPU.0.0.30-alpha.0.js +0 -4
  174. package/dist/interface/zod.BaF2dDCd.0.0.30-alpha.0.js +0 -1
  175. package/dist/server/src/camera/device.d.ts +0 -29
  176. package/dist/server/src/camera/device.js +0 -20
  177. package/dist/server/src/camera/device.js.map +0 -1
  178. package/dist/server/src/camera/index.d.ts +0 -90
  179. package/dist/server/src/camera/index.js +0 -581
  180. package/dist/server/src/camera/index.js.map +0 -1
  181. package/dist/server/src/camera/interfaces/camera.d.ts +0 -10
  182. package/dist/server/src/camera/interfaces/camera.js +0 -23
  183. package/dist/server/src/camera/interfaces/camera.js.map +0 -1
  184. package/dist/server/src/camera/interfaces/prebuffer.d.ts +0 -11
  185. package/dist/server/src/camera/interfaces/prebuffer.js +0 -31
  186. package/dist/server/src/camera/interfaces/prebuffer.js.map +0 -1
  187. package/dist/server/src/camera/interfaces/ptz.d.ts +0 -13
  188. package/dist/server/src/camera/interfaces/ptz.js +0 -47
  189. package/dist/server/src/camera/interfaces/ptz.js.map +0 -1
  190. package/dist/server/src/camera/iou.d.ts +0 -2
  191. package/dist/server/src/camera/iou.js +0 -53
  192. package/dist/server/src/camera/iou.js.map +0 -1
  193. package/dist/server/src/camera/polygon.d.ts +0 -6
  194. package/dist/server/src/camera/polygon.js +0 -151
  195. package/dist/server/src/camera/polygon.js.map +0 -1
  196. package/dist/server/src/camera/streaming/peer-connection.d.ts +0 -55
  197. package/dist/server/src/camera/streaming/peer-connection.js +0 -203
  198. package/dist/server/src/camera/streaming/peer-connection.js.map +0 -1
  199. package/dist/server/src/camera/streaming/webrtc-connection.d.ts +0 -35
  200. package/dist/server/src/camera/streaming/webrtc-connection.js +0 -170
  201. package/dist/server/src/camera/streaming/webrtc-connection.js.map +0 -1
  202. package/dist/server/src/camera/streaming/werift-session.d.ts +0 -41
  203. package/dist/server/src/camera/streaming/werift-session.js +0 -179
  204. package/dist/server/src/camera/streaming/werift-session.js.map +0 -1
  205. package/dist/server/src/camera/videoFrame.d.ts +0 -24
  206. package/dist/server/src/camera/videoFrame.js +0 -104
  207. package/dist/server/src/camera/videoFrame.js.map +0 -1
  208. package/dist/server/src/index.d.ts +0 -18
  209. package/dist/server/src/index.js +0 -5
  210. package/dist/server/src/index.js.map +0 -1
  211. package/dist/server/src/nats/connection.d.ts +0 -17
  212. package/dist/server/src/nats/connection.js +0 -66
  213. package/dist/server/src/nats/connection.js.map +0 -1
  214. package/dist/server/src/nats/constants.d.ts +0 -1
  215. package/dist/server/src/nats/constants.js +0 -2
  216. package/dist/server/src/nats/constants.js.map +0 -1
  217. package/dist/server/src/nats/error.d.ts +0 -9
  218. package/dist/server/src/nats/error.js +0 -11
  219. package/dist/server/src/nats/error.js.map +0 -1
  220. package/dist/server/src/nats/messageQueue.d.ts +0 -20
  221. package/dist/server/src/nats/messageQueue.js +0 -132
  222. package/dist/server/src/nats/messageQueue.js.map +0 -1
  223. package/dist/server/src/nats/subscription.d.ts +0 -12
  224. package/dist/server/src/nats/subscription.js +0 -21
  225. package/dist/server/src/nats/subscription.js.map +0 -1
  226. package/dist/server/src/polyglot/node/decoder/child.d.ts +0 -1
  227. package/dist/server/src/polyglot/node/decoder/child.js +0 -644
  228. package/dist/server/src/polyglot/node/decoder/child.js.map +0 -1
  229. package/dist/server/src/polyglot/node/decoder/imageUtils.d.ts +0 -24
  230. package/dist/server/src/polyglot/node/decoder/imageUtils.js +0 -205
  231. package/dist/server/src/polyglot/node/decoder/imageUtils.js.map +0 -1
  232. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.d.ts +0 -144
  233. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.js +0 -65
  234. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.wasm +0 -0
  235. package/dist/server/src/polyglot/node/decoder/wasm/test/imageUtils.py +0 -106
  236. package/dist/server/src/polyglot/node/plugins/cameraStorage.d.ts +0 -107
  237. package/dist/server/src/polyglot/node/plugins/cameraStorage.js +0 -292
  238. package/dist/server/src/polyglot/node/plugins/cameraStorage.js.map +0 -1
  239. package/dist/server/src/polyglot/node/plugins/child.d.ts +0 -28
  240. package/dist/server/src/polyglot/node/plugins/child.js +0 -222
  241. package/dist/server/src/polyglot/node/plugins/child.js.map +0 -1
  242. package/dist/server/src/polyglot/node/plugins/configService.d.ts +0 -104
  243. package/dist/server/src/polyglot/node/plugins/configService.js +0 -213
  244. package/dist/server/src/polyglot/node/plugins/configService.js.map +0 -1
  245. package/dist/server/src/polyglot/node/plugins/pluginApi.d.ts +0 -35
  246. package/dist/server/src/polyglot/node/plugins/pluginApi.js +0 -23
  247. package/dist/server/src/polyglot/node/plugins/pluginApi.js.map +0 -1
  248. package/dist/server/src/polyglot/node/plugins/pluginLogger.d.ts +0 -18
  249. package/dist/server/src/polyglot/node/plugins/pluginLogger.js +0 -89
  250. package/dist/server/src/polyglot/node/plugins/pluginLogger.js.map +0 -1
  251. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.d.ts +0 -69
  252. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js +0 -423
  253. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js.map +0 -1
  254. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.d.ts +0 -40
  255. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.js +0 -105
  256. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.js.map +0 -1
  257. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.d.ts +0 -47
  258. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.js +0 -164
  259. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.js.map +0 -1
  260. package/dist/server/src/polyglot/node/plugins/schema.d.ts +0 -293
  261. package/dist/server/src/polyglot/node/plugins/schema.js +0 -740
  262. package/dist/server/src/polyglot/node/plugins/schema.js.map +0 -1
  263. package/dist/server/src/polyglot/node/plugins/storageController.d.ts +0 -30
  264. package/dist/server/src/polyglot/node/plugins/storageController.js +0 -40
  265. package/dist/server/src/polyglot/node/plugins/storageController.js.map +0 -1
  266. package/dist/server/src/polyglot/python/camera/interfaces/camera.py +0 -20
  267. package/dist/server/src/polyglot/python/camera/interfaces/prebuffer.py +0 -28
  268. package/dist/server/src/polyglot/python/camera/interfaces/ptz.py +0 -38
  269. package/dist/server/src/polyglot/python/camera/iou.py +0 -80
  270. package/dist/server/src/polyglot/python/camera/polygon.py +0 -173
  271. package/dist/server/src/polyglot/python/camera/video_frame.py +0 -188
  272. package/dist/server/src/polyglot/python/camera_ui_types/__init__.py +0 -1200
  273. package/dist/server/src/polyglot/python/decoder/child.py +0 -882
  274. package/dist/server/src/polyglot/python/decoder/image_utils.py +0 -149
  275. package/dist/server/src/polyglot/python/decoder/typings.py +0 -99
  276. package/dist/server/src/polyglot/python/plugins/camera_storage.py +0 -391
  277. package/dist/server/src/polyglot/python/plugins/child.py +0 -394
  278. package/dist/server/src/polyglot/python/plugins/config_service.py +0 -187
  279. package/dist/server/src/polyglot/python/plugins/constants.py +0 -1
  280. package/dist/server/src/polyglot/python/plugins/message_queue.py +0 -182
  281. package/dist/server/src/polyglot/python/plugins/plugin_api.py +0 -34
  282. package/dist/server/src/polyglot/python/plugins/plugin_logger.py +0 -111
  283. package/dist/server/src/polyglot/python/plugins/proxy/camera_device.py +0 -1599
  284. package/dist/server/src/polyglot/python/plugins/proxy/core_manager.py +0 -145
  285. package/dist/server/src/polyglot/python/plugins/proxy/device_manager.py +0 -226
  286. package/dist/server/src/polyglot/python/plugins/schema.py +0 -181
  287. package/dist/server/src/polyglot/python/plugins/storage_controller.py +0 -58
  288. package/dist/server/src/polyglot/python/plugins/typings.py +0 -253
  289. package/dist/server/src/polyglot/python/utilities/connection.py +0 -86
  290. package/dist/server/src/polyglot/python/utilities/json_lmdb.py +0 -19
  291. package/dist/server/src/polyglot/python/utilities/object_path.py +0 -195
  292. package/dist/server/src/polyglot/python/utilities/packer.py +0 -11
  293. package/dist/server/src/polyglot/python/utilities/subscriptions.py +0 -22
  294. package/dist/server/src/polyglot/python/utilities/task.py +0 -35
  295. package/dist/server/src/polyglot/python/utilities/thread.py +0 -10
  296. package/dist/server/src/polyglot/python/utilities/utils.py +0 -73
  297. package/dist/server/src/utils/ffmpeg.d.ts +0 -2
  298. package/dist/server/src/utils/ffmpeg.js +0 -61
  299. package/dist/server/src/utils/ffmpeg.js.map +0 -1
  300. package/dist/server/src/utils/network.d.ts +0 -12
  301. package/dist/server/src/utils/network.js +0 -92
  302. package/dist/server/src/utils/network.js.map +0 -1
  303. package/dist/server/src/utils/npm.d.ts +0 -4
  304. package/dist/server/src/utils/npm.js +0 -128
  305. package/dist/server/src/utils/npm.js.map +0 -1
  306. package/dist/server/src/utils/packer.d.ts +0 -2
  307. package/dist/server/src/utils/packer.js +0 -17
  308. package/dist/server/src/utils/packer.js.map +0 -1
  309. package/dist/server/src/utils/pythonInstaller.d.ts +0 -48
  310. package/dist/server/src/utils/pythonInstaller.js +0 -494
  311. package/dist/server/src/utils/pythonInstaller.js.map +0 -1
  312. package/dist/server/src/utils/reader.d.ts +0 -5
  313. package/dist/server/src/utils/reader.js +0 -41
  314. package/dist/server/src/utils/reader.js.map +0 -1
  315. package/dist/server/src/utils/subscribed.d.ts +0 -9
  316. package/dist/server/src/utils/subscribed.js +0 -17
  317. package/dist/server/src/utils/subscribed.js.map +0 -1
  318. package/dist/server/src/utils/utils.d.ts +0 -10
  319. package/dist/server/src/utils/utils.js +0 -165
  320. package/dist/server/src/utils/utils.js.map +0 -1
@@ -1,253 +0,0 @@
1
- from enum import Enum
2
- from typing import (
3
- Any,
4
- Callable,
5
- Union,
6
- )
7
-
8
- from camera_ui_types import (
9
- AudioSetEvent,
10
- BatterySetEvent,
11
- Camera,
12
- CameraDelegate,
13
- CameraPrebufferDelegate,
14
- CameraPTZDelegate,
15
- Container,
16
- DoorbellSetEvent,
17
- FrameData,
18
- FrameMetadata,
19
- ImageOptions,
20
- LightSetEvent,
21
- MotionSetEvent,
22
- ObjectSetEvent,
23
- PluginContract,
24
- SirenSetEvent,
25
- StateValues,
26
- )
27
- from typing_extensions import Literal, NotRequired, TypedDict
28
- from utilities.subscriptions import ProxySubscription
29
-
30
-
31
- class PLUGIN_STATUS(Enum):
32
- READY = "ready"
33
- STARTING = "starting"
34
- STARTED = "started"
35
- STOPPED = "stopped"
36
- ERROR = "error"
37
- UNKNOWN = "unknown"
38
- DISABLED = "disabled"
39
-
40
-
41
- class PLUGIN_COMMAND(Enum):
42
- START = "start"
43
- STOP = "stop"
44
-
45
-
46
- class PluginStorage(TypedDict):
47
- installPath: str
48
- storagePath: str
49
- configFile: str
50
-
51
-
52
- class PluginInfo(TypedDict):
53
- id: str
54
- name: str
55
- contract: PluginContract
56
-
57
-
58
- class ProcessLoadMessage(TypedDict):
59
- cameras: list[Camera]
60
- plugin: PluginInfo
61
- storage: PluginStorage
62
-
63
-
64
- class ProcessMessage(TypedDict, total=False):
65
- type: str
66
- data: ProcessLoadMessage
67
-
68
-
69
- class ProcessResponse(TypedDict, total=False):
70
- type: str
71
- data: str
72
-
73
-
74
- ProxyType = Literal["device", "plugin", "camera", "core"]
75
-
76
- ClientType = Literal[
77
- "cameraFn",
78
- "pluginFn",
79
- "deviceFn",
80
- "coreFn",
81
- "storageFn",
82
- "cameraDelegate",
83
- "prebufferDelegate",
84
- "ptzDelegate",
85
- ]
86
-
87
- MessageType = Literal["request", "reply"]
88
-
89
-
90
- class QueueItem(TypedDict):
91
- message: "ProxyMessageStructure"
92
- resolve: Callable[[Any], None]
93
- reject: Callable[["RemoteError"], None]
94
-
95
-
96
- class DeserializedError(TypedDict):
97
- name: str
98
- message: str
99
- stack: str
100
-
101
-
102
- class RemoteError(Exception):
103
- def __init__(self, error: DeserializedError, cause: "ProxyMessageStructure"):
104
- super().__init__(error["message"])
105
-
106
- self.name = error["name"]
107
- self.message: str = error["message"]
108
- self.cause = cause
109
-
110
- if error["stack"] and error["stack"] != "":
111
- self.stack = error["stack"]
112
-
113
- def __str__(self):
114
- return f"{self.name}: {self.message}"
115
-
116
-
117
- class ProxyMessageStructure(TypedDict):
118
- requestId: str
119
- cameraId: NotRequired[str]
120
- targetId: str
121
- targetName: NotRequired[str]
122
- pluginId: str
123
- type: MessageType
124
- proxy: ProxyType
125
- client: ClientType
126
- fn: str
127
- args: list[Any]
128
- timeout: int
129
- timestamp: int
130
- response: NotRequired[Any]
131
- error: NotRequired[DeserializedError]
132
-
133
-
134
- class AudioStreamOptions(TypedDict, total=False):
135
- enabled: bool
136
- codec: str
137
- bitrate: int
138
- sampleRate: int
139
-
140
-
141
- class VideoStreamOptions(TypedDict, total=False):
142
- codec: str
143
- width: int
144
- height: int
145
- bitrate: int
146
- fps: int
147
- idrInterval: int
148
-
149
-
150
- class StreamInfo(TypedDict):
151
- audio: AudioStreamOptions
152
- video: VideoStreamOptions
153
-
154
-
155
- class ProcessPrebufferedImageRequest(TypedDict):
156
- frameData: FrameData
157
- metadata: FrameMetadata
158
- options: ImageOptions
159
- prebufferDuration: int
160
-
161
-
162
- class ConnectData(TypedDict):
163
- cameraId: str
164
- pluginId: NotRequired[str]
165
-
166
-
167
- class DisconnectData(ConnectData): ...
168
-
169
-
170
- class RebootData(ConnectData): ...
171
-
172
-
173
- class StreamInfoData(ConnectData):
174
- sourceName: str
175
-
176
-
177
- class FrameMetadataData(ConnectData): ...
178
-
179
-
180
- class FfmpegPathData(ConnectData): ...
181
-
182
-
183
- class IceServersData(ConnectData): ...
184
-
185
-
186
- class UpdateStateData(ConnectData):
187
- stateName: Literal["light", "motion", "audio", "object", "doorbell", "siren", "battery"]
188
- eventData: Union[
189
- LightSetEvent,
190
- MotionSetEvent,
191
- AudioSetEvent,
192
- ObjectSetEvent,
193
- DoorbellSetEvent,
194
- SirenSetEvent,
195
- BatterySetEvent,
196
- ]
197
-
198
-
199
- class UpdatePrebufferStateData(ConnectData):
200
- sourceId: str
201
- container: Container
202
-
203
-
204
- class RefreshStatesData(ConnectData): ...
205
-
206
-
207
- class SnapshotData(ConnectData):
208
- forceNew: NotRequired[bool]
209
-
210
-
211
- class IsPrebufferingData(TypedDict):
212
- sourceName: str
213
- container: Container
214
- cameraId: str
215
- pluginId: NotRequired[str]
216
- state: bool
217
- url: NotRequired[str]
218
-
219
-
220
- class RefreshStatesReturnData(TypedDict):
221
- camera: Camera
222
- states: StateValues
223
- cameraState: bool
224
-
225
-
226
- CameraDeviceProxyMethodNames = Literal[
227
- "connect",
228
- "disconnect",
229
- "updateState",
230
- "updatePrebufferState",
231
- "addCameraSource",
232
- "removeCameraSource",
233
- "updateCameraSource",
234
- "refreshStates",
235
- ]
236
-
237
-
238
- class CameraDelegates(TypedDict):
239
- cameraDelegate: CameraDelegate
240
- prebufferDelegate: CameraPrebufferDelegate
241
- ptzDelegate: CameraPTZDelegate
242
-
243
-
244
- Delegates = Literal[
245
- "cameraDelegate",
246
- "prebufferDelegate",
247
- "ptzDelegate",
248
- ]
249
-
250
-
251
- class FrameSubscribtion(TypedDict):
252
- request_id: str
253
- subscriber: ProxySubscription
@@ -1,86 +0,0 @@
1
- from typing import Any, Optional
2
-
3
- import nats
4
- from decoder.typings import AuthConfig
5
- from nats.aio.client import Client as NatsConnection
6
-
7
- from .packer import pack, unpack
8
- from .subscriptions import ProxySubscription
9
- from .task import TaskSet
10
-
11
-
12
- class ProxyConnection:
13
- def __init__(self, name: str, servers: list[str], auth: AuthConfig) -> None:
14
- self.name = name
15
- self.servers = servers
16
- self.auth = auth
17
-
18
- self.tasks: TaskSet = TaskSet(f"{self.name} NatsSubscriber")
19
- self.publisher: Optional[NatsConnection] = None
20
- self.subscribers: list[ProxySubscription] = []
21
-
22
- self.closed = False
23
-
24
- async def connect(self) -> NatsConnection:
25
- async def ignore_cb(e: Optional[Any] = None):
26
- pass
27
-
28
- self.publisher = await nats.connect(
29
- servers=self.servers,
30
- name=self.name,
31
- user=self.auth["user"],
32
- password=self.auth["password"],
33
- max_reconnect_attempts=-1,
34
- error_cb=ignore_cb,
35
- disconnected_cb=ignore_cb,
36
- closed_cb=ignore_cb,
37
- reconnected_cb=ignore_cb,
38
- discovered_server_cb=ignore_cb,
39
- )
40
-
41
- return self.publisher
42
-
43
- async def subscribe(self, subject: str, skip_listening: bool = False) -> ProxySubscription:
44
- if not self.publisher:
45
- raise Exception("Connection not established")
46
-
47
- subscriber = ProxySubscription(await self.publisher.subscribe(subject))
48
-
49
- if not skip_listening:
50
- self.tasks.add(subscriber.listen())
51
-
52
- self.subscribers.append(subscriber)
53
-
54
- return subscriber
55
-
56
- async def publish(self, subject: str, message: Any) -> None:
57
- if self.closed:
58
- return
59
-
60
- if not self.publisher:
61
- raise Exception("Connection not established")
62
-
63
- await self.publisher.publish(subject, pack(message))
64
-
65
- async def request(self, subject: str, message: Any, timeout: float) -> Any:
66
- if self.closed:
67
- return
68
-
69
- if not self.publisher:
70
- raise Exception("Connection not established")
71
-
72
- msg = await self.publisher.request(subject, pack(message), timeout)
73
- response = unpack(msg.data)
74
-
75
- return response
76
-
77
- async def close(self) -> None:
78
- self.closed = True
79
-
80
- for subscriber in self.subscribers:
81
- await subscriber.close()
82
-
83
- if self.publisher:
84
- await self.publisher.close()
85
-
86
- self.tasks.remove_all()
@@ -1,19 +0,0 @@
1
- import json
2
- from typing import Any, Literal
3
-
4
- from lmdbm import Lmdb
5
-
6
-
7
- class JsonLmdb(Lmdb[Literal["config"], dict[str, Any]]):
8
- def _pre_key(self, key: Literal["config"]) -> bytes:
9
- return key.encode("utf-8")
10
-
11
- def _post_key(self, key: bytes) -> Literal["config"]:
12
- _key: Any = key.decode("utf-8")
13
- return _key
14
-
15
- def _pre_value(self, value: dict[str, Any]) -> bytes:
16
- return json.dumps(value).encode("utf-8")
17
-
18
- def _post_value(self, value: bytes) -> dict[str, Any]:
19
- return json.loads(value.decode("utf-8"))
@@ -1,195 +0,0 @@
1
- from typing import Any, Optional, Union, cast
2
-
3
- Path = Union[list[Union[int, str]], list[str], list[int], int, str]
4
-
5
-
6
- def is_empty(value: Union[dict[str, Any], list[Any], Any]) -> bool:
7
- if not value:
8
- return True
9
- if isinstance(value, list) and len(value) == 0:
10
- return True
11
- elif not isinstance(value, str):
12
- return all(i not in value for i in value)
13
- return False
14
-
15
-
16
- def get_key(key: Union[str, int]) -> Union[int, str]:
17
- if isinstance(key, int):
18
- return key
19
- if key.isdigit():
20
- return int(key)
21
- return key
22
-
23
-
24
- class ObjectPath:
25
- @staticmethod
26
- def delete(obj: dict[Any, Any], path: Path) -> dict[Any, Any]:
27
- if isinstance(path, int):
28
- path = [path]
29
-
30
- if is_empty(obj):
31
- return obj
32
-
33
- if isinstance(path, str):
34
- return ObjectPath.delete(obj, path.split("."))
35
-
36
- current_path = get_key(path[0])
37
- ObjectPath.get_shallow_property_safely(obj, current_path)
38
-
39
- if not ObjectPath.has_shallow_property(obj, current_path):
40
- return obj
41
-
42
- if len(path) == 1:
43
- if isinstance(obj, list):
44
- obj.pop(current_path)
45
- else:
46
- del obj[current_path]
47
- else:
48
- ObjectPath.delete(obj[current_path], path[1:])
49
-
50
- return obj
51
-
52
- @staticmethod
53
- def has(obj: Union[dict[Any, Any], list[Any]], path: Path) -> bool:
54
- if isinstance(path, int):
55
- path = [path]
56
- elif isinstance(path, str):
57
- path = path.split(".")
58
-
59
- if not path:
60
- return bool(obj)
61
-
62
- for item in path:
63
- j = get_key(item)
64
-
65
- if isinstance(obj, list):
66
- if isinstance(j, int) and 0 <= j < len(obj):
67
- obj = obj[j]
68
- else:
69
- return False
70
- elif isinstance(obj, dict): # type: ignore
71
- if j in obj:
72
- obj = obj[j]
73
- else:
74
- return False
75
- else:
76
- return False
77
-
78
- return True
79
-
80
- @staticmethod
81
- def get(obj: dict[Any, Any], path: Path, default_value: Any = None) -> Any:
82
- if isinstance(path, int):
83
- path = [path]
84
-
85
- if not path or len(path) == 0:
86
- return obj
87
-
88
- if isinstance(path, str):
89
- return ObjectPath.get(obj, path.split("."), default_value)
90
-
91
- current_path = get_key(path[0])
92
- next_obj = ObjectPath.get_shallow_property_safely(obj, current_path)
93
-
94
- if next_obj is None:
95
- return default_value
96
-
97
- if len(path) == 1:
98
- return next_obj
99
-
100
- return ObjectPath.get(obj[current_path], path[1:], default_value)
101
-
102
- @staticmethod
103
- def set(obj: dict[Any, Any], path: Path, value: Any, do_not_replace: bool = False) -> Any:
104
- if isinstance(path, int):
105
- path = [path]
106
-
107
- if not path or len(path) == 0:
108
- return obj
109
-
110
- if isinstance(path, str):
111
- keys = [get_key(key) for key in path.split(".") if key]
112
- return ObjectPath.set(obj, keys, value, do_not_replace)
113
-
114
- current_path = path[0]
115
- current_value = ObjectPath.get_shallow_property_safely(obj, current_path)
116
-
117
- if len(path) == 1:
118
- if current_value is None or not do_not_replace:
119
- obj[current_path] = value
120
- return current_value
121
-
122
- if current_value is None:
123
- if isinstance(path[1], int):
124
- obj[current_path] = []
125
- else:
126
- obj[current_path] = {}
127
-
128
- return ObjectPath.set(obj[current_path], path[1:], value, do_not_replace)
129
-
130
- @staticmethod
131
- def push(obj: dict[Any, Any], path: Path, *items: Any) -> None:
132
- arr = ObjectPath.get(obj, path)
133
- if not isinstance(arr, list):
134
- arr: Any = []
135
- ObjectPath.set(obj, path, arr)
136
-
137
- arr.extend(items)
138
-
139
- @staticmethod
140
- def coalesce(
141
- obj: dict[Any, Any],
142
- paths: Union[Path, list[Path]],
143
- default_value: Optional[Any] = None,
144
- ) -> Optional[Any]:
145
- for path in paths if isinstance(paths, list) else [paths]:
146
- value = ObjectPath.get(obj, path)
147
- if value is not None:
148
- return value
149
- return default_value
150
-
151
- @staticmethod
152
- def empty(obj: dict[Any, Any], path: Path) -> Any:
153
- if is_empty(path):
154
- return
155
-
156
- value = ObjectPath.get(obj, path)
157
-
158
- if value is None:
159
- return None
160
-
161
- if isinstance(value, str):
162
- return ObjectPath.set(obj, path, "")
163
- elif isinstance(value, bool):
164
- return ObjectPath.set(obj, path, False)
165
- elif isinstance(value, (int, float)):
166
- return ObjectPath.set(obj, path, 0)
167
- elif isinstance(value, (list, dict)):
168
- value.clear()
169
- return cast(Any, value)
170
- else:
171
- return ObjectPath.set(obj, path, None)
172
-
173
- @staticmethod
174
- def ensure_exists(obj: dict[Any, Any], path: Path, value: Any) -> Any:
175
- return ObjectPath.set(obj, path, value, True)
176
-
177
- @staticmethod
178
- def insert(obj: dict[Any, Any], path: Path, value: Any, at: int = 0) -> None:
179
- arr = ObjectPath.get(obj, path)
180
- at = int(at)
181
- if not isinstance(arr, list):
182
- arr: Any = []
183
- ObjectPath.set(obj, path, arr)
184
-
185
- arr.insert(at, value)
186
-
187
- @staticmethod
188
- def has_shallow_property(obj: dict[Any, Any], prop: Union[str, int]) -> bool:
189
- return (isinstance(prop, int) and isinstance(obj, list)) or prop in obj
190
-
191
- @staticmethod
192
- def get_shallow_property_safely(obj: dict[Any, Any], prop: Union[str, int]) -> Any:
193
- if ObjectPath.has_shallow_property(obj, prop):
194
- return obj[prop]
195
- return None
@@ -1,11 +0,0 @@
1
- from typing import Any
2
-
3
- import msgpack
4
-
5
-
6
- def pack(data: Any) -> bytes:
7
- return msgpack.packb(data, datetime=True) # type: ignore
8
-
9
-
10
- def unpack(data: bytes) -> Any:
11
- return msgpack.unpackb(data, timestamp=0) # type: ignore
@@ -1,22 +0,0 @@
1
- import asyncio
2
-
3
- from nats.aio.subscription import Subscription as NatsSubscription
4
- from pyeecui.asyncio import AsyncIOEventEmitter
5
-
6
-
7
- class ProxySubscription(AsyncIOEventEmitter):
8
- def __init__(self, subscriber: NatsSubscription, max_concurrent: int = 25) -> None:
9
- super().__init__()
10
- self.subscriber = subscriber
11
- self.semaphore = asyncio.Semaphore(max_concurrent)
12
-
13
- async def listen(self):
14
- async for msg in self.subscriber.messages:
15
- if len(msg.data) == 0:
16
- continue
17
- async with self.semaphore:
18
- self.emit("message", msg)
19
-
20
- async def close(self):
21
- self.remove_all_listeners()
22
- await self.subscriber.unsubscribe()
@@ -1,35 +0,0 @@
1
- import asyncio
2
- from collections.abc import Coroutine
3
- from typing import Any, Optional
4
-
5
-
6
- class TaskSet:
7
- def __init__(self, name: Optional[str] = None) -> None:
8
- self.tasks = set[asyncio.Task[Any]]()
9
- self.name = name
10
-
11
- def log_prefix(self) -> str:
12
- return f"[{self.name}]"
13
-
14
- def add(self, coroutine: Coroutine[Any, Any, Any]) -> asyncio.Task[Any]:
15
- task = asyncio.create_task(coroutine, name=self.name)
16
- self.tasks.add(task)
17
- task.add_done_callback(lambda _: self.remove(task))
18
-
19
- return task
20
-
21
- def remove(self, task: asyncio.Task[Any]) -> None:
22
- if task in self.tasks:
23
- if not task.cancelled():
24
- task.cancel()
25
-
26
- self.tasks.remove(task)
27
-
28
- def remove_all(self) -> None:
29
- for task in self.tasks:
30
- self.remove(task)
31
-
32
- self.tasks.clear()
33
-
34
- def __await__(self) -> Any:
35
- return asyncio.gather(*self.tasks).__await__()
@@ -1,10 +0,0 @@
1
- import asyncio
2
- import concurrent.futures
3
- from typing import Any
4
-
5
- toThreadExecutor = concurrent.futures.ThreadPoolExecutor(max_workers=2, thread_name_prefix="worker")
6
-
7
-
8
- async def to_thread(f: Any) -> Any:
9
- loop = asyncio.get_running_loop()
10
- return await loop.run_in_executor(toThreadExecutor, f)
@@ -1,73 +0,0 @@
1
- from typing import Any, Callable, Optional, Union
2
-
3
- TObject = Union[Any, dict[str, Any], list[Any]]
4
- TSource = Union[Any, dict[str, Any], list[Any]]
5
- TKey = Union[str, int]
6
- Customizer = Callable[[Any, Any, TKey, TObject, TSource, list[Any]], Any]
7
-
8
-
9
- def merge_with(
10
- object: TObject,
11
- source: TSource,
12
- customizer: Customizer,
13
- stack: Optional[list[Any]] = None,
14
- ) -> Any:
15
- if stack is None:
16
- stack = []
17
-
18
- if isinstance(object, list) and isinstance(source, list):
19
- result = object.copy()
20
- for i in range(max(len(object), len(source))):
21
- if i < len(source):
22
- stack.append({"key": i, "object": object, "source": source})
23
- if i < len(object):
24
- obj_value = object[i]
25
- src_value = source[i]
26
- customized_value = customizer(obj_value, src_value, i, object, source, stack)
27
- if customized_value is not None:
28
- result[i] = customized_value
29
- elif isinstance(obj_value, (dict, list)) and isinstance(src_value, (dict, list)):
30
- result[i] = merge_with(obj_value, src_value, customizer, stack) # type: ignore
31
- else:
32
- result[i] = src_value
33
- else:
34
- result.append(source[i])
35
- stack.pop()
36
- return result
37
-
38
- elif isinstance(object, dict) and isinstance(source, dict):
39
- for key in source:
40
- if key in source:
41
- obj_value = object.get(key)
42
- src_value = source[key]
43
-
44
- stack.append({"key": key, "object": object, "source": source})
45
-
46
- customized_value = customizer(obj_value, src_value, key, object, source, stack)
47
-
48
- if customized_value is not None:
49
- object[key] = customized_value
50
- elif isinstance(obj_value, (dict, list)) and isinstance(src_value, (dict, list)):
51
- object[key] = merge_with(obj_value, src_value, customizer, stack) # type: ignore
52
- else:
53
- object[key] = src_value
54
-
55
- stack.pop()
56
-
57
- return object
58
-
59
- else:
60
- return source
61
-
62
-
63
- def merge(
64
- obj_value: Any,
65
- src_value: Any,
66
- key: TKey,
67
- object: TObject,
68
- source: TSource,
69
- stack: list[Any],
70
- ) -> Any:
71
- if isinstance(obj_value, list):
72
- return src_value
73
- return None