@camera.ui/server 2.0.23 → 2.1.0

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 (296) hide show
  1. package/dist/interface/assets/{404-junY0N5P.js → 404-mKz7xfYl.js} +1 -1
  2. package/dist/interface/assets/{About-Dwc0TTLa.js → About-C3mKJiWW.js} +1 -1
  3. package/dist/interface/assets/Adminpanel-KkWHp8Mh.js +1 -0
  4. package/dist/interface/assets/{Automation-Dj6xmGae.js → Automation-BdSjkwoL.js} +3 -3
  5. package/dist/interface/assets/{AutomationImport-Ccnxyslc.js → AutomationImport-DEp2P3xa.js} +2 -2
  6. package/dist/interface/assets/AutomationStore-4NQAyOXd.js +2 -0
  7. package/dist/interface/assets/{AutomationStoreDetail-DcbvD8g5.js → AutomationStoreDetail-D8NZLRu9.js} +2 -2
  8. package/dist/interface/assets/Automations-D7kh-T-O.js +2 -0
  9. package/dist/interface/assets/{Camera-D_j0J3kB.js → Camera-DsvE1bWd.js} +2 -2
  10. package/dist/interface/assets/{CameraConsole--hGg9Ye6.js → CameraConsole-Bj9mszzp.js} +1 -1
  11. package/dist/interface/assets/{Cameras-B2Tizr4Q.js → Cameras-BVFxn9Ef.js} +2 -2
  12. package/dist/interface/assets/Camview-BXDwJtBf.js +1 -0
  13. package/dist/interface/assets/{Camview-Cj10uxGy.css → Camview-DEURwPYt.css} +1 -1
  14. package/dist/interface/assets/{Config-Dn_s2M7r.js → Config-CJgmsr2e.js} +1 -1
  15. package/dist/interface/assets/{ConfigActionCameraControl-DQEYHVN5.js → ConfigActionCameraControl-B80iDDds.js} +1 -1
  16. package/dist/interface/assets/{ConfigActionDelay-C0mbjCCj.js → ConfigActionDelay-ChhenlQV.js} +1 -1
  17. package/dist/interface/assets/{ConfigActionHttp-Bf58WHcw.js → ConfigActionHttp-09PkDYgp.js} +1 -1
  18. package/dist/interface/assets/{ConfigActionImageInput-CDXVFrOz.js → ConfigActionImageInput-FDMVc5FH.js} +1 -1
  19. package/dist/interface/assets/{ConfigActionMqtt-lH7MQqWr.js → ConfigActionMqtt-4gLcAM0C.js} +1 -1
  20. package/dist/interface/assets/{ConfigActionNotification-CAkr6NJX.js → ConfigActionNotification-DmIQhrC2.js} +1 -1
  21. package/dist/interface/assets/{ConfigActionNotificationControl-CiL-4Ytw.js → ConfigActionNotificationControl-Df4BdM3c.js} +1 -1
  22. package/dist/interface/assets/{ConfigActionOutput-ILAxBT-r.js → ConfigActionOutput-CNKeWFvE.js} +1 -1
  23. package/dist/interface/assets/{ConfigActionPlugin-B2d4mZiK.js → ConfigActionPlugin-CWfEabyz.js} +1 -1
  24. package/dist/interface/assets/{ConfigActionSensor-BxMdsmRa.js → ConfigActionSensor-pv3k-l2v.js} +1 -1
  25. package/dist/interface/assets/{ConfigActionSnapshot-CXVQBSzv.js → ConfigActionSnapshot-CM8xar0h.js} +1 -1
  26. package/dist/interface/assets/{ConfigActionVariable-CABnlnMv.js → ConfigActionVariable-B8tiVULt.js} +1 -1
  27. package/dist/interface/assets/{ConfigConditionIfElse-Cxu7TSdJ.js → ConfigConditionIfElse-CtF5exKE.js} +1 -1
  28. package/dist/interface/assets/{ConfigConditionSensorState-rB7I04Gb.js → ConfigConditionSensorState-B4hRgQdg.js} +1 -1
  29. package/dist/interface/assets/{ConfigConditionSwitch-CU0hLo1h.js → ConfigConditionSwitch-ZhpDw8ZY.js} +1 -1
  30. package/dist/interface/assets/{ConfigConditionTime-DfeEvxIU.js → ConfigConditionTime-EF84vg1f.js} +1 -1
  31. package/dist/interface/assets/ConfigSensorValueInput-DNxw4rt3.js +1 -0
  32. package/dist/interface/assets/{ConfigTriggerDetection-DFJpuWrs.js → ConfigTriggerDetection-BmxUG87T.js} +1 -1
  33. package/dist/interface/assets/{ConfigTriggerGeofence-CZwesOD8.js → ConfigTriggerGeofence-CDbA6_Wv.js} +1 -1
  34. package/dist/interface/assets/{ConfigTriggerManual-aibwYUtf.js → ConfigTriggerManual-t-J-HbqF.js} +1 -1
  35. package/dist/interface/assets/{ConfigTriggerMqtt-CUNgifGb.js → ConfigTriggerMqtt-BD1iizF-.js} +1 -1
  36. package/dist/interface/assets/{ConfigTriggerSchedule-8Y_OBcB1.js → ConfigTriggerSchedule-CBPaopJK.js} +1 -1
  37. package/dist/interface/assets/{ConfigTriggerSensor-Bu-YtGnX.js → ConfigTriggerSensor-CXmxhiPM.js} +1 -1
  38. package/dist/interface/assets/{ConfigTriggerSystem-CXNvmC4S.js → ConfigTriggerSystem-CfFnKyIn.js} +1 -1
  39. package/dist/interface/assets/{ConfigTriggerWebhook-CkZ-_ABi.js → ConfigTriggerWebhook-gqcxnQdl.js} +1 -1
  40. package/dist/interface/assets/Console-CPcfNsup.js +1 -0
  41. package/dist/interface/assets/{CuiAutomationRunsDialog-Ux0g-E3w.js → CuiAutomationRunsDialog-Bx3LtjMJ.js} +1 -1
  42. package/dist/interface/assets/{CuiBottomSheet-C-ZN_uXE.js → CuiBottomSheet-BcDAO9At.js} +1 -1
  43. package/dist/interface/assets/CuiBottomSheet-Qt8m2uSx.js +1 -0
  44. package/dist/interface/assets/{CuiCameraPipCard-B-B6Ppsd.js → CuiCameraPipCard-C7822oZM.js} +1 -1
  45. package/dist/interface/assets/{CuiCameraRecordings-DqVdR9uS.js → CuiCameraRecordings-DJG6J1nY.js} +1 -1
  46. package/dist/interface/assets/{CuiCameraShares-DstoVjf9.js → CuiCameraShares-C3SATbiV.js} +1 -1
  47. package/dist/interface/assets/CuiCameraTable-BdXITi6O.js +2 -0
  48. package/dist/interface/assets/CuiDataTable-BGleWv6B.css +1 -0
  49. package/dist/interface/assets/CuiDataTable-DdNoneMB.js +1 -0
  50. package/dist/interface/assets/{CuiLightControl-B_JIzm9t.js → CuiLightControl-bH7WQXAY.js} +1 -1
  51. package/dist/interface/assets/CuiPluginCard-B50TjvIq.js +2 -0
  52. package/dist/interface/assets/{CuiPluginCard-C9zsmIaC.css → CuiPluginCard-D_6UFFZW.css} +1 -1
  53. package/dist/interface/assets/{CuiPluginCategoryChip-C2Y8x73q.js → CuiPluginCategoryChip-C9l5I9v3.js} +1 -1
  54. package/dist/interface/assets/{CuiPluginOAuthButton-CCzRlZP6.js → CuiPluginOAuthButton-Aanenlqx.js} +2 -2
  55. package/dist/interface/assets/{CuiPluginTrustBadge-C8qBdLCg.js → CuiPluginTrustBadge-BkdNlrZ7.js} +1 -1
  56. package/dist/interface/assets/{CuiQRCode-D52Fcu61.js → CuiQRCode-D8CKX4s9.js} +1 -1
  57. package/dist/interface/assets/{CuiRecordingsGrid-CfuihmlY.js → CuiRecordingsGrid-D9IF3B-S.js} +1 -1
  58. package/dist/interface/assets/{CuiSchema-DTIuxROi.js → CuiSchema-B8J8G314.js} +1 -1
  59. package/dist/interface/assets/{CuiTopNavbarItem-CoTQmfY7.js → CuiTopNavbarItem-C-ZiLXkp.js} +1 -1
  60. package/dist/interface/assets/{Faces-EtBPS1Ve.js → Faces-B8d8W6cq.js} +1 -1
  61. package/dist/interface/assets/{FirstSteps-CC0BPH40.js → FirstSteps-DWB8ZhqT.js} +1 -1
  62. package/dist/interface/assets/{Instances-dSYERqIc.js → Instances-DCE3ixbf.js} +1 -1
  63. package/dist/interface/assets/{Logs-B8d6dEt7.js → Logs-DJL3FHsG.js} +2 -2
  64. package/dist/interface/assets/Menu-CvpQ9fHV.js +1 -0
  65. package/dist/interface/assets/{OAuthDeviceFlow-YhwV_FSL.js → OAuthDeviceFlow-9kYvqgyg.js} +1 -1
  66. package/dist/interface/assets/{Plugin-Brb6wfq-.js → Plugin-HIED8ziU.js} +1 -1
  67. package/dist/interface/assets/{PluginConsole-CfyZQVq5.js → PluginConsole-DUnPciNz.js} +1 -1
  68. package/dist/interface/assets/{PluginDetail-DVRnnauk.js → PluginDetail-Ba9VDO53.js} +2 -2
  69. package/dist/interface/assets/{PluginSchema-i6UJfMnh.js → PluginSchema-CQARvB5H.js} +1 -1
  70. package/dist/interface/assets/PluginSearch-B3y83uDW.js +2 -0
  71. package/dist/interface/assets/PluginSearch-BKVIwJVF.js +1 -0
  72. package/dist/interface/assets/{PluginSearch-Bbp8D7BJ.css → PluginSearch-CLjLT9JT.css} +1 -1
  73. package/dist/interface/assets/{Plugins-CukJohcb.js → Plugins-mdsFKDQ8.js} +1 -1
  74. package/dist/interface/assets/Recordings-GVzdhE19.js +1 -0
  75. package/dist/interface/assets/{SensorEdit-BJAijbmc.js → SensorEdit-COOOaB-l.js} +1 -1
  76. package/dist/interface/assets/{SensorHistory-DW00ZuHR.js → SensorHistory-oWCb8Kia.js} +1 -1
  77. package/dist/interface/assets/Sensors-De6n66ER.js +2 -0
  78. package/dist/interface/assets/Sensors-DfE07b1Q.css +1 -0
  79. package/dist/interface/assets/{Settings-DHT8KXi2.js → Settings-BipPaBUB.js} +1 -1
  80. package/dist/interface/assets/{SettingsAccount-DOd4JeGd.js → SettingsAccount-809sRaa9.js} +1 -1
  81. package/dist/interface/assets/SettingsAccount-Bmteep-6.js +1 -0
  82. package/dist/interface/assets/SettingsAppearance-CJWlk9_1.js +1 -0
  83. package/dist/interface/assets/{SettingsAppearance-11UFhRDY.js → SettingsAppearance-Cobtww9z.js} +1 -1
  84. package/dist/interface/assets/{SettingsBackup-CBBZV_nU.js → SettingsBackup-Bbp3fEuS.js} +1 -1
  85. package/dist/interface/assets/SettingsList-DFJifGkE.js +1 -0
  86. package/dist/interface/assets/{SettingsMqtt-BglQ_GeN.js → SettingsMqtt-pH6KmHhv.js} +1 -1
  87. package/dist/interface/assets/{SettingsNotifications-96czeGDD.js → SettingsNotifications-Dt_gxxoj.js} +1 -1
  88. package/dist/interface/assets/{SettingsPermissions-CU4OVllA.js → SettingsPermissions-CDpVmRY2.js} +1 -1
  89. package/dist/interface/assets/{SettingsRecordings-BrnU9hrb.js → SettingsRecordings-1i4sNZ8u.js} +1 -1
  90. package/dist/interface/assets/SettingsRemote-HDCH_D5s.js +1 -0
  91. package/dist/interface/assets/SettingsSystem-jDQ9m8jt.js +2 -0
  92. package/dist/interface/assets/{SettingsUsers-CoYyAxxn.js → SettingsUsers-CFzURSfg.js} +1 -1
  93. package/dist/interface/assets/{Terminal-DMAHgufw.js → Terminal-DSRLOAKR.js} +1 -1
  94. package/dist/interface/assets/{VariableInput-BzWLKBgd.js → VariableInput-rbKenccv.js} +1 -1
  95. package/dist/interface/assets/{VariableSuggestions-BdxcP_dn.js → VariableSuggestions-DDyxhww6.js} +1 -1
  96. package/dist/interface/assets/{VersionsHandler-Dvy5Lv-E.js → VersionsHandler-CBAnjOWO.js} +2 -2
  97. package/dist/interface/assets/{VirtualSensorCreate-BXz0lWNm.js → VirtualSensorCreate-_9QdFeEj.js} +1 -1
  98. package/dist/interface/assets/Workers-DQZ0QoEN.js +2 -0
  99. package/dist/interface/assets/{Workers-CzAz4N2_.css → Workers-DmZkFylb.css} +1 -1
  100. package/dist/interface/assets/{api-DmxTF6VE.js → api-BijLH5JF.js} +1 -1
  101. package/dist/interface/assets/api-CwjboJ6S.css +2 -0
  102. package/dist/interface/assets/api-DpZpuR8_.js +2 -0
  103. package/dist/interface/assets/{auth-DwSrX8QL.js → auth-CSrkzvBq.js} +1 -1
  104. package/dist/interface/assets/{automations-yVPQAmFo.js → automations-5YkU18M0.js} +1 -1
  105. package/dist/interface/assets/{cameras.schema-JAiaenSf.js → cameras.schema-BQ3CdtV5.js} +1 -1
  106. package/dist/interface/assets/chevron-right-B3j6hI1Q.js +1 -0
  107. package/dist/interface/assets/cloudHandoff-D8flqTzb.js +1 -0
  108. package/dist/interface/assets/{config-BE0DnCXx.js → config-BqiDMRVk.js} +1 -1
  109. package/dist/interface/assets/deployed-code-update-CHr3gyW9.js +1 -0
  110. package/dist/interface/assets/{flowSchema-BQp77LdP.js → flowSchema-C6FlHoK2.js} +1 -1
  111. package/dist/interface/assets/main-Csclhnoq.js +3 -0
  112. package/dist/interface/assets/{mqtt-D_shY0Ks.js → mqtt-DklPP2x5.js} +1 -1
  113. package/dist/interface/assets/{notifications-BuSNpaOJ.js → notifications-DCAiomoR.js} +1 -1
  114. package/dist/interface/assets/{plugins-7pWXkYgo.js → plugins-D4am8tba.js} +1 -1
  115. package/dist/interface/assets/round-restart-alt-CdweDM5-.js +1 -0
  116. package/dist/interface/assets/round-restart-alt-D3sTGG7n.css +1 -0
  117. package/dist/interface/assets/sensors-D1OCrbIC.js +1 -0
  118. package/dist/interface/assets/{server-Bv5NVJ0G.js → server-CUfmbg3m.js} +1 -1
  119. package/dist/interface/assets/{theme-DsxRUmCC.js → theme-ClwavgWz.js} +1 -1
  120. package/dist/interface/assets/{types-BazOcNe_.js → types-B25Yynej.js} +1 -1
  121. package/dist/interface/assets/types-D9YcubIy.js +1 -0
  122. package/dist/interface/assets/{useAppVersion-oPpW7jcN.js → useAppVersion-Cp7Ehmiv.js} +1 -1
  123. package/dist/interface/assets/{useBackupRestore-b0Niqql7.js → useBackupRestore-CL04IH-G.js} +1 -1
  124. package/dist/interface/assets/{useCameraOptions-uf9Kog6z.js → useCameraOptions-DFe9A6XU.js} +1 -1
  125. package/dist/interface/assets/{useElectron-Dg8tFzam.js → useElectron-KnqvZz0q.js} +1 -1
  126. package/dist/interface/assets/{useLogsSocket-9jJ-oJIm.js → useLogsSocket-BxI3NbRJ.js} +1 -1
  127. package/dist/interface/assets/{usePermissions-xL0VlbyD.js → usePermissions-C3D3JcPH.js} +1 -1
  128. package/dist/interface/assets/{useServerRestart-3AZOTz7i.js → useServerRestart-Ck0mdqmf.js} +1 -1
  129. package/dist/interface/assets/{useStreamStatus-Dg-Djura.js → useStreamStatus-C4AA8JUq.js} +1 -1
  130. package/dist/interface/assets/{useUserOptions-BQnM3gdi.js → useUserOptions-BpEZlRAL.js} +1 -1
  131. package/dist/interface/assets/{vendor-cameraui-BqkrW4Bb.js → vendor-cameraui-Cgb5z6NJ.js} +1 -1
  132. package/dist/interface/assets/{vendor-core-BQegq2Q6.js → vendor-core-BJsSXMFQ.js} +1 -1
  133. package/dist/interface/assets/{vendor-primevue-DYzLjOFZ.js → vendor-primevue-JQ8abUl5.js} +2 -2
  134. package/dist/interface/index.html +23 -22
  135. package/dist/interface/sw.js +1 -1
  136. package/dist/server/package.json +3 -3
  137. package/dist/server/requirements.txt +2 -2
  138. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/client.py +3 -0
  139. package/dist/server/src/_camera_ui_tools/camera_ui_rpc/types.py +3 -0
  140. package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +14 -28
  141. package/dist/server/src/api/controllers/cameras.controller.d.ts +1 -10
  142. package/dist/server/src/api/controllers/cameras.controller.js +0 -99
  143. package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
  144. package/dist/server/src/api/controllers/plugins.controller.js +30 -4
  145. package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
  146. package/dist/server/src/api/controllers/workers.controller.d.ts +2 -1
  147. package/dist/server/src/api/controllers/workers.controller.js +9 -0
  148. package/dist/server/src/api/controllers/workers.controller.js.map +1 -1
  149. package/dist/server/src/api/database/index.d.ts +0 -1
  150. package/dist/server/src/api/database/index.js +1 -1
  151. package/dist/server/src/api/database/index.js.map +1 -1
  152. package/dist/server/src/api/database/record-schemas.js +1 -1
  153. package/dist/server/src/api/database/record-schemas.js.map +1 -1
  154. package/dist/server/src/api/database/types.d.ts +0 -1
  155. package/dist/server/src/api/index.js +1 -1
  156. package/dist/server/src/api/routes/cameras.routes.js +1 -42
  157. package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
  158. package/dist/server/src/api/routes/workers.routes.js +11 -0
  159. package/dist/server/src/api/routes/workers.routes.js.map +1 -1
  160. package/dist/server/src/api/schemas/cameras.schema.d.ts +32 -18
  161. package/dist/server/src/api/schemas/cameras.schema.js +4 -11
  162. package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
  163. package/dist/server/src/api/services/cameras.service.d.ts +1 -0
  164. package/dist/server/src/api/services/cameras.service.js +23 -0
  165. package/dist/server/src/api/services/cameras.service.js.map +1 -1
  166. package/dist/server/src/api/services/plugins.service.d.ts +1 -0
  167. package/dist/server/src/api/services/plugins.service.js +18 -0
  168. package/dist/server/src/api/services/plugins.service.js.map +1 -1
  169. package/dist/server/src/api/services/sensors.service.d.ts +1 -0
  170. package/dist/server/src/api/services/sensors.service.js +1 -0
  171. package/dist/server/src/api/services/sensors.service.js.map +1 -1
  172. package/dist/server/src/api/services/server.service.d.ts +2 -0
  173. package/dist/server/src/api/services/server.service.js +16 -2
  174. package/dist/server/src/api/services/server.service.js.map +1 -1
  175. package/dist/server/src/api/types/index.d.ts +33 -15
  176. package/dist/server/src/api/websocket/nsp/events.js +0 -3
  177. package/dist/server/src/api/websocket/nsp/events.js.map +1 -1
  178. package/dist/server/src/camera/controller.d.ts +0 -3
  179. package/dist/server/src/camera/controller.js +0 -18
  180. package/dist/server/src/camera/controller.js.map +1 -1
  181. package/dist/server/src/camera/decoder/worker.js +2 -2
  182. package/dist/server/src/camera/decoder/worker.js.map +1 -1
  183. package/dist/server/src/camera/sensors/controller.d.ts +1 -10
  184. package/dist/server/src/camera/sensors/controller.js +2 -59
  185. package/dist/server/src/camera/sensors/controller.js.map +1 -1
  186. package/dist/server/src/main.js +2 -97
  187. package/dist/server/src/main.js.map +1 -1
  188. package/dist/server/src/manager/types.d.ts +1 -0
  189. package/dist/server/src/manager/types.js +2 -0
  190. package/dist/server/src/manager/types.js.map +1 -1
  191. package/dist/server/src/mqtt/bridge.d.ts +0 -5
  192. package/dist/server/src/mqtt/bridge.js +2 -5
  193. package/dist/server/src/mqtt/bridge.js.map +1 -1
  194. package/dist/server/src/plugins/plugin.js +3 -1
  195. package/dist/server/src/plugins/plugin.js.map +1 -1
  196. package/dist/server/src/plugins/runtime/base.d.ts +1 -0
  197. package/dist/server/src/plugins/runtime/base.js +19 -0
  198. package/dist/server/src/plugins/runtime/base.js.map +1 -1
  199. package/dist/server/src/plugins/runtime/go/index.js +1 -1
  200. package/dist/server/src/plugins/runtime/go/index.js.map +1 -1
  201. package/dist/server/src/plugins/runtime/node/child.d.ts +1 -0
  202. package/dist/server/src/plugins/runtime/node/child.js +5 -2
  203. package/dist/server/src/plugins/runtime/node/child.js.map +1 -1
  204. package/dist/server/src/plugins/runtime/node/index.d.ts +0 -1
  205. package/dist/server/src/plugins/runtime/node/index.js +1 -20
  206. package/dist/server/src/plugins/runtime/node/index.js.map +1 -1
  207. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +0 -5
  208. package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -1
  209. package/dist/server/src/plugins/runtime/node/proxy/deviceManager.js +7 -5
  210. package/dist/server/src/plugins/runtime/node/proxy/deviceManager.js.map +1 -1
  211. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js +0 -5
  212. package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js.map +1 -1
  213. package/dist/server/src/plugins/runtime/node/storage.js +8 -5
  214. package/dist/server/src/plugins/runtime/node/storage.js.map +1 -1
  215. package/dist/server/src/plugins/runtime/node/storageController.d.ts +1 -3
  216. package/dist/server/src/plugins/runtime/node/storageController.js +7 -24
  217. package/dist/server/src/plugins/runtime/node/storageController.js.map +1 -1
  218. package/dist/server/src/plugins/runtime/python/child.py +62 -5
  219. package/dist/server/src/plugins/runtime/python/index.js +3 -0
  220. package/dist/server/src/plugins/runtime/python/index.js.map +1 -1
  221. package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +0 -7
  222. package/dist/server/src/plugins/runtime/python/proxy/device_manager.py +8 -5
  223. package/dist/server/src/plugins/runtime/python/proxy/sensor_manager.py +0 -7
  224. package/dist/server/src/plugins/runtime/python/storage.py +11 -6
  225. package/dist/server/src/plugins/runtime/python/storage_controller.py +6 -37
  226. package/dist/server/src/plugins/types.d.ts +3 -1
  227. package/dist/server/src/plugins/types.js +2 -0
  228. package/dist/server/src/plugins/types.js.map +1 -1
  229. package/dist/server/src/plugins/worker.d.ts +1 -0
  230. package/dist/server/src/plugins/worker.js +42 -3
  231. package/dist/server/src/plugins/worker.js.map +1 -1
  232. package/dist/server/src/rpc/interfaces/device.d.ts +0 -3
  233. package/dist/server/src/rpc/namespaces.d.ts +0 -7
  234. package/dist/server/src/rpc/namespaces.js +0 -7
  235. package/dist/server/src/rpc/namespaces.js.map +1 -1
  236. package/dist/server/src/rpc/server.js +10 -13
  237. package/dist/server/src/rpc/server.js.map +1 -1
  238. package/dist/server/src/sensors/registry.js +7 -1
  239. package/dist/server/src/sensors/registry.js.map +1 -1
  240. package/dist/server/src/utils/engines.d.ts +3 -1
  241. package/dist/server/src/utils/engines.js +11 -0
  242. package/dist/server/src/utils/engines.js.map +1 -1
  243. package/dist/server/src/utils/ipc.d.ts +2 -0
  244. package/dist/server/src/utils/ipc.js +104 -0
  245. package/dist/server/src/utils/ipc.js.map +1 -1
  246. package/dist/server/src/utils/npm/index.d.ts +6 -1
  247. package/dist/server/src/utils/npm/index.js +3 -0
  248. package/dist/server/src/utils/npm/index.js.map +1 -1
  249. package/dist/server/src/utils/plugin-registry/index.d.ts +1 -0
  250. package/dist/server/src/utils/plugin-registry/index.js.map +1 -1
  251. package/dist/server/src/utils/pythonInstaller.d.ts +1 -0
  252. package/dist/server/src/utils/pythonInstaller.js +14 -0
  253. package/dist/server/src/utils/pythonInstaller.js.map +1 -1
  254. package/dist/server/src/workers/agent.d.ts +5 -0
  255. package/dist/server/src/workers/agent.js +49 -1
  256. package/dist/server/src/workers/agent.js.map +1 -1
  257. package/dist/server/src/workers/capabilities/plugin-host.js +8 -0
  258. package/dist/server/src/workers/capabilities/plugin-host.js.map +1 -1
  259. package/dist/server/src/workers/manager.d.ts +1 -0
  260. package/dist/server/src/workers/manager.js +20 -0
  261. package/dist/server/src/workers/manager.js.map +1 -1
  262. package/dist/server/src/workers/types.d.ts +8 -0
  263. package/package.json +3 -3
  264. package/dist/interface/assets/Adminpanel-wZGtsPD-.js +0 -1
  265. package/dist/interface/assets/AutomationStore-DmbxA0ml.js +0 -2
  266. package/dist/interface/assets/Automations-C9JJO6dy.js +0 -2
  267. package/dist/interface/assets/Camview-Bh2UCnGC.js +0 -1
  268. package/dist/interface/assets/ConfigSensorValueInput-wXiyU3Sc.js +0 -1
  269. package/dist/interface/assets/Console-CG8eRDA4.js +0 -1
  270. package/dist/interface/assets/CuiBottomSheet-RUyuBxJZ.js +0 -1
  271. package/dist/interface/assets/CuiCameraTable-BHaCRB65.js +0 -2
  272. package/dist/interface/assets/CuiDataTable-CTT9IFeR.js +0 -1
  273. package/dist/interface/assets/CuiDataTable-W68cyoLf.css +0 -1
  274. package/dist/interface/assets/CuiList-CDed3qXV.js +0 -1
  275. package/dist/interface/assets/CuiPluginCard-7aXQznrX.js +0 -2
  276. package/dist/interface/assets/Menu-CejIVz_7.js +0 -1
  277. package/dist/interface/assets/PluginSearch-C1YL9q00.js +0 -1
  278. package/dist/interface/assets/PluginSearch-PDx47aUx.js +0 -2
  279. package/dist/interface/assets/Recordings-m6jxYvRI.js +0 -1
  280. package/dist/interface/assets/Sensors-BA9P_Ray.css +0 -1
  281. package/dist/interface/assets/Sensors-Lfafn19i.js +0 -2
  282. package/dist/interface/assets/SettingsAccount-vrwV9rtP.js +0 -1
  283. package/dist/interface/assets/SettingsAppearance-BaDwC_h_.js +0 -1
  284. package/dist/interface/assets/SettingsList-Dx9DHGq9.js +0 -1
  285. package/dist/interface/assets/SettingsRemote-CwJw_9HX.js +0 -1
  286. package/dist/interface/assets/SettingsSystem-B3nne5fS.js +0 -2
  287. package/dist/interface/assets/Workers-DqeKkdpa.js +0 -2
  288. package/dist/interface/assets/api-3va2gyB0.css +0 -2
  289. package/dist/interface/assets/api-milc5VEE.js +0 -2
  290. package/dist/interface/assets/chevron-right-B4vB0gm4.js +0 -1
  291. package/dist/interface/assets/cloudHandoff-QtPEpiS4.js +0 -1
  292. package/dist/interface/assets/main-CqhwDjRG.js +0 -3
  293. package/dist/interface/assets/round-restart-alt-BhSxsPhN.css +0 -1
  294. package/dist/interface/assets/round-restart-alt-DKWwojYm.js +0 -1
  295. package/dist/interface/assets/sensors-CLQG1mQt.js +0 -1
  296. package/dist/interface/assets/types-CoXm85So.js +0 -1
