@camera.ui/server 0.0.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 (652) hide show
  1. package/dist/interface/assets/@babel-l0sNRNKZ.js +1 -0
  2. package/dist/interface/assets/@camera.ui-2NVnv26v.js +8 -0
  3. package/dist/interface/assets/@intlify-Ck2ZoCVz.js +15 -0
  4. package/dist/interface/assets/@mdi-C-QA1nE3.js +1 -0
  5. package/dist/interface/assets/@popperjs-BQBsAJpH.js +1 -0
  6. package/dist/interface/assets/@react-dnd-CcwRs9xb.js +1 -0
  7. package/dist/interface/assets/@socket.io-Dkula2eQ.js +1 -0
  8. package/dist/interface/assets/@tanstack-BqH4GyO-.js +1 -0
  9. package/dist/interface/assets/@vee-validate-DCBdnGo-.js +5 -0
  10. package/dist/interface/assets/@vue-C7-KaDG4.js +17 -0
  11. package/dist/interface/assets/@vueform-arggO0eF.js +1 -0
  12. package/dist/interface/assets/@vueform-h7tNX9p6.css +1 -0
  13. package/dist/interface/assets/@vueuse-C3WMTDqL.js +1 -0
  14. package/dist/interface/assets/@xterm-B4Ga69iL.js +9 -0
  15. package/dist/interface/assets/@xterm-CGrrDQr5.css +32 -0
  16. package/dist/interface/assets/Account-B_tHnXoX.css +1 -0
  17. package/dist/interface/assets/Account-gJpkf0nE.js +1 -0
  18. package/dist/interface/assets/Adminpanel-B_SY1GJM.css +0 -0
  19. package/dist/interface/assets/Adminpanel-Bge9nu5N.js +1 -0
  20. package/dist/interface/assets/Appearance-D22q-X_I.js +1 -0
  21. package/dist/interface/assets/Backup-DBv9xFPh.css +1 -0
  22. package/dist/interface/assets/Backup-pJm6s10G.js +1 -0
  23. package/dist/interface/assets/Camera-BgO2yRjb.js +1 -0
  24. package/dist/interface/assets/Camera-CWiLco3W.css +1 -0
  25. package/dist/interface/assets/Cameras-BM3vSM_R.css +1 -0
  26. package/dist/interface/assets/Cameras-DjeKruR_.js +1 -0
  27. package/dist/interface/assets/Camview-DfzlprzN.js +1 -0
  28. package/dist/interface/assets/Camview-vUAs5YHU.css +1 -0
  29. package/dist/interface/assets/Config-BKIOIkjC.js +1 -0
  30. package/dist/interface/assets/Config-DAiKsG7W.css +1 -0
  31. package/dist/interface/assets/Console-BsyX2S3R.css +1 -0
  32. package/dist/interface/assets/Console-Caz7y-T0.js +4 -0
  33. package/dist/interface/assets/FirstSteps-DNHhyDSw.css +1 -0
  34. package/dist/interface/assets/FirstSteps-mQK4XFTs.js +1 -0
  35. package/dist/interface/assets/NewCamera-B9t-0NCc.js +448 -0
  36. package/dist/interface/assets/NewCamera-CHMgUDbC.css +1 -0
  37. package/dist/interface/assets/Plugin-BSHKKjrl.css +1 -0
  38. package/dist/interface/assets/Plugin-Di_bBsg-.js +1 -0
  39. package/dist/interface/assets/Plugins-BsMITags.css +1 -0
  40. package/dist/interface/assets/Plugins-DhmzMNuO.js +1 -0
  41. package/dist/interface/assets/Recordings-Bu53bSBp.js +1 -0
  42. package/dist/interface/assets/Recordings-XY20w8yp.js +1 -0
  43. package/dist/interface/assets/Settings-JES2wb8p.css +1 -0
  44. package/dist/interface/assets/Settings-gGRBRVST.js +1 -0
  45. package/dist/interface/assets/System-ZDrcLNk0.js +1 -0
  46. package/dist/interface/assets/User-BXColIbU.css +1 -0
  47. package/dist/interface/assets/User-D4vEhhzi.js +1 -0
  48. package/dist/interface/assets/VConfigEditor.vue_vue_type_script_setup_true_lang-CXFI-IeE.js +2 -0
  49. package/dist/interface/assets/VConsole-BHo3xprq.js +1 -0
  50. package/dist/interface/assets/VConsole-f-nUkOuD.css +1 -0
  51. package/dist/interface/assets/VPlayer-D3KhRfx-.css +1 -0
  52. package/dist/interface/assets/VPlayer-YdRn97Bs.js +1 -0
  53. package/dist/interface/assets/VPluginCard--3bx6UJb.js +4 -0
  54. package/dist/interface/assets/VPluginCard-BJYMuCLk.css +1 -0
  55. package/dist/interface/assets/ace-builds-CigWTak4.js +956 -0
  56. package/dist/interface/assets/axios--Jv2L996.js +6 -0
  57. package/dist/interface/assets/dijkstrajs-D_NXgYpA.js +1 -0
  58. package/dist/interface/assets/dnd-core-SnWOpY0X.js +1 -0
  59. package/dist/interface/assets/draggabilly-Arakw9Dk.js +6 -0
  60. package/dist/interface/assets/encode-utf8-Cn5aGd7v.js +1 -0
  61. package/dist/interface/assets/engine.io-client-DBBxzneW.js +1 -0
  62. package/dist/interface/assets/engine.io-parser-BiEtp6m2.js +1 -0
  63. package/dist/interface/assets/entities-C20TfXL6.js +1 -0
  64. package/dist/interface/assets/ev-emitter-CXYwG0eJ.js +1 -0
  65. package/dist/interface/assets/fast-deep-equal-5pvsDbwX.js +1 -0
  66. package/dist/interface/assets/get-size-D1dS-IaP.js +5 -0
  67. package/dist/interface/assets/highlight-DgoK_Xib.css +1 -0
  68. package/dist/interface/assets/highlight.js-TxRCSjhv.js +2 -0
  69. package/dist/interface/assets/linkify-it-DmNjr4Kv.js +1 -0
  70. package/dist/interface/assets/logo-256-BCQk9H1-.png +0 -0
  71. package/dist/interface/assets/logo-512-DLKVOU2S.png +0 -0
  72. package/dist/interface/assets/logo-DmEiRk0z.png +0 -0
  73. package/dist/interface/assets/main-B3IVLctZ.css +1 -0
  74. package/dist/interface/assets/main-C4rYiRNz.js +2 -0
  75. package/dist/interface/assets/markdown-it-DI8MEbma.js +15 -0
  76. package/dist/interface/assets/mdurl-k9Sl0PQj.js +2 -0
  77. package/dist/interface/assets/mode-json-Br7xisR1.js +275 -0
  78. package/dist/interface/assets/mode-yaml-CIYL8U3d.js +395 -0
  79. package/dist/interface/assets/nprogress-DSyAi0LF.js +2 -0
  80. package/dist/interface/assets/pinia-D8MtiGcH.js +5 -0
  81. package/dist/interface/assets/plugins-Bf03y242.js +1 -0
  82. package/dist/interface/assets/punycode.js-Dj65hjkv.js +1 -0
  83. package/dist/interface/assets/qrcode-CGiDONbL.js +8 -0
  84. package/dist/interface/assets/react-dnd-html5-backend-1HQjlkwI.js +2 -0
  85. package/dist/interface/assets/react-dnd-touch-backend-NgACaG8W.js +1 -0
  86. package/dist/interface/assets/redux-CuxFRhX_.js +1 -0
  87. package/dist/interface/assets/rxjs-B53o3e_J.js +3 -0
  88. package/dist/interface/assets/socket.io-client-Bq_SHkin.js +1 -0
  89. package/dist/interface/assets/socket.io-parser-BBkuslX-.js +1 -0
  90. package/dist/interface/assets/system-BONnDA4y.js +1 -0
  91. package/dist/interface/assets/tslib-9k7AwCpt.js +1 -0
  92. package/dist/interface/assets/uc.micro-kMc2yuuw.js +1 -0
  93. package/dist/interface/assets/ui-CNpIJotI.js +1 -0
  94. package/dist/interface/assets/unidragger-BYtqgAQ0.js +5 -0
  95. package/dist/interface/assets/utils-BvINh1mj.js +1 -0
  96. package/dist/interface/assets/uuid-DvF23Exx.js +1 -0
  97. package/dist/interface/assets/v-calendar-CtSuDYZU.css +1 -0
  98. package/dist/interface/assets/v-calendar-uh0aTGqP.js +1 -0
  99. package/dist/interface/assets/vee-validate-D3FqbChK.js +5 -0
  100. package/dist/interface/assets/vue-i18n-1AU8MPys.js +5 -0
  101. package/dist/interface/assets/vue-inline-svg-2DDwYW6V.js +1 -0
  102. package/dist/interface/assets/vue-l0sNRNKZ.js +1 -0
  103. package/dist/interface/assets/vue-router-DfeQ8s4I.js +5 -0
  104. package/dist/interface/assets/vue3-dnd-BwxcSU9Z.js +1 -0
  105. package/dist/interface/assets/vue3-toastify-DTY1DMRs.css +1 -0
  106. package/dist/interface/assets/vue3-toastify-Ul-rf53I.js +1 -0
  107. package/dist/interface/assets/vuetify-B__3Y-at.css +5 -0
  108. package/dist/interface/assets/vuetify-_-Oqac3B.js +5 -0
  109. package/dist/interface/assets/zod-BaF2dDCd.js +1 -0
  110. package/dist/interface/browserconfig.xml +11 -0
  111. package/dist/interface/fonts/Inter/Inter-Regular.ttf +0 -0
  112. package/dist/interface/index.html +377 -0
  113. package/dist/interface/manifest.webmanifest +1 -0
  114. package/dist/interface/pwa/apple-splash-landscape-dark-1136x640.png +0 -0
  115. package/dist/interface/pwa/apple-splash-landscape-dark-1334x750.png +0 -0
  116. package/dist/interface/pwa/apple-splash-landscape-dark-1792x828.png +0 -0
  117. package/dist/interface/pwa/apple-splash-landscape-dark-2048x1536.png +0 -0
  118. package/dist/interface/pwa/apple-splash-landscape-dark-2160x1620.png +0 -0
  119. package/dist/interface/pwa/apple-splash-landscape-dark-2208x1242.png +0 -0
  120. package/dist/interface/pwa/apple-splash-landscape-dark-2224x1668.png +0 -0
  121. package/dist/interface/pwa/apple-splash-landscape-dark-2388x1668.png +0 -0
  122. package/dist/interface/pwa/apple-splash-landscape-dark-2436x1125.png +0 -0
  123. package/dist/interface/pwa/apple-splash-landscape-dark-2532x1170.png +0 -0
  124. package/dist/interface/pwa/apple-splash-landscape-dark-2556x1179.png +0 -0
  125. package/dist/interface/pwa/apple-splash-landscape-dark-2688x1242.png +0 -0
  126. package/dist/interface/pwa/apple-splash-landscape-dark-2732x2048.png +0 -0
  127. package/dist/interface/pwa/apple-splash-landscape-dark-2778x1284.png +0 -0
  128. package/dist/interface/pwa/apple-splash-landscape-dark-2796x1290.png +0 -0
  129. package/dist/interface/pwa/apple-splash-landscape-light-1136x640.png +0 -0
  130. package/dist/interface/pwa/apple-splash-landscape-light-1334x750.png +0 -0
  131. package/dist/interface/pwa/apple-splash-landscape-light-1792x828.png +0 -0
  132. package/dist/interface/pwa/apple-splash-landscape-light-2048x1536.png +0 -0
  133. package/dist/interface/pwa/apple-splash-landscape-light-2160x1620.png +0 -0
  134. package/dist/interface/pwa/apple-splash-landscape-light-2208x1242.png +0 -0
  135. package/dist/interface/pwa/apple-splash-landscape-light-2224x1668.png +0 -0
  136. package/dist/interface/pwa/apple-splash-landscape-light-2388x1668.png +0 -0
  137. package/dist/interface/pwa/apple-splash-landscape-light-2436x1125.png +0 -0
  138. package/dist/interface/pwa/apple-splash-landscape-light-2532x1170.png +0 -0
  139. package/dist/interface/pwa/apple-splash-landscape-light-2556x1179.png +0 -0
  140. package/dist/interface/pwa/apple-splash-landscape-light-2688x1242.png +0 -0
  141. package/dist/interface/pwa/apple-splash-landscape-light-2732x2048.png +0 -0
  142. package/dist/interface/pwa/apple-splash-landscape-light-2778x1284.png +0 -0
  143. package/dist/interface/pwa/apple-splash-landscape-light-2796x1290.png +0 -0
  144. package/dist/interface/pwa/apple-splash-portrait-dark-1125x2436.png +0 -0
  145. package/dist/interface/pwa/apple-splash-portrait-dark-1170x2532.png +0 -0
  146. package/dist/interface/pwa/apple-splash-portrait-dark-1179x2556.png +0 -0
  147. package/dist/interface/pwa/apple-splash-portrait-dark-1242x2208.png +0 -0
  148. package/dist/interface/pwa/apple-splash-portrait-dark-1242x2688.png +0 -0
  149. package/dist/interface/pwa/apple-splash-portrait-dark-1284x2778.png +0 -0
  150. package/dist/interface/pwa/apple-splash-portrait-dark-1290x2796.png +0 -0
  151. package/dist/interface/pwa/apple-splash-portrait-dark-1536x2048.png +0 -0
  152. package/dist/interface/pwa/apple-splash-portrait-dark-1620x2160.png +0 -0
  153. package/dist/interface/pwa/apple-splash-portrait-dark-1668x2224.png +0 -0
  154. package/dist/interface/pwa/apple-splash-portrait-dark-1668x2388.png +0 -0
  155. package/dist/interface/pwa/apple-splash-portrait-dark-2048x2732.png +0 -0
  156. package/dist/interface/pwa/apple-splash-portrait-dark-640x1136.png +0 -0
  157. package/dist/interface/pwa/apple-splash-portrait-dark-750x1334.png +0 -0
  158. package/dist/interface/pwa/apple-splash-portrait-dark-828x1792.png +0 -0
  159. package/dist/interface/pwa/apple-splash-portrait-light-1125x2436.png +0 -0
  160. package/dist/interface/pwa/apple-splash-portrait-light-1170x2532.png +0 -0
  161. package/dist/interface/pwa/apple-splash-portrait-light-1179x2556.png +0 -0
  162. package/dist/interface/pwa/apple-splash-portrait-light-1242x2208.png +0 -0
  163. package/dist/interface/pwa/apple-splash-portrait-light-1242x2688.png +0 -0
  164. package/dist/interface/pwa/apple-splash-portrait-light-1284x2778.png +0 -0
  165. package/dist/interface/pwa/apple-splash-portrait-light-1290x2796.png +0 -0
  166. package/dist/interface/pwa/apple-splash-portrait-light-1536x2048.png +0 -0
  167. package/dist/interface/pwa/apple-splash-portrait-light-1620x2160.png +0 -0
  168. package/dist/interface/pwa/apple-splash-portrait-light-1668x2224.png +0 -0
  169. package/dist/interface/pwa/apple-splash-portrait-light-1668x2388.png +0 -0
  170. package/dist/interface/pwa/apple-splash-portrait-light-2048x2732.png +0 -0
  171. package/dist/interface/pwa/apple-splash-portrait-light-640x1136.png +0 -0
  172. package/dist/interface/pwa/apple-splash-portrait-light-750x1334.png +0 -0
  173. package/dist/interface/pwa/apple-splash-portrait-light-828x1792.png +0 -0
  174. package/dist/interface/pwa/apple-touch-icon-180x180.png +0 -0
  175. package/dist/interface/pwa/favicon-16.ico +0 -0
  176. package/dist/interface/pwa/favicon-32.ico +0 -0
  177. package/dist/interface/pwa/favicon-48.ico +0 -0
  178. package/dist/interface/pwa/favicon-64.ico +0 -0
  179. package/dist/interface/pwa/logo.svg +1 -0
  180. package/dist/interface/pwa/maskable-icon-1240x600.png +0 -0
  181. package/dist/interface/pwa/maskable-icon-512x512.png +0 -0
  182. package/dist/interface/pwa/maskable-icon-620x300.png +0 -0
  183. package/dist/interface/pwa/pwa-1024x1024.png +0 -0
  184. package/dist/interface/pwa/pwa-120x120.png +0 -0
  185. package/dist/interface/pwa/pwa-144x144.png +0 -0
  186. package/dist/interface/pwa/pwa-152x152.png +0 -0
  187. package/dist/interface/pwa/pwa-167x167.png +0 -0
  188. package/dist/interface/pwa/pwa-180x180.png +0 -0
  189. package/dist/interface/pwa/pwa-192x192.png +0 -0
  190. package/dist/interface/pwa/pwa-24x24.png +0 -0
  191. package/dist/interface/pwa/pwa-300x300.png +0 -0
  192. package/dist/interface/pwa/pwa-36x36.png +0 -0
  193. package/dist/interface/pwa/pwa-48x48.png +0 -0
  194. package/dist/interface/pwa/pwa-50x50.png +0 -0
  195. package/dist/interface/pwa/pwa-64x64.png +0 -0
  196. package/dist/interface/pwa/pwa-72x72.png +0 -0
  197. package/dist/interface/pwa/pwa-88x88.png +0 -0
  198. package/dist/interface/pwa/pwa-96x96.png +0 -0
  199. package/dist/interface/registerSW.js +1 -0
  200. package/dist/interface/robots.txt +2 -0
  201. package/dist/interface/sw.js +1 -0
  202. package/dist/interface/workbox-3e911b1d.js +1 -0
  203. package/dist/server/bin/cui-service.d.ts +43 -0
  204. package/dist/server/bin/cui-service.js +472 -0
  205. package/dist/server/bin/cui-service.js.map +1 -0
  206. package/dist/server/bin/cui.d.ts +2 -0
  207. package/dist/server/bin/cui.js +8 -0
  208. package/dist/server/bin/cui.js.map +1 -0
  209. package/dist/server/bin/installer/base.d.ts +16 -0
  210. package/dist/server/bin/installer/base.js +41 -0
  211. package/dist/server/bin/installer/base.js.map +1 -0
  212. package/dist/server/bin/installer/darwin.d.ts +49 -0
  213. package/dist/server/bin/installer/darwin.js +200 -0
  214. package/dist/server/bin/installer/darwin.js.map +1 -0
  215. package/dist/server/bin/installer/freebsd.d.ts +61 -0
  216. package/dist/server/bin/installer/freebsd.js +252 -0
  217. package/dist/server/bin/installer/freebsd.js.map +1 -0
  218. package/dist/server/bin/installer/linux.d.ts +92 -0
  219. package/dist/server/bin/installer/linux.js +386 -0
  220. package/dist/server/bin/installer/linux.js.map +1 -0
  221. package/dist/server/bin/installer/win32.d.ts +37 -0
  222. package/dist/server/bin/installer/win32.js +158 -0
  223. package/dist/server/bin/installer/win32.js.map +1 -0
  224. package/dist/server/package.json +142 -0
  225. package/dist/server/requirements.txt +13 -0
  226. package/dist/server/src/api/controllers/api.controller.d.ts +6 -0
  227. package/dist/server/src/api/controllers/api.controller.js +11 -0
  228. package/dist/server/src/api/controllers/api.controller.js.map +1 -0
  229. package/dist/server/src/api/controllers/auth.controller.d.ts +20 -0
  230. package/dist/server/src/api/controllers/auth.controller.js +263 -0
  231. package/dist/server/src/api/controllers/auth.controller.js.map +1 -0
  232. package/dist/server/src/api/controllers/backup.controller.d.ts +10 -0
  233. package/dist/server/src/api/controllers/backup.controller.js +52 -0
  234. package/dist/server/src/api/controllers/backup.controller.js.map +1 -0
  235. package/dist/server/src/api/controllers/cameras.controller.d.ts +34 -0
  236. package/dist/server/src/api/controllers/cameras.controller.js +522 -0
  237. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -0
  238. package/dist/server/src/api/controllers/config.controller.d.ts +14 -0
  239. package/dist/server/src/api/controllers/config.controller.js +89 -0
  240. package/dist/server/src/api/controllers/config.controller.js.map +1 -0
  241. package/dist/server/src/api/controllers/files.controller.d.ts +8 -0
  242. package/dist/server/src/api/controllers/files.controller.js +28 -0
  243. package/dist/server/src/api/controllers/files.controller.js.map +1 -0
  244. package/dist/server/src/api/controllers/frameWorkers.controller.d.ts +16 -0
  245. package/dist/server/src/api/controllers/frameWorkers.controller.js +85 -0
  246. package/dist/server/src/api/controllers/frameWorkers.controller.js.map +1 -0
  247. package/dist/server/src/api/controllers/plugins.controller.d.ts +59 -0
  248. package/dist/server/src/api/controllers/plugins.controller.js +1178 -0
  249. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -0
  250. package/dist/server/src/api/controllers/system.controller.d.ts +14 -0
  251. package/dist/server/src/api/controllers/system.controller.js +149 -0
  252. package/dist/server/src/api/controllers/system.controller.js.map +1 -0
  253. package/dist/server/src/api/controllers/users.controller.d.ts +28 -0
  254. package/dist/server/src/api/controllers/users.controller.js +463 -0
  255. package/dist/server/src/api/controllers/users.controller.js.map +1 -0
  256. package/dist/server/src/api/database/index.d.ts +34 -0
  257. package/dist/server/src/api/database/index.js +185 -0
  258. package/dist/server/src/api/database/index.js.map +1 -0
  259. package/dist/server/src/api/database/migration.d.ts +12 -0
  260. package/dist/server/src/api/database/migration.js +47 -0
  261. package/dist/server/src/api/database/migration.js.map +1 -0
  262. package/dist/server/src/api/database/types.d.ts +209 -0
  263. package/dist/server/src/api/database/types.js +2 -0
  264. package/dist/server/src/api/database/types.js.map +1 -0
  265. package/dist/server/src/api/go2rtc/api/application.d.ts +9 -0
  266. package/dist/server/src/api/go2rtc/api/application.js +38 -0
  267. package/dist/server/src/api/go2rtc/api/application.js.map +1 -0
  268. package/dist/server/src/api/go2rtc/api/config.d.ts +8 -0
  269. package/dist/server/src/api/go2rtc/api/config.js +44 -0
  270. package/dist/server/src/api/go2rtc/api/config.js.map +1 -0
  271. package/dist/server/src/api/go2rtc/api/index.d.ts +1 -0
  272. package/dist/server/src/api/go2rtc/api/index.js +28 -0
  273. package/dist/server/src/api/go2rtc/api/index.js.map +1 -0
  274. package/dist/server/src/api/go2rtc/api/snapshot.d.ts +8 -0
  275. package/dist/server/src/api/go2rtc/api/snapshot.js +34 -0
  276. package/dist/server/src/api/go2rtc/api/snapshot.js.map +1 -0
  277. package/dist/server/src/api/go2rtc/api/streams.d.ts +10 -0
  278. package/dist/server/src/api/go2rtc/api/streams.js +67 -0
  279. package/dist/server/src/api/go2rtc/api/streams.js.map +1 -0
  280. package/dist/server/src/api/go2rtc/index.d.ts +13 -0
  281. package/dist/server/src/api/go2rtc/index.js +25 -0
  282. package/dist/server/src/api/go2rtc/index.js.map +1 -0
  283. package/dist/server/src/api/go2rtc/queue.d.ts +10 -0
  284. package/dist/server/src/api/go2rtc/queue.js +38 -0
  285. package/dist/server/src/api/go2rtc/queue.js.map +1 -0
  286. package/dist/server/src/api/go2rtc/types.d.ts +60 -0
  287. package/dist/server/src/api/go2rtc/types.js +2 -0
  288. package/dist/server/src/api/go2rtc/types.js.map +1 -0
  289. package/dist/server/src/api/index.d.ts +20 -0
  290. package/dist/server/src/api/index.js +233 -0
  291. package/dist/server/src/api/index.js.map +1 -0
  292. package/dist/server/src/api/middlewares/authPermission.middleware.d.ts +5 -0
  293. package/dist/server/src/api/middlewares/authPermission.middleware.js +28 -0
  294. package/dist/server/src/api/middlewares/authPermission.middleware.js.map +1 -0
  295. package/dist/server/src/api/middlewares/authValidation.middleware.d.ts +4 -0
  296. package/dist/server/src/api/middlewares/authValidation.middleware.js +129 -0
  297. package/dist/server/src/api/middlewares/authValidation.middleware.js.map +1 -0
  298. package/dist/server/src/api/middlewares/pagination.middleware.d.ts +3 -0
  299. package/dist/server/src/api/middlewares/pagination.middleware.js +65 -0
  300. package/dist/server/src/api/middlewares/pagination.middleware.js.map +1 -0
  301. package/dist/server/src/api/middlewares/socketAuth.middleware.d.ts +41 -0
  302. package/dist/server/src/api/middlewares/socketAuth.middleware.js +81 -0
  303. package/dist/server/src/api/middlewares/socketAuth.middleware.js.map +1 -0
  304. package/dist/server/src/api/plugins/cameraui.plugin.d.ts +11 -0
  305. package/dist/server/src/api/plugins/cameraui.plugin.js +6 -0
  306. package/dist/server/src/api/plugins/cameraui.plugin.js.map +1 -0
  307. package/dist/server/src/api/plugins/database.plugin.d.ts +11 -0
  308. package/dist/server/src/api/plugins/database.plugin.js +12 -0
  309. package/dist/server/src/api/plugins/database.plugin.js.map +1 -0
  310. package/dist/server/src/api/plugins/go2rtc.plugin.d.ts +11 -0
  311. package/dist/server/src/api/plugins/go2rtc.plugin.js +11 -0
  312. package/dist/server/src/api/plugins/go2rtc.plugin.js.map +1 -0
  313. package/dist/server/src/api/plugins/logger.plugin.d.ts +7 -0
  314. package/dist/server/src/api/plugins/logger.plugin.js +29 -0
  315. package/dist/server/src/api/plugins/logger.plugin.js.map +1 -0
  316. package/dist/server/src/api/plugins/socket.plugin.d.ts +11 -0
  317. package/dist/server/src/api/plugins/socket.plugin.js +12 -0
  318. package/dist/server/src/api/plugins/socket.plugin.js.map +1 -0
  319. package/dist/server/src/api/plugins/system.plugin.d.ts +21 -0
  320. package/dist/server/src/api/plugins/system.plugin.js +33 -0
  321. package/dist/server/src/api/plugins/system.plugin.js.map +1 -0
  322. package/dist/server/src/api/plugins/useragent.plugin.d.ts +8 -0
  323. package/dist/server/src/api/plugins/useragent.plugin.js +10 -0
  324. package/dist/server/src/api/plugins/useragent.plugin.js.map +1 -0
  325. package/dist/server/src/api/routes/api.routes.d.ts +2 -0
  326. package/dist/server/src/api/routes/api.routes.js +6 -0
  327. package/dist/server/src/api/routes/api.routes.js.map +1 -0
  328. package/dist/server/src/api/routes/auth.routes.d.ts +2 -0
  329. package/dist/server/src/api/routes/auth.routes.js +47 -0
  330. package/dist/server/src/api/routes/auth.routes.js.map +1 -0
  331. package/dist/server/src/api/routes/backup.routes.d.ts +2 -0
  332. package/dist/server/src/api/routes/backup.routes.js +23 -0
  333. package/dist/server/src/api/routes/backup.routes.js.map +1 -0
  334. package/dist/server/src/api/routes/cameras.routes.d.ts +2 -0
  335. package/dist/server/src/api/routes/cameras.routes.js +181 -0
  336. package/dist/server/src/api/routes/cameras.routes.js.map +1 -0
  337. package/dist/server/src/api/routes/config.routes.d.ts +2 -0
  338. package/dist/server/src/api/routes/config.routes.js +55 -0
  339. package/dist/server/src/api/routes/config.routes.js.map +1 -0
  340. package/dist/server/src/api/routes/files.routes.d.ts +2 -0
  341. package/dist/server/src/api/routes/files.routes.js +12 -0
  342. package/dist/server/src/api/routes/files.routes.js.map +1 -0
  343. package/dist/server/src/api/routes/frameWorkers.routes.d.ts +2 -0
  344. package/dist/server/src/api/routes/frameWorkers.routes.js +33 -0
  345. package/dist/server/src/api/routes/frameWorkers.routes.js.map +1 -0
  346. package/dist/server/src/api/routes/index.d.ts +6 -0
  347. package/dist/server/src/api/routes/index.js +32 -0
  348. package/dist/server/src/api/routes/index.js.map +1 -0
  349. package/dist/server/src/api/routes/plugins.routes.d.ts +2 -0
  350. package/dist/server/src/api/routes/plugins.routes.js +339 -0
  351. package/dist/server/src/api/routes/plugins.routes.js.map +1 -0
  352. package/dist/server/src/api/routes/system.routes.d.ts +2 -0
  353. package/dist/server/src/api/routes/system.routes.js +43 -0
  354. package/dist/server/src/api/routes/system.routes.js.map +1 -0
  355. package/dist/server/src/api/routes/users.routes.d.ts +2 -0
  356. package/dist/server/src/api/routes/users.routes.js +139 -0
  357. package/dist/server/src/api/routes/users.routes.js.map +1 -0
  358. package/dist/server/src/api/schemas/backup.schema.d.ts +118 -0
  359. package/dist/server/src/api/schemas/backup.schema.js +75 -0
  360. package/dist/server/src/api/schemas/backup.schema.js.map +1 -0
  361. package/dist/server/src/api/schemas/cameras.schema.d.ts +932 -0
  362. package/dist/server/src/api/schemas/cameras.schema.js +271 -0
  363. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -0
  364. package/dist/server/src/api/schemas/config.schema.d.ts +202 -0
  365. package/dist/server/src/api/schemas/config.schema.js +68 -0
  366. package/dist/server/src/api/schemas/config.schema.js.map +1 -0
  367. package/dist/server/src/api/schemas/go2rtc.schema.d.ts +703 -0
  368. package/dist/server/src/api/schemas/go2rtc.schema.js +188 -0
  369. package/dist/server/src/api/schemas/go2rtc.schema.js.map +1 -0
  370. package/dist/server/src/api/schemas/plugins.schema.d.ts +72 -0
  371. package/dist/server/src/api/schemas/plugins.schema.js +103 -0
  372. package/dist/server/src/api/schemas/plugins.schema.js.map +1 -0
  373. package/dist/server/src/api/schemas/users.schema.d.ts +1008 -0
  374. package/dist/server/src/api/schemas/users.schema.js +151 -0
  375. package/dist/server/src/api/schemas/users.schema.js.map +1 -0
  376. package/dist/server/src/api/services/auth.service.d.ts +19 -0
  377. package/dist/server/src/api/services/auth.service.js +115 -0
  378. package/dist/server/src/api/services/auth.service.js.map +1 -0
  379. package/dist/server/src/api/services/backup.service.d.ts +11 -0
  380. package/dist/server/src/api/services/backup.service.js +108 -0
  381. package/dist/server/src/api/services/backup.service.js.map +1 -0
  382. package/dist/server/src/api/services/cameras.service.d.ts +55 -0
  383. package/dist/server/src/api/services/cameras.service.js +700 -0
  384. package/dist/server/src/api/services/cameras.service.js.map +1 -0
  385. package/dist/server/src/api/services/plugins.service.d.ts +25 -0
  386. package/dist/server/src/api/services/plugins.service.js +145 -0
  387. package/dist/server/src/api/services/plugins.service.js.map +1 -0
  388. package/dist/server/src/api/services/users.service.d.ts +25 -0
  389. package/dist/server/src/api/services/users.service.js +197 -0
  390. package/dist/server/src/api/services/users.service.js.map +1 -0
  391. package/dist/server/src/api/types/index.d.ts +580 -0
  392. package/dist/server/src/api/types/index.js +9 -0
  393. package/dist/server/src/api/types/index.js.map +1 -0
  394. package/dist/server/src/api/utils/cert.d.ts +11 -0
  395. package/dist/server/src/api/utils/cert.js +411 -0
  396. package/dist/server/src/api/utils/cert.js.map +1 -0
  397. package/dist/server/src/api/utils/constants.d.ts +15 -0
  398. package/dist/server/src/api/utils/constants.js +17 -0
  399. package/dist/server/src/api/utils/constants.js.map +1 -0
  400. package/dist/server/src/api/utils/fetch.d.ts +2 -0
  401. package/dist/server/src/api/utils/fetch.js +24 -0
  402. package/dist/server/src/api/utils/fetch.js.map +1 -0
  403. package/dist/server/src/api/utils/moveFiles.d.ts +1 -0
  404. package/dist/server/src/api/utils/moveFiles.js +38 -0
  405. package/dist/server/src/api/utils/moveFiles.js.map +1 -0
  406. package/dist/server/src/api/utils/parse.d.ts +2 -0
  407. package/dist/server/src/api/utils/parse.js +12 -0
  408. package/dist/server/src/api/utils/parse.js.map +1 -0
  409. package/dist/server/src/api/websocket/index.d.ts +15 -0
  410. package/dist/server/src/api/websocket/index.js +69 -0
  411. package/dist/server/src/api/websocket/index.js.map +1 -0
  412. package/dist/server/src/api/websocket/nsp/frameWorker.d.ts +13 -0
  413. package/dist/server/src/api/websocket/nsp/frameWorker.js +29 -0
  414. package/dist/server/src/api/websocket/nsp/frameWorker.js.map +1 -0
  415. package/dist/server/src/api/websocket/nsp/logs.d.ts +11 -0
  416. package/dist/server/src/api/websocket/nsp/logs.js +113 -0
  417. package/dist/server/src/api/websocket/nsp/logs.js.map +1 -0
  418. package/dist/server/src/api/websocket/nsp/metrics.d.ts +38 -0
  419. package/dist/server/src/api/websocket/nsp/metrics.js +266 -0
  420. package/dist/server/src/api/websocket/nsp/metrics.js.map +1 -0
  421. package/dist/server/src/api/websocket/nsp/notifications.d.ts +11 -0
  422. package/dist/server/src/api/websocket/nsp/notifications.js +35 -0
  423. package/dist/server/src/api/websocket/nsp/notifications.js.map +1 -0
  424. package/dist/server/src/api/websocket/nsp/plugins.d.ts +13 -0
  425. package/dist/server/src/api/websocket/nsp/plugins.js +29 -0
  426. package/dist/server/src/api/websocket/nsp/plugins.js.map +1 -0
  427. package/dist/server/src/api/websocket/nsp/server.d.ts +9 -0
  428. package/dist/server/src/api/websocket/nsp/server.js +48 -0
  429. package/dist/server/src/api/websocket/nsp/server.js.map +1 -0
  430. package/dist/server/src/api/websocket/nsp/status.d.ts +26 -0
  431. package/dist/server/src/api/websocket/nsp/status.js +59 -0
  432. package/dist/server/src/api/websocket/nsp/status.js.map +1 -0
  433. package/dist/server/src/api/websocket/types.d.ts +86 -0
  434. package/dist/server/src/api/websocket/types.js +2 -0
  435. package/dist/server/src/api/websocket/types.js.map +1 -0
  436. package/dist/server/src/api.d.ts +43 -0
  437. package/dist/server/src/api.js +90 -0
  438. package/dist/server/src/api.js.map +1 -0
  439. package/dist/server/src/camera/controller.d.ts +41 -0
  440. package/dist/server/src/camera/controller.js +220 -0
  441. package/dist/server/src/camera/controller.js.map +1 -0
  442. package/dist/server/src/camera/device.d.ts +18 -0
  443. package/dist/server/src/camera/device.js +21 -0
  444. package/dist/server/src/camera/device.js.map +1 -0
  445. package/dist/server/src/camera/index.d.ts +121 -0
  446. package/dist/server/src/camera/index.js +643 -0
  447. package/dist/server/src/camera/index.js.map +1 -0
  448. package/dist/server/src/camera/interfaces/camera.d.ts +11 -0
  449. package/dist/server/src/camera/interfaces/camera.js +31 -0
  450. package/dist/server/src/camera/interfaces/camera.js.map +1 -0
  451. package/dist/server/src/camera/interfaces/prebuffer.d.ts +11 -0
  452. package/dist/server/src/camera/interfaces/prebuffer.js +26 -0
  453. package/dist/server/src/camera/interfaces/prebuffer.js.map +1 -0
  454. package/dist/server/src/camera/interfaces/ptz.d.ts +13 -0
  455. package/dist/server/src/camera/interfaces/ptz.js +47 -0
  456. package/dist/server/src/camera/interfaces/ptz.js.map +1 -0
  457. package/dist/server/src/camera/polygon.d.ts +6 -0
  458. package/dist/server/src/camera/polygon.js +151 -0
  459. package/dist/server/src/camera/polygon.js.map +1 -0
  460. package/dist/server/src/camera/streaming/peer-connection.d.ts +46 -0
  461. package/dist/server/src/camera/streaming/peer-connection.js +150 -0
  462. package/dist/server/src/camera/streaming/peer-connection.js.map +1 -0
  463. package/dist/server/src/camera/streaming/webrtc-connection.d.ts +34 -0
  464. package/dist/server/src/camera/streaming/webrtc-connection.js +152 -0
  465. package/dist/server/src/camera/streaming/webrtc-connection.js.map +1 -0
  466. package/dist/server/src/camera/streaming/werift-session.d.ts +31 -0
  467. package/dist/server/src/camera/streaming/werift-session.js +168 -0
  468. package/dist/server/src/camera/streaming/werift-session.js.map +1 -0
  469. package/dist/server/src/camera/types.d.ts +202 -0
  470. package/dist/server/src/camera/types.js +7 -0
  471. package/dist/server/src/camera/types.js.map +1 -0
  472. package/dist/server/src/camera/videoFrame.d.ts +24 -0
  473. package/dist/server/src/camera/videoFrame.js +105 -0
  474. package/dist/server/src/camera/videoFrame.js.map +1 -0
  475. package/dist/server/src/decoder/ffmpeg.d.ts +2 -0
  476. package/dist/server/src/decoder/ffmpeg.js +61 -0
  477. package/dist/server/src/decoder/ffmpeg.js.map +1 -0
  478. package/dist/server/src/decoder/index.d.ts +11 -0
  479. package/dist/server/src/decoder/index.js +32 -0
  480. package/dist/server/src/decoder/index.js.map +1 -0
  481. package/dist/server/src/decoder/types.d.ts +156 -0
  482. package/dist/server/src/decoder/types.js +2 -0
  483. package/dist/server/src/decoder/types.js.map +1 -0
  484. package/dist/server/src/decoder/worker.d.ts +42 -0
  485. package/dist/server/src/decoder/worker.js +273 -0
  486. package/dist/server/src/decoder/worker.js.map +1 -0
  487. package/dist/server/src/go2rtc/index.d.ts +25 -0
  488. package/dist/server/src/go2rtc/index.js +211 -0
  489. package/dist/server/src/go2rtc/index.js.map +1 -0
  490. package/dist/server/src/go2rtc/types.d.ts +14 -0
  491. package/dist/server/src/go2rtc/types.js +73 -0
  492. package/dist/server/src/go2rtc/types.js.map +1 -0
  493. package/dist/server/src/index.d.ts +16 -0
  494. package/dist/server/src/index.js +5 -0
  495. package/dist/server/src/index.js.map +1 -0
  496. package/dist/server/src/main.d.ts +18 -0
  497. package/dist/server/src/main.js +118 -0
  498. package/dist/server/src/main.js.map +1 -0
  499. package/dist/server/src/nats/constants.d.ts +1 -0
  500. package/dist/server/src/nats/constants.js +2 -0
  501. package/dist/server/src/nats/constants.js.map +1 -0
  502. package/dist/server/src/nats/index.d.ts +35 -0
  503. package/dist/server/src/nats/index.js +150 -0
  504. package/dist/server/src/nats/index.js.map +1 -0
  505. package/dist/server/src/nats/messageQueue.d.ts +17 -0
  506. package/dist/server/src/nats/messageQueue.js +148 -0
  507. package/dist/server/src/nats/messageQueue.js.map +1 -0
  508. package/dist/server/src/nats/proxy/cameraDevice.d.ts +30 -0
  509. package/dist/server/src/nats/proxy/cameraDevice.js +252 -0
  510. package/dist/server/src/nats/proxy/cameraDevice.js.map +1 -0
  511. package/dist/server/src/nats/proxy/deviceManager.d.ts +16 -0
  512. package/dist/server/src/nats/proxy/deviceManager.js +110 -0
  513. package/dist/server/src/nats/proxy/deviceManager.js.map +1 -0
  514. package/dist/server/src/nats/proxy/index.d.ts +2 -0
  515. package/dist/server/src/nats/proxy/index.js +3 -0
  516. package/dist/server/src/nats/proxy/index.js.map +1 -0
  517. package/dist/server/src/nats/server.d.ts +38 -0
  518. package/dist/server/src/nats/server.js +325 -0
  519. package/dist/server/src/nats/server.js.map +1 -0
  520. package/dist/server/src/nats/types.d.ts +125 -0
  521. package/dist/server/src/nats/types.js +11 -0
  522. package/dist/server/src/nats/types.js.map +1 -0
  523. package/dist/server/src/nats/utils.d.ts +4 -0
  524. package/dist/server/src/nats/utils.js +12 -0
  525. package/dist/server/src/nats/utils.js.map +1 -0
  526. package/dist/server/src/nats/websocket.d.ts +27 -0
  527. package/dist/server/src/nats/websocket.js +214 -0
  528. package/dist/server/src/nats/websocket.js.map +1 -0
  529. package/dist/server/src/plugins/index.d.ts +32 -0
  530. package/dist/server/src/plugins/index.js +326 -0
  531. package/dist/server/src/plugins/index.js.map +1 -0
  532. package/dist/server/src/plugins/interfaces/audioDetection.d.ts +7 -0
  533. package/dist/server/src/plugins/interfaces/audioDetection.js +4 -0
  534. package/dist/server/src/plugins/interfaces/audioDetection.js.map +1 -0
  535. package/dist/server/src/plugins/interfaces/base.d.ts +6 -0
  536. package/dist/server/src/plugins/interfaces/base.js +3 -0
  537. package/dist/server/src/plugins/interfaces/base.js.map +1 -0
  538. package/dist/server/src/plugins/interfaces/motionDetection.d.ts +6 -0
  539. package/dist/server/src/plugins/interfaces/motionDetection.js +4 -0
  540. package/dist/server/src/plugins/interfaces/motionDetection.js.map +1 -0
  541. package/dist/server/src/plugins/interfaces/objectDetection.d.ts +7 -0
  542. package/dist/server/src/plugins/interfaces/objectDetection.js +4 -0
  543. package/dist/server/src/plugins/interfaces/objectDetection.js.map +1 -0
  544. package/dist/server/src/plugins/plugin.d.ts +42 -0
  545. package/dist/server/src/plugins/plugin.js +207 -0
  546. package/dist/server/src/plugins/plugin.js.map +1 -0
  547. package/dist/server/src/plugins/types.d.ts +181 -0
  548. package/dist/server/src/plugins/types.js +18 -0
  549. package/dist/server/src/plugins/types.js.map +1 -0
  550. package/dist/server/src/plugins/worker.d.ts +35 -0
  551. package/dist/server/src/plugins/worker.js +309 -0
  552. package/dist/server/src/plugins/worker.js.map +1 -0
  553. package/dist/server/src/polyglot/node/decoder/child.d.ts +1 -0
  554. package/dist/server/src/polyglot/node/decoder/child.js +703 -0
  555. package/dist/server/src/polyglot/node/decoder/child.js.map +1 -0
  556. package/dist/server/src/polyglot/node/decoder/imageUtils.d.ts +24 -0
  557. package/dist/server/src/polyglot/node/decoder/imageUtils.js +203 -0
  558. package/dist/server/src/polyglot/node/decoder/imageUtils.js.map +1 -0
  559. package/dist/server/src/polyglot/node/decoder/reader.d.ts +5 -0
  560. package/dist/server/src/polyglot/node/decoder/reader.js +41 -0
  561. package/dist/server/src/polyglot/node/decoder/reader.js.map +1 -0
  562. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.d.ts +144 -0
  563. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.js +65 -0
  564. package/dist/server/src/polyglot/node/decoder/wasm/build/decoder.wasm +0 -0
  565. package/dist/server/src/polyglot/node/decoder/wasm/test/imageUtils.py +106 -0
  566. package/dist/server/src/polyglot/node/plugins/api.d.ts +37 -0
  567. package/dist/server/src/polyglot/node/plugins/api.js +34 -0
  568. package/dist/server/src/polyglot/node/plugins/api.js.map +1 -0
  569. package/dist/server/src/polyglot/node/plugins/cameraStorage.d.ts +108 -0
  570. package/dist/server/src/polyglot/node/plugins/cameraStorage.js +310 -0
  571. package/dist/server/src/polyglot/node/plugins/cameraStorage.js.map +1 -0
  572. package/dist/server/src/polyglot/node/plugins/child.d.ts +25 -0
  573. package/dist/server/src/polyglot/node/plugins/child.js +206 -0
  574. package/dist/server/src/polyglot/node/plugins/child.js.map +1 -0
  575. package/dist/server/src/polyglot/node/plugins/config.d.ts +104 -0
  576. package/dist/server/src/polyglot/node/plugins/config.js +213 -0
  577. package/dist/server/src/polyglot/node/plugins/config.js.map +1 -0
  578. package/dist/server/src/polyglot/node/plugins/logger.d.ts +16 -0
  579. package/dist/server/src/polyglot/node/plugins/logger.js +128 -0
  580. package/dist/server/src/polyglot/node/plugins/logger.js.map +1 -0
  581. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.d.ts +75 -0
  582. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js +474 -0
  583. package/dist/server/src/polyglot/node/plugins/proxy/cameraDevice.js.map +1 -0
  584. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.d.ts +49 -0
  585. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.js +194 -0
  586. package/dist/server/src/polyglot/node/plugins/proxy/deviceManager.js.map +1 -0
  587. package/dist/server/src/polyglot/node/plugins/proxy/index.d.ts +2 -0
  588. package/dist/server/src/polyglot/node/plugins/proxy/index.js +3 -0
  589. package/dist/server/src/polyglot/node/plugins/proxy/index.js.map +1 -0
  590. package/dist/server/src/polyglot/node/plugins/proxy/messageQueue.d.ts +20 -0
  591. package/dist/server/src/polyglot/node/plugins/proxy/messageQueue.js +152 -0
  592. package/dist/server/src/polyglot/node/plugins/proxy/messageQueue.js.map +1 -0
  593. package/dist/server/src/polyglot/node/plugins/schema.d.ts +280 -0
  594. package/dist/server/src/polyglot/node/plugins/schema.js +719 -0
  595. package/dist/server/src/polyglot/node/plugins/schema.js.map +1 -0
  596. package/dist/server/src/polyglot/node/plugins/storageController.d.ts +28 -0
  597. package/dist/server/src/polyglot/node/plugins/storageController.js +38 -0
  598. package/dist/server/src/polyglot/node/plugins/storageController.js.map +1 -0
  599. package/dist/server/src/polyglot/python/camera/interfaces/camera.py +26 -0
  600. package/dist/server/src/polyglot/python/camera/interfaces/prebuffer.py +25 -0
  601. package/dist/server/src/polyglot/python/camera/interfaces/ptz.py +38 -0
  602. package/dist/server/src/polyglot/python/camera/polygon.py +173 -0
  603. package/dist/server/src/polyglot/python/camera/video_frame.py +196 -0
  604. package/dist/server/src/polyglot/python/camera_ui_types/__init__.py +1221 -0
  605. package/dist/server/src/polyglot/python/decoder/child.py +922 -0
  606. package/dist/server/src/polyglot/python/decoder/image_utils.py +149 -0
  607. package/dist/server/src/polyglot/python/decoder/typings.py +99 -0
  608. package/dist/server/src/polyglot/python/plugins/camera_storage.py +459 -0
  609. package/dist/server/src/polyglot/python/plugins/child.py +267 -0
  610. package/dist/server/src/polyglot/python/plugins/config_service.py +180 -0
  611. package/dist/server/src/polyglot/python/plugins/constants.py +2 -0
  612. package/dist/server/src/polyglot/python/plugins/logger.py +111 -0
  613. package/dist/server/src/polyglot/python/plugins/plugin_api.py +114 -0
  614. package/dist/server/src/polyglot/python/plugins/proxy/camera_device.py +1722 -0
  615. package/dist/server/src/polyglot/python/plugins/proxy/device_manager.py +265 -0
  616. package/dist/server/src/polyglot/python/plugins/proxy/message_queue.py +213 -0
  617. package/dist/server/src/polyglot/python/plugins/schema.py +392 -0
  618. package/dist/server/src/polyglot/python/plugins/storage_controller.py +57 -0
  619. package/dist/server/src/polyglot/python/plugins/typings.py +248 -0
  620. package/dist/server/src/polyglot/python/utilities/object_path.py +187 -0
  621. package/dist/server/src/polyglot/python/utilities/packer.py +11 -0
  622. package/dist/server/src/polyglot/python/utilities/task.py +25 -0
  623. package/dist/server/src/polyglot/python/utilities/thread.py +10 -0
  624. package/dist/server/src/polyglot/python/utilities/utils.py +48 -0
  625. package/dist/server/src/services/config/constants.d.ts +4 -0
  626. package/dist/server/src/services/config/constants.js +58 -0
  627. package/dist/server/src/services/config/constants.js.map +1 -0
  628. package/dist/server/src/services/config/index.d.ts +54 -0
  629. package/dist/server/src/services/config/index.js +288 -0
  630. package/dist/server/src/services/config/index.js.map +1 -0
  631. package/dist/server/src/services/config/types.d.ts +162 -0
  632. package/dist/server/src/services/config/types.js +11 -0
  633. package/dist/server/src/services/config/types.js.map +1 -0
  634. package/dist/server/src/services/logger/index.d.ts +30 -0
  635. package/dist/server/src/services/logger/index.js +179 -0
  636. package/dist/server/src/services/logger/index.js.map +1 -0
  637. package/dist/server/src/types.d.ts +4 -0
  638. package/dist/server/src/types.js +2 -0
  639. package/dist/server/src/types.js.map +1 -0
  640. package/dist/server/src/utils/packer.d.ts +2 -0
  641. package/dist/server/src/utils/packer.js +17 -0
  642. package/dist/server/src/utils/packer.js.map +1 -0
  643. package/dist/server/src/utils/pythonInstaller.d.ts +48 -0
  644. package/dist/server/src/utils/pythonInstaller.js +465 -0
  645. package/dist/server/src/utils/pythonInstaller.js.map +1 -0
  646. package/dist/server/src/utils/subscribed.d.ts +9 -0
  647. package/dist/server/src/utils/subscribed.js +17 -0
  648. package/dist/server/src/utils/subscribed.js.map +1 -0
  649. package/dist/server/src/utils/utils.d.ts +10 -0
  650. package/dist/server/src/utils/utils.js +165 -0
  651. package/dist/server/src/utils/utils.js.map +1 -0
  652. package/package.json +142 -0
