@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.
- package/dist/interface/assets/{404-junY0N5P.js → 404-mKz7xfYl.js} +1 -1
- package/dist/interface/assets/{About-Dwc0TTLa.js → About-C3mKJiWW.js} +1 -1
- package/dist/interface/assets/Adminpanel-KkWHp8Mh.js +1 -0
- package/dist/interface/assets/{Automation-Dj6xmGae.js → Automation-BdSjkwoL.js} +3 -3
- package/dist/interface/assets/{AutomationImport-Ccnxyslc.js → AutomationImport-DEp2P3xa.js} +2 -2
- package/dist/interface/assets/AutomationStore-4NQAyOXd.js +2 -0
- package/dist/interface/assets/{AutomationStoreDetail-DcbvD8g5.js → AutomationStoreDetail-D8NZLRu9.js} +2 -2
- package/dist/interface/assets/Automations-D7kh-T-O.js +2 -0
- package/dist/interface/assets/{Camera-D_j0J3kB.js → Camera-DsvE1bWd.js} +2 -2
- package/dist/interface/assets/{CameraConsole--hGg9Ye6.js → CameraConsole-Bj9mszzp.js} +1 -1
- package/dist/interface/assets/{Cameras-B2Tizr4Q.js → Cameras-BVFxn9Ef.js} +2 -2
- package/dist/interface/assets/Camview-BXDwJtBf.js +1 -0
- package/dist/interface/assets/{Camview-Cj10uxGy.css → Camview-DEURwPYt.css} +1 -1
- package/dist/interface/assets/{Config-Dn_s2M7r.js → Config-CJgmsr2e.js} +1 -1
- package/dist/interface/assets/{ConfigActionCameraControl-DQEYHVN5.js → ConfigActionCameraControl-B80iDDds.js} +1 -1
- package/dist/interface/assets/{ConfigActionDelay-C0mbjCCj.js → ConfigActionDelay-ChhenlQV.js} +1 -1
- package/dist/interface/assets/{ConfigActionHttp-Bf58WHcw.js → ConfigActionHttp-09PkDYgp.js} +1 -1
- package/dist/interface/assets/{ConfigActionImageInput-CDXVFrOz.js → ConfigActionImageInput-FDMVc5FH.js} +1 -1
- package/dist/interface/assets/{ConfigActionMqtt-lH7MQqWr.js → ConfigActionMqtt-4gLcAM0C.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotification-CAkr6NJX.js → ConfigActionNotification-DmIQhrC2.js} +1 -1
- package/dist/interface/assets/{ConfigActionNotificationControl-CiL-4Ytw.js → ConfigActionNotificationControl-Df4BdM3c.js} +1 -1
- package/dist/interface/assets/{ConfigActionOutput-ILAxBT-r.js → ConfigActionOutput-CNKeWFvE.js} +1 -1
- package/dist/interface/assets/{ConfigActionPlugin-B2d4mZiK.js → ConfigActionPlugin-CWfEabyz.js} +1 -1
- package/dist/interface/assets/{ConfigActionSensor-BxMdsmRa.js → ConfigActionSensor-pv3k-l2v.js} +1 -1
- package/dist/interface/assets/{ConfigActionSnapshot-CXVQBSzv.js → ConfigActionSnapshot-CM8xar0h.js} +1 -1
- package/dist/interface/assets/{ConfigActionVariable-CABnlnMv.js → ConfigActionVariable-B8tiVULt.js} +1 -1
- package/dist/interface/assets/{ConfigConditionIfElse-Cxu7TSdJ.js → ConfigConditionIfElse-CtF5exKE.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSensorState-rB7I04Gb.js → ConfigConditionSensorState-B4hRgQdg.js} +1 -1
- package/dist/interface/assets/{ConfigConditionSwitch-CU0hLo1h.js → ConfigConditionSwitch-ZhpDw8ZY.js} +1 -1
- package/dist/interface/assets/{ConfigConditionTime-DfeEvxIU.js → ConfigConditionTime-EF84vg1f.js} +1 -1
- package/dist/interface/assets/ConfigSensorValueInput-DNxw4rt3.js +1 -0
- package/dist/interface/assets/{ConfigTriggerDetection-DFJpuWrs.js → ConfigTriggerDetection-BmxUG87T.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerGeofence-CZwesOD8.js → ConfigTriggerGeofence-CDbA6_Wv.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerManual-aibwYUtf.js → ConfigTriggerManual-t-J-HbqF.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerMqtt-CUNgifGb.js → ConfigTriggerMqtt-BD1iizF-.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSchedule-8Y_OBcB1.js → ConfigTriggerSchedule-CBPaopJK.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSensor-Bu-YtGnX.js → ConfigTriggerSensor-CXmxhiPM.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerSystem-CXNvmC4S.js → ConfigTriggerSystem-CfFnKyIn.js} +1 -1
- package/dist/interface/assets/{ConfigTriggerWebhook-CkZ-_ABi.js → ConfigTriggerWebhook-gqcxnQdl.js} +1 -1
- package/dist/interface/assets/Console-CPcfNsup.js +1 -0
- package/dist/interface/assets/{CuiAutomationRunsDialog-Ux0g-E3w.js → CuiAutomationRunsDialog-Bx3LtjMJ.js} +1 -1
- package/dist/interface/assets/{CuiBottomSheet-C-ZN_uXE.js → CuiBottomSheet-BcDAO9At.js} +1 -1
- package/dist/interface/assets/CuiBottomSheet-Qt8m2uSx.js +1 -0
- package/dist/interface/assets/{CuiCameraPipCard-B-B6Ppsd.js → CuiCameraPipCard-C7822oZM.js} +1 -1
- package/dist/interface/assets/{CuiCameraRecordings-DqVdR9uS.js → CuiCameraRecordings-DJG6J1nY.js} +1 -1
- package/dist/interface/assets/{CuiCameraShares-DstoVjf9.js → CuiCameraShares-C3SATbiV.js} +1 -1
- package/dist/interface/assets/CuiCameraTable-BdXITi6O.js +2 -0
- package/dist/interface/assets/CuiDataTable-BGleWv6B.css +1 -0
- package/dist/interface/assets/CuiDataTable-DdNoneMB.js +1 -0
- package/dist/interface/assets/{CuiLightControl-B_JIzm9t.js → CuiLightControl-bH7WQXAY.js} +1 -1
- package/dist/interface/assets/CuiPluginCard-B50TjvIq.js +2 -0
- package/dist/interface/assets/{CuiPluginCard-C9zsmIaC.css → CuiPluginCard-D_6UFFZW.css} +1 -1
- package/dist/interface/assets/{CuiPluginCategoryChip-C2Y8x73q.js → CuiPluginCategoryChip-C9l5I9v3.js} +1 -1
- package/dist/interface/assets/{CuiPluginOAuthButton-CCzRlZP6.js → CuiPluginOAuthButton-Aanenlqx.js} +2 -2
- package/dist/interface/assets/{CuiPluginTrustBadge-C8qBdLCg.js → CuiPluginTrustBadge-BkdNlrZ7.js} +1 -1
- package/dist/interface/assets/{CuiQRCode-D52Fcu61.js → CuiQRCode-D8CKX4s9.js} +1 -1
- package/dist/interface/assets/{CuiRecordingsGrid-CfuihmlY.js → CuiRecordingsGrid-D9IF3B-S.js} +1 -1
- package/dist/interface/assets/{CuiSchema-DTIuxROi.js → CuiSchema-B8J8G314.js} +1 -1
- package/dist/interface/assets/{CuiTopNavbarItem-CoTQmfY7.js → CuiTopNavbarItem-C-ZiLXkp.js} +1 -1
- package/dist/interface/assets/{Faces-EtBPS1Ve.js → Faces-B8d8W6cq.js} +1 -1
- package/dist/interface/assets/{FirstSteps-CC0BPH40.js → FirstSteps-DWB8ZhqT.js} +1 -1
- package/dist/interface/assets/{Instances-dSYERqIc.js → Instances-DCE3ixbf.js} +1 -1
- package/dist/interface/assets/{Logs-B8d6dEt7.js → Logs-DJL3FHsG.js} +2 -2
- package/dist/interface/assets/Menu-CvpQ9fHV.js +1 -0
- package/dist/interface/assets/{OAuthDeviceFlow-YhwV_FSL.js → OAuthDeviceFlow-9kYvqgyg.js} +1 -1
- package/dist/interface/assets/{Plugin-Brb6wfq-.js → Plugin-HIED8ziU.js} +1 -1
- package/dist/interface/assets/{PluginConsole-CfyZQVq5.js → PluginConsole-DUnPciNz.js} +1 -1
- package/dist/interface/assets/{PluginDetail-DVRnnauk.js → PluginDetail-Ba9VDO53.js} +2 -2
- package/dist/interface/assets/{PluginSchema-i6UJfMnh.js → PluginSchema-CQARvB5H.js} +1 -1
- package/dist/interface/assets/PluginSearch-B3y83uDW.js +2 -0
- package/dist/interface/assets/PluginSearch-BKVIwJVF.js +1 -0
- package/dist/interface/assets/{PluginSearch-Bbp8D7BJ.css → PluginSearch-CLjLT9JT.css} +1 -1
- package/dist/interface/assets/{Plugins-CukJohcb.js → Plugins-mdsFKDQ8.js} +1 -1
- package/dist/interface/assets/Recordings-GVzdhE19.js +1 -0
- package/dist/interface/assets/{SensorEdit-BJAijbmc.js → SensorEdit-COOOaB-l.js} +1 -1
- package/dist/interface/assets/{SensorHistory-DW00ZuHR.js → SensorHistory-oWCb8Kia.js} +1 -1
- package/dist/interface/assets/Sensors-De6n66ER.js +2 -0
- package/dist/interface/assets/Sensors-DfE07b1Q.css +1 -0
- package/dist/interface/assets/{Settings-DHT8KXi2.js → Settings-BipPaBUB.js} +1 -1
- package/dist/interface/assets/{SettingsAccount-DOd4JeGd.js → SettingsAccount-809sRaa9.js} +1 -1
- package/dist/interface/assets/SettingsAccount-Bmteep-6.js +1 -0
- package/dist/interface/assets/SettingsAppearance-CJWlk9_1.js +1 -0
- package/dist/interface/assets/{SettingsAppearance-11UFhRDY.js → SettingsAppearance-Cobtww9z.js} +1 -1
- package/dist/interface/assets/{SettingsBackup-CBBZV_nU.js → SettingsBackup-Bbp3fEuS.js} +1 -1
- package/dist/interface/assets/SettingsList-DFJifGkE.js +1 -0
- package/dist/interface/assets/{SettingsMqtt-BglQ_GeN.js → SettingsMqtt-pH6KmHhv.js} +1 -1
- package/dist/interface/assets/{SettingsNotifications-96czeGDD.js → SettingsNotifications-Dt_gxxoj.js} +1 -1
- package/dist/interface/assets/{SettingsPermissions-CU4OVllA.js → SettingsPermissions-CDpVmRY2.js} +1 -1
- package/dist/interface/assets/{SettingsRecordings-BrnU9hrb.js → SettingsRecordings-1i4sNZ8u.js} +1 -1
- package/dist/interface/assets/SettingsRemote-HDCH_D5s.js +1 -0
- package/dist/interface/assets/SettingsSystem-jDQ9m8jt.js +2 -0
- package/dist/interface/assets/{SettingsUsers-CoYyAxxn.js → SettingsUsers-CFzURSfg.js} +1 -1
- package/dist/interface/assets/{Terminal-DMAHgufw.js → Terminal-DSRLOAKR.js} +1 -1
- package/dist/interface/assets/{VariableInput-BzWLKBgd.js → VariableInput-rbKenccv.js} +1 -1
- package/dist/interface/assets/{VariableSuggestions-BdxcP_dn.js → VariableSuggestions-DDyxhww6.js} +1 -1
- package/dist/interface/assets/{VersionsHandler-Dvy5Lv-E.js → VersionsHandler-CBAnjOWO.js} +2 -2
- package/dist/interface/assets/{VirtualSensorCreate-BXz0lWNm.js → VirtualSensorCreate-_9QdFeEj.js} +1 -1
- package/dist/interface/assets/Workers-DQZ0QoEN.js +2 -0
- package/dist/interface/assets/{Workers-CzAz4N2_.css → Workers-DmZkFylb.css} +1 -1
- package/dist/interface/assets/{api-DmxTF6VE.js → api-BijLH5JF.js} +1 -1
- package/dist/interface/assets/api-CwjboJ6S.css +2 -0
- package/dist/interface/assets/api-DpZpuR8_.js +2 -0
- package/dist/interface/assets/{auth-DwSrX8QL.js → auth-CSrkzvBq.js} +1 -1
- package/dist/interface/assets/{automations-yVPQAmFo.js → automations-5YkU18M0.js} +1 -1
- package/dist/interface/assets/{cameras.schema-JAiaenSf.js → cameras.schema-BQ3CdtV5.js} +1 -1
- package/dist/interface/assets/chevron-right-B3j6hI1Q.js +1 -0
- package/dist/interface/assets/cloudHandoff-D8flqTzb.js +1 -0
- package/dist/interface/assets/{config-BE0DnCXx.js → config-BqiDMRVk.js} +1 -1
- package/dist/interface/assets/deployed-code-update-CHr3gyW9.js +1 -0
- package/dist/interface/assets/{flowSchema-BQp77LdP.js → flowSchema-C6FlHoK2.js} +1 -1
- package/dist/interface/assets/main-Csclhnoq.js +3 -0
- package/dist/interface/assets/{mqtt-D_shY0Ks.js → mqtt-DklPP2x5.js} +1 -1
- package/dist/interface/assets/{notifications-BuSNpaOJ.js → notifications-DCAiomoR.js} +1 -1
- package/dist/interface/assets/{plugins-7pWXkYgo.js → plugins-D4am8tba.js} +1 -1
- package/dist/interface/assets/round-restart-alt-CdweDM5-.js +1 -0
- package/dist/interface/assets/round-restart-alt-D3sTGG7n.css +1 -0
- package/dist/interface/assets/sensors-D1OCrbIC.js +1 -0
- package/dist/interface/assets/{server-Bv5NVJ0G.js → server-CUfmbg3m.js} +1 -1
- package/dist/interface/assets/{theme-DsxRUmCC.js → theme-ClwavgWz.js} +1 -1
- package/dist/interface/assets/{types-BazOcNe_.js → types-B25Yynej.js} +1 -1
- package/dist/interface/assets/types-D9YcubIy.js +1 -0
- package/dist/interface/assets/{useAppVersion-oPpW7jcN.js → useAppVersion-Cp7Ehmiv.js} +1 -1
- package/dist/interface/assets/{useBackupRestore-b0Niqql7.js → useBackupRestore-CL04IH-G.js} +1 -1
- package/dist/interface/assets/{useCameraOptions-uf9Kog6z.js → useCameraOptions-DFe9A6XU.js} +1 -1
- package/dist/interface/assets/{useElectron-Dg8tFzam.js → useElectron-KnqvZz0q.js} +1 -1
- package/dist/interface/assets/{useLogsSocket-9jJ-oJIm.js → useLogsSocket-BxI3NbRJ.js} +1 -1
- package/dist/interface/assets/{usePermissions-xL0VlbyD.js → usePermissions-C3D3JcPH.js} +1 -1
- package/dist/interface/assets/{useServerRestart-3AZOTz7i.js → useServerRestart-Ck0mdqmf.js} +1 -1
- package/dist/interface/assets/{useStreamStatus-Dg-Djura.js → useStreamStatus-C4AA8JUq.js} +1 -1
- package/dist/interface/assets/{useUserOptions-BQnM3gdi.js → useUserOptions-BpEZlRAL.js} +1 -1
- package/dist/interface/assets/{vendor-cameraui-BqkrW4Bb.js → vendor-cameraui-Cgb5z6NJ.js} +1 -1
- package/dist/interface/assets/{vendor-core-BQegq2Q6.js → vendor-core-BJsSXMFQ.js} +1 -1
- package/dist/interface/assets/{vendor-primevue-DYzLjOFZ.js → vendor-primevue-JQ8abUl5.js} +2 -2
- package/dist/interface/index.html +23 -22
- package/dist/interface/sw.js +1 -1
- package/dist/server/package.json +3 -3
- package/dist/server/requirements.txt +2 -2
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc/client.py +3 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_rpc/types.py +3 -0
- package/dist/server/src/_camera_ui_tools/camera_ui_sdk/sensor/base.py +14 -28
- package/dist/server/src/api/controllers/cameras.controller.d.ts +1 -10
- package/dist/server/src/api/controllers/cameras.controller.js +0 -99
- package/dist/server/src/api/controllers/cameras.controller.js.map +1 -1
- package/dist/server/src/api/controllers/plugins.controller.js +30 -4
- package/dist/server/src/api/controllers/plugins.controller.js.map +1 -1
- package/dist/server/src/api/controllers/workers.controller.d.ts +2 -1
- package/dist/server/src/api/controllers/workers.controller.js +9 -0
- package/dist/server/src/api/controllers/workers.controller.js.map +1 -1
- package/dist/server/src/api/database/index.d.ts +0 -1
- package/dist/server/src/api/database/index.js +1 -1
- package/dist/server/src/api/database/index.js.map +1 -1
- package/dist/server/src/api/database/record-schemas.js +1 -1
- package/dist/server/src/api/database/record-schemas.js.map +1 -1
- package/dist/server/src/api/database/types.d.ts +0 -1
- package/dist/server/src/api/index.js +1 -1
- package/dist/server/src/api/routes/cameras.routes.js +1 -42
- package/dist/server/src/api/routes/cameras.routes.js.map +1 -1
- package/dist/server/src/api/routes/workers.routes.js +11 -0
- package/dist/server/src/api/routes/workers.routes.js.map +1 -1
- package/dist/server/src/api/schemas/cameras.schema.d.ts +32 -18
- package/dist/server/src/api/schemas/cameras.schema.js +4 -11
- package/dist/server/src/api/schemas/cameras.schema.js.map +1 -1
- package/dist/server/src/api/services/cameras.service.d.ts +1 -0
- package/dist/server/src/api/services/cameras.service.js +23 -0
- package/dist/server/src/api/services/cameras.service.js.map +1 -1
- package/dist/server/src/api/services/plugins.service.d.ts +1 -0
- package/dist/server/src/api/services/plugins.service.js +18 -0
- package/dist/server/src/api/services/plugins.service.js.map +1 -1
- package/dist/server/src/api/services/sensors.service.d.ts +1 -0
- package/dist/server/src/api/services/sensors.service.js +1 -0
- package/dist/server/src/api/services/sensors.service.js.map +1 -1
- package/dist/server/src/api/services/server.service.d.ts +2 -0
- package/dist/server/src/api/services/server.service.js +16 -2
- package/dist/server/src/api/services/server.service.js.map +1 -1
- package/dist/server/src/api/types/index.d.ts +33 -15
- package/dist/server/src/api/websocket/nsp/events.js +0 -3
- package/dist/server/src/api/websocket/nsp/events.js.map +1 -1
- package/dist/server/src/camera/controller.d.ts +0 -3
- package/dist/server/src/camera/controller.js +0 -18
- package/dist/server/src/camera/controller.js.map +1 -1
- package/dist/server/src/camera/decoder/worker.js +2 -2
- package/dist/server/src/camera/decoder/worker.js.map +1 -1
- package/dist/server/src/camera/sensors/controller.d.ts +1 -10
- package/dist/server/src/camera/sensors/controller.js +2 -59
- package/dist/server/src/camera/sensors/controller.js.map +1 -1
- package/dist/server/src/main.js +2 -97
- package/dist/server/src/main.js.map +1 -1
- package/dist/server/src/manager/types.d.ts +1 -0
- package/dist/server/src/manager/types.js +2 -0
- package/dist/server/src/manager/types.js.map +1 -1
- package/dist/server/src/mqtt/bridge.d.ts +0 -5
- package/dist/server/src/mqtt/bridge.js +2 -5
- package/dist/server/src/mqtt/bridge.js.map +1 -1
- package/dist/server/src/plugins/plugin.js +3 -1
- package/dist/server/src/plugins/plugin.js.map +1 -1
- package/dist/server/src/plugins/runtime/base.d.ts +1 -0
- package/dist/server/src/plugins/runtime/base.js +19 -0
- package/dist/server/src/plugins/runtime/base.js.map +1 -1
- package/dist/server/src/plugins/runtime/go/index.js +1 -1
- package/dist/server/src/plugins/runtime/go/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/child.d.ts +1 -0
- package/dist/server/src/plugins/runtime/node/child.js +5 -2
- package/dist/server/src/plugins/runtime/node/child.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/index.d.ts +0 -1
- package/dist/server/src/plugins/runtime/node/index.js +1 -20
- package/dist/server/src/plugins/runtime/node/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js +0 -5
- package/dist/server/src/plugins/runtime/node/proxy/cameraDevice.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/deviceManager.js +7 -5
- package/dist/server/src/plugins/runtime/node/proxy/deviceManager.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js +0 -5
- package/dist/server/src/plugins/runtime/node/proxy/sensorManager.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/storage.js +8 -5
- package/dist/server/src/plugins/runtime/node/storage.js.map +1 -1
- package/dist/server/src/plugins/runtime/node/storageController.d.ts +1 -3
- package/dist/server/src/plugins/runtime/node/storageController.js +7 -24
- package/dist/server/src/plugins/runtime/node/storageController.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/child.py +62 -5
- package/dist/server/src/plugins/runtime/python/index.js +3 -0
- package/dist/server/src/plugins/runtime/python/index.js.map +1 -1
- package/dist/server/src/plugins/runtime/python/proxy/camera_device.py +0 -7
- package/dist/server/src/plugins/runtime/python/proxy/device_manager.py +8 -5
- package/dist/server/src/plugins/runtime/python/proxy/sensor_manager.py +0 -7
- package/dist/server/src/plugins/runtime/python/storage.py +11 -6
- package/dist/server/src/plugins/runtime/python/storage_controller.py +6 -37
- package/dist/server/src/plugins/types.d.ts +3 -1
- package/dist/server/src/plugins/types.js +2 -0
- package/dist/server/src/plugins/types.js.map +1 -1
- package/dist/server/src/plugins/worker.d.ts +1 -0
- package/dist/server/src/plugins/worker.js +42 -3
- package/dist/server/src/plugins/worker.js.map +1 -1
- package/dist/server/src/rpc/interfaces/device.d.ts +0 -3
- package/dist/server/src/rpc/namespaces.d.ts +0 -7
- package/dist/server/src/rpc/namespaces.js +0 -7
- package/dist/server/src/rpc/namespaces.js.map +1 -1
- package/dist/server/src/rpc/server.js +10 -13
- package/dist/server/src/rpc/server.js.map +1 -1
- package/dist/server/src/sensors/registry.js +7 -1
- package/dist/server/src/sensors/registry.js.map +1 -1
- package/dist/server/src/utils/engines.d.ts +3 -1
- package/dist/server/src/utils/engines.js +11 -0
- package/dist/server/src/utils/engines.js.map +1 -1
- package/dist/server/src/utils/ipc.d.ts +2 -0
- package/dist/server/src/utils/ipc.js +104 -0
- package/dist/server/src/utils/ipc.js.map +1 -1
- package/dist/server/src/utils/npm/index.d.ts +6 -1
- package/dist/server/src/utils/npm/index.js +3 -0
- package/dist/server/src/utils/npm/index.js.map +1 -1
- package/dist/server/src/utils/plugin-registry/index.d.ts +1 -0
- package/dist/server/src/utils/plugin-registry/index.js.map +1 -1
- package/dist/server/src/utils/pythonInstaller.d.ts +1 -0
- package/dist/server/src/utils/pythonInstaller.js +14 -0
- package/dist/server/src/utils/pythonInstaller.js.map +1 -1
- package/dist/server/src/workers/agent.d.ts +5 -0
- package/dist/server/src/workers/agent.js +49 -1
- package/dist/server/src/workers/agent.js.map +1 -1
- package/dist/server/src/workers/capabilities/plugin-host.js +8 -0
- package/dist/server/src/workers/capabilities/plugin-host.js.map +1 -1
- package/dist/server/src/workers/manager.d.ts +1 -0
- package/dist/server/src/workers/manager.js +20 -0
- package/dist/server/src/workers/manager.js.map +1 -1
- package/dist/server/src/workers/types.d.ts +8 -0
- package/package.json +3 -3
- package/dist/interface/assets/Adminpanel-wZGtsPD-.js +0 -1
- package/dist/interface/assets/AutomationStore-DmbxA0ml.js +0 -2
- package/dist/interface/assets/Automations-C9JJO6dy.js +0 -2
- package/dist/interface/assets/Camview-Bh2UCnGC.js +0 -1
- package/dist/interface/assets/ConfigSensorValueInput-wXiyU3Sc.js +0 -1
- package/dist/interface/assets/Console-CG8eRDA4.js +0 -1
- package/dist/interface/assets/CuiBottomSheet-RUyuBxJZ.js +0 -1
- package/dist/interface/assets/CuiCameraTable-BHaCRB65.js +0 -2
- package/dist/interface/assets/CuiDataTable-CTT9IFeR.js +0 -1
- package/dist/interface/assets/CuiDataTable-W68cyoLf.css +0 -1
- package/dist/interface/assets/CuiList-CDed3qXV.js +0 -1
- package/dist/interface/assets/CuiPluginCard-7aXQznrX.js +0 -2
- package/dist/interface/assets/Menu-CejIVz_7.js +0 -1
- package/dist/interface/assets/PluginSearch-C1YL9q00.js +0 -1
- package/dist/interface/assets/PluginSearch-PDx47aUx.js +0 -2
- package/dist/interface/assets/Recordings-m6jxYvRI.js +0 -1
- package/dist/interface/assets/Sensors-BA9P_Ray.css +0 -1
- package/dist/interface/assets/Sensors-Lfafn19i.js +0 -2
- package/dist/interface/assets/SettingsAccount-vrwV9rtP.js +0 -1
- package/dist/interface/assets/SettingsAppearance-BaDwC_h_.js +0 -1
- package/dist/interface/assets/SettingsList-Dx9DHGq9.js +0 -1
- package/dist/interface/assets/SettingsRemote-CwJw_9HX.js +0 -1
- package/dist/interface/assets/SettingsSystem-B3nne5fS.js +0 -2
- package/dist/interface/assets/Workers-DqeKkdpa.js +0 -2
- package/dist/interface/assets/api-3va2gyB0.css +0 -2
- package/dist/interface/assets/api-milc5VEE.js +0 -2
- package/dist/interface/assets/chevron-right-B4vB0gm4.js +0 -1
- package/dist/interface/assets/cloudHandoff-QtPEpiS4.js +0 -1
- package/dist/interface/assets/main-CqhwDjRG.js +0 -3
- package/dist/interface/assets/round-restart-alt-BhSxsPhN.css +0 -1
- package/dist/interface/assets/round-restart-alt-DKWwojYm.js +0 -1
- package/dist/interface/assets/sensors-CLQG1mQt.js +0 -1
- 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
|
|
63
|
-
|
|
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
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
79
|
-
|
|
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":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAO7C,SAAS,gBAAgB,CAAC,QAAgB;IACxC,OAAO,UAAU,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED,MAAM,OAAO,iBAAiB;IAC5B,IAAI,CAAY;IAChB,MAAM,CAAY;IAClB,OAAO,CAAa;IACpB,SAAS,CAAiB;IAC1B,SAAS,GAAG,IAAI,GAAG,EAA8B,CAAC;IAElD,YAAY,GAAc,EAAE,KAAgB,EAAE,MAAkB,EAAE,QAAwB;QACxF,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC5B,CAAC;IAEM,mBAAmB,CAAsD,QAAgB,EAAE,UAAwB,EAAE;QAC1H,IAAI,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAEjD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,aAAa,GAAG,IAAI,aAAa,CAAI,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,OAAO,CAAC,CAAC;YAClI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC9C,CAAC;aAAM,CAAC;
|
|
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
|
|
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":
|
|
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 [
|
|
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
|
-
|
|
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
|
-
{
|
|
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,
|
|
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.
|
|
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
|
-
|
|
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,
|
|
150
|
+
unchanged = old_value is not None and DeepDiff(old_value, effective_value) == {}
|
|
146
151
|
stored = ( # pyright: ignore[reportUnknownVariableType]
|
|
147
|
-
deepcopy(
|
|
148
|
-
if isinstance(
|
|
149
|
-
else
|
|
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,
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
146
|
-
|
|
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,
|
|
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"}
|