@@ -48,6 +48,7 @@ export class DeviceStorage {
48
48
  else {
49
49
  throw new Error(`sensor storage for ${this.#plugin.id} requires a sensorId`);
50
50
  }
51
+ this.#initializeStorage();
51
52
  }
52
53
  getValue(key, defaultValue) {
53
54
  const schema = this.schemas.find((schema) => schema.key === key);
@@ -59,17 +60,19 @@ export class DeviceStorage {
59
60
  if (schema) {
60
61
  validateStoreValue(key, newValue);
61
62
  const oldValue = getValueByKey(this.values, key);
62
- const unchanged = newValue === null || newValue === undefined ? oldValue === undefined : isEqual(oldValue, newValue);
63
- if (newValue === null || newValue === undefined) {
63
+ const fallback = schema.defaultValue;
64
+ const effectiveValue = (newValue ?? fallback);
65
+ const unchanged = effectiveValue === undefined ? oldValue === undefined : isEqual(oldValue, effectiveValue);
66
+ if (effectiveValue === undefined) {
64
67
  deleteValueByKey(this.values, key);
65
68
  }
66
69
  else {
67
- setValueByKey(this.values, key, typeof newValue === 'object' ? structuredClone(newValue) : newValue);
70
+ setValueByKey(this.values, key, typeof effectiveValue === 'object' ? structuredClone(effectiveValue) : effectiveValue);
68
71
  }
69
72
  if (this.#containsStorableSchema(schema) && (!unchanged || this.#dirty)) {
70
73
  await this.save();
71
74
  }
72
- this.#runOnSetDetached(schema.onSet, key, newValue, oldValue);
75
+ this.#runOnSetDetached(schema.onSet, key, effectiveValue, oldValue);
73
76
  }
74
77
  }
75
78
  async submitValue(key, newValue) {
@@ -265,7 +268,7 @@ export class DeviceStorage {
265
268
  }
266
269
  return false;
267
270
  }
268
- async #initializeStorage() {
271
+ #initializeStorage() {
269
272
  const config = this.#pluginDb.get('config') ?? {};
270
273
  const deviceConfig = readLocation(config, this.#location) ?? {};
271
274
  const schemaConfig = generateConfigFromSchemas(this.schemas);
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../../../src/plugins/runtime/node/storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../../../../src/plugins/runtime/node/storage.ts"],"names":[],"mappings":"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"}
@@ -15,9 +15,7 @@ export declare class StorageController {
15
15
  createStorage(type: 'camera', deviceId: string): Promise<DeviceStorage<any>>;
16
16
  createStorage(type: 'plugin'): Promise<DeviceStorage<any>>;
17
17
  createStorage(type: 'sensor', pluginId: string, sensorId: string): Promise<DeviceStorage<any>>;
18
- removeStorage(type: 'camera', deviceId: string): Promise<void>;
19
- removeStorage(type: 'plugin'): Promise<void>;
20
- removeStorage(type: 'sensor', sensorId: string): Promise<void>;
18
+ releaseCameraStorage(cameraId: string): Promise<void>;
21
19
  /** Internal method to close all storages */
22
20
  close(): Promise<void>;
23
21
  }
@@ -20,7 +20,7 @@ export class StorageController {
20
20
  cameraStorage = new DeviceStorage(this.#api, this.#proxy, this.#plugin, this.#pluginDb, { kind: 'camera', cameraId }, schemas);
21
21
  this.#storages.set(cameraId, cameraStorage);
22
22
  }
23
- else {
23
+ else if (schemas.length) {
24
24
  cameraStorage.updateSchema(schemas);
25
25
  }
26
26
  return cameraStorage;
@@ -31,7 +31,7 @@ export class StorageController {
31
31
  pluginStorage = new DeviceStorage(this.#api, this.#proxy, this.#plugin, this.#pluginDb, { kind: 'plugin' }, schemas);
32
32
  this.#storages.set('storage', pluginStorage);
33
33
  }
34
- else {
34
+ else if (schemas.length) {
35
35
  pluginStorage.updateSchema(schemas);
36
36
  }
37
37
  return pluginStorage;
@@ -49,7 +49,9 @@ export class StorageController {
49
49
  storage = new DeviceStorage(this.#api, this.#proxy, this.#plugin, this.#pluginDb, { kind: 'sensor', pluginId, sensorId }, schemas, sensorId);
50
50
  this.#storages.set(storageKey, storage);
51
51
  }
52
- storage.updateSchema(schemas);
52
+ else if (schemas.length) {
53
+ storage.updateSchema(schemas);
54
+ }
53
55
  return storage;
54
56
  }
55
57
  getSensorStorage(sensorId) {
@@ -75,27 +77,8 @@ export class StorageController {
75
77
  await storage.registerStorage();
76
78
  return storage;
77
79
  }
78
- async removeStorage(type, deviceIdOrSensorId) {
79
- let storageKey;
80
- if (type === 'sensor') {
81
- if (!deviceIdOrSensorId) {
82
- throw new Error('sensorId is required for sensor storage removal');
83
- }
84
- storageKey = sensorStorageKey(deviceIdOrSensorId);
85
- }
86
- else if (type === 'camera') {
87
- if (!deviceIdOrSensorId) {
88
- throw new Error('deviceId is required for camera storage removal');
89
- }
90
- storageKey = deviceIdOrSensorId;
91
- }
92
- else {
93
- storageKey = 'storage';
94
- }
95
- const deviceStorage = this.#storages.get(storageKey);
96
- await deviceStorage?.destroy();
97
- await deviceStorage?.unregisterStorage();
98
- this.#storages.delete(storageKey);
80
+ async releaseCameraStorage(cameraId) {
81
+ await this.#storages.get(cameraId)?.unregisterStorage();
99
82
  }
100
83
  /** Internal method to close all storages */
101
84
  async close() {
@@ -1 +1 @@
1
- {"version":3,"file":"storageController.js","sourceRoot":"","sources":["../../../../../../src/plugins/runtime/node/storageController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"storageController.js","sourceRoot":"","sources":["../../../../../../src/plugins/runtime/node/storageController.ts"],"names":[],"mappings":"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"}
@@ -20,7 +20,12 @@ from _camera_ui_tools.camera_ui_common import (
20
20
  LoggerService,
21
21
  SignalHandler,
22
22
  )
23
- from _camera_ui_tools.camera_ui_rpc import CloseHandler, RPCClient, create_rpc_client
23
+ from _camera_ui_tools.camera_ui_rpc import (
24
+ CloseHandler,
25
+ PrivateChannel,
26
+ RPCClient,
27
+ create_rpc_client,
28
+ )
24
29
  from _camera_ui_tools.camera_ui_sdk import API_EVENT, BasePlugin, Camera
25
30
  from _camera_ui_tools.camera_ui_sdk import CameraDevice as CameraDeviceInterface
26
31
  from plugins.runtime.python.config_db import (
@@ -48,23 +53,36 @@ setproctitle.setproctitle(f"camera.ui - {process_name}")
48
53
 
49
54
  SHUTDOWN_LISTENER_TIMEOUT = 1.5
50
55
  RPC_TEARDOWN_TIMEOUT = 1.0
56
+ CONNECT_DEADLINE = 15.0
51
57
 
52
58
 
53
59
  class PluginChild:
54
60
  def __init__(self) -> None:
61
+ self.endpoints = os.environ["PROXY_ENDPOINTS"].split(",")
62
+ self._connect_error: str | None = None
63
+ self._connect_failed = asyncio.Event()
64
+
55
65
  self.proxy: RPCClient = create_rpc_client(
56
66
  {
57
67
  "name": NamespaceManager.plugin_namespaces(os.environ["PLUGIN_ID"]).plugin_child,
58
- "servers": os.environ["PROXY_ENDPOINTS"].split(","),
68
+ "servers": self.endpoints,
59
69
  "auth": {
60
70
  "user": os.environ["PROXY_USER"],
61
71
  "password": os.environ["PROXY_PASSWORD"],
62
72
  },
63
73
  "reconnected_cb": self._on_rpc_reconnected,
74
+ "error_cb": self._on_rpc_error,
64
75
  }
65
76
  )
66
77
 
67
- for key in ["PROXY_USER", "PROXY_PASSWORD", "PROXY_ENDPOINTS", "PROXY_CERT", "PROXY_KEY", "PROXY_CA"]:
78
+ for key in [
79
+ "PROXY_USER",
80
+ "PROXY_PASSWORD",
81
+ "PROXY_ENDPOINTS",
82
+ "PROXY_CERT",
83
+ "PROXY_KEY",
84
+ "PROXY_CA",
85
+ ]:
68
86
  if key in os.environ:
69
87
  del os.environ[key]
70
88
 
@@ -84,6 +102,7 @@ class PluginChild:
84
102
 
85
103
  self.api: PluginAPI | None = None
86
104
  self.plugin: BasePlugin | None = None
105
+ self.channel: PrivateChannel | None = None
87
106
  self.close_proxy: CloseHandler | None = None
88
107
  self.file_server: PluginFileServer | None = None
89
108
  self.plugin_db: PluginConfigDb | None = None
@@ -102,7 +121,13 @@ class PluginChild:
102
121
  async def run(self) -> None:
103
122
  try:
104
123
  self.signal_handler.setup_handlers()
105
- await self.proxy.connect()
124
+
125
+ try:
126
+ await self.connect_proxy()
127
+ except Exception as error:
128
+ self.logger.error(str(error))
129
+ raise SystemExit(1) from None
130
+
106
131
  await self.on_start()
107
132
  await self.signal_handler.shutdown_event.wait()
108
133
  except asyncio.CancelledError:
@@ -113,6 +138,31 @@ class PluginChild:
113
138
  finally:
114
139
  await self.stop_plugin()
115
140
 
141
+ async def connect_proxy(self) -> None:
142
+ connecting = asyncio.ensure_future(self.proxy.connect())
143
+ failed = asyncio.ensure_future(self._connect_failed.wait())
144
+
145
+ try:
146
+ await asyncio.wait(
147
+ {connecting, failed},
148
+ timeout=CONNECT_DEADLINE,
149
+ return_when=asyncio.FIRST_COMPLETED,
150
+ )
151
+
152
+ if connecting.done():
153
+ await connecting
154
+ return
155
+
156
+ reason = self._connect_error or f"no answer within {CONNECT_DEADLINE:.0f}s"
157
+ raise RuntimeError(f"camera.ui not reachable on {', '.join(self.endpoints)}: {reason}")
158
+ finally:
159
+ for task in (connecting, failed):
160
+ task.cancel()
161
+
162
+ async def _on_rpc_error(self, error: Exception) -> None:
163
+ self._connect_error = f"{type(error).__name__}: {error}" if str(error) else type(error).__name__
164
+ self._connect_failed.set()
165
+
116
166
  async def _on_rpc_reconnected(self) -> None:
117
167
  if self.stopped or self.api is None:
118
168
  return
@@ -228,6 +278,9 @@ class PluginChild:
228
278
  await self.proxy.disconnect()
229
279
 
230
280
  async def send_message(self, message: ProcessResponse) -> None:
281
+ if not self.channel:
282
+ return
283
+
231
284
  await self.channel.send(message)
232
285
 
233
286
  async def on_message(self, message: ProcessMessage) -> None:
@@ -267,7 +320,11 @@ class PluginChild:
267
320
 
268
321
  for camera in cameras:
269
322
  camera_logger = self.logger.create_logger(
270
- {"suffix": camera["name"], "target_id": camera["_id"], "target_type": "camera"}
323
+ {
324
+ "suffix": camera["name"],
325
+ "target_id": camera["_id"],
326
+ "target_type": "camera",
327
+ }
271
328
  )
272
329
  cameras_devices.append(
273
330
  CameraDeviceProxy(
@@ -39,10 +39,13 @@ export class PythonPluginRuntime extends BasePluginRuntime {
39
39
  const caCertEnv = existsSync(caCertFile) ? { SSL_CERT_FILE: caCertFile, REQUESTS_CA_BUNDLE: caCertFile } : {};
40
40
  this.worker = spawn(this.py.pluginPythonPath, args, {
41
41
  env: {
42
+ ...this.processEnv(),
42
43
  PYTHONUNBUFFERED: '1',
43
44
  PYTHONPATH: this.createPythonPath(),
44
45
  ...caCertEnv,
45
46
  ...this.getEnv(),
47
+ PYTHONHOME: undefined,
48
+ PYTHONSTARTUP: undefined,
46
49
  },
47
50
  cwd: this.plugin.mainPath,
48
51
  windowsHide: true,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/plugins/runtime/python/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/plugins/runtime/python/index.ts"],"names":[],"mappings":"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"}
@@ -405,13 +405,6 @@ class CameraDeviceProxy(Subscribed, CameraDeviceInterface):
405
405
  return self._storage_controller.createCameraStorage(self.id, schemas)
406
406
 
407
407
  async def addSensor(self, sensor: Sensor[Any, Any, Any]) -> None:
408
- # pre-standalone SDK: its toJSON reads the removed cameraId getter and throws, drop the guard with the stub window
409
- if not callable(getattr(sensor, "_setId", None)):
410
- self._logger.warn(
411
- f'Plugin "{self._plugin["id"]}" uses a pre-standalone SDK, sensor "{sensor.name}" stays unavailable. Update the plugin.'
412
- )
413
- return
414
-
415
408
  plugin_id = self._plugin["id"]
416
409
  sensor._setPluginId(plugin_id) # pyright: ignore[reportPrivateUsage]
417
410
 
@@ -50,6 +50,7 @@ class DeviceManagerProxy(DeviceManager):
50
50
  self.__logger = logger
51
51
  self.__plugin = plugin
52
52
  self.__close_request: CloseHandler | None = None
53
+ self.__event_lock = asyncio.Lock()
53
54
 
54
55
  self.__devices: dict[str, CameraDeviceProxy] = {}
55
56
  self.__tasks = TaskSet(name=f"DeviceManager:{plugin['id']}")
@@ -78,7 +79,8 @@ class DeviceManagerProxy(DeviceManager):
78
79
 
79
80
  self.__initialized = True
80
81
  self.__close_request = await self.__proxy.on_request(
81
- self.__namespaces[1].plugin_device_manager_subject, self.__on_event_message
82
+ self.__namespaces[1].plugin_device_manager_subject,
83
+ self.__on_event_serialized,
82
84
  )
83
85
 
84
86
  async def getCamera(self, cameraIdOrName: str) -> CameraDeviceProxy | None:
@@ -119,6 +121,10 @@ class DeviceManagerProxy(DeviceManager):
119
121
  with contextlib.suppress(Exception):
120
122
  await device._refresh_states() # pyright: ignore[reportPrivateUsage]
121
123
 
124
+ async def __on_event_serialized(self, event: Any) -> None:
125
+ async with self.__event_lock:
126
+ await self.__on_event_message(event)
127
+
122
128
  async def __on_event_message(self, event: Any) -> None:
123
129
  if not self.__plugin_instance:
124
130
  self.__logger.warn("Plugin instance not set, cannot handle lifecycle event")
@@ -149,7 +155,7 @@ class DeviceManagerProxy(DeviceManager):
149
155
  if camera_device:
150
156
  await camera_device.cleanup()
151
157
 
152
- await self.__remove_camera_storage(camera_id)
158
+ await self.__storage_controller.releaseCameraStorage(camera_id)
153
159
 
154
160
  if camera_id in self.__devices:
155
161
  del self.__devices[camera_id]
@@ -203,6 +209,3 @@ class DeviceManagerProxy(DeviceManager):
203
209
 
204
210
  async def __create_camera_storage(self, camera_id: str) -> None:
205
211
  await self.__storage_controller.createStorage("camera", camera_id)
206
-
207
- async def __remove_camera_storage(self, camera_id: str) -> None:
208
- await self.__storage_controller.removeStorage("camera", camera_id)
@@ -101,13 +101,6 @@ class SensorManagerProxy:
101
101
  )
102
102
 
103
103
  async def addSensor(self, sensor: Sensor[Any, Any, Any]) -> None:
104
- # pre-standalone SDK: its toJSON reads the removed cameraId getter and throws, drop the guard with the stub window
105
- if not callable(getattr(sensor, "_setId", None)):
106
- self._logger.warn(
107
- f'Plugin "{self._plugin["id"]}" uses a pre-standalone SDK, sensor "{sensor.name}" stays unavailable. Update the plugin.'
108
- )
109
- return
110
-
111
104
  # producers need the global stream too: assignment changes must reach
112
105
  # owned sensors, their detection fan-out reads assignedCameraIds
113
106
  await self._ensure_global_subscription()
@@ -99,6 +99,8 @@ class DeviceStorage(DeviceStorageInterface):
99
99
  camera_ns = NamespaceManager.plugin_camera_namespaces(plugin["id"], location.camera_id)
100
100
  self.__storage_namespace = camera_ns.camera_storage_rpc
101
101
 
102
+ self.__initializeStorage()
103
+
102
104
  @RPCMethod
103
105
  async def getValue(self, key: str, default_value: Any | None = None) -> Any:
104
106
  schema: Any = next((schema for schema in self.schemas if schema["key"] == key), None)
@@ -138,22 +140,25 @@ class DeviceStorage(DeviceStorageInterface):
138
140
  if schema:
139
141
  validate_store_value(key, new_value)
140
142
  old_value = ObjectPath.get(self.values, key)
141
- if new_value is None:
143
+
144
+ effective_value = schema.get("defaultValue") if new_value is None else new_value
145
+
146
+ if effective_value is None:
142
147
  unchanged = old_value is None
143
148
  ObjectPath.delete(self.values, key)
144
149
  else:
145
- unchanged = old_value is not None and DeepDiff(old_value, new_value) == {}
150
+ unchanged = old_value is not None and DeepDiff(old_value, effective_value) == {}
146
151
  stored = ( # pyright: ignore[reportUnknownVariableType]
147
- deepcopy(new_value) # pyright: ignore[reportUnknownVariableType, reportUnknownArgumentType]
148
- if isinstance(new_value, (dict, list))
149
- else new_value
152
+ deepcopy(effective_value) # pyright: ignore[reportUnknownVariableType, reportUnknownArgumentType]
153
+ if isinstance(effective_value, (dict, list))
154
+ else effective_value
150
155
  )
151
156
  ObjectPath.set(self.values, key, stored)
152
157
 
153
158
  if self.__contains_storable_schema(schema) and (not unchanged or self.__dirty):
154
159
  await self.save()
155
160
 
156
- self.__run_on_set_detached(schema.get("onSet", None), key, new_value, old_value)
161
+ self.__run_on_set_detached(schema.get("onSet", None), key, effective_value, old_value)
157
162
 
158
163
  @RPCMethod
159
164
  async def submitValue(self, key: str, new_value: Any) -> FormSubmitResponse | None:
@@ -47,7 +47,7 @@ class StorageController:
47
47
  schemas,
48
48
  )
49
49
  self.__storages[cameraId] = camera_storage
50
- else:
50
+ elif schemas:
51
51
  camera_storage.update_schema(schemas)
52
52
 
53
53
  return camera_storage
@@ -68,7 +68,7 @@ class StorageController:
68
68
  schemas,
69
69
  )
70
70
  self.__storages["storage"] = plugin_storage
71
- else:
71
+ elif schemas:
72
72
  plugin_storage.update_schema(schemas)
73
73
 
74
74
  return plugin_storage
@@ -99,8 +99,8 @@ class StorageController:
99
99
  sensor_id,
100
100
  )
101
101
  self.__storages[storage_key] = storage
102
-
103
- storage.update_schema(schemas)
102
+ elif schemas:
103
+ storage.update_schema(schemas)
104
104
 
105
105
  return storage
106
106
 
@@ -142,41 +142,10 @@ class StorageController:
142
142
  await storage.register_storage()
143
143
  return storage
144
144
 
145
- @overload
146
- async def removeStorage(self, type_: Literal["camera"], device_id: str) -> None: ...
147
- @overload
148
- async def removeStorage(self, type_: Literal["plugin"], device_id: None) -> None: ...
149
- @overload
150
- async def removeStorage(
151
- self,
152
- type_: Literal["sensor"],
153
- device_id: str, # sensor_id
154
- ) -> None: ...
155
- async def removeStorage(
156
- self,
157
- type_: Literal["camera", "plugin", "sensor"],
158
- device_id: str | None = None,
159
- ) -> None:
160
- storage_key: str
161
-
162
- if type_ == "sensor":
163
- if not device_id:
164
- raise ValueError("sensorId is required for sensor storage removal")
165
-
166
- storage_key = sensor_storage_key(device_id)
167
- elif type_ == "camera":
168
- if not device_id:
169
- raise ValueError("ID is required for storage removal")
170
- storage_key = device_id
171
- else:
172
- storage_key = "storage"
173
-
174
- device_storage = self.__storages.get(storage_key)
145
+ async def releaseCameraStorage(self, camera_id: str) -> None:
146
+ device_storage = self.__storages.get(camera_id)
175
147
  if device_storage:
176
- await device_storage.destroy()
177
148
  await device_storage.unregister_storage()
178
- del self.__storages[storage_key]
179
- return
180
149
 
181
150
  # Internal method to close all storages
182
151
  async def close(self) -> None:
@@ -26,7 +26,9 @@ export declare enum PLUGIN_STATUS {
26
26
  ERROR = "error",
27
27
  UNKNOWN = "unknown",
28
28
  DISABLED = "disabled",
29
- INCOMPATIBLE = "incompatible"
29
+ INCOMPATIBLE = "incompatible",
30
+ UPDATE_REQUIRED = "update_required",
31
+ SERVER_UPDATE_REQUIRED = "server_update_required"
30
32
  }
31
33
  export declare enum PLUGIN_COMMAND {
32
34
  START = "start",
@@ -10,6 +10,8 @@ export var PLUGIN_STATUS;
10
10
  PLUGIN_STATUS["UNKNOWN"] = "unknown";
11
11
  PLUGIN_STATUS["DISABLED"] = "disabled";
12
12
  PLUGIN_STATUS["INCOMPATIBLE"] = "incompatible";
13
+ PLUGIN_STATUS["UPDATE_REQUIRED"] = "update_required";
14
+ PLUGIN_STATUS["SERVER_UPDATE_REQUIRED"] = "server_update_required";
13
15
  })(PLUGIN_STATUS || (PLUGIN_STATUS = {}));
14
16
  export var PLUGIN_COMMAND;
15
17
  (function (PLUGIN_COMMAND) {
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/plugins/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,yBAAyB,GAAG,qCAAqC,CAAC;AAuB/E,MAAM,CAAN,IAAY,aAUX;AAVD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,sCAAqB,CAAA;IACrB,oCAAmB,CAAA;IACnB,sCAAqB,CAAA;IACrB,oCAAmB,CAAA;IACnB,gCAAe,CAAA;IACf,oCAAmB,CAAA;IACnB,sCAAqB,CAAA;IACrB,8CAA6B,CAAA;AAC/B,CAAC,EAVW,aAAa,KAAb,aAAa,QAUxB;AAED,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,+BAAa,CAAA;AACf,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/plugins/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,yBAAyB,GAAG,qCAAqC,CAAC;AAuB/E,MAAM,CAAN,IAAY,aAYX;AAZD,WAAY,aAAa;IACvB,gCAAe,CAAA;IACf,sCAAqB,CAAA;IACrB,oCAAmB,CAAA;IACnB,sCAAqB,CAAA;IACrB,oCAAmB,CAAA;IACnB,gCAAe,CAAA;IACf,oCAAmB,CAAA;IACnB,sCAAqB,CAAA;IACrB,8CAA6B,CAAA;IAC7B,oDAAmC,CAAA;IACnC,kEAAiD,CAAA;AACnD,CAAC,EAZW,aAAa,KAAb,aAAa,QAYxB;AAED,MAAM,CAAN,IAAY,cAGX;AAHD,WAAY,cAAc;IACxB,iCAAe,CAAA;IACf,+BAAa,CAAA;AACf,CAAC,EAHW,cAAc,KAAd,cAAc,QAGzB"}
@@ -39,6 +39,7 @@ export declare class PluginWorker {
39
39
  private ensureConfigStore;
40
40
  private workerManagerRef;
41
41
  private armRemoteFallback;
42
+ private gateProtocol;
42
43
  private doTeardown;
43
44
  private doRestart;
44
45
  private sendMessage;