camera.ui3 0.0.30-alpha.0 → 0.0.30-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (390) hide show
  1. package/dist/interface/@camera.ui.DuwfK59t.0.0.30-alpha.3.js +3 -0
  2. package/dist/interface/@tanstack.DBBaUHTS.0.0.30-alpha.3.js +1 -0
  3. package/dist/interface/{@vee-validate.0Cv0x9aN.0.0.30-alpha.0.js → @vee-validate.BRR3_tWq.0.0.30-alpha.3.js} +1 -1
  4. package/dist/interface/@vue.BeJw0wEm.0.0.30-alpha.3.js +17 -0
  5. package/dist/interface/{@vueform.Du_niMHk.0.0.30-alpha.0.js → @vueform.Dcx-RQUw.0.0.30-alpha.3.js} +1 -1
  6. package/dist/interface/{@vueuse.Dv9U068T.0.0.30-alpha.0.js → @vueuse.Sz46sDez.0.0.30-alpha.3.js} +1 -1
  7. package/dist/interface/Account.hmetZWTc.0.0.30-alpha.3.js +1 -0
  8. package/dist/interface/Adminpanel.DxC80W0K.0.0.30-alpha.3.js +2 -0
  9. package/dist/interface/Appearance.BHZdWQlZ.0.0.30-alpha.3.js +1 -0
  10. package/dist/interface/Backup.petPSq60.0.0.30-alpha.3.js +1 -0
  11. package/dist/interface/Camera.DS7gbgwV.0.0.30-alpha.3.js +1 -0
  12. package/dist/interface/Cameras.eqceAkdR.0.0.30-alpha.3.js +1 -0
  13. package/dist/interface/Camview.DumV6nmv.0.0.30-alpha.3.js +1 -0
  14. package/dist/interface/Config.DQ5vyHcx.0.0.30-alpha.3.js +1 -0
  15. package/dist/interface/Console.CWp-LL5w.0.0.30-alpha.3.js +4 -0
  16. package/dist/interface/FirstSteps.DR2B1Gmx.0.0.30-alpha.3.js +1 -0
  17. package/dist/interface/{NewCamera.Kn9biZIb.0.0.30-alpha.0.js → NewCamera.CpENkWIP.0.0.30-alpha.3.js} +2 -2
  18. package/dist/interface/Plugin.KK2gWYUL.0.0.30-alpha.3.js +1 -0
  19. package/dist/interface/Plugins.Dy1rL-Pc.0.0.30-alpha.3.js +1 -0
  20. package/dist/interface/Recordings.Bny11D38.0.0.30-alpha.3.js +1 -0
  21. package/dist/interface/Recordings.IdGxswmI.0.0.30-alpha.3.js +1 -0
  22. package/dist/interface/Settings.D6l7BlOF.0.0.30-alpha.3.js +1 -0
  23. package/dist/interface/System.FIkCpF0A.0.0.30-alpha.3.js +4 -0
  24. package/dist/interface/User.By9sAd8k.0.0.30-alpha.3.js +1 -0
  25. package/dist/interface/VConfigEditor.vue_vue_type_script_setup_true_lang.C7ZcC7dX.0.0.30-alpha.3.js +2 -0
  26. package/dist/interface/{VConsole.BT0UxZb1.0.0.30-alpha.0.js → VConsole.BG4nEIk8.0.0.30-alpha.3.js} +1 -1
  27. package/dist/interface/VPlayer.CZqXCM-i.0.0.30-alpha.3.js +1 -0
  28. package/dist/interface/{VPluginCard.Bz3GmzAE.0.0.30-alpha.0.js → VPluginCard.B_M3puzM.0.0.30-alpha.3.js} +2 -2
  29. package/dist/interface/{ace-builds.SRW0xGs1.0.0.30-alpha.0.js → ace-builds.D4S-MJ6b.0.0.30-alpha.3.js} +1 -1
  30. package/dist/interface/{apexcharts.BV8prH5x.0.0.30-alpha.0.js → apexcharts.u0duws01.0.0.30-alpha.3.js} +1 -1
  31. package/dist/interface/{dnd-core.BdsXoke-.0.0.30-alpha.0.js → dnd-core.C4232Xyz.0.0.30-alpha.3.js} +1 -1
  32. package/dist/interface/{draggabilly.D9j4BYFu.0.0.30-alpha.0.js → draggabilly.Xgwn1bT3.0.0.30-alpha.3.js} +1 -1
  33. package/dist/interface/{engine.io-client.di4Pt8W8.0.0.30-alpha.0.js → engine.io-client.CUastNh3.0.0.30-alpha.3.js} +1 -1
  34. package/dist/interface/{ev-emitter.Dxl4QoSg.0.0.30-alpha.0.js → ev-emitter.BYRnnQXb.0.0.30-alpha.3.js} +1 -1
  35. package/dist/interface/{fast-deep-equal.BUna8KlC.0.0.30-alpha.0.js → fast-deep-equal.CqwdqDxW.0.0.30-alpha.3.js} +1 -1
  36. package/dist/interface/{highlight.js.CMosnU3p.0.0.30-alpha.0.js → highlight.js.sNLmnsuC.0.0.30-alpha.3.js} +1 -1
  37. package/dist/interface/index.html +34 -33
  38. package/dist/interface/{linkify-it.B9RFwlcp.0.0.30-alpha.0.js → linkify-it.8PrPWg7W.0.0.30-alpha.3.js} +1 -1
  39. package/dist/interface/main.gxLiydtV.0.0.30-alpha.3.js +2 -0
  40. package/dist/interface/{markdown-it.DAiultxC.0.0.30-alpha.0.js → markdown-it.Q4_2MGLy.0.0.30-alpha.3.js} +1 -1
  41. package/dist/interface/{nprogress.C2KbBHcZ.0.0.30-alpha.0.js → nprogress.DQYtKLt9.0.0.30-alpha.3.js} +1 -1
  42. package/dist/interface/{pinia.DRjp4GU7.0.0.30-alpha.0.js → pinia.DcgsdRJU.0.0.30-alpha.3.js} +2 -2
  43. package/dist/interface/{plugins.Ur_7V4x8.0.0.30-alpha.0.js → plugins.DZjXmoDp.0.0.30-alpha.3.js} +1 -1
  44. package/dist/interface/{qrcode.DrYVb5am.0.0.30-alpha.0.js → qrcode.XqSuoGPb.0.0.30-alpha.3.js} +1 -1
  45. package/dist/interface/{react-dnd-touch-backend.ByHGbrKq.0.0.30-alpha.0.js → react-dnd-touch-backend.VzlzWkdX.0.0.30-alpha.3.js} +1 -1
  46. package/dist/interface/{rxjs.Dl5P76vZ.0.0.30-alpha.0.js → rxjs.CXnJywSk.0.0.30-alpha.3.js} +1 -1
  47. package/dist/interface/{socket.io-client.Cf7ABgrO.0.0.30-alpha.0.js → socket.io-client.DiiooL5k.0.0.30-alpha.3.js} +1 -1
  48. package/dist/interface/{socket.io-parser.DHnwqfTj.0.0.30-alpha.0.js → socket.io-parser.Dsh2ZviN.0.0.30-alpha.3.js} +1 -1
  49. package/dist/interface/sw.js +1 -1
  50. package/dist/interface/{system.CRn9Cy3C.0.0.30-alpha.0.js → system.Bh4wNIkr.0.0.30-alpha.3.js} +1 -1
  51. package/dist/interface/{ui.C-XbEPHk.0.0.30-alpha.0.js → ui.B0YwbqBU.0.0.30-alpha.3.js} +1 -1
  52. package/dist/interface/{unidragger.zHlf1Df_.0.0.30-alpha.0.js → unidragger.DDL70rPA.0.0.30-alpha.3.js} +1 -1
  53. package/dist/interface/utils.mAKpSMLY.0.0.30-alpha.3.js +1 -0
  54. package/dist/interface/{v-calendar.CapJoEkJ.0.0.30-alpha.0.js → v-calendar.C8Yj7x1Q.0.0.30-alpha.3.js} +1 -1
  55. package/dist/interface/{vee-validate.DcgOEpak.0.0.30-alpha.0.js → vee-validate.BbcoErf-.0.0.30-alpha.3.js} +2 -2
  56. package/dist/interface/{vue-i18n.D2pqkMP3.0.0.30-alpha.0.js → vue-i18n.B7m8y9GA.0.0.30-alpha.3.js} +2 -2
  57. package/dist/interface/{vue-inline-svg.DorOTPIf.0.0.30-alpha.0.js → vue-inline-svg.DC2U7Qim.0.0.30-alpha.3.js} +1 -1
  58. package/dist/interface/{vue-router.BVs4qaVs.0.0.30-alpha.0.js → vue-router.B3QeItm5.0.0.30-alpha.3.js} +2 -2
  59. package/dist/interface/{vue3-apexcharts.CBV9x5vk.0.0.30-alpha.0.js → vue3-apexcharts.DVzl7xGy.0.0.30-alpha.3.js} +1 -1
  60. package/dist/interface/{vue3-dnd.CXMddGIZ.0.0.30-alpha.0.js → vue3-dnd.76cFMD9V.0.0.30-alpha.3.js} +1 -1
  61. package/dist/interface/{vue3-toastify.DE7YmDSX.0.0.30-alpha.0.js → vue3-toastify.B-AJ7WuP.0.0.30-alpha.3.js} +1 -1
  62. package/dist/interface/{vuetify.CYxxHEVN.0.0.30-alpha.0.js → vuetify.CYln2r6g.0.0.30-alpha.3.js} +1 -1
  63. package/dist/interface/zod.DnW1_kUe.0.0.30-alpha.3.js +1 -0
  64. package/dist/server/bin/cameraui.js +10 -7
  65. package/dist/server/bin/cameraui.js.map +1 -1
  66. package/dist/server/bin/fork.js +2 -2
  67. package/dist/server/bin/fork.js.map +1 -1
  68. package/dist/server/bin/installer/darwin.js +1 -1
  69. package/dist/server/bin/installer/darwin.js.map +1 -1
  70. package/dist/server/bin/installer/linux.js +1 -1
  71. package/dist/server/bin/installer/linux.js.map +1 -1
  72. package/dist/server/package.json +11 -15
  73. package/dist/server/src/api/controllers/backup.controller.js.map +1 -1
  74. package/dist/server/src/api/controllers/cameras.controller.js +1 -1
  75. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  76. package/dist/server/src/api/controllers/frameWorkers.controller.js +1 -1
  77. package/dist/server/src/api/controllers/frameWorkers.controller.js.map +1 -1
  78. package/dist/server/src/api/controllers/plugins.controller.js +1 -2
  79. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  80. package/dist/server/src/api/controllers/system.controller.js +1 -3
  81. package/dist/server/src/api/controllers/system.controller.js.map +1 -1
  82. package/dist/server/src/api/controllers/users.controller.js +2 -2
  83. package/dist/server/src/api/controllers/users.controller.js.map +1 -1
  84. package/dist/server/src/api/database/constants.d.ts +8 -0
  85. package/dist/server/src/api/database/constants.js +9 -0
  86. package/dist/server/src/api/database/constants.js.map +1 -0
  87. package/dist/server/src/api/database/index.d.ts +0 -8
  88. package/dist/server/src/api/database/index.js +14 -21
  89. package/dist/server/src/api/database/index.js.map +1 -1
  90. package/dist/server/src/api/database/migration.js +5 -4
  91. package/dist/server/src/api/database/migration.js.map +1 -1
  92. package/dist/server/src/api/database/types.d.ts +6 -6
  93. package/dist/server/src/api/go2rtc/api/application.js +1 -1
  94. package/dist/server/src/api/go2rtc/api/application.js.map +1 -1
  95. package/dist/server/src/api/index.js.map +1 -1
  96. package/dist/server/src/api/plugins/logger.plugin.js.map +1 -1
  97. package/dist/server/src/api/schemas/cameras.schema.d.ts +71 -71
  98. package/dist/server/src/api/schemas/config.schema.d.ts +6 -6
  99. package/dist/server/src/api/schemas/go2rtc.schema.d.ts +98 -98
  100. package/dist/server/src/api/schemas/users.schema.d.ts +116 -116
  101. package/dist/server/src/api/services/auth.service.js +1 -1
  102. package/dist/server/src/api/services/auth.service.js.map +1 -1
  103. package/dist/server/src/api/services/backup.service.js.map +1 -1
  104. package/dist/server/src/api/services/cameras.service.js +1 -1
  105. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  106. package/dist/server/src/api/services/system.service.js +1 -1
  107. package/dist/server/src/api/services/system.service.js.map +1 -1
  108. package/dist/server/src/api/services/users.service.js +1 -1
  109. package/dist/server/src/api/services/users.service.js.map +1 -1
  110. package/dist/server/src/api/types/index.d.ts +2 -2
  111. package/dist/server/src/api/types/index.js.map +1 -1
  112. package/dist/server/src/api/utils/cert.js.map +1 -1
  113. package/dist/server/src/api/websocket/index.js.map +1 -1
  114. package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -1
  115. package/dist/server/src/api/websocket/nsp/server.js +1 -1
  116. package/dist/server/src/api/websocket/nsp/server.js.map +1 -1
  117. package/dist/server/src/api.d.ts +1 -7
  118. package/dist/server/src/api.js.map +1 -1
  119. package/dist/server/src/camera/controller.d.ts +4 -6
  120. package/dist/server/src/camera/controller.js +5 -8
  121. package/dist/server/src/camera/controller.js.map +1 -1
  122. package/dist/server/src/camera/types.d.ts +140 -13
  123. package/dist/server/src/camera/types.js.map +1 -1
  124. package/dist/server/src/decoder/index.js.map +1 -1
  125. package/dist/server/src/decoder/types.d.ts +1 -18
  126. package/dist/server/src/decoder/worker.d.ts +3 -2
  127. package/dist/server/src/decoder/worker.js +10 -22
  128. package/dist/server/src/decoder/worker.js.map +1 -1
  129. package/dist/server/src/go2rtc/index.js +2 -3
  130. package/dist/server/src/go2rtc/index.js.map +1 -1
  131. package/dist/server/src/main.js +3 -3
  132. package/dist/server/src/main.js.map +1 -1
  133. package/dist/server/src/nats/index.d.ts +3 -4
  134. package/dist/server/src/nats/index.js +1 -3
  135. package/dist/server/src/nats/index.js.map +1 -1
  136. package/dist/server/src/nats/proxy/cameraDevice.d.ts +2 -2
  137. package/dist/server/src/nats/proxy/coreManager.d.ts +4 -2
  138. package/dist/server/src/nats/proxy/coreManager.js +7 -0
  139. package/dist/server/src/nats/proxy/coreManager.js.map +1 -1
  140. package/dist/server/src/nats/proxy/deviceManager.d.ts +5 -5
  141. package/dist/server/src/nats/proxy/deviceManager.js +4 -2
  142. package/dist/server/src/nats/proxy/deviceManager.js.map +1 -1
  143. package/dist/server/src/nats/server.js +2 -3
  144. package/dist/server/src/nats/server.js.map +1 -1
  145. package/dist/server/src/nats/types.d.ts +19 -32
  146. package/dist/server/src/nats/utils.d.ts +1 -1
  147. package/dist/server/src/nats/websocket.js.map +1 -1
  148. package/dist/server/src/plugins/index.js +11 -9
  149. package/dist/server/src/plugins/index.js.map +1 -1
  150. package/dist/server/src/plugins/interfaces/base.d.ts +1 -1
  151. package/dist/server/src/plugins/plugin.d.ts +1 -1
  152. package/dist/server/src/plugins/plugin.js +4 -4
  153. package/dist/server/src/plugins/plugin.js.map +1 -1
  154. package/dist/server/src/plugins/types.d.ts +36 -3
  155. package/dist/server/src/plugins/types.js.map +1 -1
  156. package/dist/server/src/plugins/worker.js +7 -16
  157. package/dist/server/src/plugins/worker.js.map +1 -1
  158. package/dist/server/src/services/config/constants.js +2 -2
  159. package/dist/server/src/services/config/constants.js.map +1 -1
  160. package/dist/server/src/services/config/index.d.ts +2 -0
  161. package/dist/server/src/services/config/index.js +10 -2
  162. package/dist/server/src/services/config/index.js.map +1 -1
  163. package/dist/server/src/services/logger/index.d.ts +4 -16
  164. package/dist/server/src/services/logger/index.js +4 -83
  165. package/dist/server/src/services/logger/index.js.map +1 -1
  166. package/dist/server/src/services/logger/types.d.ts +8 -0
  167. package/dist/server/src/services/logger/types.js +2 -0
  168. package/dist/server/src/services/logger/types.js.map +1 -0
  169. package/localdeps.txt +4 -0
  170. package/package.json +11 -15
  171. package/dist/interface/@tanstack.DYQ7Jj8U.0.0.30-alpha.0.js +0 -1
  172. package/dist/interface/@vue.CvjRlaU6.0.0.30-alpha.0.js +0 -17
  173. package/dist/interface/Account.Dm2FouAU.0.0.30-alpha.0.js +0 -1
  174. package/dist/interface/Adminpanel.B2Aiobnt.0.0.30-alpha.0.js +0 -2
  175. package/dist/interface/Appearance.EfH0tMdM.0.0.30-alpha.0.js +0 -1
  176. package/dist/interface/Backup.D8SRclhB.0.0.30-alpha.0.js +0 -1
  177. package/dist/interface/Camera.D-cOf4sS.0.0.30-alpha.0.js +0 -1
  178. package/dist/interface/Cameras.oolxbmXU.0.0.30-alpha.0.js +0 -1
  179. package/dist/interface/Camview.BHw8Pe3v.0.0.30-alpha.0.js +0 -1
  180. package/dist/interface/Config.DmPTI5iz.0.0.30-alpha.0.js +0 -1
  181. package/dist/interface/Console.Dq4khHFF.0.0.30-alpha.0.js +0 -4
  182. package/dist/interface/FirstSteps.Bo467abx.0.0.30-alpha.0.js +0 -1
  183. package/dist/interface/Plugin.BLTVcTt1.0.0.30-alpha.0.js +0 -1
  184. package/dist/interface/Plugins.Cp8mK__o.0.0.30-alpha.0.js +0 -1
  185. package/dist/interface/Recordings.B_JIFk_G.0.0.30-alpha.0.js +0 -1
  186. package/dist/interface/Recordings.gMbvwmk_.0.0.30-alpha.0.js +0 -1
  187. package/dist/interface/Settings.EhHJjGrl.0.0.30-alpha.0.js +0 -1
  188. package/dist/interface/System.VodoK0U6.0.0.30-alpha.0.js +0 -4
  189. package/dist/interface/User.DpcN7DEC.0.0.30-alpha.0.js +0 -1
  190. package/dist/interface/VConfigEditor.vue_vue_type_script_setup_true_lang.Br68bfQJ.0.0.30-alpha.0.js +0 -2
  191. package/dist/interface/VPlayer.DYua3Eh_.0.0.30-alpha.0.js +0 -1
  192. package/dist/interface/main.19pRAqPU.0.0.30-alpha.0.js +0 -4
  193. package/dist/interface/utils.BvINh1mj.0.0.30-alpha.0.js +0 -1
  194. package/dist/interface/zod.BaF2dDCd.0.0.30-alpha.0.js +0 -1
  195. package/dist/server/src/camera/device.d.ts +0 -29
  196. package/dist/server/src/camera/device.js +0 -20
  197. package/dist/server/src/camera/device.js.map +0 -1
  198. package/dist/server/src/camera/index.d.ts +0 -90
  199. package/dist/server/src/camera/index.js +0 -581
  200. package/dist/server/src/camera/index.js.map +0 -1
  201. package/dist/server/src/camera/interfaces/camera.d.ts +0 -10
  202. package/dist/server/src/camera/interfaces/camera.js +0 -23
  203. package/dist/server/src/camera/interfaces/camera.js.map +0 -1
  204. package/dist/server/src/camera/interfaces/prebuffer.d.ts +0 -11
  205. package/dist/server/src/camera/interfaces/prebuffer.js +0 -31
  206. package/dist/server/src/camera/interfaces/prebuffer.js.map +0 -1
  207. package/dist/server/src/camera/interfaces/ptz.d.ts +0 -13
  208. package/dist/server/src/camera/interfaces/ptz.js +0 -47
  209. package/dist/server/src/camera/interfaces/ptz.js.map +0 -1
  210. package/dist/server/src/camera/iou.d.ts +0 -2
  211. package/dist/server/src/camera/iou.js +0 -53
  212. package/dist/server/src/camera/iou.js.map +0 -1
  213. package/dist/server/src/camera/polygon.d.ts +0 -6
  214. package/dist/server/src/camera/polygon.js +0 -151
  215. package/dist/server/src/camera/polygon.js.map +0 -1
  216. package/dist/server/src/camera/streaming/peer-connection.d.ts +0 -55
  217. package/dist/server/src/camera/streaming/peer-connection.js +0 -203
  218. package/dist/server/src/camera/streaming/peer-connection.js.map +0 -1
  219. package/dist/server/src/camera/streaming/webrtc-connection.d.ts +0 -35
  220. package/dist/server/src/camera/streaming/webrtc-connection.js +0 -170
  221. package/dist/server/src/camera/streaming/webrtc-connection.js.map +0 -1
  222. package/dist/server/src/camera/streaming/werift-session.d.ts +0 -41
  223. package/dist/server/src/camera/streaming/werift-session.js +0 -179
  224. package/dist/server/src/camera/streaming/werift-session.js.map +0 -1
  225. package/dist/server/src/camera/videoFrame.d.ts +0 -24
  226. package/dist/server/src/camera/videoFrame.js +0 -104
  227. package/dist/server/src/camera/videoFrame.js.map +0 -1
  228. package/dist/server/src/index.d.ts +0 -18
  229. package/dist/server/src/index.js +0 -5
  230. package/dist/server/src/index.js.map +0 -1
  231. package/dist/server/src/nats/connection.d.ts +0 -17
  232. package/dist/server/src/nats/connection.js +0 -66
  233. package/dist/server/src/nats/connection.js.map +0 -1
  234. package/dist/server/src/nats/constants.d.ts +0 -1
  235. package/dist/server/src/nats/constants.js +0 -2
  236. package/dist/server/src/nats/constants.js.map +0 -1
  237. package/dist/server/src/nats/error.d.ts +0 -9
  238. package/dist/server/src/nats/error.js +0 -11
  239. package/dist/server/src/nats/error.js.map +0 -1
  240. package/dist/server/src/nats/messageQueue.d.ts +0 -20
  241. package/dist/server/src/nats/messageQueue.js +0 -132
  242. package/dist/server/src/nats/messageQueue.js.map +0 -1
  243. package/dist/server/src/nats/subscription.d.ts +0 -12
  244. package/dist/server/src/nats/subscription.js +0 -21
  245. package/dist/server/src/nats/subscription.js.map +0 -1
  246. package/dist/server/src/polyglot/node/decoder/child.d.ts +0 -1
  247. package/dist/server/src/polyglot/node/decoder/child.js +0 -644
  248. package/dist/server/src/polyglot/node/decoder/child.js.map +0 -1
  249. package/dist/server/src/polyglot/node/decoder/imageUtils.d.ts +0 -24
  250. package/dist/server/src/polyglot/node/decoder/imageUtils.js +0 -205
  251. package/dist/server/src/polyglot/node/decoder/imageUtils.js.map +0 -1
  252. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.d.ts +0 -144
  253. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.js +0 -65
  254. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.wasm +0 -0
  255. package/dist/server/src/polyglot/node/decoder/wasm/test/imageUtils.py +0 -106
  256. package/dist/server/src/polyglot/node/plugins/cameraStorage.d.ts +0 -107
  257. package/dist/server/src/polyglot/node/plugins/cameraStorage.js +0 -292
  258. package/dist/server/src/polyglot/node/plugins/cameraStorage.js.map +0 -1
  259. package/dist/server/src/polyglot/node/plugins/child.d.ts +0 -28
  260. package/dist/server/src/polyglot/node/plugins/child.js +0 -222
  261. package/dist/server/src/polyglot/node/plugins/child.js.map +0 -1
  262. package/dist/server/src/polyglot/node/plugins/configService.d.ts +0 -104
  263. package/dist/server/src/polyglot/node/plugins/configService.js +0 -213
  264. package/dist/server/src/polyglot/node/plugins/configService.js.map +0 -1
  265. package/dist/server/src/polyglot/node/plugins/pluginApi.d.ts +0 -35
  266. package/dist/server/src/polyglot/node/plugins/pluginApi.js +0 -23
  267. package/dist/server/src/polyglot/node/plugins/pluginApi.js.map +0 -1
  268. package/dist/server/src/polyglot/node/plugins/pluginLogger.d.ts +0 -18
  269. package/dist/server/src/polyglot/node/plugins/pluginLogger.js +0 -89
  270. package/dist/server/src/polyglot/node/plugins/pluginLogger.js.map +0 -1
  271. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.d.ts +0 -69
  272. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js +0 -423
  273. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js.map +0 -1
  274. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.d.ts +0 -40
  275. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.js +0 -105
  276. package/dist/server/src/polyglot/node/plugins/proxy/coreManager.js.map +0 -1
  277. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.d.ts +0 -47
  278. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.js +0 -164
  279. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.js.map +0 -1
  280. package/dist/server/src/polyglot/node/plugins/schema.d.ts +0 -293
  281. package/dist/server/src/polyglot/node/plugins/schema.js +0 -740
  282. package/dist/server/src/polyglot/node/plugins/schema.js.map +0 -1
  283. package/dist/server/src/polyglot/node/plugins/storageController.d.ts +0 -30
  284. package/dist/server/src/polyglot/node/plugins/storageController.js +0 -40
  285. package/dist/server/src/polyglot/node/plugins/storageController.js.map +0 -1
  286. package/dist/server/src/polyglot/python/camera/interfaces/camera.py +0 -20
  287. package/dist/server/src/polyglot/python/camera/interfaces/prebuffer.py +0 -28
  288. package/dist/server/src/polyglot/python/camera/interfaces/ptz.py +0 -38
  289. package/dist/server/src/polyglot/python/camera/iou.py +0 -80
  290. package/dist/server/src/polyglot/python/camera/polygon.py +0 -173
  291. package/dist/server/src/polyglot/python/camera/video_frame.py +0 -188
  292. package/dist/server/src/polyglot/python/camera_ui_types/__init__.py +0 -1200
  293. package/dist/server/src/polyglot/python/decoder/child.py +0 -882
  294. package/dist/server/src/polyglot/python/decoder/image_utils.py +0 -149
  295. package/dist/server/src/polyglot/python/decoder/typings.py +0 -99
  296. package/dist/server/src/polyglot/python/plugins/camera_storage.py +0 -391
  297. package/dist/server/src/polyglot/python/plugins/child.py +0 -394
  298. package/dist/server/src/polyglot/python/plugins/config_service.py +0 -187
  299. package/dist/server/src/polyglot/python/plugins/constants.py +0 -1
  300. package/dist/server/src/polyglot/python/plugins/message_queue.py +0 -182
  301. package/dist/server/src/polyglot/python/plugins/plugin_api.py +0 -34
  302. package/dist/server/src/polyglot/python/plugins/plugin_logger.py +0 -111
  303. package/dist/server/src/polyglot/python/plugins/proxy/camera_device.py +0 -1599
  304. package/dist/server/src/polyglot/python/plugins/proxy/core_manager.py +0 -145
  305. package/dist/server/src/polyglot/python/plugins/proxy/device_manager.py +0 -226
  306. package/dist/server/src/polyglot/python/plugins/schema.py +0 -181
  307. package/dist/server/src/polyglot/python/plugins/storage_controller.py +0 -58
  308. package/dist/server/src/polyglot/python/plugins/typings.py +0 -253
  309. package/dist/server/src/polyglot/python/utilities/connection.py +0 -86
  310. package/dist/server/src/polyglot/python/utilities/json_lmdb.py +0 -19
  311. package/dist/server/src/polyglot/python/utilities/object_path.py +0 -195
  312. package/dist/server/src/polyglot/python/utilities/packer.py +0 -11
  313. package/dist/server/src/polyglot/python/utilities/subscriptions.py +0 -22
  314. package/dist/server/src/polyglot/python/utilities/task.py +0 -35
  315. package/dist/server/src/polyglot/python/utilities/thread.py +0 -10
  316. package/dist/server/src/polyglot/python/utilities/utils.py +0 -73
  317. package/dist/server/src/utils/ffmpeg.d.ts +0 -2
  318. package/dist/server/src/utils/ffmpeg.js +0 -61
  319. package/dist/server/src/utils/ffmpeg.js.map +0 -1
  320. package/dist/server/src/utils/network.d.ts +0 -12
  321. package/dist/server/src/utils/network.js +0 -92
  322. package/dist/server/src/utils/network.js.map +0 -1
  323. package/dist/server/src/utils/npm.d.ts +0 -4
  324. package/dist/server/src/utils/npm.js +0 -128
  325. package/dist/server/src/utils/npm.js.map +0 -1
  326. package/dist/server/src/utils/packer.d.ts +0 -2
  327. package/dist/server/src/utils/packer.js +0 -17
  328. package/dist/server/src/utils/packer.js.map +0 -1
  329. package/dist/server/src/utils/pythonInstaller.d.ts +0 -48
  330. package/dist/server/src/utils/pythonInstaller.js +0 -494
  331. package/dist/server/src/utils/pythonInstaller.js.map +0 -1
  332. package/dist/server/src/utils/reader.d.ts +0 -5
  333. package/dist/server/src/utils/reader.js +0 -41
  334. package/dist/server/src/utils/reader.js.map +0 -1
  335. package/dist/server/src/utils/subscribed.d.ts +0 -9
  336. package/dist/server/src/utils/subscribed.js +0 -17
  337. package/dist/server/src/utils/subscribed.js.map +0 -1
  338. package/dist/server/src/utils/utils.d.ts +0 -10
  339. package/dist/server/src/utils/utils.js +0 -165
  340. package/dist/server/src/utils/utils.js.map +0 -1
  341. /package/dist/interface/{@babel.l0sNRNKZ.0.0.30-alpha.0.js → @babel.l0sNRNKZ.0.0.30-alpha.3.js} +0 -0
  342. /package/dist/interface/{@intlify.YW_pt133.0.0.30-alpha.0.js → @intlify.YW_pt133.0.0.30-alpha.3.js} +0 -0
  343. /package/dist/interface/{@mdi.DnMbZhUH.0.0.30-alpha.0.js → @mdi.DnMbZhUH.0.0.30-alpha.3.js} +0 -0
  344. /package/dist/interface/{@popperjs.BQBsAJpH.0.0.30-alpha.0.js → @popperjs.BQBsAJpH.0.0.30-alpha.3.js} +0 -0
  345. /package/dist/interface/{@react-dnd.CcwRs9xb.0.0.30-alpha.0.js → @react-dnd.CcwRs9xb.0.0.30-alpha.3.js} +0 -0
  346. /package/dist/interface/{@socket.io.Dkula2eQ.0.0.30-alpha.0.js → @socket.io.Dkula2eQ.0.0.30-alpha.3.js} +0 -0
  347. /package/dist/interface/{@xterm.CnserxUX.0.0.30-alpha.0.js → @xterm.-WsTvn6n.0.0.30-alpha.3.js} +0 -0
  348. /package/dist/interface/assets/{@vueform.0.0.30-alpha.0.h7tNX9p6.css → @vueform.0.0.30-alpha.3.h7tNX9p6.css} +0 -0
  349. /package/dist/interface/assets/{@xterm.0.0.30-alpha.0.CGrrDQr5.css → @xterm.0.0.30-alpha.3.CGrrDQr5.css} +0 -0
  350. /package/dist/interface/assets/{Account.0.0.30-alpha.0.Ce3OmKrC.css → Account.0.0.30-alpha.3.Ce3OmKrC.css} +0 -0
  351. /package/dist/interface/assets/{Adminpanel.0.0.30-alpha.0.CXsTAXPL.css → Adminpanel.0.0.30-alpha.3.CXsTAXPL.css} +0 -0
  352. /package/dist/interface/assets/{Backup.0.0.30-alpha.0.BIwaSlv3.css → Backup.0.0.30-alpha.3.BIwaSlv3.css} +0 -0
  353. /package/dist/interface/assets/{Camera.0.0.30-alpha.0.BDtUJ-lA.css → Camera.0.0.30-alpha.3.BDtUJ-lA.css} +0 -0
  354. /package/dist/interface/assets/{Cameras.0.0.30-alpha.0.Djx0F2MM.css → Cameras.0.0.30-alpha.3.Djx0F2MM.css} +0 -0
  355. /package/dist/interface/assets/{Camview.0.0.30-alpha.0.Ce_V-Nxj.css → Camview.0.0.30-alpha.3.Ce_V-Nxj.css} +0 -0
  356. /package/dist/interface/assets/{Config.0.0.30-alpha.0.k4QpWumg.css → Config.0.0.30-alpha.3.k4QpWumg.css} +0 -0
  357. /package/dist/interface/assets/{Console.0.0.30-alpha.0.DWrfRWs9.css → Console.0.0.30-alpha.3.DWrfRWs9.css} +0 -0
  358. /package/dist/interface/assets/{FirstSteps.0.0.30-alpha.0.B3-pv8-a.css → FirstSteps.0.0.30-alpha.3.B3-pv8-a.css} +0 -0
  359. /package/dist/interface/assets/{NewCamera.0.0.30-alpha.0.DJ3tUBT_.css → NewCamera.0.0.30-alpha.3.DJ3tUBT_.css} +0 -0
  360. /package/dist/interface/assets/{Plugin.0.0.30-alpha.0.BtRA6zDt.css → Plugin.0.0.30-alpha.3.BtRA6zDt.css} +0 -0
  361. /package/dist/interface/assets/{Plugins.0.0.30-alpha.0.Cwu0aGUO.css → Plugins.0.0.30-alpha.3.Cwu0aGUO.css} +0 -0
  362. /package/dist/interface/assets/{Settings.0.0.30-alpha.0.DC_-E3CR.css → Settings.0.0.30-alpha.3.DC_-E3CR.css} +0 -0
  363. /package/dist/interface/assets/{User.0.0.30-alpha.0.DPDcJbx8.css → User.0.0.30-alpha.3.DPDcJbx8.css} +0 -0
  364. /package/dist/interface/assets/{VConsole.0.0.30-alpha.0.BZT1WyS-.css → VConsole.0.0.30-alpha.3.BZT1WyS-.css} +0 -0
  365. /package/dist/interface/assets/{VPlayer.0.0.30-alpha.0.CZXlTn4I.css → VPlayer.0.0.30-alpha.3.CZXlTn4I.css} +0 -0
  366. /package/dist/interface/assets/{VPluginCard.0.0.30-alpha.0.CIL48ca_.css → VPluginCard.0.0.30-alpha.3.CIL48ca_.css} +0 -0
  367. /package/dist/interface/assets/{highlight.0.0.30-alpha.0.DgoK_Xib.css → highlight.0.0.30-alpha.3.DgoK_Xib.css} +0 -0
  368. /package/dist/interface/assets/{logo-256.0.0.30-alpha.0.BCQk9H1-.png → logo-256.0.0.30-alpha.3.BCQk9H1-.png} +0 -0
  369. /package/dist/interface/assets/{logo-512.0.0.30-alpha.0.DLKVOU2S.png → logo-512.0.0.30-alpha.3.DLKVOU2S.png} +0 -0
  370. /package/dist/interface/assets/{logo.0.0.30-alpha.0.DmEiRk0z.png → logo.0.0.30-alpha.3.DmEiRk0z.png} +0 -0
  371. /package/dist/interface/assets/{main.0.0.30-alpha.0.BOf8IWhK.css → main.0.0.30-alpha.3.BOf8IWhK.css} +0 -0
  372. /package/dist/interface/assets/{mode-json.0.0.30-alpha.0.Br7xisR1.js → mode-json.0.0.30-alpha.3.Br7xisR1.js} +0 -0
  373. /package/dist/interface/assets/{mode-yaml.0.0.30-alpha.0.CIYL8U3d.js → mode-yaml.0.0.30-alpha.3.CIYL8U3d.js} +0 -0
  374. /package/dist/interface/assets/{v-calendar.0.0.30-alpha.0.CtSuDYZU.css → v-calendar.0.0.30-alpha.3.CtSuDYZU.css} +0 -0
  375. /package/dist/interface/assets/{vue3-toastify.0.0.30-alpha.0.DTY1DMRs.css → vue3-toastify.0.0.30-alpha.3.DTY1DMRs.css} +0 -0
  376. /package/dist/interface/assets/{vuetify.0.0.30-alpha.0.Cd1awv3t.css → vuetify.0.0.30-alpha.3.Cd1awv3t.css} +0 -0
  377. /package/dist/interface/{axios.C-n2IhIP.0.0.30-alpha.0.js → axios.C-n2IhIP.0.0.30-alpha.3.js} +0 -0
  378. /package/dist/interface/{compare-versions.DqEOhma6.0.0.30-alpha.0.js → compare-versions.DqEOhma6.0.0.30-alpha.3.js} +0 -0
  379. /package/dist/interface/{dijkstrajs.D_NXgYpA.0.0.30-alpha.0.js → dijkstrajs.D_NXgYpA.0.0.30-alpha.3.js} +0 -0
  380. /package/dist/interface/{engine.io-parser.BiEtp6m2.0.0.30-alpha.0.js → engine.io-parser.BiEtp6m2.0.0.30-alpha.3.js} +0 -0
  381. /package/dist/interface/{entities.C20TfXL6.0.0.30-alpha.0.js → entities.C20TfXL6.0.0.30-alpha.3.js} +0 -0
  382. /package/dist/interface/{get-size.D1dS-IaP.0.0.30-alpha.0.js → get-size.D1dS-IaP.0.0.30-alpha.3.js} +0 -0
  383. /package/dist/interface/{mdurl.k9Sl0PQj.0.0.30-alpha.0.js → mdurl.k9Sl0PQj.0.0.30-alpha.3.js} +0 -0
  384. /package/dist/interface/{punycode.js.Dj65hjkv.0.0.30-alpha.0.js → punycode.js.Dj65hjkv.0.0.30-alpha.3.js} +0 -0
  385. /package/dist/interface/{react-dnd-html5-backend.1HQjlkwI.0.0.30-alpha.0.js → react-dnd-html5-backend.1HQjlkwI.0.0.30-alpha.3.js} +0 -0
  386. /package/dist/interface/{redux.CuxFRhX_.0.0.30-alpha.0.js → redux.CuxFRhX_.0.0.30-alpha.3.js} +0 -0
  387. /package/dist/interface/{tslib.9k7AwCpt.0.0.30-alpha.0.js → tslib.9k7AwCpt.0.0.30-alpha.3.js} +0 -0
  388. /package/dist/interface/{uc.micro.kMc2yuuw.0.0.30-alpha.0.js → uc.micro.kMc2yuuw.0.0.30-alpha.3.js} +0 -0
  389. /package/dist/interface/{uuid.DvF23Exx.0.0.30-alpha.0.js → uuid.DvF23Exx.0.0.30-alpha.3.js} +0 -0
  390. /package/dist/interface/{vue.l0sNRNKZ.0.0.30-alpha.0.js → vue.l0sNRNKZ.0.0.30-alpha.3.js} +0 -0
@@ -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