@@ -0,0 +1,392 @@
1
+ import re
2
+ from typing import Any, Union
3
+
4
+ from camera_ui_types import (
5
+ JsonSchema,
6
+ JsonSchemaArray,
7
+ JsonSchemaBoolean,
8
+ JsonSchemaEnum,
9
+ JsonSchemaNumber,
10
+ JsonSchemaObject,
11
+ JsonSchemaObjectWithButtons,
12
+ JsonSchemaString,
13
+ PluginJsonSchema,
14
+ PluginJsonSchemaForm,
15
+ PluginRootSchema,
16
+ RootSchema,
17
+ )
18
+
19
+
20
+ def config_path_to_schema_path(config_path: str) -> str:
21
+ """
22
+ Converts a configuration path to a schema path by handling array indices and nested properties.
23
+
24
+ This function transforms the config path to match the structure expected by a JSON schema. For instance, converting array
25
+ indices and adding 'properties' keywords as needed to represent the hierarchical structure of the schema.
26
+
27
+ :param config_path: A dot-separated path string representing the location of a configuration item.
28
+ :return: A dot-separated path string adjusted to align with JSON schema structure.
29
+ """
30
+ path_parts = config_path.split(".")
31
+ schema_path_parts: list[str] = []
32
+
33
+ for index, part in enumerate(path_parts):
34
+ is_numeric_index = bool(re.match(r"^\d+$", part))
35
+ is_last_part = index == len(path_parts) - 1
36
+
37
+ if is_numeric_index:
38
+ schema_path_parts.extend(["items", "properties"])
39
+ else:
40
+ schema_path_parts.append(part)
41
+ if not is_last_part and not re.match(r"^\d+$", path_parts[index + 1]):
42
+ schema_path_parts.append("properties")
43
+
44
+ return ".".join(schema_path_parts)
45
+
46
+
47
+ def generate_json_from_root_schema(
48
+ root_schema: Union[RootSchema, PluginRootSchema],
49
+ ) -> dict[str, Any]:
50
+ """
51
+ Generates a default JSON object based on the provided root schema. This function iterates through the schema's properties,
52
+ creating a nested JSON object that matches the structure of the schema with default values where specified.
53
+
54
+ :param root_schema: The root schema object which defines the structure and default values for the JSON object.
55
+ :return: A JSON object that conforms to the provided schema.
56
+ """
57
+ json_object: dict[str, Any] = {}
58
+
59
+ for key, json_schema in root_schema["schema"].items():
60
+ schema: Any = json_schema
61
+ json_object[key] = generate_json_from_schema(schema)
62
+
63
+ return json_object
64
+
65
+
66
+ def generate_json_from_schema(
67
+ json_schema: Union[JsonSchema, PluginJsonSchema],
68
+ ) -> Any:
69
+ """
70
+ Generates JSON data based on a single schema definition. Depending on the schema type, this may generate a string, number,
71
+ boolean, object, or array, incorporating default values and nested structures as defined in the schema.
72
+
73
+ :param json_schema: The JSON schema from which to generate data.
74
+ :return: Generated JSON data that conforms to the specified schema.
75
+ """
76
+ schema_type = json_schema.get("type")
77
+
78
+ if schema_type in ["string", "number", "boolean"]:
79
+ if "enum" in json_schema:
80
+ if json_schema.get("multiple"):
81
+ return [json_schema.get("defaultValue")] if "defaultValue" in json_schema else []
82
+ else:
83
+ return json_schema.get(
84
+ "defaultValue",
85
+ json_schema["enum"][0] if json_schema.get("required", False) else None,
86
+ )
87
+ else:
88
+ return json_schema.get("defaultValue")
89
+ elif schema_type == "object":
90
+ properties: Any = json_schema.get("properties")
91
+ if properties:
92
+ return {k: generate_json_from_schema(v) for k, v in properties.items()}
93
+ return {}
94
+ elif schema_type == "array":
95
+ items = json_schema.get("items")
96
+ if items:
97
+ return [generate_json_from_schema(items)]
98
+ return []
99
+ else:
100
+ return None
101
+
102
+
103
+ def get_value_by_path(obj: dict[Any, Any], path: str) -> Any:
104
+ """
105
+ Retrieves a value from a nested object or a list based on a dot-separated path. If the path includes indices for accessing
106
+ array elements, these are handled accordingly. If any part of the path is not found, None is returned.
107
+
108
+ :param obj: The object or list from which to retrieve the value.
109
+ :param path: A dot-separated path string representing the location of the item.
110
+ :return: The value at the specified path, or None if the path is not found.
111
+ """
112
+
113
+ keys: list[str] = []
114
+ for key in path.split("."):
115
+ if "[" in key:
116
+ path_key, index = key.split("[")
117
+ keys.append(path_key)
118
+ keys.append(index[:-1])
119
+ else:
120
+ keys.append(key)
121
+
122
+ current = obj
123
+ for key in keys:
124
+ if current is None:
125
+ return None
126
+ current = current.get(key)
127
+
128
+ return current
129
+
130
+
131
+ def remove_functions_from_schema_form(
132
+ schema_form: PluginJsonSchemaForm,
133
+ ) -> PluginJsonSchemaForm:
134
+ """
135
+ Removes 'onSet' and 'onGet' functions from a schema form, making it suitable for serialization or scenarios where these
136
+ executable functions should not be included. This is particularly useful for preparing a schema for transmission over a
137
+ network or storing in a format that does not support functions.
138
+
139
+ :param schema_form: The schema form from which to remove functions.
140
+ :return: A new schema form with the functions removed.
141
+ """
142
+ filtered_schema_form: PluginJsonSchemaForm = {}
143
+
144
+ for key, value in schema_form.items():
145
+ json_schema: Any = value
146
+ filtered_schema_form[key] = remove_functions_from_schema(json_schema)
147
+
148
+ return filtered_schema_form
149
+
150
+
151
+ def remove_functions_from_schema(
152
+ json_schema: PluginJsonSchema,
153
+ ) -> Any:
154
+ """
155
+ Similar to 'remove_functions_from_schema_form', but operates on a single schema object. It removes 'onSet' and 'onGet'
156
+ functions if present.
157
+
158
+ :param json_schema: The individual schema from which to remove functions.
159
+ :return: A new schema with the functions removed.
160
+ """
161
+ filtered_schema = {k: v for k, v in json_schema.items() if k not in ["onSet", "onGet"]}
162
+
163
+ if is_object_type(filtered_schema) and "properties" in filtered_schema:
164
+ filtered_schema["properties"] = remove_functions_from_schema_form(
165
+ filtered_schema["properties"] # type: ignore
166
+ )
167
+
168
+ return filtered_schema
169
+
170
+
171
+ def schema_path_to_config_path(schema_path: str) -> str:
172
+ """
173
+ Converts a schema path back to a configuration path by removing 'properties' and 'items' keywords, effectively reversing
174
+ the operation performed by 'config_path_to_schema_path'. This is useful for mapping a location within a schema to a
175
+ corresponding location in a configuration object or file.
176
+
177
+ :param schema_path: A dot-separated path string representing the location within a schema.
178
+ :return: A dot-separated path string representing the corresponding location within a configuration.
179
+ """
180
+ path_parts = schema_path.split(".")
181
+ config_path_parts: list[str] = []
182
+
183
+ for part in path_parts:
184
+ if part != "properties" and part != "items":
185
+ is_numeric_index = bool(re.match(r"^\d+$", part))
186
+ if is_numeric_index:
187
+ config_path_parts.append(f"[{part}]")
188
+ else:
189
+ config_path_parts.append(part)
190
+
191
+ return ".".join(config_path_parts)
192
+
193
+
194
+ def generate_number_schema(value: float) -> JsonSchemaNumber:
195
+ """
196
+ Generates a JSON schema definition for a number.
197
+
198
+ :param value: The default number value to include in the schema (unused in this function but can be utilized for default values or examples).
199
+ :return: A JSON schema dictionary for a number type.
200
+ """
201
+ schema: JsonSchemaNumber = {"type": "number"}
202
+ return schema
203
+
204
+
205
+ def generate_boolean_schema(value: bool) -> JsonSchemaBoolean:
206
+ """
207
+ Generates a JSON schema definition for a boolean.
208
+
209
+ :param value: The default boolean value to include in the schema (unused in this function but can be utilized for default values or examples).
210
+ :return: A JSON schema dictionary for a boolean type.
211
+ """
212
+ schema: JsonSchemaBoolean = {"type": "boolean"}
213
+ return schema
214
+
215
+
216
+ def generate_string_schema(value: str) -> JsonSchemaString:
217
+ """
218
+ Generates a JSON schema definition for a string, including format detection for known formats such as date-time, email, UUID, and IP addresses based on the provided value.
219
+
220
+ :param value: A string example used to infer the format of the string in the schema.
221
+ :return: A JSON schema dictionary for a string type, possibly including a specific format.
222
+ """
223
+ string_object: JsonSchemaString = {"type": "string"}
224
+
225
+ iso8601_date_time = re.compile(r"^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(.\d+)?(Z|[+-]\d{2}:\d{2})?)?$")
226
+
227
+ time_with_seconds = re.match(r"^([01]?[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])$", value)
228
+ time_without_seconds = re.match(r"^([01]?[0-9]|2[0-3]):([0-5][0-9])$", value)
229
+
230
+ if iso8601_date_time.match(value):
231
+ string_object["format"] = "date-time"
232
+ elif time_with_seconds or time_without_seconds:
233
+ string_object["format"] = "time"
234
+
235
+ if re.match(r"^\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,7}\b$", value):
236
+ string_object["format"] = "email"
237
+
238
+ if re.match(
239
+ r"^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-5][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}$",
240
+ value,
241
+ ):
242
+ string_object["format"] = "uuid"
243
+
244
+ if re.match(r"^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$", value):
245
+ string_object["format"] = "ipv4"
246
+
247
+ if re.match(r"^\s*([0-9a-fA-F]{1,4}:){7}([0-9a-fA-F]{1,4})\s*$", value):
248
+ string_object["format"] = "ipv6"
249
+
250
+ return string_object
251
+
252
+
253
+ def generate_enum_schema(value: list[str]) -> JsonSchemaEnum:
254
+ """
255
+ Generates a JSON schema definition for an enumeration, containing a set of predefined options.
256
+
257
+ :param value: A list of strings representing the possible values for the enumeration.
258
+ :return: A JSON schema dictionary for an enum type.
259
+ """
260
+ schema: JsonSchemaEnum = {"type": "string", "enum": value}
261
+ return schema
262
+
263
+
264
+ def generate_object_schema(value: dict[str, Any]) -> JsonSchemaObject:
265
+ """
266
+ Generates a JSON schema definition for an object, including properties based on the provided dictionary. Each key-value pair in the dictionary is treated as a property name and value, respectively.
267
+
268
+ :param value: A dictionary representing the structure and default values of the object to be defined in the schema.
269
+ :return: A JSON schema dictionary for an object type, including properties definitions.
270
+ """
271
+ if not value.keys():
272
+ return {"type": "object"}
273
+
274
+ properties = {}
275
+ for key, val in value.items():
276
+ schema = generate_schema(val)
277
+
278
+ schema["key"] = key
279
+ schema["description"] = schema.get("description", f"Description for {key}")
280
+ schema["required"] = schema.get("required", True)
281
+ schema["readonly"] = schema.get("readonly", False)
282
+
283
+ properties[key] = schema
284
+
285
+ return {"type": "object", "properties": properties}
286
+
287
+
288
+ def generate_object_schema_with_buttons(
289
+ value: dict[str, Any], buttons: list[dict[str, Any]]
290
+ ) -> JsonSchemaObjectWithButtons:
291
+ """
292
+ Generates a JSON schema definition for an object, similar to `generate_object_schema`, but also includes definitions for one or more action buttons that can be associated with the object.
293
+
294
+ :param value: A dictionary representing the structure and default values of the object.
295
+ :param buttons: A list of dictionaries, where each dictionary defines an action button associated with the object.
296
+ :return: A JSON schema dictionary for an object type, including properties and buttons definitions.
297
+ """
298
+ base_schema: Any = generate_object_schema(value)
299
+ if buttons:
300
+ base_schema["buttons"] = buttons
301
+ return base_schema
302
+
303
+
304
+ def generate_array_schema(
305
+ array: Union[list[str], list[int], list[bool], list[dict[str, Any]]],
306
+ ) -> JsonSchemaArray:
307
+ """
308
+ Generates a JSON schema definition for an array. The type of items in the array is determined by inspecting the provided list. Supports arrays of objects, as well as arrays of primitive types.
309
+
310
+ :param array: A list containing example items that the array will hold. Used to infer the item type for the schema.
311
+ :return: A JSON schema dictionary for an array type.
312
+ """
313
+ if len(array) == 0:
314
+ schema: Any = {"type": "array"}
315
+ return schema
316
+
317
+ all_objects = all(isinstance(item, dict) for item in array)
318
+ all_strings = all(isinstance(item, str) for item in array)
319
+ all_numbers = all(isinstance(item, (int, float)) for item in array)
320
+
321
+ if all_objects:
322
+ item_schemas = [generate_schema(item) for item in array]
323
+ schema: Any = {
324
+ "type": "array",
325
+ "items": {"type": "object", "properties": item_schemas[0]},
326
+ }
327
+ return schema
328
+
329
+ if all_strings:
330
+ schema: Any = {"type": "array", "items": {"type": "string"}}
331
+ return schema
332
+
333
+ if all_numbers:
334
+ schema: Any = {"type": "array", "items": {"type": "number"}}
335
+ return schema
336
+
337
+ return {"type": "array", "items": {"type": "boolean"}}
338
+
339
+
340
+ def generate_schema(value: Any) -> JsonSchema:
341
+ """
342
+ Determines the appropriate JSON schema based on the Python type of the provided value. This is a generic entry point for schema generation that delegates to specific functions based on the value type.
343
+
344
+ :param value: A value whose type is used to generate the corresponding JSON schema.
345
+ :return: A JSON schema dictionary appropriate to the type of the provided value.
346
+ """
347
+ if isinstance(value, (int, float)):
348
+ return generate_number_schema(value)
349
+ elif isinstance(value, bool):
350
+ return generate_boolean_schema(value)
351
+ elif isinstance(value, str):
352
+ return generate_string_schema(value)
353
+ elif isinstance(value, list):
354
+ val: Any = value
355
+ return generate_array_schema(val)
356
+ elif isinstance(value, dict):
357
+ val: Any = value
358
+ return generate_object_schema(val)
359
+ else:
360
+ raise TypeError(f"Invalid JSON value: {value}")
361
+
362
+
363
+ def is_string_type(json_schema: dict[str, Any]) -> bool:
364
+ return json_schema.get("type") == "string" and "enum" not in json_schema
365
+
366
+
367
+ def is_number_type(json_schema: dict[str, Any]) -> bool:
368
+ return json_schema.get("type") == "number" and "enum" not in json_schema
369
+
370
+
371
+ def is_boolean_type(json_schema: dict[str, Any]) -> bool:
372
+ return json_schema.get("type") == "boolean" and "enum" not in json_schema
373
+
374
+
375
+ def is_enum_type(json_schema: dict[str, Any]) -> bool:
376
+ return json_schema.get("type") == "string" and "enum" in json_schema
377
+
378
+
379
+ def is_object_type(json_schema: dict[str, Any]) -> bool:
380
+ return json_schema.get("type") == "object"
381
+
382
+
383
+ def is_object_type_with_buttons(json_schema: Any) -> bool:
384
+ return is_object_type(json_schema) and "buttons" in json_schema
385
+
386
+
387
+ def is_array_type(json_schema: dict[str, Any]) -> bool:
388
+ return json_schema.get("type") == "array"
389
+
390
+
391
+ def is_primitive_type(value: dict[str, Any]) -> bool:
392
+ return "onGet" in value or "onSet" in value
@@ -0,0 +1,57 @@
1
+ from typing import Any, Optional
2
+
3
+ from camera_storage import CameraStorage
4
+ from camera_ui_types import PluginJsonSchemaForm
5
+ from logger import PluginLogger
6
+ from plugin_api import PluginAPI
7
+
8
+
9
+ class StorageController:
10
+ def __init__(self, api: PluginAPI, logger: PluginLogger) -> None:
11
+ self.__logger = logger
12
+ self.__api = api
13
+ self.__camera_storages: dict[str, CameraStorage] = {}
14
+
15
+ def create_camera_storage(
16
+ self,
17
+ instance: Any,
18
+ camera_id: str,
19
+ schema: Optional[PluginJsonSchemaForm] = None,
20
+ ) -> CameraStorage:
21
+ """
22
+ Creates or retrieves an existing camera storage instance for the specified camera ID. If a storage instance does not already exist, it is initialized and stored.
23
+
24
+ :param instance: The plugin instance associated with this camera storage.
25
+ :param camera_id: A unique identifier for the camera.
26
+ :param schema: The JSON schema form defining the data structure for this camera's storage.
27
+ :return: An instance of CameraStorage for the specified camera.
28
+ """
29
+ if schema is None:
30
+ schema = {}
31
+ camera_storage = self.__camera_storages.get(camera_id) or CameraStorage(
32
+ self.__api, self.__logger, instance, camera_id, schema
33
+ )
34
+
35
+ camera_storage.initialize_storage()
36
+
37
+ self.__camera_storages[camera_id] = camera_storage
38
+
39
+ return camera_storage
40
+
41
+ def get_camera_storage(self, camera_id: str) -> Optional[CameraStorage]:
42
+ """
43
+ Retrieves a camera storage instance for the specified camera ID, if one exists.
44
+
45
+ :param camera_id: The unique identifier for the camera whose storage instance is being requested.
46
+ :return: The CameraStorage instance for the specified camera, or None if no such instance exists.
47
+ """
48
+ return self.__camera_storages.get(camera_id)
49
+
50
+ def remove_camera_storage(self, camera_id: str) -> None:
51
+ """
52
+ Removes the camera storage instance associated with the specified camera ID, if it exists.
53
+
54
+ :param camera_id: The unique identifier for the camera whose storage instance should be removed.
55
+ """
56
+ if camera_id in self.__camera_storages:
57
+ del self.__camera_storages[camera_id]
@@ -0,0 +1,248 @@
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
+
29
+
30
+ class PLUGIN_STATUS(Enum):
31
+ READY = "ready"
32
+ STARTING = "starting"
33
+ STARTED = "started"
34
+ STOPPED = "stopped"
35
+ ERROR = "error"
36
+ UNKNOWN = "unknown"
37
+ DISABLED = "disabled"
38
+
39
+
40
+ class PLUGIN_COMMAND(Enum):
41
+ START = "start"
42
+ STOP = "stop"
43
+
44
+
45
+ class PluginStorage(TypedDict):
46
+ installPath: str
47
+ storagePath: str
48
+ configFile: str
49
+
50
+
51
+ class PluginInfo(TypedDict):
52
+ id: str
53
+ name: str
54
+ contract: PluginContract
55
+
56
+
57
+ class ProcessLoadMessage(TypedDict):
58
+ cameras: list[Camera]
59
+ plugin: PluginInfo
60
+ storage: PluginStorage
61
+
62
+
63
+ class ProcessMessage(TypedDict, total=False):
64
+ type: str
65
+ data: ProcessLoadMessage
66
+
67
+
68
+ class ProcessResponse(TypedDict, total=False):
69
+ type: str
70
+ data: str
71
+
72
+
73
+ ProxyType = Literal["device", "plugin", "camera"]
74
+
75
+ ClientType = Literal[
76
+ "cameraFn",
77
+ "pluginFn",
78
+ "deviceFn",
79
+ "storageFn",
80
+ "cameraDelegate",
81
+ "prebufferDelegate",
82
+ "ptzDelegate",
83
+ ]
84
+
85
+ MessageType = Literal["request", "reply"]
86
+
87
+
88
+ class QueueItem(TypedDict):
89
+ message: "ProxyMessageStructure"
90
+ resolve: Callable[[Any], None]
91
+ reject: Callable[["RemoteError"], None]
92
+
93
+
94
+ class DeserializedError(TypedDict):
95
+ name: str
96
+ message: str
97
+ stack: str
98
+
99
+
100
+ class RemoteError(Exception):
101
+ def __init__(self, error: DeserializedError, cause: "ProxyMessageStructure"):
102
+ super().__init__(error["message"])
103
+
104
+ self.name = error["name"]
105
+ self.message: str = error["message"]
106
+ self.cause = cause
107
+
108
+ if error["stack"] and error["stack"] != "":
109
+ self.stack = error["stack"]
110
+
111
+ def __str__(self):
112
+ return f"{self.name}: {self.message}"
113
+
114
+
115
+ class ProxyMessageStructure(TypedDict):
116
+ requestId: str
117
+ cameraId: NotRequired[str]
118
+ targetId: str
119
+ targetName: NotRequired[str]
120
+ pluginId: str
121
+ type: MessageType
122
+ proxy: ProxyType
123
+ client: ClientType
124
+ fn: str
125
+ args: list[Any]
126
+ timeout: int
127
+ timestamp: int
128
+ response: NotRequired[Any]
129
+ error: NotRequired[DeserializedError]
130
+
131
+
132
+ class AudioStreamOptions(TypedDict, total=False):
133
+ enabled: bool
134
+ codec: str
135
+ bitrate: int
136
+ sampleRate: int
137
+
138
+
139
+ class VideoStreamOptions(TypedDict, total=False):
140
+ codec: str
141
+ width: int
142
+ height: int
143
+ bitrate: int
144
+ fps: int
145
+ idrInterval: int
146
+
147
+
148
+ class StreamInfo(TypedDict):
149
+ audio: AudioStreamOptions
150
+ video: VideoStreamOptions
151
+
152
+
153
+ class ProcessPrebufferedImageRequest(TypedDict):
154
+ frameData: FrameData
155
+ metadata: FrameMetadata
156
+ options: ImageOptions
157
+ prebufferDuration: int
158
+
159
+
160
+ class ConnectData(TypedDict):
161
+ cameraId: str
162
+ pluginId: NotRequired[str]
163
+
164
+
165
+ class DisconnectData(ConnectData): ...
166
+
167
+
168
+ class RebootData(ConnectData): ...
169
+
170
+
171
+ class StreamInfoData(ConnectData):
172
+ sourceName: str
173
+
174
+
175
+ class FrameMetadataData(ConnectData): ...
176
+
177
+
178
+ class FfmpegPathData(ConnectData): ...
179
+
180
+
181
+ class IceServersData(ConnectData): ...
182
+
183
+
184
+ class UpdateStateData(ConnectData):
185
+ stateName: Literal["light", "motion", "audio", "object", "doorbell", "siren", "battery"]
186
+ eventData: Union[
187
+ LightSetEvent,
188
+ MotionSetEvent,
189
+ AudioSetEvent,
190
+ ObjectSetEvent,
191
+ DoorbellSetEvent,
192
+ SirenSetEvent,
193
+ BatterySetEvent,
194
+ ]
195
+
196
+
197
+ class UpdatePrebufferStateData(ConnectData):
198
+ sourceId: str
199
+ container: Container
200
+
201
+
202
+ class RefreshStatesData(ConnectData): ...
203
+
204
+
205
+ class SnapshotData(ConnectData):
206
+ forceNew: NotRequired[bool]
207
+
208
+
209
+ class IsPrebufferingData(TypedDict):
210
+ sourceName: str
211
+ container: Container
212
+ cameraId: str
213
+ pluginId: NotRequired[str]
214
+ state: bool
215
+ url: NotRequired[str]
216
+
217
+
218
+ class RefreshStatesReturnData(TypedDict):
219
+ camera: Camera
220
+ states: StateValues
221
+ cameraState: bool
222
+
223
+
224
+ CameraDeviceProxyMethodNames = Literal[
225
+ "connect",
226
+ "disconnect",
227
+ "getFfmpegPath",
228
+ "getIceServers",
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
+ ]